diff --git a/src/api/base/server.ts b/src/api/base/server.ts
index 4ea7670..bb21b53 100644
--- a/src/api/base/server.ts
+++ b/src/api/base/server.ts
@@ -19,3 +19,12 @@ export const xkXkqdApi = async (params: any) => {
export const kcjhFindKcjhByKcIdApi = async (params: any) => {
return await get("/api/kcjh/findKcjhByKcId", params);
};
+export const xkgzsApi = async (params: any) => {
+ return await get("/api/gzs/findPage", params);
+};
+export const xkxkbmInfoApi = async (params: any) => {
+ return await get("/mobile/xk/xkbmInfo", params);
+};
+export const xkqddeleteApi = async (params: any) => {
+ return await post("/api/xkqd/delete?ids=" + params.ids);
+};
diff --git a/src/config.ts b/src/config.ts
index 0170b30..27b7e0a 100644
--- a/src/config.ts
+++ b/src/config.ts
@@ -1,5 +1,5 @@
-// const ip: string = "119.29.194.155:8893";
-const ip: string = "yufangzc.com";
+const ip: string = "119.29.194.155:8893";
+// const ip: string = "yufangzc.com";
const fwqip: string = "yufangzc.com";
//打包服务器接口代理标识
const SERVERAGENT: string = "/jzd-api";
@@ -7,11 +7,11 @@ const SERVERAGENT: string = "/jzd-api";
export const HOMEAGENT: string = "";
// 接口地址
export const BASE_URL: string =
- process.env.NODE_ENV == "development" ? `https://${ip}/zhxy` : SERVERAGENT;
+ process.env.NODE_ENV == "development" ? `http://${ip}/zhxy` : SERVERAGENT;
// WebSocket地址
export const BASE_WS_URL: string = `wss://${ip}`;
//图片地址
-export const BASE_IMAGE_URL: string = process.env.NODE_ENV == "development" ? `https://${ip}` : `https://${fwqip}`;
+export const BASE_IMAGE_URL: string = process.env.NODE_ENV == "development" ? `http://${ip}` : `http://${fwqip}`;
//存token的key
export const AUTH_KEY: string = "satoken";
//token过期返回状态码
diff --git a/src/pages.json b/src/pages.json
index 6a8587a..f314304 100644
--- a/src/pages.json
+++ b/src/pages.json
@@ -215,6 +215,11 @@
"navigationBarTitleText": "uni-app",
"navigationBarBackgroundColor": "#fff",
"backgroundColor": "#F8F8F8",
- "orientation": "portrait"
+ "orientation": "portrait",
+ "navigationStyle": "custom",
+ "app-plus": {
+ "background": "#efeff4",
+ "titleView": false
+ }
}
}
diff --git a/src/pages/base/course-selection/club-selection copy.vue b/src/pages/base/course-selection/club-selection copy.vue
new file mode 100644
index 0000000..2fcf235
--- /dev/null
+++ b/src/pages/base/course-selection/club-selection copy.vue
@@ -0,0 +1,1026 @@
+
+
+
+
+
+
+
+
+
+
+ {{ course.kcmc }}
+
+ 报名情况:
+ {{ course.ybmr }}
+ | {{ course.maxNum }}
+
+ 详情
+
+
+
+
+
+
+
+
+
+
+
+ 暂无课程数据
+
+
+
+
+
+
+ 已选 {{ getSelectedCount }} 门课程
+
+ 点击报名
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ student.xm }}
+ {{ student.njmc }} {{ student.bjmc }}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/base/course-selection/club-selection.vue b/src/pages/base/course-selection/club-selection.vue
index 92b16f6..f9f7d57 100644
--- a/src/pages/base/course-selection/club-selection.vue
+++ b/src/pages/base/course-selection/club-selection.vue
@@ -97,10 +97,12 @@
-
- 已选 {{ getSelectedCount }} 门课程
+
+
+ 点击报名 (已选{{ selectedCoursesCount }}门)
+
+ 点击报名
- 点击报名
@@ -157,15 +159,26 @@
@@ -875,12 +957,6 @@ const getSelectedCount = computed(() => {
z-index: 10;
box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.05);
- .selected-count-info {
- font-size: 14px;
- color: #666;
- margin-bottom: 8px;
- }
-
.register-btn {
height: 50px;
line-height: 50px;
@@ -891,12 +967,6 @@ const getSelectedCount = computed(() => {
font-size: 16px;
font-weight: 500;
}
-
- .multi-select-tip {
- font-size: 12px;
- color: #909399;
- text-align: center;
- }
}
/* 学生选择器弹窗样式 */
diff --git a/src/pages/base/course-selection/enrolled.vue b/src/pages/base/course-selection/enrolled.vue
index 4fb6a61..daa32d6 100644
--- a/src/pages/base/course-selection/enrolled.vue
+++ b/src/pages/base/course-selection/enrolled.vue
@@ -31,73 +31,111 @@
-
+
- 已报名课程
+ 已报名课程 ({{ enrolledCourse.length }}门)
-
-
-
- {{ enrolledCourse.title }}
- 开课老师:{{ enrolledCourse.teacher }}
- 上课时间:{{ enrolledCourse.time }}
- 上课地点:{{ enrolledCourse.location }}
-
-
+
+
+
+
-
-
-
- 报名时间:
- {{ enrolledCourse.enrollDate }}
-
-
- 课程费用:
- ¥{{ enrolledCourse.fee }}
-
-
- 支付状态:
-
- {{ enrolledCourse.isPaid ? "已支付" : "未支付" }}
-
+
+
+
+
+ {{ item.teacher }}
+
+
+
+ {{ item.time }}
+
+
+
+
+
+
+ {{ item.location }}
+
+
+
+ {{ formatDate(item.enrollDate) }}
+
+
+
+
+
+
+
-
-
+
+
-
- 1. 课程一经报名成功,不可取消或更换;
- 2. 如有特殊情况需要请假,请提前与老师联系;
- 3. 请按时上课,迟到将影响学习效果。
+
+
+
+ 课程总数
+ {{ enrolledCourse.length }}门
+
+
+ 总费用
+ ¥{{ totalAmount }}
+
+
+ 待支付
+ ¥{{ totalAmount }}
+
- -->
+
-
-
-
+
+
+ 待支付:
+ ¥{{ totalAmount }}
+
+
+
+
@@ -106,110 +144,100 @@
@@ -217,6 +245,7 @@ onMounted(() => {
.enrolled-page {
background-color: #f5f7fa;
padding: 15px;
+ padding-bottom: 80px; /* 为底部固定按钮留出空间 */
}
.status-card {
@@ -310,72 +339,151 @@ onMounted(() => {
}
}
-.course-info {
- display: flex;
- margin-bottom: 15px;
+.course-list {
+ .course-item {
+ border-bottom: 1px solid #f0f0f0;
- .course-image {
- width: 100px;
- height: 100px;
- border-radius: 8px;
- margin-right: 15px;
- flex-shrink: 0;
- }
-
- .course-details {
- flex: 1;
-
- .course-name {
- font-size: 18px;
- font-weight: 500;
- color: #333;
- margin-bottom: 8px;
+ &.last-item {
+ border-bottom: none;
}
- .course-teacher,
- .course-time,
- .course-location {
- font-size: 14px;
- color: #666;
- margin-bottom: 5px;
+ .course-header {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin-bottom: 12px;
+
+ .course-name {
+ font-size: 16px;
+ font-weight: 500;
+ color: #333;
+ }
+
+ .course-fee {
+ font-size: 16px;
+ font-weight: 500;
+ color: #ff6b01;
+ }
+ }
+
+ .course-details {
+ margin-bottom: 12px;
+
+ .detail-row {
+ display: flex;
+ justify-content: space-between;
+ margin-bottom: 8px;
+
+ &:last-child {
+ margin-bottom: 0;
+ }
+
+ .detail-item {
+ display: flex;
+ align-items: center;
+ flex: 1;
+
+ text {
+ margin-left: 5px;
+ font-size: 13px;
+ color: #666;
+ }
+ }
+ }
+ }
+
+ .course-actions {
+ display: flex;
+ justify-content: flex-end;
+ align-items: center;
+
+ :deep(.u-button) {
+ margin-left: 10px;
+ }
}
}
}
-.enrollment-info {
- background-color: #f9f9f9;
- border-radius: 8px;
- padding: 12px;
+.payment-status-card {
+ background-color: #fff;
+ border-radius: 12px;
+ padding: 15px;
+ margin-bottom: 15px;
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
+ border-left: 4px solid #ddd;
- .info-item {
+ &.paid {
+ border-left-color: #3fbf72;
+ background: linear-gradient(135deg, #f0f9ff, #e6f7ff);
+ }
+
+ &.unpaid {
+ border-left-color: #ff9900;
+ background: linear-gradient(135deg, #fff9f0, #fff2e6);
+ }
+
+ .status-header {
display: flex;
- justify-content: space-between;
- margin-bottom: 8px;
+ align-items: center;
+ margin-bottom: 15px;
- &:last-child {
- margin-bottom: 0;
+ .status-icon {
+ width: 24px;
+ height: 24px;
+ margin-right: 12px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
}
- .info-label {
- color: #666;
- font-size: 14px;
+ .status-text {
+ flex: 1;
+
+ .status-title {
+ font-size: 16px;
+ font-weight: bold;
+ color: #333;
+ display: block;
+ margin-bottom: 4px;
+ }
+
+ .status-desc {
+ font-size: 13px;
+ color: #666;
+ display: block;
+ }
}
+ }
- .info-value {
- font-size: 14px;
- color: #333;
+ .payment-details {
+ .detail-item {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin-bottom: 8px;
- &.highlight {
- color: #ff6b01;
- font-weight: 500;
+ &:last-child {
+ margin-bottom: 0;
}
- &.paid {
- color: #3fbf72;
+ .detail-label {
+ font-size: 14px;
+ color: #666;
}
- &.unpaid {
- color: #ff5252;
+ .detail-value {
+ font-size: 14px;
+ color: #333;
+
+ &.amount {
+ font-weight: bold;
+ color: #333;
+ }
+
+ &.unpaid-amount {
+ color: #ff5252;
+ font-weight: bold;
+ }
}
}
}
@@ -415,14 +523,62 @@ onMounted(() => {
}
.bottom-actions {
- padding: 15px;
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ padding: 12px 20px;
background-color: #fff;
display: flex;
justify-content: space-between;
+ align-items: center;
+ box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
+ border-top: 1px solid #f0f0f0;
+ z-index: 100;
+ safe-area-inset-bottom: env(safe-area-inset-bottom);
+
+ .payment-info {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+
+ .payment-label {
+ font-size: 12px;
+ color: #999;
+ margin-bottom: 2px;
+ line-height: 1;
+ }
+
+ .payment-amount {
+ font-size: 18px;
+ font-weight: bold;
+ color: #ff6b01;
+ line-height: 1.2;
+ }
+ }
+
+ .payment-button {
+ flex: 0 0 auto;
+ margin-left: 15px;
+ }
:deep(.u-button) {
- flex: 1;
- margin: 0 5px;
+ width: 120px !important;
+ height: 40px !important;
+ border-radius: 20px !important;
+ font-size: 15px !important;
+ font-weight: 500 !important;
+
+ .u-button__text {
+ font-size: 15px !important;
+ font-weight: 500 !important;
+ }
+
+ &.u-button--primary {
+ background-color: #2879ff !important;
+ border-color: #2879ff !important;
+ }
}
}
diff --git a/src/pages/base/course-selection/index.vue b/src/pages/base/course-selection/index.vue
index 5b99327..3ae027b 100644
--- a/src/pages/base/course-selection/index.vue
+++ b/src/pages/base/course-selection/index.vue
@@ -155,14 +155,26 @@
diff --git a/src/pages/base/course-selection/notice.vue b/src/pages/base/course-selection/notice.vue
index c635be3..30632ab 100644
--- a/src/pages/base/course-selection/notice.vue
+++ b/src/pages/base/course-selection/notice.vue
@@ -1,10 +1,10 @@
-
+
各位家长:
- 随着素质教育的不断深入,学生各项素质、能力的培养越来越受到学校、家庭的重视。我校根据教育局的有关精神,继续举办兴趣班。请各位家长根据实际情况,遵照"孩子自主,家长自愿"的原则,选择兴趣班,请点击下一步确认知晓告知内容。
+ {{ notice }}
@@ -25,13 +25,23 @@
diff --git a/src/pages/base/home/index.vue b/src/pages/base/home/index.vue
index e0a0228..2d4364e 100644
--- a/src/pages/base/home/index.vue
+++ b/src/pages/base/home/index.vue
@@ -1,61 +1,68 @@
-
-
- 智慧校园
-
-
-
-
-
-
-
-
-
-
- {{ currentStudent.name }}
-
- {{ currentStudent.grade }} {{ currentStudent.class }}
-
+
+
+
+
+
+
+ {{ currentStudent.name }}
+
+
+ {{ currentStudent.grade }} {{ currentStudent.class }}
+
+
+
+
+
+ 切换
- 切换
-
-
+
+
+
+
+ 智慧校园
+ 让教育更智能,让成长更精彩
+
+
-