From 83a982e1e889cb8f6ba03cab92b222d83434a398 Mon Sep 17 00:00:00 2001
From: wxw <Administrator@DESKTOP-5BIMHQ3>
Date: 星期五, 06 九月 2024 16:55:50 +0800
Subject: [PATCH] 新增箱码明细表;开发分拣码垛绑定任务功能

---
 Admin.NET/WCS.Application/Service/WcsDevice/WcsDeviceService.cs |    2 
 Admin.NET/WCS.Application/Entity/WcsBoxInfo.cs                  |  125 +++++++++++++++++++++++++
 Web/src/views/device/sortPallet/index.vue                       |   92 +++++++++++++++--
 Admin.NET/WCS.Application/Entity/WcsCheckTask.cs                |   32 +++--
 4 files changed, 224 insertions(+), 27 deletions(-)

diff --git a/Admin.NET/WCS.Application/Entity/WcsBoxInfo.cs b/Admin.NET/WCS.Application/Entity/WcsBoxInfo.cs
new file mode 100644
index 0000000..39c0c30
--- /dev/null
+++ b/Admin.NET/WCS.Application/Entity/WcsBoxInfo.cs
@@ -0,0 +1,125 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Admin.NET.Core;
+namespace WCS.Application.Entity;
+
+/// <summary>
+/// 绠辩爜鏄庣粏琛�
+/// </summary>
+[SugarTable("WCSBoxInfo","绠辩爜鏄庣粏琛�")]
+[Tenant("1300000000001")]
+public class WcsBoxInfo  : EntityBaseData
+{
+    /// <summary>
+    /// 鎵樼洏鍙�
+    /// </summary>
+    [SugarColumn(ColumnName = "PalletNo", ColumnDescription = "鎵樼洏鍙�", Length = 20)]
+    public string? PalletNo { get; set; }
+    
+    /// <summary>
+    /// 鐗╂枡缂栫爜
+    /// </summary>
+    [SugarColumn(ColumnName = "SkuNo", ColumnDescription = "鐗╂枡缂栫爜", Length = 20)]
+    public string? SkuNo { get; set; }
+    
+    /// <summary>
+    /// 鐗╂枡鍚嶇О
+    /// </summary>
+    [SugarColumn(ColumnName = "SkuName", ColumnDescription = "鐗╂枡鍚嶇О", Length = 20)]
+    public string? SkuName { get; set; }
+    
+    /// <summary>
+    /// 鎵规鍙�
+    /// </summary>
+    [SugarColumn(ColumnName = "LotNo", ColumnDescription = "鎵规鍙�", Length = 20)]
+    public string? LotNo { get; set; }
+    
+    /// <summary>
+    /// 鎵规鎻忚堪
+    /// </summary>
+    [SugarColumn(ColumnName = "LotText", ColumnDescription = "鎵规鎻忚堪", Length = 50)]
+    public string? LotText { get; set; }
+    
+    /// <summary>
+    /// 渚涘簲鍟嗕唬鐮�
+    /// </summary>
+    [SugarColumn(ColumnName = "Custom", ColumnDescription = "渚涘簲鍟嗕唬鐮�", Length = 20)]
+    public string? Custom { get; set; }
+    
+    /// <summary>
+    /// 渚涘簲鍟嗗悕绉�
+    /// </summary>
+    [SugarColumn(ColumnName = "CustomName", ColumnDescription = "渚涘簲鍟嗗悕绉�", Length = 50)]
+    public string? CustomName { get; set; }
+    
+    /// <summary>
+    /// 鐢熶骇鏃ユ湡
+    /// </summary>
+    [SugarColumn(ColumnName = "ProductionTime", ColumnDescription = "鐢熶骇鏃ユ湡")]
+    public DateTime? ProductionTime { get; set; }
+    
+    /// <summary>
+    /// 杩囨湡鏃ユ湡
+    /// </summary>
+    [SugarColumn(ColumnName = "ExpirationTime", ColumnDescription = "杩囨湡鏃ユ湡")]
+    public DateTime? ExpirationTime { get; set; }
+    
+    /// <summary>
+    /// 浜х嚎
+    /// </summary>
+    [SugarColumn(ColumnName = "LineNo", ColumnDescription = "浜х嚎", Length = 20)]
+    public string? LineNo { get; set; }
+    
+    /// <summary>
+    /// 鐗╂枡瑙勬牸
+    /// </summary>
+    [SugarColumn(ColumnName = "Standard", ColumnDescription = "鐗╂枡瑙勬牸", Length = 20)]
+    public string? Standard { get; set; }
+    
+    /// <summary>
+    /// 鍖呰瑙勬牸
+    /// </summary>
+    [SugarColumn(ColumnName = "PackageStandard", ColumnDescription = "鍖呰瑙勬牸", Length = 20)]
+    public string? PackageStandard { get; set; }
+    
+    /// <summary>
+    /// 鍖呰鍗曚綅
+    /// </summary>
+    [SugarColumn(ColumnName = "PackUnit", ColumnDescription = "鍖呰鍗曚綅", Length = 20)]
+    public string? PackUnit { get; set; }
+    
+    /// <summary>
+    /// 瀛樺偍鏈熻嚦
+    /// </summary>
+    [SugarColumn(ColumnName = "StoreTime", ColumnDescription = "瀛樺偍鏈熻嚦")]
+    public DateTime? StoreTime { get; set; }
+    
+    /// <summary>
+    /// 闆剁鏍囪
+    /// </summary>
+    [SugarColumn(ColumnName = "BitBoxMark", ColumnDescription = "闆剁鏍囪", Length = 3)]
+    public string? BitBoxMark { get; set; }
+    
+    /// <summary>
+    /// 绠辩爜
+    /// </summary>
+    [SugarColumn(ColumnName = "BoxNo", ColumnDescription = "绠辩爜", Length = 30)]
+    public string? BoxNo { get; set; }
+    
+    /// <summary>
+    /// 鐩掔爜
+    /// </summary>
+    [SugarColumn(ColumnName = "BoxNo2", ColumnDescription = "鐩掔爜", Length = 30)]
+    public string? BoxNo2 { get; set; }
+    
+    /// <summary>
+    /// 鍖呰绾у埆
+    /// </summary>
+    [SugarColumn(ColumnName = "Level", ColumnDescription = "鍖呰绾у埆", Length = 3)]
+    public string? Level { get; set; }
+    
+}
diff --git a/Admin.NET/WCS.Application/Entity/WcsCheckTask.cs b/Admin.NET/WCS.Application/Entity/WcsCheckTask.cs
index fff6418..9b0970e 100644
--- a/Admin.NET/WCS.Application/Entity/WcsCheckTask.cs
+++ b/Admin.NET/WCS.Application/Entity/WcsCheckTask.cs
@@ -39,10 +39,22 @@
     public string? Port { get; set; }
     
     /// <summary>
+    /// 鎵规鍙�
+    /// </summary>
+    [SugarColumn(ColumnName = "LotNo", ColumnDescription = "鎵规鍙�", Length = 50)]
+    public string? LotNo { get; set; }
+    
+    /// <summary>
     /// 鐗╂枡缂栫爜
     /// </summary>
     [SugarColumn(ColumnName = "SkuNo", ColumnDescription = "鐗╂枡缂栫爜", Length = 20)]
     public string? SkuNo { get; set; }
+    
+    /// <summary>
+    /// 鐗╂枡鍚嶇О
+    /// </summary>
+    [SugarColumn(ColumnName = "SkuName", ColumnDescription = "鐗╂枡鍚嶇О", Length = 50)]
+    public string? SkuName { get; set; }
     
     /// <summary>
     /// 瑙勬牸
@@ -71,14 +83,14 @@
     /// <summary>
     /// 鎻掔爜鏁伴噺
     /// </summary>
-    [SugarColumn(ColumnName = "BoxInsert", ColumnDescription = "鎻掔爜鏁伴噺", Length = 20)]
-    public string? BoxInsert { get; set; }
+    [SugarColumn(ColumnName = "BoxInsert", ColumnDescription = "鎻掔爜鏁伴噺")]
+    public int? BoxInsert { get; set; }
     
     /// <summary>
     /// 鎵樼洏涓婄鏁伴噺
     /// </summary>
-    [SugarColumn(ColumnName = "BoxCount", ColumnDescription = "鎵樼洏涓婄鏁伴噺", Length = 20)]
-    public string? BoxCount { get; set; }
+    [SugarColumn(ColumnName = "BoxCount", ColumnDescription = "鎵樼洏涓婄鏁伴噺")]
+    public int? BoxCount { get; set; }
     
     /// <summary>
     /// 鎬荤鏁�/璁″垝绠辨暟/棰勪及绠辨暟
@@ -99,15 +111,9 @@
     public DateTime? BindTime { get; set; }
     
     /// <summary>
-    /// 缁戝畾浜�
+    /// 缁戝畾鑰匢d
     /// </summary>
-    [SugarColumn(ColumnName = "BindUser", ColumnDescription = "缁戝畾浜�")]
-    public int? BindUser { get; set; }
-    
-    /// <summary>
-    /// 鍒涘缓浜�
-    /// </summary>
-    [SugarColumn(ColumnName = "CreateUser", ColumnDescription = "鍒涘缓浜�")]
-    public int? CreateUser { get; set; }
+    [SugarColumn(ColumnName = "BindUserId", ColumnDescription = "缁戝畾鑰匢d")]
+    public long? BindUserId { get; set; }
     
 }
diff --git a/Admin.NET/WCS.Application/Service/WcsDevice/WcsDeviceService.cs b/Admin.NET/WCS.Application/Service/WcsDevice/WcsDeviceService.cs
index 258f4bf..dce21ac 100644
--- a/Admin.NET/WCS.Application/Service/WcsDevice/WcsDeviceService.cs
+++ b/Admin.NET/WCS.Application/Service/WcsDevice/WcsDeviceService.cs
@@ -286,7 +286,7 @@
     {
         return await _wcsDeviceRep.Context.Queryable<WcsPlc>()
                 .Where(w => w.Type == PLCTypeEnum.RobotPalletizer || w.Type == PLCTypeEnum.StackingRobot)
-                .OrderBy(o => o.Type)
+                .OrderByDescending(o => o.Type)
                 .Select(u => new
                 {
                     id = u.Id,
diff --git a/Web/src/views/device/sortPallet/index.vue b/Web/src/views/device/sortPallet/index.vue
index 1084a8c..2a94f23 100644
--- a/Web/src/views/device/sortPallet/index.vue
+++ b/Web/src/views/device/sortPallet/index.vue
@@ -1,6 +1,6 @@
 <template>
     <el-container>        
-        <el-cloum>
+        <el-col>
             <el-row :span="1">
                 <div class="card-page">
                     <el-button
@@ -47,13 +47,13 @@
                                 <el-form-item label="鎶撶鍝佺">
                                     <el-input></el-input>
                                 </el-form-item>
-                                <el-form-item label="DB璁板綍绠辨暟">
-                                    <el-input></el-input>
-                                </el-form-item>
                                 <el-form-item label="鎵樼洏鍙�">
                                     <el-input></el-input>
                                 </el-form-item>
-                                <el-form-item label="鐮佸灈绠辨暟">
+                                <el-form-item label="鎻掔爜鏁伴噺">
+                                    <el-input></el-input>
+                                </el-form-item>                               
+                                <el-form-item label="鎵樼洏涓婄鏁伴噺">
                                     <el-input></el-input>
                                 </el-form-item>
                                 <el-form-item label="WMS涓嬪彂鏁伴噺">
@@ -64,7 +64,7 @@
                         <div class="otherButtonfix">
                             <el-form label-position="left">
                                 <el-form-item>
-                                    <el-button type="primary">缁戝畾</el-button>
+                                    <el-button type="primary" @click="openBindDialog()">缁戝畾</el-button>
                                     <el-button>缁撴壒</el-button>
                                 </el-form-item>
                             </el-form>
@@ -72,25 +72,59 @@
                     </el-card>
                 </div>
             </el-row>
-        </el-cloum>      
-    </el-container>    
+        </el-col>   
+        
+         <!-- 缁戝畾浠诲姟寮规 -->
+         <el-dialog v-model="bindDialogVisible" title="閫夋嫨鏁版嵁">
+            <el-table
+                :data="bindData" 
+                highlight-current-row 
+                @row-click="handleRowClick"                
+                >
+                <el-table-column type="selection" width="55"/>
+                
+                <el-table-column prop="orderNo" label="WMS涓嬪彂鍗曞彿"  show-overflow-tooltip="" />
+                <el-table-column prop="taskNo" label="浠诲姟鍙�"  show-overflow-tooltip="" />
+                <el-table-column prop="lotNo" label="鎵规鍙�"  show-overflow-tooltip="" />
+                <el-table-column prop="skuNo" label="鐗╂枡缂栫爜"  show-overflow-tooltip="" />
+                <el-table-column prop="skuName" label="鐗╂枡鍚嶇О"  show-overflow-tooltip="" />
+                <el-table-column prop="boxType" label="瑙勬牸"  show-overflow-tooltip="" />
+                <el-table-column prop="qty" label="鎬荤鏁�/璁″垝绠辨暟/棰勪及绠辨暟"  show-overflow-tooltip="" />
+            </el-table>
+            <div slot="footer" class="dialog-footer">
+                <el-button @click="bindDialogVisible = false">鍙栨秷</el-button>
+                <el-button type="primary" @click="confirmBinding">纭</el-button>
+            </div>
+        </el-dialog>
+    </el-container>  
 </template>
   
 <script lang="ts" setup>
 import { ref } from 'vue';
 import { GetWcsPackPlcList,GetWcsPackStationPlcList } from '/@/api/wcs/wcsDevice';
+import { pageWcsOderTask } from '/@/api/device/wcsOderTask';
+
 //璁惧鏁版嵁
 const deviceList=ref<any>([]);
 //璁惧瀵瑰簲宸ヤ綅鏁版嵁
 const devicePointData = ref<any>([]);
-
+//閫変腑璁惧ID
 const selectedDeviceId=ref<any>();
 
-//鑾峰彇
+const bindDialogVisible = ref(false);
+const bindData = ref<any>([]);
+const selectedRow = ref<any>(null);
+const queryParams = ref<any>({});
+const tableParams = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+});
+
+//鑾峰彇璁惧瀵瑰簲鐨勫伐浣嶆暟鎹�
 const fetchStationData = async (plcId: any) => {
     const res2 = await GetWcsPackStationPlcList({ plcId });
     devicePointData.value = res2.data.result;
-    console.log('data:'+devicePointData.value);
 };
 // 鑾峰彇璁惧鏁版嵁
 const fetchPLCDeviceData = async () => {
@@ -104,12 +138,39 @@
 };
 fetchPLCDeviceData();
 
-//鍒囨崲
+//鍒囨崲璁惧
 function chooseDevice(id) {
     selectedDeviceId.value = id;
-
     fetchStationData(id);
 }
+
+const handleQuery = async () => {
+    var res = await pageWcsOderTask(Object.assign(queryParams.value, tableParams.value));
+    bindData.value = res.data.result?.items ?? [];
+    tableParams.value.total = res.data.result?.total;
+  };
+//鎵撳紑缁戝畾寮规
+function openBindDialog() {
+    bindDialogVisible.value = true;
+    // Mock data for binding
+    handleQuery();
+}
+//鐐瑰嚮琛屾椂璁剧疆閫変腑琛�
+function handleRowClick(row) {
+    selectedRow.value = row;
+}
+
+//纭缁戝畾鎿嶄綔
+function confirmBinding() {
+    if (selectedRow.value) {
+        console.log('Selected Row:', selectedRow.value);
+        // Do binding logic here
+        bindDialogVisible.value = false;
+    } else {
+        console.error('No row selected');
+    }
+}
+
 </script>
 
 <style scoped>
@@ -172,5 +233,10 @@
     .device-status-1{
         background-color: red;
     }
+    .dialog-footer {
+        display: flex;
+        justify-content: flex-end;
+        margin-top: 20px;
+    }
 </style>
   
\ No newline at end of file

--
Gitblit v1.8.0