From 7ff67bff3b4ac5e503ca4291f03eee1ac213fd33 Mon Sep 17 00:00:00 2001
From: ZN <zhang_12370@163.com>
Date: 星期四, 26 三月 2026 16:33:36 +0800
Subject: [PATCH] refactor(financial): 简化收支借款管理页面并移除编辑功能

---
 src/pages/financialManagement/loanManagement/index.vue |  130 +++----------------------------------------
 1 files changed, 9 insertions(+), 121 deletions(-)

diff --git a/src/pages/financialManagement/loanManagement/index.vue b/src/pages/financialManagement/loanManagement/index.vue
index 5383b9c..63877e2 100644
--- a/src/pages/financialManagement/loanManagement/index.vue
+++ b/src/pages/financialManagement/loanManagement/index.vue
@@ -4,22 +4,11 @@
     <view class="search-section">
       <view class="search-bar">
         <view class="search-input">
-          <up-input v-model="filters.borrowerName" placeholder="鍊熸浜哄鍚�" clearable />
+          <up-input class="search-text" placeholder="璇疯緭鍏ュ鎴峰悕绉版悳绱�" v-model="searchForm.borrowerName" clearable />
         </view>
-        <view class="search-input">
-          <uni-datetime-picker type="daterange" v-model="filters.borrowDate" @change="onDateChange" />
+        <view class="filter-button" @click="handleQuery">
+          <up-icon name="search" size="24" color="#999"></up-icon>
         </view>
-        <view class="search-input">
-          <up-picker :columns="[statusOptions]" key-name="label" v-model="statusIndex" @confirm="onStatusConfirm">
-            <up-input readonly :value="statusLabel" placeholder="鍊熸鐘舵��" />
-          </up-picker>
-        </view>
-        <view class="filter-button" @click="getList">
-          <up-icon name="search" size="24" color="#999" />
-        </view>
-      </view>
-    <view class="actions">
-        <u-button type="primary" size="small" @click="goAdd">鏂板</u-button>
       </view>
     </view>
     <view class="ledger-list" v-if="list.length>0">
@@ -41,103 +30,33 @@
           <view class="detail-row"><text class="detail-label">瀹為檯杩樻鏃ユ湡</text><text class="detail-value">{{ item.repayDate || '--' }}</text></view>
           <view class="detail-row"><text class="detail-label">澶囨敞</text><text class="detail-value">{{ item.remark || '--' }}</text></view>
         </view>
-        <view class="card-actions">
-          <u-button size="small" @click="goEdit(item)">缂栬緫</u-button>
-          <u-button size="small" type="warning" @click="goRepay(item)" :disabled="item.status!==1">杩樻</u-button>
-          <u-button size="small" type="error" @click="confirmDelete(item)">鍒犻櫎</u-button>
-        </view>
       </view>
     </view>
     <view class="no-data" v-else><text>鏆傛棤鏁版嵁</text></view>
-
-    <up-popup :show="formShow" mode="bottom" @close="closeForm">
-      <view class="popup">
-        <view class="popup-header">{{ formMode==='add'?'鏂板鍊熸': formMode==='repay'?'杩樻':'缂栬緫鍊熸' }}</view>
-        <up-form :model="form" :rules="rules" ref="formRef">
-          <up-form-item label="鍊熸浜哄鍚�" prop="borrowerName">
-            <up-input v-model="form.borrowerName" placeholder="璇疯緭鍏�" />
-          </up-form-item>
-          <up-form-item label="鍊熸閲戦" prop="borrowAmount">
-            <up-input type="number" v-model="form.borrowAmount" placeholder="璇疯緭鍏�" />
-          </up-form-item>
-          <up-form-item label="鍊熸鍒╃巼(%)" prop="interestRate">
-            <up-input type="number" v-model="form.interestRate" placeholder="渚嬪 5.85" />
-          </up-form-item>
-          <up-form-item label="鍊熸鏃ユ湡" prop="borrowDate">
-            <uni-datetime-picker type="date" v-model="form.borrowDate" />
-          </up-form-item>
-          <up-form-item v-if="formMode==='repay'" label="瀹為檯杩樻鏃ユ湡" prop="repayDate">
-            <uni-datetime-picker type="date" v-model="form.repayDate" />
-          </up-form-item>
-          <up-form-item label="澶囨敞" prop="remark">
-            <up-textarea v-model="form.remark" autoHeight />
-          </up-form-item>
-        </up-form>
-        <view class="popup-actions">
-          <u-button @click="closeForm">鍙栨秷</u-button>
-          <u-button type="primary" @click="submitForm">淇濆瓨</u-button>
-        </view>
-      </view>
-    </up-popup>
   </view>
 </template>
 
 <script setup>
 import { ref, reactive } from "vue";
 import { onShow } from "@dcloudio/uni-app";
-import { listPage, delAccountLoan } from "@/api/financialManagement/loanManagement";
+import { listPage } from "@/api/financialManagement/loanManagement";
 
 const list = ref([]);
-const filters = reactive({ borrowerName: "", borrowDate: null, entryDateStart: undefined, entryDateEnd: undefined, status: undefined });
-const statusOptions = ref([{ label: "鍏ㄩ儴", value: undefined }, { label: "寰呰繕娆�", value: 1 }, { label: "宸茶繕娆�", value: 2 }]);
-const statusIndex = ref([0]);
-const statusLabel = ref("");
+const searchForm = reactive({ borrowerName: "", current: -1, size: -1 });
 
-const formShow = ref(false);
-const formMode = ref("add");
-const formRef = ref();
-const form = reactive({
-  id: undefined,
-  borrowerName: "",
-  borrowAmount: undefined,
-  interestRate: undefined,
-  borrowDate: undefined,
-  repayDate: undefined,
-  remark: "",
-  status: undefined,
-});
-const rules = {
-  borrowerName: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
-  borrowAmount: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
-  interestRate: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
-  borrowDate: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
-  repayDate: [{ validator: (_r, v, cb)=>{ if (formMode.value==='repay' && !v) return cb(new Error('璇烽�夋嫨')); cb(); }, trigger: "change" }],
-};
 
 const getList = () => {
-  const extra = {};
-  if (filters.entryDateStart && filters.entryDateEnd) {
-    extra.entryDateStart = filters.entryDateStart;
-    extra.entryDateEnd = filters.entryDateEnd;
-  }
-  if (filters.status) extra.status = filters.status;
-  listPage({ borrowerName: filters.borrowerName, ...extra, current: 1, size: 100 })
+  listPage({ ...searchForm, current: -1, size: -1 })  
     .then(res => {
       const records = res?.data?.records ?? res?.records ?? [];
       list.value = records;
     });
 };
 
-const onDateChange = (val) => {
-  if (val && val.length === 2) {
-    filters.entryDateStart = val[0];
-    filters.entryDateEnd = val[1];
-  } else {
-    filters.entryDateStart = undefined;
-    filters.entryDateEnd = undefined;
-  }
+const handleQuery = () => {
+  searchForm.current = 1;
+  getList();
 };
-
 const statusText = (s) => s===1?'寰呰繕娆�': s===2?'宸茶繕娆�':'';
 const statusType = (s) => s===1?'error': s===2?'success':'primary';
 const fmtAmount = (v) => {
@@ -148,37 +67,6 @@
   if (v===undefined || v===null || v==='') return '-';
   const n = parseFloat(v);
   return n.toFixed(2) + '%';
-};
-
-const goAdd = () => {
-  uni.navigateTo({ url: "/pages/financialManagement/loanManagement/edit?type=add" });
-};
-const goEdit = (row) => {
-  uni.navigateTo({ url: `/pages/financialManagement/loanManagement/edit?type=edit&id=${row.id}` });
-};
-const goRepay = (row) => {
-  uni.navigateTo({ url: `/pages/financialManagement/loanManagement/edit?type=repay&id=${row.id}` });
-};
-const confirmDelete = (row) => {
-  uni.showModal({
-    title: "鎻愮ず",
-    content: "纭鍒犻櫎璇ヨ褰曪紵",
-    success: async (r) => {
-      if (r.confirm) {
-        const ids = Array.isArray(row) ? row.map(i=>i.id) : [row.id];
-        const res = await delAccountLoan(ids);
-        if (res?.code === 200) getList();
-      }
-    },
-  });
-};
-
-const onStatusConfirm = (e) => {
-  const item = statusOptions.value[e.value[0]];
-  if (item) {
-    filters.status = item.value;
-    statusLabel.value = item.label || "";
-  }
 };
 
 const goBack = () => {

--
Gitblit v1.9.3