schangxiang@126.com
2024-09-06 b5bcf90f2dfc8972090d7ab8e6a350bd74b460c8
yiqi_pda/pages/outBound/index.vue
@@ -1,21 +1,22 @@
<template>
   <default-header-page-layout ref="page" title="出库执行">
   <default-header-page-layout ref="page" title="入库执行">
      <view class="page-frame with-action-user-row" :style="{height:pageBodyHeight+'px'}" v-if="pageBodyHeight">
         <action-user-row />
         <scan-input-form-item  :inputFocus="inputFocus" v-model="OP80NewCode" class="forma-item" :label="baseTitile"  :msg="msg" :msg-type="msgType"
            @search="onSearchContainter" @clear="onClearContainter" />
         <view class="with-action-user-row-page-content"  >
         <Content @deleteData="deleteData" :workPieceData="workPieceData"  />
         <scan-input-form-item :inputFocus="inputFocus" v-model="OP80NewCode" class="forma-item" :label="baseTitile"
            :msg="msg" :msg-type="msgType" @search="onSearchContainter" @clear="onClearContainter" />
         <view class="with-action-user-row-page-content">
            <Content @deleteData="deleteData" :workPieceData="workPieceData" />
         </view>
         <modalPwd  @reflesh="reflesh" ref="pwdRef"/>
         <modalPwd @reflesh="reflesh" ref="pwdRef" />
      </view>
      <template v-slot:footer>
         <view class="bottom-btns-row">
            <view class="btn-frame right-btn-frame">
               <u-button :disabled="workPieceData.length<1" type="primary" text="确认出库" @click="outBoundConfirm"></u-button>
               <u-button :disabled="workPieceData.length<1" type="primary" text="确认入库"
                  @click="outBoundConfirm"></u-button>
            </view>
         </view>
      </template>
@@ -39,7 +40,9 @@
      outBoundWorkPiece,
      getOutBoundWorkPieceInfoCount
   } from '@/api/outBound/index.js'
   import {listbycode} from '@/api/common/index.js'
   import {
      listbycode
   } from '@/api/common/index.js'
   export default {
      name: 'baseInPage',
      components: {
@@ -52,75 +55,97 @@
      data() {
         return {
            barHeight: '',
            ckNumToday:"0",//今天总出库数
            baseTitile:'扫描成品码/工件二维码',//扫描成品码/工件二维码
            title:'',
            ckNumToday: "0", //今天总入库数
            baseTitile: '扫描成品码/工件二维码', //扫描成品码/工件二维码
            title: '',
            pageBodyHeight: 0,
            initInterVal: null,
            myInterval: null,
            msg: '',
            msgType: 'error',
            OP80NewCode: '',
            workPieceData:[],
            workPieceData: [],
            workPieceStatus: [],
            inputFocus:true,
            inputFocus: true,
            // codeLength:1
         }
      },
      onLoad() {
         var _this=this;
         var _this = this;
         _this._getOutBoundWorkPieceInfoCount();
         this.myInterval=setInterval(function(){ _this._getOutBoundWorkPieceInfoCount();}, 1000*10);
         //不再循环读
         /*
         this.myInterval = setInterval(function() {
            _this._getOutBoundWorkPieceInfoCount();
         }, 1000 * 10);
         //*/
         //this.myInterval=setInterval(this.myFun(), 3000);
      },
      methods: {
         // 获取工件信息
         async _getOutBoundWorkPieceInfoCount(OP80NewCode) {
            try{
               let {data}=await getOutBoundWorkPieceInfoCount(null)
               this.ckNumToday =data;
            }catch(e){
            }
            try {
               let {
                  data
               } = await getOutBoundWorkPieceInfoCount(null)
               this.ckNumToday = data;
            } catch (e) {}
            this.setMsg();
         },
         // 获取工件信息
         async onSearchContainter(OP80NewCode) {
            this.inputFocus=false
            //debugger
            if (OP80NewCode.length != 21) {
               this.initFocus(100);
               // uni.showToast({
               //    title: '工件码或成品码长度不正确',
               //    icon: 'error',
               //    duration: 2000,
               //    mask: true
               // });
               return;
            }
            this.inputFocus = false
            const param = {
               OP80NewCode: OP80NewCode
            }
            try{
               let {data}=await getWorkPieceByOP80NewCode(param)
               if(!this.workPieceData.some(item=>item.workPieceID==data.workPieceID)) {
                  data.addTime=new Date();
            try {
               let data={};
               data.addTime = new Date();
               data.workPieceID=OP80NewCode;
               data.oP80NewCode=OP80NewCode;
               if (!this.workPieceData.some(item => item.workPieceID == data.workPieceID)) {
                  data.addTime = new Date();
                  this.workPieceData.push(data)
               }
               //顺序调转,排序
               this.workPieceData.sort((a, b) => b.addTime - a.addTime);
               this.OP80NewCode = ''; //每次刷完就清空输入框 【Editby shaocx,2024-06-12】
               this.initFocus(100);
               //console.log(this.workPieceData,'dsts');
               // setTimeout(()=>{
               //    this.OP80NewCode = '' ;//每次刷完就清空输入框 【Editby shaocx,2024-06-12】
               //    this.inputFocus=true
               // },100)
            }catch(e){
            } catch (e) {
               //debugger
               this.initFocus(100);
               //TODO handle the exception
               console.log(e);
            }
            //this.msg = " 扫码数:"+this.workPieceData.length+"    今日出库数:";
            //this.msg = " 扫码数:"+this.workPieceData.length+"    今日入库数:";
            this.setMsg();
         },
         setMsg(){
            this.msg = " 扫码数:"+this.workPieceData.length+"    今日出库数:"+this.ckNumToday;
         setMsg() {
            this.msg = " 扫码数:" + this.workPieceData.length + "    今日入库数:" + this.ckNumToday;
         },
         initFocus(num){
            setTimeout(()=>{
               this.OP80NewCode = '' ;//每次刷完就清空输入框 【Editby shaocx,2024-06-12】
               this.inputFocus=true
            },num)
         initFocus(num) {
            setTimeout(() => {
               this.OP80NewCode = ''; //每次刷完就清空输入框 【Editby shaocx,2024-06-12】
               this.inputFocus = true
            }, num)
         },
         // 获取扫码长度
         // async listbycode(){
@@ -131,37 +156,49 @@
         //       //TODO handle the exception
         //       console.log(e);
         //    }
         // },
         onClearContainter() {
            this.OP80NewCode = ''
         },
         deleteData(opt){
            this.workPieceData=this.workPieceData.filter(item=>item.workPieceID!=opt.workPieceID)
         deleteData(opt) {
            this.workPieceData = this.workPieceData.filter(item => item.workPieceID != opt.workPieceID)
            this.setMsg();
         },
         reflesh(){
         reflesh() {
            this.OP80NewCode = ''
            this.workPieceData=[]
            this.workPieceData = []
            setTimeout(() => {
               this._getOutBoundWorkPieceInfoCount();
               this.setMsg();
            }, 1000)
         },
         outBoundConfirm(){
         outBoundConfirm() {
            this.$refs.pwdRef.showModal(this.workPieceData)
            /*
            // 存在非成品
            const flag=this.workPieceData.some(item=>item.workPieceState!=10)
            if(flag) {
            const flag = this.workPieceData.some(item => item.workPieceState != 10)
            if (flag) {
               uni.showModal({
                  title:'提示',
                  content:'当前工件存在非成品,确定强制出库吗?',
                  success:(value)=>{
                     const {confirm,cancel}=value
                     if(confirm) {
                  title: '提示',
                  content: '当前工件存在非成品,确定强制入库吗?',
                  success: (value) => {
                     const {
                        confirm,
                        cancel
                     } = value
                     if (confirm) {
                        this.$refs.pwdRef.showModal(this.workPieceData)
                     }
                  }
               })
            }else{
            } else {
               this.$refs.pwdRef.showModal(this.workPieceData)
            }
            
            //*/
         },
         /* 页面初始化获取页面body高度的定时器 */
         startInitInterval(callback) {
@@ -196,23 +233,23 @@
         comfirmUpdate() {
            this.$refs.pwdRef.showModal(this.barDetail);
         },
         myFun(){
         myFun() {
            console.log('aaaa')
         }
      },
      onReady() {
         this.setMsg();
         this.startInitInterval(() => {
            /* 页面初始化后需要执行的代码在这边调用 */
            // this.listbycode()
         })
      },
      mounted() {
         // 设置fixed定位
         //this.barHeight = Vue.prototype.CustomBar || 45
         this.barHeight =  Vue.prototype.CustomBar
         this.barHeight = Vue.prototype.CustomBar
      },
      onUnload() {
         //alert(11); 页面离开时
@@ -222,21 +259,21 @@
      //监听原生返回键
      onBackPress(e) {
         // 此处一定要return为true,否则页面不会返回到指定路径
         if(1!=1){
         if (1 != 1) {
            return false //可返回
         }else{
         } else {
            uni.showModal({
            title: '提示',
            content: '是否确认返回?',
            showCancel: true,
            cancelColor: '#333333',
            success: (res => {
               title: '提示',
               content: '是否确认返回?',
               showCancel: true,
               cancelColor: '#333333',
               success: (res => {
                  if (res.confirm) {
                     uni.redirectTo({
                        url: '/pages/home/index'
                     })
                  } else if (res.cancel) {
                  }
               })
            });