首页 > 其他分享 >Web端输入表单配合扫码枪

Web端输入表单配合扫码枪

时间:2024-10-15 17:17:04浏览次数:8  
标签:Web 扫码 return index refs 表单 handoverParamList reportNo

聚焦输入框,扫码枪输入,自动换行,若重复扫码,删除

</template>
    <div>
        <!-- *** -->

        <!-- 扫码枪交接对话框 -->
        <el-dialog v-dialogDrag title="报告交接" :visible.sync="isScannerHandoverDialogOpen" width="400px" append-to-body :close-on-click-modal="false" destroy-on-close>
          <el-row v-for="(param, index) in handoverParamList" :key="index">
            <el-col class="inputCol" :span="18">
              <input style="width:100%;" class="input" ref="handoverInputRef" @keydown.enter="handleEnterEvent(index)" v-model="param.reportNo" placeholder="请输入报告编号">
            </el-col>
            <el-col :span="6">
              <el-button style="margin-left: 5px;" @click="addHandoverParam" type="primary" icon="el-icon-plus" plain circle></el-button>
              <el-button style="margin-left: 5px;" @click="deleteHandoverParam(index)" type="danger" icon="el-icon-delete" plain circle></el-button>
            </el-col>
          </el-row>
          <div slot="footer" class="dialog-footer">
            <el-button :loading="buttonLoading" type="primary" @click="handleScannerHandover">确 定</el-button>
            <el-button @click="isScannerHandoverDialogOpen = false">取 消</el-button>
          </div>
        </el-dialog>
    </div>
</template>
<script>
    export default {
        data() {
            return {
                handoverParamList: [{ reportNo: "" }],
            }
        },
        methods: {
            // 添加交接列表项
            addHandoverParam() {
              this.handoverParamList.push({ reportNo: "" });
            },
            // 删除交接列表项
            deleteHandoverParam(index) {
              if (this.handoverParamList.length == 1) {
                return;
              }
              this.handoverParamList.splice(index, 1);
            },
            // 监听回车事件
            handleEnterEvent(index) {
              console.log("回车");
                // 首先取到列表,去除最后一项(需要判断是否重复的,即当前项)
                let list = this.handoverParamList.map((item, index) => {
                  if (this.handoverParamList.length - 1 == index) return "";
                  return item.reportNo;
                });
                // 转为字符串后判断是否包含当前项
                if (list.join().includes(this.$refs.handoverInputRef[index].value)) {
                  // 有重复项时清空
                  this.$refs.handoverInputRef[index].value = "";
                  this.$message({
                    message: "扫描重复!",
                    type: "warning",
                  });
                  return;
                } else {
                  // 没有重复项时新增一行,并自动聚焦
                  this.addHandoverParam();
                  this.$nextTick(() => {
                    // console.log(this.$refs.inputRef[index + 1]);
                    this.$refs.handoverInputRef[index + 1].focus();
                  });
                }
            },
        }
    }
</script>

标签:Web,扫码,return,index,refs,表单,handoverParamList,reportNo
From: https://blog.csdn.net/RumbleWx/article/details/142940318

相关文章

  • 提升质量:利用Coverage分析Python Web项目的测试覆盖
    提升质量:利用Coverage分析PythonWeb项目的测试覆盖鉴于不同框架的运行机制各有差异,当利用Coverage工具对PythonWeb项目的测试覆盖率进行分析时,必须采取针对性的方法来确保获取精确的测试覆盖率数据。以下是我针对Django框架与Flask框架在使用Coverage方面的详尽总结。Django框......
  • uniapp小程序web-view与小程序界面通信
    前言简单分享下最近的小程序需求的内容uniapp--->H5webUrl为域名+?拼接的信息,然后H5通过域名接收这些内容例如https://hao123.com.cn?token=1212<web-view:src="webUrl"@message="onMessage"></web-view>//在下方创建接收message事件的信息onMessage(event){......
  • MQTTnet.Server同时支持mqtt及websocket协议
    Net6后写法 Net6前写法Program.csusingMicrosoft.AspNetCore.Hosting;usingMicrosoft.Extensions.Configuration;usingMicrosoft.Extensions.Hosting;usingMQTTnet.AspNetCore;usingSystem;usingSystem.IO;namespaceMQTTnet.Server{publicclassProgra......
  • Chromium 中HTML5 WebSocket收发消息分析c++(一)
    一、WebSocket前端接口定义:WebSocket 对象提供了用于创建和管理 WebSocket 连接,以及可以通过该连接发送和接收数据的API。使用 WebSocket() 构造函数来构造一个 WebSocket。构造函数WebSocket(url[,protocols])返回一个 WebSocket 对象。常量ConstantValueWeb......
  • Chromium 中HTML5 WebSocket收发消息分析c++(二)
    看下websocket调用过程:基本定义参考上一篇:Chromium中HTML5WebSocket收发消息分析c++(一)-CSDN博客一、前端测试用例 参考:HTML5WebSocket|菜鸟教程(runoob.com) websocket.html文件如下:<!DOCTYPEHTML><html><head><metacharset="utf-8"><title>Web......
  • web应用私网公网访问题
    问题描述一台主机有一个私网地址以及一个公网地址,部署一个web应用,通过内网地址可以访问、通过公网地址访问返回403报错,通过telnet测试公网地址的端口是可以连通的。问题原因需要在web应用server配置上加一个判断。if($http_host!~*^(localhost|127.0.0.1|192.66.0.162|172.......
  • WebServer构建响应 && 发送响应
    1.构建响应构建响应流程如下确认方法根据不同方法,以不同方法提参确认访问资源如果用户的URL没有指明要访问的某种资源(路径),虽然浏览器默认会添加/,但是依旧没有告知服务器,要访问什么资源此时,默认返回对应服务的首页这里的/不是Linux服务器的根目录,通常是http服务器设......
  • Dirmap:一款高级Web目录文件扫描工具
    需求分析何为一个优秀的web目录扫描工具?经过大量调研,总结一个优秀的web目录扫描工具至少具备以下功能:并发引擎能使用字典能纯爆破能爬取页面动态生成字典能fuzz扫描自定义请求自定义响应结果处理...功能特点你爱的样子,我都有,小鸽鸽了解下我吧:支持n个target*n个p......
  • 4. WebSockets
    4.WebSockets4.1.WebSocket介绍WebSocket协议RFC6455提供了一种标准化方法,可以通过单个TCP连接在Client端和服务器之间构建全双工双向通信通道。它是与HTTP不同的TCP协议,但旨在通过端口80和443在HTTP上工作,并允许重复使用现有的防火墙规则。WebSocket交互......
  • JavaWeb开发
    JavaWeb开发1、程序架构1.1软件类型按照软件性质划分系统软件,应用软件应用软件按照架构来分:C/S架构(Client/Server模式,特征:需要下载客户端【安装包来进行安装到设备上】)B/S架构(Broswer/Server模式)特征:基于浏览器来运行的各种软件,通过http【超文本传输协议】来进行网......