202 lines
5.7 KiB
Vue
202 lines
5.7 KiB
Vue
<template>
|
||
<view>
|
||
<!-- 模态框 -->
|
||
<view class="cu-modal" :class="show?'show':''">
|
||
<view class="cu-dialog">
|
||
<view class="padding-xl" style="text-align: left;" v-if="data.orderDetailId">
|
||
<view class="text-bold text-lg margin-bottom-sm">本订单属全程保险保障订单</view>
|
||
<view class="text-red" style="padding-bottom: 10rpx;">本单所有同行人员 (师傅/徒弟/随行),未在系统有账号的接单人员均需填写保险承保信息!
|
||
</view>
|
||
|
||
<view class="oneStaff solid-top" v-for="item in showList" :key="item.phone">
|
||
<view class="oneLine">
|
||
<view>
|
||
<text>同行人员姓名:</text>
|
||
<view style="margin-top: 10rpx">
|
||
{{item.name}}
|
||
</view>
|
||
</view>
|
||
<view>
|
||
<text>同行人员联系号码:</text>
|
||
<view style="margin-top: 10rpx">
|
||
{{item.phone}}
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view style="padding-top: 10rpx;">
|
||
<text>身份证号码:</text>
|
||
<view style="margin-top: 10rpx">
|
||
{{item.idCardNum}}
|
||
</view>
|
||
</view>
|
||
<view class="tag">保险已生效</view>
|
||
</view>
|
||
|
||
<view class="oneStaff solid-top">
|
||
<view class="oneLine">
|
||
<view>
|
||
<text>同行人员姓名:</text>
|
||
<view style="margin-top: 10rpx">
|
||
<input class="radius-input inline-input" type="text" placeholder="输入真实姓名"
|
||
v-model="oneData.name">
|
||
</view>
|
||
</view>
|
||
<view>
|
||
<text>同行人员联系号码:</text>
|
||
<view style="margin-top: 10rpx">
|
||
<input class="radius-input inline-input" type="text" placeholder="必须本人号码"
|
||
v-model="oneData.phone">
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view style="padding-top: 10rpx;">
|
||
<text>身份证号码:</text>
|
||
<view style="margin-top: 10rpx">
|
||
<input class="radius-input inline-input" type="text" placeholder="请输入身份证号码并反复确认无误"
|
||
v-model="oneData.idCardNum">
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view style="text-align: center;padding: 10rpx 0;">
|
||
<text class="text-main-color" @click="submitAdd">添加同行人员+</text>
|
||
</view>
|
||
<view style="padding-top: 20rpx;">
|
||
<checkbox style="transform:scale(0.6)" class="main-color" :checked="true" disabled>
|
||
</checkbox>
|
||
<text class="margin-left-xs">
|
||
<text class="text-red">未录入者/与订单无关者,一律不得上门。根据法律法规以上资料必须实真有效且无误方能被保险承保。</text>
|
||
</text>
|
||
</view>
|
||
</view>
|
||
|
||
<view class="padding-xl" style="text-align: left;" v-else>
|
||
<view class="text-bold text-lg margin-bottom-sm">本订单属全程保险保障订单</view>
|
||
<view>本订单指定全程保险,但凡有随行人员均需录入增员信息,以纳入保险承保。排单后请在“待上门”或“进行中”状态点“保险增员”按键操作;订单指派下级人员的,下级接单人员亦可同样操作。</view>
|
||
</view>
|
||
<view class="cu-bar bg-white solid-top">
|
||
<view class="action margin-0 flex-sub text-main-color"
|
||
data-modal="showAcceptOrderNoticeModal" @click="hideModal">退出页面</view>
|
||
<!-- <view v-else class="action margin-0 flex-sub text-main-color"
|
||
data-modal="showAcceptOrderNoticeModal" @click="hideModal">我已知晓</view> -->
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
import validRule from '@/common/js/validate.js'
|
||
export default {
|
||
name: 'acceptOrderNotice',
|
||
emits: ['close'],
|
||
props: {
|
||
show: {
|
||
type: Boolean,
|
||
default: false
|
||
},
|
||
data: {
|
||
type: Object,
|
||
default: () => {}
|
||
}
|
||
},
|
||
data() {
|
||
return {
|
||
oneData: {
|
||
name: "",
|
||
phone: "",
|
||
idCardNum: ""
|
||
},
|
||
showList: []
|
||
}
|
||
},
|
||
methods: {
|
||
hideModal() {
|
||
this.$emit('close');
|
||
},
|
||
async initData() {
|
||
let res = await this.$request.insuranceUserList({
|
||
orderDetailId: this.data.orderDetailId
|
||
})
|
||
this.showList = res.rows
|
||
},
|
||
async submitAdd() {
|
||
if (!this.oneData.name) {
|
||
uni.showToast({
|
||
title: '请输入姓名',
|
||
icon: 'none',
|
||
duration: 2000
|
||
})
|
||
return
|
||
}
|
||
if (!validRule.validPhone(this.oneData.phone)) {
|
||
uni.showToast({
|
||
title: '请输入手机号码',
|
||
icon: 'none',
|
||
duration: 2000
|
||
})
|
||
return
|
||
}
|
||
if (!validRule.validIdCard(this.oneData.idCardNum)) {
|
||
uni.showToast({
|
||
title: '请输入正确的身份证号码',
|
||
icon: 'none',
|
||
duration: 2000
|
||
})
|
||
return
|
||
}
|
||
uni.showToast({
|
||
title: '保险生成中,可能需要几秒或最多三分钟,请等待!', // 要显示的文字
|
||
icon: 'none', // 设置图标为'none',只显示文字
|
||
duration: 10 * 60 * 1000,
|
||
});
|
||
// 510121198705063377
|
||
const res = await this.$request.insuranceUserAdd({
|
||
...this.oneData,
|
||
orderDetailId: this.data.orderDetailId
|
||
})
|
||
if (res.code === 0) {
|
||
uni.showToast({
|
||
title: '增员完毕,保险已生效',
|
||
icon: 'none',
|
||
duration: 2000
|
||
})
|
||
this.initData()
|
||
this.oneData = {
|
||
name: "",
|
||
phone: "",
|
||
idCardNum: ""
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style scoped>
|
||
.oneStaff {
|
||
padding: 20rpx 0;
|
||
position: relative;
|
||
}
|
||
|
||
.oneStaff .tag {
|
||
position: absolute;
|
||
right: 0;
|
||
bottom: 20rpx;
|
||
color: #0081ff;
|
||
}
|
||
|
||
.oneLine {
|
||
display: flex;
|
||
flex-direction: row;
|
||
gap: 10px;
|
||
}
|
||
|
||
.oneLine>view {
|
||
flex: 1;
|
||
}
|
||
|
||
.oneLine text {
|
||
padding-bottom: 10rpx;
|
||
}
|
||
</style>
|