From 1338a9e1872146b99f4a3cacea0dee47cd149ad3 Mon Sep 17 00:00:00 2001 From: 张诺 <2864490065@qq.com> Date: 星期五, 25 七月 2025 11:01:31 +0800 Subject: [PATCH] 提交销售出库 --- src/views/salesOutbound/components/formDia.vue | 66 +++++++++++++++++++++------------ 1 files changed, 42 insertions(+), 24 deletions(-) diff --git a/src/views/salesOutbound/components/formDia.vue b/src/views/salesOutbound/components/formDia.vue index e990bc8..03418fb 100644 --- a/src/views/salesOutbound/components/formDia.vue +++ b/src/views/salesOutbound/components/formDia.vue @@ -81,39 +81,44 @@ </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="杩愯垂" prop="freight"> - <el-input v-model="form.freight" placeholder="璇疯緭鍏ラ攢鍞�讳环(鍚◣)" maxlength="30" type="number" :disabled="operationType === 'view'"/> + <el-form-item label="閲囪喘杩愯垂" prop="purchasingFreight" @change="mathProfit"> + <el-input v-model="form.purchasingFreight" placeholder="璇疯緭鍏�" maxlength="30" type="number" :disabled="operationType === 'view'"/> </el-form-item> </el-col> </el-row> <el-row> + <el-col :span="12"> + <el-form-item label="閿�鍞繍璐�" prop="salesFreight" @change="mathProfit"> + <el-input v-model="form.salesFreight" placeholder="璇疯緭鍏�" maxlength="30" type="number" :disabled="operationType === 'view'"/> + </el-form-item> + </el-col> <el-col :span="12"> <el-form-item label="璐攢鐓ょ◣鐜�(%)" prop="taxCoal"> - <el-input v-model="form.taxCoal" placeholder="璇疯緭鍏ラ攢鍞�讳环(鍚◣)" maxlength="30" type="number" :disabled="operationType === 'view'"/> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="杩愯緭绋庣巼(%)" prop="taxTrans"> - <el-input v-model="form.taxTrans" placeholder="璇疯緭鍏ラ攢鍞�讳环(鍚◣)" maxlength="30" type="number" :disabled="operationType === 'view'"/> + <el-input v-model="form.taxCoal" placeholder="璇疯緭鍏�" maxlength="30" type="number" :disabled="operationType === 'view'"/> </el-form-item> </el-col> </el-row> <el-row> + <el-col :span="12"> + <el-form-item label="杩愯緭绋庣巼(%)" prop="taxTrans"> + <el-input v-model="form.taxTrans" placeholder="璇疯緭鍏�" maxlength="30" type="number" :disabled="operationType === 'view'"/> + </el-form-item> + </el-col> <el-col :span="12"> <el-form-item label="姣涘埄娑�" prop="grossProfit"> <el-input v-model="form.grossProfit" placeholder="姣涘埄娑�" maxlength="30" type="number" :disabled="operationType === 'view'"/> </el-form-item> </el-col> - <el-col :span="12"> - <el-form-item label="鍑�鍒╂鼎" prop="netProfit"> - <el-input v-model="form.netProfit" placeholder="鍑�鍒╂鼎" maxlength="30" type="number" :disabled="operationType === 'view'"/> - </el-form-item> - </el-col> </el-row> <el-row> + <el-col :span="12"> + <el-form-item label="鍑�鍒╂鼎" prop="netProfit"> + <el-input v-model="form.netProfit" placeholder="鍑�鍒╂鼎" maxlength="30" type="number" :disabled="operationType === 'view'"/> + </el-form-item> + </el-col> <el-col :span="12"> - <el-form-item label="娣诲姞鑷冲緟琛ュ簱" prop="isPendingRestock"> - <el-select v-model="form.isPendingRestock" placeholder=""> + <el-form-item label="娣诲姞鑷冲緟琛ュ簱" prop="isAdd"> + <el-select v-model="form.isAdd" placeholder="璇烽�夋嫨鏄惁闇�瑕佸緟琛ュ簱" :disabled="operationType === 'view'"> <el-option label="鏄�" :value="true" /> <el-option label="鍚�" :value="false" /> </el-select> @@ -152,14 +157,15 @@ saleQuantity: '', salePrice: '', totalAmount: '', - freight: '', + purchasingFreight: '', taxCoal: '', taxTrans: '', grossProfit: '', netProfit: '', inventoryQuantity: '', priceIncludingTax: '', - isPendingRestock: false + salesFreight: '', + isAdd: false }, rules: { saleDate: [{ required: true, message: "璇烽�夋嫨鏃ユ湡", trigger: "change" },], @@ -169,14 +175,14 @@ saleQuantity: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" },], salePrice: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" },], totalAmount: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" },], - freight: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" },], + purchasingFreight: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" },], taxCoal: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" },], taxTrans: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" },], grossProfit: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" },], netProfit: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" },], inventoryQuantity: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" },], priceIncludingTax: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" },], - isPendingRestock: [{ required: true, message: "璇烽�夋嫨鏄惁娣诲姞鑷冲緟琛ュ簱", trigger: "change" },], + isAdd: [{ required: true, message: "璇烽�夋嫨鏄惁娣诲姞鑷冲緟琛ュ簱", trigger: "change" },], } }) @@ -184,6 +190,11 @@ // 鎵撳紑寮规 const openDialog = async (type, row) => { + if(type === 'add'){ + form.value = {} + }else{ + form.value = {...row} + } operationType.value = type dialogVisitable.value = true form.value.saleDate = proxy.getCurrentDate() @@ -197,13 +208,17 @@ value: item.id, label: item.customerName, })); + let res = await userStore.getInfo() form.value.registrantId = res.user.userId form.value.taxCoal = 13 form.value.taxTrans = 9 - form.value.freight = 20 + form.value.purchasingFreight = 20 + form.value.salesFreight = 0 + form.value.isAdd = false if (type !== 'add') { - form.value = {...row} + form.value = {...row, + } } } // 澶嶅埗鐓ょ鐩稿叧淇℃伅 @@ -227,7 +242,8 @@ const purchaseTons = form.value.inventoryQuantity; // 搴撳瓨鏁伴噺 const saleTons = form.value.saleQuantity; // 閿�鍞暟閲� const purchasePricePerTon = form.value.priceIncludingTax; // 鍚◣鍗曚环 - const transportPricePerTon = form.value.freight; // 杩愯垂 + const transportPricePerTon = form.value.purchasingFreight; // 閲囪喘杩愯垂 + const salesFreight = form.value.salesFreight; // 閿�鍞繍璐� const salePricePerTon = form.value.salePrice; // 閿�鍞崟浠凤紙鍏�/鍚級 const coalTaxRate = form.value.taxCoal / 100; // 璐攢鐓ょ◣鐜囷紙13%锛� const transportTaxRate = form.value.taxTrans / 100; // 杩愯緭绋庣巼锛�9%锛� @@ -242,13 +258,15 @@ const D = C * transportTaxRate * purchaseTons; // 杩愯垂杩涢」绋庨 const E = salePricePerTon / (1 + coalTaxRate); // 閿�鍞笉鍚◣鍗曚环 const F = E * coalTaxRate * saleTons; // 閿�椤圭◣棰� + const R = salesFreight / (1 + transportTaxRate); // 閿�鍞叅杩愯垂涓嶅惈绋庡崟浠� + const S = R * transportTaxRate * saleTons; // 閿�鍞叅杩愯垂杩涢」绋庨 // 姣涘埄娑� = 閿�鍞敹鍏� - 鎴愭湰鎴愭湰锛堣喘鐓�+杩愯垂锛夌殑鎴愭湰閮ㄥ垎 - const G = E * saleTons - A * saleTons - C * saleTons; + const G = E * saleTons - A * saleTons - C * saleTons - R * saleTons; form.value.grossProfit = G.toFixed(2); // 搴旂即绾冲鍊肩◣ = 閿�椤圭◣ - 鍙姷鎵h繘椤圭◣锛堟寜閿�鍞噺姣斾緥璁$畻锛� - const H = F - (A * coalTaxRate * saleTons) - (C * transportTaxRate * saleTons); + const H = F - (A * coalTaxRate * saleTons) - (C * transportTaxRate * saleTons) - (R * transportTaxRate * saleTons); // 澧炲�肩◣闄勫姞绋� const K = H * surchargeRate; -- Gitblit v1.9.3