@@ -81,6 +81,8 @@ var config = { | |||||
notReadNum: `${host}/zkMessage/findFlagCount`, | notReadNum: `${host}/zkMessage/findFlagCount`, | ||||
//设备日志 | //设备日志 | ||||
eqLog: `${host}/equipment/equipmentLog`, | eqLog: `${host}/equipment/equipmentLog`, | ||||
//添加挖掘词 | |||||
addWordMining: `${host}/corpus/addWordMining`, | |||||
} | } | ||||
}; | }; | ||||
module.exports = config; | module.exports = config; |
@@ -93,7 +93,7 @@ | |||||
"mp-weixin" : { | "mp-weixin" : { | ||||
"appid" : "wx8f883dca5ecc5510", | "appid" : "wx8f883dca5ecc5510", | ||||
"setting" : { | "setting" : { | ||||
"urlCheck" : false, | |||||
"urlCheck" : true, | |||||
"es6" : true, | "es6" : true, | ||||
"postcss" : true, | "postcss" : true, | ||||
"minified" : true | "minified" : true | ||||
@@ -2,7 +2,6 @@ | |||||
"easycom": { | "easycom": { | ||||
"^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue" | "^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue" | ||||
}, | }, | ||||
//这个pages里只放这五个页面,新增页面时请对应的放到下面的分包里 | |||||
"pages": [ | "pages": [ | ||||
{ | { | ||||
"path": "pages/index/guide", | "path": "pages/index/guide", | ||||
@@ -45,7 +44,6 @@ | |||||
} | } | ||||
} | } | ||||
], | ], | ||||
//这下面是分包 | |||||
"subPackages": [{ | "subPackages": [{ | ||||
"root": "pages/login", //登录相关 | "root": "pages/login", //登录相关 | ||||
"name": "login", | "name": "login", | ||||
@@ -216,7 +214,6 @@ | |||||
"navigationBarBackgroundColor": "#ffffff", | "navigationBarBackgroundColor": "#ffffff", | ||||
"navigationBarTextStyle": "black" | "navigationBarTextStyle": "black" | ||||
} | } | ||||
}, { | }, { | ||||
"path": "selectBuilding", | "path": "selectBuilding", | ||||
"style": { | "style": { | ||||
@@ -224,7 +221,6 @@ | |||||
"navigationBarBackgroundColor": "#FFFFFF", | "navigationBarBackgroundColor": "#FFFFFF", | ||||
"navigationBarTextStyle": "black" | "navigationBarTextStyle": "black" | ||||
} | } | ||||
}, { | }, { | ||||
"path": "registerCode", | "path": "registerCode", | ||||
"style": { | "style": { | ||||
@@ -240,7 +236,6 @@ | |||||
"navigationBarBackgroundColor": "#2671E2", | "navigationBarBackgroundColor": "#2671E2", | ||||
"navigationBarTextStyle": "white" | "navigationBarTextStyle": "white" | ||||
} | } | ||||
}, | }, | ||||
{ | { | ||||
"path": "registerResult", | "path": "registerResult", | ||||
@@ -249,7 +244,6 @@ | |||||
"navigationBarBackgroundColor": "#2671E2", | "navigationBarBackgroundColor": "#2671E2", | ||||
"navigationBarTextStyle": "white" | "navigationBarTextStyle": "white" | ||||
} | } | ||||
}, { | }, { | ||||
"path": "messageDetail", | "path": "messageDetail", | ||||
"style": { | "style": { | ||||
@@ -264,7 +258,6 @@ | |||||
"navigationBarBackgroundColor": "#fff", | "navigationBarBackgroundColor": "#fff", | ||||
"navigationBarTextStyle": "black" | "navigationBarTextStyle": "black" | ||||
} | } | ||||
}, { | }, { | ||||
"path": "equipmentLog", | "path": "equipmentLog", | ||||
"style": { | "style": { | ||||
@@ -273,7 +266,6 @@ | |||||
"navigationBarTextStyle": "transparent", | "navigationBarTextStyle": "transparent", | ||||
"navigationStyle": "custom" | "navigationStyle": "custom" | ||||
} | } | ||||
} | } | ||||
] | ] | ||||
}, | }, | ||||
@@ -342,7 +334,7 @@ | |||||
] | ] | ||||
}, | }, | ||||
{ | { | ||||
"root": "pages/reportExcel", //中心逻辑的模块都放到这里 | |||||
"root": "pages/reportExcel", | |||||
"name": "reportExcel", | "name": "reportExcel", | ||||
"pages": [{ | "pages": [{ | ||||
"path": "weekReport", | "path": "weekReport", | ||||
@@ -362,7 +354,7 @@ | |||||
] | ] | ||||
}, | }, | ||||
{ | { | ||||
"root": "pages/center", //中心逻辑的模块都放到这里 | |||||
"root": "pages/center", | |||||
"name": "center", | "name": "center", | ||||
"pages": [{ | "pages": [{ | ||||
"path": "Piabodata/index", | "path": "Piabodata/index", | ||||
@@ -477,7 +469,6 @@ | |||||
"enablePullDownRefresh": true | "enablePullDownRefresh": true | ||||
} | } | ||||
}, | }, | ||||
{ | { | ||||
"path": "records/index", | "path": "records/index", | ||||
"style": { | "style": { | ||||
@@ -563,9 +554,7 @@ | |||||
} | } | ||||
} | } | ||||
] | ] | ||||
} | |||||
], | |||||
}], | |||||
"permission": { | "permission": { | ||||
"scope.userLocation": { | "scope.userLocation": { | ||||
"desc": "你的位置信息将用于小程序位置接口的效果展示" | "desc": "你的位置信息将用于小程序位置接口的效果展示" | ||||
@@ -14,10 +14,10 @@ | |||||
{{ guwen}} | {{ guwen}} | ||||
<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon> | <u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon> | ||||
</view> | </view> | ||||
<view class="tabbox" @click="huashushow=true"> | |||||
<!-- <view class="tabbox" @click="huashushow=true"> | |||||
{{ huashu}} | {{ huashu}} | ||||
<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon> | <u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon> | ||||
</view> | |||||
</view> --> | |||||
</view> | </view> | ||||
<view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view> | <view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view> | ||||
<view class="boxzonglan" style="min-height: 400rpx;"> | <view class="boxzonglan" style="min-height: 400rpx;"> | ||||
@@ -44,7 +44,7 @@ | |||||
<view><text class="bold">平均需求挖掘率:</text>筛选时间内,有效接待中已标记顾问的需求挖掘执行率的平均值;</view> | <view><text class="bold">平均需求挖掘率:</text>筛选时间内,有效接待中已标记顾问的需求挖掘执行率的平均值;</view> | ||||
<view><text class="bold">未标记:</text>筛选时间内,有效接待中未标记顾问的接待数;</view> | <view><text class="bold">未标记:</text>筛选时间内,有效接待中未标记顾问的接待数;</view> | ||||
<view><text class="bold">有效接待:</text>筛选时间内,标记为有效的接待数,不包含待接单;</view> | <view><text class="bold">有效接待:</text>筛选时间内,标记为有效的接待数,不包含待接单;</view> | ||||
<view><text class="bold">未挖掘需求数:</text>筛选时间内,需求挖掘平均执行率未0 的需求数;</view> | |||||
<view><text class="bold">未挖掘需求数:</text>筛选时间内,需求挖掘平均执行率为0的需求数;</view> | |||||
</view> | </view> | ||||
</view> | </view> | ||||
<view class="close" @click="showDesc=false">X</view> | <view class="close" @click="showDesc=false">X</view> | ||||
@@ -118,8 +118,8 @@ | |||||
:default-value='selindex'></u-select> | :default-value='selindex'></u-select> | ||||
<u-select v-model="deptshow" :list="teamList" @confirm="deptCallback" | <u-select v-model="deptshow" :list="teamList" @confirm="deptCallback" | ||||
:default-value='selindex'></u-select> | :default-value='selindex'></u-select> | ||||
<u-select v-model="hushushow" :list="hushuList" @confirm="huashuCallback" | |||||
:default-value='selindex'></u-select> | |||||
<!-- <u-select v-model="huashushow" :list="hushuList" @confirm="huashuCallback" | |||||
:default-value='selindex'></u-select> --> | |||||
<!-- 加载组件 --> | <!-- 加载组件 --> | ||||
<loading v-model="LOADING"></loading> | <loading v-model="LOADING"></loading> | ||||
</view> | </view> | ||||
@@ -136,7 +136,7 @@ | |||||
data() { | data() { | ||||
return { | return { | ||||
selindex: '', | selindex: '', | ||||
huashushow: false, | |||||
// huashushow: false, | |||||
guwenshow: false, | guwenshow: false, | ||||
timeshow: false, | timeshow: false, | ||||
selectshow: false, | selectshow: false, | ||||
@@ -190,7 +190,7 @@ | |||||
}, | }, | ||||
activeTotal: 4, | activeTotal: 4, | ||||
houseId: '', | houseId: '', | ||||
hushuList: [],// 业务话术 | |||||
// hushuList: [],// 业务话术 | |||||
staffList: [],// 员工列表 | staffList: [],// 员工列表 | ||||
teamList: [],// 团队列表 | teamList: [],// 团队列表 | ||||
team: { | team: { | ||||
@@ -48,7 +48,7 @@ | |||||
>所属顾问:{{ customerInfo.agentName || "--" }}</view | >所属顾问:{{ customerInfo.agentName || "--" }}</view | ||||
> | > | ||||
<view class="content-sec-lab1" style="width: 44%" | <view class="content-sec-lab1" style="width: 44%" | ||||
>客户阶段:{{ customerInfo.agentName || "--" }}</view | |||||
>客户阶段:{{ customerInfo.stageName || "--" }}</view | |||||
> | > | ||||
</view> | </view> | ||||
<view class="content-sec-lab"> | <view class="content-sec-lab"> | ||||
@@ -56,15 +56,6 @@ | |||||
>上次到访:{{ customerInfo.createTime || "--" }}</view | >上次到访:{{ customerInfo.createTime || "--" }}</view | ||||
> | > | ||||
</view> | </view> | ||||
<!-- <view class="content-sec-lab" @click.stop="tipupon"> | |||||
客户标签: | |||||
<text v-if="!customerInfo.demand.cusSemanticWordsList">暂无</text> | |||||
<view v-else class="content-sec-tips" | |||||
v-for="(che,ind) in customerInfo.demand.cusSemanticWordsList" :key='ind'>{{che.name}}</view> | |||||
<view class="conmsg-msg-lab-img" v-if="customerInfo.demand.cusSemanticWordsList.length>0"> | |||||
<image class="screen-sel-img" src="../../../static/images/right.png" mode=""></image> | |||||
</view> | |||||
</view> --> | |||||
</view> | </view> | ||||
<view class="content-last"> | <view class="content-last"> | ||||
<view class="content-last-con"> | <view class="content-last-con"> | ||||
@@ -83,7 +74,10 @@ | |||||
<view :class="{ activecllasscet: activeTotal == 1 }" @click="tabtimetap(1)">跟进记录</view> | <view :class="{ activecllasscet: activeTotal == 1 }" @click="tabtimetap(1)">跟进记录</view> | ||||
</view> | </view> | ||||
<view class="tabbox"> | <view class="tabbox"> | ||||
<view :class="{ activecllasscet: activeTotal == 2 }" @click="tabtimetap(2)">执行率</view> | |||||
<view :class="{ activecllasscet: activeTotal == 2 }" @click="tabtimetap(2)">销讲执行率</view> | |||||
</view> | |||||
<view class="tabbox"> | |||||
<view :class="{ activecllasscet: activeTotal == 3 }" @click="tabtimetap(3)">挖掘执行率</view> | |||||
</view> | </view> | ||||
</view> | </view> | ||||
@@ -159,39 +153,13 @@ | |||||
</view> | </view> | ||||
</view> | </view> | ||||
<!-- 评分 --> | |||||
<!-- 销讲执行率 --> | |||||
<view class="ratecenter" v-if="activeTotal==2"> | <view class="ratecenter" v-if="activeTotal==2"> | ||||
<view class="my-tab"> | |||||
<view class="tab-item" :class="tabactive==0?'tabactive':''" @click="tabactive=0">销讲执行率</view> | |||||
<view class="tab-item" :class="tabactive==1?'tabactive':''" @click="tabactive=1">需求挖掘执行率</view> | |||||
</view> | |||||
<view class="xiaojiang" v-if="tabactive==0"> | |||||
<view class="ratetetle">执行总览</view> | |||||
<view class="rateyuanbox"> | |||||
<view class="rateyuanboxzuo"> | |||||
<view class="boxzuoview cccccc">{{customerInfo.visitRecord || '--'}}次</view> | |||||
<view style="color: #333333;font-size: 28rpx;font-weight: 400;text-align: center;">接待次数</view> | |||||
</view> | |||||
<view class="rateyuanboxyou"> | |||||
<view class="boxzuoview" style="width: 100%;display: flex;justify-content: center;"> | |||||
<u-circle-progress active-color="#4FC78F" width='139' :percent="customerInfo.fraction"> | |||||
<view style="text-align: center;color: #4FC78F;">{{customerInfo.fraction}}%</view> | |||||
</u-circle-progress> | |||||
</view> | |||||
<view style="color: #333333;font-size: 28rpx;font-weight: 400;text-align: center;">销讲执行率</view> | |||||
</view> | |||||
<view class="rateyuanboxzuo"> | |||||
<view class="boxzuoview cccccc">{{customerInfo.mm}}min</view> | |||||
<view style="color: #333333;font-size: 28rpx;font-weight: 400;text-align: center;">接待时长</view> | |||||
</view> | |||||
</view> | |||||
<view | |||||
style="width: 100%;height: 80rpx;border-bottom: 1rpx solid #E0E0E0;display: flex;align-items: center;"> | |||||
<view style="width: 100%;height: 80rpx;border-bottom: 1rpx solid #E0E0E0;display: flex;align-items: center;"> | |||||
<view style="flex: 1;font-size: 28rpx;color: #333333;font-weight: 600;text-indent: 20rpx;">指标</view> | <view style="flex: 1;font-size: 28rpx;color: #333333;font-weight: 600;text-indent: 20rpx;">指标</view> | ||||
<view style="flex: 1;font-size: 28rpx;color: #333333;font-weight: 600;text-indent: 170rpx;">执行率 | <view style="flex: 1;font-size: 28rpx;color: #333333;font-weight: 600;text-indent: 170rpx;">执行率 | ||||
</view> | </view> | ||||
</view> | |||||
</view> | |||||
<view v-if="ratelist.length==0" style="width: 100%;height: 100%;display: flex;align-items: center;"> | <view v-if="ratelist.length==0" style="width: 100%;height: 100%;display: flex;align-items: center;"> | ||||
<view style="width: 100%;padding-top: 60rpx;"> | <view style="width: 100%;padding-top: 60rpx;"> | ||||
<view style="width: 100%;text-align: center;"> | <view style="width: 100%;text-align: center;"> | ||||
@@ -243,29 +211,10 @@ | |||||
<view v-if="subitem.show" style="width: 100%;height: 30rpx;"></view> | <view v-if="subitem.show" style="width: 100%;height: 30rpx;"></view> | ||||
</view> | </view> | ||||
</view> | </view> | ||||
</view> | |||||
<view class="xuqiu" v-if="tabactive==1"> | |||||
<view class="ratetetle">执行总览</view> | |||||
<view class="rateyuanbox"> | |||||
<view class="rateyuanboxzuo"> | |||||
<view class="boxzuoview cccccc">{{customerInfo.visitRecord || '--'}}次</view> | |||||
<view style="color: #333333;font-size: 28rpx;font-weight: 400;text-align: center;">到访次数</view> | |||||
</view> | |||||
<view class="rateyuanboxyou"> | |||||
<view class="boxzuoview" style="width: 100%;display: flex;justify-content: center;"> | |||||
<u-circle-progress active-color="#4FC78F" width='139' :percent="customerInfo.wordFraction||0"> | |||||
<view style="text-align: center;color: #4FC78F;">{{customerInfo.wordFraction||0}}%</view> | |||||
</u-circle-progress> | |||||
</view> | |||||
<view style="color: #333333;font-size: 28rpx;font-weight: 400;text-align: center;">需求挖掘执行率</view> | |||||
</view> | |||||
<view class="rateyuanboxzuo"> | |||||
<view class="boxzuoview cccccc">{{customerInfo.mm}}min</view> | |||||
<view style="color: #333333;font-size: 28rpx;font-weight: 400;text-align: center;">接待时长</view> | |||||
</view> | |||||
</view> | |||||
<view | |||||
style="width: 100%;height: 80rpx;border-bottom: 1rpx solid #E0E0E0;display: flex;align-items: center;"> | |||||
</view> | |||||
<!-- 需求挖掘执行率 --> | |||||
<view class="xuqiu" v-if="activeTotal==3"> | |||||
<view style="width: 100%;height: 80rpx;border-bottom: 1rpx solid #E0E0E0;display: flex;align-items: center;background: #fff;"> | |||||
<view style="flex: 1;font-size: 28rpx;color: #333333;font-weight: 600;text-indent: 20rpx;">指标</view> | <view style="flex: 1;font-size: 28rpx;color: #333333;font-weight: 600;text-indent: 20rpx;">指标</view> | ||||
<view style="flex: 1;font-size: 28rpx;color: #333333;font-weight: 600;text-indent: 170rpx;">执行率 | <view style="flex: 1;font-size: 28rpx;color: #333333;font-weight: 600;text-indent: 170rpx;">执行率 | ||||
</view> | </view> | ||||
@@ -280,7 +229,7 @@ | |||||
<view style="text-align: center;width: 100%;margin-top: 20rpx;color: #999999;">暂无数据</view> | <view style="text-align: center;width: 100%;margin-top: 20rpx;color: #999999;">暂无数据</view> | ||||
</view> | </view> | ||||
</view> | </view> | ||||
<!-- 挖掘执行话术展示 --> | |||||
<!-- 挖掘执行话术展示 --> | |||||
<view class="Level-box" v-else v-for="(item,index) in KeyWordsfractionList" :key="index"> | <view class="Level-box" v-else v-for="(item,index) in KeyWordsfractionList" :key="index"> | ||||
<view class="Level1che" @click="changeshowlevel1(item,1)"> | <view class="Level1che" @click="changeshowlevel1(item,1)"> | ||||
<view class="title1">{{item.name}}</view> | <view class="title1">{{item.name}}</view> | ||||
@@ -343,7 +292,6 @@ | |||||
</view> | </view> | ||||
</view> | </view> | ||||
</view> | </view> | ||||
</view> | |||||
</view> | </view> | ||||
</view> | </view> | ||||
@@ -356,7 +304,7 @@ | |||||
<u-popup v-model="tipshow" mode="center" mask-close-able width="560rpx" border-radius="14"> | <u-popup v-model="tipshow" mode="center" mask-close-able width="560rpx" border-radius="14"> | ||||
<scroll-view scroll-y="true" style="height: 440rpx;"> | <scroll-view scroll-y="true" style="height: 440rpx;"> | ||||
<view style="display: flex; flex-wrap: wrap; padding:20rpx;"> | <view style="display: flex; flex-wrap: wrap; padding:20rpx;"> | ||||
<view class="upon-sec-tips" v-for="(item,index) in customerInfo.demand.cusSemanticWords" | |||||
<view class="upon-sec-tips" v-for="(item,index) in customerInfo.demand.cusSemanticWordsList" | |||||
:key="index"> | :key="index"> | ||||
{{item.name}} | {{item.name}} | ||||
</view> | </view> | ||||
@@ -1189,11 +1137,10 @@ | |||||
.content-last { | .content-last { | ||||
padding: 30rpx; | padding: 30rpx; | ||||
height: 168rpx; | |||||
.content-last-con { | .content-last-con { | ||||
width: 690rpx; | width: 690rpx; | ||||
height: 108rpx; | |||||
min-height: 108rpx; | |||||
background: #F8F8F8; | background: #F8F8F8; | ||||
border-radius: 8rpx; | border-radius: 8rpx; | ||||
padding: 14rpx 20rpx; | padding: 14rpx 20rpx; | ||||
@@ -1208,7 +1155,6 @@ | |||||
} | } | ||||
.tabchange { | .tabchange { | ||||
// background: #FFFFFF; | |||||
overflow: hidden; | overflow: hidden; | ||||
.tabactive1 { | .tabactive1 { | ||||
@@ -126,18 +126,12 @@ | |||||
}}</text></view | }}</text></view | ||||
> | > | ||||
</view> | </view> | ||||
<!-- <view class="content-sec-lab" style="line-height: 46rpx;"> | |||||
客户标签: | |||||
<text v-if="item.demand.cusSemanticWordsList==null">暂无</text> | |||||
<view v-else class="content-sec-tips" v-for="(che,ind) in item.demand.cusSemanticWordsList" | |||||
:key='ind'>{{che.name}}</view> | |||||
</view> --> | |||||
<view class="content-sec-lab"> | <view class="content-sec-lab"> | ||||
<view class="content-sec-lab1" | <view class="content-sec-lab1" | ||||
>所属顾问:{{ item.agentName || "--" }}</view | >所属顾问:{{ item.agentName || "--" }}</view | ||||
> | > | ||||
<view class="content-sec-lab1" style="width: 44%" | <view class="content-sec-lab1" style="width: 44%" | ||||
>客户阶段:{{ item.agentName || "--" }}</view | |||||
>客户阶段:{{ item.stageName || "--" }}</view | |||||
> | > | ||||
</view> | </view> | ||||
<view class="content-sec-lab"> | <view class="content-sec-lab"> | ||||
@@ -549,15 +543,15 @@ export default { | |||||
data() { | data() { | ||||
return { | return { | ||||
huaxiangShow: false, | huaxiangShow: false, | ||||
wajueArrow: false, | |||||
jieduanArrow: false, | |||||
sourceArrow: false, | |||||
levelArrow: false, | |||||
wajueArrow: true, | |||||
jieduanArrow: true, | |||||
sourceArrow: true, | |||||
levelArrow: true, | |||||
zixunArrow: true, | zixunArrow: true, | ||||
jiedaiArrow: false, | |||||
luyinArrow: false, | |||||
visitArrow: false, | |||||
xiaojiangArrow: false, | |||||
jiedaiArrow: true, | |||||
luyinArrow: true, | |||||
visitArrow: true, | |||||
xiaojiangArrow: true, | |||||
huaxiangList: [], | huaxiangList: [], | ||||
orderBylist: [ | orderBylist: [ | ||||
{ | { | ||||
@@ -869,7 +863,7 @@ export default { | |||||
this.sortFilter = "排序"; | this.sortFilter = "排序"; | ||||
this.receptionDuration = "所属顾问"; | this.receptionDuration = "所属顾问"; | ||||
this.arriveFilter = "到访时间"; | this.arriveFilter = "到访时间"; | ||||
this.screen.orderBy = null; | |||||
this.screen.orderBy = ''; | |||||
this.screen.staTime = ""; | this.screen.staTime = ""; | ||||
this.screen.endTime = ""; | this.screen.endTime = ""; | ||||
this.nextPage = 1; | this.nextPage = 1; | ||||
@@ -882,7 +876,7 @@ export default { | |||||
//选择标签 | //选择标签 | ||||
selectCallback2(e) { | selectCallback2(e) { | ||||
this.sortFilter = e[0].label; | this.sortFilter = e[0].label; | ||||
this.orderBy = e[0].value; | |||||
this.screen.orderBy = e[0].value; | |||||
this.nextPage = 1; | this.nextPage = 1; | ||||
this.recordList = []; | this.recordList = []; | ||||
this.isRefresh = false; | this.isRefresh = false; | ||||
@@ -952,6 +946,14 @@ export default { | |||||
}); | }); | ||||
}, | }, | ||||
getMyCustom() { | getMyCustom() { | ||||
this.screen.visitRecord = [] | |||||
this.screen.jiedaiVal = [] | |||||
this.screen.wajueVal = [] | |||||
this.screen.xiaojiangVal = [] | |||||
this.screen.level = [] | |||||
this.screen.clientStage = [] | |||||
this.screen.sourceIds = [] | |||||
let keywordsIds = [] | |||||
let dateType = 0; | let dateType = 0; | ||||
if (this.activeTotal == 5||this.activeTotal == 4) { | if (this.activeTotal == 5||this.activeTotal == 4) { | ||||
dateType = null; | dateType = null; | ||||
@@ -986,7 +988,7 @@ export default { | |||||
this.sourceList.forEach(i => { | this.sourceList.forEach(i => { | ||||
if(i.isShow) this.screen.sourceIds.push(i.value) | if(i.isShow) this.screen.sourceIds.push(i.value) | ||||
}) | }) | ||||
let keywordsIds = [] | |||||
this.huaxiangList.forEach(item => { | this.huaxiangList.forEach(item => { | ||||
if(item.children.length){ | if(item.children.length){ | ||||
item.children.forEach(im=>{ | item.children.forEach(im=>{ | ||||
@@ -999,19 +1001,19 @@ export default { | |||||
pageSize: 10, | pageSize: 10, | ||||
query: { | query: { | ||||
projectId: this.buildingID, | projectId: this.buildingID, | ||||
fractions: this.screen.xiaojiangVal.join(','),// 销讲执行率 | |||||
wordFractions: this.screen.wajueVal.join(','),//需求挖掘 | |||||
visitRecordNum: this.screen.visitRecord.join(','),//到访次数 | |||||
clientStages: this.screen.clientStage.join(','), // 客户阶段 | |||||
sourceIds: this.screen.sourceIds.join(','),// 客户来源 | |||||
level: this.screen.level.join(','),// 客户等级 | |||||
duractionNums: this.screen.jiedaiVal.join(','),// 接待时长 | |||||
fractions: this.screen.xiaojiangVal.length?this.screen.xiaojiangVal.join(','):'',// 销讲执行率 | |||||
wordFractions: this.screen.wajueVal.length?this.screen.wajueVal.join(','):'',//需求挖掘 | |||||
visitRecordNum: this.screen.visitRecord.length?this.screen.visitRecord.join(','):'',//到访次数 | |||||
clientStages: this.screen.clientStage.length?this.screen.clientStage.join(','):'', // 客户阶段 | |||||
sourceIds: this.screen.sourceIds.length?this.screen.sourceIds.join(','):'',// 客户来源 | |||||
level: this.screen.level.length?this.screen.level.join(','):'',// 客户等级 | |||||
duractionNums: this.screen.jiedaiVal.length?this.screen.jiedaiVal.join(','):'',// 接待时长 | |||||
keywordsIds: keywordsIds.length?keywordsIds.join(','):'',// 画像标签 | keywordsIds: keywordsIds.length?keywordsIds.join(','):'',// 画像标签 | ||||
dateType: dateType, // 接待时间 | dateType: dateType, // 接待时间 | ||||
staTime: this.screen.staTime, | staTime: this.screen.staTime, | ||||
endTime: this.screen.endTime, | endTime: this.screen.endTime, | ||||
agentId: this.screen.agentId,// 顾问 | agentId: this.screen.agentId,// 顾问 | ||||
orderBy: this.screen.orderBy==0?null: this.screen.orderBy,// 排序 | |||||
orderBy: this.screen.orderBy==''?'': this.screen.orderBy,// 排序 | |||||
}, | }, | ||||
}; | }; | ||||
this.userInfo = uni.getStorageSync("weapp_session_userInfo_data"); | this.userInfo = uni.getStorageSync("weapp_session_userInfo_data"); | ||||
@@ -1062,7 +1064,7 @@ export default { | |||||
// console.log(res) | // console.log(res) | ||||
if(res.length){ | if(res.length){ | ||||
res.forEach(item=>{ | res.forEach(item=>{ | ||||
item.isShow = false; | |||||
item.isShow = true; | |||||
if(item.children.length){ | if(item.children.length){ | ||||
item.children.forEach(subitem=>{ | item.children.forEach(subitem=>{ | ||||
subitem.isShow = false; | subitem.isShow = false; | ||||
@@ -1165,7 +1167,7 @@ export default { | |||||
resetHuaXiang(){ | resetHuaXiang(){ | ||||
if(this.huaxiangList.length){ | if(this.huaxiangList.length){ | ||||
this.huaxiangList.forEach(item=>{ | this.huaxiangList.forEach(item=>{ | ||||
item.isShow = false; | |||||
item.isShow = true; | |||||
if(item.children.length){ | if(item.children.length){ | ||||
item.children.forEach(subitem=>{ | item.children.forEach(subitem=>{ | ||||
subitem.isShow = false; | subitem.isShow = false; | ||||
@@ -82,7 +82,7 @@ | |||||
<view class="text">访问次数</view> | <view class="text">访问次数</view> | ||||
</view> | </view> | ||||
<view class="cont-item"> | <view class="cont-item"> | ||||
<view class="count">{{item.wordFraction||'--'}}</view> | |||||
<view class="count">{{item.demand.cusSemanticWordsList?item.demand.cusSemanticWordsList.length:'--'}}</view> | |||||
<view class="text">画像标签</view> | <view class="text">画像标签</view> | ||||
</view> | </view> | ||||
<view class="cont-item"> | <view class="cont-item"> | ||||
@@ -167,15 +167,15 @@ | |||||
<image v-else class="arrow" src="https://static.quhouse.com/17d69984ec7c4830b43f712016f06807.png" mode="" /> | <image v-else class="arrow" src="https://static.quhouse.com/17d69984ec7c4830b43f712016f06807.png" mode="" /> | ||||
</view> | </view> | ||||
<view class="screen-record-tab" v-if="luyinArrow"> | <view class="screen-record-tab" v-if="luyinArrow"> | ||||
<view class="screen-record-item" :class="[screen.validInvalid==0?'screen-record-chose':'screen-record-nochose']" | |||||
<view class="screen-record-item" :class="[screen.validInvalid===0?'screen-record-chose':'screen-record-nochose']" | |||||
@click="screenvisivalidInvalid(0)"> | @click="screenvisivalidInvalid(0)"> | ||||
有效接待 | 有效接待 | ||||
</view> | </view> | ||||
<view class="screen-record-item" :class="[screen.validInvalid==1?'screen-record-chose':'screen-record-nochose']" | |||||
<view class="screen-record-item" :class="[screen.validInvalid===1?'screen-record-chose':'screen-record-nochose']" | |||||
@click="screenvisivalidInvalid(1)"> | @click="screenvisivalidInvalid(1)"> | ||||
无效接待 | 无效接待 | ||||
</view> | </view> | ||||
<view class="screen-record-item" :class="[screen.validInvalid==2?'screen-record-chose':'screen-record-nochose']" | |||||
<view class="screen-record-item" :class="[screen.validInvalid===2?'screen-record-chose':'screen-record-nochose']" | |||||
@click="screenvisivalidInvalid(2)"> | @click="screenvisivalidInvalid(2)"> | ||||
无录音 | 无录音 | ||||
</view> | </view> | ||||
@@ -192,7 +192,7 @@ | |||||
@click="screenvisitRecord(1)"> | @click="screenvisitRecord(1)"> | ||||
标记 | 标记 | ||||
</view> | </view> | ||||
<view class="screen-record-item" :class="[screen.markAdvisor==0?'screen-record-chose':'screen-record-nochose']" | |||||
<view class="screen-record-item" :class="[screen.markAdvisor===0?'screen-record-chose':'screen-record-nochose']" | |||||
@click="screenvisitRecord(0)"> | @click="screenvisitRecord(0)"> | ||||
未标记 | 未标记 | ||||
</view> | </view> | ||||
@@ -265,13 +265,13 @@ | |||||
}, | }, | ||||
data() { | data() { | ||||
return { | return { | ||||
wajueArrow: false, | |||||
wajueArrow: true, | |||||
zixunArrow: true, | zixunArrow: true, | ||||
jiedaiArrow: false, | |||||
luyinArrow: false, | |||||
visitArrow: false, | |||||
jiedaiArrow: true, | |||||
luyinArrow: true, | |||||
visitArrow: true, | |||||
xiaojiangArrow: true, | xiaojiangArrow: true, | ||||
markArrow: false, | |||||
markArrow: true, | |||||
orderBylist: [{ | orderBylist: [{ | ||||
label: '全部', | label: '全部', | ||||
value: '' | value: '' | ||||
@@ -422,13 +422,13 @@ | |||||
screen: { | screen: { | ||||
orderBy: '',//排序 | orderBy: '',//排序 | ||||
agentId: '', //顾问id | agentId: '', //顾问id | ||||
markAdvisor: null,//标记顾问 | |||||
markAdvisor: '',//标记顾问 | |||||
visitRecord: [],// 到访次数 | visitRecord: [],// 到访次数 | ||||
zixunVal: [],// 咨询业务 | |||||
// zixunVal: [],// 咨询业务 | |||||
wajueVal: [],// 需求挖掘 | wajueVal: [],// 需求挖掘 | ||||
xiaojiangVal:[],//销讲执行率 | xiaojiangVal:[],//销讲执行率 | ||||
jiedaiVal: [],// 接待时长 | jiedaiVal: [],// 接待时长 | ||||
validInvalid: null,// 录音标识 | |||||
validInvalid: ''// 录音标识 | |||||
}, | }, | ||||
freeList: [], //顾问 | freeList: [], //顾问 | ||||
recordList: [], | recordList: [], | ||||
@@ -646,13 +646,13 @@ | |||||
staTime: this.staTime,// 接待时间 | staTime: this.staTime,// 接待时间 | ||||
endTime: this.endTime,// 接待时间 | endTime: this.endTime,// 接待时间 | ||||
agentId: this.screen.agentId, // 顾问ID | agentId: this.screen.agentId, // 顾问ID | ||||
visitRecordNum: this.screen.visitRecord.join(','),//到访次数 | |||||
wordFractions: this.screen.wajueVal.join(','),//挖掘 | |||||
duractionNums: this.screen.jiedaiVal.join(','),//接待时长 | |||||
fractions: this.screen.xiaojiangVal.join(','),//销讲 | |||||
visitRecordNum: this.screen.visitRecord.length?this.screen.visitRecord.join(','):'',//到访次数 | |||||
wordFractions: this.screen.wajueVal.length?this.screen.wajueVal.join(','):'',//挖掘 | |||||
duractionNums: this.screen.jiedaiVal.length?this.screen.jiedaiVal.join(','):'',//接待时长 | |||||
fractions: this.screen.xiaojiangVal.length?this.screen.xiaojiangVal.join(','):'',//销讲 | |||||
markAdvisor: this.screen.markAdvisor,//标记顾问 | markAdvisor: this.screen.markAdvisor,//标记顾问 | ||||
dateType: dateType,//时间类型 | dateType: dateType,//时间类型 | ||||
orderBy: this.orderBy==0?null:this.orderBy,//排序 | |||||
orderBy: this.screen.orderBy==''?'':this.screen.orderBy,//排序 | |||||
validInvalid: this.screen.validInvalid,//录音标识 | validInvalid: this.screen.validInvalid,//录音标识 | ||||
clientStage: this.screen.clientStage,// 客户阶段 | clientStage: this.screen.clientStage,// 客户阶段 | ||||
recording: this.screen.validInvalid == 2 ? 0 : null // 录音 | recording: this.screen.validInvalid == 2 ? 0 : null // 录音 | ||||
@@ -705,8 +705,10 @@ | |||||
reset() { | reset() { | ||||
this.screen.agentId ='' | this.screen.agentId ='' | ||||
this.screen.jiedaiVal ='' | this.screen.jiedaiVal ='' | ||||
this.screen.validInvalid = '' | |||||
this.screen.markAdvisor = '' | |||||
this.screen.orderBy = ''; | |||||
this.sortFilter = '排序'; | this.sortFilter = '排序'; | ||||
this.orderBy = null; | |||||
this.arriveFilter = '到访时间'; | this.arriveFilter = '到访时间'; | ||||
this.staTime = ''; | this.staTime = ''; | ||||
this.endTime = ''; | this.endTime = ''; | ||||
@@ -720,7 +722,10 @@ | |||||
this.jiedaiList.map(i => { | this.jiedaiList.map(i => { | ||||
i.isShow = false | i.isShow = false | ||||
}) | }) | ||||
this.zixunList.map(i => { | |||||
// this.zixunList.map(i => { | |||||
// i.isShow = false | |||||
// }) | |||||
this.wajueList.map(i => { | |||||
i.isShow = false | i.isShow = false | ||||
}) | }) | ||||
this.xiaojiangList.map(i => { | this.xiaojiangList.map(i => { | ||||
@@ -732,40 +737,22 @@ | |||||
}, | }, | ||||
//标记顾问 | //标记顾问 | ||||
screenvisitRecord(i) { | screenvisitRecord(i) { | ||||
console.log(i) | |||||
if (this.screen.markAdvisor == i) { | |||||
this.screen.markAdvisor = null | |||||
// console.log(i) | |||||
if (this.screen.markAdvisor === i) { | |||||
this.screen.markAdvisor = '' | |||||
} else { | } else { | ||||
this.screen.markAdvisor = i | this.screen.markAdvisor = i | ||||
} | } | ||||
}, | }, | ||||
// 录音标识 | // 录音标识 | ||||
screenvisivalidInvalid(i) { | screenvisivalidInvalid(i) { | ||||
console.log(this.screen.validInvalid, i) | |||||
if (this.screen.validInvalid == i) { | |||||
this.screen.validInvalid = null | |||||
// console.log(this.screen.validInvalid, i) | |||||
if (this.screen.validInvalid === i) { | |||||
this.screen.validInvalid = '' | |||||
} else { | } else { | ||||
this.screen.validInvalid = i | this.screen.validInvalid = i | ||||
} | } | ||||
}, | }, | ||||
//咨询业务 | |||||
screenzixunClick(i) { | |||||
console.log(this.screen.zixunVal, i) | |||||
if (this.screen.zixunVal == i) { | |||||
this.screen.zixunVal = null | |||||
} else { | |||||
this.screen.zixunVal = i | |||||
} | |||||
}, | |||||
// 需求挖掘选择 | |||||
screenwajueValClick(i) { | |||||
// console.log(this.screen.wajueVal, i) | |||||
if (this.screen.wajueVal == i) { | |||||
this.screen.wajueVal = null | |||||
} else { | |||||
this.screen.wajueVal = i | |||||
} | |||||
}, | |||||
screensure() { | screensure() { | ||||
this.screenShow = false; | this.screenShow = false; | ||||
this.recordList = []; | this.recordList = []; | ||||
@@ -28,7 +28,7 @@ | |||||
<view :id="'dialog'+i" class="fileName">录音文件</view> | <view :id="'dialog'+i" class="fileName">录音文件</view> | ||||
<view class="text" :id="'dialog'+csdFileindex+'text'+item.bg" | <view class="text" :id="'dialog'+csdFileindex+'text'+item.bg" | ||||
:class="{active: Math.floor(item.bg/1000) <= playNow && Math.floor(item.ed/1000) > playNow, isGreen: item.isShow == 0}" | :class="{active: Math.floor(item.bg/1000) <= playNow && Math.floor(item.ed/1000) > playNow, isGreen: item.isShow == 0}" | ||||
v-for="(item,index) in dialog.message" :key="index" :data-speaker="item.speaker" @click.stop> | |||||
v-for="(item,index) in dialog.message" :key="index" :data-speaker="item.speaker"> | |||||
<template v-if="refined"> | <template v-if="refined"> | ||||
<view class="checkbox" :class="{select: item.checked}" @click="cbChange(item)"> | <view class="checkbox" :class="{select: item.checked}" @click="cbChange(item)"> | ||||
<template v-if="item.checked"> | <template v-if="item.checked"> | ||||
@@ -147,30 +147,30 @@ | |||||
<!-- 加入挖掘话术 --> | <!-- 加入挖掘话术 --> | ||||
<view class="zhezhao" v-if="wajueshow" @tap="CancelAdd"></view> | <view class="zhezhao" v-if="wajueshow" @tap="CancelAdd"></view> | ||||
<u-modal v-model="wajueshow" title="新增挖掘话术" :show-cancel-button="true" @cancel="CancelAdd" @confirm="wajueConfirm()"> | |||||
<u-modal width="600rpx" v-model="wajueshow" title="新增挖掘话术" :show-cancel-button="true" @cancel="CancelAdd" @confirm="wajueConfirm()"> | |||||
<view class="tian-view" style="margin-left: 20rpx;"> | <view class="tian-view" style="margin-left: 20rpx;"> | ||||
<viwe class="tian-view-t3"> | |||||
<view class="tian-view-t3"> | |||||
话术分类:<input class="huashu-input" disabled @click="treeshow=true" v-model="wordBiao.wordBiaoqian" type="text" placeholder="请选择" /> | 话术分类:<input class="huashu-input" disabled @click="treeshow=true" v-model="wordBiao.wordBiaoqian" type="text" placeholder="请选择" /> | ||||
</viwe> | |||||
</view> | |||||
</view> | </view> | ||||
<view class="tian-view" style="margin-left: 20rpx;"> | <view class="tian-view" style="margin-left: 20rpx;"> | ||||
<viwe class="tian-view-t2"> | |||||
话术内容:<textarea :auto-height="true" type="text" v-model="thewrongword" class="tian-input" placeholder="请输入" /> | |||||
</viwe> | |||||
<view class="tian-view-t2"> | |||||
话术内容:<u-input :auto-height="true" :height="80" type="textarea" v-model="thewrongword" :border="true" :custom-style="{'width': '320rpx','font-size':'34rpx'}" placeholder="请输入" /> | |||||
</view> | |||||
</view> | </view> | ||||
</u-modal> | </u-modal> | ||||
<!-- 加入常错词 --> | <!-- 加入常错词 --> | ||||
<view class="zhezhao" v-if="isshow2" @tap="Cancelout"></view> | <view class="zhezhao" v-if="isshow2" @tap="Cancelout"></view> | ||||
<u-modal v-model="isshow2" title="添加常错词" :show-cancel-button="true" @cancel="Cancelout" @confirm="$noMultipleClicks(Confirmtheexit)"> | <u-modal v-model="isshow2" title="添加常错词" :show-cancel-button="true" @cancel="Cancelout" @confirm="$noMultipleClicks(Confirmtheexit)"> | ||||
<view class="tian-view"> | <view class="tian-view"> | ||||
<viwe class="tian-view-t2" style="margin-left: 20rpx;"> | |||||
常错词:<textarea :auto-height="true" type="text" v-model="thewrongword" :disabled="isNum" class="tian-input" placeholder="请输入" /> | |||||
</viwe> | |||||
<view class="tian-view-t2" style="margin-left: 20rpx;"> | |||||
常错词:<u-input :auto-height="true" :height="80" type="textarea" v-model="thewrongword" :border="true" :custom-style="{'width': '320rpx','font-size':'34rpx'}" placeholder="请输入" /> | |||||
</view> | |||||
</view> | </view> | ||||
<view class="tian-view"> | <view class="tian-view"> | ||||
<viwe class="tian-view-t3" style="margin-left: 20rpx;">正确词:<input class="huashu-input" v-model="reswrongword" type="text" placeholder="请输入" /></viwe> | |||||
<view class="tian-view-t3" style="margin-left: 20rpx;">正确词:<u-input :auto-height="true" :height="80" type="textarea" v-model="reswrongword" :border="true" :custom-style="{'width': '320rpx','font-size':'34rpx'}" placeholder="请输入" /></view> | |||||
</view> | </view> | ||||
</u-modal> | </u-modal> | ||||
<!-- 加精华 --> | <!-- 加精华 --> | ||||
@@ -753,21 +753,44 @@ | |||||
}, | }, | ||||
// 添加挖掘词 | // 添加挖掘词 | ||||
wajueConfirm(){ | wajueConfirm(){ | ||||
this.$u.post("/corpus/addWordMining", { | |||||
"houseId":this.buildingID,// 楼盘id | |||||
"cusId":this.customerId, //客户id | |||||
"question":this.thewrongword,// 问题 | |||||
"keywordsId":this.wordBiao.wordBiaoqianId,// 标签id | |||||
"level":this.wordBiao.level // 标签等级 | |||||
}) | |||||
.then((res) => { | |||||
console.log(res) | |||||
this.wajueItem.isshow = false | |||||
uni.request({ | |||||
url: config.service.addWordMining, | |||||
method: "post", | |||||
header: { | |||||
'content-type': 'application/json', | |||||
'Access-Token': uni.getStorageSync('weapp_session_login_data').token | |||||
}, | |||||
data: { | |||||
"houseId":this.buildingID,// 楼盘id | |||||
"cusId":this.customerId, //客户id | |||||
"question":this.thewrongword,// 问题 | |||||
"keywordsId":this.wordBiao.wordBiaoqianId,// 标签id | |||||
"level":this.wordBiao.level // 标签等级 | |||||
}, | |||||
success: (res) => { | |||||
// console.log(res) | |||||
if(res.data.code==10000){ | |||||
this.wajueItem.isshow = false | |||||
this.wajueshow = false | |||||
uni.showToast({ | |||||
title: '添加成功', | |||||
duration: 2000 | |||||
}); | |||||
}else{ | |||||
this.wajueshow = true | |||||
this.wajueItem.isshow = false | |||||
uni.showToast({ | |||||
title: '添加失败', | |||||
icon: 'none', | |||||
duration: 2000 | |||||
}); | |||||
} | |||||
} | |||||
}) | }) | ||||
}, | }, | ||||
// 挖掘话术分类树的选择 | // 挖掘话术分类树的选择 | ||||
confirmTree(e){ | confirmTree(e){ | ||||
console.log(e) | |||||
// console.log(e) | |||||
if(e[1].label=='--'){ | if(e[1].label=='--'){ | ||||
this.wordBiao.wordBiaoqian = e[0].label | this.wordBiao.wordBiaoqian = e[0].label | ||||
this.wordBiao.wordBiaoqianId = e[0].value | this.wordBiao.wordBiaoqianId = e[0].value | ||||
@@ -777,11 +800,12 @@ | |||||
this.wordBiao.wordBiaoqianId= e[1].value | this.wordBiao.wordBiaoqianId= e[1].value | ||||
this.wordBiao.level = 2 | this.wordBiao.level = 2 | ||||
} | } | ||||
console.log(this.wordBiao.wordBiaoqian) | |||||
// console.log(this.wordBiao.wordBiaoqian) | |||||
}, | }, | ||||
CancelAdd(){ | CancelAdd(){ | ||||
this.wajueshow = false | this.wajueshow = false | ||||
this.wajueItem.isshow= false | this.wajueItem.isshow= false | ||||
this.wordBiao.wordBiaoqian = '' | |||||
}, | }, | ||||
// 选中取反 | // 选中取反 | ||||
cbChange(item) { | cbChange(item) { | ||||
@@ -2695,27 +2719,16 @@ | |||||
width: 100%; | width: 100%; | ||||
font-size: 34rpx; | font-size: 34rpx; | ||||
display: flex; | display: flex; | ||||
align-items: center; | |||||
color: #333; | color: #333; | ||||
.tian-input { | |||||
width: 384rpx; | |||||
font-size: 34rpx; | |||||
padding: 0 10rpx; | |||||
border: none; | |||||
border-bottom: 1px solid #e0e0e0; | |||||
} | |||||
} | } | ||||
.tian-view-t3 { | .tian-view-t3 { | ||||
width: 100%; | width: 100%; | ||||
display: flex; | display: flex; | ||||
font-size: 34rpx; | font-size: 34rpx; | ||||
align-items: center; | |||||
.huashu-input{ | .huashu-input{ | ||||
width: 384rpx; | |||||
height: 60rpx; | |||||
padding: 0 10rpx; | |||||
padding:0 10rpx; | |||||
font-size: 34rpx; | font-size: 34rpx; | ||||
border-bottom: 1px solid #E0E0E0; | |||||
border-bottom: 1px solid #ccc; | |||||
} | } | ||||
} | } | ||||
} | } | ||||
@@ -2,6 +2,7 @@ | |||||
const baseUrl = 'http://81.70.55.170:9090/autoSR/api';// 最新测试 | const baseUrl = 'http://81.70.55.170:9090/autoSR/api';// 最新测试 | ||||
// const baseUrl = 'http://127.0.0.1:8080/autoSR/api'; // 本地 | // const baseUrl = 'http://127.0.0.1:8080/autoSR/api'; // 本地 | ||||
// const baseUrl = 'http://192.168.31.169:8080/autoSR/api'; // 长龙 | // const baseUrl = 'http://192.168.31.169:8080/autoSR/api'; // 长龙 | ||||
// const baseUrl = 'http://192.168.31.231:8080/autoSR/api'; // 长龙 | |||||
// const baseUrl = 'http://192.168.31.149:9090/api'; // 盛浩 | // const baseUrl = 'http://192.168.31.149:9090/api'; // 盛浩 | ||||
// const baseUrl = 'https://zkgj.quhouse.com/api'; // 质控正式 | // const baseUrl = 'https://zkgj.quhouse.com/api'; // 质控正式 | ||||
// const baseUrl = 'https://hfju.com/api'; // 数智正式 | // const baseUrl = 'https://hfju.com/api'; // 数智正式 | ||||