Commit 53ddc1f0 by 张超军

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

parents 317812e6 3720cfc9
<!--
* @Author: your name
* @Date: 2021-09-09 09:28:46
* @LastEditTime: 2021-12-16 21:33:05
* @LastEditors: Please set LastEditors
* @LastEditTime: 2021-12-17 10:19:51
* @Description: In User Settings Edit
* @FilePath: \指纹系统\founder_vue\src\views\cxyrd\LTz.vue
-->
......@@ -1987,6 +1986,8 @@ export default {
this.$bus.on('deleteMessage', (obj) => {
if (obj.delTime != null) {
self.zwtp_target = false
self.zwtp_source = false
self.isDelete = true
self.delTime = obj.delTime
self.sourceImage = null;
......@@ -2013,6 +2014,8 @@ export default {
this.$bus.on('targetDeleteMessage', (obj) => {
if (obj.delTime != null) {
self.zwtp_target = false
self.zwtp_source = false
self.targetIsDelete = true
self.targetDelTime = obj.delTime
self.targetImage = null;
......
<!--
* @Author: your name
* @Date: 2021-11-25 10:15:01
* @LastEditTime: 2021-12-15 17:33:15
* @LastEditTime: 2021-12-17 10:18:53
* @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \founder_vue\src\components\SelectCode.vue
......@@ -27,7 +27,7 @@
@change="change"
@visible-change="visibleChange"
>
<el-checkbox-group v-model="newForm[id]">
<el-checkbox-group v-model="newForm[id]" :max="multipleLimit">
<el-option
ref="option"
v-for="item in options"
......@@ -79,6 +79,8 @@ export default {
type: [String, Number],
default: 16.5,
},
//多选时最多可以选择几个
multipleLimit: Number,
},
watch: {
// form: {
......
<!--
* @Author: your name
* @Date: 2021-10-22 11:36:10
* @LastEditTime: 2021-12-16 23:33:51
* @LastEditTime: 2021-12-17 09:59:42
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \指纹系统\founder_vue\src\views\Editor\modules\imageEd.vue
......@@ -2246,7 +2246,8 @@ export default {
if (self.isHand || self.isHandSpace) {
// 放大后开启拖拽
// self.startHand = true
if (self.zoomLevel > 1) {
// if (self.zoomLevel > 1) {
if (self.imageEditor.getZoom() > 1) {
self.startHand = true;
}
}
......@@ -4310,14 +4311,17 @@ export default {
this.bb = this.canvasHeight / frame;
}
this.imageEditor.zoom({
// y: self.newHeight / 2,
// x: self.newWidth / 2,
y: 0,
x: 0,
zoomLevel: self.bb,
});
$(".blc").css("width", (3 / 5) * this.canvasHeight + "px");
// 缩放前后不改变中心点
// this.imageEditor.zoom({
// // y: self.newHeight / 2,
// // x: self.newWidth / 2,
// y: 0,
// x: 0,
// zoomLevel: self.bb,
// });
this.zoomImage(self.bb);
$(".blc").css("width", (3 / 5) * this.canvashWidth + "px");
$(".blc").css("height", (3 / 5) * this.canvasHeight + "px");
$(".blc_small").css(
......@@ -4328,6 +4332,12 @@ export default {
"height",
((3 / 5) * this.canvasHeight * 180) / 670 / this.bb + "px"
);
$(".blc_small").css(
"left",$(".small-drawing").width()/2-$(".blc_small").width()/2 + "px"
);
$(".blc_small").css(
"top",$(".small-drawing").height()/2-$(".blc_small").height()/2 + "px"
);
} else {
// 掌纹
let frame_min = (this.line_distance / this.rule_num) * 26; // 512px == 26mm
......@@ -4707,6 +4717,7 @@ export default {
self.small_y = e.clientY - y;
if (self.isCrop) {
$(".blc").css(
"left",
((e.clientX - x) / $(".small-drawing").width()) *
......@@ -4719,101 +4730,40 @@ export default {
$(".body-container").width() +
"px"
);
} else {
} else {
let canvasImage = self.imageEditor._graphics.getCanvasImage();
// x在这里是NAN,所以加了self.x
let src = {
x: ((e.clientX - self.x) / Number($(".small-drawing").width()) *
self.newHeight),
y: ((e.clientY - self.y) / Number($(".small-drawing").width()) *
self.newHeight)
};
// let src = {
// x: e.clientX - self.x,
// y: e.clientY - self.y
// };
console.log(src);
// 获取大手纹框(#blc)的偏移位置
const [dswkCenterX,dswkCenterY]=[$("#blc").position().left+$("#blc").width()/2,$("#blc").position().top+$("#blc").height()/2]
const [dswkOffsetX,dswkOffsetY]=[dswkCenterX-self.canvasWidth/2,dswkCenterY-self.canvasHeight/2];
const [xswkOffseteX,xswkOffseteY]=[dswkOffsetX/self.canvasWidth*$(".small-drawing").width(),dswkOffsetY/self.canvasHeight*$(".small-drawing").height()];
let det = {
x: Number($(".small-drawing-img").width()) / 2,
y: Number($(".small-drawing-img").height()) / 2
};
console.log(det);
const point = { x: src.x, y: src.y };
// const angle = -Math.PI / 2;
// 角度超出360°范围了
console.log(self.startPlace);
if (self.startPlace <= -360) {
self.startPlace = 0;
}
if (self.startPlace >= 360) {
self.startPlace = 0;
}
const angle = -canvasImage.angle * Math.PI / 180.00;
console.log(angle);
// 角度 * Math.PI / 180
const [x, y] = reverse(
point.x,
point.y,
det.x,
det.y,
-angle
);
console.log(x, y);
console.log(canvasImage);
// self.imageEditor._graphics.setImageProperties(
// {
// left: -x,
// top: -y,
// // left: -(x / Number($(".small-drawing").width()) *
// // self.newHeight),
// // top:-(y / Number($(".small-drawing").width()) *
// // self.newHeight),
// originX: "left",
// originY: "top"
// },
// true
// );
let xx = ((e.clientX - self.x - self.crop_left) / Number($(".small-drawing").width()) *
self.newHeight)
let yy = ((e.clientY - self.y - self.crop_top) / Number($(".small-drawing").width()) *
self.newHeight)
console.log("不加x:", ((e.clientX - self.x) / Number($(".small-drawing").width()) * self.newHeight));
console.log("加x:", ((e.clientX - self.x - self.crop_left) / Number($(".small-drawing").width()) * self.newHeight));
// self.imageEditor._graphics.setImageProperties(
// {
// left: -x,
// top: -y,
// originX: "left",
// originY: "top"
// },
// true
// );
// LMM↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
// 获取鹰眼图框中心点
// 获取缩略图框中心点
const [yyCenterX, yyCenterY] = [
$(".preview-source").width() / 2,
$(".preview-source").height() / 2,
$(".small-drawing").width() / 2,
$(".small-drawing").height() / 2,
];
// 获取小框的中心点
// 获取小指纹框的中心点
const [xlCenterX, xlCenterY] = [
$("#block_small").width() / 2 +
$("#block_small").position().left,
$("#block_small").height() / 2 +
$("#block_small").position().top,
$("#blc_small").width() / 2 +
$("#blc_small").position().left,
$("#blc_small").height() / 2 +
$("#blc_small").position().top,
];
// 当前中心点偏移量
// 对应的画框的中心点
const [tempCenterX,tempCenterY]=[xlCenterX-xswkOffseteX,xlCenterY-xswkOffseteY]
// 当前小蓝框中心点偏移量
const [smallOffsetX, smallOffsetY] = [
xlCenterX - yyCenterX,
xlCenterY - yyCenterY,
tempCenterX - yyCenterX,
tempCenterY - yyCenterY
];
const [canvasOffsetX, canvasOffsetY] = [
(smallOffsetX / $(".preview-source").width()) *
(smallOffsetX / $(".small-drawing").width()) *
canvasImage.width,
(smallOffsetY / $(".preview-source").height()) *
(smallOffsetY / $(".small-drawing").height()) *
canvasImage.height,
];
// 计算图片原来的偏移量得到不偏移情况的left top 值
......@@ -4822,11 +4772,12 @@ export default {
centerP.x - canvasImage.width / 2,
centerP.y - canvasImage.height / 2,
];
const [canvasleft, canvastop] = [
canvasImage.left - canvasOffsetX - oldCanvasOffsetX,
canvasImage.top - canvasOffsetY - oldCanvasOffsetY,
];
// 大手纹框的偏移量
const zoom = self.imageEditor.getZoom();
const [canvasleft, canvastop] = [
canvasImage.left - canvasOffsetX - oldCanvasOffsetX,
canvasImage.top - canvasOffsetY- oldCanvasOffsetY
];
self.imageEditor._graphics.setImageProperties(
{
left: canvasleft,
......@@ -4837,6 +4788,15 @@ export default {
true
);
self.changeTzdDrawing(true, true);
// LMM↑↑↑↑↑↑↑↑↑↑↑↑
// let canvasImage = self.imageEditor._graphics.getCanvasImage();
......@@ -7408,7 +7368,8 @@ export default {
this.imageEditor.stopDrawingMode();
this.isHand = !this.isHand;
if (this.isHand) {
this.$message("拖动前请放大图像");
if(this.imageEditor.getZoom()<=1){
this.$message("拖动前请放大图像");}
$(".drag").css("background", "#055FE7");
// 开启拖拽
this.imageEditor._graphics._attachZoomEvents2();
......@@ -7604,6 +7565,7 @@ export default {
$(".block_small").css("top", `${xlTop}px`);
}
// 导入图片的角度/翻转处理
if (this.isTpdr_flag) {
$(".small-drawing-img").css("transform", `rotateY(${rotateY}deg) rotate(${angle}deg) rotateX(${rotateX}deg)`);
}
......
......@@ -216,7 +216,7 @@ export default {
methods: {
goQBAJK () {
if (!this.roleArr.includes("F-2-16")) return;
this.$router.push({
this.$router.pushToTab({
path: "/qbalk",
query: {
xzaj: true,
......@@ -225,31 +225,31 @@ export default {
},
toXtgl () {
if (!this.roleArr.includes("H")) return;
this.$router.push("/UserManage");
this.$router.pushToTab("/UserManage");
},
godrFPTX () {
if (!this.roleArr.includes("B-1")) return;
this.$router.push("/drFPTX");
this.$router.pushToTab("/drFPTX");
},
gobdrd () {
if (!this.roleArr.includes("C")) return;
this.$router.push("/cxyrd");
this.$router.pushToTab("/cxyrd");
},
gosjzygl () {
if (!this.roleArr.includes("F-1")) return;
this.$router.push("/AllPersonnelBaseIndex/");
this.$router.pushToTab("/AllPersonnelBaseIndex/");
},
gozzwcj () {
if (!this.roleArr.includes("A")) return;
this.$router.push("/zzwcj")
this.$router.pushToTab("/zzwcj")
},
gozljc () {
if (!this.roleArr.includes("D")) return;
this.$router.push("/zljc")
this.$router.pushToTab("/zljc")
},
gobzxxgl () {
if (!this.roleArr.includes("G")) return;
this.$router.push("/bzxxfh")
this.$router.pushToTab("/bzxxfh")
},
logout () {
this.$axios
......
......@@ -51,6 +51,7 @@
id="permissionId"
codeUrl="/security/permissions/getAllPermission"
multiple
:multipleLimit="3"
></SelectCode>
</div>
<div class="clear-btn" @click="clear" v-if="newStr">清空</div>
......
......@@ -174,6 +174,10 @@
{{ btn.name }}
</div>
</div>
<div class="rgrd" @click="$refs.recognitionDialog.open()">
<img src="@/assets/img/person1.png" alt="" />
<span>人工认定</span>
</div>
</div>
</div>
<hr />
......@@ -473,6 +477,8 @@
<el-dialog :visible.sync="historyDialogVisible" style="z-index: 1500">
</el-dialog>
<recognitionDialog ref="recognitionDialog"> </recognitionDialog>
<Fcxtj
:isShowFcx="isShowFcx"
:type="dialogType"
......@@ -491,9 +497,10 @@ import SvgIcon from "../../components/SvgIcon/index.vue";
import "@/icons/tree_f.svg";
import "@/icons/tree_c.svg";
import Confirmation from "@/components/Confirmation.vue";
import recognitionDialog from "./modules/Recognition_dialog.vue";
export default {
name: "cxyrd",
components: { SvgIcon, Confirmation, Fcxtj },
components: { SvgIcon, Confirmation, Fcxtj, recognitionDialog },
data() {
return {
isShowFcx: false,
......@@ -1323,6 +1330,19 @@ div {
display: inline-block;
/*border: none;*/
}
.rgrd {
float: right;
color: #055fe7;
cursor: pointer;
img {
cursor: pointer;
margin-right: 5px;
}
> span {
cursor: pointer;
color: #055fe7 !important;
}
}
hr {
background-color: #eeeeee;
height: 1px;
......
......@@ -83,7 +83,12 @@
</span>
</template>
</el-table-column>
<el-table-column prop="destbarcode" label="目标条码号" width="auto" v-if="roleArr.includes('C-1-7')">
<el-table-column
prop="destbarcode"
label="目标条码号"
width="auto"
v-if="roleArr.includes('C-1-7')"
>
<template slot-scope="scope">
<!-- 被删除-->
<span v-if="scope.row.removeFlag === 1">
......@@ -1076,10 +1081,11 @@ export default {
// 存储目的数据序号
sessionStorage.setItem("destseqno", val.destseqno);
self.$store.commit("loading/setLoading", true);
// 平面 --- 换压缩图
if (val.destseqno > 10) {
///////////////////////////////
if (self.fingerShowType == "指纹") {
//案件指纹
this.$axios
.post("/api/png/plainByBarcode/barcode", {
.post("/api/org/case/barcode/seqNo", {
barcode: val.destbarcode,
seqno: val.destseqno,
qqid: val.qqid,
......@@ -1087,28 +1093,32 @@ export default {
.then((response) => {
self.$bus.emit(
"changImageEditTarget",
response.data.ret[0].image
response.data.ret.image || "xxx"
);
});
clearTimeout(self.timer);
self.timer = setTimeout(() => {
self.$store.commit("loading/setLoading", false);
}, 500);
} else {
// 滚动 --- 换压缩图
//案件指纹
this.$axios
.post("/api/org/case/barcode/seqNo", {
.post("/api/org/case/palm/barcode/seq", {
barcode: val.destbarcode,
seqno: val.destseqno,
qqid: val.qqid,
hpseqno: val.destseqno,
})
// qqid: val.qqid,
.then((response) => {
self.$bus.emit(
"changImageEditTarget",
response.data.ret.image
response.data.ret.image || "xxx"
);
});
clearTimeout(self.timer);
self.timer = setTimeout(() => {
self.$store.commit("loading/setLoading", false);
}, 500);
}
clearTimeout(self.timer);
self.timer = setTimeout(() => {
self.$store.commit("loading/setLoading", false);
}, 500);
// this.$axios.get(`/api/api/org/plainByBarcode/R1100002487002018050034/1/`)
// this.$axios
......@@ -1149,7 +1159,7 @@ export default {
computed: {
roleArr() {
return this.$store.state.layout.Menu;
}
},
},
props: {
fingerShowType: String,
......
......@@ -70,7 +70,7 @@
<div
class="btn"
@click="switchZhangWen"
:class="{ active: fingerShowType == '掌纹' }"
:class="{ active: fingerShowType == '掌纹',hui: sourceDel }"
>
掌纹
</div>
......@@ -267,6 +267,7 @@ export default {
loading: null,
timer: null,
plamList: [],
sourceDel: false
};
},
methods: {
......@@ -274,6 +275,7 @@ export default {
* 切换位掌纹
*/
switchZhangWen() {
if(this.sourceDel) return;
this.fingerShowType = "掌纹";
if (this.plamList && this.plamList?.length > 0) {
this.changeStyle(0, this.plamList[0]);
......@@ -316,8 +318,10 @@ export default {
//获取掌纹
getPlam() {
this.$axios
.post("/api/org/case/palm/barcode", {
.post("/api/check/org/case/palm/barcode", {
querytype: '3',
barcode: sessionStorage.getItem("srcbarcode"),
qqid: sessionStorage.getItem("qqid")
})
.then((res) => {
if (res.data.code == 0 && res.data.message == "success") {
......@@ -342,6 +346,7 @@ export default {
self.qid = val.qid;
// 被删除
if (val.removeFlag === 1) {
self.sourceDel = true;
self.$bus.emit("deleteMessage", {
msg: "该条数据已删除!",
delTime: self.$moment(val.removeTime).format("YYYY.MM.DD HH:mm"),
......@@ -383,6 +388,7 @@ export default {
}, 500);
});
} else {
self.sourceDel = false;
// 没有被删除
self.$bus.emit("deleteMessage", {
msg: null,
......@@ -1285,4 +1291,8 @@ del {
text-decoration: underline wavy red; /*红色波浪形下划线*/
text-decoration: line-through red; /*红色删除线*/
}
.hui{
color: #C2C4C7!important;
background-color: #ECEDF1!important;
}
</style>
<template>
<div>
<el-dialog
:title="title"
:visible.sync="dialogVisible"
width="26.125rem"
append-to-body
:close-on-click-modal="false"
:modal="false"
@open="openDialog"
@closed="closedDialog"
>
<el-form
:model="ruleForm"
:label-position="labelPosition"
label-width="7rem"
ref="ruleForm"
>
<el-form-item label="源条码号:" prop="f1" :rules="inputRule">
<el-input
type="text"
placeholder="请输入内容"
v-model="ruleForm.f1"
maxlength="22"
show-word-limit
>
</el-input>
</el-form-item>
<el-form-item label="源数据类型:" prop="f2" :rules="radioRule">
<el-radio v-model="ruleForm.f2" label="1">人员</el-radio>
<el-radio v-model="ruleForm.f2" label="2">案件</el-radio>
</el-form-item>
<el-form-item label="目标条码号:" prop="f3" :rules="inputRule">
<el-input
type="text"
placeholder="请输入内容"
v-model="ruleForm.f3"
maxlength="22"
show-word-limit
>
</el-input>
</el-form-item>
<el-form-item label="目标数据类型:" prop="f4" :rules="radioRule">
<el-radio v-model="ruleForm.f4" label="1">人员</el-radio>
<el-radio v-model="ruleForm.f4" label="2">案件</el-radio>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button class="confirmBtn" @click="addList('ruleForm')"
>人工认定</el-button
>
<el-button class="cancelBtn" @click="off()" type="primary"
>取 消</el-button
>
</span>
</el-dialog>
</div>
</template>
<script>
export default {
name: "tjddl",
props: {},
data() {
return {
ruleForm: {
f1: "", //选择队列
f2: "1", // 删除原图
f3: "", // 覆盖原图
f4: "1", // 处理模式
},
inputRule: [{ required: true, message: "请输入内容", trigger: "change" }],
radioRule: [{ required: true, message: "请选择内容", trigger: "change" }],
title: "人工认定",
labelPosition: "left", // 标签对齐方式
dialogVisible: false, // 弹窗状态
};
},
mounted() {},
watch: {},
methods: {
openDialog() {
this.$bus.emit("isBlur", true);
},
closedDialog() {
this.$bus.emit("isBlur", false);
},
open() {
this.dialogVisible = true;
},
off() {
this.dialogVisible = false;
},
},
};
</script>
<style lang="scss" scoped>
/deep/.el-button--primary {
border-color: #055fe7;
background: #055fe7;
}
/deep/.el-button + .el-button {
margin-left: 24px;
}
/deep/.el-dialog {
border-radius: 6px;
font-family: MicrosoftYaHei;
}
/deep/.el-dialog__header {
border-bottom: 1px solid #eee;
}
/deep/ .el-dialog__title {
font-size: 16px;
font-family: MicrosoftYaHei;
color: #282f3c;
}
/deep/.el-dialog__footer {
text-align: center;
}
/deep/.el-form-item__label {
padding: 0;
}
.el-form-item {
margin-bottom: 15px;
}
/deep/.el-switch__core {
border-radius: 4px;
}
/deep/.el-switch__core:after {
border-radius: 3px;
}
/deep/.el-switch.is-checked .el-switch__core {
border-color: #055fe7;
background-color: #055fe7;
}
/deep/.el-radio__input.is-checked .el-radio__inner {
border-color: #055fe7;
background: #055fe7;
}
/deep/.el-radio__input.is-checked + .el-radio__label {
color: #333333;
}
/deep/ .el-radio {
margin-right: 20px;
}
.el-select-dropdown__item.selected {
/* color: #409EFF; */
/* font-weight: 700; */
color: #333;
font-weight: normal;
}
.confirmBtn {
width: 102px !important;
}
.confirmBtn,
.cancelBtn {
width: 72px;
height: 40px;
}
.confirmBtn {
background-color: #fff;
color: #333333;
}
</style>
\ No newline at end of file
/*
* @Author: your name
* @Date: 2021-09-07 09:57:48
* @LastEditTime: 2021-12-17 10:04:32
* @LastEditTime: 2021-12-17 10:23:39
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \指纹系统\founder_vue\vue.config.js
......
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