Skip to content

Commit d643894

Browse files
YunaiVgitee-org
authored andcommitted
!380 修改:商业智能-排行榜,合同金额排行和回款金额排行时间条件和接口修改
Merge pull request !380 from 安浩浩/dev
2 parents 956f19d + 34a796d commit d643894

File tree

4 files changed

+52
-20
lines changed

4 files changed

+52
-20
lines changed

src/api/crm/bi/ranking.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,22 +14,24 @@ export interface BiReceivablesRanKingRespVO {
1414

1515
export interface BiRankReqVO {
1616
deptId: number
17-
type: string
17+
orderDate: Date[]
18+
startTime: Date
19+
endTime: Date
1820
}
1921

2022
// 排行 API
2123
export const RankingStatisticsApi = {
2224
// 获得合同排行榜
2325
contractAmountRanking: (params: any) => {
2426
return request.get({
25-
url: '/bi/ranking/contract-ranking',
27+
url: '/crm/bi-ranking/contract-ranking',
2628
params
2729
})
2830
},
2931
// 获得回款排行榜
3032
receivablesAmountRanking: (params: any) => {
3133
return request.get({
32-
url: '/bi/ranking/receivables-ranking',
34+
url: '/crm/bi-ranking/receivables-ranking',
3335
params
3436
})
3537
}

src/views/crm/bi/ranking/components/RankingContractStatistics.vue

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,21 @@
1818
<script setup lang="ts">
1919
import { RankingStatisticsApi, BiContractRanKingRespVO, BiRankReqVO } from '@/api/crm/bi/ranking'
2020
import { EChartsOption } from 'echarts'
21+
import { beginOfDay, endOfDay, formatDate } from '@/utils/formatTime'
2122
2223
/** 合同金额排行 */
2324
defineOptions({ name: 'RankingContractStatistics' })
2425
26+
const params = reactive({
27+
deptId: undefined,
28+
startTime: undefined,
29+
endTime: undefined
30+
})
31+
2532
const trendLoading = ref(true) // 状态加载中
2633
const loading = ref(false) // 列表的加载中
2734
const list = ref<BiContractRanKingRespVO[]>([]) // 列表的数据
28-
const params = defineProps<{ queryParams: BiRankReqVO }>() // 搜索参数
35+
const queryParams = defineProps<{ queryParams: BiRankReqVO }>() // 搜索参数
2936
3037
/** 柱状图配置 横向 */
3138
const barChartOptions = reactive<EChartsOption>({
@@ -98,7 +105,10 @@ const barChartOptions = reactive<EChartsOption>({
98105
const getRankingContractStatistics = async () => {
99106
trendLoading.value = true
100107
loading.value = true
101-
const rankingList = await RankingStatisticsApi.contractAmountRanking(params.queryParams)
108+
params.deptId = queryParams.queryParams.deptId
109+
params.startTime = formatDate(beginOfDay(new Date(queryParams.queryParams.orderDate[0])))
110+
params.endTime = formatDate(endOfDay(new Date(queryParams.queryParams.orderDate[1])))
111+
const rankingList = await RankingStatisticsApi.contractAmountRanking(params)
102112
let source = rankingList.map((item: BiContractRanKingRespVO) => {
103113
return {
104114
name: item.nickname,

src/views/crm/bi/ranking/components/RankingReceivablesStatistics.vue

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,23 @@
1616
</el-card>
1717
</template>
1818
<script setup lang="ts">
19-
import { RankingStatisticsApi, BiReceivablesRanKingRespVO } from '@/api/crm/bi/ranking'
19+
import { RankingStatisticsApi, BiReceivablesRanKingRespVO, BiRankReqVO } from '@/api/crm/bi/ranking'
2020
import { EChartsOption } from 'echarts'
21+
import { beginOfDay, endOfDay, formatDate } from '@/utils/formatTime'
2122
2223
/** 回款金额排行 */
2324
defineOptions({ name: 'RankingReceivablesStatistics' })
2425
26+
const params = reactive({
27+
deptId: undefined,
28+
startTime: undefined,
29+
endTime: undefined
30+
})
31+
2532
const trendLoading = ref(true) // 状态加载中
2633
const loading = ref(false) // 列表的加载中
2734
const list = ref<BiReceivablesRanKingRespVO[]>([]) // 列表的数据
28-
const params = defineProps<{ queryParams: any }>() // 搜索参数
35+
const queryParams = defineProps<{ queryParams: BiRankReqVO }>() // 搜索参数
2936
3037
/** 柱状图配置 横向 */
3138
const barChartOptions = reactive<EChartsOption>({
@@ -98,7 +105,10 @@ const barChartOptions = reactive<EChartsOption>({
98105
const getRankingReceivablesStatistics = async () => {
99106
trendLoading.value = true
100107
loading.value = true
101-
const rankingList = await RankingStatisticsApi.receivablesAmountRanking(params.queryParams)
108+
params.deptId = queryParams.queryParams.deptId
109+
params.startTime = formatDate(beginOfDay(new Date(queryParams.queryParams.orderDate[0])))
110+
params.endTime = formatDate(endOfDay(new Date(queryParams.queryParams.orderDate[1])))
111+
const rankingList = await RankingStatisticsApi.receivablesAmountRanking(params)
102112
let source = rankingList.map((item: BiReceivablesRanKingRespVO) => {
103113
return {
104114
name: item.nickname,

src/views/crm/bi/ranking/index.vue

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,17 @@
88
:inline="true"
99
label-width="68px"
1010
>
11-
<el-form-item label="类型" prop="type">
12-
<el-select v-model="queryParams.type" placeholder="请选择类型" clearable class="!w-240px">
13-
<el-option
14-
v-for="dict in getIntDictOptions(DICT_TYPE.BI_ANALYZE_TYPE)"
15-
:key="dict.value"
16-
:label="dict.label"
17-
:value="dict.value"
18-
/>
19-
</el-select>
11+
<el-form-item label="时间" prop="orderDate">
12+
<el-date-picker
13+
v-model="queryParams.orderDate"
14+
:shortcuts="defaultShortcuts"
15+
class="!w-240px"
16+
end-placeholder="结束日期"
17+
start-placeholder="开始日期"
18+
type="daterange"
19+
value-format="YYYY-MM-DD HH:mm:ss"
20+
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
21+
/>
2022
</el-form-item>
2123
<el-form-item label="归属部门" prop="deptId">
2224
<el-tree-select
@@ -54,15 +56,23 @@
5456
import RankingContractStatistics from './components/RankingContractStatistics.vue'
5557
import { defaultProps, handleTree } from '@/utils/tree'
5658
import * as DeptApi from '@/api/system/dept'
57-
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
59+
import { beginOfDay, defaultShortcuts, endOfDay, formatDate } from '@/utils/formatTime'
60+
import RankingReceivablesStatistics from '@/views/crm/bi/ranking/components/RankingReceivablesStatistics.vue'
5861
5962
/** 排行榜 */
6063
defineOptions({ name: 'RankingStatistics' })
6164
6265
const queryParams = reactive({
63-
type: 9, // 将 type 的初始值设置为 9 本年
64-
deptId: null
66+
deptId: undefined,
67+
//默认显示最近一周的数据
68+
orderDate: [
69+
formatDate(beginOfDay(new Date(new Date().getTime() - 3600 * 1000 * 24 * 7))),
70+
formatDate(endOfDay(new Date(new Date().getTime() - 3600 * 1000 * 24)))
71+
],
72+
startTime: undefined,
73+
endTime: undefined
6574
})
75+
6676
const queryFormRef = ref() // 搜索的表单
6777
const deptList = ref<Tree[]>([]) // 树形结构
6878
const activeTab = ref('contractAmountRanking')

0 commit comments

Comments
 (0)