Blame view

pages-sub/daily/maintain-manage/now-list-page.vue 5.17 KB
25904bec   刘淇   养护重新改
1
  <template>
7da61cdb   刘淇   养护计划
2
3
      <view class="page-wrap">
          <!-- 顶部提示栏 -->
57ce269d   刘淇   失效也有查看功能
4
          <view class="tip-bar" v-if="isView==1" >
7da61cdb   刘淇   养护计划
5
6
7
              一个任务可提交多次上报记录,每一次作业需如实上报。
          </view>
          <!-- 上报记录列表 -->
6847fb73   刘淇   置为失效
8
9
10
          <view class="list-wrap" v-if="dataList.length > 0">
              <view class="report-item" v-for="(item, index) in dataList" :key="index">
                  <view class="item-title">【第{{ item.sortNum || (index + 1) }}次上报】{{ planName }}</view>
7da61cdb   刘淇   养护计划
11
                  <view class="item-row item-row-bottom">
6847fb73   刘淇   置为失效
12
                      <view class="item-time">提交时间:{{ timeFormat(item.createTime,'yyyy-mm-dd hh:MM:ss')}}</view>
7da61cdb   刘淇   养护计划
13
14
15
16
17
18
19
20
21
                      <view class="look-btn" @click="handleView(item)">查看</view>
                  </view>
              </view>
          </view>
          <!-- 暂无数据 -->
          <view class="empty-wrap" v-else>
              <empty-view text="暂无数据"></empty-view>
          </view>
          <!-- 底部固定按钮 -->
57ce269d   刘淇   失效也有查看功能
22
          <view class="fixed-bottom-btn-wrap" v-if="isView==1">
7da61cdb   刘淇   养护计划
23
              <up-button type="primary" size="large" block @click="handleAddReport">上报本次记录</up-button>
25904bec   刘淇   养护重新改
24
          </view>
25904bec   刘淇   养护重新改
25
      </view>
25904bec   刘淇   养护重新改
26
  </template>
25904bec   刘淇   养护重新改
27
28
  <script setup lang="ts">
  import { ref } from 'vue'
7da61cdb   刘淇   养护计划
29
30
  import { onShow, onLoad } from '@dcloudio/uni-app'
  import { maintainPlanList } from "@/api/maintain-manage/maintain-manage";
f1b98487   刘淇   暂存
31
  import {timeFormat} from '@/uni_modules/uview-plus';
25904bec   刘淇   养护重新改
32
  // 上报记录数据
6847fb73   刘淇   置为失效
33
  const dataList = ref<any[]>([])
7da61cdb   刘淇   养护计划
34
  const reportList = ref<any[]>([])
6847fb73   刘淇   置为失效
35
  
7da61cdb   刘淇   养护计划
36
37
38
  let planNo = ref('')
  let planTypeId = ref('')
  let businessType = ref('')
6847fb73   刘淇   置为失效
39
  let planName = ref('')
e1ff7fd5   刘淇   完成状态。查看详细
40
  let isView = ref(true)
6847fb73   刘淇   置为失效
41
42
43
  // 存储commitState=1对应的commitId,没有则为空字符串
  const currentCommitId = ref('')
  
7da61cdb   刘淇   养护计划
44
45
46
47
48
49
  // onLoad接收url传过来的planNo
  onLoad((options) => {
      if (options.planNo) {
          planNo.value = options.planNo
           planTypeId.value = options.planTypeId
            businessType.value = options.businessType
e1ff7fd5   刘淇   完成状态。查看详细
50
            isView.value = options.isView
7da61cdb   刘淇   养护计划
51
52
53
54
55
          getReportList()
      } else {
          uni.showToast({ title: 'planNo参数缺失', icon: 'none' })
      }
  })
7da61cdb   刘淇   养护计划
56
57
58
59
60
61
62
63
64
65
66
67
68
  // 请求上报记录接口
  const getReportList = async () => {
      console.log('3123')
      uni.showLoading({ title: '加载中...', mask: true })
      try {
          // 传入planNo调取接口
          let data = {
              planNo: planNo.value,
              pageNo: 1,
              pageSize: 10
          }
          const res = await maintainPlanList(data)
          // 接口返回list,无数据则reportList为空,页面自动显示empty
6847fb73   刘淇   置为失效
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
          dataList.value = res?.list[0].workRecords
          planName.value = res?.list[0].planName
           reportList.value = res?.list || []
  
         
  
          // ============ 新增逻辑:寻找commitState ===1 的commitId ============
          currentCommitId.value = ''
          if(reportList.value.length > 0){
              // 找到第一条 commitState ===1 的数据
              const activeItem = reportList.value.find(item => item.commitState === 1)
              if(activeItem){
                  currentCommitId.value = activeItem.commitId || ''
              }
              // 没有找到 activeItem,currentCommitId保持 ''
          }
          // reportList为空直接 currentCommitId=''
  
7da61cdb   刘淇   养护计划
87
88
89
90
91
92
93
      } catch (err) {
          console.error('获取上报记录失败', err)
          uni.showToast({ title: '加载失败', icon: 'none' })
      } finally {
          uni.hideLoading()
      }
  }
25904bec   刘淇   养护重新改
94
95
  // 查看上报详情
  const handleView = (item) => {
7da61cdb   刘淇   养护计划
96
97
      console.log('查看详情', item)
      uni.navigateTo({
e0806267   王彪总   业务线 小程序不用写死,从后端接口获取
98
99
          // 后端 page 接口支持 commitId 精确过滤,必须带上,否则会把该计划全部上报都展示出来
          url: `/pages-sub/daily/maintain-manage/finish-plan-detail?planNo=${item.planNo}&commitId=${item.commitId}`
7da61cdb   刘淇   养护计划
100
      })
25904bec   刘淇   养护重新改
101
  }
6847fb73   刘淇   置为失效
102
  // 新增上报记录,把planNo + currentCommitId带到新增页面
25904bec   刘淇   养护重新改
103
  const handleAddReport = () => {
6847fb73   刘淇   置为失效
104
      console.log('上报本次记录', currentCommitId.value)
7da61cdb   刘淇   养护计划
105
      uni.navigateTo({
6847fb73   刘淇   置为失效
106
          url: `/pages-sub/daily/maintain-manage/add-record?planNo=${planNo.value}&planTypeId=${planTypeId.value}&businessType=${businessType.value}&commitId=${currentCommitId.value}`
7da61cdb   刘淇   养护计划
107
      })
25904bec   刘淇   养护重新改
108
109
  }
  </script>
25904bec   刘淇   养护重新改
110
111
  <style scoped lang="scss">
  .page-wrap {
7da61cdb   刘淇   养护计划
112
113
114
      min-height: 100vh;
      padding-bottom: 120rpx; // 给底部按钮预留空间
      background: #ffffff;
25904bec   刘淇   养护重新改
115
  }
25904bec   刘淇   养护重新改
116
117
  // 顶部黄色提示条
  .tip-bar {
7da61cdb   刘淇   养护计划
118
119
120
121
122
      background-color: #f9e0a2;
      color: #6b4b00;
      font-size: 28rpx;
      padding: 24rpx 20rpx;
      line-height: 1.5;
25904bec   刘淇   养护重新改
123
  }
25904bec   刘淇   养护重新改
124
  .list-wrap {
7da61cdb   刘淇   养护计划
125
      padding: 0;
25904bec   刘淇   养护重新改
126
  }
25904bec   刘淇   养护重新改
127
  .report-item {
7da61cdb   刘淇   养护计划
128
129
      padding: 30rpx 24rpx;
      border-bottom: 1rpx solid #eee;
7da61cdb   刘淇   养护计划
130
131
132
133
134
135
      .item-title {
          font-size: 32rpx;
          color: #222;
          font-weight: 500;
          margin-bottom: 20rpx;
      }
7da61cdb   刘淇   养护计划
136
137
138
139
140
      .item-row {
          font-size: 28rpx;
          color: #555;
          margin-bottom: 12rpx;
      }
7da61cdb   刘淇   养护计划
141
142
143
144
145
146
      .item-row-bottom {
          display: flex;
          justify-content: space-between;
          align-items: center;
          margin-bottom: 0;
      }
7da61cdb   刘淇   养护计划
147
148
149
150
      .look-btn {
          font-size: 28rpx;
          color: #1989fa;
      }
25904bec   刘淇   养护重新改
151
  }
25904bec   刘淇   养护重新改
152
  .empty-wrap {
7da61cdb   刘淇   养护计划
153
      padding-top: 120rpx;
25904bec   刘淇   养护重新改
154
  }
7da61cdb   刘淇   养护计划
155
156
157
158
159
160
161
162
  .fixed-bottom-btn-wrap {
      //   position: fixed;
      //   bottom: 0;
      //   left:0;
      //   width:100%;
      //   padding:20rpx;
      //   background:#fff;
  }
25904bec   刘淇   养护重新改
163
  </style>