feat: 会议提交剩余时间+解冻 + 会务/劳务材料批量下载 + 多角色人员/账号模块完善

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
郭庆泰
2026-08-25 06:53:18 +08:00
co-authored by Claude
parent 0c882ae846
commit 591a43fe61
126 changed files with 3789 additions and 1334 deletions
+6 -14
View File
@@ -6,7 +6,7 @@
筛选栏: <el-form inline :model="q" class="filter-form">
工具栏: <div class="toolbar">
列表列 (按原型 sponsor-people.html left 排序):
复选框 / 姓名 / 手机号 / 工作单位 / 部门 / 职务 / 角色 / 账号类型 / 状态 / 操作
复选框 / 姓名 / 手机号 / 工作单位 / 部门 / 职务 / 角色(角色+账号类型已合并) / 状态 / 操作
-->
<div class="page-card">
<div class="breadcrumb">首页 / 人员管理</div>
@@ -50,22 +50,14 @@
<el-table-column prop="orgName" label="所属公司" min-width="180" show-overflow-tooltip />
<el-table-column prop="department" label="部门" width="120" />
<el-table-column prop="position" label="职务" width="120" />
<el-table-column label="角色" width="100">
<el-table-column label="角色" width="110">
<template #default="{ row }">
<!-- 主账号 role=admin(管理员/总负责人), 子账号 role=supervisor(监察员), 都走 roleMap 翻译 -->
<el-tag :type="row.role === 'admin' ? 'warning' : (row.role === 'supervisor' ? 'primary' : 'info')" disable-transitions>
{{ translatePersonRole(row.role) || '—' }}
<!-- 角色与账号类型合并: account_type + unitType 推导 (MAIN=管理员, SUB=监察员) -->
<el-tag :type="accountTypeRoleTagType(row.accountType)" disable-transitions>
{{ accountTypeRoleLabel(row.unitType, row.accountType) || '—' }}
</el-tag>
</template>
</el-table-column>
<el-table-column label="账号类型" width="90">
<template #default="{ row }">
<el-tag v-if="row.accountType" :type="row.accountType === 'MAIN' ? 'success' : 'warning'" disable-transitions>
{{ row.accountType === 'MAIN' ? '主账号' : '子账号' }}
</el-tag>
<span v-else style="color:#909399"></span>
</template>
</el-table-column>
<el-table-column label="状态" width="80">
<template #default="{ row }">
<el-tag :type="row.status === '0' ? 'success' : 'danger'" disable-transitions>
@@ -148,7 +140,7 @@ import { ElMessage, ElMessageBox } from 'element-plus'
import { bizUpdate, bizDelete } from '@/api/public'
import { listSponsorPerson } from '@/api/business/person'
import { useUserStore } from '@/store/user'
import { translatePersonRole } from '@/utils/roleMap'
import { accountTypeRoleLabel, accountTypeRoleTagType } from '@/utils/roleMap'
import request from '@/utils/request'
const router = useRouter()