From 793391c23ba45b3dab55657ecd2448d87e17f854 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 16 九月 2025 13:49:53 +0800
Subject: [PATCH] 设备巡检、智能派单
---
src/pages/sales/receiptPayment/index.vue | 264 +++++++++-------------------------------------------
1 files changed, 49 insertions(+), 215 deletions(-)
diff --git a/src/pages/sales/receiptPayment/index.vue b/src/pages/sales/receiptPayment/index.vue
index a30d42e..a98b3db 100644
--- a/src/pages/sales/receiptPayment/index.vue
+++ b/src/pages/sales/receiptPayment/index.vue
@@ -1,33 +1,34 @@
<template>
- <view class="receipt-payment">
+ <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="瀹㈡埛鍚嶇О/鍚堝悓鍙�/椤圭洰鍚嶇О"
- v-model="searchForm.searchText"
- confirm-type="search"
+ placeholder="璇疯緭鍏ュ鎴峰悕绉版悳绱�"
+ v-model="searchForm.customerName"
+ @change="getList"
+ clearable
/>
</view>
<view class="filter-button" @click="getList">
- <u-icon name="search" size="24" color="#999"></u-icon>
+ <up-icon name="search" size="24" color="#999"></up-icon>
</view>
</view>
<!-- 绛涢�夊紑鍏� -->
<view class="switch-row">
<text class="switch-label">涓嶆樉绀哄緟鍥炴涓�0</text>
- <u-switch v-model="searchForm.status" @change="getList" size="18"/>
+ <up-switch v-model="searchForm.status" @change="getList" size="18"/>
</view>
</view>
-
-
-
+
+
+
<!-- 鍒楄〃鍖哄煙 -->
<view class="ledger-list" v-if="tableData.length > 0">
<view v-for="(item, index) in tableData" :key="index">
@@ -35,12 +36,12 @@
<view class="item-header">
<view class="item-left">
<view class="document-icon">
- <u-icon name="file-text" size="16" color="#ffffff"></u-icon>
+ <up-icon name="file-text" size="16" color="#ffffff"></up-icon>
</view>
<text class="item-id">{{ item.salesContractNo }}</text>
</view>
</view>
- <u-divider></u-divider>
+ <up-divider></up-divider>
<view class="item-details">
<view class="detail-row">
<text class="detail-label">瀹㈡埛鍚嶇О</text>
@@ -82,7 +83,7 @@
<!-- 鎿嶄綔鎸夐挳 -->
<view class="action-buttons">
- <u-button
+ <up-button
type="primary"
size="small"
class="action-btn"
@@ -90,15 +91,15 @@
@click="openForm(item)"
>
鏂板鍥炴
- </u-button>
+ </up-button>
</view>
</view>
</view>
</view>
-
+
<!-- 鏃犳暟鎹彁绀� -->
<view class="no-data" v-else>
- <text>鏆傛棤鏁版嵁</text>
+ <text>鏆傛棤鍥炴鏁版嵁</text>
</view>
</view>
</template>
@@ -109,7 +110,28 @@
bindInvoiceNoRegPage,
} from '@/api/salesManagement/receiptPayment'
import useUserStore from '@/store/modules/user'
-import { showToast } from 'vant'
+
+// 鏄剧ず鎻愮ず淇℃伅
+const showToast = (message) => {
+ uni.showToast({
+ title: message,
+ icon: 'none'
+ })
+}
+
+// 鏄剧ず鍔犺浇鎻愮ず
+const showLoadingToast = (message) => {
+ uni.showLoading({
+ title: message,
+ mask: true
+ });
+};
+
+// 鍏抽棴鍔犺浇鎻愮ず
+const closeToast = () => {
+ uni.hideLoading();
+};
+
import {onShow} from "@dcloudio/uni-app";
// 鍝嶅簲寮忔暟鎹�
@@ -124,9 +146,8 @@
// 鎼滅储琛ㄥ崟
const searchForm = ref({
- searchText: '',
- status: true,
customerName: '',
+ status: true,
customerContractNo: '',
projectName: ''
})
@@ -143,14 +164,16 @@
// 鑾峰彇鍒楄〃鏁版嵁
const getList = () => {
- tableLoading.value = true
+ showLoadingToast('鍔犺浇涓�...')
bindInvoiceNoRegPage({ ...searchForm.value, ...page.value })
.then((res) => {
- tableLoading.value = false
tableData.value = res.data.records || []
})
.catch(() => {
- tableLoading.value = false
+ showToast('鑾峰彇鏁版嵁澶辫触')
+ })
+ .finally(() => {
+ closeToast()
})
}
@@ -170,201 +193,12 @@
</script>
<style scoped lang="scss">
-.u-divider {
- margin: 0 !important;
-}
+@import '@/styles/sales-common.scss';
-.receipt-payment {
- min-height: 100vh;
- background: #f8f9fa;
- position: relative;
-}
-
-.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;
-}
-
-.switch-row {
- padding: 8px;
- display: flex;
- align-items: center;
- justify-content: space-between;
- margin-top: 8px;
-}
-
-.switch-label {
- font-size: 14px;
- color: #333;
-}
-
-
-
-.ledger-list {
- padding: 20px;
-}
-
-.ledger-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;
-}
-
-.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;
-}
-
-
-
-.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: 60px;
-}
-
+// 鍥炴鐧昏鐗规湁鏍峰紡
.detail-value {
- font-size: 12px;
- color: #000000;
- text-align: right;
- flex: 1;
- margin-left: 16px;
display: flex;
align-items: center;
justify-content: flex-end;
-}
-
-.detail-value.highlight {
- color: #2979ff;
- font-weight: 500;
-}
-
-.detail-value.danger {
- color: #ee0a24;
- font-weight: 500;
-}
-
-.children-list {
- .children-title {
- font-size: 14px;
- font-weight: 500;
- color: #333;
- padding: 12px 0 8px 0;
- border-top: 1px solid #f0f0f0;
- }
-}
-
-.child-item {
- .child-details {
- padding: 12px 0;
- }
-
- .child-actions {
- display: flex;
- gap: 8px;
- padding: 8px 0 16px 0;
- justify-content: flex-end;
- }
-}
-
-.action-buttons {
- display: flex;
- gap: 12px;
- padding: 0 0 16px 0;
- justify-content: space-between;
-}
-
-.action-btn {
- flex: 1;
- display: flex;
- align-items: center;
- justify-content: center;
- gap: 8px;
-}
-
-.no-data {
- padding: 40px 0;
- text-align: center;
- color: #999;
}
</style>
\ No newline at end of file
--
Gitblit v1.9.3