寺庙建制和对应捐款记录界面开发
This commit is contained in:
parent
6720f4358e
commit
8b31f835b1
54
api/institutionalStructure/institutionalStructureDetail.js
Normal file
54
api/institutionalStructure/institutionalStructureDetail.js
Normal file
|
|
@ -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'
|
||||
})
|
||||
}
|
||||
|
|
@ -51,7 +51,7 @@
|
|||
/* 小程序特有相关 */
|
||||
"mp-weixin" : {
|
||||
"libVersion" : "latest",
|
||||
"appid" : "wx58ed81cb59afda38",
|
||||
"appid" : "wx38be729b2bb6de33",
|
||||
"setting" : {
|
||||
"urlCheck" : false,
|
||||
"es6" : true,
|
||||
|
|
|
|||
|
|
@ -19,8 +19,8 @@
|
|||
|
||||
<!-- 项目描述 -->
|
||||
<view class="project-info">
|
||||
<text class="project-title">始建"乾峰寺"(初建)</text>
|
||||
<text class="project-desc">天王殿为"三门"内第一殿,正中供奉弥勒菩萨,弥勒菩萨背后供奉韦驮菩萨,东西两侧为四大天王。面阔五间,采用歇山式重檐建筑,装饰剪瓷,具有浓厚的南方特色,使殿堂显得极其庄严肃穆。四大天王像于1981年重塑时,采用国家级"非遗"漆线雕工艺装饰。此殿于1925年重修,2020年重建。</text>
|
||||
<text class="project-title">{{ projectInfo.proName || '加载中...' }}</text>
|
||||
<text class="project-desc">{{ projectInfo.proProfile || '暂无描述' }}</text>
|
||||
</view>
|
||||
|
||||
<!-- 捐款统计区域 -->
|
||||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user