|  | @@ -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;
 |