Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
self-support
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
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
李俊赕
self-support
Commits
e696ebf4
Commit
e696ebf4
authored
May 17, 2021
by
Morson
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
https://git.banshouhui.com/lijundan/self-support
parents
42fd5dc3
4fd4cf64
Changes
15
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
139 additions
and
115 deletions
+139
-115
App.vue
src/App.vue
+17
-1
appoint-time.vue
src/components/appoint/appoint-time.vue
+3
-2
XhFiles.vue
src/components/createCom/XhFiles.vue
+1
-1
index.vue
src/components/take/index.vue
+3
-3
task.js
src/components/upload/task.js
+18
-5
pages.json
src/pages.json
+2
-1
index.vue
src/pages/index/index.vue
+1
-29
learn.vue
src/pages/index/learn.vue
+33
-54
answer.vue
src/pages/learn/answer.vue
+2
-1
assessment.vue
src/pages/learn/assessment.vue
+6
-4
section.vue
src/pages/learn/section.vue
+43
-11
index.vue
src/pages/mine/cert/index.vue
+5
-2
detail.vue
src/pages/order/detail.vue
+5
-1
icon-flash-off.png
src/static/photo/icon-flash-off.png
+0
-0
icon-flash-torch.png
src/static/photo/icon-flash-torch.png
+0
-0
No files found.
src/App.vue
View file @
e696ebf4
...
@@ -79,17 +79,33 @@ export default {
...
@@ -79,17 +79,33 @@ export default {
},
},
onShow
:
async
function
()
{
onShow
:
async
function
()
{
// 应用启动,或从后台进入前台显示
// 应用启动,或从后台进入前台显示
this
.
handleImageTask
()
},
},
onHide
:
function
()
{
onHide
:
function
()
{
// 应用从前台进入后台
// 应用从前台进入后台
},
},
watch
:
{
watch
:
{
uploadTask
:
function
(
newValue
,
oldValue
)
{
uploadTask
:
function
(
newValue
,
oldValue
)
{
console
.
log
(
"oldValue, newValue"
,
oldValue
,
newValue
)
if
(
newValue
.
length
>
0
)
upload
.
uploadImageTask
(
this
)
if
(
newValue
.
length
>
0
)
upload
.
uploadImageTask
(
this
)
}
}
},
},
methods
:
{
methods
:
{
// 处理上传图片队列数据
handleImageTask
()
{
if
(
this
.
uploadTask
.
length
>
0
)
{
upload
.
uploadImageTask
(
this
)
}
else
{
// 定时清理缓存在本地的文件
const
result
=
uni
.
getStorageSync
(
'delImg'
)
if
(
result
.
length
>
0
)
{
for
(
let
i
of
result
)
{
uni
.
removeSavedFile
({
filePath
:
i
})
}
uni
.
setStorageSync
(
'delImg'
,
[])
}
}
},
getSystemInfo
()
{
getSystemInfo
()
{
try
{
try
{
let
a
=
wx
.
getSystemInfoSync
();
let
a
=
wx
.
getSystemInfoSync
();
...
...
src/components/appoint/appoint-time.vue
View file @
e696ebf4
...
@@ -318,8 +318,9 @@
...
@@ -318,8 +318,9 @@
border
:
none
;
border
:
none
;
}
}
button
[
disabled
]
:not
([
type
])
{
button
[
disabled
]
:not
([
type
])
{
background
:
#d1d4d4
;
background
:
#FFFFFF
;
color
:
#ffffff
;
color
:
#CCCCCC
;
border
:
2rpx
solid
#F4F5F7
;
}
}
}
}
}
}
...
...
src/components/createCom/XhFiles.vue
View file @
e696ebf4
...
@@ -28,7 +28,7 @@
...
@@ -28,7 +28,7 @@
import
arrMixin
from
'./arrMixin'
import
arrMixin
from
'./arrMixin'
import
baseFile
from
'@/components/upload/index'
;
import
baseFile
from
'@/components/upload/index'
;
import
takePhoto
from
'@/components/take/index.vue'
import
takePhoto
from
'@/components/take/index.vue'
import
uploader
from
'@/plugins/uploader/index.js'
//
import uploader from '@/plugins/uploader/index.js'
export
default
{
export
default
{
name
:
'XhFiles'
,
name
:
'XhFiles'
,
...
...
src/components/take/index.vue
View file @
e696ebf4
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
<cover-image
@
click=
"setCameraInfo('devicePosition')"
class=
"icon"
mode=
"aspectFit"
<cover-image
@
click=
"setCameraInfo('devicePosition')"
class=
"icon"
mode=
"aspectFit"
src=
"/static/photo/icon-switch.png"
></cover-image>
src=
"/static/photo/icon-switch.png"
></cover-image>
<cover-image
@
click=
"setCameraInfo('flash')"
class=
"icon"
mode=
"aspectFit"
<cover-image
@
click=
"setCameraInfo('flash')"
class=
"icon"
mode=
"aspectFit"
:src=
"'/static/photo/icon-
light
-' + cameraInfo.flash +'.png'"
></cover-image>
:src=
"'/static/photo/icon-
flash
-' + cameraInfo.flash +'.png'"
></cover-image>
<cover-image
v-if=
"currentItem.partnerCompanyId"
@
click=
"changeType(3)"
class=
"icon"
mode=
"aspectFit"
<cover-image
v-if=
"currentItem.partnerCompanyId"
@
click=
"changeType(3)"
class=
"icon"
mode=
"aspectFit"
src=
"/static/photo/icon-setting.png"
></cover-image>
src=
"/static/photo/icon-setting.png"
></cover-image>
</cover-view>
</cover-view>
...
@@ -84,7 +84,7 @@
...
@@ -84,7 +84,7 @@
standardShow
:
false
,
standardShow
:
false
,
cameraInfo
:
{
cameraInfo
:
{
devicePosition
:
'back'
,
devicePosition
:
'back'
,
flash
:
'
auto
'
flash
:
'
off
'
},
},
waterInfo
:
{
waterInfo
:
{
longitude
:
''
,
// 经度
longitude
:
''
,
// 经度
...
@@ -222,7 +222,7 @@
...
@@ -222,7 +222,7 @@
val
=
val
===
'back'
?
'front'
:
'back'
val
=
val
===
'back'
?
'front'
:
'back'
break
;
break
;
case
'flash'
:
case
'flash'
:
val
=
val
===
'
auto'
?
'on'
:
(
val
===
'on'
?
'off'
:
'auto'
)
val
=
val
===
'
off'
?
'torch'
:
'off'
break
;
break
;
defalut
:
defalut
:
...
...
src/components/upload/task.js
View file @
e696ebf4
...
@@ -7,7 +7,6 @@ export default {
...
@@ -7,7 +7,6 @@ export default {
*/
*/
async
uploadImageTask
(
that
)
{
async
uploadImageTask
(
that
)
{
const
uploadTask
=
that
.
uploadTask
const
uploadTask
=
that
.
uploadTask
console
.
log
(
"uploadTask"
,
uploadTask
)
const
options
=
{
const
options
=
{
files
:
uploadTask
,
// 必填 临时文件路径 格式: [{path: "图片地址"}]
files
:
uploadTask
,
// 必填 临时文件路径 格式: [{path: "图片地址"}]
...
@@ -15,13 +14,27 @@ export default {
...
@@ -15,13 +14,27 @@ export default {
maxSize
:
300000
,
//(默认 无 说明:上传的文件最大字节数限制,默认不限制)
maxSize
:
300000
,
//(默认 无 说明:上传的文件最大字节数限制,默认不限制)
onEachUpdate
:
res
=>
{
onEachUpdate
:
res
=>
{
console
.
log
(
"上传成功返回:"
,
res
);
console
.
log
(
"上传成功返回:"
,
res
);
const
newTask
=
uploadTask
.
filter
(
v
=>
v
.
key
!==
res
.
key
)
// that.$u.vuex('uploadTask', newTask)
},
},
Update
:
res
=>
{
Update
:
res
=>
{
console
.
log
(
"上传进度返回:"
,
res
);
console
.
log
(
"上传进度返回:"
,
res
);
}
}
}
}
uploader
.
qnFileUpload
(
options
)
const
result
=
await
uploader
.
qnFileUpload
(
options
)
},
if
(
result
)
{
// 匹配已上传完成的图片,更新缓存数据
let
newTask
=
[]
let
delImg
=
[]
uploadTask
.
forEach
(
v
=>
{
if
(
result
.
includes
(
`/
${
v
.
key
}
`
))
{
// 删除已上传的图片
delImg
.
push
(
v
.
path
)
}
else
{
// 未上传的重新存储
newTask
.
push
(
v
)
}
})
uni
.
setStorageSync
(
'delImg'
,
delImg
)
// 已上传完的图片,会在启动系统的时候做一次清理
that
.
$u
.
vuex
(
'uploadTask'
,
newTask
)
}
}
}
}
\ No newline at end of file
src/pages.json
View file @
e696ebf4
...
@@ -204,7 +204,8 @@
...
@@ -204,7 +204,8 @@
"path"
:
"cert/index"
,
"path"
:
"cert/index"
,
"style"
:
{
"style"
:
{
"navigationBarTitleText"
:
"我的证件"
,
"navigationBarTitleText"
:
"我的证件"
,
"navigationStyle"
:
"custom"
"navigationStyle"
:
"custom"
,
"disableScroll"
:
true
}
}
},
},
{
{
...
...
src/pages/index/index.vue
View file @
e696ebf4
<
template
>
<
template
>
<TabBarPage
title=
"扳手会"
:fixed=
"true"
>
<TabBarPage
title=
"扳手会"
:fixed=
"true"
>
<view
class=
"content-view"
>
<view
class=
"content-view"
>
<scroll-view
scroll-y
@
scrolltolower=
"reachBottom"
<scroll-view
s
tyle=
"height: 100%;"
s
croll-y
@
scrolltolower=
"reachBottom"
scroll-anchoring
scroll-y=
"true"
refresher-enabled=
"true"
:refresher-triggered=
"triggered"
:refresher-threshold=
"100"
scroll-anchoring
scroll-y=
"true"
refresher-enabled=
"true"
:refresher-triggered=
"triggered"
:refresher-threshold=
"100"
refresher-background=
"#F4F5F7"
@
refresherpulling=
"triggered = true"
@
refresherrefresh=
"onRefresh"
refresher-background=
"#F4F5F7"
@
refresherpulling=
"triggered = true"
@
refresherrefresh=
"onRefresh"
@
refresherrestore=
"onRestore"
@
refresherabort=
"onAbort"
enable-back-to-top
>
@
refresherrestore=
"onRestore"
@
refresherabort=
"onAbort"
enable-back-to-top
>
...
@@ -172,20 +172,6 @@
...
@@ -172,20 +172,6 @@
this
.
getLocation
()
this
.
getLocation
()
}
}
},
},
// onPullDownRefresh() {
// console.log('------下拉刷新------')
// // 下拉刷洗
// this.initSettleInfo()
// },
// onReachBottom() {
// console.log('----------底部-------------', this.currentLoadStatus)
// if (this.currentLoadStatus != 'loadmore') return
// this.currentLoadStatus == 'loading'
// this.loadOrderList()
// },
// onPageScroll(obj) {
// console.log('---------scroll---------', obj)
// },
methods
:
{
methods
:
{
getData
()
{
getData
()
{
this
.
getOrderCount
()
this
.
getOrderCount
()
...
@@ -274,9 +260,6 @@
...
@@ -274,9 +260,6 @@
}
}
});
});
},
},
onRestore
()
{
this
.
triggered
=
"restore"
;
},
reachBottom
()
{
reachBottom
()
{
if
(
this
.
vuex_token
)
{
if
(
this
.
vuex_token
)
{
if
(
this
.
currentLoadStatus
!=
'loadmore'
)
return
if
(
this
.
currentLoadStatus
!=
'loadmore'
)
return
...
@@ -284,9 +267,6 @@
...
@@ -284,9 +267,6 @@
this
.
loadOrderList
()
this
.
loadOrderList
()
}
}
},
},
onPulling
(
e
)
{
console
.
log
(
"onpulling"
,
e
);
},
onRefresh
()
{
onRefresh
()
{
if
(
this
.
_freshing
)
return
;
if
(
this
.
_freshing
)
return
;
this
.
_freshing
=
true
;
this
.
_freshing
=
true
;
...
@@ -294,15 +274,7 @@
...
@@ -294,15 +274,7 @@
},
},
onRestore
()
{
onRestore
()
{
this
.
triggered
=
'restore'
;
// 需要重置
this
.
triggered
=
'restore'
;
// 需要重置
console
.
log
(
"onRestore"
);
},
},
onAbort
()
{
console
.
log
(
"onAbort"
);
},
// clickSwiper(index) {},
handleScroll
()
{
console
.
log
(
"-----scroll-------"
);
},
/* 立即入驻 */
/* 立即入驻 */
immediatelyIn
()
{
immediatelyIn
()
{
if
(
this
.
vuex_token
)
{
if
(
this
.
vuex_token
)
{
...
...
src/pages/index/learn.vue
View file @
e696ebf4
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
<u-tabs-swiper
bg-color=
"#F4F5F7"
inactive-color=
"#999999"
font-size=
"28"
ref=
"uTabs"
:list=
"tabs"
<u-tabs-swiper
bg-color=
"#F4F5F7"
inactive-color=
"#999999"
font-size=
"28"
ref=
"uTabs"
:list=
"tabs"
:current=
"current"
@
change=
"tabsChange"
:is-scroll=
"false"
:bar-width=
"52"
swiperWidth=
"750"
></u-tabs-swiper>
:current=
"current"
@
change=
"tabsChange"
:is-scroll=
"false"
:bar-width=
"52"
swiperWidth=
"750"
></u-tabs-swiper>
<swiper
class=
"swiper_group"
:current=
"swiperCurrent"
@
transition=
"transition"
@
animationfinish=
"animationfinish"
>
<swiper
class=
"swiper_group"
:current=
"swiperCurrent"
@
transition=
"transition"
@
animationfinish=
"animationfinish"
>
<swiper-item
@
touchmove
.
stop
.
prevent=
"stopTouchMove"
v-show=
"current == 0"
>
<swiper-item
@
touchmove
.
stop
.
prevent=
"stopTouchMove"
>
<scroll-view
scroll-y
style=
"height:100%;width:100%;"
>
<scroll-view
scroll-y
style=
"height:100%;width:100%;"
>
<view
class=
"jf-currency-class"
>
<view
class=
"jf-currency-class"
>
<image
:src=
"jianBianImg"
mode=
""
class=
"current-img"
></image>
<image
:src=
"jianBianImg"
mode=
""
class=
"current-img"
></image>
...
@@ -22,7 +22,7 @@
...
@@ -22,7 +22,7 @@
</view>
</view>
</scroll-view>
</scroll-view>
</swiper-item>
</swiper-item>
<swiper-item
@
touchmove
.
stop
.
prevent=
"stopTouchMove"
v-show=
"current == 1"
>
<swiper-item
@
touchmove
.
stop
.
prevent=
"stopTouchMove"
>
<scroll-view
scroll-y
style=
"height:100%;width:100%;"
@
scrolltolower=
"onreachBottom"
scroll-y=
"true"
refresher-enabled=
"true"
:refresher-triggered=
"triggered"
:refresher-threshold=
"100"
@
refresherpulling=
"onPulling"
@
refresherrefresh=
"onRefresh"
@
refresherrestore=
"onRestore"
@
refresherabort=
"onAbort"
>
<scroll-view
scroll-y
style=
"height:100%;width:100%;"
@
scrolltolower=
"onreachBottom"
scroll-y=
"true"
refresher-enabled=
"true"
:refresher-triggered=
"triggered"
:refresher-threshold=
"100"
@
refresherpulling=
"onPulling"
@
refresherrefresh=
"onRefresh"
@
refresherrestore=
"onRestore"
@
refresherabort=
"onAbort"
>
<view
v-for=
"item in list"
:key=
"item.id"
class=
"notice"
@
click=
"bbb(item)"
>
<view
v-for=
"item in list"
:key=
"item.id"
class=
"notice"
@
click=
"bbb(item)"
>
<view
class=
"n-head"
>
<view
class=
"n-head"
>
...
@@ -42,7 +42,7 @@
...
@@ -42,7 +42,7 @@
</view>
</view>
</scroll-view>
</scroll-view>
</swiper-item>
</swiper-item>
<swiper-item
@
touchmove
.
stop
.
prevent=
"stopTouchMove"
v-show=
"current == 2"
>
<swiper-item
@
touchmove
.
stop
.
prevent=
"stopTouchMove"
>
<scroll-view
scroll-y
style=
"height:100%;width:100%;"
>
<scroll-view
scroll-y
style=
"height:100%;width:100%;"
>
<view
class=
"title u-margin-top-10 u-margin-bottom-30"
>
通用课程
</view>
<view
class=
"title u-margin-top-10 u-margin-bottom-30"
>
通用课程
</view>
<view
class=
"learn-currency-class"
>
<view
class=
"learn-currency-class"
>
...
@@ -81,8 +81,7 @@
...
@@ -81,8 +81,7 @@
</view>
</view>
</view>
</view>
</view>
</view>
<view
class=
"title u-margin-top-30 u-margin-bottom-30"
>
技能课程
</view>
<view
class=
"learn-currency-class u-margin-bottom-20 u-margin-top-30"
style=
"padding-bottom: 300rpx;"
>
<view
class=
"learn-currency-class u-margin-bottom-20"
style=
"padding-bottom: 300rpx;"
>
<view
class=
"learn-class1"
@
click=
"goPlay(courselist[2])"
>
<view
class=
"learn-class1"
@
click=
"goPlay(courselist[2])"
>
<image
class=
"learn-img"
:src=
"courselist[2].pic"
mode=
""
></image>
<image
class=
"learn-img"
:src=
"courselist[2].pic"
mode=
""
></image>
<image
class=
"bofang"
:src=
"bofang"
mode=
""
></image>
<image
class=
"bofang"
:src=
"bofang"
mode=
""
></image>
...
@@ -103,7 +102,7 @@
...
@@ -103,7 +102,7 @@
</view>
</view>
</scroll-view>
</scroll-view>
</swiper-item>
</swiper-item>
<swiper-item
@
touchmove
.
stop
.
prevent=
"stopTouchMove"
v-show=
"current == 3"
>
<swiper-item
@
touchmove
.
stop
.
prevent=
"stopTouchMove"
>
<scroll-view
scroll-y
style=
"height:100%;width:100%;"
>
<scroll-view
scroll-y
style=
"height:100%;width:100%;"
>
<view
class=
"title u-margin-top-10 u-margin-bottom-30"
>
通用认证
</view>
<view
class=
"title u-margin-top-10 u-margin-bottom-30"
>
通用认证
</view>
<view
class=
"currency-class"
>
<view
class=
"currency-class"
>
...
@@ -151,8 +150,8 @@
...
@@ -151,8 +150,8 @@
var
json
=
{
var
json
=
{
dev
:
[
dev
:
[
{
{
title
:
"
服务规范
"
,
title
:
"
安装材料及工具准备
"
,
desc
:
"
为用户提供更好服务,自己赚更多钱
"
,
desc
:
"
前期的安装材料及安装工具的准备是工作的良好开始
"
,
pic
:
process
.
uniEnv
.
qn_base_url
+
"fwgf-3x-v2.png"
,
pic
:
process
.
uniEnv
.
qn_base_url
+
"fwgf-3x-v2.png"
,
percent
:
0
,
percent
:
0
,
status
:
""
,
status
:
""
,
...
@@ -160,8 +159,8 @@ var json = {
...
@@ -160,8 +159,8 @@ var json = {
sectionId
:
""
,
sectionId
:
""
,
},
},
{
{
title
:
"
接单规范
"
,
title
:
"
服务理念与时效
"
,
desc
:
"
快速学习,使用APP 接单、抢单
"
,
desc
:
"
为用户提供更好的服务,自己赚更多的钱
"
,
pic
:
process
.
uniEnv
.
qn_base_url
+
"jdgf-3x-v2.png"
,
pic
:
process
.
uniEnv
.
qn_base_url
+
"jdgf-3x-v2.png"
,
percent
:
0
,
percent
:
0
,
status
:
""
,
status
:
""
,
...
@@ -169,8 +168,8 @@ var json = {
...
@@ -169,8 +168,8 @@ var json = {
sectionId
:
""
,
sectionId
:
""
,
},
},
{
{
title
:
"
从0-1学习充电桩安装服务
"
,
title
:
"
充电桩安装要点提示
"
,
desc
:
"
让你全面了解充电桩市场及服务规范
"
,
desc
:
"
在充电装安装过程中需要着重注意的要点
"
,
pic
:
process
.
uniEnv
.
qn_base_url
+
"cdz-3x-v2.png"
,
pic
:
process
.
uniEnv
.
qn_base_url
+
"cdz-3x-v2.png"
,
percent
:
0
,
percent
:
0
,
status
:
""
,
status
:
""
,
...
@@ -180,8 +179,8 @@ var json = {
...
@@ -180,8 +179,8 @@ var json = {
],
],
test
:
[
test
:
[
{
{
title
:
"
服务规范
"
,
title
:
"
安装材料及工具准备
"
,
desc
:
"
为用户提供更好服务,自己赚更多钱
"
,
desc
:
"
前期的安装材料及安装工具的准备是工作的良好开始
"
,
pic
:
process
.
uniEnv
.
qn_base_url
+
"fwgf-3x-v2.png"
,
pic
:
process
.
uniEnv
.
qn_base_url
+
"fwgf-3x-v2.png"
,
percent
:
0
,
percent
:
0
,
status
:
""
,
status
:
""
,
...
@@ -189,8 +188,8 @@ var json = {
...
@@ -189,8 +188,8 @@ var json = {
sectionId
:
""
,
sectionId
:
""
,
},
},
{
{
title
:
"
接单规范
"
,
title
:
"
服务理念与时效
"
,
desc
:
"
快速学习,使用APP 接单、抢单
"
,
desc
:
"
为用户提供更好的服务,自己赚更多的钱
"
,
pic
:
process
.
uniEnv
.
qn_base_url
+
"jdgf-3x-v2.png"
,
pic
:
process
.
uniEnv
.
qn_base_url
+
"jdgf-3x-v2.png"
,
percent
:
0
,
percent
:
0
,
status
:
""
,
status
:
""
,
...
@@ -198,8 +197,8 @@ var json = {
...
@@ -198,8 +197,8 @@ var json = {
sectionId
:
""
,
sectionId
:
""
,
},
},
{
{
title
:
"
从0-1学习充电桩安装服务
"
,
title
:
"
充电桩安装要点提示
"
,
desc
:
"
让你全面了解充电桩市场及服务规范
"
,
desc
:
"
在充电装安装过程中需要着重注意的要点
"
,
pic
:
process
.
uniEnv
.
qn_base_url
+
"cdz-3x-v2.png"
,
pic
:
process
.
uniEnv
.
qn_base_url
+
"cdz-3x-v2.png"
,
percent
:
0
,
percent
:
0
,
status
:
""
,
status
:
""
,
...
@@ -209,24 +208,24 @@ var json = {
...
@@ -209,24 +208,24 @@ var json = {
],
],
prod
:
[
prod
:
[
{
{
title
:
"
服务规范
"
,
title
:
"
安装材料及工具准备
"
,
desc
:
"
为用户提供更好服务,自己赚更多钱
"
,
desc
:
"
前期的安装材料及安装工具的准备是工作的良好开始
"
,
pic
:
process
.
uniEnv
.
qn_base_url
+
"fwgf-3x-v2.png"
,
pic
:
process
.
uniEnv
.
qn_base_url
+
"fwgf-3x-v2.png"
,
percent
:
0
,
percent
:
0
,
status
:
""
,
status
:
""
,
sectionId
:
""
,
sectionId
:
""
,
},
},
{
{
title
:
"
接单规范
"
,
title
:
"
服务理念与时效
"
,
desc
:
"
快速学习,使用APP 接单、抢单
"
,
desc
:
"
为用户提供更好的服务,自己赚更多的钱
"
,
pic
:
process
.
uniEnv
.
qn_base_url
+
"jdgf-3x-v2.png"
,
pic
:
process
.
uniEnv
.
qn_base_url
+
"jdgf-3x-v2.png"
,
percent
:
0
,
percent
:
0
,
status
:
""
,
status
:
""
,
sectionId
:
""
,
sectionId
:
""
,
},
},
{
{
title
:
"
从0-1学习充电桩安装服务
"
,
title
:
"
充电桩安装要点提示
"
,
desc
:
"
让你全面了解充电桩市场及服务规范
"
,
desc
:
"
在充电装安装过程中需要着重注意的要点
"
,
pic
:
process
.
uniEnv
.
qn_base_url
+
"cdz-3x-v2.png"
,
pic
:
process
.
uniEnv
.
qn_base_url
+
"cdz-3x-v2.png"
,
percent
:
0
,
percent
:
0
,
status
:
""
,
status
:
""
,
...
@@ -238,7 +237,7 @@ var json = {
...
@@ -238,7 +237,7 @@ var json = {
var
examJson
=
{
var
examJson
=
{
dev
:
[
dev
:
[
{
{
title
:
"
服务规范
"
,
title
:
"
安装材料及工具准备
"
,
desc
:
"通过本认证,是接单的必要条件"
,
desc
:
"通过本认证,是接单的必要条件"
,
condition
:
"随机20题,及格20题"
,
condition
:
"随机20题,及格20题"
,
status
:
""
,
status
:
""
,
...
@@ -264,7 +263,7 @@ var examJson = {
...
@@ -264,7 +263,7 @@ var examJson = {
],
],
test
:
[
test
:
[
{
{
title
:
"
服务规范
"
,
title
:
"
安装材料及工具准备
"
,
desc
:
"通过本认证,是接单的必要条件"
,
desc
:
"通过本认证,是接单的必要条件"
,
condition
:
"随机10题,及格10题"
,
condition
:
"随机10题,及格10题"
,
status
:
""
,
status
:
""
,
...
@@ -290,7 +289,7 @@ var examJson = {
...
@@ -290,7 +289,7 @@ var examJson = {
],
],
prod
:
[
prod
:
[
{
{
title
:
"
服务规范
"
,
title
:
"
安装材料及工具准备
"
,
desc
:
"通过本认证,是接单的必要条件"
,
desc
:
"通过本认证,是接单的必要条件"
,
condition
:
"随机20题,及格20题"
,
condition
:
"随机20题,及格20题"
,
status
:
""
,
status
:
""
,
...
@@ -327,7 +326,7 @@ export default {
...
@@ -327,7 +326,7 @@ export default {
name
:
"交付规范"
,
name
:
"交付规范"
,
},
},
{
{
name
:
"
培训
通知"
,
name
:
"
消息
通知"
,
},
},
{
{
name
:
"在线学习"
,
name
:
"在线学习"
,
...
@@ -408,6 +407,7 @@ export default {
...
@@ -408,6 +407,7 @@ export default {
isReflesh
:
true
,
isReflesh
:
true
,
triggered
:
false
,
triggered
:
false
,
_freshing
:
false
,
_freshing
:
false
,
isOnLoad
:
0
};
};
},
},
onLoad
(
param
)
{
onLoad
(
param
)
{
...
@@ -425,13 +425,14 @@ export default {
...
@@ -425,13 +425,14 @@ export default {
},
},
},
},
onShow
:
function
(
param
)
{
onShow
:
function
(
param
)
{
this
.
isOnLoad
=
1
;
try
{
try
{
if
(
param
.
tabs
)
{
if
(
param
.
tabs
)
{
this
.
current
=
param
.
tabs
;
this
.
current
=
param
.
tabs
;
this
.
swiperCurrent
=
param
.
tabs
;
this
.
swiperCurrent
=
param
.
tabs
;
}
}
}
catch
(
e
)
{}
}
catch
(
e
)
{}
if
(
this
.
current
==
2
||
this
.
current
==
3
)
{
if
(
this
.
current
==
1
||
this
.
current
==
2
||
this
.
current
==
3
)
{
this
.
tabsChange
(
this
.
current
);
this
.
tabsChange
(
this
.
current
);
}
}
},
},
...
@@ -709,31 +710,9 @@ export default {
...
@@ -709,31 +710,9 @@ export default {
index
index
].
questionTime
;
].
questionTime
;
var
examInfo
=
this
.
examList
[
index
];
var
examInfo
=
this
.
examList
[
index
];
if
(
examInfo
.
examStatus
==
0
)
{
wx
.
navigateTo
({
wx
.
navigateTo
({
url
:
"/pages/learn/assessment?examId="
+
examInfo
.
id
,
url
:
"/pages/learn/assessment?examId="
+
examInfo
.
id
,
});
});
}
else
if
(
examInfo
.
examStatus
==
1
)
{
let
url
=
''
;
if
(
examInfo
.
status
==
"已通过"
)
{
url
=
"/pages/learn/exam-pass?userExamId="
+
examInfo
.
examId
+
"&examId="
+
examInfo
.
id
;
}
else
{
url
=
"/pages/learn/result?userExamId="
+
examInfo
.
examId
+
"&examId="
+
examInfo
.
id
}
wx
.
navigateTo
({
url
:
url
,
});
}
else
if
(
examInfo
.
examStatus
==
2
)
{
wx
.
navigateTo
({
url
:
"/pages/learn/assessment?examId="
+
examInfo
.
id
,
});
}
},
},
//跳转到播放
//跳转到播放
goPlay
(
info
)
{
goPlay
(
info
)
{
...
...
src/pages/learn/answer.vue
View file @
e696ebf4
...
@@ -368,7 +368,7 @@ export default {
...
@@ -368,7 +368,7 @@ export default {
var
wz
=
str
.
indexOf
(
"."
);
var
wz
=
str
.
indexOf
(
"."
);
let
str1
=
str
.
substring
(
wz
+
1
);
let
str1
=
str
.
substring
(
wz
+
1
);
console
.
log
(
that
.
currentItem
);
console
.
log
(
that
.
currentItem
);
that
.
currentItem
.
question
.
content
=
str1
;
that
.
currentItem
.
question
.
content
=
str1
.
replace
(
'*'
,
''
)
;
console
.
log
(
str1
,
"切割的字符串"
);
console
.
log
(
str1
,
"切割的字符串"
);
}
}
if
(
res
.
data
.
data
.
answerList
)
{
if
(
res
.
data
.
data
.
answerList
)
{
...
@@ -682,6 +682,7 @@ export default {
...
@@ -682,6 +682,7 @@ export default {
display
:
flex
;
display
:
flex
;
justify-content
:
space-between
;
justify-content
:
space-between
;
align-items
:
center
;
align-items
:
center
;
padding-right
:
30rpx
;
.title-text
{
.title-text
{
border-radius
:
8rpx
;
border-radius
:
8rpx
;
...
...
src/pages/learn/assessment.vue
View file @
e696ebf4
...
@@ -159,10 +159,12 @@ export default {
...
@@ -159,10 +159,12 @@ export default {
uni
.
hideLoading
();
uni
.
hideLoading
();
if
(
res
.
data
.
code
==
200
)
{
if
(
res
.
data
.
code
==
200
)
{
if
(
res
.
data
.
data
.
ruleDisc
)
{
if
(
res
.
data
.
data
.
ruleDisc
)
{
console
.
log
(
res
.
data
.
data
.
ruleDisc
);
var
str
=
res
.
data
.
data
.
ruleDisc
;
var
str
=
res
.
data
.
data
.
ruleDisc
;
console
.
log
(
str
.
substring
(
0
,
11
));
let
strArr
=
str
.
split
(
'('
)[
0
].
split
(
','
);
this
.
ruleDisc
=
str
.
substring
(
0
,
11
);
this
.
desc
.
title
=
strArr
[
0
];
this
.
desc
.
score
=
strArr
[
1
];
this
.
desc
.
time
=
strArr
[
2
];
this
.
ruleDisc
=
strArr
[
3
];
}
}
}
}
},
},
...
@@ -206,7 +208,7 @@ export default {
...
@@ -206,7 +208,7 @@ export default {
font-size
:
40
rpx
;
font-size
:
40
rpx
;
font-weight
:
bold
;
font-weight
:
bold
;
color
:
#333333
;
color
:
#333333
;
line-height
:
20
px
;
line-height
:
68
r
px
;
padding
:
50
rpx
58
rpx
46
rpx
30
rpx
;
padding
:
50
rpx
58
rpx
46
rpx
30
rpx
;
}
}
...
...
src/pages/learn/section.vue
View file @
e696ebf4
...
@@ -11,7 +11,7 @@
...
@@ -11,7 +11,7 @@
<view
class=
"title-content"
>
<view
class=
"title-content"
>
<view
class=
"item-content"
>
<view
class=
"item-content"
>
<view
class=
"item-st"
>
<view
class=
"item-st"
>
<image
style=
"width: 80rpx; height: 36rpx
"
:src=
"kcImage"
></image>
<image
class=
"kc-image
"
:src=
"kcImage"
></image>
<text
class=
"item-st-text"
>
{{
courseTotal
}}
课时
</text>
<text
class=
"item-st-text"
>
{{
courseTotal
}}
课时
</text>
</view>
</view>
<view
class=
"item-title"
>
{{
courseTitle
}}
</view>
<view
class=
"item-title"
>
{{
courseTitle
}}
</view>
...
@@ -20,19 +20,19 @@
...
@@ -20,19 +20,19 @@
</view>
</view>
<view
class=
"learn-view"
v-if=
"courseId >= 0"
>
<view
class=
"learn-view"
v-if=
"courseId >= 0"
>
<view
class=
"learn-view-title color-teacher"
>
课程讲师
</view>
<view
class=
"learn-view-title color-teacher"
>
课程讲师
</view>
<view
class=
"
"
style=
"padding-top: 30rpx;display: flex;padding-left: 30rpx;
"
>
<view
class=
"
teacher-desc
"
>
<u-avatar
:style=
"
{'width':'100rpx', 'height':'100rpx'}" :src="teacherImage" mode="circle">
<u-avatar
:style=
"
{'width':'100rpx', 'height':'100rpx'}" :src="teacherImage" mode="circle">
</u-avatar>
</u-avatar>
<view
style=
"height:120rpx;font-size: 30rpx;padding-left:30rpx;padding-right: 30rpx;
"
>
<view
class=
"teacher-right
"
>
<view
class=
"
"
style=
"display: flex;font-size: 32rpx;
"
>
<view
class=
"
teacher-right-top
"
>
<view
class=
""
style=
"font-size: 32rpx;font-weight: bold;"
>
{{
teacher
.
name
}}
</view>
<view
class=
""
style=
"font-size: 32rpx;font-weight: bold;"
>
{{
teacher
.
name
}}
</view>
<view
class=
""
<view
class=
"teacher-disc"
>
课程讲师
style=
"font-size: 24rpx;margin-left: 30rpx;margin-top: 6rpx;color: #999999;"
>
课程讲师
</view>
</view>
</view>
</view>
<view
class=
"
"
style=
"font-size: 24rpx;margin-top: 30rpx;
"
>
{{
teacherIntro
}}
</view>
<view
class=
"
teacher-intro
"
>
{{
teacherIntro
}}
</view>
</view>
</view>
</view>
</view>
<u-line
color=
"#F4F5F7"
margin=
"30rpx 0 0 0"
/>
<view
class=
"learn-view-title"
>
目录
</view>
<view
class=
"learn-view-title"
>
目录
</view>
<view
class=
"scroll_box"
>
<view
class=
"scroll_box"
>
<scroll-view
scroll-x
@
scroll=
"scroll"
:scroll-left=
"scrollValue"
>
<scroll-view
scroll-x
@
scroll=
"scroll"
:scroll-left=
"scrollValue"
>
...
@@ -373,13 +373,13 @@
...
@@ -373,13 +373,13 @@
font-size
:
32rpx
;
font-size
:
32rpx
;
color
:
#333333
;
color
:
#333333
;
height
:
820rpx
;
height
:
820rpx
;
padding
:
0
30rpx
;
.learn-view-title
{
.learn-view-title
{
font-size
:
32rpx
;
font-size
:
32rpx
;
font-weight
:
bold
;
font-weight
:
bold
;
margin-bottom
:
10rpx
;
margin-bottom
:
10rpx
;
padding-top
:
30rpx
;
padding-top
:
30rpx
;
margin-left
:
30rpx
;
}
}
.learn-list
{
.learn-list
{
...
@@ -456,10 +456,8 @@
...
@@ -456,10 +456,8 @@
width
:
100%
;
width
:
100%
;
height
:
150rpx
;
height
:
150rpx
;
overflow
:
hidden
;
overflow
:
hidden
;
// padding: 20rpx;
padding-left
:
20rpx
;
background
:
#fff
;
background
:
#fff
;
// border: 1px solid red
;
margin-top
:
30rpx
;
}
}
.scroll_box
scroll-view
{
.scroll_box
scroll-view
{
...
@@ -484,4 +482,38 @@
...
@@ -484,4 +482,38 @@
border
:
2rpx
solid
#2272FF
;
border
:
2rpx
solid
#2272FF
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
}
}
.teacher-intro
{
font-size
:
24rpx
;
margin-top
:
15rpx
;
}
.teacher-disc
{
font-size
:
24rpx
;
margin-top
:
6rpx
;
color
:
#999999
;
padding-left
:
30rpx
;
}
.kc-image
{
width
:
80rpx
;
height
:
36rpx
}
.teacher-desc
{
padding-top
:
30rpx
;
display
:
flex
;
padding-left
:
30rpx
;
}
.teacher-right
{
font-size
:
30rpx
;
padding-left
:
30rpx
;
padding-right
:
30rpx
;
}
.teacher-right-top
{
display
:
flex
;
font-size
:
32rpx
;
}
</
style
>
</
style
>
src/pages/mine/cert/index.vue
View file @
e696ebf4
...
@@ -12,7 +12,8 @@
...
@@ -12,7 +12,8 @@
<view
class=
"content-cody"
>
<view
class=
"content-cody"
>
<u-cell-group
:border=
"false"
>
<u-cell-group
:border=
"false"
>
<u-cell-item
v-for=
"(item, index) in list"
:title=
"item.name"
:value=
"item.isUploadName"
:arrow=
"true"
:key=
"index"
<u-cell-item
v-for=
"(item, index) in list"
:title=
"item.name"
:value=
"item.isUploadName"
:arrow=
"true"
:key=
"index"
:value-style=
"
{'color': item.color}" @click="toDetail(item.keyName)" :title-style="{'padding-left':'20rpx'}">
:value-style=
"
{'color': item.color,'padding-left':'30rpx','padding-right':'30rpx'}" @click="toDetail(item.keyName)"
:title-style="{'padding-left':'20rpx'}">
<u-icon
slot=
"icon"
size=
"32"
name=
"checkmark-circle"
:color=
"item.iconColor"
></u-icon>
<u-icon
slot=
"icon"
size=
"32"
name=
"checkmark-circle"
:color=
"item.iconColor"
></u-icon>
</u-cell-item>
</u-cell-item>
</u-cell-group>
</u-cell-group>
...
@@ -144,5 +145,7 @@
...
@@ -144,5 +145,7 @@
color
:
#007AFF
;
color
:
#007AFF
;
}
}
.u-cell
{
padding
:
26
rpx
0
!important
;
}
</
style
>
</
style
>
src/pages/order/detail.vue
View file @
e696ebf4
...
@@ -769,7 +769,11 @@
...
@@ -769,7 +769,11 @@
let
self
=
this
let
self
=
this
var
nowTime
=
new
Date
();
// 当前时间
var
nowTime
=
new
Date
();
// 当前时间
if
(
currentOverTime
&&
nowTime
.
getTime
()
>
currentOverTime
){
if
(
currentOverTime
&&
nowTime
.
getTime
()
>
currentOverTime
){
this
.
btnClass
=
'timeOut-btn'
if
(
this
.
centerBtnDisabled
===
false
&&
this
.
submitType
===
'maintainWorkerCheckin'
){
this
.
btnClass
=
"isGan-btn"
}
else
{
this
.
btnClass
=
'timeOut-btn'
}
this
.
$refs
[
'uCountDown'
].
seconds
+=
2
this
.
$refs
[
'uCountDown'
].
seconds
+=
2
}
}
},
},
...
...
src/static/photo/icon-flash-off.png
0 → 100644
View file @
e696ebf4
1.36 KB
src/static/photo/icon-flash-torch.png
0 → 100644
View file @
e696ebf4
1 KB
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