From c8c42a473eb1269d8c9eed26b90975340850b0ea Mon Sep 17 00:00:00 2001 From: xyc <jc_xiong@hotmail.com> Date: 星期三, 08 一月 2025 10:19:18 +0800 Subject: [PATCH] 修改bug:无法新增总体 --- 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