This commit is contained in:
2025-12-30 18:50:36 +08:00
parent 088418ec4d
commit 9c84ac6a6d
25 changed files with 349 additions and 219 deletions
@@ -363,9 +363,9 @@ layout("/layouts/platform.html"){
data() {
const self = this
const validateName = function (rule, value, callback) {
const regex = new RegExp("^[a-zA-Z][a-zA-Z0-9_]{1,49}$")
const regex = new RegExp("^[a-zA-Z][a-zA-Z0-9_]{1,100}$")
if (!regex.test(value)) {
callback(new Error("角色标识以字母开头2-50字,允许使用字母/数字/下划线"))
callback(new Error("角色标识以字母开头2-100字,允许使用字母/数字/下划线"))
} else {
callback()
}
@@ -173,7 +173,7 @@ const ACTIVITY_CULTURE_INFO_MANAGE = {
{prop: "time2", label: "报名日期", width: "300"},
{prop: "applyTime", label: "创建时间", sortable: true},
{prop: "isUnseal", label: "是否开启"},
],
],
url: ""
}
},
@@ -201,12 +201,12 @@ const ACTIVITY_CULTURE_INFO_MANAGE = {
this.onView(row)
} else if (type === "edit") {
this.openEdit(row)
}else if (type === "Revoke") {
} else if (type === "Revoke") {
this.onRevoke(row)
} else if (type === "delete") {
this.doDelete(row)
} else if (type === "openCode") {
this.url = location.origin + "/platform/h5/activity/culture/applyUser"
this.url = location.origin + "/platform/h5/activity/culture/signUp?id=" + row.id + "&groupId=" + row.groupId
this.codeDialogVisible = true
} else if (type === "export") {
commonUtil.pjaxPush("/platform/activity/info/mange/export?id=" + row.id)
@@ -222,7 +222,7 @@ const ACTIVITY_CULTURE_INFO_MANAGE = {
})
},
onView(row) {
this.$refs.guava.view(()=>{
this.$refs.guava.view(() => {
this.$refs.infoActivity.onOpen(row)
})
},
@@ -31,13 +31,13 @@ layout("/layouts/platform.html"){
</el-select>
</search-item>
<search-item label="所属单位">
<!--<search-item label="所属单位">
<el-select clearable filterable placeholder="请选择所属单位"
style="width: 100%;" v-model="pageForm.unitId">
<el-option :label="item.name" :value="item.id"
v-for="item in units"></el-option>
</el-select>
</search-item>
</search-item>-->
</template>
</search>
</el-card>
@@ -201,11 +201,7 @@ layout("/layouts/platform.html"){
},
async created() {
this.pageData()
if (this.$auth.hasRoleOr('SYSADMIN, SCHOOL_UNION_ADMIN')) {
this.clubs = await this.$businessTool.listClub()
} else {
this.clubs = await this.$businessTool.listClub()
}
this.clubs = await this.$businessTool.listCLubByRole()
this.activityDeclareReimbursementList = await this.$businessTool.getEnumOptions("ActivityDeclareReimbursement")
}
})
@@ -30,14 +30,21 @@ layout("/layouts/platform.html"){
v-for="item in unions"></el-option>
</el-select>
</search-item>
<search-item label="所属协会">
<el-select clearable filterable placeholder="所属协会"
style="width: 100%;" v-model="pageForm.clubId">
<el-option :label="item.clubName" :value="item.id"
v-for="item in clubs"></el-option>
</el-select>
</search-item>
<search-item label="所属单位">
<!--<search-item label="所属单位">
<el-select clearable filterable placeholder="请选择所属单位"
style="width: 100%;" v-model="pageForm.unitId">
<el-option :label="item.name" :value="item.id"
v-for="item in units"></el-option>
</el-select>
</search-item>
</search-item>-->
</template>
</search>
</el-card>
@@ -222,11 +229,8 @@ layout("/layouts/platform.html"){
},
async created() {
this.pageData()
if (this.$auth.hasRoleOr('SYSADMIN, SCHOOL_UNION_ADMIN')) {
this.unions = await this.$businessTool.listUnion()
} else {
this.unions = await this.$businessTool.listUnion(this.$store.state.user.union.id)
}
this.unions = await this.$businessTool.listUnion()
this.clubs = await this.$businessTool.listCLubByRole()
this.activityDeclareReimbursementList = await this.$businessTool.getEnumOptions("ActivityDeclareReimbursement")
}
})
@@ -30,14 +30,21 @@ layout("/layouts/platform.html"){
v-for="item in unions"></el-option>
</el-select>
</search-item>
<search-item label="所属协会">
<el-select clearable filterable placeholder="所属协会"
style="width: 100%;" v-model="pageForm.clubId">
<el-option :label="item.clubName" :value="item.id"
v-for="item in clubs"></el-option>
</el-select>
</search-item>
<search-item label="所属单位">
<!-- <search-item label="所属单位">
<el-select clearable filterable placeholder="请选择所属单位"
style="width: 100%;" v-model="pageForm.unitId">
<el-option :label="item.name" :value="item.id"
v-for="item in units"></el-option>
</el-select>
</search-item>
</search-item>-->
</template>
</search>
</el-card>
@@ -222,11 +229,8 @@ layout("/layouts/platform.html"){
},
async created() {
this.pageData()
if (this.$auth.hasRoleOr('SYSADMIN, SCHOOL_UNION_ADMIN')) {
this.unions = await this.$businessTool.listUnion()
} else {
this.unions = await this.$businessTool.listUnion(this.$store.state.user.union.id)
}
this.unions = await this.$businessTool.listUnion()
this.clubs = await this.$businessTool.listCLubByRole()
this.activityDeclareReimbursementList = await this.$businessTool.getEnumOptions("ActivityDeclareReimbursement")
}
})
@@ -36,26 +36,25 @@ layout("/layouts/platform.html"){
placeholder="请选择预算条目"></dict-select>
</search-item>
<template v-if="$auth.hasRoleOr('SYSADMIN, SCHOOL_UNION_ADMIN, BRANCH_UNION_ADMIN')">
<search-item label="所属工会">
<el-select @change="flushUnits" @clear="flushUnits" clearable
filterable
placeholder="请选择所属工会"
style="width: 100%;"
v-model="pageForm.unionId">
<el-option :label="item.name" :value="item.id"
v-for="item in unions"></el-option>
</el-select>
</search-item>
<search-item label="所属工会">
<el-select clearable
filterable
placeholder="请选择所属工会"
style="width: 100%;"
v-model="pageForm.unionId">
<el-option :label="item.name" :value="item.id"
v-for="item in unions"></el-option>
</el-select>
</search-item>
<search-item label="所属协会">
<el-select clearable filterable placeholder="所属协会"
style="width: 100%;" v-model="pageForm.clubId">
<el-option :label="item.clubName" :value="item.id"
v-for="item in clubs"></el-option>
</el-select>
</search-item>
<search-item label="所属单位">
<el-select clearable filterable placeholder="请选择所属单位"
style="width: 100%;" v-model="pageForm.unitId">
<el-option :label="item.name" :value="item.id"
v-for="item in units"></el-option>
</el-select>
</search-item>
</template>
</search>
</el-card>
@@ -240,14 +239,6 @@ layout("/layouts/platform.html"){
})
})
},
async flushUnits() {
this.$set(this.pageForm, "unitId", null)
if (this.$auth.hasRoleOr('SYSADMIN, SCHOOL_UNION_ADMIN')) {
this.units = await this.$businessTool.listUnit(this.pageForm.unionId)
} else {
this.units = await this.$businessTool.listUnit(this.$store.state.user.union.id)
}
},
getActivityTypeName(type) {
const data = this.activityDeclareReimbursementList.find(item => item.name === type)
return data ? data.typeName : ""
@@ -255,11 +246,8 @@ layout("/layouts/platform.html"){
},
async created() {
this.pageData()
if (this.$auth.hasRoleOr('SYSADMIN, SCHOOL_UNION_ADMIN')) {
this.unions = await this.$businessTool.listUnion()
} else {
this.unions = await this.$businessTool.listUnion(this.$store.state.user.union.id)
}
this.unions = await this.$businessTool.listUnion()
this.clubs = await this.$businessTool.listCLubByRole()
this.activityDeclareReimbursementList = await this.$businessTool.getEnumOptions("ActivityDeclareReimbursement")
}
})
@@ -36,26 +36,25 @@ layout("/layouts/platform.html"){
placeholder="请选择预算条目"></dict-select>
</search-item>
<template v-if="$auth.hasRoleOr('SYSADMIN, SCHOOL_UNION_ADMIN, BRANCH_UNION_ADMIN')">
<search-item label="所属工会">
<el-select @change="flushUnits" @clear="flushUnits" clearable
filterable
placeholder="请选择所属工会"
style="width: 100%;"
v-model="pageForm.unionId">
<el-option :label="item.name" :value="item.id"
v-for="item in unions"></el-option>
</el-select>
</search-item>
<search-item label="所属工会">
<el-select clearable
filterable
placeholder="请选择所属工会"
style="width: 100%;"
v-model="pageForm.unionId">
<el-option :label="item.name" :value="item.id"
v-for="item in unions"></el-option>
</el-select>
</search-item>
<search-item label="所属协会">
<el-select clearable filterable placeholder="所属协会"
style="width: 100%;" v-model="pageForm.clubId">
<el-option :label="item.clubName" :value="item.id"
v-for="item in clubs"></el-option>
</el-select>
</search-item>
<search-item label="所属单位">
<el-select clearable filterable placeholder="请选择所属单位"
style="width: 100%;" v-model="pageForm.unitId">
<el-option :label="item.name" :value="item.id"
v-for="item in units"></el-option>
</el-select>
</search-item>
</template>
</search>
</el-card>
@@ -238,14 +237,6 @@ layout("/layouts/platform.html"){
})
})
},
async flushUnits() {
this.$set(this.pageForm, "unitId", null)
if (this.$auth.hasRoleOr('SYSADMIN, SCHOOL_UNION_ADMIN')) {
this.units = await this.$businessTool.listUnit(this.pageForm.unionId)
} else {
this.units = await this.$businessTool.listUnit(this.$store.state.user.union.id)
}
},
getActivityTypeName(type) {
const data = this.activityDeclareReimbursementList.find(item => item.name === type)
return data ? data.typeName : ""
@@ -253,11 +244,8 @@ layout("/layouts/platform.html"){
},
async created() {
this.pageData()
if (this.$auth.hasRoleOr('SYSADMIN, SCHOOL_UNION_ADMIN')) {
this.unions = await this.$businessTool.listUnion()
} else {
this.unions = await this.$businessTool.listUnion(this.$store.state.user.union.id)
}
this.unions = await this.$businessTool.listUnion()
this.clubs = await this.$businessTool.listCLubByRole()
this.activityDeclareReimbursementList = await this.$businessTool.getEnumOptions("ActivityDeclareReimbursement")
}
})
@@ -36,26 +36,26 @@ layout("/layouts/platform.html"){
placeholder="请选择预算条目"></dict-select>
</search-item>
<template v-if="$auth.hasRoleOr('SYSADMIN, SCHOOL_UNION_ADMIN, BRANCH_UNION_ADMIN')">
<search-item label="所属工会">
<el-select @change="flushUnits" @clear="flushUnits" clearable
filterable
placeholder="请选择所属工会"
style="width: 100%;"
v-model="pageForm.unionId">
<el-option :label="item.name" :value="item.id"
v-for="item in unions"></el-option>
</el-select>
</search-item>
<search-item label="所属工会">
<el-select clearable
filterable
placeholder="请选择所属工会"
style="width: 100%;"
v-model="pageForm.unionId">
<el-option :label="item.name" :value="item.id"
v-for="item in unions"></el-option>
</el-select>
</search-item>
<search-item label="所属协会">
<el-select clearable filterable placeholder="所属协会"
style="width: 100%;" v-model="pageForm.clubId">
<el-option :label="item.clubName" :value="item.id"
v-for="item in clubs"></el-option>
</el-select>
</search-item>
<search-item label="所属单位">
<el-select clearable filterable placeholder="请选择所属单位"
style="width: 100%;" v-model="pageForm.unitId">
<el-option :label="item.name" :value="item.id"
v-for="item in units"></el-option>
</el-select>
</search-item>
</template>
</search>
</el-card>
@@ -238,14 +238,6 @@ layout("/layouts/platform.html"){
})
})
},
async flushUnits() {
this.$set(this.pageForm, "unitId", null)
if (this.$auth.hasRoleOr('SYSADMIN, SCHOOL_UNION_ADMIN')) {
this.units = await this.$businessTool.listUnit(this.pageForm.unionId)
} else {
this.units = await this.$businessTool.listUnit(this.$store.state.user.union.id)
}
},
getActivityTypeName(type) {
const data = this.activityDeclareReimbursementList.find(item => item.name === type)
return data ? data.typeName : ""
@@ -253,11 +245,8 @@ layout("/layouts/platform.html"){
},
async created() {
this.pageData()
if (this.$auth.hasRoleOr('SYSADMIN, SCHOOL_UNION_ADMIN')) {
this.unions = await this.$businessTool.listUnion()
} else {
this.unions = await this.$businessTool.listUnion(this.$store.state.user.union.id)
}
this.unions = await this.$businessTool.listUnion()
this.clubs = await this.$businessTool.listCLubByRole()
this.activityDeclareReimbursementList = await this.$businessTool.getEnumOptions("ActivityDeclareReimbursement")
}
})
@@ -35,26 +35,25 @@ layout("/layouts/platform.html"){
placeholder="请选择预算条目"></dict-select>
</search-item>
<template v-if="$auth.hasRoleOr('SYSADMIN, SCHOOL_UNION_ADMIN, BRANCH_UNION_ADMIN')">
<search-item label="所属工会">
<el-select @change="flushUnits" @clear="flushUnits" clearable
filterable
placeholder="请选择所属工会"
style="width: 100%;"
v-model="pageForm.unionId">
<el-option :label="item.name" :value="item.id"
v-for="item in unions"></el-option>
</el-select>
</search-item>
<search-item label="所属工会">
<el-select clearable
filterable
placeholder="请选择所属工会"
style="width: 100%;"
v-model="pageForm.unionId">
<el-option :label="item.name" :value="item.id"
v-for="item in unions"></el-option>
</el-select>
</search-item>
<search-item label="所属协会">
<el-select clearable filterable placeholder="所属协会"
style="width: 100%;" v-model="pageForm.clubId">
<el-option :label="item.clubName" :value="item.id"
v-for="item in clubs"></el-option>
</el-select>
</search-item>
<search-item label="所属单位">
<el-select clearable filterable placeholder="请选择所属单位"
style="width: 100%;" v-model="pageForm.unitId">
<el-option :label="item.name" :value="item.id"
v-for="item in units"></el-option>
</el-select>
</search-item>
</template>
</search>
</el-card>
@@ -238,14 +237,6 @@ layout("/layouts/platform.html"){
})
})
},
async flushUnits() {
this.$set(this.pageForm, "unitId", null)
if (this.$auth.hasRoleOr('SYSADMIN, SCHOOL_UNION_ADMIN')) {
this.units = await this.$businessTool.listUnit(this.pageForm.unionId)
} else {
this.units = await this.$businessTool.listUnit(this.$store.state.user.union.id)
}
},
getActivityTypeName(type) {
const data = this.activityDeclareReimbursementList.find(item => item.name === type)
return data ? data.typeName : ""
@@ -253,11 +244,8 @@ layout("/layouts/platform.html"){
},
async created() {
this.pageData()
if (this.$auth.hasRoleOr('SYSADMIN, SCHOOL_UNION_ADMIN')) {
this.unions = await this.$businessTool.listUnion()
} else {
this.unions = await this.$businessTool.listUnion(this.$store.state.user.union.id)
}
this.unions = await this.$businessTool.listUnion()
this.clubs = await this.$businessTool.listCLubByRole()
this.activityDeclareReimbursementList = await this.$businessTool.getEnumOptions("ActivityDeclareReimbursement")
}
})
@@ -36,7 +36,7 @@ const DELEGATION_TWO_PUSH_FORMAL_DIALOG = {
</div>
</el-transfer>
<span slot="footer">
<span style="color:red;font-size: 15px; display:flex;text-align: right;">投票名额:{{delegationQuotaCount}}个</span>
<span style="color:red;font-size: 15px; display:flex;text-align: right;">投票名额:{{committeeQuotaCount}}个</span>
<span class="dialog-footer">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button type="primary" @click="onConfirm">确 定</el-button>
@@ -53,7 +53,7 @@ const DELEGATION_TWO_PUSH_FORMAL_DIALOG = {
rightChecked: [],
attendanceRightChecked: [],
teacherMeetId: null,
delegationQuotaCount: 0
committeeQuotaCount: 0
}
},
methods: {
@@ -70,7 +70,7 @@ const DELEGATION_TWO_PUSH_FORMAL_DIALOG = {
data.userData.forEach(v => {
this.userData.push({userId: v.userId, ...v})
})
this.delegationQuotaCount = data.delegationQuotaCount
this.committeeQuotaCount = data.committeeQuotaCount
this.dialogVisible = true
} else {
this.$message.error(msg)
@@ -112,10 +112,10 @@ layout("/layouts/platform.html"){
xField: "typeName",
yField: "count",
meta: {
type: {
typeName: {
alias: "类别"
},
sales: {
count: {
alias: "数量"
}
},
@@ -145,7 +145,7 @@ layout("/layouts/platform.html"){
yField: "count",
seriesField: "type",
meta: {
num: {
count: {
alias: "数量",
min: 0
}
@@ -194,6 +194,11 @@ layout("/layouts/platform.html"){
data: res.data,
xField: "name",
yField: "count",
meta: {
count: {
alias: '数量',
},
},
xAxis: {
line: null,
tickLine: null,
@@ -14,6 +14,20 @@ layout("/layouts/platform.html"){
:key="item.id"></el-option>
</el-select>
</search-item>
<search-item label="所属工会"
v-if="$auth.hasRole('SYSADMIN')||$auth.hasRole('SCHOOL_UNION_ADMIN')">
<el-select
@change="doSearch"
clearable
filterable
placeholder="报名所属分工会"
style="width: 100%"
v-model="pageForm.unionId"
>
<el-option :key="item.id" :label="item.name" :value="item.id"
v-for="item in unionOptions"></el-option>
</el-select>
</search-item>
</search>
</el-card>
@@ -154,7 +168,7 @@ layout("/layouts/platform.html"){
data() {
return {
sessionOptions: [],
units: [],
unionOptions: [],
pageForm: {
isFormalOrAttendance: "全部",
unionId: "",
@@ -263,11 +277,6 @@ layout("/layouts/platform.html"){
})
})
},
listUnion() {
this.$businessTool.listUnit().then((res) => {
this.units = res
})
},
listSession() {
this.$axios.post("/platform/teacherCongress/common/listSession").then((res) => {
if (res.code === 0) {
@@ -281,7 +290,7 @@ layout("/layouts/platform.html"){
}
},
async created() {
this.listUnion()
this.$businessTool.listUnion().then((res) => (this.unionOptions = res))
this.listSession()
}
})
@@ -2,7 +2,7 @@
layout("/layouts/platform.html"){
#-->
<div id="app">
<guava ref="guaga">
<guava ref="guava">
<el-card shadow="never">
<common-query ref="commonQueryRef" @search="search"></common-query>
</el-card>
@@ -767,7 +767,22 @@ layout("/layouts/platform_h5.html"){
}
},
created() {
this.init()
this.$axios.post('/platform/activity/basic/scope/getScopeUser', {activityGroupId: Number(GetQueryString("groupId"))}).then(res => {
if (res.code === 0) {
if (res.data > 0) {
this.init()
} else {
this.$dialog.alert({
title: '标题',
message: '您没有权限参加此活动',
confirmButtonText: "返回首页"
}).then(() => {
this.$pjaxReplace("/platform/home")
});
}
}
})
}
})