feat: [CRM-客户分析]增加[时间间隔]选项

This commit is contained in:
dhb52 2024-03-10 10:30:32 +08:00
parent 1a0f0a11b1
commit b0d4c87d8e
2 changed files with 29 additions and 1 deletions

View File

@ -55,6 +55,22 @@ export interface CrmStatisticsCustomerDealCycleByUserRespVO {
customerDealCount: number customerDealCount: number
} }
export const DATE_INTERVAL_OPTIONS = [
{ value: 1, name: '今天' },
{ value: 2, name: '昨天' },
{ value: 3, name: '本周' },
{ value: 4, name: '上周' },
{ value: 5, name: '本月' },
{ value: 6, name: '上月' },
{ value: 7, name: '本季度' },
{ value: 8, name: '上季度' },
{ value: 9, name: '本年' },
{ value: 10, name: '去年' },
{ value: 11, name: '自定义' }
]
export const CUSTOMER_INTERVAL = 11
// 客户分析 API // 客户分析 API
export const StatisticsCustomerApi = { export const StatisticsCustomerApi = {
// 1.1 客户总量分析(按日期) // 1.1 客户总量分析(按日期)

View File

@ -9,7 +9,17 @@
:inline="true" :inline="true"
label-width="68px" label-width="68px"
> >
<el-form-item label="时间范围" prop="orderDate"> <el-form-item label="间隔类型" prop="intervalType">
<el-select v-model="queryParams.intervalType" class="!w-240px" placeholder="间隔类型">
<el-option
v-for="(intervalType, index) in DATE_INTERVAL_OPTIONS"
:label="intervalType.name"
:value="intervalType.value"
:key="index"
/>
</el-select>
</el-form-item>
<el-form-item label="时间范围" prop="orderDate" v-show="queryParams.intervalType === CUSTOMER_INTERVAL">
<el-date-picker <el-date-picker
v-model="queryParams.times" v-model="queryParams.times"
:shortcuts="defaultShortcuts" :shortcuts="defaultShortcuts"
@ -88,10 +98,12 @@ import CustomerFollowupSummary from './components/CustomerFollowupSummary.vue'
import CustomerFollowupType from './components/CustomerFollowupType.vue' import CustomerFollowupType from './components/CustomerFollowupType.vue'
import CustomerConversionStat from './components/CustomerConversionStat.vue' import CustomerConversionStat from './components/CustomerConversionStat.vue'
import CustomerDealCycle from './components/CustomerDealCycle.vue' import CustomerDealCycle from './components/CustomerDealCycle.vue'
import { DATE_INTERVAL_OPTIONS, CUSTOMER_INTERVAL } from '@/api/crm/statistics/customer'
defineOptions({ name: 'CrmStatisticsCustomer' }) defineOptions({ name: 'CrmStatisticsCustomer' })
const queryParams = reactive({ const queryParams = reactive({
intervalType: CUSTOMER_INTERVAL,
deptId: useUserStore().getUser.deptId, deptId: useUserStore().getUser.deptId,
userId: undefined, userId: undefined,
times: [ times: [