|
|
@@ -171,7 +171,7 @@ |
|
|
|
<view class="screen"> |
|
|
|
<scroll-view scroll-y="true" style="height: 700rpx;"> |
|
|
|
<!-- 咨询业务 --> |
|
|
|
<view class="screen-record"> |
|
|
|
<!-- <view class="screen-record"> |
|
|
|
<view class="screen-record-text" @click="zixunArrow = !zixunArrow"> |
|
|
|
咨询业务<image |
|
|
|
v-if="zixunArrow" |
|
|
@@ -199,7 +199,7 @@ |
|
|
|
</view> |
|
|
|
</block> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> --> |
|
|
|
<!-- 接待时长 --> |
|
|
|
<view class="screen-record"> |
|
|
|
<view class="screen-record-text" @click="jiedaiArrow = !jiedaiArrow"> |
|
|
@@ -418,26 +418,6 @@ |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</scroll-view> |
|
|
|
<!-- <view class="screen-counselor"> |
|
|
|
<view class="screen-text"> |
|
|
|
客户标签 |
|
|
|
</view> |
|
|
|
<view class="screen-sel" @click="selectTipshow = true"> |
|
|
|
<u-input v-model="screen.cunsumerTips" type="text" placeholder='请选择' class="screen-inp" |
|
|
|
disabled /> |
|
|
|
<image class="screen-sel-img" src="../../../static/images/right.png" mode=""></image> |
|
|
|
</view> |
|
|
|
</view> --> |
|
|
|
<!-- <view class="screen-counselor"> |
|
|
|
<view class="screen-text"> |
|
|
|
客户阶段 |
|
|
|
</view> |
|
|
|
<view class="screen-sel" @click="selectPhaseShow = true"> |
|
|
|
<u-input v-model="screen.clientStageName" type="text" placeholder='请选择' class="screen-inp" |
|
|
|
disabled /> |
|
|
|
<image class="screen-sel-img" src="../../../static/images/right.png" mode=""></image> |
|
|
|
</view> |
|
|
|
</view> --> |
|
|
|
|
|
|
|
<view class="screen-foot"> |
|
|
|
<view class="screen-foot-reset" @click="reset"> 重置 </view> |
|
|
@@ -451,12 +431,6 @@ |
|
|
|
:list="freeList" |
|
|
|
@confirm="actionSelectCallback" |
|
|
|
></u-select> |
|
|
|
<!-- 客户标签 --> |
|
|
|
<!-- <u-select |
|
|
|
v-model="selectTipshow" |
|
|
|
:list="findKeywordsList" |
|
|
|
@confirm="selectCallback" |
|
|
|
></u-select> --> |
|
|
|
<!-- 客户阶段 --> |
|
|
|
<u-select |
|
|
|
v-model="selectPhaseShow" |
|
|
@@ -473,7 +447,7 @@ |
|
|
|
<view |
|
|
|
class="timeview" |
|
|
|
:style="{ color: activeTotal == 5 ? '#2B6EFF' : '#333333' }" |
|
|
|
@click="tabtimetap(5, '到访时间')" |
|
|
|
@click="tabtimetap(5, '接待时间')" |
|
|
|
> |
|
|
|
全部</view |
|
|
|
> |
|
|
@@ -500,8 +474,8 @@ |
|
|
|
> |
|
|
|
<view |
|
|
|
class="timeview" |
|
|
|
:style="{ color: activeTotal == 3 ? '#2B6EFF' : '#333333' }" |
|
|
|
@click="tabtimetap(3, '近30天')" |
|
|
|
:style="{ color: activeTotal == 6 ? '#2B6EFF' : '#333333' }" |
|
|
|
@click="tabtimetap(6, '近30天')" |
|
|
|
> |
|
|
|
近30天</view |
|
|
|
> |
|
|
@@ -513,6 +487,7 @@ |
|
|
|
自定义</view |
|
|
|
> |
|
|
|
</u-popup> |
|
|
|
<!-- 画像标签 --> |
|
|
|
<u-popup v-model="huaxiangShow" mode="top" height="850"> |
|
|
|
<view class="screen"> |
|
|
|
<scroll-view scroll-y="true" style="height: 700rpx;"> |
|
|
@@ -547,7 +522,7 @@ |
|
|
|
</view> |
|
|
|
</scroll-view> |
|
|
|
<view class="screen-foot"> |
|
|
|
<view class="screen-foot-reset" @click="reset"> 重置 </view> |
|
|
|
<view class="screen-foot-reset" @click="resetHuaXiang"> 重置 </view> |
|
|
|
<view class="screen-foot-sure" @click="screensure"> 确定 </view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
@@ -585,10 +560,6 @@ export default { |
|
|
|
xiaojiangArrow: false, |
|
|
|
huaxiangList: [], |
|
|
|
orderBylist: [ |
|
|
|
{ |
|
|
|
label: "全部", |
|
|
|
value: "0", |
|
|
|
}, |
|
|
|
{ |
|
|
|
label: "创建时间倒序", |
|
|
|
value: "1", |
|
|
@@ -606,11 +577,11 @@ export default { |
|
|
|
value: "4", |
|
|
|
}, |
|
|
|
{ |
|
|
|
label: "执行率正序", |
|
|
|
label: "执行率倒序", |
|
|
|
value: "5", |
|
|
|
}, |
|
|
|
{ |
|
|
|
label: "执行率倒序", |
|
|
|
label: "执行率正序", |
|
|
|
value: "6", |
|
|
|
}, |
|
|
|
{ |
|
|
@@ -723,21 +694,24 @@ export default { |
|
|
|
isShow: false, |
|
|
|
}, |
|
|
|
], |
|
|
|
value: "", |
|
|
|
screenShow: false, |
|
|
|
selectshow: false, |
|
|
|
// selectTipshow: false, |
|
|
|
selectPhaseShow: false, |
|
|
|
selectPhaseShow: false,//客户阶段 |
|
|
|
buildingID: "", |
|
|
|
screen: { |
|
|
|
agentId: "", |
|
|
|
agentIdtext: "", |
|
|
|
visitRecord: [], |
|
|
|
record: [], |
|
|
|
// cunsumerTips: "", |
|
|
|
// cunsumerTipsid: "", |
|
|
|
clientStage: "", |
|
|
|
clientStageName: "", |
|
|
|
staTime: "", |
|
|
|
endTime: "", |
|
|
|
orderBy: "",// 排序 |
|
|
|
agentId: "",//顾问 |
|
|
|
sourceIds: [],// 客户来源 |
|
|
|
level: [],// 客户等级 |
|
|
|
visitRecord: [],// 到访次数 |
|
|
|
// zixunVal: [],// 咨询业务 |
|
|
|
wajueVal: [],// 需求挖掘 |
|
|
|
xiaojiangVal:[],//销讲执行率 |
|
|
|
jiedaiVal: [],// 接待时长 |
|
|
|
validInvalid: null,// 录音标识 |
|
|
|
clientStage: [],// 客户阶段 clientStage |
|
|
|
}, |
|
|
|
stageList: [ |
|
|
|
{ |
|
|
@@ -765,24 +739,18 @@ export default { |
|
|
|
value: 5, |
|
|
|
isShow: false, |
|
|
|
}, |
|
|
|
], |
|
|
|
],//客户阶段 |
|
|
|
recordList: [], |
|
|
|
nextPage: 1, |
|
|
|
totalRecord: "", |
|
|
|
freeList: [], |
|
|
|
userInfo: {}, |
|
|
|
findKeywordsList: [], |
|
|
|
phaseList: [], |
|
|
|
phaseList: [],//客户阶段 |
|
|
|
isnorefresh: "", |
|
|
|
activeTotal: 5, |
|
|
|
activeTotal2: 0, |
|
|
|
totalTimeShow: false, |
|
|
|
timeshow: false, |
|
|
|
timetushow: false, |
|
|
|
soltishow: false, |
|
|
|
staTime: "", |
|
|
|
endtime: "", |
|
|
|
orderBy: "", |
|
|
|
totalRecords: "", |
|
|
|
visitList: [ |
|
|
|
{ |
|
|
@@ -848,7 +816,6 @@ export default { |
|
|
|
this.isRefresh = false; |
|
|
|
this.getMyCustom(); |
|
|
|
this.getFreeList(); |
|
|
|
// this.getfindKeywordsList(); |
|
|
|
this.getWordMiningList(); |
|
|
|
this.getCustomPhase(); |
|
|
|
this.getFromSource(); |
|
|
@@ -881,34 +848,33 @@ export default { |
|
|
|
|
|
|
|
methods: { |
|
|
|
// 获取客户来源 |
|
|
|
getFromSource() { |
|
|
|
this.$u.get(config.service.sourceList, { |
|
|
|
houseId: this.buildingID |
|
|
|
}) |
|
|
|
.then((res) => { |
|
|
|
console.log(res) |
|
|
|
if(res.length){ |
|
|
|
res.forEach((item) => { |
|
|
|
item.label = item.sourceName |
|
|
|
item.value = item.id |
|
|
|
item.isShow = false |
|
|
|
}) |
|
|
|
} |
|
|
|
this.sourceList = res |
|
|
|
}) |
|
|
|
}, |
|
|
|
getFromSource() { |
|
|
|
this.$u.get(config.service.sourceList, { |
|
|
|
houseId: this.buildingID |
|
|
|
}) |
|
|
|
.then((res) => { |
|
|
|
console.log(res) |
|
|
|
if(res.length){ |
|
|
|
res.forEach((item) => { |
|
|
|
item.label = item.sourceName |
|
|
|
item.value = item.id |
|
|
|
item.isShow = false |
|
|
|
}) |
|
|
|
} |
|
|
|
this.sourceList = res |
|
|
|
}) |
|
|
|
}, |
|
|
|
// 过滤 |
|
|
|
resetFilter() { |
|
|
|
this.sortFilter = "排序"; |
|
|
|
this.orderBy = null; |
|
|
|
this.receptionDuration = "所属顾问"; |
|
|
|
this.arriveFilter = "到访时间"; |
|
|
|
this.staTime = ""; |
|
|
|
this.endtime = ""; |
|
|
|
this.screen.orderBy = null; |
|
|
|
this.screen.staTime = ""; |
|
|
|
this.screen.endTime = ""; |
|
|
|
this.nextPage = 1; |
|
|
|
this.activeTotal = 5; |
|
|
|
this.recordList = []; |
|
|
|
this.receptionDuration = "所属顾问"; |
|
|
|
this.activeTotal2 = 0; |
|
|
|
}, |
|
|
|
choice(item) { |
|
|
|
item.isShow = !item.isShow; |
|
|
@@ -925,8 +891,6 @@ export default { |
|
|
|
//选择录音时长 |
|
|
|
timetap(index, text) { |
|
|
|
if (text) this.receptionDuration = text; |
|
|
|
this.timetushow = false; |
|
|
|
this.activeTotal2 = index; |
|
|
|
this.nextPage = 1; |
|
|
|
this.recordList = []; |
|
|
|
this.isRefresh = false; |
|
|
@@ -940,8 +904,8 @@ export default { |
|
|
|
this.totalTimeShow = true; |
|
|
|
} else { |
|
|
|
this.activeTotal = index; |
|
|
|
this.staTime = ""; |
|
|
|
this.endtime = ""; |
|
|
|
this.screen.staTime = ""; |
|
|
|
this.screen.endTime = ""; |
|
|
|
this.nextPage = 1; |
|
|
|
this.recordList = []; |
|
|
|
this.isRefresh = false; |
|
|
@@ -950,28 +914,14 @@ export default { |
|
|
|
}, |
|
|
|
//自定义时间 |
|
|
|
totalTimeChange(e) { |
|
|
|
this.staTime = e.startDate; |
|
|
|
this.endtime = e.endDate; |
|
|
|
this.screen.staTime = e.startDate; |
|
|
|
this.screen.endTime = e.endDate; |
|
|
|
this.activeTotal = 4; |
|
|
|
this.nextPage = 1; |
|
|
|
this.recordList = []; |
|
|
|
this.isRefresh = false; |
|
|
|
this.getMyCustom(); |
|
|
|
}, |
|
|
|
recordclick(i) { |
|
|
|
if (this.screen.record == i) { |
|
|
|
this.screen.record = null; |
|
|
|
} else { |
|
|
|
this.screen.record = i; |
|
|
|
} |
|
|
|
}, |
|
|
|
screenvisitRecord(i) { |
|
|
|
if (this.screen.visitRecord == i) { |
|
|
|
this.screen.visitRecord = ""; |
|
|
|
} else { |
|
|
|
this.screen.visitRecord = i; |
|
|
|
} |
|
|
|
}, |
|
|
|
// 字典表接口 |
|
|
|
getListByType() { |
|
|
|
this.$u |
|
|
@@ -1003,67 +953,73 @@ export default { |
|
|
|
}, |
|
|
|
getMyCustom() { |
|
|
|
let dateType = 0; |
|
|
|
let recDurationInterval = 0; |
|
|
|
let orderBy = 0; |
|
|
|
if (this.activeTotal == 5) { |
|
|
|
dateType = null; |
|
|
|
} else if (this.activeTotal == 4) { |
|
|
|
if (this.activeTotal == 5||this.activeTotal == 4) { |
|
|
|
dateType = null; |
|
|
|
} else { |
|
|
|
dateType = this.activeTotal; |
|
|
|
} |
|
|
|
|
|
|
|
if (this.activeTotal2 == 0) { |
|
|
|
recDurationInterval = null; |
|
|
|
} else { |
|
|
|
recDurationInterval = this.activeTotal2; |
|
|
|
} |
|
|
|
|
|
|
|
if (this.orderBy == 0) { |
|
|
|
orderBy = null; |
|
|
|
} else { |
|
|
|
orderBy = this.orderBy; |
|
|
|
} |
|
|
|
|
|
|
|
// 到访次数 |
|
|
|
this.visitList.forEach(i => { |
|
|
|
if(i.isShow) this.screen.visitRecord.push(i.value) |
|
|
|
}) |
|
|
|
// 接待时长 |
|
|
|
this.jiedaiList.forEach(i => { |
|
|
|
if(i.isShow) this.screen.jiedaiVal.push(i.value) |
|
|
|
}) |
|
|
|
// 需求挖掘 |
|
|
|
this.wajueList.forEach(i => { |
|
|
|
if(i.isShow) this.screen.wajueVal.push(i.value) |
|
|
|
}) |
|
|
|
// 销讲执行率 |
|
|
|
this.xiaojiangList.forEach(i => { |
|
|
|
if(i.isShow) this.screen.xiaojiangVal.push(i.value) |
|
|
|
}) |
|
|
|
// 客户等级 |
|
|
|
this.levelList.forEach(i => { |
|
|
|
if(i.isShow) this.screen.level.push(i.value) |
|
|
|
}) |
|
|
|
//客户阶段 |
|
|
|
this.stageList.forEach(i => { |
|
|
|
if(i.isShow) this.screen.clientStage.push(i.value) |
|
|
|
}) |
|
|
|
// 客户来源 |
|
|
|
this.sourceList.forEach(i => { |
|
|
|
if(i.isShow) this.screen.sourceIds.push(i.value) |
|
|
|
}) |
|
|
|
let keywordsIds = [] |
|
|
|
this.huaxiangList.forEach(item => { |
|
|
|
if(item.children.length){ |
|
|
|
item.children.forEach(im=>{ |
|
|
|
if(im.isShow) keywordsIds.push(im.id) |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |
|
|
|
var parames = { |
|
|
|
pageNum: this.nextPage, |
|
|
|
pageSize: 10, |
|
|
|
query: { |
|
|
|
projectId: this.buildingID, |
|
|
|
// keywordsId: this.screen.cunsumerTipsid, |
|
|
|
clientStage: this.screen.clientStage, |
|
|
|
agentId: this.screen.agentId, |
|
|
|
dateType: dateType, |
|
|
|
staTime: this.staTime, |
|
|
|
endtime: this.endtime, |
|
|
|
recDurationInterval: recDurationInterval, |
|
|
|
orderBy: orderBy, |
|
|
|
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(','),// 接待时长 |
|
|
|
keywordsIds: keywordsIds.length?keywordsIds.join(','):'',// 画像标签 |
|
|
|
dateType: dateType, // 接待时间 |
|
|
|
staTime: this.screen.staTime, |
|
|
|
endTime: this.screen.endTime, |
|
|
|
agentId: this.screen.agentId,// 顾问 |
|
|
|
orderBy: this.screen.orderBy==0?null: this.screen.orderBy,// 排序 |
|
|
|
}, |
|
|
|
}; |
|
|
|
if (this.screen.visitRecord.length > 0) { |
|
|
|
parames.query.visitRecords = this.screen.visitRecord.join(","); |
|
|
|
} |
|
|
|
if (this.screen.record.length > 0) { |
|
|
|
parames.query.level = this.screen.record.join(","); |
|
|
|
} |
|
|
|
// if(this.screen.record==0){ |
|
|
|
// parames.query.levels= ["1"] |
|
|
|
// }else if(this.screen.record==1){ |
|
|
|
// parames.query.levels= ["2"] |
|
|
|
// }else if(this.screen.record==2){ |
|
|
|
// parames.query.levels= ["3"] |
|
|
|
// }else if(this.screen.record==3){ |
|
|
|
// parames.query.levels= ["4"] |
|
|
|
// }else{ |
|
|
|
// parames.query.levels='' |
|
|
|
// } |
|
|
|
this.userInfo = uni.getStorageSync("weapp_session_userInfo_data"); |
|
|
|
this.$u |
|
|
|
.post("/customer/customerManagement", parames) |
|
|
|
this.$u.post("/customer/customerManagement", parames) |
|
|
|
.then((data) => { |
|
|
|
this.LOADING = false; |
|
|
|
if (this.staTime && this.endtime) { |
|
|
|
this.arriveFilter = `${this.staTime}-${this.endtime}`; |
|
|
|
if (this.screen.staTime && this.screen.endTime) { |
|
|
|
this.arriveFilter = `${this.screen.staTime}-${this.screen.endTime}`; |
|
|
|
} |
|
|
|
var list = data.results || []; |
|
|
|
list.forEach((item) => { |
|
|
@@ -1132,26 +1088,7 @@ export default { |
|
|
|
}); |
|
|
|
}); |
|
|
|
}, |
|
|
|
//获取客户标签 |
|
|
|
getfindKeywordsList() { |
|
|
|
this.findKeywordsList = []; |
|
|
|
this.$u |
|
|
|
.post("/customer/findKeywords", { |
|
|
|
houseId: this.buildingID, |
|
|
|
}) |
|
|
|
.then((res) => { |
|
|
|
res.forEach((item) => { |
|
|
|
if (item.isInterval == 0) { |
|
|
|
item.label = |
|
|
|
item.name + item.unit + "-" + item.endName + item.unit; |
|
|
|
} else { |
|
|
|
item.label = item.name; |
|
|
|
} |
|
|
|
item.value = item.id; |
|
|
|
}); |
|
|
|
this.findKeywordsList = res; |
|
|
|
}); |
|
|
|
}, |
|
|
|
// 获取客户阶段数据 |
|
|
|
getCustomPhase() { |
|
|
|
this.phaseList = []; |
|
|
|
this.$u |
|
|
@@ -1173,12 +1110,14 @@ export default { |
|
|
|
actionSelectCallback(e) { |
|
|
|
this.screen.agentId = e[0].value; |
|
|
|
this.receptionDuration = e[0].label; |
|
|
|
this.nextPage = 1; |
|
|
|
this.recordList = []; |
|
|
|
this.screenShow = false; |
|
|
|
this.huaxiangShow = false; |
|
|
|
this.isRefresh = false; |
|
|
|
this.getMyCustom(); |
|
|
|
}, |
|
|
|
//选择标签 |
|
|
|
// selectCallback(e) { |
|
|
|
// this.screen.cunsumerTips = e[0].label; |
|
|
|
// this.screen.cunsumerTipsid = e[0].value; |
|
|
|
// }, |
|
|
|
// 客户阶段 |
|
|
|
selectPhase(e) { |
|
|
|
this.screen.clientStageName = e[0].label; |
|
|
|
this.screen.clientStage = e[0].value; |
|
|
@@ -1187,15 +1126,12 @@ export default { |
|
|
|
reset() { |
|
|
|
this.screen = { |
|
|
|
agentId: "", |
|
|
|
agentIdtext: "", |
|
|
|
visitRecord: [], |
|
|
|
record: [], |
|
|
|
cunsumerTips: "", |
|
|
|
cunsumerTipsid: "", |
|
|
|
clientStage: "", |
|
|
|
clientStageName: "", |
|
|
|
}; |
|
|
|
this.zixunList.map((i) => { |
|
|
|
this.sourceList.map((i) => { |
|
|
|
i.isShow = false; |
|
|
|
}); |
|
|
|
this.wajueList.map((i) => { |
|
|
@@ -1218,15 +1154,28 @@ export default { |
|
|
|
}); |
|
|
|
this.nextPage = 1; |
|
|
|
this.recordList = []; |
|
|
|
// this.screenShow = false; |
|
|
|
this.isRefresh = false; |
|
|
|
this.getMyCustom(); |
|
|
|
}, |
|
|
|
//重置画像标签选择 |
|
|
|
resetHuaXiang(){ |
|
|
|
if(this.huaxiangList.length){ |
|
|
|
this.huaxiangList.forEach(item=>{ |
|
|
|
item.isShow = false; |
|
|
|
if(item.children.length){ |
|
|
|
item.children.forEach(subitem=>{ |
|
|
|
subitem.isShow = false; |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
}, |
|
|
|
//筛选确认 |
|
|
|
screensure() { |
|
|
|
this.nextPage = 1; |
|
|
|
this.recordList = []; |
|
|
|
this.screenShow = false; |
|
|
|
this.huaxiangShow = false; |
|
|
|
this.isRefresh = false; |
|
|
|
this.getMyCustom(); |
|
|
|
}, |
|
|
|