From 9e5caf43d7059cd5b28703b138e95b7f4df94699 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期五, 27 九月 2024 17:00:42 +0800
Subject: [PATCH] 首页图表
---
src/views/system/work-order/index.vue | 146 +++++++++++++++++++++++++++++++-----------------
1 files changed, 94 insertions(+), 52 deletions(-)
diff --git a/src/views/system/work-order/index.vue b/src/views/system/work-order/index.vue
index 127a6b9..d27bd64 100644
--- a/src/views/system/work-order/index.vue
+++ b/src/views/system/work-order/index.vue
@@ -1,10 +1,10 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
- <el-form-item label="宸ュ崟鍙�" prop="workOrderNo">
+ <el-form-item label="鍏抽敭璇�" prop="keyword">
<el-input
- v-model="queryParams.workOrderNo"
- placeholder="璇疯緭鍏ュ伐鍗曞彿"
+ v-model="queryParams.keyword"
+ placeholder="宸ュ崟鍙�/鐐逛綅鍚嶇О鎼滅储"
clearable
@clear="handleQuery"
@keyup.enter.native="handleQuery"
@@ -23,6 +23,16 @@
<el-option label="宸插畬鎴�" value="AUDITING_SUCCESS"></el-option>
<el-option label="瀹℃牳鏈�氳繃" value="AUDITING_FAIL"></el-option>
</el-select>
+ </el-form-item>
+ <el-form-item label="鏃堕棿鑼冨洿" prop="timeRange">
+ <el-date-picker
+ v-model="queryParams.timeRange"
+ type="daterange"
+ range-separator="鑷�"
+ value-format="yyyy-MM-dd"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡">
+ </el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="small" @click="handleQuery">鎼滅储</el-button>
@@ -88,7 +98,7 @@
<el-col :span="24" class="time">鏁呴殰鏃堕棿锛歿{ item.createTime }}</el-col>
</el-row>
<el-row class="work-order-item">
- <el-col class="time" :span="24" style="display: flex;flex-direction: row"><div style="min-width: 66px">鏁呴殰鐐逛綅锛�</div><div style="word-break: break-word">{{ item.source }}</div></el-col>
+ <el-col class="time" :span="24"><div>鍥芥爣鐮侊細{{ item.serialNumber }}</div><div>{{ item.source }}</div></el-col>
</el-row>
<el-row style="position: absolute;bottom: 10px">
<el-button
@@ -107,7 +117,7 @@
v-hasPermi="['work:order:condition:add']"
v-show="item.status !== 'AUDITING_SUCCESS'"
@click="handleYwCondition(item)"
- >杩愮淮鎯呭喌
+ >澶勭悊涓婃姤
</el-button>
<el-button
class="my-button"
@@ -124,6 +134,14 @@
v-hasPermi="['system:report:add']"
v-show="item.status !== 'AUDITING_SUCCESS'"
>浜嬪悗鎶ュ
+ </el-button>
+ <el-button
+ class="my-button"
+ size="mini"
+ type="text"
+ @click="handleDetail(item)"
+ v-hasPermi="['system:workorder:detail']"
+ >璇︽儏
</el-button>
</el-row>
</div>
@@ -185,49 +203,50 @@
</div>
</el-dialog>
- <el-dialog title="宸ュ崟瀹℃牳" :visible.sync="auditingOpen" width="1000px" append-to-body>
- <el-row :gutter="20">
- <el-col :span="10">
- <el-form ref="auditingForm" :model="auditingForm" :rules="auditingRules" label-width="80px">
- <el-form-item label="宸ュ崟鍙�" prop="workOrderNo">
- <el-input v-model="auditingForm.workOrderNo" disabled/>
- </el-form-item>
- <el-form-item label="杩愮淮鍗曚綅" prop="unitName">
- <el-input v-model="auditingForm.unitName" disabled/>
- </el-form-item>
- <el-form-item label="瀹℃牳缁撴灉" prop="auditingResult">
- <el-radio v-model="auditingForm.auditingResult" label="AUDITING_SUCCESS">閫氳繃</el-radio>
- <el-radio v-model="auditingForm.auditingResult" label="AUDITING_FAIL">椹冲洖</el-radio>
- </el-form-item>
- <el-form-item label="瀹℃牳澶囨敞" prop="auditingRemark">
- <el-input v-model="auditingForm.auditingRemark" type="textarea" maxlength="30" show-word-limit/>
- </el-form-item>
- </el-form>
- </el-col>
- <el-col :span="14" style="max-height: 500px; overflow-y: auto">
- <el-timeline v-if="ywConditions && ywConditions.length > 0">
- <el-timeline-item v-for="(condition, index) in ywConditions" :key="index"
- :timestamp="condition.commitUserName + '___' + condition.createTime" placement="top"
- >
- <el-card>
- <div v-html="condition.ywCondition"></div>
- <el-link type="primary"
- v-for="item in condition.ywProofMaterials != null ? condition.ywProofMaterials.split(',') : condition.ywProofMaterials"
- :underline="false" :key="item.id" @click="handleDownload(item)"
- >{{ item.substring(item.lastIndexOf('/') + 1) }}
- </el-link>
- </el-card>
- </el-timeline-item>
- </el-timeline>
- <el-empty v-else description="娌℃湁澶勭悊璁板綍"></el-empty>
- </el-col>
- </el-row>
+ <WorkOrderAuditing :auditingOpen="auditingOpen" :dataForm="auditingForm" :ywConditions="ywConditions" @close="closeAuditing"/>
+<!-- <el-dialog title="宸ュ崟瀹℃牳" :visible.sync="auditingOpen" width="1000px" append-to-body>-->
+<!-- <el-row :gutter="20">-->
+<!-- <el-col :span="10">-->
+<!-- <el-form ref="auditingForm" :model="auditingForm" :rules="auditingRules" label-width="80px">-->
+<!-- <el-form-item label="宸ュ崟鍙�" prop="workOrderNo">-->
+<!-- <el-input v-model="auditingForm.workOrderNo" disabled/>-->
+<!-- </el-form-item>-->
+<!-- <el-form-item label="杩愮淮鍗曚綅" prop="unitName">-->
+<!-- <el-input v-model="auditingForm.unitName" disabled/>-->
+<!-- </el-form-item>-->
+<!-- <el-form-item label="瀹℃牳缁撴灉" prop="auditingResult">-->
+<!-- <el-radio v-model="auditingForm.auditingResult" label="AUDITING_SUCCESS">閫氳繃</el-radio>-->
+<!-- <el-radio v-model="auditingForm.auditingResult" label="AUDITING_FAIL">椹冲洖</el-radio>-->
+<!-- </el-form-item>-->
+<!-- <el-form-item label="瀹℃牳澶囨敞" prop="auditingRemark">-->
+<!-- <el-input v-model="auditingForm.auditingRemark" type="textarea" maxlength="30" show-word-limit/>-->
+<!-- </el-form-item>-->
+<!-- </el-form>-->
+<!-- </el-col>-->
+<!-- <el-col :span="14" style="max-height: 500px; overflow-y: auto">-->
+<!-- <el-timeline v-if="ywConditions && ywConditions.length > 0">-->
+<!-- <el-timeline-item v-for="(condition, index) in ywConditions" :key="index"-->
+<!-- :timestamp="condition.commitUserName + '___' + condition.createTime" placement="top"-->
+<!-- >-->
+<!-- <el-card>-->
+<!-- <div v-html="condition.ywCondition"></div>-->
+<!-- <el-link type="primary"-->
+<!-- v-for="item in condition.ywProofMaterials != null ? condition.ywProofMaterials.split(',') : condition.ywProofMaterials"-->
+<!-- :underline="false" :key="item.id" @click="handleDownload(item)"-->
+<!-- >{{ item.substring(item.lastIndexOf('/') + 1) }}-->
+<!-- </el-link>-->
+<!-- </el-card>-->
+<!-- </el-timeline-item>-->
+<!-- </el-timeline>-->
+<!-- <el-empty v-else description="娌℃湁澶勭悊璁板綍"></el-empty>-->
+<!-- </el-col>-->
+<!-- </el-row>-->
- <div slot="footer" class="dialog-footer">
- <el-button @click="cancelAuditing">鍙� 娑�</el-button>
- <el-button type="primary" @click="submitAuditing">瀹� 鏍�</el-button>
- </div>
- </el-dialog>
+<!-- <div slot="footer" class="dialog-footer">-->
+<!-- <el-button @click="cancelAuditing">鍙� 娑�</el-button>-->
+<!-- <el-button type="primary" @click="submitAuditing">瀹� 鏍�</el-button>-->
+<!-- </div>-->
+<!-- </el-dialog>-->
<el-dialog title="杩愮淮鎯呭喌璁板綍" :visible.sync="ywConditionOpen" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="ywConditionRules" label-width="80px">
@@ -274,7 +293,7 @@
<el-dialog title="杩囩▼鍥�" :visible.sync="flowOpen" width="1200px" append-to-body>
<div>
<el-steps :active="ywAuditingList.length != 0 ? 3 : ywHandleList.length != 0 ? 2 : 1" :space="500">
- <el-step title="浜х敓宸ュ崟">
+ <el-step :title="getTitle1()">
<template slot="description">
<div>
<div class="row flow-item-x">
@@ -300,7 +319,7 @@
</div>
</template>
</el-step>
- <el-step title="杩愮淮澶勭悊">
+ <el-step :title="getTitle2()">
<template slot="description">
<div style="max-height: 450px;overflow-y: scroll">
<div v-for="(item, index) in ywHandleList" :key="index">
@@ -444,11 +463,12 @@
process
} from '@/api/platform/work-order'
import { addReport } from '@/api/platform/report'
+import WorkOrderAuditing from "@/components/WorkOrder/WorkOrderAuditing";
export default {
name: 'Work-order',
dicts: ['error_type', 'report_error_type'],
- components: {},
+ components: {WorkOrderAuditing},
data() {
return {
drawer: false,
@@ -463,6 +483,8 @@
},
ywHandleList: [],
ywAuditingList: [],
+ beforeReportMsg: '',
+ afterReportMsg: '',
reportFormRules: {
reportContent: [
{ required: true, message: '鎶ュ鍐呭涓嶈兘涓虹┖', trigger: 'blur' }
@@ -577,6 +599,15 @@
this.getList()
},
methods: {
+ closeAuditing() {
+ this.auditingOpen = false
+ },
+ getTitle1() {
+ return '浜х敓宸ュ崟' + (this.beforeReportMsg ? '(' + this.beforeReportMsg + ')' : '')
+ },
+ getTitle2() {
+ return '杩愮淮澶勭悊' + (this.afterReportMsg ? '(' + this.afterReportMsg + ')' : '')
+ },
openDrawer(item) {
this.ywData = {
content: '',
@@ -620,6 +651,10 @@
}
})
},
+ // 璇︽儏
+ handleDetail(item) {
+ this.$router.push({name: '/work-order-center/maintenance/detail', query: {workOrderNo: item.workOrderNo}})
+ },
// 浜嬪悗鎶ュ鎸夐挳
handleReport(row) {
this.reportForm.pointId = row.serialNumber
@@ -658,6 +693,8 @@
if (response.data) {
this.ywAuditingList = response.data.auditingList
this.ywHandleList = response.data.ywList
+ this.afterReportMsg = response.data.afterReportMsg
+ this.beforeReportMsg = response.data.beforeReportMsg
this.flowOpen = true
}
})
@@ -742,8 +779,10 @@
this.empty = false;
this.loading = true
this.queryParams.params = {}
- this.queryParams['start'] = this.daterangeYwHandleTime ? this.daterangeYwHandleTime[0] : null
- this.queryParams['end'] = this.daterangeYwHandleTime ? this.daterangeYwHandleTime[1] : null
+ if (this.queryParams.timeRange && this.queryParams.timeRange.length > 0) {
+ this.queryParams.start = this.queryParams.timeRange[0]
+ this.queryParams.end = this.queryParams.timeRange[1]
+ }
listWorkOrder(this.queryParams).then(response => {
response.data.forEach(item => {
@@ -905,6 +944,9 @@
}
.work-order-item {
margin-bottom: 5px;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
}
.time {
--
Gitblit v1.8.0