2026-01-15 15:05:29 +08:00

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>