From de1b6284b3cb6349575938782ee34d2ad0349735 Mon Sep 17 00:00:00 2001
From: wente <329538422@qq.com>
Date: 星期四, 14 三月 2024 18:04:19 +0800
Subject: [PATCH] 表决数量
---
web/src/views/modules/taskReliability/RBD-edit-img.vue | 53 +++-----
web/src/views/modules/taskReliability/ConfigNode/index.vue | 269 +++++++++++++++++++++++++++++---------------
web/src/views/modules/taskReliability/ModelRbd.vue | 4
3 files changed, 196 insertions(+), 130 deletions(-)
diff --git a/web/src/views/modules/taskReliability/ConfigNode/index.vue b/web/src/views/modules/taskReliability/ConfigNode/index.vue
index d8d41d0..0ba5b6f 100644
--- a/web/src/views/modules/taskReliability/ConfigNode/index.vue
+++ b/web/src/views/modules/taskReliability/ConfigNode/index.vue
@@ -3,31 +3,79 @@
<el-card style="height: 100%">
<el-tabs v-model="activeName" id="tabPane">
<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-form :model="globalGridAttr">
+ <el-form-item v-show="shape!=='custom-circle1'" label="鑺傜偣鍚嶇О" prop="nodeText" label-width="80px">
<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-form-item>
+ <el-form-item v-show="nodeType=='node'" label="杩炴帴鍏崇郴" prop="nodeTypeExt" label-width="80px">
<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">
+ 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-form-item>
+ <el-form-item v-show="nodeType=='vote' || (nodeType=='node' && showNumberInput)" label="琛ㄥ喅鏁伴噺" prop="voteNum" label-width="80px">
+ <el-input type="number" v-model="globalGridAttr.voteNum" @change="onNumberInputValue" placeholder="璇疯緭鍏ユ暟瀛�"></el-input>
+ </el-form-item>
+ <el-form-item v-show="nodeType=='node'" label="鍙潬鎬у垎甯冪被鍨�" prop="reliabDistribType" label-width="125px">
+ <zt-dict style="width: 100%" v-model="globalGridAttr.reliabDistribType" @input="onReliabDistribType" dict="ReliabDistribType" placeholder="鍙潬鎬у垎甯冪被鍨�" clearable/>
+ </el-form-item>
+ <el-form-item v-show="nodeType=='node'" label="MTBCF" prop="taskMtbcf" label-width="80px">
+ <el-input v-model="globalGridAttr.taskMtbcf" @change="onTaskMtbcfChange"></el-input>
+ </el-form-item>
+ <el-form-item v-show="nodeType=='node'" label="鍙傛暟2" prop="taskMtbcfOther" label-width="80px">
+ <el-input v-model="globalGridAttr.taskMtbcfOther" @change="onTaskMtbcfOtherChange"></el-input>
+ </el-form-item>
+ <el-form-item v-show="nodeType=='node'" label="鏄惁鍙淮淇�" prop="isRepair" label-width="100px">
+ <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-form-item>
+ <div v-show="nodeType=='node' && showRepairInput">
+ <el-form-item label="鍙淮淇�у垎甯冪被鍨�" prop="repairDistribType" label-width="140px">
+ <zt-dict v-model="globalGridAttr.repairDistribType" dict="RepairDistribType" @input="onRepairDistribTypeChange" placeholder="缁翠慨鎬у垎甯冪被鍨�" clearable/>
+ </el-form-item>
+ <el-form-item label="MTTCR" prop="repairMttcr" label-width="80px">
+ <el-input v-model="globalGridAttr.repairMttcr" @change="onRepairMttcrChange"></el-input>
+ </el-form-item>
+ <el-form-item label="鍙傛暟2" prop="repairMttcrOther" label-width="80px">
+ <el-input v-model="globalGridAttr.repairMttcrOther" @change="onRepairMttcrOtherChange"></el-input>
+ </el-form-item>
+ </div>
+ </el-form>
+<!-- <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.voteNum" @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>-->
@@ -41,57 +89,57 @@
<!-- </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=8 style="font-size: 16px;line-height: 32px">MTBCF</el-col>
- <el-col :span=16>
- <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=8 style="font-size: 16px;line-height: 32px">MTTCR</el-col>
- <el-col :span=16>
- <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-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=8 style="font-size: 16px;line-height: 32px">MTBCF</el-col>-->
+<!-- <el-col :span=16>-->
+<!-- <el-input 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=8 style="font-size: 16px;line-height: 32px">MTTCR</el-col>-->
+<!-- <el-col :span=16>-->
+<!-- <el-input 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">
@@ -249,11 +297,11 @@
},
// 琛ㄥ喅鏁伴噺
onNumberInputValue(e){
- this.globalGridAttr.voteSum = e
- let voteSum={
- voteSum:this.globalGridAttr.voteSum
+ this.globalGridAttr.voteNum = e
+ let voteNum={
+ voteNum:this.globalGridAttr.voteNum
}
- this.curCel.setData(voteSum)
+ this.curCel.setData(voteNum)
this.curCel = this.nodeOpt(this.id,this.globalGridAttr)
},
// 鍙潬鎬у垎甯冪被鍨�
@@ -267,21 +315,34 @@
},
// mtbf
onTaskMtbcfChange(e){
- this.globalGridAttr.taskMtbcf =e
- let taskMtbcf={
- taskMtbcf:this.globalGridAttr.taskMtbcf
+ const numberRegex = /^-?\d+(\.\d+)?$/
+ if(numberRegex.test(e)){
+ this.globalGridAttr.taskMtbcf =e
+ let taskMtbcf={
+ taskMtbcf:this.globalGridAttr.taskMtbcf
+ }
+ this.curCel.setData(taskMtbcf)
+ this.curCel = this.nodeOpt(this.id,this.globalGridAttr)
+ }else {
+ this.$message.error('杈撳叆鏍煎紡鏈夎锛岃杈撳叆瀹炴暟')
}
- 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
+ const numberRegex = /^-?\d+(\.\d+)?$/
+ console.log(e,'eeeee')
+ if(numberRegex.test(e)){
+ this.globalGridAttr.taskMtbcfOther = e
+ let taskMtbcfOther={
+ taskMtbcfOther:this.globalGridAttr.taskMtbcfOther
+ }
+ this.curCel.setData(taskMtbcfOther)
+ this.curCel = this.nodeOpt(this.id,this.globalGridAttr)
+ }else {
+ this.$message.error('杈撳叆鏍煎紡鏈夎锛岃杈撳叆瀹炴暟')
}
- this.curCel.setData(taskMtbcfOther)
- this.curCel = this.nodeOpt(this.id,this.globalGridAttr)
+
},
// 鏄惁鍙淮淇�
onIsRepairChange(e){
@@ -304,21 +365,32 @@
},
// Mttcr
onRepairMttcrChange(e){
- this.globalGridAttr.repairMttcr = e
- let repairMttcr={
- repairMttcr:this.globalGridAttr.repairMttcr
+ const numberRegex = /^-?\d+(\.\d+)?$/
+ if(numberRegex.test(e)){
+ this.globalGridAttr.repairMttcr = e
+ let repairMttcr={
+ repairMttcr:this.globalGridAttr.repairMttcr
+ }
+ this.curCel.setData(repairMttcr)
+ this.curCel = this.nodeOpt(this.id,this.globalGridAttr)
+ }else {
+ this.$message.error('杈撳叆鏍煎紡鏈夎锛岃杈撳叆瀹炴暟')
}
- 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
+ const numberRegex = /^-?\d+(\.\d+)?$/
+ if(numberRegex.test(e)) {
+ this.globalGridAttr.repairMttcrOther = e
+ let repairMttcrOther = {
+ repairMttcrOther: this.globalGridAttr.repairMttcrOther
+ }
+ this.curCel.setData(repairMttcrOther)
+ this.curCel = this.nodeOpt(this.id, this.globalGridAttr)
+ }else {
+ this.$message.error('杈撳叆鏍煎紡鏈夎锛岃杈撳叆瀹炴暟')
}
- this.curCel.setData(repairMttcrOther)
- this.curCel = this.nodeOpt(this.id,this.globalGridAttr)
},
onStatusImgChange(e){
this.globalGridAttr.statusImg = e
@@ -361,6 +433,7 @@
if (!cell || !cell.isNode()) {
return
}
+ this.showNumberInput = false
this.curCel = cell
globalGridAttr.nodeStroke = cell.attr('body/stroke')
globalGridAttr.nodeStrokeWidth = cell.attr('body/strokeWidth')
@@ -387,6 +460,12 @@
globalGridAttr.taskMtbcf = cell.getData().taskMtbcf
globalGridAttr.taskMtbcfOther = cell.getData().taskMtbcfOther
globalGridAttr.isRepair = cell.getData().isRepair
+ globalGridAttr.voteNum = cell.getData().voteNum
+ console.log(cell.getData().voteNum,'cell.getData().voteNum')
+ if(cell.getData().voteNum!==undefined || this.globalGridAttr.nodeTypeExt === 'vote' || this.nodeType==='vote'){
+ this.showNumberInput = true
+ }
+ console.log(this.showNumberInput,'this.showNumberInput')
this.showRepairInput = cell.getData().isRepair
cell.removeTools()
cell.addTools([
diff --git a/web/src/views/modules/taskReliability/ModelRbd.vue b/web/src/views/modules/taskReliability/ModelRbd.vue
index ec99f55..60c5652 100644
--- a/web/src/views/modules/taskReliability/ModelRbd.vue
+++ b/web/src/views/modules/taskReliability/ModelRbd.vue
@@ -19,7 +19,7 @@
<zt-button type="delete" @click="table.deleteHandle()"/>
</el-form-item>
</el-form>
- <el-table v-loading="table.dataLoading" :data="table.dataList" height="100px" v-adaptive="{bottomOffset:70}"
+ <el-table v-loading="table.dataLoading" :data="table.dataList" height="100px" v-adaptive="{bottomOffset:30}"
border @selection-change="table.selectionChangeHandle">
<el-table-column type="selection" width="40" align="center"/>
<el-table-column prop="modelName" label="妯″瀷鍚嶇О"/>
@@ -31,7 +31,7 @@
<zt-table-column-handle :table="table"
delete-perm="taskReliability::delete" :has-view="false" width="180px">
<template v-slot="{ row }">
- <el-button @click="drawRBD(row)">妯″瀷璁捐</el-button>
+ <zt-table-button @click="drawRBD(row)">妯″瀷璁捐</zt-table-button>
</template>
</zt-table-column-handle>
</el-table>
diff --git a/web/src/views/modules/taskReliability/RBD-edit-img.vue b/web/src/views/modules/taskReliability/RBD-edit-img.vue
index b9acbcf..ac65af8 100644
--- a/web/src/views/modules/taskReliability/RBD-edit-img.vue
+++ b/web/src/views/modules/taskReliability/RBD-edit-img.vue
@@ -184,7 +184,7 @@
id: '',
graph: null,
globalGridAttr: {
- voteSum: '',
+ voteNum: '',
repairMttcr: '',
repairMttcrOther: '',
repairDistribType: '',
@@ -372,15 +372,13 @@
grid: {
visible: true,
},
- onToolItemCreated({tool}) {
- const handle = tool
- const options = handle.options
- if (options && options.index % 2 === 1) {
- tool.setAttrs({fill: 'red'})
- }
- },
autoResize: true,
- history: true,
+ history: {
+ enabled: true,
+ ignoreAdd: true,
+ ignoreRemove: true,
+ ignoreChange: true,
+ },
// panning: {
// enabled: true,
// },
@@ -450,6 +448,12 @@
}
}
}],
+ tools: {
+ name: 'vertices',
+ args: {
+ attrs: { fill: '#666' },
+ },
+ },
zIndex: 0,
})
},
@@ -532,7 +536,8 @@
data: {
dataId: '',
nodeType: item.nodeType,
- nodeTypeExt: ''
+ nodeTypeExt: '',
+ voteNum:''
},
attrs: {
text: {
@@ -564,7 +569,7 @@
width: 60,
height: 60,
data: {
- isRepair: false,
+ isRepair: item.isRepair,
dataId: item.dataId,
nodeType: item.nodeType,
nodeTypeExt: item.nodeTypeExt,
@@ -576,9 +581,9 @@
repairMttcrOther: item.repairMttcrOther,
taskMtbcf: item.taskMtbcf,
taskMtbcfOther: item.taskMtbcfOther,
- voteSum: '',
imgHeight: item.imgHeight,
- imgWidth: item.imgWidth
+ imgWidth: item.imgWidth,
+ voteNum:'',
},
attrs: {
text: {
@@ -799,28 +804,10 @@
this.showPorts(ports, false)
})
- this.graph.on('edge:mouseenter', ({cell, view}) => {
+ this.graph.on('edge:mouseenter', ({cell}) => {
// alert(123)
- cell.addTools([
- {
- name: 'source-arrowhead',
- },
- {
- name: 'target-arrowhead',
- args: {
- attrs: {
- fill: 'red',
- },
- },
- },
- ])
cell.addTools(
- [
- {
- name: 'segments',
- args: {snapRadius: 20, attrs: {fill: '#444'}}
- }
- ]
+ ['vertices', 'segments']
)
})
--
Gitblit v1.9.1