Commit d70e4d67 authored by Facius's avatar Facius
parents 975e0b11 cd17f274
......@@ -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"
}
]
}
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": "text",
"fieldsType": "input",
"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
......
<!-- ******************* 多个输入框 ******************* -->
<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>
<!-- ******************* 输入框 ******************* -->
<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>
......
......@@ -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
},
// ------------------------- 以下方法为展示滚动切换 -------------------------
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment