admin
2024-07-30 c1da6d36b8133744017a4f1c5e97821b591f02fc
jcdm-ui/src/views/main/kb/preInstalledTerminal/index.vue
@@ -4,6 +4,7 @@
     <el-col :span="7">
       <el-card shadow="never">
         <span class="head-font">工位编号 : {{headContent.processesCode}}</span>
         <span hidden>{{headContent.inboundTime}}</span>
       </el-card>
     </el-col>
     <el-col :span="7">
@@ -29,17 +30,19 @@
           <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>
               <el-table-column label="产品编号" align="center" prop="productCode">
               <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="140" 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>
@@ -187,26 +190,24 @@
  </div>
</template>
<script>
import {listWorkReport} from "@/api/main/om/workReport/workReport";
import {listStationConf,getIpv4} from "@/api/main/sc/stationConf";
import {getIpv4, listStationConf} from "@/api/main/sc/stationConf";
import {
  listFormulaChild,
  checkMaterialCode,
  clearWorkpieceRelease,
  fistSetpNumber,
  noPageListFormulaChild,
  releaseCheck,
  updateResults,
  updateTighteningFormula,
  workpieceRelease, yzUpdateResults, yzUpdateTighteningFormula
  workpieceRelease,
  yzUpdateResults,
  yzUpdateTighteningFormula
} from "@/api/main/bs/formulaChild/formulaChild";
import MySerialPort from "@/utils/MySerialPort";
import USBDevice from "@/utils/usb.json";
import {listProductionOrde} from "@/api/main/om/productionOrde/productionOrde";
import {addPassingStationCollection} from "@/api/main/da/passingStationCollection/passingStationCollection";
import {
  addBasicParameters,
  addParamCollection,
  addTighteningParameters,
  addTighteningParameters, preInstallOut,
  replaceAssemblyCode,
  saveCampaignTimeParameters,
  replaceAssemblyCode, yzAddBasicParameters,
  yzAddBasicParameters,
} from "@/api/main/da/paramCollection/paramCollection";
export default {
@@ -231,6 +232,7 @@
        processesName: '贴标机-贴码',
        sfcCode: '',
        yzSfcCode: '',
        inboundTime: '',
      },
      workpieceInformation: {
        workOrderNo: null,
@@ -261,6 +263,8 @@
      },
      content: '',
      activeName: 'first',
      // url: "ws://192.168.2.248:8080/websocket/message/",
      // url: "ws://10.103.210.248:8080/websocket/message/",
      url: "ws://192.168.2.76:8080/websocket/message/",
      message: "",
      text_content: "",
@@ -329,20 +333,6 @@
    serialLink() {
      this.open1 = true
    },
    bindYzSfc(){
      if(this.headContent.sfcCode!==""&&this.headContent.yzSfcCode!==""){
        let param = {
          sfcCode: this.headContent.sfcCode,
          locationCode: this.headContent.processesCode,
          yzSfcCode: this.headContent.yzSfcCode
        }
        this.$message('可以绑定!');
        replaceAssemblyCode(param).then(response => {
        });
      }
    },
    Release(){
      // this.$message('portsList!'+this.portsList.length);
      if(this.btnType === "danger"){
@@ -354,12 +344,26 @@
      }
    },
    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');
    },
    serialPortMethod(value){
      let formulaChildParams = {
        scanBarcode: value,
        sfcBarcode: this.headContent.sfcCode,
        workOrderNo: this.workpieceInformation.workOrderNo,
        productCode: "1P102S",
        productCode: "PE01B",
        locationCode: this.headContent.processesCode,
        collectionTime: new Date()
      }
@@ -377,11 +381,30 @@
    },
    /** 查询配方配置子信息列表 */
    getListFormulaChild() {
      this.formulaChildParams.productCode = "1P102S"
      this.formulaChildParams.productCode = "PE01B"
      this.formulaChildParams.processesCode = this.headContent.processesCode
      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(){
@@ -391,8 +414,14 @@
      console.log(tab, event);
    },
    clearClick(){
      this.$message('这是一条清除消息提示');
      this.headContent.sfcCode = null
      const param = {
        productCode: 'PE01B',
        locationCode: this.headContent.processesCode,
      }
      clearWorkpieceRelease(param).then(response => {});
      this.headContent.sfcCode = ''
      this.formulaChildList = [];
      this.$message('清除成功!');
    },
    scanCompleted(){
      this.$message('扫码完成'+this.content);
@@ -406,8 +435,12 @@
    },
    /** 查询工单列表 */
    async getList() {
      const param = {
        processesCode: this.headContent.processesCode,
      }
      fistSetpNumber(param).then(response => {});
      this.getListFormulaChild()
      this.addOverStationCollection()
      // this.addOverStationCollection()
    },
    /** 入站增加过站采集记录 **/
@@ -464,36 +497,7 @@
        this.$message('websocket连接成功!');
      };
      this.ws.onmessage = function (event) {
        if (event.data === "IN") {
          self.cakeLamp.InPlace = 1;
        } else if (event.data === "IN0") {
          self.cakeLamp.InPlace = 0;
        } else if (event.data === "OUT") {
          console.log("out")
          const param = {
            workOrderNo: self.workpieceInformation.workOrderNo,
            productCode: "1P102S",
            locationCode: self.headContent.processesCode,
            productBarcode: self.headContent.sfcCode,
          }
          // saveCampaignTimeParameters(param).then(response => {});
          // self.cakeLamp.release = 1;
          workpieceRelease(param).then(response => {});
          self.formulaChildList = [];
          self.headContent.sfcCode = '';
          console.log(self.formulaChildList)
        } else if (event.data === "END") {
          // const param = {
          //   workOrderNo: self.workpieceInformation.workOrderNo,
          //   productCode: self.workpieceInformation.productCode,
          //   locationCode: self.headContent.processesCode,
          //   productBarcode: self.headContent.sfcCode,
          // }
          // saveCampaignTimeParameters(param).then(response => {});
          // self.endClear()
          // workpieceRelease(param).then(response => {});
        } else if (event.data.includes("[")) {
        if(event.data.includes("[")) {
          let formulaChilds = "";
          self.formulaChildList.sort((a, b) => a.stepSort - b.stepSort);
          self.formulaChildList
@@ -510,27 +514,45 @@
            tightenTheArray: event.data,
            paramCode: formulaChilds.paramCode,
            // workOrderNo: self.workpieceInformation.workOrderNo,
            productCode: "1P102S",
            // productCode: "1P102S",
            locationCode: self.headContent.processesCode,
            productBarcode: self.headContent.sfcCode,
            spareField2: formulaChilds.spareField2,
            spareField3: formulaChilds.spareField3,
            spareField4: formulaChilds.spareField4,
            stepSort: formulaChilds.stepSort
          }
          addTighteningParameters(param).then(response => {});
          yzUpdateTighteningFormula(param).then(response => {
            console.log(response.msg)
            if(response.msg === "1"){
                self.getListFormulaChild()
          if(self.headContent.sfcCode === null||self.headContent.sfcCode ===''){
            self.$message('未找到总成码,请先扫码!');
            return;
          }
          if(formulaChilds.paramCode === null||formulaChilds.paramCode ===''){
            self.$message('未找到参数码,请检查参数码是否正确');
            return;
          }
          checkMaterialCode(param).then(response => {
            if(response.msg === "2"){
              self.$message('未扫描物料码完毕!');
            }else {
              const param = {
                workOrderNo: self.workpieceInformation.workOrderNo,
                productCode: "1P102S",
                locationCode: self.headContent.processesCode,
                productBarcode: self.headContent.sfcCode,
              }
              saveCampaignTimeParameters(param).then(response => {});
              workpieceRelease(param).then(response => {});
              self.formulaChildList = [];
              self.headContent.sfcCode = '';
              yzUpdateTighteningFormula(param).then(response => {
                console.log(response)
                if(response.msg === "1" || response.msg === "3"){
                  self.getListFormulaChild()
                }else {
                  const param = {
                    locationCode: self.headContent.processesCode,
                    productBarcode: self.headContent.sfcCode,
                    inboundTime: self.headContent.inboundTime,
                    productCode: "PE01B"
                  }
                  preInstallOut(param).then(response => {});
                  workpieceRelease(param).then(response => {});
                  self.formulaChildList = [];
                  self.headContent.sfcCode = '';
                }
              });
              addTighteningParameters(param).then(response => {});
            }
          });
        }
@@ -547,12 +569,18 @@
        console.log("串口收到数据-------------------"+scanValue)
        if(this.headContent.sfcCode !== ''){
          this.$message('扫描物料编码'+scanValue);
          this.$message('预装工位扫描物料编码'+scanValue);
          console.log(scanValue)
          this.serialPortMethod(scanValue)
        } else {
          this.headContent.sfcCode = scanValue;
          this.getList()
          if(scanValue.includes("P9900183275") || scanValue.includes("P9900173252")){
            this.headContent.sfcCode = scanValue;
            this.headContent.inboundTime = this.getCurrentTime();
            this.getList()
          }else {
            this.$message.error('总成码扫描错误!');
          }
        }
      }