diff --git a/src/main/resources/views/platform/zhgh/democratic/congress/materials/statistical/index.html b/src/main/resources/views/platform/zhgh/democratic/congress/materials/statistical/index.html index 8c98b79b..2b5f8ace 100644 --- a/src/main/resources/views/platform/zhgh/democratic/congress/materials/statistical/index.html +++ b/src/main/resources/views/platform/zhgh/democratic/congress/materials/statistical/index.html @@ -109,15 +109,27 @@ layout("/layouts/platform.html"){ if (!value) return [] try { const data = typeof value === "string" ? JSON.parse(value) : value - return Array.isArray(data) ? data : [] + if (Array.isArray(data)) return data + if (data && typeof data === "object") { + return Object.keys(data).map(item => ({item, result: data[item]})) + } + return [] } catch (e) { return [] } }, + voteOptionText(item) { + const value = item.result || item.vote || item.selected || item.option || item.value + if (Array.isArray(value)) return value.join("、") + if (value && typeof value === "object") { + return value.label || value.name || value.value || "-" + } + return value || "-" + }, voteResultText(value) { return this.parseVoteResult(value).map(item => { return (item.item || item.itemName || "投票项") + ":" + - (item.selected || item.option || item.value || "-") + this.voteOptionText(item) }).join(";") }, buildSummary(records) { @@ -125,7 +137,7 @@ layout("/layouts/platform.html"){ records.forEach(record => { this.parseVoteResult(record.voteResult).forEach(item => { const itemName = item.item || item.itemName || "投票项" - const option = item.selected || item.option || item.value || "-" + const option = this.voteOptionText(item) if (!counter[itemName]) counter[itemName] = {} counter[itemName][option] = (counter[itemName][option] || 0) + 1 }) diff --git a/src/main/resources/views/platform/zhgh/welfare/projectMange/welfareOption.js b/src/main/resources/views/platform/zhgh/welfare/projectMange/welfareOption.js index 0629aebd..4c2239a7 100644 --- a/src/main/resources/views/platform/zhgh/welfare/projectMange/welfareOption.js +++ b/src/main/resources/views/platform/zhgh/welfare/projectMange/welfareOption.js @@ -14,12 +14,11 @@ const welfareOption = { @@ -124,9 +123,10 @@ const welfareOption = { }, // 每个福利项目只允许配置一个系统默认选项,保存时会随福利选项一并提交。 - setSystemDefault(defaultOption) { + setSystemDefault(defaultOption, checked = true) { + this.systemDefaultOption = checked ? defaultOption : null; this.welfareList.forEach((item) => { - this.$set(item, 'isSystemDefault', item === defaultOption); + this.$set(item, 'isSystemDefault', checked && item === defaultOption); }); }, @@ -200,7 +200,7 @@ const welfareOption = { transform: translate(-50%, -50%); } - /deep/ .welfare-option .el-radio__label { + /deep/ .welfare-option .el-checkbox__label { padding-left: 0; } diff --git a/src/main/resources/views/platform/zhghh5/activity/sports/eventList.html b/src/main/resources/views/platform/zhghh5/activity/sports/eventList.html index ded3bea3..3825d7f1 100644 --- a/src/main/resources/views/platform/zhghh5/activity/sports/eventList.html +++ b/src/main/resources/views/platform/zhghh5/activity/sports/eventList.html @@ -397,6 +397,19 @@ layout("/layouts/platform_h5.html"){ justify-content: flex-end; } + .sports-event-union-action-hint { + display: inline-flex; + align-items: center; + color: #ed6a0c; + font-size: 12px; + line-height: 18px; + text-align: right; + } + + .sports-event-union-action-hint.is-authorized { + color: #1989fa; + } + .sports-event-page .table-card .table-card-footer .van-cell__value { display: flex; align-items: center; @@ -700,6 +713,12 @@ layout("/layouts/platform_h5.html"){ 取消报名 + + {{ canUnionApplyOnPc ? '分工会报名请在PC端进行' : '该活动为分工会报名,暂无权限' }} + @@ -731,6 +750,12 @@ layout("/layouts/platform_h5.html"){ 取消报名 + + {{ canUnionApplyOnPc ? '分工会报名请在PC端进行' : '该活动为分工会报名,暂无权限' }} + @@ -768,6 +793,16 @@ layout("/layouts/platform_h5.html"){ } }, components: {}, + computed: { + canUnionApplyOnPc() { + return this.$auth.hasRoleOr([ + "SYSADMIN", + "SCHOOL_UNION_ADMIN", + "BRANCH_UNION_CHAIRMAN", + "BRANCH_UNION_WENTI_SPORTS" + ]) && this.$auth.hasPermission("activity.apply") + } + }, methods: { toggleViewMode() { this.viewMode = this.viewMode === "card" ? "list" : "card" diff --git a/src/main/resources/views/platform/zhghh5/activity/trainSignUp/list/index.html b/src/main/resources/views/platform/zhghh5/activity/trainSignUp/list/index.html index c6832332..6d8bfb35 100644 --- a/src/main/resources/views/platform/zhghh5/activity/trainSignUp/list/index.html +++ b/src/main/resources/views/platform/zhghh5/activity/trainSignUp/list/index.html @@ -324,11 +324,37 @@ layout("/layouts/platform_h5.html"){ } .brand-course-card__detail:nth-child(-n + 2) .brand-course-card__detail-label, - .brand-course-card__detail:nth-child(-n + 2) .brand-course-card__detail-value { + .brand-course-card__detail:nth-child(2) .brand-course-card__detail-value { + overflow: hidden; + text-overflow: ellipsis; overflow-wrap: normal; white-space: nowrap; } + .brand-course-card__detail:first-child .brand-course-card__detail-value { + display: block; + max-width: 100%; + overflow: hidden; + overflow-wrap: normal; + text-overflow: ellipsis; + white-space: nowrap; + } + + .brand-course-contact-popover { + display: block; + min-width: 0; + max-width: 100%; + } + + .brand-course-contact-popover__content { + max-width: 240px; + padding: 8px 12px; + overflow-wrap: anywhere; + color: #33445a; + font-size: 12px; + line-height: 18px; + } + .brand-course-card__links { display: flex; min-width: 0; @@ -913,7 +939,17 @@ layout("/layouts/platform_h5.html"){
联系人
-
{{row.courseInstructor}}
+ +
{{row.courseInstructor || '暂无'}}
+ +
@@ -1009,6 +1045,7 @@ layout("/layouts/platform_h5.html"){ activeAssort: null, filterOpened: false, viewMode: 'card', + contactPopoverIndex: -1, weekdayCNMap: {0: '周日', 1: '周一', 2: '周二', 3: '周三', 4: '周四', 5: '周五', 6: '周六'}, } @@ -1017,6 +1054,9 @@ layout("/layouts/platform_h5.html"){ toggleViewMode() { this.viewMode = this.viewMode === 'card' ? 'list' : 'card' }, + setContactPopover(index, visible) { + this.contactPopoverIndex = visible ? index : -1 + }, onAssortChange(name) { this.pageForm.assortTypes = name ? JSON.stringify([name]) : [] this.doSearch()