Commit 08d5515f by 张超军

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

parent b99187f9
...@@ -84,7 +84,8 @@ ...@@ -84,7 +84,8 @@
.left-right-hand { .left-right-hand {
margin-top: 5px; margin-top: 5px;
.lr-hand { .lr-hand {
width: 100%; // width: 100%;
width: 268px;
height: 640px; height: 640px;
overflow: auto; overflow: auto;
:nth-child(even) { :nth-child(even) {
...@@ -119,8 +120,8 @@ ...@@ -119,8 +120,8 @@
float: left; float: left;
.fingerPic { .fingerPic {
position: relative; position: relative;
width: 122px; width: 125px;
height: 122px; height: 125px;
background: #ffffff; background: #ffffff;
border-radius: 2px; border-radius: 2px;
border: 1px solid #cccccc; border: 1px solid #cccccc;
...@@ -181,6 +182,23 @@ ...@@ -181,6 +182,23 @@
color: #666666; 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 { .defaultfingerPic {
position: relative; position: relative;
width: 122px; width: 122px;
......
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2021-10-22 09:42:07 * @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 * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
* @FilePath: \指纹系统\founder_vue\src\views\Editor\modules\ryzwbjLeft.vue * @FilePath: \指纹系统\founder_vue\src\views\Editor\modules\ryzwbjLeft.vue
...@@ -45,11 +45,10 @@ ...@@ -45,11 +45,10 @@
</div> </div>
<div class="left-right-hand" v-else-if="zwSelect==='掌纹'"> <div class="left-right-hand" v-else-if="zwSelect==='掌纹'">
<div class="lr-hand" v-if="hands.length>0"> <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="fingerDom handDom" v-for="(item,index) in hands" :key="index" @click="HandChange(item)">
<div class="fingerPic" :class="{fingerPicActive: activeHand===index}"> <div class="fingerPic handPic" :class="{fingerPicActive: activeHand===item.seq}">
<div class="finger-number">{{(item.code) &lt; 10 ? ('0'+(item.code)) : (item.code)}}</div> <div class="finger-number hand-number">{{item.seq}}</div>
<div class="finger-pic"> <div class="finger-pic">
<!-- <img src="../../../assets/img/zhangwen.png" /> -->
<img :src="'data:image/jpeg;base64,'+item.image" alt=""> <img :src="'data:image/jpeg;base64,'+item.image" alt="">
</div> </div>
</div> </div>
...@@ -62,7 +61,7 @@ ...@@ -62,7 +61,7 @@
</div> </div>
</div> </div>
<div class="finger-total"> <div class="finger-total">
共计<span>4</span>掌纹 共计<span>{{hands.length}}</span>掌纹
</div> </div>
</div> </div>
</div> </div>
...@@ -113,35 +112,37 @@ export default { ...@@ -113,35 +112,37 @@ export default {
// }, // },
], ],
hands: [ hands: [
{ // {
code: '16', // code: '16',
name: '拇', // name: '拇',
image: null // image: null
}, // },
{ // {
code: '17', // code: '17',
name: '食', // name: '食',
image: null // image: null
}, // },
{ // {
code: '18', // code: '18',
name: '中', // name: '中',
image: null // image: null
}, // },
{ // {
code: '19', // code: '19',
name: '环', // name: '环',
image: null // image: null
}, // },
{ // {
code: '20', // code: '20',
name: '小', // name: '小',
image: null // image: null
} // }
], ],
// 加载动画 // 加载动画
loading: null, loading: null,
timer: null timer: null,
// 是否请求过掌纹
isHandRequest: false,
} }
}, },
computed: { computed: {
...@@ -183,6 +184,45 @@ export default { ...@@ -183,6 +184,45 @@ export default {
}, },
methods: { 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 () { daxxChange () {
...@@ -348,6 +388,13 @@ export default { ...@@ -348,6 +388,13 @@ export default {
zzwChange (event) { zzwChange (event) {
this.zwSelect = event.target.innerText this.zwSelect = event.target.innerText
this.$bus.emit('zwType', this.zwSelect) 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 () { beforeDestroy () {
......
...@@ -1063,6 +1063,7 @@ $canvasWidth: var(--canvasWidth, 640px); ...@@ -1063,6 +1063,7 @@ $canvasWidth: var(--canvasWidth, 640px);
} }
.positions { .positions {
z-index: 999999;
.head { .head {
display: flex; display: flex;
align-items: center; align-items: center;
...@@ -1108,6 +1109,39 @@ $canvasWidth: var(--canvasWidth, 640px); ...@@ -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 { /deep/ .el-radio {
color: #666; color: #666;
......
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2021-10-22 11:36:10 * @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 * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
* @FilePath: \指纹系统\founder_vue\src\views\Editor\modules\imageEd.vue * @FilePath: \指纹系统\founder_vue\src\views\Editor\modules\imageEd.vue
...@@ -113,10 +113,10 @@ ...@@ -113,10 +113,10 @@
<!-- 指纹-掌纹切换 --> <!-- 指纹-掌纹切换 -->
<div class="zzwswitch"> <div class="zzwswitch">
<div class="zzwswitem-radio"> <div class="zzwswitem-radio">
<el-radio v-model="zzwSwitch" label="1">指纹</el-radio> <el-radio disabled v-model="zzwSwitch" label="1">指纹</el-radio>
<el-radio class="secondRadio" v-model="zzwSwitch" label="2">掌纹</el-radio> <el-radio disabled class="secondRadio" v-model="zzwSwitch" label="2">掌纹</el-radio>
</div> </div>
<div class="positions"> <div class="positions" v-show="zzwSwitch==1">
<div class="head"> <div class="head">
<div class="head-dom" v-for="(item, index) in fingers" :key="index"> <div class="head-dom" v-for="(item, index) in fingers" :key="index">
{{ item }} {{ item }}
...@@ -135,6 +135,11 @@ ...@@ -135,6 +135,11 @@
</div> </div>
</div> </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> </div>
</div> </div>
...@@ -685,6 +690,7 @@ export default { ...@@ -685,6 +690,7 @@ export default {
issize: true, issize: true,
ismoderate: false, ismoderate: false,
fingers: ["拇", "食", "中", "环", "小"], fingers: ["拇", "食", "中", "环", "小"],
// 指纹类型
rightFinger: [ rightFinger: [
{ code: 1, isSelected: false }, { code: 1, isSelected: false },
{ code: 2, isSelected: false }, { code: 2, isSelected: false },
...@@ -699,6 +705,13 @@ export default { ...@@ -699,6 +705,13 @@ export default {
{ code: 9, isSelected: false }, { code: 9, isSelected: false },
{ code: 10, 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", zzwSwitch: "1",
saveType: "当前特征", saveType: "当前特征",
...@@ -1897,35 +1910,83 @@ export default { ...@@ -1897,35 +1910,83 @@ export default {
*/ */
this.$bus.on("ajzwbjImage", (ajzwbjImage) => { this.$bus.on("ajzwbjImage", (ajzwbjImage) => {
console.log(ajzwbjImage);
let sourceImage = ajzwbjImage.finger_image let sourceImage = ajzwbjImage.finger_image
let dealFlag = ajzwbjImage.finger_dealFlag let dealFlag = ajzwbjImage.finger_dealFlag
let fingerPosition = ajzwbjImage.finger_position let fingerPosition = ajzwbjImage.finger_position
// 指纹指位信息
self.rightFinger.forEach(item => { self.rightFinger.forEach(item => {
item.isSelected = false item.isSelected = false
}) })
self.leftFinger.forEach(item => { self.leftFinger.forEach(item => {
item.isSelected = false item.isSelected = false
}) })
if (fingerPosition) { // 掌纹指位信息
fingerPosition = ajzwbjImage.finger_position.split(',') self.handsType.forEach(item => {
fingerPosition.forEach((item) => { item.isSelected = false
self.rightFinger.forEach(item2 => { })
if (item2.code == item) { console.log(fingerPosition);
item2.isSelected = true 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(',')
self.leftFinger.forEach(item3 => { fingerPostions.forEach(item => {
if (item3.code == item) { if (item > 30) {
item3.isSelected = true // 掌纹
} 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
}
})
}
}) })
sessionStorage.setItem('fingerPosition_' + this.seq, JSON.stringify(fingerPosition))
} else { } else {
sessionStorage.setItem('fingerPosition_' + this.seq, '') if (fingerPosition) {
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) {
item2.isSelected = true
}
})
self.leftFinger.forEach(item3 => {
if (item3.code == item) {
item3.isSelected = true
}
})
})
}
sessionStorage.setItem('fingerPosition_' + this.seq, JSON.stringify(fingerPosition))
} else {
sessionStorage.setItem('fingerPosition_' + this.seq, '')
}
} }
if (dealFlag == 1) { if (dealFlag == 1) {
self.txbj_type = '已处理' self.txbj_type = '已处理'
} else { } else {
...@@ -3393,6 +3454,11 @@ export default { ...@@ -3393,6 +3454,11 @@ export default {
this.$bus.on("zwType", (zwType) => { this.$bus.on("zwType", (zwType) => {
self.zwType = zwType; self.zwType = zwType;
if (zwType == '指纹') {
self.zzwSwitch = '1'
} else {
self.zzwSwitch = '2'
}
}); });
}, },
methods: { methods: {
...@@ -3472,150 +3538,306 @@ export default { ...@@ -3472,150 +3538,306 @@ export default {
} }
// 从数据库中获取数据 // 从数据库中获取数据
if (flag) { if (flag) {
this.clearALL()
this.isAutoTzd = true this.isAutoTzd = true
let res = await this.$axios({ if (self.seq > 100) {
method: "get", // 掌纹
url: "/api/export/trait/xml/case/" + this.barcode + "/" + this.seq, let res = await this.$axios({
loading: false method: "get",
}); url: "/api/export/trait/xml/case/palm/" + this.barcode + "/" + this.seq,
console.log(res); loading: false
});
// 自动提取特征数组 console.log(res);
if (res.data.code === 0) { if (res.data.code === 0) {
self.autoTzdArr = res.data.ret.minutiaSet.minutia; if (res.data.ret.minutiaSet.minutia && res.data.ret.minutiaSet.minutia.length > 0) {
if (self.autoTzdArr && self.autoTzdArr.length > 0) { res.data.ret.minutiaSet.minutia.forEach(item => {
self.autoTzdArr.forEach((item, index) => { self.autoTzdArr.push({
self.$set(self.autoTzdArr[index], "id", "auto_tzdDom" + self.tzdId); xczw_zwtzd_tzxzb: item.xczhw_zhwtzd_tzxzb,
$( xczw_zwtzd_tzyzb: item.xczhw_zhwtzd_tzyzb,
`<div id="auto_tzdDom${self.tzdId}" class="auto_tzdDom"><div class="head"></div><div class="direction"></div></div>` xczw_zwtzd_tzfx: item.xczhw_zhwtzd_tzfx
).appendTo(".tzdDrawing"); })
$(".auto_tzdDom").css("display", "flex"); })
$(".auto_tzdDom").css("align-items", "center"); }
$(".auto_tzdDom").css("position", "absolute"); if (self.autoTzdArr && self.autoTzdArr.length > 0) {
$(".auto_tzdDom").css("transform-origin", "4px center"); self.autoTzdArr.forEach((item, index) => {
self.$set(self.autoTzdArr[index], "id", "auto_tzdDom" + self.tzdId);
$(".auto_tzdDom .head").css("width", "8px"); $(
$(".auto_tzdDom .head").css("height", "8px"); `<div id="auto_tzdDom${self.tzdId}" class="auto_tzdDom"><div class="head"></div><div class="direction"></div></div>`
$(".auto_tzdDom .head").css("border-radius", "8px"); ).appendTo(".tzdDrawing");
$(".auto_tzdDom .head").css("background-color", "#FFFD0F"); $(".auto_tzdDom").css("display", "flex");
$(".auto_tzdDom").css("align-items", "center");
$(".auto_tzdDom .direction").css("width", "20px"); $(".auto_tzdDom").css("position", "absolute");
$(".auto_tzdDom .direction").css("height", "2px"); $(".auto_tzdDom").css("transform-origin", "4px center");
$(".auto_tzdDom .direction").css("background-color", "#FFFD0F");
$(".auto_tzdDom .head").css("width", "8px");
// console.log(item.xczw_zwtzd_tzxzb); $(".auto_tzdDom .head").css("height", "8px");
// console.log(item.xczw_zwtzd_tzyzb); $(".auto_tzdDom .head").css("border-radius", "8px");
// console.log(item.xczw_zwtzd_tzfx); $(".auto_tzdDom .head").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 .direction").css("width", "20px");
$(`#auto_tzdDom${self.tzdId}`).css("box-sizing", "border-box"); $(".auto_tzdDom .direction").css("height", "2px");
$("#auto_tzdDom" + self.tzdId).css("transform", `rotate(${-item.xczw_zwtzd_tzfx}deg)`); $(".auto_tzdDom .direction").css("background-color", "#FFFD0F");
self.tzdId++;
}); // console.log(item.xczw_zwtzd_tzxzb);
} else { // console.log(item.xczw_zwtzd_tzyzb);
self.autoTzdArr = []; // 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); self.$store.commit("zwbj/setAutoTzdall", self.autoTzdArr);
// 将自动提取的特征点存入session中 // 将自动提取的特征点存入session中
sessionStorage.setItem( sessionStorage.setItem(
`auto_tzdDom${self.seq}`, `auto_tzdDom${self.seq}`,
JSON.stringify(self.autoTzdArr) JSON.stringify(self.autoTzdArr)
); );
// 自动提取重要区域--圆形绘制 // 自动提取重要区域--圆形绘制
if (res.data.ret.minutiaSet.xczw_zdyxx && res.data.ret.minutiaSet.xczw_zdyxx.zddxx_yxhz) { if (res.data.ret.xczhw_zdyxx.zddxx_yxhz) {
let xczw_zdyxx = res.data.ret.minutiaSet.xczw_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); console.log(xczw_zdyxx);
xczw_zdyxx.forEach((item) => { self.autoCircleArr_hand = [];
self.autoCircleArr_hand.push({ if (xczw_zdyxx && xczw_zdyxx.length > 0) {
id: self.circleId, console.log(xczw_zdyxx);
centerX: item.yxtq_yxxzb, xczw_zdyxx.forEach((item) => {
centerY: item.yxtq_yxyzb, self.autoCircleArr_hand.push({
radius: item.yxtq_yxbj 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++;
}); });
// self.circleId = item.id } else {
// 圆 self.autoCircleArr_hand = [];
var $circle = null; }
$circle = $(`<div id="circle${self.circleId}" class="auto_td_circle"></div>`); self.$store.commit("zwbj/setAutoYxhz", self.autoCircleArr_hand);
$(".tzdDrawing").append($circle); // 将自动提取的特征点存入session中
$circle.css("border", "2px solid red"); sessionStorage.setItem(`auto_yxhz_${self.seq}`, JSON.stringify(self.autoCircleArr_hand));
$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++;
// 如果之前画了了重要区域,则展示出来---自由绘制
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,
loading: false
});
console.log(res);
// 自动提取特征数组
if (res.data.code === 0) {
self.autoTzdArr = res.data.ret.minutiaSet.minutia;
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 { } else {
self.autoCircleArr_hand = []; self.autoTzdArr = [];
} }
self.$store.commit("zwbj/setAutoYxhz", self.autoCircleArr_hand);
self.$store.commit("zwbj/setAutoTzdall", self.autoTzdArr);
// 将自动提取的特征点存入session中 // 将自动提取的特征点存入session中
sessionStorage.setItem(`auto_yxhz_${self.seq}`, JSON.stringify(self.autoCircleArr_hand)); sessionStorage.setItem(
} `auto_tzdDom${self.seq}`,
JSON.stringify(self.autoTzdArr)
);
// 自动提取重要区域--圆形绘制
if (res.data.ret.minutiaSet.xczw_zdyxx && res.data.ret.minutiaSet.xczw_zdyxx.zddxx_yxhz) {
let xczw_zdyxx = res.data.ret.minutiaSet.xczw_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.minutiaSet.xczw_zdyxx && res.data.ret.minutiaSet.xczw_zdyxx.zddxx_zyhz) { // 如果之前画了了重要区域,则展示出来---自由绘制
let zddxx_zyhz = res.data.ret.minutiaSet.xczw_zdyxx.zddxx_zyhz; if (res.data.ret.minutiaSet.xczw_zdyxx && res.data.ret.minutiaSet.xczw_zdyxx.zddxx_zyhz) {
console.log(zddxx_zyhz); let zddxx_zyhz = res.data.ret.minutiaSet.xczw_zdyxx.zddxx_zyhz;
if (zddxx_zyhz && zddxx_zyhz.length > 0) { console.log(zddxx_zyhz);
// self.Fcanvas = zddxx_zyhz if (zddxx_zyhz && zddxx_zyhz.length > 0) {
if (zddxx_zyhz.length > 0) { // self.Fcanvas = zddxx_zyhz
zddxx_zyhz.forEach((item) => { if (zddxx_zyhz.length > 0) {
let arr = []; zddxx_zyhz.forEach((item) => {
item.zddxx_zyhzzbd.forEach(item2 => { let arr = [];
arr.push({ item.zddxx_zyhzzbd.forEach(item2 => {
x: item2.zdytq_tzdxzb, arr.push({
y: item2.zdytq_tzdyzb 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);
}); });
self.autoFcanvas.push(arr); }
} else {
var polygon = new fabric.Polygon(arr, { self.autoFcanvas = [];
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 { console.log(self.autoFcanvas);
self.autoFcanvas = []; self.$store.commit("zwbj/setAutoZyhz", self.autoFcanvas);
// 将自动提取的特征点存入session中
sessionStorage.setItem(`auto_zyhz_${self.seq}`, JSON.stringify(self.autoFcanvas));
} }
console.log(self.autoFcanvas); } else if (res.data.code == 4 || res.data.code == 99) {
self.$store.commit("zwbj/setAutoZyhz", self.autoFcanvas); // 没有相关记录
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中 // 将自动提取的特征点存入session中
sessionStorage.setItem(`auto_zyhz_${self.seq}`, JSON.stringify(self.autoFcanvas)); sessionStorage.setItem(`auto_zyhz_${self.seq}`, JSON.stringify([]));
} }
} else if (res.data.code == 4) {
// 没有相关记录
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 { } else {
// 从session中拿 // 从session中拿
if (sessionStorage.getItem(`auto_tzdDom${this.seq}`)) { if (sessionStorage.getItem(`auto_tzdDom${this.seq}`)) {
...@@ -5162,131 +5384,258 @@ export default { ...@@ -5162,131 +5384,258 @@ export default {
// 自动的 // 自动的
self.tzdall = []; self.tzdall = [];
console.log(self.autoTzdArr); console.log(self.autoTzdArr);
if (self.autoTzdArr && self.autoTzdArr.length > 0) { if (self.seq > 100) {
// self.tzdall.concat(self.autoTzdArr) // 掌纹
self.autoTzdArr.forEach((item) => { if (self.autoTzdArr && self.autoTzdArr.length > 0) {
self.tzdall.push({ // self.tzdall.concat(self.autoTzdArr)
xczw_zwtzd_tzfx: item.xczw_zwtzd_tzfx, self.autoTzdArr.forEach((item) => {
xczw_zwtzd_tzxzb: item.xczw_zwtzd_tzxzb, self.tzdall.push({
xczw_zwtzd_tzyzb: item.xczw_zwtzd_tzyzb 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);
console.log(self.tzdArr); // 手动的
// 手动的 if (self.tzdArr.length > 0) {
if (self.tzdArr.length > 0) { self.tzdArr.forEach((item) => {
self.tzdArr.forEach((item) => { self.tzdall.push({
self.tzdall.push({ xczhw_zhwtzd_tzfx: item.angle,
xczw_zwtzd_tzfx: item.angle, xczhw_zhwtzd_tzxzb: item.x,
xczw_zwtzd_tzxzb: item.x, xczhw_zhwtzd_tzyzb: item.y
xczw_zwtzd_tzyzb: item.y });
}); });
}); }
}
// 处理数据--圆 // 处理数据--圆
let circleArr_hand_t = []; let circleArr_hand_t = [];
let circleArr_hand_t2 = []; let circleArr_hand_t2 = [];
if (self.circleArr_hand) { if (self.circleArr_hand) {
self.circleArr_hand.forEach((item) => { self.circleArr_hand.forEach((item) => {
circleArr_hand_t.push({ circleArr_hand_t.push({
yxtq_yxxzb: item.centerX, yxtq_yxxzb: item.centerX,
yxtq_yxyzb: item.centerY, yxtq_yxyzb: item.centerY,
yxtq_yxbj: item.radius yxtq_yxbj: item.radius
});
}); });
}); }
} if (self.autoCircleArr_hand) {
if (self.autoCircleArr_hand) { self.autoCircleArr_hand.forEach((item) => {
self.autoCircleArr_hand.forEach((item) => { circleArr_hand_t.push({
circleArr_hand_t.push({ yxtq_yxxzb: item.centerX,
yxtq_yxxzb: item.centerX, yxtq_yxyzb: item.centerY,
yxtq_yxyzb: item.centerY, yxtq_yxbj: item.radius
yxtq_yxbj: item.radius });
}); });
}); }
}
console.log("圆:" + circleArr_hand_t);
// TODO console.log("圆:" + circleArr_hand_t);
// 处理数据---自由
let Fcanvasarr_s = []; // TODO
let Fcanvasarr_t = []; // 处理数据---自由
if (self.Fcanvasarr) { let Fcanvasarr_s = [];
self.Fcanvasarr.forEach((itemarr) => { let Fcanvasarr_t = [];
itemarr.forEach((item) => { if (self.Fcanvasarr) {
Fcanvasarr_s.push({ self.Fcanvasarr.forEach((itemarr) => {
zdytq_tzdxzb: item.x, itemarr.forEach((item) => {
zdytq_tzdyzb: item.y Fcanvasarr_s.push({
zdytq_tzdxzb: item.x,
zdytq_tzdyzb: item.y
});
}); });
}); Fcanvasarr_t.push({
Fcanvasarr_t.push({ zddxx_zyhzzbd: Fcanvasarr_s
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_s = [];
}); });
Fcanvasarr_t.push({ }
zddxx_zyhzzbd: 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 = [];
}); });
Fcanvasarr_s = []; }
}); console.log("自由:" + Fcanvasarr_t);
}
console.log("自由:" + Fcanvasarr_t);
self.fpt5LMinutiaList = []; self.fpt5LMinutiaList = [];
// self.fpt5LMinutiaList.push(self.circleArr_hand) // self.fpt5LMinutiaList.push(self.circleArr_hand)
// self.fpt5LMinutiaList.push(self.Fcanvasarr) // self.fpt5LMinutiaList.push(self.Fcanvasarr)
self.fpt5LMinutiaList.push(circleArr_hand_t); self.fpt5LMinutiaList.push(circleArr_hand_t);
self.fpt5LMinutiaList.push(Fcanvasarr_t); self.fpt5LMinutiaList.push(Fcanvasarr_t);
console.log(self.fpt5LMinutiaList); console.log(self.fpt5LMinutiaList);
console.log(self.tzdall); console.log(self.tzdall);
let fpt5TraitMinutiaList = { let fpt5TraitMinutiaList = {
minutiaSet: { minutiaSet: {
minutia: self.tzdall, minutia: self.tzdall,
xczw_zdyxx: { },
xczhw_zdyxx: {
zddxx_yxhz: circleArr_hand_t, zddxx_yxhz: circleArr_hand_t,
zddxx_zyhz: Fcanvasarr_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()
} }
}, })
xczhw_xcwzbh: self.seq > 9 ? self.seq : "0" + self.seq, }
// zwPosition: sessionStorage.getItem('fingerPosition_'+this.seq) else {
}; // 指纹
if (self.autoTzdArr && self.autoTzdArr.length > 0) {
// self.tzdall.concat(self.autoTzdArr)
self.autoTzdArr.forEach((item) => {
self.tzdall.push({
xczw_zwtzd_tzfx: item.xczw_zwtzd_tzfx,
xczw_zwtzd_tzxzb: item.xczw_zwtzd_tzxzb,
xczw_zwtzd_tzyzb: item.xczw_zwtzd_tzyzb
});
});
}
console.log(self.tzdArr);
// 手动的
if (self.tzdArr.length > 0) {
self.tzdArr.forEach((item) => {
self.tzdall.push({
xczw_zwtzd_tzfx: item.angle,
xczw_zwtzd_tzxzb: item.x,
xczw_zwtzd_tzyzb: item.y
});
});
}
console.log(8888); // 处理数据--圆
this.$axios({ let circleArr_hand_t = [];
method: "post", let circleArr_hand_t2 = [];
headers: { if (self.circleArr_hand) {
"Content-Type": "application/json;charset=UTF-8" self.circleArr_hand.forEach((item) => {
}, circleArr_hand_t.push({
url: yxtq_yxxzb: item.centerX,
"/api/upload/trait/case?barcode=" + yxtq_yxyzb: item.centerY,
self.barcode + yxtq_yxbj: item.radius
"&seq=" + });
self.seq, });
data: JSON.stringify(fpt5TraitMinutiaList),
loading: true
}).then((res) => {
console.log(res);
if (res.data.message == "success") {
self.$message.success("保存成功!");
// 记录session保存的个数
self.sessionCount++;
self.judgeJumpRoute()
} }
}); 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,
xczw_zdyxx: {
zddxx_yxhz: circleArr_hand_t,
zddxx_zyhz: Fcanvasarr_t
}
},
xczhw_xcwzbh: self.seq > 9 ? self.seq : "0" + self.seq,
// zwPosition: sessionStorage.getItem('fingerPosition_'+this.seq)
};
this.$axios({
method: "post",
headers: {
"Content-Type": "application/json;charset=UTF-8"
},
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.code == 0) {
self.$message.success("保存成功!");
// 记录session保存的个数
self.sessionCount++;
self.judgeJumpRoute()
}
});
}
} }
else if (this.saveType === "全部特征") { else if (this.saveType === "全部特征") {
let sessionArr = []; let sessionArr = [];
...@@ -5320,7 +5669,7 @@ export default { ...@@ -5320,7 +5669,7 @@ export default {
var sessionKeys = Object.keys(sessionStorage); var sessionKeys = Object.keys(sessionStorage);
for (var i = 0; i < sessionKeys.length; i++) { for (var i = 0; i < sessionKeys.length; i++) {
//可以对key 进行分析从而决定是否要删除sessionStorage 里的缓存 // 可以对key 进行分析从而决定是否要删除sessionStorage 里的缓存
// console.log(sessionKeys[i], sessionStorage.getItem(sessionKeys[i])); // console.log(sessionKeys[i], sessionStorage.getItem(sessionKeys[i]));
// 去掉auto // 去掉auto
if (sessionKeys[i][0] === "a") { if (sessionKeys[i][0] === "a") {
...@@ -5379,7 +5728,6 @@ export default { ...@@ -5379,7 +5728,6 @@ export default {
} }
} }
} }
console.log(allTZData); console.log(allTZData);
...@@ -5561,29 +5909,61 @@ export default { ...@@ -5561,29 +5909,61 @@ export default {
if (sessionKeys[i].substring(0, 14) === 'fingerPosition') { if (sessionKeys[i].substring(0, 14) === 'fingerPosition') {
// 查到指位信息,存入要保存的数组中 // 查到指位信息,存入要保存的数组中
let index = Number(sessionKeys[i].substring(15, sessionKeys[i].length)) let index = Number(sessionKeys[i].substring(15, sessionKeys[i].length))
console.log(index);
console.log(sessionStorage.getItem(sessionKeys[i])); console.log(sessionStorage.getItem(sessionKeys[i]));
if (sessionStorage.getItem(sessionKeys[i]) != "") { for (let j = 0; j < all_tjsj.length; j++) {
self.$set(all_tjsj[index - 1], 'fingerPosition', JSON.parse(sessionStorage.getItem(sessionKeys[i]))) if (all_tjsj[j].xczhw_xcwzbh == index) {
} else { if (sessionStorage.getItem(sessionKeys[i]) != "") {
self.$set(all_tjsj[index - 1], 'fingerPosition', "") self.$set(all_tjsj[j], 'fingerPosition', JSON.parse(sessionStorage.getItem(sessionKeys[i])))
} else {
self.$set(all_tjsj[j], 'fingerPosition', "")
}
}
} }
} }
} }
console.log(all_tjsj); 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_zyhz = [];
tjsj_zddxx_yxhz = []; tjsj_zddxx_yxhz = [];
tjsj_tzd = []; tjsj_tzd = [];
// 指纹特征点数据保存
this.$axios({ this.$axios({
method: "post", method: "post",
headers: { headers: {
"Content-Type": "application/json;charset=UTF-8" "Content-Type": "application/json;charset=UTF-8"
}, },
url: "/api/upload/trait/allcase?barcode=" + self.barcode, url: "/api/upload/trait/allcase?barcode=" + self.barcode,
data: JSON.stringify(all_tjsj) data: JSON.stringify(finger_tjsj)
}).then(res => { }).then(res => {
// console.log(res); // console.log(res);
if (res.data.code === 0) { if (res.data.code === 0) {
...@@ -5593,7 +5973,23 @@ export default { ...@@ -5593,7 +5973,23 @@ export default {
self.judgeJumpRoute() 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 === "当前特征和图片") { else if (this.saveType === "当前特征和图片") {
// 处理特征点---保存前需要处理数据 // 处理特征点---保存前需要处理数据
...@@ -5802,45 +6198,124 @@ export default { ...@@ -5802,45 +6198,124 @@ export default {
}; };
self.$store.commit('loading/setLoadingSd', true) self.$store.commit('loading/setLoadingSd', true)
this.$axios({
method: "post",
headers: {
"Content-Type": "application/json;charset=UTF-8"
},
url:
"/api/upload/trait/case?barcode=" +
self.barcode +
"&seq=" +
self.seq,
data: JSON.stringify(fpt5TraitMinutiaList),
loading: false
}).then((res) => {
console.log(res);
if (res.data.message == "success") {
self.$message.success("特征保存成功!");
// 记录session保存的个数
self.sessionCount++;
self.judgeJumpRoute()
} else {
self.$message.error("特征保存失败!");
}
});
// 处理指位信息 if (self.seq > 100) {
let lr_finger = []; // 掌纹
let tj_lr_finger = ""; console.log(fpt5TraitMinutiaList);
this.rightFinger.forEach(item => { let arr = []
if (item.isSelected) { if (fpt5TraitMinutiaList.minutiaSet.minutia && fpt5TraitMinutiaList.minutiaSet.minutia.length > 0) {
lr_finger.push(item.code); 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 = {
this.leftFinger.forEach(item => { minutiaSet: {
if (item.isSelected) { minutia: arr
lr_finger.push(item.code); },
xczhw_zdyxx: {
zddxx_yxhz: fpt5TraitMinutiaList.minutiaSet.xczw_zdyxx.zddxx_yxhz,
zddxx_zyhz: fpt5TraitMinutiaList.minutiaSet.xczw_zdyxx.zddxx_zyhz,
},
xczhw_xczzhwbh: fpt5TraitMinutiaList.xczhw_xcwzbh
} }
}); // 处理指位信息
tj_lr_finger = lr_finger.join(","); let lr_finger = [];
console.log(tj_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',
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(handFpt5)
}).then(res => {
if (res.data.code == 0) {
self.$message.success("保存成功!");
// 记录session保存的个数
self.sessionCount++;
self.judgeJumpRoute()
}
})
} else {
// 指纹
// 处理指位信息
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",
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图片自处理 --- 后端压缩需要将透明的补成白色背景 // canvas图片自处理 --- 后端压缩需要将透明的补成白色背景
/*let canvas_imgSave = document.querySelector('.tui-image-editor-canvas-container .lower-canvas'); /*let canvas_imgSave = document.querySelector('.tui-image-editor-canvas-container .lower-canvas');
...@@ -5877,22 +6352,6 @@ export default { ...@@ -5877,22 +6352,6 @@ export default {
let tj_grey = grey.getBase64().split(',')[1] let tj_grey = grey.getBase64().split(',')[1]
console.log(tj_grey);*/ 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 { ...@@ -5941,6 +6400,21 @@ export default {
*/ */
openZyhz () { openZyhz () {
this.isZyhzFlag = !this.isZyhzFlag 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: 开启/关闭自由绘制下拉框 * @description: 开启/关闭自由绘制下拉框
...@@ -6540,9 +7014,33 @@ export default { ...@@ -6540,9 +7014,33 @@ export default {
tj_lr_finger = lr_finger.join(","); tj_lr_finger = lr_finger.join(",");
console.log(tj_lr_finger); console.log(tj_lr_finger);
sessionStorage.setItem('fingerPosition_' + this.seq, JSON.stringify(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: { watch: {
// 掌纹信息
handsType: {
handler (newValue, oldValue) {
// 处理指位信息
this.handleHandPosition()
},
immediate: true,
deep: true
},
// 指位信息 --- 右手 // 指位信息 --- 右手
rightFinger: { rightFinger: {
handler (newValue, oldValue) { handler (newValue, oldValue) {
......
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2021-12-01 15:25:22 * @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 * @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \指纹系统\founder_vue\src\views\AllPersonnelBase\bzxxfh.vue * @FilePath: \指纹系统\founder_vue\src\views\AllPersonnelBase\bzxxfh.vue
...@@ -75,8 +75,8 @@ ...@@ -75,8 +75,8 @@
<div class="plcz btn" @click="batch">批量操作</div> <div class="plcz btn" @click="batch">批量操作</div>
</div> </div>
<div class="bzxxfh-content-top-right"> <div class="bzxxfh-content-top-right">
<div class="jcbzgx btn" @click="cxbzgxChange">解除比中关系</div> <!-- <div class="jcbzgx btn" @click="cxbzgxChange">解除比中关系</div>
<div class="cxfh btn" @click="cxfhChange2">撤销复核</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 class="fztm btn" v-clipboard:copy="fztm_ytmh" @click="fztmChange" v-clipboard:success="onCopy" v-clipboard:error="onError">复制条码</div>
</div> </div>
</div> </div>
...@@ -109,18 +109,18 @@ ...@@ -109,18 +109,18 @@
</el-table-column> </el-table-column>
<el-table-column prop="fhsj" label="复核时间" :width="width4" :formatter="dateTimeFormat"> <el-table-column prop="fhsj" label="复核时间" :width="width4" :formatter="dateTimeFormat">
</el-table-column> </el-table-column>
<el-table-column prop="affirmStatus" label="复核状态" :width="width3"> <el-table-column prop="reviewStatus" label="复核状态" :width="width3">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="fhzt"> <div class="fhzt">
<div :class="{wfh: scope.row.affirmStatus==='0', fhyx: scope.row.affirmStatus==='2', fhwx: scope.row.affirmStatus==='1'}"></div> <div :class="{wfh: scope.row.reviewStatus==='0', fhyx: scope.row.reviewStatus==='2', fhwx: scope.row.reviewStatus==='1'}"></div>
{{scope.row.affirmStatus=='0' ? '未复核' : (scope.row.affirmStatus=='2' ? '复核有效' : '复核无效')}} {{scope.row.reviewStatus=='0' ? '未复核' : (scope.row.reviewStatus=='2' ? '复核有效' : '复核无效')}}
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="nydwGajgmc" label="操作" width="auto"> <el-table-column prop="nydwGajgmc" label="操作" width="auto">
<template slot-scope="scope"> <template slot-scope="scope">
<div @click="dfh(scope.row)" v-show="scope.row.affirmStatus==='0'" :class="{dfh: 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.affirmStatus!='0'" :class="{cxfh: scope.row.affirmStatus!='0'}">撤销复核</div> <div @click="cxfhChange($event,scope.row)" v-show="scope.row.reviewStatus!='0'" :class="{cxfh: scope.row.reviewStatus!='0'}">撤销复核</div>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
......
...@@ -237,13 +237,15 @@ export default { ...@@ -237,13 +237,15 @@ export default {
querytype querytype
} }
}).then(response => { }).then(response => {
// 跟新列表数据 if(response.data.code === 0) {
self.$bus.emit("updateFinderSource"); // 跟新列表数据
//console.log(response); self.$bus.emit("updateFinderSource");
this.$message.success("认定完成!"); //console.log(response);
if (type == "son") { this.$message.success("认定完成!");
window.close();
} }
// if (type == "son") {
// window.close();
// }
}); });
}, },
/** /**
......
...@@ -215,13 +215,15 @@ export default { ...@@ -215,13 +215,15 @@ export default {
querytype querytype
} }
}).then(response => { }).then(response => {
// 跟新列表数据 if(response.data.code === 0) {
self.$bus.emit("updateTLSourceData"); // 跟新列表数据
//console.log(response); self.$bus.emit("updateTLSourceData");
this.$message.success("认定完成!"); //console.log(response);
if (type == "son") { this.$message.success("认定完成!");
window.close();
} }
// if (type == "son") {
// window.close();
// }
}); });
}, },
/** /**
......
/* /*
* @Author: your name * @Author: your name
* @Date: 2021-09-07 09:57:48 * @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 * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
* @FilePath: \指纹系统\founder_vue\vue.config.js * @FilePath: \指纹系统\founder_vue\vue.config.js
...@@ -92,14 +92,14 @@ module.exports = { ...@@ -92,14 +92,14 @@ module.exports = {
// target: "http://192.168.0.137:8080/", //统一的请求头部每次修改都要重启才会生效 http://39.99.224.27:8006/ // 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.166:8099/", // 张 认定
// target: "http://192.168.128.108: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.116:8099", // 湖南-王
// target: "http://192.168.128.118:8764", // 湖南-张呈光 // target: "http://192.168.128.118:8764", // 湖南-张呈光
// target: "http://172.18.116.73:8099/", //统一的请求头部每次修改都要重启才会生效 http://39.99.224.27:8006/ ma // target: "http://172.18.116.73:8099/", //统一的请求头部每次修改都要重启才会生效 http://39.99.224.27:8006/ ma
// target: "http://127.0.0.1:8099", // target: "http://127.0.0.1:8099",
// target: "http://47.92.225.109:5602", // target: "http://47.92.225.109:5602",
// target: "http://www.meetfood.cn:2390", // 湖南-线上 // target: "http://www.meetfood.cn:2390", // 湖南-线上
target: "http://192.168.128.115:8099", // 江 // target: "http://192.168.128.115:8099", // 江
ws: true, ws: true,
changeOrigin: 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