From 40b5273e2540cee05bf3b9f11af5706989b5f699 Mon Sep 17 00:00:00 2001 From: zhang_12370 <z2864490065@outlook.com> Date: 星期五, 27 六月 2025 16:42:11 +0800 Subject: [PATCH] 提交删除部分页面导出按钮 修改采购逻辑 取消供应商新增校验 完善vue打包以后找不到文件的问题 --- src/views/warehouseManagement/index.vue | 99 ++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 77 insertions(+), 22 deletions(-) diff --git a/src/views/warehouseManagement/index.vue b/src/views/warehouseManagement/index.vue index 8905e20..7fd5435 100644 --- a/src/views/warehouseManagement/index.vue +++ b/src/views/warehouseManagement/index.vue @@ -39,11 +39,11 @@ <!-- 鎿嶄綔鎸夐挳鍖� --> <el-space> <!-- <el-button type="danger" :icon="Delete">鍒犻櫎</el-button>--> - <el-button type="info" plain :icon="Download">瀵煎嚭</el-button> + <!-- <el-button type="info" plain :icon="Download">瀵煎嚭</el-button> --> <el-button type="success" plain :icon="Refresh" v-if="activeTab=== 'officialInventory'" @click="mergeRows('merge')">鍚堝苟</el-button> </el-space> <div> - <el-table :data="tableData" border @selection-change="selectionChange" style="width: 100%" show-summary :summary-method="summarizeChildrenTable"> + <el-table :data="tableData" border @selection-change="selectionChange" style="width: 100%;height: calc(100vh - 30em)" show-summary :summary-method="summarizeChildrenTable"> <el-table-column type="selection" width="55" align="center" /> <el-table-column label="搴忓彿" type="index" width="60" align="center" /> <el-table-column prop="supplierName" label="渚涜揣鍟嗗悕绉�" width="180" sortable/> @@ -54,11 +54,11 @@ <el-table-column prop="totalPriceIncludingTax" label="鎬讳环(鍚◣)" width="130" /> <el-table-column prop="priceExcludingTax" label="鍗曚环(涓嶅惈绋�)" width="130" /> <el-table-column prop="totalPriceExcludingTax" label="鎬讳环(涓嶅惈绋�)" width="130" /> - <el-table-column prop="pendingReplenishment" label="寰呰ˉ搴�" width="130" /> + <el-table-column prop="pendingReplenishment" label="寰呰ˉ搴�" width="130" v-if="activeTab=== 'officialInventory'"/> <el-table-column label="鐓よ川" align="center" v-if="activeTab=== 'officialInventory'" width="600"> <el-table-column v-for="col in columnTitle" :key="col.prop" :prop="col.prop" :label="col.label" align="center" sortable min-width="200"/> </el-table-column> - <el-table-column prop="registrantId" label="鐧昏浜�" width="180"/> + <el-table-column prop="registrant" label="鐧昏浜�" width="180"/> <el-table-column prop="registrationDate" label="鐧昏鏃ユ湡" width="180"/> <el-table-column fixed="right" label="鎿嶄綔" min-width="60" align="center"> <template #default="scope"> @@ -82,13 +82,17 @@ <el-form :model="form" :rules="rules" ref="formRef" label-width="180px"> <el-row> <el-col :span="12"> - <el-form-item label="渚涜揣鍟嗗悕绉�" prop="supplierName"> - <el-input v-model="form.supplierName" placeholder="璇疯緭鍏ヤ緵璐у晢鍚嶇О" maxlength="30" /> + <el-form-item label="渚涘簲鍟嗗悕绉�" prop="supplierId"> + <el-select v-model="form.supplierId" placeholder="璇烽�夋嫨渚涘簲鍟�"> + <el-option :label="item.label" v-for="item in supplyList" :key="item.value" :value="item.value"/> + </el-select> </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="鐓ょ" prop="coal"> - <el-input v-model="form.coal" placeholder="璇疯緭鍏ョ叅绉�" maxlength="30" /> + <el-form-item label="鐓ょ" prop="coalId"> + <el-select v-model="form.coalId" placeholder="璇烽�夋嫨鐓ょ"> + <el-option :label="item.label" v-for="item in coalList" :key="item.value" :value="item.value"/> + </el-select> </el-form-item> </el-col> </el-row> @@ -130,8 +134,8 @@ </el-row> <el-row> <el-col :span="12"> - <el-form-item label="鐓よ川鏂规" prop="qualityPlan"> - <el-select v-model="form.qualityPlan" placeholder="璇烽�夋嫨" @change="coalPlanByIdList" clearable> + <el-form-item label="鐓よ川鏂规" prop="coalPlanId"> + <el-select v-model="form.coalPlanId" placeholder="璇烽�夋嫨" @change="coalPlanByIdList" clearable> <el-option v-for="dict in qualityPlanOption" :key="dict.id" @@ -159,17 +163,21 @@ </template> </el-dialog> <!-- 鍚堝苟鏁版嵁寮规 --> - <el-dialog title="鍚堝苟搴撳瓨" v-model="mergeVisible" width="800px"> + <el-dialog :title="operationType.value === 'edit' ? '缂栬緫搴撳瓨' : '鍚堝苟搴撳瓨'" v-model="mergeVisible" width="800px"> <el-form :model="mergeForm" :rules="mergeRules" ref="mergeRef" label-width="100px"> <el-row> <el-col :span="12"> - <el-form-item label="渚涜揣鍟嗗悕绉�" prop="supplierName"> - <el-input v-model="mergeForm.supplierName" placeholder="璇疯緭鍏ヤ緵璐у晢鍚嶇О" maxlength="30" /> + <el-form-item label="渚涘簲鍟嗗悕绉�" prop="supplierId"> + <el-select v-model="mergeForm.supplierId" placeholder="璇烽�夋嫨渚涘簲鍟�"> + <el-option :label="item.label" v-for="item in supplyList" :key="item.value" :value="item.value"/> + </el-select> </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="鐓ょ" prop="coal"> - <el-input v-model="mergeForm.coal" placeholder="璇疯緭鍏ョ叅绉�" maxlength="30" /> + <el-form-item label="鐓ょ" prop="coalId"> + <el-select v-model="mergeForm.coalId" placeholder="璇烽�夋嫨鐓ょ"> + <el-option :label="item.label" v-for="item in coalList" :key="item.value" :value="item.value"/> + </el-select> </el-form-item> </el-col> </el-row> @@ -209,6 +217,20 @@ </el-form-item> </el-col> </el-row> + <el-row> + <el-col :span="12"> + <el-form-item label="鐓よ川鏂规" prop="coalPlanId"> + <el-select v-model="mergeForm.coalPlanId" placeholder="璇烽�夋嫨" @change="coalPlanByIdList" clearable> + <el-option + v-for="dict in qualityPlanOption" + :key="dict.id" + :label="dict.plan" + :value="dict.id" + ></el-option> + </el-select> + </el-form-item> + </el-col> + </el-row> <el-divider></el-divider> <el-row> <el-col :span="12" v-for="item in filteredList" :key="item.id"> @@ -239,6 +261,8 @@ pendingInventoryList } from "@/api/warehouseManagement/index.js"; import {editOfficial, merge} from "../../api/warehouseManagement/index.js"; +import {getSupplyList} from "@/api/procureMent/index.js"; +import {getCoalInfoList} from "@/api/production/index.js"; const { proxy } = getCurrentInstance() @@ -269,32 +293,32 @@ totalPriceIncludingTax: '', priceExcludingTax: '', totalPriceExcludingTax: '', - qualityPlan: '', + coalPlanId: '', pId: '', }, mergeForm: { - supplierName: '', - coal: '', + supplierId: '', + coalId: '', unit: '', inventoryQuantity: '', priceIncludingTax: '', totalPriceIncludingTax: '', priceExcludingTax: '', totalPriceExcludingTax: '', - qualityPlan: '', + coalPlanId: '', pId: '', }, rules: { supplierName: [{ required: true, message: "璇疯緭鍏ヤ緵搴斿晢鍚嶇О", trigger: "blur" }], coal: [{ required: true, message: "璇疯緭鍏ョ叅绉�", trigger: "blur" }], unit: [{ required: true, message: "璇疯緭鍏ュ崟浣�", trigger: "blur" }], - qualityPlan: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }], + coalPlanId: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }], }, mergeRules: { supplierName: [{ required: true, message: "璇疯緭鍏ヤ緵搴斿晢鍚嶇О", trigger: "blur" }], coal: [{ required: true, message: "璇疯緭鍏ョ叅绉�", trigger: "blur" }], unit: [{ required: true, message: "璇疯緭鍏ュ崟浣�", trigger: "blur" }], - qualityPlan: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }], + coalPlanId: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }], } }) @@ -313,6 +337,33 @@ coal: "", }) const columnTitle = ref([]) +const supplyList = ref([]); +const coalList = ref([]); + +// 鑾峰彇渚涘簲鍟嗕笅鎷夊拰鐓ょ涓嬫媺 +const getDropdownData = async () => { + try { + const [supplyRes, coalRes] = await Promise.all([ + getSupplyList(), + getCoalInfoList(), + ]); + let supplyData = supplyRes.data; + let coalData = coalRes.data; + supplyList.value = supplyData.map((item) => ({ + value: item.id, + label: item.supplierName, + })); + coalList.value = coalData.map((item) => ({ + value: item.id, + label: item.coal, + })); + } catch (error) { + ElMessage.error("鑾峰彇涓嬫媺鏁版嵁澶辫触锛岃绋嶅悗閲嶈瘯"); + } +}; +defineExpose({ + getDropdownData, +}); onMounted(() => { handleTabClick({ props: { name: "pendingInbound" } }); }); @@ -386,6 +437,7 @@ form.value = {...row} form.value.pId = row.id inventoryQuantity.value = row.inventoryQuantity + getDropdownData() coalPlanListOptions() } // 鏌ヨ鐓よ川鏂规涓嬫媺妗� @@ -417,7 +469,8 @@ } // 鍚堝苟搴撳瓨鏁版嵁鏂规硶 const mergeRows = (type,row) => { - coalFieldListOption(); + getDropdownData() + coalPlanListOptions() mergeVisible.value = true; operationType.value = type; if (type === 'edit') { @@ -491,6 +544,7 @@ } return acc; }, []); + mergeForm.value.type = 2 merge(mergeForm.value).then(() => { cancel() proxy.$modal.msgSuccess('鍚堝苟鎴愬姛') @@ -512,6 +566,7 @@ delete form.value.registrationTime delete form.value.createTime delete form.value.updateTime + form.value.type = 1 form.value.fieldValue = filteredList.value.map(item => ({ [item.fields]: form.value[item.fields] })) -- Gitblit v1.9.3