Blame view

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