From d0f0e0f87caef8efdbbc92d4fe7c76d4455473c8 Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期五, 29 十一月 2024 15:20:45 +0800
Subject: [PATCH] 新增中空模块,前端路由配置及页面样式

---
 UI-Project/src/lang/zh.js                       |   34 +++++
 UI-Project/src/router/index.js                  |   16 ++
 UI-Project/src/views/hollow/hollowequipment.vue |  270 +++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 316 insertions(+), 4 deletions(-)

diff --git a/UI-Project/src/lang/zh.js b/UI-Project/src/lang/zh.js
index ec0eac4..113d83b 100644
--- a/UI-Project/src/lang/zh.js
+++ b/UI-Project/src/lang/zh.js
@@ -639,6 +639,34 @@
           noremoval: '涓嶉櫎鑶�',
           coarselyground: '绮楃(',
           finegrinding: '绮剧(',
-
-      }
-  }
\ No newline at end of file
+      },
+    hellow: {
+        createtask: '鍒涘缓浠诲姟',
+        starttask: '寮�濮嬩换鍔�',
+        pstarttask: '鏄惁寮�濮嬩换鍔★紵',
+        stoptask: '鍋滄浠诲姟',
+        pstoptask: '鏄惁鍋滄浠诲姟锛�',
+        currenttask: '褰撳墠浠诲姟锛�',
+        claimednumber: '宸查鍙栭厤瀵规暟閲忥細',
+        linenumber: '杩涘叆涓┖绾挎暟閲忥細',
+        order: '鍑虹墖椤哄簭',
+        thickness: '鍘氬害',
+        coatingtypes: '鑶滅郴',
+        height: '闀�',
+        width: '瀹�',
+        state: '鐘舵��',
+        cardnumber: '娴佺▼鍗″彿',
+        cardnumbera: '娴佺▼鍗″彿锛�',
+        layernumber: '灞傚彿',
+        totalnumber: '鎬荤墖鏁�',
+        pairsnumber: '宸查厤瀵规暟閲�',
+        missingnumber: '缂虹墖鏁伴噺',
+        operate: '鎿嶄綔',
+        claimquest: '棰嗗彇浠诲姟',
+        pclaimquest: '鏄惁棰嗗彇浠诲姟锛�',
+        missingfilms: '缂虹墖璇︽儏',
+        forcedfilming: '寮哄埗鍑虹墖',
+        pforcedfilming: '鏄惁寮哄埗鍑虹墖锛�',
+        brokenpieces: '鐮存崯鐗囨暟',
+    }
+}
\ No newline at end of file
diff --git a/UI-Project/src/router/index.js b/UI-Project/src/router/index.js
index c62b00d..73a2754 100644
--- a/UI-Project/src/router/index.js
+++ b/UI-Project/src/router/index.js
@@ -298,7 +298,7 @@
     path: 'reportWork',
     name: 'reportWork',
     component: () => import('../views/ReportWork/reportWork.vue'),
-    children:[
+    children: [
       {
         path: '/ReportWork/reportWork',
         name: 'reportWork',
@@ -306,6 +306,20 @@
       },
     ]
   },
+
+        /*----------- 涓┖ ----------------*/
+        {
+          path: 'hollow',
+          name: 'hollowequipment',
+          component: () => import('../views/hollow/hollowequipment.vue'),
+          children: [
+            {
+              path: '/hollow/hollowequipment',
+              name: 'hollowequipment',
+              component: () => import('../views/hollow/hollowequipment.vue')
+            },
+          ]
+        },
         /*----------- 绠$悊绯荤粺 ----------------*/
         {
           path: 'sys',
diff --git a/UI-Project/src/views/hollow/hollowequipment.vue b/UI-Project/src/views/hollow/hollowequipment.vue
new file mode 100644
index 0000000..7437db2
--- /dev/null
+++ b/UI-Project/src/views/hollow/hollowequipment.vue
@@ -0,0 +1,270 @@
+<template>
+  <div style="height: 600px;">
+    <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;" v-loading="loading">
+      <div style="display: flex; flex-direction: row; align-items: center; margin-bottom: 10px;">
+        <el-button id="searchButton" type="success" @click="dialogFormVisiblea = true">
+          {{ $t('hellow.createtask') }}
+        </el-button>
+        <el-button style="margin-left: 20px;" id="searchButton" type="success" @click="handleBinda">
+          {{ $t('hellow.starttask') }}
+        </el-button>
+        <el-button style="margin-left: 20px;" id="searchButton" type="success" @click="handleBindb">{{
+            $t('hellow.stoptask')
+          }}
+        </el-button>
+      </div>
+      <div style="margin-bottom: -5px;margin-left: 5px;">
+        <el-form>
+          <el-row>
+            <el-col :span="4">
+              <div id="dt" style="font-size: 15px;">
+                <el-form-item :label="$t('hellow.currenttask')" style="width: 14vw">
+                  {{ temperingtotal }}
+                </el-form-item>
+              </div>
+            </el-col>
+            <el-col :span="5">
+              <div id="dta" style="font-size: 15px;">
+                <el-form-item :label="$t('hellow.claimednumber')" style="width: 14vw">
+                  {{ glasstotal }}
+                </el-form-item>
+              </div>
+            </el-col>
+            <el-col :span="4">
+              <div id="dt" style="font-size: 15px;">
+                <el-form-item :label="$t('hellow.linenumber')" style="width: 14vw">
+                  {{ fulltotals }}
+                </el-form-item>
+              </div>
+            </el-col>
+          </el-row>
+        </el-form>
+      </div>
+      <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
+        <el-table height="480" ref="table" :data="tableDataa"
+                  :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }">
+          <el-table-column prop="layoutSequence" :label="$t('hellow.order')" align="center"/>
+          <el-table-column prop="layoutSequence" :label="$t('hellow.thickness')" align="center"/>
+          <el-table-column prop="layoutSequence" :label="$t('hellow.coatingtypes')" align="center"/>
+          <el-table-column prop="layoutSequence" :label="$t('hellow.height')" align="center"/>
+          <el-table-column prop="layoutSequence" :label="$t('hellow.width')" align="center"/>
+          <el-table-column prop="layoutSequence" :label="$t('hellow.state')" align="center"/>
+        </el-table>
+        <div style="float: right;">
+          <el-pagination layout="prev, pager, next" :total="50"/>
+        </div>
+      </div>
+    </el-card>
+  </div>
+  <el-dialog v-model="dialogFormVisiblea" top="5vh" width="85%">
+    <el-table ref="table" style="margin-top: 20px;height: 500px;"
+              :data="tableDatab" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
+      <el-table-column prop="deviceId" fixed align="center" :label="$t('hellow.cardnumber')" min-width="80"/>
+      <el-table-column prop="slot" fixed align="center" :label="$t('hellow.layernumber')" min-width="80"/>
+      <el-table-column prop="patternWidth" align="center" :label="$t('hellow.thickness')" min-width="80"/>
+      <el-table-column prop="patternHeight" align="center" :label="$t('hellow.coatingtypes')" min-width="80"/>
+      <el-table-column prop="patternHeight" align="center" :label="$t('hellow.totalnumber')" min-width="80"/>
+      <el-table-column prop="patternHeight" align="center" :label="$t('hellow.pairsnumber')" min-width="80"/>
+      <el-table-column prop="patternHeight" align="center" :label="$t('hellow.missingnumber')" min-width="80"/>
+      <el-table-column fixed="right" :label="$t('hellow.operate')" align="center" width="270">
+        <template #default="scope">
+          <el-button size="mini" type="text" plain @click="finisha(scope.row)">{{ $t('hellow.claimquest') }}</el-button>
+          <el-button size="mini" type="text" plain @click="dialogFormVisibleb = true">{{
+              $t('hellow.missingfilms')
+            }}
+          </el-button>
+          <el-button size="mini" type="text" plain @click="finishb(scope.row)">{{
+              $t('hellow.forcedfilming')
+            }}
+          </el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+  </el-dialog>
+  <el-dialog v-model="dialogFormVisibleb" top="7vh" width="70%" height="500">
+    <div style="margin-top: -20px;text-align: center;margin-left: 400px;">
+      <el-form-item :label="$t('hellow.cardnumbera')" style="width: 14vw">
+        {{ temperingtotal }}
+      </el-form-item>
+    </div>
+    <el-table ref="table" style="margin-top: 20px;height: 400px;"
+              :data="tableDatac" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
+      <el-table-column prop="patternWidth" align="center" :label="$t('hellow.thickness')" min-width="80"/>
+      <el-table-column prop="patternHeight" align="center" :label="$t('hellow.coatingtypes')" min-width="80"/>
+      <el-table-column prop="patternHeight" align="center" :label="$t('hellow.height')" min-width="80"/>
+      <el-table-column prop="patternHeight" align="center" :label="$t('hellow.width')" min-width="80"/>
+      <el-table-column prop="patternHeight" align="center" :label="$t('hellow.totalnumber')" min-width="80"/>
+      <el-table-column prop="patternHeight" align="center" :label="$t('hellow.missingnumber')" min-width="80"/>
+      <el-table-column prop="patternHeight" align="center" :label="$t('hellow.brokenpieces')" min-width="80"/>
+      <div style="float: right;margin-bottom: 5px;">
+        <el-pagination layout="prev, pager, next" :total="50"/>
+      </div>
+    </el-table>
+  </el-dialog>
+  <el-dialog v-model="blinda" top="30vh" width="25%" :title="$t('hellow.pstarttask')">
+    <template #footer>
+      <div id="dialog-footer">
+        <el-button type="primary" @click="handlea">
+          {{ $t('basicData.confirm') }}
+        </el-button>
+        <el-button @click="blinda = false">{{ $t('basicData.cancel') }}</el-button>
+      </div>
+    </template>
+  </el-dialog>
+  <el-dialog v-model="blindb" top="30vh" width="25%" :title="$t('hellow.pstoptask')">
+    <template #footer>
+      <div id="dialog-footer">
+        <el-button type="primary" @click="handlea">
+          {{ $t('basicData.confirm') }}
+        </el-button>
+        <el-button @click="blindb = false">{{ $t('basicData.cancel') }}</el-button>
+      </div>
+    </template>
+  </el-dialog>
+</template>
+<script setup>
+import {ElMessage, ElMessageBox} from 'element-plus'
+import {onBeforeUnmount, onMounted, onUnmounted, ref} from "vue";
+import request from "@/utils/request"
+import {closeWebSocket} from '@/utils/WebSocketService';
+import {useI18n} from 'vue-i18n'
+
+const {t} = useI18n()
+const blinda = ref(false)
+const blindb = ref(false)
+const tableDataa = ref([])
+const tableDatac = ref([])
+const dialogFormVisiblea = ref(false)
+const dialogFormVisibleb = ref(false)
+
+const tableDatab = [
+  {
+    layoutSequence: 'Tom',
+  },
+  {
+    layoutSequence: '2016-05-02',
+    name: 'Tom',
+    address: 'No. 189, Grove St, Los Angeles',
+  },
+]
+let socket = null;
+// const socketUrl = `ws://${WebSocketHost}:${host}/api/temperingGlass/api/talk/screen`;
+// const handleMessage = (data) => {
+// adjustedRects.value = data.device[0].map(rect => ({
+//       ...rect,
+//       completed: rect.completedQuantity,
+//       breakage: rect.breakageQuantity,
+//       thisProcess: rect.thisProcess,
+//     }));
+// };
+// let socket;
+onMounted(() => {
+  // socket = new WebSocket(socketUrl);
+  // socket.onmessage = (event) => {
+  //   const data = JSON.parse(event.data);
+
+  //   // updateCharts();
+  // };
+  // };  
+});
+// 寮�濮嬩换鍔� 
+const handleBinda = (row) => {
+  blinda.value = true;
+};
+// 鍋滄浠诲姟 
+const handleBindb = (row) => {
+  blindb.value = true;
+};
+// 寮�濮嬩换鍔�
+const handlea = async () => {
+  try {
+    let engineeringId = window.localStorage.getItem('engineeringId')
+    console.log(engineeringId);
+    if (engineeringId !== '') {
+      const response = await request.post('/loadGlass/engineering/engineering/pauseTask', {
+        engineeringId: engineeringId,
+        state: 0,
+      })
+      if (response.code == 200) {
+        ElMessage.success(response.message);
+        blinda.value = false;
+      } else {
+        ElMessage.error(response.message);
+      }
+    } else {
+      ElMessage({
+        type: 'info',
+        message: t('basicData.infonull'),
+      })
+    }
+  } catch (error) {
+    console.error(error);
+  }
+}
+// 棰嗗彇浠诲姟
+const finisha = async (row) => {
+  try {
+    const confirmResult = await ElMessageBox.confirm(
+        t('hellow.pclaimquest'),
+        t('searchOrder.prompt'),
+        {
+          confirmButtonText: t('searchOrder.yes'),
+          cancelButtonText: t('searchOrder.cancel'),
+          type: 'warning',
+        }
+    );
+    if (confirmResult === 'confirm') {
+      const response = await request.post("/cacheVerticalGlass/bigStorageCageDetails/finishBigStorageCageDetails", row)
+      if (response.code === 200) {
+        ElMessage.success(response.message);
+      } else {
+        ElMessage.error(response.message);
+      }
+    }
+  } catch (error) {
+    console.error('鍙戠敓閿欒:', error);
+  }
+};
+// 寮哄埗鍑虹墖
+const finishb = async (row) => {
+  try {
+    const confirmResult = await ElMessageBox.confirm(
+        t('hellow.pforcedfilming'),
+        t('searchOrder.prompt'),
+        {
+          confirmButtonText: t('searchOrder.yes'),
+          cancelButtonText: t('searchOrder.cancel'),
+          type: 'warning',
+        }
+    );
+    if (confirmResult === 'confirm') {
+      const response = await request.post("/cacheVerticalGlass/bigStorageCageDetails/finishBigStorageCageDetails", row)
+      if (response.code === 200) {
+        ElMessage.success(response.message);
+      } else {
+        ElMessage.error(response.message);
+      }
+    }
+  } catch (error) {
+    console.error('鍙戠敓閿欒:', error);
+  }
+};
+onUnmounted(() => {
+  socket.close();
+});
+onMounted(() => {
+  // fetchTableData();
+  // socket = initializeWebSocket(socketUrl, handleMessage);
+});
+onUnmounted(() => {
+  if (socket) {
+    closeWebSocket(socket);
+  }
+});
+onBeforeUnmount(() => {
+  console.log("鍏抽棴浜�")
+  closeWebSocket();
+});
+</script>
+
+<style scoped></style>
\ No newline at end of file

--
Gitblit v1.8.0