From 18b5b27959b7868c7cf7e19a7b636ffc1a494e41 Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期五, 12 九月 2025 14:21:49 +0800
Subject: [PATCH] 新增韩语翻译

---
 UI-Project/src/views/UnLoadGlass/loadmachinerack.vue |  673 ++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 554 insertions(+), 119 deletions(-)

diff --git a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
index 640d82f..b6d0f43 100644
--- a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
+++ b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
@@ -1,54 +1,128 @@
 <script setup>
-import {Search} from "@element-plus/icons-vue";
-import {reactive, onMounted, onBeforeUnmount} from "vue";
+import {onBeforeUnmount, onMounted, onUnmounted, reactive, ref} from "vue";
 import {useRouter} from "vue-router"
-const router = useRouter()
-import { useI18n } from 'vue-i18n'
-  const { t } = useI18n()
-  let language = ref(localStorage.getItem('lang') || 'zh')
-import { ref } from 'vue'
-import { ElMessage, ElMessageBox } from 'element-plus'
+import {useI18n} from 'vue-i18n'
+import {ElMessage} from 'element-plus'
+import request from "@/utils/request";
+import {closeWebSocket, initializeWebSocket} from '@/utils/WebSocketService';
+import {host, WebSocketHost} from '@/utils/constants'
+import PrintFlow from "@/views/UnLoadGlass/PrintFlow.vue";
 import Landingindication from "./Landingindication.vue";
 import Landingindicationtwo from "./Landingindicationtwo.vue";
-import request from "@/utils/request";
-import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
-import { WebSocketHost ,host} from '@/utils/constants'
+import PrintLabel from "@/views/UnLoadGlass/PrintCustomLabelSemi1.vue";
+
+const router = useRouter()
+const {t} = useI18n()
+let language = ref(localStorage.getItem('lang') || 'zh')
+const printLoading = ref(true)
+const fullFlowCard = ref('')
+const autoPrint = ref(false)
+const takeGlass = ref([])
+const scanGlass = ref([])
+ 
+ 
 const dialogFormVisiblea = ref(false)
 const dialogFormVisiblea2 = ref(false)
+const dialogFormVisiblea3 = ref(false)
+const dialogFormVisibleaDownGlass = ref(false)
+const dialogFormVisibleaDownGlasss = ref(false)
 // 鏁版嵁
 const loading = ref(false);
 // 寮规鏄剧ず鎺у埗
 const dialogFormVisible = ref(false);
 // 琛ㄥ崟鏁版嵁
 const workstationId = ref('');
-const selectedProjectNoa = ref(null); // 褰撳墠閫変腑鐨勮鑹� 
+const workFlowCard = ref('');
+const selectedProjectNoa = ref(null); // 褰撳墠閫変腑鐨勮鑹�
 const flowCardId = ref('');
 const flowCardOptions = ref('[]');
 const tableData = reactive([]);
+const downGlass = ref([]);
+ 
+const selectValuesa = reactive({});
+const selectOptionsa = ref([]);
+const dialogTableVisible = ref(false)
+const dialogTableVisible1 = ref(false)
+const printFlowCardId = ref('')
+const printLayer = ref('')
+const printGlassId = ref('')
+const now = new Date();
+const timeRange = ref([])
+const browser = ref(false)
+ 
+const handleChange = async () => {
+  console.log("瑙﹀彂寮�鍏�")
+  try {
+    const body = {
+      flag: autoPrint.value, // 浣跨敤 ganghua.value 鑾峰彇褰撳墠寮�鍏崇殑鐘舵��
+    };
+ 
+    var url = "/unLoadGlass/downWorkStation/autoPrint?flag=" + autoPrint.value;
+    const response = await request.post(url)
+    if (response.code == 200) {
+      // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
+      ElMessage.success(response.message);
+      autoPrint.value = response.data
+    } else {
+      ElMessage.error(response.message);
+    }
+  } catch (error) {
+    // 澶勭悊閿欒
+    console.error(error);
+  }
+}
+const confirmBrowser = () => {
+  if (/chrome|chromium/i.test(navigator.userAgent) && !/edg/i.test(navigator.userAgent)) {
+    browser.value = true
+  } else if (/edg/i.test(navigator.userAgent)) {
+    browser.value = false
+  } else {
+    browser.value = false
+  }
+}
+ 
+const handleInputChangea = (value, rowId) => {
+  // 鏇存柊瀵瑰簲琛岀殑 select 鍊�
+  selectValuesa[rowId] = value;
+};
 // 鏂规硶
 const handleSelectionChange = () => {
   // 澶勭悊琛ㄦ牸琛岄�夋嫨浜嬩欢
 };
 const handleBindRack = (row) => {
   workstationId.value = row.workstationId; // 鍋囪rackNumber鏄灦鍙峰瓧娈电殑灞炴�у悕
-  console.log(row.flowCardId);
   flowCardId.value = row.flowCardId;
   // 鍙戣捣鎺ュ彛璇锋眰鑾峰彇娴佺▼鍗″彿
-    fetchFlowCardId(); 
+  fetchFlowCardId();
   dialogFormVisiblea.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
 };
+
+const clearGlass = async () => {
+  try {
+      const response = await request.post("/unLoadGlass/downGlassTask/updateOutGlassTask")
+      if (response.code === 200) {
+        tableData.value = response.data;
+        ElMessage.success(response.message);
+      } else {
+        ElMessage.error(response.message);
+      }
+      dialogFormVisiblea3.value = false; 
+  } catch (error) {
+    console.error('鍙戠敓閿欒:', error);
+  }
+}
 //鑾峰彇娴佺▼鍗″彿
 const fetchFlowCardId = async () => {
   try {
     const response = await request.get('unLoadGlass/downWorkStation/getflowCardId');
     console.log(response)
     if (response.code === 200) {
-   
-  flowCardOptions.value = response.data.filter(item => item !== null)
-.map(item => ({ flowcard_id: item.flow_card_id }));
-  console.log(flowCardOptions.value);
-}
- else {
+ 
+      flowCardOptions.value = response.data.filter(item => item !== null)
+        .map(item => ({ flowcard_id: item.flow_card_id }));
+      console.log(flowCardOptions.value);
+    }
+    else {
       ElMessage.error(response.msg);
     }
   } catch (error) {
@@ -58,18 +132,17 @@
 //纭
 const handleConfirm = async () => {
   try {
-    const firstPart = flowCardId.value.split('|')[0].trim(); // 
-const twoPart = flowCardId.value.split('|')[1].trim(); // 
+    const firstPart = flowCardId.value.split('|')[0].trim(); //
+    const twoPart = flowCardId.value.split('|')[1].trim(); //
     const response = await request.post('unLoadGlass/downWorkStation/updateFlowCardId', {
       workstationId: workstationId.value,
       flowCardId: firstPart,
-      layer:twoPart
-    }); 
-    console.log(response)
+      layer: twoPart
+    });
     if (response.code == 200) {
       // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
       console.log('缁戝畾鎴愬姛');
-   
+ 
       ElMessage.success(response.message);
       updatePageData();
       dialogFormVisiblea.value = false;
@@ -91,40 +164,46 @@
 const handleBindRack2 = (row) => {
   workstationId.value = row.workstationId; // 鍋囪rackNumber鏄灦鍙峰瓧娈电殑灞炴�у悕
   dialogFormVisiblea2.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
+  workFlowCard.value = row.flowCardId;
+};
+const handleBindRack3 = (row) => {
+  dialogFormVisiblea3.value = true; // 鎵撳紑娓呯┖鐜荤拑瀵硅瘽妗�
 };
 //娓呴櫎鍐呭
 const handleclear = async () => {
-    try {
-        const response = await request.post('unLoadGlass/downWorkStation/clear', {
-            workstationId: workstationId.value,
-        });
-
-        console.log(response);
-
-        if (response.code === 200) {
-            // 娓呴櫎鎴愬姛鐨勯�昏緫
-            console.log('娓呴櫎鎴愬姛');
-            ElMessage.success(response.message);
-            dialogFormVisiblea2.value = false;
-        } else if (response.code === 400) {
-            // 娓呴櫎澶辫触鐨勯�昏緫
-            console.log('娓呴櫎澶辫触');
-            console.log(response.message); // 鎵撳嵃鏈嶅姟鍣ㄨ繑鍥炵殑閿欒淇℃伅
-            ElMessage.error(response.message);
-            dialogFormVisiblea2.value = false;
-        }
-    } catch (error) {
-        // console.log(error);
-         ElMessage.error("娓呴櫎澶辫触");
-            dialogFormVisiblea2.value = false;
+  try {
+    const response = await request.post('unLoadGlass/downWorkStation/clear', {
+      workstationId: workstationId.value,
+    });
+ 
+ 
+    if (response.code === 200) {
+      // 娓呴櫎鎴愬姛鐨勯�昏緫
+      console.log('娓呴櫎鎴愬姛');
+      ElMessage.success(response.message);
+      dialogFormVisiblea2.value = false;
+      if (fullFlowCard.value == workFlowCard.value) {
+        fullFlowCard.value = "";
+      }
+    } else if (response.code === 500) {
+      // 娓呴櫎澶辫触鐨勯�昏緫
+      console.log('娓呴櫎澶辫触');
+      console.log(response.message); // 鎵撳嵃鏈嶅姟鍣ㄨ繑鍥炵殑閿欒淇℃伅
+      ElMessage.error(response.message);
+      dialogFormVisiblea2.value = false;
     }
+  } catch (error) {
+    // console.log(error);
+    ElMessage.error("娓呴櫎澶辫触");
+    dialogFormVisiblea2.value = false;
+  }
 };
 // 鍙戦�佽幏鍙栬〃鏍兼暟鎹殑璇锋眰
 const fetchTableData = async () => {
   try {
     // 鍙戦�佽幏鍙栬〃鏍兼暟鎹殑璇锋眰锛屽苟绛夊緟鍝嶅簲
     const response = await request.get('unLoadGlass/downWorkStation/getone');
-
+ 
     // 妫�鏌ュ搷搴旂姸鎬�
     if (response.code === 200) {
       // 鏇存柊琛ㄦ牸鏁版嵁
@@ -139,98 +218,413 @@
     ElMessage.error('鑾峰彇琛ㄦ牸鏁版嵁澶辫触锛岃閲嶈瘯');
   }
 };
+let socket = null;
 const socketUrl = `ws://${WebSocketHost}:${host}/api/unLoadGlass/api/talk/unloadglass`;
 // 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
 const handleMessage = (data) => {
+ 
   // 鏇存柊 tableData 鐨勬暟鎹�
-  tableData.splice(0, tableData.length, ...data.params[0]);
-//  console.log("鏇存柊鍚庢暟鎹�", data.params[0]);
+  if (data.downGlassInfos != null) {
+    downGlass.value = data.downGlassInfos[0];
+  }
+  if (data.engineerIdList != null) {
+    selectOptionsa.value = data.engineerIdList[0]
+  }
+  if (data.autoPrint != null) {
+    autoPrint.value = data.autoPrint[0];
+  }
+  if (data.takeGlass != null) {
+      
+    takeGlass.value = data.takeGlass[0];
+      // takeGlass.value 鏄竴涓┖瀵硅薄
+      let width = takeGlass.value.width;
+      let height = takeGlass.value.height;
+      if (width < height) {
+        takeGlass.value.width = height;
+        takeGlass.value.height = width;
+      }
+ 
+ 
+  }
+  if (data.scanGlass != null) {
+    scanGlass.value = data.scanGlass[0];
+    let width = scanGlass.value.width;
+    let height = scanGlass.value.height;
+    if (width < height) {
+      scanGlass.value.width = height;
+      scanGlass.value.height = width;
+    }
+    if(autoPrint.value == true && browser.value == true){
+      open1(scanGlass);
+    }
+  }
+ 
+  //鑷姩鎵撳嵃
+  if (fullFlowCard.value == "" && autoPrint.value == true && browser.value == true) {
+    for (let i = 0; i < tableData.length; i++) {
+      if (tableData[i].totalQuantity != 0) {
+        if (tableData[i].totalQuantity == tableData[i].racksNumber + tableData[i].otherNumber && fullFlowCard.value != tableData[i].flowCardId) {
+          // printFlowCardId.value = tableData[i].flowCardId;
+          fullFlowCard.value = tableData[i].flowCardId;
+          open(tableData[i]);
+          break;
+        }
+      } else {
+        console.log("娌℃湁flowCardId")
+      }
+    }
+  }
+  if (data.params != null) {
+    tableData.splice(0, tableData.length, ...data.params[0]);
+  }
+ 
+  //  console.log("鏇存柊鍚庢暟鎹�", data.params[0]);
 };
 // 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
 onMounted(() => {
+  confirmBrowser();//鑾峰彇娴忚鍣�
   fetchFlowCardId();
   fetchTableData(); // 鑾峰彇鏁版嵁
-  initializeWebSocket(socketUrl, handleMessage);
+  socket = initializeWebSocket(socketUrl, handleMessage);
+});
+onUnmounted(() => {
+  if (socket) {
+    closeWebSocket(socket);
+  }
 });
 onBeforeUnmount(() => {
   console.log("鍏抽棴浜�")
   closeWebSocket();
 });
+ 
+ 
+const getTagType = (status) => {
+  return status === 1 ? 'success' : 'danger';
+  // 鏍规嵁鐘舵�佸�煎喅瀹氭爣绛剧被鍨嬶紝杩欓噷鍋囪鐘舵�佷负1鏃朵负鎴愬姛锛堢豢鑹诧級锛屽惁鍒欎负澶辫触锛堢孩鑹诧級
+}
+ 
+const toggleStatus = (row) => {
+  // 鍒囨崲鏂欐灦鐘舵�佺殑閫昏緫
+  row.enableState = 1 - row.enableState; // Toggle between 0 and 1
+  // 姝ゅ鍙互娣诲姞淇濆瓨鐘舵�佺殑閫昏緫锛屾瘮濡傝皟鐢� API 鏇存柊鏁版嵁
+  updateRowStatus(row);
+};
+ 
+const updateRowStatus = async (row) => {
+  try {
+    // 鍋囪浣犵殑鍚庣 API 鎺ユ敹 PUT 璇锋眰锛屽苟涓旈渶瑕佷紶閫� row.id 鍜� row.enableState 鍙傛暟
+ 
+ 
+    const response = await request.post('unLoadGlass/downWorkStation/updateDownWorkstation', {
+      enableState: row.enableState,
+      id: row.id
+ 
+ 
+    });
+    console.log('Updated row status:', response.data);
+    // 鍙互鏍规嵁鍚庣杩斿洖鐨勬暟鎹繘琛岃繘涓�姝ュ鐞嗭紝姣斿鏇存柊鏈湴鐘舵�佺瓑
+  } catch (error) {
+    console.error('Error updating row status:', error);
+    // 澶勭悊閿欒鎯呭喌锛屾瘮濡傛彁绀虹敤鎴锋洿鏂板け璐�
+  }
+};
+ 
+// 鏌ヨ鏁版嵁
+const selectDownGlassData = async () => {
+ 
+  const response = await request.post("/unLoadGlass/downGlassInfo/setDownGlassInfoRequest", {
+    workStationId: selectValuesa[0],
+    engineerId: selectValuesa[1],
+    beginDate: timeRange.value[0],
+    endDate: timeRange.value[1],
+  })
+  if (response.code === 200) {
+    ElMessage.success(response.message);
+  } else {
+    ElMessage.error(response.message);
+  }
+ 
+}
+ 
+ 
+const open = async (row) => {
+ 
+  printFlowCardId.value = row.flowCardId;
+  printLayer.value = row.layer
+  dialogTableVisible.value = true;
+  setTimeout(() => {
+    printFlowCard();
+    dialogTableVisible.value = false;
+  }, 2000);
+}
+const open1 = async (row) => {
+ 
+  printFlowCardId.value = row.flowCardId;
+  printLayer.value = row.layer
+  printGlassId.value = row.glassId
+  dialogTableVisible1.value = true;
+  setTimeout(() => {
+    printFlowCard1();
+    //dialogTableVisible1.value = false;
+  }, 1000);
+}
+ 
+const printFlowCard = () => {
+  // 闇�瑕佹墦鍗扮殑灞�閮ㄥ尯鍩熻祴浜�"print-wrap"鐨刬d
+  let el = document.getElementById("child");
+  let doc = document;
+  let body = doc.body || doc.getElementsByTagName("body")[0];
+  let printId = "print-" + Date.now();
+ 
+  // 鍒涘缓鏃犲壇浣滅敤鐨勬墦鍗板鍣�(鍥犱笉纭畾椤甸潰鐨勬墦鍗板厓绱犳湁鏃犲叾瀹冩牱寮�)
+  let content = doc.createElement("div");
+  content.id = printId;
+ 
+  // alert(/Chrome/.test(userAgent) && !/Edge/.test(userAgent));
+ 
+  // 鏍峰紡鎺у埗涓庢墦鍗版棤鍏崇殑鍏冪礌闅愯棌
+  let style = doc.createElement("style");
+  console.log("style1:" + style.innerHTML)
+  style.innerHTML =
+    "body>#" +
+    printId +
+    "{display:none;}@media print{" +
+    "@page {" +
+    "    size: auto; " +
+    "    margin: 10mm 5mm 10mm 5mm; " +
+    "  }body>:not(#" +
+    printId +
+    "){display:none !important;}body>#" +
+    printId +
+    "{display:block;}#" +
+    printId +
+    "{display: block; padding: 0; margin: 0;  width: 100%;  position: absolute; top: 0; left: 0; height: 100vh;  box-sizing: border-box;}} ";
+ 
+  content.innerHTML = el.outerHTML;
+  // // console.log("el.outerHTML", el.outerHTML);
+  body.appendChild(style);
+ 
+  // 涓巗tyle鍏冪礌璁剧疆鐨勬牱寮忕浉閰嶅悎
+  // 鎶婃墦鍗板唴瀹圭殑鍏冪礌娣诲姞鍒癰ody(浣滀负body鐨勫瓙鍏冪礌锛屽彲鐢╞ody鐨勫瓙閫夋嫨鍣� '>' 鎺у埗鎵撳嵃鏍峰紡)
+  body.appendChild(content);
+  setTimeout(() => {
+    window.print();
+    body.removeChild(content);
+    body.removeChild(style);
+  }, 20);
+}
+ 
+const printFlowCard1 = () => {
+  // 闇�瑕佹墦鍗扮殑灞�閮ㄥ尯鍩熻祴浜�"print-wrap"鐨刬d
+  let el = document.getElementById("printFlowCard");
+  let doc = document;
+  let body = doc.body || doc.getElementsByTagName("body")[0];
+  let printId = "print-" + Date.now();
+ 
+  // 鍒涘缓鏃犲壇浣滅敤鐨勬墦鍗板鍣�(鍥犱笉纭畾椤甸潰鐨勬墦鍗板厓绱犳湁鏃犲叾瀹冩牱寮�)
+  let content = doc.createElement("div");
+  content.id = printId;
+ 
+  // 鏍峰紡鎺у埗涓庢墦鍗版棤鍏崇殑鍏冪礌闅愯棌
+  let style = doc.createElement("style");
+  style.innerHTML =
+    "body>#" +
+    printId +
+    "{display:none}@media print{" +
+    "@page {" +
+    "    size: auto; " +
+    "    margin: 2mm 2mm 2mm 2mm;  " +
+    "  }body>:not(#" +
+    printId +
+    "){display:none !important}body>#" +
+    printId +
+    "{display:block;padding-top:1px}}";
+  //
+  content.innerHTML = el.outerHTML;
+  // // console.log("el.outerHTML", el.outerHTML);
+  body.appendChild(style);
+ 
+  // 涓巗tyle鍏冪礌璁剧疆鐨勬牱寮忕浉閰嶅悎
+  // 鎶婃墦鍗板唴瀹圭殑鍏冪礌娣诲姞鍒癰ody(浣滀负body鐨勫瓙鍏冪礌锛屽彲鐢╞ody鐨勫瓙閫夋嫨鍣� '>' 鎺у埗鎵撳嵃鏍峰紡)
+  body.appendChild(content);
+  setTimeout(() => {
+    window.print();
+    body.removeChild(content);
+    body.removeChild(style);
+  }, 20);
+}
+
+
 // beforeUnmount(() => {
 //   closeWebSocket();
 // });
 // setInterval(fetchTableData, 2000)
 </script>
 <template>
-  <div>
-    <el-card style="flex: 1;" v-loading="loading">
-      <el-card style="flex: 1;margin-left: 4px;margin-top: 1px;" v-loading="loading">
-      <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
-        <el-table height="200px" ref="table" 
-        @selection-change="handleSelectionChange"
-        :data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
-          <el-table-column prop="workstationId" align="center" :label="$t('reportWork.lowerbit')" min-width="80" />
-          <el-table-column prop="workstationId" align="center" :label="$t('reportWork.shelfnumber')" min-width="120" />
-          <el-table-column prop="flowCardId" align="center" :label="$t('reportWork.cardnumber')" min-width="150" />
-          <el-table-column prop="totalquantity" align="center" :label="$t('reportWork.totalquantity')" min-width="120" />
-          <el-table-column prop="racksnumber" align="center" :label="$t('reportWork.beendropped')" min-width="120" />
-          <el-table-column prop="layer" align="center" label="灞傛暟" min-width="120" />
-          <el-table-column prop="artificialnumber" align="center" label="浜哄伐涓嬬墖鏁�" min-width="120" />
-          <el-table-column prop="work_state" align="center" :label="$t('reportWork.state')" min-width="120" />
-          <el-table-column prop="deviceId" align="center" :label="$t('reportWork.devicenumber')" min-width="120" />
-          <el-table-column
-            align="center"
-            :label="$t('reportWork.startstatus')"
-            min-width="80"
-            prop="enableState"
-          >
-          <template #default="scope">
-            <el-tag type="success" >{{ scope.row.enableState==1? $t('reportWork.enable') : $t('reportWork.unenable')}}</el-tag>
-          </template>
-          </el-table-column>
-          <el-table-column fixed="right" :label="$t('reportWork.operate')" align="center" width="200">
-            <template #default="scope">
-            <el-button size="mini" type="text" plain v-show="scope.row.enableState !== '宸插惎鐢�' " @click="handleBindRack(scope.row)">{{ $t('reportWork.bindingshelves') }}</el-button>
-            <el-button size="mini" type="text" plain  @click="handleBindRack2(scope.row)">{{ $t('reportWork.clear') }}</el-button>
-          </template>
-        </el-table-column>
-        </el-table>
-      </div>
-    </el-card>
-    <!-- workstationId: '1',
+  <div style="height: 500px;">
+    <div>
+      <el-button style="margin-top: 10px;margin-left: 10px;margin-bottom: 10px;" id="searchButton" type="primary"
+                 @click="dialogFormVisibleaDownGlass = true">{{ $t('reportWork.details') }}
+      </el-button>
+      <el-button style="margin-top: 10px;margin-left: 10px;margin-bottom: 10px;" id="searchButton" type="primary"
+                 @click="dialogFormVisibleaDownGlasss = true">{{ $t('reportWork.filming') }}
+      </el-button>
+      <el-switch style="margin-top: 10px;margin-left: 15px;margin-bottom: 10px;" v-model="autoPrint" class="mb-2"
+                 :inactive-text="$t('basicData.Automaticprintingswitch')" @change="handleChange"/>
+      <el-card style="flex: 1;" v-loading="loading">
+        <el-card style="flex: 1;margin-left: 4px;margin-top: 1px;" v-loading="loading">
+        <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
+          <el-table height="400px" ref="table" @selection-change="handleSelectionChange" :data="tableData"
+            :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }">
+            <el-table-column prop="workstationId" align="center" :label="$t('reportWork.lowerbit')" min-width="80" />
+            <el-table-column prop="workstationId" align="center" :label="$t('reportWork.shelfnumber')"
+              min-width="120" />
+            <el-table-column prop="flowCardId" align="center" :label="$t('reportWork.cardnumber')" min-width="150" />
+            <el-table-column prop="totalQuantity" align="center" :label="$t('reportWork.totalquantity')"
+              min-width="120" />
+            <el-table-column prop="racksNumber" align="center" :label="$t('reportWork.beendropped')" min-width="130" />
+            <el-table-column prop="layer" align="center" :label="$t('reportWork.cenumber')" min-width="120" />
+            <el-table-column prop="otherNumber" align="center" :label="$t('reportWork.artificialorder')" min-width="120" />
+            <!-- <el-table-column prop="work_state" align="center" :label="$t('reportWork.state')" min-width="120" /> -->
+            <el-table-column prop="deviceId" align="center" :label="$t('reportWork.devicenumber')" min-width="110" />
+            <el-table-column align="center" :label="$t('reportWork.startstatus')" min-width="90" prop="enableState">
+              <template #default="scope">
+                <el-tag :type="getTagType(scope.row.enableState)" @click="toggleStatus(scope.row)">
+                  {{ scope.row.enableState === 1 ? $t('reportWork.enable') : $t('reportWork.unenable') }}
+                </el-tag>
+              </template>
+            </el-table-column>
+            <el-table-column fixed="right" :label="$t('reportWork.operate')" align="center" width="500">
+              <template #default="scope">
+                <el-button size="mini" type="text" v-if="scope.row.workstationId!=7" plain v-show="scope.row.enableState !== '宸插惎鐢�'"
+                  @click="handleBindRack(scope.row)">{{ $t('reportWork.bindingshelves') }}
+                </el-button>
+                <el-button size="mini" type="text" v-if="scope.row.workstationId!=7" plain @click="handleBindRack2(scope.row)">{{ $t('reportWork.clear')
+                  }}</el-button>
+                <el-button @click="open(scope.row)" v-if="scope.row.workstationId!=7" :disabled="scope.row.flowCardId == null">{{ $t('reportWork.processcard') }}</el-button>
+                <el-button @click="open1(scope.row)" v-if="scope.row.workstationId!=7" :disabled="(scope.row.flowCardId == null&&scope.row.workstationId!=7)">{{ $t('reportWork.printlabels') }}</el-button>
+                <el-button @click="handleBindRack3()" :disabled="(scope.row.totalQuantity ==0)" v-if="scope.row.workstationId==7">{{ $t('reportWork.clear') }}</el-button>
+                <el-button @click="open1(scope.row)" v-if="scope.row.workstationId==7" :disabled="(scope.row.totalQuantity ==0&&scope.row.workstationId==7)">{{ $t('reportWork.printlabels') }}</el-button>
+              </template>
+ 
+            </el-table-column>
+          </el-table>
+ 
+        </div>
+        <el-dialog v-model="dialogFormVisibleaDownGlass" top="2vh" width="97%" :title="$t('reportWork.information')">
+          <el-select v-model="selectValuesa[0]" filterable :placeholder="$t('reportWork.cstation')" clearable>
+            <el-option :label="$t('reportWork.all')" value="0"></el-option>
+            <el-option label="1" value="1"></el-option>
+            <el-option label="2" value="2"></el-option>
+            <el-option label="3" value="3"></el-option>
+            <el-option label="4" value="4"></el-option>
+            <el-option label="5" value="5"></el-option>
+            <el-option label="6" value="6"></el-option>
+            <el-option label="7" value="7"></el-option>
+          </el-select>
+ 
+          <el-select v-model="selectValuesa[1]" filterable :placeholder="$t('basicData.plselectproject')" clearable style="margin-left: 20px;"
+            @input="handleInputChangea($event, row.id)">
+            <el-option v-for="item in selectOptionsa" :key="item" :label="item" :value="item" />
+          </el-select>
+ 
+          <span class="demonstration" style="margin-left: 20px;">{{ $t('reportWork.timeperiod') }}</span>
+          <el-date-picker v-model="timeRange" type="datetimerange" range-separator="鑷�" :start-placeholder="$t('reportmanage.starttime')" style="margin-left: 20px;"
+            value-format="YYYY-MM-DD hh:mm:ss" :end-placeholder="$t('reportmanage.endtime')">
+          </el-date-picker>
+ 
+          <el-button type="primary" style="margin-left: 10px;" @click="selectDownGlassData()">{{
+            $t('reportmanage.inquire')
+          }}
+          </el-button>
+          <el-table height="600px" ref="table" @selection-change="handleSelectionChange" :data="downGlass" style="margin-top: 10px;"
+            :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }">
+            <el-table-column prop="workStationId" align="center" :label="$t('reportWork.stationnumber')" min-width="80" />
+            <el-table-column prop="engineerId" align="center" :label="$t('basicData.projectnumber')" min-width="80" />
+            <el-table-column prop="flowCardId" align="center" :label="$t('workOrder.cardnumber')" min-width="90" />
+            <el-table-column prop="layer" align="center" :label="$t('searchOrder.ceng')" min-width="120" />
+            <el-table-column prop="sequence" align="center" :label="$t('reportWork.order')" min-width="150" />
+            <el-table-column prop="width" align="center" :label="$t('basicData.width')" min-width="120" />
+            <el-table-column prop="height" align="center" :label="$t('basicData.height')" min-width="120" />
+            <el-table-column prop="Filmsid" align="center" :label="$t('basicData.coatingtypes')" min-width="120" />
+            <el-table-column prop="thickness" align="center" :label="$t('basicData.thickness')" min-width="120" />
+            <el-table-column prop="glassId" align="center" :label="$t('searchOrder.glassID')" min-width="120" />
+          </el-table>
+        </el-dialog>
+        <el-dialog v-model="dialogFormVisibleaDownGlasss" top="2vh" width="97%" :title="$t('reportWork.filminformation')">
+          <div style="display:flex;justify-content: space-around;">
+            <el-card
+              style="display: flex; justify-content: center; align-items: center; width:800px; height: 800px;position: relative;">
+              <div
+                :style="{ width: takeGlass.width + 'px', height: takeGlass.height + 'px', backgroundColor: '#e1f3d8', transform: 'scale(' + 800 / (takeGlass.width > takeGlass.height ? takeGlass.width : takeGlass.height) + ')' }">
+ 
+              </div>
+              <div style="font-size: 50px; text-align: center;position: absolute;top:0px;left:170px;">
+                <div>{{ $t('reportWork.glassmation') }}</div>
+                <div><el-button type="primary" @click="open1(takeGlass)" >{{ $t('reportWork.printlabels') }}</el-button></div>
+                <div>{{ takeGlass.flowCardId }}</div>
+                <div>{{ takeGlass.layer }}</div>
+                <div>{{ takeGlass.glassId }}</div>
+                <div>{{ takeGlass.width }}</div>
+                <div>{{ takeGlass.height }}</div>
+              </div>
+            </el-card>
+            <el-card
+              style="display: flex; justify-content: center; align-items: center; width: 800px; height: 800px;position: relative;">
+              <div
+                :style="{ width: scanGlass.width + 'px', height: scanGlass.height + 'px', backgroundColor: '#e1f3d8', transform: 'scale(' + 800 / (scanGlass.width > scanGlass.height ? scanGlass.width : scanGlass.height) + ')' }">
+ 
+              </div>
+              <div style="font-size: 50px; text-align: center;position: absolute;top:0px;left:200px;">
+                <div>{{ $t('reportWork.barcodescanner') }}</div>
+                <div><el-button type="primary" @click="open1(scanGlass)" >{{ $t('reportWork.printlabels') }}</el-button></div>
+                <div>{{ scanGlass.flowCardId }}</div>
+                <div>{{ scanGlass.layer }}</div>
+                <div>{{ scanGlass.glassId }}</div>
+                <div>{{ scanGlass.width }}</div>
+                <div>{{ scanGlass.height }}</div>
+ 
+              </div>
+            </el-card>
+          </div>
+        </el-dialog>
+      </el-card>
+      <!-- workstationId: '1',
     workstationId: '1005',
     flowCardId: '183.6',
     totalquantity: '1991',
     racksnumber:"1",
     work_state: '寰呰瘑鍒�', -->
-  <div style="display: flex;" class="awatch">
-  <div id="main-body">
-      <Landingindication></Landingindication>
-    </div>
-  <div id="main-bodya">
-    <Landingindicationtwo></Landingindicationtwo>
-    </div>
-    </div>
+      <div style="display: flex;" class="awatch">
+        <div id="main-body">
+          <Landingindication></Landingindication>
+        </div>
+        <div id="main-bodya">
+          <Landingindicationtwo></Landingindicationtwo>
+        </div>
+      </div>
     </el-card>
+ 
   </div>
-
-    <el-dialog v-model="dialogFormVisiblea" top="21vh" width="40%" :title="$t('reportWork.bindingshelves')">
+  <el-dialog v-model="dialogFormVisiblea" top="21vh" width="40%" :title="$t('reportWork.bindingshelves')">
     <div style="margin-left: 50px;margin-top: 10px;margin-bottom: 10px;">
-      <el-form  size="mini" label-width="100px">
-        <el-form  label-width="210px" label-position="right">
+      <el-form size="mini" label-width="100px">
+        <el-form label-width="210px" label-position="right">
           <el-form-item :label="$t('reportWork.shelfnumbera')" :required="true" style="width: 25vw">
-            <el-input v-model="workstationId" autocomplete="off"/>
+            <el-input v-model="workstationId" autocomplete="off" />
           </el-form-item>
           <el-form-item :label="$t('reportWork.cardnumbera')" :required="true" style="width: 25vw;">
-          <el-select v-model="flowCardId" :placeholder="$t('reportWork.incardnumber')">
-            <el-option v-for="item in flowCardOptions" :key="item.flowcard_id" :label="item.flowcard_id" :value="item.flowcard_id" />
-          </el-select>
-        </el-form-item>
-      </el-form>
+            <el-select v-model="flowCardId" :placeholder="$t('reportWork.incardnumber')">
+              <el-option v-for="item in flowCardOptions" :key="item.flowcard_id" :label="item.flowcard_id"
+                :value="item.flowcard_id" />
+            </el-select>
+          </el-form-item>
+        </el-form>
       </el-form>
     </div>
     <template #footer>
       <div id="dialog-footer">
+ 
         <el-button type="primary" @click="handleConfirm">
           {{ $t('reportWork.sure') }}
         </el-button>
@@ -238,7 +632,7 @@
       </div>
     </template>
   </el-dialog>
-  <el-dialog v-model="dialogFormVisiblea2" top="21vh" width="30%" :title="$t('reportWork.clearglass')">
+  <el-dialog v-model="dialogFormVisiblea2" top="21vh" width="30%" :title="$t('reportWork.confirmclear')">
     <template #footer>
       <div id="dialog-footer">
         <el-button type="primary" @click="handleclear">
@@ -248,32 +642,73 @@
       </div>
     </template>
   </el-dialog>
+  <el-dialog v-model="dialogFormVisiblea3" top="21vh" width="30%" :title="$t('reportWork.confirmclear')">
+    <template #footer>
+      <div id="dialog-footer">
+        <el-button type="primary" @click="clearGlass()">
+          {{ $t('reportWork.sure') }}
+        </el-button>
+        <el-button @click="dialogFormVisiblea3 = false">{{ $t('reportWork.cancel') }}</el-button>
+      </div>
+    </template>
+  </el-dialog>
+    <el-dialog style="width: 75%;height: 75%;" id="sizePrintCalrd" v-model="dialogTableVisible" destroy-on-close>
+      <print-flow id="child" :printFlowCardId="printFlowCardId" :printLayer="printLayer"
+                  style="width: 100%;height: 100%"/>
+    </el-dialog>
+    <el-dialog id="sizePrintCalrd1" v-model="dialogTableVisible1" destroy-on-close>
+      <print-label id="printFlowCard" :printFlowCardId="printFlowCardId" :printLayer="printLayer"
+                   :printGlassId="printGlassId" style=""/>
+    </el-dialog>
+  </div>
 </template>
 <style scoped>
-#dt { display:block; float:left;line-height: 20px;margin-left: 100px;}
-#dta { display:block; float:left;line-height: 20px;margin-left: 80%;}
-#dialog-footer{
+#dt {
+  display: block;
+  float: left;
+  line-height: 20px;
+  margin-left: 100px;
+}
+ 
+#dta {
+  display: block;
+  float: left;
+  line-height: 20px;
+  margin-left: 80%;
+}
+ 
+#dialog-footer {
   text-align: center;
   margin-top: -15px;
 }
-#message{
+ 
+#message {
   text-align: center;
   align-items: center;
   color: black;
-   width: 200px;
-   height: 100px;
-   background-color: #337ecc;
-   margin-left: 28%;
+  width: 200px;
+  height: 100px;
+  background-color: #337ecc;
+  margin-left: 28%;
 }
-.awatch{
+ 
+.awatch {
   max-width: 100%;
 }
-#main-body{
+ 
+#main-body {
   margin-top: -40px;
   margin-left: 150px;
 }
-#main-bodya{
+ 
+#main-bodya {
   margin-top: -40px;
   margin-left: 100px;
 }
+ 
+:deep(#sizePrintCalrd .el-dialog__body) {
+  height: 85%;
+  width: 100%;
+  overflow-y: auto;
+}
 </style>
\ No newline at end of file

--
Gitblit v1.8.0