| | |
| | | placeholder="请输入单位" |
| | | clearable /> |
| | | </up-form-item> |
| | | <up-form-item label="数量"> |
| | | <up-input v-model="product.quantity" |
| | | type="number" |
| | | placeholder="请输入数量" |
| | | clearable |
| | | @blur="calculateAmount(product)" /> |
| | | </up-form-item> |
| | | <up-form-item label="单价"> |
| | | <up-input v-model="product.unitPrice" |
| | | type="number" |
| | | placeholder="请输入单价" |
| | | clearable |
| | | @blur="calculateAmount(product)" /> |
| | | </up-form-item> |
| | | <up-form-item label="金额"> |
| | | <up-input :model-value="formatAmount(product.amount)" |
| | | disabled |
| | | placeholder="自动计算" /> |
| | | </up-form-item> |
| | | </view> |
| | | </view> |
| | |
| | | const totalAmount = computed(() => |
| | | Number( |
| | | (form.value.products || []) |
| | | .reduce((sum, item) => sum + Number(item.amount || 0), 0) |
| | | .reduce((sum, item) => sum + Number(item.unitPrice || 0), 0) |
| | | .toFixed(2) |
| | | ) |
| | | ); |
| | |
| | | productModelId: "", |
| | | ProductModel: "", |
| | | unit: "", |
| | | quantity: 1, |
| | | unitPrice: 0, |
| | | amount: 0, |
| | | modelOptions: [], |
| | | }); |
| | | |
| | |
| | | const goBack = () => uni.navigateBack(); |
| | | |
| | | const calculateAmount = product => { |
| | | product.amount = Number( |
| | | (Number(product.quantity || 0) * Number(product.unitPrice || 0)).toFixed(2) |
| | | ); |
| | | product.unitPrice = Number(Number(product.unitPrice || 0).toFixed(2)); |
| | | form.value.totalAmount = totalAmount.value; |
| | | }; |
| | | |
| | |
| | | productModelId: item.productModelId || "", |
| | | ProductModel: item.ProductModel || item.specification || "", |
| | | unit: item.unit || "", |
| | | quantity: Number(item.quantity || 1), |
| | | unitPrice: Number(item.unitPrice || 0), |
| | | amount: Number(item.amount || 0), |
| | | modelOptions: [], |
| | | }; |
| | | |
| | |
| | | !item.productId || |
| | | !item.productModelId || |
| | | !item.unit || |
| | | !Number(item.quantity) || |
| | | !Number(item.unitPrice) |
| | | ); |
| | | if (invalid) { |
| | |
| | | product: item.product, |
| | | productModelId: item.productModelId, |
| | | ProductModel: item.ProductModel, |
| | | quantity: Number(item.quantity || 0), |
| | | quantity: 1, |
| | | unit: item.unit, |
| | | unitPrice: Number(item.unitPrice || 0), |
| | | amount: Number(item.amount || 0), |
| | | amount: Number(item.unitPrice || 0), |
| | | })), |
| | | }; |
| | | const action = quotationId.value ? updateQuotation : addQuotation; |