diff --git a/config.js b/config.js index c6d5858..6f6b84b 100644 --- a/config.js +++ b/config.js @@ -42,6 +42,8 @@ var config = { cmmentList:`${host}/comment/list`, // 新增评论 saveCmment:`${host}/comment/saveCmment`, + // 获取客户来源列表 + sourceList: `${host}/customer/sourceList`, // 新增文件评论 saveCmmentUpload:`${host}/comment/upload`, // 点赞 diff --git a/env/cl.js b/env/cl.js index 31228e3..d4c5e15 100644 --- a/env/cl.js +++ b/env/cl.js @@ -1,5 +1,5 @@ const ENV_PATH = { - baseUrl: 'http://192.168.31.161:9999', // 长龙 + baseUrl: 'http://192.168.31.160:9999', // 长龙 } module.exports = ENV_PATH \ No newline at end of file diff --git a/manifest.json b/manifest.json index a288498..374cacc 100644 --- a/manifest.json +++ b/manifest.json @@ -82,7 +82,7 @@ "usingComponents" : true, "permission" : {}, "requiredBackgroundModes" : [ "audio" ], - "lazyCodeLoading": "requiredComponents", + "lazyCodeLoading" : "requiredComponents", "plugins" : { "WechatSI" : { "version" : "0.3.4", diff --git a/pages.json b/pages.json index 7060278..4bf0c0c 100644 --- a/pages.json +++ b/pages.json @@ -463,6 +463,15 @@ "enablePullDownRefresh": true } }, + { + "path": "Piabodata/requireminingAnalysis", + "style": { + "navigationBarTitleText": "需求挖掘分析", + "navigationBarBackgroundColor": "#FFFFFF", + "navigationBarTextStyle": "black", + "enablePullDownRefresh": true + } + }, { "path": "Piabodata/StaffAnalysis", "style": { diff --git a/pages/center/Piabodata/requireminingAnalysis.vue b/pages/center/Piabodata/requireminingAnalysis.vue new file mode 100644 index 0000000..4dc9392 --- /dev/null +++ b/pages/center/Piabodata/requireminingAnalysis.vue @@ -0,0 +1,751 @@ + + + + diff --git a/pages/center/consumer/consumerDetail.vue b/pages/center/consumer/consumerDetail.vue index 283ac23..3e6fd1e 100644 --- a/pages/center/consumer/consumerDetail.vue +++ b/pages/center/consumer/consumerDetail.vue @@ -11,16 +11,14 @@ B C D - {{ customerInfo.clientStageName }} + + {{ customerInfo.clientStageName }} + - @@ -31,13 +29,13 @@ 顾问姓名:{{customerInfo.agentName||'--'}} - - 客户标签: - 暂无 - {{che.name}} - - 查看全部 + + + 挖掘执行:{{customerInfo.wordFraction||0}}% + + + 挖掘成功:{{customerInfo.wordFinishFraction||0}}% + 添加时间:{{customerInfo.createTime}} @@ -45,14 +43,9 @@ 到访{{customerInfo.visitRecord || '--'}}次 - {{customerInfo.mm || '0'}}min/{{customerInfo.fraction || '0'}}% + {{customerInfo.mm || '0'}}min/{{customerInfo.fraction || '0'}}% - @@ -71,7 +64,10 @@ 跟进记录 - 执行率 + 销讲执行率 + + + 挖掘执行率 @@ -94,10 +90,6 @@ {{item.agentName || '--'}} 代接待 - @@ -129,19 +121,17 @@ {{item.agentName.slice(0,1) || '--'}} {{item.agentName || '||'}} - {{ item.clientStageName }} + {{ item.clientStageName }} + {{item.createTime}} 跟进内容:{{item.remarks || '暂无'}} - - + 执行总览 @@ -155,11 +145,11 @@ {{customerInfo.fraction}}% - 销讲执行率 + 销讲执行率 {{customerInfo.mm}}min - 接待时长 + 接待时长 @@ -210,20 +200,147 @@ - + + + + + + + + + + 暂无数据 + + + + + + 挖掘执行率:{{customerInfo.wordFraction||0}}% + 挖掘成功率:{{customerInfo.wordFinishFraction||0}}% + + + 指标 + + 执行率 + + 挖掘成功 + + + + + + + + + + 暂无数据 + + + + + + {{ item.name }} + + 执行{{ item.fraction || 0 }}% + + + 已完成({{item.keywordsList.length}}) + 未完成 + + + + + + + + + + + 客户标签:{{ getKeywordsList(item.keywordsList) }} + 话术内容: + 暂无话术 + + + {{inc+1}}.{{che.showFormatExpression}} + + + + + + + + + + + + + + + {{ subitem.name }} + + 已执行 + 未执行 + + + 已完成 + 未完成 + + + + + + + + + 客户标签:{{ getKeywordsList(subitem.keywordsList) }} + 话术内容: + 暂无话术 + + + {{ inc + 1 }}.{{ che.showFormatExpression }} + + + + + + + + + + + + + - - - 写跟进 + + 写跟进 @@ -237,17 +354,18 @@ - + diff --git a/pages/mine/ScoringPlaylist.vue b/pages/mine/ScoringPlaylist.vue index 290cc6a..41e1dd6 100644 --- a/pages/mine/ScoringPlaylist.vue +++ b/pages/mine/ScoringPlaylist.vue @@ -1,16 +1,31 @@ @@ -21,23 +36,44 @@ export default { data() { return { - customerId:'', - listarr:[], - id:'', - type:'', + customerId: '', + listarr: [], + id: '', + type: '', tipsFncName: '', // 提醒页面变更的值 from: '', // 标记需要刷新的来源 }; }, onLoad(options) { this.customerId = options.customerId; - this.id=options.id; - this.type=options.type; + this.id = options.id; + this.type = options.type; if (options.UpDateEvent) this.tipsFncName = options.UpDateEvent if (options.from) this.from = options.from this.searchinfo() }, methods: { + + // 对话加命中标签 + dealTypes(type) { + if (type) { + let tem = type.substring(1).split(',') + return tem + } else { + return [] + } + }, + // 对话加命中标签 + dealword(type) { + if (type) { + let a = type.split('-') + let rest = type.substring(2).split('-').join(',') + let arr = [a[0], rest] + return arr + } else { + return [] + } + }, formatTime(num) { //格式化时间格式 num = num.toFixed(0); @@ -48,35 +84,35 @@ return min + ":" + second; }, //搜索 - searchinfo(){ - let parames={ - marketingId:this.id, - customerId:this.customerId, - type:this.type + searchinfo() { + let parames = { + marketingId: this.id, + customerId: this.customerId, + type: this.type } this.$u.post("/corpus/pinWordMatching", parames).then(res => { - res.forEach(item=>{ - item.Content=JSON.parse(item.transferContent) + res.forEach(item => { + item.Content = JSON.parse(item.transferContent) }) - res.forEach(cet=>{ - cet.Content.time=this.formatTime(cet.Content.bg/1000) + res.forEach(cet => { + cet.Content.time = this.formatTime(cet.Content.bg / 1000) }) - this.listarr=res; + this.listarr = res; }) }, //跳转 - toaidoinfo(item,id,index){ - item.customerId=this.customerId; - item.id=id; - item.index=index; + toaidoinfo(item, id, index) { + item.customerId = this.customerId; + item.id = id; + item.index = index; this.infostust(item) }, //只有一条的时候 - infostust(item){ + infostust(item) { console.log("zobudao") let d = JSON.parse(JSON.stringify([item])) - d[0].onebest=""; - console.log(d) + d[0].onebest = ""; + console.log(d) const parames = { pageNum: 1, pageSize: 100, @@ -87,7 +123,7 @@ this.$u.post("/corpus/findByPage", parames).then(res => { uni.setStorageSync("entrance", 2); //写入缓存 uni.setStorageSync("searchobj", d[0]); //写入缓存 - if(res[0].merge==0){ + if (res[0].merge == 0) { let newobj = res[0]; if (this.tipsFncName) { uni.$emit(this.tipsFncName, d[0]) @@ -100,11 +136,11 @@ url: `/pages/mine/details2?customerId=${newobj.customerId}&status=${newobj.status}&itemobj=${JSON.stringify(d[0])}&stateisshow=${'2'}&refresh=true` }) } - + uni.navigateTo({ url: `/pages/mine/details2?customerId=${newobj.customerId}&status=${newobj.status}&itemobj=${JSON.stringify(d[0])}&stateisshow=${'2'}` }) - }else{ + } else { let newobj = res[0]; uni.navigateTo({ url: `/pages/mine/details?customerId=${newobj.customerId}&status=${newobj.status}&itemobj=${JSON.stringify(d[0])}&stateisshow=${'2'}` @@ -112,10 +148,50 @@ } }) }, - + }, } diff --git a/pages/mine/calibration.vue b/pages/mine/calibration.vue index 57d3162..809b694 100644 --- a/pages/mine/calibration.vue +++ b/pages/mine/calibration.vue @@ -79,6 +79,7 @@ let param = { keywordIds:'', id: this.customerId, + projectId: uni.getStorageSync("buildingID").id } let str = [] this.allList.map(item => { diff --git a/pages/mine/details2.vue b/pages/mine/details2.vue index 29d14e7..bd640dd 100644 --- a/pages/mine/details2.vue +++ b/pages/mine/details2.vue @@ -80,6 +80,23 @@ + + + + + + + + + + {{dealword(subitem)[1]}} + + + @@ -287,10 +304,12 @@ - 销讲总执行率{{totalRate}}% + 销讲总执行率{{totalRate}}% 禁忌执行 + 需求挖掘率 暂无数据 + + + + 挖掘执行:{{wordFraction||0}}% + 挖掘成功:{{percent||0}}% + + + 指标 + + 执行率 + + 挖掘成功 + + + + + + {{item.name}} + + 执行{{item.fraction || 0}}% + 已完成({{ + item.keywordsList.length + }}) + 未完成 + + + + + + + + + + + 客户标签:{{ getKeywordsList(item.keywordsList) }} + 话术内容: + 暂无话术 + + + {{inc+1}}.{{che.showFormatExpression}} + + + + + + + + + + + + + + + {{subitem.name}} + + 已执行 + 未执行 + + + 已完成 + 未完成 + + + + + + + + + 客户标签:{{ getKeywordsList(subitem.keywordsList) }} + 话术内容: + 暂无话术 + + + {{inc+1}}.{{che.showFormatExpression}} + + + + + + + + + + + + + @@ -393,7 +513,6 @@ - @@ -486,6 +605,7 @@ }, data() { return { + KeyWordsfractionList: [], customStyle: { 'width': '320rpx', 'font-size': '34rpx', @@ -600,10 +720,11 @@ nowPlaying: 0, // 当前播放位置 stepPosition: 0, // 需要跳转的播放位置 - templateList: [], // 销讲业务 showTemplate: false, // 展示选择销讲业务弹窗 templateName: '', // 销讲业务类型文字 + percent: 0,// 挖掘成功 + wordFraction: 0,// 挖掘执行 }; }, computed: { @@ -621,6 +742,8 @@ this.customerId = options.customerId; this.itemobj = uni.getStorageSync('searchobj'); this.stateisshow = options.stateisshow; + this.wordFraction = options.wordFraction == 'undefined' ? 0 : options.wordFraction; + this.$zaudio.autoPlay = true if (options.refresh) this.refresh = options.refresh @@ -701,7 +824,6 @@ }, methods: { - // 获取销讲业务 getMarketingBusiness() { this.$u.get('/customer/marketingBusiness', { @@ -711,7 +833,80 @@ this.templateList = res }) }, - + hangeshow2(item, type) { + item.show = !item.show; + }, + //挖掘率话术客户标签展示 + getKeywordsList(list) { + let keywords = []; + if (list && list.length) { + keywords = list.map((item) => item.name); + } else { + return "--"; + } + return keywords.join(","); + }, + // // 计算挖掘执行的完成率 + getPercent() { + let countArr = this.KeyWordsfractionList.filter(item => item.selected == 0) + this.percent = (countArr.length / this.KeyWordsfractionList.length) * 100 + this.percent = this.percent.toFixed(0) + }, + // 客户详情需求挖掘话术 + getfindKeyWordsBycusId() { + this.$u.get("/cusLvStatistics/findKeyWordsBycusId?cusId=" + this.customerId).then(res => { + // console.log(res) + if (res.length) { + res.forEach((item, index) => { + item.show = false + if (index == 0) { + item.show = true + } + item.children.forEach((obj, i) => { + obj.show = false + if (i == 0 && index == 0) { + obj.show = true; + } + }) + }) + this.KeyWordsfractionList = res + this.getPercent() + } else { + this.KeyWordsfractionList = [] + } + }) + }, + clickWajue(item) { + if (item.isAskQuestions == 0) { + this.Pinspeak = false + uni.navigateTo({ + url: '/pages/learning/Keywordsearch?customerId=' + this.customerId + "&keyword=" + item + .showFormatExpression + + "&skpl=" + "2" + '&UpDateEvent=DETAILS2INIT' + }) + } + }, + // 对话加命中标签 + dealTypes(type) { + if (type) { + // let tem = type.split(',') + let tem = type.substring(1).split(',') + return tem + } else { + return [] + } + }, + // 对话加命中标签 + dealword(type) { + if (type) { + let a = type.split('-') + let rest = type.substring(2).split('-').join(',') + let arr = [a[0], rest] + return arr + } else { + return [] + } + }, // 跳转设备日志页面 eqLogClick() { uni.navigateTo({ @@ -861,8 +1056,10 @@ this.zhixingcenterindex = i; if (i == 0) { this.getRatelist() - } else { + } else if(i ==1) { this.huoqujinji() + }else{ + this.getfindKeyWordsBycusId() } }, //获取禁忌 @@ -1119,7 +1316,7 @@ this.stateisshow = 1; uni.navigateTo({ url: '/pages/learning/Keywordsearch?customerId=' + this.customerId + "&status=" + this.status + - "&skpl=" + "1" + '&UpDateEvent=DETAILS2INIT' + "&skpl=" + "1" + '&UpDateEvent=DETAILS2INIT&types=1' }) }, //标记选择角色 @@ -1985,6 +2182,40 @@