工作台调整,业务办理调整

This commit is contained in:
唐明明
2024-03-29 14:13:11 +08:00
parent ec92096f2b
commit c6d2cbfd8d
5 changed files with 101 additions and 66 deletions

View File

@@ -1019,11 +1019,6 @@
"selectedIconPath": "static/icons/tabs_show_00.png", "selectedIconPath": "static/icons/tabs_show_00.png",
"pagePath": "pages/index/index", "pagePath": "pages/index/index",
"text": "服务包" "text": "服务包"
}, {
"iconPath": "static/icons/tabs_icon_01.png",
"selectedIconPath": "static/icons/tabs_show_01.png",
"pagePath": "pages/college/test",
"text": "业务考试"
}, { }, {
"iconPath": "static/icons/tabs_icon_02.png", "iconPath": "static/icons/tabs_icon_02.png",
"selectedIconPath": "static/icons/tabs_show_02.png", "selectedIconPath": "static/icons/tabs_show_02.png",

View File

@@ -43,8 +43,6 @@
} }
}, },
onLoad() { onLoad() {
},
onShow() {
const parentData = JSON.parse(decodeURIComponent(this.$Route.query.children)) const parentData = JSON.parse(decodeURIComponent(this.$Route.query.children))
this.childrenArr = parentData this.childrenArr = parentData
this.businessId = this.childrenArr[0].id this.businessId = this.childrenArr[0].id

View File

@@ -19,19 +19,6 @@
</view> </view>
</picker> </picker>
</view> </view>
<view class="from-block-item" v-if="needAmount > 0">
<label>标的额</label>
<input class="from-block-val from-block-input" type="number" placeholder="请输入标的额" @input="onKeyInput" />
</view>
<view class="from-block-item" v-if="pickertype != 'free'">
<label>服务费</label>
<input class="from-block-val from-block-input" type="number" :value="price || '0'" disabled />
</view>
<view class="from-block-item" v-else>
<label>服务费</label>
<input class="from-block-val from-block-input" type="number" placeholder="请输入客户服务费(元)" v-model="priceValue" />
</view>
<view class="from-block-item"> <view class="from-block-item">
<label>客户姓名</label> <label>客户姓名</label>
<input class="from-block-val from-block-input" placeholder="请输入客户姓名" v-model="name" /> <input class="from-block-val from-block-input" placeholder="请输入客户姓名" v-model="name" />
@@ -40,6 +27,23 @@
<label>手机号码</label> <label>手机号码</label>
<input class="from-block-val from-block-input" type="number" placeholder="请输入客户手机号码" v-model="phone" maxlength="11" /> <input class="from-block-val from-block-input" type="number" placeholder="请输入客户手机号码" v-model="phone" maxlength="11" />
</view> </view>
<view class="from-block-item" v-if="needAmount > 0">
<label>标的额</label>
<input class="from-block-val from-block-input" type="number" v-model="amount" placeholder="请输入标的额"/>
</view>
<view class="from-block-item from-block-get" v-if="pickertype != 'free'">
<label>服务费</label>
<input class="from-block-val from-block-input" type="number" v-model="price" disabled />
<view class="from-block-get-btn" @click="settleInfo">计算费用</view>
</view>
<view class="from-block-item" v-else>
<label>服务费</label>
<input class="from-block-val from-block-input" type="number" placeholder="请输入客户服务费(元)" v-model="priceValue" />
</view>
<view class="from-block-item" v-if="needDiff != 0">
<label>已缴服务费</label>
<input class="from-block-val from-block-input" type="number" placeholder="请输入已缴纳金额" v-model="diffPrice" />
</view>
</view> </view>
<button class="from-btn" @click="onSubmit">提交办理</button> <button class="from-btn" @click="onSubmit">提交办理</button>
</view> </view>
@@ -56,34 +60,35 @@
pickertype : '', pickertype : '',
name : '', name : '',
phone : '', phone : '',
price : '', price : 0,
diffPrice : '',
priceValue : '', priceValue : '',
amount : 0, amount : '',
needAmount : 0, needAmount : 0,
needDiff : 0,
selectP : [], selectP : [],
selectPIndex: 0 selectPIndex: 0
}; };
}, },
onShow() { onShow() {
const parentData = JSON.parse(decodeURIComponent(this.$Route.query.record)) const parentData = JSON.parse(decodeURIComponent(this.$Route.query.record))
this.needDiff = parentData.need_diff
this.needAmount = parentData.need_amount this.needAmount = parentData.need_amount
this.pickerArr = parentData.child.data this.pickerArr = parentData.child.data
this.pickertype = parentData.type this.pickertype = parentData.type
this.selectP = parentData.select_p || [] this.selectP = parentData.select_p || []
if(parentData.child.has){
this.amountTypeInfo()
}
}, },
methods: { methods: {
// 获取标的额
onKeyInput(e) {
this.amount = e.detail.value
this.settleInfo()
},
// 标的额比例计算 // 标的额比例计算
settleInfo() { settleInfo() {
let { pickerArr, pickerIndex } = this let { pickerArr, pickerIndex } = this
let id = pickerArr[pickerIndex].id let id = pickerArr[pickerIndex].id
settleAmount({ settleAmount({
amount: this.pickertype == 'select' ? this.selectP[this.selectPIndex].key : this.amount, amount : this.pickertype == 'select' ? this.selectP[this.selectPIndex].key : this.amount,
username: this.phone
}, id).then(res => { }, id).then(res => {
this.price = res.price this.price = res.price
}).catch(err => { }).catch(err => {
@@ -97,37 +102,45 @@
}) })
}, },
// 选择办理业务 // 选择办理业务
pickerChange(e) { pickerChange(e) {
this.pickerIndex = e.detail.value this.pickerIndex = e.detail.value
// 获取三级分类服务费类型 // 获取三级分类服务费类型
this.amountTypeInfo(); this.amountTypeInfo();
// 清空表单数据
this.onClerFrom()
}, },
// 选择资费信息 // 选择资费信息
pickerSelectChange(e){ pickerSelectChange(e){
this.selectPIndex = e.detail.value let { value } = e.detail
this.settleInfo() this.selectPIndex = value
// 清空表单数据
this.onClerFrom()
}, },
// 清空数据信息
onClerFrom(){
this.amount = ""
this.price = 0
this.priceValue = ""
this.name = ""
this.phone = ""
this.diffPrice = ""
},
// 三级分类服务费类型 // 三级分类服务费类型
amountTypeInfo() { amountTypeInfo() {
// this.$Route.query.bigFiveId
let { pickerArr, pickerIndex } = this let { pickerArr, pickerIndex } = this
let id = pickerArr[pickerIndex].id let id = pickerArr[pickerIndex].id
amountType(id).then(res => { amountType(id).then(res => {
let { type, need_amount, select_p } = res; let { type, need_amount, select_p, need_diff } = res;
this.needDiff = need_diff
this.pickertype = type this.pickertype = type
this.needAmount = need_amount this.needAmount = need_amount
console.log(select_p)
this.selectP = select_p || [] this.selectP = select_p || []
if(type == 'select'){ // if(type == 'select'){
this.settleInfo() // this.settleInfo()
} // }
}).catch(err => { }).catch(err => {
uni.showToast({ uni.showToast({
title: err.message, title: err.message,
@@ -140,9 +153,9 @@
// 提交表单 // 提交表单
onSubmit(){ onSubmit(){
let { name, phone, pickerIndex, price, priceValue, amount, pickerArr, pickertype, selectP, selectPIndex } = this let { name, phone, pickerIndex, price, priceValue, amount, pickerArr, pickertype, selectP, selectPIndex, diffPrice } = this
if(pickertype != 'free') { if(pickertype != 'free') {
if(amount === ''){ if(selectP.length <= 0 && amount === ''){
uni.showToast({ uni.showToast({
title: '请输入标的额', title: '请输入标的额',
icon : 'none' icon : 'none'
@@ -180,12 +193,15 @@
let params = { let params = {
big_id : pickerArr.length > 0 ? pickerArr[pickerIndex].id : this.$Route.query.bigFiveId, big_id : pickerArr.length > 0 ? pickerArr[pickerIndex].id : this.$Route.query.bigFiveId,
name : name, name : name,
amount : amount, amount : amount || 0,
mobile : phone, mobile : phone,
price : pickertype == 'free' ? priceValue : price, price : pickertype == 'free' ? priceValue : price,
select_key : selectP.length > 0 ? selectP[selectPIndex].key : '' select_key : selectP.length > 0 ? selectP[selectPIndex].key : '',
diff_price : diffPrice
} }
console.log(params)
bigfiveStore(params).then(res => { bigfiveStore(params).then(res => {
let { order_type, order_id, order_no } = res; let { order_type, order_id, order_no } = res;
this.$Router.replace({ this.$Router.replace({
@@ -229,6 +245,8 @@
padding: 15rpx 0; padding: 15rpx 0;
&:last-child{ border: none; } &:last-child{ border: none; }
label{ width: 200rpx; line-height: 70rpx; } label{ width: 200rpx; line-height: 70rpx; }
&.from-block-get{ padding-right: 200rpx; position: relative; }
.from-block-get-btn{ font-size: 32rpx; line-height: 100rpx; border-left:solid 1rpx #f3f3f3; color: $main-color; width: 170rpx; text-align: center; position: absolute; right: 0; top: 0; }
.from-block-val{ width: calc(100% - 200rpx); text-align: right; line-height: 70rpx; .from-block-val{ width: calc(100% - 200rpx); text-align: right; line-height: 70rpx;
&.price{ color: $main-color; font-weight: bold; } &.price{ color: $main-color; font-weight: bold; }
} }

View File

@@ -199,8 +199,6 @@
let order_type = this.$Route.query.orderType.replace(/\-/g, '\\') let order_type = this.$Route.query.orderType.replace(/\-/g, '\\')
oderinfo( this.$Route.query.orderId, order_type).then(res => { oderinfo( this.$Route.query.orderId, order_type).then(res => {
let { order_no, price, score, order_id, rate, total_fire, can_use_channel } = res let { order_no, price, score, order_id, rate, total_fire, can_use_channel } = res
this.rate = rate this.rate = rate
this.totalFire = total_fire this.totalFire = total_fire
this.orderType = order_type this.orderType = order_type

View File

@@ -9,15 +9,16 @@
<image class="cover" :src="userInfo.avatar || require('@/static/imgs/default-active.png')" mode="aspectFill"></image> <image class="cover" :src="userInfo.avatar || require('@/static/imgs/default-active.png')" mode="aspectFill"></image>
<view class="nickname">{{userInfo.nickname}}<text class="card" v-if="isManager">{{identity.name}}</text></view> <view class="nickname">{{userInfo.nickname}}<text class="card" v-if="isManager">{{identity.name}}</text></view>
</view> </view>
<view class="work-bar-add" @click="onCreateOrder" v-if="isManager"> <view class="work-bar-add" @click="onCreateOrder" v-if="isWorker">
<uni-icons class="icon" type="plusempty" size="30rpx" color="#111"></uni-icons>创建订单 <uni-icons class="icon" type="plusempty" size="30rpx" color="#111"></uni-icons>创建订单
</view> </view>
</view> </view>
</u-sticky> </u-sticky>
<!-- 未认证或未考试 --> <!-- ! -->
<block v-if="!isManager"> <!-- 工作台无权限 -->
<block v-if="!isWorker">
<view class="block open-interest"> <view class="block open-interest">
<view class="title">实习顾问专属权益</view> <view class="title">专属权益</view>
<view class="open-interest-flex"> <view class="open-interest-flex">
<view class="open-interest-item" v-for="(item, index) in rightsArr" :key="index" @click="onToast(item)"> <view class="open-interest-item" v-for="(item, index) in rightsArr" :key="index" @click="onToast(item)">
<image class="open-interest-icon" :src="item.icon"></image> <image class="open-interest-icon" :src="item.icon"></image>
@@ -25,7 +26,16 @@
</view> </view>
</view> </view>
</view> </view>
<view class="block open-interest"> <view class="block work-hint">
<u-empty
mode="permission"
icon="http://cdn.uviewui.com/uview/empty/permission.png"
:text="workerHint"
textColor="gray"
>
</u-empty>
</view>
<!-- <view class="block open-interest">
<view class="title">仅需3步即可成为实习顾问</view> <view class="title">仅需3步即可成为实习顾问</view>
<view class="open-interest-block"> <view class="open-interest-block">
<image class="open-interest-icon" :src="isCertification ? require('@/static/icons/work_icon_25.png'): require('@/static/icons/work_icon_24.png')"></image> <image class="open-interest-icon" :src="isCertification ? require('@/static/icons/work_icon_25.png'): require('@/static/icons/work_icon_24.png')"></image>
@@ -51,7 +61,7 @@
</view> </view>
<button class="open-interest-btn" size="mini" :disabled="sign.isSign" @click="onSign">{{sign.isSign ? '已签约': '去签约'}}</button> <button class="open-interest-btn" size="mini" :disabled="sign.isSign" @click="onSign">{{sign.isSign ? '已签约': '去签约'}}</button>
</view> </view>
</view> </view> -->
<!-- 提示信息 --> <!-- 提示信息 -->
<u-popup :show="privilegeShow" mode="center" bgColor="transparent"> <u-popup :show="privilegeShow" mode="center" bgColor="transparent">
<view class="privilege-lay"> <view class="privilege-lay">
@@ -64,7 +74,7 @@
</u-popup> </u-popup>
</block> </block>
<!-- 管理中台 --> <!-- 管理中台 -->
<view class="flex"> <view class="flex" v-else>
<view class="flex-item" @click="onNav('businessOrder', {bigId: item.id})" v-for="(item, index) in bigfiveArr" :key="index"> <view class="flex-item" @click="onNav('businessOrder', {bigId: item.id})" v-for="(item, index) in bigfiveArr" :key="index">
<image class="flex-icon" src="https://douhuo-demo.oss-cn-beijing.aliyuncs.com/images/2024/02/28/040906a765db310d77722cec9e0b9f46.png" mode="widthFix" v-if="index == 0"></image> <image class="flex-icon" src="https://douhuo-demo.oss-cn-beijing.aliyuncs.com/images/2024/02/28/040906a765db310d77722cec9e0b9f46.png" mode="widthFix" v-if="index == 0"></image>
<image class="flex-icon" src="https://douhuo-demo.oss-cn-beijing.aliyuncs.com/images/2024/02/28/e0ac4aae85290f1148cea0005ed523a7.png" mode="widthFix" v-else-if="index == 1"></image> <image class="flex-icon" src="https://douhuo-demo.oss-cn-beijing.aliyuncs.com/images/2024/02/28/e0ac4aae85290f1148cea0005ed523a7.png" mode="widthFix" v-else-if="index == 1"></image>
@@ -129,7 +139,10 @@
synthesisData : {}, synthesisData : {},
bigfiveArr : [], bigfiveArr : [],
captchaShow : false captchaShow : false,
// 工作台权限
isWorker : false,
workerHint : ""
}; };
}, },
onShow() { onShow() {
@@ -212,7 +225,7 @@
indexData = res[1], indexData = res[1],
synthesisData = res[2] synthesisData = res[2]
let { nickname, avatar, business_orders_count, isCertification, certification, isManager, isAnswer, identity, sign } = indexData let { nickname, avatar, business_orders_count, isCertification, certification, isManager, isAnswer, identity, sign, is_worker, no_worker_message } = indexData
this.rightsArr = rightsData this.rightsArr = rightsData
this.userInfo = { this.userInfo = {
nickname, nickname,
@@ -225,11 +238,13 @@
this.orderCount = business_orders_count this.orderCount = business_orders_count
this.identity = identity this.identity = identity
this.sign = sign this.sign = sign
this.synthesisData = synthesisData this.synthesisData = synthesisData
this.isWorker = is_worker
this.workerHint = no_worker_message
uni.hideLoading() uni.hideLoading()
}).catch(err => { }).catch(err => {
console.log(err)
uni.showToast({ uni.showToast({
title: err.message, title: err.message,
icon : 'none' icon : 'none'
@@ -294,6 +309,17 @@
.content{ .content{
padding-bottom: 30rpx; padding-bottom: 30rpx;
} }
// 权限提示
.work-hint{
height: 50vh;
padding: 30rpx;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
color: gray;
font-size: 30rpx;
}
// 登录提示 // 登录提示
.auth-null{ .auth-null{
height: 100vh; height: 100vh;