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>
<!-- 上报记录列表 -->
|
d5bce5ef
刘淇
失效 换接口
|
8
9
|
<view class="list-wrap" v-if="reportList.length > 0">
<view class="report-item" v-for="(item, index) in reportList[0].workRecords" :key="index">
|
6847fb73
刘淇
置为失效
|
10
|
<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>
|
d5bce5ef
刘淇
失效 换接口
|
13
|
<view class="look-btn" @click="handleView(item,reportList[0])">查看</view>
|
7da61cdb
刘淇
养护计划
|
14
15
16
17
18
19
20
21
|
</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
|
// 查看上报详情
|
d5bce5ef
刘淇
失效 换接口
|
95
|
const handleView = (item,i) => {
|
7da61cdb
刘淇
养护计划
|
96
97
|
console.log('查看详情', item)
uni.navigateTo({
|
e0806267
王彪总
业务线 小程序不用写死,从后端接口获取
|
98
|
// 后端 page 接口支持 commitId 精确过滤,必须带上,否则会把该计划全部上报都展示出来
|
d5bce5ef
刘淇
失效 换接口
|
99
|
url: `/pages-sub/daily/maintain-manage/finish-plan-detail?planNo=${i.planNo}&commitId=${i.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>
|