From f77c8f18ab49b54c9c0bd7c8cae4962912f792e4 Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期一, 29 四月 2024 15:47:46 +0800
Subject: [PATCH] 增加暂停开始任务接口

---
 UI-Project/src/views/Returns/returns.vue |  363 +++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 275 insertions(+), 88 deletions(-)

diff --git a/UI-Project/src/views/Returns/returns.vue b/UI-Project/src/views/Returns/returns.vue
index 8fafce3..49db7d7 100644
--- a/UI-Project/src/views/Returns/returns.vue
+++ b/UI-Project/src/views/Returns/returns.vue
@@ -8,8 +8,13 @@
 // import { ref } from 'vue'
 import { ElMessage, ElMessageBox } from 'element-plus'
 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 value = ref('')
 import request from "@/utils/request"
  
@@ -17,6 +22,7 @@
 // import http from "@/http/index";
  
 let ruleForm = ref({
+  // engineeringId: '',
   workstationId: '',
   patternHeigth: '',
   patternWidth: '',
@@ -27,11 +33,7 @@
 })
 const tableDataa = ref([])
   
- const requestData = {
-    // projectNo:"P24030805",
-    state:100
-  };
-  
+
   const tableData = reactive([]);
 //   let filterData = ref({
 //   damageDetails: {
@@ -42,8 +44,6 @@
 // 鍙戦�佽幏鍙栬〃鏍兼暟鎹殑璇锋眰
 const fetchTableData = async () => {
   try {
-    // 鍙戦�佽幏鍙栬〃鏍兼暟鎹殑璇锋眰锛屽苟绛夊緟鍝嶅簲
-    // const response = await request.post("/loadGlass/optimizeProject/listByState", requestData);
     const response = await request.get("/loadGlass/up-patten-usage/prioritylist");
  
     // 妫�鏌ュ搷搴旂姸鎬�
@@ -51,6 +51,7 @@
       // 鏇存柊琛ㄦ牸鏁版嵁
       console.log('鎴愬姛鑾峰彇琛ㄦ牸鏁版嵁:', response.data);
       tableData.splice(0, tableData.length, ...response.data);
+      window.localStorage.setItem('engineeringId', response.data[0].engineeringId)
     } else {
       // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
       ElMessage.error(response.msg);
@@ -64,10 +65,18 @@
           if (res.code == 200) {
           console.log(res.data);
           tableDataa.value = res.data
-          // workstationId.value = res.data[0].workstationId
+      window.localStorage.setItem('patternWidth', res.data.patternWidth)
+      window.localStorage.setItem('workstationId', res.data.workstationId)
+      let workstationIda = window.localStorage.getItem('workstationId')
+      let patternWidth = window.localStorage.getItem('patternWidth')
+      if (patternWidth !== '' || workstationIda == '1') {
+      flake.value = true
+    } else if (patternWidth !== '' || workstationIda == '2') {
+      flakea.value = true
+    }
           } else {
           ElMessage.warning(res.msg)
-          router.push("/login")
+          // router.push("/login")
           }
           });
 //瀹氫箟鎺ユ敹鍔犺浇琛ㄥご涓嬫媺鏁版嵁
@@ -75,21 +84,74 @@
   processType: [],
  
 })
-const getBasicData = ref({
-  id: '',
-  projectNo: '',
-})
-request.post("/loadGlass/optimizeProject/listByState", requestData)
-.then((res) => {
-          if (res.code == 200) {
-    titleSelectJson.value.processType = res.data;
-          console.log(res.data);
-          } else {
-          ElMessage.warning(res.msg)
-          router.push("/login")
-          }
-          });
-          
+// const getBasicData = ref({
+//   id: '',
+//   projectNo: '',
+// })
+// const requestData = {
+//     // projectNo:"P24030805",
+//     state:100
+//   };
+// request.post("/loadGlass/optimizeProject/listByState", requestData)
+// .then((res) => {
+//           if (res.code == 200) {
+//     titleSelectJson.value.processType = res.data;
+//           console.log(res.data);
+//           } else {
+//           ElMessage.warning(res.msg)
+//           // router.push("/login")
+//           }
+//           });
+          // 鍒濆璇锋眰鍙傛暟  
+const requestData = {  
+  state: 100  
+};  
+// 鍝嶅簲寮忔暟鎹�  
+const selectedProjectNo = ref(''); // 褰撳墠閫変腑鐨勫伐绋嬪彿  
+const options = ref<any[]>([]); // 涓嬫媺閫夐」鍒楄〃  
+  
+// 璋冪敤鎺ュ彛鑾峰彇閫夐」鏁版嵁鐨勫嚱鏁�  
+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;
+
+    //   titleSelectJson.value.processType = response.data(item => ({  
+    //   // options.value = response.data.data.map(item => ({  
+    //     value: item.projectNo,  
+    //     // label: item.id // 鍋囪鍚庣杩斿洖鐨勬暟鎹腑鏈�  瀛楁浣滀负鏄剧ず鏍囩  
+    //   }));  
+    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 = []; // 娓呯┖閫夐」鍒楄〃  
+  }  
+};  
+  
+// 鍒濆鍖栧姞杞芥暟鎹紙濡傛灉闇�瑕侊級  
+onMounted(() => {  
+  // 鍦ㄧ粍浠舵寕杞藉悗璋冪敤 fetchOptions('') 鏉ュ姞杞藉垵濮嬫暟鎹紙濡傛灉闇�瑕侊級  
+  fetchOptions('');  
+});  
+  
 // const billall  = () => {
 //   request.post("/loadGlass/optimizeProject/listByState", requestData)
 //     .then((res: any) => {
@@ -105,19 +167,7 @@
 let titleUploadData = ref({
   projectNo:'',
 })
-// const billall = {
-//   data () {
-//     return {
-//       form: {
-//         projectNo: '',
-//       },
-//       billall:[],
-//     }
-//   },
-//   methods:{
- 
-//   }
-// }
+// const engineeringId = ref('');
 const workstationId = ref('');
 const patternHeigth = ref('');
 const patternWidth = ref('');
@@ -141,6 +191,13 @@
       // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
       ElMessage.success(response.message);
       add.value = false;
+      window.localStorage.setItem('workstationId', response.data.workstationId)
+      let workstationId = window.localStorage.getItem('workstationId')
+      if (workstationId == '1') {
+      flake.value = true
+    } else if (workstationId == '2'){
+      flakea.value = true
+    }
     } else {
       // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
       ElMessage.error(response.msg);
@@ -166,6 +223,13 @@
       // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
       ElMessage.success(response.message);
       adda.value = false;
+      window.localStorage.setItem('workstationId', response.data.workstationId)
+      let workstationId = window.localStorage.getItem('workstationId')
+      if (workstationId == '1') {
+      flake.value = false
+    } else if (workstationId == '2'){
+      flakea.value = false
+    }
     } else {
       // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
       ElMessage.error(response.msg);
@@ -175,42 +239,100 @@
     console.error(error);
   }
 };
+// 寮�濮嬩笂鐗�
+const handle = async () => {
+  try  {
+  let engineeringId = window.localStorage.getItem('engineeringId')
+console.log(engineeringId);
+if (engineeringId !== '') {
+  const response = await request.post('/loadGlass/engineering/engineering/changeTask', {
+      engineeringId: engineeringId,
+      state: 1,
+    })
+    if (response.code == 200) {
+      // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
+      ElMessage.success(response.message);
+      blind.value = false;
+    } else {
+      // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
+      ElMessage.error(response.msg);
+    }
+  }
+    else  {
+      ElMessage({
+        type: 'info',
+        message: '宸ョ▼鍙蜂笉鑳戒负绌猴紒',
+      })
+    }
+}
+catch (error) {
+    // 澶勭悊閿欒
+    console.error(error);
+  }
+}
+// 鏆傚仠
+const handlea = async () => {
+  try  {
+  let engineeringId = window.localStorage.getItem('engineeringId')
+console.log(engineeringId);
+if (engineeringId !== '') {
+  const response = await request.post('/loadGlass/engineering/engineering/changeTask', {
+      engineeringId: engineeringId,
+      state: 0,
+    })
+    if (response.code == 200) {
+      // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
+      ElMessage.success(response.message);
+      blinda.value = false;
+    } else {
+      // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
+      ElMessage.error(response.msg);
+    }
+  }
+    else  {
+      ElMessage({
+        type: 'info',
+        message: '宸ョ▼鍙蜂笉鑳戒负绌猴紒',
+      })
+    }
+}
+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/changeTask', {
+      engineeringId: engineeringId,
+      state: 0,
+    })
+    if (response.code == 200) {
+      // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
+      ElMessage.success(response.message);
+      blindb.value = false;
+    } else {
+      // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
+      ElMessage.error(response.msg);
+    }
+  }
+    else  {
+      ElMessage({
+        type: 'info',
+        message: '宸ョ▼鍙蜂笉鑳戒负绌猴紒',
+      })
+    }
+}
+catch (error) {
+    // 澶勭悊閿欒
+    console.error(error);
+  }
+}
 onMounted(fetchTableData);
-interface User {
-  id: string
-  name: string
-  amount1: string
-  amount2: string
-  amount3: number
-}
- 
-interface SpanMethodProps {
-  row: User
-  column: TableColumnCtx<User>
-  rowIndex: number
-  columnIndex: number
-}
- 
-// const objectSpanMethod = ({
-//   row,
-//   column,
-//   rowIndex,
-//   columnIndex,
-// }: SpanMethodProps) => {
-//   if (columnIndex === 0) {
-//     if (rowIndex % 2 === 0) {
-//       return {
-//         rowspan: 2,
-//         colspan: 1,
-//       }
-//     } else {
-//       return {
-//         rowspan: 0,
-//         colspan: 0,
-//       }
-//     }
-//   }
-// } 
  
 // const open = () => {
 //   ElMessageBox.confirm(
@@ -235,16 +357,34 @@
 //       })
 //     })
 // }
-
-
+// 寮�濮嬩笂鐗�
+const handleBind = (row) => {
+  // engineeringId.value = row.engineeringId; 
+ 
+  blind.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
+};
+// 鏆傚仠
+const handleBinda = (row) => {
+  // engineeringId.value = row.engineeringId; 
+ 
+  blinda.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
+};
+// 鍋滄浠诲姟
+const handleBindb = (row) => {
+  // engineeringId.value = row.engineeringId; 
+ 
+  blindb.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
+};
+// 娣诲姞
 const handleBindRack = (row) => {
   workstationId.value = row.workstationId; // 鍋囪rackNumber鏄灦鍙峰瓧娈电殑灞炴�у悕
-
+ 
   add.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
 };
+// 鍒犻櫎
 const handleBindRacka = (row) => {
   workstationId.value = row.workstationId; // 鍋囪rackNumber鏄灦鍙峰瓧娈电殑灞炴�у悕
-
+ 
   adda.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
 };
 const gridOptions = reactive({
@@ -298,9 +438,10 @@
     <el-button style="margin-left: 30px;margin-top: -3px;" >鎵嬪姩纭</el-button>
    </div>
     <el-button style="margin-top: 5px;margin-left: 15px;"   id="searchButton" type="primary" @click="dialogFormVisible = true">閫夋嫨宸ョ▼</el-button>
-    <el-button style="margin-top: 5px;margin-left: 20px;"  id="searchButton" type="primary">寮�濮嬩笂鐗�</el-button>
-    <el-button style="margin-top: 5px;margin-left: 20px;"  id="searchButton" type="warning" >鏆傚仠</el-button>
-    <el-button style="margin-top: 5px;margin-left: 20px;"  id="searchButton" type="danger" >鍋滄浠诲姟</el-button>
+    <el-button style="margin-top: 5px;margin-left: 20px;"  id="searchButton" type="primary" @click="handleBind">寮�濮嬩笂鐗�</el-button>
+    <el-button style="margin-top: 5px;margin-left: 20px;"  id="searchButton" type="warning" @click="handleBinda">鏆傚仠</el-button>
+    <el-button style="margin-top: 5px;margin-left: 20px;"  id="searchButton" type="danger" @click="handleBindb">鍋滄浠诲姟</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
@@ -324,14 +465,45 @@
           <template #default="scope">
             <el-tag type="success" >{{ scope.row.state==1?"灏辩华":"鏈氨缁�"  }}</el-tag>
           </template>
-          
-          <!-- <el-tag type="danger" v-if="row.enableState==2">鏈氨缁�</el-tag> -->
           </el-table-column>
     </el-table>
       </div>
+      
     </el-card>
+  <el-dialog v-model="blind" top="30vh" width="25%" title="鏄惁寮�濮嬩笂鐗�?" >
+    <template #footer>
+      <div id="dialog-footer">
+        <el-button type="primary" @click="handle">
+          纭
+        </el-button>
+        <el-button @click="blind = false">鍙栨秷</el-button>
+      </div>
+    </template>
+  </el-dialog>
+  <el-dialog v-model="blinda" top="30vh" width="25%" title="鏄惁鏆傚仠?" >
+    <template #footer>
+      <div id="dialog-footer">
+        <el-button type="primary" @click="handlea">
+          纭
+        </el-button>
+        <el-button @click="blinda = false">鍙栨秷</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/shangpianji.png" alt="" style="max-width: 20%;max-height: 20%;margin-top: 20px;margin-left: 500px;">
+        <div id="overlay" v-show="flake"></div>
+        <div id="overlaya" v-show="flakea"></div>
       </div>
       <div style="margin-top: -350px;margin-left: 650px;">
         <el-table :data="tableDataa" border style="width: 60%"
@@ -408,7 +580,7 @@
       </div>
     </template>
   </el-dialog>
-  <el-dialog v-model="adda" top="25vh" width="25%" title="鏄惁鍒犻櫎" >
+  <el-dialog v-model="adda" top="30vh" width="25%" title="鏄惁鍒犻櫎璇ユ潯淇℃伅?" >
     <template #footer>
       <div id="dialog-footer">
         <el-button type="primary" @click="handleConfirma">
@@ -424,7 +596,22 @@
   <el-dialog v-model="dialogFormVisible" top="24vh" width="30%" title="宸ョ▼" >
     <div style="margin-left: 50px;margin-bottom: 10px;">
       <el-form-item label="宸ョ▼鍙凤細" :required="true">
-        <el-select  v-model="getBasicData.projectNo" clearable placeholder="璇烽�夋嫨宸ョ▼" style="width: 220px"
+        <el-select  
+           v-model="selectedProjectNo"  
+           filterable  
+           clearable  
+           placeholder="璇烽�夋嫨宸ョ▼"  
+           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-select  v-model="getBasicData.projectNo" clearable placeholder="璇烽�夋嫨宸ョ▼" style="width: 220px"
                    >
             <el-option
                 v-for="item in titleSelectJson['processType']"
@@ -432,7 +619,7 @@
                 :label="item.projectNo"
                 :value="item.projectNo"
             />
-          </el-select>
+          </el-select> -->
               </el-form-item>
           </div>
     <template #footer>
@@ -472,8 +659,8 @@
   width: 212px;
   height: 15px;
   background-color: #529b2e;
-  margin-top: -407px;
-  margin-left: 171px;
+  margin-top: -404px;
+  margin-left: 542px;
 }
 #overlaya{
   position: absolute;
@@ -481,8 +668,8 @@
   width: 212px;
   height: 15px;
   background-color: #529b2e;
-  margin-top: -40px;
-  margin-left: 167px;
+  margin-top: -38px;
+  margin-left: 537px;
 }
  
 </style>
\ No newline at end of file

--
Gitblit v1.8.0