From 9feea2f82cb21abf58643dcffd875b1ed6f1162b Mon Sep 17 00:00:00 2001 From: maven <2163098428@qq.com> Date: 星期二, 08 七月 2025 11:06:41 +0800 Subject: [PATCH] yys 1.新增入库查询 2.新增入库 3.入库分页查询 4.编辑 --- src/views/inventoryManagement/dispatchLog/index.vue | 310 ++++++--------------------------------------------- 1 files changed, 40 insertions(+), 270 deletions(-) diff --git a/src/views/inventoryManagement/dispatchLog/index.vue b/src/views/inventoryManagement/dispatchLog/index.vue index 7f8313a..81eff0b 100644 --- a/src/views/inventoryManagement/dispatchLog/index.vue +++ b/src/views/inventoryManagement/dispatchLog/index.vue @@ -16,7 +16,7 @@ > </div> <div> - <el-button type="primary" @click="openForm('add')">鏂板</el-button> + <!-- <el-button type="primary" @click="openForm('add')">鏂板</el-button> --> <el-button @click="handleOut">瀵煎嚭</el-button> <el-button type="danger" plain @click="handleDelete">鍒犻櫎</el-button> </div> @@ -73,27 +73,27 @@ show-overflow-tooltip /> <el-table-column - label="鍚◣鍗曚环" - prop="taxInclusiveUnitPrice" + label="鍚◣鍗曚环(鍏�)" + prop="entryDate" width="100" show-overflow-tooltip /> <el-table-column - label="鍚◣鎬讳环" - prop="taxInclusiveTotalPrice" + label="鍚◣鎬讳环(鍏�)" + prop="executionDate" width="100" show-overflow-tooltip /> <el-table-column - label="绋庣巼" - prop="taxRate" + label="绋庣巼(%)" + prop="executionDate" width="100" show-overflow-tooltip /> <el-table-column - label="涓嶅惈绋庢�讳环" - prop="taxExclusiveTotalPrice" - width="100" + label="涓嶅惈绋庢�讳环(鍏�)" + prop="executionDate" + width="180" show-overflow-tooltip /> <el-table-column @@ -102,7 +102,7 @@ width="80" show-overflow-tooltip /> - <el-table-column + <!-- <el-table-column fixed="right" label="鎿嶄綔" min-width="60" @@ -117,7 +117,7 @@ >缂栬緫</el-button > </template> - </el-table-column> + </el-table-column> --> </el-table> <pagination v-show="total > 0" @@ -128,152 +128,6 @@ @pagination="paginationChange" /> </div> - <el-dialog - v-model="dialogFormVisible" - :title="operationType === 'add' ? '鏂板鍑哄簱' : '缂栬緫鍑哄簱'" - width="70%" - @close="closeDia" - > - <el-form - :model="form" - label-width="140px" - label-position="top" - :rules="rules" - ref="formRef" - > - <el-row :gutter="30"> - <el-col :span="12"> - <el-form-item label="渚涘簲鍟嗗悕绉帮細" prop="salesContractNo"> - <el-input - v-model="form.salesContractNo" - placeholder="璇疯緭鍏�" - clearable - /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="浜у搧澶х被锛�" prop="salesman"> - <el-select v-model="form.salesman" placeholder="璇烽�夋嫨" clearable> - <el-option - v-for="item in userList" - :key="item.nickName" - :label="item.nickName" - :value="item.nickName" - /> - </el-select> - </el-form-item> - </el-col> - </el-row> - <el-row :gutter="30"> - <el-col :span="12"> - <el-form-item label="瑙勬牸鍨嬪彿锛�" prop="customerContractNo"> - <el-input - v-model="form.customerContractNo" - placeholder="璇疯緭鍏�" - clearable - /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="鍗曚綅锛�" prop="customerId"> - <el-input - v-model="form.customerContractNo" - placeholder="璇疯緭鍏�" - clearable - /> - </el-form-item> - </el-col> - </el-row> - <el-row :gutter="30"> - <el-col :span="12"> - <el-form-item label="鍑哄簱鏃堕棿锛�" prop="projectName"> - <el-date-picker - style="width: 100%" - v-model="form.entryDate" - value-format="YYYY-MM-DD" - format="YYYY-MM-DD" - type="date" - placeholder="璇烽�夋嫨" - clearable - /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="鍑哄簱鏁伴噺锛�" prop="customerContractNo"> - <el-input - v-model="form.customerContractNo" - placeholder="璇疯緭鍏�" - clearable - /> - </el-form-item> - </el-col> - </el-row> - <el-row :gutter="30"> - <el-col :span="12"> - <el-form-item label="鍚◣鍗曚环锛�" prop="customerId"> - <el-input - v-model="form.customerContractNo" - placeholder="璇疯緭鍏�" - clearable - /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="鍚◣鎬讳环锛�" prop="customerContractNo"> - <el-input - v-model="form.customerContractNo" - placeholder="璇疯緭鍏�" - clearable - /> - </el-form-item> - </el-col> - </el-row> - <el-row :gutter="30"> - <el-col :span="12"> - <el-form-item label="绋庣巼锛�" prop="customerId"> - <el-input - v-model="form.customerContractNo" - placeholder="璇疯緭鍏�" - clearable - /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="涓嶅惈绋庢�讳环锛�" prop="entryDate"> - <el-input - v-model="form.customerContractNo" - placeholder="璇疯緭鍏�" - clearable - /> - </el-form-item> - </el-col> - </el-row> - <el-row :gutter="30"> - <el-col :span="12"> - <el-form-item label="鍑哄簱浜猴細" prop="entryPerson"> - <el-select - v-model="form.entryPerson" - placeholder="璇烽�夋嫨" - clearable - > - <el-option - v-for="item in userList" - :key="item.userId" - :label="item.nickName" - :value="item.userId" - /> - </el-select> - </el-form-item> - </el-col> - </el-row> - </el-form> - <template #footer> - <div class="dialog-footer"> - <el-button type="primary" @click="submitForm">纭</el-button> - <el-button @click="closeDia">鍙栨秷</el-button> - </div> - </template> - </el-dialog> </div> </template> @@ -284,24 +138,17 @@ import useUserStore from "@/store/modules/user"; import { userListNoPage } from "@/api/system/user.js"; import { - ledgerListPage, - customerList, - addOrUpdateSalesLedger, - getSalesLedgerWithProducts, - delLedger, -} from "@/api/salesManagement/salesLedger.js"; -import { - getStockOutPage + getStockOutPage, + delStockOut, } from "@/api/inventoryManagement/stockOut.js"; const userStore = useUserStore(); const { proxy } = getCurrentInstance(); const tableData = ref([]); -const productData = ref([]); const selectedRows = ref([]); const userList = ref([]); -const customerOption = ref([]); const tableLoading = ref(false); +const productList = ref([]) const page = reactive({ current: 1, size: 100, @@ -314,33 +161,29 @@ const dialogFormVisible = ref(false); const data = reactive({ searchForm: { - customerName: "", + supplierName: "", }, form: { - salesContractNo: "", - salesman: "", - customerContractNo: "", - customerId: "", - projectName: "", - entryPerson: "", - entryDate: "", - maintenanceTime: "", - productData: [], - executionDate: "", - }, - rules: { - salesman: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }], - customerContractNo: [ - { required: true, message: "璇疯緭鍏�", trigger: "blur" }, - ], - customerId: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }], - projectName: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }], - entryPerson: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }], - entryDate: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }], - executionDate: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }], + supplierId: null, + supplierName: '', + productId: null, + productName: '', + userId: userStore.userId, + nickname: '', + model: '', + productModelId: null, + unit: '', + productrecordId: null, + taxInclusiveUnitPrice: '', + taxInclusiveTotalPrice: '', + taxRate: '', + taxExclusiveTotalPrice: '', + inboundTime: '', + inboundBatch: '', + inboundQuantity: '' }, }); -const { searchForm, form, rules } = toRefs(data); +const { searchForm } = toRefs(data); // 鏌ヨ鍒楄〃 /** 鎼滅储鎸夐挳鎿嶄綔 */ @@ -368,24 +211,11 @@ tableLoading.value = false; }); }; -const findNodeById = (nodes, productId) => { - for (let i = 0; i < nodes.length; i++) { - if (nodes[i].value === productId) { - return nodes[i].label; // 鎵惧埌鑺傜偣锛岃繑鍥炶鑺傜偣 - } - if (nodes[i].children && nodes[i].children.length > 0) { - const foundNode = findNodeById(nodes[i].children, productId); - if (foundNode) { - return foundNode.label; // 鍦ㄥ瓙鑺傜偣涓壘鍒帮紝杩斿洖璇ヨ妭鐐� - } - } - } - return null; // 娌℃湁鎵惧埌鑺傜偣锛岃繑鍥瀗ull -}; + // 琛ㄦ牸閫夋嫨鏁版嵁 const handleSelectionChange = (selection) => { // 杩囨护鎺夊瓙鏁版嵁 - selectedRows.value = selection.filter((item) => item.children !== undefined); + selectedRows.value = selection.filter((item) => item.id); console.log("selection", selectedRows.value); }; const expandedRowKeys = ref([]); @@ -399,81 +229,21 @@ ]); }; -// 鎵撳紑寮规 -const openForm = async (type, row) => { - operationType.value = type; - form.value = {}; - productData.value = []; - let userLists = await userListNoPage(); - userList.value = userLists.data; - customerList().then((res) => { - customerOption.value = res; - }); - console.log("userStore.id", userStore.id); - form.value.entryPerson = userStore.id; - if (type === "edit") { - currentId.value = row.id; - getSalesLedgerWithProducts({ id: row.id, type: 1 }).then((res) => { - form.value = { ...res }; - form.value.entryPerson = Number(res.entryPerson); - productData.value = form.value.productData; - fileList.value = form.value.salesLedgerFiles; - }); - } - // let userAll = await userStore.getInfo() - // userList.value.forEach(element => { - // if(userAll.user.nickName === element.nickName && userAll.user.userName === element.userName) { - // form.value.entryPerson = userAll.user.userId // 璁剧疆榛樿涓氬姟鍛樹负褰撳墠鐢ㄦ埛 - // } - // }); - form.value.entryDate = getCurrentDate(); // 璁剧疆榛樿褰曞叆鏃ユ湡涓哄綋鍓嶆棩鏈� - dialogFormVisible.value = true; -}; - -// 鎻愪氦琛ㄥ崟 -const submitForm = () => { - proxy.$refs["formRef"].validate((valid) => { - if (valid) { - if (productData.value.length > 0) { - form.value.productData = proxy.HaveJson(productData.value); - } else { - proxy.$modal.msgWarning("璇锋坊鍔犱骇鍝佷俊鎭�"); - return; - } - let tempFileIds = []; - if (fileList.value.length > 0) { - tempFileIds = fileList.value.map((item) => item.tempId); - } - form.value.tempFileIds = tempFileIds; - form.value.type = 1; - addOrUpdateSalesLedger(form.value).then((res) => { - proxy.$modal.msgSuccess("鎻愪氦鎴愬姛"); - closeDia(); - getList(); - }); - } - }); -}; -// 鍏抽棴寮规 -const closeDia = () => { - proxy.resetForm("formRef"); - dialogFormVisible.value = false; -}; - // 瀵煎嚭 const handleOut = () => { - ElMessageBox.confirm("閫変腑鐨勫唴瀹瑰皢琚鍑猴紝鏄惁纭瀵煎嚭锛�", "瀵煎嚭", { + ElMessageBox.confirm("鏄惁纭瀵煎嚭锛�", "瀵煎嚭", { confirmButtonText: "纭", cancelButtonText: "鍙栨秷", type: "warning", }) .then(() => { - proxy.download("/sales/ledger/export", {}, "鍑哄簱鍙拌处.xlsx"); + proxy.download("/stockmanagement/export", {}, "鍑哄簱鍙拌处.xlsx"); }) .catch(() => { proxy.$modal.msg("宸插彇娑�"); }); }; + // 鍒犻櫎 const handleDelete = () => { let ids = []; @@ -489,7 +259,7 @@ type: "warning", }) .then(() => { - delLedger(ids).then((res) => { + delStockOut(ids).then((res) => { proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛"); getList(); }); -- Gitblit v1.9.3