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
5c00bbda
Commit
5c00bbda
authored
Apr 20, 2021
by
Morson
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
https://git.banshouhui.com/lijundan/self-support
parents
3c8038f6
9f6da214
Changes
15
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
668 additions
and
427 deletions
+668
-427
launch.json
.hbuilderx/launch.json
+10
-5
classify.data.js
src/common/classify.data.js
+40
-2
XhFiles.vue
src/components/createCom/XhFiles.vue
+1
-1
XhMultiInput.vue
src/components/createCom/XhMultiInput.vue
+47
-0
XhTime.vue
src/components/createCom/XhTime.vue
+65
-0
index.vue
src/components/settle/index.vue
+2
-5
index.vue
src/pages/exam/index.vue
+7
-4
index.vue
src/pages/index/index.vue
+443
-387
exam.vue
src/pages/learn/exam.vue
+6
-3
complete.vue
src/pages/order/complete.vue
+30
-4
file-upload.vue
src/pages/settle/file-upload.vue
+1
-1
index.vue
src/pages/settle/index.vue
+11
-11
pay-ensure.vue
src/pages/settle/pay-ensure.vue
+1
-1
prompt.vue
src/pages/settle/prompt.vue
+3
-2
sign-contract.vue
src/pages/settle/sign-contract.vue
+1
-1
No files found.
.hbuilderx/launch.json
View file @
5c00bbda
...
...
@@ -2,10 +2,15 @@
//
launchtype项可配置值为local或remote
,
local代表前端连本地云函数,remote代表前端连云端云函数
"version"
:
"0.0"
,
"configurations"
:
[{
"type"
:
"uniCloud"
,
"default"
:
{
"launchtype"
:
"remote"
}
}
"default"
:
{
"launchtype"
:
"remote"
},
"mp-weixin"
:
{
"launchtype"
:
"remote"
},
"type"
:
"uniCloud"
}
]
}
src/common/classify.data.js
View file @
5c00bbda
export
default
[{
"groupName"
:
"女装"
,
"item"
:
[{
"required"
:
true
,
"fieldsTitle"
:
"A字裙多个"
,
"fieldsName"
:
"name"
,
"fieldsType"
:
"multiInput"
,
"fieldsValue"
:
""
,
"inputOptions"
:[{
"fieldsTitle"
:
"A字裙"
,
"fieldsName"
:
"name1"
,
"fieldsType"
:
"text"
,
},{
"fieldsTitle"
:
"A字裙"
,
"fieldsName"
:
"name2"
,
"fieldsType"
:
"text"
,
},{
"fieldsTitle"
:
"A字裙"
,
"fieldsName"
:
"name3"
,
"fieldsType"
:
"text"
,
},{
"fieldsTitle"
:
"A字裙"
,
"fieldsName"
:
"name3"
,
"fieldsType"
:
"text"
,
},{
"fieldsTitle"
:
"A字裙"
,
"fieldsName"
:
"name4"
,
"fieldsType"
:
"text"
,
},{
"fieldsTitle"
:
"A字裙"
,
"fieldsName"
:
"name5"
,
"fieldsType"
:
"text"
,
},],
"key"
:
"A字裙"
,
"icon"
:
"https://cdn.uviewui.com/uview/common/classify/1/1.jpg"
,
"cat"
:
10
},{
"required"
:
true
,
"fieldsTitle"
:
"A字裙"
,
"fieldsName"
:
"name"
,
"fieldsType"
:
"
tex
t"
,
"fieldsType"
:
"
inpu
t"
,
"fieldsValue"
:
""
,
"span"
:
8
,
"key"
:
"A字裙"
,
"icon"
:
"https://cdn.uviewui.com/uview/common/classify/1/1.jpg"
,
"cat"
:
10
...
...
@@ -73,7 +108,10 @@ export default [{
"cat"
:
10
},
{
"fieldsTitle"
:
"牛仔裤"
,
"fieldsTitle"
:
"时间选择"
,
"fieldsName"
:
"time"
,
"fieldsType"
:
"time"
,
"required"
:
true
,
"key"
:
"牛仔裤"
,
"icon"
:
"https://cdn.uviewui.com/uview/common/classify/1/9.jpg"
,
"cat"
:
10
...
...
src/components/createCom/XhFiles.vue
View file @
5c00bbda
...
...
@@ -6,7 +6,7 @@
<u-icon
name=
"arrow-right"
color=
"#666"
size=
"28"
></u-icon>
</view>
<view
class=
"pics u-flex u-flex-wrap"
>
<u-image
class=
"pic"
v-for=
"(item,index) in imgList"
width=
"170rpx"
height=
"170"
:src=
"item.path"
></u-image>
<u-image
class=
"pic"
v-for=
"(item,index) in imgList"
width=
"170rpx"
height=
"170"
:src=
"item.path"
:key=
"index"
></u-image>
<!--
<u-image
class=
"pic"
v-for=
"item in 6"
width=
"170rpx"
height=
"170"
src=
"'https://cdn.uviewui.com/uview/example/fade.jpg"
></u-image>
-->
</view>
<u-popup
v-model=
"maskShow"
mode=
"center"
width=
"500"
>
...
...
src/components/createCom/XhMultiInput.vue
0 → 100644
View file @
5c00bbda
<!-- ******************* 多个输入框 ******************* -->
<
template
>
<view
class=
"u-flex u-flex-wrap"
>
<u-input
class=
"input-item"
v-for=
"(item,index) in inputOptions"
v-model=
"item.value"
@
input=
"val=>
{getValue(item)}" type="text" :key="index"/>
</view>
</
template
>
<
script
>
import
objMixin
from
'./objMixin'
export
default
{
name
:
'XhMultiInput'
,
components
:
{},
mixins
:
[
objMixin
],
props
:
{},
data
()
{
return
{}
},
computed
:
{
inputOptions
()
{
let
options
=
this
.
item
.
inputOptions
||
[]
let
result
=
options
.
map
(
item
=>
{
return
{
...
item
,
value
:
''
}
})
return
result
}
},
watch
:
{},
mounted
()
{},
methods
:
{
getValue
(
item
){
let
currentValue
=
{}
currentValue
[
item
.
fieldsName
]
=
item
.
value
// 以key,value的对象形式传递
this
.
valueChange
(
currentValue
)
}
}
}
</
script
>
<
style
>
.input-item
{
width
:
33.3%
;
}
</
style
>
src/components/createCom/Xh
Input - 副本
.vue
→
src/components/createCom/Xh
Time
.vue
View file @
5c00bbda
<!-- ******************* 输入框 ******************* -->
<
template
>
<view>
<u-input
v-model=
"dataValue"
@
input=
"valueChange"
:type=
"type"
/>
<view
class=
"picker-box"
>
<view
class=
"u-flex u-row-between"
@
click=
"openPicker"
>
<view
class=
"txt"
>
{{
item
.
fieldsTitle
}}
</view>
<view
class=
"txt u-flex-1"
>
{{
dataValue
}}
</view>
<u-icon
name=
"arrow-right"
color=
"#666"
size=
"28"
></u-icon>
</view>
<u-picker
:params=
"params"
v-model=
"showPicker"
mode=
"time"
@
confirm=
"pickerConfirm"
></u-picker>
<!--
<u-picker
v-model=
"showPicker"
:rangeKey=
"rangeKey"
@
columnchange=
"columnchange"
mode=
"multiSelector"
@
confirm=
"pickerConfirm"
:default-selector=
'[0, 1]'
:range=
"settings"
></u-picker>
-->
</view>
</
template
>
...
...
@@ -13,7 +19,19 @@
mixins
:
[
stringMixin
],
props
:
{},
data
()
{
return
{}
return
{
showPicker
:
false
,
params
:
{
year
:
true
,
month
:
true
,
day
:
true
,
hour
:
true
,
minute
:
true
,
second
:
true
,
// 选择时间的时间戳
timestamp
:
true
,
}
}
},
computed
:
{
type
()
{
...
...
@@ -26,7 +44,20 @@
},
watch
:
{},
mounted
()
{},
methods
:
{}
methods
:
{
openPicker
()
{
this
.
showPicker
=
true
},
pickerConfirm
(
data
)
{
console
.
log
(
data
,
'DATA'
)
let
result
=
[]
let
dataValue
=
data
.
year
+
'-'
+
data
.
month
+
'-'
+
data
.
day
+
' '
+
data
.
hour
+
':'
+
data
.
minute
+
':'
+
data
.
second
console
.
log
(
dataValue
,
'dataValue'
)
this
.
dataValue
=
dataValue
this
.
valueChange
(
dataValue
)
},
}
}
</
script
>
...
...
src/components/settle/index.vue
View file @
5c00bbda
...
...
@@ -25,7 +25,7 @@
},
computed
:
{
url
()
{
return
qn_base_url
+
'top'
+
this
.
index
+
'.png'
return
qn_base_url
+
'top
back
'
+
this
.
index
+
'.png'
}
}
}
...
...
@@ -45,9 +45,6 @@
.settle-bottom
{
position
:
fixed
;
bottom
:
44rpx
;
width
:
100%
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
width
:
100%
;
}
</
style
>
src/pages/exam/index.vue
View file @
5c00bbda
<
template
>
<view
class=
"backView"
>
<Settle
:index=
"
2
"
>
<Settle
:index=
"
3
"
>
<!--
<template
v-if=
"isStart==false"
>
<view
class=
"noticeView"
>
<text
class=
"noticeText"
>
规则:系统随机出现20道考试题目,每道题5分,每题答题时间100秒,在规定时间内答对题目的记分。
...
...
@@ -15,7 +15,7 @@
<!-- <template v-if="isStart==true && currentItem"> -->
<view
class=
"bottom-padding"
v-if=
"currentItem"
>
<view
class=
"title-view"
>
<view
class=
"title-text
"
>
<view
:class=
"['title-text', {'radio': currentItem.question.answerType == 1}]
"
>
<text>
{{ titleText[Math.max(0, currentItem.question.answerType - 1)] }}
</text>
</view>
<view
class=
"title-right-view"
>
...
...
@@ -737,7 +737,10 @@
height
:
40rpx
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
justify-content
:
center
;
&
.radio
{
background-color
:
#2272FF
;
}
}
.title-right-view
{
...
...
@@ -757,7 +760,7 @@
}
.time-count-down
{
width
:
8
0rpx
;
width
:
5
0rpx
;
text-align
:
right
;
}
}
...
...
src/pages/index/index.vue
View file @
5c00bbda
This diff is collapsed.
Click to expand it.
src/pages/learn/exam.vue
View file @
5c00bbda
...
...
@@ -138,7 +138,7 @@
}
},
tips1Image
()
{
return
qn_base_url
+
'tips1
@3x
.png'
return
qn_base_url
+
'tips1.png'
}
},
onLoad
()
{
...
...
@@ -238,7 +238,9 @@
}
.tip-image
{
width
:
28rpx
;
width
:
26rpx
;
height
:
32rpx
;
flex-shrink
:
0
;
margin-right
:
10rpx
;
margin-top
:
2rpx
;
}
...
...
@@ -295,7 +297,8 @@
padding-top
:
8rpx
;
padding-right
:
2rpx
;
text-align
:
center
;
margin-right
:
20rpx
;
margin-right
:
20rpx
;
line-height
:
24rpx
;
.item-st-text
{
color
:
#FFFFFF
;
}
...
...
src/pages/order/complete.vue
View file @
5c00bbda
...
...
@@ -32,6 +32,10 @@
<xh-input
v-if=
"typeToComponentType(item.fieldsType)==='input'"
:groupIndex=
"groupIndex"
:itemIndex=
"itemIndex"
:item=
"item"
@
value-change=
"fieldValueChange"
>
</xh-input>
<xh-multi-input
v-else-if=
"typeToComponentType(item.fieldsType)==='multiinput'"
:groupIndex=
"groupIndex"
:itemIndex=
"itemIndex"
:item=
"item"
@
value-change=
"fieldValueChange"
>
</xh-multi-input>
<xh-radio
v-else-if=
"typeToComponentType(item.fieldsType)==='radio'"
:groupIndex=
"groupIndex"
:itemIndex=
"itemIndex"
:item=
"item"
@
value-change=
"fieldValueChange"
>
...
...
@@ -60,6 +64,10 @@
:groupIndex=
"groupIndex"
:itemIndex=
"itemIndex"
:item=
"item"
@
value-change=
"fieldValueChange"
>
</xh-picker>
<xh-time
v-else-if=
"typeToComponentType(item.fieldsType)==='time'"
:groupIndex=
"groupIndex"
:itemIndex=
"itemIndex"
:item=
"item"
@
value-change=
"fieldValueChange"
>
</xh-time>
</
template
>
</u-form-item>
</view>
...
...
@@ -74,6 +82,7 @@
<
script
>
import
classifyData
from
'@/common/classify.data.js'
;
import
XhInput
from
'@/components/createCom/XhInput.vue'
import
XhMultiInput
from
'@/components/createCom/XhMultiInput.vue'
import
XhRadio
from
'@/components/createCom/XhRadio.vue'
import
XhCheckbox
from
'@/components/createCom/XhCheckbox.vue'
import
XhSelect
from
'@/components/createCom/XhSelect.vue'
...
...
@@ -81,6 +90,8 @@
import
XhLocation
from
'@/components/createCom/XhLocation.vue'
import
XhScan
from
'@/components/createCom/XhScan.vue'
import
XhPicker
from
'@/components/createCom/XhPicker.vue'
import
XhTime
from
'@/components/createCom/XhTime.vue'
// import XhRadio from '@/components/createCom/XhRadio.vue'
export
default
{
data
()
{
...
...
@@ -130,14 +141,15 @@
},
components
:
{
XhInput
,
XhMultiInput
,
XhRadio
,
XhCheckbox
,
XhSelect
,
XhFiles
,
XhLocation
,
XhScan
,
XhPicker
// formCom
XhPicker
,
XhTime
,
},
created
()
{
// console.log(allComponents,'allComponents')
...
...
@@ -163,8 +175,14 @@
if
(
groupItem
.
item
)
{
innerItem
=
groupItem
.
item
[
data
.
itemIndex
]
}
console
.
log
(
innerItem
,
'innerItem'
)
this
.
form
[
innerItem
.
fieldsName
]
=
data
.
value
console
.
log
(
data
.
value
,
'data.value'
,
innerItem
,
'innerItem'
)
if
(
innerItem
.
fieldsType
===
'multiInput'
){
// 多个输入框的值触发
let
key
=
Object
.
keys
(
data
.
value
)[
0
]
this
.
form
[
key
]
=
data
.
value
[
key
]
}
else
{
this
.
form
[
innerItem
.
fieldsName
]
=
data
.
value
}
console
.
log
(
this
.
form
,
'this.form'
)
},
nextStep
(
item
)
{
...
...
@@ -175,6 +193,7 @@
// 将fieldType类型统一转换为公共组件判定类型
let
formType
=
''
type
=
type
.
toLocaleLowerCase
()
console
.
log
(
type
,
'type'
)
switch
(
type
)
{
case
'text'
:
case
'password'
:
...
...
@@ -182,6 +201,9 @@
case
'number'
:
formType
=
'input'
break
case
'multiinput'
:
formType
=
'multiinput'
break
;
case
'select'
:
formType
=
'select'
break
...
...
@@ -201,10 +223,14 @@
case
'mutipicker'
:
formType
=
'picker'
break
case
'time'
:
formType
=
'time'
break
// case 'file':
// formType = 'XhFiles'
// break
}
console
.
log
(
formType
,
'formType'
)
return
formType
},
// ------------------------- 以下方法为展示滚动切换 -------------------------
...
...
src/pages/settle/file-upload.vue
View file @
5c00bbda
<
template
>
<view
class=
"img-wrap rel"
>
<view
class=
"upload-box"
>
<view
class=
"img-item pic"
v-for=
"(file,index) in imgList"
>
<view
class=
"img-item pic"
v-for=
"(file,index) in imgList"
:key=
"index"
>
<!--
<view
class=
"tip-sucess u-flex u-row-center"
v-if=
"file && (file.status == status.QUEUED || file.status == status.UPLOADING)"
>
<span>
正在上传中...
{{
file
.
percent
}}
%
</span>
</view>
-->
...
...
src/pages/settle/index.vue
View file @
5c00bbda
...
...
@@ -227,18 +227,18 @@
margin-top
:
20rpx
;
}
.bottom_btn
{
width
:
600rpx
;
height
:
104rpx
;
line-height
:
96rpx
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
//
.bottom_btn {
//
width: 600rpx;
//
height: 104rpx;
//
line-height: 96rpx;
//
display: flex;
//
align-items: center;
//
justify-content: center;
.bottom_title
{
color
:
#fff
;
}
}
//
.bottom_title {
//
color: #fff;
//
}
//
}
.bottom_title
{
font-weight
:
bold
;
...
...
src/pages/settle/pay-ensure.vue
View file @
5c00bbda
...
...
@@ -2,7 +2,7 @@
<view
class=
"content"
>
<Settle
:index=
"5"
>
<view
class=
"base-list"
>
<view
class=
"title"
>
充电桩安装需缴纳
设备
押金
</view>
<view
class=
"title"
>
充电桩安装需缴纳
配件
押金
</view>
<view
class=
"price"
><text>
¥
</text>
{{
settledInfo
.
record
.
deposit
}}
</view>
<view
class=
"list"
>
<view
class=
"item u-flex u-row-between"
>
...
...
src/pages/settle/prompt.vue
View file @
5c00bbda
...
...
@@ -161,7 +161,7 @@
},
goPage
()
{
const
url
=
this
.
info
.
url
if
(
this
.
status
==
1
||
this
.
status
==
3
||
this
.
status
==
3
)
{
if
(
this
.
status
==
1
||
this
.
status
==
3
||
this
.
status
==
7
)
{
uni
.
reLaunch
({
url
,
});
...
...
@@ -246,7 +246,8 @@
line-height
:
104rpx
;
border-radius
:
52rpx
;
background
:
#2272ff
;
font-size
:
32rpx
;
font-size
:
32rpx
;
font-weight
:
bold
;
color
:
#fff
;
&
:disabled
{
...
...
src/pages/settle/sign-contract.vue
View file @
5c00bbda
...
...
@@ -58,7 +58,7 @@
<view
class=
"btn-wrap flex-xc"
>
<u-button
class=
"btn-submit"
@
click=
"$u.debounce(submitBaseInfo, 500)"
:custom-style=
"buttonStyle"
type=
"primary"
shape=
"circle"
:hover-class=
"submitStatus ? '' : 'none'"
>
我已确认信息,
去
签约
{{
count
?
'('
+
count
+
')'
:
''
}}
我已确认信息,
点击
签约
{{
count
?
'('
+
count
+
')'
:
''
}}
</u-button>
</view>
</
template
>
...
...
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