From 5929167e8fb9577df9502ba091e7c8071e79b717 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期三, 17 十二月 2025 16:25:03 +0800
Subject: [PATCH] 1.海川开心-回款登记不要产品大类
---
src/views/inventoryManagement/receiptManagement/index.vue | 209 +++++++++++++++++++++++++++++++++++-----------------
1 files changed, 141 insertions(+), 68 deletions(-)
diff --git a/src/views/inventoryManagement/receiptManagement/index.vue b/src/views/inventoryManagement/receiptManagement/index.vue
index 3080da4..02d7a0b 100644
--- a/src/views/inventoryManagement/receiptManagement/index.vue
+++ b/src/views/inventoryManagement/receiptManagement/index.vue
@@ -1,7 +1,7 @@
<template>
<div class="app-container">
<el-tabs v-model="activeTab" @tab-change="handleTabChange">
- <el-tab-pane label="鐢熶骇鍏ュ簱" name="production">
+ <el-tab-pane label="鎴愬搧鍏ュ簱" name="production">
<div class="search_form">
<div>
<!-- <span class="search_title">瀹㈡埛鍚嶇О锛�</span>-->
@@ -17,89 +17,116 @@
clearable
@change="handleQuery"
/>
+ <span class="search_title ml10">浜у搧澶х被锛�</span>
+ <el-input
+ v-model="searchForm.productCategory"
+ style="width: 240px"
+ placeholder="璇疯緭鍏�"
+ clearable
+ />
<el-button type="primary" @click="handleQuery" style="margin-left: 10px">鎼滅储</el-button>
</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="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="inboundNum" width="100" show-overflow-tooltip />
+<!-- <el-table-column label="鍓╀綑搴撳瓨" prop="inboundNum0" 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 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="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('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" />
</div>
</el-tab-pane>
-<!-- <el-tab-pane label="閲囪喘鍏ュ簱" name="purchase">-->
-<!-- <div class="search_form">-->
-<!-- <div>-->
+ <el-tab-pane label="鍘熸枡鍏ュ簱" name="purchase">
+ <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"-->
-<!-- type="date"-->
-<!-- placeholder="璇烽�夋嫨鏃ユ湡"-->
-<!-- value-format="YYYY-MM-DD"-->
-<!-- format="YYYY-MM-DD"-->
-<!-- clearable-->
-<!-- @change="handleQuery"-->
-<!-- />-->
-<!-- <el-button type="primary" @click="handleQuery" style="margin-left: 10px">鎼滅储</el-button>-->
-<!-- </div>-->
-<!-- <div>-->
-<!-- <el-button type="primary" @click="openForm('add', 'purchase')">鏂板鍏ュ簱</el-button>-->
-<!-- <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" @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" 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" 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 />-->
+ <span class="search_title ml10">鍏ュ簱鏃ユ湡锛�</span>
+ <el-date-picker
+ v-model="searchForm.timeStr"
+ type="date"
+ placeholder="璇烽�夋嫨鏃ユ湡"
+ value-format="YYYY-MM-DD"
+ format="YYYY-MM-DD"
+ clearable
+ @change="handleQuery"
+ />
+ <span class="search_title ml10">浜у搧澶х被锛�</span>
+ <el-input
+ v-model="searchForm.productCategory"
+ style="width: 240px"
+ placeholder="璇疯緭鍏�"
+ clearable
+ />
+ <el-button type="primary" @click="handleQuery" style="margin-left: 10px">鎼滅储</el-button>
+ </div>
+ <div>
+ <el-button type="primary" @click="openForm('add', 'purchase')">鏂板鍏ュ簱</el-button>
+ <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" @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" 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" 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="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="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 fixed="right" label="鎿嶄綔" min-width="60" align="center">-->
-<!-- <template #default="scope">-->
-<!-- <el-button link type="primary" size="small" @click="openForm('edit', scope.row, 'purchase');">缂栬緫</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" />-->
-<!-- </div>-->
-<!-- </el-tab-pane>-->
+ <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('edit', scope.row, 'purchase');">缂栬緫</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" />
+ </div>
+ </el-tab-pane>
- <el-tab-pane label="鎴愬搧鍏ュ簱" name="manual">
+ <el-tab-pane label="鏉愭枡鍏ュ簱" name="manual">
<div class="search_form">
<div>
<!-- <span class="search_title">渚涘簲鍟嗗悕绉帮細</span>-->
@@ -114,6 +141,13 @@
format="YYYY-MM-DD"
clearable
@change="handleQuery"
+ />
+ <span class="search_title ml10">浜у搧澶х被锛�</span>
+ <el-input
+ v-model="searchForm.productCategory"
+ style="width: 240px"
+ placeholder="璇疯緭鍏�"
+ clearable
/>
<el-button type="primary" @click="handleQuery" style="margin-left: 10px">鎼滅储</el-button>
</div>
@@ -130,13 +164,16 @@
<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="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="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="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 />-->
@@ -156,6 +193,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>
@@ -168,19 +206,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([])
@@ -188,6 +225,7 @@
const tableLoading = ref(false)
const formDia = ref()
const formDiaManual = ref()
+const formDiaProduct = ref()
const activeTab = ref('production') // 褰撳墠婵�娲荤殑 tab
const page = reactive({
@@ -200,6 +238,7 @@
searchForm: {
supplierName: '',
customerName: '',
+ productCategory:'',
timeStr: getCurrentDate(),
},
})
@@ -227,6 +266,7 @@
params.supplierName = searchForm.value.supplierName
params.timeStr = searchForm.value.timeStr
}
+ params.productCategory = searchForm.value.productCategory
// 鏍规嵁涓嶅悓鐨� tab 绫诲瀷璋冪敤涓嶅悓鐨勬帴鍙�
const apiCall = activeTab.value === 'production'
@@ -238,6 +278,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
@@ -251,6 +311,7 @@
searchForm.value.supplierName = ''
searchForm.value.customerName = ''
searchForm.value.timeStr = ''
+ searchForm.value.productCategory = ''
getList()
}
@@ -260,7 +321,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)
}
})
@@ -304,14 +367,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('閫変腑鐨勫唴瀹瑰皢琚垹闄わ紝鏄惁纭鍒犻櫎锛�', '鍒犻櫎', {
@@ -319,9 +374,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(() => {
@@ -338,3 +408,6 @@
</script>
<style scoped lang="scss"></style>
+
+
+
--
Gitblit v1.9.3