| | |
| | | <el-input v-model="formState.unit" disabled /> |
| | | </el-form-item> |
| | | |
| | | <!-- productType === 0:原材料 --> |
| | | <el-form-item |
| | | label="数量" |
| | | prop="qualitity" |
| | | v-if="type === 'qualified' && formState.productType === 0" |
| | | label="车牌号" |
| | | prop="licensePlateNo" |
| | | > |
| | | <el-input-number v-model="formState.qualitity" :step="1" :min="0" style="width: 100%" /> |
| | | <el-input v-model="formState.licensePlateNo" /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item |
| | | v-if="type === 'qualified' && formState.productType === 0" |
| | | label="毛重(吨)" |
| | | prop="grossWeight" |
| | | > |
| | | <el-input-number |
| | | v-model="formState.grossWeight" |
| | | :step="0.01" |
| | | :min="0" |
| | | style="width: 100%" |
| | | @change="computeNetWeight" |
| | | /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item |
| | | v-if="type === 'qualified' && formState.productType === 0" |
| | | label="皮重(吨)" |
| | | prop="tareWeight" |
| | | > |
| | | <el-input-number |
| | | v-model="formState.tareWeight" |
| | | :step="0.01" |
| | | :min="0" |
| | | style="width: 100%" |
| | | @change="computeNetWeight" |
| | | /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item |
| | | v-if="type === 'qualified' && formState.productType === 0" |
| | | label="净重(吨)" |
| | | prop="netWeight" |
| | | > |
| | | <el-input-number |
| | | v-model="formState.netWeight" |
| | | :step="0.01" |
| | | :min="0" |
| | | style="width: 100%" |
| | | disabled |
| | | /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item |
| | | v-if="type === 'qualified' && formState.productType === 0" |
| | | label="过磅日期" |
| | | prop="weighingDate" |
| | | > |
| | | <el-date-picker |
| | | style="width: 100%" |
| | | v-model="formState.weighingDate" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | | type="datetime" |
| | | placeholder="请选择过磅日期" |
| | | clearable |
| | | /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item |
| | | v-if="type === 'qualified' && formState.productType === 0" |
| | | label="过磅员" |
| | | prop="weighingOperator" |
| | | > |
| | | <el-input v-model="formState.weighingOperator" /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="备注" prop="remark"> |
| | |
| | | productName: "", |
| | | productModelName: "", |
| | | unit: "", |
| | | qualitity: 0, |
| | | productType: undefined, |
| | | // 过磅相关字段(仅原材料合格品使用) |
| | | licensePlateNo: "", |
| | | grossWeight: undefined, |
| | | tareWeight: undefined, |
| | | netWeight: undefined, |
| | | weighingDate: undefined, |
| | | weighingOperator: "", |
| | | remark: '', |
| | | }); |
| | | |
| | |
| | | |
| | | // 产品选择处理 |
| | | const handleProductSelect = async (products) => { |
| | | formState.value.weighingDate = undefined; |
| | | formState.value.grossWeight = undefined; |
| | | formState.value.tareWeight = undefined; |
| | | formState.value.netWeight = undefined; |
| | | if (products && products.length > 0) { |
| | | const product = products[0]; |
| | | formState.value.productId = product.productId; |
| | |
| | | formState.value.productModelName = product.model; |
| | | formState.value.productModelId = product.id; |
| | | formState.value.unit = product.unit; |
| | | formState.value.productType = product.productType; |
| | | showProductSelectDialog.value = false; |
| | | // 触发表单验证更新 |
| | | proxy.$refs["formRef"]?.validateField('productModelId'); |
| | | } |
| | | }; |
| | | |
| | | // 净重 = 毛重 - 皮重 |
| | | const computeNetWeight = () => { |
| | | const { grossWeight, tareWeight } = formState.value; |
| | | if (grossWeight != null && tareWeight != null) { |
| | | const net = Number(grossWeight) - Number(tareWeight); |
| | | // 保留两位小数,且不为负 |
| | | const safeNet = Number(net.toFixed(2)); |
| | | formState.value.netWeight = safeNet > 0 ? safeNet : 0; |
| | | } else { |
| | | formState.value.netWeight = undefined; |
| | | } |
| | | }; |
| | | |
| | | const handleSubmit = () => { |
| | | proxy.$refs["formRef"].validate(valid => { |
| | | if (valid) { |