yyt
2024-06-29 ada5f3072f14e62eeebfced57755b278f2cc0857
更新
已修改3个文件
112 ■■■■■ 文件已修改
jcdm-ui/package.json 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-ui/src/views/main/kb/cvt/index.vue 108 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
package-lock.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-ui/package.json
@@ -49,6 +49,7 @@
    "js-cookie": "3.0.1",
    "jsencrypt": "3.0.0-rc.1",
    "nprogress": "0.2.0",
    "qrcode-reader": "^1.0.4",
    "quill": "1.3.7",
    "screenfull": "5.0.2",
    "sortablejs": "1.10.2",
@@ -73,6 +74,7 @@
    "eslint": "7.15.0",
    "eslint-plugin-vue": "7.2.0",
    "lint-staged": "10.5.3",
    "qrcodejs2": "^0.0.2",
    "runjs": "4.4.2",
    "sass": "1.32.13",
    "sass-loader": "10.1.1",
jcdm-ui/src/views/main/kb/cvt/index.vue
@@ -24,14 +24,15 @@
   <el-row :gutter="0"  >
     <el-col :span="14">
       <el-card   class="box-card" style="margin-top: 5px" >
             <el-form ref="form" :model="form"  label-width="25%"   >
               <el-form-item prop="engineNo" style="margin-top: 16px">
               <span slot="label" style="font-size:22px;color:black;"><strong>发动机号</strong></span>
                 <el-input style="font-size:20px" v-model="form.engineNo" placeholder="请输入发动机号" clearable  @input="EngineNohandleChange">
                   <el-button slot="append" plain type="info" @click="EngineNohandleChange" icon="el-icon-search"></el-button>
                 </el-input>
         <el-form :model="form" size="large" :inline="true" label-width="68px" @submit.native.prevent>
               <el-form-item label-width="200" label="发动机码" :prop="form.engineNo"  style="align-content: center">
                 <input v-model="form.engineNo"
                        ref="inputdata"
                        style="height: 39px; width: 300px"
                        placeholder="请输入发动机码"
                 />
               </el-form-item>
             </el-form>
         </el-form>
             <el-form ref="form" :model="form"  label-width="25%"  >
               <el-form-item   prop="productType"style="margin-top: 30px" >
                  <span slot="label" style="font-size:22px;color:black"><strong>机型</strong></span>
@@ -54,7 +55,7 @@
         <el-row :gutter="10" class="mb8" type="flex" justify="center"  style="text-align: center">
           <el-col :span="1.5">
             <el-button plain  :disabled="buttondisabled" type="primary" style="width:400px;height:160px" v-hasPermi="['bs:formula:add']" @click="forceOnline">
             <el-button plain  :disabled="buttondisabled" type="primary" style="width:400px;height:160px" v-hasPermi="['bs:formula:add']">
               <span   class="el-icon-thumb"   style="font-size:40px;color:black"></span>
               <span style="font-size:45px;color:black"><strong>强制上线</strong></span>
             </el-button>
@@ -80,7 +81,7 @@
import { listOrderScheduling, getOrderScheduling, delOrderScheduling, addOrderScheduling, updateOrderScheduling } from "@/api/main/bs/orderScheduling/orderScheduling";
import { listPassingStationCollection, getPassingStationCollection, delPassingStationCollection, addPassingStationCollection, updatePassingStationCollection } from "@/api/main/da/passingStationCollection/passingStationCollection";
import {listLineInfo} from "@/api/main/bs/lineInfo/lineInfo";
import { setSNCode } from "@/api/main/da/opcuaconfig/opcuaconfig";
import {setSNCode} from "@/api/main/da/opcuaconfig/opcuaconfig";
import {getIp, listStationConf} from "@/api/main/sc/stationConf";
export default {
@@ -97,13 +98,8 @@
      locationCode: "未配置",
      locationName: "未配置工位",
      codeValue: "",
      code: "",
      lastTime: "",
      nextTime: "",
      lastCode: "",
      nextCode: "",
      dtmainId: "",
      scannerFlag: false,
      barcode: "",
      // 查询参数
      queryParams: {
@@ -132,40 +128,57 @@
  },
  computed: {},
  watch: {},
  created() {
    window.document.onkeypress = (e) => {
      if (window.event) {
        this.nextCode = e.keyCode;
      } else if (e.which) {
        this.nextCode = e.which;
      }
      if (e.which === 13) {
        // 键盘回车事件
        if (this.code.length < 3) return; // 扫码枪的速度很快,手动输入的时间不会让code的长度大于2,所以这里不会对扫码枪有效
        this.parseQRCode(this.code); // 获取到扫码枪输入的内容,做别的操作
        this.lastCode = "";
        this.lastTime = "";
        return;
      }
      this.nextTime = new Date().getTime();
      if (!this.lastTime && !this.lastCode) {
        this.code = ""; // 清空上次的条形码
        this.code += e.key;
      }
      if (this.lastCode && this.lastTime && this.nextTime - this.lastTime > 500) {
        // 当扫码前有keypress事件时,防止首字缺失
        this.code = e.key;
      } else if (this.lastCode && this.lastTime) {
        this.code += e.key;
      }
      this.lastCode = this.nextCode;
      this.lastTime = this.nextTime;
    };
  beforeDestroy() {
    this.$refs.inputdata.removeEventListener('keydown',this.handleScannerInput)
  },
  mounted() {
    this.setFocus()
    this.$refs.inputdata.addEventListener('keydown',this.handleScannerInput)
    this.getStationConf();
  },
  methods: {
    refresh() {
      location.reload();
    },
    setFocus(){
      this.$nextTick(()=>{
        this.$refs.inputdata.focus()
      })
    },
    handleScannerInput(event){
      if (this.scannerFlag){
        this.form.engineNo = ''
        this.$refs.inputdata.value = ''
        this.scannerFlag = false
      }
      const input = event.target
      const inputValue = input.value
      this.form.engineNo = inputValue
      if (event.key === 'Enter'){
        this.scannerFlag = true
        console.log("条码:",this.form.engineNo)
        if(this.form.engineNo !== null && this.form.engineNo !== undefined) {
          setSNCode(this.form.engineNo, this.locationCode)
        }else{
          this.reset();
          this.buttondisabled = true
          const h = this.$createElement;
          this.$message({
            message: h('p',null, [
              h('span', null, '警告 '),
              h('i', { style: 'color: black' }, '输入的发动机号有误'),
              h()]),
            type: 'error',
            center: true,
            offset:300
          });
        }
      }
    },
    getStationConf() {
      getIp().then(response => {
        let queryParams = {
@@ -192,6 +205,7 @@
      this.resetForm("form");
    },
    EngineNohandleChange(){
      console.log('条码:',this.form.engineNo)
      if(this.form.engineNo !== null && this.form.engineNo !== undefined){
        //let OrderSchedulingParam = {engineNo: null}
        setSNCode(this.form.engineNo,this.locationCode)
@@ -242,12 +256,8 @@
      }
    },
    parseQRCode(code) {
      this.form.engineNo = code;
    },
  },
  }
</script>
<style scoped>
package-lock.json
@@ -1,5 +1,5 @@
{
  "name": "Jcdm-Mes",
  "name": "Jcdm041-MesCVT",
  "lockfileVersion": 2,
  "requires": true,
  "packages": {}