|
|
@@ -19,22 +19,29 @@
|
|
|
title="出入人员"
|
|
|
:prop="prop"
|
|
|
is-row
|
|
|
- v-model="selectedUser"
|
|
|
+ @itemInfo="getItemInfo"
|
|
|
+ v-model="selectedUser.id"
|
|
|
:data-list="userList"
|
|
|
required>
|
|
|
</select-cell>
|
|
|
- <van-cell title="证件号码" :value="getDictLabel(visitInfo.type,'out_in_type')"></van-cell>
|
|
|
- <van-cell title="证件照" :value="visitInfo.orgName"></van-cell>
|
|
|
- <van-cell title="单位" :value="visitInfo.reasons"></van-cell>
|
|
|
- <van-cell title="来访事由" :value="visitInfo.startTimeStr"></van-cell>
|
|
|
- <van-cell title="出入类型" :value="visitInfo.orgName"></van-cell>
|
|
|
- <van-cell title="陪同人员" :value="visitInfo.orgName"></van-cell>
|
|
|
+ <van-cell title="证件号码" :value="selectedUser.idCard"></van-cell>
|
|
|
+ <van-cell title="单位" :value="selectedUser.companyName"></van-cell>
|
|
|
+ <van-cell title="来访事由" :value="selectedUser.reasons"></van-cell>
|
|
|
+ <van-cell title="出入类型" :value="getDictLabel(selectedUser.type,'out_in_type')"></van-cell>
|
|
|
+ <van-field
|
|
|
+ v-model="formData.description"
|
|
|
+ required
|
|
|
+ rows="1"
|
|
|
+ autosize
|
|
|
+ :maxlength="200"
|
|
|
+ placeholder="请输入"
|
|
|
+ label="陪同人员"></van-field>
|
|
|
<div class="upload-box">
|
|
|
<span>证件照</span>
|
|
|
- <van-cell v-if="visitInfo.letterFile">
|
|
|
+ <van-cell v-if="selectedUser.imgFile && selectedUser.imgFile.length > 0">
|
|
|
<div
|
|
|
class="nfc-img van-hairline--surround"
|
|
|
- v-for="(v, i) in visitInfo.letterFile"
|
|
|
+ v-for="(v, i) in selectedUser.letterFile"
|
|
|
:key="v.imgPath"
|
|
|
@click="preView(v.imgPath)">
|
|
|
<img :src="imgUrl(v.imgPath)" alt="" />
|
|
|
@@ -43,32 +50,27 @@
|
|
|
</div>
|
|
|
<div class="upload-box">
|
|
|
<span>介绍信</span>
|
|
|
- <van-cell v-if="visitInfo.letterFile">
|
|
|
+ <van-cell v-if="selectedUser.letterFile && selectedUser.letterFile.length > 0">
|
|
|
<div
|
|
|
class="nfc-img van-hairline--surround"
|
|
|
- v-for="(v, i) in visitInfo.letterFile"
|
|
|
+ v-for="(v, i) in selectedUser.letterFile"
|
|
|
:key="v.imgPath"
|
|
|
@click="preView(v.imgPath)">
|
|
|
<img :src="imgUrl(v.imgPath)" alt="" />
|
|
|
</div>
|
|
|
</van-cell>
|
|
|
</div>
|
|
|
+ <div class="upload-box" >
|
|
|
+ <span class="required">核验结果</span>
|
|
|
+ <uploader :maxCount="2" v-model="formData.checkImage"/>
|
|
|
+ </div>
|
|
|
+ <date-cell title="到达时间" v-model="formData.arrivalTime" date-type="datetime" />
|
|
|
+ <date-cell title="离开时间" v-model="formData.departureTime" date-type="datetime" />
|
|
|
</div>
|
|
|
- </van-panel>
|
|
|
- </div>
|
|
|
-
|
|
|
- <!-- 人员列表 -->
|
|
|
- <div class="card" v-for="(v,i) in userInfos" :key="i">
|
|
|
- <div class="goods-card">
|
|
|
- <div class="card-img-box" v-if="v.imgFile && v.imgFile.length > 0" @click="preView(v.imgFile)">
|
|
|
- <img :src="imgUrl(v.imgFile[0])" alt="">
|
|
|
- </div>
|
|
|
- <div class="card-cell-box">
|
|
|
- <van-cell title="出入人员" :value="v.userName"></van-cell>
|
|
|
- <van-cell title="身份证" :value="v.idCard"></van-cell>
|
|
|
- <van-cell title="单位" :value="v.companyName"></van-cell>
|
|
|
+ <div class="big-btn-box" >
|
|
|
+ <van-button type="info" size="large" @click="onSubmit">提交申请</van-button>
|
|
|
</div>
|
|
|
- </div>
|
|
|
+ </van-panel>
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
@@ -83,25 +85,26 @@ import {formatDate} from "@/filters/filter";
|
|
|
import {mapGetters} from "vuex";
|
|
|
import {imgUrl} from "@/utils";
|
|
|
import { ImagePreview } from 'vant'
|
|
|
-import {userList} from './api'
|
|
|
+import {userList, userRegister} from './api'
|
|
|
export default {
|
|
|
components: {Uploader, DateCell},
|
|
|
data(){
|
|
|
return {
|
|
|
visitId:null,
|
|
|
- activeNames:['1'],
|
|
|
- visitInfo: {},
|
|
|
- userInfos:[],
|
|
|
userList:[],
|
|
|
selectedUser:{},
|
|
|
prop:{
|
|
|
label:'userName',
|
|
|
value:'id'
|
|
|
},
|
|
|
- reformData: {
|
|
|
- reformDate: null,
|
|
|
- description: null,
|
|
|
- images: null,
|
|
|
+ formData:{
|
|
|
+ orgId:null,
|
|
|
+ letterId:null,
|
|
|
+ letterUserId:null,
|
|
|
+ arrivalTime:null,
|
|
|
+ departureTime:null,
|
|
|
+ accompanyingPerson:null,
|
|
|
+ checkImage:null,
|
|
|
},
|
|
|
dicts:['out_in_approve_status','out_in_type']
|
|
|
}
|
|
|
@@ -115,6 +118,27 @@ export default {
|
|
|
},
|
|
|
methods:{
|
|
|
imgUrl,formatDate,
|
|
|
+ onSubmit(){
|
|
|
+ let data = {
|
|
|
+ ...this.formData,
|
|
|
+ letterId:this.visitId,
|
|
|
+ letterUserId:this.selectedUser.id,
|
|
|
+ orgId:this.orgId,
|
|
|
+ arrivalTime:formatDate(this.formData.arrivalTime,'YYYY-MM-DD HH:mm:ss'),
|
|
|
+ departureTime:formatDate(this.formData.departureTime,'YYYY-MM-DD HH:mm:ss'),
|
|
|
+ }
|
|
|
+ userRegister(data).then(res=>{
|
|
|
+
|
|
|
+ })
|
|
|
+ },
|
|
|
+ getItemInfo(item){
|
|
|
+ if(item.imgFile && !Array.isArray(item.imgFile)){
|
|
|
+ console.log(item,'item')
|
|
|
+ item.imgFile = item.imgFile.split(',');
|
|
|
+ }
|
|
|
+ this.selectedUser = item;
|
|
|
+
|
|
|
+ },
|
|
|
getUserList(){
|
|
|
let data = {
|
|
|
orgId:this.orgId,
|
|
|
@@ -214,6 +238,12 @@ export default {
|
|
|
color: #ee0a24;
|
|
|
}
|
|
|
}
|
|
|
+ .required::before{
|
|
|
+ content: '*';
|
|
|
+ color: #ee0a24;
|
|
|
+ position: absolute;
|
|
|
+ left: 14px;
|
|
|
+ }
|
|
|
}
|
|
|
.goods-card{
|
|
|
width: 100%;
|
|
|
@@ -234,7 +264,7 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
.big-btn-box{
|
|
|
- padding-bottom: 20px;
|
|
|
+ padding: 20px;
|
|
|
}
|
|
|
.nfc-img {
|
|
|
display: inline-block;
|