diff --git a/src/const/crud/admin/log.js b/src/const/crud/admin/log.js index 73a0440..4c99a0e 100644 --- a/src/const/crud/admin/log.js +++ b/src/const/crud/admin/log.js @@ -51,6 +51,9 @@ export const tableOption = { { label: "操作时间", prop: "createTime", + + type: 'datetimerange', + search: true }, { label: "操作类型", diff --git a/src/views/Customer/table.js b/src/views/Customer/table.js index 7cce837..d97c64a 100644 --- a/src/views/Customer/table.js +++ b/src/views/Customer/table.js @@ -270,6 +270,21 @@ export default { } }, + { + label: '成交状态', + prop: "deliveryStatus", + width: "150px", + formatter: (data) => { + let str = '-' + if (data.deliveryStatus == 0) { + str = '未成交' + } else if (data.deliveryStatus == 1) { + str = '已成交' + } + return str + } + }, + { label: "客户阶段", prop: "clientStageName", diff --git a/src/views/Receive/index.vue b/src/views/Receive/index.vue index d6f8cd3..95aafac 100644 --- a/src/views/Receive/index.vue +++ b/src/views/Receive/index.vue @@ -28,11 +28,15 @@ " >
-
+
切换销讲业务 + >切换销讲业务
-
+
- +
顾问
+
+ {{ index + 1 }}、{{ item }} +
+ +
@@ -649,171 +661,170 @@ style="height: calc(70vh - 230px)" v-if="zhixingcenterindex == 2" > -
- -
- -
-
-
{{ item.name }}
-
执行{{ item.fraction || 0 }}%
+
+
+ +
- 已匹配({{ item.keywordsList && item.keywordsList.length }}) -
-
未匹配
-
- - +
{{ item.name }}
+
执行{{ item.fraction || 0 }}%
+
+ 已匹配({{ item.keywordsList && item.keywordsList.length }}) +
+
未匹配
+
+ + +
-
-
- -
-
- 客户标签:{{ getKeywordsList(subitem.keywordsList) }} -
-
需求挖掘话术
-
-
- +
+ +
+
+ 客户标签:{{ getKeywordsList(subitem.keywordsList) }} +
+
需求挖掘话术
+
- {{ - question.showFormatExpression || - question.keywordsName - }} + +
+ {{ + question.showFormatExpression || + question.keywordsName + }} +
-
-
-
{{ subitem.name }}
-
-
- 已执行 +
+
{{ subitem.name }}
+
+
+ 已执行 +
+
未执行
-
未执行
-
-
-
- 已匹配 +
+
+ 已匹配 +
+
未匹配
-
未匹配
+
-
-
- + +
-
- -
-
- -
-
- 客户标签:{{ getKeywordsList(item.keywordsList) }} -
-
需求挖掘话术
-
-
- + +
+
+ +
+
+ 客户标签:{{ getKeywordsList(item.keywordsList) }} +
+
需求挖掘话术
+
- {{ - question.showFormatExpression || - question.keywordsName - }} + +
+ {{ + question.showFormatExpression || + question.keywordsName + }} +
-
-
-
{{ item.name }}
-
执行{{ item.fraction || 0 }}%
-
- 已匹配({{ - item.keywordsList && item.keywordsList.length - }}) +
+
{{ item.name }}
+
执行{{ item.fraction || 0 }}%
+
+ 已匹配({{ + item.keywordsList && item.keywordsList.length + }}) +
+
未匹配
+
-
未匹配
-
-
- + +
-
- 没电指派无录音 - 离线指派无录音 + 没电指派无录音 + 离线指派无录音
- 系统测试误操作 - 非接访场景录音 + 系统测试误操作 + 非接访场景录音
其他 @@ -1286,8 +1305,6 @@
- - -
+
+
模板类型:
+ + 首访模板 + 复访模板 + +
+
销讲业务:
{ - console.log(res, 'cnmcm,cxcvnklfdkldflkfdalk') - if (res.code == 10000) { - this.$message.success(res.message); - this.init() - this.showSalesBusiness = false - } else { - this.$message.error(res.message); - } - }) + this.$api.http + .updateMarketingBusiness({ + marketingBusiness: this.marketingBusiness, + id: this.fileId, + }) + .then((res) => { + console.log(res, "cnmcm,cxcvnklfdkldflkfdalk"); + if (res.code == 10000) { + this.$message.success(res.message); + this.init(); + this.showSalesBusiness = false; + } else { + this.$message.error(res.message); + } + }); }, // 销讲模板列表 marketingBusinessNoApi() { - this.$api.http.marketingBusinessNoApi({ - houseId: localStorage.getItem("houseId"), + this.templateList = [] + let obj = { + houseId: + localStorage.getItem("houseId") || this.userinformationlist.projectId, status: 0, // 固定传0 - }).then(res => { - console.log(res, 'asdklasjdkasljsalkd') + templateStatus: this.templateStatus, + }; + this.$api.http.marketingBusinessNoApi(obj).then((res) => { + console.log(res, "asdklasjdkasljsalkd"); if (res.code == 10000) { - this.templateList = res.data - } - }) + this.templateList = res.data; + } + }); }, // 修改销讲业务模板 @@ -2018,7 +2061,9 @@ export default { id: this.fileId, validInvalid: 0, invalidReason: "", - houseId: localStorage.getItem("houseId"), + houseId: + localStorage.getItem("houseId") || + this.userinformationlist.projectId, }) .then((res) => { this.$message({ @@ -2056,7 +2101,9 @@ export default { validInvalid: 1, invalidReason: Number(this.effectiveindex), invalidNote: this.effectiveitext, - houseId: localStorage.getItem("houseId"), + houseId: + localStorage.getItem("houseId") || + this.userinformationlist.projectId, }) .then((res) => { this.dialogFormVisible13 = false; @@ -2183,7 +2230,7 @@ export default { }, //标记 biaoji() { - this.tablists = this.tablist.slice(1, this.tablist.length) + this.tablists = this.tablist.slice(1, this.tablist.length); this.dialogFormVisible11 = true; }, //取消标记 @@ -2192,36 +2239,40 @@ export default { this.roleindexbiaoji = this.dshfkjsdkksodofydwfkhwdfkjh; }, - - // 设置顾问 - setConsultant() { - let arr = this.consultant.split(',') || [] - console.log(this.consultant,arr) - this.tablist.map(obj => { - if (arr.includes(obj.speaker.toString())) { - obj.name += '顾问' - } - }) - }, + // 设置顾问 + setConsultant() { + let arr = this.consultant.split(",") || []; + console.log(this.consultant, arr); + this.tablist.map((obj) => { + if (arr.includes(obj.speaker.toString())) { + obj.name += "顾问"; + } + }); + }, // 标记选择 biaojixuanze(item) { - item.checked = !item.checked + item.checked = !item.checked; }, //确认标记 subMsg11() { - - let arr = this.tablists.filter(item => item.checked) + let arr = this.tablists.filter((item) => item.checked); if (arr.lenght == 0) { - this.$message.error('请选择标记角色~'); - return - } + this.$message.error("请选择标记角色~"); + return; + } this.$api.http .markConsultant({ - speaker: arr.map(item => { return item.speaker }).join(","), + speaker: arr + .map((item) => { + return item.speaker; + }) + .join(","), id: this.isd, customerId: this.fileId, - houseId: localStorage.getItem("houseId"), + houseId: + localStorage.getItem("houseId") || + this.userinformationlist.projectId, }) .then((res) => { this.dialogFormVisible11 = false; @@ -2253,7 +2304,6 @@ export default { this.findCARKeywords(); this.findBannedWordsByCusId(); this.Getsthetransliteratecontent(); - this.marketingBusinessNoApi(); this.findTabooWordsByCusId(); }); }, @@ -2264,7 +2314,6 @@ export default { .then((res) => { this.prohibitedlist = res.data; }); - }, //常错词确认 subMsg() { @@ -2325,7 +2374,7 @@ export default { //常错词点击 checkMsg(row, index) { - console.log(this.rec_index_wrongword) + console.log(this.rec_index_wrongword); if (!this.rec_index_wrongword) { return; } @@ -2345,7 +2394,8 @@ export default { }, correctListFun() { let obj = { - houseId: localStorage.getItem("houseId"), + houseId: + localStorage.getItem("houseId") || this.userinformationlist.projectId, }; this.$api.api.correctList(obj).then((res) => { this.mistakenList = res.data.map((item) => { @@ -2360,44 +2410,42 @@ export default { }, //获取销讲词违禁词 findBannedWordsByCusId() { - this.$api.http - .findBycusId({ cusId: this.fileId }) - .then((res) => { - let list1 = res.data || []; - let level1 = []; // 一级 - list1.forEach((item) => { - if (item.pid == 0) { - level1.push({ - id: item.marketingId, + this.$api.http.findBycusId({ cusId: this.fileId }).then((res) => { + let list1 = res.data || []; + let level1 = []; // 一级 + list1.forEach((item) => { + if (item.pid == 0) { + level1.push({ + id: item.marketingId, + rate: item.fraction, + name: item.name, + percent: 0, + ratepercent: 0, + show: false, + children: [], + }); + } + }); + list1.forEach((item) => { + level1.forEach((el) => { + if (item.pid == el.id) { + if (item.selected == 0) { + el.ratepercent += item.fraction; + } + el.children.push({ + id: item.id, rate: item.fraction, + selected: item.selected, name: item.name, - percent: 0, - ratepercent: 0, - show: false, - children: [], }); } }); - list1.forEach((item) => { - level1.forEach((el) => { - if (item.pid == el.id) { - if (item.selected == 0) { - el.ratepercent += item.fraction; - } - el.children.push({ - id: item.id, - rate: item.fraction, - selected: item.selected, - name: item.name, - }); - } - }); - }); - if (level1.length != 0) { - level1[0].show = true; - } - this.ratelist = level1; }); + if (level1.length != 0) { + level1[0].show = true; + } + this.ratelist = level1; + }); }, //系统分析切换人工校准 @@ -2512,8 +2560,8 @@ export default { this.roleList = this.tablist.slice(1); if (audopbj[this.AudioIdx].speaker) { this.yibiaoji = "已标记"; - this.consultant = audopbj[this.AudioIdx].speaker - this.setConsultant() + this.consultant = audopbj[this.AudioIdx].speaker; + this.setConsultant(); } } this.corpusId = audopbj[this.AudioIdx].id; diff --git a/src/views/ReceivingRecords/index.vue b/src/views/ReceivingRecords/index.vue index 136ecf3..149a397 100644 --- a/src/views/ReceivingRecords/index.vue +++ b/src/views/ReceivingRecords/index.vue @@ -959,7 +959,7 @@ export default { this.findbypage(); this.findKeywords(); this.findQuestionList(); - // this.getMarketingBusiness();// 销讲业务 + this.getMarketingBusiness();// 销讲业务 // 获取置业顾问列表 this.findUserListByHouseId(); }, diff --git a/src/views/Statistics/index.vue b/src/views/Statistics/index.vue index c61949b..89990ab 100644 --- a/src/views/Statistics/index.vue +++ b/src/views/Statistics/index.vue @@ -75,6 +75,21 @@ + +
成交状态:
+ + + +
@@ -315,7 +330,7 @@ export default { efficient: "", markCount: "", noMarkCount: "", - + deliveryStatus: null, // templateList: [], // 销讲业务列表 marketingBusiness: [], // 选中的销讲业务 }; @@ -587,14 +602,21 @@ export default { } else { dateType = this.TimetoAhoose; } - this.$api.http - .findmatchdata({ + + + let obj = { dateType: dateType, houseId: this.houseId, statDateStart: this.fromobj.starttime, marketingBusiness: this.marketingBusiness.join(','), statDateEnd: this.fromobj.endoftime, - }) + } + + if (this.deliveryStatus != null) { + obj.deliveryStatus = this.deliveryStatus + } + this.$api.http + .findmatchdata(obj) .then((res) => { this.objlist = res.data.list; // this.alllist = [{ name: "有效接待", num: res.data.total }]; diff --git a/src/views/Template/Pinspeakwords.vue b/src/views/Template/Pinspeakwords.vue index f8504d2..6d13730 100644 --- a/src/views/Template/Pinspeakwords.vue +++ b/src/views/Template/Pinspeakwords.vue @@ -216,6 +216,15 @@
+ +
+ 模板类型 + + + 首访模板 + 复访模板 + +
(提示:拖拽大类可以排序) @@ -402,6 +411,7 @@ export default { inparams: { templateName: "", // 话术名称 defaultTemplate: 1, // 默认模板 0:是,1:否 + templateStatus: 0, // 模板类型0 首访模板 1复访模板 }, }; }, @@ -539,6 +549,7 @@ export default { this.nodelist = res.data.list; this.inparams.templateName = res.data.templateName; this.inparams.defaultTemplate = res.data.defaultTemplate; + this.inparams.templateStatus = res.data.templateStatus; console.log(this.inparams); this.getHouse2(); this.checklist.forEach((item) => {