|  |  |  | 
|---|
|  |  |  | <text class="label">计划编号:</text> | 
|---|
|  |  |  | <text class="value">{{planCode}}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <image class="status-icon" src="/images/progress.svg" mode="aspectFit"></image> | 
|---|
|  |  |  | <view class="plan-status {{planStatusClass}}"> | 
|---|
|  |  |  | <text>{{planStatusText}}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <!-- 项目信息 --> | 
|---|
|  |  |  | <view class="project-info"> | 
|---|
|  |  |  | <text class="label">项目名称:</text> | 
|---|
|  |  |  | <text class="value">{{projects[0].name}}</text> | 
|---|
|  |  |  | <text class="value">{{projectName}}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <!-- 灌溉时间信息 --> | 
|---|
|  |  |  | <view class="time-info"> | 
|---|
|  |  |  | <text class="label">灌溉开始时间:</text> | 
|---|
|  |  |  | <text class="value">{{startTime}}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- 新增结束时间信息 --> | 
|---|
|  |  |  | <view class="time-info"> | 
|---|
|  |  |  | <text class="label">灌溉结束时间:</text> | 
|---|
|  |  |  | <text class="value">{{stopTime}}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- 实际中止时间信息 --> | 
|---|
|  |  |  | <view class="time-info" wx:if="{{planStatusClass === 'terminated' && realStopTime}}"> | 
|---|
|  |  |  | <text class="label">实际中止时间:</text> | 
|---|
|  |  |  | <text class="value highlight-text">{{realStopTime}}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- 取水口命令发布失败数 --> | 
|---|
|  |  |  | <view class="time-info" wx:if="{{failureCount > 0}}"> | 
|---|
|  |  |  | <text class="label">命令发布失败数:</text> | 
|---|
|  |  |  | <text class="value error-text">{{failureCount}}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- 轮灌组列表 --> | 
|---|
|  |  |  | 
|---|
|  |  |  | refresher-triggered="{{isRefreshing}}" | 
|---|
|  |  |  | bindrefresherrefresh="onPullDownRefresh"> | 
|---|
|  |  |  | <view class="scroll-content"> | 
|---|
|  |  |  | <block wx:for="{{projects[0].groups}}" wx:key="id" wx:for-item="group"> | 
|---|
|  |  |  | <view class="group-item {{group.status}}" bindtap="navigateToGroupDetail" data-project-name="{{projects[0].name}}" data-group-name="{{group.name}}" data-group-id="{{group.id}}" data-status="{{group.status}}"> | 
|---|
|  |  |  | <!-- 轮灌组状态标识 --> | 
|---|
|  |  |  | <view class="group-status-indicator"> | 
|---|
|  |  |  | <view class="status-dot"></view> | 
|---|
|  |  |  | <text class="status-text">{{group.statusText}}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <block wx:for="{{groupList}}" wx:key="id" wx:for-item="group"> | 
|---|
|  |  |  | <view class="group-item {{group.status}}" bindtap="navigateToGroupDetail" data-project-name="{{projectName}}" data-group-name="{{group.name}}" data-group-id="{{group.id}}" data-status="{{group.status}}"> | 
|---|
|  |  |  | <!-- 轮灌组信息 --> | 
|---|
|  |  |  | <view class="group-info"> | 
|---|
|  |  |  | <view class="group-name">{{group.name}}</view> | 
|---|
|  |  |  | <view class="group-time-info"> | 
|---|
|  |  |  | <view class="group-name-row"> | 
|---|
|  |  |  | <text class="group-index">{{index + 1}}.</text> | 
|---|
|  |  |  | <text class="group-label">轮灌组:</text> | 
|---|
|  |  |  | <text class="group-name">{{group.name}}</text> | 
|---|
|  |  |  | <!-- 轮灌组状态标识 --> | 
|---|
|  |  |  | <view class="group-status-indicator"> | 
|---|
|  |  |  | <view class="status-dot"></view> | 
|---|
|  |  |  | <text class="status-text">{{group.statusText}}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <!-- 轮灌时间信息 - 只有在取消开阀状态时不显示时间信息 --> | 
|---|
|  |  |  | <!-- 其他所有状态(包括中途关阀)都显示时间信息 --> | 
|---|
|  |  |  | <view class="group-time-info" wx:if="{{group.status !== 'canceled'}}"> | 
|---|
|  |  |  | <view class="time-row"> | 
|---|
|  |  |  | <text class="time-label">开始时间:</text> | 
|---|
|  |  |  | <text class="time-value">{{group.startTime}}</text> | 
|---|
|  |  |  | 
|---|
|  |  |  | <text class="time-value">{{group.duration}}分钟</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- 取水口信息 --> | 
|---|
|  |  |  | <view class="intake-info" wx:if="{{group.publishResult && group.publishResult.length > 0}}"> | 
|---|
|  |  |  | <view class="intake-header">取水口信息</view> | 
|---|
|  |  |  | <view class="intake-list"> | 
|---|
|  |  |  | <block wx:for="{{group.publishResult}}" wx:key="intakeName" wx:for-item="intake"> | 
|---|
|  |  |  | <view class="intake-item {{intake.code === 0 ? 'success' : 'error'}}"> | 
|---|
|  |  |  | <view class="intake-name"> | 
|---|
|  |  |  | <text class="intake-status-dot"></text> | 
|---|
|  |  |  | <text>{{intake.intakeName}}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="intake-result" wx:if="{{intake.result}}"> | 
|---|
|  |  |  | <text>{{intake.result}}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </block> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </block> | 
|---|