From 5eeb8864bebb1dc4f97f2feef32b742d8a9a10d5 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期三, 14 九月 2022 15:43:04 +0800
Subject: [PATCH] 1.新增报表管理菜单

---
 src/views/scgl/sckbg.vue |  229 +++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 165 insertions(+), 64 deletions(-)

diff --git a/src/views/scgl/sckbg.vue b/src/views/scgl/sckbg.vue
index 236d360..f28de38 100644
--- a/src/views/scgl/sckbg.vue
+++ b/src/views/scgl/sckbg.vue
@@ -7,13 +7,15 @@
             <div style="display: flex;align-items: center">
               <div style="width: 90px">鎵弿鏉$爜锛�</div>
               <!--              oninput="value=value.replace(/[^0-9a-zA-Z;_]/g,'')"-->
-
               <el-input
+                id="keyWords"
                 v-model="form.orderstepqrcode"
                 name="produceCode"
                 style="width: 300px"
                 @keyup.enter.native="val=>enterNative(val,'produceCode')"
               />
+              <!--                @keyup.native="e=>judgeIsScanning(e,'produceCode')"-->
+
             </div>
             <div v-if="false" style="display: flex;padding-right: 10px">
               <el-button @click="ZZstart">
@@ -39,19 +41,6 @@
               :cell-style="this.$cellStyle"
               @sort-change="sortChange"
             >
-              <!--              <el-table-column-->
-              <!--                width="50"-->
-              <!--                fixed-->
-              <!--              >-->
-              <!--                <template slot-scope="{row}">-->
-              <!--                  <el-radio-->
-              <!--                    v-model="radioSelected"-->
-              <!--                    :label="row.wo"-->
-              <!--                    style="color: #fff;padding-left: 10px; margin-right: -25px;"-->
-              <!--                    @change.native="getCurrentRow(row.wo)"-->
-              <!--                  />-->
-              <!--                </template>-->
-              <!--              </el-table-column>-->
               <el-table-column
                 prop="RowNum"
                 width="50"
@@ -214,6 +203,8 @@
                 style="width: 300px"
                 @keyup.enter.native="val=>enterNative(val,'WXproduceCode')"
               />
+              <!--              @keyup.native="e=>judgeIsScanning(e,'WXproduceCode')"-->
+
             </div>
             <div v-if="false" style="display: flex;padding-right: 10px">
               <el-button @click="WXsend">
@@ -239,19 +230,6 @@
               :cell-style="this.$cellStyle"
               @sort-change="WXsortChange"
             >
-              <!--              <el-table-column-->
-              <!--                width="50"-->
-              <!--                fixed-->
-              <!--              >-->
-              <!--                <template slot-scope="{row}">-->
-              <!--                  <el-radio-->
-              <!--                    v-model="radioSelected"-->
-              <!--                    :label="row.wo_code"-->
-              <!--                    style="color: #fff;padding-left: 10px; margin-right: -25px;"-->
-              <!--                    @change.native="getWXCurrentRow(row.wo_code)"-->
-              <!--                  />-->
-              <!--                </template>-->
-              <!--              </el-table-column>-->
               <el-table-column
                 prop="RowNum"
                 width="50"
@@ -401,6 +379,8 @@
                 style="width: 300px"
                 @keyup.enter.native="val=>enterNative(val,'badProduceCode')"
               />
+              <!--              @keyup.native="e=>judgeIsScanning(e,'badProduceCode')"-->
+
             </div>
           </div>
           <el-divider />
@@ -829,8 +809,8 @@
         <el-form-item
           v-if="dialogTitle==='澶栧崗鏀舵枡'"
           label="涓嶈壇鍘熷洜锛�"
-          prop="badcode"
         >
+          <!--          prop="badcode"-->
           <el-select
             v-model="dialogForm.badcode"
             style="width: 200px;"
@@ -846,20 +826,20 @@
             />
           </el-select>
         </el-form-item>
-        <el-form-item v-if="dialogTitle==='澶栧崗鏀舵枡'" label="鏀舵枡浜猴細">
-          <el-select
-            v-model="dialogForm.operation"
-            style="width: 200px;"
-            placeholder="璇烽�夋嫨"
-          >
-            <el-option
-              v-for="item in OperationArr"
-              :key="item.usercode"
-              :label="item.username"
-              :value="item.usercode"
-            />
-          </el-select>
-        </el-form-item>
+        <!--        <el-form-item v-if="dialogTitle==='澶栧崗鏀舵枡'" label="鏀舵枡浜猴細">-->
+        <!--          <el-select-->
+        <!--            v-model="dialogForm.operation"-->
+        <!--            style="width: 200px;"-->
+        <!--            placeholder="璇烽�夋嫨"-->
+        <!--          >-->
+        <!--            <el-option-->
+        <!--              v-for="item in OperationArr"-->
+        <!--              :key="item.usercode"-->
+        <!--              :label="item.username"-->
+        <!--              :value="item.usercode"-->
+        <!--            />-->
+        <!--          </el-select>-->
+        <!--        </el-form-item>-->
         <el-form-item v-if="dialogTitle==='澶栧崗鏀舵枡'" label="澶囨敞锛�">
           <el-input v-model="dialogForm.remarks" type="textarea" style="width: 200px;" />
         </el-form-item>
@@ -1218,7 +1198,7 @@
         taskqty: '', // 浠诲姟鏁伴噺
         fqty: '', // 鍙戞枡鏁伴噺
 
-        inuser: '', // 鏀舵枡浜哄憳
+        inuser: getCookie('navTabId'), // 鏀舵枡浜哄憳
         sqty: '', // 鏀舵枡鏁伴噺
         ngqty: '', // 涓嶈壇鏁伴噺
         badcode: '', // 涓嶈壇鍘熷洜缂栫爜
@@ -1325,23 +1305,39 @@
         operation: getCookie('navTabId')
       },
       badTableDataDialog: [], // 涓嶈壇瀵硅瘽妗唗able琛ㄦ牸
-      OperationArr: [] // 浜哄憳鏁扮粍
+      OperationArr: [], // 浜哄憳鏁扮粍
+      sendButtonIsDisabled: false, // 涓嬭揪鎸夐挳鏄惁鍙偣鍑�
+      judgeIsScanningArr: [], // 鍒ゆ柇鏄惁鎵爜鏁扮粍
+      countJudgeIsScanningInput: 0// 鍒ゆ柇鎵爜妗嗙殑涓暟
     }
   },
-  // computed: {
-  //   qrLink: function() {
-  //     return this.$store.getters.getPreviewUrl
-  //   }
-  // },
-  // watch: {
-  //   qrLink: function(newVal, oldNew) {
-  //     if (newVal !== oldNew) {
-  //       this.$nextTick(() => {
-  //         this.bindQRCode(newVal)
-  //       })
-  //     }
-  //   }
-  // },
+  watch: {
+    // 'form.orderstepqrcode': {
+    //   handler(newValue) {
+    //     this.form.orderstepqrcode = newValue
+    //
+    //     // 鍦ㄨ繖閲岃皟鐢紝骞舵墽琛宼his.fnThrottle(this.search, 500, 2000)();
+    //     this.fnThrottle(this.enterNative, 500, 2000, 'produceCode')()
+    //   }
+    // },
+    // 'WXform.orderstepqrcode': {
+    //   handler(newValue) {
+    //     this.form.orderstepqrcode = newValue
+    //
+    //     // 鍦ㄨ繖閲岃皟鐢紝骞舵墽琛宼his.fnThrottle(this.search, 500, 2000)();
+    //     this.fnThrottle(this.enterNative, 500, 2000, 'WXproduceCode')()
+    //   }
+    // },
+    // 'badForm.orderstepqrcode': {
+    //   handler(newValue) {
+    //     this.form.orderstepqrcode = newValue
+    //
+    //     // 鍦ㄨ繖閲岃皟鐢紝骞舵墽琛宼his.fnThrottle(this.search, 500, 2000)();
+    //     this.fnThrottle(this.enterNative, 500, 2000, 'badProduceCode')()
+    //   }
+    // }
+  },
+
   created() {
     this.getMesOrderStepSearch()
     this.tabClick()
@@ -1360,6 +1356,7 @@
     this.getMesOrderSelectUserAll() // 鑾峰彇鎵�鏈変汉鍛�
   },
   methods: {
+
     tableRowClassName({ row, rowIndex }) {
       return 'custom-row'
     },
@@ -1447,9 +1444,108 @@
         })
       }
     },
+    // 闃叉姈      //鎵爜鐢ㄧ殑鏄槻鎶�
+    fnThrottle(method, delay, duration, belong) {
+      var that = this
+      var timer = this.timer
+      var begin = new Date().getTime()
+      return function() {
+        var current = new Date().getTime()
+        clearTimeout(timer)
+        if (current - begin >= duration) {
+          // method()
+          // that.VALUE()
+          begin = current
+        } else {
+          that.timer = setTimeout(function() {
+            // method()
+            if (belong === 'produceCode') {
+              that.enterNative(that.form.orderstepqrcode, belong)
+            }
+            if (belong === 'WXproduceCode') {
+              that.enterNative(that.WXform.orderstepqrcode, belong)
+            }
+            if (belong === 'badProduceCode') {
+              that.enterNative(that.badForm.orderstepqrcode, belong)
+            }
+          }, delay)
+        }
+      }
+    },
+    // 鍒ゆ柇鏄惁鏄壂鐮佹灙鎵爜
+    judgeIsScanning2(e, belong) {
+      if (belong === 'produceCode' && this.form.orderstepqrcode.toString().length === 0) {
+        this.judgeIsScanningArr = []
+        this.countJudgeIsScanningInput = 0
+      }
+      if (belong === 'WXproduceCode' && this.WXform.orderstepqrcode.toString().length === 0) {
+        this.judgeIsScanningArr = []
+        this.countJudgeIsScanningInput = 0
+      }
+      const timenow = e.timeStamp
+      // console.log(timenow, 1)
+      // let flag = true
+      let flag = false
+      this.judgeIsScanningArr.push(timenow)
+      let i
+
+      for (i in this.judgeIsScanningArr) {
+        console.log(Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 1]) - Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 2]))
+        // flag = Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 1]) - Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 2]) < 0.1
+        if (Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 1]) - Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 2]) < 0.1) {
+          this.countJudgeIsScanningInput++
+        }
+        if (this.countJudgeIsScanningInput >= 3) {
+          flag = true
+        }
+        if (i > 0 && this.judgeIsScanningArr.length === parseInt(i) + 1) {
+          if (flag) {
+            console.log(flag, 1)
+            this.fnThrottle(this.enterNative, 500, 2000, belong)()
+            return
+          }
+        }
+      }
+
+      // // for (i in this.judgeIsScanningArr) {
+      // // console.log(i)
+      // // console.log( this.judgeIsScanningArr)
+      // console.log(Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 1]) - Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 2]))
+      // if (Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 1]) - Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 2]) < 10) {
+      //   this.countJudgeIsScanningInput++
+      // }
+      // if (this.countJudgeIsScanningInput > this.judgeIsScanningArr.length / 2) {
+      //   flag = true
+      // }
+      // // flag = Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 1]) - Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 2]) < 0.1
+      // // if (i > 0 && this.judgeIsScanningArr.length === parseInt(i) + 1) {
+      // if (flag) {
+      //   console.log(flag, 2)
+      //   this.fnThrottle(this.enterNative, 500, 2000, belong)()
+      //   return
+      // }
+      // // }
+      // // }
+    },
+    // 鍒ゆ柇鏄惁鏄壂鐮佹灙鎵爜
+    judgeIsScanning(e, belong) {
+      const timenow = e.timeStamp
+      let flag = true
+      this.judgeIsScanningArr.push(timenow)
+      let i
+      for (i in this.judgeIsScanningArr) {
+        flag = Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 1]) - Math.ceil(this.judgeIsScanningArr[this.judgeIsScanningArr.length - 2]) < 0.1
+        if (i > 0 && this.judgeIsScanningArr.length === parseInt(i) + 1) {
+          if (flag) {
+            this.fnThrottle(this.enterNative, 500, 2000, belong)()
+            return
+          }
+        }
+      }
+    },
     // 鎵爜閿洏鍥炶溅浜嬩欢
     async enterNative(val, belong) {
-      console.log(val, belong)
+      console.log(val, belong, 89898989)
       // 寮�宸ワ細code="200"  count=0
       // 鎶ュ伐锛歝ode="200"  count=1
       // 鍙戞枡锛歝ode="200"  count=2
@@ -1744,6 +1840,11 @@
     },
     // 瀵硅瘽妗嗗叧闂簨浠�
     handleClose() {
+      this.judgeIsScanningArr = []
+      this.form.orderstepqrcode = ''
+      this.WXform.orderstepqrcode = ''
+      this.badForm.orderstepqrcode = ''
+
       this.dialogForm.wo_code = '', // 宸ュ崟缂栧彿
       this.dialogForm.partcode = '', // 浜у搧缂栫爜
       this.dialogForm.partname = '', // 浜у搧鍚嶇О
@@ -1763,7 +1864,7 @@
       this.dialogForm.taskqty = '', // 浠诲姟鏁伴噺
       this.dialogForm.fqty = '', // 鍙戞枡鏁伴噺
 
-      this.dialogForm.inuser = '', // 鏀舵枡浜哄憳
+      this.dialogForm.inuser = getCookie('navTabId'), // 鏀舵枡浜哄憳  榛樿鐧诲綍浜哄憳
       this.dialogForm.sqty = '', // 鏀舵枡鏁伴噺
       this.dialogForm.ngqty = '', // 涓嶈壇鏁伴噺
       this.dialogForm.badcode = '', // 涓嶈壇鍘熷洜缂栫爜
@@ -1847,8 +1948,8 @@
               if (res.code === '200') {
                 this.$message.success('鏀舵枡鎴愬姛锛�')
 
-                if (this.dialogForm.nextstepcode !== '') {
-                  this.WXprint2(this.OperationArr.find(item => item.usercode === this.dialogForm.operation).username)
+                if (this.dialogForm.nextstepcode === '') {
+                  this.WXprint2(this.OperationArr.find(item => item.usercode === this.dialogForm.inuser).username)
                   this.dialogVisible2 = true
                 }
                 this.dialogVisible = false
@@ -1923,8 +2024,7 @@
               if (res.code === '200') {
                 this.$message.success('鎶ュ伐鎴愬姛锛�')
 
-                console.log(this.dialogForm.nextstepcode, 1)
-                if (this.dialogForm.nextstepcode !== '') {
+                if (this.dialogForm.nextstepcode === '') {
                   this.ZZprint2(this.OperationArr.find(item => item.usercode === this.dialogForm.operation).username)
                   this.dialogVisible2 = true
                 }
@@ -2043,6 +2143,7 @@
       this.badDialogForm = {}
       this.badDialogForm.operation = getCookie('navTabId')
       this.badTableDataDialog = []
+      this.judgeIsScanningArr = []
     },
     async  getMesOrderSelectUserAll() {
       const { data: res } = await MesOrderSelectUser({ usercode: '' })

--
Gitblit v1.9.3