|  |  |  | 
|---|
|  |  |  | <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> | 
|---|
|  |  |  | <text>被访人</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="list_item_content"> | 
|---|
|  |  |  | <input type="number" maxlength="11" v-model="form1.phone1" placeholder="请输入手机号" @blur="getUser" placeholder-style="color: #999999;" /> | 
|---|
|  |  |  | <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> | 
|---|
|  |  |  | </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> | 
|---|
|  |  |  | <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="show5 = true"> | 
|---|
|  |  |  | <text :style="{color: form1.endtime ? '#000000' : ''}">{{form1.endtime ? form1.endtime : '请选择'}}</text> | 
|---|
|  |  |  | <view class="list_item_content" @click="openLC"> | 
|---|
|  |  |  | <text :style="{ color: form1.endtime ? '#000000' : '' }">{{ | 
|---|
|  |  |  | form1.endtime ? form1.endtime : "请选择" | 
|---|
|  |  |  | }}</text> | 
|---|
|  |  |  | <u-icon name="arrow-right" color="#CCCCCC" size="20"></u-icon> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="list_item" v-if="accessControl === '1'" @click="show = true"> | 
|---|
|  |  |  | <!-- <view class="list_item" v-if="accessControl === '1'" @click="show = true"> | 
|---|
|  |  |  | <view class="list_item_label"> | 
|---|
|  |  |  | <text>访问门禁</text> | 
|---|
|  |  |  | <text>*</text> | 
|---|
|  |  |  | 
|---|
|  |  |  | <text :style="{color: form1.doorSelectName ? '#000000' : ''}">{{form1.doorSelectName ? form1.doorSelectName : '请选择'}}</text> | 
|---|
|  |  |  | <u-icon name="arrow-right" color="#CCCCCC" size="20"></u-icon> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> --> | 
|---|
|  |  |  | <div class="empty"></div> | 
|---|
|  |  |  | <view class="list_item"> | 
|---|
|  |  |  | <view class="list_item_label"> | 
|---|
|  |  |  | <text>*</text> | 
|---|
|  |  |  | <text>拜访事由</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="list_item_content" @click="showReason = true"> | 
|---|
|  |  |  | <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> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="list_item_content"> | 
|---|
|  |  |  | <input type="text" v-model="form1.reason" placeholder="请输入来访事由,您来做什么的" placeholder-style="color: #999999;" /> | 
|---|
|  |  |  | <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> --> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="list_item_content"> | 
|---|
|  |  |  | <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"> | 
|---|
|  |  |  | <input type="text" placeholder="请输入车牌号" v-model="form1.carNos" maxlength="8" placeholder-style="color: #999999;" /> | 
|---|
|  |  |  | <view class="list_item_content" @click="openInput(1)"> | 
|---|
|  |  |  | <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="cate"> | 
|---|
|  |  |  | <view class="cate_head">车辆信息</view> | 
|---|
|  |  |  | <view class="cate_list"> | 
|---|
|  |  |  | <view class="cate_list_item" v-for="(item, index) in cars" :key="index"> | 
|---|
|  |  |  | <text>{{item}}</text> | 
|---|
|  |  |  | <u-icon name="close" color="#999999" size="20" @click="deleCars(index)"></u-icon> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="cate_add" @click="show2 = true">+添加车辆</view> | 
|---|
|  |  |  | </view> --> | 
|---|
|  |  |  | <view class="cate"> | 
|---|
|  |  |  | <view class="cate_head">随访人员信息</view> | 
|---|
|  |  |  | <view class="cate_list"> | 
|---|
|  |  |  | <view class="cate_list_item" v-for="(item,index) in personnel" :key="index"> | 
|---|
|  |  |  | <text>{{item.name}}</text> | 
|---|
|  |  |  | <u-icon name="close" color="#999999" size="20" @click="deleUser(index)"></u-icon> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="cate_add" @click="show3 = true">+添加随访人员</view> | 
|---|
|  |  |  | <view class="footer-box"> | 
|---|
|  |  |  | <view class="submit-button" @click="onSubmit">提交</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="zw"></view> | 
|---|
|  |  |  | <view class="footer"> | 
|---|
|  |  |  | <view class="footer_btn" @click="submit">提交</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <!-- 入场时间 --> | 
|---|
|  |  |  | <u-datetime-picker | 
|---|
|  |  |  | :show="show4" | 
|---|
|  |  |  | :minDate="new Date().getTime()" | 
|---|
|  |  |  | mode="datetime" | 
|---|
|  |  |  | @cancel="show4 = false" | 
|---|
|  |  |  | @confirm="setinDate" | 
|---|
|  |  |  | ></u-datetime-picker> | 
|---|
|  |  |  | <!-- 离场时间 --> | 
|---|
|  |  |  | <u-datetime-picker | 
|---|
|  |  |  | :show="show5" | 
|---|
|  |  |  | :minDate="new Date().getTime()" | 
|---|
|  |  |  | mode="datetime" | 
|---|
|  |  |  | @cancel="show5 = false" | 
|---|
|  |  |  | @confirm="setoutDate" | 
|---|
|  |  |  | ></u-datetime-picker> | 
|---|
|  |  |  | <!-- 入园时间 --> | 
|---|
|  |  |  | <u-datetime-picker :show="show4" :minDate="new Date().getTime()" :formatter="formatter" mode="datetime" | 
|---|
|  |  |  | @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" 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"> | 
|---|
|  |  |  | <input type="text" v-model="withUserList.carNos" placeholder-style="color: #999999;font-size: 28rpx;" placeholder="请输入车牌号" /> | 
|---|
|  |  |  | <view class="adduser_list_item_ipt" @click="openInput(2)"> | 
|---|
|  |  |  | <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 class="adduser_list_item"> | 
|---|
|  |  |  | 
|---|
|  |  |  | </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> | 
|---|
|  |  |  | <!-- <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> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </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 { | 
|---|
|  |  |  | getVisitedMember, | 
|---|
|  |  |  | getSystemDictData, | 
|---|
|  |  |  | getVisitedVisitReason, | 
|---|
|  |  |  | createFk | 
|---|
|  |  |  | } from '@/api' | 
|---|
|  |  |  | export default { | 
|---|
|  |  |  | data() { | 
|---|
|  |  |  | return { | 
|---|
|  |  |  | photoSrc: '', | 
|---|
|  |  |  | type: '', | 
|---|
|  |  |  | inputType: '', | 
|---|
|  |  |  | showName: false, | 
|---|
|  |  |  | show: false, | 
|---|
|  |  |  | show1: false, | 
|---|
|  |  |  | show2: false, | 
|---|
|  |  |  | 
|---|
|  |  |  | show4: false, | 
|---|
|  |  |  | show5: false, | 
|---|
|  |  |  | show6: false, | 
|---|
|  |  |  | show7: false, | 
|---|
|  |  |  | showReason: false, | 
|---|
|  |  |  | fileList: [], | 
|---|
|  |  |  | columns1: [[{name: '身份证', id: 0}, {name: '港澳证件', id: 1},{name: '护照', id: 2}]], | 
|---|
|  |  |  | columns1: [ | 
|---|
|  |  |  | [{ | 
|---|
|  |  |  | name: '身份证', | 
|---|
|  |  |  | id: 0 | 
|---|
|  |  |  | }, { | 
|---|
|  |  |  | name: '港澳证件', | 
|---|
|  |  |  | id: 1 | 
|---|
|  |  |  | }, { | 
|---|
|  |  |  | name: '护照', | 
|---|
|  |  |  | id: 2 | 
|---|
|  |  |  | }], | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | VisitReason: [], | 
|---|
|  |  |  | VisitPoeple: [], | 
|---|
|  |  |  | columns: [], | 
|---|
|  |  |  | cars: [], | 
|---|
|  |  |  | day: null, | 
|---|
|  |  |  | maxTime: '', | 
|---|
|  |  |  | carName: '', | 
|---|
|  |  |  | personnel: [], | 
|---|
|  |  |  | userAnswerId: '', | 
|---|
|  |  |  | 
|---|
|  |  |  | doors: '', | 
|---|
|  |  |  | doorSelectName: '', | 
|---|
|  |  |  | reason: '', | 
|---|
|  |  |  | carNos: '' | 
|---|
|  |  |  | carNos: '', | 
|---|
|  |  |  | type: 0 | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | withUserList: { | 
|---|
|  |  |  | name: '', | 
|---|
|  |  |  | 
|---|
|  |  |  | form: {}, | 
|---|
|  |  |  | accessControl: '', | 
|---|
|  |  |  | verify: '' | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | components: { | 
|---|
|  |  |  | tlyPictureCut, | 
|---|
|  |  |  | keyboardInput, | 
|---|
|  |  |  | QfImageCropper | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | onLoad(options) { | 
|---|
|  |  |  | this.form = JSON.parse(options.data) | 
|---|
|  |  |  | this.getvisit() | 
|---|
|  |  |  | this.getVisit1() | 
|---|
|  |  |  | this.getUserValid() | 
|---|
|  |  |  | if (options.data) { | 
|---|
|  |  |  | this.form = JSON.parse(options.data) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // this.getvisit() | 
|---|
|  |  |  | // this.getVisit1() | 
|---|
|  |  |  | // 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: { | 
|---|
|  |  |  | formatter(type, value) { | 
|---|
|  |  |  | // if (type === 'year') { | 
|---|
|  |  |  | //    return `${value}年` | 
|---|
|  |  |  | // } | 
|---|
|  |  |  | // if (type === 'month') { | 
|---|
|  |  |  | //    return `${value}月` | 
|---|
|  |  |  | // } | 
|---|
|  |  |  | // if (type === 'day') { | 
|---|
|  |  |  | //    return `${value}日` | 
|---|
|  |  |  | // } | 
|---|
|  |  |  | if (type === 'year') { | 
|---|
|  |  |  | return `${value}年` | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (type === 'month') { | 
|---|
|  |  |  | return `${value}月` | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (type === 'day') { | 
|---|
|  |  |  | return `${value}日` | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (type === 'hour') { | 
|---|
|  |  |  | return `${value}时` | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (type === 'minute') { | 
|---|
|  |  |  | return `${value}分` | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // this.$forceUpdate() | 
|---|
|  |  |  | // this.closeInput() | 
|---|
|  |  |  | return value | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | closeInput() { | 
|---|
|  |  |  | this.$refs.keyboard.close() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | uploadImg(file) { | 
|---|
|  |  |  | this.$refs.cropper.close() | 
|---|
|  |  |  | uni.showLoading({ title: '上传中', mask: true }); | 
|---|
|  |  |  | uni.uploadFile({ | 
|---|
|  |  |  | url: `${this.$baseUrl}public/api/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 => { | 
|---|
|  |  |  | 
|---|
|  |  |  | title: '离场时间不能为空', | 
|---|
|  |  |  | icon: 'none' | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | if (!this.form1.doorSelectName) return uni.showToast({ | 
|---|
|  |  |  | if (!this.form1.doorSelectName && this.accessControl == 1) return uni.showToast({ | 
|---|
|  |  |  | title: '访问门禁不能为空', | 
|---|
|  |  |  | icon: 'none' | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | // if (!this.form1.reason) 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)) | 
|---|
|  |  |  | 
|---|
|  |  |  | withUserList: this.personnel | 
|---|
|  |  |  | }).then(res => { | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | console.log(res) | 
|---|
|  |  |  | uni.reLaunch({ | 
|---|
|  |  |  | url: `/pages/appointmentDetails/appointmentDetails?id=${res.data}` | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | 
|---|
|  |  |  | }).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)) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 
|---|
|  |  |  | icon: 'none' | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (type === 'hour') { | 
|---|
|  |  |  | return `${value}时` | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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}` | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 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 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | // 起始时间时长 | 
|---|
|  |  |  | getSystemDictData({ | 
|---|
|  |  |  | dictCode: 'VISIT_CONFIG', | 
|---|
|  |  |  | label: 'VALIDATE_VISIT' | 
|---|
|  |  |  | }).then(res => { | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | this.day = Number(res.data.code) | 
|---|
|  |  |  | // 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 (!this.withUserList.companyName) return uni.showToast({ | 
|---|
|  |  |  | title: '公司不能为空', | 
|---|
|  |  |  | icon: 'none' | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | if (!this.withUserList.faceImg) return uni.showToast({ | 
|---|
|  |  |  | title: '人脸照片不能为空', | 
|---|
|  |  |  | icon: 'none' | 
|---|
|  |  |  | 
|---|
|  |  |  | this.withUserList.imgurlUrl = '' | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | upload(type) { | 
|---|
|  |  |  | this.type = type | 
|---|
|  |  |  | if (type === 'faceImg') { | 
|---|
|  |  |  | this.$refs.cropper.open() | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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}public/api/uploadFtp.do`, | 
|---|
|  |  |  | url: `${this.$baseUrl}visitsAdmin/cloudService/web/public/uploadFtp.do`, | 
|---|
|  |  |  | filePath: chooseImageRes.tempFilePaths[i], | 
|---|
|  |  |  | name: 'file', | 
|---|
|  |  |  | formData: { | 
|---|
|  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | complete() { | 
|---|
|  |  |  | if (i === chooseImageRes.tempFilePaths.length - 1) { | 
|---|
|  |  |  | uni.hideLoading(); | 
|---|
|  |  |  | 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 | 
|---|
|  |  |  | this.form1.type = e.value[0].constructionType | 
|---|
|  |  |  | console.log(e.value[0].title) | 
|---|
|  |  |  | console.log(e.value[0].constructionType) | 
|---|
|  |  |  | this.showReason = false | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | submitCart() { | 
|---|
|  |  |  | if (!this.carName) return uni.showToast({ | 
|---|
|  |  |  | 
|---|
|  |  |  | this.show = false | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | seleMJ(i) { | 
|---|
|  |  |  | this.columns.forEach((item,index) => { | 
|---|
|  |  |  | this.columns.forEach((item, index) => { | 
|---|
|  |  |  | if (index === i) { | 
|---|
|  |  |  | item.active = !item.active | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | setinDate(e) { | 
|---|
|  |  |  | this.form1.starttime = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM'); | 
|---|
|  |  |  | 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 | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | setoutDate(e) { | 
|---|
|  |  |  | this.form1.endtime = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM'); | 
|---|
|  |  |  | 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() { | 
|---|
|  |  |  | console.log(this.verify) | 
|---|
|  |  |  | console.log(this.form1.phone1) | 
|---|
|  |  |  | console.log(this.form1.receptMemberName) | 
|---|
|  |  |  | 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 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | getVisitedMember().then(res => { | 
|---|
|  |  |  | this.VisitPoeple = [res.data || []] | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | getVisitedVisitReason({}).then(res => { | 
|---|
|  |  |  | this.VisitReason = [res.data || []] | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 被拜访人信息校验方式(0手机号单独校验 1手机号和姓名组合校验) | 
|---|
|  |  |  | getUserValid() { | 
|---|
|  |  |  | this.$u.api.getSystemDictData({ | 
|---|
|  |  |  | getSystemDictData({ | 
|---|
|  |  |  | dictCode: 'SYSTEM', | 
|---|
|  |  |  | label: 'BEVISITED_USER_VALID' | 
|---|
|  |  |  | }).then(res => { | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | console.log(res) | 
|---|
|  |  |  | this.verify = res.data.code | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 获取是否需要选择门禁/门禁列表 | 
|---|
|  |  |  | getvisit() { | 
|---|
|  |  |  | this.$u.api.getSystemDictData({ | 
|---|
|  |  |  | 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 }) | 
|---|
|  |  |  | this.$u.api.deviceRoleList({ | 
|---|
|  |  |  | type: 1 | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .then(device => { | 
|---|
|  |  |  | if (device.code === 200) { | 
|---|
|  |  |  | if (device.data.length > 0) { | 
|---|
|  |  |  | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  | <style> | 
|---|
|  |  |  | page { | 
|---|
|  |  |  | background-color: #F7F7F7 !important; | 
|---|
|  |  |  | background-color: #f7f7f7 !important; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .u-upload__button { | 
|---|
|  |  |  | margin: 0 !important; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | <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: 500; | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | justify-content: space-between; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .menjin_footer_item { | 
|---|
|  |  |  | flex: 1; | 
|---|
|  |  |  | height: 80rpx; | 
|---|
|  |  |  | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | justify-content: center; | 
|---|
|  |  |  | border-radius: 10rpx; | 
|---|
|  |  |  | background-color: #025EEF; | 
|---|
|  |  |  | 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: 500; | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | 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) { | 
|---|
|  |  |  | font-size: 30rpx; | 
|---|
|  |  |  | font-family: PingFangSC, PingFang SC; | 
|---|
|  |  |  | font-weight: 400; | 
|---|
|  |  |  | color: #222222; | 
|---|
|  |  |  | color: #e0312a; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | &:nth-child(2) { | 
|---|
|  |  |  | font-size: 30rpx; | 
|---|
|  |  |  | font-family: PingFangSC, PingFang SC; | 
|---|
|  |  |  | font-weight: 400; | 
|---|
|  |  |  | color: #E0312A; | 
|---|
|  |  |  | color: #222222; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .adduser_list_item_ipt { | 
|---|
|  |  |  | flex-shrink: 0; | 
|---|
|  |  |  | text-align: right; | 
|---|
|  |  |  | 
|---|
|  |  |  | font-family: PingFangSC, PingFang SC; | 
|---|
|  |  |  | font-weight: 400; | 
|---|
|  |  |  | color: #333333; | 
|---|
|  |  |  | margin-left: 30rpx; | 
|---|
|  |  |  | margin-left: 30rpx; | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | justify-content: flex-end; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .adduser_list_item_ipt1_upload { | 
|---|
|  |  |  | width: 120rpx; | 
|---|
|  |  |  | height: 120rpx; | 
|---|
|  |  |  | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | justify-content: center; | 
|---|
|  |  |  | overflow: hidden; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | image { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | height: 100%; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | text { | 
|---|
|  |  |  | font-size: 28rpx; | 
|---|
|  |  |  | font-family: PingFangSC, PingFang SC; | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .adduser_footer { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | margin-top: 60rpx; | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | justify-content: space-between; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .t { | 
|---|
|  |  |  | background: #025EEF !important; | 
|---|
|  |  |  | 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 #025EEF; | 
|---|
|  |  |  | border: 1rpx solid #4d99a9; | 
|---|
|  |  |  | font-size: 32rpx; | 
|---|
|  |  |  | font-family: PingFangSC, PingFang SC; | 
|---|
|  |  |  | font-weight: 400; | 
|---|
|  |  |  | color: #025EEF; | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | font-weight: 600; | 
|---|
|  |  |  | color: #222222; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .addcar_ipt { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | height: 100rpx; | 
|---|
|  |  |  | line-height: 100rpx; | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | background: #F7F7F7; | 
|---|
|  |  |  | background: #f7f7f7; | 
|---|
|  |  |  | border-radius: 50rpx; | 
|---|
|  |  |  | margin-top: 60rpx; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | input { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | height: 100%; | 
|---|
|  |  |  | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .addcar_footer { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | justify-content: space-between; | 
|---|
|  |  |  | margin-top: 60rpx; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .t { | 
|---|
|  |  |  | background: #025EEF !important; | 
|---|
|  |  |  | background: #4d99a9 !important; | 
|---|
|  |  |  | color: #ffffff !important; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .addcar_footer_item { | 
|---|
|  |  |  | flex: 1; | 
|---|
|  |  |  | height: 88rpx; | 
|---|
|  |  |  | line-height: 88rpx; | 
|---|
|  |  |  | font-size: 32rpx; | 
|---|
|  |  |  | font-weight: 400; | 
|---|
|  |  |  | color: #025EEF; | 
|---|
|  |  |  | color: #025eef; | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | border-radius: 44rpx; | 
|---|
|  |  |  | border: 1rpx solid #025EEF; | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | color: #b2b2b2; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | text { | 
|---|
|  |  |  | flex-shrink: 0; | 
|---|
|  |  |  | margin-left: 30rpx; | 
|---|
|  |  |  | font-size: 28rpx; | 
|---|
|  |  |  | font-weight: 400; | 
|---|
|  |  |  | color: #025EEF; | 
|---|
|  |  |  | color: #025eef; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .search-box-total { | 
|---|
|  |  |  | font-size: 26rpx; | 
|---|
|  |  |  | font-weight: 400; | 
|---|
|  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | 
|---|
|  |  |  | 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-weight: 400; | 
|---|
|  |  |  | color: #222222; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | &:nth-child(2) { | 
|---|
|  |  |  | font-size: 20rpx; | 
|---|
|  |  |  | font-family: PingFangSC, PingFang SC; | 
|---|
|  |  |  | 
|---|
|  |  |  | color: #999999; | 
|---|
|  |  |  | padding: 1rpx 4rpx; | 
|---|
|  |  |  | box-sizing: border-box; | 
|---|
|  |  |  | background-color: #EEEEEE; | 
|---|
|  |  |  | background-color: #eeeeee; | 
|---|
|  |  |  | margin-left: 12rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .footer1 { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | height: 100rpx; | 
|---|
|  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | 
|---|
|  |  |  | color: #999999; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .footer_btn { | 
|---|
|  |  |  | flex-shrink: 0; | 
|---|
|  |  |  | width: 216rpx; | 
|---|
|  |  |  | height: 72rpx; | 
|---|
|  |  |  | line-height: 72rpx; | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | background: #025EEF; | 
|---|
|  |  |  | background: #025eef; | 
|---|
|  |  |  | border-radius: 8rpx; | 
|---|
|  |  |  | font-size: 28rpx; | 
|---|
|  |  |  | font-weight: 500; | 
|---|
|  |  |  | color: #FFFFFF; | 
|---|
|  |  |  | font-weight: 600; | 
|---|
|  |  |  | color: #ffffff; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .footer-box { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | position: fixed; | 
|---|
|  |  |  | bottom: 30rpx; | 
|---|
|  |  |  | height: 80rpx; | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | justify-content: center; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | .submit-button { | 
|---|
|  |  |  | width: calc(100% - 60rpx); | 
|---|
|  |  |  | height: 88rpx; | 
|---|
|  |  |  | line-height: 88rpx; | 
|---|
|  |  |  | background: #4d99a8; | 
|---|
|  |  |  | border-radius: 4rpx; | 
|---|
|  |  |  | color: #fff; | 
|---|
|  |  |  | border-radius: 44rpx; | 
|---|
|  |  |  | font-size: 32rpx; | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | justify-content: center; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .head { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | 
|---|
|  |  |  | box-sizing: border-box; | 
|---|
|  |  |  | background-color: #ffffff; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .empty { | 
|---|
|  |  |  | width: 750rpx; | 
|---|
|  |  |  | height: 20rpx; | 
|---|
|  |  |  | background-color: #f7f7f7; | 
|---|
|  |  |  | margin: 0 -30rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .list_item { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | height: 98rpx; | 
|---|
|  |  |  | // min-height: 98rpx; | 
|---|
|  |  |  | padding: 30rpx 0; | 
|---|
|  |  |  | box-sizing: border-box; | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | justify-content: space-between; | 
|---|
|  |  |  | border-bottom: 1rpx solid #E5E5E5; | 
|---|
|  |  |  | border-bottom: 1rpx solid #e5e5e5; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .list_item_label { | 
|---|
|  |  |  | flex-shrink: 0; | 
|---|
|  |  |  | 
|---|
|  |  |  | &:nth-child(1) { | 
|---|
|  |  |  | font-size: 30rpx; | 
|---|
|  |  |  | font-weight: 400; | 
|---|
|  |  |  | color: #222222; | 
|---|
|  |  |  | color: #e42d2d; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | &:nth-child(2) { | 
|---|
|  |  |  | font-size: 30rpx; | 
|---|
|  |  |  | font-weight: 400; | 
|---|
|  |  |  | color: #E42D2D; | 
|---|
|  |  |  | color: #222222; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | color: #222222; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .cate { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | padding: 30rpx; | 
|---|
|  |  |  | box-sizing: border-box; | 
|---|
|  |  |  | background-color: #ffffff; | 
|---|
|  |  |  | margin-top: 20rpx; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .cate_head { | 
|---|
|  |  |  | font-size: 32rpx; | 
|---|
|  |  |  | font-family: PingFangSC, PingFang SC; | 
|---|
|  |  |  | font-weight: 500; | 
|---|
|  |  |  | color: #222222; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .cate_list { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | flex-wrap: wrap; | 
|---|
|  |  |  | margin-top: 30rpx; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .cate_list_item { | 
|---|
|  |  |  | height: 64rpx; | 
|---|
|  |  |  | padding: 0 20rpx; | 
|---|
|  |  |  | box-sizing: border-box; | 
|---|
|  |  |  | background-color: #EEEEEE; | 
|---|
|  |  |  | border-radius: 4rpx; | 
|---|
|  |  |  | margin-right: 20rpx; | 
|---|
|  |  |  | margin-bottom: 20rpx; | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | &:last-child { | 
|---|
|  |  |  | margin-right: 0 !important; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | text { | 
|---|
|  |  |  | font-size: 26rpx; | 
|---|
|  |  |  | font-family: PingFangSC, PingFang SC; | 
|---|
|  |  |  | font-weight: 400; | 
|---|
|  |  |  | color: #333333; | 
|---|
|  |  |  | margin-right: 30rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .cate_add { | 
|---|
|  |  |  | width: 200rpx; | 
|---|
|  |  |  | height: 50rpx; | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | justify-content: center; | 
|---|
|  |  |  | background: rgba(2, 94, 239, 0); | 
|---|
|  |  |  | border-radius: 25rpx; | 
|---|
|  |  |  | border: 1rpx solid #025EEF; | 
|---|
|  |  |  | font-size: 22rpx; | 
|---|
|  |  |  | font-family: PingFangSC, PingFang SC; | 
|---|
|  |  |  | font-weight: 400; | 
|---|
|  |  |  | margin-top: 20rpx; | 
|---|
|  |  |  | color: #025EEF; | 
|---|
|  |  |  | margin: 0 auto; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .zw { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | height: calc(env(safe-area-inset-bottom) + 118rpx); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .footer { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | padding: 0 30rpx; | 
|---|
|  |  |  | padding-bottom: env(safe-area-inset-bottom); | 
|---|
|  |  |  | box-sizing: border-box; | 
|---|
|  |  |  | position: fixed; | 
|---|
|  |  |  | left: 0; | 
|---|
|  |  |  | bottom: 30rpx; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .footer_btn { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | height: 88rpx; | 
|---|
|  |  |  | line-height: 88rpx; | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | background: #025EEF; | 
|---|
|  |  |  | border-radius: 44rpx; | 
|---|
|  |  |  | font-size: 32rpx; | 
|---|
|  |  |  | font-weight: 500; | 
|---|
|  |  |  | color: #FFFFFF; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|