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