吴羡
4 小时以前 6f90e7110190d146fde06cf1f5b2272fd49b53d6
src/views/business/inspectionTask/inspection.vue
@@ -396,7 +396,7 @@
        </div>
        <div class="search_input" style="width: 100%">
          <el-select v-model="verifyUser" clearable filterable placeholder="请选择" size="small" style="width: 100%">
            <el-option v-for="(item, i) in personList" :key="i" :label="item.label" :value="item.value">
            <el-option v-for="(item, i) in reviewerOptions" :key="i" :label="item.label" :value="item.value">
            </el-option>
          </el-select>
        </div>
@@ -521,6 +521,7 @@
import { mapGetters } from "@/utils/store-compat";
import viewManHourDia from "@/views/business/inspectionTask/components/viewManHourDia.vue";
import {getDicts} from "@/api/system/dict/data";
import { parseInspectionValueAnnotation, formatInspectionValue } from "@/utils/inspectionValueFormat";
export default {
  name: 'Inspection',
  components: {
@@ -553,6 +554,7 @@
      state: null,
      inspectorList: null,
      typeSource: null,
      taskSource: null,
      sagData: [],
      sagForm: {
        sampleCode: null,
@@ -726,6 +728,11 @@
  // 用于上传文件的信息
  computed: {
    ...mapGetters(["userId"]),
    reviewerOptions() {
      return this.taskSource === 'QUALITY_MONITOR'
        ? this.personList.filter(item => Number(item.value) !== Number(this.userId))
        : this.personList;
    },
    action() {
      return this.javaApi + "/insOrderPlan/uploadFile";
    },
@@ -830,14 +837,16 @@
  },
  methods: {
    syncRouteContext() {
      const { sonLaboratory, orderId, state, inspectorList, typeSource } = this.$route.query;
      const { sonLaboratory, orderId, state, inspectorList, typeSource, taskSource } = this.$route.query;
      const orderChanged = this.id !== orderId;
      this.sonLaboratory = sonLaboratory;
      this.orderId = orderId;
      this.state = state;
      this.inspectorList = inspectorList;
      this.typeSource = typeSource;
      this.taskSource = taskSource;
      if (orderChanged) {
        if (taskSource === 'QUALITY_MONITOR') this.verifyUser = null;
        this.tableLists = [];
        this.tableList = [];
        this.sampleProduct = [];
@@ -999,6 +1008,7 @@
        laboratory: this.sonLaboratory,
      }).then(async (res) => {
        this.insOrder = res.data.insOrder;
        this.taskSource = this.insOrder.taskSource || this.taskSource;
        if(res.data.insOrder.ifsOrderType==='02wg'){
          //查询零件属性
          this.getPartProps(res.data.insOrder.ifsInventoryId)
@@ -1575,6 +1585,17 @@
    // 检验值输入后触发的函数
    changeInput(m, code, n) {
      if (n) {
        const config = parseInspectionValueAnnotation(n.v && n.v.ps && n.v.ps.value);
        if (config && !config.error && config.decimalPlaces != null && typeof n.v.v === 'string') {
          const numericPattern = config.displayMode === 'SCIENTIFIC'
            ? /^[+-]?(?:\d+\.?\d*|\.\d+)(?:[eE][+-]?\d+)?$/
            : /^[+-]?\d*\.?\d+$/;
          if (n.v.v.trim() && !numericPattern.test(n.v.v.trim())) {
            this.$message.warning('该检验值必须填写数字');
            return;
          }
          n.v.v = formatInspectionValue(n.v.v, config);
        }
        // 定义一个函数来验证分数是否有效
        if (typeof n.v.v == "string") {
          function isValidFraction(fraction) {
@@ -1705,7 +1726,7 @@
        const v = n.v.v;
        // 能力范围已废弃,检验值类型不再作为判断依据。整串只由算式字符组成时才规范化格式,
        // 出现中文等其它字符即按文本处理原样保留,否则文字会被逐字删掉
        if (typeof v !== "string" || /[^\d.^e>>≥≤<<断裂脆化\-/+]/.test(v)) {
        if (typeof v !== "string" || /[^\d.^eE>>≥≤<<断裂脆化\-/+]/.test(v)) {
          return;
        }
        n.v.v = v
@@ -1747,6 +1768,10 @@
      }
    },
    openAddCheck() {
      if (this.taskSource === 'QUALITY_MONITOR') {
        this.upInsReview(1);
        return;
      }
      this.addCheck = true;
    },
    // 收集模板级检测条件的缺失项(每个模板都要填全)