zouyu
2025-11-12 1bef995d9a6cc817bea0318a2a33ea013fe69deb
src/views/business/materialOrder/customsInspectionOrder.vue
@@ -171,7 +171,8 @@
          </el-form>
        </div>
        <div style="margin-bottom: 6px;margin-top: 6px">
          <el-button v-show="active==1" :disabled="sampleList.length === 3" size="small" type="primary" @click="handleSplitCountNum">拆分</el-button>
          <el-button v-show="active==1" size="small" type="primary" @click="handleSplitCountNum">拆分</el-button>
          <el-button v-show="active==1" :disabled="sampleList.length<=1" size="small" type="danger" @click="handleDeleteSplitCountNum">删除拆分</el-button>
        </div>
      </div>
@@ -461,6 +462,7 @@
import {dateFormat} from "@/utils/date";
import AuxiliaryWireCore from "../productOrder/components/auxiliaryWireCore.vue";
import cableConfig from "../productOrder/components/cable-config.vue";
import {bigEval} from "../../../utils/bigEval";
export default {
  name: "CustomsInspectionOrder",
  dicts: ['check_type', 'urgency_level'],
@@ -954,6 +956,12 @@
        this.templates = res.data
      })
    },
    //删除拆分行
    handleDeleteSplitCountNum(){
      this.count--;
      this.sampleList.pop()
      this.computationalPairing(this.sampleList.length)
    },
    // 拆分
    handleSplitCountNum () {
      this.sample.joinName = null
@@ -1199,6 +1207,37 @@
        this.saveLoad = false
      })
    },
    /**
     * 获取小数的最大位数
     * @param number  型号参数
     * @param ask     要求值
     * @param calcNum 计算值
     */
    getDecimalPlaces(number, ask, calcNum) {
      console.log("计算小数点-->", number, ask, calcNum);
      let count1 = 0;
      let count2 = 0;
      const reg = /(\d+\.)(\d+)/g;
      let matches = [];
      if (ask) {
        matches = ask.match(reg);
      }
      if (
        matches &&
        matches.length > 0 &&
        matches[0].toString().indexOf(".") > -1
      ) {
        count1 = matches[0].toString().split(".")[1].length;
      }
      if (number.toString().indexOf(".") > -1) {
        count2 = number.toString().split(".")[1].length;
      }
      if (calcNum.toString().indexOf(".") > -1) {
        const pointLength2 = calcNum.toString().split(".")[1].length;
        count2 = count2 > pointLength2 ? count2 : pointLength2;
      }
      return count1 > count2 ? count1 : count2;
    },
    handleAsk(ask,symbolItem, value) {
      try{
        let code = [">", "<", "=", ">", "<", "≥", "≤", "±", "*", "/"];
@@ -1211,7 +1250,13 @@
            let index = code.findIndex(b => m.includes(b))
            if (index > -1) {
              let arr = m.split(code[index]).filter(b => !!b)
              let num = eval(this.replaceAll(arr[0], symbolItem, value))
              let calcNum = this.$Big(
                bigEval(this.replaceAll(arr[0], symbolItem, value))
              );
              let num = calcNum.toFixed(
                this.getDecimalPlaces(value, ask, calcNum)
              );
              // let num = eval(this.replaceAll(arr[0], symbolItem, value))
              m = code[index] + '' + num
              arr1.push(m)
            }
@@ -1240,7 +1285,13 @@
          let index = code.findIndex(b => ask.includes(b))
          if (index > -1) {
            let arr = ask.split(code[index]).filter(b => !!b)
            let num = eval(this.replaceAll(arr[0], symbolItem, value))
            let calcNum = this.$Big(
              bigEval(this.replaceAll(arr[0], symbolItem, value))
            );
            let num = calcNum.toFixed(
              this.getDecimalPlaces(value, ask, calcNum)
            );
            // let num = eval(this.replaceAll(arr[0], symbolItem, value))
            return code[index] + '' + num
          }
        }