| | |
| | | <template> |
| | | <view class="visit"> |
| | | <view class="head">拜访信息</view> |
| | | <!-- <view class="head">拜访信息</view> --> |
| | | <view class="list"> |
| | | <!-- <view class="list_item"> |
| | | <view class="list_item_label"> |
| | | <text>被访人手机</text> |
| | | <text>*</text> |
| | | </view> |
| | | <view class="list_item_content"> |
| | | <input type="number" maxlength="11" v-model="form1.phone1" :placeholder="verify == '0' ? '输入手机号后自动获取' : '请输入手机号'" @blur="getUser" placeholder-style="color: #999999;" /> |
| | | </view> |
| | | </view> |
| | | <view class="list_item"> |
| | | <view class="list_item_label"> |
| | | <text>被访人姓名</text> |
| | | <text>*</text> |
| | | </view> |
| | | <view class="list_item_content"> |
| | | <input type="text" placeholder="请输入姓名" v-model="form1.receptMemberName" @blur="getUser" placeholder-style="color: #999999;" /> |
| | | </view> |
| | | </view> --> |
| | | <view class="list_item"> |
| | | <view class="list_item_label"> |
| | | <text>被访人</text> |
| | | <text>*</text> |
| | | </view> |
| | | <view class="list_item_content" @click="showName = true"> |
| | | <text :style="{color: form1.receptMemberName ? '#000000' : ''}">{{form1.receptMemberName ? form1.receptMemberName : '请选择'}}</text> |
| | | <view class="list_item_content" @click="selName"> |
| | | <text :style="{ color: form1.receptMemberName ? '#000000' : '' }">{{ |
| | | form1.receptMemberName ? form1.receptMemberName : "请选择" |
| | | }}</text> |
| | | <u-icon name="arrow-right" color="#CCCCCC" size="20"></u-icon> |
| | | </view> |
| | | </view> |
| | | <view class="list_item"> |
| | | <view class="list_item_label"> |
| | | <text>入厂时间</text> |
| | | <text>*</text> |
| | | <text>入园时间</text> |
| | | </view> |
| | | <view class="list_item_content" @click="show4 = true"> |
| | | <text :style="{color: form1.starttime ? '#000000' : ''}">{{form1.starttime ? form1.starttime : '请选择'}}</text> |
| | | <text :style="{ color: form1.starttime ? '#000000' : '' }">{{ |
| | | form1.starttime ? form1.starttime : "请选择" |
| | | }}</text> |
| | | <u-icon name="arrow-right" color="#CCCCCC" size="20"></u-icon> |
| | | </view> |
| | | </view> |
| | | <view class="list_item"> |
| | | <view class="list_item_label"> |
| | | <text>离厂时间</text> |
| | | <text>*</text> |
| | | <text>离园时间</text> |
| | | </view> |
| | | <view class="list_item_content" @click="openLC"> |
| | | <text :style="{color: form1.endtime ? '#000000' : ''}">{{form1.endtime ? form1.endtime : '请选择'}}</text> |
| | | <text :style="{ color: form1.endtime ? '#000000' : '' }">{{ |
| | | form1.endtime ? form1.endtime : "请选择" |
| | | }}</text> |
| | | <u-icon name="arrow-right" color="#CCCCCC" size="20"></u-icon> |
| | | </view> |
| | | </view> |
| | |
| | | <div class="empty"></div> |
| | | <view class="list_item"> |
| | | <view class="list_item_label"> |
| | | <text>拜访事由</text> |
| | | <text>*</text> |
| | | <text>拜访事由</text> |
| | | </view> |
| | | <view class="list_item_content" @click="showReason = true"> |
| | | <text :style="{color: form1.reason ? '#000000' : ''}">{{form1.reason ? form1.reason : '请选择拜访事由'}}</text> |
| | | <text :style="{ color: form1.reason ? '#000000' : '' }">{{ |
| | | form1.reason ? form1.reason : "请选择拜访事由" |
| | | }}</text> |
| | | <u-icon name="arrow-right" color="#CCCCCC" size="20"></u-icon> |
| | | </view> |
| | | </view> |
| | | <view class="list_item"> |
| | | <view class="list_item_label"> |
| | | <text></text> |
| | | <text>是否施工作业</text> |
| | | <text>*</text> |
| | | </view> |
| | | <view class="list_item_content"> |
| | | <switch color="#4e99a9" style="transform:scale(0.8)" @change="constructionChange" /> |
| | | <!-- <switch color="#4e99a9" style="transform: scale(0.8)" @change="constructionChange" /> --> |
| | | <!-- <u-radio-group v-model="form1.type"> |
| | | <u-radio label="是" :name="1" activeColor="#4d99a8" class="mr24" /> |
| | | <u-radio label="否" :name="0" activeColor="#4d99a8" /> |
| | | </u-radio-group> --> |
| | | <view class="checkbox_wrap"> |
| | | <view class="check_item" @click="constructionChange(1)"> |
| | | <text>是</text> |
| | | <image v-if="form1.type == 1" src="@/static/checkbox_sel@2x.png" mode=""></image> |
| | | <image v-if="form1.type == 0" src="@/static/checkbox_disable@3x.png" mode=""></image> |
| | | </view> |
| | | <view class="check_item" @click="constructionChange(0)"> |
| | | <text>否</text> |
| | | <image v-if="form1.type == 0" src="@/static/checkbox_sel@2x.png" mode=""></image> |
| | | <image v-else src="@/static/checkbox_disable@3x.png" mode=""></image> |
| | | </view> |
| | | |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view v-if="form1.type == '1'" class="list_item"> |
| | | <view class="list_item_label"> |
| | | <text></text> |
| | | <text>施工内容</text> |
| | | <text>*</text> |
| | | <!-- <text>*</text> --> |
| | | </view> |
| | | <view class="list_item_content"> |
| | | <input type="text" v-model="form1.constructionReason" placeholder="请输入施工内容" placeholder-style="color: #999999;" /> |
| | | <input type="text" v-model="form1.constructionReason" placeholder="请输入施工内容" |
| | | placeholder-style="color: #999999;" /> |
| | | </view> |
| | | </view> |
| | | <view class="list_item"> |
| | | <view class="list_item_label"> |
| | | <text>随行车辆</text> |
| | | <text></text> |
| | | <text>随行车辆</text> |
| | | </view> |
| | | <view class="list_item_content" @click="openInput(1)"> |
| | | <text :style="{color: form1.carNos ? '#000000' : ''}">{{form1.carNos ? form1.carNos : '请输入车牌号码'}}</text> |
| | | <text :style="{ color: form1.carNos ? '#000000' : '' }">{{ |
| | | form1.carNos ? form1.carNos : "请输入车牌号码" |
| | | }}</text> |
| | | <!-- <input type="text" placeholder="请输入车牌号" v-model="form1.carNos" maxlength="8" placeholder-style="color: #999999;" /> --> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="zw"></view> |
| | | <view class="footer"> |
| | | <view class="footer_btn" @click="onSubmit">提交</view> |
| | | </view> |
| | | <!-- 入场时间 --> |
| | | <u-datetime-picker |
| | | :show="show4" |
| | | :minDate="new Date().getTime()" |
| | | mode="datetime" |
| | | @cancel="show4 = false" |
| | | @confirm="setstarttime" |
| | | ></u-datetime-picker> |
| | | <!-- 离场时间 --> |
| | | <u-datetime-picker |
| | | v-if="form1.starttime" |
| | | :show="show5" |
| | | :minDate="formatTimeStamp(form1.starttime)" |
| | | mode="datetime" |
| | | @cancel="show5 = false" |
| | | @confirm="setendtime" |
| | | ></u-datetime-picker> |
| | | <!-- 入园时间 --> |
| | | <u-datetime-picker :show="show4" :minDate="new Date().getTime()" mode="datetime" :formatter="formatter" |
| | | @cancel="show4 = false" @confirm="setstarttime"></u-datetime-picker> |
| | | <!-- 离园时间 --> |
| | | <u-datetime-picker v-if="form1.starttime" :show="show5" :formatter="formatter" |
| | | :minDate="formatTimeStamp(form1.starttime)" :maxDate="formatTimeStamp(form1.starttime.slice(0,10) + ' 23:59')" |
| | | mode="datetime" @cancel="show5 = false" @confirm="setendtime"></u-datetime-picker> |
| | | <!-- 门禁 --> |
| | | <u-popup :show="show" :round="10" :safeAreaInsetBottom="true" :closeable="true" mode="bottom" @close="closeMJ"> |
| | | <view class="menjin"> |
| | | <view class="respondent-title"> |
| | | 选择门禁 |
| | | </view> |
| | | <view class="respondent-title"> 选择门禁 </view> |
| | | <scroll-view scroll-y class="list"> |
| | | <view class="list_item" v-for="(item, index) in columns" :key="index" @click="seleMJ(index)"> |
| | | <text>{{item.name}}</text> |
| | | <text>{{ item.name }}</text> |
| | | <image src="@/static/checkbox@2x.png" mode="widthFix" v-show="!item.active"></image> |
| | | <image src="@/static/checkbo1x_sel@2x.png" mode="widthFix" v-show="item.active"></image> |
| | | </view> |
| | |
| | | </view> |
| | | </u-popup> |
| | | <!-- 选择随行人员 --> |
| | | <u-popup :show="show1" :round="10" :safeAreaInsetBottom="true" :closeable="true" mode="bottom" @close="show1 = false"> |
| | | <u-popup :show="show1" :round="10" :safeAreaInsetBottom="true" :closeable="true" mode="bottom" |
| | | @close="show1 = false"> |
| | | <view class="popup-content"> |
| | | <view class="respondent-title"> |
| | | 选择随行人员 |
| | | </view> |
| | | <view class="respondent-title"> 选择随行人员 </view> |
| | | <view class="search-box"> |
| | | <view class="search-box-top"> |
| | | <view class="search-box-top-ipt"> |
| | | <image src="@/static/ic_search@2x.png" mode="widthFix"></image> |
| | | <input type="text" placeholder="搜索姓名/手机号" /> |
| | | </view> |
| | | <text @click="show1 = false; show3 = true">新增</text> |
| | | <text @click=" |
| | | show1 = false; |
| | | show3 = true; |
| | | ">新增</text> |
| | | </view> |
| | | <view class="search-box-total">共0条数据</view> |
| | | </view> |
| | |
| | | </view> |
| | | </u-popup> |
| | | <!-- 车辆 --> |
| | | <u-popup :show="show2" :round="10" :safeAreaInsetBottom="true" :closeable="true" mode="bottom" @close="show2 = false"> |
| | | <u-popup :show="show2" :round="10" :safeAreaInsetBottom="true" :closeable="true" mode="bottom" |
| | | @close="show2 = false"> |
| | | <view class="addcar"> |
| | | <view class="addcar_head">添加车辆</view> |
| | | <view class="addcar_ipt"> |
| | |
| | | </view> |
| | | </u-popup> |
| | | <!-- 添加随行人员 --> |
| | | <u-popup :show="show3" :round="10" :safeAreaInsetBottom="true" :closeable="true" mode="bottom" @close="show3 = false"> |
| | | <u-popup :show="show3" :round="10" :safeAreaInsetBottom="true" :closeable="true" mode="bottom" |
| | | @close="show3 = false"> |
| | | <view class="adduser"> |
| | | <view class="adduser_head">随行人员</view> |
| | | <view class="adduser_list"> |
| | |
| | | <text>*</text> |
| | | </view> |
| | | <view class="adduser_list_item_ipt"> |
| | | <input type="text" v-model="withUserList.name" placeholder-style="color: #999999;font-size: 28rpx;" placeholder="请输入真实姓名" /> |
| | | <input type="text" v-model="withUserList.name" placeholder-style="color: #999999;font-size: 28rpx;" |
| | | placeholder="请输入真实姓名" /> |
| | | </view> |
| | | </view> |
| | | <view class="adduser_list_item"> |
| | |
| | | <text>*</text> |
| | | </view> |
| | | <view class="adduser_list_item_ipt"> |
| | | <input type="number" v-model="withUserList.phone" maxlength="11" placeholder-style="color: #999999;font-size: 28rpx;" placeholder="请输入手机号" /> |
| | | <input type="number" v-model="withUserList.phone" maxlength="11" |
| | | placeholder-style="color: #999999;font-size: 28rpx;" placeholder="请输入手机号" /> |
| | | </view> |
| | | </view> |
| | | <view class="adduser_list_item"> |
| | |
| | | <text>*</text> |
| | | </view> |
| | | <view class="adduser_list_item_ipt" @click="show6 = true"> |
| | | <text :style="{color: withUserList.idcardTypeName ? '#000000' : ''}">{{withUserList.idcardTypeName ? withUserList.idcardTypeName : '请选择'}}</text> |
| | | <text :style="{ color: withUserList.idcardTypeName ? '#000000' : '' }">{{ |
| | | withUserList.idcardTypeName |
| | | ? withUserList.idcardTypeName |
| | | : "请选择" |
| | | }}</text> |
| | | <u-icon name="arrow-right" color="#CCCCCC" size="16"></u-icon> |
| | | </view> |
| | | </view> |
| | |
| | | <text>*</text> |
| | | </view> |
| | | <view class="adduser_list_item_ipt"> |
| | | <input type="text" v-model="withUserList.idcardNo" maxlength="18" placeholder-style="color: #999999;font-size: 28rpx;" placeholder="请输入证件号码" /> |
| | | <input type="text" v-model="withUserList.idcardNo" maxlength="18" |
| | | placeholder-style="color: #999999;font-size: 28rpx;" placeholder="请输入证件号码" /> |
| | | </view> |
| | | </view> |
| | | <view class="adduser_list_item"> |
| | | <view class="adduser_list_item_label"> |
| | | <text>公司</text> |
| | | <text>*</text> |
| | | <text>公司</text> |
| | | </view> |
| | | <view class="adduser_list_item_ipt"> |
| | | <input type="text" v-model="withUserList.companyName" placeholder-style="color: #999999;font-size: 28rpx;" placeholder="请输入公司名称" /> |
| | | <input type="text" v-model="withUserList.companyName" placeholder-style="color: #999999;font-size: 28rpx;" |
| | | placeholder="请输入公司名称" /> |
| | | </view> |
| | | </view> |
| | | <view class="adduser_list_item"> |
| | | <view class="adduser_list_item_label"> |
| | | <text>随行车辆</text> |
| | | <text></text> |
| | | <text>随行车辆</text> |
| | | </view> |
| | | <view class="adduser_list_item_ipt" @click="openInput(2)"> |
| | | <text :style="{color: withUserList.carNos ? '#000000' : ''}">{{withUserList.carNos ? withUserList.carNos : '请输入车牌号码'}}</text> |
| | | <text :style="{ color: withUserList.carNos ? '#000000' : '' }">{{ |
| | | withUserList.carNos ? withUserList.carNos : "请输入车牌号码" |
| | | }}</text> |
| | | <!-- <input type="text" v-model="withUserList.carNos" disabled placeholder-style="color: #999999;font-size: 28rpx;" placeholder="请输入车牌号" /> --> |
| | | </view> |
| | | </view> |
| | |
| | | </view> |
| | | </u-popup> |
| | | <u-picker keyName="name" :show="show6" :columns="columns1" @confirm="seleIdcard" @cancel="show6 = false"></u-picker> |
| | | <u-picker keyName="name" :show="showName" :columns="VisitPoeple" @confirm="selectedName" @cancel="showName = false"></u-picker> |
| | | <u-picker keyName="title" :show="showReason" :columns="VisitReason" @confirm="selectedReason" @cancel="showReason = false"></u-picker> |
| | | <u-picker keyName="name" :show="showName" :columns="VisitPoeple" @confirm="selectedName" |
| | | @cancel="showName = false"></u-picker> |
| | | <u-picker keyName="title" :show="showReason" :columns="VisitReason" @confirm="selectedReason" |
| | | @cancel="showReason = false"></u-picker> |
| | | <!-- <tly-picture-cut ref="tlyPictureCut" :pictureSrc="photoSrc" @createImg="uploadImg"></tly-picture-cut> --> |
| | | <keyboardInput ref="keyboard" @export="setPlate" @close="closeInput" /> |
| | | <qf-image-cropper ref="cropper" :width="280" :height="280" :radius="30" @crop="uploadImg"></qf-image-cropper> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import tlyPictureCut from "@/components/tly-picture-cut/tlyPictureCut.vue"; |
| | | import keyboardInput from "@/components/keyboard-input/keyboard-input.vue"; |
| | | import QfImageCropper from '@/uni_modules/qf-image-cropper/components/qf-image-cropper/qf-image-cropper.vue'; |
| | | import { getDaysAfterDate } from '@/utils/utils.js' |
| | | import tlyPictureCut from "@/components/tly-picture-cut/tlyPictureCut.vue" |
| | | import keyboardInput from "@/components/keyboard-input/keyboard-input.vue" |
| | | import QfImageCropper from '@/uni_modules/qf-image-cropper/components/qf-image-cropper/qf-image-cropper.vue' |
| | | import { |
| | | getDaysAfterDate |
| | | } from '@/utils/utils.js' |
| | | import { |
| | | getVisitedMember, |
| | | getSystemDictData, |
| | | getVisitedVisitReason, |
| | | createFk |
| | | } from '@/api' |
| | | } from '@/api' |
| | | export default { |
| | | data() { |
| | | return { |
| | |
| | | showReason: false, |
| | | fileList: [], |
| | | columns1: [ |
| | | [{name: '身份证', id: 0}, {name: '港澳证件', id: 1},{name: '护照', id: 2}], |
| | | [{ |
| | | name: '身份证', |
| | | id: 0 |
| | | }, { |
| | | name: '港澳证件', |
| | | id: 1 |
| | | }, { |
| | | name: '护照', |
| | | id: 2 |
| | | }], |
| | | ], |
| | | VisitReason: [], |
| | | VisitPoeple: [], |
| | |
| | | form: {}, |
| | | accessControl: '', |
| | | verify: '' |
| | | }; |
| | | } |
| | | }, |
| | | components: { tlyPictureCut, keyboardInput, QfImageCropper }, |
| | | components: { |
| | | tlyPictureCut, |
| | | keyboardInput, |
| | | QfImageCropper |
| | | }, |
| | | onLoad(options) { |
| | | if (options.data) { |
| | | this.form = JSON.parse(options.data) |
| | |
| | | // this.getUserValid() |
| | | this.getUser() |
| | | }, |
| | | mounted() { |
| | | this.$eventBus.$on('svisitorAppSel', (option) => { |
| | | // this.$set(this.param, 'checkUserId', option.id) |
| | | // this.$set(this.param, 'applyCheckUserId', option.id) |
| | | // this.$set(this.param, 'checkorName', option.name) |
| | | |
| | | this.form1.receptMemberName = option.name |
| | | this.form1.receptMemberId = option.id |
| | | this.form1.receptMemberDepartment = option.companyName |
| | | }) |
| | | }, |
| | | methods: { |
| | | openInput(type) { |
| | | this.inputType = type |
| | | this.$refs.keyboard.open() |
| | | }, |
| | | setPlate(e) { |
| | | if (this.inputType === 1) { |
| | | this.form1.carNos = e |
| | | } else if (this.inputType === 2) { |
| | | this.withUserList.carNos = e |
| | | formatter(type, value) { |
| | | if (type === 'year') { |
| | | return `${value}年` |
| | | } |
| | | if (type === 'month') { |
| | | return `${value}月` |
| | | } |
| | | if (type === 'day') { |
| | | return `${value}日` |
| | | } |
| | | <<<<<<< HEAD |
| | | this.$forceUpdate() |
| | | this.closeInput() |
| | | }, |
| | | closeInput() { |
| | | this.$refs.keyboard.close() |
| | | }, |
| | | constructionChange(e) { |
| | | console.log(e.detail.value); |
| | | this.form1.type = Number(e.detail.value) |
| | | console.log(this.form1.type); |
| | | }, |
| | | uploadImg(file) { |
| | | this.$refs.cropper.close() |
| | | uni.showLoading({ title: '上传中', mask: true }); |
| | | uni.uploadFile({ |
| | | url: `${this.$baseUrl}visitsAdmin/cloudService/web/public/uploadFtp.do`, |
| | | url: `${this.$baseUrl}public/api/uploadFtp.do`, |
| | | filePath: file.tempFilePath, |
| | | name: 'file', |
| | | formData: { |
| | |
| | | item.active = false |
| | | }) |
| | | }, |
| | | onSubmit() { |
| | | submit() { |
| | | if (!this.form1.receptMemberId) return uni.showToast({ |
| | | title: '请填写有效的访问人', |
| | | icon: 'none' |
| | |
| | | let data = JSON.parse(JSON.stringify(this.form1)) |
| | | data.starttime = data.starttime + ':00' |
| | | data.endtime = data.endtime + ':00' |
| | | createFk({ |
| | | this.$u.api.createFk({ |
| | | ...this.form, |
| | | ...data, |
| | | openid: this.$store.state.openId, |
| | |
| | | }).then(res => { |
| | | if (res.code === 200) { |
| | | uni.reLaunch({ |
| | | url: `/pages/appointmentDetails/appointmentDetails?id=${res.data}` |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | deleUser(i) { |
| | | this.personnel.splice(i, 1) |
| | | }, |
| | | getVisit1() { |
| | | // 是否需要答题 |
| | | this.$u.api.getSystemDictData({ |
| | | dictCode: 'SYSTEM', |
| | | label: 'HEALTH_CARD' |
| | | }).then(res => { |
| | | if (res.code === 200) { |
| | | this.visit = res.data.code |
| | | } |
| | | }) |
| | | // 起始时间时长 |
| | | this.$u.api.getSystemDictData({ |
| | | dictCode: 'VISIT_CONFIG', |
| | | label: 'VALIDATE_VISIT' |
| | | }).then(res => { |
| | | if (res.code === 200) { |
| | | this.day = Number(res.data.code) |
| | | console.log(this.day) |
| | | // console.log(nextDay('after', true, this.day)) |
| | | } |
| | | }) |
| | | }, |
| | | submitUser() { |
| | | if (!this.withUserList.name) return uni.showToast({ |
| | | title: '姓名不能为空', |
| | | icon: 'none' |
| | | }) |
| | | if (!this.withUserList.phone) return uni.showToast({ |
| | | title: '手机号不能为空', |
| | | icon: 'none' |
| | | }) |
| | | const regExp = /^1[3456789]\d{9}$/; |
| | | if (!regExp.test(this.withUserList.phone)) return uni.showToast({ |
| | | title: '手机号格式错误', |
| | | icon: 'none' |
| | | }) |
| | | if (!String(this.withUserList.idcardType)) return uni.showToast({ |
| | | title: '证件类型不能为空', |
| | | icon: 'none' |
| | | }) |
| | | if (!this.withUserList.idcardNo) return uni.showToast({ |
| | | title: '证件号码不能为空', |
| | | icon: 'none' |
| | | }) |
| | | if (this.withUserList.idcardType === 0) { |
| | | const regex = /^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|3[0-1])\d{3}[\dxX]$/; |
| | | if (!regex.test(this.withUserList.idcardNo)) return uni.showToast({ |
| | | title: '证件号码格式错误', |
| | | icon: 'none' |
| | | }) |
| | | ======= |
| | | if (type === 'hour') { |
| | | return `${value}时` |
| | | >>>>>>> f0f08cc1ff84d45de32d8bff4a40e6a7d0d7a9e6 |
| | | } |
| | | if (type === 'minute') { |
| | | return `${value}分` |
| | | } |
| | | return value |
| | | }, |
| | | selName() { |
| | | uni.navigateTo({ |
| | | url: '/pages/visitorApplication/memberSel' |
| | | }) |
| | | }, |
| | | openInput(type) { |
| | | this.inputType = type |
| | | this.$refs.keyboard.open() |
| | | }, |
| | | setPlate(e) { |
| | | if (this.inputType === 1) { |
| | | this.form1.carNos = e |
| | | } else if (this.inputType === 2) { |
| | | this.withUserList.carNos = e |
| | | } |
| | | this.$forceUpdate() |
| | | this.closeInput() |
| | | }, |
| | | closeInput() { |
| | | this.$refs.keyboard.close() |
| | | }, |
| | | constructionChange(value) { |
| | | this.form1.type = value |
| | | }, |
| | | uploadImg(file) { |
| | | this.$refs.cropper.close() |
| | | uni.showLoading({ |
| | | title: '上传中', |
| | | mask: true |
| | | }) |
| | | uni.uploadFile({ |
| | | url: `${this.$baseUrl}visitsAdmin/cloudService/web/public/uploadFtp.do`, |
| | | filePath: file.tempFilePath, |
| | | name: 'file', |
| | | formData: { |
| | | folderCode: 'MEMBER_IMG' |
| | | }, |
| | | success: (uploadFileRes) => { |
| | | let res = JSON.parse(uploadFileRes.data) |
| | | this.withUserList.faceImg = res.data.halfPath |
| | | this.withUserList.faceImgUrl = res.data.prefixPath + res.data.folder + res.data.halfPath |
| | | }, |
| | | complete() { |
| | | uni.hideLoading() |
| | | } |
| | | }) |
| | | }, |
| | | closeMJ() { |
| | | this.show = false |
| | | this.columns.forEach(item => { |
| | | item.active = false |
| | | }) |
| | | }, |
| | | onSubmit() { |
| | | if (!this.form1.receptMemberId) return uni.showToast({ |
| | | title: '请填写有效的访问人', |
| | | icon: 'none' |
| | | }) |
| | | if (!this.form1.starttime) return uni.showToast({ |
| | | title: '入园时间不能为空', |
| | | icon: 'none' |
| | | }) |
| | | if (!this.form1.endtime) return uni.showToast({ |
| | | title: '离园时间不能为空', |
| | | icon: 'none' |
| | | }) |
| | | if (!this.form1.doorSelectName && this.accessControl == 1) return uni.showToast({ |
| | | title: '访问门禁不能为空', |
| | | icon: 'none' |
| | | }) |
| | | if (!this.form1.reason) return uni.showToast({ |
| | | title: '拜访事由不能为空', |
| | | icon: 'none' |
| | | }) |
| | | // this.form1.starttime = this.form1.starttime + ':00' |
| | | // this.form1.endtime = this.form1.endtime + ':00' |
| | | let data = JSON.parse(JSON.stringify(this.form1)) |
| | | data.starttime = data.starttime + ':00' |
| | | data.endtime = data.endtime + ':00' |
| | | createFk({ |
| | | ...this.form, |
| | | ...data, |
| | | openid: this.$store.state.openId, |
| | | withUserList: this.personnel |
| | | }).then(res => { |
| | | if (res.code === 200) { |
| | | uni.navigateTo({ |
| | | url: `/pages/appointmentDetails/appointmentDetails?id=${res.data}` |
| | | }) |
| | | } |
| | |
| | | title: '手机号不能为空', |
| | | icon: 'none' |
| | | }) |
| | | const regExp = /^1[3456789]\d{9}$/; |
| | | const regExp = /^1[3456789]\d{9}$/ |
| | | if (!regExp.test(this.withUserList.phone)) return uni.showToast({ |
| | | title: '手机号格式错误', |
| | | icon: 'none' |
| | |
| | | icon: 'none' |
| | | }) |
| | | if (this.withUserList.idcardType === 0) { |
| | | const regex = /^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|3[0-1])\d{3}[\dxX]$/; |
| | | const regex = /^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|3[0-1])\d{3}[\dxX]$/ |
| | | if (!regex.test(this.withUserList.idcardNo)) return uni.showToast({ |
| | | title: '证件号码格式错误', |
| | | icon: 'none' |
| | |
| | | } |
| | | uni.chooseImage({ |
| | | success: (chooseImageRes) => { |
| | | uni.showLoading({ title: '上传中', mask: true }); |
| | | uni.showLoading({ |
| | | title: '上传中', |
| | | mask: true |
| | | }) |
| | | for (let i = 0; i < chooseImageRes.tempFilePaths.length; i++) { |
| | | uni.uploadFile({ |
| | | url: `${this.$baseUrl}visitsAdmin/cloudService/web/public/uploadFtp.do`, |
| | | filePath: chooseImageRes.tempFilePaths[i], |
| | | name: 'file', |
| | | formData: { |
| | | folderCode: 'MEMBER_IMG' |
| | | }, |
| | | success: (uploadFileRes) => { |
| | | let res = JSON.parse(uploadFileRes.data) |
| | | if (type === 'faceImg') { |
| | | this.withUserList.faceImg = res.data.halfPath |
| | | this.withUserList.faceImgUrl = res.data.prefixPath + res.data.folder + res.data.halfPath |
| | | } else { |
| | | this.withUserList.imgurl = res.data.halfPath |
| | | this.withUserList.imgurlUrl = res.data.prefixPath + res.data.folder + res.data.halfPath |
| | | } |
| | | }, |
| | | complete() { |
| | | if (i === chooseImageRes.tempFilePaths.length - 1) { |
| | | uni.hideLoading() |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | seleIdcard(e) { |
| | | this.withUserList.idcardType = e.value[0].id |
| | | this.withUserList.idcardTypeName = e.value[0].name |
| | | this.show6 = false |
| | | }, |
| | | selectedName(e) { |
| | | this.form1.receptMemberName = e.value[0].name |
| | | this.form1.receptMemberId = e.value[0].id |
| | | this.form1.receptMemberDepartment = e.value[0].companyId |
| | | this.showName = false |
| | | }, |
| | | selectedReason(e) { |
| | | this.form1.reason = e.value[0].title |
| | | console.log(e.value[0].title) |
| | | this.showReason = false |
| | | }, |
| | | submitCart() { |
| | | if (!this.carName) return uni.showToast({ |
| | | title: '请输入车牌号码', |
| | | icon: 'none' |
| | | }) |
| | | this.cars.push(this.carName) |
| | | this.form1.carNos = this.cars.join(',') |
| | | this.carName = '' |
| | | this.show2 = false |
| | | }, |
| | | deleCars(i) { |
| | | this.cars.splice(i, 1) |
| | | this.form1.carNos = this.cars.join(',') |
| | | }, |
| | | submitMJ() { |
| | | let arr = [] |
| | | let names = [] |
| | | this.columns.forEach(item => { |
| | | if (item.active) { |
| | | arr.push(item.id) |
| | | names.push(item.name) |
| | | } |
| | | }) |
| | | if (arr.length === 0) return uni.showToast({ |
| | | title: '请选择门禁', |
| | | icon: 'none' |
| | | }) |
| | | this.form1.doorSelectName = names.join(',') |
| | | this.form1.doors = arr.join(',') |
| | | this.show = false |
| | | }, |
| | | seleMJ(i) { |
| | | this.columns.forEach((item, index) => { |
| | | if (index === i) { |
| | | item.active = !item.active |
| | | } |
| | | }) |
| | | }, |
| | | openLC() { |
| | | if (!this.form1.starttime) return uni.showToast({ |
| | | title: '请先选择入园时间', |
| | | icon: 'none' |
| | | }) |
| | | this.show5 = true |
| | | }, |
| | | setstarttime(e) { |
| | | this.form1.starttime = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM') |
| | | // this.maxTime = getDaysAfterDate(uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM'), this.day) |
| | | this.maxTime = this.form1.starttime |
| | | console.log(this.form1.starttime.slice(0, 10)) |
| | | this.show4 = false |
| | | }, |
| | | setendtime(e) { |
| | | this.form1.endtime = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM') |
| | | this.show5 = false |
| | | }, |
| | | formatTimeStamp(date) { |
| | | return Date.parse(new Date(`${date}`)) || Date.parse(new Date(`${date.replace(/-/g, '/')}`)) |
| | | }, |
| | | // 查询用户 |
| | | getUser() { |
| | | getVisitedMember().then(res => { |
| | | this.VisitPoeple = [res.data || []] |
| | | }) |
| | | getVisitedVisitReason({}).then(res => { |
| | | this.VisitReason = [res.data || []] |
| | | }) |
| | | }, |
| | | // 被拜访人信息校验方式(0手机号单独校验 1手机号和姓名组合校验) |
| | | getUserValid() { |
| | | getSystemDictData({ |
| | | dictCode: 'SYSTEM', |
| | | label: 'BEVISITED_USER_VALID' |
| | | }).then(res => { |
| | | if (res.code === 200) { |
| | | this.verify = res.data.code |
| | | } |
| | | }) |
| | | }, |
| | | // 获取是否需要选择门禁/门禁列表 |
| | | getvisit() { |
| | | getSystemDictData({ |
| | | dictCode: 'SYSTEM', |
| | | label: 'SELECT_DOORS_VISIT_REQUIRED' |
| | | }).then(res => { |
| | | if (res.code === 200) { |
| | | this.accessControl = res.data.code |
| | | if (res.data.code === '1') { |
| | | this.$u.api.deviceRoleList({ |
| | | type: 1 |
| | | }) |
| | | .then(device => { |
| | | if (device.code === 200) { |
| | | if (device.data.length > 0) { |
| | | device.data.forEach(item => { |
| | | item.active = false |
| | | }) |
| | | this.columns = device.data |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | confirm(e) { |
| | | this.show = false |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style> |
| | | page { |
| | | background-color: #f7f7f7 !important; |
| | | } |
| | | |
| | | .u-upload__button { |
| | | margin: 0 !important; |
| | | } |
| | | </style> |
| | | <style lang="scss" scoped> |
| | | .visit { |
| | | width: 100%; |
| | | |
| | | .menjin { |
| | | width: 100%; |
| | | |
| | | .respondent-title { |
| | | width: 100%; |
| | | height: 100rpx; |
| | | line-height: 100rpx; |
| | | text-align: center; |
| | | font-size: 32rpx; |
| | | font-weight: 600; |
| | | color: #222222; |
| | | } |
| | | |
| | | .list { |
| | | width: 100%; |
| | | height: 400rpx; |
| | | display: flex; |
| | | flex-direction: column; |
| | | |
| | | .list_item { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | |
| | | text { |
| | | font-size: 28rpx; |
| | | color: #000000; |
| | | } |
| | | |
| | | image { |
| | | width: 30rpx; |
| | | height: 30rpx; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .menjin_footer { |
| | | width: 100%; |
| | | padding: 30rpx; |
| | | box-sizing: border-box; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | |
| | | .menjin_footer_item { |
| | | flex: 1; |
| | | height: 80rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | border-radius: 10rpx; |
| | | background-color: $uni-color-primary; |
| | | color: #ffffff; |
| | | font-size: 26rpx; |
| | | margin-left: 30rpx; |
| | | |
| | | &:first-child { |
| | | margin-left: 0 !important; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .adduser { |
| | | padding: 30rpx; |
| | | width: 100%; |
| | | box-sizing: border-box; |
| | | |
| | | .adduser_head { |
| | | width: 100%; |
| | | text-align: center; |
| | | font-size: 32rpx; |
| | | font-family: PingFangSC, PingFang SC; |
| | | font-weight: 600; |
| | | color: #222222; |
| | | } |
| | | |
| | | .adduser_list { |
| | | width: 100%; |
| | | margin-top: 40rpx; |
| | | |
| | | .adduser_list_item { |
| | | width: 100%; |
| | | padding: 24rpx 0; |
| | | box-sizing: border-box; |
| | | border-bottom: 1rpx solid #e5e5e5; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | |
| | | .adduser_list_item_label1 { |
| | | flex: 1; |
| | | display: flex; |
| | | flex-direction: column; |
| | | |
| | | .cc { |
| | | font-size: 30rpx; |
| | | font-family: PingFangSC, PingFang SC; |
| | | font-weight: 400; |
| | | color: #222222; |
| | | margin-bottom: 20rpx; |
| | | |
| | | b { |
| | | font-size: 30rpx; |
| | | font-family: PingFangSC, PingFang SC; |
| | | font-weight: 400; |
| | | color: #e0312a; |
| | | } |
| | | } |
| | | |
| | | .aa { |
| | | font-size: 24rpx; |
| | | font-weight: 400; |
| | | color: #999999; |
| | | } |
| | | } |
| | | |
| | | .adduser_list_item_label { |
| | | flex-shrink: 0; |
| | | display: flex; |
| | | align-items: center; |
| | | font-family: PingFangSC, PingFang SC; |
| | | font-size: 30rpx; |
| | | |
| | | text { |
| | | &:nth-child(1) { |
| | | color: #e0312a; |
| | | } |
| | | |
| | | &:nth-child(2) { |
| | | color: #222222; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .adduser_list_item_ipt { |
| | | flex-shrink: 0; |
| | | text-align: right; |
| | | font-size: 28rpx; |
| | | font-family: PingFangSC, PingFang SC; |
| | | font-weight: 400; |
| | | color: #333333; |
| | | margin-left: 30rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: flex-end; |
| | | |
| | | .adduser_list_item_ipt1_upload { |
| | | width: 120rpx; |
| | | height: 120rpx; |
| | | background-color: #ececec; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | overflow: hidden; |
| | | |
| | | image { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | } |
| | | |
| | | text { |
| | | font-size: 28rpx; |
| | | font-family: PingFangSC, PingFang SC; |
| | | font-weight: 400; |
| | | color: #999999; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .adduser_footer { |
| | | width: 100%; |
| | | margin-top: 60rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | |
| | | .t { |
| | | background: #4d99a9 !important; |
| | | color: #ffffff !important; |
| | | } |
| | | |
| | | .adduser_footer_item { |
| | | width: 336rpx; |
| | | height: 88rpx; |
| | | line-height: 88rpx; |
| | | text-align: center; |
| | | border-radius: 44rpx; |
| | | border: 1rpx solid #4d99a9; |
| | | font-size: 32rpx; |
| | | font-family: PingFangSC, PingFang SC; |
| | | font-weight: 400; |
| | | color: #4d99a9; |
| | | margin-right: 18rpx; |
| | | |
| | | &:last-child { |
| | | margin: 0 !important; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .addcar { |
| | | padding: 30rpx; |
| | | width: 100%; |
| | | box-sizing: border-box; |
| | | |
| | | .addcar_head { |
| | | text-align: center; |
| | | font-size: 32rpx; |
| | | font-family: PingFangSC, PingFang SC; |
| | | font-weight: 600; |
| | | color: #222222; |
| | | } |
| | | |
| | | .addcar_ipt { |
| | | width: 100%; |
| | | height: 100rpx; |
| | | line-height: 100rpx; |
| | | text-align: center; |
| | | background: #f7f7f7; |
| | | border-radius: 50rpx; |
| | | margin-top: 60rpx; |
| | | |
| | | input { |
| | | width: 100%; |
| | | height: 100%; |
| | | font-size: 28rpx; |
| | | font-weight: 400; |
| | | color: #000000; |
| | | text-align: center; |
| | | } |
| | | } |
| | | |
| | | .addcar_footer { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | margin-top: 60rpx; |
| | | |
| | | .t { |
| | | background: #4d99a9 !important; |
| | | color: #ffffff !important; |
| | | } |
| | | |
| | | .addcar_footer_item { |
| | | flex: 1; |
| | | height: 88rpx; |
| | | line-height: 88rpx; |
| | | font-size: 32rpx; |
| | | font-weight: 400; |
| | | color: #025eef; |
| | | text-align: center; |
| | | border-radius: 44rpx; |
| | | border: 1rpx solid #025eef; |
| | | margin-right: 18rpx; |
| | | |
| | | &:last-child { |
| | | margin-right: 0 !important; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .popup-content { |
| | | padding: 30rpx 30rpx 0 30rpx; |
| | | overflow: hidden; |
| | | display: flex; |
| | | flex-flow: column; |
| | | |
| | | .respondent-title { |
| | | width: 100%; |
| | | text-align: center; |
| | | font-size: 32rpx; |
| | | font-weight: 600; |
| | | color: #222222; |
| | | } |
| | | |
| | | .search-box { |
| | | width: 100%; |
| | | margin-top: 40rpx; |
| | | |
| | | .search-box-top { |
| | | width: 100%; |
| | | height: 68rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | .search-box-top-ipt { |
| | | flex: 1; |
| | | height: 100%; |
| | | padding: 0 30rpx; |
| | | box-sizing: border-box; |
| | | background: #f7f7f7; |
| | | border-radius: 4rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | image { |
| | | width: 36rpx; |
| | | height: 36rpx; |
| | | flex-shrink: 0; |
| | | margin-right: 22rpx; |
| | | } |
| | | |
| | | input { |
| | | flex: 1; |
| | | height: 100%; |
| | | font-size: 26rpx; |
| | | font-weight: 400; |
| | | color: #b2b2b2; |
| | | } |
| | | } |
| | | |
| | | text { |
| | | flex-shrink: 0; |
| | | margin-left: 30rpx; |
| | | font-size: 28rpx; |
| | | font-weight: 400; |
| | | color: #025eef; |
| | | } |
| | | } |
| | | |
| | | .search-box-total { |
| | | font-size: 26rpx; |
| | | font-weight: 400; |
| | | color: #666666; |
| | | margin-top: 24rpx; |
| | | } |
| | | } |
| | | |
| | | .list { |
| | | width: 100%; |
| | | height: 800rpx; |
| | | margin-top: 30rpx; |
| | | padding: 0 !important; |
| | | |
| | | .item { |
| | | width: 100%; |
| | | height: 102rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | border-bottom: 1rpx solid #e5e5e5; |
| | | |
| | | .item_a { |
| | | flex-shrink: 0; |
| | | width: 36rpx; |
| | | height: 36rpx; |
| | | margin-right: 24rpx; |
| | | |
| | | image { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | } |
| | | |
| | | .item_b { |
| | | flex-shrink: 0; |
| | | width: 80rpx; |
| | | height: 80rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | overflow: hidden; |
| | | margin-right: 24rpx; |
| | | |
| | | image { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | } |
| | | |
| | | .item_c { |
| | | flex: 1; |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | text { |
| | | &:nth-child(1) { |
| | | font-size: 30rpx; |
| | | font-family: PingFangSC, PingFang SC; |
| | | font-weight: 400; |
| | | color: #222222; |
| | | } |
| | | |
| | | &:nth-child(2) { |
| | | font-size: 20rpx; |
| | | font-family: PingFangSC, PingFang SC; |
| | | font-weight: 400; |
| | | color: #999999; |
| | | padding: 1rpx 4rpx; |
| | | box-sizing: border-box; |
| | | background-color: #eeeeee; |
| | | margin-left: 12rpx; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .footer1 { |
| | | width: 100%; |
| | | height: 100rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | padding: 14rpx 0 0 0; |
| | | box-sizing: border-box; |
| | | |
| | | .footer_left { |
| | | flex: 1; |
| | | display: flex; |
| | | flex-direction: column; |
| | | |
| | | .footer_left_a { |
| | | font-size: 26rpx; |
| | | font-family: PingFangSC, PingFang SC; |
| | | font-weight: 400; |
| | | color: #333333; |
| | | } |
| | | |
| | | .footer_left_b { |
| | | font-size: 24rpx; |
| | | font-family: PingFangSC, PingFang SC; |
| | | font-weight: 400; |
| | | color: #999999; |
| | | } |
| | | } |
| | | |
| | | .footer_btn { |
| | | flex-shrink: 0; |
| | | width: 216rpx; |
| | | height: 72rpx; |
| | | line-height: 72rpx; |
| | | text-align: center; |
| | | background: #025eef; |
| | | border-radius: 8rpx; |
| | | font-size: 28rpx; |
| | | font-weight: 600; |
| | | color: #ffffff; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .head { |
| | | width: 100%; |
| | | padding: 20rpx 30rpx; |
| | | box-sizing: border-box; |
| | | font-size: 28rpx; |
| | | font-weight: 400; |
| | | color: #666666; |
| | | } |
| | | |
| | | .list { |
| | | width: 100%; |
| | | padding: 0 30rpx; |
| | | box-sizing: border-box; |
| | | background-color: #ffffff; |
| | | |
| | | .empty { |
| | | width: 750rpx; |
| | | height: 20rpx; |
| | | background-color: #f7f7f7; |
| | | margin: 0 -30rpx; |
| | | } |
| | | |
| | | .list_item { |
| | | width: 100%; |
| | | // min-height: 98rpx; |
| | | padding: 30rpx 0; |
| | | box-sizing: border-box; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | border-bottom: 1rpx solid #e5e5e5; |
| | | |
| | | .list_item_label { |
| | | flex-shrink: 0; |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | text { |
| | | &:nth-child(1) { |
| | | font-size: 30rpx; |
| | | font-weight: 400; |
| | | color: #e42d2d; |
| | | } |
| | | |
| | | &:nth-child(2) { |
| | | font-size: 30rpx; |
| | | font-weight: 400; |
| | | color: #222222; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .list_item_content { |
| | | flex: 1; |
| | | height: 100%; |
| | | margin-left: 30rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: flex-end; |
| | | |
| | | text { |
| | | font-size: 28rpx; |
| | | font-weight: 400; |
| | | color: #999999; |
| | | margin-right: 6rpx; |
| | | } |
| | | |
| | | input { |
| | | width: 100%; |
| | | height: 100%; |
| | | text-align: right; |
| | | font-size: 28rpx; |
| | | font-weight: 400; |
| | | color: #222222; |
| | | } |
| | | } |
| | | <<<<<<< HEAD |
| | | let arr = JSON.parse(JSON.stringify(this.withUserList)) |
| | | this.personnel.push(arr) |
| | | this.show3 = false |
| | | this.withUserList.name = '' |
| | | this.withUserList.phone = '' |
| | | this.withUserList.idcardType = '' |
| | | this.withUserList.idcardTypeName = '' |
| | | this.withUserList.companyName = '' |
| | | this.withUserList.idcardNo = '' |
| | | this.withUserList.faceImg = '' |
| | | this.withUserList.faceImgUrl = '' |
| | | this.withUserList.imgurl = '' |
| | | this.withUserList.imgurlUrl = '' |
| | | }, |
| | | upload(type) { |
| | | this.type = type |
| | | if (type === 'faceImg') { |
| | | this.$refs.cropper.open() |
| | | return |
| | | } |
| | | uni.chooseImage({ |
| | | success: (chooseImageRes) => { |
| | | // if (type === 'faceImg') { |
| | | // this.photoSrc = chooseImageRes.tempFilePaths[0]; |
| | | // this.$refs.tlyPictureCut.showPop(); |
| | | // return |
| | | // } |
| | | uni.showLoading({ title: '上传中', mask: true }); |
| | | for (let i = 0; i < chooseImageRes.tempFilePaths.length; i++) { |
| | | uni.uploadFile({ |
| | | url: `${this.$baseUrl}public/api/uploadFtp.do`, |
| | | filePath: chooseImageRes.tempFilePaths[i], |
| | | name: 'file', |
| | | formData: { |
| | |
| | | this.withUserList.idcardType = e.value[0].id |
| | | this.withUserList.idcardTypeName = e.value[0].name |
| | | this.show6 = false |
| | | }, |
| | | selectedName(e) { |
| | | this.form1.receptMemberName = e.value[0].name |
| | | this.form1.receptMemberId = e.value[0].id |
| | | this.form1.receptMemberDepartment = e.value[0].companyId |
| | | this.showName = false |
| | | }, |
| | | selectedReason(e) { |
| | | this.form1.reason = e.value[0].title |
| | | console.log(e.value[0].title); |
| | | this.showReason = false |
| | | }, |
| | | submitCart() { |
| | | if (!this.carName) return uni.showToast({ |
| | |
| | | }) |
| | | this.show5 = true |
| | | }, |
| | | setstarttime(e) { |
| | | setinDate(e) { |
| | | this.form1.starttime = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM'); |
| | | // this.maxTime = getDaysAfterDate(uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM'), this.day) |
| | | this.maxTime = this.form1.starttime |
| | | console.log(this.form1.starttime); |
| | | this.maxTime = getDaysAfterDate(uni.$u.timeFormat(e.value, 'yyyy-mm-dd'), this.day - 1) |
| | | this.show4 = false |
| | | }, |
| | | setendtime(e) { |
| | | setoutDate(e) { |
| | | this.form1.endtime = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM'); |
| | | this.show5 = false |
| | | }, |
| | |
| | | }, |
| | | // 查询用户 |
| | | getUser() { |
| | | getVisitedMember().then(res => { |
| | | this.VisitPoeple = [res.data || []] |
| | | }) |
| | | getVisitedVisitReason({}).then(res => { |
| | | this.VisitReason = [res.data || []] |
| | | }) |
| | | if (this.verify === '0') { |
| | | if (this.form1.phone1) { |
| | | this.$u.api.getVisitedMember({ |
| | | mobile: this.form1.phone1 |
| | | }).then(res => { |
| | | if (res.code === 200) { |
| | | this.form1.receptMemberId = res.data.id |
| | | this.form1.receptMemberName = res.data.name |
| | | } |
| | | }) |
| | | } |
| | | } else { |
| | | if (this.form1.phone1 && this.form1.receptMemberName) { |
| | | this.$u.api.getVisitedMember({ |
| | | mobile: this.form1.phone1, |
| | | name: this.form1.receptMemberName |
| | | }).then(res => { |
| | | if (res.code === 200) { |
| | | this.form1.receptMemberId = res.data.id |
| | | this.form1.receptMemberName = res.data.name |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | }, |
| | | // 被拜访人信息校验方式(0手机号单独校验 1手机号和姓名组合校验) |
| | | getUserValid() { |
| | | getSystemDictData({ |
| | | this.$u.api.getSystemDictData({ |
| | | dictCode: 'SYSTEM', |
| | | label: 'BEVISITED_USER_VALID' |
| | | }).then(res => { |
| | |
| | | }, |
| | | // 获取是否需要选择门禁/门禁列表 |
| | | getvisit() { |
| | | getSystemDictData({ |
| | | this.$u.api.getSystemDictData({ |
| | | dictCode: 'SYSTEM', |
| | | label: 'SELECT_DOORS_VISIT_REQUIRED' |
| | | }).then(res => { |
| | |
| | | flex-direction: column; |
| | | .list_item { |
| | | width: 100%; |
| | | ======= |
| | | .checkbox_wrap{ |
| | | >>>>>>> f0f08cc1ff84d45de32d8bff4a40e6a7d0d7a9e6 |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | text { |
| | | font-size: 28rpx; |
| | | color: #000000; |
| | | } |
| | | image { |
| | | width: 30rpx; |
| | | height: 30rpx; |
| | | } |
| | | } |
| | | } |
| | | .menjin_footer { |
| | | width: 100%; |
| | | padding: 30rpx; |
| | | box-sizing: border-box; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | .menjin_footer_item { |
| | | flex: 1; |
| | | height: 80rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | border-radius: 10rpx; |
| | | background-color: #025EEF; |
| | | color: #ffffff; |
| | | font-size: 26rpx; |
| | | margin-left: 30rpx; |
| | | &:first-child { |
| | | margin-left: 0 !important; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .adduser { |
| | | padding: 30rpx; |
| | | width: 100%; |
| | | box-sizing: border-box; |
| | | .adduser_head { |
| | | width: 100%; |
| | | text-align: center; |
| | | font-size: 32rpx; |
| | | font-family: PingFangSC, PingFang SC; |
| | | font-weight: 500; |
| | | color: #222222; |
| | | } |
| | | .adduser_list { |
| | | width: 100%; |
| | | margin-top: 40rpx; |
| | | .adduser_list_item { |
| | | width: 100%; |
| | | padding: 24rpx 0; |
| | | box-sizing: border-box; |
| | | border-bottom: 1rpx solid #E5E5E5; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | .adduser_list_item_label1 { |
| | | flex: 1; |
| | | display: flex; |
| | | flex-direction: column; |
| | | .cc { |
| | | font-size: 30rpx; |
| | | font-family: PingFangSC, PingFang SC; |
| | | font-weight: 400; |
| | | color: #222222; |
| | | margin-bottom: 20rpx; |
| | | b { |
| | | font-size: 30rpx; |
| | | font-family: PingFangSC, PingFang SC; |
| | | font-weight: 400; |
| | | color: #E0312A; |
| | | } |
| | | } |
| | | .aa { |
| | | font-size: 24rpx; |
| | | font-weight: 400; |
| | | color: #999999; |
| | | } |
| | | } |
| | | .adduser_list_item_label { |
| | | flex-shrink: 0; |
| | | .check_item{ |
| | | display: flex; |
| | | align-items: center; |
| | | text { |
| | | &:nth-child(1) { |
| | | font-size: 30rpx; |
| | | font-family: PingFangSC, PingFang SC; |
| | | font-weight: 400; |
| | | color: #222222; |
| | | } |
| | | &:nth-child(2) { |
| | | font-size: 30rpx; |
| | | font-family: PingFangSC, PingFang SC; |
| | | font-weight: 400; |
| | | color: #E0312A; |
| | | } |
| | | } |
| | | margin-left: 20rpx; |
| | | } |
| | | .adduser_list_item_ipt { |
| | | flex-shrink: 0; |
| | | text-align: right; |
| | | font-size: 28rpx; |
| | | font-family: PingFangSC, PingFang SC; |
| | | font-weight: 400; |
| | | color: #333333; |
| | | margin-left: 30rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: flex-end; |
| | | .adduser_list_item_ipt1_upload { |
| | | width: 120rpx; |
| | | height: 120rpx; |
| | | background-color: #ececec; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | overflow: hidden; |
| | | image { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | } |
| | | text { |
| | | font-size: 28rpx; |
| | | font-family: PingFangSC, PingFang SC; |
| | | font-weight: 400; |
| | | color: #999999; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .adduser_footer { |
| | | width: 100%; |
| | | margin-top: 60rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | .t { |
| | | background: #4d99a9 !important; |
| | | color: #ffffff !important; |
| | | } |
| | | .adduser_footer_item { |
| | | width: 336rpx; |
| | | height: 88rpx; |
| | | line-height: 88rpx; |
| | | text-align: center; |
| | | border-radius: 44rpx; |
| | | border: 1rpx solid #4d99a9; |
| | | font-size: 32rpx; |
| | | font-family: PingFangSC, PingFang SC; |
| | | font-weight: 400; |
| | | color: #4d99a9; |
| | | margin-right: 18rpx; |
| | | &:last-child { |
| | | margin: 0 !important; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .addcar { |
| | | padding: 30rpx; |
| | | width: 100%; |
| | | box-sizing: border-box; |
| | | .addcar_head { |
| | | text-align: center; |
| | | font-size: 32rpx; |
| | | font-family: PingFangSC, PingFang SC; |
| | | font-weight: 500; |
| | | color: #222222; |
| | | } |
| | | .addcar_ipt { |
| | | width: 100%; |
| | | height: 100rpx; |
| | | line-height: 100rpx; |
| | | text-align: center; |
| | | background: #F7F7F7; |
| | | border-radius: 50rpx; |
| | | margin-top: 60rpx; |
| | | input { |
| | | width: 100%; |
| | | height: 100%; |
| | | font-size: 28rpx; |
| | | font-weight: 400; |
| | | color: #000000; |
| | | text-align: center; |
| | | } |
| | | } |
| | | .addcar_footer { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | margin-top: 60rpx; |
| | | .t { |
| | | background: #4d99a9 !important; |
| | | color: #ffffff !important; |
| | | } |
| | | .addcar_footer_item { |
| | | flex: 1; |
| | | height: 88rpx; |
| | | line-height: 88rpx; |
| | | font-size: 32rpx; |
| | | font-weight: 400; |
| | | color: #025EEF; |
| | | text-align: center; |
| | | border-radius: 44rpx; |
| | | border: 1rpx solid #025EEF; |
| | | margin-right: 18rpx; |
| | | &:last-child { |
| | | margin-right: 0 !important; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .popup-content { |
| | | padding: 30rpx 30rpx 0 30rpx; |
| | | overflow: hidden; |
| | | display: flex; |
| | | flex-flow: column; |
| | | .respondent-title { |
| | | width: 100%; |
| | | text-align: center; |
| | | font-size: 32rpx; |
| | | font-weight: 500; |
| | | color: #222222; |
| | | } |
| | | .search-box { |
| | | width: 100%; |
| | | margin-top: 40rpx; |
| | | .search-box-top { |
| | | width: 100%; |
| | | height: 68rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | .search-box-top-ipt { |
| | | flex: 1; |
| | | height: 100%; |
| | | padding: 0 30rpx; |
| | | box-sizing: border-box; |
| | | background: #F7F7F7; |
| | | border-radius: 4rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | image { |
| | | width: 36rpx; |
| | | height: 36rpx; |
| | | flex-shrink: 0; |
| | | margin-right: 22rpx; |
| | | } |
| | | input { |
| | | flex: 1; |
| | | height: 100%; |
| | | font-size: 26rpx; |
| | | font-weight: 400; |
| | | color: #B2B2B2; |
| | | } |
| | | } |
| | | text { |
| | | flex-shrink: 0; |
| | | margin-left: 30rpx; |
| | | font-size: 28rpx; |
| | | font-weight: 400; |
| | | color: #025EEF; |
| | | } |
| | | } |
| | | .search-box-total { |
| | | font-size: 26rpx; |
| | | font-weight: 400; |
| | | color: #666666; |
| | | margin-top: 24rpx; |
| | | } |
| | | } |
| | | .list { |
| | | width: 100%; |
| | | height: 800rpx; |
| | | margin-top: 30rpx; |
| | | padding: 0 !important; |
| | | .item { |
| | | width: 100%; |
| | | height: 102rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | border-bottom: 1rpx solid #E5E5E5; |
| | | .item_a { |
| | | flex-shrink: 0; |
| | | width: 36rpx; |
| | | height: 36rpx; |
| | | margin-right: 24rpx; |
| | | image { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | } |
| | | .item_b { |
| | | flex-shrink: 0; |
| | | width: 80rpx; |
| | | height: 80rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | overflow: hidden; |
| | | margin-right: 24rpx; |
| | | image { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | } |
| | | .item_c { |
| | | flex: 1; |
| | | display: flex; |
| | | align-items: center; |
| | | text { |
| | | &:nth-child(1) { |
| | | font-size: 30rpx; |
| | | font-family: PingFangSC, PingFang SC; |
| | | font-weight: 400; |
| | | color: #222222; |
| | | } |
| | | &:nth-child(2) { |
| | | font-size: 20rpx; |
| | | font-family: PingFangSC, PingFang SC; |
| | | font-weight: 400; |
| | | color: #999999; |
| | | padding: 1rpx 4rpx; |
| | | box-sizing: border-box; |
| | | background-color: #EEEEEE; |
| | | margin-left: 12rpx; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .footer1 { |
| | | width: 100%; |
| | | height: 100rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | padding: 14rpx 0 0 0; |
| | | box-sizing: border-box; |
| | | .footer_left { |
| | | flex: 1; |
| | | display: flex; |
| | | flex-direction: column; |
| | | .footer_left_a { |
| | | font-size: 26rpx; |
| | | font-family: PingFangSC, PingFang SC; |
| | | font-weight: 400; |
| | | color: #333333; |
| | | } |
| | | .footer_left_b { |
| | | font-size: 24rpx; |
| | | font-family: PingFangSC, PingFang SC; |
| | | font-weight: 400; |
| | | color: #999999; |
| | | } |
| | | } |
| | | .footer_btn { |
| | | flex-shrink: 0; |
| | | width: 216rpx; |
| | | height: 72rpx; |
| | | line-height: 72rpx; |
| | | text-align: center; |
| | | background: #025EEF; |
| | | border-radius: 8rpx; |
| | | font-size: 28rpx; |
| | | font-weight: 500; |
| | | color: #FFFFFF; |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | .head { |
| | | width: 100%; |
| | | padding: 20rpx 30rpx; |
| | | box-sizing: border-box; |
| | | font-size: 28rpx; |
| | | font-weight: 400; |
| | | color: #666666; |
| | | } |
| | | |
| | | .list { |
| | | width: 100%; |
| | | padding: 0 30rpx; |
| | | box-sizing: border-box; |
| | | background-color: #ffffff; |
| | | .empty{ |
| | | width: 750rpx; |
| | | height: 20rpx; |
| | | background-color: #f7f7f7; |
| | | margin: 0 -30rpx; |
| | | } |
| | | .list_item { |
| | | width: 100%; |
| | | // min-height: 98rpx; |
| | | padding: 30rpx 0; |
| | | box-sizing: border-box; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | border-bottom: 1rpx solid #E5E5E5; |
| | | |
| | | .list_item_label { |
| | | flex-shrink: 0; |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | text { |
| | | &:nth-child(1) { |
| | | font-size: 30rpx; |
| | | font-weight: 400; |
| | | color: #222222; |
| | | } |
| | | |
| | | &:nth-child(2) { |
| | | font-size: 30rpx; |
| | | font-weight: 400; |
| | | color: #E42D2D; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .list_item_content { |
| | | flex: 1; |
| | | height: 100%; |
| | | margin-left: 30rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: flex-end; |
| | | |
| | | text { |
| | | font-size: 28rpx; |
| | | font-weight: 400; |
| | | color: #999999; |
| | | margin-right: 6rpx; |
| | | } |
| | | |
| | | input { |
| | | width: 100%; |
| | | height: 100%; |
| | | text-align: right; |
| | | font-size: 28rpx; |
| | | font-weight: 400; |
| | | color: #222222; |
| | | image{ |
| | | width: 42rpx; |
| | | height: 42rpx; |
| | | margin-left: 10rpx; |
| | | } |
| | | } |
| | | } |
| | |
| | | padding: 30rpx; |
| | | box-sizing: border-box; |
| | | background-color: #ffffff; |
| | | |
| | | .cate_head { |
| | | font-size: 32rpx; |
| | | font-family: PingFangSC, PingFang SC; |
| | | font-weight: 500; |
| | | font-weight: 600; |
| | | color: #222222; |
| | | } |
| | | |
| | |
| | | height: 64rpx; |
| | | padding: 0 20rpx; |
| | | box-sizing: border-box; |
| | | background-color: #EEEEEE; |
| | | background-color: #eeeeee; |
| | | border-radius: 4rpx; |
| | | margin-right: 20rpx; |
| | | margin-bottom: 20rpx; |
| | |
| | | padding: 0 30rpx; |
| | | padding-bottom: env(safe-area-inset-bottom); |
| | | box-sizing: border-box; |
| | | position: fixed; |
| | | left: 0; |
| | | bottom: 30rpx; |
| | | margin-top: 80rpx; |
| | | // position: fixed; |
| | | // left: 0; |
| | | // bottom: 30rpx; |
| | | |
| | | .footer_btn { |
| | | width: 100%; |
| | |
| | | background: #4c99a8; |
| | | border-radius: 44rpx; |
| | | font-size: 32rpx; |
| | | font-weight: 500; |
| | | color: #FFFFFF; |
| | | font-weight: 600; |
| | | color: #ffffff; |
| | | } |
| | | } |
| | | } |