|
|
@@ -1,5 +1,118 @@
|
|
|
<template>
|
|
|
- <div class="followUpHistory">followUpHistory</div>
|
|
|
+ <div
|
|
|
+ class="container linep containertext followUpHistory"
|
|
|
+ style="
|
|
|
+ background-color: #fff;
|
|
|
+ width: 94%;
|
|
|
+ margin: 0px auto;
|
|
|
+ border-radius: 6px;
|
|
|
+ font-size: 14px;
|
|
|
+ ">
|
|
|
+ <van-form ref="tabstoreVal">
|
|
|
+ <div v-for="(item, index) in customItemList" :key="index">
|
|
|
+ <div
|
|
|
+ class="formLabel z-cell z-cells z-celly"
|
|
|
+ v-if="item.answerType == 'sz' || item.answerType == 'rq'">
|
|
|
+ <van-cell>
|
|
|
+ <template #title
|
|
|
+ >{{ index + 1 }}.{{ item.customerClueName }}
|
|
|
+ <span
|
|
|
+ style="color: #444; font-size: 12px; margin: 0; padding: 10px 0; text-align: right"
|
|
|
+ >{{ item.remark }}</span
|
|
|
+ ></template
|
|
|
+ >
|
|
|
+ </van-cell>
|
|
|
+ <p class="mg0" style="word-break: break-all">{{ item.answerValue }}</p>
|
|
|
+ </div>
|
|
|
+ <div class="formLabel z-cell z-cells z-celly" v-if="item.answerType == 'zp'">
|
|
|
+ <van-cell>
|
|
|
+ <template #title>{{ index + 1 }}.{{ item.customerClueName }}</template>
|
|
|
+ </van-cell>
|
|
|
+ <delete-upload-imgv :imgs="item.fileInfoList"></delete-upload-imgv>
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ class="formLabel z-cell z-cells z-celly"
|
|
|
+ v-if="item.answerType == 'wb' && viewTextShow">
|
|
|
+ <van-cell>
|
|
|
+ <template #title>{{ index + 1 }}.{{ item.customerClueName }}</template>
|
|
|
+ </van-cell>
|
|
|
+ <div class="selesetText">
|
|
|
+ <p class="mg0" style="word-break: break-all">{{ item.answerValue }}</p>
|
|
|
+ </div>
|
|
|
+ <p style="color: #444; font-size: 12px; margin: 0; padding: 10px 0; text-align: right">
|
|
|
+ {{ item.remark }}
|
|
|
+ </p>
|
|
|
+ <delete-upload-imgv :imgs="item.fileInfoList"></delete-upload-imgv>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="formLabel z-cell z-cells z-celly" v-if="item.answerType == 'duox'">
|
|
|
+ <van-cell>
|
|
|
+ <template #title>{{ index + 1 }}.{{ item.customerClueName }}</template>
|
|
|
+ </van-cell>
|
|
|
+ <div class="selesetText">
|
|
|
+ <div class="mg0" v-for="(item1, index1) in item.customerClueOptionList" :key="index1">
|
|
|
+ <p style="color: #0057ba" v-if="item1.checked">
|
|
|
+ <i
|
|
|
+ style="
|
|
|
+ border: 1px solid #0057ba;
|
|
|
+ margin-right: 10px;
|
|
|
+ border-radius: 2px;
|
|
|
+ padding: 2px;
|
|
|
+ "
|
|
|
+ class="van-icon van-icon-success"></i>
|
|
|
+ <span>{{ item1.customerClueOption }}</span>
|
|
|
+ </p>
|
|
|
+ <p v-if="!item1.checked">
|
|
|
+ <i
|
|
|
+ style="
|
|
|
+ border: 1px solid #ccc;
|
|
|
+ margin-right: 10px;
|
|
|
+ border-radius: 2px;
|
|
|
+ color: #fff;
|
|
|
+ padding: 2px;
|
|
|
+ "
|
|
|
+ class="van-icon van-icon-success"></i>
|
|
|
+ <span>{{ item1.customerClueOption }}</span>
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="formLabel z-cell z-cells z-celly" v-if="item.answerType == 'dx'">
|
|
|
+ <van-cell>
|
|
|
+ <template #title> {{ index + 1 }}.{{ item.customerClueName }} </template>
|
|
|
+ </van-cell>
|
|
|
+ <div class="selesetText">
|
|
|
+ <div class="mg0" v-for="(item2, index2) in item.customerClueOptionList" :key="index2">
|
|
|
+ <p style="color: #0057ba" v-if="item2.checked">
|
|
|
+ <i
|
|
|
+ style="
|
|
|
+ border: 1px solid #0057ba;
|
|
|
+ border-radius: 40px;
|
|
|
+ margin-right: 10px;
|
|
|
+ padding: 2px;
|
|
|
+ "
|
|
|
+ class="van-icon van-icon-success"></i>
|
|
|
+ <span>{{ item2.customerClueOption }}</span>
|
|
|
+ </p>
|
|
|
+ <p v-if="!item2.checked">
|
|
|
+ <i
|
|
|
+ style="
|
|
|
+ border: 1px solid #ccc;
|
|
|
+ border-radius: 40px;
|
|
|
+ margin-right: 10px;
|
|
|
+ color: #fff;
|
|
|
+ padding: 2px;
|
|
|
+ "
|
|
|
+ class="van-icon van-icon-success"></i>
|
|
|
+ <span>{{ item2.customerClueOption }}</span>
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <delete-upload-imgv :imgs="item.fileInfoList"></delete-upload-imgv>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </van-form>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
<script>
|
|
|
import { getCustomerClueAnswerById } from '@/api/clew';
|
|
|
@@ -11,18 +124,346 @@ export default {
|
|
|
},
|
|
|
},
|
|
|
data() {
|
|
|
- return {};
|
|
|
+ return {
|
|
|
+ customItemList: [],
|
|
|
+ viewTextShow: false,
|
|
|
+ };
|
|
|
},
|
|
|
activated() {
|
|
|
+ debugger;
|
|
|
this.getFollowUpHistory();
|
|
|
},
|
|
|
methods: {
|
|
|
getFollowUpHistory(val) {
|
|
|
+ this.customItemList = {
|
|
|
+ customerClueItemList: [
|
|
|
+ {
|
|
|
+ searchValue: null,
|
|
|
+ createBy: 'admin',
|
|
|
+ createTime: '2024-11-04 10:32:28',
|
|
|
+ updateBy: '',
|
|
|
+ updateTime: null,
|
|
|
+ remark: '',
|
|
|
+ params: {},
|
|
|
+ pageSize: null,
|
|
|
+ pageNum: null,
|
|
|
+ customerClueItemId: 326,
|
|
|
+ customerClueId: 68,
|
|
|
+ customerClueInfoId: 102,
|
|
|
+ customerClueName: '跟进结果',
|
|
|
+ itemOptionParentId: null,
|
|
|
+ isMust: '0',
|
|
|
+ answerType: 'dx',
|
|
|
+ answerValue: null,
|
|
|
+ sort: 1,
|
|
|
+ delFlag: null,
|
|
|
+ fileIdList: null,
|
|
|
+ customerClueOptionList: [
|
|
|
+ {
|
|
|
+ searchValue: null,
|
|
|
+ createBy: 'admin',
|
|
|
+ createTime: '2024-11-14 15:51:45',
|
|
|
+ updateBy: '',
|
|
|
+ updateTime: null,
|
|
|
+ remark: null,
|
|
|
+ params: {},
|
|
|
+ pageSize: null,
|
|
|
+ pageNum: null,
|
|
|
+ customerClueOptionId: 438,
|
|
|
+ customerClueItemId: 326,
|
|
|
+ customerClueOption: '信息不真实',
|
|
|
+ value: 'Y',
|
|
|
+ checked: false,
|
|
|
+ customerClueItemList: null,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ searchValue: null,
|
|
|
+ createBy: 'admin',
|
|
|
+ createTime: '2024-11-14 15:51:45',
|
|
|
+ updateBy: '',
|
|
|
+ updateTime: null,
|
|
|
+ remark: null,
|
|
|
+ params: {},
|
|
|
+ pageSize: null,
|
|
|
+ pageNum: null,
|
|
|
+ customerClueOptionId: 439,
|
|
|
+ customerClueItemId: 326,
|
|
|
+ customerClueOption: '新装企想合作',
|
|
|
+ value: 'N',
|
|
|
+ checked: false,
|
|
|
+ customerClueItemList: null,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ searchValue: null,
|
|
|
+ createBy: 'admin',
|
|
|
+ createTime: '2024-11-14 15:51:45',
|
|
|
+ updateBy: '',
|
|
|
+ updateTime: null,
|
|
|
+ remark: null,
|
|
|
+ params: {},
|
|
|
+ pageSize: null,
|
|
|
+ pageNum: null,
|
|
|
+ customerClueOptionId: 440,
|
|
|
+ customerClueItemId: 326,
|
|
|
+ customerClueOption: '装企或工作室要服务',
|
|
|
+ value: 'N',
|
|
|
+ checked: false,
|
|
|
+ customerClueItemList: null,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ searchValue: null,
|
|
|
+ createBy: 'admin',
|
|
|
+ createTime: '2024-11-14 15:51:46',
|
|
|
+ updateBy: '',
|
|
|
+ updateTime: null,
|
|
|
+ remark: null,
|
|
|
+ params: {},
|
|
|
+ pageSize: null,
|
|
|
+ pageNum: null,
|
|
|
+ customerClueOptionId: 441,
|
|
|
+ customerClueItemId: 326,
|
|
|
+ customerClueOption: '装企或工作室要一批货',
|
|
|
+ value: 'N',
|
|
|
+ checked: false,
|
|
|
+ customerClueItemList: null,
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ fileInfoList: null,
|
|
|
+ del: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ searchValue: null,
|
|
|
+ createBy: 'admin',
|
|
|
+ createTime: '2024-11-14 15:51:46',
|
|
|
+ updateBy: '',
|
|
|
+ updateTime: null,
|
|
|
+ remark: '',
|
|
|
+ params: {},
|
|
|
+ pageSize: null,
|
|
|
+ pageNum: null,
|
|
|
+ customerClueItemId: 327,
|
|
|
+ customerClueId: 68,
|
|
|
+ customerClueInfoId: null,
|
|
|
+ customerClueName: '信息不真实',
|
|
|
+ itemOptionParentId: 438,
|
|
|
+ isMust: '0',
|
|
|
+ answerType: 'dx',
|
|
|
+ answerValue: null,
|
|
|
+ sort: 2,
|
|
|
+ delFlag: null,
|
|
|
+ fileIdList: null,
|
|
|
+ customerClueOptionList: [
|
|
|
+ {
|
|
|
+ searchValue: null,
|
|
|
+ createBy: 'admin',
|
|
|
+ createTime: '2024-11-14 15:51:46',
|
|
|
+ updateBy: '',
|
|
|
+ updateTime: null,
|
|
|
+ remark: null,
|
|
|
+ params: {},
|
|
|
+ pageSize: null,
|
|
|
+ pageNum: null,
|
|
|
+ customerClueOptionId: 442,
|
|
|
+ customerClueItemId: 327,
|
|
|
+ customerClueOption: '号码不存在',
|
|
|
+ value: 'N',
|
|
|
+ checked: false,
|
|
|
+ customerClueItemList: null,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ searchValue: null,
|
|
|
+ createBy: 'admin',
|
|
|
+ createTime: '2024-11-14 15:51:46',
|
|
|
+ updateBy: '',
|
|
|
+ updateTime: null,
|
|
|
+ remark: null,
|
|
|
+ params: {},
|
|
|
+ pageSize: null,
|
|
|
+ pageNum: null,
|
|
|
+ customerClueOptionId: 443,
|
|
|
+ customerClueItemId: 327,
|
|
|
+ customerClueOption: '公司不存在',
|
|
|
+ value: 'N',
|
|
|
+ checked: false,
|
|
|
+ customerClueItemList: null,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ searchValue: null,
|
|
|
+ createBy: 'admin',
|
|
|
+ createTime: '2024-11-14 15:51:46',
|
|
|
+ updateBy: '',
|
|
|
+ updateTime: null,
|
|
|
+ remark: null,
|
|
|
+ params: {},
|
|
|
+ pageSize: null,
|
|
|
+ pageNum: null,
|
|
|
+ customerClueOptionId: 444,
|
|
|
+ customerClueItemId: 327,
|
|
|
+ customerClueOption: '城市有误',
|
|
|
+ value: 'N',
|
|
|
+ checked: false,
|
|
|
+ customerClueItemList: null,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ searchValue: null,
|
|
|
+ createBy: 'admin',
|
|
|
+ createTime: '2024-11-14 15:51:46',
|
|
|
+ updateBy: '',
|
|
|
+ updateTime: null,
|
|
|
+ remark: null,
|
|
|
+ params: {},
|
|
|
+ pageSize: null,
|
|
|
+ pageNum: null,
|
|
|
+ customerClueOptionId: 445,
|
|
|
+ customerClueItemId: 327,
|
|
|
+ customerClueOption: '不接电话',
|
|
|
+ value: 'N',
|
|
|
+ checked: false,
|
|
|
+ customerClueItemList: null,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ searchValue: null,
|
|
|
+ createBy: 'admin',
|
|
|
+ createTime: '2024-11-14 15:51:46',
|
|
|
+ updateBy: '',
|
|
|
+ updateTime: null,
|
|
|
+ remark: null,
|
|
|
+ params: {},
|
|
|
+ pageSize: null,
|
|
|
+ pageNum: null,
|
|
|
+ customerClueOptionId: 446,
|
|
|
+ customerClueItemId: 327,
|
|
|
+ customerClueOption: '其他',
|
|
|
+ value: 'Y',
|
|
|
+ checked: false,
|
|
|
+ customerClueItemList: null,
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ fileInfoList: null,
|
|
|
+ del: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ searchValue: null,
|
|
|
+ createBy: 'admin',
|
|
|
+ createTime: '2024-11-14 15:51:46',
|
|
|
+ updateBy: '',
|
|
|
+ updateTime: null,
|
|
|
+ remark: '请输入其他原因',
|
|
|
+ params: {},
|
|
|
+ pageSize: null,
|
|
|
+ pageNum: null,
|
|
|
+ customerClueItemId: 328,
|
|
|
+ customerClueId: 68,
|
|
|
+ customerClueInfoId: null,
|
|
|
+ customerClueName: '请输入原因',
|
|
|
+ itemOptionParentId: 446,
|
|
|
+ isMust: '0',
|
|
|
+ answerType: 'wb',
|
|
|
+ answerValue: '这个信息有误,以上原因都不是',
|
|
|
+ sort: 3,
|
|
|
+ delFlag: null,
|
|
|
+ fileIdList: null,
|
|
|
+ customerClueOptionList: [],
|
|
|
+ fileInfoList: null,
|
|
|
+ del: true,
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ };
|
|
|
this.toastLoading(0, '加载中...', true);
|
|
|
- getCustomerClueAnswerById({ userCustomerClueId: this.historyId }).then((res) => {
|
|
|
+ getCustomerClueAnswerById({ userCustomerClueId: val }).then((res) => {
|
|
|
this.toastLoading().clear();
|
|
|
+ this.customItemList = res.data.customerClue.customerClueItemList;
|
|
|
+ for (var pl = 0; pl < this.customItemList[1].customerClueOptionList.length; pl++) {
|
|
|
+ if (
|
|
|
+ this.customItemList[1].customerClueOptionList[pl].customerClueOption.indexOf(
|
|
|
+ '跟进中'
|
|
|
+ ) != -1
|
|
|
+ ) {
|
|
|
+ if (this.customItemList[1].customerClueOptionList[pl].value == 'Y') {
|
|
|
+ this.viewTextShow = true;
|
|
|
+ if (
|
|
|
+ this.customItemList[1].customerClueOptionList[pl].customerClueOption.indexOf(
|
|
|
+ '跟进'
|
|
|
+ ) != -1
|
|
|
+ ) {
|
|
|
+ this.customItemList[2].customerClueName =
|
|
|
+ '具体合作意向反馈(拜访时间、合同方向、预估合作时间)';
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (this.customItemList[1].customerClueOptionList[pl].value == 'Y') {
|
|
|
+ this.viewTextShow = true;
|
|
|
+ if (
|
|
|
+ this.customItemList[1].customerClueOptionList[pl].customerClueOption.indexOf(
|
|
|
+ '意向'
|
|
|
+ ) != -1
|
|
|
+ ) {
|
|
|
+ this.customItemList[2].customerClueName = '没有意向原因';
|
|
|
+ this.customItemList[2].remark = '请输入';
|
|
|
+ }
|
|
|
+ if (
|
|
|
+ this.customItemList[1].customerClueOptionList[pl].customerClueOption.indexOf(
|
|
|
+ '开户'
|
|
|
+ ) != -1
|
|
|
+ ) {
|
|
|
+ this.customItemList[2].customerClueName = '开户经销商代码(例:0110067321)';
|
|
|
+ this.customItemList[2].remark = '请输入';
|
|
|
+ }
|
|
|
+ if (
|
|
|
+ this.customItemList[1].customerClueOptionList[pl].customerClueOption.indexOf(
|
|
|
+ '开店'
|
|
|
+ ) != -1
|
|
|
+ ) {
|
|
|
+ this.customItemList[2].customerClueName = '开户门店代码(例:0190129032)';
|
|
|
+ this.customItemList[2].remark = '请输入';
|
|
|
+ }
|
|
|
+ if (
|
|
|
+ this.customItemList[1].customerClueOptionList[pl].customerClueOption.indexOf(
|
|
|
+ '出货'
|
|
|
+ ) != -1
|
|
|
+ ) {
|
|
|
+ this.customItemList[2].customerClueName = '填写具体的产品和数量';
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
});
|
|
|
},
|
|
|
},
|
|
|
};
|
|
|
</script>
|
|
|
+<style lang="scss">
|
|
|
+.followUpHistory {
|
|
|
+ .formLabel {
|
|
|
+ margin: 0 16px;
|
|
|
+ border-bottom: 1px solid #f1f1f1;
|
|
|
+ }
|
|
|
+ .formLabel .van-cell {
|
|
|
+ padding: 10px 0;
|
|
|
+ font-size: 14px;
|
|
|
+ }
|
|
|
+ .formLabel .van-cell::after {
|
|
|
+ border: 0;
|
|
|
+ }
|
|
|
+ .formLabeltext .van-field {
|
|
|
+ border: 1px solid #f1f1f1;
|
|
|
+ padding: 6px;
|
|
|
+ width: 100%;
|
|
|
+ border-radius: 4px;
|
|
|
+ overflow: hidden;
|
|
|
+ }
|
|
|
+ .formLabel .van-field__control {
|
|
|
+ padding: 0 10px;
|
|
|
+ }
|
|
|
+ .z-checkbox .van-radio {
|
|
|
+ padding: 6px 0;
|
|
|
+ }
|
|
|
+ .z-cell .van-cell__title {
|
|
|
+ font-size: 14px;
|
|
|
+ }
|
|
|
+ .formLabel .van-radio__label,
|
|
|
+ .formLabel .van-checkbox__label {
|
|
|
+ font-size: 14px;
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|