From 8b31f835b10a7ef5efb78b4fbc8356fd45a08216 Mon Sep 17 00:00:00 2001 From: minimaxagent1 Date: Fri, 1 Aug 2025 15:06:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=BA=E5=BA=99=E5=BB=BA=E5=88=B6=E5=92=8C?= =?UTF-8?q?=E5=AF=B9=E5=BA=94=E6=8D=90=E6=AC=BE=E8=AE=B0=E5=BD=95=E7=95=8C?= =?UTF-8?q?=E9=9D=A2=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../institutionalStructureDetail.js | 54 +++++++++++++++++++ manifest.json | 2 +- .../institutionalStructure/donationRecord.vue | 44 ++++++++++++--- 3 files changed, 93 insertions(+), 7 deletions(-) create mode 100644 api/institutionalStructure/institutionalStructureDetail.js diff --git a/api/institutionalStructure/institutionalStructureDetail.js b/api/institutionalStructure/institutionalStructureDetail.js new file mode 100644 index 0000000..5eb85b4 --- /dev/null +++ b/api/institutionalStructure/institutionalStructureDetail.js @@ -0,0 +1,54 @@ +// 建制详情相关API +import { request } from '@/utils/request' + +/** + * 获取建制详情 + * @param {string} formedId - 建制ID + * @returns {Promise} 返回建制详情 + */ +export function getInstitutionalDetail(formedId) { + return request({ + url: '/app/formed/formedDetail', + method: 'GET', + params: { + formedId: formedId + } + }) +} + +/** + * 获取建制详情(通过路径参数) + * @param {string} id - 建制ID + * @returns {Promise} 返回建制详情 + */ +export function getInstitutionalDetailById(id) { + return request({ + url: `/app/formed/getFormed/${id}`, + method: 'GET' + }) +} + +/** + * 更新建制详情 + * @param {Object} data - 建制详情数据 + * @returns {Promise} 返回更新结果 + */ +export function updateInstitutionalDetail(data) { + return request({ + url: '/app/formed/updateFormed', + method: 'PUT', + data + }) +} + +/** + * 删除建制详情 + * @param {string} id - 建制ID + * @returns {Promise} 返回删除结果 + */ +export function deleteInstitutionalDetail(id) { + return request({ + url: `/app/formed/deleteFormed/${id}`, + method: 'DELETE' + }) +} diff --git a/manifest.json b/manifest.json index 52bab03..bfc3bc0 100644 --- a/manifest.json +++ b/manifest.json @@ -51,7 +51,7 @@ /* 小程序特有相关 */ "mp-weixin" : { "libVersion" : "latest", - "appid" : "wx58ed81cb59afda38", + "appid" : "wx38be729b2bb6de33", "setting" : { "urlCheck" : false, "es6" : true, diff --git a/pages/institutionalStructure/donationRecord.vue b/pages/institutionalStructure/donationRecord.vue index 2fe3cf6..365bc15 100644 --- a/pages/institutionalStructure/donationRecord.vue +++ b/pages/institutionalStructure/donationRecord.vue @@ -19,8 +19,8 @@ - 始建"乾峰寺"(初建) - 天王殿为"三门"内第一殿,正中供奉弥勒菩萨,弥勒菩萨背后供奉韦驮菩萨,东西两侧为四大天王。面阔五间,采用歇山式重檐建筑,装饰剪瓷,具有浓厚的南方特色,使殿堂显得极其庄严肃穆。四大天王像于1981年重塑时,采用国家级"非遗"漆线雕工艺装饰。此殿于1925年重修,2020年重建。 + {{ projectInfo.proName || '加载中...' }} + {{ projectInfo.proProfile || '暂无描述' }} @@ -74,6 +74,7 @@ import CommonEnum from "../../enum/common"; import StatusDisplay from "../../components/status-display/status-display.vue"; import SearchBox from "../../components/search-box/search-box.vue"; import { getDonorList } from '@/api/donor/donor.js'; +import { getInstitutionalDetail } from '@/api/institutionalStructure/institutionalStructureDetail.js'; export default { components: { @@ -89,6 +90,7 @@ export default { searchKeyword: '', donationList: [], formedId: '', // 建制ID + projectInfo: {}, // 项目信息 // 分页参数 pageNum: 1, pageSize: 10, @@ -96,13 +98,13 @@ export default { } }, computed: { - // 计算总造价(所有捐款金额的总和) + // 计算总造价(从项目详情获取,如果没有则计算捐款总和) totalAmount() { - return this.donationList.reduce((sum, item) => sum + item.amount, 0) + return this.projectInfo.totalAmount || this.donationList.reduce((sum, item) => sum + item.amount, 0) }, - // 计算参与捐款人次(捐款记录的数量) + // 计算参与捐款人次(从项目详情获取,如果没有则计算捐款记录数量) participantCount() { - return this.donationList.length + return this.projectInfo.donorCount || this.donationList.length } }, onLoad(options) { @@ -111,6 +113,7 @@ export default { this.formedId = options.formedId } // 页面加载时获取数据 + this.loadProjectInfo() this.loadDonationRecords() }, methods: { @@ -124,6 +127,35 @@ export default { // 筛选逻辑 uni.showToast({ title: '筛选功能开发中', icon: 'none' }) }, + + // 获取项目详情 + async loadProjectInfo() { + if (!this.formedId) { + console.error('缺少项目ID') + return + } + + try { + const response = await getInstitutionalDetail(this.formedId) + + if (response.code === 200) { + this.projectInfo = response.data + console.log('项目信息:', this.projectInfo) + } else { + console.error('获取项目信息失败:', response.msg) + uni.showToast({ + title: response.msg || '获取项目信息失败', + icon: 'none' + }) + } + } catch (error) { + console.error('获取项目信息失败:', error) + uni.showToast({ + title: '网络错误', + icon: 'none' + }) + } + }, // 获取捐款记录API async loadDonationRecords(keyword = '') { this.loading = true