Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
JINRUN-PERPOSITION
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xinzhedeai
JINRUN-PERPOSITION
Commits
cbed1d6f
Commit
cbed1d6f
authored
Nov 27, 2025
by
xinzhedeai
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add:综合管控平台 接口对接
parent
ee2ab82b
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
233 additions
and
6 deletions
+233
-6
.env.development
.env.development
+2
-2
yuangong.js
src/api/jinrun/yuangong.js
+1
-1
zhongkong.js
src/api/jinrun/zhongkong.js
+37
-0
request-zk.js
src/utils/request-zk.js
+152
-0
yuangong.vue
src/views/person/yuangong.vue
+38
-3
vue.config.js
vue.config.js
+3
-0
No files found.
.env.development
View file @
cbed1d6f
...
...
@@ -5,8 +5,8 @@ VUE_APP_TITLE = 高区应急管理平台
ENV = 'development'
# 若依管理系统/开发环境
#
VUE_APP_BASE_API = '/dev-api'
VUE_APP_BASE_API = ''
VUE_APP_BASE_API = '/dev-api'
#
VUE_APP_BASE_API = ''
# VUE_APP_BASE_API = 'http://192.168.2.16:8080'
...
...
src/api/jinrun/yuangong.js
View file @
cbed1d6f
...
...
@@ -3,7 +3,7 @@ import request from '@/utils/request'
// 查询人员信息列表
export
function
listInfo
(
query
)
{
return
request
({
url
:
'
/person/info/get
RemotePersonInfo
List
'
,
url
:
'
/person/info/get
Person
List
'
,
method
:
'
get
'
,
params
:
query
})
...
...
src/api/jinrun/zhongkong.js
0 → 100644
View file @
cbed1d6f
import
request
from
'
@/utils/request-zk
'
// 查询部门列表
export
function
getDept
(
data
)
{
return
request
({
url
:
'
/dep/list
'
,
method
:
'
get
'
,
params
:
data
})
}
// 新增人员信息
export
function
getPosition
(
data
)
{
return
request
({
url
:
'
/pos/list
'
,
method
:
'
post
'
,
data
:
data
})
}
// 修改人员信息
export
function
updateInfo
(
data
)
{
return
request
({
url
:
'
/person/info/updateRemotePersonInfo
'
,
method
:
'
put
'
,
data
:
data
})
}
// 删除人员信息
export
function
delInfo
(
data
)
{
return
request
({
url
:
'
/person/info/deleteRemoteVisitorInfo
'
,
method
:
'
delete
'
,
data
:
data
})
}
src/utils/request-zk.js
0 → 100644
View file @
cbed1d6f
import
axios
from
'
axios
'
import
{
Notification
,
MessageBox
,
Message
,
Loading
}
from
'
element-ui
'
import
store
from
'
@/store
'
import
{
getToken
}
from
'
@/utils/auth
'
import
errorCode
from
'
@/utils/errorCode
'
import
{
tansParams
,
blobValidate
}
from
"
@/utils/ruoyi
"
;
import
cache
from
'
@/plugins/cache
'
import
{
saveAs
}
from
'
file-saver
'
let
downloadLoadingInstance
;
// 是否显示重新登录
export
let
isRelogin
=
{
show
:
false
};
axios
.
defaults
.
headers
[
'
Content-Type
'
]
=
'
application/json;charset=utf-8
'
// 创建axios实例
const
service
=
axios
.
create
({
// axios中请求配置有baseURL选项,表示请求URL公共部分
baseURL
:
'
/api
'
,
// 超时
timeout
:
60000
})
// request拦截器
service
.
interceptors
.
request
.
use
(
config
=>
{
// 是否需要设置 token
const
isToken
=
(
config
.
headers
||
{}).
isToken
===
false
// 是否需要防止数据重复提交
const
isRepeatSubmit
=
(
config
.
headers
||
{}).
repeatSubmit
===
false
if
(
getToken
()
&&
!
isToken
)
{
config
.
headers
[
'
Authorization
'
]
=
'
Bearer
'
+
getToken
()
// 让每个请求携带自定义token 请根据实际情况自行修改
}
// get请求映射params参数
if
(
config
.
method
===
'
get
'
&&
config
.
params
)
{
let
url
=
config
.
url
+
'
?
'
+
tansParams
(
config
.
params
);
url
=
url
.
slice
(
0
,
-
1
);
config
.
params
=
{};
config
.
url
=
url
;
}
if
(
!
isRepeatSubmit
&&
(
config
.
method
===
'
post
'
||
config
.
method
===
'
put
'
))
{
const
requestObj
=
{
url
:
config
.
url
,
data
:
typeof
config
.
data
===
'
object
'
?
JSON
.
stringify
(
config
.
data
)
:
config
.
data
,
time
:
new
Date
().
getTime
()
}
const
requestSize
=
Object
.
keys
(
JSON
.
stringify
(
requestObj
)).
length
;
// 请求数据大小
const
limitSize
=
5
*
1024
*
1024
;
// 限制存放数据5M
if
(
requestSize
>=
limitSize
)
{
console
.
warn
(
`[
${
config
.
url
}
]: `
+
'
请求数据大小超出允许的5M限制,无法进行防重复提交验证。
'
)
return
config
;
}
const
sessionObj
=
cache
.
session
.
getJSON
(
'
sessionObj
'
)
if
(
sessionObj
===
undefined
||
sessionObj
===
null
||
sessionObj
===
''
)
{
cache
.
session
.
setJSON
(
'
sessionObj
'
,
requestObj
)
}
else
{
const
s_url
=
sessionObj
.
url
;
// 请求地址
const
s_data
=
sessionObj
.
data
;
// 请求数据
const
s_time
=
sessionObj
.
time
;
// 请求时间
const
interval
=
1000
;
// 间隔时间(ms),小于此时间视为重复提交
if
(
s_data
===
requestObj
.
data
&&
requestObj
.
time
-
s_time
<
interval
&&
s_url
===
requestObj
.
url
)
{
const
message
=
'
数据正在处理,请勿重复提交
'
;
console
.
warn
(
`[
${
s_url
}
]: `
+
message
)
return
Promise
.
reject
(
new
Error
(
message
))
}
else
{
cache
.
session
.
setJSON
(
'
sessionObj
'
,
requestObj
)
}
}
}
return
config
},
error
=>
{
console
.
log
(
error
)
Promise
.
reject
(
error
)
})
// 响应拦截器
service
.
interceptors
.
response
.
use
(
res
=>
{
// 未设置状态码则默认成功状态
const
code
=
res
.
data
.
code
||
200
;
// 获取错误信息
const
msg
=
errorCode
[
code
]
||
res
.
data
.
msg
||
errorCode
[
'
default
'
]
// 二进制数据则直接返回
if
(
res
.
request
.
responseType
===
'
blob
'
||
res
.
request
.
responseType
===
'
arraybuffer
'
)
{
return
res
.
data
}
if
(
code
===
401
)
{
if
(
!
isRelogin
.
show
)
{
isRelogin
.
show
=
true
;
MessageBox
.
confirm
(
'
登录状态已过期,您可以继续留在该页面,或者重新登录
'
,
'
系统提示
'
,
{
confirmButtonText
:
'
重新登录
'
,
cancelButtonText
:
'
取消
'
,
type
:
'
warning
'
}).
then
(()
=>
{
isRelogin
.
show
=
false
;
store
.
dispatch
(
'
LogOut
'
).
then
(()
=>
{
location
.
href
=
'
/index
'
;
})
}).
catch
(()
=>
{
isRelogin
.
show
=
false
;
});
}
return
Promise
.
reject
(
'
无效的会话,或者会话已过期,请重新登录。
'
)
}
else
if
(
code
===
500
)
{
Message
({
message
:
msg
,
type
:
'
error
'
})
return
Promise
.
reject
(
new
Error
(
msg
))
}
else
if
(
code
===
601
)
{
Message
({
message
:
msg
,
type
:
'
warning
'
})
return
Promise
.
reject
(
'
error
'
)
}
else
if
(
code
!==
200
)
{
Notification
.
error
({
title
:
msg
})
return
Promise
.
reject
(
'
error
'
)
}
else
{
return
res
.
data
}
},
error
=>
{
console
.
log
(
'
err
'
+
error
)
let
{
message
}
=
error
;
if
(
message
==
"
Network Error
"
)
{
message
=
"
后端接口连接异常
"
;
}
else
if
(
message
.
includes
(
"
timeout
"
))
{
message
=
"
系统接口请求超时
"
;
}
else
if
(
message
.
includes
(
"
Request failed with status code
"
))
{
message
=
"
系统接口
"
+
message
.
substr
(
message
.
length
-
3
)
+
"
异常
"
;
}
Message
({
message
:
message
,
type
:
'
error
'
,
duration
:
5
*
1000
})
return
Promise
.
reject
(
error
)
}
)
// 通用下载方法
export
function
download
(
url
,
params
,
filename
,
config
)
{
downloadLoadingInstance
=
Loading
.
service
({
text
:
"
正在下载数据,请稍候
"
,
spinner
:
"
el-icon-loading
"
,
background
:
"
rgba(0, 0, 0, 0.7)
"
,
})
return
service
.
post
(
url
,
params
,
{
transformRequest
:
[(
params
)
=>
{
return
tansParams
(
params
)
}],
headers
:
{
'
Content-Type
'
:
'
application/x-www-form-urlencoded
'
},
responseType
:
'
blob
'
,
...
config
}).
then
(
async
(
data
)
=>
{
const
isBlob
=
blobValidate
(
data
);
if
(
isBlob
)
{
const
blob
=
new
Blob
([
data
])
saveAs
(
blob
,
filename
)
}
else
{
const
resText
=
await
data
.
text
();
const
rspObj
=
JSON
.
parse
(
resText
);
const
errMsg
=
errorCode
[
rspObj
.
code
]
||
rspObj
.
msg
||
errorCode
[
'
default
'
]
Message
.
error
(
errMsg
);
}
downloadLoadingInstance
.
close
();
}).
catch
((
r
)
=>
{
console
.
error
(
r
)
Message
.
error
(
'
下载文件出现错误,请联系管理员!
'
)
downloadLoadingInstance
.
close
();
})
}
export
default
service
src/views/person/yuangong.vue
View file @
cbed1d6f
...
...
@@ -300,6 +300,7 @@ import {
getCardList
,
// 引入获取定位卡号列表的接口
}
from
"
@/api/jinrun/yuangong
"
;
import
{
getDict
}
from
"
@/api/jinrun/common
"
;
import
{
getDept
,
getPosition
}
from
"
@/api/jinrun/zhongkong
"
;
export
default
{
name
:
"
Info
"
,
...
...
@@ -322,7 +323,7 @@ export default {
personId
:
null
,
realName
:
null
,
cardId
:
null
,
personType
:
"
staff
"
,
personType
:
"
1
"
,
// 1员工 2访客
},
// 绑定卡表单校验
bindRules
:
{
...
...
@@ -333,6 +334,10 @@ export default {
dialogType
:
""
,
// 人员类型下拉列表数据
personTypeOptions
:
[],
// 岗位列表
positionOptions
:
[],
// 部门列表
deptOptions
:
[],
// 遮罩层
loading
:
true
,
// 选中数组
...
...
@@ -355,14 +360,14 @@ export default {
queryParams
:
{
pageNum
:
1
,
pageSize
:
10
,
personType
:
"
staff
"
,
personType
:
"
1
"
,
realName
:
null
,
cardId
:
null
,
jobNumber
:
null
,
},
// 表单参数
form
:
{
personType
:
"
staff
"
,
personType
:
"
1
"
,
sex
:
"
男
"
,
// 默认选择男
},
// 表单校验
...
...
@@ -379,11 +384,41 @@ export default {
created
()
{
this
.
getList
();
this
.
getPersonTypeOptions
();
// 获取部门列表
this
.
getDeptList
();
// 获取岗位列表
this
.
getPositionList
();
// 获取定位卡号列表
this
.
getCardIdList
();
},
methods
:
{
/** 获取岗位列表 */
getPositionList
()
{
getPosition
({
pageNum
:
1
,
pageSize
:
1000
,
}).
then
((
response
)
=>
{
console
.
log
(
response
.
data
);
this
.
positionOptions
=
response
.
data
.
map
((
item
)
=>
({
label
:
item
.
posName
,
value
:
item
.
posId
,
}));
});
},
/** 获取部门列表 */
getDeptList
()
{
getDept
({
pageNum
:
1
,
pageSize
:
1000
,
}).
then
((
response
)
=>
{
this
.
deptOptions
=
response
.
data
.
map
((
item
)
=>
({
label
:
item
.
deptName
,
value
:
item
.
deptId
,
}));
});
},
/** 解绑卡按钮操作 */
handleUnbindCard
(
row
)
{
this
.
$modal
...
...
vue.config.js
View file @
cbed1d6f
...
...
@@ -51,6 +51,9 @@ module.exports = {
'
/api
'
:
{
target
:
`http://192.168.2.53:8080`
,
// 中控平台
changeOrigin
:
true
,
pathRewrite
:
{
"
^/api
"
:
""
,
}
},
},
disableHostCheck
:
true
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment