|
@@ -176,6 +176,16 @@ |
|
|
设备日志 |
|
|
设备日志 |
|
|
</view> |
|
|
</view> |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<template |
|
|
|
|
|
v-if="(userlistobj.visitRecord == 1 || userlistobj.visitFlag == 1) && CHECKAUTHORITY('xgdfcs')"> |
|
|
|
|
|
<view class="btn-item" @click="showVisit = true;Thetapeidisshow=false"> |
|
|
|
|
|
<image class="icon" src="../../static/images/users.png" |
|
|
|
|
|
mode=""></image> |
|
|
|
|
|
到访次数 |
|
|
|
|
|
</view> |
|
|
|
|
|
</template> |
|
|
</view> |
|
|
</view> |
|
|
<!-- 暂时注释 待联调--> |
|
|
<!-- 暂时注释 待联调--> |
|
|
<!-- <view class="other-btn"> |
|
|
<!-- <view class="other-btn"> |
|
@@ -597,6 +607,41 @@ |
|
|
<u-select :mask-close-able="false" label-name="name" value-name="id" v-model="effectiveIndexShow" |
|
|
<u-select :mask-close-able="false" label-name="name" value-name="id" v-model="effectiveIndexShow" |
|
|
mode="single-column" :list="effectiveitems" @cancel="effectiveIndexCancel" @confirm="effectiveIndexConfirm"> |
|
|
mode="single-column" :list="effectiveitems" @cancel="effectiveIndexCancel" @confirm="effectiveIndexConfirm"> |
|
|
</u-select> |
|
|
</u-select> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<u-popup v-model="showVisit" mode="center" border-radius="16" width="600rpx"> |
|
|
|
|
|
<view class="show-visit-content"> |
|
|
|
|
|
<view class="visit-title"> |
|
|
|
|
|
修改次数 |
|
|
|
|
|
</view> |
|
|
|
|
|
|
|
|
|
|
|
<view class="visit-box"> |
|
|
|
|
|
<view class="v-t">本次属于客户第几次到访</view> |
|
|
|
|
|
<view class="visit-step"> |
|
|
|
|
|
<view class="mitems" style="border-right: 1rpx solid #999;" @tap="reduce"> |
|
|
|
|
|
- |
|
|
|
|
|
</view> |
|
|
|
|
|
|
|
|
|
|
|
<input class="input" type="number" disabled v-model="visitParams.visitRecordNum"> |
|
|
|
|
|
|
|
|
|
|
|
<view class="mitems" style="border-left: 1rpx solid #999;" @tap="add"> |
|
|
|
|
|
+ |
|
|
|
|
|
</view> |
|
|
|
|
|
</view> |
|
|
|
|
|
<view class="tips"> |
|
|
|
|
|
注意:客户没有第一次到访记录,该客户所有的接待销讲执行率,不参与统计 |
|
|
|
|
|
</view> |
|
|
|
|
|
</view> |
|
|
|
|
|
|
|
|
|
|
|
<view class="visit-btns"> |
|
|
|
|
|
<view class="btn-item" @tap="cancelVisitRecord">取消</view> |
|
|
|
|
|
<view class="btn-item" @tap="changeVisitRecord" style="border-left: none;">确认</view> |
|
|
|
|
|
</view> |
|
|
|
|
|
|
|
|
|
|
|
</view> |
|
|
|
|
|
</u-popup> |
|
|
|
|
|
|
|
|
</view> |
|
|
</view> |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
@@ -712,6 +757,14 @@ |
|
|
templateName: '', // 销讲业务类型文字 |
|
|
templateName: '', // 销讲业务类型文字 |
|
|
percent: 0, // 挖掘成功 |
|
|
percent: 0, // 挖掘成功 |
|
|
wordFraction: 0, // 挖掘执行 |
|
|
wordFraction: 0, // 挖掘执行 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
showVisit: false, // 操作框 |
|
|
|
|
|
visitParams: { |
|
|
|
|
|
id: '', |
|
|
|
|
|
projectId: uni.getStorageSync('buildingID').id, // 当前项目id |
|
|
|
|
|
visitRecordNum: 1, // 默认到访次数 |
|
|
|
|
|
}, |
|
|
}; |
|
|
}; |
|
|
}, |
|
|
}, |
|
|
computed: { |
|
|
computed: { |
|
@@ -732,6 +785,7 @@ |
|
|
this.stateisshow = options.stateisshow; |
|
|
this.stateisshow = options.stateisshow; |
|
|
this.wordFraction = options.wordFraction == 'undefined' ? 0 : options.wordFraction; |
|
|
this.wordFraction = options.wordFraction == 'undefined' ? 0 : options.wordFraction; |
|
|
|
|
|
|
|
|
|
|
|
this.visitParams.id = options.customerId; |
|
|
this.$zaudio.autoPlay = true |
|
|
this.$zaudio.autoPlay = true |
|
|
if (options.refresh) this.refresh = options.refresh |
|
|
if (options.refresh) this.refresh = options.refresh |
|
|
|
|
|
|
|
@@ -813,6 +867,41 @@ |
|
|
|
|
|
|
|
|
methods: { |
|
|
methods: { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 加减 |
|
|
|
|
|
reduce() { |
|
|
|
|
|
if (this.visitParams.visitRecordNum == 1) { |
|
|
|
|
|
uni.showToast({ |
|
|
|
|
|
title: '不能再减了~', |
|
|
|
|
|
icon: "none", |
|
|
|
|
|
duration: 2000 |
|
|
|
|
|
}); |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
this.visitParams.visitRecordNum-- |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
add() { |
|
|
|
|
|
this.visitParams.visitRecordNum++ |
|
|
|
|
|
}, |
|
|
|
|
|
// 取消 |
|
|
|
|
|
cancelVisitRecord() { |
|
|
|
|
|
this.visitParams.visitRecordNum = 1 |
|
|
|
|
|
this.showVisit = false |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
// 确定 |
|
|
|
|
|
changeVisitRecord() { |
|
|
|
|
|
this.$u.post('/customer/updateVisitRecord', this.visitParams).then(res => { |
|
|
|
|
|
this.cancelVisitRecord() |
|
|
|
|
|
}).catch(res => { |
|
|
|
|
|
uni.showToast({ |
|
|
|
|
|
title: '操作失败,请稍候重试!', |
|
|
|
|
|
duration: 2000 |
|
|
|
|
|
}); |
|
|
|
|
|
}) |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
// 获取接待类型列表 |
|
|
// 获取接待类型列表 |
|
|
getInvalidList() { |
|
|
getInvalidList() { |
|
|
this.$u.post('/customer/invalidList', { |
|
|
this.$u.post('/customer/invalidList', { |
|
@@ -1103,6 +1192,7 @@ |
|
|
customerId: this.customerId |
|
|
customerId: this.customerId |
|
|
}).then(res => { |
|
|
}).then(res => { |
|
|
res.endTime1 = res.endTime.substring(0, 19); |
|
|
res.endTime1 = res.endTime.substring(0, 19); |
|
|
|
|
|
this.visitParams.visitRecordNum = res.visitRecord || 1 |
|
|
this.userlistobj = res; |
|
|
this.userlistobj = res; |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
@@ -3360,4 +3450,72 @@ |
|
|
color: #fff; |
|
|
color: #fff; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.show-visit-content { |
|
|
|
|
|
width: 100%; |
|
|
|
|
|
height: 100%; |
|
|
|
|
|
display: flex; |
|
|
|
|
|
flex-direction: column; |
|
|
|
|
|
|
|
|
|
|
|
.visit-title { |
|
|
|
|
|
font-size: 32rpx; |
|
|
|
|
|
font-weight: bold; |
|
|
|
|
|
line-height: 70rpx; |
|
|
|
|
|
text-align: center; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.visit-box { |
|
|
|
|
|
flex-grow: 1; |
|
|
|
|
|
display: flex; |
|
|
|
|
|
flex-direction: column; |
|
|
|
|
|
align-items: center; |
|
|
|
|
|
|
|
|
|
|
|
.visit-step { |
|
|
|
|
|
margin: 20rpx 0 0 0; |
|
|
|
|
|
display: flex; |
|
|
|
|
|
justify-content: center; |
|
|
|
|
|
align-items: center; |
|
|
|
|
|
border: 1rpx solid #999; |
|
|
|
|
|
|
|
|
|
|
|
.mitems { |
|
|
|
|
|
flex-shrink: 0; |
|
|
|
|
|
width: 70rpx; |
|
|
|
|
|
height: 70rpx; |
|
|
|
|
|
background-color: #F2F2F2; |
|
|
|
|
|
display: flex; |
|
|
|
|
|
align-items: center; |
|
|
|
|
|
justify-content: center; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.input { |
|
|
|
|
|
width: 100rpx; |
|
|
|
|
|
font-size: 32rpx; |
|
|
|
|
|
text-align: center; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.tips { |
|
|
|
|
|
padding: 20rpx 0; |
|
|
|
|
|
width: 80%; |
|
|
|
|
|
font-size: 26rpx; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.visit-btns { |
|
|
|
|
|
width: 100%; |
|
|
|
|
|
height: 88rpx; |
|
|
|
|
|
display: flex; |
|
|
|
|
|
|
|
|
|
|
|
.btn-item { |
|
|
|
|
|
flex-grow: 1; |
|
|
|
|
|
height: 100%; |
|
|
|
|
|
display: flex; |
|
|
|
|
|
align-items: center; |
|
|
|
|
|
justify-content: center; |
|
|
|
|
|
border: 1rpx solid #999; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
</style> |
|
|
</style> |