From 30e858fa504b268b9b436afca0a1259cf6e8c488 Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期二, 19 八月 2025 11:01:40 +0800 Subject: [PATCH] 优化 --- admin/src/components/business/OperaWorkorderDetailSheWindow.vue | 154 ++++++++++++++++++++++++++++++++++----------------- 1 files changed, 102 insertions(+), 52 deletions(-) diff --git a/admin/src/components/business/OperaWorkorderDetailSheWindow.vue b/admin/src/components/business/OperaWorkorderDetailSheWindow.vue index 39d43a8..8a21f88 100644 --- a/admin/src/components/business/OperaWorkorderDetailSheWindow.vue +++ b/admin/src/components/business/OperaWorkorderDetailSheWindow.vue @@ -1,55 +1,107 @@ <template> <GlobalWindow :title="title" - width="80%" + width="85%" :visible.sync="visible" :confirm-working="isWorking" @confirm="confirm"> <div class="modal_wrap"> <div class="modal_content"> <div class="header"> - <img v-if="info.status == '3'" class="head_bg" - src="@/assets/task/bg_shenhe_fail@2x.png" alt=""> - <img v-else-if="info.status == '4'" class="head_bg" +<!-- <img v-if="info.status == '0'" class="head_bg" + src="@/assets/task/bg_shenhe_fail@2x.png" alt="">--> + <img v-if="info.status == '4' || info.status == '3'||info.status == '5'||info.status == '6'" class="head_bg" src="@/assets/task/bg_shenhe_pass@2x.png" alt=""> <img v-else class="head_bg" src="@/assets/task/bg_shenhe@2x.png" alt=""> <div class="left"> <div class="h1">{{ cateList[type] }}</div> <div class="time">鎻愪氦鏃堕棿锛歿{ info.createDate }}</div> </div> - <div class="right" :class="{ scs: info.status == '4', msg: info.status == '3' }">{{ statusMap[info.status] }}</div> + <div class="right" :style="(info.status ==0 ||info.status ==1 || info.status ==2)?'min-width: 90px':''" :class="{ scs: info.status == '3' || info.status == '4' || info.status == '5', msg: info.status == '6' }">{{statusMap[info.status] }}</div> </div> <div class="info"> - <div class="title">璁垮棰勭害淇℃伅</div> + <div class="title">宸ュ崟淇℃伅</div> <div class="list"> <div class="item"> - <div class="label">琚浜�</div> - <div class="value">{{ info.visitUserName }}</div> + <div class="label">鍛樺伐濮撳悕</div> + <div class="value">{{ info.memberName }} - {{ info.memberPhone || '[鏃犳墜鏈哄彿]' }}</div> </div> <div class="item"> - <div class="label">鏉ヨ鏃堕棿</div> - <div class="value">{{ info.visitTime }}</div> + <div class="label">鎵�灞為儴闂�</div> + <div class="value">{{ info.companyName }} </div> </div> <div class="item"> - <div class="label">鏉ヨ浜嬬敱</div> - <div class="value">{{ info.visitReason }}</div> + <div class="label">涓婃姤鏃堕棿</div> + <div class="value">{{ info.submitDate +' '}}</div> </div> <div class="item"> - <div class="label">闅忚杞﹁締</div> - <div class="value">{{ info.carNos }}</div> + <div class="label">娑夊強浜哄憳</div> + <div class="value" v-if="info.memberType == 2">渚涘簲鍟�-{{info.memberNames}}</div> + <div class="value" v-else-if="info.memberType == 1">鍚屼簨-{{info.memberNames}}</div> + <div class="value" v-else>鏈汉</div> </div> <div class="item"> - <div class="label">娑夊強鏂藉伐浣滀笟</div> - <div class="value">{{ info.type == "0" ? "鍚�" : "鏄�" }}</div> + <div class="label">鍙戠幇鏃堕棿</div> + <div class="value">{{ info.happenTime }}</div> </div> <div class="item"> - <div class="label">鏂藉伐鍐呭</div> - <div class="value">{{ info.constructionReason }}</div> + <div class="label">澶栭儴灏卞尰</div> + <div class="value">{{ info.outJiuyi == "0" ? "鍚�" : "鏄�" }}</div> + </div> + <div class="item" v-if="info.outJiuyi == '0'"> + <div class="label">鍖诲姟瀹�</div> + <div class="value">{{ info.isYiwushi == "0" ? "鍚�" : "鏄�" }}</div> + </div> + <div class="item" v-if="info.isYiwushi == '0'"> + <div class="label">鏄惁鍙椾激</div> + <div class="value">{{ info.isHurted == "0" ? "鍚�" : "鏄�" }}</div> + </div> + <div class="item"> + <div class="label">浼ゅ绫诲瀷</div> + <div class="value">{{ info.typeName }}</div> + </div> + <div class="item"> + <div class="label">鍜屽伐浣滅浉鍏�</div> + <div class="value">{{ info.workRelated == "0" ? "鍚�" : "鏄�" }}</div> + </div> + <div class="item"> + <div class="label">鍙戠敓鍦扮偣</div> + <div class="value">{{ info.locationName }}</div> + </div> + <div class="item"> + <div class="label">鍏蜂綋浣嶇疆</div> + <div class="value">{{ info.remark }}</div> + </div> + <div class="item"> + <div class="label">浜嬩欢璇存槑</div> + <div class="value">{{ info.eventInfo || '-'}}</div> + </div> + <div class="item" style="width: 100%"> + <div class="label">鍥剧墖</div> + <div class="value" v-if="info.multifileList ==null || !info.multifileList.length">鏃�</div> + <div class="value" v-if="info.multifileList !=null && info.multifileList.length"> + <div v-for="item in info.multifileList" :key="item.id" style="display: inline;margin-right: 20px"> + <video + v-if="item.fileurlFull && item.fileurlFull.endsWith('.mp4')" + ref="videoRef" + controls + preload="auto" + style="width: 80px;height: 80px;object-fit: contain;" + :src="item.fileurlFull" + /> + <el-image + v-else-if="item.fileurlFull" + style="width:80px; height: 80px" + :src="item.fileurlFull" + :preview-src-list="[item.fileurlFull]"> + </el-image> </div> </div> </div> + </div> + </div> </div> - <div class="side"> + <div class="side" v-if="false"> <div class="side_title">鎿嶄綔鍘嗗彶</div> <div class="list" v-if=" info.logList != null && info.logList.length != 0 "> @@ -96,7 +148,7 @@ <div v-if="item.approveType == 1" class="childList"> <div class="m_content company" v-for="item1 in item.approveList" :key="item1.id"> <img v-if="item1.faceImg != null && item1.faceImg != ''" :src="item1.faceImg" class="avatar" alt="" /> - <img v-if="item1.faceImg == null || item1.faceImg == ''" src="@/assets/avatar/man.png" class="avatar" + <img v-if="item1.faceImg == null || item1.faceImg == ''" src="../../assets/avatar/man.png" class="avatar" alt="" /> <span> {{ item1.memberName }}</span> </div> @@ -115,6 +167,7 @@ <script> import BaseOpera from '@/components/base/BaseOpera' import GlobalWindow from '@/components/common/GlobalWindow' +import {getById } from '@/api/business/workorder' export default { name: 'OperaWorkorderWindow', extends: BaseOpera, @@ -126,17 +179,18 @@ title: '宸ュ崟璇︽儏', info: {}, statusMap: { - 0: '寰呭鏍�', + 0: '澶勭悊涓�', 1: '澶勭悊涓�', - 2: '宸插悓鎰�', - 3: '宸叉嫆缁�', - 4: '宸插彇娑�', + 2: '澶勭悊涓�', + 3: '宸插鐞�', + 4: '宸插鐞�', + 5: '宸插鐞�' }, cateList: { 0: 'SHE浜嬩欢宸ュ崟', - 1: '璺岀粖婊戜簨浠跺伐鍗�', - 2: 'DCA浜嬩欢鎻愪氦璁板綍', - 3: 'DCA浜嬩欢宸ュ崟' + 1: 'DCA浜嬩欢鎻愪氦璁板綍', + 2: 'DCA浜嬩欢宸ュ崟', + 3: '璺岀粖婊戜簨浠跺伐鍗�' } } }, @@ -145,34 +199,27 @@ this.title = title this.visible = true this.info = target + this.getDetail() this.type = this.info.type }, close () { this.visible = false }, getDetail () { - const { id, type } = this - switch (type) { - case 0: - getVisitedDetail({ id }).then(res => { - this.info = res - if (this.info.approveDateVO && this.info.approveDateVO.approveList.length > 0) { - this.info.approveDateVO.approveList.forEach(item => { - if (item.approveList && item.approveList.length == 1 && item.type !== 1) { - item.title = item.approveList[0].title - item.faceImg = item.approveList[0].faceImg - item.memberName = item.approveList[0].memberName - item.statusInfo = item.approveList[0].statusInfo - item.approveList = [] - } - }) - } - }) - break - - default: - break - } + getById(this.info.id).then(res => { + this.info = res + if (this.info.logList && this.info.logList.length > 0) { + this.info.logList.forEach(item => { + if (item.approveList && item.approveList.length == 1 && item.type !== 1) { + item.title = item.approveList[0].title + item.faceImg = item.approveList[0].faceImg + item.memberName = item.approveList[0].memberName + item.statusInfo = item.approveList[0].statusInfo + item.approveList = [] + } + }) + } + }) }, reject () { }, handleAvatarSuccess () { }, @@ -216,7 +263,7 @@ .modal_wrap { display: flex; - height: 100%; + height: auto; .modal_content { flex: 1; @@ -240,11 +287,12 @@ .item { display: flex; - width: 40%; + width: 50%; + font-size: 14px; margin-bottom: 20px; &:nth-of-type(2n) { - width: 60%; + width: 50%; } .label { @@ -253,6 +301,7 @@ } .value { + width: calc(100% - 100px); color: #111111; } } @@ -263,6 +312,7 @@ display: flex; justify-content: space-between; align-items: center; + vertical-align: center; padding: 20px 30px; margin: 0 -30px; border-radius: 8px 8px 0 0; -- Gitblit v1.9.3