|  |  |  | 
|---|
|  |  |  | :visible.sync="isShowModal" | 
|---|
|  |  |  | :confirm-working="isWorking" | 
|---|
|  |  |  | @confirm="confirm" | 
|---|
|  |  |  | @close="close" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-form :model="param" ref="paramRef" :rules="rules"> | 
|---|
|  |  |  | <div class="title_tip">访客信息</div> | 
|---|
|  |  |  | 
|---|
|  |  |  | <el-form-item label="访客手机号" prop="phone"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="param.phone" | 
|---|
|  |  |  | maxlength="11" | 
|---|
|  |  |  | placeholder="请输入访客的手机号" | 
|---|
|  |  |  | ></el-input> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | 
|---|
|  |  |  | placeholder="请输入来访的单位全称" | 
|---|
|  |  |  | ></el-input> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="人脸照片"> | 
|---|
|  |  |  | <el-form-item label="人脸照片" prop="faceImgUrl"> | 
|---|
|  |  |  | <div class="upload_wrap"> | 
|---|
|  |  |  | <UploadFaceImg | 
|---|
|  |  |  | :file="{ imgurlfull: param.faceImgUrl, imgurl: param.faceImg }" | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <div class="title_tip" style="margintop: 60px">访客预约</div> | 
|---|
|  |  |  | <el-form-item label="被访人" prop="receptMemberId"> | 
|---|
|  |  |  | <el-select v-model="param.receptMemberId" placeholder="请选择"> | 
|---|
|  |  |  | <el-select v-model="param.receptMemberId" disabled placeholder="请选择"> | 
|---|
|  |  |  | <el-option | 
|---|
|  |  |  | v-for="item in memberList" | 
|---|
|  |  |  | :key="item.id" | 
|---|
|  |  |  | 
|---|
|  |  |  | ></el-input> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="随行车辆"> | 
|---|
|  |  |  | <el-input v-model="param.carNos" placeholder="请输入车牌号"></el-input> | 
|---|
|  |  |  | <el-input v-model.trim="param.carNos" onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')" placeholder="请输入车牌号"></el-input> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-form> | 
|---|
|  |  |  | </GlobalWindow> | 
|---|
|  |  |  | 
|---|
|  |  |  | import dayjs from 'dayjs' | 
|---|
|  |  |  | import { createFk, getVisitedVisitReason, getVisitedMember } from '@/api/business/visits' | 
|---|
|  |  |  | export default { | 
|---|
|  |  |  | name: 'OperaVisitsHkWindow', | 
|---|
|  |  |  | extends: BaseOpera, | 
|---|
|  |  |  | components: { | 
|---|
|  |  |  | GlobalWindow, | 
|---|
|  |  |  | UploadFaceImg | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | data() { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | data () { | 
|---|
|  |  |  | return { | 
|---|
|  |  |  | isShowModal: false, | 
|---|
|  |  |  | param: { | 
|---|
|  |  |  | 
|---|
|  |  |  | folder: 'member' | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | startPickerOptions: { | 
|---|
|  |  |  | disabledDate(time) { | 
|---|
|  |  |  | disabledDate (time) { | 
|---|
|  |  |  | return time.getTime() < Date.now() - 8.64e7 // 禁用超过当前时间的日期 | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | selectableRange: '00:00:00 - 23:59:59' // 这个加上之后,时分秒上面才有禁止选择变灰,如果不加,也可以禁止选择,但是不会变灰 | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | created() { | 
|---|
|  |  |  | created () { | 
|---|
|  |  |  | this.$set(this.param, 'receptMemberId', this.$store.state.userInfo.memberId) | 
|---|
|  |  |  | this.$set(this.param, 'starttime', dayjs().format('YYYY-MM-DD HH:mm:ss')) | 
|---|
|  |  |  | this.initData() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | watch: { | 
|---|
|  |  |  | 'param.starttime': { | 
|---|
|  |  |  | handler(newValue, oldValue) { | 
|---|
|  |  |  | handler (newValue, oldValue) { | 
|---|
|  |  |  | if (newValue) { | 
|---|
|  |  |  | const date = new Date() | 
|---|
|  |  |  | // const min = date.getMinutes() | 
|---|
|  |  |  | 
|---|
|  |  |  | immediate: true | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 'param.endtime': { | 
|---|
|  |  |  | handler(newValue, oldValue) { | 
|---|
|  |  |  | handler (newValue, oldValue) { | 
|---|
|  |  |  | if (newValue) { | 
|---|
|  |  |  | const nowDate = dayjs(this.param.starttime).format('HH:mm:ss') | 
|---|
|  |  |  | let st = '' | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | initData() { | 
|---|
|  |  |  | close () { | 
|---|
|  |  |  | this.isShowModal = false | 
|---|
|  |  |  | this.$emit('close') | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | initData () { | 
|---|
|  |  |  | getVisitedVisitReason({}).then(res => { | 
|---|
|  |  |  | this.VisitReason = res || [] | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | 
|---|
|  |  |  | console.log('memberList', this.memberList) | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | uploadAvatarSuccess(file) { | 
|---|
|  |  |  | uploadAvatarSuccess (file) { | 
|---|
|  |  |  | this.$set(this.param, 'faceImg', file.imgurl) | 
|---|
|  |  |  | this.$set(this.param, 'faceImgUrl', file.imgurlfull) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | changeStarttime(e) { | 
|---|
|  |  |  | this.$set(this.param, 'endtime', this.param.starttime) | 
|---|
|  |  |  | changeStarttime (e) { | 
|---|
|  |  |  | // this.$set(this.param, 'endtime', this.param.starttime) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 同步信息 | 
|---|
|  |  |  | confirm() { | 
|---|
|  |  |  | confirm () { | 
|---|
|  |  |  | this.$refs.paramRef.validate((valid) => { | 
|---|
|  |  |  | if (!valid) { | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } | 
|---|
|  |  |  | const { param } = this | 
|---|
|  |  |  | if(param.carNos){ | 
|---|
|  |  |  | param.carNos = param.carNos.replace(/\s*/g,"") | 
|---|
|  |  |  | param.carNos = param.carNos.replace(/[\r\n]/g, "") | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (param.starttime.slice(0, 10) !== param.endtime.slice(0, 10)) return this.$tip.error('入园时间和离园时间不可跨天') | 
|---|
|  |  |  | // 调用新建接口 | 
|---|
|  |  |  | this.isWorking = true | 
|---|
|  |  |  | createFk({ | 
|---|
|  |  |  | 
|---|
|  |  |  | this.$emit('close') | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .catch(e => { | 
|---|
|  |  |  | this.$tip.apiFailed(e) | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .finally(() => { | 
|---|
|  |  |  | this.isWorking = false | 
|---|
|  |  |  | 
|---|
|  |  |  | .upload_wrap{ | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | .avatar-uploader{ | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | justify-content: center; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ::v-deep .avatar{ | 
|---|
|  |  |  | max-width: 90px; | 
|---|
|  |  |  | max-height: 90px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .content{ | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | flex-direction: column; | 
|---|