Merge branch 'refs/heads/feature_界面UI优化' into feature_主分支合并UI优化

# Conflicts:
#	src/main/resources/views/platform/zhghh5/democratic/proposal/query/comprehensive/index.html
#	src/main/resources/views/platform/zhghh5/democratic/proposal/transact/commissioner/index.html
#	src/main/resources/views/platform/zhghh5/democratic/proposal/transact/delegation/index.html
#	src/main/resources/views/platform/zhghh5/democratic/proposal/transact/feedbackEvaluation/index.html
#	src/main/resources/views/platform/zhghh5/democratic/proposal/transact/mine/index.html
#	src/main/resources/views/platform/zhghh5/democratic/proposal/transact/schoolLeaderApproval/index.html
#	src/main/resources/views/platform/zhghh5/democratic/proposal/transact/seconded/index.html
#	src/main/resources/views/platform/zhghh5/democratic/proposal/transact/suggestion/index.html
#	src/main/resources/views/platform/zhghh5/democratic/proposal/transact/unitReply/index.html
This commit is contained in:
2026-08-25 10:17:05 +08:00
152 changed files with 23840 additions and 4968 deletions
@@ -1,6 +1,7 @@
package com.budwk.app.sys.controller.v4;
import cn.dev33.satoken.annotation.SaCheckLogin;
import cn.hutool.core.util.StrUtil;
import com.budwk.app.base.page.Pagination;
import com.budwk.app.base.param.PageForm;
import com.budwk.app.base.result.Result;
@@ -50,6 +51,7 @@ public class SysV4MsgController {
m.title,
m.content,
m.type,
m.sendTime,
r.isRead,
r.readTime
FROM
@@ -69,6 +71,10 @@ public class SysV4MsgController {
cnd.andEX("m.type", "=", type);
if (StrUtil.isNotBlank(pageForm.getSearchKeyword())) {
String keyword = "%" + pageForm.getSearchKeyword() + "%";
cnd.and(Cnd.exps("m.title", "like", keyword).or("m.content", "like", keyword));
}
cnd.desc("m.sendTime");
sql.setCondition(cnd);
@@ -87,6 +87,9 @@ public class FamilyActivityApplyController {
Cnd cnd = Cnd.NEW();
cnd.andEX("id", "=", id);
cnd.andEX("`year`", "=", year);
if (StrUtil.isNotBlank(pageForm.getSearchKeyword())) {
cnd.and("activityName", "like", "%" + pageForm.getSearchKeyword().trim() + "%");
}
//查询报名中
if (activityType == 2) {
cnd.and(new Static("now() < activitySignUpEndTime"));
@@ -117,6 +120,7 @@ public class FamilyActivityApplyController {
@Param(value = "courseTypeId") String courseTypeId,
@Param(value = "activityId") String activityId,
@Param(value = "assortTypes") String[] assortTypes,
@Param(value = "searchKeyword") String searchKeyword,
@Param(value = "dataType") String dataType) {
FamilyActivity activity = dao.fetch(FamilyActivity.class, activityId);
Sql sql = Sqls.create("""
@@ -131,6 +135,9 @@ public class FamilyActivityApplyController {
Cnd cnd = Cnd.NEW();
cnd.andEX("type.id", "=", courseTypeId);
cnd.and("tsuc.activityId", "=", activityId);
if (StrUtil.isNotBlank(searchKeyword)) {
cnd.and("tsuc.courseName", "like", "%" + searchKeyword.trim() + "%");
}
if(Lang.isNotEmpty(assortTypes)) {
cnd.and("tsuc.assort", "in", assortTypes);
}
@@ -64,8 +64,8 @@ public class H5ActivitySportsApplyUserController {
@At
@SaCheckPermission("h5.activity.sports.applyUser")
public Result activityData(Integer year, Integer isActivity, Integer applyStatus) {
return Result.success(activitySportsApplyUserService.activityData(year, isActivity, applyStatus));
public Result activityData(Integer year, Integer isActivity, Integer applyStatus, String searchKeyword) {
return Result.success(activitySportsApplyUserService.activityData(year, isActivity, applyStatus, searchKeyword));
}
@@ -18,6 +18,7 @@ public class ActivitySportsApplyUserPageParam extends PageForm {
private String applyType;
private String isAudit;
private String groupName;
private String searchKeyword;
private String activityId;
private String eventId;
private String year;
@@ -19,6 +19,17 @@ public interface ActivitySportsApplyUserService extends BaseService<ActivityScho
Pagination activityData(Integer year, Integer isActivity,Integer applyStatus);
/**
* 根据年份、活动状态、报名状态和活动名称查询体育活动。
*
* @param year 活动年份
* @param isActivity 活动状态
* @param applyStatus 当前用户报名状态
* @param searchKeyword 活动名称模糊查询关键词
* @return 体育活动分页数据
*/
Pagination activityData(Integer year, Integer isActivity, Integer applyStatus, String searchKeyword);
List<NutMap> getEvents(String activityId);
Object getUnionCoachLeaderHead(String activityId,String unionId);
@@ -122,6 +122,9 @@ public class ActivitySportsApplyUserServiceImpl extends BaseServiceImpl<Activity
cnd.and(new Static("(SELECT COUNT(1) FROM activity_school_apply WHERE eventId = ase.eventId AND activityId = ase.activityId AND userId='%s')%s0".formatted(SecurityUtil.getUserId(), (pageParam.getIsAudit().equals("true") ? ">" : "="))));
}
cnd.and("ase.activityId", "=", pageParam.getActivityId());
if (StrUtil.isNotBlank(pageParam.getSearchKeyword())) {
cnd.and("eve.allName", "like", "%" + pageParam.getSearchKeyword().trim() + "%");
}
cnd.andEX("ase.eventId", "=", pageParam.getEventId());
cnd.andEX("YEAR(school.applyStartTime)", "=", pageParam.getYear());
@@ -144,6 +147,20 @@ public class ActivitySportsApplyUserServiceImpl extends BaseServiceImpl<Activity
@Override
public Pagination activityData(Integer year, Integer isActivity, Integer applyStatus) {
return activityData(year, isActivity, applyStatus, null);
}
/**
* 根据筛选条件及活动名称查询当前用户可见的体育活动。
*
* @param year 活动年份
* @param isActivity 活动状态
* @param applyStatus 当前用户报名状态
* @param searchKeyword 活动名称模糊查询关键词
* @return 体育活动分页数据
*/
@Override
public Pagination activityData(Integer year, Integer isActivity, Integer applyStatus, String searchKeyword) {
Sql sql = Sqls.create("""
SELECT
@@ -183,6 +200,10 @@ public class ActivitySportsApplyUserServiceImpl extends BaseServiceImpl<Activity
cnd.and("school.isSave", "!=", true);
if (Lang.isNotEmpty(searchKeyword)) {
cnd.and("school.NAME", "like", "%" + searchKeyword.trim() + "%");
}
//查询报名中
if (isActivity == 2) {
cnd.and(new Static("now() >applyStartTime and now() < applyEndTime"));
@@ -93,6 +93,9 @@ public class TrainSignUpApplyController {
Cnd cnd = Cnd.NEW();
cnd.andEX("id", "=", id);
cnd.andEX("`year`", "=", year);
if (StrUtil.isNotBlank(pageForm.getSearchKeyword())) {
cnd.and(Cnd.likeEX("activityName", pageForm.getSearchKeyword()));
}
//查询报名中
if (activityType == 2) {
cnd.and(new Static("now() < activitySignUpEndTime"));
@@ -123,6 +126,7 @@ public class TrainSignUpApplyController {
@Param(value = "courseTypeId") String courseTypeId,
@Param(value = "activityId") String activityId,
@Param(value = "assortTypes") String[] assortTypes,
@Param(value = "searchKeyword") String searchKeyword,
@Param(value = "dataType") String dataType) {
Sql sql = Sqls.create("""
SELECT
@@ -156,6 +160,9 @@ public class TrainSignUpApplyController {
Cnd cnd = Cnd.NEW();
cnd.andEX("type.id", "=", courseTypeId);
cnd.and("tsuc.activityId", "=", activityId);
if (StrUtil.isNotBlank(searchKeyword)) {
cnd.and("tsuc.courseName", "like", "%" + searchKeyword.trim() + "%");
}
if (Lang.isNotEmpty(assortTypes)) {
cnd.and("tsuc.assort", "in", assortTypes);
@@ -1,6 +1,7 @@
package com.budwk.app.zhgh.democratic.proposal.controller.transact;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaMode;
import com.budwk.app.base.constant.RoleConstant;
import com.budwk.app.base.page.Pagination;
import com.budwk.app.base.param.ExportTableColumns;
@@ -55,8 +56,17 @@ public class ProposalCaseCheckController {
public void index() {
}
/**
* 打开提案委员会审查手机端列表页。
*/
@At("/h5")
@Ok("beetl:/platform/zhghh5/democratic/proposal/transact/caseCheck/index.html")
@SaCheckPermission("h5.proposal.caseCheck")
public void h5Index() {
}
@At
@SaCheckPermission("proposal.caseCheck")
@SaCheckPermission(value = {"proposal.caseCheck", "h5.proposal.caseCheck"}, mode = SaMode.OR)
@ApiOperation("分页列表")
public Result pageData(@Valid ProposalSearchParam pageForm, boolean approval) {
Sql sql = Sqls.create("""
@@ -129,7 +139,7 @@ public class ProposalCaseCheckController {
}
@At
@SaCheckPermission("proposal.caseCheck")
@SaCheckPermission(value = {"proposal.caseCheck", "h5.proposal.caseCheck"}, mode = SaMode.OR)
@ApiOperation("查询当前提案承办单位")
public Result listReplyUnits(String proposalId) {
return Result.success(proposalCaseCheckService.listReplyUnits(proposalId));
@@ -49,7 +49,6 @@ public class ProposalCommissionerController {
public void h5Index() {
}
@At
@SaCheckPermission("proposal.commissioner")
public Result pageData(@Valid ProposalSearchParam pageForm, boolean approval) {
@@ -64,7 +64,6 @@ public class ProposalDelegationController {
public void h5Index() {
}
@At
@SaCheckPermission("proposal.delegation")
@ApiOperation("分页列表")
@@ -52,7 +52,6 @@ public class ProposalFeedbackEvaluationController {
public void h5Index() {
}
@At
@SaCheckPermission("proposal.feedbackEvaluation")
@ApiOperation("分页列表")
@@ -52,6 +52,11 @@ public class ProposalPreAuditController {
public void index() {
}
@At("/h5")
@Ok("beetl:/platform/zhghh5/democratic/proposal/transact/preAudit/index.html")
@SaCheckPermission("proposal.preAudit")
public void h5Index() {
}
@At
@SaCheckPermission("proposal.preAudit")
@@ -74,7 +74,6 @@ public class ProposalSchoolLeaderApprovalController {
public void h5Index() {
}
@At
@SaCheckPermission("proposal.schoolLeaderApproval")
@ApiOperation("分页列表")
@@ -84,7 +84,7 @@ public class LearningCourseDisplayController {
/**
* 查询课程展示列表。
* pageForm 传分页页码和每页条数;keyword、courseTypeId、recommendFlag 分别用于关键词、分类和推荐标识筛选;
* sortType 支持 default(综合排序)和 view_count(观看次数倒序)。返回值为 Pagination,list 中包含课程基础字段、课节数、总时长观看次数。
* sortType 支持 default(综合排序)和 view_count(观看次数倒序)。返回值为 Pagination,list 中包含课程基础字段、课节数、总时长观看次数和当前用户学习进度
*/
public Result pageData(PageForm pageForm, String keyword, String courseTypeId, String recommendFlag, String sortType) {
Cnd cnd = Cnd.where("c.status", "=", "published");
@@ -112,6 +112,9 @@ public class LearningCourseDisplayController {
SELECT c.id, c.courseName, c.courseIntro, c.startTime, c.endTime, c.openType, c.cover,
c.recommendFlags, c.courseTypeId, c.lecturerName, c.sortNum,
COALESCE(c.viewCount, 0) AS viewCount, t.typeName AS courseTypeName,
COALESCE((SELECT ROUND(AVG(IFNULL(sr.progressPercent, 0)))
FROM learning_study_record sr
WHERE sr.courseId = c.id AND sr.userId = @userId), 0) AS progressPercent,
(SELECT COUNT(1) FROM learning_outline_resource r
WHERE r.courseId = c.id AND r.status = 'enabled') AS resourceCount,
COALESCE((SELECT SUM(r.durationSeconds) FROM learning_outline_resource r
@@ -122,6 +125,7 @@ public class LearningCourseDisplayController {
ORDER BY $orderBy
""");
listSql.setCondition(cnd);
listSql.params().set("userId", SecurityUtil.getUserId());
// 排序字段由固定选项映射,禁止将前端参数直接拼接进SQL。
listSql.setVar("orderBy", "view_count".equals(sortType)
? "COALESCE(c.viewCount, 0) DESC, c.sortNum ASC, c.createdAt DESC"
@@ -0,0 +1,101 @@
package com.budwk.app.zhgh.spread.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.budwk.app.base.annotation.SLog;
import com.budwk.app.base.result.Result;
import com.budwk.app.zhgh.spread.models.SpreadCategory;
import com.budwk.app.zhgh.spread.service.SpreadCategoryService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.nutz.aop.interceptor.ioc.TransAop;
import org.nutz.ioc.aop.Aop;
import org.nutz.ioc.loader.annotation.Inject;
import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.mvc.annotation.At;
import org.nutz.mvc.annotation.Ok;
@IocBean
@Ok("json:full")
@Api("风采墙-栏目管理")
@At("/platform/spread/category")
public class SpreadCategoryController {
@Inject
private SpreadCategoryService categoryService;
@At("")
@Ok("beetl:/platform/zhgh/spread/category/index.html")
@SaCheckPermission("spread.category")
public void index() {
}
@At
@ApiOperation("栏目列表")
@SaCheckPermission("spread.category")
public Result listData() {
return Result.success(categoryService.listCategories(false));
}
@At
@ApiOperation("栏目树")
@SaCheckPermission("spread.category")
public Result treeData() {
return Result.success(categoryService.categoryTree(false));
}
@At
@ApiOperation("新增栏目")
@SaCheckPermission("spread.category")
@SLog(tag = "风采墙-栏目管理", msg = "新增栏目:${args[0].name}")
@Aop(TransAop.READ_COMMITTED)
public Result doAdd(SpreadCategory category) {
try {
categoryService.saveCategory(category);
return Result.success();
} catch (RuntimeException e) {
return Result.error(e.getMessage());
}
}
@At
@ApiOperation("编辑栏目")
@SaCheckPermission("spread.category")
@SLog(tag = "风采墙-栏目管理", msg = "编辑栏目:${args[0].id}")
@Aop(TransAop.READ_COMMITTED)
public Result doEdit(SpreadCategory category) {
try {
categoryService.updateCategory(category);
return Result.success();
} catch (RuntimeException e) {
return Result.error(e.getMessage());
}
}
@At
@ApiOperation("删除栏目")
@SaCheckPermission("spread.category")
@SLog(tag = "风采墙-栏目管理", msg = "删除栏目:${args[0]}")
@Aop(TransAop.READ_COMMITTED)
public Result doDelete(String id) {
try {
categoryService.deleteCategory(id);
return Result.success();
} catch (RuntimeException e) {
return Result.error(e.getMessage());
}
}
@At
@ApiOperation("设置栏目显示状态")
@SaCheckPermission("spread.category")
@SLog(tag = "风采墙-栏目管理", msg = "栏目:${args[0]},显示状态:${args[1]}")
@Aop(TransAop.READ_COMMITTED)
public Result doVisible(String id, Integer visible) {
try {
categoryService.setVisible(id, visible);
return Result.success();
} catch (RuntimeException e) {
return Result.error(e.getMessage());
}
}
}
@@ -0,0 +1,88 @@
package com.budwk.app.zhgh.spread.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.budwk.app.base.annotation.SLog;
import com.budwk.app.base.result.Result;
import com.budwk.app.zhgh.spread.models.SpreadContent;
import com.budwk.app.zhgh.spread.service.SpreadCategoryService;
import com.budwk.app.zhgh.spread.service.SpreadContentService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.nutz.aop.interceptor.ioc.TransAop;
import org.nutz.ioc.aop.Aop;
import org.nutz.ioc.loader.annotation.Inject;
import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.mvc.annotation.At;
import org.nutz.mvc.annotation.Ok;
@IocBean
@Ok("json:full")
@Api("风采墙-内容发布")
@At("/platform/spread/creation")
public class SpreadCreationController {
@Inject
private SpreadCategoryService categoryService;
@Inject
private SpreadContentService contentService;
@At("")
@Ok("beetl:/platform/zhgh/spread/creation/index.html")
@SaCheckPermission("spread.creation")
public void index() {
}
@At
@ApiOperation("可选栏目树")
@SaCheckPermission("spread.creation")
public Result categoryTree() {
return Result.success(categoryService.categoryTree(true));
}
@At
@ApiOperation("当前登录人员可选择的工会")
@SaCheckPermission("spread.creation")
public Result unionOptions() {
return Result.success(contentService.selectableUnions());
}
@At
@ApiOperation("内容详情")
@SaCheckPermission("spread.creation")
public Result detailData(String id) {
try {
return Result.success(contentService.getContent(id));
} catch (RuntimeException e) {
return Result.error(e.getMessage());
}
}
@At
@ApiOperation("新增内容")
@SaCheckPermission("spread.creation")
@SLog(tag = "风采墙-内容发布", msg = "新增内容:${args[0].title}")
@Aop(TransAop.READ_COMMITTED)
public Result doAdd(SpreadContent content) {
try {
contentService.saveContent(content);
return Result.success();
} catch (RuntimeException e) {
return Result.error(e.getMessage());
}
}
@At
@ApiOperation("编辑内容")
@SaCheckPermission("spread.creation")
@SLog(tag = "风采墙-内容发布", msg = "编辑内容:${args[0].id}")
@Aop(TransAop.READ_COMMITTED)
public Result doEdit(SpreadContent content) {
try {
contentService.updateContent(content);
return Result.success();
} catch (RuntimeException e) {
return Result.error(e.getMessage());
}
}
}
@@ -0,0 +1,76 @@
package com.budwk.app.zhgh.spread.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.budwk.app.base.param.PageForm;
import com.budwk.app.base.result.Result;
import com.budwk.app.zhgh.spread.service.SpreadCategoryService;
import com.budwk.app.zhgh.spread.service.SpreadContentService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.nutz.ioc.loader.annotation.Inject;
import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.mvc.annotation.At;
import org.nutz.mvc.annotation.Ok;
@IocBean
@Ok("json:full")
@Api("风采墙-展示")
@At("/platform/spread/display")
public class SpreadDisplayController {
@Inject
private SpreadCategoryService categoryService;
@Inject
private SpreadContentService contentService;
@At("")
@Ok("beetl:/platform/zhgh/spread/display/index.html")
@SaCheckPermission("spread.display")
public void index() {
}
@At
@ApiOperation("可见栏目树")
@SaCheckPermission("spread.display")
public Result categoryTree() {
return Result.success(categoryService.categoryTree(true));
}
@At
@ApiOperation("已发布内容分页")
@SaCheckPermission("spread.display")
public Result pageData(PageForm pageForm, String categoryId) {
return Result.success(contentService.pagePublished(pageForm, categoryId));
}
@At
@ApiOperation("内容详情")
@SaCheckPermission("spread.display")
public Result detailData(String id) {
try {
return Result.success(contentService.getContent(id));
} catch (RuntimeException e) {
return Result.error(e.getMessage());
}
}
@At
@ApiOperation("轮播内容")
@SaCheckPermission("spread.display")
public Result sliderData() {
return Result.success(contentService.sliderContent());
}
@At
@ApiOperation("增加浏览量")
@SaCheckPermission("spread.display")
public Result addView(String id) {
try {
contentService.addViewCount(id);
return Result.success();
} catch (RuntimeException e) {
return Result.error(e.getMessage());
}
}
}
@@ -0,0 +1,78 @@
package com.budwk.app.zhgh.spread.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.budwk.app.base.annotation.SLog;
import com.budwk.app.base.param.PageForm;
import com.budwk.app.base.result.Result;
import com.budwk.app.zhgh.spread.param.SpreadContentQuery;
import com.budwk.app.zhgh.spread.service.SpreadCategoryService;
import com.budwk.app.zhgh.spread.service.SpreadContentService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.nutz.aop.interceptor.ioc.TransAop;
import org.nutz.ioc.aop.Aop;
import org.nutz.ioc.loader.annotation.Inject;
import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.mvc.annotation.At;
import org.nutz.mvc.annotation.Ok;
@IocBean
@Ok("json:full")
@Api("风采墙-内容管理")
@At("/platform/spread/manage")
public class SpreadManageController {
@Inject
private SpreadCategoryService categoryService;
@Inject
private SpreadContentService contentService;
@At("")
@Ok("beetl:/platform/zhgh/spread/manage/index.html")
@SaCheckPermission("spread.manage")
public void index() {
}
@At
@ApiOperation("内容分页")
@SaCheckPermission("spread.manage")
public Result pageData(PageForm pageForm, SpreadContentQuery query) {
return Result.success(contentService.pageContent(pageForm, query));
}
@At
@ApiOperation("栏目树")
@SaCheckPermission("spread.manage")
public Result categoryTree() {
return Result.success(categoryService.categoryTree(false));
}
@At
@ApiOperation("删除内容")
@SaCheckPermission("spread.manage")
@SLog(tag = "风采墙-内容管理", msg = "删除内容:${args[0]}")
@Aop(TransAop.READ_COMMITTED)
public Result doDelete(String id) {
try {
contentService.deleteContent(id);
return Result.success();
} catch (RuntimeException e) {
return Result.error(e.getMessage());
}
}
@At
@ApiOperation("发布或撤回内容")
@SaCheckPermission("spread.manage")
@SLog(tag = "风采墙-内容管理", msg = "内容:${args[0]},发布状态:${args[1]}")
@Aop(TransAop.READ_COMMITTED)
public Result doPublish(String id, Integer status) {
try {
contentService.publishContent(id, status);
return Result.success();
} catch (RuntimeException e) {
return Result.error(e.getMessage());
}
}
}
@@ -0,0 +1,60 @@
package com.budwk.app.zhgh.spread.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.budwk.app.base.result.Result;
import com.budwk.app.zhgh.spread.param.SpreadStatisticsQuery;
import com.budwk.app.zhgh.spread.service.SpreadCategoryService;
import com.budwk.app.zhgh.spread.service.SpreadStatisticsService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.nutz.ioc.loader.annotation.Inject;
import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.mvc.annotation.At;
import org.nutz.mvc.annotation.Ok;
@IocBean
@Ok("json:full")
@Api("风采墙-统计分析")
@At("/platform/spread/statistics")
public class SpreadStatisticsController {
@Inject
private SpreadCategoryService categoryService;
@Inject
private SpreadStatisticsService statisticsService;
@At("")
@Ok("beetl:/platform/zhgh/spread/statistics/index.html")
@SaCheckPermission("spread.statistics")
public void index() {
}
@At
@ApiOperation("栏目树")
@SaCheckPermission("spread.statistics")
public Result categoryTree() {
return Result.success(categoryService.categoryTree(false));
}
@At
@ApiOperation("统计卡片")
@SaCheckPermission("spread.statistics")
public Result summary(SpreadStatisticsQuery query) {
return Result.success(statisticsService.summary(query));
}
@At
@ApiOperation("浏览量前十")
@SaCheckPermission("spread.statistics")
public Result top10(SpreadStatisticsQuery query) {
return Result.success(statisticsService.top10(query));
}
@At
@ApiOperation("栏目统计")
@SaCheckPermission("spread.statistics")
public Result categoryData(SpreadStatisticsQuery query) {
return Result.success(statisticsService.categoryStatistics(query));
}
}
@@ -0,0 +1,112 @@
package com.budwk.app.zhgh.spread.h5controller;
import cn.dev33.satoken.annotation.SaCheckLogin;
import com.budwk.app.base.param.PageForm;
import com.budwk.app.base.result.Result;
import com.budwk.app.zhgh.spread.service.SpreadCategoryService;
import com.budwk.app.zhgh.spread.service.SpreadContentService;
import io.swagger.annotations.ApiOperation;
import org.nutz.ioc.loader.annotation.Inject;
import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.mvc.annotation.At;
import org.nutz.mvc.annotation.Ok;
/**
* 风采墙 H5 展示控制器,提供栏目、列表和内容详情预览。
*/
@IocBean
@Ok("json:full")
@At("/platform/h5/spread")
public class H5SpreadDisplayController {
@Inject
private SpreadCategoryService categoryService;
@Inject
private SpreadContentService contentService;
/**
* 打开风采墙 H5 预览页面。
*/
@At("")
@Ok("beetl:/platform/zhghh5/spread/display/index.html")
@SaCheckLogin
public void index() {
}
/**
* 打开工会动态 H5 详情页面。
*/
@At("/detail")
@Ok("beetl:/platform/zhghh5/spread/display/detail.html")
@SaCheckLogin
public void detail() {
}
/**
* 查询 H5 端可见栏目树。
*
* @return 按层级组织的可见栏目
*/
@At
@SaCheckLogin
@ApiOperation("H5可见栏目树")
public Result categoryTree() {
return Result.success(categoryService.categoryTree(true));
}
/**
* 查询指定栏目及其子栏目的已发布内容。
*
* @param pageForm 分页参数
* @param categoryId 栏目 ID
* @param title 标题模糊查询条件
* @param sortType 排序方式
* @param publishDays 发布时间范围天数
* @param contentFlag 内容属性筛选
* @return 已发布内容分页数据
*/
@At
@SaCheckLogin
@ApiOperation("H5已发布内容分页")
public Result pageData(PageForm pageForm, String categoryId, String title,
String sortType, Integer publishDays, String contentFlag) {
return Result.success(contentService.pagePublished(pageForm, categoryId, title,
sortType, publishDays, contentFlag));
}
/**
* 查询 H5 内容详情。
*
* @param id 内容 ID
* @return 内容详情
*/
@At
@SaCheckLogin
@ApiOperation("H5内容详情")
public Result detailData(String id) {
try {
return Result.success(contentService.getContent(id));
} catch (RuntimeException e) {
return Result.error(e.getMessage());
}
}
/**
* 登记 H5 内容浏览量。
*
* @param id 内容 ID
* @return 操作结果
*/
@At
@SaCheckLogin
@ApiOperation("H5增加浏览量")
public Result addView(String id) {
try {
contentService.addViewCount(id);
return Result.success();
} catch (RuntimeException e) {
return Result.error(e.getMessage());
}
}
}
@@ -0,0 +1,55 @@
package com.budwk.app.zhgh.spread.models;
import com.budwk.app.base.model.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.nutz.dao.entity.annotation.ColDefine;
import org.nutz.dao.entity.annotation.ColType;
import org.nutz.dao.entity.annotation.Column;
import org.nutz.dao.entity.annotation.Comment;
import org.nutz.dao.entity.annotation.Name;
import org.nutz.dao.entity.annotation.Table;
import org.nutz.dao.interceptor.annotation.PrevInsert;
@Data
@Table("spread_category")
@EqualsAndHashCode(callSuper = true)
public class SpreadCategory extends BaseModel {
@Column
@Name
@Comment("ID")
@ColDefine(type = ColType.VARCHAR, width = 32)
@PrevInsert(uu32 = true)
private String id;
@Column
@Comment("父栏目ID0表示顶级栏目")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String parentId;
@Column
@Comment("栏目名称")
@ColDefine(type = ColType.VARCHAR, width = 100)
private String name;
@Column
@Comment("栏目编码")
@ColDefine(type = ColType.VARCHAR, width = 50)
private String code;
@Column
@Comment("排序")
@ColDefine(type = ColType.INT)
private Integer sortOrder;
@Column
@Comment("是否可见")
@ColDefine(type = ColType.INT)
private Integer visible;
@Column
@Comment("是否参与轮播")
@ColDefine(type = ColType.INT)
private Integer slider;
}
@@ -0,0 +1,109 @@
package com.budwk.app.zhgh.spread.models;
import com.budwk.app.base.model.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.nutz.dao.entity.annotation.ColDefine;
import org.nutz.dao.entity.annotation.ColType;
import org.nutz.dao.entity.annotation.Column;
import org.nutz.dao.entity.annotation.Comment;
import org.nutz.dao.entity.annotation.Name;
import org.nutz.dao.entity.annotation.Table;
import org.nutz.dao.interceptor.annotation.PrevInsert;
@Data
@Table("spread_content")
@EqualsAndHashCode(callSuper = true)
public class SpreadContent extends BaseModel {
@Column
@Name
@Comment("ID")
@ColDefine(type = ColType.VARCHAR, width = 32)
@PrevInsert(uu32 = true)
private String id;
@Column
@Comment("栏目ID")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String categoryId;
@Column
@Comment("栏目名称")
@ColDefine(type = ColType.VARCHAR, width = 100)
private String categoryName;
@Column
@Comment("所属工会ID")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String unionId;
@Column
@Comment("所属工会名称")
@ColDefine(type = ColType.VARCHAR, width = 100)
private String unionName;
@Column
@Comment("标题")
@ColDefine(type = ColType.VARCHAR, width = 300)
private String title;
@Column
@Comment("副标题")
@ColDefine(type = ColType.VARCHAR, width = 255)
private String subTitle;
@Column
@Comment("摘要")
@ColDefine(type = ColType.VARCHAR, width = 1000)
private String summary;
@Column
@Comment("正文")
@ColDefine(customType = "longtext")
private String contentBody;
@Column
@Comment("封面图")
@ColDefine(type = ColType.VARCHAR, width = 1000)
private String thumbUrl;
@Column
@Comment("轮播图片")
@ColDefine(customType = "longtext")
private String sliderImages;
@Column
@Comment("是否置顶")
@ColDefine(type = ColType.INT)
private Integer isTop;
@Column
@Comment("是否推荐")
@ColDefine(type = ColType.INT)
private Integer isRecommend;
@Column
@Comment("是否头条")
@ColDefine(type = ColType.INT)
private Integer isHeadline;
@Column
@Comment("浏览量")
@ColDefine(type = ColType.INT)
private Integer viewCount;
@Column
@Comment("排序")
@ColDefine(type = ColType.INT)
private Integer sortOrder;
@Column
@Comment("是否发布")
@ColDefine(type = ColType.INT)
private Integer isPublished;
@Column
@Comment("发布时间")
private Long publishedAt;
}
@@ -0,0 +1,12 @@
package com.budwk.app.zhgh.spread.param;
import lombok.Data;
@Data
public class SpreadContentQuery {
private String categoryId;
private String title;
private Integer isPublished;
private String beginTime;
private String endTime;
}
@@ -0,0 +1,11 @@
package com.budwk.app.zhgh.spread.param;
import lombok.Data;
@Data
public class SpreadStatisticsQuery {
private String categoryId;
private Integer isPublished;
private String beginTime;
private String endTime;
}
@@ -0,0 +1,22 @@
package com.budwk.app.zhgh.spread.service;
import com.budwk.app.base.service.BaseService;
import com.budwk.app.zhgh.spread.models.SpreadCategory;
import org.nutz.lang.util.NutMap;
import java.util.List;
public interface SpreadCategoryService extends BaseService<SpreadCategory> {
List<SpreadCategory> listCategories(boolean visibleOnly);
List<NutMap> categoryTree(boolean visibleOnly);
void saveCategory(SpreadCategory category);
void updateCategory(SpreadCategory category);
void deleteCategory(String id);
void setVisible(String id, Integer visible);
}
@@ -0,0 +1,61 @@
package com.budwk.app.zhgh.spread.service;
import com.budwk.app.base.page.Pagination;
import com.budwk.app.base.param.PageForm;
import com.budwk.app.base.service.BaseService;
import com.budwk.app.zhgh.spread.models.SpreadContent;
import com.budwk.app.zhgh.spread.param.SpreadContentQuery;
import com.budwk.app.sys.models.Sys_union;
import org.nutz.lang.util.NutMap;
import java.util.List;
public interface SpreadContentService extends BaseService<SpreadContent> {
Pagination<NutMap> pageContent(PageForm pageForm, SpreadContentQuery query);
Pagination<NutMap> pagePublished(PageForm pageForm, String categoryId);
/**
* 分页查询指定栏目中标题匹配的已发布内容。
*
* @param pageForm 分页参数
* @param categoryId 栏目 ID,查询时包含该栏目的直接子栏目
* @param title 标题模糊查询条件
* @return 已发布内容分页数据
*/
Pagination<NutMap> pagePublished(PageForm pageForm, String categoryId, String title);
/**
* 按 H5 筛选条件分页查询已发布内容。
*
* @param pageForm 分页参数
* @param categoryId 栏目 ID,查询时包含该栏目的直接子栏目
* @param title 标题模糊查询条件
* @param sortType 排序方式:comprehensive、latest、views
* @param publishDays 发布时间范围天数,空或 0 表示不限
* @param contentFlag 内容属性:all、recommend、headline、top
* @return 已发布内容分页数据
*/
Pagination<NutMap> pagePublished(PageForm pageForm, String categoryId, String title,
String sortType, Integer publishDays, String contentFlag);
SpreadContent getContent(String id);
void saveContent(SpreadContent content);
void updateContent(SpreadContent content);
void deleteContent(String id);
void publishContent(String id, Integer status);
void addViewCount(String id);
List<NutMap> sliderContent();
/**
* 查询当前登录人员可选择的工会。
*/
List<Sys_union> selectableUnions();
}
@@ -0,0 +1,15 @@
package com.budwk.app.zhgh.spread.service;
import com.budwk.app.zhgh.spread.param.SpreadStatisticsQuery;
import org.nutz.lang.util.NutMap;
import java.util.List;
public interface SpreadStatisticsService {
NutMap summary(SpreadStatisticsQuery query);
List<NutMap> top10(SpreadStatisticsQuery query);
List<NutMap> categoryStatistics(SpreadStatisticsQuery query);
}
@@ -0,0 +1,183 @@
package com.budwk.app.zhgh.spread.service.impl;
import cn.hutool.core.util.StrUtil;
import com.budwk.app.base.service.impl.BaseServiceImpl;
import com.budwk.app.zhgh.spread.models.SpreadCategory;
import com.budwk.app.zhgh.spread.models.SpreadContent;
import com.budwk.app.zhgh.spread.service.SpreadCategoryService;
import org.nutz.dao.Cnd;
import org.nutz.dao.Dao;
import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.lang.util.NutMap;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
@IocBean(args = {"refer:dao"})
public class SpreadCategoryServiceImpl extends BaseServiceImpl<SpreadCategory> implements SpreadCategoryService {
public SpreadCategoryServiceImpl(Dao dao) {
super(dao);
}
@Override
public List<SpreadCategory> listCategories(boolean visibleOnly) {
Cnd cnd = Cnd.where("delFlag", "=", false);
if (visibleOnly) {
cnd.and("visible", "=", 1);
}
cnd.asc("sortOrder").asc("createdAt");
return query(cnd);
}
@Override
public List<NutMap> categoryTree(boolean visibleOnly) {
List<SpreadCategory> categories = listCategories(visibleOnly);
Map<String, NutMap> nodeMap = new LinkedHashMap<>();
Map<String, List<NutMap>> childrenMap = new LinkedHashMap<>();
for (SpreadCategory category : categories) {
List<NutMap> children = new ArrayList<>();
nodeMap.put(category.getId(), NutMap.NEW()
.addv("id", category.getId())
.addv("parentId", category.getParentId())
.addv("name", category.getName())
.addv("code", category.getCode())
.addv("sortOrder", category.getSortOrder())
.addv("visible", category.getVisible())
.addv("slider", category.getSlider())
.addv("children", children));
childrenMap.put(category.getId(), children);
}
List<NutMap> roots = new ArrayList<>();
for (NutMap node : nodeMap.values()) {
String parentId = node.getString("parentId");
if ("0".equals(parentId) || !nodeMap.containsKey(parentId)) {
roots.add(node);
} else {
// 直接向节点持有的原始集合追加,避免 NutMap 类型转换后子节点没有写回。
childrenMap.get(parentId).add(node);
}
}
// 叶子栏目不返回空 children,避免级联选择器误判为仍有下一级。
nodeMap.forEach((id, node) -> {
if (childrenMap.get(id).isEmpty()) {
node.remove("children");
}
});
return roots;
}
@Override
public void saveCategory(SpreadCategory category) {
validateCategory(category, null);
applyDefaults(category);
insert(category);
syncParentSlider(category);
}
@Override
public void updateCategory(SpreadCategory category) {
if (category == null || StrUtil.isBlank(category.getId())) {
throw new RuntimeException("请选择要编辑的栏目");
}
SpreadCategory dbCategory = fetch(category.getId());
if (dbCategory == null || Boolean.TRUE.equals(dbCategory.getDelFlag())) {
throw new RuntimeException("栏目不存在");
}
validateCategory(category, category.getId());
if (!dbCategory.getParentId().equals(category.getParentId())
&& count(Cnd.where("parentId", "=", category.getId()).and("delFlag", "=", false)) > 0) {
throw new RuntimeException("该栏目下存在子栏目,不能移动");
}
applyDefaults(category);
updateIgnoreNull(category);
syncParentSlider(category);
if ("0".equals(category.getParentId()) && Integer.valueOf(0).equals(category.getSlider())) {
SpreadCategory child = new SpreadCategory();
child.setSlider(0);
dao().update(SpreadCategory.class, org.nutz.dao.Chain.make("slider", 0),
Cnd.where("parentId", "=", category.getId()).and("delFlag", "=", false));
}
}
@Override
public void deleteCategory(String id) {
if (StrUtil.isBlank(id)) {
throw new RuntimeException("请选择要删除的栏目");
}
List<SpreadCategory> children = query(Cnd.where("parentId", "=", id).and("delFlag", "=", false));
List<String> ids = new ArrayList<>();
ids.add(id);
children.forEach(item -> ids.add(item.getId()));
if (dao().count(SpreadContent.class,
Cnd.where("categoryId", "in", ids).and("delFlag", "=", false)) > 0) {
throw new RuntimeException("栏目下存在内容,请先删除相关内容");
}
dao().clear(SpreadCategory.class, Cnd.where("id", "in", ids));
}
@Override
public void setVisible(String id, Integer visible) {
if (StrUtil.isBlank(id) || (visible == null || (visible != 0 && visible != 1))) {
throw new RuntimeException("栏目或显示状态不正确");
}
dao().update(SpreadCategory.class, org.nutz.dao.Chain.make("visible", visible),
Cnd.where("id", "=", id).and("delFlag", "=", false));
if (visible == 0) {
dao().update(SpreadCategory.class, org.nutz.dao.Chain.make("visible", 0),
Cnd.where("parentId", "=", id).and("delFlag", "=", false));
}
}
private void validateCategory(SpreadCategory category, String excludeId) {
if (category == null || StrUtil.isBlank(category.getName())) {
throw new RuntimeException("栏目名称不能为空");
}
category.setName(category.getName().trim());
// 参考模块不要求用户维护栏目编码,空值统一保存为 NULL。
category.setCode(StrUtil.isBlank(category.getCode()) ? null : category.getCode().trim());
category.setParentId(StrUtil.blankToDefault(category.getParentId(), "0"));
if (category.getId() != null && category.getId().equals(category.getParentId())) {
throw new RuntimeException("上级栏目不能选择自身");
}
if (!"0".equals(category.getParentId())) {
SpreadCategory parent = fetch(category.getParentId());
if (parent == null || Boolean.TRUE.equals(parent.getDelFlag())) {
throw new RuntimeException("上级栏目不存在");
}
if (!"0".equals(parent.getParentId())) {
throw new RuntimeException("风采墙栏目最多支持两级");
}
}
Cnd nameCnd = Cnd.where("name", "=", category.getName())
.and("parentId", "=", category.getParentId())
.and("delFlag", "=", false);
if (StrUtil.isNotBlank(excludeId)) {
nameCnd.and("id", "!=", excludeId);
}
if (count(nameCnd) > 0) {
throw new RuntimeException("同级栏目名称已存在");
}
}
private void applyDefaults(SpreadCategory category) {
if (category.getSortOrder() == null) {
category.setSortOrder(255);
}
if (category.getVisible() == null) {
category.setVisible(1);
}
if (category.getSlider() == null) {
category.setSlider(0);
}
}
private void syncParentSlider(SpreadCategory category) {
if (!"0".equals(category.getParentId()) && Integer.valueOf(1).equals(category.getSlider())) {
dao().update(SpreadCategory.class, org.nutz.dao.Chain.make("slider", 1),
Cnd.where("id", "=", category.getParentId()).and("delFlag", "=", false));
}
}
}
@@ -0,0 +1,377 @@
package com.budwk.app.zhgh.spread.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.budwk.app.base.constant.RoleConstant;
import com.budwk.app.base.page.Pagination;
import com.budwk.app.base.param.PageForm;
import com.budwk.app.base.service.impl.BaseServiceImpl;
import com.budwk.app.sys.models.Sys_union;
import com.budwk.app.web.commons.auth.utils.AuthUtil;
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
import com.budwk.app.zhgh.spread.models.SpreadCategory;
import com.budwk.app.zhgh.spread.models.SpreadContent;
import com.budwk.app.zhgh.spread.param.SpreadContentQuery;
import com.budwk.app.zhgh.spread.service.SpreadContentService;
import org.nutz.dao.Cnd;
import org.nutz.dao.Dao;
import org.nutz.dao.Sqls;
import org.nutz.dao.sql.Sql;
import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.lang.util.NutMap;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@IocBean(args = {"refer:dao"})
public class SpreadContentServiceImpl extends BaseServiceImpl<SpreadContent> implements SpreadContentService {
public SpreadContentServiceImpl(Dao dao) {
super(dao);
}
@Override
public Pagination<NutMap> pageContent(PageForm pageForm, SpreadContentQuery query) {
Cnd cnd = buildCondition(query);
Sql countSql = Sqls.create("""
SELECT COUNT(1)
FROM spread_content c
$condition
""");
countSql.setCondition(cnd);
countSql.setCallback(Sqls.callback.integer());
dao().execute(countSql);
Sql listSql = Sqls.create("""
SELECT c.*
FROM spread_content c
$condition
ORDER BY c.isTop DESC, c.sortOrder ASC, c.createdAt DESC
""");
listSql.setCondition(cnd);
listSql.setPager(dao().createPager(pageForm.getPageNumber(), pageForm.getPageSize()));
listSql.setCallback(Sqls.callback.maps());
dao().execute(listSql);
return new Pagination<>(pageForm.getPageNumber(), pageForm.getPageSize(),
countSql.getInt(), listSql.getList(NutMap.class));
}
@Override
public Pagination<NutMap> pagePublished(PageForm pageForm, String categoryId) {
return pagePublished(pageForm, categoryId, null, null, null, null);
}
/**
* 分页查询指定栏目中标题匹配的已发布内容。
*
* @param pageForm 分页参数
* @param categoryId 栏目 ID,查询时包含该栏目的直接子栏目
* @param title 标题模糊查询条件
* @return 已发布内容分页数据
*/
@Override
public Pagination<NutMap> pagePublished(PageForm pageForm, String categoryId, String title) {
return pagePublished(pageForm, categoryId, title, null, null, null);
}
/**
* 按 H5 筛选条件分页查询已发布内容。
*
* @param pageForm 分页参数
* @param categoryId 栏目 ID,查询时包含该栏目的直接子栏目
* @param title 标题模糊查询条件
* @param sortType 排序方式
* @param publishDays 发布时间范围天数
* @param contentFlag 内容属性筛选
* @return 已发布内容分页数据
*/
@Override
public Pagination<NutMap> pagePublished(PageForm pageForm, String categoryId, String title,
String sortType, Integer publishDays, String contentFlag) {
SpreadContentQuery query = new SpreadContentQuery();
query.setCategoryId(categoryId);
query.setTitle(title);
query.setIsPublished(1);
Cnd cnd = buildCondition(query);
if (publishDays != null && publishDays > 0) {
cnd.and("c.publishedAt", ">=", System.currentTimeMillis() - publishDays * 24L * 60L * 60L * 1000L);
}
if ("recommend".equals(contentFlag)) {
cnd.and("c.isRecommend", "=", 1);
} else if ("headline".equals(contentFlag)) {
cnd.and("c.isHeadline", "=", 1);
} else if ("top".equals(contentFlag)) {
cnd.and("c.isTop", "=", 1);
}
Sql countSql = Sqls.create("SELECT COUNT(1) FROM spread_content c $condition");
countSql.setCondition(cnd);
countSql.setCallback(Sqls.callback.integer());
dao().execute(countSql);
String orderBy = resolvePublishedOrder(sortType);
Sql listSql = Sqls.create("""
SELECT c.*,
CASE WHEN child.parentId = '0' OR parent.id IS NULL THEN child.name ELSE parent.name END AS parentCategoryName,
CASE WHEN child.parentId = '0' OR parent.id IS NULL THEN NULL ELSE child.name END AS childCategoryName
FROM spread_content c
LEFT JOIN spread_category child ON child.id = c.categoryId AND child.delFlag = 0
LEFT JOIN spread_category parent ON parent.id = child.parentId AND parent.delFlag = 0
$condition
ORDER BY
""" + orderBy);
listSql.setCondition(cnd);
listSql.setPager(dao().createPager(pageForm.getPageNumber(), pageForm.getPageSize()));
listSql.setCallback(Sqls.callback.maps());
dao().execute(listSql);
return new Pagination<>(pageForm.getPageNumber(), pageForm.getPageSize(),
countSql.getInt(), listSql.getList(NutMap.class));
}
/**
* 将前端排序标识转换为固定 SQL 排序片段,避免客户端直接控制排序字段。
*/
private String resolvePublishedOrder(String sortType) {
if ("latest".equals(sortType)) {
return "c.publishedAt DESC, c.createdAt DESC";
}
if ("views".equals(sortType)) {
return "c.viewCount DESC, c.publishedAt DESC, c.createdAt DESC";
}
return "c.isTop DESC, c.publishedAt DESC, c.sortOrder ASC, c.createdAt DESC";
}
@Override
public SpreadContent getContent(String id) {
if (StrUtil.isBlank(id)) {
throw new RuntimeException("请选择内容");
}
SpreadContent content = fetch(Cnd.where("id", "=", id).and("delFlag", "=", false));
if (content == null) {
throw new RuntimeException("内容不存在");
}
return content;
}
@Override
public void saveContent(SpreadContent content) {
validateContent(content);
applyDefaults(content);
if (Integer.valueOf(1).equals(content.getIsPublished())) {
content.setPublishedAt(System.currentTimeMillis());
}
insert(content);
}
@Override
public void updateContent(SpreadContent content) {
if (content == null || StrUtil.isBlank(content.getId())) {
throw new RuntimeException("请选择要编辑的内容");
}
SpreadContent dbContent = getContent(content.getId());
validateContent(content);
applyDefaults(content);
if (Integer.valueOf(1).equals(content.getIsPublished()) && !Integer.valueOf(1).equals(dbContent.getIsPublished())) {
content.setPublishedAt(System.currentTimeMillis());
}
updateIgnoreNull(content);
}
@Override
public void deleteContent(String id) {
getContent(id);
dao().clear(SpreadContent.class, Cnd.where("id", "=", id));
}
@Override
public void publishContent(String id, Integer status) {
getContent(id);
if (status == null || (status != 0 && status != 1)) {
throw new RuntimeException("发布状态不正确");
}
org.nutz.dao.Chain chain = org.nutz.dao.Chain.make("isPublished", status);
if (status == 1) {
chain.add("publishedAt", System.currentTimeMillis());
}
dao().update(SpreadContent.class, chain, Cnd.where("id", "=", id).and("delFlag", "=", false));
}
@Override
public void addViewCount(String id) {
getContent(id);
Sql sql = Sqls.create("""
UPDATE spread_content
SET viewCount = IFNULL(viewCount, 0) + 1,
updatedAt = @updatedAt
WHERE id = @id AND delFlag = 0
""");
sql.params().set("id", id);
sql.params().set("updatedAt", System.currentTimeMillis());
dao().execute(sql);
}
@Override
public List<NutMap> sliderContent() {
Sql sql = Sqls.create("""
SELECT c.id, c.title, c.summary, c.thumbUrl, c.sliderImages, c.categoryId, c.categoryName, c.unionId, c.unionName
FROM spread_content c
INNER JOIN spread_category child ON child.id = c.categoryId
LEFT JOIN spread_category parent ON parent.id = child.parentId
WHERE c.delFlag = 0
AND c.isPublished = 1
AND child.delFlag = 0
AND child.visible = 1
AND child.slider = 1
AND (child.parentId = '0' OR (parent.delFlag = 0 AND parent.visible = 1 AND parent.slider = 1))
ORDER BY c.isTop DESC, c.publishedAt DESC, c.createdAt DESC
LIMIT 10
""");
sql.setCallback(Sqls.callback.maps());
dao().execute(sql);
return sql.getList(NutMap.class);
}
@Override
public List<Sys_union> selectableUnions() {
Cnd cnd = Cnd.NEW();
if (!canSelectAllUnions()) {
String currentUnionId = SecurityUtil.getUnionId();
if (StrUtil.isBlank(currentUnionId)) {
return Collections.emptyList();
}
cnd.and("id", "=", currentUnionId);
}
cnd.asc("unionCode");
return dao().query(Sys_union.class, cnd);
}
/**
* 校工会管理员和系统管理员可选择全部工会,其他人员只能选择登录人员自己的分工会。
*/
private boolean canSelectAllUnions() {
return AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(), RoleConstant.SCHOOL_UNION_ADMIN.name());
}
/**
* 校验工会是否存在且在当前登录人员的可选择范围内。
*/
private Sys_union requireSelectableUnion(String unionId) {
if (StrUtil.isBlank(unionId)) {
throw new RuntimeException("请选择所属工会");
}
Sys_union union = dao().fetch(Sys_union.class, unionId);
if (union == null) {
throw new RuntimeException("所属工会不存在");
}
if (!canSelectAllUnions() && !unionId.equals(SecurityUtil.getUnionId())) {
throw new RuntimeException("无权选择该所属工会");
}
return union;
}
/**
* 校验并规范每张轮播图的标题,轮播图统一继承内容所属工会。
*/
private void validateSliderImages(SpreadContent content) {
if (StrUtil.isBlank(content.getSliderImages())) {
return;
}
JSONArray sliderArray;
try {
sliderArray = JSONUtil.parseArray(content.getSliderImages());
} catch (RuntimeException e) {
throw new RuntimeException("轮播图片数据格式不正确");
}
JSONArray normalizedArray = new JSONArray();
for (int i = 0; i < sliderArray.size(); i++) {
Object rawItem = sliderArray.get(i);
if (!(rawItem instanceof JSONObject)) {
throw new RuntimeException("请完善第" + (i + 1) + "张轮播图标题");
}
JSONObject item = (JSONObject) rawItem;
if (StrUtil.isBlank(item.getStr("src"))) {
throw new RuntimeException("" + (i + 1) + "张轮播图地址不能为空");
}
if (StrUtil.isBlank(item.getStr("title"))) {
throw new RuntimeException("请输入第" + (i + 1) + "张轮播图标题");
}
JSONObject normalizedItem = new JSONObject();
normalizedItem.set("src", item.getStr("src"));
normalizedItem.set("title", item.getStr("title").trim());
normalizedArray.add(normalizedItem);
}
content.setSliderImages(JSONUtil.toJsonStr(normalizedArray));
}
private Cnd buildCondition(SpreadContentQuery query) {
Cnd cnd = Cnd.where("c.delFlag", "=", false);
if (query == null) {
return cnd;
}
if (StrUtil.isNotBlank(query.getCategoryId())) {
List<String> categoryIds = new ArrayList<>();
categoryIds.add(query.getCategoryId());
List<SpreadCategory> children = dao().query(SpreadCategory.class,
Cnd.where("parentId", "=", query.getCategoryId()).and("delFlag", "=", false));
children.forEach(item -> categoryIds.add(item.getId()));
cnd.and("c.categoryId", "in", categoryIds);
}
cnd.and(Cnd.likeEX("c.title", query.getTitle()));
cnd.andEX("c.isPublished", "=", query.getIsPublished());
if (StrUtil.isNotBlank(query.getBeginTime())) {
cnd.and("c.createdAt", ">=", DateUtil.parse(query.getBeginTime()).getTime());
}
if (StrUtil.isNotBlank(query.getEndTime())) {
cnd.and("c.createdAt", "<=", DateUtil.parse(query.getEndTime()).getTime());
}
return cnd;
}
private void validateContent(SpreadContent content) {
if (content == null || StrUtil.isBlank(content.getCategoryId())) {
throw new RuntimeException("请选择栏目");
}
SpreadCategory category = dao().fetch(SpreadCategory.class,
Cnd.where("id", "=", content.getCategoryId()).and("delFlag", "=", false));
if (category == null) {
throw new RuntimeException("栏目不存在");
}
if (dao().count(SpreadCategory.class,
Cnd.where("parentId", "=", category.getId()).and("delFlag", "=", false)) > 0) {
throw new RuntimeException("内容只能发布到末级栏目");
}
Sys_union union = requireSelectableUnion(content.getUnionId());
if (StrUtil.isBlank(content.getTitle())) {
throw new RuntimeException("标题不能为空");
}
content.setTitle(content.getTitle().trim());
content.setCategoryName(category.getName());
content.setUnionName(union.getName());
validateSliderImages(content);
}
private void applyDefaults(SpreadContent content) {
if (content.getIsTop() == null) {
content.setIsTop(0);
}
if (content.getIsRecommend() == null) {
content.setIsRecommend(0);
}
if (content.getIsHeadline() == null) {
content.setIsHeadline(0);
}
if (content.getViewCount() == null) {
content.setViewCount(0);
}
if (content.getSortOrder() == null) {
content.setSortOrder(255);
}
if (content.getIsPublished() == null) {
content.setIsPublished(0);
}
}
}
@@ -0,0 +1,115 @@
package com.budwk.app.zhgh.spread.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.budwk.app.zhgh.spread.param.SpreadStatisticsQuery;
import com.budwk.app.zhgh.spread.service.SpreadStatisticsService;
import org.nutz.dao.Dao;
import org.nutz.dao.Sqls;
import org.nutz.dao.sql.Sql;
import org.nutz.ioc.loader.annotation.Inject;
import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.lang.util.NutMap;
import java.util.List;
@IocBean
public class SpreadStatisticsServiceImpl implements SpreadStatisticsService {
@Inject
private Dao dao;
@Override
public NutMap summary(SpreadStatisticsQuery query) {
String condition = buildContentCondition(query, "c");
Sql sql = Sqls.create("""
SELECT
(SELECT COUNT(1) FROM spread_category cg WHERE cg.delFlag = 0) AS categoryCount,
COUNT(1) AS contentCount,
IFNULL(SUM(CASE WHEN c.isPublished = 1 THEN 1 ELSE 0 END), 0) AS publishedCount,
IFNULL(SUM(c.viewCount), 0) AS viewCount,
IFNULL(ROUND(AVG(c.viewCount)), 0) AS avgViewCount
FROM spread_content c
WHERE c.delFlag = 0
$condition
""");
sql.setVar("condition", condition);
setParams(sql, query);
sql.setCallback(Sqls.callback.map());
dao.execute(sql);
NutMap result = sql.getObject(NutMap.class);
return result == null ? NutMap.NEW() : result;
}
@Override
public List<NutMap> top10(SpreadStatisticsQuery query) {
Sql sql = Sqls.create("""
SELECT c.id, c.title, c.summary, c.categoryName, c.unionId, c.unionName, c.viewCount, c.isPublished, c.publishedAt
FROM spread_content c
WHERE c.delFlag = 0
AND c.isPublished = 1
$condition
ORDER BY c.viewCount DESC, c.updatedAt DESC
LIMIT 10
""");
sql.setVar("condition", buildContentCondition(query, "c"));
setParams(sql, query);
sql.setCallback(Sqls.callback.maps());
dao.execute(sql);
return sql.getList(NutMap.class);
}
@Override
public List<NutMap> categoryStatistics(SpreadStatisticsQuery query) {
Sql sql = Sqls.create("""
SELECT c.categoryId, c.categoryName, COUNT(1) AS contentCount,
IFNULL(SUM(c.viewCount), 0) AS viewCount
FROM spread_content c
WHERE c.delFlag = 0
AND c.isPublished = 1
$condition
GROUP BY c.categoryId, c.categoryName
ORDER BY viewCount DESC, contentCount DESC
""");
sql.setVar("condition", buildContentCondition(query, "c"));
setParams(sql, query);
sql.setCallback(Sqls.callback.maps());
dao.execute(sql);
return sql.getList(NutMap.class);
}
private String buildContentCondition(SpreadStatisticsQuery query, String alias) {
if (query == null) {
return "";
}
StringBuilder condition = new StringBuilder();
if (StrUtil.isNotBlank(query.getCategoryId())) {
condition.append(" AND ").append(alias)
.append(".categoryId IN (SELECT id FROM spread_category WHERE id = @categoryId OR parentId = @categoryId)");
}
if (query.getIsPublished() != null) {
condition.append(" AND ").append(alias).append(".isPublished = @isPublished");
}
if (StrUtil.isNotBlank(query.getBeginTime())) {
condition.append(" AND ").append(alias).append(".createdAt >= @beginAt");
}
if (StrUtil.isNotBlank(query.getEndTime())) {
condition.append(" AND ").append(alias).append(".createdAt <= @endAt");
}
return condition.toString();
}
private void setParams(Sql sql, SpreadStatisticsQuery query) {
if (query == null) {
return;
}
sql.params().set("categoryId", query.getCategoryId());
sql.params().set("isPublished", query.getIsPublished());
if (StrUtil.isNotBlank(query.getBeginTime())) {
sql.params().set("beginAt", DateUtil.parse(query.getBeginTime()).getTime());
}
if (StrUtil.isNotBlank(query.getEndTime())) {
sql.params().set("endAt", DateUtil.parse(query.getEndTime()).getTime());
}
}
}
@@ -0,0 +1,79 @@
-- 风采墙电脑端菜单。使用 permission 做幂等判断,脚本可重复执行。
INSERT INTO sys_menu (id, parentId, path, name, aliasName, type, href, target, icon, showit, disabled, permission, note, location, hasChildren, createdBy, createdAt, updatedBy, updatedAt, delFlag, platform, moduleId, picIcon, initialPinyinName, isRecommendApp, isRecommendService)
SELECT
'9f5c0200000000000000000000000001',
'',
LPAD(IFNULL(MAX(CAST(path AS UNSIGNED)), 0) + 1, 4, '0'),
'风采墙',
'Style Wall',
'menu',
'',
'',
'ti-medall',
1,
0,
'spread',
NULL,
992,
1,
'',
UNIX_TIMESTAMP(NOW()) * 1000,
'',
UNIX_TIMESTAMP(NOW()) * 1000,
0,
'PC',
NULL,
NULL,
'f',
0,
0
FROM sys_menu
WHERE (parentId = '' OR parentId IS NULL)
AND CHAR_LENGTH(path) = 4
HAVING NOT EXISTS (SELECT 1 FROM (SELECT id FROM sys_menu WHERE permission = 'spread') t);
INSERT INTO sys_menu (id, parentId, path, name, aliasName, type, href, target, icon, showit, disabled, permission, note, location, hasChildren, createdBy, createdAt, updatedBy, updatedAt, delFlag, platform, moduleId, picIcon, initialPinyinName, isRecommendApp, isRecommendService)
SELECT '9f5c0200000000000000000000000002', p.id, CONCAT(p.path, '0001'), '风采展示', 'Style Display', 'menu', '/platform/spread/display', 'data-pjax', '', 1, 0, 'spread.display', NULL, 1, 0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0, 'PC', NULL, NULL, 'f', 0, 0
FROM sys_menu p
WHERE p.permission = 'spread'
AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM sys_menu WHERE permission = 'spread.display') t);
INSERT INTO sys_menu (id, parentId, path, name, aliasName, type, href, target, icon, showit, disabled, permission, note, location, hasChildren, createdBy, createdAt, updatedBy, updatedAt, delFlag, platform, moduleId, picIcon, initialPinyinName, isRecommendApp, isRecommendService)
SELECT '9f5c0200000000000000000000000003', p.id, CONCAT(p.path, '0002'), '内容发布', 'Content Creation', 'menu', '/platform/spread/creation', 'data-pjax', '', 1, 0, 'spread.creation', NULL, 2, 0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0, 'PC', NULL, NULL, 'n', 0, 0
FROM sys_menu p
WHERE p.permission = 'spread'
AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM sys_menu WHERE permission = 'spread.creation') t);
INSERT INTO sys_menu (id, parentId, path, name, aliasName, type, href, target, icon, showit, disabled, permission, note, location, hasChildren, createdBy, createdAt, updatedBy, updatedAt, delFlag, platform, moduleId, picIcon, initialPinyinName, isRecommendApp, isRecommendService)
SELECT '9f5c0200000000000000000000000004', p.id, CONCAT(p.path, '0003'), '内容管理', 'Content Manage', 'menu', '/platform/spread/manage', 'data-pjax', '', 1, 0, 'spread.manage', NULL, 3, 0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0, 'PC', NULL, NULL, 'n', 0, 0
FROM sys_menu p
WHERE p.permission = 'spread'
AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM sys_menu WHERE permission = 'spread.manage') t);
INSERT INTO sys_menu (id, parentId, path, name, aliasName, type, href, target, icon, showit, disabled, permission, note, location, hasChildren, createdBy, createdAt, updatedBy, updatedAt, delFlag, platform, moduleId, picIcon, initialPinyinName, isRecommendApp, isRecommendService)
SELECT '9f5c0200000000000000000000000005', p.id, CONCAT(p.path, '0004'), '栏目管理', 'Category Manage', 'menu', '/platform/spread/category', 'data-pjax', '', 1, 0, 'spread.category', NULL, 4, 0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0, 'PC', NULL, NULL, 'l', 0, 0
FROM sys_menu p
WHERE p.permission = 'spread'
AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM sys_menu WHERE permission = 'spread.category') t);
INSERT INTO sys_menu (id, parentId, path, name, aliasName, type, href, target, icon, showit, disabled, permission, note, location, hasChildren, createdBy, createdAt, updatedBy, updatedAt, delFlag, platform, moduleId, picIcon, initialPinyinName, isRecommendApp, isRecommendService)
SELECT '9f5c0200000000000000000000000006', p.id, CONCAT(p.path, '0005'), '统计分析', 'Statistics', 'menu', '/platform/spread/statistics', 'data-pjax', '', 1, 0, 'spread.statistics', NULL, 5, 0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0, 'PC', NULL, NULL, 't', 0, 0
FROM sys_menu p
WHERE p.permission = 'spread'
AND NOT EXISTS (SELECT 1 FROM (SELECT id FROM sys_menu WHERE permission = 'spread.statistics') t);
-- 系统管理员默认拥有风采墙全部权限,其他角色可在角色管理中按需分配。
INSERT INTO sys_role_menu (roleId, menuId)
SELECT r.id, m.id
FROM sys_role r
JOIN sys_menu m ON m.permission IN (
'spread',
'spread.display',
'spread.creation',
'spread.manage',
'spread.category',
'spread.statistics'
)
LEFT JOIN sys_role_menu rm ON rm.roleId = r.id AND rm.menuId = m.id
WHERE r.code = 'SYSADMIN'
AND rm.roleId IS NULL;
@@ -0,0 +1,479 @@
-- 工会系统H5全新扁平拟物化菜单图标MinIO文件记录及菜单图标更新脚本
-- 图标对象目录: menu-icons/v5-flat-skeuomorphic-blue/
SET NAMES utf8mb4;
START TRANSACTION;
INSERT INTO `sys_file` (`id`, `engine`, `bucket`, `name`, `suffix`, `sizeKb`, `sizeInfo`, `objName`, `storagePath`, `downloadPath`, `thumbnail`, `extJson`, `createdBy`, `createdAt`, `updatedBy`, `updatedAt`, `delFlag`) VALUES
('d4239ab512e02e319bde38b07d4776a0', 'MINIO', 'cug', '001_教代会管理_2e6f3930.png', 'png', '37', '36.8 kB', 'd4239ab512e02e319bde38b07d4776a0.png', '/menu-icons/v5-flat-skeuomorphic-blue/d4239ab512e02e319bde38b07d4776a0.png', '/platform/sys/file/download?id=d4239ab512e02e319bde38b07d4776a0', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('50988a1ded823d35c0d854afb2692b57', 'MINIO', 'cug', '002_子女信息管理_64ace209.png', 'png', '41', '40.8 kB', '50988a1ded823d35c0d854afb2692b57.png', '/menu-icons/v5-flat-skeuomorphic-blue/50988a1ded823d35c0d854afb2692b57.png', '/platform/sys/file/download?id=50988a1ded823d35c0d854afb2692b57', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('8a67dd727502fecf8855e4e913cf8e1e', 'MINIO', 'cug', '003_信息填写_eb18aa57.png', 'png', '39', '39.1 kB', '8a67dd727502fecf8855e4e913cf8e1e.png', '/menu-icons/v5-flat-skeuomorphic-blue/8a67dd727502fecf8855e4e913cf8e1e.png', '/platform/sys/file/download?id=8a67dd727502fecf8855e4e913cf8e1e', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('59955c44f86d8d0f45fd8f3e0d614612', 'MINIO', 'cug', '004_我的子女_835cb68e.png', 'png', '39', '38.8 kB', '59955c44f86d8d0f45fd8f3e0d614612.png', '/menu-icons/v5-flat-skeuomorphic-blue/59955c44f86d8d0f45fd8f3e0d614612.png', '/platform/sys/file/download?id=59955c44f86d8d0f45fd8f3e0d614612', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('d2f23637ecfd8f39cb46c25876223eeb', 'MINIO', 'cug', '005_信息管理_10ebaa5b.png', 'png', '39', '38.6 kB', 'd2f23637ecfd8f39cb46c25876223eeb.png', '/menu-icons/v5-flat-skeuomorphic-blue/d2f23637ecfd8f39cb46c25876223eeb.png', '/platform/sys/file/download?id=d2f23637ecfd8f39cb46c25876223eeb', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('9a7df21c6bd1f87d9eda769f00b40d89', 'MINIO', 'cug', '006_子女入学_e7cf2f56.png', 'png', '48', '48.2 kB', '9a7df21c6bd1f87d9eda769f00b40d89.png', '/menu-icons/v5-flat-skeuomorphic-blue/9a7df21c6bd1f87d9eda769f00b40d89.png', '/platform/sys/file/download?id=9a7df21c6bd1f87d9eda769f00b40d89', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('b41ca4fa2c2462254bb6d7efffc285a4', 'MINIO', 'cug', '007_入学申报_40a293cc.png', 'png', '39', '39.5 kB', 'b41ca4fa2c2462254bb6d7efffc285a4.png', '/menu-icons/v5-flat-skeuomorphic-blue/b41ca4fa2c2462254bb6d7efffc285a4.png', '/platform/sys/file/download?id=b41ca4fa2c2462254bb6d7efffc285a4', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('3b0245e70916a36073e0fef16f2e1f32', 'MINIO', 'cug', '008_我的申报_2666d0ae.png', 'png', '34', '33.5 kB', '3b0245e70916a36073e0fef16f2e1f32.png', '/menu-icons/v5-flat-skeuomorphic-blue/3b0245e70916a36073e0fef16f2e1f32.png', '/platform/sys/file/download?id=3b0245e70916a36073e0fef16f2e1f32', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('202d0ae8211611a6947ff7caecbe7e2b', 'MINIO', 'cug', '009_分工会审核_ea574347.png', 'png', '40', '39.5 kB', '202d0ae8211611a6947ff7caecbe7e2b.png', '/menu-icons/v5-flat-skeuomorphic-blue/202d0ae8211611a6947ff7caecbe7e2b.png', '/platform/sys/file/download?id=202d0ae8211611a6947ff7caecbe7e2b', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('4e2070b1c0908d460dbf67f01818d29c', 'MINIO', 'cug', '010_校工会审核_9441d18c.png', 'png', '40', '39.7 kB', '4e2070b1c0908d460dbf67f01818d29c.png', '/menu-icons/v5-flat-skeuomorphic-blue/4e2070b1c0908d460dbf67f01818d29c.png', '/platform/sys/file/download?id=4e2070b1c0908d460dbf67f01818d29c', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('7b10699834f961eda7a12df20a6e1ce7', 'MINIO', 'cug', '011_教代会_44a59a2b.png', 'png', '39', '39.3 kB', '7b10699834f961eda7a12df20a6e1ce7.png', '/menu-icons/v5-flat-skeuomorphic-blue/7b10699834f961eda7a12df20a6e1ce7.png', '/platform/sys/file/download?id=7b10699834f961eda7a12df20a6e1ce7', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('662b152a6a5d2b7b694a4076cdd218e3', 'MINIO', 'cug', '012_代表阅览_1c2aee7d.png', 'png', '45', '45.0 kB', '662b152a6a5d2b7b694a4076cdd218e3.png', '/menu-icons/v5-flat-skeuomorphic-blue/662b152a6a5d2b7b694a4076cdd218e3.png', '/platform/sys/file/download?id=662b152a6a5d2b7b694a4076cdd218e3', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('39325d6ef536fa6413c6a9e2edb98425', 'MINIO', 'cug', '013_提案管理_11db6856.png', 'png', '41', '41.1 kB', '39325d6ef536fa6413c6a9e2edb98425.png', '/menu-icons/v5-flat-skeuomorphic-blue/39325d6ef536fa6413c6a9e2edb98425.png', '/platform/sys/file/download?id=39325d6ef536fa6413c6a9e2edb98425', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('4084d4436cbfa13f84a9dca9177ce6ab', 'MINIO', 'cug', '014_撰写提案_d5d7964e.png', 'png', '41', '40.8 kB', '4084d4436cbfa13f84a9dca9177ce6ab.png', '/menu-icons/v5-flat-skeuomorphic-blue/4084d4436cbfa13f84a9dca9177ce6ab.png', '/platform/sys/file/download?id=4084d4436cbfa13f84a9dca9177ce6ab', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('7339d3c16569a5c925794378a300fa9e', 'MINIO', 'cug', '015_我的提案_c4411525.png', 'png', '41', '41.2 kB', '7339d3c16569a5c925794378a300fa9e.png', '/menu-icons/v5-flat-skeuomorphic-blue/7339d3c16569a5c925794378a300fa9e.png', '/platform/sys/file/download?id=7339d3c16569a5c925794378a300fa9e', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('99eca55c6eea6eb0451aeb4fdcdd0942', 'MINIO', 'cug', '016_提案附议_eb4ed857.png', 'png', '47', '46.7 kB', '99eca55c6eea6eb0451aeb4fdcdd0942.png', '/menu-icons/v5-flat-skeuomorphic-blue/99eca55c6eea6eb0451aeb4fdcdd0942.png', '/platform/sys/file/download?id=99eca55c6eea6eb0451aeb4fdcdd0942', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('0532afa3620e20113505b03755959ee0', 'MINIO', 'cug', '017_团长审核_c4b99724.png', 'png', '40', '39.7 kB', '0532afa3620e20113505b03755959ee0.png', '/menu-icons/v5-flat-skeuomorphic-blue/0532afa3620e20113505b03755959ee0.png', '/platform/sys/file/download?id=0532afa3620e20113505b03755959ee0', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('3d7c1a8b6778409f063cfd5197649d99', 'MINIO', 'cug', '018_承办单位答复_56835d07.png', 'png', '40', '40.3 kB', '3d7c1a8b6778409f063cfd5197649d99.png', '/menu-icons/v5-flat-skeuomorphic-blue/3d7c1a8b6778409f063cfd5197649d99.png', '/platform/sys/file/download?id=3d7c1a8b6778409f063cfd5197649d99', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('7cd72e99031df0c21431ad64d0ac72a8', 'MINIO', 'cug', '019_分管校领导审批_304278a0.png', 'png', '40', '40.2 kB', '7cd72e99031df0c21431ad64d0ac72a8.png', '/menu-icons/v5-flat-skeuomorphic-blue/7cd72e99031df0c21431ad64d0ac72a8.png', '/platform/sys/file/download?id=7cd72e99031df0c21431ad64d0ac72a8', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('d2a477739ecf817c425e3113d66b0a01', 'MINIO', 'cug', '020_反馈评价_2b9b7227.png', 'png', '40', '40.2 kB', 'd2a477739ecf817c425e3113d66b0a01.png', '/menu-icons/v5-flat-skeuomorphic-blue/d2a477739ecf817c425e3113d66b0a01.png', '/platform/sys/file/download?id=d2a477739ecf817c425e3113d66b0a01', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('d608ed7f50b2fda7c9228372ba8012b0', 'MINIO', 'cug', '021_提案管理_ff182281.png', 'png', '41', '41.1 kB', 'd608ed7f50b2fda7c9228372ba8012b0.png', '/menu-icons/v5-flat-skeuomorphic-blue/d608ed7f50b2fda7c9228372ba8012b0.png', '/platform/sys/file/download?id=d608ed7f50b2fda7c9228372ba8012b0', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('2b16431101b09760db12387a3714d3c6', 'MINIO', 'cug', '022_承办单位意见_7c79171d.png', 'png', '40', '40.3 kB', '2b16431101b09760db12387a3714d3c6.png', '/menu-icons/v5-flat-skeuomorphic-blue/2b16431101b09760db12387a3714d3c6.png', '/platform/sys/file/download?id=2b16431101b09760db12387a3714d3c6', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('e0d5aa775264eae8d49114a8f3bf82e9', 'MINIO', 'cug', '023_费用报销管理_32a51579.png', 'png', '39', '39.0 kB', 'e0d5aa775264eae8d49114a8f3bf82e9.png', '/menu-icons/v5-flat-skeuomorphic-blue/e0d5aa775264eae8d49114a8f3bf82e9.png', '/platform/sys/file/download?id=e0d5aa775264eae8d49114a8f3bf82e9', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('1fda43541284c86b8d5f406ee5ebf1e0', 'MINIO', 'cug', '024_报销申请_6bdef282.png', 'png', '45', '44.8 kB', '1fda43541284c86b8d5f406ee5ebf1e0.png', '/menu-icons/v5-flat-skeuomorphic-blue/1fda43541284c86b8d5f406ee5ebf1e0.png', '/platform/sys/file/download?id=1fda43541284c86b8d5f406ee5ebf1e0', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('f9b7a26ef993a9808b09c67f73d2d296', 'MINIO', 'cug', '025_撰写提案_eeaf3366.png', 'png', '41', '40.8 kB', 'f9b7a26ef993a9808b09c67f73d2d296.png', '/menu-icons/v5-flat-skeuomorphic-blue/f9b7a26ef993a9808b09c67f73d2d296.png', '/platform/sys/file/download?id=f9b7a26ef993a9808b09c67f73d2d296', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('b83956a3a3162f17513333e8dfe91f49', 'MINIO', 'cug', '026_我的申请_b27178ff.png', 'png', '42', '41.8 kB', 'b83956a3a3162f17513333e8dfe91f49.png', '/menu-icons/v5-flat-skeuomorphic-blue/b83956a3a3162f17513333e8dfe91f49.png', '/platform/sys/file/download?id=b83956a3a3162f17513333e8dfe91f49', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('969f3bc275bbd917b3e3444752d9de38', 'MINIO', 'cug', '027_社团审核_87611b6d.png', 'png', '39', '39.5 kB', '969f3bc275bbd917b3e3444752d9de38.png', '/menu-icons/v5-flat-skeuomorphic-blue/969f3bc275bbd917b3e3444752d9de38.png', '/platform/sys/file/download?id=969f3bc275bbd917b3e3444752d9de38', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('d54945a79bce326c126a17ffa7dedd86', 'MINIO', 'cug', '028_社团分管主席审核_d0ee5ab9.png', 'png', '39', '38.7 kB', 'd54945a79bce326c126a17ffa7dedd86.png', '/menu-icons/v5-flat-skeuomorphic-blue/d54945a79bce326c126a17ffa7dedd86.png', '/platform/sys/file/download?id=d54945a79bce326c126a17ffa7dedd86', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('012f4e24cb99feeae830b9e5956f730a', 'MINIO', 'cug', '029_分工会审核_af963d19.png', 'png', '40', '39.5 kB', '012f4e24cb99feeae830b9e5956f730a.png', '/menu-icons/v5-flat-skeuomorphic-blue/012f4e24cb99feeae830b9e5956f730a.png', '/platform/sys/file/download?id=012f4e24cb99feeae830b9e5956f730a', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('71f1a5bdd53422a302d50565ed6d8ca7', 'MINIO', 'cug', '030_校工会出纳审核_f7a890c7.png', 'png', '40', '39.9 kB', '71f1a5bdd53422a302d50565ed6d8ca7.png', '/menu-icons/v5-flat-skeuomorphic-blue/71f1a5bdd53422a302d50565ed6d8ca7.png', '/platform/sys/file/download?id=71f1a5bdd53422a302d50565ed6d8ca7', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('01ac13ee1b86635f406704686b2826cb', 'MINIO', 'cug', '031_校工会会计审核_41410dbe.png', 'png', '40', '40.0 kB', '01ac13ee1b86635f406704686b2826cb.png', '/menu-icons/v5-flat-skeuomorphic-blue/01ac13ee1b86635f406704686b2826cb.png', '/platform/sys/file/download?id=01ac13ee1b86635f406704686b2826cb', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('ff390faffeed11c872ff43c268fc42c8', 'MINIO', 'cug', '032_校工会主席终审_5e0c5335.png', 'png', '40', '39.6 kB', 'ff390faffeed11c872ff43c268fc42c8.png', '/menu-icons/v5-flat-skeuomorphic-blue/ff390faffeed11c872ff43c268fc42c8.png', '/platform/sys/file/download?id=ff390faffeed11c872ff43c268fc42c8', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('b077d67b5add801672329f19deedef51', 'MINIO', 'cug', '033_社团组织管理_b8bcaa94.png', 'png', '54', '54.2 kB', 'b077d67b5add801672329f19deedef51.png', '/menu-icons/v5-flat-skeuomorphic-blue/b077d67b5add801672329f19deedef51.png', '/platform/sys/file/download?id=b077d67b5add801672329f19deedef51', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('0784cad3fc2147bafafc22cdb00b32b8', 'MINIO', 'cug', '034_社团入会_7af124e1.png', 'png', '44', '43.6 kB', '0784cad3fc2147bafafc22cdb00b32b8.png', '/menu-icons/v5-flat-skeuomorphic-blue/0784cad3fc2147bafafc22cdb00b32b8.png', '/platform/sys/file/download?id=0784cad3fc2147bafafc22cdb00b32b8', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('ca4ddf8871ab60754812c61781e3820a', 'MINIO', 'cug', '035_我的申请_2de433e4.png', 'png', '42', '41.8 kB', 'ca4ddf8871ab60754812c61781e3820a.png', '/menu-icons/v5-flat-skeuomorphic-blue/ca4ddf8871ab60754812c61781e3820a.png', '/platform/sys/file/download?id=ca4ddf8871ab60754812c61781e3820a', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('92251f17382d770a99d6399a9245fed2', 'MINIO', 'cug', '036_社团审核_84064805.png', 'png', '39', '39.5 kB', '92251f17382d770a99d6399a9245fed2.png', '/menu-icons/v5-flat-skeuomorphic-blue/92251f17382d770a99d6399a9245fed2.png', '/platform/sys/file/download?id=92251f17382d770a99d6399a9245fed2', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('9b5bf30597169d4b597ec15c64746589', 'MINIO', 'cug', '037_校工会审核_dbd21f6b.png', 'png', '40', '39.7 kB', '9b5bf30597169d4b597ec15c64746589.png', '/menu-icons/v5-flat-skeuomorphic-blue/9b5bf30597169d4b597ec15c64746589.png', '/platform/sys/file/download?id=9b5bf30597169d4b597ec15c64746589', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('bff0da0374934156eaf7008420281877', 'MINIO', 'cug', '038_我的社团_e585d2ca.png', 'png', '55', '54.9 kB', 'bff0da0374934156eaf7008420281877.png', '/menu-icons/v5-flat-skeuomorphic-blue/bff0da0374934156eaf7008420281877.png', '/platform/sys/file/download?id=bff0da0374934156eaf7008420281877', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('9ff5f7ccbf1584cc09c8b0b0b547907b', 'MINIO', 'cug', '039_会员管理_7e2b850c.png', 'png', '37', '37.2 kB', '9ff5f7ccbf1584cc09c8b0b0b547907b.png', '/menu-icons/v5-flat-skeuomorphic-blue/9ff5f7ccbf1584cc09c8b0b0b547907b.png', '/platform/sys/file/download?id=9ff5f7ccbf1584cc09c8b0b0b547907b', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('fe79030ce09863147010927ef79d4804', 'MINIO', 'cug', '040_会员入会_8f27ac9f.png', 'png', '45', '44.7 kB', 'fe79030ce09863147010927ef79d4804.png', '/menu-icons/v5-flat-skeuomorphic-blue/fe79030ce09863147010927ef79d4804.png', '/platform/sys/file/download?id=fe79030ce09863147010927ef79d4804', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('46ca54df1bb66aaec8d89be47ed888d9', 'MINIO', 'cug', '041_我的入会_313842fc.png', 'png', '49', '49.4 kB', '46ca54df1bb66aaec8d89be47ed888d9.png', '/menu-icons/v5-flat-skeuomorphic-blue/46ca54df1bb66aaec8d89be47ed888d9.png', '/platform/sys/file/download?id=46ca54df1bb66aaec8d89be47ed888d9', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('7650a2a028223ae8380c946d96551b56', 'MINIO', 'cug', '042_分工会审核_dcf6c190.png', 'png', '40', '39.5 kB', '7650a2a028223ae8380c946d96551b56.png', '/menu-icons/v5-flat-skeuomorphic-blue/7650a2a028223ae8380c946d96551b56.png', '/platform/sys/file/download?id=7650a2a028223ae8380c946d96551b56', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('128a3ca23138c341b259ef88521818c8', 'MINIO', 'cug', '043_校工会审核_13d50644.png', 'png', '40', '39.7 kB', '128a3ca23138c341b259ef88521818c8.png', '/menu-icons/v5-flat-skeuomorphic-blue/128a3ca23138c341b259ef88521818c8.png', '/platform/sys/file/download?id=128a3ca23138c341b259ef88521818c8', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('111f52a632d37ba3029d768a70e59426', 'MINIO', 'cug', '044_会员档案_c547be26.png', 'png', '35', '34.5 kB', '111f52a632d37ba3029d768a70e59426.png', '/menu-icons/v5-flat-skeuomorphic-blue/111f52a632d37ba3029d768a70e59426.png', '/platform/sys/file/download?id=111f52a632d37ba3029d768a70e59426', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('a5b94ab758eb078c51a68bd8b74d0b63', 'MINIO', 'cug', '045_数据看板_f3ae0a07.png', 'png', '42', '42.1 kB', 'a5b94ab758eb078c51a68bd8b74d0b63.png', '/menu-icons/v5-flat-skeuomorphic-blue/a5b94ab758eb078c51a68bd8b74d0b63.png', '/platform/sys/file/download?id=a5b94ab758eb078c51a68bd8b74d0b63', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('f56d0ebb12e367095873a4a2bafa362e', 'MINIO', 'cug', '046_工会小组审核_00448f69.png', 'png', '39', '39.1 kB', 'f56d0ebb12e367095873a4a2bafa362e.png', '/menu-icons/v5-flat-skeuomorphic-blue/f56d0ebb12e367095873a4a2bafa362e.png', '/platform/sys/file/download?id=f56d0ebb12e367095873a4a2bafa362e', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('e85273b4715e551e7a0be1e4c237e9db', 'MINIO', 'cug', '047_职工慰问_024811fd.png', 'png', '41', '41.3 kB', 'e85273b4715e551e7a0be1e4c237e9db.png', '/menu-icons/v5-flat-skeuomorphic-blue/e85273b4715e551e7a0be1e4c237e9db.png', '/platform/sys/file/download?id=e85273b4715e551e7a0be1e4c237e9db', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('e7d21d8058319281fc750720196338b3', 'MINIO', 'cug', '048_慰问申请_9bfd257e.png', 'png', '33', '33.0 kB', 'e7d21d8058319281fc750720196338b3.png', '/menu-icons/v5-flat-skeuomorphic-blue/e7d21d8058319281fc750720196338b3.png', '/platform/sys/file/download?id=e7d21d8058319281fc750720196338b3', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('e229c7c88be79c83cbb204273e1e837a', 'MINIO', 'cug', '049_我的申请_7492992b.png', 'png', '42', '41.8 kB', 'e229c7c88be79c83cbb204273e1e837a.png', '/menu-icons/v5-flat-skeuomorphic-blue/e229c7c88be79c83cbb204273e1e837a.png', '/platform/sys/file/download?id=e229c7c88be79c83cbb204273e1e837a', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('64e9baf4931fd5414ca105cbe6771346', 'MINIO', 'cug', '050_分工会审核_330e42e0.png', 'png', '40', '39.5 kB', '64e9baf4931fd5414ca105cbe6771346.png', '/menu-icons/v5-flat-skeuomorphic-blue/64e9baf4931fd5414ca105cbe6771346.png', '/platform/sys/file/download?id=64e9baf4931fd5414ca105cbe6771346', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('dfe30264324d45f30e36a5209c7a3b67', 'MINIO', 'cug', '051_校工会预审_87a2dcfa.png', 'png', '40', '39.7 kB', 'dfe30264324d45f30e36a5209c7a3b67.png', '/menu-icons/v5-flat-skeuomorphic-blue/dfe30264324d45f30e36a5209c7a3b67.png', '/platform/sys/file/download?id=dfe30264324d45f30e36a5209c7a3b67', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('d2095854e67dcf28dea1a4a975e90aba', 'MINIO', 'cug', '052_校工会审核_c269f94a.png', 'png', '40', '39.7 kB', 'd2095854e67dcf28dea1a4a975e90aba.png', '/menu-icons/v5-flat-skeuomorphic-blue/d2095854e67dcf28dea1a4a975e90aba.png', '/platform/sys/file/download?id=d2095854e67dcf28dea1a4a975e90aba', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('5c823bf5486ec8ae26e3233b0fe7f493', 'MINIO', 'cug', '053_困难帮扶_6ddda191.png', 'png', '40', '39.8 kB', '5c823bf5486ec8ae26e3233b0fe7f493.png', '/menu-icons/v5-flat-skeuomorphic-blue/5c823bf5486ec8ae26e3233b0fe7f493.png', '/platform/sys/file/download?id=5c823bf5486ec8ae26e3233b0fe7f493', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('14ee697a9f479076eb3a113aaa025bcb', 'MINIO', 'cug', '054_帮扶申请_3cf7ee61.png', 'png', '39', '39.4 kB', '14ee697a9f479076eb3a113aaa025bcb.png', '/menu-icons/v5-flat-skeuomorphic-blue/14ee697a9f479076eb3a113aaa025bcb.png', '/platform/sys/file/download?id=14ee697a9f479076eb3a113aaa025bcb', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('4dee1a7937ccbffde68a358d05179e10', 'MINIO', 'cug', '055_帮扶申请记录_51b21e97.png', 'png', '40', '39.9 kB', '4dee1a7937ccbffde68a358d05179e10.png', '/menu-icons/v5-flat-skeuomorphic-blue/4dee1a7937ccbffde68a358d05179e10.png', '/platform/sys/file/download?id=4dee1a7937ccbffde68a358d05179e10', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('8e867f31615a067757139cb0f37a2c3a', 'MINIO', 'cug', '056_分工会审核_23d30124.png', 'png', '40', '39.5 kB', '8e867f31615a067757139cb0f37a2c3a.png', '/menu-icons/v5-flat-skeuomorphic-blue/8e867f31615a067757139cb0f37a2c3a.png', '/platform/sys/file/download?id=8e867f31615a067757139cb0f37a2c3a', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('0cc926265e46a20bd7750bd23ef64ea7', 'MINIO', 'cug', '057_二级党组织审核_d736e4d7.png', 'png', '40', '39.9 kB', '0cc926265e46a20bd7750bd23ef64ea7.png', '/menu-icons/v5-flat-skeuomorphic-blue/0cc926265e46a20bd7750bd23ef64ea7.png', '/platform/sys/file/download?id=0cc926265e46a20bd7750bd23ef64ea7', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('b20526ea21e6d034a1335123e4db2440', 'MINIO', 'cug', '058_校工会审核_35a9239d.png', 'png', '40', '39.7 kB', 'b20526ea21e6d034a1335123e4db2440.png', '/menu-icons/v5-flat-skeuomorphic-blue/b20526ea21e6d034a1335123e4db2440.png', '/platform/sys/file/download?id=b20526ea21e6d034a1335123e4db2440', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('a4bc152d86f817fa2cf87ee142996d48', 'MINIO', 'cug', '059_体检管理_d4cab4ba.png', 'png', '48', '47.7 kB', 'a4bc152d86f817fa2cf87ee142996d48.png', '/menu-icons/v5-flat-skeuomorphic-blue/a4bc152d86f817fa2cf87ee142996d48.png', '/platform/sys/file/download?id=a4bc152d86f817fa2cf87ee142996d48', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('febd687b512a37aa151284d0d6249a9c', 'MINIO', 'cug', '060_体检项目_0a2bfc85.png', 'png', '52', '51.8 kB', 'febd687b512a37aa151284d0d6249a9c.png', '/menu-icons/v5-flat-skeuomorphic-blue/febd687b512a37aa151284d0d6249a9c.png', '/platform/sys/file/download?id=febd687b512a37aa151284d0d6249a9c', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('414f0d597613854fb20d316c9471b32e', 'MINIO', 'cug', '061_我的体检_c03fbf17.png', 'png', '50', '50.0 kB', '414f0d597613854fb20d316c9471b32e.png', '/menu-icons/v5-flat-skeuomorphic-blue/414f0d597613854fb20d316c9471b32e.png', '/platform/sys/file/download?id=414f0d597613854fb20d316c9471b32e', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('5b82cabae27a69bb71daa26cbc010965', 'MINIO', 'cug', '062_心理咨询_56620c51.png', 'png', '38', '38.5 kB', '5b82cabae27a69bb71daa26cbc010965.png', '/menu-icons/v5-flat-skeuomorphic-blue/5b82cabae27a69bb71daa26cbc010965.png', '/platform/sys/file/download?id=5b82cabae27a69bb71daa26cbc010965', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('5e63cc5c28e869fdae9d7209e0e34316', 'MINIO', 'cug', '063_我要预约_ef46a587.png', 'png', '43', '43.2 kB', '5e63cc5c28e869fdae9d7209e0e34316.png', '/menu-icons/v5-flat-skeuomorphic-blue/5e63cc5c28e869fdae9d7209e0e34316.png', '/platform/sys/file/download?id=5e63cc5c28e869fdae9d7209e0e34316', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('1e663ad85c938f9dc3591306efa12ef2', 'MINIO', 'cug', '064_预约记录_c6a2ec8d.png', 'png', '43', '42.5 kB', '1e663ad85c938f9dc3591306efa12ef2.png', '/menu-icons/v5-flat-skeuomorphic-blue/1e663ad85c938f9dc3591306efa12ef2.png', '/platform/sys/file/download?id=1e663ad85c938f9dc3591306efa12ef2', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('50ed9525a58d1f55a53dc58aa2dffc1d', 'MINIO', 'cug', '065_发帖咨询_7b21d468.png', 'png', '43', '42.8 kB', '50ed9525a58d1f55a53dc58aa2dffc1d.png', '/menu-icons/v5-flat-skeuomorphic-blue/50ed9525a58d1f55a53dc58aa2dffc1d.png', '/platform/sys/file/download?id=50ed9525a58d1f55a53dc58aa2dffc1d', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('04528f30323c0f89065ea88bfa5e1767', 'MINIO', 'cug', '066_咨询回复_43f06636.png', 'png', '40', '40.3 kB', '04528f30323c0f89065ea88bfa5e1767.png', '/menu-icons/v5-flat-skeuomorphic-blue/04528f30323c0f89065ea88bfa5e1767.png', '/platform/sys/file/download?id=04528f30323c0f89065ea88bfa5e1767', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('835a6cb3de7045d78f7eb9dda0f3ba24', 'MINIO', 'cug', '067_基层双代会_b6c224df.png', 'png', '45', '44.5 kB', '835a6cb3de7045d78f7eb9dda0f3ba24.png', '/menu-icons/v5-flat-skeuomorphic-blue/835a6cb3de7045d78f7eb9dda0f3ba24.png', '/platform/sys/file/download?id=835a6cb3de7045d78f7eb9dda0f3ba24', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('7fcea2eb85b32c7e08fe2d7838cf9f74', 'MINIO', 'cug', '068_法律援助_297400c8.png', 'png', '55', '54.9 kB', '7fcea2eb85b32c7e08fe2d7838cf9f74.png', '/menu-icons/v5-flat-skeuomorphic-blue/7fcea2eb85b32c7e08fe2d7838cf9f74.png', '/platform/sys/file/download?id=7fcea2eb85b32c7e08fe2d7838cf9f74', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('b5afef9259f3abae7b1bbb1d05b2fe5c', 'MINIO', 'cug', '069_我要预约_aa0ffd36.png', 'png', '43', '43.2 kB', 'b5afef9259f3abae7b1bbb1d05b2fe5c.png', '/menu-icons/v5-flat-skeuomorphic-blue/b5afef9259f3abae7b1bbb1d05b2fe5c.png', '/platform/sys/file/download?id=b5afef9259f3abae7b1bbb1d05b2fe5c', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('3fc3d984a41e9225e1f7710280fdac19', 'MINIO', 'cug', '070_预约记录_7dc21dca.png', 'png', '43', '42.5 kB', '3fc3d984a41e9225e1f7710280fdac19.png', '/menu-icons/v5-flat-skeuomorphic-blue/3fc3d984a41e9225e1f7710280fdac19.png', '/platform/sys/file/download?id=3fc3d984a41e9225e1f7710280fdac19', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('47fe77b9ff74053f555c339157e5e497', 'MINIO', 'cug', '071_发帖咨询_939595b4.png', 'png', '43', '42.8 kB', '47fe77b9ff74053f555c339157e5e497.png', '/menu-icons/v5-flat-skeuomorphic-blue/47fe77b9ff74053f555c339157e5e497.png', '/platform/sys/file/download?id=47fe77b9ff74053f555c339157e5e497', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('d45efe5411e254dc940f6e10f7c8f383', 'MINIO', 'cug', '072_咨询回复_d073c1d8.png', 'png', '40', '40.3 kB', 'd45efe5411e254dc940f6e10f7c8f383.png', '/menu-icons/v5-flat-skeuomorphic-blue/d45efe5411e254dc940f6e10f7c8f383.png', '/platform/sys/file/download?id=d45efe5411e254dc940f6e10f7c8f383', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('d964d19857c59f3e5dd282620f1a213e', 'MINIO', 'cug', '073_基金会员_3f88a4f6.png', 'png', '41', '41.4 kB', 'd964d19857c59f3e5dd282620f1a213e.png', '/menu-icons/v5-flat-skeuomorphic-blue/d964d19857c59f3e5dd282620f1a213e.png', '/platform/sys/file/download?id=d964d19857c59f3e5dd282620f1a213e', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('141fc4d6a9168b862aa5918726d0924a', 'MINIO', 'cug', '074_会员申请_8a77d32c.png', 'png', '39', '39.1 kB', '141fc4d6a9168b862aa5918726d0924a.png', '/menu-icons/v5-flat-skeuomorphic-blue/141fc4d6a9168b862aa5918726d0924a.png', '/platform/sys/file/download?id=141fc4d6a9168b862aa5918726d0924a', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('185b9668345c1775c8b34642f6108872', 'MINIO', 'cug', '075_我的申请_44423a17.png', 'png', '42', '41.8 kB', '185b9668345c1775c8b34642f6108872.png', '/menu-icons/v5-flat-skeuomorphic-blue/185b9668345c1775c8b34642f6108872.png', '/platform/sys/file/download?id=185b9668345c1775c8b34642f6108872', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('ce06d45189f54739dc25a391b6c2fe85', 'MINIO', 'cug', '076_分工会审核_3e102653.png', 'png', '40', '39.5 kB', 'ce06d45189f54739dc25a391b6c2fe85.png', '/menu-icons/v5-flat-skeuomorphic-blue/ce06d45189f54739dc25a391b6c2fe85.png', '/platform/sys/file/download?id=ce06d45189f54739dc25a391b6c2fe85', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('0738309559b2647c5ef8b38ed8f39080', 'MINIO', 'cug', '077_会员管理_ac2516a6.png', 'png', '37', '37.2 kB', '0738309559b2647c5ef8b38ed8f39080.png', '/menu-icons/v5-flat-skeuomorphic-blue/0738309559b2647c5ef8b38ed8f39080.png', '/platform/sys/file/download?id=0738309559b2647c5ef8b38ed8f39080', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('0f2717dd006be9e5db67442377679f91', 'MINIO', 'cug', '078_数据看板_59d6ba7c.png', 'png', '42', '42.1 kB', '0f2717dd006be9e5db67442377679f91.png', '/menu-icons/v5-flat-skeuomorphic-blue/0f2717dd006be9e5db67442377679f91.png', '/platform/sys/file/download?id=0f2717dd006be9e5db67442377679f91', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('91e5dc12db888366c17e61c9121ff69c', 'MINIO', 'cug', '079_互管会审核_6b5adca7.png', 'png', '39', '39.5 kB', '91e5dc12db888366c17e61c9121ff69c.png', '/menu-icons/v5-flat-skeuomorphic-blue/91e5dc12db888366c17e61c9121ff69c.png', '/platform/sys/file/download?id=91e5dc12db888366c17e61c9121ff69c', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('81ac98687f68e252042807a459a988df', 'MINIO', 'cug', '080_离退休审核_57566021.png', 'png', '40', '40.0 kB', '81ac98687f68e252042807a459a988df.png', '/menu-icons/v5-flat-skeuomorphic-blue/81ac98687f68e252042807a459a988df.png', '/platform/sys/file/download?id=81ac98687f68e252042807a459a988df', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('7a61acfc8a2896f36ca0f140a8c00f93', 'MINIO', 'cug', '081_会员入会_1375120f.png', 'png', '45', '44.7 kB', '7a61acfc8a2896f36ca0f140a8c00f93.png', '/menu-icons/v5-flat-skeuomorphic-blue/7a61acfc8a2896f36ca0f140a8c00f93.png', '/platform/sys/file/download?id=7a61acfc8a2896f36ca0f140a8c00f93', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('24565ab537cc29fdc1f8398d57cba2c9', 'MINIO', 'cug', '082_会务管理_2c61ac06.png', 'png', '42', '41.8 kB', '24565ab537cc29fdc1f8398d57cba2c9.png', '/menu-icons/v5-flat-skeuomorphic-blue/24565ab537cc29fdc1f8398d57cba2c9.png', '/platform/sys/file/download?id=24565ab537cc29fdc1f8398d57cba2c9', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('024f728cf7476458d372d9c13bd9f937', 'MINIO', 'cug', '083_体育活动_893016b4.png', 'png', '60', '59.9 kB', '024f728cf7476458d372d9c13bd9f937.png', '/menu-icons/v5-flat-skeuomorphic-blue/024f728cf7476458d372d9c13bd9f937.png', '/platform/sys/file/download?id=024f728cf7476458d372d9c13bd9f937', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('08e92fd1ea7f5e1d6c3f0ff4ae9650f8', 'MINIO', 'cug', '084_活动报名_dbaba7b3.png', 'png', '35', '35.2 kB', '08e92fd1ea7f5e1d6c3f0ff4ae9650f8.png', '/menu-icons/v5-flat-skeuomorphic-blue/08e92fd1ea7f5e1d6c3f0ff4ae9650f8.png', '/platform/sys/file/download?id=08e92fd1ea7f5e1d6c3f0ff4ae9650f8', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('8060ce47970cadcf7dc3bd41c0ed20d9', 'MINIO', 'cug', '085_文化活动_898f95af.png', 'png', '63', '62.5 kB', '8060ce47970cadcf7dc3bd41c0ed20d9.png', '/menu-icons/v5-flat-skeuomorphic-blue/8060ce47970cadcf7dc3bd41c0ed20d9.png', '/platform/sys/file/download?id=8060ce47970cadcf7dc3bd41c0ed20d9', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('ddd9c5c2fb28db177956a849ff2352df', 'MINIO', 'cug', '086_品牌活动_fb16e44e.png', 'png', '47', '47.3 kB', 'ddd9c5c2fb28db177956a849ff2352df.png', '/menu-icons/v5-flat-skeuomorphic-blue/ddd9c5c2fb28db177956a849ff2352df.png', '/platform/sys/file/download?id=ddd9c5c2fb28db177956a849ff2352df', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('da2e93c2a9491893ebd5d166f47bc545', 'MINIO', 'cug', '087_活动报名_42d1b0cc.png', 'png', '35', '35.2 kB', 'da2e93c2a9491893ebd5d166f47bc545.png', '/menu-icons/v5-flat-skeuomorphic-blue/da2e93c2a9491893ebd5d166f47bc545.png', '/platform/sys/file/download?id=da2e93c2a9491893ebd5d166f47bc545', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('bcb91e996ad91fc133ce2432203556bf', 'MINIO', 'cug', '088_我的活动_811cf28c.png', 'png', '41', '40.6 kB', 'bcb91e996ad91fc133ce2432203556bf.png', '/menu-icons/v5-flat-skeuomorphic-blue/bcb91e996ad91fc133ce2432203556bf.png', '/platform/sys/file/download?id=bcb91e996ad91fc133ce2432203556bf', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('0467db4198d856e2180f89796c1ad62e', 'MINIO', 'cug', '089_惠民服务_57accf35.png', 'png', '46', '46.1 kB', '0467db4198d856e2180f89796c1ad62e.png', '/menu-icons/v5-flat-skeuomorphic-blue/0467db4198d856e2180f89796c1ad62e.png', '/platform/sys/file/download?id=0467db4198d856e2180f89796c1ad62e', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('f27149a8370b2e9e0849ca9028d6cb66', 'MINIO', 'cug', '090_我的惠民_05f829da.png', 'png', '41', '40.6 kB', 'f27149a8370b2e9e0849ca9028d6cb66.png', '/menu-icons/v5-flat-skeuomorphic-blue/f27149a8370b2e9e0849ca9028d6cb66.png', '/platform/sys/file/download?id=f27149a8370b2e9e0849ca9028d6cb66', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('1d9097f1ddf8ea04323327354a010ae9', 'MINIO', 'cug', '091_理论学习_a8966b0e.png', 'png', '36', '36.5 kB', '1d9097f1ddf8ea04323327354a010ae9.png', '/menu-icons/v5-flat-skeuomorphic-blue/1d9097f1ddf8ea04323327354a010ae9.png', '/platform/sys/file/download?id=1d9097f1ddf8ea04323327354a010ae9', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('be4c7a2b027046b129bed6a27049d841', 'MINIO', 'cug', '092_课程列表_893a216d.png', 'png', '39', '39.5 kB', 'be4c7a2b027046b129bed6a27049d841.png', '/menu-icons/v5-flat-skeuomorphic-blue/be4c7a2b027046b129bed6a27049d841.png', '/platform/sys/file/download?id=be4c7a2b027046b129bed6a27049d841', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('07e12bf38d38c4ab75dd01b46ae03963', 'MINIO', 'cug', '093_慈善捐助_0c4ccaec.png', 'png', '33', '33.0 kB', '07e12bf38d38c4ab75dd01b46ae03963.png', '/menu-icons/v5-flat-skeuomorphic-blue/07e12bf38d38c4ab75dd01b46ae03963.png', '/platform/sys/file/download?id=07e12bf38d38c4ab75dd01b46ae03963', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('e93b9ec54bd39a242c9c81067eb64b61', 'MINIO', 'cug', '094_慈善捐助_a112c7db.png', 'png', '33', '33.0 kB', 'e93b9ec54bd39a242c9c81067eb64b61.png', '/menu-icons/v5-flat-skeuomorphic-blue/e93b9ec54bd39a242c9c81067eb64b61.png', '/platform/sys/file/download?id=e93b9ec54bd39a242c9c81067eb64b61', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('e61bb788e312c599a4f1d4c583ec56e9', 'MINIO', 'cug', '095_我的捐助_23883f9a.png', 'png', '39', '38.6 kB', 'e61bb788e312c599a4f1d4c583ec56e9.png', '/menu-icons/v5-flat-skeuomorphic-blue/e61bb788e312c599a4f1d4c583ec56e9.png', '/platform/sys/file/download?id=e61bb788e312c599a4f1d4c583ec56e9', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('dd8b8a073342b416ff6f46cec3d1a6cf', 'MINIO', 'cug', '096_生育休假_e5851cdf.png', 'png', '38', '38.2 kB', 'dd8b8a073342b416ff6f46cec3d1a6cf.png', '/menu-icons/v5-flat-skeuomorphic-blue/dd8b8a073342b416ff6f46cec3d1a6cf.png', '/platform/sys/file/download?id=dd8b8a073342b416ff6f46cec3d1a6cf', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('d4d985afcccd436885d1cdf4b9c0c956', 'MINIO', 'cug', '097_休假申请_abfbd5db.png', 'png', '41', '40.5 kB', 'd4d985afcccd436885d1cdf4b9c0c956.png', '/menu-icons/v5-flat-skeuomorphic-blue/d4d985afcccd436885d1cdf4b9c0c956.png', '/platform/sys/file/download?id=d4d985afcccd436885d1cdf4b9c0c956', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('30a17bd43525a7d8b7f73648253b2353', 'MINIO', 'cug', '098_我的申请_99252619.png', 'png', '42', '41.8 kB', '30a17bd43525a7d8b7f73648253b2353.png', '/menu-icons/v5-flat-skeuomorphic-blue/30a17bd43525a7d8b7f73648253b2353.png', '/platform/sys/file/download?id=30a17bd43525a7d8b7f73648253b2353', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('0e9014e6360d1953ddd1fe0121f09d02', 'MINIO', 'cug', '099_分工会审核_6a548614.png', 'png', '40', '39.5 kB', '0e9014e6360d1953ddd1fe0121f09d02.png', '/menu-icons/v5-flat-skeuomorphic-blue/0e9014e6360d1953ddd1fe0121f09d02.png', '/platform/sys/file/download?id=0e9014e6360d1953ddd1fe0121f09d02', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('90320751d0f5de5ddc71974b0259f468', 'MINIO', 'cug', '100_校工会审核_4a764f7d.png', 'png', '40', '39.7 kB', '90320751d0f5de5ddc71974b0259f468.png', '/menu-icons/v5-flat-skeuomorphic-blue/90320751d0f5de5ddc71974b0259f468.png', '/platform/sys/file/download?id=90320751d0f5de5ddc71974b0259f468', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('c31947c4e4f9f0064f1a987bbdae3548', 'MINIO', 'cug', '101_查询统计_c13558b0.png', 'png', '48', '47.9 kB', 'c31947c4e4f9f0064f1a987bbdae3548.png', '/menu-icons/v5-flat-skeuomorphic-blue/c31947c4e4f9f0064f1a987bbdae3548.png', '/platform/sys/file/download?id=c31947c4e4f9f0064f1a987bbdae3548', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('b3ca619e943008ec66c87ff3ea54caf0', 'MINIO', 'cug', '102_独生子女父母退休_f808e1e1.png', 'png', '47', '47.2 kB', 'b3ca619e943008ec66c87ff3ea54caf0.png', '/menu-icons/v5-flat-skeuomorphic-blue/b3ca619e943008ec66c87ff3ea54caf0.png', '/platform/sys/file/download?id=b3ca619e943008ec66c87ff3ea54caf0', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('30052dd19f6e69faa6a546e3692f4477', 'MINIO', 'cug', '103_独生子女父母退休申请_6c3fcd1a.png', 'png', '41', '40.6 kB', '30052dd19f6e69faa6a546e3692f4477.png', '/menu-icons/v5-flat-skeuomorphic-blue/30052dd19f6e69faa6a546e3692f4477.png', '/platform/sys/file/download?id=30052dd19f6e69faa6a546e3692f4477', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('786d70bd8e118fbae8efebbb8df64762', 'MINIO', 'cug', '104_我的申请_16388b3d.png', 'png', '42', '41.8 kB', '786d70bd8e118fbae8efebbb8df64762.png', '/menu-icons/v5-flat-skeuomorphic-blue/786d70bd8e118fbae8efebbb8df64762.png', '/platform/sys/file/download?id=786d70bd8e118fbae8efebbb8df64762', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('375d5bf016d1183211557873fcd5de57', 'MINIO', 'cug', '105_分工会审核_dc276392.png', 'png', '40', '39.5 kB', '375d5bf016d1183211557873fcd5de57.png', '/menu-icons/v5-flat-skeuomorphic-blue/375d5bf016d1183211557873fcd5de57.png', '/platform/sys/file/download?id=375d5bf016d1183211557873fcd5de57', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('8e50b6ef905bec105c038826fd1e1dd6', 'MINIO', 'cug', '106_校工会审核_50bf62d0.png', 'png', '40', '39.7 kB', '8e50b6ef905bec105c038826fd1e1dd6.png', '/menu-icons/v5-flat-skeuomorphic-blue/8e50b6ef905bec105c038826fd1e1dd6.png', '/platform/sys/file/download?id=8e50b6ef905bec105c038826fd1e1dd6', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('1dfe6590295b676e1a6f2796b4c93d70', 'MINIO', 'cug', '107_查询统计_05f308a2.png', 'png', '48', '47.9 kB', '1dfe6590295b676e1a6f2796b4c93d70.png', '/menu-icons/v5-flat-skeuomorphic-blue/1dfe6590295b676e1a6f2796b4c93d70.png', '/platform/sys/file/download?id=1dfe6590295b676e1a6f2796b4c93d70', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('a9df7e58e16784a38f33e7de7f841462', 'MINIO', 'cug', '108_工会报销_d54c4078.png', 'png', '45', '45.5 kB', 'a9df7e58e16784a38f33e7de7f841462.png', '/menu-icons/v5-flat-skeuomorphic-blue/a9df7e58e16784a38f33e7de7f841462.png', '/platform/sys/file/download?id=a9df7e58e16784a38f33e7de7f841462', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('e71f6cdfab618af4e1f579c12acf7da4', 'MINIO', 'cug', '109_报销申请_e04f9463.png', 'png', '45', '44.8 kB', 'e71f6cdfab618af4e1f579c12acf7da4.png', '/menu-icons/v5-flat-skeuomorphic-blue/e71f6cdfab618af4e1f579c12acf7da4.png', '/platform/sys/file/download?id=e71f6cdfab618af4e1f579c12acf7da4', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('e6ea330dc1f4a9ecc13b79e0070af510', 'MINIO', 'cug', '110_我的报销_5a994c0f.png', 'png', '37', '37.4 kB', 'e6ea330dc1f4a9ecc13b79e0070af510.png', '/menu-icons/v5-flat-skeuomorphic-blue/e6ea330dc1f4a9ecc13b79e0070af510.png', '/platform/sys/file/download?id=e6ea330dc1f4a9ecc13b79e0070af510', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('d81c6cf64003517afbca47bdb083e355', 'MINIO', 'cug', '111_单身教工管理_bfd9983c.png', 'png', '36', '36.3 kB', 'd81c6cf64003517afbca47bdb083e355.png', '/menu-icons/v5-flat-skeuomorphic-blue/d81c6cf64003517afbca47bdb083e355.png', '/platform/sys/file/download?id=d81c6cf64003517afbca47bdb083e355', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('80542cb6b1b00e417e7257fe3c11f333', 'MINIO', 'cug', '112_报销审核_d1abc76f.png', 'png', '40', '39.9 kB', '80542cb6b1b00e417e7257fe3c11f333.png', '/menu-icons/v5-flat-skeuomorphic-blue/80542cb6b1b00e417e7257fe3c11f333.png', '/platform/sys/file/download?id=80542cb6b1b00e417e7257fe3c11f333', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('04ddef4f8d79b825bc19774d9137e835', 'MINIO', 'cug', '113_报销汇总_0d6c8aac.png', 'png', '39', '39.1 kB', '04ddef4f8d79b825bc19774d9137e835.png', '/menu-icons/v5-flat-skeuomorphic-blue/04ddef4f8d79b825bc19774d9137e835.png', '/platform/sys/file/download?id=04ddef4f8d79b825bc19774d9137e835', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('d3ec6bccb26ff4c9fb79232e5f02ef17', 'MINIO', 'cug', '114_问卷调查_17c32edb.png', 'png', '40', '40.1 kB', 'd3ec6bccb26ff4c9fb79232e5f02ef17.png', '/menu-icons/v5-flat-skeuomorphic-blue/d3ec6bccb26ff4c9fb79232e5f02ef17.png', '/platform/sys/file/download?id=d3ec6bccb26ff4c9fb79232e5f02ef17', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('aa1a120e2814b4928c50dc8d8ed64c10', 'MINIO', 'cug', '115_其他人员管理_62b1effb.png', 'png', '40', '39.8 kB', 'aa1a120e2814b4928c50dc8d8ed64c10.png', '/menu-icons/v5-flat-skeuomorphic-blue/aa1a120e2814b4928c50dc8d8ed64c10.png', '/platform/sys/file/download?id=aa1a120e2814b4928c50dc8d8ed64c10', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('72d78f2e581b4774d683c6247ba8ba82', 'MINIO', 'cug', '116_场地预约old_ed6f15a0.png', 'png', '59', '59.0 kB', '72d78f2e581b4774d683c6247ba8ba82.png', '/menu-icons/v5-flat-skeuomorphic-blue/72d78f2e581b4774d683c6247ba8ba82.png', '/platform/sys/file/download?id=72d78f2e581b4774d683c6247ba8ba82', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('0b35ac8df36d0307cccd3a7abead9bbd', 'MINIO', 'cug', '117_场地预约_3f09df78.png', 'png', '58', '58.0 kB', '0b35ac8df36d0307cccd3a7abead9bbd.png', '/menu-icons/v5-flat-skeuomorphic-blue/0b35ac8df36d0307cccd3a7abead9bbd.png', '/platform/sys/file/download?id=0b35ac8df36d0307cccd3a7abead9bbd', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('f0752418a1fa85076043d8b30a8162a9', 'MINIO', 'cug', '118_人员变更记录_70b4f9a1.png', 'png', '37', '36.8 kB', 'f0752418a1fa85076043d8b30a8162a9.png', '/menu-icons/v5-flat-skeuomorphic-blue/f0752418a1fa85076043d8b30a8162a9.png', '/platform/sys/file/download?id=f0752418a1fa85076043d8b30a8162a9', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('b445e5fbe073d6fec6821bfa2d00d0ad', 'MINIO', 'cug', '119_我的预约_8f752c50.png', 'png', '41', '41.3 kB', 'b445e5fbe073d6fec6821bfa2d00d0ad.png', '/menu-icons/v5-flat-skeuomorphic-blue/b445e5fbe073d6fec6821bfa2d00d0ad.png', '/platform/sys/file/download?id=b445e5fbe073d6fec6821bfa2d00d0ad', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('c099744c28258127c82c9d90a506280a', 'MINIO', 'cug', '120_30教龄教职工管理_22847e55.png', 'png', '54', '54.3 kB', 'c099744c28258127c82c9d90a506280a.png', '/menu-icons/v5-flat-skeuomorphic-blue/c099744c28258127c82c9d90a506280a.png', '/platform/sys/file/download?id=c099744c28258127c82c9d90a506280a', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('9b293ef36ad342406317aa5ddb25de1e', 'MINIO', 'cug', '121_校工会审核_ef93e3b9.png', 'png', '40', '39.7 kB', '9b293ef36ad342406317aa5ddb25de1e.png', '/menu-icons/v5-flat-skeuomorphic-blue/9b293ef36ad342406317aa5ddb25de1e.png', '/platform/sys/file/download?id=9b293ef36ad342406317aa5ddb25de1e', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('80167705b15e822ef298da8bf0e6238c', 'MINIO', 'cug', '122_职工福利_d34fa735.png', 'png', '42', '42.3 kB', '80167705b15e822ef298da8bf0e6238c.png', '/menu-icons/v5-flat-skeuomorphic-blue/80167705b15e822ef298da8bf0e6238c.png', '/platform/sys/file/download?id=80167705b15e822ef298da8bf0e6238c', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('9c9ed841146ead12774e305127c70655', 'MINIO', 'cug', '123_选择福利_94b69599.png', 'png', '42', '42.4 kB', '9c9ed841146ead12774e305127c70655.png', '/menu-icons/v5-flat-skeuomorphic-blue/9c9ed841146ead12774e305127c70655.png', '/platform/sys/file/download?id=9c9ed841146ead12774e305127c70655', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('c15e09dd7448821d331443c415818e00', 'MINIO', 'cug', '124_收货地址_15156ec9.png', 'png', '49', '49.1 kB', 'c15e09dd7448821d331443c415818e00.png', '/menu-icons/v5-flat-skeuomorphic-blue/c15e09dd7448821d331443c415818e00.png', '/platform/sys/file/download?id=c15e09dd7448821d331443c415818e00', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('7663b86e0083ccec5451e4ad753e323a', 'MINIO', 'cug', '125_职工慰问_3b49290f.png', 'png', '41', '41.3 kB', '7663b86e0083ccec5451e4ad753e323a.png', '/menu-icons/v5-flat-skeuomorphic-blue/7663b86e0083ccec5451e4ad753e323a.png', '/platform/sys/file/download?id=7663b86e0083ccec5451e4ad753e323a', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('dc3a4487ca0708d62662e7f03aa031fa', 'MINIO', 'cug', '126_慰问申请_5e024c74.png', 'png', '33', '33.0 kB', 'dc3a4487ca0708d62662e7f03aa031fa.png', '/menu-icons/v5-flat-skeuomorphic-blue/dc3a4487ca0708d62662e7f03aa031fa.png', '/platform/sys/file/download?id=dc3a4487ca0708d62662e7f03aa031fa', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('215f19af8b2ba2773c07e8f804541697', 'MINIO', 'cug', '127_我的福利_c08d8543.png', 'png', '42', '41.8 kB', '215f19af8b2ba2773c07e8f804541697.png', '/menu-icons/v5-flat-skeuomorphic-blue/215f19af8b2ba2773c07e8f804541697.png', '/platform/sys/file/download?id=215f19af8b2ba2773c07e8f804541697', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('f487372d9c3c26c8cea86040602436b7', 'MINIO', 'cug', '128_建言献策_261dd7f7.png', 'png', '39', '39.2 kB', 'f487372d9c3c26c8cea86040602436b7.png', '/menu-icons/v5-flat-skeuomorphic-blue/f487372d9c3c26c8cea86040602436b7.png', '/platform/sys/file/download?id=f487372d9c3c26c8cea86040602436b7', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('5d35429b46c062cc376896db6abffed9', 'MINIO', 'cug', '129_填写申请_9e0070b7.png', 'png', '42', '41.8 kB', '5d35429b46c062cc376896db6abffed9.png', '/menu-icons/v5-flat-skeuomorphic-blue/5d35429b46c062cc376896db6abffed9.png', '/platform/sys/file/download?id=5d35429b46c062cc376896db6abffed9', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('82fd6812dc635f7ea8221cedbc680d3c', 'MINIO', 'cug', '130_我的申请_360f1c3f.png', 'png', '42', '41.8 kB', '82fd6812dc635f7ea8221cedbc680d3c.png', '/menu-icons/v5-flat-skeuomorphic-blue/82fd6812dc635f7ea8221cedbc680d3c.png', '/platform/sys/file/download?id=82fd6812dc635f7ea8221cedbc680d3c', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('5e12d18fabe9153c13a11bdee1131a54', 'MINIO', 'cug', '131_校工会审核_a9d5ff11.png', 'png', '40', '39.7 kB', '5e12d18fabe9153c13a11bdee1131a54.png', '/menu-icons/v5-flat-skeuomorphic-blue/5e12d18fabe9153c13a11bdee1131a54.png', '/platform/sys/file/download?id=5e12d18fabe9153c13a11bdee1131a54', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('b8175cc96b7b6a5a785820997ce6ed05', 'MINIO', 'cug', '132_查询统计_5f2c0218.png', 'png', '48', '47.9 kB', 'b8175cc96b7b6a5a785820997ce6ed05.png', '/menu-icons/v5-flat-skeuomorphic-blue/b8175cc96b7b6a5a785820997ce6ed05.png', '/platform/sys/file/download?id=b8175cc96b7b6a5a785820997ce6ed05', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('9104a4f38f453f420cf456abf10bc5f8', 'MINIO', 'cug', '133_作品征集_10ecb801.png', 'png', '45', '45.4 kB', '9104a4f38f453f420cf456abf10bc5f8.png', '/menu-icons/v5-flat-skeuomorphic-blue/9104a4f38f453f420cf456abf10bc5f8.png', '/platform/sys/file/download?id=9104a4f38f453f420cf456abf10bc5f8', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('0654d117a3fb0fe061064096744bc6b0', 'MINIO', 'cug', '134_作品上传_5ae60a2c.png', 'png', '41', '40.7 kB', '0654d117a3fb0fe061064096744bc6b0.png', '/menu-icons/v5-flat-skeuomorphic-blue/0654d117a3fb0fe061064096744bc6b0.png', '/platform/sys/file/download?id=0654d117a3fb0fe061064096744bc6b0', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('d5dd0484ed5b8baa66d75d3ada43e955', 'MINIO', 'cug', '135_困难帮扶_ca437578.png', 'png', '40', '39.8 kB', 'd5dd0484ed5b8baa66d75d3ada43e955.png', '/menu-icons/v5-flat-skeuomorphic-blue/d5dd0484ed5b8baa66d75d3ada43e955.png', '/platform/sys/file/download?id=d5dd0484ed5b8baa66d75d3ada43e955', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('8517a2b51288572a7616218682da26cc', 'MINIO', 'cug', '136_我的作品_b0febdbf.png', 'png', '41', '41.0 kB', '8517a2b51288572a7616218682da26cc.png', '/menu-icons/v5-flat-skeuomorphic-blue/8517a2b51288572a7616218682da26cc.png', '/platform/sys/file/download?id=8517a2b51288572a7616218682da26cc', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('7307bab899c6747ad89a0b351c2e306e', 'MINIO', 'cug', '137_困难帮扶申请_d11cf9fe.png', 'png', '38', '37.9 kB', '7307bab899c6747ad89a0b351c2e306e.png', '/menu-icons/v5-flat-skeuomorphic-blue/7307bab899c6747ad89a0b351c2e306e.png', '/platform/sys/file/download?id=7307bab899c6747ad89a0b351c2e306e', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('458502126d65e18c89bf84e1242a0e6c', 'MINIO', 'cug', '138_作品阅览_04fd4ddf.png', 'png', '42', '42.0 kB', '458502126d65e18c89bf84e1242a0e6c.png', '/menu-icons/v5-flat-skeuomorphic-blue/458502126d65e18c89bf84e1242a0e6c.png', '/platform/sys/file/download?id=458502126d65e18c89bf84e1242a0e6c', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('605b72241fa221e989eda7c14bb41373', 'MINIO', 'cug', '139_会议选座_0c08a2e7.png', 'png', '61', '61.4 kB', '605b72241fa221e989eda7c14bb41373.png', '/menu-icons/v5-flat-skeuomorphic-blue/605b72241fa221e989eda7c14bb41373.png', '/platform/sys/file/download?id=605b72241fa221e989eda7c14bb41373', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('b905d8fd3e85338117038ff726278f3d', 'MINIO', 'cug', '140_亲子活动_871f822c.png', 'png', '39', '38.6 kB', 'b905d8fd3e85338117038ff726278f3d.png', '/menu-icons/v5-flat-skeuomorphic-blue/b905d8fd3e85338117038ff726278f3d.png', '/platform/sys/file/download?id=b905d8fd3e85338117038ff726278f3d', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('64c7b517599ba0099ce7a853e85738b2', 'MINIO', 'cug', '141_活动报名_612a4fa1.png', 'png', '35', '35.2 kB', '64c7b517599ba0099ce7a853e85738b2.png', '/menu-icons/v5-flat-skeuomorphic-blue/64c7b517599ba0099ce7a853e85738b2.png', '/platform/sys/file/download?id=64c7b517599ba0099ce7a853e85738b2', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('161ee1a6787b0aba72f46ab181e4ab53', 'MINIO', 'cug', '142_心理咨询_c8d0855a.png', 'png', '38', '38.5 kB', '161ee1a6787b0aba72f46ab181e4ab53.png', '/menu-icons/v5-flat-skeuomorphic-blue/161ee1a6787b0aba72f46ab181e4ab53.png', '/platform/sys/file/download?id=161ee1a6787b0aba72f46ab181e4ab53', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('7cad7841948398a495bd6d535ec35baf', 'MINIO', 'cug', '143_我的报名_c0ba4f08.png', 'png', '36', '36.4 kB', '7cad7841948398a495bd6d535ec35baf.png', '/menu-icons/v5-flat-skeuomorphic-blue/7cad7841948398a495bd6d535ec35baf.png', '/platform/sys/file/download?id=7cad7841948398a495bd6d535ec35baf', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('780975e27c40decf02a0ad9a58406b48', 'MINIO', 'cug', '144_法律援助_f148c76e.png', 'png', '55', '54.9 kB', '780975e27c40decf02a0ad9a58406b48.png', '/menu-icons/v5-flat-skeuomorphic-blue/780975e27c40decf02a0ad9a58406b48.png', '/platform/sys/file/download?id=780975e27c40decf02a0ad9a58406b48', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('7d9b1dbd86a892b96268f5cc0458093a', 'MINIO', 'cug', '145_医疗补助系统_b0cc1987.png', 'png', '43', '42.5 kB', '7d9b1dbd86a892b96268f5cc0458093a.png', '/menu-icons/v5-flat-skeuomorphic-blue/7d9b1dbd86a892b96268f5cc0458093a.png', '/platform/sys/file/download?id=7d9b1dbd86a892b96268f5cc0458093a', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('4bfe67d3bce0536922b83aaf998ff8bf', 'MINIO', 'cug', '146_职工福利_ca9e5652.png', 'png', '42', '42.3 kB', '4bfe67d3bce0536922b83aaf998ff8bf.png', '/menu-icons/v5-flat-skeuomorphic-blue/4bfe67d3bce0536922b83aaf998ff8bf.png', '/platform/sys/file/download?id=4bfe67d3bce0536922b83aaf998ff8bf', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('653f431f3f68e5529e7c746648ee3f17', 'MINIO', 'cug', '147_职工福利_093e1e29.png', 'png', '42', '42.3 kB', '653f431f3f68e5529e7c746648ee3f17.png', '/menu-icons/v5-flat-skeuomorphic-blue/653f431f3f68e5529e7c746648ee3f17.png', '/platform/sys/file/download?id=653f431f3f68e5529e7c746648ee3f17', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('69b7a9902bb48a6e668bd9207f3ad900', 'MINIO', 'cug', '148_福利选择_519c8f5a.png', 'png', '48', '47.7 kB', '69b7a9902bb48a6e668bd9207f3ad900.png', '/menu-icons/v5-flat-skeuomorphic-blue/69b7a9902bb48a6e668bd9207f3ad900.png', '/platform/sys/file/download?id=69b7a9902bb48a6e668bd9207f3ad900', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('e549fd7fa363215d798460f1ad7b9542', 'MINIO', 'cug', '149_福利日常核对_73df1dda.png', 'png', '40', '39.8 kB', 'e549fd7fa363215d798460f1ad7b9542.png', '/menu-icons/v5-flat-skeuomorphic-blue/e549fd7fa363215d798460f1ad7b9542.png', '/platform/sys/file/download?id=e549fd7fa363215d798460f1ad7b9542', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('0d0f799d5d6e7635020d5345c78a64ae', 'MINIO', 'cug', '150_体检管理_cf47b9d6.png', 'png', '48', '47.7 kB', '0d0f799d5d6e7635020d5345c78a64ae.png', '/menu-icons/v5-flat-skeuomorphic-blue/0d0f799d5d6e7635020d5345c78a64ae.png', '/platform/sys/file/download?id=0d0f799d5d6e7635020d5345c78a64ae', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('e574d0f9924e2d12d1c3d214f0a59761', 'MINIO', 'cug', '151_体育活动管理_e08ff179.png', 'png', '63', '63.2 kB', 'e574d0f9924e2d12d1c3d214f0a59761.png', '/menu-icons/v5-flat-skeuomorphic-blue/e574d0f9924e2d12d1c3d214f0a59761.png', '/platform/sys/file/download?id=e574d0f9924e2d12d1c3d214f0a59761', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('fca1fa026b15d8e7106271ce4ca7e5ef', 'MINIO', 'cug', '152_体育活动报名_69280dbb.png', 'png', '45', '45.2 kB', 'fca1fa026b15d8e7106271ce4ca7e5ef.png', '/menu-icons/v5-flat-skeuomorphic-blue/fca1fa026b15d8e7106271ce4ca7e5ef.png', '/platform/sys/file/download?id=fca1fa026b15d8e7106271ce4ca7e5ef', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('72e88557e860fe349597c9100a4029a7', 'MINIO', 'cug', '153_品牌活动_0868f8b6.png', 'png', '47', '47.3 kB', '72e88557e860fe349597c9100a4029a7.png', '/menu-icons/v5-flat-skeuomorphic-blue/72e88557e860fe349597c9100a4029a7.png', '/platform/sys/file/download?id=72e88557e860fe349597c9100a4029a7', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('350e456eb0b9c091519e1733ff69cda1', 'MINIO', 'cug', '154_品牌活动报名_c97ad132.png', 'png', '41', '40.8 kB', '350e456eb0b9c091519e1733ff69cda1.png', '/menu-icons/v5-flat-skeuomorphic-blue/350e456eb0b9c091519e1733ff69cda1.png', '/platform/sys/file/download?id=350e456eb0b9c091519e1733ff69cda1', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('7866849789d36e812e6eb0cffe8e75aa', 'MINIO', 'cug', '155_校工会文化活动_788400d0.png', 'png', '53', '53.3 kB', '7866849789d36e812e6eb0cffe8e75aa.png', '/menu-icons/v5-flat-skeuomorphic-blue/7866849789d36e812e6eb0cffe8e75aa.png', '/platform/sys/file/download?id=7866849789d36e812e6eb0cffe8e75aa', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('f7f2b1cc448c75bb410d8ce4b0d75d4f', 'MINIO', 'cug', '156_校文化活动报名_c1709519.png', 'png', '44', '43.9 kB', 'f7f2b1cc448c75bb410d8ce4b0d75d4f.png', '/menu-icons/v5-flat-skeuomorphic-blue/f7f2b1cc448c75bb410d8ce4b0d75d4f.png', '/platform/sys/file/download?id=f7f2b1cc448c75bb410d8ce4b0d75d4f', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('aaa4b2b3fcc9daf1154dbcf878209b70', 'MINIO', 'cug', '157_分工会文化活动_b759a93a.png', 'png', '51', '50.6 kB', 'aaa4b2b3fcc9daf1154dbcf878209b70.png', '/menu-icons/v5-flat-skeuomorphic-blue/aaa4b2b3fcc9daf1154dbcf878209b70.png', '/platform/sys/file/download?id=aaa4b2b3fcc9daf1154dbcf878209b70', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('447d5fedecfd3e3121854954142cebf4', 'MINIO', 'cug', '158_作品征集_91d79e0f.png', 'png', '45', '45.4 kB', '447d5fedecfd3e3121854954142cebf4.png', '/menu-icons/v5-flat-skeuomorphic-blue/447d5fedecfd3e3121854954142cebf4.png', '/platform/sys/file/download?id=447d5fedecfd3e3121854954142cebf4', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('1d9e13caf37aa95665f63ad4e545e0a6', 'MINIO', 'cug', '159_亲子活动_737e57a3.png', 'png', '39', '38.6 kB', '1d9e13caf37aa95665f63ad4e545e0a6.png', '/menu-icons/v5-flat-skeuomorphic-blue/1d9e13caf37aa95665f63ad4e545e0a6.png', '/platform/sys/file/download?id=1d9e13caf37aa95665f63ad4e545e0a6', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('398cfe57b1c727a434cd7c690d721217', 'MINIO', 'cug', '160_教工健身走_33e81fa0.png', 'png', '48', '47.7 kB', '398cfe57b1c727a434cd7c690d721217.png', '/menu-icons/v5-flat-skeuomorphic-blue/398cfe57b1c727a434cd7c690d721217.png', '/platform/sys/file/download?id=398cfe57b1c727a434cd7c690d721217', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('184782319d588117534eda54be0ca540', 'MINIO', 'cug', '161_活动基础管理_77c8af32.png', 'png', '46', '45.5 kB', '184782319d588117534eda54be0ca540.png', '/menu-icons/v5-flat-skeuomorphic-blue/184782319d588117534eda54be0ca540.png', '/platform/sys/file/download?id=184782319d588117534eda54be0ca540', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('ba437ff0da2e7759d35c2afddb15f698', 'MINIO', 'cug', '162_工会报销_1f917af2.png', 'png', '45', '45.5 kB', 'ba437ff0da2e7759d35c2afddb15f698.png', '/menu-icons/v5-flat-skeuomorphic-blue/ba437ff0da2e7759d35c2afddb15f698.png', '/platform/sys/file/download?id=ba437ff0da2e7759d35c2afddb15f698', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('7fb287d723da5ea7adab9f4426d02a59', 'MINIO', 'cug', '163_报销申请_d6132ff0.png', 'png', '45', '44.8 kB', '7fb287d723da5ea7adab9f4426d02a59.png', '/menu-icons/v5-flat-skeuomorphic-blue/7fb287d723da5ea7adab9f4426d02a59.png', '/platform/sys/file/download?id=7fb287d723da5ea7adab9f4426d02a59', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('38427f0f41908eb51ad8842aed240242', 'MINIO', 'cug', '164_问卷服务_1c643efa.png', 'png', '39', '39.0 kB', '38427f0f41908eb51ad8842aed240242.png', '/menu-icons/v5-flat-skeuomorphic-blue/38427f0f41908eb51ad8842aed240242.png', '/platform/sys/file/download?id=38427f0f41908eb51ad8842aed240242', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('e7fc89824875e92c475e6fd3704ea9f1', 'MINIO', 'cug', '165_场地预约(old_e9e46237.png', 'png', '51', '51.0 kB', 'e7fc89824875e92c475e6fd3704ea9f1.png', '/menu-icons/v5-flat-skeuomorphic-blue/e7fc89824875e92c475e6fd3704ea9f1.png', '/platform/sys/file/download?id=e7fc89824875e92c475e6fd3704ea9f1', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('cd64e36bf08bb4a2c1f3fd8c38e90fec', 'MINIO', 'cug', '166_场地预约_82356ff2.png', 'png', '58', '58.0 kB', 'cd64e36bf08bb4a2c1f3fd8c38e90fec.png', '/menu-icons/v5-flat-skeuomorphic-blue/cd64e36bf08bb4a2c1f3fd8c38e90fec.png', '/platform/sys/file/download?id=cd64e36bf08bb4a2c1f3fd8c38e90fec', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('ae2d6d77ea2ba8922d37ab6c88429008', 'MINIO', 'cug', '167_消息中心_40266809.png', 'png', '36', '36.2 kB', 'ae2d6d77ea2ba8922d37ab6c88429008.png', '/menu-icons/v5-flat-skeuomorphic-blue/ae2d6d77ea2ba8922d37ab6c88429008.png', '/platform/sys/file/download?id=ae2d6d77ea2ba8922d37ab6c88429008', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('a6357c304caae142f552f268e5966d57', 'MINIO', 'cug', '168_工会大数据_09abd6b8.png', 'png', '54', '53.6 kB', 'a6357c304caae142f552f268e5966d57.png', '/menu-icons/v5-flat-skeuomorphic-blue/a6357c304caae142f552f268e5966d57.png', '/platform/sys/file/download?id=a6357c304caae142f552f268e5966d57', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('b7f8ca64b4ca70ee14aa3e9bd0649e47', 'MINIO', 'cug', '169_年度预算申报_396309f2.png', 'png', '39', '38.9 kB', 'b7f8ca64b4ca70ee14aa3e9bd0649e47.png', '/menu-icons/v5-flat-skeuomorphic-blue/b7f8ca64b4ca70ee14aa3e9bd0649e47.png', '/platform/sys/file/download?id=b7f8ca64b4ca70ee14aa3e9bd0649e47', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('1f7a5cbdca6547a95bbb69eade8851f1', 'MINIO', 'cug', '170_预算申报_6be01be5.png', 'png', '39', '38.9 kB', '1f7a5cbdca6547a95bbb69eade8851f1.png', '/menu-icons/v5-flat-skeuomorphic-blue/1f7a5cbdca6547a95bbb69eade8851f1.png', '/platform/sys/file/download?id=1f7a5cbdca6547a95bbb69eade8851f1', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('e42a7995bf42d089133a483c9daaff4f', 'MINIO', 'cug', '171_经费预算管理_fe0ae2a7.png', 'png', '52', '51.6 kB', 'e42a7995bf42d089133a483c9daaff4f.png', '/menu-icons/v5-flat-skeuomorphic-blue/e42a7995bf42d089133a483c9daaff4f.png', '/platform/sys/file/download?id=e42a7995bf42d089133a483c9daaff4f', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('e406f644d922b0efa2c50580ef4dca87', 'MINIO', 'cug', '172_荣誉管理_31078d88.png', 'png', '45', '44.9 kB', 'e406f644d922b0efa2c50580ef4dca87.png', '/menu-icons/v5-flat-skeuomorphic-blue/e406f644d922b0efa2c50580ef4dca87.png', '/platform/sys/file/download?id=e406f644d922b0efa2c50580ef4dca87', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('a745dacec0cda95f849e4f21e31e8566', 'MINIO', 'cug', '173_评优评先_32bd9853.png', 'png', '40', '40.2 kB', 'a745dacec0cda95f849e4f21e31e8566.png', '/menu-icons/v5-flat-skeuomorphic-blue/a745dacec0cda95f849e4f21e31e8566.png', '/platform/sys/file/download?id=a745dacec0cda95f849e4f21e31e8566', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('d5ad8b087c6d12646a2d324370bbb08e', 'MINIO', 'cug', '174_新闻投稿_a4cfdc91.png', 'png', '38', '38.4 kB', 'd5ad8b087c6d12646a2d324370bbb08e.png', '/menu-icons/v5-flat-skeuomorphic-blue/d5ad8b087c6d12646a2d324370bbb08e.png', '/platform/sys/file/download?id=d5ad8b087c6d12646a2d324370bbb08e', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('f93ad109e30417aae741ee76d1845798', 'MINIO', 'cug', '175_职工建家_fac7e9f5.png', 'png', '40', '39.7 kB', 'f93ad109e30417aae741ee76d1845798.png', '/menu-icons/v5-flat-skeuomorphic-blue/f93ad109e30417aae741ee76d1845798.png', '/platform/sys/file/download?id=f93ad109e30417aae741ee76d1845798', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('3beb1065aefe8d0991c81ee094c8d4a1', 'MINIO', 'cug', '176_资产管理_d7c6c17e.png', 'png', '43', '43.5 kB', '3beb1065aefe8d0991c81ee094c8d4a1.png', '/menu-icons/v5-flat-skeuomorphic-blue/3beb1065aefe8d0991c81ee094c8d4a1.png', '/platform/sys/file/download?id=3beb1065aefe8d0991c81ee094c8d4a1', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('ebcddcbc72ce2961b4ba7e67b0bc64d0', 'MINIO', 'cug', '177_注册社团_946104dc.png', 'png', '49', '48.9 kB', 'ebcddcbc72ce2961b4ba7e67b0bc64d0.png', '/menu-icons/v5-flat-skeuomorphic-blue/ebcddcbc72ce2961b4ba7e67b0bc64d0.png', '/platform/sys/file/download?id=ebcddcbc72ce2961b4ba7e67b0bc64d0', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('ddd801157bf58265dd9e641482fe972b', 'MINIO', 'cug', '178_社团信息维护_f6485820.png', 'png', '37', '36.6 kB', 'ddd801157bf58265dd9e641482fe972b.png', '/menu-icons/v5-flat-skeuomorphic-blue/ddd801157bf58265dd9e641482fe972b.png', '/platform/sys/file/download?id=ddd801157bf58265dd9e641482fe972b', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('7acaa1e469e1ba6450f8563eb4b639fe', 'MINIO', 'cug', '179_社团入会_1287eb24.png', 'png', '44', '43.6 kB', '7acaa1e469e1ba6450f8563eb4b639fe.png', '/menu-icons/v5-flat-skeuomorphic-blue/7acaa1e469e1ba6450f8563eb4b639fe.png', '/platform/sys/file/download?id=7acaa1e469e1ba6450f8563eb4b639fe', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('46c041705eaec632dfa73d81b3dcc7b5', 'MINIO', 'cug', '180_社团入会_321fa0c8.png', 'png', '44', '43.6 kB', '46c041705eaec632dfa73d81b3dcc7b5.png', '/menu-icons/v5-flat-skeuomorphic-blue/46c041705eaec632dfa73d81b3dcc7b5.png', '/platform/sys/file/download?id=46c041705eaec632dfa73d81b3dcc7b5', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('0c1ca1983d4bbf604bce1f308cdf0920', 'MINIO', 'cug', '181_年度考核_1ddecada.png', 'png', '45', '45.2 kB', '0c1ca1983d4bbf604bce1f308cdf0920.png', '/menu-icons/v5-flat-skeuomorphic-blue/0c1ca1983d4bbf604bce1f308cdf0920.png', '/platform/sys/file/download?id=0c1ca1983d4bbf604bce1f308cdf0920', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('649ca2608f994767fb3d99e17cd646c3', 'MINIO', 'cug', '182_社团评优_3f09f8a9.png', 'png', '49', '49.5 kB', '649ca2608f994767fb3d99e17cd646c3.png', '/menu-icons/v5-flat-skeuomorphic-blue/649ca2608f994767fb3d99e17cd646c3.png', '/platform/sys/file/download?id=649ca2608f994767fb3d99e17cd646c3', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('f9185ffb5188272249a80d0985a8a078', 'MINIO', 'cug', '183_社团统计_b8817cce.png', 'png', '38', '37.9 kB', 'f9185ffb5188272249a80d0985a8a078.png', '/menu-icons/v5-flat-skeuomorphic-blue/f9185ffb5188272249a80d0985a8a078.png', '/platform/sys/file/download?id=f9185ffb5188272249a80d0985a8a078', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('b03b7789697fa8ceac4f6a3a8b07652d', 'MINIO', 'cug', '184_社团文化活动_509423f4.png', 'png', '49', '48.6 kB', 'b03b7789697fa8ceac4f6a3a8b07652d.png', '/menu-icons/v5-flat-skeuomorphic-blue/b03b7789697fa8ceac4f6a3a8b07652d.png', '/platform/sys/file/download?id=b03b7789697fa8ceac4f6a3a8b07652d', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('0335b1721abc858c9ee85cd724173142', 'MINIO', 'cug', '185_年度计划总结_e658f630.png', 'png', '53', '52.6 kB', '0335b1721abc858c9ee85cd724173142.png', '/menu-icons/v5-flat-skeuomorphic-blue/0335b1721abc858c9ee85cd724173142.png', '/platform/sys/file/download?id=0335b1721abc858c9ee85cd724173142', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('544e4eb6c6407beb92e0a338c48dfe4c', 'MINIO', 'cug', '186_活动申报_895089b9.png', 'png', '37', '36.9 kB', '544e4eb6c6407beb92e0a338c48dfe4c.png', '/menu-icons/v5-flat-skeuomorphic-blue/544e4eb6c6407beb92e0a338c48dfe4c.png', '/platform/sys/file/download?id=544e4eb6c6407beb92e0a338c48dfe4c', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('760c3374e24ee833b84f461e48adcc49', 'MINIO', 'cug', '187_活动申报_6bb151be.png', 'png', '37', '36.9 kB', '760c3374e24ee833b84f461e48adcc49.png', '/menu-icons/v5-flat-skeuomorphic-blue/760c3374e24ee833b84f461e48adcc49.png', '/platform/sys/file/download?id=760c3374e24ee833b84f461e48adcc49', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('2e98608b16f6af5fe12fe6684c7eb3de', 'MINIO', 'cug', '188_费用报销管理_e8d1ced0.png', 'png', '39', '39.0 kB', '2e98608b16f6af5fe12fe6684c7eb3de.png', '/menu-icons/v5-flat-skeuomorphic-blue/2e98608b16f6af5fe12fe6684c7eb3de.png', '/platform/sys/file/download?id=2e98608b16f6af5fe12fe6684c7eb3de', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('20126926855d26ff593f0b7c75a23d4c', 'MINIO', 'cug', '189_报销申请_6784436e.png', 'png', '45', '44.8 kB', '20126926855d26ff593f0b7c75a23d4c.png', '/menu-icons/v5-flat-skeuomorphic-blue/20126926855d26ff593f0b7c75a23d4c.png', '/platform/sys/file/download?id=20126926855d26ff593f0b7c75a23d4c', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('861a2cef9f874ad8cec926e9f2bc0f5e', 'MINIO', 'cug', '190_子女入学管理_36e59aa2.png', 'png', '51', '51.0 kB', '861a2cef9f874ad8cec926e9f2bc0f5e.png', '/menu-icons/v5-flat-skeuomorphic-blue/861a2cef9f874ad8cec926e9f2bc0f5e.png', '/platform/sys/file/download?id=861a2cef9f874ad8cec926e9f2bc0f5e', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('c519b7d6c7eb9078e9d3e57c0369015b', 'MINIO', 'cug', '191_建言献策_5a90e1f8.png', 'png', '39', '39.2 kB', 'c519b7d6c7eb9078e9d3e57c0369015b.png', '/menu-icons/v5-flat-skeuomorphic-blue/c519b7d6c7eb9078e9d3e57c0369015b.png', '/platform/sys/file/download?id=c519b7d6c7eb9078e9d3e57c0369015b', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('2f4992fd672f09fc3393643edb903a40', 'MINIO', 'cug', '192_两委委员推选_c3886b5f.png', 'png', '39', '38.6 kB', '2f4992fd672f09fc3393643edb903a40.png', '/menu-icons/v5-flat-skeuomorphic-blue/2f4992fd672f09fc3393643edb903a40.png', '/platform/sys/file/download?id=2f4992fd672f09fc3393643edb903a40', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('67d562a574ba049712ca28a01d147dae', 'MINIO', 'cug', '193_理论学习_6d2535e3.png', 'png', '36', '36.5 kB', '67d562a574ba049712ca28a01d147dae.png', '/menu-icons/v5-flat-skeuomorphic-blue/67d562a574ba049712ca28a01d147dae.png', '/platform/sys/file/download?id=67d562a574ba049712ca28a01d147dae', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('4de59e0b1190a5d6d23e45a3c4481c15', 'MINIO', 'cug', '194_会务管理_fbe27890.png', 'png', '42', '41.8 kB', '4de59e0b1190a5d6d23e45a3c4481c15.png', '/menu-icons/v5-flat-skeuomorphic-blue/4de59e0b1190a5d6d23e45a3c4481c15.png', '/platform/sys/file/download?id=4de59e0b1190a5d6d23e45a3c4481c15', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('3f68b9240e81d25e81a08f90e946e1e9', 'MINIO', 'cug', '195_职工素养培训_81567260.png', 'png', '46', '46.1 kB', '3f68b9240e81d25e81a08f90e946e1e9.png', '/menu-icons/v5-flat-skeuomorphic-blue/3f68b9240e81d25e81a08f90e946e1e9.png', '/platform/sys/file/download?id=3f68b9240e81d25e81a08f90e946e1e9', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('6cf1760ca5f6478dcea7f33c9d724b32', 'MINIO', 'cug', '196_生日祝福_f12f0f8d.png', 'png', '40', '40.3 kB', '6cf1760ca5f6478dcea7f33c9d724b32.png', '/menu-icons/v5-flat-skeuomorphic-blue/6cf1760ca5f6478dcea7f33c9d724b32.png', '/platform/sys/file/download?id=6cf1760ca5f6478dcea7f33c9d724b32', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('4243c9823d380bf6fac1e01fe784c192', 'MINIO', 'cug', '197_会议厅_ac32facf.png', 'png', '55', '54.9 kB', '4243c9823d380bf6fac1e01fe784c192.png', '/menu-icons/v5-flat-skeuomorphic-blue/4243c9823d380bf6fac1e01fe784c192.png', '/platform/sys/file/download?id=4243c9823d380bf6fac1e01fe784c192', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('d6dec563549f40d539687601c45baf49', 'MINIO', 'cug', '198_人员核对_1f9e482c.png', 'png', '35', '35.3 kB', 'd6dec563549f40d539687601c45baf49.png', '/menu-icons/v5-flat-skeuomorphic-blue/d6dec563549f40d539687601c45baf49.png', '/platform/sys/file/download?id=d6dec563549f40d539687601c45baf49', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('84d4236d18b2c3ef37f452ef2bb111d9', 'MINIO', 'cug', '199_健身卡_3d6a88f3.png', 'png', '37', '37.1 kB', '84d4236d18b2c3ef37f452ef2bb111d9.png', '/menu-icons/v5-flat-skeuomorphic-blue/84d4236d18b2c3ef37f452ef2bb111d9.png', '/platform/sys/file/download?id=84d4236d18b2c3ef37f452ef2bb111d9', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('d12598f3a2893e7054ece31c517d467d', 'MINIO', 'cug', '200_量化考核_fd9a298a.png', 'png', '48', '47.7 kB', 'd12598f3a2893e7054ece31c517d467d.png', '/menu-icons/v5-flat-skeuomorphic-blue/d12598f3a2893e7054ece31c517d467d.png', '/platform/sys/file/download?id=d12598f3a2893e7054ece31c517d467d', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('2084a6a74acc26ffdacee69688fe351f', 'MINIO', 'cug', '201_分工会自评_7a5c41f2.png', 'png', '40', '39.5 kB', '2084a6a74acc26ffdacee69688fe351f.png', '/menu-icons/v5-flat-skeuomorphic-blue/2084a6a74acc26ffdacee69688fe351f.png', '/platform/sys/file/download?id=2084a6a74acc26ffdacee69688fe351f', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('b8e1e78de95c5deb0d68927e6456044b', 'MINIO', 'cug', '202_生日祝福_93487f22.png', 'png', '40', '40.3 kB', 'b8e1e78de95c5deb0d68927e6456044b.png', '/menu-icons/v5-flat-skeuomorphic-blue/b8e1e78de95c5deb0d68927e6456044b.png', '/platform/sys/file/download?id=b8e1e78de95c5deb0d68927e6456044b', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('86e65c679e20f6d534d6bf17636cc229', 'MINIO', 'cug', '203_单位管理_c2f9569e.png', 'png', '33', '33.0 kB', '86e65c679e20f6d534d6bf17636cc229.png', '/menu-icons/v5-flat-skeuomorphic-blue/86e65c679e20f6d534d6bf17636cc229.png', '/platform/sys/file/download?id=86e65c679e20f6d534d6bf17636cc229', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('d087820cc083371731515adc4e41cb73', 'MINIO', 'cug', '204_工会管理_51b1e376.png', 'png', '37', '36.6 kB', 'd087820cc083371731515adc4e41cb73.png', '/menu-icons/v5-flat-skeuomorphic-blue/d087820cc083371731515adc4e41cb73.png', '/platform/sys/file/download?id=d087820cc083371731515adc4e41cb73', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('5e298a0010b66ac5b6c3dc5aeb5b440d', 'MINIO', 'cug', '205_系统设置_72e8f153.png', 'png', '37', '37.3 kB', '5e298a0010b66ac5b6c3dc5aeb5b440d.png', '/menu-icons/v5-flat-skeuomorphic-blue/5e298a0010b66ac5b6c3dc5aeb5b440d.png', '/platform/sys/file/download?id=5e298a0010b66ac5b6c3dc5aeb5b440d', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('a79e1c5d38a350f5bde62b5d0f9b44fe', 'MINIO', 'cug', '206_基础管理_a993711d.png', 'png', '39', '39.2 kB', 'a79e1c5d38a350f5bde62b5d0f9b44fe.png', '/menu-icons/v5-flat-skeuomorphic-blue/a79e1c5d38a350f5bde62b5d0f9b44fe.png', '/platform/sys/file/download?id=a79e1c5d38a350f5bde62b5d0f9b44fe', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('a84e2883602abd6be8677595c0d67def', 'MINIO', 'cug', '207_活动报名_5cc02dac.png', 'png', '35', '35.2 kB', 'a84e2883602abd6be8677595c0d67def.png', '/menu-icons/v5-flat-skeuomorphic-blue/a84e2883602abd6be8677595c0d67def.png', '/platform/sys/file/download?id=a84e2883602abd6be8677595c0d67def', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('f9a1009a28d370c76df7f05b141612bb', 'MINIO', 'cug', '208_问卷调查_86dda8e2.png', 'png', '40', '40.1 kB', 'f9a1009a28d370c76df7f05b141612bb.png', '/menu-icons/v5-flat-skeuomorphic-blue/f9a1009a28d370c76df7f05b141612bb.png', '/platform/sys/file/download?id=f9a1009a28d370c76df7f05b141612bb', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('d9acd88c47bd8c575996a7fb85d550b4', 'MINIO', 'cug', '209_系统配置_3668daf0.png', 'png', '41', '40.6 kB', 'd9acd88c47bd8c575996a7fb85d550b4.png', '/menu-icons/v5-flat-skeuomorphic-blue/d9acd88c47bd8c575996a7fb85d550b4.png', '/platform/sys/file/download?id=d9acd88c47bd8c575996a7fb85d550b4', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('2170938bae373c66f8f51eceeed6982b', 'MINIO', 'cug', '210_数据管理_5ba85827.png', 'png', '41', '40.6 kB', '2170938bae373c66f8f51eceeed6982b.png', '/menu-icons/v5-flat-skeuomorphic-blue/2170938bae373c66f8f51eceeed6982b.png', '/platform/sys/file/download?id=2170938bae373c66f8f51eceeed6982b', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('880641f8e562ed8577fb8d49d9df4bf3', 'MINIO', 'cug', '211_场地预约_0a9fab6f.png', 'png', '58', '58.0 kB', '880641f8e562ed8577fb8d49d9df4bf3.png', '/menu-icons/v5-flat-skeuomorphic-blue/880641f8e562ed8577fb8d49d9df4bf3.png', '/platform/sys/file/download?id=880641f8e562ed8577fb8d49d9df4bf3', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('4f355a9c8b6294fbb2ad2e6064b03a33', 'MINIO', 'cug', '212_场地预约_e3399da9.png', 'png', '58', '58.0 kB', '4f355a9c8b6294fbb2ad2e6064b03a33.png', '/menu-icons/v5-flat-skeuomorphic-blue/4f355a9c8b6294fbb2ad2e6064b03a33.png', '/platform/sys/file/download?id=4f355a9c8b6294fbb2ad2e6064b03a33', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('44099a250bf70bd2f054ef0b81d4b099', 'MINIO', 'cug', '213_流程管理_8bfae2e4.png', 'png', '37', '37.0 kB', '44099a250bf70bd2f054ef0b81d4b099.png', '/menu-icons/v5-flat-skeuomorphic-blue/44099a250bf70bd2f054ef0b81d4b099.png', '/platform/sys/file/download?id=44099a250bf70bd2f054ef0b81d4b099', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('5567ec9af0df645c587da7643ec43c56', 'MINIO', 'cug', '214_我的预约_a58a5431.png', 'png', '41', '41.3 kB', '5567ec9af0df645c587da7643ec43c56.png', '/menu-icons/v5-flat-skeuomorphic-blue/5567ec9af0df645c587da7643ec43c56.png', '/platform/sys/file/download?id=5567ec9af0df645c587da7643ec43c56', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('0442c4741e1fad06e916c9a3e3ff6d33', 'MINIO', 'cug', '215_校工会审核_f3c752d1.png', 'png', '40', '39.7 kB', '0442c4741e1fad06e916c9a3e3ff6d33.png', '/menu-icons/v5-flat-skeuomorphic-blue/0442c4741e1fad06e916c9a3e3ff6d33.png', '/platform/sys/file/download?id=0442c4741e1fad06e916c9a3e3ff6d33', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('c6754f1997880df46a8fae7d038b6a38', 'MINIO', 'cug', '216_场地预约_26e7dc9c.png', 'png', '58', '58.0 kB', 'c6754f1997880df46a8fae7d038b6a38.png', '/menu-icons/v5-flat-skeuomorphic-blue/c6754f1997880df46a8fae7d038b6a38.png', '/platform/sys/file/download?id=c6754f1997880df46a8fae7d038b6a38', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('53d254c917da9222f61ef9e198de80a5', 'MINIO', 'cug', '217_普惠疗休养_68ac8d18.png', 'png', '49', '48.7 kB', '53d254c917da9222f61ef9e198de80a5.png', '/menu-icons/v5-flat-skeuomorphic-blue/53d254c917da9222f61ef9e198de80a5.png', '/platform/sys/file/download?id=53d254c917da9222f61ef9e198de80a5', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('863a32cfe3e2441b11d7ef582efe19a9', 'MINIO', 'cug', '218_疗休养报名_f30cfea5.png', 'png', '46', '46.0 kB', '863a32cfe3e2441b11d7ef582efe19a9.png', '/menu-icons/v5-flat-skeuomorphic-blue/863a32cfe3e2441b11d7ef582efe19a9.png', '/platform/sys/file/download?id=863a32cfe3e2441b11d7ef582efe19a9', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('7575966ac094d6e6b89d09dd4e875885', 'MINIO', 'cug', '219_场地预约_f50b3389.png', 'png', '58', '58.0 kB', '7575966ac094d6e6b89d09dd4e875885.png', '/menu-icons/v5-flat-skeuomorphic-blue/7575966ac094d6e6b89d09dd4e875885.png', '/platform/sys/file/download?id=7575966ac094d6e6b89d09dd4e875885', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('69a76d56735635ec225b70051e073309', 'MINIO', 'cug', '220_学习教育平台_a0f47f6a.png', 'png', '40', '39.7 kB', '69a76d56735635ec225b70051e073309.png', '/menu-icons/v5-flat-skeuomorphic-blue/69a76d56735635ec225b70051e073309.png', '/platform/sys/file/download?id=69a76d56735635ec225b70051e073309', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('68d074dea722443c5150fe3b832be738', 'MINIO', 'cug', '221_普惠疗休养_b7c63f0c.png', 'png', '49', '48.7 kB', '68d074dea722443c5150fe3b832be738.png', '/menu-icons/v5-flat-skeuomorphic-blue/68d074dea722443c5150fe3b832be738.png', '/platform/sys/file/download?id=68d074dea722443c5150fe3b832be738', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('f4397f0e4af50a213f4789e8c0510af6', 'MINIO', 'cug', '222_疗休养报名_b7c63f0c.png', 'png', '46', '46.0 kB', 'f4397f0e4af50a213f4789e8c0510af6.png', '/menu-icons/v5-flat-skeuomorphic-blue/f4397f0e4af50a213f4789e8c0510af6.png', '/platform/sys/file/download?id=f4397f0e4af50a213f4789e8c0510af6', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('f6607e7d1aa359689d64f4cd45383cb5', 'MINIO', 'cug', '223_我的疗休养_d3020be8.png', 'png', '47', '46.8 kB', 'f6607e7d1aa359689d64f4cd45383cb5.png', '/menu-icons/v5-flat-skeuomorphic-blue/f6607e7d1aa359689d64f4cd45383cb5.png', '/platform/sys/file/download?id=f6607e7d1aa359689d64f4cd45383cb5', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('4bd725febe3e8105556959f7af988987', 'MINIO', 'cug', '224_分工会审核_80734d95.png', 'png', '40', '39.5 kB', '4bd725febe3e8105556959f7af988987.png', '/menu-icons/v5-flat-skeuomorphic-blue/4bd725febe3e8105556959f7af988987.png', '/platform/sys/file/download?id=4bd725febe3e8105556959f7af988987', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('9bfe408b11963fc3da990e0edbbc4250', 'MINIO', 'cug', '225_校工会审核_08793469.png', 'png', '40', '39.7 kB', '9bfe408b11963fc3da990e0edbbc4250.png', '/menu-icons/v5-flat-skeuomorphic-blue/9bfe408b11963fc3da990e0edbbc4250.png', '/platform/sys/file/download?id=9bfe408b11963fc3da990e0edbbc4250', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('d5cc82d4fdeba1c97bfaa1f2ba0ff48e', 'MINIO', 'cug', '226_学习教育平台_3af0f040.png', 'png', '40', '39.7 kB', 'd5cc82d4fdeba1c97bfaa1f2ba0ff48e.png', '/menu-icons/v5-flat-skeuomorphic-blue/d5cc82d4fdeba1c97bfaa1f2ba0ff48e.png', '/platform/sys/file/download?id=d5cc82d4fdeba1c97bfaa1f2ba0ff48e', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('a2e470e73fba0a9029f062ca161aaabe', 'MINIO', 'cug', '227_学习教育首页_82946217.png', 'png', '40', '40.4 kB', 'a2e470e73fba0a9029f062ca161aaabe.png', '/menu-icons/v5-flat-skeuomorphic-blue/a2e470e73fba0a9029f062ca161aaabe.png', '/platform/sys/file/download?id=a2e470e73fba0a9029f062ca161aaabe', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('2adf711e5009bf7a2b74245ffba749bf', 'MINIO', 'cug', '228_我的学习_3e9a7611.png', 'png', '44', '44.4 kB', '2adf711e5009bf7a2b74245ffba749bf.png', '/menu-icons/v5-flat-skeuomorphic-blue/2adf711e5009bf7a2b74245ffba749bf.png', '/platform/sys/file/download?id=2adf711e5009bf7a2b74245ffba749bf', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('d390359d7c76b5a7406e2634b77031aa', 'MINIO', 'cug', '229_荣誉台账_47a997dc.png', 'png', '42', '41.9 kB', 'd390359d7c76b5a7406e2634b77031aa.png', '/menu-icons/v5-flat-skeuomorphic-blue/d390359d7c76b5a7406e2634b77031aa.png', '/platform/sys/file/download?id=d390359d7c76b5a7406e2634b77031aa', NULL, NULL, '', 1785994967344, '', 1785994967344, 0),
('f695e0abe3121d36242fd899c693c49b', 'MINIO', 'cug', '230_荣誉展示_2a93542d.png', 'png', '49', '49.5 kB', 'f695e0abe3121d36242fd899c693c49b.png', '/menu-icons/v5-flat-skeuomorphic-blue/f695e0abe3121d36242fd899c693c49b.png', '/platform/sys/file/download?id=f695e0abe3121d36242fd899c693c49b', NULL, NULL, '', 1785994967344, '', 1785994967344, 0)
ON DUPLICATE KEY UPDATE
`bucket` = VALUES(`bucket`),
`name` = VALUES(`name`),
`sizeKb` = VALUES(`sizeKb`),
`sizeInfo` = VALUES(`sizeInfo`),
`objName` = VALUES(`objName`),
`storagePath` = VALUES(`storagePath`),
`downloadPath` = VALUES(`downloadPath`),
`updatedAt` = VALUES(`updatedAt`),
`delFlag` = 0;
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d4239ab512e02e319bde38b07d4776a0' WHERE `id` = '2e6f393072904de3a80b10a00d3eeea5';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=50988a1ded823d35c0d854afb2692b57' WHERE `id` = '64ace2097a0341c8ba2da1961cda671f';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=8a67dd727502fecf8855e4e913cf8e1e' WHERE `id` = 'eb18aa5741e64ce0bcaa824119d720a8';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=59955c44f86d8d0f45fd8f3e0d614612' WHERE `id` = '835cb68e14e74f7bbf6cf5a1e0659a26';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d2f23637ecfd8f39cb46c25876223eeb' WHERE `id` = '10ebaa5b633f42bf9f8768a942c53fb5';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=9a7df21c6bd1f87d9eda769f00b40d89' WHERE `id` = 'e7cf2f56415f4e1dacfb415b42045d4c';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=b41ca4fa2c2462254bb6d7efffc285a4' WHERE `id` = '40a293cce5474cb58503435cb5a2fb14';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=3b0245e70916a36073e0fef16f2e1f32' WHERE `id` = '2666d0aeb0a84c15bcbb7802433e0070';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=202d0ae8211611a6947ff7caecbe7e2b' WHERE `id` = 'ea574347b35a4c68bd02dc1cd2eb9e5f';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=4e2070b1c0908d460dbf67f01818d29c' WHERE `id` = '9441d18cd87f48d0b9f49d9f7103e55b';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=7b10699834f961eda7a12df20a6e1ce7' WHERE `id` = '44a59a2b8a6b48efa35eda8b16558a26';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=662b152a6a5d2b7b694a4076cdd218e3' WHERE `id` = '1c2aee7dc9cc4ef1b2977d1f1013cc16';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=39325d6ef536fa6413c6a9e2edb98425' WHERE `id` = '11db68564eba499da35d9d5fbdf63874';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=4084d4436cbfa13f84a9dca9177ce6ab' WHERE `id` = 'd5d7964e86c54a8e993f59fa78186e9d';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=7339d3c16569a5c925794378a300fa9e' WHERE `id` = 'c44115254326463682aba8ddd7f58c5b';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=99eca55c6eea6eb0451aeb4fdcdd0942' WHERE `id` = 'eb4ed857e2da407981f60e29206b25f8';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=0532afa3620e20113505b03755959ee0' WHERE `id` = 'c4b99724f4bc46be97608a10d84d7020';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=3d7c1a8b6778409f063cfd5197649d99' WHERE `id` = '56835d074f3243f4b89b5cbb6cb92dfc';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=7cd72e99031df0c21431ad64d0ac72a8' WHERE `id` = '304278a0ce2e49ac94758e49ce863170';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d2a477739ecf817c425e3113d66b0a01' WHERE `id` = '2b9b7227466c4889a314a8bc0236fd84';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d608ed7f50b2fda7c9228372ba8012b0' WHERE `id` = 'ff182281b3284863b13135f08407b5aa';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=2b16431101b09760db12387a3714d3c6' WHERE `id` = '7c79171d88654fc996b2d1eeb93b75d9';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=e0d5aa775264eae8d49114a8f3bf82e9' WHERE `id` = '32a51579ed594d3d9c272e3377110635';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=1fda43541284c86b8d5f406ee5ebf1e0' WHERE `id` = '6bdef282dac0405e9738fb159e1a2d46';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=f9b7a26ef993a9808b09c67f73d2d296' WHERE `id` = 'eeaf336622364a178392c20cfbd6bb0b';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=b83956a3a3162f17513333e8dfe91f49' WHERE `id` = 'b27178ff03df4fdbab5feeea0224a992';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=969f3bc275bbd917b3e3444752d9de38' WHERE `id` = '87611b6d78bb490080f3456c53a99e07';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d54945a79bce326c126a17ffa7dedd86' WHERE `id` = 'd0ee5ab9fa3247cf813514a88437536f';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=012f4e24cb99feeae830b9e5956f730a' WHERE `id` = 'af963d19d77a452db436174332231cb3';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=71f1a5bdd53422a302d50565ed6d8ca7' WHERE `id` = 'f7a890c73c4545aeb8009de7b552f5e6';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=01ac13ee1b86635f406704686b2826cb' WHERE `id` = '41410dbe4ae34a82b982bae5b11665a8';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=ff390faffeed11c872ff43c268fc42c8' WHERE `id` = '5e0c533552d94e189f3e9ed0b847eb97';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=b077d67b5add801672329f19deedef51' WHERE `id` = 'b8bcaa94ac2d45b88c796626bb42cf99';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=0784cad3fc2147bafafc22cdb00b32b8' WHERE `id` = '7af124e126044917920a39382666d488';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=ca4ddf8871ab60754812c61781e3820a' WHERE `id` = '2de433e4f8494cd3bcd86a4d5f7931e2';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=92251f17382d770a99d6399a9245fed2' WHERE `id` = '840648058ebf48e3a294fdbdb9b3453a';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=9b5bf30597169d4b597ec15c64746589' WHERE `id` = 'dbd21f6b79434b34b7369df7a48589a4';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=bff0da0374934156eaf7008420281877' WHERE `id` = 'e585d2cac7ef4b6ba7ca61a1ad663c59';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=9ff5f7ccbf1584cc09c8b0b0b547907b' WHERE `id` = '7e2b850c0934472282805f5fddaefa87';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=fe79030ce09863147010927ef79d4804' WHERE `id` = '8f27ac9fd7f644edba46868204b5ede2';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=46ca54df1bb66aaec8d89be47ed888d9' WHERE `id` = '313842fc6f5c4d589658a9d0fc0f25b7';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=7650a2a028223ae8380c946d96551b56' WHERE `id` = 'dcf6c19011a9481898eb5277f24e885a';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=128a3ca23138c341b259ef88521818c8' WHERE `id` = '13d50644bc8141ae8e32a0b11e90045d';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=111f52a632d37ba3029d768a70e59426' WHERE `id` = 'c547be26c12c41199dfff259a4c039ca';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=a5b94ab758eb078c51a68bd8b74d0b63' WHERE `id` = 'f3ae0a075cd94d24b0bc1d4aec5565f7';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=f56d0ebb12e367095873a4a2bafa362e' WHERE `id` = '00448f6955cd441c8677dc2eca12006b';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=e85273b4715e551e7a0be1e4c237e9db' WHERE `id` = '024811fd168e44948e6ab84911fc26bb';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=e7d21d8058319281fc750720196338b3' WHERE `id` = '9bfd257eb7974763a1035a5c82b966f7';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=e229c7c88be79c83cbb204273e1e837a' WHERE `id` = '7492992ba3564d35938d133d7191bb0e';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=64e9baf4931fd5414ca105cbe6771346' WHERE `id` = '330e42e0ae914f5392b96fb933f17b5b';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=dfe30264324d45f30e36a5209c7a3b67' WHERE `id` = '87a2dcfac0da4ec4870b65693807a4d1';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d2095854e67dcf28dea1a4a975e90aba' WHERE `id` = 'c269f94a5c8a4a4a8c8de0bb8f8f9f9a';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=5c823bf5486ec8ae26e3233b0fe7f493' WHERE `id` = '6ddda19192c04f48ad76a507cd2e2c39';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=14ee697a9f479076eb3a113aaa025bcb' WHERE `id` = '3cf7ee61f2ed44d6838d92dea22d857b';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=4dee1a7937ccbffde68a358d05179e10' WHERE `id` = '51b21e9744614be8805113293902a7ce';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=8e867f31615a067757139cb0f37a2c3a' WHERE `id` = '23d30124199b486d8af79aba62440b15';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=0cc926265e46a20bd7750bd23ef64ea7' WHERE `id` = 'd736e4d7e8644cf38f248e7ad87ed6ad';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=b20526ea21e6d034a1335123e4db2440' WHERE `id` = '35a9239d754c47b9afccce173cb72d64';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=a4bc152d86f817fa2cf87ee142996d48' WHERE `id` = 'd4cab4ba599041e4b2b89cb74e7e4f35';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=febd687b512a37aa151284d0d6249a9c' WHERE `id` = '0a2bfc8579034908baf6d035a7b14e0a';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=414f0d597613854fb20d316c9471b32e' WHERE `id` = 'c03fbf17e7094f5f9d174f694dc93131';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=5b82cabae27a69bb71daa26cbc010965' WHERE `id` = '56620c51729f4c59a69c03ba8f5a80fc';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=5e63cc5c28e869fdae9d7209e0e34316' WHERE `id` = 'ef46a58794044c73a0d1197c7b6fe41c';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=1e663ad85c938f9dc3591306efa12ef2' WHERE `id` = 'c6a2ec8dc2f84f2fbba9673797e10faa';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=50ed9525a58d1f55a53dc58aa2dffc1d' WHERE `id` = '7b21d46827e9451c84809b53c1c08e2b';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=04528f30323c0f89065ea88bfa5e1767' WHERE `id` = '43f06636029a4f16b4a8a1007312d422';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=835a6cb3de7045d78f7eb9dda0f3ba24' WHERE `id` = 'b6c224df9e6c4f678f931c9006a718f0';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=7fcea2eb85b32c7e08fe2d7838cf9f74' WHERE `id` = '297400c803404aa2a34f38d276eaced0';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=b5afef9259f3abae7b1bbb1d05b2fe5c' WHERE `id` = 'aa0ffd36239f4a13b61419744fd3fbbb';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=3fc3d984a41e9225e1f7710280fdac19' WHERE `id` = '7dc21dca53184791b587d9c654dccfa3';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=47fe77b9ff74053f555c339157e5e497' WHERE `id` = '939595b4c6754cb483a7d65227844c6e';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d45efe5411e254dc940f6e10f7c8f383' WHERE `id` = 'd073c1d866c0463ca571a658ee5c9760';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d964d19857c59f3e5dd282620f1a213e' WHERE `id` = '3f88a4f679fc4d78b9557055cc4bc1ae';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=141fc4d6a9168b862aa5918726d0924a' WHERE `id` = '8a77d32c8f9145f48f376e0886cefc59';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=185b9668345c1775c8b34642f6108872' WHERE `id` = '44423a17da734e318e69aa99560c81c0';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=ce06d45189f54739dc25a391b6c2fe85' WHERE `id` = '3e10265306224ac18c4b4c7e3d7c92d0';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=0738309559b2647c5ef8b38ed8f39080' WHERE `id` = 'ac2516a6788a4be98ffa44c5842568bb';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=0f2717dd006be9e5db67442377679f91' WHERE `id` = '59d6ba7c321a43548f04120ed1936d32';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=91e5dc12db888366c17e61c9121ff69c' WHERE `id` = '6b5adca77c454fffbe112da4096a25d6';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=81ac98687f68e252042807a459a988df' WHERE `id` = '575660216c844b23a1fb9ae526ec180c';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=7a61acfc8a2896f36ca0f140a8c00f93' WHERE `id` = '1375120f807e4c5996f91ff77f043c59';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=24565ab537cc29fdc1f8398d57cba2c9' WHERE `id` = '2c61ac06b95d4b34a0e300782b4ac267';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=024f728cf7476458d372d9c13bd9f937' WHERE `id` = '893016b4db414bdb83eb33484c62f23a';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=08e92fd1ea7f5e1d6c3f0ff4ae9650f8' WHERE `id` = 'dbaba7b31ae9484492c766286371a0be';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=8060ce47970cadcf7dc3bd41c0ed20d9' WHERE `id` = '898f95af62dc47f08ea29bbbfdf89337';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=ddd9c5c2fb28db177956a849ff2352df' WHERE `id` = 'fb16e44eff3f4ce5b5ecccaa2c0f9528';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=da2e93c2a9491893ebd5d166f47bc545' WHERE `id` = '42d1b0ccbf254dfba7513d713c1f1489';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=bcb91e996ad91fc133ce2432203556bf' WHERE `id` = '811cf28ce73c478e8f6f22827ed8f2aa';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=0467db4198d856e2180f89796c1ad62e' WHERE `id` = '57accf35655f40cb897917167bcad496';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=f27149a8370b2e9e0849ca9028d6cb66' WHERE `id` = '05f829da70c541929e993968cf802a1c';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=1d9097f1ddf8ea04323327354a010ae9' WHERE `id` = 'a8966b0e0e174a8480a474979b6257b4';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=be4c7a2b027046b129bed6a27049d841' WHERE `id` = '893a216d09b0443bb736708961cf2eeb';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=07e12bf38d38c4ab75dd01b46ae03963' WHERE `id` = '0c4ccaece05f45f8b0533cedb5ea0630';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=e93b9ec54bd39a242c9c81067eb64b61' WHERE `id` = 'a112c7db9e554a39b73ca00fd3964d9e';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=e61bb788e312c599a4f1d4c583ec56e9' WHERE `id` = '23883f9ae2394684999611698f34c3d8';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=dd8b8a073342b416ff6f46cec3d1a6cf' WHERE `id` = 'e5851cdfc62b4623886b9608c42f2666';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d4d985afcccd436885d1cdf4b9c0c956' WHERE `id` = 'abfbd5db63f14be0a51356e50f0bbe30';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=30a17bd43525a7d8b7f73648253b2353' WHERE `id` = '99252619ec5e4072a98ac503fd869774';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=0e9014e6360d1953ddd1fe0121f09d02' WHERE `id` = '6a54861491554fdc9cd83a49a580ad4f';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=90320751d0f5de5ddc71974b0259f468' WHERE `id` = '4a764f7db2e7429ab5e348a6d81621db';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=c31947c4e4f9f0064f1a987bbdae3548' WHERE `id` = 'c13558b09136482187b4725d4ed6936e';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=b3ca619e943008ec66c87ff3ea54caf0' WHERE `id` = 'f808e1e1453347e8a38cb4aa79a9e865';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=30052dd19f6e69faa6a546e3692f4477' WHERE `id` = '6c3fcd1a66f44d8980214673959e46fe';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=786d70bd8e118fbae8efebbb8df64762' WHERE `id` = '16388b3dd01440a180eca20da23bbcd9';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=375d5bf016d1183211557873fcd5de57' WHERE `id` = 'dc2763927e3a4733a08969ab7bbd1390';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=8e50b6ef905bec105c038826fd1e1dd6' WHERE `id` = '50bf62d0b7da4c58a60884aeaa140fc2';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=1dfe6590295b676e1a6f2796b4c93d70' WHERE `id` = '05f308a2897b424d9deb9aa6b713c779';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=a9df7e58e16784a38f33e7de7f841462' WHERE `id` = 'd54c4078b7b748b9a19d49ac5f6aacfa';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=e71f6cdfab618af4e1f579c12acf7da4' WHERE `id` = 'e04f9463a00e403eb0428f79c65d9ddc';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=e6ea330dc1f4a9ecc13b79e0070af510' WHERE `id` = '5a994c0fceca4cdd9255ddbd8c902e93';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d81c6cf64003517afbca47bdb083e355' WHERE `id` = 'bfd9983cd5924d189eef17ff250052bf';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=80542cb6b1b00e417e7257fe3c11f333' WHERE `id` = 'd1abc76f12d44dae98dd3bb37945a205';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=04ddef4f8d79b825bc19774d9137e835' WHERE `id` = '0d6c8aacf875487fb89a1ec0cbf76c52';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d3ec6bccb26ff4c9fb79232e5f02ef17' WHERE `id` = '17c32edb450c4a8e8faf5c1fcf27684c';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=aa1a120e2814b4928c50dc8d8ed64c10' WHERE `id` = '62b1effb0c0d4f48b2b3449fe3183626';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=72d78f2e581b4774d683c6247ba8ba82' WHERE `id` = 'ed6f15a03f5240ffb142f4435b67d6cc';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=0b35ac8df36d0307cccd3a7abead9bbd' WHERE `id` = '3f09df78e9c746569a0e6e62ea8beea4';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=f0752418a1fa85076043d8b30a8162a9' WHERE `id` = '70b4f9a163e644b9a900612586b7d2e8';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=b445e5fbe073d6fec6821bfa2d00d0ad' WHERE `id` = '8f752c502e374ded8419fdbb16362814';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=c099744c28258127c82c9d90a506280a' WHERE `id` = '22847e5583744d2298736b9d2a0e7211';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=9b293ef36ad342406317aa5ddb25de1e' WHERE `id` = 'ef93e3b96c57416c851c8a69bd220869';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=80167705b15e822ef298da8bf0e6238c' WHERE `id` = 'd34fa7359f974f5c81e21d2746fcca7e';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=9c9ed841146ead12774e305127c70655' WHERE `id` = '94b6959991c74058b952f8bd0e0ebf81';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=c15e09dd7448821d331443c415818e00' WHERE `id` = '15156ec9f7364944aabea48475e1da80';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=7663b86e0083ccec5451e4ad753e323a' WHERE `id` = '3b49290f7db44130b9f6394a8212321f';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=dc3a4487ca0708d62662e7f03aa031fa' WHERE `id` = '5e024c7466c5462a80fe94f2fc89f129';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=215f19af8b2ba2773c07e8f804541697' WHERE `id` = 'c08d85433007462db7efc429fe508a46';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=f487372d9c3c26c8cea86040602436b7' WHERE `id` = '261dd7f7fa3245c3937054e9792d8df0';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=5d35429b46c062cc376896db6abffed9' WHERE `id` = '9e0070b7abc84aa3a4577042e0b7c3e1';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=82fd6812dc635f7ea8221cedbc680d3c' WHERE `id` = '360f1c3f03764c47a852caf04216d7d1';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=5e12d18fabe9153c13a11bdee1131a54' WHERE `id` = 'a9d5ff1158c346769db5edd3f74bb3ba';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=b8175cc96b7b6a5a785820997ce6ed05' WHERE `id` = '5f2c021818d54988b10b065a6ddd3d0b';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=9104a4f38f453f420cf456abf10bc5f8' WHERE `id` = '10ecb801ca664453bcfdb6a1bd9fd04d';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=0654d117a3fb0fe061064096744bc6b0' WHERE `id` = '5ae60a2c86e741ea92898945ad7f62b4';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d5dd0484ed5b8baa66d75d3ada43e955' WHERE `id` = 'ca43757872164c3eabd43692f7102fba';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=8517a2b51288572a7616218682da26cc' WHERE `id` = 'b0febdbf99634bb388f65f2b8d9d6b42';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=7307bab899c6747ad89a0b351c2e306e' WHERE `id` = 'd11cf9fe9eed4a338d7caa0af2071ea7';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=458502126d65e18c89bf84e1242a0e6c' WHERE `id` = '04fd4ddf2cff4091aa64926350a60437';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=605b72241fa221e989eda7c14bb41373' WHERE `id` = '0c08a2e7690940d9a46044cfc3470d92';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=b905d8fd3e85338117038ff726278f3d' WHERE `id` = '871f822c2884401498278b0a78b69da3';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=64c7b517599ba0099ce7a853e85738b2' WHERE `id` = '612a4fa1142d426699ddb81c5b7e4e76';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=161ee1a6787b0aba72f46ab181e4ab53' WHERE `id` = 'c8d0855a2aac4ca386d36976d0431cdd';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=7cad7841948398a495bd6d535ec35baf' WHERE `id` = 'c0ba4f08ed2e42f0887ea20d122757fb';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=780975e27c40decf02a0ad9a58406b48' WHERE `id` = 'f148c76e8f2942dc86be645fdb7ab09c';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=7d9b1dbd86a892b96268f5cc0458093a' WHERE `id` = 'b0cc19870a994b748f8d260088f7ffe7';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=4bfe67d3bce0536922b83aaf998ff8bf' WHERE `id` = 'ca9e5652184e4c6aab3a8b953ef63e2a';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=653f431f3f68e5529e7c746648ee3f17' WHERE `id` = '093e1e2980544d288938b8a8da57d7f0';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=69b7a9902bb48a6e668bd9207f3ad900' WHERE `id` = '519c8f5ab43840c7903b4d80ac41ac51';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=e549fd7fa363215d798460f1ad7b9542' WHERE `id` = '73df1dda0e7a4188b9fa4522fc6ef888';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=0d0f799d5d6e7635020d5345c78a64ae' WHERE `id` = 'cf47b9d67dd34b94b8424a62371ed966';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=e574d0f9924e2d12d1c3d214f0a59761' WHERE `id` = 'e08ff1792e7849d1b97981f3583a0abe';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=fca1fa026b15d8e7106271ce4ca7e5ef' WHERE `id` = '69280dbb3e024e558e22b834fa8249c7';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=72e88557e860fe349597c9100a4029a7' WHERE `id` = '0868f8b6f0a44fb7951c2c323ee1cd63';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=350e456eb0b9c091519e1733ff69cda1' WHERE `id` = 'c97ad132a4374e01ad39e5e089d08c43';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=7866849789d36e812e6eb0cffe8e75aa' WHERE `id` = '788400d0f7eb47edb795d41c460b14b8';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=f7f2b1cc448c75bb410d8ce4b0d75d4f' WHERE `id` = 'c1709519e07946389a026905a1db5900';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=aaa4b2b3fcc9daf1154dbcf878209b70' WHERE `id` = 'b759a93a16ef4037880efa23d48f49b5';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=447d5fedecfd3e3121854954142cebf4' WHERE `id` = '91d79e0f4e464f298e7a6b37217386d3';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=1d9e13caf37aa95665f63ad4e545e0a6' WHERE `id` = '737e57a39bae490e9c877d6e7453b046';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=398cfe57b1c727a434cd7c690d721217' WHERE `id` = '33e81fa045e248b19381abaee38f45ee';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=184782319d588117534eda54be0ca540' WHERE `id` = '77c8af32767644af914d16689e98948b';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=ba437ff0da2e7759d35c2afddb15f698' WHERE `id` = '1f917af28825403385cb385fc7e7bca0';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=7fb287d723da5ea7adab9f4426d02a59' WHERE `id` = 'd6132ff0c9534f7783cfda81ff60b5fd';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=38427f0f41908eb51ad8842aed240242' WHERE `id` = '1c643efa45d148d0b519938b2b282436';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=e7fc89824875e92c475e6fd3704ea9f1' WHERE `id` = 'e9e46237b841469585a77f8432edd55d';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=cd64e36bf08bb4a2c1f3fd8c38e90fec' WHERE `id` = '82356ff2bacf4821916cb42406f2552e';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=ae2d6d77ea2ba8922d37ab6c88429008' WHERE `id` = '4026680943ef441082a363de91927390';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=a6357c304caae142f552f268e5966d57' WHERE `id` = '09abd6b8afbc48349490717c3d05707e';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=b7f8ca64b4ca70ee14aa3e9bd0649e47' WHERE `id` = '396309f21f5441b78b42de12aaa4c273';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=1f7a5cbdca6547a95bbb69eade8851f1' WHERE `id` = '6be01be55b4347c599e43e66dfbef173';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=e42a7995bf42d089133a483c9daaff4f' WHERE `id` = 'fe0ae2a7d5fc4432996e3b8c369f0a18';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=e406f644d922b0efa2c50580ef4dca87' WHERE `id` = '31078d880fed42209331c69c580458c5';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=a745dacec0cda95f849e4f21e31e8566' WHERE `id` = '32bd9853db494301bb59757a55dc1c5d';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d5ad8b087c6d12646a2d324370bbb08e' WHERE `id` = 'a4cfdc91e93d4f16aeddaf27176955c5';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=f93ad109e30417aae741ee76d1845798' WHERE `id` = 'fac7e9f536f94033805173e16fb6f259';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=3beb1065aefe8d0991c81ee094c8d4a1' WHERE `id` = 'd7c6c17eb29142b38133984ee90dacb2';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=ebcddcbc72ce2961b4ba7e67b0bc64d0' WHERE `id` = '946104dc00ba4709acb9ec3d1abd3239';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=ddd801157bf58265dd9e641482fe972b' WHERE `id` = 'f6485820d6b54204a35c9a5ef9e5d0dc';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=7acaa1e469e1ba6450f8563eb4b639fe' WHERE `id` = '1287eb24e288460ab2651ba9c29ace32';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=46c041705eaec632dfa73d81b3dcc7b5' WHERE `id` = '321fa0c856f54a14993bed58cc1a95bc';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=0c1ca1983d4bbf604bce1f308cdf0920' WHERE `id` = '1ddecadaa25c47beaef2998c278d928a';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=649ca2608f994767fb3d99e17cd646c3' WHERE `id` = '3f09f8a9beb644229094e6aa1bce52b6';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=f9185ffb5188272249a80d0985a8a078' WHERE `id` = 'b8817cce3ae34d49844a7ea8d8b15f3f';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=b03b7789697fa8ceac4f6a3a8b07652d' WHERE `id` = '509423f4ae6e48a884ac55fa9be0b7ec';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=0335b1721abc858c9ee85cd724173142' WHERE `id` = 'e658f630b96e4774881abcf49d6780e7';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=544e4eb6c6407beb92e0a338c48dfe4c' WHERE `id` = '895089b920a548a9902d120c6b912d2c';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=760c3374e24ee833b84f461e48adcc49' WHERE `id` = '6bb151be653e49d696e385fe34fc5a17';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=2e98608b16f6af5fe12fe6684c7eb3de' WHERE `id` = 'e8d1ced00a1c480eaf0db5f4573763c4';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=20126926855d26ff593f0b7c75a23d4c' WHERE `id` = '6784436e45124205a465dcb9f0326b1d';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=861a2cef9f874ad8cec926e9f2bc0f5e' WHERE `id` = '36e59aa2bca64ffb99b7445c14f03489';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=c519b7d6c7eb9078e9d3e57c0369015b' WHERE `id` = '5a90e1f8263c49f5970389fc19b741ea';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=2f4992fd672f09fc3393643edb903a40' WHERE `id` = 'c3886b5f4e24430ea05cf1851f8b8f2c';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=67d562a574ba049712ca28a01d147dae' WHERE `id` = '6d2535e3117942808813ea213163c47c';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=4de59e0b1190a5d6d23e45a3c4481c15' WHERE `id` = 'fbe27890530743598216d902b2a0c915';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=3f68b9240e81d25e81a08f90e946e1e9' WHERE `id` = '81567260a1ef4efd85bcbc6618766e76';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=6cf1760ca5f6478dcea7f33c9d724b32' WHERE `id` = 'f12f0f8d012143d38c0080272ed887ff';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=4243c9823d380bf6fac1e01fe784c192' WHERE `id` = 'ac32facf5b0c4c6485599a5be90350ed';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d6dec563549f40d539687601c45baf49' WHERE `id` = '1f9e482ccebd41c182f6dca84f14f668';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=84d4236d18b2c3ef37f452ef2bb111d9' WHERE `id` = '3d6a88f3d9de4cc7b7862c2881b7963b';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d12598f3a2893e7054ece31c517d467d' WHERE `id` = 'fd9a298afb7f46aab3d2796c42da8e68';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=2084a6a74acc26ffdacee69688fe351f' WHERE `id` = '7a5c41f2e76a4d5ebfb6b19df7983fd2';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=b8e1e78de95c5deb0d68927e6456044b' WHERE `id` = '93487f22face4e18887d90154b70094a';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=86e65c679e20f6d534d6bf17636cc229' WHERE `id` = 'c2f9569ea8f742f8869e2a2faf8666a7';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d087820cc083371731515adc4e41cb73' WHERE `id` = '51b1e376ee6644eb8629b30857f96f27';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=5e298a0010b66ac5b6c3dc5aeb5b440d' WHERE `id` = '72e8f153e0ed40439c97e0bef43afb1e';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=a79e1c5d38a350f5bde62b5d0f9b44fe' WHERE `id` = 'a993711d11e444f1a7c08589a4497690';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=a84e2883602abd6be8677595c0d67def' WHERE `id` = '5cc02dac08c746bf965b4c441f5b7fb5';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=f9a1009a28d370c76df7f05b141612bb' WHERE `id` = '86dda8e2d0ab4703b6933c45b6705cf4';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d9acd88c47bd8c575996a7fb85d550b4' WHERE `id` = '3668daf0338a479985f455c8e61d6558';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=2170938bae373c66f8f51eceeed6982b' WHERE `id` = '5ba858277fa44aaf958b32055468f52a';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=880641f8e562ed8577fb8d49d9df4bf3' WHERE `id` = '0a9fab6f3ac84d8c95b08a05aa8a19fc';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=4f355a9c8b6294fbb2ad2e6064b03a33' WHERE `id` = 'e3399da9b2a64b28846e4f50df3cc4dd';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=44099a250bf70bd2f054ef0b81d4b099' WHERE `id` = '8bfae2e4dabb48528ee64963b7112d61';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=5567ec9af0df645c587da7643ec43c56' WHERE `id` = 'a58a5431a08e402eb6adc5e14eec1cb5';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=0442c4741e1fad06e916c9a3e3ff6d33' WHERE `id` = 'f3c752d16ca74e06acf859b9a3a08188';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=c6754f1997880df46a8fae7d038b6a38' WHERE `id` = '26e7dc9c76694fb0837237b071bc4a03';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=53d254c917da9222f61ef9e198de80a5' WHERE `id` = '68ac8d18e53b43e1829274c17836df6d';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=863a32cfe3e2441b11d7ef582efe19a9' WHERE `id` = 'f30cfea57bc44aac88824ee6fa0803ee';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=7575966ac094d6e6b89d09dd4e875885' WHERE `id` = 'f50b3389bbed484ebe3098745371e511';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=69a76d56735635ec225b70051e073309' WHERE `id` = 'a0f47f6a6d734c8b9c6ce5c0dfd80001';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=68d074dea722443c5150fe3b832be738' WHERE `id` = 'b7c63f0c73a44a9a8c4f3d3bb1a10001';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=f4397f0e4af50a213f4789e8c0510af6' WHERE `id` = 'b7c63f0c73a44a9a8c4f3d3bb1a10006';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=f6607e7d1aa359689d64f4cd45383cb5' WHERE `id` = 'd3020be8291342538d40aa8f1ae7813f';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=4bd725febe3e8105556959f7af988987' WHERE `id` = '80734d9573e34285859c5fcd70d60fe1';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=9bfe408b11963fc3da990e0edbbc4250' WHERE `id` = '08793469d707454eb7a692b13609230b';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d5cc82d4fdeba1c97bfaa1f2ba0ff48e' WHERE `id` = '3af0f040336741ff9dd754ccd83ab325';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=a2e470e73fba0a9029f062ca161aaabe' WHERE `id` = '82946217f37e466d87f123c6987991e1';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=2adf711e5009bf7a2b74245ffba749bf' WHERE `id` = '3e9a7611fa96490d8adc393387b1d65a';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d390359d7c76b5a7406e2634b77031aa' WHERE `id` = '47a997dcc93945b293f725d7171ff418';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=f695e0abe3121d36242fd899c693c49b' WHERE `id` = '2a93542d26c140e79e615edaa4ddda58';
COMMIT;
@@ -0,0 +1,481 @@
-- 工会系统H5菜单图标MinIO文件记录及菜单图标更新脚本
-- 图标对象目录: menu-icons/v4/
SET NAMES utf8mb4;
START TRANSACTION;
INSERT INTO `sys_file` (`id`, `engine`, `bucket`, `name`, `suffix`, `sizeKb`, `sizeInfo`, `objName`, `storagePath`, `downloadPath`, `thumbnail`, `extJson`, `createdBy`, `createdAt`, `updatedBy`, `updatedAt`, `delFlag`) VALUES
('57ef8603692af334526e191c1e81301e', 'MINIO', 'cug', '001_教代会管理_2e6f3930.png', 'png', '44', '44.3 kB', '57ef8603692af334526e191c1e81301e.png', '/menu-icons/v4/57ef8603692af334526e191c1e81301e.png', '/platform/sys/file/download?id=57ef8603692af334526e191c1e81301e', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('8b152a98cf83bc6c20d2bb488fc48515', 'MINIO', 'cug', '002_子女信息管理_64ace209.png', 'png', '45', '45.3 kB', '8b152a98cf83bc6c20d2bb488fc48515.png', '/menu-icons/v4/8b152a98cf83bc6c20d2bb488fc48515.png', '/platform/sys/file/download?id=8b152a98cf83bc6c20d2bb488fc48515', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('e4cf62b0ac16798727612b74fbabac4d', 'MINIO', 'cug', '003_信息填写_eb18aa57.png', 'png', '40', '40.3 kB', 'e4cf62b0ac16798727612b74fbabac4d.png', '/menu-icons/v4/e4cf62b0ac16798727612b74fbabac4d.png', '/platform/sys/file/download?id=e4cf62b0ac16798727612b74fbabac4d', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('a8c6f9352f56519b4914ca02ab274242', 'MINIO', 'cug', '004_我的子女_835cb68e.png', 'png', '44', '44.2 kB', 'a8c6f9352f56519b4914ca02ab274242.png', '/menu-icons/v4/a8c6f9352f56519b4914ca02ab274242.png', '/platform/sys/file/download?id=a8c6f9352f56519b4914ca02ab274242', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('2b74945f5c0741be5a67be574c4eb3d3', 'MINIO', 'cug', '005_信息管理_10ebaa5b.png', 'png', '58', '58.3 kB', '2b74945f5c0741be5a67be574c4eb3d3.png', '/menu-icons/v4/2b74945f5c0741be5a67be574c4eb3d3.png', '/platform/sys/file/download?id=2b74945f5c0741be5a67be574c4eb3d3', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('c4817a606d8e722e939811cdb8bb0208', 'MINIO', 'cug', '006_子女入学_e7cf2f56.png', 'png', '45', '45.3 kB', 'c4817a606d8e722e939811cdb8bb0208.png', '/menu-icons/v4/c4817a606d8e722e939811cdb8bb0208.png', '/platform/sys/file/download?id=c4817a606d8e722e939811cdb8bb0208', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('7d0d5d3f95faf51875c8cebf5ef23181', 'MINIO', 'cug', '007_入学申报_40a293cc.png', 'png', '40', '40.2 kB', '7d0d5d3f95faf51875c8cebf5ef23181.png', '/menu-icons/v4/7d0d5d3f95faf51875c8cebf5ef23181.png', '/platform/sys/file/download?id=7d0d5d3f95faf51875c8cebf5ef23181', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('a472973503af14a20ae0f8f1c7d03634', 'MINIO', 'cug', '008_我的申报_2666d0ae.png', 'png', '41', '41.1 kB', 'a472973503af14a20ae0f8f1c7d03634.png', '/menu-icons/v4/a472973503af14a20ae0f8f1c7d03634.png', '/platform/sys/file/download?id=a472973503af14a20ae0f8f1c7d03634', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('8462dbea71f06a7257864c9bb77c7f9e', 'MINIO', 'cug', '009_分工会审核_ea574347.png', 'png', '44', '44.0 kB', '8462dbea71f06a7257864c9bb77c7f9e.png', '/menu-icons/v4/8462dbea71f06a7257864c9bb77c7f9e.png', '/platform/sys/file/download?id=8462dbea71f06a7257864c9bb77c7f9e', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('823b3b7f7707774625bb7fe9f5ebc416', 'MINIO', 'cug', '010_校工会审核_9441d18c.png', 'png', '44', '44.2 kB', '823b3b7f7707774625bb7fe9f5ebc416.png', '/menu-icons/v4/823b3b7f7707774625bb7fe9f5ebc416.png', '/platform/sys/file/download?id=823b3b7f7707774625bb7fe9f5ebc416', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('4b0a707d816c0f3abc6ff7fc3092e819', 'MINIO', 'cug', '011_教代会_44a59a2b.png', 'png', '44', '44.3 kB', '4b0a707d816c0f3abc6ff7fc3092e819.png', '/menu-icons/v4/4b0a707d816c0f3abc6ff7fc3092e819.png', '/platform/sys/file/download?id=4b0a707d816c0f3abc6ff7fc3092e819', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('3ea367f14cfd98eddb8e3fd685371fad', 'MINIO', 'cug', '012_代表阅览_1c2aee7d.png', 'png', '44', '43.5 kB', '3ea367f14cfd98eddb8e3fd685371fad.png', '/menu-icons/v4/3ea367f14cfd98eddb8e3fd685371fad.png', '/platform/sys/file/download?id=3ea367f14cfd98eddb8e3fd685371fad', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('6f35cd276d38e408522f4411a972ba9f', 'MINIO', 'cug', '013_提案管理_11db6856.png', 'png', '46', '46.3 kB', '6f35cd276d38e408522f4411a972ba9f.png', '/menu-icons/v4/6f35cd276d38e408522f4411a972ba9f.png', '/platform/sys/file/download?id=6f35cd276d38e408522f4411a972ba9f', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('efe85251bd9233d4c8d7e7f0fd17c17d', 'MINIO', 'cug', '014_撰写提案_d5d7964e.png', 'png', '45', '44.8 kB', 'efe85251bd9233d4c8d7e7f0fd17c17d.png', '/menu-icons/v4/efe85251bd9233d4c8d7e7f0fd17c17d.png', '/platform/sys/file/download?id=efe85251bd9233d4c8d7e7f0fd17c17d', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('827b20f69981eadcab0af82c6853e899', 'MINIO', 'cug', '015_我的提案_c4411525.png', 'png', '45', '45.3 kB', '827b20f69981eadcab0af82c6853e899.png', '/menu-icons/v4/827b20f69981eadcab0af82c6853e899.png', '/platform/sys/file/download?id=827b20f69981eadcab0af82c6853e899', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('b054908747aa76d3bbc2f94072ecdea9', 'MINIO', 'cug', '016_提案附议_eb4ed857.png', 'png', '46', '46.3 kB', 'b054908747aa76d3bbc2f94072ecdea9.png', '/menu-icons/v4/b054908747aa76d3bbc2f94072ecdea9.png', '/platform/sys/file/download?id=b054908747aa76d3bbc2f94072ecdea9', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('4a7ed34b91ecfa20f52055d031beac71', 'MINIO', 'cug', '017_团长审核_c4b99724.png', 'png', '45', '44.8 kB', '4a7ed34b91ecfa20f52055d031beac71.png', '/menu-icons/v4/4a7ed34b91ecfa20f52055d031beac71.png', '/platform/sys/file/download?id=4a7ed34b91ecfa20f52055d031beac71', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('81ffd7b1eb7b13353557efdce30a7ee2', 'MINIO', 'cug', '018_承办单位答复_56835d07.png', 'png', '45', '45.5 kB', '81ffd7b1eb7b13353557efdce30a7ee2.png', '/menu-icons/v4/81ffd7b1eb7b13353557efdce30a7ee2.png', '/platform/sys/file/download?id=81ffd7b1eb7b13353557efdce30a7ee2', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('5221f202257e65e39602d70d218c41b7', 'MINIO', 'cug', '019_分管校领导审批_304278a0.png', 'png', '45', '44.8 kB', '5221f202257e65e39602d70d218c41b7.png', '/menu-icons/v4/5221f202257e65e39602d70d218c41b7.png', '/platform/sys/file/download?id=5221f202257e65e39602d70d218c41b7', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('d60339858c907ede5bce05d675de9819', 'MINIO', 'cug', '020_反馈评价_2b9b7227.png', 'png', '45', '45.5 kB', 'd60339858c907ede5bce05d675de9819.png', '/menu-icons/v4/d60339858c907ede5bce05d675de9819.png', '/platform/sys/file/download?id=d60339858c907ede5bce05d675de9819', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('0718d029aeaf7fbf5fbf7442f885c116', 'MINIO', 'cug', '021_提案管理_ff182281.png', 'png', '46', '46.3 kB', '0718d029aeaf7fbf5fbf7442f885c116.png', '/menu-icons/v4/0718d029aeaf7fbf5fbf7442f885c116.png', '/platform/sys/file/download?id=0718d029aeaf7fbf5fbf7442f885c116', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('8370b80ebdf5dd5b85a8ba065a6b2133', 'MINIO', 'cug', '022_承办单位意见_7c79171d.png', 'png', '45', '45.5 kB', '8370b80ebdf5dd5b85a8ba065a6b2133.png', '/menu-icons/v4/8370b80ebdf5dd5b85a8ba065a6b2133.png', '/platform/sys/file/download?id=8370b80ebdf5dd5b85a8ba065a6b2133', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('9d3927e91ed007875a001344f061039a', 'MINIO', 'cug', '023_费用报销管理_32a51579.png', 'png', '53', '52.8 kB', '9d3927e91ed007875a001344f061039a.png', '/menu-icons/v4/9d3927e91ed007875a001344f061039a.png', '/platform/sys/file/download?id=9d3927e91ed007875a001344f061039a', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('d030abf3da1bf8c00d93e78586f4a9bc', 'MINIO', 'cug', '024_报销申请_6bdef282.png', 'png', '50', '50.0 kB', 'd030abf3da1bf8c00d93e78586f4a9bc.png', '/menu-icons/v4/d030abf3da1bf8c00d93e78586f4a9bc.png', '/platform/sys/file/download?id=d030abf3da1bf8c00d93e78586f4a9bc', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('822abad93728db1326baa27b4f2dbe04', 'MINIO', 'cug', '025_撰写提案_eeaf3366.png', 'png', '45', '44.8 kB', '822abad93728db1326baa27b4f2dbe04.png', '/menu-icons/v4/822abad93728db1326baa27b4f2dbe04.png', '/platform/sys/file/download?id=822abad93728db1326baa27b4f2dbe04', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('541f9d25077780099d4e4594bea2bb4e', 'MINIO', 'cug', '026_我的申请_b27178ff.png', 'png', '41', '41.1 kB', '541f9d25077780099d4e4594bea2bb4e.png', '/menu-icons/v4/541f9d25077780099d4e4594bea2bb4e.png', '/platform/sys/file/download?id=541f9d25077780099d4e4594bea2bb4e', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('47148702a76cc6ea8e7807ac5d5eb6e1', 'MINIO', 'cug', '027_社团审核_87611b6d.png', 'png', '45', '44.7 kB', '47148702a76cc6ea8e7807ac5d5eb6e1.png', '/menu-icons/v4/47148702a76cc6ea8e7807ac5d5eb6e1.png', '/platform/sys/file/download?id=47148702a76cc6ea8e7807ac5d5eb6e1', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('d4e6b7275313903fb7ff9f40046f9ed6', 'MINIO', 'cug', '028_社团分管主席审核_d0ee5ab9.png', 'png', '42', '42.2 kB', 'd4e6b7275313903fb7ff9f40046f9ed6.png', '/menu-icons/v4/d4e6b7275313903fb7ff9f40046f9ed6.png', '/platform/sys/file/download?id=d4e6b7275313903fb7ff9f40046f9ed6', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('153ee7433a7b441bcf0df449a93cf07a', 'MINIO', 'cug', '029_分工会审核_af963d19.png', 'png', '44', '44.0 kB', '153ee7433a7b441bcf0df449a93cf07a.png', '/menu-icons/v4/153ee7433a7b441bcf0df449a93cf07a.png', '/platform/sys/file/download?id=153ee7433a7b441bcf0df449a93cf07a', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('88d0311f37bd0d4afb15d3e7e1321dae', 'MINIO', 'cug', '030_校工会出纳审核_f7a890c7.png', 'png', '44', '44.4 kB', '88d0311f37bd0d4afb15d3e7e1321dae.png', '/menu-icons/v4/88d0311f37bd0d4afb15d3e7e1321dae.png', '/platform/sys/file/download?id=88d0311f37bd0d4afb15d3e7e1321dae', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('481b4f5262903cbc2a4c4be16144356d', 'MINIO', 'cug', '031_校工会会计审核_41410dbe.png', 'png', '45', '44.5 kB', '481b4f5262903cbc2a4c4be16144356d.png', '/menu-icons/v4/481b4f5262903cbc2a4c4be16144356d.png', '/platform/sys/file/download?id=481b4f5262903cbc2a4c4be16144356d', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('43edf5cc953088145c381e89d1a2dbe5', 'MINIO', 'cug', '032_校工会主席终审_5e0c5335.png', 'png', '44', '44.1 kB', '43edf5cc953088145c381e89d1a2dbe5.png', '/menu-icons/v4/43edf5cc953088145c381e89d1a2dbe5.png', '/platform/sys/file/download?id=43edf5cc953088145c381e89d1a2dbe5', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('00a707dc661b56698cfa957da4d635e3', 'MINIO', 'cug', '033_社团组织管理_b8bcaa94.png', 'png', '44', '44.3 kB', '00a707dc661b56698cfa957da4d635e3.png', '/menu-icons/v4/00a707dc661b56698cfa957da4d635e3.png', '/platform/sys/file/download?id=00a707dc661b56698cfa957da4d635e3', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('d8cf0cffdced461cc4ba8fa4314b35de', 'MINIO', 'cug', '034_社团入会_7af124e1.png', 'png', '44', '44.3 kB', 'd8cf0cffdced461cc4ba8fa4314b35de.png', '/menu-icons/v4/d8cf0cffdced461cc4ba8fa4314b35de.png', '/platform/sys/file/download?id=d8cf0cffdced461cc4ba8fa4314b35de', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('b269cb65dc856cd4fe21fa05de4fd27e', 'MINIO', 'cug', '035_我的申请_2de433e4.png', 'png', '41', '41.1 kB', 'b269cb65dc856cd4fe21fa05de4fd27e.png', '/menu-icons/v4/b269cb65dc856cd4fe21fa05de4fd27e.png', '/platform/sys/file/download?id=b269cb65dc856cd4fe21fa05de4fd27e', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('67dc9fac0d11849f8648dae234270135', 'MINIO', 'cug', '036_社团审核_84064805.png', 'png', '45', '44.7 kB', '67dc9fac0d11849f8648dae234270135.png', '/menu-icons/v4/67dc9fac0d11849f8648dae234270135.png', '/platform/sys/file/download?id=67dc9fac0d11849f8648dae234270135', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('a34ed81f00b2edf70da74dbb8d6b8c99', 'MINIO', 'cug', '037_校工会审核_dbd21f6b.png', 'png', '44', '44.2 kB', 'a34ed81f00b2edf70da74dbb8d6b8c99.png', '/menu-icons/v4/a34ed81f00b2edf70da74dbb8d6b8c99.png', '/platform/sys/file/download?id=a34ed81f00b2edf70da74dbb8d6b8c99', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('fcbef87b9f75c924b06fff2a03246b42', 'MINIO', 'cug', '038_我的社团_e585d2ca.png', 'png', '44', '43.9 kB', 'fcbef87b9f75c924b06fff2a03246b42.png', '/menu-icons/v4/fcbef87b9f75c924b06fff2a03246b42.png', '/platform/sys/file/download?id=fcbef87b9f75c924b06fff2a03246b42', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('ba467095d0ccc678e34979ba679ea020', 'MINIO', 'cug', '039_会员管理_7e2b850c.png', 'png', '44', '44.3 kB', 'ba467095d0ccc678e34979ba679ea020.png', '/menu-icons/v4/ba467095d0ccc678e34979ba679ea020.png', '/platform/sys/file/download?id=ba467095d0ccc678e34979ba679ea020', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('b189ac3e64ea6b43a86324a2a57b0595', 'MINIO', 'cug', '040_会员入会_8f27ac9f.png', 'png', '44', '44.3 kB', 'b189ac3e64ea6b43a86324a2a57b0595.png', '/menu-icons/v4/b189ac3e64ea6b43a86324a2a57b0595.png', '/platform/sys/file/download?id=b189ac3e64ea6b43a86324a2a57b0595', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('0e14db530463cbcdeb4f23712ce75226', 'MINIO', 'cug', '041_我的入会_313842fc.png', 'png', '44', '43.9 kB', '0e14db530463cbcdeb4f23712ce75226.png', '/menu-icons/v4/0e14db530463cbcdeb4f23712ce75226.png', '/platform/sys/file/download?id=0e14db530463cbcdeb4f23712ce75226', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('e05e3b438130ad43908f64bca84ccd4f', 'MINIO', 'cug', '042_分工会审核_dcf6c190.png', 'png', '44', '44.0 kB', 'e05e3b438130ad43908f64bca84ccd4f.png', '/menu-icons/v4/e05e3b438130ad43908f64bca84ccd4f.png', '/platform/sys/file/download?id=e05e3b438130ad43908f64bca84ccd4f', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('9436a2f85765993e4c11c53564d3d57f', 'MINIO', 'cug', '043_校工会审核_13d50644.png', 'png', '44', '44.2 kB', '9436a2f85765993e4c11c53564d3d57f.png', '/menu-icons/v4/9436a2f85765993e4c11c53564d3d57f.png', '/platform/sys/file/download?id=9436a2f85765993e4c11c53564d3d57f', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('5ab1059bf731e1a99e5821b16b60f815', 'MINIO', 'cug', '044_会员档案_c547be26.png', 'png', '44', '43.7 kB', '5ab1059bf731e1a99e5821b16b60f815.png', '/menu-icons/v4/5ab1059bf731e1a99e5821b16b60f815.png', '/platform/sys/file/download?id=5ab1059bf731e1a99e5821b16b60f815', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('e10382c1b724f394a34d2ee7f4c1a4b3', 'MINIO', 'cug', '045_数据看板_f3ae0a07.png', 'png', '56', '55.7 kB', 'e10382c1b724f394a34d2ee7f4c1a4b3.png', '/menu-icons/v4/e10382c1b724f394a34d2ee7f4c1a4b3.png', '/platform/sys/file/download?id=e10382c1b724f394a34d2ee7f4c1a4b3', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('ec82746b31fc662da299baa4e4546323', 'MINIO', 'cug', '046_工会小组审核_00448f69.png', 'png', '43', '42.7 kB', 'ec82746b31fc662da299baa4e4546323.png', '/menu-icons/v4/ec82746b31fc662da299baa4e4546323.png', '/platform/sys/file/download?id=ec82746b31fc662da299baa4e4546323', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('fad8a880d74a74d77cd4f5a5dfab809b', 'MINIO', 'cug', '047_职工慰问_024811fd.png', 'png', '41', '41.4 kB', 'fad8a880d74a74d77cd4f5a5dfab809b.png', '/menu-icons/v4/fad8a880d74a74d77cd4f5a5dfab809b.png', '/platform/sys/file/download?id=fad8a880d74a74d77cd4f5a5dfab809b', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('a14e00ff8a03f307243ce45bcb5b8c5d', 'MINIO', 'cug', '048_慰问申请_9bfd257e.png', 'png', '39', '39.3 kB', 'a14e00ff8a03f307243ce45bcb5b8c5d.png', '/menu-icons/v4/a14e00ff8a03f307243ce45bcb5b8c5d.png', '/platform/sys/file/download?id=a14e00ff8a03f307243ce45bcb5b8c5d', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('67e6671dc1f2220c7e10bfc62e3675b1', 'MINIO', 'cug', '049_我的申请_7492992b.png', 'png', '41', '41.1 kB', '67e6671dc1f2220c7e10bfc62e3675b1.png', '/menu-icons/v4/67e6671dc1f2220c7e10bfc62e3675b1.png', '/platform/sys/file/download?id=67e6671dc1f2220c7e10bfc62e3675b1', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('b3e5125f364f35a8dabaa5e7dcc46516', 'MINIO', 'cug', '050_分工会审核_330e42e0.png', 'png', '44', '44.0 kB', 'b3e5125f364f35a8dabaa5e7dcc46516.png', '/menu-icons/v4/b3e5125f364f35a8dabaa5e7dcc46516.png', '/platform/sys/file/download?id=b3e5125f364f35a8dabaa5e7dcc46516', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('d04a2c47e9c184a4d044abd7526013cb', 'MINIO', 'cug', '051_校工会预审_87a2dcfa.png', 'png', '44', '44.2 kB', 'd04a2c47e9c184a4d044abd7526013cb.png', '/menu-icons/v4/d04a2c47e9c184a4d044abd7526013cb.png', '/platform/sys/file/download?id=d04a2c47e9c184a4d044abd7526013cb', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('2acd67f07be21392efbd9951243d438d', 'MINIO', 'cug', '052_校工会审核_c269f94a.png', 'png', '44', '44.2 kB', '2acd67f07be21392efbd9951243d438d.png', '/menu-icons/v4/2acd67f07be21392efbd9951243d438d.png', '/platform/sys/file/download?id=2acd67f07be21392efbd9951243d438d', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('036d3ba76739b6e8263087ec7a4fe0f5', 'MINIO', 'cug', '053_困难帮扶_6ddda191.png', 'png', '41', '41.4 kB', '036d3ba76739b6e8263087ec7a4fe0f5.png', '/menu-icons/v4/036d3ba76739b6e8263087ec7a4fe0f5.png', '/platform/sys/file/download?id=036d3ba76739b6e8263087ec7a4fe0f5', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('34d7aa98a4e1bed661d925e6c6010045', 'MINIO', 'cug', '054_帮扶申请_3cf7ee61.png', 'png', '39', '39.3 kB', '34d7aa98a4e1bed661d925e6c6010045.png', '/menu-icons/v4/34d7aa98a4e1bed661d925e6c6010045.png', '/platform/sys/file/download?id=34d7aa98a4e1bed661d925e6c6010045', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('d450c3676e3934d873f00c938a44c20b', 'MINIO', 'cug', '055_帮扶申请记录_51b21e97.png', 'png', '39', '39.3 kB', 'd450c3676e3934d873f00c938a44c20b.png', '/menu-icons/v4/d450c3676e3934d873f00c938a44c20b.png', '/platform/sys/file/download?id=d450c3676e3934d873f00c938a44c20b', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('d8d831521cae0d54bbe75360cc6db970', 'MINIO', 'cug', '056_分工会审核_23d30124.png', 'png', '44', '44.0 kB', 'd8d831521cae0d54bbe75360cc6db970.png', '/menu-icons/v4/d8d831521cae0d54bbe75360cc6db970.png', '/platform/sys/file/download?id=d8d831521cae0d54bbe75360cc6db970', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('839524da718e966329e94e5db57e751f', 'MINIO', 'cug', '057_二级党组织审核_d736e4d7.png', 'png', '45', '44.6 kB', '839524da718e966329e94e5db57e751f.png', '/menu-icons/v4/839524da718e966329e94e5db57e751f.png', '/platform/sys/file/download?id=839524da718e966329e94e5db57e751f', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('487eb6c9241caeacd5dbe198b2fc29f5', 'MINIO', 'cug', '058_校工会审核_35a9239d.png', 'png', '44', '44.2 kB', '487eb6c9241caeacd5dbe198b2fc29f5.png', '/menu-icons/v4/487eb6c9241caeacd5dbe198b2fc29f5.png', '/platform/sys/file/download?id=487eb6c9241caeacd5dbe198b2fc29f5', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('1df1f8c9847f2f2f3fdbb031f5b9b49d', 'MINIO', 'cug', '059_体检管理_d4cab4ba.png', 'png', '45', '44.5 kB', '1df1f8c9847f2f2f3fdbb031f5b9b49d.png', '/menu-icons/v4/1df1f8c9847f2f2f3fdbb031f5b9b49d.png', '/platform/sys/file/download?id=1df1f8c9847f2f2f3fdbb031f5b9b49d', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('e3fbc1ce067437cce9ced286d053fb88', 'MINIO', 'cug', '060_体检项目_0a2bfc85.png', 'png', '45', '44.5 kB', 'e3fbc1ce067437cce9ced286d053fb88.png', '/menu-icons/v4/e3fbc1ce067437cce9ced286d053fb88.png', '/platform/sys/file/download?id=e3fbc1ce067437cce9ced286d053fb88', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('5f5a11d2aabd670855a205115a132223', 'MINIO', 'cug', '061_我的体检_c03fbf17.png', 'png', '43', '42.8 kB', '5f5a11d2aabd670855a205115a132223.png', '/menu-icons/v4/5f5a11d2aabd670855a205115a132223.png', '/platform/sys/file/download?id=5f5a11d2aabd670855a205115a132223', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('f7093003078726bb6143f7ee3099ceef', 'MINIO', 'cug', '062_心理咨询_56620c51.png', 'png', '45', '44.5 kB', 'f7093003078726bb6143f7ee3099ceef.png', '/menu-icons/v4/f7093003078726bb6143f7ee3099ceef.png', '/platform/sys/file/download?id=f7093003078726bb6143f7ee3099ceef', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('ebf8e926d86c3328ea6da6b6bb377344', 'MINIO', 'cug', '063_我要预约_ef46a587.png', 'png', '53', '53.2 kB', 'ebf8e926d86c3328ea6da6b6bb377344.png', '/menu-icons/v4/ebf8e926d86c3328ea6da6b6bb377344.png', '/platform/sys/file/download?id=ebf8e926d86c3328ea6da6b6bb377344', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('1068cd8f373106ef19dd0e6f7ed5e0c5', 'MINIO', 'cug', '064_预约记录_c6a2ec8d.png', 'png', '53', '53.2 kB', '1068cd8f373106ef19dd0e6f7ed5e0c5.png', '/menu-icons/v4/1068cd8f373106ef19dd0e6f7ed5e0c5.png', '/platform/sys/file/download?id=1068cd8f373106ef19dd0e6f7ed5e0c5', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('2d4f07ed1e1ebb4f095cbbbcabe13963', 'MINIO', 'cug', '065_发帖咨询_7b21d468.png', 'png', '46', '46.3 kB', '2d4f07ed1e1ebb4f095cbbbcabe13963.png', '/menu-icons/v4/2d4f07ed1e1ebb4f095cbbbcabe13963.png', '/platform/sys/file/download?id=2d4f07ed1e1ebb4f095cbbbcabe13963', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('63db1069887f9acf02edeaccb2a8c9ed', 'MINIO', 'cug', '066_咨询回复_43f06636.png', 'png', '46', '46.3 kB', '63db1069887f9acf02edeaccb2a8c9ed.png', '/menu-icons/v4/63db1069887f9acf02edeaccb2a8c9ed.png', '/platform/sys/file/download?id=63db1069887f9acf02edeaccb2a8c9ed', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('698e1fc9c201e611e8e7cebe9dadd8ef', 'MINIO', 'cug', '067_基层双代会_b6c224df.png', 'png', '44', '44.3 kB', '698e1fc9c201e611e8e7cebe9dadd8ef.png', '/menu-icons/v4/698e1fc9c201e611e8e7cebe9dadd8ef.png', '/platform/sys/file/download?id=698e1fc9c201e611e8e7cebe9dadd8ef', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('360b8b91280de12276c110201c8d7425', 'MINIO', 'cug', '068_法律援助_297400c8.png', 'png', '46', '46.3 kB', '360b8b91280de12276c110201c8d7425.png', '/menu-icons/v4/360b8b91280de12276c110201c8d7425.png', '/platform/sys/file/download?id=360b8b91280de12276c110201c8d7425', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('25454e316e3d9cf3f1520797b507efd8', 'MINIO', 'cug', '069_我要预约_aa0ffd36.png', 'png', '53', '53.2 kB', '25454e316e3d9cf3f1520797b507efd8.png', '/menu-icons/v4/25454e316e3d9cf3f1520797b507efd8.png', '/platform/sys/file/download?id=25454e316e3d9cf3f1520797b507efd8', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('cb46561b1e37852cbc90815ac66c3351', 'MINIO', 'cug', '070_预约记录_7dc21dca.png', 'png', '53', '53.2 kB', 'cb46561b1e37852cbc90815ac66c3351.png', '/menu-icons/v4/cb46561b1e37852cbc90815ac66c3351.png', '/platform/sys/file/download?id=cb46561b1e37852cbc90815ac66c3351', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('e12a96173d033e50aafbcc9356c811c4', 'MINIO', 'cug', '071_发帖咨询_939595b4.png', 'png', '46', '46.3 kB', 'e12a96173d033e50aafbcc9356c811c4.png', '/menu-icons/v4/e12a96173d033e50aafbcc9356c811c4.png', '/platform/sys/file/download?id=e12a96173d033e50aafbcc9356c811c4', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('d5d5832a552bf8d434b1c6debd777da4', 'MINIO', 'cug', '072_咨询回复_d073c1d8.png', 'png', '46', '46.3 kB', 'd5d5832a552bf8d434b1c6debd777da4.png', '/menu-icons/v4/d5d5832a552bf8d434b1c6debd777da4.png', '/platform/sys/file/download?id=d5d5832a552bf8d434b1c6debd777da4', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('7d27b774e627b02cda5df9f9970016f7', 'MINIO', 'cug', '073_基金会员_3f88a4f6.png', 'png', '53', '52.8 kB', '7d27b774e627b02cda5df9f9970016f7.png', '/menu-icons/v4/7d27b774e627b02cda5df9f9970016f7.png', '/platform/sys/file/download?id=7d27b774e627b02cda5df9f9970016f7', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('fdbf15abdefc00b3388e5fadf9bd8740', 'MINIO', 'cug', '074_会员申请_8a77d32c.png', 'png', '43', '42.8 kB', 'fdbf15abdefc00b3388e5fadf9bd8740.png', '/menu-icons/v4/fdbf15abdefc00b3388e5fadf9bd8740.png', '/platform/sys/file/download?id=fdbf15abdefc00b3388e5fadf9bd8740', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('00147780b5ad42a6b07c1ac54569792f', 'MINIO', 'cug', '075_我的申请_44423a17.png', 'png', '41', '41.1 kB', '00147780b5ad42a6b07c1ac54569792f.png', '/menu-icons/v4/00147780b5ad42a6b07c1ac54569792f.png', '/platform/sys/file/download?id=00147780b5ad42a6b07c1ac54569792f', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('c42ada04526004c863e50d3d17b6e408', 'MINIO', 'cug', '076_分工会审核_3e102653.png', 'png', '44', '44.0 kB', 'c42ada04526004c863e50d3d17b6e408.png', '/menu-icons/v4/c42ada04526004c863e50d3d17b6e408.png', '/platform/sys/file/download?id=c42ada04526004c863e50d3d17b6e408', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('3b9f9415e36b57b73d02ef674a9c7616', 'MINIO', 'cug', '077_会员管理_ac2516a6.png', 'png', '44', '44.3 kB', '3b9f9415e36b57b73d02ef674a9c7616.png', '/menu-icons/v4/3b9f9415e36b57b73d02ef674a9c7616.png', '/platform/sys/file/download?id=3b9f9415e36b57b73d02ef674a9c7616', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('09e04f045df284eaaf281c701a61ce65', 'MINIO', 'cug', '078_数据看板_59d6ba7c.png', 'png', '56', '55.7 kB', '09e04f045df284eaaf281c701a61ce65.png', '/menu-icons/v4/09e04f045df284eaaf281c701a61ce65.png', '/platform/sys/file/download?id=09e04f045df284eaaf281c701a61ce65', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('28c9f1b52e47184a9cba0dd3720fb9aa', 'MINIO', 'cug', '079_互管会审核_6b5adca7.png', 'png', '44', '44.0 kB', '28c9f1b52e47184a9cba0dd3720fb9aa.png', '/menu-icons/v4/28c9f1b52e47184a9cba0dd3720fb9aa.png', '/platform/sys/file/download?id=28c9f1b52e47184a9cba0dd3720fb9aa', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('07ef4713927c1ff868c766c723ed1acc', 'MINIO', 'cug', '080_离退休审核_57566021.png', 'png', '45', '44.5 kB', '07ef4713927c1ff868c766c723ed1acc.png', '/menu-icons/v4/07ef4713927c1ff868c766c723ed1acc.png', '/platform/sys/file/download?id=07ef4713927c1ff868c766c723ed1acc', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('76e0dd9b54251141b235975d31c05d12', 'MINIO', 'cug', '081_会员入会_1375120f.png', 'png', '44', '44.3 kB', '76e0dd9b54251141b235975d31c05d12.png', '/menu-icons/v4/76e0dd9b54251141b235975d31c05d12.png', '/platform/sys/file/download?id=76e0dd9b54251141b235975d31c05d12', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('857956ba68605f43198123ed76e46f34', 'MINIO', 'cug', '082_会务管理_2c61ac06.png', 'png', '55', '54.8 kB', '857956ba68605f43198123ed76e46f34.png', '/menu-icons/v4/857956ba68605f43198123ed76e46f34.png', '/platform/sys/file/download?id=857956ba68605f43198123ed76e46f34', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('9d67a619eff5b7b45fe8676cb32091fe', 'MINIO', 'cug', '083_体育活动_893016b4.png', 'png', '42', '41.8 kB', '9d67a619eff5b7b45fe8676cb32091fe.png', '/menu-icons/v4/9d67a619eff5b7b45fe8676cb32091fe.png', '/platform/sys/file/download?id=9d67a619eff5b7b45fe8676cb32091fe', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('12f9ae93e7b07a9b0f20f2556050ed6c', 'MINIO', 'cug', '084_活动报名_dbaba7b3.png', 'png', '42', '41.8 kB', '12f9ae93e7b07a9b0f20f2556050ed6c.png', '/menu-icons/v4/12f9ae93e7b07a9b0f20f2556050ed6c.png', '/platform/sys/file/download?id=12f9ae93e7b07a9b0f20f2556050ed6c', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('d52462ba5ec9b1373d739433de2da30c', 'MINIO', 'cug', '085_文化活动_898f95af.png', 'png', '42', '42.0 kB', 'd52462ba5ec9b1373d739433de2da30c.png', '/menu-icons/v4/d52462ba5ec9b1373d739433de2da30c.png', '/platform/sys/file/download?id=d52462ba5ec9b1373d739433de2da30c', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('3419504fe535f6888355d9275a72630b', 'MINIO', 'cug', '086_品牌活动_fb16e44e.png', 'png', '41', '41.1 kB', '3419504fe535f6888355d9275a72630b.png', '/menu-icons/v4/3419504fe535f6888355d9275a72630b.png', '/platform/sys/file/download?id=3419504fe535f6888355d9275a72630b', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('0a244bf26674a5598cd3add153438045', 'MINIO', 'cug', '087_活动报名_42d1b0cc.png', 'png', '42', '41.8 kB', '0a244bf26674a5598cd3add153438045.png', '/menu-icons/v4/0a244bf26674a5598cd3add153438045.png', '/platform/sys/file/download?id=0a244bf26674a5598cd3add153438045', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('58f339cfa0455455027c304a61262293', 'MINIO', 'cug', '088_我的活动_811cf28c.png', 'png', '42', '42.3 kB', '58f339cfa0455455027c304a61262293.png', '/menu-icons/v4/58f339cfa0455455027c304a61262293.png', '/platform/sys/file/download?id=58f339cfa0455455027c304a61262293', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('d3133639fcd76e0afc139536433f4082', 'MINIO', 'cug', '089_惠民服务_57accf35.png', 'png', '46', '45.7 kB', 'd3133639fcd76e0afc139536433f4082.png', '/menu-icons/v4/d3133639fcd76e0afc139536433f4082.png', '/platform/sys/file/download?id=d3133639fcd76e0afc139536433f4082', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('cef1ccb8a9cc8804e9c7ebe9a77228e3', 'MINIO', 'cug', '090_我的惠民_05f829da.png', 'png', '44', '43.7 kB', 'cef1ccb8a9cc8804e9c7ebe9a77228e3.png', '/menu-icons/v4/cef1ccb8a9cc8804e9c7ebe9a77228e3.png', '/platform/sys/file/download?id=cef1ccb8a9cc8804e9c7ebe9a77228e3', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('221eb720d89330b020831977901ffb01', 'MINIO', 'cug', '091_理论学习_a8966b0e.png', 'png', '43', '43.3 kB', '221eb720d89330b020831977901ffb01.png', '/menu-icons/v4/221eb720d89330b020831977901ffb01.png', '/platform/sys/file/download?id=221eb720d89330b020831977901ffb01', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('0ad363ca5afe42974bfadfedce3884ad', 'MINIO', 'cug', '092_课程列表_893a216d.png', 'png', '42', '41.7 kB', '0ad363ca5afe42974bfadfedce3884ad.png', '/menu-icons/v4/0ad363ca5afe42974bfadfedce3884ad.png', '/platform/sys/file/download?id=0ad363ca5afe42974bfadfedce3884ad', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('900335e540cc289670acc56a3f4efdc6', 'MINIO', 'cug', '093_慈善捐助_0c4ccaec.png', 'png', '53', '52.8 kB', '900335e540cc289670acc56a3f4efdc6.png', '/menu-icons/v4/900335e540cc289670acc56a3f4efdc6.png', '/platform/sys/file/download?id=900335e540cc289670acc56a3f4efdc6', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('17d93eabe5550904da837191e873727c', 'MINIO', 'cug', '094_慈善捐助_a112c7db.png', 'png', '53', '52.8 kB', '17d93eabe5550904da837191e873727c.png', '/menu-icons/v4/17d93eabe5550904da837191e873727c.png', '/platform/sys/file/download?id=17d93eabe5550904da837191e873727c', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('fe57d48708f2d5775a4caf6ae9810885', 'MINIO', 'cug', '095_我的捐助_23883f9a.png', 'png', '51', '51.1 kB', 'fe57d48708f2d5775a4caf6ae9810885.png', '/menu-icons/v4/fe57d48708f2d5775a4caf6ae9810885.png', '/platform/sys/file/download?id=fe57d48708f2d5775a4caf6ae9810885', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('9eb136427ad27c9d7dcb3c8707722197', 'MINIO', 'cug', '096_生育休假_e5851cdf.png', 'png', '45', '45.3 kB', '9eb136427ad27c9d7dcb3c8707722197.png', '/menu-icons/v4/9eb136427ad27c9d7dcb3c8707722197.png', '/platform/sys/file/download?id=9eb136427ad27c9d7dcb3c8707722197', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('c6a18ba7ab1cced5ff8a143b508ac232', 'MINIO', 'cug', '097_休假申请_abfbd5db.png', 'png', '40', '39.9 kB', 'c6a18ba7ab1cced5ff8a143b508ac232.png', '/menu-icons/v4/c6a18ba7ab1cced5ff8a143b508ac232.png', '/platform/sys/file/download?id=c6a18ba7ab1cced5ff8a143b508ac232', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('39ad45823ce67503b15d0e80baac5a90', 'MINIO', 'cug', '098_我的申请_99252619.png', 'png', '41', '41.1 kB', '39ad45823ce67503b15d0e80baac5a90.png', '/menu-icons/v4/39ad45823ce67503b15d0e80baac5a90.png', '/platform/sys/file/download?id=39ad45823ce67503b15d0e80baac5a90', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('ac6ece2322ded47882503379cbdb11e4', 'MINIO', 'cug', '099_分工会审核_6a548614.png', 'png', '44', '44.0 kB', 'ac6ece2322ded47882503379cbdb11e4.png', '/menu-icons/v4/ac6ece2322ded47882503379cbdb11e4.png', '/platform/sys/file/download?id=ac6ece2322ded47882503379cbdb11e4', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('ca34d08cc7be228497903791476a021c', 'MINIO', 'cug', '100_校工会审核_4a764f7d.png', 'png', '44', '44.2 kB', 'ca34d08cc7be228497903791476a021c.png', '/menu-icons/v4/ca34d08cc7be228497903791476a021c.png', '/platform/sys/file/download?id=ca34d08cc7be228497903791476a021c', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('023abe62c4dcba439ae559a117453f66', 'MINIO', 'cug', '101_查询统计_c13558b0.png', 'png', '41', '40.9 kB', '023abe62c4dcba439ae559a117453f66.png', '/menu-icons/v4/023abe62c4dcba439ae559a117453f66.png', '/platform/sys/file/download?id=023abe62c4dcba439ae559a117453f66', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('f1455ca7fd4317263281ac6cf41fc1ad', 'MINIO', 'cug', '102_独生子女父母退休_f808e1e1.png', 'png', '45', '45.3 kB', 'f1455ca7fd4317263281ac6cf41fc1ad.png', '/menu-icons/v4/f1455ca7fd4317263281ac6cf41fc1ad.png', '/platform/sys/file/download?id=f1455ca7fd4317263281ac6cf41fc1ad', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('3f8884bf81ae83404e13cde55dcf79ed', 'MINIO', 'cug', '103_独生子女父母退休申请_6c3fcd1a.png', 'png', '43', '43.1 kB', '3f8884bf81ae83404e13cde55dcf79ed.png', '/menu-icons/v4/3f8884bf81ae83404e13cde55dcf79ed.png', '/platform/sys/file/download?id=3f8884bf81ae83404e13cde55dcf79ed', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('c23849106f7cd6b4ebdd38ab7c736404', 'MINIO', 'cug', '104_我的申请_16388b3d.png', 'png', '41', '41.1 kB', 'c23849106f7cd6b4ebdd38ab7c736404.png', '/menu-icons/v4/c23849106f7cd6b4ebdd38ab7c736404.png', '/platform/sys/file/download?id=c23849106f7cd6b4ebdd38ab7c736404', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('e83e7cc6d1c9579d0c90d846123d4781', 'MINIO', 'cug', '105_分工会审核_dc276392.png', 'png', '44', '44.0 kB', 'e83e7cc6d1c9579d0c90d846123d4781.png', '/menu-icons/v4/e83e7cc6d1c9579d0c90d846123d4781.png', '/platform/sys/file/download?id=e83e7cc6d1c9579d0c90d846123d4781', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('e614a2a418affa90b4604d854bbe8f4f', 'MINIO', 'cug', '106_校工会审核_50bf62d0.png', 'png', '44', '44.2 kB', 'e614a2a418affa90b4604d854bbe8f4f.png', '/menu-icons/v4/e614a2a418affa90b4604d854bbe8f4f.png', '/platform/sys/file/download?id=e614a2a418affa90b4604d854bbe8f4f', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('256e79961efba17f049992fa79c44ddd', 'MINIO', 'cug', '107_查询统计_05f308a2.png', 'png', '41', '40.9 kB', '256e79961efba17f049992fa79c44ddd.png', '/menu-icons/v4/256e79961efba17f049992fa79c44ddd.png', '/platform/sys/file/download?id=256e79961efba17f049992fa79c44ddd', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('5327c3f6de7725c98b4a847c820363fd', 'MINIO', 'cug', '108_工会报销_d54c4078.png', 'png', '53', '52.8 kB', '5327c3f6de7725c98b4a847c820363fd.png', '/menu-icons/v4/5327c3f6de7725c98b4a847c820363fd.png', '/platform/sys/file/download?id=5327c3f6de7725c98b4a847c820363fd', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('0e4100d9c4ea5176698a2345787c198c', 'MINIO', 'cug', '109_报销申请_e04f9463.png', 'png', '50', '50.0 kB', '0e4100d9c4ea5176698a2345787c198c.png', '/menu-icons/v4/0e4100d9c4ea5176698a2345787c198c.png', '/platform/sys/file/download?id=0e4100d9c4ea5176698a2345787c198c', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('b8f169e5778223784b9135af8a311524', 'MINIO', 'cug', '110_我的报销_5a994c0f.png', 'png', '51', '51.1 kB', 'b8f169e5778223784b9135af8a311524.png', '/menu-icons/v4/b8f169e5778223784b9135af8a311524.png', '/platform/sys/file/download?id=b8f169e5778223784b9135af8a311524', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('0543f3f83e09ad659b9abcaefd08b94a', 'MINIO', 'cug', '111_单身教工管理_bfd9983c.png', 'png', '58', '58.3 kB', '0543f3f83e09ad659b9abcaefd08b94a.png', '/menu-icons/v4/0543f3f83e09ad659b9abcaefd08b94a.png', '/platform/sys/file/download?id=0543f3f83e09ad659b9abcaefd08b94a', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('6a190139c0642e5364294b90a864858b', 'MINIO', 'cug', '112_报销审核_d1abc76f.png', 'png', '45', '45.1 kB', '6a190139c0642e5364294b90a864858b.png', '/menu-icons/v4/6a190139c0642e5364294b90a864858b.png', '/platform/sys/file/download?id=6a190139c0642e5364294b90a864858b', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('337ecc73f2d4b46217a0037c2e7bb986', 'MINIO', 'cug', '113_报销汇总_0d6c8aac.png', 'png', '53', '52.8 kB', '337ecc73f2d4b46217a0037c2e7bb986.png', '/menu-icons/v4/337ecc73f2d4b46217a0037c2e7bb986.png', '/platform/sys/file/download?id=337ecc73f2d4b46217a0037c2e7bb986', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('98db42fa3b4eede3f6502aaaec1e8117', 'MINIO', 'cug', '114_问卷调查_17c32edb.png', 'png', '46', '46.3 kB', '98db42fa3b4eede3f6502aaaec1e8117.png', '/menu-icons/v4/98db42fa3b4eede3f6502aaaec1e8117.png', '/platform/sys/file/download?id=98db42fa3b4eede3f6502aaaec1e8117', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('d91ad1c8f455cc80e03380f2c55b5e7a', 'MINIO', 'cug', '115_其他人员管理_62b1effb.png', 'png', '44', '44.3 kB', 'd91ad1c8f455cc80e03380f2c55b5e7a.png', '/menu-icons/v4/d91ad1c8f455cc80e03380f2c55b5e7a.png', '/platform/sys/file/download?id=d91ad1c8f455cc80e03380f2c55b5e7a', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('8a129812d0f083d933bed9f7362ce3c2', 'MINIO', 'cug', '116_场地预约old_ed6f15a0.png', 'png', '53', '53.2 kB', '8a129812d0f083d933bed9f7362ce3c2.png', '/menu-icons/v4/8a129812d0f083d933bed9f7362ce3c2.png', '/platform/sys/file/download?id=8a129812d0f083d933bed9f7362ce3c2', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('3c8e7767270938e6bedabb675947d36c', 'MINIO', 'cug', '117_场地预约_3f09df78.png', 'png', '53', '53.2 kB', '3c8e7767270938e6bedabb675947d36c.png', '/menu-icons/v4/3c8e7767270938e6bedabb675947d36c.png', '/platform/sys/file/download?id=3c8e7767270938e6bedabb675947d36c', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('d9e86cfc1eba51102cc2a5067f669ce9', 'MINIO', 'cug', '118_人员变更记录_70b4f9a1.png', 'png', '43', '43.5 kB', 'd9e86cfc1eba51102cc2a5067f669ce9.png', '/menu-icons/v4/d9e86cfc1eba51102cc2a5067f669ce9.png', '/platform/sys/file/download?id=d9e86cfc1eba51102cc2a5067f669ce9', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('31b67a1b095a3e1e5dec07bb4377e87c', 'MINIO', 'cug', '119_我的预约_8f752c50.png', 'png', '53', '53.0 kB', '31b67a1b095a3e1e5dec07bb4377e87c.png', '/menu-icons/v4/31b67a1b095a3e1e5dec07bb4377e87c.png', '/platform/sys/file/download?id=31b67a1b095a3e1e5dec07bb4377e87c', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('29f151188867dd0b541b2998832e609d', 'MINIO', 'cug', '120_30教龄教职工管理_22847e55.png', 'png', '58', '58.3 kB', '29f151188867dd0b541b2998832e609d.png', '/menu-icons/v4/29f151188867dd0b541b2998832e609d.png', '/platform/sys/file/download?id=29f151188867dd0b541b2998832e609d', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('c1f86c180293b8d8a33b733335c95d92', 'MINIO', 'cug', '121_校工会审核_ef93e3b9.png', 'png', '44', '44.2 kB', 'c1f86c180293b8d8a33b733335c95d92.png', '/menu-icons/v4/c1f86c180293b8d8a33b733335c95d92.png', '/platform/sys/file/download?id=c1f86c180293b8d8a33b733335c95d92', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('4a2284606c913e81a4a8ae4a30907fa1', 'MINIO', 'cug', '122_职工福利_d34fa735.png', 'png', '46', '45.7 kB', '4a2284606c913e81a4a8ae4a30907fa1.png', '/menu-icons/v4/4a2284606c913e81a4a8ae4a30907fa1.png', '/platform/sys/file/download?id=4a2284606c913e81a4a8ae4a30907fa1', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('750049c8122e723f2c05b07487dfcc41', 'MINIO', 'cug', '123_选择福利_94b69599.png', 'png', '44', '43.6 kB', '750049c8122e723f2c05b07487dfcc41.png', '/menu-icons/v4/750049c8122e723f2c05b07487dfcc41.png', '/platform/sys/file/download?id=750049c8122e723f2c05b07487dfcc41', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('7396484da3d72534752452bfcbcb0069', 'MINIO', 'cug', '124_收货地址_15156ec9.png', 'png', '42', '41.9 kB', '7396484da3d72534752452bfcbcb0069.png', '/menu-icons/v4/7396484da3d72534752452bfcbcb0069.png', '/platform/sys/file/download?id=7396484da3d72534752452bfcbcb0069', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('c3dec28fc2456aac00b232004a37772b', 'MINIO', 'cug', '125_职工慰问_3b49290f.png', 'png', '41', '41.4 kB', 'c3dec28fc2456aac00b232004a37772b.png', '/menu-icons/v4/c3dec28fc2456aac00b232004a37772b.png', '/platform/sys/file/download?id=c3dec28fc2456aac00b232004a37772b', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('eb7fbff546395e60c8175bea83b23ca5', 'MINIO', 'cug', '126_慰问申请_5e024c74.png', 'png', '39', '39.3 kB', 'eb7fbff546395e60c8175bea83b23ca5.png', '/menu-icons/v4/eb7fbff546395e60c8175bea83b23ca5.png', '/platform/sys/file/download?id=eb7fbff546395e60c8175bea83b23ca5', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('c23fadfac6813aa9658850d21afe0522', 'MINIO', 'cug', '127_我的福利_c08d8543.png', 'png', '44', '43.7 kB', 'c23fadfac6813aa9658850d21afe0522.png', '/menu-icons/v4/c23fadfac6813aa9658850d21afe0522.png', '/platform/sys/file/download?id=c23fadfac6813aa9658850d21afe0522', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('78cdcfded40ace970a47d5d3ee266cb4', 'MINIO', 'cug', '128_建言献策_261dd7f7.png', 'png', '46', '46.3 kB', '78cdcfded40ace970a47d5d3ee266cb4.png', '/menu-icons/v4/78cdcfded40ace970a47d5d3ee266cb4.png', '/platform/sys/file/download?id=78cdcfded40ace970a47d5d3ee266cb4', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('355393c56fa8dfec6ca72e5bb3afb44e', 'MINIO', 'cug', '129_填写申请_9e0070b7.png', 'png', '40', '40.3 kB', '355393c56fa8dfec6ca72e5bb3afb44e.png', '/menu-icons/v4/355393c56fa8dfec6ca72e5bb3afb44e.png', '/platform/sys/file/download?id=355393c56fa8dfec6ca72e5bb3afb44e', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('d3f4bdad1fea1e72a254a76bf0031b5f', 'MINIO', 'cug', '130_我的申请_360f1c3f.png', 'png', '41', '41.1 kB', 'd3f4bdad1fea1e72a254a76bf0031b5f.png', '/menu-icons/v4/d3f4bdad1fea1e72a254a76bf0031b5f.png', '/platform/sys/file/download?id=d3f4bdad1fea1e72a254a76bf0031b5f', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('a19a061c9150542eaf2c606b6ce7d5db', 'MINIO', 'cug', '131_校工会审核_a9d5ff11.png', 'png', '44', '44.2 kB', 'a19a061c9150542eaf2c606b6ce7d5db.png', '/menu-icons/v4/a19a061c9150542eaf2c606b6ce7d5db.png', '/platform/sys/file/download?id=a19a061c9150542eaf2c606b6ce7d5db', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('73173ed918d2432883a2fc7ce7860acf', 'MINIO', 'cug', '132_查询统计_5f2c0218.png', 'png', '41', '40.9 kB', '73173ed918d2432883a2fc7ce7860acf.png', '/menu-icons/v4/73173ed918d2432883a2fc7ce7860acf.png', '/platform/sys/file/download?id=73173ed918d2432883a2fc7ce7860acf', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('0cb7972d868debcea8cbaaec8c031ecd', 'MINIO', 'cug', '133_作品征集_10ecb801.png', 'png', '41', '41.1 kB', '0cb7972d868debcea8cbaaec8c031ecd.png', '/menu-icons/v4/0cb7972d868debcea8cbaaec8c031ecd.png', '/platform/sys/file/download?id=0cb7972d868debcea8cbaaec8c031ecd', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('1bab0b87dda87cce3b9d2e399834cbd4', 'MINIO', 'cug', '134_作品上传_5ae60a2c.png', 'png', '41', '41.2 kB', '1bab0b87dda87cce3b9d2e399834cbd4.png', '/menu-icons/v4/1bab0b87dda87cce3b9d2e399834cbd4.png', '/platform/sys/file/download?id=1bab0b87dda87cce3b9d2e399834cbd4', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('247977f8981b0d1ba3f66d5281758af3', 'MINIO', 'cug', '135_困难帮扶_ca437578.png', 'png', '41', '41.4 kB', '247977f8981b0d1ba3f66d5281758af3.png', '/menu-icons/v4/247977f8981b0d1ba3f66d5281758af3.png', '/platform/sys/file/download?id=247977f8981b0d1ba3f66d5281758af3', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('25a37b6731412687cc139354516af951', 'MINIO', 'cug', '136_我的作品_b0febdbf.png', 'png', '42', '42.3 kB', '25a37b6731412687cc139354516af951.png', '/menu-icons/v4/25a37b6731412687cc139354516af951.png', '/platform/sys/file/download?id=25a37b6731412687cc139354516af951', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('09e1b869c29991070515f5fb1decb1d5', 'MINIO', 'cug', '137_困难帮扶申请_d11cf9fe.png', 'png', '39', '39.3 kB', '09e1b869c29991070515f5fb1decb1d5.png', '/menu-icons/v4/09e1b869c29991070515f5fb1decb1d5.png', '/platform/sys/file/download?id=09e1b869c29991070515f5fb1decb1d5', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('72997cecb2555f50d1ea0bd52e2d82ae', 'MINIO', 'cug', '138_作品阅览_04fd4ddf.png', 'png', '42', '41.9 kB', '72997cecb2555f50d1ea0bd52e2d82ae.png', '/menu-icons/v4/72997cecb2555f50d1ea0bd52e2d82ae.png', '/platform/sys/file/download?id=72997cecb2555f50d1ea0bd52e2d82ae', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('26a79287dbf7e1ca3c79332fb6285862', 'MINIO', 'cug', '139_会议选座_0c08a2e7.png', 'png', '54', '54.4 kB', '26a79287dbf7e1ca3c79332fb6285862.png', '/menu-icons/v4/26a79287dbf7e1ca3c79332fb6285862.png', '/platform/sys/file/download?id=26a79287dbf7e1ca3c79332fb6285862', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('4830086adc28e0bf629d0ff9e2857f27', 'MINIO', 'cug', '140_亲子活动_871f822c.png', 'png', '45', '45.3 kB', '4830086adc28e0bf629d0ff9e2857f27.png', '/menu-icons/v4/4830086adc28e0bf629d0ff9e2857f27.png', '/platform/sys/file/download?id=4830086adc28e0bf629d0ff9e2857f27', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('644a0d084ac071002407b4a0c2f53af0', 'MINIO', 'cug', '141_活动报名_612a4fa1.png', 'png', '42', '41.8 kB', '644a0d084ac071002407b4a0c2f53af0.png', '/menu-icons/v4/644a0d084ac071002407b4a0c2f53af0.png', '/platform/sys/file/download?id=644a0d084ac071002407b4a0c2f53af0', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('979bfcd302f91267653322b34656a0fe', 'MINIO', 'cug', '142_心理咨询_c8d0855a.png', 'png', '45', '44.5 kB', '979bfcd302f91267653322b34656a0fe.png', '/menu-icons/v4/979bfcd302f91267653322b34656a0fe.png', '/platform/sys/file/download?id=979bfcd302f91267653322b34656a0fe', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('667e2023287032849e9eed37bd96ffab', 'MINIO', 'cug', '143_我的报名_c0ba4f08.png', 'png', '41', '41.1 kB', '667e2023287032849e9eed37bd96ffab.png', '/menu-icons/v4/667e2023287032849e9eed37bd96ffab.png', '/platform/sys/file/download?id=667e2023287032849e9eed37bd96ffab', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('784f730e392bf97e3c8e9eb78d57e200', 'MINIO', 'cug', '144_法律援助_f148c76e.png', 'png', '46', '46.3 kB', '784f730e392bf97e3c8e9eb78d57e200.png', '/menu-icons/v4/784f730e392bf97e3c8e9eb78d57e200.png', '/platform/sys/file/download?id=784f730e392bf97e3c8e9eb78d57e200', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('1d7a71bdce09c3edc0a1e0b5b116ee0f', 'MINIO', 'cug', '145_医疗补助系统_b0cc1987.png', 'png', '53', '52.8 kB', '1d7a71bdce09c3edc0a1e0b5b116ee0f.png', '/menu-icons/v4/1d7a71bdce09c3edc0a1e0b5b116ee0f.png', '/platform/sys/file/download?id=1d7a71bdce09c3edc0a1e0b5b116ee0f', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('c7d5a756835c5896d7d8c43cd02e77f5', 'MINIO', 'cug', '146_职工福利_ca9e5652.png', 'png', '46', '45.7 kB', 'c7d5a756835c5896d7d8c43cd02e77f5.png', '/menu-icons/v4/c7d5a756835c5896d7d8c43cd02e77f5.png', '/platform/sys/file/download?id=c7d5a756835c5896d7d8c43cd02e77f5', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('ef15dcff1a44c021f83b87de5ba67c3e', 'MINIO', 'cug', '147_职工福利_093e1e29.png', 'png', '46', '45.7 kB', 'ef15dcff1a44c021f83b87de5ba67c3e.png', '/menu-icons/v4/ef15dcff1a44c021f83b87de5ba67c3e.png', '/platform/sys/file/download?id=ef15dcff1a44c021f83b87de5ba67c3e', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('9c004bc15efc7133ecdc2fdeade39757', 'MINIO', 'cug', '148_福利选择_519c8f5a.png', 'png', '44', '43.6 kB', '9c004bc15efc7133ecdc2fdeade39757.png', '/menu-icons/v4/9c004bc15efc7133ecdc2fdeade39757.png', '/platform/sys/file/download?id=9c004bc15efc7133ecdc2fdeade39757', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('3f74d543dd457b89ff633f9758534a13', 'MINIO', 'cug', '149_福利日常核对_73df1dda.png', 'png', '44', '43.8 kB', '3f74d543dd457b89ff633f9758534a13.png', '/menu-icons/v4/3f74d543dd457b89ff633f9758534a13.png', '/platform/sys/file/download?id=3f74d543dd457b89ff633f9758534a13', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('9be265f40e1fe24bf426c101f91c372e', 'MINIO', 'cug', '150_体检管理_cf47b9d6.png', 'png', '45', '44.5 kB', '9be265f40e1fe24bf426c101f91c372e.png', '/menu-icons/v4/9be265f40e1fe24bf426c101f91c372e.png', '/platform/sys/file/download?id=9be265f40e1fe24bf426c101f91c372e', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('f56d4722eba8c35c7ad17eaee09957da', 'MINIO', 'cug', '151_体育活动管理_e08ff179.png', 'png', '42', '41.8 kB', 'f56d4722eba8c35c7ad17eaee09957da.png', '/menu-icons/v4/f56d4722eba8c35c7ad17eaee09957da.png', '/platform/sys/file/download?id=f56d4722eba8c35c7ad17eaee09957da', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('1773284fda8bb61676c591a12fe59cc0', 'MINIO', 'cug', '152_体育活动报名_69280dbb.png', 'png', '42', '41.8 kB', '1773284fda8bb61676c591a12fe59cc0.png', '/menu-icons/v4/1773284fda8bb61676c591a12fe59cc0.png', '/platform/sys/file/download?id=1773284fda8bb61676c591a12fe59cc0', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('1f362f5b49109756b1cd3e98e0d51cf2', 'MINIO', 'cug', '153_品牌活动_0868f8b6.png', 'png', '41', '41.1 kB', '1f362f5b49109756b1cd3e98e0d51cf2.png', '/menu-icons/v4/1f362f5b49109756b1cd3e98e0d51cf2.png', '/platform/sys/file/download?id=1f362f5b49109756b1cd3e98e0d51cf2', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('50ab45f2d7b1159dd41452711b69b12e', 'MINIO', 'cug', '154_品牌活动报名_c97ad132.png', 'png', '42', '41.8 kB', '50ab45f2d7b1159dd41452711b69b12e.png', '/menu-icons/v4/50ab45f2d7b1159dd41452711b69b12e.png', '/platform/sys/file/download?id=50ab45f2d7b1159dd41452711b69b12e', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('3cc65760857ae6336d9c3556af831096', 'MINIO', 'cug', '155_校工会文化活动_788400d0.png', 'png', '42', '42.0 kB', '3cc65760857ae6336d9c3556af831096.png', '/menu-icons/v4/3cc65760857ae6336d9c3556af831096.png', '/platform/sys/file/download?id=3cc65760857ae6336d9c3556af831096', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('58b5c2e00fe8a4cc907a9319638c455b', 'MINIO', 'cug', '156_校文化活动报名_c1709519.png', 'png', '42', '41.8 kB', '58b5c2e00fe8a4cc907a9319638c455b.png', '/menu-icons/v4/58b5c2e00fe8a4cc907a9319638c455b.png', '/platform/sys/file/download?id=58b5c2e00fe8a4cc907a9319638c455b', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('8aba95b4264509993101f56165c5230e', 'MINIO', 'cug', '157_分工会文化活动_b759a93a.png', 'png', '42', '42.0 kB', '8aba95b4264509993101f56165c5230e.png', '/menu-icons/v4/8aba95b4264509993101f56165c5230e.png', '/platform/sys/file/download?id=8aba95b4264509993101f56165c5230e', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('694bf29f0b31bb6cc39fe628596fcf10', 'MINIO', 'cug', '158_作品征集_91d79e0f.png', 'png', '41', '41.1 kB', '694bf29f0b31bb6cc39fe628596fcf10.png', '/menu-icons/v4/694bf29f0b31bb6cc39fe628596fcf10.png', '/platform/sys/file/download?id=694bf29f0b31bb6cc39fe628596fcf10', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('2096b1f5b2dd220708caa011807e760b', 'MINIO', 'cug', '159_亲子活动_737e57a3.png', 'png', '45', '45.3 kB', '2096b1f5b2dd220708caa011807e760b.png', '/menu-icons/v4/2096b1f5b2dd220708caa011807e760b.png', '/platform/sys/file/download?id=2096b1f5b2dd220708caa011807e760b', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('58e2294be4fc14f163dfa8648e1d7766', 'MINIO', 'cug', '160_教工健身走_33e81fa0.png', 'png', '44', '43.6 kB', '58e2294be4fc14f163dfa8648e1d7766.png', '/menu-icons/v4/58e2294be4fc14f163dfa8648e1d7766.png', '/platform/sys/file/download?id=58e2294be4fc14f163dfa8648e1d7766', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('c8f85b0da4d6934b6c4daa3bfaf6b4fe', 'MINIO', 'cug', '161_活动基础管理_77c8af32.png', 'png', '44', '43.6 kB', 'c8f85b0da4d6934b6c4daa3bfaf6b4fe.png', '/menu-icons/v4/c8f85b0da4d6934b6c4daa3bfaf6b4fe.png', '/platform/sys/file/download?id=c8f85b0da4d6934b6c4daa3bfaf6b4fe', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('5aa7fee7e955f392f4348ed76dec3a96', 'MINIO', 'cug', '162_工会报销_1f917af2.png', 'png', '53', '52.8 kB', '5aa7fee7e955f392f4348ed76dec3a96.png', '/menu-icons/v4/5aa7fee7e955f392f4348ed76dec3a96.png', '/platform/sys/file/download?id=5aa7fee7e955f392f4348ed76dec3a96', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('3993212bfb4c32fd116309ac74a02caf', 'MINIO', 'cug', '163_报销申请_d6132ff0.png', 'png', '50', '50.0 kB', '3993212bfb4c32fd116309ac74a02caf.png', '/menu-icons/v4/3993212bfb4c32fd116309ac74a02caf.png', '/platform/sys/file/download?id=3993212bfb4c32fd116309ac74a02caf', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('8e01489dd693caea1c6ad1605a8b9496', 'MINIO', 'cug', '164_问卷服务_1c643efa.png', 'png', '46', '46.3 kB', '8e01489dd693caea1c6ad1605a8b9496.png', '/menu-icons/v4/8e01489dd693caea1c6ad1605a8b9496.png', '/platform/sys/file/download?id=8e01489dd693caea1c6ad1605a8b9496', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('7e99bec530b0d1c4a23060ab2f46ba10', 'MINIO', 'cug', '165_场地预约(old_e9e46237.png', 'png', '53', '53.2 kB', '7e99bec530b0d1c4a23060ab2f46ba10.png', '/menu-icons/v4/7e99bec530b0d1c4a23060ab2f46ba10.png', '/platform/sys/file/download?id=7e99bec530b0d1c4a23060ab2f46ba10', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('f2fe436890ce5f92128f3520780ca3a8', 'MINIO', 'cug', '166_场地预约_82356ff2.png', 'png', '53', '53.2 kB', 'f2fe436890ce5f92128f3520780ca3a8.png', '/menu-icons/v4/f2fe436890ce5f92128f3520780ca3a8.png', '/platform/sys/file/download?id=f2fe436890ce5f92128f3520780ca3a8', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('39ba4b1f22b31ef85b10125cb1745d0f', 'MINIO', 'cug', '167_消息中心_40266809.png', 'png', '58', '58.3 kB', '39ba4b1f22b31ef85b10125cb1745d0f.png', '/menu-icons/v4/39ba4b1f22b31ef85b10125cb1745d0f.png', '/platform/sys/file/download?id=39ba4b1f22b31ef85b10125cb1745d0f', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('459acd2ff8c33f855a77a03d1994854e', 'MINIO', 'cug', '168_工会大数据_09abd6b8.png', 'png', '44', '44.3 kB', '459acd2ff8c33f855a77a03d1994854e.png', '/menu-icons/v4/459acd2ff8c33f855a77a03d1994854e.png', '/platform/sys/file/download?id=459acd2ff8c33f855a77a03d1994854e', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('d592100d662b25fe14c546725a7eaf3b', 'MINIO', 'cug', '169_年度预算申报_396309f2.png', 'png', '50', '50.2 kB', 'd592100d662b25fe14c546725a7eaf3b.png', '/menu-icons/v4/d592100d662b25fe14c546725a7eaf3b.png', '/platform/sys/file/download?id=d592100d662b25fe14c546725a7eaf3b', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('39dc023de0c0ef3df9035b84246c35fc', 'MINIO', 'cug', '170_预算申报_6be01be5.png', 'png', '50', '50.2 kB', '39dc023de0c0ef3df9035b84246c35fc.png', '/menu-icons/v4/39dc023de0c0ef3df9035b84246c35fc.png', '/platform/sys/file/download?id=39dc023de0c0ef3df9035b84246c35fc', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('d4c3f3f8efe2ce8c8ea3beb4409918e3', 'MINIO', 'cug', '171_经费预算管理_fe0ae2a7.png', 'png', '53', '52.8 kB', 'd4c3f3f8efe2ce8c8ea3beb4409918e3.png', '/menu-icons/v4/d4c3f3f8efe2ce8c8ea3beb4409918e3.png', '/platform/sys/file/download?id=d4c3f3f8efe2ce8c8ea3beb4409918e3', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('21267a6fa768ee7eeedf7dba980616f4', 'MINIO', 'cug', '172_荣誉管理_31078d88.png', 'png', '47', '47.0 kB', '21267a6fa768ee7eeedf7dba980616f4.png', '/menu-icons/v4/21267a6fa768ee7eeedf7dba980616f4.png', '/platform/sys/file/download?id=21267a6fa768ee7eeedf7dba980616f4', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('0199cc2d1f8eff511c2038571f2bbb8b', 'MINIO', 'cug', '173_评优评先_32bd9853.png', 'png', '51', '51.0 kB', '0199cc2d1f8eff511c2038571f2bbb8b.png', '/menu-icons/v4/0199cc2d1f8eff511c2038571f2bbb8b.png', '/platform/sys/file/download?id=0199cc2d1f8eff511c2038571f2bbb8b', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('837a9b8aad0e1eadceaa693dfa8e19e1', 'MINIO', 'cug', '174_新闻投稿_a4cfdc91.png', 'png', '42', '41.9 kB', '837a9b8aad0e1eadceaa693dfa8e19e1.png', '/menu-icons/v4/837a9b8aad0e1eadceaa693dfa8e19e1.png', '/platform/sys/file/download?id=837a9b8aad0e1eadceaa693dfa8e19e1', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('a7d265dfed93cf79fca45e88bd4248ff', 'MINIO', 'cug', '175_职工建家_fac7e9f5.png', 'png', '44', '44.3 kB', 'a7d265dfed93cf79fca45e88bd4248ff.png', '/menu-icons/v4/a7d265dfed93cf79fca45e88bd4248ff.png', '/platform/sys/file/download?id=a7d265dfed93cf79fca45e88bd4248ff', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('cc24c0a16a35354f332aff2b2023f0e5', 'MINIO', 'cug', '176_资产管理_d7c6c17e.png', 'png', '58', '58.3 kB', 'cc24c0a16a35354f332aff2b2023f0e5.png', '/menu-icons/v4/cc24c0a16a35354f332aff2b2023f0e5.png', '/platform/sys/file/download?id=cc24c0a16a35354f332aff2b2023f0e5', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('648d406bbbf0e32c082f02cf317bc48c', 'MINIO', 'cug', '177_注册社团_946104dc.png', 'png', '44', '44.3 kB', '648d406bbbf0e32c082f02cf317bc48c.png', '/menu-icons/v4/648d406bbbf0e32c082f02cf317bc48c.png', '/platform/sys/file/download?id=648d406bbbf0e32c082f02cf317bc48c', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('49c4c2480f2027792674edaf6f40fed4', 'MINIO', 'cug', '178_社团信息维护_f6485820.png', 'png', '44', '43.5 kB', '49c4c2480f2027792674edaf6f40fed4.png', '/menu-icons/v4/49c4c2480f2027792674edaf6f40fed4.png', '/platform/sys/file/download?id=49c4c2480f2027792674edaf6f40fed4', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('10903a2e44417f9d20c548e3424dd457', 'MINIO', 'cug', '179_社团入会_1287eb24.png', 'png', '44', '44.3 kB', '10903a2e44417f9d20c548e3424dd457.png', '/menu-icons/v4/10903a2e44417f9d20c548e3424dd457.png', '/platform/sys/file/download?id=10903a2e44417f9d20c548e3424dd457', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('486385e3da464ace8cf812de8a460761', 'MINIO', 'cug', '180_社团入会_321fa0c8.png', 'png', '44', '44.3 kB', '486385e3da464ace8cf812de8a460761.png', '/menu-icons/v4/486385e3da464ace8cf812de8a460761.png', '/platform/sys/file/download?id=486385e3da464ace8cf812de8a460761', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('88e8b7b022ed0c2929615bfedd231e45', 'MINIO', 'cug', '181_年度考核_1ddecada.png', 'png', '46', '45.7 kB', '88e8b7b022ed0c2929615bfedd231e45.png', '/menu-icons/v4/88e8b7b022ed0c2929615bfedd231e45.png', '/platform/sys/file/download?id=88e8b7b022ed0c2929615bfedd231e45', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('1a174db6bdd59b2d7e98dadf52f7f854', 'MINIO', 'cug', '182_社团评优_3f09f8a9.png', 'png', '51', '51.0 kB', '1a174db6bdd59b2d7e98dadf52f7f854.png', '/menu-icons/v4/1a174db6bdd59b2d7e98dadf52f7f854.png', '/platform/sys/file/download?id=1a174db6bdd59b2d7e98dadf52f7f854', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('d7cb87646b1579a51daff50de1c4747c', 'MINIO', 'cug', '183_社团统计_b8817cce.png', 'png', '44', '43.7 kB', 'd7cb87646b1579a51daff50de1c4747c.png', '/menu-icons/v4/d7cb87646b1579a51daff50de1c4747c.png', '/platform/sys/file/download?id=d7cb87646b1579a51daff50de1c4747c', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('5edf99eb06031a98bc0f23b03f89bde1', 'MINIO', 'cug', '184_社团文化活动_509423f4.png', 'png', '42', '42.0 kB', '5edf99eb06031a98bc0f23b03f89bde1.png', '/menu-icons/v4/5edf99eb06031a98bc0f23b03f89bde1.png', '/platform/sys/file/download?id=5edf99eb06031a98bc0f23b03f89bde1', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('2b9fa4f9ab358355cbaf7aa9835556ef', 'MINIO', 'cug', '185_年度计划总结_e658f630.png', 'png', '42', '41.9 kB', '2b9fa4f9ab358355cbaf7aa9835556ef.png', '/menu-icons/v4/2b9fa4f9ab358355cbaf7aa9835556ef.png', '/platform/sys/file/download?id=2b9fa4f9ab358355cbaf7aa9835556ef', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('c88694f42e0203e48d3e49f6e5e066a8', 'MINIO', 'cug', '186_活动申报_895089b9.png', 'png', '41', '41.3 kB', 'c88694f42e0203e48d3e49f6e5e066a8.png', '/menu-icons/v4/c88694f42e0203e48d3e49f6e5e066a8.png', '/platform/sys/file/download?id=c88694f42e0203e48d3e49f6e5e066a8', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('7fec918647b9b82d4b37e2ded5cc3273', 'MINIO', 'cug', '187_活动申报_6bb151be.png', 'png', '41', '41.3 kB', '7fec918647b9b82d4b37e2ded5cc3273.png', '/menu-icons/v4/7fec918647b9b82d4b37e2ded5cc3273.png', '/platform/sys/file/download?id=7fec918647b9b82d4b37e2ded5cc3273', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('2589108c8f9cdb1a6bf2d3c82dbd153d', 'MINIO', 'cug', '188_费用报销管理_e8d1ced0.png', 'png', '53', '52.8 kB', '2589108c8f9cdb1a6bf2d3c82dbd153d.png', '/menu-icons/v4/2589108c8f9cdb1a6bf2d3c82dbd153d.png', '/platform/sys/file/download?id=2589108c8f9cdb1a6bf2d3c82dbd153d', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('76bf9528e92883a0aacb4400b5d7898b', 'MINIO', 'cug', '189_报销申请_6784436e.png', 'png', '50', '50.0 kB', '76bf9528e92883a0aacb4400b5d7898b.png', '/menu-icons/v4/76bf9528e92883a0aacb4400b5d7898b.png', '/platform/sys/file/download?id=76bf9528e92883a0aacb4400b5d7898b', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('1db9ddb3a212eb2438b5aa68b4aa4f98', 'MINIO', 'cug', '190_子女入学管理_36e59aa2.png', 'png', '45', '45.3 kB', '1db9ddb3a212eb2438b5aa68b4aa4f98.png', '/menu-icons/v4/1db9ddb3a212eb2438b5aa68b4aa4f98.png', '/platform/sys/file/download?id=1db9ddb3a212eb2438b5aa68b4aa4f98', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('56942a1f6017780c63c8a46b9d465730', 'MINIO', 'cug', '191_建言献策_5a90e1f8.png', 'png', '46', '46.3 kB', '56942a1f6017780c63c8a46b9d465730.png', '/menu-icons/v4/56942a1f6017780c63c8a46b9d465730.png', '/platform/sys/file/download?id=56942a1f6017780c63c8a46b9d465730', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('289c29aa7f973929396074fb0a68ee7b', 'MINIO', 'cug', '192_两委委员推选_c3886b5f.png', 'png', '44', '43.6 kB', '289c29aa7f973929396074fb0a68ee7b.png', '/menu-icons/v4/289c29aa7f973929396074fb0a68ee7b.png', '/platform/sys/file/download?id=289c29aa7f973929396074fb0a68ee7b', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('e538eee29c37357a259c7064eca89482', 'MINIO', 'cug', '193_理论学习_6d2535e3.png', 'png', '43', '43.3 kB', 'e538eee29c37357a259c7064eca89482.png', '/menu-icons/v4/e538eee29c37357a259c7064eca89482.png', '/platform/sys/file/download?id=e538eee29c37357a259c7064eca89482', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('df0c51dbe984b21bf17c2b70b7a0953b', 'MINIO', 'cug', '194_会务管理_fbe27890.png', 'png', '55', '54.8 kB', 'df0c51dbe984b21bf17c2b70b7a0953b.png', '/menu-icons/v4/df0c51dbe984b21bf17c2b70b7a0953b.png', '/platform/sys/file/download?id=df0c51dbe984b21bf17c2b70b7a0953b', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('d127deb847eb5c3ddb66546452457d56', 'MINIO', 'cug', '195_职工素养培训_81567260.png', 'png', '43', '43.3 kB', 'd127deb847eb5c3ddb66546452457d56.png', '/menu-icons/v4/d127deb847eb5c3ddb66546452457d56.png', '/platform/sys/file/download?id=d127deb847eb5c3ddb66546452457d56', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('91cdf49b7528eec7344a52c556bbbac1', 'MINIO', 'cug', '196_生日祝福_f12f0f8d.png', 'png', '46', '45.7 kB', '91cdf49b7528eec7344a52c556bbbac1.png', '/menu-icons/v4/91cdf49b7528eec7344a52c556bbbac1.png', '/platform/sys/file/download?id=91cdf49b7528eec7344a52c556bbbac1', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('62c85d34b7c83331fdc622b82ee31305', 'MINIO', 'cug', '197_会议厅_ac32facf.png', 'png', '54', '54.4 kB', '62c85d34b7c83331fdc622b82ee31305.png', '/menu-icons/v4/62c85d34b7c83331fdc622b82ee31305.png', '/platform/sys/file/download?id=62c85d34b7c83331fdc622b82ee31305', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('84786acc1aa4752f9ed27d6ae05b9845', 'MINIO', 'cug', '198_人员核对_1f9e482c.png', 'png', '44', '43.9 kB', '84786acc1aa4752f9ed27d6ae05b9845.png', '/menu-icons/v4/84786acc1aa4752f9ed27d6ae05b9845.png', '/platform/sys/file/download?id=84786acc1aa4752f9ed27d6ae05b9845', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('d164401cedd27b5e988a6728b167ebf9', 'MINIO', 'cug', '199_健身卡_3d6a88f3.png', 'png', '45', '44.5 kB', 'd164401cedd27b5e988a6728b167ebf9.png', '/menu-icons/v4/d164401cedd27b5e988a6728b167ebf9.png', '/platform/sys/file/download?id=d164401cedd27b5e988a6728b167ebf9', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('d15593858ee9e3e4740752796f0f094d', 'MINIO', 'cug', '200_量化考核_fd9a298a.png', 'png', '46', '45.7 kB', 'd15593858ee9e3e4740752796f0f094d.png', '/menu-icons/v4/d15593858ee9e3e4740752796f0f094d.png', '/platform/sys/file/download?id=d15593858ee9e3e4740752796f0f094d', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('98049319f4d8dfd8f1600693df033a92', 'MINIO', 'cug', '201_分工会自评_7a5c41f2.png', 'png', '44', '44.0 kB', '98049319f4d8dfd8f1600693df033a92.png', '/menu-icons/v4/98049319f4d8dfd8f1600693df033a92.png', '/platform/sys/file/download?id=98049319f4d8dfd8f1600693df033a92', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('e0be9482d60c2ce23d45dccf7b92b4ac', 'MINIO', 'cug', '202_生日祝福_93487f22.png', 'png', '46', '45.7 kB', 'e0be9482d60c2ce23d45dccf7b92b4ac.png', '/menu-icons/v4/e0be9482d60c2ce23d45dccf7b92b4ac.png', '/platform/sys/file/download?id=e0be9482d60c2ce23d45dccf7b92b4ac', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('c1d91269cb25ca1cdeec60480ed2bf17', 'MINIO', 'cug', '203_单位管理_c2f9569e.png', 'png', '44', '44.3 kB', 'c1d91269cb25ca1cdeec60480ed2bf17.png', '/menu-icons/v4/c1d91269cb25ca1cdeec60480ed2bf17.png', '/platform/sys/file/download?id=c1d91269cb25ca1cdeec60480ed2bf17', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('81537f82c536315f07c123f0648f0520', 'MINIO', 'cug', '204_工会管理_51b1e376.png', 'png', '44', '44.3 kB', '81537f82c536315f07c123f0648f0520.png', '/menu-icons/v4/81537f82c536315f07c123f0648f0520.png', '/platform/sys/file/download?id=81537f82c536315f07c123f0648f0520', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('43d984e35c070aeef9e02a6948ce0f13', 'MINIO', 'cug', '205_系统设置_72e8f153.png', 'png', '58', '58.3 kB', '43d984e35c070aeef9e02a6948ce0f13.png', '/menu-icons/v4/43d984e35c070aeef9e02a6948ce0f13.png', '/platform/sys/file/download?id=43d984e35c070aeef9e02a6948ce0f13', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('d89c1c55b52118f5383ac8556041a192', 'MINIO', 'cug', '206_基础管理_a993711d.png', 'png', '58', '58.3 kB', 'd89c1c55b52118f5383ac8556041a192.png', '/menu-icons/v4/d89c1c55b52118f5383ac8556041a192.png', '/platform/sys/file/download?id=d89c1c55b52118f5383ac8556041a192', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('651318033c80de8942937333a27bd181', 'MINIO', 'cug', '207_活动报名_5cc02dac.png', 'png', '42', '41.8 kB', '651318033c80de8942937333a27bd181.png', '/menu-icons/v4/651318033c80de8942937333a27bd181.png', '/platform/sys/file/download?id=651318033c80de8942937333a27bd181', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('9098831f78c6f63f34c47f50601cbf28', 'MINIO', 'cug', '208_问卷调查_86dda8e2.png', 'png', '46', '46.3 kB', '9098831f78c6f63f34c47f50601cbf28.png', '/menu-icons/v4/9098831f78c6f63f34c47f50601cbf28.png', '/platform/sys/file/download?id=9098831f78c6f63f34c47f50601cbf28', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('25f386be14f1bd2ff927466933513668', 'MINIO', 'cug', '209_系统配置_3668daf0.png', 'png', '58', '58.3 kB', '25f386be14f1bd2ff927466933513668.png', '/menu-icons/v4/25f386be14f1bd2ff927466933513668.png', '/platform/sys/file/download?id=25f386be14f1bd2ff927466933513668', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('a9d83741ede7ab47a93e60f19805d47c', 'MINIO', 'cug', '210_数据管理_5ba85827.png', 'png', '58', '58.3 kB', 'a9d83741ede7ab47a93e60f19805d47c.png', '/menu-icons/v4/a9d83741ede7ab47a93e60f19805d47c.png', '/platform/sys/file/download?id=a9d83741ede7ab47a93e60f19805d47c', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('7bba23aa9d61198c66cd8977dbdf0ae2', 'MINIO', 'cug', '211_场地预约_0a9fab6f.png', 'png', '53', '53.2 kB', '7bba23aa9d61198c66cd8977dbdf0ae2.png', '/menu-icons/v4/7bba23aa9d61198c66cd8977dbdf0ae2.png', '/platform/sys/file/download?id=7bba23aa9d61198c66cd8977dbdf0ae2', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('fde27ef077ff704c35dc2f7502ebfa9e', 'MINIO', 'cug', '212_场地预约_e3399da9.png', 'png', '53', '53.2 kB', 'fde27ef077ff704c35dc2f7502ebfa9e.png', '/menu-icons/v4/fde27ef077ff704c35dc2f7502ebfa9e.png', '/platform/sys/file/download?id=fde27ef077ff704c35dc2f7502ebfa9e', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('0fe41721790a452cec7765a8442d25bc', 'MINIO', 'cug', '213_流程管理_8bfae2e4.png', 'png', '58', '58.3 kB', '0fe41721790a452cec7765a8442d25bc.png', '/menu-icons/v4/0fe41721790a452cec7765a8442d25bc.png', '/platform/sys/file/download?id=0fe41721790a452cec7765a8442d25bc', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('964516a2efab750738d553a978f14e9e', 'MINIO', 'cug', '214_我的预约_a58a5431.png', 'png', '53', '53.0 kB', '964516a2efab750738d553a978f14e9e.png', '/menu-icons/v4/964516a2efab750738d553a978f14e9e.png', '/platform/sys/file/download?id=964516a2efab750738d553a978f14e9e', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('3b7caee281e29c602c60d25f0dbb6a2f', 'MINIO', 'cug', '215_校工会审核_f3c752d1.png', 'png', '44', '44.2 kB', '3b7caee281e29c602c60d25f0dbb6a2f.png', '/menu-icons/v4/3b7caee281e29c602c60d25f0dbb6a2f.png', '/platform/sys/file/download?id=3b7caee281e29c602c60d25f0dbb6a2f', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('4a97b1a9396b26c445ef930f29493015', 'MINIO', 'cug', '216_场地预约_26e7dc9c.png', 'png', '53', '53.2 kB', '4a97b1a9396b26c445ef930f29493015.png', '/menu-icons/v4/4a97b1a9396b26c445ef930f29493015.png', '/platform/sys/file/download?id=4a97b1a9396b26c445ef930f29493015', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('0a4136ea1398e76edef2aaae2fcf13a8', 'MINIO', 'cug', '217_普惠疗休养_68ac8d18.png', 'png', '45', '44.5 kB', '0a4136ea1398e76edef2aaae2fcf13a8.png', '/menu-icons/v4/0a4136ea1398e76edef2aaae2fcf13a8.png', '/platform/sys/file/download?id=0a4136ea1398e76edef2aaae2fcf13a8', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('842e0dce2c45f44751675860bb859d63', 'MINIO', 'cug', '218_疗休养报名_f30cfea5.png', 'png', '42', '42.4 kB', '842e0dce2c45f44751675860bb859d63.png', '/menu-icons/v4/842e0dce2c45f44751675860bb859d63.png', '/platform/sys/file/download?id=842e0dce2c45f44751675860bb859d63', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('69d455afdb1d6bee4d316344e52b8d18', 'MINIO', 'cug', '219_场地预约_f50b3389.png', 'png', '53', '53.2 kB', '69d455afdb1d6bee4d316344e52b8d18.png', '/menu-icons/v4/69d455afdb1d6bee4d316344e52b8d18.png', '/platform/sys/file/download?id=69d455afdb1d6bee4d316344e52b8d18', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('ab10e2a86d3e360f210464535ec12629', 'MINIO', 'cug', '220_学习教育平台_a0f47f6a.png', 'png', '43', '43.3 kB', 'ab10e2a86d3e360f210464535ec12629.png', '/menu-icons/v4/ab10e2a86d3e360f210464535ec12629.png', '/platform/sys/file/download?id=ab10e2a86d3e360f210464535ec12629', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('43448e1d37a564fb05d7fc3eb2651dfe', 'MINIO', 'cug', '221_普惠疗休养_b7c63f0c.png', 'png', '45', '44.5 kB', '43448e1d37a564fb05d7fc3eb2651dfe.png', '/menu-icons/v4/43448e1d37a564fb05d7fc3eb2651dfe.png', '/platform/sys/file/download?id=43448e1d37a564fb05d7fc3eb2651dfe', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('a8ee468acd66c5486f58d4593c46ac64', 'MINIO', 'cug', '222_疗休养报名_b7c63f0c.png', 'png', '42', '42.4 kB', 'a8ee468acd66c5486f58d4593c46ac64.png', '/menu-icons/v4/a8ee468acd66c5486f58d4593c46ac64.png', '/platform/sys/file/download?id=a8ee468acd66c5486f58d4593c46ac64', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('755643ca253b6fe42953aeac9b6f910b', 'MINIO', 'cug', '223_我的疗休养_d3020be8.png', 'png', '43', '42.8 kB', '755643ca253b6fe42953aeac9b6f910b.png', '/menu-icons/v4/755643ca253b6fe42953aeac9b6f910b.png', '/platform/sys/file/download?id=755643ca253b6fe42953aeac9b6f910b', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('000c9c07dc2f9b4013aab7cdc092b593', 'MINIO', 'cug', '224_分工会审核_80734d95.png', 'png', '44', '44.0 kB', '000c9c07dc2f9b4013aab7cdc092b593.png', '/menu-icons/v4/000c9c07dc2f9b4013aab7cdc092b593.png', '/platform/sys/file/download?id=000c9c07dc2f9b4013aab7cdc092b593', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('1a6d2f1a594ab7860c0f15008c60c314', 'MINIO', 'cug', '225_校工会审核_08793469.png', 'png', '44', '44.2 kB', '1a6d2f1a594ab7860c0f15008c60c314.png', '/menu-icons/v4/1a6d2f1a594ab7860c0f15008c60c314.png', '/platform/sys/file/download?id=1a6d2f1a594ab7860c0f15008c60c314', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('d44ecddd34378a79f7da58e23cd3c8a6', 'MINIO', 'cug', '226_学习教育平台_3af0f040.png', 'png', '43', '43.3 kB', 'd44ecddd34378a79f7da58e23cd3c8a6.png', '/menu-icons/v4/d44ecddd34378a79f7da58e23cd3c8a6.png', '/platform/sys/file/download?id=d44ecddd34378a79f7da58e23cd3c8a6', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('f8482973e06e66b0db234cf6380b7d95', 'MINIO', 'cug', '227_学习教育首页_82946217.png', 'png', '43', '43.3 kB', 'f8482973e06e66b0db234cf6380b7d95.png', '/menu-icons/v4/f8482973e06e66b0db234cf6380b7d95.png', '/platform/sys/file/download?id=f8482973e06e66b0db234cf6380b7d95', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('b84d1af3a4484c1b39365979fae6c585', 'MINIO', 'cug', '228_我的学习_3e9a7611.png', 'png', '42', '42.0 kB', 'b84d1af3a4484c1b39365979fae6c585.png', '/menu-icons/v4/b84d1af3a4484c1b39365979fae6c585.png', '/platform/sys/file/download?id=b84d1af3a4484c1b39365979fae6c585', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('68ac60361c0f193cc355110c0b0f2b6d', 'MINIO', 'cug', '229_荣誉台账_47a997dc.png', 'png', '47', '47.0 kB', '68ac60361c0f193cc355110c0b0f2b6d.png', '/menu-icons/v4/68ac60361c0f193cc355110c0b0f2b6d.png', '/platform/sys/file/download?id=68ac60361c0f193cc355110c0b0f2b6d', NULL, NULL, '', 1785921322195, '', 1785921322195, 0),
('ca3fececdab634c789e2f1d162ec62ba', 'MINIO', 'cug', '230_荣誉展示_2a93542d.png', 'png', '47', '47.0 kB', 'ca3fececdab634c789e2f1d162ec62ba.png', '/menu-icons/v4/ca3fececdab634c789e2f1d162ec62ba.png', '/platform/sys/file/download?id=ca3fececdab634c789e2f1d162ec62ba', NULL, NULL, '', 1785921322195, '', 1785921322195, 0)
ON DUPLICATE KEY UPDATE
`engine` = VALUES(`engine`),
`bucket` = VALUES(`bucket`),
`name` = VALUES(`name`),
`suffix` = VALUES(`suffix`),
`sizeKb` = VALUES(`sizeKb`),
`sizeInfo` = VALUES(`sizeInfo`),
`objName` = VALUES(`objName`),
`storagePath` = VALUES(`storagePath`),
`downloadPath` = VALUES(`downloadPath`),
`updatedAt` = VALUES(`updatedAt`),
`delFlag` = 0;
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=57ef8603692af334526e191c1e81301e', `updatedAt` = 1785921322195 WHERE `id` = '2e6f393072904de3a80b10a00d3eeea5';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=8b152a98cf83bc6c20d2bb488fc48515', `updatedAt` = 1785921322195 WHERE `id` = '64ace2097a0341c8ba2da1961cda671f';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=e4cf62b0ac16798727612b74fbabac4d', `updatedAt` = 1785921322195 WHERE `id` = 'eb18aa5741e64ce0bcaa824119d720a8';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=a8c6f9352f56519b4914ca02ab274242', `updatedAt` = 1785921322195 WHERE `id` = '835cb68e14e74f7bbf6cf5a1e0659a26';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=2b74945f5c0741be5a67be574c4eb3d3', `updatedAt` = 1785921322195 WHERE `id` = '10ebaa5b633f42bf9f8768a942c53fb5';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=c4817a606d8e722e939811cdb8bb0208', `updatedAt` = 1785921322195 WHERE `id` = 'e7cf2f56415f4e1dacfb415b42045d4c';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=7d0d5d3f95faf51875c8cebf5ef23181', `updatedAt` = 1785921322195 WHERE `id` = '40a293cce5474cb58503435cb5a2fb14';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=a472973503af14a20ae0f8f1c7d03634', `updatedAt` = 1785921322195 WHERE `id` = '2666d0aeb0a84c15bcbb7802433e0070';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=8462dbea71f06a7257864c9bb77c7f9e', `updatedAt` = 1785921322195 WHERE `id` = 'ea574347b35a4c68bd02dc1cd2eb9e5f';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=823b3b7f7707774625bb7fe9f5ebc416', `updatedAt` = 1785921322195 WHERE `id` = '9441d18cd87f48d0b9f49d9f7103e55b';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=4b0a707d816c0f3abc6ff7fc3092e819', `updatedAt` = 1785921322195 WHERE `id` = '44a59a2b8a6b48efa35eda8b16558a26';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=3ea367f14cfd98eddb8e3fd685371fad', `updatedAt` = 1785921322195 WHERE `id` = '1c2aee7dc9cc4ef1b2977d1f1013cc16';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=6f35cd276d38e408522f4411a972ba9f', `updatedAt` = 1785921322195 WHERE `id` = '11db68564eba499da35d9d5fbdf63874';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=efe85251bd9233d4c8d7e7f0fd17c17d', `updatedAt` = 1785921322195 WHERE `id` = 'd5d7964e86c54a8e993f59fa78186e9d';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=827b20f69981eadcab0af82c6853e899', `updatedAt` = 1785921322195 WHERE `id` = 'c44115254326463682aba8ddd7f58c5b';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=b054908747aa76d3bbc2f94072ecdea9', `updatedAt` = 1785921322195 WHERE `id` = 'eb4ed857e2da407981f60e29206b25f8';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=4a7ed34b91ecfa20f52055d031beac71', `updatedAt` = 1785921322195 WHERE `id` = 'c4b99724f4bc46be97608a10d84d7020';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=81ffd7b1eb7b13353557efdce30a7ee2', `updatedAt` = 1785921322195 WHERE `id` = '56835d074f3243f4b89b5cbb6cb92dfc';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=5221f202257e65e39602d70d218c41b7', `updatedAt` = 1785921322195 WHERE `id` = '304278a0ce2e49ac94758e49ce863170';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d60339858c907ede5bce05d675de9819', `updatedAt` = 1785921322195 WHERE `id` = '2b9b7227466c4889a314a8bc0236fd84';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=0718d029aeaf7fbf5fbf7442f885c116', `updatedAt` = 1785921322195 WHERE `id` = 'ff182281b3284863b13135f08407b5aa';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=8370b80ebdf5dd5b85a8ba065a6b2133', `updatedAt` = 1785921322195 WHERE `id` = '7c79171d88654fc996b2d1eeb93b75d9';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=9d3927e91ed007875a001344f061039a', `updatedAt` = 1785921322195 WHERE `id` = '32a51579ed594d3d9c272e3377110635';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d030abf3da1bf8c00d93e78586f4a9bc', `updatedAt` = 1785921322195 WHERE `id` = '6bdef282dac0405e9738fb159e1a2d46';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=822abad93728db1326baa27b4f2dbe04', `updatedAt` = 1785921322195 WHERE `id` = 'eeaf336622364a178392c20cfbd6bb0b';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=541f9d25077780099d4e4594bea2bb4e', `updatedAt` = 1785921322195 WHERE `id` = 'b27178ff03df4fdbab5feeea0224a992';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=47148702a76cc6ea8e7807ac5d5eb6e1', `updatedAt` = 1785921322195 WHERE `id` = '87611b6d78bb490080f3456c53a99e07';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d4e6b7275313903fb7ff9f40046f9ed6', `updatedAt` = 1785921322195 WHERE `id` = 'd0ee5ab9fa3247cf813514a88437536f';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=153ee7433a7b441bcf0df449a93cf07a', `updatedAt` = 1785921322195 WHERE `id` = 'af963d19d77a452db436174332231cb3';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=88d0311f37bd0d4afb15d3e7e1321dae', `updatedAt` = 1785921322195 WHERE `id` = 'f7a890c73c4545aeb8009de7b552f5e6';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=481b4f5262903cbc2a4c4be16144356d', `updatedAt` = 1785921322195 WHERE `id` = '41410dbe4ae34a82b982bae5b11665a8';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=43edf5cc953088145c381e89d1a2dbe5', `updatedAt` = 1785921322195 WHERE `id` = '5e0c533552d94e189f3e9ed0b847eb97';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=00a707dc661b56698cfa957da4d635e3', `updatedAt` = 1785921322195 WHERE `id` = 'b8bcaa94ac2d45b88c796626bb42cf99';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d8cf0cffdced461cc4ba8fa4314b35de', `updatedAt` = 1785921322195 WHERE `id` = '7af124e126044917920a39382666d488';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=b269cb65dc856cd4fe21fa05de4fd27e', `updatedAt` = 1785921322195 WHERE `id` = '2de433e4f8494cd3bcd86a4d5f7931e2';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=67dc9fac0d11849f8648dae234270135', `updatedAt` = 1785921322195 WHERE `id` = '840648058ebf48e3a294fdbdb9b3453a';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=a34ed81f00b2edf70da74dbb8d6b8c99', `updatedAt` = 1785921322195 WHERE `id` = 'dbd21f6b79434b34b7369df7a48589a4';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=fcbef87b9f75c924b06fff2a03246b42', `updatedAt` = 1785921322195 WHERE `id` = 'e585d2cac7ef4b6ba7ca61a1ad663c59';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=ba467095d0ccc678e34979ba679ea020', `updatedAt` = 1785921322195 WHERE `id` = '7e2b850c0934472282805f5fddaefa87';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=b189ac3e64ea6b43a86324a2a57b0595', `updatedAt` = 1785921322195 WHERE `id` = '8f27ac9fd7f644edba46868204b5ede2';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=0e14db530463cbcdeb4f23712ce75226', `updatedAt` = 1785921322195 WHERE `id` = '313842fc6f5c4d589658a9d0fc0f25b7';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=e05e3b438130ad43908f64bca84ccd4f', `updatedAt` = 1785921322195 WHERE `id` = 'dcf6c19011a9481898eb5277f24e885a';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=9436a2f85765993e4c11c53564d3d57f', `updatedAt` = 1785921322195 WHERE `id` = '13d50644bc8141ae8e32a0b11e90045d';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=5ab1059bf731e1a99e5821b16b60f815', `updatedAt` = 1785921322195 WHERE `id` = 'c547be26c12c41199dfff259a4c039ca';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=e10382c1b724f394a34d2ee7f4c1a4b3', `updatedAt` = 1785921322195 WHERE `id` = 'f3ae0a075cd94d24b0bc1d4aec5565f7';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=ec82746b31fc662da299baa4e4546323', `updatedAt` = 1785921322195 WHERE `id` = '00448f6955cd441c8677dc2eca12006b';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=fad8a880d74a74d77cd4f5a5dfab809b', `updatedAt` = 1785921322195 WHERE `id` = '024811fd168e44948e6ab84911fc26bb';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=a14e00ff8a03f307243ce45bcb5b8c5d', `updatedAt` = 1785921322195 WHERE `id` = '9bfd257eb7974763a1035a5c82b966f7';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=67e6671dc1f2220c7e10bfc62e3675b1', `updatedAt` = 1785921322195 WHERE `id` = '7492992ba3564d35938d133d7191bb0e';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=b3e5125f364f35a8dabaa5e7dcc46516', `updatedAt` = 1785921322195 WHERE `id` = '330e42e0ae914f5392b96fb933f17b5b';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d04a2c47e9c184a4d044abd7526013cb', `updatedAt` = 1785921322195 WHERE `id` = '87a2dcfac0da4ec4870b65693807a4d1';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=2acd67f07be21392efbd9951243d438d', `updatedAt` = 1785921322195 WHERE `id` = 'c269f94a5c8a4a4a8c8de0bb8f8f9f9a';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=036d3ba76739b6e8263087ec7a4fe0f5', `updatedAt` = 1785921322195 WHERE `id` = '6ddda19192c04f48ad76a507cd2e2c39';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=34d7aa98a4e1bed661d925e6c6010045', `updatedAt` = 1785921322195 WHERE `id` = '3cf7ee61f2ed44d6838d92dea22d857b';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d450c3676e3934d873f00c938a44c20b', `updatedAt` = 1785921322195 WHERE `id` = '51b21e9744614be8805113293902a7ce';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d8d831521cae0d54bbe75360cc6db970', `updatedAt` = 1785921322195 WHERE `id` = '23d30124199b486d8af79aba62440b15';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=839524da718e966329e94e5db57e751f', `updatedAt` = 1785921322195 WHERE `id` = 'd736e4d7e8644cf38f248e7ad87ed6ad';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=487eb6c9241caeacd5dbe198b2fc29f5', `updatedAt` = 1785921322195 WHERE `id` = '35a9239d754c47b9afccce173cb72d64';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=1df1f8c9847f2f2f3fdbb031f5b9b49d', `updatedAt` = 1785921322195 WHERE `id` = 'd4cab4ba599041e4b2b89cb74e7e4f35';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=e3fbc1ce067437cce9ced286d053fb88', `updatedAt` = 1785921322195 WHERE `id` = '0a2bfc8579034908baf6d035a7b14e0a';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=5f5a11d2aabd670855a205115a132223', `updatedAt` = 1785921322195 WHERE `id` = 'c03fbf17e7094f5f9d174f694dc93131';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=f7093003078726bb6143f7ee3099ceef', `updatedAt` = 1785921322195 WHERE `id` = '56620c51729f4c59a69c03ba8f5a80fc';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=ebf8e926d86c3328ea6da6b6bb377344', `updatedAt` = 1785921322195 WHERE `id` = 'ef46a58794044c73a0d1197c7b6fe41c';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=1068cd8f373106ef19dd0e6f7ed5e0c5', `updatedAt` = 1785921322195 WHERE `id` = 'c6a2ec8dc2f84f2fbba9673797e10faa';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=2d4f07ed1e1ebb4f095cbbbcabe13963', `updatedAt` = 1785921322195 WHERE `id` = '7b21d46827e9451c84809b53c1c08e2b';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=63db1069887f9acf02edeaccb2a8c9ed', `updatedAt` = 1785921322195 WHERE `id` = '43f06636029a4f16b4a8a1007312d422';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=698e1fc9c201e611e8e7cebe9dadd8ef', `updatedAt` = 1785921322195 WHERE `id` = 'b6c224df9e6c4f678f931c9006a718f0';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=360b8b91280de12276c110201c8d7425', `updatedAt` = 1785921322195 WHERE `id` = '297400c803404aa2a34f38d276eaced0';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=25454e316e3d9cf3f1520797b507efd8', `updatedAt` = 1785921322195 WHERE `id` = 'aa0ffd36239f4a13b61419744fd3fbbb';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=cb46561b1e37852cbc90815ac66c3351', `updatedAt` = 1785921322195 WHERE `id` = '7dc21dca53184791b587d9c654dccfa3';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=e12a96173d033e50aafbcc9356c811c4', `updatedAt` = 1785921322195 WHERE `id` = '939595b4c6754cb483a7d65227844c6e';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d5d5832a552bf8d434b1c6debd777da4', `updatedAt` = 1785921322195 WHERE `id` = 'd073c1d866c0463ca571a658ee5c9760';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=7d27b774e627b02cda5df9f9970016f7', `updatedAt` = 1785921322195 WHERE `id` = '3f88a4f679fc4d78b9557055cc4bc1ae';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=fdbf15abdefc00b3388e5fadf9bd8740', `updatedAt` = 1785921322195 WHERE `id` = '8a77d32c8f9145f48f376e0886cefc59';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=00147780b5ad42a6b07c1ac54569792f', `updatedAt` = 1785921322195 WHERE `id` = '44423a17da734e318e69aa99560c81c0';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=c42ada04526004c863e50d3d17b6e408', `updatedAt` = 1785921322195 WHERE `id` = '3e10265306224ac18c4b4c7e3d7c92d0';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=3b9f9415e36b57b73d02ef674a9c7616', `updatedAt` = 1785921322195 WHERE `id` = 'ac2516a6788a4be98ffa44c5842568bb';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=09e04f045df284eaaf281c701a61ce65', `updatedAt` = 1785921322195 WHERE `id` = '59d6ba7c321a43548f04120ed1936d32';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=28c9f1b52e47184a9cba0dd3720fb9aa', `updatedAt` = 1785921322195 WHERE `id` = '6b5adca77c454fffbe112da4096a25d6';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=07ef4713927c1ff868c766c723ed1acc', `updatedAt` = 1785921322195 WHERE `id` = '575660216c844b23a1fb9ae526ec180c';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=76e0dd9b54251141b235975d31c05d12', `updatedAt` = 1785921322195 WHERE `id` = '1375120f807e4c5996f91ff77f043c59';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=857956ba68605f43198123ed76e46f34', `updatedAt` = 1785921322195 WHERE `id` = '2c61ac06b95d4b34a0e300782b4ac267';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=9d67a619eff5b7b45fe8676cb32091fe', `updatedAt` = 1785921322195 WHERE `id` = '893016b4db414bdb83eb33484c62f23a';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=12f9ae93e7b07a9b0f20f2556050ed6c', `updatedAt` = 1785921322195 WHERE `id` = 'dbaba7b31ae9484492c766286371a0be';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d52462ba5ec9b1373d739433de2da30c', `updatedAt` = 1785921322195 WHERE `id` = '898f95af62dc47f08ea29bbbfdf89337';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=3419504fe535f6888355d9275a72630b', `updatedAt` = 1785921322195 WHERE `id` = 'fb16e44eff3f4ce5b5ecccaa2c0f9528';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=0a244bf26674a5598cd3add153438045', `updatedAt` = 1785921322195 WHERE `id` = '42d1b0ccbf254dfba7513d713c1f1489';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=58f339cfa0455455027c304a61262293', `updatedAt` = 1785921322195 WHERE `id` = '811cf28ce73c478e8f6f22827ed8f2aa';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d3133639fcd76e0afc139536433f4082', `updatedAt` = 1785921322195 WHERE `id` = '57accf35655f40cb897917167bcad496';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=cef1ccb8a9cc8804e9c7ebe9a77228e3', `updatedAt` = 1785921322195 WHERE `id` = '05f829da70c541929e993968cf802a1c';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=221eb720d89330b020831977901ffb01', `updatedAt` = 1785921322195 WHERE `id` = 'a8966b0e0e174a8480a474979b6257b4';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=0ad363ca5afe42974bfadfedce3884ad', `updatedAt` = 1785921322195 WHERE `id` = '893a216d09b0443bb736708961cf2eeb';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=900335e540cc289670acc56a3f4efdc6', `updatedAt` = 1785921322195 WHERE `id` = '0c4ccaece05f45f8b0533cedb5ea0630';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=17d93eabe5550904da837191e873727c', `updatedAt` = 1785921322195 WHERE `id` = 'a112c7db9e554a39b73ca00fd3964d9e';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=fe57d48708f2d5775a4caf6ae9810885', `updatedAt` = 1785921322195 WHERE `id` = '23883f9ae2394684999611698f34c3d8';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=9eb136427ad27c9d7dcb3c8707722197', `updatedAt` = 1785921322195 WHERE `id` = 'e5851cdfc62b4623886b9608c42f2666';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=c6a18ba7ab1cced5ff8a143b508ac232', `updatedAt` = 1785921322195 WHERE `id` = 'abfbd5db63f14be0a51356e50f0bbe30';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=39ad45823ce67503b15d0e80baac5a90', `updatedAt` = 1785921322195 WHERE `id` = '99252619ec5e4072a98ac503fd869774';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=ac6ece2322ded47882503379cbdb11e4', `updatedAt` = 1785921322195 WHERE `id` = '6a54861491554fdc9cd83a49a580ad4f';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=ca34d08cc7be228497903791476a021c', `updatedAt` = 1785921322195 WHERE `id` = '4a764f7db2e7429ab5e348a6d81621db';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=023abe62c4dcba439ae559a117453f66', `updatedAt` = 1785921322195 WHERE `id` = 'c13558b09136482187b4725d4ed6936e';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=f1455ca7fd4317263281ac6cf41fc1ad', `updatedAt` = 1785921322195 WHERE `id` = 'f808e1e1453347e8a38cb4aa79a9e865';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=3f8884bf81ae83404e13cde55dcf79ed', `updatedAt` = 1785921322195 WHERE `id` = '6c3fcd1a66f44d8980214673959e46fe';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=c23849106f7cd6b4ebdd38ab7c736404', `updatedAt` = 1785921322195 WHERE `id` = '16388b3dd01440a180eca20da23bbcd9';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=e83e7cc6d1c9579d0c90d846123d4781', `updatedAt` = 1785921322195 WHERE `id` = 'dc2763927e3a4733a08969ab7bbd1390';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=e614a2a418affa90b4604d854bbe8f4f', `updatedAt` = 1785921322195 WHERE `id` = '50bf62d0b7da4c58a60884aeaa140fc2';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=256e79961efba17f049992fa79c44ddd', `updatedAt` = 1785921322195 WHERE `id` = '05f308a2897b424d9deb9aa6b713c779';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=5327c3f6de7725c98b4a847c820363fd', `updatedAt` = 1785921322195 WHERE `id` = 'd54c4078b7b748b9a19d49ac5f6aacfa';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=0e4100d9c4ea5176698a2345787c198c', `updatedAt` = 1785921322195 WHERE `id` = 'e04f9463a00e403eb0428f79c65d9ddc';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=b8f169e5778223784b9135af8a311524', `updatedAt` = 1785921322195 WHERE `id` = '5a994c0fceca4cdd9255ddbd8c902e93';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=0543f3f83e09ad659b9abcaefd08b94a', `updatedAt` = 1785921322195 WHERE `id` = 'bfd9983cd5924d189eef17ff250052bf';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=6a190139c0642e5364294b90a864858b', `updatedAt` = 1785921322195 WHERE `id` = 'd1abc76f12d44dae98dd3bb37945a205';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=337ecc73f2d4b46217a0037c2e7bb986', `updatedAt` = 1785921322195 WHERE `id` = '0d6c8aacf875487fb89a1ec0cbf76c52';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=98db42fa3b4eede3f6502aaaec1e8117', `updatedAt` = 1785921322195 WHERE `id` = '17c32edb450c4a8e8faf5c1fcf27684c';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d91ad1c8f455cc80e03380f2c55b5e7a', `updatedAt` = 1785921322195 WHERE `id` = '62b1effb0c0d4f48b2b3449fe3183626';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=8a129812d0f083d933bed9f7362ce3c2', `updatedAt` = 1785921322195 WHERE `id` = 'ed6f15a03f5240ffb142f4435b67d6cc';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=3c8e7767270938e6bedabb675947d36c', `updatedAt` = 1785921322195 WHERE `id` = '3f09df78e9c746569a0e6e62ea8beea4';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d9e86cfc1eba51102cc2a5067f669ce9', `updatedAt` = 1785921322195 WHERE `id` = '70b4f9a163e644b9a900612586b7d2e8';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=31b67a1b095a3e1e5dec07bb4377e87c', `updatedAt` = 1785921322195 WHERE `id` = '8f752c502e374ded8419fdbb16362814';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=29f151188867dd0b541b2998832e609d', `updatedAt` = 1785921322195 WHERE `id` = '22847e5583744d2298736b9d2a0e7211';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=c1f86c180293b8d8a33b733335c95d92', `updatedAt` = 1785921322195 WHERE `id` = 'ef93e3b96c57416c851c8a69bd220869';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=4a2284606c913e81a4a8ae4a30907fa1', `updatedAt` = 1785921322195 WHERE `id` = 'd34fa7359f974f5c81e21d2746fcca7e';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=750049c8122e723f2c05b07487dfcc41', `updatedAt` = 1785921322195 WHERE `id` = '94b6959991c74058b952f8bd0e0ebf81';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=7396484da3d72534752452bfcbcb0069', `updatedAt` = 1785921322195 WHERE `id` = '15156ec9f7364944aabea48475e1da80';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=c3dec28fc2456aac00b232004a37772b', `updatedAt` = 1785921322195 WHERE `id` = '3b49290f7db44130b9f6394a8212321f';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=eb7fbff546395e60c8175bea83b23ca5', `updatedAt` = 1785921322195 WHERE `id` = '5e024c7466c5462a80fe94f2fc89f129';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=c23fadfac6813aa9658850d21afe0522', `updatedAt` = 1785921322195 WHERE `id` = 'c08d85433007462db7efc429fe508a46';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=78cdcfded40ace970a47d5d3ee266cb4', `updatedAt` = 1785921322195 WHERE `id` = '261dd7f7fa3245c3937054e9792d8df0';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=355393c56fa8dfec6ca72e5bb3afb44e', `updatedAt` = 1785921322195 WHERE `id` = '9e0070b7abc84aa3a4577042e0b7c3e1';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d3f4bdad1fea1e72a254a76bf0031b5f', `updatedAt` = 1785921322195 WHERE `id` = '360f1c3f03764c47a852caf04216d7d1';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=a19a061c9150542eaf2c606b6ce7d5db', `updatedAt` = 1785921322195 WHERE `id` = 'a9d5ff1158c346769db5edd3f74bb3ba';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=73173ed918d2432883a2fc7ce7860acf', `updatedAt` = 1785921322195 WHERE `id` = '5f2c021818d54988b10b065a6ddd3d0b';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=0cb7972d868debcea8cbaaec8c031ecd', `updatedAt` = 1785921322195 WHERE `id` = '10ecb801ca664453bcfdb6a1bd9fd04d';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=1bab0b87dda87cce3b9d2e399834cbd4', `updatedAt` = 1785921322195 WHERE `id` = '5ae60a2c86e741ea92898945ad7f62b4';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=247977f8981b0d1ba3f66d5281758af3', `updatedAt` = 1785921322195 WHERE `id` = 'ca43757872164c3eabd43692f7102fba';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=25a37b6731412687cc139354516af951', `updatedAt` = 1785921322195 WHERE `id` = 'b0febdbf99634bb388f65f2b8d9d6b42';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=09e1b869c29991070515f5fb1decb1d5', `updatedAt` = 1785921322195 WHERE `id` = 'd11cf9fe9eed4a338d7caa0af2071ea7';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=72997cecb2555f50d1ea0bd52e2d82ae', `updatedAt` = 1785921322195 WHERE `id` = '04fd4ddf2cff4091aa64926350a60437';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=26a79287dbf7e1ca3c79332fb6285862', `updatedAt` = 1785921322195 WHERE `id` = '0c08a2e7690940d9a46044cfc3470d92';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=4830086adc28e0bf629d0ff9e2857f27', `updatedAt` = 1785921322195 WHERE `id` = '871f822c2884401498278b0a78b69da3';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=644a0d084ac071002407b4a0c2f53af0', `updatedAt` = 1785921322195 WHERE `id` = '612a4fa1142d426699ddb81c5b7e4e76';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=979bfcd302f91267653322b34656a0fe', `updatedAt` = 1785921322195 WHERE `id` = 'c8d0855a2aac4ca386d36976d0431cdd';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=667e2023287032849e9eed37bd96ffab', `updatedAt` = 1785921322195 WHERE `id` = 'c0ba4f08ed2e42f0887ea20d122757fb';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=784f730e392bf97e3c8e9eb78d57e200', `updatedAt` = 1785921322195 WHERE `id` = 'f148c76e8f2942dc86be645fdb7ab09c';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=1d7a71bdce09c3edc0a1e0b5b116ee0f', `updatedAt` = 1785921322195 WHERE `id` = 'b0cc19870a994b748f8d260088f7ffe7';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=c7d5a756835c5896d7d8c43cd02e77f5', `updatedAt` = 1785921322195 WHERE `id` = 'ca9e5652184e4c6aab3a8b953ef63e2a';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=ef15dcff1a44c021f83b87de5ba67c3e', `updatedAt` = 1785921322195 WHERE `id` = '093e1e2980544d288938b8a8da57d7f0';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=9c004bc15efc7133ecdc2fdeade39757', `updatedAt` = 1785921322195 WHERE `id` = '519c8f5ab43840c7903b4d80ac41ac51';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=3f74d543dd457b89ff633f9758534a13', `updatedAt` = 1785921322195 WHERE `id` = '73df1dda0e7a4188b9fa4522fc6ef888';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=9be265f40e1fe24bf426c101f91c372e', `updatedAt` = 1785921322195 WHERE `id` = 'cf47b9d67dd34b94b8424a62371ed966';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=f56d4722eba8c35c7ad17eaee09957da', `updatedAt` = 1785921322195 WHERE `id` = 'e08ff1792e7849d1b97981f3583a0abe';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=1773284fda8bb61676c591a12fe59cc0', `updatedAt` = 1785921322195 WHERE `id` = '69280dbb3e024e558e22b834fa8249c7';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=1f362f5b49109756b1cd3e98e0d51cf2', `updatedAt` = 1785921322195 WHERE `id` = '0868f8b6f0a44fb7951c2c323ee1cd63';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=50ab45f2d7b1159dd41452711b69b12e', `updatedAt` = 1785921322195 WHERE `id` = 'c97ad132a4374e01ad39e5e089d08c43';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=3cc65760857ae6336d9c3556af831096', `updatedAt` = 1785921322195 WHERE `id` = '788400d0f7eb47edb795d41c460b14b8';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=58b5c2e00fe8a4cc907a9319638c455b', `updatedAt` = 1785921322195 WHERE `id` = 'c1709519e07946389a026905a1db5900';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=8aba95b4264509993101f56165c5230e', `updatedAt` = 1785921322195 WHERE `id` = 'b759a93a16ef4037880efa23d48f49b5';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=694bf29f0b31bb6cc39fe628596fcf10', `updatedAt` = 1785921322195 WHERE `id` = '91d79e0f4e464f298e7a6b37217386d3';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=2096b1f5b2dd220708caa011807e760b', `updatedAt` = 1785921322195 WHERE `id` = '737e57a39bae490e9c877d6e7453b046';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=58e2294be4fc14f163dfa8648e1d7766', `updatedAt` = 1785921322195 WHERE `id` = '33e81fa045e248b19381abaee38f45ee';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=c8f85b0da4d6934b6c4daa3bfaf6b4fe', `updatedAt` = 1785921322195 WHERE `id` = '77c8af32767644af914d16689e98948b';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=5aa7fee7e955f392f4348ed76dec3a96', `updatedAt` = 1785921322195 WHERE `id` = '1f917af28825403385cb385fc7e7bca0';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=3993212bfb4c32fd116309ac74a02caf', `updatedAt` = 1785921322195 WHERE `id` = 'd6132ff0c9534f7783cfda81ff60b5fd';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=8e01489dd693caea1c6ad1605a8b9496', `updatedAt` = 1785921322195 WHERE `id` = '1c643efa45d148d0b519938b2b282436';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=7e99bec530b0d1c4a23060ab2f46ba10', `updatedAt` = 1785921322195 WHERE `id` = 'e9e46237b841469585a77f8432edd55d';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=f2fe436890ce5f92128f3520780ca3a8', `updatedAt` = 1785921322195 WHERE `id` = '82356ff2bacf4821916cb42406f2552e';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=39ba4b1f22b31ef85b10125cb1745d0f', `updatedAt` = 1785921322195 WHERE `id` = '4026680943ef441082a363de91927390';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=459acd2ff8c33f855a77a03d1994854e', `updatedAt` = 1785921322195 WHERE `id` = '09abd6b8afbc48349490717c3d05707e';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d592100d662b25fe14c546725a7eaf3b', `updatedAt` = 1785921322195 WHERE `id` = '396309f21f5441b78b42de12aaa4c273';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=39dc023de0c0ef3df9035b84246c35fc', `updatedAt` = 1785921322195 WHERE `id` = '6be01be55b4347c599e43e66dfbef173';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d4c3f3f8efe2ce8c8ea3beb4409918e3', `updatedAt` = 1785921322195 WHERE `id` = 'fe0ae2a7d5fc4432996e3b8c369f0a18';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=21267a6fa768ee7eeedf7dba980616f4', `updatedAt` = 1785921322195 WHERE `id` = '31078d880fed42209331c69c580458c5';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=0199cc2d1f8eff511c2038571f2bbb8b', `updatedAt` = 1785921322195 WHERE `id` = '32bd9853db494301bb59757a55dc1c5d';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=837a9b8aad0e1eadceaa693dfa8e19e1', `updatedAt` = 1785921322195 WHERE `id` = 'a4cfdc91e93d4f16aeddaf27176955c5';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=a7d265dfed93cf79fca45e88bd4248ff', `updatedAt` = 1785921322195 WHERE `id` = 'fac7e9f536f94033805173e16fb6f259';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=cc24c0a16a35354f332aff2b2023f0e5', `updatedAt` = 1785921322195 WHERE `id` = 'd7c6c17eb29142b38133984ee90dacb2';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=648d406bbbf0e32c082f02cf317bc48c', `updatedAt` = 1785921322195 WHERE `id` = '946104dc00ba4709acb9ec3d1abd3239';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=49c4c2480f2027792674edaf6f40fed4', `updatedAt` = 1785921322195 WHERE `id` = 'f6485820d6b54204a35c9a5ef9e5d0dc';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=10903a2e44417f9d20c548e3424dd457', `updatedAt` = 1785921322195 WHERE `id` = '1287eb24e288460ab2651ba9c29ace32';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=486385e3da464ace8cf812de8a460761', `updatedAt` = 1785921322195 WHERE `id` = '321fa0c856f54a14993bed58cc1a95bc';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=88e8b7b022ed0c2929615bfedd231e45', `updatedAt` = 1785921322195 WHERE `id` = '1ddecadaa25c47beaef2998c278d928a';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=1a174db6bdd59b2d7e98dadf52f7f854', `updatedAt` = 1785921322195 WHERE `id` = '3f09f8a9beb644229094e6aa1bce52b6';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d7cb87646b1579a51daff50de1c4747c', `updatedAt` = 1785921322195 WHERE `id` = 'b8817cce3ae34d49844a7ea8d8b15f3f';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=5edf99eb06031a98bc0f23b03f89bde1', `updatedAt` = 1785921322195 WHERE `id` = '509423f4ae6e48a884ac55fa9be0b7ec';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=2b9fa4f9ab358355cbaf7aa9835556ef', `updatedAt` = 1785921322195 WHERE `id` = 'e658f630b96e4774881abcf49d6780e7';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=c88694f42e0203e48d3e49f6e5e066a8', `updatedAt` = 1785921322195 WHERE `id` = '895089b920a548a9902d120c6b912d2c';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=7fec918647b9b82d4b37e2ded5cc3273', `updatedAt` = 1785921322195 WHERE `id` = '6bb151be653e49d696e385fe34fc5a17';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=2589108c8f9cdb1a6bf2d3c82dbd153d', `updatedAt` = 1785921322195 WHERE `id` = 'e8d1ced00a1c480eaf0db5f4573763c4';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=76bf9528e92883a0aacb4400b5d7898b', `updatedAt` = 1785921322195 WHERE `id` = '6784436e45124205a465dcb9f0326b1d';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=1db9ddb3a212eb2438b5aa68b4aa4f98', `updatedAt` = 1785921322195 WHERE `id` = '36e59aa2bca64ffb99b7445c14f03489';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=56942a1f6017780c63c8a46b9d465730', `updatedAt` = 1785921322195 WHERE `id` = '5a90e1f8263c49f5970389fc19b741ea';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=289c29aa7f973929396074fb0a68ee7b', `updatedAt` = 1785921322195 WHERE `id` = 'c3886b5f4e24430ea05cf1851f8b8f2c';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=e538eee29c37357a259c7064eca89482', `updatedAt` = 1785921322195 WHERE `id` = '6d2535e3117942808813ea213163c47c';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=df0c51dbe984b21bf17c2b70b7a0953b', `updatedAt` = 1785921322195 WHERE `id` = 'fbe27890530743598216d902b2a0c915';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d127deb847eb5c3ddb66546452457d56', `updatedAt` = 1785921322195 WHERE `id` = '81567260a1ef4efd85bcbc6618766e76';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=91cdf49b7528eec7344a52c556bbbac1', `updatedAt` = 1785921322195 WHERE `id` = 'f12f0f8d012143d38c0080272ed887ff';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=62c85d34b7c83331fdc622b82ee31305', `updatedAt` = 1785921322195 WHERE `id` = 'ac32facf5b0c4c6485599a5be90350ed';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=84786acc1aa4752f9ed27d6ae05b9845', `updatedAt` = 1785921322195 WHERE `id` = '1f9e482ccebd41c182f6dca84f14f668';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d164401cedd27b5e988a6728b167ebf9', `updatedAt` = 1785921322195 WHERE `id` = '3d6a88f3d9de4cc7b7862c2881b7963b';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d15593858ee9e3e4740752796f0f094d', `updatedAt` = 1785921322195 WHERE `id` = 'fd9a298afb7f46aab3d2796c42da8e68';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=98049319f4d8dfd8f1600693df033a92', `updatedAt` = 1785921322195 WHERE `id` = '7a5c41f2e76a4d5ebfb6b19df7983fd2';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=e0be9482d60c2ce23d45dccf7b92b4ac', `updatedAt` = 1785921322195 WHERE `id` = '93487f22face4e18887d90154b70094a';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=c1d91269cb25ca1cdeec60480ed2bf17', `updatedAt` = 1785921322195 WHERE `id` = 'c2f9569ea8f742f8869e2a2faf8666a7';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=81537f82c536315f07c123f0648f0520', `updatedAt` = 1785921322195 WHERE `id` = '51b1e376ee6644eb8629b30857f96f27';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=43d984e35c070aeef9e02a6948ce0f13', `updatedAt` = 1785921322195 WHERE `id` = '72e8f153e0ed40439c97e0bef43afb1e';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d89c1c55b52118f5383ac8556041a192', `updatedAt` = 1785921322195 WHERE `id` = 'a993711d11e444f1a7c08589a4497690';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=651318033c80de8942937333a27bd181', `updatedAt` = 1785921322195 WHERE `id` = '5cc02dac08c746bf965b4c441f5b7fb5';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=9098831f78c6f63f34c47f50601cbf28', `updatedAt` = 1785921322195 WHERE `id` = '86dda8e2d0ab4703b6933c45b6705cf4';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=25f386be14f1bd2ff927466933513668', `updatedAt` = 1785921322195 WHERE `id` = '3668daf0338a479985f455c8e61d6558';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=a9d83741ede7ab47a93e60f19805d47c', `updatedAt` = 1785921322195 WHERE `id` = '5ba858277fa44aaf958b32055468f52a';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=7bba23aa9d61198c66cd8977dbdf0ae2', `updatedAt` = 1785921322195 WHERE `id` = '0a9fab6f3ac84d8c95b08a05aa8a19fc';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=fde27ef077ff704c35dc2f7502ebfa9e', `updatedAt` = 1785921322195 WHERE `id` = 'e3399da9b2a64b28846e4f50df3cc4dd';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=0fe41721790a452cec7765a8442d25bc', `updatedAt` = 1785921322195 WHERE `id` = '8bfae2e4dabb48528ee64963b7112d61';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=964516a2efab750738d553a978f14e9e', `updatedAt` = 1785921322195 WHERE `id` = 'a58a5431a08e402eb6adc5e14eec1cb5';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=3b7caee281e29c602c60d25f0dbb6a2f', `updatedAt` = 1785921322195 WHERE `id` = 'f3c752d16ca74e06acf859b9a3a08188';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=4a97b1a9396b26c445ef930f29493015', `updatedAt` = 1785921322195 WHERE `id` = '26e7dc9c76694fb0837237b071bc4a03';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=0a4136ea1398e76edef2aaae2fcf13a8', `updatedAt` = 1785921322195 WHERE `id` = '68ac8d18e53b43e1829274c17836df6d';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=842e0dce2c45f44751675860bb859d63', `updatedAt` = 1785921322195 WHERE `id` = 'f30cfea57bc44aac88824ee6fa0803ee';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=69d455afdb1d6bee4d316344e52b8d18', `updatedAt` = 1785921322195 WHERE `id` = 'f50b3389bbed484ebe3098745371e511';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=ab10e2a86d3e360f210464535ec12629', `updatedAt` = 1785921322195 WHERE `id` = 'a0f47f6a6d734c8b9c6ce5c0dfd80001';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=43448e1d37a564fb05d7fc3eb2651dfe', `updatedAt` = 1785921322195 WHERE `id` = 'b7c63f0c73a44a9a8c4f3d3bb1a10001';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=a8ee468acd66c5486f58d4593c46ac64', `updatedAt` = 1785921322195 WHERE `id` = 'b7c63f0c73a44a9a8c4f3d3bb1a10006';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=755643ca253b6fe42953aeac9b6f910b', `updatedAt` = 1785921322195 WHERE `id` = 'd3020be8291342538d40aa8f1ae7813f';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=000c9c07dc2f9b4013aab7cdc092b593', `updatedAt` = 1785921322195 WHERE `id` = '80734d9573e34285859c5fcd70d60fe1';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=1a6d2f1a594ab7860c0f15008c60c314', `updatedAt` = 1785921322195 WHERE `id` = '08793469d707454eb7a692b13609230b';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=d44ecddd34378a79f7da58e23cd3c8a6', `updatedAt` = 1785921322195 WHERE `id` = '3af0f040336741ff9dd754ccd83ab325';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=f8482973e06e66b0db234cf6380b7d95', `updatedAt` = 1785921322195 WHERE `id` = '82946217f37e466d87f123c6987991e1';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=b84d1af3a4484c1b39365979fae6c585', `updatedAt` = 1785921322195 WHERE `id` = '3e9a7611fa96490d8adc393387b1d65a';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=68ac60361c0f193cc355110c0b0f2b6d', `updatedAt` = 1785921322195 WHERE `id` = '47a997dcc93945b293f725d7171ff418';
UPDATE `sys_menu` SET `picIcon` = '/platform/sys/file/download?id=ca3fececdab634c789e2f1d162ec62ba', `updatedAt` = 1785921322195 WHERE `id` = '2a93542d26c140e79e615edaa4ddda58';
COMMIT;
+79
View File
@@ -0,0 +1,79 @@
-- 风采墙栏目表,适用于 MySQL 8。
CREATE TABLE IF NOT EXISTS `spread_category` (
`id` varchar(32) NOT NULL COMMENT 'ID',
`parentId` varchar(32) NOT NULL DEFAULT '0' COMMENT '父栏目ID0表示顶级栏目',
`name` varchar(100) NOT NULL COMMENT '栏目名称',
`code` varchar(50) DEFAULT NULL COMMENT '栏目编码(兼容预置数据,页面无需维护)',
`sortOrder` int NOT NULL DEFAULT 255 COMMENT '排序,数值越小越靠前',
`visible` tinyint NOT NULL DEFAULT 1 COMMENT '是否可见:0否,1是',
`slider` tinyint NOT NULL DEFAULT 0 COMMENT '是否参与轮播:0否,1是',
`createdBy` varchar(32) DEFAULT NULL COMMENT '创建人',
`createdAt` bigint DEFAULT NULL COMMENT '创建时间',
`updatedBy` varchar(32) DEFAULT NULL COMMENT '修改人',
`updatedAt` bigint DEFAULT NULL COMMENT '修改时间',
`delFlag` tinyint NOT NULL DEFAULT 0 COMMENT '删除标记',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_spread_category_code` (`code`),
KEY `idx_spread_category_parent` (`parentId`),
KEY `idx_spread_category_visible_sort` (`visible`, `sortOrder`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='风采墙栏目';
-- 风采墙内容表。
CREATE TABLE IF NOT EXISTS `spread_content` (
`id` varchar(32) NOT NULL COMMENT 'ID',
`categoryId` varchar(32) NOT NULL COMMENT '栏目ID',
`categoryName` varchar(100) NOT NULL COMMENT '栏目名称',
`unionId` varchar(32) DEFAULT NULL COMMENT '所属工会ID',
`unionName` varchar(100) DEFAULT NULL COMMENT '所属工会名称',
`title` varchar(300) NOT NULL COMMENT '标题',
`subTitle` varchar(255) DEFAULT NULL COMMENT '副标题',
`summary` varchar(1000) DEFAULT NULL COMMENT '摘要',
`contentBody` longtext COMMENT 'HTML正文',
`thumbUrl` varchar(1000) DEFAULT NULL COMMENT '封面图',
`sliderImages` longtext COMMENT '轮播图片JSON',
`isTop` tinyint NOT NULL DEFAULT 0 COMMENT '是否置顶',
`isRecommend` tinyint NOT NULL DEFAULT 0 COMMENT '是否推荐',
`isHeadline` tinyint NOT NULL DEFAULT 0 COMMENT '是否头条',
`viewCount` int NOT NULL DEFAULT 0 COMMENT '浏览量',
`sortOrder` int NOT NULL DEFAULT 255 COMMENT '排序',
`isPublished` tinyint NOT NULL DEFAULT 0 COMMENT '是否发布',
`publishedAt` bigint DEFAULT NULL COMMENT '发布时间',
`createdBy` varchar(32) DEFAULT NULL COMMENT '创建人',
`createdAt` bigint DEFAULT NULL COMMENT '创建时间',
`updatedBy` varchar(32) DEFAULT NULL COMMENT '修改人',
`updatedAt` bigint DEFAULT NULL COMMENT '修改时间',
`delFlag` tinyint NOT NULL DEFAULT 0 COMMENT '删除标记',
PRIMARY KEY (`id`),
KEY `idx_spread_content_category` (`categoryId`),
KEY `idx_spread_content_union` (`unionId`),
KEY `idx_spread_content_publish` (`isPublished`, `publishedAt`),
KEY `idx_spread_content_top_sort` (`isTop`, `sortOrder`),
KEY `idx_spread_content_created` (`createdAt`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='风采墙内容';
-- 初始化栏目,仅在对应编码不存在时插入,脚本可重复执行。
INSERT INTO `spread_category`
(`id`, `parentId`, `name`, `code`, `sortOrder`, `visible`, `slider`, `createdBy`, `createdAt`, `updatedBy`, `updatedAt`, `delFlag`)
SELECT '9f5c0100000000000000000000000001', '0', '风采展示', 'style_wall', 1, 1, 1, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0
WHERE NOT EXISTS (SELECT 1 FROM `spread_category` WHERE `code` = 'style_wall');
INSERT INTO `spread_category`
(`id`, `parentId`, `name`, `code`, `sortOrder`, `visible`, `slider`, `createdBy`, `createdAt`, `updatedBy`, `updatedAt`, `delFlag`)
SELECT '9f5c0100000000000000000000000002', p.id, '劳模风采', 'model_worker_style', 1, 1, 1, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0
FROM `spread_category` p
WHERE p.code = 'style_wall'
AND NOT EXISTS (SELECT 1 FROM `spread_category` WHERE `code` = 'model_worker_style');
INSERT INTO `spread_category`
(`id`, `parentId`, `name`, `code`, `sortOrder`, `visible`, `slider`, `createdBy`, `createdAt`, `updatedBy`, `updatedAt`, `delFlag`)
SELECT '9f5c0100000000000000000000000003', p.id, '巾帼风采', 'women_style', 2, 1, 1, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0
FROM `spread_category` p
WHERE p.code = 'style_wall'
AND NOT EXISTS (SELECT 1 FROM `spread_category` WHERE `code` = 'women_style');
INSERT INTO `spread_category`
(`id`, `parentId`, `name`, `code`, `sortOrder`, `visible`, `slider`, `createdBy`, `createdAt`, `updatedBy`, `updatedAt`, `delFlag`)
SELECT '9f5c0100000000000000000000000004', p.id, '教工风采', 'faculty_style', 3, 1, 1, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0
FROM `spread_category` p
WHERE p.code = 'style_wall'
AND NOT EXISTS (SELECT 1 FROM `spread_category` WHERE `code` = 'faculty_style');
Binary file not shown.

After

Width:  |  Height:  |  Size: 985 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 628 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 708 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

@@ -0,0 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" fill="none">
<circle cx="64" cy="64" r="58" stroke="#F5222D" stroke-width="3"/>
<path d="M21 54A44 44 0 0 1 107 54" stroke="#F5222D" stroke-width="9" stroke-linecap="round"/>
<path d="M21 74A44 44 0 0 0 107 74" stroke="#F5222D" stroke-width="9" stroke-linecap="round"/>
<circle cx="64" cy="64" r="27" stroke="#F5222D" stroke-width="9"/>
<path d="M64 20V108" stroke="#F5222D" stroke-width="8" stroke-linecap="round"/>
</svg>

After

Width:  |  Height:  |  Size: 531 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 528 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 968 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 990 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 960 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 881 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 522 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 654 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 588 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 776 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 560 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 661 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 508 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

@@ -124,11 +124,71 @@ body {
}
.custom-list-loading {
background-color: unset;
min-width: 132px;
padding: 15px 12px 12px;
border-radius: 14px;
color: #666;
background-color: rgba(255, 255, 255, 0.98);
box-shadow: 0 6px 22px rgba(128, 72, 72, 0.08);
}
.custom-list-loading .van-icon {
font-size: 108px;
position: relative;
width: 88px;
height: 88px;
overflow: visible;
font-size: 88px;
}
.custom-list-loading .van-icon::before {
position: absolute;
inset: 6px;
border: 1px solid rgba(255, 112, 103, 0.24);
border-radius: 50%;
content: "";
}
.custom-list-loading .van-icon::after {
position: absolute;
top: 2px;
left: 41px;
width: 6px;
height: 6px;
border-radius: 50%;
background: #ff8c83;
box-shadow: 33px 37px 0 #ff6f68, -35px 21px 0 #ffb0a9;
content: "";
transform-origin: 3px 42px;
animation: smart-union-loading-orbit 1.8s linear infinite;
}
.custom-list-loading .van-icon__image {
position: absolute;
top: 50%;
left: 50%;
box-sizing: border-box;
width: 54px;
height: 54px;
padding: 5px;
border-radius: 50%;
background: rgba(255, 238, 236, 0.92);
object-fit: contain;
transform: translate(-50%, -50%);
}
@keyframes smart-union-loading-orbit {
to {
transform: rotate(360deg);
}
}
.custom-list-loading .van-toast__text {
margin-top: 4px;
color: #707070;
font-size: 11px;
font-weight: 500;
line-height: 18px;
white-space: pre-line;
}
.list-card {
Binary file not shown.

After

Width:  |  Height:  |  Size: 460 KiB

@@ -8,6 +8,10 @@ const commonUtil = {
"x-requested-with": "XMLHttpRequest"
}
})
// H5 页面按需注入统一的 Loading 与请求延迟处理,其他端保持原有行为。
if (typeof window !== "undefined" && typeof window.bindH5AxiosLoading === "function") {
window.bindH5AxiosLoading(axiosService)
}
//axios拦截器
axiosService.interceptors.response.use(
(response) => {
@@ -0,0 +1,634 @@
<template>
<div>
<van-action-sheet
v-model="visible"
class="activity-schedule-calendar"
:style="{ height: '78%' }"
:close-on-click-overlay="true"
title="活动日历"
closeable>
<div class="activity-schedule-calendar__body">
<div class="activity-schedule-calendar__month-bar">
<button type="button" class="activity-schedule-calendar__month-btn" @click="changeMonth(-1)">
<van-icon name="arrow-left"></van-icon>
</button>
<div class="activity-schedule-calendar__month-title">{{ currentYear }}{{ currentMonth }}</div>
<button type="button" class="activity-schedule-calendar__month-btn" @click="changeMonth(1)">
<van-icon name="arrow"></van-icon>
</button>
</div>
<div class="activity-schedule-calendar__weekdays">
<span v-for="item in weekdays" :key="item">{{ item }}</span>
</div>
<div class="activity-schedule-calendar__days">
<button
v-for="day in calendarDays"
:key="day.key"
type="button"
class="activity-schedule-calendar__day"
:class="{
'is-other-month': !day.currentMonth,
'is-selected': day.key === selectedDate,
'is-today': day.isToday
}"
@click="selectDay(day)">
<span>
<span class="activity-schedule-calendar__day-number">{{ day.day }}</span>
<small v-if="day.isToday" class="activity-schedule-calendar__today-label"></small>
</span>
<i v-if="day.status" class="activity-schedule-calendar__day-status" :class="'is-' + day.status"></i>
</button>
</div>
<div class="activity-schedule-calendar__legend">
<span><i class="is-solid"></i>已签到</span>
<span><i class="is-outline"></i>可签到</span>
<span><i class="is-muted"></i>未开始</span>
</div>
<div v-if="showMap" :id="mapContainerId" class="activity-schedule-calendar__map"></div>
<section class="activity-schedule-calendar__schedule-card">
<div class="activity-schedule-calendar__schedule-title">
{{ selectedDate ? selectedDate + ' 的活动时段' : '活动时段' }}
</div>
<div v-if="selectedTimes.length" class="activity-schedule-calendar__schedule-list">
<div v-for="item in selectedTimes" :key="item.id" class="activity-schedule-calendar__schedule-item">
<div class="activity-schedule-calendar__schedule-main">
<van-icon :name="item.isAttend === true ? 'checked' : 'clock-o'"></van-icon>
<div class="activity-schedule-calendar__schedule-copy">
<div class="activity-schedule-calendar__schedule-time">
{{ formatTime(item.courseStartTime) }} - {{ formatTime(item.courseEndTime) }}
</div>
<div v-if="row && row.courseLocation" class="activity-schedule-calendar__schedule-location">
<van-icon name="location-o"></van-icon>
<span>{{ row.courseLocation }}</span>
</div>
</div>
</div>
<span v-if="item.isAttend === true" class="activity-schedule-calendar__status is-success">已签到</span>
<button
v-else-if="canSignItem(item)"
type="button"
class="activity-schedule-calendar__sign-btn"
@click.stop="onSign(item)">签到</button>
<span v-else class="activity-schedule-calendar__status" :class="{
'is-ended': getScheduleStatus(item) === '已结束',
'is-progressing': getScheduleStatus(item) === '进行中'
}">
{{ getScheduleStatus(item) }}
</span>
</div>
</div>
<div v-else class="activity-schedule-calendar__empty">
<img src="/assets/mobile/img/activity/schedule-empty.png?v=20260821-transparent" alt="">
<div class="activity-schedule-calendar__empty-title">当天暂无签到时段</div>
<div class="activity-schedule-calendar__empty-desc">当前日期没有需要签到的活动安排</div>
</div>
</section>
</div>
</van-action-sheet>
<van-popup
v-model="signVisible"
round
closeable
:safe-area-inset-bottom="true"
:close-on-click-overlay="false"
:style="{ width: '80%', height: '66%' }"
get-container="#app"
@close="onSignClose">
<scan-code ref="scanCodeRef"></scan-code>
</van-popup>
</div>
</template>
<script>
module.exports = {
name: "ActivityScheduleCalendar",
props: {
moduleType: {
type: String,
default: "brand"
}
},
components: {
"scan-code": httpVueLoader("/components/plugins/sysScanCode/index.vue?v=" + new Date().getTime())
},
data() {
return {
visible: false,
row: null,
currentYear: new Date().getFullYear(),
currentMonth: new Date().getMonth() + 1,
selectedDate: "",
weekdays: ["日", "一", "二", "三", "四", "五", "六"],
selectCourseTime: null,
signVisible: false,
markerLayer: null,
map: null,
circle: null,
mapContainerId: "activityScheduleMap_" + Math.random().toString(36).slice(2)
}
},
computed: {
courseTimes() {
return this.row && Array.isArray(this.row.courseTimes) ? this.row.courseTimes : []
},
scheduleDateMap() {
const map = {}
this.courseTimes.forEach(item => {
const key = this.dateKey(item)
if (!key) return
if (!map[key]) map[key] = []
map[key].push(item)
})
return map
},
selectedTimes() {
return this.scheduleDateMap[this.selectedDate] || []
},
canSign() {
return !!(this.row && this.row.isSign === true && this.row.isMobileSign === true)
},
showMap() {
return !!(this.moduleType === "brand" && this.row && this.row.isMobileSign === true && this.row.signType === 3)
},
calendarDays() {
const firstDay = new Date(this.currentYear, this.currentMonth - 1, 1)
const startDate = new Date(this.currentYear, this.currentMonth - 1, 1 - firstDay.getDay())
const todayKey = this.formatDateKey(new Date())
return Array.from({ length: 42 }, (_, index) => {
const date = new Date(startDate.getFullYear(), startDate.getMonth(), startDate.getDate() + index)
const key = this.formatDateKey(date)
return {
key,
day: date.getDate(),
currentMonth: date.getFullYear() === this.currentYear && date.getMonth() + 1 === this.currentMonth,
isToday: key === todayKey,
status: this.getDayStatus(this.scheduleDateMap[key] || [])
}
})
}
},
methods: {
onOpen(row) {
this.row = row
const initialDate = this.formatDateKey(new Date())
const date = this.$moment(initialDate)
this.currentYear = date.year()
this.currentMonth = date.month() + 1
this.selectedDate = initialDate
this.visible = true
this.$nextTick(() => {
if (this.showMap) this.initMap()
})
},
dateKey(item) {
const value = item && (item.courseDate || item.courseStartTime)
return value ? this.$moment(value).format("YYYY-MM-DD") : ""
},
formatDateKey(date) {
const year = date.getFullYear()
const month = String(date.getMonth() + 1).padStart(2, "0")
const day = String(date.getDate()).padStart(2, "0")
return `${year}-${month}-${day}`
},
formatTime(value) {
return value ? this.$moment(value).format("HH:mm") : "--"
},
canSignItem(item) {
if (!this.canSign || !item || !item.courseStartTime || !item.courseEndTime) return false
const now = this.$moment()
return !now.isBefore(this.$moment(item.courseStartTime)) && !now.isAfter(this.$moment(item.courseEndTime))
},
getScheduleStatus(item) {
if (!item || !item.courseStartTime || !item.courseEndTime) return "待开始"
const now = this.$moment()
if (now.isBefore(this.$moment(item.courseStartTime))) return "待开始"
if (now.isAfter(this.$moment(item.courseEndTime))) return "已结束"
return "进行中"
},
getDayStatus(items) {
if (items.some(item => item.isAttend === true)) return "signed"
if (items.some(item => this.canSignItem(item))) return "available"
if (items.some(item => item.courseStartTime && this.$moment().isBefore(this.$moment(item.courseStartTime)))) return "pending"
return ""
},
changeMonth(offset) {
const date = new Date(this.currentYear, this.currentMonth - 1 + offset, 1)
this.currentYear = date.getFullYear()
this.currentMonth = date.getMonth() + 1
},
selectDay(day) {
this.selectedDate = day.key
if (!day.currentMonth) {
const date = this.$moment(day.key)
this.currentYear = date.year()
this.currentMonth = date.month() + 1
}
},
onSign(courseTime) {
this.selectCourseTime = courseTime
if (this.row.signType === 1) {
this.signVisible = true
this.$nextTick(() => this.$refs.scanCodeRef.init())
} else if (this.row.signType === 2) {
this.makeCode()
} else if (this.row.signType === 3 && this.moduleType === "brand") {
this.positionSign()
} else {
this.$toast("此签到模式正在升级中")
}
},
onSignClose() {
if (this.$refs.scanCodeRef) this.$refs.scanCodeRef.closeScan()
},
makeCode() {
const baseUrl = this.moduleType === "family"
? "/platform/family/mine/passiveScan"
: "/platform/trainSignUp/mine/passiveScan"
const content = jrQrcode.getQrBase64(baseUrl + "?id=" + this.selectCourseTime.id)
vant.ImagePreview([content])
},
positionSign() {
this.getLocation(coords => {
if (!coords) return
this.$axios.post("/platform/trainSignUp/mine/positionSign", {
timeId: this.selectCourseTime.id,
courseId: this.row.id,
lat: coords.lat,
lng: coords.lng
}).then(res => {
if (res.code === 0) {
this.selectCourseTime.isAttend = true
this.$toast("签到成功")
} else {
this.$toast(res.msg)
}
})
})
},
getLocation(callback) {
if (!navigator.geolocation) {
this.$toast("当前浏览器不支持定位功能")
callback(null)
return
}
const loading = vant.Toast.loading({ message: "获取定位中...", forbidClick: false, duration: 0 })
navigator.geolocation.getCurrentPosition(position => {
loading.close()
callback({ lat: position.coords.latitude, lng: position.coords.longitude })
}, error => {
loading.close()
const messageMap = {
1: "请允许浏览器获取位置信息",
2: "无法获取当前位置",
3: "定位超时,请重试"
}
this.$toast(messageMap[error.code] || "定位失败,请稍后重试")
callback(null)
}, { enableHighAccuracy: true, timeout: 10000, maximumAge: 60000 })
},
initMap() {
if (!this.row.courseLocationCoordinates || typeof TMap === "undefined") return
const position = JSON.parse(this.row.courseLocationCoordinates)
const center = new TMap.LatLng(position[0], position[1])
if (this.map) this.map.destroy()
this.map = new TMap.Map(this.mapContainerId, { zoom: 16, center })
this.markerLayer = new TMap.MultiMarker({
map: this.map,
geometries: [{ id: "activity", position: center }]
})
this.circle = new TMap.MultiCircle({
map: this.map,
geometries: [{ center, radius: this.row.radius || 100 }]
})
}
}
}
</script>
<style scoped>
.activity-schedule-calendar {
overflow: hidden;
border-radius: 18px 18px 0 0;
background: #f4f7fc;
}
.activity-schedule-calendar /deep/ .van-action-sheet__header {
height: 50px;
color: #1f2f43;
background: #fff;
font-size: 16px;
line-height: 50px;
}
.activity-schedule-calendar /deep/ .van-action-sheet__close {
top: 14px;
color: #7e899a;
font-size: 21px;
}
.activity-schedule-calendar__body {
height: 100%;
padding: 14px 14px 24px;
overflow-y: auto;
overflow-anchor: none;
box-sizing: border-box;
}
.activity-schedule-calendar__month-bar {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 12px;
}
.activity-schedule-calendar__month-btn {
display: flex;
width: 36px;
height: 36px;
padding: 0;
align-items: center;
justify-content: center;
border: 1px solid #edf1f6;
border-radius: 50%;
color: #263548;
background: #fff;
box-shadow: 0 5px 14px rgba(55, 85, 126, .08);
}
.activity-schedule-calendar__month-title {
color: #1f2f43;
font-size: 18px;
font-weight: 600;
}
.activity-schedule-calendar__weekdays,
.activity-schedule-calendar__days {
display: grid;
grid-template-columns: repeat(7, minmax(0, 1fr));
text-align: center;
}
.activity-schedule-calendar__weekdays {
margin-bottom: 5px;
color: #58677b;
font-size: 12px;
line-height: 28px;
}
.activity-schedule-calendar__day {
position: relative;
display: flex;
width: 38px;
height: 48px;
margin: 1px auto;
padding: 0;
align-items: center;
flex-direction: column;
justify-content: center;
border: 0;
color: #263548;
background: transparent;
font-size: 14px;
line-height: 1;
box-sizing: border-box;
}
.activity-schedule-calendar__day > span {
position: absolute;
top: 4px;
left: 50%;
transform: translateX(-50%);
z-index: 1;
display: flex;
width: 40px;
height: 40px;
align-items: center;
justify-content: center;
border-radius: 50%;
box-sizing: border-box;
}
.activity-schedule-calendar__day-number {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
line-height: 14px;
}
.activity-schedule-calendar__today-label {
position: absolute;
top: 2px;
right: 0;
left: 0;
color: #1989fa;
font-size: 10px;
line-height: 10px;
text-align: center;
}
.activity-schedule-calendar__day.is-other-month > span {
color: #bdc5d0;
}
.activity-schedule-calendar__day.is-selected > span {
flex: 0 0 40px;
width: 40px;
min-width: 40px;
height: 40px;
min-height: 40px;
color: #fff;
background: #1989fa;
box-shadow: 0 5px 12px rgba(25, 137, 250, .22);
}
.activity-schedule-calendar__day.is-selected .activity-schedule-calendar__today-label {
top: 2px;
color: #fff;
}
.activity-schedule-calendar__day-status {
position: absolute;
bottom: -3px;
left: 50%;
width: 6px;
height: 6px;
transform: translateX(-50%);
border-radius: 50%;
box-sizing: border-box;
}
.activity-schedule-calendar__day-status.is-signed {
background: #1989fa;
}
.activity-schedule-calendar__day-status.is-available {
border: 1px solid #1989fa;
background: #fff;
}
.activity-schedule-calendar__day-status.is-pending {
background: #d8dde5;
}
.activity-schedule-calendar__legend {
display: flex;
margin: 12px 4px 16px;
align-items: center;
justify-content: space-around;
color: #78869a;
font-size: 11px;
}
.activity-schedule-calendar__legend span {
display: inline-flex;
align-items: center;
gap: 5px;
}
.activity-schedule-calendar__legend i {
width: 9px;
height: 9px;
border-radius: 50%;
box-sizing: border-box;
}
.activity-schedule-calendar__legend .is-solid { background: #1989fa; }
.activity-schedule-calendar__legend .is-outline { border: 1px solid #1989fa; }
.activity-schedule-calendar__legend .is-muted { background: #d8dde5; }
.activity-schedule-calendar__map {
width: 100%;
height: 150px;
margin-bottom: 12px;
overflow: hidden;
border-radius: 12px;
}
.activity-schedule-calendar__schedule-card {
overflow: hidden;
border-radius: 12px;
background: #fff;
box-shadow: 0 7px 20px rgba(55, 85, 126, .07);
}
.activity-schedule-calendar__schedule-title {
padding: 12px 14px;
border-bottom: 1px solid #edf1f6;
color: #263548;
font-size: 14px;
font-weight: 600;
}
.activity-schedule-calendar__schedule-item {
display: flex;
min-height: 70px;
padding: 12px 14px;
align-items: center;
justify-content: space-between;
border-bottom: 1px solid #edf1f6;
box-sizing: border-box;
}
.activity-schedule-calendar__schedule-item:last-child { border-bottom: 0; }
.activity-schedule-calendar__schedule-main {
display: flex;
min-width: 0;
align-items: flex-start;
gap: 9px;
}
.activity-schedule-calendar__schedule-main > .van-icon {
margin-top: 2px;
color: #1989fa;
font-size: 18px;
}
.activity-schedule-calendar__schedule-time {
color: #263548;
font-size: 15px;
line-height: 22px;
}
.activity-schedule-calendar__schedule-location {
display: flex;
margin-top: 5px;
align-items: center;
gap: 4px;
color: #7d899a;
font-size: 12px;
line-height: 18px;
}
.activity-schedule-calendar__status {
flex: 0 0 auto;
padding: 4px 8px;
border-radius: 5px;
color: #8b96a7;
background: #f1f4f8;
font-size: 11px;
}
.activity-schedule-calendar__status.is-success {
color: #19a965;
background: #eaf8f1;
}
.activity-schedule-calendar__status.is-progressing {
color: #ff8a00;
background: #fff4e6;
}
.activity-schedule-calendar__status.is-ended {
color: #98a2b2;
background: #eef1f5;
}
.activity-schedule-calendar__sign-btn {
display: inline-flex;
min-width: 42px !important;
height: 24px !important;
padding: 0 8px !important;
align-items: center;
justify-content: center;
border: 1px solid #1989fa !important;
border-radius: 5px !important;
color: #fff !important;
background-color: #1989fa !important;
box-shadow: none !important;
font-size: 11px !important;
}
.activity-schedule-calendar__empty {
padding: 18px 14px 22px;
color: #9aa5b5;
text-align: center;
}
.activity-schedule-calendar__empty img {
display: block;
width: 142px;
height: 94px;
margin: 0 auto 4px;
object-fit: contain;
}
.activity-schedule-calendar__empty-title {
color: #58677b;
font-size: 13px;
line-height: 20px;
}
.activity-schedule-calendar__empty-desc {
margin-top: 2px;
color: #a2adbc;
font-size: 11px;
line-height: 18px;
}
</style>
@@ -37,26 +37,32 @@ module.exports = {
<style scoped>
.table-column {
display: flex;
padding: 6px 0;
align-items: center;
width: calc(50% - 6px);
min-width: 0;
padding: 4px 0;
align-items: center;
box-sizing: border-box;
}
.label {
color: #333;
font-size: 14px;
color: #98a3b3;
font-size: 12px;
line-height: 18px;
flex-shrink: 0;
max-width: 120px;
max-width: 50%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.value {
color: #555;
font-size: 14px;
flex-grow: 1; /* 动态占据剩余部分 */
white-space: nowrap; /* 防止换行 */
overflow: hidden; /* 隐藏溢出的部分 */
text-overflow: ellipsis; /* 省略号 */
min-width: 0;
color: #56657a;
font-size: 12px;
line-height: 18px;
flex-grow: 1;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
</style>
@@ -1,7 +1,9 @@
<template>
<van-pull-refresh v-model="tableRefreshing" @refresh="onRefresh">
<van-pull-refresh class="table-list" v-model="tableRefreshing" @refresh="onRefresh">
<div v-if="tableData.length === 0" class="empty-state">
<van-empty description="暂无数据"></van-empty>
<slot name="empty">
<van-empty description="暂无数据"></van-empty>
</slot>
</div>
<van-list v-if="tableData && tableData.length>0"
v-model="tableLoading"
@@ -9,7 +11,8 @@
finished-text="没有更多了"
@load="onLoad">
<div class="table-list-container">
<div v-for="(row, index) in tableData" :key="index" class="table-list-item">
<div v-for="(row, index) in tableData" :key="index" class="table-list-item"
:data-row-id="row && row.id ? row.id : ''">
<slot name="header" :index="index" :row="row">
<div class="item-header">
<div class="item-title">{{ calcTitle(row) }}</div>
@@ -18,12 +21,12 @@
</div>
</slot>
<div style="display: flex;column-gap: 10px"
<div class="table-list-content"
:style="{'max-height':img ? '100px':'unset', 'overflow': img ? 'hidden':'unset' }">
<div class="img-container" v-if="img">
<img :src="row[img]" alt="" style="object-fit: cover">
<img :src="row[img]" alt="">
</div>
<div style="width: 100%">
<div class="table-list-columns">
<slot :index="index" :row="row"></slot>
</div>
</div>
@@ -66,6 +69,10 @@ module.exports = {
img: {
type: String,
default: ""
},
show_loading_overlay: {
type: Boolean,
default: true
}
},
watch: {
@@ -87,6 +94,33 @@ module.exports = {
}
},
methods: {
/**
* 获取当前列表快照。
* 返回值包含已加载记录、分页参数和加载完成状态,供业务页面在进入详情前暂存列表现场。
*/
getListState() {
return {
tableData: JSON.parse(JSON.stringify(this.tableData)),
localPageForm: JSON.parse(JSON.stringify(this.localPageForm)),
tableFinished: this.tableFinished
}
},
/**
* 恢复列表快照。
* state 应包含 tableData、localPageForm 和 tableFinished;返回 true 表示恢复成功。
*/
restoreListState(state) {
if (!state || !Array.isArray(state.tableData)) return false
this.$set(this, "tableData", state.tableData)
this.$set(this, "localPageForm", {...this.localPageForm, ...(state.localPageForm || {})})
this.$set(this, "tableFinished", !!state.tableFinished)
this.$set(this, "tableLoading", false)
this.$set(this, "tableRefreshing", false)
this.$emit("update:page_form", {...this.localPageForm})
return true
},
calcTitle(row) {
if (!this.title) return ""
// 处理key1.key2.key3 这样的形式
@@ -111,9 +145,15 @@ module.exports = {
pageData() {
this.tableLoading = true
const isInitialLoad = this.tableData.length === 0
this.$emit("loading-change", {loading: true, initial: isInitialLoad})
const loading = createListLoading()
this.$axios.post(this.api, this.json ? ({pageForm: JSON.stringify(this.localPageForm)}) : this.localPageForm).then((res) => {
const loading = this.show_loading_overlay ? createListLoading() : null
this.$axios.post(
this.api,
this.json ? ({pageForm: JSON.stringify(this.localPageForm)}) : this.localPageForm,
{h5SkeletonLoading: !this.show_loading_overlay}
).then((res) => {
if (res.code === 0) {
this.tableData = this.tableData.concat(res.data.list)
this.localPageForm.totalCount = res.data.totalCount
@@ -123,11 +163,10 @@ module.exports = {
this.$emit("update:page_form", {...this.localPageForm})
}
}).finally(() => {
loading.close()
console.log(this.tableLoading)
if (loading) loading.close()
this.tableLoading = false
console.log(this.tableLoading)
this.tableRefreshing = false
this.$emit("loading-change", {loading: false, initial: isInitialLoad})
})
},
doSearch() {
@@ -152,33 +191,36 @@ module.exports = {
<style scoped>
.table-list-container {
padding: 0;
margin-top: 10px;
margin-top: 12px;
}
.table-list-container .table-list-item {
background-color: #fff;
border-bottom: 1px solid #eaecef;
padding: 16px;
border: 1px solid #eef1f6;
border-radius: 12px;
box-shadow: 0 7px 20px rgba(55, 85, 126, .08);
padding: 14px;
position: relative;
margin-bottom: 10px;
margin-bottom: 12px;
overflow: hidden;
}
.table-list-container .table-list-item:last-child {
border-bottom: none;
margin-bottom: 0;
}
.table-list-container .table-list-item .item-header {
display: flex;
justify-content: space-between;
align-items: flex-start;
margin-bottom: 10px;
align-items: center;
margin-bottom: 8px;
}
.table-list-container .table-list-item .item-title {
font-size: 16px;
font-weight: 500;
color: #1f2f3d;
font-size: 15px;
line-height: 22px;
font-weight: 600;
color: #263548;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
@@ -190,15 +232,29 @@ module.exports = {
width: 100px;
height: 100px;
flex-shrink: 0;
border-radius: 6px;
overflow: hidden;
border-radius: 10px;
}
.table-list-container .table-list-item .img-container img {
width: 100%;
height: 100%;
border-radius: 6px;
object-fit: cover;
border-radius: 10px;
}
.table-list-container .table-list-item .table-list-content {
display: flex;
column-gap: 10px;
}
.table-list-container .table-list-item .table-list-columns {
display: flex;
width: 100%;
min-width: 0;
flex-wrap: wrap;
column-gap: 12px;
}
.table-list-container .table-list-item .item-meta {
display: flex;
@@ -245,48 +301,57 @@ module.exports = {
.table-list-container .table-list-item .item-actions {
display: flex;
column-gap: 20px;
gap: 8px;
flex-wrap: wrap;
justify-content: end;
margin-top: 15px;
padding-top: 12px;
border-top: 1px solid #eaecef;
margin-top: 10px;
padding-top: 10px;
border-top: 1px solid #edf1f6;
}
.table-list-container .table-list-item .action-btn {
display: flex;
display: inline-flex;
align-items: center;
justify-content: end;
font-size: 14px;
justify-content: center;
min-height: 26px;
padding: 4px 10px;
box-sizing: border-box;
border-radius: 14px;
background-color: #eaf4ff;
font-size: 12px;
line-height: 18px;
color: var(--color-primary);
padding: 4px 0;
cursor: pointer;
}
.table-list-container .table-list-item .action-btn i {
margin-right: 6px;
font-size: 16px;
margin-right: 5px;
font-size: 13px;
}
.table-list-container .table-list-item .action-btn.delete {
color: #ff0000;
color: #f04444;
background-color: #fff0f0;
}
.table-list-container .table-list-item .action-btn.review {
color: #67c23a;
background-color: #eef9e9;
}
.table-list-container .empty-state {
.empty-state {
text-align: center;
padding: 60px 20px;
color: #909399;
}
.table-list-container .empty-state i {
.empty-state i {
font-size: 60px;
margin-bottom: 16px;
color: #dcdee0;
}
.table-list-container .empty-state p {
.empty-state p {
margin-top: 10px;
font-size: 14px;
}
@@ -1,13 +1,28 @@
<template>
<div class="h5-signature">
<div v-if="!showSignaturePanel" class="main-panel">
<slot v-if="$slots.default"></slot>
<template v-else>
<van-button @click="openSignature" class="open-button" size="middle" plain native-type="button">打开签字板</van-button>
<van-image :src="signatureContent"></van-image>
</template>
<slot v-if="$slots.default"></slot>
<div v-else class="signature-entry">
<!-- 未签名时展示统一空状态和入口组件放入 van-field 时仍保持完整宽度 -->
<div v-if="!signatureContent" class="signature-entry-panel">
<van-icon class="signature-placeholder-icon" name="edit"></van-icon>
<div class="signature-placeholder-text">请完成本人手写签名</div>
<van-button @click="openSignature" class="signature-open-button" block plain
native-type="button">进入签字板</van-button>
</div>
<!-- 已签名时直接预览结果并在下方提供统一的重新签名入口 -->
<div v-else class="signature-entry-panel signature-entry-panel--completed">
<van-image :src="signatureContent" class="signature-preview" fit="contain"></van-image>
<div class="signature-completed-text">
<van-icon name="passed"></van-icon>
<span>已完成本人手写签名</span>
</div>
</div>
<button v-if="signatureContent" @click="openSignature" class="signature-reset-button"
type="button">重新签名</button>
</div>
<van-popup v-model="showSignaturePanel" :style="{ height: '100vh', width: '100vw' }">
<van-popup v-model="showSignaturePanel" :close-on-click-overlay="false"
:style="{ height: '100vh', width: '100vw' }" @close="handleSignaturePopupClose">
<signature @save="save"></signature>
</van-popup>
</div>
@@ -36,14 +51,39 @@ module.exports = {
data() {
return {
signatureContent: null,
showSignaturePanel: false
showSignaturePanel: false,
historyLayerName: "",
historyLayerUnsubscribe: null
}
},
methods: {
/**
* 打开签字板。
* 无请求参数;优先向全局历史栈增加当前签字弹层,返回值为空。
*/
openSignature() {
const manager = window.h5HistoryLayerManager
if (manager && manager.open(this.historyLayerName)) return
this.showSignaturePanel = true
},
// 保存成功或业务主动关闭时同步回退签字弹层历史,管理器不可用时直接关闭 Popup。
closeSignaturePanel() {
const manager = window.h5HistoryLayerManager
if (manager && manager.close(this.historyLayerName)) return
this.showSignaturePanel = false
},
// Vant 组件自行关闭时仅处理仍位于栈顶的签字层,避免返回同步触发重复 history.back。
handleSignaturePopupClose() {
const manager = window.h5HistoryLayerManager
if (!manager) return
const stack = manager.stack
if (stack[stack.length - 1] === this.historyLayerName) {
manager.close(this.historyLayerName)
}
},
save(signature) {
const file = this.base64ToFile(signature, "signature.png")
const formData = new FormData()
@@ -59,11 +99,20 @@ module.exports = {
})
.then((res) => {
if (res.code === 0) {
alert("保存成功")
this.showSignaturePanel = false
// 保存成功后使用项目统一的 Vant 反馈,避免浏览器原生弹框阻塞签字流程。
this.$toast.success({
message: "签名保存成功",
duration: 1500,
forbidClick: true
})
this.$emit("input", res.data)
this.closeSignaturePanel()
} else {
alert("保存失败")
// 接口返回失败时保留签字板,方便用户重试。
this.$toast.fail({
message: res.msg || "签名保存失败,请重试",
duration: 2000
})
}
})
},
@@ -86,27 +135,114 @@ module.exports = {
return new File([blob], filename, { type: contentType })
}
},
created() {}
mounted() {
const manager = window.h5HistoryLayerManager
if (!manager || typeof manager.ensureRegistered !== "function" || typeof manager.subscribe !== "function") return
// 每个组件实例使用唯一弹层名称,同一页面存在多个签字组件时互不影响。
this.historyLayerName = "h5-signature-" + this._uid
manager.ensureRegistered("h5-signature-page-" + window.location.pathname + window.location.search)
this.historyLayerUnsubscribe = manager.subscribe((stack) => {
this.showSignaturePanel = stack.includes(this.historyLayerName)
})
},
beforeDestroy() {
if (typeof this.historyLayerUnsubscribe === "function") {
this.historyLayerUnsubscribe()
}
}
}
</script>
<style scoped>
.h5-signature {
width: 100%;
min-width: 0;
box-sizing: border-box;
}
.main-panel {
position: relative;
flex-direction: column-reverse;
.signature-entry {
width: 100%;
display: flex;
row-gap: 10px;
flex-direction: column;
align-items: stretch;
box-sizing: border-box;
}
.main-panel .van-image {
.signature-entry-panel {
width: 100%;
min-height: 150px;
padding: 16px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
box-sizing: border-box;
border: 1px dashed #dfe6ef;
border-radius: 9px;
background: #fbfcfe;
}
.main-panel .open-button {
color: var(--color-primary);
.signature-placeholder-icon {
margin-bottom: 6px;
color: #c7cfda;
font-size: 38px;
}
.signature-placeholder-text {
margin-bottom: 12px;
color: #9aa4b2;
font-size: 13px;
line-height: 20px;
}
.signature-open-button {
width: 100%;
height: 40px;
color: var(--color-primary, #1989fa);
font-size: 15px;
font-weight: 500;
background: linear-gradient(90deg, #f0f7ff, #f5f9ff);
border-color: #d8e9ff;
border-radius: 7px;
}
.signature-entry-panel--completed {
min-height: 150px;
justify-content: space-between;
}
.signature-preview {
width: 100%;
height: 96px;
background: #fff;
border-radius: 6px;
overflow: hidden;
}
.signature-completed-text {
margin-top: 8px;
display: flex;
align-items: center;
justify-content: center;
color: #5f6b7a;
font-size: 13px;
}
.signature-completed-text .van-icon {
margin-right: 5px;
color: #28a745;
font-size: 16px;
}
.signature-reset-button {
align-self: center;
margin-top: 10px;
padding: 3px 12px;
color: var(--color-primary, #1989fa);
font-size: 14px;
line-height: 22px;
background: transparent;
border: 0;
}
</style>
@@ -57,7 +57,16 @@ module.exports = {
},
save() {
if (signature.isEmpty()) {
alert("请签字后再保存")
// H5 页面使用统一的 Vant 提示;未加载 Vant 的独立签字页保留原生提示作为兼容兜底。
if (typeof this.$toast === "function") {
this.$toast({
message: "请先完成手写签名",
icon: "edit",
duration: 2000
})
} else {
alert("请先完成手写签名")
}
return
}
// const png = signature.getPNG()
@@ -1,5 +1,11 @@
<template>
<van-dropdown-item :options="yearOptions" @change="yearChange" v-model="year"></van-dropdown-item>
<van-dropdown-item
:options="yearOptions"
v-model="year"
@change="yearChange"
@open="$emit('open')"
@close="$emit('close')"
></van-dropdown-item>
</template>
<script>
+220 -12
View File
@@ -95,6 +95,152 @@
// toast多例模式
vant.Toast.allowMultiple()
/**
* H5 弹层历史管理器。
* 页面通过 register 注册页面标识和弹层状态回调,通过 open/close/closeAll 维护浏览器历史;
* popstate 返回 true 表示本次返回仅用于同步弹层,PJAX 不再执行页面跳转。
*/
window.h5HistoryLayerManager = {
pageKey: "",
stack: [],
onChange: null,
afterClose: null,
subscribers: [],
pendingNavigation: null,
register(pageKey, onChange) {
const currentState = window.history.state || {}
this.pageKey = pageKey
this.stack = []
this.onChange = onChange
this.afterClose = null
this.pendingNavigation = null
window.history.replaceState({
...currentState,
url: currentState.url || window.location.href,
h5HistoryLayerPage: pageKey,
h5HistoryLayerStack: []
}, "", window.location.href)
this.notify()
},
/**
* 确保当前页面已初始化弹层历史。
* pageKey 传当前页面的稳定标识;返回 boolean,true 表示已有或已完成页面注册。
*/
ensureRegistered(pageKey) {
if (this.pageKey) return true
this.register(pageKey, null)
return true
},
/**
* 订阅全局弹层栈变化。
* onChange 接收当前弹层名称数组;返回 Function 类型的注销方法,组件销毁时必须调用。
*/
subscribe(onChange) {
if (typeof onChange !== "function") return () => {}
this.subscribers.push(onChange)
onChange(this.stack.slice())
return () => {
const index = this.subscribers.indexOf(onChange)
if (index !== -1) this.subscribers.splice(index, 1)
}
},
unregister(pageKey) {
if (pageKey && this.pageKey !== pageKey) return
this.reset()
},
open(layerName) {
if (!this.pageKey || !layerName) return false
const currentLayer = this.stack[this.stack.length - 1]
if (currentLayer === layerName) return true
const nextStack = this.stack.concat(layerName)
window.history.pushState({
...(window.history.state || {}),
url: window.location.href,
h5HistoryLayerPage: this.pageKey,
h5HistoryLayerStack: nextStack
}, "", window.location.href)
this.stack = nextStack
this.notify()
return true
},
close(layerName, afterClose = null) {
if (!this.stack.length) {
if (typeof afterClose === "function") afterClose()
return false
}
const currentLayer = this.stack[this.stack.length - 1]
if (layerName && currentLayer !== layerName) return false
this.afterClose = afterClose
window.history.back()
return true
},
closeAll(afterClose = null) {
if (!this.stack.length) {
if (typeof afterClose === "function") afterClose()
return false
}
this.afterClose = afterClose
window.history.go(-this.stack.length)
return true
},
/**
* 关闭当前页面全部弹层后跳转业务页面。
* url 传目标页面地址,data 传可选的 PJAX 请求参数;返回 boolean,true 表示已接管本次跳转。
*/
closeAllAndNavigate(url, data = null) {
if (!url) return false
if (!this.stack.length) {
pjaxReplace(url, data)
return true
}
this.pendingNavigation = {url: url, data: data}
this.afterClose = null
window.history.go(-this.stack.length)
return true
},
handlePopState(nativeEvent) {
const state = nativeEvent && nativeEvent.state ? nativeEvent.state : {}
const targetStack = state.h5HistoryLayerPage === this.pageKey && Array.isArray(state.h5HistoryLayerStack)
? state.h5HistoryLayerStack.slice()
: []
const stackChanged = this.stack.length !== targetStack.length ||
this.stack.some((layerName, index) => layerName !== targetStack[index])
if (!stackChanged) return false
if (!this.stack.length && !targetStack.length) return false
this.stack = targetStack
this.notify()
const callback = this.afterClose
const navigation = this.pendingNavigation
this.afterClose = null
this.pendingNavigation = null
if (navigation && navigation.url) {
pjaxReplace(navigation.url, navigation.data)
return true
}
if (typeof callback === "function") {
setTimeout(() => callback(), 0)
}
return true
},
notify() {
if (typeof this.onChange === "function") {
this.onChange(this.stack.slice())
}
this.subscribers.slice().forEach((subscriber) => {
subscriber(this.stack.slice())
})
},
reset() {
this.stack = []
this.notify()
this.pageKey = ""
this.onChange = null
this.afterClose = null
this.subscribers = []
this.pendingNavigation = null
}
}
//初始化pjax
;(function initPjax() {
if ($.support.pjax) {
@@ -106,6 +252,7 @@
timeout: 8000
})
$(document).on("pjax:send", function () {
window.h5HistoryLayerManager.reset()
NProgress.start()
window.customStyleList = document.querySelectorAll('style[id^="style-"]')
})
@@ -121,6 +268,9 @@
// 监听浏览器的前进和后退操作
$(window).on("popstate", function (event) {
if (window.h5HistoryLayerManager.handlePopState(event.originalEvent)) {
return
}
if (event.originalEvent.state) {
// 如果存在历史记录状态,触发 Pjax 加载对应内容
$.pjax({
@@ -149,14 +299,72 @@
})
}
function createListLoading(icon = "https://preview.qiantucdn.com/58pic/35/39/61/62K58PICb88i68HEwVnm5_PIC2018.gif!qt480") {
return vant.Toast.loading({
icon: icon,
forbidClick: true,
loadingType: "spinner",
duration: 0,
className: "custom-list-loading"
let h5GlobalLoading = null
let h5PendingRequestCount = 0
function showH5GlobalLoading(icon = "/assets/mobile/img/common/smart-union-loading-red.svg") {
if (!h5GlobalLoading) {
h5GlobalLoading = vant.Toast.loading({
icon: icon,
message: "加载中...",
forbidClick: true,
loadingType: "spinner",
duration: 0,
className: "custom-list-loading"
})
}
}
function closeH5GlobalLoading() {
if (h5PendingRequestCount > 0 || !h5GlobalLoading) return
h5GlobalLoading.clear()
h5GlobalLoading = null
}
// 所有 H5 Axios 请求先展示 Loading,等待 200ms 后再真正发出请求。
window.bindH5AxiosLoading = function(axiosService) {
axiosService.interceptors.request.use((config) => {
// 页面自行展示骨架屏时保留请求延迟,但不叠加全局 Loading 遮罩。
if (config.h5SkeletonLoading) {
return new Promise((resolve) => {
setTimeout(() => resolve(config), 200)
})
}
h5PendingRequestCount++
showH5GlobalLoading()
return new Promise((resolve) => {
setTimeout(() => resolve(config), 200)
})
}, (error) => {
return Promise.reject(error)
})
axiosService.interceptors.response.use((response) => {
if (!response.config || !response.config.h5SkeletonLoading) {
h5PendingRequestCount = Math.max(0, h5PendingRequestCount - 1)
closeH5GlobalLoading()
}
return response
}, (error) => {
if (!error.config || !error.config.h5SkeletonLoading) {
h5PendingRequestCount = Math.max(0, h5PendingRequestCount - 1)
closeH5GlobalLoading()
}
return Promise.reject(error)
})
}
function createListLoading(icon = "/assets/mobile/img/common/smart-union-loading-red.svg") {
showH5GlobalLoading(icon)
const closeLoading = function() {
closeH5GlobalLoading()
}
return {
clear: closeLoading,
close: closeLoading
}
}
function historyBack(func) {
@@ -408,7 +616,7 @@
</script>
<script nonce="${cspNonce!}">
const h5ComponentVersion = "20260524"
const h5ComponentVersion = "20260821_2"
Vue.component("rich-text", httpVueLoader("/components/plugins/sysRichTextView/index.vue?v=" + h5ComponentVersion))
Vue.component("h5-file-upload", httpVueLoader("/components/plugins/sysUpload/h5Index.vue?v=" + h5ComponentVersion))
Vue.component("h5-signature", httpVueLoader("/components/plugins/sysSignature/h5Index.vue?v=" + h5ComponentVersion))
@@ -458,10 +666,10 @@
<div id="container">${layoutContent}</div>
</div>
</div>
<button type="button" class="h5-voice-menu" id="voice-menu-btn" data-platform="H5" title="语音打开菜单">
<i class="fa fa-microphone"></i>
<span class="voice-menu-text">语音</span>
</button>
<!--<button type="button" class="h5-voice-menu" id="voice-menu-btn" data-platform="H5" title="语音打开菜单">-->
<!-- <i class="fa fa-microphone"></i>-->
<!-- <span class="voice-menu-text">语音</span>-->
<!--</button>-->
<script nonce="${cspNonce!}">
toggleShowBar()
</script>
@@ -0,0 +1,194 @@
<!--#
layout("/layouts/platform.html"){
#-->
<div id="app" v-cloak>
<guava ref="guava">
<el-card shadow="never">
<table-tool :app="this" label="风采墙栏目">
<el-button size="medium" type="primary" icon="el-icon-plus" @click="openAdd">新增栏目</el-button>
<el-button size="medium" icon="el-icon-s-unfold" @click="expandAll">展开全部</el-button>
<el-button size="medium" icon="el-icon-s-fold" @click="collapseAll">折叠全部</el-button>
</table-tool>
<el-table ref="categoryTable" v-loading="loading" :data="tableData" border row-key="id"
:tree-props="{children: 'children'}" default-expand-all>
<el-table-column prop="name" label="栏目名称" min-width="220" align="left"></el-table-column>
<el-table-column prop="sortOrder" label="排序" width="90" align="center"></el-table-column>
<el-table-column label="显示" width="100" align="center">
<template slot-scope="{row}">
<el-switch :value="row.visible === 1" @change="changeVisible(row, $event)"></el-switch>
</template>
</el-table-column>
<el-table-column label="轮播" width="100" align="center">
<template slot-scope="{row}">
<el-tag :type="row.slider === 1 ? 'success' : 'info'" size="mini">
{{row.slider === 1 ? '开启' : '关闭'}}
</el-tag>
</template>
</el-table-column>
<el-table-column label="操作" width="190" align="center">
<template slot-scope="{row}">
<el-button type="primary" size="mini" @click="openEdit(row)">编辑</el-button>
<el-button type="danger" size="mini" @click="remove(row)">删除</el-button>
</template>
</el-table-column>
</el-table>
</el-card>
</guava>
<el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="560px" :close-on-click-modal="false">
<el-form ref="categoryForm" :model="formData" :rules="rules" label-width="100px">
<el-form-item label="上级栏目" prop="parentId">
<el-select v-model="formData.parentId" style="width: 100%" placeholder="请选择上级栏目">
<el-option label="顶级栏目" value="0"></el-option>
<el-option v-for="item in rootOptions" :key="item.id" :label="item.name" :value="item.id"
:disabled="item.id === formData.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="栏目名称" prop="name">
<el-input v-model.trim="formData.name" maxlength="100" show-word-limit></el-input>
</el-form-item>
<el-form-item label="排序" prop="sortOrder">
<el-input-number v-model="formData.sortOrder" :min="0" :max="9999" style="width: 100%"></el-input-number>
</el-form-item>
<el-form-item label="显示状态">
<el-radio-group v-model="formData.visible">
<el-radio :label="1">显示</el-radio>
<el-radio :label="0">隐藏</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="参与轮播">
<el-radio-group v-model="formData.slider">
<el-radio :label="1">开启</el-radio>
<el-radio :label="0">关闭</el-radio>
</el-radio-group>
<div class="el-form-item__tip">子栏目开启轮播后,其上级栏目会自动开启。</div>
</el-form-item>
</el-form>
<span slot="footer">
<el-button @click="dialogVisible = false">取消</el-button>
<el-button type="primary" :loading="submitting" @click="submit">确定</el-button>
</span>
</el-dialog>
</div>
<script nonce="${cspNonce!}">
new Vue({
el: "#app",
data() {
return {
loading: false,
submitting: false,
tableData: [],
rootOptions: [],
dialogVisible: false,
dialogTitle: "",
formData: {},
rules: {
parentId: [{required: true, message: "请选择上级栏目", trigger: "change"}],
name: [{required: true, message: "请输入栏目名称", trigger: "blur"}],
sortOrder: [{required: true, message: "请输入排序", trigger: "change"}]
}
}
},
methods: {
// 加载栏目树,同时提取顶级栏目作为上级栏目选项。
loadData() {
this.loading = true
this.$axios.post(loc() + "/treeData").then(resp => {
if (resp.code === 0) {
this.tableData = resp.data || []
this.rootOptions = (resp.data || []).slice()
// 栏目数据为异步加载,赋值后显式展开,避免组件只展示顶级栏目。
this.$nextTick(this.expandAll)
} else {
this.$message.warning(resp.msg)
}
}).finally(() => this.loading = false)
},
// 构造新增栏目默认值。
openAdd() {
this.dialogTitle = "新增栏目"
this.formData = {parentId: "0", name: "", sortOrder: 255, visible: 1, slider: 0}
this.dialogVisible = true
this.$nextTick(() => this.$refs.categoryForm && this.$refs.categoryForm.clearValidate())
},
// 将当前行复制到表单,避免直接修改表格数据。
openEdit(row) {
this.dialogTitle = "编辑栏目"
this.formData = Object.assign({}, row)
delete this.formData.children
this.dialogVisible = true
this.$nextTick(() => this.$refs.categoryForm && this.$refs.categoryForm.clearValidate())
},
// 展开当前栏目树中的全部父级栏目。
expandAll() {
this.setAllExpanded(true)
},
// 折叠当前栏目树中的全部父级栏目。
collapseAll() {
this.setAllExpanded(false)
},
// Element UI 异步树表格需要逐行设置展开状态。
setAllExpanded(expanded) {
const table = this.$refs.categoryTable
if (!table) return
const walk = rows => {
(rows || []).forEach(row => {
if (row.children && row.children.length) {
table.toggleRowExpansion(row, expanded)
walk(row.children)
}
})
}
walk(this.tableData)
},
// 校验后调用新增或编辑接口。
submit() {
this.$refs.categoryForm.validate(valid => {
if (!valid) return
this.submitting = true
const api = this.formData.id ? "/doEdit" : "/doAdd"
this.$axios.post(loc() + api, this.formData).then(resp => {
if (resp.code === 0) {
this.$message.success(resp.msg || "保存成功")
this.dialogVisible = false
this.loadData()
} else {
this.$message.warning(resp.msg)
}
}).finally(() => this.submitting = false)
})
},
// 修改栏目显示状态,失败时重新加载以恢复开关。
changeVisible(row, checked) {
this.$axios.post(loc() + "/doVisible", {id: row.id, visible: checked ? 1 : 0}).then(resp => {
if (resp.code === 0) {
this.$message.success("设置成功")
} else {
this.$message.warning(resp.msg)
}
this.loadData()
})
},
// 删除前进行二次确认;存在内容时后端会阻止删除。
remove(row) {
this.$confirm("确定删除栏目“" + row.name + "”吗?", "提示", {type: "warning"}).then(() => {
this.$axios.post(loc() + "/doDelete", {id: row.id}).then(resp => {
if (resp.code === 0) {
this.$message.success("删除成功")
this.loadData()
} else {
this.$message.warning(resp.msg)
}
})
})
}
},
created() {
this.loadData()
}
})
</script>
<!--#
}
#-->
@@ -0,0 +1,381 @@
<!--#
layout("/layouts/platform.html"){
#-->
<style>
.spread-editor-page { width: 100%; }
.spread-editor-page .form-card { width: 100%; max-width: none; margin: 0; box-sizing: border-box; }
.spread-editor-page .form-tip { color: #909399; font-size: 12px; line-height: 20px; }
.spread-editor-page .footer-actions { padding: 18px 0 6px; text-align: center; }
.spread-editor-page .slider-upload-head { width: 100%; margin-bottom: 10px; display: flex; align-items: center; justify-content: space-between; }
.spread-editor-page .slider-upload-title { color: #303133; font-weight: 600; }
.spread-editor-page .slider-upload-count { color: #909399; font-size: 13px; font-weight: 400; }
.spread-editor-page .slider-meta-list { width: 100%; margin-top: 14px; }
.spread-editor-page .slider-meta-toolbar { margin-bottom: 10px; display: flex; align-items: center; justify-content: space-between; }
.spread-editor-page .slider-meta-item { margin-bottom: 12px; padding: 14px; display: grid; grid-template-columns: 130px minmax(220px, 1fr) 92px; gap: 14px; align-items: center; border: 1px solid #e4e7ed; border-radius: 8px; background: #fafafa; transition: border-color .2s, box-shadow .2s; }
.spread-editor-page .slider-meta-item:hover { border-color: #c6e2ff; box-shadow: 0 5px 16px rgba(64,158,255,.10); }
.spread-editor-page .slider-preview-wrap { position: relative; }
.spread-editor-page .slider-index { min-width: 26px; height: 26px; padding: 0 7px; position: absolute; top: 6px; left: 6px; z-index: 2; box-sizing: border-box; color: #fff; font-size: 12px; line-height: 26px; text-align: center; border-radius: 13px; background: rgba(0,0,0,.58); }
.spread-editor-page .slider-meta-image { width: 130px; height: 82px; display: block; object-fit: cover; border: 4px solid #fff; border-radius: 5px; box-sizing: border-box; background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,.12); }
.spread-editor-page .slider-field-label { margin-bottom: 7px; display: block; color: #606266; font-size: 13px; }
.spread-editor-page .color-danger { color: #f56c6c; }
.spread-editor-page .slider-item-actions { display: flex; flex-direction: column; align-items: stretch; }
.spread-editor-page .slider-item-actions .el-button + .el-button { margin-top: 6px; margin-left: 0; }
@media(max-width: 1050px) {
.spread-editor-page .slider-meta-item { grid-template-columns: 110px minmax(0, 1fr) 92px; }
.spread-editor-page .slider-meta-image { width: 110px; }
.spread-editor-page .slider-item-actions { grid-column: 1 / -1; flex-direction: row; justify-content: flex-end; }
.spread-editor-page .slider-item-actions .el-button + .el-button { margin-top: 0; margin-left: 8px; }
}
@media(max-width: 680px) {
.spread-editor-page .slider-meta-item { grid-template-columns: 1fr; }
.spread-editor-page .slider-meta-image { width: 100%; height: 180px; }
.spread-editor-page .slider-item-actions { grid-column: auto; }
}
</style>
<div id="app" class="spread-editor-page" v-cloak>
<el-card class="form-card" shadow="never" v-loading="loading">
<div slot="header">
<span style="font-size: 17px;font-weight: 600">{{formData.id ? '编辑风采内容' : '发布风采内容'}}</span>
</div>
<el-form ref="contentForm" :model="formData" :rules="rules" label-width="105px">
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="所属栏目" prop="categoryId">
<el-cascader v-model="formData.categoryId" :options="categoryOptions"
:props="{value:'id', label:'name', children:'children', emitPath:false, checkStrictly:false}"
filterable clearable style="width: 100%" placeholder="请选择末级栏目"></el-cascader>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="所属工会" prop="unionId">
<el-select v-model="formData.unionId" filterable clearable style="width: 100%"
placeholder="请选择所属工会" @change="contentUnionChanged">
<el-option v-for="item in unionOptions" :key="item.id"
:label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="排序" prop="sortOrder">
<el-input-number v-model="formData.sortOrder" :min="0" :max="9999" style="width: 100%"></el-input-number>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="标题" prop="title">
<el-input v-model.trim="formData.title" maxlength="300" show-word-limit></el-input>
</el-form-item>
<!-- 副标题当前无实际业务用途,暂不开放录入。
<el-form-item label="副标题">
<el-input v-model.trim="formData.subTitle" maxlength="255" show-word-limit></el-input>
</el-form-item>
-->
<el-form-item label="摘要" prop="summary">
<el-input v-model="formData.summary" type="textarea" :rows="3" maxlength="1000" show-word-limit
placeholder="用于风采墙列表展示"></el-input>
</el-form-item>
<el-form-item label="封面图" prop="thumbUrl">
<file-upload :upload_number="1" :upload_size="10 * 1024 * 1024"
:value.sync="formData.thumbUrl" accept=".jpg,.jpeg,.png,.webp"
upload_mode="image" upload_result_category="interval"></file-upload>
<div class="form-tip">建议使用横版图片,单张不超过 10MB。</div>
</el-form-item>
<el-form-item v-if="sliderEnabled" label="轮播图片">
<div class="slider-upload-head">
<span class="slider-upload-title">点击下方“+”新增轮播图片</span>
<span class="slider-upload-count">已添加 {{sliderMeta.length}} / 10 张</span>
</div>
<file-upload :upload_number="10" :upload_size="10 * 1024 * 1024"
:value.sync="sliderFiles" accept=".jpg,.jpeg,.png,.webp"
upload_mode="image" upload_result_category="array"></file-upload>
<div class="form-tip">仅栏目开启“参与轮播”后生效,最多上传 10 张;每张图片只需填写标题,工会名称沿用内容所属工会。</div>
<div v-if="sliderMeta.length" class="slider-meta-list">
<div class="slider-meta-toolbar">
<span class="form-tip">可调整顺序,轮播将按当前顺序展示。</span>
<el-button type="text" icon="el-icon-delete" class="color-danger" @click="clearSliderImages">
清空全部
</el-button>
</div>
<div v-for="(img, index) in sliderMeta" :key="img.src + '-' + index" class="slider-meta-item">
<div class="slider-preview-wrap">
<span class="slider-index">{{index + 1}}</span>
<img class="slider-meta-image" :src="img.src" :alt="img.title || ('轮播图' + (index + 1))">
</div>
<div>
<span class="slider-field-label"><i class="color-danger">*</i> 图片标题</span>
<el-input v-model.trim="img.title" maxlength="100" show-word-limit
:placeholder="'请输入第' + (index + 1) + '张图片标题'"></el-input>
</div>
<div class="slider-item-actions">
<el-button size="mini" icon="el-icon-top" :disabled="index === 0"
@click="moveSliderImage(index, -1)">上移</el-button>
<el-button size="mini" icon="el-icon-bottom" :disabled="index === sliderMeta.length - 1"
@click="moveSliderImage(index, 1)">下移</el-button>
<el-button size="mini" type="danger" plain icon="el-icon-delete"
@click="removeSliderImage(index)">删除</el-button>
</div>
</div>
</div>
</el-form-item>
<el-form-item label="正文" prop="contentBody">
<text-editor v-model="formData.contentBody" :height="360" placeholder="请输入风采内容"></text-editor>
</el-form-item>
<el-form-item label="置顶">
<el-switch v-model="formData.isTop" :active-value="1" :inactive-value="0"
active-text="置顶" inactive-text="不置顶"></el-switch>
</el-form-item>
<el-form-item label="发布状态">
<el-radio-group v-model="formData.isPublished">
<el-radio :label="0">保存草稿</el-radio>
<el-radio :label="1">立即发布</el-radio>
</el-radio-group>
</el-form-item>
<div class="footer-actions">
<el-button @click="resetForm">重置</el-button>
<el-button type="primary" :loading="submitting" @click="submit">保存</el-button>
</div>
</el-form>
</el-card>
</div>
<script nonce="${cspNonce!}">
new Vue({
el: "#app",
data() {
return {
loading: false,
submitting: false,
categoryOptions: [],
unionOptions: [],
sliderFiles: [],
sliderMeta: [],
formData: {},
rules: {
categoryId: [{required: true, message: "请选择所属栏目", trigger: "change"}],
unionId: [{required: true, message: "请选择所属工会", trigger: "change"}],
title: [{required: true, message: "请输入标题", trigger: "blur"}],
summary: [{required: true, message: "请输入摘要", trigger: "blur"}],
contentBody: [{required: true, message: "请输入正文", trigger: "change"}]
}
}
},
computed: {
// 仅所选末级栏目及其上级栏目都开启轮播时,显示轮播图片配置。
sliderEnabled() {
if (!this.formData.categoryId) return false
const findPath = (nodes, categoryId, parents) => {
for (const node of nodes || []) {
const path = parents.concat(node)
if (node.id === categoryId) return path
const childPath = findPath(node.children, categoryId, path)
if (childPath) return childPath
}
return null
}
const categoryPath = findPath(this.categoryOptions, this.formData.categoryId, [])
return !!categoryPath && categoryPath.every(item => Number(item.slider) === 1)
}
},
methods: {
// 生成新增内容时使用的默认表单。
defaultForm() {
return {
categoryId: "", unionId: "", unionName: "", title: "", subTitle: "", summary: "", contentBody: "",
thumbUrl: "", sliderImages: "", isTop: 0,
viewCount: 0, sortOrder: 255, isPublished: 0
}
},
// 读取地址栏中的编辑内容 ID。
getEditId() {
return new URLSearchParams(window.location.search).get("id") || ""
},
// 加载栏目树,内容只能选择末级栏目。
loadCategories() {
return this.$axios.post(loc() + "/categoryTree").then(resp => {
if (resp.code === 0) {
this.categoryOptions = resp.data || []
} else {
this.$message.warning(resp.msg)
}
})
},
// 按当前登录人员权限加载可选择工会。
loadUnionOptions() {
return this.$axios.post(loc() + "/unionOptions").then(resp => {
if (resp.code === 0) {
this.unionOptions = resp.data || []
} else {
this.$message.warning(resp.msg)
}
})
},
// 内容所属工会变化时同步保存工会名称。
contentUnionChanged(unionId) {
const union = this.unionOptions.find(item => item.id === unionId)
this.formData.unionName = union ? union.name : ""
},
// 分工会人员只有一个可选工会时自动带入,校工会管理员仍需主动选择。
applyUnionDefaults() {
if (this.unionOptions.length !== 1) return
const union = this.unionOptions[0]
if (!this.formData.unionId) {
this.formData.unionId = union.id
this.formData.unionName = union.name
}
},
// 编辑状态下加载内容详情并还原轮播图片数组。
loadDetail(id) {
if (!id) return Promise.resolve()
this.loading = true
return this.$axios.post(loc() + "/detailData", {id}).then(resp => {
if (resp.code === 0) {
this.formData = Object.assign(this.defaultForm(), resp.data || {})
this.sliderMeta = this.parseSliderImages(this.formData.sliderImages)
this.sliderFiles = this.sliderMeta.map(item => item.src)
} else {
this.$message.warning(resp.msg)
}
}).finally(() => this.loading = false)
},
// 兼容历史图片地址数组,并转换为只包含图片地址和标题的轮播对象。
parseSliderImages(value) {
if (!value) return []
let items = value
if (!Array.isArray(items)) {
try {
items = JSON.parse(value)
} catch (e) {
items = String(value).split(",").filter(Boolean)
}
}
if (!Array.isArray(items)) return []
return items.map(item => {
if (typeof item === "string") {
return {src: item, title: ""}
}
return {
src: item.src || item.url || item.data || (item.response && item.response.data) || "",
title: item.title || ""
}
}).filter(item => item.src)
},
// 取得上传组件返回的图片地址。
getSliderFileUrl(item) {
if (typeof item === "string") return item
return item && (item.url || item.data || (item.response && item.response.data)) || ""
},
// 上传或删除图片后同步图片元数据,并保留已经填写的标题和工会。
syncSliderMeta() {
const oldItems = {}
this.sliderMeta.forEach(item => oldItems[item.src] = item)
this.sliderMeta = (this.sliderFiles || []).map(item => this.getSliderFileUrl(item)).filter(Boolean).map(src => {
return oldItems[src] || {src: src, title: ""}
})
this.applyUnionDefaults()
},
// 删除单张轮播图片,同时更新上传组件和图片配置。
removeSliderImage(index) {
const files = (this.sliderFiles || []).slice()
files.splice(index, 1)
this.sliderFiles = files
this.$message.success("已删除第" + (index + 1) + "张轮播图片")
},
// 调整轮播图片顺序,保存和展示均使用调整后的顺序。
moveSliderImage(index, offset) {
const targetIndex = index + offset
if (targetIndex < 0 || targetIndex >= this.sliderMeta.length) return
const files = (this.sliderFiles || []).slice()
const file = files[index]
files.splice(index, 1)
files.splice(targetIndex, 0, file)
this.sliderFiles = files
},
// 清空全部轮播图片,二次确认避免误操作。
clearSliderImages() {
this.$confirm("确定清空全部轮播图片吗?", "提示", {type: "warning"}).then(() => {
this.sliderFiles = []
this.sliderMeta = []
this.$message.success("轮播图片已清空")
}).catch(() => {})
},
// 将轮播图片地址和标题转换为可持久化 JSON。
buildSliderImages() {
this.syncSliderMeta()
return JSON.stringify(this.sliderMeta.map(item => ({
src: item.src,
title: item.title
})))
},
// 校验每张轮播图的标题。
validateSliderMeta() {
this.syncSliderMeta()
const invalidIndex = this.sliderMeta.findIndex(item => !item.title)
if (invalidIndex < 0) return true
this.$message.warning("请输入第" + (invalidIndex + 1) + "张轮播图标题")
return false
},
// 重置新增表单;编辑状态下恢复数据库内容。
resetForm() {
const id = this.getEditId()
if (id) {
this.loadDetail(id)
} else {
this.formData = this.defaultForm()
this.sliderFiles = []
this.sliderMeta = []
this.applyUnionDefaults()
}
this.$nextTick(() => this.$refs.contentForm && this.$refs.contentForm.clearValidate())
},
// 校验并提交新增或编辑数据。
submit() {
this.$refs.contentForm.validate(valid => {
if (!valid) return
if (this.sliderEnabled && !this.validateSliderMeta()) return
const data = Object.assign({}, this.formData)
if (this.sliderEnabled) {
data.sliderImages = this.buildSliderImages()
} else {
// 未开启轮播的栏目不提交隐藏字段,编辑时保留已有数据,避免切换栏目造成误删。
delete data.sliderImages
}
// 推荐和头条没有对应业务逻辑,提交时不再携带这两个字段。
delete data.isRecommend
delete data.isHeadline
const api = data.id ? "/doEdit" : "/doAdd"
this.submitting = true
this.$axios.post(loc() + api, data).then(resp => {
if (resp.code === 0) {
this.$message.success(resp.msg || "保存成功")
if (!data.id) {
this.resetForm()
}
} else {
this.$message.warning(resp.msg)
}
}).finally(() => this.submitting = false)
})
}
},
watch: {
// 监听上传组件结果,及时生成对应的标题和工会填写行。
sliderFiles: {
deep: true,
handler() {
this.syncSliderMeta()
}
}
},
created() {
this.formData = this.defaultForm()
const id = this.getEditId()
Promise.all([this.loadCategories(), this.loadUnionOptions(), this.loadDetail(id)]).then(this.applyUnionDefaults)
}
})
</script>
<!--#
}
#-->
@@ -0,0 +1,366 @@
<!--#
layout("/layouts/platform.html"){
#-->
<style>
#sub-app-container-main-content { padding: 0 !important; background: #f5f5f5; }
.spread-wall { min-height: 100%; overflow-x: hidden; color: #2c3e50; background: #f5f5f5; }
.spread-hero { min-height: 450px; position: relative; padding: 18px 0 72px; display: flex; flex-direction: column; justify-content: center; overflow: visible; }
.spread-hero::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 320px; background: url("${base!}/assets/platform/img/spread-bg.png?v=20260731") top center / cover no-repeat; z-index: 0; }
.spread-hero > * { position: relative; z-index: 1; }
.spread-brand { margin: 0 auto 24px; padding: 10px 16px; display: flex; align-items: center; gap: 12px; color: #2c3e50; border-radius: 12px; background: rgba(255,255,255,.76); box-shadow: 0 10px 26px rgba(0,0,0,.12); backdrop-filter: blur(6px); }
.spread-brand-icon { width: 42px; height: 42px; display: flex; align-items: center; justify-content: center; color: #c0141a; font-size: 24px; border-radius: 50%; background: #fff0f0; }
.spread-brand-title { font-family: "Microsoft YaHei", serif; font-size: 24px; font-weight: 700; letter-spacing: 3px; }
.carousel-bg-text { position: absolute; top: 48%; left: 50%; transform: translate(-50%, -50%); color: rgba(255,255,255,.04); font-size: 170px; font-weight: 900; letter-spacing: 24px; pointer-events: none; user-select: none; }
.hero-slider { width: calc(100% - 32px); max-width: none; min-height: 380px; height: auto; aspect-ratio: 32 / 9; margin: 0 auto; }
.hero-slider .el-carousel, .hero-slider .el-carousel__container { height: 100%; }
.hero-slider .el-carousel__arrow { width: 42px; height: 42px; color: #fff; border: 1px solid rgba(255,255,255,.25); background: rgba(44,62,80,.42); backdrop-filter: blur(4px); }
.hero-slider .el-carousel__item--card { overflow: visible; display: flex; align-items: center; justify-content: center; }
.hero-slider .el-carousel__mask { opacity: 0; background: transparent; }
.slider-item { width: 97%; height: auto; aspect-ratio: 16 / 9; margin: 0 auto; position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; box-sizing: border-box; cursor: pointer; border: 8px solid #fff; background: #fff; box-shadow: 0 12px 30px rgba(0,0,0,.18), 0 2px 5px rgba(0,0,0,.12); }
.slider-item img { width: auto; height: auto; max-width: 100%; max-height: 100%; display: block; flex: 0 0 auto; object-fit: contain !important; object-position: center; background: #fff; }
.slider-caption { min-height: 25%; padding: 10px 18px 9px; position: absolute; left: 0; right: 0; bottom: 0; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; box-sizing: border-box; color: #fff; background: linear-gradient(to bottom, rgba(82,82,82,.30) 0%, rgba(52,52,52,.52) 45%, rgba(24,24,24,.78) 100%); }
.slider-caption-line { width: 100%; }
.slider-caption-title { color: #fff; font-size: 15px; font-weight: 600; line-height: 1.45; text-shadow: 0 1px 3px rgba(0,0,0,.42); white-space: normal; word-break: break-all; }
.slider-caption-tag { max-width: 32%; margin: 0 8px 0 0; padding: 1px 7px; display: inline-block; overflow: hidden; box-sizing: border-box; color: rgba(255,255,255,.92); font-size: 10px; font-weight: 400; line-height: 18px; vertical-align: middle; text-align: center; text-overflow: ellipsis; white-space: nowrap; border: 1px solid rgba(255,255,255,.42); border-radius: 3px; background: rgba(255,255,255,.10); }
.slider-empty { height: 380px; display: flex; align-items: center; justify-content: center; color: #8a6f68; font-size: 22px; letter-spacing: 5px; border-radius: 12px; background: rgba(255,255,255,.86); box-shadow: 0 8px 28px rgba(0,0,0,.08); }
.spread-main { width: calc(100% - 32px); max-width: none; margin: -42px auto 40px; padding: 20px 0 38px; position: relative; z-index: 5; display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 24px; align-items: start; }
.category-panel, .content-panel { background: #fff; border-radius: 12px; box-shadow: 0 8px 28px rgba(90,53,34,.09); }
.category-panel { position: sticky; top: 20px; overflow: hidden; }
.category-header { padding: 18px 15px; color: #fff; font-family: "Microsoft YaHei", serif; font-size: 18px; font-weight: 700; text-align: center; letter-spacing: 2px; background: #c0141a; }
.category-group { border-bottom: 1px solid #f0e7e5; }
.category-parent { padding: 18px 20px; display: flex; align-items: center; gap: 10px; color: #2c3e50; cursor: pointer; transition: color .2s, background .2s; user-select: none; }
.category-parent:hover, .category-parent.open, .category-parent.active { color: #c0141a; background: #fafafa; }
.category-parent-name { flex: 1; font-size: 15px; }
.category-arrow { font-size: 13px; transition: transform .25s ease; }
.category-parent.open .category-arrow { transform: rotate(90deg); }
.category-children { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s ease; }
.category-children.open { grid-template-rows: 1fr; }
.category-children-inner { min-height: 0; overflow: hidden; }
.category-child { padding: 14px 20px 14px 32px; display: flex; align-items: center; gap: 10px; color: #606266; cursor: pointer; border-left: 3px solid transparent; transition: color .2s, background .2s; }
.category-child::before { content: ""; width: 5px; height: 5px; flex: 0 0 5px; border-radius: 50%; background: #c0c4cc; }
.category-child:hover, .category-child.active { color: #c0141a; background: #fff5f5; border-left-color: #c0141a; }
.category-child:hover::before, .category-child.active::before { background: #c0141a; }
.content-panel { min-height: 600px; padding: 30px; }
.section-heading { margin-bottom: 22px; padding-bottom: 16px; display: flex; align-items: flex-end; justify-content: space-between; border-bottom: 1px solid #ebeef5; }
.section-heading h2 { margin: 0 0 4px; color: #2c3e50; font-family: "Microsoft YaHei", serif; font-size: 24px; }
.section-heading span { color: #909399; font-size: 14px; }
.content-card { margin-bottom: 16px; padding: 20px; display: grid; grid-template-columns: 80px minmax(0,1fr) 90px; gap: 20px; align-items: center; cursor: pointer; border: 1px solid #ebeef5; border-radius: 8px; transition: transform .2s, border-color .2s, box-shadow .2s; }
.content-card:hover { transform: translateY(-2px); border-color: #f3c8c6; box-shadow: 0 8px 20px rgba(192,20,26,.08); }
.content-date { color: #909399; text-align: center; border-right: 1px solid #ebeef5; }
.content-date strong { display: block; color: #2c3e50; font-size: 25px; }
.content-card:hover .content-date strong { color: #c0141a; }
.content-title { margin-bottom: 8px; color: #303133; font-size: 17px; font-weight: 700; }
.content-summary { overflow: hidden; color: #7c6d67; font-size: 13px; line-height: 21px; text-overflow: ellipsis; white-space: nowrap; }
.content-view { color: #aa9d96; font-size: 12px; text-align: right; }
.wall-pagination { margin-top: 25px; text-align: center; }
.detail-title { margin: 8px 0 12px; color: #672025; font-size: 28px; text-align: center; }
.detail-meta { padding-bottom: 18px; color: #9c8d86; text-align: center; border-bottom: 1px solid #eee2d9; }
.detail-cover { max-width: 100%; max-height: 520px; margin: 24px auto; display: block; object-fit: contain; border-radius: 8px; }
.detail-body { width: 100%; overflow: hidden; color: #493b36; font-size: 16px; line-height: 1.9; word-break: break-word; }
.detail-body img, .detail-body video { max-width: 100% !important; height: auto !important; }
.detail-body table { max-width: 100% !important; }
.back-link { margin-bottom: 12px; }
@media (max-width: 900px) {
.spread-hero { min-height: 360px; padding-bottom: 50px; }
.spread-hero::before { height: 260px; }
.hero-slider, .hero-slider .el-carousel, .hero-slider .el-carousel__container { height: 280px; }
.spread-main { width: calc(100% - 24px); grid-template-columns: 1fr; margin-top: -20px; }
.category-panel { position: static; }
.content-panel { padding: 20px 15px; }
.content-card { grid-template-columns: 64px minmax(0,1fr); }
.content-view { display: none; }
}
</style>
<div id="app" class="spread-wall" v-cloak>
<header class="spread-hero">
<div class="spread-brand">
<span class="spread-brand-icon"><i class="el-icon-trophy"></i></span>
<span class="spread-brand-title">风采墙</span>
</div>
<div class="carousel-bg-text">HONOR</div>
<div class="hero-slider">
<el-carousel v-if="sliderItems.length" type="card" height="100%" :interval="4000"
indicator-position="none" arrow="hover" :autoplay="sliderItems.length > 1" loop>
<el-carousel-item v-for="item in sliderItems" :key="item.slideKey">
<div class="slider-item" @click="openDetail(item)">
<img v-if="item.sliderImage" :src="item.sliderImage" :alt="item.title">
<div class="slider-caption">
<div class="slider-caption-line">
<div class="slider-caption-title" :title="item.title">
<span class="slider-caption-tag">{{item.unionName || item.categoryName || '风采展示'}}</span>{{item.title}}
</div>
</div>
</div>
</div>
</el-carousel-item>
</el-carousel>
<div v-else class="slider-empty">榜样引领 · 风采绽放</div>
</div>
</header>
<div class="spread-main">
<aside class="category-panel">
<div class="category-header">工会信息传播与文化展示</div>
<div v-for="parent in categories" :key="parent.id" class="category-group">
<div class="category-parent" :class="{open: isParentOpen(parent), active: isParentActive(parent)}" @click="toggleParent(parent)">
<i class="el-icon-tickets"></i>
<span class="category-parent-name">{{parent.name}}</span>
<i v-if="parent.children && parent.children.length" class="el-icon-arrow-right category-arrow"></i>
</div>
<div v-if="parent.children && parent.children.length"
class="category-children" :class="{open: isParentOpen(parent)}">
<div class="category-children-inner">
<div v-for="child in parent.children" :key="child.id"
class="category-child" :class="{active: currentCategory.id === child.id}"
@click="selectCategory(child)">{{child.name}}</div>
</div>
</div>
</div>
</aside>
<main class="content-panel" v-loading="loading">
<template v-if="!detail">
<div class="section-heading">
<h2>{{currentCategory.name || '风采展示'}}</h2>
<span>展示教职工的先进事迹与精彩瞬间</span>
</div>
<article v-for="item in pageData.list" :key="item.id" class="content-card" @click="openDetail(item)">
<div class="content-date">
<strong>{{datePart(item.publishedAt, 'DD')}}</strong>
{{datePart(item.publishedAt, 'YYYY.MM')}}
</div>
<div>
<div class="content-title">
<el-tag v-if="item.isTop === 1" type="danger" size="mini">置顶</el-tag>
{{item.title}}
</div>
<div class="content-summary">{{item.summary || item.subTitle || '点击查看详细内容'}}</div>
</div>
<div class="content-view"><i class="el-icon-view"></i> {{item.viewCount || 0}}</div>
</article>
<el-empty v-if="!pageData.list.length && !loading" description="暂无风采内容"></el-empty>
<el-pagination v-if="pageData.totalCount > pageData.pageSize" class="wall-pagination"
background layout="prev, pager, next" :current-page.sync="pageData.pageNumber"
:page-size="pageData.pageSize" :total="pageData.totalCount"
@current-change="loadPage"></el-pagination>
</template>
<template v-else>
<el-button class="back-link" icon="el-icon-back" plain size="small" @click="backToList">返回列表</el-button>
<h1 class="detail-title">{{detail.title}}</h1>
<div class="detail-meta">
{{formatTime(detail.publishedAt || detail.createdAt)}} 
{{detail.categoryName}}  <i class="el-icon-view"></i> {{detail.viewCount || 0}}
</div>
<img v-if="getCoverUrl(detail.thumbUrl)" class="detail-cover" :src="getCoverUrl(detail.thumbUrl)" :alt="detail.title">
<div class="detail-body" v-html="detail.contentBody"></div>
</template>
</main>
</div>
</div>
<script nonce="${cspNonce!}">
new Vue({
el: "#app",
data() {
return {
apiBase: "/platform/spread/display",
loading: false,
categories: [],
sliderItems: [],
openParents: [],
currentCategory: {},
detail: null,
pageData: {pageNumber: 1, pageSize: 8, totalCount: 0, list: []}
}
},
methods: {
// 加载可见栏目并自动选择第一个末级栏目。
loadCategories() {
return this.$axios.post(this.apiBase + "/categoryTree").then(resp => {
if (resp.code !== 0) return
this.categories = resp.data || []
const firstParent = this.categories[0]
this.openParents = firstParent ? [firstParent.id] : []
this.currentCategory = firstParent && firstParent.children && firstParent.children.length
? firstParent.children[0] : (firstParent || {})
})
},
// 判断父栏目是否处于展开状态。
isParentOpen(parent) {
return this.openParents.indexOf(parent.id) !== -1
},
// 当前栏目属于该父栏目时保持父级高亮。
isParentActive(parent) {
if (this.currentCategory.id === parent.id) return true
return (parent.children || []).some(child => child.id === this.currentCategory.id)
},
// 点击父栏目时展开或关闭子节点;无子节点时直接查询该栏目。
toggleParent(parent) {
const children = parent.children || []
if (!children.length) {
this.selectCategory(parent)
return
}
const index = this.openParents.indexOf(parent.id)
if (index === -1) {
this.openParents.push(parent.id)
} else {
this.openParents.splice(index, 1)
}
},
// 加载开启轮播栏目的最新发布内容。
loadSlider() {
return this.$axios.post(this.apiBase + "/sliderData").then(resp => {
if (resp.code === 0) {
this.sliderItems = this.buildSliderItems(resp.data || [])
}
})
},
// 根据当前栏目加载已发布内容。
loadPage() {
if (!this.currentCategory.id) {
this.pageData.list = []
return
}
this.loading = true
this.$axios.post(this.apiBase + "/pageData", {
categoryId: this.currentCategory.id,
pageNumber: this.pageData.pageNumber,
pageSize: this.pageData.pageSize
}).then(resp => {
if (resp.code === 0) this.pageData = resp.data
}).finally(() => this.loading = false)
},
// 切换栏目时回到第一页和列表状态。
selectCategory(category) {
this.currentCategory = category
this.detail = null
this.pageData.pageNumber = 1
const parent = this.categories.find(item => (item.children || []).some(child => child.id === category.id))
if (parent && !this.isParentOpen(parent)) {
this.openParents.push(parent.id)
}
this.loadPage()
},
// 根据内容所属栏目同步左侧栏目选中状态,并展开对应父栏目。
syncCategorySelection(categoryId) {
if (!categoryId) return
for (const parent of this.categories) {
if (parent.id === categoryId) {
this.currentCategory = parent
return
}
const child = (parent.children || []).find(item => item.id === categoryId)
if (child) {
this.currentCategory = child
if (!this.isParentOpen(parent)) this.openParents.push(parent.id)
return
}
}
},
// 从详情返回时,按当前回显栏目重新加载内容列表。
backToList() {
this.detail = null
this.pageData.pageNumber = 1
this.loadPage()
},
// 获取完整详情并登记一次浏览。
openDetail(item) {
this.loading = true
Promise.all([
this.$axios.post(this.apiBase + "/detailData", {id: item.id}),
this.$axios.post(this.apiBase + "/addView", {id: item.id})
]).then(values => {
if (values[0].code === 0) {
this.detail = values[0].data
this.detail.viewCount = Number(this.detail.viewCount || 0) + 1
this.syncCategorySelection(this.detail.categoryId || item.categoryId)
// 轮播区域较高,打开详情后滚动到正文区域完整展示内容。
this.$nextTick(() => {
const main = document.querySelector(".spread-main")
if (main) main.scrollIntoView({behavior: "smooth", block: "start"})
})
}
}).finally(() => this.loading = false)
},
// 将上传字段转换为完整图片地址数组。
getImageUrls(value) {
if (!value) return []
let files = value
if (typeof value === "string" && value.trim().startsWith("[")) {
try {
files = JSON.parse(value)
} catch (e) {
files = []
}
}
if (!Array.isArray(files)) {
files = String(files).split(",")
}
return files.map(file => {
if (typeof file === "string") return file.trim()
return file && (file.src || file.url || file.data || (file.response && file.response.data)) || ""
}).filter(Boolean)
},
// 从上传字段中取得第一张图片地址。
getCoverUrl(value) {
const urls = this.getImageUrls(value)
return urls.length ? urls[0] : ""
},
// 将轮播图片解析为图片地址和标题,兼容历史纯地址数组。
getSliderEntries(value) {
if (!value) return []
let items = value
if (!Array.isArray(items)) {
try {
items = JSON.parse(value)
} catch (e) {
items = String(value).split(",").filter(Boolean)
}
}
if (!Array.isArray(items)) return []
return items.map(item => {
if (typeof item === "string") return {src: item}
return {
src: item.src || item.url || item.data || (item.response && item.response.data) || "",
title: item.title || ""
}
}).filter(item => item.src)
},
// 每篇内容的多张轮播图片分别生成轮播项,图片标题独立,工会名称继承内容。
buildSliderItems(contents) {
const result = []
const source = contents || []
source.forEach(item => {
let slides = this.getSliderEntries(item.sliderImages)
if (!slides.length) {
slides = this.getImageUrls(item.thumbUrl).map(url => ({src: url}))
}
slides.forEach((slide, index) => {
result.push(Object.assign({}, item, {
title: slide.title || item.title,
sliderImage: slide.src,
slideKey: item.id + "-" + index
}))
})
})
return result
},
// 格式化列表日期的指定部分。
datePart(value, format) {
return value ? this.$moment(Number(value)).format(format) : "--"
},
// 格式化详情发布时间。
formatTime(value) {
return value ? this.$moment(Number(value)).format("YYYY-MM-DD HH:mm") : ""
}
},
created() {
Promise.all([this.loadCategories(), this.loadSlider()]).then(() => this.loadPage())
}
})
</script>
<!--#
}
#-->
@@ -0,0 +1,203 @@
<!--#
layout("/layouts/platform.html"){
#-->
<div id="app" v-cloak>
<guava ref="guava">
<el-card shadow="never">
<search :is-search-button="false">
<search-item label="内容标题">
<el-input v-model="pageForm.title" clearable placeholder="请输入标题" @keyup.enter.native="doSearch"></el-input>
</search-item>
<search-item label="所属栏目">
<el-cascader v-model="pageForm.categoryId" :options="categoryOptions"
:props="{value:'id',label:'name',children:'children',emitPath:false,checkStrictly:true}"
clearable filterable style="width: 100%"></el-cascader>
</search-item>
<search-item label="发布状态">
<el-select v-model="pageForm.isPublished" clearable placeholder="请选择">
<el-option label="草稿" :value="0"></el-option>
<el-option label="已发布" :value="1"></el-option>
</el-select>
</search-item>
<search-item label="创建时间">
<el-date-picker v-model="pageForm.createTime" type="datetimerange"
start-placeholder="开始时间" end-placeholder="结束时间"
value-format="yyyy-MM-dd HH:mm:ss" style="width: 100%"></el-date-picker>
</search-item>
<div class="search-query">
<el-button type="primary" size="medium" icon="el-icon-search" @click="doSearch">搜索</el-button>
<el-button size="medium" @click="resetSearch">重置</el-button>
</div>
</search>
</el-card>
<el-card class="mt10" shadow="never">
<table-tool :app="this" label="风采内容列表">
<el-button type="primary" size="medium" icon="el-icon-plus" @click="goCreate">发布内容</el-button>
</table-tool>
<el-table v-loading="tableLoading" :data="tableData" :size="tableSize" border>
<el-table-column :index="indexMethod" type="index" label="序号" width="70" align="center"></el-table-column>
<el-table-column prop="title" label="标题" min-width="240" show-overflow-tooltip></el-table-column>
<el-table-column prop="categoryName" label="栏目" min-width="180">
<template slot-scope="{row}">
<span>{{row.categoryName}}</span>
<el-tag v-if="categorySliderEnabled(row.categoryId)" type="success" size="mini"
effect="plain" style="margin-left: 6px">轮播</el-tag>
</template>
</el-table-column>
<el-table-column prop="unionName" label="所属工会" min-width="150" show-overflow-tooltip></el-table-column>
<el-table-column prop="isTop" label="置顶" width="100" align="center">
<template slot-scope="{row}">
<el-tag :type="row.isTop === 1 ? 'success' : 'info'" size="mini">
{{row.isTop === 1 ? '置顶' : '未置顶'}}
</el-tag>
</template>
</el-table-column>
<el-table-column prop="viewCount" label="浏览量" width="100" align="center"></el-table-column>
<el-table-column prop="sortOrder" label="排序" width="90" align="center"></el-table-column>
<el-table-column label="状态" width="100" align="center">
<template slot-scope="{row}">
<el-tag :type="row.isPublished === 1 ? 'success' : 'info'" size="mini">
{{row.isPublished === 1 ? '已发布' : '草稿'}}
</el-tag>
</template>
</el-table-column>
<el-table-column label="发布时间" width="170" align="center">
<template slot-scope="{row}">{{formatTime(row.publishedAt)}}</template>
</el-table-column>
<el-table-column label="操作" width="270" align="center" fixed="right">
<template slot-scope="{row}">
<el-button size="mini" type="primary" @click="goEdit(row)">编辑</el-button>
<el-button size="mini" :type="row.isPublished === 1 ? 'warning' : 'success'"
@click="togglePublish(row)">
{{row.isPublished === 1 ? '撤回' : '发布'}}
</el-button>
<el-button size="mini" type="danger" @click="remove(row)">删除</el-button>
</template>
</el-table-column>
</el-table>
<!--#include("/layouts/pagination.html"){}#-->
</el-card>
</guava>
</div>
<script nonce="${cspNonce!}">
new Vue({
el: "#app",
mixins: [initTableMixins],
data() {
return {
apiBase: "/platform/spread/manage",
categoryOptions: []
}
},
methods: {
// 组装分页查询参数,将时间范围拆成后端字段。
buildPageParams() {
const params = Object.assign({}, this.pageForm)
params.beginTime = params.createTime && params.createTime.length ? params.createTime[0] : ""
params.endTime = params.createTime && params.createTime.length ? params.createTime[1] : ""
delete params.createTime
return params
},
// 加载内容管理分页数据。
pageData() {
this.tableLoading = true
this.$axios.post(this.apiBase + "/pageData", this.buildPageParams()).then(resp => {
if (resp.code === 0) {
this.tableData = resp.data.list || []
this.pageForm.totalCount = resp.data.totalCount || 0
} else {
this.$message.warning(resp.msg)
}
}).finally(() => this.tableLoading = false)
},
// 加载可筛选的栏目树。
loadCategories() {
return this.$axios.post(this.apiBase + "/categoryTree").then(resp => {
if (resp.code === 0) this.categoryOptions = resp.data || []
})
},
// 判断内容所属栏目及其全部上级栏目是否都已开启轮播。
categorySliderEnabled(categoryId) {
const findPath = (nodes, parents) => {
for (const node of nodes || []) {
const path = parents.concat(node)
if (node.id === categoryId) return path
const childPath = findPath(node.children, path)
if (childPath) return childPath
}
return null
}
const categoryPath = findPath(this.categoryOptions, [])
return !!categoryPath && categoryPath.every(item => Number(item.slider) === 1)
},
// 清空筛选条件并重新查询。
resetSearch() {
this.pageForm.title = ""
this.pageForm.categoryId = ""
this.pageForm.isPublished = ""
this.pageForm.createTime = []
this.doSearch()
},
// 跳转到独立发布页面。
goCreate() {
this.navigate("/platform/spread/creation")
},
// 跳转到发布页面并携带编辑 ID。
goEdit(row) {
this.navigate("/platform/spread/creation?id=" + encodeURIComponent(row.id))
},
// 兼容 pjax 与普通页面跳转。
navigate(url) {
if (window.commonUtil && commonUtil.pjaxPush) {
commonUtil.pjaxPush(url)
} else {
window.location.href = url
}
},
// 发布已保存的草稿,或撤回已发布内容。
togglePublish(row) {
const status = row.isPublished === 1 ? 0 : 1
const action = status === 1 ? "发布" : "撤回"
this.$confirm("确定" + action + "“" + row.title + "”吗?", "提示", {type: "warning"}).then(() => {
this.$axios.post(this.apiBase + "/doPublish", {id: row.id, status}).then(resp => {
if (resp.code === 0) {
this.$message.success(action + "成功")
this.pageData()
} else {
this.$message.warning(resp.msg)
}
})
})
},
// 删除内容前进行二次确认。
remove(row) {
this.$confirm("删除后无法恢复,确定删除该内容吗?", "提示", {type: "warning"}).then(() => {
this.$axios.post(this.apiBase + "/doDelete", {id: row.id}).then(resp => {
if (resp.code === 0) {
this.$message.success("删除成功")
this.pageData()
} else {
this.$message.warning(resp.msg)
}
})
})
},
// 将毫秒时间戳格式化为日期时间。
formatTime(value) {
return value ? this.$moment(Number(value)).format("YYYY-MM-DD HH:mm:ss") : ""
}
},
created() {
this.$set(this.pageForm, "title", "")
this.$set(this.pageForm, "categoryId", "")
this.$set(this.pageForm, "isPublished", "")
this.$set(this.pageForm, "createTime", [])
this.loadCategories().then(() => this.pageData())
}
})
</script>
<!--#
}
#-->
@@ -0,0 +1,252 @@
<!--#
layout("/layouts/platform.html"){
#-->
<script src="${base!}/assets/platform/plugins/echarts/echarts.min.js" nonce="${cspNonce!}"></script>
<style>
#sub-app-container-main-content { background: #f4f6f8; }
.spread-statistics { width: 100%; }
.spread-statistics .filter-card { margin-bottom: 12px; }
.spread-statistics .metrics-card { margin-bottom: 18px; border: 0; border-radius: 12px; }
.spread-statistics .metrics-card > .el-card__body { padding: 24px; }
.spread-statistics .stat-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 18px; }
.spread-statistics .metric-tile { min-width: 0; min-height: 108px; padding: 20px; display: flex; align-items: center; gap: 16px; box-sizing: border-box; border: 1px solid #e8edf3; border-radius: 13px; background: #fff; box-shadow: 0 3px 14px rgba(15,23,42,.06); transition: transform .25s, box-shadow .25s; }
.spread-statistics .metric-tile:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(15,23,42,.11); }
.spread-statistics .metric-icon { width: 58px; height: 58px; flex: 0 0 58px; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 27px; border-radius: 14px; }
.spread-statistics .metric-icon.purple { background: linear-gradient(135deg,#667eea,#764ba2); }
.spread-statistics .metric-icon.green { background: linear-gradient(135deg,#43e97b,#38f9d7); }
.spread-statistics .metric-icon.orange { background: linear-gradient(135deg,#f7971e,#ffd200); }
.spread-statistics .metric-icon.blue { background: linear-gradient(135deg,#4facfe,#00d7ef); }
.spread-statistics .metric-icon.pink { background: linear-gradient(135deg,#f093fb,#f5576c); }
.spread-statistics .metric-info { min-width: 0; }
.spread-statistics .stat-label { margin-bottom: 6px; overflow: hidden; color: #8492a6; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.spread-statistics .stat-value { color: #17233d; font-size: 31px; font-weight: 700; line-height: 1; }
.spread-statistics .chart-grid { display: grid; grid-template-columns: minmax(360px, 1fr) minmax(0, 2fr); gap: 14px; }
.spread-statistics .chart-card { min-width: 0; border: 0; border-radius: 11px; }
.spread-statistics .chart-card > .el-card__header { padding: 26px 26px 18px; font-size: 18px; border-bottom: 1px solid #e4e7ed; }
.spread-statistics .chart-card > .el-card__body { padding: 8px 24px 18px; }
.spread-statistics .chart-box { width: 100%; height: 410px; }
.spread-statistics .top-table-card { margin-top: 14px; border: 0; border-radius: 11px; }
.spread-statistics .top-table-card > .el-card__header { padding: 20px 24px; font-size: 17px; }
@media(max-width: 1199px) { .spread-statistics .stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media(max-width: 980px) { .spread-statistics .stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .spread-statistics .chart-grid { grid-template-columns: 1fr; } }
@media(max-width: 560px) { .spread-statistics .stat-grid { grid-template-columns: 1fr; } .spread-statistics .metrics-card > .el-card__body { padding: 12px; } }
</style>
<div id="app" class="spread-statistics" v-cloak>
<guava ref="guava">
<el-card class="filter-card" shadow="never">
<search :is-search-button="false">
<search-item label="所属栏目">
<el-cascader v-model="query.categoryId" :options="categoryOptions"
:props="{value:'id',label:'name',children:'children',emitPath:false,checkStrictly:true}"
clearable filterable style="width: 100%"></el-cascader>
</search-item>
<search-item label="发布状态">
<el-select v-model="query.isPublished" clearable placeholder="全部">
<el-option label="草稿" :value="0"></el-option>
<el-option label="已发布" :value="1"></el-option>
</el-select>
</search-item>
<search-item label="创建时间">
<el-date-picker v-model="query.createTime" type="datetimerange"
value-format="yyyy-MM-dd HH:mm:ss" start-placeholder="开始时间"
end-placeholder="结束时间" style="width: 100%"></el-date-picker>
</search-item>
<div class="search-query">
<el-button type="primary" size="medium" icon="el-icon-search" @click="loadAll">查询</el-button>
<el-button size="medium" @click="resetQuery">重置</el-button>
</div>
</search>
</el-card>
<el-card class="metrics-card" shadow="never" v-loading="loading">
<div class="stat-grid">
<div class="metric-tile">
<div class="metric-icon purple"><i class="el-icon-folder-opened"></i></div>
<div class="metric-info"><div class="stat-label">栏目总数</div><div class="stat-value">{{summary.categoryCount || 0}}</div></div>
</div>
<div class="metric-tile">
<div class="metric-icon purple"><i class="el-icon-document"></i></div>
<div class="metric-info"><div class="stat-label">内容总数</div><div class="stat-value">{{summary.contentCount || 0}}</div></div>
</div>
<div class="metric-tile">
<div class="metric-icon green"><i class="el-icon-circle-check"></i></div>
<div class="metric-info"><div class="stat-label">已发布</div><div class="stat-value">{{summary.publishedCount || 0}}</div></div>
</div>
<div class="metric-tile">
<div class="metric-icon orange"><i class="el-icon-time"></i></div>
<div class="metric-info"><div class="stat-label">未发布</div><div class="stat-value">{{unpublishedCount}}</div></div>
</div>
<div class="metric-tile">
<div class="metric-icon blue"><i class="el-icon-view"></i></div>
<div class="metric-info"><div class="stat-label">总访问量</div><div class="stat-value">{{summary.viewCount || 0}}</div></div>
</div>
<div class="metric-tile">
<div class="metric-icon pink"><i class="el-icon-data-line"></i></div>
<div class="metric-info"><div class="stat-label">平均访问量</div><div class="stat-value">{{summary.avgViewCount || 0}}</div></div>
</div>
</div>
</el-card>
<div class="chart-grid">
<el-card class="chart-card" shadow="never">
<div slot="header"><b>栏目访问量占比</b></div>
<div ref="categoryChart" class="chart-box"></div>
</el-card>
<el-card class="chart-card" shadow="never">
<div slot="header"><b>新闻内容访问量 Top10</b></div>
<div ref="topChart" class="chart-box"></div>
</el-card>
</div>
<el-card class="top-table-card" shadow="never" v-loading="loading">
<div slot="header"><b>新闻内容访问量 Top10</b></div>
<el-table :data="topData" stripe border style="width: 100%">
<el-table-column type="index" label="序号" width="70" align="center"></el-table-column>
<el-table-column prop="categoryName" label="栏目" min-width="120" align="center"></el-table-column>
<el-table-column prop="title" label="标题" min-width="260" show-overflow-tooltip></el-table-column>
<el-table-column prop="summary" label="摘要" min-width="260" show-overflow-tooltip></el-table-column>
<el-table-column prop="unionName" label="所属工会" min-width="150" show-overflow-tooltip align="center"></el-table-column>
<el-table-column label="发布时间" width="170" align="center">
<template slot-scope="{row}">{{formatTime(row.publishedAt)}}</template>
</el-table-column>
<el-table-column prop="viewCount" label="访问量" width="100" align="center"></el-table-column>
</el-table>
</el-card>
</guava>
</div>
<script nonce="${cspNonce!}">
new Vue({
el: "#app",
data() {
return {
apiBase: "/platform/spread/statistics",
loading: false,
query: {categoryId: "", isPublished: "", createTime: []},
categoryOptions: [],
summary: {},
topData: [],
categoryData: [],
topChart: null,
categoryChart: null
}
},
computed: {
// 未发布数量由内容总数减去已发布数量得到。
unpublishedCount() {
return Math.max(Number(this.summary.contentCount || 0) - Number(this.summary.publishedCount || 0), 0)
}
},
methods: {
// 将时间范围拆分成统计接口参数。
buildParams() {
return {
categoryId: this.query.categoryId,
isPublished: this.query.isPublished,
beginTime: this.query.createTime && this.query.createTime.length ? this.query.createTime[0] : "",
endTime: this.query.createTime && this.query.createTime.length ? this.query.createTime[1] : ""
}
},
// 加载栏目筛选树。
loadCategories() {
return this.$axios.post(this.apiBase + "/categoryTree").then(resp => {
if (resp.code === 0) this.categoryOptions = resp.data || []
})
},
// 并行加载卡片、排行和栏目统计,减少页面等待时间。
loadAll() {
this.loading = true
const params = this.buildParams()
Promise.all([
this.$axios.post(this.apiBase + "/summary", params),
this.$axios.post(this.apiBase + "/top10", params),
this.$axios.post(this.apiBase + "/categoryData", params)
]).then(values => {
this.summary = values[0].code === 0 ? (values[0].data || {}) : {}
this.topData = values[1].code === 0 ? (values[1].data || []) : []
this.categoryData = values[2].code === 0 ? (values[2].data || []) : []
this.$nextTick(this.renderCharts)
}).finally(() => this.loading = false)
},
// 清空筛选并重新统计。
resetQuery() {
this.query = {categoryId: "", isPublished: "", createTime: []}
this.loadAll()
},
// 创建或刷新两个统计图表。
renderCharts() {
if (!window.echarts) return
if (!this.topChart) this.topChart = echarts.init(this.$refs.topChart)
if (!this.categoryChart) this.categoryChart = echarts.init(this.$refs.categoryChart)
this.topChart.setOption({
color: ["#5b8ff9"],
tooltip: {trigger: "axis", axisPointer: {type: "shadow"}},
grid: {left: 58, right: 28, top: 42, bottom: 82},
xAxis: {
type: "category",
data: this.topData.map(item => item.title),
axisTick: {show: false},
axisLine: {lineStyle: {color: "#cfd5df"}},
axisLabel: {
interval: 0,
rotate: 24,
color: "#606266",
formatter: value => value.length > 12 ? value.slice(0, 12) + "…" : value
}
},
yAxis: {
type: "value",
minInterval: 1,
axisLine: {show: false},
axisTick: {show: false},
splitLine: {lineStyle: {color: "#dfe3e8", type: "dashed"}}
},
series: [{
type: "bar",
barMaxWidth: 44,
itemStyle: {color: "#5b8ff9"},
data: this.topData.map(item => item.viewCount || 0)
}]
}, true)
this.categoryChart.setOption({
color: ["#5b8ff9", "#5ad8a6", "#6f86ad", "#f6bd16", "#e8684a", "#9270ca"],
tooltip: {trigger: "item", formatter: "{b}<br/>访问量:{c}<br/>占比:{d}%"},
series: [{
type: "pie",
radius: ["35%", "64%"],
center: ["50%", "56%"],
avoidLabelOverlap: true,
itemStyle: {borderColor: "#fff", borderWidth: 3, borderRadius: 10},
label: {color: "#303133", formatter: "{b}: {d}%"},
labelLine: {length: 16, length2: 18},
data: this.categoryData.map(item => ({name: item.categoryName, value: item.viewCount || 0}))
}]
}, true)
},
// 格式化 Top10 表格的发布时间。
formatTime(value) {
return value ? this.$moment(Number(value)).format("YYYY-MM-DD HH:mm:ss") : ""
},
// 浏览器尺寸变化时重算图表尺寸。
resizeCharts() {
if (this.topChart) this.topChart.resize()
if (this.categoryChart) this.categoryChart.resize()
}
},
mounted() {
window.addEventListener("resize", this.resizeCharts)
// 图表容器挂载完成后自动执行首次查询,避免必须点击“查询”才显示数据。
this.$nextTick(() => {
this.loadCategories().then(() => this.loadAll())
})
},
beforeDestroy() {
window.removeEventListener("resize", this.resizeCharts)
if (this.topChart) this.topChart.dispose()
if (this.categoryChart) this.categoryChart.dispose()
}
})
</script>
<!--#
}
#-->
@@ -3,79 +3,448 @@ layout("/layouts/platform_h5.html"){
#-->
<style>
.list-card {
border-radius: 0;
body {
background-color: #f3f7fd;
}
.list-card-body {
/* width: calc(100% - 140px);
display: flex;*/
width: calc(100% - 140px);
.culture-activity-page {
min-height: 100vh;
padding-bottom: calc(24px + env(safe-area-inset-bottom));
box-sizing: border-box;
background-color: #f3f7fd;
}
.culture-activity-page .van-nav-bar {
background-color: #fff;
}
.culture-activity-page .van-nav-bar__title {
color: #1f2937;
font-size: 16px;
}
.culture-activity-page .van-nav-bar .van-icon,
.culture-activity-page .van-nav-bar__text {
color: #397fbd;
}
.culture-activity-content {
padding: 12px 12px 0;
}
.culture-activity-hero {
position: relative;
height: 134px;
overflow: hidden;
border-radius: 10px;
color: #fff;
background-color: #247fe8;
box-shadow: 0 8px 20px rgba(51, 117, 219, .18);
}
.culture-activity-hero__image {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
}
.culture-activity-hero__copy {
position: relative;
z-index: 1;
display: flex;
width: 64%;
height: 100%;
padding-left: 16px;
flex-direction: column;
justify-content: center;
box-sizing: border-box;
background: linear-gradient(90deg, rgba(22, 112, 232, .98) 0%, rgba(22, 112, 232, .88) 52%, rgba(22, 112, 232, 0) 100%);
}
.culture-activity-hero__title {
font-size: 25px;
line-height: 34px;
font-weight: 700;
letter-spacing: 1px;
text-shadow: 0 2px 6px rgba(17, 86, 182, .18);
}
.culture-activity-hero__subtitle {
margin-top: 4px;
font-size: 13px;
line-height: 20px;
letter-spacing: .5px;
opacity: .95;
}
.culture-activity-sticky {
padding: 10px 0 1px;
background-color: #f3f7fd;
}
.van-sticky--fixed .culture-activity-sticky {
padding-right: 12px;
padding-left: 12px;
box-sizing: border-box;
}
.culture-activity-search {
margin: 0 0 8px;
padding: 0;
overflow: hidden;
border-radius: 12px;
background-color: #fff;
box-shadow: 0 5px 16px rgba(43, 73, 112, .1);
}
.culture-activity-search .van-search__content {
height: 42px;
padding-left: 12px;
align-items: center;
border-radius: 12px;
background-color: #fff;
}
.culture-activity-search .van-field__control {
color: #263548;
font-size: 14px;
}
.culture-activity-search .van-field__control::placeholder {
color: #a7b0bf;
}
.culture-activity-filter {
margin: 0 0 10px;
overflow: hidden;
border-radius: 10px;
box-shadow: 0 5px 16px rgba(43, 73, 112, .08);
transition: border-radius .18s ease;
}
.culture-activity-filter.is-open {
border-radius: 10px 10px 0 0;
}
.culture-activity-filter .van-dropdown-menu__bar {
height: 44px;
box-shadow: none;
}
.culture-activity-filter .van-dropdown-menu__item {
min-width: 0;
flex: 1 1 0;
overflow: hidden;
}
.culture-activity-filter .van-dropdown-menu__item:last-child {
flex-grow: 1.35;
}
.culture-activity-filter .van-dropdown-menu__title {
width: 100%;
max-width: 100%;
padding: 0 15px 0 4px;
overflow: hidden;
color: #66758a;
font-size: 12px;
text-align: center;
text-overflow: ellipsis;
white-space: nowrap;
box-sizing: border-box;
}
.culture-activity-filter .van-dropdown-menu__title::after {
right: 5px;
}
.culture-activity-filter .van-dropdown-menu__title--active,
.culture-activity-filter .van-dropdown-item__option--active,
.culture-activity-filter .van-dropdown-item__option--active .van-dropdown-item__icon {
color: #1989fa;
}
.culture-activity-filter .van-dropdown-menu__title--down::after {
border-color: transparent transparent #1989fa #1989fa;
}
.culture-activity-filter .van-dropdown-item__content {
width: calc(100% - 24px);
margin: 0 12px;
overflow: hidden;
box-sizing: border-box;
border-radius: 0 0 12px 12px;
box-shadow: 0 10px 24px rgba(31, 65, 108, .14);
}
.culture-activity-filter .van-dropdown-item__option {
min-height: 48px;
padding: 0 16px;
color: #46566c;
font-size: 14px;
}
.culture-activity-filter .van-cell::after {
right: 16px;
left: 16px;
}
.culture-activity-list {
display: flex;
flex-direction: column;
justify-content: space-between;
gap: 10px;
}
.list-card-body .title {
.culture-activity-card {
position: relative;
overflow: hidden;
border-radius: 10px;
background-color: #fff;
box-shadow: 0 7px 20px rgba(55, 85, 126, .08);
}
.culture-activity-card__cover,
.culture-activity-card__cover-state {
display: flex;
width: 100%;
height: 150px;
align-items: center;
justify-content: center;
box-sizing: border-box;
background-color: #edf4fc;
}
.culture-activity-card__cover {
display: block;
object-fit: cover;
}
.culture-activity-card__cover-state {
flex-direction: column;
row-gap: 8px;
color: #8da1ba;
font-size: 13px;
}
.culture-activity-card__cover-state .van-icon {
font-size: 34px;
}
.culture-activity-card__cover-state.is-error {
color: #c27b75;
background-color: #fff3f1;
}
.culture-activity-card__body {
padding: 12px 38px 14px 14px;
}
.culture-activity-card__title {
min-width: 0;
overflow: hidden;
color: #303846;
font-size: 14px;
line-height: 21px;
text-overflow: ellipsis;
white-space: nowrap;
}
.culture-activity-card__time {
margin-top: 4px;
color: #98a2b2;
font-size: 12px;
line-height: 17px;
white-space: nowrap;
}
.culture-activity-card__meta {
margin-top: 10px;
padding-top: 9px;
border-top: 1px solid #edf1f6;
}
.culture-activity-card__address {
display: flex;
align-items: flex-start;
color: #69788d;
font-size: 12px;
line-height: 18px;
}
.culture-activity-card__address .van-icon {
margin: 2px 5px 0 0;
flex: none;
color: #6c9ff8;
font-size: 14px;
}
.culture-activity-card__address span {
overflow: hidden;
text-overflow: ellipsis;
font-size: 1.1em;
white-space: nowrap;
}
.list-card-body .time {
color: #9a9696;
line-height: 20px;
.culture-activity-card__tags {
display: flex;
margin-top: 8px;
flex-wrap: wrap;
gap: 6px;
}
.list-card-body .footer {
text-align: right;
.culture-activity-card__tag {
display: inline-flex;
padding: 3px 8px;
align-items: center;
border-radius: 4px;
color: #397de0;
background-color: #edf5ff;
font-size: 11px;
line-height: 16px;
}
.list-card-body .footer .tag {
border: 1px solid transparent;
padding: 5px;
border-radius: 5px;
.culture-activity-card__tag-label {
margin-right: 4px;
color: #8aa7cf;
}
.list-card-img img{
width: 100%;
.culture-activity-card__arrow {
position: absolute;
top: 164px;
right: 14px;
color: #b4bdca;
font-size: 16px;
}
.culture-activity-empty {
display: flex;
min-height: 260px;
padding: 26px 18px 32px;
align-items: center;
justify-content: center;
flex-direction: column;
box-sizing: border-box;
text-align: center;
}
.culture-activity-empty img {
display: block;
width: 82%;
max-width: 280px;
height: auto;
border-radius: 12px;
object-fit: contain;
}
.culture-activity-empty__title {
margin-top: 14px;
color: #50627a;
font-size: 15px;
line-height: 22px;
font-weight: 600;
}
.culture-activity-empty__hint {
margin-top: 5px;
color: #9aa7b8;
font-size: 12px;
line-height: 18px;
}
.culture-activity-page .van-list__finished-text,
.culture-activity-page .van-list__loading {
color: #9aa7b8;
font-size: 13px;
line-height: 44px;
}
</style>
<div id="app" v-cloak>
<van-nav-bar title="活动列表" @click-left="historyBack" left-arrow left-text="返回" placeholder fixed></van-nav-bar>
<van-sticky offset-top="46px">
<van-dropdown-menu>
<year-van-dropdown-item :num="5" @change="doSearch" v-model="pageForm.year"></year-van-dropdown-item>
<van-dropdown-item :options="stateList" @change="doSearch" v-model="pageForm.state"></van-dropdown-item>
<van-dropdown-item :options="isEnrolledOptions" @change="doSearch" v-model="pageForm.isEnrolled"></van-dropdown-item>
<van-dropdown-item :options="activityTypeOptions" @change="doSearch" v-model="pageForm.activity_type"></van-dropdown-item>
</van-dropdown-menu>
</van-sticky>
<table-list api="/platform/activity/culture/applyUser/pageData"
:page_form.sync="pageForm"
ref="tableListRef"
title="name"
img="cover"
@ready="onReady"
>
<template v-slot="{index,row}">
<table-column label="报名开始时间">
{{$moment(row.startTime).format('MM/DD HH:mm')}}
</table-column>
<table-column label="报名结束时间">
{{$moment(row.endTime).format('MM/DD HH:mm')}}
</table-column>
</template>
<template #actions="{index,row}">
<template v-if="$moment().isBefore($moment(row.endTime))">
<div class="action-btn" @click="openDetail(row)">
<i class="fa fa-edit"></i>
<span>去报名</span>
<div class="culture-activity-page">
<van-nav-bar title="文化活动" @click-left="historyBack" left-arrow left-text="返回" placeholder fixed></van-nav-bar>
<div class="culture-activity-content">
<section class="culture-activity-hero">
<img class="culture-activity-hero__image" src="/assets/mobile/img/activity/hero/culture-hero-v3.png" alt="文化活动插画">
<div class="culture-activity-hero__copy">
<div class="culture-activity-hero__title">文化活动</div>
<div class="culture-activity-hero__subtitle">丰富生活 · 乐享校园</div>
</div>
</template>
</template>
</table-list>
</section>
<van-sticky :offset-top="46">
<div class="culture-activity-sticky">
<van-search
v-model="searchKeyword"
class="culture-activity-search"
placeholder="搜索文化活动"
shape="round"
clearable
@search="doSearch"
@clear="doSearch"
></van-search>
<van-dropdown-menu class="culture-activity-filter" :class="{'is-open': filterOpened}" active-color="#1989fa">
<year-van-dropdown-item :num="5" @change="doSearch" @open="filterOpened = true" @close="filterOpened = false" v-model="pageForm.year"></year-van-dropdown-item>
<van-dropdown-item :options="stateList" @change="doSearch" @open="filterOpened = true" @close="filterOpened = false" v-model="pageForm.state"></van-dropdown-item>
<van-dropdown-item :options="isEnrolledOptions" @change="doSearch" @open="filterOpened = true" @close="filterOpened = false" v-model="pageForm.isEnrolled"></van-dropdown-item>
<van-dropdown-item :options="activityTypeOptions" @change="doSearch" @open="filterOpened = true" @close="filterOpened = false" v-model="pageForm.activity_type"></van-dropdown-item>
</van-dropdown-menu>
</div>
</van-sticky>
<van-pull-refresh v-model="refreshing" @refresh="onRefresh">
<van-list v-model="loading" :finished="finished" @load="onLoad">
<div class="culture-activity-list">
<div v-for="row in tableData" :key="row.id" class="culture-activity-card" @click="openDetail(row)">
<img
v-if="hasCover(row) && !imageLoadErrors[row.id]"
class="culture-activity-card__cover"
:src="row.cover"
:alt="row.name"
@error="handleImageError(row)"
>
<div v-else class="culture-activity-card__cover-state" :class="{'is-error': hasCover(row)}">
<van-icon name="photo-o"></van-icon>
<span>{{ hasCover(row) ? '图片加载失败' : '暂无图片' }}</span>
</div>
<div class="culture-activity-card__body">
<div class="culture-activity-card__title">{{ row.name }}</div>
<div class="culture-activity-card__time" v-if="row.applyStartTime && row.applyEndTime">
报名时间:{{ $moment(row.applyStartTime).format('MM/DD HH:mm') }}~{{ $moment(row.applyEndTime).format('MM/DD HH:mm') }}
</div>
<div class="culture-activity-card__time" v-if="row.startTime && row.endTime">
活动时间:{{ $moment(row.startTime).format('MM/DD HH:mm') }}~{{ $moment(row.endTime).format('MM/DD HH:mm') }}
</div>
<div class="culture-activity-card__meta" v-if="row.address || row.projectTypeName || formatSignUpMethod(row.signUpMethod)">
<div class="culture-activity-card__address" v-if="row.address">
<van-icon name="location-o"></van-icon>
<span>{{ row.address }}</span>
</div>
<div class="culture-activity-card__tags" v-if="row.projectTypeName || formatSignUpMethod(row.signUpMethod)">
<span class="culture-activity-card__tag" v-if="row.projectTypeName">
<span class="culture-activity-card__tag-label">活动类型</span>{{ row.projectTypeName }}
</span>
<span class="culture-activity-card__tag" v-if="formatSignUpMethod(row.signUpMethod)">
<span class="culture-activity-card__tag-label">报名方式</span>{{ formatSignUpMethod(row.signUpMethod) }}
</span>
</div>
</div>
</div>
<van-icon class="culture-activity-card__arrow" name="arrow"></van-icon>
</div>
</div>
</van-list>
<div v-if="!loading && tableData.length === 0" class="culture-activity-empty">
<img src="/assets/mobile/img/activity/culture-empty.png" alt="文化活动空状态插画">
<div class="culture-activity-empty__title">暂无文化活动</div>
<div class="culture-activity-empty__hint">当前筛选条件下暂时没有可展示的活动</div>
</div>
</van-pull-refresh>
</div>
</div>
<van-popup :style="{ height: '100%',width: '100%'}" position="right" v-model="viewShow">
<mobile-culture-apply-user :id="viewData.id" @back="back" @submit_back="submit_back" ref="viewInfo"></mobile-culture-apply-user>
@@ -92,10 +461,14 @@ layout("/layouts/platform_h5.html"){
finished: false,
loading: false,
refreshing: false,
searchKeyword: "",
imageLoadErrors: {},
filterOpened: false,
pageForm: {
state: 2,
isEnrolled: 0,
year: new Date().getFullYear(),
name: "",
pageNumber: 1,
pageSize: 5,
totalCount: 0,
@@ -128,6 +501,47 @@ layout("/layouts/platform_h5.html"){
onReady() {
this.doSearch()
},
hasCover(row) {
return !!(row && row.cover && String(row.cover).trim())
},
handleImageError(row) {
this.$set(this.imageLoadErrors, row.id, true)
},
formatSignUpMethod(value) {
return {
1: "个人报名",
2: "组队报名",
3: "分工会报名"
}[Number(value)] || ""
},
onLoad() {
if (!this.finished) this.loadActivities(false)
},
onRefresh() {
this.loadActivities(true)
},
loadActivities(reset) {
if (reset) {
this.pageForm.pageNumber = 1
this.pageForm.totalCount = 0
this.tableData = []
this.finished = false
this.imageLoadErrors = {}
}
this.loading = true
this.$axios.post("/platform/activity/culture/applyUser/pageData", this.pageForm).then((res) => {
if (res.code === 0) {
const list = res.data && res.data.list ? res.data.list : []
this.tableData = this.pageForm.pageNumber === 1 ? list : this.tableData.concat(list)
this.pageForm.totalCount = res.data && res.data.totalCount ? res.data.totalCount : 0
this.finished = this.tableData.length >= this.pageForm.totalCount
if (!this.finished) this.pageForm.pageNumber++
}
}).finally(() => {
this.loading = false
this.refreshing = false
})
},
openDetail(row) {
this.$axios.post('/platform/activity/basic/scope/getScopeUser',{activityGroupId:row.groupId}).then(res=>{
@@ -216,11 +630,8 @@ layout("/layouts/platform_h5.html"){
.catch(() => {})
},
doSearch() {
this.$nextTick(() => {
this.pageForm.pageNumber = 1
this.pageForm.totalCount = 0
this.$refs.tableListRef.doSearch()
})
this.pageForm.name = this.searchKeyword.trim()
this.loadActivities(true)
}
},
created() {
@@ -3,44 +3,182 @@ layout("/layouts/platform_h5.html"){
#-->
<style>
.title {
padding: 10px;
font-size: 1.2em;
font-weight: bold;
background: #ffffff;
body {
background-color: #f3f7fd;
}
.culture-detail-page {
min-height: 100vh;
padding-bottom: calc(78px + env(safe-area-inset-bottom));
box-sizing: border-box;
background-color: #f3f7fd;
}
.culture-detail-page .van-nav-bar {
background-color: #fff;
}
.culture-detail-page .van-nav-bar__title {
color: #1f2937;
font-size: 16px;
}
.culture-detail-page .van-nav-bar .van-icon,
.culture-detail-page .van-nav-bar__text {
color: #397fbd;
}
.culture-detail-content {
padding: 12px;
}
.culture-detail-overview,
.notice,
.block,
.form-create-h5 {
overflow: hidden;
border-radius: 12px;
background-color: #fff;
box-shadow: 0 7px 20px rgba(55, 85, 126, .08);
}
.culture-detail-cover {
display: block;
width: 100%;
height: 216px;
background-color: #edf4fc;
}
.culture-detail-cover img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}
.culture-detail-cover-state {
display: flex;
width: 100%;
height: 100%;
align-items: center;
justify-content: center;
flex-direction: column;
row-gap: 8px;
color: #8da1ba;
font-size: 13px;
}
.culture-detail-cover-state .van-icon {
font-size: 36px;
}
.culture-detail-summary {
padding: 15px 14px 14px;
}
.culture-detail-title {
color: #23344a;
font-size: 18px;
line-height: 26px;
font-weight: 600;
}
.culture-detail-tags {
display: flex;
margin-top: 9px;
flex-wrap: wrap;
gap: 6px;
}
.culture-detail-tag {
display: inline-flex;
padding: 3px 9px;
align-items: center;
border-radius: 4px;
color: #397de0;
background-color: #edf5ff;
font-size: 11px;
line-height: 17px;
}
.culture-detail-info {
margin-top: 13px;
padding-top: 3px;
border-top: 1px solid #edf1f6;
}
.info-item {
display: flex;
min-height: 46px;
padding: 10px 0;
align-items: flex-start;
box-sizing: border-box;
border-bottom: 1px solid #edf1f6;
}
.info-item:last-child {
border-bottom: 0;
}
.info-item__icon {
display: flex;
width: 28px;
height: 28px;
margin-right: 10px;
flex: 0 0 28px;
align-items: center;
padding: 20px 15px;
border-bottom: 1px solid #ededed;
column-gap: 10px;
background: #ffffff;
justify-content: center;
border-radius: 8px;
color: #4389e8;
background-color: #edf5ff;
font-size: 16px;
}
.info-item__content {
min-width: 0;
flex: 1;
}
.info-item__label {
color: #8b98aa;
font-size: 12px;
line-height: 17px;
}
.info-item__value {
margin-top: 2px;
color: #34445a;
font-size: 13px;
line-height: 19px;
word-break: break-word;
}
.left-tag-title::before {
content: "";
width: 5px;
background: var(--color-primary);
display: inline-block;
position: absolute;
left: 0;
top: 0;
bottom: 0;
top: 3px;
width: 4px;
height: 18px;
border-radius: 2px;
background: var(--color-primary);
}
.users {
padding: 10px;
margin-top: 10px;
border-top: 1px solid #e8e0e0;
padding: 14px;
margin-top: 12px;
border-radius: 12px;
background: #ffffff;
box-shadow: 0 7px 20px rgba(55, 85, 126, .08);
}
.users-title {
font-size: 1.1em;
position: relative;
padding-left: 10px;
padding-left: 11px;
color: #263548;
font-size: 16px;
line-height: 24px;
font-weight: 600;
}
.users-content {
@@ -64,60 +202,133 @@ layout("/layouts/platform_h5.html"){
}
.block {
padding: 10px;
margin-top: 10px;
border-top: 1px solid #e8e0e0;
background: #ffffff;
padding: 15px 14px;
margin-top: 12px;
}
.notice {
padding: 10px;
margin-top: 10px;
border-top: 1px solid #e8e0e0;
background: #ffffff;
margin-top: 12px;
padding: 15px 14px;
overflow: hidden;
border-radius: 12px;
background-color: #fff;
box-shadow: 0 7px 20px rgba(55, 85, 126, .08);
}
.notice-title {
font-size: 1.1em;
position: relative;
padding-left: 10px;
padding: 0 0 10px 11px;
border-bottom: 1px solid #edf1f6;
color: #263548;
font-size: 16px;
line-height: 24px;
font-weight: 600;
}
.notice-content {
padding: 10px;
padding: 10px 0 0;
box-sizing: border-box;
}
.notice-content,
.notice-content div,
.notice-content p,
.notice-content span,
.notice-content li {
color: #3f4c5e !important;
font-size: 14px !important;
line-height: 1.8 !important;
word-break: break-word;
}
.notice-content h1,
.notice-content h2,
.notice-content h3,
.notice-content h4,
.notice-content h5,
.notice-content h6 {
margin: 16px 0 10px !important;
color: #1f2f43 !important;
font-size: 19px !important;
line-height: 1.5 !important;
font-weight: 600 !important;
}
.notice-content > :first-child,
.notice-content > rich-text > :first-child {
margin-top: 0 !important;
}
.notice-content p {
margin-top: 0 !important;
margin-bottom: 8px !important;
}
.notice-content img {
max-width: 100% !important;
height: auto !important;
border-radius: 8px;
}
.notice-content table {
display: block;
max-width: 100%;
overflow-x: auto;
border-collapse: collapse;
}
.footer {
position: fixed;
background: #ffffff;
height: 56px;
display: flex;
align-items: center;
justify-content: space-between;
right: 0;
bottom: 0;
left: 0;
right: 0;
z-index: 10;
display: flex;
min-height: 64px;
padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
align-items: center;
gap: 10px;
box-sizing: border-box;
border-top: 1px solid #e8eef6;
background: rgba(255, 255, 255, .97);
box-shadow: 0 -6px 18px rgba(36, 65, 102, .08);
}
.footer .bottom-button {
flex: 1;
display: flex;
min-width: 0;
height: 46px;
flex: 1;
flex-direction: column;
align-items: center;
justify-content: center;
color: rgb(255, 255, 255);
height: 100%;
border-radius: 23px;
color: #fff;
font-size: 14px;
line-height: 18px;
box-shadow: 0 6px 16px rgba(25, 137, 250, .2);
}
.footer .bottom-button.is-primary {
background-color: var(--color-primary);
}
.footer .bottom-button.is-danger {
color: #fff;
border: 1px solid #ee5a5a;
background-color: #ee5a5a;
box-shadow: 0 6px 16px rgba(238, 90, 90, .2);
}
.footer .bottom-button.is-disabled {
color: #8b98aa;
background-color: #eef2f7;
box-shadow: none;
}
.form-create-h5 {
background-color: #ffffff;
margin-top: 10px;
padding: 10px 10px 56px 10px;
margin-top: 12px;
padding: 15px 14px;
}
.form-create-h5 .el-form {
@@ -159,58 +370,139 @@ layout("/layouts/platform_h5.html"){
margin-right: 0;
}
.block .el-select {
width: calc(100% - 88px);
margin-top: 12px;
}
.block > .el-button,
.block > div > .el-button {
margin-top: 12px;
border-color: var(--color-primary);
background-color: var(--color-primary);
}
.block .el-input__inner {
border-radius: 8px;
}
.block .el-table {
overflow: hidden;
border-radius: 8px;
color: #566579;
font-size: 12px;
}
.block .text-primary {
display: block;
margin-top: 10px;
color: #7b8ba1;
font-size: 12px;
line-height: 18px;
}
</style>
<div id="app" v-cloak>
<van-nav-bar @click-left="historyBack" placeholder fixed left-arrow left-text="返回" placeholder
title="活动详情"></van-nav-bar>
<div class="culture-detail-page">
<van-nav-bar @click-left="historyBack" fixed left-arrow left-text="返回" placeholder title="活动详情"></van-nav-bar>
<div style="background: #ededed; padding-bottom: 56px">
<van-image :src="viewData.cover"></van-image>
<div class="title">{{viewData.name}}</div>
<div class="info">
<main class="culture-detail-content">
<section class="culture-detail-overview">
<van-image class="culture-detail-cover" :src="viewData.cover" fit="cover">
<template #loading>
<div class="culture-detail-cover-state">
<van-loading type="spinner" color="#1989fa"></van-loading>
<span>图片加载中</span>
</div>
</template>
<template #error>
<div class="culture-detail-cover-state">
<van-icon name="photo-o"></van-icon>
<span>{{ viewData.cover ? '图片加载失败' : '暂无图片' }}</span>
</div>
</template>
</van-image>
<div class="culture-detail-summary">
<div class="culture-detail-title">{{viewData.name}}</div>
<div class="culture-detail-tags">
<span class="culture-detail-tag" v-if="viewData.projectTypeName">{{viewData.projectTypeName}}</span>
<span class="culture-detail-tag" v-if="viewData.signUpMethod===1">个人报名</span>
<span class="culture-detail-tag" v-else-if="viewData.signUpMethod===2">组队报名</span>
<span class="culture-detail-tag" v-else-if="viewData.signUpMethod===3">分工会报名</span>
</div>
<div class="culture-detail-info">
<div class="info-item">
<van-icon name="underway-o"></van-icon>
<div>{{viewData.startTime}}至{{viewData.endTime}}</div>
<div class="info-item__icon"><van-icon name="underway-o"></van-icon></div>
<div class="info-item__content">
<div class="info-item__label">活动时间</div>
<div class="info-item__value">
{{viewData.startTime ? $moment(viewData.startTime).format('YYYY-MM-DD HH:mm') : '待定'}}
{{viewData.endTime ? $moment(viewData.endTime).format('YYYY-MM-DD HH:mm') : '待定'}}
</div>
</div>
</div>
<div class="info-item" v-if="viewData.applyStartTime || viewData.applyEndTime">
<div class="info-item__icon"><van-icon name="clock-o"></van-icon></div>
<div class="info-item__content">
<div class="info-item__label">报名时间</div>
<div class="info-item__value">
{{viewData.applyStartTime ? $moment(viewData.applyStartTime).format('YYYY-MM-DD HH:mm') : '待定'}}
{{viewData.applyEndTime ? $moment(viewData.applyEndTime).format('YYYY-MM-DD HH:mm') : '待定'}}
</div>
</div>
</div>
<div class="info-item">
<van-icon name="location-o"></van-icon>
<div>{{viewData.address}}</div>
<div class="info-item__icon"><van-icon name="location-o"></van-icon></div>
<div class="info-item__content">
<div class="info-item__label">活动地点</div>
<div class="info-item__value">{{viewData.address || '待定'}}</div>
</div>
</div>
<div class="info-item" v-if="viewData.userNumberLimit===1">
<van-icon name="location-o"></van-icon>
活动限制人数
<span>{{viewData.totalUserNumberLimit}}人</span>
<div class="info-item__icon"><van-icon name="friends-o"></van-icon></div>
<div class="info-item__content">
<div class="info-item__label">活动限制人数</div>
<div class="info-item__value">{{viewData.totalUserNumberLimit}}人</div>
</div>
</div>
<div class="info-item" v-if="viewData.userNumberLimit===2">
<van-icon name="location-o"></van-icon>
本工会限制名额
<span>{{viewData.unionLimitNum}}人</span>
<div class="info-item__icon"><van-icon name="friends-o"></van-icon></div>
<div class="info-item__content">
<div class="info-item__label">本工会限制名额</div>
<div class="info-item__value">{{viewData.unionLimitNum}}人</div>
</div>
</div>
<div class="info-item">
<van-icon name="location-o"></van-icon>
报名方式:
<span v-if="viewData.signUpMethod===1" style="color: var(--color-primary)">个人报名</span>
<span v-if="viewData.signUpMethod===2" style="color: var(--color-primary)">组队报名</span>
<span v-if="viewData.signUpMethod===3" style="color: var(--color-primary)">分工会报名</span>
<div class="info-item__icon"><van-icon name="records"></van-icon></div>
<div class="info-item__content">
<div class="info-item__label">报名方式</div>
<div class="info-item__value">
<span v-if="viewData.signUpMethod===1">个人报名</span>
<span v-else-if="viewData.signUpMethod===2">组队报名</span>
<span v-else-if="viewData.signUpMethod===3">分工会报名</span>
<span v-else>无需报名</span>
</div>
</div>
</div>
<div class="info-item" v-if="viewData.signUpMethod==3">
<van-icon name="location-o"></van-icon>
组队人数:
<span style="color: var(--color-primary)">{{viewData.teamNum}}</span>
<div class="info-item__icon"><van-icon name="cluster-o"></van-icon></div>
<div class="info-item__content">
<div class="info-item__label">组队人数</div>
<div class="info-item__value">{{viewData.teamNum}}人</div>
</div>
</div>
<!-- <div class="info-item" v-if="viewData.signUpMethod==1">-->
<!-- <van-icon name="location-o"></van-icon>-->
<!-- 报名人数:-->
<!-- <span style="color: var(&#45;&#45;color-primary)">2</span>-->
<!---->
<!-- </div>-->
</div>
</div>
</div>
</section>
<div class="notice">
<div class="notice-title left-tag-title">活动详情</div>
<rich-text :value="viewData.activityContent" :height="300"></rich-text>
<div class="notice-content">
<rich-text :value="viewData.activityContent" :height="300"></rich-text>
</div>
</div>
<!-- 个人报名 啥也不要-->
@@ -327,27 +619,31 @@ layout("/layouts/platform_h5.html"){
<form-create :value.sync="dynamicFormData" v-model="fapi" :rule="formCreateRule"
:option="formCreateOption"></form-create>
</div>
</div>
</main>
<div class="footer">
<div class="bottom-button" style="background: var(--color-primary)" v-if="!isSignUp && inApplyTime"
@click="onConfirm">
<span>立即报名</span>
<span style="font-size: 12px; margin-top: 5px">{{viewData.applyEndTime}}截止报名</span>
<div class="footer">
<div class="bottom-button is-primary" v-if="!isSignUp && inApplyTime" @click="onConfirm">
<span>立即报名</span>
<span>{{viewData.applyEndTime ? $moment(viewData.applyEndTime).format('MM-DD HH:mm') : ''}}截止报名</span>
</div>
<div class="bottom-button is-primary" v-if="isSignUp && inApplyTime" @click="onConfirmAgain">
<span>重新提交</span>
<span>{{viewData.applyEndTime ? $moment(viewData.applyEndTime).format('MM-DD HH:mm') : ''}}截止报名</span>
</div>
<div class="bottom-button is-danger" v-if="isSignUp && inApplyTime" @click="onCancel">
<span>取消报名</span>
<span>{{viewData.applyEndTime ? $moment(viewData.applyEndTime).format('MM-DD HH:mm') : ''}}截止报名</span>
</div>
<div class="bottom-button is-disabled"
v-if="viewData.applyEndTime && $moment(viewData.applyEndTime).valueOf() < $moment().valueOf() && $moment(viewData.endTime).valueOf() >= $moment().valueOf()">
已过报名时间
</div>
<div class="bottom-button is-disabled" v-if="$moment(viewData.endTime).valueOf() < $moment().valueOf()">活动已结束</div>
</div>
<div class="bottom-button" style="background: var(--color-primary)" v-if="isSignUp && inApplyTime"
@click="onConfirmAgain">
<span>重新提交</span>
<span style="font-size: 12px; margin-top: 5px">{{viewData.applyEndTime}}截止报名</span>
</div>
<div class="bottom-button" style="background: red" v-if="isSignUp && inApplyTime" @click="onCancel">
<span>取消报名</span>
<span style="font-size: 12px; margin-top: 5px">{{viewData.applyEndTime}}截止报名</span>
</div>
<div class="bottom-button" v-if="$moment(viewData.endTime).valueOf() < $moment().valueOf()">活动已结束</div>
</div>
</div>

Some files were not shown because too many files have changed in this diff Show More