|
|
@@ -76,8 +76,7 @@
|
|
|
<van-cell required title="添加人员">
|
|
|
<template #right-icon>
|
|
|
<div class="flex-box">
|
|
|
- <span style="color: #aaa;"></span>
|
|
|
- <van-switch size="20px" v-model="checked" />
|
|
|
+ <van-button type="info" size="mini" @click="openPicker">点击添加</van-button>
|
|
|
</div>
|
|
|
</template>
|
|
|
</van-cell>
|
|
|
@@ -108,49 +107,74 @@
|
|
|
</van-swipe-cell>
|
|
|
</div>
|
|
|
|
|
|
+ <div class="big-btn-box" >
|
|
|
+ <van-button type="info" size="large" @click="onSubmit">提交申请</van-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+<!-- <van-calendar-->
|
|
|
+<!-- v-model="showCalendar"-->
|
|
|
+<!-- :allow-same-day="true"-->
|
|
|
+<!-- type="range"-->
|
|
|
+<!-- :show-confirm="false"-->
|
|
|
+<!-- @confirm="onConfirm"/>-->
|
|
|
+ <calendar-picker ref="CalendarPicker" @change="getDate"></calendar-picker>
|
|
|
+ <org-picker
|
|
|
+ :show="showPicker"
|
|
|
+ @cancel="cancelPicker"
|
|
|
+ @confirm="changeOrg">
|
|
|
+ </org-picker>
|
|
|
+
|
|
|
+ <!-- 添加人员弹窗 -->
|
|
|
+ <van-popup
|
|
|
+ class="add-picker"
|
|
|
+ v-model="showAddPicker"
|
|
|
+ :close-on-click-overlay="false"
|
|
|
+ position="top">
|
|
|
+
|
|
|
+
|
|
|
<!-- 添加人员信息 -->
|
|
|
- <div class="card" v-show="checked">
|
|
|
- <van-cell title="人员信息">
|
|
|
- <template #right-icon>
|
|
|
- <van-button type="info" 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="card" >
|
|
|
+<!-- <van-cell title="人员信息">-->
|
|
|
+<!-- <template #right-icon>-->
|
|
|
+<!-- <van-button type="info" 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">
|
|
|
<van-form validate-first @failed="onFailed">
|
|
|
<van-field
|
|
|
- required
|
|
|
- v-model="personnel.companyName"
|
|
|
- rows="1"
|
|
|
- autosize
|
|
|
- :maxlength="20"
|
|
|
- label="来访单位"
|
|
|
- :rules="[{ pattern:/^(.+)$/, message: '请输入' }]"
|
|
|
- placeholder="请输入"/>
|
|
|
+ required
|
|
|
+ v-model="personnel.companyName"
|
|
|
+ rows="1"
|
|
|
+ autosize
|
|
|
+ :maxlength="20"
|
|
|
+ label="来访单位"
|
|
|
+ :rules="[{ pattern:/^(.+)$/, message: '请输入' }]"
|
|
|
+ placeholder="请输入"/>
|
|
|
<van-field
|
|
|
- required
|
|
|
- v-model="personnel.userName"
|
|
|
- rows="1"
|
|
|
- autosize
|
|
|
- :maxlength="20"
|
|
|
- label="出入人员"
|
|
|
- :rules="[{ pattern:/^(.+)$/, message: '请输入' }]"
|
|
|
- placeholder="请输入"/>
|
|
|
+ required
|
|
|
+ v-model="personnel.userName"
|
|
|
+ rows="1"
|
|
|
+ autosize
|
|
|
+ :maxlength="20"
|
|
|
+ label="出入人员"
|
|
|
+ :rules="[{ pattern:/^(.+)$/, message: '请输入' }]"
|
|
|
+ placeholder="请输入"/>
|
|
|
<select-cell
|
|
|
- title="证件类型"
|
|
|
- is-row
|
|
|
- v-model="personnel.idType"
|
|
|
- :data-list="getDictItem('letter_id_type')"
|
|
|
- required>
|
|
|
+ title="证件类型"
|
|
|
+ is-row
|
|
|
+ v-model="personnel.idType"
|
|
|
+ :data-list="getDictItem('letter_id_type')"
|
|
|
+ required>
|
|
|
</select-cell>
|
|
|
<van-field
|
|
|
- required
|
|
|
- v-model="personnel.idCard"
|
|
|
- rows="1"
|
|
|
- autosize
|
|
|
- :maxlength="20"
|
|
|
- label="证件号码"
|
|
|
- placeholder="请输入"/>
|
|
|
+ required
|
|
|
+ v-model="personnel.idCard"
|
|
|
+ rows="1"
|
|
|
+ autosize
|
|
|
+ :maxlength="20"
|
|
|
+ label="证件号码"
|
|
|
+ placeholder="请输入"/>
|
|
|
</van-form>
|
|
|
<div class="upload-box" >
|
|
|
<span class="required">上传证件照</span>
|
|
|
@@ -160,23 +184,18 @@
|
|
|
</div>
|
|
|
<p class="tip-text" >注:证件号码将作为唯一识别码</p>
|
|
|
</div>
|
|
|
+
|
|
|
+ <div class="header-line">
|
|
|
+ <div class="cancel" @click="onCancel">取消</div>
|
|
|
+<!-- <div class="title">添加人员</div>-->
|
|
|
+ <div v-if="isAdd" class="sure" @click="onAdd">添加</div>
|
|
|
+ <div v-else class="sure" @click="onEdit">确定</div>
|
|
|
+ </div>
|
|
|
+
|
|
|
</div>
|
|
|
- <div class="big-btn-box" >
|
|
|
- <van-button type="info" size="large" @click="onSubmit">提交申请</van-button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-<!-- <van-calendar-->
|
|
|
-<!-- v-model="showCalendar"-->
|
|
|
-<!-- :allow-same-day="true"-->
|
|
|
-<!-- type="range"-->
|
|
|
-<!-- :show-confirm="false"-->
|
|
|
-<!-- @confirm="onConfirm"/>-->
|
|
|
- <calendar-picker ref="CalendarPicker" @change="getDate"></calendar-picker>
|
|
|
- <org-picker
|
|
|
- :show="showPicker"
|
|
|
- @cancel="cancelPicker"
|
|
|
- @confirm="changeOrg">
|
|
|
- </org-picker>
|
|
|
+
|
|
|
+
|
|
|
+ </van-popup>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
@@ -234,7 +253,8 @@ export default {
|
|
|
value:3
|
|
|
}
|
|
|
],
|
|
|
- dicts:['letter_id_type']
|
|
|
+ dicts:['letter_id_type'],
|
|
|
+ showAddPicker:false,
|
|
|
}
|
|
|
},
|
|
|
computed:{
|
|
|
@@ -242,6 +262,19 @@ export default {
|
|
|
},
|
|
|
methods:{
|
|
|
imgUrl,formatDate,
|
|
|
+ onCancel() {
|
|
|
+ this.showAddPicker = false;
|
|
|
+ },
|
|
|
+ onConfirm() {
|
|
|
+ if(!this.selected.length){
|
|
|
+ this.$toast('请选择')
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ this.showAddPicker = false;
|
|
|
+ },
|
|
|
+ openPicker(){
|
|
|
+ this.showAddPicker = true;
|
|
|
+ },
|
|
|
changeType(){
|
|
|
this.formData.startTime = dayjs(new Date()).format('YYYY-MM-DD');
|
|
|
this.formData.effectiveDays = 1;
|
|
|
@@ -346,7 +379,7 @@ export default {
|
|
|
this.$refs.CalendarPicker.show = true;
|
|
|
},
|
|
|
editPerson(v,i){
|
|
|
- this.checked = true;
|
|
|
+ this.showAddPicker = true;
|
|
|
this.isAdd = false;
|
|
|
this.personnel = JSON.parse(JSON.stringify(v));
|
|
|
},
|
|
|
@@ -369,6 +402,7 @@ export default {
|
|
|
imgFile:[],
|
|
|
};
|
|
|
this.isAdd = true;
|
|
|
+ this.showAddPicker = false;
|
|
|
},
|
|
|
onAdd(){
|
|
|
//测试模拟
|
|
|
@@ -408,6 +442,7 @@ export default {
|
|
|
idCard:null,
|
|
|
imgFile:[],
|
|
|
};
|
|
|
+ this.showAddPicker = false;
|
|
|
},
|
|
|
showOrg(){
|
|
|
this.showPicker = true;
|
|
|
@@ -540,4 +575,41 @@ export default {
|
|
|
.big-btn-box{
|
|
|
padding-bottom: 20px;
|
|
|
}
|
|
|
+.add-picker{
|
|
|
+ .header-line {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: center;
|
|
|
+ height: 90px;
|
|
|
+ }
|
|
|
+ .header-line .cancel {
|
|
|
+ padding: 0 30px;
|
|
|
+ font-size: 28px;
|
|
|
+ color: #969799;
|
|
|
+ }
|
|
|
+ .header-line .title {
|
|
|
+ font-weight: 500;
|
|
|
+ font-size: 30px;
|
|
|
+ color: #343434;
|
|
|
+ }
|
|
|
+ .header-line .sure {
|
|
|
+ padding: 0 30px;
|
|
|
+ font-size: 28px;
|
|
|
+ color: #1989fa;
|
|
|
+ }
|
|
|
+ .lists {
|
|
|
+ padding: 10px 20px 20px 20px;
|
|
|
+ min-height: 300px;
|
|
|
+ max-height: 700px;
|
|
|
+ overflow: auto;
|
|
|
+ touch-action: pan-y;
|
|
|
+ }
|
|
|
+ .tip {
|
|
|
+ color: #666;
|
|
|
+ padding-bottom: 5px;
|
|
|
+ }
|
|
|
+ .van-empty{
|
|
|
+ padding: 0;
|
|
|
+ }
|
|
|
+}
|
|
|
</style>
|