| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="数量:" prop="quantity"> |
| | | <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" :disabled="quantityDisabled"/> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="30"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="检品数量:" prop="inspectedQuantity"> |
| | | <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="form.inspectedQuantity" placeholder="请输入,不大于总数量" clearable :precision="2" :disabled="quantityDisabled"/> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="检验用粉剂/液情况:" prop="inspectMaterialCondition"> |
| | | <el-radio-group v-model="form.inspectMaterialCondition"> |
| | | <el-radio label="粉剂">粉剂</el-radio> |
| | | <el-radio label="液体">液体</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="30"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="生产日期:" prop="productionDate"> |
| | | <el-date-picker |
| | | v-model="form.productionDate" |
| | | type="date" |
| | | placeholder="请选择日期" |
| | | value-format="YYYY-MM-DD" |
| | | format="YYYY-MM-DD" |
| | | clearable |
| | | style="width: 100%" |
| | | @change="calculateValidityDate" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="有效期:" prop="validityDate"> |
| | | <el-date-picker |
| | | v-model="form.validityDate" |
| | | type="date" |
| | | placeholder="自动计算或手动选择" |
| | | value-format="YYYY-MM-DD" |
| | | format="YYYY-MM-DD" |
| | | clearable |
| | | style="width: 100%" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | unit: "", |
| | | uidNo: "", |
| | | quantity: "", |
| | | inspectedQuantity: "", |
| | | inspectMaterialCondition: "", |
| | | productionDate: "", |
| | | validityDate: "", |
| | | checkCompany: "", |
| | | checkResult: "", |
| | | }, |
| | |
| | | testStandardId: [{required: false, message: "请选择指标", trigger: "change"}], |
| | | unit: [{ required: false, message: "请输入", trigger: "blur" }], |
| | | quantity: [{ required: true, message: "请输入", trigger: "blur" }], |
| | | inspectedQuantity: [ |
| | | { required: true, message: "请输入检品数量", trigger: "blur" }, |
| | | { |
| | | validator: (rule, value, callback) => { |
| | | if (value !== '' && value !== null && value !== undefined) { |
| | | const qty = Number(form.value.quantity); |
| | | const inspectedQty = Number(value); |
| | | if (!isNaN(qty) && !isNaN(inspectedQty) && inspectedQty > qty) { |
| | | callback(new Error("检品数量不能大于总数量")); |
| | | } else { |
| | | callback(); |
| | | } |
| | | } else { |
| | | callback(); |
| | | } |
| | | }, |
| | | trigger: "blur" |
| | | } |
| | | ], |
| | | checkCompany: [{ required: false, message: "请输入", trigger: "blur" }], |
| | | checkResult: [{ required: true, message: "请输入", trigger: "change" }], |
| | | }, |
| | |
| | | form.value.model = modelOptions.value.find(item => item.id == value)?.model || ''; |
| | | form.value.unit = modelOptions.value.find(item => item.id == value)?.unit || ''; |
| | | form.value.uidNo = modelOptions.value.find(item => item.id == value)?.uidNo || ''; |
| | | // 选择规格型号后,如果已有生产日期则重新计算有效期 |
| | | if (form.value.productionDate) { |
| | | calculateValidityDate(); |
| | | } |
| | | } |
| | | |
| | | const findNodeById = (nodes, productId) => { |
| | |
| | | }) |
| | | } |
| | | |
| | | // 计算有效期(生产日期 + 规格型号中的有效期) |
| | | const calculateValidityDate = async () => { |
| | | if (!form.value.productionDate) { |
| | | form.value.validityDate = ''; |
| | | return; |
| | | } |
| | | // 获取规格型号的有效期 |
| | | const selectedModel = modelOptions.value.find(item => item.id == form.value.productModelId); |
| | | if (selectedModel && selectedModel.validityPeriod) { |
| | | const productionDate = new Date(form.value.productionDate); |
| | | const validityPeriod = parseFloat(selectedModel.validityPeriod); |
| | | const validityDate = new Date(productionDate); |
| | | validityDate.setFullYear(validityDate.getFullYear() + Math.floor(validityPeriod)); |
| | | validityDate.setMonth(validityDate.getMonth() + Math.round((validityPeriod % 1) * 12)); |
| | | form.value.validityDate = validityDate.toISOString().split('T')[0]; |
| | | } |
| | | }; |
| | | |
| | | // 获取设备台账列表 |
| | | const loadDeviceList = () => { |
| | | qualityInspectParamDeviceList().then(res => { |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="数量:" prop="quantity"> |
| | | <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" :disabled="processQuantityDisabled"/> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="30"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="检品数量:" prop="inspectedQuantity"> |
| | | <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="form.inspectedQuantity" placeholder="请输入,不大于总数量" clearable :precision="2" :disabled="processQuantityDisabled"/> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="检验用粉剂/液情况:" prop="inspectMaterialCondition"> |
| | | <el-radio-group v-model="form.inspectMaterialCondition"> |
| | | <el-radio label="粉剂">粉剂</el-radio> |
| | | <el-radio label="液体">液体</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="30"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="生产日期:" prop="productionDate"> |
| | | <el-date-picker |
| | | v-model="form.productionDate" |
| | | type="date" |
| | | placeholder="请选择日期" |
| | | value-format="YYYY-MM-DD" |
| | | format="YYYY-MM-DD" |
| | | clearable |
| | | style="width: 100%" |
| | | @change="calculateValidityDate" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="有效期:" prop="validityDate"> |
| | | <el-date-picker |
| | | v-model="form.validityDate" |
| | | type="date" |
| | | placeholder="自动计算或手动选择" |
| | | value-format="YYYY-MM-DD" |
| | | format="YYYY-MM-DD" |
| | | clearable |
| | | style="width: 100%" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | testStandardId: "", |
| | | unit: "", |
| | | quantity: "", |
| | | inspectedQuantity: "", |
| | | inspectMaterialCondition: "", |
| | | productionDate: "", |
| | | validityDate: "", |
| | | checkCompany: "", |
| | | checkResult: "", |
| | | }, |
| | |
| | | testStandardId: [{required: false, message: "请选择指标", trigger: "change"}], |
| | | unit: [{ required: false, message: "请输入", trigger: "blur" }], |
| | | quantity: [{ required: true, message: "请输入", trigger: "blur" }], |
| | | inspectedQuantity: [ |
| | | { required: true, message: "请输入检品数量", trigger: "blur" }, |
| | | { |
| | | validator: (rule, value, callback) => { |
| | | if (value !== '' && value !== null && value !== undefined) { |
| | | const qty = Number(form.value.quantity); |
| | | const inspectedQty = Number(value); |
| | | if (!isNaN(qty) && !isNaN(inspectedQty) && inspectedQty > qty) { |
| | | callback(new Error("检品数量不能大于总数量")); |
| | | } else { |
| | | callback(); |
| | | } |
| | | } else { |
| | | callback(); |
| | | } |
| | | }, |
| | | trigger: "blur" |
| | | } |
| | | ], |
| | | checkCompany: [{ required: false, message: "请输入", trigger: "blur" }], |
| | | checkResult: [{ required: true, message: "请输入", trigger: "change" }], |
| | | }, |
| | |
| | | unit: "", |
| | | uidNo: "", |
| | | quantity: "", |
| | | inspectedQuantity: "", |
| | | inspectMaterialCondition: "", |
| | | productionDate: "", |
| | | validityDate: "", |
| | | checkCompany: "", |
| | | checkResult: "", |
| | | } |
| | |
| | | form.value.model = modelOptions.value.find(item => item.id == value)?.model || ''; |
| | | form.value.unit = modelOptions.value.find(item => item.id == value)?.unit || ''; |
| | | form.value.uidNo = modelOptions.value.find(item => item.id == value)?.uidNo || ''; |
| | | // 选择规格型号后,如果已有生产日期则重新计算有效期 |
| | | if (form.value.productionDate) { |
| | | calculateValidityDate(); |
| | | } |
| | | } |
| | | |
| | | const findNodeById = (nodes, productId) => { |
| | |
| | | } |
| | | }; |
| | | |
| | | // 计算有效期(生产日期 + 规格型号中的有效期) |
| | | const calculateValidityDate = async () => { |
| | | if (!form.value.productionDate) { |
| | | form.value.validityDate = ''; |
| | | return; |
| | | } |
| | | // 获取规格型号的有效期 |
| | | const selectedModel = modelOptions.value.find(item => item.id == form.value.productModelId); |
| | | if (selectedModel && selectedModel.validityPeriod) { |
| | | const productionDate = new Date(form.value.productionDate); |
| | | const validityPeriod = parseFloat(selectedModel.validityPeriod); |
| | | const validityDate = new Date(productionDate); |
| | | validityDate.setFullYear(validityDate.getFullYear() + Math.floor(validityPeriod)); |
| | | validityDate.setMonth(validityDate.getMonth() + Math.round((validityPeriod % 1) * 12)); |
| | | form.value.validityDate = validityDate.toISOString().split('T')[0]; |
| | | } |
| | | }; |
| | | |
| | | // 关闭弹框 |
| | | const closeDia = () => { |
| | | proxy.resetForm("formRef"); |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="数量:" prop="quantity"> |
| | | <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" :disabled="supplierQuantityDisabled"/> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="30"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="检品数量:" prop="inspectedQuantity"> |
| | | <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="form.inspectedQuantity" placeholder="请输入,不大于总数量" |
| | | clearable :precision="2" :disabled="supplierQuantityDisabled"/> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="检验用粉剂/液情况:" prop="inspectMaterialCondition"> |
| | | <el-radio-group v-model="form.inspectMaterialCondition"> |
| | | <el-radio label="粉剂">粉剂</el-radio> |
| | | <el-radio label="液体">液体</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="30"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="生产日期:" prop="productionDate"> |
| | | <el-date-picker |
| | | v-model="form.productionDate" |
| | | type="date" |
| | | placeholder="请选择日期" |
| | | value-format="YYYY-MM-DD" |
| | | format="YYYY-MM-DD" |
| | | clearable |
| | | style="width: 100%" |
| | | @change="calculateValidityDate" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="有效期:" prop="validityDate"> |
| | | <el-date-picker |
| | | v-model="form.validityDate" |
| | | type="date" |
| | | placeholder="自动计算或手动选择" |
| | | value-format="YYYY-MM-DD" |
| | | format="YYYY-MM-DD" |
| | | clearable |
| | | style="width: 100%" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | testStandardId: "", |
| | | unit: "", |
| | | quantity: "", |
| | | inspectedQuantity: "", |
| | | inspectMaterialCondition: "", |
| | | productionDate: "", |
| | | validityDate: "", |
| | | checkCompany: "", |
| | | checkResult: "", |
| | | }, |
| | |
| | | testStandardId: [{required: false, message: "请选择指标", trigger: "change"}], |
| | | unit: [{required: false, message: "请输入", trigger: "blur"}], |
| | | quantity: [{required: true, message: "请输入", trigger: "blur"}], |
| | | inspectedQuantity: [ |
| | | {required: true, message: "请输入检品数量", trigger: "blur"}, |
| | | { |
| | | validator: (rule, value, callback) => { |
| | | if (value !== '' && value !== null && value !== undefined) { |
| | | const qty = Number(form.value.quantity); |
| | | const inspectedQty = Number(value); |
| | | if (!isNaN(qty) && !isNaN(inspectedQty) && inspectedQty > qty) { |
| | | callback(new Error("检品数量不能大于总数量")); |
| | | } else { |
| | | callback(); |
| | | } |
| | | } else { |
| | | callback(); |
| | | } |
| | | }, |
| | | trigger: "blur" |
| | | } |
| | | ], |
| | | checkCompany: [{required: false, message: "请输入", trigger: "blur"}], |
| | | checkResult: [{required: true, message: "请选择检测结果", trigger: "change"}], |
| | | }, |
| | |
| | | testStandardId: "", |
| | | unit: "", |
| | | quantity: "", |
| | | inspectedQuantity: "", |
| | | inspectMaterialCondition: "", |
| | | productionDate: "", |
| | | validityDate: "", |
| | | checkCompany: "", |
| | | checkResult: "", |
| | | } |
| | |
| | | form.value.model = modelOptions.value.find(item => item.id == value)?.model || ''; |
| | | form.value.unit = modelOptions.value.find(item => item.id == value)?.unit || ''; |
| | | form.value.uidNo = modelOptions.value.find(item => item.id == value)?.uidNo || ''; |
| | | // 选择规格型号后,如果已有生产日期则重新计算有效期 |
| | | if (form.value.productionDate) { |
| | | calculateValidityDate(); |
| | | } |
| | | } |
| | | |
| | | const findNodeById = (nodes, productId) => { |
| | |
| | | } |
| | | }; |
| | | |
| | | // 计算有效期(生产日期 + 规格型号中的有效期) |
| | | const calculateValidityDate = async () => { |
| | | if (!form.value.productionDate) { |
| | | form.value.validityDate = ''; |
| | | return; |
| | | } |
| | | // 获取规格型号的有效期 |
| | | const selectedModel = modelOptions.value.find(item => item.id == form.value.productModelId); |
| | | if (selectedModel && selectedModel.validityPeriod) { |
| | | const productionDate = new Date(form.value.productionDate); |
| | | const validityPeriod = parseFloat(selectedModel.validityPeriod); |
| | | const validityDate = new Date(productionDate); |
| | | validityDate.setFullYear(validityDate.getFullYear() + Math.floor(validityPeriod)); |
| | | validityDate.setMonth(validityDate.getMonth() + Math.round((validityPeriod % 1) * 12)); |
| | | form.value.validityDate = validityDate.toISOString().split('T')[0]; |
| | | } |
| | | }; |
| | | |
| | | // 关闭弹框 |
| | | const closeDia = () => { |
| | | proxy.resetForm("formRef"); |