From 84138b3f42b218ecc2efaa54ec31a1c1be29e326 Mon Sep 17 00:00:00 2001
From: liuying <1427574514@qq.com>
Date: 周一, 25 11月 2024 19:30:59 +0800
Subject: [PATCH] 前端页面

---
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/index.vue                  |  605 +++-
 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchase/index.vue                 |  675 +++---
 LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsStockQuan.ts                          |    2 
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/component/ContentView.vue  |   88 
 LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/storageView.ts                           |    4 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchase/component/openAllprop.vue |  122 
 LA24030_LuLiPackageLine_Web/src/views/home/index.vue                                           |  255 +-
 LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderPurchase.ts                          |    6 
 LA24030_LuLiPackageLine_Web/src/views/main/PrintCenter/wmsStockQuanPrint/index.vue             |   68 
 /dev/null                                                                                      | 1774 ----------------
 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderAsn/index.vue                      |  713 +++--
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/component/备份index.vue      |  399 +++
 LA24030_LuLiPackageLine_Web/src/theme/index.scss                                               |    2 
 LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/transitionChart/index.vue          |   12 
 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/wmsOrderAsn/component/openAllprop.vue      | 1159 ++++++++++
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsSubstituteGood/index.vue                 |  470 ++--
 18 files changed, 3,236 insertions(+), 3,166 deletions(-)

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/WmsOrder/wmsOrderPurchase.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderPurchase.ts
index bf891e8..da6522b 100644
--- a/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderPurchase.ts
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderPurchase.ts
@@ -3,8 +3,8 @@
   AddWmsOrderPurchase = '/api/wmsOrderPurchase/add',
   DeleteWmsOrderPurchase = '/api/wmsOrderPurchase/delete',
   UpdateWmsOrderPurchase = '/api/wmsOrderPurchase/update',
-  PageWmsOrderPurchase = '/api/wmsOrderPurchase/page',
-  ListWmsOrderPurchase = '/api/wmsOrderPurchase/list',
+  PageWmsOrderPurchase = '/api/wmsStockQuan/list', ///api/wmsOrderPurchase/page
+  ListWmsOrderPurchase = '/api/wmsStockQuan/list',
   DetailWmsOrderPurchase = '/api/wmsOrderPurchase/detail',
   ImportExcelWmsOrderPurchase = '/api/wmsOrderPurchase/importExcel',
   DownloadExcelTemplateWmsOrderPurchase = '/api/wmsOrderPurchase/downloadExcelTemplate',
@@ -39,7 +39,7 @@
 export const pageWmsOrderPurchase = (params?: any) => 
 	request({
 			url: Api.PageWmsOrderPurchase,
-			method: 'post',
+			method: 'get',
 			data: params,
 		});
 
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/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/PrintCenter/wmsStockQuanPrint/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/PrintCenter/wmsStockQuanPrint/index.vue
index 4e6f171..c715d65 100644
--- a/LA24030_LuLiPackageLine_Web/src/views/main/PrintCenter/wmsStockQuanPrint/index.vue
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/PrintCenter/wmsStockQuanPrint/index.vue
@@ -135,57 +135,39 @@
         <el-table-column align="center" width="60" type="selection"  />
         <el-table-column type="index" fixed="left" 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/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
index 2a322d8..5d3e34b 100644
--- a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsSubstituteGood/index.vue
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsSubstituteGood/index.vue
@@ -1,240 +1,252 @@
 锘�<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>
+	<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="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">
-      <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>
+                        <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">{{ tableData.planNo }}</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.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">{{ ruleForm.length }}</span>
+					</li>
+					<li>
+						<span class="text_left">瀹�:</span>
+						<span class="text_rt">{{ ruleForm.width }}</span>
+					</li>
+					<li>
+						<span class="text_left">鍘�:</span>
+						<span class="text_rt">{{ ruleForm.thk }}</span>
+					</li>
+					<li>
+						<span class="text_left">閮ㄤ欢绾圭悊:</span>
+						<span class="text_rt">{{ ruleForm.matgrid }}</span>
+					</li>
+					<li>
+						<span class="text_left">鏄惁灏佽竟:</span>
+						<span class="text_rt">{{ ruleForm.isEB }}</span>
+					</li>
+					<li>
+						<span class="text_left">鎵撳瓟璁惧缂栧彿:</span>
+						<span class="text_rt">{{ ruleForm.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 { 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 { 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>({});
+const tableParams = ref({
+	page: 1,
+	pageSize: 10,
+	total: 0,
+});
+const getIsDisabledData = [
+	{
+		value: true,
+		text: '鏄�',
+	},
+	{
+		value: false,
+		text: '鍚�',
+	},
+];
+const printWmsSubstituteGoodTitle = ref('');
+const editWmsSubstituteGoodTitle = ref('');
 
-  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 changeAdvanceQueryUI = () => {
+	showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
+};
 
+// 鏌ヨ鎿嶄綔 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 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) => {
+// 鍒楁帓搴�
+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 openAddWmsSubstituteGood = () => {
+	editWmsSubstituteGoodTitle.value = '娣诲姞鏇夸唬鍝佺鐞�';
+	editDialogRef.value.openDialog({});
+};
 
-  // 鎵撳紑鎵撳嵃椤甸潰
-  const openPrintWmsSubstituteGood = async (row: any) => {
-    printWmsSubstituteGoodTitle.value = '鎵撳嵃鏇夸唬鍝佺鐞�';
-  }
-  
-  // 鎵撳紑缂栬緫椤甸潰
-  const openEditWmsSubstituteGood = (row: any) => {
-    editWmsSubstituteGoodTitle.value = '缂栬緫鏇夸唬鍝佺鐞�';
-    editDialogRef.value.openDialog(row);
-  };
+// 鎵撳紑鎵撳嵃椤甸潰
+const openPrintWmsSubstituteGood = async (row: any) => {
+	printWmsSubstituteGoodTitle.value = '鎵撳嵃鏇夸唬鍝佺鐞�';
+};
 
-  // 鍒犻櫎
-  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 openEditWmsSubstituteGood = (row: any) => {
+	editWmsSubstituteGoodTitle.value = '缂栬緫鏇夸唬鍝佺鐞�';
+	editDialogRef.value.openDialog(row);
+};
 
-  // 鏀瑰彉椤甸潰瀹归噺
-  const handleSizeChange = (val: number) => {
-    tableParams.value.pageSize = val;
-    handleQuery();
-  };
+// 鍒犻櫎
+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 handleCurrentChange = (val: number) => {
-    tableParams.value.page = val;
-    handleQuery();
-  };
+// 鏀瑰彉椤甸潰瀹归噺
+const handleSizeChange = (val: number) => {
+	tableParams.value.pageSize = val;
+	handleQuery();
+};
 
-  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),
@@ -242,5 +254,23 @@
 :deep(.el-input-number) {
 	width: 100%;
 }
-</style>
 
+.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/wmsOrderAsn/component/openAllprop.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderAsn/component/openAllprop.vue
new file mode 100644
index 0000000..4491a01
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderAsn/component/openAllprop.vue
@@ -0,0 +1,1159 @@
+<template>
+	<div>
+		<!-- 娣诲姞銆佺紪杈� -->
+		<el-dialog v-model="dialogVisible" width="95%" @close="closeDialog" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<span>{{ dialogType == 'add' ? '娣诲姞' : '缂栬緫' }}</span>
+				</div>
+			</template>
+
+			<el-form :model="addForm" ref="dialogRef" labelWidth="90" :rules="formRules">
+				<el-row>
+					<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb20">
+						<el-form-item label="涓氬姟绫诲瀷" prop="businessType">
+							<el-select clearable v-model="addForm.businessType" placeholder="璇烽�夋嫨涓氬姟绫诲瀷">
+								<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="6" :xl="6" 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="6" :xl="6" class="mb20">
+          <el-form-item label="鏀惰揣閬撳彛" prop="dock">
+            <el-select clearable v-model="addForm.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="6" :xl="6" class="mb20">
+          <el-form-item label="鏀惰揣閬撳彛" prop="dock">
+            <el-input
+              v-model="addForm.dock"
+              placeholder="璇疯緭鍏ユ敹璐ч亾鍙�"
+              maxlength="50"
+              show-word-limit
+              clearable
+            />
+          </el-form-item>
+        </el-col> -->
+
+					<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" 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="6" :xl="6" 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-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="dialogType == 'add'">
+          <el-form-item label="璁㈠崟绫诲瀷:" prop="materialType">
+            <el-select  v-model="addForm.materialType" placeholder="璇烽�夋嫨璁㈠崟绫诲瀷" @change="changDdlx"
+              style="width: 100%">
+              <el-option v-for="item in statusEnums" :key="item.value" :label="item.title" :value="item.value" />
+            </el-select>
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="8" v-if="dialogType == 'edit'">
+          <el-form-item label="璁㈠崟绫诲瀷:" prop="materialType">
+            <el-select v-model="addForm.materialType" disabled placeholder="璇烽�夋嫨璁㈠崟绫诲瀷"  style="width: 100%">
+              <el-option v-for="item in outInTypeEnum" :key="item.value" :label="item.title" :value="item.value" />
+            </el-select>
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="8" v-if="addForm.materialType == 5">
+          <el-form-item label="鍏嶈垂浠剁被鍨�:" prop="freeOrderType">
+            <el-select v-model="addForm.freeOrderType" placeholder="璇烽�夋嫨鍏嶈垂浠剁被鍨�"  style="width: 100%"
+              @change="changMfj" :disabled="dialogType == 'edit'">
+              <el-option v-for="item in statusEnumsMFj" :key="item.value" :label="item.title" :value="item.value" />
+            </el-select>
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="8">
+          <el-form-item label="鍗曞彿:" prop="purchaseNo">
+            <el-input v-model="addForm.purchaseNo" :disabled="dialogType == 'edit'" clearable placeholder="璇疯緭鍏ュ崟鍙�" />
+          </el-form-item>
+        </el-col>
+     
+        <el-col :span="8">
+          <el-form-item label="澶囨敞:">
+            <el-input v-model="addForm.remark" clearable placeholder="璇疯緭鍏ュ娉�" />
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="8">
+          <el-form-item label="棰勮鍒拌揪鏃堕棿:" prop="EstimatedDate">
+            <el-date-picker v-model="addForm.EstimatedDate" type="datetime" :disabled-date="disabledDate"
+              value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss" placeholder="璇烽�夋嫨棰勮鍒拌揪鏃堕棿"
+              style="width: 100%;" />
+          </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 type="primary" icon="el-icon-plus" @click="addMaterialDialog">鏂板鐗╂枡</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" @selection-change="detailsCheckChange" max-height="480">
+					<el-table-column align="center" width="60" type="selection" />
+					<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+					<el-table-column label="鐗╂枡缂栧彿" min-width="140" prop="materialCode" align="center" show-overflow-tooltip />
+					<el-table-column label="鐗╂枡鍚嶇О" min-width="140" prop="materialName" align="center" show-overflow-tooltip />
+
+					<!-- clientCode -->
+					<el-table-column label="瀹㈡埛缂栧彿" v-if="isShowBomBtn" prop="diCustomCode" align="center" min-width="110" />
+					<el-table-column label="瀹㈡埛涓枃鍚嶇О" v-if="isShowBomBtn" prop="diCustomChinaName" align="center" min-width="110" />
+
+					<el-table-column label="琛屽彿" prop="poLineNumber" align="center" min-width="120">
+						<template #default="scope">
+							<el-input v-model.trim="scope.row.poLineNumber" clearable min-width="150" placeholder="璇疯緭鍏ヨ鍙�" />
+						</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="鏁伴噺" align="center" min-width="180">
+						<template #default="scope">
+							<el-input-number :precision="3" min="0" v-model="scope.row.quantity" 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="閲囪喘鍗曚綅" prop="unit" align="center" min-width="80" />
+				</el-table>
+			</div>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="dialogVisible = false">鍙栨秷</el-button>
+					<el-button type="primary" :disabled="load" @click="confirm">纭</el-button>
+				</span>
+			</template>
+		</el-dialog>
+		<!-- 娣诲姞鐗╂枡 -->
+		<el-dialog v-model="addMaterialVisible" title="娣诲姞鐗╂枡璇︽儏" width="60%" @close="closeMaterialDialog">
+			<template #header>
+				<div style="color: #fff">
+					<span>娣诲姞鐗╂枡璇︽儏</span>
+				</div>
+			</template>
+
+			<div class="msi-form" style="padding-top: 0px">
+				<el-form :model="materialForm">
+					<el-row>
+						<el-col :span="8">
+							<el-form-item label="鐗╂枡缂栧彿">
+								<el-input v-model="materialForm.MaterialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" clearable></el-input>
+							</el-form-item>
+						</el-col>
+
+						<!-- <el-col :span="8">
+            <el-form-item label="鐗╂枡澶х被:">
+              <el-input v-model="materialForm.MaterialTypeId" placeholder="璇疯緭鍏ョ墿鏂欏ぇ绫�" clearable></el-input>
+            </el-form-item>
+          </el-col> -->
+
+						<el-col :span="8">
+							<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">
+					<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="140" show-overflow-tooltip />
+					<el-table-column label="鐗╂枡鍚嶇О" prop="materialName" align="center" min-width="140" show-overflow-tooltip />
+					<el-table-column label="閲囪喘鍗曚綅" prop="poUnit" align="center" min-width="140" 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.poId}鐗╂枡璇︽儏`" 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="4">
+								<el-form-item label-width="20px">
+									<el-button type="primary" icon="el-icon-search" @click="getDetail">鏌ヨ</el-button>
+
+									<el-button type="primary" icon="ele-Printer" @click="getPrint">鎵撳嵃</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" border striped :max-height="480">
+						<el-table-column fixed="left" type="index" label="搴忓彿" width="55" align="center" />
+						<!-- <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="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>
+
+					<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>
+
+		<printDialogTestStudent ref="printDialogRefTestStudent" :title="printTestStudentTitle" @reloadTable="handleQueryTestStudent" />
+	</div>
+</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 { getTypeStatus } from '/@/utils/formate';
+
+import { formatDecimalData } from '/@/utils/formate';
+import { expandMore } from '/@/hooks/expandMore';
+import cache from '/@/utils/cache';
+import { pageWmsMaterial } from '/@/api/main/WmsBase/wmsMaterial';
+import { getAPI } from '/@/utils/axios-utils';
+import { SysEnumApi } from '/@/api-services/api';
+
+import printDialogTestStudent from '/@/views/system/print/component/hiprint/preview.vue';
+
+import { addWmsOrderPurchase, updateWmsOrderPurchase, detailWmsOrderPurchase } from '/@/api/main/WmsOrder/wmsOrderPurchase';
+import OpenDetails from '/@/components/openDetails/openDetails.vue';
+import { pageBaseCustomer } from '/@/api/main/WmsBase/baseCustomer';
+import { listWmsOrderPurchaseDetails, pageWmsOrderPurchaseDetails } from '/@/api/main/WmsOrder/wmsOrderPurchaseDetails';
+import { formatDate, formatDate_T_Date, formatDate_T_Time, defaultTimeRange } from '/@/utils/formatTime';
+import commonFunction from '/@/utils/commonFunction';
+import { handleSlectDataWmsBusinessType } from '/@/utils/selectData';
+// 鎺ㄨ崘璁剧疆鎿嶄綔 width 涓� 200
+import { hiprint } from 'vue-plugin-hiprint';
+import { SysPrintApi } from '/@/api-services/api';
+import { SysPrint } from '/@/api-services/models';
+
+const moveType = 10; //绉诲姩绫诲瀷 鍏ュ簱
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+const getEnumOrderTypeData = ref<any>([]);
+
+const getEnumDockData = ref<any>([]);
+const getBusinessTypeData_Index = ref<any>([]); //涓氬姟绫诲瀷 create by liuwq
+// const getEnumBusinessTypeData = ref<any>([]); update by liuwq
+const getEnumPoStatusData = ref<any>([]);
+const { getEnumDesc } = commonFunction();
+const emits = defineEmits(['getTabelData']);
+const getEnumPoDetailStatusData_Index = ref<any>([]);
+const getEnumOrderTypeData_Index = 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);
+
+
+
+const getEnumStockStatusData_Index = ref<any>([]);
+  const getEnumLockStatusData_Index = ref<any>([]);
+// 鐧诲綍鐢ㄦ埛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) => {
+	if (param && param == 1) {
+		outVisible2.value = true;
+		return;
+	}
+	if (outerForm2.value.purchaseNo == '') {
+		ElMessage.warning('璇疯緭鍏ュ崟鍙�');
+		return;
+	}
+};
+//鍏抽棴鍑哄簱绐楀彛鐨勫洖璋�
+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 = '';
+		}
+	}
+};
+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 detailForm = ref({
+	poId: '',
+	materialCode: '',
+	Page: 1,
+	PageSize: 10,
+});
+
+// 鐗╂枡璇︽儏鎶藉眽
+const drawerVisible = ref(false);
+const drawerType = ref('drawerAll');
+// const
+//鍗曞彿
+const purchaseNo = ref('');
+
+//鎵撳紑鎶藉眽
+const openDrawer = async (type: number, scope: any = {}, entozhExcell?: any) => {
+	detailForm.value.Page = 1; //bug:鐐圭紪杈�-鍐嶇偣璇︽儏
+	detailForm.value.PageSize = 10; //bug:鐐圭紪杈�-鍐嶇偣璇︽儏
+	if (scope.packageCode) {
+		title.value = `${scope.packageCode}`;
+	}
+	drawerType.value = 'drawerAll';
+	drawerVisible.value = true;
+	//褰撳墠鍏ュ簱鍗曞彿id
+	detailForm.value.poId = scope.id;
+	//鍏ュ簱鍗�
+	purchaseNo.value = scope.packageCode;
+	debugger;
+	detailForm.value.poId = scope.id;
+	//鑾峰彇鐗╂枡鍒楄〃
+	if (detailForm.value.poId == '') {
+		drawerList.value = [];
+		detailCount.value = 0;
+		return;
+	}
+	//------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+	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
+
+	// 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 ?? [];
+	//----------------鐗╂枡鏄庣粏
+	// 鏍规嵁鐘舵�佽浆涓枃 淇濈暀3浣嶅皬鏁�
+	let scopetrans = JSON.parse(JSON.stringify(scope));
+	// scopetrans.totalquantity = Number(scopetrans.totalquantity).toFixed(3);
+	nextTick(() => {
+		scopetrans.poStatus = getEnumDesc(scopetrans.poStatus, getEnumPoDetailStatusData_Index.value);
+		scopetrans.businessType = getEnumDesc(scopetrans.businessType, getBusinessTypeData_Index.value);
+		scopetrans.orderType = getEnumDesc(scopetrans.orderType, getEnumOrderTypeData_Index.value);
+		proxy.$refs['propDetailRef'].openADialog(scopetrans, entozhExcell);
+	});
+};
+
+//鍏抽棴鎶藉眽
+const handleDrawerClose = () => {
+	detailForm.value = {
+		poId: '',
+		materialCode: '',
+		Page: 1,
+		PageSize: 10,
+	};
+	deltailList.value = [];
+	detailCount.value = 0;
+	drawerList.value = [];
+	detailCount.value = 0;
+};
+
+//鐗╂枡璇︽儏绫诲瀷
+interface DetailType {
+	id: number;
+}
+
+//鍏ュ簱鍗曡鎯呭垪琛�
+const deltailList = ref<DetailType[]>([]);
+//寮瑰嚭灞傛暟鎹�
+const drawerList = ref<DetailType[]>([]);
+
+//鍏ュ簱鍗曡鎯呭垪琛ㄦ暟鎹潯鏁�
+const detailCount = ref(0);
+
+//寮瑰嚭灞傛爣棰�
+let title = ref('');
+//鑾峰彇鍏ュ簱鍗曚笅鐗╂枡璇︽儏
+const getDetail = async (callback?: any) => {
+	loading.value = true;
+
+	var res = await pageWmsOrderPurchaseDetails(Object.assign(detailForm.value));
+	if (callback == 1) {
+		//缂栬緫鍏ュ彛
+		warehousOrderDetails.value = res.data.result?.items ?? [];
+		detailCount.value = res.data.result?.total;
+	} else {
+		drawerList.value = res.data.result?.items ?? [];
+		detailCount.value = res.data.result?.total;
+	}
+	loading.value = false;
+};
+// ----------------鏂板銆佺紪杈�-------------------------------
+//绐楀彛绫诲瀷
+const dialogType = ref('add');
+
+const dialogVisible = ref(false);
+
+//娣诲姞缂栬緫琛ㄥ崟ref
+const dialogRef = ref();
+
+//娣诲姞/缂栬緫鍙傛暟
+let addForm = ref({
+	createdTime: '',
+	updatedTime: '',
+	createdUserName: '',
+	createdUserId: '',
+	purchaseNo: '',
+	purchaserUserId: 0,
+	basicExpressInfoCode: null,
+	materialType: '', //5
+	status: 0,
+	supplierCode: '',
+	supplierName: '',
+	remark: '',
+	deliveryType: 1,
+	EstimatedDate: '',
+	purchaseOrderDetails: [] as any[],
+	dI_NO: '',
+	sJ_NO: '',
+	machineToolTypeName: '',
+	machineToolNo: '',
+	freeOrderType: '',
+});
+
+//rules
+const formRules = {
+	businessType: [{ required: true, message: '璇烽�夋嫨涓氬姟绫诲瀷锛�', trigger: 'change' }],
+	supplierCode: [{ required: true, message: '璇疯緭鍏ヤ緵搴斿晢锛�', trigger: 'blur' }],
+	purchaseNo: [{ required: true, message: '璇疯緭鍏O鍗曞彿锛�', trigger: 'blur' }],
+	orderTypeName: [{ required: true, message: '璇疯緭鍏ヨ鍗曠被鍨嬪悕绉帮紒', trigger: 'blur' }],
+};
+//鎵撳紑鏂板銆佺紪杈戠獥鍙�
+const openDialog = async (type: number, scope: any = {}) => {
+	handleQueryTdp();
+	getEnumOrderTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? [];
+	getBusinessTypeData_Index.value = await handleSlectDataWmsBusinessType(moveType); //涓嬫媺璇诲彇涓氬姟绫诲瀷鎺ュ彛 create  by liuwq
+	getEnumPoStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+
+	getEnumDockData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('DockEnum')).data.result ?? [];
+
+	if (type == 1) {
+		detailForm.value.PageSize = 10;
+		dialogType.value = 'add';
+	} else {
+		dialogType.value = 'edit';
+		detailForm.value.PageSize = 1000;
+		addForm.value = { ...scope };
+
+		console.log(addForm.value);
+		detailForm.value.poId = scope.id;
+		//鑾峰彇鐗╂枡 - 鍥炶皟鍑芥暟鏇挎崲瀹氭椂鍣�
+
+		//------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+		getDetail(1);
+		//----------------鐗╂枡鏄庣粏
+	}
+	dialogVisible.value = true;
+	load.value = false;
+	//娓呴櫎閫変腑椤�
+	nextTick(() => {
+		if (dialogRef.value) {
+			dialogRef.value.clearValidate();
+		}
+	});
+};
+
+//鐗╂枡璇︽儏鐨則able ref
+const detailRef = ref();
+const setRowKey = (row: any) => {
+	return row.id + row.poLineNumber;
+};
+//鍏抽棴绐楀彛
+const closeDialog = () => {
+	load.value = false;
+	addForm.value = {
+		createdTime: '',
+		updatedTime: '',
+		createdUserName: '',
+		createdUserId: '',
+		purchaseNo: '',
+		purchaserUserId: 0,
+		basicExpressInfoCode: null,
+		materialType: '', //5
+		status: 0,
+		supplierCode: '',
+		supplierName: '',
+		remark: '',
+		deliveryType: 1,
+		EstimatedDate: '',
+		purchaseOrderDetails: [] as any[],
+		dI_NO: '',
+		sJ_NO: '',
+		machineToolTypeName: '',
+		machineToolNo: '',
+		freeOrderType: '',
+	};
+	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 = () => {
+	ElMessageBox.confirm('鏄惁纭鍒犻櫎锛�', '鎻愮ず', {
+		confirmButtonText: '纭',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(() => {
+			let arr = [];
+			if (checkedDetails.value[0].diRelationID) {
+				checkedDetails.value.forEach((item) => {
+					console.log(item);
+					let index = warehousOrderDetails.value.findIndex((detail) => detail.code == item.code && detail.diRelationID == item.diRelationID);
+					if (index > -1) {
+						warehousOrderDetails.value.splice(index, 1);
+					}
+				});
+			} else {
+				checkedDetails.value.forEach((item) => {
+					let index = warehousOrderDetails.value.findIndex((detail) => detail.code == item.code && detail.poLineNumber == item.poLineNumber);
+					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 load = ref(false);
+//缂栬緫銆佹坊鍔犳彁浜�
+const confirm = () => {
+	dialogRef.value.validate(async (vali: any) => {
+		if (vali) {
+			console.log('纭');
+			if (warehousOrderDetails.value.length < 0) {
+				ElMessage.warning('璇烽�夋嫨鐗╂枡');
+				return;
+			}
+			let idx = warehousOrderDetails.value.findIndex((v) => v.poLineNumber == '' || v.poLineNumber == undefined);
+			if (idx > -1) {
+				ElMessage.warning('璇疯緭鍏ヨ鍙�');
+				return;
+			}
+			let isNext = '';
+			warehousOrderDetails.value.forEach((item) => {
+				const arr: any = warehousOrderDetails.value.filter((detail) => detail.poLineNumber == item.poLineNumber);
+				if (arr.length > 1) {
+					isNext = `琛屽彿锛�${arr[0].poLineNumber}涓嶈兘鐩稿悓`;
+					return;
+				}
+			});
+			if (isNext != '') {
+				ElMessage.warning(isNext);
+				return;
+			}
+
+			let idx2 = warehousOrderDetails.value.findIndex((v) => v.quantity == '' || v.quantity == undefined || v.quantity <= 0);
+			if (idx2 > -1) {
+				ElMessage.warning('鏁伴噺涓嶅悎瑙勮寖锛�');
+				return;
+			}
+			addForm.value.purchaseOrderDetails = [];
+			warehousOrderDetails.value.forEach((item) => {
+				const obj = {
+					poId: item.poId || 0,
+					materialCode: item.materialCode,
+					materialName: item.materialName,
+					id: item.id || '',
+					quantity: item.quantity,
+					barNo: item.barNo,
+					remark: addForm.value.remark,
+					poLineNumber: item.poLineNumber,
+					materialType: item.deliveryType,
+					clientCode: item.diCustomCode || '',
+					clientChinaName: item.diCustomChinaName || '',
+					plannedStartTime: item.plannedStartTime,
+					plannedEndTime: item.plannedEndTime,
+					projectNo: item.projectNo,
+					erpCode: item.erpCode,
+					supplierBatch: item.supplierBatch,
+					unit: item.unit,
+				};
+				addForm.value.purchaseOrderDetails.push(obj);
+			});
+			load.value = true;
+			//娣诲姞
+			if (dialogType.value == 'add') {
+				load.value = true;
+				let res = await addWmsOrderPurchase(addForm.value);
+				if (res.data && res.data.code == 200) {
+					ElMessage.success('娣诲姞鎴愬姛');
+					dialogVisible.value = false;
+					emits('getTabelData');
+				}
+				load.value = false;
+			} else {
+				load.value = true;
+				let res = await updateWmsOrderPurchase(addForm.value);
+				if (res.data && res.data.code == 200) {
+					ElMessage.success('缂栬緫鎴愬姛');
+					dialogVisible.value = false;
+					emits('getTabelData');
+				}
+				load.value = false;
+			}
+		} else {
+			ElMessage.warning('琛ㄥ崟楠岃瘉澶辫触');
+		}
+	});
+};
+// -----------------娣诲姞鐗╂枡鎿嶄綔-------------------------
+//鐗╂枡鍩虹鏁版嵁绐楀彛
+const addMaterialVisible = ref(false);
+
+//鐗╂枡鍩虹鏁版嵁鍒楄〃
+const materialList = ref([]);
+
+//鐗╂枡鍩虹鏁版嵁鏉℃暟
+const materialTotal = ref(0);
+
+//鐗╂枡鍩虹鏁版嵁form
+const materialForm = ref({
+	MaterialTypeId: '',
+	Code: '',
+	MaterialCode: '',
+	// MaterialType: 1,
+	Page: 1,
+	PageSize: 10,
+});
+
+//鑾峰彇鐗╂枡鍩虹鍒楄〃
+const getMaterialList = async () => {
+	loading.value = true;
+	// var res = await pageWmsMaterial(Object.assign(queryParams.value, tableParams.value));
+	var res = await pageWmsMaterial(Object.assign(materialForm.value));
+
+	materialList.value = res.data.result?.items ?? [];
+	//tableParams.value.total = res.data.result?.total;
+	materialTotal.value = res.data.result?.total;
+	loading.value = false;
+};
+
+//閲嶇疆鐗╂枡
+const resetMaterialForm = () => {
+	materialForm.value = {
+		MaterialTypeId: '',
+		Code: '',
+		MaterialCode: '',
+		Page: 1,
+		// MaterialType: 1,
+		PageSize: 10,
+	};
+	getMaterialList();
+};
+
+//閫変腑鐨勫熀纭�鐗╂枡鏁版嵁
+const checkedMaterial = ref<any[]>([]);
+
+//鐗╂枡鍩虹鏁版嵁鍕鹃��
+const materialSelectionChange = (val: any) => {
+	checkedMaterial.value = val;
+};
+
+//鎵撳紑鏂板鐗╂枡绐楀彛
+const addMaterialDialog = () => {
+	// if ( addForm.value.freeOrderType && isShowBomBtn.value ) {
+	//   ElMessage.warning("鍏嶈垂浠剁被鍨嬫槸PR2锛屽彧鑳芥柊澧濪I缁存姢鐨勭墿鏂欙紒");
+	//   return;
+	// }
+	getMaterialList();
+	addMaterialVisible.value = true;
+};
+
+//鍩虹鐗╂枡table鐨剅ef瀵硅薄
+const materialRef = ref();
+
+//纭娣诲姞鏉愭枡
+const confirmAddMaterial = () => {
+	//鐗╂枡鍒楄〃娌℃暟鎹紝鐩存帴娣诲姞
+	if (warehousOrderDetails.value.length == 0) {
+		// 鑷姩缁欒鍙峰鍊�
+		checkedMaterial.value.forEach((item, index) => {
+			item.unit = item.poUnit;
+			if (!item.poLineNumber) {
+				item.poLineNumber = index + 1 + warehousOrderDetails.value.length;
+			}
+		});
+
+		warehousOrderDetails.value.push(...checkedMaterial.value);
+	} else {
+		for (let i = 0; i < checkedMaterial.value.length; i++) {
+			let idx = warehousOrderDetails.value.findIndex(
+				(item: { poLineNumber: any; code: any }) => item.code == checkedMaterial.value[i].code && item.poLineNumber == checkedMaterial.value[i].poLineNumber
+			);
+			if (idx > -1) {
+				return ElMessage.warning(`鐗╂枡缂栧彿${checkedMaterial.value[i].code}锛岃鍙凤細${checkedMaterial.value[i].poLineNumber || ''}鍦ㄧ墿鏂欏垪琛ㄤ腑宸插瓨鍦�,璇峰幓闄ゅ嬀閫塦);
+			}
+		}
+
+		// 鑷姩缁欒鍙峰鍊�
+		checkedMaterial.value.forEach((item, index) => {
+			item.unit = item.poUnit;
+			if (!item.poLineNumber) {
+				item.poLineNumber = index + 1 + warehousOrderDetails.value.length;
+			}
+		});
+		warehousOrderDetails.value.push(...checkedMaterial.value);
+	}
+
+	addMaterialVisible.value = false;
+};
+
+//鍏抽棴鏂板鐗╂枡绐楀彛
+const closeMaterialDialog = () => {
+	materialForm.value = {
+		MaterialTypeId: '',
+		Code: '',
+		Page: 1,
+		// MaterialType: 1,
+		PageSize: 10,
+	};
+	materialList.value = [];
+	checkedMaterial.value = [];
+	materialRef.value.clearSelection();
+};
+
+// 椤甸潰鍔犺浇鏃�
+onMounted(async () => {});
+
+//================
+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 printDialogRefTestStudent = ref();
+const printTestStudentTitle = ref('');
+//鎵撳嵃
+const getPrint = async (row?: any) => {
+	printTestStudentTitle.value = '鎵撳嵃';
+	var res = await getAPI(SysPrintApi).apiSysPrintPrintNameGet('娴嬭瘯鎵撳嵃妯$増');
+	var printTemplate = res.data.result as SysPrint;
+	var template = JSON.parse(printTemplate.template);
+	var resList = await listWmsOrderPurchaseDetails(detailForm.value);
+	var printData = resList.data.result || [];
+	printData.forEach((item: any, index?: any) => {
+		item.no = index + 1;
+	});
+	//鎵撳嵃鏁版嵁
+	var row: any = {
+		text1: title.value, //鍗曞彿
+		table: printData, //琛ㄦ牸鏁版嵁
+	};
+	printDialogRefTestStudent.value.showDialog(new hiprint.PrintTemplate({ template: template }), row, template.panels[0].width);
+};
+
+// 鏆撮湶鏂规硶
+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/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
index 9144030..7caf6ee 100644
--- a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderAsn/index.vue
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderAsn/index.vue
@@ -1,242 +1,274 @@
 锘�<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鍗曞彿" />
+	<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-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-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-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-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.asnStatusName" clearable="" placeholder="璇疯緭鍏ュ崟鎹姸鎬佸悕绉�"/>
+              <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.trackingNumber" clearable="" placeholder="璇疯緭鍏ョ墿娴佸崟鍙�" />
+					<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-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-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="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 :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="openAddWmsOrderPurchase" v-auth="'wmsOrderPurchase:add'"> 鏂板 </el-button> -->
+								<!-- 鏂板PO鍗�-ly -->
+								<!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="showProp(1)"> 鏂板 </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">
+			<div class="table-container">
+				<!-- 宸︿晶琛ㄦ牸 -->
+				<div class="left-table">
+					<p class="text-xtiny">榻愬鍒楄〃</p>
 
-          </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
+						: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 type="index" label="搴忓彿" width="55" align="center" />
-        <!-- <el-table-column prop="purchaseNo" label="PO鍗曞彿"  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>
 
-        <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>
+				<!-- 鍙充晶琛ㄦ牸 -->
+				<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="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>
 
-        <!-- 
-          <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>
+		<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";
+<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 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 { 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 { handleSlectDataWmsBusinessType } from "/@/utils/selectData";
-import {
-formatUtcToData,
-  getTypeStatus
-} from "/@/utils/formate";
-
-import OpenAllprop from "./component/openAllpropAsn.vue";
-import { ExcellTableDataExport } from "/@/hooks/exportTableDataExcell";
+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 moveType = 10; //绉诲姩绫诲瀷 鍏ュ簱
 // ------------灏佽瀵煎嚭鍔熻兘--鍓嶇瀵煎嚭+琛ㄦ牸鏍囬---------------
 const jsonExcellTableExport = {
-  titleName: "", //瀵煎嚭琛ㄦ牸鍚嶇О
-  interfaceListName: '',//瀵煎嚭鎺ュ彛鍚嶇О
-}
-const { getExportTitle, handleExportExcell, formExport, entozhExcell } = ExcellTableDataExport(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 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);
-}
+	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 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();
@@ -244,183 +276,242 @@
 const tableData = ref<any>([]);
 const queryParams = ref<any>({});
 const tableParams = ref({
-  page: 1,
-  pageSize: 10,
-  total: 0,
+	page: 1,
+	pageSize: 10,
+	total: 0,
 });
 
-const printWmsOrderAsnTitle = ref("");
-const editWmsOrderAsnTitle = ref("");
+const printWmsOrderPurchaseTitle = ref('');
+const editWmsOrderPurchaseTitle = ref('');
 
 // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
 const changeAdvanceQueryUI = () => {
-  showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
-}
+	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 '鏂拌〃鏍煎鍑烘爣棰�';
+};
 
 // 鏌ヨ鎿嶄綔
 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;
- 
+	loading.value = true;
+	var res = await pageWmsOrderPurchase(Object.assign(queryParams.value, tableParams.value));
+	tableData.value = res.data.result ?? [];
+
+	newTableData.value = res.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();
+	queryParams.value.field = column.prop;
+	queryParams.value.order = column.order;
+	await handleQuery();
 };
 
 // 鎵撳紑鏂板椤甸潰
-const openAddWmsOrderAsn = () => {
-  editWmsOrderAsnTitle.value = '娣诲姞ASN涓�';
-  editDialogRef.value.openDialog({});
+const openAddWmsOrderPurchase = () => {
+	editWmsOrderPurchaseTitle.value = '娣诲姞PO鍗�';
+	editDialogRef.value.openDialog({});
 };
 
 // 鎵撳紑鎵撳嵃椤甸潰
-const openPrintWmsOrderAsn = async (row: any) => {
-  printWmsOrderAsnTitle.value = '鎵撳嵃ASN涓�';
-}
+const openPrintWmsOrderPurchase = async (row: any) => {
+	printWmsOrderPurchaseTitle.value = '鎵撳嵃PO鍗�';
+};
 
 // 鎵撳紑缂栬緫椤甸潰
-const openEditWmsOrderAsn = (row: any) => {
-  editWmsOrderAsnTitle.value = '缂栬緫ASN涓�';
-  editDialogRef.value.openDialog(row);
+const openEditWmsOrderPurchase = (row: any) => {
+	editWmsOrderPurchaseTitle.value = '缂栬緫PO鍗�';
+	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 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();
+	tableParams.value.pageSize = val;
+	handleQuery();
 };
 
 // 鏀瑰彉椤电爜搴忓彿
 const handleCurrentChange = (val: number) => {
-  tableParams.value.page = val;
-  handleQuery();
+	tableParams.value.page = val;
+	handleQuery();
 };
+
 // 鏍规嵁businessTypeValue鑾峰彇businessTypeName
 const getBusinessTypeByValue = (key: any, itemLst: any) => {
-
-return itemLst.find((x: any) => x.businessTypeValue == key)?.businessTypeName;
+	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 ?? [];
-  });
+//================
+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 printWmsOrderDeliverTitle = ref('');
+const editWmsOrderDeliverTitle = ref('');
+const importExcelTitleWmsOrderDeliver = ref('');
 const importExcelDialogRefWmsOrderDeliver = ref();
 //鎵撳紑瀵煎叆鐣岄潰
 const openImportExcelWmsOrderDeliver = () => {
-  importExcelTitleWmsOrderDeliver.value = '瀵煎叆ASN鍗�';
-  importExcelDialogRefWmsOrderDeliver.value.openDialog({});
+	importExcelTitleWmsOrderDeliver.value = '瀵煎叆PO鍗�';
+	importExcelDialogRefWmsOrderDeliver.value.openDialog({});
 };
 //瀵煎叆鏁版嵁
 const handleImportExcelWmsOrderDeliver = async (formData: Blob) => {
-  var result = await importExcelWmsOrderAsn(formData);
-  importExcelDialogRefWmsOrderDeliver.value.callBackUploadFun(result.data);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
-  if (result.data.type == "success") {
-    handleQuery();
-  }
+	var result = await importExcelWmsOrderPurchase(formData);
+	importExcelDialogRefWmsOrderDeliver.value.callBackUploadFun(result.data); //鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+	if (result.data.type == 'success') {
+		handleQuery();
+	}
 };
 //涓嬭浇瀵煎叆妯℃澘
 const handleDownExcelWmsOrderDeliver = async () => {
-  var result = await downloadExcelTemplateWmsOrderAsn();
-  importExcelDialogRefWmsOrderDeliver.value.callBackDownFun(result);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+	var result = await downloadExcelTemplateWmsOrderPurchase();
+	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); // 閲婃斁鍐呭瓨
-      }
-    })
+	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); // 閲婃斁鍐呭瓨
+		}
+	});
 };
-
-
-
-
-// 鍏抽棴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%;
+	width: 100%;
 }
 
 .under_line {
-  color: #F18201;
-  text-decoration: underline;
-  cursor: pointer;
+	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/WmsOrder/wmsOrderPurchase/component/openAllprop.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchase/component/openAllprop.vue
index edd6923..4491a01 100644
--- a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchase/component/openAllprop.vue
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchase/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"))
 
@@ -653,18 +627,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 +647,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/wmsOrderPurchase/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchase/index.vue
index 092bab5..14310c0 100644
--- a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchase/index.vue
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchase/index.vue
@@ -1,95 +1,79 @@
 <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鍗曞彿,椤圭洰鍙�" />
+	<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-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-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-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-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-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="渚涘簲鍟�" 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-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"
@@ -97,176 +81,186 @@
                 :label="`${item.describe}`"
               ></el-option>
             </el-select> -->
-         <!--   </el-form-item>
+					<!--   </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-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-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 :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="openAddWmsOrderPurchase" v-auth="'wmsOrderPurchase:add'"> 鏂板 </el-button> -->
+								<!-- 鏂板PO鍗�-ly -->
+								<!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="showProp(1)"> 鏂板 </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">
+			<div class="table-container">
+				<!-- 宸︿晶琛ㄦ牸 -->
+				<div class="left-table">
+					<p class="text-xtiny">榻愬寘鍒楄〃</p>
 
-          </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
+						: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 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="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>
 
-        <el-table-column prop="businessTypeName" label="涓氬姟绫诲瀷" show-overflow-tooltip="" min-width="90px">
-          <template #default="scope">
-            {{ scope.row.businessTypeName }}
-          </template>
-        </el-table-column>
+				<!-- 鍙充晶琛ㄦ牸 -->
+				<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="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>
 
-        <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>
+		<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 { 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 { 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 {
-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";
+	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";
+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 moveType = 10; //绉诲姩绫诲瀷 鍏ュ簱
 // ------------灏佽瀵煎嚭鍔熻兘--鍓嶇瀵煎嚭+琛ㄦ牸鏍囬---------------
 const jsonExcellTableExport = {
-  titleName: "", //瀵煎嚭琛ㄦ牸鍚嶇О
-  interfaceListName: '',//瀵煎嚭鎺ュ彛鍚嶇О
-}
-const { getExportTitle, handleExportExcell, formExport, entozhExcell } = ExcellTableDataExport(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);
-  }
-}
+	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);
-}
+	proxy.$refs['propALlProp'].openDrawer(type, item, entozhExcell);
+};
 // ---------------end璇︽儏-----------------------
 
-
-const getBusinessTypeData_Index = ref<any>([]);//涓氬姟绫诲瀷 create by liuwq
+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>([]);
@@ -282,205 +276,242 @@
 const tableData = ref<any>([]);
 const queryParams = ref<any>({});
 const tableParams = ref({
-  page: 1,
-  pageSize: 10,
-  total: 0,
+	page: 1,
+	pageSize: 10,
+	total: 0,
 });
 
-const printWmsOrderPurchaseTitle = ref("");
-const editWmsOrderPurchaseTitle = ref("");
+const printWmsOrderPurchaseTitle = ref('');
+const editWmsOrderPurchaseTitle = ref('');
 
 // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
 const changeAdvanceQueryUI = () => {
-  showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
-}
+	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 '鏂拌〃鏍煎鍑烘爣棰�';
+};
 
 // 鏌ヨ鎿嶄綔
 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 ?? [];
+	loading.value = true;
+	var res = await pageWmsOrderPurchase(Object.assign(queryParams.value, tableParams.value));
+	tableData.value = res.data.result ?? [];
 
-  getEnumPoStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+	newTableData.value = res.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();
+	queryParams.value.field = column.prop;
+	queryParams.value.order = column.order;
+	await handleQuery();
 };
 
 // 鎵撳紑鏂板椤甸潰
 const openAddWmsOrderPurchase = () => {
-  editWmsOrderPurchaseTitle.value = '娣诲姞PO鍗�';
-  editDialogRef.value.openDialog({});
+	editWmsOrderPurchaseTitle.value = '娣诲姞PO鍗�';
+	editDialogRef.value.openDialog({});
 };
 
 // 鎵撳紑鎵撳嵃椤甸潰
 const openPrintWmsOrderPurchase = async (row: any) => {
-  printWmsOrderPurchaseTitle.value = '鎵撳嵃PO鍗�';
-}
+	printWmsOrderPurchaseTitle.value = '鎵撳嵃PO鍗�';
+};
 
 // 鎵撳紑缂栬緫椤甸潰
 const openEditWmsOrderPurchase = (row: any) => {
-  editWmsOrderPurchaseTitle.value = '缂栬緫PO鍗�';
-  editDialogRef.value.openDialog(row);
+	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(() => { });
+	ElMessageBox.confirm(`纭畾瑕佸彇娑堝悧?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			await deleteWmsOrderPurchase(row);
+			handleQuery();
+			ElMessage.success('鍙栨秷鎴愬姛');
+		})
+		.catch(() => {});
 };
 
 // 鏀瑰彉椤甸潰瀹归噺
 const handleSizeChange = (val: number) => {
-  tableParams.value.pageSize = val;
-  handleQuery();
+	tableParams.value.pageSize = val;
+	handleQuery();
 };
 
 // 鏀瑰彉椤电爜搴忓彿
 const handleCurrentChange = (val: number) => {
-  tableParams.value.page = val;
-  handleQuery();
+	tableParams.value.page = val;
+	handleQuery();
 };
 
 // 鏍规嵁businessTypeValue鑾峰彇businessTypeName
 const getBusinessTypeByValue = (key: any, itemLst: any) => {
-
-  return itemLst.find((x: any) => x.businessTypeValue == key)?.businessTypeName;
+	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: "渚涘簲鍟�",
+	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 ?? [];
+	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 ?? [];
+	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 ?? [];
+	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 ?? [];
-  });
+	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 printWmsOrderDeliverTitle = ref('');
+const editWmsOrderDeliverTitle = ref('');
+const importExcelTitleWmsOrderDeliver = ref('');
 const importExcelDialogRefWmsOrderDeliver = ref();
 //鎵撳紑瀵煎叆鐣岄潰
 const openImportExcelWmsOrderDeliver = () => {
-  importExcelTitleWmsOrderDeliver.value = '瀵煎叆PO鍗�';
-  importExcelDialogRefWmsOrderDeliver.value.openDialog({});
+	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();
-  }
+	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);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+	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); // 閲婃斁鍐呭瓨
-      }
-    })
+	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%;
+	width: 100%;
 }
 
 .under_line {
-  color: #F18201;
-  text-decoration: underline;
-  cursor: pointer;
+	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/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绉掍竴娆℃煡璇€��
 });
 
 

--
Gitblit v1.9.3