From 1efdf8fa2f60cc6d9da42b319540d4c2df4b3e0a Mon Sep 17 00:00:00 2001
From: baoshiwei <baoshiwei@shlanbao.cn>
Date: 星期六, 14 六月 2025 15:13:35 +0800
Subject: [PATCH] refactor(repair): 优化报修相关功能和页面展示
---
eims-ui-mobile/src/pages/repair/repair-fb.vue | 4
eims-ui-mobile/src/pages/repair/repair-add.vue | 4
eims-ui-mobile/src/components/repair/res-card.vue | 34 ++++++++--
eims-ui-mobile/src/pages/scan/index.vue | 10 +-
eims-ui-mobile/src/components/repair/req-card.vue | 4
eims-ui-mobile/src/pages/repair/req-detail.vue | 16 ++---
eims-ui-mobile/src/pages/home/index.vue | 46 +++++++-------
eims-ui-mobile/src/pages/repair/res-detail.vue | 2
eims-ui-mobile/src/pages/repair/res-list.vue | 2
9 files changed, 68 insertions(+), 54 deletions(-)
diff --git a/eims-ui-mobile/src/components/repair/req-card.vue b/eims-ui-mobile/src/components/repair/req-card.vue
index 3e937c3..a511f91 100644
--- a/eims-ui-mobile/src/components/repair/req-card.vue
+++ b/eims-ui-mobile/src/components/repair/req-card.vue
@@ -61,8 +61,8 @@
</view>
<view class="text-color-gray mt-1 text-mini">
<text>绱ф�ョ▼搴�: </text>
- <wd-tag type="danger" v-if="item.urgencyLevel === '1'">绱ф��</wd-tag>
- <wd-tag type="warning" v-else-if="item.urgencyLevel === '2'">涓�鑸�</wd-tag>
+ <wd-tag type="warning" v-if="item.urgencyLevel === '1'">涓�鑸�</wd-tag>
+ <wd-tag type="danger" v-else-if="item.urgencyLevel === '2'">绱ф��</wd-tag>
<wd-tag type="success" v-else-if="item.urgencyLevel === '3'">鏅��</wd-tag>
</view>
</view>
diff --git a/eims-ui-mobile/src/components/repair/res-card.vue b/eims-ui-mobile/src/components/repair/res-card.vue
index 230b442..dd7beb7 100644
--- a/eims-ui-mobile/src/components/repair/res-card.vue
+++ b/eims-ui-mobile/src/components/repair/res-card.vue
@@ -12,6 +12,7 @@
<wd-tag size="small" v-if="item.status === '1'" type="warning">宸叉帴鍗�</wd-tag>
<wd-tag size="small" v-else-if="item.status === '2'" type="primary">缁翠慨涓�</wd-tag>
<wd-tag size="small" v-else-if="item.status === '3'" type="success">宸插畬鎴�</wd-tag>
+ <wd-tag size="small" v-else-if="item.status === '4'" type="default">宸茶瘎浠�</wd-tag>
</view>
</view>
</template>
@@ -67,12 +68,13 @@
</view>
</view>
<view>
- <template v-if="item.status === '3'">
+ <template v-if="item.status === '3' || item.status === '4'">
<view class="h-full flex flex-col">
<wd-button size="small" icon="warn-bold" @click.stop="itemClick(item)">
璇︽儏
</wd-button>
<wd-button
+ v-if="isRequest"
class="mt-4"
size="small"
icon="edit-outline"
@@ -80,6 +82,17 @@
type="warning"
>
{{ item.fbId == null ? '鍐欒瘎浠�' : '鏌ョ湅璇勪环' }}
+ </wd-button>
+ <wd-button
+ v-else
+ class="mt-4"
+ size="small"
+ icon="edit-outline"
+ @click.stop="goToFeedBack(item)"
+ type="warning"
+ :disabled="item.fdId == null"
+ >
+ {{ item.fbId == null ? '鏆傛湭璇勪环' : '鏌ョ湅璇勪环' }}
</wd-button>
</view>
</template>
@@ -121,18 +134,23 @@
const userStore = useUserStore()
const message = useMessage()
const toast = useToast()
-defineProps({
+const defineProps1 = defineProps({
item: {
type: Object as () => RepairResVO,
- required: true
- }
-})
+ required: true,
+ },
+});
const emit = defineEmits(['click'])
-function handleClick(item) {
- emit('click', item)
-}
+// 浣跨敤璁$畻灞炴�э紝鍒ゆ柇褰撳墠鐢ㄦ埛鏄笉鏄姹備汉
+const isRequest = computed(() => {
+ if (defineProps1.item) {
+ console.log('isRequest', defineProps1.item.reqUser === userStore.userInfo.userId)
+ return userStore.userInfo.userId === defineProps1.item.reqUser
+ }
+ return false
+})
/**
* 寮�濮嬬淮淇�
diff --git a/eims-ui-mobile/src/pages/home/index.vue b/eims-ui-mobile/src/pages/home/index.vue
index 52dcd4e..94dae84 100644
--- a/eims-ui-mobile/src/pages/home/index.vue
+++ b/eims-ui-mobile/src/pages/home/index.vue
@@ -80,29 +80,29 @@
</view>
</wd-card>
</view>
- <view class="bg-white mt-2">
- <wd-card type="rectangle">
- <template #title>
- <view class="flex items-center menu-title-box">
- <view class="menu-indicator"></view>
- <view class="ml-1 text-sm">蹇嵎鎿嶄綔</view>
- </view>
- </template>
- <wd-grid :column="4">
- <wd-grid-item
- use-slot
- class="flex justify-center items-center"
- v-for="(item, index) in commonMenu"
- :key="item.id"
- @click.stop="goItemPage(item)"
- v-show="!(isLeader() && item.custom)"
- >
- <image class="slot-img text-center" :src="item.icon" />
- <text>{{ item.name }}</text>
- </wd-grid-item>
- </wd-grid>
- </wd-card>
- </view>
+<!-- <view class="bg-white mt-2">-->
+<!-- <wd-card type="rectangle">-->
+<!-- <template #title>-->
+<!-- <view class="flex items-center menu-title-box">-->
+<!-- <view class="menu-indicator"></view>-->
+<!-- <view class="ml-1 text-sm">蹇嵎鎿嶄綔</view>-->
+<!-- </view>-->
+<!-- </template>-->
+<!-- <wd-grid :column="4">-->
+<!-- <wd-grid-item-->
+<!-- use-slot-->
+<!-- class="flex justify-center items-center"-->
+<!-- v-for="(item, index) in commonMenu"-->
+<!-- :key="item.id"-->
+<!-- @click.stop="goItemPage(item)"-->
+<!-- v-show="!(isLeader() && item.custom)"-->
+<!-- >-->
+<!-- <image class="slot-img text-center" :src="item.icon" />-->
+<!-- <text>{{ item.name }}</text>-->
+<!-- </wd-grid-item>-->
+<!-- </wd-grid>-->
+<!-- </wd-card>-->
+<!-- </view>-->
<view class="bg-white mt-2">
<wd-card type="rectangle">
<template #title>
diff --git a/eims-ui-mobile/src/pages/repair/repair-add.vue b/eims-ui-mobile/src/pages/repair/repair-add.vue
index 1a05452..af4caaf 100644
--- a/eims-ui-mobile/src/pages/repair/repair-add.vue
+++ b/eims-ui-mobile/src/pages/repair/repair-add.vue
@@ -24,7 +24,7 @@
:columns="reqList"
label-key="dictLabel"
value-key="dictValue"
- label="鏁呴殰绫诲瀷"
+ label="鎶ヤ慨绫诲瀷"
v-model="model.reqType"
@confirm="handleConfirmReqType"
:disabled="reqTypeDis"
@@ -339,7 +339,7 @@
.then((res: any) => {
if (res?.code === 200) {
toast.success(res?.msg)
- uni.$emit('req-list-refresh')
+ uni.$emit('list-refresh')
setTimeout(() => {
uni.navigateBack()
}, 1500)
diff --git a/eims-ui-mobile/src/pages/repair/repair-fb.vue b/eims-ui-mobile/src/pages/repair/repair-fb.vue
index 38a6d05..dd5a6ef 100644
--- a/eims-ui-mobile/src/pages/repair/repair-fb.vue
+++ b/eims-ui-mobile/src/pages/repair/repair-fb.vue
@@ -206,7 +206,7 @@
icon: 'none',
})
uni.navigateBack()
- uni.$emit('res-list-refresh')
+ uni.$emit('list-refresh')
}
})
.catch((res) => {})
@@ -219,7 +219,7 @@
icon: 'none',
})
uni.navigateBack()
- uni.$emit('res-list-refresh')
+ uni.$emit('list-refresh')
}
})
.catch((res) => {})
diff --git a/eims-ui-mobile/src/pages/repair/req-detail.vue b/eims-ui-mobile/src/pages/repair/req-detail.vue
index 987569c..db805c6 100644
--- a/eims-ui-mobile/src/pages/repair/req-detail.vue
+++ b/eims-ui-mobile/src/pages/repair/req-detail.vue
@@ -78,8 +78,8 @@
<text>{{ repairReq.reqUserName }}</text>
</wd-cell>
<wd-cell title="绱ф�ョ▼搴�" title-width="200rpx">
- <wd-tag type="danger" v-if="repairReq.urgencyLevel === '1'">绱ф��</wd-tag>
- <wd-tag type="warning" v-else-if="repairReq.urgencyLevel === '2'">涓�鑸�</wd-tag>
+ <wd-tag type="danger" v-if="repairReq.urgencyLevel === '2'">绱ф��</wd-tag>
+ <wd-tag type="warning" v-else-if="repairReq.urgencyLevel === '1'">涓�鑸�</wd-tag>
<wd-tag type="success" v-else-if="repairReq.urgencyLevel === '3'">鏅��</wd-tag>
</wd-cell>
</wd-cell-group>
@@ -94,9 +94,9 @@
<!-- 鏁呴殰鍥剧墖 -->
<wd-cell-group v-if="repairReq.faultPicture" custom-class="mt-2" title="鏁呴殰鍥剧墖" use-slot border>
<view class="image-box">
- <image
- class="fault-image"
- :src="repairReq.faultPicture"
+ <image
+ class="fault-image"
+ :src="repairReq.faultPicture"
mode="aspectFit"
@click="previewImage"
/>
@@ -215,9 +215,7 @@
.description-box {
padding: 24rpx;
- background-color: #f9f9f9;
border-radius: 8rpx;
- margin: 16rpx;
color: #666666;
line-height: 1.6;
}
@@ -229,8 +227,6 @@
}
.fault-image {
- width: 80%;
- height: 400rpx;
border-radius: 8rpx;
box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.1);
}
@@ -249,4 +245,4 @@
color: #333333;
font-weight: 500;
}
-</style>
\ No newline at end of file
+</style>
diff --git a/eims-ui-mobile/src/pages/repair/res-detail.vue b/eims-ui-mobile/src/pages/repair/res-detail.vue
index ddd618f..73f7f0e 100644
--- a/eims-ui-mobile/src/pages/repair/res-detail.vue
+++ b/eims-ui-mobile/src/pages/repair/res-detail.vue
@@ -309,7 +309,7 @@
.then((res: any) => {
resolve(true)
toastSucces()
- uni.$emit('res-list-refresh')
+ uni.$emit('list-refresh')
uni.navigateBack()
})
.catch((res) => {
diff --git a/eims-ui-mobile/src/pages/repair/res-list.vue b/eims-ui-mobile/src/pages/repair/res-list.vue
index e782d72..c458516 100644
--- a/eims-ui-mobile/src/pages/repair/res-list.vue
+++ b/eims-ui-mobile/src/pages/repair/res-list.vue
@@ -43,7 +43,7 @@
</template>
<view class="bg-base">
- <res-card v-for="(item, index) in dataList" :key="item.id" :item="item" @click="handleResClick" />
+ <res-card v-for="item in dataList" :key="item.id" :item="item" />
</view>
</z-paging>
</template>
diff --git a/eims-ui-mobile/src/pages/scan/index.vue b/eims-ui-mobile/src/pages/scan/index.vue
index eecf651..d8fca76 100644
--- a/eims-ui-mobile/src/pages/scan/index.vue
+++ b/eims-ui-mobile/src/pages/scan/index.vue
@@ -67,7 +67,7 @@
<view class="h-[10px] bg-base"></view>
<wd-tabs v-model="tab">
- <wd-tab title="缁翠慨璇锋眰">
+ <wd-tab title="鎶ヤ慨鍗�">
<view class="h-[10px] bg-base"></view>
<!-- 缁翠慨璇锋眰鍖哄煙 -->
<view class="mt-2" v-if="reqList.length > 0">
@@ -149,7 +149,7 @@
exist.value = true
Object.assign(model, res)
// 鍔犺浇缁翠慨璇锋眰鍜岀淮淇崟鏁版嵁
- loadRepairData(res.equId)
+ loadRepairData()
} else {
toast.error('鏈煡璇㈠埌璇ヨ祫浜х紪鍙风浉鍏虫暟鎹紒')
}
@@ -161,10 +161,10 @@
}
// 鍔犺浇缁翠慨璇锋眰鍜岀淮淇崟鏁版嵁
-function loadRepairData(equId: string | number) {
+function loadRepairData() {
// 鍔犺浇鏈帴鍗曠殑缁翠慨璇锋眰
getRepairReqList({
- equId,
+ equId: model.equId,
status: '0',
}).then((res: any) => {
if (res?.rows) {
@@ -174,7 +174,7 @@
// 鍔犺浇鏈畬鎴愮殑缁翠慨鍗�
const params = {
- equId,
+ equId: model.equId,
params: {
status: '0,1,2',
},
--
Gitblit v1.9.3