This commit is contained in:
=
2026-05-22 08:50:20 +08:00
8 changed files with 105 additions and 26 deletions
@@ -30,7 +30,7 @@ layout("/layouts/platform.html"){
<search-item label="姓名/工号">
<el-input v-model="pageForm.searchKeyword" clearable placeholder="请输入姓名或工号"></el-input>
</search-item>
<search-item label="所属工会" v-if="$auth.hasRoleOr(['SYSADMIN', 'SCHOOL_UNION_ADMIN'])">
<search-item label="所属工会" v-if="$auth.hasRoleOr(['SYSADMIN', 'SCHOOL_UNION_ADMIN'])">
<el-select v-model="pageForm.unionId"
placeholder="请选择所属工会"
clearable
@@ -67,18 +67,26 @@ layout("/layouts/platform.html"){
<el-card shadow="never" class="mt10">
<table-tool label="人员名单">
<el-button type="primary" size="small" @click="openFeedback">问题反馈</el-button>
<el-button type="primary" size="small" @click="openFeedback"
v-if="$auth.hasRoleOr(['BRANCH_UNION_CHAIRMAN'])">问题反馈</el-button>
<el-button type="primary"
size="small"
@click="openImport"
v-if="$auth.hasPermissionOr(['mutualInsurance.roster.import'])">导入名单</el-button>
<el-button type="primary" size="small" @click="openAddUser">添加人员</el-button>
<el-button type="primary"
size="small"
@click="openAddUser"
v-if="$auth.hasPermissionOr(['mutualInsurance.roster.import'])">添加人员</el-button>
<el-button type="primary" size="small" @click="exportData">导出</el-button>
<el-button type="primary" size="small" :disabled="!pageForm.projectId" @click="doAuditByUnion(true)">按工会确认</el-button>
<el-button type="danger" size="small" :disabled="!pageForm.projectId" @click="doAuditByUnion(false)">按工会取消确认</el-button>
<el-button type="primary" size="small" :disabled="selectedIds.length === 0" @click="doAuditSelected(true)">勾选确认</el-button>
<el-button type="danger" size="small" :disabled="selectedIds.length === 0" @click="doAuditSelected(false)">勾选取消确认</el-button>
<el-button type="danger" size="small" :disabled="selectedIds.length === 0" @click="deleteSelected">批量删除</el-button>
<el-button type="danger"
size="small"
:disabled="selectedIds.length === 0"
@click="deleteSelected"
v-if="$auth.hasPermissionOr(['mutualInsurance.roster.delete'])">批量删除</el-button>
</table-tool>
<el-table :data="tableData"
@@ -97,8 +105,8 @@ layout("/layouts/platform.html"){
<el-table-column prop="sex" label="性别" align="center" header-align="center"></el-table-column>
<el-table-column prop="unionName" label="所属工会" align="center" header-align="center" show-overflow-tooltip></el-table-column>
<el-table-column prop="unitName" label="所属单位" align="center" header-align="center" show-overflow-tooltip></el-table-column>
<el-table-column prop="projectName" label="事项名称" min-width="180px" align="center" header-align="center" show-overflow-tooltip></el-table-column>
<el-table-column prop="mobile" label="手机号" align="center" header-align="center"></el-table-column>
<el-table-column prop="idCardType" label="证件类型" min-width="170px" align="center" header-align="center"></el-table-column>
<el-table-column prop="idCard" label="身份证号" min-width="170px" align="center" header-align="center"></el-table-column>
<el-table-column prop="isAudit" label="确认状态" align="center" header-align="center">
<template slot-scope="{row}">
@@ -205,6 +213,14 @@ layout("/layouts/platform.html"){
placeholder="请选择人员类型"
v-model="addUserPageForm.personTypes"></dict-select>
</search-item>
<search-item label="证件类型">
<dict-select clearable
code="USER_IDENTITY_TYPE"
multiple
collapse-tags
placeholder="请选择证件类型"
v-model="addUserPageForm.idCardTypes"></dict-select>
</search-item>
<search-item label="编制类别">
<dict-select clearable
code="USER_PREPARED_BY_TYPE"
@@ -244,6 +260,7 @@ layout("/layouts/platform.html"){
<el-table-column prop="personType" label="人员类型" align="center" header-align="center"></el-table-column>
<el-table-column prop="preparedBy" label="编制类别" align="center" header-align="center"></el-table-column>
<el-table-column prop="userState" label="在职状态" align="center" header-align="center"></el-table-column>
<el-table-column prop="idCardType" label="证件类型" min-width="120px" align="center" header-align="center"></el-table-column>
<el-table-column prop="unionName" label="所属工会" align="center" header-align="center" show-overflow-tooltip></el-table-column>
<el-table-column prop="unitName" label="所属单位" align="center" header-align="center" show-overflow-tooltip></el-table-column>
</el-table>
@@ -279,7 +296,7 @@ layout("/layouts/platform.html"){
<script>
const vue = new Vue({
el: "#app",
mixins: [initTableMixins],
mixins: [initTableMixins],
data() {
return {
pageForm: {
@@ -319,6 +336,7 @@ layout("/layouts/platform.html"){
unionId: "",
unitIds: [],
personTypes: [],
idCardTypes: [],
preparedBys: [],
userStates: [],
isMember: null
@@ -422,6 +440,7 @@ layout("/layouts/platform.html"){
unionId: "",
unitIds: [],
personTypes: [],
idCardTypes: [],
preparedBys: [],
userStates: [],
isMember: null
@@ -545,8 +564,8 @@ layout("/layouts/platform.html"){
"&isAudit=" + encodeURIComponent(form.isAudit || ""))
},
validateFeedbackCondition() {
if (!this.pageForm.year || !this.pageForm.projectId || !this.pageForm.unionId) {
this.notifyWarning("请先选择年度、事项、所属工会")
if (!this.pageForm.year || !this.pageForm.projectId) {
this.notifyWarning("请先选择年度、事项")
return false
}
return true
@@ -632,13 +651,11 @@ layout("/layouts/platform.html"){
})
}
},
created() {
this.$businessTool.listUnion().then((res) => {
this.unions = res
if (!this.pageForm.unionId && this.unions && this.unions.length === 1) {
this.pageForm.unionId = this.unions[0].id
}
})
async created() {
this.unions = await this.$businessTool.listUnion()
if (!this.pageForm.unionId && this.unions && this.unions.length === 1) {
this.pageForm.unionId = this.unions[0].id
}
this.flushUnits()
this.yearChange()
}