From 768498719683f85e5ed19c73eb3d14cdbf420df4 Mon Sep 17 00:00:00 2001
From: admin <15939171744@163.com>
Date: 星期一, 01 七月 2024 14:03:01 +0800
Subject: [PATCH] 绑定小车码,预装总成码,手动工位扫码,拧紧逻辑优化

---
 jcdm-ui/src/views/main/kb/stationTerminal/index.vue |  311 ++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 255 insertions(+), 56 deletions(-)

diff --git a/jcdm-ui/src/views/main/kb/stationTerminal/index.vue b/jcdm-ui/src/views/main/kb/stationTerminal/index.vue
index 5d4b36d..b64b35f 100644
--- a/jcdm-ui/src/views/main/kb/stationTerminal/index.vue
+++ b/jcdm-ui/src/views/main/kb/stationTerminal/index.vue
@@ -34,18 +34,21 @@
            <el-descriptions-item label="宸ュ崟缂栧彿">
                <span>{{workpieceInformation.workOrderNo}}</span>
            </el-descriptions-item>
-           <el-descriptions-item label="浜у搧缂栧彿">
+           <el-descriptions-item label="浜у搧鍨嬪彿">
              <span>{{workpieceInformation.productCode}}</span>
            </el-descriptions-item>
-           <el-descriptions-item label="浜у搧鍨嬪彿">
-             <span>{{workpieceInformation.productModel}}</span>
+           <el-descriptions-item label="灏忚溅鐮�">
+             <span>{{headContent.cardCode}}</span>
            </el-descriptions-item>
-           <el-descriptions-item label="浜у搧鍚嶇О">
-             <span>{{workpieceInformation.productName}}</span>
-           </el-descriptions-item>
-<!--           <el-descriptions-item label="鑺傛媿">-->
-<!--             <span>{{workpieceInformation.beat}}</span>-->
+<!--           <el-descriptions-item label="浜у搧鍨嬪彿">-->
+<!--             <span>{{workpieceInformation.productModel}}</span>-->
 <!--           </el-descriptions-item>-->
+<!--           <el-descriptions-item label="浜у搧鍚嶇О">-->
+<!--             <span>{{workpieceInformation.productName}}</span>-->
+<!--           </el-descriptions-item>-->
+           <el-descriptions-item label="寮�濮嬫椂闂�">
+             <span>{{workpieceInformation.inboundTime}}</span>
+           </el-descriptions-item>
          </el-descriptions>
          <el-divider></el-divider>
          <el-row>
@@ -89,18 +92,17 @@
            <el-col></el-col>
              <span style="width: 130px;" class="head-font">棰勮鎬绘垚鍙� : {{headContent.yzSfcCode}}</span>
          </el-row>
-         <el-row v-show="showInput" style="margin-top: 20px">
-           <el-button @click="bindYzSfc" type="primary">缁戝畾</el-button>
+<!--         <el-row v-show="showInput" style="margin-top: 20px">-->
+<!--           <el-button @click="bindYzSfc" type="primary">缁戝畾</el-button>-->
+<!--         </el-row>-->
 
-         </el-row>
-
-         <el-row v-show="onLineBinDing" style="margin-top: 20px">
-           <el-col></el-col>
-           <span style="width: 130px;" class="head-font">灏忚溅鐮� : {{headContent.cardCode}}</span>
-         </el-row>
-         <el-row v-show="onLineBinDing" style="margin-top: 20px">
-           <el-button @click="bindcardCode" type="primary">缁戝畾</el-button>
-         </el-row>
+<!--         <el-row v-show="onLineBinDing" style="margin-top: 20px">-->
+<!--           <el-col></el-col>-->
+<!--           <span style="width: 130px;" class="head-font">灏忚溅鐮� : {{headContent.cardCode}}</span>-->
+<!--         </el-row>-->
+<!--         <el-row v-show="onLineBinDing" style="margin-top: 20px">-->
+<!--           <el-button @click="bindcardCode" type="primary">缁戝畾</el-button>-->
+<!--         </el-row>-->
        </el-card>
 
      </el-col>
@@ -110,18 +112,25 @@
            <span slot="label"> <a class="el-icon-date"></a>棣栭〉</span>
            <el-col :span="24">
              <el-table height="500" :cell-style="rowStyle" :data="formulaChildList">
-               <el-table-column label="鎺掑簭" width="60" align="center" type="index">
+<!--               <el-table-column label="鎺掑簭" width="60" align="center" type="index">-->
+<!--               </el-table-column>-->
+               <el-table-column label="鎷х揣姝ュ彿" width="80" align="center" prop="stepSort">
                </el-table-column>
-               <el-table-column label="鎿嶄綔鍐呭" :show-overflow-tooltip='true' align="center" prop="operationSteps">
+               <el-table-column label="鎿嶄綔鍐呭" align="center" prop="operationSteps">
                </el-table-column>
-               <el-table-column label="浜у搧缂栧彿" align="center" prop="productCode">
+<!--               <el-table-column label="涓婇檺" width="60" align="center" prop="spareField3">-->
+<!--               </el-table-column>-->
+<!--               <el-table-column label="涓嬮檺" width="60" align="center" prop="spareField4">-->
+<!--               </el-table-column>-->
+               <el-table-column label="浜у搧缂栧彿" width="80" align="center" prop="productCode">
                </el-table-column>
-               <el-table-column label="鐗╂枡缂栫爜" align="center" prop="materialCode">
+               <el-table-column label="鐗╂枡缂栫爜" width="110" align="center" prop="materialCode">
                </el-table-column>
                <el-table-column label="閲囬泦鍊�" align="center" prop="collectData">
                </el-table-column>
-               <el-table-column label="缁撴灉" align="center" prop="results">
+               <el-table-column label="缁撴灉" width="60" align="center" prop="results">
                </el-table-column>
+
              </el-table>
            </el-col>
 <!--           <el-col :span="14">-->
@@ -298,6 +307,8 @@
 import {listWorkReport} from "@/api/main/om/workReport/workReport";
 import {listStationConf,getIpv4} from "@/api/main/sc/stationConf";
 import {
+  clearWorkpieceRelease,
+  fistSetpNumber,
   listFormulaChild,
   noPageListFormulaChild,
   releaseCheck,
@@ -308,6 +319,8 @@
 import MySerialPort from "@/utils/MySerialPort";
 import USBDevice from "@/utils/usb.json";
 import {
+  bindYzSfcFlag,
+  checkCarCode, checkYzSfcCode,
   findBytrolleyYardGetOne,
   listProductionOrde,
   receivingWorkOrders,
@@ -319,7 +332,7 @@
   addParamCollection,
   addTighteningParameters,
   saveCampaignTimeParameters,
-  replaceAssemblyCode,
+  replaceAssemblyCode, checkRecordDataDone,
 } from "@/api/main/da/paramCollection/paramCollection";
 
 export default {
@@ -354,7 +367,7 @@
         productCode: null,
         productModel: null,
         productName: null,
-        beat: null,
+        inboundTime: null,
       },
       // 鏌ヨ鍙傛暟
       queryParams: {
@@ -378,7 +391,8 @@
       },
       content: '',
       activeName: 'first',
-      url: "ws://192.168.2.76:8080/websocket/message/",
+      url: "ws://10.103.210.248:8080/websocket/message/",
+      // url: "ws://192.168.2.76:8080/websocket/message/",
       message: "",
       text_content: "",
       ws: null,
@@ -407,6 +421,8 @@
 
       passingStationForm: {},
       originalArray: [],
+      yzSfcFlag: 1,
+      endYz: false,
     }
   },
   beforeDestroy() {
@@ -443,11 +459,11 @@
     },
   },
   methods: {
-    bindcardCode(){
-      this.$message('鍙互缁戝畾锛�');
+    bindcardCode(scanValue){
+      // this.$message('缁戝畾鎴愬姛锛�');
       let param = {
         productNum: this.headContent.sfcCode,
-        trolleyYard: this.headContent.cardCode,
+        trolleyYard: scanValue,
       }
       trolleyYardBinDing(param).then(response => {
       });
@@ -463,9 +479,14 @@
           locationCode: this.headContent.processesCode,
           yzSfcCode: this.headContent.yzSfcCode
         }
-        this.$message('鍙互缁戝畾锛�');
+        const orderParam = {
+          productNum: this.headContent.sfcCode,
+        }
         replaceAssemblyCode(param).then(response => {
-
+          this.$message('缁戝畾鎴愬姛锛�');
+          bindYzSfcFlag(orderParam).then(response => {
+            this.yzSfcFlag = 1
+          });
         });
       }
     },
@@ -492,6 +513,8 @@
         console.log(response)
         if(response.msg === "3"){
           this.cakeLamp.release= 1 //鍏佽鏀捐
+        }else if(response.msg === "2"){
+          this.$message.error('鎵爜閲嶅璇烽噸鏂版壂鐮侊紒');
         }
         this.getListFormulaChild()
       });
@@ -512,6 +535,26 @@
       console.log(this.formulaChildParams)
       noPageListFormulaChild(this.formulaChildParams).then(response => {
         this.formulaChildList = response.rows;
+        if (this.formulaChildList.length >0){
+          let pos = 0
+          const tempArr = this.formulaChildList.filter(x=> 'OK' === x.results)
+          if (tempArr.length>0){
+            pos = tempArr.length
+            this.$nextTick(() => {
+              let temp33 = document.getElementsByClassName('el-table__row')
+              console.log('temp33',temp33)
+              console.log('len',temp33.item(pos))
+              if (temp33.length > 0){
+                console.log('1111111111111111')
+                let arr = temp33[pos-1]
+                console.log('srr',arr)
+                arr.scrollIntoView({ block: 'center' })
+              }
+            })
+          }
+
+        }
+
       });
     },
     endClear(){
@@ -525,6 +568,7 @@
       this.workpieceInformation.workOrderNo = null;
       this.workpieceInformation.productModel = null;
       this.workpieceInformation.productName = null;
+      this.workpieceInformation.inboundTime = null;
       this.headContent.sfcCode = '';
       this.headContent.yzSfcCode = '';
       this.headContent.cardCode = '';
@@ -533,8 +577,16 @@
       console.log(tab, event);
     },
     clearClick(){
-      this.$message('杩欐槸涓�鏉℃竻闄ゆ秷鎭彁绀�');
-      this.headContent.sfcCode = null
+      const param = {
+        workOrderNo: this.workpieceInformation.workOrderNo,
+        productCode: this.workpieceInformation.productCode,
+        locationCode: this.headContent.processesCode,
+        productBarcode: this.headContent.sfcCode,
+      }
+      this.endClear()
+      clearWorkpieceRelease(param).then(response => {});
+      this.headContent.sfcCode = ''
+      this.$message('娓呴櫎鎴愬姛锛�');
     },
     scanCompleted(){
       this.$message('鎵爜瀹屾垚'+this.content);
@@ -555,12 +607,34 @@
         this.workpieceInformation.productCode = rowsData.productCode;
         this.workpieceInformation.productModel = rowsData.productModel;
         this.workpieceInformation.productName = rowsData.productName;
-        this.timer = setInterval(() => {
-          this.workpieceInformation.beat++;
-        }, 1000);
+        this.headContent.cardCode = rowsData.trolleyYard;
       });
       this.getListFormulaChild()
-      this.addOverStationCollection()
+      // this.addOverStationCollection()
+      this.workpieceInformation.inboundTime = this.getCurrentTime()
+      const param = {
+        processesCode: this.headContent.processesCode,
+      }
+      fistSetpNumber(param).then(response => {
+        console.log("fistSetpNumber------"+response.msg)
+      });
+    },
+
+    getCurrentTime() {
+      const now = new Date();
+      const year = now.getFullYear();
+      const month = this.padTimeUnit(now.getMonth() + 1); // 鏈堜唤鏄粠0寮�濮嬬殑
+      const day = this.padTimeUnit(now.getDate());
+      const hours = this.padTimeUnit(now.getHours());
+      const minutes = this.padTimeUnit(now.getMinutes());
+      const seconds = this.padTimeUnit(now.getSeconds());
+      return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
+    },
+    padTimeUnit(value) {
+      return value.toString().padStart(2, '0');
+    },
+    addBaseData(){
+      addBasicParameters(this.passingStationForm).then(response => {});
     },
 
     /** 鍏ョ珯澧炲姞杩囩珯閲囬泦璁板綍 **/
@@ -609,10 +683,11 @@
           this.onLineBinDing = true
         }
         if(this.headContent.processesCode === 'OP260'){
-          this.showInput = true
+          // this.showInput = true
         }
 
         console.log('璁剧疆宸ヤ綅缂栫爜' + this.headContent.processesCode)
+
       });
       this.conCom()
       console.log('websocket杩炴帴宸ヤ綅涓�' + this.headContent.processesCode)
@@ -621,25 +696,121 @@
       const self = this;
       this.ws.onopen = function (event) {
         this.$message('websocket杩炴帴鎴愬姛锛�');
+
       };
       this.ws.onmessage = function (event) {
         if (event.data === "IN") {
           self.cakeLamp.InPlace = 1;
+          console.log(self.headContent.processesCode);
+          // const param = {
+          //   processesCode: self.headContent.processesCode,
+          // }
+          // fistSetpNumber(param).then(response => {});
         } else if (event.data === "IN0") {
           self.cakeLamp.InPlace = 0;
         } else if (event.data === "OUT") {
           self.cakeLamp.release = 1;
         } else if (event.data === "END") {
+
+          const formulaChildIndex = self.formulaChildList.length-1
+
+          const orderParam = {
+            productNum: self.headContent.sfcCode,
+          }
+
+          if(self.headContent.sfcCode=== ''||self.headContent.sfcCode=== null){
+            self.$message('鎬绘垚鐮佷负绌猴紝璇锋壂鐮侊紒')
+            return;
+          }
+
+          // if(self.headContent.cardCode === null || self.headContent.cardCode === ''){
+          //   self.$alert('<strong style="color: red;font-size: 30px">鏈壂鎻忓皬杞︾爜绂佹鏀捐</strong>', '鎻愮ず', {
+          //     dangerouslyUseHTMLString: true
+          //   });
+          //   return;
+          // }
+
+          if(self.formulaChildList[formulaChildIndex].results !== 'OK'){
+            self.$message('鏈仛瀹屽伐搴忕姝㈡斁琛�');
+            return;
+          }
+
+
           const param = {
             workOrderNo: self.workpieceInformation.workOrderNo,
             productCode: self.workpieceInformation.productCode,
             locationCode: self.headContent.processesCode,
             productBarcode: self.headContent.sfcCode,
+            inboundTime: self.workpieceInformation.inboundTime,
+            formulaChildEntity: self.formulaChildList[formulaChildIndex]
           }
-          saveCampaignTimeParameters(param).then(response => {});
-          self.cakeLamp.release = 1;
-          self.endClear()
-          workpieceRelease(param).then(response => {});
+
+          console.log("杩涘叆鏈�缁堟柟娉�")
+          self.endSaveData(param)
+
+
+          // if(self.headContent.processesCode === "OP260"){
+          //   checkYzSfcCode(orderParam).then(response => {
+          //     if(response.data === 0){
+          //       self.$message('鏈粦瀹氭�绘垚鐮佺姝㈡斁琛�');
+          //       return;
+          //     }else {
+          //       self.endSaveData(param)
+          //       // saveCampaignTimeParameters(param).then(response => {
+          //       //   self.cakeLamp.release = 1;
+          //       //   self.endClear()
+          //       //   workpieceRelease(param).then(response => {});});
+          //     }
+          //   })
+          // }else {
+          //   self.endSaveData(param)
+          //   // saveCampaignTimeParameters(param).then(response => {
+          //   //   self.cakeLamp.release = 1;
+          //   //   self.endClear()
+          //   //   workpieceRelease(param).then(response => {});
+          //   // });
+          // }
+
+          // checkCarCode(orderParam).then(response => {
+          //   console.log(response.data)
+          //   if(response.data === 1){
+          //     if(self.headContent.processesCode === "OP260"){
+          //       checkYzSfcCode(orderParam).then(response => {
+          //         if(response.data === 1){
+          //           saveCampaignTimeParameters(param).then(response => {
+          //             checkRecordDataDone(param).then(response => {
+          //               if(response.msg === "21"){
+          //                 self.cakeLamp.release = 1;
+          //                 self.endClear()
+          //                 workpieceRelease(param).then(response => {});
+          //               }else {
+          //                 self.$message('鏈仛瀹屽伐搴忕姝㈡斁琛�');
+          //               }
+          //             });
+          //           });
+          //         }else {
+          //           self.$message('璇峰厛缁戝畾棰勮鎬绘垚');
+          //         }
+          //       });
+          //     }else {
+          //       saveCampaignTimeParameters(param).then(response => {
+          //         checkRecordDataDone(param).then(response => {
+          //           if(response.msg === "21"){
+          //             self.cakeLamp.release = 1;
+          //             self.endClear()
+          //             workpieceRelease(param).then(response => {});
+          //           }else {
+          //             self.$message('鏈仛瀹屽伐搴忕姝㈡斁琛�');
+          //           }
+          //         });
+          //       });
+          //     }
+          //   }else {
+          //     self.$alert('<strong style="color: red;font-size: 30px">鏈壂鎻忓皬杞︾爜绂佹鏀捐</strong>', '鎻愮ず', {
+          //       dangerouslyUseHTMLString: true
+          //     });
+          //   }
+          // });
         } else if (event.data.includes("[")) {
           let formulaChilds = "";
           self.formulaChildList.sort((a, b) => a.stepSort - b.stepSort);
@@ -648,30 +819,53 @@
           for (let i = 0; i < self.formulaChildList.length; i++) {
             let formulaChild = self.formulaChildList[i];
             let results = formulaChild.results;
+
             if (results === '' || results === null || results === 'NG') {
               formulaChilds = formulaChild;
               break;
             }
           }
+           if(formulaChilds === ""){
+             self.$message.error('鏈伐浣嶅凡宸ヤ綔瀹屾垚锛�');
+             return;
+           }
           const param = {
+            id: formulaChilds.id,
             tightenTheArray: event.data,
             paramCode: formulaChilds.paramCode,
             workOrderNo: self.workpieceInformation.workOrderNo,
             productCode: self.workpieceInformation.productCode,
             locationCode: self.headContent.processesCode,
             productBarcode: self.headContent.sfcCode,
+            spareField1: formulaChilds.spareField1,
+            spareField2: formulaChilds.spareField2,
+            spareField3: formulaChilds.spareField3,
+            spareField4: formulaChilds.spareField4,
+            stepSort: formulaChilds.stepSort
           }
-          addTighteningParameters(param).then(response => {});
-          updateTighteningFormula(param).then(response => {
-            self.getListFormulaChild()
-          }).catch(error =>{
-            self.getListFormulaChild()
-          });
+          if(formulaChilds.paramCode === null||formulaChilds.paramCode ===''){
+            self.$message('鏈壘鍒板弬鏁扮爜锛岃妫�鏌ュ弬鏁扮爜鏄惁姝g‘');
+            return;
+          }
+          if(self.headContent.sfcCode!==null||self.headContent.sfcCode!==''){
+            updateTighteningFormula(param).then(response => {
+              //addTighteningParameters(param).then(response => {});
+              self.getListFormulaChild()
+            }).catch(error =>{
+              self.getListFormulaChild()
+            });
+          }
         }
       };
     },
 
-
+    endSaveData(param){
+      saveCampaignTimeParameters(param).then(response => {
+      this.cakeLamp.release = 1;
+      this.endClear()
+      workpieceRelease(param).then(response => {});
+      });
+    },
 
     //鎺ュ彈鏁版嵁鐨勫洖璋�
     callBack(value) {
@@ -679,14 +873,19 @@
       else {
         const scanValue = this.myserialport.hex2atostr(value).replace(/[\r\n]/g, '');
         console.log("涓插彛鏀跺埌鏁版嵁-------------------"+scanValue)
-
-        if(this.headContent.sfcCode !== ''){
-          if(scanValue.includes("P9900173252")){
-            this.headContent.yzSfcCode = scanValue
-          }else if(scanValue.includes("HDY")){
+        console.log("sfc=--"+this.headContent.sfcCode+"--")
+        if(this.headContent.sfcCode !== '' && this.headContent.sfcCode !== null
+          && this.headContent.sfcCode !== undefined){
+          // if(scanValue.includes("P9900173252")){
+          //   this.headContent.yzSfcCode = scanValue
+          //   this.bindYzSfc();
+          // }else
+          if(scanValue.includes("0RSP1TE") && this.headContent.processesCode === 'OP240'){
             this.headContent.cardCode = scanValue
+            this.bindcardCode(scanValue);
+            this.serialPortMethod(scanValue)
           }else {
-            this.$message('鎵弿鐗╂枡缂栫爜'+scanValue);
+            this.$message('宸ヤ綅缁堢鎵弿鐗╂枡缂栫爜'+scanValue);
             console.log(scanValue)
             this.serialPortMethod(scanValue)
           }

--
Gitblit v1.9.3