pull/781/head
parent
c6cea2752c
commit
28154362b2
|
|
@ -15,7 +15,7 @@ export const DEFAULT_STATUSES = [
|
|||
{
|
||||
endStatus: 1,
|
||||
key: '结束',
|
||||
name: '赢单',
|
||||
name: '成交',
|
||||
percent: 100
|
||||
},
|
||||
{
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import request from '@/config/axios'
|
|||
export interface CrmStatisticFunnelRespVO {
|
||||
customerCount: number // 客户数
|
||||
businessCount: number // 商机数
|
||||
businessWinCount: number // 赢单数
|
||||
businessWinCount: number // 成交数
|
||||
}
|
||||
|
||||
export interface CrmStatisticsBusinessSummaryByDateRespVO {
|
||||
|
|
@ -15,7 +15,7 @@ export interface CrmStatisticsBusinessSummaryByDateRespVO {
|
|||
export interface CrmStatisticsBusinessInversionRateSummaryByDateRespVO {
|
||||
time: string // 时间
|
||||
businessCount: number // 商机数量
|
||||
businessWinCount: number // 赢单商机数
|
||||
businessWinCount: number // 成交商机数
|
||||
}
|
||||
|
||||
// 客户分析 API
|
||||
|
|
|
|||
|
|
@ -279,7 +279,7 @@ const formData = ref({
|
|||
creditMethod: undefined,
|
||||
creditCalcCycle: undefined,
|
||||
creditLimit: undefined,
|
||||
techSupport: 1,
|
||||
techSupport: false,
|
||||
products: []
|
||||
});
|
||||
const formRules = reactive({
|
||||
|
|
@ -413,6 +413,7 @@ const resetForm = () => {
|
|||
totalPrice: 0,
|
||||
products: [],
|
||||
contactId: undefined,
|
||||
techSupport: 1,
|
||||
customerDefault: false
|
||||
};
|
||||
formRef.value?.resetFields();
|
||||
|
|
@ -421,7 +422,7 @@ const resetForm = () => {
|
|||
const route = useRoute();
|
||||
onMounted(async () => {
|
||||
const customerId = route.query.customerId;
|
||||
console.log('%csrc/views/crm/business/BusinessForm.vue:422 useUserStore().getUser.id', 'color: #007acc;', useUserStore().getUser.id);
|
||||
console.log('%csrc/views/crm/business/BusinessForm.vue:425 formData.value', 'color: #007acc;', formData.value);
|
||||
formData.value.ownerUserId = customerId ? '' : useUserStore().getUser.id;
|
||||
formType.value = route.query.id;
|
||||
if (formType.value) open(formType.value, customerId)
|
||||
|
|
|
|||
|
|
@ -12,13 +12,13 @@
|
|||
<el-option
|
||||
v-for="item in statusList"
|
||||
:key="item.id"
|
||||
:label="item.name + '(赢单率:' + item.percent + '%)'"
|
||||
:label="item.name + '(成交率:' + item.percent + '%)'"
|
||||
:value="item.id"
|
||||
/>
|
||||
<el-option
|
||||
v-for="item in BusinessStatusApi.DEFAULT_STATUSES"
|
||||
:key="item.endStatus"
|
||||
:label="item.name + '(赢单率:' + item.percent + '%)'"
|
||||
:label="item.name + '(成交率:' + item.percent + '%)'"
|
||||
:value="-item.endStatus"
|
||||
/>
|
||||
</el-select>
|
||||
|
|
|
|||
|
|
@ -42,12 +42,12 @@
|
|||
<el-text v-else>{{ row.name }}</el-text>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column width="140" align="center" label="赢单率(%)" prop="percent">
|
||||
<el-table-column width="140" align="center" label="成交率(%)" prop="percent">
|
||||
<template #default="{ row }">
|
||||
<el-input-number
|
||||
v-if="!row.endStatus"
|
||||
v-model="row.percent"
|
||||
placeholder="请输入赢单率"
|
||||
placeholder="请输入成交率"
|
||||
controls-position="right"
|
||||
:min="0"
|
||||
:max="100"
|
||||
|
|
|
|||
|
|
@ -113,7 +113,7 @@
|
|||
<el-tab-pane label="下属负责的" name="3" />
|
||||
</el-tabs>
|
||||
<el-table v-loading="loading" :data="list" :show-overflow-tooltip="true" :stripe="true">
|
||||
<el-table-column align="center" fixed="left" label="客户名称" prop="name" width="160">
|
||||
<el-table-column align="center" fixed="left" label="客户名称" prop="name" width="250">
|
||||
<template #default="scope">
|
||||
<el-link :underline="false" type="primary" @click="openDetail(scope.row.id)">
|
||||
{{ scope.row.name }}
|
||||
|
|
@ -125,7 +125,7 @@
|
|||
<dict-tag :type="DICT_TYPE.CRM_CUSTOMER_SOURCE" :value="scope.row.source" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="客户状态" prop="mobile" width="120" />
|
||||
<el-table-column align="center" label="客户状态" prop="serviceStatus" width="120" />
|
||||
<!-- <el-table-column align="center" label="电话" prop="telephone" width="130" />
|
||||
<el-table-column align="center" label="邮箱" prop="email" width="180" /> -->
|
||||
<el-table-column align="center" label="客户级别" prop="level" width="135">
|
||||
|
|
@ -158,7 +158,7 @@
|
|||
{{scope.row.assistName || '暂无'}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="信用统一代码" prop="creditNo" width="120" />
|
||||
<el-table-column align="center" label="信用统一代码" prop="creditNo" width="180" />
|
||||
|
||||
<el-table-column align="center" label="客户行业" prop="industryId" width="100">
|
||||
<template #default="scope">
|
||||
|
|
|
|||
|
|
@ -143,7 +143,7 @@ const echartsOption = reactive<EChartsOption>({
|
|||
}
|
||||
},
|
||||
legend: {
|
||||
data: ['赢单转化率', '商机总数', '赢单商机数'],
|
||||
data: ['成交转化率', '商机总数', '成交商机数'],
|
||||
bottom: '0px',
|
||||
itemWidth: 14
|
||||
},
|
||||
|
|
@ -178,7 +178,7 @@ const echartsOption = reactive<EChartsOption>({
|
|||
yAxis: [
|
||||
{
|
||||
type: 'value',
|
||||
name: '赢单转化率',
|
||||
name: '成交转化率',
|
||||
axisTick: {
|
||||
alignWithLabel: true,
|
||||
lineStyle: { width: 0 }
|
||||
|
|
@ -217,7 +217,7 @@ const echartsOption = reactive<EChartsOption>({
|
|||
],
|
||||
series: [
|
||||
{
|
||||
name: '赢单转化率',
|
||||
name: '成交转化率',
|
||||
type: 'line',
|
||||
yAxisIndex: 0,
|
||||
data: []
|
||||
|
|
@ -230,7 +230,7 @@ const echartsOption = reactive<EChartsOption>({
|
|||
data: []
|
||||
},
|
||||
{
|
||||
name: '赢单商机数',
|
||||
name: '成交商机数',
|
||||
type: 'bar',
|
||||
yAxisIndex: 1,
|
||||
barWidth: 15,
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ const echartsOption = reactive<EChartsOption>({
|
|||
}
|
||||
},
|
||||
legend: {
|
||||
data: ['客户', '商机', '赢单']
|
||||
data: ['客户', '商机', '成交']
|
||||
},
|
||||
series: [
|
||||
{
|
||||
|
|
@ -97,7 +97,7 @@ const echartsOption = reactive<EChartsOption>({
|
|||
data: [
|
||||
{ value: 60, name: '客户-0个' },
|
||||
{ value: 40, name: '商机-0个' },
|
||||
{ value: 20, name: '赢单-0个' }
|
||||
{ value: 20, name: '成交-0个' }
|
||||
]
|
||||
}
|
||||
]
|
||||
|
|
@ -127,11 +127,11 @@ const loadData = async () => {
|
|||
if (active.value) {
|
||||
list.push({ value: 60, name: `客户-${data.customerCount || 0}个` })
|
||||
list.push({ value: 40, name: `商机-${data.businessCount || 0}个` })
|
||||
list.push({ value: 20, name: `赢单-${data.businessWinCount || 0}个` })
|
||||
list.push({ value: 20, name: `成交-${data.businessWinCount || 0}个` })
|
||||
} else {
|
||||
list.push({ value: data.customerCount || 0, name: `客户-${data.customerCount || 0}个` })
|
||||
list.push({ value: data.businessCount || 0, name: `商机-${data.businessCount || 0}个` })
|
||||
list.push({ value: data.businessWinCount || 0, name: `赢单-${data.businessWinCount || 0}个` })
|
||||
list.push({ value: data.businessWinCount || 0, name: `成交-${data.businessWinCount || 0}个` })
|
||||
}
|
||||
|
||||
echartsOption.series[0]['data'] = list
|
||||
|
|
|
|||
Loading…
Reference in New Issue