1.医院客户列表页面搜索框添加清空按钮

2.UDI流向查询查询框修改为分段查询
master
x_z 3 years ago
parent 548f69f438
commit 7cc98a02d9

@ -0,0 +1,116 @@
"use strict";
/**
* 浏览器按键处理
* howay
* 20200421
* 1.0
*/
const KeyScaner = /** @class */ (function () {
function KeyScaner(_dom) {
this.keybufs = [];
this.altBuf = [];
this.isShift = false;
this.lastTime = 0;
/**
* 在收集到文本输入时触发
* @param text 收集到的连续文本
*/
this.onInput = function (text) {
};
this.dom = _dom;
_dom.addEventListener('keydown', this.onKeyDown.bind(this));
_dom.addEventListener('keyup', this.onKeyUp.bind(this));
this.interval = setInterval(this.onTick.bind(this), 100);
}
KeyScaner.prototype.appendChar = function (c) {
this.keybufs.push(c);
};
KeyScaner.prototype.onKeyDown = function (ev) {
this.lastTime = new Date().getTime();
if (ev.key == "Alt") {
if (ev.shiftKey || ev.ctrlKey || ev.metaKey) {
return;
}
} else if (ev.key == "Shift") {
if (ev.altKey || ev.ctrlKey || ev.metaKey) {
return;
}
this.isShift = true;
} else if (ev.key == "Enter") {
if (ev.shiftKey || ev.altKey || ev.ctrlKey || ev.metaKey) {
return;
}
console.log("监听到回车键。。。。。。。。。。。。。。。。。。。");
this.appendChar("\r");
this.completeInput(); //立即完成输入
} else if (ev.key == "Delete" || ev.key == "Backspace") {
console.log("监听到删除键。。。。。。。。。。。。。。。。。。。");
this.dom.innerTex = "";
this.appendChar("delete");
this.completeInput(); //立即完成输入
} else {
if (ev.key.length == 1) {
var charCode = ev.key.charCodeAt(0);
if (charCode >= 48 && charCode <= 57) {
if (ev.altKey) {
this.altBuf.push(ev.key);
} else {
this.appendChar(ev.key);
}
} else if ((charCode >= 65 && charCode <= 90) || (charCode >= 97 && charCode <= 122)) {
//忽略大小写锁定键直接通过SHIFT键判断大小写
if (ev.shiftKey) {
this.appendChar(ev.key.toUpperCase());
} else {
this.appendChar(ev.key.toLowerCase());
}
} else {
this.appendChar(ev.key);
}
}
//忽略其他控制键
}
};
KeyScaner.prototype.onKeyUp = function (ev) {
this.lastTime = new Date().getTime();
if (ev.key == "Alt") {
if (this.altBuf && this.altBuf.length > 0) {
var str = this.altBuf.join("");
var num = parseInt(str);
var c = String.fromCharCode(num);
this.appendChar(c);
this.altBuf = [];
}
} else if (ev.key == "Shift") {
this.isShift = false;
}
};
KeyScaner.prototype.completeInput = function () {
var text = this.keybufs.join("");
this.keybufs = [];
if (this.onInput) {
this.onInput.bind(this)(text);
}
};
KeyScaner.prototype.onTick = function () {
if (this.keybufs && this.keybufs.length > 0 && (!this.altBuf || this.altBuf.length == 0) && new Date().getTime() - this.lastTime > 500) {
//有缓存的字符且没有缓存的alt字符 且 与上次按键时间超过500毫秒。 收集输入
// this.completeInput();
}
};
/**
* 释放资源
*/
KeyScaner.prototype.dispose = function () {
this.dom.removeEventListener('keydown', this.onKeyDown);
this.dom.removeEventListener('keyup', this.onKeyUp);
clearInterval(this.interval);
};
return KeyScaner;
}());
export default {
KeyScaner
}

@ -3,7 +3,7 @@
<el-form :inline="true" :model="query" class="query-form" size="mini"> <el-form :inline="true" :model="query" class="query-form" size="mini">
<el-row> <el-row>
<el-form-item class="query-form-item"> <el-form-item class="query-form-item">
<el-input v-model="query.key" style="width: 300px;" placeholder="搜索"></el-input> <el-input v-model="query.key" style="width: 300px;" placeholder="搜索" clearable="true"></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button-group> <el-button-group>

@ -10,11 +10,16 @@
@submit.native.prevent @submit.native.prevent
> >
<el-row> <el-row>
<el-form-item class="query-form-item"> <el-form-item class="query-form-item" label-width="100px">
<el-input v-model="filterQuery.code" placeholder="扫码查询" <el-input
clearable="true" id="inputer"
v-model="filterQuery.code"
placeholder="UDI码"
ref='inputRef'
style="width: 500px" style="width: 500px"
@keyup.enter.native="keyup_submit($event)"></el-input> @keypress.enter.native="enterKey($event)"
></el-input>
<el-checkbox v-model="sitcomScan" style="margin-left: 15px"></el-checkbox>
</el-form-item> </el-form-item>
<el-form-item class="query-form-item"> <el-form-item class="query-form-item">
<el-button-group> <el-button-group>
@ -51,12 +56,12 @@
show-overflow-tooltip="true" show-overflow-tooltip="true"
></el-table-column> ></el-table-column>
<el-table-column label="来源" prop="fromType" ></el-table-column> <el-table-column label="来源" prop="fromType" ></el-table-column>
<el-table-column label="往来单位" prop="fromCorp" width="220"> <el-table-column label="往来单位" prop="fromCorp" >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="创建时间" label="创建时间"
prop="actDate" prop="actDate"
width="120" width="200"
show-overflow-tooltip="true" show-overflow-tooltip="true"
> >
<template slot-scope="scope"> <template slot-scope="scope">
@ -739,6 +744,23 @@ export default {
event.preventDefault(); event.preventDefault();
event.stopPropagation(); event.stopPropagation();
}; };
var that = this;
var inputer = document.getElementById("inputer");
window.sc = new A.KeyScaner(inputer);//DOM
sc.onInput = function (text) {
//onInput500ms
if (text.includes("delete")) {
that.formData.code = "";
return;
}
if (that.sitcomScan) {
that.filterQuery.code = that.filterQuery.code;
} else {
that.filterQuery.code = text;
}
};
inputer.focus();//divtabindexdocumentBody
}, },
created() { created() {

Loading…
Cancel
Save