|
|
@ -24,7 +24,7 @@ |
|
|
|
@change="sourceChange" |
|
|
|
@change="sourceChange" |
|
|
|
/> |
|
|
|
/> |
|
|
|
</el-form-item> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item> |
|
|
|
<el-form-item v-if="appStore.getAppInfo?.instanceType == 1"> |
|
|
|
<el-select v-model="searchForm.licenseType" placeholder="选择驾照类型" clearable> |
|
|
|
<el-select v-model="searchForm.licenseType" placeholder="选择驾照类型" clearable> |
|
|
|
<el-option |
|
|
|
<el-option |
|
|
|
v-for="item in props.licenseTypeOptions" |
|
|
|
v-for="item in props.licenseTypeOptions" |
|
|
@ -47,7 +47,13 @@ |
|
|
|
<el-table-column prop="sourceName" label="渠道名称" width="100" fixed="left" /> |
|
|
|
<el-table-column prop="sourceName" label="渠道名称" width="100" fixed="left" /> |
|
|
|
<el-table-column prop="newClueNumber" label="新线索数" sortable min-width="100" /> |
|
|
|
<el-table-column prop="newClueNumber" label="新线索数" sortable min-width="100" /> |
|
|
|
<el-table-column prop="signNumber" label="成交数" sortable min-width="100" /> |
|
|
|
<el-table-column prop="signNumber" label="成交数" sortable min-width="100" /> |
|
|
|
<el-table-column prop="signRate" label="成交率" sortable min-width="100" /> |
|
|
|
<el-table-column |
|
|
|
|
|
|
|
prop="signRate" |
|
|
|
|
|
|
|
label="成交率" |
|
|
|
|
|
|
|
sortable |
|
|
|
|
|
|
|
min-width="100" |
|
|
|
|
|
|
|
:formatter="(row) => row.signRate + '%'" |
|
|
|
|
|
|
|
/> |
|
|
|
<el-table-column prop="averageSignPeriod" label="成交周期" sortable min-width="100" /> |
|
|
|
<el-table-column prop="averageSignPeriod" label="成交周期" sortable min-width="100" /> |
|
|
|
<el-table-column |
|
|
|
<el-table-column |
|
|
|
prop="grossProfitOfSingleSign" |
|
|
|
prop="grossProfitOfSingleSign" |
|
|
@ -81,7 +87,7 @@ |
|
|
|
<Echart :options="echart1Option" width="100%" :height="400" /> |
|
|
|
<Echart :options="echart1Option" width="100%" :height="400" /> |
|
|
|
</el-skeleton> |
|
|
|
</el-skeleton> |
|
|
|
</el-col> |
|
|
|
</el-col> |
|
|
|
<el-col :span="12" :offset="0"> |
|
|
|
<el-col :span="12" :offset="0" v-if="appStore.getAppInfo?.instanceType == 1"> |
|
|
|
<Echart :options="echart2Option" width="100%" :height="400" /> |
|
|
|
<Echart :options="echart2Option" width="100%" :height="400" /> |
|
|
|
</el-col> |
|
|
|
</el-col> |
|
|
|
<el-col :span="24" :offset="0"> |
|
|
|
<el-col :span="24" :offset="0"> |
|
|
@ -98,6 +104,9 @@ import { set } from 'lodash-es' |
|
|
|
import * as reportApi from '@/api/home/reportSaler' |
|
|
|
import * as reportApi from '@/api/home/reportSaler' |
|
|
|
import { getIntDictOptions } from '@/utils/dict' |
|
|
|
import { getIntDictOptions } from '@/utils/dict' |
|
|
|
import { removeNullField } from '@/utils' |
|
|
|
import { removeNullField } from '@/utils' |
|
|
|
|
|
|
|
import { useAppStore } from '@/store/modules/app' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const appStore = useAppStore() |
|
|
|
|
|
|
|
|
|
|
|
const props = defineProps({ |
|
|
|
const props = defineProps({ |
|
|
|
licenseTypeOptions: { |
|
|
|
licenseTypeOptions: { |
|
|
@ -362,7 +371,7 @@ const setReportData = async (data) => { |
|
|
|
personDetail.payPriceOfSingleSign, |
|
|
|
personDetail.payPriceOfSingleSign, |
|
|
|
personDetail.costOfSingleClue, |
|
|
|
personDetail.costOfSingleClue, |
|
|
|
personDetail.netProfitOfSingleSign, |
|
|
|
personDetail.netProfitOfSingleSign, |
|
|
|
averageDetail.signRate |
|
|
|
personDetail.signRate |
|
|
|
// personDetail.clueCostTotal, |
|
|
|
// personDetail.clueCostTotal, |
|
|
|
// personDetail.payPriceTotal, |
|
|
|
// personDetail.payPriceTotal, |
|
|
|
// personDetail.profitTotal |
|
|
|
// personDetail.profitTotal |
|
|
|