寺庙建制和对应捐款记录界面开发
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" : {
|
"mp-weixin" : {
|
||||||
"libVersion" : "latest",
|
"libVersion" : "latest",
|
||||||
"appid" : "wx58ed81cb59afda38",
|
"appid" : "wx38be729b2bb6de33",
|
||||||
"setting" : {
|
"setting" : {
|
||||||
"urlCheck" : false,
|
"urlCheck" : false,
|
||||||
"es6" : true,
|
"es6" : true,
|
||||||
|
|
|
||||||
|
|
@ -19,8 +19,8 @@
|
||||||
|
|
||||||
<!-- 项目描述 -->
|
<!-- 项目描述 -->
|
||||||
<view class="project-info">
|
<view class="project-info">
|
||||||
<text class="project-title">始建"乾峰寺"(初建)</text>
|
<text class="project-title">{{ projectInfo.proName || '加载中...' }}</text>
|
||||||
<text class="project-desc">天王殿为"三门"内第一殿,正中供奉弥勒菩萨,弥勒菩萨背后供奉韦驮菩萨,东西两侧为四大天王。面阔五间,采用歇山式重檐建筑,装饰剪瓷,具有浓厚的南方特色,使殿堂显得极其庄严肃穆。四大天王像于1981年重塑时,采用国家级"非遗"漆线雕工艺装饰。此殿于1925年重修,2020年重建。</text>
|
<text class="project-desc">{{ projectInfo.proProfile || '暂无描述' }}</text>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 捐款统计区域 -->
|
<!-- 捐款统计区域 -->
|
||||||
|
|
@ -74,6 +74,7 @@ import CommonEnum from "../../enum/common";
|
||||||
import StatusDisplay from "../../components/status-display/status-display.vue";
|
import StatusDisplay from "../../components/status-display/status-display.vue";
|
||||||
import SearchBox from "../../components/search-box/search-box.vue";
|
import SearchBox from "../../components/search-box/search-box.vue";
|
||||||
import { getDonorList } from '@/api/donor/donor.js';
|
import { getDonorList } from '@/api/donor/donor.js';
|
||||||
|
import { getInstitutionalDetail } from '@/api/institutionalStructure/institutionalStructureDetail.js';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
|
|
@ -89,6 +90,7 @@ export default {
|
||||||
searchKeyword: '',
|
searchKeyword: '',
|
||||||
donationList: [],
|
donationList: [],
|
||||||
formedId: '', // 建制ID
|
formedId: '', // 建制ID
|
||||||
|
projectInfo: {}, // 项目信息
|
||||||
// 分页参数
|
// 分页参数
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
|
|
@ -96,13 +98,13 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
// 计算总造价(所有捐款金额的总和)
|
// 计算总造价(从项目详情获取,如果没有则计算捐款总和)
|
||||||
totalAmount() {
|
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() {
|
participantCount() {
|
||||||
return this.donationList.length
|
return this.projectInfo.donorCount || this.donationList.length
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onLoad(options) {
|
onLoad(options) {
|
||||||
|
|
@ -111,6 +113,7 @@ export default {
|
||||||
this.formedId = options.formedId
|
this.formedId = options.formedId
|
||||||
}
|
}
|
||||||
// 页面加载时获取数据
|
// 页面加载时获取数据
|
||||||
|
this.loadProjectInfo()
|
||||||
this.loadDonationRecords()
|
this.loadDonationRecords()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|
@ -124,6 +127,35 @@ export default {
|
||||||
// 筛选逻辑
|
// 筛选逻辑
|
||||||
uni.showToast({ title: '筛选功能开发中', icon: 'none' })
|
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
|
// 获取捐款记录API
|
||||||
async loadDonationRecords(keyword = '') {
|
async loadDonationRecords(keyword = '') {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user