From 841c8675a4fbf9fdcabf5cdc10390cb2c8e65e8f Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 19 十二月 2025 14:18:47 +0800
Subject: [PATCH] 1.海川开心-材料入库出库单价价格字段复原

---
 src/views/inventoryManagement/receiptManagement/index.vue |  112 +++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 66 insertions(+), 46 deletions(-)

diff --git a/src/views/inventoryManagement/receiptManagement/index.vue b/src/views/inventoryManagement/receiptManagement/index.vue
index c9f6e46..dc95be5 100644
--- a/src/views/inventoryManagement/receiptManagement/index.vue
+++ b/src/views/inventoryManagement/receiptManagement/index.vue
@@ -4,9 +4,6 @@
       <el-tab-pane label="鎴愬搧鍏ュ簱" name="production">
         <div class="search_form">
           <div>
-<!--            <span class="search_title">瀹㈡埛鍚嶇О锛�</span>-->
-<!--            <el-input v-model="searchForm.customerName" style="width: 240px" placeholder="璇疯緭鍏�" @change="handleQuery"-->
-<!--              clearable prefix-icon="Search" />-->
             <span class="search_title ml10">鍏ュ簱鏃ユ湡锛�</span>
             <el-date-picker
               v-model="searchForm.timeStr"
@@ -28,25 +25,27 @@
           </div>
           <div>
             <el-button @click="handleOut">瀵煎嚭</el-button>
+            <el-button type="danger" plain @click="handleDelete">鍒犻櫎</el-button>
           </div>
         </div>
         <div class="table_list">
-          <el-table :data="tableData" border v-loading="tableLoading"
+          <el-table :data="tableData" border v-loading="tableLoading" @selection-change="handleSelectionChange"
             :expand-row-keys="expandedRowKeys" :row-key="row => row.id" show-summary style="width: 100%"
             :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="createTime" show-overflow-tooltip />
-            <!-- <el-table-column label="鍏ュ簱鎵规" prop="inboundBatches" show-overflow-tooltip /> -->
-<!--            <el-table-column label="瀹㈡埛鍚嶇О" prop="customerName" width="240" show-overflow-tooltip />-->
             <el-table-column label="浜у搧澶х被" prop="productCategory" show-overflow-tooltip />
             <el-table-column label="瑙勬牸鍨嬪彿" prop="specificationModel" show-overflow-tooltip />
             <el-table-column label="鍗曚綅" prop="unit" width="70" show-overflow-tooltip />
-            <el-table-column label="鍏ュ簱鏁伴噺" prop="inboundNum" 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="createBy" width="80" show-overflow-tooltip /> -->
+						<el-table-column label="鍏ュ簱鏁伴噺" prop="inboundNum" width="100" show-overflow-tooltip />
+						<el-table-column label="鍗曚环(鍏�)" prop="unitPrice" width="150"></el-table-column>
+						<el-table-column label="鎬讳环(鍏�)" prop="totalPrice" width="150"></el-table-column>
+            <el-table-column fixed="right" label="鎿嶄綔" min-width="60" align="center">
+              <template #default="scope">
+                <el-button link type="primary" size="small" @click="openForm('edit', scope.row, 'production');">缂栬緫</el-button>
+              </template>
+            </el-table-column>
           </el-table>
           <pagination v-show="total > 0" :total="total" layout="total, sizes, prev, pager, next, jumper"
             :page="page.current" :limit="page.size" @pagination="paginationChange" />
@@ -56,9 +55,6 @@
      <el-tab-pane label="鍘熸枡鍏ュ簱" name="purchase">
        <div class="search_form">
          <div>
-<!--&lt;!&ndash;            <span class="search_title">渚涘簲鍟嗗悕绉帮細</span>&ndash;&gt;-->
-<!--&lt;!&ndash;            <el-input v-model="searchForm.supplierName" style="width: 240px" placeholder="璇疯緭鍏�" @change="handleQuery"&ndash;&gt;-->
-<!--&lt;!&ndash;              clearable prefix-icon="Search" />&ndash;&gt;-->
            <span class="search_title ml10">鍏ュ簱鏃ユ湡锛�</span>
            <el-date-picker
              v-model="searchForm.timeStr"
@@ -91,16 +87,13 @@
            <el-table-column align="center" type="selection" width="55" />
            <el-table-column align="center" label="搴忓彿" type="index" width="60" />
            <el-table-column label="鍏ュ簱鏃堕棿" prop="createTime" width="100" show-overflow-tooltip />
-           <!-- <el-table-column label="鍏ュ簱鎵规" prop="inboundBatches" width="160" show-overflow-tooltip /> -->
-<!--&lt;!&ndash;            <el-table-column label="渚涘簲鍟嗗悕绉�" prop="supplierName" width="240" show-overflow-tooltip />&ndash;&gt;-->
+<el-table-column label="渚涘簲鍟嗗悕绉�" prop="supplierName" width="240" show-overflow-tooltip />
            <el-table-column label="浜у搧澶х被" prop="productCategory" show-overflow-tooltip />
            <el-table-column label="瑙勬牸鍨嬪彿" prop="specificationModel" show-overflow-tooltip />
            <el-table-column label="鍗曚綅" prop="unit" width="70" show-overflow-tooltip />
-           <el-table-column label="鍏ュ簱鏁伴噺" prop="inboundNum" width="90" show-overflow-tooltip />
-<!--&lt;!&ndash;            <el-table-column label="鍚◣鍗曚环" prop="taxInclusiveUnitPrice" width="100" show-overflow-tooltip />&ndash;&gt;-->
-<!--&lt;!&ndash;            <el-table-column label="鍚◣鎬讳环" prop="taxInclusiveTotalPrice" width="100" show-overflow-tooltip />&ndash;&gt;-->
-<!--&lt;!&ndash;            <el-table-column label="绋庣巼(%)" prop="taxRate" width="80" show-overflow-tooltip />&ndash;&gt;-->
-<!--&lt;!&ndash;            <el-table-column label="涓嶅惈绋庢�讳环" prop="taxExclusiveTotalPrice" width="100" show-overflow-tooltip />&ndash;&gt;-->
+					 <el-table-column label="鍏ュ簱鏁伴噺" prop="inboundNum" width="100" show-overflow-tooltip />
+					 <el-table-column label="鍚◣鍗曚环(鍏�)" prop="taxInclusiveUnitPrice" width="150"></el-table-column>
+					 <el-table-column label="鍚◣鎬讳环(鍏�)" prop="taxInclusiveTotalPrice" width="150"></el-table-column>
            <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">
@@ -116,9 +109,6 @@
       <el-tab-pane label="鏉愭枡鍏ュ簱" name="manual">
         <div class="search_form">
           <div>
-<!--            <span class="search_title">渚涘簲鍟嗗悕绉帮細</span>-->
-<!--            <el-input v-model="searchForm.supplierName" style="width: 240px" placeholder="璇疯緭鍏�" @change="handleQuery"-->
-<!--              clearable prefix-icon="Search" />-->
             <span class="search_title ml10">鍏ュ簱鏃ユ湡锛�</span>
             <el-date-picker
               v-model="searchForm.timeStr"
@@ -151,17 +141,14 @@
             <el-table-column align="center" type="selection" width="55" />
             <el-table-column align="center" label="搴忓彿" type="index" width="60" />
             <el-table-column label="鍏ュ簱鏃堕棿" prop="inboundDate" width="100" show-overflow-tooltip />
-            <!-- <el-table-column label="鍏ュ簱鎵规" prop="inboundBatches" show-overflow-tooltip /> -->
-            <!-- <el-table-column label="渚涘簲鍟嗗悕绉�" prop="supplierName" width="240" show-overflow-tooltip /> -->
             <el-table-column label="浜у搧澶х被" prop="productCategory" show-overflow-tooltip />
             <el-table-column label="瑙勬牸鍨嬪彿" prop="specificationModel" show-overflow-tooltip />
             <el-table-column label="鍗曚綅" prop="unit" width="70" show-overflow-tooltip />
             <el-table-column label="鐗╁搧绫诲瀷" prop="itemType" show-overflow-tooltip />
-            <el-table-column label="鍏ュ簱鏁伴噺" prop="inboundNum" 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="inboundNum" width="100" show-overflow-tooltip />
+						<el-table-column label="鍓╀綑搴撳瓨" prop="inboundNum0" show-overflow-tooltip />
+						<el-table-column label="鍗曚环(鍏�)" prop="taxInclusiveUnitPrice" width="150"></el-table-column>
+						<el-table-column label="鎬讳环(鍏�)" prop="taxInclusiveTotalPrice" width="150"></el-table-column>
             <el-table-column label="鍏ュ簱浜�" prop="createBy" width="80" show-overflow-tooltip />
             <el-table-column fixed="right" label="鎿嶄綔" width="100" align="center">
               <template #default="scope">
@@ -177,6 +164,7 @@
 
     <form-dia ref="formDia" @close="handleQuery" @success="handleQuery"></form-dia>
     <form-dia-manual ref="formDiaManual" @close="handleQuery" @success="handleQuery"></form-dia-manual>
+    <form-dia-product ref="formDiaProduct" @close="handleQuery" @success="handleQuery"></form-dia-product>
   </div>
 </template>
 
@@ -189,19 +177,18 @@
 import {
 	getStockInPage,
 	getStockInPageByProduction,
-	getStockInPageByCustom,
 	delStockIn,
 	delStockInCustom, getInPageByCustom,
 } from "@/api/inventoryManagement/stockIn.js";
 import FormDia from './components/formDia.vue'
 import FormDiaManual from './components/formDiaManual.vue'
+import FormDiaProduct from './components/formDiaProduct.vue'
 
 // 鑾峰彇褰撳墠鏃ユ湡
 function getCurrentDate() {
   return dayjs().format('YYYY-MM-DD')
 }
 
-const userStore = useUserStore()
 const { proxy } = getCurrentInstance()
 
 const tableData = ref([])
@@ -209,6 +196,7 @@
 const tableLoading = ref(false)
 const formDia = ref()
 const formDiaManual = ref()
+const formDiaProduct = ref()
 const activeTab = ref('production') // 褰撳墠婵�娲荤殑 tab
 
 const page = reactive({
@@ -261,6 +249,26 @@
   apiCall.then(res => {
     tableLoading.value = false
     tableData.value = res.data.records
+    
+    // 鍓嶇璁$畻鎬讳环锛氭�讳环 = unitPrice * inboundNum
+    tableData.value = tableData.value.map(item => {
+      // 浣跨敤鍏ュ簱鏁伴噺璁$畻鎬讳环
+      const inboundNum = Number(item.inboundNum) || 0
+      const unitPrice = Number(item.unitPrice) || 0
+      const taxInclusiveUnitPrice = Number(item.taxInclusiveUnitPrice) || 0
+      
+      // 鏍规嵁鏍囩椤电被鍨嬭绠椾笉鍚岀殑鎬讳环
+      if (activeTab.value === 'production') {
+        // 鎴愬搧搴撳瓨锛氭�讳环 = unitPrice * 鍏ュ簱鏁伴噺
+        item.totalPrice = (unitPrice * inboundNum).toFixed(2)
+      } else {
+        // 鍘熸枡鍜屾潗鏂欏簱瀛橈細鍚◣鎬讳环 = taxInclusiveUnitPrice * 鍏ュ簱鏁伴噺
+        item.taxInclusiveTotalPrice = (taxInclusiveUnitPrice * inboundNum).toFixed(2)
+      }
+      
+      return item
+    })
+    
     total.value = res.data.total
   }).catch(() => {
     tableLoading.value = false
@@ -284,7 +292,9 @@
   await nextTick(() => {
     if (currentTab === 'manual') {
       formDiaManual.value?.openDialog(type, row)
-    } else {
+    } else if (currentTab === 'production') {
+			formDiaProduct.value?.openDialog(type, row)
+		}else {
       formDia.value?.openDialog(type, row)
     }
   })
@@ -328,14 +338,6 @@
     proxy.$modal.msgWarning('璇烽�夋嫨鏁版嵁')
     return
   }
-
-  // 妫�鏌ユ槸鍚︽湁浠栦汉缁存姢鐨勬暟鎹�
-  const unauthorizedData = selectedRows.value.filter(item => item.createBy !== userStore.nickName)
-  if (unauthorizedData.length > 0) {
-    proxy.$modal.msgWarning("涓嶅彲鍒犻櫎浠栦汉缁存姢鐨勬暟鎹�")
-    return
-  }
-
   const ids = selectedRows.value.map(item => item.id)
   
   ElMessageBox.confirm('閫変腑鐨勫唴瀹瑰皢琚垹闄わ紝鏄惁纭鍒犻櫎锛�', '鍒犻櫎', {
@@ -343,9 +345,24 @@
     cancelButtonText: '鍙栨秷',
     type: 'warning',
   }).then(() => {
-    // 鏍规嵁褰撳墠 tab 绫诲瀷閫夋嫨涓嶅悓鐨勫垹闄ゆ帴鍙�
-    const deleteApi = activeTab.value === 'manual' ? delStockInCustom : delStockIn
-    deleteApi({ ids }).then(() => {
+    // 鏍规嵁褰撳墠 tab 绫诲瀷閫夋嫨涓嶅悓鐨勫垹闄ゆ帴鍙e拰type鍙傛暟
+    let deleteApi, deleteParams
+    
+    if (activeTab.value === 'production') {
+      // 鎴愬搧鍒犻櫎锛宼ype浼�2
+      deleteApi = delStockIn
+      deleteParams = { ids, type: 2 }
+    } else if (activeTab.value === 'purchase') {
+      // 鍘熸枡鍒犻櫎锛宼ype浼�1
+      deleteApi = delStockIn
+      deleteParams = { ids, type: 1 }
+    } else {
+      // 鏉愭枡鍏ュ簱
+      deleteApi = delStockInCustom
+      deleteParams = { ids }
+    }
+    
+    deleteApi(deleteParams).then(() => {
       proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛")
       getList()
     }).catch(() => {
@@ -362,3 +379,6 @@
 </script>
 
 <style scoped lang="scss"></style>
+
+
+

--
Gitblit v1.9.3