pull/371/head
wuyibo 2 years ago
parent cece0f0de5
commit 41def2450b

@ -43,8 +43,8 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<!-- <el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <!-- <el-col :span="1.5">
<el-button <el-button
type="primary" type="primary"
plain plain
@ -75,7 +75,7 @@
@click="handleDelete" @click="handleDelete"
v-hasPermi="['system:customer:remove']" v-hasPermi="['system:customer:remove']"
>删除</el-button> >删除</el-button>
</el-col> </el-col>-->
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
type="warning" type="warning"
@ -87,38 +87,22 @@
>导出</el-button> >导出</el-button>
</el-col> </el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns" :pageName="$options.name" ></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns" :pageName="$options.name" ></right-toolbar>
</el-row>--> </el-row>
<el-table v-loading="loading" :data="customerList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="customerList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="客户姓名" align="center" prop="userName" width="120" v-if="columns[1].visible" show-overflow-tooltip /> <el-table-column label="客户姓名" align="center" prop="userName" width="120" v-if="columns[1].visible" show-overflow-tooltip />
<el-table-column label="手机号码" align="center" prop="phoneNumber" width="110" v-if="columns[5].visible" show-overflow-tooltip />
<el-table-column label="客户性别" align="center" prop="sex" show-overflow-tooltip > <el-table-column label="客户性别" align="center" prop="sex" show-overflow-tooltip >
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.sys_user_sex" :value="scope.row.sex"/> <dict-tag :options="dict.type.sys_user_sex" :value="scope.row.sex"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="线索渠道" align="center" prop="clueChannel" v-if="columns[8].visible" show-overflow-tooltip > <el-table-column label="手机号码" align="center" prop="phoneNumber" width="110" v-if="columns[5].visible" show-overflow-tooltip />
<template slot-scope="scope">
<dict-tag :options="dict.type.clue_channels" :value="scope.row.clueChannel"/>
</template>
</el-table-column>
<el-table-column label="信息来源" align="center" prop="dataSource" v-if="columns[9].visible" show-overflow-tooltip >
<template slot-scope="scope">
<dict-tag :options="dict.type.customer_source" :value="scope.row.dataSource"/>
</template>
</el-table-column>
<el-table-column label="客户居住" align="center" prop="liveAddress" width="100" v-if="columns[10].visible" show-overflow-tooltip />
<el-table-column label="意向级别" align="center" prop="intentionLevel" show-overflow-tooltip > <el-table-column label="意向级别" align="center" prop="intentionLevel" show-overflow-tooltip >
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.customer_level" :value="scope.row.intentionLevel"/> <dict-tag :options="dict.type.customer_level" :value="scope.row.intentionLevel"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="预约状态" align="center" prop="status" width="100" v-if="columns[11].visible" show-overflow-tooltip >
<template slot-scope="scope">
<dict-tag :options="dict.type.maker_status" :value="scope.row.makerStatus"/>
</template>
</el-table-column>
<el-table-column label="预约时间" class-name="specialColor" align="center" prop="appointmentTime" width="180" v-if="columns[30].visible" show-overflow-tooltip > <el-table-column label="预约时间" class-name="specialColor" align="center" prop="appointmentTime" width="180" v-if="columns[30].visible" show-overflow-tooltip >
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.appointmentTime, '{y}-{m}-{d} {h}:{i}') }}</span> <span>{{ parseTime(scope.row.appointmentTime, '{y}-{m}-{d} {h}:{i}') }}</span>
@ -129,7 +113,12 @@
<span>{{ parseTime(scope.row.arrivalTime, '{y}-{m}-{d} {h}:{i}') }}</span> <span>{{ parseTime(scope.row.arrivalTime, '{y}-{m}-{d} {h}:{i}') }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip v-if="columns[19].visible" /> <el-table-column label="预约状态" align="center" prop="status" width="100" v-if="columns[11].visible" show-overflow-tooltip >
<template slot-scope="scope">
<dict-tag :options="dict.type.maker_status" :value="scope.row.makerStatus"/>
</template>
</el-table-column>
<!-- <el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip v-if="columns[19].visible" />-->
<el-table-column label="操作" width="160" align="center" fixed="right" class-name="small-padding fixed-width"> <el-table-column label="操作" width="160" align="center" fixed="right" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-popconfirm title="是否确认到店?" @confirm="popConfirm(scope.row)" @cancel="popCancel" > <el-popconfirm title="是否确认到店?" @confirm="popConfirm(scope.row)" @cancel="popCancel" >

@ -153,10 +153,9 @@
<el-table v-loading="loading" :data="customerList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="customerList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="客户姓名" align="center" prop="userName" width="120" v-if="columns[1].visible" show-overflow-tooltip /> <el-table-column label="线索日期" align="center" prop="createTime" width="120" show-overflow-tooltip >
<el-table-column label="客户性别" align="center" prop="sex" show-overflow-tooltip >
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.sys_user_sex" :value="scope.row.sex"/> <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="客户状态" align="center" prop="status" width="120" show-overflow-tooltip > <el-table-column label="客户状态" align="center" prop="status" width="120" show-overflow-tooltip >
@ -164,6 +163,12 @@
<dict-tag :options="dict.type.customer_status" :value="scope.row.status"/> <dict-tag :options="dict.type.customer_status" :value="scope.row.status"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="客户姓名" align="center" prop="userName" width="120" v-if="columns[1].visible" show-overflow-tooltip />
<el-table-column label="客户性别" align="center" prop="sex" show-overflow-tooltip >
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_user_sex" :value="scope.row.sex"/>
</template>
</el-table-column>
<el-table-column label="客户级别" align="center" prop="userType" v-if="columns[3].visible" show-overflow-tooltip > <el-table-column label="客户级别" align="center" prop="userType" v-if="columns[3].visible" show-overflow-tooltip >
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.customer_level" :value="scope.row.userType"/> <dict-tag :options="dict.type.customer_level" :value="scope.row.userType"/>
@ -187,28 +192,8 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="微信号" align="center" prop="wechat" width="110" v-if="columns[20].visible" show-overflow-tooltip /> <el-table-column label="微信号" align="center" prop="wechat" width="110" v-if="columns[20].visible" show-overflow-tooltip />
<el-table-column label="下单日期" align="center" prop="orderDate" width="120" v-if="columns[33].visible" show-overflow-tooltip >
<template slot-scope="scope">
<span>{{ parseTime(scope.row.orderDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<!-- <el-table-column label="是否评估" align="center" prop="isAssessment" />-->
<el-table-column label="意向车型" align="center" prop="intentionCarModels" width="120" v-if="columns[24].visible" show-overflow-tooltip /> <el-table-column label="意向车型" align="center" prop="intentionCarModels" width="120" v-if="columns[24].visible" show-overflow-tooltip />
<!-- <el-table-column label="对比车型" align="center" prop="contrastCarModels" />
<el-table-column label="是否试驾" align="center" prop="isTestDrive" />
<el-table-column label="是否报价" align="center" prop="isOffer" />
<el-table-column label="是否金融" align="center" prop="isFinance" />-->
<!-- <el-table-column label="最后到店" align="center" prop="lastToStoreDate" width="120">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.lastToStoreDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>-->
<el-table-column label="已有车辆" align="center" prop="existModels" v-if="columns[22].visible" show-overflow-tooltip /> <el-table-column label="已有车辆" align="center" prop="existModels" v-if="columns[22].visible" show-overflow-tooltip />
<!-- <el-table-column label="预计到店" class-name="specialColor" align="center" prop="appointmentTime" width="120" v-if="columns[30].visible" show-overflow-tooltip >
<template slot-scope="scope">
<span>{{ parseTime(scope.row.appointmentTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>-->
<el-table-column label="跟进次数" class-name="specialColor" align="center" prop="followUpTimes" v-if="columns[34].visible" show-overflow-tooltip /> <el-table-column label="跟进次数" class-name="specialColor" align="center" prop="followUpTimes" v-if="columns[34].visible" show-overflow-tooltip />
<el-table-column label="最新跟进日" class-name="specialColor" align="center" prop="followUpLastDate" width="100" v-if="columns[35].visible" show-overflow-tooltip /> <el-table-column label="最新跟进日" class-name="specialColor" align="center" prop="followUpLastDate" width="100" v-if="columns[35].visible" show-overflow-tooltip />
<el-table-column label="最新跟进级别" class-name="specialColor" align="center" prop="followUpLastLevel" width="100" v-if="columns[36].visible" show-overflow-tooltip /> <el-table-column label="最新跟进级别" class-name="specialColor" align="center" prop="followUpLastLevel" width="100" v-if="columns[36].visible" show-overflow-tooltip />

@ -129,18 +129,7 @@
<span>{{ parseTime(scope.row.outDate, '{y}-{m}-{d}') }}</span> <span>{{ parseTime(scope.row.outDate, '{y}-{m}-{d}') }}</span>
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column label="创建者" align="center" prop="createBy" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="更新者" align="center" prop="updateBy" />
<el-table-column label="更新时间" align="center" prop="updateTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>-->
<el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip/> <el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
@ -187,7 +176,7 @@
<el-input v-model="form.carVin" placeholder="请输入车辆VIN" /> <el-input v-model="form.carVin" placeholder="请输入车辆VIN" />
</el-form-item> </el-form-item>
<el-form-item label="车辆状态" prop="carStatus"> <el-form-item label="车辆状态" prop="carStatus">
<el-select v-model="form.carStatus" placeholder="请选择车辆状态"> <el-select v-model="form.carStatus" disabled placeholder="请选择车辆状态">
<el-option <el-option
v-for="dict in dict.type.car_status" v-for="dict in dict.type.car_status"
:key="dict.value" :key="dict.value"

@ -78,7 +78,7 @@
</el-form> </el-form>
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <!-- <el-col :span="1.5">
<el-button <el-button
type="primary" type="primary"
plain plain
@ -109,7 +109,7 @@
@click="handleDelete" @click="handleDelete"
v-hasPermi="['system:customer:remove']" v-hasPermi="['system:customer:remove']"
>删除</el-button> >删除</el-button>
</el-col> </el-col>-->
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
type="warning" type="warning"
@ -123,7 +123,7 @@
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns" :pageName="$options.name" ></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns" :pageName="$options.name" ></right-toolbar>
</el-row> </el-row>
<el-table v-loading="loading" :data="customerList" @selection-change="handleSelectionChange"> <el-table :row-class-name="tableRowClassName" v-loading="loading" :data="customerList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="客户姓名" align="center" prop="userName" width="120" v-if="columns[1].visible" show-overflow-tooltip /> <el-table-column label="客户姓名" align="center" prop="userName" width="120" v-if="columns[1].visible" show-overflow-tooltip />
<el-table-column label="客户性别" align="center" prop="sex" show-overflow-tooltip > <el-table-column label="客户性别" align="center" prop="sex" show-overflow-tooltip >
@ -156,26 +156,17 @@
</el-table-column> </el-table-column>
<!-- <el-table-column label="是否评估" align="center" prop="isAssessment" />--> <!-- <el-table-column label="是否评估" align="center" prop="isAssessment" />-->
<el-table-column label="意向车型" align="center" prop="intentionCarModels" width="120" v-if="columns[24].visible" show-overflow-tooltip /> <el-table-column label="意向车型" align="center" prop="intentionCarModels" width="120" v-if="columns[24].visible" show-overflow-tooltip />
<!-- <el-table-column label="对比车型" align="center" prop="contrastCarModels" />
<el-table-column label="是否试驾" align="center" prop="isTestDrive" />
<el-table-column label="是否报价" align="center" prop="isOffer" />
<el-table-column label="是否金融" align="center" prop="isFinance" />-->
<!-- <el-table-column label="最后到店" align="center" prop="lastToStoreDate" width="120">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.lastToStoreDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>-->
<el-table-column label="已有车辆" align="center" prop="existModels" v-if="columns[22].visible" show-overflow-tooltip /> <el-table-column label="已有车辆" align="center" prop="existModels" v-if="columns[22].visible" show-overflow-tooltip />
<el-table-column label="预计到店" class-name="specialColor" align="center" prop="appointmentTime" width="120" v-if="columns[30].visible" show-overflow-tooltip > <el-table-column label="预计到店" align="center" prop="appointmentTime" width="120" v-if="columns[30].visible" show-overflow-tooltip >
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.appointmentTime, '{y}-{m}-{d}') }}</span> <span>{{ parseTime(scope.row.appointmentTime, '{y}-{m}-{d}') }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="跟进次数" class-name="specialColor" align="center" prop="followUpTimes" v-if="columns[34].visible" show-overflow-tooltip /> <el-table-column label="跟进次数" align="center" prop="followUpTimes" v-if="columns[34].visible" show-overflow-tooltip />
<el-table-column label="最新跟进日" class-name="specialColor" align="center" prop="followUpLastDate" width="100" v-if="columns[35].visible" show-overflow-tooltip /> <el-table-column label="最新跟进日" align="center" prop="followUpLastDate" width="100" v-if="columns[35].visible" show-overflow-tooltip />
<el-table-column label="最新跟进级别" class-name="specialColor" align="center" prop="followUpLastLevel" width="100" v-if="columns[36].visible" show-overflow-tooltip /> <el-table-column label="最新跟进级别" align="center" prop="followUpLastLevel" width="100" v-if="columns[36].visible" show-overflow-tooltip />
<el-table-column label="建议下次跟进日" class-name="specialColor" align="center" prop="proposalNextFollowDate" width="120" v-if="columns[37].visible" show-overflow-tooltip /> <el-table-column label="建议下次跟进日" align="center" prop="proposalNextFollowDate" width="120" v-if="columns[37].visible" show-overflow-tooltip />
<el-table-column label="跟进超期" class-name="specialColor" align="center" prop="followUpOverdueDate" width="120" v-if="columns[38].visible" show-overflow-tooltip /> <el-table-column label="跟进超期" align="center" prop="followUpOverdueDate" width="120" v-if="columns[38].visible" show-overflow-tooltip />
<el-table-column label="未订车原因" align="center" prop="unBookingCarReason" width="110" show-overflow-tooltip v-if="columns[29].visible" show-overflow-tooltip /> <el-table-column label="未订车原因" align="center" prop="unBookingCarReason" width="110" show-overflow-tooltip v-if="columns[29].visible" show-overflow-tooltip />
<el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip v-if="columns[19].visible" /> <el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip v-if="columns[19].visible" />
@ -694,6 +685,16 @@ export default {
this.loading = false; this.loading = false;
}); });
}, },
tableRowClassName({row, rowIndex}) {
if (row.proposalNextFollowDate === '24小时内回访') {
return 'warning-row';
} else if (this.getDateYYYYMMdd() > row.proposalNextFollowDate) {
return 'danger-row';
}else {
// return 'success-row';
}
return '';
},
/** 查询客户跟进信息列表 */ /** 查询客户跟进信息列表 */
getFollowList(customerId) { getFollowList(customerId) {
let that = this; let that = this;
@ -857,6 +858,12 @@ export default {
const starSeconds = date.getSeconds().toString().padStart(2, '0'); const starSeconds = date.getSeconds().toString().padStart(2, '0');
return `${date.getFullYear()}-${month}-${strDate} ${starHours}:${starMinutes}:${starSeconds}`; return `${date.getFullYear()}-${month}-${strDate} ${starHours}:${starMinutes}:${starSeconds}`;
}, },
getDateYYYYMMdd(){
const date = new Date();
const month = (date.getMonth() + 1).toString().padStart(2, '0');
const strDate = date.getDate().toString().padStart(2, '0');
return `${date.getFullYear()}-${month}-${strDate}`;
},
/** 提交按钮 */ /** 提交按钮 */
submitForm() { submitForm() {
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
@ -1036,4 +1043,15 @@ export default {
.login-code-img { .login-code-img {
height: 38px; height: 38px;
} }
.el-table .warning-row {
background: #E6A23C;
}
.el-table .success-row {
background: #67C23A;
}
.el-table .danger-row {
background: #F56C6C;
}
</style> </style>

@ -150,6 +150,11 @@
<dict-tag :options="dict.type.follow_up_method" :value="scope.row.followUpMethod"/> <dict-tag :options="dict.type.follow_up_method" :value="scope.row.followUpMethod"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="是否逾期" align="center" prop="followUpMethod" >
<template slot-scope="scope">
{{scope.row.actualFollowUpDate > scope.row.planFollowUpDate?'是':'否'}}
</template>
</el-table-column>
<el-table-column label="操作" width="160" align="center" fixed="right" class-name="small-padding fixed-width"> <el-table-column label="操作" width="160" align="center" fixed="right" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button

Loading…
Cancel
Save