From bd21c609d3e0f325f10f20bb1f59ae24a4b35dc2 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期一, 03 三月 2025 10:29:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 UI-Project/src/views/Returns/upreturns.vue |  909 +++++++++++++++++++++++++++++++-------------------------
 1 files changed, 509 insertions(+), 400 deletions(-)

diff --git a/UI-Project/src/views/Returns/upreturns.vue b/UI-Project/src/views/Returns/upreturns.vue
index 1d25199..6df2a38 100644
--- a/UI-Project/src/views/Returns/upreturns.vue
+++ b/UI-Project/src/views/Returns/upreturns.vue
@@ -1,336 +1,568 @@
 <script lang="ts" setup>
-import {Search} from "@element-plus/icons-vue";
-import {reactive} from "vue";
+import {onBeforeUnmount, onMounted, onUnmounted, reactive, ref, computed} 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 {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 selectedProjectNo = ref('');
+const stationCell = ref('1');
+const filmRemove = 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 dialoglea = ref(false)
+const ReportData = ref(true);
+const canSelectProjecta = ref(true);
+const canSelectProjectb = ref(true);
+const canSelectProjectc = ref(false);
 const tableDatax = ref([])
-const user = ref('');
-const projectNo = ref('');
-const workstationId = ref('');
-const id = ref('');
-const patternHeight = ref('');
-const patternWidth = ref('');
-const filmsId = ref('');
-const patternThickness = ref('');
-const number = ref('');
-const canSelectProject = ref(true);
-const canStartLoading = ref(false);
-const selectedValue = ref(''); // 褰撳墠閫変腑鐨勫  
-const selectedValuea = ref('');  
-const selectedValueb = ref('');
-const selectedValuec = ref(''); 
-// const upstatus = ref('涓婄墖鏈烘墜鍔ㄧ姸鎬侊細'); // 鍋囪杩欎釜鐢ㄤ簬鏄剧ず鑷姩/鎵嬪姩鐘舵��  
+const tableDatad = 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 cuttingMachineStatusColor = ref('#911005');
+const tableDataa = ref<any[]>([]);
+const tableDatab = ref<any[]>([]);
+const tableData = ref([])
+const titleSelectJson = ref({
+  engineerId: [],
+})
+request.post("/loadGlass/up-patten-usage/setUpPattenRequest",{
+  state: null,
+  stationCell: 5
+}).then((response) => {
+          if (response.code == 200) {
+          } else {
+          ElMessage.warning(response.msg)
+          }
+          });
 const handlezhiban = () => {
-  dialoglea.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
+  dialoglea.value = true;
+  fetchFlowCardId();
 };
 const selectproject = () => {
   dialogFormVisible.value = true;
+  selectgong();
 };
- 
- 
+const markingMachineStatus = ref('#911005');
+const cuttingMachineStatus = ref('#911005');
+const confirmMarkingMachine = () => {
+  markingMachineStatus.value = 'green';
+};
+const confirmCuttingMachine = () => {
+  cuttingMachineStatus.value = 'green';
+};
 onMounted(() => {
-  // socket = initializeWebSocket(socketUrl, handleMessage);
+  socket = initializeWebSocket(socketUrl, handleMessage);
 });
-  onUnmounted(() => {
-    if (socket) {
+onUnmounted(() => {
+  if (socket) {
     closeWebSocket(socket);
-    }
-    });
-//瀹氫箟鎺ユ敹鍔犺浇琛ㄥご涓嬫媺鏁版嵁
-const titleSelectJson = ref({
-  processType: [],
-})
-const titleSelectJsona = ref({
-  processTypea: [],
-})
+  }
+});
+const fetchTableData = async () => {
+  try {
+    const response = await request.get("/loadGlass/up-patten-usage/prioritylist");
+    if (response.code === 200) {
+      tableData.value = response.data
+      // tableData.splice(0, tableData.length, ...response.data);
+      ElMessage.error(response.message);
+     window.localStorage.setItem('engineeringIda', tableData[0].engineeringId)
+}
+  } catch (error) {
+    ElMessage.error(response.message);
+  }
+};
 let socket = null;
 const socketUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/loadGlass`;
-// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
- 
-const requestData = {  
-  state: 100  
-};  
- 
- 
+const handleMessage = (data: any) => {
+  tableDataa.value = data.list[0].slice(0, 2);
+  if(data.loadTask1.length !=0){
+  tableData.value = data.loadTask1[0]
+  window.localStorage.setItem('engineeringIda', tableData.value[0].engineeringId)
+  canSelectProjecta.value = false;
+  canSelectProjectb.value = false;
+  canSelectProjectc.value = true;
+}
+else {
+  canSelectProjecta.value = true;
+  canSelectProjectb.value = true;
+  canSelectProjectc.value = false;
+  tableData.value = '';
+}
+};
 onBeforeUnmount(() => {
   closeWebSocket();
 });
-// 娣诲姞
-const handleBindRack = (row) => {
-  workstationId.value = row.workstationId; // 鍋囪rackNumber鏄灦鍙峰瓧娈电殑灞炴�у悕
-  ida.value = row.id;
-  add.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
+const requestData = {
+  state: 100
 };
-// 鏆傚仠
-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,
-    })
+const selectgong = async (queryString: string) => {
+  try {
+    const response = await request.post('/loadGlass/optimizeProject/listByState', {
+      ...requestData,
+      query: queryString
+    });
     if (response.code == 200) {
-      ElMessage.success(response.message);
-      blinda.value = false;
-      // tableData.splice([]);
+      titleSelectJson.value.engineerId = response.data;
     } else {
-      // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
       ElMessage.error(response.message);
     }
+  } catch (error) {
+    console.error(error);
   }
-    else  {
+};
+//閫夋嫨宸ョ▼棰勮纭
+const handlesure = async () => {
+  try {
+    const response = await request.post('/loadGlass/up-patten-usage/selectUpPattenUsage', {
+      stationCell: 5,
+      engineerId: selectedProjectNo.value,
+      filmRemove: parseInt(filmRemove.value, 10),
+    })
+    window.localStorage.setItem('engineeringIda', selectedProjectNo.value)
+    window.localStorage.setItem('filmRemove', filmRemove.value)
+    if (response.code == 200) {
+      ElMessage.success(response.message);
+      closeWebSocket(socket);
+      tableData.value = response.data;
+      dialogFormVisible.value = false;
+      selectedProjectNo.value = '';
+      filmRemove.value = '';
+      markingMachineStatus.value = '#911005';
+      cuttingMachineStatus.value = '#911005';
+      ReportData.value = false;
+    } else {
+      ElMessage.error(response.message);
+    }
+  } catch (error) {
+    console.error(error);
+  }
+}
+
+// 寮�濮嬩笂鐗�
+const handleon = async () => {
+  let filmRemove = window.localStorage.getItem('filmRemove')
+  let engineeringId = window.localStorage.getItem('engineeringIda')
+  if (markingMachineStatus.value === 'green' && cuttingMachineStatus.value === 'green') {
+    try {
+      const response = await request.post('/loadGlass/engineering/engineering/changeTask', {
+        stationCell: 5,
+        filmRemove: filmRemove,
+        engineerId: engineeringId,
+        state: 1,
+      })
+      if (response.code == 200) {
+        ElMessage.success(response.message);  
+        canSelectProjecta.value = false;
+        canSelectProjectb.value = false;
+        canSelectProjectc.value = true;
+        socket = initializeWebSocket(socketUrl, handleMessage);
+        blind.value = false;
+        ReportData.value = true;
+    } else {
+        ElMessage.error(response.message);
+      }
+    } catch (error) {
+      console.error(error);
+    }
+  } else if (markingMachineStatus.value === '#911005' || cuttingMachineStatus.value === '#911005') {
+    ElMessage.warning(t('basicData.pausea'));
+  }
+}
+// 鏆傚仠
+const handleup = async () => {
+  try {
+    let filmRemove = window.localStorage.getItem('filmRemove')
+    let engineeringId = window.localStorage.getItem('engineeringIda')
+    if (engineeringId !== '') {
+      const response = await request.post('/loadGlass/engineering/engineering/pause', {
+        stationCell: 5,
+        filmRemove: filmRemove,
+        engineerId: 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) {
-    // 澶勭悊閿欒
+  } catch (error) {
     console.error(error);
   }
 }
-function getStatusText(state: number) {
-  switch (state) {
-    case 0:  
-      return t('basicData.waiting');
-    case 1:  
-      return t('basicData.up');
-    case 2:  
-    return t('basicData.up');
-    case 100:  
-    return t('basicData.finish');
-  }  
-}  
-function getStatusType(state: number) {  
-  switch (state) {  
-    case 0:
-      return 'warning';  
-    case 1: 
-      return 'primary';  
-    case 2: 
-      return 'primary';  
-    case 100:
-      return 'success';  
-  }  
-}  
+// 鏌ヨ鏁版嵁
+const selectReportData = async () => {
+  let stateList = []
+  if (selectValuesa[0] != null && selectValuesa[0] != 'undefined') {
+    if (selectValuesa[0] != "") {
+      stateList = [selectValuesa[0]];
+    }
+  }
+  const response = await request.post("/loadGlass/up-patten-usage/setUpPattenRequest", {
+    state: selectValuesa[0],
+    stationCell: 5
+  })
+  if (response.code === 200) {
+    tableData.value = response.data;
+    ElMessage.success(response.message);
+  } else {
+    ElMessage.error(response.message);
+  }
+};
+// 鍊肩彮淇℃伅
+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;
+    } else {
+      ElMessage.error(response.message);
+    }
+  } catch (error) {
+    console.error(error);
+  }
+}
+onMounted(fetchTableData);
 // 寮�濮嬩笂鐗�
 const handleBind = (row) => {
-  blind.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
+  blind.value = true;
 };
 // 鏆傚仠
 const handleBinda = (row) => {
   blinda.value = true;
 };
-// 鍋滄浠诲姟
-const handleBindb = (row) => {
-  blindb.value = true; 
-};
- 
-// 鍒犻櫎
-const handleBindRacka = (row) => {
-  workstationId.value = row.workstationId;
-  adda.value = true; 
-};
-const toggleEnableState = async (row: any) => {  
-  // 妫�鏌� id 鏄惁涓虹┖  
+const toggleEnableState = async (row: any) => {
   if (!row.id) {  
     ElMessage.error(t('basicData.updatanull'));  
-    return; // 濡傛灉 id 涓虹┖锛屽垯涓嶆墽琛屽悗缁搷浣�  
+    return;
   }  
-  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) {  
-    // 澶勭悊璇锋眰閿欒  
-    ElMessage.error(t('basicData.glassnull'));   
-  }  
+  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) {
+    ElMessage.error(t('basicData.glassnull'));
+  }
 };
+// 鐮存崯
+const opena = async(row) => {  
+  try {
+    const confirmResult = await ElMessageBox.confirm(  
+      t('searchOrder.broke'), 
+      t('productStock.prompt'),  
+      {  
+        confirmButtonText: t('productStock.yes'), 
+        cancelButtonText: t('productStock.cancel'),
+        type: 'warning',  
+      } 
+    );
+    if (confirmResult === 'confirm') {
+     const response = await request.post('/loadGlass/engineering/engineering/identControls', {
+       glassId: row.glassId,
+       line: 5,
+       status: 1,
+       type: 8,
+       workingProcedure: '涓婄墖',
+    })
+    if (response.code === 200) {
+      ElMessage.success(response.message);
+      } else {
+      ElMessage.error(response.msg);
+      }  
+    }  
+  } catch (error) {
+    console.error('鍙戠敓閿欒:', error);  
+  }  
+}; 
+// 浜哄伐鎷胯蛋
+const openb = async(row) => {  
+  try {
+    const confirmResult = await ElMessageBox.confirm(  
+      t('order.takeawaya'), 
+      t('productStock.prompt'),  
+      {  
+        confirmButtonText: t('productStock.yes'), 
+        cancelButtonText: t('productStock.cancel'),
+        type: 'warning',  
+      } 
+    );
+    if (confirmResult === 'confirm') {
+      const response = await request.post('/loadGlass/engineering/engineering/identControls', {
+       glassId: row.glassId,
+       line: 5,
+       status: 1,
+       type: 9,
+       workingProcedure: '涓婄墖',
+    })
+    if (response.code === 200) {
+      ElMessage.success(response.message);
+      } else {
+      ElMessage.error(response.msg);
+      }  
+    }  
+  } catch (error) {
+    console.error('鍙戠敓閿欒:', error);  
+  }  
+}; 
+
+// 鏋跺瓙澶嶄綅
+const handleptask = async (workstationId: number) => {
+      console.log(workstationId);
+      try {
+    const confirmResult = await ElMessageBox.confirm(
+      t('basicData.prackreset'),
+      t('workOrder.prompt'),
+      {
+        confirmButtonText: t('workOrder.yes'),
+        cancelButtonText: t('workOrder.cancel'),
+        type: 'warning',
+      }
+    );
+    if (confirmResult === 'confirm') {
+      
+      const slot = workstationId === 1 ? 101 : (workstationId === 2 ? 102 : null);
+      if (slot !== null) {
+        const response = await request.post('/glassStorage/rawGlassStorageDetails/shelfReset', {
+          slot: slot,
+    })
+        // const url = `/loadGlass/rawGlassStorageDetails/shelfReset?slot=${slot}`;
+        // const response = await request.post(url);
+        if (response.code === 200) {
+          ElMessage.success(response.message);
+        } else {
+          ElMessage.error(response.message);
+        }
+      } else {
+      }
+    }
+  } catch (error) {
+  }
+};
+// 缁撴潫宸ョ▼
+const deleteTask = async () => {
+      try {
+    const confirmResult = await ElMessageBox.confirm(
+      t('searchOrder.pdeleteTask'),
+      t('workOrder.prompt'),
+      {
+        confirmButtonText: t('workOrder.yes'),
+        cancelButtonText: t('workOrder.cancel'),
+        type: 'warning',
+      }
+    );
+    if (confirmResult === 'confirm') {
+    let engineeringId = window.localStorage.getItem('engineeringIda')
+    if (engineeringId !== '') {
+      const response = await request.post('/loadGlass/engineering/engineering/deleteTask', {
+        engineerId: engineeringId,
+      })
+      if (response.code == 200) {
+        ElMessage.success(response.message);
+        canSelectProjecta.value = true;
+        canSelectProjectb.value = true;
+        canSelectProjectc.value = false;
+        blindb.value = true;
+        tableDatad.value = response.data;
+      } else {
+          ElMessage.error(response.message);
+        }
+      } else {
+      }
+    }
+  } catch (error) {
+  }
+};
+function getStatusType2(filmRemove) {
+  switch (filmRemove) {
+    case 0:
+      return 'success';
+    case 1:
+      return 'info';
+    case 2:
+      return 'warning';
+  }
+}
+function getStatusText2(filmRemove) {
+  switch (filmRemove) {
+    case 0:
+      return t('Mounting.noremoval');//瀹屾垚
+    case 1:
+      return t('Mounting.coarselyground');//鏂板缓
+    case 2:
+      return t('Mounting.finegrinding');//鎵ц涓�
+  }
+}
 </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 style="height: 500px;">
+    <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>
   </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 :disabled="!canSelectProjecta" style="margin-top: 5px;margin-left: 15px;"  type="primary" @click="selectproject">{{ $t('Mounting.previewproject') }}</el-button>
+    <el-button :disabled="!canSelectProjectb" style="margin-top: 5px;margin-left: 20px;" type="success" @click="handleBind">{{ $t('basicData.startloading') }}</el-button>
+    <el-button :disabled="!canSelectProjectc" style="margin-top: 5px;margin-left: 20px;"  id="searchButton" type="warning" @click="handleBinda">{{ $t('basicData.stop') }}</el-button>
+    <el-button :disabled="!canSelectProjectc" style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="danger" @click="deleteTask">{{ $t('searchOrder.deleteTask') }}</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-select disabled v-model="selectValuesa[1]" clearable :placeholder="$t('Mounting.oneloadingline')"
+               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>
-      <el-option :label="$t('film.execution')" value="2"></el-option>
-      <el-option :label="$t('film.finish')" value="3"></el-option>
+      <el-option :label="$t('Mounting.all')" value="null"></el-option>
+      <el-option :label="$t('Mounting.waiting')" value="0"></el-option>
+      <el-option :label="$t('Mounting.pass')" value="100"></el-option>
     </el-select>
-    <el-button type="primary" style="margin-left: 10px;" @click="selectReportData()">{{ $t('Mounting.setparameters') }}</el-button>
+    <el-button :disabled="!ReportData" type="primary" style="margin-left: 10px;" @click="selectReportData()">{{ $t('Mounting.setparameters') }}</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')"
+        <el-table
+            height="400"
+            ref="table"
+            :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"
+            :data="tableData"
+        >
+          <el-table-column prop="engineeringId" :label="$t('Mounting.project')" width="100" align="center"/>
+          <el-table-column prop="width" :label="$t('Mounting.width')" width="200" align="center"/>
+          <el-table-column prop="height" :label="$t('Mounting.height')" align="center"/>
+          <el-table-column prop="thickness" :label="$t('Mounting.thickness')" align="center"/>
+          <el-table-column prop="filmsId" :label="$t('Mounting.loadinglinea')" align="center"/>
+          <el-table-column prop="layoutSequence" :label="$t('Mounting.projectnumber')" align="center"/>
+          <el-table-column
+              align="center"
+              :label="$t('Mounting.state')"
             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> 
-          </el-table-column>
-      <el-table-column prop="filmsId" :label="$t('Mounting.createtime')" align="center"/>
+          <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>
+      </el-table-column>
     </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 style="width: 49%;float: left;margin-left: 300px;">
+        <div style="display: flex;">
+          <img src="../../assets/shangpianji.png" alt=""
+               style="max-width: 20%;max-height: 25%;margin-left: 10%;margin-top: 5%;">
+          <el-table :data="tableDataa" border style="margin-top: 10%;margin-left: 8%;" width="500"
+                    :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}" >
+            <el-table-column prop="workstationId" align="center" :label="$t('basicData.station')" min-width="50"/>
+            <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('film.operate')" align="center">
+            <template #default="scope">
+          <el-button size="mini" type="text" plain @click="handleptask(scope.row.workstationId)">{{ $t('basicData.rackreset') }}</el-button>
+            </template>
+        </el-table-column>
+          </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">
-        <el-button type="primary" @click="handle">
+        <el-button type="primary" @click="handleon">
           {{ $t('basicData.confirm') }}
         </el-button>
         <el-button @click="blind = false">{{ $t('basicData.cancel') }}</el-button>
       </div>
     </template>
   </el-dialog>
-  
-<el-dialog v-model="dialoglea" top="15vh" width="70%" :title="$t('searchOrder.dutyinformation')">
-    <el-table  ref="table" style="margin-top: 20px;height: 300px;"
-        :data="tableDatax" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
-          <el-table-column prop="line" fixed align="center" :label="$t('searchOrder.line')"/>
-          <el-table-column prop="workProcesses" fixed align="center" :label="$t('searchOrder.process')" />
-          <el-table-column prop="teamsGroupsName" align="center" :label="$t('searchOrder.team')">
-        <template #default="{ row }">  
-          <el-input v-model="row.teamsGroupsName" autocomplete="off" min-width="150"/>  
-        </template>  
-      </el-table-column>
-          <el-table-column prop="deviceName" align="center" :label="$t('searchOrder.basic')">
-            <template #default="{ row }">  
-          <el-input v-model="row.deviceName" autocomplete="off" min-width="150"/>  
-        </template>
+<!-- 缁撴潫宸ョ▼ -->
+  <el-dialog v-model="blindb" top="10vh" width="80%">
+    <el-table ref="table" style="margin-top: 20px;height: 450px;" :data="tableDatad" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
+        <el-table-column prop="engineerId" fixed align="center" :label="$t('basicData.projectnumber')"/>
+        <el-table-column prop="glassId" fixed align="center" :label="$t('searchOrder.glassID')"/>
+        <el-table-column prop="temperingLayoutId" fixed align="center" :label="$t('searchOrder.layoutID')"/>
+        <el-table-column prop="temperingFeedSequence" align="center" :label="$t('searchOrder.picturesequence')"/>
+        <el-table-column prop="width" align="center" :label="$t('basicData.width')"/>
+        <el-table-column prop="height" align="center" :label="$t('basicData.height')"/>
+        <el-table-column prop="thickness" align="center" :label="$t('basicData.thickness')"/>
+        <el-table-column prop="filmsid" align="center" :label="$t('basicData.coatingtypes')"/>
+        <el-table-column prop="flowCardId" align="center" :label="$t('searchOrder.processcards')"/>
+        <el-table-column fixed="right" :label="$t('productStock.operate')" align="center" width="200">
+            <template #default="scope">
+              <el-button size="mini" type="text" plain @click="opena(scope.row)">{{ $t('order.dilapidation') }}</el-button>
+              <el-button size="mini" type="text" plain @click="openb(scope.row)">{{ $t('order.takeaway') }}</el-button>
+            </template>
         </el-table-column>
         </el-table>
         <template #footer>
       <div id="dialog-footer">
-        <el-button type="primary" @click="handleConfirm">
-          {{ $t('searchOrder.add') }}
-        </el-button>
-        <el-button @click="dialoglea = false">{{ $t('searchOrder.cancel') }}</el-button>
+        <el-button @click="blindb = false">{{ $t('large.close') }}</el-button>
+      </div>
+    </template>
+  </el-dialog>
+  <!-- 鍊肩彮淇℃伅 -->
+    <el-dialog v-model="dialoglea" top="15vh" width="70%" :title="$t('searchOrder.dutyinformation')">
+      <el-table ref="table" style="margin-top: 20px;height: 300px;"
+                :data="tableDatax" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
+        <el-table-column prop="line" fixed align="center" :label="$t('searchOrder.line')"/>
+        <el-table-column prop="workProcesses" fixed align="center" :label="$t('searchOrder.process')"/>
+        <el-table-column prop="teamsGroupsName" align="center" :label="$t('searchOrder.team')">
+        </el-table-column>
+        <el-table-column prop="deviceName" align="center" :label="$t('searchOrder.basic')">
+        </el-table-column>
+        </el-table>
+        <template #footer>
+      <div id="dialog-footer">
+        <el-button @click="dialoglea = false">{{ $t('large.close') }}</el-button>
       </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-select disabled v-model="stationCell" 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>
     </div>
     <template #footer>
@@ -342,186 +574,63 @@
       </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">
-               <el-select  
-                      v-model="selectedValue"  
-                      filterable  
-                      clearable  
-                      :placeholder="$t('basicData.selectwidth')"
-                      style="width: 220px"  
-                      @input="handleInputChangea"  
-                    >  
-                 <el-option  
-                    v-for="item in selectOptions"  
-                    :key="item.id"  
-                    :label="item.label"  
-                    :value="item.value"  
-                 />  
-               </el-select>  
-              </el-form-item>
-              </div></div>
-          </el-col>
-          <el-col :span="9">
-            <div id="dta" style="font-size: 15px;">
-        <div>
-          <el-form-item :label="$t('basicData.heighta')" :required="true" style="width: 14vw">
-            <el-select  
-                      v-model="selectedValuea"  
-                      filterable  
-                      clearable  
-                      :placeholder="$t('basicData.selectheight')" 
-                      style="width: 220px"  
-                      @input="handleInputChangea"  
-                    >  
-                 <el-option  
-                    v-for="item in selectOptionsa"  
-                    :key="item.id"  
-                    :label="item.label"  
-                    :value="item.value"  
-                 />  
-               </el-select> 
-              </el-form-item></div>
-              </div>
-          </el-col>
-        </el-row>
-        <el-row style="margin-top: 10px;">
-          <el-col :span="6">
-              <div id="dt" style="font-size: 15px;">
-        <div>
-              <el-form-item :label="$t('basicData.coatingtypesa')"  :required="true" style="width: 14vw;">
-                <el-select  
-                      v-model="selectedValueb"  
-                      filterable  
-                      clearable  
-                      :placeholder="$t('basicData.selectcoatingtypes')"
-                      style="width: 220px"  
-                      @input="handleInputChangea"  
-                    >  
-                 <el-option  
-                    v-for="item in selectOptionsb"  
-                    :key="item.id"  
-                    :label="item.label"  
-                    :value="item.value"  
-                 />  
-               </el-select> 
-              </el-form-item></div></div>
-          </el-col>
-          <el-col :span="9">
-            <div id="dta" style="font-size: 15px;">
-        <div>
-              <el-form-item :label="$t('basicData.thicknessa')" :required="true" style="width: 14vw">
-                <el-select  
-                      v-model="selectedValuec"  
-                      filterable  
-                      clearable  
-                      :placeholder="$t('basicData.selectthickness')"
-                      style="width: 220px"  
-                      @input="handleInputChangea"  
-                    >  
-                 <el-option  
-                    v-for="item in selectOptionsc"  
-                    :key="item.id"  
-                    :label="item.label"  
-                    :value="item.value"  
-                 />  
-               </el-select> 
-                <!-- <el-input v-model="patternThickness" autocomplete="off" /> -->
-              </el-form-item></div></div>
-          </el-col>
-        </el-row>
-        <el-row style="margin-top: 10px;">
-          <el-col :span="6">
-              <div id="dt" style="font-size: 15px;">
-        <div>
-              <el-form-item :label="$t('basicData.quantitya')" :required="true" style="width: 14vw;">
-                <el-input :placeholder="$t('basicData.selectquantity')" v-model="number" autocomplete="off" />
-              </el-form-item></div></div>
-          </el-col>
-        </el-row>
-        </el-form>
-            </el-form>
-          </div>
-    <template #footer>
-      <div id="dialog-footer">
-        <el-button type="primary" @click="handleConfirm">
-          {{ $t('basicData.confirm') }}
-        </el-button>
-        <el-button @click="add = false">{{ $t('basicData.cancel') }}</el-button>
-      </div>
-    </template>
-  </el-dialog>
-  <el-dialog v-model="adda" top="30vh" width="25%" :title="$t('basicData.deletemessage')">
-    <template #footer>
-      <div id="dialog-footer">
-        <el-button type="primary" @click="handleConfirma">
-          {{ $t('basicData.confirm') }}
-        </el-button>
-        <el-button @click="adda = false">{{ $t('basicData.cancel') }}</el-button>
-      </div>
-    </template>
-  </el-dialog>
         </div>
-  <el-dialog v-model="dialogFormVisible" top="24vh" width="50%"  >
+  <el-dialog v-model="dialogFormVisible" top="24vh" width="70%">
     <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.loadingline')" :required="true">
+        <el-select disabled v-model="stationCell" 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']"  
-         :key="item.id"  
-         :label="item.projectNo"  
-         :value="item.projectNo"  
-      />  
-    </el-select>  
-              </el-form-item>
-          </div>
+        <el-select
+            v-model="selectedProjectNo"
+            filterable
+            clearable
+            :placeholder="$t('basicData.plselectproject')"
+            style="width: 220px"
+            @input="handleInputChange"
+        >
+          <el-option
+              v-for="item in titleSelectJson['engineerId']"
+              :key="item.id"
+              :label="item.projectNo"
+              :value="item.projectNo"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item :label="$t('Mounting.removalmethoda')" :required="true">
+        <el-select v-model="filmRemove" clearable :placeholder="$t('Mounting.removalmethod')">
+          <el-option :label="$t('Mounting.noremoval')" value="0"></el-option>
+          <el-option :label="$t('Mounting.coarselyground')" value="1"></el-option>
+          <el-option :label="$t('Mounting.finegrinding')" value="2"></el-option>
+        </el-select>
+      </el-form-item>
+    </div>
     <template #footer>
       <div id="dialog-footer">
-        <el-button type="primary" @click="handleup">
+        <el-button type="primary" @click="handlesure">
           {{ $t('basicData.confirm') }}
         </el-button>
         <el-button @click="dialogFormVisible = false">{{ $t('basicData.cancel') }}</el-button>
       </div>
     </template>
   </el-dialog>
+  </div>
 </template>
- 
 <style scoped>
  .flex-container {  
   display: flex;  
-  align-items: center; /* 鍨傜洿灞呬腑 */  
+  align-items: center;
 }  
 .flex-container .el-form-item {  
-  flex: 1; /* 浣挎瘡涓〃鍗曢」鍗犳嵁鐩哥瓑鐨勭┖闂� */  
+  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%;}
 #dialog-footer{

--
Gitblit v1.8.0