1.报事报修接口联调

This commit is contained in:
2025-08-08 11:31:41 +08:00
parent c560b34bf1
commit f3b45139e4
15 changed files with 1232 additions and 766 deletions

View File

@@ -17,13 +17,15 @@
<view class="repair-row">
<view class="repair-no">工单号{{ item.orderNo }}</view>
<view class="repair-status" :class="getStatusColor(item.status)">
{{ getStatusLabel(item.status) }}</view>
{{ getStatusLabel(item.status) }}
</view>
</view>
<image class="repair-line-image" src="/static/ic_my_repair_03.png" />
<view class="repair-info">建立时间{{ item.createTime }}</view>
<view class="repair-info">报事内容{{ item.typeName }}</view>
<view class="repair-info">报事位置{{ item.location }}</view>
<view v-if="item.statusText === '已结束'" class="repair-eval-btn eval-btn-right">服务评价</view>
<view v-if="getStatusLabel(item.status) === '已结束'" class="repair-eval-btn eval-btn-right">服务评价
</view>
</view>
<!-- 悬浮新增按钮 -->
<image src="/static/ic_my_repair_02.png" :class="['repair-add-btn-fixed', { 'hide': isAddBtnHidden }]"
@@ -54,7 +56,7 @@
<view class="repair-detail-info">建立时间{{ detailItem.createTime }}</view>
<view class="repair-detail-info">报事内容{{ detailItem.typeName }}</view>
<view class="repair-detail-info">报事位置{{ detailItem.location }}</view>
<button v-if="detailItem.statusText === '已结束'" class="repair-detail-btn"
<button v-if="getStatusLabel(detailItem.status) === '已结束'" class="repair-detail-btn"
@click="goTEvaluate">评价服务</button>
</view>
</view>
@@ -71,14 +73,20 @@
detailItem: {},
detailStep: 0,
detailStatus: '',
progressSteps: ['创建工单', '处理中', '已结束'],
progressSteps: ['创建工单', '已接单', '处理中', '已结束'],
lastScrollTop: 0,
isAddBtnHidden: false
}
},
onLoad() {
// uni.$on('refreshData', this.getOrders);
this.getOrders()
},
onShow() {
uni.$once('refreshData',s=> {
this.getOrders()
});
},
methods: {
goBack() {
uni.navigateBack();
@@ -89,7 +97,10 @@
});
},
async getOrders() {
let res = await this.$u.api.getOrderList();
let params = {
"type": "1952989217332658178"
}
let res = await this.$u.api.getOrderList(params);
if (res.code == '200') {
this.records = res.rows
}
@@ -107,16 +118,20 @@
showDetail(item) {
this.detailItem = item;
// 进度映射
if (item.status === 0) {
if (item.status == 0) {
this.detailStep = 0;
this.detailStatus = '创建';
} else if (item.status === 4) {
this.detailStatus = '创建工单';
} else if (item.status == 4) {
this.detailStep = 3;
this.detailStatus = '已结束';
} else {
} else if (item.status == 3) {
this.detailStep = 2;
this.detailStatus = '处理中';
} else {
this.detailStep = 1;
this.detailStatus = '已接单';
}
this.showDetailDialog = true;
},
closeDetail() {
@@ -125,16 +140,18 @@
getStatusLabel(status) {
const statusMap = {
0: '创建工单',
1: '处理中',
2: '处理中',
1: '已接单',
2: '已接单',
3: '处理中',
4: '已完成'
4: '已结束'
};
return statusMap[status] || '';
},
goTEvaluate() {
// 将detailItem转换为JSON字符串并进行编码以确保安全传输
const detailItemStr = encodeURIComponent(JSON.stringify(this.detailItem));
uni.navigateTo({
url: '/pages/sys/user/myRepair/repairEvaluate'
url: `/pages/sys/user/myRepair/repairEvaluate?detailItem=${detailItemStr}`
});
},
handleScroll(e) {
@@ -386,7 +403,7 @@
align-items: center;
justify-content: space-between;
margin-bottom: 5rpx;
margin-left: 100rpx;
margin-left: 75rpx;
width: 100%;
}