| | |
| | | <el-row :gutter="30"> |
| | | <el-col :span="24"> |
| | | <el-form-item label="产品大类:" prop="productCategory"> |
| | | <!-- <el-select v-model="productForm.productCategory" placeholder="请选择" clearable> |
| | | <el-option v-for="item in userList" :key="item.nickName" :label="item.nickName" :value="item.nickName"/> |
| | | </el-select> --> |
| | | <el-tree-select v-model="productForm.productCategory" placeholder="请选择" clearable check-strictly |
| | | @change="getModels" :data="productOptions" :render-after-expand="false" style="width: 100%" /> |
| | | </el-form-item> |
| | |
| | | { required: true, message: "请选择", trigger: "change" }, |
| | | ], |
| | | unit: [{ required: true, message: "请输入", trigger: "blur" }], |
| | | quantity: [{ required: true, message: "请输入", trigger: "blur" }], |
| | | quantity: [{ required: false, message: "请输入", trigger: "blur" }], |
| | | taxInclusiveUnitPrice: [ |
| | | { required: true, message: "请输入", trigger: "blur" }, |
| | | { required: false, message: "请输入", trigger: "blur" }, |
| | | ], |
| | | taxRate: [{ required: true, message: "请选择", trigger: "change" }], |
| | | taxRate: [{ required: false, message: "请选择", trigger: "change" }], |
| | | taxInclusiveTotalPrice: [ |
| | | { required: true, message: "请输入", trigger: "blur" }, |
| | | { required: false, message: "请输入", trigger: "blur" }, |
| | | ], |
| | | taxExclusiveTotalPrice: [ |
| | | { required: true, message: "请输入", trigger: "blur" }, |
| | | { required: false, message: "请输入", trigger: "blur" }, |
| | | ], |
| | | invoiceType: [{ required: true, message: "请选择", trigger: "change" }], |
| | | invoiceType: [{ required: false, message: "请选择", trigger: "change" }], |
| | | }, |
| | | }); |
| | | const { productForm, productRules } = toRefs(productFormData); |
| | |
| | | const submitProduct = () => { |
| | | proxy.$refs["productFormRef"].validate((valid) => { |
| | | if (valid) { |
| | | // 处理税率、金额和数量字段,如果为空则设置为0 |
| | | const processedForm = { ...productForm.value }; |
| | | |
| | | // 需要处理的字段列表 |
| | | const numericFields = ['taxRate', 'taxInclusiveUnitPrice', 'taxInclusiveTotalPrice', 'taxExclusiveTotalPrice', 'quantity']; |
| | | |
| | | numericFields.forEach(field => { |
| | | if (processedForm[field] === '' || processedForm[field] === null || processedForm[field] === undefined) { |
| | | processedForm[field] = 0; |
| | | } |
| | | }); |
| | | |
| | | if (operationType.value === "edit") { |
| | | submitProductEdit(); |
| | | } else { |
| | | if(productOperationType.value === "add"){ |
| | | productData.value.push({ ...productForm.value }); |
| | | productData.value.push(processedForm); |
| | | }else{ |
| | | productData.value[productIndex.value] = { ...productForm.value } |
| | | productData.value[productIndex.value] = processedForm; |
| | | } |
| | | closeProductDia(); |
| | | } |
| | |
| | | }); |
| | | }; |
| | | const submitProductEdit = () => { |
| | | productForm.value.salesLedgerId = currentId.value; |
| | | productForm.value.type = 1 |
| | | addOrUpdateSalesLedgerProduct(productForm.value).then((res) => { |
| | | // 处理税率、金额和数量字段,如果为空则设置为0 |
| | | const processedForm = { ...productForm.value }; |
| | | |
| | | // 需要处理的字段列表 |
| | | const numericFields = ['taxRate', 'taxInclusiveUnitPrice', 'taxInclusiveTotalPrice', 'taxExclusiveTotalPrice', 'quantity']; |
| | | |
| | | numericFields.forEach(field => { |
| | | if (processedForm[field] === '' || processedForm[field] === null || processedForm[field] === undefined) { |
| | | processedForm[field] = 0; |
| | | } |
| | | }); |
| | | |
| | | processedForm.salesLedgerId = currentId.value; |
| | | processedForm.type = 1; |
| | | |
| | | addOrUpdateSalesLedgerProduct(processedForm).then((res) => { |
| | | proxy.$modal.msgSuccess("提交成功"); |
| | | closeProductDia(); |
| | | getSalesLedgerWithProducts({ id: currentId.value, type: 1 }).then((res) => { |