diff --git a/src/main/java/com/budwk/app/zhgh/club/controller/apply/ClubUserJoinApplyController.java b/src/main/java/com/budwk/app/zhgh/club/controller/apply/ClubUserJoinApplyController.java
index 4c7f20d7..91cba7fc 100644
--- a/src/main/java/com/budwk/app/zhgh/club/controller/apply/ClubUserJoinApplyController.java
+++ b/src/main/java/com/budwk/app/zhgh/club/controller/apply/ClubUserJoinApplyController.java
@@ -75,6 +75,7 @@ public class ClubUserJoinApplyController {
Sql sql = Sqls.create("""
SELECT
cua.*,
+ club.clubName,
u.loginname AS loginName,
u.username AS userName,
u.sex,
@@ -85,6 +86,7 @@ public class ClubUserJoinApplyController {
u.academicDegree
FROM
club_user_apply cua
+ LEFT JOIN sys_club club ON club.id = cua.clubId
LEFT JOIN vw_user u ON u.id = cua.userId
WHERE cua.id = @id
""").setParam("id", id);
@@ -149,6 +151,7 @@ public class ClubUserJoinApplyController {
Dict dict = Dict.create();
dict.set(FlowConst.PROCESS_TASK_ID_KEY, taskId);
dict.set(FlowConst.SUBMIT_TYPE, ProcessSubmitTypeEnum.RE_APPLY.getCode());
+ dict.set("clubId", clubUserApply.getClubId());
flowCommonService.executeTask(dict);
return Result.success();
}
diff --git a/src/main/resources/static/assets/platform/css/h5.css b/src/main/resources/static/assets/platform/css/h5.css
index 7a73287d..4d86f31f 100644
--- a/src/main/resources/static/assets/platform/css/h5.css
+++ b/src/main/resources/static/assets/platform/css/h5.css
@@ -132,14 +132,13 @@ body {
}
.list-card {
- margin: 20px 10px;
+ margin: 10px;
background: #FFFFFF;
border-radius: 10px;
- display: flex;
- padding: 15px;
- column-gap: 10px;
+ padding: 10px;
border-bottom: 1px solid #ededed;
box-sizing: border-box;
+ box-shadow: 0 8px 12px #ebedf0;
}
.list-card:not(:last-child){
@@ -162,6 +161,9 @@ body {
.list-card-body{
flex: 1;
}
+.list-card-body .van-cell{
+ padding: 8px 16px;
+}
.list-card-footer{
display: flex;
@@ -170,3 +172,88 @@ body {
margin-top: 10px;
flex-wrap: wrap;
}
+
+.list-card-footer .van-button {
+ border-radius: 8px;
+ height: 28px;
+ padding: 0 12px;
+}
+
+.form-container {
+ padding: 0 16px;
+ font-family: "PingFang SC", sans-serif;
+}
+
+/* 分段标题样式 */
+.form-section {
+ border-radius: 12px;
+ overflow: hidden;
+ box-shadow: 0 8px 12px #ebedf0;
+}
+
+/* 弹出选择器样式 */
+.picker-style {
+ background-color: #f5f5f5;
+ border-top-left-radius: 12px;
+ border-top-right-radius: 12px;
+}
+
+/* 输入文本区域样式 */
+.van-field__control {
+ font-size: 14px;
+ color: #333;
+}
+.van-field__control input,
+.van-field__control textarea {
+ font-size: 14px;
+ color: #333;
+ border-radius: 6px;
+ padding: 8px 12px;
+ background-color: #f9f9f9;
+}
+/* 提交按钮样式 */
+.submit-btn {
+ margin: 20px 16px 30px;
+ border-radius: 24px;
+ overflow: hidden;
+}
+.submit-many-btn {
+ margin: 20px 16px 30px;
+ border-radius: 24px;
+ overflow: hidden;
+ display: flex;
+ justify-content: space-evenly;
+}
+.submit-btn .van-button {
+ height: 48px;
+ font-size: 16px;
+ font-weight: bold;
+}
+.submit-many-btn .van-button {
+ height: 48px;
+ font-size: 16px;
+ font-weight: bold;
+}
+.van-cell-group__title {
+ font-weight: bold;
+ color: #1867B0;
+ display: inline-block; /* 确保伪元素正常排列 */
+}
+.van-cell-group__title::before {
+ content: '';
+ display: inline-block;
+ width: 4px;
+ height: 1em; /* 高度随字体大小变化,更自适应 */
+ background-color: #1867B0;
+ border-radius: 2px;
+ margin-right: 8px;
+ vertical-align: middle; /* 垂直居中对齐 */
+ position: relative;
+ top: -1px;
+}
+.more-text .van-field__label{
+ width: 100%;
+}
+.more-text {
+ display: inline-block;
+}
diff --git a/src/main/resources/static/components/plugins/sysEnum/EnumTag.vue b/src/main/resources/static/components/plugins/sysEnum/EnumTag.vue
index 1bd92fd3..0d48a8b8 100644
--- a/src/main/resources/static/components/plugins/sysEnum/EnumTag.vue
+++ b/src/main/resources/static/components/plugins/sysEnum/EnumTag.vue
@@ -1,12 +1,19 @@
-
-
- {{ item[label_key] }}
-
-
-
+
+
+ {{ item[label_key] }}
+
+
+
+
+
+ {{ item[label_key] }}
+
+
+
diff --git a/src/main/resources/static/components/plugins/sysUpload/h5Index.vue b/src/main/resources/static/components/plugins/sysUpload/h5Index.vue
index 0e56c9dc..1640b206 100644
--- a/src/main/resources/static/components/plugins/sysUpload/h5Index.vue
+++ b/src/main/resources/static/components/plugins/sysUpload/h5Index.vue
@@ -105,6 +105,7 @@ module.exports = {
}
})
} else {
+ val = JSON.parse(val)
this.fileList = val.map((v) => {
return {
...v,
diff --git a/src/main/resources/views/layouts/platform_h5.html b/src/main/resources/views/layouts/platform_h5.html
index 357ddf28..3d143391 100644
--- a/src/main/resources/views/layouts/platform_h5.html
+++ b/src/main/resources/views/layouts/platform_h5.html
@@ -364,6 +364,7 @@
Vue.component("svg-icon", httpVueLoader("/components/plugins/sysSvgIcon/index.vue?v=" + new Date().getTime()))
Vue.component("year-van-dropdown-item", httpVueLoader("/components/plugins/vantMore/yearVanDropDownItem.vue?v=" + new Date().getTime()))
Vue.component("van-text-dialog", httpVueLoader("/components/plugins/vantMore/vantTextDialog.vue?v=" + new Date().getTime()))
+ Vue.component("enum-tag", httpVueLoader("/components/plugins/sysEnum/EnumTag.vue?v=" + new Date().getTime()))
diff --git a/src/main/resources/views/platform/zhghh5/club/apply/index.html b/src/main/resources/views/platform/zhghh5/club/apply/index.html
index 0ba7a242..90c36fc4 100644
--- a/src/main/resources/views/platform/zhghh5/club/apply/index.html
+++ b/src/main/resources/views/platform/zhghh5/club/apply/index.html
@@ -8,47 +8,6 @@ layout("/layouts/platform_h5.html"){
height: 100vh;
overflow-y: auto;
}
-
- .form-container {
- padding: 0 16px;
- font-family: "PingFang SC", sans-serif;
- }
-
- /* 分段标题样式 */
- .form-section {
- border-radius: 12px;
- overflow: hidden;
- }
-
- /* 协会选择字段样式 */
- .club-field .van-field__label {
- width: 90px !important;
- }
- .club-field .van-cell__value {
- color: #333;
- }
-
- /* 弹出选择器样式 */
- .picker-style {
- background-color: #f5f5f5;
- border-top-left-radius: 12px;
- border-top-right-radius: 12px;
- }
-
- /* 输入文本区域样式 */
- .van-field__control {
- font-size: 14px;
- color: #333;
- }
- .van-field__control input,
- .van-field__control textarea {
- font-size: 14px;
- color: #333;
- border-radius: 6px;
- padding: 8px 12px;
- background-color: #f9f9f9;
- }
-
/* 同意条款样式 */
.agree-section {
padding: 16px;
@@ -61,28 +20,6 @@ layout("/layouts/platform_h5.html"){
line-height: 1.5;
color: #666;
}
-
- /* 提交按钮样式 */
- .submit-btn {
- margin: 20px 16px 30px;
- background: linear-gradient(to right, #4a90e2, #5ab1ef);
- border-radius: 24px;
- overflow: hidden;
- }
- .submit-btn .van-button {
- height: 48px;
- font-size: 16px;
- font-weight: bold;
- }
- .van-cell-group__title {
- font-weight: bold;
- }
- .more-text .van-field__label{
- width: 100%;
- }
- .more-text {
- display: inline-block;
- }
@@ -90,7 +27,7 @@ layout("/layouts/platform_h5.html"){
-
+
-
-
提交申请
+
+ 保存申请
+ 提交申请
+ 提交申请
@@ -204,6 +143,8 @@ layout("/layouts/platform_h5.html"){
components: {},
data() {
return {
+ bizId: GetQueryString("bizId"),
+ taskId: GetQueryString("taskId"),
formData: {
clubId: "",
clubName: "",
@@ -230,13 +171,55 @@ layout("/layouts/platform_h5.html"){
}
},
methods: {
- onClubConfirm(value, index) {
- this.formData.clubId = this.clubOptions[index].id;
- this.formData.clubName = value;
- this.showClubPopup = false;
-
- // 检查是否已申请该协会
- this.checkApplyClub(this.formData.clubId);
+ onSave() {
+ this.$dialog.confirm({
+ title: "提示",
+ message: "您确定保存吗?"
+ }).then(() => {
+ this.$axios.post('/platform/club/join/apply/save', {data: JSON.stringify(this.formData)}).then(res => {
+ if (res.code === 0) {
+ this.$toast(res.msg);
+ this.$pjaxReplace("/platform/h5/club/mine")
+ }
+ })
+ })
+ },
+ async onSubmit() {
+ if (!this.isAgree) {
+ this.$toast.fail("请先阅读并同意协议");
+ return;
+ }
+ await this.$refs.formRef.validate()
+ this.$dialog.confirm({
+ title: "提示",
+ message: "您确定要提交申请吗?"
+ }).then(() => {
+ this.$axios.post("/platform/club/join/apply/submit", this.formData).then(res => {
+ if (res.code === 0) {
+ this.$toast(res.msg);
+ this.$pjaxReplace("/platform/h5/club/mine")
+ }
+ });
+ });
+ },
+ onFinishTask() {
+ this.$refs.formRef.validate((valid) => {
+ if (valid) {
+ if (!this.isAgree) {
+ this.$message.warning("请先阅读并同意协议")
+ return
+ }
+ this.$axios.post('/platform/club/join/apply/submitAgain', {
+ data: JSON.stringify(this.formData),
+ taskId: GetQueryString("taskId")
+ }).then(res => {
+ if (res.code === 0) {
+ this.$toast(res.msg);
+ this.$pjaxReplace("/platform/h5/club/mine")
+ }
+ })
+ }
+ })
},
checkApplyClub(clubId) {
this.$axios.post("/platform/club/join/apply/checkApplyClub", { clubId }).then(res => {
@@ -247,6 +230,14 @@ layout("/layouts/platform_h5.html"){
}
});
},
+ onClubConfirm(value, index) {
+ this.formData.clubId = this.clubOptions[index].id;
+ this.formData.clubName = value;
+ this.showClubPopup = false;
+
+ // 检查是否已申请该协会
+ this.checkApplyClub(this.formData.clubId);
+ },
listClub() {
this.$axios.post("/platform/club/common/listClub").then(res => {
if (res.code === 0) {
@@ -255,34 +246,36 @@ layout("/layouts/platform_h5.html"){
});
},
init() {
- const user = this.$store.state.user;
- this.formData.userId = user.id;
- this.formData.userName = user.username;
- this.formData.loginName = user.loginname;
- this.formData.unitName = user.unit ? user.unit.name : null;
- this.formData.unionName = user.union ? user.union.name : null;
- this.formData.sex = user.sex;
- this.formData.education = user.education;
- this.formData.technicalTitle = user.technicalTitle;
- this.formData.governmentPosition = user.governmentPosition;
- },
- doSubmit() {
- if (!this.isAgree) {
- this.$toast.fail("请先阅读并同意协议");
- return;
+ this.bizId = GetQueryString("bizId")
+ if (GetQueryString("clubId")) {
+ this.$set(this.formData, "clubId", GetQueryString("clubId"))
}
- this.$dialog.confirm({
- title: "提示",
- message: "您确定要提交申请吗?"
- }).then(() => {
- this.$axios.post("/platform/club/join/apply/submit", this.formData).then(res => {
+ if (this.bizId) {
+ this.$axios.post("/platform/club/join/apply/info", { id: this.bizId }).then((res) => {
if (res.code === 0) {
- this.$toast(res.msg);
- this.$pjaxReplace("/platform/club/join/mine")
+ this.formData = res.data
+ this.isAgree = true
}
- });
- });
- }
+ })
+ } else {
+ const user = this.$store.state.user
+ this.$set(this.formData, "userId", user.id)
+ this.$set(this.formData, "userName", user.username)
+ this.$set(this.formData, "loginName", user.loginname)
+ this.$set(this.formData, "unitId", user.unit ? user.unit.id : null)
+ this.$set(this.formData, "unitName", user.unit ? user.unit.name : null)
+ this.$set(this.formData, "unionId", user.union ? user.union.id : null)
+ this.$set(this.formData, "unionName", user.union ? user.union.name : null)
+ this.$set(this.formData, "sex", user.sex)
+ this.$set(this.formData, "birthday", "${@auth.getPrincipalProperty('birthday'),'yyyy-MM-dd'}")
+ this.$set(this.formData, "nation", user.nation)
+ this.$set(this.formData, "political", user.political)
+ this.$set(this.formData, "education", user.education)
+ this.$set(this.formData, "technicalTitle", user.technicalTitle)
+ this.$set(this.formData, "position", user.position)
+ this.$set(this.formData, "academicDegree", user.academicDegree)
+ }
+ },
},
created() {
this.listClub();
diff --git a/src/main/resources/views/platform/zhghh5/club/common/clubUserJoin.js b/src/main/resources/views/platform/zhghh5/club/common/clubUserJoin.js
index aac5346d..7d0f43d8 100644
--- a/src/main/resources/views/platform/zhghh5/club/common/clubUserJoin.js
+++ b/src/main/resources/views/platform/zhghh5/club/common/clubUserJoin.js
@@ -39,8 +39,8 @@ const clubUserJoin = {
}
},
methods: {
- onOpen(id) {
- this.$axios.post("/platform/club/join/common/info", { id }).then((res) => {
+ onOpen(row) {
+ this.$axios.post("/platform/club/join/mine/info", { id: row.id }).then((res) => {
if (res.code === 0) {
this.viewData = res.data
}
diff --git a/src/main/resources/views/platform/zhghh5/club/mine/index.html b/src/main/resources/views/platform/zhghh5/club/mine/index.html
index ce04da4c..987865d3 100644
--- a/src/main/resources/views/platform/zhghh5/club/mine/index.html
+++ b/src/main/resources/views/platform/zhghh5/club/mine/index.html
@@ -10,7 +10,7 @@ layout("/layouts/platform_h5.html"){
-
+
@@ -18,30 +18,26 @@ layout("/layouts/platform_h5.html"){
-
-
+
@@ -59,7 +55,7 @@ layout("/layouts/platform_h5.html"){