| | |
| | | <template> |
| | | <view :class="viewMode ? 'oi-form-item-view':'oi-form-item'"> |
| | | <view class="oi-form-item"> |
| | | <uni-forms-item v-show="!hiddenIds.includes(data.fieldId)" |
| | | :label="data.labelWidth === 0 ? '' : data.label? data.label+':':''" |
| | | :label-width="data.labelWidth || data.labelWidth === 0 ? data.labelWidth : 100+'px'" |
| | |
| | | <OIFormText v-if="viewMode && data.disabled" :data="data" :model="model"> |
| | | </OIFormText> |
| | | <OIFormInput v-else-if="data.name == 'Input'" :viewMode="viewMode" :focus="focusId== data.fieldId" |
| | | :data="data" :model="model" @change="onChange" @focus="onFocus" @click="onClick" |
| | | @click-prefix="onClickPrefix" @click-suffix="onClickSuffix"> |
| | | :data="data" :model="model" @on-change="onChange" @on-focus="onFocus" @on-click="onClick" |
| | | @on-click-prefix="onClickPrefix" @on-click-suffix="onClickSuffix"> |
| | | </OIFormInput> |
| | | <OIFormInputNumber v-else-if="data.name == 'InputNumber'" :focus="focusId== data.fieldId" :data="data" |
| | | :model="model" @change="onChange" @focus="onFocus" @click="onClick"> |
| | | :model="model" @on-change="onChange" @on-focus="onFocus" @on-click="onClick"> |
| | | </OIFormInputNumber> |
| | | <OIFormTextArea v-else-if="data.name == 'Textarea'" :focus="focusId== data.fieldId" :data="data" |
| | | :model="model" @change="onChange" @focus="onFocus" @click="onClick"> |
| | | :model="model" @on-change="onChange" @on-focus="onFocus" @on-click="onClick"> |
| | | </OIFormTextArea> |
| | | <OIFormSelect v-else-if="data.name == 'Select'" :data="data" :model="model" @change="onChange"> |
| | | <OIFormSelect v-else-if="data.name == 'Select'" :data="data" :model="model" @on-change="onChange"> |
| | | </OIFormSelect> |
| | | <OIFormSwitch v-else-if="data.name == 'Switch'" :data="data" :model="model" @change="onChange"> |
| | | <OIFormSwitch v-else-if="data.name == 'Switch'" :data="data" :model="model" @on-change="onChange"> |
| | | </OIFormSwitch> |
| | | <OIFormCheckbox v-else-if="data.name == 'Checkbox'" :data="data" :model="model" @change="onChange"> |
| | | <OIFormCheckbox v-else-if="data.name == 'Checkbox'" :data="data" :model="model" @on-change="onChange"> |
| | | </OIFormCheckbox> |
| | | <OIFormRadio v-else-if="data.name == 'Radio'" :data="data" :model="model" @change="onChange"> |
| | | <OIFormRadio v-else-if="data.name == 'Radio'" :data="data" :model="model" @on-change="onChange"> |
| | | </OIFormRadio> |
| | | <OIFormDatePicker v-else-if="data.name == 'DatePicker'" :data="data" :model="model" @change="onChange"> |
| | | <OIFormDatePicker v-else-if="data.name == 'DatePicker'" :data="data" :model="model" @on-change="onChange"> |
| | | </OIFormDatePicker> |
| | | <OIFormTimePicker v-else-if="data.name == 'TimePicker'" :data="data" :model="model" @change="onChange"> |
| | | <OIFormTimePicker v-else-if="data.name == 'TimePicker'" :data="data" :model="model" @on-change="onChange"> |
| | | </OIFormTimePicker> |
| | | <OIFormDatePickerRange v-else-if="data.name == 'DatePickerRange'" :data="data" :model="model" |
| | | @change="onChange"> |
| | | @on-change="onChange"> |
| | | </OIFormDatePickerRange> |
| | | <OIFormText v-else-if="data.name == 'Text'" :data="data" :model="model"> |
| | | </OIFormText> |
| | |
| | | }, |
| | | methods: { |
| | | onChange(e) { |
| | | this.$emit("change", this.data) |
| | | this.$emit("on-change", this.data) |
| | | }, |
| | | onClick(e) { |
| | | this.$emit("click", this.data) |
| | | this.$emit("on-click", this.data) |
| | | }, |
| | | onFocus(e) { |
| | | this.$emit("focus", this.data) |
| | | this.$emit("on-focus", this.data) |
| | | }, |
| | | onClickPrefix() { |
| | | this.$emit("click-prefix", this.data) |
| | | this.$emit("on-click-prefix", this.data) |
| | | }, |
| | | onClickSuffix() { |
| | | this.$emit("click-suffix", this.data) |
| | | this.$emit("on-click-suffix", this.data) |
| | | }, |
| | | }, |
| | | mounted() { |
| | | console.log("item", this.data) |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | <style lang="less" scoped> |
| | | .oi-form-item { |
| | | .uni-forms-item { |
| | | margin-bottom: 11rpx; |
| | | } |
| | | |
| | | } |
| | | .oi-form-item-view { |
| | | .uni-forms-item { |
| | | padding-bottom: 5rpx; |
| | | margin-bottom: 0; |
| | | |
| | | .uni-forms-item__label { |
| | | height: 20px !important; |
| | | padding: 0 10rpx 0 0 !important; |
| | | } |
| | | margin-bottom: 15rpx; |
| | | } |
| | | } |
| | | |
| | | |
| | | </style> |