@utogether/udp-core 1.0.1-beta.22 → 1.0.1-beta.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/dist/{403-B87JSuhn.js → 403-Dzcgpvp0.js} +1 -1
  2. package/dist/{404-BhiUKT1b.js → 404-BMtUBfzS.js} +1 -1
  3. package/dist/{500-2G6eyDeT.js → 500-BM0zxG1M.js} +1 -1
  4. package/dist/{AuthorityInfo-Bl4_zDot.js → AuthorityInfo-BmsB4SqO.js} +1 -1
  5. package/dist/{AuthorityInfo.vue_vue_type_style_index_0_lang-92i5Oriz.js → AuthorityInfo.vue_vue_type_style_index_0_lang-CKcQbO7T.js} +1 -1
  6. package/dist/{Company-CbTh7_bX.js → Company-CwUC57TC.js} +3 -3
  7. package/dist/{CompanyPanel-BVEYMQKM.js → CompanyPanel-BAmnU8nv.js} +1 -1
  8. package/dist/{Department-Cu83Buy8.js → Department-BsXoz3BD.js} +3 -3
  9. package/dist/{DepartmentPanel-CO76buwO.js → DepartmentPanel-78TnO9Tu.js} +1 -1
  10. package/dist/{DesignPanel-DDgVNzYW.js → DesignPanel-CSL9uUNR.js} +1 -1
  11. package/dist/{DesignPanel.vue_vue_type_style_index_0_lang-Bwernx0s.js → DesignPanel.vue_vue_type_style_index_0_lang-CZrUHBBj.js} +2 -2
  12. package/dist/{DictView-DJDg_Oem.js → DictView-BKqfJuJq.js} +1 -1
  13. package/dist/{InvOrganization-D9BMWweK.js → InvOrganization-2gn2zpSK.js} +1 -1
  14. package/dist/{Org-CcfRkpBY.js → Org-C_08akFc.js} +1 -1
  15. package/dist/{Preview-DGP1uIZU.js → Preview-CffizoOK.js} +1 -1
  16. package/dist/{ReportDefine-u7r-IVPD.js → ReportDefine-BmBcBFey.js} +1 -1
  17. package/dist/{ReportDesign-CLQRMIy3.js → ReportDesign-Dw5AZl_M.js} +2 -2
  18. package/dist/{ReportQuery-BNTCTpqI.js → ReportQuery-B4LyGqtT.js} +1 -1
  19. package/dist/{ReportQueryFrom-G7X1Fyf5.js → ReportQueryFrom-oBS0ClDQ.js} +1 -1
  20. package/dist/{ReportQueryFrom.vue_vue_type_style_index_0_lang-D5lDZFPM.js → ReportQueryFrom.vue_vue_type_style_index_0_lang-DvayIk8Y.js} +1 -1
  21. package/dist/{ReportTemplate-QWAuFjaB.js → ReportTemplate-CNcUhJRf.js} +1 -1
  22. package/dist/{Role-Ba1OVGG0.js → Role-RUCpeqPj.js} +3 -3
  23. package/dist/{RoleAssign-DFiMYll8.js → RoleAssign-DYidK2md.js} +3 -3
  24. package/dist/{RolePanel-c-xitljX.js → RolePanel-BQuKAefI.js} +1 -1
  25. package/dist/{RolePanel-D6xKrLlM.js → RolePanel-BrtpMF69.js} +1 -1
  26. package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-BeZ1xNXU.js → RolePanel.vue_vue_type_script_setup_true_lang-CrzUrpzJ.js} +1 -1
  27. package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-DrBiLlBb.js → RolePanel.vue_vue_type_script_setup_true_lang-FAOBa5ds.js} +3 -3
  28. package/dist/{ScrollPanel.vue_vue_type_style_index_0_lang-D4eReGaK.js → ScrollPanel.vue_vue_type_style_index_0_lang-CmhAWJD4.js} +1 -1
  29. package/dist/{Staff-C-5TE1Yn.js → Staff-MnxrATUB.js} +3 -3
  30. package/dist/{StaffInfo-CwJlL_Nr.js → StaffInfo-CXNLmE3w.js} +1 -1
  31. package/dist/{StaffInfo.vue_vue_type_script_setup_true_lang-C2BsoQlr.js → StaffInfo.vue_vue_type_script_setup_true_lang-AsAikm4v.js} +1 -1
  32. package/dist/{StaffPanel-QOv1pq2Z.js → StaffPanel-BdhcAqQL.js} +1 -1
  33. package/dist/{StaffPanel.vue_vue_type_script_setup_true_lang-BGQSHjaQ.js → StaffPanel.vue_vue_type_script_setup_true_lang-B51ElICg.js} +2 -2
  34. package/dist/{SysUser-Byug_VNY.js → SysUser-Dh70yuNE.js} +2 -2
  35. package/dist/{SysUserPanel-B-M2Yxjj.js → SysUserPanel-DimcWXi5.js} +1 -1
  36. package/dist/SysUserPanel.vue_vue_type_script_setup_true_lang-5U-oqRaF.js +340 -0
  37. package/dist/{SystemMenu-Bs9a4BE0.js → SystemMenu-CH04ZC4Q.js} +39 -39
  38. package/dist/{UserInfo-Ipp00UAF.js → UserInfo--5jFxyNg.js} +1 -1
  39. package/dist/{UserInfo.vue_vue_type_style_index_0_lang-DIcWs6vj.js → UserInfo.vue_vue_type_style_index_0_lang-BpS2JUoM.js} +1 -1
  40. package/dist/{childView-N1PkzqQK.js → childView-1QhOOcjT.js} +1 -1
  41. package/dist/{childView-O-5baerB.js → childView-q4jq8JUU.js} +1 -1
  42. package/dist/{childView.vue_vue_type_style_index_0_lang--yGHgWVq.js → childView.vue_vue_type_style_index_0_lang-C1_CKaiz.js} +1 -1
  43. package/dist/{childView.vue_vue_type_style_index_0_lang-srudWvXc.js → childView.vue_vue_type_style_index_0_lang-_9frXYVo.js} +1 -1
  44. package/dist/{code-rule-CRunTGXH.js → code-rule-Cmc-zh3P.js} +1 -1
  45. package/dist/core.es.js +1 -1
  46. package/dist/{cron-task-IEuaI4Nt.js → cron-task-BJC8dKFZ.js} +1 -1
  47. package/dist/{frameView-vGVXV1ZG.js → frameView-rRbSPmqe.js} +1 -1
  48. package/dist/index-CU7HTsRe.js +6497 -0
  49. package/dist/{layoutView-BJO8Hm5d.js → layoutView-C5aVJcOn.js} +1 -1
  50. package/dist/{login-CZyenjQX.js → login-DGj6zzD2.js} +1 -1
  51. package/dist/{lov-view-6He1ZxGX.js → lov-view-CDYHJIbU.js} +2 -2
  52. package/dist/{menuInfo-CE5Cae2u.js → menuInfo-N2mUoR6P.js} +1 -1
  53. package/dist/{menuInfo.vue_vue_type_style_index_0_lang-BjshFg3S.js → menuInfo.vue_vue_type_style_index_0_lang-Y7Jg-MZO.js} +119 -99
  54. package/dist/{pda-app-DOiT57m1.js → pda-app-D0g-Ygcq.js} +1 -1
  55. package/dist/{resource-BdlOJOcz.js → resource-DPW5r_7h.js} +1 -1
  56. package/dist/{su-welcome-BxRhJD8X.js → su-welcome-GWIgWj_m.js} +1 -1
  57. package/dist/{sys-config-Csy-234G.js → sys-config-DwaGsVVu.js} +1 -1
  58. package/dist/udp-core.css +1 -1
  59. package/package.json +3 -3
  60. package/src/components/udp/grid/index.vue +514 -513
  61. package/src/plugins/i18n/zh.ts +6 -3
  62. package/src/router/utils.ts +2 -2
  63. package/src/style/button.scss +85 -85
  64. package/src/utils/udp/http/index.ts +294 -0
  65. package/src/utils/udp/http/types.d.ts +42 -0
  66. package/src/views/system/cron/cron-task.vue +2 -12
  67. package/src/views/system/menu/SystemMenu.vue +185 -183
  68. package/src/views/system/menu/menuInfo.vue +384 -363
  69. package/src/views/system/sysUser/SysUserPanel.vue +346 -279
  70. package/dist/SysUserPanel.vue_vue_type_script_setup_true_lang-Dm1YyUXX.js +0 -298
  71. package/dist/index-D_tU_u2l.js +0 -4640
@@ -1,183 +1,185 @@
1
- <template>
2
- <div class="page-content">
3
- <ut-grid
4
- ref="xgrid"
5
- :tree-config="{
6
- childrenField: 'children',
7
- lazy: true,
8
- hasChild: 'hasChildren',
9
- loadMethod: loadChildrenMethod,
10
- iconOpen: 'ri-checkbox-indeterminate-line ri-lg',
11
- iconClose: 'ri-add-box-line ri-lg'
12
- }"
13
- :columns="columns"
14
- :url="url"
15
- :stripe="false"
16
- mode="form"
17
- @toolbarButtonClick="handleToolClick"
18
- />
19
- <MenuInfo :show="data.showDrawer" :record="data.record" :data-status="data.dataStatus" @close="onClose" />
20
- <AuthorityPanel :show="data.showAuthority" :record="data.record" @close="onClose" />
21
- </div>
22
- </template>
23
-
24
- <script lang="tsx">
25
- export default { name: 'SystemMenu' };
26
- </script>
27
- <script setup lang="tsx">
28
- import { useI18n } from 'vue-i18n';
29
- import { ref, reactive } from 'vue';
30
- import MenuInfo from './menuInfo.vue';
31
- import AuthorityPanel from './AuthorityPanel.vue';
32
- import { clone } from 'xe-utils';
33
- import to from 'await-to-js';
34
- import { VxeUI } from 'vxe-pc-ui';
35
- import { useRender } from '@utogether/utils';
36
- import { getServiceApi } from '../../../api';
37
-
38
- const data = reactive<IRecord>({
39
- record: {},
40
- dataList: [],
41
- submitLoading: false,
42
- showDrawer: false,
43
- dataStatus: '',
44
- total: 0,
45
- listQuery: {
46
- pageSize: 10,
47
- pageNum: 1
48
- }
49
- });
50
-
51
- const { t } = useI18n();
52
-
53
- const renderHook = useRender();
54
-
55
- const serviceApi = getServiceApi();
56
-
57
- const xgrid = ref(null);
58
-
59
- const url = '/uums/menu';
60
-
61
- let row;
62
-
63
- // const buttons = [{ code: 'add', status: 'u-cyan', icon: 'plus', auth: 'add' }];
64
-
65
- const columns = [
66
- { type: 'checkbox', width: 50, align: 'center' },
67
- { field: 'menuName', width: 180, treeNode: true },
68
- { field: 'menuNameEn', width: 140 },
69
- { field: 'sort', width: 70 },
70
- { field: 'menuCode', width: 140 },
71
- { field: 'permissionCode', minWidth: 180 },
72
- {
73
- field: 'menuCategory',
74
- title: 'message.menuType',
75
- formatter: ['formatDict', 'SU.MENU.TYPE'],
76
- width: 100
77
- },
78
- { field: 'enabled', width: 80, cellRender: renderHook.renderEnabled(handleUpdate) },
79
- {
80
- field: 'operate',
81
- width: 140,
82
- fixed: 'right',
83
- slots: {
84
- default: ({ row }) => {
85
- const type = row.menuType;
86
- const addCmp = <ut-button status="u-cyan" icon="ri-add-fill" content="add" onTap={() => handleAdd(row)} />;
87
- const authCmp = <ut-button icon="ri-lock-fill" content="auth" onTap={() => handleAuthorityPanel(row)} />;
88
- return [
89
- <>
90
- {!type ? (
91
- <>
92
- <ut-button status="success" icon="ri-edit-box-line" content="edit" onTap={() => handleEdit(row)} />
93
- {['0', '5'].includes(row.menuCategory) ? addCmp : authCmp}
94
- </>
95
- ) : null}
96
- </>
97
- ];
98
- }
99
- }
100
- }
101
- ];
102
-
103
- // const resetListQuery = () => {
104
- // data.listQuery.pageSize = 99;
105
- // data.listQuery.pageNum = 1;
106
- // getDataList();
107
- // };
108
-
109
- // const getDataList = async () => {
110
- // const res = (await serviceApi('sys/listMenus', data.listQuery)) as IResponseData;
111
- // data.dataList = res.list;
112
- // data.total = res.total;
113
- // };
114
-
115
- const handleToolClick = ({ code }) => {
116
- code === 'add' && handleAdd();
117
- code === 'del' && handleDel();
118
- };
119
-
120
- // 异步加载子节点
121
- const loadChildrenMethod = async ({ row }: any) => {
122
- const data = (await serviceApi.get(url, { parentId: row.id })) as IResponseData;
123
- return new Promise(resolve => {
124
- resolve(data.list);
125
- });
126
- };
127
-
128
- // 新增子类型
129
- // menuType:保持原有不懂, 0:菜单 1,数据权限
130
- // 新增menuCategory: 0、根目录 1、菜单 2、内部链接3、外部链接
131
- const handleAdd = (record?: IRecord) => {
132
- data.showDrawer = true;
133
- data.dataStatus = 'add';
134
- data.record.dispalyCode = record?.permissionCode; // 前缀
135
- data.record.permissionCode = record?.permissionCode;
136
- // data.record.menuType = !record || !record.parentId ? '0' : '1';
137
- data.record.menuType = '0';
138
- data.record.menuCategory = !record ? '0' : '';
139
- data.record.parentId = record?.id;
140
- data.record.hasChildren = record?.hasChildren;
141
- data.record.children = data.record.children || [];
142
- console.log(data.record);
143
- row = record;
144
- };
145
-
146
- // 编辑
147
- const handleEdit = (record: IRecord) => {
148
- data.showDrawer = true;
149
- data.dataStatus = 'update';
150
- data.record = clone(record, true);
151
- data.record.menuType = data.record.menuType.toString();
152
- data.record.dispalyCode = record.permissionCode;
153
- };
154
-
155
- // 启用/禁用
156
- async function handleUpdate({ row }) {
157
- await serviceApi.put(url, [row]);
158
- xgrid.value.refreshData();
159
- }
160
- // 删除
161
- const handleDel = async () => {
162
- const type = await VxeUI.modal.confirm(t('message.delRecord'));
163
- const records = xgrid.value.getInstance().getCheckboxRecords();
164
- if (type === 'confirm') {
165
- const [err] = await to(serviceApi.delete(url, records));
166
- }
167
- };
168
-
169
- const handleAuthorityPanel = record => {
170
- data.showAuthority = true;
171
- data.dataStatus = 'update';
172
- data.record = clone(record, true);
173
- data.record.menuType = data.record.menuType.toString();
174
- data.record.dispalyCode = record.permissionCode;
175
- };
176
-
177
- const onClose = (type?, record?) => {
178
- type === 'submit' && (row || record) && xgrid.value.getInstance().reloadTreeExpand(row || record);
179
- data.record = {};
180
- data.showDrawer = false;
181
- data.showAuthority = false;
182
- };
183
- </script>
1
+ <template>
2
+ <div class="page-content">
3
+ <ut-grid
4
+ ref="xgrid"
5
+ :tree-config="{
6
+ childrenField: 'children',
7
+ lazy: true,
8
+ hasChild: 'hasChildren',
9
+ loadMethod: loadChildrenMethod,
10
+ iconOpen: 'ri-checkbox-indeterminate-line ri-lg',
11
+ iconClose: 'ri-add-box-line ri-lg'
12
+ }"
13
+ :columns="columns"
14
+ :url="url"
15
+ :stripe="false"
16
+ mode="form"
17
+ @toolbarButtonClick="handleToolClick"
18
+ />
19
+ <MenuInfo :show="data.showDrawer" :record="data.record" :data-status="data.dataStatus" @close="onClose" />
20
+ <AuthorityPanel :show="data.showAuthority" :record="data.record" @close="onClose" />
21
+ </div>
22
+ </template>
23
+
24
+ <script lang="tsx">
25
+ export default { name: 'SystemMenu' };
26
+ </script>
27
+ <script setup lang="tsx">
28
+ import { useI18n } from 'vue-i18n';
29
+ import { ref, reactive } from 'vue';
30
+ import MenuInfo from './menuInfo.vue';
31
+ import AuthorityPanel from './AuthorityPanel.vue';
32
+ import { clone } from 'xe-utils';
33
+ import to from 'await-to-js';
34
+ import { VxeUI } from 'vxe-pc-ui';
35
+ import { useRender } from '@utogether/utils';
36
+ import { getServiceApi } from '../../../api';
37
+
38
+ const data = reactive<IRecord>({
39
+ record: {},
40
+ dataList: [],
41
+ submitLoading: false,
42
+ showDrawer: false,
43
+ dataStatus: '',
44
+ total: 0,
45
+ listQuery: {
46
+ pageSize: 10,
47
+ pageNum: 1
48
+ }
49
+ });
50
+
51
+ const { t } = useI18n();
52
+
53
+ const renderHook = useRender();
54
+
55
+ const serviceApi = getServiceApi();
56
+
57
+ const xgrid = ref(null);
58
+
59
+ const url = '/uums/menu';
60
+
61
+ let row;
62
+
63
+ // const buttons = [{ code: 'add', status: 'u-cyan', icon: 'plus', auth: 'add' }];
64
+
65
+ const columns = [
66
+ { type: 'checkbox', width: 50, align: 'center' },
67
+ { field: 'menuName', width: 180, treeNode: true },
68
+ { field: 'menuNameEn', width: 140 },
69
+ { field: 'sort', width: 70 },
70
+ { field: 'menuCode', width: 140 },
71
+ { field: 'permissionCode', minWidth: 180 },
72
+ {
73
+ field: 'menuCategory',
74
+ title: 'message.menuType',
75
+ formatter: ['formatDict', 'SU.MENU.TYPE'],
76
+ width: 100
77
+ },
78
+ { field: 'enabled', width: 80, cellRender: renderHook.renderEnabled(handleUpdate) },
79
+ {
80
+ field: 'operate',
81
+ width: 140,
82
+ fixed: 'right',
83
+ slots: {
84
+ default: ({ row }) => {
85
+ const type = row.menuType;
86
+ const addCmp = <ut-button status="u-cyan" icon="ri-add-fill" content="add" onTap={() => handleAdd(row)} />;
87
+ const authCmp = <ut-button icon="ri-lock-fill" content="auth" onTap={() => handleAuthorityPanel(row)} />;
88
+ return [
89
+ <>
90
+ {!type ? (
91
+ <>
92
+ <ut-button status="success" icon="ri-edit-box-line" content="edit" onTap={() => handleEdit(row)} />
93
+ {['0', '5'].includes(row.menuCategory) ? addCmp : authCmp}
94
+ </>
95
+ ) : null}
96
+ </>
97
+ ];
98
+ }
99
+ }
100
+ }
101
+ ];
102
+
103
+ // const resetListQuery = () => {
104
+ // data.listQuery.pageSize = 99;
105
+ // data.listQuery.pageNum = 1;
106
+ // getDataList();
107
+ // };
108
+
109
+ // const getDataList = async () => {
110
+ // const res = (await serviceApi('sys/listMenus', data.listQuery)) as IResponseData;
111
+ // data.dataList = res.list;
112
+ // data.total = res.total;
113
+ // };
114
+
115
+ const handleToolClick = ({ code }) => {
116
+ code === 'add' && handleAdd();
117
+ code === 'del' && handleDel();
118
+ };
119
+
120
+ // 异步加载子节点
121
+ const loadChildrenMethod = async ({ row }: any) => {
122
+ const data = (await serviceApi.get(url, { parentId: row.id })) as IResponseData;
123
+ return new Promise(resolve => {
124
+ resolve(data.list);
125
+ });
126
+ };
127
+
128
+ // 新增子类型
129
+ // menuType:保持原有不懂, 0:菜单 1,数据权限
130
+ // 新增menuCategory: 0、根目录 1、菜单 2、内部链接3、外部链接
131
+ const handleAdd = (record?: IRecord) => {
132
+ data.showDrawer = true;
133
+ data.dataStatus = 'add';
134
+ data.record.dispalyCode = record?.permissionCode; // 前缀
135
+ data.record.permissionCode = record?.permissionCode;
136
+ // data.record.menuType = !record || !record.parentId ? '0' : '1';
137
+ data.record.menuType = '0';
138
+ data.record.showLink = 'Y';
139
+ data.record.isApprovalPage = 'N';
140
+ data.record.menuCategory = !record ? '0' : '';
141
+ data.record.parentId = record?.id;
142
+ data.record.hasChildren = record?.hasChildren;
143
+ data.record.children = data.record.children || [];
144
+ console.log(data.record);
145
+ row = record;
146
+ };
147
+
148
+ // 编辑
149
+ const handleEdit = (record: IRecord) => {
150
+ data.showDrawer = true;
151
+ data.dataStatus = 'update';
152
+ data.record = clone(record, true);
153
+ data.record.menuType = data.record.menuType.toString();
154
+ data.record.dispalyCode = record.permissionCode;
155
+ };
156
+
157
+ // 启用/禁用
158
+ async function handleUpdate({ row }) {
159
+ await serviceApi.put(url, [row]);
160
+ xgrid.value.refreshData();
161
+ }
162
+ // 删除
163
+ const handleDel = async () => {
164
+ const type = await VxeUI.modal.confirm(t('message.delRecord'));
165
+ const records = xgrid.value.getInstance().getCheckboxRecords();
166
+ if (type === 'confirm') {
167
+ const [err] = await to(serviceApi.delete(url, records));
168
+ }
169
+ };
170
+
171
+ const handleAuthorityPanel = record => {
172
+ data.showAuthority = true;
173
+ data.dataStatus = 'update';
174
+ data.record = clone(record, true);
175
+ data.record.menuType = data.record.menuType.toString();
176
+ data.record.dispalyCode = record.permissionCode;
177
+ };
178
+
179
+ const onClose = (type?, record?) => {
180
+ type === 'submit' && (row || record) && xgrid.value.getInstance().reloadTreeExpand(row || record);
181
+ data.record = {};
182
+ data.showDrawer = false;
183
+ data.showAuthority = false;
184
+ };
185
+ </script>