Commit 6dec7c70 by 张超军

1.查询认定详情恢复。优化滤镜按钮的历史记录和展示。2.鼠标拖拽旋转。3.上下键切换目标table。

parent fd7b0e97
This source diff could not be displayed because it is too large. You can view the blob instead.
<!--
* @Author: your name
* @Date: 2021-11-08 20:00:34
* @LastEditTime: 2022-01-01 00:48:00
* @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \指纹系统\founder_vue\public\index.html
-->
<!DOCTYPE html>
<html lang="en">
......@@ -64,11 +56,30 @@
<script src="<%= BASE_URL %>image-edit/js/FileSaver.min.js"></script>
<script src="<%= BASE_URL %>image-edit/js/tui-image-editor.js"></script>
<script src="<%= BASE_URL %>image-edit/js/fabric-irregular.js"></script>
<!-- <script src="<%= BASE_URL %>image-edit/js/opencv.js"></script> -->
<script src="<%= BASE_URL %>js/rotate_matrix.js"></script>
<script src="<%= BASE_URL %>iconfont/iconfont.js"></script>
<!-- <script id="codeSnippet" type="text/code-snippet">
let src = cv.imread('canvasInput_source');
let dst = new cv.Mat();
cv.cvtColor(src, src, cv.COLOR_RGBA2GRAY, 0);
cv.equalizeHist(src, dst);
cv.imshow('canvasInput_source_2', src);
cv.imshow('canvasInput_source_2', dst);
src.delete(); dst.delete();
</script>
<script id="codeSnippet2" type="text/code-snippet">
let src = cv.imread('canvasInput_target');
let dst = new cv.Mat();
cv.cvtColor(src, src, cv.COLOR_RGBA2GRAY, 0);
cv.equalizeHist(src, dst);
cv.imshow('canvasInput_target_2', src);
cv.imshow('canvasInput_target_2', dst);
src.delete(); dst.delete();
</script> -->
<!-- <script src="<%= BASE_URL %>image-edit/js/ui.js"></script>
<script src="<%= BASE_URL %>image-edit/js/action.js"></script> -->
<!-- <script src="<%= BASE_URL %>image-edit/js/service-basic.js"></script> -->
</body>
</html>
\ No newline at end of file
</html>
......@@ -530,6 +530,12 @@ div {
left: -11px;
top: 21px;
}
/deep/.tui-colorpicker-palette-button {
width: 20px;
height: 20px;
margin-right: 8px;
margin-bottom: 10px;
}
/deep/.tui-colorpicker-palette-button.tui-colorpicker-selected {
border: 1px solid rgba($color: #055FE7, $alpha: 0.5);
color: transparent !important;
......@@ -711,6 +717,12 @@ div {
padding-left: 16px;
padding-top: 9px;
}
/deep/.tui-colorpicker-palette-button {
width: 20px;
height: 20px;
margin-right: 8px;
margin-bottom: 10px;
}
/deep/.tui-colorpicker-palette-button.tui-colorpicker-selected {
border: 1px solid rgba($color: #055FE7, $alpha: 0.5);
color: transparent !important;
......@@ -1400,6 +1412,12 @@ div {
padding-left: 16px;
padding-top: 9px;
}
/deep/.tui-colorpicker-palette-button {
width: 20px;
height: 20px;
margin-right: 8px;
margin-bottom: 10px;
}
/deep/.tui-colorpicker-palette-button.tui-colorpicker-selected {
border: 1px solid rgba($color: #055FE7, $alpha: 0.5);
color: transparent !important;
......@@ -1429,17 +1447,15 @@ div {
border: 1px solid rgba($color: #055FE7, $alpha: 0.5);
color: transparent !important;
box-shadow: inset 0px 0px 0px 2px #fff;
width: 24px;
height: 24px;
margin: -2px 6px 6px -2px;
}
/deep/.tui-colorpicker-clearfix {
li:nth-child(4) {
.tui-colorpicker-palette-button.tui-colorpicker-selected {
margin: 0px 6px 6px -2px !important;
}
}
//margin: 0px 6px 0px -2px;
}
///deep/.tui-colorpicker-clearfix {
// li:nth-child(4) {
// .tui-colorpicker-palette-button.tui-colorpicker-selected {
// margin: 0px 6px 6px -2px !important;
// }
// }
//}
}
.brightness {
width: 240px;
......@@ -1716,6 +1732,15 @@ div {
pointer-events: none;
}
}
#canvasInput_source_2 {
width: 540px;
height: 540px;
position: absolute;
background: transparent;
transform-origin: center center;
pointer-events: none;
display: none;
}
}
.target {
position: relative;
......
function Utils(errorOutputId) { // eslint-disable-line no-unused-vars
let self = this;
this.errorOutput = document.getElementById(errorOutputId);
const OPENCV_URL = 'opencv.js';
this.loadOpenCv = function(onloadCallback) {
let script = document.createElement('script');
script.setAttribute('async', '');
script.setAttribute('type', 'text/javascript');
script.addEventListener('load', async () => {
if (cv.getBuildInformation)
{
// console.log(cv.getBuildInformation());
onloadCallback();
}
else
{
// WASM
if (cv instanceof Promise) {
cv = await cv;
// console.log(cv.getBuildInformation());
onloadCallback();
} else {
cv['onRuntimeInitialized']=()=>{
// console.log(cv.getBuildInformation());
onloadCallback();
}
}
}
});
script.addEventListener('error', () => {
self.printError('Failed to load ' + OPENCV_URL);
});
script.src = OPENCV_URL;
let node = document.getElementsByTagName('script')[0];
node.parentNode.insertBefore(script, node);
};
this.createFileFromUrl = function(path, url, callback) {
let request = new XMLHttpRequest();
request.open('GET', url, true);
request.responseType = 'arraybuffer';
request.onload = function(ev) {
if (request.readyState === 4) {
if (request.status === 200) {
let data = new Uint8Array(request.response);
cv.FS_createDataFile('/', path, data, true, false, false);
callback();
} else {
self.printError('Failed to load ' + url + ' status: ' + request.status);
}
}
};
request.send();
};
this.loadImageToCanvas = function(url, cavansId) {
let canvas = document.getElementById(cavansId);
let ctx = canvas.getContext('2d');
let img = new Image();
img.crossOrigin = 'anonymous';
img.onload = function() {
canvas.width = img.width;
canvas.height = img.height;
ctx.drawImage(img, 0, 0, img.width, img.height);
};
img.src = url;
};
this.executeCode = function(textAreaId) {
try {
this.clearError();
let code = document.getElementById(textAreaId).value;
console.log(code);
eval(code);
} catch (err) {
this.printError(err);
}
};
this.clearError = function() {
this.errorOutput.innerHTML = '';
};
this.printError = function(err) {
if (typeof err === 'undefined') {
err = '';
} else if (typeof err === 'number') {
if (!isNaN(err)) {
if (typeof cv !== 'undefined') {
err = 'Exception: ' + cv.exceptionFromPtr(err).msg;
}
}
} else if (typeof err === 'string') {
let ptr = Number(err.split(' ')[0]);
if (!isNaN(ptr)) {
if (typeof cv !== 'undefined') {
err = 'Exception: ' + cv.exceptionFromPtr(ptr).msg;
}
}
} else if (err instanceof Error) {
err = err.stack.replace(/\n/g, '<br>');
}
this.errorOutput.innerHTML = err;
};
this.loadCode = function(scriptId, textAreaId) {
console.log(scriptId);
console.log(textAreaId);
let scriptNode = document.getElementById(scriptId);
let textArea = document.getElementById(textAreaId);
console.log(scriptNode);
console.log(textArea);
if (scriptNode.type !== 'text/code-snippet') {
throw Error('Unknown code snippet type');
}
textArea.value = scriptNode.text.replace(/^\n/, '');
};
this.addFileInputHandler = function(fileInputId, canvasId) {
let inputElement = document.getElementById(fileInputId);
inputElement.addEventListener('change', (e) => {
let files = e.target.files;
if (files.length > 0) {
let imgUrl = URL.createObjectURL(files[0]);
self.loadImageToCanvas(imgUrl, canvasId);
}
}, false);
};
function onVideoCanPlay() {
if (self.onCameraStartedCallback) {
self.onCameraStartedCallback(self.stream, self.video);
}
};
this.startCamera = function(resolution, callback, videoId) {
const constraints = {
'qvga': {width: {exact: 320}, height: {exact: 240}},
'vga': {width: {exact: 640}, height: {exact: 480}}};
let video = document.getElementById(videoId);
if (!video) {
video = document.createElement('video');
}
let videoConstraint = constraints[resolution];
if (!videoConstraint) {
videoConstraint = true;
}
navigator.mediaDevices.getUserMedia({video: videoConstraint, audio: false})
.then(function(stream) {
video.srcObject = stream;
video.play();
self.video = video;
self.stream = stream;
self.onCameraStartedCallback = callback;
video.addEventListener('canplay', onVideoCanPlay, false);
})
.catch(function(err) {
self.printError('Camera Error: ' + err.name + ' ' + err.message);
});
};
this.stopCamera = function() {
if (this.video) {
this.video.pause();
this.video.srcObject = null;
this.video.removeEventListener('canplay', onVideoCanPlay);
}
if (this.stream) {
this.stream.getVideoTracks()[0].stop();
}
};
};
export default Utils;
......@@ -22,10 +22,11 @@ export default [
// redirect: "/fingerprintIndex/R4300000000002021125008/admin",
name: 'zzwcj',
hidden: false,
icon_d: '/img/zzwcj_d.png',
icon_a: '/img/zzwcj_a.png',
// icon_d: '/img/zzwcj_d.png',
// icon_a: '/img/zzwcj_a.png',
meta: {
title: '指掌纹采集',
parentId: 'zzwlr',
title: '活体采集',
auth: 'A'
},
component: () => import('@/views/zzwcj/Index.vue')
......
......@@ -319,6 +319,7 @@ export default {
// 打开侧边抽屉
this.$bus.on("openRyDaxx", (flag) => {
debugger
self.drawer = flag;
// 开启毛玻璃
self.$bus.emit('isBlur', true)
......@@ -489,6 +490,7 @@ export default {
},
beforeDestroy () {
//组件销毁前需要解绑事件。否则会出现重复触发事件的问题
this.$bus.off('openRyDaxx')
},
destroyed () {
window.removeEventListener("scroll", this.windowScroll);//销毁滚动事件
......
<!--
* @Author: your name
* @Date: 2021-10-22 09:42:07
* @LastEditTime: 2022-01-04 17:48:40
* @LastEditTime: 2022-01-07 15:56:31
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \指纹系统\founder_vue\src\views\Editor\modules\ryzwbjLeft.vue
......@@ -11,7 +11,7 @@
<div class="title">人员编号:</div>
<div class="rybh">
<span :title="barcode">{{barcode}}</span>
<img src="@/assets/img/message.png" alt="" @click="daxxChange">
<img src="@/assets/img/message.png" alt="">
<div class="desc" @click="daxxChange">档案信息</div>
</div>
<div class="ryzwbj-content">
......@@ -1120,6 +1120,8 @@ export default {
this.$bus.off('ryzwbjTDZ');
this.$bus.off('zwType');
this.$bus.off('setRxInfo')
debugger
this.$bus.off('openRyDaxx')
},
watch: {
zwSelect (newValue, oldValue) {
......
......@@ -414,7 +414,7 @@ export default {
cachePageName = JSON.parse(
utils.Decrypt(sessionStorage.getItem('crumbs'))
)
.map((i) => i.routeName)
.map((i) => i.routeName)
.join()
} else {
cachePageName = ''
......@@ -443,7 +443,7 @@ export default {
selectPath (index, path) {
console.log(index)
console.log(path)
if (path == 'zzwcj') {
if (index == 'zzwcj') {
this.$router.pushToTab({
path: "/AllPersonnelBaseIndex",
query: {
......
......@@ -71,7 +71,9 @@ export default {
timer: null,
// 是否被删除
isDelete: false,
searchType: '指纹'
searchType: '指纹',
// 表格的索引
tableIndex: null
};
},
created () {
......@@ -103,12 +105,14 @@ export default {
self.sourceTableData = tableData;
// 默认选中第一条数据
if (self.tableData && self.tableData.length > 0) {
self.tableIndex = 0
self.$nextTick(() => {
if (self.tableData.length > 0) {
self.$refs.singleTable.setCurrentRow(this.tableData[0])
}
});
} else {
self.tableIndex = null
self.$bus.emit('bzJudgeTL', null)
if (self.isDelete) {
// self.$bus.emit('changImageEditTarget', 'xxx')
......@@ -122,9 +126,46 @@ export default {
self.tableData = [];
self.sourceTableData = [];
});
// 监听键盘事件
this.keyDown()
},
methods: {
/**
* @description: 监听键盘
* @param {*}
* @return {*}
*/
keyDown () {
let self = this
document.onkeydown = (e) => {
//事件对象兼容
let e1 = e || event || window.event || arguments.callee.caller.arguments[0]
if (e1 && e1.keyCode == 38) {
console.log('上');
} else if (e1 && e1.keyCode == 40) {
console.log('下');
if (self.tableData && self.tableData.length > 0) {
if(self.tableData.length == 1) {
return
} else {
self.tableIndex++
if(self.tableIndex == self.total) {
self.tableIndex = 0
}
self.$refs.singleTable.setCurrentRow(this.tableData[self.tableIndex])
}
} else {
self.$bus.emit('bzJudgeTL', null)
if (self.isDelete) {
// self.$bus.emit('changImageEditTarget', 'xxx')
} else {
self.$bus.emit('changImageEditTarget', 'xxx')
}
}
}
}
},
/**
* @description: 搜索
* @param {*}
* @return {*}
......@@ -156,7 +197,7 @@ export default {
handleCurrentChange (val, old) {
let self = this;
console.log(val);
if(val != null) {
if (val != null) {
if (val.removeFlag == 1) {
self.$bus.emit('targetDeleteMessage', {
msg: '该条数据已删除!',
......
/*
* @Author: your name
* @Date: 2021-09-07 09:57:48
* @LastEditTime: 2022-01-04 13:42:48
* @LastEditTime: 2022-01-07 15:51:35
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \指纹系统\founder_vue\vue.config.js
......@@ -119,7 +119,7 @@ module.exports = {
// target: "http://47.92.225.109:5602",
// target: "http://www.meetfood.cn:2390", // 湖南-线上
target: "http://zwpt.xzclub.top:9333/",
// target: "http://192.168.128.100:8099", // 江
// target: "http://192.168.128.101:8099", // 江
ws: true,
changeOrigin: true,
pathRewrite: {
......@@ -132,7 +132,7 @@ module.exports = {
// target: "http://192.168.128.166:8099/", // 张 认定
// target: "http://www.meetfood.cn:2390", // 湖南-王
target: "http://zwpt.xzclub.top:9333",
// target: "http://192.168.128.119:8765",
// target: "http://192.168.128.109:8765",
ws: true,
changeOrigin: true,
pathRewrite: {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment