@@ -79,6 +79,12 @@ | |||
} | |||
return obj | |||
}, | |||
// 检测权限 返回 Boolean类型 | |||
CHECKAUTHORITY(name = '') { | |||
let menu = uni.getStorageSync('weapp_session_Menu_data') | |||
return menu[name] === undefined ? false : menu[name] | |||
}, | |||
}, | |||
filters: { | |||
@@ -197,7 +197,6 @@ | |||
this.renderIsPlay = renderIsPlay; | |||
this.audio = renderinfo; | |||
this.loading = loading; | |||
console.log(this.playinfo) | |||
}); | |||
this.$zaudio.syncRender() | |||
}); | |||
@@ -226,7 +225,6 @@ | |||
//进度拖到 | |||
change(event) { | |||
if (this.renderIsPlay) { | |||
console.log(event) | |||
this.$zaudio.seek(event.detail.value); | |||
} | |||
}, | |||
@@ -1,6 +1,6 @@ | |||
const ENV_PATH = { | |||
// baseUrl: 'https://www.aihxz.com/', // 销讲助手 | |||
baseUrl: 'https://hxz.quhouse.com', // 销讲助手 | |||
baseUrl: 'https://www.aihxz.com', // 销讲助手 | |||
// baseUrl: 'https://hxz.quhouse.com', // 销讲助手 | |||
} | |||
module.exports = ENV_PATH |
@@ -19,36 +19,38 @@ | |||
<view class="title1" style="flex: 1;">接待量排名(TOP10)</view> | |||
</view> | |||
<view class="hejisan"> | |||
<view class="sanbox1" > | |||
<view class="sanbox1"> | |||
<view class="text1-2">{{newlisttabinfo1.total}}</view> | |||
<view class="text1-1">合计接待次数</view> | |||
</view> | |||
<view class="sanbox1" > | |||
<view class="sanbox1"> | |||
<view class="text1-2">{{newlisttabinfo1.count}}</view> | |||
<view class="text1-1">顾问人数</view> | |||
</view> | |||
<view class="sanbox1"> | |||
<view class="sanbox1"> | |||
<view class="text1-2">{{newlisttabinfo1.avg}}</view> | |||
<view class="text1-1">人均接待次数</view> | |||
</view> | |||
</view> | |||
<view class="jindu" style="margin-top: 20rpx;"> | |||
<view v-if="newlisttabinfo1.result.length" class="jindu-box" v-for="(item,index) in newlisttabinfo1.result" :key="index"> | |||
<view v-if="newlisttabinfo1.result.length" class="jindu-box" | |||
v-for="(item,index) in newlisttabinfo1.result" :key="index"> | |||
<view class="jindu-boxche"> | |||
<view class="jindu-name u-flex" style='width: 170rpx' v-if="item.name"> | |||
<image v-if="index==0" class="sort-img" src="/static/images/top1.png" mode="" /> | |||
<image v-if="index==1" class="sort-img" src="/static/images/top2.png" mode="" /> | |||
<image v-if="index==2" class="sort-img" src="/static/images/top3.png" mode="" /> | |||
<view class="sort-number" v-if="index>2">{{index+1}}</view> | |||
{{item.name.substring(0,4)}}</view> | |||
{{item.name.substring(0,4)}} | |||
</view> | |||
<view class="progress-cus"> | |||
<view class="color1" v-if="index==0" :style="'width:'+ item.zxl||0 + '%'" ></view> | |||
<view class="color2" v-if="index==1" :style="'width:'+ getPercent(item.zxl,1) + '%'" ></view> | |||
<view class="color3" v-if="index==2" :style="'width:'+ getPercent(item.zxl,1) + '%'" ></view> | |||
<view class="color4" v-if="index>2" :style="'width:'+ getPercent(item.zxl,1) + '%'" ></view> | |||
<view class="color1" v-if="index==0" :style="'width:'+ item.zxl||0 + '%'"></view> | |||
<view class="color2" v-if="index==1" :style="'width:'+ getPercent(item.zxl,1) + '%'"></view> | |||
<view class="color3" v-if="index==2" :style="'width:'+ getPercent(item.zxl,1) + '%'"></view> | |||
<view class="color4" v-if="index>2" :style="'width:'+ getPercent(item.zxl,1) + '%'"></view> | |||
</view> | |||
<view class="jindu-zxl" >{{item.zxl==null?0:item.zxl}}次</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;"> | |||
@@ -59,36 +61,38 @@ | |||
<view class="single"> | |||
<view class="title"> | |||
<view class="title1" style="flex: 1;">平均执行率排行(TOP10)</view> | |||
<view class="title1" style="flex: 1;">平均执行率排行(TOP10)</view> | |||
</view> | |||
<view class="hejisan"> | |||
<view class="sanbox1" style="width: 40%;"> | |||
<view class="sanbox1" style="width: 40%;"> | |||
<view class="text1-2">{{newlisttabinfo3.count}}</view> | |||
<view class="text1-1">顾问人数</view> | |||
</view> | |||
<view class="sanbox1" style="width: 25%;"> | |||
<view class="sanbox1" style="width: 25%;"> | |||
<view class="text1-2">{{newlisttabinfo3.avg}}%</view> | |||
<view class="text1-1">人均执行率</view> | |||
</view> | |||
</view> | |||
<view class="jindu" style="margin-top: 20rpx;"> | |||
<view v-if="newlisttabinfo3.result.length" class="jindu-box" v-for="(item,index) in newlisttabinfo3.result" :key="index"> | |||
<view v-if="newlisttabinfo3.result.length" class="jindu-box" | |||
v-for="(item,index) in newlisttabinfo3.result" :key="index"> | |||
<view class="jindu-boxche"> | |||
<view class="jindu-name u-flex" style='width: 170rpx' v-if="item.name"> | |||
<image v-if="index==0" class="sort-img" src="/static/images/top1.png" mode="" /> | |||
<image v-if="index==1" class="sort-img" src="/static/images/top2.png" mode="" /> | |||
<image v-if="index==2" class="sort-img" src="/static/images/top3.png" mode="" /> | |||
<view class="sort-number" v-if="index>2">{{index+1}}</view> | |||
{{item.name.substring(0,4)}}</view> | |||
{{item.name.substring(0,4)}} | |||
</view> | |||
<!-- <view class="jindu-name" v-if="item.name">{{item.name.substring(0,4)}}</view> --> | |||
<!-- <view class="progress-cus"> | |||
<view class="color" :style="'width:'+ item.zxl||0 + '%'" ></view> | |||
</view> --> | |||
<view class="progress-cus"> | |||
<view class="color1" v-if="index==0" :style="'width:'+ getPercent1(item.zxl) + '%'" ></view> | |||
<view class="color2" v-if="index==1" :style="'width:'+ getPercent1(item.zxl) + '%'" ></view> | |||
<view class="color3" v-if="index==2" :style="'width:'+ getPercent1(item.zxl) + '%'" ></view> | |||
<view class="color4" v-if="index>2" :style="'width:'+ getPercent1(item.zxl) + '%'" ></view> | |||
<view class="progress-cus"> | |||
<view class="color1" v-if="index==0" :style="'width:'+ getPercent1(item.zxl) + '%'"></view> | |||
<view class="color2" v-if="index==1" :style="'width:'+ getPercent1(item.zxl) + '%'"></view> | |||
<view class="color3" v-if="index==2" :style="'width:'+ getPercent1(item.zxl) + '%'"></view> | |||
<view class="color4" v-if="index>2" :style="'width:'+ getPercent1(item.zxl) + '%'"></view> | |||
</view> | |||
<view class="jindu-zxl">{{item.zxl==null?0:item.zxl}}%</view> | |||
</view> | |||
@@ -103,33 +107,35 @@ | |||
<view class="title1" style="flex: 1;">录音时长(TOP10)</view> | |||
</view> | |||
<view class="hejisan"> | |||
<view class="sanbox1" > | |||
<view class="sanbox1"> | |||
<view class="text1-2">{{newlisttabinfo2.total}}</view> | |||
<view class="text1-1">合计时长/分钟</view> | |||
</view> | |||
<view class="sanbox1"> | |||
<view class="sanbox1"> | |||
<view class="text1-2">{{newlisttabinfo2.count}}</view> | |||
<view class="text1-1">顾问人数</view> | |||
</view> | |||
<view class="sanbox1" > | |||
<view class="sanbox1"> | |||
<view class="text1-2">{{newlisttabinfo2.avg}}</view> | |||
<view class="text1-1">人均录音时长/分钟</view> | |||
</view> | |||
</view> | |||
<view class="jindu" style="margin-top: 20rpx;"> | |||
<view v-if="newlisttabinfo2.result.length" class="jindu-box" v-for="(item,index) in newlisttabinfo2.result" :key="index"> | |||
<view v-if="newlisttabinfo2.result.length" class="jindu-box" | |||
v-for="(item,index) in newlisttabinfo2.result" :key="index"> | |||
<view class="jindu-boxche"> | |||
<view class="jindu-name u-flex" style='width: 170rpx' v-if="item.name"> | |||
<image v-if="index==0" class="sort-img" src="/static/images/top1.png" mode="" /> | |||
<image v-if="index==1" class="sort-img" src="/static/images/top2.png" mode="" /> | |||
<image v-if="index==2" class="sort-img" src="/static/images/top3.png" mode="" /> | |||
<view class="sort-number" v-if="index>2">{{index+1}}</view> | |||
{{item.name.substring(0,4)}}</view> | |||
{{item.name.substring(0,4)}} | |||
</view> | |||
<view class="progress-cus"> | |||
<view class="color1" v-if="index==0" :style="'width:'+ item.zxl||0 + '%'" ></view> | |||
<view class="color2" v-if="index==1" :style="'width:'+ getPercent(item.zxl,2)+ '%'" ></view> | |||
<view class="color3" v-if="index==2" :style="'width:'+ getPercent(item.zxl,2)+ '%'" ></view> | |||
<view class="color4" v-if="index>2" :style="'width:'+ getPercent(item.zxl,2)+ '%'" ></view> | |||
<view class="color1" v-if="index==0" :style="'width:'+ item.zxl||0 + '%'"></view> | |||
<view class="color2" v-if="index==1" :style="'width:'+ getPercent(item.zxl,2)+ '%'"></view> | |||
<view class="color3" v-if="index==2" :style="'width:'+ getPercent(item.zxl,2)+ '%'"></view> | |||
<view class="color4" v-if="index>2" :style="'width:'+ getPercent(item.zxl,2)+ '%'"></view> | |||
</view> | |||
<view class="jindu-zxl u-line-1">{{item.zxl==null?0:item.zxl}}分钟</view> | |||
</view> | |||
@@ -149,31 +155,34 @@ | |||
<view class="text1-2">{{newlisttabinfo4.total}}</view> | |||
<view class="text1-1">合计次数</view> | |||
</view> | |||
<view class="sanbox1"> | |||
<view class="sanbox1"> | |||
<view class="text1-2">{{newlisttabinfo4.count}}人</view> | |||
<view class="text1-1">顾问人数</view> | |||
</view> | |||
<view class="sanbox1"> | |||
<view class="sanbox1"> | |||
<view class="text1-2">{{newlisttabinfo4.avg}}</view> | |||
<view class="text1-1">人均违禁次数</view> | |||
</view> | |||
</view> | |||
<view class="jindu" style="margin-top: 20rpx;min-height: 300rpx"> | |||
<view v-if="newlisttabinfo4.result.length" class="jindu-box" v-for="(item,index) in newlisttabinfo4.result" :key="index"> | |||
<view v-if="newlisttabinfo4.result.length" class="jindu-box" | |||
v-for="(item,index) in newlisttabinfo4.result" :key="index"> | |||
<view class="jindu-boxche"> | |||
<view class="jindu-name u-flex" style='width: 170rpx' v-if="item.name"> | |||
<image v-if="index==0" class="sort-img" src="/static/images/top1.png" mode="" /> | |||
<image v-if="index==1" class="sort-img" src="/static/images/top2.png" mode="" /> | |||
<image v-if="index==2" class="sort-img" src="/static/images/top3.png" mode="" /> | |||
<view class="sort-number" v-if="index>2">{{index+1}}</view> | |||
{{item.name.substring(0,4)}}</view> | |||
{{item.name.substring(0,4)}} | |||
</view> | |||
<view class="progress-cus"> | |||
<view class="color1" v-if="index==0" :style="'width:'+ item.zxl||0 + '%'" ></view> | |||
<view class="color2" v-if="index==1" :style="'width:'+ getPercent(item.zxl,4)+ '%'" ></view> | |||
<view class="color3" v-if="index==2" :style="'width:'+ getPercent(item.zxl,4) + '%'" ></view> | |||
<view class="color4" v-if="index>2" :style="'width:'+ getPercent(item.zxl,4)+ '%'" ></view> | |||
<view class="color1" v-if="index==0" :style="'width:'+ item.zxl||0 + '%'"></view> | |||
<view class="color2" v-if="index==1" :style="'width:'+ getPercent(item.zxl,4)+ '%'"></view> | |||
<view class="color3" v-if="index==2" :style="'width:'+ getPercent(item.zxl,4) + '%'"></view> | |||
<view class="color4" v-if="index>2" :style="'width:'+ getPercent(item.zxl,4)+ '%'"></view> | |||
</view> | |||
<view class="jindu-zxl" >{{item.zxl==null?0:item.zxl}}次</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;"> | |||
@@ -191,11 +200,11 @@ | |||
<view class="text1-2">{{newlisttabinfo5.total||0}}</view> | |||
<view class="text1-1">合计</view> | |||
</view> | |||
<view class="sanbox1"> | |||
<view class="sanbox1"> | |||
<view class="text1-2">{{newlisttabinfo5.count||0}}人</view> | |||
<view class="text1-1">顾问</view> | |||
</view> | |||
<view class="sanbox1"> | |||
<view class="sanbox1"> | |||
<view class="text1-2">{{newlisttabinfo5.avg||0}}</view> | |||
<view class="text1-1">均值</view> | |||
</view> | |||
@@ -203,20 +212,21 @@ | |||
<view class="jindu" style="margin-top: 20rpx;min-height: 300rpx"> | |||
<view v-if="newlisttabinfo5.result.length!=0" class="jindu-box" | |||
v-for="(item,index) in newlisttabinfo5.result" :key="index"> | |||
<view class="jindu-boxche" > | |||
<view class="jindu-boxche"> | |||
<view class="jindu-name u-flex" style='width: 170rpx' v-if="item.name"> | |||
<image v-if="index==0" class="sort-img" src="/static/images/top1.png" mode="" /> | |||
<image v-if="index==1" class="sort-img" src="/static/images/top2.png" mode="" /> | |||
<image v-if="index==2" class="sort-img" src="/static/images/top3.png" mode="" /> | |||
<view class="sort-number" v-if="index>2">{{index+1}}</view> | |||
{{item.name.substring(0,4)}}</view> | |||
{{item.name.substring(0,4)}} | |||
</view> | |||
<view class="progress-cus"> | |||
<view class="color1" v-if="index==0" :style="'width:'+ item.zxl||0 + '%'" ></view> | |||
<view class="color2" v-if="index==1" :style="'width:'+ getPercent(item.zxl,5)+ '%'" ></view> | |||
<view class="color3" v-if="index==2" :style="'width:'+ getPercent(item.zxl,5) + '%'" ></view> | |||
<view class="color4" v-if="index>2" :style="'width:'+ getPercent(item.zxl,5)+ '%'" ></view> | |||
<view class="color1" v-if="index==0" :style="'width:'+ item.zxl||0 + '%'"></view> | |||
<view class="color2" v-if="index==1" :style="'width:'+ getPercent(item.zxl,5)+ '%'"></view> | |||
<view class="color3" v-if="index==2" :style="'width:'+ getPercent(item.zxl,5) + '%'"></view> | |||
<view class="color4" v-if="index>2" :style="'width:'+ getPercent(item.zxl,5)+ '%'"></view> | |||
</view> | |||
<view class="jindu-zxl" >{{item.zxl==null?0:item.zxl}}次</view> | |||
<view class="jindu-zxl">{{item.zxl==null?0:item.zxl}}次</view> | |||
</view> | |||
</view> | |||
<view v-if="newlisttabinfo5.result.length==0" style="width: 100%;text-align: center;margin-top: 60rpx;"> | |||
@@ -225,10 +235,10 @@ | |||
</view> | |||
</view> | |||
<u-calendar v-model="totalTimeShow" mode="range" @change="totalTimeChange"></u-calendar> | |||
<!-- 加载组件 --> | |||
<u-loadings v-model="LOADING"></u-loadings> | |||
</view> | |||
</template> | |||
@@ -284,73 +294,66 @@ | |||
this.init() | |||
}, | |||
computed: { | |||
}, | |||
onPullDownRefresh(){ | |||
onPullDownRefresh() { | |||
this.init() | |||
setTimeout(function() { | |||
uni.stopPullDownRefresh(); | |||
}, 1000); | |||
}, | |||
methods: { | |||
getPercent(num,type) { | |||
if(this.newlisttabinfo1.result&&this.newlisttabinfo1.result.length&&type==1){ | |||
console.log(this.newlisttabinfo1.result) | |||
getPercent(num, type) { | |||
if (this.newlisttabinfo1.result && this.newlisttabinfo1.result.length && type == 1) { | |||
let index0 = this.newlisttabinfo1.result[0] | |||
let percent = num/(index0.zxl) * 100 | |||
// console.log(index0.zxl) | |||
// console.log(index0) | |||
// console.log('num',num) | |||
// console.log(percent) | |||
// console.log(percent.toFixed(2)) | |||
let percent = num / (index0.zxl == 0 ? 1 : index0.zxl) * 100 | |||
return percent.toFixed(2) | |||
}else if(this.newlisttabinfo2.result&&this.newlisttabinfo2.result.length&&type==2){ | |||
} else if (this.newlisttabinfo2.result && this.newlisttabinfo2.result.length && type == 2) { | |||
let index0 = this.newlisttabinfo2.result[0] | |||
let percent = num/(index0.zxl) * 100 | |||
let percent = num / (index0.zxl == 0 ? 1 : index0.zxl) * 100 | |||
return percent.toFixed(2) | |||
}else if(this.newlisttabinfo4.result&&this.newlisttabinfo4.result.length&&type==4){ | |||
} else if (this.newlisttabinfo4.result && this.newlisttabinfo4.result.length && type == 4) { | |||
let index0 = this.newlisttabinfo4.result[0] | |||
let percent = num/(index0.zxl) * 100 | |||
let percent = num / (index0.zxl == 0 ? 1 : index0.zxl) * 100 | |||
return percent.toFixed(2) | |||
}else if(this.newlisttabinfo5.result&&this.newlisttabinfo5.result.length&&type==5){ | |||
} else if (this.newlisttabinfo5.result && this.newlisttabinfo5.result.length && type == 5) { | |||
let index0 = this.newlisttabinfo5.result[0] | |||
let percent = num/(index0.zxl) * 100 | |||
let percent = num / (index0.zxl == 0 ? 1 : index0.zxl) * 100 | |||
return percent.toFixed(2) | |||
}else{ | |||
} else { | |||
return 0 | |||
} | |||
}, | |||
getPercent1(num){ | |||
console.log(num) | |||
return num||0 | |||
getPercent1(num) { | |||
return num || 0 | |||
}, | |||
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:[], | |||
} | |||
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: [], | |||
} | |||
this.newlisttabinfo2 = { | |||
avg: '', | |||
count: '', | |||
@@ -458,7 +461,6 @@ | |||
//自定义时间 | |||
totalTimeChange(e) { | |||
console.log(e.startDate, e.endDate) | |||
this.activeTotal = 3; | |||
this.lastEndDate = e.endDate | |||
this.lastStartDate = e.startDate | |||
@@ -470,8 +472,8 @@ | |||
if (index == 3) { | |||
this.totalTimeShow = true; | |||
} else { | |||
this.lastEndDate=''; | |||
this.lastStartDate=''; | |||
this.lastEndDate = ''; | |||
this.lastStartDate = ''; | |||
this.init() | |||
} | |||
}, | |||
@@ -481,22 +483,6 @@ | |||
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 | |||
// } | |||
arr.map(item => { | |||
item.zxl1 = Math.floor(item.zxl / num * 100) | |||
}) | |||
@@ -513,10 +499,11 @@ | |||
background: #FAFAFA; | |||
} | |||
.single{ | |||
padding-bottom: 20rpx; | |||
margin-top: 20rpx; | |||
} | |||
.single { | |||
padding-bottom: 20rpx; | |||
margin-top: 20rpx; | |||
} | |||
.boxtittab { | |||
position: sticky; | |||
top: var(--window-top); | |||
@@ -529,15 +516,17 @@ | |||
display: flex; | |||
padding-top: 20rpx; | |||
padding-bottom:20rpx; | |||
.sanbox1{ | |||
padding-bottom: 20rpx; | |||
.sanbox1 { | |||
flex: 1; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: center; | |||
align-items: center; | |||
position: relative; | |||
&::after{ | |||
&::after { | |||
position: absolute; | |||
content: ''; | |||
width: 1rpx; | |||
@@ -546,6 +535,7 @@ | |||
right: 0; | |||
top: 0; | |||
} | |||
&:last-child::after { | |||
position: absolute; | |||
content: ''; | |||
@@ -556,7 +546,8 @@ | |||
background: #fff; | |||
} | |||
} | |||
.text1-1{ | |||
.text1-1 { | |||
font-size: 24rpx; | |||
font-family: PingFangSC-Regular, PingFang SC; | |||
font-weight: 400; | |||
@@ -572,26 +563,29 @@ | |||
margin-bottom: 10rpx; | |||
} | |||
} | |||
.jindu-name{ | |||
width: 180rpx; | |||
margin-left: 15rpx; | |||
} | |||
.sort-img{ | |||
width: 44rpx; | |||
height: 44rpx; | |||
margin-right: 15rpx; | |||
} | |||
.sort-number{ | |||
width: 40rpx; | |||
height: 40rpx; | |||
background: #E5F0FF; | |||
border-radius: 50%; | |||
font-size: 24rpx; | |||
font-family: PingFangSC-Regular, PingFang SC; | |||
font-weight: 400; | |||
color: #333333; | |||
text-align: center; | |||
line-height: 40rpx; | |||
margin-right: 15rpx; | |||
} | |||
.jindu-name { | |||
width: 180rpx; | |||
margin-left: 15rpx; | |||
} | |||
.sort-img { | |||
width: 44rpx; | |||
height: 44rpx; | |||
margin-right: 15rpx; | |||
} | |||
.sort-number { | |||
width: 40rpx; | |||
height: 40rpx; | |||
background: #E5F0FF; | |||
border-radius: 50%; | |||
font-size: 24rpx; | |||
font-family: PingFangSC-Regular, PingFang SC; | |||
font-weight: 400; | |||
color: #333333; | |||
text-align: center; | |||
line-height: 40rpx; | |||
margin-right: 15rpx; | |||
} | |||
</style> |
@@ -136,15 +136,16 @@ | |||
</view> | |||
</view> | |||
<view class="footer-button" v-if="item.status!=0"> | |||
<view v-if="permissions.commonly4" class="footer1" @click.stop="addTime(item)">接待延时</view> | |||
<view v-if="permissions.commonly3" class="footer1" @click.stop="assign(item)">重新指派</view> | |||
<view v-if="permissions.commonly5" class="footer3" @click.stop="changeEnd(item.id)">结束接待</view> | |||
<view v-if="CHECKAUTHORITY('jdys')" class="footer1" @click.stop="addTime(item)">接待延时</view> | |||
<view v-if="CHECKAUTHORITY('jd_zp')" class="footer1" @click.stop="assign(item)">重新指派</view> | |||
<view v-if="CHECKAUTHORITY('jsjd')" class="footer3" @click.stop="changeEnd(item.id)">结束接待</view> | |||
</view> | |||
<view class="footer-button" v-if="item.status==0 && permissions.commonly3"> | |||
<view class="footer3" @click.stop="assign(item)">指派顾问</view> | |||
<view class="footer-button" v-if="item.status==0"> | |||
<view v-if="CHECKAUTHORITY('scjd')" @tap.stop="deleteReception(item)" class="footer3">删除接待</view> | |||
<view v-if="CHECKAUTHORITY('jd_zp')" class="footer3" @click.stop="assign(item)">指派顾问</view> | |||
</view> | |||
</view> | |||
<image v-if="permissions.commonly2" @click="addreception()" class="add" src="/static/images/add.png" mode=""> | |||
<image v-if="CHECKAUTHORITY('jd_xz')" @click="addreception()" class="add" src="/static/images/add.png" mode=""> | |||
</image> | |||
<image class="add2" @click="reshCustom()" src="https://static.quhouse.com/zhikong_xcx_img/refresh.png" mode=""> | |||
</image> | |||
@@ -152,7 +153,7 @@ | |||
</template> | |||
<script> | |||
var config = require("../../config"); | |||
var config = require("../../config"); | |||
export default { | |||
data() { | |||
return { | |||
@@ -162,16 +163,8 @@ | |||
//--- end --- tabbar配置项 | |||
buildingID: '', | |||
waitCustomList: [], | |||
isAdd: '', | |||
dataCode: '', | |||
addAccount: '', | |||
permissions: { | |||
commonly1: false, //查看 | |||
commonly2: false, //添加 | |||
commonly3: false, //指派 | |||
commonly4: false, | |||
commonly5: false, | |||
}, | |||
}; | |||
}, | |||
computed: { | |||
@@ -183,20 +176,9 @@ | |||
return totalTime - nowTime | |||
} | |||
} | |||
// judgeHalfAnHour(){ | |||
// return (e)=>{ | |||
// } | |||
// } | |||
}, | |||
onShow() { | |||
this.buildingID = uni.getStorageSync('buildingID').id; | |||
let newmenulist = uni.getStorageSync('weapp_session_Menu_data'); | |||
this.permissions.commonly1 = newmenulist.jd_ck; | |||
this.permissions.commonly2 = newmenulist.jd_xz; | |||
this.permissions.commonly3 = newmenulist.jd_zp; | |||
this.permissions.commonly4 = newmenulist.jdys; | |||
this.permissions.commonly5 = newmenulist.jsjd; | |||
const { | |||
addAccount, | |||
dataCode | |||
@@ -204,7 +186,6 @@ | |||
this.addAccount = addAccount; | |||
this.dataCode = dataCode; | |||
this.init() | |||
this.queryHaveDept() | |||
this.updateInit() | |||
}, | |||
@@ -215,18 +196,39 @@ | |||
}, 1000); | |||
}, | |||
methods: { | |||
// 删除接待 | |||
deleteReception(data) { | |||
uni.showModal({ | |||
content: `确认删除“${data.name}”接待吗?`, | |||
cancelColor: "#999999", | |||
success: res => { | |||
if (res.confirm) { | |||
this.$u.get(`/customer/delete?id=${data.id}`).then(res => { | |||
if (!res) { | |||
this.init() | |||
} | |||
}).catch(e => { | |||
console.log(e) | |||
uni.showToast({ | |||
title: '网络异常,请稍后重试~', | |||
icon: 'none' | |||
}); | |||
}) | |||
} | |||
} | |||
}) | |||
}, | |||
// 未读消息数量 | |||
updateInit() { | |||
this.$u.get(config.service.notReadNum, { | |||
id: uni.getStorageSync('weapp_session_userInfo_data').accountId, | |||
projectId: uni.getStorageSync('buildingID').id | |||
}).then(res => { | |||
console.log(res) | |||
if (res > 0) { | |||
uni.setTabBarBadge({ //显示数字 | |||
index: 4, //tabbar下标 | |||
text: `${res}`//数字 | |||
text: `${res}` //数字 | |||
}) | |||
} else { | |||
uni.removeTabBarBadge({ | |||
@@ -244,7 +246,7 @@ | |||
this.init() | |||
}, | |||
tapThevisiting(item) { | |||
if (this.permissions.commonly1 != true) { | |||
if (this.CHECKAUTHORITY('jd_ck') != true) { | |||
return | |||
} | |||
uni.showLoading({ | |||
@@ -294,14 +296,6 @@ | |||
} | |||
}, | |||
queryHaveDept() { | |||
return new Promise((resolve, reject) => { | |||
this.$u.get("/user/queryHaveDept?houseId=" + this.buildingID).then(res => { | |||
this.isAdd = res; | |||
resolve(); | |||
}) | |||
}) | |||
}, | |||
init() { | |||
this.waitCustomList = [] | |||
let parames = { | |||
@@ -346,7 +340,7 @@ | |||
uni.showToast({ | |||
icon: "none", | |||
title: "操作成功" | |||
}) | |||
}) | |||
this.init(); | |||
}); | |||
} | |||
@@ -8,55 +8,67 @@ | |||
<!-- 内容部分 :style="[otherHeight]" --> | |||
<view class="container"> | |||
<template v-if="activeClass==0"> | |||
<view class="cented"> | |||
<block v-for="(item,index) in alllist" :key="index"> | |||
<view class="ceninfo" @click="quclick(item)"> | |||
<view class="infoview"> | |||
<view class="infozuo"> | |||
<view class="infozuochiud2">顾</view> | |||
<view class="infozuochiud1">{{item.jbaName}}</view> | |||
</view> | |||
<view class="infoyou"> | |||
<view class="infoyouchiud2">{{ item.studyStatus }}</view> | |||
</view> | |||
</view> | |||
<view class="footerinfo"> | |||
<view class="footerinfozuo"> | |||
<image src="../../static/images/img/time.png" mode=""></image> | |||
{{item.assignedTime}} | |||
</view> | |||
<view class="footerinfozuo"> | |||
<image src="../../static/images/img/voice.png" mode=""></image> | |||
{{ item.duration | formatTime }}min | |||
</view> | |||
<view class="footerinfozuo" style="color: #2671E2;"> | |||
<image src="../../static/images/img/percent.png" mode=""></image> | |||
{{ item.fraction || 0 }}% | |||
</view> | |||
</view> | |||
<!-- 底部按钮组 --> | |||
<view class="footicon"> | |||
<view class="icon"> | |||
<image class="Piabodata-img1" src="../../static/images/img/view.png" mode=""> | |||
</image> | |||
<!-- 浏览量 --> | |||
{{ item.pageviews || 0 }} | |||
<template v-if="alllist.length > 0"> | |||
<view class="cented"> | |||
<block v-for="(item,index) in alllist" :key="index"> | |||
<view class="ceninfo" @click="quclick(item)"> | |||
<view class="infoview"> | |||
<view class="infozuo"> | |||
<view class="infozuochiud2">顾</view> | |||
<view class="infozuochiud1">{{item.jbaName}}</view> | |||
</view> | |||
<view class="infoyou"> | |||
<view class="infoyouchiud2">{{ item.studyStatus }}</view> | |||
</view> | |||
</view> | |||
<view class="icon"> | |||
<image class="Piabodata-img1" src="../../static/images/img/message.png" mode=""> | |||
</image> | |||
<!-- 热度 --> | |||
{{ item.commentCount || 0 }} | |||
<view class="footerinfo"> | |||
<view class="footerinfozuo"> | |||
<image src="../../static/images/img/time.png" mode=""></image> | |||
{{item.assignedTime}} | |||
</view> | |||
<view class="footerinfozuo"> | |||
<image src="../../static/images/img/voice.png" mode=""></image> | |||
{{ item.duration | formatTime }}min | |||
</view> | |||
<view class="footerinfozuo" style="color: #2671E2;"> | |||
<image src="../../static/images/img/percent.png" mode=""></image> | |||
{{ item.fraction || 0 }}% | |||
</view> | |||
</view> | |||
<view class="icon"> | |||
<image class="Piabodata-img1" src="../../static/images/img/hand.png" mode=""> | |||
</image> | |||
<!-- 点赞数 --> | |||
{{ item.likeCount || 0 }} | |||
<!-- 底部按钮组 --> | |||
<view class="footicon"> | |||
<view class="icon"> | |||
<image class="Piabodata-img1" src="../../static/images/img/view.png" mode=""> | |||
</image> | |||
<!-- 浏览量 --> | |||
{{ item.pageviews || 0 }} | |||
</view> | |||
<view class="icon"> | |||
<image class="Piabodata-img1" src="../../static/images/img/message.png" mode=""> | |||
</image> | |||
<!-- 热度 --> | |||
{{ item.commentCount || 0 }} | |||
</view> | |||
<view class="icon"> | |||
<image class="Piabodata-img1" src="../../static/images/img/hand.png" mode=""> | |||
</image> | |||
<!-- 点赞数 --> | |||
{{ item.likeCount || 0 }} | |||
</view> | |||
</view> | |||
</view> | |||
</block> | |||
</view> | |||
</template> | |||
<view v-else class="empty"> | |||
<view style="width: 100%;display: flex; | |||
flex-direction: column;justify-content: center;align-items: center;"> | |||
<view style="width: 100%;text-align: center;"> | |||
<image style="width: 220rpx;height: 200rpx;" | |||
src="https://static.quhouse.com/zhikong_xcx_img/nodatalist.png" mode=""></image> | |||
</view> | |||
</block> | |||
<view style="text-align: center;width: 100%;margin-top: 20rpx;color: #999999;">暂无数据</view> | |||
</view> | |||
</view> | |||
</template> | |||
@@ -72,47 +84,62 @@ | |||
</scroll-view> | |||
<scroll-view scroll-y="true" class="rside-scroll"> | |||
<view class="rside-box"> | |||
<block v-for="(item,index) in alllists" :key="index"> | |||
<view class="ceninfo" @click="quclicks(item)"> | |||
<view class="infoview"> | |||
<view class="infozuo"> | |||
<view class="infozuochiud2">顾</view> | |||
<view class="infozuochiud1">{{item.jbaName}}</view> | |||
<template v-if="alllists.length > 0"> | |||
<view class="rside-box"> | |||
<block v-for="(item,index) in alllists" :key="index"> | |||
<view class="ceninfo" @click="quclicks(item)"> | |||
<view class="infoview"> | |||
<view class="infozuo"> | |||
<view class="infozuochiud2">顾</view> | |||
<view class="infozuochiud1">{{item.jbaName}}</view> | |||
</view> | |||
<view class="infoyou"> | |||
<view class="infoyouchiud2">{{item.studyStatus}}</view> | |||
</view> | |||
</view> | |||
<view class="infoyou"> | |||
<view class="infoyouchiud2">{{item.studyStatus}}</view> | |||
<view class="footerinfo"> | |||
<view class="footerinfozuo"> | |||
<image src="../../static/images/img/time.png" mode=""></image> | |||
{{item.assignedTime}} | |||
</view> | |||
</view> | |||
</view> | |||
<view class="footerinfo"> | |||
<view class="footerinfozuo"> | |||
<image src="../../static/images/img/time.png" mode=""></image> | |||
{{item.assignedTime}} | |||
</view> | |||
</view> | |||
<!-- 底部按钮组 --> | |||
<view class="footicon"> | |||
<view class="icon"> | |||
<image class="Piabodata-img1" src="../../static/images/img/view.png" | |||
mode=""></image> | |||
<!-- 浏览量 --> | |||
{{item.pageviews || 0 }} | |||
</view> | |||
<view class="icon"> | |||
<image class="Piabodata-img1" src="../../static/images/img/message.png" | |||
mode=""></image> | |||
<!-- 热度 --> | |||
{{item.commentCount || 0 }} | |||
</view> | |||
<view class="icon"> | |||
<image class="Piabodata-img1" src="../../static/images/img/hand.png" | |||
mode=""></image> | |||
<!-- 点赞数 --> | |||
{{item.likeCount || 0 }} | |||
<!-- 底部按钮组 --> | |||
<view class="footicon"> | |||
<view class="icon"> | |||
<image class="Piabodata-img1" src="../../static/images/img/view.png" | |||
mode=""></image> | |||
<!-- 浏览量 --> | |||
{{item.pageviews || 0 }} | |||
</view> | |||
<view class="icon"> | |||
<image class="Piabodata-img1" src="../../static/images/img/message.png" | |||
mode=""></image> | |||
<!-- 热度 --> | |||
{{item.commentCount || 0 }} | |||
</view> | |||
<view class="icon"> | |||
<image class="Piabodata-img1" src="../../static/images/img/hand.png" | |||
mode=""></image> | |||
<!-- 点赞数 --> | |||
{{item.likeCount || 0 }} | |||
</view> | |||
</view> | |||
</view> | |||
</block> | |||
</view> | |||
</template> | |||
<view v-else class="empty"> | |||
<view style="width: 100%;display: flex; | |||
flex-direction: column;justify-content: center;align-items: center;"> | |||
<view style="width: 100%;text-align: center;"> | |||
<image style="width: 220rpx;height: 200rpx;" | |||
src="https://static.quhouse.com/zhikong_xcx_img/nodatalist.png" mode=""> | |||
</image> | |||
</view> | |||
<view style="text-align: center;width: 100%;margin-top: 20rpx;color: #999999;">暂无数据 | |||
</view> | |||
</block> | |||
</view> | |||
</view> | |||
</scroll-view> | |||
</view> | |||
@@ -120,7 +147,7 @@ | |||
</view> | |||
<!-- 底部导航栏 --> | |||
<!-- <u-tabbar :isBtnTop="false" class="tabbar" :mid-button="true" activeColor="#1296db" inactiveColor="#999999" | |||
<!-- <u-tabbar :isBtnTop="false" class="tabbar" :mid-button="true" activeColor="#1296db" inactiveColor="#999999" | |||
v-model="current" :list="tabbarList"></u-tabbar> --> | |||
</view> | |||
</template> | |||
@@ -162,37 +189,32 @@ | |||
this.clocktab(i) | |||
this.leftIndex = 0 | |||
this.infoinit() | |||
setTimeout(() => { | |||
uni.stopPullDownRefresh() | |||
}, 3000) | |||
}, | |||
onShow() { | |||
try { | |||
this.$store.commit('stopAduio') | |||
} catch(e) { | |||
} catch (e) { | |||
console.log(e) | |||
} | |||
var i = uni.getStorageSync('fendianindex') | |||
var i = uni.getStorageSync('fendianindex') | |||
this.buildingID = uni.getStorageSync('buildingID').id; | |||
this.clocktab(i) | |||
// this.leftIndex = 0 | |||
// this.infoinit() | |||
let left = uni.getStorageSync('left'); | |||
if(left!=undefined){ | |||
if (left != undefined) { | |||
this.leftIndex = left.split(',')[0] | |||
this.getSecond(left.split(',')[1]) | |||
this.infoinit(left.split(',')[1]) | |||
}else{ | |||
} else { | |||
this.leftIndex = 0 | |||
this.infoinit() | |||
} | |||
this.updateInit() | |||
}, | |||
// onLoad() { | |||
// this.infoinit() | |||
// }, | |||
methods: { | |||
updateInit() { | |||
@@ -204,7 +226,7 @@ | |||
if (res > 0) { | |||
uni.setTabBarBadge({ //显示数字 | |||
index: 4, //tabbar下标 | |||
text: `${res}`//数字 | |||
text: `${res}` //数字 | |||
}) | |||
} else { | |||
uni.removeTabBarBadge({ | |||
@@ -233,11 +255,6 @@ | |||
id: item.startFile | |||
} | |||
} | |||
var cet = { | |||
bg: 0, | |||
customerId: item.id, | |||
id: '' | |||
} | |||
this.$u.post("/corpus/fendianFindByPage", parames).then(res => { | |||
var newobj = res[0]; | |||
setTimeout(function() { | |||
@@ -251,13 +268,15 @@ | |||
}) | |||
return | |||
} | |||
console.log(this.equinoctial) | |||
console.log(this.leftIndex) | |||
if (res[0].merge == 0) { | |||
uni.navigateTo({ | |||
url: `/pages/learning/Equinoctial/index2?customerId=${newobj.customerId}&biaoqian=${this.equinoctial[this.leftIndex].name}&startTime=${item.startTime}&startFile=${item.startFile}` | |||
url: `/pages/learning/Equinoctial/index2?customerId=${newobj.customerId}&biaoqian=${this.equinoctial[this.leftIndex || 0].name}&marketingId=${this.equinoctial[this.leftIndex || 0].marketingId}&startTime=${item.startTime}&startFile=${item.startFile}` | |||
}) | |||
} else { | |||
uni.navigateTo({ | |||
url: `/pages/learning/Equinoctial/index?customerId=${newobj.customerId}&biaoqian=${this.equinoctial[this.leftIndex].name}&startTime=${item.startTime}&startFile=${item.startFile}` | |||
url: `/pages/learning/Equinoctial/index?customerId=${newobj.customerId}&biaoqian=${this.equinoctial[this.leftIndex || 0].name}&marketingId=${this.equinoctial[this.leftIndex || 0].marketingId}&startTime=${item.startTime}&startFile=${item.startFile}` | |||
}) | |||
} | |||
}) | |||
@@ -301,14 +320,8 @@ | |||
routerclick(item, index) { | |||
if (this.leftIndex === index) return | |||
this.leftIndex = index | |||
uni.setStorageSync("left", index+','+item.marketingId); //写入缓存 | |||
let mid = uni.getStorageSync('left').split(',')[1] | |||
this.getSecond(mid) | |||
// // return | |||
// uni.navigateTo({ | |||
// url: "/pages/learning/Equinoctiallearning?id=" + item.marketingId + "&biaoqian=" + item.name | |||
// }) | |||
uni.setStorageSync("left", index + ',' + item.marketingId); //写入缓存 | |||
this.getSecond(item.marketingId) | |||
}, | |||
// tab切换 | |||
clocktab(index) { | |||
@@ -320,12 +333,12 @@ | |||
uni.setStorageSync("fendianindex", 1); //写入缓存 | |||
this.leftIndex = uni.getStorageSync('left').split(',')[0] | |||
let mid = uni.getStorageSync('left').split(',')[1] | |||
if(mid!=undefined){ | |||
if (mid != undefined) { | |||
this.getSecond(mid) | |||
}else{ | |||
} else { | |||
this.infoinit() | |||
} | |||
} | |||
}, | |||
@@ -379,8 +392,6 @@ | |||
}, | |||
data: infoobj, | |||
success: (data) => { | |||
console.log(data.data.data.results, | |||
"qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq"); | |||
if (data.data.code == 10000) { | |||
this.alllists = data.data.data.results | |||
} else { | |||
@@ -407,12 +418,15 @@ | |||
'Authorization': 'Bearer ' + uni.getStorageSync('weapp_session_login_data').token | |||
}, | |||
success: (data) => { | |||
console.log(data.data.data, 'dsadjsakljdskaljdaskljdklsajdklasjkdlsa') | |||
if (data.data.code == 10000) { | |||
this.equinoctial = data.data.data | |||
if(mid!=undefined){ | |||
this.getSecond(mid) | |||
}else{ | |||
this.getSecond(data.data.data[0].marketingId) | |||
if (data.data.data) { | |||
this.equinoctial = data.data.data | |||
if (mid != undefined) { | |||
this.getSecond(mid) | |||
} else { | |||
this.getSecond(data.data.data[0].marketingId) | |||
} | |||
} | |||
} else { | |||
uni.showToast({ | |||
@@ -428,7 +442,7 @@ | |||
filters: { | |||
//格式化时间 | |||
formatTime(num) { | |||
if (!num) return 0 | |||
if (!num) return 0 | |||
num = parseInt(num); | |||
//格式化时间格式 | |||
num = num.toFixed(0); | |||
@@ -601,6 +615,7 @@ | |||
display: flex; | |||
flex-direction: column; | |||
.ceninfo { | |||
position: relative; | |||
margin-top: 20rpx; | |||
@@ -694,5 +709,11 @@ | |||
} | |||
} | |||
.empty { | |||
height: 50vh; | |||
display: flex; | |||
align-items: center; | |||
} | |||
} | |||
</style> |
@@ -33,18 +33,22 @@ | |||
<view class="content"> | |||
<view v-html="item.onebest"></view> | |||
</view> | |||
<view class="tankuangcss" v-if="startTime==item.bg"> | |||
<view style="max-width: 85rpx;padding: 0 10rpx; height: 38rpx;font-size: 24rpx;color: #333333;text-align: center;line-height: 38rpx; | |||
border-radius: 2rpx;border: 1px solid #979797;">标签</view> | |||
<view style="max-width: 171rpx;height: 38rpx;background: #008EF2;border-radius: 2rpx;display: flex; | |||
align-items: center;margin-left: 10rpx;" @click="dianjibiaoqian()"> | |||
<view style="width: 126rpx;height: 38rpx;line-height: 38rpx;font-size: 24rpx;color: #FFFFFF; | |||
text-align: center; overflow: hidden;">{{biaoqian}}</view> | |||
<view v-if="biaoqian.length>4" style="width: 37rpx;height: 37rpx;line-height: 37rpx;"> | |||
<u-icon name="chat-fill" color="#ffffff" size="32rpx"></u-icon> | |||
<template v-if="refinement(item)"> | |||
<view class="tankuangcss"> | |||
<view class="tags">标签</view> | |||
<view class="tags-t" @click="dianjibiaoqian()"> | |||
<view class="tags-t-c">{{biaoqian}}</view> | |||
<view v-if="biaoqian.length>4" class="tipsss"> | |||
<u-icon name="chat-fill" color="#ffffff" size="32rpx"></u-icon> | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
<view class="biaoqianya"> | |||
<view class="biaoqianyaisshow" v-if="biaoqianyaisshow"> | |||
{{biaoqian}} | |||
</view> | |||
</view> | |||
</template> | |||
<view class="biaoqianya" v-if="startTime==item.bg"> | |||
<view class="biaoqianyaisshow" v-if="biaoqianyaisshow"> | |||
{{biaoqian}} | |||
@@ -54,9 +58,9 @@ | |||
</view> | |||
<!-- 点赞 --> | |||
<view class="likeArea" :class="{'liked':isLiked}"> | |||
<image | |||
<!-- <image | |||
:src="isLiked?'/static/images/recordingManagement/likeActive.png':'/static/images/recordingManagement/like_gray.png'" | |||
mode=""></image> | |||
mode=""></image> --> | |||
</view> | |||
<view class="hash" id="hash"> | |||
</view> | |||
@@ -205,17 +209,36 @@ | |||
timer: null, | |||
Bnum: 0, //下拉 转写文件下标 | |||
watchAllCommit: false, // 查看全部评论 | |||
pageInfo: {}, // 当前转写页面的值 | |||
ACTION: Symbol('zaudio'), // 唯一值区分每个页面的方法 | |||
isPageHide: false, // 是否息屏 | |||
duration: '', // 播放时长 | |||
marketingId: 0, // 当前选中的id | |||
}; | |||
}, | |||
computed: { | |||
// 通过时间戳筛选找到需要展示的加精标签 | |||
refinement() { | |||
return timestamp => { | |||
if (this.pageInfo.zatd instanceof Array) { | |||
return this.pageInfo.zatd.findIndex(item => (item.startTime == timestamp.bg && item | |||
.jjTransfer == timestamp.onebest && item.marketingId == this.marketingId)) != -1 | |||
} else { | |||
return false | |||
} | |||
} | |||
} | |||
}, | |||
onLoad(options) { | |||
this.startTime = options.startTime | |||
this.customerId = options.customerId, | |||
this.biaoqian = options.biaoqian; | |||
this.startFile = options.startFile; | |||
if (options.marketingId) this.marketingId = options.marketingId | |||
this.getdianzan() | |||
this.getCommentList(); | |||
@@ -261,54 +284,54 @@ | |||
methods: { | |||
borderColor(index) { | |||
let obj = { | |||
color: '', | |||
borderRadius: '', | |||
border: '' | |||
} | |||
switch (index) { | |||
case 1: | |||
obj.color = '#E6625B'; | |||
obj.borderRadius = '8rpx'; | |||
obj.border= '2rpx solid #E6625B'; | |||
break; | |||
case 2: | |||
obj.color = '#FF981E'; | |||
obj.borderRadius = '8rpx'; | |||
obj.border= '2rpx solid #FF981E'; | |||
break; | |||
case 3: | |||
obj.color = '#F6BD16'; | |||
obj.borderRadius = '8rpx'; | |||
obj.border= '2rpx solid #F6BD16'; | |||
break; | |||
case 5: | |||
obj.color = '#4980C8'; | |||
obj.borderRadius = '8rpx'; | |||
obj.border= '2rpx solid #4980C8'; | |||
break; | |||
case 6: | |||
obj.color = '#60CBEC'; | |||
obj.borderRadius = '8rpx'; | |||
obj.border= '2rpx solid #60CBEC'; | |||
break; | |||
case 7: | |||
obj.color = '##FF981E'; | |||
obj.borderRadius = '8rpx'; | |||
obj.border= '2rpx solid #FF981E'; | |||
break; | |||
case 8: | |||
obj.color = '#4F861E'; | |||
obj.borderRadius = '8rpx'; | |||
obj.border= '2rpx solid #4F861E'; | |||
break; | |||
default: | |||
obj.color = '#9F61C8'; | |||
obj.borderRadius = '8rpx'; | |||
obj.border= '2rpx solid #9F61C8'; | |||
break; | |||
} | |||
return obj | |||
let obj = { | |||
color: '', | |||
borderRadius: '', | |||
border: '' | |||
} | |||
switch (index) { | |||
case 1: | |||
obj.color = '#E6625B'; | |||
obj.borderRadius = '8rpx'; | |||
obj.border = '2rpx solid #E6625B'; | |||
break; | |||
case 2: | |||
obj.color = '#FF981E'; | |||
obj.borderRadius = '8rpx'; | |||
obj.border = '2rpx solid #FF981E'; | |||
break; | |||
case 3: | |||
obj.color = '#F6BD16'; | |||
obj.borderRadius = '8rpx'; | |||
obj.border = '2rpx solid #F6BD16'; | |||
break; | |||
case 5: | |||
obj.color = '#4980C8'; | |||
obj.borderRadius = '8rpx'; | |||
obj.border = '2rpx solid #4980C8'; | |||
break; | |||
case 6: | |||
obj.color = '#60CBEC'; | |||
obj.borderRadius = '8rpx'; | |||
obj.border = '2rpx solid #60CBEC'; | |||
break; | |||
case 7: | |||
obj.color = '##FF981E'; | |||
obj.borderRadius = '8rpx'; | |||
obj.border = '2rpx solid #FF981E'; | |||
break; | |||
case 8: | |||
obj.color = '#4F861E'; | |||
obj.borderRadius = '8rpx'; | |||
obj.border = '2rpx solid #4F861E'; | |||
break; | |||
default: | |||
obj.color = '#9F61C8'; | |||
obj.borderRadius = '8rpx'; | |||
obj.border = '2rpx solid #9F61C8'; | |||
break; | |||
} | |||
return obj | |||
}, | |||
addHot() { | |||
// console.log('30') | |||
@@ -323,21 +346,7 @@ | |||
this.$u.get('/addtodigest/addPageviews', { | |||
id: this.customerId | |||
}) | |||
.then(res => { | |||
// console.log(res) | |||
}) | |||
// uni.request({ | |||
// url: config.service.getView, | |||
// method: "POST", | |||
// data: {id:this.customerId}, | |||
// header: { | |||
// 'content-type': 'application/json', | |||
// 'Authorization': 'Bearer ' + uni.getStorageSync('weapp_session_login_data').token | |||
// }, | |||
// success: (data) => { | |||
// console.log(data) | |||
// } | |||
// }) | |||
.then(res => {}) | |||
}, | |||
TimeUpdate(currentTime) { | |||
this.playNow = Number(currentTime) | |||
@@ -574,6 +583,7 @@ | |||
}, | |||
success: (data) => { | |||
if (data.data.code == 10000) { | |||
this.pageInfo = data.data.data | |||
const jsonInfo = JSON.parse(data.data.data.audioContent); | |||
this.dialogList.push({ | |||
message: jsonInfo | |||
@@ -863,6 +873,43 @@ | |||
} | |||
} | |||
.tags { | |||
max-width: 85rpx; | |||
height: 38rpx; | |||
font-size: 24rpx; | |||
color: #333333; | |||
text-align: center; | |||
line-height: 38rpx; | |||
border-radius: 2rpx; | |||
border: 1px solid #979797; | |||
} | |||
.tags-t { | |||
max-width: 171rpx; | |||
height: 38rpx; | |||
background: #008EF2; | |||
border-radius: 2rpx; | |||
display: flex; | |||
align-items: center; | |||
margin-left: 10rpx; | |||
.tags-t-c { | |||
width: 126rpx; | |||
height: 38rpx; | |||
line-height: 38rpx; | |||
font-size: 24rpx; | |||
color: #FFFFFF; | |||
text-align: center; | |||
overflow: hidden; | |||
.tipsss { | |||
width: 37rpx; | |||
height: 37rpx; | |||
line-height: 37rpx; | |||
} | |||
} | |||
} | |||
.biaoqiantom { | |||
background-color: #008EF2; | |||
color: #FFFFFF; | |||
@@ -1361,7 +1408,7 @@ | |||
} | |||
.scroll-Y .text .avatar { | |||
text{ | |||
text { | |||
display: block; | |||
width: 72rpx; | |||
@@ -1411,10 +1458,10 @@ | |||
display: flex; | |||
justify-content: center; | |||
align-items: center; | |||
border: 1rpx solid #C1C2C1; | |||
// border: 1rpx solid #C1C2C1; | |||
&.liked { | |||
border: 1rpx solid rgba(21, 144, 233, 1); | |||
// border: 1rpx solid rgba(21, 144, 233, 1); | |||
} | |||
image { | |||
@@ -54,21 +54,37 @@ | |||
<text :style="[borderColor(item.speaker)]">{{ item.speaker | toCapital }}</text> | |||
</view> | |||
<view class="content"> | |||
<view @longpress="changanxiaoguo(item,index,i)" v-html="item.onebest"></view> | |||
<view class="tankuangcss" v-if="item.isshow"> | |||
<view @click="clickcopy()" | |||
style="width: 60rpx;font-size: 24rpx;text-align: center;margin-left: 24rpx;">复制 | |||
</view> | |||
<view @click="Oftenthewrongword()" v-if="permissions.commonly4" | |||
style="width: 80rpx;font-size: 24rpx;text-align: center;margin-left: 22rpx;">常错词 | |||
</view> | |||
<view @click="Addtheessence()" v-if="permissions.commonly3" | |||
style="width: 80rpx;font-size: 24rpx;text-align: center;margin-left: 22rpx;">加精华 | |||
</view> | |||
<view @click="clickbofang(dialog.backindex,item)" | |||
style="width: 80rpx;font-size: 24rpx;text-align: center;margin-left: 14rpx;">播放 | |||
</view> | |||
<view class="contentdesc" @longpress="changanxiaoguo(item,index,i)" v-html="item.onebest"> | |||
</view> | |||
<image v-if="Math.floor(item.bg/1000) <= playNow && Math.floor(item.ed/1000) > playNow" | |||
class="play" src="https://static.quhouse.com/ce73a5225f7f44be9f313b0e4e4c2c0e.png"> | |||
</image> | |||
<image v-else @click="clickbofang(dialog.backindex,item)" class="play" | |||
src="https://static.quhouse.com/1b6ac53247e043a1bdc59ecfb2167eba.png"></image> | |||
<template v-if="item.isshow"> | |||
<view class="tankuangcss"> | |||
<view class="tankuangcss-items" @click="clickcopy()"> | |||
<image src="@/static/images/detail/icon1.png" mode=""></image> | |||
<text>复制</text> | |||
</view> | |||
<view class="tankuangcss-items" @click="Oftenthewrongword()" | |||
v-if="permissions.commonly4"> | |||
<image src="@/static/images/detail/icon2.png" mode=""></image> | |||
<text>常错词</text> | |||
</view> | |||
<view class="tankuangcss-items" @click="Addtheessence()" | |||
v-if="permissions.commonly3"> | |||
<image src="@/static/images/detail/icon3.png" mode=""></image> | |||
<text>加精华</text> | |||
</view> | |||
<!-- <view class="tankuangcss-items" @click="clickbofang(dialog.backindex,item)"> | |||
<image src="@/static/images/detail/icon4.png" mode=""></image> | |||
<text>播放</text> | |||
</view> --> | |||
</view> | |||
</template> | |||
</view> | |||
</view> | |||
</view> | |||
@@ -121,7 +137,7 @@ | |||
<viwe class="tian-view-t1"></viwe> | |||
<viwe class="tian-view-t2">常错词:</viwe> | |||
<viwe class="tian-view-t3"> | |||
<textarea :auto-height="true" type="text" v-model="thewrongword" :disabled="isNum" | |||
<u-input :auto-height="true" height="30" type="textarea" v-model="thewrongword" :disabled="isNum" | |||
class="tian-input" placeholder="请输入" /> | |||
</viwe> | |||
</view> | |||
@@ -129,31 +145,10 @@ | |||
<viwe class="tian-view-t1"></viwe> | |||
<viwe class="tian-view-t2">正确词:</viwe> | |||
<viwe class="tian-view-t3"> | |||
<input class="tian-input" v-model="reswrongword" type="text" placeholder="请输入" /> | |||
<u-input class="tian-input" height="30" v-model="reswrongword" type="textarea" placeholder="请输入" /> | |||
</viwe> | |||
</view> | |||
</u-modal> | |||
<!-- <view class="bounced" v-if="isshow2"> | |||
<view class="tian-view"> | |||
<viwe class="tian-view-t1"></viwe> | |||
<viwe class="tian-view-t2">常错词:</viwe> | |||
<viwe class="tian-view-t3"> | |||
<input type="text" v-model="thewrongword" :disabled="isNum" class="tian-input" placeholder="请输入" /> | |||
</viwe> | |||
</view> | |||
<view class="tian-view"> | |||
<viwe class="tian-view-t1"></viwe> | |||
<viwe class="tian-view-t2">正确词:</viwe> | |||
<viwe class="tian-view-t3"> | |||
<input class="tian-input" v-model="reswrongword" type="text" placeholder="请输入" /> | |||
</viwe> | |||
</view> | |||
<view class="bounced3"> | |||
<view class="bounced3-1" @tap="Cancelout">取消</view> | |||
<view class="bounced3-2" @tap="Confirmtheexit">确认</view> | |||
</view> | |||
</view> --> | |||
<!-- 加精华 --> | |||
<view class="zhezhoa" v-if="isshow3" @tap="Cancelout2"></view> | |||
<view class="bounced" v-if="isshow3"> | |||
@@ -187,7 +182,7 @@ | |||
</radio-group> | |||
</view> | |||
<view v-if="effectiveindex==4"> | |||
<textarea class="ffectivetext" v-model="effectiveitext" placeholder="备注" /> | |||
<u-input class="ffectivetext" v-model="effectiveitext" placeholder="备注" /> | |||
</view> | |||
</view> | |||
<view class="bounced3"> | |||
@@ -806,12 +801,12 @@ | |||
changanxiaoguo(item, index, i) { | |||
this.messagelisy = []; | |||
this.changanitem = {}; | |||
this.duihuawenjianid = "", | |||
this.dialogList.forEach(res => { | |||
res.message.forEach(asd => { | |||
asd.isshow = false; | |||
}) | |||
this.duihuawenjianid = ""; | |||
this.dialogList.forEach(res => { | |||
res.message.forEach(asd => { | |||
asd.isshow = false; | |||
}) | |||
}) | |||
this.changanitem = item; | |||
this.duihuawenjianid = this.luyinList[this.csdFileindex].id; | |||
this.dialogList[i].message[index].isshow = !this.dialogList[i].message[index].isshow; | |||
@@ -1396,6 +1391,7 @@ | |||
} | |||
.scroll-Y .text { | |||
position: relative; | |||
line-height: 42rpx; | |||
display: flex; | |||
margin-top: 30rpx; | |||
@@ -1410,8 +1406,18 @@ | |||
text-align: right; | |||
.content { | |||
margin-left: 0; | |||
margin-right: 30rpx; | |||
flex-direction: row-reverse; | |||
.contentdesc { | |||
margin-left: 0; | |||
margin-right: 30rpx; | |||
} | |||
.play { | |||
margin-right: 20rpx; | |||
width: 50rpx; | |||
height: 50rpx; | |||
} | |||
} | |||
} | |||
@@ -1432,44 +1438,75 @@ | |||
} | |||
.scroll-Y .text .content { | |||
margin-left: 30rpx; | |||
text-align: left; | |||
padding: 15rpx 20rpx; | |||
line-height: 42rpx; | |||
background: #f8f8f8; | |||
border-radius: 12rpx; | |||
max-width: 460rpx; | |||
color: #505050; | |||
position: relative; | |||
display: flex; | |||
align-items: center; | |||
.contentdesc { | |||
border-radius: 12rpx; | |||
max-width: 460rpx; | |||
margin-left: 30rpx; | |||
text-align: left; | |||
line-height: 42rpx; | |||
padding: 15rpx 20rpx; | |||
background: #f8f8f8; | |||
color: #505050; | |||
} | |||
.play { | |||
width: 50rpx; | |||
height: 50rpx; | |||
margin-left: 20rpx; | |||
} | |||
.tankuangcss { | |||
position: absolute; | |||
top: -140rpx; | |||
left: -120rpx; | |||
width: 308rpx; | |||
height: 130rpx; | |||
background-color: #333333; | |||
font-size: 24rpx; | |||
color: #FFFFFF; | |||
padding-top: 4rpx; | |||
padding-bottom: 4rpx; | |||
left: 50%; | |||
transform: translateX(-50%); | |||
z-index: 1000; | |||
min-width: 150rpx; | |||
height: 140rpx; | |||
display: flex; | |||
flex-wrap: wrap; | |||
background: rgba(48, 48, 48, 0.8); | |||
border-radius: 15rpx; | |||
z-index: 1000; | |||
.play { | |||
width: 50rpx; | |||
height: 50rpx; | |||
margin-left: 20rpx; | |||
} | |||
.tankuangcss-items { | |||
width: 150rpx; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: center; | |||
align-items: center; | |||
image { | |||
width: 36rpx; | |||
height: 36rpx; | |||
} | |||
text { | |||
margin: 12rpx 0 0 0; | |||
font-size: 24rpx; | |||
color: #fff; | |||
} | |||
} | |||
} | |||
} | |||
.scroll-Y .text.active .content { | |||
color: #2671E2 !important; | |||
position: relative; | |||
// position: relative; | |||
} | |||
.scroll-Y .text.active[data-speaker="2"] .content, | |||
.scroll-Y .text.active[data-speaker="4"] .content, | |||
.scroll-Y .text.active[data-speaker="6"] .content { | |||
color: #2671E2 !important; | |||
position: relative; | |||
// position: relative; | |||
} | |||
.tab-box { | |||
@@ -1540,7 +1577,8 @@ | |||
width: 115upx; | |||
height: 115upx; | |||
background: rgba(211, 235, 253, 1); | |||
box-shadow: 0 0 10rpx 7rpx #f1f1f1;; | |||
box-shadow: 0 0 10rpx 7rpx #f1f1f1; | |||
; | |||
border-radius: 50%; | |||
position: fixed; | |||
bottom: 300upx; | |||
@@ -1550,7 +1588,7 @@ | |||
align-items: center; | |||
color: #008EF2; | |||
} | |||
.backTop { | |||
width: 112rpx; | |||
height: 112rpx; | |||
@@ -1,5 +1,5 @@ | |||
<template> | |||
<view class="box"> | |||
<view class="box" @click="cancelBeast"> | |||
<view class="headbox"> | |||
<!-- 顶部时间 --> | |||
<view class="headboxhead"> | |||
@@ -8,8 +8,8 @@ | |||
<!-- 标记顾问 --> | |||
<view class="headboxbott"> | |||
<view class="headovfu"> | |||
<view class="mytab" v-for="(item,index) in tablist" :key="index" @click="tapspagek(index)"> | |||
<view class="tab-item" :class="roleindex==index?'tabActive':''">{{item.name}}</view> | |||
<view class="mytab" v-for="(item,index) in tablist" :key="index" @click="tapspagek(item, index)"> | |||
<view class="tab-item" :class="{tabActive: item.select}">{{item.name}}</view> | |||
</view> | |||
</view> | |||
<view v-if="permissions.commonly1" class="headpade"> | |||
@@ -27,6 +27,13 @@ | |||
:class="{active: Math.floor(item.bg/1000) <= playNow && Math.floor(item.ed/1000) > playNow, isGreen: item.isShow == 0}" | |||
:data-guwen="item.isShow" :data-speaker="item.speaker" | |||
:id="'dialog'+csdFileindex+'text'+item.bg"> | |||
<template v-if="refined"> | |||
<view class="checkbox" :class="{select: item.checked}" @click="cbChange(item)"> | |||
<template v-if="item.checked"> | |||
<u-icon name="checkbox-mark" color="#fff" /> | |||
</template> | |||
</view> | |||
</template> | |||
<view class="avatar"> | |||
<view> | |||
<image v-if="item.isShow == 0" | |||
@@ -39,33 +46,33 @@ | |||
<view class="contentInfo"> | |||
<view class="info"> | |||
{{ item.speaker | toCapital }} {{conversionTiame(item.bg/1000)}} | |||
<!-- <text class="AudioUserName">{{ item.speaker | toCapital }}</text> | |||
<text>{{conversionTiame(item.bg/1000)}}</text> --> | |||
</view> | |||
<view class="contentMain"> | |||
<view class="contentMain" @click.stop> | |||
<view class="content"> | |||
<view @longpress.stop="changanxiaoguo(item,index,i)" v-html="item.onebest"></view> | |||
<view class="tankuangcss" :class="{bottoms:index == 0}" v-if="item.isshow"> | |||
<view @click="clickcopy" | |||
style="width: 60rpx;font-size: 24rpx;text-align: center;margin-left: 24rpx;"> | |||
复制 | |||
</view> | |||
<view @click="Oftenthewrongword" v-if="permissions.commonly4" | |||
style="width: 80rpx;font-size: 24rpx;text-align: center;margin-left: 22rpx;"> | |||
常错词 | |||
</view> | |||
<view v-if="permissions.commonly3" @click="Addtheessence()" | |||
style="width: 80rpx;font-size: 24rpx;text-align: center;margin-left: 22rpx;"> | |||
加精华 | |||
</view> | |||
<!-- 暂时注释掉 --> | |||
<!-- <view @click="clickbofang(dialog.backindex,item)" | |||
style="width: 80rpx;font-size: 24rpx;text-align: center;margin-left: 14rpx;">播放 | |||
</view> --> | |||
<view @click="Modifyrole(index,item)" | |||
style="font-size: 24rpx;text-align: center;margin-left: 14rpx;">修改角色 | |||
<template v-if="item.isshow"> | |||
<view class="tankuangcss" :class="{bottoms:index == 0}"> | |||
<view class="tankuangcss-items" @click="clickcopy"> | |||
<image src="@/static/images/detail/icon1.png" mode=""></image> | |||
<text>复制</text> | |||
</view> | |||
<view v-if="permissions.commonly4" class="tankuangcss-items" | |||
@click="Oftenthewrongword"> | |||
<image src="@/static/images/detail/icon2.png" mode=""></image> | |||
<text>常错词</text> | |||
</view> | |||
<view v-if="permissions.commonly3" class="tankuangcss-items" | |||
@click="Addtheessence"> | |||
<image src="@/static/images/detail/icon3.png" mode=""></image> | |||
<text>加精华</text> | |||
</view> | |||
<view class="tankuangcss-items" @click="Modifyrole(index,item)"> | |||
<image src="@/static/images/detail/icon4.png" mode=""></image> | |||
<text>修改角色</text> | |||
</view> | |||
</view> | |||
</view> | |||
</template> | |||
</view> | |||
<image v-if="Math.floor(item.bg/1000) <= playNow && Math.floor(item.ed/1000) > playNow" | |||
class="play" src="https://static.quhouse.com/ce73a5225f7f44be9f313b0e4e4c2c0e.png"> | |||
@@ -78,7 +85,7 @@ | |||
</block> | |||
</view> | |||
</scroll-view> | |||
<view class="bottombox"> | |||
<view class="bottombox" v-if="!refined"> | |||
<!-- 播放块 --> | |||
<zaudio :duration="duration" theme="theme4"></zaudio> | |||
<!-- 底部弹框 --> | |||
@@ -104,6 +111,14 @@ | |||
</view> | |||
</view> | |||
</view> | |||
<template v-else> | |||
<view class="bottomboxs"> | |||
<view class="bottomboxs-item" @click="sureRefinement">确定</view> | |||
<view class="bottomboxs-item" @click="cancelAllAdd">取消</view> | |||
</view> | |||
</template> | |||
<!-- 更多弹框 --> | |||
<view class="moremodal" v-if="Thetapeidisshow"> | |||
<view class="more-cont"> | |||
@@ -175,39 +190,22 @@ | |||
<viwe class="tian-view-t1"></viwe> | |||
<viwe class="tian-view-t2">常错词:</viwe> | |||
<viwe class="tian-view-t3"> | |||
<textarea :auto-height="true" v-model="thewrongword" :disabled="isNum" class="tian-input" | |||
placeholder="请输入" /> | |||
<!-- <textarea :auto-height="true" v-model="thewrongword" class="tian-input" | |||
placeholder="请输入" /> --> | |||
<u-input :auto-height="false" height="30" :disabled="isNum" type="textarea" v-model="thewrongword" | |||
:border="false" class="tian-input" placeholder="请输入" /> | |||
</viwe> | |||
</view> | |||
<view class="tian-view" style="margin-bottom: 74rpx;"> | |||
<viwe class="tian-view-t1"></viwe> | |||
<viwe class="tian-view-t2">正确词:</viwe> | |||
<viwe class="tian-view-t3"> | |||
<input class="tian-input" v-model="reswrongword" type="text" placeholder="请输入" /> | |||
<u-input class="tian-input" height="30" type="textarea" v-model="reswrongword" :border="false" | |||
placeholder="请输入" /> | |||
</viwe> | |||
</view> | |||
</u-modal> | |||
<!-- <view class="bounced" v-if="isshow2"> | |||
<view class="tian-view"> | |||
<viwe class="tian-view-t1"></viwe> | |||
<viwe class="tian-view-t2">错误词:</viwe> | |||
<viwe class="tian-view-t3"> | |||
<input type="text" v-model="thewrongword" :disabled="isNum" class="tian-input" maxlength="8" placeholder="请输入" /> | |||
</viwe> | |||
</view> | |||
<view class="tian-view"> | |||
<viwe class="tian-view-t1"></viwe> | |||
<viwe class="tian-view-t2">正确词:</viwe> | |||
<viwe class="tian-view-t3"> | |||
<input class="tian-input" v-model="reswrongword" type="text" placeholder="请输入" /> | |||
</viwe> | |||
</view> | |||
<view class="bounced3"> | |||
<view class="bounced3-1" @tap="Cancelout">取消</view> | |||
<view class="bounced3-2" @tap="Confirmtheexit">确认</view> | |||
</view> | |||
</view> --> | |||
<!-- 加精华 --> | |||
<view class="zhezhao" v-if="isshow3" @tap="Cancelout2"></view> | |||
@@ -485,6 +483,9 @@ | |||
guanjianciishow: false, | |||
tablist: [], | |||
roleindex: 0, | |||
roleSelectArr: [0], // 当前选中的角色标记点 | |||
roleindexbiaoji: -1, | |||
recordPath: "", | |||
customerId: "", | |||
@@ -577,7 +578,8 @@ | |||
duration: '', // 总时长 | |||
refresh: false, // 默认false | |||
isNum: false, | |||
eqLog: 0 | |||
eqLog: 0, | |||
refined: false, // 多选加精; | |||
}; | |||
}, | |||
computed: { | |||
@@ -652,7 +654,6 @@ | |||
this.intention = false; | |||
this.kehuyixiangcenterindex = 0; | |||
this.buildingID = uni.getStorageSync('buildingID').id; | |||
this.roleindex = 0; | |||
if (this.stateisshow == 2) { | |||
var info = this.itemobj; | |||
}!this.isPageHide && this.init(info); | |||
@@ -733,11 +734,7 @@ | |||
// 关闭弹窗 | |||
close() { | |||
this.dialogList.forEach(res => { | |||
res.message.forEach(asd => { | |||
asd.isshow = false; | |||
}) | |||
}) | |||
this.cancelBeast() | |||
this.$forceUpdate(); | |||
}, | |||
// 添加角色 | |||
@@ -766,11 +763,7 @@ | |||
}).then(res => { | |||
this.dialogList[this.csdFileindex].message[this.roletiaoshu].speaker = this.roleindexrow + 1 | |||
this.roleisshaw = false; | |||
this.dialogList.forEach(res => { | |||
res.message.forEach(asd => { | |||
asd.isshow = false; | |||
}) | |||
}) | |||
this.cancelBeast() | |||
uni.showToast({ | |||
title: '修改成功', | |||
duration: 2000 | |||
@@ -1077,16 +1070,22 @@ | |||
}, | |||
//确认标记 | |||
Confirmthetag() { | |||
var num = this.roleindexbiaoji + 1; | |||
if (this.roleindexbiaoji == -1) { | |||
uni.showToast({ | |||
title: '请选择标记角色~', | |||
duration: 2000 | |||
}); | |||
return | |||
} | |||
let params = { | |||
id: this.luyinList[this.csdFileindex].id, | |||
speaker: num, | |||
speaker: this.roleindexbiaoji + 1, | |||
customerId: this.customerId | |||
} | |||
this.$u.get(config.service.markConsultant, params).then((data) => { | |||
this.biojiisshow = false; | |||
this.biaojiyuyi() | |||
this.fenjiaoseunfo() | |||
this.fenjiaoseunfo('refresh') | |||
uni.showToast({ | |||
title: '标记成功', | |||
duration: 2000 | |||
@@ -1100,74 +1099,115 @@ | |||
} | |||
this.$u.post("/matchKeywords/toMatchKeywords", parames).then(res => {}) | |||
}, | |||
//分角色 | |||
tapspagek(index) { | |||
this.roleindex = index; | |||
this.newluyinList = []; | |||
tapspagek(data, index) { | |||
if (index == 0) this.resetTabList(); | |||
else this.resetAll(); | |||
data.select = !data.select | |||
this.roleSelectArr = [] | |||
if (index != 0) { | |||
this.tablist.forEach(item => { | |||
if (item.select) { | |||
this.roleSelectArr.push(item.speaker) | |||
} | |||
}) | |||
} else { | |||
this.roleSelectArr.push(0) | |||
} | |||
this.fenjiaoseunfo() | |||
}, | |||
//分角色标记刷新 | |||
fenjiaoseunfo() { | |||
var bgcd = this.playNow * 1000; | |||
this.newluyinList = []; | |||
this.dialogList = []; | |||
console.log(this.playNow, '当前播放时长') | |||
let obj = { | |||
corpusId: this.luyinList[this.csdFileindex].id, | |||
bg: bgcd, | |||
speaker: this.roleindex | |||
} | |||
this.$u.get(config.service.getCorpusAnal, obj).then((data) => { | |||
this.tablist = []; | |||
let jsonInfo = JSON.parse(data.audioContent); | |||
for (var i = 0; i <= data.speakerNum; i++) { | |||
if (i === 0) { | |||
this.tablist.push({ | |||
name: '全部' | |||
}) | |||
} else { | |||
this.tablist.push({ | |||
name: String.fromCharCode(i + 64) | |||
}) | |||
} | |||
} | |||
if (data.speaker == null) { | |||
this.roleindexbiaoji = 0; | |||
this.dshfkjsdkksodofydwfkhwdfkjh = 0; | |||
} else { | |||
this.tablist[data.speaker].name = this.tablist[data.speaker] | |||
.name + "顾问"; | |||
// 选中全部时互斥全部选项与角色选项 | |||
resetTabList() { | |||
this.tablist.forEach(item => { | |||
item.select = false | |||
}) | |||
}, | |||
this.roleindexbiaoji = data.speaker - 1; | |||
this.dshfkjsdkksodofydwfkhwdfkjh = data.speaker - 1; | |||
} | |||
// 选中角色时将全部反选 | |||
resetAll() { | |||
this.tablist[0].select = false | |||
}, | |||
if (this.roleindex > this.tablist.length - 1) { | |||
this.roleindex = this.tablist.length - 1 | |||
this.fenjiaoseunfo() | |||
// 生成角色列表 | |||
creatTabList(num) { | |||
for (var i = 0; i <= num; i++) { | |||
if (i === 0) { | |||
this.tablist.push({ | |||
name: '全部', | |||
select: false, | |||
speaker: i | |||
}) | |||
} else { | |||
this.tablist.push({ | |||
name: String.fromCharCode(i + 64), | |||
select: false, | |||
speaker: i | |||
}) | |||
} | |||
} | |||
}, | |||
// 获取flag | |||
getVoFlagValue() { | |||
return this.roleSelectArr.findIndex(item => item == 0) == -1 ? 1 : 0 | |||
}, | |||
this.speaker = data.speaker; | |||
//上拉标记点 | |||
this.textindex = data.index; | |||
//下拉标记点 | |||
this.toptextindex = data.index; | |||
//分角色标记刷新 | |||
fenjiaoseunfo(type) { | |||
this.newluyinList = []; | |||
this.dialogList = []; | |||
let str = | |||
`?corpusId=${this.luyinList[this.csdFileindex].id}&bg=${this.playNow * 1000}&speaker=0&voFlag=${this.getVoFlagValue()}&num=50` | |||
if (this.roleSelectArr.findIndex(item => item == 0) == -1) { | |||
str += `&speakerStr=${this.roleSelectArr.join(',')}` | |||
} | |||
jsonInfo.forEach(item => { | |||
item.message = JSON.parse(item.onebest) | |||
item.backindex = this.csdFileindex | |||
}) | |||
uni.request({ | |||
url: `${config.service.getCorpusAnal}${str}`, | |||
method: "GET", | |||
header: { | |||
'content-type': 'application/json', | |||
'Authorization': 'Bearer ' + uni.getStorageSync('weapp_session_login_data').token | |||
}, | |||
success: (data) => { | |||
let res = data.data.data | |||
let jsonInfo = JSON.parse(res.audioContent); | |||
//上拉标记点 | |||
this.textindex = res.index; | |||
//下拉标记点 | |||
this.toptextindex = res.index; | |||
jsonInfo.forEach(item => { | |||
item.message = JSON.parse(item.onebest) | |||
item.backindex = this.csdFileindex | |||
item.message.forEach(info => { | |||
info.checked = false | |||
}) | |||
}) | |||
// 当页面标记重新刷新时 | |||
if (type == 'refresh') { | |||
this.tablist = [] | |||
this.roleSelectArr = [0] | |||
this.creatTabList(res.speakerNum) | |||
this.tablist[0].select = true | |||
this.tablist[res.speaker].name = this.tablist[res.speaker].name + "顾问"; | |||
} | |||
if (this.roleSelectArr.length == 0) { | |||
this.tablist[0].select = true | |||
} | |||
this.newluyinList = jsonInfo; | |||
if (this.textindex == null) { | |||
return | |||
} else { | |||
this.dialogList.push(jsonInfo[this.textindex]); | |||
this.newluyinList = jsonInfo; | |||
if (this.textindex == null) { | |||
return | |||
} else { | |||
this.dialogList.push(jsonInfo[this.textindex]); | |||
} | |||
} | |||
}) | |||
}, | |||
toKeywordsearch() { | |||
this.stateisshow = 1; | |||
uni.navigateTo({ | |||
@@ -1428,11 +1468,7 @@ | |||
let sas = this.textItself.replace(this.thewrongword, this.reswrongword) | |||
this.dialogList[this.argtextindex1].message[this.argtextindex2].onebest = sas | |||
this.dialogList.forEach(res => { | |||
res.message.forEach(asd => { | |||
asd.isshow = false; | |||
}) | |||
}) | |||
this.cancelBeast() | |||
this.$u.post("/corpus/addCorrectWord", parames).then(data => { | |||
this.thewrongword = ""; | |||
this.reswrongword = ""; | |||
@@ -1460,11 +1496,7 @@ | |||
//取消加入常错词 | |||
Cancelout() { | |||
this.isshow2 = false; | |||
this.dialogList.forEach(res => { | |||
res.message.forEach(asd => { | |||
asd.isshow = false; | |||
}) | |||
}) | |||
this.cancelBeast() | |||
}, | |||
//加入长错词 | |||
Oftenthewrongword() { | |||
@@ -1476,8 +1508,42 @@ | |||
this.isNum = true | |||
} | |||
}, | |||
// 选中取反 | |||
cbChange(item) { | |||
item.checked = !item.checked | |||
this.$forceUpdate() | |||
}, | |||
// 隐藏长按提示框 | |||
cancelBeast() { | |||
this.dialogList.forEach(res => { | |||
res.message.forEach(asd => { | |||
asd.isshow = false; | |||
}) | |||
}) | |||
}, | |||
//加精华 | |||
Addtheessence() { | |||
this.refined = true | |||
this.cancelBeast() | |||
}, | |||
// 重置选择加精的内容 | |||
cancelAllAdd() { | |||
console.log('chufa') | |||
this.dialogList.forEach(item => { | |||
if (item.message && item.message.length > 0) { | |||
item.message.forEach(items => { | |||
items.checked = false | |||
}) | |||
} | |||
}) | |||
this.refined = false | |||
// this.$forceUpdate() | |||
}, | |||
// 确认批量加精 | |||
sureRefinement() { | |||
this.isshow3 = true; | |||
this.biaoqianlist = [] | |||
let parames = { | |||
@@ -1491,15 +1557,13 @@ | |||
}) | |||
}) | |||
}, | |||
// 取消加精 | |||
Cancelout2() { | |||
this.isshow3 = false; | |||
this.dialogList.forEach(res => { | |||
res.message.forEach(asd => { | |||
asd.isshow = false; | |||
}) | |||
}) | |||
this.cancelBeast() | |||
}, | |||
// 确认加精 | |||
Confirmtheexit2() { | |||
if (this.biaoqianid) { | |||
@@ -1508,54 +1572,62 @@ | |||
this.biaoqianid = 0 | |||
} | |||
this.isshow3 = false; | |||
this.dialogList.forEach(res => { | |||
res.message.forEach(asd => { | |||
asd.isshow = false; | |||
}) | |||
}) | |||
this.cancelBeast() | |||
let objdata = { | |||
"itemId": this.buildingID, | |||
"carId": this.customerId, //客户id | |||
"startTime": this.changanitem.bg, //开始时间 | |||
"startFile": this.duihuawenjianid, //对话所在录音文件id | |||
"endTime": this.changanitem.ed, //结束时间 | |||
"marketingId": this.biaoqianid, //对应一级父id | |||
"jjTransfer": this.changanitem.onebest, //选中对话 | |||
"status": 1 | |||
itemId: this.buildingID, | |||
carId: this.customerId, //客户id | |||
status: 1, | |||
startFile: this.duihuawenjianid, //对话所在录音文件id | |||
marketingId: this.biaoqianid, //对应一级父id | |||
// jjTransfer: this.changanitem.onebest, //选中对话 | |||
// endTime: this.changanitem.ed, //结束时间 | |||
// startTime: this.changanitem.bg, //开始时间 | |||
toDigestList: [], // 加精多选的内容 | |||
// jjTransfer: this.changanitem.onebest, //选中对话 | |||
// endTime: this.changanitem.ed, //结束时间 | |||
// startTime: this.changanitem.bg, //开始时间 | |||
} | |||
uni.request({ | |||
url: config.service.addATD, | |||
method: "POST", | |||
header: { | |||
'content-type': 'application/json', | |||
'Authorization': 'Bearer ' + uni.getStorageSync('weapp_session_login_data').token | |||
}, | |||
data: objdata, | |||
success: (data) => { | |||
if (data.data.code == 10000) { | |||
uni.showToast({ | |||
title: '加精成功', | |||
duration: 2000 | |||
}); | |||
} else { | |||
uni.showToast({ | |||
title: data.data.message, | |||
duration: 2000 | |||
}); | |||
} | |||
// 将数据筛选出来并排序并且翻转数据让后端获取第一条加精的数据在分点加精的学习列表使用 | |||
this.dialogList.forEach(items => { | |||
if (items.message && items.message.length > 0) { | |||
items.message.forEach(item => { | |||
if (item.checked) { | |||
objdata.toDigestList.push({ | |||
jjTransfer: item.onebest, | |||
startTime: item.bg, | |||
endTime: item.ed, | |||
}) | |||
} | |||
}) | |||
} | |||
}) | |||
objdata.toDigestList.sort((a, b) => { | |||
return Number(a.startTime) - Number(b.startTime) | |||
}).reverse() | |||
this.isshow3 = false; | |||
this.$u.post(config.service.addATD, objdata).then(res => { | |||
console.log(res) | |||
uni.showToast({ | |||
title: '加精成功', | |||
duration: 2000 | |||
}); | |||
this.cancelAllAdd() | |||
}).catch(e => { | |||
uni.showToast({ | |||
title: '网络异常,请稍候重试~', | |||
duration: 2000 | |||
}); | |||
this.cancelAllAdd() | |||
}) | |||
}, | |||
//长按对话 | |||
changanxiaoguo(item, index, i) { | |||
this.messagelisy = []; | |||
this.changanitem = {}; | |||
this.duihuawenjianid = "", | |||
this.dialogList.forEach(res => { | |||
res.message.forEach(asd => { | |||
asd.isshow = false; | |||
}) | |||
}) | |||
this.duihuawenjianid = ""; | |||
this.cancelBeast() | |||
this.changanitem = item; | |||
this.duihuawenjianid = this.luyinList[this.csdFileindex].id; | |||
this.dialogList[i].message[index].isshow = !this.dialogList[i].message[index].isshow; | |||
@@ -1671,7 +1743,7 @@ | |||
this.newluyinList = [] | |||
uni.request({ | |||
url: config.service.getCorpusAnal + '?corpusId=' + this.luyinList[this.csdFileindex].id + | |||
"&bg=" + info.bg + "&speaker=" + this.roleindex, //仅为示例,并非真实接口地址。 | |||
"&bg=" + info.bg + "&speaker=" + this.roleindex + '&num=50', //仅为示例,并非真实接口地址。 | |||
method: "GET", | |||
header: { | |||
'content-type': 'application/json', | |||
@@ -1682,18 +1754,8 @@ | |||
this.tablist = []; | |||
let jsonInfo = JSON.parse(data.data.data.audioContent); | |||
for (var i = 0; i <= data.data.data.speakerNum; i++) { | |||
if (i === 0) { | |||
this.tablist.push({ | |||
name: '全部' | |||
}) | |||
} else { | |||
this.tablist.push({ | |||
name: String.fromCharCode(i + 64) | |||
}) | |||
} | |||
} | |||
this.creatTabList(data.data.data.speakerNum) | |||
this.tablist[0].select = true // 默认选中第一个 | |||
if (data.data.data.speaker == null) { | |||
this.roleindexbiaoji = -1; | |||
this.dshfkjsdkksodofydwfkhwdfkjh = -1; | |||
@@ -1704,7 +1766,6 @@ | |||
this.dshfkjsdkksodofydwfkhwdfkjh = data.data.data.speaker - 1; | |||
} | |||
this.speaker = data.data.data.speaker; | |||
//上拉标记点 | |||
this.textindex = data.data.data.index; | |||
//下拉标记点 | |||
@@ -1758,11 +1819,7 @@ | |||
//长按点击播放 | |||
clickbofang(dialog, item) { | |||
this.dialogList.forEach(res => { | |||
res.message.forEach(asd => { | |||
asd.isshow = false; | |||
}) | |||
}) | |||
this.cancelBeast() | |||
this.$forceUpdate() | |||
let platetime = item.bg; | |||
let newtime = Math.floor(item.bg / 1000); | |||
@@ -1933,6 +1990,26 @@ | |||
align-items: center; | |||
} | |||
} | |||
.bottomboxs { | |||
width: 100%; | |||
height: 90rpx; | |||
display: flex; | |||
justify-content: space-around; | |||
.bottomboxs-item { | |||
width: 45%; | |||
height: 100%; | |||
display: flex; | |||
justify-content: center; | |||
align-items: center; | |||
color: #fff; | |||
background: #008EF2; | |||
font-size: 36rpx; | |||
font-weight: bold; | |||
} | |||
} | |||
} | |||
.moremodal { | |||
@@ -2063,12 +2140,13 @@ | |||
.headovfu { | |||
flex: 1; | |||
height: 88rpx; | |||
overflow: hidden; | |||
overflow-x: scroll; | |||
display: flex; | |||
align-items: center; | |||
.mytab { | |||
margin-left: 20rpx; | |||
flex-shrink: 0; | |||
.tab-item { | |||
padding: 0 20rpx; | |||
@@ -2090,6 +2168,11 @@ | |||
} | |||
} | |||
&::-webkit-scrollbar { | |||
width: 0; | |||
height: 0; | |||
color: transparent; | |||
} | |||
} | |||
.headpade { | |||
@@ -2457,12 +2540,6 @@ | |||
width: 100%; | |||
} | |||
.scroll-Y .text { | |||
margin: 30rpx; | |||
line-height: 80rpx; | |||
display: flex; | |||
} | |||
// 顾问默认在右边显示 | |||
.scroll-Y .text[data-guwen="0"] // .scroll-Y .text[data-speaker="2"], | |||
@@ -2521,6 +2598,11 @@ | |||
} | |||
.scroll-Y .text { | |||
position: relative; | |||
margin: 30rpx; | |||
line-height: 80rpx; | |||
display: flex; | |||
.contentInfo { | |||
.info { | |||
.AudioUserName { | |||
@@ -2572,7 +2654,6 @@ | |||
border-radius: 8rpx; | |||
max-width: 442rpx; | |||
background: #F8F8F8; | |||
position: relative; | |||
font-size: 30rpx; | |||
font-family: PingFangSC-Regular, PingFang SC; | |||
font-weight: 400; | |||
@@ -2581,18 +2662,33 @@ | |||
.tankuangcss { | |||
position: absolute; | |||
top: -140rpx; | |||
left: -120rpx; | |||
width: 308rpx; | |||
height: 130rpx; | |||
background-color: #333333; | |||
font-size: 24rpx; | |||
color: #FFFFFF; | |||
padding-top: 4rpx; | |||
padding-bottom: 4rpx; | |||
left: 50%; | |||
transform: translateX(-50%); | |||
z-index: 1000; | |||
min-width: 150rpx; | |||
height: 140rpx; | |||
display: flex; | |||
flex-wrap: wrap; | |||
background: rgba(48, 48, 48, 0.8); | |||
border-radius: 15rpx; | |||
z-index: 1000; | |||
.tankuangcss-items { | |||
width: 150rpx; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: center; | |||
align-items: center; | |||
image { | |||
width: 36rpx; | |||
height: 36rpx; | |||
} | |||
text { | |||
margin: 12rpx 0 0 0; | |||
font-size: 24rpx; | |||
color: #fff; | |||
} | |||
} | |||
} | |||
.bottoms { | |||
@@ -2880,12 +2976,12 @@ | |||
.scroll-Y .text.active .content { | |||
color: #2671E2 !important; | |||
position: relative; | |||
// position: relative; | |||
} | |||
.scroll-Y .text.active .info { | |||
color: #2671E2 !important; | |||
position: relative; | |||
// position: relative; | |||
} | |||
.scroll-Y .text.active[data-speaker] .content, | |||
@@ -2893,10 +2989,28 @@ | |||
.scroll-Y .text.active[data-speaker="4"] .content, | |||
.scroll-Y .text.active[data-speaker="6"] .content { | |||
color: #2671E2 !important; | |||
position: relative; | |||
// position: relative; | |||
} | |||
/deep/ .u-model-title { | |||
padding: 34rpx 0 16rpx !important; | |||
} | |||
.checkbox { | |||
margin: 0 10rpx 0 0; | |||
width: 48rpx; | |||
height: 48rpx; | |||
display: flex; | |||
justify-content: center; | |||
align-items: center; | |||
border-radius: 50%; | |||
border: 1rpx solid #70798D; | |||
&.select { | |||
border-color: #008EF2; | |||
background: #008EF2; | |||
color: #fff; | |||
} | |||
} | |||
</style> |
@@ -69,7 +69,7 @@ | |||
</view> | |||
</view> | |||
<view class="clive" @click="$noMultipleClicks(save)">确定</view> | |||
<u-select :mask-close-able="false" v-model="Showhiddenunits" mode="single-column" :list="list" @cancel="cancel" | |||
<u-select :mask-close-able="false" v-model="Showhiddenunits" mode="single-column" value-name="id" label-name="sourceName" :list="list" @cancel="cancel" | |||
@confirm="confirm"></u-select> | |||
<u-select :mask-close-able="false" v-model="Showhid" mode="single-column" :list="freeList" @cancel="cancel1" | |||
@confirm="confirm1"></u-select> | |||
@@ -118,22 +118,48 @@ | |||
canceltext: '2', //取消文字 | |||
daitiReceptionobj: {}, | |||
isShow: false, // 默认隐藏该权限 | |||
userInfo: {}, // 用户信息 | |||
isPass: false, // 当前顾问是否正在接待 | |||
fromBack: false, // 从选择顾问页面跳回 | |||
}; | |||
}, | |||
computed: { | |||
// 用户详情 | |||
userInfo() { | |||
return uni.getStorageSync("weapp_session_userInfo_data") | |||
}, | |||
}, | |||
onLoad() { | |||
this.userInfo = uni.getStorageSync('weapp_session_userInfo_data'); | |||
console.log(this.userInfo, 'adkljsakldjaskljdklasjdklsajdklasjdklasjdlk') | |||
uni.$on('addreception', customerId => { | |||
let obj = this.freeList.find(item => item.agentId == customerId) | |||
this.fromBack = true | |||
this.text = obj.name; | |||
this.parames.agentId = customerId; | |||
}) | |||
}, | |||
onUnload() { | |||
uni.$off('addreception') | |||
}, | |||
onShow() { | |||
let newmenulist = uni.getStorageSync('weapp_session_Menu_data'); | |||
this.isShow = newmenulist.jd_zp | |||
this.parames.projectId = uni.getStorageSync('buildingID').id; | |||
this.getFreeList(); | |||
this.zkAgentPoolSourceList(); | |||
}, | |||
methods: { | |||
// 获取客户来源 | |||
zkAgentPoolSourceList() { | |||
this.$u.get('/zkAgentPool/source/list', { houseId: this.parames.projectId }).then(res => { | |||
console.log(res) | |||
if (res) { | |||
this.list = res | |||
} | |||
}) | |||
}, | |||
//取消 | |||
confirmA() { | |||
if (this.daitiReceptionobj.assign != null) { | |||
@@ -283,7 +309,10 @@ | |||
duration: 2000 | |||
}); | |||
} else { | |||
this.Showhid = true; | |||
// this.Showhid = true; | |||
uni.navigateTo({ | |||
url: `/pages/mine/reception/consultant?from=addreception&id=${this.parames.agentId}&chosedAgentId=${this.parames.agentId}` | |||
}) | |||
} | |||
}, | |||
cancel1() { | |||
@@ -302,7 +331,9 @@ | |||
this.Showhiddenunits = false; | |||
}, | |||
confirm(e) { | |||
this.parames.sourceName = e[0].value; | |||
console.log(e) | |||
this.parames.sourceName = e[0].label; | |||
this.parames.source = e[0].value; | |||
this.Showhiddenunits = false; | |||
}, | |||
//获取顾问列表 | |||
@@ -319,9 +350,12 @@ | |||
item.label = item.name + "(无设备)"; | |||
} | |||
item.value = item.agentId | |||
if (this.userInfo.accountId == item.agentId) { | |||
this.text = item.label | |||
this.parames.agentId = item.agentId; | |||
// 从选择顾问页面跳回时需阻断用当前登录人的顾问id选中自身 | |||
if (!this.fromBack) { | |||
if (this.userInfo.accountId == item.agentId) { | |||
this.text = item.label | |||
this.parames.agentId = item.agentId; | |||
} | |||
} | |||
}) | |||
}) | |||
@@ -4,6 +4,15 @@ | |||
<view class="nextcon"> | |||
下一位接待顾问:{{textcdhSKJ}} | |||
</view> | |||
<!-- 搜索筛选顾问 --> | |||
<view class="search-tag" :class="{ pdBtm: isShowBtn }"> | |||
<u-search v-model="keywords" @search="searchFunc" @input="searchFunc" bgColor="#F8F8F8" shape="round" placeholder="顾问名称" | |||
:showAction="false" :clearabled="true"></u-search> | |||
<view class="tabs-box" v-if="list.length > 0"> | |||
<u-tabs :list="list" :current="listCurrent" name="deptName" @change="change"></u-tabs> | |||
</view> | |||
</view> | |||
<view class="content" style="padding-bottom: 200rpx;"> | |||
<radio-group @change="radioChange"> | |||
<view v-for="(item,index) in freeList" :key="index" class="content-tips"> | |||
@@ -13,7 +22,8 @@ | |||
</view> | |||
<view class="text"> | |||
<view class="name"> | |||
{{item.name}} | |||
<text class="names">{{item.name}}</text> | |||
<text :class="item.class">{{ item.label }}</text> | |||
</view> | |||
<view class="num"> | |||
今日接待: {{item.todayNum}} | |||
@@ -33,7 +43,7 @@ | |||
暂无空闲顾问 | |||
</view> | |||
</view> | |||
<view class="save" @click="save" :class="{active:chosedAgentId}"> | |||
<view v-if="freeList.length > 0" class="save" @click="save" :class="{active:chosedAgentId}"> | |||
保存 | |||
</view> | |||
@@ -58,23 +68,107 @@ | |||
chosedAgentId: '', | |||
textcdhSKJ: '', | |||
show: false, | |||
content: '东临碣石,以观沧海', | |||
confirmtext: '1', //确认文字 | |||
canceltext: '2', //取消文字 | |||
content: '', | |||
confirmtext: '', //确认文字 | |||
canceltext: '', //取消文字 | |||
daitiReceptionobj: {}, | |||
replaceReception: 0 | |||
replaceReception: 0, | |||
keywords: '', // 关键词 | |||
list: [], // 部门列表 | |||
listCurrent: 0, //选中分类下标 | |||
from: '', // 来源页面需要通知的事件 | |||
} | |||
}, | |||
computed: { | |||
isShowBtn() { | |||
return this.list.length > 0 | |||
} | |||
}, | |||
onLoad(option) { | |||
this.LOADING = true | |||
this.customerId = option.id; | |||
this.freeList = [] | |||
if (option.id) this.customerId = option.id; | |||
if (option.from) this.from = option.from | |||
if (option.chosedAgentId) this.chosedAgentId = option.chosedAgentId | |||
}, | |||
onShow() { | |||
async onShow() { | |||
this.buildingID = uni.getStorageSync('buildingID').id; | |||
this.getFreeList(); | |||
await this.iniPage() | |||
}, | |||
methods: { | |||
change(e) { | |||
console.log(e) | |||
this.keywords = '' | |||
this.listCurrent = Number(e) | |||
this.getFreeList(); | |||
}, | |||
// | |||
searchFunc() { | |||
this.getFreeList(); | |||
}, | |||
async iniPage() { | |||
await this.getAllDeptName() | |||
await this.getFreeList(); | |||
}, | |||
// 获取顾问列表 | |||
async getAllDeptName() { | |||
try { | |||
let res = await this.$u.get(`/zkAgentPool/getAllDeptName?itemId=${this.buildingID}`) | |||
console.log(res) | |||
if (res && res.length > 0) { | |||
res.unshift({ | |||
deptId: '', | |||
deptName: '全部' | |||
}) | |||
this.list = res | |||
} | |||
} catch (e) { | |||
console.log(e) | |||
} | |||
}, | |||
// 获取空闲顾问 | |||
async getFreeList() { | |||
try { | |||
let deptId = this.list.length > 0 ? this.list[this.listCurrent].deptId : '' | |||
// deptId 部门id | |||
// name 顾问名称" | |||
let res = await this.$u.get( | |||
`/zkAgentPool/freeList?itemId=${this.buildingID}&name=${this.keywords||''}&deptId=${deptId}` | |||
) | |||
if (res.length == 0) { | |||
this.freeList = [] | |||
} else { | |||
// 回显上次选中的顾问 | |||
if (this.from != '' && this.id != '') { | |||
this.current = res.findIndex(item => item.agentId == this.customerId) | |||
} | |||
this.freeList = res; | |||
this.freeList.forEach(item => { | |||
if (item.onLine == 0) { | |||
item.label = "(离线)"; | |||
item.class = 'red' | |||
} else if (item.onLine == 1) { | |||
item.label = "(在线)"; | |||
item.class = 'gren' | |||
} else { | |||
item.label = "(无设备)"; | |||
item.class = 'none' | |||
} | |||
}) | |||
this.textcdhSKJ = res[0].name | |||
} | |||
this.LOADING = false | |||
} catch (e) { | |||
this.LOADING = false | |||
} | |||
}, | |||
//取消 | |||
confirmA() { | |||
if (this.daitiReceptionobj.assign != null) { | |||
@@ -101,6 +195,14 @@ | |||
}) | |||
return | |||
} | |||
// 如果是从其他页面跳转过来的 | |||
if (this.from) { | |||
uni.$emit(this.from, this.chosedAgentId) | |||
uni.navigateBack() | |||
return | |||
} | |||
const that = this; | |||
this.$u.post("customer/daitiReception", { | |||
agentId: that.chosedAgentId, | |||
@@ -155,20 +257,7 @@ | |||
uni.hideLoading(); | |||
}); | |||
}, | |||
getFreeList() { | |||
this.$u.get("/zkAgentPool/freeList?itemId=" + this.buildingID).then(res => { | |||
this.LOADING = false | |||
if (res.length == 0) { | |||
this.freeList = [] | |||
} else { | |||
this.freeList = res; | |||
this.textcdhSKJ = res[0].name | |||
} | |||
}).catch(e => { | |||
this.LOADING = false | |||
}) | |||
}, | |||
radioChange: function(evt) { | |||
radioChange(evt) { | |||
this.chosedAgentId = ''; | |||
this.chosedAgentId = evt.detail.value; | |||
}, | |||
@@ -197,6 +286,8 @@ | |||
} | |||
} | |||
.save { | |||
position: fixed; | |||
width: calc(100vw - 60rpx); | |||
@@ -219,8 +310,11 @@ | |||
font-size: 30rpx; | |||
font-weight: 400; | |||
// line-height: 30px; | |||
.nextcon { | |||
position: sticky; | |||
top: 0; | |||
z-index: 9999; | |||
flex-shrink: 0; | |||
height: 78rpx; | |||
background: #F4F8FD; | |||
color: #2671E2; | |||
@@ -228,44 +322,108 @@ | |||
line-height: 78rpx; | |||
} | |||
.content-tips { | |||
display: flex; | |||
justify-content: space-between; | |||
.search-tag { | |||
position: sticky; | |||
top: 78rpx; | |||
z-index: 9999; | |||
margin: 0 0 20rpx 0; | |||
padding: 30rpx; | |||
background: #fff; | |||
padding: 0 30rpx; | |||
height: 148rpx; | |||
margin-bottom: 20rpx; | |||
} | |||
.left { | |||
.pdBtm { | |||
padding: 30rpx 30rpx 0; | |||
} | |||
.content { | |||
flex-grow: 1; | |||
display: flex; | |||
flex-direction: column; | |||
.content-tips { | |||
display: flex; | |||
margin-top: 30rpx; | |||
.img { | |||
width: 72rpx; | |||
height: 72rpx; | |||
background: #FFFFFF; | |||
border: 1px solid #C9C9C9; | |||
line-height: 64rpx; | |||
text-align: center; | |||
border-radius: 50%; | |||
margin-right: 20rpx; | |||
} | |||
justify-content: space-between; | |||
background: #fff; | |||
padding: 0 30rpx; | |||
height: 148rpx; | |||
margin-bottom: 20rpx; | |||
.left { | |||
display: flex; | |||
margin-top: 30rpx; | |||
.text { | |||
.name { | |||
margin-top: 4rpx; | |||
font-weight: 600; | |||
color: #333333; | |||
line-height: 30rpx; | |||
margin-bottom: 24rpx; | |||
.img { | |||
width: 72rpx; | |||
height: 72rpx; | |||
background: #FFFFFF; | |||
border: 1px solid #C9C9C9; | |||
line-height: 64rpx; | |||
text-align: center; | |||
border-radius: 50%; | |||
margin-right: 20rpx; | |||
} | |||
.text { | |||
.name { | |||
margin-top: 4rpx; | |||
margin-bottom: 24rpx; | |||
line-height: 30rpx; | |||
.names { | |||
font-weight: 600; | |||
color: #333333; | |||
} | |||
.red { | |||
margin-left: 10rpx; | |||
color: #E7483C; | |||
font-size: 28rpx; | |||
} | |||
.gren { | |||
margin-left: 10rpx; | |||
color: #43CD80; | |||
font-size: 28rpx; | |||
} | |||
.none { | |||
margin-left: 10rpx; | |||
color: #999; | |||
font-size: 28rpx; | |||
} | |||
} | |||
} | |||
} | |||
.right { | |||
margin: 54rpx 0; | |||
} | |||
} | |||
.right { | |||
margin: 54rpx 0; | |||
.empty { | |||
flex: 1; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: center; | |||
align-items: center; | |||
.image { | |||
width: 300rpx; | |||
height: 300rpx; | |||
} | |||
.tips { | |||
font-size: 36rpx; | |||
color: #242424; | |||
line-height: 1; | |||
margin-top: 50rpx; | |||
} | |||
} | |||
} | |||
} | |||
</style> |
@@ -1,7 +1,8 @@ | |||
/** | |||
* env文件里配置自定义运行菜单每一个js代表一个域名 | |||
*/ | |||
const base = process.env.ENV_PATH == undefined ? require('../env/dev.js') : require(process.env.ENV_PATH) | |||
const obj = process.env.ENV_PATH == undefined ? require('../env/dev.js') : require(process.env.ENV_PATH) | |||
const base = obj.baseUrl | |||
// http.js使用 | |||
const baseUrl = `${base}/autoSR/api`; | |||
// config 使用 | |||