From 3c08a64d7829849811ef19a0ba11d41b6268fa5e Mon Sep 17 00:00:00 2001 From: wente <329538422@qq.com> Date: 星期二, 12 三月 2024 18:14:47 +0800 Subject: [PATCH] 新增属性 --- web/src/views/modules/taskReliability/ConfigNode/index.vue | 328 ++++++++++++++++++++++++++++++++---------------------- 1 files changed, 192 insertions(+), 136 deletions(-) diff --git a/web/src/views/modules/taskReliability/ConfigNode/index.vue b/web/src/views/modules/taskReliability/ConfigNode/index.vue index 2ee79ac..8be9eae 100644 --- a/web/src/views/modules/taskReliability/ConfigNode/index.vue +++ b/web/src/views/modules/taskReliability/ConfigNode/index.vue @@ -1,8 +1,97 @@ <template> - <div style="position: absolute;top:6%;right:0;background:#cccccc;width: 300px;" :style="'height:'+ left_p + 'px'"> + <div style="position: absolute;top:0;right:0;background:#cccccc;width: 400px;" :style="'height:'+ left_p + 'px'"> <el-card style="height: 100%"> <el-tabs v-model="activeName" id="tabPane"> - <el-tab-pane label="鏂囨湰" name="first"> + <el-tab-pane label="灞炴��" name="first"> + <el-row :gutter="5" v-show="shape!=='custom-circle1'" align="middle" style="margin-top:20px"> + <el-col :span=8 style="font-size: 16px;line-height: 32px">鑺傜偣鍚嶇О</el-col> + <el-col :span=16 > + <el-input v-model="globalGridAttr.nodeText" style="width:100%" @change="onTextChange"></el-input> + </el-col> + </el-row> + <el-row :gutter="5" v-show="nodeType=='node'" align="middle" style="margin-top:20px;"> + <el-col :span=8 style="font-size: 16px;line-height: 32px">杩炴帴鍏崇郴</el-col> + <el-col :span=16> + <el-select style="width: 100%" v-model="globalGridAttr.nodeTypeExt" @change="onNodeTypeExtChange"> + <el-option + v-for="item in options" + :key="item.value" + :label="item.label" + :value="item.value"> + </el-option> + </el-select> + </el-col> + </el-row> + <el-row :gutter="5" v-show="nodeType=='node' && showNumberInput" align="middle" style="margin-top:20px;"> + <el-col :span=8 style="font-size: 16px;line-height: 32px">鏁伴噺</el-col> + <el-col :span=16> + <el-input type="number" v-model="globalGridAttr.numberInputValue" @change="onNumberInputValue" placeholder="璇疯緭鍏ユ暟瀛�"></el-input> + </el-col> + </el-row> +<!-- <el-row :gutter="5" v-show="nodeType=='node'" align="middle" style="margin-top:20px;">--> +<!-- <el-col :span=8 style="font-size: 16px;line-height: 32px">鐘舵��</el-col>--> +<!-- <el-col :span=16>--> +<!-- <el-select style="width: 100%" v-model="globalGridAttr.statusImg" @change="onStatusImgChange">--> +<!-- <el-option--> +<!-- v-for="item in options1"--> +<!-- :key="item.value"--> +<!-- :label="item.label"--> +<!-- :value="item.value">--> +<!-- </el-option>--> +<!-- </el-select>--> +<!-- </el-col>--> +<!-- </el-row>--> + <el-row :gutter="5" v-show="nodeType=='node'" align="middle" style="margin-top:20px;"> + <el-col :span=8 style="font-size: 16px;line-height: 32px">鍙潬鎬у垎甯冪被鍨�</el-col> + <el-col :span=16> + <zt-dict v-model="globalGridAttr.reliabDistribType" @input="onReliabDistribType" dict="ReliabDistribType" placeholder="鍙潬鎬у垎甯冪被鍨�" clearable/> + </el-col> + </el-row> + <el-row :gutter="5" v-show="nodeType=='node'" align="middle" style="margin-top:20px;"> + <el-col :span=24> + <el-input type="number" v-model="globalGridAttr.taskMtbcf" @change="onTaskMtbcfChange"></el-input> + </el-col> + </el-row> + <el-row :gutter="5" v-show="nodeType=='node'" align="middle" style="margin-top:20px;"> + <el-col :span=8 style="font-size: 16px;line-height: 32px">鍙傛暟2</el-col> + <el-col :span=16> + <el-input v-model="globalGridAttr.taskMtbcfOther" @change="onTaskMtbcfOtherChange"></el-input> + </el-col> + </el-row> + <el-row :gutter="5" v-show="nodeType=='node'" align="middle" style="margin-top:20px;"> + <el-col :span=8 style="font-size: 16px;line-height: 32px">鏄惁鍙淮淇�</el-col> + <el-col :span=16> + <el-select style="width: 100%" v-model="globalGridAttr.isRepair" @change="onIsRepairChange"> + <el-option + v-for="item in isRepair" + :key="item.value" + :label="item.label" + :value="item.value"> + </el-option> + </el-select> + </el-col> + </el-row> + <div v-show="nodeType=='node' && showRepairInput"> + <el-row :gutter="5" align="middle" style="margin-top:20px;"> + <el-col :span=8 style="font-size: 16px;line-height: 32px">鍙淮淇�у垎甯冪被鍨�</el-col> + <el-col :span=16> + <zt-dict v-model="globalGridAttr.repairDistribType" dict="RepairDistribType" @input="onRepairDistribTypeChange" placeholder="缁翠慨鎬у垎甯冪被鍨�" clearable/> + </el-col> + </el-row> + <el-row :gutter="5" align="middle" style="margin-top:20px;"> + <el-col :span=24> + <el-input type="number" v-model="globalGridAttr.repairMttcr" @change="onRepairMttcrChange"></el-input> + </el-col> + </el-row> + <el-row :gutter="5" align="middle" style="margin-top:20px;"> + <el-col :span=8 style="font-size: 16px;line-height: 32px">鍙傛暟2</el-col> + <el-col :span=16> + <el-input v-model="globalGridAttr.repairMttcrOther" @change="onRepairMttcrOtherChange"></el-input> + </el-col> + </el-row> + </div> + </el-tab-pane> + <el-tab-pane label="鏍峰紡" name="second"> <el-row :gutter="5" align="middle" style="margin-top:20px"> <el-col :span=8 style="font-size: 16px;line-height: 38px">鏂囨湰澶у皬</el-col> <el-col :span=16> @@ -15,84 +104,14 @@ <el-color-picker v-model="globalGridAttr.nodeColor" style="width: 100%" @change="onColorChange"></el-color-picker> </el-col> </el-row> - <el-row v-show="shape!=='custom-text' || shape!=='custom-circle1'" :gutter="5" align="middle" style="margin-top:20px"> - <el-col :span=8 style="font-size: 16px;line-height: 32px">椤圭洰鍚嶇О</el-col> - <el-col :span=16 > - <el-input @click.native='showDialog' v-model="globalGridAttr.inspectName" style="width:100%"></el-input> - </el-col> - </el-row> - <el-row :gutter="5" v-show="shape!=='custom-circle1'" align="middle" style="margin-top:20px"> - <el-col :span=8 style="font-size: 16px;line-height: 32px">杩囩▼鍚嶇О</el-col> - <el-col :span=16 > - <el-input v-model="globalGridAttr.nodeText" style="width:100%" @change="onTextChange"></el-input> - </el-col> - </el-row> - <el-row :gutter="5" v-show="nodeType=='node'" align="middle" style="margin-top:20px;"> - <el-col :span=8 style="font-size: 16px;line-height: 32px">鍏崇郴</el-col> - <el-col :span=16> - <el-select style="width: 100%" v-model="globalGridAttr.nodeTypeExt" @change="onNodeTypeExtChange"> - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value"> - </el-option> - </el-select> - </el-col> - </el-row> - <el-row :gutter="5" v-show="nodeType=='node'" align="middle" style="margin-top:20px;"> - <el-col :span=8 style="font-size: 16px;line-height: 32px">鐘舵��</el-col> - <el-col :span=16> - <el-select style="width: 100%" v-model="globalGridAttr.statusImg" @change="onStatusImgChange"> - <el-option - v-for="item in options1" - :key="item.value" - :label="item.label" - :value="item.value"> - </el-option> - </el-select> - </el-col> - </el-row> - <el-row v-show="shape!=='custom-text'" :gutter="5" align="middle" style="margin-top:20px"> - <el-col :span=8 style="font-size: 16px;line-height: 32px">鏃ユ湡</el-col> - <el-col :span=16 > - <el-date-picker v-model="globalGridAttr.nodeDate" type="date" placeholder="閫夋嫨鏃ユ湡" value-format="yyyy-MM-dd" - style="width: 100%" @change="onDateChange"> - </el-date-picker> - </el-col> - </el-row> - </el-tab-pane> - <el-tab-pane label="鑺傜偣" name="second"> - <el-row align="middle" style="margin-top:20px"> - <el-col :span=8 style="font-size: 16px;line-height: 40px">杈规棰滆壊</el-col> - <el-col :span=16> - <el-color-picker v-model="globalGridAttr.nodeStroke" style="width: 100%" @change="onStrokeChange"></el-color-picker> - </el-col> - </el-row> - <el-row align="middle"style="margin-top:20px"> - <el-col :span=8 style="font-size: 16px;line-height: 38px">杈规瀹藉害</el-col> - <el-col :span=16> - <el-slider :min=1 :max=20 :step=1 v-model="globalGridAttr.nodeStrokeWidth" @change="onStrokeWidthChange"></el-slider> - </el-col> - </el-row> - <el-row align="middle" style="margin-top:20px"> - <el-col :span=8 style="font-size: 16px;line-height: 40px">棰滆壊</el-col> - <el-col :span=16> - <el-color-picker v-model="globalGridAttr.nodeFill" style="width: 100%" @change="onFillChange"></el-color-picker> - </el-col> - </el-row> </el-tab-pane> </el-tabs> </el-card> - <el-dialog ref="detailedDialog" title="閫夋嫨椤圭洰" width='85%' :visible.sync="dialogVisible "> - <Inspection @func="procResult" ref="inspectionNode" /> - </el-dialog> </div> </template> <script> import { Graph, Shape, Node, Addon, Cell,FunctionExt} from '@antv/x6'; -import Inspection from './project-list-select' // const {inject} = require("vue"); export default { name: "index", @@ -103,12 +122,11 @@ finishDate: '', inspectName:'' }, + showNumberInput:false, + showRepairInput:false, options: [{ value: '', label: '鏃�' - }, { - value: 'parallel', - label: '骞惰仈' },{ value: 'switch', label: '鏃佽繛' @@ -116,6 +134,15 @@ value: 'vote', label: '琛ㄥ喅' }], + isRepair:[ + { + value: 0, + label: '鍚�' + }, { + value: 1, + label: '鏄�' + } + ], options1: [{ value: '', label: '鏃�' @@ -126,19 +153,15 @@ value:'https://gw.alipayobjects.com/zos/antfincdn/FLrTNDvlna/antv.png', label: 'antv' }], - date:'', text:'', - dateId:'', - content:'', dialogVisible:false, activeName: 'first', // globalGridAttr:{}, curCel:Cell, - left_p:document.documentElement.clientHeight*0.9, + left_p:document.documentElement.clientHeight* 0.75, } }, components:{ - Inspection }, props:{ id: { @@ -183,44 +206,6 @@ this.$refs.inspectionNode.init(param) }) }, - procResult(node) { - // console.log(node,'node') - this.text =node.nodeName - this.dateId = node.nodeId - this.globalGridAttr.dataId = this.dateId - this.globalGridAttr.inspectName = this.text - this.globalGridAttr.nodeText = this.text - this.data={ - dataId:this.dateId, - inspectName:this.text - } - this.curCel.setData(this.data) - this.curCel.attr('text/text', this.text) - this.curCel.attr('data/dataId', this.dateId) - this.curCel.attr('data/inspectName', this.text) - this.curCel = this.nodeOpt(this.id,this.globalGridAttr) - this.dialogVisible = false - // console.log(node,'dialog绐楀彛杩斿洖鍊�') - }, - // 鏀瑰彉杈规棰滆壊 - onStrokeChange(e){ - let val = e - this.globalGridAttr.nodeStroke = val - this.curCel.attr('body/stroke', val) - }, - //鏀瑰彉杈规澶у皬 - onStrokeWidthChange(e){ - let val =e - this.globalGridAttr.nodeStrokeWidth = val - this.curCel.attr('body/strokeWidth', val) - }, - //鏀瑰彉鏂囨湰棰滆壊 - onFillChange(e){ - let val = e - this.globalGridAttr.nodeFill=val - this.curCel.attr('body/fill', val) - // this.curCel.attr('title/fill', val) - }, // 鏀瑰彉瀛椾綋澶у皬 onFontSizeChange(e){ let val =e @@ -242,16 +227,95 @@ onTextChange(e){ this.text =e this.globalGridAttr.nodeText = this.text - this.curCel.attr('label/textWrap/text', this.text) + this.curCel.attr('text/text', this.text) this.curCel = this.nodeOpt(this.id,this.globalGridAttr) }, onNodeTypeExtChange(e){ + if (this.globalGridAttr.nodeTypeExt === 'vote') { + this.showNumberInput = true; + } else { + this.showNumberInput = false; + this.globalGridAttr.numberInputValue = ''; + } this.globalGridAttr.nodeTypeExt = e let nodeTypeExt={ nodeTypeExt:this.globalGridAttr.nodeTypeExt } this.curCel.setData(nodeTypeExt) + this.curCel = this.nodeOpt(this.id,this.globalGridAttr) + }, + // 琛ㄥ喅鏁伴噺 + onNumberInputValue(e){ + this.globalGridAttr.voteSum = e + let voteSum={ + voteSum:this.globalGridAttr.voteSum + } + this.curCel.setData(voteSum) + this.curCel = this.nodeOpt(this.id,this.globalGridAttr) + }, + // 鍙潬鎬у垎甯冪被鍨� + onReliabDistribType(e){ + this.globalGridAttr.reliabDistribType = e + let reliabDistribType={ + reliabDistribType:this.globalGridAttr.reliabDistribType + } + this.curCel.setData(reliabDistribType) + this.curCel = this.nodeOpt(this.id,this.globalGridAttr) + }, + // mtbf + onTaskMtbcfChange(e){ + this.globalGridAttr.taskMtbcf =e + let taskMtbcf={ + taskMtbcf:this.globalGridAttr.taskMtbcf + } + this.curCel.setData(taskMtbcf) + this.curCel = this.nodeOpt(this.id,this.globalGridAttr) + }, + // 鍙傛暟2 + onTaskMtbcfOtherChange(e){ + this.globalGridAttr.taskMtbcfOther = e + let taskMtbcfOther={ + taskMtbcfOther:this.globalGridAttr.taskMtbcfOther + } + this.curCel.setData(taskMtbcfOther) + this.curCel = this.nodeOpt(this.id,this.globalGridAttr) + }, + // 鏄惁鍙淮淇� + onIsRepairChange(e){ + this.showRepairInput = this.globalGridAttr.isRepair === 1; + this.globalGridAttr.isRepair = e + let isRepair={ + isRepair:this.globalGridAttr.isRepair + } + this.curCel.setData(isRepair) + this.curCel = this.nodeOpt(this.id,this.globalGridAttr) + }, + // 鍙淮淇�у垎甯冪被鍨� + onRepairDistribTypeChange(e){ + this.globalGridAttr.repairDistribType = e + let repairDistribType={ + repairDistribType:this.globalGridAttr.repairDistribType + } + this.curCel.setData(repairDistribType) + this.curCel = this.nodeOpt(this.id,this.globalGridAttr) + }, + // Mttcr + onRepairMttcrChange(e){ + this.globalGridAttr.repairMttcr = e + let repairMttcr={ + repairMttcr:this.globalGridAttr.repairMttcr + } + this.curCel.setData(repairMttcr) + this.curCel = this.nodeOpt(this.id,this.globalGridAttr) + }, + // 鍙淮淇�у垎甯冪被鍨� 鍙傛暟2 + onRepairMttcrOtherChange(e){ + this.globalGridAttr.repairMttcrOther = e + let repairMttcrOther={ + repairMttcrOther:this.globalGridAttr.repairMttcrOther + } + this.curCel.setData(repairMttcrOther) this.curCel = this.nodeOpt(this.id,this.globalGridAttr) }, onStatusImgChange(e){ @@ -287,19 +351,6 @@ ]) this.curCel = this.nodeOpt(this.id,this.globalGridAttr) }, - onDateChange(e){ - this.date =e - this.globalGridAttr.nodeDate = this.date - this.data={ - finishDate:this.date, - } - this.curCel.setData(this.data) - if(this.shape=='custom-circle1'){ - this.curCel.attr('text/text', this.date) - } - this.curCel.attr('title/text', this.date) - this.curCel = this.nodeOpt(this.id,this.globalGridAttr) - }, nodeOpt(id, globalGridAttr){ this.curCel=null if(id){ @@ -321,15 +372,20 @@ // globalGridAttr.nodeColor = cell.attr('text/style/color') // globalGridAttr.nodeColor = cell.attr('title/style/color') globalGridAttr.nodeUsers = cell.attr('approve/users') - globalGridAttr.nodeText = cell.attr('label/textWrap/text') - if(this.shape=='custom-circle1'){ - globalGridAttr.nodeDate = cell.attr('text/text') - } + globalGridAttr.nodeText =cell.attr('text/text') globalGridAttr.nodeDate = cell.attr('title/text') globalGridAttr.dataId = cell.getData().dataId globalGridAttr.inspectName =cell.getData().inspectName globalGridAttr.nodeTypeExt=cell.getData().nodeTypeExt globalGridAttr.statusImg = cell.getData().statusImg + globalGridAttr.reliabDistribType = cell.getData().reliabDistribType + globalGridAttr.repairDistribType = cell.getData().repairDistribType + globalGridAttr.repairMttcr = cell.getData().repairMttcr + globalGridAttr.repairMttcrOther = cell.getData().repairMttcrOther + globalGridAttr.taskMtbcf = cell.getData().taskMtbcf + globalGridAttr.taskMtbcfOther = cell.getData().taskMtbcfOther + globalGridAttr.isRepair = cell.getData().isRepair + this.showRepairInput = cell.getData().isRepair cell.removeTools() cell.addTools([ { -- Gitblit v1.9.1