@@ -75,7 +75,7 @@ | |||
// return | |||
if (res.statusCode == 401) { | |||
uni.showToast({ | |||
title: '登陆过期请重新登陆', | |||
title: '登录过期请重新登录', | |||
icon: "none", | |||
duration: 2000, | |||
}) | |||
@@ -16,7 +16,8 @@ | |||
"style": { | |||
"navigationBarTitleText": "AI销管", | |||
"navigationBarBackgroundColor": "#2671E2", | |||
"navigationBarTextStyle": "white" | |||
"navigationBarTextStyle": "white", | |||
"enablePullDownRefresh": true | |||
} | |||
}, | |||
{ | |||
@@ -24,7 +25,8 @@ | |||
"style": { | |||
"navigationBarTitleText": "客户管理", | |||
"navigationBarBackgroundColor": "#FFFFFF", | |||
"navigationBarTextStyle": "black" | |||
"navigationBarTextStyle": "black", | |||
"enablePullDownRefresh": true | |||
} | |||
}, | |||
{ | |||
@@ -39,7 +41,8 @@ | |||
"style": { | |||
"navigationBarTitleText": "学习", | |||
"navigationBarBackgroundColor": "#2671E2", | |||
"navigationBarTextStyle": "white" | |||
"navigationBarTextStyle": "white", | |||
"enablePullDownRefresh": true | |||
} | |||
}, { | |||
"path": "pages/index/personal", | |||
@@ -65,7 +68,7 @@ | |||
{ | |||
"path": "Verification", | |||
"style": { | |||
"navigationBarTitleText": "登陆", | |||
"navigationBarTitleText": "登录", | |||
"navigationBarBackgroundColor": "#2671E2", | |||
"navigationBarTextStyle": "white" | |||
// "navigationStyle": "custom" | |||
@@ -200,36 +203,36 @@ | |||
"navigationBarTextStyle": "black" | |||
} | |||
} | |||
,{ | |||
"path" : "messageList", | |||
,{ | |||
"path" : "messageList", | |||
"style" : | |||
{ | |||
"navigationBarTitleText": "消息", | |||
"navigationBarBackgroundColor": "#2671E2", | |||
"navigationBarTextStyle": "white" | |||
} | |||
} | |||
,{ | |||
"path" : "daily/dailyList", | |||
} | |||
,{ | |||
"path" : "daily/dailyList", | |||
"style" : | |||
{ | |||
"navigationBarTitleText": "日报", | |||
"navigationBarBackgroundColor": "#FFFFFF", | |||
"navigationBarTextStyle": "black" | |||
} | |||
} | |||
,{ | |||
"path" : "daily/dailyDetail", | |||
} | |||
,{ | |||
"path" : "daily/dailyDetail", | |||
"style" : | |||
{ | |||
"navigationBarTitleText": "日报详情", | |||
"navigationBarBackgroundColor": "#2671E2", | |||
"navigationBarTextStyle": "white" | |||
} | |||
} | |||
} | |||
] | |||
}, | |||
{ | |||
@@ -348,6 +348,13 @@ | |||
background: #FAFAFA; | |||
padding-bottom: 60rpx; | |||
} | |||
.boxtittab { | |||
position: sticky; | |||
top: var(--window-top); | |||
z-index: 999; | |||
} | |||
.hejisan{ | |||
width: 92%; | |||
margin: 0 auto; | |||
@@ -474,4 +474,10 @@ | |||
background: #FAFAFA; | |||
padding-bottom: 60rpx; | |||
} | |||
.boxtittab { | |||
position: sticky; | |||
top: var(--window-top); | |||
z-index: 999; | |||
} | |||
</style> |
@@ -126,6 +126,7 @@ | |||
<view class="uchaserbox"> | |||
<qiun-data-charts | |||
type="radar" | |||
:opts="opts" | |||
:chartData="chartData" | |||
:canvas2d="true" | |||
canvasId="wangxiaohuaerlingeryilinwuycsdx" | |||
@@ -222,6 +223,14 @@ | |||
"data": [90,110,165,195,187,172] | |||
} | |||
] | |||
}, | |||
opts: { | |||
fontSize: 10, | |||
extra: { | |||
radar: { | |||
max: 100 | |||
} | |||
} | |||
} | |||
}; | |||
@@ -569,6 +578,12 @@ | |||
} | |||
</script> | |||
<style lang="scss" scoped> | |||
.boxtittab { | |||
position: sticky; | |||
top: var(--window-top); | |||
z-index: 999; | |||
} | |||
// 对比时间切换 | |||
.timepick{ | |||
width: 100%; | |||
@@ -48,9 +48,6 @@ | |||
<view class="title3-box" @click="tabtimetap1(1)"> | |||
<view style="height: 42rpx;" :class="{ activecltab: eharTab.active1 == 1 }">趋势</view> | |||
</view> | |||
<!-- <view class="title3-box"> | |||
<view style="height: 42rpx;" :class="{ activecltab: activeTotal2 == 2 }">表格</view> | |||
</view> --> | |||
</view> | |||
</view> | |||
<view class="hejibox"> | |||
@@ -130,15 +127,8 @@ | |||
<view class="title3-box" @click="tabtimetap3(1)"> | |||
<view style="height: 42rpx;" :class="{ activecltab: eharTab.active3 == 1 }">趋势</view> | |||
</view> | |||
<!-- <view class="title3-box"> | |||
<view style="height: 42rpx;" :class="{ activecltab: activeTotal2 == 2 }">表格</view> | |||
</view> --> | |||
</view> | |||
</view> | |||
<!-- <view class="hejibox"> | |||
<view class="heji">{{!staff1.value?'团队总数':staff1.label}}:{{newTeam3||0}}</view> | |||
<view class="heji">{{!staff2.value?'团队平均':staff2.label}}:{{newAvg3||0}}</view> | |||
</view> --> | |||
<view class="" v-if=" eharTab.active3 == 1 "> | |||
<view class="danwei">执行率</view> | |||
<view class="uchaserbox"> | |||
@@ -161,35 +151,6 @@ | |||
</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 class="title3" style="flex: 1;"> | |||
<view class="title3-box"> | |||
<view style="height: 42rpx;" :class="{ activecltab: activeTotal2 == 0 }">执行率</view> | |||
</view> | |||
<view class="title3-box"> | |||
<view style="height: 42rpx;" :class="{ activecltab: activeTotal2 == 1 }">得分</view> | |||
</view> | |||
</view> | |||
</view> | |||
<view class="hejibox"> | |||
<view class="heji">合计:50</view> | |||
<view class="heji">均值:25</view> | |||
</view> | |||
<view class="jindu"> | |||
<view class="jindu-box" v-for="(item,index) in newlisttabinfo" :key="index"> | |||
<view class="jindu-boxche"> | |||
<view class="jindu-name">{{item.name.substring(0, 4)}}</view> | |||
<view style="width: 440rpx;margin-left: 10rpx;"> | |||
<u-line-progress height="24" :show-percent="false" active-color="#9B6BDF" :percent="item.zxl"></u-line-progress> | |||
</view> | |||
<view class="jindu-zxl">{{item.zxl==null?0:item.zxl}}</view> | |||
</view> | |||
</view> | |||
</view> | |||
</view> --> | |||
<view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view> | |||
<view class="single"> | |||
@@ -208,79 +169,7 @@ | |||
</view> | |||
</view> | |||
<view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view> | |||
<!-- <view class="single"> | |||
<view class="title"> | |||
<view class="title1" style="flex: 1;">禁忌执行率</view> | |||
<view class="title3" style="flex: 1;"> | |||
<view class="title3-box" @click="tabtimetap4(0)"> | |||
<view style="height: 42rpx;" :class="{ activecltab: eharTab.active4 == 0 }">排名</view> | |||
</view> | |||
<view class="title3-box" @click="tabtimetap4(1)"> | |||
<view style="height: 42rpx;" :class="{ activecltab: eharTab.active4 == 1 }">趋势</view> | |||
</view> | |||
<view class="title3-box"> | |||
<view style="height: 42rpx;" :class="{ activecltab: activeTotal2 == 2 }">表格</view> | |||
</view> | |||
</view> | |||
</view> | |||
<view class="hejibox"> | |||
<view class="heji">{{!staff1.value?'团队':staff1.label}}:{{newTeam4||0}}</view> | |||
<view class="heji">{{!staff2.value?'均值':staff2.label}}:{{newAvg4||0}}</view> | |||
</view> | |||
<view class="" v-if=" eharTab.active4 == 1 "> | |||
<view class="danwei">来访(人)</view> | |||
<view class="uchaserbox"> | |||
<qiun-data-charts | |||
type="line" | |||
:chartData="lineOptsect4" | |||
background="none" | |||
:ontouch="true" | |||
canvasId="wangxiaohuaerlingeryilingwuyi" | |||
:canvas2d="true" | |||
/> | |||
</view> | |||
</view> | |||
<view class="jindu" v-if=" eharTab.active4 == 0 "> | |||
<view class="jindu-box" v-for="(item,index) in newlisttabinfo4" :key="index"> | |||
<view class="jindu-boxche"> | |||
<view class="jindu-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.zxl"></u-line-progress> | |||
</view> | |||
<view class="jindu-zxl">{{item.zxl==null?0:item.zxl}}</view> | |||
</view> | |||
</view> | |||
</view> | |||
</view> --> | |||
<!-- <view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view> --> | |||
<!-- <view class="single"> | |||
<view class="title" style="padding-right: 30rpx;"> | |||
<view class="title1" style="flex: 1;">违禁能力(TOP10)</view> | |||
<view class="title2" style="flex: 1;justify-content: flex-end;"> | |||
<view class="title2-che">楼盘 | |||
<image class="righttochoose" src="../../../static/images/righttochoose.png" mode=""></image> | |||
</view> | |||
</view> | |||
</view> | |||
<view class="hejibox"> | |||
<view class="heji">合计:50</view> | |||
<view class="heji">均值:25</view> | |||
</view> | |||
<view class="uchaserbox"> | |||
<qiun-data-charts | |||
type="radar" | |||
:chartData="chartData" | |||
:canvas2d="true" | |||
canvasId="wangxiaohuaerlingeryilingwuyib89" | |||
background="none" | |||
/> | |||
</view> | |||
</view> --> | |||
<u-calendar v-model="totalTimeShow" mode="range" @change="totalTimeChange"></u-calendar> | |||
@@ -647,152 +536,10 @@ | |||
this.getPowerList() | |||
} | |||
}, | |||
// 团队对比接待量 | |||
// receptionCountList(idx){ | |||
// this.$u.post('/cusLvStatistics/teamAnalysisReception',{ | |||
// // userA:this.staff1.value, | |||
// // userB:this.staff2.value, | |||
// deptIds:[this.staff1.value,this.staff2.value].filter(item=>item).join(','), | |||
// showRank:idx, | |||
// houseId:this.houseId, | |||
// timeType:this.lastEndDate?null:this.activeTotal+'', | |||
// lastEndDate:this.lastEndDate, | |||
// lastStartDate:this.lastStartDate | |||
// }) | |||
// .then(res=>{ | |||
// // console.log(res) | |||
// let result=res.result | |||
// this.newTeam=res.avg[0] | |||
// this.newAvg=res.avg[1] | |||
// if(idx==0){ | |||
// // 当选择的是牌名时 | |||
// // 处理数据 | |||
// // 先处理牌名数据,需要进行判断全部还是单个 | |||
// // 当为全部时 | |||
// this.newlisttabinfo=[] | |||
// // 当选择全部时 | |||
// if(!this.staff1.value&&!this.staff2.value){ | |||
// // console.log(1) | |||
// result[0].map(item=>{ | |||
// let obj={} | |||
// obj.name=item.deptName | |||
// obj.zxl=item.receptionCount | |||
// this.newlisttabinfo.push(obj) | |||
// }) | |||
// } | |||
// // 当选择只有一个时 | |||
// else if(this.staff1.value&&!this.staff2.value){ | |||
// // console.log(2) | |||
// result[0].map(item=>{ | |||
// let obj={} | |||
// obj.name=item.deptName | |||
// obj.zxl=item.receptionCount | |||
// this.newlisttabinfo.push(obj) | |||
// }) | |||
// // 判断是否显示平均 | |||
// // 如果显示对比 | |||
// if(this.timepickpickisshow){ | |||
// result[1].map(item=>{ | |||
// let obj={} | |||
// obj.name='平均' | |||
// obj.zxl=item.receptionCount | |||
// this.newlisttabinfo.push(obj) | |||
// }) | |||
// } | |||
// }else{ | |||
// // console.log(3) | |||
// // 当两个都选择的时候 | |||
// result[0].map(item=>{ | |||
// let obj={} | |||
// obj.name=item.deptName | |||
// obj.zxl=item.receptionCount | |||
// this.newlisttabinfo.push(obj) | |||
// }) | |||
// result[1].map(item=>{ | |||
// let obj={} | |||
// obj.name=item.deptName | |||
// obj.zxl=item.receptionCount | |||
// this.newlisttabinfo.push(obj) | |||
// }) | |||
// } | |||
// }else{ | |||
// // 当选择趋势时 | |||
// // this.lineOptsect={ | |||
// // categories:[], | |||
// // series:[] | |||
// // } | |||
// let allobj={ | |||
// categories:[], | |||
// series:[] | |||
// } | |||
// // 先处理时间 | |||
// // 当选择全部时 | |||
// if(!this.staff1.value&&!this.staff2.value){ | |||
// // console.log(1) | |||
// result.map((item,idx)=>{ | |||
// let obj={} | |||
// obj.name=item[0].deptName | |||
// obj.data=[] | |||
// item.map(item1=>{ | |||
// // 时间的处理 | |||
// if(idx==0){ | |||
// allobj.categories.push(item1.statDate.slice(5,10)) | |||
// } | |||
// obj.data.push(item1.receptionCount) | |||
// }) | |||
// allobj.series.push(obj) | |||
// }) | |||
// } | |||
// // 当选择只有一个时 | |||
// else if(this.staff1.value&&!this.staff2.value){ | |||
// // console.log(2) | |||
// let obj={} | |||
// obj.data=[] | |||
// obj.name=result[0][0].deptName | |||
// result[0].map(item=>{ | |||
// allobj.categories.push(item.statDate.slice(5,10)) | |||
// obj.data.push(item.receptionCount) | |||
// }) | |||
// allobj.series.push(obj) | |||
// // 判断是否显示平均 | |||
// // 如果显示对比 | |||
// if(this.timepickpickisshow){ | |||
// let obj={} | |||
// obj.data=[] | |||
// obj.name='平均' | |||
// result[1].map(item=>{ | |||
// obj.data.push(item.receptionCount) | |||
// }) | |||
// allobj.series.push(obj) | |||
// } | |||
// }else{ | |||
// // console.log(3) | |||
// // 当两个都选择的时候 | |||
// let obj={} | |||
// let obj1={} | |||
// obj.data=[] | |||
// obj1.data=[] | |||
// obj.name=result[0][0].deptName | |||
// obj1.name=result[1][0].deptName | |||
// result[0].map(item=>{ | |||
// allobj.categories.push(item.statDate.slice(5,10)) | |||
// obj.data.push(item.receptionCount) | |||
// }) | |||
// result[1].map(item=>{ | |||
// obj1.data.push(item.receptionCount) | |||
// }) | |||
// allobj.series.push(obj) | |||
// allobj.series.push(obj1) | |||
// } | |||
// this.lineOptsect=allobj | |||
// } | |||
// }) | |||
// }, | |||
// 接待时长 | |||
// 公共方法 | |||
receptionCountList(idx, index, url) { | |||
this.$u.post(url, { | |||
// userA:this.staff1.value, | |||
// userB:this.staff2.value, | |||
deptIds: [this.staff1.value, this.staff2.value].filter(item => item).join(','), | |||
showRank: idx, | |||
houseId: this.houseId, | |||
@@ -801,11 +548,12 @@ | |||
lastStartDate: this.lastStartDate | |||
}) | |||
.then(res => { | |||
// console.log(res) | |||
console.log('我再此') | |||
let result = res.result | |||
this['newTeam' + index] = res.avg[0] | |||
this['newAvg' + index] = res.avg[1] | |||
if (idx == 0) { | |||
console.log(idx, index, url, '打卡记录撒橘红颗粒大健康1 ') | |||
// 当选择的是牌名时 | |||
// 处理数据 | |||
// 先处理牌名数据,需要进行判断全部还是单个 | |||
@@ -847,7 +595,7 @@ | |||
arr = this.dealData(arr) | |||
this['newlisttabinfo' + index] = arr | |||
} else { | |||
// console.log(3) | |||
console.log(3, '啥大上课了就可领取诶去玩害偶尔UI哦请勿诶哦') | |||
// 当两个都选择的时候 | |||
result[0].map(item => { | |||
let obj = {} | |||
@@ -865,6 +613,7 @@ | |||
this['newlisttabinfo' + index] = arr | |||
} | |||
} else { | |||
console.log(idx, index, url, '1231231231289123132UI哦23UI哦23UI哦1 ') | |||
// 当选择趋势时 | |||
this['lineOptsect' + index] = {} | |||
let allobj = { | |||
@@ -936,6 +685,8 @@ | |||
// this['lineOptsect'+index].series=allobj.series | |||
// this['lineOptsect'+index].categories=allobj.categories | |||
} | |||
this.$forceUpdate() | |||
}) | |||
}, | |||
// 获取销奖能力 | |||
@@ -1053,6 +804,12 @@ | |||
}; | |||
</script> | |||
<style lang="scss" scoped> | |||
.boxtittab { | |||
position: sticky; | |||
top: var(--window-top); | |||
z-index: 999; | |||
} | |||
.box { | |||
width: 100%; | |||
height: 100%; | |||
@@ -54,9 +54,9 @@ | |||
{{index==1?item.num+'%':item.num}} | |||
</view> | |||
<view class="comparesize" v-if="compareFlag&&timepickpickisshow"> | |||
<text style="margin-right: 10rpx;">对比:{{index==1?item.num1+'%':item.num1}} </text> | |||
<text :style="{color:item.num2*1>0?'red':'green'}">{{item.num2+'%'}} | |||
{{item.num2*1>0?'↑':'↓'}}</text> | |||
<text style="margin-right: 10rpx;">对比:{{index==1?item.num1+'%':item.num1}}</text> | |||
<text | |||
:style="{color:item.num2*1>0?'red':'green'}">{{item.num2+'%'}} {{(item.num2*1) > 0 ? '↑' : '↓'}}</text> | |||
</view> | |||
</view> | |||
</view> | |||
@@ -141,9 +141,9 @@ | |||
<view class="single"> | |||
<!-- <view class="danwei" style="margin-top: 10rpx;">销讲词执行率</view> --> | |||
<view class="uchaserbox" v-if="lineOptsect.series.length!=0"> | |||
<qiun-data-charts :style="!showCanvas?'display:none':''" :type="linetype" :chartData="lineOptsect" | |||
background="none" :ontouch="true" canvasId="wangxiaohuaerlingeryilingwuyibao" | |||
:canvas2d="true" /> | |||
<qiun-data-charts :style="!showCanvas?'display:none':''" :type="linetype" :opts="opts" | |||
:chartData="lineOptsect" background="none" :ontouch="true" | |||
canvasId="wangxiaohuaerlingeryilingwuyibao" :canvas2d="true" /> | |||
</view> | |||
<view v-else style="width: 100%;"> | |||
<view style="width: 100%;text-align: center;"> | |||
@@ -184,7 +184,8 @@ | |||
style="display: inline-block;"> | |||
<view v-if="index==1&&index1>0" class="td" :style="{color:item1*1>0?'red':'green'}" | |||
style="border-right:1px solid #E0E0E0;"> | |||
{{item1==0?'--':item1+'%'}}{{item1*1>0?'↑':item1*1<0?'↓':''}}</view> | |||
{{item1==0?'--':item1+'%'}}{{item1*1>0?'↑':item1*1<0?'↓':''}} | |||
</view> | |||
<view v-else-if="index>1&&index1>0" class="td" style="border-right:1px solid #E0E0E0;"> | |||
{{item1+'%'}} | |||
</view> | |||
@@ -198,7 +199,7 @@ | |||
</view> | |||
<view style="width: 100%;height: 60rpx;"></view> | |||
<u-select v-model="Showhiddenunits" mode="single-column" :list="selectlist" @confirm="confirm" | |||
:default-value="selindex"> | |||
:default-value="selindexList"> | |||
</u-select> | |||
<u-select v-model="Showhiddenunits2" mode="single-column" :list="selectlist2" @confirm="confirm2" | |||
:default-value="selindex"> | |||
@@ -221,6 +222,7 @@ | |||
export default { | |||
data() { | |||
return { | |||
selindexList: [0], // 默认选中第一项 | |||
compareFlag: false, | |||
numlist: [{ | |||
name: '接待量', | |||
@@ -307,7 +309,15 @@ | |||
sheartime2: "", | |||
intervaltime: 0, | |||
tableDate: [], | |||
guwenFlag: false | |||
guwenFlag: false, | |||
opts: { | |||
fontSize: 10, | |||
extra: { | |||
radar: { | |||
max: 100 | |||
} | |||
} | |||
} | |||
}; | |||
}, | |||
@@ -577,70 +587,73 @@ | |||
}; | |||
this.linetype = "line"; | |||
this.$u.post("/cusLvStatistics/teamOrOneValueShow", this.pamect).then(data => { | |||
if (this.pamect.showStatus == 0) { | |||
that.lineOptsect = { | |||
categories: [], | |||
series: [{ | |||
name: '起始时间', | |||
data: [], | |||
color: '#7ED3F4' | |||
}] | |||
} | |||
data.startList.forEach((child, zxc) => { | |||
that.lineOptsect.categories.push(child.statDate.substring(5, 10)) | |||
}) | |||
that.lineOptsect.series[0].data = data.startList.map(item => item.fraction); | |||
} else { | |||
that.lineOptsect = { | |||
categories: [], | |||
series: [{ | |||
if (data.data != null) { | |||
if (this.pamect.showStatus == 0) { | |||
that.lineOptsect = { | |||
categories: [], | |||
series: [{ | |||
name: '起始时间', | |||
data: [], | |||
color: '#7ED3F4' | |||
}, | |||
{ | |||
name: '对比时间', | |||
data: [], | |||
color: '#FF7070' | |||
}, | |||
] | |||
} | |||
data.startList.forEach((item, sdf) => { | |||
data.endList.forEach((child, zxc) => { | |||
if (sdf == zxc) { | |||
that.lineOptsect.categories.push( | |||
child.statDate.substring(5, 10) + 'vs' + item.statDate | |||
.substring(5, 10) | |||
) | |||
} | |||
}] | |||
} | |||
data.startList.forEach((child, zxc) => { | |||
that.lineOptsect.categories.push(child.statDate.substring(5, 10)) | |||
}) | |||
}) | |||
that.lineOptsect.series[1].data = data.startList.map(item => item.fraction); | |||
that.lineOptsect.series[0].data = data.endList.map(item => item.fraction) | |||
that.guwenFlag = false | |||
// // 处理表格数据 | |||
let arr = [ | |||
['时间', '时段一', '时段二', '变化'] | |||
// { | |||
// time:'时间', | |||
// time1:'时段一', | |||
// time2:'时段二', | |||
// compare:'变化' | |||
// }, | |||
] | |||
that.lineOptsect.categories.map((item, index) => { | |||
let newarr = [item, data.endList[index].fraction, data.startList[index] | |||
.fraction, data.comparedList[index].fraction | |||
that.lineOptsect.series[0].data = data.startList.map(item => item.fraction); | |||
} else { | |||
that.lineOptsect = { | |||
categories: [], | |||
series: [{ | |||
name: '起始时间', | |||
data: [], | |||
color: '#7ED3F4' | |||
}, | |||
{ | |||
name: '对比时间', | |||
data: [], | |||
color: '#FF7070' | |||
}, | |||
] | |||
} | |||
data.startList.forEach((item, sdf) => { | |||
data.endList.forEach((child, zxc) => { | |||
if (sdf == zxc) { | |||
that.lineOptsect.categories.push( | |||
child.statDate.substring(5, 10) + 'vs' + item | |||
.statDate | |||
.substring(5, 10) | |||
) | |||
} | |||
}) | |||
}) | |||
that.lineOptsect.series[1].data = data.startList.map(item => item.fraction); | |||
that.lineOptsect.series[0].data = data.endList.map(item => item.fraction) | |||
that.guwenFlag = false | |||
// // 处理表格数据 | |||
let arr = [ | |||
['时间', '时段一', '时段二', '变化'] | |||
// { | |||
// time:'时间', | |||
// time1:'时段一', | |||
// time2:'时段二', | |||
// compare:'变化' | |||
// }, | |||
] | |||
// obj.time=item | |||
// obj.time1=data.firstValue[index].fraction | |||
// obj.time2=data.lastValue[index].fraction | |||
// obj.compare=data.contrast[index].data | |||
// arr.push(obj) | |||
arr.push(newarr) | |||
}) | |||
// console.log(arr) | |||
that.tableDate = arr | |||
that.lineOptsect.categories.map((item, index) => { | |||
let newarr = [item, data.endList[index].fraction, data.startList[index] | |||
.fraction, data.comparedList[index].fraction | |||
] | |||
// obj.time=item | |||
// obj.time1=data.firstValue[index].fraction | |||
// obj.time2=data.lastValue[index].fraction | |||
// obj.compare=data.contrast[index].data | |||
// arr.push(obj) | |||
arr.push(newarr) | |||
}) | |||
// console.log(arr) | |||
that.tableDate = arr | |||
} | |||
} | |||
}); | |||
}, | |||
@@ -718,6 +731,11 @@ | |||
this.pamect.accountId = this.lopanobj.id; | |||
this.ConsultantDimension() | |||
this.Showhiddenunits = false; | |||
for (let i = 0; i < this.selectlist.length; i++) { | |||
if (e[0].value == this.selectlist[i].value) { | |||
this.selindexList[0] = i | |||
} | |||
} | |||
}, | |||
//获取顾问 | |||
getguwenlist() { | |||
@@ -1122,25 +1140,30 @@ | |||
} | |||
</script> | |||
<style lang="scss" scoped> | |||
.uchaserbox { | |||
height: 50vh; | |||
} | |||
.title2-che { | |||
width: 178rpx; | |||
height: 48rpx; | |||
height: 80rpx; | |||
background: #FFFFFF; | |||
border-radius: 6rpx; | |||
border: 1px solid #E0E0E0; | |||
line-height: 48rpx; | |||
border: 1rpx solid #E0E0E0; | |||
line-height: 80rpx; | |||
font-size: 28rpx; | |||
font-weight: 400; | |||
color: #666666; | |||
text-indent: 12rpx; | |||
margin-left: 35rpx; | |||
margin-top: 20rpx; | |||
position: relative; | |||
.righttochoose { | |||
width: 18rpx; | |||
height: 24rpx; | |||
position: absolute; | |||
top: 12rpx; | |||
top: 28rpx; | |||
right: 12rpx; | |||
} | |||
} | |||
@@ -1211,6 +1234,10 @@ | |||
// 顶部时间切换 | |||
.timetabct { | |||
position: sticky; | |||
top: var(--window-top); | |||
z-index: 999; | |||
background: #fff; | |||
width: 100%; | |||
height: 98rpx; | |||
display: flex; | |||
@@ -1357,6 +1384,8 @@ | |||
font-size: 24rpx; | |||
color: #666666; | |||
margin-top: 10rpx; | |||
display: flex; | |||
align-items: center; | |||
} | |||
.grid:nth-child(1) { | |||
@@ -62,14 +62,21 @@ | |||
</view> | |||
</view> | |||
<view v-if="item.activeTab==1" class="tabech"> | |||
<qiun-data-charts | |||
:key="item.id" | |||
type="ring" | |||
:chartData="item.chartData" | |||
:canvas2d="true" | |||
:canvasId="'wangxiaohuahahahahaha'+item.id" | |||
:opts='item.opts' | |||
background="none" /> | |||
<template v-if="item.chartDataShow"> | |||
<qiun-data-charts | |||
:key="item.id" | |||
type="ring" | |||
:chartData="item.chartData" | |||
:canvas2d="true" | |||
:canvasId="'wangxiaohuahahahahaha'+item.id" | |||
:opts='item.opts' | |||
background="none" /> | |||
</template> | |||
<template v-else> | |||
<view> | |||
<view style="color: #999999;width: 100%;height: 500rpx;line-height: 500rpx;text-align: center;" >暂无数据</view> | |||
</view> | |||
</template> | |||
</view> | |||
</view> | |||
@@ -172,6 +179,11 @@ | |||
"value": chend.proportion | |||
}) | |||
}) | |||
if (item.chartData.series[0].data.length > 0) { | |||
item.chartDataShow = true | |||
} else { | |||
item.chartDataShow = false | |||
} | |||
}) | |||
data.list.forEach(item=>{ | |||
item.matchKeywords.forEach(chend=>{ | |||
@@ -240,6 +252,9 @@ | |||
} | |||
.boxtittab { | |||
position: sticky; | |||
top: var(--window-top); | |||
z-index: 999; | |||
width: 100; | |||
height: 92rpx; | |||
background: #FFFFFF; | |||
@@ -14,8 +14,8 @@ | |||
<view :class="{ activecllasscet: activeTotal == 3 }" @click="tabtimetap(3)">自定义</view> | |||
</view> | |||
</view> | |||
<!-- <view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view> | |||
<view class="Piabodata-box"> | |||
<view class="Piabodata" @click="toTrendAnalysis()" v-if="permissions.commonly3"> | |||
@@ -83,9 +83,9 @@ | |||
<view class="heji">均值:25</view> | |||
</view> --> | |||
<view class="danwei">{{danwei}} </view> | |||
<view class="uchaserbox" > | |||
<qiun-data-charts type="line" :chartData="lineOptsect" :opts="optionsobj" background="none" :ontouch="true" | |||
canvasId="wangxiaohuaerlingilingwuyiba1" :canvas2d="true" /> | |||
<view class="uchaserbox"> | |||
<qiun-data-charts type="line" :chartData="lineOptsect" :opts="optionsobj" background="none" | |||
:ontouch="true" canvasId="wangxiaohuaerlingilingwuyiba1" :canvas2d="true" /> | |||
</view> | |||
</view> | |||
@@ -99,7 +99,7 @@ | |||
<view class="title2-che" style="width: 220rpx;">{{team.label}} | |||
<image class="righttochoose" src="../../../static/images/righttochoose.png" mode=""></image> | |||
</view> | |||
</view> | |||
</view> | |||
<view class="danwei">单位(%)</view> | |||
@@ -130,8 +130,8 @@ | |||
</view> --> | |||
<view class="danwei">单位(%)</view> | |||
<view class="uchaserbox"> | |||
<qiun-data-charts type="line" :chartData="lineOptsect2" background="none" :ontouch="true" | |||
canvasId="wangxiaohuaerlingeryilingwuyibao" :canvas2d="true" /> | |||
<qiun-data-charts type="line" :opts="opts" :chartData="lineOptsect2" background="none" | |||
:ontouch="true" canvasId="wangxiaohuaerlingeryilingwuyibao" :canvas2d="true" /> | |||
</view> | |||
</view> | |||
</view> | |||
@@ -153,7 +153,8 @@ | |||
<view class="heji">合计:50</view> | |||
<view class="heji">均值:25</view> | |||
</view> --> | |||
<view style="width: 100%;height: 300rpx;text-align: center;line-height: 300rpx;" v-if="newlisttabinfo.length==0">暂无数据</view> | |||
<view style="width: 100%;height: 300rpx;text-align: center;line-height: 300rpx;" | |||
v-if="newlisttabinfo.length==0">暂无数据</view> | |||
<view v-else class="jindu" style="margin-top: 20rpx;"> | |||
<scroll-view style="height: 300rpx;" scroll-y="true"> | |||
<view class="jindu-box" v-for="(item,index) in newlisttabinfo" :key="index"> | |||
@@ -181,7 +182,8 @@ | |||
:is-scroll="true"> | |||
</u-tabs-swiper> | |||
</view> | |||
<view style="width: 100%;height: 300rpx;text-align: center;line-height: 300rpx;" v-if="newlisttabinfo1.length==0">暂无数据</view> | |||
<view style="width: 100%;height: 300rpx;text-align: center;line-height: 300rpx;" | |||
v-if="newlisttabinfo1.length==0">暂无数据</view> | |||
<view class="jindu" v-else> | |||
<scroll-view style="height: 300rpx;" scroll-y="true"> | |||
<view class="jindu-box" v-for="(item,index) in newlisttabinfo1" :key="index"> | |||
@@ -249,19 +251,20 @@ | |||
totalTimeShow: false, | |||
activeTab: 0, | |||
numlist: [{ | |||
name: '接待客户', | |||
name: '平均执行率', | |||
num: '' | |||
}, | |||
{ | |||
name: '接待量', | |||
name: '平均接待时长', | |||
num: '' | |||
}, | |||
{ | |||
name: '平均执行率', | |||
name: '接待量', | |||
num: '' | |||
}, | |||
{ | |||
name: '平均接待时长', | |||
name: '有效接待', | |||
num: '' | |||
}, | |||
], | |||
@@ -279,20 +282,21 @@ | |||
}, | |||
newlistoj: [], | |||
newlistoj1: [{ | |||
name: "接待客户", | |||
id: 1 | |||
}, | |||
{ | |||
name: "平均执行率", | |||
id: 2 | |||
}, | |||
{ | |||
name: "平均接待时长", | |||
id: 5 | |||
}, | |||
{ | |||
name: "接待量", | |||
id: 3 | |||
}, | |||
{ | |||
name: "平均接待时长", | |||
id: 5 | |||
name: "有效接待", | |||
id: 1 | |||
}, | |||
], | |||
bocindex: 0, | |||
@@ -314,25 +318,33 @@ | |||
Groupcontrastisshow: false, | |||
allechar: [], | |||
allList: [], | |||
optionsobj:{}, | |||
permissions:{ | |||
commonly2:false, | |||
commonly3:false, | |||
commonly4:false, | |||
commonly5:false, | |||
commonly6:false, | |||
optionsobj: {}, | |||
permissions: { | |||
commonly2: false, | |||
commonly3: false, | |||
commonly4: false, | |||
commonly5: false, | |||
commonly6: false, | |||
}, | |||
opts: { | |||
yAxis: { | |||
data: [{ | |||
max: 100 | |||
}] | |||
} | |||
} | |||
}; | |||
}, | |||
onShow() { | |||
let newmenulist= uni.getStorageSync('weapp_session_Menu_data'); | |||
this.permissions.commonly2=newmenulist.lpdb; | |||
this.permissions.commonly3=newmenulist.xjqs; | |||
this.permissions.commonly4=newmenulist.tddb; | |||
this.permissions.commonly5=newmenulist.gwnl; | |||
this.permissions.commonly6=newmenulist.yhhx; | |||
let newmenulist = uni.getStorageSync('weapp_session_Menu_data'); | |||
this.permissions.commonly2 = newmenulist.lpdb; | |||
this.permissions.commonly3 = newmenulist.xjqs; | |||
this.permissions.commonly4 = newmenulist.tddb; | |||
this.permissions.commonly5 = newmenulist.gwnl; | |||
this.permissions.commonly6 = newmenulist.yhhx; | |||
// 获取楼盘id | |||
this.houseId = uni.getStorageSync('buildingID').id; | |||
// 获取数据看板 | |||
@@ -351,8 +363,8 @@ | |||
this.getindexZxl() | |||
}, | |||
methods: { | |||
// 获取员工列表 | |||
getStaffList() { | |||
this.$u.post('/cusLvStatistics/selectAllAccountIdByHouseId', { | |||
@@ -477,7 +489,8 @@ | |||
this.lineOptsect2.categories = [] | |||
this.lineOptsect2.series = [{ | |||
name: first[0].accountName, | |||
data: [] | |||
data: [], | |||
max: 100, | |||
}] | |||
first.map(item => { | |||
this.lineOptsect2.categories.push(item.statDate.slice(5, 10)) | |||
@@ -576,14 +589,7 @@ | |||
}] | |||
} | |||
if (index == 0) { | |||
// 接待量 | |||
this.danwei = '单位(次)' | |||
allobj.series[0].name = '接待量' | |||
this.allechar.map(item => { | |||
allobj.categories.push(item.statDate.slice(5, 10)) | |||
allobj.series[0].data.push(item.receptionCount) | |||
}) | |||
} else if (index == 1) { | |||
// 平均执行率 | |||
this.danwei = '单位(%)' | |||
allobj.series[0].name = '平均执行率' | |||
@@ -591,28 +597,36 @@ | |||
allobj.categories.push(item.statDate.slice(5, 10)) | |||
allobj.series[0].data.push(item.fraction) | |||
}) | |||
} else if (index == 1) { | |||
// 平均接待时长 | |||
this.danwei = '单位(min)' | |||
allobj.series[0].name = '录音时长' | |||
this.allechar.map(item => { | |||
allobj.categories.push(item.statDate.slice(5, 10)) | |||
allobj.series[0].data.push(item.sumDuration) | |||
}) | |||
} else if (index == 2) { | |||
// 接待客户 | |||
this.danwei = '单位(个)' | |||
allobj.series[0].name = '接待客户' | |||
allobj.series[0].name = '接待量' | |||
this.allechar.map(item => { | |||
allobj.categories.push(item.statDate.slice(5, 10)) | |||
allobj.series[0].data.push(item.sumCustomer) | |||
}) | |||
} else { | |||
// 平均接待时长 | |||
this.danwei = '单位(min)' | |||
allobj.series[0].name = '录音时长' | |||
// 接待量 | |||
this.danwei = '单位(次)' | |||
allobj.series[0].name = '有效接待' | |||
this.allechar.map(item => { | |||
allobj.categories.push(item.statDate.slice(5, 10)) | |||
allobj.series[0].data.push(item.sumDuration) | |||
allobj.series[0].data.push(item.receptionCount) | |||
}) | |||
} | |||
this.bocindex = index; | |||
this.lineOptsect = allobj | |||
}, | |||
tapspagek3(index) { | |||
this.newlisttabinfo1=[]; | |||
this.newlisttabinfo1 = []; | |||
let arr = [] | |||
this.allList[index].children.map(item => { | |||
arr.push({ | |||
@@ -678,6 +692,12 @@ | |||
padding-bottom: 60rpx; | |||
} | |||
.boxtittab { | |||
position: sticky; | |||
top: var(--window-top); | |||
z-index: 999; | |||
} | |||
.Piabodata-box { | |||
width: 100%; | |||
background: #FFFFFF; | |||
@@ -14,22 +14,25 @@ | |||
</view> | |||
</view> | |||
<view class="conmsg-msg-lab-inp"> | |||
<input type="text" placeholder="请输入客户姓名" placeholder-style="color:#B2B2B2;" v-model="form.name"/> | |||
<input type="text" placeholder="请输入客户姓名" placeholder-style="color:#B2B2B2;" | |||
v-model="form.name" /> | |||
</view> | |||
</view> | |||
<view class="conmsg-msg-lab"> | |||
<view class="conmsg-msg-lab-1"> | |||
客户性别 | |||
</view> | |||
<view class="conmsg-msg-lab-inp" style="margin-top: 20rpx;"> | |||
<view style="border: none; display: flex;"> | |||
<view class="sexchose" @click="form.sex=1" :style="{border:form.sex==1?'1px solid #0A6EE9':'1px solid #E0E0E0'}"> | |||
男 | |||
</view> | |||
<view class="sexchose" @click="form.sex=2" :style="{border:form.sex==2?'1px solid #0A6EE9':'1px solid #E0E0E0'}"> | |||
女 | |||
</view> | |||
<view class="conmsg-msg-lab-inp"> | |||
<view style="border: none; display: flex;"> | |||
<view class="sexchose" @click="form.sex=1" | |||
:style="{border:form.sex==1?'1px solid #0A6EE9;background: #0A6EE9;color: #fff;':'1px solid #E0E0E0'}"> | |||
男 | |||
</view> | |||
<view class="sexchose" @click="form.sex=2" | |||
:style="{border:form.sex==2?'1px solid #0A6EE9;background: #0A6EE9;color: #fff;':'1px solid #E0E0E0'}"> | |||
女 | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
<view class="conmsg-msg-lab"> | |||
@@ -40,7 +43,8 @@ | |||
</view> | |||
</view> | |||
<view class="conmsg-msg-lab-inp"> | |||
<input :disabled="dataCode!=6" type="number" placeholder="请输入联系电话" placeholder-style="color:#B2B2B2;" maxlength="11" v-model="form.phone"/> | |||
<input :disabled="dataCode!=6" type="number" placeholder="请输入联系电话" | |||
placeholder-style="color:#B2B2B2;" maxlength="11" v-model="form.phone" /> | |||
</view> | |||
</view> | |||
<view class="conmsg-msg-lab"> | |||
@@ -48,7 +52,8 @@ | |||
微信账号 | |||
</view> | |||
<view class="conmsg-msg-lab-inp"> | |||
<input type="text" placeholder="请输入微信账号" placeholder-style="color:#B2B2B2;" v-model="form.chatNo"/> | |||
<input type="text" placeholder="请输入微信账号" placeholder-style="color:#B2B2B2;" | |||
v-model="form.chatNo" /> | |||
</view> | |||
</view> | |||
<view class="conmsg-msg-lab" @click="levelshow = true"> | |||
@@ -56,7 +61,7 @@ | |||
客户等级 | |||
</view> | |||
<view class="conmsg-msg-lab-inp"> | |||
<input type="text" placeholder="请选择客户等级" v-model="selectform.level" disabled/> | |||
<input type="text" placeholder="请选择客户等级" v-model="selectform.level" disabled /> | |||
</view> | |||
<view class="conmsg-msg-lab-img"> | |||
<image class="screen-sel-img" src="../../../static/images/right.png" mode=""></image> | |||
@@ -78,188 +83,196 @@ | |||
备注内容 | |||
</view> | |||
<view class="conmsg-msg-lab-inp"> | |||
<input type="text" placeholder="请输入备注内容" placeholder-style="color:#B2B2B2;" v-model="form.remarks"/> | |||
<input type="text" placeholder="请输入备注内容" placeholder-style="color:#B2B2B2;" | |||
v-model="form.remarks" /> | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
<view class="conmsg" v-if="allList.length!=0"> | |||
<view class="conmsg-title"> | |||
客户标签 | |||
</view> | |||
<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 class="conmsg-msg-lab" style="border: none;"> | |||
<view class="conmsg-msg-lab-1"> | |||
{{item.name}} | |||
</view> | |||
</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 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;background: #0A6EE9;color: #fff;':'1px solid #E0E0E0'}" | |||
class="chebox"> | |||
{{item1.label}} | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
<view class="submit"> | |||
<view class="btn" @click="submit"> | |||
确定 | |||
</view> | |||
</view> | |||
<view class="" style="height: 220rpx;" > | |||
<view class="" style="height: 220rpx;background: #fff;"> | |||
<!-- :style="{marginTop:allList.length!=0?'0':'500rpx'}" --> | |||
</view> | |||
<!-- 客户等级 --> | |||
<u-select v-model="levelshow" :list="levellist" @confirm="levelshowCallback"></u-select> | |||
</view> | |||
</template> | |||
<script> | |||
export default{ | |||
data(){ | |||
return{ | |||
form:{ | |||
name:'', | |||
sex:'1', | |||
phone:'', | |||
chatNo:'', | |||
level:'1', | |||
remarks:'', | |||
export default { | |||
data() { | |||
return { | |||
form: { | |||
name: '', | |||
sex: '1', | |||
phone: '', | |||
chatNo: '', | |||
level: '1', | |||
remarks: '', | |||
}, | |||
selectform:{ | |||
level:'A', | |||
stage:'', | |||
demand:'', | |||
area:'', | |||
budget:'', | |||
fouce:'', | |||
soure:'', | |||
selectform: { | |||
level: 'A', | |||
stage: '', | |||
demand: '', | |||
area: '', | |||
budget: '', | |||
fouce: '', | |||
soure: '', | |||
}, | |||
levelshow:false, | |||
customerId:'', | |||
levelshow: false, | |||
customerId: '', | |||
// 等级 | |||
levellist:[ | |||
{ | |||
value:1, | |||
label:'A' | |||
levellist: [{ | |||
value: 1, | |||
label: 'A' | |||
}, | |||
{ | |||
value:2, | |||
label:'B' | |||
value: 2, | |||
label: 'B' | |||
}, | |||
{ | |||
value:3, | |||
label:'C' | |||
value: 3, | |||
label: 'C' | |||
}, | |||
{ | |||
value:4, | |||
label:'D' | |||
value: 4, | |||
label: 'D' | |||
}, | |||
], | |||
allList:[], | |||
dataCode:'' | |||
allList: [], | |||
dataCode: '' | |||
} | |||
}, | |||
onLoad(e) { | |||
const { | |||
dataCode | |||
} = uni.getStorageSync("weapp_session_userInfo_data"); | |||
this.dataCode=dataCode | |||
this.dataCode = dataCode | |||
console.log(e) | |||
// 先调用借口查询数据 | |||
this.customerId=e.id | |||
this.customerId = e.id | |||
this.getdetail() | |||
}, | |||
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; | |||
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() | |||
}, | |||
sourecheck(index){ | |||
this.sourelist[index].checked=!this.sourelist[index].checked | |||
sourecheck(index) { | |||
this.sourelist[index].checked = !this.sourelist[index].checked | |||
this.$forceUpdate() | |||
}, | |||
demandcheck(index){ | |||
this.demandlist[index].checked=!this.demandlist[index].checked | |||
demandcheck(index) { | |||
this.demandlist[index].checked = !this.demandlist[index].checked | |||
this.$forceUpdate() | |||
}, | |||
areacheck(index){ | |||
this.arealist[index].checked=!this.arealist[index].checked | |||
areacheck(index) { | |||
this.arealist[index].checked = !this.arealist[index].checked | |||
this.$forceUpdate() | |||
}, | |||
levelshowCallback(e){ | |||
this.selectform.level=e[0].label | |||
this.form.level=e[0].value | |||
levelshowCallback(e) { | |||
this.selectform.level = e[0].label | |||
this.form.level = e[0].value | |||
}, | |||
// 获取用户数据 | |||
getdetail(){ | |||
this.$u.get("customer/findById?",{id:this.customerId}) | |||
.then(res=>{ | |||
this.form=res | |||
// 给客户等级赋值 | |||
let idx= this.levellist.findIndex(item=>item.value==res.level) | |||
if(idx!=-1){ | |||
this.selectform.level=this.levellist[idx].label | |||
}else{ | |||
this.selectform.level='A'; | |||
this.form.level=1; | |||
} | |||
// 获取置业需求 | |||
this.getListByType() | |||
}) | |||
getdetail() { | |||
this.$u.get("customer/findById?", { | |||
id: this.customerId | |||
}) | |||
.then(res => { | |||
this.form = res | |||
// 给客户等级赋值 | |||
let idx = this.levellist.findIndex(item => item.value == res.level) | |||
if (idx != -1) { | |||
this.selectform.level = this.levellist[idx].label | |||
} else { | |||
this.selectform.level = 'A'; | |||
this.form.level = 1; | |||
} | |||
// 获取置业需求 | |||
this.getListByType() | |||
}) | |||
}, | |||
// 字典表接口 | |||
getListByType(){ | |||
this.$u.get("/matchKeywords/findPersonalMatchData",{customerId:this.customerId}) | |||
.then(res=>{ | |||
// console.log(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; | |||
getListByType() { | |||
this.$u.get("/matchKeywords/findPersonalMatchData", { | |||
customerId: this.customerId | |||
}) | |||
.then(res => { | |||
// console.log(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; | |||
}) | |||
}) | |||
}) | |||
// console.log(res) | |||
this.allList=res | |||
// return | |||
}) | |||
// console.log(res) | |||
this.allList = res | |||
// return | |||
}) | |||
}, | |||
// 提交 | |||
submit(){ | |||
let param={} | |||
let str=[] | |||
if(this.form.name==''){ | |||
submit() { | |||
let param = {} | |||
let str = [] | |||
if (this.form.name == '') { | |||
uni.showToast({ | |||
title:'请输入客户姓名', | |||
icon:'none' | |||
title: '请输入客户姓名', | |||
icon: 'none' | |||
}) | |||
return | |||
} | |||
if(this.form.phone==''){ | |||
if (this.form.phone == '') { | |||
uni.showToast({ | |||
title:'请输入手机号', | |||
icon:'none' | |||
title: '请输入手机号', | |||
icon: 'none' | |||
}) | |||
return | |||
} | |||
@@ -271,45 +284,45 @@ | |||
// // this.form.phone='' | |||
// return false; | |||
// } | |||
if (this.form.phone.length<5) { | |||
if (this.form.phone.length < 5) { | |||
uni.showToast({ | |||
icon: "none", | |||
title: "手机号码不能小于5位" | |||
}) | |||
return; | |||
} | |||
if (this.form.phone.length>11) { | |||
if (this.form.phone.length > 11) { | |||
uni.showToast({ | |||
icon: "none", | |||
title: "手机号码不能大于11位" | |||
}) | |||
return; | |||
} | |||
this.allList.map(item=>{ | |||
item.children.map(item1=>{ | |||
if(item1.selected==0){ | |||
this.allList.map(item => { | |||
item.children.map(item1 => { | |||
if (item1.selected == 0) { | |||
str.push(item1.keywordsId) | |||
} | |||
}) | |||
}) | |||
str=str.join(',') | |||
param=this.form | |||
param.keywordIds=str | |||
str = str.join(',') | |||
param = this.form | |||
param.keywordIds = str | |||
console.log(param) | |||
// return | |||
this.$u.post("customer/update",param) | |||
.then(res=>{ | |||
// console.log(res) | |||
uni.showToast({ | |||
title:'操作成功', | |||
icon:'none', | |||
success: () => { | |||
uni.navigateBack() | |||
} | |||
this.$u.post("customer/update", param) | |||
.then(res => { | |||
// console.log(res) | |||
uni.showToast({ | |||
title: '操作成功', | |||
icon: 'none', | |||
success: () => { | |||
uni.navigateBack() | |||
} | |||
}) | |||
}) | |||
}) | |||
}, | |||
} | |||
} | |||
@@ -318,14 +331,20 @@ | |||
<style lang="scss" scoped> | |||
.box { | |||
width: 100%; | |||
height: 100%; | |||
min-height: 100vh; | |||
background: #F8F8F8; | |||
overflow: hidden; | |||
display: flex; | |||
flex-direction: column; | |||
} | |||
.conmsg{ | |||
.conmsg { | |||
flex-grow: 1; | |||
flex-shrink: 0; | |||
background: #FFFFFF; | |||
margin-top: 20rpx; | |||
.conmsg-title{ | |||
.conmsg-title { | |||
height: 92rpx; | |||
line-height: 92rpx; | |||
font-weight: bold; | |||
@@ -335,35 +354,49 @@ | |||
font-size: 32rpx; | |||
border-bottom: 1px solid #E0E0E0; | |||
} | |||
.conmsg-msg{ | |||
.conmsg-msg { | |||
padding: 0 30rpx; | |||
.conmsg-msg-lab{ | |||
.conmsg-msg-lab { | |||
width: 100%; | |||
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; | |||
align-items: center; | |||
.conmsg-msg-lab-1 { | |||
flex-shrink: 0; | |||
display: flex; | |||
min-width: 136rpx; | |||
.star{ | |||
.star { | |||
color: #E7483C; | |||
line-height: 108rpx; | |||
} | |||
} | |||
.conmsg-msg-lab-inp{ | |||
margin-top: 30rpx; | |||
.conmsg-msg-lab-inp { | |||
margin-left: 44rpx; | |||
flex-grow: 1; | |||
display: flex; | |||
input { | |||
flex-grow: 1; | |||
} | |||
} | |||
.conmsg-msg-lab-img{ | |||
.conmsg-msg-lab-img { | |||
width: 14rpx; | |||
height: 30rpx; | |||
margin-top: 6rpx; | |||
margin-left: auto; | |||
image{ | |||
image { | |||
width: 100%; | |||
height: 100%; | |||
} | |||
@@ -371,14 +404,15 @@ | |||
} | |||
} | |||
} | |||
.submit{ | |||
.submit { | |||
position: fixed; | |||
bottom: 20rpx; | |||
left: 20rpx; | |||
height: 120rpx; | |||
background: #FFFFFF; | |||
.btn{ | |||
.btn { | |||
// margin: 60rpx auto; | |||
text-align: center; | |||
width: 690rpx; | |||
@@ -391,13 +425,15 @@ | |||
line-height: 88rpx; | |||
} | |||
} | |||
.con-msg-con{ | |||
.con-msg-con { | |||
display: flex; | |||
flex-wrap: wrap; | |||
// justify-content: space-around; | |||
border-bottom: 1px solid #E0E0E0; | |||
padding-bottom: 16rpx; | |||
.chebox{ | |||
.chebox { | |||
// width: 20%; | |||
height: 60rpx; | |||
line-height: 60rpx; | |||
@@ -409,15 +445,16 @@ | |||
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; | |||
} | |||
.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,40 +1,44 @@ | |||
<template> | |||
<view class="box"> | |||
<view class="screen"> | |||
<!-- 录音标示 --> | |||
<view class="screen-record"> | |||
<view class="screen-record-text"> | |||
最新状态 | |||
</view> | |||
<view class="screen-record-tab"> | |||
<view v-for="(item,index) in stateList" :key="index"> | |||
<view :class="[screen.state==index?'screen-record-chose':'screen-record-nochose']" @click="screen.state=index"> | |||
{{item.stageName}} | |||
</view> | |||
</view> | |||
<view class="screen"> | |||
<!-- 录音标示 --> | |||
<view class="screen-record"> | |||
<view class="screen-record-text"> | |||
最新状态 | |||
</view> | |||
<view class="screen-record-tab"> | |||
<view v-for="(item,index) in stateList" :key="index"> | |||
<view :class="[screen.state==index?'screen-record-chose':'screen-record-nochose']" | |||
@click="screen.state=index"> | |||
{{item.stageName}} | |||
</view> | |||
</view> | |||
<!-- 录音标示 --> | |||
<view class="screen-record"> | |||
<view class="screen-record-text"> | |||
意向级别 | |||
</view> | |||
<view class="screen-record-tab"> | |||
<view :class="[screen.level==1?'screen-record-chose':'screen-record-nochose']" @click="screen.level=1"> | |||
A | |||
</view> | |||
<view :class="[screen.level==2?'screen-record-chose':'screen-record-nochose']" @click="screen.level=2"> | |||
B | |||
</view> | |||
<view :class="[screen.level==3?'screen-record-chose':'screen-record-nochose']" @click="screen.level=3"> | |||
C | |||
</view> | |||
<view :class="[screen.level==4?'screen-record-chose':'screen-record-nochose']" @click="screen.level=4"> | |||
D | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
<!-- 录音标示 --> | |||
<view class="screen-record"> | |||
<view class="screen-record-text"> | |||
意向级别 | |||
</view> | |||
<view class="screen-record-tab"> | |||
<view :class="[screen.level==1?'screen-record-chose':'screen-record-nochose']" | |||
@click="screen.level=1"> | |||
A | |||
</view> | |||
<view :class="[screen.level==2?'screen-record-chose':'screen-record-nochose']" | |||
@click="screen.level=2"> | |||
B | |||
</view> | |||
<view :class="[screen.level==3?'screen-record-chose':'screen-record-nochose']" | |||
@click="screen.level=3"> | |||
C | |||
</view> | |||
<view :class="[screen.level==4?'screen-record-chose':'screen-record-nochose']" | |||
@click="screen.level=4"> | |||
D | |||
</view> | |||
</view> | |||
</view> | |||
<!-- <view class="screen-record" style="height: auto;"> | |||
<view class="screen-record-text" style="margin-bottom: 20rpx;"> | |||
客户类型 | |||
@@ -51,104 +55,104 @@ | |||
</scroll-view> | |||
</view> --> | |||
<view class="screen-record"> | |||
<view class="screen-record-text"> | |||
跟进内容 | |||
</view> | |||
<view class="screen-record-tab"> | |||
<input type="text" placeholder="请输入跟进内容" v-model="screen.con"/> | |||
</view> | |||
</view> | |||
<view class="screen-foot"> | |||
<view class="screen-foot-sure" @click="screensure"> | |||
保存 | |||
</view> | |||
</view> | |||
<view class="screen-record"> | |||
<view class="screen-record-text"> | |||
跟进内容 | |||
</view> | |||
<view class="screen-record-tab"> | |||
<input type="text" placeholder="请输入跟进内容" v-model="screen.con" /> | |||
</view> | |||
</view> | |||
<view class="screen-foot"> | |||
<view class="screen-foot-sure" @click="screensure"> | |||
保存 | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
</template> | |||
<script> | |||
export default{ | |||
data(){ | |||
return{ | |||
value:'', | |||
screenShow:false, | |||
selectshow:false, | |||
selectTipshow:false, | |||
buildingID:'', | |||
keyword:'', | |||
screen:{ | |||
state:'0', | |||
con:"", | |||
level:'1' | |||
export default { | |||
data() { | |||
return { | |||
value: '', | |||
screenShow: false, | |||
selectshow: false, | |||
selectTipshow: false, | |||
buildingID: '', | |||
keyword: '', | |||
screen: { | |||
state: '0', | |||
con: "", | |||
level: '1' | |||
}, | |||
stateList:[], | |||
recordList:[], | |||
nextPage:1, | |||
totalRecord:'', | |||
freeList:[], | |||
customerType:[], | |||
customerId:'' | |||
stateList: [], | |||
recordList: [], | |||
nextPage: 1, | |||
totalRecord: '', | |||
freeList: [], | |||
customerType: [], | |||
customerId: '' | |||
} | |||
}, | |||
onShow() { | |||
}, | |||
onLoad(e) { | |||
this.customerId=e.id | |||
this.customerId = e.id | |||
this.buildingID = uni.getStorageSync('buildingID').id; | |||
this.recordList=[] | |||
this.recordList = [] | |||
// this.getMyCustom() | |||
// this.getFreeList() | |||
this.getNewStatus() | |||
this.getCustomerType(); | |||
}, | |||
methods:{ | |||
methods: { | |||
//选择顾问 | |||
actionSelectCallback(e){ | |||
this.screen.agentId=e[0].value; | |||
this.screen.agentIdtext=e[0].label; | |||
actionSelectCallback(e) { | |||
this.screen.agentId = e[0].value; | |||
this.screen.agentIdtext = e[0].label; | |||
}, | |||
getCustomerType(){ | |||
getCustomerType() { | |||
this.$u.get("/customer/queryKeyWords").then(res => { | |||
res.map(item=>{ | |||
item.check=false | |||
res.map(item => { | |||
item.check = false | |||
}) | |||
this.customerType = res; | |||
}) | |||
}, | |||
getNewStatus() { | |||
var that = this; | |||
let premo={ | |||
houseId:uni.getStorageSync('buildingID').id | |||
let premo = { | |||
houseId: uni.getStorageSync('buildingID').id | |||
} | |||
this.$u.post('/customer/getStage',premo) | |||
.then(res=>{ | |||
this.stateList=res | |||
}) | |||
this.$u.post('/customer/getStage', premo) | |||
.then(res => { | |||
this.stateList = res | |||
}) | |||
}, | |||
checkbox(idx){ | |||
console.log(idx) | |||
this.customerType[idx].check=!this.customerType[idx].check | |||
checkbox(idx) { | |||
console.log(idx) | |||
this.customerType[idx].check = !this.customerType[idx].check | |||
}, | |||
search(e){ | |||
search(e) { | |||
console.log(e) | |||
}, | |||
//选择标签 | |||
selectCallback(e){ | |||
selectCallback(e) { | |||
console.log(e[0].label) | |||
}, | |||
//筛选确认 | |||
screensure(){ | |||
screensure() { | |||
// 获取选择过的数据 | |||
// let type=[] | |||
let words=[] | |||
this.customerType.map(item=>{ | |||
if(item.check){ | |||
let words = [] | |||
this.customerType.map(item => { | |||
if (item.check) { | |||
// type.push(item.id) | |||
words.push(item.keywords) | |||
} | |||
@@ -166,7 +170,7 @@ | |||
mask: true | |||
}) | |||
// console.log(type) | |||
let param={ | |||
let param = { | |||
"stageCode": this.stateList[this.screen.state].stageCode, | |||
"stageName": this.stateList[this.screen.state].stageName, | |||
"remarks": this.screen.con, | |||
@@ -178,12 +182,12 @@ | |||
"state": this.stateList[this.screen.state].id | |||
} | |||
} | |||
this.$u.post('/customer/addZkDailyWorkRecord',param) | |||
.then(res=>{ | |||
// util.showSuccess("提交成功"); | |||
uni.hideLoading(); | |||
uni.navigateBack(); | |||
}) | |||
this.$u.post('/customer/addZkDailyWorkRecord', param) | |||
.then(res => { | |||
// util.showSuccess("提交成功"); | |||
uni.hideLoading(); | |||
uni.navigateBack(); | |||
}) | |||
}, | |||
} | |||
} | |||
@@ -195,68 +199,84 @@ | |||
height: 100%; | |||
background: #F8F8F8; | |||
} | |||
.screen{ | |||
.screen { | |||
// box-sizing: border-box; | |||
// padding: 0 30rpx; | |||
background: #FFFFFF; | |||
.screen-counselor{ | |||
.screen-counselor { | |||
display: flex; | |||
height: 106rpx; | |||
// padding: 40rpx 30rpx 36rpx 30rpx; | |||
padding: 0 30rpx; | |||
box-sizing: border-box; | |||
border-bottom: 1px solid #CCCCCC; | |||
.screen-text{ | |||
.screen-text { | |||
margin: 40rpx 0 36rpx 0; | |||
font-size: 30rpx; | |||
font-weight: 400; | |||
color: #333333; | |||
line-height: 30rpx; | |||
} | |||
.screen-sel{ | |||
.screen-sel { | |||
display: flex; | |||
justify-content: space-between; | |||
width: 500rpx; | |||
margin-left: 60rpx; | |||
.screen-sel-img{ | |||
.screen-sel-img { | |||
margin: 40rpx 0 36rpx 0; | |||
width: 14rpx; | |||
height: 30rpx; | |||
} | |||
.screen-inp{ | |||
.screen-inp { | |||
margin-top: 20rpx; | |||
} | |||
} | |||
} | |||
.screen-record{ | |||
.screen-record { | |||
height: 192rpx; | |||
// width: 100%; | |||
overflow: hidden; | |||
padding: 0 30rpx; | |||
box-sizing: border-box; | |||
border-bottom: 1px solid #CCCCCC; | |||
.screen-record-text{ | |||
.screen-record-text { | |||
margin-top: 36rpx; | |||
font-size: 30rpx; | |||
font-weight: 400; | |||
color: #333333; | |||
line-height: 30rpx; | |||
} | |||
.screen-record-tab{ | |||
.screen-record-tab { | |||
margin-top: 30rpx; | |||
width: 100%; | |||
display: flex; | |||
// justify-content: space-around; | |||
.screen-record-chose{ | |||
input { | |||
flex-grow: 1; | |||
} | |||
.screen-record-chose { | |||
width: 151rpx; | |||
height: 60rpx; | |||
background: #FFFFFF; | |||
background: #2671E2; | |||
border-radius: 4rpx; | |||
color: #fff; | |||
border: 1px solid #2671E2; | |||
text-align: center; | |||
line-height: 60rpx; | |||
margin-right: 22rpx; | |||
} | |||
.screen-record-nochose{ | |||
.screen-record-nochose { | |||
width: 151rpx; | |||
height: 60rpx; | |||
background: #FFFFFF; | |||
@@ -266,16 +286,17 @@ | |||
line-height: 60rpx; | |||
margin-right: 22rpx; | |||
} | |||
} | |||
} | |||
.screen-foot{ | |||
.screen-foot { | |||
height: 88rpx; | |||
display: flex; | |||
width: 100%; | |||
margin-top: 160rpx; | |||
.screen-foot-reset{ | |||
.screen-foot-reset { | |||
width: 80%; | |||
text-align: center; | |||
margin: 0 auto; | |||
@@ -284,7 +305,8 @@ | |||
font-weight: 400; | |||
color: #666666; | |||
} | |||
.screen-foot-sure{ | |||
.screen-foot-sure { | |||
width: 80%; | |||
margin: 0 auto; | |||
text-align: center; | |||
@@ -1,7 +1,7 @@ | |||
<template> | |||
<view class="box"> | |||
<!-- 搜索框点击跳转 --> | |||
<view> | |||
<!-- <view> | |||
<view class="search-box"> | |||
<view class="search" @click="goSearch"> | |||
<view class="search-img"> | |||
@@ -11,7 +11,7 @@ | |||
</view> | |||
</view> | |||
</view> | |||
--> | |||
<!-- 选择器 --> | |||
<view class="boxtittab"> | |||
<view class="tabbox" @click="taptimeisshow"> | |||
@@ -49,13 +49,13 @@ | |||
<view class="right" v-if="item.recording!=0"> | |||
<view style="margin-right: 6rpx;color: red;">{{item.receptionStatusName || ''}}</view> | |||
<text style="margin-right: 6rpx;"> |</text> | |||
<view v-if="methodsisshow==true"> | |||
<text style="margin-right: 6rpx;" v-if="item.receptionStatusName"> |</text> | |||
<view v-if="methodsisshow"> | |||
<text style="margin-right: 6rpx;color: red;" v-if="item.taboo==1">违禁接待</text> | |||
<text style="margin-right: 6rpx;" v-if="item.taboo==1"> |</text> | |||
</view> | |||
<view style="margin-right: 6rpx;">{{item.validInvalidName||''}}</view> | |||
<text style="margin-right: 6rpx;"> |</text> | |||
<text style="margin-right: 6rpx;" v-if="item.validInvalidName"> |</text> | |||
<view v-if="item.markAdvisor==0" class="">未标记</view> | |||
<view v-if="item.markAdvisor==1" class="">已标记</view> | |||
</view> | |||
@@ -514,7 +514,7 @@ | |||
visitRecord: null, | |||
validInvalid: null | |||
} | |||
this.screenShow = false; | |||
// this.screenShow = false; | |||
this.nextPage = 1; | |||
this.recordList = []; | |||
this.getMyCustom(); | |||
@@ -581,6 +581,9 @@ | |||
//时间切换的样式 | |||
.boxtittab { | |||
position: sticky; | |||
top: var(--window-top); | |||
z-index: 999; | |||
width: 100; | |||
height: 92rpx; | |||
background: #FFFFFF; | |||
@@ -663,8 +666,12 @@ | |||
justify-content: space-between; | |||
.left { | |||
flex-shrink: 0; | |||
min-width: 50%; | |||
display: flex; | |||
align-items: center; | |||
overflow: hidden; | |||
.adviser { | |||
margin-right: 10rpx; | |||
@@ -685,8 +692,9 @@ | |||
} | |||
.name { | |||
font-weight: 600; | |||
color: #333333; | |||
font-size: 32rpx; | |||
font-weight: bold; | |||
} | |||
.status { | |||
@@ -702,10 +710,17 @@ | |||
} | |||
.right { | |||
max-width: 50%; | |||
overflow-x: scroll; | |||
display: flex; | |||
font-size: 30rpx; | |||
view,text { | |||
flex-shrink: 0; | |||
} | |||
.point { | |||
flex-shrink: 0; | |||
width: 12rpx; | |||
height: 12rpx; | |||
background: #2B6EFF; | |||
@@ -742,6 +757,13 @@ | |||
font-weight: 400; | |||
color: #666666; | |||
// line-height: 30rpx; | |||
overflow: hidden; | |||
text-overflow: ellipsis; | |||
display: -webkit-box; | |||
line-height: 23px; | |||
max-height: 46px; | |||
-webkit-line-clamp: 1; | |||
-webkit-box-orient: vertical; | |||
} | |||
.arriveNum { | |||
@@ -1,6 +1,5 @@ | |||
<template> | |||
<view class="box"> | |||
<!-- --> | |||
<view style="flex-shrink: 0;"> | |||
<view class="search-box"> | |||
<view class="search" @click="goSearch"> | |||
@@ -43,9 +42,10 @@ | |||
<view class="content-first"> | |||
<view class="left"> | |||
<template v-if="item.level > 0"> | |||
<view class="img">{{ item.level | levelText }}</view> | |||
<view class="img" :class="colorName[item.level]">{{ item.level | levelText }}</view> | |||
</template> | |||
<view class="test">{{item.name}}</view> | |||
<view v-if="item.clientStageName" class="clientStageName">{{ item.clientStageName }}</view> | |||
</view> | |||
<view class="right"> | |||
{{item.fraction || '0'}}% | |||
@@ -222,7 +222,17 @@ | |||
<view class="timeview" :style="{ color: activeTotal2 == 5 ? '#2B6EFF' : '#333333' }" @click="timetap(5)"> | |||
90min以上</view> | |||
</u-popup> | |||
<u-select v-model="soltishow" :list="orderBylist" @confirm="selectCallback2"></u-select> | |||
<u-popup v-model="soltishow" mode="bottom"> | |||
<view class="soltishow"> | |||
<block v-for="(item, index) in orderBylist" :key="index"> | |||
<view class="soltishow-item" @click="selectCallback2(item)"> | |||
{{ item.label }} | |||
</view> | |||
</block> | |||
</view> | |||
</u-popup> | |||
<!-- <u-select v-model="soltishow" :list="orderBylist" @confirm="selectCallback2"></u-select> --> | |||
<!-- 底部导航栏 --> | |||
<u-tabbar :mid-button="true" activeColor="#1296db" inactiveColor="#999999" v-model="current" :list="tabbarList"> | |||
@@ -240,10 +250,6 @@ | |||
tabbarList: tabbarList, | |||
//--- end --- tabbar配置项 | |||
orderBylist: [ | |||
/*{ | |||
label: '全部', | |||
value: '0' | |||
},*/ | |||
{ | |||
label: '创建时间倒序', | |||
value: '1' | |||
@@ -314,11 +320,32 @@ | |||
list: [], // 客户来源列表 | |||
sourceId: '', // 选中的客户来源id | |||
sourceIndex: -1, // 选中项的下标 | |||
// 不同等级之间的颜色 | |||
colorName: [ | |||
'', "A", "B", "C", "D" | |||
], | |||
} | |||
}, | |||
onLoad(options) { | |||
this.isnorefresh = 'refresh'; | |||
}, | |||
onPullDownRefresh() { | |||
this.nextPage = 1; | |||
this.recordList = [] | |||
this.reset() | |||
this.getFreeList() | |||
this.getfindKeywordsList() | |||
this.getFromSource(); | |||
this.getMyCustom(); | |||
setTimeout(() => { | |||
uni.stopPullDownRefresh() | |||
}, 3000) | |||
}, | |||
onShow() { | |||
let newmenulist = uni.getStorageSync('weapp_session_Menu_data'); | |||
this.permissions.commonly1 = newmenulist.khgl_ck; | |||
@@ -371,9 +398,10 @@ | |||
}, | |||
//选择标签 | |||
selectCallback2(e) { | |||
this.orderBy = e[0].value; | |||
this.orderBy = e.value; | |||
this.nextPage = 1; | |||
this.recordList = []; | |||
this.soltishow = false | |||
this.getMyCustom(); | |||
}, | |||
//选择录音时长 | |||
@@ -552,7 +580,7 @@ | |||
} | |||
this.nextPage = 1; | |||
this.recordList = []; | |||
this.screenShow = false; | |||
// this.screenShow = false; | |||
this.sourceId = ''; | |||
this.sourceIndex = -1; | |||
this.getMyCustom(); | |||
@@ -585,13 +613,13 @@ | |||
str = "A" | |||
break; | |||
case 2: | |||
str = "A" | |||
str = "B" | |||
break; | |||
case 3: | |||
str = "A" | |||
str = "C" | |||
break; | |||
case 4: | |||
str = "A" | |||
str = "D" | |||
break; | |||
default: | |||
str = '' | |||
@@ -638,6 +666,9 @@ | |||
//时间切换的样式 | |||
.boxtittab { | |||
position: sticky; | |||
top: var(--window-top); | |||
z-index: 999; | |||
width: 100; | |||
height: 92rpx; | |||
background: #FFFFFF; | |||
@@ -655,7 +686,21 @@ | |||
font-size: 28rpx; | |||
} | |||
} | |||
.soltishow { | |||
width: 100%; | |||
height: 40vh; | |||
overflow-y: scroll; | |||
.soltishow-item { | |||
width: 100%; | |||
height: 80rpx; | |||
display: flex; | |||
align-items: center; | |||
justify-content: center; | |||
} | |||
} | |||
.search-box { | |||
width: 100%; | |||
height: 102rpx; | |||
@@ -728,10 +773,42 @@ | |||
height: 52rpx; | |||
border: 1px solid #E0E0E0; | |||
border-radius: 50%; | |||
text-align: center; | |||
line-height: 50rpx; | |||
margin-right: 20rpx; | |||
display: flex; | |||
align-items: center; | |||
justify-content: center; | |||
} | |||
.clientStageName { | |||
margin-left: 20rpx; | |||
padding: 5rpx 20rpx; | |||
border: 1px solid #F29819; | |||
border-radius: 32rpx 32rpx 32rpx 0; | |||
color: #F29819; | |||
font-size: 20rpx; | |||
} | |||
// '#19AC09', '#F29819', '#F2D01A', '#1396F6', | |||
.A { | |||
color: #FFF; | |||
background: #19AC09; | |||
border: 1px solid #19AC09; | |||
} | |||
.B { | |||
color: #FFF; | |||
background: #F29819; | |||
border: 1px solid #F29819; | |||
} | |||
.C { | |||
color: #FFF; | |||
background: #F2D01A; | |||
border: 1px solid #F2D01A; | |||
} | |||
.D { | |||
color: #FFF; | |||
background: #1396F6; | |||
border: 1px solid #1396F6; | |||
} | |||
.test { | |||
font-weight: 500; | |||
@@ -1,7 +1,8 @@ | |||
<template> | |||
<view class="cented-box"> | |||
<view v-if="waitCustomList.length==0" style="width: 100%;height: 100%;display: flex;align-items: center;"> | |||
<view style="width: 100%;padding-top: 200rpx;"> | |||
<view v-if="waitCustomList.length==0" 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> | |||
@@ -9,7 +10,7 @@ | |||
<view style="text-align: center;width: 100%;margin-top: 20rpx;color: #999999;">暂无数据</view> | |||
</view> | |||
</view> | |||
<!-- <view class="customer" v-if="waitCustomList.length!=0" v-for="(item,index) in waitCustomList" :key='index' | |||
<!-- <view class="customer" v-if="waitCustomList.length!=0" v-for="(item,index) in waitCustomList" :key='index' | |||
@click="tapThevisiting(item)"> | |||
<view class="title"> | |||
<view class="zuo"> | |||
@@ -57,7 +58,7 @@ | |||
</view> | |||
</view> --> | |||
<view class="customer" v-if="waitCustomList.length!=0" v-for="(item,index) in waitCustomList" :key='index' | |||
@click="tapThevisiting(item)"> | |||
<view class="title"> | |||
@@ -65,9 +66,9 @@ | |||
<view class="zuoimg">顾</view> | |||
<view class="zuoname">{{item.agentName || '--'}}</view> | |||
</view> | |||
<view class="cen" v-if="timestamp(item.createTime) < 60*30"> | |||
<view class="cen" v-if="timestamp(item.assignedTime) < 60*30"> | |||
<view v-if="item.status!=0"> | |||
自动结束 <u-count-down :timestamp="timestamp(item.createTime)" color="#E7483C"></u-count-down> | |||
自动结束 <u-count-down :timestamp="timestamp(item.assignedTime)" color="#E7483C"></u-count-down> | |||
</view> | |||
</view> | |||
<view class="you"> | |||
@@ -76,37 +77,33 @@ | |||
<view class="youtext">{{item.status==0?"排队中":item.status==1?"接待中":"已完成"}}</view> --> | |||
<view class="" v-if="item.status!=0" style="display: flex;"> | |||
<block v-if="item.imei!=null"> | |||
<!-- 接待中 --> | |||
<view class=""> | |||
<!-- 工牌标示 --> | |||
<image class="you-img" | |||
src="../../static/images/cus1.png" mode=""></image> | |||
</view> | |||
<!-- 未离线 --> | |||
<view class="" v-if="item.zkEquipmentState.onLine!=0" style="display: flex;"> | |||
<!-- 接待中 --> | |||
<view class=""> | |||
<!-- 电量 --> | |||
<image v-if="item.zkEquipmentState.electricity>=80" class="you-img" | |||
src="../../static/images/cus2.png" mode=""></image> | |||
<image v-else class="you-img" | |||
src="../../static/images/cus5.png" mode=""></image> | |||
<!-- 工牌标示 --> | |||
<image class="you-img" src="../../static/images/cus1.png" mode=""></image> | |||
</view> | |||
<view class=""> | |||
<!-- 录音 --> | |||
<image v-if="item.zkEquipmentState.simAudioStatus=='true'" class="you-img" | |||
src="../../static/images/cus3.png" mode=""></image> | |||
<image v-else class="you-img" | |||
src="../../static/images/cus6.png" mode=""></image> | |||
<!-- 未离线 --> | |||
<view class="" v-if="item.zkEquipmentState.onLine!=0" style="display: flex;"> | |||
<view class=""> | |||
<!-- 电量 --> | |||
<image v-if="item.zkEquipmentState.electricity>=80" class="you-img" | |||
src="../../static/images/cus2.png" mode=""></image> | |||
<image v-else class="you-img" src="../../static/images/cus5.png" mode=""></image> | |||
</view> | |||
<view class=""> | |||
<!-- 录音 --> | |||
<image v-if="item.zkEquipmentState.simAudioStatus=='true'" class="you-img" | |||
src="../../static/images/cus3.png" mode=""></image> | |||
<image v-else class="you-img" src="../../static/images/cus6.png" mode=""></image> | |||
</view> | |||
</view> | |||
</view> | |||
<!-- 离线 --> | |||
<view class="" v-else> | |||
<view class=""> | |||
<!-- 录音 --> | |||
<image class="you-img" | |||
src="../../static/images/cus4.png" mode=""></image> | |||
<!-- 离线 --> | |||
<view class="" v-else> | |||
<view class=""> | |||
<!-- 录音 --> | |||
<image class="you-img" src="../../static/images/cus4.png" mode=""></image> | |||
</view> | |||
</view> | |||
</view> | |||
</block> | |||
</view> | |||
<view class="youtext" v-else> | |||
@@ -116,28 +113,28 @@ | |||
</view> | |||
</view> | |||
<view class="centerbox"> | |||
<view class="content-sec"> | |||
<view class="left"> | |||
<view class="adviser">客</view> | |||
<view class="cus">{{item.name || '--'}}</view> | |||
<!-- <view class="arriveNum">第{{item.visitRecord || "--"}}次接待</view> --> | |||
<view class="arriveNum">{{ item.phone ||'--' }}</view> | |||
</view> | |||
</view> | |||
<view class="content-last"> | |||
<view class="c-items"> | |||
<image src="../../static/images/people.png" class="c-items-img" mode=""></image> | |||
{{ item.visitRecord || "--" }}次到访 | |||
</view> | |||
<view class="c-items"> | |||
<image src="../../static/images/time.png" class="c-items-img" mode=""></image> | |||
{{ item.createTime }} | |||
<view class="content-sec"> | |||
<view class="left"> | |||
<view class="adviser">客</view> | |||
<view class="cus">{{item.name || '--'}}</view> | |||
<!-- <view class="arriveNum">第{{item.visitRecord || "--"}}次接待</view> --> | |||
<view class="arriveNum">{{ item.phone ||'--' }}</view> | |||
</view> | |||
</view> | |||
<!-- <view class="c-items"> | |||
<view class="content-last"> | |||
<view class="c-items"> | |||
<image src="../../static/images/people.png" class="c-items-img" mode=""></image> | |||
{{ item.visitRecord || "--" }}次到访 | |||
</view> | |||
<view class="c-items"> | |||
<image src="../../static/images/time.png" class="c-items-img" mode=""></image> | |||
{{ item.createTime }} | |||
</view> | |||
<!-- <view class="c-items"> | |||
<image src="../../static/images/voice.png" class="c-items-img" mode=""></image> | |||
{{ item.mm || '0' }}min | |||
</view> --> | |||
</view> | |||
</view> | |||
</view> | |||
<view class="footer-button" v-if="item.status!=0"> | |||
<view v-if="permissions.commonly3" class="footer1" @click.stop="addTime(item)">接待延时</view> | |||
@@ -147,16 +144,17 @@ | |||
<view class="footer-button" v-if="item.status==0"> | |||
<view 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> | |||
<image class="add2" @click="reshCustom()" src="https://static.quhouse.com/zhikong_xcx_img/refresh.png" mode=""> | |||
</image> | |||
<!-- 底部导航栏 --> | |||
<u-tabbar :mid-button="true" activeColor="#1296db" inactiveColor="#999999" v-model="current" :list="tabbarList"></u-tabbar> | |||
<u-tabbar :mid-button="true" activeColor="#1296db" inactiveColor="#999999" v-model="current" :list="tabbarList"> | |||
</u-tabbar> | |||
</view> | |||
</template> | |||
@@ -186,17 +184,18 @@ | |||
onLoad() { | |||
uni.hideTabBar(); | |||
}, | |||
computed:{ | |||
timestamp(){ | |||
return (e)=>{ | |||
let totalTime = new Date(e).getTime()/1000 + 60*60*2 | |||
let nowTime = new Date().getTime()/1000 | |||
computed: { | |||
timestamp() { | |||
return (e) => { | |||
if (!e) return | |||
let totalTime = new Date(e).getTime() / 1000 + 60 * 60 * 2 | |||
let nowTime = new Date().getTime() / 1000 | |||
return totalTime - nowTime | |||
} | |||
} | |||
// judgeHalfAnHour(){ | |||
// return (e)=>{ | |||
// } | |||
// } | |||
}, | |||
@@ -220,7 +219,7 @@ | |||
methods: { | |||
reshCustom() { | |||
this.init() | |||
}, | |||
}, | |||
tapThevisiting(item) { | |||
if (this.permissions.commonly1 != true) { | |||
return | |||
@@ -392,8 +391,16 @@ | |||
.cented-box { | |||
background: #F8F8F8; | |||
width: 100%; | |||
height: 100vh; | |||
min-height: calc(100vh - var(--window-bottom) - var(--window-top)); | |||
padding-bottom: 30rpx; | |||
display: flex; | |||
flex-direction: column; | |||
.empty { | |||
flex-grow: 1; | |||
display: flex; | |||
align-items: center; | |||
} | |||
} | |||
.customer { | |||
@@ -437,12 +444,14 @@ | |||
margin-left: 20rpx; | |||
} | |||
} | |||
.cen{ | |||
.cen { | |||
// width:50%; | |||
color: #E7483C; | |||
text-align: center; | |||
} | |||
.you { | |||
// width: 25%; | |||
height: 100%; | |||
@@ -456,11 +465,13 @@ | |||
border-radius: 50%; | |||
background: #2B6EFF; | |||
} | |||
.you-img{ | |||
.you-img { | |||
width: 24rpx; | |||
height: 32rpx; | |||
margin-left: 24rpx; | |||
} | |||
.youimg1-1 { | |||
width: 12rpx; | |||
height: 12rpx; | |||
@@ -520,8 +531,9 @@ | |||
font-weight: 400; | |||
color: #333333; | |||
border-top: 1rpx solid #E0E0E0; | |||
justify-content:flex-end; | |||
justify-content: flex-end; | |||
line-height: 58rpx; | |||
.footer1 { | |||
// flex: 1; | |||
text-align: center; | |||
@@ -534,7 +546,7 @@ | |||
border-radius: 30rpx; | |||
border: 1px solid #999999; | |||
margin-left: 30rpx; | |||
} | |||
.footer3 { | |||
@@ -568,16 +580,16 @@ | |||
bottom: 100upx; | |||
right: 44upx; | |||
} | |||
.content-sec { | |||
padding: 28rpx 30rpx 32rpx; | |||
display: flex; | |||
justify-content: space-between; | |||
.left { | |||
display: flex; | |||
align-items: center; | |||
.adviser { | |||
margin-right: 10rpx; | |||
padding: 5rpx 11rpx; | |||
@@ -587,28 +599,28 @@ | |||
font-size: 30rpx; | |||
color: #fff; | |||
} | |||
.cus { | |||
font-size: 30rpx; | |||
font-weight: 400; | |||
color: #666666; | |||
// line-height: 30rpx; | |||
} | |||
.arriveNum { | |||
font-size: 30rpx; | |||
font-weight: 400; | |||
margin-left: 10rpx; | |||
} | |||
} | |||
.right { | |||
font-size: 28rpx; | |||
font-weight: 400; | |||
color: #2671E2; | |||
display: flex; | |||
align-items: center; | |||
.img { | |||
margin-right: 10rpx; | |||
width: 32rpx; | |||
@@ -616,7 +628,7 @@ | |||
} | |||
} | |||
} | |||
.content-last { | |||
padding: 0 30rpx 34rpx; | |||
font-size: 30rpx; | |||
@@ -625,13 +637,13 @@ | |||
display: flex; | |||
align-items: center; | |||
justify-content: space-between; | |||
.c-items { | |||
flex-shrink: 0; | |||
display: flex; | |||
align-items: center; | |||
font-size: 28rpx; | |||
.c-items-img { | |||
margin-right: 10rpx; | |||
width: 32rpx; | |||
@@ -67,7 +67,7 @@ | |||
</view> | |||
</view> | |||
<!-- | |||
<view class="title" v-if="permissions.shebeinum">待处理</view> | |||
<view class="shebenbox" v-if="permissions.shebeinum" > | |||
<view class="shebenche" @click="indexStatus(0)"> | |||
@@ -82,11 +82,7 @@ | |||
<view class="shebenchenum">{{operation.forbiddenCount || 0}}</view> | |||
<view class="shebenchetext">违禁提醒</view> | |||
</view> | |||
<view class="shebenche" @click="tapjumpequipment(2)"> | |||
<view class="shebenchenum" style="color: red;">{{operation.lowPowerNum || 0}}</view> | |||
<view class="shebenchetext">低电工牌</view> | |||
</view> | |||
</view> | |||
</view> --> | |||
<view class="title" v-if="permissions.shebeinum">设备总览</view> | |||
<view class="shebenbox" v-if="permissions.shebeinum" > | |||
@@ -103,6 +99,12 @@ | |||
<view class="shebenchenum">{{equipmentobj.activeNum || 0}}</view> | |||
<view class="shebenchetext">活跃</view> | |||
</view> | |||
<view class="shebenche" @click="tapjumpequipment(2)"> | |||
<view class="shebenchenum" style="color: red;">{{operation.lowPowerNum || 0}}</view> | |||
<view class="shebenchetext">低电工牌</view> | |||
</view> | |||
<!-- <view class="shebenche" @click="tapjumpequipment(2)"> | |||
<view class="shebenchenum" style="color: red;">{{equipmentobj.lowPowerNum || 0}}</view> | |||
<view class="shebenchetext">急需充电</view> | |||
@@ -248,12 +250,13 @@ | |||
</view> | |||
<view class="commonly-text">值班顾问</view> | |||
</view> | |||
<view class="commonly" @click="Piabodata('日报')" v-if="permissions.commonly6"> | |||
<!-- <view class="commonly" @click="Piabodata('日报')" v-if="permissions.commonly6"> | |||
<view class="commonly-img"> | |||
<image class="commonly-img1" src="../../static/images/function6.png" mode=""></image> | |||
</view> | |||
<view class="commonly-text">日报</view> | |||
</view> | |||
</view> --> | |||
<view class="commonly" @click="Piabodata('顾问排名')" v-if="permissions.commonly7"> | |||
<view class="commonly-img"> | |||
@@ -410,6 +413,47 @@ | |||
onLoad() { | |||
this.sendLog() | |||
}, | |||
onPullDownRefresh() { | |||
this.getMenu() | |||
this.userInfo = uni.getStorageSync('weapp_session_userInfo_data'); | |||
if (this.userInfo.dataCode == 6 || this.userInfo.dataCode == 3) { | |||
this.methodsisshow = false; | |||
} else { | |||
this.methodsisshow = true; | |||
} | |||
if (this.userInfo.zkProperties.length == 1) { | |||
this.buildingID = uni.getStorageSync('buildingID').id; | |||
this.buildingname = uni.getStorageSync('buildingID').name; | |||
this.buildingishow = false; | |||
} else { | |||
this.buildingishow = true; | |||
this.buildingname = uni.getStorageSync('buildingID').name; | |||
this.buildingID = uni.getStorageSync('buildingID').id; | |||
this.userInfo.zkProperties.forEach(item => { | |||
item.label = item.propertyName; | |||
item.value = item.id | |||
}) | |||
this.lpanlist = this.userInfo.zkProperties | |||
} | |||
if (this.userInfo.dataCode == 6) { | |||
// this.Myworkcard = true; | |||
this.equipmentisshow = false; | |||
this.iniodianloang() | |||
} else { | |||
this.equipmentisshow = true; | |||
// this.Myworkcard = false; | |||
this.initequipment() | |||
this.waitForOperation() | |||
} | |||
this.initworkThisWeek() | |||
this.initrealTimeStatistics() | |||
setTimeout(() => { | |||
uni.stopPullDownRefresh() | |||
}, 3000) | |||
}, | |||
onShow() { | |||
this.getMenu() | |||
@@ -488,6 +532,7 @@ | |||
if (index == 7) { | |||
this.totalTimeShow = true; | |||
} else { | |||
console.log(str) | |||
this.choiceIndex=str | |||
this.zhixingcenterindex = index; | |||
this.initworkThisWeek() | |||
@@ -536,7 +581,7 @@ | |||
totalTimeChange(e) { | |||
this.statDateStart = e.startDate; | |||
this.statDateEnd = e.endDate; | |||
this.choiceIndex=e.startDate+'-'+e.endDate | |||
this.choiceIndex= `${e.startDate.replace(/\-/g, '.')}-${e.endDate.replace(/\-/g, '.')}` | |||
this.zhixingcenterindex = 7; | |||
this.initworkThisWeek() | |||
}, | |||
@@ -27,7 +27,7 @@ | |||
</view> | |||
<view class="footerinfozuo"> | |||
<image src="../../static/images/img/voice.png" mode=""></image> | |||
{{ item.recordDuration || 0 }}min | |||
{{ item.duration | formatTime }}min | |||
</view> | |||
<view class="footerinfozuo" style="color: #2671E2;"> | |||
<image src="../../static/images/img/percent.png" mode=""></image> | |||
@@ -151,12 +151,24 @@ | |||
alllists: [], // 二级分类菜单 | |||
}; | |||
}, | |||
onPullDownRefresh() { | |||
var i = uni.getStorageSync('fendianindex') | |||
this.buildingID = uni.getStorageSync('buildingID').id; | |||
this.clocktab(i) | |||
this.leftIndex = 0 | |||
this.infoinit() | |||
setTimeout(() => { | |||
uni.stopPullDownRefresh() | |||
}, 3000) | |||
}, | |||
onShow() { | |||
var i = uni.getStorageSync('fendianindex') | |||
this.buildingID = uni.getStorageSync('buildingID').id; | |||
this.clocktab(i) | |||
this.leftIndex =0 | |||
this.leftIndex = 0 | |||
this.infoinit() | |||
}, | |||
@@ -335,7 +347,7 @@ | |||
success: (data) => { | |||
if (data.data.code == 10000) { | |||
this.equinoctial = data.data.data | |||
this.getSecond(data.data.data[0].marketingId) | |||
this.getSecond(data.data.data[0].marketingId) | |||
} else { | |||
uni.showToast({ | |||
title: data.data.message, | |||
@@ -346,6 +358,21 @@ | |||
}) | |||
} | |||
}, | |||
filters: { | |||
//格式化时间 | |||
formatTime(num) { | |||
if (!num) return 0 | |||
num = parseInt(num); | |||
//格式化时间格式 | |||
num = num.toFixed(0); | |||
let second = num % 60; | |||
if (second < 10) second = "0" + second; | |||
let min = Math.floor(num / 60); | |||
if (min < 10) min = "0" + min; | |||
return min + ":" + second; | |||
}, | |||
} | |||
} | |||
</script> | |||
@@ -357,6 +384,10 @@ | |||
} | |||
.tab-box { | |||
position: sticky; | |||
top: var(--window-top); | |||
z-index: 999; | |||
background: #fff; | |||
width: 100%; | |||
height: 80rpx; | |||
} | |||
@@ -124,7 +124,7 @@ | |||
}, | |||
method: "DELETE", | |||
success: function(result) { | |||
var data = result.data; //console.log("登陆信息", data); | |||
var data = result.data; //console.log("登录信息", data); | |||
if (data.data == true) { | |||
// app.Closewebsocke() | |||
uni.clearStorageSync(); //清除缓存 | |||
@@ -1,26 +1,35 @@ | |||
<template> | |||
<view class="translation"> | |||
<view style="width: 690rpx;height: 64rpx;margin: 0 auto;margin-top: 30rpx;background: #F2F2F2;border-radius: 32rpx; | |||
display: flex;align-items: center;"> | |||
<view style="width: 10%;height: 64rpx;display: flex;align-items: center;"> | |||
<image style="width: 28rpx;height: 28rpx;margin-left: 30rpx;" src="/static/images/search.png" mode=""></image> | |||
</view> | |||
<view style="width: 90%;height: 64rpx;display: flex;align-items: center;"> | |||
<input type="text" @input="searchinfo" :disabled="disabled" v-model="keyword" placeholder="请输入关键字" | |||
style="width: 100%;color: #999999;font-size: 24rpx;"/> | |||
<view style="display: flex;align-items: center;width: 100%;padding: 0 30rpx;"> | |||
<!-- <view class="search-input"> | |||
<view style="flex-shrink: 0;width: 10%;height: 64rpx;display: flex;align-items: center;"> | |||
<image style="width: 28rpx;height: 28rpx;margin-left: 30rpx;" src="/static/images/search.png" | |||
mode=""></image> | |||
</view> | |||
<view style="flex-grow: 1;height: 64rpx;display: flex;align-items: center;"> | |||
<input type="text" @input="searchinfo" v-model="keyword" placeholder="请输入关键字" | |||
style="flex-grow: 1;color: #999999;font-size: 24rpx;" /> | |||
</view> | |||
</view> | |||
<view class="searchbtn" @click="searchinfo">搜索</view> --> | |||
<u-search class="search-boxs" :disabled="disabled" placeholder="请输入" v-model="keyword" action-text="搜索" :show-action="true" | |||
@search="searchinfo" @custom="searchinfo"></u-search> | |||
</view> | |||
<view style="width: 690rpx;margin: 0 auto;margin-top: 10rpx;"> | |||
<view style="width: 100%;border-bottom: 1px solid #E0E0E0;display: flex;padding-bottom: 10rpx;margin-top: 40rpx;" | |||
v-for="(item,index) in listarr" :key='index' @click="toaidoinfo(item.Content,item.corpusId,item.index)"> | |||
<view | |||
style="width: 100%;border-bottom: 1px solid #E0E0E0;display: flex;padding-bottom: 10rpx;margin-top: 40rpx;" | |||
v-for="(item,index) in listarr" :key='index' @click="toaidoinfo(item.Content,item.corpusId,item.index)"> | |||
<view style="width: 26rpx;height: 36rpx;margin-top: 4rpx;"> | |||
<image style="width: 26rpx;height: 28rpx;" src="../../static/images/testimg.png" mode=""></image> | |||
</view> | |||
<view v-html="item.Content.text" style="color: #666666;font-size: 28rpx;line-height: 36rpx;margin-left: 10rpx;width: 80%;"></view> | |||
<view v-html="item.Content.text" | |||
style="color: #666666;font-size: 28rpx;line-height: 36rpx;margin-left: 10rpx;width: 80%;"></view> | |||
<view style="font-size: 28rpx;width: 10%;width: 14%;text-align: right;">{{item.Content.time}}</view> | |||
</view> | |||
</view> | |||
</view> | |||
</template> | |||
@@ -31,22 +40,22 @@ | |||
export default { | |||
data() { | |||
return { | |||
customerId:'', | |||
listarr:[], | |||
keyword:'', | |||
skpl:'', | |||
disabled:false | |||
customerId: '', | |||
listarr: [], | |||
keyword: '', | |||
skpl: '', | |||
disabled: false | |||
}; | |||
}, | |||
onLoad: function(options) { | |||
this.customerId = options.customerId; | |||
this.keyword=options.keyword; | |||
this.skpl=options.skpl; | |||
if(this.skpl==2){ | |||
this.keyword = options.keyword; | |||
this.skpl = options.skpl; | |||
if (this.skpl == 2) { | |||
this.searchinfo() | |||
this.disabled=true; | |||
}else{ | |||
this.disabled=false; | |||
this.disabled = true; | |||
} else { | |||
this.disabled = false; | |||
} | |||
}, | |||
methods: { | |||
@@ -59,23 +68,23 @@ | |||
if (min < 10) min = '0' + min; | |||
return min + ":" + second; | |||
}, | |||
searchinfo(){ | |||
if(this.keyword.length==0){ | |||
searchinfo() { | |||
if (this.keyword.length == 0) { | |||
return | |||
}else{ | |||
let parames={ | |||
keyword:this.keyword, | |||
customerId:this.customerId | |||
} | |||
this.$u.post("/corpus/keyWordsMatching", parames).then(res => { | |||
res.forEach(item=>{ | |||
item.Content=JSON.parse(item.transferContent) | |||
}) | |||
res.forEach(cet=>{ | |||
cet.Content.time=this.formatTime(cet.Content.bg/1000) | |||
cet.Content.text=this.brightKeyword(cet.Content.onebest) | |||
} else { | |||
let parames = { | |||
keyword: this.keyword, | |||
customerId: this.customerId | |||
} | |||
this.$u.post("/corpus/keyWordsMatching", parames).then(res => { | |||
res.forEach(item => { | |||
item.Content = JSON.parse(item.transferContent) | |||
}) | |||
this.listarr=res; | |||
res.forEach(cet => { | |||
cet.Content.time = this.formatTime(cet.Content.bg / 1000) | |||
cet.Content.text = this.brightKeyword(cet.Content.onebest) | |||
}) | |||
this.listarr = res; | |||
}) | |||
} | |||
}, | |||
@@ -88,26 +97,26 @@ | |||
} | |||
}, | |||
//跳转 | |||
toaidoinfo(item,id,index){ | |||
toaidoinfo(item, id, index) { | |||
uni.setStorageSync("entrance", 2); //写入缓存 | |||
item.customerId=this.customerId; | |||
item.id=id; | |||
item.index=index; | |||
if(this.skpl==2){ | |||
item.customerId = this.customerId; | |||
item.id = id; | |||
item.index = index; | |||
if (this.skpl == 2) { | |||
this.infostust(item) | |||
}else{ | |||
let pages = getCurrentPages() //获取当前页面栈的信息 | |||
let prevPage = pages[pages.length - 2] //获取上一个页面 | |||
prevPage.setData({ //把需要回传的值保存到上一个页面 | |||
info: item | |||
} else { | |||
let pages = getCurrentPages() //获取当前页面栈的信息 | |||
let prevPage = pages[pages.length - 2] //获取上一个页面 | |||
prevPage.setData({ //把需要回传的值保存到上一个页面 | |||
info: item | |||
}); | |||
wx.navigateBack({ //然后返回上一个页面 | |||
delta: 1 | |||
wx.navigateBack({ //然后返回上一个页面 | |||
delta: 1 | |||
}) | |||
} | |||
}, | |||
//只有一条的时候 | |||
infostust(item){ | |||
infostust(item) { | |||
uni.setStorageSync("searchobj", item); //写入缓存 | |||
const parames = { | |||
pageNum: 1, | |||
@@ -117,12 +126,12 @@ | |||
} | |||
} | |||
this.$u.post("/corpus/findByPage", parames).then(res => { | |||
if(res[0].merge==0){ | |||
if (res[0].merge == 0) { | |||
let newobj = res[0]; | |||
uni.navigateTo({ | |||
url: `/pages/mine/details2?customerId=${newobj.customerId}&status=${newobj.status}&stateisshow=${'2'}` | |||
}) | |||
}else{ | |||
} else { | |||
let newobj = res[0]; | |||
uni.navigateTo({ | |||
url: `/pages/mine/details?customerId=${newobj.customerId}&status=${newobj.status}&stateisshow=${'2'}` | |||
@@ -134,5 +143,7 @@ | |||
} | |||
</script> | |||
<style lang="scss" scoped> | |||
.search-boxs { | |||
width: 100%; | |||
} | |||
</style> |
@@ -93,7 +93,7 @@ | |||
grant_type: 'mobile' | |||
}, | |||
success: (result) => { | |||
var data = result.data; //console.log("登陆信息", data); | |||
var data = result.data; //console.log("登录信息", data); | |||
if (data) { | |||
var res = data; | |||
if (res.code != 1) { | |||
@@ -127,7 +127,7 @@ | |||
grant_type: 'password' | |||
}, | |||
success: function(result) { | |||
var data = result.data; //console.log("登陆信息", data); | |||
var data = result.data; //console.log("登录信息", data); | |||
if (data) { | |||
var res = data; | |||
console.log(res.code) | |||
@@ -125,7 +125,7 @@ | |||
grant_type:'mobile' | |||
}, | |||
success: (result) => { | |||
var data = result.data; //console.log("登陆信息", data); | |||
var data = result.data; //console.log("登录信息", data); | |||
if (data) { | |||
var res = data; | |||
if (res.code!=1) { | |||
@@ -13,7 +13,7 @@ | |||
<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'}" | |||
:style="{border:item1.selected==0?'1px solid #0A6EE9;background: #0A6EE9;color: #fff;':'1px solid #E0E0E0'}" | |||
class="chebox"> | |||
{{item1.label}} | |||
</view> | |||
@@ -1,65 +1,64 @@ | |||
<template> | |||
<view class="box"> | |||
<!-- 顾问选择 --> | |||
<view class="nextcon"> | |||
下一位接待顾问:{{agentList[0].name||'没有下一位了'}} | |||
</view> | |||
<view class="tab"> | |||
<!-- <view class="tabbox"> | |||
<view :class="{ activecllasscet: activeTotal == 0 }" @click="tabtimetap(0)">全部</view> | |||
</view> --> | |||
<view class="tabbox"> | |||
<view :class="{ activecllasscet: activeTotal == 1 }" @click="tabtimetap(1)">排队顾问</view> | |||
<view class="header"> | |||
<view class="nextcon"> | |||
下一位接待顾问:{{agentList[0].name||'没有下一位了'}} | |||
</view> | |||
<view class="tabbox"> | |||
<view :class="{ activecllasscet: activeTotal == 2 }" @click="tabtimetap(2)">暂停顾问</view> | |||
<view class="tab"> | |||
<view class="tabbox"> | |||
<view :class="{ activecllasscet: activeTotal == 1 }" @click="tabtimetap(1)">排队顾问</view> | |||
</view> | |||
<view class="tabbox"> | |||
<view :class="{ activecllasscet: activeTotal == 2 }" @click="tabtimetap(2)">暂停顾问</view> | |||
</view> | |||
</view> | |||
</view> | |||
<view class="content"> | |||
<view v-if="activeAgentList.length>0"> | |||
<view v-for="(item,index) in activeAgentList" :key="index"> | |||
<view class="content-tips"> | |||
<view class="top"> | |||
<view class="tit"> | |||
<view class="img"> | |||
{{item.name.slice(0,1)}} | |||
</view> | |||
<view class="test"> | |||
{{item.name}} | |||
</view> | |||
<view v-if="activeAgentList.length>0"> | |||
<view v-for="(item,index) in activeAgentList" :key="index"> | |||
<view class="content-tips"> | |||
<view class="top"> | |||
<view class="tit"> | |||
<view class="img"> | |||
{{item.name.slice(0,1)}} | |||
</view> | |||
<view class="test"> | |||
{{item.name}} | |||
</view> | |||
<!-- <view class="state"> | |||
</view> | |||
<!-- <view class="state"> | |||
<view class="point" v-if="activeTotal==1"></view> | |||
{{activeTotal==1?'接待中':'空闲'}} | |||
</view> --> | |||
</view> | |||
<view class="reception"> | |||
<view class="" style="line-height: 50rpx;"> | |||
今日接待:<test class="num">{{item.receiveNum||0}}</test> | |||
</view> | |||
<view class="reception"> | |||
<view class="" style="line-height: 50rpx;"> | |||
今日接待:<test class="num">{{item.receiveNum||0}}</test> | |||
</view> | |||
<view class="btn" @click="changeAgentStatus(item.agentId)"> | |||
{{activeTotal==1?'暂停':'恢复'}} | |||
</view> | |||
<view class="btn" @click="changeAgentStatus(item.agentId)"> | |||
{{activeTotal==1?'暂停':'恢复'}} | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
<view class="nolist" v-else> | |||
暂无数据 | |||
</view> | |||
</view> | |||
<view class="nolist" v-else> | |||
暂无数据 | |||
</view> | |||
</view> | |||
</view> | |||
</template> | |||
<script> | |||
export default { | |||
data(){ | |||
return{ | |||
value:"", | |||
data() { | |||
return { | |||
value: "", | |||
activeTotal: 1, | |||
agentList:[], | |||
pausedAgentList:[], | |||
houseId:'' | |||
agentList: [], | |||
pausedAgentList: [], | |||
houseId: '' | |||
} | |||
}, | |||
onLoad() { | |||
@@ -72,22 +71,22 @@ | |||
return this.activeTotal == 1 ? this.agentList : this.pausedAgentList | |||
}, | |||
}, | |||
methods:{ | |||
tabtimetap(idx){ | |||
methods: { | |||
tabtimetap(idx) { | |||
// console.log(idx) | |||
this.activeTotal=idx | |||
this.activeTotal = idx | |||
}, | |||
changeAgentListShow() { | |||
this.$u.get("/zkAgentPool/nextFreeAgent?itemId="+this.houseId).then(res => { | |||
this.agentList = res; | |||
}) | |||
this.$u.get("/zkAgentPool/nextFreeAgent?itemId=" + this.houseId).then(res => { | |||
this.agentList = res; | |||
}) | |||
}, | |||
// 获取暂停的经纪人列表 | |||
changePausedAgentListShow() { | |||
this.$u.get("/zkAgentPool/stopAgentList?itemId="+this.houseId).then(res => { | |||
this.pausedAgentList = res; | |||
}) | |||
this.$u.get("/zkAgentPool/stopAgentList?itemId=" + this.houseId).then(res => { | |||
this.pausedAgentList = res; | |||
}) | |||
}, | |||
changeAgentStatus(id) { | |||
let content = ""; | |||
@@ -121,19 +120,27 @@ | |||
</script> | |||
<style lang="scss" scoped> | |||
.box{ | |||
.box { | |||
background: #F8F8F8; | |||
width: 100%; | |||
height: 100vh; | |||
min-height: 100vh; | |||
font-size: 30rpx; | |||
font-weight: 400; | |||
.header { | |||
position: sticky; | |||
top: var(--window-top); | |||
z-index: 999; | |||
} | |||
// line-height: 30px; | |||
.tab{ | |||
.tab { | |||
height: 88rpx; | |||
border-bottom: 1px solid #E0E0E0; | |||
background: #FFFFFF; | |||
display: flex; | |||
align-items: center; | |||
.tabbox { | |||
flex: 1; | |||
height: 100%; | |||
@@ -143,7 +150,7 @@ | |||
font-size: 28rpx; | |||
display: flex; | |||
justify-content: center; | |||
.activecllasscet { | |||
border-bottom: 2px solid #2671E2; | |||
color: #2671E2; | |||
@@ -151,27 +158,32 @@ | |||
} | |||
} | |||
} | |||
.nextcon{ | |||
.nextcon { | |||
height: 78rpx; | |||
background: #F4F8FD; | |||
color: #2671E2; | |||
text-align: center; | |||
line-height: 78rpx; | |||
} | |||
.content-tips{ | |||
.content-tips { | |||
background: #fff; | |||
padding: 0 30rpx; | |||
height: 168rpx; | |||
margin-bottom: 20rpx; | |||
overflow: hidden; | |||
.top{ | |||
.top { | |||
margin-top: 19rpx; | |||
display: flex; | |||
justify-content: space-between; | |||
.tit{ | |||
.tit { | |||
height: 52rpx; | |||
display: flex; | |||
.img{ | |||
.img { | |||
width: 52rpx; | |||
height: 52rpx; | |||
border-radius: 50%; | |||
@@ -181,26 +193,30 @@ | |||
border: 1px solid #C9C9C9; | |||
margin-right: 20rpx; | |||
} | |||
.test{ | |||
.test { | |||
font-weight: 600; | |||
color: #333333; | |||
margin-top: 6rpx; | |||
} | |||
} | |||
.state{ | |||
.state { | |||
display: flex; | |||
.point{ | |||
.point { | |||
width: 12rpx; | |||
height: 12rpx; | |||
background: #2B6EFF; | |||
border-radius: 50%; | |||
margin-right: 9rpx; | |||
margin-top: 16rpx; | |||
} | |||
} | |||
} | |||
.reception{ | |||
.reception { | |||
display: flex; | |||
font-weight: 400; | |||
width: 100%; | |||
@@ -208,7 +224,8 @@ | |||
justify-content: space-between; | |||
color: #666666; | |||
line-height: 30rpx; | |||
.btn{ | |||
.btn { | |||
width: 100rpx; | |||
height: 48rpx; | |||
background: #FFFFFF; | |||
@@ -220,10 +237,11 @@ | |||
font-size: 28rpx; | |||
} | |||
} | |||
} | |||
} | |||
.nolist{ | |||
.nolist { | |||
text-align: center; | |||
height: 300rpx; | |||
color: #CCCCCC; | |||
@@ -559,9 +559,6 @@ onPlay(){ | |||
return | |||
}else { | |||
this.num=this.num+1; | |||
uni.showLoading({ | |||
title: '加载中' | |||
}); | |||
setTimeout(function() { | |||
uni.hideLoading(); | |||
}, 2000); | |||
@@ -616,9 +613,6 @@ onPlay(){ | |||
return | |||
}else { | |||
this.Bnum=this.Bnum-1; | |||
uni.showLoading({ | |||
title: '加载中' | |||
}); | |||
setTimeout(function() { | |||
uni.hideLoading(); | |||
}, 2000); | |||
@@ -931,9 +925,6 @@ onPlay(){ | |||
// 获取评分 | |||
getRatelist() { | |||
if (this.ratelist.length == 0) { | |||
uni.showLoading({ | |||
title: '加载中' | |||
}); | |||
this.$u.get("/customer/findzkMByCusId", { | |||
cusId: this.customerId | |||
}).then(res => { | |||
@@ -989,9 +980,6 @@ onPlay(){ | |||
// 获取转义后的对话结果 | |||
getCorpusAnalysis(info) { | |||
this.dialogList = []; | |||
uni.showLoading({ | |||
title: '加载中' | |||
}); | |||
uni.request({ | |||
url: config.service.getCorpusAnalysis + '?corpusId=' + this.luyinList[this.csdFileindex].id+"&customerId="+this.customerId, //仅为示例,并非真实接口地址。 | |||
method: "GET", | |||
@@ -1,5 +1,5 @@ | |||
<template> | |||
<view class="box"> | |||
<view class="box" @tap="Thetapeidisshow=false"> | |||
<view class="headbox"> | |||
<!-- 顶部时间 --> | |||
<view class="headboxhead"> | |||
@@ -30,7 +30,7 @@ | |||
<scroll-view :scroll-top="scrollTop" lower-threshold='100px' @scrolltolower="ltolower()" upper-threshold='40px' | |||
@scrolltoupper="rolltoupper()" :scroll-into-view="scrollId" scroll-y="true" class="zhuti text scroll-Y"> | |||
<!-- 聊天记录--> | |||
<view class="dialog-block" v-for="(dialog,i) in dialogList" :key="i"> | |||
<view class="dialog-block" @click="close()" v-for="(dialog,i) in dialogList" :key="i"> | |||
<view :id="'dialog'+i" class="fileName">录音文件</view> | |||
<view class="text" :id="'dialog'+csdFileindex+'text'+item.bg" | |||
:class="{active: item.bg < playNow && item.ed > playNow && i==0}" | |||
@@ -123,8 +123,8 @@ | |||
</view> | |||
<view class="contentMain"> | |||
<view class="content"> | |||
<view @longpress="changanxiaoguo(item,index,i)" v-html="item.onebest"></view> | |||
<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;">复制 | |||
@@ -135,15 +135,17 @@ | |||
<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)" | |||
<!-- 暂时注释掉 --> | |||
<!-- <view @click="clickbofang(dialog.backindex,item)" | |||
style="width: 80rpx;font-size: 24rpx;text-align: center;margin-left: 14rpx;">播放 | |||
</view> | |||
</view> --> | |||
<view @click="Modifyrole(index,item)" | |||
style="font-size: 24rpx;text-align: center;margin-left: 14rpx;">修改角色 | |||
</view> | |||
</view> | |||
</view> | |||
<image @click="clickbofang(dialog.backindex,item)" class="play" src="../../static/images/recordingManagement/play.png"></image> | |||
<image @click="clickbofang(dialog.backindex,item)" class="play" | |||
src="../../static/images/recordingManagement/play.png"></image> | |||
</view> | |||
</view> | |||
</view> | |||
@@ -186,20 +188,20 @@ | |||
</view> | |||
<view class="fill"></view> | |||
<!-- audioinfo2 --> | |||
<view class="tmmchen" v-if="permissions.commonly2==true"> | |||
<image @click="Receivedetailsabouttab('Receivedetailsabout')" src="../../static/images/allimg.png" | |||
mode=""></image> | |||
<view @click="Receivedetailsabouttab('Receivedetailsabout')">更多</view> | |||
<view @click.stop="Receivedetailsabouttab('Receivedetailsabout')" class="tmmchen" | |||
v-if="permissions.commonly2==true"> | |||
<image src="../../static/images/allimg.png" mode=""></image> | |||
<view>更多</view> | |||
<view class="allimg" v-if="Thetapeidisshow"> | |||
<view @click="Receivetap()" style="line-height: 70rpx;margin-top: 10rpx;">接待信息</view> | |||
<view @click="alllogo()" style="line-height:70rpx;">{{userlistobj.validInvalidName}}</view> | |||
<view @click.stop="Receivetap()" style="line-height: 70rpx;margin-top: 10rpx;">接待信息</view> | |||
<view @click.stop="alllogo()" style="line-height:70rpx;">{{userlistobj.validInvalidName}}</view> | |||
</view> | |||
</view> | |||
<view class="tmmchen" @click="Receivetap()" v-if="permissions.commonly2==false"> | |||
<image @click="Receivedetailsabouttab('Receivedetailsabout')" | |||
<view class="tmmchen" @click.stop="Receivetap()" v-if="permissions.commonly2==false"> | |||
<image @click.stop="Receivedetailsabouttab('Receivedetailsabout')" | |||
src="../../static/images/audioinfo2.png" mode=""></image> | |||
<view @click="Receivedetailsabouttab('Receivedetailsabout')">接待信息</view> | |||
<view @click.stop="Receivedetailsabouttab('Receivedetailsabout')">接待信息</view> | |||
</view> | |||
@@ -611,10 +613,10 @@ | |||
roletiaoshu: 0, | |||
}; | |||
}, | |||
computed:{ | |||
conversionTiame(){ | |||
computed: { | |||
conversionTiame() { | |||
return (e) => { | |||
return this.getTime(e); | |||
return this.getTime(e); | |||
} | |||
} | |||
}, | |||
@@ -679,6 +681,15 @@ | |||
this.innerAudioContext.destroy(); | |||
}, | |||
methods: { | |||
// 关闭弹窗 | |||
close() { | |||
this.dialogList.forEach(res => { | |||
res.message.forEach(asd => { | |||
asd.isshow = false; | |||
}) | |||
}) | |||
this.$forceUpdate(); | |||
}, | |||
// 添加角色 | |||
addRole() { | |||
this.tablist.push({ | |||
@@ -2017,6 +2028,7 @@ | |||
font-size: 26rpx; | |||
color: #333333; | |||
text-align: center; | |||
box-shadow: 10rpx 10rpx 5rpx #888888; | |||
} | |||
} | |||
@@ -2340,24 +2352,28 @@ | |||
.scroll-Y .text[data-speaker="6"] { | |||
flex-direction: row-reverse; | |||
text-align: right; | |||
.contentInfo{ | |||
.info{ | |||
.contentInfo { | |||
.info { | |||
color: #ccc; | |||
font-size: 18rpx; | |||
font-size: 30rpx; | |||
padding: 0 28rpx; | |||
} | |||
.contentMain{ | |||
.contentMain { | |||
display: flex; | |||
flex-direction: row-reverse; | |||
align-items: center; | |||
flex-direction: row-reverse; | |||
align-items: center; | |||
.content { | |||
margin-left: 0; | |||
margin-right: 30upx; | |||
background: #F6F6F6; | |||
color: #999999; | |||
} | |||
.play{ | |||
.play { | |||
width: 50rpx; | |||
height: 50rpx; | |||
margin-right: 20rpx; | |||
@@ -2366,27 +2382,29 @@ | |||
} | |||
} | |||
.scroll-Y .text[data-speaker="2"], | |||
.scroll-Y .text[data-speaker="4"], | |||
.scroll-Y .text[data-speaker="6"] { | |||
.contentInfo{ | |||
.info{ | |||
.AudioUserName{ | |||
.contentInfo { | |||
.info { | |||
.AudioUserName { | |||
margin-left: 10rpx; | |||
} | |||
display: flex; | |||
flex-direction: row-reverse; | |||
} | |||
} | |||
} | |||
.scroll-Y .text{ | |||
.contentInfo{ | |||
.info{ | |||
.AudioUserName{ | |||
.scroll-Y .text { | |||
.contentInfo { | |||
.info { | |||
.AudioUserName { | |||
margin-right: 10rpx; | |||
} | |||
} | |||
@@ -2411,16 +2429,19 @@ | |||
width: 40upx; | |||
} | |||
} | |||
.scroll-Y .text .contentInfo .info{ | |||
.scroll-Y .text .contentInfo .info { | |||
color: #ccc; | |||
font-size: 18rpx; | |||
font-size: 30rpx; | |||
padding: 0 28rpx; | |||
} | |||
.scroll-Y .text .contentInfo .contentMain{ | |||
.scroll-Y .text .contentInfo .contentMain { | |||
display: flex; | |||
align-items: center; | |||
} | |||
.scroll-Y .text .contentInfo .contentMain .content { | |||
margin-left: 30upx; | |||
line-height: 60rpx; | |||
@@ -2448,16 +2469,19 @@ | |||
border-radius: 15rpx; | |||
z-index: 1000; | |||
} | |||
.bottoms { | |||
top: unset; | |||
bottom: -140rpx; | |||
} | |||
.bottoms { | |||
top: unset; | |||
bottom: -140rpx; | |||
} | |||
} | |||
.scroll-Y .text .contentInfo .contentMain .play{ | |||
.scroll-Y .text .contentInfo .contentMain .play { | |||
width: 50rpx; | |||
height: 50rpx; | |||
margin-left: 20rpx; | |||
} | |||
.scroll-Y .text.active .content { | |||
color: #38FFF1; | |||
position: relative; | |||
@@ -2490,8 +2514,8 @@ | |||
} | |||
.jiangshang { | |||
color: #2671E2; | |||
background: #F4F8FD; | |||
color: #fff; | |||
background: #2671E2; | |||
} | |||
.jiangshang1 { | |||
@@ -1,19 +1,21 @@ | |||
<template> | |||
<view class="cented"> | |||
<view style="width: 690rpx;margin: 0 auto;margin-top: 20rpx;"> | |||
<u-search @search='shecs()' :show-action='false' placeholder="请输入设备编号或领用人进行搜索" v-model="imei"></u-search> | |||
</view> | |||
<view class="tab-box"> | |||
<!-- <view class="tab-item-wrap"> | |||
<view v-for="(item, index) in tablist" :key="index" :class="activeClass == index ? 'bottom' : ''" @tap="clocktab(index)"> | |||
{{item.names}}( {{item.num}} ) | |||
<view class="bottomLine" v-if="activeClass == index"></view> | |||
</view> | |||
</view> --> | |||
<u-tabs-swiper ref="tabs" font-size="30" :bold="true" swiper-width="700" :current="activeClass" @change="clocktab()" | |||
inactive-color="#b1b1b1" active-color="#008ef2" :list="tablist" :is-scroll="true"> | |||
</u-tabs-swiper> | |||
<view class="header"> | |||
<view style="width: 690rpx;margin: 0 auto;margin-top: 20rpx;"> | |||
<u-search @search='shecs()' :show-action='false' placeholder="请输入设备编号或领用人进行搜索" v-model="imei"></u-search> | |||
</view> | |||
<view class="tab-box"> | |||
<!-- <view class="tab-item-wrap"> | |||
<view v-for="(item, index) in tablist" :key="index" :class="activeClass == index ? 'bottom' : ''" @tap="clocktab(index)"> | |||
{{item.names}}( {{item.num}} ) | |||
<view class="bottomLine" v-if="activeClass == index"></view> | |||
</view> | |||
</view> --> | |||
<u-tabs-swiper ref="tabs" font-size="30" :bold="true" swiper-width="700" :current="activeClass" @change="clocktab()" | |||
inactive-color="#b1b1b1" active-color="#008ef2" :list="tablist" :is-scroll="true"> | |||
</u-tabs-swiper> | |||
</view> | |||
</view> | |||
@@ -57,10 +59,16 @@ | |||
<view class="box2-you" v-if="item.audioStatus=='' ">关闭</view> | |||
</view> | |||
<view class="infobox2"> | |||
<view class="box2-zuo">上传状态</view> | |||
<view class="box2-you" v-if="item.audioUploadStatus=='false'">无上传</view> | |||
<view class="box2-zuo">待上传</view> | |||
<template v-if="item.fileCount && item.fileCount > 0"> | |||
<text class="stayupload">{{ item.fileCount }}条</text> | |||
</template> | |||
<template v-else> | |||
0 | |||
</template> | |||
<!-- <view class="box2-you" v-if="item.audioUploadStatus=='false'">无上传</view> | |||
<view class="box2-you" v-if="item.audioUploadStatus=='true'">上传中</view> | |||
<view class="box2-you" v-if="item.audioUploadStatus=='' ">无上传</view> | |||
<view class="box2-you" v-if="item.audioUploadStatus=='' ">无上传</view> --> | |||
</view> | |||
<view class="infobox2"> | |||
<view class="box2-zuo">更新时间</view> | |||
@@ -249,8 +257,14 @@ | |||
<style lang="scss"> | |||
.cented { | |||
width: 100%; | |||
height: 100vh; | |||
min-height: 100vh; | |||
background: #FFFFFF; | |||
.header { | |||
position: sticky; | |||
top: var(--window-top); | |||
z-index: 999; | |||
} | |||
} | |||
// .infoinputbox { | |||
@@ -443,6 +457,10 @@ | |||
font-size: 24rpx; | |||
color: #333333; | |||
text-indent: 30rpx; | |||
.stayupload { | |||
color: #F41313; | |||
} | |||
} | |||
} | |||
} | |||
@@ -2,11 +2,13 @@ | |||
<view class="cented-box"> | |||
<view class="Pinspeak">客户信息</view> | |||
<view class="chented"> | |||
<view class="title"> | |||
<view class="titletext">客户姓名</view> | |||
<view class="titletext2"> | |||
<input class="titletext-input" style="color: #333333;" v-model="parames.name" placeholder-class="titletext-input" placeholder-style="color:#B2B2B2;" type="text" placeholder="请输入客户姓名(必填)" /> | |||
<input class="titletext-input" style="color: #333333;" v-model="parames.name" | |||
placeholder-class="titletext-input" placeholder-style="color:#B2B2B2;" type="text" | |||
placeholder="请输入客户姓名(必填)" /> | |||
</view> | |||
<view class="titleimg"> | |||
<!-- <image class="titleimg1" src="../../../static/images/arrow.png" mode=""></image> --> | |||
@@ -19,14 +21,16 @@ | |||
<view class="sexRadio" @click="changeSex(2)" :class="{active:parames.sex == 2}">女士</view> | |||
</view> | |||
</view> | |||
<view class="title"> | |||
<view class="titletext">联系电话</view> | |||
<view class="titletext2"> | |||
<input class="titletext-input" style="color: #333333;" v-model="parames.phone" placeholder-class="titletext-input" placeholder-style="color:#B2B2B2;" type="number" placeholder="请输入联系电话" /> | |||
<input class="titletext-input" style="color: #333333;" v-model="parames.phone" maxlength="11" | |||
placeholder-class="titletext-input" placeholder-style="color:#B2B2B2;" type="number" | |||
placeholder="请输入联系电话" /> | |||
</view> | |||
</view> | |||
<view class="title"> | |||
<view class="titletext">接待人数</view> | |||
<view class="titletext2" style="display: flex;align-items: center;justify-content: space-around;"> | |||
@@ -35,11 +39,12 @@ | |||
{{i + 1}} | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
<view class="title" style="border: none;" @click="Buildingselection()"> | |||
<view class="titletext">客户来源</view> | |||
<view class="titletext2" style="font-size: 30rpx;font-weight: 400;color: #B2B2B2;line-height: 90rpx;padding-left: 10rpx;"> | |||
<view class="titletext2" | |||
style="font-size: 30rpx;font-weight: 400;color: #B2B2B2;line-height: 110rpx;padding-left: 10rpx;"> | |||
<!-- {{parames.sourceName||'请选择客户来源'}} --> | |||
<text v-if="parames.sourceName" style="color: #333333;">{{parames.sourceName}}</text> | |||
<text v-else>请选择客户来源</text> | |||
@@ -48,13 +53,14 @@ | |||
<image class="titleimg1" src="../../../static/images/arrow.png" mode=""></image> | |||
</view> | |||
</view> | |||
</view> | |||
<view class="Pinspeak" v-if="shifoinfo==0">顾问</view> | |||
<view class="chented" v-if="shifoinfo==0" @click="clickShowhid()"> | |||
<view class="Pinspeak" v-if="isShow">顾问</view> | |||
<view class="chented" v-if="isShow" @click="clickShowhid()"> | |||
<view class="title" style="border: none;"> | |||
<view class="titletext">接待顾问</view> | |||
<view class="titletext2" style="font-size: 30rpx;font-weight: 400;color: #B2B2B2;line-height: 90rpx;padding-left: 10rpx;"> | |||
<view class="titletext2" | |||
style="font-size: 30rpx;font-weight: 400;color: #B2B2B2;line-height: 110rpx;padding-left: 10rpx;"> | |||
<!-- {{text || '请选择接待顾问'}} --> | |||
<text v-if="text" style="color: #333333;">{{text}}</text> | |||
<text v-else>请选择接待顾问</text> | |||
@@ -62,18 +68,22 @@ | |||
<view class="titleimg"> | |||
<image class="titleimg1" src="../../../static/images/arrow.png" mode=""></image> | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
<view class="clive" @click="save">确定</view> | |||
<view v-if="Showhiddenunits"> | |||
<u-select :mask-close-able="false" v-model="Showhiddenunits" mode="single-column" :list="list" @cancel="cancel" @confirm="confirm"></u-select> | |||
<u-select :mask-close-able="false" v-model="Showhiddenunits" mode="single-column" :list="list" | |||
@cancel="cancel" @confirm="confirm"></u-select> | |||
</view> | |||
<view v-if="Showhid"> | |||
<u-select :mask-close-able="false" v-model="Showhid" mode="single-column" :list="freeList" @cancel="cancel1" @confirm="confirm1"></u-select> | |||
<u-select :mask-close-able="false" v-model="Showhid" mode="single-column" :list="freeList" @cancel="cancel1" | |||
@confirm="confirm1"></u-select> | |||
</view> | |||
<u-modal v-model="show" :mask-close-able="true" :title="'代接待提醒'" :confirm-text="confirmtext" :cancel-text='canceltext' @cancel="confirmA" @confirm="confirmB" :show-cancel-button='true' :content="content"></u-modal> | |||
<u-modal v-model="show" :mask-close-able="true" :title="'代接待提醒'" :confirm-text="confirmtext" | |||
:cancel-text='canceltext' @cancel="confirmA" @confirm="confirmB" :show-cancel-button='true' | |||
:content="content"></u-modal> | |||
</view> | |||
</template> | |||
@@ -84,10 +94,15 @@ | |||
export default { | |||
data() { | |||
return { | |||
Showhiddenunits:false, | |||
list: [ | |||
{label: '自然到访',value:'自然到访'}, | |||
{label: '渠道推荐',value:'渠道推荐'}, | |||
Showhiddenunits: false, | |||
list: [{ | |||
label: '自然到访', | |||
value: '自然到访' | |||
}, | |||
{ | |||
label: '渠道推荐', | |||
value: '渠道推荐' | |||
}, | |||
], | |||
parames: { | |||
name: '', | |||
@@ -97,72 +112,64 @@ | |||
source: null, | |||
sourceName: null, | |||
howMany: 1, | |||
agentId:null, | |||
projectId:'', | |||
replaceReception:0 | |||
agentId: null, | |||
projectId: '', | |||
replaceReception: 0 | |||
}, | |||
shifoinfo:0, | |||
freeList:[], | |||
Showhid:false, | |||
text:null, | |||
show:false, | |||
freeList: [], | |||
Showhid: false, | |||
text: null, | |||
show: false, | |||
content: '东临碣石,以观沧海', | |||
confirmtext:'1',//确认文字 | |||
canceltext:'2',//取消文字 | |||
daitiReceptionobj:{} | |||
confirmtext: '1', //确认文字 | |||
canceltext: '2', //取消文字 | |||
daitiReceptionobj: {}, | |||
isShow: false, // 默认隐藏该权限 | |||
}; | |||
}, | |||
onShow: function() { | |||
this.parames.projectId=uni.getStorageSync('buildingID').id; | |||
this.init() | |||
onShow() { | |||
let newmenulist= uni.getStorageSync('weapp_session_Menu_data'); | |||
this.isShow = newmenulist.jd_zp | |||
this.parames.projectId = uni.getStorageSync('buildingID').id; | |||
this.getFreeList(); | |||
}, | |||
methods: { | |||
//取消 | |||
confirmA(){ | |||
if(this.daitiReceptionobj.assign!=null){ | |||
this.parames.agentId=this.daitiReceptionobj.assign.accountId; | |||
confirmA() { | |||
if (this.daitiReceptionobj.assign != null) { | |||
this.parames.agentId = this.daitiReceptionobj.assign.accountId; | |||
this.baochunfun() | |||
}else{ | |||
} else { | |||
uni.showToast({ | |||
icon: "none", | |||
title: "【"+this.daitiReceptionobj.owner.name+"】正在接待中" | |||
title: "【" + this.daitiReceptionobj.owner.name + "】正在接待中" | |||
}) | |||
return; | |||
} | |||
}, | |||
// 确认 | |||
confirmB(){ | |||
this.parames.agentId=this.daitiReceptionobj.replacement.accountId; | |||
this.parames.replaceReception=1; | |||
confirmB() { | |||
console.log(this.daitiReceptionobj.replacement.accountId) | |||
this.parames.agentId = this.daitiReceptionobj.replacement.accountId; | |||
this.parames.replaceReception = 1; | |||
this.baochunfun() | |||
}, | |||
save() { | |||
if (this.parames.name.length==0) { | |||
if (this.parames.name.length == 0) { | |||
uni.showToast({ | |||
icon: "none", | |||
title: "客户姓名不能为空" | |||
}) | |||
return; | |||
} | |||
// (this.parames.phone && !this.$u.test.mobile(this.parames.phone)) | |||
// if (this.parames.phone) { | |||
// uni.showToast({ | |||
// icon: "none", | |||
// title: "手机号码不能为空" | |||
// }) | |||
// return; | |||
// } | |||
console.log(this.parames.phone.length) | |||
if (this.parames.phone && this.parames.phone.length<11) { | |||
if (this.parames.phone && this.parames.phone.length < 11) { | |||
uni.showToast({ | |||
icon: "none", | |||
title: "手机号码不能小于11位" | |||
}) | |||
return; | |||
} | |||
if (this.parames.phone && this.parames.phone.length>11) { | |||
if (this.parames.phone && this.parames.phone.length > 11) { | |||
uni.showToast({ | |||
icon: "none", | |||
title: "手机号码不能大于11位" | |||
@@ -173,42 +180,48 @@ | |||
this.$u.post("customer/daitiReception", { | |||
phone: that.parames.phone, | |||
projectId: that.parames.projectId, | |||
agentId:that.parames.agentId | |||
agentId: that.parames.agentId | |||
}).then(res => { | |||
if(res.unchecked==0){ | |||
if (res.unchecked == 0) { | |||
that.baochunfun() | |||
}else{ | |||
if(res.zs==0){ | |||
that.parames.agentId=res.assign.accountId; | |||
} else { | |||
if (res.zs == 0) { | |||
console.log(res, 'ajdlksajdklsajkdljsakldjsakl') | |||
console.log(res, 'ajdlksajdklsajkdljsakldjsakl') | |||
that.parames.agentId = res.assign.accountId; | |||
that.baochunfun() | |||
}else{ | |||
} else { | |||
console.log("zo") | |||
if(res.assign==null&&res.replacement==null){ | |||
if (res.assign == null && res.replacement == null) { | |||
that.baochunfun() | |||
}else{ | |||
if(res.assign==null){ | |||
that.daitiReceptionobj=res; | |||
that.content="此客户的顾问为【"+ res.owner.name +"】,确认让【"+ res.replacement.name +"】代接待吗?" | |||
that.confirmtext=res.replacement.name +"代接代",//确认文字 | |||
that.canceltext=res.owner.name +'接待',//取消文字 | |||
that.show=true; | |||
}else{ | |||
that.daitiReceptionobj=res; | |||
} else { | |||
if (res.assign == null) { | |||
that.daitiReceptionobj = res; | |||
that.content = "此客户的顾问为【" + res.owner.name + "】,确认让【" + res.replacement.name + | |||
"】代接待吗?" | |||
that.confirmtext = res.replacement.name + "代接代", //确认文字 | |||
that.canceltext = res.owner.name + '接待', //取消文字 | |||
that.show = true; | |||
} else { | |||
that.daitiReceptionobj = res; | |||
console.log(that.daitiReceptionobj) | |||
that.content="此客户的顾问为【"+ res.owner.name +"】,确认让【"+ res.replacement.name +"】代接待吗?" | |||
that.confirmtext=res.replacement.name +"代接代",//确认文字 | |||
that.canceltext=res.assign.name +'接待',//取消文字 | |||
that.show=true; | |||
that.content = "此客户的顾问为【" + res.owner.name + "】,确认让【" + res.replacement.name + | |||
"】代接待吗?" | |||
that.confirmtext = res.replacement.name + "代接代", //确认文字 | |||
that.canceltext = res.assign.name + '接待', //取消文字 | |||
that.show = true; | |||
} | |||
} | |||
} | |||
} | |||
}) | |||
}, | |||
baochunfun(){ | |||
const { dataCode } = uni.getStorageSync("weapp_session_userInfo_data"); | |||
if(this.parames.phone.length==0){ | |||
this.parames.phone=null | |||
baochunfun() { | |||
const { | |||
dataCode | |||
} = uni.getStorageSync("weapp_session_userInfo_data"); | |||
if (this.parames.phone.length == 0) { | |||
this.parames.phone = null | |||
} | |||
uni.showLoading({ | |||
title: "保存中", | |||
@@ -240,176 +253,176 @@ | |||
changeHowMany(num) { | |||
this.parames.howMany = num; | |||
}, | |||
clickShowhid(){ | |||
if(this.freeList.length==0){ | |||
clickShowhid() { | |||
if (this.freeList.length == 0) { | |||
uni.showToast({ | |||
icon:'none', | |||
title: '当前无可用排班顾问', | |||
duration: 2000 | |||
icon: 'none', | |||
title: '当前无可用排班顾问', | |||
duration: 2000 | |||
}); | |||
}else{ | |||
this.Showhid=true; | |||
} else { | |||
this.Showhid = true; | |||
} | |||
}, | |||
cancel1(){ | |||
this.Showhid=false; | |||
cancel1() { | |||
this.Showhid = false; | |||
}, | |||
confirm1(e) { | |||
this.text=e[0].label; | |||
this.parames.agentId=e[0].value; | |||
this.Showhid=false; | |||
this.text = e[0].label; | |||
this.parames.agentId = e[0].value; | |||
this.Showhid = false; | |||
}, | |||
Buildingselection(){ | |||
this.Showhiddenunits=true; | |||
Buildingselection() { | |||
this.Showhiddenunits = true; | |||
}, | |||
cancel(){ | |||
this.Showhiddenunits=false; | |||
cancel() { | |||
this.Showhiddenunits = false; | |||
}, | |||
confirm(e) { | |||
this.parames.sourceName=e[0].value; | |||
this.Showhiddenunits=false; | |||
}, | |||
init(){ | |||
uni.request({ | |||
url: config.service.getSelfAssignedByHouseId+"?houseId="+this.parames.projectId, | |||
method: "GET", | |||
header: { | |||
'content-type': 'application/json', | |||
'Authorization': 'Bearer '+uni.getStorageSync('weapp_session_login_data').token | |||
}, | |||
success: (data) => { | |||
if(data.data.code==10000){ | |||
this.shifoinfo=data.data.data.selfAssigned | |||
} | |||
} | |||
}) | |||
this.parames.sourceName = e[0].value; | |||
this.Showhiddenunits = false; | |||
}, | |||
//获取顾问列表 | |||
getFreeList() { | |||
this.$u.get("/zkAgentPool/freeList?itemId="+this.parames.projectId).then(res => { | |||
this.freeList = res; | |||
this.freeList.forEach(item=>{ | |||
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 | |||
this.$u.get("/zkAgentPool/freeList?itemId=" + this.parames.projectId).then(res => { | |||
this.freeList = res; | |||
this.freeList.forEach(item => { | |||
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 | |||
}) | |||
}) | |||
}) | |||
}, | |||
} | |||
}; | |||
</script> | |||
<style lang="scss" scoped> | |||
.sexRadio{ | |||
color: #BFBFBF; | |||
border: 1rpx solid #BFBFBF; | |||
font-size: 24upx; | |||
width: 100rpx; | |||
height: 43rpx; | |||
text-align: center; | |||
line-height: 40rpx; | |||
&:last-child { | |||
margin-left: 20rpx; | |||
} | |||
&.active { | |||
color: #2B6FFF; | |||
border-color: #2B6FFF; | |||
} | |||
} | |||
.sexRadio { | |||
color: #BFBFBF; | |||
border: 1rpx solid #BFBFBF; | |||
font-size: 24upx; | |||
width: 120rpx; | |||
height: 60rpx; | |||
text-align: center; | |||
display: flex; | |||
align-items: center; | |||
justify-content: center; | |||
.num { | |||
width: 50rpx; | |||
height: 50rpx; | |||
background: rgba(43, 110, 253, 0.1); | |||
color: #2B6EFD; | |||
font-size: 30rpx; | |||
display: flex; | |||
align-items: center; | |||
justify-content: center; | |||
&:last-child { | |||
margin-left: 20rpx; | |||
} | |||
&.active { | |||
background: #2B6EFD; | |||
color: #FFFFFF; | |||
&.active { | |||
background: #2B6FFF; | |||
color: #fff; | |||
border-color: #2B6FFF; | |||
} | |||
} | |||
} | |||
.cented-box{ | |||
background: #F8F8F8; | |||
width: 100%; | |||
height: 100vh; | |||
} | |||
.Pinspeak{ | |||
width: 100%; | |||
height: 92rpx; | |||
border-bottom: 1rpx solid #E0E0E0; | |||
font-size: 32rpx; | |||
font-weight: bold; | |||
color: #333333; | |||
text-indent: 30rpx; | |||
line-height: 92rpx; | |||
background: #FFFFFF; | |||
margin-top: 20rpx; | |||
padding-left: 10rpx; | |||
} | |||
.chented{ | |||
width: 100%; | |||
padding-left: 30rpx; | |||
padding-right: 30rpx; | |||
background-color: #FFFFFF; | |||
.title{ | |||
width: 100%; | |||
height: 90rpx; | |||
border-bottom: 1rpx solid #E0E0E0; | |||
.num { | |||
width: 50rpx; | |||
height: 50rpx; | |||
background: rgba(43, 110, 253, 0.1); | |||
color: #2B6EFD; | |||
font-size: 30rpx; | |||
display: flex; | |||
align-items: center; | |||
.titletext{ | |||
width: 21%; | |||
height: 90rpx; | |||
font-size: 30rpx; | |||
font-weight: 400; | |||
color: #333333; | |||
line-height: 90rpx; | |||
text-indent: 10rpx; | |||
} | |||
.titletext2{ | |||
width: 71%; | |||
height: 90rpx; | |||
justify-content: center; | |||
&.active { | |||
background: #2B6EFD; | |||
color: #FFFFFF; | |||
} | |||
.titletext-input{ | |||
} | |||
.cented-box { | |||
background: #F8F8F8; | |||
width: 100%; | |||
height: 100vh; | |||
} | |||
.Pinspeak { | |||
width: 100%; | |||
height: 92rpx; | |||
border-bottom: 1rpx solid #E0E0E0; | |||
font-size: 32rpx; | |||
font-weight: bold; | |||
color: #333333; | |||
text-indent: 30rpx; | |||
line-height: 92rpx; | |||
background: #FFFFFF; | |||
margin-top: 20rpx; | |||
padding-left: 10rpx; | |||
} | |||
.chented { | |||
width: 100%; | |||
padding-left: 30rpx; | |||
padding-right: 30rpx; | |||
background-color: #FFFFFF; | |||
.title { | |||
width: 100%; | |||
height: 90rpx; | |||
font-size: 30rpx; | |||
font-weight: 400; | |||
color: #B2B2B2; | |||
line-height: 90rpx; | |||
padding-left: 10rpx; | |||
} | |||
.titleimg{ | |||
width: 8%; | |||
text-align: right; | |||
.titleimg1{ | |||
width: 16rpx; | |||
height: 36rpx; | |||
height: 110rpx; | |||
border-bottom: 1rpx solid #E0E0E0; | |||
display: flex; | |||
align-items: center; | |||
.titletext { | |||
width: 21%; | |||
height: 110rpx; | |||
font-size: 30rpx; | |||
font-weight: 400; | |||
color: #333333; | |||
line-height: 110rpx; | |||
text-indent: 10rpx; | |||
} | |||
.titletext2 { | |||
width: 71%; | |||
height: 110rpx; | |||
} | |||
.titletext-input { | |||
width: 100%; | |||
height: 110rpx; | |||
font-size: 30rpx; | |||
font-weight: 400; | |||
color: #B2B2B2; | |||
line-height: 110rpx; | |||
padding-left: 10rpx; | |||
} | |||
.titleimg { | |||
width: 8%; | |||
text-align: right; | |||
.titleimg1 { | |||
width: 16rpx; | |||
height: 36rpx; | |||
} | |||
} | |||
} | |||
} | |||
} | |||
.clive{ | |||
width: 690rpx; | |||
height: 88rpx; | |||
background: #2671E2; | |||
text-align: center; | |||
line-height: 88rpx; | |||
color: #FFFFFF; | |||
border-radius: 8rpx; | |||
margin: 0 auto; | |||
margin-top: 300rpx; | |||
font-size: 32rpx; | |||
} | |||
.clive { | |||
position: absolute; | |||
bottom: 32rpx; | |||
left: 30rpx; | |||
right: 30rpx; | |||
width: 690rpx; | |||
height: 88rpx; | |||
background: #2671E2; | |||
text-align: center; | |||
line-height: 88rpx; | |||
color: #FFFFFF; | |||
border-radius: 8rpx; | |||
font-size: 32rpx; | |||
} | |||
</style> |
@@ -414,4 +414,9 @@ export default { | |||
} | |||
} | |||
} | |||
.u-select__header__btn { | |||
font-size: 32rpx; | |||
font-weight: bold; | |||
} | |||
</style> |