Commit 63632ac486d1419ffe9f39f2722fdb9d7b025486

Authored by sqy
2 parents 2a3b3065 0923c9a5

'解决main分支合并的冲突'

... ... @@ -9,7 +9,6 @@ import {ErrorMessageMode} from "/#/axios";
9 9 enum Api {
10 10 DeptList = '/dept/all',
11 11 basicUrl = '/dept',
12   - // CONFIG_ITEM_URL = '/dictItem'
13 12 }
14 13
15 14 export const getDeptList = (params?: DeptListItem) =>
... ... @@ -19,11 +18,7 @@ export const getDeptList = (params?: DeptListItem) =>
19 18 * @description: save or edit dept api
20 19 */
21 20 export function saveOrEditDeptApi(params: DeptOperationParams, update: boolean = false, mode: ErrorMessageMode = 'modal') {
22   - // console.log(params);
23 21 if (!update) {
24   - // console.log("-------------后台的参数-------------------");
25   - // console.log(params);
26   -
27 22 return defHttp.post<DeptOperationApiResult>(
28 23 {
29 24 url: Api.basicUrl,
... ...
... ... @@ -2,13 +2,13 @@ import {defHttp} from "/@/utils/http/axios";
2 2 import {GroupListResultModel} from "/@/api/system/model/groupModel";
3 3
4 4 enum GroupApi {
5   - BASE_URL="/group"
  5 + BASE_URL="/organization"
6 6 }
7 7
8 8 /**
9   - * 查询当前用户的所辖分组
  9 + * 查询当前用户的所属组织
10 10 */
11 11 export const findCurrentUserGroups=()=>
12 12 defHttp.get<GroupListResultModel>({
13   - url: GroupApi.BASE_URL+"/me/groups",
  13 + url: GroupApi.BASE_URL+"/me/organizations",
14 14 });
... ...
... ... @@ -36,12 +36,11 @@ export interface AccountListItem {
36 36 accountExpireTime?: string;
37 37 }
38 38
39   -export interface DeptListItem {
  39 +export interface OrganizationListItem {
40 40 id: string;
41   - orderNo: string;
42   - createTime: string;
  41 + name: string;
  42 + parentId?: string;
43 43 remark: string;
44   - status: number;
45 44 }
46 45
47 46 export interface MenuListItem {
... ... @@ -75,13 +74,13 @@ export interface ChangeAccountParams {
75 74 resetPassword?: string;
76 75 }
77 76
78   -export class RoleOrGroupParam {
  77 +export class RoleOrOrganizationParam {
79 78 userId: string;
80 79 queryRole: boolean;
81   - queryGroup: boolean;
82   - constructor(userId: string, queryRole: boolean, queryGroup: boolean) {
  80 + queryOrganization: boolean;
  81 + constructor(userId: string, queryRole: boolean, queryOrganization: boolean) {
83 82 this.queryRole = queryRole;
84   - this.queryGroup = queryGroup;
  83 + this.queryOrganization = queryOrganization;
85 84 this.userId = userId;
86 85 }
87 86 }
... ... @@ -91,7 +90,7 @@ export class RoleOrGroupParam {
91 90 */
92 91 export type AccountListGetResultModel = BasicFetchResult<AccountListItem>;
93 92
94   -export type DeptListGetResultModel = BasicFetchResult<DeptListItem>;
  93 +export type OrganizationListGetResultModel = BasicFetchResult<OrganizationListItem>;
95 94
96 95 export type MenuListGetResultModel = BasicFetchResult<MenuListItem>;
97 96
... ...
1 1 import {
2 2 AccountParams,
3   - DeptListItem,
  3 + OrganizationListItem,
4 4 MenuParams,
5 5 RoleParams,
6 6 RolePageParams,
7 7 MenuListGetResultModel,
8   - DeptListGetResultModel,
  8 + OrganizationListGetResultModel,
9 9 AccountListGetResultModel,
10 10 RolePageListGetResultModel,
11 11 RoleListGetResultModel,
12 12 RoleReqDTO,
13 13 AccountListItem,
14 14 AccountListModel,
15   - RoleOrGroupParam,
  15 + RoleOrOrganizationParam,
16 16 ChangeAccountParams,
17 17 } from './model/systemModel';
18 18 import { defHttp } from '/@/utils/http/axios';
... ... @@ -28,6 +28,7 @@ enum Api {
28 28 DeleteRole = '/role',
29 29 GetAllRoleList = '/role/find/list',
30 30 BaseUserUrl = '/user',
  31 + BaseOrganization = '/organization',
31 32 }
32 33
33 34 export const getAccountInfo = (userId: string) =>
... ... @@ -35,9 +36,35 @@ export const getAccountInfo = (userId: string) =>
35 36
36 37 export const getAccountList = (params: AccountParams) =>
37 38 defHttp.get<AccountListGetResultModel>({ url: Api.AccountList, params });
  39 +/**
  40 + * 获取组织列表
  41 + * @param params 请求参数
  42 + */
  43 +export const getOrganizationList = (params?: OrganizationListItem) =>
  44 + defHttp.get<OrganizationListGetResultModel>({
  45 + url: Api.BaseOrganization + '/me/organizations',
  46 + params,
  47 + });
38 48
39   -export const getDeptList = (params?: DeptListItem) =>
40   - defHttp.get<DeptListGetResultModel>({ url: Api.DeptList, params });
  49 +/**
  50 + * 更新或者保存组织
  51 + * @param params
  52 + * @param isUpdate
  53 + */
  54 +export const saveOrUpdateOrganization = (params?: OrganizationListItem, isUpdate?: boolean) => {
  55 + if (isUpdate) {
  56 + return defHttp.put<OrganizationListGetResultModel>({ url: Api.BaseOrganization, params });
  57 + } else {
  58 + return defHttp.post<OrganizationListGetResultModel>({ url: Api.BaseOrganization, params });
  59 + }
  60 +};
  61 +
  62 +/**
  63 + * 删除组织
  64 + * @param ids 删除的ID
  65 + */
  66 +export const delOrganization = (ids: string[]) =>
  67 + defHttp.delete({ url: Api.BaseOrganization, data: ids });
41 68
42 69 export const getMenuList = (params?: MenuParams) =>
43 70 defHttp.get<MenuListGetResultModel>({ url: Api.MenuList, params });
... ... @@ -98,7 +125,8 @@ export const deleteUser = (ids: string[]) =>
98 125 * 查询当前用户的关系
99 126 * @param params
100 127 */
101   -export const findCurrentUserRelation = (params: RoleOrGroupParam) =>
  128 +
  129 +export const findCurrentUserRelation = (params: RoleOrOrganizationParam) =>
102 130 defHttp.post<Array<string>>({
103 131 url: Api.BaseUserUrl + '/relation',
104 132 params: params,
... ...
1 1 export default {
  2 + common:{
  3 + createTime:"create time",
  4 + updateTime:"update time",
  5 + operation:"operation",
  6 + remark:"remark",
  7 + enable:"enable",
  8 + disable:"disable",
  9 + sort:"sort",
  10 + status:"status",
  11 + },
2 12 tenant:{
3 13 tenant:"tenant",
4 14 tenantManagement:"tenant management",
5 15 tenantSetting:"tenant setting"
6 16 },
  17 + organization:{
  18 + queryOrganizationName:"organization name",
  19 + toolOrganizationList:"organization list",
  20 + toolCreateOrganization:"create organization",
  21 + toolEditOrganization:"edit organization",
  22 + parentOrganization:"parent organization",
  23 + },
7 24 dept:{
8 25 queryDeptName:"dept name",
9 26 queryDeptStatus:"status",
... ...
1 1 export default {
  2 + common: {
  3 + createTime: '创建时间',
  4 + updateTime: '更新时间',
  5 + operation: '操作',
  6 + remark: '备注',
  7 + enable: '启用',
  8 + disable: '禁用',
  9 + sort: '排序',
  10 + status: '状态',
  11 + },
2 12 tenant: {
3 13 tenant: '租户',
4 14 tenantManagement: '租户管理',
5 15 tenantSetting: '租户设置',
6 16 },
  17 + organization: {
  18 + queryOrganizationName: '组织名称',
  19 + toolOrganizationList: '组织列表',
  20 + toolCreateOrganization: '新增组织',
  21 + toolEditOrganization: '编辑组织',
  22 + parentOrganization: '上级组织',
  23 + },
7 24 dept: {
8 25 queryDeptName: '部门名称',
9 26 queryDeptStatus: '状态',
... ...
src/views/common/OrganizationIdTree.vue renamed from src/views/system/account/DeptTree.vue
1 1 <template>
2 2 <div class="bg-white m-4 mr-0 overflow-hidden">
3 3 <BasicTree
4   - title="部门列表"
  4 + title="组织列表"
5 5 toolbar
6 6 search
7 7 :clickRowToExpand="false"
8 8 :treeData="treeData"
9   - :replaceFields="{ key: 'id', title: 'deptName' }"
  9 + :replaceFields="{ key: 'id', title: 'name' }"
10 10 @select="handleSelect"
11 11 />
12 12 </div>
... ... @@ -15,10 +15,10 @@
15 15 import { defineComponent, onMounted, ref } from 'vue';
16 16
17 17 import { BasicTree, TreeItem } from '/@/components/Tree';
18   - import { getDeptList } from '/@/api/system/system';
  18 + import { getOrganizationList } from '/@/api/system/system';
19 19
20 20 export default defineComponent({
21   - name: 'DeptTree',
  21 + name: 'OrganizationIdTree',
22 22 components: { BasicTree },
23 23
24 24 emits: ['select'],
... ... @@ -26,7 +26,7 @@
26 26 const treeData = ref<TreeItem[]>([]);
27 27
28 28 async function fetch() {
29   - treeData.value = (await getDeptList()) as unknown as TreeItem[];
  29 + treeData.value = (await getOrganizationList()) as unknown as TreeItem[];
30 30 }
31 31
32 32 function handleSelect(keys) {
... ...
... ... @@ -7,15 +7,15 @@
7 7 @ok="handleSubmit"
8 8 >
9 9 <BasicForm @register="registerForm">
10   - <template #groupId="{ model, field }">
  10 + <template #organizationId="{ model, field }">
11 11 <BasicTree
12 12 v-model:value="model[field]"
13   - :treeData="groupTreeData"
  13 + :treeData="organizationTreeData"
14 14 :replaceFields="{ title: 'name' }"
15 15 :checked-keys="checkGroup"
16 16 checkable
17 17 toolbar
18   - title="所辖分组"
  18 + title="所属组织"
19 19 />
20 20 </template>
21 21 </BasicForm>
... ... @@ -26,10 +26,14 @@
26 26 import { BasicModal, useModalInner } from '/@/components/Modal';
27 27 import { BasicForm, useForm } from '/@/components/Form/index';
28 28 import { accountFormSchema } from './account.data';
29   - import { findCurrentUserRelation, getDeptList, SaveOrUpdateUserInfo } from '/@/api/system/system';
  29 + import {
  30 + findCurrentUserRelation,
  31 + getOrganizationList,
  32 + SaveOrUpdateUserInfo,
  33 + } from '/@/api/system/system';
30 34 import { BasicTree, TreeItem } from '/@/components/Tree';
31 35 import { findCurrentUserGroups } from '/@/api/system/group';
32   - import { RoleOrGroupParam } from '/@/api/system/model/systemModel';
  36 + import { RoleOrOrganizationParam } from '/@/api/system/model/systemModel';
33 37 import { useMessage } from '/@/hooks/web/useMessage';
34 38 export default defineComponent({
35 39 name: 'AccountModal',
... ... @@ -38,7 +42,7 @@
38 42 setup(_, { emit }) {
39 43 const isUpdate = ref(true);
40 44 const rowId = ref('');
41   - const groupTreeData = ref<TreeItem[]>([]);
  45 + const organizationTreeData = ref<TreeItem[]>([]);
42 46 const checkGroup = ref<string[]>([]);
43 47 const [registerForm, { setFieldsValue, updateSchema, resetFields, validate }] = useForm({
44 48 labelWidth: 100,
... ... @@ -54,7 +58,7 @@
54 58 setModalProps({ confirmLoading: false });
55 59 isUpdate.value = !!data?.isUpdate;
56 60 const groupListModel = await findCurrentUserGroups();
57   - if (unref(groupTreeData).length === 0) {
  61 + if (unref(organizationTreeData).length === 0) {
58 62 let treeValues = new Array<TreeItem>();
59 63 groupListModel.map((item) => {
60 64 const groupData = {
... ... @@ -65,12 +69,12 @@
65 69 };
66 70 treeValues.push(groupData);
67 71 });
68   - groupTreeData.value = treeValues;
  72 + organizationTreeData.value = treeValues;
69 73 }
70 74
71 75 if (unref(isUpdate)) {
72 76 rowId.value = data.record.id;
73   - const roleParams = new RoleOrGroupParam(rowId.value, true, false);
  77 + const roleParams = new RoleOrOrganizationParam(rowId.value, true, false);
74 78 findCurrentUserRelation(roleParams).then((result) => {
75 79 Reflect.set(data.record, 'roleIds', result);
76 80 Reflect.set(data.record, 'password', '******');
... ... @@ -78,10 +82,10 @@
78 82 ...data.record,
79 83 });
80 84 });
81   - const groupParams = new RoleOrGroupParam(rowId.value, false, true);
82   - checkGroup.value = await findCurrentUserRelation(groupParams);
  85 + const organizationParams = new RoleOrOrganizationParam(rowId.value, false, true);
  86 + checkGroup.value = await findCurrentUserRelation(organizationParams);
83 87 }
84   - const deptData = await getDeptList();
  88 + const deptData = await getOrganizationList();
85 89 await updateSchema([
86 90 {
87 91 field: 'username',
... ... @@ -115,8 +119,14 @@
115 119 setModalProps({ confirmLoading: false });
116 120 }
117 121 }
118   -
119   - return { registerModal, registerForm, getTitle, handleSubmit, groupTreeData, checkGroup };
  122 + return {
  123 + registerModal,
  124 + registerForm,
  125 + getTitle,
  126 + handleSubmit,
  127 + organizationTreeData,
  128 + checkGroup,
  129 + };
120 130 },
121 131 });
122 132 </script>
... ...
... ... @@ -168,22 +168,9 @@ export const accountFormSchema: FormSchema[] = [
168 168 },
169 169 },
170 170 {
171   - field: 'deptId',
172   - label: '所属部门',
173   - component: 'TreeSelect',
174   - componentProps: {
175   - replaceFields: {
176   - title: 'deptName',
177   - key: 'id',
178   - value: 'id',
179   - },
180   - },
181   - required: true,
182   - },
183   - {
184   - field: 'groupIds',
  171 + field: 'organizationIds',
185 172 label: ' ',
186 173 component: 'Input',
187   - slot:'groupId',
  174 + slot:'organizationId',
188 175 },
189 176 ];
... ...
1 1 <template>
2 2 <PageWrapper dense contentFullHeight fixedHeight contentClass="flex">
3   - <DeptTree class="w-1/4 xl:w-1/5" @select="handleSelect" />
  3 + <OrganizationIdTree class="w-1/4 xl:w-1/5" @select="handleSelect" />
4 4 <BasicTable @register="registerTable" class="w-3/4 xl:w-4/5" :searchInfo="searchInfo">
5 5 <template #toolbar>
6 6 <a-button type="primary" @click="handleCreate">新增账号</a-button>
... ... @@ -66,7 +66,8 @@
66 66 import { BasicTable, useTable, TableAction } from '/@/components/Table';
67 67 import { deleteUser, getAccountList } from '/@/api/system/system';
68 68 import { PageWrapper } from '/@/components/Page';
69   - import DeptTree from './DeptTree.vue';
  69 +
  70 + import OrganizationIdTree from '../../common/OrganizationIdTree.vue';
70 71 import { Tag } from 'ant-design-vue';
71 72 import { useModal } from '/@/components/Modal';
72 73 import AccountModal from './AccountModal.vue';
... ... @@ -77,7 +78,8 @@
77 78
78 79 export default defineComponent({
79 80 name: 'AccountManagement',
80   - components: { BasicTable, PageWrapper, DeptTree, AccountModal, TableAction, Tag },
  81 +
  82 + components: { BasicTable, PageWrapper, OrganizationIdTree, AccountModal, TableAction, Tag },
81 83 setup() {
82 84 const go = useGo();
83 85 const [registerModal, { openModal }] = useModal();
... ...
src/views/system/organization/OrganizationDrawer.vue renamed from src/views/system/dept/DeptDrawer.vue
... ... @@ -4,13 +4,14 @@
4 4 @register="registerDrawer"
5 5 showFooter
6 6 :title="getTitle"
7   - width="50%"
  7 + width="30%"
8 8 @ok="handleSubmit"
9 9 >
10 10 <BasicForm @register="registerForm" />
11 11 </BasicDrawer>
12 12 </template>
13 13 <script lang="ts">
  14 +<<<<<<< HEAD:src/views/system/dept/DeptDrawer.vue
14 15 import { defineComponent, ref, computed, unref } from 'vue';
15 16 import { BasicForm, useForm } from '/@/components/Form/index';
16 17 import { formSchema } from './dept.data';
... ... @@ -63,6 +64,55 @@
63 64 componentProps: { treeData },
64 65 });
65 66 });
  67 +=======
  68 +import {defineComponent, ref, computed, unref} from 'vue';
  69 +import {BasicForm, useForm} from '/@/components/Form';
  70 +import {formSchema} from './organization.data';
  71 +import {BasicDrawer, useDrawerInner} from '/@/components/Drawer';
  72 +import {useI18n} from "/@/hooks/web/useI18n";
  73 +import {getOrganizationList, saveOrUpdateOrganization} from "/@/api/system/system";
  74 +export default defineComponent({
  75 + name: 'OrganizationDrawer',
  76 + components: {BasicDrawer, BasicForm},
  77 + emits: ['success', 'register'],
  78 + setup(_, {emit}) {
  79 + const isUpdate = ref(true);
  80 + let organizationId;
  81 +
  82 + const [registerForm, {resetFields, setFieldsValue, updateSchema, validate}] = useForm({
  83 + labelWidth: 100,
  84 + schemas: formSchema,
  85 + showActionButtonGroup: false
  86 + });
  87 + const {t} = useI18n(); //加载国际化
  88 +
  89 + //默认传递页面数据
  90 + const [registerDrawer, {setDrawerProps, closeDrawer}] = useDrawerInner(async (data) => {
  91 + await resetFields();
  92 + setDrawerProps({confirmLoading: false});
  93 + isUpdate.value = !!data?.isUpdate;
  94 +
  95 + //如果是编辑操作,设置页面数据
  96 + if (unref(isUpdate)) {
  97 + //为表单赋值
  98 + await setFieldsValue({
  99 + ...data.record,
  100 + });
  101 +
  102 + }
  103 + if (isUpdate.value) {
  104 + organizationId = Reflect.get(data.record, 'id');
  105 + }
  106 + let treeData = await getOrganizationList();
  107 + await updateSchema({
  108 + field: 'parentId',
  109 + componentProps: {treeData},
  110 + });
  111 + });
  112 +
  113 + //得到页面标题
  114 + const getTitle = computed(() => (!unref(isUpdate) ? t('routes.common.organization.toolCreateOrganization') : t('routes.common.organization.toolEditOrganization')));
  115 +>>>>>>> main:src/views/system/organization/OrganizationDrawer.vue
66 116
67 117 //得到页面标题
68 118 const getTitle = computed(() =>
... ... @@ -71,6 +121,7 @@
71 121 : t('routes.common.dept.toolEditDept')
72 122 );
73 123
  124 +<<<<<<< HEAD:src/views/system/dept/DeptDrawer.vue
74 125 //提交按钮
75 126 async function handleSubmit() {
76 127 try {
... ... @@ -95,6 +146,16 @@
95 146 } finally {
96 147 setDrawerProps({ confirmLoading: false });
97 148 }
  149 +=======
  150 + if (isUpdate.value) {
  151 + Reflect.set(values, 'id', organizationId);
  152 + }
  153 + await saveOrUpdateOrganization(values, isUpdate.value);
  154 + closeDrawer();//关闭侧框
  155 + emit('success');
  156 + } finally {
  157 + setDrawerProps({confirmLoading: false});
  158 +>>>>>>> main:src/views/system/organization/OrganizationDrawer.vue
98 159 }
99 160
100 161 return { registerDrawer, registerForm, getTitle, handleSubmit };
... ...
src/views/system/organization/index.vue renamed from src/views/system/dept/index.vue
... ... @@ -3,18 +3,19 @@
3 3 <BasicTable @register="registerTable" @fetch-success="onFetchSuccess">
4 4 <template #toolbar>
5 5 <a-button type="primary" @click="handleCreate">
6   - <!-- 新增部门-->
7   - {{ getI18nCreateDept }}
  6 + {{ getI18n }}
8 7 </a-button>
9 8 </template>
10 9 <template #action="{ record }">
11 10 <TableAction
12 11 :actions="[
13 12 {
  13 + label:'编辑',
14 14 icon: 'clarity:note-edit-line',
15 15 onClick: handleEdit.bind(null, record),
16 16 },
17 17 {
  18 + label:'删除',
18 19 icon: 'ant-design:delete-outlined',
19 20 color: 'error',
20 21 popConfirm: {
... ... @@ -33,9 +34,9 @@
33 34 import { computed, defineComponent, nextTick } from 'vue';
34 35
35 36 import { BasicTable, useTable, TableAction } from '/@/components/Table';
36   - import { getDeptList } from '/@/api/system/dept';
37 37
38 38 // 加载自定义侧边弹出框 组件
  39 +<<<<<<< HEAD:src/views/system/dept/index.vue
39 40 import { useDrawer } from '/@/components/Drawer';
40 41 import DeptDrawer from './DeptDrawer.vue';
41 42
... ... @@ -43,12 +44,21 @@
43 44 import { delDept } from '/@/api/system/dept';
44 45 import { useI18n } from '/@/hooks/web/useI18n';
45 46 import { notification } from 'ant-design-vue';
  47 +=======
  48 + import {useDrawer} from '/@/components/Drawer';
  49 + import DeptDrawer from './OrganizationDrawer.vue';
  50 + import { columns } from './organization.data';
  51 + import {useI18n} from "/@/hooks/web/useI18n";
  52 + import {delOrganization, getOrganizationList} from "/@/api/system/system";
  53 + import {useMessage} from "/@/hooks/web/useMessage";
  54 +>>>>>>> main:src/views/system/organization/index.vue
46 55
47 56 export default defineComponent({
48 57 name: 'DeptManagement',
49 58 components: { BasicTable, DeptDrawer, TableAction },
50 59 setup() {
51 60 const [registerModal, { openDrawer }] = useDrawer();
  61 +<<<<<<< HEAD:src/views/system/dept/index.vue
52 62 const { t } = useI18n(); //加载国际化
53 63 // 新增部门
54 64 const getI18nCreateDept = computed(() => t('routes.common.dept.toolCreateDept'));
... ... @@ -56,22 +66,30 @@
56 66 const [registerTable, { reload, expandAll }] = useTable({
57 67 title: t('routes.common.dept.toolDeptList'),
58 68 api: getDeptList,
  69 +=======
  70 + const {t} = useI18n(); //加载国际化
  71 + const getI18n = computed(() => t('routes.common.organization.toolCreateOrganization'));
  72 + const {createMessage} = useMessage();
  73 + const [registerTable, { reload,expandAll }] = useTable({
  74 + title: t('routes.common.organization.toolOrganizationList'),
  75 + api: getOrganizationList,
  76 +>>>>>>> main:src/views/system/organization/index.vue
59 77 columns,
60   - formConfig: {
61   - labelWidth: 120,
62   - schemas: searchFormSchema,
63   - },
64 78 isTreeTable: true,
65 79 pagination: false,
66 80 striped: false,
67   - useSearchForm: true,
  81 + useSearchForm: false,
68 82 showTableSetting: true,
69 83 bordered: true,
70 84 showIndexColumn: false,
71 85 canResize: false,
72 86 actionColumn: {
73 87 width: 80,
  88 +<<<<<<< HEAD:src/views/system/dept/index.vue
74 89 title: t('routes.common.dept.tableTitleDeptOperation'), //操作
  90 +=======
  91 + title: t('routes.common.common.operation'),//操作
  92 +>>>>>>> main:src/views/system/organization/index.vue
75 93 dataIndex: 'action',
76 94 slots: { customRender: 'action' },
77 95 fixed: undefined,
... ... @@ -101,14 +119,20 @@
101 119 async function handleDelete(record: Recordable) {
102 120 // console.log(record);
103 121 try {
  122 +<<<<<<< HEAD:src/views/system/dept/index.vue
104 123 let ids = [record.id];
105 124 await delDept(ids);
106 125 notification.success({
107 126 message: '成功',
108 127 description: '删除部门成功',
109 128 duration: 3,
  129 +=======
  130 + let ids = [record.id,];
  131 + await delOrganization(ids).then(()=>{
  132 + createMessage.success("删除组织成功");
  133 + handleSuccess();
  134 +>>>>>>> main:src/views/system/organization/index.vue
110 135 });
111   - await reload();
112 136 } catch (e) {
113 137 return Promise.reject(e);
114 138 }
... ... @@ -126,7 +150,7 @@
126 150 return {
127 151 registerTable,
128 152 registerModal,
129   - getI18nCreateDept,
  153 + getI18n,
130 154 getDeleteTitle,
131 155 handleCreate,
132 156 handleEdit,
... ...
src/views/system/organization/organization.data.ts renamed from src/views/system/dept/dept.data.ts
1 1 import { BasicColumn } from '/@/components/Table';
2 2 import { FormSchema } from '/@/components/Table';
3   -import { h } from 'vue';
4   -import { Tag } from 'ant-design-vue';
5 3 import {useI18n} from "/@/hooks/web/useI18n";
6 4 const { t } = useI18n();
7 5
8 6 export const columns: BasicColumn[] = [
9 7 {
10   - title: t('routes.common.dept.queryDeptName'),//部门名称
11   - dataIndex: 'deptName',
  8 + title: t('routes.common.organization.queryOrganizationName'),
  9 + dataIndex: 'name',
12 10 width: 160,
13 11 align: 'left',
14 12 },
15 13 {
16   - title: t('routes.common.dept.tableTitleDeptSort'),//排序
17   - dataIndex: 'orderNo',
  14 + title: t('routes.common.common.sort'),//排序
  15 + dataIndex: 'sort',
18 16 width: 50,
19 17 },
20 18 {
21   - title: t('routes.common.dept.queryDeptStatus'),//状态
22   - dataIndex: 'status',
23   - width: 80,
24   - customRender: ({ record }) => {
25   - const status = record.status;
26   - const enable = ~~status === 0;
27   - const color = enable ? 'green' : 'red';
28   - const text = enable ? t('routes.common.dept.drawerTitleDeptEnable') : t('routes.common.dept.drawerTitleDeptDisable');
29   - // const text = enable ? '启用' : '停用';
30   - return h(Tag, { color: color }, () => text);
31   - },
32   - },
33   - {
34   - title: t('routes.common.dept.tableTitleDeptCreateTime'),//创建时间
  19 + title: t('routes.common.common.createTime'),//创建时间
35 20 dataIndex: 'createTime',
36 21 width: 180,
37 22 },
38 23 {
39   - title: t('routes.common.dept.tableTitleMemo'),//备注
  24 + title: t('routes.common.common.remark'),//备注
40 25 dataIndex: 'remark',
  26 + width: 300,
41 27 },
42 28 ];
43   -
44   -export const searchFormSchema: FormSchema[] = [
45   - {
46   - field: 'deptName',
47   - label: t('routes.common.dept.queryDeptName'),//部门名称
48   - component: 'Input',
49   - colProps: { span: 8 },
50   - },
51   - {
52   - field: 'status',
53   - label: t('routes.common.dept.queryDeptStatus'),//状态
54   - component: 'Select',
55   - componentProps: {
56   - options: [
57   - { label: t('routes.common.dept.drawerTitleDeptEnable'), value: 0 },
58   - // { label: '启用', value: 0 },
59   - { label: t('routes.common.dept.drawerTitleDeptDisable'), value: 1 },
60   - // { label: '停用', value: 1 },
61   - ],
62   - },
63   - colProps: { span: 8 },
64   - },
65   -];
66   -
67 29 export const formSchema: FormSchema[] = [
68 30 {
69   - field: 'deptName',
70   - label: t('routes.common.dept.queryDeptName'),//部门名称
71   - component: 'Input',
72   - required: true,
73   - },
74   - {
75 31 field: 'parentId',
76   - label: t('routes.common.dept.drawerTitleDeptParentDept'),//上级部门
  32 + label: t('routes.common.organization.parentOrganization'),
77 33 component: 'TreeSelect',
78 34 componentProps: {
79 35 replaceFields: {
80   - title: 'deptName',
  36 + title: 'name',
81 37 key: 'id',
82 38 value: 'id',
83 39 },
... ... @@ -86,28 +42,19 @@ export const formSchema: FormSchema[] = [
86 42 // required: true,
87 43 },
88 44 {
89   - field: 'orderNo',
90   - label: t('routes.common.dept.tableTitleDeptSort'),//排序
91   - component: 'InputNumber',
  45 + field: 'name',
  46 + label: t('routes.common.organization.queryOrganizationName'),
  47 + component: 'Input',
92 48 required: true,
93 49 },
94 50 {
95   - field: 'status',
96   - label: t('routes.common.dept.queryDeptStatus'),//状态
97   - component: 'RadioButtonGroup',
98   - defaultValue: 0,
99   - componentProps: {
100   - options: [
101   - { label: t('routes.common.dept.drawerTitleDeptEnable'), value: 0 },
102   - // { label: '启用', value: 0 },
103   - { label: t('routes.common.dept.drawerTitleDeptDisable'), value: 1 },
104   - // { label: '停用', value: 1 },
105   - ],
106   - },
  51 + field: 'sort',
  52 + label: t('routes.common.common.sort'),//排序
  53 + component: 'InputNumber',
107 54 required: true,
108 55 },
109 56 {
110   - label: t('routes.common.dept.tableTitleMemo'),//备注
  57 + label: t('routes.common.common.remark'),//备注
111 58 field: 'remark',
112 59 component: 'InputTextArea',
113 60 },
... ...