wangxiaohua 2 年之前
父節點
當前提交
81e560579b
共有 26 個檔案被更改,包括 1967 行新增934 行删除
  1. +3
    -3
      config.js
  2. +29
    -11
      pages.json
  3. +182
    -54
      pages/center/Piabodata/Customerportrait/Receivedetailabout.vue
  4. +4
    -3
      pages/center/Piabodata/Customerportrait/Receivingrecords.vue
  5. +362
    -0
      pages/center/Piabodata/Employeesstatistics.vue
  6. +405
    -375
      pages/center/Piabodata/index.vue
  7. +14
    -21
      pages/center/consumer/consumerDetail.vue
  8. +162
    -8
      pages/center/consumer/index.vue
  9. +160
    -35
      pages/center/records/index.vue
  10. +9
    -3
      pages/center/records/recordSearch.vue
  11. +46
    -54
      pages/index/guide.vue
  12. +50
    -38
      pages/index/index.vue
  13. +3
    -5
      pages/learning/Keywordsearch.vue
  14. +6
    -5
      pages/login/Setthepassword.vue
  15. +15
    -127
      pages/login/Verification.vue
  16. +31
    -11
      pages/login/Verifythelogin.vue
  17. +19
    -113
      pages/login/index.vue
  18. +31
    -10
      pages/login/yinzhongmalogin.vue
  19. +237
    -0
      pages/mine/calibration.vue
  20. +1
    -1
      pages/mine/details.vue
  21. +187
    -52
      pages/mine/details2.vue
  22. +9
    -3
      pages/mine/reception/addreception.vue
  23. 二進制
      static/images/bishang.png
  24. 二進制
      static/images/rankingguwen.png
  25. 二進制
      static/images/zhengkai.png
  26. +2
    -2
      utils/http.js

+ 3
- 3
config.js 查看文件

@@ -2,11 +2,11 @@
* 小程序配置文件
*/
// 此处主机域名修改成腾讯云解决方案分配的域名
// var host = 'http://121.42.63.138:9091/autoSR/api'; // 测试站
// var host = 'http://192.168.31.163:8080/autoSR/api'; // 长龙
var host = 'http://121.42.63.138:9091/autoSR/api'; // 测试站
// var host = 'http://192.168.31.161:8080/autoSR/api'; // 长龙
// var host = 'http://192.168.31.128:8080/autoSR/api'; // 佳豪
// var host = 'http://10.2.1.104:8081/autoSR/api'; // 刘敏
var host = 'https://zkgj.quhouse.com/api'; // 质控正式
// var host = 'https://zkgj.quhouse.com/api'; // 质控正式
// var host = 'https://hfju.com/api'; // 数智正式




+ 29
- 11
pages.json 查看文件

@@ -52,7 +52,8 @@
"path": "index",
"style": {
"navigationBarBackgroundColor": "#008EF2",
"navigationBarTextStyle": "white"
"navigationBarTextStyle": "white",
"navigationStyle": "custom"
}
},
{
@@ -60,31 +61,32 @@
"style": {
"navigationBarTitleText": "验证码登录",
"navigationBarBackgroundColor": "#008EF2",
"navigationBarTextStyle": "white"
"navigationBarTextStyle": "white",
"navigationStyle": "custom"
}
},
{
"path": "yinzhongmalogin",
"style": {
"navigationBarTitleText": "验证码登录",
"navigationBarBackgroundColor": "#008EF2",
"navigationBarTextStyle": "white"
"navigationBarBackgroundColor": "#FFFFFF",
"navigationBarTextStyle": "black"
}
},
{
"path": "Setthepassword",
"style": {
"navigationBarTitleText": "忘记密码",
"navigationBarBackgroundColor": "#008EF2",
"navigationBarTextStyle": "white"
"navigationBarTitleText": "设置密码",
"navigationBarBackgroundColor": "#FFFFFF",
"navigationBarTextStyle": "black"
}
},
{
"path": "Verifythelogin",
"style": {
"navigationBarTitleText": "验证码验证",
"navigationBarBackgroundColor": "#008EF2",
"navigationBarTextStyle": "white"
"navigationBarTitleText": "验证码登录",
"navigationBarBackgroundColor": "#FFFFFF",
"navigationBarTextStyle": "black"
}
}
@@ -112,6 +114,14 @@
"navigationBarTextStyle": "black"
}
},
{
"path": "calibration",
"style": {
"navigationBarTitleText": "校验",
"navigationBarBackgroundColor": "#FFFFFF",
"navigationBarTextStyle": "black"
}
},
{
"path": "ScoringPlaylist",
"style": {
@@ -344,6 +354,14 @@
"navigationBarTextStyle": "black"
}
},
{
"path": "Piabodata/Employeesstatistics",
"style": {
"navigationBarTitleText": "员工统计",
"navigationBarBackgroundColor": "#FFFFFF",
"navigationBarTextStyle": "black"
}
},
{
"path": "records/index",
@@ -409,7 +427,7 @@
"navigationBarTextStyle": "black"
}
}
]
]
}
],


+ 182
- 54
pages/center/Piabodata/Customerportrait/Receivedetailabout.vue 查看文件

@@ -200,9 +200,7 @@
<view class="zhezhoa" @click="clenReceivedetailsabout()" v-if="Receivedetailsabout"></view>
<view class="followingpop-up" v-if="Receivedetailsabout">
<view class="guanbibox">
<view class="guanbixen">
<image @click="clenReceivedetailsabout()" src="../../../../static/images/Shutdown.png" mode=""></image>
</view>
<image class="guanbixen" @click="clenReceivedetailsabout()" src="../../../../static/images/Shutdown.png" mode=""></image>
<view class="cenisboxtab">
<view class="cenisboxtabview">
<view>接待详情</view>
@@ -237,22 +235,24 @@
<view class="zhezhoa" @click="clenReceivedetailsabout()" v-if="Pinspeak"></view>
<view class="followingpop-up" v-if="Pinspeak">
<view class="guanbibox">
<view class="guanbixen">
<image @click="clenReceivedetailsabout()" src="../../../../static/images/Shutdown.png" mode=""></image>
</view>
<image class="guanbixen" @click="clenReceivedetailsabout()" src="../../../../static/images/Shutdown.png" mode=""></image>
<view class="cenisboxtab">
<view class="cenisboxtabview">
<view>销讲执行</view>
</view>
</view>
</view>
<view class="cenisbox">
<view class="pingfenbox" >
<view :class="{ activecllasscet: zhixingcenterindex == 0 }" @click="recordclick(0)">销讲总执行率{{totalRate}}%</view>
<view :class="{ activecllasscet: zhixingcenterindex == 1 }" @click="recordclick(1)">禁忌执行</view>
</view>
<view v-if="zhixingcenterindex == 0" class="cenisbox">
<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: 170rpx;">执行率</view>
</view>
<view class="Level-box" v-for="(item,index) in ratelist" :key="index">
<view class="Level1che">
<view class="Level1che" @click="changeshow(item,1)">
<view class="title1">{{item.name}}</view>
<view class="leve1-jindu">
<view class="jindutiao">
@@ -261,20 +261,20 @@
</view>
</view>
<view class="jiantobox">
<image @click="changeshow(item,1)" v-if="!item.show" class="arrow rotatearrow" src="/static/images/down.png" mode="" />
<image @click="changeshow(item,0)" v-else class="arrow" src="/static/images/up.png" mode="" />
<image v-if="!item.show" class="arrow rotatearrow" src="/static/images/down.png" mode="" />
<image v-else class="arrow" src="/static/images/up.png" mode="" />
</view>
</view>
<view class="hhhbox" v-if="item.show" v-for="(subitem,i) in item.children" :key="i">
<view class="Level2che" >
<view class="title1" @tap="clickaudeopal(subitem)">{{subitem.name}}</view>
<view class="leve1-jindu" @tap="clickaudeopal(subitem)">
<view class="Level2che" @click="changeshow2(subitem,1)" >
<view class="title1">{{subitem.name}}</view>
<view class="leve1-jindu" >
<view class="zhixing" v-if="!subitem.selected">已执行</view>
<view class="zhixing2" v-else>未执行</view>
</view>
<view class="jiantobox">
<image @click="changeshow2(subitem,1)" v-if="!subitem.show" class="arrow rotatearrow" src="/static/images/down.png" mode="" />
<image @click="changeshow2(subitem,0)" v-else class="arrow" src="/static/images/up.png" mode="" />
<image v-if="!subitem.show" class="arrow rotatearrow" src="/static/images/down.png" mode="" />
<image v-else class="arrow" src="/static/images/up.png" mode="" />
</view>
</view>
<view class="hsnrtest" v-if="subitem.show">话术内容</view>
@@ -288,27 +288,32 @@
</view>
</view>
</view>
<view v-if="zhixingcenterindex == 1">
<view v-if="prohibitedlist.length!=0" class="title1-12" @click="tapbadge(item)" v-for="(item,index) in prohibitedlist" :key='index'>{{index+1}}.{{item}}</view>
<view v-if="prohibitedlist.length==0" style="width: 100%;text-align: center;margin-top: 60rpx;">暂无数据</view>
</view>
</view>
<!-- 客户意向 -->
<view class="zhezhoa" @click="clenReceivedetailsabout()" v-if="intention"></view>
<view class="followingpop-up" v-if="intention">
<view class="guanbibox">
<view class="guanbixen">
<image @click="clenReceivedetailsabout()" src="../../../../static/images/Shutdown.png" mode=""></image>
</view>
<image class="guanbixen" @click="clenReceivedetailsabout()" src="../../../../static/images/Shutdown.png" mode=""></image>
<view class="cenisboxtab">
<view class="cenisboxtabview">
<view :class="yixingindex == 0 ? 'yixingindexclass' : ''" @click="Intentiontoswitch(0)" >客户意向</view>
</view>
<view class="cenisboxtabview">
<view :class="yixingindex == 1 ? 'yixingindexclass' : ''" @click="Intentiontoswitch(1)">语意词统计</view>
<view>客户意向</view>
</view>
</view>
</view>
<view v-if="yixingindex==0" class="cenisbox">
<view class="jianbox" v-for="(item,index) in Acquirecustomerintentlist" :key='index'>
<view class="pingfenbox" >
<view :class="{ activecllasscet: kehuyixiangcenterindex == 0 }" @click="customerofintention(0)">系统分析</view>
<view :class="{ activecllasscet: kehuyixiangcenterindex == 1 }" @click="customerofintention(1)">人工校准</view>
</view>
<view v-if="kehuyixiangcenterindex==0" class="cenisbox">
<view style="width: 100%;height: 100%;text-align: center;margin-top: 200rpx;" v-if="Acquirecustomerintentlist.length==0">
暂无数据
</view>
<view v-if="Acquirecustomerintentlist.length!=0" class="jianbox" v-for="(item,index) in Acquirecustomerintentlist" :key='index'>
<view class="jianbox-cen">
<view class="jianboxtext">{{item.name}}</view>
<view class="jianboxjian" @click="Acquishow(index)">
@@ -317,17 +322,32 @@
</view>
</view>
<view class="bioqianwayl" v-if="item.isshow==true">
<view :class="chend.selected == 0 ? 'jiangshang' : ''"
v-for="(chend,i) in item.children" :key='i' @click="Edittag(item,chend,index,i)">{{chend.text}}</view>
<view class="jiangshang"
v-for="(chend,i) in item.children" :key='i'>{{chend.text}}</view>
</view>
</view>
</view>
<view v-if="yixingindex==1" ssclass="cenisbox">
<view class="cenisboxdspl">
<view class="cenisboxdsplview" v-for="(item,index) in options1" :key='index'>{{item.name}}</view>
<view class="cenisbox" v-if="kehuyixiangcenterindex==1">
<view style="width: 100%;height: 100%;text-align: center;margin-top: 200rpx;" v-if="Acquirecustomerintentlist2.length==0">
暂无数据
</view>
<view class="jianbox" v-if="Acquirecustomerintentlist2.length!=0" v-for="(item,index) in Acquirecustomerintentlist2" :key='index'>
<view class="jianbox-cen">
<view class="jianboxtext">{{item.name}}</view>
<view class="jianboxjian" @click="Acquishow2(index)">
<image v-if="item.isshow==false" class="jiantop" src="/static/images/jiantop.png" mode=""></image>
<image v-if="item.isshow==true" class="jiantop1" src="/static/images/jianbutton.png" mode=""></image>
</view>
</view>
<view class="bioqianwayl" v-if="item.isshow==true">
<view class="jiangshang"v-for="(chend,i) in item.children" :key='i' v-if="chend.selected==0">{{chend.text}}</view>
</view>
</view>
</view>
<view class="calibration" @click="tocalibration()">校准</view>
</view>
<!-- 加入常错词 -->
@@ -379,6 +399,11 @@
export default {
data() {
return {
kehuyixiangcenterindex:0,
Acquirecustomerintentlist2:[],
zhixingcenterindex:0,
prohibitedlist:[],
guanjianciishow:false,
Aimg: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAACqVBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/f3////9/f39/f3////////9/f3////////////9/f3////9/f39/f3////9/f3////////9/f3////9/f3////////////////9/f39/f3////////9/f39/f3////9/f39/f3////////9/f39/f3////////9/f39/f39/f3////////////////+/v7+/v7////+/v7////+/v7////+/v7+/v7////////+/v7+/v7////+/v7////+/v7////////////////////////////+/v7////+/v7////+/v7+/v7////////////+/v7////+/v7////+/v7+/v7////////+/v7////+/v7////////+/v7////////+/v7////+/v7+/v7+/v7////////+/v7+/v7////+/v7+/v7////+/v7////+/v7////+/v7////+/v7+/v7////+/v7+/v7////+/v7////+/v7////+/v7+/v7////+/v5jdC9iAAAA4nRSTlMAAQIDBAUGBwgLDA0ODxARExQVFhgbHB4fICEiIyQmJygpKy4wMTIzNDY3ODk6Oz0+P0BBQkRGR0lKTE5PUFFTVFVXWFlcXV9gYWJjZWZnaGlqa2xtbm9wcXJzdHV2d3h6e319foGBgoODh4mKiouMjI2QkZKSk5OUlpeYmZmam5ycnZ+foKGio6SmqKmpq6yur7CwsbGytba5uru8wMDBwcLCw8XGx8jJysrLzM7P0dLT1dXW1tfY2drc3N7f4OHh5Obm5+jp6uvs7vDx8vLz8/T09fX29/f4+fn6+vz8/f7+RVDt+wAAA55JREFUGBntwf9/1HMAB/DX7XYbuXWV1cyMoixfugrRGNXytW33pbVdJ83XkiMLSb4LJd/zZUi0SKT5FmGS77HUVaixnHP2+kt8vt3Zbp/3+7P3XR5+8XziP1E4uiYcrh1bjMNi6NzXumnoeX3eSOSrpHUv+zi0ogJ5qd3JLN1XuJGzwqW0sW4oclT0Im19XIqcuNdQ4D0vcnEDhdYgB2f+SbFZUHbEdkrsLYeqFko9CEVH7qJUohxqLqODO6BmLR18XwAVRQfpZDxUnExHjVBRR0eroGIZHX0AFe10tA8qdtNZIRR00VEPVLxLRzuh4jk62gIVy+joSaiI0tECqPDT0blQ4f6RDpI+KHmYDjZBzWQ6aIaibZSK+6BoOqViUOXqoER8BJSdlqJYFDm4h0LveJAD7+cUiFciJ1U/01aiGjk65zfaSF6EnE3azQEO1iAPFZuZZes45MUT3cM+emLFyNfwK3fQ8k1sFA6L0cElTzx9d1OVC/8bNG/gzY+GQaKk461gCQZr8iMHSNZD4nySv6wYj0EYFv2UhqcgcTsN70ePhtzER3+lJe6BxXP9jTctvrl1yS1jkLaNlkTbBR6IlF3dyT78sHh+oqkSlrJe/uOH1jGw4apem2I/1yLtGRo6kRZiP73t57mQxb+Z2dqRdikNtyLtBWb78Cz05bomyQH+KIGljIYaWNxxDtC72ouMgsdpZzosHhqqYDmFdraOQNpttHUfLKU0TITlKtra6IZpCu3tgMVPQx0sG2ivDqaVFDgOppk0LIbJm6C9DTB1UCAMU4SGZ2GqocAumL6jQBtMMRq2wLScAik3dMV/UWB/EQwrafgSpk6KlEJ3LIXOgGE9DQdgqKDQSdBNoNAiGL6i6SjowhSaAt1UCm2CzpOk6QTonqfQJdBdSKGkD5pKWqZCU7iHQtdB10KxWmjOpqUJmtMp9gB091LsIWiCtCyFZiHFXoZuHcW+hiZGy0vQvE2xT6DbTolKAI/R8hmA4SmKdUG3jxIhAG/QkigAZlAi6QJQTJk2AF1MGwXcRRkfgJGU2V8EHzP8wBeUqQQwllKTcCozpuFESk0AMJNSC3AxM8KYT6lpAFootRGLmLEQ6ynVCCBAqcSQ1cy4f8ghSs0HcMzvlKp+lRmvVFMqNQ6aaIoyd3Yy49vllOmuh+H4WZFIpFnTpJmjadTM1oQ1oVAgFNQENA0N9f01BIKh8OzGOU3NkbmXzwuV41/wNztgHKhu7WKTAAAAAElFTkSuQmCC",
scrollTop: 0,
scrollId: "",
@@ -431,6 +456,8 @@
};
},
onShow() {
this.intention=false;
this.kehuyixiangcenterindex=0;
this.buildingID = uni.getStorageSync('buildingID').id;
this.userInfo = uni.getStorageSync('weapp_session_userInfo_data');
if (this.userInfo.dataCode == 6) {
@@ -473,6 +500,38 @@
this.innerAudioContext.destroy();
},
methods: {
//关键词点击
tapbadge(item){
//进搜索页面
uni.navigateTo({
url: '/pages/learning/Keywordsearch?customerId='+this.customerId +"&keyword="+item +"&skpl="+ "2"
})
},
recordclick(i){
this.zhixingcenterindex=i;
if(i==0){
this.getRatelist()
}else{
console.log('999')
this.huoqujinji()
}
},
//获取禁忌
huoqujinji(){
uni.showLoading({
title: '加载中'
});
this.$u.get("/customer/findTabooWordsByCusId", {
cusId: this.customerId
}).then(res => {
if (res.length) {
this.prohibitedlist=res;
}
setTimeout(function() {
uni.hideLoading();
}, 1000);
})
},
guanjiancishifo(){
// this.guanjianciishow=!this.guanjianciishow;
this.innerAudioContext.destroy();
@@ -998,21 +1057,56 @@
this.userlistobj=res;
})
},
Acquishow2(i){
this.Acquirecustomerintentlist2[i].isshow=!this.Acquirecustomerintentlist2[i].isshow;
},
tocalibration(){
this.innerAudioContext.destroy();
uni.navigateTo({
url: '/pages/mine/calibration?id='+this.customerId
});
},
customerofintention(i){
this.kehuyixiangcenterindex=i;
if(i==0){
this.Acquirecustomerintent()
}else{
this.Acquirecustomerintent2()
}
},
//获取人工校准意向信息
Acquirecustomerintent2(){
this.Acquirecustomerintentlist2=[];
this.$u.get("/matchKeywords/findManualCalibration", {
customerId: this.customerId,
type:1
}).then(res => {
res.forEach(item=>{
item.isshow=true;
item.children.forEach(chend=>{
if(chend.isInterval==0){
chend.text=chend.name+chend.unit+'-'+chend.endName+chend.unit
}else{
chend.text=chend.name
}
})
})
this.Acquirecustomerintentlist2=res;
})
},
//获取意向信息
Acquirecustomerintent(){
this.$u.get("/matchKeywords/findPersonalMatchData", {
this.$u.get("/matchKeywords/findSystemAnalysis", {
customerId: this.customerId
}).then(res => {
res.forEach(item=>{
item.isshow=true;
item.children.forEach(chend=>{
if(item.name=='意向面积'){
chend.text=chend.name+'m²'+'-'+chend.endName+'m²'
}else if(item.name=='购房预算'){
chend.text=chend.name+'万'+'-'+chend.endName+'万'
if(chend.isInterval==0){
chend.text=chend.name+chend.unit+'-'+chend.endName+chend.unit
}else{
chend.text=chend.name
}
}
})
})
this.Acquirecustomerintentlist=res;
@@ -1220,18 +1314,10 @@
},
//评分上下显隐
changeshow(item, type) {
if (type == 1) {
item.show = true
} else {
item.show = false
}
item.show = !item.show;
},
changeshow2(item, type){
if (type == 1) {
item.show = true
} else {
item.show = false
}
item.show = !item.show;
},
// 获取评分
getRatelist() {
@@ -1244,6 +1330,7 @@
}).then(res => {
if (res.length) {
let level1 = []
let level2rate = 0
res.forEach(item => {
if (item.pid == 0) {
level1.push({
@@ -1255,9 +1342,13 @@
ratepercent: 0,
children: []
})
}
} else {
if (item.selected == 0) {
level2rate += item.fraction
}
}
})
// this.totalRate = level2rate;
this.totalRate = level2rate;
res.forEach(subitem => {
let subitempid = subitem.pid
level1.forEach(item => {
@@ -1441,6 +1532,30 @@
height: 100vh;
display:flex;
flex-direction:column;
.pingfenbox{
width: 100%;
height: 60rpx;
line-height: 60rpx;
border-bottom: 1px solid #E0E0E0;
display: flex;
}
.pingfenbox view{
flex: 1;
text-align: center;
font-size: 28rpx;
text-indent: 20rpx;
}
.activecllasscet{
background: #2671E2;
color: #FFFFFF;
}
.title1-12{
font-size: 28rpx;
color:#2671E2;
font-weight: 400;
text-indent: 30rpx;
margin-top: 18rpx;
}
.headbox{
width: 100%;
min-height: 173rpx;
@@ -1595,18 +1710,31 @@
z-index: 1000;
display:flex;
flex-direction:column;
position: relative;
.calibration{
width: 90rpx;
height: 90rpx;
background: #2671E2;
text-align: center;
line-height: 90rpx;
border-radius: 50%;
color: #FFFFFF;
position: absolute;
right: 30rpx;
bottom: 100rpx;
}
.guanbibox{
width: 100%;
padding-bottom: 20rpx;
margin-top: 20rpx;
border-bottom: 1px solid #E0E0E0;
position: relative;
.guanbixen{
width: 95%;
text-align: right;
padding-top: 24rpx;
}
.guanbixen image{
width:30rpx;
height:30rpx;
position: absolute;
right: 30rpx;
top: 6rpx;
}
.cenisboxtab{
width: 100%;
@@ -2055,7 +2183,7 @@
.Level1che{
width:100%;
height: 94rpx;
background: #E0E0E0;
background: #F5F5F5;
display: flex;
line-height: 94rpx;
align-items: center;


+ 4
- 3
pages/center/Piabodata/Customerportrait/Receivingrecords.vue 查看文件

@@ -159,7 +159,8 @@ export default {
pageSize:10,
tadelist:[],
totalpage:0,
keywordIds:''
keywordIds:'',
type:0,
};
},
onLoad(options) {
@@ -181,7 +182,6 @@ export default {
this.Accesstolevel()
},
onReachBottom() {
console.log("4444444444444444444")
if (this.totalpage < this.pageNum * this.pageSize) {
return uni.showToast({
title: "到底了",
@@ -261,7 +261,7 @@ export default {
time:1,
name:this.name,
agentName:this.agentName,
type:0,
type:this.type,
keywordIds:this.keywordIds,
// keywordsId:this.keywordsId,
projectId:this.houseId,
@@ -288,6 +288,7 @@ export default {
}
this.$u.post("/matchKeywords/receptionRecord", parames).then(data => {
this.type=1;
if(data.results==null){
console.log("没有")
return


+ 362
- 0
pages/center/Piabodata/Employeesstatistics.vue 查看文件

@@ -0,0 +1,362 @@
<template>
<view class="box">
<view class="boxtittab">
<view class="tabbox">
<view :class="{ activecllasscet: activeTotal == 4 }" @click="tabtimetap(4)">近七天</view>
</view>
<view class="tabbox">
<view :class="{ activecllasscet: activeTotal == 5 }" @click="tabtimetap(5)">近15天</view>
</view>
<view class="tabbox">
<view :class="{ activecllasscet: activeTotal == 6 }" @click="tabtimetap(6)">近30天</view>
</view>
<view class="tabbox">
<view :class="{ activecllasscet: activeTotal == 3 }" @click="tabtimetap(3)">自定义</view>
</view>
</view>
<view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view>
<view class="single">
<view class="title">
<view class="title1" style="flex: 1;">接待量排名(TOP10)</view>
</view>
<view class="hejisan">
<view class="sanbox1" style="width: 35%;">
<view class="text1-1">合计</view>
<view class="text1-2">{{newlisttabinfo1.total}}</view>
</view>
<view class="sanbox1" style="width: 40%;">
<view class="text1-1">顾问</view>
<view class="text1-2">{{newlisttabinfo1.count}}</view>
</view>
<view class="sanbox1" style="width: 25%;">
<view class="text1-1">人均接待量</view>
<view class="text1-2">{{newlisttabinfo1.avg}}</view>
</view>
</view>
<view class="jindu" style="height: 360rpx;overflow: auto;">
<view v-if="newlisttabinfo1.result.length!=0" class="jindu-box" v-for="(item,index) in newlisttabinfo1.result" :key="index">
<view class="jindu-boxche">
<view class="jindu-name" v-if="item.name">{{item.name.substring(0,4)}}</view>
<view style="width: 440rpx;margin-left: 10rpx;">
<u-line-progress height="24" :show-percent="false" active-color="#FBA448" :percent="item.zxl1"></u-line-progress>
</view>
<view class="jindu-zxl">{{item.zxl==null?0:item.zxl}}</view>
</view>
</view>
<view v-if="newlisttabinfo1.result.length==0" style="width: 100%;text-align: center;margin-top: 60rpx;">
暂无数据
</view>
</view>
</view>
<view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view>
<view class="single">
<view class="title">
<view class="title1" style="flex: 1;">录音时长(TOP10)</view>
</view>
<view class="hejisan">
<view class="sanbox1" style="width: 35%;">
<view class="text1-1">合计</view>
<view class="text1-2">{{newlisttabinfo2.total}}</view>
</view>
<view class="sanbox1" style="width: 40%;">
<view class="text1-1">顾问</view>
<view class="text1-2">{{newlisttabinfo2.count}}</view>
</view>
<view class="sanbox1" style="width: 25%;">
<view class="text1-1">人均录音时长</view>
<view class="text1-2">{{newlisttabinfo2.avg}}</view>
</view>
</view>
<view class="jindu" style="height: 360rpx;overflow: auto;">
<view v-if="newlisttabinfo2.result.length!=0" class="jindu-box" v-for="(item,index) in newlisttabinfo2.result" :key="index">
<view class="jindu-boxche">
<view class="jindu-name" v-if="item.name">{{item.name.substring(0,4)}}</view>
<view style="width: 440rpx;margin-left: 10rpx;">
<u-line-progress height="24" :show-percent="false" active-color="#FBA448" :percent="item.zxl1"></u-line-progress>
</view>
<view class="jindu-zxl">{{item.zxl==null?0:item.zxl}}</view>
</view>
</view>
<view v-if="newlisttabinfo2.result.length==0" style="width: 100%;text-align: center;margin-top: 60rpx;">
暂无数据
</view>
</view>
</view>
<view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view>
<view class="single">
<view class="title">
<view class="title1" style="flex: 1;">销讲执行率排行(TOP10)</view>
</view>
<view class="hejisan">
<view class="sanbox1" style="width: 35%;">
<view class="text1-1">合计</view>
<view class="text1-2">{{newlisttabinfo3.total}}</view>
</view>
<view class="sanbox1" style="width: 40%;">
<view class="text1-1">顾问</view>
<view class="text1-2">{{newlisttabinfo3.count}}</view>
</view>
<view class="sanbox1" style="width: 25%;">
<view class="text1-1">人均执行率</view>
<view class="text1-2">{{newlisttabinfo3.avg}}</view>
</view>
</view>
<view class="jindu" style="height: 360rpx;overflow: auto;">
<view v-if="newlisttabinfo3.result.length!=0" class="jindu-box" v-for="(item,index) in newlisttabinfo3.result" :key="index">
<view class="jindu-boxche">
<view class="jindu-name" v-if="item.name">{{item.name.substring(0,4)}}</view>
<view style="width: 440rpx;margin-left: 10rpx;">
<u-line-progress height="24" :show-percent="false" active-color="#FBA448" :percent="item.zxl1"></u-line-progress>
</view>
<view class="jindu-zxl">{{item.zxl==null?0:item.zxl}}</view>
</view>
</view>
<view v-if="newlisttabinfo3.result.length==0" style="width: 100%;text-align: center;margin-top: 60rpx;">
暂无数据
</view>
</view>
</view>
<view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view>
<view class="single">
<view class="title">
<view class="title1" style="flex: 1;">违禁次数排名(TOP10)</view>
</view>
<view class="hejisan">
<view class="sanbox1" style="width: 35%;">
<view class="text1-1">合计</view>
<view class="text1-2">{{newlisttabinfo4.total}}</view>
</view>
<view class="sanbox1" style="width: 40%;">
<view class="text1-1">顾问</view>
<view class="text1-2">{{newlisttabinfo4.count}}</view>
</view>
<view class="sanbox1" style="width: 25%;">
<view class="text1-1">人均违禁次数</view>
<view class="text1-2">{{newlisttabinfo4.avg}}</view>
</view>
</view>
<view class="jindu" style="height: 360rpx;overflow: auto;">
<view v-if="newlisttabinfo4.result.length!=0" class="jindu-box" v-for="(item,index) in newlisttabinfo4.result" :key="index">
<view class="jindu-boxche">
<view class="jindu-name" v-if="item.name">{{item.name.substring(0,4)}}</view>
<view style="width: 440rpx;margin-left: 10rpx;">
<u-line-progress height="24" :show-percent="false" active-color="#FBA448" :percent="item.zxl1"></u-line-progress>
</view>
<view class="jindu-zxl">{{item.zxl==null?0:item.zxl}}</view>
</view>
</view>
<view v-if="newlisttabinfo4.result.length==0" style="width: 100%;text-align: center;margin-top: 60rpx;">
暂无数据
</view>
</view>
</view>
<u-calendar v-model="totalTimeShow" mode="range" @change="totalTimeChange"></u-calendar>
</view>
</template>

<script>
var app = getApp();
var util = require("../../../utils/util.js");
var config = require("../../../config");
export default {
data() {
return {
activeTotal: 4,
totalTimeShow: false,
// 楼盘id
houseId:'',
lastEndDate:'',
lastStartDate:'',
newlisttabinfo1:{
avg:'',
count:'',
total:'',
result:[],
},
newlisttabinfo2:{
avg:'',
count:'',
total:'',
result:[],
},
newlisttabinfo3:{
avg:'',
count:'',
total:'',
result:[],
},
newlisttabinfo4:{
avg:'',
count:'',
total:'',
result:[],
},
};
},
onLoad() {
// 获取楼盘id
this.houseId = uni.getStorageSync('buildingID').id;
this.init()
},
methods: {
init(){
this.newlisttabinfo1={
avg:'',
count:'',
total:'',
result:[],
},
this.newlisttabinfo2={
avg:'',
count:'',
total:'',
result:[],
},
this.newlisttabinfo3={
avg:'',
count:'',
total:'',
result:[],
},
this.newlisttabinfo4={
avg:'',
count:'',
total:'',
result:[],
}
var activeTotal=0;
if(this.activeTotal==3){
activeTotal=null;
}else{
activeTotal=this.activeTotal;
this.lastEndDate='';
this.lastStartDate='';
}
var promse={
timeType:activeTotal,
lastStartDate:this.lastStartDate,
lastEndDate:this.lastEndDate,
houseId:this.houseId
}
this.staffStatisticsReceptionTop10(promse)
this.staffStatisticsRecordingTimTop10(promse)
this.staffStatisticsExecutionRateTop10(promse)
this.staffStatisticsProhibitedTop10(promse)
},
//接待量排名
staffStatisticsReceptionTop10(promse){
this.$u.post('/cusLvStatistics/staffStatisticsReceptionTop10',promse).then(res=>{
res.result.forEach(item=>{
item.zxl=item.data
item.name=item.accountName
})
res.result=this.dealData(res.result)
this.newlisttabinfo1=res;
})
},
//录音时长
staffStatisticsRecordingTimTop10(promse){
this.$u.post('/cusLvStatistics/staffStatisticsRecordingTimTop10',promse).then(res=>{
res.result.forEach(item=>{
item.zxl=item.data
item.name=item.accountName
})
res.result=this.dealData(res.result)
this.newlisttabinfo2=res;
})
},
//销讲
staffStatisticsExecutionRateTop10(promse){
this.$u.post('/cusLvStatistics/staffStatisticsExecutionRateTop10',promse).then(res=>{
res.result.forEach(item=>{
item.zxl=item.data
item.name=item.accountName
})
res.result=this.dealData(res.result)
this.newlisttabinfo3=res;
})
},
//j禁忌
staffStatisticsProhibitedTop10(promse){
this.$u.post('/cusLvStatistics/staffStatisticsProhibitedTop10',promse).then(res=>{
res.result.forEach(item=>{
item.zxl=item.data
item.name=item.accountName
})
res.result=this.dealData(res.result)
this.newlisttabinfo4=res;
})
},
//自定义时间
totalTimeChange(e) {
console.log(e.startDate, e.endDate)
this.activeTotal=3;
this.lastEndDate=e.endDate
this.lastStartDate=e.startDate
this.init()
},
//时间切换
tabtimetap(index) {
if (index == 3) {
this.totalTimeShow = true;
} else {
this.activeTotal = index;
this.lastEndDate='';
this.lastStartDate='';
this.init()
}
},
// 定义一个公共方法对数据进行处理
dealData(arr){
// 获取最大值
let num=Math.max.apply(Math, arr.map(function (o) { return o.zxl })) //结果:3
// console.log(num)
if(num>100){
// 获取最大值的下标
// let idx=arr.findIndex(item=>item.zxl==num)
// console.log(idx,123)
arr.map(item=>{
item.zxl1=Math.floor(item.zxl/num*100)
})
// console.log(arr)
return arr
}else{
arr.map(item=>{
item.zxl1=item.zxl
})
return arr
}
},
}
};
</script>
<style lang="scss" scoped>
.box {
width: 100%;
height: 100%;
background: #FAFAFA;
padding-bottom: 60rpx;
}
.hejisan{
width: 92%;
margin: 0 auto;
display: flex;
padding-top: 20rpx;
padding-bottom:20rpx;
.text1-1{
color: #666666;
}
.text1-2{
color: #333333;
margin-top: 10rpx;
}
}
</style>

+ 405
- 375
pages/center/Piabodata/index.vue
文件差異過大導致無法顯示
查看文件


+ 14
- 21
pages/center/consumer/consumerDetail.vue 查看文件

@@ -168,7 +168,7 @@
</view>
<view class="Level-box" v-if="ratelist.length!=0" v-for="(item,index) in ratelist" :key="index">
<view class="Level1che">
<view class="Level1che" @click="changeshow(item,1)">
<view class="title1">{{item.name}}</view>
<view class="leve1-jindu">
<view class="jindutiao">
@@ -177,20 +177,20 @@
</view>
</view>
<view class="jiantobox">
<image @click="changeshow(item,1)" v-if="!item.show" class="arrow rotatearrow" src="/static/images/down.png" mode="" />
<image @click="changeshow(item,0)" v-else class="arrow" src="/static/images/up.png" mode="" />
<image v-if="!item.show" class="arrow rotatearrow" src="/static/images/down.png" mode="" />
<image v-else class="arrow" src="/static/images/up.png" mode="" />
</view>
</view>
<view class="hhhbox" v-if="item.show" v-for="(subitem,i) in item.children" :key="i">
<view class="Level2che" >
<view class="title1" @tap="clickaudeopal(subitem)">{{subitem.name}}</view>
<view class="leve1-jindu" @tap="clickaudeopal(subitem)">
<view class="Level2che" @click="changeshow2(subitem,1)">
<view class="title1" >{{subitem.name}}</view>
<view class="leve1-jindu" >
<view class="zhixing" v-if="!subitem.selected">已执行</view>
<view class="zhixing2" v-else>未执行</view>
</view>
<view class="jiantobox">
<image @click="changeshow2(subitem,1)" v-if="!subitem.show" class="arrow rotatearrow" src="/static/images/down.png" mode="" />
<image @click="changeshow2(subitem,0)" v-else class="arrow" src="/static/images/up.png" mode="" />
<image v-if="!subitem.show" class="arrow rotatearrow" src="/static/images/down.png" mode="" />
<image v-else class="arrow" src="/static/images/up.png" mode="" />
</view>
</view>
<view class="hsnrtest" v-if="subitem.show">话术内容</view>
@@ -321,6 +321,7 @@
customerId:item.id,
id:''
}
uni.setStorageSync("searchobj", item); //写入缓存
this.$u.post("/corpus/findByPage", parames).then(res => {
if(res==null){
uni.showToast({
@@ -332,12 +333,12 @@
if(res[0].merge==0){
let newobj = res[0];
uni.navigateTo({
url: `/pages/mine/details2?customerId=${newobj.customerId}&status=${newobj.status}&itemobj=${JSON.stringify(item)}&stateisshow=${"2"}`
url: `/pages/mine/details2?customerId=${newobj.customerId}&status=${newobj.status}&stateisshow=${"2"}`
})
}else{
let newobj = res[0];
uni.navigateTo({
url: `/pages/mine/details?customerId=${newobj.customerId}&status=${newobj.status}&itemobj=${JSON.stringify(item)}&stateisshow=${"1"}`
url: `/pages/mine/details?customerId=${newobj.customerId}&status=${newobj.status}&stateisshow=${"1"}`
})
}
})
@@ -389,18 +390,10 @@
this.tipshow=true
},
changeshow(item, type) {
if (type == 1) {
item.show = true
} else {
item.show = false
}
item.show = !item.show
},
changeshow2(item, type){
if (type == 1) {
item.show = true
} else {
item.show = false
}
item.show = !item.show
},
// 获取评分
getRatelist() {
@@ -675,7 +668,7 @@
.Level1che{
width:100%;
height: 94rpx;
background: #E0E0E0;
background: #F5F5F5;
display: flex;
line-height: 94rpx;
align-items: center;


+ 162
- 8
pages/center/consumer/index.vue 查看文件

@@ -8,9 +8,22 @@
</view>
<view class="search-text">输入客户姓名/手机号</view>
</view>
<view class="search-screen" @click="screenshow">
<image class="search-screen1" src="../../../static/images/screen.png" mode=""></image>
</view>
</view>
</view>
<!-- 选择器 -->
<view class="boxtittab">
<view class="tabbox" @click="taptimeisshow">
接待时间<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon>
</view>
<view class="tabbox" @click="taptimetuisshow">
接待时长<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon>
</view>
<view class="tabbox" @click="tapsoltishow">
排序<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon>
</view>
<view class="tabbox" @click="screenshow">
更多筛选<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon>
</view>
</view>

@@ -154,7 +167,26 @@
<u-select v-model="selectshow" :list="freeList" @confirm="actionSelectCallback"></u-select>
<!-- 客户标签 -->
<u-select v-model="selectTipshow" :list="findKeywordsList" @confirm="selectCallback"></u-select>

<u-calendar v-model="totalTimeShow" mode="range" @change="totalTimeChange"></u-calendar>
<u-popup v-model="timeshow" mode="bottom">
<view class="timeview" :style="{ color: activeTotal == 5 ? '#2B6EFF' : '#e0e0e0' }" @click="tabtimetap(5)">全部</view>
<view class="timeview" :style="{ color: activeTotal == 0 ? '#2B6EFF' : '#e0e0e0' }" @click="tabtimetap(0)">今天</view>
<view class="timeview" :style="{ color: activeTotal == 1 ? '#2B6EFF' : '#e0e0e0' }" @click="tabtimetap(1)">昨天</view>
<view class="timeview" :style="{ color: activeTotal == 2 ? '#2B6EFF' : '#e0e0e0' }" @click="tabtimetap(2)">近7天</view>
<view class="timeview" :style="{ color: activeTotal == 3 ? '#2B6EFF' : '#e0e0e0' }" @click="tabtimetap(3)">近30天</view>
<view class="timeview" :style="{ color: activeTotal == 4 ? '#2B6EFF' : '#e0e0e0' }" @click="tabtimetap(4)">自定义</view>
</u-popup>
<u-popup v-model="timetushow" mode="bottom">
<view class="timeview" :style="{ color: activeTotal2 == 0 ? '#2B6EFF' : '#e0e0e0' }" @click="timetap(0)">全部</view>
<view class="timeview" :style="{ color: activeTotal2 == 1 ? '#2B6EFF' : '#e0e0e0' }" @click="timetap(1)">0~15min</view>
<view class="timeview" :style="{ color: activeTotal2 == 2 ? '#2B6EFF' : '#e0e0e0' }" @click="timetap(2)">15~30min</view>
<view class="timeview" :style="{ color: activeTotal2 == 3 ? '#2B6EFF' : '#e0e0e0' }" @click="timetap(3)">30~60min</view>
<view class="timeview" :style="{ color: activeTotal2 == 4 ? '#2B6EFF' : '#e0e0e0' }" @click="timetap(4)">60~90min</view>
<view class="timeview" :style="{ color: activeTotal2 == 5 ? '#2B6EFF' : '#e0e0e0' }" @click="timetap(5)">90min以上</view>
</u-popup>
<u-select v-model="soltishow" :list="orderBylist" @confirm="selectCallback2"></u-select>
</view>
</template>

@@ -162,6 +194,17 @@
export default{
data(){
return{
orderBylist:[
{label:'全部',value:'0'},
{label:'创建时间倒序',value:'1'},
{label:'创建时间正序',value:'2'},
{label:'接待时间倒序',value:'3'},
{label:'接待时间正序',value:'4'},
{label:'执行率正序',value:'5'},
{label:'执行率倒序',value:'6'},
{label:'接访次数剩正序',value:'7'},
{label:'接访次数倒序',value:'8'},
],
value:'',
screenShow:false,
selectshow:false,
@@ -182,7 +225,16 @@
freeList:[],
userInfo:{},
findKeywordsList:[],
isnorefresh:''
isnorefresh:'',
activeTotal:5,
activeTotal2:0,
totalTimeShow: false,
timeshow:false,
timetushow:false,
soltishow:false,
staTime:'',
endtime:'',
orderBy:''
}
},
onLoad(options) {
@@ -213,6 +265,53 @@
}
},
methods:{
tapsoltishow(){
this.soltishow=true;
},
taptimetuisshow(){
this.timetushow=true;
},
taptimeisshow(){
this.timeshow=true;
},
//选择标签
selectCallback2(e){
this.orderBy=e[0].value;
this.nextPage=1;
this.recordList=[];
this.getMyCustom();
},
//选择录音时长
timetap(index){
this.timetushow=false;
this.activeTotal2=index;
this.nextPage=1;
this.recordList=[];
this.getMyCustom();
},
//时间选择
tabtimetap(index){
this.timeshow=false;
if (index == 4) {
this.totalTimeShow = true;
} else {
this.activeTotal = index;
this.staTime='';
this.endtime='';
this.nextPage=1;
this.recordList=[];
this.getMyCustom();
}
},
//自定义时间
totalTimeChange(e) {
this.staTime=e.startDate;
this.endtime=e.endDate;
this.activeTotal=4;
this.nextPage=1;
this.recordList=[];
this.getMyCustom();
},
recordclick(i){
if(this.screen.record==i){
this.screen.record=null
@@ -234,13 +333,41 @@
})
},
getMyCustom(){
let dateType=0;
let recDurationInterval=0;
let orderBy=0;
if(this.activeTotal==5){
dateType=null;
}else if(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;
}
var parames = {
pageNum: this.nextPage,
pageSize: 10,
query: {
projectId:this.buildingID,
keywordsId:this.screen.cunsumerTipsid,
agentId:this.screen.agentId
agentId:this.screen.agentId,
dateType:dateType,
staTime:this.staTime,
endtime:this.endtime,
recDurationInterval:recDurationInterval,
orderBy:orderBy
}
};
if (this.screen.visitRecord > 0) {
@@ -363,6 +490,33 @@
height: 100%;
background: #F8F8F8;
}
.timeview{
height: 80rpx;
line-height: 80rpx;
width: 100%;
text-align: center;
border-bottom: 1px solid #F8F8F8;
}
//时间切换的样式
.boxtittab {
width: 100;
height: 92rpx;
background: #FFFFFF;
border: 1px solid #E0E0E0;
display: flex;
align-items: center;
.tabbox {
flex: 1;
height: 100%;
text-align: center;
line-height: 92rpx;
color: #666666;
font-size: 28rpx;
}
}
.search-box{
width: 100%;
height: 102rpx;
@@ -371,7 +525,7 @@
align-items: center;
justify-content: center;
.search{
width: 620rpx;
width: 94%;
height: 70rpx;
display: flex;
align-items: center;
@@ -411,7 +565,7 @@
.content-tips{
background: #fff;
// box-sizing: border-box;
margin-bottom: 20rpx;
margin-top: 20rpx;
overflow: hidden;
.content-first{
padding: 19rpx 30rpx;


+ 160
- 35
pages/center/records/index.vue 查看文件

@@ -9,13 +9,10 @@
</view>
<view class="search-text">输入客户姓名/手机号</view>
</view>
<view class="search-screen" @click="screenshow">
<image class="search-screen1" src="../../../static/images/screen.png" mode=""></image>
</view>
</view>
</view>
<!-- 选择器 -->
<view class="boxtittab">
<!-- <view class="boxtittab">
<view class="tabbox">
<view :class="{ activecllasscet: activeTotal == 0 }" @click="tabtimetap(0)">今日</view>
</view>
@@ -28,6 +25,22 @@
<view class="tabbox">
<view :class="{ activecllasscet: activeTotal == 3 }" @click="tabtimetap(3)">自定义</view>
</view>
</view> -->
<!-- 选择器 -->
<view class="boxtittab">
<view class="tabbox" @click="taptimeisshow">
接待时间<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon>
</view>
<view class="tabbox" @click="taptimetuisshow">
接待时长<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon>
</view>
<view class="tabbox" @click="tapsoltishow">
排序<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon>
</view>
<view class="tabbox" @click="screenshow">
更多筛选<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon>
</view>
</view>
<view class="content">
<view v-if="recordList.length==0" style="width: 100%;height: 100%;display: flex;align-items: center;background: #FFFFFF;">
@@ -45,11 +58,15 @@
<view class="name">{{item.agentName}}</view>
<view class="status" v-if="item.replaceReception==1">代接待</view>
</view>
<view class="right">
<view class="right" v-if="item.recording!=0">
<view v-if="item.taboo==1">违禁接待 |</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="">无录音</view>
</view>
</view>
<view class="content-sec">
<view class="left">
@@ -143,6 +160,24 @@
<u-select v-model="selectshow" :list="freeList" @confirm="actionSelectCallback"></u-select>
<u-calendar v-model="totalTimeShow" mode="range" @change="totalTimeChange"></u-calendar>
<u-popup v-model="timeshow" mode="bottom">
<view class="timeview" :style="{ color: activeTotal == 5 ? '#2B6EFF' : '#e0e0e0' }" @click="tabtimetap(5)">全部</view>
<view class="timeview" :style="{ color: activeTotal == 0 ? '#2B6EFF' : '#e0e0e0' }" @click="tabtimetap(0)">今天</view>
<view class="timeview" :style="{ color: activeTotal == 1 ? '#2B6EFF' : '#e0e0e0' }" @click="tabtimetap(1)">昨天</view>
<view class="timeview" :style="{ color: activeTotal == 2 ? '#2B6EFF' : '#e0e0e0' }" @click="tabtimetap(2)">近7天</view>
<view class="timeview" :style="{ color: activeTotal == 3 ? '#2B6EFF' : '#e0e0e0' }" @click="tabtimetap(3)">近30天</view>
<view class="timeview" :style="{ color: activeTotal == 4 ? '#2B6EFF' : '#e0e0e0' }" @click="tabtimetap(4)">自定义</view>
</u-popup>
<u-popup v-model="timetushow" mode="bottom">
<view class="timeview" :style="{ color: activeTotal2 == 0 ? '#2B6EFF' : '#e0e0e0' }" @click="timetap(0)">全部</view>
<view class="timeview" :style="{ color: activeTotal2 == 1 ? '#2B6EFF' : '#e0e0e0' }" @click="timetap(1)">0~15min</view>
<view class="timeview" :style="{ color: activeTotal2 == 2 ? '#2B6EFF' : '#e0e0e0' }" @click="timetap(2)">15~30min</view>
<view class="timeview" :style="{ color: activeTotal2 == 3 ? '#2B6EFF' : '#e0e0e0' }" @click="timetap(3)">30~60min</view>
<view class="timeview" :style="{ color: activeTotal2 == 4 ? '#2B6EFF' : '#e0e0e0' }" @click="timetap(4)">60~90min</view>
<view class="timeview" :style="{ color: activeTotal2 == 5 ? '#2B6EFF' : '#e0e0e0' }" @click="timetap(5)">90min以上</view>
</u-popup>
<u-select v-model="soltishow" :list="orderBylist" @confirm="selectCallback2"></u-select>
</view>
</template>

@@ -150,7 +185,18 @@
export default{
data(){
return{
activeTotal: 2,
orderBylist:[
{label:'全部',value:'0'},
{label:'创建时间倒序',value:'1'},
{label:'创建时间正序',value:'2'},
{label:'接待时间倒序',value:'3'},
{label:'接待时间正序',value:'4'},
{label:'执行率正序',value:'5'},
{label:'执行率倒序',value:'6'},
{label:'接访次数剩正序',value:'7'},
{label:'接访次数倒序',value:'8'},
],
activeTotal: 5,
value:'',
screenShow:false,
selectshow:false,
@@ -170,10 +216,21 @@
staTime:'',
endtime:'',
isnorefresh:'',
activeTotal2:0,
timeshow:false,
timetushow:false,
soltishow:false,
orderBy:''
}
},
onLoad(options) {
this.isnorefresh=options.refresh;
if(options.activeTotal){
this.activeTotal=options.activeTotal
}
if(options.markAdvisor){
this.screen.markAdvisor=options.markAdvisor
}
},
onShow() {
if(this.isnorefresh=='refresh'){
@@ -199,6 +256,53 @@
}
},
methods:{
tapsoltishow(){
this.soltishow=true;
},
taptimetuisshow(){
this.timetushow=true;
},
taptimeisshow(){
this.timeshow=true;
},
//选择标签
selectCallback2(e){
this.orderBy=e[0].value;
this.nextPage=1;
this.recordList=[];
this.getMyCustom();
},
//选择录音时长
timetap(index){
this.timetushow=false;
this.activeTotal2=index;
this.nextPage=1;
this.recordList=[];
this.getMyCustom();
},
//时间选择
tabtimetap(index){
this.timeshow=false;
if (index == 4) {
this.totalTimeShow = true;
} else {
this.activeTotal = index;
this.staTime='';
this.endtime='';
this.nextPage=1;
this.recordList=[];
this.getMyCustom();
}
},
//自定义时间
totalTimeChange(e) {
this.staTime=e.startDate;
this.endtime=e.endDate;
this.activeTotal=4;
this.nextPage=1;
this.recordList=[];
this.getMyCustom();
},
tapThevisiting(item) {
if(item.status==0){
uni.showToast({
@@ -218,6 +322,7 @@
bg:0,
customerId:item.id,
}
uni.setStorageSync("searchobj", item); //写入缓存
this.$u.post("/corpus/findByPage", parames).then(res => {
if(res==null){
uni.showToast({
@@ -229,11 +334,11 @@
let newobj = res[0];
if(res[0].merge==0){
uni.navigateTo({
url: `/pages/mine/details2?customerId=${newobj.customerId}&status=${newobj.status}&itemobj=${JSON.stringify(item)}&stateisshow=${"2"}`
url: `/pages/mine/details2?customerId=${newobj.customerId}&status=${newobj.status}&stateisshow=${"2"}`
})
}else{
uni.navigateTo({
url: `/pages/mine/details?customerId=${newobj.customerId}&status=${newobj.status}&itemobj=${JSON.stringify(item)}&stateisshow=${"1"}`
url: `/pages/mine/details?customerId=${newobj.customerId}&status=${newobj.status}&stateisshow=${"1"}`
})
}
}
@@ -243,10 +348,26 @@
},
getMyCustom(){
let dateType=0;
if(this.activeTotal==3){
let recDurationInterval=0;
let orderBy=0;
if(this.activeTotal==5){
dateType=null;
}else if(this.activeTotal==4){
dateType=null;
}else{
dateType=this.activeTotal
dateType=this.activeTotal;
}
if(this.activeTotal2==0){
recDurationInterval=null
}else{
recDurationInterval=this.activeTotal2
}
if(this.orderBy==0){
orderBy=null;
}else{
orderBy=this.orderBy;
}
var parames = {
pageNum: this.nextPage,
@@ -258,8 +379,9 @@
endtime:this.endtime,
visitRecord:this.screen.visitRecord,
markAdvisor:this.screen.markAdvisor,
dateType:dateType
dateType:dateType,
recDurationInterval:recDurationInterval,
orderBy:orderBy
}
};
if(this.screen.agentId){
@@ -283,28 +405,6 @@
})
})
},
tabtimetap(index){
if (index == 3) {
this.totalTimeShow = true;
} else {
this.activeTotal = index;
this.staTime='';
this.endtime='';
this.nextPage=1;
this.recordList=[];
this.getMyCustom();
}
},
//自定义时间
totalTimeChange(e) {
this.staTime=e.startDate;
this.endtime=e.endDate;
this.activeTotal=3;
this.nextPage=1;
this.recordList=[];
this.getMyCustom();
},
// 筛选
screenshow(){
this.screenShow=true
@@ -363,6 +463,31 @@
height: 100%;
background: #F8F8F8;
}
.timeview{
height: 80rpx;
line-height: 80rpx;
width: 100%;
text-align: center;
border-bottom: 1px solid #F8F8F8;
}
//时间切换的样式
.boxtittab {
width: 100;
height: 92rpx;
background: #FFFFFF;
border: 1px solid #E0E0E0;
display: flex;
align-items: center;
.tabbox {
flex: 1;
height: 100%;
text-align: center;
line-height: 92rpx;
color: #666666;
font-size: 28rpx;
}
}
.search-box{
width: 100%;
height: 102rpx;
@@ -371,7 +496,7 @@
align-items: center;
justify-content: center;
.search{
width: 620rpx;
width: 94%;
height: 70rpx;
display: flex;
align-items: center;


+ 9
- 3
pages/center/records/recordSearch.vue 查看文件

@@ -12,10 +12,15 @@
<view class="name">{{item.agentName}}</view>
<view class="status" v-if="item.replaceReception==1">代接待</view>
</view>
<view class="right">
<view class="right" v-if="item.recording!=0">
<view v-if="item.taboo==1">违禁接待 |</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="">无录音</view>
</view>
</view>
<view class="content-sec">
<view class="left">
@@ -84,6 +89,7 @@
bg:0,
customerId:item.id,
}
uni.setStorageSync("searchobj", item); //写入缓存
this.$u.post("/corpus/findByPage", parames).then(res => {
if(res==null){
uni.showToast({
@@ -95,11 +101,11 @@
let newobj = res[0];
if(res[0].merge==0){
uni.navigateTo({
url: `/pages/mine/details2?customerId=${newobj.customerId}&status=${newobj.status}&itemobj=${JSON.stringify(item)}&stateisshow=${"2"}`
url: `/pages/mine/details2?customerId=${newobj.customerId}&status=${newobj.status}&stateisshow=${"2"}`
})
}else{
uni.navigateTo({
url: `/pages/mine/details?customerId=${newobj.customerId}&status=${newobj.status}&itemobj=${JSON.stringify(item)}&stateisshow=${"1"}`
url: `/pages/mine/details?customerId=${newobj.customerId}&status=${newobj.status}&stateisshow=${"1"}`
})
}
}


+ 46
- 54
pages/index/guide.vue 查看文件

@@ -1,32 +1,27 @@
<template>
<view class="full">
<view class="logo"></view>
<view class="boox">
<view class="title">
数智工牌
</view>
<image class="middle" src="https://qufang.oss-cn-beijing.aliyuncs.com/channelHelper/lead_middle.png"
mode="scaleToFill"></image>
<view class="content">
<view class="">
1 智能语音转写
</view>
<view class="">
2 高效的判客机制
</view>
<view class="">
3 全方位的客户跟进
</view>
<view class="">
4 专业的经纪管家
</view>
<view class="">
5 在线实时沟通
<view class="booximg">
<image class="img" src="https://qufang.oss-cn-beijing.aliyuncs.com/zkgj/xcx/guidepage.png" mode=""></image>
</view>
<view @click="bindWxBLogin" class="button">
<view class="view">
立即去登录
</view>
</view>
</view>
<!-- <view class="full">
<view class="logo"></view>
<view class="title">
数智工牌
</view>
<view @click="bindWxBLogin" class="button">
立即去登录
</view>
</view>
</view> -->

</template>

@@ -68,49 +63,46 @@
};
</script>
<style lang="scss">
.full {
.boox{
width: 100vw;
height: 100vh;
position: relative;
background: url("https://qufang.oss-cn-beijing.aliyuncs.com/channelHelper/lead_background.png");
background-size: 100% 100%;
display: flex;
flex-direction: column;
align-items: center;

.logo {
width: 202upx;
height: 202upx;
margin-top: 40rpx
}

.title {
width: 100%;
position: absolute;
left: 0rpx;
top: 100rpx;
text-align: center;
color: #FFFFFF;
font-size: 36upx;
font-size: 32rpx;
font-weight: 500;
z-index: 1000;
}

.middle {
width: 480upx;
height: 485upx;
margin-top: 34upx;
}

.content {
color: #FFFFFF;
font-size: 28rpx;
line-height: 66rpx;
.booximg{
width: 100vw;
height: 96vh;
.img{
width: 100%;
height: 100%;
}
}

.button {
background: #fff;
border-radius: 76px;
width: 584upx;
height: 100upx;
color: #008EF2;
font-size: 40upx;
line-height: 100upx;
text-align: center;
width: 100%;
position: absolute;
left: 0rpx;
bottom:80rpx;
.view{
width: 630rpx;
height: 86rpx;
margin: 0 auto;
background: #2671E2;
box-shadow: 0px 2rpx 20rpx 0rpx rgba(38, 113, 226, 0.5);
border-radius: 49rpx;
color: #FFFFFF;
text-align: center;
line-height: 86rpx;
font-size: 32rpx;
}
}
}
</style>

+ 50
- 38
pages/index/index.vue 查看文件

@@ -60,7 +60,7 @@
</view>

<view class="title" v-if="equipmentisshow">设备</view>
<view class="shebenbox" v-if="equipmentisshow">
<view class="shebenbox" v-if="equipmentisshow" @click="tapjumpequipment()">
<view class="shebenche">
<view class="shebenchenum">{{equipmentobj.totalNum || 0}}</view>
<view class="shebenchetext">设备总数</view>
@@ -84,27 +84,22 @@
<view class="title">实时统计</view>
<view class="real-timebox">
<view class="timebox">
<view class="real">
<view class="real" @click="tapjumpreception('1')">
<view class="realnum">{{realtimeobj.receptionCount || 0}}</view>
<view class="realtext">接待量</view>
</view>
<view class="real">
<view class="real" @click="tapjumpreception('2')">
<view class="realnum">{{realtimeobj.receivingCustomer || 0}}</view>
<view class="realtext">正在接待</view>
</view>
<view class="real">
<view class="real" @click="tapjumpreception('3')">
<view class="realnum">{{realtimeobj.tagCustomer || 0}}</view>
<view class="realtext">未标顾问</view>
</view>


</view>
<view class="timebox">
<view class="timebox" @click="tapjumpreception('1')">
<view class="real">
<view class="realnum">{{realtimeobj.sumDuration || 0}}</view>
<view class="realnum" >{{realtimeobj.sumDuration || 0}}</view>
<view class="realtext">接待时长</view>
</view>
<view class="real">
@@ -123,8 +118,7 @@

<view class="title">本周工作</view>
<view class="real-timebox">
<view class="timebox">
<view class="timebox" @click="tapjumpreception('3')">
<view class="real">
<view class="realnum">{{Thisweekobj.receptionCount || 0}}</view>
<view class="realtext">接待量</view>
@@ -143,30 +137,7 @@
</view>
</view>
</view>
<!-- <view class="real-timebox">
<view class="timebox">
<view class="real">
<view class="realnum"></view>
<view class="realtext">接待量</view>
</view>
<view class="real">
<view class="realnum">{{realtimeobj.receivingCustomer || 0}}</view>
<view class="realtext">正在接待</view>
</view>
<view class="real">
<view class="realnum"></view>
<view class="realtext">平均执行率</view>
</view>
<view class="real">
<view class="realnum">{{Thisweekobj.sumDuration || 0}}</view>
<view class="realtext">录音时长</view>
</view>
</view>
</view> -->
<view class="title">常用功能</view>
<view class="commonly-box">
@@ -182,6 +153,8 @@
mode=""></image>
<image v-if="item.name=='值班顾问'" class="commonly-img1" src="../../static/images/function6.png"
mode=""></image>
<image v-if="item.name=='顾问排名'" class="commonly-img1" src="../../static/images/rankingguwen.png"
mode=""></image>
</view>
<view class="commonly-text">{{item.name}}</view>
</view>
@@ -245,6 +218,7 @@
onShow() {
this.userInfo = uni.getStorageSync('weapp_session_userInfo_data');
this.Menulist = uni.getStorageSync('weapp_session_Menu_data');
console.log(this.Menulist)
if (this.userInfo.zkProperties.length == 1) {
this.buildingID = uni.getStorageSync('buildingID').id;
this.buildingname = uni.getStorageSync('buildingID').name;
@@ -420,6 +394,38 @@
cancel() {
this.Showhiddenunits = false;
},
tapjumpequipment(){
this.Menulist.forEach(item=>{
if(item.name=='设备管理'){
uni.navigateTo({
url: '/pages/mine/equipment/index'
});
}
})
},
tapjumpreception(i){
this.Menulist.forEach(item=>{
if(item.name=='接待记录'){
if(i==1){
uni.navigateTo({
url: '/pages/center/records/index?refresh='+'refresh'+'&activeTotal='+'0'
});
}else if(i==2){
uni.switchTab({
url: '/pages/index/customer'
});
}else if(i==3){
uni.navigateTo({
url: '/pages/center/records/index?refresh='+'refresh'+'&activeTotal='+'2'
});
}else{
uni.navigateTo({
url: '/pages/center/records/index?refresh='+'refresh'+'&activeTotal=0'+'&markAdvisor=1'
});
}
}
})
},
Piabodata(item) {
if (item == '销讲数据') {
uni.navigateTo({
@@ -437,11 +443,17 @@
uni.navigateTo({
url: '/pages/mine/equipment/index'
});
} else {
} else if(item == '顾问排名') {
uni.navigateTo({
url: '/pages/center/Piabodata/Employeesstatistics'
});
}else{
uni.navigateTo({
url: '/pages/center/consumer/index?refresh='+'refresh'
});
}
},
},



+ 3
- 5
pages/learning/Keywordsearch.vue 查看文件

@@ -107,9 +107,7 @@
},
//只有一条的时候
infostust(item){
console.log("zobudao")
let d = JSON.parse(JSON.stringify([item]))
d[0].onebest=""
uni.setStorageSync("searchobj", item); //写入缓存
const parames = {
pageNum: 1,
pageSize: 100,
@@ -121,12 +119,12 @@
if(res[0].merge==0){
let newobj = res[0];
uni.navigateTo({
url: `/pages/main/details2?customerId=${newobj.customerId}&status=${newobj.status}&itemobj=${JSON.stringify(d[0])}&stateisshow=${'2'}`
url: `/pages/mine/details2?customerId=${newobj.customerId}&status=${newobj.status}&stateisshow=${'2'}`
})
}else{
let newobj = res[0];
uni.navigateTo({
url: `/pages/main/details?customerId=${newobj.customerId}&status=${newobj.status}&itemobj=${JSON.stringify(d[0])}&stateisshow=${'2'}`
url: `/pages/mine/details?customerId=${newobj.customerId}&status=${newobj.status}&stateisshow=${'2'}`
})
}
})


+ 6
- 5
pages/login/Setthepassword.vue 查看文件

@@ -1,5 +1,6 @@
<template>
<view>
<view style="width: 100%;height: 180rpx;"></view>
<view class="input">
<view class="zcasfdasf">设置密码</view>
<view class="tejHdgasd">设置密码后,就可以使用手机号码与密码登录了~</view>
@@ -248,11 +249,11 @@

/* 登录 */
.button {
width: 603rpx;
height: 89rpx;
background: rgba(72, 149, 255, 1);
box-shadow: 0rpx 2rpx 14rpx 0rpx rgba(151, 192, 255, 1);
border-radius: 45rpx;
width: 630rpx;
height: 86rpx;
background: #2671E2;
box-shadow: 0px 2rpx 20rpx 0px rgba(38, 113, 226, 0.5);
border-radius: 49rpx;
text-align: center;
line-height: 89rpx;
color: #fff;


+ 15
- 127
pages/login/Verification.vue 查看文件

@@ -1,7 +1,7 @@
<template>
<view>
<view class="head">
<text>智能高效客户管理平台</text>
<image class="head-immg" src="https://qufang.oss-cn-beijing.aliyuncs.com/zkgj/xcx/login.png" mode=""></image>
</view>
<view class="input">
<view class="cwjs-cells item-flex">
@@ -17,9 +17,6 @@
</view>
</view>
<view class="button" @tap="bindWxBLogin">获取验证码</view>
<image src="https://qufang.oss-cn-beijing.aliyuncs.com/upload/icon/xcx/jjycrm/login/footer.png" class="footer">
</image>
</view>
</template>

@@ -142,71 +139,25 @@
margin-top: 33.5rpx;
}

.mod-btn {
position: absolute;
bottom: -80rpx;
left: 50%;
margin-left: -80rpx;
}

.mod-btn .button {
width: 160rpx;
height: 160rpx;
background: linear-gradient(180deg, rgba(116, 197, 230, 1) 0%, rgba(64, 147, 201, 1) 100%);
border: 10rpx solid rgba(255, 255, 255, 1);
border-radius: 100%;
font-size: 36rpx;
color: #fff;
display: flex;
justify-content: center;
align-items: center;

}

.mod-btn .button::after {
content: ""
}

.retPassword {
display: inline;
width: auto;
font-size: 28rpx;
color: rgba(64, 147, 201, 1);
line-height: 40rpx;
float: right;
}

.retPassword:active {
background-color: #fff;
}

.appliyAdmin {
position: absolute;
left: 50%;
margin-left: -57rpx;
bottom: 100rpx;
width: 114rpx;
font-size: 28rpx;
color: rgba(255, 255, 255, 1);
line-height: 40rpx;
}

/* 头部 */

.head {
width: 750rpx;
height: 410rpx;
background-image: url(https://qufang.oss-cn-beijing.aliyuncs.com/channelHelper/background.png);
background-size: 100vw auto;
background-repeat: no-repeat;
}

.background {
width: 750rpx;
height: 400rpx;
position: absolute;
top: -3rpx;
left: 0;
height: 500rpx;
position: relative;
.head-immg{
width: 118rpx;
height: 61rpx;
position: absolute;
top: 300rpx;
left: 100rpx;
}
}

.logo {
@@ -218,17 +169,7 @@
left: 240.5rpx;
}

.head text {
font-size: 34rpx;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #008EF2;
position: absolute;
top: 300rpx;
width: 100%;
text-align: center;

}

/* 输入框 */
.input {
@@ -248,11 +189,11 @@

/* 登录 */
.button {
width: 603rpx;
height: 89rpx;
background: rgba(72, 149, 255, 1);
box-shadow: 0rpx 2rpx 14rpx 0rpx rgba(151, 192, 255, 1);
border-radius: 45rpx;
width: 630rpx;
height: 86rpx;
background: #2671E2;
box-shadow: 0px 2rpx 20rpx 0px rgba(38, 113, 226, 0.5);
border-radius: 49rpx;
text-align: center;
line-height: 89rpx;
color: #fff;
@@ -261,59 +202,6 @@
font-size: 34rpx;
}

.footer {
width: 100%;
height: 157rpx;
position: absolute;
bottom: 0;
left: 0;
}

.agreeBox {
/* text-align: center; */
/* width: 450rpx; */
/* padding-left: 145rpx; */
font-size: 28rpx;
color: #88909E;
margin: 0 auto;
margin-top: 30rpx;
position: relative;
display: flex;
margin-left: 83upx;
}

checkbox {
transform: scale(0.5);
}

checkbox-group {
display: inline;
}

navigator {
display: inline
}

.agreeBox image {
width: 26rpx;
height: 26rpx;
display: block;
position: absolute;
top: 9rpx;
left: 18rpx;
margin-right: 19rpx;
}

.imagesBox {
width: 80rpx;
height: 88rpx;
}

.chooseBox {
width: 60rpx;
height: 60rpx;
}

.login {
text-decoration: underline;
text-align: center;


+ 31
- 11
pages/login/Verifythelogin.vue 查看文件

@@ -1,6 +1,13 @@
<template>
<view class="content">
<view class="sadsadasdasdsadasd">智能高效客户管理平台</view>
<view class="head">
<view class="text">
<view class="text1">
<view style="color: #666666;">输入短信验证码</view>
<view style="color: #303030;margin-top: 20rpx;">短信已发送至{{phone}},请在下方输入框内输入4位数字验证码</view>
</view>
</view>
</view>
<view class="sction">
<view class="mama">
<view class="mamaz">
@@ -14,7 +21,7 @@
</text>
</view>
</view>
<view class="login-btn" :style="{ background: msg == '' ? '#F2F2F2' : '#2B6EFF' }" @click="denglu"><text
<view class="login-btn" :style="{ background: msg == '' ? '#F2F2F2' : '#2671E2' }" @click="denglu"><text
class="">确认</text></view>
<view class="code-login" @click="passwordlogin"><text>密码登录</text></view>
</view>
@@ -32,7 +39,8 @@
auth_time: 0,
msg: '',
phonecet: '',
role:''
role:'',
phone:''
};
},
onLoad: function(options) {
@@ -55,7 +63,7 @@
methods: {
//跳转密码登录页面
passwordlogin() {
uni.reLaunch()({
uni.reLaunch({
url: '/pages/login/index',
})
},
@@ -96,7 +104,22 @@
};
</script>

<style>
<style lang="scss">
.head {
width: 750rpx;
height:400rpx;
position: relative;
.text{
width: 100%;
position: absolute;
top: 180rpx;
left: 0rpx;
.text1{
width: 80%;
margin: 0 auto;
}
}
}
.mama {
width: 620rpx;
display: flex;
@@ -145,11 +168,8 @@
.content {
margin: 0;
padding: 0;
background-image: url(https://qufang.oss-cn-beijing.aliyuncs.com/channelHelper/background.png);
background-size: 100vw auto;
background-repeat: no-repeat;
border-top: 1rpx solid #E0E0E0;
}

.login-text {
font-size: 60rpx;
font-family: PingFang SC;
@@ -171,9 +191,9 @@
.login-btn {
margin: 0 auto;
margin-top: 240rpx;
width: 567rpx;
width: 630rpx;
height: 86rpx;
border-radius: 2em;
border-radius: 49rpx;
font-size: 17px;
font-weight: bold;
border: none;


+ 19
- 113
pages/login/index.vue 查看文件

@@ -1,7 +1,7 @@
<template>
<view>
<view class="head">
<text>智能高效客户管理平台</text>
<image class="head-immg" src="https://qufang.oss-cn-beijing.aliyuncs.com/zkgj/xcx/login.png" mode=""></image>
</view>
<view class="input">
<view class="cwjs-cells item-flex">
@@ -19,9 +19,8 @@
<input class="cwjs-item cwjs-input" placeholder="请输入密码" placeholder-style="color:#AAAAAA" maxlength="16" v-model="password" v-else></input>
</view>
<view class="imagesBox" @tap="changeBindPassword">
<image
:src="'https://qufang.oss-cn-beijing.aliyuncs.com/upload/icon/xcx/jjycrm/login/' + (passwordType==true?'close_eyes.png':'open_eyes.png')"
class="images" mode="scaleToFill"></image>
<image v-if="passwordType==false" src="../../static/images/zhengkai.png" class="images" mode="scaleToFill"></image>
<image v-if="passwordType==true" src="../../static/images/bishang.png" class="images" mode="scaleToFill"></image>
</view>
</view>
<view class="textbox">
@@ -30,9 +29,7 @@
<view class="textbox-11" @tap="bindpassword">忘记密码</view>
</view>
</view>
<view class="button" @tap="bindWxBLogin">登录</view>
<image src="https://qufang.oss-cn-beijing.aliyuncs.com/upload/icon/xcx/jjycrm/login/footer.png" class="footer">
</image>
<view class="button" @tap="bindWxBLogin">立即登录</view>
</view>
</template>

@@ -220,65 +217,24 @@
margin-left: -80rpx;
}

.mod-btn .button {
width: 160rpx;
height: 160rpx;
background: linear-gradient(180deg, rgba(116, 197, 230, 1) 0%, rgba(64, 147, 201, 1) 100%);
border: 10rpx solid rgba(255, 255, 255, 1);
border-radius: 100%;
font-size: 36rpx;
color: #fff;
display: flex;
justify-content: center;
align-items: center;

}

.mod-btn .button::after {
content: ""
}

.retPassword {
display: inline;
width: auto;
font-size: 28rpx;
color: rgba(64, 147, 201, 1);
line-height: 40rpx;
float: right;
}

.retPassword:active {
background-color: #fff;
}

.appliyAdmin {
position: absolute;
left: 50%;
margin-left: -57rpx;
bottom: 100rpx;
width: 114rpx;
font-size: 28rpx;
color: rgba(255, 255, 255, 1);
line-height: 40rpx;
}

/* 头部 */

.head {
width: 750rpx;
height: 410rpx;
background-image: url(https://qufang.oss-cn-beijing.aliyuncs.com/channelHelper/background.png);
background-size: 100vw auto;
background-repeat: no-repeat;
height: 500rpx;
position: relative;
.head-immg{
width: 118rpx;
height: 61rpx;
position: absolute;
top: 300rpx;
left: 100rpx;
}
}

.background {
width: 750rpx;
height: 400rpx;
position: absolute;
top: -3rpx;
left: 0;
}

.logo {
width: 248upx;
@@ -289,18 +245,6 @@
left: 240.5rpx;
}

.head text {
font-size: 34rpx;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #008EF2;
position: absolute;
top: 353rpx;
width: 100%;
text-align: center;

}

/* 输入框 */
.input {
width: 100%;
@@ -319,11 +263,11 @@

/* 登录 */
.button {
width: 603rpx;
height: 89rpx;
background: rgba(72, 149, 255, 1);
box-shadow: 0rpx 2rpx 14rpx 0rpx rgba(151, 192, 255, 1);
border-radius: 45rpx;
width: 630rpx;
height: 86rpx;
background: #2671E2;
box-shadow: 0px 2rpx 20rpx 0px rgba(38, 113, 226, 0.5);
border-radius: 49rpx;
text-align: center;
line-height: 89rpx;
color: #fff;
@@ -340,50 +284,12 @@
left: 0;
}

.agreeBox {
/* text-align: center; */
/* width: 450rpx; */
/* padding-left: 145rpx; */
font-size: 28rpx;
color: #88909E;
margin: 0 auto;
margin-top: 30rpx;
position: relative;
display: flex;
margin-left: 83upx;
}

checkbox {
transform: scale(0.5);
}

checkbox-group {
display: inline;
}

navigator {
display: inline
}

.agreeBox image {
width: 26rpx;
height: 26rpx;
display: block;
position: absolute;
top: 9rpx;
left: 18rpx;
margin-right: 19rpx;
}

.imagesBox {
width: 80rpx;
height: 88rpx;
}

.chooseBox {
width: 60rpx;
height: 60rpx;
}


.login {
text-decoration: underline;


+ 31
- 10
pages/login/yinzhongmalogin.vue 查看文件

@@ -1,6 +1,13 @@
<template>
<view class="content">
<view class="sadsadasdasdsadasd">智能高效客户管理平台</view>
<view class="head">
<view class="text">
<view class="text1">
<view style="color: #666666;">输入短信验证码</view>
<view style="color: #303030;margin-top: 20rpx;">短信已发送至{{phone}},请在下方输入框内输入4位数字验证码</view>
</view>
</view>
</view>
<view class="sction">
<view class="mama">
<view class="mamaz">
@@ -14,7 +21,7 @@
</text>
</view>
</view>
<view class="login-btn" :style="{ background: msg == '' ? '#F2F2F2' : '#2B6EFF' }" @click="denglu"><text
<view class="login-btn" :style="{ background: msg == '' ? '#F2F2F2' : '#2671E2' }" @click="denglu"><text
class="">登录</text></view>
<view class="code-login" @click="passwordlogin"><text>密码登录</text></view>
</view>
@@ -33,7 +40,8 @@
auth_time: 0,
msg: '',
phonecet: '',
role:''
role:'',
phone:''
};
},
onLoad: function(options) {
@@ -56,7 +64,7 @@
methods: {
//跳转密码登录页面
passwordlogin() {
uni.reLaunch()({
uni.reLaunch({
url: '/pages/login/index',
})
},
@@ -166,7 +174,22 @@
};
</script>

<style>
<style lang="scss">
.head {
width: 750rpx;
height:400rpx;
position: relative;
.text{
width: 100%;
position: absolute;
top: 180rpx;
left: 0rpx;
.text1{
width: 80%;
margin: 0 auto;
}
}
}
.mama {
width: 620rpx;
display: flex;
@@ -215,9 +238,7 @@
.content {
margin: 0;
padding: 0;
background-image: url(https://qufang.oss-cn-beijing.aliyuncs.com/channelHelper/background.png);
background-size: 100vw auto;
background-repeat: no-repeat;
border-top: 1rpx solid #E0E0E0;
}

.login-text {
@@ -241,9 +262,9 @@
.login-btn {
margin: 0 auto;
margin-top: 240rpx;
width: 567rpx;
width: 630rpx;
height: 86rpx;
border-radius: 2em;
border-radius: 49rpx;
font-size: 17px;
font-weight: bold;
border: none;


+ 237
- 0
pages/mine/calibration.vue 查看文件

@@ -0,0 +1,237 @@
<template>
<view class="box">

<view class="conmsg" v-if="allList.length!=0">
<view class="conmsg-msg">
<view v-for="(item,index) in allList" :key="index">
<view class="">
<view class="conmsg-msg-lab" style="border: none;">
<view class="conmsg-msg-lab-1">
{{item.name}}
</view>
</view>
<view class="con-msg-con"
:style="{borderBottom:index==allList.length-1?'none':'1px solid #E0E0E0'}">
<view v-for='(item1,i) in item.children' :key='i' @click="Edittag(item,item1,index,i)"
:style="{border:item1.selected==0?'1px solid #0A6EE9':'1px solid #E0E0E0'}"
class="chebox">
{{item1.label}}
</view>
</view>
</view>
</view>
</view>
</view>

<view class="submit">
<view class="btn" @click="submit">
确定
</view>
</view>
<view class="" style="height: 220rpx;"></view>
</view>
</template>

<script>
export default {
data() {
return {
allList:[],
customerId:''
}
},
onLoad(e) {
this.customerId=e.id;
this.getListByType()
},
methods: {
Edittag(item,item1,index,i){
if(this.allList[index].children[i].selected==0){
this.allList[index].children[i].selected=1;
}else{
this.allList[index].children[i].selected=0;
}
this.$forceUpdate()
},
// 字典表接口
getListByType() {
this.$u.get("/matchKeywords/findManualCalibration", {
customerId: this.customerId,
type:2
})
.then(res => {
res.forEach(item1 => {
item1.children.map(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.allList = res
})
},
// 提交
submit() {
let param = {
keywordIds:'',
id: this.customerId,
}
let str = []
this.allList.map(item => {
item.children.map(item1 => {
if (item1.selected == 0) {
str.push(item1.keywordsId)
}
})
})
str = str.join(',')
param.keywordIds = str
this.$u.post("matchKeywords/updateManualCalibration", param).then(res => {
uni.showToast({
title: '操作成功',
icon: 'none',
success: () => {
let sdd={
keywordIds: this.customerId,
id: this.customerId,
bg:0,
speaker:0
}
let pages = getCurrentPages() //获取当前页面栈的信息
let prevPage = pages[pages.length - 2] //获取上一个页面
prevPage.setData({ //把需要回传的值保存到上一个页面
info: sdd
});
uni.navigateBack()
}
})
})
},
}
}
</script>

<style lang="scss" scoped>
.box {
width: 100%;
height: 100%;
background: #F8F8F8;
overflow: hidden;
}

.conmsg {
background: #FFFFFF;
margin-top: 20rpx;

.conmsg-title {
height: 92rpx;
line-height: 92rpx;
font-weight: bold;
padding: 0 30rpx;
// font-weight: 500;
color: #303030;
font-size: 32rpx;
border-bottom: 1px solid #E0E0E0;
}

.conmsg-msg {
padding: 0 30rpx;

.conmsg-msg-lab {
height: 102rpx;
display: flex;
font-size: 30rpx;
font-weight: 400;
color: #333333;
border-bottom: 1px solid #E0E0E0;
line-height: 102rpx;

.conmsg-msg-lab-1 {
display: flex;
min-width: 136rpx;

.star {
color: #E7483C;
line-height: 108rpx;
}
}

.conmsg-msg-lab-inp {
margin-top: 30rpx;
margin-left: 44rpx;

}

.conmsg-msg-lab-img {
width: 14rpx;
height: 30rpx;
margin-top: 6rpx;
margin-left: auto;

image {
width: 100%;
height: 100%;
}
}
}
}
}

.submit {
position: fixed;
bottom: 20rpx;
left: 20rpx;
height: 120rpx;
background: #FFFFFF;

.btn {
// margin: 60rpx auto;
text-align: center;
width: 690rpx;
height: 88rpx;
background: #2671E2;
border-radius: 8rpx;
font-size: 32tpx;
font-weight: 400;
color: #FFFFFF;
line-height: 88rpx;
}
}

.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;
}
}

.sexchose {
width: 120rpx;
height: 60rpx;
background: #FFFFFF;
border-radius: 4rpx;
border: 1px solid #E0E0E0;
text-align: center;
line-height: 60rpx;
margin-right: 20rpx;

}
</style>

+ 1
- 1
pages/mine/details.vue 查看文件

@@ -217,7 +217,7 @@
onLoad: function(options) {
this.status = options.status;
this.customerId = options.customerId;
this.itemobj=JSON.parse(options.itemobj);
this.itemobj = uni.getStorageSync('searchobj');
this.stateisshow=options.stateisshow;
},
onShow() {


+ 187
- 52
pages/mine/details2.vue 查看文件

@@ -225,9 +225,7 @@
<view class="zhezhoa" @click="clenReceivedetailsabout()" v-if="Receivedetailsabout"></view>
<view class="followingpop-up" v-if="Receivedetailsabout">
<view class="guanbibox">
<view class="guanbixen">
<image @click="clenReceivedetailsabout()" src="../../static/images/Shutdown.png" mode=""></image>
</view>
<image class="guanbixen" @click="clenReceivedetailsabout()" src="../../static/images/Shutdown.png" mode=""></image>
<view class="cenisboxtab">
<view class="cenisboxtabview">
<view>接待详情</view>
@@ -262,22 +260,24 @@
<view class="zhezhoa" @click="clenReceivedetailsabout()" v-if="Pinspeak"></view>
<view class="followingpop-up" v-if="Pinspeak">
<view class="guanbibox">
<view class="guanbixen">
<image @click="clenReceivedetailsabout()" src="../../static/images/Shutdown.png" mode=""></image>
</view>
<image class="guanbixen" @click="clenReceivedetailsabout()" src="../../static/images/Shutdown.png" mode=""></image>
<view class="cenisboxtab">
<view class="cenisboxtabview">
<view>销讲执行</view>
</view>
</view>
</view>
<view class="cenisbox">
<view class="pingfenbox" >
<view :class="{ activecllasscet: zhixingcenterindex == 0 }" @click="recordclick(0)">销讲总执行率{{totalRate}}%</view>
<view :class="{ activecllasscet: zhixingcenterindex == 1 }" @click="recordclick(1)">禁忌执行</view>
</view>
<view v-if="zhixingcenterindex == 0" class="cenisbox">
<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: 170rpx;">执行率</view>
</view>
<view class="Level-box" v-for="(item,index) in ratelist" :key="index">
<view class="Level1che">
<view class="Level1che" @click="changeshow(item,1)">
<view class="title1">{{item.name}}</view>
<view class="leve1-jindu">
<view class="jindutiao">
@@ -286,20 +286,20 @@
</view>
</view>
<view class="jiantobox">
<image @click="changeshow(item,1)" v-if="!item.show" class="arrow rotatearrow" src="/static/images/down.png" mode="" />
<image @click="changeshow(item,0)" v-else class="arrow" src="/static/images/up.png" mode="" />
<image v-if="!item.show" class="arrow rotatearrow" src="/static/images/down.png" mode="" />
<image v-else class="arrow" src="/static/images/up.png" mode="" />
</view>
</view>
<view class="hhhbox" v-if="item.show" v-for="(subitem,i) in item.children" :key="i">
<view class="Level2che" >
<view class="title1" @tap="clickaudeopal(subitem)">{{subitem.name}}</view>
<view class="leve1-jindu" @tap="clickaudeopal(subitem)">
<view class="Level2che" @click="changeshow2(subitem,1)" >
<view class="title1" >{{subitem.name}}</view>
<view class="leve1-jindu">
<view class="zhixing" v-if="!subitem.selected">已执行</view>
<view class="zhixing2" v-else>未执行</view>
</view>
<view class="jiantobox">
<image @click="changeshow2(subitem,1)" v-if="!subitem.show" class="arrow rotatearrow" src="/static/images/down.png" mode="" />
<image @click="changeshow2(subitem,0)" v-else class="arrow" src="/static/images/up.png" mode="" />
<image v-if="!subitem.show" class="arrow rotatearrow" src="/static/images/down.png" mode="" />
<image v-else class="arrow" src="/static/images/up.png" mode="" />
</view>
</view>
<view class="hsnrtest" v-if="subitem.show">话术内容</view>
@@ -315,22 +315,28 @@
</view>
<view v-if="zhixingcenterindex == 1">
<view v-if="prohibitedlist.length!=0" class="title1-12" @click="tapbadge(item)" v-for="(item,index) in prohibitedlist" :key='index'>{{index+1}}.{{item}}</view>
<view v-if="prohibitedlist.length==0" style="width: 100%;text-align: center;margin-top: 60rpx;">暂无数据</view>
</view>
</view>
<!-- 客户意向 -->
<view class="zhezhoa" @click="clenReceivedetailsabout()" v-if="intention"></view>
<view class="followingpop-up" v-if="intention">
<view class="guanbibox">
<view class="guanbixen">
<image @click="clenReceivedetailsabout()" src="../../static/images/Shutdown.png" mode=""></image>
</view>
<image class="guanbixen" @click="clenReceivedetailsabout()" src="../../static/images/Shutdown.png" mode=""></image>
<view class="cenisboxtab">
<view class="cenisboxtabview">
<view>客户意向</view>
</view>
</view>
</view>
<view class="cenisbox">
<view class="pingfenbox" >
<view :class="{ activecllasscet: kehuyixiangcenterindex == 0 }" @click="customerofintention(0)">系统分析</view>
<view :class="{ activecllasscet: kehuyixiangcenterindex == 1 }" @click="customerofintention(1)">人工校准</view>
</view>
<view class="cenisbox" v-if="kehuyixiangcenterindex==0">
<view style="width: 100%;height: 100%;text-align: center;margin-top: 200rpx;" v-if="Acquirecustomerintentlist.length==0">
暂无数据
</view>
@@ -343,12 +349,31 @@
</view>
</view>
<view class="bioqianwayl" v-if="item.isshow==true">
<view :class="chend.selected == 0 ? 'jiangshang' : ''"
v-for="(chend,i) in item.children" :key='i' @click="Edittag(item,chend,index,i)">{{chend.text}}</view>
<view class="jiangshang"
v-for="(chend,i) in item.children" :key='i'>{{chend.text}}</view>
</view>
</view>
</view>
<!-- @click="Edittag(item,chend,index,i)" -->
<view class="cenisbox" v-if="kehuyixiangcenterindex==1">
<view style="width: 100%;height: 100%;text-align: center;margin-top: 200rpx;" v-if="Acquirecustomerintentlist2.length==0">
暂无数据
</view>
<view class="jianbox" v-if="Acquirecustomerintentlist2.length!=0" v-for="(item,index) in Acquirecustomerintentlist2" :key='index'>
<view class="jianbox-cen">
<view class="jianboxtext">{{item.name}}</view>
<view class="jianboxjian" @click="Acquishow2(index)">
<image v-if="item.isshow==false" class="jiantop" src="../../static/images/jiantop.png" mode=""></image>
<image v-if="item.isshow==true" class="jiantop1" src="../../static/images/jianbutton.png" mode=""></image>
</view>
</view>
<view class="bioqianwayl" v-if="item.isshow==true">
<view class="jiangshang"v-for="(chend,i) in item.children" :key='i' v-if="chend.selected==0">{{chend.text}}</view>
</view>
</view>
</view>
<view class="calibration" @click="tocalibration()">校准</view>
</view>
@@ -361,8 +386,11 @@
export default {
data() {
return {
kehuyixiangcenterindex:0,
Acquirecustomerintentlist2:[],
zhixingcenterindex:0,
prohibitedlist:[],
guanjianciishow:false,
Aimg: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAACqVBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/f3////9/f39/f3////////9/f3////////////9/f3////9/f39/f3////9/f3////////9/f3////9/f3////////////////9/f39/f3////////9/f39/f3////9/f39/f3////////9/f39/f3////////9/f39/f39/f3////////////////+/v7+/v7////+/v7////+/v7////+/v7+/v7////////+/v7+/v7////+/v7////+/v7////////////////////////////+/v7////+/v7////+/v7+/v7////////////+/v7////+/v7////+/v7+/v7////////+/v7////+/v7////////+/v7////////+/v7////+/v7+/v7+/v7////////+/v7+/v7////+/v7+/v7////+/v7////+/v7////+/v7////+/v7+/v7////+/v7+/v7////+/v7////+/v7////+/v7+/v7////+/v5jdC9iAAAA4nRSTlMAAQIDBAUGBwgLDA0ODxARExQVFhgbHB4fICEiIyQmJygpKy4wMTIzNDY3ODk6Oz0+P0BBQkRGR0lKTE5PUFFTVFVXWFlcXV9gYWJjZWZnaGlqa2xtbm9wcXJzdHV2d3h6e319foGBgoODh4mKiouMjI2QkZKSk5OUlpeYmZmam5ycnZ+foKGio6SmqKmpq6yur7CwsbGytba5uru8wMDBwcLCw8XGx8jJysrLzM7P0dLT1dXW1tfY2drc3N7f4OHh5Obm5+jp6uvs7vDx8vLz8/T09fX29/f4+fn6+vz8/f7+RVDt+wAAA55JREFUGBntwf9/1HMAB/DX7XYbuXWV1cyMoixfugrRGNXytW33pbVdJ83XkiMLSb4LJd/zZUi0SKT5FmGS77HUVaixnHP2+kt8vt3Zbp/3+7P3XR5+8XziP1E4uiYcrh1bjMNi6NzXumnoeX3eSOSrpHUv+zi0ogJ5qd3JLN1XuJGzwqW0sW4oclT0Im19XIqcuNdQ4D0vcnEDhdYgB2f+SbFZUHbEdkrsLYeqFko9CEVH7qJUohxqLqODO6BmLR18XwAVRQfpZDxUnExHjVBRR0eroGIZHX0AFe10tA8qdtNZIRR00VEPVLxLRzuh4jk62gIVy+joSaiI0tECqPDT0blQ4f6RDpI+KHmYDjZBzWQ6aIaibZSK+6BoOqViUOXqoER8BJSdlqJYFDm4h0LveJAD7+cUiFciJ1U/01aiGjk65zfaSF6EnE3azQEO1iAPFZuZZes45MUT3cM+emLFyNfwK3fQ8k1sFA6L0cElTzx9d1OVC/8bNG/gzY+GQaKk461gCQZr8iMHSNZD4nySv6wYj0EYFv2UhqcgcTsN70ePhtzER3+lJe6BxXP9jTctvrl1yS1jkLaNlkTbBR6IlF3dyT78sHh+oqkSlrJe/uOH1jGw4apem2I/1yLtGRo6kRZiP73t57mQxb+Z2dqRdikNtyLtBWb78Cz05bomyQH+KIGljIYaWNxxDtC72ouMgsdpZzosHhqqYDmFdraOQNpttHUfLKU0TITlKtra6IZpCu3tgMVPQx0sG2ivDqaVFDgOppk0LIbJm6C9DTB1UCAMU4SGZ2GqocAumL6jQBtMMRq2wLScAik3dMV/UWB/EQwrafgSpk6KlEJ3LIXOgGE9DQdgqKDQSdBNoNAiGL6i6SjowhSaAt1UCm2CzpOk6QTonqfQJdBdSKGkD5pKWqZCU7iHQtdB10KxWmjOpqUJmtMp9gB091LsIWiCtCyFZiHFXoZuHcW+hiZGy0vQvE2xT6DbTolKAI/R8hmA4SmKdUG3jxIhAG/QkigAZlAi6QJQTJk2AF1MGwXcRRkfgJGU2V8EHzP8wBeUqQQwllKTcCozpuFESk0AMJNSC3AxM8KYT6lpAFootRGLmLEQ6ynVCCBAqcSQ1cy4f8ghSs0HcMzvlKp+lRmvVFMqNQ6aaIoyd3Yy49vllOmuh+H4WZFIpFnTpJmjadTM1oQ1oVAgFNQENA0N9f01BIKh8OzGOU3NkbmXzwuV41/wNztgHKhu7WKTAAAAAElFTkSuQmCC",
tablist:[],
roleindex:0,
@@ -419,10 +447,13 @@
onLoad: function(options) {
this.status = options.status;
this.customerId = options.customerId;
this.itemobj=JSON.parse(options.itemobj);
this.itemobj = uni.getStorageSync('searchobj');
console.log(this.itemobj)
this.stateisshow=options.stateisshow;
},
onShow() {
this.intention=false;
this.kehuyixiangcenterindex=0;
this.buildingID = uni.getStorageSync('buildingID').id;
this.userInfo = uni.getStorageSync('weapp_session_userInfo_data');
if (this.userInfo.dataCode == 6) {
@@ -436,9 +467,6 @@
var currPage = pages[pages.length - 1]; //当前页面
var info = currPage.data.info;
}
console.log(info)
this.innerAudioContext = uni.createInnerAudioContext();
this.innerAudioContext.autoplay = false;
this.innerAudioContext.title = '音频';
@@ -451,6 +479,7 @@
this.onSeeked()
this.TimeUpdate()
this.init(info)
},
// 在组件实例被从页面节点树移除时执行
destroyed: function() {
@@ -463,6 +492,38 @@
this.innerAudioContext.destroy();
},
methods: {
//关键词点击
tapbadge(item){
//进搜索页面
uni.navigateTo({
url: '/pages/learning/Keywordsearch?customerId='+this.customerId +"&keyword="+item +"&skpl="+ "2"
})
},
recordclick(i){
this.zhixingcenterindex=i;
if(i==0){
this.getRatelist()
}else{
console.log('999')
this.huoqujinji()
}
},
//获取禁忌
huoqujinji(){
uni.showLoading({
title: '加载中'
});
this.$u.get("/customer/findTabooWordsByCusId", {
cusId: this.customerId
}).then(res => {
if (res.length) {
this.prohibitedlist=res;
}
setTimeout(function() {
uni.hideLoading();
}, 1000);
})
},
//评分点击
clickaudeopal(item){
this.innerAudioContext.destroy();
@@ -482,21 +543,60 @@
this.userlistobj=res;
})
},
//获取意向信息
Acquishow2(i){
this.Acquirecustomerintentlist2[i].isshow=!this.Acquirecustomerintentlist2[i].isshow;
},
tocalibration(){
this.innerAudioContext.destroy();
uni.navigateTo({
url: '/pages/mine/calibration?id='+this.customerId
});
},
customerofintention(i){
this.kehuyixiangcenterindex=i;
if(i==0){
this.Acquirecustomerintent()
}else{
this.Acquirecustomerintent2()
}
},
//获取人工校准意向信息
Acquirecustomerintent2(){
this.Acquirecustomerintentlist2=[];
this.$u.get("/matchKeywords/findManualCalibration", {
customerId: this.customerId,
type:1
}).then(res => {
res.forEach(item=>{
item.isshow=true;
item.children.forEach(chend=>{
if(chend.isInterval==0){
chend.text=chend.name+chend.unit+'-'+chend.endName+chend.unit
}else{
chend.text=chend.name
}
})
})
this.Acquirecustomerintentlist2=res;
})
},
//获取系统意向信息
Acquirecustomerintent(){
this.$u.get("/matchKeywords/findPersonalMatchData", {
this.Acquirecustomerintentlist=[];
this.$u.get("/matchKeywords/findSystemAnalysis", {
customerId: this.customerId
}).then(res => {
res.forEach(item=>{
item.isshow=true;
item.children.forEach(chend=>{
if(item.name=='意向面积'){
chend.text=chend.name+'m²'+'-'+chend.endName+'m²'
}else if(item.name=='购房预算'){
chend.text=chend.name+'万'+'-'+chend.endName+'万'
if(chend.isInterval==0){
chend.text=chend.name+chend.unit+'-'+chend.endName+chend.unit
}else{
chend.text=chend.name
}
}
})
})
this.Acquirecustomerintentlist=res;
@@ -1166,18 +1266,10 @@
},
//评分上下显隐
changeshow(item, type) {
if (type == 1) {
item.show = true
} else {
item.show = false
}
item.show=!item.show;
},
changeshow2(item, type){
if (type == 1) {
item.show = true
} else {
item.show = false
}
item.show=!item.show;
},
// 获取评分
getRatelist() {
@@ -1190,6 +1282,7 @@
}).then(res => {
if (res.length) {
let level1 = []
let level2rate = 0
res.forEach(item => {
if (item.pid == 0) {
level1.push({
@@ -1201,9 +1294,13 @@
ratepercent: 0,
children: []
})
}
} else {
if (item.selected == 0) {
level2rate += item.fraction
}
}
})
// this.totalRate = level2rate;
this.totalRate = level2rate;
res.forEach(subitem => {
let subitempid = subitem.pid
level1.forEach(item => {
@@ -1483,6 +1580,31 @@
height: 100vh;
display:flex;
flex-direction:column;
.pingfenbox{
width: 100%;
height: 60rpx;
line-height: 60rpx;
border-bottom: 1px solid #E0E0E0;
display: flex;
}
.pingfenbox view{
flex: 1;
text-align: center;
font-size: 28rpx;
text-indent: 20rpx;
}
.activecllasscet{
background: #2671E2;
color: #FFFFFF;
}
.title1-12{
font-size: 28rpx;
color:#2671E2;
font-weight: 400;
text-indent: 30rpx;
margin-top: 18rpx;
}
.headbox{
width: 100%;
min-height: 173rpx;
@@ -1637,18 +1759,31 @@
z-index: 1000;
display:flex;
flex-direction:column;
position: relative;
.calibration{
width: 90rpx;
height: 90rpx;
background: #2671E2;
text-align: center;
line-height: 90rpx;
border-radius: 50%;
color: #FFFFFF;
position: absolute;
right: 30rpx;
bottom: 100rpx;
}
.guanbibox{
width: 100%;
padding-bottom: 20rpx;
margin-top: 20rpx;
border-bottom: 1px solid #E0E0E0;
position: relative;
.guanbixen{
width: 95%;
text-align: right;
padding-top: 24rpx;
}
.guanbixen image{
width:30rpx;
height:30rpx;
position: absolute;
right: 30rpx;
top: 6rpx;
}
.cenisboxtab{
width: 100%;
@@ -2097,7 +2232,7 @@
.Level1che{
width:100%;
height: 94rpx;
background: #E0E0E0;
background: #F5F5F5;
display: flex;
line-height: 94rpx;
align-items: center;


+ 9
- 3
pages/mine/reception/addreception.vue 查看文件

@@ -238,8 +238,8 @@
this.Showhid=false;
},
confirm1(e) {
this.text=e[0].label;
this.parames.agentId=e[0].value;
this.text=e[0].label;
this.parames.agentId=e[0].value;
this.Showhid=false;
},
@@ -273,7 +273,13 @@
this.$u.get("/zkAgentPool/freeList?itemId="+this.parames.projectId).then(res => {
this.freeList = res;
this.freeList.forEach(item=>{
item.label=item.name;
if(item.onLine==0){
item.label=item.name+"(离线)";
}else if(item.onLine==1){
item.label=item.name+"(在线)";
}else{
item.label=item.name+"(无设备)";
}
item.value=item.agentId
})
})


二進制
static/images/bishang.png 查看文件

Before After
Width: 60  |  Height: 32  |  Size: 1.5 KiB

二進制
static/images/rankingguwen.png 查看文件

Before After
Width: 136  |  Height: 136  |  Size: 8.2 KiB

二進制
static/images/zhengkai.png 查看文件

Before After
Width: 60  |  Height: 40  |  Size: 2.4 KiB

+ 2
- 2
utils/http.js 查看文件

@@ -1,9 +1,9 @@

// const baseUrl = 'http://121.42.63.138:9091/autoSR/api';// 测试站
const baseUrl = 'http://121.42.63.138:9091/autoSR/api';// 测试站
// const baseUrl = 'http://192.168.31.161:8080/autoSR/api'; // 长龙
// const baseUrl = 'http://192.168.31.128:8080/autoSR/api'; // 佳豪
// const baseUrl = 'http://10.2.1.104:8081/autoSR/api'; // 刘敏
const baseUrl = 'https://zkgj.quhouse.com/api'; // 质控正式
// const baseUrl = 'https://zkgj.quhouse.com/api'; // 质控正式
// const baseUrl = 'https://hfju.com/api'; // 数智正式

const install = (Vue, vm) => {


Loading…
取消
儲存