gongchunyi
8 小时以前 9689c0418e2a71a36ae2ebef79a0db329ca428bf
src/views/qualityManagement/nonconformingManagement/components/formDia.vue
@@ -45,9 +45,16 @@
        <el-row :gutter="30">
          <el-col :span="12">
            <el-form-item label="单位:" prop="unit">
              <el-input v-model="form.unit" placeholder="请输入" clearable/>
              <el-input v-model="form.unit" placeholder="自动带出" readonly class="readonly-display"/>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="厚度:" prop="thickness">
              <el-input v-model="form.thickness" placeholder="自动带出" readonly class="readonly-display"/>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="30">
          <el-col :span="12">
            <el-form-item label="数量:" prop="quantity">
              <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="form.quantity" placeholder="请输入" clearable :precision="2"/>
@@ -149,6 +156,7 @@
    productId: "",
    model: "",
    unit: "",
    thickness: "",
    quantity: "",
    checkCompany: "",
    checkResult: "",
@@ -165,6 +173,7 @@
    productId: [{ required: true, message: "请输入", trigger: "blur" }],
    model: [{ required: true, message: "请输入", trigger: "blur" }],
    unit: [{ required: false, message: "请输入", trigger: "blur" }],
    thickness: [{ required: false, message: "请输入", trigger: "blur" }],
    quantity: [{ required: true, message: "请输入", trigger: "blur" }],
    checkCompany: [{ required: false, message: "请输入", trigger: "blur" }],
    checkResult: [{ required: false, message: "请输入", trigger: "blur" }],
@@ -199,6 +208,7 @@
      productId: '',
      model: '',
      unit: '',
      thickness: '',
      quantity: '',
      productName: '',
    };
@@ -220,9 +230,22 @@
};
const getModels = (value) => {
  form.value.productName = findNodeById(productOptions.value, value);
  form.value.model = '';
  form.value.unit = '';
  form.value.thickness = '';
  modelList({ id: value }).then((res) => {
    modelOptions.value = res;
  })
};
const handleChangeModel = (modelId) => {
  const selectedModel = modelOptions.value.find(item => item.id === modelId);
  if (!selectedModel) {
    form.value.unit = '';
    form.value.thickness = '';
    return;
  }
  form.value.unit = selectedModel.unit || '';
  form.value.thickness = selectedModel.thickness ?? '';
};
const findNodeById = (nodes, productId) => {
  for (let i = 0; i < nodes.length; i++) {
@@ -285,4 +308,15 @@
<style scoped>
:deep(.readonly-display .el-input__wrapper) {
  background-color: var(--el-disabled-bg-color);
  box-shadow: 0 0 0 1px var(--el-disabled-border-color) inset;
}
:deep(.readonly-display .el-input__inner) {
  color: var(--el-disabled-text-color);
  -webkit-text-fill-color: var(--el-disabled-text-color);
  cursor: not-allowed;
}
</style>