Commit 08d5515f by 张超军

案件掌纹(保存单个/全部/自动提取)

parent b99187f9
......@@ -84,7 +84,8 @@
.left-right-hand {
margin-top: 5px;
.lr-hand {
width: 100%;
// width: 100%;
width: 268px;
height: 640px;
overflow: auto;
:nth-child(even) {
......@@ -119,8 +120,8 @@
float: left;
.fingerPic {
position: relative;
width: 122px;
height: 122px;
width: 125px;
height: 125px;
background: #ffffff;
border-radius: 2px;
border: 1px solid #cccccc;
......@@ -181,6 +182,23 @@
color: #666666;
}
}
.handDom {
margin-left: 0;
.handPic {
width: 260px;
height: 260px;
background: #ffffff;
border-radius: 2px;
border: 1px solid #cccccc;
margin: 0;
}
.hand-number {
width: 48px !important;
height: 24px !important;
background: #055fe7;
border-radius: 0px 0px 7px 0px;
}
}
.defaultfingerPic {
position: relative;
width: 122px;
......
<!--
* @Author: your name
* @Date: 2021-10-22 09:42:07
* @LastEditTime: 2021-12-07 11:27:35
* @LastEditTime: 2021-12-08 14:23:18
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \指纹系统\founder_vue\src\views\Editor\modules\ryzwbjLeft.vue
......@@ -45,11 +45,10 @@
</div>
<div class="left-right-hand" v-else-if="zwSelect==='掌纹'">
<div class="lr-hand" v-if="hands.length>0">
<div class="fingerDom" v-for="(item,index) in hands" :key="index" @click="HandChange(item.code)">
<div class="fingerPic" :class="{fingerPicActive: activeHand===index}">
<div class="finger-number">{{(item.code) &lt; 10 ? ('0'+(item.code)) : (item.code)}}</div>
<div class="fingerDom handDom" v-for="(item,index) in hands" :key="index" @click="HandChange(item)">
<div class="fingerPic handPic" :class="{fingerPicActive: activeHand===item.seq}">
<div class="finger-number hand-number">{{item.seq}}</div>
<div class="finger-pic">
<!-- <img src="../../../assets/img/zhangwen.png" /> -->
<img :src="'data:image/jpeg;base64,'+item.image" alt="">
</div>
</div>
......@@ -62,7 +61,7 @@
</div>
</div>
<div class="finger-total">
共计<span>4</span>掌纹
共计<span>{{hands.length}}</span>掌纹
</div>
</div>
</div>
......@@ -113,35 +112,37 @@ export default {
// },
],
hands: [
{
code: '16',
name: '拇',
image: null
},
{
code: '17',
name: '食',
image: null
},
{
code: '18',
name: '中',
image: null
},
{
code: '19',
name: '环',
image: null
},
{
code: '20',
name: '小',
image: null
}
// {
// code: '16',
// name: '拇',
// image: null
// },
// {
// code: '17',
// name: '食',
// image: null
// },
// {
// code: '18',
// name: '中',
// image: null
// },
// {
// code: '19',
// name: '环',
// image: null
// },
// {
// code: '20',
// name: '小',
// image: null
// }
],
// 加载动画
loading: null,
timer: null
timer: null,
// 是否请求过掌纹
isHandRequest: false,
}
},
computed: {
......@@ -183,6 +184,45 @@ export default {
},
methods: {
/**
* 切换掌纹
*/
HandChange(hand) {
this.activeHand = hand.seq
this.$store.commit('zwbj/setSeq', hand.seq)
// 指纹编辑区域发送指纹数据,替换指纹图片
console.log(hand);
this.$bus.emit('ajzwbjImage', { finger_image: hand.image, finger_dealFlag: hand.dealFlag, finger_position: hand.fingerPosition })
this.$bus.emit('ajzwbjTDZ')
},
/**
* 获取掌纹数据
*/
async getHandsData () {
let self = this
if (self.isHandRequest) return;
let res = await this.$axios({
method: 'post',
url: '/api/org/case/palm/barcode',
loading: true,
data: {
barcode: 'A9999999777778888888888'
// barcode: self.barcode
}
})
console.log(res);
// 初始化图片
self.hands = []
// 赋值
if (res.data.code === 0) {
self.hands = res.data.ret
this.activeHand = this.hands[0].seq
this.HandChange(this.hands[0])
} else {
self.$bus.emit('ryzwbjImage', 'xxx')
}
self.isHandRequest = true
},
/**
* 打开档案信息
*/
daxxChange () {
......@@ -348,6 +388,13 @@ export default {
zzwChange (event) {
this.zwSelect = event.target.innerText
this.$bus.emit('zwType', this.zwSelect)
if(this.zwSelect == '掌纹') {
// 请求掌纹数据
this.getHandsData()
if(this.hands && this.hands.length>0) {
this.activeHand = this.hands[0].seq
}
}
},
},
beforeDestroy () {
......
......@@ -1063,6 +1063,7 @@ $canvasWidth: var(--canvasWidth, 640px);
}
.positions {
z-index: 999999;
.head {
display: flex;
align-items: center;
......@@ -1108,6 +1109,39 @@ $canvasWidth: var(--canvasWidth, 640px);
}
}
}
.positons-hand {
display: flex;
flex-wrap: wrap;
padding: 16px 14px;
.hand-item {
/deep/.el-checkbox__label {
padding-left: 5px;
}
// 修改多选框样式
/deep/ .el-checkbox.is-checked {
.el-checkbox__label {
color: #333333;
}
.el-checkbox__input.is-checked {
.el-checkbox__inner {
background: #055fe7;
border-color: #055fe7;
}
}
}
.el-checkbox {
margin-right: 10px;
}
&:nth-child(even) {
.el-checkbox {
margin-right: 0;
}
}
}
}
/deep/ .el-radio {
color: #666;
......
<!--
* @Author: your name
* @Date: 2021-10-22 11:36:10
* @LastEditTime: 2021-12-07 19:50:59
* @LastEditTime: 2021-12-08 18:06:40
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \指纹系统\founder_vue\src\views\Editor\modules\imageEd.vue
......@@ -113,10 +113,10 @@
<!-- 指纹-掌纹切换 -->
<div class="zzwswitch">
<div class="zzwswitem-radio">
<el-radio v-model="zzwSwitch" label="1">指纹</el-radio>
<el-radio class="secondRadio" v-model="zzwSwitch" label="2">掌纹</el-radio>
<el-radio disabled v-model="zzwSwitch" label="1">指纹</el-radio>
<el-radio disabled class="secondRadio" v-model="zzwSwitch" label="2">掌纹</el-radio>
</div>
<div class="positions">
<div class="positions" v-show="zzwSwitch==1">
<div class="head">
<div class="head-dom" v-for="(item, index) in fingers" :key="index">
{{ item }}
......@@ -135,6 +135,11 @@
</div>
</div>
</div>
<div class="positions positons-hand" v-show="zzwSwitch==2">
<div class="hand-item" v-for="(item, index) in handsType" :key="index">
<el-checkbox class="check" v-model="item.isSelected">{{item.name}}</el-checkbox>
</div>
</div>
</div>
</div>
</div>
......@@ -685,6 +690,7 @@ export default {
issize: true,
ismoderate: false,
fingers: ["拇", "食", "中", "环", "小"],
// 指纹类型
rightFinger: [
{ code: 1, isSelected: false },
{ code: 2, isSelected: false },
......@@ -699,6 +705,13 @@ export default {
{ code: 9, isSelected: false },
{ code: 10, isSelected: false }
],
// 掌纹类型
handsType: [
{ code: 31, isSelected: false, name: '左半掌' },
{ code: 33, isSelected: false, name: '右半掌' },
{ code: 32, isSelected: false, name: '左侧掌' },
{ code: 34, isSelected: false, name: '右侧掌' },
],
// 指掌纹切换
zzwSwitch: "1",
saveType: "当前特征",
......@@ -1897,18 +1910,63 @@ export default {
*/
this.$bus.on("ajzwbjImage", (ajzwbjImage) => {
console.log(ajzwbjImage);
let sourceImage = ajzwbjImage.finger_image
let dealFlag = ajzwbjImage.finger_dealFlag
let fingerPosition = ajzwbjImage.finger_position
// 指纹指位信息
self.rightFinger.forEach(item => {
item.isSelected = false
})
self.leftFinger.forEach(item => {
item.isSelected = false
})
// 掌纹指位信息
self.handsType.forEach(item => {
item.isSelected = false
})
console.log(fingerPosition);
console.log(sessionStorage.getItem('fingerPosition_' + self.seq));
if (JSON.parse(sessionStorage.getItem('fingerPosition_' + self.seq)) != '') {
let fingerPostions = JSON.parse(sessionStorage.getItem('fingerPosition_' + self.seq)).split(',')
fingerPostions.forEach(item => {
if (item > 30) {
// 掌纹
self.handsType.forEach(item2 => {
if (item2.seq == item) {
item2.isSelected = true
}
})
} else {
// 指纹
self.rightFinger.forEach(item2 => {
if (item2.code == item) {
item2.isSelected = true
}
})
self.leftFinger.forEach(item3 => {
if (item3.code == item) {
item3.isSelected = true
}
})
}
})
} else {
if (fingerPosition) {
fingerPosition = ajzwbjImage.finger_position.split(',')
fingerPosition = fingerPosition.split(',')
console.log(fingerPosition);
if (fingerPosition[0] > 30) {
// 掌纹
fingerPosition.forEach(item => {
self.handsType.forEach(item2 => {
if (item2.code == item) {
item2.isSelected = true
}
})
})
} else {
// 指纹
fingerPosition.forEach((item) => {
self.rightFinger.forEach(item2 => {
if (item2.code == item) {
......@@ -1921,10 +1979,13 @@ export default {
}
})
})
}
sessionStorage.setItem('fingerPosition_' + this.seq, JSON.stringify(fingerPosition))
} else {
sessionStorage.setItem('fingerPosition_' + this.seq, '')
}
}
if (dealFlag == 1) {
self.txbj_type = '已处理'
......@@ -3393,6 +3454,11 @@ export default {
this.$bus.on("zwType", (zwType) => {
self.zwType = zwType;
if (zwType == '指纹') {
self.zzwSwitch = '1'
} else {
self.zzwSwitch = '2'
}
});
},
methods: {
......@@ -3472,7 +3538,161 @@ export default {
}
// 从数据库中获取数据
if (flag) {
this.clearALL()
this.isAutoTzd = true
if (self.seq > 100) {
// 掌纹
let res = await this.$axios({
method: "get",
url: "/api/export/trait/xml/case/palm/" + this.barcode + "/" + this.seq,
loading: false
});
console.log(res);
if (res.data.code === 0) {
if (res.data.ret.minutiaSet.minutia && res.data.ret.minutiaSet.minutia.length > 0) {
res.data.ret.minutiaSet.minutia.forEach(item => {
self.autoTzdArr.push({
xczw_zwtzd_tzxzb: item.xczhw_zhwtzd_tzxzb,
xczw_zwtzd_tzyzb: item.xczhw_zhwtzd_tzyzb,
xczw_zwtzd_tzfx: item.xczhw_zhwtzd_tzfx
})
})
}
if (self.autoTzdArr && self.autoTzdArr.length > 0) {
self.autoTzdArr.forEach((item, index) => {
self.$set(self.autoTzdArr[index], "id", "auto_tzdDom" + self.tzdId);
$(
`<div id="auto_tzdDom${self.tzdId}" class="auto_tzdDom"><div class="head"></div><div class="direction"></div></div>`
).appendTo(".tzdDrawing");
$(".auto_tzdDom").css("display", "flex");
$(".auto_tzdDom").css("align-items", "center");
$(".auto_tzdDom").css("position", "absolute");
$(".auto_tzdDom").css("transform-origin", "4px center");
$(".auto_tzdDom .head").css("width", "8px");
$(".auto_tzdDom .head").css("height", "8px");
$(".auto_tzdDom .head").css("border-radius", "8px");
$(".auto_tzdDom .head").css("background-color", "#FFFD0F");
$(".auto_tzdDom .direction").css("width", "20px");
$(".auto_tzdDom .direction").css("height", "2px");
$(".auto_tzdDom .direction").css("background-color", "#FFFD0F");
// 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("box-sizing", "border-box");
$("#auto_tzdDom" + self.tzdId).css("transform", `rotate(${-item.xczw_zwtzd_tzfx}deg)`);
self.tzdId++;
});
} else {
self.autoTzdArr = [];
}
self.$store.commit("zwbj/setAutoTzdall", self.autoTzdArr);
// 将自动提取的特征点存入session中
sessionStorage.setItem(
`auto_tzdDom${self.seq}`,
JSON.stringify(self.autoTzdArr)
);
// 自动提取重要区域--圆形绘制
if (res.data.ret.xczhw_zdyxx.zddxx_yxhz) {
let xczw_zdyxx = res.data.ret.xczhw_zdyxx.zddxx_yxhz;
console.log(xczw_zdyxx);
self.autoCircleArr_hand = [];
if (xczw_zdyxx && xczw_zdyxx.length > 0) {
console.log(xczw_zdyxx);
xczw_zdyxx.forEach((item) => {
self.autoCircleArr_hand.push({
id: self.circleId,
centerX: item.yxtq_yxxzb,
centerY: item.yxtq_yxyzb,
radius: item.yxtq_yxbj
});
// self.circleId = item.id
// 圆
var $circle = null;
$circle = $(`<div id="circle${self.circleId}" class="auto_td_circle"></div>`);
$(".tzdDrawing").append($circle);
$circle.css("border", "2px solid red");
$circle.css("position", "absolute");
// 设置圆的大小和位置
$circle.css("left", Math.abs(item.yxtq_yxxzb - item.yxtq_yxbj) + "px");
$circle.css("top", Math.abs(item.yxtq_yxyzb - item.yxtq_yxbj) + "px");
$circle.css("width", 2 * item.yxtq_yxbj + "px");
$circle.css("height", 2 * item.yxtq_yxbj + "px");
$circle.css("border-radius", "50%");
$circle.css("background", "rgba(0,0,0,0)");
self.circleId++;
});
} else {
self.autoCircleArr_hand = [];
}
self.$store.commit("zwbj/setAutoYxhz", self.autoCircleArr_hand);
// 将自动提取的特征点存入session中
sessionStorage.setItem(`auto_yxhz_${self.seq}`, JSON.stringify(self.autoCircleArr_hand));
}
// 如果之前画了了重要区域,则展示出来---自由绘制
if (res.data.ret.xczhw_zdyxx.zddxx_zyhz) {
let zddxx_zyhz = res.data.ret.xczhw_zdyxx.zddxx_zyhz;
console.log(zddxx_zyhz);
if (zddxx_zyhz && zddxx_zyhz.length > 0) {
// self.Fcanvas = zddxx_zyhz
if (zddxx_zyhz.length > 0) {
zddxx_zyhz.forEach((item) => {
let arr = [];
item.zddxx_zyhzzbd.forEach(item2 => {
arr.push({
x: item2.zdytq_tzdxzb,
y: item2.zdytq_tzdyzb
});
});
self.autoFcanvas.push(arr);
var polygon = new fabric.Polygon(arr, {
fill: "rgba(0,0,0,0)",
strokeWidth: 4,
stroke: "red",
objectCaching: false,
transparentCorners: false,
cornerColor: "rgba(0,0,0,0)",
// 设置可选
selectable: true
});
self.Fcanvas_canvas.add(polygon);
});
}
} else {
self.autoFcanvas = [];
}
console.log(self.autoFcanvas);
self.$store.commit("zwbj/setAutoZyhz", self.autoFcanvas);
// 将自动提取的特征点存入session中
sessionStorage.setItem(`auto_zyhz_${self.seq}`, JSON.stringify(self.autoFcanvas));
}
} else if (res.data.code == 4 || res.data.code == 99) {
// 没有相关记录
self.$store.commit("zwbj/setAutoTzdall", []);
// 将自动提取的特征点存入session中
sessionStorage.setItem(
`auto_tzdDom${self.seq}`,
JSON.stringify([])
);
self.$store.commit("zwbj/setAutoYxhz", []);
// 将自动提取的特征点存入session中
sessionStorage.setItem(`auto_yxhz_${self.seq}`, JSON.stringify([]));
self.$store.commit("zwbj/setAutoZyhz", []);
// 将自动提取的特征点存入session中
sessionStorage.setItem(`auto_zyhz_${self.seq}`, JSON.stringify([]));
}
} else {
// 指纹
let res = await this.$axios({
method: "get",
url: "/api/export/trait/xml/case/" + this.barcode + "/" + this.seq,
......@@ -3601,7 +3821,7 @@ export default {
// 将自动提取的特征点存入session中
sessionStorage.setItem(`auto_zyhz_${self.seq}`, JSON.stringify(self.autoFcanvas));
}
} else if (res.data.code == 4) {
} else if (res.data.code == 4 || res.data.code == 99) {
// 没有相关记录
self.$store.commit("zwbj/setAutoTzdall", []);
// 将自动提取的特征点存入session中
......@@ -3616,6 +3836,8 @@ export default {
// 将自动提取的特征点存入session中
sessionStorage.setItem(`auto_zyhz_${self.seq}`, JSON.stringify([]));
}
}
} else {
// 从session中拿
if (sessionStorage.getItem(`auto_tzdDom${this.seq}`)) {
......@@ -5162,6 +5384,133 @@ export default {
// 自动的
self.tzdall = [];
console.log(self.autoTzdArr);
if (self.seq > 100) {
// 掌纹
if (self.autoTzdArr && self.autoTzdArr.length > 0) {
// self.tzdall.concat(self.autoTzdArr)
self.autoTzdArr.forEach((item) => {
self.tzdall.push({
xczhw_zhwtzd_tzfx: item.xczw_zwtzd_tzfx,
xczhw_zhwtzd_tzxzb: item.xczw_zwtzd_tzxzb,
xczhw_zhwtzd_tzyzb: item.xczw_zwtzd_tzyzb
});
});
}
console.log(self.tzdArr);
// 手动的
if (self.tzdArr.length > 0) {
self.tzdArr.forEach((item) => {
self.tzdall.push({
xczhw_zhwtzd_tzfx: item.angle,
xczhw_zhwtzd_tzxzb: item.x,
xczhw_zhwtzd_tzyzb: item.y
});
});
}
// 处理数据--圆
let circleArr_hand_t = [];
let circleArr_hand_t2 = [];
if (self.circleArr_hand) {
self.circleArr_hand.forEach((item) => {
circleArr_hand_t.push({
yxtq_yxxzb: item.centerX,
yxtq_yxyzb: item.centerY,
yxtq_yxbj: item.radius
});
});
}
if (self.autoCircleArr_hand) {
self.autoCircleArr_hand.forEach((item) => {
circleArr_hand_t.push({
yxtq_yxxzb: item.centerX,
yxtq_yxyzb: item.centerY,
yxtq_yxbj: item.radius
});
});
}
console.log("圆:" + circleArr_hand_t);
// TODO
// 处理数据---自由
let Fcanvasarr_s = [];
let Fcanvasarr_t = [];
if (self.Fcanvasarr) {
self.Fcanvasarr.forEach((itemarr) => {
itemarr.forEach((item) => {
Fcanvasarr_s.push({
zdytq_tzdxzb: item.x,
zdytq_tzdyzb: item.y
});
});
Fcanvasarr_t.push({
zddxx_zyhzzbd: Fcanvasarr_s
});
Fcanvasarr_s = [];
});
}
if (self.autoFcanvas) {
self.autoFcanvas.forEach((itemarr) => {
itemarr.forEach((item) => {
Fcanvasarr_s.push({
zdytq_tzdxzb: item.x,
zdytq_tzdyzb: item.y
});
});
Fcanvasarr_t.push({
zddxx_zyhzzbd: Fcanvasarr_s
});
Fcanvasarr_s = [];
});
}
console.log("自由:" + Fcanvasarr_t);
self.fpt5LMinutiaList = [];
// self.fpt5LMinutiaList.push(self.circleArr_hand)
// self.fpt5LMinutiaList.push(self.Fcanvasarr)
self.fpt5LMinutiaList.push(circleArr_hand_t);
self.fpt5LMinutiaList.push(Fcanvasarr_t);
console.log(self.fpt5LMinutiaList);
console.log(self.tzdall);
let fpt5TraitMinutiaList = {
minutiaSet: {
minutia: self.tzdall,
},
xczhw_zdyxx: {
zddxx_yxhz: circleArr_hand_t,
zddxx_zyhz: Fcanvasarr_t
},
xczhw_xczzhwbh: self.seq,
};
this.$axios({
method: 'post',
headers: {
"Content-Type": "application/json;charset=UTF-8"
},
url:
"/api/upload/trait/case/palm?barcode=" +
self.barcode +
"&fingerPosition=" + JSON.parse(sessionStorage.getItem('fingerPosition_' + self.seq)) +
"&seq=" + self.seq,
data: JSON.stringify(fpt5TraitMinutiaList),
loading: true
}).then(res => {
console.log(res);
if (res.data.code === 0) {
self.$message.success("保存成功!");
// 记录session保存的个数
self.sessionCount++;
self.judgeJumpRoute()
}
})
}
else {
// 指纹
if (self.autoTzdArr && self.autoTzdArr.length > 0) {
// self.tzdall.concat(self.autoTzdArr)
self.autoTzdArr.forEach((item) => {
......@@ -5264,8 +5613,6 @@ export default {
xczhw_xcwzbh: self.seq > 9 ? self.seq : "0" + self.seq,
// zwPosition: sessionStorage.getItem('fingerPosition_'+this.seq)
};
console.log(8888);
this.$axios({
method: "post",
headers: {
......@@ -5274,13 +5621,14 @@ export default {
url:
"/api/upload/trait/case?barcode=" +
self.barcode +
"&fingerPosition=" + JSON.parse(sessionStorage.getItem('fingerPosition_' + self.seq)) +
"&seq=" +
self.seq,
data: JSON.stringify(fpt5TraitMinutiaList),
loading: true
}).then((res) => {
console.log(res);
if (res.data.message == "success") {
if (res.data.code == 0) {
self.$message.success("保存成功!");
// 记录session保存的个数
self.sessionCount++;
......@@ -5288,6 +5636,7 @@ export default {
}
});
}
}
else if (this.saveType === "全部特征") {
let sessionArr = [];
let allTZData = [];
......@@ -5320,7 +5669,7 @@ 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") {
......@@ -5379,7 +5728,6 @@ export default {
}
}
}
console.log(allTZData);
......@@ -5561,29 +5909,61 @@ export default {
if (sessionKeys[i].substring(0, 14) === 'fingerPosition') {
// 查到指位信息,存入要保存的数组中
let index = Number(sessionKeys[i].substring(15, sessionKeys[i].length))
console.log(index);
console.log(sessionStorage.getItem(sessionKeys[i]));
for (let j = 0; j < all_tjsj.length; j++) {
if (all_tjsj[j].xczhw_xcwzbh == index) {
if (sessionStorage.getItem(sessionKeys[i]) != "") {
self.$set(all_tjsj[index - 1], 'fingerPosition', JSON.parse(sessionStorage.getItem(sessionKeys[i])))
self.$set(all_tjsj[j], 'fingerPosition', JSON.parse(sessionStorage.getItem(sessionKeys[i])))
} else {
self.$set(all_tjsj[index - 1], 'fingerPosition', "")
self.$set(all_tjsj[j], 'fingerPosition', "")
}
}
}
}
}
console.log(all_tjsj);
// 将指纹和掌纹分开来
let finger_tjsj = []
let hand_tjsj = []
all_tjsj.forEach(item => {
if (item.xczhw_xcwzbh > 100) {
// 掌纹
let arr = []
item.minutiaSet.minutia.forEach(item2 => {
arr.push({
xczhw_zhwtzd_tzxzb: item2.xczw_zwtzd_tzxzb,
xczhw_zhwtzd_tzyzb: item2.xczw_zwtzd_tzyzb,
xczhw_zhwtzd_tzfx: item2.xczw_zwtzd_tzfx
})
})
hand_tjsj.push({
minutiaSet: {
minutia: arr
},
xczhw_zdyxx: item.minutiaSet.xczw_zdyxx,
xczhw_xczzhwbh: item.xczhw_xcwzbh,
fingerPosition: item.fingerPosition
})
} else {
// 指纹
finger_tjsj.push(item)
}
})
tjsj_zddxx_zyhz = [];
tjsj_zddxx_yxhz = [];
tjsj_tzd = [];
// 指纹特征点数据保存
this.$axios({
method: "post",
headers: {
"Content-Type": "application/json;charset=UTF-8"
},
url: "/api/upload/trait/allcase?barcode=" + self.barcode,
data: JSON.stringify(all_tjsj)
data: JSON.stringify(finger_tjsj)
}).then(res => {
// console.log(res);
if (res.data.code === 0) {
......@@ -5593,7 +5973,23 @@ export default {
self.judgeJumpRoute()
}
});
// console.log(allTZData);
// 掌纹特征点数据保存
this.$axios({
method: 'post',
headers: {
"Content-Type": "application/json;charset=UTF-8"
},
url: '/api/upload/trait/allcase/palm?barcode=' + self.barcode,
data: JSON.stringify(hand_tjsj)
}).then(res => {
if (res.data.code === 0) {
self.$message.success('保存成功!')
// 计算session的个数
self.sessionCount = self.sessionCount + Number(sessionArr.length);
self.judgeJumpRoute()
}
})
}
else if (this.saveType === "当前特征和图片") {
// 处理特征点---保存前需要处理数据
......@@ -5802,30 +6198,67 @@ export default {
};
self.$store.commit('loading/setLoadingSd', true)
if (self.seq > 100) {
// 掌纹
console.log(fpt5TraitMinutiaList);
let arr = []
if (fpt5TraitMinutiaList.minutiaSet.minutia && fpt5TraitMinutiaList.minutiaSet.minutia.length > 0) {
fpt5TraitMinutiaList.minutiaSet.minutia.forEach(item => {
arr.push({
xczhw_zhwtzd_tzxzb: item.xczw_zwtzd_tzxzb,
xczhw_zhwtzd_tzyzb: item.xczw_zwtzd_tzyzb,
xczhw_zhwtzd_tzfx: item.xczw_zwtzd_tzfx
})
})
}
let handFpt5 = {
minutiaSet: {
minutia: arr
},
xczhw_zdyxx: {
zddxx_yxhz: fpt5TraitMinutiaList.minutiaSet.xczw_zdyxx.zddxx_yxhz,
zddxx_zyhz: fpt5TraitMinutiaList.minutiaSet.xczw_zdyxx.zddxx_zyhz,
},
xczhw_xczzhwbh: fpt5TraitMinutiaList.xczhw_xcwzbh
}
// 处理指位信息
let lr_finger = [];
let tj_lr_finger = "";
this.rightFinger.forEach(item => {
if (item.isSelected) {
lr_finger.push(item.code);
}
});
this.leftFinger.forEach(item => {
if (item.isSelected) {
lr_finger.push(item.code);
}
});
tj_lr_finger = lr_finger.join(",");
console.log(tj_lr_finger);
this.$axios({
method: "post",
method: 'post',
headers: {
"Content-Type": "application/json;charset=UTF-8"
},
url:
"/api/upload/trait/case?barcode=" +
self.barcode +
"&fingerPosition=" + JSON.parse(tj_lr_finger) +
"&seq=" +
self.seq,
data: JSON.stringify(fpt5TraitMinutiaList),
loading: false
}).then((res) => {
console.log(res);
if (res.data.message == "success") {
self.$message.success("特征保存成功!");
data: JSON.stringify(handFpt5)
}).then(res => {
if (res.data.code == 0) {
self.$message.success("保存成功!");
// 记录session保存的个数
self.sessionCount++;
self.judgeJumpRoute()
} else {
self.$message.error("特征保存失败!");
}
});
})
} else {
// 指纹
// 处理指位信息
let lr_finger = [];
let tj_lr_finger = "";
......@@ -5841,6 +6274,48 @@ export default {
});
tj_lr_finger = lr_finger.join(",");
console.log(tj_lr_finger);
this.$axios({
method: "post",
headers: {
"Content-Type": "application/json;charset=UTF-8"
},
url:
"/api/upload/trait/case?barcode=" +
self.barcode +
"&fingerPosition=" + JSON.parse(tj_lr_finger) +
"&seq=" +
self.seq,
data: JSON.stringify(fpt5TraitMinutiaList),
loading: true
}).then((res) => {
console.log(res);
if (res.data.code == 0) {
self.$message.success("保存成功!");
// 记录session保存的个数
self.sessionCount++;
self.judgeJumpRoute()
}
});
// 获取图像旋转的角度
let canvasImage_angle = self.imageEditor._graphics.getCanvasImage().angle;
this.$axios({
method: "post",
url: `/api/upload/trait/case/image?angle=${canvasImage_angle}&barcode=${self.barcode}&hpseqno=${self.seq}`,
loading: false
}).then((res) => {
console.log(res);
if (res.data.code === 0) {
self.$message.success("图片保存成功!");
} else {
self.$message.error("图片保存失败!");
}
self.$store.commit('loading/setLoadingSd', false)
});
}
// ================================================
// canvas图片自处理 --- 后端压缩需要将透明的补成白色背景
/*let canvas_imgSave = document.querySelector('.tui-image-editor-canvas-container .lower-canvas');
......@@ -5877,22 +6352,6 @@ export default {
let tj_grey = grey.getBase64().split(',')[1]
console.log(tj_grey);*/
// 获取图像旋转的角度
let canvasImage_angle = self.imageEditor._graphics.getCanvasImage().angle;
this.$axios({
method: "post",
url: `/api/upload/trait/case/image?angle=${canvasImage_angle}&barcode=${self.barcode}&hpseqno=${self.seq}&fingerPosition=${tj_lr_finger}`,
loading: false
}).then((res) => {
console.log(res);
if (res.data.code === 0) {
self.$message.success("图片保存成功!");
} else {
self.$message.error("图片保存失败!");
}
self.$store.commit('loading/setLoadingSd', false)
});
}
},
/**
......@@ -5941,6 +6400,21 @@ export default {
*/
openZyhz () {
this.isZyhzFlag = !this.isZyhzFlag
if (this.isZyhzFlag) {
$(".enlarge").css("background", "rgba(5, 95, 231, 0.05)");
this.imageEditor.changeCursor("auto");
this.isShowEnlargeSynchro = false;
this.isEnlargeSynchro = false;
this.isEnlarge = false
$(".drag").css("background", "rgba(5, 95, 231, 0.05)");
// 停止拖拽
this.imageEditor._graphics._attachZoomEvents3();
// 提升层级
$(".canvas-container").css("z-index", 999);
$(".tzdDrawing").css("z-index", 9999);
this.isHand = false
}
},
/**
* @description: 开启/关闭自由绘制下拉框
......@@ -6540,9 +7014,33 @@ export default {
tj_lr_finger = lr_finger.join(",");
console.log(tj_lr_finger);
sessionStorage.setItem('fingerPosition_' + this.seq, JSON.stringify(tj_lr_finger))
},
/**
* 处理指位信息--存入session中
*/
handleHandPosition () {
let lr_finger = [];
let tj_lr_finger = "";
this.handsType.forEach(item => {
if (item.isSelected) {
lr_finger.push(item.code);
}
});
tj_lr_finger = lr_finger.join(",");
console.log(tj_lr_finger);
sessionStorage.setItem('fingerPosition_' + this.seq, JSON.stringify(tj_lr_finger))
}
},
watch: {
// 掌纹信息
handsType: {
handler (newValue, oldValue) {
// 处理指位信息
this.handleHandPosition()
},
immediate: true,
deep: true
},
// 指位信息 --- 右手
rightFinger: {
handler (newValue, oldValue) {
......
<!--
* @Author: your name
* @Date: 2021-12-01 15:25:22
* @LastEditTime: 2021-12-08 11:52:21
* @LastEditTime: 2021-12-08 16:11:25
* @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
......@@ -75,8 +75,8 @@
<div class="plcz btn" @click="batch">批量操作</div>
</div>
<div class="bzxxfh-content-top-right">
<div class="jcbzgx btn" @click="cxbzgxChange">解除比中关系</div>
<div class="cxfh btn" @click="cxfhChange2">撤销复核</div>
<!-- <div class="jcbzgx btn" @click="cxbzgxChange">解除比中关系</div>
<div class="cxfh btn" @click="cxfhChange2">撤销复核</div> -->
<div class="fztm btn" v-clipboard:copy="fztm_ytmh" @click="fztmChange" v-clipboard:success="onCopy" v-clipboard:error="onError">复制条码</div>
</div>
</div>
......@@ -109,18 +109,18 @@
</el-table-column>
<el-table-column prop="fhsj" label="复核时间" :width="width4" :formatter="dateTimeFormat">
</el-table-column>
<el-table-column prop="affirmStatus" label="复核状态" :width="width3">
<el-table-column prop="reviewStatus" label="复核状态" :width="width3">
<template slot-scope="scope">
<div class="fhzt">
<div :class="{wfh: scope.row.affirmStatus==='0', fhyx: scope.row.affirmStatus==='2', fhwx: scope.row.affirmStatus==='1'}"></div>
{{scope.row.affirmStatus=='0' ? '未复核' : (scope.row.affirmStatus=='2' ? '复核有效' : '复核无效')}}
<div :class="{wfh: scope.row.reviewStatus==='0', fhyx: scope.row.reviewStatus==='2', fhwx: scope.row.reviewStatus==='1'}"></div>
{{scope.row.reviewStatus=='0' ? '未复核' : (scope.row.reviewStatus=='2' ? '复核有效' : '复核无效')}}
</div>
</template>
</el-table-column>
<el-table-column prop="nydwGajgmc" label="操作" width="auto">
<template slot-scope="scope">
<div @click="dfh(scope.row)" v-show="scope.row.affirmStatus==='0'" :class="{dfh: scope.row.affirmStatus==='0'}">待复核</div>
<div @click="cxfhChange($event,scope.row)" v-show="scope.row.affirmStatus!='0'" :class="{cxfh: scope.row.affirmStatus!='0'}">撤销复核</div>
<div @click="dfh(scope.row)" v-show="scope.row.reviewStatus==='0'" :class="{dfh: scope.row.reviewStatus==='0'}">待复核</div>
<div @click="cxfhChange($event,scope.row)" v-show="scope.row.reviewStatus!='0'" :class="{cxfh: scope.row.reviewStatus!='0'}">撤销复核</div>
</template>
</el-table-column>
</el-table>
......
......@@ -237,13 +237,15 @@ export default {
querytype
}
}).then(response => {
if(response.data.code === 0) {
// 跟新列表数据
self.$bus.emit("updateFinderSource");
//console.log(response);
this.$message.success("认定完成!");
if (type == "son") {
window.close();
}
// if (type == "son") {
// window.close();
// }
});
},
/**
......
......@@ -215,13 +215,15 @@ export default {
querytype
}
}).then(response => {
if(response.data.code === 0) {
// 跟新列表数据
self.$bus.emit("updateTLSourceData");
//console.log(response);
this.$message.success("认定完成!");
if (type == "son") {
window.close();
}
// if (type == "son") {
// window.close();
// }
});
},
/**
......
/*
* @Author: your name
* @Date: 2021-09-07 09:57:48
* @LastEditTime: 2021-12-08 11:56:14
* @LastEditTime: 2021-12-08 15:47:26
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \指纹系统\founder_vue\vue.config.js
......@@ -92,14 +92,14 @@ module.exports = {
// 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.108: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://192.168.128.115:8099", // 江
// target: "http://192.168.128.115:8099", // 江
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