From ff087240b3dee29ce4e14ad0836e76b9fdf312cf Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期二, 19 八月 2025 09:28:07 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/lianhelihua_sh
---
admin/src/components/business/OperaWorkorderDetailDcaWindow.vue | 172 +++++++++++++++++++++++++++++++++------------------------
1 files changed, 100 insertions(+), 72 deletions(-)
diff --git a/admin/src/components/business/OperaWorkorderDetailDcaWindow.vue b/admin/src/components/business/OperaWorkorderDetailDcaWindow.vue
index da58bc1..5aeee8c 100644
--- a/admin/src/components/business/OperaWorkorderDetailDcaWindow.vue
+++ b/admin/src/components/business/OperaWorkorderDetailDcaWindow.vue
@@ -8,19 +8,18 @@
<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" :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="info"> <div class="title">宸ュ崟淇℃伅</div>
<div class="list">
<div class="item">
<div class="label">鍛樺伐濮撳悕</div>
@@ -31,24 +30,28 @@
<div class="value">{{ info.companyName }} </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.submitDate }}</div>
</div>
<div class="item">
- <div class="label">鍙戠敓鏃堕棿</div>
+ <div class="label">鍙戠幇鏃堕棿</div>
<div class="value">{{ info.happenTime}}</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="label">浣嶇疆</div>
<div class="value">{{ info.locationName }}</div>
</div>
<div class="item">
- <div class="label">椋庨櫓鎻忚堪</div>
- <div class="value">{{ info.riskInfo }}</div>
+ <div class="label">閫氱煡浜�</div>
+ <div class="value">{{ info.memberNames }}</div>
+ </div>
+ <div class="item">
+ <div class="label">瑙傚療椤圭粺璁�</div>
+ <div class="value" style="color: #1562e2" >绗﹀悎锛氥�恵{ info.dcaYesNum || 0 }}銆� 涓嶇鍚堬細銆� <span style="color: red" >{{(info.dcaNoNum||0)}}</span> 銆�</div>
</div>
<div class="item" style="width: 100%">
<div class="label">鍥剧墖</div>
@@ -74,87 +77,92 @@
</div>
</div>
</div>
- </div>
- <div class="side" >
- <div class="side_title">澶勭悊娴佺▼</div>
- <div class="list" v-if=" info.logList != null && info.logList.length != 0
- ">
- <div class="item" v-for="(item, index) in info.logList" :key="item.id">
- <div class="separate" v-if="index < info.logList.length - 1"></div>
- <div class="info">
- <img src="@/assets/icons/ic_dangqian.png" class="iconnew" />
- <div class="content">
- <div class="line">
- <div class="name">{{ item.title }}</div>
- </div>
- <div class="line">
- <div class="company">
- 鍛樺伐锛�<span> {{ item.userName }} / {{item.companyName}}</span>
- <div style="display: block" >鏃堕棿锛�<span>{{item.createDate}}</span></div>
- <div class="dealinfo">
- <div style="display: block" v-if="item.param2" >澶勭悊浜猴細<span>{{item.param2}}</span></div>
- <div style="display: block" v-if="item.remark" >璇存槑锛�<span>{{item.remark}}</span></div>
- <div style="display: block;margin-top:10px" v-if="item.multifileList !=null && item.multifileList.length">
- <div v-for="item in item.multifileList" :key="item.id" style="display: inline;margin-right: 5px">
- <video
- v-if="item.fileurlFull && item.fileurlFull.endsWith('.mp4')"
- ref="videoRef"
- controls
- preload="auto"
- style="width: 50px;height: 50px;object-fit: contain;"
- :src="item.fileurlFull"
- />
- <el-image
- v-else-if="item.fileurlFull"
- style="width:50px; height: 50px;"
- :src="item.fileurlFull"
- :preview-src-list="[item.fileurlFull]">
- </el-image>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
+ <div class="table_info">
+ <div class="title">涓嶇鍚堥」宸ュ崟鍒楄〃</div>
+ <el-table :data="info.dcaChildList" border fit>
+ <el-table-column prop="index" label="搴忓彿" width="55" fixed="left">
+ <template slot-scope="scope">{{ scope.$index+1}}</template>
+ </el-table-column>
+ <el-table-column label="宸ュ崟鍙�" prop="code" min-width="120">
+ <template slot-scope="{row}">
+ <span style="color: #2E68EC;cursor: pointer" @click="$refs.OperaWorkorderDetailDcaInfoWindow.open('DCA涓嶇鍚堥」宸ュ崟璇︽儏', row)" >{{ row.code || '-'}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="涓�绾т富棰�" prop="typeName" min-width="60"> </el-table-column>
+ <el-table-column label="浜岀骇涓婚" prop="categoryName" min-width="60"> </el-table-column>
+ <el-table-column label="瑙傚療椤�" prop="problemTitle" min-width="100"> </el-table-column>
+ <el-table-column label="鐘舵��" prop="status" min-width="80">
+ <template slot-scope="{row}">
+<!-- <span :class="'statusInfo'+row.status" v-if="row.status ==0">寰呭鐞�</span>-->
+ <span :class="'statusInfo'+row.status" v-if="row.status ==3 ||row.status ==4||row.status ==5">宸插鐞�</span>
+ <span :class="'statusInfo'+row.status" v-else>澶勭悊涓�</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="statusInfo" label="鐘舵�佹弿杩�" min-width="100px">
+ <template slot-scope="{row}">
+ <span :class="'statusInfo'+row.status" >{{ row.statusName }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="涓嶇鍚堝師鍥�" prop="eventInfo" min-width="180" />
+ <el-table-column label="鎿嶄綔" prop="status" min-width="80">
+ <template slot-scope="{row}">
+ <el-button type="text" @click="$refs.OperaWorkorderDetailDcaInfoWindow.open('DCA涓嶇鍚堥」宸ュ崟璇︽儏', row)" icon="el-icon-zoom-out" >鏌ョ湅璇︽儏</el-button>
+ <!--<el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:workorder:delete']">鍒犻櫎</el-button>-->
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
+ <div class="table_info">
+ <div class="title">绗﹀悎椤瑰垪琛�</div>
+ <el-table :data="dataList2" border fit>
+ <el-table-column prop="index" label="搴忓彿" width="55" fixed="left">
+ <template slot-scope="scope">{{ scope.$index+1}}</template>
+ </el-table-column>
+ <el-table-column label="涓�绾т富棰�" prop="typeName" min-width="140"> </el-table-column>
+ <el-table-column label="浜岀骇涓婚" prop="categoryName" min-width="150"> </el-table-column>
+ <el-table-column label="瑙傚療椤�" prop="problemTitle" min-width="400"> </el-table-column>
+ </el-table>
</div>
</div>
+
</div>
<!-- -->
<template v-slot:footer>
<el-button @click="close">杩斿洖</el-button>
</template>
+ <OperaWorkorderDetailDcaInfoWindow ref="OperaWorkorderDetailDcaInfoWindow" />
</GlobalWindow>
</template>
<script>
import BaseOpera from '@/components/base/BaseOpera'
import GlobalWindow from '@/components/common/GlobalWindow'
+import OperaWorkorderDetailDcaInfoWindow from '@/components/business/OperaWorkorderDetailDcaInfoWindow'
import { getById } from '@/api/business/workorder'
export default {
name: 'OperaWorkorderDetailDbhWindow',
extends: BaseOpera,
- components: { GlobalWindow },
+ components: { GlobalWindow ,OperaWorkorderDetailDcaInfoWindow},
data () {
return {
id: '',
type: null,
title: '宸ュ崟璇︽儏',
info: {},
+ dataList2: [],
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: '璺岀粖婊戜簨浠跺伐鍗�'
}
}
},
@@ -172,6 +180,7 @@
getDetail () {
getById(this.info.id).then(res => {
this.info = res
+ this.getDataListByRemak()
if (this.info.logList && this.info.logList.length > 0) {
this.info.logList.forEach(item => {
if (item.approveList && item.approveList.length == 1 && item.type !== 1) {
@@ -184,6 +193,25 @@
})
}
})
+ },
+ getDataListByRemak () {
+ this.dataList2 =[]
+ if(this.info.remark){
+ var obj = JSON.parse(this.info.remark)
+ console.log(obj)
+ if(obj && obj.childMapList){
+ obj.childMapList.forEach(item =>{
+ if(item && item.problemMapList){
+ item.problemMapList.forEach(item1 =>{
+ if(item1 && item1.status === 1){
+ this.dataList2.push({'typeName':this.info.typeName, 'categoryName':item.childTitle,'problemTitle':item1.title})
+ }
+ })
+ }
+ })
+ }
+
+ }
},
reject () { },
handleAvatarSuccess () { },
@@ -227,7 +255,7 @@
.modal_wrap {
display: flex;
- height: 100%;
+ height: auto;
.modal_content {
flex: 1;
@@ -248,15 +276,14 @@
.list {
display: flex;
flex-wrap: wrap;
-
.item {
display: flex;
- width: 40%;
+ width: 50%;
font-size: 14px;
margin-bottom: 20px;
&:nth-of-type(2n) {
- width: 60%;
+ width: 50%;
}
.label {
@@ -265,6 +292,7 @@
}
.value {
+ width: calc(100% - 100px);
color: #111111;
}
}
--
Gitblit v1.9.3