From 570046df69aeffbffb3efe8ddecaf523ca492a46 Mon Sep 17 00:00:00 2001
From: zongzhibin <zongzhibin@weben-smart.com>
Date: 周二, 26 11月 2024 09:15:39 +0800
Subject: [PATCH] Merge branch 'master' of http://222.71.245.114:9086/r/LA24030-LuLI_PackageLine
---
LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/component/ContentView.vue | 88
LA24030_LuLiPackageLine_Web/src/views/main/WmsConfig/wmsConfigPrint/component/editDialog.vue | 187 ++
LA24030_LuLiPackageLine_Web/src/views/home/index.vue | 255 +-
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsBase/WmsBasePlace/WmsBasePlaceService.cs | 31
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/WmsStockQuanService.cs | 85
LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/kittingList/component/openAllprop.vue | 128
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsConfigPrint/Dto/WmsConfigPrintInput.cs | 29
LA24030_LuLiPackageLine_Web/src/api/main/WmsConfig/wmsConfigPrint.ts | 78
LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderPurchase.ts | 31
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsConfigPrint/WmsConfigPrintService.cs | 180 -
LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/component/备份index.vue | 399 ++++
LA24030_LuLiPackageLine_Web/src/theme/index.scss | 2
LA24030_LuLiPackageLine_Print/打印模板文件/包装条码模板_二维码.btw | 0
LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/component/CountView.vue | 44
LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderPurchaseDetails.ts | 4
LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/shortageList/index.vue | 70
LA24030_LuLiPackageLine_Web/src/views/main/wmsConfigPrint/wmsConfigPrint/index.vue | 280 +++
LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/manualFeed/component/editDialog.vue | 0
LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/index.vue | 605 ++++--
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsConfigPrint/Dto/WmsConfigPrintOutput.cs | 27
LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigPrint/index.vue | 35
LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsStockQuan.ts | 2
LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/storageView.ts | 4
LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/kittingList/index.vue | 491 +++++
LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/packList/index.vue | 490 +++++
LA24030_LuLiPackageLine_Web/src/views/main/wmsConfigPrint/wmsConfigPrint/component/editDialog.vue | 187 ++
LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigPrint/component/editDialog.vue | 17
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsBase/WmsBasePlace/Dto/WmsBasePlaceOutput.cs | 122 +
LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/shortageList/component/editDialog.vue | 0
/dev/null | 393 ----
LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/kittingList/component/editDialog.vue | 0
LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/packList/component/openAllprop.vue | 126
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Const/ApplicationConst.cs | 3
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/Dto/WmsStockQuanInput.cs | 85
LA24030_LuLiPackageLine_Web/src/api/main/wmsConfigPrint/wmsConfigPrint.ts | 78
LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/transitionChart/index.vue | 12
LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/manualFeed/index.vue | 287 +++
LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/packList/component/editDialog.vue | 0
LA24030_LuLiPackageLine_Print/打印模板文件/打印实例.jpg | 0
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/Dto/WmsStockQuanOutput.cs | 21
LA24030_LuLiPackageLine_Web/src/views/main/WmsConfig/wmsConfigPrint/index.vue | 280 +++
41 files changed, 3,938 insertions(+), 1,218 deletions(-)
diff --git "a/LA24030_LuLiPackageLine_Print/\346\211\223\345\215\260\346\250\241\346\235\277\346\226\207\344\273\266/\345\214\205\350\243\205\346\235\241\347\240\201\346\250\241\346\235\277_\344\272\214\347\273\264\347\240\201.btw" "b/LA24030_LuLiPackageLine_Print/\346\211\223\345\215\260\346\250\241\346\235\277\346\226\207\344\273\266/\345\214\205\350\243\205\346\235\241\347\240\201\346\250\241\346\235\277_\344\272\214\347\273\264\347\240\201.btw"
index e8023e8..a028fb9 100644
--- "a/LA24030_LuLiPackageLine_Print/\346\211\223\345\215\260\346\250\241\346\235\277\346\226\207\344\273\266/\345\214\205\350\243\205\346\235\241\347\240\201\346\250\241\346\235\277_\344\272\214\347\273\264\347\240\201.btw"
+++ "b/LA24030_LuLiPackageLine_Print/\346\211\223\345\215\260\346\250\241\346\235\277\346\226\207\344\273\266/\345\214\205\350\243\205\346\235\241\347\240\201\346\250\241\346\235\277_\344\272\214\347\273\264\347\240\201.btw"
Binary files differ
diff --git "a/LA24030_LuLiPackageLine_Print/\346\211\223\345\215\260\346\250\241\346\235\277\346\226\207\344\273\266/\346\211\223\345\215\260\345\256\236\344\276\213.jpg" "b/LA24030_LuLiPackageLine_Print/\346\211\223\345\215\260\346\250\241\346\235\277\346\226\207\344\273\266/\346\211\223\345\215\260\345\256\236\344\276\213.jpg"
new file mode 100644
index 0000000..a681485
--- /dev/null
+++ "b/LA24030_LuLiPackageLine_Print/\346\211\223\345\215\260\346\250\241\346\235\277\346\226\207\344\273\266/\346\211\223\345\215\260\345\256\236\344\276\213.jpg"
Binary files differ
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/storageView.ts b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/storageView.ts
index 5b410bd..db287cf 100644
--- a/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/storageView.ts
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/storageView.ts
@@ -1,6 +1,8 @@
import request from '/@/utils/request';
enum Api {
- STORAGE_VIEW='/api/wmsPlaceContainerInfo/list',
+ // STORAGE_VIEW='/api/wmsPlaceContainerInfo/list',
+ STORAGE_VIEW='/api/wmsBasePlace/listView',
+
}
// 澧炲姞鍒嗘嫞淇℃伅
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsStockQuan.ts b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsStockQuan.ts
index 61d73db..48c02ec 100644
--- a/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsStockQuan.ts
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsStockQuan.ts
@@ -3,7 +3,7 @@
AddWmsStockQuan = '/api/wmsStockQuan/add',
DeleteWmsStockQuan = '/api/wmsStockQuan/delete',
UpdateWmsStockQuan = '/api/wmsStockQuan/update',
- PageWmsStockQuan = '/api/wmsStockQuan/pageView',
+ PageWmsStockQuan = '/api/wmsStockQuan/page', //888
PageStockQuanForUse= '/api/wmsStockQuan/getStockQuanPageForUse',
ListWmsStockQuan = '/api/wmsStockQuan/list',
DetailWmsStockQuan = '/api/wmsStockQuan/detail',
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsConfig/wmsConfigPrint.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsConfig/wmsConfigPrint.ts
new file mode 100644
index 0000000..df66bd9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsConfig/wmsConfigPrint.ts
@@ -0,0 +1,78 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+ AddWmsConfigPrint = '/api/wmsConfigPrint/add',
+ DeleteWmsConfigPrint = '/api/wmsConfigPrint/delete',
+ UpdateWmsConfigPrint = '/api/wmsConfigPrint/update',
+ PageWmsConfigPrint = '/api/wmsConfigPrint/page',
+ ListWmsConfigPrint = '/api/wmsConfigPrint/list',
+ DetailWmsConfigPrint = '/api/wmsConfigPrint/detail',
+ ImportExcelWmsConfigPrint = '/api/wmsConfigPrint/importExcel',
+ DownloadExcelTemplateWmsConfigPrint = '/api/wmsConfigPrint/downloadExcelTemplate',
+}
+
+// 澧炲姞鎵撳嵃閰嶇疆琛�
+export const addWmsConfigPrint = (params?: any) =>
+ request({
+ url: Api.AddWmsConfigPrint,
+ method: 'post',
+ data: params
+ });
+
+// 鍒犻櫎鎵撳嵃閰嶇疆琛�
+export const deleteWmsConfigPrint = (params?: any) =>
+ request({
+ url: Api.DeleteWmsConfigPrint,
+ method: 'post',
+ data: params
+ });
+
+// 缂栬緫鎵撳嵃閰嶇疆琛�
+export const updateWmsConfigPrint = (params?: any) =>
+ request({
+ url: Api.UpdateWmsConfigPrint,
+ method: 'post',
+ data: params
+ });
+
+// 瀵煎叆鎵撳嵃閰嶇疆琛�
+export const importExcelWmsConfigPrint = (params?: any) =>
+ request({
+ url: Api.ImportExcelWmsConfigPrint,
+ method: 'post',
+ data: params
+ });
+
+// 涓嬭浇瀵煎叆鎵撳嵃閰嶇疆琛ㄦā鏉�
+export const downloadExcelTemplateWmsConfigPrint = (params?: any) =>
+ request({
+ url: Api.DownloadExcelTemplateWmsConfigPrint,
+ method: 'get',
+ data: params,
+ responseType: 'blob'
+ });
+
+
+// 鍒嗛〉鏌ヨ鎵撳嵃閰嶇疆琛�
+export const pageWmsConfigPrint = (params?: any) =>
+ request({
+ url: Api.PageWmsConfigPrint,
+ method: 'post',
+ data: params
+ });
+
+// 涓嶅垎椤垫煡璇㈡墦鍗伴厤缃〃
+export const listWmsConfigPrint = (params?: any) =>
+ request({
+ url: Api.ListWmsConfigPrint,
+ method: 'get',
+ data: params
+ });
+
+// 璇︽儏鎵撳嵃閰嶇疆琛�
+export const detailWmsConfigPrint = (id: any) =>
+ request({
+ url: Api.DetailWmsConfigPrint,
+ method: 'get',
+ data: { id }
+ });
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderPurchase.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderPurchase.ts
index bf891e8..f0dc8f0 100644
--- a/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderPurchase.ts
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderPurchase.ts
@@ -3,13 +3,22 @@
AddWmsOrderPurchase = '/api/wmsOrderPurchase/add',
DeleteWmsOrderPurchase = '/api/wmsOrderPurchase/delete',
UpdateWmsOrderPurchase = '/api/wmsOrderPurchase/update',
- PageWmsOrderPurchase = '/api/wmsOrderPurchase/page',
- ListWmsOrderPurchase = '/api/wmsOrderPurchase/list',
+ KittingList = '/api/WmsStockQuan/KittingList', ///api/wmsOrderPurchase/page
+ packList = '/api/WmsStockQuan/packList', ///api/wmsOrderPurchase/page
+
+ ListWmsOrderPurchase = '/api/wmsStockQuan/list',
DetailWmsOrderPurchase = '/api/wmsOrderPurchase/detail',
ImportExcelWmsOrderPurchase = '/api/wmsOrderPurchase/importExcel',
DownloadExcelTemplateWmsOrderPurchase = '/api/wmsOrderPurchase/downloadExcelTemplate',
DownloadExcelTemplateWmsOrderPurchaseAll = '/api/wmsOrderPurchase/pOOrderExcelOutting',
}
+// 鍒嗛〉鏌ヨPO鍗�
+export const pageWmsOrderPurchase = (params?: any) =>
+ request({
+ url: Api.ListWmsOrderPurchase,
+ method: 'get',
+ data: params,
+ });
// 澧炲姞PO鍗�
export const addWmsOrderPurchase = (params?: any) =>
@@ -35,14 +44,24 @@
data: params,
});
-// 鍒嗛〉鏌ヨPO鍗�
-export const pageWmsOrderPurchase = (params?: any) =>
+// 榻愬寘
+export const packList = (params?: any) =>
request({
- url: Api.PageWmsOrderPurchase,
- method: 'post',
+ url: Api.packList,
+ method: 'get',
data: params,
});
+ // 榻愬
+export const KittingList = (params?: any) =>
+ request({
+ url: Api.KittingList,
+ method: 'get',
+ data: params,
+ });
+
+
+
// 涓嶅垎椤垫煡璇O鍗�
export const listWmsOrderPurchase = (params?: any) =>
request({
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderPurchaseDetails.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderPurchaseDetails.ts
index ba07c74..ae2f48b 100644
--- a/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderPurchaseDetails.ts
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderPurchaseDetails.ts
@@ -3,7 +3,7 @@
AddWmsOrderPurchaseDetails = '/api/wmsOrderPurchaseDetails/add',
DeleteWmsOrderPurchaseDetails = '/api/wmsOrderPurchaseDetails/delete',
UpdateWmsOrderPurchaseDetails = '/api/wmsOrderPurchaseDetails/update',
- PageWmsOrderPurchaseDetails = '/api/wmsOrderPurchaseDetails/page',
+ PageWmsOrderPurchaseDetails = '/api/wmsStockQuan/page',
PageWmsOrderPurchaseDetailsForRelatedAsn = '/api/WmsOrderPurchaseDetails/PageForRelatedAsn',
ListWmsOrderPurchaseDetails = '/api/wmsOrderPurchaseDetails/list',
DetailWmsOrderPurchaseDetails = '/api/wmsOrderPurchaseDetails/detail',
@@ -33,7 +33,7 @@
data: params,
});
-// 鍒嗛〉鏌ヨPO鍗曟槑缁�
+// 88888888
export const pageWmsOrderPurchaseDetails = (params?: any) =>
request({
url: Api.PageWmsOrderPurchaseDetails,
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/wmsConfigPrint/wmsConfigPrint.ts b/LA24030_LuLiPackageLine_Web/src/api/main/wmsConfigPrint/wmsConfigPrint.ts
new file mode 100644
index 0000000..df66bd9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/wmsConfigPrint/wmsConfigPrint.ts
@@ -0,0 +1,78 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+ AddWmsConfigPrint = '/api/wmsConfigPrint/add',
+ DeleteWmsConfigPrint = '/api/wmsConfigPrint/delete',
+ UpdateWmsConfigPrint = '/api/wmsConfigPrint/update',
+ PageWmsConfigPrint = '/api/wmsConfigPrint/page',
+ ListWmsConfigPrint = '/api/wmsConfigPrint/list',
+ DetailWmsConfigPrint = '/api/wmsConfigPrint/detail',
+ ImportExcelWmsConfigPrint = '/api/wmsConfigPrint/importExcel',
+ DownloadExcelTemplateWmsConfigPrint = '/api/wmsConfigPrint/downloadExcelTemplate',
+}
+
+// 澧炲姞鎵撳嵃閰嶇疆琛�
+export const addWmsConfigPrint = (params?: any) =>
+ request({
+ url: Api.AddWmsConfigPrint,
+ method: 'post',
+ data: params
+ });
+
+// 鍒犻櫎鎵撳嵃閰嶇疆琛�
+export const deleteWmsConfigPrint = (params?: any) =>
+ request({
+ url: Api.DeleteWmsConfigPrint,
+ method: 'post',
+ data: params
+ });
+
+// 缂栬緫鎵撳嵃閰嶇疆琛�
+export const updateWmsConfigPrint = (params?: any) =>
+ request({
+ url: Api.UpdateWmsConfigPrint,
+ method: 'post',
+ data: params
+ });
+
+// 瀵煎叆鎵撳嵃閰嶇疆琛�
+export const importExcelWmsConfigPrint = (params?: any) =>
+ request({
+ url: Api.ImportExcelWmsConfigPrint,
+ method: 'post',
+ data: params
+ });
+
+// 涓嬭浇瀵煎叆鎵撳嵃閰嶇疆琛ㄦā鏉�
+export const downloadExcelTemplateWmsConfigPrint = (params?: any) =>
+ request({
+ url: Api.DownloadExcelTemplateWmsConfigPrint,
+ method: 'get',
+ data: params,
+ responseType: 'blob'
+ });
+
+
+// 鍒嗛〉鏌ヨ鎵撳嵃閰嶇疆琛�
+export const pageWmsConfigPrint = (params?: any) =>
+ request({
+ url: Api.PageWmsConfigPrint,
+ method: 'post',
+ data: params
+ });
+
+// 涓嶅垎椤垫煡璇㈡墦鍗伴厤缃〃
+export const listWmsConfigPrint = (params?: any) =>
+ request({
+ url: Api.ListWmsConfigPrint,
+ method: 'get',
+ data: params
+ });
+
+// 璇︽儏鎵撳嵃閰嶇疆琛�
+export const detailWmsConfigPrint = (id: any) =>
+ request({
+ url: Api.DetailWmsConfigPrint,
+ method: 'get',
+ data: { id }
+ });
+
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/index.scss b/LA24030_LuLiPackageLine_Web/src/theme/index.scss
index 2c4f178..020f5f7 100644
--- a/LA24030_LuLiPackageLine_Web/src/theme/index.scss
+++ b/LA24030_LuLiPackageLine_Web/src/theme/index.scss
@@ -3,7 +3,7 @@
@import 'common/transition.scss';
@import './other.scss';
@import './element.scss';
-@import './media/media.scss';
+// @import './media/media.scss';
@import './waves.scss';
@import './dark.scss';
@import './iconfont/font_2298093_rnp72ifj3ba.scss';
diff --git a/LA24030_LuLiPackageLine_Web/src/views/home/index.vue b/LA24030_LuLiPackageLine_Web/src/views/home/index.vue
index 20d3c5e..6ae4a8f 100644
--- a/LA24030_LuLiPackageLine_Web/src/views/home/index.vue
+++ b/LA24030_LuLiPackageLine_Web/src/views/home/index.vue
@@ -1,12 +1,12 @@
<template>
<div class="home-container layout-pd">
- <el-row :gutter="15" class="home-card-one mb15">
+ <el-row :gutter="15" class="home-card-one mb15">
<el-col :xs="24" :sm="8" :md="8" :lg="8" :xl="8" class="home-media home-media-lg">
<div class="home-card-item flex">
<div class="flex-margin flex w100" :class="` home-one-animation${1}`">
<div class="flex-auto">
<span class="ml5 font16">褰撴棩璁㈠崟鎬绘暟</span>
- <div class="font30">{{state.orderNum}}</div>
+ <div class="font30">{{ state.orderNum }}</div>
</div>
</div>
</div>
@@ -14,13 +14,13 @@
<el-col :xs="24" :sm="8" :md="8" :lg="8" :xl="8" v-for="(v, k) in state.homeOne" :key="k" :class="{ 'home-media home-media-lg': k > 1, 'home-media-sm': k === 1 }">
<div class="home-card-item flex">
<div class="flex-margin flex w100" :class="` home-one-animation${k}`">
- <div class="flex-auto">
+ <div class="flex-auto">
<div class="mt10">{{ v.num3 }}</div>
<span class="font30">{{ v.num2 }}</span>
- <div class="font16" :style="{ color: v.color1 }">宸插畬鎴恵{ v.num1 }}</div>
+ <div class="font16" :style="{ color: v.color1 }">宸插畬鎴恵{ v.num1 }}</div>
</div>
<div class="home-card-item-icon flex">
- <el-progress type="circle" width="80" :stroke-width="10" :percentage="v.numA" :color="v.color1"/>
+ <el-progress type="circle" width="80" :stroke-width="10" :percentage="v.numA" :color="v.color1" />
</div>
</div>
</div>
@@ -33,7 +33,6 @@
</div>
</el-col>
<el-col :xs="24" :sm="10" :md="10" :lg="8" :xl="8" class="home-media">
-
<div class="home-card-item">
<div class="home-card-item-title">蹇嵎瀵艰埅宸ュ叿</div>
<div class="home-monitor">
@@ -50,36 +49,34 @@
</div>
</div>
</div>
-
-
</el-col>
</el-row>
<el-row :gutter="15" class="home-card-three">
<el-col :xs="24" :sm="10" :md="10" :lg="8" :xl="8">
- <div class="home-card-item">
+ <div class="home-card-item">
<div style="height: 100%" ref="homePieRef"></div>
</div>
</el-col>
<el-col :xs="24" :sm="14" :md="14" :lg="16" :xl="16" class="home-media">
- <div class="home-card-item" >
- <el-tabs v-model="activeName" @tab-click="handleClick" :lazy="true">
+ <div class="home-card-item">
+ <el-tabs v-model="activeName" @tab-click="handleClick" :lazy="true">
<el-tab-pane label="鏃�" name="1">
- <div class="home-card-item" >
- <div style="height: 100%" ref="homeBarRef" id="homeBarRef" v-if="activeName=='1'"></div>
+ <div class="home-card-item">
+ <div style="height: 100%" ref="homeBarRef" id="homeBarRef" v-if="activeName == '1'"></div>
</div>
</el-tab-pane>
<el-tab-pane label="鍛�" name="2">
- <div class="home-card-item" >
- <div style="height: 100%" ref="homeBarRef" id="homeBarRef" v-if="activeName=='2'"></div>
+ <div class="home-card-item">
+ <div style="height: 100%" ref="homeBarRef" id="homeBarRef" v-if="activeName == '2'"></div>
</div>
</el-tab-pane>
<el-tab-pane label="鏈�" name="3">
- <div class="home-card-item" >
- <div style="height: 100%" ref="homeBarRef" id="homeBarRef" v-if="activeName=='3'"></div>
+ <div class="home-card-item">
+ <div style="height: 100%" ref="homeBarRef" id="homeBarRef" v-if="activeName == '3'"></div>
</div>
</el-tab-pane>
</el-tabs>
- </div>
+ </div>
</el-col>
</el-row>
</div>
@@ -91,105 +88,105 @@
import { storeToRefs } from 'pinia';
import { useThemeConfig } from '/@/stores/themeConfig';
import { useTagsViewRoutes } from '/@/stores/tagsViewRoutes';
-import { wmsStockPassMap,wmsHomePageQuery,wmsHomePlaceQuery,wmsTransitionDiagramQuery } from '/@/api/main/inventoryWarning/inventoryWarning';
-import type { TabsPaneContext } from 'element-plus'
+import { wmsStockPassMap, wmsHomePageQuery, wmsHomePlaceQuery, wmsTransitionDiagramQuery } from '/@/api/main/inventoryWarning/inventoryWarning';
+import type { TabsPaneContext } from 'element-plus';
import { useRoute, useRouter } from 'vue-router';
const router = useRouter();
// 鎺ュ彛鏁版嵁
const loadingwms = ref(false);
// 鏌ヨ
const handleQuery1 = async () => {
- loadingwms.value = true;
- var res = await wmsHomePageQuery();
- if(res.data.type=="success"){
- let result = res.data.result || [];
- state.orderNum = result.allOrderNumber || 0
- state.homeOne[0].num1 = result.outtingPlaceNumber || 0
- state.homeOne[0].num2 = result.allOuttingNumber || 0
- state.homeOne[0].numA = Math.round((result.outtingPlaceNumber || 0) / (result.allOuttingNumber || 0) * 10000) / 100 || 0
- state.homeOne[1].num1 = result.warehousingNumber || 0
- state.homeOne[1].num2 = result.allWarehousingNumber || 0
- state.homeOne[1].numA = Math.round((result.warehousingNumber || 0) / (result.allWarehousingNumber || 0)* 10000) / 100 || 0
-
- }
- loadingwms.value = false;
+ loadingwms.value = true;
+ // var res = await wmsHomePageQuery();
+ // if(res.data.type=="success"){
+ // let result = res.data.result || [];
+ // state.orderNum = result.allOrderNumber || 0
+ // state.homeOne[0].num1 = result.outtingPlaceNumber || 0
+ // state.homeOne[0].num2 = result.allOuttingNumber || 0
+ // state.homeOne[0].numA = Math.round((result.outtingPlaceNumber || 0) / (result.allOuttingNumber || 0) * 10000) / 100 || 0
+ // state.homeOne[1].num1 = result.warehousingNumber || 0
+ // state.homeOne[1].num2 = result.allWarehousingNumber || 0
+ // state.homeOne[1].numA = Math.round((result.warehousingNumber || 0) / (result.allWarehousingNumber || 0)* 10000) / 100 || 0
+
+ // }
+ loadingwms.value = false;
};
const handleQuery2 = async () => {
-loadingwms.value = true;
-var res = await wmsHomePlaceQuery();
-if(res.data.type=="success"){
- let result = res.data.result || {};
- nextTick(() => {
- setTimeout(() => {
- initPieChart(result);
- }, 500);
- });
-}
-loadingwms.value = false;
+ loadingwms.value = true;
+ // var res = await wmsHomePlaceQuery();
+ // if (res.data.type == 'success') {
+ // let result = res.data.result || {};
+ // nextTick(() => {
+ // setTimeout(() => {
+ // initPieChart(result);
+ // }, 500);
+ // });
+ // }
+ loadingwms.value = false;
};
const dataAll = ref({
- arr1:[],
- arr2:[],
- arr3:[],
- arr4:[],
- arr5:[]
-})
-const handleQuery3 = async (val:any) => {
+ arr1: [],
+ arr2: [],
+ arr3: [],
+ arr4: [],
+ arr5: [],
+});
+const handleQuery3 = async (val: any) => {
dataAll.value.arr1 = [];
dataAll.value.arr2 = [];
dataAll.value.arr3 = [];
dataAll.value.arr4 = [];
dataAll.value.arr5 = [];
loadingwms.value = true;
- let para = {DayOrWeekOrMonth:Number(val)}
+ let para = { DayOrWeekOrMonth: Number(val) };
var res = await wmsStockPassMap(para);
- if(res.data.type=="success"){
+ if (res.data.type == 'success') {
let result = res.data.result || [];
- result.forEach((item:any,index:number) => {
- dataAll.value.arr1.push({value:item.inWare,stationName:'s'+item.time})
- dataAll.value.arr2.push({value:item.outWare,stationName:'s'+item.time})
- dataAll.value.arr3.push({value:item.stockNum,stationName:'s'+item.time})
- dataAll.value.arr4.push({value:item.aveStockNum,stationName:'s'+item.time})
- dataAll.value.arr5.push(item.date)
- })
+ result.forEach((item: any, index: number) => {
+ dataAll.value.arr1.push({ value: item.inWare, stationName: 's' + item.time });
+ dataAll.value.arr2.push({ value: item.outWare, stationName: 's' + item.time });
+ dataAll.value.arr3.push({ value: item.stockNum, stationName: 's' + item.time });
+ dataAll.value.arr4.push({ value: item.aveStockNum, stationName: 's' + item.time });
+ dataAll.value.arr5.push(item.date);
+ });
nextTick(() => {
setTimeout(() => {
if (!state.global.dispose.some((b: any) => b === state.global.homeCharThree)) state.global.homeCharThree.dispose();
- initChart()
+ initChart();
}, 500);
});
}
loadingwms.value = false;
};
const handleQuery4 = async () => {
-loadingwms.value = true;
-var res = await wmsTransitionDiagramQuery();
-if(res.data.type=="success"){
- let arr1: any[] = [];
- let arr2: any = [];
- let arrA: any = [];
- let result = res.data.result || [];
- result.forEach((item:any,index:number) => {
- arr1.push(item.receiptNumber)
- arr2.push(item.deliveryNumber)
- arrA.push(item.day.slice(0, 10))
- })
- nextTick(() => {
- setTimeout(() => {
- initLineChart(arr1,arr2,arrA);
- }, 500);
- });
-}
-loadingwms.value = false;
-};
-handleQuery1();
-handleQuery2();
-handleQuery3('1');
-handleQuery4();
-const activeName = ref('1')
+ loadingwms.value = true;
+ var res = await wmsTransitionDiagramQuery();
+ if (res.data.type == 'success') {
+ let arr1: any[] = [];
+ let arr2: any = [];
+ let arrA: any = [];
+ let result = res.data.result || [];
+ result.forEach((item: any, index: number) => {
+ arr1.push(item.receiptNumber);
+ arr2.push(item.deliveryNumber);
+ arrA.push(item.day.slice(0, 10));
+ });
+ nextTick(() => {
+ setTimeout(() => {
+ initLineChart(arr1, arr2, arrA);
+ }, 500);
+ });
+ }
+ loadingwms.value = false;
+};
+// handleQuery1();
+// handleQuery2();
+// handleQuery3('1');
+// handleQuery4();
+const activeName = ref('1');
const handleClick = (tab: TabsPaneContext, event: Event) => {
- handleQuery3(tab.props.name);
-}
+ handleQuery3(tab.props.name);
+};
// 瀹氫箟鍙橀噺鍐呭
const homeLineRef = ref();
@@ -200,7 +197,7 @@
const { themeConfig } = storeToRefs(storesThemeConfig);
const { isTagsViewCurrenFull } = storeToRefs(storesTagsViewRoutes);
const state = reactive({
- orderNum:{},
+ orderNum: {},
global: {
homeChartOne: null,
homeChartTwo: null,
@@ -211,7 +208,7 @@
{
num1: '0',
num2: '0',
- numA:0,
+ numA: 0,
num3: '鍑哄簱鍗曟暟',
num4: 'fa fa-meetup',
color1: '#FF6462',
@@ -222,7 +219,7 @@
{
num1: '0',
num2: '0',
- numA:0,
+ numA: 0,
num3: '鍏ュ簱鍗曟暟',
num4: 'iconfont icon-ditu',
color1: '#6690F9',
@@ -254,7 +251,7 @@
// label: '娴呯矇绾�',
label: '鍩虹鏁版嵁',
value: '搴撲綅淇℃伅',
- route:'/wmsbase/wmsplace',
+ route: '/wmsbase/wmsplace',
// value: '2.1%OBS/M',
iconColor: '#F72B3F',
},
@@ -263,7 +260,7 @@
// label: '娣辩孩(鐚╃孩)',
label: '鍗曟嵁绠$悊',
value: '涓婃灦鍗�',
- route:'/wmsOrder/wmsordermovement',
+ route: '/wmsOrder/wmsordermovement',
// value: '30鈩�',
iconColor: '#91BFF8',
},
@@ -273,7 +270,7 @@
// label: '娣$传绾�',
// value: '57%RH',
value: '搴撲綅瑙嗗浘',
- route:'/reportCenter/storageView',
+ route: '/reportCenter/storageView',
iconColor: '#88D565',
},
{
@@ -282,7 +279,7 @@
label: '鐩樼偣绠$悊',
value: '鐩樼偣鍗曟嵁',
// value: '107w',
- route:'/Check/wmsinventorycheckorder',
+ route: '/Check/wmsinventorycheckorder',
iconColor: '#88D565',
},
{
@@ -291,7 +288,7 @@
// label: '涓传缃楀叞绾�',
value: '璺熻釜鐮佹墦鍗�',
// value: '57DB',
- route:'/printCenter/wmsstockquanPrint',
+ route: '/printCenter/wmsstockquanPrint',
iconColor: '#FBD4A0',
},
// {
@@ -328,7 +325,7 @@
});
// 鎶樼嚎鍥�
-const initLineChart = (arr1:any,arr2:any,arrA:any) => {
+const initLineChart = (arr1: any, arr2: any, arrA: any) => {
if (!state.global.dispose.some((b: any) => b === state.global.homeChartOne)) state.global.homeChartOne.dispose();
state.global.homeChartOne = markRaw(echarts.init(homeLineRef.value, state.charts.theme));
const option = {
@@ -410,21 +407,21 @@
state.myCharts.push(state.global.homeChartOne);
};
// 楗煎浘
-const initPieChart = (arr:any) => {
- if(arr==null) return false;
+const initPieChart = (arr: any) => {
+ if (arr == null) return false;
if (!state.global.dispose.some((b: any) => b === state.global.homeChartTwo)) state.global.homeChartTwo.dispose();
state.global.homeChartTwo = markRaw(echarts.init(homePieRef.value, state.charts.theme));
- var getname = ['绌哄簱浣嶆暟閲�', '绌哄鍣ㄥ簱浣嶆暟閲�', '瀛樿揣鏁伴噺','鎬诲簱浣嶏細1000'];
- var getvalue = [arr.emptyPlaceNumber,arr.containerPlaceNumber, arr.stockPlaceNumber];
+ var getname = ['绌哄簱浣嶆暟閲�', '绌哄鍣ㄥ簱浣嶆暟閲�', '瀛樿揣鏁伴噺', '鎬诲簱浣嶏細1000'];
+ var getvalue = [arr.emptyPlaceNumber, arr.containerPlaceNumber, arr.stockPlaceNumber];
var data = [];
- for (var i = 0; i < getname.length-1; i++) {
+ for (var i = 0; i < getname.length - 1; i++) {
data.push({ name: getname[i], value: getvalue[i] });
}
const colorList = ['#51A3FC', '#36C78B', '#FEC279', '#968AF5', '#E790E8'];
const option = {
backgroundColor: state.charts.bgColor,
title: {
- text: '搴撲綅鍗犳瘮 鎬诲簱浣嶏細'+arr.allPlaceNumber,
+ text: '搴撲綅鍗犳瘮 鎬诲簱浣嶏細' + arr.allPlaceNumber,
x: 'left',
textStyle: { fontSize: '15', color: state.charts.color },
},
@@ -506,7 +503,7 @@
},
tooltip: { trigger: 'axis' },
//legend: { data: ['鍏ュ簱','鍑哄簱', '搴撳瓨', '骞冲潎'], right: 0 },
- legend: { data: ['涓婃灦','涓嬫灦'], right: 0 },
+ legend: { data: ['涓婃灦', '涓嬫灦'], right: 0 },
grid: { top: 50, right: 80, bottom: 100, left: 60 },
// grid: { top: 70, right: 80, bottom: 30, left: 80 },
xAxis: [
@@ -514,7 +511,7 @@
type: 'category',
// data: ['1鏈�', '2鏈�', '3鏈�', '4鏈�', '5鏈�', '6鏈�', '7鏈�', '8鏈�', '9鏈�', '10鏈�', '11鏈�', '12鏈�'],
// data:dataAll.value.arr5,
- data:[],
+ data: [],
boundaryGap: true,
axisTick: { show: false },
},
@@ -568,7 +565,7 @@
// { value: 2, stationName: 's6' },
// ],
// data:dataAll.value.arr1
- data:[],
+ data: [],
},
{
name: '涓嬫灦',
@@ -595,7 +592,7 @@
color: '#3bbc86',
},
// data:dataAll.value.arr2
- data:[],
+ data: [],
},
// {
// name: '骞冲潎',
@@ -637,22 +634,22 @@
};
const initChart = () => {
if (!state.global.dispose.some((b: any) => b === state.global.homeCharThree)) state.global.homeCharThree.dispose();
- const chart = document.getElementById("homeBarRef")
- if (chart!=null) chart.removeAttribute('_echarts_instance_')//瑙e喅鍒囨崲椤甸潰echarts涓嶆樉绀虹殑闂
+ const chart = document.getElementById('homeBarRef');
+ if (chart != null) chart.removeAttribute('_echarts_instance_'); //瑙e喅鍒囨崲椤甸潰echarts涓嶆樉绀虹殑闂
state.global.homeCharThree = markRaw(echarts.init(chart, state.charts.theme));
//鎵嬪姩璧嬪��
- option.xAxis[0].data = dataAll.value.arr5
- option.series[0].data = dataAll.value.arr1
- option.series[1].data = dataAll.value.arr2
+ option.xAxis[0].data = dataAll.value.arr5;
+ option.series[0].data = dataAll.value.arr1;
+ option.series[1].data = dataAll.value.arr2;
// option.series[2].data = dataAll.value.arr3
// option.series[3].data = dataAll.value.arr4
// 缁樺埗鍥捐〃
state.global.homeCharThree.setOption(option);
- state.myCharts.push(state.global.homeCharThree);
-}
+ state.myCharts.push(state.global.homeCharThree);
+};
// 鎵归噺璁剧疆 echarts resize
-const routerJupm = (v:any) => {
+const routerJupm = (v: any) => {
router.push(v.route);
};
@@ -675,21 +672,21 @@
let timeInter: any = null;
// 椤甸潰鍔犺浇鏃�
onMounted(() => {
- initEchartsResize();
+ // initEchartsResize();
- timeInter = setInterval(() => {
- nextTick(() => {
- handleQuery1();
- handleQuery2();
- handleQuery3('1');
- handleQuery4();
- });
- }, 15000); //璋冪敤棰戠巼鏀逛负 15绉掍竴娆℃煡璇€��
+ // timeInter = setInterval(() => {
+ // nextTick(() => {
+ // handleQuery1();
+ // handleQuery2();
+ // handleQuery3('1');
+ // handleQuery4();
+ // });
+ // }, 15000); //璋冪敤棰戠巼鏀逛负 15绉掍竴娆℃煡璇€��
});
onUnmounted(() => {
- clearInterval(timeInter); //閿�姣�
- timeInter = null;
+ clearInterval(timeInter); //閿�姣�
+ timeInter = null;
});
// 鐢变簬椤甸潰缂撳瓨鍘熷洜锛宬eep-alive
@@ -727,8 +724,6 @@
immediate: true,
}
);
-
-
</script>
<style scoped lang="scss">
@@ -832,4 +827,4 @@
color: var(--el-text-color-primary);
border: 1px solid var(--next-border-color-light);
}
-</style>
\ No newline at end of file
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/component/ContentView.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/component/ContentView.vue
index b24b17b..ad7d5ba 100644
--- a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/component/ContentView.vue
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/component/ContentView.vue
@@ -1,61 +1,63 @@
<template>
<div>
- <div v-for="(itemW,indexW) in storageList" :key="indexW">
- <p> 宸烽亾锛歿{itemW.laneCode}}</p>
- <div v-for="(itemIN,indexIN) in itemW.rows" :key="indexIN" >
- <div class="content-view" >
- <!-- 姣忎釜搴撲綅鏂瑰潡 鏌ヨ搴撲綅鍏ㄩ儴搴撳瓨 -->
- <div class="mask100" v-for="(itemSmall,itemSmallIndex) in itemIN.rowLocations2" :key="itemSmallIndex">
-
- <content-item v-for="item in itemSmall" :key="item.wareLocationCode" :itemData="item"
- :index="item.wareLocationCode" @show="show(item,item.wareLocationCode)"
-
- @click="openDialog(item.wareLocationCode)"
- :class="'laneCodeBox_' + (item.showInventoryType)">
- </content-item>
+ <!-- 搴撲綅鍒楄〃 -->
- </div>
-
+ <div v-for="(itemW, indexW) in storageList" :key="indexW">
+ <p>宸烽亾锛歿{ itemW.laneCode }}</p>
+ <div v-for="(itemIN, indexIN) in itemW.rows" :key="indexIN">
+ <div class="content-view">
+ <!-- 姣忎釜搴撲綅鏂瑰潡 鏌ヨ搴撲綅鍏ㄩ儴搴撳瓨 -->
+ <div class="mask100" v-for="(itemSmall, itemSmallIndex) in itemIN.rowLocations2" :key="itemSmallIndex">
+ <content-item
+ v-for="item in itemSmall"
+ :key="item.wareLocationCode"
+ :itemData="item"
+ :index="item.wareLocationCode"
+ @show="show(item, item.wareLocationCode)"
+ @click="openDialog(item.wareLocationCode)"
+ :class="'laneCodeBox_' + item.showInventoryType"
+ >
+ </content-item>
</div>
- <div v-if="itemW.rows.length>1" class="stripe stripeM"></div>
+ </div>
+ <div v-if="itemW.rows.length > 1" class="stripe stripeM"></div>
</div>
</div>
<!-- 搴撲綅鎮诞灞� -->
<teleport :to="'#item' + count" v-if="itemVisible">
<div class="item-detail" v-if="!detailData.isDeleted">
- <p > {{ setKwStauts(detailData.inventoryType) }} </p>
+ <p>{{ setKwStauts(detailData.inventoryType) }}</p>
{{ containerCodeSHsow }}
</div>
</teleport>
<!-- 璇︽儏寮规 -->
<prop-detail ref="propDetailRef"></prop-detail>
-
</div>
</template>
<script lang="ts" setup>
import { ElMessage } from 'element-plus';
-import { ref, defineProps, computed, getCurrentInstance } from 'vue'
-import ContentItem from './ContentItem.vue'
+import { ref, defineProps, computed, getCurrentInstance } from 'vue';
+import ContentItem from './ContentItem.vue';
import PropDetail from './propDetail.vue';
-const { proxy} :any = getCurrentInstance();// 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
//props
const props = defineProps({
contentData: {
type: Array,
required: true,
- default: []
- }
-})
-const containerCodeSHsow = ref('')
+ default: [],
+ },
+});
+const containerCodeSHsow = ref('');
//搴撲綅鍒楄〃
const storageList: Record<any, any> = computed(() => props.contentData);
//姣忎釜搴撲綅璇︽儏鐨勬樉绀�
const itemVisible = ref(false);
//璇︽儏鏁版嵁
-const detailData = ref({} as Record<string, any>)
+const detailData = ref({} as Record<string, any>);
//褰撳墠閫変腑鐨勫簱浣�
-const count = ref(String)
+const count = ref(String);
//鏄剧ず 闅愯棌璇︽儏
const show = (item: any, index: any) => {
// console.log('item:'+JSON.stringify(item) )
@@ -64,18 +66,18 @@
itemVisible.value = true;
count.value = index;
detailData.value = item;
- containerCodeSHsow.value = item.wareContainerCode;
+ containerCodeSHsow.value = item.wareContainerCode;
} else {
itemVisible.value = false;
count.value = index;
detailData.value = {};
- containerCodeSHsow.value = "";
+ containerCodeSHsow.value = '';
}
-}
+};
// 鏄剧ず搴撲綅鐘舵��
const setKwStauts = (type: number): string => {
- let status = ''
+ let status = '';
switch (type) {
case 0:
status = '绌哄簱浣�';
@@ -87,13 +89,14 @@
status = '鏈夎揣搴撲綅锛堢墿鏂欙級';
}
return status;
-}
+};
//鎵撳紑绐楀彛
-const openDialog = (type: string) => { //鎵樼洏鍙�
+const openDialog = (type: string) => {
+ //鎵樼洏鍙�
if (!type || type == null) {
- ElMessage.warning("涓嶅瓨鍦ㄦ墭鐩樺彿锛�");
- return
+ ElMessage.warning('涓嶅瓨鍦ㄦ墭鐩樺彿锛�');
+ return;
}
proxy.$refs['propDetailRef'].openDialog(type);
};
@@ -135,7 +138,6 @@
margin: 5px;
}
}
-
}
.stripe {
@@ -150,21 +152,20 @@
/*鏂戦┈鏉$汗*/
.stripeM {
- background: linear-gradient(#dbd4b4 50%, #f5be6a 50%, );
+ background: linear-gradient(#dbd4b4 50%, #f5be6a 50%);
background-size: 100% 40px;
}
-.laneCodeBox_0{
+.laneCodeBox_0 {
visibility: hidden;
}
-.laneCodeBox_1{
+.laneCodeBox_1 {
visibility: visible;
}
-
-.mask100{
+.mask100 {
height: 100%;
display: flex;
- flex-direction: column-reverse;
+ flex-direction: column-reverse;
}
// #item3-4-3-3,#item3-4-1-3,#item3-4-2-3,#item3-4-4-3{
// margin-bottom: 104px;
@@ -173,5 +174,4 @@
// margin-bottom: 149px;
// }
-
-</style>
\ No newline at end of file
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/component/CountView.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/component/CountView.vue
index 401857a..2a06347 100644
--- a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/component/CountView.vue
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/component/CountView.vue
@@ -1,45 +1,45 @@
<template>
<div class="count">
- <div class="count_item" v-for="(item,index) in countList" :key="index">
- <div class="square" :style="{background: setBgColor(item.type)}"></div>
- <span>{{item.title}}</span>
- <span class="count_num">{{item.count}}</span>
+ <div class="count_item" v-for="(item, index) in countList" :key="index">
+ <div class="square" :style="{ background: setBgColor(item.type) }"></div>
+ <span>{{ item.title }}</span>
+ <span class="count_num">{{ item.count }}</span>
</div>
</div>
</template>
<script lang="ts" setup>
-import { defineProps, computed } from 'vue'
+import { defineProps, computed } from 'vue';
const props = defineProps({
countData: {
type: Array,
- required: true
- }
-})
-const countList: Record<any, any> = computed(() => props.countData)
-//璁剧疆鑳屾櫙
+ required: true,
+ },
+});
+const countList: Record<any, any> = computed(() => props.countData);
+//璁剧疆鑳屾櫙 姝e父 = 1, 灏佸瓨 = 2, 绂佸嚭 = 3, 绂佸叆 = 4, 閿佸畾 = 5
const setBgColor = (type: number): string => {
- let color = ''
+ let color = '';
switch (type) {
- case 0:
- color = '#A2A2A2';
- break;
case 1:
- color = '#F18201';
+ color = '#F18201'; //姗樿壊 姝e父
break;
case 2:
- color = '#2BA6FF';
+ color = '#2BA6FF'; //钃濊壊 灏佸瓨
break;
case 3:
- color = '#FFFF00';
-
+ color = '#FFFF00'; //榛勮壊 绂佸嚭
break;
+
case 4:
- color = '#FF0000';
+ color = '#A2A2A2'; //鐏拌壊 绂佸叆
+ break;
+
+ case 5:
+ color = '#FF0000'; //绾㈣壊 閿佸畾
break;
}
return color;
-}
-
+};
</script>
<style lang="less" scoped>
.count {
@@ -70,4 +70,4 @@
}
}
}
-</style>
\ No newline at end of file
+</style>
diff --git "a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/component/\345\244\207\344\273\275index.vue" "b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/component/\345\244\207\344\273\275index.vue"
new file mode 100644
index 0000000..9bd7970
--- /dev/null
+++ "b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/component/\345\244\207\344\273\275index.vue"
@@ -0,0 +1,399 @@
+<template>
+ <div>
+ <el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+ <el-form :model="formModel" ref="queryForm" labelWidth="90">
+ <el-row>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+ <el-form-item label="鍏抽敭瀛�">
+ <el-input v-model="formModel.searchKey" clearable=""
+ placeholder="搴撲綅缂栧彿,瀹瑰櫒缂栧彿" />
+ </el-form-item>
+ </el-col>
+
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+ <el-form-item label="鎵�鍦ㄥ簱鍖�" prop="areaCode">
+ <el-select v-model="formModel.areaCode" placeholder="璇烽�夋嫨鎵�鍦ㄥ簱鍖�">
+ <el-option v-for="(item,index) in arr1" :key="index" :value="item.code" :label="`[${item.code}] ${item.value}`"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+ <el-form-item label="搴撲綅缂栧彿:">
+ <el-input v-model.trim="formModel.WareLocationCode" placeholder="璇疯緭鍏ュ簱浣嶇紪鍙�" clearable></el-input>
+ </el-form-item>
+ </el-col>
+
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+ <el-form-item label="瀹瑰櫒缂栧彿:">
+ <el-input v-model.trim="formModel.WareContainerCode" placeholder="璇疯緭鍏ュ鍣ㄧ紪鍙�" clearable></el-input>
+ </el-form-item>
+ </el-col>
+
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+ <el-form-item label="搴撲綅鐘舵��:">
+ <el-select v-model="formModel.inventoryType" clearable placeholder="璇烽�夋嫨搴撲綅鐘舵��" style="width: 100%;">
+ <el-option v-for="item in storageStatusEnum" :key="item.value" :label="item.title"
+ :value="item.value" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+
+ <!-- 闅愯棌鐨勭瓫閫夋潯浠� -->
+ <!-- <template>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+ <el-form-item label="閿佸畾鐘舵��:">
+ <el-select v-model="formModel.isLocked" clearable placeholder="璇烽�夋嫨閿佸畾鐘舵��">
+ <el-option v-for="item in isAutoEnum" :key="item.value" :label="item.title" :value="item.value" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+
+ <el-form-item label="宸烽亾:">
+ <el-select v-model="formModel.Lane" clearable placeholder="璇烽�夋嫨宸烽亾">
+ <el-option v-for="item in LangEnum" :key="item.value" :label="item.title" :value="item.value" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+ <el-form-item label="鎵�灞炴帓:">
+ <el-select v-model="formModel.Row" clearable placeholder="璇烽�夋嫨鎵�灞炴帓">
+ <el-option v-for="(item, index) in strorageRowEnum" :key="item" :label="`绗�${index + 1}鎺抈"
+ :value="index + 1" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </template> -->
+ <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+ <el-form-item label-width="20px">
+ <el-button type="primary" icon="el-icon-search" @click="getLocationPage(2)">鏌ヨ</el-button>
+ <el-button icon="ele-Refresh" @click="() => formModel = {}"> 閲嶇疆 </el-button>
+ </el-form-item>
+ </el-col> -->
+
+
+ <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+ <el-form-item>
+ <el-button-group style="display: flex; align-items: center">
+ <el-button type="primary" icon="ele-Search" @click="getLocationPage(2)">
+ 鏌ヨ
+ </el-button>
+ <el-button icon="ele-Refresh" @click="() => formModel = {}">
+ 閲嶇疆
+ </el-button>
+ <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsStockQuan"
+ v-if="!showAdvanceQueryUIWmsStockQuan" style="margin-left: 5px">
+ 楂樼骇鏌ヨ
+ </el-button>
+ <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsStockQuan"
+ v-if="showAdvanceQueryUIWmsStockQuan" style="margin-left: 5px">
+ 闅愯棌
+ </el-button>
+
+ </el-button-group>
+ </el-form-item>
+ </el-col>
+
+ </el-row>
+
+ </el-form>
+ </el-card>
+
+<el-card class="full-table" shadow="hover" style="margin-top: 5px">
+ <div class="msi-content" style="height:calc(100vh - 200px)">
+
+<div>
+ <p>1#绔嬩綋搴�</p>
+ <div class="storage-grid">
+ <!-- 閬嶅巻姣忎竴鎺� -->
+ <div class="row" :class="'rowMy' + rowIndex" v-for="(row, rowIndex) in storageList" :key="rowIndex">
+ <!-- 閬嶅巻姣忎竴鍧� -->
+ <div class="cell " v-for="(cell, cellIndex) in row" :key="cellIndex">
+ {{ cell }} <!-- 鏄剧ず姣忎釜搴撲綅鐨勫唴瀹� -->
+ </div>
+ </div>
+ </div>
+</div>
+
+
+ <!-- 缁熻鍖哄煙 -->
+ <count-view :countData="countList"></count-view>
+ <!-- 搴撲綅灞曠ず -->
+ <content-view :contentData="dataList"></content-view>
+ </div>
+</el-card>
+
+ </div>
+</template>
+<script lang="ts" setup>
+import { nextTick, onMounted, ref } from 'vue'
+//import SearchBar from '@/components/SearchBar.vue'
+import { getStorageView } from '/@/api/main/ReportCenter/storageView';
+
+import CountView from './component/CountView.vue'
+import ContentView from './component/ContentView.vue'
+import { ElMessage } from 'element-plus';
+import { handleSlectDataWmsArea } from '/@/utils/selectData';
+
+const showAdvanceQueryUIWmsStockQuan = ref(false);
+// 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+const changeAdvanceQueryUIWmsStockQuan = () => {
+ showAdvanceQueryUIWmsStockQuan.value = !showAdvanceQueryUIWmsStockQuan.value;
+};
+
+
+const LangEnum = ref([ // 鎵�灞炲贩閬�
+ {
+ value: '1',
+ title: '1宸烽亾'
+ },
+ {
+ value: '2',
+ title: '2宸烽亾'
+ },
+ {
+ value: '3',
+ title: '3宸烽亾'
+ }
+])
+const isAutoEnum: any[] = [
+ {
+ title: '鍚�',
+ value: 0
+ },
+ {
+ title: '鏄�',
+ value: 1
+ }
+]
+
+
+//搴撲綅鐘舵��
+const storageStatusEnum = ref([
+ {
+ value: '0',
+ title: '绌哄簱浣�'
+ },
+ {
+ value: '1',
+ title: '绌哄鍣ㄥ簱浣�'
+ },
+ {
+ value: '2',
+ title: '鏈夎揣搴撲綅'
+ },
+])
+
+const strorageRowEnum = ref<any>([]) // 鎵�灞炴帓
+//鍒楄〃璇锋眰鏁版嵁
+const formModel = ref({
+ Lane: '',
+ Row: '',
+ MaterialCode: '',
+ inventoryType: '',
+ ShelfCode: '',
+ Code: '',
+ ContainerCode: '',
+ Status: '',
+ isLocked: '',
+ areaCode:"A2",
+ PageNo: 1,
+ PageSize: 10000
+})
+
+//搴撲綅鍒楄〃鏁版嵁
+const dataList = ref([]);
+//缁熻鐨勬暟鎹�
+const countList = ref([
+ {
+ type: 0,
+ title: '绌哄簱浣�:',
+ count: 0
+ },
+ {
+ type: 1,
+ title: '鏈夎揣搴撲綅锛堢┖瀹瑰櫒锛�:',
+ count: 0
+ },
+ {
+ type: 2,
+ title: '鏈夎揣搴撲綅锛堢墿鏂欙級:',
+ count: 0
+ },
+ // {
+ // type: 3,
+ // title: '閿佸畾搴撲綅:',
+ // count: 0
+ // },
+ // {
+ // type: 4,
+ // title: '绂佺敤搴撲綅:',
+ // count: 0
+ // }
+]);
+
+// 鎸夌収琛屽垪鐩稿悓杩涜鍒嗙粍
+const sortClass = (sortData: any) => {
+ const groupBy = (array: any, f: any) => {
+ let groups = {};
+ array.forEach((o) => {
+ let group = JSON.stringify(f(o));
+ groups[group] = groups[group] || [];
+ groups[group].push(o);
+ });
+ return Object.keys(groups).map((group) => {
+ return groups[group];
+ });
+ };
+ const sorted = groupBy(sortData, (item) => {
+ return item.lane + '-' + item.column; // 杩斿洖闇�瑕佸垎缁勭殑瀵硅薄
+ });
+ return sorted;
+};
+
+// 鍒嗙粍鍓�
+// console.log(listData);
+// 鍒嗙粍鍚�
+// console.log(sortClass(listData));
+
+//搴撲綅鍥惧垪琛�
+const getLocationPage = async (param?: any) => {
+ if (param && param == 2) {
+ if (formModel.value.Lane == "" && formModel.value.Row != "") {
+ ElMessage.warning("璇烽�夋嫨鎵�灞炲贩閬擄紒")
+ return
+ }
+ }
+
+ if(!formModel.value.areaCode){
+ ElMessage.warning("璇烽�夋嫨鎵�鍦ㄥ簱鍖猴紒")
+ return
+ }
+
+ var res = await getStorageView(Object.assign(formModel.value, {}));
+ if (res.data.code == 200) {
+ const { data } = res;
+ const result = data.result;
+ strorageRowEnum.value = new Array(4).fill(0);
+ countList.value[0].count = result.emptyLocation || 0; //绌哄簱浣�
+ countList.value[1].count = result.emptyContainerLocation || 0; //绌哄鍣ㄥ簱浣�
+ countList.value[2].count = result.materialLocation || 0; //鏈夎揣搴撲綅
+ // countList.value[3].count = result.lockedLocation || 0; //閿佸畾搴撲綅
+ // countList.value[4].count = result.disableLocation || 0; //绂佺敤搴撲綅
+ debugger
+ if (res.data.result.lanes) {
+ res.data.result.lanes.forEach((element: any) => {
+ element.rows.forEach((item: any) => {
+ item.rowLocations2 = sortClass(item.rowLocations)
+ })
+ });
+ }
+ dataList.value = res.data.result.lanes;
+
+ }
+
+}
+getLocationPage()
+
+const resetFormModel = JSON.parse(JSON.stringify(formModel.value));
+//閲嶇疆鎼滅储
+const resetForm = () => {
+ formModel.value = JSON.parse(JSON.stringify(resetFormModel));
+ // getLocationPage()
+};
+
+let arr1:any =ref("") //涓嬫媺璇诲彇鎺ュ彛
+// 椤甸潰鍔犺浇鏃�
+onMounted(async () => {
+ nextTick(async () => {
+ arr1.value = await handleSlectDataWmsArea({
+ page: 1,
+ pageSize: 1000,
+ total: 0,
+ IsDisabled:false,
+ isVirtually:false,
+ areaType:1 //绔嬩綋搴�
+ }); //涓嬫媺璇诲彇鎺ュ彛
+ });
+});
+
+
+
+
+
+
+
+//==================88888888888888======================
+
+const storageList = ref([]); // 鐢ㄤ簬瀛樻斁搴撲綅鐨勬暟缁�
+
+onMounted(() => {
+ initializeStorage(); // 鍦ㄧ粍浠舵寕杞藉悗鍒濆鍖栧簱浣嶆暟鎹�
+});
+
+function initializeStorage() {
+ const rows = 3; // 鎬绘帓鏁�
+ const cellsPerRow = 20; // 姣忔帓鐨勬牸瀛愭暟
+
+ for (let i = 0; i < rows; i++) {
+ let row = []; // 姣忔帓鐨勬牸瀛愭暟缁�
+ for (let j = 1; j <= cellsPerRow; j++) {
+ // 鏍规嵁琛屾暟鍜屽垪鏁扮敓鎴愬簱浣嶅悕绉�
+ row.push(` ${(i * cellsPerRow) + j}`);
+ }
+ storageList.value.push(row); // 灏嗘瘡鎺掔殑搴撲綅鏁扮粍鎺ㄥ叆鎬绘暟缁�
+ }
+}
+
+
+
+</script>
+<style lang="less" scoped>
+.msi-content {
+ overflow: auto;
+}
+
+
+
+
+.storage-grid {
+ width: 48%;
+ display: flex;
+ flex-direction: column; /* 鍨傜洿鎺掑垪姣忎竴鎺� */
+}
+
+.row {
+ display: flex; /* 姘村钩鎺掑垪姣忎竴琛� */
+}
+
+.cell {
+ border: 1px solid black; /* 姣忎釜鏍煎瓙鐨勯粦绾� */
+ flex: 1; /* 姣忎釜鏍煎瓙瀹藉害鐩哥瓑 */
+ height: 50px; /* 姣忎釜鏍煎瓙鐨勯珮搴� */
+ display: flex;
+ justify-content: center;
+ align-items: center; /* 灞呬腑鏄剧ず鍐呭 */
+}
+
+
+.rowMy0 {
+ // background-color: #f9f9f9; /* 绗竴鎺掔殑鑳屾櫙鑹� */
+ div{
+ height: 120px;
+ }
+}
+
+.rowMy1 {
+ // background-color: #eeeeee; /* 绗簩鎺掔殑鑳屾櫙鑹� */
+ div{
+ height: 50px;
+ }
+}
+
+.rowMy2 {
+ // background-color: #dddddd; /* 绗笁鎺掔殑鑳屾櫙鑹� */
+ div{
+ height: 80px;
+ }
+}
+</style>
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/index.vue
index 154e743..4652b77 100644
--- a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/index.vue
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/index.vue
@@ -1,45 +1,43 @@
<template>
- <div>
- <el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
- <el-form :model="formModel" ref="queryForm" labelWidth="90">
- <el-row>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
- <el-form-item label="鍏抽敭瀛�">
- <el-input v-model="formModel.searchKey" clearable=""
- placeholder="搴撲綅缂栧彿,瀹瑰櫒缂栧彿" />
- </el-form-item>
- </el-col>
+ <div>
+ <el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+ <el-form :model="formModel" ref="queryForm" labelWidth="90">
+ <el-row>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+ <el-form-item label="鍏抽敭瀛�">
+ <el-input v-model="formModel.searchKey" clearable="" placeholder="搴撲綅缂栧彿,瀹瑰櫒缂栧彿" />
+ </el-form-item>
+ </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
<el-form-item label="鎵�鍦ㄥ簱鍖�" prop="areaCode">
<el-select v-model="formModel.areaCode" placeholder="璇烽�夋嫨鎵�鍦ㄥ簱鍖�">
- <el-option v-for="(item,index) in arr1" :key="index" :value="item.code" :label="`[${item.code}] ${item.value}`"></el-option>
+ <el-option v-for="(item, index) in arr1" :key="index" :value="item.code" :label="`[${item.code}] ${item.value}`"></el-option>
</el-select>
</el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
- <el-form-item label="搴撲綅缂栧彿:">
- <el-input v-model.trim="formModel.WareLocationCode" placeholder="璇疯緭鍏ュ簱浣嶇紪鍙�" clearable></el-input>
- </el-form-item>
- </el-col>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+ <el-form-item label="搴撲綅缂栧彿:">
+ <el-input v-model.trim="formModel.WareLocationCode" placeholder="璇疯緭鍏ュ簱浣嶇紪鍙�" clearable></el-input>
+ </el-form-item>
+ </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
- <el-form-item label="瀹瑰櫒缂栧彿:">
- <el-input v-model.trim="formModel.WareContainerCode" placeholder="璇疯緭鍏ュ鍣ㄧ紪鍙�" clearable></el-input>
- </el-form-item>
- </el-col>
-
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
- <el-form-item label="搴撲綅鐘舵��:">
- <el-select v-model="formModel.inventoryType" clearable placeholder="璇烽�夋嫨搴撲綅鐘舵��" style="width: 100%;">
- <el-option v-for="item in storageStatusEnum" :key="item.value" :label="item.title"
- :value="item.value" />
- </el-select>
- </el-form-item>
- </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+ <el-form-item label="瀹瑰櫒缂栧彿:">
+ <el-input v-model.trim="formModel.WareContainerCode" placeholder="璇疯緭鍏ュ鍣ㄧ紪鍙�" clearable></el-input>
+ </el-form-item>
+ </el-col>
- <!-- 闅愯棌鐨勭瓫閫夋潯浠� -->
- <!-- <template>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+ <el-form-item label="搴撲綅鐘舵��:">
+ <el-select v-model="formModel.inventoryType" clearable placeholder="璇烽�夋嫨搴撲綅鐘舵��" style="width: 100%">
+ <el-option v-for="item in storageStatusEnum" :key="item.value" :label="item.title" :value="item.value" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+
+ <!-- 闅愯棌鐨勭瓫閫夋潯浠� -->
+ <!-- <template>
<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
<el-form-item label="閿佸畾鐘舵��:">
<el-select v-model="formModel.isLocked" clearable placeholder="璇烽�夋嫨閿佸畾鐘舵��">
@@ -64,176 +62,228 @@
</el-form-item>
</el-col>
</template> -->
- <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+ <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
<el-form-item label-width="20px">
<el-button type="primary" icon="el-icon-search" @click="getLocationPage(2)">鏌ヨ</el-button>
<el-button icon="ele-Refresh" @click="() => formModel = {}"> 閲嶇疆 </el-button>
</el-form-item>
</el-col> -->
+ <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+ <el-form-item>
+ <el-button-group style="display: flex; align-items: center">
+ <el-button type="primary" icon="ele-Search" @click="getLocationPage(2)"> 鏌ヨ </el-button>
+ <el-button icon="ele-Refresh" @click="() => (formModel = {})"> 閲嶇疆 </el-button>
+ <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsStockQuan" v-if="!showAdvanceQueryUIWmsStockQuan" style="margin-left: 5px"> 楂樼骇鏌ヨ </el-button>
+ <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsStockQuan" v-if="showAdvanceQueryUIWmsStockQuan" style="margin-left: 5px"> 闅愯棌 </el-button>
+ </el-button-group>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ </el-card>
- <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
- <el-form-item>
- <el-button-group style="display: flex; align-items: center">
- <el-button type="primary" icon="ele-Search" @click="getLocationPage(2)">
- 鏌ヨ
- </el-button>
- <el-button icon="ele-Refresh" @click="() => formModel = {}">
- 閲嶇疆
- </el-button>
- <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsStockQuan"
- v-if="!showAdvanceQueryUIWmsStockQuan" style="margin-left: 5px">
- 楂樼骇鏌ヨ
- </el-button>
- <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsStockQuan"
- v-if="showAdvanceQueryUIWmsStockQuan" style="margin-left: 5px">
- 闅愯棌
- </el-button>
-
- </el-button-group>
- </el-form-item>
- </el-col>
+ <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+ <div class="msi-content" style="height: calc(100vh - 200px)">
+ <div class="box100">
+ <div v-for="(item, index) in dataList" :key="index" class="box100Inner">
+ <p class="t1">{{ item.laneNo }}#绔嬩綋搴�</p>
+ <div class="storage-grid">
+ <div class="row rowMy0">
+ <div class="cell" v-for="(cell, cellIndex) in item.data" :key="cellIndex" v-show="cellIndex < 20">
+ <span class="textK"
- </el-row>
+ :style="{ background: setBgColor(cell.placeStatus), boxShadow: '0 1px 1px' + setBgColor(cell.placeStatus) }"
+ >
+ {{ cell.laneNo }}{{ cell.layerNo }}{{ cell.columnNo }}
+ </span>
+ </div>
+ </div>
+ <div class="row rowMy1">
+ <div class="cell" v-for="(cell, cellIndex) in item.data" :key="cellIndex" v-show="cellIndex >= 20 && cellIndex < 40">
+ <span class="textK" :style="{ background: setBgColor(cell.placeStatus), boxShadow: '0 1px 1px' + setBgColor(cell.placeStatus) }">
+ {{ cell.laneNo }}{{ cell.layerNo }}{{ cell.columnNo }}
+ </span>
+ </div>
+ </div>
+ <div class="row rowMy2">
+ <div class="cell" v-for="(cell, cellIndex) in item.data" :key="cellIndex" v-show="cellIndex >= 40 && cellIndex <= 60">
+ <span class="textK" :style="{ background: setBgColor(cell.placeStatus), boxShadow: '0 1px 1px' + setBgColor(cell.placeStatus) }">
+ {{ cell.laneNo }}{{ cell.layerNo }}{{ cell.columnNo }}
+ </span>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
- </el-form>
- </el-card>
+ <!-- <div>
+ <p>1#绔嬩綋搴�</p>
+ <div class="storage-grid">
+ 閬嶅巻姣忎竴鎺�
+ <div class="row" :class="'rowMy' + rowIndex" v-for="(row, rowIndex) in storageList" :key="rowIndex">
+ 閬嶅巻姣忎竴鍧�
+ <div class="cell" v-for="(cell, cellIndex) in row" :key="cellIndex">
+ {{ cell }}
+ </div>
+ </div>
+ </div>
+ </div> -->
-<el-card class="full-table" shadow="hover" style="margin-top: 5px">
- <div class="msi-content" style="height:calc(100vh - 200px)">
- <!-- 缁熻鍖哄煙 -->
- <count-view :countData="countList"></count-view>
- <!-- 搴撲綅灞曠ず -->
- <content-view :contentData="dataList"></content-view>
- </div>
-</el-card>
-
- </div>
+ <!-- 缁熻鍖哄煙 -->
+ <!-- <count-view :countData="countList"></count-view> -->
+ <!-- 搴撲綅灞曠ず -->
+ <!-- <content-view :contentData="dataList"></content-view> -->
+ </div>
+ </el-card>
+ </div>
</template>
<script lang="ts" setup>
-import { nextTick, onMounted, ref } from 'vue'
+import { nextTick, onMounted, ref } from 'vue';
//import SearchBar from '@/components/SearchBar.vue'
import { getStorageView } from '/@/api/main/ReportCenter/storageView';
-import CountView from './component/CountView.vue'
-import ContentView from './component/ContentView.vue'
+import CountView from './component/CountView.vue';
+import ContentView from './component/ContentView.vue';
import { ElMessage } from 'element-plus';
import { handleSlectDataWmsArea } from '/@/utils/selectData';
const showAdvanceQueryUIWmsStockQuan = ref(false);
// 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
const changeAdvanceQueryUIWmsStockQuan = () => {
- showAdvanceQueryUIWmsStockQuan.value = !showAdvanceQueryUIWmsStockQuan.value;
+ showAdvanceQueryUIWmsStockQuan.value = !showAdvanceQueryUIWmsStockQuan.value;
};
+//璁剧疆鑳屾櫙 姝e父 = 1, 灏佸瓨 = 2, 绂佸嚭 = 3, 绂佸叆 = 4, 閿佸畾 = 5
+const setBgColor = (type: number): string => {
+ let color = '';
+ switch (type) {
+ case 1:
+ color = '#F18201'; //姗樿壊 姝e父
+ break;
+ case 2:
+ color = '#2BA6FF'; //钃濊壊 灏佸瓨
+ break;
+ case 3:
+ color = '#FFFF00'; //榛勮壊 绂佸嚭
+ break;
+ case 4:
+ color = '#A2A2A2'; //鐏拌壊 绂佸叆
+ break;
-const LangEnum = ref([ // 鎵�灞炲贩閬�
- {
- value: '1',
- title: '1宸烽亾'
- },
- {
- value: '2',
- title: '2宸烽亾'
- },
- {
- value: '3',
- title: '3宸烽亾'
- }
-])
+ case 5:
+ color = '#FF0000'; //绾㈣壊 閿佸畾
+ break;
+ }
+ return color;
+};
+const LangEnum = ref([
+ // 鎵�灞炲贩閬�
+ {
+ value: '1',
+ title: '1宸烽亾',
+ },
+ {
+ value: '2',
+ title: '2宸烽亾',
+ },
+ {
+ value: '3',
+ title: '3宸烽亾',
+ },
+]);
const isAutoEnum: any[] = [
- {
- title: '鍚�',
- value: 0
- },
- {
- title: '鏄�',
- value: 1
- }
-]
-
+ {
+ title: '鍚�',
+ value: 0,
+ },
+ {
+ title: '鏄�',
+ value: 1,
+ },
+];
//搴撲綅鐘舵��
const storageStatusEnum = ref([
- {
- value: '0',
- title: '绌哄簱浣�'
- },
- {
- value: '1',
- title: '绌哄鍣ㄥ簱浣�'
- },
- {
- value: '2',
- title: '鏈夎揣搴撲綅'
- },
-])
+ {
+ value: '0',
+ title: '绌哄簱浣�',
+ },
+ {
+ value: '1',
+ title: '绌哄鍣ㄥ簱浣�',
+ },
+ {
+ value: '2',
+ title: '鏈夎揣搴撲綅',
+ },
+]);
-const strorageRowEnum = ref<any>([]) // 鎵�灞炴帓
+const strorageRowEnum = ref<any>([]); // 鎵�灞炴帓
//鍒楄〃璇锋眰鏁版嵁
const formModel = ref({
- Lane: '',
- Row: '',
- MaterialCode: '',
- inventoryType: '',
- ShelfCode: '',
- Code: '',
- ContainerCode: '',
- Status: '',
- isLocked: '',
- areaCode:"A2",
- PageNo: 1,
- PageSize: 10000
-})
+ Lane: '',
+ Row: '',
+ MaterialCode: '',
+ inventoryType: '',
+ ShelfCode: '',
+ Code: '',
+ ContainerCode: '',
+ Status: '',
+ isLocked: '',
+ areaCode: 'A2',
+ PageNo: 1,
+ PageSize: 10000,
+});
//搴撲綅鍒楄〃鏁版嵁
const dataList = ref([]);
//缁熻鐨勬暟鎹�
const countList = ref([
- {
- type: 0,
- title: '绌哄簱浣�:',
- count: 0
- },
- {
- type: 1,
- title: '鏈夎揣搴撲綅锛堢┖瀹瑰櫒锛�:',
- count: 0
- },
- {
- type: 2,
- title: '鏈夎揣搴撲綅锛堢墿鏂欙級:',
- count: 0
- },
- // {
- // type: 3,
- // title: '閿佸畾搴撲綅:',
- // count: 0
- // },
- // {
- // type: 4,
- // title: '绂佺敤搴撲綅:',
- // count: 0
- // }
+ {
+ type: 0,
+ title: '绌哄簱浣�:',
+ count: 0,
+ },
+ {
+ type: 1,
+ title: '鏈夎揣搴撲綅锛堢┖瀹瑰櫒锛�:',
+ count: 0,
+ },
+ {
+ type: 2,
+ title: '鏈夎揣搴撲綅锛堢墿鏂欙級:',
+ count: 0,
+ },
+ // {
+ // type: 3,
+ // title: '閿佸畾搴撲綅:',
+ // count: 0
+ // },
+ // {
+ // type: 4,
+ // title: '绂佺敤搴撲綅:',
+ // count: 0
+ // }
]);
// 鎸夌収琛屽垪鐩稿悓杩涜鍒嗙粍
const sortClass = (sortData: any) => {
- const groupBy = (array: any, f: any) => {
- let groups = {};
- array.forEach((o) => {
- let group = JSON.stringify(f(o));
- groups[group] = groups[group] || [];
- groups[group].push(o);
- });
- return Object.keys(groups).map((group) => {
- return groups[group];
- });
- };
- const sorted = groupBy(sortData, (item) => {
- return item.lane + '-' + item.column; // 杩斿洖闇�瑕佸垎缁勭殑瀵硅薄
- });
- return sorted;
+ const groupBy = (array: any, f: any) => {
+ let groups = {};
+ array.forEach((o) => {
+ let group = JSON.stringify(f(o));
+ groups[group] = groups[group] || [];
+ groups[group].push(o);
+ });
+ return Object.keys(groups).map((group) => {
+ return groups[group];
+ });
+ };
+ const sorted = groupBy(sortData, (item) => {
+ return item.lane + '-' + item.column; // 杩斿洖闇�瑕佸垎缁勭殑瀵硅薄
+ });
+ return sorted;
};
// 鍒嗙粍鍓�
@@ -243,69 +293,200 @@
//搴撲綅鍥惧垪琛�
const getLocationPage = async (param?: any) => {
- if (param && param == 2) {
- if (formModel.value.Lane == "" && formModel.value.Row != "") {
- ElMessage.warning("璇烽�夋嫨鎵�灞炲贩閬擄紒")
- return
- }
- }
+ // if (param && param == 2) {
+ // if (formModel.value.Lane == "" && formModel.value.Row != "") {
+ // ElMessage.warning("璇烽�夋嫨鎵�灞炲贩閬擄紒")
+ // return
+ // }
+ // }
- if(!formModel.value.areaCode){
- ElMessage.warning("璇烽�夋嫨鎵�鍦ㄥ簱鍖猴紒")
- return
- }
+ // if(!formModel.value.areaCode){
+ // ElMessage.warning("璇烽�夋嫨鎵�鍦ㄥ簱鍖猴紒")
+ // return
+ // }
+ //璁剧疆鑳屾櫙
+
+ var res = await getStorageView(Object.assign(formModel.value, {}));
+ if (res.data.code == 200) {
+ const { data } = res;
+ const result = data.result;
- var res = await getStorageView(Object.assign(formModel.value, {}));
- if (res.data.code == 200) {
- const { data } = res;
- const result = data.result;
- strorageRowEnum.value = new Array(4).fill(0);
- countList.value[0].count = result.emptyLocation || 0; //绌哄簱浣�
- countList.value[1].count = result.emptyContainerLocation || 0; //绌哄鍣ㄥ簱浣�
- countList.value[2].count = result.materialLocation || 0; //鏈夎揣搴撲綅
- // countList.value[3].count = result.lockedLocation || 0; //閿佸畾搴撲綅
- // countList.value[4].count = result.disableLocation || 0; //绂佺敤搴撲綅
- debugger
- if (res.data.result.lanes) {
- res.data.result.lanes.forEach((element: any) => {
- element.rows.forEach((item: any) => {
- item.rowLocations2 = sortClass(item.rowLocations)
- })
- });
- }
- dataList.value = res.data.result.lanes;
+ // 鍋囪 result 鏄竴涓寘鍚涓璞$殑鏁扮粍锛屾瘡涓璞¢兘鏈� LaneNo 鍜� ColumnNo 灞炴��
+ const groupedResult = [];
- }
+ // 鎸� LaneNo 鍒嗙粍 杈撳嚭缁撴瀯
+ // {
+ // 'laneNo':1,
+ // 'data': [{ }, {}, {}]
+ // }
-}
-getLocationPage()
+ // 鍋囪缁撴灉鏁版嵁瀛樺偍鍦� result 鏁扮粍涓�
+
+ // 鎸� laneNo 鍒嗙粍
+ result.forEach((item) => {
+ const laneNo = item.laneNo;
+
+ // 鏌ユ壘鏄惁宸茬粡鏈夎 laneNo 鐨勫璞�
+ let laneGroup = groupedResult.find((group) => group.laneNo == laneNo);
+
+ // 濡傛灉娌℃湁锛屽垱寤轰竴涓柊鐨勫垎缁�
+ if (!laneGroup) {
+ laneGroup = { laneNo: laneNo, data: [] };
+ groupedResult.push(laneGroup);
+ }
+
+ // 灏嗗綋鍓嶉」娣诲姞鍒板搴旂殑鍒嗙粍鐨� data 鏁扮粍涓�
+ laneGroup.data.push(item);
+ });
+
+ // 鏈�缁堣緭鍑虹粨鏋�
+ console.log(8888888);
+ console.log(groupedResult);
+
+ // groupedResult 鍒嗙粍鎸� data涓殑columnNo 鍐嶇粍 灏嗘瘡缁�20 涓厓绱�
+
+ function initializeStorage3() {
+ const rows = 3; // 鎬绘帓鏁�
+ const cellsPerRow = 20; // 姣忔帓鐨勬牸瀛愭暟
+
+ for (let i = 0; i < rows; i++) {
+ let row = []; // 姣忔帓鐨勬牸瀛愭暟缁�
+ for (let j = 1; j <= cellsPerRow; j++) {
+ // 鏍规嵁琛屾暟鍜屽垪鏁扮敓鎴愬簱浣嶅悕绉�
+ row.push(` ${i * cellsPerRow + j}`);
+ }
+ storageList.value.push(row); // 灏嗘瘡鎺掔殑搴撲綅鏁扮粍鎺ㄥ叆鎬绘暟缁�
+ }
+ }
+
+ dataList.value = groupedResult; // 濡傛灉瑕佸皢缁撴灉璧嬪�肩粰 dataList
+
+ // const finalResult = [];
+
+ // 鏈�缁堢粨鏋�
+
+ // ColumnNo 60
+ // result 鎸夌収LaneNo鍒嗙粍
+ // 鍐嶆寜鐓olumnNo 鍒嗙粍 绗竴缁� 20涓� 绗簩缁� 20涓� 绗笁缁� 20涓�
+
+ // dataList.value = result;
+
+ // strorageRowEnum.value = new Array(4).fill(0);
+ // countList.value[0].count = result.emptyLocation || 0; //绌哄簱浣�
+ // countList.value[1].count = result.emptyContainerLocation || 0; //绌哄鍣ㄥ簱浣�
+ // countList.value[2].count = result.materialLocation || 0; //鏈夎揣搴撲綅
+ // // countList.value[3].count = result.lockedLocation || 0; //閿佸畾搴撲綅
+ // // countList.value[4].count = result.disableLocation || 0; //绂佺敤搴撲綅
+ // if (res.data.result.lanes) {
+ // res.data.result.lanes.forEach((element: any) => {
+ // element.rows.forEach((item: any) => {
+ // item.rowLocations2 = sortClass(item.rowLocations)
+ // })
+ // });
+ // }
+ // dataList.value = res.data.result;
+ }
+};
+getLocationPage();
const resetFormModel = JSON.parse(JSON.stringify(formModel.value));
//閲嶇疆鎼滅储
const resetForm = () => {
- formModel.value = JSON.parse(JSON.stringify(resetFormModel));
- // getLocationPage()
+ formModel.value = JSON.parse(JSON.stringify(resetFormModel));
+ // getLocationPage()
};
-let arr1:any =ref("") //涓嬫媺璇诲彇鎺ュ彛
+let arr1: any = ref(''); //涓嬫媺璇诲彇鎺ュ彛
// 椤甸潰鍔犺浇鏃�
-onMounted(async () => {
- nextTick(async () => {
- arr1.value = await handleSlectDataWmsArea({
- page: 1,
- pageSize: 1000,
- total: 0,
- IsDisabled:false,
- isVirtually:false,
- areaType:1 //绔嬩綋搴�
- }); //涓嬫媺璇诲彇鎺ュ彛
- });
+onMounted(async () => {});
+
+//==================88888888888888======================
+
+const storageList = ref([]); // 鐢ㄤ簬瀛樻斁搴撲綅鐨勬暟缁�
+
+onMounted(() => {
+ initializeStorage(); // 鍦ㄧ粍浠舵寕杞藉悗鍒濆鍖栧簱浣嶆暟鎹�
});
+function initializeStorage() {
+ const rows = 3; // 鎬绘帓鏁�
+ const cellsPerRow = 20; // 姣忔帓鐨勬牸瀛愭暟
+ for (let i = 0; i < rows; i++) {
+ let row = []; // 姣忔帓鐨勬牸瀛愭暟缁�
+ for (let j = 1; j <= cellsPerRow; j++) {
+ // 鏍规嵁琛屾暟鍜屽垪鏁扮敓鎴愬簱浣嶅悕绉�
+ row.push(` ${i * cellsPerRow + j}`);
+ }
+ storageList.value.push(row); // 灏嗘瘡鎺掔殑搴撲綅鏁扮粍鎺ㄥ叆鎬绘暟缁�
+ }
+}
+console.log(66666666);
+
+console.log(storageList.value);
</script>
<style lang="less" scoped>
.msi-content {
- overflow: auto;
+ overflow: auto;
}
-</style>
\ No newline at end of file
+
+.storage-grid {
+ display: flex;
+ flex-direction: column; /* 鍨傜洿鎺掑垪姣忎竴鎺� */
+ width: 610px;
+ // border: 1px solid red;
+}
+
+.row {
+ display: block; /* 姘村钩鎺掑垪姣忎竴琛� */
+}
+
+.cell {
+ border: 1px solid gray; /* 姣忎釜鏍煎瓙鐨勯粦绾� */
+ height: 50px; /* 姣忎釜鏍煎瓙鐨勯珮搴� */
+ display: inline-block;
+ justify-content: center;
+ align-items: center; /* 灞呬腑鏄剧ず鍐呭 */
+ width: 30px;
+}
+
+.rowMy0 {
+ // background-color: #f9f9f9; /* 绗竴鎺掔殑鑳屾櫙鑹� */
+ div {
+ height: 120px;
+ }
+}
+
+.rowMy1 {
+ // background-color: #eeeeee; /* 绗簩鎺掔殑鑳屾櫙鑹� */
+ div {
+ height: 50px;
+ }
+}
+
+.rowMy2 {
+ // background-color: #dddddd; /* 绗笁鎺掔殑鑳屾櫙鑹� */
+ div {
+ height: 80px;
+ }
+}
+
+.box100 {
+ .box100Inner {
+ display: inline-block;
+ // width: 50%;
+ }
+}
+.t1 {
+ margin: 10px 0 2px 0;
+}
+.textK {
+ display: flex; /* 浣跨敤 Flexbox 甯冨眬 */
+ flex-direction: column;
+ font-size: 12px;
+ text-align: center;
+ width: 100%;
+ height: 100%;
+ color: white;
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsSubstituteGood/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsSubstituteGood/index.vue
deleted file mode 100644
index 2a322d8..0000000
--- a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsSubstituteGood/index.vue
+++ /dev/null
@@ -1,246 +0,0 @@
-锘�<template>
- <div class="wmsSubstituteGood-container">
- <el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
- <el-form :model="queryParams" ref="queryForm" labelWidth="100">
- <el-row>
- <el-col :xs="24" :sm="12" :md="12" :lg="10" :xl="4" class="mb10">
- <el-form-item label="鍏抽敭瀛�">
- <el-input v-model="queryParams.searchKey" clearable="" placeholder="鐗╂枡缂栧彿,鐗╂枡鍚嶇О,鏇夸唬鍝佺墿鏂欑紪鍙�,鏇夸唬鍝佺墿鏂欏悕绉�"/>
-
- </el-form-item>
- </el-col>
- <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
- <el-form-item label="鐗╂枡缂栧彿">
- <el-select clearable="" v-model="queryParams.materialCode" placeholder="璇烽�夋嫨鐗╂枡缂栧彿">
- <el-option v-for="(item,index) in dl('')" :key="index" :value="item.code" :label="`[${item.code}] ${item.value}`" />
-
- </el-select>
-
- </el-form-item>
- </el-col> -->
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
- <el-form-item label="鐗╂枡缂栧彿">
- <el-input v-model="queryParams.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�"/>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
- <el-form-item label="鐗╂枡鍚嶇О">
- <el-input v-model="queryParams.materialName" clearable="" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�"/>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
- <el-form-item label="鏇夸唬鍝佺墿鏂欑紪鍙�">
- <el-input v-model="queryParams.substituteMaterialCode" clearable="" placeholder="璇疯緭鍏ユ浛浠e搧鐗╂枡缂栧彿"/>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
- <el-form-item label="鏇夸唬鍝佺墿鏂欏悕绉�">
- <el-input v-model="queryParams.substituteMaterialName" clearable="" placeholder="璇疯緭鍏ユ浛浠e搧鐗╂枡鍚嶇О"/>
-
- </el-form-item>
- </el-col>
- <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
- <el-form-item label="鏄惁绂佺敤">
- <el-select clearable="" v-model="queryParams.isDisabled" placeholder="璇烽�夋嫨鏄惁绂佺敤">
- <el-option v-for="(item,index) in getIsDisabledData" :key="index" :value="item.value" :label="`${item.text}`" />
-
- </el-select>
-
- </el-form-item>
- </el-col> -->
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
- <el-form-item>
- <el-button-group style="display: flex; align-items: center;">
- <el-button type="primary" icon="ele-Search" @click="handleQuery" v-auth="'wmsSubstituteGood:page'"> 鏌ヨ </el-button>
- <el-button icon="ele-Refresh" @click="() => queryParams = {}"> 閲嶇疆 </el-button>
- <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
- <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI" style="margin-left:5px;"> 闅愯棌 </el-button>
- <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsSubstituteGood" v-auth="'wmsSubstituteGood:add'"> 鏂板 </el-button> -->
-
- </el-button-group>
- </el-form-item>
-
- </el-col>
- </el-row>
- </el-form>
- </el-card>
- <el-card class="full-table" shadow="hover" style="margin-top: 5px">
- <el-table
- :data="tableData"
- style="width: 100%"
- v-loading="loading"
- tooltip-effect="light"
- row-key="id"
- @sort-change="sortChange"
- border="">
- <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
- <el-table-column prop="substituteCode" label="鏇夸唬缂栧彿" min-width="120px" show-overflow-tooltip="" />
- <el-table-column prop="materialCode" label="鐗╂枡缂栧彿" min-width="120px" show-overflow-tooltip="" >
- <template #default="scope">
- {{ scope.row.materialCode }}
- <!-- <el-tag :type="di('', )?.tagType"> {{di("", scope.row.materialCode)?.value}} </el-tag> -->
- </template>
- </el-table-column>
- <el-table-column prop="materialName" label="鐗╂枡鍚嶇О" min-width="120px" show-overflow-tooltip="" />
- <el-table-column prop="substituteMaterialCode" min-width="130px" label="鏇夸唬鍝佺墿鏂欑紪鍙�" show-overflow-tooltip="" />
- <el-table-column prop="substituteMaterialName" min-width="130px" label="鏇夸唬鍝佺墿鏂欏悕绉�" show-overflow-tooltip="" />
- <el-table-column prop="substituteIndex" label="鏇夸唬娆″簭" show-overflow-tooltip="" />
- <!-- <el-table-column prop="versionNO" label="鐗堟湰鍙�" show-overflow-tooltip="" />
- <el-table-column prop="isDisabled" label="鏄惁绂佺敤" show-overflow-tooltip="">
- <template #default="scope">
- <el-tag v-if="scope.row.isDisabled"> 鏄� </el-tag>
- <el-tag type="danger" v-else> 鍚� </el-tag>
-
- </template>
-
- </el-table-column> -->
- <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" show-overflow-tooltip="" width="130px" />
- <el-table-column prop="updateTime" label="淇敼鏃堕棿" show-overflow-tooltip="" width="130px" />
- <el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip=""/>
- <el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
- <!-- <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsSubstituteGood:update') || auth('wmsSubstituteGood:delete')">
- <template #default="scope">
- <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsSubstituteGood(scope.row)" v-auth="'wmsSubstituteGood:update'"> 缂栬緫 </el-button>
- <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsSubstituteGood(scope.row)" v-auth="'wmsSubstituteGood:delete'"> 鍒犻櫎 </el-button>
- </template>
- </el-table-column> -->
- </el-table>
- <el-pagination
- v-model:currentPage="tableParams.page"
- v-model:page-size="tableParams.pageSize"
- :total="tableParams.total"
- :page-sizes="[10, 20, 50, 100, 200, 500]"
- small=""
- background=""
- @size-change="handleSizeChange"
- @current-change="handleCurrentChange"
- layout="total, sizes, prev, pager, next, jumper"
- />
- <printDialog
- ref="printDialogRef"
- :title="printWmsSubstituteGoodTitle"
- @reloadTable="handleQuery" />
- <editDialog
- ref="editDialogRef"
- :title="editWmsSubstituteGoodTitle"
- @reloadTable="handleQuery"
- />
- </el-card>
- </div>
-</template>
-
-<script lang="ts" setup="" name="wmsSubstituteGood">
- import { ref } from "vue";
- import { ElMessageBox, ElMessage } from "element-plus";
- import { auth } from '/@/utils/authFunction';
- import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
- import { formatDate } from '/@/utils/formatTime';
-
-
- import printDialog from '/@/views/system/print/component/hiprint/preview.vue'
- import editDialog from '/@/views/main/WmsBase/wmsSubstituteGood/component/editDialog.vue'
- import { pageWmsSubstituteGood, deleteWmsSubstituteGood } from '/@/api/main/WmsBase/wmsSubstituteGood';
-
-
- const showAdvanceQueryUI = ref(false);
- const printDialogRef = ref();
- const editDialogRef = ref();
- const loading = ref(false);
- const tableData = ref<any>([]);
- const queryParams = ref<any>({});
- const tableParams = ref({
- page: 1,
- pageSize: 10,
- total: 0,
- });
- const getIsDisabledData = [{
- "value":true,"text":"鏄�"
- },{
- "value":false,"text":"鍚�"
- }]
- const printWmsSubstituteGoodTitle = ref("");
- const editWmsSubstituteGoodTitle = ref("");
-
- // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
- const changeAdvanceQueryUI = () => {
- showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
- }
-
-
- // 鏌ヨ鎿嶄綔
- const handleQuery = async () => {
- loading.value = true;
- var res = await pageWmsSubstituteGood(Object.assign(queryParams.value, tableParams.value));
- tableData.value = res.data.result?.items ?? [];
- tableParams.value.total = res.data.result?.total;
- loading.value = false;
- };
-
- // 鍒楁帓搴�
- const sortChange = async (column: any) => {
- queryParams.value.field = column.prop;
- queryParams.value.order = column.order;
- await handleQuery();
- };
-
- // 鎵撳紑鏂板椤甸潰
- const openAddWmsSubstituteGood = () => {
- editWmsSubstituteGoodTitle.value = '娣诲姞鏇夸唬鍝佺鐞�';
- editDialogRef.value.openDialog({});
- };
-
- // 鎵撳紑鎵撳嵃椤甸潰
- const openPrintWmsSubstituteGood = async (row: any) => {
- printWmsSubstituteGoodTitle.value = '鎵撳嵃鏇夸唬鍝佺鐞�';
- }
-
- // 鎵撳紑缂栬緫椤甸潰
- const openEditWmsSubstituteGood = (row: any) => {
- editWmsSubstituteGoodTitle.value = '缂栬緫鏇夸唬鍝佺鐞�';
- editDialogRef.value.openDialog(row);
- };
-
- // 鍒犻櫎
- const delWmsSubstituteGood = (row: any) => {
- ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
- confirmButtonText: "纭畾",
- cancelButtonText: "鍙栨秷",
- type: "warning",
- })
- .then(async () => {
- var ret = await deleteWmsSubstituteGood(row);
- if(ret.data.type=="success"){
- handleQuery();
- ElMessage.success("鍒犻櫎鎴愬姛");
- }
- })
- .catch(() => {});
- };
-
- // 鏀瑰彉椤甸潰瀹归噺
- const handleSizeChange = (val: number) => {
- tableParams.value.pageSize = val;
- handleQuery();
- };
-
- // 鏀瑰彉椤电爜搴忓彿
- const handleCurrentChange = (val: number) => {
- tableParams.value.page = val;
- handleQuery();
- };
-
- handleQuery();
-</script>
-<style scoped>
-:deep(.el-input),
-:deep(.el-select),
-:deep(.el-input-number) {
- width: 100%;
-}
-</style>
-
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsConfig/wmsConfigPrint/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsConfig/wmsConfigPrint/component/editDialog.vue
new file mode 100644
index 0000000..e9c1001
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsConfig/wmsConfigPrint/component/editDialog.vue
@@ -0,0 +1,187 @@
+锘�<template>
+ <div class="wmsConfigPrint-container">
+ <el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+ <template #header>
+ <div style="color: #fff">
+ <!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+ <span>{{ props.title }}</span>
+ </div>
+ </template>
+ <el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+ <el-row :gutter="35">
+ <el-form-item v-show="false">
+ <el-input v-model="ruleForm.id" />
+ </el-form-item>
+ <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+ <el-form-item label="鎵撳嵃鍒嗙被" prop="printClassify">
+ <el-select clearable v-model="ruleForm.printClassify" placeholder="璇烽�夋嫨鎵撳嵃鍒嗙被">
+ <el-option v-for="(item,index) in getEnumPrintClassifyData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+
+ </el-select>
+
+ </el-form-item>
+
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+ <el-form-item label="鎵撳嵃鍒嗙被鍚�" prop="printClassifyName">
+ <el-input v-model="ruleForm.printClassifyName" placeholder="璇疯緭鍏ユ墦鍗板垎绫诲悕" maxlength="50" show-word-limit clearable />
+
+ </el-form-item>
+
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+ <el-form-item label="鎵撳嵃妯℃澘鍚�" prop="printTemplate">
+ <el-input v-model="ruleForm.printTemplate" placeholder="璇疯緭鍏ユ墦鍗版ā鏉垮悕" maxlength="255" show-word-limit clearable />
+
+ </el-form-item>
+
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+ <el-form-item label="鎵撳嵃妯℃澘鍦板潃" prop="printTemplateAddr">
+ <el-input v-model="ruleForm.printTemplateAddr" placeholder="璇疯緭鍏ユ墦鍗版ā鏉垮湴鍧�" maxlength="255" show-word-limit clearable />
+
+ </el-form-item>
+
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+ <el-form-item label="鎵撳嵃鏈哄垪琛�" prop="printerList">
+ <el-input v-model="ruleForm.printerList" placeholder="璇疯緭鍏ユ墦鍗版満鍒楄〃" maxlength="500" show-word-limit clearable />
+
+ </el-form-item>
+
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+ <el-form-item label="澶囨敞" prop="remark">
+ <el-input v-model="ruleForm.remark" placeholder="璇疯緭鍏ュ娉�" maxlength="255" show-word-limit clearable />
+
+ </el-form-item>
+
+ </el-col>
+ </el-row>
+ </el-form>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button @click="cancel">鍙� 娑�</el-button>
+ <el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+ </span>
+ </template>
+ </el-dialog>
+ </div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+ width: 100%;
+}
+</style>
+<script lang="ts" setup>
+ import { ref,onMounted } from "vue";
+ import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+ import { ElMessage } from "element-plus";
+ import type { FormRules } from "element-plus";
+ import { addWmsConfigPrint, updateWmsConfigPrint, detailWmsConfigPrint } from "/@/api/main/WmsConfig/wmsConfigPrint";
+ import { getAPI } from '/@/utils/axios-utils';
+ import { SysEnumApi } from '/@/api-services/api';
+
+ const getEnumPrintClassifyData = ref<any>([]);
+ //鐖剁骇浼犻�掓潵鐨勫弬鏁�
+ var props = defineProps({
+ title: {
+ type: String,
+ default: "",
+ },
+ });
+ //鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+ const emit = defineEmits(["reloadTable"]);
+ const ruleFormRef = ref();
+ const isShowDialog = ref(false);
+ const loading = ref(false);
+ const disabled_btn = ref(false);
+ const ruleForm = ref<any>({});
+ //鑷娣诲姞鍏朵粬瑙勫垯
+ const rules = ref<FormRules>({
+ printClassify: [{required: true, message: '璇烽�夋嫨鎵撳嵃鍒嗙被锛�', trigger: 'change',},],
+ printClassifyName: [{required: true, message: '璇疯緭鍏ユ墦鍗板垎绫诲悕锛�', trigger: 'blur',},],
+ printTemplate: [{required: true, message: '璇疯緭鍏ユ墦鍗版ā鏉垮悕锛�', trigger: 'blur',},],
+ printTemplateAddr: [{required: true, message: '璇疯緭鍏ユ墦鍗版ā鏉垮湴鍧�锛�', trigger: 'blur',},],
+ printerList: [{required: true, message: '璇疯緭鍏ユ墦鍗版満鍒楄〃锛�', trigger: 'blur',},],
+ isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+ });
+
+ /*
+ * 鎵撳紑寮圭獥
+ * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+ * @param row 琛屾暟鎹�
+ */
+ const openDialog = async (flag: number,row: any) => {
+ // ruleForm.value = JSON.parse(JSON.stringify(row));
+ // 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+ let rowData = JSON.parse(JSON.stringify(row));
+ if (rowData.id)
+ ruleForm.value = (await detailWmsConfigPrint(rowData.id)).data.result;
+ else {
+ ruleForm.value = rowData;
+ }
+ isShowDialog.value = true;
+ };
+
+ // 鍏抽棴寮圭獥
+ const closeDialog = () => {
+ emit("reloadTable");
+ isShowDialog.value = false;
+ };
+
+ // 鍙栨秷
+ const cancel = () => {
+ isShowDialog.value = false;
+ };
+
+ // 鎻愪氦
+ const submit = async () => {
+ disabled_btn.value = true;
+ ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+ if (isValid) {
+ loading.value = true;
+ let values = ruleForm.value;
+ let ret={};
+ let title='鏂板';
+ if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+ ret = await addWmsConfigPrint(values);
+ } else {
+ title='缂栬緫';
+ ret = await updateWmsConfigPrint(values);
+ }
+ loading.value = false;
+ disabled_btn.value = false;
+ if(ret.data.type=="success"){
+ ElMessage.success(title+'鎴愬姛');
+ closeDialog();
+ }
+ } else {
+ disabled_btn.value = false;
+ ElMessage({
+ message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+ type: "error",
+ });
+ }
+ });
+ };
+
+
+
+
+
+
+
+ // 椤甸潰鍔犺浇鏃�
+ onMounted(async () => {
+ getEnumPrintClassifyData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PrintClassifyEnum')).data.result ?? [];
+ });
+
+ //灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+ defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsConfig/wmsConfigPrint/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsConfig/wmsConfigPrint/index.vue
new file mode 100644
index 0000000..c172ccb
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsConfig/wmsConfigPrint/index.vue
@@ -0,0 +1,280 @@
+锘�<template>
+ <div class="wmsConfigPrint-container">
+ <el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+ <el-form :model="queryParamsWmsConfigPrint" ref="queryForm" labelWidth="90">
+ <el-row>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+ <el-form-item label="鍏抽敭瀛�">
+ <el-input v-model="queryParamsWmsConfigPrint.searchKey" clearable="" placeholder="鎵撳嵃鍒嗙被鍚�,鎵撳嵃妯℃澘鍚�,鎵撳嵃妯℃澘鍦板潃,鎵撳嵃鏈哄垪琛�,澶囨敞,鍒涘缓浜�,淇敼浜�"/>
+
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint">
+ <el-form-item label="鎵撳嵃鍒嗙被">
+ <el-select clearable="" v-model="queryParamsWmsConfigPrint.printClassify" placeholder="璇烽�夋嫨鎵撳嵃鍒嗙被">
+ <el-option v-for="(item,index) in getEnumPrintClassifyData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+
+ </el-select>
+
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint">
+ <el-form-item label="鎵撳嵃鍒嗙被鍚�">
+ <el-input v-model="queryParamsWmsConfigPrint.printClassifyName" clearable="" placeholder="璇疯緭鍏ユ墦鍗板垎绫诲悕"/>
+
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint">
+ <el-form-item label="鎵撳嵃妯℃澘鍚�">
+ <el-input v-model="queryParamsWmsConfigPrint.printTemplate" clearable="" placeholder="璇疯緭鍏ユ墦鍗版ā鏉垮悕"/>
+
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint">
+ <el-form-item label="鎵撳嵃妯℃澘鍦板潃">
+ <el-input v-model="queryParamsWmsConfigPrint.printTemplateAddr" clearable="" placeholder="璇疯緭鍏ユ墦鍗版ā鏉垮湴鍧�"/>
+
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint">
+ <el-form-item label="鎵撳嵃鏈哄垪琛�">
+ <el-input v-model="queryParamsWmsConfigPrint.printerList" clearable="" placeholder="璇疯緭鍏ユ墦鍗版満鍒楄〃"/>
+
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint">
+ <el-form-item label="澶囨敞">
+ <el-input v-model="queryParamsWmsConfigPrint.remark" clearable="" placeholder="璇疯緭鍏ュ娉�"/>
+
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+ <el-form-item>
+ <el-button-group style="display: flex; align-items: center;">
+ <el-button type="primary" icon="ele-Search" @click="handleQueryWmsConfigPrint" v-auth="'wmsConfigPrint:page'" :disabled="disabled_btnWmsConfigPrint"> 鏌ヨ </el-button>
+ <el-button icon="ele-Refresh" @click="resetWmsConfigPrint"> 閲嶇疆 </el-button>
+ <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsConfigPrint" v-if="!showAdvanceQueryUIWmsConfigPrint" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+ <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsConfigPrint" v-if="showAdvanceQueryUIWmsConfigPrint" style="margin-left:5px;"> 闅愯棌 </el-button>
+ <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsConfigPrint" v-auth="'wmsConfigPrint:add'"> 鏂板 </el-button>
+ <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWmsConfigPrint" v-auth="'wmsConfigPrint:exportExcel'" > 瀵煎嚭 </el-button>
+ </el-button-group>
+ </el-form-item>
+
+ </el-col>
+ </el-row>
+ </el-form>
+ </el-card>
+ <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+ <el-table
+ ref="tableRefWmsConfigPrint"
+ :data="tableDataWmsConfigPrint"
+ style="width: 100%"
+ v-loading="loadingWmsConfigPrint"
+ tooltip-effect="light"
+ row-key="id"
+ @sort-change="sortChangeWmsConfigPrint"
+ border="">
+ <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+ <el-table-column prop="printClassify" label="鎵撳嵃鍒嗙被" show-overflow-tooltip="" >
+ <template #default="scope">
+ <el-tag>{{ getEnumDesc(scope.row.printClassify, getEnumPrintClassifyData_Index)}}</el-tag>
+ </template>
+ </el-table-column>
+ <el-table-column prop="printClassifyName" label="鎵撳嵃鍒嗙被鍚�" show-overflow-tooltip="" />
+ <el-table-column prop="printTemplate" label="鎵撳嵃妯℃澘鍚�" show-overflow-tooltip="" />
+ <el-table-column prop="printTemplateAddr" label="鎵撳嵃妯℃澘鍦板潃" show-overflow-tooltip="" />
+ <el-table-column prop="printerList" label="鎵撳嵃鏈哄垪琛�" show-overflow-tooltip="" />
+ <el-table-column prop="remark" label="澶囨敞" show-overflow-tooltip="" />
+ <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
+ <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
+ <el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+ <el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
+ <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsConfigPrint:update') || auth('wmsConfigPrint:delete')">
+ <template #default="scope">
+ <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsConfigPrint(scope.row)" v-auth="'wmsConfigPrint:update'"> 缂栬緫 </el-button>
+ <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsConfigPrint(scope.row)" v-auth="'wmsConfigPrint:delete'"> 鍒犻櫎 </el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <el-pagination
+ v-model:currentPage="tableParamsWmsConfigPrint.page"
+ v-model:page-size="tableParamsWmsConfigPrint.pageSize"
+ :total="tableParamsWmsConfigPrint.total"
+ :page-sizes="[10, 20, 50, 100, 200, 500]"
+ small=""
+ background=""
+ @size-change="handleSizeChangeWmsConfigPrint"
+ @current-change="handleCurrentChangeWmsConfigPrint"
+ layout="total, sizes, prev, pager, next, jumper"
+ />
+ <printDialogWmsConfigPrint
+ ref="printDialogRefWmsConfigPrint"
+ :title="printWmsConfigPrintTitle"
+ @reloadTable="handleQueryWmsConfigPrint" />
+ <editDialogWmsConfigPrint
+ ref="editDialogRefWmsConfigPrint"
+ :title="editWmsConfigPrintTitle"
+ @reloadTable="handleQueryWmsConfigPrint"
+ />
+ </el-card>
+ </div>
+</template>
+
+<script lang="ts" setup="" name="wmsConfigPrint">
+ import { ref,onMounted } from "vue";
+ import { ElMessageBox, ElMessage } from "element-plus";
+ import { auth } from '/@/utils/authFunction';
+ import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+ import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+ import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+
+
+ import printDialogWmsConfigPrint from '/@/views/system/print/component/hiprint/preview.vue'
+ import editDialogWmsConfigPrint from '/@/views/main/WmsConfig/wmsConfigPrint/component/editDialog.vue'
+ import { pageWmsConfigPrint, deleteWmsConfigPrint,importExcelWmsConfigPrint,downloadExcelTemplateWmsConfigPrint } from '/@/api/main/WmsConfig/wmsConfigPrint';
+ import { getAPI } from '/@/utils/axios-utils';
+ import { SysEnumApi } from '/@/api-services/api';
+ import commonFunction from '/@/utils/commonFunction';
+
+ const getEnumPrintClassifyData_Index = ref<any>([]);
+
+ const { getEnumDesc } = commonFunction();
+
+ /***************************************************[鎵撳嵃閰嶇疆琛ㄦ搷浣淽寮�濮�***************************************************/
+ const showAdvanceQueryUIWmsConfigPrint = ref(false);
+ const tableRefWmsConfigPrint = ref(null);
+ const printDialogRefWmsConfigPrint = ref();
+ const editDialogRefWmsConfigPrint = ref();
+ const loadingWmsConfigPrint = ref(false);
+ const disabled_btnWmsConfigPrint = ref(false);
+ const tableDataWmsConfigPrint = ref<any>([]);
+ const queryParamsWmsConfigPrint = ref<any>({});
+ const tableParamsWmsConfigPrint = ref({
+ page: 1,
+ pageSize: 10,
+ total: 0,
+ });
+
+ const printWmsConfigPrintTitle = ref("");
+ const editWmsConfigPrintTitle = ref("");
+
+ // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+ const changeAdvanceQueryUIWmsConfigPrint = () => {
+ showAdvanceQueryUIWmsConfigPrint.value = !showAdvanceQueryUIWmsConfigPrint.value;
+ }
+
+ // 鏌ヨ鎵撳嵃閰嶇疆琛�
+ const handleQueryWmsConfigPrint = async () => {
+ loadingWmsConfigPrint.value = true;
+ disabled_btnWmsConfigPrint.value = true;
+ var res = await pageWmsConfigPrint(Object.assign(queryParamsWmsConfigPrint.value, tableParamsWmsConfigPrint.value));
+ if(res.data.type=="success"){
+ tableDataWmsConfigPrint.value = res.data.result?.items ?? [];
+ tableParamsWmsConfigPrint.value.total = res.data.result?.total;
+ }
+ loadingWmsConfigPrint.value = false;
+ disabled_btnWmsConfigPrint.value = false;
+ };
+
+ // 閲嶇疆鎵撳嵃閰嶇疆琛ㄦ煡璇�
+ const resetWmsConfigPrint = async () => {
+ queryParamsWmsConfigPrint.value = {}
+ };
+
+ // 鎵撳嵃閰嶇疆琛ㄥ垪鎺掑簭
+ const sortChangeWmsConfigPrint = async (column: any) => {
+ queryParamsWmsConfigPrint.value.field = column.prop;
+ queryParamsWmsConfigPrint.value.order = column.order;
+ await handleQueryWmsConfigPrint();
+ };
+
+ // 鎵撳紑鏂板鎵撳嵃閰嶇疆琛ㄩ〉闈�
+ const openAddWmsConfigPrint = () => {
+ editWmsConfigPrintTitle.value = '娣诲姞鎵撳嵃閰嶇疆琛�';
+ editDialogRefWmsConfigPrint.value.openDialog(1,{});
+ };
+
+ // 鎵撳紑鎵撳嵃鎵撳嵃閰嶇疆琛ㄩ〉闈�
+ const openPrintWmsConfigPrint = async (row: any) => {
+ printWmsConfigPrintTitle.value = '鎵撳嵃鎵撳嵃閰嶇疆琛�';
+ }
+
+ // 鎵撳紑缂栬緫鎵撳嵃閰嶇疆琛ㄩ〉闈�
+ const openEditWmsConfigPrint = (row: any) => {
+ editWmsConfigPrintTitle.value = '缂栬緫鎵撳嵃閰嶇疆琛�';
+ editDialogRefWmsConfigPrint.value.openDialog(2,row);
+ };
+
+ // 鍒犻櫎鎵撳嵃閰嶇疆琛�
+ const delWmsConfigPrint = (row: any) => {
+ ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning",
+ })
+ .then(async () => {
+ loadingWmsConfigPrint.value = true;
+ var ret = await deleteWmsConfigPrint(row);
+ if(ret.data.type=="success"){
+ ElMessage.success("鍒犻櫎鎴愬姛");
+ }
+ loadingWmsConfigPrint.value = false;
+ handleQueryWmsConfigPrint();
+ })
+ .catch(() => {});
+ };
+
+ // 鏀瑰彉鎵撳嵃閰嶇疆琛ㄩ〉闈㈠閲�
+ const handleSizeChangeWmsConfigPrint = (val: number) => {
+ tableParamsWmsConfigPrint.value.pageSize = val;
+ handleQueryWmsConfigPrint();
+ };
+
+ // 鏀瑰彉鎵撳嵃閰嶇疆琛ㄩ〉鐮佸簭鍙�
+ const handleCurrentChangeWmsConfigPrint = (val: number) => {
+ tableParamsWmsConfigPrint.value.page = val;
+ handleQueryWmsConfigPrint();
+ };
+
+/***************************************************[鎵撳嵃閰嶇疆琛ㄦ搷浣淽缁撴潫***************************************************/
+/***************************************************[鎵撳嵃閰嶇疆琛ㄥ鍑篯寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapWmsConfigPrint = {
+ getEnumPrintClassifyData_Index,
+ formatDate_T_Date,
+ formatDate_T_Time
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelWmsConfigPrint = async (formData:Blob) => {
+ loadingWmsConfigPrint.value = true;
+ disabled_btnWmsConfigPrint.value = true;
+ var new_tableParamsWmsConfigPrint=JSON.parse(JSON.stringify(tableParamsWmsConfigPrint.value));
+ new_tableParamsWmsConfigPrint.page = 1;
+ new_tableParamsWmsConfigPrint.pageSize = 100000;
+ var res = await pageWmsConfigPrint(Object.assign(queryParamsWmsConfigPrint.value, new_tableParamsWmsConfigPrint));
+ if(res.data.type=="success"){
+ exportExcelWmsConfigPrint(res.data.result?.items ?? []);
+ }
+ loadingWmsConfigPrint.value = false;
+ disabled_btnWmsConfigPrint.value = false;
+};
+//瀵煎嚭
+const exportExcelWmsConfigPrint = async (exportDataList:Array) => {
+ exportPageExcel(exportDataList, tableRefWmsConfigPrint,"鎵撳嵃閰嶇疆琛�",functionMapWmsConfigPrint);
+};
+/***************************************************[鎵撳嵃閰嶇疆琛ㄥ鍑篯缁撴潫***************************************************/
+ // 鎵撳嵃閰嶇疆琛ㄩ〉闈㈠姞杞芥椂
+ onMounted(async () => {
+ getEnumPrintClassifyData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PrintClassifyEnum')).data.result ?? [];
+ });
+
+ handleQueryWmsConfigPrint();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+ width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderAsn/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/kittingList/component/editDialog.vue
similarity index 100%
rename from LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderAsn/component/editDialog.vue
rename to LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/kittingList/component/editDialog.vue
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchase/component/openAllprop.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/kittingList/component/openAllprop.vue
similarity index 90%
rename from LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchase/component/openAllprop.vue
rename to LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/kittingList/component/openAllprop.vue
index edd6923..407a34e 100644
--- a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchase/component/openAllprop.vue
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/kittingList/component/openAllprop.vue
@@ -258,11 +258,11 @@
</template>
</el-dialog>
<!-- 鍗曡鎯� -->
- <el-drawer v-model="drawerVisible" :title="`${detailForm.poId}璁㈠崟璇︽儏`" direction="rtl" size="80%" @close="handleDrawerClose">
+ <el-drawer v-model="drawerVisible" :title="`${detailForm.poId}鐗╂枡璇︽儏`" direction="rtl" size="80%" @close="handleDrawerClose">
<template #title>
<div class="slot_title">
<div class="title_orderNo">{{ title }}</div>
- <div>璁㈠崟璇︽儏</div>
+ <div>鐗╂枡璇︽儏</div>
</div>
</template>
@@ -273,8 +273,8 @@
<el-form :model="detailForm">
<el-row>
<el-col :span="6">
- <el-form-item label="鐗╂枡缂栧彿">
- <el-input v-model="detailForm.materialCode" clearable placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" />
+ <el-form-item label="閮ㄤ欢鍚嶇О">
+ <el-input v-model="detailForm.detailName" clearable placeholder="璇疯緭鍏ラ儴浠跺悕绉�" />
</el-form-item>
</el-col>
<el-col :span="4">
@@ -294,64 +294,34 @@
<!-- <el-table-column prop="poId" label="PO鍗旾D" show-overflow-tooltip="" /> -->
<!-- <el-table-column prop="poNo" label="PO鍗曞彿" show-overflow-tooltip="" /> -->
- <el-table-column prop="materialCode" label="鐗╂枡缂栧彿" fixed="left" show-overflow-tooltip="" />
- <el-table-column prop="materialName" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
- <el-table-column prop="poLineNumber" label="琛屽彿" show-overflow-tooltip="" />
-
- <el-table-column prop="poDetailStatus" label="鐘舵��" show-overflow-tooltip="">
+ <el-table-column prop="placeCode" label="搴撲綅缂栫爜" show-overflow-tooltip="" />
+ <el-table-column prop="inTime" label="杩涘叆鏃堕棿" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" />
+ <el-table-column prop="upi" label="閮ㄤ欢鏉$爜" show-overflow-tooltip="" />
+ <el-table-column prop="detailName" label="閮ㄤ欢鍚嶇О" show-overflow-tooltip="" />
+ <el-table-column prop="planNo" label="鎵规" show-overflow-tooltip="" />
+ <el-table-column prop="orderId" label="璁㈠崟鍙�" show-overflow-tooltip="" />
+ <el-table-column prop="packageCode" label="鍖呰鍙�" show-overflow-tooltip="" />
+ <el-table-column prop="length" label="闀�" show-overflow-tooltip="" />
+ <el-table-column prop="width" label="瀹�" show-overflow-tooltip="" />
+ <el-table-column prop="thk" label="鍘�" show-overflow-tooltip="" />
+ <el-table-column prop="stockStatus" label="搴撳瓨鐘舵��" show-overflow-tooltip="">
<template #default="scope">
- <el-tag :type="getTypeStatus(1, getEnumDesc(scope.row.poDetailStatus, getEnumPoDetailStatusData_Index))">{{
- getEnumDesc(scope.row.poDetailStatus, getEnumPoDetailStatusData_Index)
- }}</el-tag>
+ <el-tag>{{ getEnumDesc(scope.row.stockStatus, getEnumStockStatusData_Index) }}</el-tag>
</template>
</el-table-column>
-
- <el-table-column prop="quantity" label="鏁伴噺" show-overflow-tooltip="" />
- <el-table-column prop="goodsQuantity" label="宸叉敹鏁伴噺" show-overflow-tooltip="" />
-
- <!-- <el-table-column
- prop="createASNQuantity"
- label="宸插垱寤篈SN鏁伴噺" min-width="110px"
- show-overflow-tooltip=""
- /> -->
-
- <!-- <el-table-column
- prop="snp"
- label="鏍囧寘鏁伴噺"
- show-overflow-tooltip=""
- /> -->
- <!-- <el-table-column prop="erpOrderNo" label="ERP鍗曞彿" show-overflow-tooltip="" /> -->
- <el-table-column prop="erpCode" label="ERP搴撳瓨鍦�" show-overflow-tooltip="" />
-
- <!-- <el-table-column
- prop="printQuantity" min-width="110px"
- label="鏉$爜鎵撳嵃鏁伴噺"
- show-overflow-tooltip=""
- /> -->
-
- <!-- <el-table-column
- prop="poDetailStatusName"
- label="鐘舵�佸悕绉�"
- show-overflow-tooltip=""
- /> -->
- <el-table-column prop="supplierCode" label="渚涘簲鍟嗙紪鍙�" show-overflow-tooltip="" />
- <el-table-column prop="supplierName" label="渚涘簲鍟嗗悕绉�" show-overflow-tooltip="" />
- <el-table-column prop="supplierBatch" min-width="100px" label="渚涘簲鍟嗘壒娆�" show-overflow-tooltip="" />
- <!-- <el-table-column prop="batch" min-width="100px" label="鎵规" show-overflow-tooltip="" /> -->
- <el-table-column prop="unit" min-width="100px" label="閲囪喘鍗曚綅" show-overflow-tooltip="" />
-
- <el-table-column prop="plannedStartTime" label="璁″垝寮�濮嬫椂闂�" min-width="130px" show-overflow-tooltip="" />
- <el-table-column prop="plannedEndTime" label="璁″垝缁撴潫鏃堕棿" min-width="130px" show-overflow-tooltip="" />
-
- <el-table-column prop="projectNo" min-width="100px" label="椤圭洰鍙�" show-overflow-tooltip="" />
-
- <!-- <el-table-column
- prop="dock"
- min-width="100px"
- label="鏀惰揣閬撳彛"
- show-overflow-tooltip=""
- /> -->
-
+ <el-table-column prop="stockStatusName" label="搴撳瓨鐘舵�佸悕绉�" show-overflow-tooltip="" />
+ <el-table-column prop="operReason" label="鎿嶄綔鍘熷洜" show-overflow-tooltip="" />
+ <el-table-column prop="operUser" label="鎿嶄綔浜�" show-overflow-tooltip="" />
+ <el-table-column prop="operTime" label="鎿嶄綔鏃堕棿" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" />
+ <el-table-column prop="lockStatus" label="閿佸畾鐘舵��" show-overflow-tooltip="">
+ <template #default="scope">
+ <el-tag>{{ getEnumDesc(scope.row.lockStatus, getEnumLockStatusData_Index) }}</el-tag>
+ </template>
+ </el-table-column>
+ <el-table-column prop="lockReason" label="閿佸畾鍘熷洜" show-overflow-tooltip="" />
+ <el-table-column prop="lockUser" label="閿佸畾浜�" show-overflow-tooltip="" />
+ <el-table-column prop="lockTime" label="閿佸畾鏃堕棿" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" />
+ <el-table-column prop="remarks" label="澶囨敞" show-overflow-tooltip="" />
<el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
<el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
<el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
@@ -443,6 +413,8 @@
const hexiao = computed(() => props.hexiao);
const loading = ref(false);
+const getEnumStockStatusData_Index = ref<any>([]);
+const getEnumLockStatusData_Index = ref<any>([]);
// 鐧诲綍鐢ㄦ埛id
// const LoginUserID = computed(() => store.state.login.userInfo.id || localCache.getCache("LoginUserID"))
@@ -562,11 +534,10 @@
//鍒楄〃鐨勬暟鎹潯鏁�
const totalItems = ref<number>(0);
-//缂撳瓨鏋氫妇
-const enumList: any = cache.getCache('enumList');
-console.log(enumList.inEnumOrderType);
+// //缂撳瓨鏋氫妇
+// const enumList: any = cache.getCache('enumList');
+// console.log(enumList.inEnumOrderType);
-// .inEnumOrderType
//鑾峰彇PO鍗曞垪琛�
const getTabelData = () => {
@@ -636,8 +607,8 @@
// -------------------鑾峰彇PO鍗曚笅鐗╂枡璇︽儏-----------------------------------
//鍏ュ簱鍗曚笅鐗╂枡璇︽儏璇锋眰
const detailForm = ref({
- poId: '',
- materialCode: '',
+ detailName: '',
+ packageCode: '',
Page: 1,
PageSize: 10,
});
@@ -653,20 +624,17 @@
const openDrawer = async (type: number, scope: any = {}, entozhExcell?: any) => {
detailForm.value.Page = 1; //bug:鐐圭紪杈�-鍐嶇偣璇︽儏
detailForm.value.PageSize = 10; //bug:鐐圭紪杈�-鍐嶇偣璇︽儏
- if (scope.purchaseNo) {
- title.value = `${scope.purchaseNo}`;
- }
- if (scope.orderNo) {
- title.value = `${scope.orderNo}`;
+ if (scope.packageCode) {
+ title.value = `${scope.packageCode}`;
}
drawerType.value = 'drawerAll';
drawerVisible.value = true;
//褰撳墠鍏ュ簱鍗曞彿id
- detailForm.value.poId = scope.id;
+ detailForm.value.orderId = scope.orderId;
//鍏ュ簱鍗�
- purchaseNo.value = scope.purchaseNo;
+ purchaseNo.value = scope.packageCode;
debugger;
- detailForm.value.poId = scope.id;
+ detailForm.value.packageCode = scope.packageCode;
//鑾峰彇鐗╂枡鍒楄〃
if (detailForm.value.poId == '') {
drawerList.value = [];
@@ -676,13 +644,9 @@
//------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
getDetail();
//------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
-
- getBusinessTypeData_Index.value = await handleSlectDataWmsBusinessType(moveType); //涓嬫媺璇诲彇涓氬姟绫诲瀷鎺ュ彛 create by liuwq
-
- getEnumDockData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('DockEnum')).data.result ?? [];
-
- getEnumPoDetailStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
- getEnumOrderTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? [];
+ getEnumStockStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('StockStatusEnum')).data.result ?? [];
+ getEnumLockStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('LockStatusEnum')).data.result ?? [];
+
//----------------鐗╂枡鏄庣粏
// 鏍规嵁鐘舵�佽浆涓枃 淇濈暀3浣嶅皬鏁�
let scopetrans = JSON.parse(JSON.stringify(scope));
@@ -698,8 +662,8 @@
//鍏抽棴鎶藉眽
const handleDrawerClose = () => {
detailForm.value = {
- poId: '',
- materialCode: '',
+ detailName: '',
+ packageCode: '',
Page: 1,
PageSize: 10,
};
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/kittingList/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/kittingList/index.vue
new file mode 100644
index 0000000..213574f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/kittingList/index.vue
@@ -0,0 +1,491 @@
+锘�<template>
+ <div class="wmsOrderPurchase-container">
+ <!-- 榻愬绠$悊 -->
+ <el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+ <el-form :model="queryParams" ref="queryForm" labelWidth="90">
+ <el-row>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="6" class="mb10">
+ <el-form-item label="鍏抽敭瀛�">
+ <el-input v-model="queryParams.searchKey" clearable="" placeholder="鍏抽敭瀛�" />
+ </el-form-item>
+ </el-col>
+ <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+ <el-form-item label="PO鍗曞彿">
+ <el-input v-model="queryParams.purchaseNo" clearable="" placeholder="璇疯緭鍏O鍗曞彿" />
+ </el-form-item>
+ </el-col>
+
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+ <el-form-item label="涓氬姟绫诲瀷">
+ <el-select clearable="" v-model="queryParams.businessType" placeholder="璇烽�夋嫨涓氬姟绫诲瀷">
+ <el-option v-for="(item, index) in getBusinessTypeData_Index" :key="index" :value="item.businessTypeValue" :label="`[${item.businessTypeValue}] ${item.businessTypeName}`" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+ <el-form-item label="鍗曟嵁鏉ユ簮">
+ <el-select clearable="" v-model="queryParams.orderSocure" placeholder="璇烽�夋嫨鍗曟嵁鏉ユ簮">
+ <el-option v-for="(item, index) in getEnumOrderSocureData_Index" :key="index" :value="item.describe" :label="`${item.describe}`" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+ <el-form-item label="鍗曟嵁鐘舵��">
+ <el-select clearable="" v-model="queryParams.poStatus" placeholder="璇烽�夋嫨鍗曟嵁鐘舵��">
+ <el-option v-for="(item, index) in getEnumPoStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+
+
+ <el-form-item label="渚涘簲鍟�" prop="supplierCode">
+ <el-select
+ v-model="queryParams.supplierCode"
+ filterable
+ remote
+ reserve-keyword
+ remote-show-suffix
+ :remote-method="remoteMethod"
+ :loading="loading"
+ placeholder="璇烽�夋嫨渚涘簲鍟�"
+ clearable
+ style="width: 100%"
+ @change="changeXmbh(queryParams.supplierCode)"
+ >
+ <el-option v-for="(item, index) in arrTdp" :key="index" :value="item.custCode" :label="`[${item.custCode}]${item.custChinaName}`"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+ <el-form-item label="渚涘簲鍟嗗悕绉�">
+ <el-input v-model="queryParams.supplierName" clearable="" placeholder="璇疯緭鍏ヤ緵搴斿晢鍚嶇О" />
+ </el-form-item>
+ </el-col>
+
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+ <el-form-item label="ERP鍗曞彿">
+ <el-input v-model="queryParams.erpOrderNo" clearable="" placeholder="璇疯緭鍏RP鍗曞彿" />
+ </el-form-item>
+ </el-col>
+
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+ <el-form-item label="椤圭洰鍙�">
+ <el-input v-model="queryParams.projectNo" clearable="" placeholder="璇疯緭鍏ラ」鐩彿" />
+ </el-form-item>
+ </el-col> -->
+
+ <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+ <el-form-item>
+ <el-button-group style="display: flex; align-items: center">
+ <el-button type="primary" icon="ele-Search" @click="handleQuery"> 鏌ヨ </el-button>
+ <el-button icon="ele-Refresh" @click="() => (queryParams = {})"> 閲嶇疆 </el-button>
+ <!-- <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI" style="margin-left: 5px"> 楂樼骇鏌ヨ </el-button>
+ <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI" style="margin-left: 5px"> 闅愯棌 </el-button> -->
+ </el-button-group>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ </el-card>
+ <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+ <div class="table-container">
+ <!-- 宸︿晶琛ㄦ牸 -->
+ <div class="left-table">
+ <p class="text-xtiny">榻愬鍒楄〃</p>
+
+ <el-table
+ :data="tableData"
+ style="width: 100%"
+ v-loading="loading"
+ tooltip-effect="light"
+ ref="tableRef"
+ row-key="id"
+ @sort-change="sortChange"
+ :summary-method="getExportTitle"
+ border=""
+ >
+ <el-table-column type="index" label="搴忓彿" width="55" align="center" />
+ <el-table-column label="璁㈠崟鍙�" prop="packageCode" width="150" align="left" show-overflow-tooltip>
+ <template #default="scope">
+ <span class="under_line" @click="openDrawer(1, scope.row)">
+ {{ scope.row.orderId }}
+ </span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="count" label="鏁伴噺" show-overflow-tooltip="" />
+ <!-- <el-table-column prop="placeCode" label="搴撲綅缂栫爜" show-overflow-tooltip="" />
+ <el-table-column prop="inTime" label="杩涘叆鏃堕棿" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" />
+ <el-table-column prop="upi" label="閮ㄤ欢鏉$爜" show-overflow-tooltip="" />
+ <el-table-column prop="detailName" label="閮ㄤ欢鍚嶇О" show-overflow-tooltip="" />
+ <el-table-column prop="planNo" label="鎵规" show-overflow-tooltip="" />
+ <el-table-column prop="orderId" label="璁㈠崟鍙�" show-overflow-tooltip="" />
+ <el-table-column prop="length" label="闀�" show-overflow-tooltip="" />
+ <el-table-column prop="width" label="瀹�" show-overflow-tooltip="" />
+ <el-table-column prop="thk" label="鍘�" show-overflow-tooltip="" /> -->
+ </el-table>
+ </div>
+
+ <!-- 鍙充晶琛ㄦ牸 -->
+ <div class="right-table">
+ <p class="text-xtiny">涓嶉綈濂楀垪琛�</p>
+ <el-table
+ :data="newTableData"
+ style="width: 100%"
+ v-loading="loading"
+ tooltip-effect="light"
+ ref="newTableRef"
+ row-key="newId"
+ @sort-change="newSortChange"
+ :summary-method="getNewExportTitle"
+ border=""
+ >
+ <el-table-column type="index" label="搴忓彿" width="55" align="center" />
+ <!-- <el-table-column prop="packageCode" label="鍖呰鍙�" show-overflow-tooltip="" /> -->
+ <el-table-column label="璁㈠崟鍙�" prop="packageCode" width="150" align="left" show-overflow-tooltip>
+ <template #default="scope">
+ <span class="under_line" @click="openDrawer(1, scope.row)">
+ {{ scope.row.orderId }}
+ </span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="count" label="鏁伴噺" show-overflow-tooltip="" />
+ <!-- <el-table-column prop="count" label="鏁伴噺" show-overflow-tooltip="" />
+ <el-table-column prop="placeCode" label="搴撲綅缂栫爜" show-overflow-tooltip="" />
+ <el-table-column prop="inTime" label="杩涘叆鏃堕棿" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" />
+ <el-table-column prop="upi" label="閮ㄤ欢鏉$爜" show-overflow-tooltip="" />
+ <el-table-column prop="detailName" label="閮ㄤ欢鍚嶇О" show-overflow-tooltip="" />
+ <el-table-column prop="planNo" label="鎵规" show-overflow-tooltip="" />
+ <el-table-column prop="orderId" label="璁㈠崟鍙�" show-overflow-tooltip="" />
+ <el-table-column prop="length" label="闀�" show-overflow-tooltip="" />
+ <el-table-column prop="width" label="瀹�" show-overflow-tooltip="" />
+ <el-table-column prop="thk" label="鍘�" show-overflow-tooltip="" /> -->
+ </el-table>
+ </div>
+ </div>
+ </el-card>
+<!--
+ <editDialogWmsOrderDeliver ref="editDialogRefWmsOrderDeliver" :title="editWmsOrderDeliverTitle" @reloadTable="handleQuery" /> -->
+ <importExcelDialog
+ ref="importExcelDialogRefWmsOrderDeliver"
+ :title="importExcelTitleWmsOrderDeliver"
+ @parentUploadFun="handleImportExcelWmsOrderDeliver"
+ @parentDownFun="handleDownExcelWmsOrderDeliver"
+ />
+ <!-- 鎵�鏈夊脊妗� 锛氭柊澧� 缂栬緫 璇︽儏 -->
+ <open-allprop titleAuthor="1" hexiao="0" ref="propALlProp" @getTabelData="handleQuery"></open-allprop>
+ </div>
+</template>
+
+<script lang="ts" setup="" name="wmsOrderPurchase">
+import { getCurrentInstance, nextTick, onMounted, ref } from 'vue';
+import { ElMessageBox, ElMessage } from 'element-plus';
+import { auth } from '/@/utils/authFunction';
+import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+import { formatDate, formatDate_T_Date, formatDate_T_Time, defaultTimeRange } from '/@/utils/formatTime';
+import { pageBaseCustomer } from '/@/api/main/WmsBase/baseCustomer';
+import { formatUtcToData, getTypeStatus } from '/@/utils/formate';
+import printDialog from '/@/views/system/print/component/hiprint/preview.vue';
+import editDialog from '/@/views/main/WmsOrder/wmsOrderPurchase/component/editDialog.vue';
+import {
+ deleteWmsOrderPurchase,
+ importExcelWmsOrderPurchase,
+ downloadExcelTemplateWmsOrderPurchase,
+ downloadExcelTemplateWmsOrderPurchaseAll,
+ KittingList,
+} from '/@/api/main/WmsOrder/wmsOrderPurchase';
+import { handleSlectDataWmsBusinessType } from '/@/utils/selectData';
+import { getAPI } from '/@/utils/axios-utils';
+import { SysEnumApi } from '/@/api-services/api';
+import commonFunction from '/@/utils/commonFunction';
+import importExcelDialog from '/@/components/importExcel/index.vue'; //寮曞叆瀵煎叆缁勪欢
+import { exportPageExcel } from '/@/utils/exportPageExcel'; //寮曞叆瀵煎嚭鏂规硶
+import OpenAllprop from './component/openAllprop.vue';
+import { ExcellTableDataExport } from '/@/hooks/exportTableDataExcell';
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+const moveType = 10; //绉诲姩绫诲瀷 鍏ュ簱
+// ------------灏佽瀵煎嚭鍔熻兘--鍓嶇瀵煎嚭+琛ㄦ牸鏍囬---------------
+const jsonExcellTableExport = {
+ titleName: '', //瀵煎嚭琛ㄦ牸鍚嶇О
+ interfaceListName: '', //瀵煎嚭鎺ュ彛鍚嶇О
+};
+const { getExportTitle, handleExportExcell, formExport, entozhExcell } = ExcellTableDataExport(jsonExcellTableExport);
+// --------------end 灏佽瀵煎嚭鍔熻兘--鍓嶇瀵煎嚭+琛ㄦ牸鏍囬-----------------
+// ---------------鏂板-----------------------
+const showProp = (item?: any) => {
+ if (item == 1) {
+ proxy.$refs['propALlProp'].openDialog(1);
+ } else {
+ proxy.$refs['propALlProp'].openDialog(2, item);
+ }
+};
+// ---------------璇︽儏-----------------------
+const openDrawer = (type: number, item?: any) => {
+ proxy.$refs['propALlProp'].openDrawer(type, item, entozhExcell);
+};
+// ---------------end璇︽儏-----------------------
+
+// const getEnumBusinessTypeData_Index = ref<any>([]); //update by liuwq
+const getEnumPoStatusData_Index = ref<any>([]);
+
+const { getEnumDesc } = commonFunction();
+
+const getEnumOrderSocureData_Index = ref<any>([]);
+
+const showAdvanceQueryUI = ref(false);
+const printDialogRef = ref();
+const editDialogRef = ref();
+const loading = ref(false);
+const tableData = ref<any>([]);
+const queryParams = ref<any>({});
+const tableParams = ref({
+ page: 1,
+ pageSize: 10,
+ total: 0,
+});
+
+const printWmsOrderPurchaseTitle = ref('');
+const editWmsOrderPurchaseTitle = ref('');
+
+// 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+const changeAdvanceQueryUI = () => {
+ showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
+};
+
+const newTableData = ref([]);
+
+const fetchNewTableData = async () => {
+ loading.value = true;
+ try {
+ const response = await fetch('your-api-endpoint'); // 鏇挎崲涓烘偍鐨凙PI鍦板潃
+ const data = await response.json();
+ newTableData.value = data;
+ } catch (error) {
+ console.error('鑾峰彇鏂拌〃鏁版嵁閿欒:', error);
+ } finally {
+ loading.value = false;
+ }
+};
+
+const newSortChange = ({ prop, order }) => {
+ console.log(`鎺掑簭瀛楁: ${prop}, 鎺掑簭椤哄簭: ${order}`);
+ // 澶勭悊鎺掑簭閫昏緫
+};
+
+const openNewDrawer = (type, row) => {
+ console.log('鎵撳紑鏂扮殑鎶藉眽锛岀被鍨�:', type, ', 鏁版嵁:', row);
+};
+
+const getNewExportTitle = () => {
+ return '鏂拌〃鏍煎鍑烘爣棰�';
+};
+
+// 8888888888888鏌ヨ鎿嶄綔 IsKitting
+const handleQuery = async () => {
+ loading.value = true;
+ var res = await KittingList(Object.assign(queryParams.value, {
+ ...tableParams.value,
+ IsKitting:true
+ }));
+ tableData.value = res.data.result ?? [];
+
+
+ var res2 = await KittingList(Object.assign(queryParams.value, {
+ ...tableParams.value,
+ IsKitting:false
+ }));
+
+ newTableData.value = res2.data.result ?? [];
+
+ // tableParams.value.total = res.data.result?.total;
+ loading.value = false;
+ // getEnumOrderTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? [];
+
+ // getEnumPoStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+};
+
+// 鍒楁帓搴�
+const sortChange = async (column: any) => {
+ queryParams.value.field = column.prop;
+ queryParams.value.order = column.order;
+ await handleQuery();
+};
+
+// 鎵撳紑鏂板椤甸潰
+const openAddWmsOrderPurchase = () => {
+ editWmsOrderPurchaseTitle.value = '娣诲姞PO鍗�';
+ editDialogRef.value.openDialog({});
+};
+
+// 鎵撳紑鎵撳嵃椤甸潰
+const openPrintWmsOrderPurchase = async (row: any) => {
+ printWmsOrderPurchaseTitle.value = '鎵撳嵃PO鍗�';
+};
+
+// 鎵撳紑缂栬緫椤甸潰
+const openEditWmsOrderPurchase = (row: any) => {
+ editWmsOrderPurchaseTitle.value = '缂栬緫PO鍗�';
+ editDialogRef.value.openDialog(row);
+};
+
+// 鍒犻櫎
+const delWmsOrderPurchase = (row: any) => {
+ ElMessageBox.confirm(`纭畾瑕佸彇娑堝悧?`, '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning',
+ })
+ .then(async () => {
+ await deleteWmsOrderPurchase(row);
+ handleQuery();
+ ElMessage.success('鍙栨秷鎴愬姛');
+ })
+ .catch(() => {});
+};
+
+// 鏀瑰彉椤甸潰瀹归噺
+const handleSizeChange = (val: number) => {
+ tableParams.value.pageSize = val;
+ handleQuery();
+};
+
+// 鏀瑰彉椤电爜搴忓彿
+const handleCurrentChange = (val: number) => {
+ tableParams.value.page = val;
+ handleQuery();
+};
+
+// 鏍规嵁businessTypeValue鑾峰彇businessTypeName
+const getBusinessTypeByValue = (key: any, itemLst: any) => {
+ return itemLst.find((x: any) => x.businessTypeValue == key)?.businessTypeName;
+};
+
+handleQuery();
+
+//================
+const arrTdp = ref<any[]>([]);
+const queryParamsW = ref<any>({});
+const tableParamsW = ref({
+ page: 1,
+ pageSize: 200,
+ total: 0,
+ custType: '渚涘簲鍟�',
+});
+
+//-----------------杩滅▼鎼滅储----------------
+const handleQueryTdp = async () => {
+ var res = await pageBaseCustomer(Object.assign(queryParamsW.value, tableParamsW.value));
+ arrTdp.value = res.data.result?.items ?? [];
+};
+const changeXmbh = async (query?: any) => {
+ loading.value = true;
+ var res = await pageBaseCustomer({
+ page: 1,
+ pageSize: 200,
+ custCode: query,
+ custType: '渚涘簲鍟�',
+ });
+ loading.value = false;
+ arrTdp.value = res.data.result?.items ?? [];
+};
+// 杩滅▼鎼滅储 杈撳叆鍏抽敭瀛椾互浠庤繙绋嬫湇鍔″櫒涓煡鎵炬暟鎹��
+const remoteMethod = async (query: string) => {
+ loading.value = true;
+ var res = await pageBaseCustomer({
+ page: 1,
+ pageSize: 200,
+ custCode: query,
+ custType: '渚涘簲鍟�',
+ });
+ loading.value = false;
+ arrTdp.value = res.data.result?.items ?? [];
+};
+//-----------------杩滅▼鎼滅储----------------
+
+const getEnumDockData = ref<any>([]);
+
+onMounted(async () => {
+ nextTick(async () => {
+ // getBusinessTypeData_Index.value = await handleSlectDataWmsBusinessType(moveType); //涓嬫媺璇诲彇鎺ュ彛
+ // getEnumDockData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('DockEnum')).data.result ?? [];
+ // getEnumOrderSocureData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('SourceByEnum')).data.result ?? [];
+ });
+});
+
+/***************************************************[DO鍗曟搷浣淽缁撴潫***************************************************/
+/***************************************************[DO鍗曞鍏寮�濮�***************************************************/
+const printWmsOrderDeliverTitle = ref('');
+const editWmsOrderDeliverTitle = ref('');
+const importExcelTitleWmsOrderDeliver = ref('');
+const importExcelDialogRefWmsOrderDeliver = ref();
+//鎵撳紑瀵煎叆鐣岄潰
+const openImportExcelWmsOrderDeliver = () => {
+ importExcelTitleWmsOrderDeliver.value = '瀵煎叆PO鍗�';
+ importExcelDialogRefWmsOrderDeliver.value.openDialog({});
+};
+//瀵煎叆鏁版嵁
+const handleImportExcelWmsOrderDeliver = async (formData: Blob) => {
+ var result = await importExcelWmsOrderPurchase(formData);
+ importExcelDialogRefWmsOrderDeliver.value.callBackUploadFun(result.data); //鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+ if (result.data.type == 'success') {
+ handleQuery();
+ }
+};
+//涓嬭浇瀵煎叆妯℃澘
+const handleDownExcelWmsOrderDeliver = async () => {
+ var result = await downloadExcelTemplateWmsOrderPurchase();
+ importExcelDialogRefWmsOrderDeliver.value.callBackDownFun(result); //鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+};
+/***************************************************[DO鍗曞鍏缁撴潫***************************************************/
+/***************************************************[DO鍗曞鍑篯寮�濮�***************************************************/
+
+//瀵煎嚭
+const handExport = () => {
+ downloadExcelTemplateWmsOrderPurchaseAll(queryParams.value).then((res) => {
+ if (res.status == 200) {
+ const link = document.createElement('a'); //鍒涘缓a鏍囩
+ let blob = new Blob([res.data], { type: 'application/vnd.ms-excel' }); // response灏辨槸鎺ュ彛杩斿洖鐨勬枃浠舵祦
+ let objectUrl = URL.createObjectURL(blob);
+ link.href = objectUrl;
+ link.download = `PO鍗曞鍑�${formatUtcToData(new Date().toString(), 'YYYY-MM-DD hh:mm:ss')}`; // 鑷畾涔夋枃浠跺悕
+ link.click(); // 涓嬭浇鏂囦欢
+ URL.revokeObjectURL(objectUrl); // 閲婃斁鍐呭瓨
+ }
+ });
+};
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+ width: 100%;
+}
+
+.under_line {
+ color: #f18201;
+ text-decoration: underline;
+ cursor: pointer;
+}
+.table-container {
+ display: flex; /* 浣跨敤 flexbox 甯冨眬 */
+ justify-content: space-between; /* 琛ㄦ牸涔嬮棿淇濇寔闂磋窛 */
+}
+
+.table-container .left-table,
+.table-container .right-table {
+ flex: 1; /* 浣挎瘡涓〃鏍煎崰鎹浉鍚屽搴� */
+ margin-right: 10px; /* 瀹氫箟鍙充晶鐨勯棿璺� */
+ width: 50%;
+}
+.text-xtiny {
+ font-size: 14px;
+ font-weight: 700;
+ display: block;
+ padding: 0 0 10px 0;
+}
+.table-container .right-table {
+ margin-right: 0; /* 鏈�鍚庝竴涓〃鏍兼病鏈夊彸闂磋窛 */
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsSubstituteGood/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/manualFeed/component/editDialog.vue
similarity index 100%
rename from LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsSubstituteGood/component/editDialog.vue
rename to LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/manualFeed/component/editDialog.vue
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/manualFeed/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/manualFeed/index.vue
new file mode 100644
index 0000000..f57499c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/manualFeed/index.vue
@@ -0,0 +1,287 @@
+锘�<template>
+ <div class="wmsSubstituteGood-container">
+ <el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+ <el-form :model="queryParams" ref="queryForm" labelWidth="100">
+ <el-row>
+ <el-col :xs="24" :sm="12" :md="12" :lg="10" :xl="4" class="mb10">
+ <el-form-item label="閮ㄤ欢鏉$爜">
+ <el-input v-model="queryParams.upi" ref="materialCodeInput" clearable="" placeholder="璇锋壂閮ㄤ欢鏉$爜" />
+ </el-form-item>
+ </el-col>
+
+ <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+ <el-form-item>
+ <el-button-group style="display: flex; align-items: center">
+ <el-button type="primary" icon="ele-Search" @click="handleQuery"> 鏌ヨ </el-button>
+ <el-button icon="ele-Refresh" @click="() => queryParams = {}"> 閲嶇疆 </el-button>
+ <!--
+ <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+ <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI" style="margin-left:5px;"> 闅愯棌 </el-button> -->
+ <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsSubstituteGood" v-auth="'wmsSubstituteGood:add'"> 鏂板 </el-button> -->
+ </el-button-group>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ </el-card>
+ <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+ <div class="detailBox">
+ <ul>
+ <!-- <li v-for="(item,index) in sourceEnum" :key="index">
+ {{ titleP[index] }} : {{ warehousOrderDetails[item] }}
+ </li> -->
+ <li>
+ <span class="text_left">鐗╂枡缂栧彿:</span>
+ <span class="text_rt">{{ tableData.Info16 }}</span>
+ </li>
+ <li>
+ <span class="text_left">鏄惁榻愬寘:</span>
+ <span class="text_rt"></span>
+ </li>
+ <li>
+ <span class="text_left">鏄惁榻愬:</span>
+ <span class="text_rt"></span>
+ </li>
+ <li>
+ <span class="text_left">鎵规鍙�:</span>
+ <span class="text_rt">{{ tableData.planNo }}</span>
+ </li>
+ <li>
+ <span class="text_left">璁㈠崟鍙�:</span>
+ <span class="text_rt">{{ tableData.OrderId }}</span>
+ </li>
+ <li>
+ <span class="text_left">閮ㄤ欢鏉$爜:</span>
+ <span class="text_rt">{{ tableData.upi }}</span>
+ </li>
+
+ <li>
+ <span class="text_left">閮ㄤ欢鍚嶇О:</span>
+ <span class="text_rt">{{ tableData.DetailName }}</span>
+ </li>
+ <li>
+ <span class="text_left">瀹㈡埛鍚嶇О:</span>
+ <span class="text_rt">{{ tableData.Info10 }}</span>
+ </li>
+
+ <li>
+ <span class="text_left">闀�:</span>
+ <span class="text_rt">{{ tableData.length }}</span>
+ </li>
+ <li>
+ <span class="text_left">瀹�:</span>
+ <span class="text_rt">{{ tableData.width }}</span>
+ </li>
+ <li>
+ <span class="text_left">鍘�:</span>
+ <span class="text_rt">{{ tableData.thk }}</span>
+ </li>
+ <li>
+ <span class="text_left">閮ㄤ欢绾圭悊:</span>
+ <span class="text_rt">{{ tableData.matgrid }}</span>
+ </li>
+ <li>
+ <span class="text_left">鏄惁灏佽竟:</span>
+ <span class="text_rt">{{ tableData.isEB }}</span>
+ </li>
+ <li>
+ <span class="text_left">鎵撳瓟璁惧缂栧彿:</span>
+ <span class="text_rt">{{ tableData.dRNum }}</span>
+ </li>
+ </ul>
+ </div>
+ <!-- 鐢熸垚form 榻愬 榻愬寘 璁剧疆ng鍖� -->
+ <!-- 鐢熸垚form 榻愬 榻愬寘 璁剧疆ng鍖� -->
+ <!-- <el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules">
+ <el-row :gutter="35">
+ <el-form-item v-show="false">
+ <el-input v-model="ruleForm.id" />
+ </el-form-item>
+
+ <el-form-item label="榻愬" prop="completeSet">
+ <el-select v-model="ruleForm.completeSet" placeholder="璇烽�夋嫨榻愬">
+ <el-option label="閫夐」1" value="option1"></el-option>
+ <el-option label="閫夐」2" value="option2"></el-option>
+ </el-select>
+ </el-form-item>
+
+ <el-form-item label="榻愬寘" prop="packageSetup">
+ <el-input v-model="ruleForm.packageSetup" placeholder="璇疯緭鍏ラ綈鍖呰缃�"></el-input>
+ </el-form-item>
+
+ <el-form-item label="ng鍖�" prop="ngPackage">
+ <el-input v-model="ruleForm.ngPackage" placeholder="璇疯緭鍏g鍖�"></el-input>
+ </el-form-item>
+
+ </el-row>
+ </el-form> -->
+ </el-card>
+ </div>
+</template>
+
+<script lang="ts" setup="" name="wmsSubstituteGood">
+import { onMounted, ref } from 'vue';
+import { ElMessageBox, ElMessage } from 'element-plus';
+import { auth } from '/@/utils/authFunction';
+import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+import { formatDate } from '/@/utils/formatTime';
+import { listMes_BatchOrderUPI_New, deleteMes_BatchOrderUPI_New, importExcelMes_BatchOrderUPI_New, downloadExcelTemplateMes_BatchOrderUPI_New } from '/@/api/main/WmsOrder/mes_BatchOrderUPI_New';
+import printDialog from '/@/views/system/print/component/hiprint/preview.vue';
+import editDialog from '/@/views/main/WmsBase/wmsSubstituteGood/component/editDialog.vue';
+import { pageWmsSubstituteGood, deleteWmsSubstituteGood } from '/@/api/main/WmsBase/wmsSubstituteGood';
+
+const showAdvanceQueryUI = ref(false);
+const printDialogRef = ref();
+const editDialogRef = ref();
+const loading = ref(false);
+const tableData = ref<any>([]);
+const queryParams = ref<any>({
+ upi:""
+
+});
+const tableParams = ref({
+ page: 1,
+ pageSize: 10,
+ total: 0,
+});
+const getIsDisabledData = [
+ {
+ value: true,
+ text: '鏄�',
+ },
+ {
+ value: false,
+ text: '鍚�',
+ },
+];
+const printWmsSubstituteGoodTitle = ref('');
+const editWmsSubstituteGoodTitle = ref('');
+
+// 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+const changeAdvanceQueryUI = () => {
+ showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
+};
+// 鐢ㄤ簬寮曠敤杈撳叆妗�
+const materialCodeInput = ref(null);
+
+onMounted(() => {
+ // 鍦ㄧ粍浠舵寕杞藉悗杩涜鑱氱劍
+ materialCodeInput.value.$el.querySelector('input').focus();
+});
+
+// 鏌ヨ鎿嶄綔 888888888
+const handleQuery = async () => {
+ console.log("鏌ヨ");
+ loading.value = true;
+ var res = await listMes_BatchOrderUPI_New(Object.assign(queryParams.value, tableParams.value));
+ if (res.data.result.length != 1) {
+ ElMessage.warning('娌℃湁鏌ヨ鍒版暟鎹�');
+ tableData.value = []
+ return;
+ }
+ tableData.value = res.data.result[0] ?? [];
+ loading.value = false;
+};
+
+// 鍒楁帓搴�
+const sortChange = async (column: any) => {
+ queryParams.value.field = column.prop;
+ queryParams.value.order = column.order;
+ await handleQuery();
+};
+
+// 鎵撳紑鏂板椤甸潰
+const openAddWmsSubstituteGood = () => {
+ editWmsSubstituteGoodTitle.value = '娣诲姞鏇夸唬鍝佺鐞�';
+ editDialogRef.value.openDialog({});
+};
+
+// 鎵撳紑鎵撳嵃椤甸潰
+const openPrintWmsSubstituteGood = async (row: any) => {
+ printWmsSubstituteGoodTitle.value = '鎵撳嵃鏇夸唬鍝佺鐞�';
+};
+
+// 鎵撳紑缂栬緫椤甸潰
+const openEditWmsSubstituteGood = (row: any) => {
+ editWmsSubstituteGoodTitle.value = '缂栬緫鏇夸唬鍝佺鐞�';
+ editDialogRef.value.openDialog(row);
+};
+
+// 鍒犻櫎
+const delWmsSubstituteGood = (row: any) => {
+ ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning',
+ })
+ .then(async () => {
+ var ret = await deleteWmsSubstituteGood(row);
+ if (ret.data.type == 'success') {
+ handleQuery();
+ ElMessage.success('鍒犻櫎鎴愬姛');
+ }
+ })
+ .catch(() => {});
+};
+
+// 鏀瑰彉椤甸潰瀹归噺
+const handleSizeChange = (val: number) => {
+ tableParams.value.pageSize = val;
+ handleQuery();
+};
+
+// 鏀瑰彉椤电爜搴忓彿
+const handleCurrentChange = (val: number) => {
+ tableParams.value.page = val;
+ handleQuery();
+};
+
+// handleQuery();
+
+const rules = {
+ // 杩欓噷瀹氫箟琛ㄥ崟楠岃瘉瑙勫垯
+ completeSet: [{ required: true, message: '璇烽�夋嫨榻愬', trigger: 'change' }],
+ packageSetup: [{ required: true, message: '璇疯緭鍏ラ綈鍖呰缃�', trigger: 'blur' }],
+ ngPackage: [{ required: true, message: '璇疯緭鍏g鍖�', trigger: 'blur' }],
+};
+
+const ruleForm = ref({
+ id: '',
+ completeSet: '',
+ packageSetup: '',
+ ngPackage: '',
+});
+
+const sourceEnum: any = ref([
+ {
+ value: 'id',
+ text: 'ID',
+ },
+]);
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+ width: 100%;
+}
+
+.detailBox {
+ width: 90%;
+ margin: 0 auto;
+ display: block;
+ padding-bottom: 10px;
+ ul {
+ margin: 0;
+ padding: 0;
+ li {
+ display: block;
+ line-height: 30px;
+ text-align: left;
+ list-style-type: none;
+ width: 25%;
+ word-wrap: break-word;
+ }
+ }
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchase/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/packList/component/editDialog.vue
similarity index 100%
rename from LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchase/component/editDialog.vue
rename to LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/packList/component/editDialog.vue
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchase/component/openAllprop.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/packList/component/openAllprop.vue
similarity index 89%
copy from LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchase/component/openAllprop.vue
copy to LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/packList/component/openAllprop.vue
index edd6923..5113be7 100644
--- a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchase/component/openAllprop.vue
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/packList/component/openAllprop.vue
@@ -258,11 +258,11 @@
</template>
</el-dialog>
<!-- 鍗曡鎯� -->
- <el-drawer v-model="drawerVisible" :title="`${detailForm.poId}璁㈠崟璇︽儏`" direction="rtl" size="80%" @close="handleDrawerClose">
+ <el-drawer v-model="drawerVisible" :title="`${detailForm.poId}鐗╂枡璇︽儏`" direction="rtl" size="80%" @close="handleDrawerClose">
<template #title>
<div class="slot_title">
<div class="title_orderNo">{{ title }}</div>
- <div>璁㈠崟璇︽儏</div>
+ <div>鐗╂枡璇︽儏</div>
</div>
</template>
@@ -294,68 +294,38 @@
<!-- <el-table-column prop="poId" label="PO鍗旾D" show-overflow-tooltip="" /> -->
<!-- <el-table-column prop="poNo" label="PO鍗曞彿" show-overflow-tooltip="" /> -->
- <el-table-column prop="materialCode" label="鐗╂枡缂栧彿" fixed="left" show-overflow-tooltip="" />
- <el-table-column prop="materialName" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
- <el-table-column prop="poLineNumber" label="琛屽彿" show-overflow-tooltip="" />
-
- <el-table-column prop="poDetailStatus" label="鐘舵��" show-overflow-tooltip="">
- <template #default="scope">
- <el-tag :type="getTypeStatus(1, getEnumDesc(scope.row.poDetailStatus, getEnumPoDetailStatusData_Index))">{{
- getEnumDesc(scope.row.poDetailStatus, getEnumPoDetailStatusData_Index)
- }}</el-tag>
- </template>
- </el-table-column>
-
- <el-table-column prop="quantity" label="鏁伴噺" show-overflow-tooltip="" />
- <el-table-column prop="goodsQuantity" label="宸叉敹鏁伴噺" show-overflow-tooltip="" />
-
- <!-- <el-table-column
- prop="createASNQuantity"
- label="宸插垱寤篈SN鏁伴噺" min-width="110px"
- show-overflow-tooltip=""
- /> -->
-
- <!-- <el-table-column
- prop="snp"
- label="鏍囧寘鏁伴噺"
- show-overflow-tooltip=""
- /> -->
- <!-- <el-table-column prop="erpOrderNo" label="ERP鍗曞彿" show-overflow-tooltip="" /> -->
- <el-table-column prop="erpCode" label="ERP搴撳瓨鍦�" show-overflow-tooltip="" />
-
- <!-- <el-table-column
- prop="printQuantity" min-width="110px"
- label="鏉$爜鎵撳嵃鏁伴噺"
- show-overflow-tooltip=""
- /> -->
-
- <!-- <el-table-column
- prop="poDetailStatusName"
- label="鐘舵�佸悕绉�"
- show-overflow-tooltip=""
- /> -->
- <el-table-column prop="supplierCode" label="渚涘簲鍟嗙紪鍙�" show-overflow-tooltip="" />
- <el-table-column prop="supplierName" label="渚涘簲鍟嗗悕绉�" show-overflow-tooltip="" />
- <el-table-column prop="supplierBatch" min-width="100px" label="渚涘簲鍟嗘壒娆�" show-overflow-tooltip="" />
- <!-- <el-table-column prop="batch" min-width="100px" label="鎵规" show-overflow-tooltip="" /> -->
- <el-table-column prop="unit" min-width="100px" label="閲囪喘鍗曚綅" show-overflow-tooltip="" />
-
- <el-table-column prop="plannedStartTime" label="璁″垝寮�濮嬫椂闂�" min-width="130px" show-overflow-tooltip="" />
- <el-table-column prop="plannedEndTime" label="璁″垝缁撴潫鏃堕棿" min-width="130px" show-overflow-tooltip="" />
-
- <el-table-column prop="projectNo" min-width="100px" label="椤圭洰鍙�" show-overflow-tooltip="" />
-
- <!-- <el-table-column
- prop="dock"
- min-width="100px"
- label="鏀惰揣閬撳彛"
- show-overflow-tooltip=""
- /> -->
-
- <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
- <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
- <el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
- <el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
+ <el-table-column prop="placeCode" label="搴撲綅缂栫爜" show-overflow-tooltip="" />
+ <el-table-column prop="inTime" label="杩涘叆鏃堕棿" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" />
+ <el-table-column prop="upi" label="閮ㄤ欢鏉$爜" show-overflow-tooltip="" />
+ <el-table-column prop="detailName" label="閮ㄤ欢鍚嶇О" show-overflow-tooltip="" />
+ <el-table-column prop="planNo" label="鎵规" show-overflow-tooltip="" />
+ <el-table-column prop="orderId" label="璁㈠崟鍙�" show-overflow-tooltip="" />
+ <el-table-column prop="packageCode" label="鍖呰鍙�" show-overflow-tooltip="" />
+ <el-table-column prop="length" label="闀�" show-overflow-tooltip="" />
+ <el-table-column prop="width" label="瀹�" show-overflow-tooltip="" />
+ <el-table-column prop="thk" label="鍘�" show-overflow-tooltip="" />
+ <el-table-column prop="stockStatus" label="搴撳瓨鐘舵��" show-overflow-tooltip="" >
+ <template #default="scope">
+ <el-tag>{{ getEnumDesc(scope.row.stockStatus, getEnumStockStatusData_Index)}}</el-tag>
+ </template>
+ </el-table-column>
+ <el-table-column prop="stockStatusName" label="搴撳瓨鐘舵�佸悕绉�" show-overflow-tooltip="" />
+ <el-table-column prop="operReason" label="鎿嶄綔鍘熷洜" show-overflow-tooltip="" />
+ <el-table-column prop="operUser" label="鎿嶄綔浜�" show-overflow-tooltip="" />
+ <el-table-column prop="operTime" label="鎿嶄綔鏃堕棿" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" />
+ <el-table-column prop="lockStatus" label="閿佸畾鐘舵��" show-overflow-tooltip="" >
+ <template #default="scope">
+ <el-tag>{{ getEnumDesc(scope.row.lockStatus, getEnumLockStatusData_Index)}}</el-tag>
+ </template>
+ </el-table-column>
+ <el-table-column prop="lockReason" label="閿佸畾鍘熷洜" show-overflow-tooltip="" />
+ <el-table-column prop="lockUser" label="閿佸畾浜�" show-overflow-tooltip="" />
+ <el-table-column prop="lockTime" label="閿佸畾鏃堕棿" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" />
+ <el-table-column prop="remarks" label="澶囨敞" show-overflow-tooltip="" />
+ <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
+ <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
+ <el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+ <el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
</el-table>
<Pagination :total="detailCount" v-model:page="detailForm.Page" v-model:limit="detailForm.PageSize" @pagination="getDetail" style="margin-top: 20px; text-align: center"></Pagination>
@@ -443,6 +413,10 @@
const hexiao = computed(() => props.hexiao);
const loading = ref(false);
+
+
+const getEnumStockStatusData_Index = ref<any>([]);
+ const getEnumLockStatusData_Index = ref<any>([]);
// 鐧诲綍鐢ㄦ埛id
// const LoginUserID = computed(() => store.state.login.userInfo.id || localCache.getCache("LoginUserID"))
@@ -562,9 +536,7 @@
//鍒楄〃鐨勬暟鎹潯鏁�
const totalItems = ref<number>(0);
-//缂撳瓨鏋氫妇
-const enumList: any = cache.getCache('enumList');
-console.log(enumList.inEnumOrderType);
+
// .inEnumOrderType
@@ -653,18 +625,15 @@
const openDrawer = async (type: number, scope: any = {}, entozhExcell?: any) => {
detailForm.value.Page = 1; //bug:鐐圭紪杈�-鍐嶇偣璇︽儏
detailForm.value.PageSize = 10; //bug:鐐圭紪杈�-鍐嶇偣璇︽儏
- if (scope.purchaseNo) {
- title.value = `${scope.purchaseNo}`;
- }
- if (scope.orderNo) {
- title.value = `${scope.orderNo}`;
+ if (scope.packageCode) {
+ title.value = `${scope.packageCode}`;
}
drawerType.value = 'drawerAll';
drawerVisible.value = true;
//褰撳墠鍏ュ簱鍗曞彿id
detailForm.value.poId = scope.id;
//鍏ュ簱鍗�
- purchaseNo.value = scope.purchaseNo;
+ purchaseNo.value = scope.packageCode;
debugger;
detailForm.value.poId = scope.id;
//鑾峰彇鐗╂枡鍒楄〃
@@ -676,13 +645,14 @@
//------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
getDetail();
//------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+ getEnumStockStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('StockStatusEnum')).data.result ?? [];
+ getEnumLockStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('LockStatusEnum')).data.result ?? [];
+ // getBusinessTypeData_Index.value = await handleSlectDataWmsBusinessType(moveType); //涓嬫媺璇诲彇涓氬姟绫诲瀷鎺ュ彛 create by liuwq
- getBusinessTypeData_Index.value = await handleSlectDataWmsBusinessType(moveType); //涓嬫媺璇诲彇涓氬姟绫诲瀷鎺ュ彛 create by liuwq
+ // getEnumDockData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('DockEnum')).data.result ?? [];
- getEnumDockData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('DockEnum')).data.result ?? [];
-
- getEnumPoDetailStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
- getEnumOrderTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? [];
+ // getEnumPoDetailStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+ // getEnumOrderTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? [];
//----------------鐗╂枡鏄庣粏
// 鏍规嵁鐘舵�佽浆涓枃 淇濈暀3浣嶅皬鏁�
let scopetrans = JSON.parse(JSON.stringify(scope));
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/packList/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/packList/index.vue
new file mode 100644
index 0000000..c248f24
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/packList/index.vue
@@ -0,0 +1,490 @@
+<template>
+ <div class="wmsOrderPurchase-container">
+ <el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+ <el-form :model="queryParams" ref="queryForm" labelWidth="90">
+ <el-row>
+ <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="6" class="mb10">
+ <el-form-item label="鍏抽敭瀛�">
+ <el-input v-model="queryParams.searchKey" clearable="" placeholder="鍏抽敭瀛�" />
+ </el-form-item>
+ </el-col> -->
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="6" class="mb10">
+ <el-form-item label="鍖呰鍙�">
+ <el-input v-model="queryParams.packageCode" clearable="" placeholder="璇疯緭鍏ュ寘瑁呭彿" />
+ </el-form-item>
+ </el-col>
+ <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+ <el-form-item label="PO鍗曞彿">
+ <el-input v-model="queryParams.purchaseNo" clearable="" placeholder="璇疯緭鍏O鍗曞彿" />
+ </el-form-item>
+ </el-col>
+
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+ <el-form-item label="涓氬姟绫诲瀷">
+ <el-select clearable="" v-model="queryParams.businessType" placeholder="璇烽�夋嫨涓氬姟绫诲瀷">
+ <el-option v-for="(item, index) in getBusinessTypeData_Index" :key="index" :value="item.businessTypeValue" :label="`[${item.businessTypeValue}] ${item.businessTypeName}`" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+ <el-form-item label="鍗曟嵁鏉ユ簮">
+ <el-select clearable="" v-model="queryParams.orderSocure" placeholder="璇烽�夋嫨鍗曟嵁鏉ユ簮">
+ <el-option v-for="(item, index) in getEnumOrderSocureData_Index" :key="index" :value="item.describe" :label="`${item.describe}`" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+ <el-form-item label="鍗曟嵁鐘舵��">
+ <el-select clearable="" v-model="queryParams.poStatus" placeholder="璇烽�夋嫨鍗曟嵁鐘舵��">
+ <el-option v-for="(item, index) in getEnumPoStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+
+
+ <el-form-item label="渚涘簲鍟�" prop="supplierCode">
+ <el-select
+ v-model="queryParams.supplierCode"
+ filterable
+ remote
+ reserve-keyword
+ remote-show-suffix
+ :remote-method="remoteMethod"
+ :loading="loading"
+ placeholder="璇烽�夋嫨渚涘簲鍟�"
+ clearable
+ style="width: 100%"
+ @change="changeXmbh(queryParams.supplierCode)"
+ >
+ <el-option v-for="(item, index) in arrTdp" :key="index" :value="item.custCode" :label="`[${item.custCode}]${item.custChinaName}`"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+ <el-form-item label="渚涘簲鍟嗗悕绉�">
+ <el-input v-model="queryParams.supplierName" clearable="" placeholder="璇疯緭鍏ヤ緵搴斿晢鍚嶇О" />
+ </el-form-item>
+ </el-col>
+
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+ <el-form-item label="ERP鍗曞彿">
+ <el-input v-model="queryParams.erpOrderNo" clearable="" placeholder="璇疯緭鍏RP鍗曞彿" />
+ </el-form-item>
+ </el-col>
+
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+ <el-form-item label="椤圭洰鍙�">
+ <el-input v-model="queryParams.projectNo" clearable="" placeholder="璇疯緭鍏ラ」鐩彿" />
+ </el-form-item>
+ </el-col> -->
+
+
+ <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+ <el-form-item>
+ <el-button-group style="display: flex; align-items: center">
+ <el-button type="primary" icon="ele-Search" @click="handleQuery"> 鏌ヨ </el-button>
+ <el-button icon="ele-Refresh" @click="() => (queryParams = {})"> 閲嶇疆 </el-button>
+ <!-- <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI" style="margin-left: 5px"> 楂樼骇鏌ヨ </el-button>
+ <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI" style="margin-left: 5px"> 闅愯棌 </el-button> -->
+
+ </el-button-group>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ </el-card>
+ <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+ <div class="table-container">
+ <!-- 宸︿晶琛ㄦ牸 -->
+ <div class="left-table">
+ <p class="text-xtiny">榻愬鍒楄〃</p>
+
+ <el-table :data="tableData" style="width: 100%" v-loading="loading" tooltip-effect="light" ref="tableRef" row-key="id" @sort-change="sortChange" :summary-method="getExportTitle" border="">
+ <el-table-column type="index" label="搴忓彿" width="55" align="center" />
+ <!-- <el-table-column prop="packageCode" label="鍖呰鍙�" show-overflow-tooltip="" /> -->
+ <el-table-column label="鍖呰鍙�" prop="packageCode" width="150" align="left" show-overflow-tooltip>
+ <template #default="scope">
+ <span class="under_line" @click="openDrawer(1, scope.row)">
+ {{ scope.row.packageCode }}
+ </span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="count" label="鏁伴噺" show-overflow-tooltip="" />
+
+ <!-- <el-table-column prop="placeCode" label="搴撲綅缂栫爜" show-overflow-tooltip="" />
+ <el-table-column prop="inTime" label="杩涘叆鏃堕棿" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" />
+ <el-table-column prop="upi" label="閮ㄤ欢鏉$爜" show-overflow-tooltip="" />
+ <el-table-column prop="detailName" label="閮ㄤ欢鍚嶇О" show-overflow-tooltip="" />
+ <el-table-column prop="planNo" label="鎵规" show-overflow-tooltip="" />
+ <el-table-column prop="orderId" label="璁㈠崟鍙�" show-overflow-tooltip="" />
+ <el-table-column prop="length" label="闀�" show-overflow-tooltip="" />
+ <el-table-column prop="width" label="瀹�" show-overflow-tooltip="" />
+ <el-table-column prop="thk" label="鍘�" show-overflow-tooltip="" /> -->
+ </el-table>
+ </div>
+
+ <!-- 鍙充晶琛ㄦ牸 -->
+ <div class="right-table">
+ <p class="text-xtiny">涓嶉綈濂楀垪琛�</p>
+ <el-table
+ :data="newTableData"
+ style="width: 100%"
+ v-loading="loading"
+ tooltip-effect="light"
+ ref="newTableRef"
+ row-key="newId"
+ @sort-change="newSortChange"
+ :summary-method="getNewExportTitle"
+ border=""
+ >
+ <el-table-column type="index" label="搴忓彿" width="55" align="center" />
+ <!-- <el-table-column prop="packageCode" label="鍖呰鍙�" show-overflow-tooltip="" /> -->
+ <el-table-column label="鍖呰鍙�" prop="packageCode" width="150" align="left" show-overflow-tooltip>
+ <template #default="scope">
+ <span class="under_line" @click="openDrawer(1, scope.row)">
+ {{ scope.row.packageCode }}
+ </span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="count" label="鏁伴噺" show-overflow-tooltip="" />
+
+ <!-- <el-table-column prop="placeCode" label="搴撲綅缂栫爜" show-overflow-tooltip="" />
+ <el-table-column prop="inTime" label="杩涘叆鏃堕棿" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" />
+ <el-table-column prop="upi" label="閮ㄤ欢鏉$爜" show-overflow-tooltip="" />
+ <el-table-column prop="detailName" label="閮ㄤ欢鍚嶇О" show-overflow-tooltip="" />
+ <el-table-column prop="planNo" label="鎵规" show-overflow-tooltip="" />
+ <el-table-column prop="orderId" label="璁㈠崟鍙�" show-overflow-tooltip="" />
+ <el-table-column prop="length" label="闀�" show-overflow-tooltip="" />
+ <el-table-column prop="width" label="瀹�" show-overflow-tooltip="" />
+ <el-table-column prop="thk" label="鍘�" show-overflow-tooltip="" /> -->
+ </el-table>
+ </div>
+ </div>
+ </el-card>
+
+ <editDialogWmsOrderDeliver ref="editDialogRefWmsOrderDeliver" :title="editWmsOrderDeliverTitle" @reloadTable="handleQuery" />
+ <importExcelDialog
+ ref="importExcelDialogRefWmsOrderDeliver"
+ :title="importExcelTitleWmsOrderDeliver"
+ @parentUploadFun="handleImportExcelWmsOrderDeliver"
+ @parentDownFun="handleDownExcelWmsOrderDeliver"
+ />
+ <!-- 鎵�鏈夊脊妗� 锛氭柊澧� 缂栬緫 璇︽儏 -->
+ <open-allprop titleAuthor="1" hexiao="0" ref="propALlProp" @getTabelData="handleQuery"></open-allprop>
+ </div>
+</template>
+
+<script lang="ts" setup="" name="wmsOrderPurchase">
+import { getCurrentInstance, nextTick, onMounted, ref } from 'vue';
+import { ElMessageBox, ElMessage } from 'element-plus';
+import { auth } from '/@/utils/authFunction';
+import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+import { formatDate, formatDate_T_Date, formatDate_T_Time, defaultTimeRange } from '/@/utils/formatTime';
+import { pageBaseCustomer } from '/@/api/main/WmsBase/baseCustomer';
+import { formatUtcToData, getTypeStatus } from '/@/utils/formate';
+import printDialog from '/@/views/system/print/component/hiprint/preview.vue';
+import editDialog from '/@/views/main/WmsOrder/wmsOrderPurchase/component/editDialog.vue';
+import {
+ pageWmsOrderPurchase,
+ deleteWmsOrderPurchase,
+ importExcelWmsOrderPurchase,
+ downloadExcelTemplateWmsOrderPurchase,
+ downloadExcelTemplateWmsOrderPurchaseAll,
+ packList,
+} from '/@/api/main/WmsOrder/wmsOrderPurchase';
+import { handleSlectDataWmsBusinessType } from '/@/utils/selectData';
+import { getAPI } from '/@/utils/axios-utils';
+import { SysEnumApi } from '/@/api-services/api';
+import commonFunction from '/@/utils/commonFunction';
+import importExcelDialog from '/@/components/importExcel/index.vue'; //寮曞叆瀵煎叆缁勪欢
+import { exportPageExcel } from '/@/utils/exportPageExcel'; //寮曞叆瀵煎嚭鏂规硶
+import OpenAllprop from './component/openAllprop.vue';
+import { ExcellTableDataExport } from '/@/hooks/exportTableDataExcell';
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+const moveType = 10; //绉诲姩绫诲瀷 鍏ュ簱
+// ------------灏佽瀵煎嚭鍔熻兘--鍓嶇瀵煎嚭+琛ㄦ牸鏍囬---------------
+const jsonExcellTableExport = {
+ titleName: '', //瀵煎嚭琛ㄦ牸鍚嶇О
+ interfaceListName: '', //瀵煎嚭鎺ュ彛鍚嶇О
+};
+const { getExportTitle, handleExportExcell, formExport, entozhExcell } = ExcellTableDataExport(jsonExcellTableExport);
+// --------------end 灏佽瀵煎嚭鍔熻兘--鍓嶇瀵煎嚭+琛ㄦ牸鏍囬-----------------
+// ---------------鏂板-----------------------
+const showProp = (item?: any) => {
+ if (item == 1) {
+ proxy.$refs['propALlProp'].openDialog(1);
+ } else {
+ proxy.$refs['propALlProp'].openDialog(2, item);
+ }
+};
+// ---------------璇︽儏-----------------------
+const openDrawer = (type: number, item?: any) => {
+ proxy.$refs['propALlProp'].openDrawer(type, item, entozhExcell);
+};
+// ---------------end璇︽儏-----------------------
+
+const getBusinessTypeData_Index = ref<any>([]); //涓氬姟绫诲瀷 create by liuwq
+const getEnumOrderTypeData_Index = ref<any>([]);
+// const getEnumBusinessTypeData_Index = ref<any>([]); //update by liuwq
+const getEnumPoStatusData_Index = ref<any>([]);
+
+const { getEnumDesc } = commonFunction();
+
+const getEnumOrderSocureData_Index = ref<any>([]);
+
+const showAdvanceQueryUI = ref(false);
+const printDialogRef = ref();
+const editDialogRef = ref();
+const loading = ref(false);
+const tableData = ref<any>([]);
+const queryParams = ref<any>({});
+const tableParams = ref({
+ page: 1,
+ pageSize: 10,
+ total: 0,
+});
+
+const printWmsOrderPurchaseTitle = ref('');
+const editWmsOrderPurchaseTitle = ref('');
+
+// 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+const changeAdvanceQueryUI = () => {
+ showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
+};
+
+const newTableData = ref([]);
+
+const fetchNewTableData = async () => {
+ loading.value = true;
+ try {
+ const response = await fetch('your-api-endpoint'); // 鏇挎崲涓烘偍鐨凙PI鍦板潃
+ const data = await response.json();
+ newTableData.value = data;
+ } catch (error) {
+ console.error('鑾峰彇鏂拌〃鏁版嵁閿欒:', error);
+ } finally {
+ loading.value = false;
+ }
+};
+
+const newSortChange = ({ prop, order }) => {
+ console.log(`鎺掑簭瀛楁: ${prop}, 鎺掑簭椤哄簭: ${order}`);
+ // 澶勭悊鎺掑簭閫昏緫
+};
+
+const openNewDrawer = (type, row) => {
+ console.log('鎵撳紑鏂扮殑鎶藉眽锛岀被鍨�:', type, ', 鏁版嵁:', row);
+};
+
+const getNewExportTitle = () => {
+ return '鏂拌〃鏍煎鍑烘爣棰�';
+};
+
+// 88888888鏌ヨ鎿嶄綔
+const handleQuery = async () => {
+ loading.value = true;
+ var res = await packList(Object.assign(queryParams.value, {
+ ...tableParams.value,
+ IsPack:true
+ }));
+ tableData.value = res.data.result ?? [];
+ var res2 = await packList(Object.assign(queryParams.value, {
+ ...tableParams.value,
+ IsPack:false
+ }));
+
+ newTableData.value = res2.data.result ?? [];
+
+ // tableParams.value.total = res.data.result?.total;
+ loading.value = false;
+ // getEnumOrderTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? [];
+
+ // getEnumPoStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+};
+
+// 鍒楁帓搴�
+const sortChange = async (column: any) => {
+ queryParams.value.field = column.prop;
+ queryParams.value.order = column.order;
+ await handleQuery();
+};
+
+// 鎵撳紑鏂板椤甸潰
+const openAddWmsOrderPurchase = () => {
+ editWmsOrderPurchaseTitle.value = '娣诲姞PO鍗�';
+ editDialogRef.value.openDialog({});
+};
+
+// 鎵撳紑鎵撳嵃椤甸潰
+const openPrintWmsOrderPurchase = async (row: any) => {
+ printWmsOrderPurchaseTitle.value = '鎵撳嵃PO鍗�';
+};
+
+// 鎵撳紑缂栬緫椤甸潰
+const openEditWmsOrderPurchase = (row: any) => {
+ editWmsOrderPurchaseTitle.value = '缂栬緫PO鍗�';
+ editDialogRef.value.openDialog(row);
+};
+
+// 鍒犻櫎
+const delWmsOrderPurchase = (row: any) => {
+ ElMessageBox.confirm(`纭畾瑕佸彇娑堝悧?`, '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning',
+ })
+ .then(async () => {
+ await deleteWmsOrderPurchase(row);
+ handleQuery();
+ ElMessage.success('鍙栨秷鎴愬姛');
+ })
+ .catch(() => {});
+};
+
+// 鏀瑰彉椤甸潰瀹归噺
+const handleSizeChange = (val: number) => {
+ tableParams.value.pageSize = val;
+ handleQuery();
+};
+
+// 鏀瑰彉椤电爜搴忓彿
+const handleCurrentChange = (val: number) => {
+ tableParams.value.page = val;
+ handleQuery();
+};
+
+// 鏍规嵁businessTypeValue鑾峰彇businessTypeName
+const getBusinessTypeByValue = (key: any, itemLst: any) => {
+ return itemLst.find((x: any) => x.businessTypeValue == key)?.businessTypeName;
+};
+
+handleQuery();
+
+//================
+const arrTdp = ref<any[]>([]);
+const queryParamsW = ref<any>({});
+const tableParamsW = ref({
+ page: 1,
+ pageSize: 200,
+ total: 0,
+ custType: '渚涘簲鍟�',
+});
+
+//-----------------杩滅▼鎼滅储----------------
+const handleQueryTdp = async () => {
+ var res = await pageBaseCustomer(Object.assign(queryParamsW.value, tableParamsW.value));
+ arrTdp.value = res.data.result?.items ?? [];
+};
+const changeXmbh = async (query?: any) => {
+ loading.value = true;
+ var res = await pageBaseCustomer({
+ page: 1,
+ pageSize: 200,
+ custCode: query,
+ custType: '渚涘簲鍟�',
+ });
+ loading.value = false;
+ arrTdp.value = res.data.result?.items ?? [];
+};
+// 杩滅▼鎼滅储 杈撳叆鍏抽敭瀛椾互浠庤繙绋嬫湇鍔″櫒涓煡鎵炬暟鎹��
+const remoteMethod = async (query: string) => {
+ loading.value = true;
+ var res = await pageBaseCustomer({
+ page: 1,
+ pageSize: 200,
+ custCode: query,
+ custType: '渚涘簲鍟�',
+ });
+ loading.value = false;
+ arrTdp.value = res.data.result?.items ?? [];
+};
+//-----------------杩滅▼鎼滅储----------------
+
+const getEnumDockData = ref<any>([]);
+
+onMounted(async () => {
+ nextTick(async () => {
+ // getBusinessTypeData_Index.value = await handleSlectDataWmsBusinessType(moveType); //涓嬫媺璇诲彇鎺ュ彛
+ // getEnumDockData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('DockEnum')).data.result ?? [];
+ // getEnumOrderSocureData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('SourceByEnum')).data.result ?? [];
+ });
+});
+
+/***************************************************[DO鍗曟搷浣淽缁撴潫***************************************************/
+/***************************************************[DO鍗曞鍏寮�濮�***************************************************/
+const printWmsOrderDeliverTitle = ref('');
+const editWmsOrderDeliverTitle = ref('');
+const importExcelTitleWmsOrderDeliver = ref('');
+const importExcelDialogRefWmsOrderDeliver = ref();
+//鎵撳紑瀵煎叆鐣岄潰
+const openImportExcelWmsOrderDeliver = () => {
+ importExcelTitleWmsOrderDeliver.value = '瀵煎叆PO鍗�';
+ importExcelDialogRefWmsOrderDeliver.value.openDialog({});
+};
+//瀵煎叆鏁版嵁
+const handleImportExcelWmsOrderDeliver = async (formData: Blob) => {
+ var result = await importExcelWmsOrderPurchase(formData);
+ importExcelDialogRefWmsOrderDeliver.value.callBackUploadFun(result.data); //鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+ if (result.data.type == 'success') {
+ handleQuery();
+ }
+};
+//涓嬭浇瀵煎叆妯℃澘
+const handleDownExcelWmsOrderDeliver = async () => {
+ var result = await downloadExcelTemplateWmsOrderPurchase();
+ importExcelDialogRefWmsOrderDeliver.value.callBackDownFun(result); //鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+};
+/***************************************************[DO鍗曞鍏缁撴潫***************************************************/
+/***************************************************[DO鍗曞鍑篯寮�濮�***************************************************/
+
+//瀵煎嚭
+const handExport = () => {
+ downloadExcelTemplateWmsOrderPurchaseAll(queryParams.value).then((res) => {
+ if (res.status == 200) {
+ const link = document.createElement('a'); //鍒涘缓a鏍囩
+ let blob = new Blob([res.data], { type: 'application/vnd.ms-excel' }); // response灏辨槸鎺ュ彛杩斿洖鐨勬枃浠舵祦
+ let objectUrl = URL.createObjectURL(blob);
+ link.href = objectUrl;
+ link.download = `PO鍗曞鍑�${formatUtcToData(new Date().toString(), 'YYYY-MM-DD hh:mm:ss')}`; // 鑷畾涔夋枃浠跺悕
+ link.click(); // 涓嬭浇鏂囦欢
+ URL.revokeObjectURL(objectUrl); // 閲婃斁鍐呭瓨
+ }
+ });
+};
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+ width: 100%;
+}
+
+.under_line {
+ color: #f18201;
+ text-decoration: underline;
+ cursor: pointer;
+}
+.table-container {
+ display: flex; /* 浣跨敤 flexbox 甯冨眬 */
+ justify-content: space-between; /* 琛ㄦ牸涔嬮棿淇濇寔闂磋窛 */
+}
+
+.table-container .left-table,
+.table-container .right-table {
+ flex: 1; /* 浣挎瘡涓〃鏍煎崰鎹浉鍚屽搴� */
+ margin-right: 10px; /* 瀹氫箟鍙充晶鐨勯棿璺� */
+ width: 50%;
+}
+.text-xtiny {
+ font-size: 14px;
+ font-weight: 700;
+ display: block;
+ padding: 0 0 10px 0;
+}
+.table-container .right-table {
+ margin-right: 0; /* 鏈�鍚庝竴涓〃鏍兼病鏈夊彸闂磋窛 */
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/PrintCenter/wmsStockQuanPrint/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/shortageList/component/editDialog.vue
similarity index 100%
rename from LA24030_LuLiPackageLine_Web/src/views/main/PrintCenter/wmsStockQuanPrint/component/editDialog.vue
rename to LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/shortageList/component/editDialog.vue
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/PrintCenter/wmsStockQuanPrint/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/shortageList/index.vue
similarity index 82%
rename from LA24030_LuLiPackageLine_Web/src/views/main/PrintCenter/wmsStockQuanPrint/index.vue
rename to LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/shortageList/index.vue
index 4e6f171..87b8cea 100644
--- a/LA24030_LuLiPackageLine_Web/src/views/main/PrintCenter/wmsStockQuanPrint/index.vue
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/shortageList/index.vue
@@ -133,59 +133,41 @@
@selection-change="handleSelectionChange"
border="">
<el-table-column align="center" width="60" type="selection" />
- <el-table-column type="index" fixed="left" label="搴忓彿" width="55" align="center"/>
+ <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
- <el-table-column prop="snCode" fixed="left" width="230" label="璺熻釜鐮�" show-overflow-tooltip="" />
- <el-table-column prop="quantity" label="搴撳瓨鎬绘暟" show-overflow-tooltip="" />
- <el-table-column prop="containerCode" width="100" label="瀹瑰櫒缂栧彿" show-overflow-tooltip="" />
- <el-table-column prop="placeName" width="100" label="鎵�鍦ㄥ簱浣�" show-overflow-tooltip="" />
- <el-table-column prop="areaName" width="100" label="鎵�鍦ㄥ簱鍖�" show-overflow-tooltip="" />
- <el-table-column prop="materialCode" label="鐗╂枡缂栧彿" min-width="130px" show-overflow-tooltip="" />
- <el-table-column prop="materialName" label="鐗╂枡鍚嶇О" min-width="130px" show-overflow-tooltip="" />
-
+ <el-table-column prop="placeCode" label="搴撲綅缂栫爜" show-overflow-tooltip="" />
+ <el-table-column prop="inTime" label="杩涘叆鏃堕棿" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" />
+ <el-table-column prop="upi" label="閮ㄤ欢鏉$爜" show-overflow-tooltip="" />
+ <el-table-column prop="detailName" label="閮ㄤ欢鍚嶇О" show-overflow-tooltip="" />
+ <el-table-column prop="planNo" label="鎵规" show-overflow-tooltip="" />
+ <el-table-column prop="orderId" label="璁㈠崟鍙�" show-overflow-tooltip="" />
+ <el-table-column prop="packageCode" label="鍖呰鍙�" show-overflow-tooltip="" />
+ <el-table-column prop="length" label="闀�" show-overflow-tooltip="" />
+ <el-table-column prop="width" label="瀹�" show-overflow-tooltip="" />
+ <el-table-column prop="thk" label="鍘�" show-overflow-tooltip="" />
<el-table-column prop="stockStatus" label="搴撳瓨鐘舵��" show-overflow-tooltip="" >
<template #default="scope">
- {{ getEnumDesc(scope.row.stockStatus, getEnumStockStatusData_Index)}}
+ <el-tag>{{ getEnumDesc(scope.row.stockStatus, getEnumStockStatusData_Index)}}</el-tag>
</template>
</el-table-column>
- <el-table-column prop="qcStatus" label="璐ㄦ鐘舵��" show-overflow-tooltip="" >
+ <el-table-column prop="stockStatusName" label="搴撳瓨鐘舵�佸悕绉�" show-overflow-tooltip="" />
+ <el-table-column prop="operReason" label="鎿嶄綔鍘熷洜" show-overflow-tooltip="" />
+ <el-table-column prop="operUser" label="鎿嶄綔浜�" show-overflow-tooltip="" />
+ <el-table-column prop="operTime" label="鎿嶄綔鏃堕棿" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" />
+ <el-table-column prop="lockStatus" label="閿佸畾鐘舵��" show-overflow-tooltip="" >
<template #default="scope">
- {{ getEnumDesc(scope.row.qcStatus, getEnumQCStatusData_Index)}}
+ <el-tag>{{ getEnumDesc(scope.row.lockStatus, getEnumLockStatusData_Index)}}</el-tag>
</template>
</el-table-column>
-
- <!-- <el-table-column prop="lockedQty" label="閿佸畾鏁伴噺" show-overflow-tooltip="" /> -->
-
- <!-- todo 鍚庨潰鐪嬫�庝箞缁熻杩欎釜搴撳瓨鏁�-->
- <!-- <el-table-column prop="inStockQty" label="鍦ㄥ簱鏁伴噺" show-overflow-tooltip="" />
- <el-table-column prop="outStockQty" label="鍑哄簱鏁伴噺" show-overflow-tooltip="" />
- <el-table-column prop="inStockQty" label="鍦ㄥ簱鏁伴噺" show-overflow-tooltip="" /> -->
-
- <el-table-column prop="supplierBatch" label="渚涘簲鍟嗘壒娆�" show-overflow-tooltip="" />
- <el-table-column prop="batch" label="鎵规" min-width="130px" show-overflow-tooltip="" />
-
- <el-table-column prop="recordInsertTime" label="鏀惰揣鏃堕棿" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" />
- <el-table-column prop="supplierCode" label="渚涘簲鍟嗙紪鍙�" show-overflow-tooltip="" />
- <el-table-column prop="supplierName" label="渚涘簲鍟嗗悕绉�" show-overflow-tooltip="" />
-
- <el-table-column prop="sN_1d" width="180" label="涓�缁存潯鐮�" show-overflow-tooltip="" />
- <el-table-column prop="sN_2d" width="180" label="浜岀淮鏉$爜" show-overflow-tooltip="" />
- <el-table-column prop="erpOrderNo" label="ERP鍗曞彿" show-overflow-tooltip="" />
- <el-table-column prop="erpCode" label="ERP搴撳瓨鍦�" show-overflow-tooltip="" />
-
- <el-table-column prop="erpVoucher" width="120" label="ERP鍑瘉" show-overflow-tooltip="" />
- <!-- <el-table-column prop="actionRemark" label="鎿嶄綔澶囨敞" show-overflow-tooltip="" />
- <el-table-column prop="actionTime" label="鎿嶄綔鏃堕棿" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" /> -->
+ <el-table-column prop="lockReason" label="閿佸畾鍘熷洜" show-overflow-tooltip="" />
+ <el-table-column prop="lockUser" label="閿佸畾浜�" show-overflow-tooltip="" />
+ <el-table-column prop="lockTime" label="閿佸畾鏃堕棿" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" />
+ <el-table-column prop="remarks" label="澶囨敞" show-overflow-tooltip="" />
<el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
<el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
<el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
<el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
- <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsStockQuan:update') || auth('wmsStockQuan:delete')">
- <template #default="scope">
- <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsStockQuan(scope.row)" v-auth="'wmsStockQuan:update'"> 缂栬緫 </el-button>
- <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsStockQuan(scope.row)" v-auth="'wmsStockQuan:delete'"> 鍒犻櫎 </el-button>
- </template>
- </el-table-column>
+
</el-table>
<el-pagination
v-model:currentPage="tableParamsWmsStockQuan.page"
@@ -227,8 +209,8 @@
import commonFunction from '/@/utils/commonFunction';
import { addWmsRecordSncodePrint } from "/@/api/main/PrintCenter/wmsRecordSncodePrint";
- const getEnumStockStatusData_Index = ref<any>([]);
const getEnumQCStatusData_Index = ref<any>([]);
+ const getEnumStockStatusData_Index = ref<any>([]);
const { getEnumDesc } = commonFunction();
@@ -400,9 +382,11 @@
};
/***************************************************[瀹炴椂搴撳瓨瀵煎嚭]缁撴潫***************************************************/
// 瀹炴椂搴撳瓨椤甸潰鍔犺浇鏃�
+
+ const getEnumLockStatusData_Index = ref<any>([]);
onMounted(async () => {
getEnumStockStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('StockStatusEnum')).data.result ?? [];
- getEnumQCStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('StockQcStatusEnum')).data.result ?? [];
+ getEnumLockStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('LockStatusEnum')).data.result ?? [];
});
handleQueryWmsStockQuan();
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderAsn/component/openAllpropAsn.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderAsn/component/openAllpropAsn.vue
deleted file mode 100644
index 0d79eff..0000000
--- a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderAsn/component/openAllpropAsn.vue
+++ /dev/null
@@ -1,1774 +0,0 @@
-<template>
- <!-- 娣诲姞銆佺紪杈戙�� 鎵撳嵃-->
- <el-dialog v-model="dialogVisible" width="95%" @close="closeDialog" :close-on-click-modal="false">
- <template #header>
- <div style="color: #fff">
- <span v-if="dialogType == 'add'">
- 娣诲姞
- </span>
- <span v-if="dialogType == 'edit'">
- 缂栬緫
- </span>
- <span v-if="dialogType == 'print'">
- 鎵撳嵃
- </span>
- </div>
- </template>
-
- <!-- 娣诲姞 缂栬緫-->
- <div v-if="dialogType != 'print'">
- <el-form :model="addForm" ref="dialogRef" labelWidth="90" :rules="formRules" style="width: 60%">
- <el-row>
- <!-- 鍚庣榛樿鏄� ASN鍗� update by liuwq 2024-05-23 -->
-
- <!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="璁㈠崟绫诲瀷" prop="asnType">
- <el-select :disabled="dialogType != 'add'" clearable v-model="addForm.asnType" placeholder="璇烽�夋嫨璁㈠崟绫诲瀷">
- <el-option v-for="(item, index) in getEnumOrderTypeData" :key="index" :value="item.value"
- :label="`${item.describe}`"></el-option>
- </el-select>
- </el-form-item>
- </el-col> -->
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="8" class="mb10">
- <el-form-item label="涓氬姟绫诲瀷" prop="businessType">
- <el-select clearable v-model="addForm.businessType" placeholder="璇烽�夋嫨涓氬姟绫诲瀷" :disabled="showYwlx">
- <el-option v-for="(item, index) in getBusinessTypeData_Index" :key="index" :value="item.businessTypeValue"
- :label="`[${item.businessTypeValue}] ${item.businessTypeName}`"></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
- <el-form-item label="鑷姩鐢熸垚鏉$爜">
- <el-switch v-model="addForm.hasTMCode" active-text="鏄�" inactive-text="鍚�" />
- </el-form-item>
- </el-col>
- <el-col
- :xs="24"
- :sm="12"
- :md="12"
- :lg="8"
- :xl="4"
- class="mb10"
- v-show="addForm.hasTMCode"
- >
- <el-form-item label="鏉$爜绫诲瀷">
- <el-switch
- v-model="addForm.typeTMCode"
- active-text="涓�缁�"
- inactive-text="浜岀淮"
- />
- </el-form-item>
- </el-col> -->
-
- <!-- 榛樿ERP搴撳瓨鍦� -->
- <!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="渚涘簲鍟嗙紪鍙�" prop="supplierCode">
- <el-select
- v-model="addForm.supplierCode"
- filterable
- remote
- reserve-keyword
- remote-show-suffix
- :remote-method="remoteMethod"
- :loading="loading"
- placeholder="璇烽�夋嫨鏇夸唬鍝佺墿鏂欑紪鍙�"
- clearable
- style="width: 100%"
- @change="changeXmbh(addForm.supplierCode)"
- >
- <el-option
- v-for="(item, index) in arrTdp"
- :key="index"
- :value="item.custCode"
- :label="`[${item.custCode}]${item.custChinaName}`"
- ></el-option>
- </el-select>
- </el-form-item>
- </el-col> -->
-
- <!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="ERP鍗曞彿" prop="erpOrderNo">
- <el-input
- v-model="addForm.erpOrderNo"
- placeholder="璇疯緭鍏RP鍗曞彿"
- maxlength="50"
- show-word-limit
- clearable
- />
- </el-form-item>
- </el-col> -->
-
- <!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="椤圭洰鍙�" prop="projectNo">
- <el-input v-model="addForm.projectNo" placeholder="璇疯緭鍏ラ」鐩彿" maxlength="50" show-word-limit
- clearable />
- </el-form-item>
- </el-col> -->
- </el-row>
- </el-form>
- <div class="msi-content" style="margin-top: 10px">
- <div class="header" style="margin-bottom: 10px">
- <div>
- <el-button v-show="isMaterialBox == true" type="primary" icon="el-icon-plus"
- @click="addMaterialDialog">鏂板鐗╂枡</el-button>
- <el-button v-show="isPoBox == true" type="primary" icon="el-icon-plus"
- @click="addMaterialDialog('po')">鍏宠仈PO鍗�</el-button>
-
- <el-button icon="el-icon-delete" plain :disabled="checkedDetails.length == 0"
- @click="delCheckedDetails">鍒犻櫎閫変腑琛�</el-button>
- </div>
- </div>
- <el-table :data="warehousOrderDetails" border style="width: 100%" row-key="setRowKey" ref="detailRef"
- v-loading="loading" @selection-change="detailsCheckChange" max-height="480">
- <el-table-column align="center" width="60" type="selection" />
- <el-table-column fixed="left" label="搴忓彿" align="center" width="60" type="index" />
- <el-table-column fixed="left" label="鐗╂枡缂栧彿" min-width="140" prop="materialCode" align="center"
- show-overflow-tooltip />
- <el-table-column label="鐗╂枡鍚嶇О" min-width="100" prop="materialName" align="center" show-overflow-tooltip />
- <el-table-column v-if="isPoBox == 1" label="PO鍗曞彿" min-width="130" prop="poNo" align="center"
- show-overflow-tooltip />
-
- <el-table-column v-if="isPoBox == 1" label="PO琛屽彿" prop="poLineNumber" align="center" min-width="120">
- <template #default="scope">
- {{ scope.row.poLineNumber }}
- </template>
- </el-table-column>
-
- <el-table-column label="ASN琛屽彿" prop="asnLineNumber" align="center" v-if="dialogType != 'add'" min-width="120">
- <template #default="scope">
- {{ scope.row.asnLineNumber }}
- </template>
- </el-table-column>
-
- <el-table-column label="鏁伴噺" align="center" min-width="150">
- <template #default="scope">
- <el-input-number :precision="3" min="0" v-model="scope.row.poQuantity" size="small" />
- </template>
- </el-table-column>
-
- <el-table-column label="璁″垝寮�濮嬫椂闂�" align="center" min-width="180">
- <template #default="scope">
- <el-date-picker v-model="scope.row.plannedStartTime" type="datetime" :disabled-date="disabledDate"
- value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss" placeholder="璇烽�夋嫨璁″垝寮�濮嬫椂闂�"
- style="width: 100%" />
- </template>
- </el-table-column>
- <el-table-column label="璁″垝缁撴潫鏃堕棿" align="center" min-width="180">
- <template #default="scope">
- <el-date-picker v-model="scope.row.plannedEndTime" type="datetime" :disabled-date="disabledDate"
- value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss" placeholder="璇烽�夋嫨璁″垝缁撴潫鏃堕棿"
- style="width: 100%" />
- </template>
- </el-table-column>
-
- <el-table-column label="渚涘簲鍟�" align="center" min-width="180">
- <template #default="scope">
- <!-- @click="changeXmbh(scope.row.supplierCode,scope.row.materialCode,scope.row)"
- :loading="loading"
- placeholder="璇烽�夋嫨渚涘簲鍟�"
- clearable
-
- :remote = "false"
- :defaultActiveFirstOption="false"
- reserve-keyword
- remote-show-suffix :remote-method="remoteMethod(scope.row.supplierCode,scope.row.materialName)"
-
-
-
- :loading="loading"
- placeholder="璇烽�夋嫨渚涘簲鍟�"
- clearable
- filterable
- :defaultActiveFirstOption="false"
- reserve-keyword
- remote-show-suffix
- :remote-method="(val:any) => changeXmbh(val,scope.row.materialName)"
-
- -->
- <el-select filterable v-model="scope.row.supplierCode" style="width: 100%"
- @click.native="changeXmbh(scope.row.supplierCode, scope.row.materialCode, scope.row)">
- <el-option v-for="(item, index) in scope.row.arrTdp" :key="index" :value="item.custCode"
- :label="`[${item.custCode}]${item.custChinaName}`"></el-option>
- </el-select>
- </template>
- </el-table-column>
- <el-table-column label="渚涘簲鍟嗘壒娆�" prop="supplierBatch" align="center" min-width="120">
- <template #default="scope">
- <el-input v-model.trim="scope.row.supplierBatch" clearable min-width="150" placeholder="璇疯緭鍏ヤ緵搴斿晢鎵规" />
- </template>
- </el-table-column>
-
- <el-table-column label="ERP搴撳瓨鍦�" prop="erpCode" align="center" min-width="120">
- <template #default="scope">
- <el-input v-model.trim="scope.row.erpCode" clearable min-width="150" placeholder="璇疯緭鍏RP搴撳瓨鍦�" />
- </template>
- </el-table-column>
-
- <el-table-column label="椤圭洰鍙�" prop="projectNo" align="center" min-width="120">
- <template #default="scope">
- <el-input v-model.trim="scope.row.projectNo" clearable min-width="150" placeholder="璇疯緭鍏ラ」鐩彿" />
- </template>
- </el-table-column>
-
- <el-table-column label="鏀惰揣閬撳彛" prop="dock" align="center" min-width="120">
- <template #default="scope">
- <!-- <el-input v-model.trim="scope.row.dock" clearable min-width="150" placeholder="璇疯緭鍏ユ敹璐ч亾鍙�" /> -->
-
- <el-select clearable v-model="scope.row.dock" placeholder="璇烽�夋嫨鏀惰揣閬撳彛">
- <el-option v-for="(item, index) in getEnumDockData" :key="index" :value="item.value"
- :label="`${item.describe}`"></el-option>
- </el-select>
- </template>
- </el-table-column>
-
- <el-table-column label="鏄惁鍐荤粨" prop="isFreeze" align="center" min-width="120">
- <template #default="scope">
- <el-switch v-model="scope.row.isFreeze" active-text="鏄�" inactive-text="鍚�" />
- </template>
- </el-table-column>
-
- <el-table-column label="鍐荤粨鍘熷洜" prop="freezeReason" align="center" min-width="120">
- <template #default="scope">
- <el-input v-model="scope.row.freezeReason" placeholder="璇疯緭鍏ュ喕缁撳師鍥�" maxlength="255" show-word-limit
- clearable />
- </template>
- </el-table-column>
-
- <el-table-column label="閲囪喘鍗曚綅" min-width="80" prop="poUnit" align="center" show-overflow-tooltip />
- <el-table-column label="搴撳瓨鍗曚綅" min-width="80" prop="materialUnit" align="center" show-overflow-tooltip />
- </el-table>
- </div>
- </div>
- <!-- 鎵撳嵃 -->
- <div v-if="dialogType == 'print'">
- <el-table :data="warehousOrderDetails" border style="width: 100%" row-key="setRowKey" ref="detailRef"
- @selection-change="detailsCheckChange" max-height="480">
- <el-table-column align="center" width="60" type="selection" />
- <el-table-column fixed="left" label="搴忓彿" align="center" width="60" type="index" />
- <el-table-column fixed="left" label="鐗╂枡缂栧彿" min-width="140" prop="materialCode" align="center"
- show-overflow-tooltip />
- <el-table-column label="鐗╂枡鍚嶇О" min-width="100" prop="materialName" align="center" show-overflow-tooltip />
-
- <el-table-column label="ASN琛屽彿" prop="asnLineNumber" align="center" min-width="120">
- <template #default="scope">
- {{ scope.row.asnLineNumber }}
- </template>
- </el-table-column>
- <el-table-column label="鏁伴噺" align="center" min-width="150">
- <template #default="scope">
- {{ scope.row.quantity }}
- </template>
- </el-table-column>
-
- <el-table-column label="璁″垝寮�濮嬫椂闂�" align="center" min-width="180">
- <template #default="scope">
- {{ scope.row.plannedStartTime }}
- </template>
- </el-table-column>
- <el-table-column label="璁″垝缁撴潫鏃堕棿" align="center" min-width="180">
- <template #default="scope">
- {{ scope.row.plannedEndTime }}
- </template>
- </el-table-column>
-
- <el-table-column label="渚涘簲鍟�" align="center" min-width="180">
- <template #default="scope">
- {{ scope.row.supplierCode }}
- </template>
- </el-table-column>
- <el-table-column label="渚涘簲鍟嗘壒娆�" prop="supplierBatch" align="center" min-width="120">
- <template #default="scope">
- {{ scope.row.supplierBatch }}
- </template>
- </el-table-column>
- <el-table-column label="搴撳瓨鍗曚綅" min-width="80" prop="materialUnit" align="center" show-overflow-tooltip />
-
- <el-table-column prop="sN_1d" min-width="120px" label="涓�缁存潯鐮�" show-overflow-tooltip="" />
- <el-table-column prop="sN_2d" min-width="120px" label="浜岀淮鏉$爜" show-overflow-tooltip="" />
-
- </el-table>
-
- </div>
-
-
- <template #footer>
- <span class="dialog-footer">
- <el-button @click="dialogVisible = false">鍙栨秷</el-button>
- <el-button type="primary" :disabled="disabled_btn" @click="confirm">纭</el-button>
- </span>
- </template>
- </el-dialog>
- <!-- 娣诲姞鐗╂枡 -->
- <el-dialog v-model="addMaterialVisible" width="80%" @close="closeMaterialDialog">
- <template #header>
- <div style="color: #fff">
- <span v-if="isMaterialBox == 1">娣诲姞鐗╂枡璇︽儏</span>
- <span v-if="isPoBox == 1">鍏宠仈PO鍗曠墿鏂�</span>
- </div>
- </template>
-
- <div class="msi-form" style="padding-top: 0px">
- <el-form :model="materialForm" labelWidth="90">
- <el-row>
- <el-col :span="8" v-if="isMaterialBox == 1">
- <el-form-item label="鐗╂枡缂栧彿">
- <el-input v-model="materialForm.materialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" clearable></el-input>
- </el-form-item>
- </el-col>
- <!-- 鍏宠仈PO鍗曞彿 -->
-
- <el-col :span="6" v-if="isPoBox == 1">
- <el-form-item label="PO鍗曞彿:">
- <el-input v-model="materialForm.poNo" placeholder="璇疯緭鍏O鍗曞彿" clearable></el-input>
- </el-form-item>
- </el-col>
-
- <el-col :span="6" v-if="isPoBox == 1">
- <el-form-item label="椤圭洰鍙�" prop="projectNo">
- <el-input v-model="materialForm.projectNo" placeholder="璇疯緭鍏ラ」鐩彿" maxlength="50" show-word-limit clearable />
- </el-form-item>
- </el-col>
- <el-col :span="6" v-if="isPoBox == 1">
- <el-form-item label="鐗╂枡缂栧彿">
- <el-input v-model="materialForm.materialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" clearable></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="6" v-if="isPoBox == 1" style="margin-bottom: 10px">
- <el-form-item label="渚涘簲鍟�" prop="supplierCode">
- <el-select v-model="materialForm.supplierCode" filterable remote reserve-keyword remote-show-suffix
- :remote-method="remoteMethod2" :loading="loading" placeholder="璇烽�夋嫨渚涘簲鍟�" clearable style="width: 100%">
- <el-option v-for="(item, index) in arrTdp2" :key="index" :value="item.custCode"
- :label="`[${item.custCode}]${item.custChinaName}`"></el-option>
- </el-select>
- </el-form-item>
- </el-col>
-
- <el-col :span="6" v-if="isPoBox == 1">
- <el-form-item label="璁″垝鏃堕棿">
- <el-date-picker placeholder="璇烽�夋嫨璁″垝鏃堕棿" value-format="YYYY/MM/DD" type="daterange"
- v-model="materialForm.plannedStartTimeRange" />
- </el-form-item>
- </el-col>
-
- <!-- <el-form-item label="璁″垝鏃堕棿">
- <el-date-picker placeholder="璇烽�夋嫨璁″垝鏃堕棿" value-format="YYYY/MM/DD" type="datetime" v-model="materialForm.plannedStartTimeRange" />
- </el-form-item> -->
-
- <!-- <el-col :span="6" v-if="isPoBox == 1">
- <el-form-item label="璁″垝缁撴潫鏃堕棿">
- <el-date-picker placeholder="璇烽�夋嫨璁″垝缁撴潫鏃堕棿" value-format="YYYY/MM/DD" type="datetime" v-model="materialForm.plannedEndTimeRange" />
- </el-form-item>
- </el-col> -->
-
- <el-col :span="4">
- <el-form-item label-width="20px">
- <el-button type="primary" icon="el-icon-search" @click="getMaterialList">鏌ヨ</el-button>
- <!-- <el-button icon="el-icon-refresh-right" @click="resetMaterialForm">閲嶇疆</el-button> -->
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
- </div>
- <div class="msi-content" style="padding-top: 0; margin-top: 10px">
- <el-table :data="materialList" border style="width: 100%" row-key="id" ref="materialRef"
- @selection-change="materialSelectionChange" :max-height="480" v-if="isMaterialBox == 1">
- <el-table-column align="center" width="60" type="selection" />
- <el-table-column label="搴忓彿" align="center" width="60" type="index" />
- <el-table-column label="鐗╂枡缂栧彿" prop="materialCode" align="center" min-width="140px" show-overflow-tooltip />
- <el-table-column label="鐗╂枡鍚嶇О" prop="materialName" align="center" min-width="140px" show-overflow-tooltip />
- <el-table-column prop="isCheck" label="鏄惁璐ㄦ" show-overflow-tooltip="">
- <template #default="scope">
- <el-tag v-if="scope.row.isCheck"> 鏄� </el-tag>
- <el-tag type="danger" v-else> 鍚� </el-tag>
-
- </template>
- </el-table-column>
- <el-table-column label="閲囪喘鍗曚綅" prop="poUnit" align="center" show-overflow-tooltip />
- <el-table-column label="搴撳瓨鍗曚綅" prop="materialUnit" align="center" show-overflow-tooltip />
- </el-table>
- <!-- PO鍗� -->
- <el-table :data="materialList" border style="width: 100%" row-key="id" ref="materialRef"
- @selection-change="materialSelectionChange" :max-height="480" v-if="isPoBox == 1">
- <el-table-column align="center" width="60" type="selection" />
- <el-table-column label="搴忓彿" align="center" width="60" type="index" />
- <el-table-column prop="poNo" label="PO鍗曞彿" min-width="160px" show-overflow-tooltip="" />
- <el-table-column prop="poLineNumber" label="PO琛屽彿" show-overflow-tooltip="" />
- <!-- <el-table-column prop="erpOrderNo" label="ERP鍗曞彿" show-overflow-tooltip="" /> -->
- <!-- <el-table-column prop="erpCode" label="ERP搴撳瓨鍦�" show-overflow-tooltip="" /> -->
- <el-table-column prop="materialCode" label="鐗╂枡缂栧彿" min-width="120px" show-overflow-tooltip="" />
- <el-table-column prop="materialName" label="鐗╂枡鍚嶇О" min-width="120px" show-overflow-tooltip="" />
- <el-table-column prop="poDetailStatusName" label="鍗曟嵁鐘舵��" show-overflow-tooltip="">
- <template #default="scope">
- <el-tag :type="getTypeStatus(1, scope.row.poDetailStatusName)">{{ scope.row.poDetailStatusName }} </el-tag>
- </template>
- </el-table-column>
-
- <el-table-column prop="quantity" label="鏁伴噺" show-overflow-tooltip="" />
- <!-- <el-table-column prop="goodsQuantity" label="宸叉敹鏁伴噺" show-overflow-tooltip="" /> -->
- <el-table-column prop="createASNQuantity" min-width="110px" label="宸插垱寤篈SN鏁伴噺" show-overflow-tooltip="" />
-
-
- <el-table-column prop="usedQty" label="鍓╀綑鍙敤鏁�" show-overflow-tooltip="">
- <template #default="scope">
- <span> {{ Number(scope.row.usedQty).toFixed(3).replace(/\.?0*$/, '') }} </span>
- </template>
- </el-table-column>
-
-
- <el-table-column prop="snp" label="鏍囧寘鏁伴噺" show-overflow-tooltip="">
- <template #default="scope">
- <span> {{ scope.row.snp }} </span>
- </template>
- </el-table-column>
-
- <!-- <el-table-column prop="printQuantity" label="鏉$爜鎵撳嵃鏁伴噺" show-overflow-tooltip="" /> -->
-
- <!-- <el-table-column prop="poDetailStatus" label="鐘舵��" show-overflow-tooltip="">
- <template #default="scope">
- {{ scope.row.poDetailStatus }}
- <el-tag>{{ getEnumDesc(scope.row.poDetailStatus, getEnumPoDetailStatusData_Index) }}</el-tag>
- </template>
- </el-table-column> -->
- <el-table-column prop="supplierCode" label="渚涘簲鍟嗙紪鍙�" show-overflow-tooltip="" />
- <el-table-column prop="supplierName" label="渚涘簲鍟嗗悕绉�" show-overflow-tooltip="" />
- <el-table-column prop="plannedStartTime" label="璁″垝寮�濮嬫椂闂�" min-width="130px" show-overflow-tooltip="" />
- <el-table-column prop="plannedEndTime" label="璁″垝缁撴潫鏃堕棿" min-width="130px" show-overflow-tooltip="" />
- <el-table-column prop="projectNo" min-width="100px" label="椤圭洰鍙�" show-overflow-tooltip="" />
-
- <!-- <el-table-column prop="dock" min-width="100px" label="鏀惰揣閬撳彛" show-overflow-tooltip="" /> -->
-
- <!-- <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
- <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
- <el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
- <el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" /> -->
- </el-table>
-
- <Pagination :total="materialTotal" v-model:page="materialForm.Page" v-model:limit="materialForm.PageSize"
- @pagination="getMaterialList" style="margin-top: 20px; text-align: center"></Pagination>
- </div>
- <template #footer>
- <span class="dialog-footer">
- <el-button @click="addMaterialVisible = false">鍙栨秷</el-button>
- <el-button type="primary" @click="confirmAddMaterial">纭</el-button>
- </span>
- </template>
- </el-dialog>
- <!-- 鍗曡鎯� -->
- <el-drawer v-model="drawerVisible" :title="`${detailForm.asnId}璁㈠崟璇︽儏`" direction="rtl" size="80%"
- @close="handleDrawerClose">
- <template #title>
- <div class="slot_title">
- <div class="title_orderNo">{{ title }}</div>
- <div>璁㈠崟璇︽儏</div>
- </div>
- </template>
-
- <div class="detailBoxWrap">
- <!-- 璇︽儏缁勪欢 -->
- <open-details ref="propDetailRef"></open-details>
- <div class="msi-form">
- <el-form :model="detailForm">
- <el-row>
- <el-col :span="6">
- <el-form-item label="鐗╂枡缂栧彿">
- <el-input v-model="detailForm.materialCode" clearable placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" />
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label-width="20px">
- <el-button type="primary" icon="el-icon-search" @click="getDetail">鏌ヨ</el-button>
-
- <el-button type="primary" icon="ele-Finished" @click="goGenerateCode"
- :disabled="sccheckedDetails.length == 0">鐢熸垚鏉$爜</el-button>
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
- </div>
- <div class="msi-content">
- <!-- <p style="margin-bottom: 10px">鐗╂枡鏄庣粏</p> -->
- <el-table :data="drawerList" @selection-change="scdetailsCheckChange" border striped :max-height="480">
-
- <el-table-column fixed="left" align="center" width="60" type="selection" />
- <el-table-column fixed="left" label="搴忓彿" align="center" width="60" type="index" />
- <!-- <el-table-column prop="asnNo" min-width="100px" label="ASN鍗曞彿" show-overflow-tooltip="" /> -->
- <el-table-column prop="materialCode" fixed="left" min-width="130px" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
- <el-table-column prop="materialName" min-width="130px" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
-
- <el-table-column prop="asnLineNumber" min-width="100px" label="ASN琛屽彿" show-overflow-tooltip="" />
- <el-table-column prop="asnStatus" min-width="100px" label="鍗曟嵁鐘舵��" show-overflow-tooltip="">
- <template #default="scope">
- <el-tag :type="getTypeStatus(
- 1, scope.row.asnStatusName)
- ">
- {{ scope.row.asnStatusName }}
- </el-tag>
- </template>
- </el-table-column>
- <el-table-column prop="poQuantity" min-width="100px" label="閲囪喘鏁伴噺" show-overflow-tooltip="" />
- <el-table-column prop="quantity" min-width="100px" label="閫佽揣鏁伴噺" show-overflow-tooltip="" />
- <el-table-column prop="goodsQuantity" min-width="100px" label="宸叉敹鏁伴噺" show-overflow-tooltip="" />
-
- <el-table-column prop="poNo" label="PO鍗曞彿" min-width="120px" show-overflow-tooltip="" />
- <el-table-column prop="poLineNumber" min-width="100px" label="PO琛屽彿" show-overflow-tooltip="" />
-
- <el-table-column prop="poUnit" min-width="100px" label="閲囪喘鍗曚綅" show-overflow-tooltip="" />
- <el-table-column prop="materialUnit" min-width="100px" label="搴撳瓨鍗曚綅" show-overflow-tooltip="" />
- <el-table-column prop="translateRate" min-width="100px" label="鎹㈢畻鐜�" show-overflow-tooltip="" />
-
- <el-table-column prop="supplierCode" min-width="100px" label="渚涘簲鍟嗙紪鍙�" show-overflow-tooltip="" />
- <el-table-column prop="supplierName" min-width="100px" label="渚涘簲鍟嗗悕绉�" show-overflow-tooltip="" />
- <el-table-column prop="supplierBatch" min-width="100px" label="渚涘簲鍟嗘壒娆�" show-overflow-tooltip="" />
- <el-table-column prop="sN_1d" min-width="180px" label="涓�缁存潯鐮�" show-overflow-tooltip="" />
- <el-table-column prop="sN_2d" min-width="180px" label="浜岀淮鏉$爜" show-overflow-tooltip="" />
- <!-- <el-table-column prop="package" min-width="100px" label="鍖呰鍚嶇О" show-overflow-tooltip="" /> -->
- <el-table-column prop="plannedStartTime" min-width="120px" label="璁″垝寮�濮嬫椂闂�" show-overflow-tooltip="" />
- <el-table-column prop="plannedEndTime" min-width="120px" label="璁″垝缁撴潫鏃堕棿" show-overflow-tooltip="" />
- <el-table-column label="鏄惁鍐荤粨" prop="isFreeze" align="center" min-width="120">
- <template #default="scope">
-
-
- <el-tag v-if="scope.row.isFreeze"> 鏄� </el-tag>
- <el-tag type="danger" v-else> 鍚� </el-tag>
-
- </template>
- </el-table-column>
- <el-table-column prop="projectNo" min-width="100px" label="椤圭洰鍙�" show-overflow-tooltip="" />
- <!-- <el-table-column prop="factoryName" min-width="100px" label="宸ュ巶鍚嶇О" show-overflow-tooltip="" />
- <el-table-column prop="factoryCode" min-width="100px" label="宸ュ巶缂栧彿" show-overflow-tooltip="" /> -->
- <el-table-column prop="dock" min-width="100px" label="鏀惰揣閬撳彛" show-overflow-tooltip="" />
-
- <!-- <el-table-column prop="batch" min-width="100px" label="鎵规" show-overflow-tooltip="" /> -->
-
- <el-table-column prop="erpCode" min-width="100px" label="ERP搴撳瓨鍦�" show-overflow-tooltip="" />
- <el-table-column prop="erpOrderNo" min-width="100px" label="ERP鍗曞彿" show-overflow-tooltip="" />
-
- <el-table-column prop="createTime" min-width="100px" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"
- show-overflow-tooltip="" />
- <el-table-column prop="updateTime" min-width="100px" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"
- show-overflow-tooltip="" />
- <el-table-column prop="createUserName" min-width="120px" label="鍒涘缓浜�" show-overflow-tooltip="" />
- <el-table-column prop="updateUserName" min-width="120px" label="淇敼浜�" show-overflow-tooltip="" />
- </el-table>
- <Pagination :total="detailCount" v-model:page="detailForm.Page" v-model:limit="detailForm.PageSize"
- @pagination="getDetail" style="margin-top: 20px; text-align: center"></Pagination>
-
- <div></div>
- </div>
- </div>
- </el-drawer>
-
- <el-dialog v-model="outVisible2" title="SPA鑾峰彇" width="20%" @close="closeOutDialog2">
- <el-form :model="outerForm2" label-width="120px">
- <el-row style="font-size: 16px">
- <el-col :span="23">
- <el-form-item label="鍗曞彿:" required>
- <el-input v-model="outerForm2.purchaseNo" clearable placeholder="璇疯緭鍏ュ崟鍙�" />
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
-
- <template #footer>
- <span class="dialog-footer">
- <el-button @click="outVisible2 = false">鍙栨秷</el-button>
- <el-button type="primary" @click="getSapOrderPO">纭</el-button>
- </span>
- </template>
- </el-dialog>
-</template>
-<script lang="ts" setup>
-import Pagination from "/@/components/Pagination/index.vue";
-import { ElMessage, ElMessageBox } from "element-plus";
-import {
- ref,
- nextTick,
- computed,
- getCurrentInstance,
- watch,
- defineExpose,
- defineProps,
- onMounted,
-} from "vue";
-import {
- removeTrailingZeros,
- formatDate,
- formatDate_T_Date,
- formatDate_T_Time,
- defaultTimeRange,
-} from "/@/utils/formatTime";
-
-import { formatDecimalData } from "/@/utils/formate";
-import { expandMore } from "/@/hooks/expandMore";
-import cache from "/@/utils/cache";
-import { pageWmsMaterial } from "/@/api/main/WmsBase/wmsMaterial";
-import { getTypeStatus } from "/@/utils/formate";
-import { getAPI } from "/@/utils/axios-utils";
-import { SysEnumApi } from "/@/api-services/api";
-import {
- addWmsOrderPurchase,
- updateWmsOrderPurchase,
- detailWmsOrderPurchase,
-} from "/@/api/main/WmsOrder/wmsOrderPurchase";
-import OpenDetails from "/@/components/openDetails/openDetails.vue";
-import { pageBaseCustomer, pageBaseCustomerForOrders } from "/@/api/main/WmsBase/baseCustomer";
-import { pageWmsOrderPurchaseDetails, pageWmsOrderPurchaseDetailsForRelatedAsn } from "/@/api/main/WmsOrder/wmsOrderPurchaseDetails";
-import {
- pageWmsOrderAsnDetails,
- deleteWmsOrderAsnDetails,
- updateWmsOrderAsnDetails,
- updateWmsOrderAsnDetailsBarCode,
-} from "/@/api/main/WmsOrder/wmsOrderAsnDetails";
-import commonFunction from "/@/utils/commonFunction";
-import {
- addWmsOrderAsn,
- updateWmsOrderAsn,
- detailWmsOrderAsn,
-} from "/@/api/main/WmsOrder/wmsOrderAsn";
-import { handleSlectDataWmsBusinessType } from "/@/utils/selectData";
-import { addWmsRecordSncodePrint } from "/@/api/main/PrintCenter/wmsRecordSncodePrint";
-const moveType = 10; //绉诲姩绫诲瀷 鍏ュ簱
-const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
-const getBusinessTypeData_Index = ref<any>([]); //涓氬姟绫诲瀷 create by liuwq 2024-05-23
-const getEnumOrderTypeData = ref<any>([]);
-const getEnumPoStatusData = ref<any>([]);
-const { getEnumDesc } = commonFunction();
-const emits = defineEmits(["getTabelData"]);
-const getEnumAsnStatusData_Index = ref<any>([]);
-const getEnumOrderTypeData_Index = ref<any>([]);
-const getEnumDockData = ref<any>([]);
-const props = defineProps({
- titleAuthor: {
- type: Number,
- required: true,
- },
- hexiao: {
- type: Number,
- default: 1,
- required: true,
- },
-});
-//鎺у埗璁㈠崟绫诲瀷 - 涓嬫媺鑿滃崟
-const titleAuthor = computed(() => props.titleAuthor);
-// 鏄惁鏄剧ず鏍搁攢鎸夐挳
-const hexiao = computed(() => props.hexiao);
-const loading = ref(false);
-
-// 鐧诲綍鐢ㄦ埛id
-// const LoginUserID = computed(() => store.state.login.userInfo.id || localCache.getCache("LoginUserID"))
-
-// const EnumWriteOffState = computed(
-// () => store.state.login.enums.enumWriteOffState
-// );
-
-let itemBtnArr = ["鎵归噺鍒犻櫎", "缂栬緫", "鏂板"];
-const boolEnum = ref([
- {
- title: "鏄�",
- value: true,
- },
- {
- title: "鍚�",
- value: false,
- },
-]);
-
-// form琛ㄥ崟灞曞紑
-
-const orderType = ref("");
-const orderDoRuType = ref(); // 鐢ㄤ簬瀵煎叆鐨勫彉閲�
-const itemBtn = ref(1);
-// 鎺у埗bom鐗╂枡鏉冮檺
-const isShowBomBtn = ref(0);
-
-// 绂佹涔嬪墠鐨勬棩鏈�
-const disabledDate = (time: Date) => {
- return time.getTime() + 3600 * 1000 * 24 < Date.now();
-};
-// 涓婁紶绐楀彛
-const uploadVisible = ref(false);
-//鎵撳紑瀵煎叆绐楀彛
-const openUploadDialog = (param: any) => {
- orderDoRuType.value = param;
- uploadVisible.value = true;
-};
-//鍏抽棴绐楀彛
-const closeUploadDialog = () => {
- getTabelData();
-};
-//sap鑾峰彇
-const getSapOrder = () => {
- ElMessageBox.confirm("鏄惁纭鑾峰彇鏇存柊锛�", "鎻愮ず", {
- confirmButtonText: "纭",
- cancelButtonText: "鍙栨秷",
- type: "warning",
- }).then(() => {
- // getSapRkPurchase().then((res) => {
- // if (res.code == 200) {
- // ElMessage.success("宸插紑濮嬮噸鏂拌幏鍙栵紝璇风◢鍚庢煡鐪嬬粨鏋滐紒");
- // } else {
- // ElMessage.error(
- // `sap鑾峰彇澶辫触${res.code}:${JSON.stringify(res.message)}`
- // );
- // }
- // })
- });
-};
-
-//------------sap鑾峰彇PO鍗�
-const outVisible2 = ref(false);
-const outerForm2 = ref({
- purchaseNo: "",
-});
-const getSapOrderPO = (param?: number) => {
- debugger
- if (param && param == 1) {
- outVisible2.value = true;
- return;
- }
- if (outerForm2.value.purchaseNo == "") {
- ElMessage.warning("璇疯緭鍏ュ崟鍙�");
- return;
- }
- // getSapPurchasePO({
- // purchaseNo: outerForm2.value.purchaseNo
- // })
- // .then((res) => {
- // if (res.code == 200) {
- // ElMessage.success("SAP鑾峰彇鎴愬姛");
- // outVisible2.value = false;
- // } else {
- // ElMessage.error(
- // `sap鑾峰彇澶辫触${res.code}:${JSON.stringify(res.message)}`
- // );
- // }
- // })
- // .catch((err) => ElMessage.error(err));
-};
-//鍏抽棴鍑哄簱绐楀彛鐨勫洖璋�
-const closeOutDialog2 = () => {
- outerForm2.value.purchaseNo = "";
-};
-
-//------------sap鑾峰彇PO鍗�
-
-// --------------------PO鍗曞垪琛�-----------------------------------
-//鏌ヨ
-const formModel = ref({
- WareMaterialCode: "",
- WareMaterialName: "",
- PurchaseNo: "",
- CreatedUserName: "",
- CreatedTimeBegin: "",
- CreatedTimeEnd: "",
- CreateDate: [],
- IssueTimeBegin: "",
- IssueTimeEnd: "",
- IssueDate: [],
- MaterialTypeStaus: "",
- SourceBy: "",
- WriteOffState: "",
- signStatus: "",
- status: "",
- freeOrderType: "",
- IsQueryAll: false, //鏄惁鏄剧ず鍏ㄩ儴鏁版嵁
- // LoginUserID: LoginUserID, //鐢ㄦ埛id
- OrderMenuType: "", //鍒ゆ柇鏄摢涓彍鍗曞叆搴�
- Page: 1,
- PageSize: 10,
- poApprovalStatus: "",
- keyCode: "",
- IsDisable: "", //鏄惁浣滃簾
-});
-
-//鍏ュ簱鍗曞垪琛ㄦ暟鎹�
-let tableData = ref([]);
-const tableRef = ref();
-
-//鍒楄〃鐨勬暟鎹潯鏁�
-const totalItems = ref<number>(0);
-
-//缂撳瓨鏋氫妇
-const enumList: any = cache.getCache("enumList");
-console.log(enumList.inEnumOrderType);
-
-// .inEnumOrderType
-
-//鑾峰彇PO鍗曞垪琛�
-const getTabelData = () => {
- //鍒ゆ柇鍒涘缓鏃堕棿鏄惁鏈夐�夋嫨
- if (formModel.value.CreateDate && formModel.value.CreateDate.length > 0) {
- formModel.value.CreatedTimeBegin = formModel.value.CreateDate[0];
- formModel.value.CreatedTimeEnd = ""; //addDate(formModel.value.CreateDate[1], 1); //鏃ユ湡鏌ヨ 缁撴潫鏃堕棿 闇�瑕佸姞涓�澶�
- } else {
- // 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
- if (formModel.value.CreatedTimeBegin || formModel.value.CreatedTimeEnd) {
- formModel.value.CreatedTimeBegin = "";
- formModel.value.CreatedTimeEnd = "";
- }
- }
- //鍒ゆ柇涓嬪彂鏃堕棿鏄惁鏈夐�夋嫨
- if (formModel.value.IssueDate && formModel.value.IssueDate.length > 0) {
- formModel.value.IssueTimeBegin = formModel.value.IssueDate[0];
- formModel.value.IssueTimeEnd = formModel.value.IssueDate[1];
- } else {
- // 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
- if (formModel.value.IssueTimeBegin || formModel.value.IssueTimeEnd) {
- formModel.value.IssueTimeBegin = "";
- formModel.value.IssueTimeEnd = "";
- }
- }
-
- //鍏跺畠鍏ュ簱鍏ュ彛
- // if (titleAuthor.value == 1) { //鍏嶈垂鍏ュ簱鍗曠鐞�
- // }
-
- // if (titleAuthor.value == 2) { //璁㈠崟鍏ュ簱绠$悊
- // }
-
- // getPurchasePageForAllData(formModel.value)
- // .then((res) => {
- // if (res.code == 200) {
- // const { data } = res;
- // const result = data;
- // result.rows.map(
- // (item: { hasChildren: boolean }) => (item.hasChildren = true)
- // );
- // tableData.value = result.rows;
- // totalItems.value = result.totalRows;
- // orderType.value = formModel.value.MaterialTypeStaus;
- // // 娓呴櫎閫変腑
- // nextTick(() => {
- // if (tableRef.value && typeof tableRef.value.clearSelection === 'function') {
- // checkRows.value = [];
- // tableRef.value.clearSelection();
- // }
- // })
- // } else {
- // ;
- // }
- // })
- // .catch((err) => {
- // console.log(err);
- // ElMessage.error(JSON.stringify(err));
- // });
-};
-getTabelData();
-
-//閲嶇疆鎼滅储
-const resetForm = () => {
- formModel.value = {
- WareMaterialCode: "",
- WareMaterialName: "",
- PurchaseNo: "",
- CreatedUserName: "",
- CreatedTimeBegin: "",
- CreatedTimeEnd: "",
- CreateDate: [],
- IssueTimeBegin: "",
- IssueTimeEnd: "",
- IssueDate: [],
- MaterialTypeStaus: "",
- SourceBy: "",
- WriteOffState: "",
- signStatus: "",
- status: "",
- freeOrderType: "",
- IsQueryAll: false, //鏄惁鏄剧ず鍏ㄩ儴鏁版嵁
- // LoginUserID: LoginUserID, //鐢ㄦ埛id
- OrderMenuType: "", //鍒ゆ柇鏄摢涓彍鍗曞叆搴�
- Page: 1,
- PageSize: 10,
- poApprovalStatus: "",
- keyCode: "",
- IsDisable: "", //鏄惁浣滃簾
- };
- getTabelData();
-};
-// -----------------鍒犻櫎銆佸鍑烘搷浣�--------------------------
-//閫変腑鐨勮
-const checkRows = ref<{ id: number }[]>([]);
-// 閫夋嫨
-const handleSelectionChange = (val: any) => {
- checkRows.value = val;
-};
-//瀵煎嚭PO鍗曡鎯�
-const handExport = () => {
- // rkExport(formModel.value)
- // .then((res) => {
- // const link = document.createElement("a"); //鍒涘缓a鏍囩
- // let blob = new Blob([res], { type: "application/vnd.ms-excel" }); // response灏辨槸鎺ュ彛杩斿洖鐨勬枃浠舵祦
- // let objectUrl = URL.createObjectURL(blob);
- // link.href = objectUrl;
- // link.download = `鍏ュ簱绠$悊瀵煎嚭${formatUtcToData(
- // new Date().toString(),
- // "YYYY-MM-DD hh:mm:ss"
- // )}`; // 鑷畾涔夋枃浠跺悕
- // link.click(); // 涓嬭浇鏂囦欢
- // URL.revokeObjectURL(objectUrl); // 閲婃斁鍐呭瓨
- // }).catch((err) => ElMessage.error(JSON.stringify(err)));
- //瀵煎嚭璋冪敤鎺ュ彛
- // let entozh = entozhExcell
- // const { Page, PageSize, ...rest } = formModel.value
- // getPurchasePage({ Page: 1, PageSize: 1000000, ...rest }).then(res => {
- // if(res.code==200){
- // res.data.rows.forEach((item)=>{
- // item.writeOffState = EnumWriteOffState.value.filter((v: any) => v.value == item.writeOffState)[0].title;
- // item.sourceBy = sourceEnum.value.filter((v: any) => v.value == item.sourceBy)[0].title;
- // })
- // exportExcel(res.data.rows, entozh, "xlsx", `鍏ュ簱绠$悊琛�${formatUtcToData(new Date().toString(), 'YYYY-MM-DD hh:mm:ss')}`);
- // }
- // })
- // 鍚庣瀵煎嚭-瀛楁涓嶅叏
- // if (checkRows.value.length <= 0) {
- // ElMessage.warning("璇烽�夋嫨涓�涓鍗曪紒");
- // return
- // }
- // const arr = checkRows.value.reduce((curr, item) => {
- // curr.push(item.purchaseNo);
- // return curr;
- // }, []);
- // puchaseExport({ PurchaseNo: arr })
- // .then((res) => {
- // const link = document.createElement("a"); //鍒涘缓a鏍囩
- // let blob = new Blob([res], { type: "application/vnd.ms-excel" }); // response灏辨槸鎺ュ彛杩斿洖鐨勬枃浠舵祦
- // let objectUrl = URL.createObjectURL(blob);
- // link.href = objectUrl;
- // link.download = `鍏ュ簱绠$悊瀵煎嚭${formatUtcToData(
- // new Date().toString(),
- // "YYYY-MM-DD hh:mm:ss"
- // )}`; // 鑷畾涔夋枃浠跺悕
- // link.click(); // 涓嬭浇鏂囦欢
- // URL.revokeObjectURL(objectUrl); // 閲婃斁鍐呭瓨
- // })
- // .catch((err) => ElMessage.error(JSON.stringify(err)));
-};
-
-// -------------------鑾峰彇PO鍗曚笅鐗╂枡璇︽儏-----------------------------------
-//鍏ュ簱鍗曚笅鐗╂枡璇︽儏璇锋眰
-const detailForm = ref({
- materialCode: "",
- asnId: "",
- Page: 1,
- PageSize: 10,
-});
-
-// 鐗╂枡璇︽儏鎶藉眽
-const drawerVisible = ref(false);
-const drawerType = ref("drawerAll");
-// const
-//鍗曞彿
-const purchaseNo = ref("");
-
-const getEnumPoDetailStatusData_Index = ref<any>([]);
-
-//------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
-const getDetail = async () => {
- loading.value = true;
- var res = await pageWmsOrderAsnDetails(Object.assign(detailForm.value));
- drawerList.value = res.data.result?.items ?? [];
- detailCount.value = res.data.result?.total;
- loading.value = false;
-
-};
-
-//----------------鐗╂枡鏄庣粏
-//鎵撳紑鎶藉眽
-const openDrawer = async (type: number, scope: any = {}, entozhExcell?: any) => {
- detailForm.value.Page = 1;
- detailForm.value.PageSize = 10;
- if (scope.asnNo) {
- title.value = `${scope.asnNo}`;
- }
- drawerType.value = "drawerAll";
- drawerVisible.value = true;
- //褰撳墠鍏ュ簱鍗曞彿id
- detailForm.value.asnId = scope.id;
- //鍏ュ簱鍗�
- purchaseNo.value = scope.purchaseNo;
- detailForm.value.asnId = scope.id;
- //鑾峰彇鐗╂枡鍒楄〃
- if (detailForm.value.asnId == "") {
- drawerList.value = [];
- detailCount.value = 0;
- return;
- }
- // 鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
- getDetail();
-
- getEnumPoDetailStatusData_Index.value =
- (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("OrderStatusEnum")).data.result ??
- [];
-
-
- getEnumOrderTypeData_Index.value =
- (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("OrderTypeEnum")).data.result ??
- [];
-
- // 鏍规嵁鐘舵�佽浆涓枃 淇濈暀3浣嶅皬鏁�
- let scopetrans = JSON.parse(JSON.stringify(scope));
- // scopetrans.totalquantity = Number(scopetrans.totalquantity).toFixed(3);
- scopetrans.asnStatus = getEnumDesc(
- scopetrans.asnStatus,
- getEnumPoDetailStatusData_Index.value
- );
- scopetrans.asnType = getEnumDesc(scopetrans.asnType, getEnumOrderTypeData_Index.value);
-
- nextTick(() => {
- proxy.$refs["propDetailRef"].openADialog(scopetrans, entozhExcell);
- });
-};
-
-//鍏抽棴鎶藉眽
-const handleDrawerClose = () => {
- detailForm.value = {
- materialCode: "",
- asnId: "",
- Page: 1,
- PageSize: 10,
- };
- deltailList.value = [];
- detailCount.value = 0;
- drawerList.value = [];
- drawerList.value = [];
- detailCount.value = 0;
-};
-
-//鐗╂枡璇︽儏绫诲瀷
-interface DetailType {
- id: number;
- barCode: string;
- wareMaterialCode: string;
- name: string;
- signStatus: string;
- category: string;
- materialTypeName: string;
- specificationModel: string;
- long: number;
- width: number;
- high: number;
- weight: number;
- unit: string;
- createdTime: string;
- purchaseNo: string;
- quantity: number;
- goodsquantity: number;
- surplusquantity: number;
- poLineNumber: string;
-}
-
-//鍏ュ簱鍗曡鎯呭垪琛�
-const deltailList = ref<DetailType[]>([]);
-//寮瑰嚭灞傛暟鎹�
-const drawerList = ref<DetailType[]>([]);
-
-//鍏ュ簱鍗曡鎯呭垪琛ㄦ暟鎹潯鏁�
-const detailCount = ref(0);
-
-//寮瑰嚭灞傛爣棰�
-let title = ref("");
-
-// ----------------鏂板銆佺紪杈�-------------------------------
-//绐楀彛绫诲瀷
-const dialogType = ref("add");
-
-const dialogVisible = ref(false);
-
-//娣诲姞缂栬緫琛ㄥ崟ref
-const dialogRef = ref();
-
-//娣诲姞/缂栬緫鍙傛暟
-let addForm = ref({
- hasTMCode: false,
- typeTMCode: false, //false浜岀淮鐮� true 1缁寸爜
- asnType: "",
- dock: "",
- projectNo: "",
- OrderDetails: [] as any[],
-});
-
-// 鐗规畩瀛楃鐨勯獙璇�
-// 鍖呭惈鐗规畩瀛楃杩斿洖true锛屼笉鍖呭惈鐗规畩瀛楃杩斿洖false
-const checkEspcial = (rule: any, value: any, callback: any) => {
- if (!value) {
- callback();
- } else {
- const reg = /[@$%*^:;锛氾紱~+=!锛�#^{}><.,锛屻�俔/g;
- if (!reg.test(value.trim())) {
- callback();
- } else {
- return callback(new Error("涓嶈兘瀛樺湪鐗规畩绗﹀彿"));
- }
- }
-};
-
-// 楠岃瘉瑙掕壊缂栧彿
-var validatorCode = (rule: any, value: any, callback: any) => {
- if (!value) {
- callback();
- } else {
- const reg = /[\u4E00-\u9FA5]/g;
- if (!reg.test(value)) {
- callback();
- } else {
- return callback(new Error("鍗曞彿涓嶈兘瀛樺湪姹夊瓧"));
- }
- }
-};
-
-//rules
-const formRules = {
- asnType: [{ required: true, message: "璇烽�夋嫨璁㈠崟绫诲瀷锛�", trigger: "change" }],
- orderTypeName: [{ required: true, message: "璇疯緭鍏ヨ鍗曠被鍨嬪悕绉帮紒", trigger: "blur" }],
- businessType: [{ required: true, message: "璇烽�夋嫨涓氬姟绫诲瀷锛�", trigger: "change" }],
- businessTypeName: [
- { required: true, message: "璇疯緭鍏ヤ笟鍔$被鍨嬪悕绉帮紒", trigger: "blur" },
- ],
- orderSocure: [{ required: true, message: "璇疯緭鍏ュ崟鎹潵婧愶紒", trigger: "blur" }],
- poStatus: [{ required: true, message: "璇烽�夋嫨鍗曟嵁鐘舵�侊紒", trigger: "change" }],
- poStatusName: [{ required: true, message: "璇疯緭鍏ュ崟鎹姸鎬佸悕绉帮紒", trigger: "blur" }],
- supplierCode: [{ required: true, message: "璇疯緭鍏ヤ緵搴斿晢缂栧彿锛�", trigger: "blur" }],
- supplierName: [{ required: true, message: "璇疯緭鍏ヤ緵搴斿晢鍚嶇О锛�", trigger: "blur" }],
- factoryId: [{ required: true, message: "璇疯緭鍏ュ伐鍘侷D锛�", trigger: "blur" }],
- // purchaseNo: [
- // { required: true, message: "鍗曞彿涓嶈兘涓虹┖", trigger: "blur" },
- // { validator: validatorCode, trigger: "blur" },
- // { validator: checkEspcial, trigger: "blur" }
- // ],
-};
-const materialCodeValue = ref("");
-//鎵撳紑鏂板銆佺紪杈戠獥鍙�
-const openDialog = async (type: number, scope: any = {}) => {
- debugger
- showYwlx.value = false;
- // handleQueryTdp();
- if (type == 1) {//鏂板
- isPoBox.value = 1;
- isMaterialBox.value = 1;
- detailForm.value.PageSize = 10;
-
- dialogType.value = "add";
- }
-
- if (type == 3) { //鎵撳嵃
- dialogType.value = "print";
- detailForm.value.PageSize = 100000;
- addForm.value = { ...scope };
- detailForm.value.asnId = scope.id;
- //------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
- loading.value = true;
- var res = await pageWmsOrderAsnDetails(Object.assign(detailForm.value));
-
- warehousOrderDetails.value = res.data.result?.items ?? [];
- loading.value = false;
- if (warehousOrderDetails.value.length > 0 && warehousOrderDetails.value[0].poNo) {
- isPoBox.value = 1;
- isMaterialBox.value = 0;
- } else {
- isPoBox.value = 0;
- isMaterialBox.value = 1;
- }
- addForm.value.hasTMCode = false;
- addForm.value.typeTMCode = false;
- if (warehousOrderDetails.value.length > 0 && warehousOrderDetails.value[0].sN_1d) {
- addForm.value.hasTMCode = true;
- addForm.value.typeTMCode = true;
- }
- if (warehousOrderDetails.value.length > 0 && warehousOrderDetails.value[0].sN_2d) {
- addForm.value.hasTMCode = true;
- addForm.value.typeTMCode = false;
- }
- //------------------------------
-
- }
-
- if (type == 2) {//缂栬緫
- dialogType.value = "edit";
- detailForm.value.PageSize = 100000;
- addForm.value = { ...scope };
- if (addForm.value.businessType == 1001) {
- showYwlx.value = true //绂佺敤
- } else {
- showYwlx.value = false
- }
- console.log(addForm.value);
- detailForm.value.asnId = scope.id;
-
- //------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
- loading.value = true;
- var res = await pageWmsOrderAsnDetails(Object.assign(detailForm.value));
-
- warehousOrderDetails.value = res.data.result?.items ?? [];
- loading.value = false;
- if (warehousOrderDetails.value.length > 0 && warehousOrderDetails.value[0].poNo) {
- isPoBox.value = 1;
- isMaterialBox.value = 0;
- } else {
- isPoBox.value = 0;
- isMaterialBox.value = 1;
- }
- addForm.value.hasTMCode = false;
- addForm.value.typeTMCode = false;
- if (warehousOrderDetails.value.length > 0 && warehousOrderDetails.value[0].sN_1d) {
- addForm.value.hasTMCode = true;
- addForm.value.typeTMCode = true;
- }
- if (warehousOrderDetails.value.length > 0 && warehousOrderDetails.value[0].sN_2d) {
- addForm.value.hasTMCode = true;
- addForm.value.typeTMCode = false;
- }
- //----------------鐗╂枡鏄庣粏
- }
- dialogVisible.value = true;
-
- //娓呴櫎閫変腑椤�
- nextTick(() => {
- if (dialogRef.value) {
- dialogRef.value.clearValidate();
- }
- });
-};
-
-//鐗╂枡璇︽儏鐨則able ref
-const detailRef = ref();
-const setRowKey = (row: any) => {
- return row.id + row.asnLineNumber;
-};
-//鍏抽棴绐楀彛
-const closeDialog = () => {
- disabled_btn.value = false;
- addForm.value = {
- hasTMCode: false,
- typeTMCode: false, //false浜岀淮鐮� true 1缁寸爜
- asnType: "",
- dock: "",
- projectNo: "",
- OrderDetails: [] as any[],
- };
- warehousOrderDetails.value = [];
- checkedDetails.value = [];
- deltailList.value = [];
- detailCount.value = 0;
- detailRef.value.clearSelection();
-};
-
-//娣诲姞缂栬緫绐楀彛鐗╂枡鍒楄〃
-const warehousOrderDetails = ref<any[]>([]);
-
-//鐗╂枡璇︽儏鍒楄〃閫変腑鐨勭墿鏂�
-const checkedDetails = ref<any[]>([]);
-
-//鐗╂枡璇︽儏鍒楄〃涓嬀閫変簨浠�
-const detailsCheckChange = (val: any) => {
- checkedDetails.value = val;
-};
-
-//鍒犻櫎閫変腑鐨勭墿鏂欒鎯�
-const delCheckedDetails = () => {
- debugger
- ElMessageBox.confirm("鏄惁纭鍒犻櫎锛�", "鎻愮ず", {
- confirmButtonText: "纭",
- cancelButtonText: "鍙栨秷",
- type: "warning",
- })
- .then(() => {
- let arr = [];
- if (checkedDetails.value[0].asnLineNumber) {
- checkedDetails.value.forEach((item) => {
- console.log(item);
- let index = warehousOrderDetails.value.findIndex(
- (detail) =>
- detail.materialCode == item.materialCode && detail.asnLineNumber == item.asnLineNumber
- );
- if (index > -1) {
- warehousOrderDetails.value.splice(index, 1);
- }
- });
- } else {
- checkedDetails.value.forEach((item) => {
- let index = warehousOrderDetails.value.findIndex(
- (detail) =>
- detail.materialCode == item.materialCode
- );
- warehousOrderDetails.value.splice(index, 1);
- });
- }
- arr = warehousOrderDetails.value;
- warehousOrderDetails.value = [];
- //bug 鐩稿悓鐗╂枡 涓嶅悓Bom
- nextTick(() => {
- warehousOrderDetails.value = arr;
- checkedDetails.value = [];
- detailRef.value.clearSelection();
- });
- })
- .catch(() => ElMessage.info("宸插彇娑堝垹闄�"));
-};
-const disabled_btn = ref(false);
-//缂栬緫銆佹坊鍔犳彁浜�
-const confirm = async () => {
- //鎵撳嵃
- if (dialogType.value == "print") {
- if (checkedDetails.value.length <= 0) {
- ElMessage.warning("璇烽�変腑涓�鏉�");
- return
- }
- checkedDetails.value.forEach((item) => {
- // handleArr.push(item.id);
- item.PrintSource = 2 //ASN鍗曡窡韪爜鎵撳嵃
- item.PrintType = 1 //鐗╂枡璺熻釜鐮�
- item.PrintSheetNum = 1
- item.PrintNum = 1
- item.PrintStatu = 1
- item.IsAllowPrint = 1
- if (item.sN_1d) {
- item.snCode = item.sN_1d
- }
- if (item.sN_2d) {
- item.snCode = item.sN_2d
- }
- });
- disabled_btn.value = true;
- loading.value = true;
- var res = await addWmsRecordSncodePrint(checkedDetails.value);
- if (res.data && res.data.code == 200) {
- ElMessage.success("娣诲姞鎴愬姛");
- dialogVisible.value = false;
- }
- loading.value = false;
- disabled_btn.value = false;
-
- return
- }
-
- //鏂板缂栬緫
- dialogRef.value.validate(async (vali: any) => {
- if (vali) {
- console.log("纭");
- if (warehousOrderDetails.value.length <= 0) {
- ElMessage.warning("璇烽�夋嫨鐗╂枡");
- return
- }
- let idx2 = warehousOrderDetails.value.findIndex(
- (v) => v.poQuantity == "" || v.poQuantity == undefined || v.poQuantity <= 0
- );
- if (idx2 > -1) {
- ElMessage.warning("鏁伴噺涓嶅悎瑙勮寖锛�");
- return;
- }
-
- addForm.value.OrderDetails = [];
- warehousOrderDetails.value.forEach((item) => {
- const obj = {
- ...item,
- asnLineNumber: item.asnLineNumber
- };
- addForm.value.OrderDetails.push(obj);
- });
- debugger
-
- //娣诲姞
- if (dialogType.value == "add") {
- disabled_btn.value = true;
- let res = await addWmsOrderAsn(addForm.value);
- if (res.data && res.data.code == 200) {
- ElMessage.success("娣诲姞鎴愬姛");
- dialogVisible.value = false;
- emits("getTabelData");
- }
- disabled_btn.value = false;
- } else {
- disabled_btn.value = true;
- let res = await updateWmsOrderAsn(addForm.value);
- if (res.data && res.data.code == 200) {
- ElMessage.success("缂栬緫鎴愬姛");
- dialogVisible.value = false;
- emits("getTabelData");
- }
- disabled_btn.value = false;
- }
- } else {
- ElMessage.warning("琛ㄥ崟楠岃瘉澶辫触");
- }
- });
- disabled_btn.value = false;
-};
-// -----------------娣诲姞鐗╂枡鎿嶄綔-------------------------
-//鐗╂枡鍩虹鏁版嵁绐楀彛
-const addMaterialVisible = ref(false);
-
-//鐗╂枡鍩虹鏁版嵁鍒楄〃
-const materialList = ref([]);
-
-//鐗╂枡鍩虹鏁版嵁鏉℃暟
-const materialTotal = ref(0);
-
-//鐗╂枡鍩虹鏁版嵁form
-const materialForm = ref({
- materialCode: "",
- projectNo: "",
- supplierCode: "",
- poNo: "",
- Code: "",
- Page: 1,
- PageSize: 10,
- filterOrderStauts: 1, //杩囨护鈥滄柊寤衡�濃�滃鐞嗕腑鈥濈殑PO鍗�
- IsDisabled: false, //鏈鐢ㄧ殑
- MaterialType: "546896760045637", //鐗╂枡绫诲瀷锛氬師鏉愭枡
- plannedStartTimeRange: [],
- plannedEndTimeRange: []
-});
-
-//鑾峰彇鐗╂枡鍩虹鍒楄〃
-const getMaterialList = async () => {
- debugger
- // 鍒涘缓po
- if (isPoBox.value == 1) {
- loading.value = true;
- materialForm.value.filterOrderStauts = 1;
- // var res = await pageWmsOrderPurchaseDetails(Object.assign(materialForm.value));
- var res = await pageWmsOrderPurchaseDetailsForRelatedAsn(Object.assign(materialForm.value));
-
- if (res.data.result && res.data.result?.items.length > 0) {
- res.data.result?.items.forEach((item: any) => {
- //asn鏈粦鐨勫彲鐢╬o鍓╀綑鏁伴噺
- item.usedQty = Number(Number(item.quantity) - Number(item.createASNQuantity)).toFixed(3);
- //po鎬绘暟
- item.quantityAll = item.quantity;
- if (item.snp == 0) {
- item.snp = "";
- }
- // item.quantity = Number(item.quantityAll - item.goodsQuantity).toFixed(3);
- });
- }
-
- materialList.value = res.data.result?.items ?? [];
- materialTotal.value = res.data.result?.total;
- loading.value = false;
- }
- //鍒涘缓asn
- if (isMaterialBox.value == 1) {
- loading.value = true;
- var res = await pageWmsMaterial(Object.assign(materialForm.value));
- materialList.value = res.data.result?.items ?? [];
- materialTotal.value = res.data.result?.total;
- loading.value = false;
- }
-};
-
-//閲嶇疆鐗╂枡
-const resetMaterialForm = () => {
- materialForm.value = {
- poNo: "",
- Code: "",
- Page: 1,
- PageSize: 10,
- filterOrderStauts: 1, //杩囨护鈥滄柊寤衡�濃�滃鐞嗕腑鈥濈殑PO鍗�
- IsDisabled: false, //鏈鐢ㄧ殑
- MaterialType: "546896760045637", //鐗╂枡绫诲瀷锛氬師鏉愭枡
- plannedStartTimeRange: [],
- plannedEndTimeRange: []
- };
- getMaterialList();
-};
-
-//閫変腑鐨勫熀纭�鐗╂枡鏁版嵁
-const checkedMaterial = ref<any[]>([]);
-const showYwlx = ref(false);
-//鐗╂枡鍩虹鏁版嵁鍕鹃��
-const materialSelectionChange = (val: any) => {
- checkedMaterial.value = val;
-};
-const isMaterialBox: any = ref(true);
-const isPoBox: any = ref(false);
-//鎵撳紑鏂板鐗╂枡绐楀彛
-const addMaterialDialog = (param?: any) => {
- if (param && param == "po") {
- isPoBox.value = 1;
- isMaterialBox.value = 0;
- addForm.value.businessType = 1001;
- showYwlx.value = true
- } else {
- isPoBox.value = 0;
- isMaterialBox.value = 1;
- showYwlx.value = false;
- }
- getMaterialList();
-
- // if ( addForm.value.freeOrderType && isShowBomBtn.value ) {
- // ElMessage.warning("鍏嶈垂浠剁被鍨嬫槸PR2锛屽彧鑳芥柊澧濪I缁存姢鐨勭墿鏂欙紒");
- // return;
- // }
- addMaterialVisible.value = true;
-};
-
-//鍩虹鐗╂枡table鐨剅ef瀵硅薄
-const materialRef = ref();
-
-//纭娣诲姞鏉愭枡
-const confirmAddMaterial = () => {
-
- //鐗╂枡鍒楄〃娌℃暟鎹紝鐩存帴娣诲姞
- // if (warehousOrderDetails.value.length == 0) {
- // // 鑷姩缁欒鍙峰鍊�
- // checkedMaterial.value.forEach((item, index) => {
- // item.unit = item.poUnit || item.unit;
- // // item.asnLineNumber = index + 1;
- // // if (!item.asnLineNumber) {
- // // item.asnLineNumber = index + 1 + warehousOrderDetails.value.length;
- // // }
- // });
- // warehousOrderDetails.value.push(...checkedMaterial.value);
- // } else {
- if (isPoBox.value == 1) { //PO
- debugger
- for (let i = 0; i < checkedMaterial.value.length; i++) {
- let idx = warehousOrderDetails.value.findIndex(
- (item: any) =>
- item.materialCode == checkedMaterial.value[i].materialCode &&
- item.poLineNumber == checkedMaterial.value[i].poLineNumber &&
- item.poNo == checkedMaterial.value[i].poNo
- );
- if (idx > -1) {
- return ElMessage.warning(
- `PO鍙�${checkedMaterial.value[i].poNo},鐗╂枡缂栧彿${checkedMaterial.value[i].materialCode}锛孭O琛屽彿锛�${checkedMaterial.value[i].poLineNumber || ""}鍦ㄧ墿鏂欏垪琛ㄤ腑宸插瓨鍦�,璇峰幓闄ゅ嬀閫塦
- );
- }
- }
-
- //鍒涘缓ASN鍗曟椂锛岄�夋嫨PO鍗曟椂锛屽鏋滅墿鏂欐槸閰嶇疆鏍囧寘鏁伴噺鐨勮瘽锛岄渶瑕佹牴鎹� 鏍囧寘鏁伴噺杩涜鍒嗛厤锛屽苟鐢熸垚N鏉℃樉绀哄埌鐣岄潰涓�
- var arrChaifen = []
- checkedMaterial.value.forEach((item: any) => {
- if (item.snp && item.snp > 0) { //鏍囧寘鏁� > 0
- //-------鍓╀綑鍙敤鏁� > 0
- if (Number(item.usedQty) > 0) {
- // ----------- 鏍囧寘鏁� > 鍓╀綑鍙敤鏁� ------- 鍑戜笉澶熶竴鍖� 灏卞垱寤轰笉瓒充竴鍖�
- if (item.usedQty < item.snp) {
- var { quantity, ...rest } = item;
- arrChaifen.push({
- ...rest,
- poQuantity: item.usedQty, //鍓╀綑鍙敤鏁�
- quantity: 0 //鍚庡彴澶勭悊杞崲鍚庣殑閫佽揣鏁伴噺
- });
- return
- } else {
- //----- 瀛樺湪鏍囧寘 鎷嗗垎 10/3 鎷嗘垚 3 3 3 1-----------
- var numArr = []; // var num = [3,3,3,1];
- var s1 = Math.floor(item.usedQty / item.snp);
- var qtyYs = Number(item.usedQty) % Number(item.snp); //鍙栦綑鏁�
- var numArr = Array.from({ length: s1 }, () => item.snp);//鍒涘缓鏁扮粍闀垮害s1,骞跺~鍏呮爣鍖呮暟
- if (qtyYs > 0) {
- numArr.push(qtyYs)
- }
- console.log("鎷嗗垎鐨勬暟缁勫唴瀹�")
- console.log(numArr)
- numArr.forEach((itemCf: any) => {
- var { quantity, ...rest } = item;
- var quantityNew = Number(itemCf);
- arrChaifen.push({
- ...rest,
- poQuantity: quantityNew,
- quantity: 0 //鍚庡彴澶勭悊杞崲鍚庣殑閫佽揣鏁伴噺
- });
- });
- }
- }
- } else {
- //-----------娌℃湁鏍囧寘鐨勭洿鎺ユ彃鍏�
- var { quantity, ...rest } = item;
- var quantitySy = item.usedQty || 0
- arrChaifen.push({
- ...rest,
- poQuantity: quantitySy,//鍓╀綑鍙敤鏁�
- quantity: 0 //鍚庡彴澶勭悊杞崲鍚庣殑閫佽揣鏁伴噺
- });
- }
- });
-
- warehousOrderDetails.value.push(...arrChaifen);
-
- } else {
- //鐩存帴娣诲姞鐗╂枡
- for (let i = 0; i < checkedMaterial.value.length; i++) {
- let idx = warehousOrderDetails.value.findIndex(
- (item: { asnLineNumber: any; materialCode: any }) =>
- item.materialCode == checkedMaterial.value[i].materialCode
- );
- if (idx > -1) {
- return ElMessage.warning(
- `鐗╂枡缂栧彿${checkedMaterial.value[i].materialCode}鍦ㄧ墿鏂欏垪琛ㄤ腑宸插瓨鍦�,璇峰幓闄ゅ嬀閫塦
- );
- }
- }
- warehousOrderDetails.value.push(...checkedMaterial.value);
- }
- // 鑷姩缁欒鍙峰鍊�
- checkedMaterial.value.forEach((item, index) => {
- item.unit = item.poUnit || item.unit;
- // if (!item.asnLineNumber) {
- // item.asnLineNumber = index + 1 + warehousOrderDetails.value.length;
- // }
- });
- // }
- addMaterialVisible.value = false;
-};
-
-//鍏抽棴鏂板鐗╂枡绐楀彛
-const closeMaterialDialog = () => {
- materialForm.value = {
- materialCode: "",
- projectNo: "",
- supplierCode: "",
- poNo: "",
- Code: "",
- Page: 1,
- PageSize: 10,
- filterOrderStauts: 1, //杩囨护鈥滄柊寤衡�濃�滃鐞嗕腑鈥濈殑PO鍗�
- IsDisabled: false, //鏈鐢ㄧ殑
- MaterialType: "546896760045637", //鐗╂枡绫诲瀷锛氬師鏉愭枡
- plannedStartTimeRange: [],
- plannedEndTimeRange: []
- };
- materialList.value = [];
- checkedMaterial.value = [];
- materialRef.value.clearSelection();
-};
-
-// 椤甸潰鍔犺浇鏃�
-onMounted(async () => {
- getEnumOrderTypeData.value =
- (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("OrderTypeEnum")).data.result ??
- [];
-
- getEnumPoStatusData.value =
- (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("OrderStatusEnum")).data.result ??
- [];
- getBusinessTypeData_Index.value = await handleSlectDataWmsBusinessType(moveType); //涓嬫媺璇诲彇涓氬姟绫诲瀷鎺ュ彛 create by liuwq
- getEnumDockData.value =
- (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("DockEnum")).data.result ?? [];
-});
-
-//================
-const arrTdp = ref<any[]>([]);
-const queryParamsW = ref<any>({});
-const tableParamsW = ref({
- page: 1,
- pageSize: 1000,
- total: 0,
- custType: "渚涘簲鍟�"
-});
-
-//-----------------杩滅▼鎼滅储pageBaseCustomer ----------------
-// const handleQueryTdp = async () => {
-// var res = await pageBaseCustomerForOrders(Object.assign(queryParamsW.value, tableParamsW.value));
-// arrTdp.value = res.data.result ?? [];
-// };
-
-const changeXmbh = async (query?: any, materialCode?: any, scope?: any) => {
- loading.value = true;
- var res = await pageBaseCustomerForOrders({
- ...tableParamsW.value,
- materialCode: materialCode,
- // custCode: query //瀹㈡埛缂栧彿
- });
- loading.value = false;
- scope.arrTdp = res.data.result ?? [];
-};
-
-// 杩滅▼鎼滅储 杈撳叆鍏抽敭瀛椾互浠庤繙绋嬫湇鍔″櫒涓煡鎵炬暟鎹��
-// const remoteMethod = async (query: any) => {
-// loading.value = true;
-// var res = await pageBaseCustomerForOrders({
-// ...tableParamsW.value,
-// custCode: query
-// });
-// loading.value = false;
-// arrTdp.value = res.data.result ?? [];
-// };
-//-----------------杩滅▼鎼滅储----------------
-
-
-//--------------浜岀淮鐮佺敓鎴�
-const sccheckedDetails = ref<any[]>([]);
-const scdetailsCheckChange = (val: any) => {
- sccheckedDetails.value = val;
-};
-const goGenerateCode = async () => {
-
- const handleArr: number[] = [];
- sccheckedDetails.value.forEach((item) => {
- handleArr.push(item.id);
- });
- debugger
- ElMessageBox.confirm("鏄惁纭鐢熸垚鏉$爜锛�", "鎻愮ず", {
- confirmButtonText: "纭",
- cancelButtonText: "鍙栨秷",
- type: "warning",
- })
- .then(async () => {
- const ret = await updateWmsOrderAsnDetailsBarCode({
- ID: handleArr
- });
- if (ret.data.type == "success") {
- ElMessage.success('鐢熸垚鏉$爜鎴愬姛锛�');
- getDetail();
- }
- })
- .catch(() => {
- ElMessage.info("宸插彇娑堢敓鎴愭潯鐮�");
- });
-}
-
-
-
-//-----------------杩滅▼鎼滅储 ----------------
-const arrTdp2 = ref<any[]>([]);
-const queryParamsW2 = ref<any>({});
-const tableParamsW2 = ref({
- page: 1,
- pageSize: 200,
- total: 0,
- custType: "渚涘簲鍟�"
-});
-
-// 杩滅▼鎼滅储 杈撳叆鍏抽敭瀛椾互浠庤繙绋嬫湇鍔″櫒涓煡鎵炬暟鎹��
-const remoteMethod2 = async (query: any) => {
- loading.value = true;
- var res = await pageBaseCustomer({
- ...tableParamsW2.value,
- custCode: query
- });
- loading.value = false;
- arrTdp2.value = res.data.result?.items ?? [];
-};
-//-----------------杩滅▼鎼滅储----------------
-
-// 鏆撮湶鏂规硶
-defineExpose({ openDialog, openDrawer });
-</script>
-<style lang="less" scoped>
-.detailBoxWrap {
- margin: 10px;
-}
-
-.msi-form {
- margin-top: 10px;
-}
-
-.msi-form {
- margin-bottom: 10px;
-}
-
-.slot_title {
- display: flex;
- align-items: center;
-
- // margin-left: 20px;
- .title_orderNo {
- font-size: 18px;
- color: #f18201;
- font-weight: bold;
- margin-right: 5px;
- }
-}
-</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderAsn/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderAsn/index.vue
deleted file mode 100644
index 9144030..0000000
--- a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderAsn/index.vue
+++ /dev/null
@@ -1,426 +0,0 @@
-锘�<template>
- <div class="wmsOrderAsn-container">
- <el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
- <el-form :model="queryParams" ref="queryForm" labelWidth="90">
- <el-row>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
- <el-form-item label="鍏抽敭瀛�">
- <el-input v-model="queryParams.searchKey" clearable="" placeholder="ASN鍗曞彿" />
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
- <el-form-item label="ASN鍗曞彿">
- <el-input v-model="queryParams.asnNo" clearable="" placeholder="璇疯緭鍏SN鍗曞彿" />
-
- </el-form-item>
- </el-col>
- <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
- <el-form-item label="鍗曟嵁绫诲瀷">
- <el-select clearable="" v-model="queryParams.asnType" placeholder="璇烽�夋嫨鍗曟嵁绫诲瀷">
- <el-option v-for="(item,index) in getEnumAsnTypeData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
- </el-select>
- </el-form-item>
- </el-col> -->
-
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
- <el-form-item label="涓氬姟绫诲瀷">
- <el-select clearable="" v-model="queryParams.businessType" placeholder="璇烽�夋嫨涓氬姟绫诲瀷">
- <el-option v-for="(item, index) in getBusinessTypeData_Index" :key="index" :value="item.businessTypeValue"
- :label="`[${item.businessTypeValue}] ${item.businessTypeName}`" />
-
- </el-select>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
- <el-form-item label="鍗曟嵁鐘舵��">
- <el-select clearable="" v-model="queryParams.asnStatus" placeholder="璇烽�夋嫨鍗曟嵁鐘舵��">
- <el-option v-for="(item, index) in getEnumAsnStatusData_Index" :key="index" :value="item.value"
- :label="`${item.describe}`" />
-
- </el-select>
-
- </el-form-item>
- </el-col>
- <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
- <el-form-item label="鍗曟嵁鐘舵�佸悕绉�">
- <el-input v-model="queryParams.asnStatusName" clearable="" placeholder="璇疯緭鍏ュ崟鎹姸鎬佸悕绉�"/>
-
- </el-form-item>
- </el-col> -->
- <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
- <el-form-item label="鐗╂祦鍗曞彿">
- <el-input v-model="queryParams.trackingNumber" clearable="" placeholder="璇疯緭鍏ョ墿娴佸崟鍙�" />
-
- </el-form-item>
- </el-col> -->
- <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
- <el-form-item label="閲婃斁鐘舵��">
- <el-input-number v-model="queryParams.releaseStatus" clearable="" placeholder="璇疯緭鍏ラ噴鏀剧姸鎬�"/>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
- <el-form-item label="閲婃斁鐘舵�佸悕绉�">
- <el-input v-model="queryParams.releaseStatusName" clearable="" placeholder="璇疯緭鍏ラ噴鏀剧姸鎬佸悕绉�"/>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
- <el-form-item label="鏄惁鍐荤粨">
- <el-select clearable="" v-model="queryParams.isFreeze" placeholder="璇烽�夋嫨鏄惁鍐荤粨">
- <el-option v-for="(item,index) in getEnumIsFreezeData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
-
- </el-select>
-
- </el-form-item>
- </el-col> -->
-
- <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
- <el-form-item label="棰勮鍒拌揪鏃ユ湡">
- <el-date-picker placeholder="璇烽�夋嫨棰勮鍒拌揪鏃ユ湡" value-format="YYYY/MM/DD" type="daterange" v-model="queryParams.estimatedDateRange" />
-
- </el-form-item>
- </el-col> -->
- <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
- <el-form-item>
- <el-button-group style="display: flex; align-items: center;">
- <el-button type="primary" icon="ele-Search" @click="handleQuery" v-auth="'wmsOrderAsn:page'"> 鏌ヨ
- </el-button>
- <el-button icon="ele-Refresh" @click="() => queryParams = {}"> 閲嶇疆 </el-button>
- <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI"
- style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
- <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI"
- style="margin-left:5px;"> 闅愯棌 </el-button>
- <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsOrderAsn" v-auth="'wmsOrderAsn:add'"> 鏂板 </el-button> -->
- <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="showProp(1)"
- v-auth="'wmsOrderPurchase:add'"> 鏂板 </el-button>
- <el-button type="primary" style="margin-left:5px;" icon="ele-Upload" @click="openImportExcelWmsOrderDeliver"> 瀵煎叆 </el-button>
- <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handExport"> 瀵煎嚭</el-button>
- </el-button-group>
- </el-form-item>
-
- </el-col>
- </el-row>
- </el-form>
- </el-card>
- <el-card class="full-table" shadow="hover" style="margin-top: 5px">
- <el-table :data="tableData" style="width: 100%" v-loading="loading" tooltip-effect="light" row-key="id"
- @sort-change="sortChange" ref="tableRef" :summary-method="getExportTitle" show-summary border="">
-
- <el-table-column type="index" label="搴忓彿" width="55" align="center" />
- <!-- <el-table-column prop="purchaseNo" label="PO鍗曞彿" show-overflow-tooltip="" /> -->
-
- <el-table-column label="ASN鍗曞彿" prop="asnNo" width="160px" align="left" show-overflow-tooltip>
- <template #default="scope">
- <span class="under_line" @click="openDrawer(1, scope.row)">
- {{ scope.row.asnNo }}
- </span>
- </template>
- </el-table-column>
-
- <!--
- <el-table-column prop="asnType" min-width="100px" label="鍗曟嵁绫诲瀷" show-overflow-tooltip="" >
- <template #default="scope">
- {{ getEnumDesc(scope.row.asnType, getEnumAsnTypeData_Index)}}
- </template>
- </el-table-column> -->
- <el-table-column prop="businessTypeName" label="涓氬姟绫诲瀷" show-overflow-tooltip="" min-width="90px">
- <template #default="scope">
- {{ scope.row.businessTypeName }}
- </template>
- </el-table-column>
- <el-table-column prop="asnStatus" label="鍗曟嵁鐘舵��" show-overflow-tooltip="">
- <template #default="scope">
- <el-tag :type="getTypeStatus(1, getEnumDesc(scope.row.asnStatus, getEnumAsnStatusData_Index))">
- {{ getEnumDesc(scope.row.asnStatus, getEnumAsnStatusData_Index) }}
- </el-tag>
- </template>
- </el-table-column>
-
- <!-- <el-table-column prop="quantity" label="鏁伴噺" show-overflow-tooltip="" />
- <el-table-column prop="goodsQuantity" label="宸叉敹鏁伴噺" show-overflow-tooltip="" /> -->
-
- <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"
- show-overflow-tooltip="" />
- <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"
- show-overflow-tooltip="" />
- <el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
- <el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
- <el-table-column label="鎿嶄綔" width="280" align="center" fixed="right" show-overflow-tooltip=""
- v-if="auth('wmsOrderAsn:update') || auth('wmsOrderAsn:delete')">
- <template #default="scope">
- <!-- <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsOrderAsn(scope.row)" v-auth="'wmsOrderAsn:update'"> 缂栬緫 </el-button> -->
-
- <el-button icon="ele-Edit" size="small" text="" type="primary" @click="showProp(scope.row)"
- v-auth="'wmsOrderPurchase:update'" :disabled="scope.row.asnStatus!=0"> 缂栬緫 </el-button>
- <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsOrderAsn(scope.row)"
- v-auth="'wmsOrderAsn:delete'" :disabled="scope.row.asnStatus!=0"> 鍙栨秷 </el-button>
-
-
- <el-button icon="ele-Close" size="small" text="" type="primary" v-auth="'wmsOrderDeliver:delete'"
- @click="tocloseWmsOrderAsn(scope.row)" :disabled="!(scope.row.asnStatus == 0 || scope.row.asnStatus == 1)"> 鍏抽棴</el-button>
-
- <el-button icon="ele-Printer" size="small" text="" type="primary" @click="showProp(3,scope.row)"
- v-auth="'wmsOrderAsn:update'" :disabled="scope.row.asnStatus!=0"> 鎵撳嵃 </el-button>
- </template>
- </el-table-column>
- </el-table>
- <el-pagination v-model:currentPage="tableParams.page" v-model:page-size="tableParams.pageSize"
- :total="tableParams.total" :page-sizes="[10, 20, 50, 100, 200, 500]" small="" background=""
- @size-change="handleSizeChange" @current-change="handleCurrentChange"
- layout="total, sizes, prev, pager, next, jumper" />
- <printDialog ref="printDialogRef" :title="printWmsOrderAsnTitle" @reloadTable="handleQuery" />
- <editDialog ref="editDialogRef" :title="editWmsOrderAsnTitle" @reloadTable="handleQuery" />
- </el-card>
-
- <editDialogWmsOrderDeliver ref="editDialogRefWmsOrderDeliver" :title="editWmsOrderDeliverTitle"
- @reloadTable="handleQuery" />
- <importExcelDialog ref="importExcelDialogRefWmsOrderDeliver" :title="importExcelTitleWmsOrderDeliver"
- @parentUploadFun="handleImportExcelWmsOrderDeliver" @parentDownFun="handleDownExcelWmsOrderDeliver" />
-
- <!-- 鎵�鏈夊脊妗� 锛氭柊澧� 缂栬緫 璇︽儏 -->
- <open-allprop titleAuthor="1" hexiao="0" ref="propALlProp" @getTabelData="handleQuery"></open-allprop>
- </div>
-</template>
-
-<script lang="ts" setup="" name="wmsOrderAsn">
-import { getCurrentInstance, nextTick, onMounted, ref } from "vue";
-import { ElMessageBox, ElMessage } from "element-plus";
-import { auth } from '/@/utils/authFunction';
-import { formatDate, formatDate_T_Date, formatDate_T_Time, defaultTimeRange } from '/@/utils/formatTime';
-import printDialog from '/@/views/system/print/component/hiprint/preview.vue'
-import editDialog from '/@/views/main/WmsOrder/wmsOrderAsn/component/editDialog.vue'
-import { pageWmsOrderAsn, deleteWmsOrderAsn, importExcelWmsOrderAsn, downloadExcelTemplateWmsOrderAsn, downloadExcelTemplateWmsOrderAsnAll, closeWmsOrderAsn } from '/@/api/main/WmsOrder/wmsOrderAsn';
-import { getAPI } from '/@/utils/axios-utils';
-import { SysEnumApi } from '/@/api-services/api';
-import commonFunction from '/@/utils/commonFunction';
-import importExcelDialog from '/@/components/importExcel/index.vue' //寮曞叆瀵煎叆缁勪欢
-import { handleSlectDataWmsBusinessType } from "/@/utils/selectData";
-import {
-formatUtcToData,
- getTypeStatus
-} from "/@/utils/formate";
-
-import OpenAllprop from "./component/openAllpropAsn.vue";
-import { ExcellTableDataExport } from "/@/hooks/exportTableDataExcell";
-const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
-const moveType=10;//绉诲姩绫诲瀷 鍏ュ簱
-// ------------灏佽瀵煎嚭鍔熻兘--鍓嶇瀵煎嚭+琛ㄦ牸鏍囬---------------
-const jsonExcellTableExport = {
- titleName: "", //瀵煎嚭琛ㄦ牸鍚嶇О
- interfaceListName: '',//瀵煎嚭鎺ュ彛鍚嶇О
-}
-const { getExportTitle, handleExportExcell, formExport, entozhExcell } = ExcellTableDataExport(jsonExcellTableExport)
-// --------------end 灏佽瀵煎嚭鍔熻兘--鍓嶇瀵煎嚭+琛ㄦ牸鏍囬-----------------
-// ---------------鏂板-----------------------
-const showProp = (item?: any,itemAll?:any) => {
- if (item == 1) { //鏂板
- proxy.$refs['propALlProp'].openDialog(1);
- } else if(item == 3){ //鎵撳嵃
- proxy.$refs['propALlProp'].openDialog(3, itemAll);
- } else{ //缂栬緫
- proxy.$refs['propALlProp'].openDialog(2, item);
- }
-}
-// ---------------璇︽儏-----------------------
-const openDrawer = (type: number, item?: any) => {
- proxy.$refs['propALlProp'].openDrawer(type, item, entozhExcell);
-}
-// ---------------end璇︽儏-----------------------
-const getBusinessTypeData_Index = ref<any>([]);//涓氬姟绫诲瀷 create by liuwq
-const getEnumAsnTypeData_Index = ref<any>([]);
-const getEnumAsnStatusData_Index = ref<any>([]);
-const getEnumIsFreezeData_Index = ref<any>([]);
-
-
-
-const { getEnumDesc } = commonFunction();
-const showAdvanceQueryUI = ref(false);
-const printDialogRef = ref();
-const editDialogRef = ref();
-const loading = ref(false);
-const tableData = ref<any>([]);
-const queryParams = ref<any>({});
-const tableParams = ref({
- page: 1,
- pageSize: 10,
- total: 0,
-});
-
-const printWmsOrderAsnTitle = ref("");
-const editWmsOrderAsnTitle = ref("");
-
-// 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
-const changeAdvanceQueryUI = () => {
- showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
-}
-
-
-// 鏌ヨ鎿嶄綔
-const handleQuery = async () => {
- loading.value = true;
- debugger
- var res = await pageWmsOrderAsn(Object.assign(queryParams.value, tableParams.value));
- tableData.value = res.data.result?.items ?? [];
- tableParams.value.total = res.data.result?.total;
- loading.value = false;
-
-};
-
-// 鍒楁帓搴�
-const sortChange = async (column: any) => {
- queryParams.value.field = column.prop;
- queryParams.value.order = column.order;
- await handleQuery();
-};
-
-// 鎵撳紑鏂板椤甸潰
-const openAddWmsOrderAsn = () => {
- editWmsOrderAsnTitle.value = '娣诲姞ASN涓�';
- editDialogRef.value.openDialog({});
-};
-
-// 鎵撳紑鎵撳嵃椤甸潰
-const openPrintWmsOrderAsn = async (row: any) => {
- printWmsOrderAsnTitle.value = '鎵撳嵃ASN涓�';
-}
-
-// 鎵撳紑缂栬緫椤甸潰
-const openEditWmsOrderAsn = (row: any) => {
- editWmsOrderAsnTitle.value = '缂栬緫ASN涓�';
- editDialogRef.value.openDialog(row);
-};
-
-// 鍒犻櫎
-const delWmsOrderAsn = (row: any) => {
- ElMessageBox.confirm(`纭畾瑕佸彇娑堝悧?`, "鎻愮ず", {
- confirmButtonText: "纭畾",
- cancelButtonText: "鍙栨秷",
- type: "warning",
- })
- .then(async () => {
- var res = await deleteWmsOrderAsn(row);
- if (res.data.type == "success") {
- handleQuery();
- ElMessage.success("鍙栨秷鎴愬姛");
- }
- })
-};
-
-// 鏀瑰彉椤甸潰瀹归噺
-const handleSizeChange = (val: number) => {
- tableParams.value.pageSize = val;
- handleQuery();
-};
-
-// 鏀瑰彉椤电爜搴忓彿
-const handleCurrentChange = (val: number) => {
- tableParams.value.page = val;
- handleQuery();
-};
-// 鏍规嵁businessTypeValue鑾峰彇businessTypeName
-const getBusinessTypeByValue = (key: any, itemLst: any) => {
-
-return itemLst.find((x: any) => x.businessTypeValue == key)?.businessTypeName;
-};
-
-handleQuery();
-
-onMounted(async () => {
- nextTick(async () => {
- getBusinessTypeData_Index.value = await handleSlectDataWmsBusinessType(moveType); //涓嬫媺璇诲彇鎺ュ彛
- getEnumAsnTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? [];
- getEnumAsnStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
- getEnumIsFreezeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
- });
-});
-
-
-
-
-/***************************************************[DO鍗曟搷浣淽缁撴潫***************************************************/
-/***************************************************[DO鍗曞鍏寮�濮�***************************************************/
-const printWmsOrderDeliverTitle = ref("");
-const editWmsOrderDeliverTitle = ref("");
-const importExcelTitleWmsOrderDeliver = ref("");
-const importExcelDialogRefWmsOrderDeliver = ref();
-//鎵撳紑瀵煎叆鐣岄潰
-const openImportExcelWmsOrderDeliver = () => {
- importExcelTitleWmsOrderDeliver.value = '瀵煎叆ASN鍗�';
- importExcelDialogRefWmsOrderDeliver.value.openDialog({});
-};
-//瀵煎叆鏁版嵁
-const handleImportExcelWmsOrderDeliver = async (formData: Blob) => {
- var result = await importExcelWmsOrderAsn(formData);
- importExcelDialogRefWmsOrderDeliver.value.callBackUploadFun(result.data);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
- if (result.data.type == "success") {
- handleQuery();
- }
-};
-//涓嬭浇瀵煎叆妯℃澘
-const handleDownExcelWmsOrderDeliver = async () => {
- var result = await downloadExcelTemplateWmsOrderAsn();
- importExcelDialogRefWmsOrderDeliver.value.callBackDownFun(result);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
-};
-/***************************************************[DO鍗曞鍏缁撴潫***************************************************/
-/***************************************************[DO鍗曞鍑篯寮�濮�***************************************************/
-
-
-
-//瀵煎嚭
-const handExport = () => {
- downloadExcelTemplateWmsOrderAsnAll(queryParams.value)
- .then((res) => {
- if(res.status == 200){
- const link = document.createElement("a"); //鍒涘缓a鏍囩
- let blob = new Blob([res.data], { type: "application/vnd.ms-excel" }); // response灏辨槸鎺ュ彛杩斿洖鐨勬枃浠舵祦
- let objectUrl = URL.createObjectURL(blob);
- link.href = objectUrl;
- link.download = `ASN鍗曞鍑�${formatUtcToData(
- new Date().toString(),
- "YYYY-MM-DD hh:mm:ss"
- )}`; // 鑷畾涔夋枃浠跺悕
- link.click(); // 涓嬭浇鏂囦欢
- URL.revokeObjectURL(objectUrl); // 閲婃斁鍐呭瓨
- }
- })
-};
-
-
-
-
-// 鍏抽棴Asn鍗�
-const tocloseWmsOrderAsn = (row: any) => {
- ElMessageBox.confirm(`纭畾瑕佸叧闂悧?`, "鎻愮ず", {
- confirmButtonText: "纭畾",
- cancelButtonText: "鍙栨秷",
- type: "warning",
- })
- .then(async () => {
- loading.value = true;
- var ret = await closeWmsOrderAsn(row);
- if (ret.data.type == "success") {
- ElMessage.success("鍏抽棴鎴愬姛");
- }
- loading.value = false;
- handleQuery();
- })
-};
-
-</script>
-<style scoped>
-:deep(.el-input),
-:deep(.el-select),
-:deep(.el-input-number) {
- width: 100%;
-}
-
-.under_line {
- color: #F18201;
- text-decoration: underline;
- cursor: pointer;
-}
-</style>
-
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchase/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchase/index.vue
deleted file mode 100644
index 092bab5..0000000
--- a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchase/index.vue
+++ /dev/null
@@ -1,486 +0,0 @@
-<template>
- <div class="wmsOrderPurchase-container">
- <el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
- <el-form :model="queryParams" ref="queryForm" labelWidth="90">
- <el-row>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="6" class="mb10">
- <el-form-item label="鍏抽敭瀛�">
- <el-input v-model="queryParams.searchKey" clearable="" placeholder="PO鍗曞彿,渚涘簲鍟嗙紪鍙�,渚涘簲鍟嗗悕绉�,ERP鍗曞彿,椤圭洰鍙�" />
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
- <el-form-item label="PO鍗曞彿">
- <el-input v-model="queryParams.purchaseNo" clearable="" placeholder="璇疯緭鍏O鍗曞彿" />
-
- </el-form-item>
- </el-col>
-
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
- <el-form-item label="涓氬姟绫诲瀷">
-
- <el-select clearable="" v-model="queryParams.businessType" placeholder="璇烽�夋嫨涓氬姟绫诲瀷">
- <el-option v-for="(item, index) in getBusinessTypeData_Index" :key="index" :value="item.businessTypeValue"
- :label="`[${item.businessTypeValue}] ${item.businessTypeName}`" />
-
- </el-select>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
- <el-form-item label="鍗曟嵁鏉ユ簮">
- <el-select clearable="" v-model="queryParams.orderSocure" placeholder="璇烽�夋嫨鍗曟嵁鏉ユ簮">
- <el-option v-for="(item,index) in getEnumOrderSocureData_Index" :key="index" :value="item.describe" :label="`${item.describe}`" />
- </el-select>
- </el-form-item>
- </el-col>
-
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
- <el-form-item label="鍗曟嵁鐘舵��">
- <el-select clearable="" v-model="queryParams.poStatus" placeholder="璇烽�夋嫨鍗曟嵁鐘舵��">
- <el-option v-for="(item, index) in getEnumPoStatusData_Index" :key="index" :value="item.value"
- :label="`${item.describe}`" />
-
- </el-select>
-
- </el-form-item>
- </el-col>
- <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
- <el-form-item label="鍗曟嵁鐘舵�佸悕绉�">
- <el-input v-model="queryParams.poStatusName" clearable="" placeholder="璇疯緭鍏ュ崟鎹姸鎬佸悕绉�"/>
-
- </el-form-item>
- </el-col> -->
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
- <!-- <el-form-item label="渚涘簲鍟嗙紪鍙�">
- <el-input v-model="queryParams.supplierCode" clearable="" placeholder="璇疯緭鍏ヤ緵搴斿晢缂栧彿" />
- </el-form-item> -->
-
-
- <el-form-item label="渚涘簲鍟�" prop="supplierCode">
- <el-select
- v-model="queryParams.supplierCode"
- filterable
- remote
- reserve-keyword
- remote-show-suffix
- :remote-method="remoteMethod"
- :loading="loading"
- placeholder="璇烽�夋嫨渚涘簲鍟�"
- clearable
- style="width: 100%"
- @change="changeXmbh(queryParams.supplierCode)"
- >
- <el-option
- v-for="(item, index) in arrTdp"
- :key="index"
- :value="item.custCode"
- :label="`[${item.custCode}]${item.custChinaName}`"
- ></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
- <el-form-item label="渚涘簲鍟嗗悕绉�">
- <el-input v-model="queryParams.supplierName" clearable="" placeholder="璇疯緭鍏ヤ緵搴斿晢鍚嶇О"/>
-
- </el-form-item>
- </el-col>
- <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
- <el-form-item label="鏀惰揣閬撳彛"> -->
- <!-- <el-input v-model="queryParams.dock" clearable="" placeholder="璇疯緭鍏ユ敹璐ч亾鍙�" /> -->
- <!-- <el-select clearable v-model="queryParams.dock" placeholder="璇烽�夋嫨鏀惰揣閬撳彛">
- <el-option
- v-for="(item, index) in getEnumDockData"
- :key="index"
- :value="item.value"
- :label="`${item.describe}`"
- ></el-option>
- </el-select> -->
- <!-- </el-form-item>
- </el-col> -->
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
- <el-form-item label="ERP鍗曞彿">
- <el-input v-model="queryParams.erpOrderNo" clearable="" placeholder="璇疯緭鍏RP鍗曞彿" />
-
- </el-form-item>
- </el-col>
- <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
- <el-form-item label="椤圭洰ID">
- <el-input v-model="queryParams.projectId" clearable="" placeholder="璇疯緭鍏ラ」鐩甀D"/>
-
- </el-form-item>
- </el-col> -->
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
- <el-form-item label="椤圭洰鍙�">
- <el-input v-model="queryParams.projectNo" clearable="" placeholder="璇疯緭鍏ラ」鐩彿" />
-
- </el-form-item>
- </el-col>
- <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
- <el-form-item label="椤圭洰鍚嶇О">
- <el-input v-model="queryParams.projectName" clearable="" placeholder="璇疯緭鍏ラ」鐩悕绉�"/>
-
- </el-form-item>
- </el-col> -->
-
-
- <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
- <el-form-item>
- <el-button-group style="display: flex; align-items: center;">
- <el-button type="primary" icon="ele-Search" @click="handleQuery" v-auth="'wmsOrderPurchase:page'"> 鏌ヨ
- </el-button>
- <el-button icon="ele-Refresh" @click="() => queryParams = {}"> 閲嶇疆 </el-button>
- <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI"
- style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
- <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI"
- style="margin-left:5px;"> 闅愯棌 </el-button>
- <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsOrderPurchase" v-auth="'wmsOrderPurchase:add'"> 鏂板 </el-button> -->
- <!-- 鏂板PO鍗�-ly -->
- <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="showProp(1)"
- v-auth="'wmsOrderPurchase:add'"> 鏂板 </el-button>
- <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Upload" @click="openImportExcelWmsOrderDeliver"> 瀵煎叆 </el-button> -->
-<!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handExport"> 瀵煎嚭 </el-button> -->
- </el-button-group>
- </el-form-item>
-
- </el-col>
- </el-row>
- </el-form>
- </el-card>
- <el-card class="full-table" shadow="hover" style="margin-top: 5px">
- <el-table :data="tableData" style="width: 100%" v-loading="loading" tooltip-effect="light" ref="tableRef"
- row-key="id" @sort-change="sortChange" :summary-method="getExportTitle" show-summary border="">
- <el-table-column fixed="left" type="index" label="搴忓彿" width="55" align="center" />
-
- <el-table-column fixed="left" label="PO鍗曞彿" prop="purchaseNo" width="150" align="left" show-overflow-tooltip>
- <template #default="scope">
- <span class="under_line" @click="openDrawer(1, scope.row)">
- {{ scope.row.purchaseNo }}
- </span>
- </template>
- </el-table-column>
-
- <el-table-column prop="businessTypeName" label="涓氬姟绫诲瀷" show-overflow-tooltip="" min-width="90px">
- <template #default="scope">
- {{ scope.row.businessTypeName }}
- </template>
- </el-table-column>
-
- <el-table-column prop="poStatus" label="鍗曟嵁鐘舵��" show-overflow-tooltip="">
- <template #default="scope">
-
- <el-tag :type="getTypeStatus(1, getEnumDesc(scope.row.poStatus, getEnumPoStatusData_Index))"> {{
- getEnumDesc(scope.row.poStatus, getEnumPoStatusData_Index) }}</el-tag>
- </template>
- </el-table-column>
-
- <el-table-column prop="orderSocure" label="鍗曟嵁鏉ユ簮" show-overflow-tooltip="" />
-
- <el-table-column prop="supplierCode" label="渚涘簲鍟嗙紪鍙�" show-overflow-tooltip="" />
- <el-table-column prop="supplierName" label="渚涘簲鍟嗗悕绉�" show-overflow-tooltip="" />
- <!-- <el-table-column prop="dock" label="鏀惰揣閬撳彛" show-overflow-tooltip="" /> -->
- <el-table-column prop="erpOrderNo" label="ERP鍗曞彿" show-overflow-tooltip="" />
- <el-table-column prop="projectNo" label="椤圭洰鍙�" show-overflow-tooltip="" />
- <!-- <el-table-column prop="remark" label="澶囨敞" show-overflow-tooltip="" /> -->
-
- <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"
- show-overflow-tooltip="" />
- <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"
- show-overflow-tooltip="" />
- <el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
- <el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
- <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip=""
- v-if="auth('wmsOrderPurchase:update') || auth('wmsOrderPurchase:delete')">
- <template #default="scope">
- <!-- <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsOrderPurchase(scope.row)" v-auth="'wmsOrderPurchase:update'"> 缂栬緫 </el-button> -->
-
- <el-button icon="ele-Edit" size="small" text="" type="primary" @click="showProp(scope.row)"
- v-auth="'wmsOrderPurchase:update'" :disabled="scope.row.poStatus!=0"> 缂栬緫 </el-button>
-
- <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsOrderPurchase(scope.row)"
- v-auth="'wmsOrderPurchase:delete'" :disabled="scope.row.poStatus!=0"> 鍙栨秷 </el-button>
- </template>
- </el-table-column>
- </el-table>
- <el-pagination v-model:currentPage="tableParams.page" v-model:page-size="tableParams.pageSize"
- :total="tableParams.total" :page-sizes="[10, 20, 50, 100, 200, 500]" small="" background=""
- @size-change="handleSizeChange" @current-change="handleCurrentChange"
- layout="total, sizes, prev, pager, next, jumper" />
- <printDialog ref="printDialogRef" :title="printWmsOrderPurchaseTitle" @reloadTable="handleQuery" />
- <editDialog ref="editDialogRef" :title="editWmsOrderPurchaseTitle" @reloadTable="handleQuery" />
- </el-card>
-
- <editDialogWmsOrderDeliver ref="editDialogRefWmsOrderDeliver" :title="editWmsOrderDeliverTitle"
- @reloadTable="handleQuery" />
- <importExcelDialog ref="importExcelDialogRefWmsOrderDeliver" :title="importExcelTitleWmsOrderDeliver"
- @parentUploadFun="handleImportExcelWmsOrderDeliver" @parentDownFun="handleDownExcelWmsOrderDeliver" />
- <!-- 鎵�鏈夊脊妗� 锛氭柊澧� 缂栬緫 璇︽儏 -->
- <open-allprop titleAuthor="1" hexiao="0" ref="propALlProp" @getTabelData="handleQuery"></open-allprop>
- </div>
-</template>
-
-<script lang="ts" setup="" name="wmsOrderPurchase">
-import { getCurrentInstance, nextTick, onMounted, ref } from "vue";
-import { ElMessageBox, ElMessage } from "element-plus";
-import { auth } from '/@/utils/authFunction';
-import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
-import { formatDate, formatDate_T_Date, formatDate_T_Time, defaultTimeRange } from '/@/utils/formatTime';
-import { pageBaseCustomer } from "/@/api/main/WmsBase/baseCustomer";
-import {
-formatUtcToData,
- getTypeStatus
-} from "/@/utils/formate";
-import printDialog from '/@/views/system/print/component/hiprint/preview.vue'
-import editDialog from '/@/views/main/WmsOrder/wmsOrderPurchase/component/editDialog.vue'
-import { pageWmsOrderPurchase, deleteWmsOrderPurchase, importExcelWmsOrderPurchase, downloadExcelTemplateWmsOrderPurchase, downloadExcelTemplateWmsOrderPurchaseAll } from '/@/api/main/WmsOrder/wmsOrderPurchase';
-import { handleSlectDataWmsBusinessType } from "/@/utils/selectData";
-import { getAPI } from '/@/utils/axios-utils';
-import { SysEnumApi } from '/@/api-services/api';
-import commonFunction from '/@/utils/commonFunction';
-import importExcelDialog from '/@/components/importExcel/index.vue' //寮曞叆瀵煎叆缁勪欢
-import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
-import OpenAllprop from "./component/openAllprop.vue";
-import { ExcellTableDataExport } from "/@/hooks/exportTableDataExcell";
-const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
-const moveType = 10;//绉诲姩绫诲瀷 鍏ュ簱
-// ------------灏佽瀵煎嚭鍔熻兘--鍓嶇瀵煎嚭+琛ㄦ牸鏍囬---------------
-const jsonExcellTableExport = {
- titleName: "", //瀵煎嚭琛ㄦ牸鍚嶇О
- interfaceListName: '',//瀵煎嚭鎺ュ彛鍚嶇О
-}
-const { getExportTitle, handleExportExcell, formExport, entozhExcell } = ExcellTableDataExport(jsonExcellTableExport)
-// --------------end 灏佽瀵煎嚭鍔熻兘--鍓嶇瀵煎嚭+琛ㄦ牸鏍囬-----------------
-// ---------------鏂板-----------------------
-const showProp = (item?: any) => {
- if (item == 1) {
- proxy.$refs['propALlProp'].openDialog(1);
- } else {
- proxy.$refs['propALlProp'].openDialog(2, item);
- }
-}
-// ---------------璇︽儏-----------------------
-const openDrawer = (type: number, item?: any) => {
- proxy.$refs['propALlProp'].openDrawer(type, item, entozhExcell);
-}
-// ---------------end璇︽儏-----------------------
-
-
-const getBusinessTypeData_Index = ref<any>([]);//涓氬姟绫诲瀷 create by liuwq
-const getEnumOrderTypeData_Index = ref<any>([]);
-// const getEnumBusinessTypeData_Index = ref<any>([]); //update by liuwq
-const getEnumPoStatusData_Index = ref<any>([]);
-
-const { getEnumDesc } = commonFunction();
-
-const getEnumOrderSocureData_Index = ref<any>([]);
-
-const showAdvanceQueryUI = ref(false);
-const printDialogRef = ref();
-const editDialogRef = ref();
-const loading = ref(false);
-const tableData = ref<any>([]);
-const queryParams = ref<any>({});
-const tableParams = ref({
- page: 1,
- pageSize: 10,
- total: 0,
-});
-
-const printWmsOrderPurchaseTitle = ref("");
-const editWmsOrderPurchaseTitle = ref("");
-
-// 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
-const changeAdvanceQueryUI = () => {
- showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
-}
-
-
-// 鏌ヨ鎿嶄綔
-const handleQuery = async () => {
- loading.value = true;
- var res = await pageWmsOrderPurchase(Object.assign(queryParams.value, tableParams.value));
- tableData.value = res.data.result?.items ?? [];
- tableParams.value.total = res.data.result?.total;
- loading.value = false;
- getEnumOrderTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? [];
-
- getEnumPoStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
-};
-
-// 鍒楁帓搴�
-const sortChange = async (column: any) => {
- queryParams.value.field = column.prop;
- queryParams.value.order = column.order;
- await handleQuery();
-};
-
-// 鎵撳紑鏂板椤甸潰
-const openAddWmsOrderPurchase = () => {
- editWmsOrderPurchaseTitle.value = '娣诲姞PO鍗�';
- editDialogRef.value.openDialog({});
-};
-
-// 鎵撳紑鎵撳嵃椤甸潰
-const openPrintWmsOrderPurchase = async (row: any) => {
- printWmsOrderPurchaseTitle.value = '鎵撳嵃PO鍗�';
-}
-
-// 鎵撳紑缂栬緫椤甸潰
-const openEditWmsOrderPurchase = (row: any) => {
- editWmsOrderPurchaseTitle.value = '缂栬緫PO鍗�';
- editDialogRef.value.openDialog(row);
-};
-
-// 鍒犻櫎
-const delWmsOrderPurchase = (row: any) => {
- ElMessageBox.confirm(`纭畾瑕佸彇娑堝悧?`, "鎻愮ず", {
- confirmButtonText: "纭畾",
- cancelButtonText: "鍙栨秷",
- type: "warning",
- })
- .then(async () => {
- await deleteWmsOrderPurchase(row);
- handleQuery();
- ElMessage.success("鍙栨秷鎴愬姛");
- })
- .catch(() => { });
-};
-
-// 鏀瑰彉椤甸潰瀹归噺
-const handleSizeChange = (val: number) => {
- tableParams.value.pageSize = val;
- handleQuery();
-};
-
-// 鏀瑰彉椤电爜搴忓彿
-const handleCurrentChange = (val: number) => {
- tableParams.value.page = val;
- handleQuery();
-};
-
-// 鏍规嵁businessTypeValue鑾峰彇businessTypeName
-const getBusinessTypeByValue = (key: any, itemLst: any) => {
-
- return itemLst.find((x: any) => x.businessTypeValue == key)?.businessTypeName;
-};
-
-handleQuery();
-
-
-//================
-const arrTdp = ref<any[]>([]);
-const queryParamsW = ref<any>({});
-const tableParamsW = ref({
- page: 1,
- pageSize: 200,
- total: 0,
- custType: "渚涘簲鍟�",
-});
-
-//-----------------杩滅▼鎼滅储----------------
-const handleQueryTdp = async () => {
- var res = await pageBaseCustomer(Object.assign(queryParamsW.value, tableParamsW.value));
- arrTdp.value = res.data.result?.items ?? [];
-};
-const changeXmbh = async (query?: any) => {
- loading.value = true;
- var res = await pageBaseCustomer({
- page: 1,
- pageSize: 200,
- custCode: query,
- custType: "渚涘簲鍟�",
- });
- loading.value = false;
- arrTdp.value = res.data.result?.items ?? [];
-};
-// 杩滅▼鎼滅储 杈撳叆鍏抽敭瀛椾互浠庤繙绋嬫湇鍔″櫒涓煡鎵炬暟鎹��
-const remoteMethod = async (query: string) => {
- loading.value = true;
- var res = await pageBaseCustomer({
- page: 1,
- pageSize: 200,
- custCode: query,
- custType: "渚涘簲鍟�",
- });
- loading.value = false;
- arrTdp.value = res.data.result?.items ?? [];
-};
-//-----------------杩滅▼鎼滅储----------------
-
-const getEnumDockData = ref<any>([]);
-
-onMounted(async () => {
- nextTick(async () => {
- getBusinessTypeData_Index.value = await handleSlectDataWmsBusinessType(moveType); //涓嬫媺璇诲彇鎺ュ彛
- getEnumDockData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('DockEnum')).data.result ?? [];
- getEnumOrderSocureData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('SourceByEnum')).data.result ?? [];
- });
-});
-
-
-
-
-/***************************************************[DO鍗曟搷浣淽缁撴潫***************************************************/
-/***************************************************[DO鍗曞鍏寮�濮�***************************************************/
-const printWmsOrderDeliverTitle = ref("");
-const editWmsOrderDeliverTitle = ref("");
-const importExcelTitleWmsOrderDeliver = ref("");
-const importExcelDialogRefWmsOrderDeliver = ref();
-//鎵撳紑瀵煎叆鐣岄潰
-const openImportExcelWmsOrderDeliver = () => {
- importExcelTitleWmsOrderDeliver.value = '瀵煎叆PO鍗�';
- importExcelDialogRefWmsOrderDeliver.value.openDialog({});
-};
-//瀵煎叆鏁版嵁
-const handleImportExcelWmsOrderDeliver = async (formData: Blob) => {
- var result = await importExcelWmsOrderPurchase(formData);
- importExcelDialogRefWmsOrderDeliver.value.callBackUploadFun(result.data);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
- if (result.data.type == "success") {
- handleQuery();
- }
-};
-//涓嬭浇瀵煎叆妯℃澘
-const handleDownExcelWmsOrderDeliver = async () => {
- var result = await downloadExcelTemplateWmsOrderPurchase();
- importExcelDialogRefWmsOrderDeliver.value.callBackDownFun(result);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
-};
-/***************************************************[DO鍗曞鍏缁撴潫***************************************************/
-/***************************************************[DO鍗曞鍑篯寮�濮�***************************************************/
-
-
-
-//瀵煎嚭
-const handExport = () => {
- downloadExcelTemplateWmsOrderPurchaseAll(queryParams.value)
- .then((res) => {
- if(res.status == 200){
- const link = document.createElement("a"); //鍒涘缓a鏍囩
- let blob = new Blob([res.data], { type: "application/vnd.ms-excel" }); // response灏辨槸鎺ュ彛杩斿洖鐨勬枃浠舵祦
- let objectUrl = URL.createObjectURL(blob);
- link.href = objectUrl;
- link.download = `PO鍗曞鍑�${formatUtcToData(
- new Date().toString(),
- "YYYY-MM-DD hh:mm:ss"
- )}`; // 鑷畾涔夋枃浠跺悕
- link.click(); // 涓嬭浇鏂囦欢
- URL.revokeObjectURL(objectUrl); // 閲婃斁鍐呭瓨
- }
- })
-};
-
-</script>
-<style scoped>
-:deep(.el-input),
-:deep(.el-select),
-:deep(.el-input-number) {
- width: 100%;
-}
-
-.under_line {
- color: #F18201;
- text-decoration: underline;
- cursor: pointer;
-}
-</style>
-
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigPrint/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigPrint/component/editDialog.vue
index ee64fc4..20930e5 100644
--- a/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigPrint/component/editDialog.vue
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigPrint/component/editDialog.vue
@@ -23,6 +23,13 @@
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+ <el-form-item label="鎵撳嵃鍒嗙被鍚�" prop="printClassifyName">
+ <el-input v-model="ruleForm.printClassifyName" placeholder="璇疯緭鍏ユ墦鍗板垎绫诲悕" maxlength="50" show-word-limit clearable />
+
+ </el-form-item>
+
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item label="鎵撳嵃妯℃澘鍚�" prop="printTemplate">
<el-input v-model="ruleForm.printTemplate" placeholder="璇疯緭鍏ユ墦鍗版ā鏉垮悕" maxlength="255" show-word-limit clearable />
@@ -37,11 +44,8 @@
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="鎵撳嵃鏈哄垪琛�" prop="printerListList">
- <el-select clearable v-model="ruleForm.printerListList" placeholder="璇烽�夋嫨鎵撳嵃鏈哄垪琛�" multiple >
- <el-option v-for="(item,index) in dl('PrinterList')" :key="index" :value="item.name" :label="`[${item.code}] ${item.name}`"></el-option>
-
- </el-select>
+ <el-form-item label="鎵撳嵃鏈哄垪琛�" prop="printerList">
+ <el-input v-model="ruleForm.printerList" placeholder="璇疯緭鍏ユ墦鍗版満鍒楄〃" maxlength="500" show-word-limit clearable />
</el-form-item>
@@ -97,9 +101,10 @@
//鑷娣诲姞鍏朵粬瑙勫垯
const rules = ref<FormRules>({
printClassify: [{required: true, message: '璇烽�夋嫨鎵撳嵃鍒嗙被锛�', trigger: 'change',},],
+ printClassifyName: [{required: true, message: '璇疯緭鍏ユ墦鍗板垎绫诲悕锛�', trigger: 'blur',},],
printTemplate: [{required: true, message: '璇疯緭鍏ユ墦鍗版ā鏉垮悕锛�', trigger: 'blur',},],
printTemplateAddr: [{required: true, message: '璇疯緭鍏ユ墦鍗版ā鏉垮湴鍧�锛�', trigger: 'blur',},],
- printerList: [{required: true, message: '璇烽�夋嫨鎵撳嵃鏈哄垪琛紒', trigger: 'change',},],
+ printerList: [{required: true, message: '璇疯緭鍏ユ墦鍗版満鍒楄〃锛�', trigger: 'blur',},],
isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
});
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigPrint/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigPrint/index.vue
index 9fcd5b1..fb2d9f0 100644
--- a/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigPrint/index.vue
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigPrint/index.vue
@@ -5,7 +5,7 @@
<el-row>
<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
<el-form-item label="鍏抽敭瀛�">
- <el-input v-model="queryParamsWmsConfigPrint.searchKey" clearable="" placeholder="鎵撳嵃妯℃澘鍚�,鎵撳嵃妯℃澘鍦板潃,鎵撳嵃鏈哄垪琛�,澶囨敞,鍒涘缓浜�,淇敼浜�"/>
+ <el-input v-model="queryParamsWmsConfigPrint.searchKey" clearable="" placeholder="鎵撳嵃鍒嗙被鍚�,鎵撳嵃妯℃澘鍚�,鎵撳嵃妯℃澘鍦板潃,鎵撳嵃鏈哄垪琛�,澶囨敞,鍒涘缓浜�,淇敼浜�"/>
</el-form-item>
</el-col>
@@ -15,6 +15,12 @@
<el-option v-for="(item,index) in getEnumPrintClassifyData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
</el-select>
+
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint">
+ <el-form-item label="鎵撳嵃鍒嗙被鍚�">
+ <el-input v-model="queryParamsWmsConfigPrint.printClassifyName" clearable="" placeholder="璇疯緭鍏ユ墦鍗板垎绫诲悕"/>
</el-form-item>
</el-col>
@@ -30,21 +36,18 @@
</el-form-item>
</el-col>
- <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint">
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint">
<el-form-item label="鎵撳嵃鏈哄垪琛�">
- <el-select clearable="" v-model="queryParamsWmsConfigPrint.printerList" placeholder="璇烽�夋嫨鎵撳嵃鏈哄垪琛�">
- <el-option v-for="(item,index) in dl('PrinterList')" :key="index" :value="item.code" :label="`[${item.code}] ${item.name}`" />
-
- </el-select>
+ <el-input v-model="queryParamsWmsConfigPrint.printerList" clearable="" placeholder="璇疯緭鍏ユ墦鍗版満鍒楄〃"/>
</el-form-item>
- </el-col> -->
- <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint">
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint">
<el-form-item label="澶囨敞">
<el-input v-model="queryParamsWmsConfigPrint.remark" clearable="" placeholder="璇疯緭鍏ュ娉�"/>
</el-form-item>
- </el-col> -->
+ </el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
<el-form-item>
<el-button-group style="display: flex; align-items: center;">
@@ -74,22 +77,18 @@
<el-table-column type="index" label="搴忓彿" width="55" align="center"/>
<el-table-column prop="printClassify" label="鎵撳嵃鍒嗙被" show-overflow-tooltip="" >
<template #default="scope">
- {{ getEnumDesc(scope.row.printClassify, getEnumPrintClassifyData_Index)}}
+ <el-tag>{{ getEnumDesc(scope.row.printClassify, getEnumPrintClassifyData_Index)}}</el-tag>
</template>
</el-table-column>
+ <el-table-column prop="printClassifyName" label="鎵撳嵃鍒嗙被鍚�" show-overflow-tooltip="" />
<el-table-column prop="printTemplate" label="鎵撳嵃妯℃澘鍚�" show-overflow-tooltip="" />
<el-table-column prop="printTemplateAddr" label="鎵撳嵃妯℃澘鍦板潃" show-overflow-tooltip="" />
<el-table-column prop="printerList" label="鎵撳嵃鏈哄垪琛�" show-overflow-tooltip="" />
- <!-- <el-table-column prop="printerList" label="鎵撳嵃鏈哄垪琛�" show-overflow-tooltip="" >
- <template #default="scope">
- <el-tag :type="diValue('PrinterList', scope.row.printerList)?.tagType"> {{diValue("PrinterList", scope.row.printerList)?.name}} </el-tag>
- </template>
- </el-table-column> -->
<el-table-column prop="remark" label="澶囨敞" show-overflow-tooltip="" />
- <el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
<el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
- <el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
<el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
+ <el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+ <el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
<el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsConfigPrint:update') || auth('wmsConfigPrint:delete')">
<template #default="scope">
<el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsConfigPrint(scope.row)" v-auth="'wmsConfigPrint:update'"> 缂栬緫 </el-button>
@@ -125,7 +124,7 @@
import { ref,onMounted } from "vue";
import { ElMessageBox, ElMessage } from "element-plus";
import { auth } from '/@/utils/authFunction';
- import { getDictDataItemByValue as diValue, getDictDataList as dl } from '/@/utils/dict-utils';
+ import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/transitionChart/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/transitionChart/index.vue
index 57f6cd9..5bd9d3c 100644
--- a/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/transitionChart/index.vue
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/transitionChart/index.vue
@@ -271,13 +271,13 @@
let timeInter: any = null;
// 椤甸潰鍔犺浇鏃�
onMounted(() => {
- initEchartsResize();
+ // initEchartsResize();
- timeInter = setInterval(() => {
- nextTick(() => {
- handleQuerywmsStockBoardabc('1');
- });
- }, 15000); //璋冪敤棰戠巼鏀逛负 15绉掍竴娆℃煡璇€��
+ // timeInter = setInterval(() => {
+ // nextTick(() => {
+ // handleQuerywmsStockBoardabc('1');
+ // });
+ // }, 15000); //璋冪敤棰戠巼鏀逛负 15绉掍竴娆℃煡璇€��
});
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/wmsConfigPrint/wmsConfigPrint/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/wmsConfigPrint/wmsConfigPrint/component/editDialog.vue
new file mode 100644
index 0000000..19428d0
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/wmsConfigPrint/wmsConfigPrint/component/editDialog.vue
@@ -0,0 +1,187 @@
+锘�<template>
+ <div class="wmsConfigPrint-container">
+ <el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+ <template #header>
+ <div style="color: #fff">
+ <!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+ <span>{{ props.title }}</span>
+ </div>
+ </template>
+ <el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+ <el-row :gutter="35">
+ <el-form-item v-show="false">
+ <el-input v-model="ruleForm.id" />
+ </el-form-item>
+ <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+ <el-form-item label="鎵撳嵃鍒嗙被" prop="printClassify">
+ <el-select clearable v-model="ruleForm.printClassify" placeholder="璇烽�夋嫨鎵撳嵃鍒嗙被">
+ <el-option v-for="(item,index) in getEnumPrintClassifyData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+
+ </el-select>
+
+ </el-form-item>
+
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+ <el-form-item label="鎵撳嵃鍒嗙被鍚�" prop="printClassifyName">
+ <el-input v-model="ruleForm.printClassifyName" placeholder="璇疯緭鍏ユ墦鍗板垎绫诲悕" maxlength="50" show-word-limit clearable />
+
+ </el-form-item>
+
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+ <el-form-item label="鎵撳嵃妯℃澘鍚�" prop="printTemplate">
+ <el-input v-model="ruleForm.printTemplate" placeholder="璇疯緭鍏ユ墦鍗版ā鏉垮悕" maxlength="255" show-word-limit clearable />
+
+ </el-form-item>
+
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+ <el-form-item label="鎵撳嵃妯℃澘鍦板潃" prop="printTemplateAddr">
+ <el-input v-model="ruleForm.printTemplateAddr" placeholder="璇疯緭鍏ユ墦鍗版ā鏉垮湴鍧�" maxlength="255" show-word-limit clearable />
+
+ </el-form-item>
+
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+ <el-form-item label="鎵撳嵃鏈哄垪琛�" prop="printerList">
+ <el-input v-model="ruleForm.printerList" placeholder="璇疯緭鍏ユ墦鍗版満鍒楄〃" maxlength="500" show-word-limit clearable />
+
+ </el-form-item>
+
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+ <el-form-item label="澶囨敞" prop="remark">
+ <el-input v-model="ruleForm.remark" placeholder="璇疯緭鍏ュ娉�" maxlength="255" show-word-limit clearable />
+
+ </el-form-item>
+
+ </el-col>
+ </el-row>
+ </el-form>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button @click="cancel">鍙� 娑�</el-button>
+ <el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+ </span>
+ </template>
+ </el-dialog>
+ </div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+ width: 100%;
+}
+</style>
+<script lang="ts" setup>
+ import { ref,onMounted } from "vue";
+ import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+ import { ElMessage } from "element-plus";
+ import type { FormRules } from "element-plus";
+ import { addWmsConfigPrint, updateWmsConfigPrint, detailWmsConfigPrint } from "/@/api/main/wmsConfigPrint/wmsConfigPrint";
+ import { getAPI } from '/@/utils/axios-utils';
+ import { SysEnumApi } from '/@/api-services/api';
+
+ const getEnumPrintClassifyData = ref<any>([]);
+ //鐖剁骇浼犻�掓潵鐨勫弬鏁�
+ var props = defineProps({
+ title: {
+ type: String,
+ default: "",
+ },
+ });
+ //鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+ const emit = defineEmits(["reloadTable"]);
+ const ruleFormRef = ref();
+ const isShowDialog = ref(false);
+ const loading = ref(false);
+ const disabled_btn = ref(false);
+ const ruleForm = ref<any>({});
+ //鑷娣诲姞鍏朵粬瑙勫垯
+ const rules = ref<FormRules>({
+ printClassify: [{required: true, message: '璇烽�夋嫨鎵撳嵃鍒嗙被锛�', trigger: 'change',},],
+ printClassifyName: [{required: true, message: '璇疯緭鍏ユ墦鍗板垎绫诲悕锛�', trigger: 'blur',},],
+ printTemplate: [{required: true, message: '璇疯緭鍏ユ墦鍗版ā鏉垮悕锛�', trigger: 'blur',},],
+ printTemplateAddr: [{required: true, message: '璇疯緭鍏ユ墦鍗版ā鏉垮湴鍧�锛�', trigger: 'blur',},],
+ printerList: [{required: true, message: '璇疯緭鍏ユ墦鍗版満鍒楄〃锛�', trigger: 'blur',},],
+ isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+ });
+
+ /*
+ * 鎵撳紑寮圭獥
+ * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+ * @param row 琛屾暟鎹�
+ */
+ const openDialog = async (flag: number,row: any) => {
+ // ruleForm.value = JSON.parse(JSON.stringify(row));
+ // 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+ let rowData = JSON.parse(JSON.stringify(row));
+ if (rowData.id)
+ ruleForm.value = (await detailWmsConfigPrint(rowData.id)).data.result;
+ else {
+ ruleForm.value = rowData;
+ }
+ isShowDialog.value = true;
+ };
+
+ // 鍏抽棴寮圭獥
+ const closeDialog = () => {
+ emit("reloadTable");
+ isShowDialog.value = false;
+ };
+
+ // 鍙栨秷
+ const cancel = () => {
+ isShowDialog.value = false;
+ };
+
+ // 鎻愪氦
+ const submit = async () => {
+ disabled_btn.value = true;
+ ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+ if (isValid) {
+ loading.value = true;
+ let values = ruleForm.value;
+ let ret={};
+ let title='鏂板';
+ if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+ ret = await addWmsConfigPrint(values);
+ } else {
+ title='缂栬緫';
+ ret = await updateWmsConfigPrint(values);
+ }
+ loading.value = false;
+ disabled_btn.value = false;
+ if(ret.data.type=="success"){
+ ElMessage.success(title+'鎴愬姛');
+ closeDialog();
+ }
+ } else {
+ disabled_btn.value = false;
+ ElMessage({
+ message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+ type: "error",
+ });
+ }
+ });
+ };
+
+
+
+
+
+
+
+ // 椤甸潰鍔犺浇鏃�
+ onMounted(async () => {
+ getEnumPrintClassifyData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PrintClassifyEnum')).data.result ?? [];
+ });
+
+ //灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+ defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/wmsConfigPrint/wmsConfigPrint/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/wmsConfigPrint/wmsConfigPrint/index.vue
new file mode 100644
index 0000000..e3a67a7
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/wmsConfigPrint/wmsConfigPrint/index.vue
@@ -0,0 +1,280 @@
+锘�<template>
+ <div class="wmsConfigPrint-container">
+ <el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+ <el-form :model="queryParamsWmsConfigPrint" ref="queryForm" labelWidth="90">
+ <el-row>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+ <el-form-item label="鍏抽敭瀛�">
+ <el-input v-model="queryParamsWmsConfigPrint.searchKey" clearable="" placeholder="鎵撳嵃鍒嗙被鍚�,鎵撳嵃妯℃澘鍚�,鎵撳嵃妯℃澘鍦板潃,鎵撳嵃鏈哄垪琛�,澶囨敞,鍒涘缓浜�,淇敼浜�"/>
+
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint">
+ <el-form-item label="鎵撳嵃鍒嗙被">
+ <el-select clearable="" v-model="queryParamsWmsConfigPrint.printClassify" placeholder="璇烽�夋嫨鎵撳嵃鍒嗙被">
+ <el-option v-for="(item,index) in getEnumPrintClassifyData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+
+ </el-select>
+
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint">
+ <el-form-item label="鎵撳嵃鍒嗙被鍚�">
+ <el-input v-model="queryParamsWmsConfigPrint.printClassifyName" clearable="" placeholder="璇疯緭鍏ユ墦鍗板垎绫诲悕"/>
+
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint">
+ <el-form-item label="鎵撳嵃妯℃澘鍚�">
+ <el-input v-model="queryParamsWmsConfigPrint.printTemplate" clearable="" placeholder="璇疯緭鍏ユ墦鍗版ā鏉垮悕"/>
+
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint">
+ <el-form-item label="鎵撳嵃妯℃澘鍦板潃">
+ <el-input v-model="queryParamsWmsConfigPrint.printTemplateAddr" clearable="" placeholder="璇疯緭鍏ユ墦鍗版ā鏉垮湴鍧�"/>
+
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint">
+ <el-form-item label="鎵撳嵃鏈哄垪琛�">
+ <el-input v-model="queryParamsWmsConfigPrint.printerList" clearable="" placeholder="璇疯緭鍏ユ墦鍗版満鍒楄〃"/>
+
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint">
+ <el-form-item label="澶囨敞">
+ <el-input v-model="queryParamsWmsConfigPrint.remark" clearable="" placeholder="璇疯緭鍏ュ娉�"/>
+
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+ <el-form-item>
+ <el-button-group style="display: flex; align-items: center;">
+ <el-button type="primary" icon="ele-Search" @click="handleQueryWmsConfigPrint" v-auth="'wmsConfigPrint:page'" :disabled="disabled_btnWmsConfigPrint"> 鏌ヨ </el-button>
+ <el-button icon="ele-Refresh" @click="resetWmsConfigPrint"> 閲嶇疆 </el-button>
+ <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsConfigPrint" v-if="!showAdvanceQueryUIWmsConfigPrint" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+ <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsConfigPrint" v-if="showAdvanceQueryUIWmsConfigPrint" style="margin-left:5px;"> 闅愯棌 </el-button>
+ <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsConfigPrint" v-auth="'wmsConfigPrint:add'"> 鏂板 </el-button>
+ <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWmsConfigPrint" v-auth="'wmsConfigPrint:exportExcel'" > 瀵煎嚭 </el-button>
+ </el-button-group>
+ </el-form-item>
+
+ </el-col>
+ </el-row>
+ </el-form>
+ </el-card>
+ <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+ <el-table
+ ref="tableRefWmsConfigPrint"
+ :data="tableDataWmsConfigPrint"
+ style="width: 100%"
+ v-loading="loadingWmsConfigPrint"
+ tooltip-effect="light"
+ row-key="id"
+ @sort-change="sortChangeWmsConfigPrint"
+ border="">
+ <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+ <el-table-column prop="printClassify" label="鎵撳嵃鍒嗙被" show-overflow-tooltip="" >
+ <template #default="scope">
+ <el-tag>{{ getEnumDesc(scope.row.printClassify, getEnumPrintClassifyData_Index)}}</el-tag>
+ </template>
+ </el-table-column>
+ <el-table-column prop="printClassifyName" label="鎵撳嵃鍒嗙被鍚�" show-overflow-tooltip="" />
+ <el-table-column prop="printTemplate" label="鎵撳嵃妯℃澘鍚�" show-overflow-tooltip="" />
+ <el-table-column prop="printTemplateAddr" label="鎵撳嵃妯℃澘鍦板潃" show-overflow-tooltip="" />
+ <el-table-column prop="printerList" label="鎵撳嵃鏈哄垪琛�" show-overflow-tooltip="" />
+ <el-table-column prop="remark" label="澶囨敞" show-overflow-tooltip="" />
+ <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
+ <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
+ <el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+ <el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
+ <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsConfigPrint:update') || auth('wmsConfigPrint:delete')">
+ <template #default="scope">
+ <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsConfigPrint(scope.row)" v-auth="'wmsConfigPrint:update'"> 缂栬緫 </el-button>
+ <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsConfigPrint(scope.row)" v-auth="'wmsConfigPrint:delete'"> 鍒犻櫎 </el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <el-pagination
+ v-model:currentPage="tableParamsWmsConfigPrint.page"
+ v-model:page-size="tableParamsWmsConfigPrint.pageSize"
+ :total="tableParamsWmsConfigPrint.total"
+ :page-sizes="[10, 20, 50, 100, 200, 500]"
+ small=""
+ background=""
+ @size-change="handleSizeChangeWmsConfigPrint"
+ @current-change="handleCurrentChangeWmsConfigPrint"
+ layout="total, sizes, prev, pager, next, jumper"
+ />
+ <printDialogWmsConfigPrint
+ ref="printDialogRefWmsConfigPrint"
+ :title="printWmsConfigPrintTitle"
+ @reloadTable="handleQueryWmsConfigPrint" />
+ <editDialogWmsConfigPrint
+ ref="editDialogRefWmsConfigPrint"
+ :title="editWmsConfigPrintTitle"
+ @reloadTable="handleQueryWmsConfigPrint"
+ />
+ </el-card>
+ </div>
+</template>
+
+<script lang="ts" setup="" name="wmsConfigPrint">
+ import { ref,onMounted } from "vue";
+ import { ElMessageBox, ElMessage } from "element-plus";
+ import { auth } from '/@/utils/authFunction';
+ import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+ import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+ import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+
+
+ import printDialogWmsConfigPrint from '/@/views/system/print/component/hiprint/preview.vue'
+ import editDialogWmsConfigPrint from '/@/views/main/wmsConfigPrint/wmsConfigPrint/component/editDialog.vue'
+ import { pageWmsConfigPrint, deleteWmsConfigPrint,importExcelWmsConfigPrint,downloadExcelTemplateWmsConfigPrint } from '/@/api/main/wmsConfigPrint/wmsConfigPrint';
+ import { getAPI } from '/@/utils/axios-utils';
+ import { SysEnumApi } from '/@/api-services/api';
+ import commonFunction from '/@/utils/commonFunction';
+
+ const getEnumPrintClassifyData_Index = ref<any>([]);
+
+ const { getEnumDesc } = commonFunction();
+
+ /***************************************************[鎵撳嵃閰嶇疆琛ㄦ搷浣淽寮�濮�***************************************************/
+ const showAdvanceQueryUIWmsConfigPrint = ref(false);
+ const tableRefWmsConfigPrint = ref(null);
+ const printDialogRefWmsConfigPrint = ref();
+ const editDialogRefWmsConfigPrint = ref();
+ const loadingWmsConfigPrint = ref(false);
+ const disabled_btnWmsConfigPrint = ref(false);
+ const tableDataWmsConfigPrint = ref<any>([]);
+ const queryParamsWmsConfigPrint = ref<any>({});
+ const tableParamsWmsConfigPrint = ref({
+ page: 1,
+ pageSize: 10,
+ total: 0,
+ });
+
+ const printWmsConfigPrintTitle = ref("");
+ const editWmsConfigPrintTitle = ref("");
+
+ // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+ const changeAdvanceQueryUIWmsConfigPrint = () => {
+ showAdvanceQueryUIWmsConfigPrint.value = !showAdvanceQueryUIWmsConfigPrint.value;
+ }
+
+ // 鏌ヨ鎵撳嵃閰嶇疆琛�
+ const handleQueryWmsConfigPrint = async () => {
+ loadingWmsConfigPrint.value = true;
+ disabled_btnWmsConfigPrint.value = true;
+ var res = await pageWmsConfigPrint(Object.assign(queryParamsWmsConfigPrint.value, tableParamsWmsConfigPrint.value));
+ if(res.data.type=="success"){
+ tableDataWmsConfigPrint.value = res.data.result?.items ?? [];
+ tableParamsWmsConfigPrint.value.total = res.data.result?.total;
+ }
+ loadingWmsConfigPrint.value = false;
+ disabled_btnWmsConfigPrint.value = false;
+ };
+
+ // 閲嶇疆鎵撳嵃閰嶇疆琛ㄦ煡璇�
+ const resetWmsConfigPrint = async () => {
+ queryParamsWmsConfigPrint.value = {}
+ };
+
+ // 鎵撳嵃閰嶇疆琛ㄥ垪鎺掑簭
+ const sortChangeWmsConfigPrint = async (column: any) => {
+ queryParamsWmsConfigPrint.value.field = column.prop;
+ queryParamsWmsConfigPrint.value.order = column.order;
+ await handleQueryWmsConfigPrint();
+ };
+
+ // 鎵撳紑鏂板鎵撳嵃閰嶇疆琛ㄩ〉闈�
+ const openAddWmsConfigPrint = () => {
+ editWmsConfigPrintTitle.value = '娣诲姞鎵撳嵃閰嶇疆琛�';
+ editDialogRefWmsConfigPrint.value.openDialog(1,{});
+ };
+
+ // 鎵撳紑鎵撳嵃鎵撳嵃閰嶇疆琛ㄩ〉闈�
+ const openPrintWmsConfigPrint = async (row: any) => {
+ printWmsConfigPrintTitle.value = '鎵撳嵃鎵撳嵃閰嶇疆琛�';
+ }
+
+ // 鎵撳紑缂栬緫鎵撳嵃閰嶇疆琛ㄩ〉闈�
+ const openEditWmsConfigPrint = (row: any) => {
+ editWmsConfigPrintTitle.value = '缂栬緫鎵撳嵃閰嶇疆琛�';
+ editDialogRefWmsConfigPrint.value.openDialog(2,row);
+ };
+
+ // 鍒犻櫎鎵撳嵃閰嶇疆琛�
+ const delWmsConfigPrint = (row: any) => {
+ ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning",
+ })
+ .then(async () => {
+ loadingWmsConfigPrint.value = true;
+ var ret = await deleteWmsConfigPrint(row);
+ if(ret.data.type=="success"){
+ ElMessage.success("鍒犻櫎鎴愬姛");
+ }
+ loadingWmsConfigPrint.value = false;
+ handleQueryWmsConfigPrint();
+ })
+ .catch(() => {});
+ };
+
+ // 鏀瑰彉鎵撳嵃閰嶇疆琛ㄩ〉闈㈠閲�
+ const handleSizeChangeWmsConfigPrint = (val: number) => {
+ tableParamsWmsConfigPrint.value.pageSize = val;
+ handleQueryWmsConfigPrint();
+ };
+
+ // 鏀瑰彉鎵撳嵃閰嶇疆琛ㄩ〉鐮佸簭鍙�
+ const handleCurrentChangeWmsConfigPrint = (val: number) => {
+ tableParamsWmsConfigPrint.value.page = val;
+ handleQueryWmsConfigPrint();
+ };
+
+/***************************************************[鎵撳嵃閰嶇疆琛ㄦ搷浣淽缁撴潫***************************************************/
+/***************************************************[鎵撳嵃閰嶇疆琛ㄥ鍑篯寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapWmsConfigPrint = {
+ getEnumPrintClassifyData_Index,
+ formatDate_T_Date,
+ formatDate_T_Time
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelWmsConfigPrint = async (formData:Blob) => {
+ loadingWmsConfigPrint.value = true;
+ disabled_btnWmsConfigPrint.value = true;
+ var new_tableParamsWmsConfigPrint=JSON.parse(JSON.stringify(tableParamsWmsConfigPrint.value));
+ new_tableParamsWmsConfigPrint.page = 1;
+ new_tableParamsWmsConfigPrint.pageSize = 100000;
+ var res = await pageWmsConfigPrint(Object.assign(queryParamsWmsConfigPrint.value, new_tableParamsWmsConfigPrint));
+ if(res.data.type=="success"){
+ exportExcelWmsConfigPrint(res.data.result?.items ?? []);
+ }
+ loadingWmsConfigPrint.value = false;
+ disabled_btnWmsConfigPrint.value = false;
+};
+//瀵煎嚭
+const exportExcelWmsConfigPrint = async (exportDataList:Array) => {
+ exportPageExcel(exportDataList, tableRefWmsConfigPrint,"鎵撳嵃閰嶇疆琛�",functionMapWmsConfigPrint);
+};
+/***************************************************[鎵撳嵃閰嶇疆琛ㄥ鍑篯缁撴潫***************************************************/
+ // 鎵撳嵃閰嶇疆琛ㄩ〉闈㈠姞杞芥椂
+ onMounted(async () => {
+ getEnumPrintClassifyData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PrintClassifyEnum')).data.result ?? [];
+ });
+
+ handleQueryWmsConfigPrint();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+ width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Const/ApplicationConst.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Const/ApplicationConst.cs
index 3345b4b..9655a48 100644
--- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Const/ApplicationConst.cs
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Const/ApplicationConst.cs
@@ -62,4 +62,7 @@
public const string WmsStockSnapshotDetailsGroupName = "搴撳瓨蹇収绠$悊";
+
+
+
}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsBase/WmsBasePlace/Dto/WmsBasePlaceOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsBase/WmsBasePlace/Dto/WmsBasePlaceOutput.cs
index 161464c..e321bb0 100644
--- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsBase/WmsBasePlace/Dto/WmsBasePlaceOutput.cs
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsBase/WmsBasePlace/Dto/WmsBasePlaceOutput.cs
@@ -1,4 +1,6 @@
-锘縩amespace Admin.NET.Application;
+锘縰sing Admin.NET.Application.Entity;
+
+namespace Admin.NET.Application;
/// <summary>
/// 搴撲綅淇℃伅杈撳嚭鍙傛暟
@@ -131,5 +133,121 @@
public bool IsDelete { get; set; }
}
-
+/// <summary>
+/// 搴撲綅瑙嗗浘杈撳嚭鍙�
+/// </summary>
+public class LocationViewOutput
+{
+ /// <summary>
+ /// 杩涘叆鏃堕棿
+ /// </summary>
+
+ public DateTime? InTime { get; set; }
+
+ /// <summary>
+ /// 閮ㄤ欢鏉$爜
+ /// </summary>
+ public string Upi { get; set; }
+
+ /// <summary>
+ /// 閮ㄤ欢鍚嶇О
+ /// </summary>
+ public string DetailName { get; set; }
+
+ /// <summary>
+ /// 鎵规
+ /// </summary>
+ public string PlanNo { get; set; }
+
+ /// <summary>
+ /// 璁㈠崟鍙�
+ /// </summary>
+ public string OrderId { get; set; }
+
+ /// <summary>
+ /// 鍖呰鍙�
+ /// </summary>
+ public string PackageCode { get; set; }
+
+ public float Length { get; set; }
+
+ public float Width { get; set; }
+
+ public float Thk { get; set; }
+
+ /// <summary>
+ /// 搴撳瓨鐘舵��
+ /// </summary>
+ public StockStatusEnum StockStatus { get; set; }
+
+
+ /// <summary>
+ /// 搴撳瓨鐘舵�佸悕绉�
+ /// </summary>
+
+ public string StockStatusName { get; set; }
+
+
+ /// <summary>
+ /// 鎿嶄綔鍘熷洜
+ /// </summary>
+
+ public string? OperReason { get; set; }
+
+
+ /// <summary>
+ /// 鎿嶄綔浜�
+ /// </summary>
+
+ public string? OperUser { get; set; }
+
+
+ /// <summary>
+ /// 鎿嶄綔鏃堕棿
+ /// </summary>
+
+ public DateTime? OperTime { get; set; }
+
+
+ /// <summary>
+ /// 閿佸畾鐘舵��
+ /// </summary>
+
+ public LockStatusEnum LockStatus { get; set; }
+
+
+ /// <summary>
+ /// 閿佸畾鍘熷洜
+ /// </summary>
+
+ public string? LockReason { get; set; }
+
+
+ /// <summary>
+ /// 閿佸畾浜�
+ /// </summary>
+
+ public string? LockUser { get; set; }
+
+
+ /// <summary>
+ /// 閿佸畾鏃堕棿
+ /// </summary>
+
+ public DateTime? LockTime { get; set; }
+
+
+
+
+ public int? LaneNo { get; set; }
+ public int? ColumnNo { get; set; }
+ public int? LayerNo { get; set; }
+
+ /// <summary>
+ /// 搴撲綅灞炴��
+ /// </summary>
+
+ public PlaceStatusEnum PlaceStatus { get; set; }
+
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsBase/WmsBasePlace/WmsBasePlaceService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsBase/WmsBasePlace/WmsBasePlaceService.cs
index 7228b9c..f6dec3e 100644
--- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsBase/WmsBasePlace/WmsBasePlaceService.cs
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsBase/WmsBasePlace/WmsBasePlaceService.cs
@@ -12,9 +12,12 @@
public class WmsBasePlaceService : IDynamicApiController, ITransient
{
private readonly SqlSugarRepository<WmsBasePlace> _rep;
- public WmsBasePlaceService(SqlSugarRepository<WmsBasePlace> rep)
+ private readonly SqlSugarRepository<V_Station_Quan> _V_Station_Quan;
+ public WmsBasePlaceService(SqlSugarRepository<WmsBasePlace> rep,
+ SqlSugarRepository<V_Station_Quan> V_Station_Quan_Rep)
{
_rep = rep;
+ _V_Station_Quan = V_Station_Quan_Rep;
}
/// <summary>
@@ -260,5 +263,31 @@
await _rep.InsertRangeAsync(places);
}
+
+ /// <summary>
+ /// 涓嶅垎椤垫煡璇㈠簱浣嶄俊鎭�
+ /// </summary>
+ /// <param name="input"></param>
+ /// <returns></returns>
+ [HttpGet]
+ [ApiDescriptionSettings(Name = "ListView")]
+ [Description("WmsBasePlace/ListView")]
+ public async Task<List<LocationViewOutput>> ListView([FromQuery] WmsBasePlaceInput input)
+ {
+ var query = await _V_Station_Quan.AsQueryable()
+ .WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u =>
+ u.PlaceCode.Contains(input.SearchKey.Trim())
+ // || u.WareContainerCode.Contains(input.SearchKey.Trim())
+ //|| u.Lane==input.Lane
+ //|| u.Row==input.Row
+ )
+ .OrderBy(u => u.LaneNo)
+ //.OrderBy(u => u.Row)
+ .OrderBy(u => u.LayerNo)
+ .OrderBy(u => u.ColumnNo)
+ .Select<LocationViewOutput>().ToListAsync();
+ return query;
+ }
+
}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/Dto/WmsStockQuanInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/Dto/WmsStockQuanInput.cs
index 50b71cc..873fd4d 100644
--- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/Dto/WmsStockQuanInput.cs
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/Dto/WmsStockQuanInput.cs
@@ -381,3 +381,88 @@
{
}
+
+
+
+/// <summary>
+/// 搴撳瓨淇℃伅鍒嗛〉鏌ヨ杈撳叆鍙傛暟
+/// </summary>
+public class PackListInput : BasePageInput
+{
+ /// <summary>
+ /// 鍏抽敭瀛楁煡璇�
+ /// </summary>
+ public string? SearchKey { get; set; }
+
+ /// <summary>
+ /// 鏄惁榻愬
+ /// </summary>
+ public bool? IsPack { get; set; }
+
+ /// <summary>
+ /// 杩涘叆鏃堕棿
+ /// </summary>
+ public DateTime? InTime { get; set; }
+
+ /// <summary>
+ /// 杩涘叆鏃堕棿鑼冨洿
+ /// </summary>
+ public List<DateTime?> InTimeRange { get; set; }
+ /// <summary>
+ /// 閮ㄤ欢鏉$爜
+ /// </summary>
+ public string? Upi { get; set; }
+
+ /// <summary>
+ /// 閮ㄤ欢鍚嶇О
+ /// </summary>
+ public string? DetailName { get; set; }
+
+ /// <summary>
+ /// 鎵规
+ /// </summary>
+ public string? PlanNo { get; set; }
+
+}
+
+
+/// <summary>
+/// 搴撳瓨淇℃伅鍒嗛〉鏌ヨ杈撳叆鍙傛暟
+/// </summary>
+public class KittingListInput : BasePageInput
+{
+ /// <summary>
+ /// 鍏抽敭瀛楁煡璇�
+ /// </summary>
+ public string? SearchKey { get; set; }
+
+ /// <summary>
+ /// 鏄惁榻愬
+ /// </summary>
+ public bool? IsKitting { get; set; }
+
+ /// <summary>
+ /// 杩涘叆鏃堕棿
+ /// </summary>
+ public DateTime? InTime { get; set; }
+
+ /// <summary>
+ /// 杩涘叆鏃堕棿鑼冨洿
+ /// </summary>
+ public List<DateTime?> InTimeRange { get; set; }
+ /// <summary>
+ /// 閮ㄤ欢鏉$爜
+ /// </summary>
+ public string? Upi { get; set; }
+
+ /// <summary>
+ /// 閮ㄤ欢鍚嶇О
+ /// </summary>
+ public string? DetailName { get; set; }
+
+ /// <summary>
+ /// 鎵规
+ /// </summary>
+ public string? PlanNo { get; set; }
+
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/Dto/WmsStockQuanOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/Dto/WmsStockQuanOutput.cs
index cf82253..cf828e0 100644
--- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/Dto/WmsStockQuanOutput.cs
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/Dto/WmsStockQuanOutput.cs
@@ -146,5 +146,24 @@
public bool IsDelete { get; set; }
}
-
+
+/// <summary>
+/// 鏁村寘鐨勫叆鍙�
+/// </summary>
+public class WmsPackListOutput
+{
+ public string PackageCode { get; set; } // 鍖呰浠g爜
+ public int Count { get; set; } // 瀵瑰簲鐨勬暟閲�
+ public bool IsPack { get; set; }
+}
+
+/// <summary>
+/// 榻愬鍏ュ弬
+/// </summary>
+public class WmsKittingListOutput
+{
+ public string OrderId { get; set; } // 鍗曞彿
+ public int Count { get; set; } // 瀵瑰簲鐨勬暟閲�
+ public bool IsKitting { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/WmsStockQuanService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/WmsStockQuanService.cs
index fe70b9d..f246294 100644
--- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/WmsStockQuanService.cs
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/WmsStockQuanService.cs
@@ -4,6 +4,7 @@
using System.Data;
using System.Web;
using System.Text;
+using System;
namespace Admin.NET.Application;
/// <summary>
/// 搴撳瓨淇℃伅鏈嶅姟
@@ -189,13 +190,13 @@
return query;
}
- /// <summary>
- /// 閲嶅鎬ч獙璇�
- /// </summary>
- /// <param name="input">楠岃瘉瀵硅薄</param>
- /// <param name="isEdit">鏄惁鏄紪杈�</param>
- /// <returns></returns>
- private async Task CheckExist( WmsStockQuan input,bool isEdit=false)
+ /// <summary>
+ /// 閲嶅鎬ч獙璇�
+ /// </summary>
+ /// <param name="input">楠岃瘉瀵硅薄</param>
+ /// <param name="isEdit">鏄惁鏄紪杈�</param>
+ /// <returns></returns>
+ private async Task CheckExist( WmsStockQuan input,bool isEdit=false)
{
@@ -231,7 +232,75 @@
}
- #endregion
+ #endregion
+
+
+ /// <summary>
+ /// 涓嶅垎椤垫煡璇㈤綈鍖呯鐞�
+ /// </summary>
+ /// <param name="input"></param>
+ /// <returns></returns>
+ [HttpGet]
+ [ApiDescriptionSettings(Name = "packList")]
+ [Description("WmsStockQuan/packList")]
+ public async Task<List<WmsPackListOutput>> packList([FromQuery] PackListInput input)
+ {
+ // 鏌ヨ骞惰浆鎹负 WmsKittingListOutput 瀵硅薄鐨勫垪琛�
+ var list = await _rep.AsQueryable()
+ .WhereIF(!string.IsNullOrWhiteSpace(input.DetailName), u => u.PlaceCode.Contains(input.DetailName.Trim()))
+ .Select(x => new WmsPackListOutput
+ {
+ PackageCode = x.PackageCode,
+ // 鏄犲皠鍏朵粬瀛楁
+ })
+ .ToListAsync(); // 纭繚鑾峰彇缁撴灉涓� List
+ // 鍒嗙粍骞惰繑鍥炲垎缁勪俊鎭�
+ var groupedResult = list
+ .GroupBy(x => x.PackageCode) // 鎸� PackageCode 鍒嗙粍
+ .Select(g => new WmsPackListOutput
+ {
+ PackageCode = g.Key, // 鑾峰彇鍒嗙粍鐨勯敭
+ Count = g.Count(), // 缁熻姣忕粍鐨勬暟閲�
+ IsPack = g.Count() == 5 ? true : false // 濡傛灉 Count 涓� 5 鍒� IsKitting 涓� 1锛屽惁鍒欎负 0
+ })
+ .WhereIF(input.IsPack.HasValue, u => u.IsPack == input.IsPack)
+ .OrderBy(g => g.PackageCode) // 鏍规嵁 PackageCode 鎺掑簭
+ .ToList(); // 杞崲涓� List
+ return groupedResult; // 杩斿洖鍒嗙粍缁撴灉
+ }
+
+
+ /// <summary>
+ /// 涓嶅垎椤垫煡璇㈤綈濂楃鐞�
+ /// </summary>
+ /// <param name="input"></param>
+ /// <returns></returns>
+ [HttpGet]
+ [ApiDescriptionSettings(Name = "KittingList")]
+ [Description("WmsStockQuan/KittingList")]
+ public async Task<List<WmsKittingListOutput>> KittingList([FromQuery] KittingListInput input)
+ {
+ var list = await _rep.AsQueryable()
+ .WhereIF(!string.IsNullOrWhiteSpace(input.DetailName), u => u.PlaceCode.Contains(input.DetailName.Trim()))
+ .Select(x => new WmsKittingListOutput
+ {
+ OrderId = x.OrderId
+ })
+ .ToListAsync(); // 纭繚鑾峰彇缁撴灉涓� List
+ // 鍒嗙粍骞惰繑鍥炲垎缁勪俊鎭�
+ var groupedResult = list
+ .GroupBy(x => x.OrderId) // 鎸� PackageCode 鍒嗙粍
+ .Select(g => new WmsKittingListOutput
+ {
+ OrderId = g.Key, // 鑾峰彇鍒嗙粍鐨勯敭
+ Count = g.Count(), // 缁熻姣忕粍鐨勬暟閲�
+ IsKitting = g.Count() == 5 ? true : false // 濡傛灉 Count 涓� 5 鍒� IsKitting 涓� 1锛屽惁鍒欎负 0
+ })
+ .WhereIF(input.IsKitting.HasValue, u => u.IsKitting == input.IsKitting)
+ .OrderBy(g => g.OrderId) // 鏍规嵁 PackageCode 鎺掑簭
+ .ToList(); // 杞崲涓� List
+ return groupedResult; // 杩斿洖鍒嗙粍缁撴灉
+ }
}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsConfigPrint/Dto/WmsConfigPrintInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsConfigPrint/Dto/WmsConfigPrintInput.cs
index ec7bdd9..db0223f 100644
--- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsConfigPrint/Dto/WmsConfigPrintInput.cs
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsConfigPrint/Dto/WmsConfigPrintInput.cs
@@ -31,7 +31,7 @@
/// <summary>
/// 鎵撳嵃鏈哄垪琛�
/// </summary>
- public virtual List<string> PrinterListList { get; set; }
+ public virtual string PrinterList { get; set; }
/// <summary>
/// 澶囨敞
@@ -39,19 +39,9 @@
public virtual string Remark { get; set; }
/// <summary>
- /// 鍒涘缓浜�
- /// </summary>
- public virtual string CreateUserName { get; set; }
-
- /// <summary>
/// 鍒涘缓鏃堕棿
/// </summary>
public virtual DateTime? CreateTime { get; set; }
-
- /// <summary>
- /// 淇敼浜�
- /// </summary>
- public virtual string UpdateUserName { get; set; }
/// <summary>
/// 淇敼鏃堕棿
@@ -64,9 +54,19 @@
public virtual long? CreateUserId { get; set; }
/// <summary>
+ /// 鍒涘缓浜�
+ /// </summary>
+ public virtual string CreateUserName { get; set; }
+
+ /// <summary>
/// 淇敼浜篒d
/// </summary>
public virtual long? UpdateUserId { get; set; }
+
+ /// <summary>
+ /// 淇敼浜�
+ /// </summary>
+ public virtual string UpdateUserName { get; set; }
/// <summary>
/// 杞垹闄�
@@ -128,6 +128,11 @@
[Required(ErrorMessage = "鎵撳嵃鍒嗙被涓嶈兘涓虹┖")]
public override Admin.NET.Application.PrintClassifyEnum PrintClassify { get; set; }
+ /// <summary>
+ /// 鎵撳嵃鍒嗙被鍚�
+ /// </summary>
+ [Required(ErrorMessage = "鎵撳嵃鍒嗙被鍚嶄笉鑳戒负绌�")]
+ public override string PrintClassifyName { get; set; }
/// <summary>
/// 鎵撳嵃妯℃澘鍚�
@@ -145,7 +150,7 @@
/// 鎵撳嵃鏈哄垪琛�
/// </summary>
[Required(ErrorMessage = "鎵撳嵃鏈哄垪琛ㄤ笉鑳戒负绌�")]
- public override List<string> PrinterListList { get; set; }
+ public override string PrinterList { get; set; }
/// <summary>
/// 杞垹闄�
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsConfigPrint/Dto/WmsConfigPrintOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsConfigPrint/Dto/WmsConfigPrintOutput.cs
index e7a274c..180637c 100644
--- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsConfigPrint/Dto/WmsConfigPrintOutput.cs
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsConfigPrint/Dto/WmsConfigPrintOutput.cs
@@ -34,31 +34,16 @@
/// 鎵撳嵃鏈哄垪琛�
/// </summary>
public string PrinterList { get; set; }
-
- /// <summary>
- /// 鎵撳嵃鏈哄垪琛�
- /// </summary>
- public List<string> PrinterListList { get; set; }
-
+
/// <summary>
/// 澶囨敞
/// </summary>
public string Remark { get; set; }
/// <summary>
- /// 鍒涘缓浜�
- /// </summary>
- public string CreateUserName { get; set; }
-
- /// <summary>
/// 鍒涘缓鏃堕棿
/// </summary>
public DateTime? CreateTime { get; set; }
-
- /// <summary>
- /// 淇敼浜�
- /// </summary>
- public string UpdateUserName { get; set; }
/// <summary>
/// 淇敼鏃堕棿
@@ -71,11 +56,21 @@
public long? CreateUserId { get; set; }
/// <summary>
+ /// 鍒涘缓浜�
+ /// </summary>
+ public string CreateUserName { get; set; }
+
+ /// <summary>
/// 淇敼浜篒d
/// </summary>
public long? UpdateUserId { get; set; }
/// <summary>
+ /// 淇敼浜�
+ /// </summary>
+ public string UpdateUserName { get; set; }
+
+ /// <summary>
/// 杞垹闄�
/// </summary>
public bool IsDelete { get; set; }
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsConfigPrint/WmsConfigPrintService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsConfigPrint/WmsConfigPrintService.cs
index 7f060eb..cc600a3 100644
--- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsConfigPrint/WmsConfigPrintService.cs
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsConfigPrint/WmsConfigPrintService.cs
@@ -4,8 +4,6 @@
using System.Data;
using System.Web;
using System.Text;
-using NPOI.OpenXmlFormats.Dml;
-
namespace Admin.NET.Application;
/// <summary>
/// 鎵撳嵃閰嶇疆琛ㄦ湇鍔�
@@ -30,16 +28,7 @@
public async Task<SqlSugarPagedList<WmsConfigPrintOutput>> Page(WmsConfigPrintInput input)
{
var query = CommonPageFilter(input);
- var list = await query.OrderBuilder(input, "", "Id").ToPagedListAsync(input.Page, input.PageSize);
- foreach (var item in list.Items)
- {
- //鍗曠嫭澶勭悊鎸夐挳 銆怑ditby shaocx,2024-05-27銆�
- if (!string.IsNullOrEmpty(item.PrinterList))
- {
- item.PrinterListList = item.PrinterList.Split(",").ToList();
- }
- }
- return list;
+ return await query.OrderBuilder(input, "", "Id").ToPagedListAsync(input.Page, input.PageSize);
}
/// <summary>
@@ -53,16 +42,7 @@
public async Task<List<WmsConfigPrintOutput>> List([FromQuery] WmsConfigPrintInput input)
{
var query = CommonPageFilter(input);
- var list = await query.OrderBuilder(input, "", "Id").Select<WmsConfigPrintOutput>().ToListAsync();
- foreach (var item in list)
- {
- //鍗曠嫭澶勭悊鎸夐挳 銆怑ditby shaocx,2024-05-27銆�
- if (!string.IsNullOrEmpty(item.PrinterList))
- {
- item.PrinterListList = item.PrinterList.Split(",").ToList();
- }
- }
- return list;
+ return await query.OrderBuilder(input, "", "Id").Select<WmsConfigPrintOutput>().ToListAsync();
}
/// <summary>
@@ -75,10 +55,7 @@
[Description("WmsConfigPrint/Add")]
public async Task<long> Add(AddWmsConfigPrintInput input)
{
-
var entity = input.Adapt<WmsConfigPrint>();
- entity.PrintClassifyName = entity.PrintClassify.ToString();
- entity.PrinterList = string.Join(",", input.PrinterListList);
//閲嶅鎬ч獙璇�
await CheckExist(entity);
@@ -113,11 +90,9 @@
public async Task Update(UpdateWmsConfigPrintInput input)
{
var entity = input.Adapt<WmsConfigPrint>();
- entity.PrintClassifyName = entity.PrintClassify.ToString();
- entity.PrinterList = string.Join(",", input.PrinterListList);
//閲嶅鎬ч獙璇�
- await CheckExist(entity, true);
+ await CheckExist(entity,true);
await _rep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
}
@@ -130,15 +105,9 @@
[HttpGet]
[ApiDescriptionSettings(Name = "Detail")]
[Description("WmsConfigPrint/Detail")]
- public async Task<WmsConfigPrintOutput> Detail([FromQuery] QueryByIdWmsConfigPrintInput input)
+ public async Task<WmsConfigPrint> Detail([FromQuery] QueryByIdWmsConfigPrintInput input)
{
- var obj= await _rep.GetFirstAsync(u => u.Id == input.Id);
- var entity = obj.Adapt<WmsConfigPrintOutput>();
- if (!string.IsNullOrEmpty(entity.PrinterList))
- {
- entity.PrinterListList = entity.PrinterList.Split(",").ToList();
- }
- return entity;
+ return await _rep.GetFirstAsync(u => u.Id == input.Id);
}
@@ -172,107 +141,52 @@
.WhereIF(!string.IsNullOrWhiteSpace(input.PrinterList), u => u.PrinterList.Contains(input.PrinterList.Trim()))
.WhereIF(!string.IsNullOrWhiteSpace(input.Remark), u => u.Remark.Contains(input.Remark.Trim()))
.Select<WmsConfigPrintOutput>();
-
return query;
- }
+ }
- /// <summary>
- /// 閲嶅鎬ч獙璇�
- /// </summary>
- /// <param name="input">楠岃瘉瀵硅薄</param>
- /// <param name="isEdit">鏄惁鏄紪杈�</param>
- /// <returns></returns>
- private async Task CheckExist(WmsConfigPrint input, bool isEdit = false)
- {
-
-
-
- //娌℃湁閰嶇疆缁勫悎鏍¢獙锛屼笉闇�瑕侀獙閲�
-
-
- bool isExistForSingle_PrintTemplate = false;
- if (!isEdit)//鏂板
+ /// <summary>
+ /// 閲嶅鎬ч獙璇�
+ /// </summary>
+ /// <param name="input">楠岃瘉瀵硅薄</param>
+ /// <param name="isEdit">鏄惁鏄紪杈�</param>
+ /// <returns></returns>
+ private async Task CheckExist( WmsConfigPrint input,bool isEdit=false)
{
- //鏁版嵁鏄惁鍗曠嫭瀛樺湪閲嶅-鎵撳嵃妯℃澘鍚�
- isExistForSingle_PrintTemplate = await _rep.AsQueryable().AnyAsync(u =>
- u.PrintTemplate.Equals(input.PrintTemplate));
+
+
+
+ //娌℃湁閰嶇疆缁勫悎鏍¢獙锛屼笉闇�瑕侀獙閲�
+
+
+ //娌℃湁閰嶇疆鍗曠嫭鏍¢獙锛屼笉闇�瑕侀獙閲�
+ }
+
+ /// <summary>
+ /// 鏍规嵁缁勫悎鏍¢獙鍜屽崟鐙牎楠岄獙璇佹暟鎹槸鍚﹀凡瀛樺湪-瀵煎叆鏃堕獙璇�
+ /// </summary>
+ /// <param name="inputs"></param>
+ /// <returns></returns>
+ private async Task CheckExisitForImport(List<WmsConfigPrint> inputs)
+ {
+ if (inputs?.Count <= 0)
+ {
+ throw Oops.Oh($"瀵煎叆鏁版嵁涓嶈兘涓虹┖");
+ }
+ //鏍规嵁缁勫悎鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�
+
+
+
+
+
+
+
+
+ //鏍规嵁鍗曠嫭鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�
+
+
+
}
- else//缂栬緫
- {
- //褰撳墠缂栬緫鏁版嵁浠ュ鏄惁鍗曠嫭瀛樺湪閲嶅-鎵撳嵃妯℃澘鍚�
- isExistForSingle_PrintTemplate = await _rep.AsQueryable().AnyAsync(u =>
- u.Id != input.Id
- && u.PrintTemplate.Equals(input.PrintTemplate));
- }
- if (isExistForSingle_PrintTemplate) throw Oops.Oh($"楠岃瘉澶辫触,鎵撳嵃妯℃澘鍚峓" + input.PrintTemplate + "]宸插瓨鍦�");
-
- bool isExistForSingle_PrintTemplateAddr = false;
- if (!isEdit)//鏂板
- {
- //鏁版嵁鏄惁鍗曠嫭瀛樺湪閲嶅-鎵撳嵃妯℃澘鍦板潃
- isExistForSingle_PrintTemplateAddr = await _rep.AsQueryable().AnyAsync(u =>
- u.PrintTemplateAddr.Equals(input.PrintTemplateAddr));
- }
- else//缂栬緫
- {
- //褰撳墠缂栬緫鏁版嵁浠ュ鏄惁鍗曠嫭瀛樺湪閲嶅-鎵撳嵃妯℃澘鍦板潃
- isExistForSingle_PrintTemplateAddr = await _rep.AsQueryable().AnyAsync(u =>
- u.Id != input.Id
- && u.PrintTemplateAddr.Equals(input.PrintTemplateAddr));
- }
- if (isExistForSingle_PrintTemplateAddr) throw Oops.Oh($"楠岃瘉澶辫触,鎵撳嵃妯℃澘鍦板潃[" + input.PrintTemplateAddr + "]宸插瓨鍦�");
-
- }
-
- /// <summary>
- /// 鏍规嵁缁勫悎鏍¢獙鍜屽崟鐙牎楠岄獙璇佹暟鎹槸鍚﹀凡瀛樺湪-瀵煎叆鏃堕獙璇�
- /// </summary>
- /// <param name="inputs"></param>
- /// <returns></returns>
- private async Task CheckExisitForImport(List<WmsConfigPrint> inputs)
- {
- if (inputs?.Count <= 0)
- {
- throw Oops.Oh($"瀵煎叆鏁版嵁涓嶈兘涓虹┖");
- }
- //鏍规嵁缁勫悎鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�
-
-
-
-
-
-
-
-
- //鏍规嵁鍗曠嫭鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�
- var existExcelItemForSingle_PrintTemplate = inputs.GroupBy(g => new { g.PrintTemplate }).Where(g => g.Count() > 1).ToList();
- if (existExcelItemForSingle_PrintTemplate != null && existExcelItemForSingle_PrintTemplate.Count > 0)
- {
- var item = existExcelItemForSingle_PrintTemplate.First().ToList().First();
- throw Oops.Oh($"楠岃瘉澶辫触,瀵煎叆鐨勮〃鏍间腑,鎵撳嵃妯℃澘鍚峓" + item.PrintTemplate + "]宸查噸澶嶅瓨鍦�");
- }
- var existExcelItemForSingle_PrintTemplateAddr = inputs.GroupBy(g => new { g.PrintTemplateAddr }).Where(g => g.Count() > 1).ToList();
- if (existExcelItemForSingle_PrintTemplateAddr != null && existExcelItemForSingle_PrintTemplateAddr.Count > 0)
- {
- var item = existExcelItemForSingle_PrintTemplateAddr.First().ToList().First();
- throw Oops.Oh($"楠岃瘉澶辫触,瀵煎叆鐨勮〃鏍间腑,鎵撳嵃妯℃澘鍦板潃[" + item.PrintTemplateAddr + "]宸查噸澶嶅瓨鍦�");
- }
-
- //鏍规嵁鍗曠嫭鏍¢獙楠岃瘉鏁版嵁搴撲腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�
- var existDBItemList = await _rep.GetListAsync(w =>
- inputs.Select(s => s.PrintTemplate).ToList().Contains(w.PrintTemplate) ||
- inputs.Select(s => s.PrintTemplateAddr).ToList().Contains(w.PrintTemplateAddr)
- );
- var db_ForSingle_PrintTemplate = existDBItemList.FirstOrDefault(g => inputs.Select(s => s.PrintTemplate).ToList().Contains(g.PrintTemplate));
- if (db_ForSingle_PrintTemplate != null) throw Oops.Oh($"楠岃瘉澶辫触,绯荤粺涓�,鎵撳嵃妯℃澘鍚峓" + db_ForSingle_PrintTemplate.PrintTemplate + "]宸查噸澶嶅瓨鍦�");
-
- var db_ForSingle_PrintTemplateAddr = existDBItemList.FirstOrDefault(g => inputs.Select(s => s.PrintTemplateAddr).ToList().Contains(g.PrintTemplateAddr));
- if (db_ForSingle_PrintTemplateAddr != null) throw Oops.Oh($"楠岃瘉澶辫触,绯荤粺涓�,鎵撳嵃妯℃澘鍦板潃[" + db_ForSingle_PrintTemplateAddr.PrintTemplateAddr + "]宸查噸澶嶅瓨鍦�");
-
-
-
- }
- #endregion
+ #endregion
}
diff --git a/iWare_RawMaterialWarehouse_Web/src/api/main/WmsBase/wmsBasePlace.ts b/iWare_RawMaterialWarehouse_Web/src/api/main/WmsBase/wmsBasePlace.ts
deleted file mode 100644
index 3e058e6..0000000
--- a/iWare_RawMaterialWarehouse_Web/src/api/main/WmsBase/wmsBasePlace.ts
+++ /dev/null
@@ -1,78 +0,0 @@
-锘縤mport request from '/@/utils/request';
-enum Api {
- AddWmsBasePlace = '/api/wmsBasePlace/add',
- DeleteWmsBasePlace = '/api/wmsBasePlace/delete',
- UpdateWmsBasePlace = '/api/wmsBasePlace/update',
- PageWmsBasePlace = '/api/wmsBasePlace/page',
- ListWmsBasePlace = '/api/wmsBasePlace/list',
- DetailWmsBasePlace = '/api/wmsBasePlace/detail',
- ImportExcelWmsBasePlace = '/api/wmsBasePlace/importExcel',
- DownloadExcelTemplateWmsBasePlace = '/api/wmsBasePlace/downloadExcelTemplate',
-}
-
-// 澧炲姞搴撲綅淇℃伅
-export const addWmsBasePlace = (params?: any) =>
- request({
- url: Api.AddWmsBasePlace,
- method: 'post',
- data: params
- });
-
-// 鍒犻櫎搴撲綅淇℃伅
-export const deleteWmsBasePlace = (params?: any) =>
- request({
- url: Api.DeleteWmsBasePlace,
- method: 'post',
- data: params
- });
-
-// 缂栬緫搴撲綅淇℃伅
-export const updateWmsBasePlace = (params?: any) =>
- request({
- url: Api.UpdateWmsBasePlace,
- method: 'post',
- data: params
- });
-
-// 瀵煎叆搴撲綅淇℃伅
-export const importExcelWmsBasePlace = (params?: any) =>
- request({
- url: Api.ImportExcelWmsBasePlace,
- method: 'post',
- data: params
- });
-
-// 涓嬭浇瀵煎叆搴撲綅淇℃伅妯℃澘
-export const downloadExcelTemplateWmsBasePlace = (params?: any) =>
- request({
- url: Api.DownloadExcelTemplateWmsBasePlace,
- method: 'get',
- data: params,
- responseType: 'blob'
- });
-
-
-// 鍒嗛〉鏌ヨ搴撲綅淇℃伅
-export const pageWmsBasePlace = (params?: any) =>
- request({
- url: Api.PageWmsBasePlace,
- method: 'post',
- data: params
- });
-
-// 涓嶅垎椤垫煡璇㈠簱浣嶄俊鎭�
-export const listWmsBasePlace = (params?: any) =>
- request({
- url: Api.ListWmsBasePlace,
- method: 'get',
- data: params
- });
-
-// 璇︽儏搴撲綅淇℃伅
-export const detailWmsBasePlace = (id: any) =>
- request({
- url: Api.DetailWmsBasePlace,
- method: 'get',
- data: { id }
- });
-
diff --git a/iWare_RawMaterialWarehouse_Web/src/api/main/wmsPlace/wmsBasePlace.ts b/iWare_RawMaterialWarehouse_Web/src/api/main/wmsPlace/wmsBasePlace.ts
deleted file mode 100644
index 3e058e6..0000000
--- a/iWare_RawMaterialWarehouse_Web/src/api/main/wmsPlace/wmsBasePlace.ts
+++ /dev/null
@@ -1,78 +0,0 @@
-锘縤mport request from '/@/utils/request';
-enum Api {
- AddWmsBasePlace = '/api/wmsBasePlace/add',
- DeleteWmsBasePlace = '/api/wmsBasePlace/delete',
- UpdateWmsBasePlace = '/api/wmsBasePlace/update',
- PageWmsBasePlace = '/api/wmsBasePlace/page',
- ListWmsBasePlace = '/api/wmsBasePlace/list',
- DetailWmsBasePlace = '/api/wmsBasePlace/detail',
- ImportExcelWmsBasePlace = '/api/wmsBasePlace/importExcel',
- DownloadExcelTemplateWmsBasePlace = '/api/wmsBasePlace/downloadExcelTemplate',
-}
-
-// 澧炲姞搴撲綅淇℃伅
-export const addWmsBasePlace = (params?: any) =>
- request({
- url: Api.AddWmsBasePlace,
- method: 'post',
- data: params
- });
-
-// 鍒犻櫎搴撲綅淇℃伅
-export const deleteWmsBasePlace = (params?: any) =>
- request({
- url: Api.DeleteWmsBasePlace,
- method: 'post',
- data: params
- });
-
-// 缂栬緫搴撲綅淇℃伅
-export const updateWmsBasePlace = (params?: any) =>
- request({
- url: Api.UpdateWmsBasePlace,
- method: 'post',
- data: params
- });
-
-// 瀵煎叆搴撲綅淇℃伅
-export const importExcelWmsBasePlace = (params?: any) =>
- request({
- url: Api.ImportExcelWmsBasePlace,
- method: 'post',
- data: params
- });
-
-// 涓嬭浇瀵煎叆搴撲綅淇℃伅妯℃澘
-export const downloadExcelTemplateWmsBasePlace = (params?: any) =>
- request({
- url: Api.DownloadExcelTemplateWmsBasePlace,
- method: 'get',
- data: params,
- responseType: 'blob'
- });
-
-
-// 鍒嗛〉鏌ヨ搴撲綅淇℃伅
-export const pageWmsBasePlace = (params?: any) =>
- request({
- url: Api.PageWmsBasePlace,
- method: 'post',
- data: params
- });
-
-// 涓嶅垎椤垫煡璇㈠簱浣嶄俊鎭�
-export const listWmsBasePlace = (params?: any) =>
- request({
- url: Api.ListWmsBasePlace,
- method: 'get',
- data: params
- });
-
-// 璇︽儏搴撲綅淇℃伅
-export const detailWmsBasePlace = (id: any) =>
- request({
- url: Api.DetailWmsBasePlace,
- method: 'get',
- data: { id }
- });
-
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsBasePlace/component/editDialog.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsBasePlace/component/editDialog.vue
deleted file mode 100644
index 7213cf2..0000000
--- a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsBasePlace/component/editDialog.vue
+++ /dev/null
@@ -1,271 +0,0 @@
-锘�<template>
- <div class="wmsBasePlace-container">
- <el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
- <template #header>
- <div style="color: #fff">
- <!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
- <span>{{ props.title }}</span>
- </div>
- </template>
- <el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
- <el-row :gutter="35">
- <el-form-item v-show="false">
- <el-input v-model="ruleForm.id" />
- </el-form-item>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="搴撲綅缂栫爜" prop="placeCode">
- <el-input v-model="ruleForm.placeCode" placeholder="璇疯緭鍏ュ簱浣嶇紪鐮�" maxlength="50" show-word-limit clearable />
-
- </el-form-item>
-
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="搴撲綅鍚嶇О" prop="placeName">
- <el-input v-model="ruleForm.placeName" placeholder="璇疯緭鍏ュ簱浣嶅悕绉�" maxlength="50" show-word-limit clearable />
-
- </el-form-item>
-
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="搴撲綅绫诲瀷" prop="placeType">
- <el-select clearable v-model="ruleForm.placeType" placeholder="璇烽�夋嫨搴撲綅绫诲瀷">
- <el-option v-for="(item,index) in getEnumPlaceTypeData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
-
- </el-select>
-
- </el-form-item>
-
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="搴撲綅绫诲瀷鍚嶇О" prop="placeTypeName">
- <el-input v-model="ruleForm.placeTypeName" placeholder="璇疯緭鍏ュ簱浣嶇被鍨嬪悕绉�" maxlength="50" show-word-limit clearable />
-
- </el-form-item>
-
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="搴撲綅闀垮害" prop="length">
- <el-input v-model="ruleForm.length" placeholder="璇疯緭鍏ュ簱浣嶉暱搴�" maxlength="10" show-word-limit clearable />
-
- </el-form-item>
-
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="搴撲綅瀹藉害" prop="width">
- <el-input v-model="ruleForm.width" placeholder="璇疯緭鍏ュ簱浣嶅搴�" maxlength="10" show-word-limit clearable />
-
- </el-form-item>
-
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="搴撲綅楂樺害" prop="height">
- <el-input v-model="ruleForm.height" placeholder="璇疯緭鍏ュ簱浣嶉珮搴�" maxlength="10" show-word-limit clearable />
-
- </el-form-item>
-
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="鍘氬害" prop="thick">
- <el-input v-model="ruleForm.thick" placeholder="璇疯緭鍏ュ帤搴�" maxlength="10" show-word-limit clearable />
-
- </el-form-item>
-
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="搴撲綅灞炴��" prop="placeStatus">
- <el-select clearable v-model="ruleForm.placeStatus" placeholder="璇烽�夋嫨搴撲綅灞炴��">
- <el-option v-for="(item,index) in getEnumPlaceStatusData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
-
- </el-select>
-
- </el-form-item>
-
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="鎵�鍦ㄥ簱鍖�" prop="areaId">
- <el-input v-model="ruleForm.areaId" placeholder="璇疯緭鍏ユ墍鍦ㄥ簱鍖�" maxlength="19" show-word-limit clearable />
-
- </el-form-item>
-
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="搴撳尯缂栧彿" prop="areaCode">
- <el-input v-model="ruleForm.areaCode" placeholder="璇疯緭鍏ュ簱鍖虹紪鍙�" maxlength="50" show-word-limit clearable />
-
- </el-form-item>
-
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="搴撳尯鍚嶇О" prop="areaName">
- <el-input v-model="ruleForm.areaName" placeholder="璇疯緭鍏ュ簱鍖哄悕绉�" maxlength="50" show-word-limit clearable />
-
- </el-form-item>
-
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="鍒�" prop="columnNo">
- <el-input-number v-model="ruleForm.columnNo" placeholder="璇疯緭鍏ュ垪" clearable />
-
- </el-form-item>
-
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="灞�" prop="layerNo">
- <el-input-number v-model="ruleForm.layerNo" placeholder="璇疯緭鍏ュ眰" clearable />
-
- </el-form-item>
-
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="鍙�" prop="laneNo">
- <el-input-number v-model="ruleForm.laneNo" placeholder="璇疯緭鍏ュ彿" clearable />
-
- </el-form-item>
-
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="鏄惁铏氭嫙" prop="isVirtually">
- <el-switch v-model="ruleForm.isVirtually" active-text="鏄�" inactive-text="鍚�" />
-
- </el-form-item>
-
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="鏄惁绂佺敤" prop="isDisabled">
- <el-switch v-model="ruleForm.isDisabled" active-text="鏄�" inactive-text="鍚�" />
-
- </el-form-item>
-
- </el-col>
- </el-row>
- </el-form>
- <template #footer>
- <span class="dialog-footer">
- <el-button @click="cancel">鍙� 娑�</el-button>
- <el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
- </span>
- </template>
- </el-dialog>
- </div>
-</template>
-<style scoped>
-:deep(.el-select),
-:deep(.el-input-number) {
- width: 100%;
-}
-</style>
-<script lang="ts" setup>
- import { ref,onMounted } from "vue";
- import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
- import { ElMessage } from "element-plus";
- import type { FormRules } from "element-plus";
- import { addWmsBasePlace, updateWmsBasePlace, detailWmsBasePlace } from "/@/api/main/WmsBase/wmsBasePlace";
- import { getAPI } from '/@/utils/axios-utils';
- import { SysEnumApi } from '/@/api-services/api';
-
- const getEnumPlaceTypeData = ref<any>([]);
- const getEnumPlaceStatusData = ref<any>([]);
- //鐖剁骇浼犻�掓潵鐨勫弬鏁�
- var props = defineProps({
- title: {
- type: String,
- default: "",
- },
- });
- //鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
- const emit = defineEmits(["reloadTable"]);
- const ruleFormRef = ref();
- const isShowDialog = ref(false);
- const loading = ref(false);
- const disabled_btn = ref(false);
- const ruleForm = ref<any>({});
- //鑷娣诲姞鍏朵粬瑙勫垯
- const rules = ref<FormRules>({
- placeCode: [{required: true, message: '璇疯緭鍏ュ簱浣嶇紪鐮侊紒', trigger: 'blur',},],
- placeName: [{required: true, message: '璇疯緭鍏ュ簱浣嶅悕绉帮紒', trigger: 'blur',},],
- placeType: [{required: true, message: '璇烽�夋嫨搴撲綅绫诲瀷锛�', trigger: 'change',},],
- placeStatus: [{required: true, message: '璇烽�夋嫨搴撲綅灞炴�э紒', trigger: 'change',},],
- areaId: [{required: true, message: '璇疯緭鍏ユ墍鍦ㄥ簱鍖猴紒', trigger: 'blur',},],
- isDisabled: [{required: true, message: '璇烽�夋嫨鏄惁绂佺敤锛�', trigger: 'change',},],
- isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
- });
-
- /*
- * 鎵撳紑寮圭獥
- * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
- * @param row 琛屾暟鎹�
- */
- const openDialog = async (flag: number,row: any) => {
- // ruleForm.value = JSON.parse(JSON.stringify(row));
- // 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
- let rowData = JSON.parse(JSON.stringify(row));
- if (rowData.id)
- ruleForm.value = (await detailWmsBasePlace(rowData.id)).data.result;
- else {
- ruleForm.value = rowData;
- ruleForm.value.isDisabled = false;//蹇呭~锛岃祴鍊奸粯璁ゅ��
- }
- isShowDialog.value = true;
- };
-
- // 鍏抽棴寮圭獥
- const closeDialog = () => {
- emit("reloadTable");
- isShowDialog.value = false;
- };
-
- // 鍙栨秷
- const cancel = () => {
- isShowDialog.value = false;
- };
-
- // 鎻愪氦
- const submit = async () => {
- disabled_btn.value = true;
- ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
- if (isValid) {
- loading.value = true;
- let values = ruleForm.value;
- let ret={};
- let title='鏂板';
- if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
- ret = await addWmsBasePlace(values);
- } else {
- title='缂栬緫';
- ret = await updateWmsBasePlace(values);
- }
- loading.value = false;
- disabled_btn.value = false;
- if(ret.data.type=="success"){
- ElMessage.success(title+'鎴愬姛');
- closeDialog();
- }
- } else {
- disabled_btn.value = false;
- ElMessage({
- message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
- type: "error",
- });
- }
- });
- };
-
-
-
-
-
-
-
- // 椤甸潰鍔犺浇鏃�
- onMounted(async () => {
- getEnumPlaceTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PlaceTypeEnum')).data.result ?? [];
- getEnumPlaceStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PlaceStatusEnum')).data.result ?? [];
- });
-
- //灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
- defineExpose({ openDialog });
-</script>
-
-
-
-
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsBasePlace/index.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsBasePlace/index.vue
deleted file mode 100644
index b40558e..0000000
--- a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsBasePlace/index.vue
+++ /dev/null
@@ -1,393 +0,0 @@
-锘�<template>
- <div class="wmsBasePlace-container">
- <el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
- <el-form :model="queryParamsWmsBasePlace" ref="queryForm" labelWidth="90">
- <el-row>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
- <el-form-item label="鍏抽敭瀛�">
- <el-input v-model="queryParamsWmsBasePlace.searchKey" clearable="" placeholder="搴撲綅缂栫爜,搴撲綅鍚嶇О,搴撲綅绫诲瀷鍚嶇О,搴撳尯缂栧彿,搴撳尯鍚嶇О,鍒涘缓浜�,淇敼浜�"/>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
- <el-form-item label="搴撲綅缂栫爜">
- <el-input v-model="queryParamsWmsBasePlace.placeCode" clearable="" placeholder="璇疯緭鍏ュ簱浣嶇紪鐮�"/>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
- <el-form-item label="搴撲綅鍚嶇О">
- <el-input v-model="queryParamsWmsBasePlace.placeName" clearable="" placeholder="璇疯緭鍏ュ簱浣嶅悕绉�"/>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
- <el-form-item label="搴撲綅绫诲瀷">
- <el-select clearable="" v-model="queryParamsWmsBasePlace.placeType" placeholder="璇烽�夋嫨搴撲綅绫诲瀷">
- <el-option v-for="(item,index) in getEnumPlaceTypeData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
-
- </el-select>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
- <el-form-item label="搴撲綅绫诲瀷鍚嶇О">
- <el-input v-model="queryParamsWmsBasePlace.placeTypeName" clearable="" placeholder="璇疯緭鍏ュ簱浣嶇被鍨嬪悕绉�"/>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
- <el-form-item label="搴撲綅闀垮害">
- <el-input v-model="queryParamsWmsBasePlace.length" clearable="" placeholder="璇疯緭鍏ュ簱浣嶉暱搴�"/>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
- <el-form-item label="搴撲綅瀹藉害">
- <el-input v-model="queryParamsWmsBasePlace.width" clearable="" placeholder="璇疯緭鍏ュ簱浣嶅搴�"/>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
- <el-form-item label="搴撲綅楂樺害">
- <el-input v-model="queryParamsWmsBasePlace.height" clearable="" placeholder="璇疯緭鍏ュ簱浣嶉珮搴�"/>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
- <el-form-item label="鍘氬害">
- <el-input v-model="queryParamsWmsBasePlace.thick" clearable="" placeholder="璇疯緭鍏ュ帤搴�"/>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
- <el-form-item label="搴撲綅灞炴��">
- <el-select clearable="" v-model="queryParamsWmsBasePlace.placeStatus" placeholder="璇烽�夋嫨搴撲綅灞炴��">
- <el-option v-for="(item,index) in getEnumPlaceStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
-
- </el-select>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
- <el-form-item label="鎵�鍦ㄥ簱鍖�">
- <el-input v-model="queryParamsWmsBasePlace.areaId" clearable="" placeholder="璇疯緭鍏ユ墍鍦ㄥ簱鍖�"/>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
- <el-form-item label="搴撳尯缂栧彿">
- <el-input v-model="queryParamsWmsBasePlace.areaCode" clearable="" placeholder="璇疯緭鍏ュ簱鍖虹紪鍙�"/>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
- <el-form-item label="搴撳尯鍚嶇О">
- <el-input v-model="queryParamsWmsBasePlace.areaName" clearable="" placeholder="璇疯緭鍏ュ簱鍖哄悕绉�"/>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
- <el-form-item label="鍒�">
- <el-input-number v-model="queryParamsWmsBasePlace.columnNo" clearable="" placeholder="璇疯緭鍏ュ垪"/>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
- <el-form-item label="灞�">
- <el-input-number v-model="queryParamsWmsBasePlace.layerNo" clearable="" placeholder="璇疯緭鍏ュ眰"/>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
- <el-form-item label="鍙�">
- <el-input-number v-model="queryParamsWmsBasePlace.laneNo" clearable="" placeholder="璇疯緭鍏ュ彿"/>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
- <el-form-item label="鏄惁铏氭嫙">
- <el-select clearable="" v-model="queryParamsWmsBasePlace.isVirtually" placeholder="璇烽�夋嫨鏄惁铏氭嫙">
- <el-option v-for="(item,index) in getEnumIsVirtuallyData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
-
- </el-select>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
- <el-form-item label="鏄惁绂佺敤">
- <el-select clearable="" v-model="queryParamsWmsBasePlace.isDisabled" placeholder="璇烽�夋嫨鏄惁绂佺敤">
- <el-option v-for="(item,index) in getEnumIsDisabledData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
-
- </el-select>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
- <el-form-item>
- <el-button-group style="display: flex; align-items: center;">
- <el-button type="primary" icon="ele-Search" @click="handleQueryWmsBasePlace" v-auth="'wmsBasePlace:page'" :disabled="disabled_btnWmsBasePlace"> 鏌ヨ </el-button>
- <el-button icon="ele-Refresh" @click="resetWmsBasePlace"> 閲嶇疆 </el-button>
- <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsBasePlace" v-if="!showAdvanceQueryUIWmsBasePlace" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
- <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsBasePlace" v-if="showAdvanceQueryUIWmsBasePlace" style="margin-left:5px;"> 闅愯棌 </el-button>
- <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsBasePlace" v-auth="'wmsBasePlace:add'"> 鏂板 </el-button>
- <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWmsBasePlace" v-auth="'wmsBasePlace:exportExcel'" > 瀵煎嚭 </el-button>
- </el-button-group>
- </el-form-item>
-
- </el-col>
- </el-row>
- </el-form>
- </el-card>
- <el-card class="full-table" shadow="hover" style="margin-top: 5px">
- <el-table
- ref="tableRefWmsBasePlace"
- :data="tableDataWmsBasePlace"
- style="width: 100%"
- v-loading="loadingWmsBasePlace"
- tooltip-effect="light"
- row-key="id"
- @sort-change="sortChangeWmsBasePlace"
- border="">
- <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
- <el-table-column prop="placeCode" label="搴撲綅缂栫爜" show-overflow-tooltip="" />
- <el-table-column prop="placeName" label="搴撲綅鍚嶇О" show-overflow-tooltip="" />
- <el-table-column prop="placeType" label="搴撲綅绫诲瀷" show-overflow-tooltip="" >
- <template #default="scope">
- <el-tag>{{ getEnumDesc(scope.row.placeType, getEnumPlaceTypeData_Index)}}</el-tag>
- </template>
- </el-table-column>
- <el-table-column prop="placeTypeName" label="搴撲綅绫诲瀷鍚嶇О" show-overflow-tooltip="" />
- <el-table-column prop="length" label="搴撲綅闀垮害" show-overflow-tooltip="" />
- <el-table-column prop="width" label="搴撲綅瀹藉害" show-overflow-tooltip="" />
- <el-table-column prop="height" label="搴撲綅楂樺害" show-overflow-tooltip="" />
- <el-table-column prop="thick" label="鍘氬害" show-overflow-tooltip="" />
- <el-table-column prop="placeStatus" label="搴撲綅灞炴��" show-overflow-tooltip="" >
- <template #default="scope">
- <el-tag>{{ getEnumDesc(scope.row.placeStatus, getEnumPlaceStatusData_Index)}}</el-tag>
- </template>
- </el-table-column>
- <el-table-column prop="areaId" label="鎵�鍦ㄥ簱鍖�" show-overflow-tooltip="" />
- <el-table-column prop="areaCode" label="搴撳尯缂栧彿" show-overflow-tooltip="" />
- <el-table-column prop="areaName" label="搴撳尯鍚嶇О" show-overflow-tooltip="" />
- <el-table-column prop="columnNo" label="鍒�" show-overflow-tooltip="" />
- <el-table-column prop="layerNo" label="灞�" show-overflow-tooltip="" />
- <el-table-column prop="laneNo" label="鍙�" show-overflow-tooltip="" />
- <el-table-column prop="isVirtually" label="鏄惁铏氭嫙" show-overflow-tooltip="">
- <template #default="scope">
- <el-tag v-if="scope.row.isVirtually"> 鏄� </el-tag>
- <el-tag type="danger" v-else> 鍚� </el-tag>
-
- </template>
-
- </el-table-column>
- <el-table-column prop="isDisabled" label="鏄惁绂佺敤" show-overflow-tooltip="">
- <template #default="scope">
- <el-tag v-if="scope.row.isDisabled"> 鏄� </el-tag>
- <el-tag type="danger" v-else> 鍚� </el-tag>
-
- </template>
-
- </el-table-column>
- <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
- <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
- <el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
- <el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
- <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsBasePlace:update') || auth('wmsBasePlace:delete')">
- <template #default="scope">
- <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsBasePlace(scope.row)" v-auth="'wmsBasePlace:update'"> 缂栬緫 </el-button>
- <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsBasePlace(scope.row)" v-auth="'wmsBasePlace:delete'"> 鍒犻櫎 </el-button>
- </template>
- </el-table-column>
- </el-table>
- <el-pagination
- v-model:currentPage="tableParamsWmsBasePlace.page"
- v-model:page-size="tableParamsWmsBasePlace.pageSize"
- :total="tableParamsWmsBasePlace.total"
- :page-sizes="[10, 20, 50, 100, 200, 500]"
- small=""
- background=""
- @size-change="handleSizeChangeWmsBasePlace"
- @current-change="handleCurrentChangeWmsBasePlace"
- layout="total, sizes, prev, pager, next, jumper"
- />
- <printDialogWmsBasePlace
- ref="printDialogRefWmsBasePlace"
- :title="printWmsBasePlaceTitle"
- @reloadTable="handleQueryWmsBasePlace" />
- <editDialogWmsBasePlace
- ref="editDialogRefWmsBasePlace"
- :title="editWmsBasePlaceTitle"
- @reloadTable="handleQueryWmsBasePlace"
- />
- </el-card>
- </div>
-</template>
-
-<script lang="ts" setup="" name="wmsBasePlace">
- import { ref,onMounted } from "vue";
- import { ElMessageBox, ElMessage } from "element-plus";
- import { auth } from '/@/utils/authFunction';
- import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
- import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
- import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
-
-
- import printDialogWmsBasePlace from '/@/views/system/print/component/hiprint/preview.vue'
- import editDialogWmsBasePlace from '/@/views/main/WmsBase/wmsBasePlace/component/editDialog.vue'
- import { pageWmsBasePlace, deleteWmsBasePlace,importExcelWmsBasePlace,downloadExcelTemplateWmsBasePlace } from '/@/api/main/WmsBase/wmsBasePlace';
- import { getAPI } from '/@/utils/axios-utils';
- import { SysEnumApi } from '/@/api-services/api';
- import commonFunction from '/@/utils/commonFunction';
-
- const getEnumPlaceTypeData_Index = ref<any>([]);
- const getEnumPlaceStatusData_Index = ref<any>([]);
- const getEnumIsVirtuallyData_Index = ref<any>([]);
- const getEnumIsDisabledData_Index = ref<any>([]);
-
- const { getEnumDesc } = commonFunction();
-
- /***************************************************[搴撲綅淇℃伅鎿嶄綔]寮�濮�***************************************************/
- const showAdvanceQueryUIWmsBasePlace = ref(false);
- const tableRefWmsBasePlace = ref(null);
- const printDialogRefWmsBasePlace = ref();
- const editDialogRefWmsBasePlace = ref();
- const loadingWmsBasePlace = ref(false);
- const disabled_btnWmsBasePlace = ref(false);
- const tableDataWmsBasePlace = ref<any>([]);
- const queryParamsWmsBasePlace = ref<any>({});
- const tableParamsWmsBasePlace = ref({
- page: 1,
- pageSize: 10,
- total: 0,
- });
-
- const printWmsBasePlaceTitle = ref("");
- const editWmsBasePlaceTitle = ref("");
-
- // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
- const changeAdvanceQueryUIWmsBasePlace = () => {
- showAdvanceQueryUIWmsBasePlace.value = !showAdvanceQueryUIWmsBasePlace.value;
- }
-
- // 鏌ヨ搴撲綅淇℃伅
- const handleQueryWmsBasePlace = async () => {
- loadingWmsBasePlace.value = true;
- disabled_btnWmsBasePlace.value = true;
- var res = await pageWmsBasePlace(Object.assign(queryParamsWmsBasePlace.value, tableParamsWmsBasePlace.value));
- if(res.data.type=="success"){
- tableDataWmsBasePlace.value = res.data.result?.items ?? [];
- tableParamsWmsBasePlace.value.total = res.data.result?.total;
- }
- loadingWmsBasePlace.value = false;
- disabled_btnWmsBasePlace.value = false;
- };
-
- // 閲嶇疆搴撲綅淇℃伅鏌ヨ
- const resetWmsBasePlace = async () => {
- queryParamsWmsBasePlace.value = {}
- };
-
- // 搴撲綅淇℃伅鍒楁帓搴�
- const sortChangeWmsBasePlace = async (column: any) => {
- queryParamsWmsBasePlace.value.field = column.prop;
- queryParamsWmsBasePlace.value.order = column.order;
- await handleQueryWmsBasePlace();
- };
-
- // 鎵撳紑鏂板搴撲綅淇℃伅椤甸潰
- const openAddWmsBasePlace = () => {
- editWmsBasePlaceTitle.value = '娣诲姞搴撲綅淇℃伅';
- editDialogRefWmsBasePlace.value.openDialog(1,{});
- };
-
- // 鎵撳紑鎵撳嵃搴撲綅淇℃伅椤甸潰
- const openPrintWmsBasePlace = async (row: any) => {
- printWmsBasePlaceTitle.value = '鎵撳嵃搴撲綅淇℃伅';
- }
-
- // 鎵撳紑缂栬緫搴撲綅淇℃伅椤甸潰
- const openEditWmsBasePlace = (row: any) => {
- editWmsBasePlaceTitle.value = '缂栬緫搴撲綅淇℃伅';
- editDialogRefWmsBasePlace.value.openDialog(2,row);
- };
-
- // 鍒犻櫎搴撲綅淇℃伅
- const delWmsBasePlace = (row: any) => {
- ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
- confirmButtonText: "纭畾",
- cancelButtonText: "鍙栨秷",
- type: "warning",
- })
- .then(async () => {
- loadingWmsBasePlace.value = true;
- var ret = await deleteWmsBasePlace(row);
- if(ret.data.type=="success"){
- ElMessage.success("鍒犻櫎鎴愬姛");
- }
- loadingWmsBasePlace.value = false;
- handleQueryWmsBasePlace();
- })
- .catch(() => {});
- };
-
- // 鏀瑰彉搴撲綅淇℃伅椤甸潰瀹归噺
- const handleSizeChangeWmsBasePlace = (val: number) => {
- tableParamsWmsBasePlace.value.pageSize = val;
- handleQueryWmsBasePlace();
- };
-
- // 鏀瑰彉搴撲綅淇℃伅椤电爜搴忓彿
- const handleCurrentChangeWmsBasePlace = (val: number) => {
- tableParamsWmsBasePlace.value.page = val;
- handleQueryWmsBasePlace();
- };
-
-/***************************************************[搴撲綅淇℃伅鎿嶄綔]缁撴潫***************************************************/
-/***************************************************[搴撲綅淇℃伅瀵煎嚭]寮�濮�***************************************************/
-//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
-const functionMapWmsBasePlace = {
- getEnumPlaceTypeData_Index,
- getEnumPlaceStatusData_Index,
- getEnumIsVirtuallyData_Index,
- getEnumIsDisabledData_Index,
- formatDate_T_Date,
- formatDate_T_Time
-};
-//鐐瑰嚮瀵煎嚭鎸夐挳
-const handleExportExcelWmsBasePlace = async (formData:Blob) => {
- loadingWmsBasePlace.value = true;
- disabled_btnWmsBasePlace.value = true;
- var new_tableParamsWmsBasePlace=JSON.parse(JSON.stringify(tableParamsWmsBasePlace.value));
- new_tableParamsWmsBasePlace.page = 1;
- new_tableParamsWmsBasePlace.pageSize = 100000;
- var res = await pageWmsBasePlace(Object.assign(queryParamsWmsBasePlace.value, new_tableParamsWmsBasePlace));
- if(res.data.type=="success"){
- exportExcelWmsBasePlace(res.data.result?.items ?? []);
- }
- loadingWmsBasePlace.value = false;
- disabled_btnWmsBasePlace.value = false;
-};
-//瀵煎嚭
-const exportExcelWmsBasePlace = async (exportDataList:Array) => {
- exportPageExcel(exportDataList, tableRefWmsBasePlace,"搴撲綅淇℃伅",functionMapWmsBasePlace);
-};
-/***************************************************[搴撲綅淇℃伅瀵煎嚭]缁撴潫***************************************************/
- // 搴撲綅淇℃伅椤甸潰鍔犺浇鏃�
- onMounted(async () => {
- getEnumPlaceTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PlaceTypeEnum')).data.result ?? [];
- getEnumPlaceStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PlaceStatusEnum')).data.result ?? [];
- getEnumIsVirtuallyData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
- getEnumIsDisabledData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
- });
-
- handleQueryWmsBasePlace();
-</script>
-<style scoped>
-:deep(.el-input),
-:deep(.el-select),
-:deep(.el-input-number) {
- width: 100%;
-}
-</style>
-
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/wmsPlace/wmsBasePlace/component/editDialog.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/wmsPlace/wmsBasePlace/component/editDialog.vue
deleted file mode 100644
index 6ba3a57..0000000
--- a/iWare_RawMaterialWarehouse_Web/src/views/main/wmsPlace/wmsBasePlace/component/editDialog.vue
+++ /dev/null
@@ -1,271 +0,0 @@
-锘�<template>
- <div class="wmsBasePlace-container">
- <el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
- <template #header>
- <div style="color: #fff">
- <!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
- <span>{{ props.title }}</span>
- </div>
- </template>
- <el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
- <el-row :gutter="35">
- <el-form-item v-show="false">
- <el-input v-model="ruleForm.id" />
- </el-form-item>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="搴撲綅缂栫爜" prop="placeCode">
- <el-input v-model="ruleForm.placeCode" placeholder="璇疯緭鍏ュ簱浣嶇紪鐮�" maxlength="50" show-word-limit clearable />
-
- </el-form-item>
-
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="搴撲綅鍚嶇О" prop="placeName">
- <el-input v-model="ruleForm.placeName" placeholder="璇疯緭鍏ュ簱浣嶅悕绉�" maxlength="50" show-word-limit clearable />
-
- </el-form-item>
-
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="搴撲綅绫诲瀷" prop="placeType">
- <el-select clearable v-model="ruleForm.placeType" placeholder="璇烽�夋嫨搴撲綅绫诲瀷">
- <el-option v-for="(item,index) in getEnumPlaceTypeData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
-
- </el-select>
-
- </el-form-item>
-
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="搴撲綅绫诲瀷鍚嶇О" prop="placeTypeName">
- <el-input v-model="ruleForm.placeTypeName" placeholder="璇疯緭鍏ュ簱浣嶇被鍨嬪悕绉�" maxlength="50" show-word-limit clearable />
-
- </el-form-item>
-
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="搴撲綅闀垮害" prop="length">
- <el-input v-model="ruleForm.length" placeholder="璇疯緭鍏ュ簱浣嶉暱搴�" maxlength="10" show-word-limit clearable />
-
- </el-form-item>
-
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="搴撲綅瀹藉害" prop="width">
- <el-input v-model="ruleForm.width" placeholder="璇疯緭鍏ュ簱浣嶅搴�" maxlength="10" show-word-limit clearable />
-
- </el-form-item>
-
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="搴撲綅楂樺害" prop="height">
- <el-input v-model="ruleForm.height" placeholder="璇疯緭鍏ュ簱浣嶉珮搴�" maxlength="10" show-word-limit clearable />
-
- </el-form-item>
-
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="鍘氬害" prop="thick">
- <el-input v-model="ruleForm.thick" placeholder="璇疯緭鍏ュ帤搴�" maxlength="10" show-word-limit clearable />
-
- </el-form-item>
-
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="搴撲綅灞炴��" prop="placeStatus">
- <el-select clearable v-model="ruleForm.placeStatus" placeholder="璇烽�夋嫨搴撲綅灞炴��">
- <el-option v-for="(item,index) in getEnumPlaceStatusData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
-
- </el-select>
-
- </el-form-item>
-
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="鎵�鍦ㄥ簱鍖�" prop="areaId">
- <el-input v-model="ruleForm.areaId" placeholder="璇疯緭鍏ユ墍鍦ㄥ簱鍖�" maxlength="19" show-word-limit clearable />
-
- </el-form-item>
-
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="搴撳尯缂栧彿" prop="areaCode">
- <el-input v-model="ruleForm.areaCode" placeholder="璇疯緭鍏ュ簱鍖虹紪鍙�" maxlength="50" show-word-limit clearable />
-
- </el-form-item>
-
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="搴撳尯鍚嶇О" prop="areaName">
- <el-input v-model="ruleForm.areaName" placeholder="璇疯緭鍏ュ簱鍖哄悕绉�" maxlength="50" show-word-limit clearable />
-
- </el-form-item>
-
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="鍒�" prop="columnNo">
- <el-input-number v-model="ruleForm.columnNo" placeholder="璇疯緭鍏ュ垪" clearable />
-
- </el-form-item>
-
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="灞�" prop="layerNo">
- <el-input-number v-model="ruleForm.layerNo" placeholder="璇疯緭鍏ュ眰" clearable />
-
- </el-form-item>
-
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="鍙�" prop="laneNo">
- <el-input-number v-model="ruleForm.laneNo" placeholder="璇疯緭鍏ュ彿" clearable />
-
- </el-form-item>
-
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="鏄惁铏氭嫙" prop="isVirtually">
- <el-switch v-model="ruleForm.isVirtually" active-text="鏄�" inactive-text="鍚�" />
-
- </el-form-item>
-
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="鏄惁绂佺敤" prop="isDisabled">
- <el-switch v-model="ruleForm.isDisabled" active-text="鏄�" inactive-text="鍚�" />
-
- </el-form-item>
-
- </el-col>
- </el-row>
- </el-form>
- <template #footer>
- <span class="dialog-footer">
- <el-button @click="cancel">鍙� 娑�</el-button>
- <el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
- </span>
- </template>
- </el-dialog>
- </div>
-</template>
-<style scoped>
-:deep(.el-select),
-:deep(.el-input-number) {
- width: 100%;
-}
-</style>
-<script lang="ts" setup>
- import { ref,onMounted } from "vue";
- import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
- import { ElMessage } from "element-plus";
- import type { FormRules } from "element-plus";
- import { addWmsBasePlace, updateWmsBasePlace, detailWmsBasePlace } from "/@/api/main/wmsPlace/wmsBasePlace";
- import { getAPI } from '/@/utils/axios-utils';
- import { SysEnumApi } from '/@/api-services/api';
-
- const getEnumPlaceTypeData = ref<any>([]);
- const getEnumPlaceStatusData = ref<any>([]);
- //鐖剁骇浼犻�掓潵鐨勫弬鏁�
- var props = defineProps({
- title: {
- type: String,
- default: "",
- },
- });
- //鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
- const emit = defineEmits(["reloadTable"]);
- const ruleFormRef = ref();
- const isShowDialog = ref(false);
- const loading = ref(false);
- const disabled_btn = ref(false);
- const ruleForm = ref<any>({});
- //鑷娣诲姞鍏朵粬瑙勫垯
- const rules = ref<FormRules>({
- placeCode: [{required: true, message: '璇疯緭鍏ュ簱浣嶇紪鐮侊紒', trigger: 'blur',},],
- placeName: [{required: true, message: '璇疯緭鍏ュ簱浣嶅悕绉帮紒', trigger: 'blur',},],
- placeType: [{required: true, message: '璇烽�夋嫨搴撲綅绫诲瀷锛�', trigger: 'change',},],
- placeStatus: [{required: true, message: '璇烽�夋嫨搴撲綅灞炴�э紒', trigger: 'change',},],
- areaId: [{required: true, message: '璇疯緭鍏ユ墍鍦ㄥ簱鍖猴紒', trigger: 'blur',},],
- isDisabled: [{required: true, message: '璇烽�夋嫨鏄惁绂佺敤锛�', trigger: 'change',},],
- isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
- });
-
- /*
- * 鎵撳紑寮圭獥
- * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
- * @param row 琛屾暟鎹�
- */
- const openDialog = async (flag: number,row: any) => {
- // ruleForm.value = JSON.parse(JSON.stringify(row));
- // 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
- let rowData = JSON.parse(JSON.stringify(row));
- if (rowData.id)
- ruleForm.value = (await detailWmsBasePlace(rowData.id)).data.result;
- else {
- ruleForm.value = rowData;
- ruleForm.value.isDisabled = false;//蹇呭~锛岃祴鍊奸粯璁ゅ��
- }
- isShowDialog.value = true;
- };
-
- // 鍏抽棴寮圭獥
- const closeDialog = () => {
- emit("reloadTable");
- isShowDialog.value = false;
- };
-
- // 鍙栨秷
- const cancel = () => {
- isShowDialog.value = false;
- };
-
- // 鎻愪氦
- const submit = async () => {
- disabled_btn.value = true;
- ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
- if (isValid) {
- loading.value = true;
- let values = ruleForm.value;
- let ret={};
- let title='鏂板';
- if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
- ret = await addWmsBasePlace(values);
- } else {
- title='缂栬緫';
- ret = await updateWmsBasePlace(values);
- }
- loading.value = false;
- disabled_btn.value = false;
- if(ret.data.type=="success"){
- ElMessage.success(title+'鎴愬姛');
- closeDialog();
- }
- } else {
- disabled_btn.value = false;
- ElMessage({
- message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
- type: "error",
- });
- }
- });
- };
-
-
-
-
-
-
-
- // 椤甸潰鍔犺浇鏃�
- onMounted(async () => {
- getEnumPlaceTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PlaceTypeEnum')).data.result ?? [];
- getEnumPlaceStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PlaceStatusEnum')).data.result ?? [];
- });
-
- //灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
- defineExpose({ openDialog });
-</script>
-
-
-
-
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/wmsPlace/wmsBasePlace/index.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/wmsPlace/wmsBasePlace/index.vue
deleted file mode 100644
index 35da1d3..0000000
--- a/iWare_RawMaterialWarehouse_Web/src/views/main/wmsPlace/wmsBasePlace/index.vue
+++ /dev/null
@@ -1,393 +0,0 @@
-锘�<template>
- <div class="wmsBasePlace-container">
- <el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
- <el-form :model="queryParamsWmsBasePlace" ref="queryForm" labelWidth="90">
- <el-row>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
- <el-form-item label="鍏抽敭瀛�">
- <el-input v-model="queryParamsWmsBasePlace.searchKey" clearable="" placeholder="搴撲綅缂栫爜,搴撲綅鍚嶇О,搴撲綅绫诲瀷鍚嶇О,搴撳尯缂栧彿,搴撳尯鍚嶇О,鍒涘缓浜�,淇敼浜�"/>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
- <el-form-item label="搴撲綅缂栫爜">
- <el-input v-model="queryParamsWmsBasePlace.placeCode" clearable="" placeholder="璇疯緭鍏ュ簱浣嶇紪鐮�"/>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
- <el-form-item label="搴撲綅鍚嶇О">
- <el-input v-model="queryParamsWmsBasePlace.placeName" clearable="" placeholder="璇疯緭鍏ュ簱浣嶅悕绉�"/>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
- <el-form-item label="搴撲綅绫诲瀷">
- <el-select clearable="" v-model="queryParamsWmsBasePlace.placeType" placeholder="璇烽�夋嫨搴撲綅绫诲瀷">
- <el-option v-for="(item,index) in getEnumPlaceTypeData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
-
- </el-select>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
- <el-form-item label="搴撲綅绫诲瀷鍚嶇О">
- <el-input v-model="queryParamsWmsBasePlace.placeTypeName" clearable="" placeholder="璇疯緭鍏ュ簱浣嶇被鍨嬪悕绉�"/>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
- <el-form-item label="搴撲綅闀垮害">
- <el-input v-model="queryParamsWmsBasePlace.length" clearable="" placeholder="璇疯緭鍏ュ簱浣嶉暱搴�"/>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
- <el-form-item label="搴撲綅瀹藉害">
- <el-input v-model="queryParamsWmsBasePlace.width" clearable="" placeholder="璇疯緭鍏ュ簱浣嶅搴�"/>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
- <el-form-item label="搴撲綅楂樺害">
- <el-input v-model="queryParamsWmsBasePlace.height" clearable="" placeholder="璇疯緭鍏ュ簱浣嶉珮搴�"/>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
- <el-form-item label="鍘氬害">
- <el-input v-model="queryParamsWmsBasePlace.thick" clearable="" placeholder="璇疯緭鍏ュ帤搴�"/>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
- <el-form-item label="搴撲綅灞炴��">
- <el-select clearable="" v-model="queryParamsWmsBasePlace.placeStatus" placeholder="璇烽�夋嫨搴撲綅灞炴��">
- <el-option v-for="(item,index) in getEnumPlaceStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
-
- </el-select>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
- <el-form-item label="鎵�鍦ㄥ簱鍖�">
- <el-input v-model="queryParamsWmsBasePlace.areaId" clearable="" placeholder="璇疯緭鍏ユ墍鍦ㄥ簱鍖�"/>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
- <el-form-item label="搴撳尯缂栧彿">
- <el-input v-model="queryParamsWmsBasePlace.areaCode" clearable="" placeholder="璇疯緭鍏ュ簱鍖虹紪鍙�"/>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
- <el-form-item label="搴撳尯鍚嶇О">
- <el-input v-model="queryParamsWmsBasePlace.areaName" clearable="" placeholder="璇疯緭鍏ュ簱鍖哄悕绉�"/>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
- <el-form-item label="鍒�">
- <el-input-number v-model="queryParamsWmsBasePlace.columnNo" clearable="" placeholder="璇疯緭鍏ュ垪"/>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
- <el-form-item label="灞�">
- <el-input-number v-model="queryParamsWmsBasePlace.layerNo" clearable="" placeholder="璇疯緭鍏ュ眰"/>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
- <el-form-item label="鍙�">
- <el-input-number v-model="queryParamsWmsBasePlace.laneNo" clearable="" placeholder="璇疯緭鍏ュ彿"/>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
- <el-form-item label="鏄惁铏氭嫙">
- <el-select clearable="" v-model="queryParamsWmsBasePlace.isVirtually" placeholder="璇烽�夋嫨鏄惁铏氭嫙">
- <el-option v-for="(item,index) in getEnumIsVirtuallyData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
-
- </el-select>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
- <el-form-item label="鏄惁绂佺敤">
- <el-select clearable="" v-model="queryParamsWmsBasePlace.isDisabled" placeholder="璇烽�夋嫨鏄惁绂佺敤">
- <el-option v-for="(item,index) in getEnumIsDisabledData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
-
- </el-select>
-
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
- <el-form-item>
- <el-button-group style="display: flex; align-items: center;">
- <el-button type="primary" icon="ele-Search" @click="handleQueryWmsBasePlace" v-auth="'wmsBasePlace:page'" :disabled="disabled_btnWmsBasePlace"> 鏌ヨ </el-button>
- <el-button icon="ele-Refresh" @click="resetWmsBasePlace"> 閲嶇疆 </el-button>
- <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsBasePlace" v-if="!showAdvanceQueryUIWmsBasePlace" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
- <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsBasePlace" v-if="showAdvanceQueryUIWmsBasePlace" style="margin-left:5px;"> 闅愯棌 </el-button>
- <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsBasePlace" v-auth="'wmsBasePlace:add'"> 鏂板 </el-button>
- <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWmsBasePlace" v-auth="'wmsBasePlace:exportExcel'" > 瀵煎嚭 </el-button>
- </el-button-group>
- </el-form-item>
-
- </el-col>
- </el-row>
- </el-form>
- </el-card>
- <el-card class="full-table" shadow="hover" style="margin-top: 5px">
- <el-table
- ref="tableRefWmsBasePlace"
- :data="tableDataWmsBasePlace"
- style="width: 100%"
- v-loading="loadingWmsBasePlace"
- tooltip-effect="light"
- row-key="id"
- @sort-change="sortChangeWmsBasePlace"
- border="">
- <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
- <el-table-column prop="placeCode" label="搴撲綅缂栫爜" show-overflow-tooltip="" />
- <el-table-column prop="placeName" label="搴撲綅鍚嶇О" show-overflow-tooltip="" />
- <el-table-column prop="placeType" label="搴撲綅绫诲瀷" show-overflow-tooltip="" >
- <template #default="scope">
- <el-tag>{{ getEnumDesc(scope.row.placeType, getEnumPlaceTypeData_Index)}}</el-tag>
- </template>
- </el-table-column>
- <el-table-column prop="placeTypeName" label="搴撲綅绫诲瀷鍚嶇О" show-overflow-tooltip="" />
- <el-table-column prop="length" label="搴撲綅闀垮害" show-overflow-tooltip="" />
- <el-table-column prop="width" label="搴撲綅瀹藉害" show-overflow-tooltip="" />
- <el-table-column prop="height" label="搴撲綅楂樺害" show-overflow-tooltip="" />
- <el-table-column prop="thick" label="鍘氬害" show-overflow-tooltip="" />
- <el-table-column prop="placeStatus" label="搴撲綅灞炴��" show-overflow-tooltip="" >
- <template #default="scope">
- <el-tag>{{ getEnumDesc(scope.row.placeStatus, getEnumPlaceStatusData_Index)}}</el-tag>
- </template>
- </el-table-column>
- <el-table-column prop="areaId" label="鎵�鍦ㄥ簱鍖�" show-overflow-tooltip="" />
- <el-table-column prop="areaCode" label="搴撳尯缂栧彿" show-overflow-tooltip="" />
- <el-table-column prop="areaName" label="搴撳尯鍚嶇О" show-overflow-tooltip="" />
- <el-table-column prop="columnNo" label="鍒�" show-overflow-tooltip="" />
- <el-table-column prop="layerNo" label="灞�" show-overflow-tooltip="" />
- <el-table-column prop="laneNo" label="鍙�" show-overflow-tooltip="" />
- <el-table-column prop="isVirtually" label="鏄惁铏氭嫙" show-overflow-tooltip="">
- <template #default="scope">
- <el-tag v-if="scope.row.isVirtually"> 鏄� </el-tag>
- <el-tag type="danger" v-else> 鍚� </el-tag>
-
- </template>
-
- </el-table-column>
- <el-table-column prop="isDisabled" label="鏄惁绂佺敤" show-overflow-tooltip="">
- <template #default="scope">
- <el-tag v-if="scope.row.isDisabled"> 鏄� </el-tag>
- <el-tag type="danger" v-else> 鍚� </el-tag>
-
- </template>
-
- </el-table-column>
- <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
- <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
- <el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
- <el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
- <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsBasePlace:update') || auth('wmsBasePlace:delete')">
- <template #default="scope">
- <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsBasePlace(scope.row)" v-auth="'wmsBasePlace:update'"> 缂栬緫 </el-button>
- <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsBasePlace(scope.row)" v-auth="'wmsBasePlace:delete'"> 鍒犻櫎 </el-button>
- </template>
- </el-table-column>
- </el-table>
- <el-pagination
- v-model:currentPage="tableParamsWmsBasePlace.page"
- v-model:page-size="tableParamsWmsBasePlace.pageSize"
- :total="tableParamsWmsBasePlace.total"
- :page-sizes="[10, 20, 50, 100, 200, 500]"
- small=""
- background=""
- @size-change="handleSizeChangeWmsBasePlace"
- @current-change="handleCurrentChangeWmsBasePlace"
- layout="total, sizes, prev, pager, next, jumper"
- />
- <printDialogWmsBasePlace
- ref="printDialogRefWmsBasePlace"
- :title="printWmsBasePlaceTitle"
- @reloadTable="handleQueryWmsBasePlace" />
- <editDialogWmsBasePlace
- ref="editDialogRefWmsBasePlace"
- :title="editWmsBasePlaceTitle"
- @reloadTable="handleQueryWmsBasePlace"
- />
- </el-card>
- </div>
-</template>
-
-<script lang="ts" setup="" name="wmsBasePlace">
- import { ref,onMounted } from "vue";
- import { ElMessageBox, ElMessage } from "element-plus";
- import { auth } from '/@/utils/authFunction';
- import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
- import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
- import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
-
-
- import printDialogWmsBasePlace from '/@/views/system/print/component/hiprint/preview.vue'
- import editDialogWmsBasePlace from '/@/views/main/wmsPlace/wmsBasePlace/component/editDialog.vue'
- import { pageWmsBasePlace, deleteWmsBasePlace,importExcelWmsBasePlace,downloadExcelTemplateWmsBasePlace } from '/@/api/main/wmsPlace/wmsBasePlace';
- import { getAPI } from '/@/utils/axios-utils';
- import { SysEnumApi } from '/@/api-services/api';
- import commonFunction from '/@/utils/commonFunction';
-
- const getEnumPlaceTypeData_Index = ref<any>([]);
- const getEnumPlaceStatusData_Index = ref<any>([]);
- const getEnumIsVirtuallyData_Index = ref<any>([]);
- const getEnumIsDisabledData_Index = ref<any>([]);
-
- const { getEnumDesc } = commonFunction();
-
- /***************************************************[搴撲綅淇℃伅鎿嶄綔]寮�濮�***************************************************/
- const showAdvanceQueryUIWmsBasePlace = ref(false);
- const tableRefWmsBasePlace = ref(null);
- const printDialogRefWmsBasePlace = ref();
- const editDialogRefWmsBasePlace = ref();
- const loadingWmsBasePlace = ref(false);
- const disabled_btnWmsBasePlace = ref(false);
- const tableDataWmsBasePlace = ref<any>([]);
- const queryParamsWmsBasePlace = ref<any>({});
- const tableParamsWmsBasePlace = ref({
- page: 1,
- pageSize: 10,
- total: 0,
- });
-
- const printWmsBasePlaceTitle = ref("");
- const editWmsBasePlaceTitle = ref("");
-
- // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
- const changeAdvanceQueryUIWmsBasePlace = () => {
- showAdvanceQueryUIWmsBasePlace.value = !showAdvanceQueryUIWmsBasePlace.value;
- }
-
- // 鏌ヨ搴撲綅淇℃伅
- const handleQueryWmsBasePlace = async () => {
- loadingWmsBasePlace.value = true;
- disabled_btnWmsBasePlace.value = true;
- var res = await pageWmsBasePlace(Object.assign(queryParamsWmsBasePlace.value, tableParamsWmsBasePlace.value));
- if(res.data.type=="success"){
- tableDataWmsBasePlace.value = res.data.result?.items ?? [];
- tableParamsWmsBasePlace.value.total = res.data.result?.total;
- }
- loadingWmsBasePlace.value = false;
- disabled_btnWmsBasePlace.value = false;
- };
-
- // 閲嶇疆搴撲綅淇℃伅鏌ヨ
- const resetWmsBasePlace = async () => {
- queryParamsWmsBasePlace.value = {}
- };
-
- // 搴撲綅淇℃伅鍒楁帓搴�
- const sortChangeWmsBasePlace = async (column: any) => {
- queryParamsWmsBasePlace.value.field = column.prop;
- queryParamsWmsBasePlace.value.order = column.order;
- await handleQueryWmsBasePlace();
- };
-
- // 鎵撳紑鏂板搴撲綅淇℃伅椤甸潰
- const openAddWmsBasePlace = () => {
- editWmsBasePlaceTitle.value = '娣诲姞搴撲綅淇℃伅';
- editDialogRefWmsBasePlace.value.openDialog(1,{});
- };
-
- // 鎵撳紑鎵撳嵃搴撲綅淇℃伅椤甸潰
- const openPrintWmsBasePlace = async (row: any) => {
- printWmsBasePlaceTitle.value = '鎵撳嵃搴撲綅淇℃伅';
- }
-
- // 鎵撳紑缂栬緫搴撲綅淇℃伅椤甸潰
- const openEditWmsBasePlace = (row: any) => {
- editWmsBasePlaceTitle.value = '缂栬緫搴撲綅淇℃伅';
- editDialogRefWmsBasePlace.value.openDialog(2,row);
- };
-
- // 鍒犻櫎搴撲綅淇℃伅
- const delWmsBasePlace = (row: any) => {
- ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
- confirmButtonText: "纭畾",
- cancelButtonText: "鍙栨秷",
- type: "warning",
- })
- .then(async () => {
- loadingWmsBasePlace.value = true;
- var ret = await deleteWmsBasePlace(row);
- if(ret.data.type=="success"){
- ElMessage.success("鍒犻櫎鎴愬姛");
- }
- loadingWmsBasePlace.value = false;
- handleQueryWmsBasePlace();
- })
- .catch(() => {});
- };
-
- // 鏀瑰彉搴撲綅淇℃伅椤甸潰瀹归噺
- const handleSizeChangeWmsBasePlace = (val: number) => {
- tableParamsWmsBasePlace.value.pageSize = val;
- handleQueryWmsBasePlace();
- };
-
- // 鏀瑰彉搴撲綅淇℃伅椤电爜搴忓彿
- const handleCurrentChangeWmsBasePlace = (val: number) => {
- tableParamsWmsBasePlace.value.page = val;
- handleQueryWmsBasePlace();
- };
-
-/***************************************************[搴撲綅淇℃伅鎿嶄綔]缁撴潫***************************************************/
-/***************************************************[搴撲綅淇℃伅瀵煎嚭]寮�濮�***************************************************/
-//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
-const functionMapWmsBasePlace = {
- getEnumPlaceTypeData_Index,
- getEnumPlaceStatusData_Index,
- getEnumIsVirtuallyData_Index,
- getEnumIsDisabledData_Index,
- formatDate_T_Date,
- formatDate_T_Time
-};
-//鐐瑰嚮瀵煎嚭鎸夐挳
-const handleExportExcelWmsBasePlace = async (formData:Blob) => {
- loadingWmsBasePlace.value = true;
- disabled_btnWmsBasePlace.value = true;
- var new_tableParamsWmsBasePlace=JSON.parse(JSON.stringify(tableParamsWmsBasePlace.value));
- new_tableParamsWmsBasePlace.page = 1;
- new_tableParamsWmsBasePlace.pageSize = 100000;
- var res = await pageWmsBasePlace(Object.assign(queryParamsWmsBasePlace.value, new_tableParamsWmsBasePlace));
- if(res.data.type=="success"){
- exportExcelWmsBasePlace(res.data.result?.items ?? []);
- }
- loadingWmsBasePlace.value = false;
- disabled_btnWmsBasePlace.value = false;
-};
-//瀵煎嚭
-const exportExcelWmsBasePlace = async (exportDataList:Array) => {
- exportPageExcel(exportDataList, tableRefWmsBasePlace,"搴撲綅淇℃伅",functionMapWmsBasePlace);
-};
-/***************************************************[搴撲綅淇℃伅瀵煎嚭]缁撴潫***************************************************/
- // 搴撲綅淇℃伅椤甸潰鍔犺浇鏃�
- onMounted(async () => {
- getEnumPlaceTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PlaceTypeEnum')).data.result ?? [];
- getEnumPlaceStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PlaceStatusEnum')).data.result ?? [];
- getEnumIsVirtuallyData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
- getEnumIsDisabledData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
- });
-
- handleQueryWmsBasePlace();
-</script>
-<style scoped>
-:deep(.el-input),
-:deep(.el-select),
-:deep(.el-input-number) {
- width: 100%;
-}
-</style>
-
--
Gitblit v1.9.3