xyc
2024-10-12 5cea5dff7f0d73c1b172252936b393fb390ab669
web/src/views/modules/baseReliability/ParamDataBasic.vue
@@ -4,7 +4,7 @@
      <el-col :span="5">
        <div class="fa-card-a" style="margin-right: 5px;height: calc(100vh - 123px)">
          <product-model-tree ref="modelTree" @on-selected="onProductSelected" @on-default="onDefault" showXdy="false"
                              basic="3"/>
                              basic="3" :isShow="false"/>
        </div>
      </el-col>
      <el-col :span="19">
@@ -24,27 +24,39 @@
                      row-key="id"
                      :expand-row-keys="defultKey"
                      :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
                      :header-cell-style="{'text-align':'center'}"
                      :cell-style="cellStyle"
                      border @selection-change="table.selectionChangeHandle">
              <!--<el-table-column type="selection" width="40"/>-->
              <el-table-column prop="name" label="名称"/>
              <el-table-column prop="basicMtbfRegulate" label="MTBF" align="right">
                <template slot-scope="scope">
                  <span>{{ scope.row.basicMtbfRegulate | keepNumber }}</span>
                  <span>{{  keepNumber(scope.row.basicMtbfRegulate) }}</span>
                </template>
              </el-table-column>
              <el-table-column prop="repairMttcr" label="MTTR" align="right">
                <template slot-scope="scope">
                  <span>{{ scope.row.repairMttcr | keepNumber }}</span>
                  <span>{{  keepNumber(scope.row.repairMttcr) }}</span>
                </template>
              </el-table-column>
              <el-table-column prop="basicMtbfRegulSuccRate" label="成功率" align="right">
                <template slot-scope="scope">
                  <span>{{keepNumber(scope.row.basicMtbfRegulSuccRate) }}</span>
                </template>
              </el-table-column>
              <el-table-column prop="basicRunsNum" label="运行次数" align="right">
                <template slot-scope="scope">
                  <span>{{scope.row.basicRunsNum}}</span>
                </template>
              </el-table-column>
              <el-table-column prop="basicMtbfOperatingRatio" label="运行比" align="right">
                <template slot-scope="scope">
                  <span>{{ scope.row.basicMtbfOperatingRatio | keepNumber }}</span>
                  <span>{{keepNumber(scope.row.basicMtbfOperatingRatio) }}</span>
                </template>
              </el-table-column>
              <el-table-column prop="ai" label="可用度" align="right">
                <template slot-scope="scope">
                  <span>{{ scope.row.ai | keepNumber }}</span>
                  <span>{{keepNumber(scope.row.ai)}}</span>
                </template>
              </el-table-column>
            </el-table>
@@ -66,7 +78,9 @@
          basicMtbfRegulate: '',
          repairMttcr: '',
          basicMtbfOperatingRatio: '',
          ai: ''
          ai: '',
          basicMtbfRegulSuccRate:'',
          basicRunsNum:''
        },
        defultKey: []
      }
@@ -74,18 +88,20 @@
    components: {
      ProductModelTree,
    },
    filters: {
      keepNumber(value) { //过滤器保留4为小数
        const numM = Number(value).toFixed(5);
        if (numM === "NaN") {
          return "0.0000";
    computed: {
      keepNumber() { //过滤器保留4为小数
        return function (val) {      // 对计算属性进行传参
          let numM = 0.0
          if (val){
            numM = Number(val).toFixed(4);
            numM.substring(0, numM.length - 1)
          }
          return numM;
        }
        if (numM === '0.0000' && value > 0) {
        }
        const realVal = numM.substring(0, numM.length - 1);
        return realVal;
      },
    },
    mounted() {
      this.$refs.modelTree.getProductList()
    },
    methods: {
      onProductSelected(data) {
@@ -99,7 +115,6 @@
        })
      },
      setDefultKey() {
        console.log(this.$refs.tableObj.dataList[0].id,'this.$refs.tableObj.dataList[0].id')
        this.defultKey.push(this.dataForm.shipId + "")
      },
      onDefault(defaultId) {
@@ -115,6 +130,32 @@
          this.$refs.tableObj.query()
        })
      },
      cellStyle({row, column, rowIndex, columnIndex}) {
        const numM1 = Number(row.repairMttcr).toFixed(5);
        const numM2 = Number(row.basicMtbfRegulate).toFixed(5);
        console.log(numM1,numM2,'234')
        if (numM1.substring(0, numM1.length - 1) === '0.0000' && row.repairMttcr > 0 && column.property ==="repairMttcr") {
          return 'color : red'
        } else if (numM2.substring(0, numM1.length - 1) === '0.0000' && row.basicMtbfRegulate > 0 && column.property ==="basicMtbfRegulate") {
          return 'color : red'
        }else {
          return ''
        }
        // Object.keys(row).forEach((key, index) => {
        //   //遍历每行中每个数据的state
        //   if (key === "repairMttcr" || key === "basicMtbfRegulate") {
        //     //console.log(key, "row key");
        //     let val = row[key]
        //     const numM = Number(val).toFixed(5);
        //     if (numM.substring(0, numM.length - 1) === '0.0000' && val > 0) {
        //       //定位该数据的坐标
        //       if (columnIndex === 2) {
        //         warningColor = true;
        //       }
        //     }
        //   }
        // });
      },
    }
  }
</script>