Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
P
pica-risk-admin
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
Close sidebar
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
com.pica.cloud.education.frontend
pica-risk-admin
提交
364d0b68
提交
364d0b68
编写于
9月 23, 2020
作者:
alex.zhang
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'dev-sen-20200717' into 'release'
Dev sen 20200717 See merge request !2
上级
4c5d6743
e84e0fe0
变更
13
隐藏空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
2786 行增加
和
1034 行删除
+2786
-1034
package-lock.json
package-lock.json
+43
-17
menu.js
src/api/menu.js
+1
-0
env.js
src/common/env.js
+1
-1
fetch.js
src/common/fetch.js
+3
-2
Header.vue
src/components/common/Header.vue
+1
-0
Home.vue
src/components/common/Home.vue
+0
-6
Sidebar.vue
src/components/common/Sidebar.vue
+1
-0
createData.vue
src/components/page/createData.vue
+172
-129
index.js
src/router/index.js
+4
-1
data-in.vue
src/views/sensitive-control/data-in.vue
+245
-166
data-statistic.vue
src/views/sensitive-control/data-statistic.vue
+815
-0
data-view-message.vue
src/views/sensitive-control/data-view-message.vue
+940
-525
data-view.vue
src/views/sensitive-control/data-view.vue
+560
-187
未找到文件。
package-lock.json
浏览文件 @
364d0b68
...
@@ -505,7 +505,8 @@
...
@@ -505,7 +505,8 @@
"version"
:
"1.0.0"
,
"version"
:
"1.0.0"
,
"resolved"
:
"http://192.168.110.93:4873/assert-plus/-/assert-plus-1.0.0.tgz"
,
"resolved"
:
"http://192.168.110.93:4873/assert-plus/-/assert-plus-1.0.0.tgz"
,
"integrity"
:
"sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
,
"integrity"
:
"sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
},
"assign-symbols"
:
{
"assign-symbols"
:
{
"version"
:
"1.0.0"
,
"version"
:
"1.0.0"
,
...
@@ -2113,6 +2114,7 @@
...
@@ -2113,6 +2114,7 @@
"resolved"
:
"http://192.168.110.93:4873/combined-stream/-/combined-stream-1.0.8.tgz"
,
"resolved"
:
"http://192.168.110.93:4873/combined-stream/-/combined-stream-1.0.8.tgz"
,
"integrity"
:
"sha1-w9RaizT9cwYxoRCoolIGgrMdWn8="
,
"integrity"
:
"sha1-w9RaizT9cwYxoRCoolIGgrMdWn8="
,
"dev"
:
true
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"delayed-stream"
:
"~1.0.0"
"delayed-stream"
:
"~1.0.0"
}
}
...
@@ -2637,7 +2639,8 @@
...
@@ -2637,7 +2639,8 @@
"version"
:
"1.0.0"
,
"version"
:
"1.0.0"
,
"resolved"
:
"http://192.168.110.93:4873/delayed-stream/-/delayed-stream-1.0.0.tgz"
,
"resolved"
:
"http://192.168.110.93:4873/delayed-stream/-/delayed-stream-1.0.0.tgz"
,
"integrity"
:
"sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
,
"integrity"
:
"sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
},
"depd"
:
{
"depd"
:
{
"version"
:
"1.1.2"
,
"version"
:
"1.1.2"
,
...
@@ -3081,7 +3084,8 @@
...
@@ -3081,7 +3084,8 @@
"version"
:
"1.3.0"
,
"version"
:
"1.3.0"
,
"resolved"
:
"http://192.168.110.93:4873/extsprintf/-/extsprintf-1.3.0.tgz"
,
"resolved"
:
"http://192.168.110.93:4873/extsprintf/-/extsprintf-1.3.0.tgz"
,
"integrity"
:
"sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
,
"integrity"
:
"sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
},
"fast-deep-equal"
:
{
"fast-deep-equal"
:
{
"version"
:
"1.1.0"
,
"version"
:
"1.1.0"
,
...
@@ -3313,7 +3317,8 @@
...
@@ -3313,7 +3317,8 @@
"ansi-regex"
:
{
"ansi-regex"
:
{
"version"
:
"2.1.1"
,
"version"
:
"2.1.1"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
},
"aproba"
:
{
"aproba"
:
{
"version"
:
"1.2.0"
,
"version"
:
"1.2.0"
,
...
@@ -3334,12 +3339,14 @@
...
@@ -3334,12 +3339,14 @@
"balanced-match"
:
{
"balanced-match"
:
{
"version"
:
"1.0.0"
,
"version"
:
"1.0.0"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
},
"brace-expansion"
:
{
"brace-expansion"
:
{
"version"
:
"1.1.11"
,
"version"
:
"1.1.11"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"balanced-match"
:
"^1.0.0"
,
"balanced-match"
:
"^1.0.0"
,
"concat-map"
:
"0.0.1"
"concat-map"
:
"0.0.1"
...
@@ -3354,17 +3361,20 @@
...
@@ -3354,17 +3361,20 @@
"code-point-at"
:
{
"code-point-at"
:
{
"version"
:
"1.1.0"
,
"version"
:
"1.1.0"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
},
"concat-map"
:
{
"concat-map"
:
{
"version"
:
"0.0.1"
,
"version"
:
"0.0.1"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
},
"console-control-strings"
:
{
"console-control-strings"
:
{
"version"
:
"1.1.0"
,
"version"
:
"1.1.0"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
},
"core-util-is"
:
{
"core-util-is"
:
{
"version"
:
"1.0.2"
,
"version"
:
"1.0.2"
,
...
@@ -3481,7 +3491,8 @@
...
@@ -3481,7 +3491,8 @@
"inherits"
:
{
"inherits"
:
{
"version"
:
"2.0.3"
,
"version"
:
"2.0.3"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
},
"ini"
:
{
"ini"
:
{
"version"
:
"1.3.5"
,
"version"
:
"1.3.5"
,
...
@@ -3493,6 +3504,7 @@
...
@@ -3493,6 +3504,7 @@
"version"
:
"1.0.0"
,
"version"
:
"1.0.0"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"number-is-nan"
:
"^1.0.0"
"number-is-nan"
:
"^1.0.0"
}
}
...
@@ -3507,6 +3519,7 @@
...
@@ -3507,6 +3519,7 @@
"version"
:
"3.0.4"
,
"version"
:
"3.0.4"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"brace-expansion"
:
"^1.1.7"
"brace-expansion"
:
"^1.1.7"
}
}
...
@@ -3514,12 +3527,14 @@
...
@@ -3514,12 +3527,14 @@
"minimist"
:
{
"minimist"
:
{
"version"
:
"0.0.8"
,
"version"
:
"0.0.8"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
},
"minipass"
:
{
"minipass"
:
{
"version"
:
"2.2.4"
,
"version"
:
"2.2.4"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"safe-buffer"
:
"^5.1.1"
,
"safe-buffer"
:
"^5.1.1"
,
"yallist"
:
"^3.0.0"
"yallist"
:
"^3.0.0"
...
@@ -3538,6 +3553,7 @@
...
@@ -3538,6 +3553,7 @@
"version"
:
"0.5.1"
,
"version"
:
"0.5.1"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"minimist"
:
"0.0.8"
"minimist"
:
"0.0.8"
}
}
...
@@ -3618,7 +3634,8 @@
...
@@ -3618,7 +3634,8 @@
"number-is-nan"
:
{
"number-is-nan"
:
{
"version"
:
"1.0.1"
,
"version"
:
"1.0.1"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
},
"object-assign"
:
{
"object-assign"
:
{
"version"
:
"4.1.1"
,
"version"
:
"4.1.1"
,
...
@@ -3630,6 +3647,7 @@
...
@@ -3630,6 +3647,7 @@
"version"
:
"1.4.0"
,
"version"
:
"1.4.0"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"wrappy"
:
"1"
"wrappy"
:
"1"
}
}
...
@@ -3715,7 +3733,8 @@
...
@@ -3715,7 +3733,8 @@
"safe-buffer"
:
{
"safe-buffer"
:
{
"version"
:
"5.1.1"
,
"version"
:
"5.1.1"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
},
"safer-buffer"
:
{
"safer-buffer"
:
{
"version"
:
"2.1.2"
,
"version"
:
"2.1.2"
,
...
@@ -3751,6 +3770,7 @@
...
@@ -3751,6 +3770,7 @@
"version"
:
"1.0.2"
,
"version"
:
"1.0.2"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"code-point-at"
:
"^1.0.0"
,
"code-point-at"
:
"^1.0.0"
,
"is-fullwidth-code-point"
:
"^1.0.0"
,
"is-fullwidth-code-point"
:
"^1.0.0"
,
...
@@ -3770,6 +3790,7 @@
...
@@ -3770,6 +3790,7 @@
"version"
:
"3.0.1"
,
"version"
:
"3.0.1"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"ansi-regex"
:
"^2.0.0"
"ansi-regex"
:
"^2.0.0"
}
}
...
@@ -3813,12 +3834,14 @@
...
@@ -3813,12 +3834,14 @@
"wrappy"
:
{
"wrappy"
:
{
"version"
:
"1.0.2"
,
"version"
:
"1.0.2"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
},
"yallist"
:
{
"yallist"
:
{
"version"
:
"3.0.2"
,
"version"
:
"3.0.2"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
}
}
}
}
},
},
...
@@ -4723,7 +4746,8 @@
...
@@ -4723,7 +4746,8 @@
"version"
:
"0.1.1"
,
"version"
:
"0.1.1"
,
"resolved"
:
"http://192.168.110.93:4873/jsbn/-/jsbn-0.1.1.tgz"
,
"resolved"
:
"http://192.168.110.93:4873/jsbn/-/jsbn-0.1.1.tgz"
,
"integrity"
:
"sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
,
"integrity"
:
"sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
},
"jsesc"
:
{
"jsesc"
:
{
"version"
:
"1.3.0"
,
"version"
:
"1.3.0"
,
...
@@ -7096,7 +7120,8 @@
...
@@ -7096,7 +7120,8 @@
"version"
:
"2.1.2"
,
"version"
:
"2.1.2"
,
"resolved"
:
"http://192.168.110.93:4873/safer-buffer/-/safer-buffer-2.1.2.tgz"
,
"resolved"
:
"http://192.168.110.93:4873/safer-buffer/-/safer-buffer-2.1.2.tgz"
,
"integrity"
:
"sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
,
"integrity"
:
"sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
},
"sax"
:
{
"sax"
:
{
"version"
:
"1.2.4"
,
"version"
:
"1.2.4"
,
...
@@ -7905,7 +7930,8 @@
...
@@ -7905,7 +7930,8 @@
"version"
:
"0.14.5"
,
"version"
:
"0.14.5"
,
"resolved"
:
"http://192.168.110.93:4873/tweetnacl/-/tweetnacl-0.14.5.tgz"
,
"resolved"
:
"http://192.168.110.93:4873/tweetnacl/-/tweetnacl-0.14.5.tgz"
,
"integrity"
:
"sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
,
"integrity"
:
"sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
},
"type-is"
:
{
"type-is"
:
{
"version"
:
"1.6.16"
,
"version"
:
"1.6.16"
,
...
...
src/api/menu.js
浏览文件 @
364d0b68
...
@@ -11,6 +11,7 @@ const menu = {
...
@@ -11,6 +11,7 @@ const menu = {
let
headers
=
{
let
headers
=
{
headers
:
{
headers
:
{
'token'
:
localStorage
.
getItem
(
'token'
)
||
null
'token'
:
localStorage
.
getItem
(
'token'
)
||
null
// 'token': '9606E40DDB704396AB532B2AE771048E',
// header('Access-Control-Allow-Origin:*')
// header('Access-Control-Allow-Origin:*')
}
}
};
};
...
...
src/common/env.js
浏览文件 @
364d0b68
...
@@ -39,7 +39,7 @@ export const getAddress = () => {
...
@@ -39,7 +39,7 @@ export const getAddress = () => {
let
qiniuResourceUrl
=
""
;
//qiniu存储域名
let
qiniuResourceUrl
=
""
;
//qiniu存储域名
//本地
//本地
if
(
ipAddress
.
indexOf
(
"localhost"
)
>
-
1
||
ipAddress
.
indexOf
(
"1
27.0.0.1
"
)
>
-
1
||
ipAddress
.
indexOf
(
"test-kf"
)
>
-
1
)
{
if
(
ipAddress
.
indexOf
(
"localhost"
)
>
-
1
||
ipAddress
.
indexOf
(
"1
0.177.10.118
"
)
>
-
1
||
ipAddress
.
indexOf
(
"test-kf"
)
>
-
1
)
{
ipAddress
=
"http://localhost:7070"
;
ipAddress
=
"http://localhost:7070"
;
preViewUrl
=
"http://localhost:9090/#/template"
;
preViewUrl
=
"http://localhost:9090/#/template"
;
qiniuImgUrl
=
"https://test1-file.yunqueyi.com"
;
qiniuImgUrl
=
"https://test1-file.yunqueyi.com"
;
...
...
src/common/fetch.js
浏览文件 @
364d0b68
...
@@ -32,8 +32,9 @@ export default async(url = '', data = {}, type = 'POST', method = 'fetch',server
...
@@ -32,8 +32,9 @@ export default async(url = '', data = {}, type = 'POST', method = 'fetch',server
// 'Access-Control-Allow-Origin': '*',
// 'Access-Control-Allow-Origin': '*',
'Accept'
:
'*'
,
'Accept'
:
'*'
,
'Content-Type'
:
'application/json'
,
'Content-Type'
:
'application/json'
,
// 'token': localStorage.getItem('token') || null, //固定传header:
'token'
:
localStorage
.
getItem
(
'token'
)
||
null
,
//固定传header:
// 'system_code': 'todo' //固定传header:系统编号
// 'system_code': 'todo' //固定传header:系统编号
// 'token': '9606E40DDB704396AB532B2AE771048E',
},
},
}
}
...
...
src/components/common/Header.vue
浏览文件 @
364d0b68
...
@@ -66,6 +66,7 @@
...
@@ -66,6 +66,7 @@
let
headers
=
{
let
headers
=
{
headers
:
{
headers
:
{
'token'
:
localStorage
.
getItem
(
'token'
)
||
null
'token'
:
localStorage
.
getItem
(
'token'
)
||
null
// 'token': '9606E40DDB704396AB532B2AE771048E',
}
}
};
};
// let headData = menuApi.headList(req,self);
// let headData = menuApi.headList(req,self);
...
...
src/components/common/Home.vue
浏览文件 @
364d0b68
...
@@ -58,12 +58,6 @@
...
@@ -58,12 +58,6 @@
ssoLogin
(
href
,
paramMap
);
ssoLogin
(
href
,
paramMap
);
}
}
}
}
// else if (localStorage.getItem("token")) {
// debugger
// Vue.prototype.$axios = self.$axios.create({
// headers: {'token': localStorage.getItem("token")}
// });
// }
}
}
},
},
components
:
{
components
:
{
...
...
src/components/common/Sidebar.vue
浏览文件 @
364d0b68
...
@@ -48,6 +48,7 @@
...
@@ -48,6 +48,7 @@
let
headers
=
{
let
headers
=
{
headers
:
{
headers
:
{
'token'
:
localStorage
.
getItem
(
'token'
)
||
null
'token'
:
localStorage
.
getItem
(
'token'
)
||
null
// 'token': '9606E40DDB704396AB532B2AE771048E',
}
}
};
};
self
.
$axios
.
post
(
localStorage
.
getItem
(
"msUrl"
)
+
'login/menu/list'
,
req
,
headers
).
then
(
function
(
res
)
{
self
.
$axios
.
post
(
localStorage
.
getItem
(
"msUrl"
)
+
'login/menu/list'
,
req
,
headers
).
then
(
function
(
res
)
{
...
...
src/components/page/createData.vue
浏览文件 @
364d0b68
<
template
>
<
template
>
<el-dialog
:title=
"title"
:visible
.
sync=
"showModal"
width=
"700px"
@
close=
"close"
center
>
<el-dialog
:title=
"title"
:visible
.
sync=
"showModal"
width=
"700px"
@
close=
"close"
center
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"150px"
size=
"medium "
:rules=
"rules"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"150px"
size=
"medium "
:rules=
"rules"
>
<el-form-item
label=
"项目名称"
prop=
"projectMainId"
>
<el-select
v-model=
"form.projectMainId"
placeholder=
"请选择项目名称"
>
<el-option
v-for=
"item in pNameList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"审批编号"
prop=
"dingdingNumber"
>
<el-form-item
label=
"审批编号"
prop=
"dingdingNumber"
>
<el-input
style=
"width:220px"
:disabled=
"handleType=='2'"
:maxlength=
"21"
v-model=
"form.dingdingNumber"
placeholder=
"请输入内容"
></el-input>
<el-input
style=
"width:220px"
:disabled=
"handleType=='2'"
:maxlength=
"21"
v-model=
"form.dingdingNumber"
placeholder=
"请输入内容"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"申请日期"
prop=
"dingdingDate"
>
<el-form-item
label=
"申请日期"
prop=
"dingdingDate"
>
<el-date-picker
v-model=
"form.dingdingDate"
:disabled=
"handleType=='2'"
value-format=
"yyyy-MM-dd"
type=
"date"
placeholder=
"选择日期"
></el-date-picker>
<el-date-picker
v-model=
"form.dingdingDate"
:disabled=
"handleType=='2'"
value-format=
"yyyy-MM-dd"
type=
"date"
placeholder=
"选择日期"
></el-date-picker>
</el-form-item>
</el-form-item>
<el-form-item
label=
"sheet名称"
prop=
"dataSheetName"
>
<el-form-item
label=
"sheet名称"
prop=
"dataSheetName"
>
<el-input
style=
"width:220px"
:disabled=
"handleType=='2'"
v-model=
"form.dataSheetName"
placeholder=
"请输入sheet名称"
></el-input>
<el-input
style=
"width:220px"
:disabled=
"handleType=='2'"
v-model=
"form.dataSheetName"
placeholder=
"请输入sheet名称"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"数据需求方类型"
prop=
"dataType"
>
<el-form-item
label=
"数据需求方类型"
prop=
"dataType"
>
<el-radio-group
v-model=
"form.dataType"
:disabled=
"handleType=='2'"
@
change=
"changeinout"
>
<el-radio-group
v-model=
"form.dataType"
:disabled=
"handleType=='2'"
@
change=
"changeinout"
>
<el-radio
:label=
"1"
style=
"margin-right:50px"
>
内部
</el-radio>
<el-radio
:label=
"1"
style=
"margin-right:50px"
>
内部
</el-radio>
...
@@ -32,7 +55,6 @@
...
@@ -32,7 +55,6 @@
></el-option>
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</
template
>
</
template
>
<
template
v-if=
"form.dataType == 2"
>
<
template
v-if=
"form.dataType == 2"
>
...
@@ -70,25 +92,24 @@
...
@@ -70,25 +92,24 @@
<
template
v-if=
"form.dataRole==1"
>
<
template
v-if=
"form.dataRole==1"
>
<el-form-item
label=
"数据分发人员"
prop=
"ids"
>
<el-form-item
label=
"数据分发人员"
prop=
"ids"
>
<el-select
v-model=
"form.ids"
multiple
filterable
placeholder=
"请选择"
>
<el-select
v-model=
"form.ids"
multiple
filterable
placeholder=
"请选择"
>
<el-option
<el-option
v-for=
"item in idsList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
v-for=
"item in idsList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<!-- 新增 分发人员导出次数 -->
<!-- 新增 分发人员导出次数 -->
<el-form-item
label=
"分发人员导出次数"
prop=
"distributeExportCount"
>
<el-form-item
label=
"分发人员导出次数"
prop=
"distributeExportCount"
>
<div>
<div>
<el-input
style=
"width:200px"
v-model=
"form.distributeExportCount"
placeholder=
"请输入分发人员导出次数"
></el-input>
<el-input
style=
"width:200px"
v-model=
"form.distributeExportCount"
placeholder=
"请输入分发人员导出次数"
></el-input>
</div>
</div>
<div>
备注:0代表没有导出权限
</div>
<div>
备注:0代表没有导出权限
</div>
</el-form-item>
</el-form-item>
</
template
>
</
template
>
</div>
</div>
<
template
v-if=
"handleType=='1'"
>
<
template
v-if=
"handleType=='1'"
>
<el-form-item
label=
"文件上传"
prop=
"fileId"
>
<el-form-item
label=
"文件上传"
prop=
"fileId"
>
<el-upload
<el-upload
...
@@ -114,11 +135,13 @@
...
@@ -114,11 +135,13 @@
</el-form-item>
</el-form-item>
</
template
>
</
template
>
<p
class=
"txt-center"
>
请确保第一列为手机号
</p>
<el-form-item
label=
"数据有效期"
prop=
"dataTermValidity"
>
<el-form-item
label=
"数据有效期"
prop=
"dataTermValidity"
>
<el-date-picker
<el-date-picker
v-model=
"form.dataTermValidity"
v-model=
"form.dataTermValidity"
value-format=
"yyyy-MM-dd"
value-format=
"yyyy-MM-dd"
type=
"date"
type=
"date"
placeholder=
"选择日期"
placeholder=
"选择日期"
></el-date-picker>
></el-date-picker>
</el-form-item>
</el-form-item>
...
@@ -146,127 +169,147 @@
...
@@ -146,127 +169,147 @@
</template>
</template>
<
script
>
<
script
>
import
{
baseUrl
}
from
'../../api/hostconfig'
;
import
{
baseUrl
}
from
"../../api/hostconfig"
;
import
{
openLoading
,
closeLoading
}
from
'../../common/utils'
;
import
{
openLoading
,
closeLoading
}
from
"../../common/utils"
;
export
default
{
export
default
{
props
:
{
props
:
{
form
:
Object
,
form
:
Object
,
rules
:
Object
,
rules
:
Object
,
handleType
:
String
handleType
:
String
,
},
data
()
{
return
{
title
:
""
,
// 表单title
baseUrl
,
pNameList
:
[],
disableAdmintype
:
false
,
needIdsList
:
[],
idsList
:
[],
showModal
:
true
,
uploadHeaders
:
{
token
:
window
.
localStorage
.
getItem
(
'token'
)
// token: "587657450F884CAAA62B3B39106B64E7",
},
};
},
created
()
{
// 获取数据需求方类型为内部时的需求方姓名列表
this
.
getData
(
"get"
,
`/sensitive/info/employee`
,
{},
(
data
)
=>
{
this
.
needIdsList
=
data
.
data
;
this
.
idsList
=
data
.
data
;
});
// 数据导入时,获取项目名称列表
this
.
getData
(
"get"
,
`/sensitive/projectMain/getAll`
,
{},
(
data
)
=>
{
this
.
pNameList
=
data
.
data
;
});
this
.
title
=
this
.
handleType
==
"1"
?
"数据导入"
:
"数据修改"
;
},
watch
:
{
"form.dataType"
(
val
)
{
if
(
val
==
2
)
{
this
.
form
.
dataRole
=
2
;
this
.
disableAdmintype
=
true
;
}
else
if
(
val
==
1
)
{
}
},
},
data
(){
"form.dataRole"
(
val
)
{
return
{
this
.
form
.
dataRole
=
val
;
title
:
''
,
// 表单title
if
(
val
==
1
)
{
baseUrl
,
this
.
disableAdmintype
=
false
;
disableAdmintype
:
false
,
// 获取数据分发人员
needIdsList
:
[],
this
.
getData
(
"get"
,
`/sensitive/info/employee`
,
{},
(
data
)
=>
{
idsList
:
[],
this
.
idsList
=
data
.
data
;
showModal
:
true
,
});
uploadHeaders
:
{
}
else
{
token
:
window
.
localStorage
.
getItem
(
'token'
)
if
(
this
.
form
.
dataType
==
2
)
{
this
.
disableAdmintype
=
true
;
}
}
}
}
},
},
created
(){
},
// 获取数据需求方类型为内部时的需求方姓名列表
methods
:
{
this
.
getData
(
'get'
,
`/sensitive/info/employee`
,
{
// 切换数据需求方类型为【内部】【外部】
},(
data
)
=>
{
changeinout
(
value
)
{
this
.
needIdsList
=
data
.
data
console
.
log
(
"handle value: "
,
value
);
this
.
idsList
=
data
.
data
});
this
.
title
=
(
this
.
handleType
==
'1'
)
?
'数据导入'
:
'数据修改'
;
},
},
watch
:
{
returnActionUrl
()
{
'form.dataType'
(
val
){
return
localStorage
.
getItem
(
"lectureUrl"
)
+
"/sensitive/import/file"
;
if
(
val
==
2
){
this
.
form
.
dataRole
=
2
;
this
.
disableAdmintype
=
true
;
}
else
if
(
val
==
1
){
}
},
'form.dataRole'
(
val
){
this
.
form
.
dataRole
=
val
;
if
(
val
==
1
){
this
.
disableAdmintype
=
false
;
// 获取数据分发人员
this
.
getData
(
'get'
,
`/sensitive/info/employee`
,
{
},(
data
)
=>
{
this
.
idsList
=
data
.
data
});
}
else
{
if
(
this
.
form
.
dataType
==
2
){
this
.
disableAdmintype
=
true
;
}
}
},
},
},
methods
:
{
// 上传成功
// 切换数据需求方类型为【内部】【外部】
uploadSuccess
(
res
,
file
,
fileList
)
{
changeinout
(
value
)
{
this
.
form
.
fileId
=
res
.
data
;
console
.
log
(
"handle value: "
,
value
);
this
.
$refs
.
form
.
validateField
(
"fileId"
);
},
},
returnActionUrl
()
{
beforeUpload
(
file
)
{
return
localStorage
.
getItem
(
'lectureUrl'
)
+
'/sensitive/import/file'
;
var
FileExt
=
file
.
name
.
replace
(
/.+
\.
/
,
""
);
},
if
([
"xls"
,
"xlsx"
].
indexOf
(
FileExt
.
toLowerCase
())
===
-
1
)
{
// 上传成功
this
.
$message
({
uploadSuccess
(
res
,
file
,
fileList
){
type
:
"warning"
,
this
.
form
.
fileId
=
res
.
data
;
message
:
"请上传后缀名为xls,xlsx的原文件!"
,
this
.
$refs
.
form
.
validateField
(
'fileId'
);
});
},
return
false
;
beforeUpload
(
file
)
{
}
var
FileExt
=
file
.
name
.
replace
(
/.+
\.
/
,
""
);
},
if
([
"xls"
,
"xlsx"
].
indexOf
(
FileExt
.
toLowerCase
())
===
-
1
)
{
close
()
{
this
.
$message
({
this
.
$emit
(
"close"
);
type
:
"warning"
,
},
message
:
"请上传后缀名为xls,xlsx的原文件!"
submitForm
(
formName
)
{
});
console
.
log
(
"createData.submitForm() : formName = "
+
formName
);
this
.
$refs
[
formName
].
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
this
.
handleType
==
"1"
)
{
this
.
getData
(
"post"
,
"/sensitive/import/data"
,
this
.
form
,
(
data
)
=>
{
setTimeout
(()
=>
{
this
.
$emit
(
"saveSuccess"
);
this
.
$emit
(
"close"
);
},
300
);
}
);
}
else
{
console
.
log
(
"createData.submitForm() : this.form = "
+
this
.
form
);
this
.
getData
(
"put"
,
"/sensitive/import/data"
,
this
.
form
,
(
data
)
=>
{
setTimeout
(()
=>
{
this
.
$emit
(
"saveSuccess"
);
this
.
$emit
(
"close"
);
},
300
);
});
}
}
else
{
this
.
$message
.
error
(
"请正确填写信息"
);
return
false
;
return
false
;
}
}
},
});
close
(){
},
this
.
$emit
(
'close'
);
// 封装一下请求通用的方法
},
getData
(
type
,
url
,
req
,
callback
)
{
submitForm
(
formName
)
{
openLoading
(
this
);
this
.
$refs
[
formName
].
validate
(
valid
=>
{
this
.
$axios
[
type
](
localStorage
.
getItem
(
"lectureUrl"
)
+
url
,
req
)
if
(
valid
)
{
.
then
((
res
)
=>
{
if
(
this
.
handleType
==
'1'
){
closeLoading
(
this
);
this
.
getData
(
'post'
,
'/sensitive/import/data'
,
this
.
form
,
(
data
)
=>
{
let
data
=
res
.
data
;
setTimeout
(()
=>
{
if
(
data
.
code
==
"000000"
)
{
this
.
$emit
(
'saveSuccess'
);
if
(
callback
)
callback
(
data
);
this
.
$emit
(
'close'
);
},
300
);
});
}
else
{
this
.
getData
(
'put'
,
'/sensitive/import/data'
,
this
.
form
,
(
data
)
=>
{
setTimeout
(()
=>
{
this
.
$emit
(
'saveSuccess'
);
this
.
$emit
(
'close'
);
},
300
);
});
}
}
else
{
}
else
{
this
.
$message
.
error
(
'请正确填写信息'
);
this
.
$message
.
error
(
data
.
message
);
return
false
;
}
}
});
},
// 封装一下请求通用的方法
getData
(
type
,
url
,
req
,
callback
)
{
openLoading
(
this
);
this
.
$axios
[
type
](
localStorage
.
getItem
(
"lectureUrl"
)
+
url
,
req
)
.
then
((
res
)
=>
{
closeLoading
(
this
);
let
data
=
res
.
data
;
if
(
data
.
code
==
"000000"
)
{
if
(
callback
)
callback
(
data
);
}
else
{
this
.
$message
.
error
(
data
.
message
);
}
}).
catch
((
error
)
=>
{
closeLoading
(
this
);
this
.
$message
.
error
(
'网络出现点问题'
)
})
})
}
.
catch
((
error
)
=>
{
}
closeLoading
(
this
);
this
.
$message
.
error
(
"网络出现点问题"
);
});
},
},
};
</
script
>
<
style
scoped
>
.txt-center
{
/* text-align: center; */
margin-left
:
170px
;
margin-bottom
:
20px
;
color
:
red
;
}
}
</
script
>
</
style
>
\ No newline at end of file
\ No newline at end of file
src/router/index.js
浏览文件 @
364d0b68
...
@@ -23,7 +23,10 @@ export default new Router({
...
@@ -23,7 +23,10 @@ export default new Router({
},{
// 数据导入
},{
// 数据导入
path
:
'/data-in'
,
path
:
'/data-in'
,
component
:
resolve
=>
require
([
'../views/sensitive-control/data-in.vue'
],
resolve
),
component
:
resolve
=>
require
([
'../views/sensitive-control/data-in.vue'
],
resolve
),
},
{
// 数据统计
path
:
'/data-statistic'
,
component
:
resolve
=>
require
([
'../views/sensitive-control/data-statistic.vue'
],
resolve
),
},{
// 数据查看
},{
// 数据查看
path
:
'/data-view'
,
path
:
'/data-view'
,
component
:
resolve
=>
require
([
'../views/sensitive-control/data-view.vue'
],
resolve
)
component
:
resolve
=>
require
([
'../views/sensitive-control/data-view.vue'
],
resolve
)
...
...
src/views/sensitive-control/data-in.vue
浏览文件 @
364d0b68
...
@@ -3,49 +3,47 @@
...
@@ -3,49 +3,47 @@
<el-form
ref=
"form"
:model=
"queryParams"
label-width=
"100px"
:inline=
"true"
:rules=
"rules"
>
<el-form
ref=
"form"
:model=
"queryParams"
label-width=
"100px"
:inline=
"true"
:rules=
"rules"
>
<el-form-item
label=
"审批编号"
prop=
"dingdingNumber"
>
<el-form-item
label=
"审批编号"
prop=
"dingdingNumber"
>
<el-input
<el-input
v-model=
"queryParams.dingdingNumber"
v-model=
"queryParams.dingdingNumber"
size=
"small"
size=
"small"
style=
"width:220px"
style=
"width:220px"
class=
"input"
class=
"input"
placeholder=
"审批编号查询"
placeholder=
"审批编号查询"
clearable
clearable
@
input=
"handleIdChange"
@
input=
"handleIdChange"
@
keydown
.
native=
"numInputLimit"
@
keydown
.
native=
"numInputLimit"
maxlength=
"21"
maxlength=
"21"
></el-input>
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"申请日期"
prop=
"dingdingDate"
>
<el-form-item
label=
"申请日期"
prop=
"dingdingDate"
>
<el-select
v-model=
"queryParams.dingdingDate"
placeholder=
"请选择"
@
change=
"handleDatechange"
>
<el-select
v-model=
"queryParams.dingdingDate"
placeholder=
"请选择"
@
change=
"handleDatechange"
clearable
>
<el-option
<el-option
v-for=
"item in dingdingDateList"
:key=
"item"
:label=
"item"
:value=
"item"
></el-option>
v-for=
"item in dingdingDateList"
:key=
"item"
:label=
"item"
:value=
"item"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"sheet名称"
prop=
"dataSheetName"
>
<el-form-item
label=
"sheet名称"
prop=
"dataSheetName"
>
<el-select
v-model=
"queryParams.dataSheetName"
placeholder=
"请选择"
@
change=
"handleSheetchange"
>
<el-select
<el-option
v-model=
"queryParams.dataSheetName"
v-for=
"item in sheetList
"
placeholder=
"请选择
"
:key=
"item
"
@
change=
"handleSheetchange
"
:label=
"item"
clearable
:value=
"item"
>
></el-option>
<el-option
v-for=
"item in sheetList"
:key=
"item"
:label=
"item"
:value=
"item"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<div
class=
"block"
style=
"margin-bottom:20px"
>
<div
class=
"block"
style=
"margin-bottom:20px"
>
<el-button
@
click=
"createDataHandle"
>
数据导入
</el-button>
<el-button
@
click=
"createDataHandle"
>
数据导入
</el-button>
<el-button
@
click=
"queryDataList"
>
数据查询
</el-button>
<el-button
@
click=
"queryDataListByClick"
>
数据查询
</el-button>
<el-button
@
click=
"addproject"
>
添加项目
</el-button>
</div>
</div>
<template>
<template>
<el-table
:data=
"dataList"
style=
"width: 100%"
>
<el-table
:data=
"dataList"
style=
"width: 100%"
>
<el-table-column
label=
"审批编号"
prop=
"dingdingNumber"
width=
"180"
></el-table-column>
<el-table-column
label=
"审批编号"
prop=
"dingdingNumber"
width=
"180"
></el-table-column>
<el-table-column
label=
"人员姓名"
prop=
"name"
width=
"180"
></el-table-column>
<el-table-column
label=
"人员姓名"
prop=
"name"
width=
"120"
></el-table-column>
<el-table-column
label=
"申请日期"
prop=
"dingdingDate"
></el-table-column>
<el-table-column
label=
"sheet名称"
prop=
"dataSheetName"
></el-table-column>
<el-table-column
label=
"附件名称"
prop=
"fileName"
></el-table-column>
<el-table-column
label=
"附件名称"
prop=
"fileName"
></el-table-column>
<el-table-column
label=
"状态"
prop=
"status"
:formatter=
"formatStatus"
></el-table-column>
<el-table-column
label=
"状态"
prop=
"status"
:formatter=
"formatStatus"
></el-table-column>
<el-table-column
label=
"通知状态"
prop=
"sendType"
:formatter=
"formatSendType"
></el-table-column>
<el-table-column
label=
"通知状态"
prop=
"sendType"
:formatter=
"formatSendType"
></el-table-column>
...
@@ -70,14 +68,14 @@
...
@@ -70,14 +68,14 @@
:current-page=
"currentPage"
:current-page=
"currentPage"
:page-sizes=
"[15, 30, 50, 100]"
:page-sizes=
"[15, 30, 50, 100]"
:page-size=
"pageSize"
:page-size=
"pageSize"
layout=
"total, sizes, prev, pager, next, jumper"
>
layout=
"total, sizes, prev, pager, next, jumper"
</el-pagination>
>
</el-pagination>
</template>
</template>
<!-- 数据导入 page -->
<!-- 数据导入 page -->
<createData
<createData
v-if=
"centerDialogVisible"
v-if=
"centerDialogVisible"
:form=
"form"
:form=
"form"
:rules=
"rules"
:rules=
"rules"
:handleType=
"handleType"
:handleType=
"handleType"
@
close=
"closeCreate"
@
close=
"closeCreate"
...
@@ -89,33 +87,52 @@
...
@@ -89,33 +87,52 @@
:form="form"
:form="form"
:rules="rules"
:rules="rules"
@close="closeModify"
@close="closeModify"
/> -->
/>-->
<el-dialog
:title=
"dialogTitle"
:visible
.
sync=
"addProjectVisible"
:close-on-click-modal=
"false"
style=
"text-align: center"
>
<el-row
style=
"margin-top: 20px;"
type=
"flex"
>
<el-col
:span=
"3"
style=
"margin-left: 70px;"
>
<label
style=
"font-size: 18px;"
>
项目名称
</label>
</el-col>
<el-col
:span=
"12"
style=
"margin-left: 20px;"
>
<el-input
v-model=
"projectName"
size=
"small"
/>
</el-col>
</el-row>
<div
slot=
"footer"
style=
"text-align: center"
>
<el-button
type=
"primary"
@
click=
"dialogSave"
>
确认
</el-button>
<el-button
@
click=
"addProjectVisible = false"
>
取消
</el-button>
</div>
</el-dialog>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
createData
from
'../../components/page/createData'
;
import
createData
from
"../../components/page/createData"
;
// import modifyData from '../../components/page/modifyData';
// import modifyData from '../../components/page/modifyData';
import
{
baseUrl
}
from
'../../api/hostconfig'
;
import
{
baseUrl
}
from
"../../api/hostconfig"
;
import
{
openLoading
,
closeLoading
}
from
'../../common/utils'
;
import
{
openLoading
,
closeLoading
}
from
"../../common/utils"
;
export
default
{
export
default
{
components
:
{
components
:
{
createData
,
createData
// modifyData
// modifyData
},
},
data
()
{
data
()
{
var
checkNumLength
=
(
rule
,
value
,
callback
)
=>
{
var
checkNumLength
=
(
rule
,
value
,
callback
)
=>
{
if
(
!
value
)
{
if
(
!
value
)
{
return
callback
(
new
Error
(
'请输入审批单号'
));
return
callback
(
new
Error
(
"请输入审批单号"
));
}
else
if
(
value
&&
(
value
+
''
).
length
!=
21
)
{
}
else
if
(
value
&&
(
value
+
""
).
length
!=
21
)
{
callback
(
new
Error
(
'审批单号必须为21位数字值'
));
callback
(
new
Error
(
"审批单号必须为21位数字值"
));
}
else
{
}
else
{
callback
();
callback
();
}
}
};
};
return
{
return
{
handleType
:
'1'
,
// 表单操作类型,1.新增 2.修改
handleType
:
"1"
,
// 表单操作类型,1.新增 2.修改
currentPage
:
1
,
currentPage
:
1
,
pageSize
:
15
,
pageSize
:
15
,
total
:
50
,
// 默认分页总数
total
:
50
,
// 默认分页总数
...
@@ -126,39 +143,43 @@ export default {
...
@@ -126,39 +143,43 @@ export default {
dingdingDateList
:
[],
//申请日期列表
dingdingDateList
:
[],
//申请日期列表
// 查询的字段
// 查询的字段
queryParams
:
{
queryParams
:
{
dingdingNumber
:
''
,
// 审批编号
dingdingNumber
:
""
,
// 审批编号
dingdingDate
:
''
,
// 申请日期
dingdingDate
:
""
,
// 申请日期
dataSheetName
:
''
,
// sheet名称
dataSheetName
:
""
// sheet名称
},
},
form
:
{
form
:
{
status
:
1
,
status
:
1
,
projectMainId
:
[],
//项目名称
dingdingNumber
:
""
,
// 审批编号
dingdingNumber
:
""
,
// 审批编号
dingdingDate
:
""
,
// 申请日期
dingdingDate
:
""
,
// 申请日期
dataSheetName
:
""
,
//sheet名称
dataSheetName
:
""
,
//sheet名称
dataType
:
""
,
// 数据需求方类型 1.内部 2.外部
dataType
:
""
,
// 数据需求方类型 1.内部 2.外部
needIds
:
[],
// 数据需求方id集合 需求方类型选择为 dataType【内部】
needIds
:
[],
// 数据需求方id集合 需求方类型选择为 dataType【内部】
mobilePhone
:
''
,
// 数据需求方类型为【外部】需要传递 dataType【外部】
mobilePhone
:
""
,
// 数据需求方类型为【外部】需要传递 dataType【外部】
name
:
''
,
// 数据需求方类型为【外部】需要传递 dataType【外部】
name
:
""
,
// 数据需求方类型为【外部】需要传递 dataType【外部】
sensitiveDataType
:
""
,
// 敏感信息查看权限 1是,2否
sensitiveDataType
:
""
,
// 敏感信息查看权限 1是,2否
dataRole
:
''
,
//数据需求角色 1管理员,2普通用户
dataRole
:
""
,
//数据需求角色 1管理员,2普通用户
ids
:
[],
// 数据分发人员数组
ids
:
[],
// 数据分发人员数组
fileId
:
''
,
// 文件上传id
fileId
:
""
,
// 文件上传id
dataTermValidity
:
""
,
// 数据有效期 - 日期
dataTermValidity
:
""
,
// 数据有效期 - 日期
dataCount
:
""
,
// 数据访问次数限制
dataCount
:
""
,
// 数据访问次数限制
sensitiveDataColumn
:
""
,
// 敏感信息列所在位置
sensitiveDataColumn
:
""
// 敏感信息列所在位置
},
},
rules
:
{
rules
:
{
projectMainId
:
[
{
required
:
true
,
message
:
"请选择项目名称"
,
trigger
:
"blur"
}
],
dingdingNumber
:
[
dingdingNumber
:
[
{
{
required
:
true
,
required
:
true
,
validator
:
checkNumLength
,
validator
:
checkNumLength
,
message
:
"请输入正确格式的审批编号"
,
message
:
"请输入正确格式的审批编号"
,
trigger
:
[
'blur'
,
'change'
]
trigger
:
[
"blur"
,
"change"
]
},
},
{
{
pattern
:
/^
[
5A-Za-z0-9-
\_]
+$/
,
pattern
:
/^
[
5A-Za-z0-9-
\_]
+$/
,
message
:
"只能输入英文,数字,下划线,横线"
message
:
"只能输入英文,数字,下划线,横线"
}
,
}
],
],
dingdingDate
:
[
dingdingDate
:
[
{
required
:
true
,
message
:
"请选择日期"
,
trigger
:
"change"
}
{
required
:
true
,
message
:
"请选择日期"
,
trigger
:
"change"
}
...
@@ -216,9 +237,7 @@ export default {
...
@@ -216,9 +237,7 @@ export default {
{
required
:
true
,
message
:
"请确定导出次数"
,
trigger
:
"blur"
},
{
required
:
true
,
message
:
"请确定导出次数"
,
trigger
:
"blur"
},
{
pattern
:
/^
\+?[
0-9
][
0-9
]
*$/
,
message
:
"导出次数只能是正整数"
}
{
pattern
:
/^
\+?[
0-9
][
0-9
]
*$/
,
message
:
"导出次数只能是正整数"
}
],
],
fileId
:
[
fileId
:
[{
required
:
true
,
message
:
"请上传文件"
,
trigger
:
"change"
}],
{
required
:
true
,
message
:
"请上传文件"
,
trigger
:
"change"
}
],
dataTermValidity
:
[
dataTermValidity
:
[
{
required
:
true
,
message
:
"请填写数据有效期"
,
trigger
:
"blur"
}
{
required
:
true
,
message
:
"请填写数据有效期"
,
trigger
:
"blur"
}
],
],
...
@@ -228,11 +247,14 @@ export default {
...
@@ -228,11 +247,14 @@ export default {
],
],
sensitiveDataColumn
:
[
sensitiveDataColumn
:
[
{
required
:
true
,
message
:
"请填写敏感信息所在位置"
,
trigger
:
"blur"
}
{
required
:
true
,
message
:
"请填写敏感信息所在位置"
,
trigger
:
"blur"
}
],
]
}
},
addProjectVisible
:
false
,
dialogTitle
:
"添加项目"
,
projectName
:
""
};
};
},
},
created
(){
created
()
{
// 初始化获取数据列表
// 初始化获取数据列表
this
.
getDataList
(
this
.
currentPage
,
{});
this
.
getDataList
(
this
.
currentPage
,
{});
},
},
...
@@ -240,198 +262,255 @@ export default {
...
@@ -240,198 +262,255 @@ export default {
// 根据审批编号查询申请日期操作
// 根据审批编号查询申请日期操作
handleIdChange
(
value
)
{
handleIdChange
(
value
)
{
if
(
value
.
length
==
21
)
{
if
(
value
.
length
==
21
)
{
this
.
getData
(
'get'
,
`/sensitive/visit/date?dingdingNumber=
${
value
}
`
,
{
this
.
getData
(
},(
data
)
=>
{
"get"
,
this
.
dingdingDateList
=
data
.
data
;
`/sensitive/visit/date?dingdingNumber=
${
value
}
`
,
});
{},
}
else
{
data
=>
{
this
.
dingdingDateList
=
data
.
data
;
}
);
}
else
{
this
.
dingdingDateList
=
[];
this
.
dingdingDateList
=
[];
this
.
sheetList
=
[];
this
.
sheetList
=
[];
this
.
queryParams
.
dingdingDate
=
''
;
this
.
queryParams
.
dingdingDate
=
""
;
this
.
queryParams
.
dataSheetName
=
''
;
this
.
queryParams
.
dataSheetName
=
""
;
}
}
},
},
// 根据审批编号和日期搜索sheet
// 根据审批编号和日期搜索sheet
handleDatechange
(
val
)
{
handleDatechange
(
val
)
{
this
.
getData
(
'get'
,
`/sensitive/visit/sheet?dingdingNumber=
${
this
.
queryParams
.
dingdingNumber
}
&dingdingDate=
${
val
}
`
,
{
this
.
getData
(
},(
data
)
=>
{
"get"
,
this
.
sheetList
=
data
.
data
;
`/sensitive/visit/sheet?dingdingNumber=
${
this
.
queryParams
.
dingdingNumber
}
&dingdingDate=
${
val
}
`
,
});
{},
data
=>
{
this
.
sheetList
=
data
.
data
;
}
);
},
},
// 选中sheet
// 选中sheet
handleSheetchange
(
val
){
handleSheetchange
(
val
)
{},
queryDataListByClick
()
{
this
.
currentPage
=
1
;
this
.
queryDataList
();
},
},
// 数据查询
// 数据查询
queryDataList
(){
queryDataList
()
{
this
.
getDataList
(
this
.
currentPage
,
this
.
queryParams
);
this
.
getDataList
(
this
.
currentPage
,
this
.
queryParams
);
},
},
// 获取全部分页数据
// 获取全部分页数据
getDataList
(
pageNum
,
queryData
)
{
getDataList
(
pageNum
,
queryData
)
{
this
.
getData
(
'post'
,
'/sensitive/visit'
,
{
this
.
getData
(
"pageNum"
:
pageNum
,
"post"
,
"pageSize"
:
this
.
pageSize
,
"/sensitive/visit"
,
...
queryData
{
},(
data
)
=>
{
pageNum
:
pageNum
,
this
.
dataList
=
data
.
data
.
list
;
pageSize
:
this
.
pageSize
,
this
.
total
=
data
.
data
.
total
;
...
queryData
});
},
data
=>
{
this
.
dataList
=
data
.
data
.
list
;
this
.
total
=
data
.
data
.
total
;
}
);
},
},
// 根据页码获取数据
// 根据页码获取数据
handleSizeChange
(
size
){
handleSizeChange
(
size
)
{
this
.
pageSize
=
size
;
this
.
pageSize
=
size
;
this
.
getDataList
(
this
.
currentPage
,
{}
);
this
.
getDataList
(
this
.
currentPage
,
this
.
queryParams
);
},
},
// 根据分页获取数据
// 根据分页获取数据
dataListChange
(
num
){
dataListChange
(
num
)
{
console
.
log
(
"dataListChange() : num = "
+
num
);
this
.
currentPage
=
num
;
this
.
currentPage
=
num
;
this
.
getDataList
(
num
,
{}
);
this
.
getDataList
(
num
,
this
.
queryParams
);
},
},
// 过滤状态显示
// 过滤状态显示
formatStatus
(
row
,
column
){
formatStatus
(
row
,
column
)
{
let
value
;
let
value
;
if
(
row
.
status
==
1
)
{
if
(
row
.
status
==
1
)
{
value
=
'正常'
;
value
=
"正常"
;
}
else
if
(
row
.
status
==
2
)
{
}
else
if
(
row
.
status
==
2
)
{
value
=
'关闭'
;
value
=
"关闭"
;
}
}
return
value
;
return
value
;
},
},
// 过滤同志状态显示
// 过滤同志状态显示
formatSendType
(
row
,
column
){
formatSendType
(
row
,
column
)
{
let
value
;
let
value
;
if
(
row
.
sendType
==
1
)
{
if
(
row
.
sendType
==
1
)
{
value
=
'已通知'
;
value
=
"已通知"
;
}
else
if
(
row
.
sendType
==
2
)
{
}
else
if
(
row
.
sendType
==
2
)
{
value
=
'未通知'
;
value
=
"未通知"
;
}
}
return
value
;
return
value
;
},
},
// 新增数据-数据导入
// 新增数据-数据导入
createDataHandle
(){
createDataHandle
()
{
this
.
centerDialogVisible
=
true
;
this
.
centerDialogVisible
=
true
;
this
.
handleType
=
'1'
;
this
.
handleType
=
"1"
;
this
.
form
=
{
this
.
form
=
{
status
:
1
,
status
:
1
,
projectMainId
:
[],
//项目名称
dingdingNumber
:
""
,
// 审批编号
dingdingNumber
:
""
,
// 审批编号
dingdingDate
:
""
,
// 申请日期
dingdingDate
:
""
,
// 申请日期
dataSheetName
:
""
,
//sheet名称
dataSheetName
:
""
,
//sheet名称
dataType
:
""
,
// 数据需求方类型 1.内部 2.外部
dataType
:
""
,
// 数据需求方类型 1.内部 2.外部
needIds
:
[],
// 数据需求方id集合 需求方类型选择为 dataType【内部】
needIds
:
[],
// 数据需求方id集合 需求方类型选择为 dataType【内部】
mobilePhone
:
''
,
// 数据需求方类型为【外部】需要传递 dataType【外部】
mobilePhone
:
""
,
// 数据需求方类型为【外部】需要传递 dataType【外部】
name
:
''
,
// 数据需求方类型为【外部】需要传递 dataType【外部】
name
:
""
,
// 数据需求方类型为【外部】需要传递 dataType【外部】
sensitiveDataType
:
""
,
// 敏感信息查看权限 1是,2否
sensitiveDataType
:
""
,
// 敏感信息查看权限 1是,2否
dataRole
:
''
,
//数据需求角色 1管理员,2普通用户
dataRole
:
""
,
//数据需求角色 1管理员,2普通用户
ids
:
[],
// 数据分发人员数组
ids
:
[],
// 数据分发人员数组
fileId
:
''
,
// 文件上传id
fileId
:
""
,
// 文件上传id
dataTermValidity
:
""
,
// 数据有效期 - 日期
dataTermValidity
:
""
,
// 数据有效期 - 日期
dataCount
:
""
,
// 数据访问次数限制
dataCount
:
""
,
// 数据访问次数限制
sensitiveDataColumn
:
""
,
// 敏感信息列所在位置
sensitiveDataColumn
:
""
// 敏感信息列所在位置
};
};
},
},
//添加项目
addproject
()
{
this
.
addProjectVisible
=
true
;
},
dialogSave
()
{
this
.
getData
(
"get"
,
`/sensitive/projectMain/add?projectName=
${
this
.
projectName
}
`
,
{},
data
=>
{
this
.
$message
({
type
:
"success"
,
message
:
"项目添加成功"
});
this
.
addProjectVisible
=
false
;
}
);
},
// 修改数据
// 修改数据
modifyDataHandle
(
id
){
modifyDataHandle
(
id
)
{
// 为了方便测试,这里写一个有效的dev环境的id值!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!切记删除
console
.
log
(
"modifyDataHandle() : id = "
+
id
)
// 为了方便测试,这里写一个有效的dev环境的id值!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!切记删除
// 为了方便测试,这里写一个有效的dev环境的id值!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!切记删除
// 为了方便测试,这里写一个有效的dev环境的id值!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!切记删除
// id = 60;
// id = 60;
// 为了方便测试,这里写一个有效的dev环境的id值!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!切记删除
// 为了方便测试,这里写一个有效的dev环境的id值!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!切记删除
// 为了方便测试,这里写一个有效的dev环境的id值!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!切记删除
// 为了方便测试,这里写一个有效的dev环境的id值!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!切记删除
this
.
centerDialogVisible
=
true
;
this
.
centerDialogVisible
=
true
;
this
.
handleType
=
'2'
;
this
.
handleType
=
"2"
;
this
.
getData
(
'get'
,
`/sensitive/import/data?id=
${
id
}
`
,
{},(
data
)
=>
{
this
.
getData
(
"get"
,
`/sensitive/import/data?id=
${
id
}
`
,
{},
data
=>
{
const
form
=
data
.
data
;
const
form
=
data
.
data
;
if
(
!
form
.
needIds
)
form
.
needIds
=
[];
if
(
!
form
.
needIds
)
form
.
needIds
=
[];
if
(
!
form
.
ids
)
form
.
ids
=
[];
if
(
!
form
.
ids
)
form
.
ids
=
[];
form
.
id
=
id
;
form
.
id
=
id
;
this
.
form
=
form
;
this
.
form
=
form
;
});
});
},
},
// 列表关闭操作
// 列表关闭操作
closeDingHandle
(
userId
){
closeDingHandle
(
userId
)
{
this
.
$confirm
(
'确定关闭?'
,
'提示'
,
{
this
.
$confirm
(
"确定关闭?"
,
"提示"
,
{
confirmButtonText
:
'确定'
,
confirmButtonText
:
"确定"
,
cancelButtonText
:
'取消'
,
cancelButtonText
:
"取消"
,
center
:
true
,
center
:
true
,
customClass
:
'close-msg-box'
customClass
:
"close-msg-box"
}).
then
(()
=>
{
}).
then
(()
=>
{
this
.
getData
(
'put'
,
`/sensitive/visit/status?userId=
${
userId
}
`
,
{},(
data
)
=>
{
this
.
getData
(
this
.
$message
({
"put"
,
type
:
'success'
,
`/sensitive/visit/status?userId=
${
userId
}
`
,
message
:
'关闭成功!'
{},
});
data
=>
{
this
.
getDataList
(
this
.
currentPage
,
{});
this
.
$message
({
});
type
:
"success"
,
})
message
:
"关闭成功!"
});
this
.
getDataList
(
this
.
currentPage
,
this
.
queryParams
);
}
);
});
},
},
// 列表通知操作
// 列表通知操作
notifyDingHandle
(
obj
){
notifyDingHandle
(
obj
)
{
const
{
dataSheetName
,
dingdingDate
,
dingdingNumber
,
mobilePhone
,
userId
}
=
obj
;
const
{
this
.
$confirm
(
'确定通知该用户?'
,
'提示'
,
{
dataSheetName
,
confirmButtonText
:
'确定'
,
dingdingDate
,
cancelButtonText
:
'取消'
,
dingdingNumber
,
mobilePhone
,
userId
}
=
obj
;
this
.
$confirm
(
"确定通知该用户?"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
center
:
true
,
center
:
true
,
customClass
:
'close-msg-box'
customClass
:
"close-msg-box"
}).
then
(()
=>
{
}).
then
(()
=>
{
this
.
getData
(
'put'
,
'/sensitive/visit/notice'
,
{
this
.
getData
(
dataSheetName
,
dingdingDate
,
dingdingNumber
,
mobilePhone
,
userId
"put"
,
},(
data
)
=>
{
"/sensitive/visit/notice"
,
this
.
$message
({
{
type
:
'success'
,
dataSheetName
,
message
:
'通知成功!'
dingdingDate
,
});
dingdingNumber
,
this
.
getDataList
(
this
.
currentPage
,
{});
mobilePhone
,
});
userId
})
},
data
=>
{
this
.
$message
({
type
:
"success"
,
message
:
"通知成功!"
});
this
.
getDataList
(
this
.
currentPage
,
this
.
queryParams
);
}
);
});
},
},
// 查看个人审批编号页面
// 查看个人审批编号页面
dataview
(
row
)
{
dataview
(
row
)
{
this
.
$router
.
push
(
"/data-view"
);
this
.
$router
.
push
(
"/data-view"
);
this
.
$router
.
push
({
this
.
$router
.
push
({
path
:
'/data-view'
,
path
:
"/data-view"
,
query
:
{
query
:
{
dingdingNumber
:
row
.
dingdingNumber
,
dingdingNumber
:
row
.
dingdingNumber
,
dingdingDate
:
row
.
dingdingDate
,
dingdingDate
:
row
.
dingdingDate
,
sheet
:
row
.
dataSheetName
,
sheet
:
row
.
dataSheetName
}
}
})
})
;
},
},
numInputLimit
(
e
)
{
numInputLimit
(
e
)
{
let
key
=
e
.
key
let
key
=
e
.
key
;
// 不允许输入'e'和'.'
// 不允许输入'e'和'.'
if
(
key
===
'e'
||
key
===
'.'
)
{
if
(
key
===
"e"
||
key
===
"."
)
{
e
.
returnValue
=
false
e
.
returnValue
=
false
;
return
false
return
false
;
}
}
return
true
return
true
;
},
},
resetForm
(
formName
)
{
resetForm
(
formName
)
{
this
.
$refs
[
formName
].
resetFields
();
this
.
$refs
[
formName
].
resetFields
();
},
},
closeCreate
(){
closeCreate
()
{
this
.
centerDialogVisible
=
false
;
this
.
centerDialogVisible
=
false
;
},
},
closeModify
(){
closeModify
()
{
this
.
reviseDialogVisible
=
false
;
this
.
reviseDialogVisible
=
false
;
},
},
// 数据导入成功之后的通知方法
// 数据导入成功之后的通知方法
saveSuccess
(){
saveSuccess
()
{
this
.
getDataList
(
this
.
currentPage
,
{}
);
this
.
getDataList
(
this
.
currentPage
,
this
.
queryParams
);
},
},
// 封装一下请求通用的方法
// 封装一下请求通用的方法
getData
(
type
,
url
,
req
,
callback
)
{
getData
(
type
,
url
,
req
,
callback
)
{
openLoading
(
this
);
openLoading
(
this
);
this
.
$axios
[
type
](
localStorage
.
getItem
(
"lectureUrl"
)
+
url
,
req
)
this
.
$axios
[
type
](
localStorage
.
getItem
(
"lectureUrl"
)
+
url
,
req
)
.
then
(
(
res
)
=>
{
.
then
(
res
=>
{
closeLoading
(
this
);
closeLoading
(
this
);
let
data
=
res
.
data
;
let
data
=
res
.
data
;
if
(
data
.
code
==
"000000"
)
{
if
(
data
.
code
==
"000000"
)
{
if
(
callback
)
callback
(
data
);
if
(
callback
)
callback
(
data
);
}
else
{
}
else
{
this
.
$message
.
error
(
data
.
message
);
this
.
$message
.
error
(
data
.
message
);
}
}
}).
catch
((
error
)
=>
{
})
.
catch
(
error
=>
{
closeLoading
(
this
);
closeLoading
(
this
);
this
.
$message
.
error
(
'网络出现点问题'
)
this
.
$message
.
error
(
"网络出现点问题"
);
})
});
}
}
}
}
};
};
...
@@ -439,12 +518,12 @@ export default {
...
@@ -439,12 +518,12 @@ export default {
<
style
lang=
"less"
>
<
style
lang=
"less"
>
.data-in-wrap {
.data-in-wrap {
.pagination-style{
.pagination-style
{
margin-top: 30px;
margin-top: 30px;
float: right;
float: right;
}
}
}
}
.close-msg-box{
.close-msg-box
{
width: 280px;
width: 280px;
}
}
</
style
>
</
style
>
src/views/sensitive-control/data-statistic.vue
0 → 100644
浏览文件 @
364d0b68
<
template
>
<div
class=
"data-in-wrap"
>
<el-form
ref=
"form"
:model=
"queryParams"
label-width=
"100px"
:inline=
"true"
:rules=
"rules"
>
<el-form-item
label=
"项目名称"
prop=
"projectMainId"
>
<el-select
v-model=
"queryParams.projectMainId"
placeholder=
"请选择项目"
clearable
>
<el-option
v-for=
"item in projectList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"审批编号"
prop=
"dingdingNumber"
>
<el-input
v-model=
"queryParams.dingdingNumber"
size=
"small"
style=
"width:220px"
class=
"input"
placeholder=
"审批编号查询"
clearable
@
input=
"handleIdChange"
@
keydown
.
native=
"numInputLimit"
maxlength=
"21"
></el-input>
</el-form-item>
<el-form-item
label=
"申请日期"
prop=
"dingdingDate"
>
<el-select
v-model=
"queryParams.dingdingDate"
placeholder=
"请选择"
@
change=
"handleDatechange"
clearable
>
<el-option
v-for=
"item in dingdingDateList"
:key=
"item"
:label=
"item"
:value=
"item"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"sheet名称"
prop=
"dataSheetName"
>
<el-select
v-model=
"queryParams.dataSheetName"
placeholder=
"请选择"
@
change=
"handleSheetchange"
clearable
>
<el-option
v-for=
"item in sheetList"
:key=
"item"
:label=
"item"
:value=
"item"
></el-option>
</el-select>
</el-form-item>
</el-form>
<div
class=
"block"
style=
"margin-bottom:20px;display: flex;"
>
<el-button
@
click=
"showProjectTag"
>
项目标签设置
</el-button>
<el-button
@
click=
"showProjectStatus"
>
项目标记状态设置
</el-button>
<el-button
@
click=
"queryDataListByClick"
>
数据查询
</el-button>
<el-button
@
click=
"showExportModal"
>
导出
</el-button>
<div
style=
"margin-left:20px;margin-top:5px"
>
备注:请使用谷歌浏览器导出
</div>
<a
:href=
"'http://www.google.cn/chrome/'"
class=
"href-link"
>
点击下载
</a>
</div>
<template>
<el-table
:data=
"dataList"
style=
"width: 100%"
>
<el-table-column
label=
"项目名称"
prop=
"projectMainName"
></el-table-column>
<el-table-column
label=
"钉钉编号"
prop=
"dingdingNumber"
width=
"180"
></el-table-column>
<el-table-column
label=
"申请日期"
prop=
"dingdingDate"
></el-table-column>
<el-table-column
label=
"文件sheet名"
prop=
"dataSheetName"
></el-table-column>
<el-table-column
label=
"总数据量"
prop=
"dataSum"
></el-table-column>
<el-table-column
label=
"已处理数据量"
prop=
"processedSum"
></el-table-column>
<el-table-column
label=
"操作"
fixed=
"right"
width=
"200"
>
<template
slot-scope=
"scope"
>
<el-button
@
click=
"dataview(scope.row)"
type=
"text"
size=
"small"
>
查看
</el-button>
</
template
>
</el-table-column>
</el-table>
<el-pagination
v-if=
"dataList && dataList.length > 0"
class=
"pagination-style"
@
size-change=
"handleSizeChange"
@
current-change=
"dataListChange"
:total=
"total"
:current-page=
"currentPage"
:page-sizes=
"[15, 30, 50, 100]"
:page-size=
"pageSize"
layout=
"total, sizes, prev, pager, next, jumper"
></el-pagination>
</template>
<el-dialog
:visible
.
sync=
"setTagVisible"
:close-on-click-modal=
"false"
width=
"500px"
>
<p
class=
"dialog-title"
>
项目标签设置
</p>
<el-select
v-model=
"labelProjectMainId"
@
change=
"handleLabelchange"
placeholder=
"请选择项目"
style=
"margin-left: 110px"
>
<el-option
v-for=
"item in projectList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
<div>
<div
v-for=
"(u,i) in labelList"
style=
"margin-top: 20px; margin-left: 110px"
>
<el-select
v-model=
"labelList[i]"
placeholder=
"请选择标签"
>
<el-option
v-for=
"item in allLabelList"
:key=
"item.code"
:label=
"item.value"
:value=
"item.code"
></el-option>
</el-select>
<el-button
v-if=
"i==labelList.length-1 && i<19"
@
click=
"addTagNew"
>
+
</el-button>
<el-button
v-if=
"labelList.length>1"
@
click=
"deleteTag(i)"
>
-
</el-button>
</div>
</div>
<div
slot=
"footer"
style=
"text-align: center"
>
<el-button
type=
"primary"
@
click=
"setTagSave"
>
确认
</el-button>
<el-button
@
click=
"setTagVisible = false;clearLabelData();"
>
取消
</el-button>
</div>
</el-dialog>
<el-dialog
:visible
.
sync=
"setStatusVisible"
:close-on-click-modal=
"false"
width=
"500px"
>
<p
class=
"dialog-title"
>
项目标记状态设置
</p>
<el-select
v-model=
"statusProjectMainId"
placeholder=
"请选择项目"
@
change=
"handleStatuschange"
style=
"margin-left: 110px"
>
<el-option
v-for=
"item in projectList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
<div
style=
"margin-top: 20px; margin-left: 110px"
>
<el-input
v-model=
"status01.value"
style=
"width:180px;"
class=
"input"
placeholder=
"标记状态"
clearable
maxlength=
"10"
></el-input>
<el-button
v-if=
"statusCount==1"
@
click=
"addStatusNew"
>
+
</el-button>
<el-button
v-if=
"statusCount>1"
@
click=
"deleteStatus(1)"
>
-
</el-button>
</div>
<div
v-if=
"statusCount>1"
style=
"margin-top: 20px; margin-left: 110px"
>
<el-input
v-model=
"status02.value"
style=
"width:180px;"
class=
"input"
placeholder=
"标记状态"
clearable
maxlength=
"10"
></el-input>
<el-button
v-if=
"statusCount==2"
@
click=
"addStatusNew"
>
+
</el-button>
<el-button
@
click=
"deleteStatus(2)"
>
-
</el-button>
</div>
<div
v-if=
"statusCount>2"
style=
"margin-top: 20px; margin-left: 110px"
>
<el-input
v-model=
"status03.value"
style=
"width:180px;"
class=
"input"
placeholder=
"标记状态"
clearable
maxlength=
"10"
></el-input>
<el-button
v-if=
"statusCount==3"
@
click=
"addStatusNew"
>
+
</el-button>
<el-button
@
click=
"deleteStatus(3)"
>
-
</el-button>
</div>
<div
v-if=
"statusCount>3"
style=
"margin-top: 20px; margin-left: 110px"
>
<el-input
v-model=
"status04.value"
style=
"width:180px;"
class=
"input"
placeholder=
"标记状态"
clearable
maxlength=
"10"
></el-input>
<el-button
v-if=
"statusCount==4"
@
click=
"addStatusNew"
>
+
</el-button>
<el-button
@
click=
"deleteStatus(4)"
>
-
</el-button>
</div>
<div
v-if=
"statusCount>4"
style=
"margin-top: 20px; margin-left: 110px"
>
<el-input
v-model=
"status05.value"
style=
"width:180px;"
class=
"input"
placeholder=
"标记状态"
clearable
maxlength=
"10"
></el-input>
<el-button
@
click=
"deleteStatus(5)"
>
-
</el-button>
</div>
<div
slot=
"footer"
style=
"text-align: center"
>
<el-button
type=
"primary"
@
click=
"setStatusSave"
>
确认
</el-button>
<el-button
@
click=
"setStatusVisible = false; clearStatusData();"
>
取消
</el-button>
</div>
</el-dialog>
<!-- 导出弹窗 -->
<el-dialog
title=
"导出"
:visible
.
sync=
"exportModalVisible"
width=
"300px"
center
>
<p>
您当前数据总导出次数为:{{checkExportData.dataExportTotal}}次
</p>
<p>
剩余导出次数为:{{checkExportData.dataExportCount}}次
</p>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"exportModalVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"handleExport"
>
确 定
</el-button>
</span>
</el-dialog>
</div>
</template>
<
script
>
import
{
baseUrl
}
from
"../../api/hostconfig"
;
import
{
openLoading
,
closeLoading
}
from
"../../common/utils"
;
export
default
{
components
:
{},
data
()
{
var
checkNumLength
=
(
rule
,
value
,
callback
)
=>
{
if
(
!
value
)
{
return
callback
(
new
Error
(
"请输入审批单号"
));
}
else
if
(
value
&&
(
value
+
""
).
length
!=
21
)
{
callback
(
new
Error
(
"审批单号必须为21位数字值"
));
}
else
{
callback
();
}
};
return
{
setTagVisible
:
false
,
setStatusVisible
:
false
,
labelProjectMainId
:
""
,
// tag01: "",
// tag02: "",
// tag03: "",
// tag04: "",
// tag05: "",
labelCount
:
1
,
labelList
:
[],
allLabelList
:
[],
statusProjectMainId
:
""
,
status01
:
{},
status02
:
{},
status03
:
{},
status04
:
{},
status05
:
{},
statusCount
:
1
,
statusList
:
[],
handleType
:
"1"
,
// 表单操作类型,1.新增 2.修改
currentPage
:
1
,
pageSize
:
15
,
total
:
50
,
// 默认分页总数
dataList
:
[],
// 初始化数据列表
centerDialogVisible
:
false
,
// 是否显示数据导入(新增)
reviseDialogVisible
:
false
,
// 是否显示数据导入(修改)
projectList
:
[],
sheetList
:
[],
// 被搜索出来的sheet列表
dingdingDateList
:
[],
//申请日期列表
// 查询的字段
queryParams
:
{
projectMainId
:
""
,
//项目id
dingdingNumber
:
""
,
// 审批编号
dingdingDate
:
""
,
// 申请日期
dataSheetName
:
""
,
// sheet名称
},
exportModalVisible
:
false
,
// 导出弹窗
//导出数据量
checkExportData
:
{
dataExportTotal
:
0
,
// 总的
dataExportCount
:
0
,
// 剩余的
},
rules
:
{
pName
:
[{
required
:
true
,
message
:
"请选择项目名称"
,
trigger
:
"blur"
}],
labelProjectMainId
:
[
{
required
:
true
,
message
:
"请选择项目名称"
,
trigger
:
"blur"
},
],
dingdingNumber
:
[
{
required
:
false
,
validator
:
checkNumLength
,
message
:
"请输入正确格式的审批编号"
,
trigger
:
[
"blur"
,
"change"
],
},
{
pattern
:
/^
[
5A-Za-z0-9-
\_]
+$/
,
message
:
"只能输入英文,数字,下划线,横线"
,
},
],
// dingdingDate: [
// { required: true, message: "请选择日期", trigger: "change" },
// ],
// dataSheetName: [
// { required: true, message: "请输入sheet名称", trigger: "change" },
// ],
dataType
:
[
{
required
:
true
,
message
:
"请至少选择一个数据方类型"
,
trigger
:
"change"
,
},
],
needIds
:
[
{
required
:
true
,
message
:
"请输入内部数据需求方姓名"
,
trigger
:
"blur"
,
},
],
mobilePhone
:
[
{
required
:
true
,
message
:
"请输入内部数据需求方手机号"
,
trigger
:
"blur"
,
},
{
pattern
:
/^1
[
345789
]\d{9}
$/
,
message
:
"输入正确格式的手机号"
},
],
name
:
[
{
required
:
true
,
message
:
"请输入外部数据需求方姓名"
,
trigger
:
"blur"
,
},
],
sensitiveDataType
:
[
{
required
:
true
,
message
:
"请确定敏感信息"
,
trigger
:
"change"
},
],
exportCount
:
[
{
required
:
true
,
message
:
"请确定导出次数"
,
trigger
:
"blur"
},
{
pattern
:
/^
\+?[
0-9
][
0-9
]
*$/
,
message
:
"导出次数只能是正整数"
},
],
dataRole
:
[
{
required
:
true
,
message
:
"请选择一个数据需求角色"
,
trigger
:
"change"
,
},
],
ids
:
[
{
required
:
true
,
message
:
"请选择数据分发人员"
,
trigger
:
"blur"
},
],
distributeExportCount
:
[
{
required
:
true
,
message
:
"请确定导出次数"
,
trigger
:
"blur"
},
{
pattern
:
/^
\+?[
0-9
][
0-9
]
*$/
,
message
:
"导出次数只能是正整数"
},
],
fileId
:
[{
required
:
true
,
message
:
"请上传文件"
,
trigger
:
"change"
}],
dataTermValidity
:
[
{
required
:
true
,
message
:
"请填写数据有效期"
,
trigger
:
"blur"
},
],
dataCount
:
[
{
required
:
true
,
message
:
"请填写数据访问次数"
,
trigger
:
"blur"
},
{
pattern
:
/^
\+?[
0-9
][
0-9
]
*$/
,
message
:
"访问次数只能是正整数"
},
],
sensitiveDataColumn
:
[
{
required
:
true
,
message
:
"请填写敏感信息所在位置"
,
trigger
:
"blur"
,
},
],
},
};
},
created
()
{
//获取项目名称列表
console
.
log
(
"created() : enter"
);
this
.
getProjectNameList
();
// 初始化获取数据列表
// this.getDataList(this.currentPage, {});
},
methods
:
{
//获取项目名称列表
getProjectNameList
()
{
this
.
getData
(
"get"
,
`/sensitive/dataStatistics/getProject`
,
{},
(
data
)
=>
{
this
.
projectList
=
data
.
data
;
}
);
},
//项目标签设置
showProjectTag
()
{
this
.
setTagVisible
=
true
;
this
.
getHistoryLabel
();
this
.
getAllLabel
();
},
getAllLabel
()
{
this
.
getData
(
"post"
,
"/sensitive/dataStatistics/getAllLabel"
,
{},
(
data
)
=>
{
this
.
allLabelList
=
data
.
data
;
}
);
},
getHistoryLabel
()
{
this
.
getData
(
"get"
,
`/sensitive/dataStatistics/getLabel?projectMainId=
${
this
.
labelProjectMainId
}
`
,
{},
(
data
)
=>
{
this
.
labelList
=
data
.
data
;
if
(
this
.
labelList
.
length
<=
0
)
{
this
.
labelList
=
[
""
];
}
}
);
},
handleLabelchange
()
{
this
.
clearLabelData
();
this
.
getHistoryLabel
();
},
addTagNew
()
{
this
.
labelList
.
push
(
""
);
},
deleteTag
(
index
)
{
this
.
labelList
.
splice
(
index
,
1
);
},
setTagSave
()
{
if
(
this
.
labelProjectMainId
==
null
||
this
.
labelProjectMainId
==
""
)
{
this
.
$message
.
error
(
"请选择项目名称"
);
return
;
}
let
checkTagValid
=
false
;
for
(
let
item
=
0
;
item
<
this
.
labelList
.
length
;
item
++
)
{
if
(
this
.
labelList
[
item
]
!=
null
&&
this
.
labelList
[
item
]
!=
""
)
{
checkTagValid
=
true
;
break
;
}
}
console
.
log
(
"setTagSave() : checkTagValid = "
+
checkTagValid
);
if
(
!
checkTagValid
)
{
this
.
$message
.
error
(
"标签不可为空"
);
return
;
}
for
(
let
item
=
0
;
item
<
this
.
labelList
.
length
;
item
++
)
{
console
.
log
(
"setTagSave() : item = "
+
item
);
if
(
this
.
labelList
[
item
]
==
""
)
{
this
.
deleteTag
(
item
);
if
(
item
!=
0
)
{
item
--
;
}
}
}
let
req
=
{
codes
:
this
.
labelList
,
projectMainId
:
this
.
labelProjectMainId
,
};
this
.
getData
(
"post"
,
`/sensitive/dataStatistics/setLabel`
,
req
,
(
data
)
=>
{
this
.
$message
({
type
:
"success"
,
message
:
"项目标签设置成功"
,
});
this
.
clearLabelData
();
this
.
setTagVisible
=
false
;
}
);
},
clearLabelData
()
{
// this.tag01 = "";
// this.tag02 = "";
// this.tag03 = "";
// this.tag04 = "";
// this.tag05 = "";
this
.
labelList
=
[];
},
//项目标记状态设置
showProjectStatus
()
{
this
.
setStatusVisible
=
true
;
this
.
getHistoryStatus
();
},
addStatusNew
()
{
this
.
statusCount
++
;
},
deleteStatus
(
index
)
{
this
.
recodeStatus
(
index
);
this
.
statusCount
--
;
},
recodeStatus
(
index
)
{
if
(
index
==
1
)
{
this
.
status01
=
this
.
status02
;
this
.
status02
=
this
.
status03
;
this
.
status03
=
this
.
status04
;
this
.
status04
=
this
.
status05
;
}
else
if
(
index
==
2
)
{
this
.
status02
=
this
.
status03
;
this
.
status03
=
this
.
status04
;
this
.
status04
=
this
.
status05
;
}
else
if
(
index
==
3
)
{
this
.
status03
=
this
.
status04
;
this
.
status04
=
this
.
status05
;
}
else
if
(
index
==
4
)
{
this
.
status04
=
this
.
status05
;
}
else
if
(
index
==
5
)
{
this
.
status05
=
""
;
}
},
getHistoryStatus
()
{
this
.
getData
(
"get"
,
`/sensitive/dataStatistics/getState?projectMainId=
${
this
.
statusProjectMainId
}
`
,
{},
(
data
)
=>
{
this
.
statusList
=
data
.
data
;
if
(
this
.
statusList
&&
this
.
statusList
.
length
>
0
)
{
this
.
statusCount
=
this
.
statusList
.
length
;
console
.
log
(
"getHistoryStatus() : this.statusCount = "
+
this
.
statusCount
);
if
(
this
.
statusCount
>
0
)
{
for
(
let
item
in
this
.
statusList
)
{
if
(
item
==
0
)
{
this
.
status01
=
this
.
statusList
[
item
];
}
else
if
(
item
==
1
)
{
this
.
status02
=
this
.
statusList
[
item
];
}
else
if
(
item
==
2
)
{
this
.
status03
=
this
.
statusList
[
item
];
}
else
if
(
item
==
3
)
{
this
.
status04
=
this
.
statusList
[
item
];
}
else
if
(
item
==
4
)
{
this
.
status05
=
this
.
statusList
[
item
];
}
}
}
}
else
{
this
.
statusCount
=
1
;
}
}
);
},
handleStatuschange
()
{
this
.
clearStatusData
();
this
.
getHistoryStatus
();
},
clearStatusData
()
{
this
.
status01
=
{};
this
.
status02
=
{};
this
.
status03
=
{};
this
.
status04
=
{};
this
.
status05
=
{};
this
.
statusList
=
[];
},
setStatusSave
()
{
if
(
this
.
statusProjectMainId
==
null
||
this
.
statusProjectMainId
==
""
)
{
this
.
$message
.
error
(
"请选择项目名称"
);
return
;
}
this
.
statusList
=
[
// { id: 0, value: this.status01 },
// { id: 1, value: this.status02 },
// { id: 2, value: this.status03 },
// { id: 3, value: this.status04 },
// { id: 4, value: this.status05 },
{
id
:
this
.
status01
.
id
,
value
:
this
.
status01
.
value
},
{
id
:
this
.
status02
.
id
,
value
:
this
.
status02
.
value
},
{
id
:
this
.
status03
.
id
,
value
:
this
.
status03
.
value
},
{
id
:
this
.
status04
.
id
,
value
:
this
.
status04
.
value
},
{
id
:
this
.
status05
.
id
,
value
:
this
.
status05
.
value
},
];
let
checkStatusValid
=
false
;
for
(
let
item
=
0
;
item
<
this
.
statusList
.
length
;
item
++
)
{
console
.
log
(
"setStatusSave() : this.statusList[item].value = "
+
this
.
statusList
[
item
].
value
);
if
(
this
.
statusList
[
item
].
value
!=
null
&&
this
.
statusList
[
item
].
value
!=
""
&&
this
.
statusList
[
item
].
value
!=
undefined
)
{
checkStatusValid
=
true
;
break
;
}
}
console
.
log
(
"setStatusSave() : checkStatusValid = "
+
checkStatusValid
);
if
(
!
checkStatusValid
)
{
this
.
$message
.
error
(
"标记状态不可为空"
);
return
;
}
let
req
=
{
list
:
this
.
statusList
,
projectMainId
:
this
.
statusProjectMainId
,
};
this
.
getData
(
"post"
,
`/sensitive/dataStatistics/setState`
,
req
,
(
data
)
=>
{
this
.
$message
({
type
:
"success"
,
message
:
"项目标记状态设置成功"
,
});
this
.
clearStatusData
();
this
.
setStatusVisible
=
false
;
}
);
},
queryDataListByClick
()
{
this
.
currentPage
=
1
;
this
.
queryDataList
();
},
// 数据查询
queryDataList
()
{
this
.
getDataList
(
this
.
currentPage
,
this
.
queryParams
);
},
//导出
showExportModal
()
{
console
.
log
(
"导出。。。。。"
);
// 待接口提供后 请求接口获取excel, 再出发下载
// this.checkExport();
this
.
handleExport
();
},
checkExport
()
{
let
data
=
{
dingdingNum
:
this
.
queryParams
.
dingdingNumber
,
dingdingDate
:
this
.
queryParams
.
dingdingDate
,
dataSheetName
:
this
.
queryParams
.
dataSheetName
,
};
let
callback
=
(
res
)
=>
{
if
(
res
.
code
==
"000000"
)
{
console
.
log
(
"导出前校验》》》》 "
,
res
);
this
.
checkExportData
.
dataExportTotal
=
res
.
data
.
dataExportTotal
;
this
.
checkExportData
.
dataExportCount
=
res
.
data
.
dataExportCount
;
this
.
exportModalVisible
=
true
;
}
else
{
vm
.
$message
.
error
(
res
.
message
);
}
};
this
.
getData
(
"post"
,
`/sensitive/dataSearch/check/export`
,
// this.queryParams,
data
,
callback
);
},
handleExport
()
{
let
callback
=
(
res
)
=>
{
if
(
res
.
code
==
"000000"
)
{
console
.
log
(
"正式导出》》》》 "
,
res
);
// 执行下载excel
this
.
downloadFile
(
res
.
data
.
path
,
res
.
data
.
fileName
);
this
.
exportModalVisible
=
false
;
}
else
{
this
.
$message
.
error
(
res
.
message
);
}
};
this
.
getData
(
"post"
,
`/sensitive/dataStatistics/exportDataStatistic`
,
this
.
queryParams
,
callback
);
},
downloadFile
(
base64
,
fileName
)
{
let
a
=
document
.
createElement
(
"a"
);
let
uploadHref
=
"data:application/xls;base64,"
+
base64
;
a
.
setAttribute
(
"href"
,
uploadHref
);
let
exportFileName
=
fileName
;
a
.
setAttribute
(
"download"
,
exportFileName
);
a
.
click
();
},
// 根据审批编号查询申请日期操作
handleIdChange
(
value
)
{
if
(
value
.
length
==
21
)
{
this
.
getData
(
"get"
,
`/sensitive/visit/date?dingdingNumber=
${
value
}
`
,
{},
(
data
)
=>
{
this
.
dingdingDateList
=
data
.
data
;
}
);
}
else
{
this
.
dingdingDateList
=
[];
// this.projectList = [];
this
.
sheetList
=
[];
this
.
queryParams
.
dingdingDate
=
""
;
this
.
queryParams
.
dataSheetName
=
""
;
}
},
// 根据审批编号和日期搜索sheet
handleDatechange
(
val
)
{
this
.
getData
(
"get"
,
`/sensitive/visit/sheet?dingdingNumber=
${
this
.
queryParams
.
dingdingNumber
}
&dingdingDate=
${
val
}
`
,
{},
(
data
)
=>
{
this
.
sheetList
=
data
.
data
;
}
);
},
// 选中sheet
handleSheetchange
(
val
)
{},
// 获取全部分页数据
getDataList
(
pageNum
,
queryData
)
{
this
.
getData
(
"post"
,
"/sensitive/dataStatistics/queryData"
,
{
pageNum
:
pageNum
,
pageSize
:
this
.
pageSize
,
...
queryData
,
},
(
data
)
=>
{
this
.
dataList
=
data
.
data
.
list
;
this
.
total
=
data
.
data
.
total
;
}
);
},
// 根据页码获取数据
handleSizeChange
(
size
)
{
this
.
pageSize
=
size
;
this
.
getDataList
(
this
.
currentPage
,
{});
},
// 根据分页获取数据
dataListChange
(
num
)
{
this
.
currentPage
=
num
;
this
.
getDataList
(
num
,
{});
},
// 查看个人审批编号页面
dataview
(
row
)
{
// this.$router.push("/data-view");
this
.
$router
.
push
({
path
:
"/data-view"
,
query
:
{
dingdingNumber
:
row
.
dingdingNumber
,
dingdingDate
:
row
.
dingdingDate
,
sheet
:
row
.
dataSheetName
,
},
});
},
numInputLimit
(
e
)
{
let
key
=
e
.
key
;
// 不允许输入'e'和'.'
if
(
key
===
"e"
||
key
===
"."
)
{
e
.
returnValue
=
false
;
return
false
;
}
return
true
;
},
resetForm
(
formName
)
{
this
.
$refs
[
formName
].
resetFields
();
},
closeCreate
()
{
this
.
centerDialogVisible
=
false
;
},
closeModify
()
{
this
.
reviseDialogVisible
=
false
;
},
// 数据导入成功之后的通知方法
saveSuccess
()
{
this
.
getDataList
(
this
.
currentPage
,
{});
},
// 封装一下请求通用的方法
getData
(
type
,
url
,
req
,
callback
)
{
openLoading
(
this
);
this
.
$axios
[
type
](
localStorage
.
getItem
(
"lectureUrl"
)
+
url
,
req
)
.
then
((
res
)
=>
{
closeLoading
(
this
);
let
data
=
res
.
data
;
if
(
data
.
code
==
"000000"
)
{
if
(
callback
)
callback
(
data
);
}
else
{
this
.
$message
.
error
(
data
.
message
);
}
})
.
catch
((
error
)
=>
{
console
.
log
(
"getData() : error = "
+
error
);
closeLoading
(
this
);
this
.
$message
.
error
(
"网络出现点问题"
);
});
},
},
};
</
script
>
<
style
lang=
"less"
>
.data-in-wrap {
.pagination-style {
margin-top: 30px;
float: right;
}
}
.close-msg-box {
width: 280px;
}
.tag-select {
width: 100px;
}
.dialog-title {
margin-bottom: 25px;
font-weight: bold;
text-align: center;
font-size: 18px;
}
.href-link {
color: red;
margin-top:5px;
margin-left:10px;
}
</
style
>
\ No newline at end of file
src/views/sensitive-control/data-view-message.vue
浏览文件 @
364d0b68
<
template
>
<
template
>
<div
class=
"data-view-message-wrap"
>
<div
class=
"data-view-message-wrap"
>
<template
v-if=
"searchTableVisible"
>
<template
v-if=
"searchTableVisible"
>
<el-row
class=
"button-wrap"
>
<div
class=
"class-top-row"
>
<el-button
class=
"each-button"
type=
"primary"
@
click=
"hadnleSearch"
>
查询
</el-button>
<el-row
class=
"button-wrap"
>
<el-button
class=
"each-button"
type=
"primary"
@
click=
"showExportModal"
v-if=
"showExportBtn"
>
导出
</el-button>
<el-col
:span=
"1"
style=
"margin-left: 20px;width: 70px;margin-top: 4px"
>
<el-button
class=
"each-button"
type=
"primary"
@
click=
"showAddConditionModal(true)"
>
添加筛选条件
</el-button>
<label
style=
"font-size: 16px;"
>
标记状态
</label>
</el-col>
<el-select
v-model=
"labelStatus"
size=
"small"
placeholder=
"请选择"
clearable
style=
"margin-left: 0px;width:180px"
>
<el-option
v-for=
"item in dataProjectStates"
:key=
"item.id"
:label=
"item.value"
:value=
"item.id"
></el-option>
</el-select>
<el-link
style=
"margin-left:40px"
>
备注
</el-link>
<el-input
v-model=
"remark"
size=
"small"
style=
"width:180px;"
class=
"input"
placeholder
clearable
></el-input>
</el-row>
<el-row
class=
"button-wrap"
>
<el-button
class=
"each-button"
type=
"primary"
@
click=
"labelVisible=true"
>
添加标签筛选
</el-button>
<el-button
class=
"each-button"
type=
"primary"
@
click=
"handleSearchByClick"
>
查询
</el-button>
<el-button
class=
"each-button"
type=
"primary"
@
click=
"showExportModal"
v-if=
"showExportBtn"
>
导出
</el-button>
<el-button
class=
"each-button"
type=
"primary"
@
click=
"showAddConditionModal(true)"
>
添加筛选条件
</el-button>
</el-row>
</div>
</el-row>
<template
<template
v-if=
"tableDataList && tableDataList.outModels && tableDataList.outModels.length > 0"
>
v-if=
"tableDataList && tableDataList.outModels && tableDataList.outModels.length > 0"
>
<el-table
<el-table
:data=
"tableDataList.outModels"
:data=
"tableDataList.outModels"
:row-style=
"getRowClass"
:header-row-style=
"getRowClass"
:header-cell-style=
"getRowClass"
:row-style=
"getRowClass"
:header-row-style=
"getRowClass"
:header-cell-style=
"getRowClass"
border
border
style=
"width: 100%; flex:1; overflow: scroll;"
>
style=
"width: 100%; flex:1; overflow: scroll;"
>
<template
<template
v-if=
"tableDataList && tableDataList.columnList"
v-if=
"tableDataList && tableDataList.columnList"
v-for=
"item in tableDataList.columnList"
v-for=
"item in tableDataList.columnList"
>
>
<el-table-column
:prop=
"item.key"
align=
"center"
:label=
"item.value"
show-overflow-tooltip
></el-table-column>
<el-table-column
:prop=
"item.key"
align=
"center"
:label=
"item.value"
show-overflow-tooltip
></el-table-column>
</
template
>
</
template
>
<el-table-column
<el-table-column
label=
"备注"
prop=
"remark"
align=
"center"
width=
"120"
></el-table-column>
align=
"center"
<el-table-column
label=
"标记状态"
prop=
"statusValue"
align=
"center"
width=
"100"
></el-table-column>
label=
"操作"
width=
"1
20"
>
<el-table-column
align=
"center"
label=
"操作"
width=
"2
20"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
@
click=
"showRemarkModal(scope.row)"
type=
"text"
size=
"small"
>
备注
</el-button>
<el-button
@
click=
"showRemarkModal(scope.row)"
type=
"text"
size=
"small"
>
备注
</el-button>
<!--
<el-button
type=
"text"
>
标记处理
</el-button>
-->
<el-button
<el-button
@
click=
"handleTagClick(scope.row)"
type=
"text"
size=
"small"
:disabled=
"scope.row.status == 1"
>
{{
scope
.
row
.
status
==
1
?
'已处理'
:
'标记处理'
}}
</el-button>
@
click=
"handleTagClick(scope.row)"
type=
"text"
size=
"small"
:disabled=
"scope.row.status == 1"
>
{{
scope
.
row
.
status
==
1
?
'已处理'
:
'标记处理'
}}
</el-button>
<el-button
@
click=
"handleSetLabelClick(scope.row)"
type=
"text"
size=
"small"
>
标签
</el-button>
<el-button
@
click=
"dialPhone(scope.row)"
type=
"text"
size=
"small"
>
拨号
</el-button>
</
template
>
</
template
>
<!-- <template slot-scope="scope">
<el-select
v-model="labelStatus"
size="small"
placeholder="请选择"
style="margin-left: 0px;"
@click.native="dealOperationClick(scope.row)"
@change="dealOperationChanged">
<el-option
v-for="item in operationList"
:key="item.id"
:label="item.value"
:value="item.id"
></el-option>
</el-select>
</template>-->
</el-table-column>
</el-table-column>
</el-table>
</el-table>
<!-- 分页 -->
<!-- 分页 -->
...
@@ -40,26 +111,27 @@
...
@@ -40,26 +111,27 @@
:current-page=
"pageNo"
:current-page=
"pageNo"
:page-sizes=
"[15, 30, 50, 100]"
:page-sizes=
"[15, 30, 50, 100]"
:page-size=
"pageSize"
:page-size=
"pageSize"
layout=
"total, sizes, prev, pager, next, jumper"
>
layout=
"total, sizes, prev, pager, next, jumper"
</el-pagination>
>
</el-pagination>
</template>
</template>
<div
class=
"no-table-data"
v-else
>
<div
class=
"no-table-data"
v-else
>
暂无数据
</div>
暂无数据
</div>
</template>
</template>
<!-- 验证弹窗 -->
<!-- 验证弹窗 -->
<el-dialog
<el-dialog
title
=
""
title
:close-on-click-modal=
"false"
:close-on-click-modal=
"false"
class=
"check-modal-box"
class=
"check-modal-box"
:visible
.
sync=
"centerDialogVisible"
:visible
.
sync=
"centerDialogVisible"
width=
"300px"
width=
"300px"
center
>
center
<p
style=
"word-break: break-all"
>
该数据的审批单号为 {{dingdingNum}},短信将发送至 {{mobilePhone}} 的手机上,如果手机已停用,请联系管理员。
</p>
>
<p
style=
"word-break: break-all"
>
该数据的审批单号为 {{dingdingNum}},短信将发送至 {{mobilePhone}} 的手机上,如果手机已停用,请联系管理员。
</p>
<div
class=
"captcha-wrap"
>
<div
class=
"captcha-wrap"
>
<el-input
v-model=
"captchaCode"
size=
"small"
placeholder=
"请输入图形验证码"
></el-input>
<el-input
v-model=
"captchaCode"
size=
"small"
placeholder=
"请输入图形验证码"
></el-input>
<img
:src=
"captchaImg"
alt
=
""
@
click=
"handleImgClick"
>
<img
:src=
"captchaImg"
alt
@
click=
"handleImgClick"
/
>
</div>
</div>
<div
class=
"sms-wrap"
>
<div
class=
"sms-wrap"
>
<el-input
v-model=
"smsCode"
size=
"small"
placeholder=
"请输入短信验证码"
></el-input>
<el-input
v-model=
"smsCode"
size=
"small"
placeholder=
"请输入短信验证码"
></el-input>
...
@@ -71,7 +143,7 @@
...
@@ -71,7 +143,7 @@
</span>
</span>
</el-dialog>
</el-dialog>
<!-- 添加筛选条件
弹窗 -->
<!-- 添加筛选条件弹窗 -->
<el-dialog
<el-dialog
:show-close=
"false"
:show-close=
"false"
@
close=
"showAddConditionModal(false)"
@
close=
"showAddConditionModal(false)"
...
@@ -80,9 +152,13 @@
...
@@ -80,9 +152,13 @@
class=
"condition-dialog-wrap"
class=
"condition-dialog-wrap"
:visible=
"addConditioDialogVisible"
:visible=
"addConditioDialogVisible"
width=
"300px"
width=
"300px"
center
>
center
>
<el-form
ref=
"form"
:model=
"conditionForm"
label-width=
"80px"
>
<el-form
ref=
"form"
:model=
"conditionForm"
label-width=
"80px"
>
<
template
v-if=
"tableDataList && tableDataList.columnList"
v-for=
"item in tableDataList.columnList"
>
<
template
v-if=
"tableDataList && tableDataList.columnList"
v-for=
"item in tableDataList.columnList"
>
<el-form-item
:label=
"item.value"
style=
"width:400px;"
>
<el-form-item
:label=
"item.value"
style=
"width:400px;"
>
<el-input
v-model=
"conditionForm[item.key]"
size=
"small"
style=
"width: 150px;"
></el-input>
<el-input
v-model=
"conditionForm[item.key]"
size=
"small"
style=
"width: 150px;"
></el-input>
</el-form-item>
</el-form-item>
...
@@ -94,6 +170,76 @@
...
@@ -94,6 +170,76 @@
</span>
</span>
</el-dialog>
</el-dialog>
<!-- 标记处理弹窗 -->
<el-dialog
title=
"标记状态"
:visible
.
sync=
"tagVisible"
width=
"300px"
center
>
<el-select
v-model=
"tagStatus"
size=
"small"
placeholder=
"请选择"
clearable
style=
"margin-left: 20px"
>
<el-option
v-for=
"item in dataProjectStates"
:key=
"item.id"
:label=
"item.value"
:value=
"item.id"
></el-option>
</el-select>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"dealTagClick"
>
确 定
</el-button>
<el-button
@
click=
"tagVisible = false"
>
取 消
</el-button>
</span>
</el-dialog>
<!-- 添加标签筛选条件弹窗 -->
<el-dialog
title=
"标签筛选条件"
:visible
.
sync=
"labelVisible"
width=
"300px"
center
>
<div
style=
"display: flex;margin-top:10px;"
v-if=
"dataProjectLabels"
v-for=
"(item,i) in dataProjectLabels"
>
<div
class=
"same-line-class"
style=
"margin-right:10px;margin-top:10px;"
>
{{item.labelValue}}
</div>
<div
class=
"input-comp"
>
<el-input
v-model=
"dataProjectContents[i]"
size=
"small"
/>
</div>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"handleLabelClick"
>
确 定
</el-button>
<el-button
@
click=
"labelVisible = false"
>
取 消
</el-button>
</span>
</el-dialog>
<!-- 添加设置标签弹窗 -->
<el-dialog
title=
"设置标签"
:visible
.
sync=
"setLabelVisible"
width=
"300px"
center
>
<div
style=
"display: flex;margin-top:10px;"
v-if=
"dataProjectLabels"
v-for=
"(item, i) in dataProjectLabels"
align=
"center"
>
<div
class=
"same-line-class"
style=
"margin-right:10px;margin-top:10px;"
>
{{item.labelValue}}
</div>
<div
class=
"input-comp"
>
<el-input
v-model=
"setLabelList[i]"
size=
"small"
/>
</div>
</div>
<el-table
v-if=
"historyLabelList && historyLabelList.menus && historyLabelList.menus.length > 0"
ref=
"multipleTable"
:data=
"historyLabelList.datas"
:row-style=
"getRowClass"
:header-row-style=
"getRowClass"
:header-cell-style=
"getRowClass"
border
tooltip-effect=
"dark"
style=
"width: 100%;margin-top: 20px"
>
<
template
v-if=
"historyLabelList && historyLabelList.menus"
v-for=
"item in historyLabelList.menus"
>
<el-table-column
:prop=
"item.key"
:label=
"item.value"
:value=
"item.value"
align=
"center"
></el-table-column>
</
template
>
</el-table>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"dealSetLabelClick"
>
确 定
</el-button>
<el-button
@
click=
"setLabelVisible = false"
>
取 消
</el-button>
</span>
</el-dialog>
<!-- 备注 弹窗 -->
<!-- 备注 弹窗 -->
<el-dialog
<el-dialog
title=
"备注"
title=
"备注"
...
@@ -114,12 +260,17 @@
...
@@ -114,12 +260,17 @@
</ul>
</ul>
</el-dialog>
</el-dialog>
<!-- 拨号弹窗 -->
<el-dialog
title=
"拨号"
:visible
.
sync=
"dialVisible"
width=
"300px"
center
>
<a
:href=
"'tel:' + dialPhoneNum"
>
拨打电话给: {{dialPhoneNum}}
</a>
<span
slot=
"footer"
class=
"dialog-footer"
>
<!-- <el-button type="primary" @click="gotoDialPhone">确 定</el-button> -->
<el-button
@
click=
"dialVisible = false"
>
取 消
</el-button>
</span>
</el-dialog>
<!-- 导出弹窗 -->
<!-- 导出弹窗 -->
<el-dialog
<el-dialog
title=
"导出"
:visible
.
sync=
"exportModalVisible"
width=
"300px"
center
>
title=
"导出"
:visible
.
sync=
"exportModalVisible"
width=
"300px"
center
>
<p>
您当前数据总导出次数为:{{checkExportData.dataExportTotal}}次
</p>
<p>
您当前数据总导出次数为:{{checkExportData.dataExportTotal}}次
</p>
<p>
剩余导出次数为:{{checkExportData.dataExportCount}}次
</p>
<p>
剩余导出次数为:{{checkExportData.dataExportCount}}次
</p>
<span
slot=
"footer"
class=
"dialog-footer"
>
<span
slot=
"footer"
class=
"dialog-footer"
>
...
@@ -128,572 +279,836 @@
...
@@ -128,572 +279,836 @@
</span>
</span>
</el-dialog>
</el-dialog>
<!-- 浏览器检测弹窗 -->
<el-dialog
title=
"当前不是chome浏览器,去下载?"
:visible
.
sync=
"browserVisible"
width=
"300px"
>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"down"
>
确定
</el-button>
<el-button
@
click=
"browserVisible = false"
>
取 消
</el-button>
</span>
</el-dialog>
<!-- 提醒去电脑弹窗 -->
<!-- 提醒去电脑弹窗 -->
<el-dialog
<el-dialog
title=
"提示"
:visible
.
sync=
"phoneModalVisible"
width=
"300px"
center
>
title=
"提示"
:visible
.
sync=
"phoneModalVisible"
width=
"300px"
center
>
<p>
请用电脑浏览器进行导出操作
</p>
<p>
请用电脑浏览器进行导出操作
</p>
<span
slot=
"footer"
class=
"dialog-footer"
>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"phoneModalVisible = false"
>
确 定
</el-button>
<el-button
type=
"primary"
@
click=
"phoneModalVisible = false"
>
确 定
</el-button>
</span>
</span>
</el-dialog>
</el-dialog>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
let
vm
=
null
;
let
vm
=
null
;
import
{
openLoading
,
closeLoading
}
from
"../../common/utils"
;
import
{
openLoading
,
closeLoading
}
from
"../../common/utils"
;
export
default
{
export
default
{
computed
:
{
computed
:
{
getSMSClass
()
{
getSMSClass
()
{
if
(
vm
.
countDownNum
==
60
){
if
(
vm
.
countDownNum
==
60
)
{
return
'button'
;
return
"button"
;
}
else
{
}
else
{
return
'button gray'
;
return
"button gray"
;
}
}
}
},
},
created
()
{
},
vm
=
this
;
created
()
{
// url的?后面有参数,则可调接口获取手机号及审批单号;
vm
=
this
;
let
params
=
window
.
location
.
href
.
split
(
'?'
);
// url的?后面有参数,则可调接口获取手机号及审批单号;
if
(
params
&&
params
.
length
>
1
){
let
params
=
window
.
location
.
href
.
split
(
"?"
);
vm
.
afterParam
=
params
[
1
];
if
(
params
&&
params
.
length
>
1
)
{
// console.log('afterParam: ', vm.afterParam)
vm
.
afterParam
=
params
[
1
];
vm
.
getPhoneNum
();
// console.log('afterParam: ', vm.afterParam)
}
else
{
vm
.
getPhoneNum
();
alert
(
'访问的网页地址无效!'
)
vm
.
getLabelStatus
();
}
else
{
alert
(
"访问的网页地址无效!"
);
}
// 获取图片验证码
vm
.
getCaptcha
();
},
mounted
()
{
vm
.
handleForbid
();
// 禁止默认事件
},
data
()
{
return
{
waterMark
:
""
,
// 水印图片地址
searchTableVisible
:
true
,
// 弹窗下面的 搜索按钮及表格等 是否显示
remarkDialogVisible
:
false
,
// 备注弹窗
newRemark
:
""
,
remarkHistory
:
[],
// 历史备注列表
SMSTips
:
"获取短信验证码"
,
countDownNum
:
60
,
// 倒计时
timer
:
null
,
// 倒计时定时器
afterParam
:
""
,
dingdingNum
:
""
,
mobilePhone
:
""
,
captchaImg
:
""
,
// 图片验证码 url
captchaToken
:
""
,
// 图片验证码 token
addConditioDialogVisible
:
false
,
// 添加筛选条件
conditionForm
:
{},
tableDataList
:
{},
centerDialogVisible
:
true
,
// 验证弹窗
tableData
:
[],
captchaCode
:
""
,
// 图形验证码
smsCode
:
""
,
// 短信验证码
pageNo
:
1
,
pageSize
:
15
,
operationList
:
[
{
id
:
0
,
value
:
"备注"
},
{
id
:
1
,
value
:
"标记"
},
{
id
:
2
,
value
:
"标签"
},
{
id
:
3
,
value
:
"拨号"
},
],
dataProjectStates
:
[],
dataProjectLabels
:
[],
dataProjectContents
:
[],
labelStatus
:
""
,
remark
:
""
,
tagVisible
:
false
,
//标记处理弹窗
tagStatus
:
""
,
labelVisible
:
false
,
//添加标签筛选弹窗
setLabelVisible
:
false
,
//添加设置标签弹窗
setLabelList
:
[],
uploadLabelList
:
[],
historyLabelList
:
{},
dialVisible
:
false
,
//拨号弹窗
dialPhoneNum
:
""
,
showExportBtn
:
false
,
// 是否显示 导出按钮
exportModalVisible
:
false
,
// 导出弹窗
checkExportData
:
{
dataExportTotal
:
0
,
// 总的
dataExportCount
:
0
,
// 剩余的
},
phoneModalVisible
:
false
,
browserVisible
:
false
,
};
},
methods
:
{
handleForbid
()
{
document
.
oncontextmenu
=
function
()
{
return
false
;
};
document
.
oncopy
=
function
()
{
return
false
;
};
document
.
onpaste
=
function
()
{
return
false
;
};
document
.
onselectstart
=
function
()
{
return
false
;
};
},
handleRemarkClose
()
{
vm
.
newRemark
=
""
;
vm
.
remarkHistory
=
[];
},
getWaterMark
()
{
let
data
=
{
parame
:
vm
.
afterParam
,
};
let
callback
=
(
res
)
=>
{
if
(
res
.
code
==
"000000"
)
{
// debugger;
if
(
res
.
data
)
{
vm
.
waterMark
=
res
.
data
;
vm
.
setWaterMark
();
// 设置水印背景
}
else
{
vm
.
$message
.
error
(
"网络出现点问题"
);
}
}
else
{
vm
.
$message
.
error
(
res
.
message
);
}
};
vm
.
sendRequest
(
"post"
,
`/sensitive/image`
,
data
,
callback
);
},
setWaterMark
()
{
let
bg
=
document
.
getElementsByClassName
(
"data-view-message-wrap"
)[
0
];
// bg.style.background = `url(${vm.waterMark}) repeat`;
bg
.
style
.
background
=
"url('"
+
vm
.
waterMark
+
"') repeat"
;
bg
.
style
.
backgroundSize
=
"300px auto"
;
},
getRowClass
({
row
,
column
,
rowIndex
,
columnIndex
})
{
return
"background: rgba(255,255,255,0.2)"
;
},
confirmSendRemark
()
{
// 添加备注信息
if
(
vm
.
newRemark
.
trim
()
==
""
)
{
vm
.
$message
.
error
(
"请先输入备注信息!"
);
return
;
}
}
// 获取图片验证码
let
data
=
{
vm
.
getCaptcha
();
dataContentId
:
vm
.
currentRow
.
contentId
,
dataUserContentId
:
vm
.
currentRow
.
dataUserContentId
,
remark
:
vm
.
newRemark
.
trim
(),
};
let
callback
=
(
res
)
=>
{
if
(
res
.
code
==
"000000"
)
{
vm
.
remarkDialogVisible
=
false
;
vm
.
handleSearch
();
}
else
{
vm
.
$message
.
error
(
res
.
message
);
}
};
vm
.
sendRequest
(
"post"
,
`/sensitive/dataRemark`
,
data
,
callback
);
},
handleSizeChange
(
val
)
{
console
.
log
(
"size change ......."
);
vm
.
pageSize
=
val
;
vm
.
handleSearch
();
},
handleCurrentChange
(
val
)
{
console
.
log
(
"currentPage change ......."
);
vm
.
pageNo
=
val
;
vm
.
handleSearch
();
},
},
mounted
()
{
vm
.
handleForbid
();
// 禁止默认事件
},
data
()
{
return
{
waterMark
:
''
,
// 水印图片地址
searchTableVisible
:
false
,
// 弹窗下面的 搜索按钮及表格等 是否显示
remarkDialogVisible
:
false
,
// 备注弹窗
newRemark
:
""
,
remarkHistory
:
[],
// 历史备注列表
SMSTips
:
'获取短信验证码'
,
countDownNum
:
60
,
// 倒计时
timer
:
null
,
// 倒计时定时器
afterParam
:
''
,
dingdingNum
:
''
,
mobilePhone
:
''
,
captchaImg
:
''
,
// 图片验证码 url
captchaToken
:
''
,
// 图片验证码 token
addConditioDialogVisible
:
false
,
// 添加筛选条件
conditionForm
:
{},
tableDataList
:
{},
centerDialogVisible
:
true
,
// 验证弹窗
tableData
:
[],
captchaCode
:
''
,
// 图形验证码
smsCode
:
''
,
// 短信验证码
pageNo
:
1
,
pageSize
:
15
,
showExportBtn
:
false
,
// 是否显示 导出按钮
exportModalVisible
:
false
,
// 导出弹窗
checkExportData
:
{
dataExportTotal
:
0
,
// 总的
dataExportCount
:
0
,
// 剩余的
},
phoneModalVisible
:
false
,
}
// 获取编号和手机号
getPhoneNum
()
{
// 请求查询接口
let
data
=
{
parame
:
vm
.
afterParam
,
};
let
callback
=
(
res
)
=>
{
if
(
res
.
code
==
"000000"
)
{
vm
.
dingdingNum
=
res
.
data
.
dingdingNum
;
vm
.
mobilePhone
=
res
.
data
.
mobilePhone
;
}
else
{
vm
.
$message
.
error
(
res
.
message
);
}
};
vm
.
sendRequest
(
"post"
,
`/sensitive/mobileCheck/num/mobile`
,
data
,
callback
);
},
},
methods
:
{
handleForbid
()
{
// 获取图形验证码
document
.
oncontextmenu
=
function
(){
getCaptcha
()
{
return
false
;
let
callback
=
(
res
)
=>
{
if
(
res
.
code
===
"000000"
)
{
vm
.
captchaImg
=
`data:image/png;base64,
${
res
.
data
.
content
}
`
;
vm
.
captchaToken
=
res
.
data
.
token
;
}
else
{
vm
.
$message
.
error
(
res
.
message
);
}
}
document
.
oncopy
=
function
(){
};
return
false
;
vm
.
sendRequest
(
"get"
,
`/account/account/captcha`
,
{},
callback
);
},
// 图片验证码点击
handleImgClick
()
{
vm
.
getCaptcha
();
},
// 获取短信验证码
getSMSCode
()
{
if
(
vm
.
captchaCode
==
""
)
{
vm
.
$message
.
error
(
"请输入图形验证码"
);
return
;
}
// 倒计时过程中不可点
if
(
vm
.
countDownNum
!=
60
)
{
// console.log('现在倒计时过程中...不可点击')
return
;
}
// 获取短信验证码
let
data
=
{
parame
:
vm
.
afterParam
,
pictureCode
:
vm
.
captchaCode
,
captchaToken
:
vm
.
captchaToken
,
};
let
callback
=
(
res
)
=>
{
if
(
res
.
code
==
"000000"
)
{
vm
.
timeCount
();
}
else
{
vm
.
$message
.
error
(
res
.
message
);
vm
.
getCaptcha
();
}
}
document
.
onpaste
=
function
(){
};
return
false
;
vm
.
sendRequest
(
"post"
,
`/sensitive/mobileCheck/check/picturecode`
,
data
,
callback
);
},
timeCount
()
{
clearInterval
(
vm
.
timer
);
vm
.
countDownNum
-=
1
;
vm
.
SMSTips
=
`
${
vm
.
countDownNum
}
秒后重试`
;
vm
.
timer
=
setInterval
(
function
()
{
vm
.
countDownNum
-=
1
;
vm
.
SMSTips
=
`
${
vm
.
countDownNum
}
秒后重试`
;
if
(
vm
.
countDownNum
==
0
)
{
vm
.
SMSTips
=
"获取短信验证码"
;
clearInterval
(
vm
.
timer
);
vm
.
countDownNum
=
60
;
}
}
document
.
onselectstart
=
function
(){
},
1000
);
return
false
;
},
handleCheckConfirm
()
{
if
(
vm
.
captchaCode
==
""
)
{
vm
.
$message
.
error
(
"请输入图形验证码"
);
return
;
}
if
(
vm
.
smsCode
==
""
)
{
vm
.
$message
.
error
(
"请输入短信验证码"
);
return
;
}
// 调用 /mobileCheck/check/mobilecode 接口
// 校验 短信验证码
let
data
=
{
parame
:
vm
.
afterParam
,
mobileCode
:
vm
.
smsCode
,
};
let
callback
=
(
res
)
=>
{
if
(
res
.
code
==
"000000"
)
{
vm
.
searchTableVisible
=
true
;
// 短信验证码校验成功,显示背后的内容
vm
.
getTableList
();
}
else
{
vm
.
$message
.
error
(
res
.
message
);
vm
.
getCaptcha
();
vm
.
captchaCode
=
""
;
}
}
},
};
handleRemarkClose
()
{
vm
.
sendRequest
(
vm
.
newRemark
=
''
;
"post"
,
vm
.
remarkHistory
=
[];
`/sensitive/mobileCheck/check/mobilecode`
,
},
data
,
getWaterMark
()
{
callback
let
data
=
{
);
parame
:
vm
.
afterParam
},
};
getTableList
(
isManualClick
)
{
let
callback
=
(
res
)
=>
{
// debugger;
if
(
res
.
code
==
'000000'
){
let
data
=
{
// debugger;
columnMap
:
{},
if
(
res
.
data
){
labelMap
:
{},
vm
.
waterMark
=
res
.
data
;
parame
:
vm
.
afterParam
,
vm
.
setWaterMark
();
// 设置水印背景
pageNo
:
vm
.
pageNo
,
}
else
{
pageSize
:
vm
.
pageSize
,
vm
.
$message
.
error
(
'网络出现点问题'
);
projectStateId
:
vm
.
labelStatus
,
}
remark
:
vm
.
remark
,
}
else
{
};
vm
.
$message
.
error
(
res
.
message
);
if
(
isManualClick
)
{
// 如果添加了筛选条件,则将其合并到 查询接口的传参中
let
stringData
=
JSON
.
stringify
(
vm
.
conditionForm
);
if
(
stringData
!=
"{}"
)
{
let
condition
=
JSON
.
parse
(
stringData
);
for
(
let
key
in
condition
)
{
data
.
columnMap
[
key
]
=
condition
[
key
];
}
}
}
}
vm
.
sendRequest
(
'post'
,
`/sensitive/image`
,
data
,
callback
);
},
if
(
vm
.
dataProjectLabels
.
length
>
0
)
{
setWaterMark
()
{
for
(
let
i
=
0
;
i
<
vm
.
dataProjectLabels
.
length
;
i
++
)
{
let
bg
=
document
.
getElementsByClassName
(
'data-view-message-wrap'
)[
0
];
console
.
log
(
// bg.style.background = `url(${vm.waterMark}) repeat`;
"getTableList() : key = "
+
bg
.
style
.
background
=
"url('"
+
vm
.
waterMark
+
"') repeat"
;
vm
.
dataProjectLabels
[
i
].
labelCode
+
bg
.
style
.
backgroundSize
=
'300px auto'
;
", value = "
+
},
vm
.
dataProjectContents
[
i
]
getRowClass
({
row
,
column
,
rowIndex
,
columnIndex
})
{
);
return
"background: rgba(255,255,255,0.2)"
data
.
labelMap
[
vm
.
dataProjectLabels
[
i
].
labelCode
]
=
},
vm
.
dataProjectContents
[
i
];
confirmSendRemark
()
{
// 添加备注信息
if
(
vm
.
newRemark
.
trim
()
==
''
){
vm
.
$message
.
error
(
'请先输入备注信息!'
);
return
;
}
let
data
=
{
dataUserContentId
:
vm
.
currentRow
.
dataUserContentId
,
remark
:
vm
.
newRemark
.
trim
(),
};
let
callback
=
(
res
)
=>
{
if
(
res
.
code
==
'000000'
){
vm
.
remarkDialogVisible
=
false
;
}
else
{
vm
.
$message
.
error
(
res
.
message
);
}
}
}
}
vm
.
sendRequest
(
'post'
,
`/sensitive/dataRemark`
,
data
,
callback
);
}
},
// handleMaskTouch() {
let
callback
=
(
res
)
=>
{
// console.log('>>>> mask .....')
if
(
res
.
code
==
"000000"
)
{
// let grayMask = document.getElementsByClassName('v-modal')[0];
vm
.
centerDialogVisible
=
false
;
// grayMask.ontouchmove = function(event){
vm
.
captchaCode
=
""
;
// console.log(123)
vm
.
smsCode
=
""
;
// let ev = event || window.event;
vm
.
tableDataList
=
res
.
data
;
// ev.preventDefault();
// ev.stopPropagation();
// }
// },
handleSizeChange
(
val
)
{
console
.
log
(
'size change .......'
)
vm
.
pageSize
=
val
;
vm
.
hadnleSearch
();
},
handleCurrentChange
(
val
)
{
console
.
log
(
'currentPage change .......'
)
vm
.
pageNo
=
val
;
vm
.
hadnleSearch
();
},
// 获取编号和手机号
if
(
getPhoneNum
()
{
typeof
res
.
data
.
dataExportCount
!=
"undefined"
&&
// 请求查询接口
res
.
data
.
dataExportCount
>
0
let
data
=
{
)
{
parame
:
vm
.
afterParam
,
vm
.
showExportBtn
=
true
;
};
let
callback
=
(
res
)
=>
{
if
(
res
.
code
==
'000000'
){
vm
.
dingdingNum
=
res
.
data
.
dingdingNum
;
vm
.
mobilePhone
=
res
.
data
.
mobilePhone
;
}
else
{
vm
.
$message
.
error
(
res
.
message
);
}
}
vm
.
$nextTick
(()
=>
{
if
(
vm
.
afterParam
)
{
vm
.
getWaterMark
();
// 获取水印
}
});
}
else
{
vm
.
$message
.
error
(
res
.
message
);
}
}
vm
.
sendRequest
(
'post'
,
`/sensitive/mobileCheck/num/mobile`
,
data
,
callback
);
};
},
vm
.
sendRequest
(
"post"
,
`/sensitive/dataSearch/searchWeb`
,
data
,
callback
);
},
showAddConditionModal
(
status
)
{
vm
.
addConditioDialogVisible
=
status
?
true
:
false
;
},
handleClearCondition
()
{
vm
.
conditionForm
=
{};
vm
.
addConditioDialogVisible
=
false
;
},
handleSearch
()
{
vm
.
getTableList
(
true
);
},
handleSearchByClick
()
{
vm
.
pageNo
=
1
;
vm
.
handleSearch
();
},
// 获取图形验证码
getCaptcha
()
{
let
callback
=
(
res
)
=>
{
if
(
res
.
code
===
'000000'
){
vm
.
captchaImg
=
`data:image/png;base64,
${
res
.
data
.
content
}
`
vm
.
captchaToken
=
res
.
data
.
token
}
else
{
vm
.
$message
.
error
(
res
.
message
);
}
};
vm
.
sendRequest
(
'get'
,
`/account/account/captcha`
,
{},
callback
);
},
// 图片验证码点击
handleImgClick
()
{
vm
.
getCaptcha
();
},
// 获取短信验证码
//下拉操作列表点击
getSMSCode
()
{
dealOperationClick
(
row
)
{
if
(
vm
.
captchaCode
==
''
){
// console.log("dealOperationClick() : row.remark = " + row.remark);
vm
.
$message
.
error
(
'请输入图形验证码'
);
vm
.
currentRow
=
row
;
return
;
},
}
dealOperationChanged
(
item
)
{
// 倒计时过程中不可点
console
.
log
(
"dealOperationChanged() : item = "
+
item
.
value
);
if
(
vm
.
countDownNum
!=
60
){
},
// console.log('现在倒计时过程中...不可点击')
return
;
showRemarkModal
(
row
)
{
vm
.
remarkDialogVisible
=
true
;
vm
.
currentRow
=
row
;
// 获取备注信息
let
callback
=
(
res
)
=>
{
if
(
res
.
code
==
"000000"
)
{
vm
.
remarkHistory
=
res
.
data
.
remarks
;
}
else
{
vm
.
$message
.
error
(
res
.
message
);
}
}
};
vm
.
sendRequest
(
"get"
,
`/sensitive/dataRemark?dataContentId=
${
row
.
contentId
}
`
,
{},
callback
);
},
// 标记处理点击
handleTagClick
(
row
)
{
vm
.
currentRow
=
row
;
// 获取短信验证码
this
.
tagVisible
=
true
;
let
data
=
{
},
parame
:
vm
.
afterParam
,
dealTagClick
()
{
pictureCode
:
vm
.
captchaCode
,
let
callback
=
(
res
)
=>
{
captchaToken
:
vm
.
captchaToken
,
if
(
res
.
code
==
"000000"
)
{
};
this
.
$message
({
type
:
"success"
,
let
callback
=
(
res
)
=>
{
message
:
"标记状态设置成功"
,
if
(
res
.
code
==
'000000'
){
});
vm
.
timeCount
();
vm
.
handleSearch
();
}
else
{
}
else
{
vm
.
$message
.
error
(
res
.
message
);
vm
.
$message
.
error
(
res
.
message
);
vm
.
getCaptcha
();
}
}
}
vm
.
sendRequest
(
'post'
,
`/sensitive/mobileCheck/check/picturecode`
,
data
,
callback
);
vm
.
tagVisible
=
false
;
},
};
vm
.
sendRequest
(
"get"
,
`/sensitive/dataSearch/changeStatus?dataUserContentId=
${
vm
.
currentRow
.
dataUserContentId
}
&dataContentId=
${
vm
.
currentRow
.
contentId
}
&projectStateId=
${
vm
.
tagStatus
}
`
,
{},
callback
);
},
timeCount
()
{
//每一项的标签点击
clearInterval
(
vm
.
timer
);
handleSetLabelClick
(
row
)
{
vm
.
countDownNum
-=
1
;
vm
.
currentRow
=
row
;
vm
.
SMSTips
=
`
${
vm
.
countDownNum
}
秒后重试`
;
vm
.
setLabelVisible
=
true
;
vm
.
timer
=
setInterval
(
function
(){
vm
.
countDownNum
-=
1
;
vm
.
SMSTips
=
`
${
vm
.
countDownNum
}
秒后重试`
;
if
(
vm
.
countDownNum
==
0
){
vm
.
SMSTips
=
'获取短信验证码'
;
clearInterval
(
vm
.
timer
);
vm
.
countDownNum
=
60
;
}
},
1000
)
},
handleCheckConfirm
()
{
// 获取历史标签信息
if
(
vm
.
captchaCode
==
''
){
let
callback
=
(
res
)
=>
{
vm
.
$message
.
error
(
'请输入图形验证码'
);
if
(
res
.
code
==
"000000"
)
{
return
;
vm
.
historyLabelList
=
res
.
data
;
// console.log(
// "handleSetLabelClick() : vm.historyLabelList = " +
// vm.historyLabelList.menus.length
// );
if
(
vm
.
dataProjectLabels
==
null
||
vm
.
dataProjectLabels
==
""
)
{
vm
.
$message
.
info
(
"未设置过标签"
);
}
}
else
{
vm
.
$message
.
error
(
res
.
message
);
}
}
if
(
vm
.
smsCode
==
''
){
};
vm
.
$message
.
error
(
'请输入短信验证码'
);
vm
.
sendRequest
(
return
;
"get"
,
`/sensitive/dataSearch/labels?dataContentId=
${
row
.
contentId
}
`
,
{},
callback
);
},
dealSetLabelClick
()
{
let
tmpList
=
[];
if
(
vm
.
dataProjectLabels
&&
vm
.
dataProjectLabels
.
length
>
0
)
{
for
(
let
i
=
0
;
i
<
vm
.
dataProjectLabels
.
length
;
i
++
)
{
let
obj
=
{
labelCode
:
vm
.
dataProjectLabels
[
i
].
labelCode
,
labelValue
:
vm
.
setLabelList
[
i
],
};
tmpList
.
push
(
obj
);
}
}
}
else
{
vm
.
setLabelVisible
=
false
;
return
;
}
// 调用 /mobileCheck/check/mobilecode 接口
let
data
=
{
// 校验 短信验证码
contentId
:
vm
.
currentRow
.
contentId
,
let
data
=
{
dataUserContentId
:
vm
.
currentRow
.
dataUserContentId
,
parame
:
vm
.
afterParam
,
list
:
tmpList
,
mobileCode
:
vm
.
smsCode
,
projectMainId
:
0
,
};
};
let
callback
=
(
res
)
=>
{
let
callback
=
(
res
)
=>
{
if
(
res
.
code
==
'000000'
){
if
(
res
.
code
==
"000000"
)
{
vm
.
searchTableVisible
=
true
;
// 短信验证码校验成功,显示背后的内容
// vm.peopleList = res.data;
vm
.
getTableList
();
this
.
$message
({
type
:
"success"
,
}
else
{
message
:
"设置标签成功"
,
vm
.
$message
.
error
(
res
.
message
);
});
vm
.
getCaptcha
();
}
else
{
vm
.
captchaCode
=
''
;
vm
.
$message
.
error
(
res
.
message
);
}
};
vm
.
sendRequest
(
'post'
,
`/sensitive/mobileCheck/check/mobilecode`
,
data
,
callback
);
},
getTableList
(
isManualClick
)
{
// debugger;
let
data
=
{
columnMap
:
{},
parame
:
vm
.
afterParam
,
pageNo
:
vm
.
pageNo
,
pageSize
:
vm
.
pageSize
,
};
if
(
isManualClick
){
// 如果添加了筛选条件,则将其合并到 查询接口的传参中
let
stringData
=
JSON
.
stringify
(
vm
.
conditionForm
);
if
(
stringData
!=
"{}"
)
{
let
condition
=
JSON
.
parse
(
stringData
);
for
(
let
key
in
condition
)
{
data
.
columnMap
[
key
]
=
condition
[
key
];
};
}
}
}
vm
.
setLabelVisible
=
false
;
};
vm
.
sendRequest
(
"post"
,
`/sensitive/dataSearch/labels`
,
data
,
callback
);
},
let
callback
=
(
res
)
=>
{
//拨号
if
(
res
.
code
==
'000000'
)
{
dialPhone
(
row
)
{
vm
.
centerDialogVisible
=
false
;
console
.
log
(
"tableDataList.columnList() : "
+
row
.
column1
)
;
vm
.
captchaCode
=
''
;
vm
.
dialPhoneNum
=
row
.
column1
;
vm
.
smsCode
=
''
;
vm
.
dialVisible
=
true
;
vm
.
tableDataList
=
res
.
data
;
},
if
(
typeof
res
.
data
.
dataExportCount
!=
'undefined'
&&
res
.
data
.
dataExportCount
>
0
)
{
handleAddConditionConfirm
()
{
vm
.
showExportBtn
=
true
;
vm
.
addConditioDialogVisible
=
false
;
}
vm
.
pageNo
=
1
;
},
showExportModal
()
{
if
(
vm
.
checkChrome
())
{
console
.
log
(
"导出检测,是chome"
);
vm
.
browserVisible
=
false
;
}
else
{
console
.
log
(
"导出检测,是其它浏览器"
);
vm
.
browserVisible
=
true
;
return
;
}
vm
.
$nextTick
(()
=>
{
let
phoneStatus
=
vm
.
isCellphone
();
if
(
vm
.
afterParam
){
if
(
phoneStatus
)
{
vm
.
getWaterMark
();
// 获取水印
vm
.
phoneModalVisible
=
true
;
}
vm
.
exportModalVisible
=
false
;
})
return
;
}
else
{
}
vm
.
$message
.
error
(
res
.
message
);
// 待接口提供后 请求接口获取excel, 再出发下载
}
vm
.
checkExport
();
};
},
vm
.
sendRequest
(
'post'
,
`/sensitive/dataSearch/searchWeb`
,
data
,
callback
);
// 导出前的check
},
checkExport
()
{
showAddConditionModal
(
status
){
let
data
=
{
vm
.
addConditioDialogVisible
=
status
?
true
:
false
;
parame
:
vm
.
afterParam
,
},
};
handleClearCondition
()
{
vm
.
conditionForm
=
{};
let
callback
=
(
res
)
=>
{
vm
.
addConditioDialogVisible
=
false
;
if
(
res
.
code
==
"000000"
)
{
},
console
.
log
(
"导出前校验》》》》 "
,
res
);
hadnleSearch
()
{
vm
.
checkExportData
.
dataExportTotal
=
res
.
data
.
dataExportTotal
;
vm
.
getTableList
(
true
);
vm
.
checkExportData
.
dataExportCount
=
res
.
data
.
dataExportCount
;
},
vm
.
exportModalVisible
=
true
;
showRemarkModal
(
row
)
{
}
else
{
vm
.
remarkDialogVisible
=
true
;
vm
.
$message
.
error
(
res
.
message
);
vm
.
currentRow
=
row
;
// 获取备注信息
let
callback
=
(
res
)
=>
{
if
(
res
.
code
==
"000000"
)
{
vm
.
remarkHistory
=
res
.
data
.
remarks
;
}
else
{
vm
.
$message
.
error
(
res
.
message
);
}
};
vm
.
sendRequest
(
'get'
,
`/sensitive/dataRemark?dataUserContentId=
${
row
.
dataUserContentId
}
`
,
{},
callback
);
},
// 标记处理点击
handleTagClick
(
row
)
{
vm
.
currentRow
=
row
;
let
callback
=
(
res
)
=>
{
if
(
res
.
code
==
"000000"
)
{
vm
.
hadnleSearch
();
}
else
{
vm
.
$message
.
error
(
res
.
message
);
}
}
}
vm
.
sendRequest
(
'get'
,
`/sensitive/dataSearch/changeStatus?dataUserContentId=
${
row
.
dataUserContentId
}
`
,
{},
callback
);
};
},
vm
.
sendRequest
(
handleAddConditionConfirm
(){
"post"
,
vm
.
addConditioDialogVisible
=
false
;
`/sensitive/dataSearch/check/exportWeb`
,
vm
.
pageNo
=
1
;
data
,
},
callback
showExportModal
(){
);
console
.
log
(
'导出。。。。。'
)
},
// 确定导出
handleExport
()
{
let
data
=
{
parame
:
vm
.
afterParam
,
};
let
phoneStatus
=
vm
.
isCellphone
();
let
callback
=
(
res
)
=>
{
if
(
phoneStatus
)
{
if
(
res
.
code
==
"000000"
)
{
vm
.
phoneModalVisible
=
true
;
console
.
log
(
"正式导出》》》》 "
,
res
);
// 执行下载excel
vm
.
downloadFile
(
res
.
data
.
path
,
res
.
data
.
fileName
);
vm
.
exportModalVisible
=
false
;
vm
.
exportModalVisible
=
false
;
return
;
}
else
{
};
vm
.
$message
.
error
(
res
.
message
);
// 待接口提供后 请求接口获取excel, 再出发下载
}
vm
.
checkExport
();
};
vm
.
sendRequest
(
"post"
,
`/sensitive/dataSearch/exportWeb`
,
data
,
callback
);
},
isCellphone
()
{
let
ua
=
window
.
navigator
.
userAgent
.
toLowerCase
();
let
ios
=
/
(
iphone|ipad|ipod|ios
)
/i
.
test
(
ua
);
let
android
=
/
(
android
)
/i
.
test
(
ua
);
return
ios
||
android
;
},
},
downloadFile
(
base64
,
fileName
)
{
// 导出前的check
let
a
=
document
.
createElement
(
"a"
);
checkExport
()
{
let
uploadHref
=
"data:application/xls;base64,"
+
base64
;
let
data
=
{
a
.
setAttribute
(
"href"
,
uploadHref
);
parame
:
vm
.
afterParam
,
let
exportFileName
=
fileName
;
};
a
.
setAttribute
(
"download"
,
exportFileName
);
a
.
click
();
let
callback
=
(
res
)
=>
{
},
if
(
res
.
code
==
'000000'
){
console
.
log
(
'导出前校验》》》》 '
,
res
)
vm
.
checkExportData
.
dataExportTotal
=
res
.
data
.
dataExportTotal
;
vm
.
checkExportData
.
dataExportCount
=
res
.
data
.
dataExportCount
;
vm
.
exportModalVisible
=
true
;
}
else
{
vm
.
$message
.
error
(
res
.
message
);
}
};
vm
.
sendRequest
(
'post'
,
`/sensitive/dataSearch/check/exportWeb`
,
data
,
callback
);
},
// 确定导出
handleExport
()
{
let
data
=
{
parame
:
vm
.
afterParam
,
};
let
callback
=
(
res
)
=>
{
if
(
res
.
code
==
'000000'
){
console
.
log
(
'正式导出》》》》 '
,
res
)
// 执行下载excel
vm
.
downloadFile
(
res
.
data
.
path
,
res
.
data
.
fileName
)
vm
.
exportModalVisible
=
false
;
}
else
{
vm
.
$message
.
error
(
res
.
message
);
}
};
vm
.
sendRequest
(
'post'
,
`/sensitive/dataSearch/exportWeb`
,
data
,
callback
);
},
isCellphone
()
{
let
ua
=
window
.
navigator
.
userAgent
.
toLowerCase
();
let
ios
=
/
(
iphone|ipad|ipod|ios
)
/i
.
test
(
ua
);
let
android
=
/
(
android
)
/i
.
test
(
ua
);
return
ios
||
android
;
},
downloadFile
(
base64
,
fileName
)
{
checkChrome
()
{
let
a
=
document
.
createElement
(
'a'
);
// return (navigator.appVersion.indexOf('Chrome') || navigator.appVersion.indexOf('chrome')) != -1;
let
uploadHref
=
'data:application/xls;base64,'
+
base64
;
return
this
.
getBroswer
().
broswer
==
"Chrome"
;
a
.
setAttribute
(
'href'
,
uploadHref
);
},
let
exportFileName
=
fileName
;
getBroswer
()
{
a
.
setAttribute
(
'download'
,
exportFileName
);
let
sys
=
{};
a
.
click
();
let
ua
=
navigator
.
userAgent
.
toLowerCase
();
},
let
s
;
(
s
=
ua
.
match
(
/edge
\/([\d
.
]
+
)
/
))
?
(
sys
.
edge
=
s
[
1
])
:
(
s
=
ua
.
match
(
/rv:
([\d
.
]
+
)\)
like gecko/
))
?
(
sys
.
ie
=
s
[
1
])
:
(
s
=
ua
.
match
(
/msie
([\d
.
]
+
)
/
))
?
(
sys
.
ie
=
s
[
1
])
:
(
s
=
ua
.
match
(
/firefox
\/([\d
.
]
+
)
/
))
?
(
sys
.
firefox
=
s
[
1
])
:
(
s
=
ua
.
match
(
/chrome
\/([\d
.
]
+
)
/
))
?
(
sys
.
chrome
=
s
[
1
])
:
(
s
=
ua
.
match
(
/opera.
([\d
.
]
+
)
/
))
?
(
sys
.
opera
=
s
[
1
])
:
(
s
=
ua
.
match
(
/version
\/([\d
.
]
+
)
.*safari/
))
?
(
sys
.
safari
=
s
[
1
])
:
0
;
sendRequest
(
type
,
url
,
params
,
callback
){
if
(
sys
.
edge
)
return
{
broswer
:
"Edge"
,
version
:
sys
.
edge
};
openLoading
(
vm
);
if
(
sys
.
ie
)
return
{
broswer
:
"IE"
,
version
:
sys
.
ie
};
url
=
localStorage
.
getItem
(
"lectureUrl"
)
+
url
;
if
(
sys
.
firefox
)
return
{
broswer
:
"Firefox"
,
version
:
sys
.
firefox
};
vm
.
$axios
[
type
](
url
,
params
)
if
(
sys
.
chrome
)
return
{
broswer
:
"Chrome"
,
version
:
sys
.
chrome
};
.
then
((
res
)
=>
{
if
(
sys
.
opera
)
return
{
broswer
:
"Opera"
,
version
:
sys
.
opera
};
closeLoading
(
vm
);
if
(
sys
.
safari
)
return
{
broswer
:
"Safari"
,
version
:
sys
.
safari
};
res
=
res
.
data
;
callback
(
res
);
return
{
broswer
:
""
,
version
:
"0"
};
}).
catch
((
error
)
=>
{
},
vm
.
$message
.
error
(
'网络出现点问题'
)
down
()
{
window
.
location
.
href
=
"http://www.google.cn/chrome/"
;
},
sendRequest
(
type
,
url
,
params
,
callback
)
{
openLoading
(
vm
);
url
=
localStorage
.
getItem
(
"lectureUrl"
)
+
url
;
vm
.
$axios
[
type
](
url
,
params
)
.
then
((
res
)
=>
{
closeLoading
(
vm
);
res
=
res
.
data
;
callback
(
res
);
})
})
},
.
catch
((
error
)
=>
{
vm
.
$message
.
error
(
"网络出现点问题"
);
});
},
getLabelStatus
()
{
let
callback
=
(
res
)
=>
{
if
(
res
.
code
==
"000000"
)
{
vm
.
dataProjectStates
=
res
.
data
.
dataProjectStates
;
vm
.
dataProjectLabels
=
res
.
data
.
dataProjectLabels
;
}
else
{
vm
.
$message
.
error
(
res
.
message
);
}
};
vm
.
sendRequest
(
"get"
,
`/sensitive/visit/statusWeb?patame=
${
vm
.
afterParam
}
`
,
{},
callback
);
},
},
}
handleLabelClick
()
{
this
.
labelVisible
=
false
;
},
},
};
</
script
>
</
script
>
<
style
lang=
"less"
>
<
style
lang=
"less"
>
.header{ height: 0 !important; overflow: hidden; left:0 !important;}
.header {
.sidebar{ width: 0; overflow: hidden; }
height: 0 !important;
.content{ left: 0 !important; top: 0 !important; }
overflow: hidden;
.el-message{
left: 0 !important;
min-width: 310px !important;
}
width: 310px !important;
.sidebar {
max-width: 310px !important;
width: 0;
}
overflow: hidden;
.data-view-message-wrap {
}
.content {
left: 0 !important;
top: 0 !important;
}
.el-message {
min-width: 310px !important;
width: 310px !important;
max-width: 310px !important;
}
.data-view-message-wrap {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
user-select: none;
.no-table-data {
width: 100%;
width: 100%;
height: 100%;
height: 400px;
display: flex; flex-direction: column; user-select: none;
line-height: 400px;
text-align: center;
.no-table-data{
color: #606266;
width: 100%;
font-size: 14px;
height: 400px;
}
line-height: 400px;
.class-top-row {
text-align: center;
overflow-x: scroll;
color: #606266;
font-size: 14px;
.button-wrap {
}
.button-wrap{
margin: 20px 0;
margin: 20px 0;
.each-button{
width: 600px;
float: right;
.each-button {
margin: 0 15px 0 5px;
// float: right;
margin: 0px 0px 0 20px;
}
}
}
}
.el-table{
}
-webkit-overflow-scrolling:touch;
.el-table {
-webkit-overflow-scrolling: touch;
}
.check-modal-box {
.el-dialog__header {
display: none;
}
.el-dialog__body {
padding: 15px 15px 30px !important;
}
}
.check-modal-box{
.captcha-wrap {
.el-dialog__header{
margin-top: 24px;
display: none;
overflow: hidden;
.el-input {
width: 150px;
float: left;
}
}
.el-dialog__body{
img {
padding: 15px 15px 30px !important;
float: left;
cursor: pointer;
display: block;
border: none;
width: 100px;
height: 32px;
margin-left: 10px;
background: #fff;
}
}
.captcha-wrap{
}
margin-top: 24px;
.sms-wrap {
overflow: hidden;
margin-top: 14px;
.el-input{
overflow: hidden;
width: 150px;
.el-input {
float: left;
width: 150px;
}
float: left;
img{
float: left; cursor: pointer;
display: block; border: none;
width: 100px; height: 32px; margin-left: 10px;
background: #fff;
}
}
}
.sms-wrap{
.button {
margin-top: 14px; overflow: hidden;
float: left;
.el-input{
cursor: default;
width: 150px;
width: 100px;
float: left;
height: 32px;
}
margin-left: 10px;
.button{
font-size: 13px;
float: left; cursor: default;
text-align: center;
width: 100px; height: 32px; margin-left: 10px;
line-height: 32px;
font-size: 13px;
color: #409eff;
text-align: center; line-height: 32px;
&.gray {
color: #409EFF;
color: #606266;
&.gray{
color: #606266;
}
}
}
}
}
}
}
ul, li {
}
list-style: none;
ul,
}
li {
.remark-modal{
list-style: none;
.el-dialog__body {
}
overflow: hidden;
.remark-modal {
padding: 0 10px 30px !important;
.el-dialog__body {
.remark-confirm-btn {
overflow: hidden;
float: right;
padding: 0 10px 30px !important;
margin-top: 10px;
.remark-confirm-btn {
}
float: right;
.history-list {
margin-top: 10px;
margin-top: 60px;
}
li {
.history-list {
margin-bottom: 5px;
margin-top: 60px;
line-height: 20px;
li {
.text {
margin-bottom: 5px;
word-break: break-all;
line-height: 20px;
text-indent: 12px;
.text {
line-height: 22px;
word-break: break-all;
}
text-indent: 12px;
line-height: 22px;
}
}
}
}
}
}
}
}
.pagination-style{
}
margin: 20px 0;
.pagination-style {
float: right;
margin: 20px 0;
width: 100%;
float: right;
text-align: right;
width: 100%;
overflow: hidden;
text-align: right;
overflow-x: scroll;
overflow: hidden;
-webkit-overflow-scrolling:touch;
overflow-x: scroll;
-webkit-overflow-scrolling: touch;
.el-pagination__total{
.el-pagination__total {
margin-left: 25px;
margin-left: 25px;
}
.el-pagination__jump{
padding-right: 25px;
}
}
}
.
tebale_card
{
.
el-pagination__jump
{
background: rgba(255,255,255,0.2)
;
padding-right: 25px
;
}
}
.el-table, .el-table__expanded-cell {
}
background: rgba(255,255,255,0.2);
.tebale_card {
background: rgba(255, 255, 255, 0.2);
}
.el-table,
.el-table__expanded-cell {
background: rgba(255, 255, 255, 0.2);
}
.same-line-class {
// margin-top: 10px;
display: inline-block;
.input-comp {
width: 100px;
}
}
}
}
}
</
style
>
</
style
>
src/views/sensitive-control/data-view.vue
浏览文件 @
364d0b68
...
@@ -24,29 +24,41 @@
...
@@ -24,29 +24,41 @@
@
change=
"handleApplyDateChange"
@
change=
"handleApplyDateChange"
@
clear=
"handleApplyDateClear"
@
clear=
"handleApplyDateClear"
>
>
<el-option
<el-option
v-for=
"item in applyDateList"
:key=
"item"
:label=
"item"
:value=
"item"
></el-option>
v-for=
"item in applyDateList"
:key=
"item"
:label=
"item"
:value=
"item"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"sheet名"
prop=
"sheet"
>
<el-form-item
label=
"sheet名"
prop=
"sheet"
>
<el-select
v-model=
"ruleForm.sheet"
size=
"small"
placeholder=
"请选择"
clearable
>
<el-select
v-model=
"ruleForm.sheet"
size=
"small"
placeholder=
"请选择"
clearable
>
<el-option
v-for=
"item in sheetsList"
:key=
"item"
:label=
"item"
:value=
"item"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"标记状态"
>
<el-select
v-model=
"ruleForm.labelStatus"
size=
"small"
placeholder=
"请选择"
clearable
>
<el-option
<el-option
v-for=
"item in
sheetsList
"
v-for=
"item in
dataProjectStates
"
:key=
"item"
:key=
"item
.id
"
:label=
"item"
:label=
"item
.value
"
:value=
"item"
:value=
"item
.id
"
></el-option>
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
style=
"margin-left: 100px;"
>
<el-form-item
label=
"备注"
prop=
"remark"
>
<el-button
type=
"primary"
@
click=
"showAddConditionModal"
>
添加筛选条件
</el-button>
<el-input
v-model=
"ruleForm.remark"
size=
"small"
style=
"width:220px"
class=
"input"
placeholder
clearable
></el-input>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
style=
"margin-left: 50px;"
@
click=
"showAddConditionModal"
>
添加筛选条件
</el-button>
<el-button
type=
"primary"
@
click=
"labelVisible=true"
>
添加标签筛选
</el-button>
<el-button
type=
"primary"
@
click=
"handleSend"
v-if=
"showSendBtn"
>
分发
</el-button>
<el-button
type=
"primary"
@
click=
"handleSend"
v-if=
"showSendBtn"
>
分发
</el-button>
<el-button
type=
"primary"
@
click=
"showExportModal"
v-if=
"showExportBtn"
>
导出
</el-button>
<el-button
type=
"primary"
@
click=
"checkExport"
v-if=
"showExportBtn"
>
导出
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm('ruleForm')"
>
查询
</el-button>
<el-button
type=
"primary"
@
click=
"exportNormalModalVisible=true"
v-if=
"showNormalExportBtn"
>
常规导出
</el-button>
<el-button
type=
"primary"
@
click=
"ruleForm.pageNo=1;submitForm('ruleForm')"
>
查询
</el-button>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<template
v-if=
"isSearchSend"
>
<template
v-if=
"isSearchSend"
>
...
@@ -54,7 +66,9 @@
...
@@ -54,7 +66,9 @@
v-if=
"tableDataList && tableDataList.outModels && tableDataList.outModels.length > 0"
v-if=
"tableDataList && tableDataList.outModels && tableDataList.outModels.length > 0"
ref=
"multipleTable"
ref=
"multipleTable"
:data=
"tableDataList.outModels"
:data=
"tableDataList.outModels"
:row-style=
"getRowClass"
:header-row-style=
"getRowClass"
:header-cell-style=
"getRowClass"
:row-style=
"getRowClass"
:header-row-style=
"getRowClass"
:header-cell-style=
"getRowClass"
border
border
tooltip-effect=
"dark"
tooltip-effect=
"dark"
style=
"width: 100%"
style=
"width: 100%"
...
@@ -65,20 +79,38 @@
...
@@ -65,20 +79,38 @@
v-if=
"tableDataList && tableDataList.columnList"
v-if=
"tableDataList && tableDataList.columnList"
v-for=
"item in tableDataList.columnList"
v-for=
"item in tableDataList.columnList"
>
>
<el-table-column
:prop=
"item.key"
align=
"center"
:label=
"item.value"
show-overflow-tooltip
></el-table-column>
<el-table-column
:prop=
"item.key"
align=
"center"
:label=
"item.value"
show-overflow-tooltip
></el-table-column>
</
template
>
</
template
>
<el-table-column
v-if=
"tableDataList && tableDataList.columnList"
prop=
"userName"
align=
"center"
label=
"数据查看人员"
show-overflow-tooltip
></el-table-column>
<el-table-column
v-if=
"tableDataList && tableDataList.columnList"
prop=
"userName"
align=
"center"
label=
"数据查看人员"
show-overflow-tooltip
></el-table-column>
<el-table-column
label=
"备注"
prop=
"remark"
align=
"center"
></el-table-column>
<el-table-column
label=
"标记状态"
prop=
"statusValue"
align=
"center"
></el-table-column>
<el-table-column
fixed=
"right"
align=
"center"
label=
"操作"
width=
"200"
>
<el-table-column
fixed=
"right"
align=
"center"
label=
"操作"
width=
"200"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
@
click=
"handleRemarkClick(scope.row)"
type=
"text"
size=
"small"
>
备注
</el-button>
<el-button
@
click=
"handleRemarkClick(scope.row)"
type=
"text"
size=
"small"
>
备注
</el-button>
<el-button
@
click=
"handleTagClick(scope.row)"
type=
"text"
size=
"small"
:disabled=
"scope.row.status == 1"
>
{{
scope
.
row
.
status
==
1
?
'已处理'
:
'标记处理'
}}
</el-button>
<el-button
@
click=
"handleTagClick(scope.row)"
type=
"text"
size=
"small"
:disabled=
"scope.row.status == 1"
>
{{
scope
.
row
.
status
==
1
?
'已处理'
:
'标记处理'
}}
</el-button>
<el-button
@
click=
"handleSetLabelClick(scope.row)"
type=
"text"
size=
"small"
>
标签
</el-button>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
<div
class=
"no-table-data"
v-else
>
<div
class=
"no-table-data"
v-else
>
暂无数据
</div>
暂无数据
</div>
<!-- 分页 -->
<!-- 分页 -->
<el-pagination
<el-pagination
...
@@ -90,8 +122,8 @@
...
@@ -90,8 +122,8 @@
:current-page=
"ruleForm.pageNo"
:current-page=
"ruleForm.pageNo"
:page-sizes=
"[15, 30, 50, 100]"
:page-sizes=
"[15, 30, 50, 100]"
:page-size=
"ruleForm.pageSize"
:page-size=
"ruleForm.pageSize"
layout=
"total, sizes, prev, pager, next, jumper"
>
layout=
"total, sizes, prev, pager, next, jumper"
</el-pagination>
>
</el-pagination>
</template>
</template>
<!-- 添加筛选条件 弹窗 -->
<!-- 添加筛选条件 弹窗 -->
...
@@ -134,13 +166,14 @@
...
@@ -134,13 +166,14 @@
</div>
</div>
<div
class=
"people-choose"
>
<div
class=
"people-choose"
>
<p
class=
"title"
>
人员选择
</p>
<p
class=
"title"
>
人员选择
</p>
<el-select
v-model=
"dataUserDiss"
multiple
collapse-tags
placeholder=
"请选择"
class=
"people-select-comp"
>
<el-select
<el-option
v-model=
"dataUserDiss"
v-for=
"item in peopleList"
multiple
:key=
"item.id"
collapse-tags
:label=
"item.name"
placeholder=
"请选择"
:value=
"item.id"
class=
"people-select-comp"
></el-option>
>
<el-option
v-for=
"item in peopleList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-select>
</div>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<span
slot=
"footer"
class=
"dialog-footer"
>
...
@@ -164,24 +197,116 @@
...
@@ -164,24 +197,116 @@
<ul
class=
"history-list"
>
<ul
class=
"history-list"
>
<li
v-for=
"item in remarkHistory"
>
<li
v-for=
"item in remarkHistory"
>
<p
class=
"date"
>
{{ item.createdTime }}
</p>
<p
class=
"date"
>
{{ item.createdTime }}
</p>
<p
class=
"text"
>
{{ item.remark }}
</p>
<p
class=
"text"
>
{{ item.
name + "-" + item.
remark }}
</p>
</li>
</li>
</ul>
</ul>
</el-dialog>
</el-dialog>
<!-- 导出弹窗 -->
<!-- 导出弹窗 -->
<el-dialog
<el-dialog
title=
"导出"
:visible
.
sync=
"exportModalVisible"
width=
"300px"
center
>
title=
"导出"
:visible
.
sync=
"exportModalVisible"
width=
"300px"
center
>
<p>
您当前数据总导出次数为:{{checkExportData.dataExportTotal}}次
</p>
<p>
您当前数据总导出次数为:{{checkExportData.dataExportTotal}}次
</p>
<p>
剩余导出次数为:{{checkExportData.dataExportCount}}次
</p>
<p>
剩余导出次数为:{{checkExportData.dataExportCount}}次
</p>
<p
style=
"margin-top: 10px;margin-bottom: 5px"
>
备注:请使用谷歌浏览器导出
</p>
<a
:href =
"'http://www.google.cn/chrome/'"
class=
"href-link"
>
点击下载
</a>
<span
slot=
"footer"
class=
"dialog-footer"
>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"exportModalVisible = false"
>
取 消
</el-button>
<el-button
@
click=
"exportModalVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"handleExport"
>
确 定
</el-button>
<el-button
type=
"primary"
@
click=
"handleExport"
>
确 定
</el-button>
</span>
</span>
</el-dialog>
</el-dialog>
<!-- 常规导出弹窗 -->
<el-dialog
title=
"导出"
:visible
.
sync=
"exportNormalModalVisible"
width=
"300px"
center
>
<p>
只能导出已修改过标记状态的数据,
</p>
<p>
其它数据不可导出
</p>
<p
style=
"margin-top: 10px;margin-bottom: 5px"
>
备注:请使用谷歌浏览器导出
</p>
<a
:href =
"'http://www.google.cn/chrome/'"
class=
"href-link"
>
点击下载
</a>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"exportNormalModalVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"handleNormalExport"
>
确 定
</el-button>
</span>
</el-dialog>
<!-- 浏览器检测弹窗 -->
<el-dialog
title=
"当前不是chome浏览器,去下载?"
:visible
.
sync=
"browserVisible"
width=
"300px"
>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"down"
>
确定
</el-button>
<el-button
@
click=
"browserVisible = false"
>
取 消
</el-button>
</span>
</el-dialog>
<!-- 标记处理弹窗 -->
<el-dialog
title=
"标记状态"
:visible
.
sync=
"tagVisible"
width=
"300px"
center
>
<el-select
v-model=
"tagStatus"
size=
"small"
placeholder=
"请选择"
clearable
style=
"margin-left: 20px"
>
<el-option
v-for=
"item in dataProjectStates"
:key=
"item.id"
:label=
"item.value"
:value=
"item.id"
></el-option>
</el-select>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"dealTagClick"
>
确 定
</el-button>
<el-button
@
click=
"tagVisible = false"
>
取 消
</el-button>
</span>
</el-dialog>
<!-- 添加标签筛选条件弹窗 -->
<el-dialog
title=
"标签筛选条件"
:visible
.
sync=
"labelVisible"
width=
"400px"
center
>
<div
v-if=
"dataProjectLabels"
v-for=
"(item,i) in dataProjectLabels"
align=
"center"
>
<div
class=
"same-line-class"
style=
"margin-right:20px;"
>
{{item.labelValue}}
</div>
<div
class=
"same-line-class"
>
<el-input
v-model=
"dataProjectContents[i]"
size=
"small"
/>
</div>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"handleLabelClick"
>
确 定
</el-button>
<el-button
@
click=
"labelVisible = false"
>
取 消
</el-button>
</span>
</el-dialog>
<!-- 添加设置标签弹窗 -->
<el-dialog
title=
"设置标签"
:visible
.
sync=
"setLabelVisible"
min-width=
"500px"
center
>
<div
v-if=
"dataProjectLabels"
v-for=
"(item, i) in dataProjectLabels"
align=
"center"
>
<div
class=
"same-line-class"
style=
"margin-right:20px;"
>
{{item.labelValue}}
</div>
<div
class=
"same-line-class"
>
<el-input
v-model=
"setLabelList[i]"
size=
"small"
/>
</div>
</div>
<el-table
v-if=
"historyLabelList && historyLabelList.menus && historyLabelList.menus.length > 0"
ref=
"multipleTable"
:data=
"historyLabelList.datas"
:row-style=
"getRowClass"
:header-row-style=
"getRowClass"
:header-cell-style=
"getRowClass"
border
tooltip-effect=
"dark"
style=
"width: 100%;margin-top: 20px"
>
<
template
v-if=
"historyLabelList && historyLabelList.menus"
v-for=
"item in historyLabelList.menus"
>
<el-table-column
:prop=
"item.key"
:label=
"item.value"
:value=
"item.value"
align=
"center"
></el-table-column>
</
template
>
</el-table>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"dealSetLabelClick"
>
确 定
</el-button>
<el-button
@
click=
"setLabelVisible = false"
>
取 消
</el-button>
</span>
</el-dialog>
</div>
</div>
</template>
</template>
...
@@ -200,27 +325,35 @@ export default {
...
@@ -200,27 +325,35 @@ export default {
}
}
};
};
return
{
return
{
selectedNameList
:
''
,
selectedNameList
:
""
,
waterMark
:
''
,
// 水印图片地址
waterMark
:
""
,
// 水印图片地址
isSearchSend
:
false
,
// 是否有效查询过
isSearchSend
:
false
,
// 是否有效查询过
showSendBtn
:
false
,
// 是否显示 分发按钮
showSendBtn
:
false
,
// 是否显示 分发按钮
showExportBtn
:
false
,
// 是否显示 导出按钮
showExportBtn
:
false
,
// 是否显示 导出按钮
remarkHistory
:
[],
// 历史备注列表
showNormalExportBtn
:
false
,
// 是否显示 常规导出按钮
remarkHistory
:
[],
// 历史备注列表
ruleForm
:
{
ruleForm
:
{
columnMap
:
{},
columnMap
:
{},
dingdingNumber
:
""
,
dingdingNumber
:
""
,
dingdingDate
:
""
,
dingdingDate
:
""
,
sheet
:
""
,
sheet
:
""
,
labelStatus
:
""
,
labelMap
:
{},
remark
:
""
,
pageNo
:
1
,
pageNo
:
1
,
pageSize
:
15
,
pageSize
:
15
,
},
},
rules
:
{
rules
:
{
dingdingNumber
:
[
dingdingNumber
:
[
{
required
:
true
,
message
:
"请输入审批单号"
,
trigger
:
"blur"
},
{
required
:
true
,
message
:
"请输入审批单号"
,
trigger
:
"blur"
},
{
validator
:
checkNumLength
,
trigger
:
[
"blur"
,
"change"
]}
{
validator
:
checkNumLength
,
trigger
:
[
"blur"
,
"change"
]
},
],
dingdingDate
:
[
{
required
:
true
,
message
:
"请选择数据申请日期"
,
trigger
:
"change"
},
],
sheet
:
[
{
required
:
true
,
message
:
"请选择sheet名"
,
trigger
:
"change"
},
],
],
dingdingDate
:
[{
required
:
true
,
message
:
"请选择数据申请日期"
,
trigger
:
"change"
}],
sheet
:
[{
required
:
true
,
message
:
"请选择sheet名"
,
trigger
:
"change"
}]
},
},
tableDataList
:
{},
tableDataList
:
{},
...
@@ -230,6 +363,9 @@ export default {
...
@@ -230,6 +363,9 @@ export default {
applyDateList
:
[],
applyDateList
:
[],
sheetsList
:
[],
sheetsList
:
[],
dataProjectStates
:
[],
dataProjectLabels
:
[],
dataProjectContents
:
[],
sendDialogVisible
:
false
,
//分发弹窗
sendDialogVisible
:
false
,
//分发弹窗
dataUserDiss
:
[],
dataUserDiss
:
[],
peopleList
:
[],
peopleList
:
[],
...
@@ -239,86 +375,119 @@ export default {
...
@@ -239,86 +375,119 @@ export default {
exportModalVisible
:
false
,
// 导出弹窗
exportModalVisible
:
false
,
// 导出弹窗
checkExportData
:
{
checkExportData
:
{
dataExportTotal
:
0
,
// 总的
dataExportTotal
:
0
,
// 总的
dataExportCount
:
0
,
// 剩余的
dataExportCount
:
0
,
// 剩余的
}
},
exportNormalModalVisible
:
false
,
// 常规导出弹窗
tagVisible
:
false
,
//标记处理弹窗
tagStatus
:
""
,
labelVisible
:
false
,
//添加标签筛选弹窗
setLabelVisible
:
false
,
//添加设置标签弹窗
setLabelList
:
[],
uploadLabelList
:
[],
historyLabelList
:
{},
browserVisible
:
false
,
};
};
},
},
created
()
{
created
()
{
vm
=
this
;
vm
=
this
;
if
(
vm
.
$route
.
query
.
dingdingNumber
){
// data-in 页面点击查看进来时,页面地址不变
if
(
vm
.
$route
.
query
.
dingdingNumber
)
{
// data-in 页面点击查看进来时,页面地址不变
// console.log('do nothing')
// console.log('do nothing')
}
else
{
}
else
{
vm
.
$router
.
replace
(
"/data-view"
);
vm
.
$router
.
replace
(
"/data-view"
);
}
}
},
},
mounted
()
{
mounted
()
{
vm
.
getUrlQuery
();
vm
.
getUrlQuery
();
vm
.
getWaterMark
();
// 获取水印
vm
.
getWaterMark
();
// 获取水印
vm
.
handleForbid
();
// 禁止默认事件
vm
.
handleForbid
();
// 禁止默认事件
},
},
methods
:
{
methods
:
{
handleForbid
()
{
handleForbid
()
{
document
.
oncontextmenu
=
function
()
{
document
.
oncontextmenu
=
function
()
{
return
false
;
return
false
;
}
}
;
document
.
oncopy
=
function
()
{
document
.
oncopy
=
function
()
{
return
false
;
return
false
;
}
}
;
// document.onpaste = function(){
// document.onpaste = function(){
// return false;
// return false;
// }
// }
document
.
onselectstart
=
function
()
{
document
.
onselectstart
=
function
()
{
return
false
;
return
false
;
}
};
},
getLabelStatus
()
{
console
.
log
(
"vm.ruleForm.dingdingNumber = "
+
vm
.
ruleForm
.
dingdingNumber
);
let
callback
=
(
res
)
=>
{
if
(
res
.
code
==
"000000"
)
{
vm
.
dataProjectStates
=
res
.
data
.
dataProjectStates
;
vm
.
dataProjectLabels
=
res
.
data
.
dataProjectLabels
;
}
else
{
vm
.
$message
.
error
(
res
.
message
);
}
};
vm
.
sendRequest
(
"get"
,
`/sensitive/visit/status?dingdingNumber=
${
vm
.
ruleForm
.
dingdingNumber
}
&dingdingDate=
${
vm
.
ruleForm
.
dingdingDate
}
&dingdingSheet=
${
encodeURI
(
vm
.
ruleForm
.
sheet
)}
`
,
//${vm.ruleForm.sheet}
{},
callback
);
},
},
getUrlQuery
()
{
getUrlQuery
()
{
let
query
=
vm
.
$route
.
query
;
let
query
=
vm
.
$route
.
query
;
if
(
query
&&
query
.
dingdingNumber
)
{
if
(
query
&&
query
.
dingdingNumber
)
{
vm
.
ruleForm
.
dingdingNumber
=
query
.
dingdingNumber
||
''
;
vm
.
ruleForm
.
dingdingNumber
=
query
.
dingdingNumber
||
""
;
vm
.
ruleForm
.
dingdingDate
=
query
.
dingdingDate
||
''
;
vm
.
ruleForm
.
dingdingDate
=
query
.
dingdingDate
||
""
;
vm
.
ruleForm
.
sheet
=
query
.
sheet
||
''
;
vm
.
ruleForm
.
sheet
=
query
.
sheet
||
""
;
vm
.
submitForm
(
'ruleForm'
);
vm
.
submitForm
(
"ruleForm"
);
}
}
},
},
sendRequest
(
type
,
url
,
params
,
callback
)
{
sendRequest
(
type
,
url
,
params
,
callback
)
{
openLoading
(
vm
);
openLoading
(
vm
);
url
=
localStorage
.
getItem
(
"lectureUrl"
)
+
url
;
url
=
localStorage
.
getItem
(
"lectureUrl"
)
+
url
;
vm
.
$axios
[
type
](
url
,
params
)
vm
.
$axios
[
type
](
url
,
params
)
.
then
((
res
)
=>
{
.
then
((
res
)
=>
{
closeLoading
(
vm
);
closeLoading
(
vm
);
res
=
res
.
data
;
res
=
res
.
data
;
callback
(
res
);
callback
(
res
);
}).
catch
((
error
)
=>
{
})
vm
.
$message
.
error
(
'网络出现点问题'
)
.
catch
((
error
)
=>
{
})
vm
.
$message
.
error
(
"网络出现点问题"
);
});
},
},
getRowClass
({
row
,
column
,
rowIndex
,
columnIndex
})
{
getRowClass
({
row
,
column
,
rowIndex
,
columnIndex
})
{
return
"background: rgba(255,255,255,0.2)"
return
"background: rgba(255,255,255,0.2)"
;
},
},
getWaterMark
()
{
getWaterMark
()
{
let
callback
=
(
res
)
=>
{
let
callback
=
(
res
)
=>
{
if
(
res
.
code
==
'000000'
)
{
if
(
res
.
code
==
"000000"
)
{
if
(
res
.
data
)
{
if
(
res
.
data
)
{
vm
.
waterMark
=
res
.
data
;
vm
.
waterMark
=
res
.
data
;
vm
.
setWaterMark
();
// 设置水印背景
vm
.
setWaterMark
();
// 设置水印背景
}
else
{
}
else
{
vm
.
$message
.
error
(
'网络出现点问题'
);
vm
.
$message
.
error
(
"网络出现点问题"
);
}
}
}
else
{
}
else
{
vm
.
$message
.
error
(
res
.
message
);
vm
.
$message
.
error
(
res
.
message
);
}
}
}
}
;
vm
.
sendRequest
(
'post'
,
`/sensitive/image`
,
{},
callback
);
//
vm.sendRequest( 'post', `/sensitive/image`, {}, callback );
},
},
setWaterMark
()
{
setWaterMark
()
{
let
bg
=
document
.
getElementById
(
'bodyContent'
);
let
bg
=
document
.
getElementById
(
"bodyContent"
);
// bg.style.background = `url(${vm.waterMark}) repeat`;
// bg.style.background = `url(${vm.waterMark}) repeat`;
bg
.
style
.
background
=
"url('"
+
vm
.
waterMark
+
"') repeat"
;
bg
.
style
.
background
=
"url('"
+
vm
.
waterMark
+
"') repeat"
;
bg
.
style
.
backgroundSize
=
'300px auto'
;
bg
.
style
.
backgroundSize
=
"300px auto"
;
},
},
handleClearCondition
()
{
handleClearCondition
()
{
// debugger;
// debugger;
vm
.
conditionForm
=
{};
vm
.
conditionForm
=
{};
vm
.
addConditioDialogVisible
=
false
;
vm
.
addConditioDialogVisible
=
false
;
},
},
...
@@ -342,17 +511,22 @@ export default {
...
@@ -342,17 +511,22 @@ export default {
getApplyDateList
()
{
getApplyDateList
()
{
//获取 数据申请日期
//获取 数据申请日期
let
callback
=
(
res
)
=>
{
let
callback
=
(
res
)
=>
{
if
(
res
.
code
==
"000000"
)
{
if
(
res
.
code
==
"000000"
)
{
if
(
res
.
data
&&
res
.
data
.
length
>
0
)
{
if
(
res
.
data
&&
res
.
data
.
length
>
0
)
{
vm
.
applyDateList
=
res
.
data
;
vm
.
applyDateList
=
res
.
data
;
}
else
{
}
else
{
vm
.
applyDateList
=
[];
vm
.
applyDateList
=
[];
}
}
}
else
{
}
else
{
vm
.
$message
.
error
(
res
.
message
);
vm
.
$message
.
error
(
res
.
message
);
}
}
}
};
vm
.
sendRequest
(
'get'
,
`/sensitive/visit/date?dingdingNumber=
${
vm
.
ruleForm
.
dingdingNumber
}
`
,
{},
callback
);
vm
.
sendRequest
(
"get"
,
`/sensitive/visit/date?dingdingNumber=
${
vm
.
ruleForm
.
dingdingNumber
}
`
,
{},
callback
);
},
},
handleApplyDateChange
(
val
)
{
handleApplyDateChange
(
val
)
{
if
(
val
)
{
if
(
val
)
{
...
@@ -371,58 +545,73 @@ export default {
...
@@ -371,58 +545,73 @@ export default {
getSheets
()
{
getSheets
()
{
// 获取 Sheets名
// 获取 Sheets名
let
callback
=
(
res
)
=>
{
let
callback
=
(
res
)
=>
{
if
(
res
.
code
==
"000000"
)
{
if
(
res
.
code
==
"000000"
)
{
if
(
res
.
data
&&
res
.
data
.
length
>
0
)
{
if
(
res
.
data
&&
res
.
data
.
length
>
0
)
{
vm
.
sheetsList
=
res
.
data
;
vm
.
sheetsList
=
res
.
data
;
}
else
{
}
else
{
vm
.
sheetsList
=
[];
vm
.
sheetsList
=
[];
}
}
}
else
{
}
else
{
vm
.
$message
.
error
(
res
.
message
);
vm
.
$message
.
error
(
res
.
message
);
}
}
}
};
vm
.
sendRequest
(
'get'
,
`/sensitive/visit/sheet?dingdingNumber=
${
vm
.
ruleForm
.
dingdingNumber
}
&dingdingDate=
${
vm
.
ruleForm
.
dingdingDate
}
`
,
{},
callback
);
vm
.
sendRequest
(
"get"
,
`/sensitive/visit/sheet?dingdingNumber=
${
vm
.
ruleForm
.
dingdingNumber
}
&dingdingDate=
${
vm
.
ruleForm
.
dingdingDate
}
`
,
{},
callback
);
},
},
confirmSendRemark
()
{
// 添加备注信息
confirmSendRemark
()
{
if
(
vm
.
newRemark
.
trim
()
==
''
){
// 添加备注信息
vm
.
$message
.
error
(
'请先输入备注信息!'
);
if
(
vm
.
newRemark
.
trim
()
==
""
)
{
return
;
vm
.
$message
.
error
(
"请先输入备注信息!"
);
return
;
}
}
// vm.currentRow
// vm.currentRow
let
data
=
{
let
data
=
{
dataContentId
:
vm
.
currentRow
.
contentId
,
dataUserContentId
:
vm
.
currentRow
.
dataUserContentId
,
dataUserContentId
:
vm
.
currentRow
.
dataUserContentId
,
remark
:
vm
.
newRemark
.
trim
(),
remark
:
vm
.
newRemark
.
trim
(),
};
};
let
callback
=
(
res
)
=>
{
let
callback
=
(
res
)
=>
{
if
(
res
.
code
==
'000000'
)
{
if
(
res
.
code
==
"000000"
)
{
vm
.
remarkDialogVisible
=
false
;
vm
.
remarkDialogVisible
=
false
;
}
else
{
vm
.
submitForm
(
"ruleForm"
);
}
else
{
vm
.
$message
.
error
(
res
.
message
);
vm
.
$message
.
error
(
res
.
message
);
}
}
}
}
;
vm
.
sendRequest
(
'post'
,
`/sensitive/dataRemark`
,
data
,
callback
);
vm
.
sendRequest
(
"post"
,
`/sensitive/dataRemark`
,
data
,
callback
);
},
},
showAddConditionModal
()
{
showAddConditionModal
()
{
vm
.
addConditioDialogVisible
=
true
;
vm
.
addConditioDialogVisible
=
true
;
},
},
handleSend
()
{
handleSend
()
{
if
(
vm
.
multipleSelection
&&
vm
.
multipleSelection
.
length
==
0
)
{
if
(
vm
.
multipleSelection
&&
vm
.
multipleSelection
.
length
==
0
)
{
vm
.
$message
.
error
(
'请先勾选表格!'
);
vm
.
$message
.
error
(
"请先勾选表格!"
);
return
;
return
;
}
}
vm
.
dataUserDiss
=
[];
vm
.
dataUserDiss
=
[];
vm
.
sendDialogVisible
=
true
;
vm
.
sendDialogVisible
=
true
;
vm
.
getUserList
();
vm
.
getUserList
();
},
},
showExportModal
(){
showExportModal
()
{
console
.
log
(
'导出。。。。。'
)
if
(
vm
.
checkChrome
())
{
console
.
log
(
"导出检测,是chome"
);
vm
.
browserVisible
=
false
;
}
else
{
console
.
log
(
"导出检测,是其它浏览器"
);
vm
.
browserVisible
=
true
;
return
;
}
// 待接口提供后 请求接口获取excel, 再出发下载
// 待接口提供后 请求接口获取excel, 再出发下载
vm
.
checkExport
();
vm
.
checkExport
();
},
},
checkExport
()
{
checkExport
()
{
vm
.
exportModalVisible
=
true
;
// /dataSearch/searchUserDis
// /dataSearch/searchUserDis
// 查询分发人员列表
// 查询分发人员列表
let
data
=
{
let
data
=
{
...
@@ -432,16 +621,21 @@ export default {
...
@@ -432,16 +621,21 @@ export default {
};
};
let
callback
=
(
res
)
=>
{
let
callback
=
(
res
)
=>
{
if
(
res
.
code
==
'000000'
)
{
if
(
res
.
code
==
"000000"
)
{
console
.
log
(
'导出前校验》》》》 '
,
res
)
console
.
log
(
"导出前校验》》》》 "
,
res
);
vm
.
checkExportData
.
dataExportTotal
=
res
.
data
.
dataExportTotal
;
vm
.
checkExportData
.
dataExportTotal
=
res
.
data
.
dataExportTotal
;
vm
.
checkExportData
.
dataExportCount
=
res
.
data
.
dataExportCount
;
vm
.
checkExportData
.
dataExportCount
=
res
.
data
.
dataExportCount
;
vm
.
exportModalVisible
=
true
;
//
vm.exportModalVisible = true;
}
else
{
}
else
{
vm
.
$message
.
error
(
res
.
message
);
vm
.
$message
.
error
(
res
.
message
);
}
}
};
};
vm
.
sendRequest
(
'post'
,
`/sensitive/dataSearch/check/export`
,
data
,
callback
);
vm
.
sendRequest
(
"post"
,
`/sensitive/dataSearch/check/export`
,
data
,
callback
);
},
},
handleExport
()
{
handleExport
()
{
let
data
=
{
let
data
=
{
...
@@ -451,25 +645,72 @@ export default {
...
@@ -451,25 +645,72 @@ export default {
};
};
let
callback
=
(
res
)
=>
{
let
callback
=
(
res
)
=>
{
if
(
res
.
code
==
'000000'
)
{
if
(
res
.
code
==
"000000"
)
{
console
.
log
(
'正式导出》》》》 '
,
res
)
console
.
log
(
"正式导出》》》》 "
,
res
);
// 执行下载excel
// 执行下载excel
vm
.
downloadFile
(
res
.
data
.
path
,
res
.
data
.
fileName
)
vm
.
downloadFile
(
res
.
data
.
path
,
res
.
data
.
fileName
)
;
vm
.
exportModalVisible
=
false
;
vm
.
exportModalVisible
=
false
;
}
else
{
}
else
{
vm
.
$message
.
error
(
res
.
message
);
vm
.
$message
.
error
(
res
.
message
);
}
}
};
};
vm
.
sendRequest
(
'post'
,
`/sensitive/dataSearch/export`
,
data
,
callback
);
vm
.
sendRequest
(
"post"
,
`/sensitive/dataSearch/export`
,
data
,
callback
);
},
},
downloadFile
(
base64
,
fileName
)
{
downloadFile
(
base64
,
fileName
)
{
let
a
=
document
.
createElement
(
'a'
);
let
a
=
document
.
createElement
(
"a"
);
let
uploadHref
=
'data:application/xls;base64,'
+
base64
;
let
uploadHref
=
"data:application/xls;base64,"
+
base64
;
a
.
setAttribute
(
'href'
,
uploadHref
);
a
.
setAttribute
(
"href"
,
uploadHref
);
let
exportFileName
=
fileName
;
let
exportFileName
=
fileName
;
a
.
setAttribute
(
'download'
,
exportFileName
);
a
.
setAttribute
(
"download"
,
exportFileName
);
a
.
click
();
a
.
click
();
},
},
handleNormalExport
()
{
let
data
=
{
dingdingNum
:
vm
.
ruleForm
.
dingdingNumber
,
dingdingDate
:
vm
.
ruleForm
.
dingdingDate
,
dataSheetName
:
vm
.
ruleForm
.
sheet
,
};
let
callback
=
(
res
)
=>
{
if
(
res
.
code
==
"000000"
)
{
console
.
log
(
"常规导出》》》》 "
,
res
);
// 执行下载excel
vm
.
downloadFile
(
res
.
data
.
path
,
res
.
data
.
fileName
);
vm
.
exportNormalModalVisible
=
false
;
}
else
{
vm
.
$message
.
error
(
res
.
message
);
}
};
vm
.
sendRequest
(
"post"
,
`/sensitive/dataSearch/export/common`
,
data
,
callback
);
},
checkChrome
()
{
// return (navigator.appVersion.indexOf('Chrome') || navigator.appVersion.indexOf('chrome')) != -1;
return
this
.
getBroswer
().
broswer
==
'Chrome'
},
getBroswer
()
{
let
sys
=
{};
let
ua
=
navigator
.
userAgent
.
toLowerCase
();
let
s
;
(
s
=
ua
.
match
(
/edge
\/([\d
.
]
+
)
/
))
?
sys
.
edge
=
s
[
1
]
:
(
s
=
ua
.
match
(
/rv:
([\d
.
]
+
)\)
like gecko/
))
?
sys
.
ie
=
s
[
1
]
:
(
s
=
ua
.
match
(
/msie
([\d
.
]
+
)
/
))
?
sys
.
ie
=
s
[
1
]
:
(
s
=
ua
.
match
(
/firefox
\/([\d
.
]
+
)
/
))
?
sys
.
firefox
=
s
[
1
]
:
(
s
=
ua
.
match
(
/chrome
\/([\d
.
]
+
)
/
))
?
sys
.
chrome
=
s
[
1
]
:
(
s
=
ua
.
match
(
/opera.
([\d
.
]
+
)
/
))
?
sys
.
opera
=
s
[
1
]
:
(
s
=
ua
.
match
(
/version
\/([\d
.
]
+
)
.*safari/
))
?
sys
.
safari
=
s
[
1
]
:
0
;
if
(
sys
.
edge
)
return
{
broswer
:
"Edge"
,
version
:
sys
.
edge
};
if
(
sys
.
ie
)
return
{
broswer
:
"IE"
,
version
:
sys
.
ie
};
if
(
sys
.
firefox
)
return
{
broswer
:
"Firefox"
,
version
:
sys
.
firefox
};
if
(
sys
.
chrome
)
return
{
broswer
:
"Chrome"
,
version
:
sys
.
chrome
};
if
(
sys
.
opera
)
return
{
broswer
:
"Opera"
,
version
:
sys
.
opera
};
if
(
sys
.
safari
)
return
{
broswer
:
"Safari"
,
version
:
sys
.
safari
};
return
{
broswer
:
""
,
version
:
"0"
};
},
down
()
{
window
.
location
.
href
=
'http://www.google.cn/chrome/'
;
},
getUserList
()
{
getUserList
()
{
// /dataSearch/searchUserDis
// /dataSearch/searchUserDis
// 查询分发人员列表
// 查询分发人员列表
...
@@ -480,22 +721,30 @@ export default {
...
@@ -480,22 +721,30 @@ export default {
};
};
let
callback
=
(
res
)
=>
{
let
callback
=
(
res
)
=>
{
if
(
res
.
code
==
'000000'
)
{
if
(
res
.
code
==
"000000"
)
{
vm
.
peopleList
=
res
.
data
;
vm
.
peopleList
=
res
.
data
;
}
else
{
}
else
{
vm
.
$message
.
error
(
res
.
message
);
vm
.
$message
.
error
(
res
.
message
);
}
}
};
};
vm
.
sendRequest
(
'post'
,
`/sensitive/dataSearch/searchUserDis`
,
data
,
callback
);
vm
.
sendRequest
(
"post"
,
`/sensitive/dataSearch/searchUserDis`
,
data
,
callback
);
},
},
submitForm
(
formName
)
{
submitForm
(
formName
)
{
vm
.
$refs
[
formName
].
validate
(
valid
=>
{
vm
.
$refs
[
formName
].
validate
(
(
valid
)
=>
{
if
(
valid
)
{
if
(
valid
)
{
let
data
=
{
let
data
=
{
columnMap
:
{},
columnMap
:
{},
labelMap
:
{},
dingdingNum
:
vm
.
ruleForm
.
dingdingNumber
,
dingdingNum
:
vm
.
ruleForm
.
dingdingNumber
,
dingdingDate
:
vm
.
ruleForm
.
dingdingDate
,
dingdingDate
:
vm
.
ruleForm
.
dingdingDate
,
dataSheetName
:
vm
.
ruleForm
.
sheet
,
dataSheetName
:
vm
.
ruleForm
.
sheet
,
projectStateId
:
vm
.
ruleForm
.
labelStatus
,
remark
:
vm
.
ruleForm
.
remark
,
pageNo
:
vm
.
ruleForm
.
pageNo
,
pageNo
:
vm
.
ruleForm
.
pageNo
,
pageSize
:
vm
.
ruleForm
.
pageSize
,
pageSize
:
vm
.
ruleForm
.
pageSize
,
};
};
...
@@ -503,26 +752,58 @@ export default {
...
@@ -503,26 +752,58 @@ export default {
let
stringData
=
JSON
.
stringify
(
vm
.
conditionForm
);
let
stringData
=
JSON
.
stringify
(
vm
.
conditionForm
);
if
(
stringData
!=
"{}"
)
{
if
(
stringData
!=
"{}"
)
{
let
condition
=
JSON
.
parse
(
stringData
);
let
condition
=
JSON
.
parse
(
stringData
);
console
.
log
(
"submitForm() : condition = "
+
condition
);
for
(
let
key
in
condition
)
{
for
(
let
key
in
condition
)
{
console
.
log
(
"submitForm() : key = "
+
key
);
data
.
columnMap
[
key
]
=
condition
[
key
];
data
.
columnMap
[
key
]
=
condition
[
key
];
};
}
}
if
(
vm
.
dataProjectLabels
.
length
>
0
)
{
for
(
let
i
=
0
;
i
<
vm
.
dataProjectLabels
.
length
;
i
++
)
{
console
.
log
(
"dataProjectLabels() : key = "
+
vm
.
dataProjectLabels
[
i
].
labelCode
+
", value = "
+
vm
.
dataProjectContents
[
i
]
);
data
.
labelMap
[
vm
.
dataProjectLabels
[
i
].
labelCode
]
=
vm
.
dataProjectContents
[
i
];
}
}
}
let
callback
=
(
res
)
=>
{
let
callback
=
(
res
)
=>
{
if
(
res
.
code
==
'000000'
)
{
if
(
res
.
code
==
"000000"
)
{
vm
.
isSearchSend
=
true
;
vm
.
isSearchSend
=
true
;
vm
.
tableDataList
=
res
.
data
;
vm
.
tableDataList
=
res
.
data
;
if
(
typeof
res
.
data
.
dataRole
!=
'undefined'
&&
res
.
data
.
dataRole
==
1
){
if
(
vm
.
showSendBtn
=
true
;
typeof
res
.
data
.
dataRole
!=
"undefined"
&&
};
res
.
data
.
dataRole
==
1
if
(
typeof
res
.
data
.
dataExportCount
!=
'undefined'
&&
res
.
data
.
dataExportCount
>
0
)
{
)
{
vm
.
showSendBtn
=
true
;
}
if
(
typeof
res
.
data
.
dataExportCount
!=
"undefined"
&&
res
.
data
.
dataExportCount
>
0
)
{
vm
.
showExportBtn
=
true
;
vm
.
showExportBtn
=
true
;
}
}
}
else
{
if
(
res
.
data
.
distributeRole
==
2
)
{
vm
.
showNormalExportBtn
=
true
;
}
vm
.
getLabelStatus
();
}
else
{
vm
.
$message
.
error
(
res
.
message
);
vm
.
$message
.
error
(
res
.
message
);
}
}
};
};
vm
.
sendRequest
(
'post'
,
`/sensitive/dataSearch/search`
,
data
,
callback
);
vm
.
sendRequest
(
"post"
,
`/sensitive/dataSearch/search`
,
data
,
callback
);
}
else
{
}
else
{
console
.
log
(
"error submit!!"
);
console
.
log
(
"error submit!!"
);
return
false
;
return
false
;
...
@@ -531,69 +812,152 @@ export default {
...
@@ -531,69 +812,152 @@ export default {
},
},
handleSizeChange
(
val
)
{
handleSizeChange
(
val
)
{
console
.
log
(
'size change .......'
)
console
.
log
(
"size change ......."
);
vm
.
ruleForm
.
pageSize
=
val
;
vm
.
ruleForm
.
pageSize
=
val
;
vm
.
submitForm
(
'ruleForm'
);
vm
.
submitForm
(
"ruleForm"
);
},
},
handleCurrentChange
(
val
)
{
handleCurrentChange
(
val
)
{
console
.
log
(
'currentPage change .......'
)
console
.
log
(
"currentPage change ......."
);
vm
.
ruleForm
.
pageNo
=
val
;
vm
.
ruleForm
.
pageNo
=
val
;
vm
.
submitForm
(
'ruleForm'
);
vm
.
submitForm
(
"ruleForm"
);
},
},
handleSelectionChange
(
val
)
{
handleSelectionChange
(
val
)
{
vm
.
multipleSelection
=
val
;
vm
.
multipleSelection
=
val
;
// debugger;
// debugger;
let
firstColumn
=
vm
.
tableDataList
.
columnList
[
0
].
key
||
'column1'
;
let
firstColumn
=
vm
.
tableDataList
.
columnList
[
0
].
key
||
"column1"
;
let
str
=
''
;
let
str
=
""
;
let
tempNameList
=
[];
let
tempNameList
=
[];
vm
.
multipleSelection
.
map
(
function
(
value
,
index
,
arr
)
{
vm
.
multipleSelection
.
map
(
function
(
value
,
index
,
arr
)
{
tempNameList
.
push
(
value
[
firstColumn
]);
tempNameList
.
push
(
value
[
firstColumn
]);
})
})
;
str
=
tempNameList
.
join
(
','
);
str
=
tempNameList
.
join
(
","
);
vm
.
selectedNameList
=
str
;
vm
.
selectedNameList
=
str
;
},
},
handleRemarkClick
(
row
)
{
handleRemarkClick
(
row
)
{
// console.log("handleRemarkClick: ", row);
vm
.
remarkDialogVisible
=
true
;
vm
.
remarkDialogVisible
=
true
;
vm
.
currentRow
=
row
;
vm
.
currentRow
=
row
;
// 获取备注信息
// 获取备注信息
let
callback
=
(
res
)
=>
{
let
callback
=
(
res
)
=>
{
if
(
res
.
code
==
"000000"
)
{
if
(
res
.
code
==
"000000"
)
{
vm
.
remarkHistory
=
res
.
data
.
remarks
;
vm
.
remarkHistory
=
res
.
data
.
remarks
;
}
else
{
}
else
{
vm
.
$message
.
error
(
res
.
message
);
vm
.
$message
.
error
(
res
.
message
);
}
}
};
};
vm
.
sendRequest
(
'get'
,
`/sensitive/dataRemark?dataUserContentId=
${
row
.
dataUserContentId
}
`
,
{},
callback
);
vm
.
sendRequest
(
"get"
,
`/sensitive/dataRemark?dataContentId=
${
row
.
contentId
}
`
,
{},
callback
);
},
},
handle
Tag
Click
(
row
)
{
handle
SetLabel
Click
(
row
)
{
vm
.
currentRow
=
row
;
vm
.
currentRow
=
row
;
vm
.
setLabelVisible
=
true
;
// 获取历史标签信息
let
callback
=
(
res
)
=>
{
let
callback
=
(
res
)
=>
{
if
(
res
.
code
==
"000000"
)
{
if
(
res
.
code
==
"000000"
)
{
vm
.
submitForm
(
'ruleForm'
);
vm
.
historyLabelList
=
res
.
data
;
}
else
{
// console.log(
vm
.
$message
.
error
(
res
.
message
);
// "handleSetLabelClick() : vm.historyLabelList = " +
// vm.historyLabelList.menus.length
// );
if
(
vm
.
dataProjectLabels
==
null
||
vm
.
dataProjectLabels
==
""
)
{
vm
.
$message
.
info
(
"未设置过标签"
)
}
}
else
{
vm
.
$message
.
error
(
res
.
message
);
}
};
vm
.
sendRequest
(
"get"
,
`/sensitive/dataSearch/labels?dataContentId=
${
row
.
contentId
}
`
,
{},
callback
);
},
dealSetLabelClick
()
{
let
tmpList
=
[];
if
(
vm
.
dataProjectLabels
&&
vm
.
dataProjectLabels
.
length
>
0
)
{
for
(
let
i
=
0
;
i
<
vm
.
dataProjectLabels
.
length
;
i
++
)
{
let
obj
=
{
labelCode
:
vm
.
dataProjectLabels
[
i
].
labelCode
,
labelValue
:
vm
.
setLabelList
[
i
]
};
tmpList
.
push
(
obj
);
}
}
}
else
{
vm
.
setLabelVisible
=
false
;
return
;
}
}
vm
.
sendRequest
(
'get'
,
`/sensitive/dataSearch/changeStatus?dataUserContentId=
${
row
.
dataUserContentId
}
`
,
{},
callback
);
let
data
=
{
contentId
:
vm
.
currentRow
.
contentId
,
dataUserContentId
:
vm
.
currentRow
.
dataUserContentId
,
list
:
tmpList
,
projectMainId
:
0
,
};
let
callback
=
(
res
)
=>
{
if
(
res
.
code
==
"000000"
)
{
// vm.peopleList = res.data;
this
.
$message
({
type
:
"success"
,
message
:
"设置标签成功"
,
});
}
else
{
vm
.
$message
.
error
(
res
.
message
);
}
vm
.
setLabelVisible
=
false
;
};
vm
.
sendRequest
(
"post"
,
`/sensitive/dataSearch/labels`
,
data
,
callback
);
},
handleTagClick
(
row
)
{
vm
.
currentRow
=
row
;
this
.
tagVisible
=
true
;
},
dealTagClick
()
{
let
callback
=
(
res
)
=>
{
if
(
res
.
code
==
"000000"
)
{
this
.
$message
({
type
:
"success"
,
message
:
"标记状态设置成功"
,
});
vm
.
submitForm
(
"ruleForm"
);
}
else
{
vm
.
$message
.
error
(
res
.
message
);
}
vm
.
tagVisible
=
false
;
};
vm
.
sendRequest
(
"get"
,
`/sensitive/dataSearch/changeStatus?dataUserContentId=
${
vm
.
currentRow
.
dataUserContentId
}
&dataContentId=
${
vm
.
currentRow
.
contentId
}
&projectStateId=
${
vm
.
tagStatus
}
`
,
{},
callback
);
},
handleLabelClick
()
{
this
.
labelVisible
=
false
;
},
},
handleRemarkClose
()
{
handleRemarkClose
()
{
vm
.
newRemark
=
''
;
vm
.
newRemark
=
""
;
vm
.
remarkHistory
=
[];
vm
.
remarkHistory
=
[];
},
},
handleConfirmSend
()
{
handleConfirmSend
()
{
if
(
vm
.
dataUserDiss
&&
vm
.
dataUserDiss
.
length
==
0
)
{
if
(
vm
.
dataUserDiss
&&
vm
.
dataUserDiss
.
length
==
0
)
{
vm
.
$message
.
error
(
'请先勾选人员!'
);
vm
.
$message
.
error
(
"请先勾选人员!"
);
return
;
return
;
}
}
let
selectListIds
=
[];
let
selectListIds
=
[];
vm
.
multipleSelection
.
map
(
function
(
value
,
index
,
arr
)
{
vm
.
multipleSelection
.
map
(
function
(
value
,
index
,
arr
)
{
selectListIds
.
push
(
value
.
contentId
)
selectListIds
.
push
(
value
.
contentId
)
;
})
})
;
let
data
=
{
let
data
=
{
dataUserDiss
:
vm
.
dataUserDiss
,
dataUserDiss
:
vm
.
dataUserDiss
,
dataCountIds
:
selectListIds
,
dataCountIds
:
selectListIds
,
...
@@ -601,19 +965,19 @@ export default {
...
@@ -601,19 +965,19 @@ export default {
};
};
let
callback
=
(
res
)
=>
{
let
callback
=
(
res
)
=>
{
if
(
res
.
code
==
'000000'
)
{
if
(
res
.
code
==
"000000"
)
{
vm
.
sendDialogVisible
=
false
;
vm
.
sendDialogVisible
=
false
;
}
else
{
}
else
{
vm
.
$message
.
error
(
res
.
message
);
vm
.
$message
.
error
(
res
.
message
);
}
}
}
}
;
vm
.
sendRequest
(
'post'
,
`/sensitive/dataSearch/postUser`
,
data
,
callback
);
vm
.
sendRequest
(
"post"
,
`/sensitive/dataSearch/postUser`
,
data
,
callback
);
},
},
handleAddConditionConfirm
(){
handleAddConditionConfirm
()
{
vm
.
addConditioDialogVisible
=
false
;
vm
.
addConditioDialogVisible
=
false
;
vm
.
ruleForm
.
pageNo
=
1
;
vm
.
ruleForm
.
pageNo
=
1
;
},
},
}
}
,
};
};
</
script
>
</
script
>
...
@@ -690,9 +1054,11 @@ export default {
...
@@ -690,9 +1054,11 @@ export default {
margin-left: 20px;
margin-left: 20px;
}
}
}
}
.name-list{
.name-list {
width: 450px; height: 24px; line-height: 24px;
width: 450px;
.name{
height: 24px;
line-height: 24px;
.name {
max-width: 385px;
max-width: 385px;
float: left;
float: left;
display: block;
display: block;
...
@@ -700,7 +1066,7 @@ export default {
...
@@ -700,7 +1066,7 @@ export default {
text-overflow: ellipsis;
text-overflow: ellipsis;
white-space: nowrap;
white-space: nowrap;
}
}
.after-text{
.after-text
{
float: left;
float: left;
display: block;
display: block;
width: 55px;
width: 55px;
...
@@ -709,7 +1075,7 @@ export default {
...
@@ -709,7 +1075,7 @@ export default {
}
}
}
}
.no-table-data{
.no-table-data
{
width: 100%;
width: 100%;
height: 400px;
height: 400px;
line-height: 400px;
line-height: 400px;
...
@@ -718,21 +1084,28 @@ export default {
...
@@ -718,21 +1084,28 @@ export default {
font-size: 14px;
font-size: 14px;
}
}
.pagination-style{
.pagination-style
{
margin-top: 30px;
margin-top: 30px;
float: right;
float: right;
}
}
.tebale_card {
.tebale_card {
background: rgba(255,255,255,
0.2);
background: rgba(255, 255, 255,
0.2);
}
}
.el-table, .el-table__expanded-cell {
.el-table,
background: rgba(255,255,255,0.2);
.el-table__expanded-cell {
background: rgba(255, 255, 255, 0.2);
}
}
.el-table{
.el-table
{
.el-table__fixed-right{
.el-table__fixed-right
{
background: #
FFF
;
background: #
fff
;
}
}
}
}
.same-line-class {
margin-top: 20px;
display: inline-block;
}
.href-link {
color: red;
}
}
}
</
style
>
</
style
>
\ No newline at end of file
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录