From 7410b3a1815a2720b2b91144680ff2bd4ab51a86 Mon Sep 17 00:00:00 2001 From: Paidax Date: Fri, 21 Mar 2025 12:02:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B4=BB=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ActivityUnionApplyUserController.java | 2 +- .../union/ActivityUnionManageController.java | 46 ++- .../impl/ActivityTissueServiceImpl.java | 9 +- .../impl/SourceChangeManageServiceImpl.java | 18 +- .../activity/union/applyActivity.html | 221 ++++++++---- .../activity/union/layoutActivity.html | 14 +- .../activity/union/layoutApplyUser.html | 334 +++++++++--------- .../platform/sourcechange/manage/index.html | 8 +- 8 files changed, 396 insertions(+), 256 deletions(-) diff --git a/src/main/java/io/v/nutz/zhgh/activity/controller/union/ActivityUnionApplyUserController.java b/src/main/java/io/v/nutz/zhgh/activity/controller/union/ActivityUnionApplyUserController.java index 0518447..91a9ff9 100644 --- a/src/main/java/io/v/nutz/zhgh/activity/controller/union/ActivityUnionApplyUserController.java +++ b/src/main/java/io/v/nutz/zhgh/activity/controller/union/ActivityUnionApplyUserController.java @@ -94,7 +94,7 @@ public class ActivityUnionApplyUserController { cnd.andEx("tissue.type", "=", type); cnd.andEx("tissue.state", "=", 3); cnd.andEx("tissue.projectTypeCode", "!=", 50004); - cnd.andEx("tissue.signUpMethod", "in", List.of(1, 2)); + cnd.andEx("tissue.signUpMethod", "in", List.of(1, 2, 3)); if (Strings.isNotBlank(name)) { cnd.where().andLike("tissue.name", name); diff --git a/src/main/java/io/v/nutz/zhgh/activity/controller/union/ActivityUnionManageController.java b/src/main/java/io/v/nutz/zhgh/activity/controller/union/ActivityUnionManageController.java index e33a866..0db56cd 100644 --- a/src/main/java/io/v/nutz/zhgh/activity/controller/union/ActivityUnionManageController.java +++ b/src/main/java/io/v/nutz/zhgh/activity/controller/union/ActivityUnionManageController.java @@ -3,6 +3,7 @@ package io.v.nutz.zhgh.activity.controller.union; import cn.afterturn.easypoi.excel.ExcelExportUtil; import cn.afterturn.easypoi.excel.entity.ExportParams; import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity; +import cn.hutool.core.util.StrUtil; import com.deepoove.poi.XWPFTemplate; import com.deepoove.poi.config.Configure; import com.deepoove.poi.policy.HackLoopTableRenderPolicy; @@ -36,6 +37,7 @@ import org.nutz.dao.util.cri.SqlExpressionGroup; import org.nutz.ioc.aop.Aop; import org.nutz.ioc.loader.annotation.Inject; import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.lang.Lang; import org.nutz.lang.Strings; import org.nutz.lang.util.NutMap; import org.nutz.mvc.annotation.At; @@ -143,6 +145,41 @@ public class ActivityUnionManageController { return sysUserService.listPageMap(1, 30, sql); } + + @At + @ViReturn + @Aop(TransAop.READ_COMMITTED) + @RequiresPermissions(value = {"activity.union.info", "activity.club.info", "activity.school.info2"}, logical = Logical.OR) + public Object doSave(@Param(value = "tissue") ActivityTissue tissue){ + tissue.setUserId(StrUtil.isNotBlank(tissue.getUserId()) ? tissue.getUserId() : ShiroUtil.getUserId()); + tissue.setApplyTime(StrUtil.isNotBlank(tissue.getApplyTime()) ? tissue.getApplyTime() : DateUtil.getDate()); + tissue.setState(0); + + if (tissue.getType() == 40002) { + tissue.setUnionId(Vi.getUnionId()); + } else if (tissue.getType() == 40003) { + tissue.setClubId(vi.getClubId()); + } + // 如果有商品,则设置商品活动编码和活动id + if (Lang.isNotEmpty(tissue.getGoods())) { + tissue.getGoods().forEach(v -> { + v.setActivityCode(tissue.getActivityCode()); + v.setReid(tissue.getId()); + }); + } + + activityTissueService.insertWith(tissue, "tissuePersonList"); + activitySchoolService.dao().insert(tissue.getGoods()); + + if (tissue.getIsEnrollSystem()) { + Sys_home_activity sysHomeActivity = tissue.covertToSysHomeActivity(); + activitySchoolService.dao().insertOrUpdate(sysHomeActivity); + } + + return null; + } + + /** * 校工会添加 * @@ -154,12 +191,14 @@ public class ActivityUnionManageController { @Aop(TransAop.READ_COMMITTED) @RequiresPermissions(value = {"activity.union.info", "activity.club.info", "activity.school.info2"}, logical = Logical.OR) public Object doAdd(@Param(value = "tissue") ActivityTissue tissue) { - tissue.setUserId(ShiroUtil.getUserId()); - tissue.setApplyTime(DateUtil.getDate()); + tissue.setUserId(StrUtil.isNotBlank(tissue.getUserId()) ? tissue.getUserId() : ShiroUtil.getUserId()); + tissue.setApplyTime(StrUtil.isNotBlank(tissue.getApplyTime()) ? tissue.getApplyTime() : DateUtil.getDate()); if (!ShiroUtil.hasAnyRoles("sysadmin,A06")) { tissue.setState(1); } else { tissue.setState(3); + tissue.setIsDisabled(true); + tissue.setIsEnrollSystem(true); } if (tissue.getType() == 40002) { tissue.setUnionId(Vi.getUnionId()); @@ -170,13 +209,14 @@ public class ActivityUnionManageController { v.setActivityCode(tissue.getActivityCode()); v.setReid(tissue.getId()); }); - tissue.getCover(); +// tissue.getCover(); activityTissueService.insertWith(tissue, "tissuePersonList"); activitySchoolService.dao().insert(tissue.getGoods()); if (tissue.getIsEnrollSystem()) { Sys_home_activity sysHomeActivity = tissue.covertToSysHomeActivity(); + sysHomeActivity.setEnable(true); activitySchoolService.dao().insertOrUpdate(sysHomeActivity); } return null; diff --git a/src/main/java/io/v/nutz/zhgh/activity/services/impl/ActivityTissueServiceImpl.java b/src/main/java/io/v/nutz/zhgh/activity/services/impl/ActivityTissueServiceImpl.java index b75ce2a..69a8c29 100644 --- a/src/main/java/io/v/nutz/zhgh/activity/services/impl/ActivityTissueServiceImpl.java +++ b/src/main/java/io/v/nutz/zhgh/activity/services/impl/ActivityTissueServiceImpl.java @@ -20,6 +20,7 @@ import org.nutz.dao.Cnd; import org.nutz.dao.Dao; import org.nutz.dao.Sqls; import org.nutz.dao.sql.Sql; +import org.nutz.dao.util.cri.SqlExpressionGroup; import org.nutz.ioc.aop.Aop; import org.nutz.ioc.loader.annotation.Inject; import org.nutz.ioc.loader.annotation.IocBean; @@ -67,8 +68,12 @@ public class ActivityTissueServiceImpl extends ViServiceImpl imp $condition """); - cnd.andEx("YEAR(tissue.startTime)", "=", year); - cnd.andEx("tissue.projectTypeCode", "!=", "50004"); + cnd.andEx("YEAR(tissue.applyTime)", "=", year); + SqlExpressionGroup seg = new SqlExpressionGroup(); + seg.or("tissue.projectTypeCode", "!=", "50004"); + seg.or("tissue.projectTypeCode", "is", null); + cnd.and(seg); +// cnd.andEx("tissue.projectTypeCode", "!=", "50004"); cnd.andEx("tissue.unionId", "=", unionId); cnd.andEx("tissue.type", "=", type); diff --git a/src/main/java/io/v/nutz/zhgh/staffmanage/sourcechange/service/impl/SourceChangeManageServiceImpl.java b/src/main/java/io/v/nutz/zhgh/staffmanage/sourcechange/service/impl/SourceChangeManageServiceImpl.java index fe7a423..673c56d 100644 --- a/src/main/java/io/v/nutz/zhgh/staffmanage/sourcechange/service/impl/SourceChangeManageServiceImpl.java +++ b/src/main/java/io/v/nutz/zhgh/staffmanage/sourcechange/service/impl/SourceChangeManageServiceImpl.java @@ -240,9 +240,9 @@ public class SourceChangeManageServiceImpl extends BaseServiceImpl - + @@ -246,6 +246,7 @@ @@ -254,7 +255,7 @@ - @@ -392,6 +393,7 @@ @@ -411,16 +413,24 @@ - - - + + + + + + + + + + + + + + + 附件 - - - - - - - - - - - @@ -599,8 +597,10 @@ -
- 确 定 +
+ 返 回 + 保 存 + 提 交
@@ -699,6 +699,21 @@ 'drawer-user-scope': httpVueLoader('/components/plugins/DrawerUserScope.vue'), }, methods: { + doBack() { + this.$confirm('返回将不会保存新填写或修改的内容,确定要返回吗?', '提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning' + }).then(async () => { + if (type === 40002) { + sublime.jumpPagePjax("/platform/activity/info/mange/union") + } else if (type === 40003) { + sublime.jumpPagePjax("/platform/activity/info/mange/club") + } else { + sublime.jumpPagePjax("/platform/activity/info/mange/school") + } + }) + }, //应用比例设置 applyScaleSettings() { this.formData.unionUserNumberLimit.forEach(v => { @@ -839,47 +854,56 @@ const resp = await $.get('/platform/activity/apply/getUnionData', {activityScopeGroupId: val}) this.formData.unionUserNumberLimit = resp.data }, + async doSave() { + if (!this.formData.name) { + this.$message.warning('请输入活动名称') + return + } - async operation() { if (this.formData.applyTime2 && this.formData.applyTime2.length > 0) { if (moment(this.formData.time[0]).valueOf() <= moment(this.formData.applyTime2[0]).valueOf()) { - this.$notify.error({title: '错误', message: '活动时间必须晚于报名时间'}); + this.$message.warning('活动时间必须晚于报名时间') return } } - let url = this.formData.id ? "/doEdit" : "/doAdd" - this.$refs["addForm"].validate(async (valid) => { - if (valid) { - const loading = this.$loading({ - lock: true, - text: '正在提交...', - spinner: 'el-icon-loading', - background: COVER_LAYER_COLOR - }); - const formData = JSON.parse(JSON.stringify(this.formData)) - formData.type = this.pageForm.type - formData.apply_type = 1 - const {time, applyTime2, plannedDate} = formData - if (applyTime2 && applyTime2.length) { - formData.applyStartTime = applyTime2[0] - formData.applyEndTime = applyTime2[1] - formData.applyTime2 = undefined - } - if (time && time.length) { - formData.startTime = formData.time[0] - formData.endTime = formData.time[1] - formData.time = undefined - } - if (plannedDate && plannedDate.length) { - formData.startPlannedDate = formData.plannedDate[0] - formData.endPlannedDate = formData.plannedDate[1] - formData.plannedDate = undefined - } + this.$confirm('保存后可在左侧活动信息管理中重新编辑,确定要保存吗?', '提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning' + }).then(async () => { + const loading = this.$loading({ + lock: true, + text: '正在提交...', + spinner: 'el-icon-loading', + background: COVER_LAYER_COLOR + }); - const resp = await $.post(this.actvivtyUrl + url, {tissue: JSON.stringify(formData)}) - loading.close() - if (resp.code === 0) { + const formData = JSON.parse(JSON.stringify(this.formData)) + formData.type = this.pageForm.type + formData.apply_type = 1 + const {time, applyTime2, plannedDate} = formData + if (applyTime2 && applyTime2.length) { + formData.applyStartTime = applyTime2[0] + formData.applyEndTime = applyTime2[1] + formData.applyTime2 = undefined + } + if (time && time.length) { + formData.startTime = formData.time[0] + formData.endTime = formData.time[1] + formData.time = undefined + } + if (plannedDate && plannedDate.length) { + formData.startPlannedDate = formData.plannedDate[0] + formData.endPlannedDate = formData.plannedDate[1] + formData.plannedDate = undefined + } + + const resp = await $.post(this.actvivtyUrl + "/doSave", {tissue: JSON.stringify(formData)}) + loading.close() + if (resp.code === 0) { + this.$message.success(resp.msg) + setTimeout(() => { if (type === 40002) { sublime.jumpPagePjax("/platform/activity/info/mange/union") } else if (type === 40003) { @@ -887,13 +911,84 @@ } else { sublime.jumpPagePjax("/platform/activity/info/mange/school") } - } else { - this.notifyWarning(resp.msg) - } + }, 1000) } else { - this.$notify.error({title: '错误', message: '存在未填写的的必填项'}); + this.$message.warning(resp.msg) + } + }) + }, + async operation() { + if (this.formData.applyTime2 && this.formData.applyTime2.length > 0) { + if (moment(this.formData.time[0]).valueOf() <= moment(this.formData.applyTime2[0]).valueOf()) { + this.$notify.error({title: '错误', message: '活动时间必须晚于报名时间'}); + return + } + } + + let url = this.formData.id ? "/doEdit" : "/doAdd" + this.$refs["addForm"].validate(async (valid) => { + if (valid) { + + this.$confirm('确定要提交吗,请确保信息填写无误哦?', '提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning' + }).then(async () => { + + const loading = this.$loading({ + lock: true, + text: '正在提交...', + spinner: 'el-icon-loading', + background: COVER_LAYER_COLOR + }); + + const formData = JSON.parse(JSON.stringify(this.formData)) + formData.type = this.pageForm.type + formData.apply_type = 1 + const {time, applyTime2, plannedDate} = formData + if (applyTime2 && applyTime2.length) { + formData.applyStartTime = applyTime2[0] + formData.applyEndTime = applyTime2[1] + formData.applyTime2 = undefined + } + if (time && time.length) { + formData.startTime = formData.time[0] + formData.endTime = formData.time[1] + formData.time = undefined + } + if (plannedDate && plannedDate.length) { + formData.startPlannedDate = formData.plannedDate[0] + formData.endPlannedDate = formData.plannedDate[1] + formData.plannedDate = undefined + } + + const resp = await $.post(this.actvivtyUrl + url, {tissue: JSON.stringify(formData)}) + loading.close() + if (resp.code === 0) { + this.$message.success(resp.msg) + setTimeout(() => { + if (type === 40002) { + sublime.jumpPagePjax("/platform/activity/info/mange/union") + } else if (type === 40003) { + sublime.jumpPagePjax("/platform/activity/info/mange/club") + } else { + sublime.jumpPagePjax("/platform/activity/info/mange/school") + } + }, 1000) + } else { + this.$message.warning(resp.msg) + } + + }) + + } else { + this.$message.warning('存在未填写的的必填项') } }); + + + + }, async init() { this.delNotesList = [] diff --git a/src/main/resources/views/platform/activity/union/layoutActivity.html b/src/main/resources/views/platform/activity/union/layoutActivity.html index 62b5b69..c8a93e5 100644 --- a/src/main/resources/views/platform/activity/union/layoutActivity.html +++ b/src/main/resources/views/platform/activity/union/layoutActivity.html @@ -84,9 +84,10 @@ v-for="column in tableColumns"> - 编辑 diff --git a/src/main/resources/views/platform/activity/union/layoutApplyUser.html b/src/main/resources/views/platform/activity/union/layoutApplyUser.html index 381e056..c947590 100644 --- a/src/main/resources/views/platform/activity/union/layoutApplyUser.html +++ b/src/main/resources/views/platform/activity/union/layoutApplyUser.html @@ -3,69 +3,66 @@ -