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