yuan
5 小时以前 fe916adfc82883aa44cbf6572763cf6b459c9b5e
feat: 添加抽检功能,支持选择是否抽检及输入抽检数量
已修改3个文件
130 ■■■■■ 文件已修改
src/views/qualityManagement/finalInspection/components/formDia.vue 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/qualityManagement/processInspection/components/formDia.vue 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/qualityManagement/rawMaterialInspection/components/formDia.vue 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/qualityManagement/finalInspection/components/formDia.vue
@@ -97,6 +97,34 @@
        </el-row>
        <el-row :gutter="30">
          <el-col :span="12">
            <el-form-item label="是否抽检:"
                          prop="isSampling">
              <el-radio-group v-model="form.isSampling"
                              class="sampling-radio-group"
                              :disabled="isViewMode"
                              @change="handleSamplingChange">
                <el-radio-button :label="1">是</el-radio-button>
                <el-radio-button :label="0">否</el-radio-button>
              </el-radio-group>
            </el-form-item>
          </el-col>
          <el-col :span="12"
                  v-if="form.isSampling === 1">
            <el-form-item label="抽检数量:"
                          prop="samplingQuantity">
              <el-input-number :step="0.01"
                               :min="0"
                               style="width: 100%"
                               v-model="form.samplingQuantity"
                               placeholder="请输入"
                               clearable
                               :precision="2"
                               :disabled="isViewMode" />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="30">
          <el-col :span="12">
            <el-form-item label="检测单位:" prop="checkCompany">
              <el-input v-model="form.checkCompany" placeholder="请输入" clearable :disabled="isViewMode"/>
            </el-form-item>
@@ -184,6 +212,8 @@
    qualifiedQuantity: "",
    unqualifiedQuantity: "",
    checkCompany: "",
    isSampling: 0,
    samplingQuantity: "",
  },
  rules: {
    checkTime: [{ required: true, message: "请输入", trigger: "blur" }],
@@ -197,6 +227,8 @@
    qualifiedQuantity: [{ required: true, message: "请输入", trigger: "blur" }],
    unqualifiedQuantity: [{ required: true, message: "请输入", trigger: "blur" }],
    checkCompany: [{ required: false, message: "请输入", trigger: "blur" }],
    isSampling: [{ required: true, message: "请选择是否抽检", trigger: "change" }],
    samplingQuantity: [{ required: true, message: "请输入抽检数量", trigger: "blur" }],
  },
});
const { form, rules } = toRefs(data);
@@ -289,7 +321,7 @@
  ]);
  userList.value = userListsRes.data;
  form.value = {}
  form.value = { isSampling: 0, samplingQuantity: "" }
  testStandardOptions.value = [];
  tableData.value = [];
@@ -502,6 +534,15 @@
    tableData.value = res.data;
  });
}
// 是否抽检切换
const handleSamplingChange = (value) => {
  if (value !== 1) {
    form.value.samplingQuantity = "";
    nextTick(() => {
      proxy.$refs?.formRef?.clearValidate?.("samplingQuantity");
    });
  }
}
// 关闭弹框
const closeDia = () => {
  proxy.resetForm("formRef");
@@ -517,5 +558,7 @@
</script>
<style scoped>
.sampling-radio-group {
  height: 32px;
}
</style>
src/views/qualityManagement/processInspection/components/formDia.vue
@@ -130,6 +130,34 @@
        </el-row>
        <el-row :gutter="30">
          <el-col :span="12">
            <el-form-item label="是否抽检:"
                          prop="isSampling">
              <el-radio-group v-model="form.isSampling"
                              class="sampling-radio-group"
                              :disabled="isViewMode"
                              @change="handleSamplingChange">
                <el-radio-button :label="1">是</el-radio-button>
                <el-radio-button :label="0">否</el-radio-button>
              </el-radio-group>
            </el-form-item>
          </el-col>
          <el-col :span="12"
                  v-if="form.isSampling === 1">
            <el-form-item label="抽检数量:"
                          prop="samplingQuantity">
              <el-input-number :step="0.01"
                               :min="0"
                               style="width: 100%"
                               v-model="form.samplingQuantity"
                               placeholder="请输入"
                               clearable
                               :precision="2"
                               :disabled="isViewMode" />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="30">
          <el-col :span="12">
            <el-form-item label="检测单位:"
                          prop="checkCompany">
              <el-input v-model="form.checkCompany"
@@ -242,6 +270,8 @@
      qualifiedQuantity: "",
      unqualifiedQuantity: "",
      checkCompany: "",
      isSampling: 0,
      samplingQuantity: "",
    },
    rules: {
      checkTime: [{ required: true, message: "请输入", trigger: "blur" }],
@@ -255,6 +285,8 @@
      qualifiedQuantity: [{ required: true, message: "请输入", trigger: "blur" }],
      unqualifiedQuantity: [{ required: true, message: "请输入", trigger: "blur" }],
      checkCompany: [{ required: false, message: "请输入", trigger: "blur" }],
      isSampling: [{ required: true, message: "请选择是否抽检", trigger: "change" }],
      samplingQuantity: [{ required: true, message: "请输入抽检数量", trigger: "blur" }],
    },
  });
  const userList = ref([]);
@@ -359,6 +391,8 @@
      unit: "",
      quantity: "",
      checkCompany: "",
      isSampling: 0,
      samplingQuantity: "",
    };
    testStandardOptions.value = [];
    tableData.value = [];
@@ -607,6 +641,15 @@
      tableData.value = res.data;
    });
  };
  // 是否抽检切换
  const handleSamplingChange = (value) => {
    if (value !== 1) {
      form.value.samplingQuantity = "";
      nextTick(() => {
        proxy.$refs?.formRef?.clearValidate?.("samplingQuantity");
      });
    }
  };
  // 关闭弹框
  const closeDia = () => {
    proxy.resetForm("formRef");
@@ -622,4 +665,7 @@
</script>
<style scoped>
.sampling-radio-group {
  height: 32px;
}
</style>
src/views/qualityManagement/rawMaterialInspection/components/formDia.vue
@@ -102,6 +102,23 @@
        <el-row :gutter="30">
          <el-col :span="12">
            <el-form-item label="是否抽检:" prop="isSampling">
              <el-radio-group v-model="form.isSampling" class="sampling-radio-group" :disabled="isViewMode" @change="handleSamplingChange">
                <el-radio-button :label="1">是</el-radio-button>
                <el-radio-button :label="0">否</el-radio-button>
              </el-radio-group>
            </el-form-item>
          </el-col>
          <el-col :span="12" v-if="form.isSampling === 1">
            <el-form-item label="抽检数量:" prop="samplingQuantity">
              <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="form.samplingQuantity"
                               placeholder="请输入" clearable :precision="2" :disabled="isViewMode"/>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="30">
          <el-col :span="12">
            <el-form-item label="检测单位:" prop="checkCompany">
              <el-input v-model="form.checkCompany" placeholder="请输入" clearable :disabled="isViewMode"/>
            </el-form-item>
@@ -190,6 +207,8 @@
    unit: "",
    quantity: "",
    checkCompany: "",
    isSampling: 0,
    samplingQuantity: "",
  },
  rules: {
    checkTime: [{required: true, message: "请输入", trigger: "blur"},],
@@ -203,6 +222,8 @@
    qualifiedQuantity: [{required: true, message: "请输入", trigger: "blur"}],
    unqualifiedQuantity: [{required: true, message: "请输入", trigger: "blur"}],
    checkCompany: [{required: false, message: "请输入", trigger: "blur"}],
    isSampling: [{required: true, message: "请选择是否抽检", trigger: "change"}],
    samplingQuantity: [{required: true, message: "请输入抽检数量", trigger: "blur"}],
  },
});
const tableColumn = ref([
@@ -307,6 +328,8 @@
    unit: "",
    quantity: "",
    checkCompany: "",
    isSampling: 0,
    samplingQuantity: "",
  }
  testStandardOptions.value = [];
  tableData.value = [];
@@ -531,6 +554,16 @@
  }
};
// 是否抽检切换
const handleSamplingChange = (value) => {
  if (value !== 1) {
    form.value.samplingQuantity = "";
    nextTick(() => {
      proxy.$refs?.formRef?.clearValidate?.("samplingQuantity");
    });
  }
};
// 关闭弹框
const closeDia = () => {
  proxy.resetForm("formRef");
@@ -546,5 +579,7 @@
</script>
<style scoped>
.sampling-radio-group {
  height: 32px;
}
</style>