From 664db98c9e8595ce4dd636a27f480e3a08b81ff5 Mon Sep 17 00:00:00 2001
From: xyc <jc_xiong@hotmail.com>
Date: 星期五, 21 二月 2025 11:13:51 +0800
Subject: [PATCH] 新增可忽略的维修时间
---
web/src/views/modules/taskReliability/ReliabilityAssess.vue | 173 ++++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 150 insertions(+), 23 deletions(-)
diff --git a/web/src/views/modules/taskReliability/ReliabilityAssess.vue b/web/src/views/modules/taskReliability/ReliabilityAssess.vue
index 88ee6f9..1a45d62 100644
--- a/web/src/views/modules/taskReliability/ReliabilityAssess.vue
+++ b/web/src/views/modules/taskReliability/ReliabilityAssess.vue
@@ -1,14 +1,14 @@
<template>
<div>
<div class="mod-baseReliability-paramDataBasic fa-card-a" style="margin-left: 5px;">
- <zt-table-wraper :defaultNotQuery='true' ref="tableObj" query-url="/taskReliability/ReliabilityAssess/page"
+ <zt-table-wraper :defaultNotQuery='true' ref="tableObj"
v-slot="{ table }" :paging='false'>
<el-form :inline="true" :model="dataForm" ref="dataForm" :disabled="dataForm.disabled" label-width="80px">
<zt-form-item label="浜у搧鑺傜偣" prop="productId">
<zt-select v-model="dataForm.productId" :datas="productList" @change="onProductSelected"/>
</zt-form-item>
<zt-form-item label="鎬讳綋浠诲姟" prop="taskModelId">
- <zt-select v-model="dataForm.taskModelId" :datas="taskList" @change="onTaskSelected"/>
+ <zt-select v-model="dataForm.taskId" :datas="taskList" @change="onTaskSelected"/>
</zt-form-item>
<zt-form-item label="璇勫畾鏁版嵁" prop="itemId">
<zt-select v-model="dataForm.itemId" :datas="assessDataList" @change="onAssessDataSelected"/>
@@ -16,13 +16,24 @@
<zt-form-item label="缃俊搴�" prop="confidence">
<el-input v-model="dataForm.confidence" placeholder="缃俊搴�" clearable></el-input>
</zt-form-item>
- <el-button type="primary" @click="">璇勫畾</el-button>
- <el-button type="primary" @click="add()">鏂板璇勫畾鏁版嵁</el-button>
+ <el-button type="primary" @click="assess()">璇勫畾</el-button>
+ <el-button type="primary" @click="assessData()">璇勫畾鏁版嵁绠$悊</el-button>
+ <el-button type="primary" @click="handleExpand()">{{expandText}}</el-button>
+ <el-dropdown style="margin-left: 10px" @command="download">
+ <el-button type="primary">
+ 涓嬭浇xml<i class="el-icon-arrow-down el-icon--right"></i>
+ </el-button>
+ <el-dropdown-menu slot="dropdown">
+ <el-dropdown-item command="1">杈撳叆xml</el-dropdown-item>
+ <el-dropdown-item command="2">杈撳嚭xml</el-dropdown-item>
+ </el-dropdown-menu>
+ </el-dropdown>
</el-form>
- <el-table v-loading="table.dataLoading" :data="table.dataList" height="100px" v-adaptive="{bottomOffset:70}"
+ <el-table ref="multipleTable" v-loading="table.dataLoading" :data="dataList" height="100px" v-adaptive="{bottomOffset:70}"
row-key="id"
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"
:header-cell-style="{'text-align':'center'}"
+ :expand-row-keys="defultKey"
border @selection-change="table.selectionChangeHandle">
<el-table-column prop="name" label="鍚嶇О"/>
<el-table-column prop="runNum" label="璇曢獙娆℃暟(鎴愯触鍨�)" align="right">
@@ -34,13 +45,33 @@
<el-table-column prop="assessResult" label="璇勫畾缁撴灉" align="right">
</el-table-column>
</el-table>
- <add-or-update @refreshDataList="refreshData" ref="AddOrUpdate"/>
+ <assess-manage @refreshDataList="refreshData" ref="AssessManage"/>
</zt-table-wraper>
+ <el-dialog v-dialogDrag :close-on-click-modal="false" top="8vh" :visible.sync="dialogVisible" title="妯″瀷妫�鏌�"
+ width="60%" @close="dialogVisible = false">
+ <el-tag type="danger" style="margin-bottom: 10px">妯″瀷瀹氫箟/鍙傛暟閰嶇疆/璇勫畾鏁版嵁閲屽瓨鍦ㄤ互涓嬮棶棰橈細</el-tag>
+ <el-table :data="modelCheckResult" height="350"
+ :header-cell-style="{'text-align':'center'}">
+ <el-table-column prop="category" label="妫�鏌ョ粨鏋�" align="center" width="150"/>
+ <el-table-column prop="taskName" label="浠诲姟鍚嶇О" align="center"/>
+ <el-table-column prop="taskPhaseName" label="浠诲姟闃舵鍚嶇О" align="center"/>
+ <el-table-column prop="gkName" label="宸ュ喌鍚嶇О" align="center"/>
+ <el-table-column prop="nodeName" label="鑺傜偣鍚嶇О" align="center"/>
+ <el-table-column prop="modelName" label="妯″瀷鍚嶇О" align="center"/>
+ <el-table-column prop="deviceName" label="璁惧鍚嶇О" align="center"/>
+ <el-table-column prop="paramName" label="鍙傛暟鍚嶇О" align="center"/>
+ </el-table>
+ <div slot="footer" class="dialog-footer">
+ <el-button type="primary" @click="dialogVisible = false">鍏� 闂�</el-button>
+ </div>
+ </el-dialog>
</div>
</div>
</template>
<script>
- import AddOrUpdate from './RelisbilityAssess-AddOrUpdate'
+ import qs from "qs";
+ import Cookies from "js-cookie";
+ import AssessManage from "./RelisbilityAssess-Manage";
export default {
data() {
@@ -48,7 +79,7 @@
dataForm: {
productId: '',
shipName: '',
- taskModelId: '',
+ taskId: '',
itemId: '',
name: '',
runTimes: '',
@@ -60,32 +91,66 @@
productList: [],
taskList: [],
assessDataList: [],
+ dataList: [],
+ flag1: false,
+ flag2: false,
+ defultKey: [],
+ isExpand:false,
+ expandText:"涓�閿睍寮�",
+ dialogVisible: false,
+ modelCheckResult: [],
}
},
components: {
- AddOrUpdate
+ AssessManage,
},
mounted() {
this.getProductList()
},
methods: {
+ async page() {
+ let res = await this.$http.post('/taskReliability/ReliabilityAssess/page', this.dataForm)
+ console.log(res.data)
+ this.dataList = res.data
+ },
// 鑾峰彇淇℃伅
- onProductSelected(data) {
+ async onProductSelected(data) {
+ this.defultKey = []
console.log(data, ' onProductSelected(data)')
this.dataForm.productId = data.id
this.dataForm.shipName = data.name
- this.getTaskList()
- this.getAssessDataList();
+ this.setDefultKey()
+ await this.zhixin().then(() => {
+ if (this.dataForm.taskId&& this.dataForm.itemId) {
+ this.page()
+ }else{
+ this.dataList = []
+ }
+ })
+ },
+ refreshData(){
+ this.getAssessDataList()
+ },
+ async zhixin() {
+ await this.getTaskList()
+ await this.getAssessDataList()
+ },
+ setDefultKey() {
+ this.defultKey.push(this.dataForm.productId + "")
+ console.log(this.defultKey,"this.defultKey")
},
onTaskSelected(data) {
console.log(data, ' onProductSelected(data)')
- this.dataForm.taskModelId = data.id
+ this.dataForm.taskId = data.id
+ if (this.dataForm.taskId&& this.dataForm.itemId) {
+ this.page()
+ }
},
onAssessDataSelected(data) {
this.dataForm.itemId = data.id
- },
- refreshData() {
- this.getAssessDataList();
+ if (this.dataForm.taskId&& this.dataForm.itemId) {
+ this.page()
+ }
},
async getAssessDataList() {
let params = {
@@ -98,17 +163,42 @@
} else {
this.dataForm.itemId = ''
}
+ this.flag2 = true
},
- add() {
- this.$refs.AddOrUpdate.$refs.dialog.init(null, {
+ assessData(){
+ this.$refs.AssessManage.$refs.dialog.init(null, {
productId: this.dataForm.productId,
shipName: this.dataForm.shipName
- })
+ })
+ },
+ async assess() {
+ this.dialogVisible = false
+ this.modelCheckResult = []
+ if (!this.dataForm.productId || !this.dataForm.taskId || !this.dataForm.itemId || !this.dataForm.confidence) {
+ this.$tip.alert("鏈夋湭濉啓鐨勬暟鎹�")
+ return
+ }
+ let res = await this.$http.post('/taskReliability/ReliabilityAssess/assessCheck', this.dataForm)
+ if (res.success) {
+ if (res.data && res.data.length > 0) {
+ this.modelCheckResult = res.data
+ this.dialogVisible = true
+ } else {
+ let res = await this.$http.post('/taskReliability/ReliabilityAssess/assess', this.dataForm)
+ if (res.success) {
+ console.log(res.data)
+ this.dataList = res.data
+ this.$alert('璇勫畾鎴愬姛', '鎻愮ず', {
+ confirmButtonText: '纭畾'
+ })
+ }
+ }
+ }
},
async getProductList() {
let res = await this.$http.get('/basicInfo/XhProductModel/getTaskProductList')
this.productList = res.data
- this.onProductSelected(this.productList[0])
+ await this.onProductSelected(this.productList[0])
},
async getTaskList() {
let params = {
@@ -118,11 +208,48 @@
console.log(res.data)
this.taskList = res.data
if (this.taskList.length > 0) {
- this.dataForm.taskModelId = this.taskList[0].id
+ this.dataForm.taskId = this.taskList[0].id
} else {
- this.dataForm.taskModelId = ''
+ this.dataForm.taskId = ''
+ }
+ this.flag1 = true
+ },
+ handleExpand() {
+ this.isExpand = !this.isExpand
+ this.$nextTick(() => {
+ this.forArr(this.dataList, this.isExpand)
+ })
+ if (this.isExpand === true) {
+ this.expandText = '涓�閿姌鍙�'
+ }
+ if (this.isExpand === false) {
+ this.expandText = '涓�閿睍寮�'
}
},
- }
+ // 閬嶅巻
+ forArr(arr, isExpand) {
+ arr.forEach(i => {
+ this.$refs.multipleTable.toggleRowExpansion(i, isExpand)
+ if (i.children) {
+ this.forArr(i.children, isExpand)
+ }
+ })
+ },
+ async download(selsect) {
+ if (!this.dataForm.productId || !this.dataForm.taskId || !this.dataForm.itemId ) {
+ this.$tip.alert("鏈夋湭濉啓鐨勬暟鎹�")
+ return
+ }
+ let param = qs.stringify({
+ 'token': Cookies.get('token'),
+ productId: this.dataForm.productId,
+ taskId: this.dataForm.taskId,
+ itemId: this.dataForm.itemId,
+ xml:selsect
+ })
+ let apiURL = `/taskReliability/ReliabilityAssess/downloadXml`
+ window.location.href = `${window.SITE_CONFIG['apiURL']}${apiURL}?${param}`
+ }
+ },
}
</script>
--
Gitblit v1.9.1