diff --git a/src/api/base/jcApi.ts b/src/api/base/jcApi.ts
new file mode 100644
index 0000000..368e8dc
--- /dev/null
+++ b/src/api/base/jcApi.ts
@@ -0,0 +1,92 @@
+import { get, post } from "@/utils/request";
+
+/**
+ * 获取就餐标准列表
+ */
+export const jcGetJcBzListApi = async (params: any) => {
+ return await get("/mobile/jc/getJcBzList", params);
+};
+
+/**
+ * 获取就餐标准详情
+ */
+export const jcGetJcBzDetailApi = async (params: any) => {
+ return await get("/mobile/jc/getJcBzDetail", params);
+};
+
+/**
+ * 学生报名就餐标准
+ */
+export const jcBmJcBzApi = async (params: any) => {
+ return await post("/mobile/jc/bmJcBz", params);
+};
+
+/**
+ * 获取学生已报名的就餐标准列表
+ */
+export const jcGetXsBmJcBzListApi = async (params: any) => {
+ return await get("/mobile/jc/getXsBmJcBzList", params);
+};
+
+/**
+ * 取消报名就餐标准
+ */
+export const jcCancelBmJcBzApi = async (params: any) => {
+ return await post("/mobile/jc/cancelBmJcBz", params);
+};
+
+/**
+ * 获取就餐标准报名倒计时
+ */
+export const jcGetBmExpiredTimeApi = async (params: any) => {
+ return await get("/mobile/jc/getBmExpiredTime", params);
+};
+
+/**
+ * 发起就餐标准缴费
+ */
+export const jcFqJcBzJfjApi = async (params: any) => {
+ return await post("/mobile/jc/fqJcBzJfj", params);
+};
+
+/**
+ * 查询就餐标准缴费状态
+ */
+export const jcJcBzJfCxjApi = async (params: any) => {
+ return await post("/mobile/jc/jcBzJfcx", params);
+};
+
+/**
+ * 获取就餐标准报名学生列表
+ */
+export const jcGetJcBzBmXsListApi = async (params: any) => {
+ return await get("/mobile/jc/getJcBzBmXsList", params);
+};
+
+/**
+ * 获取就餐标准统计信息
+ */
+export const jcGetJcBzTjInfoApi = async (params: any) => {
+ return await get("/mobile/jc/getJcBzTjInfo", params);
+};
+
+/**
+ * 获取当前学期就餐标准配置
+ */
+export const jcGetDqXqJcBzConfigApi = async () => {
+ return await get("/mobile/jc/getDqXqJcBzConfig");
+};
+
+/**
+ * 获取学生就餐记录
+ */
+export const jcGetXsJcJlApi = async (params: any) => {
+ return await get("/mobile/jc/getXsJcJl", params);
+};
+
+/**
+ * 获取就餐标准支付倒计时
+ */
+export const jcGetJcBzPayExpiredTimeApi = async (params: any) => {
+ return await get("/mobile/jc/getJcBzPayExpiredTime", params);
+};
\ No newline at end of file
diff --git a/src/pages/base/components/JcBzList/index.vue b/src/pages/base/components/JcBzList/index.vue
new file mode 100644
index 0000000..4bb2269
--- /dev/null
+++ b/src/pages/base/components/JcBzList/index.vue
@@ -0,0 +1,265 @@
+
+
+
+
+
+
+
+
+ 价格:
+ ¥{{ jcBz.jfje }}
+
+ {{ jcBz.bzms || '暂无描述' }}
+
+
+
+
+
+
+
+
+
+
+
+
+ 暂无就餐标准数据
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/base/components/JcRecordList/index.vue b/src/pages/base/components/JcRecordList/index.vue
new file mode 100644
index 0000000..fc6e2b8
--- /dev/null
+++ b/src/pages/base/components/JcRecordList/index.vue
@@ -0,0 +1,221 @@
+
+
+
+
+
+
+
+
+ {{ record.bzmc }}
+ {{ record.jcTime }}
+
+ ¥{{ record.jfje }}
+
+
+
+
+
+
+
+
+
+
+ 暂无就餐记录
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/base/jc/bm.vue b/src/pages/base/jc/bm.vue
new file mode 100644
index 0000000..6de015f
--- /dev/null
+++ b/src/pages/base/jc/bm.vue
@@ -0,0 +1,223 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 已选择:{{ selectedCount }} 个就餐标准
+ 总金额:¥{{ totalPrice }}
+
+
+ 取消
+ 确认报名
+
+
+
+
+
+
+
+
diff --git a/src/pages/base/jc/detail.vue b/src/pages/base/jc/detail.vue
new file mode 100644
index 0000000..fb3871d
--- /dev/null
+++ b/src/pages/base/jc/detail.vue
@@ -0,0 +1,285 @@
+
+
+
+
+
+ 就餐标准信息
+
+
+
+
+
+
+ {{ jcDetail.bzmc }}
+
+ 价格:¥{{ jcDetail.jfje }}
+
+ {{ jcDetail.bzms || '暂无描述' }}
+ 有效期:{{ jcDetail.yxq || '暂无有效期信息' }}
+
+
+
+
+
+
+ 标准详情
+
+
+
+ {{ jcDetail.bzms || "暂无详细信息" }}
+
+
+
+
+
+ 使用说明
+
+
+
+
+
+ {{ instruction }}
+
+
+
+
+
+ 暂无使用说明
+
+
+
+
+
+
+
+ 注意事项
+
+
+
+
+
+ {{ precaution }}
+
+
+
+
+
+ 暂无注意事项
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/base/jc/index.vue b/src/pages/base/jc/index.vue
new file mode 100644
index 0000000..7f52abc
--- /dev/null
+++ b/src/pages/base/jc/index.vue
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/base/jc/pay/fail.vue b/src/pages/base/jc/pay/fail.vue
new file mode 100644
index 0000000..5714ba7
--- /dev/null
+++ b/src/pages/base/jc/pay/fail.vue
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+
+ 抱歉,报名失败!
+
+
+
+ 请点击下方按钮
+
+
+
+
+
+
+ 重新报名
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/base/jc/pay/index.vue b/src/pages/base/jc/pay/index.vue
new file mode 100644
index 0000000..afd5a3c
--- /dev/null
+++ b/src/pages/base/jc/pay/index.vue
@@ -0,0 +1,345 @@
+
+
+
+
+
+
+
+ 待支付
+
+ 剩余:
+ {{ countdownTime }}
+
+
+
+
+
+
+
+ 学生信息
+
+ {{ curXs.xm }}
+ {{ curXs.bjmc }}
+
+
+
+
+
+ 报名就餐标准
+
+
+ {{ jcBz.bzmc }}
+ ¥{{ jcBz.jfje }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/base/jc/pay/success.vue b/src/pages/base/jc/pay/success.vue
new file mode 100644
index 0000000..7a7f19a
--- /dev/null
+++ b/src/pages/base/jc/pay/success.vue
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 恭喜你,报名成功!
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/base/jc/pay/wait.vue b/src/pages/base/jc/pay/wait.vue
new file mode 100644
index 0000000..f2f83f2
--- /dev/null
+++ b/src/pages/base/jc/pay/wait.vue
@@ -0,0 +1,412 @@
+
+
+
+
+
+
+
+ 待支付
+
+ 剩余:
+ {{ countdownTime }}
+
+
+
+
+
+
+
+ 支付信息
+ {{ payUrl }}
+
+
+
+
+
+
+ 提示:
+ 1. 点击"打开支付页面"按钮在新窗口打开支付
+ 2. 支付完成后请返回此页面
+ 3. 如无法打开,请复制链接到浏览器中打开
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/base/jc/record.vue b/src/pages/base/jc/record.vue
new file mode 100644
index 0000000..facf050
--- /dev/null
+++ b/src/pages/base/jc/record.vue
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/store/modules/data.ts b/src/store/modules/data.ts
index f38152f..12e4f7f 100644
--- a/src/store/modules/data.ts
+++ b/src/store/modules/data.ts
@@ -5,6 +5,7 @@ export const useDataStore = defineStore({
state: () => ({
data: {},
kcData: {},
+ jcBzData: {},
global: {},
file: {},
appCode: "JZ"
@@ -22,6 +23,9 @@ export const useDataStore = defineStore({
getKcData(): any {
return this.kcData;
},
+ getJcBzData(): any {
+ return this.jcBzData;
+ },
getAppCode(): string {
return this.appCode;
},
@@ -39,6 +43,9 @@ export const useDataStore = defineStore({
setKcData(data: any) {
this.kcData = data;
},
+ setJcBzData(data: any) {
+ this.jcBzData = data;
+ },
},
persist: {
enabled: true,