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
d70e4d67
Commit
d70e4d67
authored
Apr 20, 2021
by
Facius
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
https://git.banshouhui.com/lijundan/self-support
parents
975e0b11
cd17f274
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
192 additions
and
11 deletions
+192
-11
launch.json
.hbuilderx/launch.json
+10
-5
classify.data.js
src/common/classify.data.js
+40
-2
XhMultiInput.vue
src/components/createCom/XhMultiInput.vue
+47
-0
XhTime.vue
src/components/createCom/XhTime.vue
+65
-0
complete.vue
src/pages/order/complete.vue
+30
-4
No files found.
.hbuilderx/launch.json
View file @
d70e4d67
...
...
@@ -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 @
d70e4d67
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/XhMultiInput.vue
0 → 100644
View file @
d70e4d67
<!-- ******************* 多个输入框 ******************* -->
<
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" />
</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 @
d70e4d67
<!-- ******************* 输入框 ******************* -->
<
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/pages/order/complete.vue
View file @
d70e4d67
...
...
@@ -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
},
// ------------------------- 以下方法为展示滚动切换 -------------------------
...
...
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