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
867a9c33
Commit
867a9c33
authored
Apr 20, 2021
by
李俊赕
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
多个类型使用一个组件
parent
53235fde
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
79 additions
and
21 deletions
+79
-21
XhInput - 副本.vue
src/components/createCom/XhInput - 副本.vue
+34
-0
XhPicker.vue
src/components/createCom/XhPicker.vue
+1
-1
complete.vue
src/pages/order/complete.vue
+44
-20
No files found.
src/components/createCom/XhInput - 副本.vue
0 → 100644
View file @
867a9c33
<!-- ******************* 输入框 ******************* -->
<
template
>
<view>
<u-input
v-model=
"dataValue"
@
input=
"valueChange"
:type=
"type"
/>
</view>
</
template
>
<
script
>
import
stringMixin
from
'./stringMixin'
export
default
{
name
:
'XhInput'
,
// 新建 input
components
:
{},
mixins
:
[
stringMixin
],
props
:
{},
data
()
{
return
{}
},
computed
:
{
type
()
{
if
(
this
.
item
&&
this
.
item
.
fieldsType
==
'password'
)
{
return
this
.
item
.
fieldsType
}
else
{
return
'text'
}
}
},
watch
:
{},
mounted
()
{},
methods
:
{}
}
</
script
>
<
style
>
</
style
>
src/components/createCom/XhPicker.vue
View file @
867a9c33
...
...
@@ -32,7 +32,7 @@
filters
:{},
data
()
{
return
{
showPicker
:
tru
e
,
showPicker
:
fals
e
,
settings
:[
[
1
,
2
,
3
],
[
4
,
5
,
6
]
...
...
src/pages/order/complete.vue
View file @
867a9c33
...
...
@@ -24,40 +24,39 @@
<view
class=
"class-bd"
>
<u-form-item
v-for=
"(item,itemIndex) in groupItem.item"
:key=
"itemIndex"
label-position=
"top"
:prop=
"item.fieldsName"
>
<view
class=
"label"
v-if=
"toLowerCase(item.fieldsType)!=='location'"
@
click=
"nextStep(item)"
>
<view
class=
"label"
v-if=
"item.fieldsType!=='location'"
>
<text
class=
"required"
v-if=
"item.required"
>
*
</text>
{{
item
.
fieldsTitle
}}
</view>
<template
v-if=
"item.fieldsType"
>
<xh-input
v-if=
"
['text','number'].indexOf(item.fieldsType)>=0
"
:groupIndex=
"groupIndex"
<xh-input
v-if=
"
typeToComponentType(item.fieldsType)==='input'
"
:groupIndex=
"groupIndex"
:itemIndex=
"itemIndex"
:item=
"item"
@
value-change=
"fieldValueChange"
>
</xh-input>
<xh-radio
v-else-if=
"t
oLowerCas
e(item.fieldsType)==='radio'"
<xh-radio
v-else-if=
"t
ypeToComponentTyp
e(item.fieldsType)==='radio'"
:groupIndex=
"groupIndex"
:itemIndex=
"itemIndex"
:item=
"item"
@
value-change=
"fieldValueChange"
>
</xh-radio>
<xh-checkbox
v-else-if=
"t
oLowerCas
e(item.fieldsType)==='checkbox'"
<xh-checkbox
v-else-if=
"t
ypeToComponentTyp
e(item.fieldsType)==='checkbox'"
:groupIndex=
"groupIndex"
:itemIndex=
"itemIndex"
:item=
"item"
@
value-change=
"fieldValueChange"
>
</xh-checkbox>
<xh-select
v-else-if=
"t
oLowerCas
e(item.fieldsType)==='select'"
<xh-select
v-else-if=
"t
ypeToComponentTyp
e(item.fieldsType)==='select'"
:groupIndex=
"groupIndex"
:itemIndex=
"itemIndex"
:item=
"item"
@
value-change=
"fieldValueChange"
>
</xh-select>
<xh-files
v-else-if=
"t
oLowerCas
e(item.fieldsType)==='file'"
<xh-files
v-else-if=
"t
ypeToComponentTyp
e(item.fieldsType)==='file'"
:groupIndex=
"groupIndex"
:itemIndex=
"itemIndex"
:item=
"item"
@
value-change=
"fieldValueChange"
>
</xh-files>
<xh-location
v-else-if=
"t
oLowerCas
e(item.fieldsType)==='location'"
<xh-location
v-else-if=
"t
ypeToComponentTyp
e(item.fieldsType)==='location'"
:groupIndex=
"groupIndex"
:itemIndex=
"itemIndex"
:item=
"item"
@
value-change=
"fieldValueChange"
>
</xh-location>
<xh-scan
v-else-if=
"t
oLowerCas
e(item.fieldsType)==='scan'"
<xh-scan
v-else-if=
"t
ypeToComponentTyp
e(item.fieldsType)==='scan'"
:groupIndex=
"groupIndex"
:itemIndex=
"itemIndex"
:item=
"item"
@
value-change=
"fieldValueChange"
>
</xh-scan>
<xh-picker
v-else-if=
"t
oLowerCase(item.fieldsType)==='muti
picker'"
<xh-picker
v-else-if=
"t
ypeToComponentType(item.fieldsType)==='
picker'"
:groupIndex=
"groupIndex"
:itemIndex=
"itemIndex"
:item=
"item"
@
value-change=
"fieldValueChange"
>
</xh-picker>
...
...
@@ -172,16 +171,41 @@
// 下一步
console
.
log
(
item
,
'item'
)
},
fieldTypeStatus
(
type
)
{
let
typeArr
=
[
'input'
,
'radio'
,
'checkbox'
,
'select'
,
'file'
]
let
fieldsType
=
type
.
toLocaleLowerCase
()
let
flag
=
false
flag
=
typeArr
.
indexOf
(
fieldsType
)
>=
0
return
flag
},
toLowerCase
(
str
)
{
str
=
str
||
''
return
str
.
toLocaleLowerCase
()
typeToComponentType
(
type
)
{
// 将fieldType类型统一转换为公共组件判定类型
let
formType
=
''
type
=
type
.
toLocaleLowerCase
()
switch
(
type
)
{
case
'text'
:
case
'password'
:
case
'textarea'
:
case
'number'
:
formType
=
'input'
break
case
'select'
:
formType
=
'select'
break
case
'checkbox'
:
formType
=
'checkbox'
break
case
'file'
:
formType
=
'file'
break
case
'location'
:
formType
=
'location'
break
case
'scan'
:
formType
=
'scan'
break
case
'picker'
:
case
'mutipicker'
:
formType
=
'picker'
break
// case 'file':
// formType = 'XhFiles'
// break
}
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