141 lines
4.0 KiB
Plaintext
141 lines
4.0 KiB
Plaintext
<view class="container">
|
|
<t-message id="t-message" />
|
|
|
|
<!-- 加载状态 -->
|
|
<view class="loading-container" wx:if="{{loading}}">
|
|
<t-loading theme="circular" size="40rpx" loading />
|
|
<text>加载中...</text>
|
|
</view>
|
|
|
|
<!-- 表单内容 -->
|
|
<block wx:else>
|
|
<view class="form-group">
|
|
<!-- 子设备信息显示 -->
|
|
<view class="form-item">
|
|
<text class="label">子设备 <text class="required">*</text></text>
|
|
<t-input
|
|
value="{{subDevice.name || '加载中...'}}"
|
|
placeholder="加载中..."
|
|
disabled
|
|
/>
|
|
</view>
|
|
|
|
<!-- 保养类型选择 -->
|
|
<view class="form-item">
|
|
<text class="label">保养类型 <text class="required">*</text></text>
|
|
<view class="datetime-picker-wrapper" bindtap="showTypePicker">
|
|
<t-cell
|
|
title="{{form.maintenance_type || '请选择保养类型'}}"
|
|
arrow
|
|
hover
|
|
note="{{form.maintenance_type ? '' : '必选'}}"
|
|
t-class="picker-cell"
|
|
/>
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 手动输入保养类型 -->
|
|
<view class="form-item" wx:if="{{showCustomInput}}">
|
|
<text class="label">自定义类型</text>
|
|
<t-input
|
|
value="{{customType}}"
|
|
placeholder="请输入自定义保养类型"
|
|
bind:change="onCustomTypeChange"
|
|
/>
|
|
</view>
|
|
|
|
<!-- 开始时间选择 -->
|
|
<view class="form-item">
|
|
<text class="label">开始时间 <text class="required">*</text></text>
|
|
<view class="datetime-picker-wrapper" bindtap="showStartTimePicker">
|
|
<t-cell
|
|
title="{{form.start_time_display || '请选择开始时间'}}"
|
|
arrow
|
|
hover
|
|
note="{{form.start_time ? '' : '必选'}}"
|
|
t-class="picker-cell"
|
|
/>
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 结束时间选择 -->
|
|
<view class="form-item">
|
|
<text class="label">结束时间</text>
|
|
<view class="datetime-picker-wrapper" bindtap="showEndTimePicker">
|
|
<t-cell
|
|
title="{{form.end_time_display || '请选择结束时间'}}"
|
|
arrow
|
|
hover
|
|
note="{{form.end_time ? '' : '可选'}}"
|
|
t-class="picker-cell"
|
|
/>
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 备注信息 -->
|
|
<view class="form-item">
|
|
<text class="label">备注</text>
|
|
<t-textarea
|
|
value="{{form.notes}}"
|
|
placeholder="请输入保养备注信息(选填)"
|
|
maxlength="200"
|
|
indicator
|
|
bind:change="onNotesChange"
|
|
/>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="submit-container">
|
|
<t-button
|
|
theme="primary"
|
|
size="large"
|
|
loading="{{submitting}}"
|
|
disabled="{{submitting}}"
|
|
bind:tap="submitForm"
|
|
block
|
|
>{{isEditMode ? '更新保养记录' : '添加保养记录'}}</t-button>
|
|
</view>
|
|
</block>
|
|
|
|
<!-- 保养类型选择器 -->
|
|
<t-picker
|
|
title="选择保养类型"
|
|
visible="{{typePickerVisible}}"
|
|
value="{{[form.maintenance_type]}}"
|
|
bind:change="onTypeChange"
|
|
bind:cancel="onTypePickerCancel"
|
|
bind:confirm="onTypeConfirm"
|
|
>
|
|
<t-picker-item options="{{maintenanceTypes}}" />
|
|
</t-picker>
|
|
|
|
<!-- 开始时间选择器 -->
|
|
<t-date-time-picker
|
|
title="选择开始时间"
|
|
visible="{{startTimePickerVisible}}"
|
|
mode="minute"
|
|
format="YYYY-MM-DD HH:mm"
|
|
value="{{form.start_time || currentDate}}"
|
|
confirm-btn="确认"
|
|
cancel-btn="取消"
|
|
bind:confirm="onStartTimeConfirm"
|
|
bind:cancel="onStartTimeCancel"
|
|
auto-close
|
|
show-week
|
|
/>
|
|
|
|
<!-- 结束时间选择器 -->
|
|
<t-date-time-picker
|
|
title="选择结束时间"
|
|
visible="{{endTimePickerVisible}}"
|
|
mode="minute"
|
|
format="YYYY-MM-DD HH:mm"
|
|
value="{{form.end_time || currentDate}}"
|
|
confirm-btn="确认"
|
|
cancel-btn="取消"
|
|
bind:confirm="onEndTimeConfirm"
|
|
bind:cancel="onEndTimeCancel"
|
|
auto-close
|
|
show-week
|
|
/>
|
|
</view> |