From 2ab68f3051300b3dc5c0edb5a53c505e401a08a3 Mon Sep 17 00:00:00 2001 From: spring <2396852758@qq.com> Date: 星期五, 11 七月 2025 16:40:10 +0800 Subject: [PATCH] 过程检验、出厂检验编辑页面字段改下(检测结果项建议必填,不输入检测结果会展示空框) --- src/views/inventoryManagement/issueManagement/index.vue | 84 +++++++++++++++++++----------------------- 1 files changed, 38 insertions(+), 46 deletions(-) diff --git a/src/views/inventoryManagement/issueManagement/index.vue b/src/views/inventoryManagement/issueManagement/index.vue index e513a63..2ad9b5a 100644 --- a/src/views/inventoryManagement/issueManagement/index.vue +++ b/src/views/inventoryManagement/issueManagement/index.vue @@ -19,18 +19,19 @@ :summary-method="summarizeMainTable" height="calc(100vh - 18.5em)"> <el-table-column align="center" type="selection" width="55" /> <el-table-column align="center" label="搴忓彿" type="index" width="60" /> - <el-table-column label="鍏ュ簱鏃堕棿" prop="inboundTime" width="100" show-overflow-tooltip /> - <el-table-column label="鍏ュ簱鎵规" prop="inboundBatch" width="160" show-overflow-tooltip /> - <el-table-column label="渚涘簲鍟嗗悕绉�" prop="supplierName" width="160" show-overflow-tooltip /> - <el-table-column label="浜у搧澶х被" prop="productName" width="100" show-overflow-tooltip /> - <el-table-column label="瑙勬牸鍨嬪彿" prop="model" width="160" show-overflow-tooltip /> + <el-table-column label="鍏ュ簱鏃堕棿" prop="createTime" width="100" show-overflow-tooltip /> + <el-table-column label="鍏ュ簱鎵规" prop="inboundBatches" width="160" show-overflow-tooltip /> + <el-table-column label="渚涘簲鍟嗗悕绉�" prop="supplierName" width="240" show-overflow-tooltip /> + <el-table-column label="浜у搧澶х被" prop="productCategory" width="100" show-overflow-tooltip /> + <el-table-column label="瑙勬牸鍨嬪彿" prop="specificationModel" width="200" show-overflow-tooltip /> <el-table-column label="鍗曚綅" prop="unit" width="70" show-overflow-tooltip /> - <el-table-column label="鍏ュ簱鏁伴噺" prop="stockQuantity" width="90" show-overflow-tooltip /> + <el-table-column label="鍏ュ簱鏁伴噺" prop="inboundNum" width="90" show-overflow-tooltip /> + <el-table-column label="搴撳瓨鏁伴噺" prop="inboundNum0" width="90" show-overflow-tooltip /> <el-table-column label="鍚◣鍗曚环" prop="taxInclusiveUnitPrice" width="100" show-overflow-tooltip /> <el-table-column label="鍚◣鎬讳环" prop="taxInclusiveTotalPrice" width="100" show-overflow-tooltip /> <el-table-column label="绋庣巼(%)" prop="taxRate" width="80" show-overflow-tooltip /> <el-table-column label="涓嶅惈绋庢�讳环" prop="taxExclusiveTotalPrice" width="100" show-overflow-tooltip /> - <el-table-column label="鍏ュ簱浜�" prop="nickName" width="80" show-overflow-tooltip /> + <el-table-column label="鍏ュ簱浜�" prop="createBy" width="80" show-overflow-tooltip /> <el-table-column fixed="right" label="鎿嶄綔" min-width="60" align="center"> <template #default="scope"> <el-button link type="primary" size="small" @click="openForm(scope.row);">棰嗙敤</el-button> @@ -43,7 +44,7 @@ <el-dialog v-model="dialogFormVisible" :title="'鏂板鍑哄簱'" width="40%" @close="closeDia"> <el-form :model="form" label-width="140px" label-position="top" :rules="rules" ref="formRef"> <el-form-item label="鍑哄簱鏁伴噺锛�" prop="salesContractNo"> - <el-input v-model="form.inboundQuantity" placeholder="璇疯緭鍏�" clearable /> + <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="form.inboundQuantity" placeholder="璇疯緭鍏�" clearable /> </el-form-item> <el-form-item label="鍑哄簱鏃ユ湡锛�" prop="projectName"> <el-date-picker style="width: 100%" v-model="form.inboundTime" value-format="YYYY-MM-DD" format="YYYY-MM-DD" @@ -70,21 +71,21 @@ import { ref } from 'vue' import { ElMessageBox } from "element-plus"; import useUserStore from '@/store/modules/user' -import { userListNoPage } from "@/api/system/user.js"; +import { userListNoPageByTenantId } from "@/api/system/user.js"; +import { + getStockInPage +} from "@/api/inventoryManagement/stockIn.js"; import { getStockManagePage, delStockManage, stockOut, - getStockManageOutPage } from "@/api/inventoryManagement/stockManage.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 page = reactive({ current: 1, @@ -98,37 +99,17 @@ const data = reactive({ searchForm: { supplierName: '', + inboundQuantity:'', + inboundTime:'', + nickName: '', + userId: '', }, form: { - supplierId: null, - supplierName: '', - productId: null, - productName: '', - userId: userStore.userId, - nickName: '', - productModelId: null, - model: '', - unit: '', - productrecordId: null, - taxInclusiveUnitPrice: '', - taxInclusiveTotalPrice: '', - taxRate: '', - taxExclusiveTotalPrice: '', - inboundTime: '', - inboundBatch: '', - stockQuantity: '', - boundTime: '', + productrecordId: '', }, rules: { - supplierName: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }], - productCategory: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }], - specificationModel: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }], - unit: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }], inboundTime: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }], - inboundBatch: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }], inboundQuantity: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }], - taxInclusiveUnitPrice: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }], - taxRate: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }], nickname: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }] } }) @@ -147,7 +128,7 @@ } const getList = () => { tableLoading.value = true - getStockManageOutPage({ ...searchForm.value, ...page }).then(res => { + getStockInPage({ ...searchForm.value, ...page }).then(res => { tableLoading.value = false tableData.value = res.data.records console.log('res', res.data.records) @@ -155,6 +136,7 @@ tableLoading.value = false }) } + const findNodeById = (nodes, productId) => { for (let i = 0; i < nodes.length; i++) { if (nodes[i].value === productId) { @@ -171,7 +153,6 @@ }; // 琛ㄦ牸閫夋嫨鏁版嵁 const handleSelectionChange = (selection) => { - // 杩囨护鎺夊瓙鏁版嵁 selectedRows.value = selection.filter(item => item.id); console.log('selection', selectedRows.value) @@ -184,22 +165,27 @@ }; const currentRowId = ref(null) // 鏂板锛氬瓨鍌ㄥ綋鍓嶆搷浣滅殑琛孖D +const currentRowNum = ref(0) +const salesLedgerProductId = ref(null); + // 鎵撳紑寮规 const openForm = async (row) => { dialogFormVisible.value = true currentRowId.value = row.id + currentRowNum.value = row.inboundNum0 + salesLedgerProductId.value = row.salesLedgerProductId form.value = {} // 鍒濆鍖栬〃鍗曟暟鎹� form.value = { + productrecordId: '', inboundQuantity: '', // 鍑哄簱鏁伴噺娓呯┖ inboundTime: getCurrentDate(), // 榛樿褰撳墠鏃ユ湡 nickName: '', // 榛樿褰撳墠鐢ㄦ埛 } console.log('form',form.value) - // 鍔犺浇鐢ㄦ埛鍒楄〃 try { - const userLists = await userListNoPage() + const userLists = await userListNoPageByTenantId() userList.value = userLists.data } catch (error) { console.error('鍔犺浇鐢ㄦ埛鍒楄〃澶辫触:', error) @@ -208,14 +194,20 @@ // 鎻愪氦琛ㄥ崟 const submitForm = () => { + let num = Number(form.value.inboundQuantity) + if(num < 1 || num > currentRowNum.value){ + return proxy.$modal.msgWarning("璇峰~鍏ユ湁鏁堟暟瀛�") + } proxy.$refs["formRef"].validate(valid => { if (valid && currentRowId.value) { const outData = { id: currentRowId.value, // 鍘熷璁板綍ID - outQuantity: form.value.inboundQuantity, // 鍑哄簱鏁伴噺 - outTime: form.value.inboundTime, // 鍑哄簱鏃堕棿 - userId: form.value.userId // 鎿嶄綔浜� + salesLedgerProductId: salesLedgerProductId.value, + quantity: form.value.inboundQuantity, // 鍑哄簱鏁伴噺 + time: form.value.inboundTime, // 鍑哄簱鏃堕棿 + userId: form.value.nickName // 鎿嶄綔浜� } + console.log(outData) stockOut(outData).then(res => { proxy.$modal.msgSuccess("鎻愪氦鎴愬姛") @@ -236,14 +228,14 @@ // 瀵煎嚭 const handleOut = () => { ElMessageBox.confirm( - '閫変腑鐨勫唴瀹瑰皢琚鍑猴紝鏄惁纭瀵煎嚭锛�', + '鏄惁纭瀵煎嚭锛�', '瀵煎嚭', { confirmButtonText: '纭', cancelButtonText: '鍙栨秷', type: 'warning', } ).then(() => { - proxy.download("/stockmanagement/export", {}, '鍏ュ簱鍙拌处.xlsx') + proxy.download("/stockin/export", {}, '鍏ュ簱鍙拌处.xlsx') }).catch(() => { proxy.$modal.msg("宸插彇娑�") }) -- Gitblit v1.9.3