Files
supplier-dispatch-h5/src/views/index/driverAdd.vue

213 lines
5.8 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div class="wrap">
<div class="navBar">
<van-nav-bar
:title="id ? '修改司机信息' : '添加司机'"
left-arrow
left-arrow-color="#FFFFFF"
:border="false"
:fixed="true"
:safe-area-inset-top="true"
@click-left="h5GoBack"
/>
</div>
<cell-group label="司机姓名" placeholder="请输入司机姓名" v-model="driverName" :disabled="supplierType ==1 ? true:false"/>
<cell-group label="手机号码" v-model="driverPhone" placeholder="请输入手机号" />
<p v-if="phoneNumberError" class="error-message">{{ phoneNumberErrorMessage }}</p>
<cell-group label="身份证号" v-model="identityCardNumber" placeholder="请输入身份证号" />
<div class="itemContent">
<div class="titleType">
<img class="startImg" src="@/assets/start.png" />
<span>准驾车型</span>
</div>
<select id="mySelect" v-model="drivingModel" class="chosen-select" style="width: 44px">
<option value="A1">A1</option>
<option value="A2">A2</option>
<option value="A3">A3</option>
<option value="B1">B1</option>
<option value="B2">B2</option>
<option value="C1">C1</option>
<option value="C2">C2</option>
</select>
</div>
<div class="lineBot"></div>
<div class="itemContent">
<div class="titleType">
<img class="startImg" src="@/assets/start.png" />
<span>司机状态</span>
</div>
<div class="isJoin">
<van-radio-group v-model="states" @change="isUse" class="joinWrap">
<van-radio :name="1" style="margin-right: 26px" class="item">
启用
<img
slot="icon"
slot-scope="props"
:src="props.checked ? activeIcon : inactiveIcon"
>
</van-radio>
<van-radio :name="0" class="item">
停用
<img
slot="icon"
slot-scope="props"
:src="props.checked ? activeIcon : inactiveIcon"
>
</van-radio>
</van-radio-group>
</div>
</div>
<div class="lineBot"></div>
<two-common-btn class="btn" @cancelClick="cancelBtn" @submitClick="submitBtn" />
</div>
</template>
<script>
import {myMixins} from "@/utils/myMixins"
// import {timeFormat} from "@/utils/common"
import {saveDriver} from "@/api/mine"
import TwoCommonBtn from "@/components/twoBtnCommon.vue"
import CellGroup from "@/components/cellGroup.vue"
export default {
name: "driverAdd",
mixins:[myMixins],
data(){
return{
id:'',
driverName:"",
driverPhone:"",
identityCardNumber:"",
drivingModel:'',
states:'',
activeIcon: require('@/assets/check.png'),
inactiveIcon: require('@/assets/uncheck.png'),
phoneNumberError: false,
phoneNumberErrorMessage: '',
supplierType:'',
createTime:''
}
},
mounted() {
this.id = this.$route.params?.id;
this.driverName = this.$route.params?.name;
this.driverPhone = this.$route.params?.phone;
this.drivingModel = this.$route.params?.drivingModel;
this.identityCardNumber = this.$route.params?.identityCardNumber;
this.states = this.$route.params?.states;
this.supplierType=this.$route.params?.supplierType;
this.createTime=this.$route.params?.createTime;
console.log(this.driverName,this.driverPhone,this.drivingModel,this.identityCardNumber,this.states)
const selectElement = document.getElementById('mySelect');
selectElement.addEventListener('change', function() {
const selectedValue = selectElement.value;
this.drivingModel=selectedValue
});
},
methods:{
isUse(e){
this.states=e
},
async submitBtn(){
// if (this.driverName || this.driverPhone || this.identityCardNumber || this.drivingModel || this.states){
// this.$toast('必填字段未填写')
// }else{
await saveDriver({
driverId:this.id ? this.id : '',
driverName:this.driverName ,
driverPhone:this.driverPhone,
identityCardNumber:this.identityCardNumber,
drivingModel:this.drivingModel,
states:Number(this.states),
createTime:this.createTime || ''
})
if(this.id){
this.$toast('修改成功')
}else{
this.$toast('添加成功')
}
setTimeout(()=>{
this.$router.back();
},2000)
// }
},
cancelBtn(){//取消
this.$router.back()
},
// @blurIn="validatePhoneNumber"
// validatePhoneNumber() {
// const phoneNumberRegex = /^1[0-9]{10}$/;
// if (!phoneNumberRegex.test(this.driverPhone)) {
// this.phoneNumberError = true;
// this.phoneNumberErrorMessage = '电话号码格式不正确请输入有效的11位手机号码。';
// } else {
// this.phoneNumberError = false;
// this.phoneNumberErrorMessage = '';
// }
// }
},
components:{
TwoCommonBtn,
CellGroup
}
}
</script>
<style scoped lang="scss">
@import "@/styles/mixin.scss";
@import "@/styles/common.scss";
.error-message {
color: red;
}
.wrap{
@include wh(100%,100%);
box-sizing: border-box;
padding-left: 16px;
}
.navBar{
//height: 46px;
margin-bottom: 46px;
}
.itemContent{
@include flexColBet;
line-height: 56px;
box-sizing: border-box;
padding-right: 25px;
.titleType{
@include fontWeightSize(bold,14px);
color: #323643;
}
.isJoin{
display: flex;
.joinWrap, .item{
@include flexCenter;
}
img{
@include widHeiMar(16px,16px,6px)
}
}
.startImg{
@include widHeiMar(6px,6px,3px);
vertical-align: super;
}
input{
border: none;
text-align: right;
@include fontWeightSize(bold,13px);
opacity: .5;
}
}
.lineBot{
@include wh(100%,1px);
background: #E9E9EA;
opacity: 0.6;
}
.btn{
margin-left: 8px;
width: 91%;
position: fixed;
bottom: 30px;
}
</style>