diff --git a/common/http.api.js b/common/http.api.js index ab43b08..aae51fd 100644 --- a/common/http.api.js +++ b/common/http.api.js @@ -4,6 +4,9 @@ let apiApp = { schoolDetail: '/api/mobile/school/detail', area: '/api/mobile/school/area', score: '/api/mobile/school/score', + middleSchoolIndicatorList: '/api/mobile/school/middle-school-indicator', + middleSchoolIndicatorDetail: '/api/mobile/school/middle-school-indicator-detail', + } const apiUser = { appletLogin: '/api/mobile/user/applet-login', @@ -32,6 +35,8 @@ const install = (Vue, vm) => { const schoolDetail = (params = {}) => vm.$u.get(apiApp.schoolDetail, params) const area = (params = {}) => vm.$u.get(apiApp.area, params) const score = (params = {}) => vm.$u.get(apiApp.score, params) + const middleSchoolIndicatorList = (params = {}) => vm.$u.get(apiApp.middleSchoolIndicatorList, params) + const middleSchoolIndicatorDetail = (params = {}) => vm.$u.get(apiApp.middleSchoolIndicatorDetail, params) // 将各个定义的接口名称,统一放进对象挂载到vm.$u.api(因为vm就是this,也即this.$u.api)下 vm.$u.api = { // 用户相关 @@ -46,7 +51,9 @@ const install = (Vue, vm) => { schoolList, schoolDetail, area, - score + score, + middleSchoolIndicatorList, + middleSchoolIndicatorDetail, }; } diff --git a/package_sub/pages/IndependentRecruitment/IndependentRecruitment.vue b/package_sub/pages/IndependentRecruitment/IndependentRecruitment.vue new file mode 100644 index 0000000..342846f --- /dev/null +++ b/package_sub/pages/IndependentRecruitment/IndependentRecruitment.vue @@ -0,0 +1,17 @@ + + + + + diff --git a/package_sub/pages/SchoolCount/SchoolCount.vue b/package_sub/pages/SchoolCount/SchoolCount.vue index c97b09d..73e0f16 100644 --- a/package_sub/pages/SchoolCount/SchoolCount.vue +++ b/package_sub/pages/SchoolCount/SchoolCount.vue @@ -32,6 +32,7 @@ @confirm="({ year }) => { select.year = year closeDropdown() + changeYear() }" > @@ -45,15 +46,14 @@ - {{ item.school }} - {{ item.count }} + {{ item.name }} + {{ item.total }} - @@ -63,34 +63,37 @@ export default { return { defaultTime: '', select: { - keyword: "", year: new Date().getFullYear().toString(), - area_id: "", + school_id: "", }, scrollTop: 0, - tableData: [ - { school: "苏州中学园区", count: "680" }, - { school: "苏州中学园区", count: "142" }, - { school: "苏州中学园区", count: "959" }, - // ... 其他数据 - ], - options1: [ - { - label: "默认排序", - value: 1, - }, - { - label: "距离优先", - value: 2, - }, - { - label: "价格优先", - value: 3, - }, - ], + detail: {}, + details: [] }; }, methods: { + async changeYear() { + try { + const { list } = await this.$u.api.middleSchoolIndicatorList(this.select) + this.details = list.data.map(i => i.details || [])?.flat() + } catch (err) { + console.error(err) + } + }, + async getDetail(id) { + try { + const { list } = await this.$u.api.middleSchoolIndicatorDetail({ + id + }) + const { school_id, year } = list + this.select.year = year + this.select.school_id = school_id + this.detail = list + this.details = this.detail.details + } catch (err) { + console.error(err) + } + }, closeDropdown() { this.$refs.uDropdown.close(); } @@ -98,8 +101,10 @@ export default { onReady() { this.defaultTime = this.$moment().format('YYYY-MM-DD HH:mm:ss') }, - onPageScroll(e) { - this.scrollTop = e.scrollTop; + onLoad(options) { + if (options.id) { + this.getDetail(options.id) + } }, }; @@ -164,7 +169,7 @@ export default { &__header-item, &__row-item { - flex-basis: calc(100% / 3); + flex-basis: calc(100% / 2); text-align: center; } diff --git a/package_sub/pages/TargetCount/TargetCount.vue b/package_sub/pages/TargetCount/TargetCount.vue index 3575fe3..8fcc4c3 100644 --- a/package_sub/pages/TargetCount/TargetCount.vue +++ b/package_sub/pages/TargetCount/TargetCount.vue @@ -3,10 +3,11 @@ @@ -32,6 +33,7 @@ @confirm="({ year }) => { select.year = year closeDropdown() + getList(true) }" > @@ -39,7 +41,8 @@ @@ -51,21 +54,25 @@ - {{ item.school }} - {{ item.count }} + {{ item.school ? item.school.name : '' }} + {{ item.total || '-' }} + @@ -76,44 +83,81 @@ export default { return { defaultTime: '', select: { - keyword: "", + page: 1, + page_size: 10, + school_name: "", year: new Date().getFullYear().toString(), area_id: "", }, scrollTop: 0, - tableData: [ - { school: "苏州中学园区", count: "680" }, - { school: "苏州中学园区", count: "142" }, - { school: "苏州中学园区", count: "959" }, - // ... 其他数据 - ], - options1: [ - { - label: "默认排序", - value: 1, - }, - { - label: "距离优先", - value: 2, - }, - { - label: "价格优先", - value: 3, - }, - ], + list: [], + areaList: [], + loadStatus: 'loadmore', }; }, methods: { closeDropdown() { this.$refs.uDropdown.close(); + }, + async getArea() { + try { + const res = await this.$u.api.area() + this.areaList = [{ + label: '全部', + value: '' + },...res.list.map(i => ({ + label: i.name, + value: i.id + }))] + } catch (err) { + console.error(err) + } + }, + async getList(isRefresh=false) { + if (isRefresh) { + this.select.page = 1; + this.loadStatus = 'loadmore' + } + if (this.loadStatus === 'nomore') return + try { + this.loadStatus = 'loading' + const { list: res } = await this.$u.api.middleSchoolIndicatorList(this.select); + console.log(res); + this.total = res.total; + if (isRefresh) { + this.list.length = 0; + } + this.list.push(...res.data) + if (this.list.length >= res.total) { + this.loadStatus = 'nomore' + } else { + this.select.page++; + this.loadStatus = 'loadmore' + } + } catch (err) { + console.error(err); + this.loadStatus = 'loadmore' + } finally { + uni.stopPullDownRefresh() + } } }, onReady() { this.defaultTime = this.$moment().format('YYYY-MM-DD HH:mm:ss') }, + onPullDownRefresh() { + this.getList(true) + }, onPageScroll(e) { this.scrollTop = e.scrollTop; }, + created() { + this.getArea() + this.getList(true) + }, + onReachBottom() { + this.getList() + }, }; diff --git a/pages.json b/pages.json index 58d99eb..d867565 100644 --- a/pages.json +++ b/pages.json @@ -81,6 +81,13 @@ "navigationBarTitleText": "我的模拟填报", "enablePullDownRefresh": true } + }, + { + "path": "pages/IndependentRecruitment/IndependentRecruitment", + "style": { + "navigationBarTitleText": "自主招生志愿填报", + "enablePullDownRefresh": true + } } ] } diff --git a/pages/list/list.vue b/pages/list/list.vue index b9d2a4c..ed80ca0 100644 --- a/pages/list/list.vue +++ b/pages/list/list.vue @@ -1,32 +1,33 @@ diff --git a/pages/me/me.vue b/pages/me/me.vue index bc3ae1c..1f1c2a0 100644 --- a/pages/me/me.vue +++ b/pages/me/me.vue @@ -19,7 +19,7 @@ - + 自主招生