修改获取建制接口

This commit is contained in:
WindowBird 2025-08-27 17:33:10 +08:00
parent a463bdde89
commit 8f1d5ff473
3 changed files with 133 additions and 147 deletions

View File

@ -1,5 +1,5 @@
// 建制相关API
import { get, post, put, del } from '@/utils/request'
import { del, get, post, put } from "@/utils/request";
/**
* 获取建制数据列表
@ -14,11 +14,12 @@ export function getInstitutionalList(params = {}) {
const defaultParams = {
pageNum: 1,
pageSize: 10,
orderByColumn: 'createTime',
isAsc: 'descending',
}
orderByColumn: "createTime",
isAsc: "descending",
states: "",
};
return get('/app/formed/listFormed', { ...defaultParams, ...params })
return get("/app/formed/listFormed", { ...defaultParams, ...params });
}
/**
@ -27,7 +28,7 @@ export function getInstitutionalList(params = {}) {
* @returns {Promise} 返回建制详情
*/
export function getInstitutionalDetail(id) {
return get(`/app/formed/getFormed/${id}`)
return get(`/app/formed/getFormed/${id}`);
}
/**
@ -36,7 +37,7 @@ export function getInstitutionalDetail(id) {
* @returns {Promise} 返回创建结果
*/
export function createInstitutional(data) {
return post('/app/formed/createFormed', data)
return post("/app/formed/createFormed", data);
}
/**
@ -45,7 +46,7 @@ export function createInstitutional(data) {
* @returns {Promise} 返回更新结果
*/
export function updateInstitutional(data) {
return put('/app/formed/updateFormed', data)
return put("/app/formed/updateFormed", data);
}
/**
@ -54,5 +55,5 @@ export function updateInstitutional(data) {
* @returns {Promise} 返回删除结果
*/
export function deleteInstitutional(id) {
return del(`/app/formed/deleteFormed/${id}`)
return del(`/app/formed/deleteFormed/${id}`);
}

View File

@ -2,59 +2,60 @@
<view class="page">
<custom-navbar ref="customNavbar" title="基础页面" />
<tile-grid />
<view class="header" :style="{ backgroundColor: CommonEnum.BASE_COLOR }">
<view :style="{ backgroundColor: CommonEnum.BASE_COLOR }" class="header">
<!-- 状态展示 -->
<status-display v-if="loading" type="loading" loading-text="加载中..." />
<status-display v-if="loading" loading-text="加载中..." type="loading" />
<!-- 页面内容将在这里添加 -->
</view>
</view>
</template>
<script>
import CommonEnum from '../../enum/common'
import CommonEnum from "../../enum/common";
export default {
components: {},
data() {
return {
CommonEnum,
loading: false,
}
};
},
onLoad() {
//
this.loadPageData()
this.loadPageData();
},
methods: {
//
async loadPageData() {
this.loading = true
this.loading = true;
try {
// TODO: API
// const response = await getPageData()
//
setTimeout(() => {
this.loading = false
}, 1000)
this.loading = false;
}, 1000);
} catch (error) {
console.error('获取页面数据失败:', error)
this.loading = false
console.error("获取页面数据失败:", error);
this.loading = false;
}
},
},
}
};
</script>
<style lang="scss" scoped>
.page {
background: #f5f0e7;
}
.header {
width: 100%;
//min-height: 100vh;//
display: flex;
align-items: flex-start;
flex-direction: column;
padding: 0 15rpx;
padding-bottom: 40rpx;
padding: 0 15rpx 40rpx;
}
</style>

View File

@ -4,19 +4,19 @@
<tile-grid />
<view class="header">
<!-- 状态展示 -->
<status-display v-if="loading" type="loading" loading-text="加载中..." />
<status-display v-if="loading" loading-text="加载中..." type="loading" />
<status-display
v-else-if="institutionalData.length === 0"
type="empty"
empty-text="暂无数据"
type="empty"
/>
<!-- 数据列表 -->
<institutional-item
v-else
v-for="(item, index) in institutionalData"
v-else
:key="index"
:item="item"
:index="index"
:item="item"
@view-detail="handleViewDetail"
/>
</view>
@ -24,14 +24,14 @@
</template>
<script>
import { getInstitutionalList } from '@/api/institutionalStructure/institutionalStructure.js'
import CustomNavbar from '../../components/custom-navbar/custom-navbar.vue'
import TileGrid from '../../components/tile-grid/tile-grid.vue'
import InstitutionalItem from './components/institutional-item.vue'
import StatusDisplay from '../../components/status-display/status-display.vue'
import { InstitutionalDataFormatter } from './utils/data-formatter.js'
import { dataManagerMixin } from './mixins/data-manager.js'
import CommonEnum from '../../enum/common'
import { getInstitutionalList } from "@/api/institutionalStructure/institutionalStructure.js";
import CustomNavbar from "../../components/custom-navbar/custom-navbar.vue";
import TileGrid from "../../components/tile-grid/tile-grid.vue";
import InstitutionalItem from "./components/institutional-item.vue";
import StatusDisplay from "../../components/status-display/status-display.vue";
import { InstitutionalDataFormatter } from "./utils/data-formatter.js";
import { dataManagerMixin } from "./mixins/data-manager.js";
import CommonEnum from "../../enum/common";
export default {
mixins: [dataManagerMixin],
@ -49,71 +49,55 @@
},
//
institutionalData: [],
}
pageStatus: "",
};
},
onLoad() {
//
this.getInstitutionalData()
this.getInstitutionalData();
},
methods: {
//
async getInstitutionalData(isLoadMore = false) {
console.log('开始获取建制数据, isLoadMore:', isLoadMore)
async getInstitutionalData() {
const res = await getInstitutionalList(this.pageStatus);
const rawData = res.rows;
this.institutionalData =
InstitutionalDataFormatter.transformData(rawData);
try {
if (isLoadMore) {
await this.loadMoreData({
apiCall: getInstitutionalList,
dataTransformer: InstitutionalDataFormatter.transformData,
onSuccess: (data, response) => {
console.log('建制数据加载更多成功:', data.length, '条')
this.institutionalData = this.dataList
},
})
} else {
await this.refreshData({
apiCall: getInstitutionalList,
dataTransformer: InstitutionalDataFormatter.transformData,
onSuccess: (data, response) => {
console.log('建制数据刷新成功:', data.length, '条')
this.institutionalData = this.dataList
},
})
}
console.log('建制数据已更新, 数量:', this.institutionalData.length)
console.log("建制数据已更新, 数量:", this.institutionalData.length);
} catch (error) {
console.error('获取建制数据失败:', error)
console.error("获取建制数据失败:", error);
uni.showToast({
title: '获取数据失败',
icon: 'none',
})
title: "获取数据失败",
icon: "none",
});
}
},
//
handleViewDetail(data) {
console.log('查看详细:', data.item)
console.log("查看详细:", data.item);
// ID
uni.navigateTo({
url: `/pages/institutionalStructure/donationRecord?formedId=${data.item.formedId}`,
fail: err => {
console.error('跳转失败:', err)
fail: (err) => {
console.error("跳转失败:", err);
uni.showToast({
title: '页面跳转失败',
icon: 'none',
})
title: "页面跳转失败",
icon: "none",
});
},
})
});
},
},
}
};
</script>
<style lang="scss">
page {
background: #f5f0e7;
}
.header {
width: 100%;
min-height: 100vh;