From d2124efc2b19d309550fc7ff95a16858c54faca0 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期二, 08 七月 2025 17:48:33 +0800
Subject: [PATCH] yys 1.出库管理-分页查询 2.出库管理-导出 3.出库管理-领用 4.出库台账-分页查询 5.出库台账-导出 6.出库台账-删除 7.库存管理-分页查询 8.库存管理-导出 9.库存管理-删除
---
src/api/inventoryManagement/stockManage.js | 6 +-
src/api/inventoryManagement/stockOut.js | 8 +-
src/views/inventoryManagement/issueManagement/index.vue | 36 ++++++++---
src/views/inventoryManagement/stockManagement/index.vue | 77 +++++++++++++++----------
src/views/inventoryManagement/dispatchLog/index.vue | 16 ++--
5 files changed, 86 insertions(+), 57 deletions(-)
diff --git a/src/api/inventoryManagement/stockManage.js b/src/api/inventoryManagement/stockManage.js
index e309241..09a1150 100644
--- a/src/api/inventoryManagement/stockManage.js
+++ b/src/api/inventoryManagement/stockManage.js
@@ -3,7 +3,7 @@
// 鏌ヨ搴撳瓨淇℃伅鍒楄〃
export const getStockManagePage = (params) => {
return request({
- url: "/stockmanagement/page",
+ url: "/stockin/listPage",
method: "get",
params,
});
@@ -22,8 +22,8 @@
// 鍒犻櫎搴撳瓨淇℃伅
export function delStockManage(ids) {
return request({
- url: '/stockmanagement/del',
- method: 'delete',
+ url: '/stockin/del',
+ method: 'post',
data: ids
})
}
diff --git a/src/api/inventoryManagement/stockOut.js b/src/api/inventoryManagement/stockOut.js
index 51ad1a8..5d410d9 100644
--- a/src/api/inventoryManagement/stockOut.js
+++ b/src/api/inventoryManagement/stockOut.js
@@ -3,7 +3,7 @@
//鏌ヨ鍑哄簱鍒楄〃
export const getStockOutPage = (params) => {
return request({
- url: "/stockout/page",
+ url: "/stockmanagement/listPage",
method: "get",
params,
});
@@ -30,8 +30,8 @@
//鍒犻櫎鍑哄簱淇℃伅
export const delStockOut = (ids) => {
return request({
- url: '/stockout/del',
- method: 'delete',
+ url: '/stockmanagement/del',
+ method: 'post',
data: ids
})
}
@@ -39,7 +39,7 @@
//瀵煎嚭鍑哄簱淇℃伅
export const exportStockOut = (query) => {
return request({
- url: '/stockout/export',
+ url: '/stockmanagement/export',
method: 'get',
params: query,
responseType: 'blob'
diff --git a/src/views/inventoryManagement/dispatchLog/index.vue b/src/views/inventoryManagement/dispatchLog/index.vue
index 81eff0b..fe07789 100644
--- a/src/views/inventoryManagement/dispatchLog/index.vue
+++ b/src/views/inventoryManagement/dispatchLog/index.vue
@@ -38,7 +38,7 @@
<el-table-column align="center" label="搴忓彿" type="index" width="60" />
<el-table-column
label="鍑哄簱鏃ユ湡"
- prop="inboundTime"
+ prop="createDate"
width="100"
show-overflow-tooltip
/>
@@ -68,37 +68,37 @@
/>
<el-table-column
label="鍑哄簱鏁伴噺"
- prop="inboundQuantity"
+ prop="inboundNum"
width="100"
show-overflow-tooltip
/>
<el-table-column
label="鍚◣鍗曚环(鍏�)"
- prop="entryDate"
+ prop="taxInclusiveUnitPrice"
width="100"
show-overflow-tooltip
/>
<el-table-column
label="鍚◣鎬讳环(鍏�)"
- prop="executionDate"
+ prop="taxInclusiveTotalPrice"
width="100"
show-overflow-tooltip
/>
<el-table-column
label="绋庣巼(%)"
- prop="executionDate"
+ prop="taxRate"
width="100"
show-overflow-tooltip
/>
<el-table-column
label="涓嶅惈绋庢�讳环(鍏�)"
- prop="executionDate"
+ prop="taxExclusiveTotalPrice"
width="180"
show-overflow-tooltip
/>
<el-table-column
label="鍑哄簱浜�"
- prop="nickname"
+ prop="createBy"
width="80"
show-overflow-tooltip
/>
@@ -259,7 +259,7 @@
type: "warning",
})
.then(() => {
- delStockOut(ids).then((res) => {
+ delStockOut({ids:ids}).then((res) => {
proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛");
getList();
});
diff --git a/src/views/inventoryManagement/issueManagement/index.vue b/src/views/inventoryManagement/issueManagement/index.vue
index 7ed1f68..3fd7aae 100644
--- a/src/views/inventoryManagement/issueManagement/index.vue
+++ b/src/views/inventoryManagement/issueManagement/index.vue
@@ -19,18 +19,19 @@
: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="inboundTime" width="100" show-overflow-tooltip />
- <el-table-column label="鍏ュ簱鎵规" prop="inboundBatch" width="160" show-overflow-tooltip />
+ <el-table-column label="鍏ュ簱鏃堕棿" prop="createDate" width="100" show-overflow-tooltip />
+ <el-table-column label="鍏ュ簱鎵规" prop="inboundBatches" width="160" show-overflow-tooltip />
<el-table-column label="渚涘簲鍟嗗悕绉�" prop="supplierName" width="160" show-overflow-tooltip />
- <el-table-column label="浜у搧澶х被" prop="productName" width="100" show-overflow-tooltip />
- <el-table-column label="瑙勬牸鍨嬪彿" prop="model" width="160" show-overflow-tooltip />
+ <el-table-column label="浜у搧澶х被" prop="productCategory" width="100" show-overflow-tooltip />
+ <el-table-column label="瑙勬牸鍨嬪彿" prop="specificationModel" width="160" show-overflow-tooltip />
<el-table-column label="鍗曚綅" prop="unit" width="70" show-overflow-tooltip />
- <el-table-column label="鍏ュ簱鏁伴噺" prop="stockQuantity" width="90" show-overflow-tooltip />
+ <el-table-column label="鍏ュ簱鏁伴噺" prop="inboundNum" width="90" show-overflow-tooltip />
+ <el-table-column label="寰呭嚭搴撴暟閲�" prop="inboundNum0" 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="nickName" 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(scope.row);">棰嗙敤</el-button>
@@ -71,6 +72,9 @@
import { ElMessageBox } from "element-plus";
import useUserStore from '@/store/modules/user'
import { userListNoPage } from "@/api/system/user.js";
+import {
+ getStockInPage
+} from "@/api/inventoryManagement/stockIn.js";
import {
getStockManagePage,
delStockManage,
@@ -124,7 +128,7 @@
}
const getList = () => {
tableLoading.value = true
- getStockManagePage({ ...searchForm.value, ...page }).then(res => {
+ getStockInPage({ ...searchForm.value, ...page }).then(res => {
tableLoading.value = false
tableData.value = res.data.records
console.log('res', res.data.records)
@@ -161,10 +165,15 @@
};
const currentRowId = ref(null) // 鏂板锛氬瓨鍌ㄥ綋鍓嶆搷浣滅殑琛孖D
+const currentRowNum = ref(0)
+const salesLedgerProductId = ref(null);
+
// 鎵撳紑寮规
const openForm = async (row) => {
dialogFormVisible.value = true
currentRowId.value = row.id
+ currentRowNum.value = row.inboundNum0
+ salesLedgerProductId.value = row.salesLedgerProductId
form.value = {}
// 鍒濆鍖栬〃鍗曟暟鎹�
form.value = {
@@ -185,13 +194,18 @@
// 鎻愪氦琛ㄥ崟
const submitForm = () => {
+ let num = Number(form.value.inboundQuantity)
+ if(num < 1 || num > currentRowNum.value){
+ return proxy.$modal.msgWarning("璇峰~鍏ユ湁鏁堟暟瀛�")
+ }
proxy.$refs["formRef"].validate(valid => {
if (valid && currentRowId.value) {
const outData = {
id: currentRowId.value, // 鍘熷璁板綍ID
- Quantity: form.value.inboundQuantity, // 鍑哄簱鏁伴噺
- Time: form.value.inboundTime, // 鍑哄簱鏃堕棿
- userId: form.value.userId // 鎿嶄綔浜�
+ salesLedgerProductId: salesLedgerProductId.value,
+ quantity: form.value.inboundQuantity, // 鍑哄簱鏁伴噺
+ time: form.value.inboundTime, // 鍑哄簱鏃堕棿
+ userId: form.value.nickName // 鎿嶄綔浜�
}
console.log(outData)
@@ -221,7 +235,7 @@
type: 'warning',
}
).then(() => {
- proxy.download("/stockmanagement/export", {}, '鍏ュ簱鍙拌处.xlsx')
+ proxy.download("/stockin/export", {}, '鍏ュ簱鍙拌处.xlsx')
}).catch(() => {
proxy.$modal.msg("宸插彇娑�")
})
diff --git a/src/views/inventoryManagement/stockManagement/index.vue b/src/views/inventoryManagement/stockManagement/index.vue
index a9b2f88..b5526c5 100644
--- a/src/views/inventoryManagement/stockManagement/index.vue
+++ b/src/views/inventoryManagement/stockManagement/index.vue
@@ -19,18 +19,18 @@
: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="boundTime" width="100" show-overflow-tooltip />
- <el-table-column label="鍏ュ簱鏃ユ湡" prop="inboundTime" width="100" show-overflow-tooltip />
+ <el-table-column label="搴撳瓨鏃ユ湡" prop="createDate" width="100" show-overflow-tooltip />
+ <el-table-column label="鍏ュ簱鏃ユ湡" prop="createDate" width="100" show-overflow-tooltip />
<el-table-column label="渚涘簲鍟嗗悕绉�" prop="supplierName" width="160" show-overflow-tooltip />
- <el-table-column label="浜у搧澶х被" prop="productName" width="100" show-overflow-tooltip />
- <el-table-column label="瑙勬牸鍨嬪彿" prop="model" width="100" show-overflow-tooltip />
+ <el-table-column label="浜у搧澶х被" prop="productCategory" width="100" show-overflow-tooltip />
+ <el-table-column label="瑙勬牸鍨嬪彿" prop="specificationModel" width="100" show-overflow-tooltip />
<el-table-column label="鍗曚綅" prop="unit" width="80" show-overflow-tooltip />
- <el-table-column label="搴撳瓨鏁伴噺" prop="stockQuantity" width="100" show-overflow-tooltip />
+ <el-table-column label="搴撳瓨鏁伴噺" prop="inboundNum0" width="100" 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="100" show-overflow-tooltip />
<el-table-column label="涓嶅惈绋庢�讳环" prop="taxExclusiveTotalPrice" width="100" show-overflow-tooltip />
- <el-table-column label="鍏ュ簱浜�" prop="nickName" 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);">缂栬緫</el-button>
@@ -51,9 +51,9 @@
</el-col>
<el-col :span="12">
<el-form-item label="浜у搧澶х被锛�" prop="productId">
- <el-select v-model="form.productId" placeholder="璇烽�夋嫨" clearable filterable @change="handleProductChange">
+ <el-select v-model="form.productCategory" placeholder="璇烽�夋嫨" clearable filterable @change="handleProductChange">
<el-option v-for="item in productList" :key="item.id" :label="item.productName"
- :value="item.id" />
+ :value="item.productName" />
</el-select>
</el-form-item>
</el-col>
@@ -61,7 +61,7 @@
<el-row :gutter="30">
<el-col :span="12">
<el-form-item label="瑙勬牸鍨嬪彿锛�" prop="productManageId">
- <el-select v-model="form.productModelId" placeholder="璇峰厛閫夋嫨浜у搧澶х被" clearable filterable :disabled="!form.productId"
+ <el-select v-model="form.specificationModel" placeholder="璇峰厛閫夋嫨浜у搧澶х被" clearable filterable :disabled="!form.productCategory"
@change="handleModelChange">
<el-option v-for="item in productModelList" :key="item.id" :label="item.model"
:value="item.id" />
@@ -77,13 +77,13 @@
<el-row :gutter="30">
<el-col :span="12">
<el-form-item label="搴撳瓨鏃堕棿锛�" prop="projectName">
- <el-date-picker style="width: 100%" v-model="form.boundTime" value-format="YYYY-MM-DD" format="YYYY-MM-DD"
+ <el-date-picker style="width: 100%" v-model="form.createDate" value-format="YYYY-MM-DD" format="YYYY-MM-DD"
type="date" placeholder="璇烽�夋嫨" clearable />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="鍏ュ簱鏃堕棿锛�" prop="projectName">
- <el-date-picker style="width: 100%" v-model="form.inboundTime" value-format="YYYY-MM-DD" format="YYYY-MM-DD"
+ <el-date-picker style="width: 100%" v-model="form.createDate" value-format="YYYY-MM-DD" format="YYYY-MM-DD"
type="date" placeholder="璇烽�夋嫨" clearable />
</el-form-item>
</el-col>
@@ -118,7 +118,7 @@
<el-col :span="12">
<el-form-item label="鍑哄簱浜猴細" prop="entryPerson">
- <el-select v-model="form.nickName" placeholder="璇烽�夋嫨" clearable>
+ <el-select v-model="form.createBy" placeholder="璇烽�夋嫨" clearable>
<el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId" />
</el-select>
</el-form-item>
@@ -141,6 +141,7 @@
import { ElMessageBox } from "element-plus";
import useUserStore from '@/store/modules/user'
import { userListNoPage } from "@/api/system/user.js";
+import { productTreeList,modelList } from "@/api/basicData/product.js"
import {
getStockManagePage ,
updateStockManage,
@@ -153,6 +154,8 @@
const productData = ref([])
const selectedRows = ref([])
const userList = ref([])
+const productList = ref([])
+const productModelList = ref([])
// const customerOption = ref([])
const tableLoading = ref(false)
const page = reactive({
@@ -259,13 +262,25 @@
// console.log('userStore.id', userStore.id)
// form.value.entryPerson = userStore.id
if (type === 'edit') {
- currentId.value = row.id;
- getSalesLedgerWithProducts({ id: row.id, type: 1 }).then(res => {
- form.value = { ...res }
- form.value.entryPerson = Number(res.entryPerson)
- productData.value = form.value.productData
- fileList.value = form.value.salesLedgerFiles
+ form.value = { ...row }
+ productTreeList().then(res =>{
+ productList.value = res
+ productList.value.forEach(i =>{
+ if (i.label === row.productCategory) {
+ modelList({ id: i.id }).then((res) => {
+ productModelList.value = res;
+ });
+ }
+ })
})
+
+
+ // getSalesLedgerWithProducts({ id: row.id, type: 1 }).then(res => {
+
+ // form.value.entryPerson = Number(res.entryPerson)
+ // productData.value = form.value.productData
+ // fileList.value = form.value.salesLedgerFiles
+ // })
}
form.value.entryDate = getCurrentDate() // 璁剧疆榛樿褰曞叆鏃ユ湡涓哄綋鍓嶆棩鏈�
dialogFormVisible.value = true
@@ -275,18 +290,18 @@
const submitForm = () => {
proxy.$refs["formRef"].validate(valid => {
if (valid) {
- if (productData.value.length > 0) {
- form.value.productData = proxy.HaveJson(productData.value)
- } else {
- proxy.$modal.msgWarning('璇锋坊鍔犱骇鍝佷俊鎭�')
- return
- }
- let tempFileIds = []
- if (fileList.value.length > 0) {
- tempFileIds = fileList.value.map(item => item.tempId)
- }
- form.value.tempFileIds = tempFileIds
- form.value.type = 1
+ // if (productData.value.length > 0) {
+ // form.value.productData = proxy.HaveJson(productData.value)
+ // } else {
+ // proxy.$modal.msgWarning('璇锋坊鍔犱骇鍝佷俊鎭�')
+ // return
+ // }
+ // let tempFileIds = []
+ // if (fileList.value.length > 0) {
+ // tempFileIds = fileList.value.map(item => item.tempId)
+ // }
+ // form.value.tempFileIds = tempFileIds
+ // form.value.type = 1
addOrUpdateSalesLedger(form.value).then(res => {
proxy.$modal.msgSuccess("鎻愪氦鎴愬姛")
closeDia()
@@ -333,7 +348,7 @@
type: 'warning',
}
).then(() => {
- delStockManage(ids).then(res => {
+ delStockManage({ids:ids}).then(res => {
proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛")
getList()
})
--
Gitblit v1.9.3