From b62578f8b43f15be89b3d14f463f11aed03e6fb9 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期四, 09 五月 2024 18:57:25 +0800 Subject: [PATCH] 最新版本 --- admin/src/components/business/OperaVisitsDesWindow.vue | 127 +++++++++++++++++++++++++++++++++++++---- 1 files changed, 113 insertions(+), 14 deletions(-) diff --git a/admin/src/components/business/OperaVisitsDesWindow.vue b/admin/src/components/business/OperaVisitsDesWindow.vue index 9cf9b28..45149da 100644 --- a/admin/src/components/business/OperaVisitsDesWindow.vue +++ b/admin/src/components/business/OperaVisitsDesWindow.vue @@ -1,35 +1,58 @@ <template> <GlobalWindow :title="title" - width="60%" + width="70%" :visible.sync="visible" + append-to-body :confirm-working="isWorking" @confirm="confirm" > <div class="list"> <div class="list_item"> <div class="list_item_label">鎷滆淇℃伅</div> - <div class="list_item_val" v-if="info"> + <div class="list_item_val" v-if="info" style="display: inline-block"> <div class="list_item_val_item">鎷滆瀵规柟锛歿{info.receptMemberName}} - {{info.receptMemberDepartment}}</div> - <div class="list_item_val_item">鎷滆鏃堕棿锛歿{info.starttime}} 鑷� {{info.endtime}}</div> + <div class="list_item_val_item">棰勭害鏃堕棿锛歿{info.starttime}} 鑷� {{info.endtime}}</div> + <div class="list_item_val_item" v-if="info.inDate && info.outDate">绛惧埌鏃堕棿锛歿{info.inDate}} 鑷� {{info.outDate}}</div> + <div class="list_item_val_item" v-else>绛惧埌鏃堕棿锛�-</div> <div class="list_item_val_item">鎷滆浜嬬敱锛歿{info.reason}}</div> <div class="list_item_val_item">鐢宠浜哄憳锛歿{info.name}} {{info.companyName}}</div> - <div class="list_item_val_item">鐢宠闂ㄧ锛歿{info.deviceList ? info.deviceList.map(item => item.name).join(',') : ''}}</div> + <div class="list_item_val_item">鐢宠闂ㄧ锛歿{info.deviceRoleList ? info.deviceRoleList.map(item => item.name).join(' | ') : '-'}}</div> <div class="list_item_val_item">鍒涘缓鏃堕棿锛歿{info.createDate}}</div> </div> - </div> + <div class="list_item_val" v-if="info" style="display: inline-block;float: right"> + <div class="list_item_val_item" id="qrcode2" ref="qrcode2"></div> + </div> + </div> <div class="list_item"> <div class="list_item_label">璁垮淇℃伅</div> - <div class="list_item_info" v-if="info">闅忚杞﹁締锛歿{info.carNos}}</div> <div class="list_item_table" v-if="info"> <el-table - :data="info.lwWithUserList ? info.lwWithUserList : []" + :data="info.withUserList ? info.withUserList : []" border :header-cell-style="{background: '#dcdde2', color: 'rgb(51, 51, 51)'}" style="width: 100%"> + <el-table-column prop="status" label="鐘舵��" min-width="100px"> + <template slot-scope="{row}"> + <span style="color: rgba(245, 154, 35, 0.996);" v-if="row.status === 0">寰呮彁浜ゅ鎵�</span> + <span v-if="row.status === 1">瀹℃壒涓�</span> + <span v-if="row.status === 2">瀹℃牳閫氳繃</span> + <span style="color: red;" v-if="row.status === 3">瀹℃牳涓嶉�氳繃</span> + <span v-if="row.status === 4">鍙栨秷</span> + <span v-if="row.status === 5">棰勭害鎴愬姛</span> + <span v-if="row.status === 6">棰勭害澶辫触</span> + <span v-if="row.status === 7">鎷滆涓�</span> + <span v-if="row.status === 8">宸茬绂�</span> + <span v-if="row.status === 9">宸插け鏁�</span> + </template> + </el-table-column> <el-table-column - prop="name" + width="150" label="濮撳悕"> + <template slot-scope="{row}"> + <span>{{row.name}}</span> + <span style="border-radius: 5px; padding: 2px 5px; box-sizing: border-box; border: 1px solid #0d68ff; color: #0d68ff; margin-left: 5px;" v-if="info.memberId === row.memberId">鐢宠浜�</span> + </template> </el-table-column> <el-table-column label="鎬у埆"> @@ -41,8 +64,12 @@ <el-table-column prop="birthday" label="骞撮緞"> + <template slot-scope="{row}"> + <span>{{getAge(row.birthday)}}</span> + </template> </el-table-column> <el-table-column + width="150" prop="phone" label="鎵嬫満鍙�"> </el-table-column> @@ -55,20 +82,50 @@ </template> </el-table-column> <el-table-column - prop="idcardNo" + width="160" + prop="idcardDecode" label="韬唤璇佸彿鐮�"> </el-table-column> <el-table-column + width="150" prop="companyName" label="鍏徃"> </el-table-column> <el-table-column - prop="faceImg" - label="浜鸿劯鐓х墖"> + width="150" + prop="carNos" + label="闅忚杞﹁締"> </el-table-column> <el-table-column - prop="imgurl" + width="150" + label="璁垮浜岀淮鐮�"> + <template slot-scope="{row}"> + <div :id="`qrcode${row.id}`" :ref="`qrcode${row.id}`"></div> + </template> + </el-table-column> + <el-table-column + width="150" + label="浜鸿劯鐓х墖"> + <template slot-scope="{row}"> + <el-image + v-if="row.faceImg" + style="width: 100px; height: 100px" + :src="info.prefixUrl + row.faceImg" + :preview-src-list="[info.prefixUrl + row.faceImg]"> + </el-image> + </template> + </el-table-column> + <el-table-column + width="150" label="鍋ュ悍璇�"> + <template slot-scope="{row}"> + <el-image + v-if="row.imgurl" + style="width: 100px; height: 100px" + :src="info.prefixUrl + row.imgurl" + :preview-src-list="[info.prefixUrl + row.imgurl]"> + </el-image> + </template> </el-table-column> </el-table> </div> @@ -95,6 +152,7 @@ import BaseOpera from '@/components/base/BaseOpera' import GlobalWindow from '@/components/common/GlobalWindow' import { queryById } from '@/api/business/visits' +import QRCode from "qrcodejs2"; export default { name: 'OperaVisitsWindow', extends: BaseOpera, @@ -102,10 +160,37 @@ data () { return { list: [], - info: null + info: null, + innerVisible:false } }, + created () { + }, methods: { + getAge (val) { + if (!val) return '' + const currentYear = new Date().getFullYear() // 褰撳墠鐨勫勾浠� + const calculationYear = new Date(val).getFullYear() // 璁$畻鐨勫勾浠� + const wholeTime = currentYear + val.substring(4) // 鍛ㄥ瞾鏃堕棿 + const calculationAge = currentYear - calculationYear // 鎸夌収骞翠唤璁$畻鐨勫勾榫� + // 鍒ゆ柇鏄惁杩囦簡鐢熸棩 + if (new Date().getTime() > new Date(wholeTime).getTime()) { + return calculationAge + } else { + return calculationAge - 1 + } + }, + crateQrcodeShow (div,qrcode1) { + if(qrcode1 ==null ||qrcode1 ==''){ + return; + } + this.qr = new QRCode(div, { + width: 90, + height: 90, + text: qrcode1 + }) + }, + open (title, id) { this.title = title this.visible = true @@ -113,12 +198,26 @@ .then(res => { console.log(res) this.info = res + this.$nextTick(() => { + // this.$refs.qrcode2.innerHTML = '' + // this.crateQrcodeShow('qrcode2',res.qrcode) + if(this.info.withUserList ){ + this.info.withUserList.forEach(row => { + this.$refs['qrcode'+row.id].innerHTML = '' + this.crateQrcodeShow('qrcode'+row.id,row.qrcode) + }) + } + }) }) } } } </script> - +<style> + .el-image-viewer__wrapper { + z-index: 3000 !important; + } +</style> <style lang="scss" scoped> .list { width: 100%; -- Gitblit v1.9.3