epmet 工作端 小程序
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.

103 lines
4.3 KiB

<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>