Browse Source

调试接待记录与客户管理

newyun
corala 1 year ago
parent
commit
d2d61ab1ff
4 changed files with 57 additions and 90 deletions
  1. +1
    -23
      pages/center/consumer/consumerDetail.vue
  2. +30
    -30
      pages/center/records/index.vue
  3. +1
    -14
      pages/center/records/recordSearch.vue
  4. +25
    -23
      pages/index/consumer/index.vue

+ 1
- 23
pages/center/consumer/consumerDetail.vue View File

@@ -27,14 +27,6 @@
<view class="content-sec-lab">
顾问姓名:<view class="content-sec-lab1">{{customerInfo.agentName||'--'}}</view>
</view>
<view class="content-sec-lab" >
客户标签:
<text v-if="!customerInfo.demand.cusSemanticWordsList">暂无</text>
<view v-else class="content-sec-tips" v-show="ind<=1"
v-for="(che,ind) in customerInfo.demand.cusSemanticWordsList" :key='ind'>{{che.name}}
</view>
<view @click.stop="tipshow=true" v-if="customerInfo.demand.cusSemanticWordsList.length>1" class="content-sec-tips" style="text-decoration: underline;background: #fff">查看全部</view>
</view>
<view class="content-sec-lab">
<view class="u-flex" style="flex:1">
挖掘执行:<view class="content-sec-lab1">{{customerInfo.wordFraction||0}}%</view>
@@ -396,7 +388,7 @@
</template>

<script>
let _this
let _this;
export default {
data() {
return {
@@ -515,17 +507,7 @@
if (res.fraction == null) {
res.fraction = '0';
}
if (res.demand.cusSemanticWordsList != null) {
res.demand.cusSemanticWords = res.demand.cusSemanticWordsList
res.demand.cusSemanticWordsList.forEach(che => {
if (che.isInterval == 0) {
che.name = che.name + che.unit + '-' + che.endName + che.unit;
}
})
res.demand.cusSemanticWordsList = res.demand.cusSemanticWordsList.slice(0, 3)
}

// console.log(res.demand.cusSemanticWords,'关键字')
this.customerInfo = res;
}).catch(e => {
this.LOADING = false
@@ -640,10 +622,6 @@
})
}
},
tipupon() {
// if (!this.customerInfo.demand.cusSemanticWordsList) return
this.tipshow = true
},
changeshow(item, type) {
item.show = !item.show
},


+ 30
- 30
pages/center/records/index.vue View File

@@ -75,7 +75,7 @@
挖掘成功:{{item.wordFinishFraction||0}}%
</view>
<view class="c-items">
<!-- 销讲业务:生鲜 -->
销讲业务:{{item.marketingBusiness||'xxx'}}
</view>
</view>
<view class="content-last">
@@ -399,14 +399,13 @@
orderBy: '', //排序
agentId: '', //顾问id
markAdvisor: '', //标记顾问
validInvalid: '', // 录音标识
visitRecord: [], // 到访次数
wajueVal: [], // 需求挖掘
xiaojiangVal: [], //销讲执行率
jiedaiVal: [], // 接待时长
validInvalid: '', // 录音标识
marketingBusiness: '', // 选中销讲业务id ,
marketingBusiness: [], // 选中销讲业务id
},
freeList: [], //顾问
recordList: [],
buildingID: '',
@@ -607,8 +606,6 @@
uni.hideLoading();
}, 2000);
let newobj = res[0];
console.log(newobj);
// console.log(item);
if (res[0].merge == 0) {
uni.navigateTo({
url: `/pages/mine/details2?customerId=${newobj.customerId}&status=${newobj.status}&stateisshow=2&wordFraction=${this.wordFraction}&wordFinishFraction=${this.wordFinishFraction}`
@@ -639,7 +636,15 @@
} else {
recDurationInterval = this.activeTotal2
}

this.screen.jiedaiVal = []
this.screen.wajueVal = []
this.screen.xiaojiangVal = []
this.screen.visitRecord = []
this.screen.marketingBusiness = []
// 到访次数
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)
@@ -652,6 +657,10 @@
this.xiaojiangList.forEach(i => {
if (i.isShow) this.screen.xiaojiangVal.push(i.value)
})
// 销讲业务
this.templateList.forEach(i => {
if (i.isShow) this.screen.marketingBusiness.push(i.value)
})
var parames = {
pageNum: this.nextPage,
pageSize: 10,
@@ -660,28 +669,22 @@
time: 1,
staDate: this.staTime,
endDate: this.endtime,
visitRecords: this.screen.visitRecord.join(","),
markAdvisor: this.screen.markAdvisor,
dateType: dateType,
recDurationInterval: recDurationInterval,
orderBy: this.screen.orderBy == '' ? '' : this.screen.orderBy, //排序,
validInvalid:this.screen.validInvalid==2?null:this.screen.validInvalid,
wordFractions: this.screen.wajueVal.length ? this.screen.wajueVal.join(',') : '', //挖掘
validInvalid:this.screen.validInvalid==2?null:this.screen.validInvalid,//录音标识
recording:this.screen.validInvalid==2?0:null,
visitRecords: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(',') : '', //销讲
recording:this.screen.validInvalid==2?0:null
fractions: this.screen.xiaojiangVal.length ? this.screen.xiaojiangVal.join(',') : '', //销讲执行
marketingBusiness: this.screen.marketingBusiness.length ? this.screen.marketingBusiness.join(',') : '', //销讲执行
}
};
if (this.screen.agentId) {
parames.query.agentId = this.screen.agentId
}
let ars = []
this.templateList.forEach(item => {
if (item.isShow) {
ars.push(item.id)
}
})
parames.query.marketingBusiness = ars.join(',')
this.$u.post("/customer/findbypage", parames).then(data => {
this.LOADING = false
console.log(data)
@@ -731,10 +734,14 @@
},
reset() {
this.screen.agentId = ''
this.screen.jiedaiVal = ''
this.screen.validInvalid = ''
this.screen.markAdvisor = ''
this.screen.orderBy = '';
this.screen.jiedaiVal = []
this.screen.wajueVal = []
this.screen.xiaojiangVal = []
this.screen.visitRecord = []
this.screen.marketingBusiness = []
this.sortText = '排序';
this.arriveFilter = '接待时间';
this.staTime = '';
@@ -755,6 +762,9 @@
this.xiaojiangList.forEach(i => {
i.isShow = false
})
this.templateList.forEach(i => {
i.isShow = false
})
this.isRefresh = false;
this.getMyCustom();
},
@@ -769,18 +779,8 @@
this.screen.markAdvisor = i
}
},
// 销讲执行率
screenvisifractions(i) {
console.log(this.screen.fractions, i)
if (this.screen.fractions == i) {
this.screen.fractions = null
} else {
this.screen.fractions = i
}
},
// 录音标识
screenvisivalidInvalid(i) {
console.log(this.screen.validInvalid, i)
if (this.screen.validInvalid == i) {
this.screen.validInvalid = null
} else {


+ 1
- 14
pages/center/records/recordSearch.vue View File

@@ -3,12 +3,10 @@
<view style="width: 690rpx;margin: 0 auto;margin-top: 20rpx;">
<u-search @search='searchinfo()' :show-action='false' placeholder="请输入" v-model="keyword"></u-search>
</view>
<!-- <view @click="searchinfo()">搜索</view> -->
<view class="content" style="background: #F8F8F8;">
<view class="content-tips" v-for="(item,index) in recordList" :key='index' @click="tapThevisiting(item)">
<view class="content-first">
<view class="left">
<!-- <view class="img">{{item.agentName.slice(0,1)}}</view> -->
<view class="name">{{item.agentName}}</view>
<view class="status" v-if="item.replaceReception==1">代接待</view>
<view style="margin-left: 6rpx;margin-top: 11rpx;">{{item.receptionStatusName || ''}}</view>
@@ -20,11 +18,10 @@
<text style="color: red;" v-if="item.taboo==1">违禁接待</text>
<text v-if="item.taboo==1"> |</text>
</view>
<!-- <view class="point"></view> -->
<view v-if="item.markAdvisor==0" class="">未标记</view>
<view v-if="item.markAdvisor==1" class="">已标记</view>
</view>
<view class="right" v-else>
<view class="right" v-else>
<view class="">无录音</view>
</view>
</view>
@@ -35,7 +32,6 @@
</view>
<view class="right">
{{item.fraction || '0'}}%
<!-- | {{item.fraction || '0'}}分 -->
</view>
</view>
<view class="content-last">
@@ -222,15 +218,6 @@
.right{
display: flex;
margin-top: 11rpx;
.point{
width: 12rpx;
height: 12rpx;
background: #2B6EFF;
border-radius: 50%;
margin-right: 9rpx;
margin-top: 16rpx;
}
}
}


+ 25
- 23
pages/index/consumer/index.vue View File

@@ -69,8 +69,7 @@
<view class="content-sec-lab">
负责顾问:<view class="content-sec-lab1">{{item.agentName || ''}}</view>
</view>

<view class="content-sec-lab" style="line-height: 46rpx;">
<!-- <view class="content-sec-lab" style="line-height: 46rpx;">
客户意向:
<text v-if="item.demand.cusSemanticWordsList==null">暂无</text>
<template v-else>
@@ -78,7 +77,7 @@
<view class="content-sec-tips" v-if="ind<=3">{{che.name}}</view>
</block>
</template>
</view>
</view> -->
<view class="content-sec-lab">
<view class="u-flex" style="flex:1">
挖掘执行:<view class="content-sec-lab1">{{item.wordFraction||0}}%</view>
@@ -497,7 +496,6 @@
totalRecords: '', // 总条数
freeList: [],
userInfo: {},
findKeywordsList: [],
isnorefresh: '',
activeTotal: 5,
activeTotal2: 0,
@@ -510,7 +508,6 @@
},
list: [], // 客户来源列表
sourceId: '', // 选中的客户来源id
sourceIndex: -1, // 选中项的下标
// 不同等级之间的颜色
colorName: [
'', "A", "B", "C", "D"
@@ -574,7 +571,6 @@
this.resetFilter()
this.reset()
this.getFreeList()
this.getfindKeywordsList()
this.getFromSource();
this.getMyCustom();

@@ -591,10 +587,10 @@
this.recordList = []
this.getMyCustom()
this.getFreeList()
this.getfindKeywordsList()
this.getWordMiningList();
this.getCustomPhase();
this.getFromSource();
this.getMarketingBusiness();
// this.getMarketingBusiness();// 销讲业务
this.isRefresh = false;
this.isnorefresh = 'refresh';
uni.setStorageSync('updatebuildingID', '');
@@ -948,23 +944,29 @@
console.log(this.freeList)
})
},
//获取客户标签
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;
//获取画像标签
getWordMiningList() {
this.huaxiangList = [];
this.$u.get("/corpus/findSelectedWordMiningTemplate", {
houseId: this.buildingID,
selected: 1
})
this.findKeywordsList = res;
})
.then((res) => {
// console.log(res)
if (res.length) {
res.forEach(item => {
item.isShow = true;
if (item.children.length) {
item.children.forEach(subitem => {
subitem.isShow = false;
})
}
})
}
this.huaxiangList = res;
});
},
//选择顾问
actionSelectCallback(e) {
console.log(e)


Loading…
Cancel
Save