From 8c1c8478382954629b5f46f1dab49331186366b4 Mon Sep 17 00:00:00 2001
From: xy <271556543@qq.com>
Date: Mon, 3 Mar 2025 17:35:16 +0800
Subject: [PATCH] init
---
common/http.api.js | 9 +-
.../IndependentRecruitment.vue | 17 ++++
package_sub/pages/SchoolCount/SchoolCount.vue | 65 ++++++------
package_sub/pages/TargetCount/TargetCount.vue | 98 ++++++++++++++-----
pages.json | 7 ++
pages/list/list.vue | 59 ++++++-----
pages/me/me.vue | 2 +-
7 files changed, 171 insertions(+), 86 deletions(-)
create mode 100644 package_sub/pages/IndependentRecruitment/IndependentRecruitment.vue
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 @@
getList(true), 1000)"
>
@@ -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 @@
-
-
-
-
-
- 填报时间:2025-02-06 18:00
+
+
+
+
+
+
+ 填报时间:2025-02-06 18:00
+
+
+ 规划师已查看
+
-
- 规划师已查看
-
-
-
-
- 所属区域:吴中区
+
+
+ 所属区域:吴中区
+
+
+ 填报年份:2025年
+
-
- 填报年份:2025年
-
-
-
-
-
-
+
+
+
+
+ 请先登录
+
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 @@
-
+
自主招生