From 46a976b7db081fd19f7bcb9555095504e2ed7bdf Mon Sep 17 00:00:00 2001 From: gaoluyang <2820782392@qq.com> Date: 星期五, 11 七月 2025 15:47:56 +0800 Subject: [PATCH] 1.来票登记-不要删除和导出 --- src/views/procurementManagement/procurementLedger/index.vue | 138 +++++++++++++++++++++++++++++++++++---------- 1 files changed, 107 insertions(+), 31 deletions(-) diff --git a/src/views/procurementManagement/procurementLedger/index.vue b/src/views/procurementManagement/procurementLedger/index.vue index d360763..6376816 100644 --- a/src/views/procurementManagement/procurementLedger/index.vue +++ b/src/views/procurementManagement/procurementLedger/index.vue @@ -9,7 +9,7 @@ placeholder="璇疯緭鍏�" @change="handleQuery" clearable - prefix-icon="Search" + :prefix-icon="Search" /> <el-button type="primary" @click="handleQuery" style="margin-left: 10px" >鎼滅储</el-button @@ -76,37 +76,50 @@ <el-table-column label="閲囪喘鍚堝悓鍙�" prop="purchaseContractNumber" + width="200" show-overflow-tooltip /> <el-table-column label="閿�鍞悎鍚屽彿" prop="salesContractNo" + width="200" show-overflow-tooltip /> <el-table-column label="渚涘簲鍟嗗悕绉�" + width="240" prop="supplierName" show-overflow-tooltip /> <el-table-column label="椤圭洰鍚嶇О" prop="projectName" + width="100" + show-overflow-tooltip + /> + <el-table-column + label="浠樻鏂瑰紡" + width="100" + prop="paymentMethod" show-overflow-tooltip /> <el-table-column label="鍚堝悓閲戦(鍏�)" prop="contractAmount" + width="200" show-overflow-tooltip :formatter="formattedNumber" /> <el-table-column label="褰曞叆浜�" prop="recorderName" + width="100" show-overflow-tooltip /> <el-table-column label="褰曞叆鏃ユ湡" prop="entryDate" + width="100" show-overflow-tooltip /> <el-table-column @@ -231,6 +244,17 @@ format="YYYY-MM-DD" type="date" placeholder="璇烽�夋嫨" + clearable + /> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="30"> + <el-col :span="12"> + <el-form-item label="浠樻鏂瑰紡"> + <el-input + v-model="form.paymentMethod" + placeholder="璇疯緭鍏�" clearable /> </el-form-item> @@ -405,16 +429,20 @@ /> </el-form-item> </el-col> - <el-col :span="12"> - <el-form-item label="鏁伴噺锛�" prop="quantity"> - <el-input - v-model="productForm.quantity" - placeholder="璇疯緭鍏�" - clearable - @change="mathNum" - /> - </el-form-item> - </el-col> + <el-col :span="12"> + <el-form-item label="绋庣巼(%)锛�" prop="taxRate"> + <el-select + v-model="productForm.taxRate" + placeholder="璇烽�夋嫨" + clearable + @change="mathNum" + > + <el-option label="1" value="1" /> + <el-option label="6" value="6" /> + <el-option label="13" value="13" /> + </el-select> + </el-form-item> + </el-col> </el-row> <el-row :gutter="30"> <el-col :span="12"> @@ -429,20 +457,18 @@ /> </el-form-item> </el-col> - <el-col :span="12"> - <el-form-item label="绋庣巼(%)锛�" prop="taxRate"> - <el-select - v-model="productForm.taxRate" - placeholder="璇烽�夋嫨" - clearable - @change="mathNum" - > - <el-option label="1" value="1" /> - <el-option label="6" value="6" /> - <el-option label="13" value="13" /> - </el-select> - </el-form-item> - </el-col> + <el-col :span="12"> + <el-form-item label="鏁伴噺锛�" prop="quantity"> + <el-input-number + :step="0.1" + clearable + style="width: 100%" + v-model="productForm.quantity" + placeholder="璇疯緭鍏�" + @change="mathNum" + /> + </el-form-item> + </el-col> </el-row> <el-row :gutter="30"> <el-col :span="12"> @@ -453,7 +479,7 @@ :step="0.1" clearable style="width: 100%" - disabled + @change="reverseMathNum('taxInclusiveTotalPrice')" /> </el-form-item> </el-col> @@ -462,7 +488,10 @@ label="涓嶅惈绋庢�讳环(鍏�)锛�" prop="taxExclusiveTotalPrice" > - <el-input v-model="productForm.taxExclusiveTotalPrice" disabled /> + <el-input + v-model="productForm.taxExclusiveTotalPrice" + @change="reverseMathNum('taxExclusiveTotalPrice')" + /> </el-form-item> </el-col> </el-row> @@ -513,6 +542,7 @@ productList, getPurchaseById, getOptions, + createPurchaseNo, } from "@/api/procurementManagement/procurementLedger.js"; const { proxy } = getCurrentInstance(); const tableData = ref([]); @@ -552,6 +582,7 @@ productData: [], supplierName: "", supplierId: "", + paymentMethod: "", }, rules: { purchaseContractNumber: [ @@ -645,11 +676,11 @@ purchaseListPage({ ...searchForm.value, ...page }) .then((res) => { tableLoading.value = false; - tableData.value = res.records; + tableData.value = res.data.records; tableData.value.map((item) => { item.children = []; }); - total.value = res.total; + total.value = res.data.total; expandedRowKeys.value = []; }) .catch(() => { @@ -672,7 +703,7 @@ productList({ salesLedgerId: row.id, type: 2 }).then((res) => { const index = tableData.value.findIndex((item) => item.id === row.id); if (index > -1) { - tableData.value[index].children = res; + tableData.value[index].children = res.data; } expandedRowKeys.value.push(row.id); }); @@ -701,6 +732,11 @@ form.value = {}; productData.value = []; fileList.value = []; + if (operationType.value == "add") { + createPurchaseNo().then((res) => { + form.value.purchaseContractNumber = res.data; + }); + } userListNoPage().then((res) => { userList.value = res.data; }); @@ -977,7 +1013,10 @@ return `${year}-${month}-${day}`; } const mathNum = () => { - console.log("productForm.value", productForm.value); + if (!productForm.value.taxRate) { + proxy.$modal.msgWarning("璇峰厛閫夋嫨绋庣巼"); + return; + } if (!productForm.value.taxInclusiveUnitPrice) { return; } @@ -999,6 +1038,43 @@ ); } }; +const reverseMathNum = (field) => { + if (!productForm.value.taxRate) { + proxy.$modal.msgWarning("璇峰厛閫夋嫨绋庣巼"); + return; + } + const taxRate = Number(productForm.value.taxRate); + if (!taxRate) return; + if (field === 'taxInclusiveTotalPrice') { + // 宸茬煡鍚◣鎬讳环鍜屾暟閲忥紝鍙嶇畻鍚◣鍗曚环 + if (productForm.value.quantity) { + productForm.value.taxInclusiveUnitPrice = + (Number(productForm.value.taxInclusiveTotalPrice) / Number(productForm.value.quantity)).toFixed(2); + } + // 宸茬煡鍚◣鎬讳环鍜屽惈绋庡崟浠凤紝鍙嶇畻鏁伴噺 + else if (productForm.value.taxInclusiveUnitPrice) { + productForm.value.quantity = + (Number(productForm.value.taxInclusiveTotalPrice) / Number(productForm.value.taxInclusiveUnitPrice)).toFixed(2); + } + // 鍙嶇畻涓嶅惈绋庢�讳环 + productForm.value.taxExclusiveTotalPrice = + (Number(productForm.value.taxInclusiveTotalPrice) / (1 + taxRate / 100)).toFixed(2); + } else if (field === 'taxExclusiveTotalPrice') { + // 鍙嶇畻鍚◣鎬讳环 + productForm.value.taxInclusiveTotalPrice = + (Number(productForm.value.taxExclusiveTotalPrice) * (1 + taxRate / 100)).toFixed(2); + // 宸茬煡鏁伴噺锛屽弽绠楀惈绋庡崟浠� + if (productForm.value.quantity) { + productForm.value.taxInclusiveUnitPrice = + (Number(productForm.value.taxInclusiveTotalPrice) / Number(productForm.value.quantity)).toFixed(2); + } + // 宸茬煡鍚◣鍗曚环锛屽弽绠楁暟閲� + else if (productForm.value.taxInclusiveUnitPrice) { + productForm.value.quantity = + (Number(productForm.value.taxInclusiveTotalPrice) / Number(productForm.value.taxInclusiveUnitPrice)).toFixed(2); + } + } +}; // 閿�鍞悎鍚岄�夋嫨鏀瑰彉鏂规硶 const salesLedgerChange = async (row) => { console.log("row", row); -- Gitblit v1.9.3