From a26e8d708ab3c8899bee5cae4167ccc3be9b58cd Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期三, 03 九月 2025 14:00:23 +0800
Subject: [PATCH] 销售管理整体样式优化,搜索条件修改

---
 src/pages/sales/receiptPaymentLedger/index.vue |  340 +++++++++++++++-----------------------------------------
 1 files changed, 93 insertions(+), 247 deletions(-)

diff --git a/src/pages/sales/receiptPaymentLedger/index.vue b/src/pages/sales/receiptPaymentLedger/index.vue
index 068f4e6..d913f34 100644
--- a/src/pages/sales/receiptPaymentLedger/index.vue
+++ b/src/pages/sales/receiptPaymentLedger/index.vue
@@ -1,67 +1,68 @@
 <template>
-  <view class="receipt-payment-ledger">
-    <!-- 浣跨敤閫氱敤椤甸潰澶撮儴缁勪欢 -->
-    <PageHeader title="瀹㈡埛寰�鏉�" @back="goBack" />
-    
-    <!-- 鎼滅储鍖哄煙 -->
-    <view class="search-section">
-      <view class="search-bar">
-        <view class="search-input">
-          <input
-            class="search-text"
-            placeholder="璇疯緭鍏ュ鎴峰悕绉�"
-            v-model="searchForm.searchText"
-            @input="handleQuery"
-          />
-        </view>
-        <view class="search-button" @click="handleQuery">
-          <up-icon name="search" size="24" color="#999"></up-icon>
-        </view>
-      </view>
-    </view>
-
-    <!-- 瀹㈡埛鍒楄〃 -->
-    <view class="customer-list-container">
-      <view class="customer-list" v-if="tableData.length > 0">
-        <view 
-          v-for="(item, index) in tableData" 
-          :key="item.id"
-          class="customer-item"
-          @click="rowClickMethod(item)"
-        >
-          <view class="item-header">
-            <view class="item-left">
-              <view class="customer-icon">
+	<view class="sales-account">
+		<!-- 浣跨敤閫氱敤椤甸潰澶撮儴缁勪欢 -->
+		<PageHeader title="瀹㈡埛寰�鏉�" @back="goBack" />
+		
+		<!-- 鎼滅储鍖哄煙 -->
+		<view class="search-section">
+			<view class="search-bar">
+				<view class="search-input">
+					<up-input
+						class="search-text"
+						placeholder="璇疯緭鍏ュ鎴峰悕绉�"
+						v-model="searchForm.customerName"
+						@change="handleQuery"
+						clearable
+					/>
+				</view>
+				<view class="search-button" @click="handleQuery">
+					<up-icon name="search" size="24" color="#999"></up-icon>
+				</view>
+			</view>
+		</view>
+		
+		<!-- 瀹㈡埛鍒楄〃 -->
+		<view class="customer-list-container">
+			<view class="customer-list" v-if="tableData.length > 0">
+				<view
+					v-for="(item, index) in tableData"
+					:key="item.id"
+					class="customer-item"
+					@click="rowClickMethod(item)"
+				>
+					<view class="item-header">
+						<view class="item-left">
+							<view class="customer-icon">
 								<up-icon name="file-text" size="16" color="#ffffff"></up-icon>
-              </view>
-              <text class="customer-name">{{ item.customerName }}</text>
-            </view>
-            <view class="item-right">
-              <up-icon name="arrow-right" size="16" color="#999"></up-icon>
-            </view>
-          </view>
-          <up-divider></up-divider>
-          <view class="item-details">
-            <view class="detail-row">
-              <text class="detail-label">寮�绁ㄩ噾棰�(鍏�)</text>
-              <text class="detail-value">{{ formattedNumber(item.invoiceTotal) }}</text>
-            </view>
-            <view class="detail-row">
-              <text class="detail-label">鍥炴閲戦(鍏�)</text>
-              <text class="detail-value">{{ formattedNumber(item.receiptPaymentAmount) }}</text>
-            </view>
-            <view class="detail-row">
-              <text class="detail-label">搴旀敹閲戦(鍏�)</text>
-              <text class="detail-value highlight danger">{{ formattedNumber(item.unReceiptPaymentAmount) }}</text>
-            </view>
-          </view>
-        </view>
-      </view>
-      <view v-else class="no-data">
-        <text>鏆傛棤瀹㈡埛鏁版嵁</text>
-      </view>
-    </view>
-  </view>
+							</view>
+							<text class="customer-name">{{ item.customerName }}</text>
+						</view>
+						<view class="item-right">
+							<up-icon name="arrow-right" size="16" color="#999"></up-icon>
+						</view>
+					</view>
+					<up-divider></up-divider>
+					<view class="item-details">
+						<view class="detail-row">
+							<text class="detail-label">寮�绁ㄩ噾棰�(鍏�)</text>
+							<text class="detail-value">{{ formattedNumber(item.invoiceTotal) }}</text>
+						</view>
+						<view class="detail-row">
+							<text class="detail-label">鍥炴閲戦(鍏�)</text>
+							<text class="detail-value">{{ formattedNumber(item.receiptPaymentAmount) }}</text>
+						</view>
+						<view class="detail-row">
+							<text class="detail-label">搴旀敹閲戦(鍏�)</text>
+							<text class="detail-value highlight danger">{{ formattedNumber(item.unReceiptPaymentAmount) }}</text>
+						</view>
+					</view>
+				</view>
+			</view>
+			<view v-else class="no-data">
+				<text>鏆傛棤瀹㈡埛鏁版嵁</text>
+			</view>
+		</view>
+	</view>
 </template>
 
 <script setup>
@@ -73,228 +74,73 @@
 const tableData = ref([]);
 
 const page = reactive({
-  current: -1,
-  size: -1,
+	current: -1,
+	size: -1,
 });
 
 
 
 const data = reactive({
-  searchForm: {
-    searchText: "",
-    invoiceDate: "",
-  },
+	searchForm: {
+		customerName: "",
+		invoiceDate: "",
+	},
 });
 
 const { searchForm } = toRefs(data);
 
 // 杩斿洖涓婁竴椤�
 const goBack = () => {
-  uni.navigateBack();
+	uni.navigateBack();
 };
 
 // 鏌ヨ鍒楄〃
 const handleQuery = () => {
-  getList();
+	getList();
 };
 
 const getList = () => {
-  invoiceLedgerSalesAccount({ ...searchForm.value, ...page }).then((res) => {
-    tableData.value = res.data.records;
-  }).catch(() => {
-    uni.showToast({
-      title: '鏌ヨ澶辫触',
-      icon: 'error'
-    });
-  });
+	invoiceLedgerSalesAccount({ ...searchForm.value, ...page }).then((res) => {
+		tableData.value = res.data.records;
+	}).catch(() => {
+		uni.showToast({
+			title: '鏌ヨ澶辫触',
+			icon: 'error'
+		});
+	});
 };
 
 const formattedNumber = (value) => {
-  return parseFloat(value || 0).toFixed(2);
+	return parseFloat(value || 0).toFixed(2);
 };
 
 
 
 const rowClickMethod = (row) => {
-  // 璺宠浆鍒板洖娆捐褰曟槑缁嗛〉闈�
-  uni.navigateTo({
-    url: `/pages/sales/receiptPaymentLedger/detail?customerId=${row.id}`
-  });
+	// 浣跨敤 uni.setStorageSync 瀛樺偍瀹㈡埛淇℃伅
+	uni.setStorageSync('customerId', row.id);
+	// 璺宠浆鍒板洖娆捐褰曟槑缁嗛〉闈�
+	uni.navigateTo({
+		url: '/pages/sales/receiptPaymentLedger/detail'
+	});
 };
 
 onShow(() => {
-  // 椤甸潰鏄剧ず鏃跺埛鏂板垪琛�
-  getList();
+	// 椤甸潰鏄剧ず鏃跺埛鏂板垪琛�
+	getList();
 });
 
 onMounted(() => {
-  getList();
+	getList();
 });
 </script>
 
 <style scoped lang="scss">
-.u-divider {
-  margin: 0 !important;
-}
+@import '@/styles/sales-common.scss';
 
-.receipt-payment-ledger {
-  min-height: 100vh;
-  background: #f8f9fa;
-  position: relative;
-}
-
-.search-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;
-}
-
-.search-button {
-  width: 40px;
-  height: 40px;
-  border-radius: 8px;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-}
-
-.customer-list-container {
-  padding: 20px;
-}
-
-.customer-list {
-  display: flex;
-  flex-direction: column;
-  gap: 16px;
-}
-
-.customer-item {
-  background: #ffffff;
-  border-radius: 12px;
-  overflow: hidden;
-  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
-  padding: 0 16px;
-  transition: all 0.3s ease;
-  
-  &:active {
-    transform: scale(0.98);
-    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
-  }
-}
-
-.item-header {
-  padding: 16px 0;
-  display: flex;
-  align-items: center;
-  justify-content: space-between;
-}
-
-.item-left {
-  display: flex;
-  align-items: center;
-  gap: 8px;
-}
-
-.item-right {
-  display: flex;
-  align-items: center;
-  gap: 8px;
-}
-
-.customer-icon {
-  width: 24px;
-  height: 24px;
-  background: #2979ff;
-  border-radius: 4px;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-}
-
-.customer-name {
-  font-size: 14px;
-  color: #333;
-  font-weight: 500;
-}
-
-.item-index {
-  font-size: 12px;
-  color: #999;
-  background: #f5f5f5;
-  padding: 2px 8px;
-  border-radius: 12px;
-}
-
-.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;
-}
-
-.detail-value.highlight {
-  color: #2979ff;
-  font-weight: 500;
-}
-
+// 瀹㈡埛寰�鏉ョ壒鏈夋牱寮�
 .detail-value.danger {
-  color: #ff4757;
-  font-weight: 500;
-}
-
-.no-data {
-  padding: 40px 0;
-  text-align: center;
-  color: #999;
+	color: #ff4757; // 涓庡叕鍏辨牱寮忎腑鐨� #ee0a24 涓嶅悓
+	font-weight: 500;
 }
 </style>
\ No newline at end of file

--
Gitblit v1.9.3