From 71fcb192074d72105b1668f6cf9b32a2e54838d8 Mon Sep 17 00:00:00 2001 From: gaoluyang <2820782392@qq.com> Date: 星期三, 02 七月 2025 15:28:37 +0800 Subject: [PATCH] 1.库存管理、销售出库-添加查看详情功能 --- src/views/warehouseManagement/index.vue | 27 +++++++------ src/views/salesOutbound/index.vue | 11 +++-- src/views/salesOutbound/components/formDia.vue | 30 ++++++++------- 3 files changed, 37 insertions(+), 31 deletions(-) diff --git a/src/views/salesOutbound/components/formDia.vue b/src/views/salesOutbound/components/formDia.vue index 1e264dd..892b917 100644 --- a/src/views/salesOutbound/components/formDia.vue +++ b/src/views/salesOutbound/components/formDia.vue @@ -7,6 +7,7 @@ <el-col :span="12"> <el-form-item label="閿�鍞棩鏈�" prop="saleDate"> <el-date-picker + :disabled="operationType === 'view'" v-model="form.saleDate" type="date" value-format="YYYY-MM-DD" @@ -19,7 +20,7 @@ </el-col> <el-col :span="12"> <el-form-item label="瀹㈡埛" prop="customerId"> - <el-select v-model="form.customerId" placeholder="璇烽�夋嫨瀹㈡埛"> + <el-select v-model="form.customerId" placeholder="璇烽�夋嫨瀹㈡埛" :disabled="operationType === 'view'"> <el-option v-for="item in customerOptions" :key="item.value" @@ -33,7 +34,7 @@ <el-row> <el-col :span="12"> <el-form-item label="鐓ょ" prop="coalId"> - <el-select v-model="form.coalId" placeholder="璇烽�夋嫨鐓ょ" @change="setInfo"> + <el-select v-model="form.coalId" placeholder="璇烽�夋嫨鐓ょ" @change="setInfo" :disabled="operationType === 'view'"> <el-option v-for="item in coalOptions" :key="item.id" @@ -45,67 +46,67 @@ </el-col> <el-col :span="12"> <el-form-item label="鍗曚綅" prop="unit"> - <el-input v-model="form.unit" placeholder="璇疯緭鍏ュ崟浣�" maxlength="30" /> + <el-input v-model="form.unit" placeholder="璇疯緭鍏ュ崟浣�" maxlength="30" :disabled="operationType === 'view'"/> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="12"> <el-form-item label="搴撳瓨鏁伴噺" prop="inventoryQuantity"> - <el-input v-model="form.inventoryQuantity" placeholder="璇疯緭鍏ラ攢鍞暟閲�" maxlength="30" type="number" /> + <el-input v-model="form.inventoryQuantity" placeholder="璇疯緭鍏ラ攢鍞暟閲�" maxlength="30" type="number" :disabled="operationType === 'view'"/> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="鍗曚环(鍚◣)" prop="priceIncludingTax" @change="mathProfit"> - <el-input v-model="form.priceIncludingTax" placeholder="璇疯緭鍏ラ攢鍞崟浠�(鍚◣)" maxlength="30" type="number" /> + <el-input v-model="form.priceIncludingTax" 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="saleQuantity" @change="mathProfit"> - <el-input v-model="form.saleQuantity" placeholder="璇疯緭鍏ラ攢鍞暟閲�" maxlength="30" type="number" /> + <el-input v-model="form.saleQuantity" placeholder="璇疯緭鍏ラ攢鍞暟閲�" maxlength="30" type="number" :disabled="operationType === 'view'"/> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="閿�鍞崟浠�(鍚◣)" prop="salePrice" @change="mathProfit"> - <el-input v-model="form.salePrice" placeholder="璇疯緭鍏ラ攢鍞崟浠�(鍚◣)" maxlength="30" type="number" /> + <el-input v-model="form.salePrice" 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="totalAmount"> - <el-input v-model="form.totalAmount" placeholder="璇疯緭鍏ラ攢鍞�讳环(鍚◣)" maxlength="30" type="number" /> + <el-input v-model="form.totalAmount" placeholder="璇疯緭鍏ラ攢鍞�讳环(鍚◣)" maxlength="30" type="number" :disabled="operationType === 'view'"/> </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" /> + <el-input v-model="form.freight" 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="taxCoal"> - <el-input v-model="form.taxCoal" placeholder="璇疯緭鍏ラ攢鍞�讳环(鍚◣)" maxlength="30" type="number" /> + <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" /> + <el-input v-model="form.taxTrans" 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="grossProfit"> - <el-input v-model="form.grossProfit" placeholder="姣涘埄娑�" maxlength="30" type="number" /> + <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" /> + <el-input v-model="form.netProfit" placeholder="鍑�鍒╂鼎" maxlength="30" type="number" :disabled="operationType === 'view'"/> </el-form-item> </el-col> </el-row> @@ -158,6 +159,7 @@ // 鎵撳紑寮规 const openDialog = async (type, row) => { + operationType.value = type dialogVisitable.value = true form.value.saleDate = proxy.getCurrentDate() const [supplyRes, coalRes] = await Promise.all([ @@ -175,7 +177,7 @@ form.value.taxCoal = 13 form.value.taxTrans = 9 form.value.freight = 20 - if (type === 'edit') { + if (type !== 'add') { form.value = {...row} } } diff --git a/src/views/salesOutbound/index.vue b/src/views/salesOutbound/index.vue index 05ac623..7c26e44 100644 --- a/src/views/salesOutbound/index.vue +++ b/src/views/salesOutbound/index.vue @@ -26,7 +26,7 @@ </el-tabs> <!-- 鎿嶄綔鎸夐挳鍖� --> <el-space> - <el-button type="primary" :icon="Plus" @click="openDia()">鏂板缓</el-button> + <el-button type="primary" :icon="Plus" @click="openDia(undefined, 'add')">鏂板缓</el-button> <el-button type="danger" :icon="Delete" @click="handleDelete">鍒犻櫎</el-button> <!-- <el-button type="info" plain :icon="Download" @click="handleExport">瀵煎嚭</el-button> --> </el-space> @@ -38,8 +38,11 @@ @selection-change="handleSelectionChange" :show-selection="true" :border="true" + :operations="operationsArr" style="width: 100%;height: calc(100vh - 30em)" - @edit="openDia"></ETable> + @edit="(row) => openDia(row, 'edit')" + @viewRow="(row) => openDia(row, 'view')" + ></ETable> </div> <pagination v-if="total>0" @@ -70,6 +73,7 @@ { name: "out", label: "閿�鍞嚭搴�" }, ]); // 琛ㄦ牸鏁版嵁 +const operationsArr = ref(['edit', 'viewRow']); const tableLoading = ref(false); const tableData = ref([]); const columns = ref([ @@ -125,9 +129,8 @@ handleQuery(); }; // 鏂板鍑哄簱 -const openDia = (row) => { +const openDia = (row, type) => { console.log(row) - const type = row === undefined ? 'add' : 'edit' nextTick(() => { formDia.value?.openDialog(type, row) }) diff --git a/src/views/warehouseManagement/index.vue b/src/views/warehouseManagement/index.vue index a110ae1..b91980d 100644 --- a/src/views/warehouseManagement/index.vue +++ b/src/views/warehouseManagement/index.vue @@ -52,10 +52,11 @@ </el-table-column> <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"> + <el-table-column fixed="right" label="鎿嶄綔" min-width="100" align="center"> <template #default="scope"> <el-button link type="primary" size="small" @click="reviewDia(scope.row)" v-if="activeTab !== 'officialInventory'">瀹℃牳</el-button> - <el-button link type="primary" size="small" @click="mergeRows('edit', scope.row)" v-else>缂栬緫</el-button> + <el-button link type="primary" size="small" @click="mergeRows('edit', scope.row)" v-if="activeTab === 'officialInventory'">缂栬緫</el-button> + <el-button link type="primary" size="small" @click="mergeRows('view', scope.row)" v-if="activeTab === 'officialInventory'">璇︽儏</el-button> </template> </el-table-column> </el-table> @@ -160,14 +161,14 @@ <el-row> <el-col :span="12"> <el-form-item label="渚涘簲鍟嗗悕绉�" prop="supplierId"> - <el-select v-model="mergeForm.supplierId" placeholder="璇烽�夋嫨渚涘簲鍟�"> + <el-select v-model="mergeForm.supplierId" placeholder="璇烽�夋嫨渚涘簲鍟�" :disabled="operationType === 'view'"> <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="coalId"> - <el-select v-model="mergeForm.coalId" placeholder="璇烽�夋嫨鐓ょ"> + <el-select v-model="mergeForm.coalId" placeholder="璇烽�夋嫨鐓ょ" :disabled="operationType === 'view'"> <el-option :label="item.label" v-for="item in coalList" :key="item.value" :value="item.value"/> </el-select> </el-form-item> @@ -176,43 +177,43 @@ <el-row> <el-col :span="12"> <el-form-item label="鍗曚綅" prop="unit"> - <el-input v-model="mergeForm.unit" placeholder="璇疯緭鍏ュ崟浣�" maxlength="30" /> + <el-input v-model="mergeForm.unit" placeholder="璇疯緭鍏ュ崟浣�" maxlength="30" :disabled="operationType === 'view'"/> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="搴撳瓨鏁伴噺" prop="inventoryQuantity"> - <el-input v-model="mergeForm.inventoryQuantity" placeholder="璇疯緭鍏ュ簱瀛樻暟閲�" :max="inventoryQuantity" type="number"/> + <el-input v-model="mergeForm.inventoryQuantity" placeholder="璇疯緭鍏ュ簱瀛樻暟閲�" :max="inventoryQuantity" type="number" :disabled="operationType === 'view'"/> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="12"> <el-form-item label="鍗曚环(鍚◣)" prop="priceIncludingTax"> - <el-input v-model="mergeForm.priceIncludingTax" placeholder="璇疯緭鍏ュ崟浠�(鍚◣)" maxlength="30" /> + <el-input v-model="mergeForm.priceIncludingTax" placeholder="璇疯緭鍏ュ崟浠�(鍚◣)" maxlength="30" :disabled="operationType === 'view'" /> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="鎬讳环(鍚◣)" prop="totalPriceIncludingTax"> - <el-input v-model="mergeForm.totalPriceIncludingTax" placeholder="璇疯緭鍏ユ�讳环(鍚◣)" maxlength="30" /> + <el-input v-model="mergeForm.totalPriceIncludingTax" placeholder="璇疯緭鍏ユ�讳环(鍚◣)" maxlength="30" :disabled="operationType === 'view'" /> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="12"> <el-form-item label="鍗曚环(涓嶅惈绋�)" prop="priceExcludingTax"> - <el-input v-model="mergeForm.priceExcludingTax" placeholder="璇疯緭鍏ュ崟浠�(涓嶅惈绋�)" maxlength="30" /> + <el-input v-model="mergeForm.priceExcludingTax" placeholder="璇疯緭鍏ュ崟浠�(涓嶅惈绋�)" maxlength="30" :disabled="operationType === 'view'" /> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="鎬讳环(涓嶅惈绋�)" prop="totalPriceExcludingTax"> - <el-input v-model="mergeForm.totalPriceExcludingTax" placeholder="璇疯緭鍏ユ�讳环(涓嶅惈绋�)" maxlength="30" /> + <el-input v-model="mergeForm.totalPriceExcludingTax" placeholder="璇疯緭鍏ユ�讳环(涓嶅惈绋�)" maxlength="30" :disabled="operationType === 'view'" /> </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-select v-model="mergeForm.coalPlanId" placeholder="璇烽�夋嫨" @change="coalPlanByIdList" clearable :disabled="operationType === 'view'"> <el-option v-for="dict in qualityPlanOption" :key="dict.id" @@ -227,7 +228,7 @@ <el-row> <el-col :span="12" v-for="item in filteredList" :key="item.id"> <el-form-item :label="item.fieldName"> - <el-input v-model="mergeForm[item.fields]" /> + <el-input v-model="mergeForm[item.fields]" :disabled="operationType === 'view'" /> </el-form-item> </el-col> </el-row> @@ -464,7 +465,7 @@ coalPlanListOptions() mergeVisible.value = true; operationType.value = type; - if (type === 'edit') { + if (type !== 'merge') { mergeForm.value = {...row} } else { if (selectedRows.value.length < 2) { -- Gitblit v1.9.3