jinlin
2024-11-07 d0e1a3fb24d0ee76aa4ef1b0e042392b4d3ac794
web/src/views/modules/taskReliability/ConfigNode/configNode.vue
@@ -8,15 +8,28 @@
            <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-form-item>
            <el-form-item v-show="nodeType=='vote' || (nodeType=='node' && showNumberInput)" label="表决数量" prop="voteNum"
            <el-form-item v-show="showNumberInput" :label='nodeType=="vote"?"表决数量":"备份数量"' prop="voteNum"
                          label-width="80px">
              <el-input type="number" v-model="globalGridAttr.voteNum" @change="onNumberInputValue"
                        placeholder="请输入数字"></el-input>
            </el-form-item>
            <div v-show="globalGridAttr.productType!=='product_xdy'">
              <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="globalGridAttr.reliabDistribType==='3' && showBinoParam" label="二项分布成功率"
                            prop="successRate" label-width="125px">
                <el-input v-model="globalGridAttr.successRate" @change="onSuccessRateChange"></el-input>
              </el-form-item>
              <el-form-item v-show="globalGridAttr.reliabDistribType==='3' && showBinoParam" label="总次数"
                            prop="simulatTimes" label-width="80px">
                <el-input v-model="globalGridAttr.simulatTimes" @change="onSimulatTimesChange"></el-input>
              </el-form-item>
              <el-form-item v-show="globalGridAttr.reliabDistribType==='3' && showBinoParam" label="成功次数"
                            prop="successTimes" label-width="80px">
                <el-input v-model="globalGridAttr.successTimes" @change="onSuccessTimesChange"></el-input>
              </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>
@@ -46,10 +59,12 @@
                  <el-input v-model="globalGridAttr.repairMttcr" @change="onRepairMttcrChange"></el-input>
                </el-form-item>
                <el-form-item label="参数2" prop="repairMttcrOtherParams2" label-width="80px">
                  <el-input v-model="globalGridAttr.repairMttcrOtherParams2" @change="onRepairMttcrOther2Change"></el-input>
                  <el-input v-model="globalGridAttr.repairMttcrOtherParams2"
                            @change="onRepairMttcrOther2Change"></el-input>
                </el-form-item>
                <el-form-item label="参数2" prop="repairMttcrOtherParams3" label-width="80px">
                  <el-input v-model="globalGridAttr.repairMttcrOtherParams3" @change="onRepairMttcrOther3Change"></el-input>
                  <el-input v-model="globalGridAttr.repairMttcrOtherParams3"
                            @change="onRepairMttcrOther3Change"></el-input>
                </el-form-item>
              </div>
            </div>
@@ -104,7 +119,10 @@
          taskMtbcf: '',
          isRepair: '',
          voteNum: 0,
          productType: ''
          productType: '',
          successRate: '',
          simulatTimes: '',
          successTimes: '',
        },
        data: {
          dataId: '',
@@ -113,6 +131,7 @@
        },
        showNumberInput: false,
        showRepairInput: false,
        showBinoParam: false,
        isRepair: [
          {
            value: 0,
@@ -130,10 +149,8 @@
      }
    },
    components: {},
    props: {
    },
    watch: {
    },
    props: {},
    watch: {},
    mounted() {
    },
    methods: {
@@ -159,7 +176,8 @@
        this.curCel.attr('text/text', this.text)
      },
      onNodeTypeExtChange(e) {
        if (this.globalGridAttr.nodeTypeExt === 'vote') {
        alert(this.globalGridAttr.nodeTypeExt)
        if (this.globalGridAttr.nodeTypeExt === 'vote' || this.globalGridAttr.nodeTypeExt === 'switch') {
          this.showNumberInput = true;
        } else {
          this.showNumberInput = false;
@@ -182,6 +200,9 @@
      // 可靠性分布类型
      onReliabDistribType(e) {
        this.globalGridAttr.reliabDistribType = e
        if (e === '3') {
          this.showBinoParam = true
        }
        let reliabDistribType = {
          reliabDistribType: this.globalGridAttr.reliabDistribType
        }
@@ -284,6 +305,42 @@
          this.$message.error('输入格式有误,请输入实数')
        }
      },
      onSuccessRateChange(e) {
        const numberRegex = /^-?\d+(\.\d+)?$/
        if (numberRegex.test(e)) {
          this.globalGridAttr.successRate = e
          let successRate = {
            successRate: this.globalGridAttr.successRate
          }
          this.curCel.setData(successRate)
        } else {
          this.$message.error('输入格式有误,请输入实数')
        }
      },
      onSimulatTimesChange(e) {
        const numberRegex = /^-?\d+(\.\d+)?$/
        if (numberRegex.test(e)) {
          this.globalGridAttr.simulatTimes = e
          let simulatTimes = {
            simulatTimes: this.globalGridAttr.simulatTimes
          }
          this.curCel.setData(simulatTimes)
        } else {
          this.$message.error('输入格式有误,请输入实数')
        }
      },
      onSuccessTimesChange(e) {
        const numberRegex = /^-?\d+(\.\d+)?$/
        if (numberRegex.test(e)) {
          this.globalGridAttr.successTimes = e
          let successTimes = {
            successTimes: this.globalGridAttr.successTimes
          }
          this.curCel.setData(successTimes)
        } else {
          this.$message.error('输入格式有误,请输入实数')
        }
      },
      onStatusImgChange(e) {
        this.globalGridAttr.statusImg = e
        let statusImg = {
@@ -348,10 +405,17 @@
          this.globalGridAttr.isRepair = cell.getData().isRepair
          this.globalGridAttr.voteNum = cell.getData().voteNum
          this.globalGridAttr.productType = cell.getData().productType
          if (this.nodeType === 'vote' || this.globalGridAttr.nodeTypeExt === 'vote' || (cell.getData().voteNum !== undefined && cell.getData().voteNum !== '')) {
          this.globalGridAttr.successRate = cell.getData().successRate
          this.globalGridAttr.simulatTimes = cell.getData().simulatTimes
          this.globalGridAttr.successTimes = cell.getData().successTimes
          if (this.nodeType === 'vote' || this.nodeType === 'switch') {
            console.log(cell.getData().voteNum, 'cell.getData().voteNum')
            this.showNumberInput = true
          }
          if (cell.getData().reliabDistribType === 3) {
            this.globalGridAttr.reliabDistribType = '3'
            this.showBinoParam = true
          }
          this.showRepairInput = cell.getData().isRepair
          cell.removeTools()
          cell.addTools([