- {{ row.key }} |
- {{ row.data }} |
+ {{ index + 1 }} |
+ {{ row.startTime }} |
{{ row.planName }} |
-
+ |
|
-
+ |
|
@@ -73,41 +73,53 @@
-
+
diff --git a/hx-ai-intelligent/src/view/organizationManage/departmentManage/index.vue b/hx-ai-intelligent/src/view/organizationManage/departmentManage/index.vue
index e7be87b..ab6b8c8 100644
--- a/hx-ai-intelligent/src/view/organizationManage/departmentManage/index.vue
+++ b/hx-ai-intelligent/src/view/organizationManage/departmentManage/index.vue
@@ -145,7 +145,7 @@
取消
编辑
@@ -501,6 +501,7 @@
roleFormData.value = {};
opMap.type = '';
opMap.fuc = '';
+ selectRoleRef.value = '';
roleDisabled.value = true;
};
@@ -627,6 +628,7 @@
roleActiveKey.value = 1;
// 需要重置数据
clearDeptData();
+ clearRoleData();
const { selected } = info;
if (!selectedKeys?.length) return;
@@ -686,7 +688,7 @@
roleFormData.value = cloneDeep(info.node.dataRef);
roleCheckedKeys.value = [];
if (selectRoleRef.value?.proleId) {
- // 查询子部门
+ // 查询子角色
getRolesonPermissionTree({ roleId: selectRoleRef.value?.proleId });
} else {
getRolePermissionTree({ deptId: selectRef.value.deptInfo.deptId });
@@ -723,6 +725,13 @@
deptPermission().then(() => {
clearDeptData();
disabled.value = true;
+ // 部门权限修改后更新角色树
+ if (selectRoleRef.value?.proleId) {
+ // 查询子角色
+ getRolesonPermissionTree({ roleId: selectRoleRef.value?.proleId });
+ } else {
+ getRolePermissionTree({ deptId: selectRef.value.deptInfo.deptId });
+ }
});
}
};
@@ -816,7 +825,7 @@
padding: @ns-gap;
background-color: @white;
border-radius: @ns-border-radius;
- // box-shadow: @ns-content-box-shadow;
+ box-shadow: @ns-content-box-shadow;
}
.tree {
diff --git a/hx-ai-intelligent/src/view/organizationManage/usermanage/config.ts b/hx-ai-intelligent/src/view/organizationManage/usermanage/config.ts
index 6b5e24c..dd3e275 100644
--- a/hx-ai-intelligent/src/view/organizationManage/usermanage/config.ts
+++ b/hx-ai-intelligent/src/view/organizationManage/usermanage/config.ts
@@ -4,100 +4,91 @@ import { origanizemanage } from '/@/api/origanizemanage';
export const formConfig = (disabled) => {
return ref([
{
- field: 'field111',
- component: 'NsChildForm',
+ label: '账号',
+ field: 'accountNo',
+ component: 'NsInput',
componentProps: {
- title: '用户信息',
- schemas: [
- {
- label: '账号',
- field: 'accountNo',
- component: 'NsInput',
- componentProps: {
- placeholder: '请输入账号',
- maxLength: 20,
- disabled,
- },
- rules: [
- {
- required: true,
- message: '请输入账号',
- },
- ],
- },
- {
- label: '姓名',
- field: 'realName',
- component: 'NsInput',
- componentProps: {
- placeholder: '请输入姓名',
- maxLength: 20,
- },
- rules: [
- {
- required: true,
- message: '请输入姓名',
- },
- ],
- },
- {
- label: '性别',
- field: 'sex',
- component: 'NsRadioGroup',
- defaultValue: '男',
- componentProps: {
- radioType: 'radio',
- options: [
- { label: '男', value: '男' },
- { label: '女', value: '女' },
- ],
- },
- },
- {
- label: '手机号',
- field: 'telephone',
- component: 'NsInput',
- componentProps: {
- placeholder: '请输入手机号',
- maxLength: 11,
- },
- rules: [
- {
- required: true,
- message: '请输入正确手机号格式',
- pattern: /^[1][3-9][0-9]{9}$/,
- },
- ],
- },
- {
- label: '邮箱',
- field: 'email',
- component: 'NsInput',
- componentProps: {
- placeholder: '请输入邮箱',
- maxLength: 30,
- },
- rules: [
- {
- pattern: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/,
- message: '请输入正确的邮箱格式',
- trigger: 'blur',
- },
- ],
- },
- {
- label: '组织关系',
- field: 'orgName',
- component: 'NsInput',
- defaultValue: JSON.parse(sessionStorage.getItem(import.meta.env.VITE_PUBLIC_PATH)).orgName,
- componentProps: {
- disabled: true,
- maxLength: 30,
- },
- },
+ placeholder: '请输入账号',
+ maxLength: 20,
+ disabled,
+ },
+ rules: [
+ {
+ required: true,
+ message: '请输入账号',
+ },
+ ],
+ },
+ {
+ label: '姓名',
+ field: 'realName',
+ component: 'NsInput',
+ componentProps: {
+ placeholder: '请输入姓名',
+ maxLength: 20,
+ },
+ rules: [
+ {
+ required: true,
+ message: '请输入姓名',
+ },
+ ],
+ },
+ {
+ label: '性别',
+ field: 'sex',
+ component: 'NsRadioGroup',
+ defaultValue: '男',
+ componentProps: {
+ radioType: 'radio',
+ options: [
+ { label: '男', value: '男' },
+ { label: '女', value: '女' },
],
},
},
+ {
+ label: '手机号',
+ field: 'telephone',
+ component: 'NsInput',
+ componentProps: {
+ placeholder: '请输入手机号',
+ maxLength: 11,
+ },
+ rules: [
+ {
+ required: true,
+ message: '请输入正确手机号格式',
+ pattern: /^[1][3-9][0-9]{9}$/,
+ },
+ ],
+ },
+ {
+ label: '邮箱',
+ field: 'email',
+ component: 'NsInput',
+ componentProps: {
+ placeholder: '请输入邮箱',
+ maxLength: 30,
+ },
+ rules: [
+ {
+ pattern: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/,
+ message: '请输入正确的邮箱格式',
+ trigger: 'blur',
+ },
+ ],
+ },
+ {
+ label: '组织关系',
+ field: 'orgName',
+ component: 'NsInput',
+ defaultValue: JSON.parse(sessionStorage.getItem(import.meta.env.VITE_PUBLIC_PATH)).orgName,
+ componentProps: {
+ disabled: true,
+ maxLength: 30,
+ },
+ },
]);
};
const options = ref([]);
diff --git a/hx-ai-intelligent/src/view/organizationManage/usermanage/index.vue b/hx-ai-intelligent/src/view/organizationManage/usermanage/index.vue
index 9528e9e..e290d2c 100644
--- a/hx-ai-intelligent/src/view/organizationManage/usermanage/index.vue
+++ b/hx-ai-intelligent/src/view/organizationManage/usermanage/index.vue
@@ -32,12 +32,14 @@
:footer-style="{ textAlign: 'right' }"
destroyOnClose
@close="onClose">
+ 用户信息
用户权限
import { computed, createVNode, defineComponent, reactive, ref, watchEffect } from 'vue';
import { http } from '/nerv-lib/util/http';
- import { NsMessage, NsModal } from '/nerv-lib/component';
+ import { Badge, NsMessage, NsModal } from '/nerv-lib/component';
import { formConfig, formConfig2 } from './config';
import { origanizemanage } from '/@/api/origanizemanage';
@@ -265,6 +267,7 @@
deptRoleInfoList: str,
roleId: casData.value[2].value,
roleName: casData.value[2].label,
+ deptId: casData.value[1].value,
orgId: casData.value[0].value,
} as never);
handleClose();
@@ -386,19 +389,21 @@
return createVNode('div', {}, [
createVNode('span', {}, value[0]?.deptRoleInfoList),
value.length > 1 &&
- createVNode(
- 'a',
- {
- onClick: () =>
- NsModal.info({
- icon: null,
- content: createVNode('div', {
- innerHTML: value.map((item) => item?.deptRoleInfoList).join(' '),
- }),
+ createVNode(Badge, {
+ onClick: () =>
+ NsModal.info({
+ icon: null,
+ content: createVNode('div', {
+ innerHTML: value.map((item) => item?.deptRoleInfoList).join(' '),
}),
+ }),
+ size: 'small',
+ style: {
+ transform: 'translateY(-4px)',
+ cursor: 'pointer',
},
- `+${value.length}`,
- ),
+ count: value.length - 1,
+ }),
]);
},
},
@@ -596,6 +601,12 @@
.main {
background-color: @ns-content-bg;
display: flex;
+
+ .top,
+ :deep(.ns-table-search),
+ :deep(.ns-table-main) {
+ box-shadow: @ns-content-box-shadow;
+ }
}
.left {
width: 300px;
diff --git a/hx-op/src/router/home.ts b/hx-op/src/router/home.ts
index b8ea9f4..171c853 100644
--- a/hx-op/src/router/home.ts
+++ b/hx-op/src/router/home.ts
@@ -11,7 +11,7 @@ const home = {
component: () => import('/@/view/developing.vue'),
meta: {
title: '首页',
- keepAlive: true,
+ keepAlive: false,
// backApi: [],
},
},
diff --git a/hx-op/src/router/organizationManage.ts b/hx-op/src/router/organizationManage.ts
index f4ecc42..e0b11ad 100644
--- a/hx-op/src/router/organizationManage.ts
+++ b/hx-op/src/router/organizationManage.ts
@@ -11,7 +11,7 @@ const organizationManage = {
component: () => import('/@/view/organizationManage/enterpriseManage/index.vue'),
meta: {
title: '企业管理',
- keepAlive: true,
+ keepAlive: false,
// backApi: [],
},
},
diff --git a/lib/saas/view/system/application.vue b/lib/saas/view/system/application.vue
index 3b432cf..76a7517 100644
--- a/lib/saas/view/system/application.vue
+++ b/lib/saas/view/system/application.vue
@@ -337,7 +337,7 @@
height: 100%;
background-color: @white;
border-radius: @ns-border-radius;
- overflow-y: auto;
+ // overflow-y: auto;
// overflow-x: hidden;
// margin: 0 16px 16px 16px;
}
|