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