From 569e9aad2d5916e7b6c23fcb0c58c1641fcb367e Mon Sep 17 00:00:00 2001
From: wang <3597712270@qq.com>
Date: 星期五, 31 五月 2024 16:58:07 +0800
Subject: [PATCH] 大理片笼四个表格

---
 UI-Project/src/views/Slicecage/slicecage.vue |  296 ++++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 182 insertions(+), 114 deletions(-)

diff --git a/UI-Project/src/views/Slicecage/slicecage.vue b/UI-Project/src/views/Slicecage/slicecage.vue
index 22d0adc..2b36cd4 100644
--- a/UI-Project/src/views/Slicecage/slicecage.vue
+++ b/UI-Project/src/views/Slicecage/slicecage.vue
@@ -4,12 +4,17 @@
 import {useRouter} from "vue-router"
 const router = useRouter()
  
-import { ref } from 'vue'
+import { ref, onMounted , onBeforeUnmount} from "vue";
+import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
 import { ElMessage, ElMessageBox } from 'element-plus'
 import { tr } from "element-plus/es/locale";
 const dialogFormVisible = ref(false)
 const dialogFormVisiblea = ref(false)
 const dialogFormVisibleb = ref(false)
+const tableData = ref([])
+const tableDatab = ref([])
+const tableDatac = ref([])
+const tableDatad = ref([])
  
 const carposition1 = ref(60);
 const carposition2 = ref(220);
@@ -34,30 +39,7 @@
  
 const currentPage4 = ref(4)
 const pageSize4 = ref(100)
-const tableData = [
-  {
-    id: '1',
-    a: '1',
-    b: '1',
-    c: '123456789',
-    d: '1568251',
-    e: '1',
-    f: '100*100',
-    g: '',
-  },
-]
-const tableDatab = [
-  {
-    id: '2',
-    a: '2',
-    b: '2',
-    c: '123456789',
-    d: '1568251',
-    e: '1',
-    f: '100*100',
-    g: '',
-  }
-]
+
 const dialogForm = () => {
   ElMessageBox.confirm(
     '纭畾瑕佹�ュ仠鍚�?',
@@ -83,7 +65,7 @@
 }
  
   var timer=setInterval(() => {
-    console.log(million.value,million1.value);
+    // console.log(million.value,million1.value);
     million.value+=1;
     if(million.value-million1.value!==12){
       
@@ -137,7 +119,7 @@
   }, 1000);
  
   var timer=setInterval(() => {
-    console.log(million3.value,million4.value);
+    // console.log(million3.value,million4.value);
     million3.value+=1;
     if(million3.value-million4.value!==12){
       
@@ -204,69 +186,107 @@
   }
 }
  
-const gridOptions = reactive({
-  border:  "full",//琛ㄦ牸鍔犺竟妗�
-  keepSource: true,//淇濇寔婧愭暟鎹�
-  align: 'center',//鏂囧瓧灞呬腑
-  stripe:true,//鏂戦┈绾�
-  rowConfig: {isCurrent: true, isHover: true,height: 50},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
-  id: 'OrderList',
-  showFooter: true,//鏄剧ず鑴�
-  printConfig: {},
-  importConfig: {},
-  exportConfig: {},
-  scrollY:{ enabled: true },//寮�鍚櫄鎷熸粴鍔�
-  showOverflow:true,
-  columnConfig: {
-    resizable: true,
-    useKey: true
-  },
-  filterConfig: {   //绛涢�夐厤缃」
-    remote: true
-  },
-  customConfig: {
-    storage: true
-  },
-  editConfig: {
-    trigger: 'click',
-    mode: 'row',
-    showStatus: true
-  },
-  data:  [
-    {
-      'id': '1',
-      'long': '5',
-      'wide': '1005',
-      'thick': '183.6',
-    }
-  ],
-})
+
+const socketUrl = `ws://10.153.19.150:88/api/cacheVerticalGlass/api/talk/slicecage`;
+// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
+const handleMessage = (data) => {
+  // 鏇存柊 tableData 鐨勬暟鎹�
+  tableDatac.value = data.bigStorageCageDetailsOutTask[0]
+  tableDatad.value = data.bigStorageCageDetailsFeedTask[0]
+  tableData.value = data.bigStorageCageInfo[0]
+  tableDatab.value = data.temperingGlassInfoList[0]
+
+};
+// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
+onMounted(() => {
+  // fetchFlowCardId();
+  // fetchTableData(); // 鑾峰彇鏁版嵁
+  initializeWebSocket(socketUrl, handleMessage);
+});
+function getStatusType(enableState: number) {  
+  switch (enableState) {  
+    case 0:
+      return 'warning';  
+    case 1: 
+      return 'success';  
+  }  
+}  
+function getStatusText(enableState: number) {
+  switch (enableState) {
+    case 0:  
+      return '绂佺敤';  
+    case 1:  
+      return '鍚敤'; 
+  }  
+}
+function getStatusTypea(ishorizontal: number) {  
+  switch (ishorizontal) {  
+    case 0:
+      return 'warning';  
+    case 1: 
+      return 'success';  
+  }  
+}  
+function getStatusTexta(ishorizontal: number) {
+  switch (ishorizontal) {
+    case 0:  
+      return '涓嶆帴鍙�';  
+    case 1:  
+      return '鎺ュ彈'; 
+  }  
+}
+function getStatusTypeb(state: number) {  
+  switch (state) {  
+    case 0:
+      return 'success';  
+    case 1: 
+      return 'primary';  
+  }  
+}  
+function getStatusTextb(state: number) {
+  switch (state) {
+    case 0:  
+      return '鍑虹墖瀹屾垚';  
+    case 1:  
+      return '绛夊緟涓�'; 
+    case 2:  
+      return '绛夊緟涓�'; 
+  }  
+}
+onBeforeUnmount(() => {
+  console.log("鍏抽棴浜�")
+  closeWebSocket();
+});
 </script>
  
 <template>
   <div style="height: 700px;">
     <!-- <el-button style="margin-top: 5px;margin-left: 10px;"   id="searchButton" type="primary" @click="dialogFormVisible = true">鎵嬪姩杩涚墖</el-button> -->
-    <el-button style="margin-top: 5px;margin-left: 10px;"   id="searchButton" type="primary" @click="dialogFormVisiblea = true">璁㈠崟淇℃伅</el-button>
+    <el-button style="margin-top: 5px;margin-left: 10px;"   id="searchButton" type="primary" @click="dialogFormVisiblea = true">鐞嗙墖绗间俊鎭�</el-button>
     <el-button style="margin-top: 5px;margin-left: 10px;"   id="searchButton" type="success" @click="dialogFormVisibleb = true">鍑虹墖闃熷垪</el-button>
-    <el-button style="margin-top: 5px;margin-left: 10px;"   id="searchButton" type="danger">缁堟杩涚墖</el-button>
-    <el-button style="margin-top: 5px;margin-left: 10px;"   id="searchButton" type="danger">缁堟鍑虹墖</el-button>
-    <el-button style="margin-top: 5px;margin-left: 10px;"   id="searchButton" type="danger"  @click="dialogForm">杞�ュ仠</el-button>
+    <!-- <el-button style="margin-top: 5px;margin-left: 10px;"   id="searchButton" type="danger">缁堟杩涚墖</el-button> -->
+    <!-- <el-button style="margin-top: 5px;margin-left: 10px;"   id="searchButton" type="danger">缁堟鍑虹墖</el-button> -->
+    <!-- <el-button style="margin-top: 5px;margin-left: 10px;"   id="searchButton" type="danger"  @click="dialogForm">杞�ュ仠</el-button> -->
     
     <el-card style="flex: 1;margin-left: 10px;margin-top: 5px;" v-loading="loading">
       <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 100px;">
         <el-table height="100%" ref="table" 
-        @selection-change="handleSelectionChange"
-        :data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
-          <el-table-column prop="id" align="center" label="鍑虹墖鐜荤拑ID" min-width="80" />
-          <el-table-column prop="a" align="center" label="绗煎瓙" min-width="120" />
-          <el-table-column prop="b" align="center" label="鏍煎瓙" min-width="120" />
-          <el-table-column prop="c" align="center" label="宸ョ▼鍙�" min-width="120" />
-          <el-table-column prop="d" align="center" label="娴佺▼鍗″彿" min-width="120" />
-          <el-table-column prop="e" align="center" label="閽㈠寲鐗堝浘鍙�" min-width="157" />
-          <el-table-column prop="f" align="center" label="灏哄" min-width="120" />
-          <el-table-column prop="g" align="center" label="缁撴潫浠诲姟" min-width="120">
-    <el-button style="margin-top: 5px;margin-left: 10px;"   id="searchButton" type="text">瀹屾垚浠诲姟</el-button>
-</el-table-column>
+        :data="tableDatac" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
+          <el-table-column prop="bigStorageCageOutTask.glassId" align="center" label="鍑虹墖鐜荤拑ID" min-width="80" />
+          <el-table-column prop="bigStorageCageOutTask.startSlot" align="center" label="璧峰浣嶇疆" min-width="120" />
+          <el-table-column prop="bigStorageCageOutTask.endSlot" align="center" label="鐩爣浣嶇疆" min-width="120" />
+          <el-table-column prop="bigStorageCageOutTask.trainNumber" align="center" label="杞︽" min-width="120" />
+          <el-table-column prop="bigStorageCageOutTask.serialNumber" align="center" label="搴忓彿" min-width="120" />
+          <el-table-column prop="bigStorageCageOutTask.taskState" align="center" label="浠诲姟鐘舵��" min-width="157">
+          <template #default="scope">
+            <el-tag type="success" >{{ scope.row.bigStorageCageOutTask.taskState==0?"绛夊緟杩涚墖":"杩涜涓�"  }}</el-tag>
+          </template>
+          </el-table-column>
+          <el-table-column fixed="right" label="缁撴潫浠诲姟" align="center" width="150">
+            <template #default="scope">
+              <el-button size="mini" type="text" plain @click="handleBindRack(scope.row)">瀹屾垚浠诲姟</el-button>
+            </template>
+        </el-table-column>
         </el-table>
       </div>
     </el-card>
@@ -274,17 +294,21 @@
       <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 100px;">
         <el-table height="100%" ref="table" 
         @selection-change="handleSelectionChange"
-        :data="tableDatab" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
-          <el-table-column prop="id" align="center" label="杩涚墖鐜荤拑ID" min-width="80" />
-          <el-table-column prop="a" align="center" label="绗煎瓙" min-width="120" />
-          <el-table-column prop="b" align="center" label="鏍煎瓙" min-width="120" />
-          <el-table-column prop="c" align="center" label="宸ョ▼鍙�" min-width="120" />
-          <el-table-column prop="d" align="center" label="娴佺▼鍗″彿" min-width="120" />
-          <el-table-column prop="e" align="center" label="閽㈠寲鐗堝浘鍙�" min-width="157" />
-          <el-table-column prop="f" align="center" label="灏哄" min-width="120" />
-          <el-table-column prop="g" align="center" label="缁撴潫浠诲姟" min-width="120">
-    <el-button style="margin-top: 5px;margin-left: 10px;"   id="searchButton" type="text">瀹屾垚浠诲姟</el-button>
-</el-table-column>
+        :data="tableDatad" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
+          <el-table-column prop="bigStorageCageFeedTask.glassId" align="center" label="杩涚墖鐜荤拑ID" min-width="80" />
+          <el-table-column prop="bigStorageCageFeedTask.tragetSlot" align="center" label="鐩爣浣嶇疆" min-width="120" />
+          <!-- <el-table-column prop="task_type" align="center" label="浠诲姟绫诲瀷" min-width="120" />娌℃湁杩斿洖瀛楁 -->
+          <el-table-column prop="bigStorageCageFeedTask.taskState" align="center" label="浠诲姟鐘舵��" min-width="120">
+          <template #default="scope">
+            <el-tag type="success" >{{ scope.row.bigStorageCageFeedTask.taskState==0?"绛夊緟杩涚墖":"杩涜涓�"  }}</el-tag>
+          </template>
+          </el-table-column>
+          <el-table-column prop="bigStorageCageFeedTask.line" align="center" label="绾胯矾" min-width="120" />
+          <el-table-column fixed="right" label="缁撴潫浠诲姟" align="center" width="150">
+            <template #default="scope">
+              <el-button size="mini" type="text" plain @click="handleBindRack(scope.row)">瀹屾垚浠诲姟</el-button>
+            </template>
+        </el-table-column>
         </el-table>
       </div>
     </el-card>
@@ -527,17 +551,28 @@
     </div>
   </template>
 </el-dialog>
-<el-dialog v-model="dialogFormVisiblea" top="10vh" width="85%" title="璁㈠崟淇℃伅" >
-  <el-input  placeholder="璇疯緭鍏ュ伐绋嬪彿" style="width: 180px;size: mini;"></el-input>
-    <el-button style="margin-left: 10px;size: mini;" type="primary">鏌ヨ</el-button>
+<el-dialog v-model="dialogFormVisiblea" top="10vh" width="85%" title="鐞嗙墖绗间俊鎭�" >
+  <!-- <el-input  placeholder="璇疯緭鍏ュ伐绋嬪彿" style="width: 180px;size: mini;"></el-input> -->
+    <!-- <el-button style="margin-left: 10px;size: mini;" type="primary">鏌ヨ</el-button> -->
     <el-table  ref="table" style="margin-top: 20px;height: 500px;"
         @selection-change="handleSelectionChange"
-        :data="tableDataa" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
-          <el-table-column prop="ida" align="center" label="鐜荤拑id" min-width="80" />
-          <el-table-column prop="typea" align="center" label="宸ョ▼鍙�" min-width="120" />
-          <el-table-column prop="typea" align="center" label="闀�" min-width="120" />
-          <el-table-column prop="typea" align="center" label="瀹�" min-width="120" />
-          <el-table-column prop="typea" align="center" label="鍘�" min-width="120" />
+        :data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
+          <el-table-column prop="id" align="center" label="澶х悊鐗囩琛↖D" min-width="80" />
+          <el-table-column prop="deviceId" align="center" label="璁惧ID" min-width="120" />
+          <el-table-column prop="slot" align="center" label="鏍呮牸鍙�" min-width="120" />
+          <el-table-column
+            align="center"
+            label="鍚敤鐘舵��"
+            min-width="80"
+            prop="enableState"
+          >
+          <template #default="scope">  
+        <el-tag :type="getStatusType(scope.row.enableState)">  
+          {{ getStatusText(scope.row.enableState) }}  
+        </el-tag>  
+      </template> 
+          </el-table-column>
+          <el-table-column prop="remainWidth" align="center" label="鍓╀綑瀹藉害" min-width="120" />
         </el-table>
         <div id="demo-pagination-block">
     <el-pagination
@@ -557,25 +592,58 @@
 </el-dialog>
 <el-dialog v-model="dialogFormVisibleb" top="10vh" width="85%" title="鍑虹墖闃熷垪" >
   <div style="display: flex;">
-  <p style="margin-top: 4px;">闃熷垪鐘舵�侊細</p>
-  <p style="margin-top: 4px;">寮�濮�</p>
+  <p style="margin-top: 3px;">闃熷垪鐘舵�侊細</p>
+  <p style="margin-top: 3px;">寮�濮�</p>
     <el-button style="margin-left: 10px;size: mini;" type="danger">鍋滄</el-button>
     <el-button style="margin-left: 10px;size: mini;" type="primary">娣诲姞</el-button>
   </div>
     <el-table  ref="table" style="margin-top: 20px;height: 500px;"
-        @selection-change="handleSelectionChange"
         :data="tableDatab" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
-          <el-table-column prop="id" align="center" label="閾濇id" min-width="80" />
-          <el-table-column prop="type" align="center" label="鐜荤拑id" min-width="120" />
-          <el-table-column prop="type" align="center" label="璁㈠崟缂栧彿" min-width="120" />
-          <el-table-column prop="type" align="center" label="鍒楄〃缂栧彿" min-width="120" />
-          <el-table-column prop="type" align="center" label="绠卞瓙缂栧彿" min-width="120" />
-          <el-table-column prop="type" align="center" label="闀�" min-width="120" />
-          <el-table-column prop="type" align="center" label="瀹�" min-width="120" />
-          <el-table-column prop="type" align="center" label="鐜荤拑鐘舵��" min-width="120" />
-          <el-table-column prop="type" align="center" label="椤哄簭" min-width="120" />
-          <el-table-column prop="type" align="center" label="瀹屾垚" min-width="120" />
-          <el-table-column prop="type" align="center" label="鎿嶄綔" min-width="120" />
+          <el-table-column prop="id" fixed align="center" label="閽㈠寲灏忕墖淇℃伅琛╥d" min-width="150"/>
+          <!-- <el-table-column prop="glass_id" align="center" label="鐜荤拑id" min-width="120" /> -->
+          <el-table-column prop="flowcardId" fixed align="center" label="娴佺▼鍗�" min-width="120" />
+          <el-table-column prop="glassType" align="center" label="娴佺▼鍗$幓鐠冪被鍨�" min-width="150" />
+          <el-table-column prop="width" align="center" label="瀹�" min-width="80" />
+          <el-table-column prop="height" align="center" label="楂�" min-width="80" />
+          <el-table-column prop="thickness" align="center" label="鍘氬害" min-width="80" />
+          <el-table-column prop="filmsid" align="center" label="鑶滅郴" min-width="80" />
+          <!-- <el-table-column prop="ishorizontal" align="center" label="閽㈠寲鏄惁鎺ュ彈妯斁" min-width="150" /> -->
+          <el-table-column
+            align="center"
+            label="閽㈠寲鏄惁鎺ュ彈妯斁"
+            min-width="150"
+            prop="ishorizontal"
+          >
+          <template #default="scope">  
+        <el-tag :type="getStatusTypea(scope.row.ishorizontal)">  
+          {{ getStatusTexta(scope.row.ishorizontal) }}  
+        </el-tag>  
+      </template> 
+          </el-table-column>
+          <el-table-column prop="temperingLayoutId" align="center" label="閽㈠寲鐗堝浘id" min-width="120" />
+          <el-table-column prop="temperingFeedSequence" align="center" label="閽㈠寲鐗堝浘鐗囧簭" min-width="120" />
+          <el-table-column prop="xCoordinate" align="center" label="x鍧愭爣" min-width="80" />
+          <el-table-column prop="yCoordinate" align="center" label="y鍧愭爣" min-width="80" />
+          <el-table-column prop="angle" align="center" label="鏃嬭浆瑙掑害锛堥�嗘椂閽堬級" min-width="150" />
+          <!-- <el-table-column prop="state" align="center" label="鐘舵��" min-width="80" /> -->
+          <el-table-column
+            align="center"
+            label="鐘舵��"
+            min-width="80"
+            prop="state"
+          >
+          <template #default="scope">  
+        <el-tag :type="getStatusTypeb(scope.row.state)">  
+          {{ getStatusTextb(scope.row.state) }}  
+        </el-tag>  
+      </template> 
+          </el-table-column>
+          <el-table-column fixed="right" label="鎿嶄綔" align="center" width="150">
+            <template #default="scope">
+              <el-button size="mini" type="text" plain @click="handleBindRack(scope.row)">娣诲姞</el-button>
+              <el-button size="mini" type="text" plain @click="handleBindRacka(scope.row)">鍒犻櫎</el-button>
+            </template>
+        </el-table-column>
         </el-table>
 </el-dialog>
  

--
Gitblit v1.8.0