Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
T
tianhongwxapp
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
liuyuping
tianhongwxapp
Commits
55611f2f
Commit
55611f2f
authored
Mar 08, 2022
by
liuyuping
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
'2022-3-8'
parent
e70dd7a3
Changes
29
Hide whitespace changes
Inline
Side-by-side
Showing
29 changed files
with
1108 additions
and
514 deletions
+1108
-514
app.js
app.js
+18
-7
advice.js
pages/advice/advice.js
+4
-4
adviceItem.js
pages/adviceItem/adviceItem.js
+13
-7
course.js
pages/course/course.js
+10
-0
course.wxml
pages/course/course.wxml
+2
-2
dangeredit.js
pages/dangeredit/dangeredit.js
+10
-4
dangeredit.wxml
pages/dangeredit/dangeredit.wxml
+5
-2
dangeredit.wxss
pages/dangeredit/dangeredit.wxss
+10
-5
dangerregister.js
pages/dangerregister/dangerregister.js
+124
-2
dangerregister.wxml
pages/dangerregister/dangerregister.wxml
+86
-11
dangerregister.wxss
pages/dangerregister/dangerregister.wxss
+15
-0
evaluate.js
pages/evaluate/evaluate.js
+162
-2
evaluate.json
pages/evaluate/evaluate.json
+3
-1
evaluate.wxml
pages/evaluate/evaluate.wxml
+51
-13
evaluate.wxss
pages/evaluate/evaluate.wxss
+35
-0
exam.js
pages/exam/exam.js
+71
-10
exam.wxml
pages/exam/exam.wxml
+17
-4
exam.wxss
pages/exam/exam.wxss
+21
-1
home.js
pages/home/home.js
+25
-4
info.js
pages/info/info.js
+26
-25
info.wxml
pages/info/info.wxml
+4
-4
info.wxss
pages/info/info.wxss
+1
-1
law.js
pages/law/law.js
+1
-1
teach.js
pages/teach/teach.js
+56
-2
teach.wxml
pages/teach/teach.wxml
+1
-1
testpaper.js
pages/testpaper/testpaper.js
+243
-381
testpaper.wxml
pages/testpaper/testpaper.wxml
+40
-16
testpaper.wxss
pages/testpaper/testpaper.wxss
+49
-0
project.config.json
project.config.json
+5
-4
No files found.
app.js
View file @
55611f2f
...
@@ -43,20 +43,31 @@ App({
...
@@ -43,20 +43,31 @@ App({
// })
// })
},
},
globalData
:
{
globalData
:
{
appBaseUrl
:
'
https://safe.c-icc.cn:8035
'
,
// appBaseUrl: 'https://safe.c-icc.cn:8035',
appBaseUrlV2
:
'
https://safe.c-icc.cn:8036
'
,
// appBaseUrlV2: 'https://safe.c-icc.cn:8036',
appBaseUrlV3
:
'
https://safe.c-icc.cn:8030
'
,
// appBaseUrlV3: 'https://safe.c-icc.cn:8030',
appBaseUrl
:
'
https://www.kuangshanzhixing.cn:8035
'
,
appBaseUrlV2
:
'
https://www.kuangshanzhixing.cn:8036
'
,
appBaseUrlV3
:
'
https://www.kuangshanzhixing.cn:8030
'
,
// appBaseUrl: 'https://8.143.198.78:8035',
// appBaseUrlV2: 'https://8.143.198.78:8036',
// appBaseUrlV3: 'https://8.143.198.78:8030',
userInfo
:
null
,
userInfo
:
null
,
Authorization
:
''
,
Authorization
:
''
,
curRole
:
''
,
// 运营商 企业管理 企业员工 政府 超级管理员
curRole
:
''
,
// 运营商 企业管理 企业员工 政府 超级管理员
companyId
:
-
1
,
companyId
:
-
1
,
companyName
:
''
,
companyName
:
''
,
currentEnter
:
{
currentEnter
:
{},
},
currentHD
:
{},
currentHD
:
{},
currentLawItem
:
{},
currentLawItem
:
{},
currentAdviceItem
:
{},
currentAdviceItem
:
{},
currentCourse
:
{},
currentCourse
:
{},
currentTrainImg
:
{}
currentTrainImg
:
{},
curEvaluate
:
{},
testPaperId
:
-
1
,
singleScore
:
0
,
multiScore
:
0
,
justifyScore
:
0
,
isNeedNavigateTo
:
false
}
}
})
})
pages/advice/advice.js
View file @
55611f2f
...
@@ -25,8 +25,8 @@ Page({
...
@@ -25,8 +25,8 @@ Page({
},
},
data
:
{
data
:
{
page
:
this
.
data
.
curPage
,
page
:
this
.
data
.
curPage
,
size
:
this
.
data
.
curPageSize
,
size
:
this
.
data
.
curPageSize
sort
:
'
noticeId,desc
'
//
sort: 'noticeId,desc'
},
},
success
:
(
res
)
=>
{
success
:
(
res
)
=>
{
console
.
log
(
res
,
'
app.globalData.appBaseUrlV2
'
)
console
.
log
(
res
,
'
app.globalData.appBaseUrlV2
'
)
...
@@ -122,8 +122,8 @@ Page({
...
@@ -122,8 +122,8 @@ Page({
},
},
data
:
{
data
:
{
page
:
this
.
data
.
curPage
,
page
:
this
.
data
.
curPage
,
size
:
this
.
data
.
curPageSize
,
size
:
this
.
data
.
curPageSize
sort
:
'
noticeId,desc
'
//
sort: 'noticeId,desc'
},
},
success
:
(
res
)
=>
{
success
:
(
res
)
=>
{
this
.
setData
({
this
.
setData
({
...
...
pages/adviceItem/adviceItem.js
View file @
55611f2f
...
@@ -34,6 +34,12 @@ Page({
...
@@ -34,6 +34,12 @@ Page({
},
},
success
:
(
res
)
=>
{
success
:
(
res
)
=>
{
console
.
log
(
res
)
console
.
log
(
res
)
this
.
setData
({
title
:
res
.
data
.
noticeTitle
,
depart
:
res
.
data
.
noticePublisher
,
time
:
res
.
data
.
createTime
,
content
:
res
.
data
.
noticeContent
})
/**
/**
* createBy
* createBy
* createTIme
* createTIme
...
@@ -50,14 +56,14 @@ Page({
...
@@ -50,14 +56,14 @@ Page({
strips: [],
strips: [],
content
content
*/
*/
this
.
setData
({
//
this.setData({
title
:
res
.
noticeTitle
,
// title: res.data
.noticeTitle,
depart
:
res
.
noticePublisher
,
// depart: res.data
.noticePublisher,
time
:
res
.
updateTime
,
// time: res.data
.updateTime,
content
:
res
.
noticeContent
// content: res.data
.noticeContent
})
//
})
wx
.
setNavigationBarTitle
({
wx
.
setNavigationBarTitle
({
title
:
res
.
noticeTitle
title
:
res
.
data
.
noticeTitle
})
})
},
},
fail
:
()
=>
{},
fail
:
()
=>
{},
...
...
pages/course/course.js
View file @
55611f2f
...
@@ -54,6 +54,7 @@ Page({
...
@@ -54,6 +54,7 @@ Page({
* 页面的初始数据
* 页面的初始数据
*/
*/
data
:
{
data
:
{
isShowVideo
:
true
,
curCourse
:
app
.
globalData
.
currentCourse
.
courseBriefIntroduction
,
curCourse
:
app
.
globalData
.
currentCourse
.
courseBriefIntroduction
,
curCoursePic
:
'
https://img0.baidu.com/it/u=2265254049,1802113800&fm=26&fmt=auto&gp=0.jpg
'
,
curCoursePic
:
'
https://img0.baidu.com/it/u=2265254049,1802113800&fm=26&fmt=auto&gp=0.jpg
'
,
courseVideoSrc
:
'
http://39.102.232.151:8030/video/8.mp4
'
,
courseVideoSrc
:
'
http://39.102.232.151:8030/video/8.mp4
'
,
...
@@ -75,6 +76,15 @@ Page({
...
@@ -75,6 +76,15 @@ Page({
curCourse
:
app
.
globalData
.
currentCourse
.
courseBriefIntroduction
,
curCourse
:
app
.
globalData
.
currentCourse
.
courseBriefIntroduction
,
courses
:
app
.
globalData
.
currentCourse
.
coursehour
courses
:
app
.
globalData
.
currentCourse
.
coursehour
})
})
console
.
log
(
app
.
globalData
.
currentCourse
.
coursehour
,
'
app.globaldata.currentCourse.coursehour app.globaldata.currentCourse.coursehour
'
)
const
arr1
=
app
.
globalData
.
currentCourse
.
coursehour
.
filter
(
item
=>
{
return
item
.
lessonFilePath
.
indexOf
(
"
.pdf
"
)
>
-
1
})
if
(
arr1
.
length
===
app
.
globalData
.
currentCourse
.
coursehour
.
length
)
{
this
.
setData
({
isShowVideo
:
false
})
}
},
},
/**
/**
...
...
pages/course/course.wxml
View file @
55611f2f
<!--pages/course/course.wxml-->
<!--pages/course/course.wxml-->
<view class="course-wrapper">
<view class="course-wrapper">
<view class="course-title">当前课程: {{curCourse}}</view>
<view class="course-title">当前课程: {{curCourse}}</view>
<view class="video-wrapper">
<view class="video-wrapper"
wx:if="{{isShowVideo}}"
>
<video id="course" show-center-play-btn="{{false}}" src="{{courseVideoSrc}}" bindtimeupdate="videoUpdate"></video>
<video id="course" show-center-play-btn="{{false}}" src="{{courseVideoSrc}}" bindtimeupdate="videoUpdate"
></video>
<!-- <image class="video-cover" mode="scaleToFill" src="{{curCoursePic}}" animation="{{animationDisappear}}"></image>
<!-- <image class="video-cover" mode="scaleToFill" src="{{curCoursePic}}" animation="{{animationDisappear}}"></image>
<view class="mask-video" animation="{{animationDisappear}}">
<view class="mask-video" animation="{{animationDisappear}}">
<image class="paly-video-btn" src="{{courseVideoPlay}}" bindtap="playvideo">
<image class="paly-video-btn" src="{{courseVideoPlay}}" bindtap="playvideo">
...
...
pages/dangeredit/dangeredit.js
View file @
55611f2f
...
@@ -10,6 +10,8 @@ Page({
...
@@ -10,6 +10,8 @@ Page({
companyId
:
app
.
globalData
.
currentEnter
.
companyId
,
companyId
:
app
.
globalData
.
currentEnter
.
companyId
,
// 隐患验收人
// 隐患验收人
hdAcceptancePerson
:
""
,
hdAcceptancePerson
:
""
,
// 备注
comment
:
''
,
// 隐患id
// 隐患id
hdId
:
-
1
,
hdId
:
-
1
,
// 隐患描述
// 隐患描述
...
@@ -42,7 +44,8 @@ Page({
...
@@ -42,7 +44,8 @@ Page({
rectFilePath
:
''
,
rectFilePath
:
''
,
// 放大图片的路径
// 放大图片的路径
enlargeUrl
:
''
,
enlargeUrl
:
''
,
topAnimation
:
{}
topAnimation
:
{},
isToEnLarge
:
false
},
},
/**
/**
...
@@ -295,7 +298,8 @@ Page({
...
@@ -295,7 +298,8 @@ Page({
this
.
animation
.
bottom
(
0
).
step
()
this
.
animation
.
bottom
(
0
).
step
()
this
.
setData
({
this
.
setData
({
topAnimation
:
this
.
animation
.
export
(),
topAnimation
:
this
.
animation
.
export
(),
enlargeUrl
:
this
.
data
.
imgsrcurl
enlargeUrl
:
this
.
data
.
imgsrcurl
,
isToEnLarge
:
true
})
})
// toEnlargePicByRectPic
// toEnlargePicByRectPic
},
},
...
@@ -303,13 +307,15 @@ Page({
...
@@ -303,13 +307,15 @@ Page({
this
.
animation
.
bottom
(
0
).
step
()
this
.
animation
.
bottom
(
0
).
step
()
this
.
setData
({
this
.
setData
({
topAnimation
:
this
.
animation
.
export
(),
topAnimation
:
this
.
animation
.
export
(),
enlargeUrl
:
this
.
data
.
imgrecturl
enlargeUrl
:
this
.
data
.
imgrecturl
,
isToEnLarge
:
true
})
})
},
},
toCancelEnlargePic
()
{
toCancelEnlargePic
()
{
this
.
animation
.
bottom
(
'
-100%
'
).
step
()
this
.
animation
.
bottom
(
'
-100%
'
).
step
()
this
.
setData
({
this
.
setData
({
topAnimation
:
this
.
animation
.
export
()
topAnimation
:
this
.
animation
.
export
(),
isToEnLarge
:
false
})
})
}
}
})
})
\ No newline at end of file
pages/dangeredit/dangeredit.wxml
View file @
55611f2f
...
@@ -25,7 +25,10 @@
...
@@ -25,7 +25,10 @@
<text>隐患名称:</text>
<text>隐患名称:</text>
<textarea type="text" disabled="true" placeholder="请输入隐患名称" value="{{hdName}}" bindinput="" maxlength="-1" />
<textarea type="text" disabled="true" placeholder="请输入隐患名称" value="{{hdName}}" bindinput="" maxlength="-1" />
</view>
</view>
<view class="danger-expert">
<text>备注: </text>
<input type="text" disabled="true" placeholder="请输入备注" value="{{comment}}" bindinput="" />
</view>
<!-- <view class="danger-type">
<!-- <view class="danger-type">
<text>隐患类型:</text>
<text>隐患类型:</text>
<radio-group bindchange="">
<radio-group bindchange="">
...
@@ -84,7 +87,7 @@
...
@@ -84,7 +87,7 @@
<button type="primary" bindtap="submitEdit" style="background-color: #1d2089;">提交修改</button>
<button type="primary" bindtap="submitEdit" style="background-color: #1d2089;">提交修改</button>
</view>
</view>
</scroll-view>
</scroll-view>
<view class="enlarge-pic-wrapper
" animation="{{topAnimation
}}">
<view class="enlarge-pic-wrapper
{{isToEnLarge? 'enlarge-pic-show': ''
}}">
<image
<image
src="{{enlargeUrl}}"
src="{{enlargeUrl}}"
mode="aspectFit"
mode="aspectFit"
...
...
pages/dangeredit/dangeredit.wxss
View file @
55611f2f
...
@@ -160,15 +160,20 @@
...
@@ -160,15 +160,20 @@
}
}
.enlarge-pic-wrapper {
.enlarge-pic-wrapper {
position: absolute;
position: fixed;
bottom: -100%;
display: none;
width: 100vw;
z-index: 999;
height: 100vh;
left: 0;
top: 0;
bottom: 0;
right: 0;
background-color: black;
background-color: black;
display: flex;
align-items: center;
align-items: center;
justify-content: center;
justify-content: center;
}
}
.enlarge-pic-show {
display: flex;
}
.enlarge-pic {
.enlarge-pic {
width: 100vw;
width: 100vw;
height: 100vh;
height: 100vh;
...
...
pages/dangerregister/dangerregister.js
View file @
55611f2f
...
@@ -6,6 +6,33 @@ Page({
...
@@ -6,6 +6,33 @@ Page({
* 页面的初始数据
* 页面的初始数据
*/
*/
data
:
{
data
:
{
// 总的安全类别
secType
:
[
{
name
:
'
安全资料类
'
},
{
name
:
'
现场检查类
'
}
],
//
curSelectSecType
:
''
,
// 安全检查类别
secCheckType
:
[],
// 安全检查类别替代
secCheckTypeReplace
:
[],
// 当前选择的安全检查类别
curSelectSecCheckTypeReplace
:
''
,
// 安全检查内容
secCheckContent
:
[],
// 当前选择的安全检查内容
curSelectCheckContent
:
''
,
// 发现问题
secCheckDiscover
:
[],
// 整改建议
suggestion
:
''
,
// 检查依据
basis
:
''
,
// 企业id
// 企业id
companyId
:
app
.
globalData
.
currentEnter
.
companyId
,
companyId
:
app
.
globalData
.
currentEnter
.
companyId
,
// 隐患验收人
// 隐患验收人
...
@@ -37,7 +64,10 @@ Page({
...
@@ -37,7 +64,10 @@ Page({
// 隐患图片文件路径
// 隐患图片文件路径
hdFilePath
:
''
,
hdFilePath
:
''
,
// 整改图片文件路径
// 整改图片文件路径
rectFilePath
:
''
rectFilePath
:
''
,
// 备注
comment
:
''
,
//
},
},
/**
/**
...
@@ -65,6 +95,24 @@ Page({
...
@@ -65,6 +95,24 @@ Page({
backgroundColor
:
'
#090D9C
'
,
backgroundColor
:
'
#090D9C
'
,
frontColor
:
'
#ffffff
'
,
frontColor
:
'
#ffffff
'
,
})
})
wx
.
request
({
url
:
app
.
globalData
.
appBaseUrl
+
'
/api/enterpriseSafetyInspectionContent
'
,
method
:
'
GET
'
,
header
:
{
Authorization
:
app
.
globalData
.
Authorization
},
data
:
{
level
:
1
,
page
:
0
,
size
:
9999
},
success
:
res
=>
{
console
.
log
(
res
,
'
企业安全检查类别 企业安全检查类别
'
)
this
.
setData
({
secCheckType
:
res
.
data
.
content
})
}
})
},
},
/**
/**
...
@@ -102,6 +150,58 @@ Page({
...
@@ -102,6 +150,58 @@ Page({
},
},
chooseSecCheckType
(
event
)
{
wx
.
request
({
url
:
app
.
globalData
.
appBaseUrl
+
'
/api/enterpriseSafetyInspectionContent
'
,
method
:
'
get
'
,
header
:
{
Authorization
:
app
.
globalData
.
Authorization
},
data
:
{
level
:
2
,
page
:
0
,
size
:
9999
,
pid
:
this
.
data
.
secCheckType
[
event
.
detail
.
value
].
id
},
success
:
(
res
)
=>
{
console
.
log
(
res
,
'
chooseSecCheckType chooseSecCheckType chooseSecCheckType
'
)
this
.
setData
({
secCheckContent
:
[...
res
.
data
.
content
],
curSelectSecCheckTypeReplace
:
this
.
data
.
secCheckType
[
event
.
detail
.
value
].
name
})
}
})
},
chooseSecCheckContent
(
event
)
{
console
.
log
(
this
.
data
.
secCheckContent
[
event
.
detail
.
value
],
'
chooseSecCheckContent chooseSecCheckContent chooseSecCheckContent
'
)
wx
.
request
({
url
:
app
.
globalData
.
appBaseUrl
+
'
/api/enterpriseSafetyMatter
'
,
method
:
'
get
'
,
header
:
{
Authorization
:
app
.
globalData
.
Authorization
},
data
:
{
inspectionContentId
:
this
.
data
.
secCheckContent
[
event
.
detail
.
value
].
id
,
page
:
0
,
size
:
9999
},
success
:
(
res
)
=>
{
this
.
setData
({
secCheckDiscover
:
res
.
data
.
content
,
curSelectCheckContent
:
this
.
data
.
secCheckContent
[
event
.
detail
.
value
].
name
})
}
})
},
chooseSecCheckDiscover
(
event
)
{
this
.
data
.
hdName
=
this
.
data
.
secCheckDiscover
[
event
.
detail
.
value
].
name
this
.
setData
({
hdName
:
this
.
data
.
hdName
,
basis
:
this
.
data
.
secCheckDiscover
[
event
.
detail
.
value
].
basis
,
suggestion
:
this
.
data
.
secCheckDiscover
[
event
.
detail
.
value
].
suggestion
})
},
/**
/**
* 拍照
* 拍照
*/
*/
...
@@ -162,6 +262,10 @@ Page({
...
@@ -162,6 +262,10 @@ Page({
inputHdInspectExpert
(
event
)
{
inputHdInspectExpert
(
event
)
{
this
.
data
.
hdInspectExpert
=
event
.
detail
.
value
this
.
data
.
hdInspectExpert
=
event
.
detail
.
value
},
},
//
inputHdComment
(
event
)
{
this
.
data
.
comment
=
event
.
detail
.
value
},
// 输入隐患名称
// 输入隐患名称
inputHdName
(
event
)
{
inputHdName
(
event
)
{
this
.
data
.
hdName
=
event
.
detail
.
value
this
.
data
.
hdName
=
event
.
detail
.
value
...
@@ -171,10 +275,17 @@ Page({
...
@@ -171,10 +275,17 @@ Page({
console
.
log
(
event
,
'
hdTypeInput
'
)
console
.
log
(
event
,
'
hdTypeInput
'
)
this
.
data
.
hdLevel
=
event
.
detail
.
value
this
.
data
.
hdLevel
=
event
.
detail
.
value
},
},
// 输入检查依据
inpoutBasis
(
event
)
{
this
.
data
.
basis
=
event
.
detail
.
value
},
// 输入整改建议
// 输入整改建议
inputRectSug
(
event
)
{
inputRectSug
(
event
)
{
console
.
log
(
event
,
'
请输入整改建议
'
)
console
.
log
(
event
,
'
请输入整改建议
'
)
this
.
data
.
hdRectificationSug
=
event
.
detail
.
value
// this.data.hdRectificationSug = event.detail.value
this
.
data
.
suggestion
=
event
.
detail
.
value
},
},
// 输入整改日期
// 输入整改日期
inputRectDate
(
event
)
{
inputRectDate
(
event
)
{
...
@@ -306,5 +417,16 @@ Page({
...
@@ -306,5 +417,16 @@ Page({
dataString
+=
`\r\nContent-Disposition: form-data; name="
${
key
}
"\r\n\r\n
${
formdata
[
key
]}
\r\n--XXX`
dataString
+=
`\r\nContent-Disposition: form-data; name="
${
key
}
"\r\n\r\n
${
formdata
[
key
]}
\r\n--XXX`
}
}
return
dataString
return
dataString
},
chooseSecType
(
event
)
{
console
.
log
(
event
,
'
chooseSecType chooseSecType chooseSecType
'
)
// this.setData({
// secCheckTypeReplace:
// })
this
.
setData
({
secCheckTypeReplace
:
this
.
data
.
secCheckType
.
filter
(
item
=>
item
.
type
===
this
.
data
.
secType
[
event
.
detail
.
value
].
name
),
curSelectSecType
:
this
.
data
.
secType
[
event
.
detail
.
value
].
name
})
}
}
})
})
\ No newline at end of file
pages/dangerregister/dangerregister.wxml
View file @
55611f2f
<!--pages/dangerregister/dangerregister.wxml-->
<!--pages/dangerregister/dangerregister.wxml-->
<view class="danger-register-wrapper">
<view class="danger-register-wrapper">
<view class="danger-form-wrapper">
<view class="danger-form-wrapper">
<!-- <view class="danger-order">
<text>序号:</text>
<input type="text" disabled="true" />
</view> -->
<view class="danger-check-date">
<view class="danger-check-date">
<text>检查日期:</text>
<text>检查日期:</text>
<picker class="danger-pick-date" mode="date" value="{{hdInspectDate}}" bindchange="selectCheckDate">
<picker class="danger-pick-date" mode="date" value="{{hdInspectDate}}" bindchange="selectCheckDate">
...
@@ -19,29 +15,108 @@
...
@@ -19,29 +15,108 @@
<input type="text" placeholder="请输入专家名称" bindinput="inputHdInspectExpert" />
<input type="text" placeholder="请输入专家名称" bindinput="inputHdInspectExpert" />
</view>
</view>
<view class="danger-name">
<text>隐患名称:</text>
<textarea type="text" placeholder="请输入隐患名称" bindinput="inputHdName" maxlength="-1"/>
</view>
<view class="danger-type">
<view class="danger-type">
<text>隐患
类型
:</text>
<text>隐患
等级
:</text>
<radio-group bindchange="inputHDType">
<radio-group bindchange="inputHDType">
<radio checked="{{true}}" value="1" color="#1d2089">一般隐患</radio>
<radio checked="{{true}}" value="1" color="#1d2089">一般隐患</radio>
<radio checked="{{false}}" value="2" color="#1d2089">重大隐患</radio>
<radio checked="{{false}}" value="2" color="#1d2089">重大隐患</radio>
</radio-group>
</radio-group>
</view>
</view>
<view class="c11-1">
<text>安全类别:</text>
<view>
<picker
header-text="安全类别"
mode="selector"
range="{{secType}}"
range-key="name"
bindchange="chooseSecType"
>
当前选择: {{curSelectSecType}}
</picker>
</view>
</view>
<view class="c11-1">
<text>安全检查类别</text>
<view>
<picker
header-text="安全检查类别"
mode="selector"
range="{{secCheckTypeReplace}}"
range-key="name"
bindchange="chooseSecCheckType"
>
当前选择: {{curSelectSecCheckTypeReplace}}
</picker>
</view>
</view>
<view class="c11-1">
<text>安全检查内容</text>
<view>
<picker
header-text="安全检查内容"
mode="selector"
range="{{secCheckContent}}"
range-key="name"
bindchange="chooseSecCheckContent"
>当前选择: {{curSelectCheckContent}}</picker>
</view>
</view>
<view class="c11-1">
<text>发现问题</text>
<view>
<picker
header-text="发现问题"
mode="selector"
range="{{secCheckDiscover}}"
range-key="name"
bindchange="chooseSecCheckDiscover"
>当前选择:{{hdName}}</picker>
</view>
</view>
<view class="c11-1">
<text>检查依据</text>
<view>
<textarea maxlength="-1" bindinput="inpoutBasis" value="{{basis}}"/>
</view>
</view>
<view class="danger-rect">
<view class="danger-rect">
<text>整改建议:</text>
<text>整改建议:</text>
<textarea maxlength="-1" bindinput="inputRectSug" value="{{}}"></textarea>
<textarea maxlength="-1" bindinput="inputRectSug" value="{{
suggestion
}}"></textarea>
</view>
</view>
<!--<view class="c11-1">
<text>整改建议</text>
<view>
<textarea value="{{suggestion}}" />
</view>
</view>-->
<view class="danger-img">
<view class="danger-img">
<text>隐患照片</text>
<text>隐患照片</text>
<!-- <camera device-position="back" flash="off" style="width:100%;height:300px;"></camera> -->
<!-- <camera device-position="back" flash="off" style="width:100%;height:300px;"></camera> -->
<image mode="aspectFit" src="{{imgsrcurl}}"></image>
<image mode="aspectFit" src="{{imgsrcurl}}"></image>
<button type="primary" bindtap="takePhoto">拍照</button>
<button type="primary" bindtap="takePhoto">拍照</button>
</view>
</view>
<view class="danger-expert">
<text>备注</text>
<input type="text" placeholder="备注"
bindinput="inputHdComment" />
</view>
<!-- <view class="danger-preview">
<!-- <view class="danger-preview">
<text>隐患照片预览:</text>
<text>隐患照片预览:</text>
...
...
pages/dangerregister/dangerregister.wxss
View file @
55611f2f
...
@@ -59,6 +59,12 @@
...
@@ -59,6 +59,12 @@
border-radius: 5px;
border-radius: 5px;
box-shadow: 1rpx 1rpx 0.5rpx 0.5rpx #eee, -1rpx -1rpx 0.5rpx 0.5rpx #eee;
box-shadow: 1rpx 1rpx 0.5rpx 0.5rpx #eee, -1rpx -1rpx 0.5rpx 0.5rpx #eee;
}
}
.child-hdname {
padding: 20rpx;
border-radius: 5rpx;
box-shadow: 1rpx 1rpx 0.5rpx 0.5rpx #eee, -1rpx -1rpx 0.5rpx 0.5rpx #eee;
margin: 10rpx 10rpx;
}
.danger-type {
.danger-type {
display: flex;
display: flex;
...
@@ -149,4 +155,13 @@
...
@@ -149,4 +155,13 @@
.danger-submit button {
.danger-submit button {
background-color: #1d2089!important;
background-color: #1d2089!important;
}
.c11-1 {
display: flex;
background-color: white;
margin: 3vh 5vw;
justify-content: space-between;
padding: 1vh 2vw;
border-radius: 5px;
box-shadow: 1rpx 1rpx 0.5rpx 0.5rpx #eee, -1rpx -1rpx 0.5rpx 0.5rpx #eee;
}
}
\ No newline at end of file
pages/evaluate/evaluate.js
View file @
55611f2f
// pages/evaluate/evaluate.js
// pages/evaluate/evaluate.js
import
*
as
echarts
from
'
../ec-canvas/echarts
'
const
app
=
getApp
();
function
initChart
(
canvas
,
width
,
height
,
dpr
)
{
const
chart
=
echarts
.
init
(
canvas
,
null
,
{
width
:
width
,
height
:
height
,
devicePixelRatio
:
dpr
// new
});
canvas
.
setChart
(
chart
);
var
option
=
{
backgroundColor
:
"
#ffffff
"
,
series
:
[{
label
:
{
normal
:
{
fontSize
:
14
}
},
type
:
'
pie
'
,
center
:
[
'
50%
'
,
'
50%
'
],
radius
:
[
'
20%
'
,
'
40%
'
],
data
:
[{
value
:
app
.
globalData
.
curEvaluate
.
lessThan60PeopleNum
,
name
:
'
低于60分人数
'
},
{
value
:
app
.
globalData
.
curEvaluate
.
between60And70PeopleNum
,
name
:
'
60到70分之间的人数
'
},
{
value
:
app
.
globalData
.
curEvaluate
.
between70And80PeopleNum
,
name
:
'
70到80分之间的人数
'
},
{
value
:
app
.
globalData
.
curEvaluate
.
between80And90PeopleNum
,
name
:
'
80到90分之间的人数
'
},
{
value
:
app
.
globalData
.
curEvaluate
.
moreThan90PeopleNum
,
name
:
'
高于90分的人数
'
}]
}]
};
chart
.
setOption
(
option
);
return
chart
;
}
/**
* avgScore integer($int32)
企业平均考试成绩
lessThan60PeopleNum integer($int32)
低于60分人数
moreThan90PeopleNum integer($int32)
高于90分的人数
between60And70PeopleNum integer($int32)
60到70分之间的人数
between70And80PeopleNum integer($int32)
70到80分之间的人数
between80And90PeopleNum integer($int32)
80到90分之间的人数
courseCompletedLearnerNum integer($int32)
完成全部课程人数
courseCompletedLearnerRate string
完成全部课程比例(%)
courseLearnerNum integer($int32)
参与学习人数
courseLearnerRate string
学习比例(%)
courseStarLevel integer($int32)
课程评价星级
examCompletedExamineeNum integer($int32)
完成全部考试人数
examCompletedExamineeRate string
完成全部考试比例(%)
examStarLevel integer($int32)
考试评价星级
examineeNum integer($int32)
参与考试人数
examineeRate string
参与考试比例(%)
totalPeopleNum integer($int32)
总人数
*/
Page
({
Page
({
/**
/**
...
@@ -7,14 +105,76 @@ Page({
...
@@ -7,14 +105,76 @@ Page({
data
:
{
data
:
{
grayStar
:
'
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAAAXNSR0IArs4c6QAAAuhJREFUWEftlz1oFEEUx9/LWuhZWRmwEMRYeFh4++bYVJpGEWPjFwliIYKNgpUaMaIgBNTKj0YEEQsTNWChgrGKndmZ4YIBJUI8UqnVgZgi3m6eTLiDy3l7s9mRGMSBhWXnvff/8Z83c3MIq2zgKuOBfw9Ia70VAG4z8w9mHhBCfHZx3dkhrfVdZj5tIBDxge/7J/8a0MTExDbP86YbARYWFnYXi8W3WaGcHFJKDQHAxSbxZ0R0dMWBwjDs7Ojo+NJKmJl7hBDjWaAyO6S1vsLMVxOAXgsh9q0YkFIqBwBz7QSzupTJoXbuNECOE1HPcl1KBVQul9dWKpUtzLz4AMCtlEIDzDwDADNxHM8EQfDdlvcbkNa614giohGuA5j3dbZilvmImc2huQhoHgNbLBZfNOYtAZJS3kPEU47Cy01/SEQn6klLgJRSTwHgyHIrOsZrIqKWQFLKw4g4DABrHEXSpptl7BdCjLYEMh/DMDzged4wM69PWzVLHCLOxXHc37aH6oWVUnsAYAQANmQRS5FTAYA+InrTHJu47cMw3IWII4jYmUIgdQgzf2XmvqQf4LbnkNY6YGbj1ObUiu0DZxGxz/f9d0lh1oNRSrnTLB8ibnOBYuZPZpmEEKV2daxAJrnWU2MuQACwt1XPpO6hxkCllLnzmLtP5sHMF4QQN2wFUjmktR5l5kO2Ypb5x0R0zFYjFZCUctq1hxDxg+/7+T8CpJRiW6E080RkNcAaoJTaAQDv0wjaYqrV6vbu7u6PTrtMSnkcER9ZxK4hYpx0pa3n1s6gJ65A1xHxfKsizHwzl8sN5vP5n7XjIYeI55LAEHHI9/1LTkBKqZcAsL+pyJ0oigaTboBTU1Mb5+fnzwDAYFPeKyLqdQKSUjY6dD+KostBEHyz9YuZL5VKXXEcm3+1Z2vxz4nooBPQ5OTkpmq12uV5XrlQKMymAWmOUUoVACAAgDEiMtfXxGHdZVkAXHL+A9ncW3UO/QKKjCQ0t+MyGQAAAABJRU5ErkJggg==
'
,
grayStar
:
'
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAAAXNSR0IArs4c6QAAAuhJREFUWEftlz1oFEEUx9/LWuhZWRmwEMRYeFh4++bYVJpGEWPjFwliIYKNgpUaMaIgBNTKj0YEEQsTNWChgrGKndmZ4YIBJUI8UqnVgZgi3m6eTLiDy3l7s9mRGMSBhWXnvff/8Z83c3MIq2zgKuOBfw9Ia70VAG4z8w9mHhBCfHZx3dkhrfVdZj5tIBDxge/7J/8a0MTExDbP86YbARYWFnYXi8W3WaGcHFJKDQHAxSbxZ0R0dMWBwjDs7Ojo+NJKmJl7hBDjWaAyO6S1vsLMVxOAXgsh9q0YkFIqBwBz7QSzupTJoXbuNECOE1HPcl1KBVQul9dWKpUtzLz4AMCtlEIDzDwDADNxHM8EQfDdlvcbkNa614giohGuA5j3dbZilvmImc2huQhoHgNbLBZfNOYtAZJS3kPEU47Cy01/SEQn6klLgJRSTwHgyHIrOsZrIqKWQFLKw4g4DABrHEXSpptl7BdCjLYEMh/DMDzged4wM69PWzVLHCLOxXHc37aH6oWVUnsAYAQANmQRS5FTAYA+InrTHJu47cMw3IWII4jYmUIgdQgzf2XmvqQf4LbnkNY6YGbj1ObUiu0DZxGxz/f9d0lh1oNRSrnTLB8ibnOBYuZPZpmEEKV2daxAJrnWU2MuQACwt1XPpO6hxkCllLnzmLtP5sHMF4QQN2wFUjmktR5l5kO2Ypb5x0R0zFYjFZCUctq1hxDxg+/7+T8CpJRiW6E080RkNcAaoJTaAQDv0wjaYqrV6vbu7u6PTrtMSnkcER9ZxK4hYpx0pa3n1s6gJ65A1xHxfKsizHwzl8sN5vP5n7XjIYeI55LAEHHI9/1LTkBKqZcAsL+pyJ0oigaTboBTU1Mb5+fnzwDAYFPeKyLqdQKSUjY6dD+KostBEHyz9YuZL5VKXXEcm3+1Z2vxz4nooBPQ5OTkpmq12uV5XrlQKMymAWmOUUoVACAAgDEiMtfXxGHdZVkAXHL+A9ncW3UO/QKKjCQ0t+MyGQAAAABJRU5ErkJggg==
'
,
yelloStar
:
'
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAAAXNSR0IArs4c6QAAAyFJREFUWEftlj9oE2EYxp83aXMXdXEQCw5CsB0sDopDF8mlFUWti/9IESHttUWo4KRWrCgIBXXSuoi5VgVttAUHFayDubMgHRTBQVFIpZM6CdrS5Ei+V65ajW2S73ontYi3HOR73uf58X7fd3kJS+yhJcaDfw+I0/o6m3AZwCQHuVvd0j/up+u+O2Rb7VeYucuBIKA/pBn6XwPKjnbUUUG8LQYQQmjhxgHLK5SvDuVMvRfAyTnhQ4pmHFh0IE4namwKfigVLJhi4VjS9ALluUM5q+0MmM6WCmXGIzVm7Fg0IH7eucyeLExVCvTaJU8dqtSdWUgCzJBmxBbaJVdAnE6odpAiQaqKiAJHGHzJVRCjGxAZCgQy1VPZDO289UVWNw8oP9rR7ISCOMKMCIAIEUWYOSwzq7ROoLwAjwOcAVNm5k2UUTXjfnHdb0BZs+0qgTr9BC+0loDrIc1oLdrqXxY5U78LYP9CTX3pCS+UqLG5NFC6dR9RcJDBVb5CXBY728hcaFFiA8MlgZwfs6a+OwAMMrDcpa8nGQFTAmipeIZmnbNW2zZiSgFY6SlNXvSZieNqtP/xXGnZaz/9pDVKAUoRqEbu717B4I8sOF7uD7jid8hOtzcIcIoIa91HllcyYyIAiodiybFyKumH0bb0jYKRIqDODxQD7wKEeChqvKz8vXKR8uNMjbiQlpVwgberTfPPjOszVCzMmboz8zizj/dH4ITSaFyQGUi3zDHIWfowGHtlZpL124pmHJR5uAMydWdM9XWGALxWNKP+TwGxzMjNuqIZ0gZIBTkrsQEcfOUmUKohWq9Ek2983TLb1A8xcLNimOBzCKJQbqT9WcsUV2LJO76AsqZ+noDjpU34YmjV1x6qH7Kd9ZnRdip/rDwY9Spa8pQvoJylPwBjV7EJgfqq1XAPNfSVnAB5rH21Pc1HQOgprmPGQzVmNPsCKu4QAdfsPJ1esTX5SXpenMnBStQGEOxixtHver6naP17fAHxs8Nrsrl8LQS/DzcZE25A5mrsp62bIAINopAfUZtuZHwBeQHwUyO99n7MvdT+B5J17Rt8DiM07n1e9QAAAABJRU5ErkJggg==
'
,
yelloStar
:
'
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAAAXNSR0IArs4c6QAAAyFJREFUWEftlj9oE2EYxp83aXMXdXEQCw5CsB0sDopDF8mlFUWti/9IESHttUWo4KRWrCgIBXXSuoi5VgVttAUHFayDubMgHRTBQVFIpZM6CdrS5Ei+V65ajW2S73ontYi3HOR73uf58X7fd3kJS+yhJcaDfw+I0/o6m3AZwCQHuVvd0j/up+u+O2Rb7VeYucuBIKA/pBn6XwPKjnbUUUG8LQYQQmjhxgHLK5SvDuVMvRfAyTnhQ4pmHFh0IE4namwKfigVLJhi4VjS9ALluUM5q+0MmM6WCmXGIzVm7Fg0IH7eucyeLExVCvTaJU8dqtSdWUgCzJBmxBbaJVdAnE6odpAiQaqKiAJHGHzJVRCjGxAZCgQy1VPZDO289UVWNw8oP9rR7ISCOMKMCIAIEUWYOSwzq7ROoLwAjwOcAVNm5k2UUTXjfnHdb0BZs+0qgTr9BC+0loDrIc1oLdrqXxY5U78LYP9CTX3pCS+UqLG5NFC6dR9RcJDBVb5CXBY728hcaFFiA8MlgZwfs6a+OwAMMrDcpa8nGQFTAmipeIZmnbNW2zZiSgFY6SlNXvSZieNqtP/xXGnZaz/9pDVKAUoRqEbu717B4I8sOF7uD7jid8hOtzcIcIoIa91HllcyYyIAiodiybFyKumH0bb0jYKRIqDODxQD7wKEeChqvKz8vXKR8uNMjbiQlpVwgberTfPPjOszVCzMmboz8zizj/dH4ITSaFyQGUi3zDHIWfowGHtlZpL124pmHJR5uAMydWdM9XWGALxWNKP+TwGxzMjNuqIZ0gZIBTkrsQEcfOUmUKohWq9Ek2983TLb1A8xcLNimOBzCKJQbqT9WcsUV2LJO76AsqZ+noDjpU34YmjV1x6qH7Kd9ZnRdip/rDwY9Spa8pQvoJylPwBjV7EJgfqq1XAPNfSVnAB5rH21Pc1HQOgprmPGQzVmNPsCKu4QAdfsPJ1esTX5SXpenMnBStQGEOxixtHver6naP17fAHxs8Nrsrl8LQS/DzcZE25A5mrsp62bIAINopAfUZtuZHwBeQHwUyO99n7MvdT+B5J17Rt8DiM07n1e9QAAAABJRU5ErkJggg==
'
,
headPotraitPic
:
'
data:image/jpg;base64,/9j/4AAQSkZJRgABAQEAAQABAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAQ4BDgDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD2uiiivOPpwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigBKKUdarz3ltbozT3EMYHdnAosTzIsUVg3ni/w/af6/VrUeoVwx/SsO8+KXhi2Yg3ry4/55xk00hc6O6pK8ruPjdo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rwzqVzuwyQsF/wB48CvmbB3FmJJY5JNKlHqFR6B06CgU6iuhIxCigUVWw9gooooAKKKKAGkZFdV8NNefQ9diDOfs9yRHID0Hoa5eruhadPqmqW9raKWd3Gcfwj1rOSuhwZ9QRuHVXBBB5GO9PNVrGH7PaQxE5KKFJ9wKsL901xHTFhRRRQUFFFFMAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAp6np9tqVnJbXkayROMEMOn0968D8deE7nw5fMyoZLFz+7lH8j719EVU1PT7fUrOS1vI1kideh/mPerhNxeplKB8sg9adXTeOvCNx4cvmaMb7GQ5jk9B6GuYWuta6mDVmLR0oopiRCrmK5jmBIZWDDHsc19VaJci90ayuc7i8K5+uK+Vpl+Q+or6S+G0nm+CNMOc4TGT7Gsaq0NoHQvGJoZYGA2yKVIPuDXytfwG11a9tzx5crL+RNfVsJ2uDXzX8Q4RbeNtTA4VpN351NDqOojoPgbffY/HUMTHC3UbRn+Yr6WHevk74bsR430jacZm/SvrEdTWsx4fqh1FAoqDqCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACgdDRQKBGT4sk8rwxq7/3bOT/0E18cnBcMOhGf1r7D8YRGfwtrESnBa0kA/BDXx8y4Qj0GK1gclbdHqHwIt92p6jOP4IgteyKc8V5D8AZFFxqqE8lFH616/naa5Kq1Kp7HnfxuujB4YggAGZ5gG/CvEF5/CvZPj2P+JLpp7ef/AErxpeRW9FaGc2PooorYzCiiigYUUUUAFFHHen2kMt3dw2tvGZJpCAqikBLpVjdarqCWdlEXldsDjge5r37wR4Rt/DVmpwHvXH7yQj9Kb8PfCcPhvTg8iiS+lG6R/T2FdYTuzXLUqX0RvThpdiUUUViWFFFFBQUUUUwCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooCxR1bTbfVLKS1vEDxOMcjp9Pevnrxj4cuPDepvBJloGJ8uT+8K+k6wfGPhuDxHpE1tJhZwCYn9D/wDXrWlPldmZTh1Pm1TmlqxqdjPpd5La3UZSWNip96rLXSc6Y2QZQgV9GfC4bPAunKeu3P4V87dfl/D8a+l/B9mbLwzp0J6iFcj3rGq9DWmbAbmvnL4nsJPGeoMP7+K+jFHNfMvjK4+1eJtSlz96ZvyqaS1KqPQs/DhGbxppIwzbZxgD0r63Xoa+V/gtbPeeP7JQTtjy5P0r6pXqa2kPD9RRRQKKg6gooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooEVdTgN1p13ApwZYXQH6givjS8iaG5uInBVkcqc98GvtQcnFfLHxY0Y6N4zvU6pcH7Sv0b/wCvmtYHPWXUvfA27EPiyS2c4+0QNt+q817sRnivlvwxqB0nxDYXyMR5Ugz9Dwa+oY5UnhjmQgo6hgR7iueqrsimzjPjFYfbPBNxIq7pLeVJR7Dof518/wAXIr6tv7VLzTbi1nGY5VKsD7jFfMWs6ZNpGrXdjcD54ZCBnuM8Gqoy6BJFOiiitzIKKKKYBR+NFNPek3YSDG44HXsK9y+GHgtdJtk1O/XN7InyKw+4p/rXJ/CjwcNTn/tS/T/RYj+6U/xEd69txhTzx2rnqVG9EbQjrcbRRSVz2NkhaKKKBhRRRTAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAPPPix4S/tey/tGzUfbIB84A++v8AjXiRypIIwRxX1eQCCDjpjB7ivBfip4abR9ZN3bR4srkluOit3Fb0Z9GYTglqjE8C6dFqniiwt7hwsRk3NnvjnFfSwVUAVeFUYAr5W066eyvYbmPIeJgyn+Yr6X8NatDrekQXlu3DDDD+6e4orJhB2DxDeLp+iXt2zbRFET+OMCvmGR/OkkkY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/OtTvXM1Z2OmOquLRRRSGFFFFMAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKABaiuYEubeWGYBopFKsD71LRTi7CaufMnivSH0TXLmzKnYjEofUHpXXfAzxAdH8R/YpXxbXvy89m7Vt/HLSTJY2upwL/AKsmOTA5weleRW0720iTRkiSMhlI7EHIrqg7o578sj7VBzSisHwRrC674asb5W3NJGA/+8Otb9I64u6EooopFhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXh/wC0ZrjAadokDcZFxP6eij+Zr252CIzN91Rk/Svkbx3rJ13xTqF91jMhWLn+BeB/KqiYVXZGNbQvc3EUMQy8jBFHuTivTbL4Ry/bIxfXwFsvLBF5PtWP8HtKF/4lW5kXMVoC/sW7GvdxWdWdtEY04p6shsbeKzs4baBQscahVAGKnooHesNzoQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAGd4i01NW0W7snAPmpgf73avmK9ga2nlt5QVdGKkH1r6urwL4xaUNP8VGeMARXS7xj171tRl0MKkdbnc/s8a4WW90aQ/Kg86LJ/Aiva6+RfAerSaJ4o0+7UkJ5gSTnHB4r63iYPGrDowBFas0oyurMfRRRUnQFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUCgDkvihrH9i+Cd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QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFA6GgBrsEjZm+6ASa+MtYnNzrmozn/lpO7fqa+v/EE62uhalcSfcjgcn/vk18aKcySkdAe/6VcTlrPoevfAi1/datdf7Sxflz/WvVfWuB+CkHk+FppQMLLcNgfTj+ld+Dmuaq7ysOlsFFIOhpazNAooopgFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUVk+IfEOnaBbiXUpvL3cIg5L/AEFFm9hNpbmtRXI6V8Q9A1BvLF35MmcYmUr+tdTb3ENxGHgnilQ942DD9Kbi0SpJ7EtFFFIsKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKa7Kis0jBVHcnArlPEPj/RNIZolnN3cqD8kQz+Z6Cmot7EuaR1tVbvUbOz/AOPu7ghyMje4Xj8a8Q8QfE/W9QZk04pp8J7qNzf99dvwriLy6u7ovLeTtO5OSznJNaqi2Zusj6tt5Yp4Vlt5FkjboynINPryT4D3d9IuoQTbmtVVWUt2Y8YFet1nKPK7Fwd9QoooqSwooooAKKKKACiiigBR1r59+LkPleNrxsYEiq4+mK+ghXh/xsQjxPE5Bw0CgHHBrWluY1dil8FZvJ8f2XON4ZT78V9RA18l/DKVovG+ksP+eoX86+ta2kXQ2CiiipOgKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKB3ooFAHM/EiUQeBtbfv9ldM/Wvk1OGOe5zX1H8ZHC/DvVh/E2xfzYV8tkneSOtaROOrufQXwkhMfge0LdXd3H4k/wD167Bfumuc+HEYj8D6Quc5hz+pro1+6a457s1p/CFFFFIoKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK8Y+OGm3v9sW2oIrGz8ry+OQrDOfzr2emXMEVxE0U8aSIwwVddyn6irhLldyJx5lY+Tm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KKKKACiiigAooooASpbVtkwJ6Hio6VBlsDrWdWKlBpji9TbtHEdzG56A11kbBlBHIIrjU+7XQaJdeZGY26qOPevk8TTvqjLF021zGsOlApBS1wHnFa8hE9u8Z7iuYiZra4yeCprrhWPrFgXJmhA3dwO9dNGaXuvY68NVSvCWzNO1nSePch57ipVrkIpZYX+VnQira6ncbMMwJHenKhd6McsI27xeh0nFZ+o6gsCFY2BfHQHpWJJezyDDyH8DioANxyaulh3c0p4OzvIWSR5ZGZzkmpol2rTI0AOTzU3avVo0eXVnW7JWQlV9QuBaWU9w7ALFGznJ44GasV518bfEI0zw01jEf3158uR2Xvmu6lBykkYzdkfPurXr6hql3dOSTNKzj6Zr1n9m/TPMudS1FlBCfuwT1zXjMQO7AGT0A96+pPg9oTaF4Oto5lCz3B86Qe5/+tXtLRGEFeVztqKKKk7AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigBOxrx342+Bzdq3iDTUzcRgLcRKPvKP4/qOhr2KmSxLNE6SKGRgVYHuKaZnOKkj4qVSkwdDhlbIPcEV7p8LvGK61Z/2feyf6fAMAt/GnauK+K/gd/DmqyXtnGTpdw5ZTj/AFbd1NcPpt3Np91HdWrlJYyCrA9eabipI5U3Bn1WtFcz4E8UweJdMD5CXcfyyx55+o/SulrlcXF6m8ZKSFooopFBRRRQAUUUUAFS2bbbhCfXFRUA4OR1FS1dAdHRUNq/mQKxPOKmrz2rOxYUUUUgCiiigAooooAKKKKACiiigAooooAbUF+cW71ZrO1VyFVR3FXSXvEt2M1aKO1Fd8RBRRRTAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAq3Zw4BZx16CmWcQYlmHA6VcBAViTivMxWIv7kDanDqxQwXqalglaNw6HBFZc0m9+tSwT8BX/AANc08G/ZqQ+ZS91naaddC4i/wBodRVwVyFrO8EgeM8j9a6Swu0uUyDhu4rxatHl1PNxFBwd1sWxSYpRRXOzlK8ttFKc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89+K52EfNW14hfEcag8E81jQDL8V62Ag+ZHqYRWp3Lg6U5aaKd619hHY1EoooqhieleafF77lj/vNXplcJ8WLNptGSaMKWifJPcD2rGurwZ04KSjWjc8pt/9cv1FdF2rmlO0gg8iuht5BJCjDnivOgfZU2SUUGha1NgooooAKKKKACiiigAooooABVPUbgRRFAcuafd3IgQgfePTFYkkjSOWY5NZzkloZTqW0Qzkn3NerfDjwybOIahep++kGYx/dX/GuX8BeGZNVu1up1K2kbA8j75HavY4VCRhFAAAxgV04el9pnzuZYu/7uD9SQDilpB0pa7DxAFFAopjCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigApD0NLRQhM+V/jGMfEjVD6bP/QRTPhQf+K0sv8Adb+Vanx6gRPHksqAL58aMw9wKwvhpOIPGWnZDHcxUY9wf8KuS91nDa0j6NWlpvelriOgKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoHHIoopWuC0NOJ1ddwP4VWvI/4xTLJwjkN3q66hkIryJXoVtNjqj78TLop7ptYim4r1ozUldHPJa2EoooqiQooooAKKKKACiiigZ5N8dpVMulwg/MAzkfXivLEUu6oOdxA/HNehfG6YP4htIwR8kAzjsSSf8ACuO8K2hvfEWm2y9ZLhAD+Oa7qatFHLPc+sPDkZh0DTYSD+7t0T8hWj2o+VFVUACgAcCo5JVUVhWrRhdtnZTi7IWVwg96qxI0suxASx6UM29vXNbmj2ZjBkcfMentXzOPxftNiqs1Tj5mjbxCOJV9BUtAorwmePJ3ClpDUU8ghjZmPAFKKu7BFNuyMHW5t91tGMLVW1XqajmfzJXY9zVmIYQV9JllK8r9j2YpQgkSUZoor6MAooooGFZ2tWK6hYT28mdsikVo0nXrQ0mrMItxd0fOF3A1tdTQSKQY2KkHr1q/pE3WMn6V1PxQ0M29yNThAEcmFcDsfWuFgcxtuWvJnFwlY+vwVdVYKSOjoqG1nWeMEfeHUVP1q07nopiUUUUxhRRRQAUU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s5UdGHQ145BM0c6SoSrqwIYcEYq5rmVjjjeMrM+rh0PP/wBelrnfAuvRa7ocM6585AEkVjzkd66KuKSs7G6dwooopDCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKcg3NgU2rFouZDWVWfJBsqCuy3FHsQCuh0axEa+bIMuemRWRp8Pn3SIR8vU11kYCptWvlcTWbZliqnKuRCr3pTQKDXAeciKaVIYi8hAArmb+9a6mPB2dFFWdbuvNk8pT8q1Jo1kHbzZBwOgNdcIqnG73O6lBUo88tygllOy5WJqPsVzjiFq6xQBSUvrDF9dl2OQe3kjGZI2A9xUYXBrsmVWGGUEe4rC1u2WFldFAUnBAFaUq3O7M3o4vnlZlOFEIJ4JqYd6r2xAYirVfV4HllTTR0SVmIKWigdDXeSFFFFAwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACjtRRQBmeIdKi1nRbuwmC4nQoCwyAexr5Q8VeHr7w7q0tjfxMu3/VyY+Vx6g19gkZ69K4X4r+Co/FejGWHK6nbDdAc/K3sa0izlrQ+0jwrwD4mk8OaoHdibORtsy45x619B2lzFeWsdxburxSKGVh3FfLmpWM+m3clpdJ5dxGdrjtmuw+G3jN9Fvfsmoyyvp8vGQc+U3+FYVafVGdOR7zRTIpFljWSNgyOoZSO4p9YG4UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFIAooopgFFFFABRRRQAVbsRy5+lVKu2HR/wAK5cX/AA2aUviNvRP+Pk/Sujrm9E/4+z9K6SvksR8RxYr4wNNY4Rj6DNOpkgzG49RiskcsdzkJDukcnnJrrLWMRwIoHGK5WRDHKVccg11NpKssKlSDx2rqqL3Ud2JTcVbYlqlNqVvFMI2LZPcdqszSCOJmJGAK5V8NK5X+JuPes6dPmTuY4ehzptnXr8y5zkGs/W4w9o5IzjFW7QFbdAeoFRaj/wAeb/SopvlmRT92ojmIvvirtUU4YGrqdK+syuV4tHry7jqKKK9ckKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACkxS0lArXPFv2gvDtmlouuQrsu5GEbhfuv749fevDos/w/KMZNfRP7Qn/IoxHv5wr52U/uzjI4rVu8bHHZRbsfTvg6JofDeno7lj5Skk/StntWN4Lcv4W05mJJMK8mtfNcD6mkQooopFBRRRTAKKKKACiiigAooooAKKKha5gUkGeLI7FhRZvYTdiaioftcH/PeL/voUouYScebF/30KVn2FzIlopEIYZDoQfQ5pcj1FOzHzIKKQfpS0DCiiigAooUEg4/nSZwMnAHqTRYVxaKiNzCuQZoff5h/jR9qg/57Q/99CjlbFdEtFU59VsIGAlvLdcjP3xVc+INIX72o2w+sgoSfYfMjUornLvxv4etciTVLdiBuwpzWTP8UfD8cTGM3ErDoqpimoN9BOSO6orzTS/i1Y3Wo+Vc2UtvbH5RKXzj3bivR7W4huYEmgkWSJwCrr3FNxa3BNPYfRRRUlBRRRQAVesejVRq5YsAXB7iuXF3dNpF03Zm3oX/AB9t9K6TFcrp04t7kMeh4NdSjBlyDkGvk68feucmLT57i0UUVgcaMXVrEnMsYz68dayo5poQVR3T2yRXXYHSqz2MEjZaMGuiFXTU7KWJsuWepzb3UzqQ8jEemau6PYmVvNlXEangEdTWqunWynIiX8eatIoVcDoKbrK1kOpiFy2hoKvHFVdR/wCPST6VbHSqOsSeXZv6kYFY01eSOalrNHNL94VdXoapJ98VdXoa+symLs2exIcKKBRXsCCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA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CkdT/wCgpB/3zT4PghqRbMmr26gf9M+te7AAdqb3Ip2D2jPLNM+Cmjxx/wDEwvLmWY9fKOB+VdXongHw3pMySwadE0qdJX5J/CunpyrkUIlyYIAqjaNv+yOgpe/WiigncDSUvFHFMaCikPXilQE9altIuFNy2QnNOReadtpVGBUSn2Oqlhne8hwAFH0ozxS1lex3JWAUUUUigooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigApMUtFABRRRQAmKTHfFOpMUXJcU9xrRgimCPHSpaB0NWptGToRfQjwaTHFTYppWqVQxeEiyL3pKl2j0o2CnzmcsI+hDjFCjg1MIwQeaZ5RB68U1NGTw0huBR9Kk2e4pPL9xT50P6vOwyinbaAhwaXMiVQl2G0q0u00BcVXMgdGSWwlGKTDf3TRg+hpcyI9nLsFAowfQ0YPoapSSD2cuwYpMUvTqSKPxNHMieV9hMUoAo49aPxo5g5X2Cij8aUD2oUkhqEn0Eopdp9KXYaOZD9nLsNopcH0pEDHtT5kHs5dgopdpp3lmlzxK9jPsMFFO2YpNpqeaLD2M+wtNFP2ml2UcyKWHmRijr0pxQ04LRzIFhpkeaTr0qXyhQIh60udF/VJEeKBmpdopdvtS9oWsI+rIcH3peR0GampQvpS9oWsJFbkKIxHNKIh1JqU0VLqNmkcPCIzYKXFKKdtqbm0YqIlKtJSjoaRQlFFFAwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooATFLRRQAZooooAQUtFFABRRRQAUUUUAJiloooATAowKWigBKKMUYoFZBRRijFAWQYHpRgUYoxTuTyIMD0owPSloo5mHIhMD0paTFGKVx8qFzSUYoxQOyDj0ooxRii4WQYpaKKBhSYpaKAExS0UUAFJilooATFLRRQAmKWiigAozRRQAUmKWigBMUtFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB//9k=
'
headPotraitPic
:
''
,
completedCourseNum
:
0
,
completedCourseRate
:
"
0%
"
,
completedPaperNum
:
0
,
completedPaperRate
:
"
0%
"
,
courseStarLevel
:
0
,
paperStarLevel
:
0
,
totalCourseNum
:
0
,
totalPaperNum
:
0
,
isManager
:
false
,
isStaff
:
false
,
avgScore
:
0
,
lessThan60PeopleNum
:
0
,
between60And70PeopleNum
:
0
,
between70And80PeopleNum
:
0
,
between80And90PeopleNum
:
0
,
moreThan90PeopleNum
:
0
,
courseCompletedLearnerNum
:
0
,
courseCompletedLearnerRate
:
0
,
courseLearnerNum
:
0
,
courseLearnerRate
:
0
,
courseStarLevel1
:
0
,
examCompletedExamineeNum
:
0
,
examCompletedExamineeRate
:
0
,
examStarLevel
:
0
,
examineeNum
:
0
,
examineeRate
:
0
,
totalPeopleNum
:
0
,
ec
:
{
onInit
:
initChart
}
},
},
/**
/**
* 生命周期函数--监听页面加载
* 生命周期函数--监听页面加载
*/
*/
onLoad
:
function
(
options
)
{
onLoad
:
function
(
options
)
{
console
.
log
(
app
.
globalData
,
'
app.globalData app.globalData
'
)
if
(
app
.
globalData
.
curRole
===
'
企业管理
'
)
{
this
.
setData
({
isManager
:
true
,
...
app
.
globalData
.
curEvaluate
})
}
if
(
app
.
globalData
.
curRole
===
'
企业员工
'
)
{
this
.
setData
({
isStaff
:
true
})
}
wx
.
request
({
url
:
app
.
globalData
.
appBaseUrlV2
+
'
/api/learningEvaluation/evaluatePerson
'
,
method
:
'
GET
'
,
header
:
{
Authorization
:
app
.
globalData
.
Authorization
},
success
:
(
res
)
=>
{
console
.
log
(
res
,
'
app.globalData
'
)
this
.
setData
({
completedCourseNum
:
res
.
data
.
completedCourseNum
,
completedCourseRate
:
res
.
data
.
completedCourseRate
,
completedPaperNum
:
res
.
data
.
completedPaperNum
,
completedPaperRate
:
res
.
data
.
completedPaperRate
,
courseStarLevel
:
res
.
data
.
courseStarLevel
,
paperStarLevel
:
res
.
data
.
paperStarLevel
,
totalCourseNum
:
res
.
data
.
totalCourseNum
,
totalPaperNum
:
res
.
data
.
totalPaperNum
})
}
})
console
.
log
(
app
.
globalData
.
curRole
,
'
app.globalData.curRole
'
)
},
},
/**
/**
...
...
pages/evaluate/evaluate.json
View file @
55611f2f
{
{
"usingComponents"
:
{}
"usingComponents"
:
{
"ec-canvas"
:
"../ec-canvas/ec-canvas"
}
}
}
\ No newline at end of file
pages/evaluate/evaluate.wxml
View file @
55611f2f
<!--pages/evaluate/evaluate.wxml-->
<!--pages/evaluate/evaluate.wxml-->
<view class="evaluate-wrapper">
<view class="evaluate-wrapper">
<view class="card-wrapper">
<view class="card-wrapper">
<view class="nickname-wrapper">相善若水</view>
<
!-- <
view class="nickname-wrapper">相善若水</view>
<view class="nickname-interface">当前用户名称</view>
<view class="nickname-interface">当前用户名称</view>
-->
<view class="person-image-wrapper">
<
!-- <
view class="person-image-wrapper">
<image class="person-image" src="{{headPotraitPic}}"></image>
<image class="person-image" src="{{headPotraitPic}}"></image>
</view> -->
<!-- <view class="entry-belong-to">所属企业</view>
<view class="entry-name">威海华发房地产开发有限公司</view> -->
<view wx:if="{{ isStaff }}">
<view class="study-info">学习情况</view>
<view class="complete-class">完成<span class="complete-degree">{{completedCourseNum}}</span>课程/共<span class="complete-degree">{{totalCourseNum}}</span>课程</view>
<view class="complete-percent">完成百分比: <span class="complete-degree">{{completedCourseRate}}</span></view>
<view class="evaluate-star">评价: <image wx:for="{{courseStarLevel}}" class="star-for-evaluate" src="{{yelloStar}}"></image><image wx:for="{{5 - courseStarLevel}}" class="star-for-evaluate"src="{{grayStar}}"></image></view>
<view class="study-info to-top-margin">考试情况</view>
<view class="complete-class">完成<span class="complete-degree">{{completedPaperNum}}</span>课程/共<span class="complete-degree">{{totalPaperNum}}</span>课程</view>
<view class="complete-percent">完成百分比: <span class="complete-degree">{{completedPaperRate}}</span></view>
<view class="evaluate-star">评价: <image wx:for="{{courseStarLevel}}"class="star-for-evaluate" src="{{yelloStar}}"></image><image wx:for="{{5 - courseStarLevel}}" class="star-for-evaluate"src="{{grayStar}}"></image></view>
</view>
<view wx:if="{{ isManager }}">
<view>
<view class="class1-0">参与学习情况</view>
<view class="class2-0">
<span class="class2-2">参与<text class="class2-1">{{courseLearnerNum}}</text>人</span>
<span class="class2-2">参与度<text class="class2-1">{{courseLearnerRate}}</text></span>
</view>
<view class="class2-0">
<span class="class2-2">完成全部课程<text class="class2-1">{{courseCompletedLearnerNum}}</text>人</span>
<span class="class2-2">共<text class="class2-1">{{totalPeopleNum}}</text>人</span>
<span class="class2-2">完成度<text class="class2-1">{{courseCompletedLearnerRate}}</text></span>
</view>
</view>
<view>
<view class="class1-0">参与考试情况</view>
<view class="class2-0">
<span class="class2-2">参与<text class="class2-1">{{examineeNum}}</text>人</span>
<span class="class2-2">共<text class="class2-1">{{totalPeopleNum}}</text>人</span>
</view>
<view class="class2-0">
<span class="class2-2">完成全部考试<text class="class2-1">{{examCompletedExamineeNum}}</text>人</span>
<span class="class2-2">共<text class="class2-1">{{totalPeopleNum}}</text>人</span>
<span class="class2-2">完成度<text class="class2-1">{{examCompletedExamineeRate}}</text></span>
</view>
</view>
<view>
<view class="class1-0">成绩统计情况</view>
<view class="class2-0" wx:if="{{avgScore !== null}}">
<span class="class2-2">企业平均成绩<text class="class2-1">{{avgScore}}</text>分</span>
</view>
<view class="evaluate-star">评价: <image wx:for="{{courseStarLevel}}" class="star-for-evaluate" src="{{yelloStar}}"></image><image wx:for="{{5 - courseStarLevel}}" class="star-for-evaluate"src="{{grayStar}}"></image></view>
<view class="container" style="width: 500rpx;height: 500rpx;display: flex;justify-content: center;margin: 0 auto;" wx:if="{{avgScore !== null}}">
<ec-canvas style="width: 700rpx;height: 500rpx;" id="mychart-dom-pie" canvas-id="mychart-pie" ec="{{ ec }}"></ec-canvas>
</view>
</view>
</view>
</view>
<view class="entry-belong-to">所属企业</view>
<view class="entry-name">威海华发房地产开发有限公司</view>
<view class="study-info">学习情况</view>
<view class="complete-class">完成<span class="complete-degree">2</span>课程/共<span class="complete-degree">10</span>课程</view>
<view class="complete-percent">完成百分比: <span class="complete-degree">20%</span></view>
<view class="evaluate-star">评价: <image class="star-for-evaluate" src="{{yelloStar}}"></image><image class="star-for-evaluate" src="{{yelloStar}}"></image><image class="star-for-evaluate"src="{{yelloStar}}"></image><image class="star-for-evaluate"src="{{yelloStar}}"></image><image class="star-for-evaluate"src="{{grayStar}}"></image></view>
<view class="study-info to-top-margin">考试情况</view>
<view class="complete-class">完成<span class="complete-degree">2</span>课程/共<span class="complete-degree">10</span>课程</view>
<view class="complete-percent">完成百分比: <span class="complete-degree">20%</span></view>
<view class="evaluate-star">评价: <image class="star-for-evaluate" src="{{yelloStar}}"></image><image class="star-for-evaluate" src="{{yelloStar}}"></image><image class="star-for-evaluate"src="{{yelloStar}}"></image><image class="star-for-evaluate"src="{{yelloStar}}"></image><image class="star-for-evaluate"src="{{grayStar}}"></image></view>
</view>
</view>
<view class="bgcolor-cover"></view>
<view class="bgcolor-cover"></view>
</view>
</view>
\ No newline at end of file
pages/evaluate/evaluate.wxss
View file @
55611f2f
...
@@ -121,4 +121,39 @@
...
@@ -121,4 +121,39 @@
background-color: #090D9C;
background-color: #090D9C;
z-index: -1;
z-index: -1;
border-radius: 0 0 70rpx 70rpx;
border-radius: 0 0 70rpx 70rpx;
}
.class1-0 {
position: relative;
font-size: 34rpx;
font-family: 'PingFang SC';
font-weight: bold;
color: #333333;
line-height: 39rpx;
margin: 10rpx 38rpx;
}
.class1-0::before {
content: '';
display: block;
position: absolute;
left: -20rpx;
top: 50%;
width: 11rpx;
height: 29rpx;
background: #090D9C;
transform: translatey(-50%);
}
.class2-0 {
margin-left: 38rpx;
font-family: 'PingFang-SC-Medium';
font-size: 30rpx;
}
.class2-1 {
color: #090D9C;
font-family: 'PingFang-SC-Medium';
font-size: 38rpx;
margin: 0 10rpx;
}
.class2-2 {
margin-right: 30rpx;
}
}
\ No newline at end of file
pages/exam/exam.js
View file @
55611f2f
// pages/exam/exam.js
// pages/exam/exam.js
const
app
=
getApp
();
Page
({
Page
({
/**
/**
...
@@ -27,11 +28,37 @@ Page({
...
@@ -27,11 +28,37 @@ Page({
* 生命周期函数--监听页面加载
* 生命周期函数--监听页面加载
*/
*/
onLoad
:
function
(
options
)
{
onLoad
:
function
(
options
)
{
wx
.
request
({
url
:
app
.
globalData
.
appBaseUrlV2
+
'
/api/onlineExamPaper/page
'
,
method
:
'
get
'
,
header
:
{
Authorization
:
app
.
globalData
.
Authorization
},
data
:
{
page
:
0
,
size
:
999
},
success
:
(
res
)
=>
{
if
(
res
.
statusCode
===
200
)
{
console
.
log
(
res
.
data
.
content
,
'
res.data.content res.data.content
'
)
res
.
data
.
content
.
forEach
(
item
=>
{
if
(
!
item
.
score
)
{
item
.
isExamed
=
false
item
.
score
=
0
}
else
{
item
.
isExamed
=
true
}
})
this
.
setData
({
examList
:
res
.
data
.
content
})
}
}
})
},
},
/**
/**
* 生命周期函数--监听页面初次渲染完成
* 生命周期函数--监听页面初次渲染完成
*/
*/
onReady
:
function
()
{
onReady
:
function
()
{
...
@@ -48,6 +75,13 @@ Page({
...
@@ -48,6 +75,13 @@ Page({
backgroundColor
:
'
#090D9C
'
,
backgroundColor
:
'
#090D9C
'
,
frontColor
:
'
#ffffff
'
,
frontColor
:
'
#ffffff
'
,
})
})
if
(
app
.
globalData
.
isNeedNavigateTo
)
{
app
.
globalData
.
isNeedNavigateTo
=
false
wx
.
navigateTo
({
url
:
'
/pages/testpaper/testpaper?id=
'
+
app
.
globalData
.
testPaperId
+
'
&singleScore=
'
+
app
.
globalData
.
singleScore
+
'
&multiScore=
'
+
app
.
globalData
.
multiScore
+
'
&justifyScore=
'
+
app
.
globalData
.
justifyScore
,
success
:
function
(
event
)
{}
})
}
},
},
/**
/**
...
@@ -97,20 +131,47 @@ Page({
...
@@ -97,20 +131,47 @@ Page({
this
.
setData
({
this
.
setData
({
animationSearch
:
repAnimation
.
export
()
animationSearch
:
repAnimation
.
export
()
})
})
},
/**
* 搜索考试内容
*/
searchExam
()
{
},
},
/**
/**
* 跳转到考试试题
* 跳转到考试试题
*/
*/
LinkToTestPaper
()
{
LinkToTestPaper
(
event
)
{
wx
.
navigateTo
({
wx
.
navigateTo
({
url
:
'
/pages/testpaper/testpaper
'
,
url
:
'
/pages/testpaper/testpaper
?id=
'
+
event
.
currentTarget
.
dataset
.
index
.
id
+
'
&singleScore=
'
+
event
.
currentTarget
.
dataset
.
index
.
singleChoiceScore
+
'
&multiScore=
'
+
event
.
currentTarget
.
dataset
.
index
.
multipleChoiceScore
+
'
&justifyScore=
'
+
event
.
currentTarget
.
dataset
.
index
.
judgmentScore
,
success
:
function
(
event
)
{}
success
:
function
(
event
)
{}
})
})
},
/**
* 搜索考试内容
*/
searchExam
(
event
)
{
wx
.
request
({
url
:
app
.
globalData
.
appBaseUrlV2
+
'
/api/onlineExamPaper/page
'
,
method
:
'
get
'
,
header
:
{
Authorization
:
app
.
globalData
.
Authorization
},
data
:
{
page
:
0
,
size
:
999
,
name
:
event
.
detail
.
value
},
success
:
(
res
)
=>
{
if
(
res
.
statusCode
===
200
)
{
console
.
log
(
res
.
data
.
content
,
'
res.data.content res.data.content
'
)
res
.
data
.
content
.
forEach
(
item
=>
{
if
(
!
item
.
score
)
{
item
.
isExamed
=
false
item
.
score
=
0
}
else
{
item
.
isExamed
=
true
}
})
this
.
setData
({
examList
:
res
.
data
.
content
})
}
}
})
}
}
})
})
\ No newline at end of file
pages/exam/exam.wxml
View file @
55611f2f
...
@@ -11,18 +11,31 @@
...
@@ -11,18 +11,31 @@
</input>
</input>
</view>
</view>
<scroll-view scroll-y="true" class="exam-scroll-wrapper">
<scroll-view scroll-y="true" class="exam-scroll-wrapper">
<view wx:for="{{examList}}" class="exam-list-wrapper">
<view wx:for="{{examList}}" class="class1-0">
<view class="class1-1">{{item.name}}</view>
<view class="class1-2">
<view class="class1-3">
<view class="exam-score" wx:if="{{item.isExamed}}">
已考试: {{item.score}}分
</view>
<view wx:else class="no-exam">还未考试</view>
</view>
<button class="startExamBtn" data-index="{{item}}"
bindtap="LinkToTestPaper">开始考试</button>
</view>
</view>
<!-- <view wx:for="{{examList}}" class="exam-list-wrapper">
<image src="{{item.coverPic}}" class="exam-cover"></image>
<image src="{{item.coverPic}}" class="exam-cover"></image>
<view class="down-wrapper">
<view class="down-wrapper">
<view class="down-title">{{item.
examN
ame}}</view>
<view class="down-title">{{item.
n
ame}}</view>
<view class="exam-score-wrapper">
<view class="exam-score-wrapper">
<view class="exam-score" wx:if="{{item.isExamed}}">
<view class="exam-score" wx:if="{{item.isExamed}}">
已考试: {{item.score}}分
已考试: {{item.score}}分
</view>
</view>
<view wx:else class="no-exam">还未考试</view>
<view wx:else class="no-exam">还未考试</view>
</view>
</view>
<button class="startExamBtn" bindtap="LinkToTestPaper">开始考试</button>
<button class="startExamBtn"
data-index="{{item}}"
bindtap="LinkToTestPaper">开始考试</button>
</view>
</view>
</view>
</view>
-->
</scroll-view>
</scroll-view>
</view>
</view>
\ No newline at end of file
pages/exam/exam.wxss
View file @
55611f2f
...
@@ -110,4 +110,24 @@
...
@@ -110,4 +110,24 @@
/* line-height: 43rpx!important; */
/* line-height: 43rpx!important; */
/* display: flex;
/* display: flex;
align-items: center; */
align-items: center; */
}
}
\ No newline at end of file
.class1-0 {
width: 710rpx;
margin: 20rpx auto;
box-shadow: 2rpx 2rpx 2rpx 2rpx #eee, -1rpx -1rpx 1rpx 1rpx #eee;
border-radius: 20rpx;
overflow: hidden;
padding-top: 10rpx;
}
.class1-1 {
margin-top: 20rpx;
margin-left: 20rpx;
}
.class1-2 {
margin-top: 30rpx;
display: flex;
align-items: center;
justify-content: space-between;
padding: 5rpx 20rpx;
}
pages/home/home.js
View file @
55611f2f
...
@@ -165,10 +165,31 @@ Page({
...
@@ -165,10 +165,31 @@ Page({
* 跳转到学习评价
* 跳转到学习评价
*/
*/
LinkToEvaluate
()
{
LinkToEvaluate
()
{
wx
.
navigateTo
({
if
(
app
.
globalData
.
curRole
===
'
企业管理
'
)
{
url
:
'
/pages/evaluate/evaluate
'
,
wx
.
request
({
success
:
function
(
event
)
{}
url
:
app
.
globalData
.
appBaseUrlV2
+
'
/api/learningEvaluation/evaluateEnterprise
'
,
})
method
:
'
GET
'
,
header
:
{
Authorization
:
app
.
globalData
.
Authorization
},
success
:
(
res
)
=>
{
console
.
log
(
res
,
'
app.globalData.curRole>>>>>>>>>>>>>>>>>>
'
)
app
.
globalData
.
curEvaluate
=
{
...
res
.
data
}
wx
.
navigateTo
({
url
:
'
/pages/evaluate/evaluate
'
,
success
:
function
(
event
)
{}
})
}
})
}
else
{
wx
.
navigateTo
({
url
:
'
/pages/evaluate/evaluate
'
,
success
:
function
(
event
)
{}
})
}
},
},
/**
/**
* 跳转到隐患管理
* 跳转到隐患管理
...
...
pages/info/info.js
View file @
55611f2f
// pages/info/info.js
// pages/info/info.js
const
app
=
getApp
();
Page
({
Page
({
/**
/**
...
@@ -6,30 +7,6 @@ Page({
...
@@ -6,30 +7,6 @@ Page({
*/
*/
data
:
{
data
:
{
infoList
:
[
infoList
:
[
{
title
:
'
[隐患预警] 贵公司“重大隐患”—“联动台紧急停止按钮无效”整改即将到期,请及时整改
'
,
isRead
:
false
,
time
:
'
2020-05-19 19:25
'
,
infoId
:
'
11
'
},
{
title
:
'
[隐患预警] 贵公司“一般隐患”—“力矩限位不灵敏”整改即将到期,请及时整改
'
,
isRead
:
false
,
time
:
'
2020-05-19 19:24
'
,
infoId
:
'
22
'
},
{
title
:
'
[隐患预警] 贵公司“一般隐患”—“起升钢丝绳排布不均匀”整改已超期,请及时整改
'
,
isRead
:
true
,
time
:
'
2020-05-18 17:23
'
,
infoId
:
'
33
'
},
{
title
:
'
[隐患预警] 贵公司“一般隐患”—“脚手架外架与脚手架内架相连,拉接点较少”整改已超期,请及时整改
'
,
isRead
:
true
,
time
:
'
2020-05-18 13:34
'
,
infoId
:
'
44
'
}
]
]
},
},
...
@@ -37,7 +14,29 @@ Page({
...
@@ -37,7 +14,29 @@ Page({
* 生命周期函数--监听页面加载
* 生命周期函数--监听页面加载
*/
*/
onLoad
:
function
(
options
)
{
onLoad
:
function
(
options
)
{
wx
.
request
({
url
:
app
.
globalData
.
appBaseUrlV2
+
'
/api/infoPush/page
'
,
header
:
{
Authorization
:
app
.
globalData
.
Authorization
},
method
:
'
get
'
,
data
:
{
page
:
0
,
size
:
999
},
success
:
(
res
)
=>
{
console
.
log
(
res
,
'
info 推送
'
)
this
.
setData
({
infoList
:
res
.
data
.
content
.
map
(
item
=>
{
return
{
title
:
item
.
content
,
isRead
:
false
,
time
:
item
.
createTime
}
})
})
}
})
},
},
/**
/**
...
@@ -58,6 +57,8 @@ Page({
...
@@ -58,6 +57,8 @@ Page({
backgroundColor
:
'
#090D9C
'
,
backgroundColor
:
'
#090D9C
'
,
frontColor
:
'
#ffffff
'
,
frontColor
:
'
#ffffff
'
,
})
})
},
},
/**
/**
...
...
pages/info/info.wxml
View file @
55611f2f
...
@@ -2,12 +2,12 @@
...
@@ -2,12 +2,12 @@
<view class="info-page-wrapper">
<view class="info-page-wrapper">
<scroll-view scroll-y="true" class="info-list-scroll">
<scroll-view scroll-y="true" class="info-list-scroll">
<view wx:for="{{infoList}}" class="info-item-wrapper" wx:key="infoId">
<view wx:for="{{infoList}}" class="info-item-wrapper" wx:key="infoId">
<view wx:if="{{item.isRead}}" class="read-icon">已读</view>
<
!--<
view wx:if="{{item.isRead}}" class="read-icon">已读</view>
<view wx:else class="unread-icon">未读</view>
<view wx:else class="unread-icon">未读</view>
-->
<view wx:if="{{item.isRead}}" class="read-time">{{item.time}}</view>
<view wx:if="{{item.isRead}}" class="read-time">{{item.time}}</view>
<view wx:else class="unread-time">{{item.time}}</view>
<view wx:else class="unread-time">{{item.time}}</view>
<view wx:if="{{item.isRead}}" class="read-point-icon"></view>
<
!--<
view wx:if="{{item.isRead}}" class="read-point-icon"></view>
<view wx:else class="unread-point-icon"></view>
<view wx:else class="unread-point-icon"></view>
-->
<view wx:if="{{item.isRead}}" class="info-item-read-title">{{item.title}}</view>
<view wx:if="{{item.isRead}}" class="info-item-read-title">{{item.title}}</view>
<view wx:else class="info-item-title">{{item.title}}</view>
<view wx:else class="info-item-title">{{item.title}}</view>
</view>
</view>
...
...
pages/info/info.wxss
View file @
55611f2f
...
@@ -17,7 +17,7 @@
...
@@ -17,7 +17,7 @@
box-sizing: border-box;
box-sizing: border-box;
margin: 30rpx auto;
margin: 30rpx auto;
padding-top: 45rpx;
padding-top: 45rpx;
padding-left:
6
0rpx;
padding-left:
2
0rpx;
padding-right: 8rpx;
padding-right: 8rpx;
border-radius: 10rpx;
border-radius: 10rpx;
box-shadow: 2rpx 2rpx 2rpx 2rpx #eee, -1.5rpx -1.5rpx 1.5rpx 1.5rpx #eee;
box-shadow: 2rpx 2rpx 2rpx 2rpx #eee, -1.5rpx -1.5rpx 1.5rpx 1.5rpx #eee;
...
...
pages/law/law.js
View file @
55611f2f
...
@@ -29,7 +29,7 @@ Page({
...
@@ -29,7 +29,7 @@ Page({
data
:
{
data
:
{
page
:
this
.
data
.
curPage
,
page
:
this
.
data
.
curPage
,
size
:
this
.
data
.
curPageSize
,
size
:
this
.
data
.
curPageSize
,
sort
:
'
law
D
ate,desc
'
sort
:
'
law
_d
ate,desc
'
},
},
success
:
(
res
)
=>
{
success
:
(
res
)
=>
{
console
.
log
(
res
,
'
wx.request
'
)
console
.
log
(
res
,
'
wx.request
'
)
...
...
pages/teach/teach.js
View file @
55611f2f
...
@@ -144,6 +144,7 @@ Page({
...
@@ -144,6 +144,7 @@ Page({
console
.
log
(
res
,
'
authorization authorization authorizatoin
'
)
console
.
log
(
res
,
'
authorization authorization authorizatoin
'
)
let
courses
=
[]
let
courses
=
[]
courses
=
[...
res
.
data
.
content
]
courses
=
[...
res
.
data
.
content
]
console
.
log
(
courses
,
'
courses courses courses courses
'
)
for
(
let
i
=
0
;
i
<
courses
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
courses
.
length
;
i
++
)
{
courses
[
i
].
coursehour
=
[]
courses
[
i
].
coursehour
=
[]
courses
[
i
].
sum
=
0
courses
[
i
].
sum
=
0
...
@@ -230,8 +231,61 @@ Page({
...
@@ -230,8 +231,61 @@ Page({
/**
/**
* 用户搜索课程
* 用户搜索课程
*/
*/
searchTeachCourse
()
{
searchTeachCourse
(
event
)
{
console
.
log
(
event
,
'
search______________>>>>>>course
'
)
// 获取所有课程
wx
.
request
({
url
:
app
.
globalData
.
appBaseUrlV2
+
'
/api/onlineTraining/pageCourse
'
,
method
:
'
get
'
,
header
:
{
Authorization
:
app
.
globalData
.
Authorization
},
data
:
{
page
:
0
,
size
:
9999
,
courseTitle
:
event
.
detail
.
value
},
success
:
(
res
)
=>
{
console
.
log
(
res
,
'
authorization authorization authorizatoin
'
)
let
courses
=
[]
courses
=
[...
res
.
data
.
content
]
console
.
log
(
courses
,
'
courses courses courses courses
'
)
for
(
let
i
=
0
;
i
<
courses
.
length
;
i
++
)
{
courses
[
i
].
coursehour
=
[]
courses
[
i
].
sum
=
0
courses
[
i
].
isLearnedSum
=
0
courses
[
i
].
validDate
=
6
}
for
(
let
i
=
0
;
i
<
courses
.
length
;
i
++
)
{
wx
.
request
({
url
:
app
.
globalData
.
appBaseUrlV2
+
'
/api/onlineTraining/findLesson
'
,
method
:
'
get
'
,
header
:
{
Authorization
:
app
.
globalData
.
Authorization
},
data
:
{
page
:
0
,
size
:
9999
,
pid
:
courses
[
i
].
id
},
success
:
(
res1
)
=>
{
console
.
log
(
res1
,
'
coursehour coursehour
'
)
courses
[
i
].
coursehour
=
[...
res1
.
data
]
courses
[
i
].
sum
=
courses
[
i
].
coursehour
.
length
courses
[
i
].
isLearnedSum
=
courses
[
i
].
coursehour
.
filter
(
item
=>
parseInt
(
item
.
speed
)
>
98
).
length
courses
[
i
].
cover
=
app
.
globalData
.
appBaseUrlV3
+
'
/online-training/cover/
'
+
courses
[
i
].
courseCoverFilePath
.
split
(
'
\\
online-training
\\
cover
\\
'
)[
1
]
courses
[
i
].
introduce
=
courses
[
i
].
courseBriefIntroduction
this
.
setData
({
teachList
:
courses
})
},
fail
:
()
=>
{}
})
}
},
fail
:
()
=>
{}
})
},
},
/**
/**
* 获取焦点
* 获取焦点
...
...
pages/teach/teach.wxml
View file @
55611f2f
...
@@ -21,7 +21,7 @@
...
@@ -21,7 +21,7 @@
<view data-index="{{index}}">{{item.introduce}}</view>
<view data-index="{{index}}">{{item.introduce}}</view>
</view>
</view>
</view>
</view>
<view class="course-subject">课程题目: {{item.
t
itle}}</view>
<view class="course-subject">课程题目: {{item.
courseT
itle}}</view>
<view class="sum-price-wrapper">
<view class="sum-price-wrapper">
<view class="course-sum-wrapper">课程数量: <span>{{item.sum}}</span>课时, 已经学习了<span>{{item.isLearnedSum}}</span>课时</view>
<view class="course-sum-wrapper">课程数量: <span>{{item.sum}}</span>课时, 已经学习了<span>{{item.isLearnedSum}}</span>课时</view>
<view class="price-wrapper">
<view class="price-wrapper">
...
...
pages/testpaper/testpaper.js
View file @
55611f2f
// pages/testpaper/testpaper.js
// pages/testpaper/testpaper.js
const
app
=
getApp
();
Page
({
Page
({
/**
/**
...
@@ -6,385 +7,10 @@ Page({
...
@@ -6,385 +7,10 @@ Page({
*/
*/
data
:
{
data
:
{
singleQuestions
:
[
singleQuestions
:
[
{
questionType
:
'
single
'
,
questionOutline
:
'
生产经营单位的( )是本单位安全生产第一责任人,对本单位的安全生产工作全面负责。
'
,
questionList
:
[
'
主要负责人
'
,
'
董事长
'
,
'
总经理
'
,
'
分管负责人
'
]
},
{
questionType
:
'
single
'
,
questionOutline
:
'
《安全生产法》规定:( )发现危及从业人员生命安全的情况时,有权向生产经营单位建议组织从业人员撤离危险场所。
'
,
questionList
:
[
'
工会
'
,
'
从业人员
'
,
'
团队管理方面
'
,
'
安全管理人员
'
]
},
{
questionType
:
'
single
'
,
questionOutline
:
'
《安全生产法》规定:事故调查报告应当依法及时向( )公布。
'
,
questionList
:
[
'
社会
'
,
'
从业人员
'
,
'
调查人员
'
,
'
政府有关部门
'
]
},
{
questionType
:
'
single
'
,
questionOutline
:
'
《安全生产事故隐患排查治理暂行规定》,生产经营单位对承包、承租单位的事故隐患排查治理负有( )的职责。
'
,
questionList
:
[
'
监督
'
,
'
检查
'
,
'
协调
'
,
'
统一协调和监督管理
'
]
},
{
questionType
:
'
single
'
,
questionOutline
:
'
《安全生产违法行为行政处罚办法(2015修正)》,( )以上人民政府安全生产监督管理部门对生产经营单位及其有关人员在生产经营活动中违反有关安全生产的法律、行政法规、部门规章、国家标准、行业标准和规程的违法行为实施行政处罚。
'
,
questionList
:
[
'
国务院
'
,
'
省、自治区、直辖市
'
,
'
设区的市级
'
,
'
县级
'
]
},
{
questionType
:
'
single
'
,
questionOutline
:
'
《安全生产违法行为行政处罚办法(2015修正)》,行政处罚案件应当自立案之日起( )日内作出行政处罚决定;由于客观原因不能完成的,经安全监管监察部门负责人同意,可以延长。
'
,
questionList
:
[
'
10日
'
,
'
30日
'
,
'
60日
'
,
'
90日
'
]
},
{
questionType
:
'
single
'
,
questionOutline
:
'
《安全生产违法行为行政处罚办法(2015修正)》,进行案件调查时,安全生产行政执法人员不得少于( )。
'
,
questionList
:
[
'
一名
'
,
'
两名
'
,
'
三名
'
,
'
五名
'
]
},
{
questionType
:
'
single
'
,
questionOutline
:
'
《关于开展安全生产驻点监管工作的通知》要求,驻点监管时间。暂定为2年,分批次进行,每半年轮换一次。驻点人员进驻到位后,要设置办公地点,日常化开展监管工作;要制定监管工作计划,明确任务完成节点,至少( )向派出单位报告一次驻点监管工作情况。
'
,
questionList
:
[
'
每周
'
,
'
每半月
'
,
'
每月
'
,
'
每半年
'
]
},
{
questionType
:
'
single
'
,
questionOutline
:
'
《国务院关于坚持科学发展安全发展促进安全生产形势持续稳定好转的意见》(国发〔2011〕40号)提出:加强安全知识普及和技能培训。全面开展安全生产、应急避险知识进学校、进乡村、进社区、进家庭活动,努力提升( )。
'
,
questionList
:
[
'
全民安全水平
'
,
'
全民安全素质
'
,
'
全民安全知识
'
]
},
{
questionType
:
'
single
'
,
questionOutline
:
'
《国务院关于坚持科学发展安全发展促进安全生产形势持续稳定好转的意见》(国发〔2011〕40号)提出:认真落实企业安全生产主体责任,强化企业( )和指挥权,注重发挥注册安全工程师对企业安全状况诊断、评估、整改方面的作用。
'
,
questionList
:
[
'
生产负责人领导决策
'
,
'
主要负责人指挥决策
'
,
'
技术负责人技术决策
'
]
},
{
questionType
:
'
single
'
,
questionOutline
:
'
《国务院关于坚持科学发展安全发展促进安全生产形势持续稳定好转的意见》(国发〔2011〕40号)提出:严格危险化学品安全管理。全面开展危险化学品安全管理现状( ),建立危险化学品安全管理信息系统。
'
,
questionList
:
[
'
普查评估
'
,
'
安全评估
'
,
'
风险评估
'
]
},
{
questionType
:
'
single
'
,
questionOutline
:
'
《国务院关于进一步加强企业安全生产工作的通知》(国发〔2010〕23号)提出:进一步规范企业生产经营行为。加强对生产现场监督检查,凡( )组织生产的,要责令停产停工整顿,并对企业和企业主要负责人依法给予规定上限的经济处罚。
'
,
questionList
:
[
'
超水平、超强度、超定员
'
,
'
超能力、超强度、超定员
'
,
'
超能力、超强度、超范围
'
]
},
{
questionType
:
'
single
'
,
questionOutline
:
'
《国务院关于进一步加强企业安全生产工作的通知》要求,建立完善企业安全生产预警机制。企业要建立完善安全生产动态监控及预警预报体系,每( )进行一次安全生产风险分析。
'
,
questionList
:
[
'
周
'
,
'
月
'
,
'
季度
'
,
'
年
'
]
},
{
questionType
:
'
single
'
,
questionOutline
:
'
《山东省人民政府关于贯彻落实国发[2010]23号文件进一步加强企业安全生产工作的意见》(鲁政发[2010]77号)提出:严格执行建设项目安全设施核准审批制度。对项目建设生产经营单位存在违法分包、转包等行为的,立即依法停工停产整顿,并追究项目业主、承包方及( )等各方责任。
'
,
questionList
:
[
'
设计、施工、监理、监管
'
,
'
建设、设计、施工、监管
'
,
'
建设、设计、施工、监理、监管
'
]
},
{
questionType
:
'
single
'
,
questionOutline
:
'
《山东省生产安全事故应急办法》,高危和人员密集单位应当( )对所有专项应急预案至少组织1次演练。
'
,
questionList
:
[
'
每半年
'
,
'
每年
'
,
'
每2年
'
,
'
每3年
'
]
}
],
],
multiQuestions
:
[
multiQuestions
:
[
{
questionType
:
'
multiple
'
,
questionOutline
:
'
《山东省安全生产条例》规定,主要负责人包括对本单位生产经营负有全面领导责任的( )。
'
,
questionList
:
[
'
法定代表人
'
,
'
实际控制人
'
,
'
以及其他主要决策人
'
,
'
技术负责人
'
]
},
{
questionType
:
'
multiple
'
,
questionOutline
:
'
( ),在遇到险情时第一时间享有下达停产撤人命令的直接决策权和指挥权。
'
,
questionList
:
[
'
生产现场带班人员
'
,
'
班组长
'
,
'
调度人员
'
,
'
主要负责人
'
]
},
{
questionType
:
'
multiple
'
,
questionOutline
:
'
《安全生产法》规定:从业人员有权对本单位安全生产工作中存在的问题提出( )。
'
,
questionList
:
[
'
批评
'
,
'
检举
'
,
'
控告
'
,
'
报告
'
]
},
{
questionType
:
'
multiple
'
,
questionOutline
:
'
《山东省生产经营单位安全生产主体责任规定》第四条,生产经营单位是安全生产的责任主体,对本单位的安全生产承担主体责任。主体责任主要包括( )、安全管理保障责任、事故报告和应急救援责任。
'
,
questionList
:
[
'
组织机构保障责任
'
,
'
规章制度保障责任
'
,
'
物质资金保障责任
'
,
'
教育培训保障责任
'
]
},
{
questionType
:
'
multiple
'
,
questionOutline
:
'
《生产安全事故报告和调查处理条例》,根据生产安全事故造成的人员伤亡或者直接经济损失,事故一般分为( )。
'
,
questionList
:
[
'
一般事故
'
,
'
较大事故
'
,
'
重大事故
'
,
'
特别重大事故
'
]
},
{
questionType
:
'
multiple
'
,
questionOutline
:
'
《中共中央国务院关于推进安全生产领域改革发展的意见》,大力推进企业安全生产标准化建设,实现( )的标准化。
'
,
questionList
:
[
'
安全管理
'
,
'
操作行为
'
,
'
设备设施
'
,
'
作业环境
'
]
},
{
questionType
:
'
multiple
'
,
questionOutline
:
'
《中华人民共和国安全生产法》第二十四条 ( )和危险物品的生产、经营、储存、装卸单位,应当设置安全生产管理机构或者配备专职安全生产管理人员。
'
,
questionList
:
[
'
矿山
'
,
'
金属冶炼
'
,
'
运输单位
'
,
'
建筑施工
'
]
},
{
questionType
:
'
multiple
'
,
questionOutline
:
'
安全设备的设计、制造、( )、改造和报废,应当符合国家标准或者行业标准。
'
,
questionList
:
[
'
安装
'
,
'
使用
'
,
'
检测
'
,
'
维修
'
]
},
{
questionType
:
'
multiple
'
,
questionOutline
:
'
按照《生产安全事故报告和调查处理条例》规定,报告事故应当包括下列内容:( )
'
,
questionList
:
[
'
事故发生单位概况
'
,
'
事故发生的时间、地点以及事故现场情况
'
,
'
事故的简要经过
'
,
'
事故已经造成或者可能造成的伤亡人数
'
]
},
{
questionType
:
'
multiple
'
,
questionOutline
:
'
从业人员有权对本单位安全生产工作中存在的问题提出批评、检举、控告,有权拒绝( )。
'
,
questionList
:
[
'
违章指挥
'
,
'
领导指令
'
,
'
不合理安排
'
,
'
强令冒险作业
'
]
},
{
questionType
:
'
multiple
'
,
questionOutline
:
'
任何单位和个人对事故不得( )
'
,
questionList
:
[
'
迟报
'
,
'
谎报
'
,
'
漏报
'
,
'
瞒报
'
]
},
{
questionType
:
'
multiple
'
,
questionOutline
:
'
生产经营单位对重大危险源应当登记建档,进行定期( ),并制定应急预案,告知从业人员和相关人员在紧急情况下应当采取的应急措施。
'
,
questionList
:
[
'
评价
'
,
'
检测
'
,
'
评估
'
,
'
监控
'
]
},
{
questionType
:
'
multiple
'
,
questionOutline
:
'
《全省安全生产大排查大整治行动方案》,创新检查方式,重点采取( )等方式开展检查,确保查实查深。
'
,
questionList
:
[
'
双随机一公开
'
,
'
四不两直
'
,
'
异地交互
'
,
'
驻点检查
'
]
},
{
questionType
:
'
multiple
'
,
questionOutline
:
'
《山东省生产经营单位安全生产主体责任规定》要求,生产经营单位应当按照国家有关规定,开展以( )为主要内容的安全生产标准化建设。
'
,
questionList
:
[
'
岗位达标
'
,
'
班组达标
'
,
'
专业达标
'
,
'
企业达标
'
]
},
{
questionType
:
'
multiple
'
,
questionOutline
:
'
安全生产工作应当以人为本,坚持( ),坚持安全第一、预防为主、综合治理的方针,从源头上防范化解重大安全风险。
'
,
questionList
:
[
'
安全发展理念
'
,
'
人民至上、生命至上
'
,
'
把保护人民生命安全摆在首位
'
,
'
树牢安全发展理念
'
]
}
],
],
checkQuestions
:
[
checkQuestions
:
[
{
questionType
:
'
check
'
,
questionOutline
:
'
购买和发放劳动防护用品的情况应当记录在案。可以货币或者其他物品替代劳动防护用品。( )
'
,
questionList
:
[
'
是
'
,
'
否
'
]
},
{
questionType
:
'
check
'
,
questionOutline
:
'
生产经营单位使用劳务派遣人员从事作业的,劳务派遣人员不计入该生产经营单位的从业人员人数。( )
'
,
questionList
:
[
'
是
'
,
'
否
'
]
},
{
questionType
:
'
check
'
,
questionOutline
:
'
生产经营单位应当按照国家标准、行业标准或者地方标准为从业人员有偿提供合格的劳动防护用品,并督促、检查、教育从业人员正确佩戴和使用。( )
'
,
questionList
:
[
'
是
'
,
'
否
'
]
},
{
questionType
:
'
check
'
,
questionOutline
:
'
事故隐患分为一般事故隐患和较大事故隐患。( )
'
,
questionList
:
[
'
是
'
,
'
否
'
]
},
{
questionType
:
'
check
'
,
questionOutline
:
'
《安全生产法》规定:国家实行生产安全事故责任追溯制度。( )
'
,
questionList
:
[
'
是
'
,
'
否
'
]
},
{
questionType
:
'
check
'
,
questionOutline
:
'
《安全生产法》规定的行政处罚,由应急管理部门和其他负有安全生产监督管理职责的部门按照职责分工决定。( )
'
,
questionList
:
[
'
是
'
,
'
否
'
]
},
{
questionType
:
'
check
'
,
questionOutline
:
'
《国务院关于坚持科学发展安全发展促进安全生产形势持续稳定好转的意见》(国发〔2011〕40号)提出:解决安全生产问题的根本途径是坚持科学发展安全发展。( )
'
,
questionList
:
[
'
是
'
,
'
否
'
]
},
{
questionType
:
'
check
'
,
questionOutline
:
'
《山东省生产经营单位安全生产主体责任规定》要求,安全总监协助本单位主要负责人履行安全生产管理职责,专业分管本单位安全生产管理工作。( )
'
,
questionList
:
[
'
是
'
,
'
否
'
]
},
{
questionType
:
'
check
'
,
questionOutline
:
'
《中共中央国务院关于推进安全生产领域改革发展的意见》提出加强新材料、新工艺、新业态安全风险评估和管控。( )
'
,
questionList
:
[
'
是
'
,
'
否
'
]
},
{
questionType
:
'
check
'
,
questionOutline
:
'
安全监管监察部门不得因当事人陈述或者申辩而加重处罚。( )
'
,
questionList
:
[
'
是
'
,
'
否
'
]
}
],
],
questions
:
[
questions
:
[
{
{
...
@@ -416,19 +42,124 @@ Page({
...
@@ -416,19 +42,124 @@ Page({
]
]
}
}
],
],
singleScore
:
0
,
multiScore
:
0
,
justifyScore
:
0
,
singleQuestionNum
:
0
,
multiQuestionNum
:
0
,
justifyQuestionNum
:
0
,
isShowExamPage
:
false
,
resultScore
:
0
,
isToScroll
:
true
,
isToScroll
:
true
,
closeBtnImage
:
'
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA5pJREFUWEfFl0mIXUUUhr8f1IXzRrIwSoyCoAQcQCGCGgXjFCcw7tSABmOMGnBjTCBi0I1g4hAlCRjdqaDGOAbUuFBQiAqiIDgEh4W4UaMuVPjlb+o21bfvve9196ILHt2v6gz/qXPqP+eJeV6aZ//MCIDt04BrgRuABeWTGH4pn5eBPZK+GTewsQDYvgS4B7hmTMOvAdskvTdKfhCA7eOAR4HbWoYOAN8BP5X9hcBi4NyW3C7gPkm/9wHpBWB7CZBIFhXlj4FHgPcl/dFl0PaxwDLgfuD8InMwNyfpiy6dTgC2TykRNjqb41zSP6OuNOe2jyggotesxZK+b+tPA2D7KCBXfHoRXi5p3ziO2zK2LwPeKftfJ0WS/qrlugA8C9za5FbSz7Nx3ujYPrGqld2SVvUCsB3HAZB1vaRX5+K8AnEd8Er5vkrS7uZs8gZsHw98Vopur6QpT852Kjy1IUkv9RThxWX/kKSkcXLZTkGvAFKUZ0v6LYc1gBrlCkmvd+TUZW+7pLUtB08Bd04YlbpSezWwt327NYDHgHuTL0kn9UR4IfBBOVsvaWv+tx296Gctk7S/R/9HIJyxVdL69g18CCwFnpG0pi/3th8AtpTzS8vfd8vfzZIeHNB9GrgD+EjSBW0A4e9TgUEjJeJEHmr+tTg7oVBvbqJ32U6KkqpvJaWvTKmBQ8DR4wAoIJ4Dbi7enpd0y5DzopPC3gP8KemYuQLYAdxenO6UtHquAGaSgnD9wy2HGySlV8w6BU0RPilp3UAhrQReKOeTN1C+3yTpxQHdJ4C7+oowESWyg5JCONOW7bNKh8wz3SJpU8ntQ8BGIM8sne/zHv00o3TXNLYN7RpYDrxdFKcRke0jgTeAsN0uSU30Eyq2d5a5IRxwlaS/axC2ayK6XNJEk6qJKL08PfvkMFYHFTc0G6brI5rMAhN42jIVFf8ALGlmiimUWb3TGFnZx/mjqr19bvtGoKmNtZK2NzJdnP0mcEUROFPSVzN12Lr6M4Avy95bkq6sz7sAHAb8WwktnO1M0JoFYvJwSf8NAigFVT+1bM14NrBdd9fY6HyiQ0NpXbUxkFa6o6tNd1R7WDG9v1md7X3KK+jKs+3zgHSwc6rzjOKZFfJi6rE8U3RAp90261NgjaRP+upo5A+TMuHeXbpfbXyoNgNsG/D4qEl6JIDGSxnZwgUXAbmZrp9miTQDy/5m5Br1gsYGMMrQbM/nHcD/KsVxMIuPd2kAAAAASUVORK5CYII=
'
id
:
-
1
,
isExam
:
false
,
closeBtnImage
:
'
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA5pJREFUWEfFl0mIXUUUhr8f1IXzRrIwSoyCoAQcQCGCGgXjFCcw7tSABmOMGnBjTCBi0I1g4hAlCRjdqaDGOAbUuFBQiAqiIDgEh4W4UaMuVPjlb+o21bfvve9196ILHt2v6gz/qXPqP+eJeV6aZ//MCIDt04BrgRuABeWTGH4pn5eBPZK+GTewsQDYvgS4B7hmTMOvAdskvTdKfhCA7eOAR4HbWoYOAN8BP5X9hcBi4NyW3C7gPkm/9wHpBWB7CZBIFhXlj4FHgPcl/dFl0PaxwDLgfuD8InMwNyfpiy6dTgC2TykRNjqb41zSP6OuNOe2jyggotesxZK+b+tPA2D7KCBXfHoRXi5p3ziO2zK2LwPeKftfJ0WS/qrlugA8C9za5FbSz7Nx3ujYPrGqld2SVvUCsB3HAZB1vaRX5+K8AnEd8Er5vkrS7uZs8gZsHw98Vopur6QpT852Kjy1IUkv9RThxWX/kKSkcXLZTkGvAFKUZ0v6LYc1gBrlCkmvd+TUZW+7pLUtB08Bd04YlbpSezWwt327NYDHgHuTL0kn9UR4IfBBOVsvaWv+tx296Gctk7S/R/9HIJyxVdL69g18CCwFnpG0pi/3th8AtpTzS8vfd8vfzZIeHNB9GrgD+EjSBW0A4e9TgUEjJeJEHmr+tTg7oVBvbqJ32U6KkqpvJaWvTKmBQ8DR4wAoIJ4Dbi7enpd0y5DzopPC3gP8KemYuQLYAdxenO6UtHquAGaSgnD9wy2HGySlV8w6BU0RPilp3UAhrQReKOeTN1C+3yTpxQHdJ4C7+oowESWyg5JCONOW7bNKh8wz3SJpU8ntQ8BGIM8sne/zHv00o3TXNLYN7RpYDrxdFKcRke0jgTeAsN0uSU30Eyq2d5a5IRxwlaS/axC2ayK6XNJEk6qJKL08PfvkMFYHFTc0G6brI5rMAhN42jIVFf8ALGlmiimUWb3TGFnZx/mjqr19bvtGoKmNtZK2NzJdnP0mcEUROFPSVzN12Lr6M4Avy95bkq6sz7sAHAb8WwktnO1M0JoFYvJwSf8NAigFVT+1bM14NrBdd9fY6HyiQ0NpXbUxkFa6o6tNd1R7WDG9v1md7X3KK+jKs+3zgHSwc6rzjOKZFfJi6rE8U3RAp90261NgjaRP+upo5A+TMuHeXbpfbXyoNgNsG/D4qEl6JIDGSxnZwgUXAbmZrp9miTQDy/5m5Br1gsYGMMrQbM/nHcD/KsVxMIuPd2kAAAAASUVORK5CYII=
'
,
shuImg
:
'
https://8.143.198.78/fonts/shu.png
'
},
},
/**
/**
* 生命周期函数--监听页面加载
* 生命周期函数--监听页面加载
*/
*/
onLoad
:
function
(
options
)
{
onLoad
:
function
(
options
)
{
setTimeout
(()
=>
{
console
.
log
(
options
,
'
options options
'
)
this
.
setData
({
// singleScore: 0,
isToScroll
:
false
// multiScore: 0,
})
// justifyScore: 0,
},
100
)
// this.data.singleScore = parseInt(options.singleScore)
// this.data.multiScore = parseInt(options.multiScore)
// this.data.justifyScore = parseInt(options.justifyScore)
this
.
setData
({
singleScore
:
parseInt
(
options
.
singleScore
),
multiScore
:
parseInt
(
options
.
multiScore
),
justifyScore
:
parseInt
(
options
.
justifyScore
)
})
this
.
data
.
id
=
options
.
id
wx
.
request
({
url
:
app
.
globalData
.
appBaseUrlV2
+
'
/api/onlineExamPaper/findSubject
'
,
method
:
'
get
'
,
header
:
{
Authorization
:
app
.
globalData
.
Authorization
},
data
:
{
id
:
options
.
id
},
success
:
(
res
)
=>
{
console
.
log
(
res
,
'
wx.request wx.request
'
)
res
.
data
.
forEach
(
item
=>
{
item
.
result
=
''
})
this
.
setData
({
singleQuestions
:
res
.
data
.
filter
(
item
=>
item
.
type
===
'
单选题
'
).
map
(
item
=>
{
const
questionItem
=
[]
if
(
item
.
optiona
)
{
questionItem
.
push
(
item
.
optiona
)
}
if
(
item
.
optionb
)
{
questionItem
.
push
(
item
.
optionb
)
}
if
(
item
.
optionc
)
{
questionItem
.
push
(
item
.
optionc
)
}
if
(
item
.
optiond
)
{
questionItem
.
push
(
item
.
optiond
)
}
if
(
item
.
optione
)
{
questionItem
.
push
(
item
.
optione
)
}
if
(
item
.
optionf
)
{
questionItem
.
push
(
item
.
optionf
)
}
return
{
...
item
,
questionOutline
:
item
.
question
,
questionList
:
questionItem
}
}),
multiQuestions
:
res
.
data
.
filter
(
item
=>
item
.
type
===
'
多选题
'
).
map
(
item
=>
{
const
questionItem
=
[]
if
(
item
.
optiona
)
{
questionItem
.
push
(
item
.
optiona
)
}
if
(
item
.
optionb
)
{
questionItem
.
push
(
item
.
optionb
)
}
if
(
item
.
optionc
)
{
questionItem
.
push
(
item
.
optionc
)
}
if
(
item
.
optiond
)
{
questionItem
.
push
(
item
.
optiond
)
}
if
(
item
.
optione
)
{
questionItem
.
push
(
item
.
optione
)
}
if
(
item
.
optionf
)
{
questionItem
.
push
(
item
.
optionf
)
}
return
{
...
item
,
questionOutline
:
item
.
question
,
questionList
:
questionItem
}
}),
checkQuestions
:
res
.
data
.
filter
(
item
=>
item
.
type
===
'
判断题
'
).
map
(
item
=>
{
return
{
...
item
,
questionOutline
:
item
.
question
,
questionList
:
[
item
.
optiona
,
item
.
optionb
]
}
}),
singleQuestionNum
:
res
.
data
.
filter
(
item
=>
item
.
type
===
'
单选题
'
).
length
,
multiQuestionNum
:
res
.
data
.
filter
(
item
=>
item
.
type
===
'
多选题
'
).
length
,
justifyQuestionNum
:
res
.
data
.
filter
(
item
=>
item
.
type
===
'
判断题
'
).
length
})
}
})
// setTimeout(() => {
// this.setData({
// isToScroll: false
// })
// }, 100)
},
},
/**
/**
...
@@ -502,6 +233,37 @@ Page({
...
@@ -502,6 +233,37 @@ Page({
*/
*/
submitTestPaper
(
event
)
{
submitTestPaper
(
event
)
{
// 提交考卷
// 提交考卷
this
.
setData
({
isExam
:
true
,
singleQuestions
:
this
.
data
.
singleQuestions
,
multiQuestions
:
this
.
data
.
multiQuestions
,
checkQuestions
:
this
.
data
.
checkQuestions
,
isShowExamPage
:
true
,
resultScore
:
this
.
data
.
singleQuestions
.
filter
(
item
=>
item
.
isAnswer
).
length
*
this
.
data
.
singleScore
+
this
.
data
.
multiQuestions
.
filter
(
item
=>
item
.
isAnswer
).
length
*
this
.
data
.
multiScore
+
this
.
data
.
checkQuestions
.
filter
(
item
=>
item
.
isAnswer
).
length
*
this
.
data
.
justifyScore
})
// wx.showModal({
// title: '您的考试分数',
// content: this.data.resultScore + ' 分'
// })
console
.
log
(
app
.
globalData
.
userInfo
,
'
app.globalData.userInfo
'
)
wx
.
request
({
url
:
app
.
globalData
.
appBaseUrlV2
+
'
/api/onlineExamPaper/recordScore
'
,
method
:
'
post
'
,
header
:
{
Authorization
:
app
.
globalData
.
Authorization
},
data
:
{
paperId
:
this
.
data
.
id
,
score
:
this
.
data
.
resultScore
,
userId
:
app
.
globalData
.
userInfo
.
id
},
success
:
(
res
)
=>
{
console
.
log
(
'
上传成功 api/onlineExamPaper/recordScore
'
)
}
})
console
.
log
(
this
.
data
.
singleQuestions
,
'
this.singleQuestions
'
)
console
.
log
(
this
.
data
.
multiQuestions
,
'
this.multiQuestions
'
)
console
.
log
(
this
.
data
.
checkQuestions
,
'
this.checkQuestions
'
)
},
},
/**
/**
*
*
...
@@ -510,5 +272,105 @@ Page({
...
@@ -510,5 +272,105 @@ Page({
console
.
log
(
event
)
console
.
log
(
event
)
// return false
// return false
// return true
// return true
},
chooseSingle
(
event
)
{
//event.detail.value
const
index
=
event
.
detail
.
value
.
split
(
'
|
'
)[
0
]
const
index1
=
event
.
detail
.
value
.
split
(
'
|
'
)[
1
]
if
(
index1
===
'
0
'
)
{
this
.
data
.
singleQuestions
[
index
].
result
=
'
A
'
}
else
if
(
index1
===
'
1
'
)
{
this
.
data
.
singleQuestions
[
index
].
result
=
'
B
'
}
else
if
(
index1
===
'
2
'
)
{
this
.
data
.
singleQuestions
[
index
].
result
=
'
C
'
}
else
if
(
index1
===
'
3
'
)
{
this
.
data
.
singleQuestions
[
index
].
result
=
'
D
'
}
else
if
(
index1
===
'
4
'
)
{
this
.
data
.
singleQuestions
[
index
].
result
=
'
E
'
}
else
if
(
index1
===
'
5
'
)
{
this
.
data
.
singleQuestions
[
index
].
result
=
'
F
'
}
if
(
this
.
data
.
singleQuestions
[
index
].
result
===
this
.
data
.
singleQuestions
[
index
].
answer
)
{
this
.
data
.
singleQuestions
[
index
].
isAnswer
=
true
}
else
{
this
.
data
.
singleQuestions
[
index
].
isAnswer
=
false
}
},
chooseMulti
(
event
)
{
//event.detail.value
console
.
log
(
event
,
'
chooseMulti
'
)
if
(
!
event
.
detail
.
value
||
event
.
detail
.
value
.
length
===
0
)
{
return
}
let
result
=
[]
let
index
=
-
1
event
.
detail
.
value
.
forEach
(
item
=>
{
index
=
item
.
split
(
'
|
'
)[
0
]
const
index1
=
item
.
split
(
'
|
'
)[
1
]
if
(
index1
===
'
0
'
)
{
result
.
push
(
'
A
'
)
}
else
if
(
index1
===
'
1
'
)
{
result
.
push
(
'
B
'
)
}
else
if
(
index1
===
'
2
'
)
{
result
.
push
(
'
C
'
)
}
else
if
(
index1
===
'
3
'
)
{
result
.
push
(
'
D
'
)
}
else
if
(
index1
===
'
4
'
)
{
result
.
push
(
'
E
'
)
}
else
if
(
index1
===
'
5
'
)
{
result
.
push
(
'
F
'
)
}
})
result
=
result
.
sort
()
console
.
log
(
result
,
'
result___________________________
'
)
console
.
log
(
result
,
'
result___________________________
'
)
if
(
result
.
length
>
0
)
{
this
.
data
.
multiQuestions
[
index
].
result
=
result
.
join
(
'
、
'
)
}
else
{
this
.
data
.
multiQuestions
[
index
].
result
=
''
}
if
(
this
.
data
.
multiQuestions
[
index
].
result
===
this
.
data
.
multiQuestions
[
index
].
answer
)
{
this
.
data
.
multiQuestions
[
index
].
isAnswer
=
true
}
else
{
this
.
data
.
multiQuestions
[
index
].
isAnswer
=
false
}
},
chooseJustify
(
event
)
{
console
.
log
(
event
,
'
chooseJustify chooseJustify
'
)
const
index
=
event
.
detail
.
value
.
split
(
'
|
'
)[
0
]
const
index1
=
event
.
detail
.
value
.
split
(
'
|
'
)[
1
]
if
(
index1
===
'
0
'
)
{
this
.
data
.
checkQuestions
[
index
].
result
=
'
对
'
}
else
if
(
index1
===
'
1
'
)
{
this
.
data
.
checkQuestions
[
index
].
result
=
'
错
'
}
console
.
log
(
this
.
data
.
checkQuestions
[
index
],
'
this.data.checkQuestions
'
)
if
(
this
.
data
.
checkQuestions
[
index
].
result
===
this
.
data
.
checkQuestions
[
index
].
answer
)
{
this
.
data
.
checkQuestions
[
index
].
isAnswer
=
true
}
else
{
this
.
data
.
checkQuestions
[
index
].
isAnswer
=
false
}
},
closeMySelf
(
event
)
{
console
.
log
(
event
,
'
cloiseMySelf closeMySelf
'
)
this
.
setData
({
isShowExamPage
:
false
})
},
viewWrong
()
{
this
.
setData
({
isExam
:
true
,
isShowExamPage
:
false
})
},
quitTest
()
{
app
.
globalData
.
isNeedNavigateTo
=
true
app
.
globalData
.
testPaperId
=
this
.
data
.
id
app
.
globalData
.
singleScore
=
this
.
data
.
singleScore
app
.
globalData
.
multiScore
=
this
.
data
.
multiScore
app
.
globalData
.
justifyScore
=
this
.
data
.
justifyScore
wx
.
navigateBack
({
delta
:
1
,
})
}
}
})
})
\ No newline at end of file
pages/testpaper/testpaper.wxml
View file @
55611f2f
<!--pages/testpaper/testpaper.wxml-->
<!--pages/testpaper/testpaper.wxml-->
<view class="testpaper-wrapper">
<view class="testpaper-wrapper">
<scroll-view scroll-y="{{false}}" class="scroll-wrapper">
<scroll-view scroll-y="{{false}}" class="scroll-wrapper">
<view class="class0-0" wx:if="{{singleQuestionNum > 0 }}">
<span class="class1-0">单选题数量: <text class="class1-1">{{singleQuestionNum}}</text></span>
<span class="class2-0">单选题分值: <text class="class2-1">{{singleScore}}</text></span>
</view>
<view wx:for="{{singleQuestions}}" class="test-question-wrapper">
<view wx:for="{{singleQuestions}}" class="test-question-wrapper">
<view class="test-question-outline-wrapper">
<view class="test-question-outline-wrapper">
{{(index + 1) < 10 ? '0' + (index + 1) : (index + 1 + '')}}
{{(index + 1) < 10 ? '0' + (index + 1) : (index + 1 + '')}}
...
@@ -9,23 +13,30 @@
...
@@ -9,23 +13,30 @@
<text class="decorate-must">*</text>
<text class="decorate-must">*</text>
</view>
</view>
<view class="test-question-body-wrapper">
<view class="test-question-body-wrapper">
<radio-group>
<radio-group
bindchange="chooseSingle"
>
<view wx:for="{{item.questionList}}"
<view wx:for="{{item.questionList}}"
wx:for-item="item1"
wx:for-item="item1"
wx:for-index="index1"
wx:for-index="index1"
class="test-question-line">{{index1 === 0? 'A、' : (index1 === 1? 'B、' : (index1 === 2? 'C、': (index1 === 3? 'D、' : 'E、')))}}{{item1}}</view>
class="test-question-line">{{index1 === 0? 'A、' : (index1 === 1? 'B、' : (index1 === 2? 'C、': (index1 === 3? 'D、' : (index1 === 4 ? 'E、' : (index1 === 5 ? 'F、' : 'G、')))))}}{{item1}}</view>
<view wx:if="{{isExam&&(!item.isAnswer)}}" class="question-answer"><text class="right-answer">正确答案: </text><text class="answer">{{item.answer}}</text></view>
<view wx:if="{{isExam&&(!item.isAnswer)}}" class="question-analysis"><text class="right-answer">答案解析: </text><text class="answer">{{item.analysis}}</text></view>
<view class="select-optoin-wrapper">
<view class="select-optoin-wrapper">
<radio wx:for="{{item.questionList}}"
<radio wx:for="{{item.questionList}}"
wx:for-index="index1"
wx:for-index="index1"
class="one-option"
class="one-option"
color="#090D9C"
color="#090D9C"
value="{{index+'|'+index1}}"
>
>
{{index1 === 0? 'A' : (index1 === 1? 'B' : (index1 === 2? 'C': (index1 === 3? 'D' :
'E'
)))}}
{{index1 === 0? 'A' : (index1 === 1? 'B' : (index1 === 2? 'C': (index1 === 3? 'D' :
(index1 === 4 ? 'E' : (index1 === 5 ? 'F' : 'G'))
)))}}
</radio>
</radio>
</view>
</view>
</radio-group>
</radio-group>
</view>
</view>
</view>
</view>
<view class="class0-0" wx:if="{{multiQuestionNum > 0}}">
<span class="class1-0">多选题数量: <text class="class1-1">{{multiQuestionNum}}</text></span>
<span class="class2-0">多选题分值: <text class="class2-1">{{multiScore}}</text></span>
</view>
<view wx:for="{{multiQuestions}}" class="test-question-wrapper">
<view wx:for="{{multiQuestions}}" class="test-question-wrapper">
<view class="test-question-outline-wrapper">
<view class="test-question-outline-wrapper">
{{(index + 1) < 10 ? '0' + (index + 1) : (index + 1 + '')}}
{{(index + 1) < 10 ? '0' + (index + 1) : (index + 1 + '')}}
...
@@ -34,23 +45,30 @@
...
@@ -34,23 +45,30 @@
<text class="decorate-must">*</text>
<text class="decorate-must">*</text>
</view>
</view>
<view class="test-question-body-wrapper">
<view class="test-question-body-wrapper">
<checkbox-group>
<checkbox-group
bindchange="chooseMulti"
>
<view wx:for="{{item.questionList}}"
<view wx:for="{{item.questionList}}"
wx:for-item="item1"
wx:for-item="item1"
wx:for-index="index1"
wx:for-index="index1"
class="test-question-line">{{index1 === 0? 'A、' : (index1 === 1? 'B、' : (index1 === 2? 'C、': (index1 === 3? 'D、' : 'E、')))}}{{item1}}</view>
class="test-question-line">{{index1 === 0? 'A、' : (index1 === 1? 'B、' : (index1 === 2? 'C、': (index1 === 3? 'D、' : (index1 === 4 ? 'E、' : (index1 === 5 ? 'F、' : 'G、')))))}}{{item1}}</view>
<view wx:if="{{isExam&&(!item.isAnswer)}}" class="question-answer"><text class="right-answer">正确答案: </text><text class="answer">{{item.answer}}</text></view>
<view wx:if="{{isExam&&(!item.isAnswer)}}" class="question-analysis"><text class="right-answer">答案解析: </text><text class="answer">{{item.analysis}}</text></view>
<view class="select-optoin-wrapper">
<view class="select-optoin-wrapper">
<checkbox wx:for="{{item.questionList}}"
<checkbox wx:for="{{item.questionList}}"
wx:for-index="index1"
wx:for-index="index1"
class="one-option"
class="one-option"
color="#090D9C"
color="#090D9C"
value="{{index + '|' + index1}}"
>
>
{{index1 === 0? 'A' : (index1 === 1? 'B' : (index1 === 2? 'C': (index1 === 3? 'D' :
'E'
)))}}
{{index1 === 0? 'A' : (index1 === 1? 'B' : (index1 === 2? 'C': (index1 === 3? 'D' :
(index1 === 4 ? 'E' : (index1 === 5 ? 'F' : 'G、'))
)))}}
</checkbox>
</checkbox>
</view>
</view>
</checkbox-group>
</checkbox-group>
</view>
</view>
</view>
</view>
<view class="class0-0" wx:if="{{justifyQuestionNum > 0}}">
<span class="class1-0">判断题数量: <text class="class1-1">{{justifyQuestionNum}}</text></span>
<span class="class2-0">判断题分值: <text class="class2-1">{{justifyScore}}</text></span>
</view>
<view wx:for="{{checkQuestions}}" class="test-question-wrapper">
<view wx:for="{{checkQuestions}}" class="test-question-wrapper">
<view class="test-question-outline-wrapper">
<view class="test-question-outline-wrapper">
{{(index + 1) < 10 ? '0' + (index + 1) : (index + 1 + '')}}
{{(index + 1) < 10 ? '0' + (index + 1) : (index + 1 + '')}}
...
@@ -59,18 +77,21 @@
...
@@ -59,18 +77,21 @@
<text class="decorate-must">*</text>
<text class="decorate-must">*</text>
</view>
</view>
<view class="test-question-body-wrapper">
<view class="test-question-body-wrapper">
<radio-group>
<radio-group
bindchange="chooseJustify"
>
<view wx:for="{{item.questionList}}"
<
!-- <
view wx:for="{{item.questionList}}"
wx:for-item="item1"
wx:for-item="item1"
wx:for-index="index1"
wx:for-index="index1"
class="test-question-line">{{item1}}</view>
class="test-question-line">{{item1}}</view> -->
<view wx:if="{{isExam&&(!item.isAnswer)}}" class="question-answer"><text class="right-answer">正确答案: </text><text class="answer">{{item.answer}}</text></view>
<view wx:if="{{isExam&&(!item.isAnswer)}}" class="question-analysis"><text class="right-answer">答案解析: </text><text class="answer">{{item.analysis}}</text></view>
<view class="select-optoin-wrapper">
<view class="select-optoin-wrapper">
<radio wx:for="{{item.questionList}}"
<radio wx:for="{{item.questionList}}"
wx:for-index="index1"
wx:for-index="index1"
class="one-option"
class="one-option"
color="#090D9C"
color="#090D9C"
value="{{index + '|' + index1}}"
>
>
{{index1 === 0? '
是' : (index1 === 1? '否' : (index1 === 2? '是': (index1 === 3? '否' : '否
')))}}
{{index1 === 0? '
对' : (index1 === 1? '错' : (index1 === 2? '对': (index1 === 3? '错' : '错
')))}}
</radio>
</radio>
</view>
</view>
</radio-group>
</radio-group>
...
@@ -78,19 +99,22 @@
...
@@ -78,19 +99,22 @@
</view>
</view>
<view class="submit-row"><button class="submit-btn" bindtap="submitTestPaper">提交考卷</button></view>
<view class="submit-row"><button class="submit-btn" bindtap="submitTestPaper">提交考卷</button></view>
</scroll-view>
</scroll-view>
<view class="score-wrapper" catchtouchmove="cancelmove">
<view class="score-wrapper
{{isShowExamPage?'' : ' score-hide'}}
" catchtouchmove="cancelmove">
<view class="real-score-outline">
<view class="real-score-outline">
<view class="real-score-outline-title">您的考试得分为</view>
<view class="real-score-outline-title">您的考试得分为</view>
<view class="real-score">
90
</view>
<view class="real-score">
{{resultScore}}
</view>
<view class="score-slogan">恭喜您顺利通过考试</view>
<view class="score-slogan">恭喜您顺利通过考试</view>
<view class="wrong-test-wrapper">
<view class="wrong-test-wrapper">
<view class="wrong-btn">查看错题</view>
<view class="wrong-btn"
bindtap="viewWrong"
>查看错题</view>
<view class="test-btn">重新考试</view>
<view class="test-btn"
bindtap="quitTest"
>重新考试</view>
</view>
</view>
<view class="close-score-outline">
<view class="close-score-outline"
bindtap="closeMySelf"
>
<image class="close-score-image" mode="aspectFill" src="{{closeBtnImage}}"></image>
<image class="close-score-image" mode="aspectFill" src="{{closeBtnImage}}"></image>
</view>
</view>
<view class="real-score-book">
<image class="real-score-book-img" mode="aspectFill"
src="{{shuImg}}"></image>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
\ No newline at end of file
pages/testpaper/testpaper.wxss
View file @
55611f2f
...
@@ -173,6 +173,8 @@
...
@@ -173,6 +173,8 @@
top: 0;
top: 0;
bottom: 0;
bottom: 0;
background-color: rgba(0, 0, 0, .3);
background-color: rgba(0, 0, 0, .3);
}
.score-hide {
display: none;
display: none;
}
}
.real-score-outline {
.real-score-outline {
...
@@ -260,3 +262,50 @@
...
@@ -260,3 +262,50 @@
width: 100%;
width: 100%;
height: 100%;
height: 100%;
}
}
.question-answer {
border-top: 1rpx solid #eee;
}
.right-answer {
color: #1f208c;
}
.answer {
color: #ff0000;
}
.question-analysis {
border-top: 1rpx solid #eee;
color: #ff0000;
}
.class0-0 {
padding: 15rpx;
margin: 15rpx 10rpx;
background-color: #fff;
border-radius: 5rpx;
}
.class1-0 {
margin: 0 20rpx;
}
.class1-1 {
margin: 0 20rpx;
color: #090d9c;
font-size: 30rpx;
}
.class2-0 {
margin: 0 20rpx;
}
.class2-1 {
margin: 0 20rpx;
color: #090d9c;
font-size: 30rpx;
}
.real-score-book {
position: absolute;
left: 50%;
top: 0;
transform: translate(-50%, -50%);
width: 360rpx;
height: 220rpx;
}
.real-score-book-img {
width: 100%;
height: 100%;
}
\ No newline at end of file
project.config.json
View file @
55611f2f
...
@@ -21,6 +21,7 @@
...
@@ -21,6 +21,7 @@
"checkSiteMap"
:
true
,
"checkSiteMap"
:
true
,
"uploadWithSourceMap"
:
true
,
"uploadWithSourceMap"
:
true
,
"compileHotReLoad"
:
false
,
"compileHotReLoad"
:
false
,
"lazyloadPlaceholderEnable"
:
false
,
"useMultiFrameRuntime"
:
true
,
"useMultiFrameRuntime"
:
true
,
"useApiHook"
:
true
,
"useApiHook"
:
true
,
"useApiHostProcess"
:
true
,
"useApiHostProcess"
:
true
,
...
@@ -29,15 +30,15 @@
...
@@ -29,15 +30,15 @@
"disablePlugins"
:
[],
"disablePlugins"
:
[],
"outputPath"
:
""
"outputPath"
:
""
},
},
"enableEngineNative"
:
false
,
"useIsolateContext"
:
true
,
"useIsolateContext"
:
true
,
"useCompilerModule"
:
true
,
"userConfirmedUseCompilerModuleSwitch"
:
false
,
"userConfirmedBundleSwitch"
:
false
,
"userConfirmedBundleSwitch"
:
false
,
"packNpmManually"
:
false
,
"packNpmManually"
:
false
,
"packNpmRelationList"
:
[],
"packNpmRelationList"
:
[],
"minifyWXSS"
:
true
,
"minifyWXSS"
:
true
,
"minifyWXML"
:
true
"disableUseStrict"
:
false
,
"minifyWXML"
:
true
,
"showES6CompileOption"
:
false
,
"useCompilerPlugins"
:
false
},
},
"compileType"
:
"miniprogram"
,
"compileType"
:
"miniprogram"
,
"libVersion"
:
"2.18.0"
,
"libVersion"
:
"2.18.0"
,
...
...
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