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