From 2a500686266b8fc6dae991c799800e37083a45c2 Mon Sep 17 00:00:00 2001 From: gaoluyang <2820782392@qq.com> Date: 星期五, 05 九月 2025 14:03:24 +0800 Subject: [PATCH] 客户拜访真机测试,bug修改 --- src/pages/cooperativeOffice/clientVisit/index.vue | 243 +++++------------------------------------------- 1 files changed, 26 insertions(+), 217 deletions(-) diff --git a/src/pages/cooperativeOffice/clientVisit/index.vue b/src/pages/cooperativeOffice/clientVisit/index.vue index 4f37a94..6ff2467 100644 --- a/src/pages/cooperativeOffice/clientVisit/index.vue +++ b/src/pages/cooperativeOffice/clientVisit/index.vue @@ -1,62 +1,36 @@ <template> - <view class="client-visit-list"> + <view class="sales-accoun"> <!-- 浣跨敤閫氱敤椤甸潰澶撮儴缁勪欢 --> <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="customerName" - confirm-type="search" - @confirm="getList" + @blur="getList" + clearable /> </view> <view class="filter-button" @click="getList"> - <up-icon name="search" size="24" color="#999"></up-icon> + <u-icon name="search" size="24" color="#999"></u-icon> </view> </view> </view> <!-- 鎷滆璁板綍鍒楄〃 --> - <view class="visit-list" v-if="visitList.length > 0"> + <view class="ledger-list" v-if="visitList.length > 0"> <view v-for="(item, index) in visitList" :key="index"> - <view class="visit-item"> + <view class="ledger-item"> <view class="item-header"> <view class="item-left"> <view class="document-icon"> - <up-icon name="user" size="16" color="#ffffff"></up-icon> + <up-icon name="file-text" size="16" color="#ffffff"></up-icon> </view> <text class="item-id">瀹㈡埛锛歿{ item.customerName }}</text> - </view> - <view class="visit-status"> - <!-- 鏇挎崲鏍囩鍜屾寜閽� --> - <template> - <u-tag type="success">宸插畬鎴�</u-tag> - - <!-- 鎿嶄綔鎸夐挳 --> - <view class="action-buttons"> - <u-button - type="primary" - size="small" - class="action-btn" - @click="openDetail(item)" - > - 鏌ョ湅璇︽儏 - </u-button> - <u-button - type="warning" - size="small" - class="action-btn" - @click="editVisit(item)" - > - 缂栬緫 - </u-button> - </view> - </template> </view> </view> <up-divider></up-divider> @@ -98,18 +72,9 @@ type="primary" size="small" class="action-btn" - @click="viewDetail(item.id)" + @click="viewDetail(item)" > 鏌ョ湅璇︽儏 - </u-button> - <u-button - type="error" - size="small" - plain - class="action-btn" - @click="deleteRecord(item.id)" - > - 鍒犻櫎 </u-button> </view> </view> @@ -131,7 +96,7 @@ import { ref, onMounted } from 'vue' import { onShow } from '@dcloudio/uni-app' import PageHeader from '@/components/PageHeader.vue' -import { getVisitRecords, deleteVisitRecord } from '@/api/cooperativeOffice/clientVisit' +import { getVisitRecords } from '@/api/cooperativeOffice/clientVisit' import useUserStore from "@/store/modules/user" // 鏇挎崲 toast 鏂规硶 defineOptions({name: 'client-visit-index'}) @@ -157,19 +122,13 @@ uni.navigateBack() } -// 鏍煎紡鍖栨棩鏈熸椂闂� -const formatDateTime = (dateStr) => { - if (!dateStr) return '' - return dayjs(dateStr).format("YYYY-MM-DD HH:mm") -} - // 鏌ヨ鍒楄〃 const getList = () => { showLoadingToast('鍔犺浇涓�...') const params = { current: -1, size: -1, - customerName: customerName.value || undefined, + customerName: customerName.value, } getVisitRecords(params) .then((res) => { @@ -203,29 +162,11 @@ } // 鏌ョ湅璇︽儏 -const viewDetail = (id) => { - if (!id) return +const viewDetail = (item) => { + uni.setStorageSync('clientVisit', item) + // 鏌ョ湅璇︽儏璺宠浆鍒板彧璇诲睍绀洪〉闈� uni.navigateTo({ - url: `/pages/cooperativeOffice/clientVisit/detail?id=${id}` - }) -} - -// 鍒犻櫎璁板綍 -const deleteRecord = async (id) => { - if (!id) return - uni.showModal({ - title: '鎻愮ず', - content: '姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ嫓璁胯褰�, 鏄惁缁х画?', - success: async (res) => { - if (!res.confirm) return - try { - await deleteVisitRecord(id) - showToast('鍒犻櫎鎴愬姛') - getList() - } catch (e) { - showToast('鍒犻櫎澶辫触') - } - } + url: '/pages/cooperativeOffice/clientVisit/view' }) } @@ -239,167 +180,35 @@ </script> <style scoped lang="scss"> -.u-divider { - margin: 0 !important; -} +@import "../../../styles/sales-common.scss"; -.client-visit-list { +// 椤甸潰鐗瑰畾鐨勬牱寮忚鐩� +.sales-accoun { 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; -} - -.visit-list { - padding: 20px; -} - -.visit-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: #667eea; - border-radius: 4px; - display: flex; - align-items: center; - justify-content: center; + background: #667eea; // 淇濇寔椤甸潰鐗规湁鐨勮儗鏅壊 } -.item-id { - font-size: 14px; - color: #333; - font-weight: 500; -} - +// 鐗规湁鏍峰紡 .visit-status { display: flex; align-items: center; } -.item-details { - padding: 16px 0; -} - -.detail-row { - display: flex; - align-items: flex-start; - 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; - word-break: break-all; + word-break: break-all; // 淇濈暀椤甸潰鐗规湁鐨勬枃鏈崲琛屾牱寮� } -.no-data { - padding: 40px 0; - text-align: center; - color: #999; -} - -.action-buttons { - display: flex; - gap: 12px; - padding: 0 0 16px 0; - justify-content: space-between; -} - -.action-btn { - flex: 1; -} - +// 鐗瑰畾鐨勬诞鍔ㄦ寜閽牱寮� .fab-button { - position: fixed; - bottom: calc(30px + env(safe-area-inset-bottom)); - right: 30px; - width: 56px; - height: 56px; - background: #667eea; - border-radius: 50%; - display: flex; - align-items: center; - justify-content: center; - box-shadow: 0 4px 16px rgba(102, 126, 234, 0.3); - z-index: 1000; + background: #667eea; // 淇濇寔椤甸潰鐗规湁鐨勮儗鏅壊 + box-shadow: 0 4px 16px rgba(102, 126, 234, 0.3); // 淇濇寔椤甸潰鐗规湁鐨勯槾褰辨晥鏋� } </style> -- Gitblit v1.9.3