协会会长可以设置本协会参加人员(人员选择器),申请后按主表分组查询,完结后系统管理员、校工会管理员可以编辑

This commit is contained in:
2026-11-09 15:36:45 +08:00
parent 909aaa291c
commit ec70ceefd5
10 changed files with 249 additions and 76 deletions
@@ -524,8 +524,8 @@ const ACTIVITY_CULTURE_APPLY_ACTIVITY = {
</el-tabs>
</el-form>
<el-row type="flex" justify="end" class="mt20">
<el-button type="primary" plain @click="onSave">保存</el-button>
<template v-if="formData.isEnrollSystem">
<el-button type="primary" plain @click="onSave" :loading="formLoading">保存</el-button>
<template v-if="formData.isEnrollSystem && !manageClubEdit">
<el-button type="primary" @click="onSubmit" v-if="!taskId">提交</el-button>
<el-button type="primary" @click="onFinishTask" v-else>提交</el-button>
</template>
@@ -536,6 +536,7 @@ const ACTIVITY_CULTURE_APPLY_ACTIVITY = {
<drawer-user-scope
@group_change="getActivityGroup"
ref="drawerUserScope"
:activity_type="activity_type"
:group_id.sync="formData.groupId"
></drawer-user-scope>
@@ -580,6 +581,8 @@ const ACTIVITY_CULTURE_APPLY_ACTIVITY = {
data() {
return {
// 管理员从协会管理页进入时仅保存业务信息,不重新执行申请流程。
manageClubEdit: false,
bizId: "",
taskId: "",
activeName: "1",
@@ -626,7 +629,7 @@ const ACTIVITY_CULTURE_APPLY_ACTIVITY = {
}
},
components: {
"drawer-user-scope": httpVueLoader("/components/module/activity/DrawerUserScope.vue")
"drawer-user-scope": httpVueLoader("/components/module/activity/DrawerUserScope.vue?v=20261109-club-scope-2")
},
computed: {
unionUserNumCalcTips() {
@@ -680,9 +683,11 @@ const ACTIVITY_CULTURE_APPLY_ACTIVITY = {
formData.endPlannedDate = formData.plannedDate[1]
formData.plannedDate = null
}
this.formLoading = true
this.$axios.post('/platform/activity/culture/applyActivity/save', {
data: JSON.stringify(formData),
userData: JSON.stringify(this.userData)
userData: JSON.stringify(this.userData),
manageClubEdit: this.manageClubEdit
}).then(res => {
if (res.code === 0) {
this.$emit("goBack")
@@ -698,6 +703,8 @@ const ACTIVITY_CULTURE_APPLY_ACTIVITY = {
// commonUtil.pjaxPush("/platform/activity/culture/infoManage/school")
}
}
}).finally(() => {
this.formLoading = false
})
})
},
@@ -1030,7 +1037,8 @@ const ACTIVITY_CULTURE_APPLY_ACTIVITY = {
}
}
},
openEdit(row) {
openEdit(row, manageClubEdit = false) {
this.manageClubEdit = manageClubEdit
this.taskId = row.startTaskId
this.bizId = row.id
this.activeName = "1"
@@ -103,7 +103,7 @@ const ACTIVITY_CULTURE_INFO_MANAGE = {
</el-dropdown-item>
<el-dropdown-item :command="{type:'edit',row}"
v-if="row.taskKey === 'startTask' || !row.instanceId"
v-if="canManageClub || row.taskKey === 'startTask' || !row.instanceId"
:disabled="row.projectTypeCode==50004">
编辑
</el-dropdown-item>
@@ -181,6 +181,12 @@ const ACTIVITY_CULTURE_INFO_MANAGE = {
"activity-culture-apply-activity": ACTIVITY_CULTURE_APPLY_ACTIVITY,
"activity-culture-info-activity": ACTIVITY_CULTURE_INFO_ACTIVITY
},
computed: {
canManageClub() {
// 协会管理入口的两类管理员可跨流程节点编辑;其他入口保留申请节点限制。
return Number(this.activity_type) === 40003 && (this.$auth.hasRole("SYSADMIN") || this.$auth.hasRole("SCHOOL_UNION_ADMIN"))
}
},
methods: {
async activityStatusChange(id, isUnseal) {
@@ -218,7 +224,7 @@ const ACTIVITY_CULTURE_INFO_MANAGE = {
},
openEdit(row) {
this.$refs.guava.edit(() => {
this.$refs.applyActivity.openEdit(row)
this.$refs.applyActivity.openEdit(row, this.canManageClub)
})
},
onView(row) {