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 | 157 ++++++++++++++++++++++++++++++++++------------------
1 files changed, 103 insertions(+), 54 deletions(-)
diff --git a/admin/src/components/business/OperaWorkorderDetailSheWindow.vue b/admin/src/components/business/OperaWorkorderDetailSheWindow.vue
index 7f65bdd..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 == '3' || info.status == '4' || info.status == '5', msg: info.status == '6' }">{{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,18 +179,18 @@
title: '宸ュ崟璇︽儏',
info: {},
statusMap: {
- 0: '寰呭垎閰峎TS',
- 1: '寰呭垎閰嶄换鍔�',
- 2: '寰呭鐞�',
- 3: '宸茶В鍐�',
- 4: '宸茶В鍐�',
- 5: '宸茶В鍐�'
+ 0: '澶勭悊涓�',
+ 1: '澶勭悊涓�',
+ 2: '澶勭悊涓�',
+ 3: '宸插鐞�',
+ 4: '宸插鐞�',
+ 5: '宸插鐞�'
},
cateList: {
0: 'SHE浜嬩欢宸ュ崟',
- 1: '璺岀粖婊戜簨浠跺伐鍗�',
- 2: 'DCA浜嬩欢鎻愪氦璁板綍',
- 3: 'DCA浜嬩欢宸ュ崟'
+ 1: 'DCA浜嬩欢鎻愪氦璁板綍',
+ 2: 'DCA浜嬩欢宸ュ崟',
+ 3: '璺岀粖婊戜簨浠跺伐鍗�'
}
}
},
@@ -146,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 () { },
@@ -217,7 +263,7 @@
.modal_wrap {
display: flex;
- height: 100%;
+ height: auto;
.modal_content {
flex: 1;
@@ -241,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 {
@@ -254,6 +301,7 @@
}
.value {
+ width: calc(100% - 100px);
color: #111111;
}
}
@@ -264,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