@@ -254,6 +254,14 @@ | |||
"navigationBarTextStyle": "black" | |||
} | |||
}, | |||
{ | |||
"path": "Piabodata/selectTeam", | |||
"style": { | |||
"navigationBarTitleText": "选择团队", | |||
"navigationBarBackgroundColor": "#FFFFFF", | |||
"navigationBarTextStyle": "black" | |||
} | |||
}, | |||
{ | |||
"path": "Piabodata/Userinsightinto", | |||
"style": { | |||
@@ -317,6 +325,30 @@ | |||
"navigationBarBackgroundColor": "#FFFFFF", | |||
"navigationBarTextStyle": "black" | |||
} | |||
}, | |||
{ | |||
"path": "consumer/remind", | |||
"style": { | |||
"navigationBarTitleText": "添加提醒", | |||
"navigationBarBackgroundColor": "#FFFFFF", | |||
"navigationBarTextStyle": "black" | |||
} | |||
}, | |||
{ | |||
"path": "consumer/edit", | |||
"style": { | |||
"navigationBarTitleText": "编辑客户", | |||
"navigationBarBackgroundColor": "#FFFFFF", | |||
"navigationBarTextStyle": "black" | |||
} | |||
}, | |||
{ | |||
"path": "consumer/newFollowup/newFollowup", | |||
"style": { | |||
"navigationBarTitleText": "写跟进", | |||
"navigationBarBackgroundColor": "#FFFFFF", | |||
"navigationBarTextStyle": "black" | |||
} | |||
} | |||
] | |||
} | |||
@@ -197,7 +197,7 @@ | |||
</view> | |||
</view> | |||
<u-calendar v-model="totalTimeShow" mode="range" @change="totalTimeChange"></u-calendar> | |||
</view> | |||
</template> | |||
@@ -211,6 +211,7 @@ | |||
activeTotal: 2, | |||
activeTotal2: 0, | |||
bocindex:0, | |||
totalTimeShow: false, | |||
newlisttabinfo:[ | |||
{name:'接待量',zxl:'10'}, | |||
{name:'平均执行率',zxl:'50'}, | |||
@@ -236,6 +237,19 @@ | |||
tapspagek2(index) { | |||
this.bocindex = index; | |||
}, | |||
//时间切换 | |||
tabtimetap(index) { | |||
if (index == 3) { | |||
this.totalTimeShow = true; | |||
} else { | |||
this.activeTotal = index; | |||
} | |||
}, | |||
//自定义时间 | |||
totalTimeChange(e) { | |||
console.log(e.startDate, e.endDate) | |||
this.activeTotal=3; | |||
}, | |||
//集团对比 | |||
Groupcontrast(){ | |||
uni.navigateTo({ | |||
@@ -105,7 +105,7 @@ | |||
</view> | |||
<u-calendar v-model="totalTimeShow" mode="range" @change="totalTimeChange"></u-calendar> | |||
<u-calendar v-model="totalTimeShow" mode="range" @change="totalTimeChange"></u-calendar> | |||
</view> | |||
</template> | |||
@@ -114,6 +114,7 @@ | |||
data() { | |||
return { | |||
timepickpickisshow:false, | |||
totalTimeShow: false, | |||
activeTotal:0, | |||
activeTotal2:0, | |||
lineOptsect:{ | |||
@@ -148,6 +149,20 @@ | |||
checkboxChange(){ | |||
this.timepickpickisshow=!this.timepickpickisshow; | |||
}, | |||
tabtimetap(index){ | |||
// console.log(idx) | |||
// this.activeTotal=idx | |||
if (index == 3) { | |||
this.totalTimeShow = true; | |||
} else { | |||
this.activeTotal = index; | |||
} | |||
}, | |||
//自定义时间 | |||
totalTimeChange(e) { | |||
console.log(e.startDate, e.endDate) | |||
this.activeTotal=3; | |||
}, | |||
}, | |||
} | |||
</script> | |||
@@ -126,7 +126,7 @@ | |||
<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" style="flex: 1;justify-content: flex-end;" @click="goTeam"> | |||
<view class="title2-che">楼盘 | |||
<image class="righttochoose" src="../../../static/images/righttochoose.png" mode=""></image> | |||
</view> | |||
@@ -197,7 +197,7 @@ | |||
</view> | |||
</view> | |||
<u-calendar v-model="totalTimeShow" mode="range" @change="totalTimeChange"></u-calendar> | |||
</view> | |||
</template> | |||
@@ -211,6 +211,7 @@ | |||
activeTotal: 2, | |||
activeTotal2: 0, | |||
bocindex:0, | |||
totalTimeShow: false, | |||
newlisttabinfo:[ | |||
{name:'接待量',zxl:'10'}, | |||
{name:'平均执行率',zxl:'50'}, | |||
@@ -232,6 +233,19 @@ | |||
}, | |||
methods: { | |||
//时间切换 | |||
tabtimetap(index) { | |||
if (index == 3) { | |||
this.totalTimeShow = true; | |||
} else { | |||
this.activeTotal = index; | |||
} | |||
}, | |||
//自定义时间 | |||
totalTimeChange(e) { | |||
console.log(e.startDate, e.endDate) | |||
this.activeTotal=3; | |||
}, | |||
//指标执行率分析tab | |||
tapspagek2(index) { | |||
this.bocindex = index; | |||
@@ -241,6 +255,12 @@ | |||
uni.navigateTo({ | |||
url: '/pages/center/Piabodata/Groupcontrast' | |||
}); | |||
}, | |||
// 去选择团队 | |||
goTeam(){ | |||
uni.navigateTo({ | |||
url:'/pages/center/Piabodata/selectTeam' | |||
}) | |||
} | |||
} | |||
}; | |||
@@ -0,0 +1,92 @@ | |||
<template> | |||
<view class="box"> | |||
<!-- 顾问选择 --> | |||
<view class="nextcon"> | |||
最多选择五项 | |||
</view> | |||
<view class="content"> | |||
<checkbox-group v-model="value" @change="checkboxChange"> | |||
<view v-for="(item,index) in items" :key="index"> | |||
<view class="content-tips"> | |||
<view class="left"> | |||
{{item.name}} | |||
</view> | |||
<view class="right"> | |||
<radio :value="item.value" style="transform:scale(0.8)" color="#2671E2" :checked="item.checked" @click="addclick(index)"></radio> | |||
</view> | |||
</view> | |||
</view> | |||
</checkbox-group> | |||
</view> | |||
</view> | |||
</template> | |||
<script> | |||
export default { | |||
data(){ | |||
return{ | |||
value:[], | |||
items:[ | |||
{ | |||
name:'销售一部', | |||
value:'0', | |||
checked:false | |||
}, | |||
{ | |||
name:'销售二部', | |||
value:'1', | |||
checked:false | |||
}, | |||
] | |||
} | |||
}, | |||
methods:{ | |||
checkboxChange (e) { | |||
console.log(e) | |||
}, | |||
addclick(index){ | |||
this.items[index].checked=!this.items[index].checked | |||
} | |||
} | |||
} | |||
</script> | |||
<style lang="scss" scoped> | |||
.box{ | |||
background: #F8F8F8; | |||
width: 100%; | |||
height: 100%; | |||
font-size: 30rpx; | |||
font-weight: 400; | |||
// line-height: 30px; | |||
.nextcon{ | |||
height: 78rpx; | |||
background: #F4F8FD; | |||
color: #2671E2; | |||
text-align: center; | |||
line-height: 78rpx; | |||
} | |||
.content-tips{ | |||
display: flex; | |||
justify-content: space-between; | |||
background: #fff; | |||
padding: 0 30rpx; | |||
height: 92rpx; | |||
margin-bottom: 20rpx; | |||
.left{ | |||
display: flex; | |||
// margin-top: 30rpx; | |||
font-weight: 500; | |||
color: #303030; | |||
line-height: 92rpx; | |||
font-size: 30rpx; | |||
} | |||
.right{ | |||
margin: 24rpx 0; | |||
} | |||
} | |||
} | |||
</style> |
@@ -1,7 +1,7 @@ | |||
<template> | |||
<view class="box"> | |||
<view class="content"> | |||
<view class="content-tips" @click="godetail()"> | |||
<view class="content-tips" @click="goedit()"> | |||
<view class="content-first"> | |||
<view class="left"> | |||
<view class="img"> | |||
@@ -10,6 +10,9 @@ | |||
<view class="test"> | |||
李先生 | |||
</view> | |||
<view class="edit"> | |||
<image class="screen-sel-img" src="../../../static/images/edit.png" mode=""></image> | |||
</view> | |||
</view> | |||
<view class="right"> | |||
<view class="point"></view> | |||
@@ -204,7 +207,7 @@ | |||
</view> | |||
<view class="pon-foot"> | |||
<view class="foot-tab"> | |||
<view class="foot-tab" @click="goRemind"> | |||
添加提醒 | |||
</view> | |||
<!-- <view class="foot-tab"> | |||
@@ -228,7 +231,20 @@ | |||
tabtimetap(idx){ | |||
console.log(idx) | |||
this.activeTotal=idx | |||
} | |||
}, | |||
// 去编辑 | |||
goedit(){ | |||
// console.log('去编辑') | |||
uni.navigateTo({ | |||
url:'/pages/center/consumer/edit' | |||
}) | |||
}, | |||
// 去添加提醒 | |||
goRemind(){ | |||
uni.navigateTo({ | |||
url:'/pages/center/consumer/remind' | |||
}) | |||
}, | |||
} | |||
} | |||
</script> | |||
@@ -299,6 +315,16 @@ | |||
font-weight: 500; | |||
color: #333333; | |||
} | |||
.edit{ | |||
height: 30rpx; | |||
width: 30rpx; | |||
margin-left: 30rpx; | |||
margin-top: 11rpx; | |||
image{ | |||
width: 100%; | |||
height: 100%; | |||
} | |||
} | |||
} | |||
.right{ | |||
display: flex; | |||
@@ -0,0 +1,415 @@ | |||
<template> | |||
<view class="box"> | |||
<!-- 编辑 --> | |||
<view class="conmsg"> | |||
<view class="conmsg-title"> | |||
客户信息 | |||
</view> | |||
<view class="conmsg-msg"> | |||
<view class="conmsg-msg-lab"> | |||
<view class="conmsg-msg-lab-1"> | |||
客户姓名 | |||
<view class="star"> | |||
* | |||
</view> | |||
</view> | |||
<view class="conmsg-msg-lab-inp"> | |||
<input type="text" placeholder="请输入客户姓名" v-model="form.name"/> | |||
</view> | |||
</view> | |||
<view class="conmsg-msg-lab"> | |||
<view class="conmsg-msg-lab-1"> | |||
客户性别 | |||
</view> | |||
<view class="conmsg-msg-lab-inp"> | |||
<u-radio-group v-model="form.sex" > | |||
<view style="display: flex;"> | |||
<u-radio name="0" shape='circle'>男</u-radio> | |||
<u-radio name="1" shape='circle'>女</u-radio> | |||
</view> | |||
</u-radio-group> | |||
</view> | |||
</view> | |||
<view class="conmsg-msg-lab"> | |||
<view class="conmsg-msg-lab-1"> | |||
联系电话 | |||
<view class="star"> | |||
* | |||
</view> | |||
</view> | |||
<view class="conmsg-msg-lab-inp"> | |||
<input type="text" placeholder="请输入联系电话" v-model="form.phone"/> | |||
</view> | |||
</view> | |||
<view class="conmsg-msg-lab"> | |||
<view class="conmsg-msg-lab-1"> | |||
微信账号 | |||
</view> | |||
<view class="conmsg-msg-lab-inp"> | |||
<input type="text" placeholder="请输入微信账号" v-model="form.wx"/> | |||
</view> | |||
</view> | |||
<view class="conmsg-msg-lab"> | |||
<view class="conmsg-msg-lab-1"> | |||
客户等级 | |||
</view> | |||
<view class="conmsg-msg-lab-inp"> | |||
<input type="text" placeholder="请选择客户等级" @click="lelveshow = true" v-model="selectform.lelve" disabled/> | |||
</view> | |||
<view class="conmsg-msg-lab-img"> | |||
<image class="screen-sel-img" src="../../../static/images/right.png" mode=""></image> | |||
</view> | |||
</view> | |||
<view class="conmsg-msg-lab"> | |||
<view class="conmsg-msg-lab-1"> | |||
客户阶段 | |||
</view> | |||
<view class="conmsg-msg-lab-inp"> | |||
<input type="text" placeholder="请选择客户阶段" @click="stageshow = true" v-model="selectform.stage" disabled/> | |||
</view> | |||
<view class="conmsg-msg-lab-img"> | |||
<image class="screen-sel-img" src="../../../static/images/right.png" mode=""></image> | |||
</view> | |||
</view> | |||
<view class="conmsg-msg-lab"> | |||
<view class="conmsg-msg-lab-1"> | |||
备注内容 | |||
</view> | |||
<view class="conmsg-msg-lab-inp"> | |||
<input type="text" placeholder="请输入备注内容" v-model="form.txea"/> | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
<view class="conmsg"> | |||
<view class="conmsg-title"> | |||
客户标签 | |||
</view> | |||
<view class="conmsg-msg"> | |||
<view class="conmsg-msg-lab"> | |||
<view class="conmsg-msg-lab-1"> | |||
置业需求 | |||
</view> | |||
<view class="conmsg-msg-lab-inp"> | |||
<input type="text" placeholder="请选择置业需求" @click="demandshow = true" v-model="selectform.demand" disabled/> | |||
</view> | |||
<view class="conmsg-msg-lab-img"> | |||
<image class="screen-sel-img" src="../../../static/images/right.png" mode=""></image> | |||
</view> | |||
</view> | |||
<view class="conmsg-msg-lab"> | |||
<view class="conmsg-msg-lab-1"> | |||
意向面积 | |||
</view> | |||
<view class="conmsg-msg-lab-inp"> | |||
<input type="text" placeholder="请选择意向面积" @click="areashow = true" v-model="selectform.area" disabled/> | |||
</view> | |||
<view class="conmsg-msg-lab-img"> | |||
<image class="screen-sel-img" src="../../../static/images/right.png" mode=""></image> | |||
</view> | |||
</view> | |||
<view class="conmsg-msg-lab"> | |||
<view class="conmsg-msg-lab-1"> | |||
预算 | |||
</view> | |||
<view class="conmsg-msg-lab-inp"> | |||
<input type="text" placeholder="请选择预算" @click="budgetshow = true" v-model="selectform.budget" disabled/> | |||
</view> | |||
<view class="conmsg-msg-lab-img"> | |||
<image class="screen-sel-img" src="../../../static/images/right.png" mode=""></image> | |||
</view> | |||
</view> | |||
<view class="conmsg-msg-lab"> | |||
<view class="conmsg-msg-lab-1"> | |||
关注点 | |||
</view> | |||
<view class="conmsg-msg-lab-inp"> | |||
<input type="text" placeholder="请选择关注点" @click="fouceshow = true" v-model="selectform.fouce" disabled/> | |||
</view> | |||
<view class="conmsg-msg-lab-img"> | |||
<image class="screen-sel-img" src="../../../static/images/right.png" mode=""></image> | |||
</view> | |||
</view> | |||
<view class="conmsg-msg-lab"> | |||
<view class="conmsg-msg-lab-1"> | |||
客户来源 | |||
</view> | |||
<view class="conmsg-msg-lab-inp"> | |||
<input type="text" placeholder="请选择客户来源" @click="soureshow = true" v-model="selectform.soure" disabled/> | |||
</view> | |||
<view class="conmsg-msg-lab-img"> | |||
<image class="screen-sel-img" src="../../../static/images/right.png" mode=""></image> | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
<view class="submit"> | |||
<view class="btn"> | |||
确定 | |||
</view> | |||
</view> | |||
<!-- 客户等级 --> | |||
<u-select v-model="lelveshow" :list="lelvelist" @confirm="lelveshowCallback"></u-select> | |||
<!-- 客户阶段 --> | |||
<u-select v-model="stageshow" :list="stagelist" @confirm="stageshowCallback"></u-select> | |||
<!-- 职业需求 --> | |||
<u-select v-model="demandshow" :list="demandlist" @confirm="demandshowCallback"></u-select> | |||
<!-- 意向面积 --> | |||
<u-select v-model="areashow" :list="arealist" @confirm="areashowCallback"></u-select> | |||
<!-- 预算 --> | |||
<u-select v-model="budgetshow" :list="budgetlist" @confirm="budgetshowCallback"></u-select> | |||
<!-- 关注点 --> | |||
<u-select v-model="fouceshow" :list="foucelist" @confirm="fouceshowCallback"></u-select> | |||
<!-- 客户来源 --> | |||
<u-select v-model="soureshow" :list="sourelist" @confirm="soureshowCallback"></u-select> | |||
</view> | |||
</template> | |||
<script> | |||
export default{ | |||
data(){ | |||
return{ | |||
form:{ | |||
name:'', | |||
sex:'0', | |||
phone:'', | |||
wx:'', | |||
lelve:'', | |||
stage:'', | |||
txea:'', | |||
demand:'', | |||
area:'', | |||
budget:'', | |||
fouce:'', | |||
soure:'', | |||
}, | |||
selectform:{ | |||
lelve:'A', | |||
stage:'', | |||
demand:'', | |||
area:'', | |||
budget:'', | |||
fouce:'', | |||
soure:'', | |||
}, | |||
lelveshow:false, | |||
stageshow:false, | |||
demandshow:false, | |||
areashow:false, | |||
budgetshow:false, | |||
fouceshow:false, | |||
soureshow:false, | |||
lelvelist:[ | |||
{ | |||
value:1, | |||
label:'A' | |||
}, | |||
{ | |||
value:2, | |||
label:'B' | |||
}, | |||
{ | |||
value:3, | |||
label:'C' | |||
}, | |||
{ | |||
value:4, | |||
label:'D' | |||
}, | |||
], | |||
stagelist:[ | |||
{ | |||
value:1, | |||
label:'首次到访' | |||
}, | |||
{ | |||
value:2, | |||
label:'首次到访B' | |||
}, | |||
{ | |||
value:3, | |||
label:'首次到访C' | |||
}, | |||
], | |||
demandlist:[ | |||
{ | |||
value:1, | |||
label:'需求' | |||
}, | |||
{ | |||
value:2, | |||
label:'首次到访B' | |||
}, | |||
{ | |||
value:3, | |||
label:'首次到访C' | |||
}, | |||
], | |||
arealist:[ | |||
{ | |||
value:1, | |||
label:'面积' | |||
}, | |||
{ | |||
value:2, | |||
label:'首次到访B' | |||
}, | |||
{ | |||
value:3, | |||
label:'首次到访C' | |||
}, | |||
], | |||
budgetlist:[ | |||
{ | |||
value:1, | |||
label:'预算' | |||
}, | |||
{ | |||
value:2, | |||
label:'首次到访B' | |||
}, | |||
{ | |||
value:3, | |||
label:'首次到访C' | |||
}, | |||
], | |||
foucelist:[ | |||
{ | |||
value:1, | |||
label:'关注' | |||
}, | |||
{ | |||
value:2, | |||
label:'首次到访B' | |||
}, | |||
{ | |||
value:3, | |||
label:'首次到访C' | |||
}, | |||
], | |||
sourelist:[ | |||
{ | |||
value:1, | |||
label:'来源' | |||
}, | |||
{ | |||
value:2, | |||
label:'首次到访B' | |||
}, | |||
{ | |||
value:3, | |||
label:'首次到访C' | |||
}, | |||
], | |||
} | |||
}, | |||
methods:{ | |||
lelveshowCallback(e){ | |||
this.selectform.lelve=e[0].label | |||
this.form.lelve=e[0].value | |||
}, | |||
stageshowCallback(e){ | |||
this.selectform.stage=e[0].label | |||
this.form.stage=e[0].value | |||
}, | |||
demandshowCallback(e){ | |||
this.selectform.demand=e[0].label | |||
this.form.demand=e[0].value | |||
}, | |||
areashowCallback(e){ | |||
this.selectform.area=e[0].label | |||
this.form.area=e[0].value | |||
}, | |||
budgetshowCallback(e){ | |||
this.selectform.budget=e[0].label | |||
this.form.budget=e[0].value | |||
}, | |||
fouceshowCallback(e){ | |||
this.selectform.fouce=e[0].label | |||
this.form.fouce=e[0].value | |||
}, | |||
soureshowCallback(e){ | |||
this.selectform.soure=e[0].label | |||
this.form.soure=e[0].value | |||
}, | |||
} | |||
} | |||
</script> | |||
<style lang="scss" scoped> | |||
.box { | |||
width: 100%; | |||
height: 100%; | |||
background: #F8F8F8; | |||
overflow: hidden; | |||
} | |||
.conmsg{ | |||
background: #FFFFFF; | |||
margin-top: 20rpx; | |||
.conmsg-title{ | |||
height: 92rpx; | |||
line-height: 92rpx; | |||
padding: 0 30rpx; | |||
font-weight: 500; | |||
color: #303030; | |||
font-size: 32rpx; | |||
border-bottom: 1px solid #E0E0E0; | |||
} | |||
.conmsg-msg{ | |||
padding: 0 30rpx; | |||
.conmsg-msg-lab{ | |||
height: 102rpx; | |||
display: flex; | |||
font-size: 30rpx; | |||
font-weight: 400; | |||
color: #333333; | |||
border-bottom: 1px solid #E0E0E0; | |||
line-height: 102rpx; | |||
.conmsg-msg-lab-1{ | |||
display: flex; | |||
width: 136rpx; | |||
.star{ | |||
color: #E7483C; | |||
line-height: 108rpx; | |||
} | |||
} | |||
.conmsg-msg-lab-inp{ | |||
margin-top: 30rpx; | |||
margin-left: 44rpx; | |||
} | |||
.conmsg-msg-lab-img{ | |||
width: 14rpx; | |||
height: 30rpx; | |||
margin-top: 6rpx; | |||
margin-left: auto; | |||
image{ | |||
width: 100%; | |||
height: 100%; | |||
} | |||
} | |||
} | |||
} | |||
} | |||
.submit{ | |||
height: 228rpx; | |||
.btn{ | |||
margin: 60rpx auto; | |||
text-align: center; | |||
width: 690rpx; | |||
height: 88rpx; | |||
background: #2671E2; | |||
border-radius: 8rpx; | |||
font-size: 32tpx; | |||
font-weight: 400; | |||
color: #FFFFFF; | |||
line-height: 88rpx; | |||
} | |||
} | |||
</style> |
@@ -66,7 +66,7 @@ | |||
<view class="content-last-tab"> | |||
拨打电话 | |||
</view> | |||
<view class="content-last-tab"> | |||
<view class="content-last-tab" @click="goFollow"> | |||
写跟进 | |||
</view> | |||
</view> | |||
@@ -327,6 +327,12 @@ | |||
url: '/pages/center/consumer/consumerSearch' | |||
}); | |||
}, | |||
goFollow(){ | |||
uni.navigateTo({ | |||
url:`/pages/center/consumer/newFollowup/newFollowup?id=5f3846c2e8134dda8b3f41fc90684114`, | |||
}) | |||
}, | |||
}, | |||
onLoad() { | |||
console.log('这里是进入') | |||
@@ -0,0 +1,265 @@ | |||
/* 新增客户跟进 */ | |||
page { | |||
background: #f9f9f9; | |||
} | |||
.follow_up { | |||
} | |||
/* 最新状态 */ | |||
.follow_up_list { | |||
padding: 0rpx 30rpx 0rpx 30rpx; | |||
box-sizing: border-box; | |||
background: #fff; | |||
overflow: hidden; | |||
margin-bottom: 0rpx; | |||
} | |||
.follow_up_list_title { | |||
display: flex; | |||
align-items: center; | |||
} | |||
.follow_up_list_title image { | |||
width: 19rpx; | |||
height: 18rpx; | |||
display: block; | |||
margin-right: 10rpx; | |||
} | |||
.follow_up_list_title label { | |||
height: 42rpx; | |||
font-size: 30rpx; | |||
font-weight: 600; | |||
color: rgba(51, 51, 51, 1); | |||
line-height: 42rpx; | |||
letter-spacing: 1rpx; | |||
} | |||
.follow_up_list_label { | |||
margin-top: 30rpx; | |||
} | |||
.follow_up_list_label view { | |||
padding: 0rpx 25rpx; | |||
height: 50rpx; | |||
border-radius: 8rpx; | |||
border: 2rpx solid rgba(206, 206, 206, 1); | |||
float: left; | |||
color: rgba(97, 110, 135, 1); | |||
font-size: 26rpx; | |||
line-height: 50rpx; | |||
margin-left: 20rpx; | |||
margin-bottom: 22rpx; | |||
} | |||
.active { | |||
background: rgba(42, 111, 255, 1); | |||
border: 2rpx solid rgba(42, 111, 255, 1) !important; | |||
color: #fff !important; | |||
} | |||
/* 意向级别 */ | |||
.assess-star { | |||
padding: 10rpx 0rpx 0rpx 20rpx; | |||
box-sizing: border-box; | |||
display: flex; | |||
align-items: center; | |||
} | |||
.star-wrap { | |||
display: flex; | |||
align-items: center; | |||
} | |||
.star-item { | |||
display: inline-block; | |||
height: 38rpx; | |||
width: 36rpx; | |||
margin-right: 0rpx; | |||
} | |||
.star-item image { | |||
width: 26rpx; | |||
height: 26rpx; | |||
margin-left: 10rpx; | |||
} | |||
.star-desc { | |||
font-size: 26rpx; | |||
font-weight: 400; | |||
color: rgba(97, 110, 135, 1); | |||
text-align: center; | |||
height: 44rpx; | |||
margin-left: 27rpx; | |||
line-height: 44rpx; | |||
} | |||
/* 跟进内容 */ | |||
.follow_content { | |||
background: #fff; | |||
padding: 30rpx; | |||
box-sizing: border-box; | |||
position: relative; | |||
} | |||
.follow_content_title { | |||
color: #333; | |||
font-size: 30rpx; | |||
line-height: 42rpx; | |||
} | |||
.follow_content_title em { | |||
color: #a6a6a6; | |||
} | |||
.follow_content_textarea { | |||
padding: 30rpx 20rpx; | |||
box-sizing: border-box; | |||
font-size: 30rpx; | |||
width: 100%; | |||
height: 200rpx; | |||
} | |||
.follow_content .voice{ | |||
width: 100rpx; | |||
margin-left: calc(50% - 50rpx); | |||
z-index: 10000; | |||
} | |||
.place { | |||
color: #a6a6a6; | |||
line-height: 42px; | |||
font-size: 30rpx; | |||
} | |||
.follow_btn { | |||
width: 688rpx; | |||
height: 90rpx; | |||
background: rgba(221, 221, 223, 1); | |||
border-radius: 8rpx; | |||
line-height: 90rpx; | |||
margin: 50rpx auto; | |||
color: #fff; | |||
text-align: center; | |||
font-size: 34rpx; | |||
} | |||
.follow_btn_active { | |||
background: rgba(42, 111, 255, 1); | |||
} | |||
/* 提醒 */ | |||
.tixing{ | |||
width: 100rpx; | |||
height: 50rpx; | |||
text-align: center; | |||
line-height: 50rpx; | |||
float: right; | |||
} | |||
.tixing image{ | |||
width: 26rpx; | |||
height: 30rpx; | |||
display: inline-block; | |||
} | |||
.mask{ | |||
width: 100%; | |||
height: 100%; | |||
position: fixed; | |||
top: 0; | |||
left: 0; | |||
z-index: 999; | |||
background:rgba(0,0,0,0.61); | |||
} | |||
.time-box{ | |||
position: fixed; | |||
width: 100%; | |||
bottom: 0; | |||
left: 0; | |||
z-index: 9999; | |||
background: #fff; | |||
box-sizing: content-box | |||
} | |||
.time-title{ | |||
float:left; | |||
width:20%; | |||
text-align:center; | |||
color:rgba(51, 51, 51, 1); | |||
} | |||
.time-title-box{ | |||
border-top: 1rpx solid rgba(51, 51, 51, 1); | |||
height: 70rpx; | |||
font-size: 31rpx; | |||
line-height: 70rpx; | |||
color: rgba(51, 51, 51, 1); | |||
} | |||
.picker-text{ | |||
text-align:center; | |||
width: calc(750rpx / 5); | |||
background: #fff; | |||
} | |||
.time-text{ | |||
text-align: center; | |||
color: rgba(51, 51, 51, 1); | |||
height: 90rpx; | |||
font-size: 33rpx; | |||
line-height: 90rpx; | |||
} | |||
.time-sure{ | |||
float: right; | |||
/* margin-right: 20rpx; */ | |||
font-size: 33rpx; | |||
width: 120rpx; | |||
height: 100%; | |||
} | |||
.tixing1 { | |||
width: 26rpx; | |||
height: 32rpx; | |||
display: inline-block; | |||
margin-right: 10rpx; | |||
} | |||
.tixingBox{ | |||
width:750rpx; | |||
height:109rpx; | |||
background:rgba(255,255,255,1); | |||
color:rgba(17, 94, 255, 1); | |||
display: flex; | |||
align-items: center; | |||
line-height: 109rpx; | |||
padding: 0 30rpx; | |||
box-sizing: border-box; | |||
margin-top: 21rpx; | |||
} | |||
.tixing{ | |||
width: 160rpx; | |||
height: 60rpx; | |||
background: rgba(42,111,255,1); | |||
border-radius: 35rpx; | |||
padding: 0 22rpx; | |||
box-sizing: border-box; | |||
display: flex; | |||
justify-content: space-around; | |||
line-height: 60rpx; | |||
font-size: 28rpx; | |||
font-family: PingFangSC-Medium,PingFang SC; | |||
font-weight: 500; | |||
color: rgba(255,255,255,1); | |||
margin-left: 368rpx; | |||
} | |||
.tixing image{ | |||
width: 30rpx; | |||
height: 30rpx; | |||
margin-top: 15rpx; | |||
margin-right: 0; | |||
} | |||
.active1{ | |||
background:#DEDEDE; | |||
} |
@@ -0,0 +1,816 @@ | |||
<template> | |||
<view> | |||
<!-- 新增客户跟进 --> | |||
<view class="follow_up"> | |||
<view class="follow_content_title tixingBox" | |||
v-if="orderRemindDate1=='' || orderRemindDate1 == null || overdue == true"> | |||
<image src="https://qufang.oss-cn-beijing.aliyuncs.com/upload/icon/xcx/jjycrm/ld.png" class="tixing1"> | |||
</image> | |||
跟进提醒 | |||
<view class="tixing" @tap="onClose"> | |||
<text>设置</text> | |||
</view> | |||
</view> | |||
<view class="follow_content_title tixingBox" v-else> | |||
<image src="https://qufang.oss-cn-beijing.aliyuncs.com/upload/icon/xcx/jjycrm/ld.png" class="tixing1"> | |||
</image> | |||
跟进提醒 | |||
<view class="tixing active1" @tap="onClose1"> | |||
<text>已设置</text> | |||
</view> | |||
</view> | |||
<!-- 最新状态 --> | |||
<view class="follow_up_list"> | |||
<view class="follow_up_list_title"> | |||
<image src="https://qufang.oss-cn-beijing.aliyuncs.com/upload/icon/xcx/jjycrm/index/xh.png"></image> | |||
<label>最新状态</label> | |||
</view> | |||
<view class="follow_up_list_label"> | |||
<view v-for="(item, i) in sortList" :key="i" :class="'taga-item ' + (state===i?'active':'')" | |||
:data-state="i" @tap="tagChoose"> | |||
{{item.stageName}} | |||
</view> | |||
</view> | |||
</view> | |||
<!-- 意向级别 --> | |||
<view class="follow_up_list" style="padding-bottom: 10rpx;"> | |||
<view class="follow_up_list_title"> | |||
<image src="https://qufang.oss-cn-beijing.aliyuncs.com/upload/icon/xcx/jjycrm/index/xh.png"></image> | |||
<label>意向级别</label> | |||
</view> | |||
<view class="follow_level_selection"> | |||
<view class="assess-star"> | |||
<view class="star-wrap"> | |||
<view v-for="(item, index) in stars" :key="index" class="star-item" :data-index="index" | |||
@tap="starClick"> | |||
<image v-if="item.flag==1" | |||
src="https://qufang.oss-cn-beijing.aliyuncs.com/upload/icon/xcx/jjycrm/index/index12.png"> | |||
</image> | |||
<image v-else | |||
src="https://qufang.oss-cn-beijing.aliyuncs.com/upload/icon/xcx/jjycrm/index/index13.png"> | |||
</image> | |||
</view> | |||
</view> | |||
<view class="star-desc" v-if="level==1">A级</view> | |||
<view class="star-desc" v-if="level==2">B级</view> | |||
<view class="star-desc" v-if="level==3">C级</view> | |||
<view class="star-desc" v-if="level==4">D级</view> | |||
</view> | |||
</view> | |||
</view> | |||
<!-- 客户类型 --> | |||
<view class="follow_up_list"> | |||
<view class="follow_up_list_title"> | |||
<image src="https://qufang.oss-cn-beijing.aliyuncs.com/upload/icon/xcx/jjycrm/index/xh.png"></image> | |||
<label>客户类型</label> | |||
</view> | |||
<view class="total" style="font-size: 22rpx;"> | |||
<u-icon style="margin-right:14rpx" name="checkmark-circle-fill" color="#FD6B18"></u-icon> | |||
已选择<text style="color: #FD6B18;">{{chosedCustomer.length}}</text>个 | |||
</view> | |||
<view class="list" @click="showList" :class="{chosed:chosedCustomer.length>0}"> | |||
<view v-for="(item, i) in chosedCustomerType" :key="i" class="taga-item" | |||
:class="{active:chosedCustomer.includes(item.keywords)}"> | |||
{{item.keywords}} | |||
</view> | |||
</view> | |||
<view class="more" @click="showList"> | |||
选择更多 | |||
</view> | |||
</view> | |||
<!-- 跟进内容 --> | |||
<view class="follow_content"> | |||
<view class="follow_content_title"> | |||
跟进内容 | |||
<em>({{feedbackContent.length}}/50)</em> | |||
</view> | |||
<textarea v-show="!customerTypeShow" class="follow_content_textarea" v-if="show==false" | |||
:value="feedbackContent" maxlength="50" @input="note" placeholder="请输入跟进内容,按话筒按钮可以语音识别" | |||
placeholder-class="place"></textarea> | |||
<!-- <image class="voice" @click="changeVoiceShow" src="/static/images/yuyin.png" mode="widthFix"></image> --> | |||
</view> | |||
<view :class="'follow_btn ' + (value!=='' && state!== '' && level !=='' ?'follow_btn_active':'')" | |||
@tap="ok"> | |||
保存 | |||
</view> | |||
</view> | |||
<!-- 提醒 --> | |||
<view class="mask" v-if="show==true" @tap="timeClose"></view> | |||
<view class="time-box" v-if="show==true"> | |||
<view class="time-text"> | |||
{{year}}-{{month}}-{{day}} {{hour}}:{{minute}} | |||
<view class="time-sure" @tap="timeSure">确定</view> | |||
<view class="time-sure" style="float:left" @tap="timeClose">取消</view> | |||
</view> | |||
<view class="time-title-box"> | |||
<view class="time-title">年</view> | |||
<view class="time-title">月</view> | |||
<view class="time-title">日</view> | |||
<view class="time-title">时</view> | |||
<view class="time-title">分</view> | |||
</view> | |||
<picker-view indicator-style="height: 50px;" | |||
style="width: 100%; height: 300px;display: flex;background:#fff;" :value="value" @change="bindChange"> | |||
<picker-view-column class="picker-text"> | |||
<view v-for="(item, index) in years" :key="index" style="line-height: 50px">{{item}}</view> | |||
</picker-view-column> | |||
<picker-view-column class="picker-text"> | |||
<view v-for="(item, index) in months" :key="index" style="line-height: 50px">{{item}}</view> | |||
</picker-view-column> | |||
<picker-view-column class="picker-text"> | |||
<view v-for="(item, index) in days" :key="index" style="line-height: 50px">{{item}}</view> | |||
</picker-view-column> | |||
<picker-view-column class="picker-text"> | |||
<view v-for="(item, index) in hours" :key="index" style="line-height: 50px">{{item}}</view> | |||
</picker-view-column> | |||
<picker-view-column class="picker-text"> | |||
<view v-for="(item, index) in minutes" :key="index" style="line-height: 50px">{{item}}</view> | |||
</picker-view-column> | |||
</picker-view> | |||
</view> | |||
<cover-view class="voiceContent" v-if="voiceShow" @click="changeVoiceShow"> | |||
<cover-view class="box" @click.stop="" @touchstart="voiceStart" @touchend="voiceEnd"> | |||
<cover-view class="center"> | |||
<cover-image class="voice" src="/static/images/voice.png" mode="widthFix"></cover-image> | |||
<cover-view class="text"> | |||
{{isRecording?'正在输入':'长按语音输入'}} | |||
</cover-view> | |||
</cover-view> | |||
</cover-view> | |||
</cover-view> | |||
<u-popup v-model="customerTypeShow" mode="center" border-radius="22" width="690" height="785"> | |||
<view class="customerTypePopup"> | |||
<view class="search"> | |||
<input class="input" type="text" v-model="customerTypeSearch" /> | |||
</view> | |||
<scroll-view class="list" :scroll-y="true"> | |||
<view v-for="(item,index) in filterCustomerList" :key="index" | |||
@click="choseCustomerName(item.keywords)" class="item" | |||
:class="{active:chosedCustomerTmp.includes(item.keywords)}"> | |||
{{item.keywords}} | |||
</view> | |||
</scroll-view> | |||
<view class="save" @click="saveCustomerType"> | |||
保存 | |||
</view> | |||
</view> | |||
</u-popup> | |||
</view> | |||
</template> | |||
<script> | |||
var util = require("../../../../utils/util.js"); | |||
var config = require("../../../../config"); | |||
var plugin = requirePlugin("WechatSI") | |||
let manager = plugin.getRecordRecognitionManager(); | |||
var WXB_SESSION_LOGIN_DATA = 'weapp_session_login_data'; | |||
var app = getApp(); // 定义年、月、日、时、分的数组都为空 | |||
// 定义年、月、日、时、分的数组都为空 | |||
const date = new Date(); | |||
const years = []; | |||
const months = []; | |||
const days = []; | |||
const hours = []; | |||
const minutes = []; | |||
var thisMon = date.getMonth(); | |||
var thisDay = date.getDate(); // 获取年 | |||
// 获取日期 | |||
var totalDay = mGetDate(date.getFullYear(), thisMon); | |||
// 获取年 | |||
for (let i = 0; i <= date.getFullYear() + 1; i++) { | |||
years.push(i) | |||
} | |||
// 获取月份 | |||
for (let i = 0; i <= 11; i++) { | |||
var k = i; | |||
if (0 <= i && i < 9) { | |||
k = "0" + (i + 1); | |||
} else { | |||
k = (i + 1); | |||
} | |||
months.push(k) | |||
} | |||
if (0 <= thisMon && thisMon < 9) { | |||
thisMon = "0" + (thisMon + 1); | |||
} else { | |||
thisMon = (thisMon + 1); | |||
} | |||
if (0 <= thisDay && thisDay < 10) { | |||
thisDay = "0" + thisDay; | |||
} | |||
// 获取日期 | |||
var totalDay = mGetDate(date.getFullYear(), thisMon); | |||
for (let i = 1; i <= 31; i++) { | |||
var k = i; | |||
if (0 <= i && i < 10) { | |||
k = "0" + i | |||
} | |||
days.push(k) | |||
} | |||
// 获取小时 | |||
for (let i = 0; i <= 23; i++) { | |||
var k = i; | |||
if (0 <= i && i < 10) { | |||
k = "0" + i | |||
} | |||
hours.push(k) | |||
} | |||
// 获取分钟 | |||
for (let i = 0; i <= 59; i++) { | |||
var k = i; | |||
if (0 <= i && i < 10) { | |||
k = "0" + i | |||
} | |||
minutes.push(k) | |||
} | |||
// 给新的日期赋值 | |||
function mGetDate(year, month) { | |||
var d = new Date(year, month, 0); | |||
return d.getDate(); | |||
} | |||
export default { | |||
data() { | |||
return { | |||
isokColor: false, | |||
sortList: [], | |||
starDesc: '', | |||
stars: [{ | |||
lightImg: 'https://qufang.oss-cn-beijing.aliyuncs.com/upload/icon/xcx/jjycrm/index/index12.png', | |||
blackImg: 'https://qufang.oss-cn-beijing.aliyuncs.com/upload/icon/xcx/jjycrm/index/index13.png', | |||
flag: 1, | |||
message: 'A', | |||
level: 1 | |||
}, { | |||
lightImg: 'https://qufang.oss-cn-beijing.aliyuncs.com/upload/icon/xcx/jjycrm/index/index12.png', | |||
blackImg: 'https://qufang.oss-cn-beijing.aliyuncs.com/upload/icon/xcx/jjycrm/index/index13.png', | |||
flag: 1, | |||
message: 'B', | |||
level: 2 | |||
}, { | |||
lightImg: 'https://qufang.oss-cn-beijing.aliyuncs.com/upload/icon/xcx/jjycrm/index/index12.png', | |||
blackImg: 'https://qufang.oss-cn-beijing.aliyuncs.com/upload/icon/xcx/jjycrm/index/index13.png', | |||
flag: 1, | |||
message: 'C', | |||
level: 3 | |||
}, { | |||
lightImg: 'https://qufang.oss-cn-beijing.aliyuncs.com/upload/icon/xcx/jjycrm/index/index12.png', | |||
blackImg: 'https://qufang.oss-cn-beijing.aliyuncs.com/upload/icon/xcx/jjycrm/index/index13.png', | |||
flag: 1, | |||
message: 'D', | |||
level: 4 | |||
}], | |||
state: null, | |||
feedbackContent: "", | |||
level: "", | |||
customerId: "", | |||
// 提醒 | |||
years: years, | |||
year: date.getFullYear(), | |||
months: months, | |||
month: thisMon, | |||
days: days, | |||
day: thisDay, | |||
value: [date.getFullYear(), date.getMonth(), Number(date.getDate() - 1), Number(date.getHours()), Number( | |||
date.getMinutes())], | |||
hours: hours, | |||
hour: date.getHours(), | |||
minutes: minutes, | |||
minute: date.getMinutes(), | |||
show: false, | |||
overdue: false, | |||
code: "", | |||
orderRemindDate: "", | |||
orderRemindDate1: "", | |||
allItem: 0, | |||
item: 0, | |||
voiceShow: false, | |||
isRecording: false, | |||
customerType: [], | |||
customerTypeShow: false, | |||
customerTypeSearch: "", | |||
chosedCustomer: [], | |||
chosedCustomerTmp: [], | |||
}; | |||
}, | |||
onLoad(e) { | |||
// console.log(e,'123') | |||
const that = this; | |||
uni.login({ | |||
success(res) { | |||
if (res.code) { | |||
// that.setData({ | |||
// code: res.code | |||
// }); | |||
} else { | |||
console.log('登录失败!' + res.errMsg); | |||
} | |||
} | |||
}); | |||
var customerId = e.id; | |||
var day = Number(date.getDate()) < 10 ? '0' + date.getDate() : date.getDate(); | |||
var moth = Number(date.getMonth() + 1) < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1; | |||
var hour = Number(date.getHours()) < 10 ? '0' + date.getHours() : date.getHours(); | |||
var min = Number(date.getMinutes()) < 10 ? '0' + date.getMinutes() : date.getMinutes(); | |||
this.setData({ | |||
customerId: customerId, | |||
orderRemindDate: date.getFullYear() + '-' + moth + '-' + day + ' ' + hour + ':' + min, | |||
orderRemindDate1: e.followRemindDate, | |||
hour: hour, | |||
minute: min | |||
}); | |||
if (e.followRemindDate) { | |||
var setData = new Date(e.followRemindDate).getTime(); | |||
var newData = new Date().getTime(); | |||
if (setData < newData) { | |||
this.setData({ | |||
overdue: true | |||
}); | |||
} else { | |||
this.setData({ | |||
overdue: false | |||
}); | |||
} | |||
} | |||
this.getNewStatus(); | |||
this.getCustomerType(); | |||
}, | |||
onShow() { | |||
this.initRecord(); | |||
}, | |||
methods: { | |||
setData: function(obj) { | |||
let that = this; | |||
let keys = []; | |||
let val, data; | |||
Object.keys(obj).forEach(function(key) { | |||
keys = key.split("."); | |||
val = obj[key]; | |||
data = that.$data; | |||
keys.forEach(function(key2, index) { | |||
if (index + 1 == keys.length) { | |||
that.$set(data, key2, val); | |||
} else { | |||
if (!data[key2]) { | |||
that.$set(data, key2, {}); | |||
} | |||
} | |||
data = data[key2]; | |||
}); | |||
}); | |||
}, | |||
getCustomerType() { | |||
this.$u.get("/customer/queryKeyWords").then(res => { | |||
this.customerType = res; | |||
}) | |||
}, | |||
showList() { | |||
this.chosedCustomerTmp = this.chosedCustomer; | |||
this.customerTypeShow = true; | |||
}, | |||
choseCustomerName(name) { | |||
const tmp = new Set(this.chosedCustomerTmp); | |||
if (tmp.has(name)) { | |||
tmp.delete(name) | |||
} else { | |||
tmp.add(name) | |||
} | |||
this.chosedCustomerTmp = Array.from(tmp); | |||
}, | |||
saveCustomerType() { | |||
this.chosedCustomer = this.chosedCustomerTmp; | |||
this.customerTypeShow = false; | |||
}, | |||
changeVoiceShow() { | |||
this.voiceShow = !this.voiceShow; | |||
}, | |||
voiceStart: function() { | |||
manager.start({ | |||
lang: "zh_CN" | |||
}); | |||
}, | |||
voiceEnd: function() { | |||
if (this.isRecording) { | |||
uni.showLoading({ | |||
title: "识别中" | |||
}) | |||
} | |||
this.voiceShow = false; | |||
this.isRecording = false; | |||
manager.stop(); | |||
}, | |||
initRecord() { | |||
const that = this; | |||
manager.onStart = function(res) { | |||
console.log(res.msg); | |||
that.isRecording = true; | |||
// this.voiceState = "onStart:" + res.msg + "正在录音" | |||
}; | |||
//有新的识别内容返回,则会调用此事件 | |||
manager.onRecognize = (res) => { | |||
console.log('ing' + res.result); | |||
} | |||
// 识别结束事件 | |||
manager.onStop = (res) => { | |||
uni.hideLoading(); | |||
let newText = that.feedbackContent + res.result; | |||
if (newText.length > 50) { | |||
newText = newText.substring(0, 50) | |||
} | |||
that.feedbackContent = newText; | |||
} | |||
// 识别错误事件 | |||
manager.onError = (res) => { | |||
uni.hideLoading(); | |||
console.error(res.msg) | |||
// this.voiceState = "onError" + res.msg; | |||
} | |||
}, | |||
// 关闭提醒 | |||
timeClose() { | |||
this.setData({ | |||
show: false, | |||
years: years, | |||
year: date.getFullYear(), | |||
months: months, | |||
month: thisMon, | |||
days: days, | |||
day: thisDay, | |||
value: [date.getFullYear(), date.getMonth(), date.getDate() - 1, date.getHours(), date | |||
.getMinutes() | |||
], | |||
hours: hours, | |||
hour: date.getHours(), | |||
minutes: minutes, | |||
minute: date.getMinutes() | |||
}); | |||
}, | |||
// 打开提醒 | |||
onClose() { | |||
const that = this; // 检测是否已经授权,有授权直接弹窗,没授权弹出授权 | |||
uni.getSetting({ | |||
withSubscriptions: true, | |||
success(res) { | |||
console.log(res); | |||
if (res && res.subscriptionsSetting && res.subscriptionsSetting.itemSettings && res | |||
.subscriptionsSetting | |||
.itemSettings['cBnJvhkMPHp0ReUiSdpM_Pd2usGeEEW6wx-5s6X4hEI'] == 'accept') { | |||
that.setData({ | |||
show: true | |||
}); | |||
} else { | |||
uni.requestSubscribeMessage({ | |||
tmplIds: ['cBnJvhkMPHp0ReUiSdpM_Pd2usGeEEW6wx-5s6X4hEI'], | |||
success(res) { | |||
that.setData({ | |||
show: true | |||
}); | |||
}, | |||
fail(res) { | |||
console.log(res); | |||
util.showNone("请授权"); | |||
} | |||
}); | |||
} | |||
}, | |||
fail(res) { | |||
console.log(res); | |||
} | |||
}); | |||
}, | |||
onClose1() { | |||
util.showNone(this.orderRemindDate1); | |||
}, | |||
timeSure() { | |||
var that = this; | |||
var params = { | |||
customerId: that.customerId, | |||
followRemindTime: that.orderRemindDate + ':00', | |||
code: that.code | |||
}; | |||
util.getRequestPromise(config.service.updateByPrimaryKey, params).then(data => { | |||
uni.showToast({ | |||
title: '操作成功' | |||
}); | |||
var data = that.orderRemindDate + ':00'; | |||
var setData = new Date(data).getTime(); | |||
var newData = new Date().getTime(); | |||
console.log(setData, newData); | |||
if (setData < newData) { | |||
this.setData({ | |||
overdue: true | |||
}); | |||
} else { | |||
this.setData({ | |||
overdue: false | |||
}); | |||
} | |||
this.setData({ | |||
show: false, | |||
value: [this.year, Number(this.month) - 1, Number(this.day) - 1, this.hour, this | |||
.minute | |||
], | |||
orderRemindDate1: that.orderRemindDate + ':00' | |||
}); | |||
}); | |||
}, | |||
// 获取新的日期和时间 | |||
bindChange: function(e) { | |||
const val = e.detail.value; | |||
this.setData({ | |||
year: this.years[val[0]], | |||
month: this.months[val[1]], | |||
day: this.days[val[2]], | |||
hour: this.hours[val[3]], | |||
minute: this.minutes[val[4]], | |||
orderRemindDate: this.years[val[0]] + '-' + this.months[val[1]] + '-' + this.days[val[2]] + | |||
' ' + this.hours[ | |||
val[3]] + ':' + this.minutes[val[4]] | |||
}); | |||
}, | |||
// 最新状态 | |||
tagChoose: function(options) { | |||
var that = this; | |||
var state = options.currentTarget.dataset.state; | |||
that.setData({ | |||
'state': state | |||
}); | |||
}, | |||
// 意向级别 | |||
starClick: function(e) { | |||
var that = this; | |||
for (var i = 0; i < that.stars.length; i++) { | |||
var allItem = 'stars[' + i + '].flag'; | |||
that.setData({ | |||
[allItem]: 1 | |||
}); | |||
} | |||
var index = e.currentTarget.dataset.index; | |||
for (var i = 0; i <= index; i++) { | |||
var item = 'stars[' + i + '].flag'; | |||
that.setData({ | |||
[item]: 2 | |||
}); | |||
} | |||
this.setData({ | |||
starDesc: this.stars[index].message, | |||
level: this.stars[3 - index].level | |||
}); | |||
}, | |||
// textarea | |||
note: function(e) { | |||
this.feedbackContent = e.detail.value | |||
}, | |||
getNewStatus: function() { | |||
var that = this; | |||
let premo={ | |||
houseId:uni.getStorageSync('buildingID').id | |||
} | |||
util.getRequestPromise(config.service.getStage, premo).then(data => { | |||
this.sortList = data; | |||
}); | |||
}, | |||
//提交 | |||
ok(){ | |||
var that = this; | |||
var state = that.state; | |||
var feedbackContent = that.feedbackContent; | |||
var level = that.level; | |||
var customerId = that.customerId; | |||
if (state === null || this.chosedCustomer.length == 0 || level === "") { | |||
uni.showModal({ | |||
title: '提示', | |||
content: '请选择状态、级别、类型', | |||
showCancel: false | |||
}); | |||
return; | |||
} | |||
uni.showLoading({ | |||
title: "保存中~", | |||
mask: true | |||
}) | |||
const chosedState = this.sortList[state]; | |||
var param = { | |||
"stageCode": chosedState.stageCode, | |||
"stageName": chosedState.stageName, | |||
"remarks": feedbackContent, | |||
words: this.chosedCustomer, | |||
// "settingTime":"", | |||
"agentRelationPo": { | |||
"customerId": customerId, | |||
"level": level, | |||
"state": chosedState.id | |||
} | |||
} | |||
util.getRequestPromise(config.service.followRecord, param, true).then(data => { | |||
util.showSuccess("提交成功"); | |||
uni.hideLoading(); | |||
uni.navigateBack(); | |||
}); | |||
} | |||
}, | |||
computed: { | |||
filterCustomerList() { | |||
return this.customerType.filter(item => { | |||
return item.keywords.includes(this.customerTypeSearch) | |||
}); | |||
}, | |||
chosedCustomerType() { | |||
if (this.chosedCustomer.length > 0) { | |||
return this.customerType.filter(item => { | |||
return this.chosedCustomer.includes(item.keywords) | |||
}) | |||
} else { | |||
return this.customerType | |||
} | |||
} | |||
}, | |||
}; | |||
</script> | |||
<style lang="scss" scoped> | |||
@import "./newFollowup.css"; | |||
.voiceContent { | |||
position: fixed; | |||
top: 0; | |||
bottom: 0; | |||
left: 0; | |||
right: 0; | |||
width: 100vw; | |||
height: 100vh; | |||
display: flex; | |||
justify-content: center; | |||
align-items: center; | |||
background: rgba(30, 30, 30, 0.4592); | |||
z-index: 10001; | |||
} | |||
.box { | |||
background: rgba(21, 144, 233, 0.299); | |||
width: 524upx; | |||
height: 524upx; | |||
border-radius: 50%; | |||
display: flex; | |||
align-items: center; | |||
justify-content: center; | |||
.center { | |||
width: 412upx; | |||
height: 412upx; | |||
background: #1590E9; | |||
border-radius: 50%; | |||
display: flex; | |||
align-items: center; | |||
justify-content: center; | |||
flex-direction: column; | |||
.voice { | |||
width: 110upx; | |||
height: 133upx; | |||
} | |||
.text { | |||
color: #FFFFFF; | |||
font-size: 36upx; | |||
margin-top: 24upx; | |||
} | |||
} | |||
} | |||
.follow_up_list { | |||
.total { | |||
font-size: 22rpx; | |||
margin-top: 20rpx; | |||
line-height: 1; | |||
} | |||
.list { | |||
display: flex; | |||
font-size: 22rpx; | |||
flex-wrap: wrap; | |||
margin: 0 -30rpx; | |||
padding: 0 15rpx; | |||
max-height: calc(3em + 90rpx + 66rpx); | |||
overflow: hidden; | |||
&.chosed { | |||
max-height: unset; | |||
} | |||
.taga-item { | |||
line-height: 1; | |||
padding: 11rpx 33rpx; | |||
color: #333333; | |||
background: rgba(136, 136, 136, 0.1); | |||
border: 1rpx solid rgba(232, 103, 17, 0); | |||
border-radius: 6rpx; | |||
margin: 15rpx; | |||
&.active { | |||
background: rgba(253, 84, 43, 0.1); | |||
border: 1rpx solid rgba(232, 103, 17, 0.5) !important; | |||
color: #FD6D2B !important; | |||
} | |||
} | |||
} | |||
.more { | |||
text-align: center; | |||
color: #999999; | |||
font-size: 22rpx; | |||
position: relative; | |||
top: 4rpx; | |||
} | |||
} | |||
.customerTypePopup { | |||
width: 100%; | |||
height: 100%; | |||
.search { | |||
padding: 25rpx; | |||
.input { | |||
box-sizing: border-box; | |||
} | |||
} | |||
.list { | |||
height: calc(100% - 200rpx); | |||
display: flex; | |||
flex-wrap: wrap; | |||
padding: 0 15rpx; | |||
overflow: hidden; | |||
.item { | |||
line-height: 1; | |||
padding: 11rpx 33rpx; | |||
color: #333333; | |||
background: rgba(136, 136, 136, 0.1); | |||
border: 1rpx solid rgba(232, 103, 17, 0) !important; | |||
border-radius: 6rpx; | |||
margin: 15rpx; | |||
display: inline-flex; | |||
&.active { | |||
background: rgba(253, 84, 43, 0.1) !important; | |||
border: 1rpx solid rgba(232, 103, 17, 0.5) !important; | |||
color: #FD6D2B !important; | |||
} | |||
} | |||
} | |||
.save { | |||
background: #2B6EFD; | |||
width: 600rpx; | |||
height: 78rpx; | |||
line-height: 78rpx; | |||
text-align: center; | |||
margin: 0 auto; | |||
border-radius: 17rpx; | |||
font-size: 36rpx; | |||
color: #FFFFFF; | |||
} | |||
} | |||
</style> |
@@ -0,0 +1,88 @@ | |||
<template> | |||
<view class="box"> | |||
<view class="conmsg"> | |||
<view class="conmsg-lab"> | |||
<view class="conmsg-lab-1"> | |||
客户信息 | |||
</view> | |||
<view class="conmsg-lab-2"> | |||
李先生/12385945986 | |||
</view> | |||
</view> | |||
<view class="conmsg-lab" style="border: none;"> | |||
<view class="conmsg-lab-1"> | |||
提醒时间 | |||
</view> | |||
<view class="conmsg-lab-3"> | |||
请选择提醒时间(必填) | |||
</view> | |||
<view class="conmsg-lab-4"> | |||
<image class="screen-sel-img" src="../../../static/images/right.png" mode=""></image> | |||
</view> | |||
</view> | |||
</view> | |||
<view class="conent"> | |||
<u-input v-model="value" type="textarea" height="148" :auto-height="true" /> | |||
</view> | |||
</view> | |||
</template> | |||
<script> | |||
export default{ | |||
data(){ | |||
return{ | |||
} | |||
}, | |||
methods:{ | |||
} | |||
} | |||
</script> | |||
<style lang="scss" scoped> | |||
.box { | |||
width: 100%; | |||
height: 100%; | |||
background: #F8F8F8; | |||
} | |||
.conmsg{ | |||
border-top: 1px solid #E0E0E0; | |||
padding: 0 30rpx; | |||
background: #fff; | |||
height: 208rpx; | |||
.conmsg-lab{ | |||
display: flex; | |||
border-bottom: 1px solid #E0E0E0; | |||
height: 102rpx; | |||
font-size: 30rpx; | |||
font-weight: 400; | |||
line-height: 102rpx; | |||
color: #333333; | |||
.conmsg-lab-1{ | |||
margin-right: 60rpx; | |||
} | |||
.conmsg-lab-3{ | |||
color: #B2B2B2; | |||
} | |||
.conmsg-lab-4{ | |||
width: 14rpx; | |||
height: 30rpx; | |||
margin-top: 6rpx; | |||
margin-left: auto; | |||
image{ | |||
width: 100%; | |||
height: 100%; | |||
} | |||
} | |||
} | |||
} | |||
.conent{ | |||
margin-top: 20rpx; | |||
min-height: 208rpx; | |||
background: #FFFFFF; | |||
box-sizing: border-box; | |||
padding: 30rpx; | |||
margin-bottom: 20rpx; | |||
} | |||
</style> |
@@ -185,6 +185,8 @@ | |||
</u-popup> | |||
<!-- 选择顾问的选择框 --> | |||
<u-select v-model="selectshow" :list="list" @confirm="actionSelectCallback"></u-select> | |||
<u-calendar v-model="totalTimeShow" mode="range" @change="totalTimeChange"></u-calendar> | |||
</view> | |||
</template> | |||
@@ -196,6 +198,7 @@ | |||
value:'', | |||
screenShow:false, | |||
selectshow:false, | |||
totalTimeShow: false, | |||
screen:{ | |||
counselorName:'', | |||
record:'0', | |||
@@ -227,9 +230,19 @@ | |||
} | |||
}, | |||
methods:{ | |||
tabtimetap(idx){ | |||
console.log(idx) | |||
this.activeTotal=idx | |||
tabtimetap(index){ | |||
// console.log(idx) | |||
// this.activeTotal=idx | |||
if (index == 3) { | |||
this.totalTimeShow = true; | |||
} else { | |||
this.activeTotal = index; | |||
} | |||
}, | |||
//自定义时间 | |||
totalTimeChange(e) { | |||
console.log(e.startDate, e.endDate) | |||
this.activeTotal=3; | |||
}, | |||
// 筛选 | |||
screenshow(){ | |||