From b932227695d1118a93b104df8b13987d78514710 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期三, 16 十月 2024 09:43:12 +0800
Subject: [PATCH] 版本整合02

---
 UI-Project/src/views/Returns/upreturns.vue | 1005 ++++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 791 insertions(+), 214 deletions(-)

diff --git a/UI-Project/src/views/Returns/upreturns.vue b/UI-Project/src/views/Returns/upreturns.vue
index 49d1f27..93d9f1d 100644
--- a/UI-Project/src/views/Returns/upreturns.vue
+++ b/UI-Project/src/views/Returns/upreturns.vue
@@ -1,29 +1,27 @@
 <script lang="ts" setup>
-import {Search} from "@element-plus/icons-vue";
-import {reactive} from "vue";
+import {onBeforeUnmount, onMounted, onUnmounted, reactive, ref} from "vue";
 import {useRouter} from "vue-router"
-const router = useRouter()
-import type { TableColumnCtx } from 'element-plus'
-import { ElMessage, ElMessageBox } from 'element-plus'
-import { useI18n } from 'vue-i18n'
-const { t } = useI18n()
-import { WebSocketHost ,host} from '@/utils/constants'
+import {ElMessage} from 'element-plus'
+import {useI18n} from 'vue-i18n'
+import {host, WebSocketHost} from '@/utils/constants'
 import request from "@/utils/request"
-import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
-import { ref, onMounted, onUnmounted, onBeforeUnmount } from "vue";
+import {closeWebSocket, initializeWebSocket} from '@/utils/WebSocketService';
+
+const router = useRouter()
+const {t} = useI18n()
 const selectValuesa = reactive([]);
-const selectedProjectNo = ref(''); // 褰撳墠閫変腑鐨勫伐绋嬪彿  
-const loadingline = ref(''); // 褰撳墠閫変腑鐨勪笂鐗囩嚎
+
+
 const dialogFormVisible = ref(false)
-
-
-
-
 const blind = ref(false)
 const blinda = ref(false)
 const blindb = ref(false)
 const add = ref(false)
 const adda = ref(false)
+const flake = ref(false)
+const flakea = ref(false)
+const flakeb = ref(false)
+const flakec = ref(false)
 const dialoglea = ref(false)
 const tableDatax = ref([])
 const user = ref('');
@@ -37,39 +35,160 @@
 const number = ref('');
 const canSelectProject = ref(true);
 const canStartLoading = ref(false);
+const ida = ref(null);
+const selectedProjectNo = ref(''); // 褰撳墠閫変腑鐨勫伐绋嬪彿
+const selectedProjectNoa = ref(''); // 褰撳墠閫変腑鐨勫伐绋嬪彿  
 const selectedValue = ref(''); // 褰撳墠閫変腑鐨勫  
-const selectedValuea = ref('');  
+const selectedValuea = ref('');
 const selectedValueb = ref('');
-const selectedValuec = ref(''); 
+const selectedValuec = ref('');
 // const upstatus = ref('涓婄墖鏈烘墜鍔ㄧ姸鎬侊細'); // 鍋囪杩欎釜鐢ㄤ簬鏄剧ず鑷姩/鎵嬪姩鐘舵��  
 const upstatus = ref(t('basicData.machineaa'));
 const cuttingMachine = ref(''); // 鍋囪杩欎釜鐢ㄤ簬瀛樺偍鍚庣杩斿洖鐨勭姸鎬佸�硷紙0鎴�1锛�  
 const cuttingMachineStatusColor = ref('#911005'); // 鐢ㄤ簬鍔ㄦ�佽缃甶鏍囩鐨勮儗鏅壊 
 const inKageWord = ref(0); // 鐢ㄤ簬瀛樺偍瑕佷紶閫掔粰鎺ュ彛鐨刬nKageWord鍊� 
 const options = ref<any[]>([]); // 涓嬫媺閫夐」鍒楄〃  
-const ida = ref(null); 
 const selectOptions = ref<Array<any>>([]); // 涓嬫媺閫夐�夐」鏁扮粍  
 const selectOptionsa = ref<Array<any>>([]); // 涓嬫媺閫夐�夐」鏁扮粍  
 const selectOptionsb = ref<Array<any>>([]); // 涓嬫媺閫夐�夐」鏁扮粍  
 const selectOptionsc = ref<Array<any>>([]); // 涓嬫媺閫夐�夐」鏁扮粍  
-  const tableDataa = ref([])
-  const tableData = reactive([]);
+const tableDataa = ref([])
+const tableData = reactive([]);
+const fetchTableData = async () => {
+  try {
+    const response = await request.get("/loadGlass/up-patten-usage/prioritylist");
+    // 妫�鏌ュ搷搴旂姸鎬�
+    if (response.code === 200) {
+      // 鏇存柊琛ㄦ牸鏁版嵁
+      console.log('鎴愬姛鑾峰彇琛ㄦ牸鏁版嵁:', response.data);
+      tableData.splice(0, tableData.length, ...response.data);
+      // window.localStorage.setItem('engineeringId', response.data[0].engineeringId)
+      // 鑾峰彇鍞竴鍊�
+      const uniqueWidths = new Set(response.data.map(item => item.width));
+      const uniqueHeights = new Set(response.data.map(item => item.height));
+      const uniqueFilmsIds = new Set(response.data.map(item => item.filmsId));
+      const uniqueThicknesses = new Set(response.data.map(item => item.thickness));
+
+      selectOptions.value = Array.from(uniqueWidths).map(width => ({
+        value: width, // 鍋囪杩欐槸浣犳兂瑕佷綔涓簐alue鐨勫睘鎬�
+        label: width, // 鍋囪杩欐槸浣犳兂瑕佹樉绀虹殑label
+      }));
+      selectOptionsa.value = Array.from(uniqueHeights).map(height => ({
+        value: height,
+        label: height,
+      }));
+      selectOptionsb.value = Array.from(uniqueFilmsIds).map(filmsId => ({
+        value: filmsId,
+        label: filmsId,
+      }));
+      selectOptionsc.value = Array.from(uniqueThicknesses).map(thickness => ({
+        value: thickness,
+        label: thickness,
+      }));
+    } else {
+      ElMessage.error(response.message);
+    }
+  } catch (error) {
+    // 澶勭悊璇锋眰澶辫触鐨勬儏鍐�
+    // ElMessage.error('鑾峰彇琛ㄦ牸鏁版嵁澶辫触锛岃閲嶈瘯');
+  }
+};
 const handlezhiban = () => {
   dialoglea.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
+  fetchFlowCardId();
 };
 const selectproject = () => {
   dialogFormVisible.value = true;
+  selectgong();
 };
-
-
-onMounted(() => {
-  // socket = initializeWebSocket(socketUrl, handleMessage);
-});
-  onUnmounted(() => {
-    if (socket) {
-    closeWebSocket(socket);
+// 鍊肩彮淇℃伅
+const fetchFlowCardId = async () => {
+  try {
+    const response = await request.post('/loadGlass/work_assignment/selectWorkAssignment', {
+      line: 2001,
+      workingProcedure: '鍐峰姞宸�'
+    })
+    if (response.code == 200) {
+      ElMessage.success(response.message);
+      tableDatax.value = response.data;
+      console.log(tableDatax.value);
+      console
+    } else {
+      ElMessage.error(response.message);
     }
-    });
+  } catch (error) {
+    // 澶勭悊閿欒
+    console.error(error);
+  }
+}
+const handleConfirmb = async () => {
+  const response = await request.post("/loadGlass/work_assignment/updateWorkAssignment", tableDatax.value)
+  if (response.code === 200) {
+    ElMessage.success(response.message);
+    dialoglea.value = false;
+  } else {
+    ElMessage.error(response.message);
+  }
+};
+onMounted(() => {
+  list('');
+  fetchOptions('');
+  socket = initializeWebSocket(socketUrl, handleMessage);
+});
+onUnmounted(() => {
+  if (socket) {
+    closeWebSocket(socket);
+  }
+});
+const list = async () => {
+  try {
+    const response = await request.get('/loadGlass/LoadGlass/list');
+    if (response.code == 200) {
+      tableDataa.value = response.data
+      if (tableDataa.value.length === 4) {
+        if (tableDataa.value[0].patternHeight > 0 && tableDataa.value[0].patternWidth > 0 && tableDataa.value[0].number > 0) {
+          flake.value = true;
+        }
+        if (tableDataa.value[1].patternHeight > 0 && tableDataa.value[1].patternWidth > 0 && tableDataa.value[1].number > 0) {
+          flakea.value = true;
+        }
+        if (tableDataa.value[2].patternHeight > 0 && tableDataa.value[2].patternWidth > 0 && tableDataa.value[2].number > 0) {
+          flakeb.value = true;
+        }
+        if (tableDataa.value[3].patternHeight > 0 && tableDataa.value[3].patternWidth > 0 && tableDataa.value[3].number > 0) {
+          flakec.value = true;
+        }
+      }
+    } else {
+      ElMessage.warning(response.data);
+    }
+  } catch (error) {
+    console.error('Error fetching options:', error);
+  }
+};
+// 鍋囪杩欐槸鎮ㄧ殑鍝嶅簲澶勭悊鍑芥暟 
+// request.get("/loadGlass/LoadGlass/list").then((res) => {
+//       if (res.code == 200) {
+//           tableDataa.value = res.data
+//           if (tableDataa.value.length === 4) {
+//           if (tableDataa.value[0].patternHeight > 0) {
+//           flake.value = true;
+//           }
+//          if (tableDataa.value[1].patternHeight > 0) {
+//           flakea.value = true;
+//           } 
+//          if (tableDataa.value[2].patternHeight > 0) {
+//           flakeb.value = true;
+//           } 
+//          if (tableDataa.value[3].patternHeight > 0) {
+//           flakec.value = true;
+//           } 
+//            }
+//           } else {
+//           ElMessage.warning(res.message)
+//           // router.push("/login")
+//           }
+//           }); 
 //瀹氫箟鎺ユ敹鍔犺浇琛ㄥご涓嬫媺鏁版嵁
 const titleSelectJson = ref({
   processType: [],
@@ -80,12 +199,87 @@
 let socket = null;
 const socketUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/loadGlass`;
 // 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
+const handleMessage = (data) => {
+  if (data.prioritylist != null) {
+    tableData.splice(0, tableData.length, ...data.prioritylist[0]);
+  }
+  if (data.list != null) {
+    tableDataa.value = data.list[0]
+  }
+  if (data.engineering) {
+    if (Array.isArray(data.engineering) && data.engineering.length !== 0) {
+      canSelectProject.value = false;
+      canStartLoading.value = true;
+    } else {
+      canSelectProject.value = true;
+      canStartLoading.value = false;
+    }
+  }
+  if (data.InkageStatus) {
+    if (data.InkageStatus != null) {
+      const status = data.InkageStatus[0];
+      cuttingMachine.value = status;
+      upstatus.value = status === '1' ? t('basicData.machine') : t('basicData.machineaa');
+      cuttingMachineStatusColor.value = status === '1' ? 'green' : '#911005';
+      inKageWord.value = status === '1' ? 0 : 1;
+    }
+  }
+};
+const requestData = {
+  state: 100
+};
 
-const requestData = {  
-  state: 100  
-};  
- 
 
+const selectgong = async (queryString: string) => {
+  try {
+    const response = await request.post('/loadGlass/optimizeProject/listByState', {
+      ...requestData,
+      query: queryString
+    })
+    if (response.code == 200) {
+      titleSelectJson.value.processType = response.data;
+    } else {
+      ElMessage.error(response.message);
+    }
+  } catch (error) {
+    // 澶勭悊閿欒
+    console.error(error);
+  }
+}
+const fetchOptions = async (queryString: string) => {
+  try {
+    // 鍙戦�佽姹傚埌鍚庣鎺ュ彛  
+    const response = await request.post('/loadGlass/optimizeProject/listByState', {
+      ...requestData,
+      query: queryString // 灏嗘煡璇㈠瓧绗︿覆浣滀负鍙傛暟浼犻��  
+    });
+    if (response.code == 200) {
+      // titleSelectJson.value.processType = response.data;
+      console.log(response.data);
+
+    } else {
+      ElMessage.warning(response.data);
+    }
+  } catch (error) {
+    console.error('Error fetching options:', error);
+  }
+};
+// 澶勭悊鐢ㄦ埛杈撳叆鍙樺寲鐨勬柟娉�  
+const handleInputChange = async (value: string) => {
+  if (value) {
+    await fetchOptions(value);
+  } else {
+    options.value = []; // 娓呯┖閫夐」鍒楄〃  
+  }
+};
+// 澶勭悊鐢ㄦ埛杈撳叆鍙樺寲鐨勬柟娉�
+const handleInputChangea = async (value: string) => {
+  if (value) {
+    await fetchOptionsa(value);
+  } else {
+    options.value = []; // 娓呯┖閫夐」鍒楄〃  
+  }
+};
 onBeforeUnmount(() => {
   closeWebSocket();
 });
@@ -95,16 +289,232 @@
   ida.value = row.id;
   add.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
 };
+// 娣诲姞
+const handleConfirm = async () => {
+  // console.log('id.value:', id.value);
+  if ((ida.value === 2 || ida.value === 4) && (parseInt(selectedValuea.value, 10) >= 2700)) {
+    try {
+      const response = await request.post('/loadGlass/LoadGlass/updateGlassMessage', {
+        id: workstationId.value,
+        workstationId: workstationId.value,
+        patternHeight: selectedValuea.value,
+        patternWidth: selectedValue.value,
+        filmsId: selectedValueb.value,
+        patternThickness: selectedValuec.value,
+        number: number.value
+      });
+      // window.localStorage.setItem('workstationId', workstationId.value)
+      // window.localStorage.setItem('patternHeight', selectedValuea.value)
+      // window.localStorage.setItem('patternWidth', selectedValue.value)
+      // window.localStorage.setItem('number', number.value)
+      if (response.code == 200) {
+        // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
+        ElMessage.success(response.message);
+        // window.location.reload()
+        add.value = false;
+        tableDataa.value = response.data;
+        // let workstationId = window.localStorage.getItem('workstationId')
+        // let patternHeight = window.localStorage.getItem('patternHeight')
+        // let patternWidth = window.localStorage.getItem('patternWidth')
+        // let number = window.localStorage.getItem('number')
+        if (selectedValuea.value !== '0' && selectedValue.value !== '0' && number.value !== '0' && workstationId.value === '1') {
+          flake.value = true
+        } else if (selectedValuea.value !== '0' && selectedValue.value !== '0' && number.value !== '0' && workstationId.value === '2') {
+          flakea.value = true
+        } else if (selectedValuea.value !== '0' && selectedValue.value !== '0' && number.value !== '0' && workstationId.value === '3') {
+          flakeb.value = true
+        } else if (selectedValuea.value !== '0' && selectedValue.value !== '0' && number.value !== '0' && workstationId.value === '4') {
+          flakec.value = true
+        }
+        //   if (patternHeight !== '0' && patternWidth !== '0' && number !== '0' && workstationId === '1') {
+        //   flake.value = true
+        // } else if (patternHeight !== '0' && patternWidth !== '0' && number !== '0' && workstationId === '2'){
+        //   flakea.value = true
+        // }else if (patternHeight !== '0' && patternWidth !== '0' && number !== '0' && workstationId === '3'){
+        //   flakeb.value = true
+        // }else if (patternHeight !== '0' && patternWidth !== '0' && number !== '0' && workstationId === '4'){
+        //   flakec.value = true
+        // }
+        selectedValuea.value = '';
+        selectedValue.value = '';
+        selectedValueb.value = '';
+        selectedValuec.value = '';
+        number.value = '';
+        list()
+      } else {
+        // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
+        ElMessage.error(response.message);
+      }
+    } catch (error) {
+      // 澶勭悊璇锋眰閿欒  
+    }
+  } else if (ida.value === 1 || ida.value === 3) {
+    try {
+      const response = await request.post('/loadGlass/LoadGlass/updateGlassMessage', {
+        id: workstationId.value,
+        workstationId: workstationId.value,
+        patternHeight: selectedValuea.value,
+        patternWidth: selectedValue.value,
+        filmsId: selectedValueb.value,
+        patternThickness: selectedValuec.value,
+        number: number.value
+      });
+      if (response.code == 200) {
+        // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
+        ElMessage.success(response.message);
+        // window.location.reload()
+        add.value = false;
+        tableDataa.value = response.data;
+        if (selectedValuea.value !== '0' && selectedValue.value !== '0' && number.value !== '0' && workstationId.value === '1') {
+          flake.value = true
+        } else if (selectedValuea.value !== '0' && selectedValue.value !== '0' && number.value !== '0' && workstationId.value === '2') {
+          flakea.value = true
+        } else if (selectedValuea.value !== '0' && selectedValue.value !== '0' && number.value !== '0' && workstationId.value === '3') {
+          flakeb.value = true
+        } else if (selectedValuea.value !== '0' && selectedValue.value !== '0' && number.value !== '0' && workstationId.value === '4') {
+          flakec.value = true
+        }
+        selectedValuea.value = '';
+        selectedValue.value = '';
+        selectedValueb.value = '';
+        selectedValuec.value = '';
+        number.value = '';
+        list()
+      } else {
+        // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
+        ElMessage.error(response.message);
+      }
+    } catch (error) {
+      // 澶勭悊璇锋眰閿欒  
+    }
+  } else {
+    ElMessage({
+      type: 'info',
+      message: t('basicData.pause'),
+    })
+  }
+};
+// 鍒犻櫎
+const handleConfirma = async () => {
+  try {
+    const response = await request.post('/loadGlass/LoadGlass/updateGlassMessage', {
+      workstationId: workstationId.value,
+      patternHeight: 0,
+      patternWidth: 0,
+      filmsId: "",
+      patternThickness: 0,
+      number: 0
+    });
+    if (response.code == 200) {
+      // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
+      ElMessage.success(response.message);
+      adda.value = false;
+      tableDataa.value = response.data;
+      // window.localStorage.setItem('workstationId', response.data.workstationId)
+      // let workstationId = window.localStorage.getItem('workstationId')
+      if (workstationId.value == '1') {
+        flake.value = false
+      } else if (workstationId.value == '2') {
+        flakea.value = false
+      } else if (workstationId.value == '3') {
+        flakeb.value = false
+      } else if (workstationId.value == '4') {
+        flakec.value = false
+      }
+      list()
+    } else {
+      // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
+      ElMessage.error(response.message);
+    }
+  } catch (error) {
+    // 澶勭悊閿欒
+    console.error(error);
+  }
+};
+// 閫夋嫨宸ョ▼纭
+const handleup = async () => {
+  try {
+    const response = await request.post('/loadGlass/up-patten-usage/selectUpPattenUsage', {
+      engineerId: selectedProjectNo.value,
+    })
+    window.localStorage.setItem('engineeringId', selectedProjectNo.value)
+    if (response.code == 200) {
+      // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
+      ElMessage.success(response.message);
+      // window.location.reload() 
+      dialogFormVisible.value = false;
+      tableData.splice(0, tableData.length, ...response.data);
+      selectedProjectNo.value = ''
+      markingMachineStatus.value = '#911005';
+      cuttingMachineStatus.value = '#911005';
+      const uniqueWidths = new Set(response.data.map(item => item.width));
+      const uniqueHeights = new Set(response.data.map(item => item.height));
+      const uniqueFilmsIds = new Set(response.data.map(item => item.filmsId));
+      const uniqueThicknesses = new Set(response.data.map(item => item.thickness));
+      selectOptions.value = Array.from(uniqueWidths).map(width => ({
+        value: width,
+        label: width,
+      }));
+      selectOptionsa.value = Array.from(uniqueHeights).map(height => ({
+        value: height,
+        label: height,
+      }));
+      selectOptionsb.value = Array.from(uniqueFilmsIds).map(filmsId => ({
+        value: filmsId,
+        label: filmsId,
+      }));
+      selectOptionsc.value = Array.from(uniqueThicknesses).map(thickness => ({
+        value: thickness,
+        label: thickness,
+      }));
+    } else {
+      // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
+      ElMessage.error(response.message);
+      // ElMessage.error(response.msg);
+    }
+  } catch (error) {
+    // 澶勭悊閿欒
+    console.error(error);
+  }
+}
+// 寮�濮嬩笂鐗�
+const handle = async () => {
+  if (markingMachineStatus.value === 'green' && cuttingMachineStatus.value === 'green') {
+    try {
+      let engineeringId = window.localStorage.getItem('engineeringId')
+      const response = await request.post('/loadGlass/engineering/engineering/changeTask', {
+        engineerId: engineeringId,
+        state: 1,
+      })
+      if (response.code == 200) {
+        // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
+        ElMessage.success(response.message);
+        // window.location.reload()
+        blind.value = false;
+        selectedProjectNoa.value = '';
+      } else {
+        // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
+        ElMessage.error(response.message);
+      }
+    } catch (error) {
+      // 澶勭悊閿欒
+      console.error(error);
+    }
+  } else if (markingMachineStatus.value === '#911005' || cuttingMachineStatus.value === '#911005') {
+    // 鎻愮ず鐢ㄦ埛鎵撴爣鏈烘湭灏辩华
+    ElMessage.warning(t('basicData.pausea'));
+  }
+}
 // 鏆傚仠
 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,
-    })
+  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;
@@ -120,22 +530,54 @@
         message: t('basicData.infonull'),
       })
     }
-}
-catch (error) {
+  } catch (error) {
     // 澶勭悊閿欒
     console.error(error);
   }
 }
+// 鍋滄浠诲姟
+const handleb = 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);
+        // window.location.reload()
+        blindb.value = false;
+        tableData.splice([]);
+
+        // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
+        ElMessage.error(response.message);
+      }
+    } else {
+      ElMessage({
+        type: 'info',
+        message: t('basicData.infonull'),
+      })
+    }
+  } catch (error) {
+    // 澶勭悊閿欒
+    console.error(error);
+  }
+}
+onMounted(fetchTableData);
+
 function getStatusText(state: number) {
   switch (state) {
-    case 0:  
+    case 0:
       return t('basicData.waiting');
-    case 1:  
+    case 1:
       return t('basicData.up');
-    case 2:  
-    return t('basicData.up');
-    case 100:  
-    return t('basicData.finish');
+    case 2:
+      return t('basicData.up');
+    case 100:
+      return t('basicData.finish');
   }  
 }  
 function getStatusType(state: number) {  
@@ -160,133 +602,207 @@
 };
 // 鍋滄浠诲姟
 const handleBindb = (row) => {
-  blindb.value = true; 
+  blindb.value = true;
 };
- 
+
 // 鍒犻櫎
 const handleBindRacka = (row) => {
   workstationId.value = row.workstationId;
-  adda.value = true; 
+  adda.value = true;
 };
-const toggleEnableState = async (row: any) => {  
+// 瀹氫箟涓�涓搷搴斿紡寮曠敤锛岀敤浜庡瓨鍌ㄩ鑹茬姸鎬�  
+const markingMachineStatus = ref('#911005');
+const cuttingMachineStatus = ref('#911005');
+// 瀹氫箟涓�涓柟娉曟潵鏀瑰彉棰滆壊鐘舵��  
+const confirmMarkingMachine = () => {
+  markingMachineStatus.value = 'green';
+};
+const confirmCuttingMachine = () => {
+  cuttingMachineStatus.value = 'green';
+};
+const toggleEnableState = async (row: any) => {
   // 妫�鏌� id 鏄惁涓虹┖  
-  if (!row.id) {  
-    ElMessage.error(t('basicData.updatanull'));  
+  if (!row.id) {
+    ElMessage.error(t('basicData.updatanull'));
     return; // 濡傛灉 id 涓虹┖锛屽垯涓嶆墽琛屽悗缁搷浣�  
-  }  
-  const newState = row.state === 100 ? 0 : 100;  
-  try {  
+  }
+  const newState = row.state === 100 ? 0 : 100;
+  try {
     // 鍙戦�佽姹傚埌鍚庣鏇存柊鐘舵��  
-    const response = await request.post('/loadGlass/up-patten-usage/updateGlassState', { id: row.id, state: newState });  
-    if (response.code === 200) {  
-      ElMessage.success(response.message);  
-      row.state = newState;  
-    } else {  
-      ElMessage.error(response.message);  
-    }  
-  } catch (error) {  
+    const response = await request.post('/loadGlass/up-patten-usage/updateGlassState', {id: row.id, state: newState});
+    if (response.code === 200) {
+      ElMessage.success(response.message);
+      row.state = newState;
+    } else {
+      ElMessage.error(response.message);
+    }
+  } catch (error) {
     // 澶勭悊璇锋眰閿欒  
-    ElMessage.error(t('basicData.glassnull'));   
-  }  
+    ElMessage.error(t('basicData.glassnull'));
+  }
+};
+// 涓婄墖鏈鸿仈鏈虹姸鎬�
+// const wsUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/loadGlass`;
+// const ws = new WebSocket(wsUrl);  
+// ws.onopen = () => {  
+//   console.log('WebSocket杩炴帴宸叉墦寮�');  
+// };  
+
+// // 鐩戝惉WebSocket鐨勯敊璇簨浠�  
+// ws.onerror = (error) => {  
+//   console.error('WebSocket鍙戠敓閿欒:', error);  
+// };  
+
+// // 鐩戝惉WebSocket鐨勫叧闂簨浠�  
+// ws.onclose = (event) => {  
+//   if (event.wasClean) {  
+//     console.log('WebSocket杩炴帴宸叉甯稿叧闂�');  
+//   } else {  
+//     console.error('WebSocket杩炴帴寮傚父鍏抽棴');  
+//   }  
+// };  
+// // 鐩戝惉WebSocket鐨勬秷鎭簨浠�  
+// ws.onmessage = (event) => {  
+//   try {   
+//     const data = JSON.parse(event.data.replace('<END>', '')); // 瑙f瀽娑堟伅涓篔SON  
+//     if (data && Array.isArray(data.InkageStatus) && data.InkageStatus.length > 0) {  
+// if(data.InkageStatus!=null){
+//       const status = data.InkageStatus[0]; 
+//       cuttingMachine.value = status; 
+//             upstatus.value = status === '1' ? t('basicData.machine') : t('basicData.machineaa');
+//       cuttingMachineStatusColor.value = status === '1' ? 'green' : '#911005';  
+//       inKageWord.value = status === '1' ? 0 : 1;  
+// }
+//     } else {  
+//       // 澶勭悊閿欒鎯呭喌鎴栨棤鏁堟暟鎹�  
+//       // console.error('鎺ユ敹鍒扮殑鏁版嵁鏃犳晥', data);  
+//     }  
+//   } catch (error) {  
+//     // console.error('瑙f瀽WebSocket娑堟伅鏃跺彂鐢熼敊璇�', error);  
+//   }  
+// };  
+const confirmCutting = async () => {
+  try {
+    const response = await request.post('/loadGlass/LoadGlass/updateMesInkageLoad',
+        inKageWord.value
+    );
+    if (response.code == 200) {
+      const status = response.data.status;
+      upstatus.value = status === '1' ? t('basicData.machine') : t('basicData.machineaa');
+      cuttingMachineStatusColor.value = status === '1' ? 'green' : '#911005';
+      // 鏄剧ず鎴愬姛娑堟伅  
+      ElMessage.success(response.message);
+    } else {
+      ElMessage.error(response.message || '璇锋眰澶辫触');
+    }
+  } catch (error) {
+    // 澶勭悊閿欒  
+    console.error('璇锋眰鏃跺彂鐢熼敊璇�', error);
+    ElMessage.error('璇锋眰鏃跺彂鐢熼敊璇�');
+  }
 };
 </script>
 <template>
   <div>
     <div id="dotClass">
-      <div>{{ $t('basicData.laserprinting') }}</div>  
-    <i :style="{ marginTop: '2px', backgroundColor: markingMachineStatus, width: '18px', height: '18px', borderRadius: '50%', display: 'block' }"></i>  
-    <el-button @click="confirmMarkingMachine" style="margin-left: 30px;margin-top: -3px;">{{ $t('basicData.yes') }}</el-button>
-    <div style="margin-left: 70px;">{{ $t('basicData.cuttingmachine') }}</div>
-    <i :style="{ marginTop: '2px', backgroundColor: cuttingMachineStatus, width: '18px', height: '18px', borderRadius: '50%', display: 'block' }"></i>  
-    <el-button @click="confirmCuttingMachine" style="margin-left: 30px;margin-top: -3px;" >{{ $t('basicData.yes') }}</el-button>
-    <div style="margin-left: 70px;">{{ upstatus  }} </div>
-    <i :style="{ marginTop: '2px', backgroundColor: cuttingMachineStatusColor, width: '18px', height: '18px', borderRadius: '50%', display: 'block' }"></i>  
-    <el-button @click="confirmCutting" style="margin-left: 30px;margin-top: -3px;" >{{ $t('basicData.change') }}</el-button>
-   
-  </div>
-    <el-button style="margin-top: 5px;margin-left: 15px;"  type="primary" @click="selectproject">{{ $t('Mounting.previewproject') }}</el-button>
-    <el-button style="margin-top: 5px;margin-left: 20px;" type="success" @click="handleBind">{{ $t('basicData.startloading') }}</el-button>
-    <el-button style="margin-top: 5px;margin-left: 20px;"  id="searchButton" type="warning" @click="handleBinda">{{ $t('basicData.stop') }}</el-button>
-    <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="info" @click="handlezhiban">{{ $t('searchOrder.dutyinformation') }}</el-button>
-    <el-select v-model="selectValuesa[1]" clearable :placeholder="$t('Mounting.loadinglinea')" style="margin-top: 5px;margin-left: 20px;" >
-      <el-option :label="$t('Mounting.all')" value="0"></el-option>
-      <el-option :label="$t('Mounting.oneloadingline')" value="1"></el-option>
-      <el-option :label="$t('Mounting.twoloadingline')" value="2"></el-option>
-    </el-select>
-    <el-select v-model="selectValuesa[0]" clearable :placeholder="$t('film.taskstatus')" style="margin-top: 5px;margin-left: 20px;" >
-      <el-option :label="$t('Mounting.waiting')" value="1"></el-option>
+      <div>{{ $t('basicData.laserprinting') }}</div>
+      <i :style="{ marginTop: '2px', backgroundColor: markingMachineStatus, width: '18px', height: '18px', borderRadius: '50%', display: 'block' }"></i>
+      <el-button @click="confirmMarkingMachine" style="margin-left: 30px;margin-top: -3px;">{{
+          $t('basicData.yes')
+        }}
+      </el-button>
+      <div style="margin-left: 70px;">{{ $t('basicData.cuttingmachine') }}</div>
+      <i :style="{ marginTop: '2px', backgroundColor: cuttingMachineStatus, width: '18px', height: '18px', borderRadius: '50%', display: 'block' }"></i>
+      <el-button @click="confirmCuttingMachine" style="margin-left: 30px;margin-top: -3px;">{{
+          $t('basicData.yes')
+        }}
+      </el-button>
+      <div style="margin-left: 70px;">{{ upstatus }}</div>
+      <i :style="{ marginTop: '2px', backgroundColor: cuttingMachineStatusColor, width: '18px', height: '18px', borderRadius: '50%', display: 'block' }"></i>
+      <el-button @click="confirmCutting" style="margin-left: 30px;margin-top: -3px;">{{
+          $t('basicData.change')
+        }}
+      </el-button>
+
+    </div>
+    <el-button :disabled="!canSelectProject" style="margin-top: 5px;margin-left: 15px;" type="primary"
+               @click="selectproject">{{ $t('Mounting.previewproject') }}
+    </el-button>
+    <el-button :disabled="!canSelectProject"
+               :style="{ backgroundColor: canStartLoading ? 'green' : 'initial',color: canStartLoading ? 'white' : 'black', }"
+               style="margin-top: 5px;margin-left: 20px;" @click="handleBind">{{ $t('basicData.startloading') }}
+    </el-button>
+    <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="warning" @click="handleBinda">
+      {{ $t('basicData.stop') }}
+    </el-button>
+    <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="info" @click="handlezhiban">
+      {{ $t('searchOrder.dutyinformation') }}
+    </el-button>
+    <el-select v-model="selectValuesa[0]" clearable :placeholder="$t('film.taskstatus')"
+               style="margin-top: 5px;margin-left: 20px;">
+      <el-option :label="$t('film.built')" value="1"></el-option>
       <el-option :label="$t('film.execution')" value="2"></el-option>
       <el-option :label="$t('film.finish')" value="3"></el-option>
     </el-select>
-    <el-button type="primary" style="margin-left: 10px;" @click="selectReportData()">{{ $t('Mounting.setparameters') }}</el-button>
+    <el-select v-model="selectValuesa[1]" clearable :placeholder="$t('film.tasktype')"
+               style="margin-top: 5px;margin-left: 20px;">
+      <el-option :label="$t('film.stocke')" value="1"></el-option>
+      <el-option :label="$t('film.outbound')" value="2"></el-option>
+      <el-option :label="$t('film.dispatch')" value="3"></el-option>
+    </el-select>
+    <el-button type="primary" style="margin-left: 10px;" @click="selectReportData()">{{
+        $t('film.inquire')
+      }}
+    </el-button>
     <el-card style="flex: 1;margin-left: 10px;margin-top: 15px;" v-loading="loading">
       <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
-    <el-table
-    height="350"
-     ref="table" 
-     :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"
-      :data="tableData"
-    >
-      <el-table-column prop="layoutSequence" :label="$t('Mounting.project')" width="100" align="center"/>
-      <el-table-column prop="engineeringId" :label="$t('Mounting.width')" width="200" align="center"/>
-      <el-table-column prop="width" :label="$t('Mounting.height')" align="center"/>
-      <el-table-column prop="height" :label="$t('Mounting.thickness')" align="center"/>
-      <el-table-column prop="filmsId" :label="$t('Mounting.loadinglinea')" align="center"/>
-      <el-table-column :label="$t('Mounting.projectnumber')" align="center">  
-      <template #default="{ row }">  
-        <!-- 杩欓噷鎬绘槸鏄剧ず 1 -->  
-        <span>{{ 1 }}</span>  
-      </template>  
-    </el-table-column>  
-      <el-table-column
-          align="center"
-            :label="$t('Mounting.state')"
-            min-width="80"
-            prop="state"
+        <el-table
+            height="350"
+            ref="table"
+            :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"
+            :data="tableData"
+        >
+          <el-table-column prop="layoutSequence" :label="$t('basicData.layoutSequence')" width="100" align="center"/>
+          <el-table-column prop="engineeringId" :label="$t('basicData.projectnumber')" width="200" align="center"/>
+          <el-table-column prop="width" :label="$t('basicData.glasswidth')" align="center"/>
+          <el-table-column prop="height" :label="$t('basicData.glassheight')" align="center"/>
+          <el-table-column prop="filmsId" :label="$t('basicData.coatingtypes')" align="center"/>
+          <el-table-column :label="$t('basicData.quantity')" align="center">
+            <template #default="{ row }">
+              <!-- 杩欓噷鎬绘槸鏄剧ず 1 -->
+              <span>{{ 1 }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column prop="thickness" :label="$t('basicData.thickness')" align="center"/>
+          <!-- <el-table-column
+                align="center"
+                label="鐘舵��"
+                min-width="80"
+                prop="state"
+              >
+              <template #default="scope">
+            <el-tag :type="getStatusType(scope.row.state)">
+              {{ getStatusText(scope.row.state) }}
+            </el-tag>
+          </template>  -->
+          <el-table-column
+              align="center"
+              :label="$t('basicData.startstatus')"
+              min-width="80"
+              prop="state"
           >
-          <template #default="scope">  
-          <el-tag  
-            :type="scope.row.state === 100 ? 'success' : 'warning'"  
-            @click="toggleEnableState(scope.row)"  
-          >  
-            {{ scope.row.state === 100 ? $t('Mounting.pass') : $t('Mounting.waiting') }}
-          </el-tag>  
+            <template #default="scope">
+              <el-tag
+                  :type="scope.row.state === 100 ? 'success' : 'warning'"
+                  @click="toggleEnableState(scope.row)"
+          >
+                {{ scope.row.state === 100 ? $t('basicData.pass') : $t('basicData.waiting') }}
+              </el-tag>
         </template> 
           </el-table-column>
-      <el-table-column prop="filmsId" :label="$t('Mounting.createtime')" align="center"/>
     </el-table>
       </div>
     </el-card>
-    <div style="display: flex;">
-  <div style="width: 49%;float: left;">
-    <div style="display: flex;">
-        <img src="../../assets/shangpianji.png" alt="" style="max-width: 25%;max-height: 25%;margin-left: 10%;margin-top: 5%;">
-        <el-table :data="tableDataa" border style="width: 75%;margin-top: 10%;margin-left: 2%;"
-     :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"
-        >
-          <el-table-column prop="workstationId" align="center" :label="$t('basicData.station')" min-width="60" />
-          <el-table-column prop="patternWidth" align="center" :label="$t('basicData.width')" min-width="80" />
-          <el-table-column prop="patternHeight" align="center" :label="$t('basicData.height')" min-width="80" />
-          <el-table-column prop="filmsId" align="center" :label="$t('basicData.coatingtypes')" min-width="80" />
-          <el-table-column prop="number" align="center" :label="$t('basicData.quantity')" min-width="80" />
-        </el-table>
-    </div>
-  </div>
-    <div style="width: 48%;float: right;">
-      <div style="display: flex;">
-        <img src="../../assets/shangpianji.png" alt="" style="max-width: 25%;max-height: 25%;margin-left: 10%;margin-top: 5%;">
-        <el-table :data="tableDataa" border style="width: 75%;margin-top: 10%;margin-left: 2%;"
-     :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"
-        >
-          <el-table-column prop="workstationId" align="center" :label="$t('basicData.station')" min-width="60" />
-          <el-table-column prop="patternWidth" align="center" :label="$t('basicData.width')" min-width="80" />
-          <el-table-column prop="patternHeight" align="center" :label="$t('basicData.height')" min-width="80" />
-          <el-table-column prop="filmsId" align="center" :label="$t('basicData.coatingtypes')" min-width="80" />
-          <el-table-column prop="number" align="center" :label="$t('basicData.quantity')" min-width="80" />
-        </el-table>
-    </div>
-</div>
-</div>
   <el-dialog v-model="blind" top="30vh" width="25%" :title="$t('basicData.startfilm')">
     <template #footer>
       <div id="dialog-footer">
@@ -323,35 +839,67 @@
       </div>
     </template>
 </el-dialog>
-  <el-dialog v-model="blinda" top="24vh" width="30%" :title="$t('basicData.whetherpause')">
-    <div style="margin-left: 50px;margin-bottom: 10px;">
-    <el-form-item :label="$t('Mounting.loadingline')" :required="true">
-    <el-select v-model="loadingline" clearable :placeholder="$t('Mounting.inloadingline')" style="margin-left: 20px;" >
-      <el-option :label="$t('Mounting.all')" value="0"></el-option>
-      <el-option :label="$t('Mounting.oneloadingline')" value="1"></el-option>
-      <el-option :label="$t('Mounting.twoloadingline')" value="2"></el-option>
-    </el-select>
-    </el-form-item>
+    <el-dialog v-model="blinda" top="30vh" width="25%" :title="$t('basicData.whetherpause')">
+      <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="鏄惁鍋滄浠诲姟?" >
+      <template #footer>
+        <div id="dialog-footer">
+          <el-button type="primary" @click="handleb">
+            纭
+          </el-button>
+          <el-button @click="blindb = false">鍙栨秷</el-button>
+        </div>
+      </template>
+    </el-dialog> -->
+    <div id="parent">
+      <img src="../../assets/shangpian.png" alt=""
+           style="max-width: 40%;max-height: 40%;margin-top: 20px;margin-left: 340px;">
+      <div id="overlay" v-show="flake"></div>
+      <div id="overlaya" v-show="flakea"></div>
+      <div id="overlayb" v-show="flakeb"></div>
+      <div id="overlayc" v-show="flakec"></div>
     </div>
-    <template #footer>
-      <div id="dialog-footer">
-        <el-button type="primary" @click="handleup">
-          {{ $t('basicData.confirm') }}
-        </el-button>
-        <el-button @click="blinda = false">{{ $t('basicData.cancel') }}</el-button>
-      </div>
-    </template>
-  </el-dialog>
-    
-  <el-dialog v-model="add" top="23vh" width="45%" :title="$t('basicData.addglass')" >
-    <div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;">
-            <el-form  size="mini" label-width="150px">
-      <el-form label-width="70px" label-position="right">
-        <el-row style="margin-top: -15px;margin-bottom: -2px;">
-          <el-col :span="6">
-              <div id="dt" style="font-size: 15px;">
-        <div>
-              <el-form-item :label="$t('basicData.widtha')" :required="true" style="width: 14vw">
+    <div style="margin-top: -300px;margin-left: 680px;">
+      <el-table :data="tableDataa" border style="width: 85%"
+                :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"
+      >
+        <el-table-column prop="workstationId" align="center" :label="$t('basicData.station')" min-width="60"/>
+        <el-table-column prop="patternWidth" align="center" :label="$t('basicData.width')" min-width="80"/>
+        <el-table-column prop="patternHeight" align="center" :label="$t('basicData.height')" min-width="80"/>
+        <el-table-column prop="filmsId" align="center" :label="$t('basicData.coatingtypes')" min-width="80"/>
+        <el-table-column prop="number" align="center" :label="$t('basicData.quantity')" min-width="80"/>
+        <el-table-column fixed="right" :label="$t('basicData.operate')" align="center" width="150">
+          <template #default="scope">
+            <el-button size="mini" type="text" plain @click="handleBindRack(scope.row)">{{
+                $t('basicData.add')
+              }}
+            </el-button>
+            <el-button size="mini" type="text" plain @click="handleBindRacka(scope.row)">{{
+                $t('basicData.delete')
+              }}
+            </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+
+    <el-dialog v-model="add" top="23vh" width="45%" :title="$t('basicData.addglass')">
+      <div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;">
+        <el-form size="mini" label-width="150px">
+          <el-form label-width="70px" label-position="right">
+            <el-row style="margin-top: -15px;margin-bottom: -2px;">
+              <el-col :span="6">
+                <div id="dt" style="font-size: 15px;">
+                  <div>
+                    <el-form-item :label="$t('basicData.widtha')" :required="true" style="width: 14vw">
                <el-select  
                       v-model="selectedValue"  
                       filterable  
@@ -469,26 +1017,20 @@
       </div>
     </template>
   </el-dialog>
-        </div>
-  <el-dialog v-model="dialogFormVisible" top="24vh" width="50%"  >
-    <div class="flex-container" style="margin-left: 50px;margin-bottom: 10px;">
-    <el-form-item :label="$t('Mounting.loadingline')" :required="true">
-    <el-select v-model="loadingline" clearable :placeholder="$t('Mounting.inloadingline')"  >
-      <el-option :label="$t('Mounting.oneloadingline')" value="1"></el-option>
-      <el-option :label="$t('Mounting.twoloadingline')" value="2"></el-option>
-    </el-select>
-              </el-form-item>
-      <el-form-item :label="$t('Mounting.projecta')" :required="true">
-        <el-select  
-           v-model="selectedProjectNo"  
-           filterable  
-           clearable  
-           :placeholder="$t('basicData.plselectproject')"
-           style="width: 220px"  
-           @input="handleInputChange"  
-         >  
-      <el-option  
-         v-for="item in titleSelectJson['processType']"  
+  </div>
+  <el-dialog v-model="dialogFormVisible" top="24vh" width="30%" :title="$t('basicData.project')">
+    <div style="margin-left: 50px;margin-bottom: 10px;">
+      <el-form-item :label="$t('basicData.projectnumber')" :required="true">
+        <el-select
+            v-model="selectedProjectNo"
+            filterable
+            clearable
+            :placeholder="$t('basicData.plselectproject')"
+            style="width: 220px"
+            @input="handleInputChange"
+        >
+          <el-option
+              v-for="item in titleSelectJson['processType']"
          :key="item.id"  
          :label="item.projectNo"  
          :value="item.projectNo"  
@@ -508,19 +1050,6 @@
 </template>
  
 <style scoped>
- .flex-container {  
-  display: flex;  
-  align-items: center; /* 鍨傜洿灞呬腑 */  
-}  
-.flex-container .el-form-item {  
-  flex: 1; /* 浣挎瘡涓〃鍗曢」鍗犳嵁鐩哥瓑鐨勭┖闂� */  
-  margin-right: 0; /* 绉婚櫎榛樿鐨勫彸渚ц竟璺� */  
-}  
-.flex-container .el-form-item:last-child {  
-  margin-left: 20px; /* 涓虹浜屼釜琛ㄥ崟椤规坊鍔犲乏渚ц竟璺� */  
-}
-
-
 
 #dt { display:block; float:left;line-height: 20px;margin-left: 100px;}
 #dta { display:block; float:left;line-height: 20px;margin-left: 80%;}
@@ -528,11 +1057,59 @@
   text-align: center;
   margin-top: -15px;
 }
+
 #dotClass {
   display: flex;
-  margin-left: 20px; 
+  margin-left: 20px;
   size: 50px;
   margin-top: 20px;
   margin-bottom: 10px;
 }
+
+#parent {
+  position: relative;
+  width: 1500px;
+  margin-left: -300px
+}
+
+#overlayb {
+  position: absolute;
+  z-index: 1;
+  width: 228px;
+  height: 16px;
+  background-color: #529b2e;
+  margin-top: -303px;
+  margin-left: 355px;
+}
+
+#overlayc {
+  position: absolute;
+  z-index: 1;
+  width: 228px;
+  height: 16px;
+  background-color: #529b2e;
+  margin-top: -303px;
+  margin-left: 703px;
+}
+
+#overlay {
+  position: absolute;
+  z-index: 1;
+  width: 228px;
+  height: 16px;
+  background-color: #529b2e;
+  margin-top: -45px;
+  margin-left: 355px;
+}
+
+#overlaya {
+  position: absolute;
+  z-index: 1;
+  width: 228px;
+  height: 16px;
+  background-color: #529b2e;
+  margin-top: -45px;
+  margin-left: 703px;
+}
+ 
 </style>
\ No newline at end of file

--
Gitblit v1.8.0