增加档案功能

This commit is contained in:
2026-08-29 22:06:00 +08:00
parent 2dfc6d6aaf
commit 79217187ac
21 changed files with 2015 additions and 488 deletions
@@ -50,14 +50,16 @@
<div class="form-title">组织信息</div>
<el-form-item label="隶属单位" prop="affiliate_unit">
<el-select v-model="form.affiliate_unit" clearable placeholder="请选择隶属单位" style="width: 100%">
<el-option
v-for="item in companyOptions"
:key="item.id"
:label="item.org_name"
:value="String(item.id)"
/>
</el-select>
<el-tree-select
v-model="form.affiliate_unit"
:data="organizationTree"
:props="treeSelectProps"
check-strictly
clearable
node-key="idStr"
placeholder="请选择隶属单位"
style="width: 100%"
/>
</el-form-item>
<el-form-item label="部门" prop="department">
@@ -157,7 +159,7 @@ const isEdit = ref(false);
const editingId = ref(0);
const formRef = ref();
const companyOptions = ref([]);
const organizationTree = ref([]);
const departmentTree = ref([]);
const positionOptions = ref([]);
@@ -231,13 +233,13 @@ const withIdStr = (nodes) =>
const loadOptions = async () => {
try {
const [companies, orgList, positions] = await Promise.all([
api.value.getCompanyList().then(unwrap),
const [orgList, positions] = await Promise.all([
api.value.getOrganizationList().then(unwrap),
api.value.getPositionList().then(unwrap),
]);
companyOptions.value = companies || [];
departmentTree.value = withIdStr(buildOrgTree(orgList));
const tree = withIdStr(buildOrgTree(orgList));
organizationTree.value = tree;
departmentTree.value = tree;
positionOptions.value = positions || [];
} catch (error) {
ElMessage.error(error?.message || '加载选项失败');
@@ -10,6 +10,8 @@ import { erpOrganizationApi, oaOrganizationApi } from '@/api/organization';
const API_BY_MODULE = {
erp: erpOrganizationApi,
oa: oaOrganizationApi,
// 基础设置入口复用统一的组织数据接口。
basic: erpOrganizationApi,
};
/** 按模块取对应的接口集合,模块名非法时回退到 erp */
@@ -21,6 +23,7 @@ export function useOrganizationApi(module) {
export const MODULE_LABELS = {
erp: { name: '进销存', employeeLabel: '员工', orgLabel: '组织' },
oa: { name: '办公自动化', employeeLabel: '人员', orgLabel: '组织' },
basic: { name: '基础设置', employeeLabel: '人员', orgLabel: '组织' },
};
export function moduleLabels(module) {