diff --git a/src/api/crm/backlog/index.ts b/src/api/crm/backlog/index.ts index e9494aa8..6ff03e3f 100644 --- a/src/api/crm/backlog/index.ts +++ b/src/api/crm/backlog/index.ts @@ -1,17 +1,41 @@ import request from '@/config/axios' -import { type CustomerVO } from '../customer' -import { type ClueVO } from '../clue' - -// 查询客户列表 -// TODO @芋艿:看看是不是后续融合到 getCustomerPage 里; -export const getTodayCustomerPage = async (params) => { - return await request.get({ url: `/crm/backlog/today-customer-page`, params }) +// 1. 获得今日需联系客户数量 +export const getTodayCustomerCount = async () => { + return await request.get({ url: '/crm/customer/today-customer-count' }) } -// 查询线索列表 -export const getFollowLeadsPage = async (params) => { - return await request.get({ url: `/crm/backlog/page`, params }) +// 2. 获得分配给我的线索数量 +export const getFollowLeadsCount = async () => { + return await request.get({ url: '/crm/clue/follow-leads-count' }) } -export { type CustomerVO, type ClueVO } +// 3. 获得分配给我的客户数量 +export const getFollowCustomerCount = async () => { + return await request.get({ url: '/crm/customer/follow-customer-count' }) +} + +// 4. 获得待进入公海的客户数量 +export const getPutInPoolCustomerRemindCount = async () => { + return await request.get({ url: '/crm/customer/put-in-pool-remind-count' }) +} + +// 5. 获得待审核合同数量 +export const getCheckContractCount = async () => { + return await request.get({ url: '/crm/contract/check-contract-count' }) +} + +// 6. 获得待审核回款数量 +export const getCheckReceivablesCount = async () => { + return await request.get({ url: '/crm/receivable/check-receivables-count' }) +} + +// 7. 获得待回款提醒数量 +export const getRemindReceivablePlanCount = async () => { + return await request.get({ url: '/crm/receivable-plan/remind-receivable-plan-count' }) +} + +// 8. 获得即将到期的合同数量 +export const getEndContractCount = async () => { + return await request.get({ url: '/crm/contract/end-contract-count' }) +} diff --git a/src/views/crm/backlog/index.vue b/src/views/crm/backlog/index.vue index cb92d43a..bf5a9608 100644 --- a/src/views/crm/backlog/index.vue +++ b/src/views/crm/backlog/index.vue @@ -29,6 +29,7 @@ </template> <script lang="ts" setup> +import * as BacklogApi from '@/api/crm/backlog' import CheckContract from './tables/CheckContract.vue' import CheckReceivables from './tables/CheckReceivables.vue' import EndContract from './tables/EndContract.vue' @@ -39,54 +40,56 @@ import RemindReceivables from './tables/RemindReceivables.vue' import TodayCustomer from './tables/TodayCustomer.vue' const leftType = ref('todayCustomer') + +const todayCustomerCountRef = ref(0) +const followLeadsCountRef = ref(0) +const followCustomerCountRef = ref(0) +const putInPoolCustomerRemindCountRef = ref(0) +const checkContractCountRef = ref(0) +const checkReceivablesCountRef = ref(0) +const remindReceivablesCountRef = ref(0) +const endContractCountRef = ref(0) + const leftSides = ref([ { name: '今日需联系客户', infoType: 'todayCustomer', - msgCount: 1, - tips: '下次跟进时间为今日的客户' + msgCount: todayCustomerCountRef }, { name: '分配给我的线索', infoType: 'followLeads', - msgCount: 0, - tips: '转移之后未跟进的线索' + msgCount: followLeadsCountRef }, { name: '分配给我的客户', infoType: 'followCustomer', - msgCount: 0, - tips: '转移、领取、分配之后未跟进的客户,默认显示自己负责的客户' + msgCount: followCustomerCountRef }, { name: '待进入公海的客户', infoType: 'putInPoolRemind', - msgCount: 0, - tips: '' + msgCount: putInPoolCustomerRemindCountRef }, { name: '待审核合同', infoType: 'checkContract', - msgCount: 0, - tips: '' + msgCount: checkContractCountRef }, { name: '待审核回款', infoType: 'checkReceivables', - msgCount: 0, - tips: '' + msgCount: checkReceivablesCountRef }, { name: '待回款提醒', infoType: 'remindReceivables', - msgCount: 4, - tips: '' + msgCount: remindReceivablesCountRef }, { name: '即将到期的合同', infoType: 'endContract', - msgCount: 20, - tips: '根据“合同到期时间”及设置的“提前提醒天数”提醒' + msgCount: endContractCountRef } ]) @@ -96,6 +99,18 @@ const leftSides = ref([ const sideClick = (item) => { leftType.value = item.infoType } + +/** 加载时读取待办数量 */ +onMounted(async () => { + BacklogApi.getTodayCustomerCount().then(count => todayCustomerCountRef.value = count) + BacklogApi.getFollowLeadsCount().then(count => followLeadsCountRef.value = count) + BacklogApi.getFollowCustomerCount().then(count => followCustomerCountRef.value = count) + BacklogApi.getPutInPoolCustomerRemindCount().then(count => putInPoolCustomerRemindCountRef.value = count) + BacklogApi.getCheckContractCount().then(count => checkContractCountRef.value = count) + BacklogApi.getCheckReceivablesCount().then(count => checkReceivablesCountRef.value = count) + BacklogApi.getRemindReceivablePlanCount().then(count => remindReceivablesCountRef.value = count) + BacklogApi.getEndContractCount().then(count => endContractCountRef.value = count) +}) </script> <style lang="scss" scoped>