From 3f88a4f81bbfc424caa1391f4b3969c26fbf8485 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 05 九月 2025 17:57:41 +0800
Subject: [PATCH] 销售管理真机测试,bug修改
---
src/pages/equipmentManagement/upkeep/index.vue | 241 +++++++++++++----------------------------------
1 files changed, 68 insertions(+), 173 deletions(-)
diff --git a/src/pages/equipmentManagement/upkeep/index.vue b/src/pages/equipmentManagement/upkeep/index.vue
index 9ae34cd..d11eb48 100644
--- a/src/pages/equipmentManagement/upkeep/index.vue
+++ b/src/pages/equipmentManagement/upkeep/index.vue
@@ -1,18 +1,18 @@
<template>
- <view class="device-upkeep">
+ <view class="sales-account">
<!-- 浣跨敤閫氱敤椤甸潰澶撮儴缁勪欢 -->
<PageHeader title="璁惧淇濆吇" @back="goBack" />
<!-- 鎼滅储鍖哄煙 -->
- <view class="search-filter-section">
+ <view class="search-section">
<view class="search-bar">
<view class="search-input">
- <input
+ <up-input
class="search-text"
- placeholder="璇疯緭鍏ヨ澶囧悕绉�"
+ placeholder="璇疯緭鍏ヨ澶囧悕绉版悳绱�"
v-model="searchKeyword"
- confirm-type="search"
- @confirm="getList"
+ @change="getList"
+ clearable
/>
</view>
<view class="filter-button" @click="getList">
@@ -22,9 +22,9 @@
</view>
<!-- 璁惧淇濆吇鍒楄〃 -->
- <view class="upkeep-list" v-if="upkeepList.length > 0">
+ <view class="ledger-list" v-if="upkeepList.length > 0">
<view v-for="(item, index) in upkeepList" :key="index">
- <view class="upkeep-item" @click="toggleSelection(item)">
+ <view class="ledger-item" @click="toggleSelection(item)">
<view class="item-header">
<view class="item-left">
<view class="document-icon">
@@ -33,8 +33,8 @@
<text class="item-id">璁惧鍚嶇О锛歿{ item.deviceName }}</text>
</view>
<view class="status-tag">
- <van-tag v-if="item.status === 1" type="success">瀹岀粨</van-tag>
- <van-tag v-if="item.status === 0" type="danger">寰呬繚鍏�</van-tag>
+ <u-tag v-if="item.status === 1" type="success">瀹岀粨</u-tag>
+ <u-tag v-if="item.status === 0" type="error">寰呬繚鍏�</u-tag>
</view>
</view>
<up-divider></up-divider>
@@ -67,28 +67,29 @@
<view class="detail-row">
<text class="detail-label">淇濆吇缁撴灉</text>
<view class="detail-value">
- <van-tag v-if="item.maintenanceResult === 1" type="success">
- 瀹屽ソ
- </van-tag>
- <van-tag v-if="item.maintenanceResult === 0" type="danger">
- 缁翠慨
- </van-tag>
- <text v-if="item.maintenanceResult === undefined || item.maintenanceResult === null">-</text>
- </view>
+ <u-tag v-if="item.maintenanceResult === 1" type="success" size="mini">
+ 瀹屽ソ
+ </u-tag>
+ <u-tag v-if="item.maintenanceResult === 0" type="error" size="mini">
+ 缁翠慨
+ </u-tag>
+ <text v-if="item.maintenanceResult === undefined || item.maintenanceResult === null">-</text>
+ </view>
</view>
</view>
<!-- 鎸夐挳鍖哄煙 -->
<view class="action-buttons">
- <van-button
+ <u-button
type="primary"
size="small"
class="action-btn"
+ :disabled="item.status === 1"
@click.stop="edit(item.id)"
>
缂栬緫
- </van-button>
- <van-button
+ </u-button>
+ <u-button
type="warning"
size="small"
class="action-btn"
@@ -96,16 +97,16 @@
@click.stop="addMaintain(item.id)"
>
淇濆吇
- </van-button>
- <van-button
- type="danger"
+ </u-button>
+ <u-button
+ type="error"
size="small"
plain
class="action-btn"
@click.stop="delUpkeepByIds(item.id)"
>
鍒犻櫎
- </van-button>
+ </u-button>
</view>
</view>
</view>
@@ -115,12 +116,10 @@
<text>鏆傛棤璁惧淇濆吇鏁版嵁</text>
</view>
- <!-- 娴姩姘旀场鎸夐挳 -->
- <van-floating-bubble
- axis="xy"
- icon="plus"
- @click="addPlan"
- />
+ <!-- 娴姩鏂板鎸夐挳 -->
+ <view class="fab-button" @click="addPlan">
+ <up-icon name="plus" size="24" color="#ffffff"></up-icon>
+ </view>
</view>
</template>
@@ -130,7 +129,13 @@
import PageHeader from '@/components/PageHeader.vue'
import { getUpkeepPage, delUpkeep } from '@/api/equipmentManagement/upkeep'
import useUserStore from "@/store/modules/user"
-import { showToast } from 'vant';
+// 鏄剧ず鎻愮ず淇℃伅
+const showToast = (message) => {
+ uni.showToast({
+ title: message,
+ icon: 'none'
+ })
+};
import dayjs from "dayjs"
const userStore = useUserStore()
@@ -163,6 +168,7 @@
// 鏌ヨ鍒楄〃
const getList = () => {
+ showLoadingToast('鍔犺浇涓�...')
const params = {
current: -1,
size: -1,
@@ -172,11 +178,26 @@
.then((res) => {
// 濡傛灉res.data涓嶆槸鏁扮粍锛岃缃负绌烘暟缁�
upkeepList.value = res.records || res.data?.records || []
+ closeToast()
})
.catch(() => {
+ closeToast()
showToast('鑾峰彇鏁版嵁澶辫触')
})
}
+
+// 鏄剧ず鍔犺浇鎻愮ず
+const showLoadingToast = (message) => {
+ uni.showLoading({
+ title: message,
+ mask: true
+ });
+};
+
+// 鍏抽棴鎻愮ず
+const closeToast = () => {
+ uni.hideLoading();
+};
// 鍒囨崲閫夋嫨鐘舵��
const toggleSelection = (item) => {
@@ -200,8 +221,10 @@
return
}
const targetId = id || multipleList.value[0].id
+ // 浣跨敤鏈湴瀛樺偍浼犻�抜d
+ uni.setStorageSync('repairId', targetId)
uni.navigateTo({
- url: `/pages/equipmentManagement/upkeep/maintain?id=${targetId}`
+ url: '/pages/equipmentManagement/upkeep/maintain'
})
}
@@ -215,8 +238,10 @@
// 缂栬緫 - 璺宠浆鍒癮dd椤甸潰锛岄�氳繃id鍖哄垎鏂板杩樻槸缂栬緫
const edit = (id) => {
if (!id) return
+ // 浣跨敤鏈湴瀛樺偍浼犻�抜d
+ uni.setStorageSync('repairId', id)
uni.navigateTo({
- url: `/pages/equipmentManagement/upkeep/add?id=${id}`
+ url: '/pages/equipmentManagement/upkeep/add'
})
}
@@ -264,58 +289,11 @@
</script>
<style scoped lang="scss">
-.u-divider {
- margin: 0 !important;
-}
+@import '@/styles/sales-common.scss';
-.device-upkeep {
- min-height: 100vh;
- background: #f8f9fa;
- position: relative;
- padding-bottom: 80px;
-}
-
-.search-filter-section {
- padding: 10px 20px;
- background: #ffffff;
-}
-
-.search-bar {
- display: flex;
- align-items: center;
- gap: 12px;
-}
-
-.search-input {
- flex: 1;
- background: #f5f5f5;
- border-radius: 24px;
- padding: 10px 16px;
- display: flex;
- align-items: center;
- gap: 8px;
-}
-
-.search-text {
- flex: 1;
- font-size: 14px;
- color: #333;
- background: transparent;
- border: none;
- outline: none;
-}
-
-.search-text::placeholder {
- color: #999;
-}
-
-.filter-button {
- width: 40px;
- height: 40px;
- border-radius: 8px;
- display: flex;
- align-items: center;
- justify-content: center;
+// 璁惧淇濆吇鐗规湁鏍峰紡
+.sales-account {
+ padding-bottom: 80px; // 涓烘诞鍔ㄦ寜閽暀鍑虹┖闂�
}
.action-section {
@@ -324,36 +302,9 @@
border-bottom: 1px solid #f0f0f0;
}
-.action-buttons {
- display: flex;
- gap: 8px;
+.action-section .action-buttons {
+ gap: 8px; // 涓庡叕鍏辨牱寮忎腑鐨� 12px 涓嶅悓
justify-content: flex-start;
-}
-
-.upkeep-list {
- padding: 20px;
-}
-
-.upkeep-item {
- background: #ffffff;
- border-radius: 12px;
- margin-bottom: 16px;
- overflow: hidden;
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
- padding: 0 16px;
-}
-
-.item-header {
- padding: 16px 0;
- display: flex;
- align-items: center;
- justify-content: space-between;
-}
-
-.item-left {
- display: flex;
- align-items: center;
- gap: 8px;
}
.checkbox-wrapper {
@@ -361,78 +312,22 @@
align-items: center;
}
-.document-icon {
- width: 24px;
- height: 24px;
- background: #2979ff;
- border-radius: 4px;
- display: flex;
- align-items: center;
- justify-content: center;
-}
-
-.item-id {
- font-size: 14px;
- color: #333;
- font-weight: 500;
-}
-
.status-tag {
display: flex;
align-items: center;
}
-.item-details {
- padding: 16px 0;
-}
-
-.detail-row {
- display: flex;
- align-items: flex-end;
- justify-content: space-between;
- margin-bottom: 8px;
-
- &:last-child {
- margin-bottom: 0;
- }
-}
-
.detail-label {
- font-size: 12px;
- color: #777777;
- min-width: 80px;
+ min-width: 80px; // 涓庡叕鍏辨牱寮忎腑鐨� 60px 涓嶅悓
}
.detail-value {
- font-size: 12px;
- color: #000000;
- text-align: right;
- flex: 1;
- margin-left: 16px;
display: flex;
justify-content: flex-end;
align-items: center;
}
-.detail-value.highlight {
- color: #2979ff;
- font-weight: 500;
-}
-
-.no-data {
- padding: 40px 0;
- text-align: center;
- color: #999;
-}
-
-.upkeep-item .action-buttons {
- display: flex;
- gap: 8px;
- padding: 0 0 16px 0;
- justify-content: space-between;
-}
-
-.action-btn {
- flex: 1;
+.ledger-item .action-buttons {
+ gap: 8px; // 涓庡叕鍏辨牱寮忎腑鐨� 12px 涓嶅悓
}
</style>
\ No newline at end of file
--
Gitblit v1.9.3