You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
104 lines
4.3 KiB
104 lines
4.3 KiB
2 years ago
|
<van-action-sheet show="{{ show }}" title="{{title}}" bind:close="onClose">
|
||
|
<van-cell-group>
|
||
|
<block wx:for="{{formControllers}}" wx:if="{{!item.hide}}">
|
||
|
<van-field
|
||
|
wx:if="{{item.type === 'input'}}"
|
||
|
label="{{item.label}}"
|
||
|
model:value="{{ item.value }}"
|
||
|
placeholder="请输入{{item.label}}"
|
||
|
bind:input="setVal"
|
||
|
|
||
|
data-key="{{item.key}}"
|
||
|
data-index="{{index}}"
|
||
|
/>
|
||
|
<van-field
|
||
|
wx:if="{{item.type === 'textarea'}}"
|
||
|
type="textarea"
|
||
|
label="{{item.label}}"
|
||
|
value="{{ item.value }}"
|
||
|
placeholder="请输入{{item.label}}"
|
||
|
autosize
|
||
|
maxlength="{{item.maxlength?item.maxlength:-1}}"
|
||
|
show-word-limit="{{item.maxlength}}"
|
||
|
bind:input="setVal"
|
||
|
data-key="{{item.key}}"
|
||
|
data-index="{{index}}"
|
||
|
/>
|
||
|
<block wx:if="{{item.type === 'date'}}">
|
||
|
<van-cell
|
||
|
title="{{item.label}}"
|
||
|
value="{{ item.value?item.value:'请选择'+item.label}}"
|
||
|
bind:click="onShowDate"
|
||
|
data-value="{{item.value}}"
|
||
|
data-index="{{index}}"
|
||
|
data-key="{{item.key}}"
|
||
|
/>
|
||
|
</block>
|
||
|
<block wx:if="{{item.type === 'checkbox'}}">
|
||
|
<van-cell
|
||
|
title="{{item.label}}"
|
||
|
value="{{ item.selected?item.selected:'请选择'+item.label}}"
|
||
|
bind:click="onShowCheckbox"
|
||
|
data-options="{{item.options}}"
|
||
|
data-value="{{item.value}}"
|
||
|
data-label="{{item.label}}"
|
||
|
data-index="{{index}}"
|
||
|
data-key="{{item.key}}"
|
||
|
/>
|
||
|
</block>
|
||
|
<block wx:if="{{item.type === 'select'}}">
|
||
|
<picker
|
||
|
value="{{item.valueIndex}}"
|
||
|
range="{{item.options}}"
|
||
|
range-key="{{item.optionsKey || 'label'}}"
|
||
|
bind:change="pickerChange"
|
||
|
data-value="{{item.value}}"
|
||
|
data-valuekey="{{item.valueKey || 'value'}}"
|
||
|
data-options="{{item.options || []}}"
|
||
|
data-currentindex="{{index}}"
|
||
|
data-optionsKey="{{item.optionsKey || 'label'}}"
|
||
|
data-index="{{index}}"
|
||
|
data-key="{{item.key}}"
|
||
|
>
|
||
|
<van-cell title="{{item.label}}"
|
||
|
value="{{ item.valueIndex>=0?item.options[item.valueIndex][item.optionsKey || 'label']:'请选择'+item.label }}"/>
|
||
|
</picker>
|
||
|
</block>
|
||
|
</block>
|
||
|
</van-cell-group>
|
||
|
<view class="bottom-btn">
|
||
|
<view class="btn btn-gray" bind:tap="onClose">取消</view>
|
||
|
<view class="btn btn-blue" bind:tap="sure">确定</view>
|
||
|
</view>
|
||
|
</van-action-sheet>
|
||
|
|
||
|
|
||
|
<van-calendar
|
||
|
show="{{ showDate }}"
|
||
|
bind:close="onCloseDate"
|
||
|
bind:confirm="onConfirmDate"
|
||
|
default-date="{{defaultDate}}"
|
||
|
/>
|
||
|
<van-action-sheet show="{{ showCheckbox }}" title="{{checkboxTitle}}" bind:close="onCloseCheckbox">
|
||
|
<scroll-view scroll-y style="max-height: 50vh">
|
||
|
<van-checkbox-group value="{{ checkboxResult }}" bind:change="onChangeCheckbox">
|
||
|
<view class="checkbox-item" wx:for="{{checkboxOptions}}"
|
||
|
data-index="{{ index }}"
|
||
|
bind:tap="toggle"
|
||
|
wx:key="index"
|
||
|
>
|
||
|
<van-checkbox
|
||
|
name="{{item.value}}"
|
||
|
class="checkboxes-{{ index }}"
|
||
|
>
|
||
|
{{item.label}}
|
||
|
</van-checkbox>
|
||
|
</view>
|
||
|
</van-checkbox-group>
|
||
|
</scroll-view>
|
||
|
<view class="bottom-btn">
|
||
|
<view class="btn btn-gray" bind:tap="onCloseCheckbox">取消</view>
|
||
|
<view class="btn btn-blue" bind:tap="sureCheckbox">确定</view>
|
||
|
</view>
|
||
|
</van-action-sheet>
|