管灌系统农户端微信小程序(嘉峪关应用)
zuoxiao
2025-04-11 fb805f6ff1d167951e94198b6e9fc320649e8643
pages/irrigation/irrigation.wxml
@@ -10,7 +10,17 @@
  </view>
  <!-- 中间列表 - 使用scroll-view实现下拉刷新 -->
  <scroll-view class="scroll-view" scroll-x="false" scroll-y="true" refresher-enabled="{{isRefreshing==false?true:false}}" refresher-threshold="50" bindrefresherrefresh="onPullDownRefresh" refresher-triggered="{{isWXRefreshing}}">
  <scroll-view class="scroll-view"
               scroll-x="false"
               scroll-y="true"
               refresher-enabled="{{isRefreshing==false?true:false}}"
               refresher-threshold="50"
               bindrefresherrefresh="onPullDownRefresh"
               refresher-triggered="{{isWXRefreshing}}"
               lower-threshold="100"
               bindscrolltolower="{{currentTab === 1 ? 'onReachBottom' : ''}}"
               enhanced="{{true}}"
               id="scrollView">
    <view wx:if="{{isRefreshing}}" class="refresh-view">
      <view class="dot"></view>
      <view class="dot"></view>
@@ -18,54 +28,91 @@
    </view>
    <view class="scroll-bg">
      <block wx:if="{{currentList.length > 0}}">
        <!-- 统一显示所有列表项,不再按状态分组 -->
        <view class="list-item" wx:for="{{currentList}}" wx:key="id" bindtap="onItemTap" data-id="{{item.id}}" data-status="{{item.status}}">
          <view class="item-header">
            <view class="info-row title-row">
              <view class="info-label">编号:</view>
              <view class="info-value">{{item.title}}</view>
          <!-- 状态标签 -->
          <view class="status-tag {{item.status === '1' ? 'draft' : item.status === '2' ? 'published' : item.status === '3' ? 'executing' : item.status === '5' ? 'terminated' : 'completed'}}">
            {{item.status === '1' ? '草稿' : item.status === '2' ? '未执行' : item.status === '3' ? '执行中' : item.status === '5' ? '已终止' : '已完成'}}
          </view>
          <!-- 主要内容区 -->
          <view class="item-content">
            <!-- 标题区域 -->
            <view class="item-header">
              <view class="title-section">
                <view class="plan-title">{{item.title}}</view>
                <view class="project-name">{{item.projectName}}</view>
              </view>
            </view>
            <!-- 根据状态显示不同的图标 -->
            <view class="item-status">
              <block wx:if="{{item.status === '已发布'}}">
                <image class="status-icon" src="/images/published-icon.svg" mode="aspectFit"></image>
            <!-- 信息区域 -->
            <view class="info-section">
              <!-- 草稿状态(1)时横向排列,其他状态纵向排列 -->
              <view class="info-grid {{item.status === '1' ? '' : 'vertical-layout'}} {{currentTab === 1 ? 'history-grid' : ''}}">
                <view class="info-item">
                  <view class="info-icon">
                    <image src="/images/time-icon.svg" mode="aspectFit"></image>
                  </view>
                  <view class="info-content">
                    <view class="info-label">灌溉时间</view>
                    <view class="info-value">{{(item.planStartTime ? item.planStartTime : '手动发布') + (item.planStopTime ? ' - ' + item.planStopTime : '')}}</view>
                  </view>
                </view>
                <view class="info-item">
                  <view class="info-icon duration-icon">
                    <image src="/images/hourglass.svg" mode="aspectFit"></image>
                  </view>
                  <view class="info-content">
                    <view class="info-label">灌溉时长</view>
                    <view class="info-value">{{item.duration}}分钟</view>
                  </view>
                </view>
              </view>
            </view>
            <!-- 操作按钮区域 -->
            <view class="action-section" catchtap="stopPropagation" wx:if="{{item.status !== '4'}}">
              <block wx:if="{{item.status === '1'}}">
                <view class="action-buttons">
                  <button class="action-button delete-button" hover-class="delete-button-hover" bindtap="onDelete" data-id="{{item.id}}">
                    <image src="/images/delete_bt.svg" mode="aspectFit"></image>
                    <text>删除</text>
                  </button>
                  <button class="action-button publish-button" hover-class="publish-button-hover" bindtap="onPublish" data-id="{{item.id}}">
                    <image src="/images/publish-icon.svg" mode="aspectFit"></image>
                    <text>发布</text>
                  </button>
                </view>
              </block>
              <block wx:elif="{{item.status === '执行中'}}">
                <image class="status-icon" src="/images/progress.svg" mode="aspectFit"></image>
              <block wx:if="{{item.status === '2'}}">
                <view class="action-buttons">
                  <button class="action-button stop-button" hover-class="stop-button-hover" bindtap="onStop" data-id="{{item.id}}">
                    <image src="/images/stop-icon.svg" mode="aspectFit"></image>
                    <text>终止</text>
                  </button>
                </view>
              </block>
              <block wx:elif="{{item.status === '未发布'}}">
                <text>{{item.status}}</text>
              <block wx:if="{{item.status === '3'}}">
                <view class="action-buttons">
                  <button class="action-button stop-button" hover-class="stop-button-hover" bindtap="onStop" data-id="{{item.id}}">
                    <image src="/images/stop-icon.svg" mode="aspectFit"></image>
                    <text>终止</text>
                  </button>
                </view>
              </block>
            </view>
          </view>
          <view class="item-info">
            <view class="info-row">
              <view class="info-label">灌溉时间:</view>
              <view class="info-value">{{item.irrigationTime}}</view>
            </view>
            <!-- 仅在执行中状态显示额外信息 -->
            <block wx:if="{{item.status === '执行中'}}">
              <view class="info-row irrigated-row">
                <view class="info-label">已灌溉时间:</view>
                <view class="info-value-time">{{item.irrigatedTime}}</view>
              </view>
              <view class="info-row irrigated-row">
                <view class="info-label">已灌溉轮组:</view>
                <view class="info-value-time">{{item.irrigatedGroups}}</view>
              </view>
            </block>
        </view>
        <!-- 加载更多提示 - 仅在历史计划标签页显示 -->
        <view wx:if="{{currentTab === 1}}" class="loading-more-container">
          <view wx:if="{{loadingMore}}" class="loading-more">
            <view class="loading-dot"></view>
            <view class="loading-dot"></view>
            <view class="loading-dot"></view>
            <text>加载中...</text>
          </view>
          <view class="item-actions" catchtap="stopPropagation">
            <!-- 根据状态显示不同的按钮 -->
            <block wx:if="{{item.status === '未发布'}}">
              <button class="action-button publish-button" hover-class="publish-button-hover" bindtap="onPublish" data-id="{{item.id}}">发布</button>
            </block>
            <block wx:if="{{item.status === '执行中' || item.status === '已发布'}}">
              <button class="action-button stop-button" hover-class="stop-button-hover" bindtap="onStop" data-id="{{item.id}}">终止</button>
            </block>
            <block wx:if="{{item.status === '已发布'}}">
              <button class="action-button execute-button" hover-class="execute-button-hover" bindtap="onExecute" data-id="{{item.id}}">立即执行</button>
            </block>
          <view wx:elif="{{!hasMoreData && completedList.length > 0}}" class="no-more-data">
            <text>— 已加载全部数据 —</text>
          </view>
        </view>
      </block>
@@ -81,6 +128,9 @@
  <!-- 底部新建按钮 -->
  <view class="bottom-button">
    <button class="add-button" hover-class="add-button-hover" bindtap="onAddIrrigation">创建灌溉计划</button>
    <button class="add-button" hover-class="add-button-hover" bindtap="onAddIrrigation">
      <image src="/images/add-icon.svg" mode="aspectFit"></image>
      <text>创建灌溉计划</text>
    </button>
  </view>
</view>