- 组织机构
+ {{ t("routes.admin.organizationUnit") }}
- 添加根机构
+ {{ t("routes.admin.createRootOrganizationUnit") }}
@@ -25,15 +26,26 @@
-
+
+
+
+ {{ t("common.createText") }}
+
+ >
@@ -41,13 +53,14 @@
-
+
{{ t("common.createText") }}
@@ -56,13 +69,13 @@
@@ -75,7 +88,10 @@
@reload="initOrganizationUnit"
/>
-
+
+
@@ -103,7 +119,8 @@ import {
import { Tabs } from "ant-design-vue";
import CreateOrganizationUnit from "./CreateOrganizationUnit.vue";
import EditOrganizationUnit from "./EditOrganizationUnit.vue";
-import AddRoleToOrganizationUnit from './AddRoleToOrganizationUnit.vue';
+import AddRoleToOrganizationUnit from "./AddRoleToOrganizationUnit.vue";
+import AddUserToOrganizationUnit from "./AddUserToOrganizationUnit.vue";
import { useModal } from "/@/components/Modal";
import { useMessage } from "/@/hooks/web/useMessage";
@@ -121,18 +138,32 @@ export default defineComponent({
EditOrganizationUnit,
BasicTable,
TableAction,
- AddRoleToOrganizationUnit
+ AddRoleToOrganizationUnit,
+ AddUserToOrganizationUnit
},
setup() {
const { t } = useI18n();
const { createConfirm } = useMessage();
const treeData = ref
([]);
const activeKey = ref("1");
- const [registerCreateOrganizationUnit, { openModal: CreateOrganizationUnitModal }] =
- useModal();
+ const [registerCreateOrganizationUnit, { openModal: CreateOrganizationUnitModal }] =useModal();
const [registerEditOrganizationUnit, { openModal: EditOrganizationUnitModal }] = useModal();
- const [registerAddRoleToOrganizationUnit, { openModal: AddRoleToOrganizationUnitModal }] =
- useModal();
+ const [registerAddRoleToOrganizationUnit, { openModal: AddRoleToOrganizationUnitModal }] = useModal();
+ const [registerAddUserToOrganizationUnit, { openModal: AddUserToOrganizationUnitModal }] = useModal();
+
+ let organizationUnitId: string = "";
+ const openAddUserToOrganizationUnitModal= ()=>{
+ if(organizationUnitId)
+ {
+ AddUserToOrganizationUnitModal(true,{organizationUnitId});
+ }
+ };
+ const openAddRoleToOrganizationUnitModal= ()=>{
+ if(organizationUnitId)
+ {
+ AddRoleToOrganizationUnitModal(true,{organizationUnitId});
+ }
+ };
const initOrganizationUnit = async () => {
treeData.value = await getTreeAsync();
};
@@ -188,15 +219,12 @@ export default defineComponent({
}
});
},
- icon: "ant-design:delete-outlined"
+ icon: "ant-design:delete-outlined",
}
];
}
- let organizationUnitId: string = "";
-
async function handleSelect(keys) {
- console.log(keys);
if (keys.length > 0) {
organizationUnitId = keys[0];
if (activeKey.value == "1") {
@@ -251,7 +279,6 @@ export default defineComponent({
}
});
-
const [registerRoleTable, { reload: reloadRole }] = useTable({
columns: roleTableColumns,
api: getRoleAsync,
@@ -283,7 +310,6 @@ export default defineComponent({
};
- // 删除用户
const handleUserDelete = async (record: Recordable) => {
let msg = t("common.askDelete");
createConfirm({
@@ -300,7 +326,6 @@ export default defineComponent({
});
};
- // 删除用户
const handleRoleDelete = async (record: Recordable) => {
let msg = t("common.askDelete");
createConfirm({
@@ -332,7 +357,13 @@ export default defineComponent({
handleRoleDelete,
t,
registerAddRoleToOrganizationUnit,
- AddRoleToOrganizationUnitModal
+ openAddRoleToOrganizationUnitModal,
+ getRoleAsync,
+ reloadRole,
+ reloadUser,
+ openAddUserToOrganizationUnitModal,
+ registerAddUserToOrganizationUnit,
+ getUserAsync
};
}
});
diff --git a/vben271/src/views/admin/roles/AbpRole.ts b/vben271/src/views/admin/roles/AbpRole.ts
index 6b8a17df..61d8213e 100644
--- a/vben271/src/views/admin/roles/AbpRole.ts
+++ b/vben271/src/views/admin/roles/AbpRole.ts
@@ -1,5 +1,5 @@
-import { FormSchema } from '/@/components/Table';
-import { BasicColumn } from '/@/components/Table';
+import { FormSchema } from "/@/components/Table";
+import { BasicColumn } from "/@/components/Table";
import {
RolesServiceProxy,
PagingRoleListInput,
@@ -7,98 +7,99 @@ import {
IdentityRoleCreateDto,
PermissionsServiceProxy,
IdInput,
- GetPermissionInput,
-} from '/@/services/ServiceProxies';
-import { message } from 'ant-design-vue';
-import { useLoading } from '/@/components/Loading';
+ GetPermissionInput
+} from "/@/services/ServiceProxies";
+import { message } from "ant-design-vue";
+import { useLoading } from "/@/components/Loading";
+
+import { useI18n } from "/@/hooks/web/useI18n";
-import { useI18n } from '/@/hooks/web/useI18n';
const { t } = useI18n();
const [openFullLoading, closeFullLoading] = useLoading({
- tip: 'Loading...',
+ tip: "Loading..."
});
export const tableColumns: BasicColumn[] = [
{
- title: t('routes.admin.userManagement_roleName'),
- dataIndex: 'name',
+ title: t("routes.admin.userManagement_roleName"),
+ dataIndex: "name"
},
{
- title: t('routes.admin.roleManagement_default'),
- dataIndex: 'isDefault',
- slots: { customRender: 'category' },
- },
+ title: t("routes.admin.roleManagement_default"),
+ dataIndex: "isDefault",
+ slots: { customRender: "category" }
+ }
];
export const searchFormSchema: FormSchema[] = [
{
- field: 'filter',
- label: t('routes.admin.userManagement_roleName'),
- component: 'Input',
- colProps: { span: 8 },
- },
+ field: "filter",
+ label: t("routes.admin.userManagement_roleName"),
+ component: "Input",
+ colProps: { span: 8 }
+ }
];
export const createFormSchema: FormSchema[] = [
{
- field: 'name',
- label: t('routes.admin.userManagement_roleName'),
- component: 'Input',
+ field: "name",
+ label: t("routes.admin.userManagement_roleName"),
+ component: "Input",
required: true,
- colProps: { span: 18 },
+ colProps: { span: 18 }
},
{
- field: 'isDefault',
- component: 'RadioGroup',
- label: t('routes.admin.roleManagement_default'),
+ field: "isDefault",
+ component: "RadioGroup",
+ label: t("routes.admin.roleManagement_default"),
required: true,
colProps: {
- span: 18,
+ span: 18
},
- defaultValue: '0',
+ defaultValue: "0",
componentProps: {
options: [
{
- label: t('common.true'),
- value: '1',
+ label: t("common.true"),
+ value: "1"
},
{
- label: t('common.false'),
- value: '0',
- },
- ],
- },
- },
+ label: t("common.false"),
+ value: "0"
+ }
+ ]
+ }
+ }
];
export const editFormSchema: FormSchema[] = [
{
- field: 'name',
- label: t('routes.admin.userManagement_roleName'),
- component: 'Input',
+ field: "name",
+ label: t("routes.admin.userManagement_roleName"),
+ component: "Input",
required: true,
- colProps: { span: 18 },
+ colProps: { span: 18 }
},
{
- field: 'isDefault',
- component: 'RadioGroup',
- label: t('routes.admin.roleManagement_default'),
+ field: "isDefault",
+ component: "RadioGroup",
+ label: t("routes.admin.roleManagement_default"),
required: true,
colProps: {
- span: 18,
+ span: 18
},
componentProps: {
options: [
{
- label: t('common.true'),
- value: '1',
+ label: t("common.true"),
+ value: "1"
},
{
- label: t('common.false'),
- value: '0',
- },
- ],
- },
- },
+ label: t("common.false"),
+ value: "0"
+ }
+ ]
+ }
+ }
];
/**
@@ -123,7 +124,7 @@ export async function deleteRoleAsync({ roleId, reload }) {
request.id = roleId;
await _roleServiceProxy.delete(request);
closeFullLoading();
- message.success(t('common.operationSuccess'));
+ message.success(t("common.operationSuccess"));
reload();
} catch (error) {
closeFullLoading();
@@ -139,11 +140,11 @@ export async function createRoleAsync({ request, changeOkLoading, validate, clos
await validate();
let requestBody: IdentityRoleCreateDto = new IdentityRoleCreateDto();
requestBody.name = request.name;
- request.isDefault == '1' ? (requestBody.isDefault = true) : (requestBody.isDefault = false);
+ request.isDefault == "1" ? (requestBody.isDefault = true) : (requestBody.isDefault = false);
const _roleServiceProxy = new RolesServiceProxy();
await _roleServiceProxy.create(requestBody);
changeOkLoading(false);
- message.success(t('common.operationSuccess'));
+ message.success(t("common.operationSuccess"));
closeModal();
}
@@ -155,7 +156,7 @@ export async function createRoleAsync({ request, changeOkLoading, validate, clos
export async function getRolePermissionAsync(roleName: string) {
const _permissionsServiceProxy = new PermissionsServiceProxy();
const request = new GetPermissionInput();
- request.providerName = 'R';
+ request.providerName = "R";
request.providerKey = roleName;
return await _permissionsServiceProxy.tree(request);
}
diff --git a/vben271/src/views/admin/roles/AbpRole.vue b/vben271/src/views/admin/roles/AbpRole.vue
index 673e43a3..706f6ca6 100644
--- a/vben271/src/views/admin/roles/AbpRole.vue
+++ b/vben271/src/views/admin/roles/AbpRole.vue
@@ -3,7 +3,7 @@
- {{ record.isDefault ? '是' : '否' }}
+ {{ record.isDefault ? "是" : "否" }}
@@ -14,7 +14,7 @@
@click="openCreateAbpRoleModal"
v-auth="'AbpIdentity.Roles.Create'"
>
- {{ t('common.createText') }}
+ {{ t("common.createText") }}
@@ -65,101 +65,102 @@
diff --git a/vben271/src/views/admin/roles/CreateAbpRole.vue b/vben271/src/views/admin/roles/CreateAbpRole.vue
index 1faa2189..a29cb405 100644
--- a/vben271/src/views/admin/roles/CreateAbpRole.vue
+++ b/vben271/src/views/admin/roles/CreateAbpRole.vue
@@ -11,58 +11,58 @@
diff --git a/vben271/src/views/admin/roles/EditAbpRole.vue b/vben271/src/views/admin/roles/EditAbpRole.vue
index b4a7f74f..4ac782cc 100644
--- a/vben271/src/views/admin/roles/EditAbpRole.vue
+++ b/vben271/src/views/admin/roles/EditAbpRole.vue
@@ -10,70 +10,70 @@
diff --git a/vben271/src/views/admin/settings/Setting.ts b/vben271/src/views/admin/settings/Setting.ts
index 46fe2c1e..2238f909 100644
--- a/vben271/src/views/admin/settings/Setting.ts
+++ b/vben271/src/views/admin/settings/Setting.ts
@@ -1,4 +1,4 @@
-import { SettingsServiceProxy } from '/@/services/ServiceProxies';
+import { SettingsServiceProxy } from "/@/services/ServiceProxies";
/**
* 获取所有settings
diff --git a/vben271/src/views/admin/users/AbpUser.ts b/vben271/src/views/admin/users/AbpUser.ts
index a9b2021b..9f7c1422 100644
--- a/vben271/src/views/admin/users/AbpUser.ts
+++ b/vben271/src/views/admin/users/AbpUser.ts
@@ -1,6 +1,6 @@
-import { FormSchema } from '/@/components/Table';
-import { BasicColumn } from '/@/components/Table';
-import moment from 'moment';
+import { FormSchema } from "/@/components/Table";
+import { BasicColumn } from "/@/components/Table";
+import moment from "moment";
import {
PagingUserListInput,
UsersServiceProxy,
@@ -8,198 +8,199 @@ import {
IdentityRoleDtoListResultDto,
RolesServiceProxy,
LockUserInput,
- IdInput,
-} from '/@/services/ServiceProxies';
-import { message } from 'ant-design-vue';
-import { useLoading } from '/@/components/Loading';
+ IdInput
+} from "/@/services/ServiceProxies";
+import { message } from "ant-design-vue";
+import { useLoading } from "/@/components/Loading";
+
+import { useI18n } from "/@/hooks/web/useI18n";
-import { useI18n } from '/@/hooks/web/useI18n';
const { t } = useI18n();
const [openFullLoading, closeFullLoading] = useLoading({
- tip: 'Loading...',
+ tip: "Loading..."
});
export const tableColumns: BasicColumn[] = [
{
- title: t('routes.admin.userManagement_userName'),
- dataIndex: 'userName',
+ title: t("routes.admin.userManagement_userName"),
+ dataIndex: "userName"
},
{
- title: t('routes.admin.userManagement_name'),
- dataIndex: 'name',
+ title: t("routes.admin.userManagement_name"),
+ dataIndex: "name"
},
{
- title: t('routes.admin.userManagement_email'),
- dataIndex: 'email',
+ title: t("routes.admin.userManagement_email"),
+ dataIndex: "email"
},
{
- title: t('routes.admin.userManagement_phone'),
- dataIndex: 'phoneNumber',
+ title: t("routes.admin.userManagement_phone"),
+ dataIndex: "phoneNumber"
},
{
- title: t('common.status'),
- dataIndex: 'isActive',
- slots: { customRender: 'isActive' },
+ title: t("common.status"),
+ dataIndex: "isActive",
+ slots: { customRender: "isActive" }
},
{
- title: t('routes.admin.userManagement_createTime'),
- dataIndex: 'creationTime',
+ title: t("routes.admin.userManagement_createTime"),
+ dataIndex: "creationTime",
customRender: ({ text }) => {
- return moment(text).format('YYYY-MM-DD HH:mm:ss');
- },
- },
+ return moment(text).format("YYYY-MM-DD HH:mm:ss");
+ }
+ }
];
export const searchFormSchema: FormSchema[] = [
{
- field: 'filter',
- label: t('routes.admin.userManagement_userName'),
- component: 'Input',
- colProps: { span: 8 },
- },
+ field: "filter",
+ label: t("routes.admin.userManagement_userName"),
+ component: "Input",
+ colProps: { span: 8 }
+ }
];
export const createFormSchema: FormSchema[] = [
{
- field: 'userName',
- component: 'Input',
- label: t('routes.admin.userManagement_userName'),
+ field: "userName",
+ component: "Input",
+ label: t("routes.admin.userManagement_userName"),
labelWidth: 85,
required: true,
colProps: {
- span: 12,
+ span: 12
},
componentProps: {
- autocomplete: 'off',
- },
+ autocomplete: "off"
+ }
},
{
- field: 'name',
- component: 'Input',
- label: t('routes.admin.roleManagement_name'),
+ field: "name",
+ component: "Input",
+ label: t("routes.admin.roleManagement_name"),
labelWidth: 130,
required: true,
colProps: {
- span: 12,
+ span: 12
},
componentProps: {
- autocomplete: 'off',
- },
+ autocomplete: "off"
+ }
},
{
- field: 'email',
- component: 'Input',
- label: t('routes.admin.userManagement_email'),
+ field: "email",
+ component: "Input",
+ label: t("routes.admin.userManagement_email"),
required: true,
labelWidth: 85,
colProps: {
- span: 12,
- },
+ span: 12
+ }
},
{
- field: 'phoneNumber',
- component: 'Input',
- label: t('routes.admin.userManagement_phone'),
+ field: "phoneNumber",
+ component: "Input",
+ label: t("routes.admin.userManagement_phone"),
required: false,
labelWidth: 130,
colProps: {
- span: 12,
- },
+ span: 12
+ }
},
{
- field: 'password',
- component: 'InputPassword',
- label: t('routes.admin.userManagement_password'),
+ field: "password",
+ component: "InputPassword",
+ label: t("routes.admin.userManagement_password"),
required: true,
labelWidth: 85,
colProps: {
- span: 12,
+ span: 12
},
componentProps: {
- autocomplete: 'off',
- },
+ autocomplete: "off"
+ }
},
{
- field: 'confirmPassword',
- component: 'InputPassword',
+ field: "confirmPassword",
+ component: "InputPassword",
componentProps: {
- autocomplete: 'off',
+ autocomplete: "off"
},
- label: t('routes.admin.userManagement_confirm_password'),
+ label: t("routes.admin.userManagement_confirm_password"),
required: true,
labelWidth: 130,
colProps: {
- span: 12,
- },
- },
+ span: 12
+ }
+ }
];
export const editFormSchema: FormSchema[] = [
{
- field: 'userName',
- component: 'Input',
- label: t('routes.admin.userManagement_userName'),
+ field: "userName",
+ component: "Input",
+ label: t("routes.admin.userManagement_userName"),
labelWidth: 85,
required: true,
colProps: {
- span: 12,
+ span: 12
},
componentProps: {
- autocomplete: 'off',
- disabled: true,
- },
+ autocomplete: "off",
+ disabled: true
+ }
},
{
- field: 'name',
- component: 'Input',
- label: t('routes.admin.userManagement_name'),
+ field: "name",
+ component: "Input",
+ label: t("routes.admin.userManagement_name"),
labelWidth: 130,
required: true,
colProps: {
- span: 12,
- },
+ span: 12
+ }
},
{
- field: 'email',
- component: 'Input',
- label: t('routes.admin.userManagement_email'),
+ field: "email",
+ component: "Input",
+ label: t("routes.admin.userManagement_email"),
required: true,
labelWidth: 85,
colProps: {
- span: 12,
- },
+ span: 12
+ }
},
{
- field: 'phoneNumber',
- component: 'Input',
- label: t('routes.admin.userManagement_phone'),
+ field: "phoneNumber",
+ component: "Input",
+ label: t("routes.admin.userManagement_phone"),
required: false,
labelWidth: 130,
colProps: {
- span: 12,
- },
+ span: 12
+ }
},
{
- field: 'password',
- component: 'InputPassword',
- label: t('routes.admin.userManagement_password'),
+ field: "password",
+ component: "InputPassword",
+ label: t("routes.admin.userManagement_password"),
required: false,
labelWidth: 85,
colProps: {
- span: 12,
- },
+ span: 12
+ }
},
{
- field: 'confirmPassword',
- component: 'InputPassword',
- label: t('routes.admin.userManagement_confirm_password'),
+ field: "confirmPassword",
+ component: "InputPassword",
+ label: t("routes.admin.userManagement_confirm_password"),
required: false,
labelWidth: 130,
colProps: {
- span: 12,
- },
- },
+ span: 12
+ }
+ }
];
/**
@@ -219,16 +220,16 @@ export async function getTableListAsync(
* @param params
* @returns
*/
- export function exportAsync({request}) {
+export function exportAsync({ request }) {
openFullLoading();
const _userServiceProxy = new UsersServiceProxy();
- _userServiceProxy.export(request).then(res=>{
- const a = document.createElement('a');
- a.href = URL.createObjectURL(res.data);
- a.download = '用户列表导出.xlsx';
- a.click();
- closeFullLoading();
- });
+ _userServiceProxy.export(request).then(res => {
+ const a = document.createElement("a");
+ a.href = URL.createObjectURL(res.data);
+ a.download = "用户列表导出.xlsx";
+ a.click();
+ closeFullLoading();
+ });
}
/**
@@ -261,18 +262,18 @@ export async function createUserAsync({
changeOkLoading,
validate,
closeModal,
- resetFields,
+ resetFields
}) {
changeOkLoading(true);
await validate();
if (request.password != request.confirmPassword) {
- message.error('两次密码输入不一致');
- throw new Error('两次密码输入不一致');
+ message.error("两次密码输入不一致");
+ throw new Error("两次密码输入不一致");
}
const _userServiceProxy = new UsersServiceProxy();
await _userServiceProxy.create(request);
changeOkLoading(false);
- message.success(t('common.operationSuccess'));
+ message.success(t("common.operationSuccess"));
resetFields();
closeModal();
}
@@ -289,7 +290,7 @@ export async function deleteUserAsync({ userId, reload }) {
request.id = userId;
await _userServiceProxy.delete(request);
closeFullLoading();
- message.success(t('common.operationSuccess'));
+ message.success(t("common.operationSuccess"));
reload();
} catch (error) {
closeFullLoading();
@@ -305,7 +306,7 @@ export async function updateUserAsync({
changeOkLoading,
validate,
closeModal,
- resetFields,
+ resetFields
}) {
changeOkLoading(true);
await validate();
@@ -314,7 +315,7 @@ export async function updateUserAsync({
await _userServiceProxy.update(request);
changeOkLoading(false);
resetFields();
- message.success(t('common.operationSuccess'));
+ message.success(t("common.operationSuccess"));
closeModal();
}
diff --git a/vben271/src/views/admin/users/CreateAbpUser.vue b/vben271/src/views/admin/users/CreateAbpUser.vue
index 2a95a94e..a0e4949b 100644
--- a/vben271/src/views/admin/users/CreateAbpUser.vue
+++ b/vben271/src/views/admin/users/CreateAbpUser.vue
@@ -25,7 +25,7 @@
v-for="(item, index) in itemRolesRef"
:key="index"
:value="item.name"
- >{{ item.name }}
+ >{{ item.name }}
@@ -37,88 +37,88 @@
diff --git a/vben271/src/views/admin/users/EditAbpUser.vue b/vben271/src/views/admin/users/EditAbpUser.vue
index 4e71ec6c..c9a733ea 100644
--- a/vben271/src/views/admin/users/EditAbpUser.vue
+++ b/vben271/src/views/admin/users/EditAbpUser.vue
@@ -25,7 +25,9 @@
v-for="(item, index) in rolesRef"
:key="index"
:value="item.name"
- >{{ item.name }}
+ {{ item.name }}
+
@@ -37,128 +39,129 @@