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