Explorar el Código

需求挖掘功能二期

yun
corala hace 1 año
padre
commit
3001765f23
Se han modificado 10 ficheros con 393 adiciones y 242 borrados
  1. +117
    -12
      pages/center/Piabodata/TrendAnalysis.vue
  2. +12
    -117
      pages/center/Piabodata/TrendAnalysisold.vue
  3. +11
    -0
      pages/center/Piabodata/index.vue
  4. +3
    -3
      pages/center/Piabodata/requireminingAnalysis.vue
  5. +27
    -13
      pages/center/consumer/consumerDetail.vue
  6. +4
    -4
      pages/center/consumer/edit.vue
  7. +97
    -21
      pages/center/consumer/index.vue
  8. +10
    -7
      pages/index/index.vue
  9. +44
    -29
      pages/mine/details.vue
  10. +68
    -36
      pages/mine/details2.vue

+ 117
- 12
pages/center/Piabodata/TrendAnalysis.vue Ver fichero

@@ -1,7 +1,25 @@
<template>
<view>
<view class="timetabct">
<view class="timetabctview">
<!-- 选择器 -->
<view class="boxtittab">
<view class="tabbox" @click="timeshow = true">
{{ time }}
<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon>
</view>
<view class="tabbox" @click="timeshow = true">
{{ team }}
<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon>
</view>
<view class="tabbox" @click="selectshow = true">
{{ guwen }}
<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon>
</view>
<view class="tabbox" @click="huashuShow = true">
{{huashu}}<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon>
</view>
</view>
<!--<view class="timetabct">
<view class="timetabctview">
<view :class="{ activecllasscet: activeTotal == 0 }" @click="tabtimetap(0)">7天</view>
</view>
<view class="timetabctview">
@@ -10,7 +28,7 @@
<view class="timetabctview">
<view :class="{ activecllasscet: activeTotal == 2 }" @click="tabtimetap(2)">30天</view>
</view>
</view>
</view> -->

<view class="timepick">
<view class="timepicktime">
@@ -42,6 +60,7 @@
</view>
</view>
<view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view>
<!-- 简报 -->
<view class="boxzonglan" style="min-height: 100rpx;">
<view class="zonglantit">简报</view>
<view class="zonglanbox">
@@ -70,7 +89,7 @@
</view>
<view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view>
<view class="boxtittab" style="border: none;height: 82rpx;">
<view class="tabbox">
<!-- <view class="tabbox">
<view :class="{ activecllasscet2: newactiveTotal == 0 }" @click="tabxuanxiangtap(0)">项目</view>
</view>
<view class="tabbox">
@@ -78,6 +97,15 @@
</view>
<view class="tabbox">
<view :class="{ activecllasscet2: newactiveTotal == 2 }" @click="tabxuanxiangtap(2)">团队</view>
</view> -->
<view class="tabbox">
<view :class="{ activecllasscet2: newactiveTotal == 0 }" @click="tabxuanxiangtap(0)">平均执行率</view>
</view>
<view class="tabbox">
<view :class="{ activecllasscet2: newactiveTotal == 1 }" @click="tabxuanxiangtap(1)">平均挖掘率</view>
</view>
<view class="tabbox">
<view :class="{ activecllasscet2: newactiveTotal == 2 }" @click="tabxuanxiangtap(2)">挖掘场景</view>
</view>
<view class="tabbox">
<view :class="{ activecllasscet2: newactiveTotal == 3 }" @click="tabxuanxiangtap(3)">销讲一级</view>
@@ -89,13 +117,13 @@


<view class="chart">
<view
<!-- <view
style="display: flex;justify-content:center;padding-left: 30rpx;padding-right: 30rpx;margin-top: 16rpx;"
v-if="guwenshow&&lopanobj.name" @click="oninputtap()">
<view class="title2-che" style="width: 220rpx;">{{lopanobj.name}}
<image class="righttochoose" src="../../../static/images/righttochoose.png" mode=""></image>
</view>
</view>
</view> -->

<view style="padding: 30rpx;padding-bottom: 20rpx;align-items: center;" v-if="Selectlevel">
<view style="display: flex;align-items: center;border-bottom: 1px solid #C9C9C9;height: 80rpx;">
@@ -161,7 +189,6 @@
<view style="text-align: center;width: 100%;margin-top: 20rpx;color: #999999;">暂无数据</view>
</view>
</view>

</view>

<view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view>
@@ -222,7 +249,32 @@
<newcalendar v-model="totalTimeShow2" :planNum='intervaltime' mode="date" @change="totalTimeChange2">
</newcalendar>
<!-- 接待时间 -到访时间-->
<u-popup v-model="timeshow" mode="bottom">
<view class="timeview" :style="{ color: activeTotal == 5 ? '#2B6EFF' : '#333333' }"
@click="tabtimetap(5, '接待时间')">
全部</view>
<view class="timeview" :style="{ color: activeTotal == 0 ? '#2B6EFF' : '#333333' }"
@click="tabtimetap(0, '今天')">
今天</view>
<view class="timeview" :style="{ color: activeTotal == 1 ? '#2B6EFF' : '#333333' }"
@click="tabtimetap(1, '昨天')">
昨天</view>
<view class="timeview" :style="{ color: activeTotal == 2 ? '#2B6EFF' : '#333333' }"
@click="tabtimetap(2, '近7天')">
近7天</view>
<view class="timeview" :style="{ color: activeTotal == 3 ? '#2B6EFF' : '#333333' }"
@click="tabtimetap(3, '近30天')">
近30天</view>
<view class="timeview" :style="{ color: activeTotal == 4 ? '#2B6EFF' : '#333333' }"
@click="tabtimetap(4, '')">
自定义</view>
</u-popup>
<!-- 顾问 -->
<u-select v-model="selectshow" :list="freeList" @confirm="actionSelectCallback"></u-select>
<!-- 全部话术 -->
<u-select v-model="huashushow" :list="huashuList" @confirm="actionSelectCallback1"></u-select>

<!-- 加载组件 -->
<loading v-model="LOADING"></loading>
</view>
@@ -238,6 +290,13 @@
},
data() {
return {
time: '接待时间',
team: '部门',
guwen: '顾问',
huashu: '全部话术',
huashuList: false,
huashuShow: false,
freeList: [], //顾问
selindexList: [0], // 默认选中第一项
selindexList4: [0], // 默认选中第一项
compareFlag: false,
@@ -259,6 +318,12 @@
num1: '0',
num2: '0'
},
{
name: '有效接待',
num: '10',
num1: '0',
num2: '0'
},
],
activeTotal: 0, //时间下标
newactiveTotal: 0, //tab下标
@@ -320,7 +385,6 @@
},
Showhiddenunits4: false,
showCanvas: true,

timepickpickisshow: false,
sheartime1: "",
sheartime2: "",
@@ -335,6 +399,7 @@
this.LOADING = true
this.pamect.houseId = uni.getStorageSync('buildingID').id;
this.init()
this.getFreeList()
if (option.type == 1) {
this.timepickpickisshow = true
@@ -380,6 +445,31 @@
},
},
methods: {
// 顾问
actionSelectCallback(e) {
// this.screen.agentId = e[0].value;
// this.counselorName = e[0].label;
},
// 话术
actionSelectCallback1(e) {
// this.screen.agentId = e[0].value;
// this.counselorName = e[0].label;
},
//获取顾问列表
getFreeList() {
this.$u.post("/cusLvStatistics/selectAllAccountIdByHouseId", {
houseId: this.pamect.houseId
}).then(res => {
this.freeList = res;
this.huashuList = res;
if(this.freeList.length){
this.freeList.forEach(item => {
item.label = item.name;
item.value = item.accountId
})
}
})
},
// 时间格式转换
fomatDate(date) {
if (!date) return '--'
@@ -602,6 +692,18 @@
this.guwenshow = false;
this.Selectlevel = false;
this.Selecttuandui = false;
// this.tableDate = []
// this.pamect.showStatus = 0;
// this.pamect.timeType = "4";
// this.pamect.firstStartDate = '';
// this.pamect.firstEndDate = '';
// this.pamect.lastStartDate = '';
// this.pamect.lastEndDate = '';
// this.pamect.accountId = '';
// this.pamect.marketingId = '';
// this.pamect.deptId = ""
// this.activeTotal = 0;
this.timepickpickisshow = false;
this.init()

if (index == 1) {
@@ -758,7 +860,6 @@
arr[1].push(data.thirdList[index].total)
})
that.tableDate = arr

console.log(this.lineOptsect, 'console.log(this.lineOptsect)')
}

@@ -1048,7 +1149,7 @@
this.Selecttuanduiobj.id = "";
this.Selecttuanduiobj.name = "全部";
this.pamect.deptId = this.Selecttuanduiobj.id;
this.TeamCompared()
// this.TeamCompared()
}
})
},
@@ -1432,8 +1533,12 @@
border-right: none;
border-bottom: none;
}
.grid:nth-child(2) {
border-bottom: none;
}

.grid:nth-child(3) {
width: 50.5%;
width: 50%;
border-right: none;
}
</style>

pages/center/Piabodata/TrendAnalysis1.vue → pages/center/Piabodata/TrendAnalysisold.vue Ver fichero

@@ -1,25 +1,7 @@
<template>
<view>
<!-- 选择器 -->
<view class="boxtittab">
<view class="tabbox" @click="timeshow = true">
{{ time }}
<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon>
</view>
<view class="tabbox" @click="timeshow = true">
{{ team }}
<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon>
</view>
<view class="tabbox" @click="selectshow = true">
{{ guwen }}
<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon>
</view>
<view class="tabbox" @click="huashuShow = true">
{{huashu}}<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon>
</view>
</view>
<!--<view class="timetabct">
<view class="timetabctview">
<view class="timetabct">
<view class="timetabctview">
<view :class="{ activecllasscet: activeTotal == 0 }" @click="tabtimetap(0)">7天</view>
</view>
<view class="timetabctview">
@@ -28,7 +10,7 @@
<view class="timetabctview">
<view :class="{ activecllasscet: activeTotal == 2 }" @click="tabtimetap(2)">30天</view>
</view>
</view> -->
</view>

<view class="timepick">
<view class="timepicktime">
@@ -60,7 +42,6 @@
</view>
</view>
<view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view>
<!-- 简报 -->
<view class="boxzonglan" style="min-height: 100rpx;">
<view class="zonglantit">简报</view>
<view class="zonglanbox">
@@ -89,7 +70,7 @@
</view>
<view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view>
<view class="boxtittab" style="border: none;height: 82rpx;">
<!-- <view class="tabbox">
<view class="tabbox">
<view :class="{ activecllasscet2: newactiveTotal == 0 }" @click="tabxuanxiangtap(0)">项目</view>
</view>
<view class="tabbox">
@@ -97,15 +78,6 @@
</view>
<view class="tabbox">
<view :class="{ activecllasscet2: newactiveTotal == 2 }" @click="tabxuanxiangtap(2)">团队</view>
</view> -->
<view class="tabbox">
<view :class="{ activecllasscet2: newactiveTotal == 0 }" @click="tabxuanxiangtap(0)">平均执行率</view>
</view>
<view class="tabbox">
<view :class="{ activecllasscet2: newactiveTotal == 1 }" @click="tabxuanxiangtap(1)">平均挖掘率</view>
</view>
<view class="tabbox">
<view :class="{ activecllasscet2: newactiveTotal == 2 }" @click="tabxuanxiangtap(2)">挖掘场景</view>
</view>
<view class="tabbox">
<view :class="{ activecllasscet2: newactiveTotal == 3 }" @click="tabxuanxiangtap(3)">销讲一级</view>
@@ -117,13 +89,13 @@


<view class="chart">
<!-- <view
<view
style="display: flex;justify-content:center;padding-left: 30rpx;padding-right: 30rpx;margin-top: 16rpx;"
v-if="guwenshow&&lopanobj.name" @click="oninputtap()">
<view class="title2-che" style="width: 220rpx;">{{lopanobj.name}}
<image class="righttochoose" src="../../../static/images/righttochoose.png" mode=""></image>
</view>
</view> -->
</view>

<view style="padding: 30rpx;padding-bottom: 20rpx;align-items: center;" v-if="Selectlevel">
<view style="display: flex;align-items: center;border-bottom: 1px solid #C9C9C9;height: 80rpx;">
@@ -189,6 +161,7 @@
<view style="text-align: center;width: 100%;margin-top: 20rpx;color: #999999;">暂无数据</view>
</view>
</view>

</view>

<view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view>
@@ -249,32 +222,7 @@
<newcalendar v-model="totalTimeShow2" :planNum='intervaltime' mode="date" @change="totalTimeChange2">
</newcalendar>
<!-- 接待时间 -到访时间-->
<u-popup v-model="timeshow" mode="bottom">
<view class="timeview" :style="{ color: activeTotal == 5 ? '#2B6EFF' : '#333333' }"
@click="tabtimetap(5, '接待时间')">
全部</view>
<view class="timeview" :style="{ color: activeTotal == 0 ? '#2B6EFF' : '#333333' }"
@click="tabtimetap(0, '今天')">
今天</view>
<view class="timeview" :style="{ color: activeTotal == 1 ? '#2B6EFF' : '#333333' }"
@click="tabtimetap(1, '昨天')">
昨天</view>
<view class="timeview" :style="{ color: activeTotal == 2 ? '#2B6EFF' : '#333333' }"
@click="tabtimetap(2, '近7天')">
近7天</view>
<view class="timeview" :style="{ color: activeTotal == 3 ? '#2B6EFF' : '#333333' }"
@click="tabtimetap(3, '近30天')">
近30天</view>
<view class="timeview" :style="{ color: activeTotal == 4 ? '#2B6EFF' : '#333333' }"
@click="tabtimetap(4, '')">
自定义</view>
</u-popup>
<!-- 顾问 -->
<u-select v-model="selectshow" :list="freeList" @confirm="actionSelectCallback"></u-select>
<!-- 全部话术 -->
<u-select v-model="huashushow" :list="huashuList" @confirm="actionSelectCallback1"></u-select>

<!-- 加载组件 -->
<loading v-model="LOADING"></loading>
</view>
@@ -290,13 +238,6 @@
},
data() {
return {
time: '接待时间',
team: '部门',
guwen: '顾问',
huashu: '全部话术',
huashuList: false,
huashuShow: false,
freeList: [], //顾问
selindexList: [0], // 默认选中第一项
selindexList4: [0], // 默认选中第一项
compareFlag: false,
@@ -318,12 +259,6 @@
num1: '0',
num2: '0'
},
{
name: '有效接待',
num: '10',
num1: '0',
num2: '0'
},
],
activeTotal: 0, //时间下标
newactiveTotal: 0, //tab下标
@@ -385,6 +320,7 @@
},
Showhiddenunits4: false,
showCanvas: true,

timepickpickisshow: false,
sheartime1: "",
sheartime2: "",
@@ -399,7 +335,6 @@
this.LOADING = true
this.pamect.houseId = uni.getStorageSync('buildingID').id;
this.init()
this.getFreeList()
if (option.type == 1) {
this.timepickpickisshow = true
@@ -445,31 +380,6 @@
},
},
methods: {
// 顾问
actionSelectCallback(e) {
// this.screen.agentId = e[0].value;
// this.counselorName = e[0].label;
},
// 话术
actionSelectCallback1(e) {
// this.screen.agentId = e[0].value;
// this.counselorName = e[0].label;
},
//获取顾问列表
getFreeList() {
this.$u.post("/cusLvStatistics/selectAllAccountIdByHouseId", {
houseId: this.pamect.houseId
}).then(res => {
this.freeList = res;
this.huashuList = res;
if(this.freeList.length){
this.freeList.forEach(item => {
item.label = item.name;
item.value = item.accountId
})
}
})
},
// 时间格式转换
fomatDate(date) {
if (!date) return '--'
@@ -692,18 +602,6 @@
this.guwenshow = false;
this.Selectlevel = false;
this.Selecttuandui = false;
// this.tableDate = []
// this.pamect.showStatus = 0;
// this.pamect.timeType = "4";
// this.pamect.firstStartDate = '';
// this.pamect.firstEndDate = '';
// this.pamect.lastStartDate = '';
// this.pamect.lastEndDate = '';
// this.pamect.accountId = '';
// this.pamect.marketingId = '';
// this.pamect.deptId = ""
// this.activeTotal = 0;
this.timepickpickisshow = false;
this.init()

if (index == 1) {
@@ -860,6 +758,7 @@
arr[1].push(data.thirdList[index].total)
})
that.tableDate = arr

console.log(this.lineOptsect, 'console.log(this.lineOptsect)')
}

@@ -1149,7 +1048,7 @@
this.Selecttuanduiobj.id = "";
this.Selecttuanduiobj.name = "全部";
this.pamect.deptId = this.Selecttuanduiobj.id;
// this.TeamCompared()
this.TeamCompared()
}
})
},
@@ -1533,12 +1432,8 @@
border-right: none;
border-bottom: none;
}
.grid:nth-child(2) {
border-bottom: none;
}

.grid:nth-child(3) {
width: 50%;
border-right: none;
width: 50.5%;
}
</style>

+ 11
- 0
pages/center/Piabodata/index.vue Ver fichero

@@ -46,6 +46,12 @@
</view>
<view class="Piabodata-text">集团对比</view>
</view>
<view class="Piabodata" @click="towajue()">
<view class="Piabodata-img">
<image class="Piabodata-img1" src="../../../static/images/qushi.png" mode=""></image>
</view>
<view class="Piabodata-text">需求挖掘分析</view>
</view>

</view>

@@ -398,6 +404,11 @@
}, 1000);
},
methods: {
towajue(){
uni.navigateTo({
url: "/pages/center/Piabodata/requireminingAnalysis"
})
},
queryHaveDept() {
return new Promise((resolve, reject) => {
this.$u.get("/user/queryHaveDept?houseId=" + this.houseId).then(res => {


+ 3
- 3
pages/center/Piabodata/requireminingAnalysis.vue Ver fichero

@@ -232,10 +232,10 @@
lineOptsect: {
"categories": [],
"series": [{
"name": "第一段",
"name": "起始时间",
"data": []
},{
"name": "第二段",
"name": "对比时间",
"data": []
}
]
@@ -517,7 +517,7 @@
.tongjiDesc{
width: 80%;
background: #FFFFFF;
border-radius: 4rpx;
border-radius: 12rpx;
padding: 30rpx;
}
.close{


+ 27
- 13
pages/center/consumer/consumerDetail.vue Ver fichero

@@ -37,10 +37,10 @@
<view class="content-sec-lab1"
>需求挖掘:{{ customerInfo.wordFraction || 0 }}%</view
>
<view class="content-sec-lab1" style="width: 44%"
>画像标签:<text style="font-weight: 600">{{
<view class="content-sec-lab1" @click.stop="tipupon" style="width: 44%"
>画像标签:<text class="look">{{
customerInfo.demand.cusSemanticWordsList.length || 0
}}</text></view
}}</text><text class="look1" >查看</text></view
>
</view>
<view class="content-sec-lab">
@@ -353,9 +353,9 @@
<view class="foot-tab" @click="followRecordAdd()">写跟进</view>
</view>
<!-- closeable -->
<u-popup v-model="tipshow" mode="center" width="500rpx" height="500rpx" closeable>
<u-popup v-model="tipshow" mode="center" mask-close-able width="560rpx" border-radius="14">
<scroll-view scroll-y="true" style="height: 440rpx;">
<view style="margin-top: 60rpx; display: flex; flex-wrap: wrap; padding-left: 20rpx;">
<view style="display: flex; flex-wrap: wrap; padding:20rpx;">
<view class="upon-sec-tips" v-for="(item,index) in customerInfo.demand.cusSemanticWords"
:key="index">
{{item.name}}
@@ -1136,6 +1136,21 @@

.content-sec-lab1 {
color: #333333;
.look{
font-size: 32rpx;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #2671E2;
}
.look1{
height: 42rpx;
font-size: 30rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #2671E2;
line-height: 42rpx;
margin-left: 60rpx;
}
}

.content-sec-tips {
@@ -1418,22 +1433,21 @@
}

.upon-sec-tips {
// max-width:120rpx ;
min-width:96rpx;
height: 46rpx;
background: #F2F2F2;
border-radius: 6rpx;
text-align: center;
line-height: 26rpx;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
line-height: 46rpx;
// overflow: hidden;
// text-overflow: ellipsis;
// white-space: nowrap;
font-size: 26rpx;
font-weight: 400;
color: #333333;
margin-right: 20rpx;
margin-top: 20rpx;
margin: 0 20rpx 20rpx 0;
padding: 0 10rpx;
box-sizing: border-box;
padding: 10rpx 24rpx;
}

.conmsg-msg-lab-img {


+ 4
- 4
pages/center/consumer/edit.vue Ver fichero

@@ -465,20 +465,20 @@
.con-msg-con {
display: flex;
flex-wrap: wrap;
// justify-content: space-around;
border-bottom: 1px solid #E0E0E0;
padding-bottom: 16rpx;

.chebox {
// width: 20%;
height: 60rpx;
line-height: 60rpx;
// margin: 10rpx 0;
margin-bottom: 25rpx;
margin-right: 20rpx;
border: 1px solid #E0E0E0;
box-sizing: border-box;
padding: 0 10rpx;
border-radius: 12rpx;
min-width: 150rpx;
text-align: center
}
}

@@ -486,7 +486,7 @@
width: 120rpx;
height: 60rpx;
background: #FFFFFF;
border-radius: 4rpx;
border-radius: 12rpx;
border: 1px solid #E0E0E0;
text-align: center;
line-height: 60rpx;


+ 97
- 21
pages/center/consumer/index.vue Ver fichero

@@ -260,6 +260,36 @@
</block>
</view>
</view>
<!-- 客户来源 -->
<view class="screen-record">
<view class="screen-record-text" @click="sourceArrow = !sourceArrow">
客户来源<image
v-if="sourceArrow"
class="arrow"
src="https://static.quhouse.com/6cf38a2b82694392a7ab6eea24ce76b1.png"
mode=""
/>
<image
v-else
class="arrow"
src="https://static.quhouse.com/17d69984ec7c4830b43f712016f06807.png"
mode=""
/>
</view>
<view class="screen-record-tab" v-if="sourceArrow">
<block v-for="(item, index) in sourceList" :key="index">
<view
class="screen-record-item"
:class="[
item.isShow ? 'screen-record-chose' : 'screen-record-nochose',
]"
@click="choice(item)"
>
{{ item.label }}
</view>
</block>
</view>
</view>
<!-- 客户阶段 -->
<view class="screen-record">
<view
@@ -422,11 +452,11 @@
@confirm="actionSelectCallback"
></u-select>
<!-- 客户标签 -->
<u-select
<!-- <u-select
v-model="selectTipshow"
:list="findKeywordsList"
@confirm="selectCallback"
></u-select>
></u-select> -->
<!-- 客户阶段 -->
<u-select
v-model="selectPhaseShow"
@@ -486,10 +516,10 @@
<u-popup v-model="huaxiangShow" mode="top" height="850">
<view class="screen">
<scroll-view scroll-y="true" style="height: 700rpx;">
<view class="screen-record">
<view class="screen-record-text" @click="zixunArrow = !zixunArrow">
咨询业务<image
v-if="zixunArrow"
<view class="screen-record" v-if="item.children.length" v-for="(item,index) in huaxiangList" :key="index">
<view class="screen-record-text" @click="choice(item)">
{{item.name}}<image
v-if="item.isShow"
class="arrow"
src="https://static.quhouse.com/6cf38a2b82694392a7ab6eea24ce76b1.png"
mode=""
@@ -501,16 +531,16 @@
mode=""
/>
</view>
<view class="screen-record-tab" v-if="zixunArrow">
<block v-for="(item, index) in zixunList" :key="index">
<view class="screen-record-tab" v-if="item.isShow">
<block v-for="(subitem, ind) in item.children" :key="ind">
<view
class="screen-record-item"
:class="[
item.isShow ? 'screen-record-chose' : 'screen-record-nochose',
subitem.isShow ? 'screen-record-chose' : 'screen-record-nochose',
]"
@click="choice(item)"
@click="choice(subitem)"
>
{{ item.label }}
{{ subitem.name }}
</view>
</block>
</view>
@@ -522,7 +552,7 @@
</view>
</view>
</u-popup>
<!-- 排序 -->
<u-select
v-model="soltishow"
:list="orderBylist"
@@ -536,6 +566,7 @@

<script>
import loading from "@/components/loading/index.vue";
const config = require("@/config");
export default {
components: {
loading,
@@ -545,12 +576,14 @@ export default {
huaxiangShow: false,
wajueArrow: false,
jieduanArrow: false,
sourceArrow: false,
levelArrow: false,
zixunArrow: true,
jiedaiArrow: false,
luyinArrow: false,
visitArrow: false,
xiaojiangArrow: false,
huaxiangList: [],
orderBylist: [
{
label: "全部",
@@ -693,7 +726,7 @@ export default {
value: "",
screenShow: false,
selectshow: false,
selectTipshow: false,
// selectTipshow: false,
selectPhaseShow: false,
buildingID: "",
screen: {
@@ -701,8 +734,8 @@ export default {
agentIdtext: "",
visitRecord: [],
record: [],
cunsumerTips: "",
cunsumerTipsid: "",
// cunsumerTips: "",
// cunsumerTipsid: "",
clientStage: "",
clientStageName: "",
},
@@ -795,6 +828,7 @@ export default {
isShow: false,
},
],
sourceList: [],//客户来源
isRefresh: false,
// 筛选文字展示
sortFilter: "排序",
@@ -814,8 +848,10 @@ export default {
this.isRefresh = false;
this.getMyCustom();
this.getFreeList();
this.getfindKeywordsList();
// this.getfindKeywordsList();
this.getWordMiningList();
this.getCustomPhase();
this.getFromSource();
this.isnorefresh = "";
}
},
@@ -842,7 +878,25 @@ export default {
this.getMyCustom();
}
},
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
})
},
// 过滤
resetFilter() {
this.sortFilter = "排序";
@@ -976,7 +1030,7 @@ export default {
pageSize: 10,
query: {
projectId: this.buildingID,
keywordsId: this.screen.cunsumerTipsid,
// keywordsId: this.screen.cunsumerTipsid,
clientStage: this.screen.clientStage,
agentId: this.screen.agentId,
dateType: dateType,
@@ -1041,6 +1095,28 @@ export default {
this.LOADING = false;
});
},
//获取画像标签
getWordMiningList() {
this.huaxiangList = [];
this.$u.get("/corpus/findSelectedWordMiningTemplate", {
houseId: this.buildingID,
selected: 1
})
.then((res) => {
// console.log(res)
if(res.length){
res.forEach(item=>{
item.isShow = false;
if(item.children.length){
item.children.forEach(subitem=>{
subitem.isShow = false;
})
}
})
}
this.huaxiangList = res;
});
},
//获取顾问列表
getFreeList() {
this.freeList = [];
@@ -1099,10 +1175,10 @@ export default {
this.receptionDuration = e[0].label;
},
//选择标签
selectCallback(e) {
this.screen.cunsumerTips = e[0].label;
this.screen.cunsumerTipsid = e[0].value;
},
// 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;


+ 10
- 7
pages/index/index.vue Ver fichero

@@ -440,12 +440,15 @@

},
success: (res) => {
this.first(res.data.data.id)
this.content = res.data.data.content
this.tit = res.data.data.title
this.aid = res.data.data.accountId
this.id = res.data.data.id
this.isShowUpdate = res.data.data.readFlag == 0 ? true : false;
let data = res.data.data
if(data){
this.first(data.id)
this.content = data.content
this.tit = data.title
this.aid = data.accountId
this.id = data.id
this.isShowUpdate = data.readFlag == 0 ? true : false;
}
}
})
},
@@ -487,7 +490,7 @@
this.$u.get("/user/getMenu").then(data => {
uni.setStorageSync("weapp_session_Menu_data", data)
this.Menulist = uni.getStorageSync('weapp_session_Menu_data');
console.log(this.Menulist, 'adasdasds123')
// console.log(this.Menulist, 'adasdasds123')
})
},
//自定义时间


+ 44
- 29
pages/mine/details.vue Ver fichero

@@ -72,9 +72,9 @@
<view v-if="jiaoseshow" @click="Addtheessence()"
style="width: 80rpx;font-size: 24rpx;text-align: center;margin-left: 22rpx;">加精华
</view>
<view @click="openwajue()"
<!-- <view @click="openwajue()"
style="font-size: 24rpx;text-align: center;margin-left: 22rpx;">挖掘话术
</view>
</view> -->
<view @click="clickbofang(dialog.backindex,item)"
style="width: 80rpx;font-size: 24rpx;text-align: center;margin-left: 14rpx;">播放
</view>
@@ -190,7 +190,7 @@
<u-modal v-model="wajueshow" title="新增挖掘话术" :show-cancel-button="true" @cancel="CancelAdd" @confirm="wajueConfirm(word)">
<view class="tian-view" style="margin-left: 20rpx;">
<viwe class="tian-view-t3">
话术分类:<input class="huashu-input" disabled @click="treeshow=true" v-model="wordBiaoqian" type="text" placeholder="请输入" />
话术分类:<input class="huashu-input" disabled @click="treeshow=true" v-model="wordBiaoqian" type="text" placeholder="请选择" />
</viwe>
</view>
<view class="tian-view" style="margin-left: 20rpx;">
@@ -242,29 +242,8 @@
return {
wajueshow: false,
wordBiaoqian: '',
treelist: [{
value: 1,
label: '中国',
children: [
{
value: 2,
label: '广东'
},
{
value: 5,
label: '广西'
}
]},
{
value: 8,
label: '美国',
children: [
{
value: 9,
label: '纽约',
}
]
}],
wordBiaoqianId: [],
treelist: [],
treeshow: false,
recordPath: "",
customerId: "",
@@ -383,6 +362,7 @@
}
})
this.buildingID = uni.getStorageSync('buildingID').id;
this.getWordMiningList()
this.userInfo = uni.getStorageSync('weapp_session_userInfo_data');
if (this.userInfo.dataCode == 6) {
this.jiaoseshow = false
@@ -424,14 +404,49 @@
}
},
methods: {
//获取画像标签
getWordMiningList() {
this.treelist = [];
this.$u.get("/corpus/findSelectedWordMiningTemplate", {
houseId: this.buildingID,
selected: 0
})
.then((res) => {
// console.log(res)
if(res.length){
res.forEach(item=>{
item.value = item.id;
item.label = item.name;
if(item.children.length){
item.children.forEach(subitem=>{
subitem.value = subitem.id;
subitem.label = subitem.name;
})
}else{
item.children=[{
value: 'default'+ item.id,
label: '--'
}]
}
})
}
this.treelist = res;
});
},
wajueConfirm(){
},
// 挖掘话术分类树的选择
confirm(e){
console.log(e)
this.wordBiaoqian = e[0].label + '-' + e[1].label
// this.wordBiaoqianId[0] = e[0].value
// this.wordBiaoqianId[1] = e[1].value
if(e[1].label=='--'){
this.wordBiaoqian = e[0].label
this.wordBiaoqianId[0] = e[0].value
}else{
this.wordBiaoqian = e[0].label + '-' + e[1].label
this.wordBiaoqianId[0] = e[0].value
this.wordBiaoqianId[1] = e[1].value
}
},
CancelAdd(){
this.wajueshow = false


+ 68
- 36
pages/mine/details2.vue Ver fichero

@@ -62,7 +62,7 @@
<view @click="Oftenthewrongword()"
style="width: 80rpx;font-size: 24rpx;text-align: center;margin-left: 22rpx;">常错词
</view>
<view @click="openwajue()"
<view @click="openwajue(item)"
style="font-size: 24rpx;text-align: center;margin-left: 22rpx;">挖掘话术
</view>
<view v-if="jiaoseshow" @click="Addtheessence()"
@@ -133,10 +133,10 @@

<!-- 加入挖掘话术 -->
<view class="zhezhao" v-if="wajueshow" @tap="CancelAdd"></view>
<u-modal v-model="wajueshow" title="新增挖掘话术" :show-cancel-button="true" @cancel="CancelAdd" @confirm="wajueConfirm(word)">
<u-modal v-model="wajueshow" title="新增挖掘话术" :show-cancel-button="true" @cancel="CancelAdd" @confirm="wajueConfirm()">
<view class="tian-view" style="margin-left: 20rpx;">
<viwe class="tian-view-t3">
话术分类:<input class="huashu-input" disabled @click="treeshow=true" v-model="wordBiaoqian" type="text" placeholder="请输入" />
话术分类:<input class="huashu-input" disabled @click="treeshow=true" v-model="wordBiao.wordBiaoqian" type="text" placeholder="请选择" />
</viwe>
</view>
<view class="tian-view" style="margin-left: 20rpx;">
@@ -484,7 +484,7 @@
</view>

<u-toast ref="uToast" />
<u-select v-model="treeshow" mode="mutil-column-auto" @confirm="confirm" :list="treelist"></u-select>
<u-select v-model="treeshow" mode="mutil-column-auto" @confirm="confirmTree" :list="treelist"></u-select>
<!-- 加载组件 -->
<loading v-model="LOADING"></loading>
@@ -506,30 +506,13 @@

data() {
return {
wordBiaoqian: '',
treelist: [{
value: 1,
label: '中国',
children: [
{
value: 2,
label: '广东'
},
{
value: 5,
label: '广西'
}
]},
{
value: 8,
label: '美国',
children: [
{
value: 9,
label: '纽约',
}
]
}],
wordBiao: {
level: 1,
wordBiaoqian: '',
wordBiaoqianId: ''
},// 添加话术
treelist: [],
huaxiangList: [],
treeshow: false,
KeyWordsfraction: 0,
KeyWordsfractionList: [],
@@ -633,7 +616,7 @@
isPageHide: false, // 是否息屏
duration: '', // 总时长
isBand: false, // 阻止二次提交
eqLog:0
eqLog:0,
};
},
computed: {
@@ -647,7 +630,6 @@
this.LOADING = true
let menu = uni.getStorageSync('weapp_session_Menu_data');
this.eqLog = menu.findIndex(item=>item.name=='设备日志');
this.status = options.status;
this.customerId = options.customerId;
this.KeyWordsfraction = options.wordFraction||0;
@@ -695,6 +677,7 @@
this.intention = false;
this.kehuyixiangcenterindex = 0;
this.buildingID = uni.getStorageSync('buildingID').id;
this.getWordMiningList()
this.userInfo = uni.getStorageSync('weapp_session_userInfo_data');
if (this.userInfo.dataCode == 6 || this.userInfo.dataCode == 3) {
this.methodsisshow = false;
@@ -726,17 +709,66 @@
},

methods: {
//获取画像标签
getWordMiningList() {
this.treelist = [];
this.$u.get("/corpus/findSelectedWordMiningTemplate", {
houseId: this.buildingID,
selected: 0
})
.then((res) => {
// console.log(res)
if(res.length){
res.forEach(item=>{
item.value = item.id;
item.label = item.name;
if(item.children.length){
item.children.forEach(subitem=>{
subitem.value = subitem.id;
subitem.label = subitem.name;
})
}else{
item.children=[{
value: 'default'+ item.id,
label: '--'
}]
}
})
}
this.treelist = res;
});
},
// 添加挖掘词
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
})
},
// 挖掘话术分类树的选择
confirm(e){
confirmTree(e){
console.log(e)
this.wordBiaoqian = e[0].label + '-' + e[1].label
// this.wordBiaoqianId[0] = e[0].value
// this.wordBiaoqianId[1] = e[1].value
if(e[1].label=='--'){
this.wordBiao.wordBiaoqian = e[0].label
this.wordBiao.wordBiaoqianId = e[0].value
this.wordBiao.level = 1
}else{
this.wordBiao.wordBiaoqian = e[0].label + '/' + e[1].label
this.wordBiao.wordBiaoqianId= e[1].value
this.wordBiao.level = 2
}
console.log(this.wordBiao.wordBiaoqian)
},
CancelAdd(){
this.wajueshow = false
this.wajueItem.isshow= false
},
hangeshow2(item,type){
item.show = !item.show;
@@ -1517,8 +1549,8 @@
this.isshow2 = true;
},
//加入挖掘话术
openwajue(word) {
this.wajueword = word;
openwajue(item) {
this.wajueItem = item
this.wajueshow = true;
},
//加精华


Cargando…
Cancelar
Guardar