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/OperatConditModel.vue | 168 ++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 134 insertions(+), 34 deletions(-) diff --git a/web/src/views/modules/taskReliability/OperatConditModel.vue b/web/src/views/modules/taskReliability/OperatConditModel.vue index 7966756..81f7506 100644 --- a/web/src/views/modules/taskReliability/OperatConditModel.vue +++ b/web/src/views/modules/taskReliability/OperatConditModel.vue @@ -1,56 +1,156 @@ <template> - <div class="mod-taskReliability-operatConditModel}"> - <zt-table-wraper ref="tableObj" :paging='false' defaultNotQuery="true" query-url="/taskReliability/OperatConditModel/page" delete-url="/taskReliability/OperatConditModel/" v-slot="{ table }"> - <el-form :inline="true" :model="dataForm" @keyup.enter.native="table.query()"> - <el-form-item> - </el-form-item> - </el-form> - <el-table v-loading="table.dataLoading" :data="table.dataList" height="100px" - v-adaptive="{bottomOffset:70}" border @selection-change="table.selectionChangeHandle" - row-key="id" - :tree-props="{children: 'children', hasChildren: 'hasChildren'}" - :default-expand-all="true"> - <el-table-column prop="product" label="浜у搧鑺傜偣1" width="160"/> - <el-table-column prop="modelName" label="浜у搧妯″瀷"/> - <zt-table-column-handle :table="table" edit-perm="taskReliability:update" - delete-perm="taskReliability::delete" :has-view="false"> - <template v-slot="{ row }"> - <zt-table-button @click="openSelectModel(row)">閫夋嫨妯″瀷</zt-table-button> - </template> - </zt-table-column-handle> - </el-table> - <select-model-rbd ref="SelectModelRbd" ></select-model-rbd> - </zt-table-wraper> - </div> + <div class="mod-taskReliability-operatConditModel}"> + <zt-table-wraper @dataLoaded="dataLoaded" ref="tableObj" :paging='false' defaultNotQuery="true" + query-url="/taskReliability/OperatConditModel/page" + delete-url="/taskReliability/OperatConditModel/" v-slot="{ table }"> + <el-form :inline="true" :model="dataForm" @keyup.enter.native="table.query()"> + <el-form-item> + <el-button v-if="dataForm.productId" type="primary" @click="save()">淇濆瓨</el-button> + </el-form-item> + </el-form> + <el-table v-loading="table.dataLoading" :data="table.dataList" height="100px" + v-adaptive="{bottomOffset:30}" border @selection-change="table.selectionChangeHandle" + row-key="iid" + :tree-props="{children: 'children', hasChildren: 'hasChildren'}" + :default-expand-all="true"> + <el-table-column prop="productName" label="浜у搧鑺傜偣"/> + <el-table-column prop="modelId" label="浜у搧妯″瀷"> + <template slot-scope="scope"> + <el-select v-model="scope.row.modelId" :disabled="scope.row.isDisabled == 1" placeholder="璇烽�夋嫨" + style="width:100%" @change="modelChanged(scope.row)"> + <el-option + v-for="item in scope.row.modelList" + :key="item.id" + :label="item.modelName" + :value="item.id" + /> + </el-select> + </template> + </el-table-column> + <el-table-column label="鎿嶄綔" width="105px"> + <template v-slot="{ row }"> + <el-button v-if="row.modelId" type="primary" size="small" @click="drawRBD(row)">鏌ョ湅妯″瀷</el-button> + </template> + </el-table-column> + </el-table> +<!-- <el-dialog v-dialogDrag :title="title" top="1vh" width='95%' :visible.sync="dialogVisible2" v-if="dialogVisible2">--> +<!-- <model-view ref="modelView"></model-view>--> +<!-- </el-dialog>--> + </zt-table-wraper> + </div> </template> <script> - import SelectModelRbd from "./SelectModelRbd"; + import ModelView from "./ModelView"; + import cloneDeep from 'lodash/cloneDeep' + export default { name: 'OperaConditModel', data() { return { dataForm: { - operatConditId:'', - productId:'', - } + id: '', + operatConditId: '', + productId: '', + }, + mapModelNodes: {}, + modelList: [], + dialogVisible2: false, + isChange: false, + title: '' } }, components: { - SelectModelRbd + ModelView }, - methods:{ + mounted() { + this.getModelNodes() + }, + methods: { init(param) { console.log(param, '') this.dataForm.operatConditId = param.row.id this.dataForm.productId = param.productId this.$refs.tableObj.query() }, - openSelectModel(row) { - console.log(row, 'selectModel'); - if (!row.operatConditId) - row.operatConditId = this.dataForm.operatConditId - this.$refs.SelectModelRbd.$refs.dialog.init(row) + dataLoaded(dataList) { + dataList[0].isDisabled = 0 + if (!dataList[0].modelId && dataList[0].modelList.length == 1) { + console.log(dataList[0].modelList[0].id, ' dataList[0].modelList[0].modelId') + dataList[0].modelId = dataList[0].modelList[0].id + console.log(dataList[0], 'dataLoaded(dataList)') + this.modelChangedProess(dataList[0]) + } + }, + async save() { + let res = await this.$http.post('/taskReliability/OperatConditModel/', this.$refs.tableObj.dataList[0]) + if (res.success) { + this.$tip.success() + this.isChange = false + this.$refs.tableObj.query() + } + }, + async getModelNodes() { + let res = await this.$http.get(`/taskReliability/OperatConditModel/getModelNodes?shipId=0`) + console.log(res, 'res taskReliability') + console.log(res.data, 'res.data taskReliability') + if (res.data) { + this.mapModelNodes = res.data + + } + }, + modelChanged(row) { + this.isChange = true + this.modelChangedProess(row) + }, + modelChangedProess(row) { + let modelId = row.modelId + let modelNodes = this.mapModelNodes[modelId] + console.log(modelId, 'modelChanged modelId') + console.log(modelNodes, 'modelChanged modelNodes') + console.log(row.children, 'row.children') + + for (let subRow of row.children) { + console.log(subRow, 'subRow') + console.log(subRow.productId, 'subRow.productId') + if (modelNodes.indexOf(subRow.productId) != -1) { + subRow.isDisabled = 0 + if (subRow.modelList.length == 1) { + subRow.modelId = subRow.modelList[0].id + console.log(subRow.modelId, 'subRow.modelId 111') + console.log(this.mapModelNodes[subRow.modelId], 'this.mapModelNodes[subRow.modelId] 111') + } else { + //subRow.modelId = null + } + } else { + subRow.isDisabled = 1 + subRow.modelId = null + } + this.nodeIteration(subRow) + } + }, + nodeIteration(parentRow) { + for (let subRow of parentRow.children) { + if (parentRow.modelId) { + subRow.isDisabled = 0 + if (subRow.modelList.length == 1) { + subRow.modelId = subRow.modelList[0].id + } + } else { + subRow.isDisabled = 1 + subRow.modelId = null + } + this.nodeIteration(subRow) + } + }, + drawRBD(row) { + let param = { + id: row.modelId, + modelName: row.modelName, + collapseTransition:0, + title:row.modelName + '妯″瀷璁捐' + } + this.$emit('collapseTransitionChange', param) } } } -- Gitblit v1.9.1