Commit 7c0217bb by 李萌萌

Merge branch 'dev_zwpt' of http://47.92.108.28/changchao/founder_vue into dev_zwpt

parents c9310b65 1016c8f3
<!--
* @Author: your name
* @Date: 2021-09-09 09:28:46
* @LastEditTime: 2021-12-17 12:05:17
* @LastEditTime: 2021-12-21 15:02:18
* @Description: In User Settings Edit
* @FilePath: \指纹系统\founder_vue\src\views\cxyrd\LTz.vue
-->
......@@ -709,7 +709,6 @@ export default {
mounted () {
let self = this;
var supportingFileAPI = !!(window.File && window.FileList && window.FileReader);
var rImageType = /data:(image\/.+);base64,/;
var activeObjectId;
// Buttons
......@@ -876,27 +875,6 @@ export default {
return "rgba(" + r + "," + g + "," + b + "," + a + ")";
}
function base64ToBlob (data) {
var mimeString = "";
var raw, uInt8Array, i, rawLength;
raw = data.replace(rImageType, function (header, imageType) {
mimeString = imageType;
return "";
});
raw = atob(raw);
rawLength = raw.length;
uInt8Array = new Uint8Array(rawLength); // eslint-disable-line
for (i = 0; i < rawLength; i += 1) {
uInt8Array[i] = raw.charCodeAt(i);
}
return new Blob([uInt8Array], { type: mimeString });
}
function applyOrRemoveFilter (applying, type, options) {
if (applying) {
imageEditor.applyFilter(type, options).then(function (result) {
......@@ -1497,44 +1475,20 @@ export default {
// 下载
$btnDownload.on("click", function (e) {
e.stopPropagation()
var imageName = "源数据指纹";
var dataURL = $("#sourceImage").attr("src");
//console.log(dataURL);
var blob, type, w;
if (supportingFileAPI) {
blob = base64ToBlob(dataURL);
type = blob.type.split("/")[1];
if (imageName.split(".").pop() !== type) {
imageName += "." + type;
}
// Library: FileSaver - saveAs
saveAs(blob, imageName); // eslint-disable-line
} else {
alert("This browser needs a file-server");
w = window.open();
w.document.body.innerHTML = "<img src=\"" + dataURL + "\">";
}
var imageName = "目标数据指纹";
var dataURL = $("#targetImage").attr("src");
//console.log(dataURL);
var blob, type, w;
if (supportingFileAPI) {
blob = base64ToBlob(dataURL);
type = blob.type.split("/")[1];
if (imageName.split(".").pop() !== type) {
imageName += "." + type;
}
// Library: FileSaver - saveAs
saveAs(blob, imageName); // eslint-disable-line
} else {
alert("This browser needs a file-server");
w = window.open();
w.document.body.innerHTML = "<img src=\"" + dataURL + "\">";
if (self.$route.name == 'LT' || self.$route.name == 'fhxxLT') {
// 正查 -- 左案件 -- 右人员
self.downLoadSource()
// 人员图片下载
// TODO
self.getRyPic(sessionStorage.getItem('destseqno'), sessionStorage.getItem('destbarcode'))
} else if (self.$route.name == 'TL' || self.$route.name == 'fhxxTL') {
// 倒查 -- 左人员 -- 右案件
self.getRyPic(sessionStorage.getItem('srcseqno'), sessionStorage.getItem('srcbarcode'))
self.downLoadTarget()
} else if (self.$route.name == 'LL' || self.$route.name == 'fhxxLL') {
// 串查 -- 左案件 -- 右案件
self.downLoadSource()
self.downLoadTarget()
}
});
......@@ -1918,6 +1872,7 @@ export default {
*/
this.$bus.on("changImageEdit", (sourceImage) => {
self.sourceImage = sourceImage;
self.targetIsDelete = false
self.targetDelTime = ''
if (sourceImage == 'xxx') {
......@@ -1939,6 +1894,7 @@ export default {
});
});
this.$bus.on("changImageEditTarget", (targetImage) => {
self.targetImage = targetImage;
self.targetIsDelete = false
self.targetDelTime = ''
if (targetImage == 'xxx') {
......@@ -1988,6 +1944,8 @@ export default {
this.$bus.on('deleteMessage', (obj) => {
if (obj.delTime != null) {
self.targetImage = "xxx";
self.sourceImage = "xxx";
self.zwtp_target = false
self.zwtp_source = false
self.isDelete = true
......@@ -2016,6 +1974,7 @@ export default {
this.$bus.on('targetDeleteMessage', (obj) => {
if (obj.delTime != null) {
self.targetImage = "xxx";
self.zwtp_target = false
self.zwtp_source = false
self.targetIsDelete = true
......@@ -2048,10 +2007,127 @@ export default {
} else {
this.isFHxx = false
}
},
methods: {
/**
* @description: 下载源图片
* @param {*}
* @return {*}
*/
downLoadSource () {
var supportingFileAPI = !!(window.File && window.FileList && window.FileReader);
var imageName = "源数据指纹";
var dataURL = $("#sourceImage").attr("src");
var blob, type, w;
if (supportingFileAPI) {
blob = this.base64ToBlob(dataURL);
type = blob.type.split("/")[1];
imageName += ".bmp"
// Library: FileSaver - saveAs
saveAs(blob, imageName); // eslint-disable-line
} else {
alert("This browser needs a file-server");
w = window.open();
w.document.body.innerHTML = "<img src=\"" + dataURL + "\">";
}
},
/**
* @description: 下载目标图片
* @param {*}
* @return {*}
*/
downLoadTarget () {
var supportingFileAPI = !!(window.File && window.FileList && window.FileReader);
var imageName = "目标数据指纹";
var dataURL = $("#targetImage").attr("src");
var blob, type, w;
if (supportingFileAPI) {
blob = this.base64ToBlob(dataURL);
type = blob.type.split("/")[1];
imageName += ".bmp"
// Library: FileSaver - saveAs
saveAs(blob, imageName); // eslint-disable-line
} else {
alert("This browser needs a file-server");
w = window.open();
w.document.body.innerHTML = "<img src=\"" + dataURL + "\">";
}
},
/**
* @description: 转base64字符
* @param {*} data
* @return {*}
*/
base64ToBlob (data) {
var mimeString = "";
var raw, uInt8Array, i, rawLength;
var rImageType = /data:(image\/.+);base64,/;
raw = data.replace(rImageType, function (header, imageType) {
mimeString = imageType;
return "";
});
raw = atob(raw);
rawLength = raw.length;
uInt8Array = new Uint8Array(rawLength); // eslint-disable-line
for (i = 0; i < rawLength; i += 1) {
uInt8Array[i] = raw.charCodeAt(i);
}
return new Blob([uInt8Array], { type: mimeString });
},
/**
* @description: 接口下载人员原图
* @param {*} seq
* @param {*} barcode
* @return {*}
*/
getRyPic (seq, barcode) {
let self = this
let type = 0
if (seq >= 1 && seq <= 10) {
type = 0
} else if (seq >= 11 && seq <= 20) {
type = 1
} else {
type = 2
}
self.$axios({
method: 'post',
url: '/api/export/trait/person/roll/image/download',
params: {
barcode: barcode,
seq: seq,
type: type
}
}).then(res => {
if (res.data.code === 0) {
let bstr = atob(res.data.ret), //解析 base-64 编码的字符串
n = bstr.length,
u8arr = new Uint8Array(n); //创建初始化为0的,包含length个元素的无符号整型数组
while (n--) {
u8arr[n] = bstr.charCodeAt(n); //返回字符串第一个字符的 Unicode 编码
}
let blob = new Blob([u8arr]); //转化成blob
let url = URL.createObjectURL(blob);//这个新的URL 对象表示指定的 File 对象或 Blob 对象
let a = document.createElement('a') //创建一个a标签
a.href = url;
if (type === 2) {
a.download = '掌纹图片.bmp'
} else {
a.download = '指纹图片.bmp';
}
a.click();
URL.revokeObjectURL(a.href); //释放之前创建的url对象
} else {
self.$message.error('下载图片失败!')
}
})
},
/**
* 对特征点图层进行更新
*/
changeTzdDrawing (isPingyi, isNotRefreshSourcePrivew) {
......@@ -3943,7 +4019,7 @@ export default {
$(".lt_cnadidate_search").css("opacity", "0");
$(".el-checkbox").css("opacity", "0");
html2canvas(
document.querySelector(".lt"),
document.querySelector(".lt_main"),
{
backgroundColor: null, //画出来的图片有白色的边框,不要可设置背景为透明色(null)
useCORS: true,//支持图片跨域
......@@ -3982,7 +4058,7 @@ export default {
$(".tl-search").css("opacity", "0");
$(".lt_main_footer").css("opacity", "0");
html2canvas(
document.querySelector(".tl"),
document.querySelector(".main"),
{
backgroundColor: null, //画出来的图片有白色的边框,不要可设置背景为透明色(null)
useCORS: true,//支持图片跨域
......@@ -4012,6 +4088,69 @@ export default {
$(".tl-search").css("opacity", "1");
$(".lt_main_footer").css("opacity", "1");
});
} else if (this.$route.name == 'LL') {
$(".lt_header").css('opacity', '0')
$(".lt_main_header").css('opacity', '0')
$(".lt_main_footer").css('opacity', '0')
$(".header").css('opacity', '0')
$(".lt_cnadidate_search").css('opacity', '0')
$(".el-checkbox").css('opacity', '0')
html2canvas(
document.querySelector(".lt_main"),
{
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");
setTimeout(() => {
self.isCropper = false;
self.cropperImage = null;
}, 3000);
// 使用a标签进行下载
let a = document.createElement("a");
a.href = canvas.toDataURL("image/jpeg");
a.download = "screenshot";
a.click();
// 恢复界面
$(".lt_header").css('opacity', '1')
$(".lt_main_header").css('opacity', '1')
$(".lt_main_footer").css('opacity', '1')
$(".header").css('opacity', '1')
$(".lt_cnadidate_search").css('opacity', '1')
$(".el-checkbox").css('opacity', '1')
});
} else if (this.$route.name == 'fhxxLT' || this.$route.name == 'fhxxTL' || this.$route.name == 'fhxxLL') {
html2canvas(
document.querySelector(".fhxxLT"),
{
backgroundColor: '#fff', //画出来的图片有白色的边框,不要可设置背景为透明色(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");
setTimeout(() => {
self.isCropper = false;
self.cropperImage = null;
}, 3000);
// 使用a标签进行下载
let a = document.createElement("a");
a.href = canvas.toDataURL("image/jpeg");
a.download = "screenshot";
a.click();
});
}
},
/**
......
......@@ -18,6 +18,7 @@ import rydaxx from "./modules/rydaxx";
import ajdaxx from "./modules/ajdaxx";
import loading from "./modules/loading";
import ryzwbj from "./modules/ryzwbj";
import ljk from "./modules/ljk";
Vue.use(Vuex);
......@@ -30,7 +31,8 @@ const store = new Vuex.Store({
rydaxx,
ajdaxx,
loading,
ryzwbj
ryzwbj,
ljk
},
getters,
plugins: [
......
import { _axios } from "@/plugins/axios";
const state = {
targetOptions_ry: [],
targetOptions_aj: []
};
const mutations = {
ljkRy (state, res) {
state.targetOptions_ry = res
},
ljkAj (state, res) {
state.targetOptions_aj = res
}
};
const actions = {
_ljkRy (context, options) {// 获取人员逻辑库
_axios.get('/api/code/personLogic').then(res => {
if (res.data.code == 0 && res.data.message == "success") {
context.commit('ljkRy', res.data.ret);
}
})
},
_ljkAj (context, options) {// 获取案件逻辑库
_axios.get('/api/code/caseLogic').then(res => {
if (res.data.code == 0 && res.data.message == "success") {
context.commit('ljkAj', res.data.ret);
}
})
},
}
export default {
namespaced: true,
state,
mutations,
actions
};
......@@ -165,21 +165,29 @@
label="目标逻辑库:"
class="mbljk"
>
<!-- <el-checkbox
:indeterminate="isIndeterminate_mbljk"
v-model="checkAll_mbljk"
@change="handleCheckAllChange_ry"
>全选</el-checkbox> -->
<el-checkbox-group
v-model="checkedTargets"
@change="handleCheckedTargetsChange_ry"
v-show="ruleForm.cxlx.querytype==0"
v-model="dataRy"
@change="handledataChangeRy"
>
<el-checkbox
v-for="(target,key) in targets_ry"
:label="target"
v-for="(value,key) in targets_ry"
:key="key"
>{{target}}</el-checkbox>
:label="value.code"
>{{ value.name }}</el-checkbox>
</el-checkbox-group>
<el-checkbox-group
v-show="ruleForm.cxlx.querytype==1"
v-model="dataAj"
@change="handledataChangeAj"
>
<el-checkbox
v-for="(value,key) in targets_aj"
:key="key"
:label="value.code"
>{{ value.name }}</el-checkbox>
</el-checkbox-group>
</el-form-item>
<div class="tmd">
<div class="tmdLeft">
......@@ -195,7 +203,6 @@
class="el-icon-circle-plus-outline"
@click="addDxcx"
></i>
<!-- <el-button @click="addDomain">新增</el-button> -->
</el-form-item>
<div class='h10px'></div>
<el-form-item
......@@ -360,6 +367,16 @@
<el-radio label="1000"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
v-show="ruleForm.cxlx.querytype==2"
label="数据类型:"
prop="srcDataTypeAj"
>
<el-checkbox-group v-model="ruleForm.srcDataTypeAj">
<el-checkbox label="7">指纹</el-checkbox>
<el-checkbox label="8">掌纹</el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-form>
<!-- 折叠面板 -->
......@@ -378,20 +395,27 @@
label="目标逻辑库:"
class="mbljk"
>
<!-- <el-checkbox
:indeterminate="isIndeterminate_mbljk"
v-model="checkAll_mbljk"
@change="handleCheckAllChange_aj"
>全选</el-checkbox> -->
<el-checkbox-group
v-model="checkedTargets"
@change="handleCheckedTargetsChange_aj"
v-show="ruleForm.cxlx.querytype==2"
v-model="dataRy"
@change="handledataChangeRy"
>
<el-checkbox
v-for="(target,key) in targets_aj"
:label="target"
:key="key+1"
>{{target}}</el-checkbox>
v-for="(value,key) in targets_ry"
:key="key"
:label="value.code"
>{{ value.name }}</el-checkbox>
</el-checkbox-group>
<el-checkbox-group
v-show="ruleForm.cxlx.querytype==3"
v-model="dataAj"
@change="handledataChangeAj"
>
<el-checkbox
v-for="(value,key) in targets_aj"
:key="key"
:label="value.code"
>{{ value.name }}</el-checkbox>
</el-checkbox-group>
</el-form-item>
<div class="tmd">
......@@ -484,10 +508,7 @@
</template>
<script>
const targetOptions_ry = ['基本人员库', '高危人员库', '非法人员库', '在逃人员库', '布控人员库', '前科人员库', '协查人员库'];
const targetOptions_aj = ['本地案件库', '比中案件库', '已破案件库', '重大案件库', 'B类案件库', 'C类案件库', '勘查案件库', '协查案件库'];
let cityOptions = [];
export default {
name: "fcx",
props: {
......@@ -504,19 +525,20 @@ export default {
},
data () {
return {
targets_ry: this.$store.state.ljk.targetOptions_ry, // 目标逻辑库(人员) vuex
targets_aj: this.$store.state.ljk.targetOptions_aj, // 目标逻辑库(案件) vuex
dataRy: ['1'], // 人员 目标逻辑库 选中
dataAj: ['1'], // 案件 目标逻辑库 选中
radio: 'true',
byzsArr: '', // 本月总数(5个等级数组)
byzs: null,// 该类型下本月总数
sytsArr: null,// 剩余条数
syts: null, //该类型下剩余条数
bcxh: null, //本次消耗
checkAll_mbljk: false, // 目标逻辑库全选
checkedTargets: [], // 选定目标逻辑库
targets_ry: targetOptions_ry, // 目标逻辑库(人员)
targets_aj: targetOptions_aj, // 目标逻辑库(案件)
isIndeterminate_mbljk: false, // 目标逻辑库全选
checkAll: false,
checkedCities: [],
checkAll: false, // 案件指位
checkedCities: [], // 案件指位选择
cities: cityOptions,
isIndeterminate: false,
labelPosition: 'left', // 标签对齐方式
......@@ -529,9 +551,6 @@ export default {
// {
// value: ''
// },
// {
// value: ''
// }
],
barcodeFilter: ''
},
......@@ -540,9 +559,6 @@ export default {
// {
// value: ''
// },
// {
// value: ''
// }
],
barcodeFilter: ''
},
......@@ -551,9 +567,10 @@ export default {
cxtype: [],
querytype: '', // 查询类型
},
srcDataType: [],// 源数据类型
srcDataType: [],// 源数据类型人员
queryClass: '5', // 优先级
matchCount: '10',// 候选个数
srcDataTypeAj: ['7'],//源数据类型案件
},
rules: {
cxlx: [
......@@ -562,6 +579,9 @@ export default {
srcDataType: [
{ type: 'array', required: true, message: '请选择数据类型', trigger: 'change' }
],
srcDataTypeAj: [
{ type: 'array', required: true, message: '请选择数据类型', trigger: 'change' }
],
queryClass: [
{ required: true, message: '请选择优先级', trigger: 'change' }
],
......@@ -573,10 +593,6 @@ export default {
},
mounted () {
this.dialogVisible = this.isShowFcx;
// this.type == 'ry' ? this.title = '人员发查询' : this.title = '案件发查询'
// this.type == 'ry' ? this.ruleForm.cxlx.querytype = '1' : this.ruleForm.cxlx.querytype = '2'
},
created () {
},
watch: {
isShowFcx (newVal, oldVal) {
......@@ -588,7 +604,6 @@ export default {
this.searchsytsArr()
this.bcxh = this.rowData.length;
if (this.type == 'aj') {
//console.log('案件数据开始获取')
this.getHpseqno()
this.fingerscountArr()
}
......@@ -598,6 +613,8 @@ export default {
this.$emit('closeFcx', this.dialogVisible);
},
'ruleForm.cxlx.querytype' (val) {
this.ruleForm.srcDataType = [] // 查询类型切换清空数据类型
this.ruleForm.srcDataTypeAj = ['7'] //源数据类型案件
if (val == 0) {
this.radio = false;
} else {
......@@ -756,25 +773,13 @@ export default {
this.pccx.domains.splice(index, 1)
}
},
// 目标逻辑库全选(人员)
handleCheckAllChange_ry (val) {
this.checkedTargets = val ? targetOptions_ry : [];
this.isIndeterminate_mbljk = false;
// 目标逻辑库(人员)
handledataChangeRy (value) {
console.log(value)
},
handleCheckedTargetsChange_ry (value, key) {
let checkedCount = value.length;
this.checkAll_mbljk = checkedCount === this.targets_ry.length;
this.isIndeterminate_mbljk = checkedCount > 0 && checkedCount < this.targets_ry.length;
},
// 目标逻辑库全选(案件)
handleCheckAllChange_aj (val) {
this.checkedTargets = val ? targetOptions_aj : [];
this.isIndeterminate_mbljk = false;
},
handleCheckedTargetsChange_aj (value) {
let checkedCount = value.length;
this.checkAll_mbljk = checkedCount === this.targets_aj.length;
this.isIndeterminate_mbljk = checkedCount > 0 && checkedCount < this.targets_aj.length;
// 目标逻辑库(案件)
handledataChangeAj (value) {
console.log(value)
},
// 指位单选
handleCheckAllChange (val) {
......@@ -811,6 +816,10 @@ export default {
if (valid) {
// alert('submit!');
// //console.log(this.ruleForm.srcDataType)
// console.log(this.$store.state.ljk.targetOptions_aj, 'this.$store.state')
console.log(this.targets_ry, 'targets_ry')
console.log(this.targets_aj, 'targets_aj')
this.search()
} else {
return false;
......@@ -838,55 +847,44 @@ export default {
reqUrl = '/api/query'
let queryRequest = {
userid: '1234',
//
// querytype: '', // 查询类型
//
queryClass: '', // 优先级
matchCount: '', // 候选个数
srcDataType: [],// 源数据类型1,2,3,7
// queryRequest: [{ id: '5' }],// 本地资源库 远程资源库
// destPsnDataType: [],// 目标数据类型1,2,3,7 destPsnDataType
srcDataType: [],// 源数据类型1,2,3,7
srcQueryDataList: [], // 源数据数组
targetSourceId: [5], // 目标资源库
targetPsnLogic: [], // 目标逻辑库
repeat: 1, // 1、已比中时不重复比对,0、已比中时重复比对
directionalBarcode: [], // 定向查询
excludeBarcode: [] // 排除查询
// destPsnDataType: [],// 目标数据类型1,2,3,7
}
// 根据发查询类型 选择源数据类型和目标数据类型
if (this.ruleForm.cxlx.querytype) {
if (this.ruleForm.cxlx.querytype == '1') {
// let arr = this.ruleForm.srcDataType
// for (let i = 0; i < arr.length; i++) {
// if (arr[i] == 1 || arr[i] == 2) {
// }
// }
queryRequest['destCaseDataType'] = [7]
let arr = this.ruleForm.srcDataType
if (arr.includes('1') && arr.includes('2') && arr.includes('3')) {
queryRequest['destCaseDataType'] = [7, 8]
} else if (arr.includes('1') && arr.includes('2')) {
queryRequest['destCaseDataType'] = [7]
} else if (arr.includes('1') && arr.includes('3')) {
queryRequest['destCaseDataType'] = [7, 8]
} else if (arr.includes('2') && arr.includes('3')) {
queryRequest['destCaseDataType'] = [7, 8]
}
} else if (this.ruleForm.cxlx.querytype == '0') {
// let arr = [];
// arr.push(Number(this.ruleForm.destPsnDataType))
queryRequest['destPsnDataType'] = this.ruleForm.destPsnDataType
queryRequest['destPsnDataType'] = this.ruleForm.srcDataType
}
}
queryRequest.srcDataType = this.ruleForm.srcDataType // 源数据类型
// queryRequest.querytype = this.ruleForm.cxlx.querytype
queryRequest.matchCount = this.ruleForm.matchCount
// queryRequest.destPsnDataType.push(Number(this.ruleForm.destPsnDataType))
queryRequest.queryClass = this.ruleForm.queryClass
// const targetOptions_ry = ['基本人员库', '高危人员库', '非法人员库', '在逃人员库', '布控人员库', '前科人员库', '协查人员库'];
let arr = []
for (let i = 0; i < this.checkedTargets.length; i++) {
if (this.checkedTargets[i] == '基本人员库') arr.push(1)
else if (this.checkedTargets[i] == '高危人员库') arr.push(2)
else if (this.checkedTargets[i] == '非法人员库') arr.push(3)
else if (this.checkedTargets[i] == '在逃人员库') arr.push(4)
else if (this.checkedTargets[i] == '布控人员库') arr.push(5)
else if (this.checkedTargets[i] == '前科人员库') arr.push(6)
else if (this.checkedTargets[i] == '协查人员库') arr.push(7)
// 根据发查询类型 目标逻辑库
if (this.ruleForm.cxlx.querytype == '1') { // 案件目标逻辑库
queryRequest['targetCaseLogic'] = this.dataAj.map(Number)
} else if (this.ruleForm.cxlx.querytype == '0') { // 人员目标逻辑库
queryRequest['targetPsnLogic'] = this.dataRy.map(Number)
}
queryRequest.targetPsnLogic = arr
// 定向查询
queryRequest.directionalBarcode.push(this.dxcx.barcodeFilter)
if (this.dxcx.domains.length > 0) {
......@@ -915,43 +913,39 @@ export default {
reqUrl = '/api/query'
let queryRequest = {
userid: '1234', // 用户ID
// querytype: '', // 查询类型
queryClass: '', // 优先级
matchCount: '', // 候选个数
srcDataType: [7],// 源数据类型1,2,3,7
// queryRequest: [{ id: '5' }],// 本地资源库 远程资源库
// destPsnDataType: [1],// 目标类型 destPsnDataType
srcQueryDataList: [],
targetSourceId: [5], // 目标资源库
targetCaseLogic: [], // 目标逻辑库
directionalBarcode: [], // 定向查询
excludeBarcode: [] // 排除查询
excludeBarcode: [],// 排除查询
srcDataType: [],// 源数据类型1,2,3,7
// queryRequest: [{ id: '5' }],// 本地资源库 远程资源库
// destPsnDataType: [1],// 目标类型 destPsnDataType
}
if (this.ruleForm.cxlx.querytype) {
if (this.ruleForm.cxlx.querytype == '2') {
// let arr = [];
// arr.push(Number(this.ruleForm.destPsnDataType))
queryRequest['destPsnDataType'] = [1, 2]
let arr = this.ruleForm.srcDataTypeAj
if (arr.includes('7') && arr.includes('8')) {
queryRequest['destCaseDataType'] = [1, 2, 3]
} else if (arr.includes('7')) {
queryRequest['destCaseDataType'] = [1, 2]
} else if (arr.includes('8') && arr.includes('3')) {
queryRequest['destCaseDataType'] = [3]
}
} else if (this.ruleForm.cxlx.querytype == '3') {
queryRequest['destCaseDataType'] = [7]
}
}
// queryRequest.querytype = this.ruleForm.cxlx.querytype
queryRequest.srcDataType = this.ruleForm.srcDataTypeAj.map(Number)
queryRequest.matchCount = this.ruleForm.matchCount
queryRequest.queryClass = this.ruleForm.queryClass
// const targetOptions_aj = ['本地案件库', '比中案件库', '已破案件库', '重大案件库', 'B类案件库', 'C类案件库', '勘查案件库', '协查案件库'];
let arr = []
for (let i = 0; i < this.checkedTargets.length; i++) {
if (this.checkedTargets[i] == '本地案件库') arr.push(1)
else if (this.checkedTargets[i] == '比中案件库') arr.push(2)
else if (this.checkedTargets[i] == '已破案件库') arr.push(3)
else if (this.checkedTargets[i] == '重大案件库') arr.push(4)
else if (this.checkedTargets[i] == 'B类案件库') arr.push(5)
else if (this.checkedTargets[i] == 'C类案件库') arr.push(6)
else if (this.checkedTargets[i] == '勘查案件库') arr.push(7)
else if (this.checkedTargets[i] == '协查案件库') arr.push(8)
// 根据发查询类型 目标逻辑库
if (this.ruleForm.cxlx.querytype == '2') { // 人员目标逻辑库
queryRequest['targetPsnLogic'] = this.dataRy.map(Number)
} else if (this.ruleForm.cxlx.querytype == '3') { // 案件目标逻辑库
queryRequest['targetCaseLogic'] = this.dataAj.map(Number)
}
queryRequest.targetCaseLogic = arr
// 定向查询
queryRequest.directionalBarcode.push(this.dxcx.barcodeFilter)
if (this.dxcx.domains.length > 0) {
......@@ -979,37 +973,36 @@ export default {
}
this.reqParam = queryRequest
}
console.log('发请求', this.reqParam)
// this.$axios
// .post(reqUrl, this.reqParam)
// .then(response => {
// if (response.data.code === 0) {
// // this.$message({
// // message: '发查询成功',
// // type: 'success'
// // });
// let successBarcode = response.data.ret.successBarcode
// let failInfo = response.data.ret.failInfo
// this.$message({
// dangerouslyUseHTMLString: true,
// message: `发查询成功<div>本次发送成功${successBarcode.length}条,<span style='color:red'>发送失败${failInfo.length}</span></div> `, // <div style='color:red'>${failInfo}</div>
// type: 'success'
// });
// if (successBarcode.length > 0) {
// cityOptions = []
// this.dialogVisible = false;
// this.$store.commit('layout/delcachePageName', 'cxyrd');
// setTimeout(() => {
// this.$router.push('/cxyrd')
// }, 20);
// } else {
//console.log('发请求', this.reqParam)
this.$axios
.post(reqUrl, this.reqParam)
.then(response => {
if (response.data.code === 0) {
// this.$message({
// message: '发查询成功',
// type: 'success'
// });
let successBarcode = response.data.ret.successBarcode
let failInfo = response.data.ret.failInfo
this.$message({
dangerouslyUseHTMLString: true,
message: `发查询成功<div>本次发送成功${successBarcode.length}条,<span style='color:red'>发送失败${failInfo.length}条</span></div> `, // <div style='color:red'>${failInfo}</div>
type: 'success'
});
if (successBarcode.length > 0) {
cityOptions = []
this.dialogVisible = false;
this.$store.commit('layout/delcachePageName', 'cxyrd');
setTimeout(() => {
this.$router.push('/cxyrd')
}, 20);
} else {
}
} else {
this.$message.error(response.data.message);
}
});
// }
// } else {
// this.$message.error(response.data.message);
// }
// });
},
......@@ -1033,7 +1026,7 @@ export default {
searchsytsArr () {
//console.info("发查询条数请求===>", this.reqParam);
this.$axios
.get("/api/querylimit/surplus", { params: { account: 22 } })
.get("/api/querylimit/surplus", { params: { userId: 1234 } })
.then(response => {
if (response.data.code === 0) {
this.sytsArr = response.data.ret
......
......@@ -160,8 +160,8 @@
display: flex;
justify-content: center;
img {
// object-fit: contain;
height: 100%;
object-fit: contain;
// height: 100%;
}
margin-left: 0;
}
......
......@@ -15,6 +15,10 @@ $transOrigin: var(--transOrigin, 0px, 0px);
$canvasHeight: var(--canvasHeight, 670px);
$canvasWidth: var(--canvasWidth, 670px);
// 预览框的宽高
$previewWidth: var(--previewWidth, 100%);
$previewHeight: var(--previewHeight, 100%);
.imageBox {
display: flex;
.imageEd {
......@@ -1080,15 +1084,13 @@ $canvasWidth: var(--canvasWidth, 670px);
height: 144px;
box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.5);
// overflow: hidden;
display: flex;
justify-content: center;
align-items: center;
img {
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
margin: auto;
width: $canvasWidth;
height: $canvasHeight;
object-fit: contain;
width: $previewWidth;
height: $previewHeight;
}
.block_small {
width: 100%;
......
<!--
* @Author: your name
* @Date: 2021-10-22 11:36:10
* @LastEditTime: 2021-12-20 20:14:34
* @LastEditTime: 2021-12-21 10:51:01
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \指纹系统\founder_vue\src\views\Editor\modules\imageEd.vue
......@@ -670,6 +670,11 @@ export default {
})
},
mounted () {
//检测浏览器刷新
window.onbeforeunload = function () {
//清除sessionStorage值
sessionStorage.clear()
}
//console.log(this.$route.name);
let self = this;
var supportingFileAPI = !!(
......@@ -1234,6 +1239,8 @@ export default {
}
self.resetTzdDrawing();
// 初始化缩略图
self.isShowSourcePrivew = false
self.tzdDrawingLeft = 0
self.tzdDrawingTop = 0
self.tzdDrawing_left = 0
......@@ -1261,9 +1268,13 @@ export default {
if (self.newHeight >= self.newWidth) {
document.getElementsByTagName('body')[0].style.setProperty('--canvasHeight', '100%');
document.getElementsByTagName('body')[0].style.setProperty('--canvasWidth', 'auto');
document.getElementsByTagName('body')[0].style.setProperty('--previewHeight', '100%');
document.getElementsByTagName('body')[0].style.setProperty('--previewWidth', 'auto');
} else {
document.getElementsByTagName('body')[0].style.setProperty('--canvasWidth', '100%');
document.getElementsByTagName('body')[0].style.setProperty('--canvasHeight', 'auto');
document.getElementsByTagName('body')[0].style.setProperty('--previewHeight', 'auto');
document.getElementsByTagName('body')[0].style.setProperty('--previewWidth', '100%');
}
// 记录canvas的宽度和高度
self.canvasBox_width = $('.lower-canvas').width()
......@@ -3944,7 +3955,13 @@ export default {
p = "onmousemove";
self.dragableDiv = o
o.onmousedown = function (e) {
if (!self.isEnlarge && !self.mouseEnlarge) {
let flag = false
if (self.isEnlarge || self.mouseEnlarge || self.isHandTZD || self.isHand || self.startHand || self.isHandSpace) {
flag = false
} else {
flag = true
}
if (flag) {
e.stopPropagation()
e = e || event;
x = e.clientX - document.querySelector('#preview-source').offsetLeft;
......@@ -3969,7 +3986,7 @@ export default {
o[p] = null;
}
};
};
}
}
}
dragable_preview('preview-source-drag')
......
......@@ -13,6 +13,10 @@ $directionRotate: var(--directionRotate, 0deg);
$canvasHeight: var(--canvasHeight, 670px);
$canvasWidth: var(--canvasWidth, 670px);
// 预览框的宽高
$previewWidth: var(--previewWidth, 100%);
$previewHeight: var(--previewHeight, 100%);
.imageBox {
display: flex;
......@@ -1229,9 +1233,14 @@ $canvasWidth: var(--canvasWidth, 670px);
}
}
}
.disabled-img {
width: 64px;
height: 32px;
}
.preview-source {
z-index: 99999;
background: #ffffff;
position: absolute;
left: 0;
top: 0;
......@@ -1239,11 +1248,16 @@ $canvasWidth: var(--canvasWidth, 670px);
width: 144px;
height: 144px;
box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.5);
overflow: hidden;
// overflow: hidden;
display: flex;
justify-content: center;
align-items: center;
img {
object-fit: contain;
width: $previewWidth;
height: $previewHeight;
}
.block_small {
width: 100%;
height: 100%;
......@@ -1252,6 +1266,28 @@ $canvasWidth: var(--canvasWidth, 670px);
top: 0;
left: 0;
}
.preview-source-drag {
cursor: grab;
width: 144px;
height: 40px;
position: absolute;
bottom: -40px;
display: flex;
justify-content: center;
align-items: center;
&:active {
cursor: grabbing;
}
img {
width: 20px;
height: 20px;
cursor: grab;
-webkit-user-drag: none;
&:active {
cursor: grabbing;
}
}
}
}
}
}
......@@ -1302,9 +1338,9 @@ $canvasWidth: var(--canvasWidth, 670px);
.shadow-ImageImport {
position: absolute;
height: 100%;
height: calc(100% - 32px);
width: 100%;
top: 0;
bottom: 0;
left: 0;
background: #f6f8fa;
opacity: 0.5;
......@@ -1373,6 +1409,7 @@ $canvasWidth: var(--canvasWidth, 670px);
justify-content: space-between;
.tpdr {
z-index: 100;
cursor: pointer;
width: 91px;
height: 40px;
......@@ -2345,7 +2382,7 @@ $canvasWidth: var(--canvasWidth, 670px);
}
}
}
.options-top {
position: relative;
width: 336px;
......@@ -3553,3 +3590,12 @@ $canvasWidth: var(--canvasWidth, 670px);
border-radius: 4px !important;
}
}
// 灰化图标
.disabled.size.item{
width: 64px !important;
height: 32px !important;
.disabled-img {
width: 64px !important;
height: 32px !important;
}
}
\ No newline at end of file
<!--
* @Author: your name
* @Date: 2021-10-22 11:36:10
* @LastEditTime: 2021-12-21 15:13:46
* @LastEditTime: 2021-12-21 15:28:28
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \指纹系统\founder_vue\src\views\Editor\modules\imageEd.vue
......@@ -12,13 +12,19 @@
<div class="imageEd_header">
<div class="center">
<el-tooltip class="item" effect="dark" content="撤销" :open-delay="500">
<div class="icon back" id="btn-undo" @mousedown="mouseDownBack" @mouseup="mouseUpBack">
<dir v-if="isHideImageExport" class="disabled back">
<img class="disabled-img" src="@/assets/img/zcedit/back_disabled.png" alt="" />
</dir>
<div v-else class="icon back" id="btn-undo" @mousedown="mouseDownBack" @mouseup="mouseUpBack">
<img src="@/assets/img/zcedit/back.png" alt="" v-show="!back_active" />
<img src="@/assets/img/zcedit/back_a.png" alt="" v-show="back_active" />
</div>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="恢复" :open-delay="500">
<div class="icon go" id="btn-redo" @mousedown="mouseDownGo" @mouseup="mouseUpGo">
<dir v-if="isHideImageExport" class="disabled go">
<img class="disabled-img" src="@/assets/img/zcedit/go_disabled.png" alt="" />
</dir>
<div v-else class="icon go" id="btn-redo" @mousedown="mouseDownGo" @mouseup="mouseUpGo">
<img src="@/assets/img/zcedit/go.png" alt="" v-show="!go_active" />
<img src="@/assets/img/zcedit/go_a.png" alt="" v-show="go_active" />
</div>
......@@ -30,13 +36,19 @@
</div>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="放大" :open-delay="500">
<div class="icon enlarge" @click.stop="enlarge">
<dir v-if="isHideImageExport" class="disabled enlarge">
<img class="disabled-img" src="@/assets/img/zcedit/enlarge_disabled.png" alt="" />
</dir>
<div v-else class="icon enlarge" @click.stop="enlarge">
<img v-if="!isEnlarge" src="@/assets/img/zcedit/enlarge.png" alt="" />
<img v-else src="@/assets/img/zcedit/enlarge_a.png" alt="" />
</div>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="原尺寸显示" :open-delay="500" placement="top">
<div class="size_mix">
<dir v-if="isHideImageExport" class="disabled size">
<img class="disabled-img" src="@/assets/img/zcedit/size_disabled.png" alt="" />
</dir>
<div v-else class="size_mix">
<div class="icon_size" @click.stop="sizeChange">
<img class="size" v-if="!isActive" src="@/assets/img/zcedit/size.png" alt="" />
<img class="size" v-else src="@/assets/img/zcedit/size_a.png" alt="" />
......@@ -62,7 +74,10 @@
</div>
</div>
<el-tooltip class="item" effect="dark" content="下载" :open-delay="500">
<div class="icon download" id="btn-download">
<dir v-if="isHideImageExport" class="disabled download">
<img class="disabled-img" src="@/assets/img/zcedit/download_disabled.png" alt="" />
</dir>
<div v-else class="icon download" id="btn-download">
<img src="@/assets/img/zcedit/download.png" alt="" />
</div>
</el-tooltip>
......@@ -78,9 +93,13 @@
</div>
<div class="imageEd_main">
<!-- 预览 -->
<div class="preview-source" v-show="isShowSourcePrivew">
<div class="preview-source" id="preview-source" v-show="isShowSourcePrivew">
<img id="preview-source-img" :src="previewSource" alt="" />
<div id="block_small" class="block_small" v-show="true"></div>
<!-- 缩略图的拖动 -->
<div class="preview-source-drag" id="preview-source-drag">
<img src="@/assets/img/rybj/drag.png" alt="">
</div>
</div>
<!-- 小操作区域 -->
<div class="small-drawing" v-if="isTpdr_flag">
......@@ -163,8 +182,8 @@
<div class="shadow-ImageImport" v-show="!isHideImageExport"></div>
<div class="top-title">
<span>图像导入</span>
<el-switch class="line_switch" v-model="isHideImageExport" active-color="#055FE7">
</el-switch>
<!-- <el-switch class="line_switch" v-model="isHideImageExport" active-color="#055FE7">
</el-switch> -->
<!-- <div class="rule_num">
<el-input size="small" @change="calcChange" v-model.number="rule_num" placeholder="请输入长度"></el-input>mm
</div> -->
......@@ -1038,6 +1057,11 @@ export default {
})
},
mounted () {
//检测浏览器刷新
window.onbeforeunload = function () {
//清除sessionStorage值
sessionStorage.clear()
}
this.startZoomAndTranslation()
let self = this;
// 关闭下拉框
......@@ -1292,20 +1316,24 @@ export default {
e.stopPropagation()
// self.initStatus()
console.log("撤销");
if (!$(this).hasClass("disabled")) {
imageEditor.discardSelection();
imageEditor.undo();
}
imageEditor.discardSelection();
imageEditor.undo();
// if (!$(this).hasClass("disabled")) {
// imageEditor.discardSelection();
// imageEditor.undo();
// }
});
// 恢复
$btnRedo.on("click", function (e) {
e.stopPropagation()
console.log("恢复");
if (!$(this).hasClass("disabled")) {
imageEditor.discardSelection();
imageEditor.redo();
}
imageEditor.discardSelection();
imageEditor.redo();
// if (!$(this).hasClass("disabled")) {
// imageEditor.discardSelection();
// imageEditor.redo();
// }
});
$(".tui-image-editor").mouseup(function (e) {
......@@ -1321,7 +1349,7 @@ export default {
e.stopPropagation()
var imageName = "源数据指纹";
var dataURL = $("#sourceImage").attr("src");
console.log(dataURL);
// console.log(dataURL);
var blob, type, w;
if (supportingFileAPI) {
blob = base64ToBlob(dataURL);
......@@ -1864,12 +1892,16 @@ export default {
// 缩放为1
self.zoomLevel = 1;
imageEditor.resetZoom();
imageEditor.resetFlip()
if (imageEditor._graphics.getCanvasImage().flipX || imageEditor._graphics.getCanvasImage().flipY) {
imageEditor.resetFlip()
}
self.tzdDrawingLeft = 0
self.tzdDrawingTop = 0
self.tzdDrawing_left = 0
self.tzdDrawing_top = 0
self.startPlace = 0
// 初始化缩略图
self.isShowSourcePrivew = false
self.sourceImage = sourceImage;
imageEditor
......@@ -1893,9 +1925,13 @@ export default {
if (self.newHeight >= self.newWidth) {
document.getElementsByTagName('body')[0].style.setProperty('--canvasHeight', '100%');
document.getElementsByTagName('body')[0].style.setProperty('--canvasWidth', 'auto');
document.getElementsByTagName('body')[0].style.setProperty('--previewHeight', '100%');
document.getElementsByTagName('body')[0].style.setProperty('--previewWidth', 'auto');
} else {
document.getElementsByTagName('body')[0].style.setProperty('--canvasWidth', '100%');
document.getElementsByTagName('body')[0].style.setProperty('--canvasHeight', 'auto');
document.getElementsByTagName('body')[0].style.setProperty('--previewHeight', 'auto');
document.getElementsByTagName('body')[0].style.setProperty('--previewWidth', '100%');
}
// 记录canvas的宽度和高度
self.canvasBox_width = $('.lower-canvas').width()
......@@ -2151,6 +2187,8 @@ export default {
file = event.target.files[0];
console.log(file, 222222222);
imageEditor.loadImageFromFile(file).then(function (result) {
// 设置遮罩层
self.isHideImageExport = true
// 清除所有
self.clearALL()
// 导入图片成功,可以保存入库
......@@ -2303,7 +2341,7 @@ export default {
var originPointer = {};
console.log(document.querySelector(".tzdDrawing"));
document.querySelector(".tzdDrawing").addEventListener("mousedown", function (e) {
e.stopPropagation()
// e.stopPropagation()
// 特征点--开启
ins = new MouseGesture({ wise: true });
originPointer = {
......@@ -2432,7 +2470,7 @@ export default {
self.tzdArr.forEach(item => {
if (item.id == self.tzdId) {
item.x = self.canvasBox_width - (x)
item.y = y
item.y = y
}
})
} else if (self.imageEditor._graphics.getCanvasImage().flipY && !self.imageEditor._graphics.getCanvasImage().flipX) {
......@@ -2680,7 +2718,7 @@ export default {
});
var obj = {};
document.querySelector(".tzdDrawing").addEventListener("mousemove", function (e) {
e.stopPropagation()
// e.stopPropagation()
// 开始拖拽
if (self.startHand) {
// 计算点的坐标
......@@ -3039,7 +3077,7 @@ export default {
}
});
document.querySelector(".tzdDrawing").addEventListener("mouseup", function (e) {
e.stopPropagation()
// e.stopPropagation()
let canvasImage = imageEditor._graphics.getCanvasImage();
console.log('移动之后的:', canvasImage);
if (canvasImage) {
......@@ -3294,7 +3332,6 @@ export default {
}
}
return curindex;
}
// irregular
$(".upper-canvas.irregular").mousedown(function (e) {
......@@ -3459,7 +3496,7 @@ export default {
}
rule_line_canvas.onmousedown = function (e) {
e.stopPropagation();
// e.stopPropagation();
if (self.rule || self.rule_bj) {
if (e.buttons === 1) {
loc = windowToCanvas(e.clientX, e.clientY);
......@@ -3488,7 +3525,7 @@ export default {
return false;
});
rule_line_canvas.onmousemove = function (e) {
e.stopPropagation();
// e.stopPropagation();
if (self.rule || self.rule_bj) {
// 鼠标左击
if (e.buttons === 1) {
......@@ -3504,7 +3541,7 @@ export default {
}
};
rule_line_canvas.onmouseup = function (e) {
e.stopPropagation();
// e.stopPropagation();
if (self.rule || self.rule_bj) {
// 鼠标左击
if (e.which === 1) {
......@@ -3682,8 +3719,8 @@ export default {
// console.log(item.xczw_zwtzd_tzxzb);
// console.log(item.xczw_zwtzd_tzyzb);
// console.log(item.xczw_zwtzd_tzfx);
$(`#auto_tzdDom${self.tzdId}`).css("left", (item.xczw_zwtzd_tzxzb-4) / self.zoomLevel + "px");
$(`#auto_tzdDom${self.tzdId}`).css("top", (item.xczw_zwtzd_tzyzb-4) / self.zoomLevel + "px");
$(`#auto_tzdDom${self.tzdId}`).css("left", (item.xczw_zwtzd_tzxzb - 4) / self.zoomLevel + "px");
$(`#auto_tzdDom${self.tzdId}`).css("top", (item.xczw_zwtzd_tzyzb - 4) / self.zoomLevel + "px");
$(`#auto_tzdDom${self.tzdId}`).css("box-sizing", "border-box");
$(`#auto_tzdDom${self.tzdId}`).css("transform", `rotate(${-item.xczw_zwtzd_tzfx}deg)`);
self.tzdId++;
......@@ -3844,8 +3881,8 @@ export default {
$(".auto_tzdDom .direction").css("height", "2px");
$(".auto_tzdDom .direction").css("background-color", "#FFFD0F");
$(`#auto_tzdDom${self.tzdId}`).css("left", (item.xczw_zwtzd_tzxzb-4) / self.zoomLevel + "px");
$(`#auto_tzdDom${self.tzdId}`).css("top", (item.xczw_zwtzd_tzyzb-4) / self.zoomLevel + "px");
$(`#auto_tzdDom${self.tzdId}`).css("left", (item.xczw_zwtzd_tzxzb - 4) / self.zoomLevel + "px");
$(`#auto_tzdDom${self.tzdId}`).css("top", (item.xczw_zwtzd_tzyzb - 4) / self.zoomLevel + "px");
$(`#auto_tzdDom${self.tzdId}`).css("box-sizing", "border-box");
$(`#auto_tzdDom${self.tzdId}`).css("transform", `rotate(${-item.xczw_zwtzd_tzfx}deg)`);
self.tzdId++;
......@@ -3988,11 +4025,11 @@ export default {
$(`#auto_tzdDom${self.tzdId}`).css(
"left",
(item.xczw_zwtzd_tzxzb-4) / self.zoomLevel + "px"
(item.xczw_zwtzd_tzxzb - 4) / self.zoomLevel + "px"
);
$(`#auto_tzdDom${self.tzdId}`).css(
"top",
(item.xczw_zwtzd_tzyzb-4) / self.zoomLevel + "px"
(item.xczw_zwtzd_tzyzb - 4) / self.zoomLevel + "px"
);
$(`#auto_tzdDom${self.tzdId}`).css("box-sizing", "border-box");
$(`#auto_tzdDom${self.tzdId}`).css(
......@@ -4687,6 +4724,9 @@ export default {
self.newHeight = canvasImage.height;
self.newWidth = canvasImage.width;
// 设置遮罩层
self.isHideImageExport = false
// ************* 提交保存入库接口
// 转8位bmp格式图片
......@@ -4926,9 +4966,10 @@ export default {
} else {
self.caclDzwkPos();
const canvasImage = self.imageEditor._graphics.getCanvasImage();
if(canvasImage){
self.move_left = canvasImage.left;
self.move_top = canvasImage.top;}
if (canvasImage) {
self.move_left = canvasImage.left;
self.move_top = canvasImage.top;
}
}
};
o.onmouseup = function (e) {
......@@ -7485,6 +7526,11 @@ export default {
self.changeTzdDrawing()
}, 200);
let preview_source_width = $(".preview-source").width()
let preview_source_height = $(".preview-source").height()
self.block_small_width = $(".block_small").width()
self.block_small_height = $(".block_small").height()
function dragable (id) {
var d = document,
o = d.getElementById(id),
......@@ -7494,12 +7540,14 @@ export default {
p = "onmousemove";
self.dragableDiv = o
o.onmousedown = function (e) {
e.stopPropagation()
e = e || event;
x = e.clientX - o.offsetLeft;
y = e.clientY - o.offsetTop;
self.x = x;
self.y = y;
o[p] = function (e) {
e.stopPropagation()
e = e || event;
s.left = e.clientX - self.x + "px";
s.top = e.clientY - self.y + "px";
......@@ -7564,6 +7612,54 @@ export default {
};
}
dragable("block_small");
let drawing_width = $(".drawing").width()
let drawing_height = $(".drawing").height()
function dragable_preview (id) {
var d = document,
o = d.documentElement,
s = o.style,
x,
y,
p = "onmousemove";
self.dragableDiv = o
o.onmousedown = function (e) {
let flag = false
if (self.isEnlarge || self.mouseEnlarge || self.isHandTZD || self.isZyhzFlag || self.startHand || self.rule || self.rule_bj || self.isHandSpace) {
flag = false
} else {
flag = true
}
if (flag) {
e.stopPropagation()
e = e || event;
x = e.clientX - document.querySelector('#preview-source').offsetLeft;
y = e.clientY - document.querySelector('#preview-source').offsetTop;
self.x = x;
self.y = y;
console.log(e);
o[p] = function (e) {
e.stopPropagation()
e = e || event;
// s.left = e.clientX - self.x + "px";
// s.top = e.clientY - self.y + "px";
if (e.clientX - self.x >= 0 && e.clientX - self.x <= drawing_width - preview_source_width && e.clientY - self.y >= 0 && e.clientY - self.y <= drawing_height - preview_source_height) {
$("#preview-source").css('left', e.clientX - self.x + "px")
$("#preview-source").css('top', e.clientY - self.y + "px")
}
// $("#preview-source").css('left', e.clientX - self.x + "px")
// $("#preview-source").css('top', e.clientY - self.y + "px")
};
o.onmouseup = function (e) {
if (e.which === 1) {
o[p] = null;
}
};
}
}
}
dragable_preview('preview-source-drag')
}
}
},
......@@ -7933,10 +8029,10 @@ export default {
const self = this;
// self.imageEditor.setAngle(0);
this.imageEditor.rotate(-this.imageEditor._graphics.getCanvasImage().angle)
self.imageEditor.resetFlip()
if (self.imageEditor._graphics.getCanvasImage().flipX || self.imageEditor._graphics.getCanvasImage().flipY) {
self.imageEditor.resetFlip()
}
this.zoomImage(1)
},
// 旋转图片
rotateImage (deg, isAdd) {
......@@ -8234,26 +8330,6 @@ export default {
this.$bus.off('ajzwbjType');
this.$bus.off('changImageEdit');
this.$bus.off('zwType');
// this.$bus.off('updateList_hand')
// this.$bus.off('updateList')
// 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, 11) == "auto_tzdDom") {
// sessionArr.push(sessionStorage.getItem(sessionKeys[i]));
// }
// }
// console.log(sessionArr);
// console.log(this.sessionCount);
// if (sessionArr.length == this.sessionCount) {
// return;
// } else {
// this.$store.commit('loading/setJumpRoute', false)
// // this.$message.error("当前页面有未保存的指位!");
// }
},
components: {
fcx,
......
<!--
* @Author: your name
* @Date: 2021-12-01 15:25:22
* @LastEditTime: 2021-12-20 16:41:24
* @LastEditTime: 2021-12-21 14:15:50
* @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \指纹系统\founder_vue\src\views\AllPersonnelBase\bzxxfh.vue
......@@ -243,7 +243,7 @@ export default {
},
mounted () {
// 若果是回显,重新用之前的查询条件
if(this.$route.query.formData) {
if (this.$route.query.formData) {
this.ruleForm = JSON.parse(this.$route.query.formData)
}
this.getData();
......@@ -252,7 +252,7 @@ export default {
/**
* 天数改变--自动查询列表
*/
daysChange() {
daysChange () {
this.getData()
},
/**
......@@ -410,7 +410,7 @@ export default {
// 查重
// this.$bus.emit('formDataTT', this.ruleForm)
let routeUrl = this.$router.resolve({
path: "fhxxTT/"+rowData.id,
path: "fhxxTT/" + rowData.id,
query: {
formData: JSON.stringify(self.ruleForm)
}
......@@ -419,7 +419,7 @@ export default {
} else if (rowData.querytype == '1') {
// 倒查
let routeUrl = this.$router.resolve({
path: "fhxxTL/"+rowData.id,
path: "fhxxTL/" + rowData.id,
query: {
formData: JSON.stringify(self.ruleForm)
}
......@@ -428,7 +428,7 @@ export default {
} else if (rowData.querytype == '2') {
// 正查
let routeUrl = this.$router.resolve({
path: "fhxxLT/"+rowData.id,
path: "fhxxLT/" + rowData.id,
query: {
formData: JSON.stringify(self.ruleForm)
}
......@@ -437,7 +437,7 @@ export default {
} else if (rowData.querytype == '3') {
// 串查
let routeUrl = this.$router.resolve({
path: "fhxxLL/"+rowData.id,
path: "fhxxLL/" + rowData.id,
query: {
formData: JSON.stringify(self.ruleForm)
}
......@@ -451,7 +451,7 @@ export default {
confirmCxfh () {
let self = this
// 撤销复核原因必填
if(this.textarea == '') {
if (this.textarea == '') {
this.$message.error('请输入原因!')
return;
}
......@@ -544,8 +544,16 @@ export default {
// this.$set(this.multipleSelection, [])
if (this.isShowTip) {
document.getElementsByTagName('body')[0].style.setProperty('--tableHeight', '24.625rem');
this.height = 394
let w1 = 1920;
let w2 = window.innerWidth;
this.height = (this.height * w2) / w1;
} else {
document.getElementsByTagName('body')[0].style.setProperty('--tableHeight', '28.125rem');
this.height = 540
let w1 = 1920;
let w2 = window.innerWidth;
this.height = (this.height * w2) / w1;
}
},
/**
......@@ -574,7 +582,7 @@ export default {
}
},
computed: {
roleArr() {
roleArr () {
return this.$store.state.layout.Menu;
},
/**
......
<!--
* @Author: your name
* @Date: 2021-12-03 15:35:26
* @LastEditTime: 2021-12-20 16:43:02
* @LastEditTime: 2021-12-21 14:01:37
* @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \指纹系统\founder_vue\src\views\bzxxgl\fhxxLT.vue
......@@ -572,6 +572,10 @@ export default {
}
this.getLftPic()
this.getPersonPic()
sessionStorage.setItem('srcseqno', this.allData.bzxxXh)
sessionStorage.setItem('srcbarcode', this.allData.ysxtAsjbh)
sessionStorage.setItem('destseqno', this.allData.bzxxZwXh)
sessionStorage.setItem('destbarcode', this.allData.ysxtAsjxgrybh)
}
}).catch(err => {
console.log(err)
......
<!--
* @Author: your name
* @Date: 2021-12-03 15:35:26
* @LastEditTime: 2021-12-20 16:43:20
* @LastEditTime: 2021-12-21 14:01:56
* @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \指纹系统\founder_vue\src\views\bzxxgl\fhxxLT.vue
......@@ -582,6 +582,10 @@ export default {
}
this.getCasePic()
this.getPersonPic()
sessionStorage.setItem('srcseqno', this.allData.bzxxXh)
sessionStorage.setItem('srcbarcode', this.allData.ysxtAsjbh)
sessionStorage.setItem('destseqno', this.allData.bzxxZwXh)
sessionStorage.setItem('destbarcode', this.allData.ysxtAsjxgrybh)
}
}).catch(err => {
console.log(err)
......
......@@ -726,6 +726,7 @@ div {
width: 100%;
display: flex;
flex-direction: row;
background: #fff;
}
.lt_main_left {
width: 352px;
......
......@@ -677,6 +677,7 @@ div {
display: flex;
// flex-direction: row;
justify-content: space-between;
background: #fff;
}
.lt_main_left {
width: 352px;
......
......@@ -638,6 +638,7 @@ div {
width: 100%;
display: flex;
justify-content: space-between;
background: #fff;
.main-left {
width: 352px;
border: none;
......
......@@ -7,9 +7,18 @@
class='drlx'
v-model="drlx"
>
<el-radio :label="3" v-if="roleArr.includes('B-1-1')">人员</el-radio>
<el-radio :label="6" v-if="roleArr.includes('B-1-2')">案件</el-radio>
<el-radio :label="9" v-if="roleArr.includes('B-1-3')">比中关系</el-radio>
<el-radio
:label="3"
v-if="roleArr.includes('B-1-1')"
>人员</el-radio>
<el-radio
:label="6"
v-if="roleArr.includes('B-1-2')"
>案件</el-radio>
<el-radio
:label="9"
v-if="roleArr.includes('B-1-3')"
>比中关系</el-radio>
</el-radio-group>
<div class='choose'>
<div class="wjlx">
......@@ -251,7 +260,7 @@
v-model="checkAll"
@change="handleCheckAllChange"
>全选</el-checkbox> -->
<el-checkbox-group
<!-- <el-checkbox-group
v-model="checkedTargets"
@change="handleCheckedTargetsChange"
>
......@@ -260,7 +269,15 @@
:label="target"
:key="target"
>{{target}}</el-checkbox>
</el-checkbox-group> -->
<el-checkbox-group v-model="checkedTargets">
<el-checkbox
v-for="(value,key) in targets"
:key="key"
:label="value.code"
>{{ value.name }}</el-checkbox>
</el-checkbox-group>
</div>
</div>
</div>
......@@ -420,7 +437,7 @@
v-model="checkAllLeft"
@change="handleCheckAllChangeLeft"
>全选</el-checkbox> -->
<el-checkbox-group
<!-- <el-checkbox-group
v-model="checkedTargetsLeft"
@change="handleCheckedTargetsChangeLeft"
>
......@@ -429,7 +446,7 @@
:label="target"
:key="target"
>{{target}}</el-checkbox>
</el-checkbox-group>
</el-checkbox-group> -->
</div>
<div class="line"></div>
<div class="targetRight">
......@@ -438,7 +455,7 @@
v-model="checkAllRight"
@change="handleCheckAllChangeRight"
>全选</el-checkbox> -->
<el-checkbox-group
<!-- <el-checkbox-group
v-model="checkedTargetsRight"
@change="handleCheckedTargetsChangeRight"
>
......@@ -447,7 +464,7 @@
:label="target"
:key="target"
>{{target}}</el-checkbox>
</el-checkbox-group>
</el-checkbox-group> -->
</div>
</div>
</div>
......@@ -528,11 +545,9 @@ export default {
fileContent: '', // 导入文件内容
// 人员/案件 导入逻辑库
checkAll: false, // 逻辑库全选
checkedTargets: [], // 选定逻辑库
checkedTargets: ['1'], // 选定逻辑库
targetHead: '人员逻辑分库',// 逻辑库标题
targets: targetOptions_ry, // 逻辑库列表
isIndeterminate: false, // 逻辑库全选状态
targets: this.$store.state.ljk.targetOptions_ry, // 逻辑库列表
// 表格
selectArr: [], // 右边列表
......@@ -542,14 +557,10 @@ export default {
nowSelectRightData: [], // 右边选中列表数据
// 比中关系
checkAllLeft: false, // 逻辑库全选
checkedTargetsLeft: [], // 选定逻辑库
targetsLeft: targetOptions_ry, // 逻辑库列表
isIndeterminateLeft: false, // 逻辑库全选状态
checkAllRight: false, // 逻辑库全选
targetsLeft: this.$store.state.ljk.targetOptions_ry, // 逻辑库列表
checkedTargetsRight: [], // 选定逻辑库
targetsRight: targetOptions_aj, // 逻辑库列表
isIndeterminateRight: false, // 逻辑库全选状态
targetsRight: this.$store.state.ljk.targetOptions_aj, // 逻辑库列表
newArr: [],
......@@ -572,7 +583,7 @@ export default {
drlx (newValue, oldValue) {
if (newValue == 3) {
this.targetHead = '人员逻辑分库'
this.targets = targetOptions_ry
this.targets = this.$store.state.ljk.targetOptions_ry
this.action = '/api/upload/person'
this.isIndeterminate = false
this.checkAll = false
......@@ -581,14 +592,14 @@ export default {
this.selectArr = []
this.nowSelectRightData = []
this.fileList = []
this.checkedTargets = []
this.checkedTargets = ['1']
this.logicList = [] // 目标逻辑库数组
this.logicPsnList = []// 比中关系人员逻辑库数组
this.logicCaseList = []//比中关系案件逻辑库数组
this.$forceUpdate()
} else if (newValue == 6) {
this.targetHead = '案件逻辑分库'
this.targets = targetOptions_aj
this.targets = this.$store.state.ljk.targetOptions_aj
this.action = '/api/upload/case'
this.isIndeterminate = false
this.checkAll = false
......@@ -597,7 +608,7 @@ export default {
this.selectArr = []
this.nowSelectRightData = []
this.fileList = []
this.checkedTargets = []
this.checkedTargets = ['1']
this.logicList = [] // 目标逻辑库数组
this.logicPsnList = []// 比中关系人员逻辑库数组
this.logicCaseList = []//比中关系案件逻辑库数组
......@@ -609,8 +620,8 @@ export default {
this.nowSelectRightData = []
this.fileList = []
this.checkedTargets = []
this.checkedTargetsRight = []
this.checkedTargetsLeft = []
this.checkedTargetsRight = ['1']
this.checkedTargetsLeft = ['1']
this.logicList = [] // 目标逻辑库数组
this.logicPsnList = []// 比中关系人员逻辑库数组
this.logicCaseList = []//比中关系案件逻辑库数组
......@@ -1143,39 +1154,39 @@ export default {
var fileDic = this.$refs['upload'].$children[0].$refs.input
//console.log(fileDic, 111222)
},
// 人员/案件逻辑分库
handleCheckAllChange (val) {
if (this.drlx == 3) {
this.checkedTargets = val ? targetOptions_ry : [];
} else if (this.drlx == 6) {
this.checkedTargets = val ? targetOptions_aj : [];
}
this.isIndeterminate = false;
},
handleCheckedTargetsChange (value) {
let checkedCount = value.length;
this.checkAll = checkedCount === this.targets.length;
this.isIndeterminate = checkedCount > 0 && checkedCount < this.targets.length;
},
// 比中关系逻辑分库
handleCheckAllChangeLeft (val) {
this.checkedTargetsLeft = val ? targetOptions_ry : [];
this.isIndeterminateLeft = false;
},
handleCheckedTargetsChangeLeft (value) {
let checkedCount = value.length;
this.checkAllLeft = checkedCount === this.targetsLeft.length;
this.isIndeterminateLeft = checkedCount > 0 && checkedCount < this.targetsLeft.length;
},
handleCheckAllChangeRight (val) {
this.checkedTargetsRight = val ? targetOptions_aj : [];
this.isIndeterminateRight = false;
},
handleCheckedTargetsChangeRight (value) {
let checkedCount = value.length;
this.checkAllRight = checkedCount === this.targetsRight.length;
this.isIndeterminateRight = checkedCount > 0 && checkedCount < this.targetsRight.length;
},
// // 人员/案件逻辑分库
// handleCheckAllChange (val) {
// if (this.drlx == 3) {
// this.checkedTargets = val ? targetOptions_ry : [];
// } else if (this.drlx == 6) {
// this.checkedTargets = val ? targetOptions_aj : [];
// }
// this.isIndeterminate = false;
// },
// handleCheckedTargetsChange (value) {
// let checkedCount = value.length;
// this.checkAll = checkedCount === this.targets.length;
// this.isIndeterminate = checkedCount > 0 && checkedCount < this.targets.length;
// },
// // 比中关系逻辑分库
// handleCheckAllChangeLeft (val) {
// this.checkedTargetsLeft = val ? targetOptions_ry : [];
// this.isIndeterminateLeft = false;
// },
// handleCheckedTargetsChangeLeft (value) {
// let checkedCount = value.length;
// this.checkAllLeft = checkedCount === this.targetsLeft.length;
// this.isIndeterminateLeft = checkedCount > 0 && checkedCount < this.targetsLeft.length;
// },
// handleCheckAllChangeRight (val) {
// this.checkedTargetsRight = val ? targetOptions_aj : [];
// this.isIndeterminateRight = false;
// },
// handleCheckedTargetsChangeRight (value) {
// let checkedCount = value.length;
// this.checkAllRight = checkedCount === this.targetsRight.length;
// this.isIndeterminateRight = checkedCount > 0 && checkedCount < this.targetsRight.length;
// },
// 表格穿梭框
checkAll1 (val) {
......@@ -1253,7 +1264,7 @@ export default {
}
},
computed: {
roleArr(){
roleArr () {
return this.$store.state.layout.Menu
}
},
......
......@@ -61,7 +61,7 @@ export default {
watch: {
loginType: {
immediate: true,
handler(val) {
handler (val) {
//console.info("account参数===>", val);
if (val === true) {
this.isShow = true
......@@ -71,7 +71,7 @@ export default {
},
},
},
data() {
data () {
return {
btnLoading: false,
isShow: false,
......@@ -100,17 +100,19 @@ export default {
user.setUser(res.data.userInfo)
this.$message.success('登录成功!')
//所在单位数据
this.$store.dispatch('publicData/_getList')
this.$router.push('/index')
this.$bus.emit('goLogin')
this.$store.commit('layout/setMenu', res.data.auth)
this.$store.dispatch("publicData/_getList");
this.$store.dispatch("ljk/_ljkRy") // 获取用户逻辑库
this.$store.dispatch("ljk/_ljkAj") // 获取用户逻辑库
this.$router.push("/index");
this.$bus.emit("goLogin");
this.$store.commit("layout/setMenu", res.data.auth);
} else {
this.$message.error(res.data.message)
}
})
},
},
mounted() {
mounted () {
// todo 选中进来清空userInfo数据
},
}
......
......@@ -7,18 +7,79 @@
* @FilePath: \founder_vue\src\views\zzwcj\Index.vue
-->
<template>
<div id="zzwcl">指掌纹采集</div>
<div id="zzwcl">指掌纹采集
<div
class="page"
id="app"
>
<button
@click="getMsg"
class="get-msg"
>获取数据</button>
<button
@click="cancelGetMsg"
class="cancel"
>取消获取</button>
<ul>
<li
v-for="item in items"
:key="item"
>{{item.name}}</li>
</ul>
</div>
</div>
</template>
<script>
import axios from "axios"
export default {
name: "zzwcj",
mounted() {
mounted () {
zoom("zzwcl");
window.addEventListener("resize", function () {
zoom("zzwcl");
});
},
data () {
return {
message: 'Hello Vue!',
items: [],
cancel: null
}
},
methods: {
getMsg () {
let CancelToken = axios.CancelToken
let self = this
axios.get('/api/upload/testAbort', {
cancelToken: new CancelToken(function executor (c) {
self.cancel = c
console.log(c)
// 这个参数 c 就是CancelToken构造函数里面自带的取消请求的函数,这里把该函数当参数用
}),
headers: {
Authorization: localStorage.getItem("token"),
BrowserHeader: 'H5'
}
}).then(res => {
this.items = res.data
}).catch(err => {
console.log(err)
})
//手速够快就不用写这个定时器了,点击取消获取就可以看到效果了
// setTimeout(function () {
// //只要我们去调用了这个cancel()方法,没有完成请求的接口便会停止请求
// self.cancel()
// }, 100)
},
//cancelGetMsg 方法跟上面的setTimeout函数是一样的效果,因为手速不够快,哦不,是因为网速太快,导致我来不及点取消获取按钮,数据就获取成功了
cancelGetMsg () {
// 在这里去判断你的id 1 2 3,你默认是展示的tab1,点击的时候不管你上一个请求有没有执行完都去调用这个cancel(),
this.cancel()
}
}
};
</script>
......
/*
* @Author: your name
* @Date: 2021-09-07 09:57:48
* @LastEditTime: 2021-12-20 19:26:31
* @LastEditTime: 2021-12-21 14:07:09
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \指纹系统\founder_vue\vue.config.js
......@@ -91,14 +91,14 @@ module.exports = {
"/api": {
// target: "http://192.168.0.137:8080/", //统一的请求头部每次修改都要重启才会生效 http://39.99.224.27:8006/
// target: "http://192.168.128.166:8099/", // 张 认定
// target: "http://192.168.128.114:8099", // 湖南-马
target: "http://192.168.128.114:8099", // 湖南-马
// target: "http://192.168.128.116:8099", // 湖南-王
// target: "http://192.168.128.118:8764", // 湖南-张呈光
// 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://zwpt.xzclub.top:9333/",
// target:"http://zwpt.xzclub.top:9333/",
// target: "http://192.168.128.100:8099", // 江
ws: true,
changeOrigin: true,
......@@ -130,9 +130,9 @@ module.exports = {
"/security": {
//target: "http://192.168.128.106:8765", // 湖南-王
target: "http://192.168.128.112:8765", // 湖南-张
// target: "http://192.168.128.112:8765", // 湖南-张
// target: "http://www.meetfood.cn:2390", // 湖南-王
// target: "http://zwpt.xzclub.top:9333",
target: "http://zwpt.xzclub.top:9333",
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