Commit 03c4e853 by 张超军

毛玻璃效果

parent b075637b
<!--
* @Author: your name
* @Date: 2021-09-07 09:58:13
* @LastEditTime: 2021-11-11 17:06:19
* @LastEditTime: 2021-11-15 16:23:02
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \指纹系统\founder_vue\src\App.vue
-->
<template>
<div id="app">
<router-view v-wechat-title="$route.meta.title"></router-view>
<router-view v-wechat-title="$route.meta.title"></router-view>
</div>
</template>
......@@ -18,11 +18,11 @@ export default {
};
</script>
<style lang="scss" scoped>
<style lang="scss">
/*每个页面公共css */
@import "assets/styles/main.scss";
#app {
height: 800px;
// height: 800px;
margin: 0;
padding: 0;
box-sizing: border-box;
......
......@@ -1121,6 +1121,9 @@ div {
&:last-child {
margin-right: 0;
}
&:nth-child(7) {
margin-right: 0;
}
&:active {
background: #055fe7;
box-shadow: 4px 4px 4px 0px rgba(193, 216, 251, 0.8),
......@@ -1131,6 +1134,7 @@ div {
.light_dbd {
width: 128px;
height: 40px;
margin-right: 0;
}
.line {
width: 1px;
......
<!--
* @Author: your name
* @Date: 2021-09-09 09:28:46
* @LastEditTime: 2021-11-15 10:07:43
* @LastEditTime: 2021-11-15 15:07:25
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \指纹系统\founder_vue\src\views\cxyrd\LTz.vue
......@@ -408,7 +408,7 @@
<div class="content">
<el-slider class="range-narrow" id="input-range-remove-white-distance" v-model="inputRemoveWhiteRange" :min="0" :max="255"></el-slider>
<!-- <input class="range-narrow" id="input-range-remove-white-distance" type="range" min="0" :value="inputRemoveWhiteRange" max="255" /> -->
<input class="qb_v" type="text" v-model="inputRemoveWhiteRange">
<input class="qb_v" type="text" v-model.number="inputRemoveWhiteRange">
</div>
</div>
<!-- 滤色器弹框 -->
......@@ -417,7 +417,7 @@
<div class="content">
<el-slider class="range-narrow" id="input-range-color-filter-value" v-model="inputColorFilterRange" :min="0" :max="255"></el-slider>
<!-- <input class="range-narrow" id="input-range-color-filter-value" type="range" min="0" :value="inputColorFilterRange" max="255" /> -->
<input class="qb_v" type="text" v-model="inputColorFilterRange">
<input class="qb_v" type="text" v-model.number="inputColorFilterRange">
</div>
</div>
<!-- 正片叠底弹框 -->
......@@ -438,13 +438,13 @@
<div class="content">
<el-slider class="range-narrow" id="input-range-brightness-value" v-model="inputBrightnessRange" :min="-255" :max="255"></el-slider>
<!-- <input class="range-narrow" id="input-range-brightness-value" type="range" min="-255" :value="inputBrightnessRange" max="255" /> -->
<input class="qb_v" type="text" v-model="inputBrightnessRange">
<input class="qb_v" type="text" v-model.number="inputBrightnessRange">
</div>
<div class="title">对比度</div>
<div class="content">
<el-slider class="range-narrow" id="input-range-contrast-value" v-model="inputContrastRange" :min="0" :max="255"></el-slider>
<!-- <input class="range-narrow" id="input-range-contrast-value" type="range" min="0" :value="inputContrastRange" max="255" /> -->
<input class="qb_v" type="text" v-model="inputContrastRange">
<input class="qb_v" type="text" v-model.number="inputContrastRange">
</div>
</div>
</div>
......
/*
* @Author: your name
* @Date: 2021-09-07 14:39:52
* @LastEditTime: 2021-10-29 09:16:56
* @LastEditTime: 2021-11-15 11:13:36
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \指纹系统\founder_vue\src\main.js
......
/*
* @Author: your name
* @Date: 2021-09-07 09:57:48
* @LastEditTime: 2021-11-09 17:33:31
* @LastEditTime: 2021-11-15 10:51:08
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \指纹系统\founder_vue\src\plugins\axios.js
......@@ -16,6 +16,7 @@ import store from "../store";
import { Loading } from 'element-ui';
var loadingIndex = 0;
var loadingBoo;
var timer;
// Full config: https://github.com/axios/axios#request-config
// axios.defaults.baseURL = process.env.baseURL || process.env.apiUrl || '';
......@@ -64,8 +65,11 @@ _axios.interceptors.response.use(
NProgress.done();
if (loadingBoo) loadingIndex--;
if (loadingIndex == 0) {
loading && loading.close();
loading = null
clearTimeout(timer)
timer = setTimeout(() => {
loading && loading.close();
loading = null
}, 1200);
}
if (response.data.code === 401) {
localStorage.removeItem("token"); //删除名称为“token”的信息。
......@@ -78,8 +82,11 @@ _axios.interceptors.response.use(
NProgress.done();
if (loadingBoo) loadingIndex--;
if (loadingIndex == 0) {
loading && loading.close();
loading = null;
clearTimeout(timer)
setTimeout(() => {
loading && loading.close();
loading = null;
}, 1200);
}
// Do something with response error
return Promise.reject(error);
......
/*
* @Author: your name
* @Date: 2021-09-07 09:57:48
* @LastEditTime: 2021-11-11 16:58:07
* @LastEditTime: 2021-11-15 20:07:17
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \指纹系统\founder_vue\src\router\index.js
......@@ -68,8 +68,10 @@ const router = new VueRouter({
router.beforeEach((to, from, next) => {
console.log(from);
if(from.name === 'ryzwbj' || from.name === 'ajzwbj') {
// 清空session
sessionStorage.clear()
setTimeout(() => {
// 清空session
sessionStorage.clear()
}, 1000);
}
next()
})
......
......@@ -559,8 +559,10 @@ export default {
},
closeXzry (val) {
console.log("新增人员关闭", val);
// 增加毛玻璃
this.$bus.emit('isBlur', val)
this.isShowXzry = val;
this.search();
// this.search();
},
// 时间格式化
dateTimeFormat (row, colnum) {
......@@ -725,6 +727,7 @@ export default {
this.isShowGz = true;
},
closeGz (val) {
this.$bus.emit('isBlur', val)
console.log("关注关闭", val);
this.isShowGz = val;
this.search();
......
<!--
* @Author: your name
* @Date: 2021-10-22 09:42:07
* @LastEditTime: 2021-11-13 11:21:59
* @LastEditTime: 2021-11-15 16:11:50
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \指纹系统\founder_vue\src\views\Editor\modules\ryzwbjLeft.vue
......@@ -71,7 +71,12 @@
</template>
<script>
import axios from 'axios';
import { Loading } from 'element-ui';
import { mapState } from 'vuex';
// 取消上一次请求
const CancelToken = axios.CancelToken;
const source = CancelToken.source();
export default {
data () {
return {
......@@ -134,6 +139,9 @@ export default {
image: null
}
],
// 加载动画
loading: null,
timer: null,
}
},
computed: {
......@@ -162,6 +170,7 @@ export default {
* 获取案件指纹原图
*/
getCaseOrigin (seq) {
this.loading = Loading.service({ fullscreen: true, text: '正在加载...' });
this.$store.commit('zwbj/setSeq', seq)
let self = this
this.$axios({
......@@ -172,7 +181,8 @@ export default {
barcode: self.barcode,
seqno: self.seq
},
loading: false
loading: false,
cancelToken: source.token
}).then(res => {
console.log(res);
if (res.data.code === 0) {
......@@ -183,6 +193,11 @@ export default {
}
}
})
clearTimeout(self.timer)
self.timer = setTimeout(() => {
self.loading && self.loading.close();
self.loading = null
}, 1200);
},
/**
* 获取案件指纹
......
......@@ -1454,6 +1454,7 @@ $transOrigin: var(--transOrigin, 0px, 0px);
.content {
display: flex;
align-items: center;
margin-left: 10px;
}
.title {
font-size: 14px;
......@@ -1469,6 +1470,22 @@ $transOrigin: var(--transOrigin, 0px, 0px);
height: 20px;
}
}
/deep/ .el-slider__runway {
width: 190px;
height: 3px;
margin: 0;
background-color: #eeeeee;
}
/deep/ .el-slider__bar {
height: 3px;
background-color: #055fe7;
}
/deep/ .el-slider__button {
width: 10px;
height: 10px;
background: #ffffff;
border: 2px solid #055fe7;
}
}
.options-line {
width: 304px;
......@@ -1507,6 +1524,22 @@ $transOrigin: var(--transOrigin, 0px, 0px);
}
}
}
/deep/ .el-slider__runway {
width: 200px;
height: 3px;
margin: 0;
background-color: #eeeeee;
}
/deep/ .el-slider__bar {
height: 3px;
background-color: #055fe7;
}
/deep/ .el-slider__button {
width: 10px;
height: 10px;
background: #ffffff;
border: 2px solid #055fe7;
}
.brightness {
margin-top: 10px;
margin-left: 32px;
......
<!--
* @Author: your name
* @Date: 2021-10-22 11:36:10
* @LastEditTime: 2021-11-14 23:27:33
* @LastEditTime: 2021-11-15 20:06:14
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \指纹系统\founder_vue\src\views\Editor\modules\imageEd.vue
......@@ -246,7 +246,8 @@
<div class="remove-white" v-show="optionsRemoveWhite">
<div class="title">去白</div>
<div class="content">
<input class="range-narrow" id="input-range-remove-white-distance" type="range" min="0" :value="inputRemoveWhiteRange" max="255" />
<!-- <input class="range-narrow" id="input-range-remove-white-distance" type="range" min="0" :value="inputRemoveWhiteRange" max="255" /> -->
<el-slider class="range-narrow" id="input-range-remove-white-distance" v-model="inputRemoveWhiteRange" :min="0" :max="255"></el-slider>
<input class="qb_v" type="text" v-model="inputRemoveWhiteRange">
</div>
</div>
......@@ -268,24 +269,27 @@
<div class="color-filter">
<div class="title">滤色器</div>
<div class="content">
<input class="range-narrow" id="input-range-color-filter-value" type="range" min="0" :value="inputColorFilterRange" max="255" />
<input class="qb_v" type="text" v-model="inputColorFilterRange">
<!-- <input class="range-narrow" id="input-range-color-filter-value" type="range" min="0" :value="inputColorFilterRange" max="255" /> -->
<el-slider class="range-narrow" id="input-range-color-filter-value" v-model.number="inputColorFilterRange" :min="0" :max="255"></el-slider>
<input min="0" max="255" class="qb_v" type="text" v-model.number="inputColorFilterRange">
</div>
</div>
<!-- 亮度 -->
<div class="brightness">
<div class="title">亮度</div>
<div class="content">
<input class="range-narrow" id="input-range-brightness-value" type="range" min="-255" :value="inputBrightnessRange" max="255" />
<input class="qb_v" type="text" v-model="inputBrightnessRange">
<!-- <input class="range-narrow" id="input-range-brightness-value" type="range" min="-255" :value="inputBrightnessRange" max="255" /> -->
<el-slider class="range-narrow" id="input-range-brightness-value" v-model.number="inputBrightnessRange" :min="-255" :max="255"></el-slider>
<input class="qb_v" type="text" v-model.number="inputBrightnessRange">
</div>
</div>
<!-- 对比度 -->
<div class="contrast-ratio">
<div class="title">对比度</div>
<div class="content">
<input class="range-narrow" id="input-range-contrast-value" type="range" min="0" :value="inputContrastRange" max="255" />
<input class="qb_v" type="text" v-model="inputContrastRange">
<!-- <input class="range-narrow" id="input-range-contrast-value" type="range" min="0" :value="inputContrastRange" max="255" /> -->
<el-slider class="range-narrow" id="input-range-contrast-value" v-model.number="inputContrastRange" :min="0" :max="255"></el-slider>
<input class="qb_v" type="text" v-model.number="inputContrastRange">
</div>
</div>
</div>
......@@ -430,9 +434,9 @@ export default {
// 是否选择了去除白色
isRemoveWhiteActive: false,
// 去白值
inputRemoveWhiteRange: 10,
inputRemoveWhiteRange: 0,
// 去白值--target
inputRemoveWhiteRange2: 10,
inputRemoveWhiteRange2: 0,
// 是否展示去白下拉框
optionsRemoveWhite: false,
// 滤色器选项框
......@@ -440,9 +444,9 @@ export default {
// 是否选择了滤色器
isColorFilterActive: false,
// 滤色器色值
inputColorFilterRange: 45,
inputColorFilterRange: 0,
// 滤色器色值---target
inputColorFilterRange2: 45,
inputColorFilterRange2: 0,
// 是否选择了正片叠底
isMultiplyActive: false,
// 是否展示正片叠底框
......@@ -454,9 +458,9 @@ export default {
// 是否选择了亮度
isBrightnessActive: false,
// 亮度
inputBrightnessRange: 100,
inputBrightnessRange: 0,
// 亮度 --- target
inputBrightnessRange2: 100,
inputBrightnessRange2: 0,
// 是否展示亮度弹窗
optionsBrightness: false,
// 源数据/目标数据切换
......@@ -543,6 +547,8 @@ export default {
//特征点原点的x和y的坐标
originX: 0,
originY: 0,
// 记录session的个数
sessionCount: 0
};
},
computed: {
......@@ -705,7 +711,7 @@ export default {
function applyOrRemoveFilter (applying, type, options) {
if (applying) {
imageEditor.applyFilter(type, options).then(function (result) {
console.log(result);
// console.log(result);
});
} else {
imageEditor.removeFilter(type);
......@@ -1141,15 +1147,16 @@ export default {
// 滑动条去除白色
$inputRangeRemoveWhiteDistance.on('change', function () {
self.inputRemoveWhiteRange = this.value
self.inputRemoveWhiteRange = Number(this.value)
applyOrRemoveFilter(true, 'removeColor', {
distance: parseInt(this.value, 10) / 255,
});
});
// 滑动条滤色
$inputRangeColorFilterValue.on('change', function () {
self.inputColorFilterRange = this.value
$inputRangeColorFilterValue.on('change', function (value) {
console.log(value);
self.inputColorFilterRange = Number(this.value)
applyOrRemoveFilter(true, 'removeColor', {
distance: this.value / 255,
});
......@@ -1230,8 +1237,8 @@ export default {
preTzd.forEach((item, index) => {
self.tzdArr.push({
id: self.tzdId,
x: item.zwzxd_tzxzb,
y: item.zwzxd_tzyzb,
x: item.zwtzd_tzxzb,
y: item.zwtzd_tzyzb,
angle: item.zwtzd_tzfx
})
......@@ -1252,8 +1259,8 @@ export default {
$('.tzdDom .direction').css('height', '2px')
$('.tzdDom .direction').css('background-color', '#FFFD0F')
$(`#tzd${self.tzdId}`).css("left", (item.zwzxd_tzxzb - 4) / self.zoomLevel + "px");
$(`#tzd${self.tzdId}`).css("top", (item.zwzxd_tzyzb - 4) / self.zoomLevel + "px");
$(`#tzd${self.tzdId}`).css("left", (item.zwtzd_tzxzb - 4) / self.zoomLevel + "px");
$(`#tzd${self.tzdId}`).css("top", (item.zwtzd_tzyzb - 4) / self.zoomLevel + "px");
$(`#tzd${self.tzdId}`).css("box-sizing", "border-box");
$("#tzd" + self.tzdId).css("transform", `rotate(${item.zwtzd_tzfx}deg)`);
......@@ -1426,8 +1433,8 @@ export default {
tzdall_shou.push({
id: item.id,
zwtzd_tzfx: item.angle,
zwzxd_tzxzb: item.x,
zwzxd_tzyzb: item.y
zwtzd_tzxzb: item.x,
zwtzd_tzyzb: item.y
})
})
self.$store.commit('zwbj/setTzdall', tzdall_shou)
......@@ -1662,8 +1669,8 @@ export default {
self.tzdArr.forEach(item => {
self.pretzdall.push({
zwtzd_tzfx: item.angle,
zwzxd_tzxzb: item.x,
zwzxd_tzyzb: item.y
zwtzd_tzxzb: item.x,
zwtzd_tzyzb: item.y
})
})
}
......@@ -1781,8 +1788,8 @@ export default {
$('.auto_tzdDom .direction').css('height', '2px')
$('.auto_tzdDom .direction').css('background-color', '#FFFD0F')
$(`#tzd${self.tzdId}`).css("left", (item.zwzxd_tzxzb - 4) / self.zoomLevel + "px");
$(`#tzd${self.tzdId}`).css("top", (item.zwzxd_tzyzb - 4) / self.zoomLevel + "px");
$(`#tzd${self.tzdId}`).css("left", (item.zwtzd_tzxzb - 4) / self.zoomLevel + "px");
$(`#tzd${self.tzdId}`).css("top", (item.zwtzd_tzyzb - 4) / self.zoomLevel + "px");
$(`#tzd${self.tzdId}`).css("box-sizing", "border-box");
$("#tzd" + self.tzdId).css("transform", `rotate(${item.zwtzd_tzfx}deg)`);
self.tzdId++
......@@ -1814,8 +1821,8 @@ export default {
$('.auto_tzdDom .direction').css('height', '2px')
$('.auto_tzdDom .direction').css('background-color', '#FFFD0F')
$(`#${item.id}`).css("left", (item.zwzxd_tzxzb - 4) / self.zoomLevel + "px");
$(`#${item.id}`).css("top", (item.zwzxd_tzyzb - 4) / self.zoomLevel + "px");
$(`#${item.id}`).css("left", (item.zwtzd_tzxzb - 4) / self.zoomLevel + "px");
$(`#${item.id}`).css("top", (item.zwtzd_tzyzb - 4) / self.zoomLevel + "px");
$(`#${item.id}`).css("box-sizing", "border-box");
$("#" + item.id).css("transform", `rotate(${item.zwtzd_tzfx}deg)`);
})
......@@ -2218,7 +2225,7 @@ export default {
this.imageEditor.applyFilter('blendColor', {
color: self.multiplyColorpicker.getColor(),
}).then(function (result) {
console.log(result);
// console.log(result);
});
self.historys.push('正片叠底')
} else {
......@@ -2270,7 +2277,7 @@ export default {
useAlpha: false,
distance: parseInt(self.inputRemoveWhiteRange, 10) / 255,
}).then(function (result) {
console.log(result);
// console.log(result);
});
self.historys.push('去白')
} else {
......@@ -2321,7 +2328,7 @@ export default {
mode: 'diff',
color: self.blendColorpicker.getColor(),
}).then(function (result) {
console.log(result);
// console.log(result);
});
self.historys.push('差异化')
} else {
......@@ -2368,7 +2375,7 @@ export default {
this.isInvertActive = !this.isInvertActive
if (this.isInvertActive) {
this.imageEditor.applyFilter('Invert', null).then(function (result) {
console.log(result);
// console.log(result);
});
self.historys.push('反相')
} else {
......@@ -2414,7 +2421,7 @@ export default {
this.isEmbossActive = !this.isEmbossActive
if (this.isEmbossActive) {
this.imageEditor.applyFilter('Emboss', null).then(function (result) {
console.log(result);
// console.log(result);
});
self.historys.push('浮雕')
} else {
......@@ -2460,7 +2467,7 @@ export default {
this.isSharpenActive = !this.isSharpenActive
if (this.isSharpenActive) {
this.imageEditor.applyFilter('Sharpen', null).then(function (result) {
console.log(result);
// console.log(result);
});
} else {
this.imageEditor.removeFilter('Sharpen');
......@@ -2582,7 +2589,7 @@ export default {
this.isVintageActive = !this.isVintageActive
if (this.isVintageActive) {
this.imageEditor.applyFilter('vintage', null).then(function (result) {
console.log(result);
// console.log(result);
});
self.historys.push('棕褐色')
} else {
......@@ -2628,7 +2635,7 @@ export default {
this.isGrayActive = !this.isGrayActive
if (this.isGrayActive) {
this.imageEditor.applyFilter('Grayscale', null).then(function (result) {
console.log(result);
// console.log(result);
});
self.historys.push('灰度')
} else {
......@@ -2653,8 +2660,8 @@ export default {
self.tzdArr.forEach(item => {
self.tzdall.push({
zwtzd_tzfx: item.angle,
zwzxd_tzxzb: item.x,
zwzxd_tzyzb: item.y
zwtzd_tzxzb: item.x,
zwtzd_tzyzb: item.y
})
})
}
......@@ -2684,9 +2691,12 @@ export default {
console.log(res);
if (res.data.message == 'success') {
self.$message.success('保存成功!')
// 记录session保存的个数
self.sessionCount++
}
})
} else if (self.saveType == '全部指位特征') {
let sessionArr = []
let allTZData = []
console.log('111');
sessionStorage.setItem(self.seq, JSON.stringify(self.preTzdArr))
......@@ -2694,10 +2704,12 @@ export default {
var sessionKeys = Object.keys(sessionStorage)
for (var i = 0; i < sessionKeys.length; i++) {
//可以对key 进行分析从而决定是否要删除sessionStorage 里的缓存
// 可以对key 进行分析从而决定是否要删除sessionStorage 里的缓存
console.log(sessionKeys[i], sessionStorage.getItem(sessionKeys[i]))
// 去掉auto
if (sessionKeys[i][0] === 'a') {
// 记录session保存的个数
sessionArr.push(sessionStorage.getItem(sessionKeys[i]))
for (var j = 0; j < sessionKeys.length; j++) {
if (sessionKeys[j] == sessionKeys[i].substring(4, sessionKeys[i].length)) {
console.log(JSON.parse(sessionStorage.getItem(sessionKeys[j])));
......@@ -2729,7 +2741,16 @@ export default {
this.$axios({
method: 'post',
url: '/api/upload/trait/allperson?barcode=' + self.barcode,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
},
data: JSON.stringify(allTZData)
}).then(res => {
if (res.data.code === 0) {
self.$message.success('保存成功!')
// 计算session的个数
self.sessionCount = self.sessionCount + Number(sessionArr.length)
}
})
console.log(allTZData);
}
......@@ -3525,7 +3546,7 @@ export default {
this.imageEditor.applyFilter('removeColor', {
distance: parseInt(newValue, 10) / 255,
}).then(function (result) {
console.log(result);
// console.log(result);
});
},
// 对比度
......@@ -3533,21 +3554,22 @@ export default {
this.imageEditor.applyFilter('Contrast', {
contrast: parseInt(newValue, 10) / 255,
}).then(function (result) {
console.log(result);
// console.log(result);
});
},
inputColorFilterRange (newValue, oldValue) {
console.log(newValue);
this.imageEditor.applyFilter('removeColor', {
distance: parseInt(newValue, 10) / 255,
}).then(function (result) {
console.log(result);
// console.log(result);
});
},
inputBrightnessRange (newValue, oldValue) {
this.imageEditor.applyFilter('brightness', {
brightness: parseInt(newValue, 10) / 255,
}).then(function (result) {
console.log(result);
// console.log(result);
});
},
isEnlarge (newValue, oldValue) {
......@@ -3640,6 +3662,24 @@ export default {
}
},
},
beforeDestroy () {
let sessionArr = []
var sessionKeys = Object.keys(sessionStorage)
for (var i = 0; i < sessionKeys.length; i++) {
//可以对key 进行分析从而决定是否要删除sessionStorage 里的缓存
console.log(sessionKeys[i], sessionStorage.getItem(sessionKeys[i]))
if (sessionKeys[i].substring(0,4) == 'auto') {
sessionArr.push(sessionStorage.getItem(sessionKeys[i]))
}
}
console.log(sessionArr);
console.log(this.sessionCount);
if (sessionArr.length == this.sessionCount) {
return
} else {
this.$message.error('当前页面有未保存的指位!')
}
},
}
</script>
......
......@@ -798,8 +798,9 @@ $directionRotate: var(--directionRotate, 0deg);
height: 640px;
background: #ffffff;
display: flex;
justify-content: center;
align-items: center;
filter: "FlipV";
// justify-content: center;
// align-items: center;
.tui-image-editor {
width: 640px !important;
height: 640px !important;
......@@ -811,9 +812,9 @@ $directionRotate: var(--directionRotate, 0deg);
max-width: 640px !important;
height: 100%;
width: auto !important;
display: flex !important;
justify-content: center !important;
align-items: center !important;
// display: flex !important;
// justify-content: center !important;
// align-items: center !important;
}
.blc {
position: absolute;
......@@ -2131,6 +2132,21 @@ $directionRotate: var(--directionRotate, 0deg);
top: 128px;
right: 47px;
}
/deep/ .el-slider__runway {
width: 142px;
height: 3px;
margin: 0;
}
/deep/ .el-slider__bar {
height: 3px;
background-color: #055fe7;
}
/deep/ .el-slider__button {
width: 10px;
height: 10px;
background: #ffffff;
border: 2px solid #055fe7;
}
.remove-white {
position: absolute;
top: 150px;
......@@ -2244,7 +2260,4 @@ $directionRotate: var(--directionRotate, 0deg);
input[type="range"]::-webkit-slider-thumb:active {
transform: scale(1.6);
}
}
// /deep/.el-select-dropdown__item {
// padding-left: 20px !important;
// }
}
\ No newline at end of file
<!--
* @Author: your name
* @Date: 2021-10-22 11:36:10
* @LastEditTime: 2021-11-13 14:49:54
* @LastEditTime: 2021-11-15 19:17:49
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \指纹系统\founder_vue\src\views\Editor\modules\imageEd.vue
......@@ -1093,9 +1093,9 @@ export default {
console.log("flipY: ", status.flipY);
console.log("angle: ", status.angle);
if (status.flipX) {
$(".tzdDrawing").css("transform", "rotateY(180deg)");
$(".tzdDrawing").css("transform", `rotateY(${-status.angle+180}deg) rotateX(${-status.angle}deg)`);
} else {
$(".tzdDrawing").css("transform", "rotateY(0deg)");
$(".tzdDrawing").css("transform", `rotate(${-status.angle}deg)`);
}
});
});
......@@ -1110,15 +1110,17 @@ export default {
console.log("flipY: ", status.flipY);
console.log("angle: ", status.angle);
if (status.flipY) {
$(".tzdDrawing").css("transform", "rotateX(180deg)");
$(".tzdDrawing").css("transform", `rotateX(${-status.angle+180}deg) rotateY(${-status.angle}deg)`);
} else {
$(".tzdDrawing").css("transform", "rotateX(0deg)");
$(".tzdDrawing").css("transform", `rotate(${-status.angle}deg)`);
}
});
});
// 重置
$btnResetFlip.on("click", function () {
self.move_left = 0
self.move_TOP = 0
self.isX = false;
self.isY = false;
self.isReset = true;
......@@ -1162,10 +1164,10 @@ export default {
// 向左旋转30°
$btnRotateClockwise.on("click", function () {
self.isHandTZD = false
self.startPlace += 30;
self.startPlace -= 30;
self.isLeftRotate = true;
self.isRightRotate = false;
imageEditor.rotate(30);
imageEditor.rotate(-30);
self.historys.push("旋转");
let canvasImage = imageEditor._graphics.getCanvasImage();
console.log(canvasImage);
......@@ -1195,10 +1197,10 @@ export default {
// 向右旋转30°
$btnRotateCounterClockWise.on("click", function () {
self.isHandTZD = false
self.startPlace -= 30;
self.startPlace += 30;
self.isLeftRotate = false;
self.isRightRotate = true;
imageEditor.rotate(-30).then((res) => {
imageEditor.rotate(+30).then((res) => {
console.log(res);
});
self.historys.push("旋转");
......@@ -1407,7 +1409,7 @@ export default {
contrast: this.value / 255,
});
})
/*
this.$bus.on('ajzwbjImage', (sourceImage) => {
// 缩放为1
self.zoomLevel = 1
......@@ -1458,32 +1460,40 @@ export default {
}
})
})
*/
this.$bus.on("ajzwbjImage", (sourceImage) => {
self.sourceImage = sourceImage;
// 缩放为1
self.zoomLevel = 1
imageEditor.resetZoom()
self.sourceImage = sourceImage
imageEditor
.loadImageFromURL(
"data:image/jpeg;base64," + sourceImage,
"SampleImage"
)
.then(function (sizeValue) {
// 更新newHeight和newWidth
self.newHeight = sizeValue.newHeight
self.newWidth = sizeValue.newWidth
// 清除自由绘制和圆形绘制
$(".td_circle").remove();
self.circleArr_hand = [];
Fcanvas.clear();
self.Fcanvas = [];
$('.td_circle').remove()
$('.auto_td_circle').remove()
self.circleArr_hand = []
self.autoCircleArr_hand = []
Fcanvas.clear()
self.Fcanvas = []
self.autoFcanvas = []
// console.log(sizeValue);
// 切换指纹图片时,清空特征点数组
self.tzdnumber = 0;
self.tzdArr = [];
self.autoTzdArr = [];
self.tzdnumber = 0
self.tzdArr = []
self.autoTzdArr = []
// 移除图片上的点
$(".tzdDom").remove();
$(".auto_tzdDom").remove();
$('.tzdDom').remove()
$('.auto_tzdDom').remove()
imageEditor.clearUndoStack();
// 缩放为1
self.zoomLevel = 1;
// 获取自动提取特征
self.getAutoTzd(false);
......@@ -2093,7 +2103,8 @@ export default {
// Fcanvas.setHeight(self.newHeight*Fcanvas.getZoom())
// document.querySelector('.tzdDrawing').style.transformOrigin = `${originPointer.x}px ${originPointer.y}px`;
$(".tzdDrawing").css("transform", `scale(${self.zoomLevel})`);
let canvasImage = imageEditor._graphics.getCanvasImage();
$(".tzdDrawing").css("transform", `rotate(${canvasImage.angle}deg) scale(${self.zoomLevel})`);
$(".tzdDrawing_2").css("transform", `scale(${self.zoomLevel})`);
// document.querySelector('.tzdDrawing').style.transformOrigin = "260px 260px";
// console.log(`${originPointer.y}px,${originPointer.x}px`);
......@@ -2129,7 +2140,8 @@ export default {
// $('.tzdDom').css('z-index', `9999`)
// $('.tzdDrawing').css('transform-origin', `${originPointer.y}px,${originPointer.x}px`)
// document.querySelector('.tzdDrawing').style.transformOrigin = `${originPointer.x}px ${originPointer.y}px`;
$(".tzdDrawing").css("transform", `scale(${self.zoomLevel})`);
let canvasImage = imageEditor._graphics.getCanvasImage();
$(".tzdDrawing").css("transform", `rotate(${canvasImage.angle}deg) scale(${self.zoomLevel})`);
$(".tzdDrawing_2").css("transform", `scale(${self.zoomLevel})`);
// document.querySelector('.tzdDrawing').style.transformOrigin = "260px 260px";
......@@ -2184,7 +2196,7 @@ export default {
deg = 0
}
console.log(self.startPlace,'原点 ');
console.log(self.startPlace, '原点 ');
if (deg) {
$("#tzd" + self.tzdId).css("transform", `rotate(${deg - self.startPlace}deg)`);
} else {
......@@ -3157,6 +3169,13 @@ export default {
let self = this;
console.log(this.rule_num);
console.log(this.line_distance);
if (this.kdvalue == '毫米/mm') {
this.rule_num = this.rule_num
} else if (this.kdvalue == '厘米/cm') {
this.rule_num = Number(this.rule_num) * 10
} else if (this.kdvalue == '英寸/in') {
this.rule_num = Number(this.rule_num) * 25.4
}
let frame = (this.line_distance / this.rule_num) * 26;
this.bb = ((3 / 5) * this.canvasHeight) / frame;
// let bb = 3/4*Math.pow(self.canvasHeight, 2)/frame
......@@ -5367,3 +5386,10 @@ export default {
<style lang="scss" scoped>
@import "./imageEdAJ.scss";
</style>
<style lang="scss">
// 修改下拉框样式
.el-select-dropdown__item {
padding-left: 20px;
}
</style>
......@@ -156,6 +156,10 @@
}
}
}
.isHasData {
background: #ECEDF1;
color: #AEAFB4;
}
}
}
}
<!--
* @Author: your name
* @Date: 2021-10-22 09:42:07
* @LastEditTime: 2021-11-15 10:37:25
* @LastEditTime: 2021-11-15 14:41:58
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \指纹系统\founder_vue\src\views\Editor\modules\ryzwbjLeft.vue
......@@ -14,7 +14,7 @@
<div class="zzw-select" @click="zzwChange($event)">
<div class="select-item" :class="{active: zwSelect==='滚动指纹'}">滚动指纹</div>
<div class="select-line"></div>
<div class="select-item" :class="{active: zwSelect==='平面指纹'}">平面指纹</div>
<div class="select-item" :class="{active: zwSelect==='平面指纹', isHasData: !PainFingerFlag}">平面指纹</div>
<div class="select-line"></div>
<div class="select-item" :class="{active: zwSelect==='掌纹'}">掌纹</div>
</div>
......@@ -88,7 +88,12 @@
</template>
<script>
import axios from 'axios';
import { Loading } from 'element-ui';
import { mapState } from 'vuex';
// 取消上一次请求
const CancelToken = axios.CancelToken;
const source = CancelToken.source();
export default {
data () {
return {
......@@ -212,7 +217,10 @@ export default {
name: '小',
image: null
}
]
],
// 加载动画
loading: null,
timer: null,
}
},
computed: {
......@@ -228,8 +236,8 @@ export default {
// console.log(this.$route);
this.id = this.$route.params.id
await this.getPainFingers()
await this.getRollFingers()
await this.getPainFingers()
await this.findFinger()
if (self.finger && self.finger.code) {
this.activerollFinger = self.finger.code
......@@ -255,6 +263,7 @@ export default {
* @return {*}
*/
getRollFingerOrigin (seq) {
this.loading = Loading.service({ fullscreen: true, text: '正在加载...' });
this.$store.commit('zwbj/setSeq', seq)
// ip:port/api/org/roll/{id}/{seq}
let self = this
......@@ -266,7 +275,8 @@ export default {
barcode: self.barcode,
seqno: self.seq
},
loading: false
loading: false,
cancelToken: source.token,
// url: `/api/org/roll/${1}/${seq}?mnt=1`
}).then(res => {
console.log(res);
......@@ -278,6 +288,11 @@ export default {
}
}
})
clearTimeout(self.timer)
self.timer = setTimeout(() => {
self.loading && self.loading.close();
self.loading = null
}, 1200);
},
/**
* @description: 获取平面指纹原图
......@@ -285,6 +300,7 @@ export default {
* @return {*}
*/
getPainFingerOrigin (seq) {
this.loading = Loading.service({ fullscreen: true, text: '正在加载...' });
this.$store.commit('zwbj/setSeq', seq)
// ip:port/api/org/plain/{id}/{seq}
let self = this
......@@ -296,7 +312,8 @@ export default {
barcode: self.barcode,
seqno: self.seq
},
loading: false
loading: false,
cancelToken: source.token,
// url: `/api/org/plain/${1}/${seq}?mnt=1`
}).then(res => {
// console.log(res);
......@@ -308,6 +325,11 @@ export default {
}
}
})
clearTimeout(self.timer)
self.timer = setTimeout(() => {
self.loading && self.loading.close();
self.loading = null
}, 1200);
},
/**
* @description: 获取滚动指纹
......@@ -315,6 +337,7 @@ export default {
* @return {*}
*/
async getRollFingers () {
this.loading = Loading.service({ fullscreen: true, text: '正在加载...' });
let self = this
// 请求之前先清空图片数据
self.rollFingersLeft.forEach((item) => {
......@@ -388,9 +411,7 @@ export default {
// 左手
if (element.seq > 15) {
self.painFingersLeft.forEach((item) => {
if (item.code == element.seq) {
item.image = element.image
}
})
......@@ -405,11 +426,20 @@ export default {
}
self.PainFingerFlag = true
} else {
debugger
// 没有平面指纹,不能切换tabl栏
self.PainFingerFlag = false
}
} else {
// 没有数据
this.$message.error('未查找到相关记录')
// 没有平面指纹,不能切换tabl栏
self.PainFingerFlag = false
}
clearTimeout(self.timer)
self.timer = setTimeout(() => {
self.loading && self.loading.close();
self.loading = null
}, 1200);
},
/**
* @description: 切换单个指纹
......@@ -448,34 +478,36 @@ export default {
async findFinger () {
let self = this
self.finger = null
self.rollFingersLeft.some((item, index) => {
self.rollFingersRight.some((item, index) => {
if (item.image !== null) {
self.finger = item
return true
}
})
if (self.finger) return self.finger
self.rollFingersRight.some((item, index) => {
self.rollFingersLeft.some((item, index) => {
if (item.image !== null) {
self.finger = item
return true
}
})
if (self.finger) return self.finger
self.painFingersLeft.some((item, index) => {
self.painFingersRight.some((item, index) => {
if (item.image !== null) {
self.finger = item
return true
}
})
if (self.finger) return self.finger
self.painFingersRight.some((item, index) => {
self.painFingersLeft.some((item, index) => {
if (item.image !== null) {
self.finger = item
return true
}
})
if (self.finger) return self.finger
return self.finger
},
/**
......
<template>
<div id="home">
<el-container class="layout-container">
<transition name="slide">
<el-aside :width="isCollapse ? '4rem' : '17.5rem'" class="aside">
<div
class="logo"
:class="{ minLogo: isCollapse }"
@click="$router.push('/Home/Home')"
>
<img class="jh" src="../assets/img/Home/jh.png" alt="" />
<img
v-show="!isCollapse"
class="title"
src="../assets/img/Home/title.png"
alt=""
/>
</div>
<!-- <div class="search">
<div id="home-div">
<div id="home" :class="{zhanshi: isCropper}">
<el-container class="layout-container">
<transition name="slide">
<el-aside :width="isCollapse ? '4rem' : '17.5rem'" class="aside">
<div class="logo" :class="{ minLogo: isCollapse }" @click="$router.push('/Home/Home')">
<img class="jh" src="../assets/img/Home/jh.png" alt="" />
<img v-show="!isCollapse" class="title" src="../assets/img/Home/title.png" alt="" />
</div>
<!-- <div class="search">
<el-input v-if="!isCollapse" @keyup.enter.native="goSearch()" class="searchTxt" prefix-icon="el-icon-search" v-model="searchTxt" placeholder="搜索"></el-input>
<i class="search-icon el-icon-search" v-else></i>
</div> -->
<el-menu
:collapse-transition="false"
ref="menu"
:default-active="menuActive"
text-color="#CCCCCC"
active-text-color="#ffffff"
background-color="#1F2D45"
class="el-menu-vertical-demo"
@open="handleOpen"
@close="handleClose"
:collapse="isCollapse"
@select="selectPath"
>
<div v-for="(menu, i) in routes" :key="i">
<el-submenu
:index="menu.name"
v-if="menu.children && !menu.hidden"
>
<template slot="title">
<img
v-if="$route.path != menu.path"
:src="menu.icon_d"
alt=""
/>
<img v-else :src="menu.icon_a" alt="" />
<span v-show="!isCollapse">{{ menu.meta.title }}</span>
</template>
<div v-for="(item, index) in menu.children" :key="index">
<el-menu-item v-if="!item.hidden" :index="item.name">{{
<el-menu :collapse-transition="false" ref="menu" :default-active="menuActive" text-color="#CCCCCC" active-text-color="#ffffff" background-color="#1F2D45" class="el-menu-vertical-demo" @open="handleOpen" @close="handleClose" :collapse="isCollapse" @select="selectPath">
<div v-for="(menu, i) in routes" :key="i">
<el-submenu :index="menu.name" v-if="menu.children && !menu.hidden">
<template slot="title">
<img v-if="$route.path != menu.path" :src="menu.icon_d" alt="" />
<img v-else :src="menu.icon_a" alt="" />
<span v-show="!isCollapse">{{ menu.meta.title }}</span>
</template>
<div v-for="(item, index) in menu.children" :key="index">
<el-menu-item v-if="!item.hidden" :index="item.name">{{
item.meta.title
}}</el-menu-item>
</div>
</el-submenu>
<el-menu-item
:index="menu.name"
v-else-if="!menu.children && !menu.hidden"
>
<img
v-if="$route.path != menu.path"
:src="menu.icon_d"
alt=""
/>
<img v-else :src="menu.icon_a" alt="" />
<span slot="title">{{ menu.meta.title }}</span>
</el-menu-item>
</div>
</el-submenu>
<el-menu-item :index="menu.name" v-else-if="!menu.children && !menu.hidden">
<img v-if="$route.path != menu.path" :src="menu.icon_d" alt="" />
<img v-else :src="menu.icon_a" alt="" />
<span slot="title">{{ menu.meta.title }}</span>
</el-menu-item>
</div>
</el-menu>
<div class="fz">
<img v-if="!isCollapse" src="../assets/img/Home/logo.png" alt="" />
<img v-else src="../assets/img/Home/fang.png" alt="" />
</div>
</el-aside>
</transition>
<el-container class="container-dom">
<el-header class="header">
<div class="collapse" @click="switchCollapse">
<img v-if="isCollapse" :src="rightImg" alt="" />
<img v-else :src="leftImg" alt="" />
</div>
</el-menu>
<div class="fz">
<img v-if="!isCollapse" src="../assets/img/Home/logo.png" alt="" />
<img v-else src="../assets/img/Home/fang.png" alt="" />
</div>
</el-aside>
</transition>
<el-container>
<el-header class="header">
<div class="collapse" @click="switchCollapse">
<img v-if="isCollapse" :src="rightImg" alt="" />
<img v-else :src="leftImg" alt="" />
</div>
<div class="options">
<!-- <div class="sendFind">发查询</div> -->
<div class="set">系统管理</div>
<div class="role">指纹员</div>
<div class="message">
<div class="circle"></div>
<div class="options">
<!-- <div class="sendFind">发查询</div> -->
<div class="set">系统管理</div>
<div class="role">指纹员</div>
<div class="message">
<div class="circle"></div>
</div>
<div class="quit" @click="$router.push('/Home/Home')"></div>
<div class="logout" @click="logout">
<svg-icon v-show="!isHoverLogout" icon-class="logout_d" class="icon" @mouseover="isHoverLogout = true" @mouseleave="isHoverLogout = false" />
<svg-icon v-show="isHoverLogout" icon-class="logout_a" class="icon" />
</div>
</div>
<div class="quit" @click="$router.push('/Home/Home')"></div>
<div class="logout" @click="logout">
<svg-icon
v-show="!isHoverLogout"
icon-class="logout_d"
class="icon"
@mouseover="isHoverLogout = true"
@mouseleave="isHoverLogout = false"
/>
<svg-icon
v-show="isHoverLogout"
icon-class="logout_a"
class="icon"
/>
</el-header>
<el-main class="main">
<div class="contain">
<el-tabs :closable="paths.length > 1" v-model="routePath" @tab-click="handleClick" @tab-remove="tabRemove">
<el-tab-pane :label="item.name" :name="item.routeName" v-for="item in paths" :key="item.routeName"></el-tab-pane>
</el-tabs>
<div class="breadcrumb"></div>
<!-- 路由出口 -->
<keep-alive :include="cachePageName">
<router-view></router-view>
</keep-alive>
</div>
</div>
</el-header>
<el-main class="main">
<div class="contain">
<el-tabs
:closable="paths.length > 1"
v-model="routePath"
@tab-click="handleClick"
@tab-remove="tabRemove"
>
<el-tab-pane
:label="item.name"
:name="item.routeName"
v-for="item in paths"
:key="item.routeName"
></el-tab-pane>
</el-tabs>
<div class="breadcrumb"></div>
<!-- 路由出口 -->
<keep-alive :include="cachePageName">
<router-view></router-view>
</keep-alive>
</div>
</el-main>
</el-main>
</el-container>
</el-container>
</el-container>
<!-- <button @click="toLogin1">登录页</button>
<!-- <button @click="toLogin1">登录页</button>
<button @click="toHome1">门户页面</button>
<button @click="toEditor">指纹处理</button>
<button @click="toConfirm">查询认定</button>
<button @click="toAllPersonnelBase">全部人员库</button> -->
</div>
<!-- 毛玻璃 -->
<div class="cropper" v-show="isCropper">
<img class="cropperImage" :src="cropperImage" alt="">
<div class="shadow"></div>
</div>
</div>
</template>
<script>
import zoom from "@/utils/autosize";
import html2canvas from 'html2canvas';
import "@/icons/logout_d.svg";
import "@/icons/logout_a.svg";
import indexRoutes from "@/router/modules/index";
import { mapGetters } from "vuex";
export default {
name: "Home",
data() {
data () {
return {
searchTxt: "",
routes: this.$store.getters["layout/leftMenuData"],
......@@ -155,22 +108,32 @@ export default {
menuActive: "",
isHoverLogout: false,
routePath: "",
// 截屏出来的img url
cropperImage: '',
// 是否展示毛玻璃
isCropper: false
};
},
mounted() {
mounted () {
let self = this
this.menuActive = this.$route.name;
// console.log(this.$route);
// zoom('home')
// window.addEventListener('resize', function () {
// zoom('home')
// })
// 是否模糊
this.$bus.on('isBlur', (isBlur) => {
if(isBlur) {
self.isCropper = true
self.screenshot()
} else {
self.isCropper = false
}
})
},
updated() {
updated () {
this.menuActive = this.$route.name;
},
computed: {
...mapGetters(["defaultGoodsImage", "userAuth"]),
cachePageName() {
cachePageName () {
return this.$store.state.layout.cachePageName;
},
},
......@@ -181,7 +144,7 @@ export default {
* @return {*}
*/
logout() {
logout () {
// console.log('退出登录');
// this.$router.replace('/login1')
this.$axios
......@@ -204,11 +167,11 @@ export default {
* @return {*}
*/
goSearch() {
goSearch () {
this.searchTxt = "";
console.log(this.searchTxt);
},
handleClick({ name }) {
handleClick ({ name }) {
if (name == "/Home/htzwcj") {
this.$router.push(name);
this.menuActive = "";
......@@ -218,7 +181,7 @@ export default {
this.menuActive = routerObj.routeName;
}
},
tabRemove(name) {
tabRemove (name) {
let routerObj = this.paths.find((i) => i.routeName == name);
if (routerObj) {
let pathName = routerObj.name;
......@@ -237,7 +200,7 @@ export default {
sessionStorage.setItem("crumbs", JSON.stringify(this.paths));
this.setKeepAlive();
},
setKeepAlive() {
setKeepAlive () {
let cachePageName;
if (JSON.parse(sessionStorage.getItem("crumbs")).length > 0) {
cachePageName = JSON.parse(sessionStorage.getItem("crumbs"))
......@@ -249,7 +212,7 @@ export default {
this.$store.commit("layout/resetcachePageName", cachePageName);
this.$store.commit("layout/delcachePageName", 'ryzwbj');
this.$store.commit("layout/delcachePageName", 'ajzwbj');
console.log(1111222222211111,this.$store.state.layout.cachePageName)
console.log(1111222222211111, this.$store.state.layout.cachePageName)
},
/**
......@@ -257,7 +220,7 @@ export default {
* @param {*}
* @return {*}
*/
goManager() {
goManager () {
this.$router.push("/Home/htzwcj");
this.menuActive = "";
},
......@@ -267,7 +230,7 @@ export default {
* @param {*} path
* @return {*}
*/
selectPath(index, path) {
selectPath (index, path) {
this.$router.push({ name: index });
},
/**
......@@ -275,7 +238,7 @@ export default {
* @param {*}
* @return {*}
*/
closePaths(pathName) {
closePaths (pathName) {
let res = this.paths.filter((item) => {
return item.name != pathName;
});
......@@ -291,7 +254,7 @@ export default {
* @param {*}
* @return {*}
*/
changeRouter(route) {
changeRouter (route) {
this.$router.push(route.path);
this.menuActive = route.routeName;
},
......@@ -300,21 +263,44 @@ export default {
* @param {*}
* @return {*}
*/
switchCollapse() {
switchCollapse () {
this.isCollapse = !this.isCollapse;
},
handleOpen(key, keyPath) {
handleOpen (key, keyPath) {
console.log(key, keyPath);
},
handleClose(key, keyPath) {
handleClose (key, keyPath) {
console.log(key, keyPath);
},
/**
* @description: 模糊操作
* @param {*}
* @return {*}
*/
screenshot () {
let self = this
this.isCropper = true
html2canvas(
document.querySelector('#home'),
{
backgroundColor: null, //画出来的图片有白色的边框,不要可设置背景为透明色(null)
useCORS: true,//支持图片跨域
scale: 1,//设置放大的倍数
}
).then(canvas => {
// 截图用img元素承装,显示在页面的上
let img = new Image();
img.src = canvas.toDataURL('image/jpeg');// toDataURL :图片格式转成 base64
// document.getElementById('test').appendChild(img);
self.cropperImage = canvas.toDataURL('image/jpeg')
})
},
},
watch: {
$route: {
handler(newValue, oldValue) {
console.log(this.routePath,11111111111)
console.log(newValue,11111111111)
handler (newValue, oldValue) {
console.log(this.routePath, 11111111111)
console.log(newValue, 11111111111)
this.routePath = newValue.name;
setTimeout(() => {
console.log(1);
......@@ -345,7 +331,7 @@ export default {
immediate: true,
},
},
created() {
created () {
this.paths = sessionStorage.getItem("crumbs")
? JSON.parse(sessionStorage.getItem("crumbs"))
: [];
......@@ -353,17 +339,49 @@ export default {
};
</script>
<style scoped lang="scss">
.v-modal {
background: none;
}
// 模糊的背景
.cropper {
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
img {
width: 100%;
height: 100%;
filter: blur(1.5px);
}
}
.shadow {
z-index: 999;
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
background: rgba($color: #fff, $alpha: 0.65);
}
#home {
height: 100vh;
//height: 100%;
// filter: blur(5px);
}
.zhanshi {
display: none;
}
.layout-container {
width: 100%;
height: 100%;
overflow: hidden;
display: flex;
}
.container-dom {
background: #f5f5f5;
height: 100%;
}
/deep/.el-menu.el-menu--inline {
.el-menu-item {
padding-left: 50px !important;
......
......@@ -199,6 +199,8 @@
</template>
<script>
import axios from 'axios';
import { Loading } from 'element-ui';
export default {
name: "LTCandidate",
data () {
......@@ -246,7 +248,10 @@ export default {
// 是否展示指纹下拉框
isFingerDropdown: false,
// 选择的指纹类型
fingershowType: ''
fingershowType: '',
// 加载动画
loading: null,
timer: null,
};
},
created () {
......@@ -1097,11 +1102,18 @@ export default {
// }
let zcseq = sessionStorage.getItem('zcseq')
let qqid = sessionStorage.getItem('qqid')
this.loading = Loading.service({ fullscreen: true, text: '正在加载...' });
this.$axios.post(`/api/query/matchcand/dest/${qqid}/${zcseq}`, { srcbarcode: sessionStorage.getItem('srcbarcode'), destbarcode: self.input3.trim() })
.then(response => {
console.log(response);
self.tableData = response.data.ret
self.total = self.tableData.length
clearTimeout(self.timer)
self.timer = setTimeout(() => {
self.loading && self.loading.close();
self.loading = null
}, 1200);
})
},
/**
......@@ -1121,6 +1133,7 @@ export default {
// 存储目的数据序号
sessionStorage.setItem("destseqno", val.destseqno);
this.loading = Loading.service({ fullscreen: true, text: '正在加载...' });
// 平面
if (val.destseqno > 10) {
this.$axios
......@@ -1142,6 +1155,11 @@ export default {
self.$bus.emit("changImageEditTarget", response.data.ret.image);
})
}
clearTimeout(self.timer)
self.timer = setTimeout(() => {
self.loading && self.loading.close();
self.loading = null
}, 1200);
// this.$axios.get(`/api/api/org/plainByBarcode/R1100002487002018050034/1/`)
// this.$axios
......@@ -1231,7 +1249,7 @@ const candidates = [
}
}
.input {
width: 272px;
width: 270px;
height: 32px;
background: #ffffff;
border-top-left-radius: 4px;
......@@ -1414,7 +1432,7 @@ const candidates = [
}
.lt_candidate .lt_cnadidate_search .input {
box-sizing: border-box;
width: 290px;
width: 286px;
}
/deep/.el-input {
box-sizing: border-box !important;
......
......@@ -76,6 +76,8 @@
</template>
<script>
import axios from 'axios';
import { Loading } from 'element-ui';
export default {
name: "LTSrc",
props: ["srcData"],
......@@ -113,7 +115,10 @@ export default {
fingerTotal: 0,
currentRow: null,
options: '展开',
qqid: null
qqid: null,
// 加载动画
loading: null,
timer: null,
};
},
methods: {
......@@ -147,6 +152,8 @@ export default {
* @return {*}
*/
handleCurrentChange (val, old) {
// 发送请求
this.loading = Loading.service({ fullscreen: true, text: '正在加载...' });
let self = this
if (val == null) return;
// 改变数据为点击状态
......@@ -174,6 +181,11 @@ export default {
self.changeStyle(0, self.enumerate[0])
})
this.isActive = "";
clearTimeout(self.timer)
self.timer = setTimeout(() => {
self.loading && self.loading.close();
self.loading = null
}, 1200);
},
/**
* @description: 获取列表数据
......@@ -181,6 +193,8 @@ export default {
* @return {*}
*/
getDetailData () {
// 发送请求
this.loading = Loading.service({ fullscreen: true, text: '正在加载...' });
let self = this
if (this.type == 'father') {
this.$axios
......@@ -211,6 +225,10 @@ export default {
})
});
}
self.timer = setTimeout(() => {
self.loading && self.loading.close();
self.loading = null
}, 1200);
},
// 获取选择的任务详情
getFirgerPrintDetail (row) {
......@@ -241,11 +259,17 @@ export default {
sessionStorage.setItem('srcseqno', imageInfo.seq)
sessionStorage.setItem('zcseq', imageInfo.seq)
this.$bus.emit('changImageEdit', imageInfo.image)
// 发送请求
this.loading = Loading.service({ fullscreen: true, text: '正在加载...' });
this.$axios.post(`/api/query/matchcand/dest/${self.qqid}/${imageInfo.seq}`, { srcbarcode: sessionStorage.getItem('srcbarcode') })
.then(response => {
console.log(response);
self.$bus.emit('initCandidate', response.data.ret)
})
self.timer = setTimeout(() => {
self.loading && self.loading.close();
self.loading = null
}, 1200);
}
},
/**
......
......@@ -19,6 +19,8 @@
</template>
<script>
import axios from 'axios';
import { Loading } from 'element-ui';
export default {
name: "TLCandidate",
data () {
......@@ -28,7 +30,10 @@ export default {
tableData: [],
sourceTableData: [],
checked: true,
total: 0
total: 0,
// 加载动画
loading: null,
timer: null,
};
},
created () {
......@@ -63,19 +68,28 @@ export default {
* @description: 搜索
* @param {*}
* @return {*}
*/
search() {
*/
search () {
let self = this
let dcseq = sessionStorage.getItem('dcseq')
let qqid = sessionStorage.getItem('qqid')
this.$axios.post(`/api/query/matchcand/dest/${qqid}/${dcseq}`, { srcbarcode: sessionStorage.getItem('srcbarcode'), destbarcode: self.input3.trim() })
this.loading = Loading.service({ fullscreen: true, text: '正在加载...' });
this.$axios.post(`/api/query/matchcand/dest/${qqid}/${dcseq}`, { srcbarcode: sessionStorage.getItem('srcbarcode'), destbarcode: self.input3.trim() }, { loading: false })
.then(response => {
console.log(response);
self.tableData = response.data.ret
self.total = self.tableData.total
clearTimeout(self.timer)
self.timer = setTimeout(() => {
self.loading && self.loading.close();
self.loading = null
}, 1200);
})
},
handleCurrentChange (val, old) {
const CancelToken = axios.CancelToken;
const source = CancelToken.source();
let self = this
console.info(val, old);
if (val != null) {
......@@ -88,14 +102,20 @@ export default {
// 存储倒查序号
sessionStorage.setItem("backcheckXh", val.destseqno)
// this.$axios.get(`/api/api/org/plainByBarcode/R1100002487002018050034/1/`)
this.loading = Loading.service({ fullscreen: true, text: '正在加载...' });
this.$axios
.post('/api/org/caseBybarcode/barcode/seq', {
barcode:val.destbarcode,
seqno:val.destseqno,
barcode: val.destbarcode,
seqno: val.destseqno,
qqid: val.qqid
}).then(response => {
}, { loading: false, cancelToken: source.token }).then(response => {
console.log(response);
self.$bus.emit("changImageEditTarget", response.data.ret.image);
clearTimeout(self.timer)
self.timer = setTimeout(() => {
self.loading && self.loading.close();
self.loading = null
}, 1200);
});
// this.$axios
// .get(`/api/org/plainByBarcode/${val.destbarcode}/${val.destid}`)
......
......@@ -254,6 +254,8 @@
</template>
<script>
import axios from 'axios';
import { Loading } from 'element-ui';
import 'nprogress/nprogress.css'
import NProgress from 'nprogress';
import "@/icons/loading.svg";
......@@ -327,7 +329,10 @@ export default {
// 指纹图片加载
fingerLoading: true,
// 平面的tab栏是否可以点击
painFlag: true
painFlag: true,
// 加载动画
loading: null,
timer: null,
};
},
mounted () {
......@@ -376,7 +381,7 @@ export default {
* @return {*}
*/
switchPain () {
if(!this.painFlag) return;
if (!this.painFlag) return;
this.fingerShowType = 'pain'
},
/**
......@@ -434,6 +439,8 @@ export default {
barcode: barcode,
qqid: self.qqid,
querytype: '1'
}, {
loading: false
})
console.log(fingerPain);
if (fingerPain.data.ret && fingerPain.data.ret.length > 0) {
......@@ -492,6 +499,8 @@ export default {
barcode: barcode,
qqid: self.qqid,
querytype: '1'
}, {
loading: false
})
console.log(fingerRoll);
if (fingerRoll.data.ret && fingerRoll.data.ret.length > 0) {
......@@ -572,12 +581,15 @@ export default {
// 获取列表数据
async getDetailData () {
// 发送请求
this.loading = Loading.service({ fullscreen: true, text: '正在加载...' });
NProgress.start();
console.info(this.dataList);
let self = this
if (self.type == 'father') {
await this.$axios
.post("/api/queryque/standardAll", { contrastCustomSearchReq: { qid: Number(self.qid) } })
.post("/api/queryque/standardAll", { contrastCustomSearchReq: { qid: Number(self.qid) } }, {
loading: false
})
.then(response => {
console.log(response);
self.sourceDataList = response.data.ret
......@@ -591,7 +603,9 @@ export default {
});
} else {
await this.$axios
.post("/api/queryque/standardAll", { contrastCustomSearchReq: { qqid: Number(self.qqid) } })
.post("/api/queryque/standardAll", { contrastCustomSearchReq: { qqid: Number(self.qqid) } }, {
loading: false
})
.then(response => {
console.log(response);
self.sourceDataList = response.data.ret
......@@ -604,7 +618,6 @@ export default {
})
});
}
NProgress.done();
},
/**
......@@ -648,7 +661,7 @@ export default {
}
})
console.log(self.finger);
return self.finger
},
// 获取选择的任务详情
......@@ -681,6 +694,9 @@ export default {
* @return {*}
*/
changeStyleLeftR (index, imageInfo) {
const CancelToken = axios.CancelToken;
const source = CancelToken.source();
console.log(imageInfo);
let self = this
// 如果图片存在
......@@ -697,12 +713,40 @@ export default {
this.$bus.emit('changImageEdit', imageInfo.image)
}
NProgress.start();
this.$axios.post(`/api/query/matchcand/dest/${self.qqid}/${imageInfo.code}`, { srcbarcode: sessionStorage.getItem('srcbarcode') })
this.loading = Loading.service({ fullscreen: true, text: '正在加载...' });
this.$axios({
method: 'post',
url: `/api/query/matchcand/dest/${self.qqid}/${imageInfo.code}`,
data: {
srcbarcode: sessionStorage.getItem('srcbarcode')
},
cancelToken: source.token,
loading: false,
})
// this.$axios.post(`/api/query/matchcand/dest/${self.qqid}/${imageInfo.code}`, { srcbarcode: sessionStorage.getItem('srcbarcode') }, {
// loading: false,
// cancelToken: new this.$axios.CancelToken(function executor (c) {
// self.source = c;
// })
// })
.then(response => {
console.log(response);
self.$bus.emit('initTLCandidate', response.data.ret)
}).catch(error => {
if (this.$axios.isCancel(err)) {
console.log('Rquest canceled', err.message); //请求如果被取消,这里是返回取消的message
} else {
//handle error
console.log(err);
}
})
NProgress.done();
clearTimeout(self.timer)
self.timer = setTimeout(() => {
self.loading && self.loading.close();
self.loading = null
}, 1200);
}
},
/**
......@@ -712,6 +756,8 @@ export default {
* @return {*}
*/
changeStyleRightR (index, imageInfo) {
const CancelToken = axios.CancelToken;
const source = CancelToken.source();
console.log(imageInfo);
let self = this
if (imageInfo.image) {
......@@ -726,12 +772,28 @@ export default {
this.$bus.emit('changImageEdit', imageInfo.image)
}
NProgress.start();
this.$axios.post(`/api/query/matchcand/dest/${self.qqid}/${imageInfo.code}`, { srcbarcode: sessionStorage.getItem('srcbarcode') })
this.loading = Loading.service({ fullscreen: true, text: '正在加载...' });
this.$axios.post(`/api/query/matchcand/dest/${self.qqid}/${imageInfo.code}`, { srcbarcode: sessionStorage.getItem('srcbarcode') }, {
loading: false,
cancelToken: source.token,
})
.then(response => {
console.log(response);
self.$bus.emit('initTLCandidate', response.data.ret)
}).catch(err => {
if (this.$axios.isCancel(err)) {
console.log('Rquest canceled', err.message); //请求如果被取消,这里是返回取消的message
} else {
//handle error
console.log(err);
}
})
NProgress.done();
clearTimeout(self.timer)
self.timer = setTimeout(() => {
self.loading && self.loading.close();
self.loading = null
}, 1200);
}
},
/**
......@@ -741,6 +803,8 @@ export default {
* @return {*}
*/
changeStyleLeftL (index, imageInfo) {
const CancelToken = axios.CancelToken;
const source = CancelToken.source();
console.log(imageInfo);
let self = this
if (imageInfo.image) {
......@@ -755,12 +819,28 @@ export default {
this.$bus.emit('changImageEdit', imageInfo.image)
}
NProgress.start();
this.$axios.post(`/api/query/matchcand/dest/${self.qqid}/${imageInfo.code}`, { srcbarcode: sessionStorage.getItem('srcbarcode') })
this.loading = Loading.service({ fullscreen: true, text: '正在加载...' });
this.$axios.post(`/api/query/matchcand/dest/${self.qqid}/${imageInfo.code}`, { srcbarcode: sessionStorage.getItem('srcbarcode') }, {
loading: false,
cancelToken: source.token,
})
.then(response => {
console.log(response);
self.$bus.emit('initTLCandidate', response.data.ret)
}).catch(err => {
if (this.$axios.isCancel(err)) {
console.log('Rquest canceled', err.message); //请求如果被取消,这里是返回取消的message
} else {
//handle error
console.log(err);
}
})
NProgress.done();
clearTimeout(self.timer)
self.timer = setTimeout(() => {
self.loading && self.loading.close();
self.loading = null
}, 1200);
}
},
/**
......@@ -770,6 +850,8 @@ export default {
* @return {*}
*/
changeStyleRightL (index, imageInfo) {
const CancelToken = axios.CancelToken;
const source = CancelToken.source();
console.log(imageInfo);
let self = this
if (imageInfo.image) {
......@@ -784,14 +866,38 @@ export default {
this.$bus.emit('changImageEdit', imageInfo.image)
}
NProgress.start();
this.$axios.post(`/api/query/matchcand/dest/${self.qqid}/${imageInfo.code}`, { "srcbarcode": sessionStorage.getItem('srcbarcode') })
this.loading = Loading.service({ fullscreen: true, text: '正在加载...' });
this.$axios.post(`/api/query/matchcand/dest/${self.qqid}/${imageInfo.code}`, { "srcbarcode": sessionStorage.getItem('srcbarcode') }, {
loading: false,
cancelToken: source.token,
})
.then(response => {
console.log(response);
self.$bus.emit('initTLCandidate', response.data.ret)
}).catch(err => {
if (this.$axios.isCancel(err)) {
console.log('Rquest canceled', err.message); //请求如果被取消,这里是返回取消的message
} else {
//handle error
console.log(err);
}
})
NProgress.done();
clearTimeout(self.timer)
self.timer = setTimeout(() => {
self.loading && self.loading.close();
self.loading = null
}, 1200);
}
}
},
/**
* 取消删一次请求
*/
cancelQuest () {
if (typeof this.source === 'function') {
this.source('终止请求'); //取消请求
}
},
},
watch: {
/**
......
/*
* @Author: your name
* @Date: 2021-09-07 09:57:48
* @LastEditTime: 2021-11-15 09:33:17
* @LastEditTime: 2021-11-15 19:18:29
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \指纹系统\founder_vue\vue.config.js
......@@ -92,12 +92,12 @@ module.exports = {
// target: "http://192.168.0.137:8080/", //统一的请求头部每次修改都要重启才会生效 http://39.99.224.27:8006/
// target: "http://172.18.108.2:8099/", // 张 认定
// target: "http://192.168.128.110:8099", // 湖南-张
target: "http://192.168.128.114:8099", // 湖南-马
// target: "http://192.168.128.114:8099", // 湖南-马
// target: "http://192.168.128.116:8099", // 湖南-王
// target: "http://172.18.116.73:8099/", //统一的请求头部每次修改都要重启才会生效 http://39.99.224.27:8006/ ma
// target: "http://127.0.0.1:8099",
// target: "http://47.92.225.109:5602",
// target: "http://www.meetfood.cn:2390/", // 湖南-线上
target: "http://www.meetfood.cn:2390/", // 湖南-线上
ws: true,
changeOrigin: true,
......
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