|
|
@@ -94,12 +94,12 @@
|
|
|
</van-swipe-cell>
|
|
|
</div>
|
|
|
|
|
|
-
|
|
|
<!-- 添加人员信息 -->
|
|
|
<div class="card" v-show="checked">
|
|
|
<van-cell title="人员信息">
|
|
|
<template #right-icon>
|
|
|
- <van-button type="primary" icon="plus" size="mini" @click="onAdd">添加</van-button>
|
|
|
+ <van-button type="primary" v-if="isAdd" icon="plus" size="mini" @click="onAdd">添加</van-button>
|
|
|
+ <van-button type="info" v-else icon="edit" size="mini" @click="onEdit">确认</van-button>
|
|
|
</template>
|
|
|
</van-cell>
|
|
|
<div class="panel-box">
|
|
|
@@ -136,6 +136,7 @@
|
|
|
<span><i>*</i> 证件上传</span>
|
|
|
<uploader :maxCount="2" v-model="personnel.imgFile"/>
|
|
|
</div>
|
|
|
+ <p class="tip-text" >注:证件号码将作为唯一识别码</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="big-btn-box" >
|
|
|
@@ -193,6 +194,7 @@ export default {
|
|
|
imgFile:[],
|
|
|
},
|
|
|
pList:[],
|
|
|
+ isAdd:true,
|
|
|
showPicker:false,
|
|
|
openCalendar:false,
|
|
|
prop:{
|
|
|
@@ -272,11 +274,13 @@ export default {
|
|
|
user.imgFile = urlArr.join(',');
|
|
|
return user
|
|
|
})
|
|
|
- alert(JSON.stringify(data))
|
|
|
+ // alert(JSON.stringify(data))
|
|
|
visitAdd(data).then(res=>{
|
|
|
this.$toast.success('提交成功');
|
|
|
this.$router.replace({
|
|
|
+ name:'visitRegister',
|
|
|
path:'/visitRegister',
|
|
|
+ params:{event:'refresh'},
|
|
|
});
|
|
|
})
|
|
|
},
|
|
|
@@ -284,30 +288,59 @@ export default {
|
|
|
console.log('failed', errorInfo);
|
|
|
},
|
|
|
getDate(date){
|
|
|
- console.log(date,'date');
|
|
|
const [start, end] = date;
|
|
|
this.formData.range = date;
|
|
|
this.formData.date = `${start} ~ ${end}`;
|
|
|
- console.log( this.formData.date,'date');
|
|
|
},
|
|
|
showCalendar(){
|
|
|
this.$refs.CalendarPicker.show = true;
|
|
|
},
|
|
|
editPerson(v,i){
|
|
|
- console.log(v,'vvvvv');
|
|
|
this.checked = true;
|
|
|
+ this.isAdd = false;
|
|
|
this.personnel = JSON.parse(JSON.stringify(v));
|
|
|
},
|
|
|
deletePerson(v,i){
|
|
|
- console.log(v,'vvvvv')
|
|
|
this.pList.splice(i,1);
|
|
|
},
|
|
|
+ onEdit(){
|
|
|
+ if(!this.personnel.userName || !this.personnel.idCard || !this.personnel.companyName || !this.personnel.imgFile){
|
|
|
+ this.$toast('请完善人员信息');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if(this.personnel.imgFile.length < 2) {
|
|
|
+ this.$toast('请上传证件照正反面');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ let strObj = JSON.parse(JSON.stringify(this.personnel));
|
|
|
+ let index = this.pList.findIndex(v=>{return v.idCard === strObj.idCard});
|
|
|
+ this.pList.splice(index,1,strObj);
|
|
|
+ this.personnel = {
|
|
|
+ userName:null,
|
|
|
+ idCard:null,
|
|
|
+ companyName:null,
|
|
|
+ imgFile:[],
|
|
|
+ };
|
|
|
+ this.isAdd = true;
|
|
|
+ },
|
|
|
onAdd(){
|
|
|
- // this.personnel.imgFile = [{
|
|
|
- // url:'askjdkajsdjajkdsa',
|
|
|
- // imgPath:'asjkdklaslkdasdlasld',
|
|
|
- // name:'asdasdasd'
|
|
|
- // }]
|
|
|
+ //测试模拟
|
|
|
+ // if(!this.personnel.idCard){
|
|
|
+ // this.personnel.imgFile = [{
|
|
|
+ // url:'askjdkajsdjajkdsa',
|
|
|
+ // imgPath:'asjkdklaslkdasdlasld',
|
|
|
+ // name:'asdasdasd'
|
|
|
+ // },
|
|
|
+ // {
|
|
|
+ // url:'asdaaskjdkajsdjajkdsa',
|
|
|
+ // imgPath:'dsaasjkdklaslkdasdlasld',
|
|
|
+ // name:'asdasdasd'
|
|
|
+ // }
|
|
|
+ // ];
|
|
|
+ // this.personnel.userName = '张三';
|
|
|
+ // this.personnel.idCard = '123456789012345678'
|
|
|
+ // this.personnel.companyName = '测试单位';
|
|
|
+ // }
|
|
|
if(!this.personnel.userName || !this.personnel.idCard || !this.personnel.companyName || !this.personnel.imgFile){
|
|
|
this.$toast('请完善人员信息');
|
|
|
return;
|
|
|
@@ -317,6 +350,12 @@ export default {
|
|
|
return;
|
|
|
}
|
|
|
let strObj = JSON.parse(JSON.stringify(this.personnel));
|
|
|
+ //判断是否已添加
|
|
|
+ let flag = this.pList.some(v=> {return v.idCard === strObj.idCard});
|
|
|
+ if(flag) {
|
|
|
+ this.$toast('该人员信息已添加');
|
|
|
+ return;
|
|
|
+ };
|
|
|
this.pList.push(strObj);
|
|
|
this.personnel = {
|
|
|
userName:null,
|
|
|
@@ -336,10 +375,15 @@ export default {
|
|
|
cancelPicker(){
|
|
|
this.showPicker = false;
|
|
|
},
|
|
|
- preView(imgs) {
|
|
|
- let arr = imgs.map(v=>{return v.imgPath});
|
|
|
- console.log(arr,'imgs')
|
|
|
- ImagePreview(arr)
|
|
|
+ preView(val) {
|
|
|
+ if(Array.isArray(val)){
|
|
|
+ let arr = val.map(v=>{
|
|
|
+ return imgUrl(v.imgPath);
|
|
|
+ })
|
|
|
+ ImagePreview(arr);
|
|
|
+ }else {
|
|
|
+ ImagePreview([imgUrl(val)]);
|
|
|
+ }
|
|
|
},
|
|
|
}
|
|
|
}
|
|
|
@@ -446,6 +490,11 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+.tip-text{
|
|
|
+ line-height: 60px;
|
|
|
+ color:red;
|
|
|
+ background-color: #fff;
|
|
|
+}
|
|
|
.big-btn-box{
|
|
|
padding-bottom: 20px;
|
|
|
}
|