Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
GaoQuYingJiH5-ASD
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
GaoQuYingJiH5-ASD
Commits
9be7af28
Commit
9be7af28
authored
Apr 03, 2025
by
lei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add:安全检查list接口、首页安全信息接口联调
parent
f1d55a71
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
662 additions
and
518 deletions
+662
-518
index.html
index.html
+158
-130
index.js
index.js
+256
-143
axios_http.js
sdk/axios_http.js
+86
-84
includeHead.js
sdk/includeHead.js
+2
-0
_checkrecord.html
src/_checkrecord.html
+16
-16
_checkrecord.js
src/_checkrecord.js
+79
-83
_yh-check.js
src/_yh-check.js
+65
-62
No files found.
index.html
View file @
9be7af28
<!DOCTYPE html>
<!DOCTYPE html>
<html
lang=
"en"
>
<html
lang=
"en"
>
<head>
<meta
charset=
"UTF-8"
/>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0"
/>
<title>
商户检查页面
</title>
<meta
charset=
"UTF-8"
/>
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge"
/>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0, viewprot-fit:cover"
/>
<title>
高区安全“码”上查监管平台-首页
</title>
<link
rel=
"stylesheet"
href=
"index.css"
/>
<script
type=
"text/javascript"
src=
"./sdk/includeHead.js"
></script>
</head>
<head>
<body>
<meta
charset=
"UTF-8"
>
<!-- 获取授权用户信息 本地token等操作 -->
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0"
>
<!-- <script type="text/javascript" src="sdk/jssdk2/index.js"></script> -->
<title>
商户检查页面
</title>
<div
<meta
charset=
"UTF-8"
>
id=
"app"
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge"
>
class=
"page_wrapper"
<meta
name=
"viewport"
>
content=
"width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0, viewprot-fit:cover"
>
<!-- 第二层:商户图标、名称、等级、场所类型和地址 -->
<title>
高区安全“码”上查监管平台-首页
</title>
<div
<link
rel=
"stylesheet"
href=
"index.css"
/>
class=
"second-layer second-layer-zf"
<script
type=
"text/javascript"
src=
"./sdk/includeHead.js"
></script>
v-if=
"userInfo.userType!=='sj'"
>
<img
class=
"merchant-icon"
src=
"image/code/zhengfu_logo.png"
alt=
""
/>
<div
class=
"merchant-info welcome"
>
<p>
欢迎您,{{userInfo.deptName}}
<br
/>
进入安全“码”上查
</p>
<div
class=
"user_tag"
>
<img
src=
"image/code/user.png"
alt=
""
/>
<span>
{{userInfo.roleName}}
</span>
</div>
</div>
</div>
</head>
<!-- 第二层:商户图标、名称、等级、场所类型和地址 -->
<div
class=
"second-layer-sj"
v-if=
"userInfo.userType=='sj'"
>
<div
class=
"header"
>
<span>
商家信息
</span>
<div
class=
"user_tag"
>
<img
src=
"image/code/user.png"
alt=
""
/>
<span>
商家
</span>
</div>
</div>
<div
class=
"bottom"
>
<div
class=
"left"
>
<img
class=
"merchant-icon"
src=
"image/code/sj.png"
alt=
"商户图标"
/>
</div>
<div
class=
"right"
>
<div
class=
"merchant-info"
>
<div
class=
"name-rank"
>
<span
class=
"merchant-name"
>
{{userInfo.unitName}}
</span>
<span
class=
"user-rank"
>
安全等级:绿
</span>
</div>
<div
class=
"divider"
></div>
<div
class=
"type-address"
>
<p>
场所类型:{{userInfo.smallPlaceTypeName}}
</p>
<p>
{{userInfo.businessAddress}}
</p>
</div>
</div>
</div>
</div>
</div>
<!-- 第三层:统计信息 -->
<div
class=
"third-layer"
>
<div
class=
"stats-header"
>
<div
class=
"stats-title"
>
数据统计
</div>
<!-- <van-cell-group> -->
<div
@
click=
"showPopup('showPopup4completionDate')"
style=
"position: absolute; top: -0.08rem; right: 0.4rem"
>
<span
class=
"formValue"
>
{{showDate|formatterData}}
</span
><van-icon
name=
"arrow-down"
/>
</div>
<van-popup
v-model=
"showPopup4completionDate"
position=
"bottom"
>
<van-datetime-picker
v-model=
"selectedDate"
:min-date=
"minDate"
type=
"year-month"
title=
"选择年月"
@
confirm=
"confirm4completionDate"
@
cancel=
"showPopup4completionDate=false"
:formatter=
"needData"
/>
</van-popup>
<!-- </van-cell-group> -->
</div>
<div
class=
"stats-content"
>
<div
class=
"stat-item"
>
<div
class=
"stat-value"
>
{{userData.checkCount}}次
</div>
<div
class=
"stat-label"
>
检查数
</div>
</div>
<div
class=
"stat-item"
>
<div
class=
"stat-value"
>
{{userData.checkSelfCount}}次
</div>
<div
class=
"stat-label"
>
自查数
</div>
</div>
<div
class=
"stat-item"
>
<div
class=
"stat-value"
>
{{userData.hiddenCount}}处
</div>
<div
class=
"stat-label"
>
隐患数
</div>
</div>
<div
class=
"stat-item"
>
<div
class=
"stat-value"
>
{{userData.hiddenNoReCount}}处
</div>
<div
class=
"stat-label"
>
未整改
</div>
</div>
</div>
</div>
<body>
<!-- 第四层:检查专区 -->
<!-- 获取授权用户信息 本地token等操作 -->
<div
class=
"fourth-layer"
>
<!-- <script type="text/javascript" src="sdk/jssdk2/index.js"></script> -->
<h2>
检查专区
</h2>
<div
id=
"app"
class=
"page_wrapper"
>
<div
class=
"check-modules"
>
<!-- 第二层:商户图标、名称、等级、场所类型和地址 -->
<div
<div
class=
"second-layer second-layer-zf"
v-if=
"userInfo.userType!=='sj'"
>
class=
"check-module"
<img
class=
"merchant-icon"
src=
"image/code/zhengfu_logo.png"
alt=
""
>
v-for=
"(item,index) in menuList"
<div
class=
"merchant-info welcome"
>
:key=
"index"
<p>
欢迎您,
<br>
进入安全“码”上查
</p>
:class=
"item.className"
<div
class=
"user_tag"
>
@
click=
"scanCode(item.navTo)"
<img
src=
"image/code/user.png"
alt=
""
>
>
<span>
日常检查
</span>
<p>
{{item.title}}
<van-icon
name=
"arrow"
/></p>
</div>
<p
class=
"module-intro"
>
{{item.remark}}
</p>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- 第二层:商户图标、名称、等级、场所类型和地址 -->
</body>
<div
class=
"second-layer-sj"
v-if=
"userInfo.userType=='sj'"
>
</html>
<div
class=
"header"
>
<span>
商家信息
</span>
<div
class=
"user_tag"
>
<img
src=
"image/code/user.png"
alt=
""
>
<span>
商家
</span>
</div>
</div>
<div
class=
"bottom"
>
<div
class=
"left"
>
<img
class=
"merchant-icon"
src=
"image/code/sj.png"
alt=
"商户图标"
>
</div>
<div
class=
"right"
>
<div
class=
"merchant-info"
>
<div
class=
"name-rank"
>
<span
class=
"merchant-name"
>
威海市宝威酒店有限公司
</span>
<span
class=
"user-rank"
>
安全等级:绿
</span>
</div>
<div
class=
"divider"
></div>
<div
class=
"type-address"
>
<p>
场所类型:小餐饮
</p>
<p>
山东省威海市环翠区恒瑞街35-6
</p>
</div>
</div>
</div>
</div>
</div>
<!-- 第三层:统计信息 -->
<div
class=
"third-layer"
>
<div
class=
"stats-header"
>
<div
class=
"stats-title"
>
数据统计
</div>
<!-- <van-cell-group> -->
<div
@
click=
"showPopup('showPopup4completionDate')"
style=
"position: absolute;
top: -.08rem;
right: .4rem;"
><span
class=
"formValue"
>
{{formattedDate}}
</span><van-icon
name=
"arrow-down"
/></div>
<van-popup
v-model=
"showPopup4completionDate"
position=
"bottom"
>
<van-datetime-picker
v-model=
"selectedDate"
:min-date=
"minDate"
type=
"year-month"
title=
"选择年月"
@
confirm=
"confirm4completionDate"
@
cancel=
"showPopup4completionDate=false"
/>
</van-popup>
<!-- </van-cell-group> -->
</div>
<div
class=
"stats-content"
>
<div
class=
"stat-item"
>
<div
class=
"stat-value"
>
75次
</div>
<div
class=
"stat-label"
>
检查数
</div>
</div>
<div
class=
"stat-item"
>
<div
class=
"stat-value"
>
50次
</div>
<div
class=
"stat-label"
>
自查数
</div>
</div>
<div
class=
"stat-item"
>
<div
class=
"stat-value"
>
10处
</div>
<div
class=
"stat-label"
>
隐患数
</div>
</div>
<div
class=
"stat-item"
>
<div
class=
"stat-value"
>
5处
</div>
<div
class=
"stat-label"
>
未整改
</div>
</div>
</div>
</div>
<!-- 第四层:检查专区 -->
<div
class=
"fourth-layer"
>
<h2>
检查专区
</h2>
<div
class=
"check-modules"
>
<div
class=
"check-module saoma"
v-if=
"menuShowYN('saoma')"
@
click=
"scanCode"
>
<p>
扫码检查
<van-icon
name=
"arrow"
/></p>
<p
class=
"module-intro"
>
扫码进行企业安全检查
</p>
</div>
<div
class=
"check-module jiancha"
v-if=
"menuShowYN('jianchajilu')"
@
click=
"navTo('checkrecord')"
>
<p>
检查记录
<van-icon
name=
"arrow"
/></p>
<p
class=
"module-intro"
>
查看商家检查自查记录
</p>
</div>
<div
class=
"check-module yinhuan"
v-if=
"menuShowYN('yinhuanshenhe')"
@
click=
"navTo('yh-check')"
>
<p>
隐患审核
<van-icon
name=
"arrow"
/></p>
<p
class=
"module-intro"
>
对整改隐患进行审核
</p>
</div>
<div
class=
"check-module yinhuan"
v-if=
"menuShowYN('yinhuanzhenggai')"
@
click=
"navTo('yh-check')"
>
<p>
隐患整改
<van-icon
name=
"arrow"
/></p>
<p
class=
"module-intro"
>
对隐患进行整改
</p>
<!-- UI设计图没这个原型有 -->
</div>
<!-- <div class="check-module anquan" v-if="menuShowYN('anquanchangshi')" @click="navTo('check_list')">
<p>安全常识 <van-icon name="arrow" /></p>
<p class="module-intro">查看安全常识培训资料</p>
</div> -->
<div
class=
"check-module shangjia"
v-if=
"menuShowYN('shangjiaxinxi')"
@
click=
"navTo('shanghu_detail')"
>
<p>
商家信息
<van-icon
name=
"arrow"
/></p>
<p
class=
"module-intro"
>
查看商家基础信息
</p>
</div>
<div
class=
"check-module zicha"
v-if=
"menuShowYN('anquanzicha')"
@
click=
"navTo('checkrecord')"
>
<p>
安全自查
<van-icon
name=
"arrow"
/></p>
<p
class=
"module-intro"
>
进行企业安全自查
</p>
</div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
index.js
View file @
9be7af28
window
.
onload
=
function
()
{
window
.
onload
=
function
()
{
// 在页面加载完成后执行
// 在页面加载完成后执行
// 执行你的代码
// 执行你的代码
const
currentDate
=
gemhoUtil
.
getTargetDateYM
();
const
currentDate
=
gemhoUtil
.
getTargetDateYM
()
new
Vue
({
new
Vue
({
el
:
'
#app
'
,
el
:
'
#app
'
,
data
()
{
data
()
{
return
{
return
{
showPopup4completionDate
:
false
,
showPopup4completionDate
:
false
,
// 控制日期选择器弹窗的显示与隐藏
// 控制日期选择器弹窗的显示与隐藏
showPicker
:
false
,
showPicker
:
false
,
// 存储选择的日期
// 存储选择的日期
selectedDate
:
currentDate
,
// '', // gemhoUtil.formatDate(new Date(value)),
selectedDate
:
currentDate
,
// '', // gemhoUtil.formatDate(new Date(value)),
// 日期选择的最小范围,这里设置为当前日期的前 10 年
//显示的日期
minDate
:
new
Date
(
new
Date
().
getFullYear
()
-
10
,
0
),
showDate
:
currentDate
,
// 日期选择的最大范围,这里设置为当前日期的后 10 年
// 日期选择的最小范围,这里设置为当前日期的前 10 年
maxDate
:
new
Date
(
new
Date
().
getFullYear
()
+
10
,
11
),
minDate
:
new
Date
(
new
Date
().
getFullYear
()
-
10
,
0
),
checkModules
:
[{
// 日期选择的最大范围,这里设置为当前日期的后 10 年
intro
:
'
提交检查反馈
'
,
maxDate
:
new
Date
(
new
Date
().
getFullYear
()
+
10
,
11
),
checkModules
:
[
},
{
{
intro
:
'
提交检查反馈
'
,
intro
:
'
查看检查历史记录
'
},
},
{
{
intro
:
'
查看检查历史记录
'
,
intro
:
'
提交检查反馈
'
},
},
{
{
intro
:
'
提交检查反馈
'
,
intro
:
'
下载检查报告
'
},
},
{
{
intro
:
'
下载检查报告
'
,
intro
:
'
查看隐患详情
'
},
},
{
{
intro
:
'
查看隐患详情
'
,
intro
:
'
设置检查提醒
'
},
}
{
],
intro
:
'
设置检查提醒
'
,
userInfo
:
{
},
userType
:
'
sj
'
,
// 登录用户type
],
userId
:
'
1
'
,
// 登录用户id
userInfo
:
{
userName
:
'
张三
'
,
// 登录用户name
userType
:
'
sj1
'
,
// 登录用户type
deptId
:
'
1
'
,
// 登录用户部门id
userId
:
'
1
'
,
// 登录用户id
deptName
:
'
部门1
'
,
// 登录用户部门name
userName
:
'
张三
'
,
// 登录用户name
role
:
'
dudao
'
,
deptId
:
'
1
'
,
// 登录用户部门id
roleName
:
'
督导
'
,
deptName
:
'
部门1
'
,
// 登录用户部门name
},
// 登录用户type
role
:
'
dudao
'
,
};
roleName
:
'
督导
'
,
},
},
mounted
()
{
// 登录用户type
// 在组件挂载后执行
defaultMenuList
:
[
// 调用你的方法
{
this
.
init
();
className
:
'
saoma
'
,
},
title
:
'
扫码检查
'
,
computed
:
{
remark
:
''
,
formattedDate
()
{
navTo
:
false
,
// 检查原始日期是否存在
},
console
.
log
(
this
.
selectedDate
==
null
)
{
if
(
this
.
selectedDate
!==
null
)
{
className
:
'
jiancha
'
,
// 使用 split 方法按 - 分割日期字符串
title
:
'
检查记录
'
,
const
[
year
,
month
]
=
this
.
selectedDate
.
split
(
'
-
'
);
remark
:
''
,
// 拼接成目标格式
navTo
:
'
checkrecord
'
,
return
`
${
year
}
月
${
month
}
日`
;
},
}
{
return
''
;
className
:
'
yinhuan
'
,
}
title
:
'
隐患审核
'
,
},
remark
:
''
,
methods
:
{
navTo
:
'
yinhuanshenhe
'
,
scanCode
()
{
},
lightAppJssdk
.
device
.
scan
({
{
success
:
function
(
data
)
{
className
:
'
yinhuan
'
,
// 获取到data为二维码的url路径,从这里取请求参数,商户id,在下面跳转本地系统路径
title
:
'
隐患整改
'
,
// alert('扫码成功'+JSON.stringify(data))
remark
:
''
,
navTo
:
'
yinhuanzhenggai
'
,
// location.href = 'shanghu_home.html'
},
gemhoUtil
.
navigatePage
(
`src/_shanghu_home.html`
)
{
//成功回调
className
:
'
shangjia
'
,
},
fail
:
function
(
data
)
{
title
:
'
商家信息
'
,
//错误返回
remark
:
''
,
alert
(
'
扫码失败
'
)
navTo
:
'
shanghu_detail
'
,
}
},
});
{
},
className
:
'
zicha
'
,
navTo
(
url
){
title
:
'
安全自查
'
,
// gemhoUtil.nav2asd(url)
remark
:
''
,
gemhoUtil
.
navigatePage
(
`src/_
${
url
}
.html`
)
navTo
:
'
checkrecord
'
,
},
},
menuShowYN
(
menuName
){
],
return
true
// 修改默认菜单结构为最小化配置
var
roleList
=
[]
menuList
:
[],
// 初始化为空数组,等待接口数据填充
if
(
menuName
==
'
saoma
'
){
userData
:
{
roleList
=
[
'
dudao
'
,
'
hangye
'
,
'
richang
'
]
checkCount
:
0
,
//检查数
}
checkSelfCount
:
0
,
//自查数
if
(
menuName
==
'
jianchajilu
'
){
hiddenCount
:
0
,
//隐患数
roleList
=
[
'
dudao
'
,
'
hangye
'
,
'
richang
'
,
'
shangjia
'
]
hiddenNoReCount
:
0
,
//未整改数
}
},
}
if
(
menuName
==
'
yinhuanshenhe
'
){
},
roleList
=
[
'
richang
'
]
mounted
()
{
}
// 在组件挂载后执行
// 调用你的方法
if
(
menuName
==
'
shangjiaxinxi
'
){
this
.
init
()
roleList
=
[
'
shangjia
'
]
},
}
computed
:
{},
if
(
menuName
==
'
anquanchangshi
'
){
methods
:
{
roleList
=
[
'
shangjia
'
]
scanCode
(
toData
)
{
}
if
(
toData
===
false
)
{
if
(
menuName
==
'
anquanzicha
'
){
lightAppJssdk
.
device
.
scan
({
roleList
=
[
'
shangjia
'
]
success
:
function
(
data
)
{
}
// 获取到data为二维码的url路径,从这里取请求参数,商户id,在下面跳转本地系统路径
if
(
menuName
==
'
yinhuanzhenggai
'
){
// alert('扫码成功'+JSON.stringify(data))
roleList
=
[
'
shangjia
'
]
}
// location.href = 'shanghu_home.html'
console
.
log
(
roleList
.
indexOf
(
this
.
userInfo
.
role
)
>
-
1
)
gemhoUtil
.
navigatePage
(
`src/_shanghu_home.html`
)
return
roleList
.
indexOf
(
this
.
userInfo
.
role
)
>
-
1
//成功回调
},
},
init
()
{
fail
:
function
(
data
)
{
// 在组件挂载后执行
//错误返回
// 调用你的方法
alert
(
'
扫码失败
'
)
},
},
showPopup
()
{
})
this
[
'
showPopup4completionDate
'
]
=
true
}
else
{
},
gemhoUtil
.
navigatePage
(
`src/_
${
toData
}
.html`
)
confirm4completionDate
(
value
)
{
}
console
.
log
(
'
value
'
,
value
)
},
this
.
selectedDate
=
gemhoUtil
.
getTargetDateYMByPara
(
value
)
navTo
(
url
)
{
this
.
showPopup4completionDate
=
false
// gemhoUtil.nav2asd(url)
},
},
// 确认选择日期时的回调函数
init
()
{
onConfirm
(
value
)
{
// 在组件挂载后执行
// 使用 toLocaleDateString 方法将日期对象格式化为本地日期字符串
// 调用你的方法
this
.
selectedDate
=
value
.
toLocaleDateString
();
this
.
getUserInfo
()
this
.
showPicker
=
false
;
this
.
getUserData
()
},
},
// 取消选择日期时的回调函数
showPopup
()
{
onCancel
()
{
this
[
'
showPopup4completionDate
'
]
=
true
this
.
showPicker
=
false
;
},
}
confirm4completionDate
(
value
)
{
},
this
.
selectedDate
=
gemhoUtil
.
getTargetDateYMByPara
(
value
)
});
this
.
showDate
=
gemhoUtil
.
getTargetDateYMByPara
(
value
)
this
.
showPopup4completionDate
=
false
}
this
.
getUserData
()
},
// 格式化日期显示的函数,根据需要自定义
needData
(
type
,
val
)
{
if
(
type
===
'
year
'
)
{
return
`
${
val
}
`
}
else
if
(
type
===
'
month
'
)
{
return
`
${
val
}
`
}
return
val
},
// 取消选择日期时的回调函数
onCancel
()
{
this
.
showPicker
=
false
},
getUserInfo
()
{
http
.
get
(
'
/gq/information/getAll/141
'
).
then
((
res
)
=>
{
if
(
res
.
code
!==
200
&&
res
.
data
==
null
)
{
return
}
if
(
res
.
data
.
roleDeptNameVo
.
roleName
==
'
超级管理员
'
||
res
.
data
.
roleDeptNameVo
.
roleName
==
'
超级管理员
'
)
{
this
.
userInfo
=
{
userType
:
'
gl
'
,
// 登录用户type
userId
:
'
1
'
,
// 登录用户id
userName
:
'
张三
'
,
// 登录用户name
deptId
:
'
1
'
,
// 登录用户部门id
deptName
:
res
.
data
.
roleDeptNameVo
.
deptName
,
// 登录用户部门name
role
:
'
dudao
'
,
roleName
:
'
督导人员
'
,
}
}
else
if
(
res
.
data
.
roleDeptNameVo
.
roleName
==
'
行业管理
'
)
{
this
.
userInfo
=
{
userType
:
'
gl
'
,
// 登录用户type
userId
:
'
1
'
,
// 登录用户id
userName
:
'
张三
'
,
// 登录用户name
deptId
:
'
1
'
,
// 登录用户部门id
deptName
:
res
.
data
.
roleDeptNameVo
.
deptName
,
// 登录用户部门name
role
:
'
dudao
'
,
roleName
:
'
行业检查
'
,
}
}
else
if
(
res
.
data
.
roleDeptNameVo
.
roleName
==
'
街道主管
'
)
{
this
.
userInfo
=
{
userType
:
'
gl
'
,
// 登录用户type
userId
:
'
1
'
,
// 登录用户id
userName
:
'
张三
'
,
// 登录用户name
deptId
:
'
1
'
,
// 登录用户部门id
deptName
:
res
.
data
.
roleDeptNameVo
.
deptName
,
// 登录用户部门name
role
:
'
dudao
'
,
roleName
:
'
行业检查
'
,
}
}
else
if
(
res
.
data
.
roleDeptNameVo
.
roleName
==
'
日常管理
'
)
{
this
.
userInfo
=
{
userType
:
'
gl
'
,
// 登录用户type
userId
:
'
1
'
,
// 登录用户id
userName
:
'
张三
'
,
// 登录用户name
deptId
:
'
1
'
,
// 登录用户部门id
deptName
:
res
.
data
.
roleDeptNameVo
.
deptName
,
// 登录用户部门name
role
:
'
dudao
'
,
roleName
:
'
日常检查
'
,
}
}
else
if
(
res
.
data
.
roleDeptNameVo
.
roleName
==
'
商户
'
)
{
this
.
userInfo
=
{
userType
:
'
sj
'
,
// 登录用户type
userId
:
'
1
'
,
// 登录用户id
userName
:
'
张三
'
,
// 登录用户name
deptId
:
'
1
'
,
// 登录用户部门id
deptName
:
res
.
data
.
roleDeptNameVo
.
deptName
,
// 登录用户部门name
businessAddress
:
res
.
data
.
merchantInfoNumVo
.
businessAddress
,
//
smallPlaceTypeName
:
res
.
data
.
merchantInfoNumVo
.
smallPlaceTypeName
,
//
unitName
:
res
.
data
.
merchantInfoNumVo
.
unitName
,
//
role
:
'
dudao
'
,
roleName
:
'
商家
'
,
}
}
console
.
log
(
this
.
userInfo
)
// 生成最终菜单列表
this
.
menuList
=
(
res
.
data
.
modules
||
[]).
map
((
moduleItem
)
=>
({
...(
this
.
defaultMenuList
.
find
(
(
d
)
=>
d
.
title
===
moduleItem
.
title
)
||
{}),
...
moduleItem
,
remark
:
moduleItem
.
remark
||
''
,
}))
})
},
// 获取用户数据的方法
getUserData
()
{
http
.
get
(
'
/gq/checkRecord/merHomeStatistics?merId=1&date=
'
+
this
.
selectedDate
)
.
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
userData
=
res
.
data
}
})
},
},
//过滤器
filters
:
{
//格式化日期显示的函数,根据需要自定义
formatterData
(
val
)
{
if
(
!
val
)
return
''
const
[
year
,
month
]
=
val
.
split
(
'
-
'
)
return
`
${
year
}
年
${
month
}
月`
},
},
})
}
sdk/axios_http.js
View file @
9be7af28
...
@@ -2,101 +2,103 @@
...
@@ -2,101 +2,103 @@
* 请求拦截、相应拦截、错误统一处理
* 请求拦截、相应拦截、错误统一处理
*/
*/
// 环境的切换
// 环境的切换
axios
.
defaults
.
baseURL
=
'
http://192.168.
3.37:8036
'
axios
.
defaults
.
baseURL
=
'
http://192.168.
2.16:8080
'
axios
.
defaults
.
timeout
=
50000
axios
.
defaults
.
timeout
=
50000
// post请求头
// post请求头
// axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'
// axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'
axios
.
defaults
.
headers
.
post
[
'
Content-Type
'
]
=
'
application/json
'
axios
.
defaults
.
headers
.
post
[
'
Content-Type
'
]
=
'
application/json
'
axios
.
defaults
.
headers
.
common
[
'
systemId
'
]
=
'
1
'
axios
.
defaults
.
headers
.
common
[
'
systemId
'
]
=
'
1
'
axios
.
defaults
.
headers
.
common
[
'
Authorization
'
]
=
localStorage
.
getItem
(
'
Authorization
'
)
axios
.
defaults
.
headers
.
common
[
'
Authorization
'
]
=
localStorage
.
getItem
(
'
Authorization
'
)
// 请求拦截器
// 请求拦截器
axios
.
interceptors
.
request
.
use
(
config
=>
{
axios
.
interceptors
.
request
.
use
((
config
)
=>
{
console
.
log
(
'
request拦截器
'
,
config
)
vant
.
Toast
.
loading
({
vant
.
Toast
.
loading
({
message
:
'
加载中...
'
,
message
:
'
加载中...
'
,
forbidClick
:
true
,
forbidClick
:
true
,
loadingType
:
'
spinner
'
,
loadingType
:
'
spinner
'
,
})
});
return
config
return
config
})
})
// 响应拦截器
// 响应拦截器
axios
.
interceptors
.
response
.
use
((
res
)
=>
{
axios
.
interceptors
.
response
.
use
(
// 成功的响应数据 服务器的相关的数据返回来之后,响应拦截器能够检测到,可以做一些事
(
res
)
=>
{
// 成功的响应数据 服务器的相关的数据返回来之后,响应拦截器能够检测到,可以做一些事
vant
.
Toast
.
clear
()
return
res
;
},
(
error
)
=>
{
// 响应失败的时候的回调函数
return
Promise
.
reject
(
new
Error
(
error
))
})
vant
.
Toast
.
clear
()
return
res
},
(
error
)
=>
{
// 响应失败的时候的回调函数
return
Promise
.
reject
(
new
Error
(
error
))
}
)
var
http
=
{
var
http
=
{
get
:
function
(
url
,
params
)
{
get
:
function
(
url
,
params
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
axios
axios
.
get
(
url
,
{
.
get
(
url
,
{
params
:
params
params
:
params
,
})
})
.
then
(
res
=>
{
.
then
((
res
)
=>
{
resolve
(
res
.
data
)
resolve
(
res
.
data
)
})
})
.
catch
(
err
=>
{
.
catch
((
err
)
=>
{
reject
(
err
.
data
)
reject
(
err
.
data
)
})
})
})
})
},
},
post
:
function
(
url
,
params
)
{
post
:
function
(
url
,
params
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
axios
axios
.
post
(
url
,
params
)
.
post
(
url
,
params
)
.
then
(
res
=>
{
.
then
((
res
)
=>
{
let
response
=
res
.
data
let
response
=
res
.
data
console
.
log
(
'
res.statusCode
'
,
response
)
console
.
log
(
'
res.statusCode
'
,
response
)
if
(
response
.
statusCode
>=
300
||
response
.
status
>=
300
)
{
if
(
response
.
statusCode
>=
300
||
response
.
status
>=
300
)
{
// alert('系统发生错误')
// alert('系统发生错误')
vant
.
Dialog
.
alert
({
vant
.
Dialog
.
alert
({
title
:
'
信息提示
'
,
title
:
'
信息提示
'
,
message
:
response
.
message
,
message
:
response
.
message
,
})
})
return
return
}
}
resolve
(
res
.
data
)
resolve
(
res
.
data
)
})
})
.
catch
(
err
=>
{
.
catch
((
err
)
=>
{
reject
(
err
.
data
)
reject
(
err
.
data
)
})
})
})
})
},
},
postFile
:
function
(
url
,
params
)
{
postFile
:
function
(
url
,
params
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
axios
({
axios
({
url
,
url
,
method
:
'
post
'
,
method
:
'
post
'
,
data
:
params
,
data
:
params
,
headers
:
{
headers
:
{
'
Content-Type
'
:
'
application/json
'
,
// 'multipart/form-data;',
'
Content-Type
'
:
'
application/json
'
,
// 'multipart/form-data;',
'
Authorization
'
:
localStorage
.
getItem
(
'
Authorization
'
)
Authorization
:
localStorage
.
getItem
(
'
Authorization
'
),
},
},
}).
then
(
res
=>
{
})
let
response
=
res
.
data
.
then
((
res
)
=>
{
console
.
log
(
'
res.statusCode
'
,
response
)
let
response
=
res
.
data
if
(
response
.
statusCode
>=
300
||
response
.
status
>=
300
)
{
console
.
log
(
'
res.statusCode
'
,
response
)
// alert('系统发生错误')
if
(
response
.
statusCode
>=
300
||
response
.
status
>=
300
)
{
vant
.
Dialog
.
alert
({
// alert('系统发生错误')
title
:
'
信息提示
'
,
vant
.
Dialog
.
alert
({
message
:
response
.
message
,
title
:
'
信息提示
'
,
})
message
:
response
.
message
,
return
})
}
return
resolve
(
res
.
data
)
}
}
)
resolve
(
res
.
data
)
.
catch
(
err
=>
{
})
reject
(
err
.
data
)
.
catch
((
err
)
=>
{
}
)
reject
(
err
.
data
)
})
})
},
})
},
}
}
sdk/includeHead.js
View file @
9be7af28
...
@@ -34,6 +34,8 @@ document.write('<script type="text/javascript" src="' + contextPath + '/sdk/vue.
...
@@ -34,6 +34,8 @@ document.write('<script type="text/javascript" src="' + contextPath + '/sdk/vue.
<script type="text/javascript" src="
'
+
contextPath
+
'
/sdk/flexible.js"></script>
\
<script type="text/javascript" src="
'
+
contextPath
+
'
/sdk/flexible.js"></script>
\
<script type="text/javascript" src="
'
+
contextPath
+
'
/sdk/util.js?rev=
'
+
jsVersion
+
'
"></script>
\
<script type="text/javascript" src="
'
+
contextPath
+
'
/sdk/util.js?rev=
'
+
jsVersion
+
'
"></script>
\
<script type="text/javascript" src="
'
+
contextPath
+
'
/sdk/jssdk2/apiKeyMap.js?rev=
'
+
jsVersion
+
'
"></script>
\
<script type="text/javascript" src="
'
+
contextPath
+
'
/sdk/jssdk2/apiKeyMap.js?rev=
'
+
jsVersion
+
'
"></script>
\
<script type="text/javascript" src="
'
+
contextPath
+
'
/sdk/axios.min.js"></script>
\
<script type="text/javascript" src="
'
+
contextPath
+
'
/sdk/axios_http.js"></script>
\
<script type="text/javascript" src="
'
+
contextPath
+
'
/sdk/http.js?rev=
'
+
jsVersion
+
'
"></script>
'
);
<script type="text/javascript" src="
'
+
contextPath
+
'
/sdk/http.js?rev=
'
+
jsVersion
+
'
"></script>
'
);
...
...
src/_checkrecord.html
View file @
9be7af28
...
@@ -14,36 +14,36 @@
...
@@ -14,36 +14,36 @@
<div
class=
"header"
>
<div
class=
"header"
>
<!-- <div class="level">安全等级</div> -->
<!-- <div class="level">安全等级</div> -->
<div
class=
"title"
>
<div
class=
"title"
>
<img
src=
"../image/code/sj.png"
alt=
""
><span>
威海市宝威酒店有限公司
</span>
<img
src=
"../image/code/sj.png"
alt=
""
><span>
{{userInfo.unitName}}
</span>
</div>
</div>
<div
class=
"detail"
>
<div
class=
"detail"
>
<van-row>
<van-row>
<van-col
span=
"24"
>
场所类型:
小餐饮
</van-col>
<van-col
span=
"24"
>
场所类型:
{{userInfo.smallPlaceTypeName}}
</van-col>
</van-row>
</van-row>
<van-row
type=
"flex"
justify=
"space-around"
<van-row
type=
"flex"
justify=
"space-around"
style=
"width:100%; margin-top: .3rem; margin-bottom: .3rem;"
>
style=
"width:100%; margin-top: .3rem; margin-bottom: .3rem;"
>
<van-col
span=
"6"
>
自查数:
75
</van-col>
<van-col
span=
"6"
>
自查数:
{{userData.checkSelfCount}}
</van-col>
<van-col
span=
"6"
>
检查数:
75
</van-col>
<van-col
span=
"6"
>
检查数:
{{userData.checkCount}}
</van-col>
<van-col
span=
"6"
>
隐患数:
75
</van-col>
<van-col
span=
"6"
>
隐患数:
{{userData.hiddenCount}}
</van-col>
<van-col
span=
"6"
>
未整改:
75
</van-col>
<van-col
span=
"6"
>
未整改:
{{userData.hiddenNoReCount}}
</van-col>
</van-row>
</van-row>
<van-row>
<van-row>
<van-col
span=
"24"
>
山东省威海市环翠区和谐街35-6
</van-col>
<van-col
span=
"24"
>
{{userInfo.businessAddress}}
</van-col>
</van-row>
</van-row>
</div>
</div>
<!-- Tab栏 -->
<!-- Tab栏 -->
<van-tabs
v-model:active=
"activeTab"
title-active-color=
"#1989fa"
line-height=
"2px"
<van-tabs
v-model:active=
"activeTab"
@
click=
"getMerchantSelfCheckData"
title-active-color=
"#1989fa"
line-height=
"2px"
style=
"margin-bottom: 15px;"
>
style=
"margin-bottom: 15px;"
>
<van-tab
title=
"检查记录"
></van-tab>
<van-tab
title=
"检查记录"
name=
"1"
></van-tab>
<van-tab
title=
"自查记录"
></van-tab>
<van-tab
title=
"自查记录"
name=
"2"
></van-tab>
</van-tabs>
</van-tabs>
</div>
</div>
<van-list>
<van-list>
<van-cell
v-for=
"item in
filteredHazards
"
:key=
"item.id"
>
<van-cell
v-for=
"item in
hazardList
"
:key=
"item.id"
>
<div
style=
"width: 100%;"
>
<div
style=
"width: 100%;"
>
<!-- 第一行:隐患描述 -->
<!-- 第一行:隐患描述 -->
<div
style=
"
<div
style=
"
...
@@ -54,17 +54,17 @@
...
@@ -54,17 +54,17 @@
font-size: 0.3rem;
font-size: 0.3rem;
font-weight: bold;
font-weight: bold;
font-family: PingFang SC;
font-family: PingFang SC;
"
>
{{ item.
description
}}
</div>
"
>
{{ item.
remark
}}
</div>
<!-- 第二行:状态和时间 -->
<!-- 第二行:状态和时间 -->
<div
style=
"display: flex; justify-content: start; gap: .34rem; margin: 8px 0;"
>
<div
style=
"display: flex; justify-content: start; gap: .34rem; margin: 8px 0;"
>
<span
style=
"color: #737373; font-size: 0.28rem;"
>
检查时间:{{ item.
dat
e }}
</span>
<span
style=
"color: #737373; font-size: 0.28rem;"
>
检查时间:{{ item.
checkTim
e }}
</span>
</div>
</div>
<!-- 第三行:商家和箭头 -->
<!-- 第三行:商家和箭头 -->
<div
style=
"display: flex; justify-content: start; gap: .4rem; align-items: center;"
>
<div
style=
"display: flex; justify-content: start; gap: .4rem; align-items: center;"
>
<span>
检查人:
XXX
</span>
<span>
检查人:
{{item.checkPeople}}
</span>
<span>
隐患数:
985
</span>
<span>
隐患数:
{{item.hiddenCount}}
</span>
<span>
未整改:
21
</span>
<span>
未整改:
{{item.notRectifiedCount}}
</span>
</div>
</div>
</div>
</div>
</van-cell>
</van-cell>
...
...
src/_checkrecord.js
View file @
9be7af28
// 在原有Vue实例中添加
var
VUE
=
null
new
Vue
({
window
.
addEventListener
(
'
load
'
,
function
()
{
el
:
'
#app
'
,
VUE
=
new
Vue
({
data
()
{
el
:
'
#app
'
,
return
{
data
()
{
// 新增子Tab数据
return
{
subActiveTab
:
0
,
// 新增子Tab数据
hazardList
:
[{
activeTab
:
'
1
'
,
id
:
1
,
hazardList
:
[
description
:
'
消防通道被货物堵塞,存在严重安全隐患
'
,
// 更多示例数据...
status
:
'
待审核
'
,
],
date
:
'
2024-03-15
'
,
// 新增以下数据
shop
:
'
XX餐饮店
'
,
userInfo
:
{},
type
:
2
userData
:
{
},
checkCount
:
0
,
//检查数
{
checkSelfCount
:
0
,
//自查数
id
:
2
,
hiddenCount
:
0
,
//隐患数
description
:
'
消防通道被货物堵塞,存在严重安全隐患
'
,
hiddenNoReCount
:
0
,
//未整改数
status
:
'
待整改
'
,
},
date
:
'
2024-03-15
'
,
}
shop
:
'
XX餐饮店
'
,
},
type
:
2
created
()
{
},
this
.
init
()
// 更多示例数据...
},
],
computed
:
{},
activeTab
:
0
,
methods
:
{
showTimePicker
:
false
,
//初始化页面
// 新增以下数据
init
()
{
showTypePicker
:
false
,
this
.
getUserInfo
()
typeOptions
:
[
'
小餐饮
'
,
'
酒店
'
,
'
商场
'
,
'
学校
'
,
'
医疗机构
'
],
this
.
getUserData
()
formData
:
{
this
.
getMerchantSelfCheckData
()
principal
:
''
,
},
phone
:
''
,
/**请求数据 */
area
:
''
,
// 获取用户数据的方法
businessHours
:
''
,
getUserData
()
{
type
:
''
,
// 新增类型字段
http
},
.
get
(
'
/gq/checkRecord/merHomeStatistics?date=
'
+
this
.
selectedDate
)
checkList
:
[{
.
then
((
res
)
=>
{
id
:
1
,
if
(
res
.
code
==
200
)
{
date
:
'
2024-03-15
'
,
this
.
userData
=
res
.
data
result
:
'
合格
'
}
},
})
{
},
id
:
2
,
//获取用户信息
date
:
'
2024-03-14
'
,
getUserInfo
()
{
result
:
'
不合格
'
http
.
get
(
'
/gq/information/getAll/141
'
).
then
((
res
)
=>
{
}
if
(
res
.
code
!==
200
&&
res
.
data
==
null
)
{
]
return
}
}
},
if
(
res
.
data
.
roleDeptNameVo
.
roleName
==
'
商户
'
)
{
computed
:
{
this
.
userInfo
=
{
filteredHazards
()
{
userType
:
'
sj
'
,
// 登录用户type
const
statusMap
=
[
'
全部
'
,
'
待审核
'
,
'
待整改
'
,
'
已整改
'
];
userId
:
'
1
'
,
// 登录用户id
return
this
.
hazardList
.
filter
(
item
=>
userName
:
'
张三
'
,
// 登录用户name
this
.
subActiveTab
===
0
?
true
:
item
.
status
===
statusMap
[
this
.
subActiveTab
]
deptId
:
'
1
'
,
// 登录用户部门id
);
deptName
:
res
.
data
.
roleDeptNameVo
.
deptName
,
// 登录用户部门name
}
businessAddress
:
res
.
data
.
merchantInfoNumVo
.
businessAddress
,
//
},
smallPlaceTypeName
:
res
.
data
.
merchantInfoNumVo
.
smallPlaceTypeName
,
//
methods
:
{
unitName
:
res
.
data
.
merchantInfoNumVo
.
unitName
,
//
// 新增选择确认方法
role
:
'
dudao
'
,
onConfirmType
(
value
)
{
roleName
:
'
商家
'
,
this
.
formData
.
type
=
value
;
}
this
.
showTypePicker
=
false
;
}
},
})
onConfirmTime
(
time
)
{
},
this
.
formData
.
businessHours
=
time
;
//获取商户自查数据
this
.
showTimePicker
=
false
;
getMerchantSelfCheckData
()
{
},
http
statusTagType
(
status
)
{
.
get
(
const
types
=
{
'
/gq/checkRecord/list?merId=1&pageSize=10&pageNum=0&type=
'
+
'
待审核
'
:
'
warning
'
,
this
.
activeTab
'
待整改
'
:
'
primary
'
,
)
'
已整改
'
:
'
success
'
,
.
then
((
res
)
=>
{
'
整改逾期
'
:
'
danger
'
,
this
.
hazardList
=
res
.
rows
};
})
return
types
[
status
]
||
''
;
},
},
},
viewDetail
(
id
)
{
})
console
.
log
(
'
查看详情:
'
,
id
);
})
// 这里添加跳转逻辑
}
}
});
\ No newline at end of file
src/_yh-check.js
View file @
9be7af28
// 在原有Vue实例中添加
var
VUE
=
null
new
Vue
({
window
.
addEventListener
(
"
load
"
,
function
()
{
el
:
'
#app
'
,
VUE
=
new
Vue
({
data
()
{
// 在原有Vue实例中添加
return
{
el
:
'
#app
'
,
shanghuName
:
''
,
data
()
{
// 新增子Tab数据
return
{
subActiveTab
:
0
,
shanghuName
:
''
,
hazardList
:
[{
// 新增子Tab数据
id
:
1
,
subActiveTab
:
0
,
description
:
'
消防通道被货物堵塞,存在严重安全隐患
'
,
hazardList
:
[{
status
:
'
待审核
'
,
id
:
1
,
date
:
'
2024-03-15
'
,
description
:
'
消防通道被货物堵塞,存在严重安全隐患
'
,
shop
:
'
XX餐饮店
'
,
status
:
'
待审核
'
,
type
:
2
date
:
'
2024-03-15
'
,
},
shop
:
'
XX餐饮店
'
,
{
type
:
2
id
:
2
,
},
description
:
'
消防通道被货物堵塞,存在严重安全隐患
'
,
{
status
:
'
待整改
'
,
id
:
2
,
date
:
'
2024-03-15
'
,
description
:
'
消防通道被货物堵塞,存在严重安全隐患
'
,
shop
:
'
XX餐饮店
'
,
status
:
'
待整改
'
,
type
:
2
date
:
'
2024-03-15
'
,
},
shop
:
'
XX餐饮店
'
,
// 更多示例数据...
type
:
2
],
},
activeTab
:
0
,
// 更多示例数据...
}
],
},
activeTab
:
0
,
computed
:
{
}
filteredHazards
()
{
const
statusMap
=
[
'
全部
'
,
'
待审核
'
,
'
待整改
'
,
'
已整改
'
];
return
this
.
hazardList
.
filter
(
item
=>
this
.
subActiveTab
===
0
?
true
:
item
.
status
===
statusMap
[
this
.
subActiveTab
]
);
}
},
methods
:
{
onSearch
()
{
console
.
log
(
'
xxxx
'
)
},
// 新增选择确认方法
onConfirmType
(
value
)
{
this
.
formData
.
type
=
value
;
this
.
showTypePicker
=
false
;
},
onConfirmTime
(
time
)
{
this
.
formData
.
businessHours
=
time
;
this
.
showTimePicker
=
false
;
},
},
statusTagType
(
status
)
{
computed
:
{
const
types
=
{
filteredHazards
()
{
'
待审核
'
:
'
warning
'
,
const
statusMap
=
[
'
全部
'
,
'
待审核
'
,
'
待整改
'
,
'
已整改
'
];
'
待整改
'
:
'
primary
'
,
return
this
.
hazardList
.
filter
(
item
=>
'
已整改
'
:
'
success
'
,
this
.
subActiveTab
===
0
?
true
:
item
.
status
===
statusMap
[
this
.
subActiveTab
]
'
整改逾期
'
:
'
danger
'
,
);
};
}
return
types
[
status
]
||
''
;
},
},
viewDetail
(
id
)
{
methods
:
{
console
.
log
(
'
查看详情:
'
,
id
);
onSearch
()
{
// 这里添加跳转逻辑
console
.
log
(
'
xxxx
'
)
},
// 新增选择确认方法
onConfirmType
(
value
)
{
this
.
formData
.
type
=
value
;
this
.
showTypePicker
=
false
;
},
onConfirmTime
(
time
)
{
this
.
formData
.
businessHours
=
time
;
this
.
showTimePicker
=
false
;
},
statusTagType
(
status
)
{
const
types
=
{
'
待审核
'
:
'
warning
'
,
'
待整改
'
:
'
primary
'
,
'
已整改
'
:
'
success
'
,
'
整改逾期
'
:
'
danger
'
,
};
return
types
[
status
]
||
''
;
},
viewDetail
(
id
)
{
console
.
log
(
'
查看详情:
'
,
id
);
// 这里添加跳转逻辑
}
}
}
}
});
});
})
\ No newline at end of file
\ No newline at end of file
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