Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation
This project
Loading...
Sign in
platform
/
social_ecurity_serv
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit 10848df7
authored
Oct 29, 2020
by
葛青博
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
青岛社保问题修改
1 parent
6b1374d9
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
643 additions
and
523 deletions
web/config/index.js
web/index.html
web/package-lock.json
web/package.json
web/src/router/index.js
web/src/store/modules/menu.js
web/src/util/api.js
web/src/util/http.js
web/src/views/Deploy/dbManage/facedb/faceTable.vue
web/src/views/Deploy/taskManage/facetask/facetask.vue
web/src/views/Equipment/org.vue
web/src/views/Home/show/index.vue
web/src/views/Login/login.vue
web/src/views/Search/FilmedRecords.vue
web/src/views/Search/facedb/faceTable.vue
web/src/views/System/SysExaminee/index.vue
web/src/views/System/SysExaminee/proofreading.vue
web/src/views/report/show.vue
web/static/config.js
web/config/index.js
View file @
10848df
...
...
@@ -10,12 +10,21 @@ module.exports = {
// Paths
assetsSubDirectory
:
'static'
,
assetsPublicPath
:
'/'
,
proxyTable
:
{},
proxyTable
:
{
"/api1"
:
{
target
:
'http://192.168.9.115:28000'
,
//"https://store.keliuyun.com", // 要访问的接口域名
ws
:
true
,
// 是否启用websockets
changeOrigin
:
true
,
//开启代理:在本地会创建一个虚拟服务端,然后发送请求的数据,并同时接收请求的数据,这样服务端和服务端进行数据的交互就不会有跨域问题
pathRewrite
:
{
"^/api1"
:
""
//这里理解成用'/api'代替target里面的地址,比如我要调用'http://40.00.100.100:3002/user/add',直接写'/api/user/add'即可
}
}
},
useLocalIp
:
true
,
// Various Dev Server settings
host
:
'192.168.9.1
02
'
,
// 'localhost', // // can be overwritten by process.env.HOST
host
:
'192.168.9.1
96
'
,
// 'localhost', // // can be overwritten by process.env.HOST
port
:
8990
,
// can be overwritten by process.env.PORT, if port is in use, a free one will be determined
autoOpenBrowser
:
fals
e
,
autoOpenBrowser
:
tru
e
,
errorOverlay
:
true
,
notifyOnErrors
:
true
,
poll
:
false
,
// https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-
...
...
web/index.html
View file @
10848df
<!DOCTYPE html>
<html>
<head>
<head>
<meta
charset=
"utf-8"
>
<meta
name=
"viewport"
content=
"width=device-width,initial-scale=1.0"
>
<title>
web
</title>
<script>
!
(
function
()
{
var
randomH
=
Date
.
parse
(
new
Date
())
/
1000
;
document
.
write
(
"<script type='text/javascript' src='./static/config.js?s="
+
randomH
+
"' charset='utf-8'><\/script>"
);
})()
</script>
<!-- <script>
!(function() {
var platformConf = document.createElement("script"),
s = document.getElementsByTagName("script")[0],
...
...
@@ -12,10 +19,12 @@
platformConf.src = './static/config.js?_s=' + stamp;
s.parentNode.insertBefore(platformConf, s);
})()
</script>
</head>
<body>
</script> -->
</head>
<body>
<div
id=
"app"
></div>
<!-- built files will be auto injected -->
</body>
</html>
</body>
</html>
\ No newline at end of file
web/package-lock.json
View file @
10848df
...
...
@@ -2496,6 +2496,11 @@
"integrity"
:
"sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w=="
,
"dev"
:
true
},
"blueimp-md5"
:
{
"version"
:
"2.18.0"
,
"resolved"
:
"https://registry.npm.taobao.org/blueimp-md5/download/blueimp-md5-2.18.0.tgz?cache=0&sync_timestamp=1599372690839&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fblueimp-md5%2Fdownload%2Fblueimp-md5-2.18.0.tgz"
,
"integrity"
:
"sha1-EVK+EzXwxrORHtnjbbVPPmrFKTU="
},
"bn.js"
:
{
"version"
:
"4.11.8"
,
"resolved"
:
"https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz"
,
...
...
web/package.json
View file @
10848df
{
"name"
:
"web"
,
"version"
:
"1.0.0"
,
"description"
:
"A Vue.js project"
,
"author"
:
"panjianbo <13651030816@163.com>"
,
"private"
:
true
,
"scripts"
:
{
"dev"
:
"webpack-dev-server --inline --progress --config build/webpack.dev.conf.js"
,
"start"
:
"npm run dev"
,
"unit"
:
"jest --config test/unit/jest.conf.js --coverage"
,
"test"
:
"npm run unit"
,
"build"
:
"node build/build.js"
},
"dependencies"
:
{
"@riophae/vue-treeselect"
:
"^0.0.38"
,
"axios"
:
"^0.18.0"
,
"babel-polyfill"
:
"^6.26.0"
,
"cssnano"
:
"^4.1.10"
,
"echarts"
:
"^4.7.0"
,
"element-ui"
:
"^2.8.2"
,
"file-saver"
:
"^2.0.2"
,
"ol"
:
"^6.0.0"
,
"stylus"
:
"^0.54.5"
,
"stylus-loader"
:
"^3.0.2"
,
"vue"
:
"^2.5.2"
,
"vue-photo-zoom-pro"
:
"^1.2.12"
,
"vue-piczoom"
:
"^1.0.6"
,
"vue-resource"
:
"^1.5.1"
,
"vue-router"
:
"^3.0.1"
,
"vue-video-player"
:
"^5.0.2"
,
"vue2.0-zoom"
:
"^2.1.1"
,
"vuex"
:
"^3.1.1"
,
"xlsx"
:
"^0.15.1"
},
"devDependencies"
:
{
"autoprefixer"
:
"^7.1.2"
,
"babel-core"
:
"^6.22.1"
,
"babel-helper-vue-jsx-merge-props"
:
"^2.0.3"
,
"babel-jest"
:
"^24.8.0"
,
"babel-loader"
:
"^7.1.1"
,
"babel-plugin-dynamic-import-node"
:
"^1.2.0"
,
"babel-plugin-syntax-jsx"
:
"^6.18.0"
,
"babel-plugin-transform-es2015-modules-commonjs"
:
"^6.26.0"
,
"babel-plugin-transform-runtime"
:
"^6.22.0"
,
"babel-plugin-transform-vue-jsx"
:
"^3.5.0"
,
"babel-preset-env"
:
"^1.3.2"
,
"babel-preset-stage-2"
:
"^6.22.0"
,
"chalk"
:
"^2.0.1"
,
"copy-webpack-plugin"
:
"^4.0.1"
,
"css-loader"
:
"^3.0.0"
,
"extract-text-webpack-plugin"
:
"^3.0.0"
,
"file-loader"
:
"^1.1.4"
,
"friendly-errors-webpack-plugin"
:
"^1.6.1"
,
"html-webpack-plugin"
:
"^2.30.1"
,
"jest"
:
"^24.8.0"
,
"jest-serializer-vue"
:
"^0.3.0"
,
"node-notifier"
:
"^5.1.2"
,
"optimize-css-assets-webpack-plugin"
:
"^2.0.0"
,
"ora"
:
"^1.2.0"
,
"portfinder"
:
"^1.0.13"
,
"postcss-import"
:
"^11.0.0"
,
"postcss-loader"
:
"^2.0.8"
,
"postcss-url"
:
"^7.2.1"
,
"rimraf"
:
"^2.6.0"
,
"semver"
:
"^5.3.0"
,
"shelljs"
:
"^0.7.6"
,
"uglifyjs-webpack-plugin"
:
"^1.0.0"
,
"url-loader"
:
"^2.0.1"
,
"vue-jest"
:
"^1.0.2"
,
"vue-loader"
:
"^13.3.0"
,
"vue-style-loader"
:
"^3.0.1"
,
"vue-template-compiler"
:
"^2.5.2"
,
"webpack"
:
"^3.6.0"
,
"webpack-bundle-analyzer"
:
"^3.3.2"
,
"webpack-dev-server"
:
"^2.9.1"
,
"webpack-merge"
:
"^4.1.0"
},
"engines"
:
{
"node"
:
">= 6.0.0"
,
"npm"
:
">= 3.0.0"
},
"browserslist"
:
[
"> 1%"
,
"last 2 versions"
,
"not ie <= 8"
]
}
"name"
:
"web"
,
"version"
:
"1.0.0"
,
"description"
:
"A Vue.js project"
,
"author"
:
"panjianbo <13651030816@163.com>"
,
"private"
:
true
,
"scripts"
:
{
"dev"
:
"webpack-dev-server --inline --progress --config build/webpack.dev.conf.js"
,
"start"
:
"npm run dev"
,
"unit"
:
"jest --config test/unit/jest.conf.js --coverage"
,
"test"
:
"npm run unit"
,
"build"
:
"node build/build.js"
},
"dependencies"
:
{
"@riophae/vue-treeselect"
:
"^0.0.38"
,
"axios"
:
"^0.18.0"
,
"babel-polyfill"
:
"^6.26.0"
,
"cssnano"
:
"^4.1.10"
,
"echarts"
:
"^4.7.0"
,
"element-ui"
:
"^2.8.2"
,
"file-saver"
:
"^2.0.2"
,
"ol"
:
"^6.0.0"
,
"stylus"
:
"^0.54.5"
,
"stylus-loader"
:
"^3.0.2"
,
"vue"
:
"^2.5.2"
,
"vue-photo-zoom-pro"
:
"^1.2.12"
,
"vue-piczoom"
:
"^1.0.6"
,
"vue-resource"
:
"^1.5.1"
,
"vue-router"
:
"^3.0.1"
,
"vue-video-player"
:
"^5.0.2"
,
"vue2.0-zoom"
:
"^2.1.1"
,
"vuex"
:
"^3.1.1"
,
"xlsx"
:
"^0.15.1"
},
"devDependencies"
:
{
"autoprefixer"
:
"^7.1.2"
,
"babel-core"
:
"^6.22.1"
,
"babel-helper-vue-jsx-merge-props"
:
"^2.0.3"
,
"babel-jest"
:
"^24.8.0"
,
"babel-loader"
:
"^7.1.1"
,
"babel-plugin-dynamic-import-node"
:
"^1.2.0"
,
"babel-plugin-syntax-jsx"
:
"^6.18.0"
,
"babel-plugin-transform-es2015-modules-commonjs"
:
"^6.26.0"
,
"babel-plugin-transform-runtime"
:
"^6.22.0"
,
"babel-plugin-transform-vue-jsx"
:
"^3.5.0"
,
"babel-preset-env"
:
"^1.3.2"
,
"babel-preset-stage-2"
:
"^6.22.0"
,
"chalk"
:
"^2.0.1"
,
"copy-webpack-plugin"
:
"^4.0.1"
,
"css-loader"
:
"^3.0.0"
,
"extract-text-webpack-plugin"
:
"^3.0.0"
,
"file-loader"
:
"^1.1.4"
,
"friendly-errors-webpack-plugin"
:
"^1.6.1"
,
"html-webpack-plugin"
:
"^2.30.1"
,
"jest"
:
"^24.8.0"
,
"jest-serializer-vue"
:
"^0.3.0"
,
"node-notifier"
:
"^5.1.2"
,
"optimize-css-assets-webpack-plugin"
:
"^2.0.0"
,
"ora"
:
"^1.2.0"
,
"portfinder"
:
"^1.0.13"
,
"postcss-import"
:
"^11.0.0"
,
"postcss-loader"
:
"^2.0.8"
,
"postcss-url"
:
"^7.2.1"
,
"rimraf"
:
"^2.6.0"
,
"semver"
:
"^5.3.0"
,
"shelljs"
:
"^0.7.6"
,
"uglifyjs-webpack-plugin"
:
"^1.0.0"
,
"url-loader"
:
"^2.0.1"
,
"vue-jest"
:
"^1.0.2"
,
"vue-loader"
:
"^13.3.0"
,
"vue-style-loader"
:
"^3.0.1"
,
"vue-template-compiler"
:
"^2.5.2"
,
"webpack"
:
"^3.6.0"
,
"webpack-bundle-analyzer"
:
"^3.3.2"
,
"webpack-dev-server"
:
"^2.9.1"
,
"webpack-merge"
:
"^4.1.0"
},
"engines"
:
{
"node"
:
">= 6.0.0"
,
"npm"
:
">= 3.0.0"
},
"browserslist"
:
[
"> 1%"
,
"last 2 versions"
,
"not ie <= 8"
]
}
\ No newline at end of file
web/src/router/index.js
View file @
10848df
...
...
@@ -8,7 +8,7 @@ Vue.use(Router)
export
const
constantRouterMap
=
[{
path
:
'/'
,
name
:
'login'
,
component
:
reslove
=>
require
([
'@/views/
l
ogin/login'
],
reslove
),
component
:
reslove
=>
require
([
'@/views/
L
ogin/login'
],
reslove
),
},
{
path
:
'/show'
,
...
...
@@ -115,7 +115,7 @@ export const asyncRouterMap = [{
{
path
:
'/activity/report'
,
name
:
'状态报表'
,
component
:
reslove
=>
require
([
'@/views/
a
ctivity/report'
],
reslove
),
component
:
reslove
=>
require
([
'@/views/
A
ctivity/report'
],
reslove
),
},
{
path
:
'/system/proofread'
,
...
...
web/src/store/modules/menu.js
View file @
10848df
import
{
asyncRouterMap
,
constantRouterMap
}
from
'@/router/index.js'
import
{
asyncRouterMap
,
constantRouterMap
}
from
'@/router/index.js'
import
defultrouter
from
"@/router/index.js"
;
...
...
@@ -8,22 +8,22 @@ import defultrouter from "@/router/index.js";
* @param {*} roles
*/
function
hasPerminssion
(
router
,
roles
)
{
if
(
router
.
children
&&
router
.
children
.
length
>
0
)
{
if
(
existsChildren
(
router
,
roles
))
{
return
true
;
if
(
router
.
children
&&
router
.
children
.
length
>
0
)
{
if
(
existsChildren
(
router
,
roles
))
{
return
true
;
}
}
}
let
status
=
false
;
// let status = true
if
(
roles
)
{
for
(
let
i
=
0
;
i
<
roles
.
length
;
i
++
)
{
if
(
roles
[
i
].
path
===
router
.
path
)
{
status
=
true
;
break
;
}
let
status
=
false
;
// let status = true
if
(
roles
)
{
for
(
let
i
=
0
;
i
<
roles
.
length
;
i
++
)
{
if
(
roles
[
i
].
path
===
router
.
path
)
{
status
=
true
;
break
;
}
}
}
}
return
status
;
return
status
;
}
/**
...
...
@@ -33,53 +33,53 @@ function hasPerminssion(router, roles) {
* @param {*} roles
*/
function
filterAsyncRouter
(
asyncRouterMap
,
roles
)
{
var
newData
=
[];
// return routers
asyncRouterMap
.
forEach
((
ele
,
index
)
=>
{
roles
.
map
(
m
=>
{
if
(
ele
.
path
==
m
.
path
)
{
let
obj
=
ele
;
if
(
m
.
children
&&
m
.
children
.
length
>
0
)
{
obj
.
children
=
filterAsyncRouter
(
ele
.
children
,
m
.
children
);
}
else
{
obj
.
children
=
[]
}
newData
.
push
(
obj
);
}
var
newData
=
[];
// return routers
asyncRouterMap
.
forEach
((
ele
,
index
)
=>
{
roles
.
map
(
m
=>
{
if
(
ele
.
path
==
m
.
path
)
{
let
obj
=
ele
;
if
(
m
.
children
&&
m
.
children
.
length
>
0
)
{
obj
.
children
=
filterAsyncRouter
(
ele
.
children
,
m
.
children
);
}
else
{
obj
.
children
=
[]
}
newData
.
push
(
obj
);
}
});
});
});
return
newData
;
return
newData
;
}
const
menu
=
{
state
:
{
routers
:
constantRouterMap
,
addRouter
:
[],
threeMenu
:
[]
},
mutations
:
{
SET_ROUTERS
:
(
state
,
routers
)
=>
{
state
.
addRouter
=
routers
;
state
.
routers
=
constantRouterMap
.
concat
(
routers
);
defultrouter
.
addRoutes
(
routers
);
//合并路由
state
:
{
routers
:
constantRouterMap
,
addRouter
:
[],
threeMenu
:
[]
},
SET_THREEMENU
:
(
state
,
routers
)
=>
{
state
.
threeMenu
=
routers
;
}
},
actions
:
{
GetMenuRole
({
commit
,
state
},
data
)
{
if
(
data
===
""
)
{
commit
(
"SET_ROUTERS"
,
[]);
return
;
}
else
{
console
.
log
(
'aaa'
,
data
)
let
accessedRouters
=
filterAsyncRouter
(
asyncRouterMap
,
data
);
console
.
log
(
accessedRouters
)
commit
(
"SET_ROUTERS"
,
accessedRouters
);
}
mutations
:
{
SET_ROUTERS
:
(
state
,
routers
)
=>
{
state
.
addRouter
=
routers
;
state
.
routers
=
constantRouterMap
.
concat
(
routers
);
defultrouter
.
addRoutes
(
routers
);
//合并路由
},
SET_THREEMENU
:
(
state
,
routers
)
=>
{
state
.
threeMenu
=
routers
;
}
},
actions
:
{
GetMenuRole
({
commit
,
state
},
data
)
{
if
(
data
===
""
)
{
commit
(
"SET_ROUTERS"
,
[]);
return
;
}
else
{
// console.log('aaa',data)
let
accessedRouters
=
filterAsyncRouter
(
asyncRouterMap
,
data
);
// console.log(accessedRouters)
commit
(
"SET_ROUTERS"
,
accessedRouters
);
}
}
}
}
};
export
default
menu
;
export
default
menu
;
\ No newline at end of file
web/src/util/api.js
View file @
10848df
// export let url = 'http://192.168.9.208:20080/api/v1'
// export let url = 'http://52.1.113.109:20080/api/v1'
const
{
urls
=
''
,
picUrls
=
''
,
mapUrls
=
''
}
=
window
.
SECURITY_CONF
export
const
mapUrl
=
mapUrls
||
location
.
host
export
let
IP
=
urls
||
location
.
host
if
(
IP
.
indexOf
(
'9.102'
)
>
-
1
||
IP
.
indexOf
(
'localhost'
)
>
-
1
)
{
IP
=
'https://store.keliuyun.com/report'
// IP="/report"
if
(
IP
.
indexOf
(
'9.102'
)
>
-
1
||
IP
.
indexOf
(
'localhost'
)
>
-
1
)
{
IP
=
'https://store.keliuyun.com/report'
// IP="/report"
}
// IP="/report"
export
let
url
=
`
${
IP
}
`
export
let
url
=
`
${
IP
}
`
// '/api1/report' //
export
let
menus
=
`
${
url
}
/auth/api/auth/apps/23660e5593563b27832c2b8f490b458e/menus`
let
timer
=
()
=>
{
return
new
Date
().
getTime
()
let
timer
=
()
=>
{
return
new
Date
().
getTime
()
}
export
let
auth
=
{
login
:
`
${
url
}
/users/login`
,
accountid
:
`
${
url
}
/accounts`
,
user
:
`
${
url
}
/users`
,
edituser
(
userid
)
{
return
`
${
url
}
/users/
${
userid
}
`
},
role
:
`
${
url
}
/auth/roles`
,
editrole
(
roleid
)
{
return
`
${
url
}
/auth/roles/
${
roleid
}
`
},
menusRole
(
roleid
)
{
return
`
${
url
}
/auth/roles/
${
roleid
}
/apps/23660e5593563b27832c2b8f490b458e/menus`
},
userRole
(
userid
)
{
return
`
${
url
}
/auth/users/
${
userid
}
/roles`
},
deleteRole
(
roleid
)
{
return
`
${
url
}
/auth/roles/
${
roleid
}
`
},
deleteuserRole
(
userid
,
roleid
)
{
return
`
${
url
}
/auth/users/
${
userid
}
/roles/
${
roleid
}
`
},
perms
(
roleid
)
{
return
`
${
url
}
/auth/roles/
${
roleid
}
/perms`
},
ugrps
:
`
${
url
}
/auth/ugrps`
,
delugrps
(
ugrp_unid
)
{
return
`
${
url
}
/auth/ugrps/
${
ugrp_unid
}
`
},
userTogroup
(
groupid
)
{
return
`
${
url
}
/auth/ugrps/
${
groupid
}
/users`
},
delUserToGroup
(
groupid
,
userid
)
{
return
`
${
url
}
/auth/ugrps/
${
groupid
}
/users/
${
userid
}
`
},
///-------cyl add
getRoleUsers
(
roleid
)
{
return
`
${
url
}
/auth/roles/
${
roleid
}
/users`
},
login
:
`
${
url
}
/users/login`
,
accountid
:
`
${
url
}
/accounts`
,
user
:
`
${
url
}
/users`
,
edituser
(
userid
)
{
return
`
${
url
}
/users/
${
userid
}
`
},
role
:
`
${
url
}
/auth/roles`
,
editrole
(
roleid
)
{
return
`
${
url
}
/auth/roles/
${
roleid
}
`
},
menusRole
(
roleid
)
{
return
`
${
url
}
/auth/roles/
${
roleid
}
/apps/23660e5593563b27832c2b8f490b458e/menus`
},
userRole
(
userid
)
{
return
`
${
url
}
/auth/users/
${
userid
}
/roles`
},
deleteRole
(
roleid
)
{
return
`
${
url
}
/auth/roles/
${
roleid
}
`
},
deleteuserRole
(
userid
,
roleid
)
{
return
`
${
url
}
/auth/users/
${
userid
}
/roles/
${
roleid
}
`
},
perms
(
roleid
)
{
return
`
${
url
}
/auth/roles/
${
roleid
}
/perms`
},
ugrps
:
`
${
url
}
/auth/ugrps`
,
delugrps
(
ugrp_unid
)
{
return
`
${
url
}
/auth/ugrps/
${
ugrp_unid
}
`
},
userTogroup
(
groupid
)
{
return
`
${
url
}
/auth/ugrps/
${
groupid
}
/users`
},
delUserToGroup
(
groupid
,
userid
)
{
return
`
${
url
}
/auth/ugrps/
${
groupid
}
/users/
${
userid
}
`
},
///-------cyl add
getRoleUsers
(
roleid
)
{
return
`
${
url
}
/auth/roles/
${
roleid
}
/users`
},
}
export
let
org
=
{
getorgtree
:
`
${
url
}
/org/tree`
,
getorg
:
`
${
url
}
/org`
,
deleteorg
(
org_unid
)
{
return
`
${
url
}
/org/
${
org_unid
}
`
},
getvchan
:
`
${
url
}
/org/vchans`
,
getvchanList
:
`
${
url
}
/org/vchans/list`
,
editvchan
(
id
)
{
return
`
${
url
}
/org/vchans/
${
id
}
`
}
getorgtree
:
`
${
url
}
/org/tree`
,
getorg
:
`
${
url
}
/org`
,
deleteorg
(
org_unid
)
{
return
`
${
url
}
/org/
${
org_unid
}
`
},
getvchan
:
`
${
url
}
/org/vchans`
,
getvchanList
:
`
${
url
}
/org/vchans/list`
,
editvchan
(
id
)
{
return
`
${
url
}
/org/vchans/
${
id
}
`
}
}
export
let
faceweb
=
`
${
url
}
/face_web`
export
let
picUrl
=
picUrls
||
"https://vion-retail.oss-cn-beijing.aliyuncs.com/"
// export let picUrl ="http://192.168.9.239/"
// export let picUrl ="http://192.168.9.239/"
\ No newline at end of file
web/src/util/http.js
View file @
10848df
...
...
@@ -3,19 +3,46 @@
*/
import
axios
from
'axios'
import
vue
from
'vue'
import
router
from
'../router'
const
service
=
axios
.
create
({
timeout
:
2000000
//设置请求超时时间
})
import
{
Message
,
Loading
}
from
'element-ui'
;
import
md5
from
'blueimp-md5'
function
cleanArray
(
actual
)
{
const
newArray
=
[]
for
(
let
i
=
0
;
i
<
actual
.
length
;
i
++
)
{
if
(
actual
[
i
])
{
newArray
.
push
(
actual
[
i
])
}
}
return
newArray
}
import
{
Message
,
Loading
}
from
'element-ui'
;
function
param2
(
json
)
{
if
(
!
json
)
return
''
return
cleanArray
(
Object
.
keys
(
json
).
map
(
key
=>
{
if
(
json
[
key
]
===
undefined
||
json
[
key
]
===
null
)
return
''
return
encodeURIComponent
(
key
)
+
'='
+
json
[
key
]
})
).
join
(
'&'
)
}
const
Axios
=
axios
.
create
({
timeout
:
0
,
//设置请求超时时间
withCredentials
:
true
,
// 是否允许带cookie这些
headers
:
{
"Content-Type"
:
"application/json;charset=UTF-8"
}
})
window
.
axios
=
Axios
;
let
loading
//定义loading变量
function
startLoading
()
{
//使用Element loading-start 方法
loading
=
Loading
.
service
({
loading
=
Loading
.
Axios
({
lock
:
true
,
text
:
'加载中……'
,
background
:
'rgba(0, 0, 0, 0.7)'
...
...
@@ -48,20 +75,15 @@ export function tryHideFullScreenLoading() {
/**@param
* 请求前的拦截器
*/
service
.
interceptors
.
request
.
use
(
function
(
config
)
{
Axios
.
interceptors
.
request
.
use
((
config
)
=>
{
const
suffix
=
'4c413628731691abc99eb2fca5f69aab'
const
{
method
,
params
,
data
}
=
config
const
token
=
localStorage
.
getItem
(
'atoken'
);
// config.headers['app-code'] = 1
//截取API添加时间戳防止请求缓存
if
(
config
.
method
==
"get"
)
{
config
.
params
=
{
_t
:
Date
.
parse
(
new
Date
())
/
1000
,
...
config
.
params
};
}
if
(
config
.
url
.
indexOf
(
'codes/countries'
)
<
1
)
{
if
(
config
.
url
.
indexOf
(
'cates'
)
<
1
)
{
if
(
token
)
{
// config.headers.authorization = '4db5183a-721b-4eee-b623-1d143890e813';
config
.
headers
.
authorization
=
token
;
//showFullScreenLoading();
}
else
{
...
...
@@ -69,6 +91,13 @@ service.interceptors.request.use(function(config) {
}
}
}
const
signalStr
=
method
.
toUpperCase
()
+
(
params
?
param2
(
params
)
:
''
)
+
(
data
?
JSON
.
stringify
(
data
)
:
''
)
+
suffix
+
(
config
.
headers
.
Authorization
?
config
.
headers
.
Authorization
:
''
);
const
hashSignature
=
md5
(
signalStr
)
config
.
headers
[
'signature'
]
=
hashSignature
return
config
},
function
(
err
)
{
//tryHideFullScreenLoading();
...
...
@@ -79,15 +108,15 @@ service.interceptors.request.use(function(config) {
* @param
* 响应前的拦截器
*/
service
.
interceptors
.
response
.
use
(
function
(
res
)
{
Axios
.
interceptors
.
response
.
use
((
res
)
=>
{
//tryHideFullScreenLoading();
if
(
res
.
data
)
{
if
(
res
.
data
.
ecode
===
401
)
{
Message
({
type
:
'error'
,
message
:
res
.
data
.
enote
})
// router.push
('/');
type
:
'error'
,
message
:
res
.
data
.
enote
})
router
.
replace
(
'/'
);
}
}
return
res
;
...
...
@@ -96,4 +125,4 @@ service.interceptors.response.use(function(res) {
return
Promise
.
reject
(
err
);
})
export
default
service
\ No newline at end of file
export
default
Axios
\ No newline at end of file
web/src/views/Deploy/dbManage/facedb/faceTable.vue
View file @
10848df
...
...
@@ -138,7 +138,7 @@
is_active
:
true
,
sex
:
Vthis
.
facesex
,
name__like
:
Vthis
.
facename
,
card_id_
_like
:
Vthis
.
facecardid
,
idCard
_like
:
Vthis
.
facecardid
,
crucial_type
:
Vthis
.
dbname
,
resident_unids
:
this
.
communityunid
,
}
...
...
web/src/views/Deploy/taskManage/facetask/facetask.vue
View file @
10848df
...
...
@@ -651,7 +651,7 @@
is_active
:
true
,
sex
:
this
.
facesex
,
name__like
:
''
,
card_id_
_like
:
''
,
idCard
_like
:
''
,
crucial_type
:
'dl_white'
,
resident_unids
:
''
,
}
...
...
web/src/views/Equipment/org.vue
View file @
10848df
...
...
@@ -2,13 +2,13 @@
<div
class=
"template-box content_div_main org-box"
>
<div
class=
"videoleft-box"
>
<el-tree
v-loading=
"loading"
highlight-current
v-loading=
"loading"
highlight-current
:props=
"defaultProps"
:load=
"loadNode"
lazy
@
node-click=
"handleNodeClick"
>
>
</el-tree>
</div>
<div
class=
"org-right-box"
>
...
...
@@ -20,7 +20,7 @@
:data=
"tableData"
:height=
"680"
tooltip-effect=
"dark"
style=
"width: 100%;
margin-top:
20px"
style=
"width: 100%;
margin-top:
20px"
>
<div
slot=
"empty"
>
<div
class=
"no-data-box"
>
...
...
@@ -31,7 +31,11 @@
<el-table-column
type=
"type"
width=
"55"
label=
"#"
></el-table-column>
<el-table-column
label=
"本地IP"
prop=
"localIp"
></el-table-column>
<el-table-column
label=
"设备序列号"
prop=
"serialnum"
></el-table-column>
<el-table-column
label=
"状态"
:formatter=
"formatHpzl"
prop=
"status"
></el-table-column>
<el-table-column
label=
"状态"
:formatter=
"formatHpzl"
prop=
"status"
></el-table-column>
<el-table-column
label=
"外网IP"
prop=
"wanIp"
></el-table-column>
<!--
<el-table-column
label=
"操作"
>
<template
slot-scope=
"scope"
>
...
...
@@ -40,20 +44,44 @@
</el-table-column>
-->
</el-table>
</div>
<div
class=
"dialog-org"
>
<el-dialog
title=
"添加组织机构"
:visible
.
sync=
"dialogVisible"
width=
"30%"
@
close=
"dialogclose()"
>
<!-- <div class="dialog-org">
<el-dialog
title="添加组织机构"
:visible.sync="dialogVisible"
width="30%"
@close="dialogclose()"
>
<el-row>
<el-form
ref=
"orgform"
:model=
"orgform"
label-width=
"170px"
class=
"demo-ruleForm"
>
<el-form
ref="orgform"
:model="orgform"
label-width="170px"
class="demo-ruleForm"
>
<el-form-item label="父节点名称" prop="org_name">
<el-input
class
v-model=
"curOrgData.org_name"
disabled
style=
"width:100%"
></el-input>
<el-input
class
v-model="curOrgData.org_name"
disabled
style="width: 100%"
></el-input>
</el-form-item>
<el-form-item
label="节点类型"
prop="oreType"
:rules="[
{ required: true, message: '请选择节点类型!', trigger: 'blur' } ]"
{
required: true,
message: '请选择节点类型!',
trigger: 'blur',
},
]"
>
<el-select
v-model=
"orgform.oreType"
placeholder=
"请选择添加类型"
class=
"selbox"
>
<el-select
v-model="orgform.oreType"
placeholder="请选择添加类型"
class="selbox"
>
<el-option
v-for="item in options"
:key="item.value"
...
...
@@ -66,9 +94,18 @@
label="节点名称"
prop="orgname"
:rules="[
{ required: true, message: '请输入节点名称!', trigger: 'blur' } ]"
{
required: true,
message: '请输入节点名称!',
trigger: 'blur',
},
]"
>
<el-input
class
v-model=
"orgform.orgname"
style=
"width:100%"
></el-input>
<el-input
class
v-model="orgform.orgname"
style="width: 100%"
></el-input>
</el-form-item>
<el-col :span="15" :offset="5"></el-col>
</el-form>
...
...
@@ -78,274 +115,273 @@
<el-button type="primary" @click="saveORg">确 定</el-button>
</span>
</el-dialog>
</div>
</div>
-->
</div>
</template>
<
script
>
export
default
{
data
()
{
var
validate
=
(
rule
,
value
,
callback
)
=>
{
if
(
value
===
''
)
{
callback
(
new
Error
(
'请先点击左侧选择父节点!'
));
}
else
{
callback
();
}
};
var
validate
=
(
rule
,
value
,
callback
)
=>
{
if
(
value
===
""
)
{
callback
(
new
Error
(
"请先点击左侧选择父节点!"
));
}
else
{
callback
();
}
};
return
{
loading
:
false
,
loading
:
false
,
tableData
:
[],
parentname
:
""
,
options
:
[
{
value
:
"org"
,
label
:
"组织"
},
{
value
:
"address"
,
label
:
"地点"
},
{
value
:
"root"
,
label
:
"根节点"
}
],
treedata
:
[],
//
parentname: "",
//
options: [
//
{
//
value: "org",
// label: "组织",
//
},
//
{
//
value: "address",
// label: "地点",
//
},
//
{
//
value: "root",
// label: "根节点",
// },
//
],
//
treedata: [],
defaultProps
:
{
children
:
"childs"
,
label
:
"name"
,
isLeaf
:
"leaf"
isLeaf
:
"leaf"
,
},
dialogVisible
:
false
,
orgform
:
{
oreType
:
''
,
orgname
:
''
},
curOrgData
:
{},
accountId
:
localStorage
.
getItem
(
'accountId'
)
//
dialogVisible: false,
//
orgform: {
// oreType: ""
,
// orgname: "",
//
},
//
curOrgData: {},
accountId
:
localStorage
.
getItem
(
"accountId"
),
};
},
created
()
{
// this.getorgtree();
},
methods
:
{
dialogclose
(){
this
.
$refs
.
orgform
.
resetFields
()
},
handleNodeClick
(
data
,
node
)
{
if
(
node
.
childNodes
.
length
>
0
&&
data
.
floorId
){
this
.
tableData
=
[]
node
.
childNodes
.
forEach
(
item
=>
{
this
.
tableData
.
push
(
item
.
data
)
})
// dialogclose() {
// this.$refs.orgform.resetFields();
// },
handleNodeClick
(
data
,
node
)
{
if
(
node
.
childNodes
.
length
>
0
&&
data
.
mallId
)
{
console
.
log
(
'11'
)
this
.
tableData
=
[];
node
.
childNodes
.
forEach
((
item
)
=>
{
this
.
tableData
.
push
(
item
.
data
);
});
}
},
formatHpzl
(
data
)
{
if
(
data
.
status
==
0
)
return
"离线"
;
if
(
data
.
status
==
1
)
return
"在线"
;
},
buildTree
(
data
)
{
if
(
!
data
)
{
return
;
// buildTree(data) {
// if (!data) {
// return;
// }
// var store = [];
// store.push(data);
// let substore;
// while (store.length > 0) {
// substore = store.pop();
// if (substore.childs && substore.childs.length > 0) {
// var i = substore.childs.length - 1;
// for (i = substore.childs.length - 1; i >= 0; i--) {
// if (substore.childs[i].org_type == "vchan") {
// substore.childs.splice(i, 1);
// }
// store.push(substore.childs[i]);
// }
// }
// }
// },
// addorg() {
// this.dialogVisible = true;
// },
// handleDelete(index, row) {
// this.$confirm("此操作将永久删除该文件, 是否继续?", "提示", {
// confirmButtonText: "确定",
// cancelButtonText: "取消",
// type: "warning",
// })
// .then(() => {
// this.axios
// .delete(this.API.org.deleteorg(row.unid))
// .then((response) => {
// this.$message({
// type: "success",
// message: "删除成功!",
// });
// this.deleteorg(row);
// });
// })
// .catch(() => {
// this.$message({
// type: "info",
// message: "已取消删除",
// });
// });
// },
// saveORg() {
// var data = {
// org_name: this.orgform.orgname,
// org_pid: this.curOrgData.unid,
// is_leaf: true,
// org_type: this.orgform.oreType,
// };
// if (data.org_type == "root") {
// data.org_pid = 0;
// data.org_type = "org";
// this.eiditroot = true;
// }
// if (this.curOrgData.unid == 0 || !this.curOrgData.unid) {
// this.$message({
// type: "warning",
// message: "请点击左侧选择父节点!",
// });
// return;
// }
// if (this.curOrgData.org_type != "address") {
// if (data.org_type == "address" && this.curOrgData.pid == 0) {
// this.$message({
// type: "warning",
// message: "根节点下不能添加地址!",
// });
// return;
// }
// this.$refs["orgform"].validate((valid) => {
// if (valid) {
// this.axios.post(this.API.org.getorg, data).then((response) => {
// if (this.orgform.oreType == "root") {
// //添加根节点
// this.getorgtree();
// }
// if (this.orgform.oreType == "address") {
// this.faceapi.getAddress();
// }
// if (this.orgform.oreType == "org") {
// this.faceapi.getOrg();
// }
// this.dialogVisible = false;
// var obj = {
// unid: response.data.unid,
// org_name: this.orgform.orgname,
// org_type: response.data.org_type,
// pid: response.data.org_pid,
// childs: [],
// };
// this.searchCurDate(this.treedata, obj);
// this.$message({
// type: "success",
// message: "添加成功",
// });
// });
// }
// });
// } else {
// if (this.curOrgData.org_type == "address") {
// this.$message({
// type: "warning",
// message: "地点下不能添加机构",
// });
// }
// }
// },
// deleteorg(row) {
// this.deleteorgData(this.treedata, row);
// },
// deleteorgData(alldata, deleteData) {
// for (var i = 0; i < alldata.length; i++) {
// if (alldata[i] == deleteData) {
// alldata.splice(i, 1);
// } else {
// if (alldata[i].childs)
// this.deleteorgData(alldata[i].childs, deleteData);
// }
// }
// },
loadNode
(
node
,
resolve
)
{
this
.
loading
=
true
;
if
(
node
.
level
===
0
)
{
this
.
axios
.
get
(
this
.
API
.
url
+
"/malls"
,
{
params
:
{
accountId
:
this
.
accountId
,
status
:
1
,
},
})
.
then
((
res
)
=>
{
return
resolve
(
res
.
data
.
data
);
});
}
var
store
=
[];
store
.
push
(
data
);
let
substore
;
while
(
store
.
length
>
0
)
{
substore
=
store
.
pop
();
if
(
substore
.
childs
&&
substore
.
childs
.
length
>
0
)
{
var
i
=
substore
.
childs
.
length
-
1
;
for
(
i
=
substore
.
childs
.
length
-
1
;
i
>=
0
;
i
--
)
{
if
(
substore
.
childs
[
i
].
org_type
==
"vchan"
)
{
substore
.
childs
.
splice
(
i
,
1
)
}
store
.
push
(
substore
.
childs
[
i
]);
}
}
if
(
node
.
level
===
1
)
{
this
.
axios
.
get
(
this
.
API
.
url
+
"/gates/filter"
,
{
params
:
{
mallId
:
node
.
data
.
id
,
accountId
:
this
.
accountId
,
status
:
1
,
},
})
.
then
((
res
)
=>
{
return
resolve
(
res
.
data
.
data
);
});
}
},
addorg
(){
this
.
dialogVisible
=
true
},
handleDelete
(
index
,
row
)
{
this
.
$confirm
(
'此操作将永久删除该文件, 是否继续?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
this
.
axios
.
delete
(
this
.
API
.
org
.
deleteorg
(
row
.
unid
)).
then
((
response
)
=>
{
this
.
$message
({
type
:
'success'
,
message
:
'删除成功!'
});
this
.
deleteorg
(
row
)
if
(
node
.
level
===
2
)
{
let
deviceArr
=
[];
this
.
axios
.
get
(
this
.
API
.
url
+
"/channels"
,
{
params
:
{
gateId
:
node
.
data
.
id
,
},
})
.
then
((
res
)
=>
{
this
.
tableData
=
[]
const
promises
=
res
.
data
.
data
.
map
((
item
)
=>
{
return
this
.
axios
.
get
(
this
.
API
.
url
+
"/devices/"
+
item
.
deviceId
);
});
}).
catch
(()
=>
{
this
.
$message
({
type
:
'info'
,
message
:
'已取消删除'
});
});
},
saveORg
()
{
// store.append({ id: 11, label: 'testtest', children: [] }, data);
var
data
=
{
org_name
:
this
.
orgform
.
orgname
,
org_pid
:
this
.
curOrgData
.
unid
,
is_leaf
:
true
,
org_type
:
this
.
orgform
.
oreType
};
if
(
data
.
org_type
==
"root"
)
{
data
.
org_pid
=
0
;
data
.
org_type
=
"org"
;
this
.
eiditroot
=
true
;
}
if
(
this
.
curOrgData
.
unid
==
0
||!
this
.
curOrgData
.
unid
)
{
this
.
$message
({
type
:
"warning"
,
message
:
"请点击左侧选择父节点!"
});
return
;
}
if
(
this
.
curOrgData
.
org_type
!=
"address"
)
{
if
(
data
.
org_type
==
"address"
&&
this
.
curOrgData
.
pid
==
0
)
{
this
.
$message
({
type
:
"warning"
,
message
:
"根节点下不能添加地址!"
});
return
;
}
this
.
$refs
[
"orgform"
].
validate
(
valid
=>
{
if
(
valid
)
{
this
.
axios
.
post
(
this
.
API
.
org
.
getorg
,
data
).
then
(
response
=>
{
if
(
this
.
orgform
.
oreType
==
"root"
)
{
//添加根节点
this
.
getorgtree
();
}
if
(
this
.
orgform
.
oreType
==
"address"
)
{
this
.
faceapi
.
getAddress
();
}
if
(
this
.
orgform
.
oreType
==
"org"
)
{
this
.
faceapi
.
getOrg
();
}
console
.
log
(
'aaa'
)
this
.
dialogVisible
=
false
;
var
obj
=
{
unid
:
response
.
data
.
unid
,
org_name
:
this
.
orgform
.
orgname
,
org_type
:
response
.
data
.
org_type
,
pid
:
response
.
data
.
org_pid
,
childs
:
[]
};
this
.
searchCurDate
(
this
.
treedata
,
obj
);
this
.
$message
({
type
:
"success"
,
message
:
"添加成功"
Promise
.
all
(
promises
).
then
((
res1
)
=>
{
res1
.
forEach
((
item
)
=>
{
item
.
data
.
data
.
leaf
=
true
;
deviceArr
.
push
(
item
.
data
.
data
);
});
this
.
tableData
=
deviceArr
;
return
resolve
(
deviceArr
);
});
}
});
}
else
{
if
(
this
.
curOrgData
.
org_type
==
"address"
)
{
this
.
$message
({
type
:
"warning"
,
message
:
"地点下不能添加机构"
});
}
}
},
deleteorg
(
row
)
{
this
.
deleteorgData
(
this
.
treedata
,
row
);
// this.getorgtree();
},
deleteorgData
(
alldata
,
deleteData
)
{
for
(
var
i
=
0
;
i
<
alldata
.
length
;
i
++
)
{
if
(
alldata
[
i
]
==
deleteData
)
{
alldata
.
splice
(
i
,
1
);
}
else
{
if
(
alldata
[
i
].
childs
)
this
.
deleteorgData
(
alldata
[
i
].
childs
,
deleteData
);
}
this
.
loading
=
false
;
if
(
node
.
level
>
2
)
{
return
resolve
([]);
}
console
.
log
(
alldata
)
},
loadNode
(
node
,
resolve
)
{
this
.
loading
=
true
;
if
(
node
.
level
===
0
)
{
this
.
axios
.
get
(
this
.
API
.
url
+
"/malls"
,{
params
:{
accountId
:
this
.
accountId
,
status
:
1
}
}).
then
((
res
)
=>
{
return
resolve
(
res
.
data
.
data
)
})
}
if
(
node
.
level
===
1
){
this
.
axios
.
get
(
this
.
API
.
url
+
"/gates/filter"
,{
params
:{
mallId
:
node
.
data
.
id
,
accountId
:
this
.
accountId
,
status
:
1
}
}).
then
((
res
)
=>
{
return
resolve
(
res
.
data
.
data
)
})
}
if
(
node
.
level
===
2
){
let
deviceArr
=
[];
this
.
axios
.
get
(
this
.
API
.
url
+
"/channels"
,{
params
:{
gateId
:
node
.
data
.
id
}
}).
then
((
res
)
=>
{
const
promises
=
res
.
data
.
data
.
map
((
item
)
=>
{
return
this
.
axios
.
get
(
this
.
API
.
url
+
"/devices/"
+
item
.
deviceId
)
})
Promise
.
all
(
promises
).
then
(
res
=>
{
res
.
forEach
(
item
=>
{
item
.
data
.
data
.
leaf
=
true
;
deviceArr
.
push
(
item
.
data
.
data
)
})
this
.
tableData
=
deviceArr
;
return
resolve
(
deviceArr
)
})
})
}
this
.
loading
=
false
;
if
(
node
.
level
>
2
){
return
resolve
([])
}
},
getorgtree
()
{
this
.
axios
.
get
(
this
.
API
.
org
.
getorgtree
).
then
(
res
=>
{
this
.
treedata
=
res
.
data
;
// if (res.data.length > 0) {
// res.data.forEach(e => {
// this.buildTree(e);
// });
// }
});
},
searchCurDate
(
alldata
,
childrenData
)
{
for
(
var
i
=
0
;
i
<
alldata
.
length
;
i
++
)
{
if
(
alldata
[
i
]
==
this
.
curOrgData
)
{
if
(
alldata
[
i
].
childs
)
{
console
.
log
(
'www'
)
alldata
[
i
].
childs
.
push
(
childrenData
);
// alldata[i].childs.$set(alldata[i].childs.length, childrenData)
console
.
log
(
alldata
[
i
].
childs
)
}
}
else
{
if
(
alldata
[
i
].
childs
)
this
.
searchCurDate
(
alldata
[
i
].
childs
,
childrenData
);
}
}
return
alldata
;
},
// getorgtree() {
// this.axios.get(this.API.org.getorgtree).then((res) => {
// this.treedata = res.data;
// });
// },
// searchCurDate(alldata, childrenData) {
// for (var i = 0; i < alldata.length; i++) {
// if (alldata[i] == this.curOrgData) {
// if (alldata[i].childs) {
// console.log("www");
// alldata[i].childs.push(childrenData);
// }
// } else {
// if (alldata[i].childs)
// this.searchCurDate(alldata[i].childs, childrenData);
// }
// }
// return alldata;
// },
},
created
()
{
this
.
getorgtree
();
}
};
</
script
>
<
style
lang=
"stylus"
>
...
...
web/src/views/Home/show/index.vue
View file @
10848df
...
...
@@ -246,11 +246,11 @@ export default {
map
.
addOverlay
(
overlay
);
});
});
popupCloser
.
addEventListener
(
'click'
,
function
(){
overlay
.
setPosition
(
undefined
);
return
//
popupCloser.addEventListener('click',function(){
//
overlay.setPosition(undefined);
//
return
});
//
});
},
...
...
@@ -322,7 +322,7 @@ export default {
source
:
iconFeature
,
id
:
1
});
map
.
addLayer
(
this
.
CameraVertorlayer
);
map
.
addLayer
(
CameraVertorlayer
);
},
},
...
...
@@ -336,11 +336,11 @@ export default {
mounted
(){
this
.
InitMap
();
let
_this
=
this
;
setTimeout
(()
=>
{
// 添加一个使用离线瓦片地图的层
//
setTimeout(() => {
//
// 添加一个使用离线瓦片地图的层
map
.
addLayer
(
CameraVertorlayer
);
},
200
);
//
map.addLayer(CameraVertorlayer);
//
}, 200);
}
}
</
script
>
...
...
web/src/views/Login/login.vue
View file @
10848df
...
...
@@ -67,6 +67,7 @@ export default {
sessionStorage
.
removeItem
(
"threemenu"
);
sessionStorage
.
removeItem
(
"menu"
);
localStorage
.
setItem
(
"accountId"
,
response
.
data
.
data
.
user
.
accountId
);
// localStorage.setItem("accountId", 2);
// this.axios.get(this.API.auth.accountid,{
// params:{
// id:response.
...
...
web/src/views/Search/FilmedRecords.vue
View file @
10848df
...
...
@@ -2,8 +2,8 @@
<
template
>
<div
class=
"template-box content_div_main"
>
<el-form
:inline=
"true"
class=
"search-form"
size=
"small"
>
<el-form-item
label=
"
社区
选择:"
>
<el-select
v-model=
"search.communityunid"
placeholder=
"请选择"
>
<el-form-item
label=
"
地点
选择:"
>
<el-select
v-model=
"search.communityunid"
placeholder=
"请选择"
@
change=
"initGateData"
>
<el-option
v-for=
"item in addrData"
:key=
"item.unid"
:value=
"item.id"
:label=
"item.name"
...
...
web/src/views/Search/facedb/faceTable.vue
View file @
10848df
...
...
@@ -154,7 +154,7 @@
accountId
:
this
.
accountId
,
gender
:
Vthis
.
facesex
,
name_like
:
`%
${
Vthis
.
facename
}
%`
,
card_id__like
:
Vthis
.
facecardid
,
idCard_like
:
Vthis
.
facecardid
===
''
?
null
:
Vthis
.
facecardid
,
type
:
Vthis
.
dbname
,
resident_unids
:
this
.
communityunid
,
}
...
...
web/src/views/System/SysExaminee/index.vue
View file @
10848df
...
...
@@ -24,7 +24,7 @@
</el-form-item>
<el-form-item>
<el-button
class=
"search-btn"
@
click=
"searchUser"
icon=
"el-icon-download"
:disabled=
"buttonDisable()"
>
获取考生列表
</el-button>
:disabled=
"buttonDisable()"
v-loading=
"btnLoading"
>
获取考生列表
</el-button>
<el-button
class=
"search-btn ml10"
@
click=
"getAllUserList"
:disabled=
"buttonDisable()"
>
获取考生照片
</el-button>
</el-form-item>
...
...
@@ -39,17 +39,13 @@
<el-input
type=
"text"
class=
"bla bra br0"
v-model=
"idCard"
placeholder=
""
></el-input>
</el-form-item>
<el-form-item>
<el-button
class=
"search-btn"
@
click=
"getUserList"
:disabled=
"examinationId === '' || typeId === ''"
>
查询
</el-button>
<el-button
class=
"search-btn"
@
click=
"getUserList
(true)
"
:disabled=
"examinationId === '' || typeId === ''"
v-loading=
"loading"
>
查询
</el-button>
</el-form-item>
</el-form>
</el-row>
<el-row>
<el-table
:data=
"systableData"
:v-loading=
"pictLoading"
element-loading-background =
"rgba(0, 0, 0, 0.5)"
element-loading-text =
"数据正在加载中"
element-loading-spinner =
"el-icon-loading"
<el-table
:data=
"systableData"
v-loading=
"loading"
style=
"width:98%;margin:20px auto;"
class=
"table_m_type"
height=
"700"
>
<div
slot=
"empty"
>
<div
class=
"no-data-box"
>
...
...
@@ -57,8 +53,12 @@
<div>
暂无数据
</div>
</div>
</div>
<el-table-column
type=
"index"
width=
""
></el-table-column>
<!--
<el-table-column
prop=
"tabOrder"
label=
"序号"
width=
""
></el-table-column>
-->
<!--
<el-table-column
type=
"index"
width=
""
></el-table-column>
-->
<el-table-column
label=
"序号"
width=
""
>
<template
slot-scope=
"scope"
>
<div>
{{
scope
.
row
.
tabOrder
+
(
currentPage
-
1
)
*
10
}}
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"idCard"
label=
"身份证号"
width=
""
></el-table-column>
<el-table-column
label=
"照片"
align=
"center"
>
<
template
slot-scope=
"scope"
>
...
...
@@ -133,7 +133,8 @@ export default {
total
:
0
,
currentPage
:
1
,
limit
:
20
,
pictLoading
:
false
,
loading
:
false
,
btnLoading
:
false
,
accountId
:
localStorage
.
getItem
(
"accountId"
),
allUserList
:
[],
picUrls
,
...
...
@@ -143,22 +144,24 @@ export default {
},
methods
:
{
searchUser
()
{
this
.
btnLoading
=
true
this
.
axios
.
get
(
this
.
API
.
url
+
`/persons/socialSecurity/getStudentInfo`
,
{
params
:
{
mallId
:
this
.
examinationId
,
personType
:
this
.
typeId
}
}).
then
(
response
=>
{
this
.
btnLoading
=
false
if
(
response
.
data
.
code
===
200
)
{
this
.
successCount
=
response
.
data
.
data
.
successCount
this
.
userDataSuccess
()
this
.
getUserList
()
this
.
getUserList
(
false
)
}
});
},
handleCurrentChange
(
val
){
this
.
currentPage
=
val
;
this
.
getUserList
();
this
.
getUserList
(
true
);
},
// 获取所有用户
async
getAllUserList
()
{
...
...
@@ -196,7 +199,7 @@ export default {
return
;
}
if
(
nowNumber
===
this
.
allUserList
.
length
-
1
)
{
this
.
getUserList
()
this
.
getUserList
(
false
)
}
if
(
nowNumber
<
this
.
allUserList
.
length
)
{
await
this
.
setUserPhoto
(()
=>
{
...
...
@@ -216,7 +219,11 @@ export default {
}
},
// 获取担任考生照片
getUserList
()
{
getUserList
(
type
)
{
this
.
systableData
=
[]
if
(
type
)
{
this
.
loading
=
true
}
this
.
axios
.
get
(
this
.
API
.
url
+
`/persons`
,
{
params
:
{
mallId
:
this
.
examinationId
,
...
...
@@ -226,10 +233,13 @@ export default {
pageSize
:
this
.
limit
,
}
}).
then
(
response
=>
{
if
(
type
)
{
this
.
loading
=
false
}
if
(
response
.
data
&&
response
.
data
.
data
&&
response
.
data
.
data
.
list
)
{
//
response.data.data.list.forEach((item, index) => {
//
item.tabOrder = ++index;
//
});
response
.
data
.
data
.
list
.
forEach
((
item
,
index
)
=>
{
item
.
tabOrder
=
++
index
;
});
this
.
systableData
=
response
.
data
.
data
.
list
this
.
total
=
response
.
data
.
data
.
total
||
0
}
else
{
...
...
@@ -262,6 +272,10 @@ export default {
try
{
const
data
=
await
this
.
axios
.
get
(
this
.
API
.
url
+
`/persons/socialSecurity/getPictures/
${
row
.
id
}
`
)
if
(
data
&&
data
.
data
&&
data
.
data
.
data
)
{
this
.
$message
({
type
:
"info"
,
message
:
"获取照片成功"
});
systableData
[
index
].
personPic
=
data
.
data
.
data
.
personPic
}
}
catch
(
err
)
{
...
...
@@ -289,6 +303,7 @@ export default {
});
},
changeExamination
()
{
this
.
typeId
=
''
if
(
this
.
examinationId
!==
''
)
{
this
.
getTypes
()
}
...
...
web/src/views/System/SysExaminee/proofreading.vue
View file @
10848df
<
template
>
<div
class=
"template-box content_div_main"
>
<div
class=
"template-box content_div_main"
v-loading=
"pageLoading"
>
<el-row
class=
""
>
<el-form
:inline=
"true"
class=
"search-form"
size=
"small"
>
<el-form-item
label=
"考点名称:"
label-width=
"82px"
>
...
...
@@ -36,21 +36,26 @@
<el-input
type=
"text"
class=
"bla bra br0"
v-model=
"idCard"
placeholder=
""
style=
"width: 192px"
></el-input>
</el-form-item>
<el-form-item>
<el-button
class=
"search-btn"
@
click=
"getUserList"
:disabled=
"examinationId === '' || typeId === ''"
>
查询
</el-button>
<el-button
class=
"search-btn"
@
click=
"getUserList"
:disabled=
"examinationId === '' || typeId === ''"
v-loading=
"loading"
>
查询
</el-button>
<el-button
class=
"search-btn ml10"
@
click=
"upLoadData"
:disabled=
"examinationId === '' || typeId === ''"
>
上传校对结果
</el-button>
</el-form-item>
</el-form>
</el-row>
<el-row>
<el-table
:data=
"systableData"
style=
"width:98%;margin:20px auto;"
class=
"table_m_type"
height=
"700"
>
<el-table
:data=
"systableData"
style=
"width:98%;margin:20px auto;"
class=
"table_m_type"
height=
"700"
v-loading=
"loading"
>
<div
slot=
"empty"
>
<div
class=
"no-data-box"
>
<img
src=
"../../../assets/img/nodata.png"
alt=
"暂无数据"
/>
<div>
暂无数据
</div>
</div>
</div>
<el-table-column
type=
"index"
width=
""
label=
"序号"
></el-table-column>
<!--
<el-table-column
prop=
""
label=
"序号"
width=
""
></el-table-column>
-->
<!--
<el-table-column
type=
"index"
width=
""
label=
"序号"
></el-table-column>
-->
<el-table-column
prop=
"tabOrder"
label=
"序号"
width=
""
>
<template
slot-scope=
"scope"
>
<div>
{{
scope
.
row
.
tabOrder
+
(
currentPage
-
1
)
*
10
}}
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"idCard"
label=
"身份证号"
width=
""
></el-table-column>
<el-table-column
prop=
""
label=
"校对结果"
width=
""
>
<
template
slot-scope=
"scope"
>
...
...
@@ -145,21 +150,26 @@ export default {
],
picUrls
,
defaultImg
,
loading
:
false
,
pageLoading
:
false
,
}
},
methods
:
{
async
upLoadData
()
{
try
{
this
.
pageLoading
=
true
const
response
=
await
this
.
axios
.
get
(
this
.
API
.
url
+
`/persons/socialSecurity/sendComparisonResults`
,
{
params
:
{
mallId
:
this
.
examinationId
,
personType
:
this
.
typeId
}
});
this
.
pageLoading
=
false
this
.
$alert
(
response
.
data
.
msg
,
''
,
{
confirmButtonText
:
'确定'
});
}
catch
(
err
)
{
this
.
pageLoading
=
false
this
.
$message
.
error
(
"上传校队失败"
);
}
},
...
...
@@ -187,6 +197,8 @@ export default {
// 获取所有用户
getUserList
()
{
const
{
proofrendResut
}
=
this
this
.
loading
=
true
this
.
systableData
=
[]
let
data
=
{}
if
(
proofrendResut
===
'全部'
)
{
data
=
{
...
...
@@ -210,10 +222,11 @@ export default {
...
data
}
}).
then
(
response
=>
{
this
.
loading
=
false
if
(
response
.
data
&&
response
.
data
.
data
&&
response
.
data
.
data
.
list
)
{
//
response.data.data.list.forEach((item, index) => {
//
item.tabOrder = ++index;
//
});
response
.
data
.
data
.
list
.
forEach
((
item
,
index
)
=>
{
item
.
tabOrder
=
++
index
;
});
this
.
systableData
=
response
.
data
.
data
.
list
this
.
total
=
response
.
data
.
data
.
total
||
0
}
else
{
...
...
@@ -236,6 +249,7 @@ export default {
});
},
changeExamination
()
{
this
.
typeId
=
''
if
(
this
.
examinationId
!==
''
)
{
this
.
getTypes
()
}
...
...
web/src/views/report/show.vue
View file @
10848df
...
...
@@ -72,12 +72,14 @@ export default {
chartIds
:
'1,2,3,4,5,6,8,16,17'
}
}).
then
((
res
)
=>
{
this
.
datas
=
res
.
data
.
data
;
if
(
res
&&
res
.
data
&&
res
.
data
.
data
)
{
this
.
datas
=
res
.
data
.
data
;
this
.
chartData1
=
this
.
datas
.
body
.
CustomerCounting
;
this
.
chartData1
.
otherConf
=
{
_color
:[
"#0069FF"
,
"#4BBEFF"
,
"#87D14B"
,
"#FFC62E"
,
"#FF9631"
]
}
this
.
radioChange
(
this
.
datas
);
}
})
},
radioChange
(
res
){
...
...
web/static/config.js
View file @
10848df
...
...
@@ -6,4 +6,5 @@ window.SECURITY_CONF = {
// urls: 'http://192.168.9.146:17070',
picUrls
:
'https://vion-retail.oss-cn-beijing.aliyuncs.com/'
,
mapUrls
:
'http://19610hs911.iask.in/static/pics/qingdaoMap/roadmap'
// mapUrls: 'http://192.168.9.162:20080/static/pics/cache/qingdao/roadmap'
}
\ No newline at end of file
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment