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

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",
"pagePath": "pages/index/index",
"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",
"selectedIconPath": "static/icons/tabs_show_02.png",

View File

@@ -43,12 +43,10 @@
}
},
onLoad() {
const parentData = JSON.parse(decodeURIComponent(this.$Route.query.children))
this.childrenArr = parentData
this.businessId = this.childrenArr[0].id
},
onShow() {
const parentData = JSON.parse(decodeURIComponent(this.$Route.query.children))
this.childrenArr = parentData
this.businessId = this.childrenArr[0].id
},
methods: {
// 选择业务类型
onBusiness(id){

View File

@@ -18,20 +18,7 @@
<u-icon class="from-block-picker-icon" name="arrow-down" color="#555" size="15"></u-icon>
</view>
</picker>
</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>
<view class="from-block-item">
<label>客户姓名</label>
<input class="from-block-val from-block-input" placeholder="请输入客户姓名" v-model="name" />
@@ -39,6 +26,23 @@
<view class="from-block-item">
<label>手机号码</label>
<input class="from-block-val from-block-input" type="number" placeholder="请输入客户手机号码" v-model="phone" maxlength="11" />
</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>
<button class="from-btn" @click="onSubmit">提交办理</button>
@@ -56,34 +60,35 @@
pickertype : '',
name : '',
phone : '',
price : '',
price : 0,
diffPrice : '',
priceValue : '',
amount : 0,
amount : '',
needAmount : 0,
needDiff : 0,
selectP : [],
selectPIndex: 0
};
},
onShow() {
onShow() {
const parentData = JSON.parse(decodeURIComponent(this.$Route.query.record))
this.needDiff = parentData.need_diff
this.needAmount = parentData.need_amount
this.pickerArr = parentData.child.data
this.pickertype = parentData.type
this.selectP = parentData.select_p || []
this.selectP = parentData.select_p || []
if(parentData.child.has){
this.amountTypeInfo()
}
},
methods: {
// 获取标的额
onKeyInput(e) {
this.amount = e.detail.value
this.settleInfo()
},
// 标的额比例计算
settleInfo() {
let { pickerArr, pickerIndex } = this
let id = pickerArr[pickerIndex].id
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 => {
this.price = res.price
}).catch(err => {
@@ -96,38 +101,46 @@
})
})
},
// 选择办理业务
pickerChange(e) {
this.pickerIndex = e.detail.value
// 获取三级分类服务费类型
this.amountTypeInfo();
// 清空表单数据
this.onClerFrom()
},
// 选择资费信息
pickerSelectChange(e){
this.selectPIndex = e.detail.value
this.settleInfo()
},
let { value } = e.detail
this.selectPIndex = value
// 清空表单数据
this.onClerFrom()
},
// 清空数据信息
onClerFrom(){
this.amount = ""
this.price = 0
this.priceValue = ""
this.name = ""
this.phone = ""
this.diffPrice = ""
},
// 三级分类服务费类型
amountTypeInfo() {
// this.$Route.query.bigFiveId
let { pickerArr, pickerIndex } = this
let id = pickerArr[pickerIndex].id
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.needAmount = need_amount
console.log(select_p)
this.selectP = select_p || []
if(type == 'select'){
this.settleInfo()
}
// if(type == 'select'){
// this.settleInfo()
// }
}).catch(err => {
uni.showToast({
title: err.message,
@@ -140,9 +153,9 @@
// 提交表单
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(amount === ''){
if(selectP.length <= 0 && amount === ''){
uni.showToast({
title: '请输入标的额',
icon : 'none'
@@ -180,11 +193,14 @@
let params = {
big_id : pickerArr.length > 0 ? pickerArr[pickerIndex].id : this.$Route.query.bigFiveId,
name : name,
amount : amount,
amount : amount || 0,
mobile : phone,
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 => {
let { order_type, order_id, order_no } = res;
@@ -229,6 +245,8 @@
padding: 15rpx 0;
&:last-child{ border: none; }
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;
&.price{ color: $main-color; font-weight: bold; }
}

View File

@@ -199,8 +199,6 @@
let order_type = this.$Route.query.orderType.replace(/\-/g, '\\')
oderinfo( this.$Route.query.orderId, order_type).then(res => {
let { order_no, price, score, order_id, rate, total_fire, can_use_channel } = res
this.rate = rate
this.totalFire = total_fire
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>
<view class="nickname">{{userInfo.nickname}}<text class="card" v-if="isManager">{{identity.name}}</text></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>创建订单
</view>
</view>
</u-sticky>
<!-- 未认证或未考试 -->
<block v-if="!isManager">
<!-- ! -->
<!-- 工作台无权限 -->
<block v-if="!isWorker">
<view class="block open-interest">
<view class="title">实习顾问专属权益</view>
<view class="title">专属权益</view>
<view class="open-interest-flex">
<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>
@@ -25,7 +26,16 @@
</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="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>
@@ -51,7 +61,7 @@
</view>
<button class="open-interest-btn" size="mini" :disabled="sign.isSign" @click="onSign">{{sign.isSign ? '已签约': '去签约'}}</button>
</view>
</view>
</view> -->
<!-- 提示信息 -->
<u-popup :show="privilegeShow" mode="center" bgColor="transparent">
<view class="privilege-lay">
@@ -64,7 +74,7 @@
</u-popup>
</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">
<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>
@@ -129,7 +139,10 @@
synthesisData : {},
bigfiveArr : [],
captchaShow : false
captchaShow : false,
// 工作台权限
isWorker : false,
workerHint : ""
};
},
onShow() {
@@ -212,7 +225,7 @@
indexData = res[1],
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.userInfo = {
nickname,
@@ -225,11 +238,13 @@
this.orderCount = business_orders_count
this.identity = identity
this.sign = sign
this.synthesisData = synthesisData
this.isWorker = is_worker
this.workerHint = no_worker_message
uni.hideLoading()
}).catch(err => {
console.log(err)
uni.showToast({
title: err.message,
icon : 'none'
@@ -294,6 +309,17 @@
.content{
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{
height: 100vh;