From d441a339549da0e1280879333f0b22823a603443 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期一, 02 十二月 2024 16:59:11 +0800
Subject: [PATCH] 合同积分的提示、地图样式调整
---
src/views/system/work-order/detail/index.vue | 125 +++++++++++++++++++++++++++++++++++++++--
1 files changed, 117 insertions(+), 8 deletions(-)
diff --git a/src/views/system/work-order/detail/index.vue b/src/views/system/work-order/detail/index.vue
index 8ede435..71d323d 100644
--- a/src/views/system/work-order/detail/index.vue
+++ b/src/views/system/work-order/detail/index.vue
@@ -29,7 +29,8 @@
</div>
<div class="item-warp">
<div>澶勭悊鏃堕檺锛�</div>
- <div>{{workOrderInfo.processingPeriod}}(灏忔椂)</div>
+ <div v-if="workOrderInfo.processingPeriod">{{workOrderInfo.processingPeriod}}(灏忔椂)</div>
+ <div v-else>鏃�</div>
</div>
<div class="item-warp">
<div>涓嬪彂鏃堕棿锛�</div>
@@ -64,10 +65,10 @@
</div>
<div style="margin-left: 2px">鏄惁鎶ュ</div>
</div>
- <div class="warp">
+ <div class="warp" style="display: flex;flex-direction: row;align-items: center">
<div v-if="workOrderInfo.hasReport"><el-link @click type="primary">{{workOrderInfo.hasReport ? '宸叉姤澶�' : '鏈姤澶�'}}</el-link></div>
<div v-else>{{workOrderInfo.hasReport ? '宸叉姤澶�' : '鏈姤澶�'}}</div>
- <div v-if="!workOrderInfo.hasReport"><el-link type="primary">浜嬪悗鎶ュ</el-link></div>
+ <div v-if="!workOrderInfo.hasReport"><el-link type="primary">(浜嬪悗鎶ュ)</el-link></div>
</div>
</div>
<div class="info-item weight4">
@@ -77,11 +78,16 @@
</div>
<div style="margin-left: 2px">澶勭悊缁撴灉</div>
</div>
- <div class="warp">{{covertStatus(workOrderInfo.status)}}</div>
+ <div class="warp" style="display: flex;flex-direction: row;align-items: center">
+ <div>{{covertStatus(workOrderInfo.status)}}</div>
+ <div v-if="workOrderInfo.status ==='YW_HANDLE'">
+ <el-link type="primary" @click="handleAuditing">(瀹℃牳)</el-link>
+ </div>
+ </div>
</div>
</div>
</el-tab-pane>
- <el-tab-pane v-loading="loading2" name="report" label="鎶ュ淇℃伅">
+ <el-tab-pane v-loading="loading2" name="report" label="鎶ュ璁板綍">
<div v-if="reportList && reportList.length > 0">
<el-timeline>
<el-timeline-item
@@ -106,20 +112,77 @@
</div>
<el-empty v-else description="鏈煡鍒版姤澶囦俊鎭�"></el-empty>
</el-tab-pane>
- <el-tab-pane v-loading="loading3" name="handle" label="杩愮淮淇℃伅">瑙掕壊绠$悊</el-tab-pane>
- <el-tab-pane v-loading="loading4" name="auditing" label="瀹℃牳淇℃伅">瀹氭椂浠诲姟琛ュ伩</el-tab-pane>
+ <el-tab-pane v-loading="loading3" name="handle" label="澶勭悊璁板綍">
+ <div v-if="ywList && ywList.length > 0">
+ <el-timeline>
+ <el-timeline-item
+ placement="top"
+ v-for="(yw, index) in ywList"
+ :key="index"
+ :timestamp="yw.createTime">
+ <div>
+ <div style="margin: 8px 0">
+ <el-link
+ v-for="item in yw.ywProofMaterials != null ? yw.ywProofMaterials.split(',') : yw.ywProofMaterials"
+ :underline="false" type="primary" :key="item" @click="handleDownload(item)">{{ item.substring(item.lastIndexOf("/") + 1)
+ }}</el-link>
+ </div>
+ <div v-html="yw.ywCondition"></div>
+ </div>
+ </el-timeline-item>
+ </el-timeline>
+ </div>
+ <el-empty v-else description="鏈煡鍒拌繍缁村鐞嗕俊鎭�"></el-empty>
+ </el-tab-pane>
+ <el-tab-pane v-loading="loading4" name="auditing" label="瀹℃牳璁板綍">
+ <div v-if="auditingList && auditingList.length > 0">
+ <el-timeline>
+ <el-timeline-item
+ placement="top"
+ v-for="(auditing, index) in auditingList"
+ :key="index"
+ :timestamp="auditing.createTime">
+ <div>
+ <div style="margin: 8px 0"><el-tag :type="auditing.result === '瀹℃牳閫氳繃' ? 'success' : 'warning'">{{auditing.result}}</el-tag></div>
+ <div v-html="auditing.remark"></div>
+ </div>
+ </el-timeline-item>
+ </el-timeline>
+ </div>
+ <el-empty v-else description="鏈煡鍒板鏍镐俊鎭�"></el-empty>
+ </el-tab-pane>
</el-tabs>
+ <div class="work-order-img">
+ <div class="img-info" v-for="(img, index) in workOrderInfo.imgList" :key="index">
+ <div>
+ <el-image
+ style="width: 100%; height: auto"
+ :src="getImgUrl(img.imgUrl)"
+ :preview-src-list="workOrderInfo.imgList.map(i => getImgUrl(i.imgUrl))"
+ >
+ </el-image>
+ </div>
+ <div style="margin-top: 8px;text-align: center">{{img.createTime}}</div>
+ </div>
+ </div>
+
+ <WorkOrderAuditing :auditingOpen="auditingOpen" :dataForm="auditingForm" :ywConditions="ywConditions" @close="closeAuditing"/>
</div>
</template>
<script>
-import {getWorkOrderInfo} from '@/api/platform/work-order'
+import {getWorkOrderInfo, getYwConditionList, getYwAuditingList, getYwCondition, listWorkOrder} from '@/api/platform/work-order'
import {getReportByGb} from '@/api/platform/report'
+import WorkOrderAuditing from "@/components/WorkOrder/WorkOrderAuditing";
export default {
name: "index",
+ components: {WorkOrderAuditing},
data() {
return {
+ ywConditions: [],
+ auditingOpen: false,
+ auditingForm: {},
selectedTab: 'workorder',
loading1: false,
loading2: false,
@@ -141,6 +204,8 @@
hasReport: null
},
reportList: [],
+ ywList: [],
+ auditingList: [],
workOrderNo: ''
}
},
@@ -149,6 +214,21 @@
this.getWorkOrder()
},
methods: {
+
+ closeAuditing() {
+ this.auditingOpen = false
+ },
+ // 瀹℃牳鎸夐挳
+ handleAuditing() {
+ this.auditingForm = this.workOrderInfo
+ getYwCondition(this.workOrderInfo.workOrderNo).then(response => {
+ this.ywConditions = response.data
+ this.auditingOpen = true
+ })
+ },
+ getImgUrl(path) {
+ return this.$img + path;
+ },
getWorkOrder() {
this.loading1 = true
getWorkOrderInfo(this.workOrderInfo.workOrderNo).then(res => {
@@ -161,6 +241,20 @@
getReportByGb(this.workOrderInfo.serialNumber).then(res => {
this.reportList = res.data
this.loading2 = false
+ })
+ },
+ getYw() {
+ this.loading3 = true;
+ getYwConditionList(this.workOrderInfo.workOrderNo).then(res => {
+ this.ywList = res.data
+ this.loading3 = false
+ })
+ },
+ getAuditing() {
+ this.loading4 = true;
+ getYwAuditingList(this.workOrderInfo.workOrderNo).then(res => {
+ this.auditingList = res.data
+ this.loading4 = false
})
},
covertStatus(status) {
@@ -179,6 +273,10 @@
this.getWorkOrder()
} else if (tab.name === 'report') {
this.getReport()
+ } else if (tab.name === 'handle') {
+ this.getYw()
+ } else if (tab.name === 'auditing') {
+ this.getAuditing()
}
},
@@ -190,6 +288,17 @@
</script>
<style scoped>
+.img-info {
+ flex: 0 0 calc(20% - 8px); /* 姣忚浜斾釜锛屾墍浠ユ瘡涓崰20%锛屽噺鍘婚棿璺� */
+ box-sizing: border-box;
+}
+
+.work-order-img {
+ margin-top: 15px;
+ display: flex;
+ flex-wrap: wrap;
+ gap: 8px; /* 鍙�夛細璁剧疆鍥剧墖涔嬮棿鐨勯棿璺� */
+}
.work-order-info {
width: 100%;
display: flex;
--
Gitblit v1.8.0