@utogether/udp-core 1.0.1-beta.1 → 1.0.1-beta.3

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 (93) hide show
  1. package/build/plugins.ts +6 -1
  2. package/dist/{403-Dp617CWX.js → 403-BuP9jvH9.js} +1 -1
  3. package/dist/{404-Cz_Axb6Y.js → 404-DfQk8kKl.js} +1 -1
  4. package/dist/{500-BGCtRNse.js → 500-OgROWdiZ.js} +1 -1
  5. package/dist/{AuthorityInfo-DGGfm7IS.js → AuthorityInfo-q2ksfkWH.js} +1 -1
  6. package/dist/{AuthorityInfo.vue_vue_type_style_index_0_lang-BqccGW7v.js → AuthorityInfo.vue_vue_type_style_index_0_lang-Bwsf6lMH.js} +1 -1
  7. package/dist/{Company-IV3GTnzY.js → Company-DgqowAxc.js} +3 -3
  8. package/dist/{CompanyPanel-qV-_VtoL.js → CompanyPanel-BNb1rUhD.js} +16 -16
  9. package/dist/{Department-B3W-OxW8.js → Department-Cl8CROSU.js} +3 -3
  10. package/dist/{DepartmentPanel-Cw3OWxE7.js → DepartmentPanel-D5VkqKeP.js} +1 -1
  11. package/dist/{DesignPanel-BFxR2fHJ.js → DesignPanel-BGvEusHC.js} +1 -1
  12. package/dist/{DesignPanel.vue_vue_type_style_index_0_lang-DljbeFba.js → DesignPanel.vue_vue_type_style_index_0_lang-BQF1uQ7w.js} +2 -2
  13. package/dist/{DictView-C-i7e4hZ.js → DictView-BnxfaOBv.js} +13 -12
  14. package/dist/InvOrganization-5y79ZLdY.js +66 -0
  15. package/dist/{Org-CA7vTDIF.js → Org-2oBAXN2r.js} +1 -1
  16. package/dist/{Preview-BlDMmpdR.js → Preview-BaGmXH7r.js} +1 -1
  17. package/dist/{ReportDefine-Cub_85LA.js → ReportDefine-DkQdBErt.js} +1 -1
  18. package/dist/{ReportDesign-hFhq5UVE.js → ReportDesign-DzB_A_G6.js} +2 -2
  19. package/dist/{ReportQuery-ChkWEyxT.js → ReportQuery-DRcMb6ya.js} +1 -1
  20. package/dist/{ReportQueryFrom-KVyD_8Dj.js → ReportQueryFrom-CeA9xhR4.js} +1 -1
  21. package/dist/{ReportQueryFrom.vue_vue_type_style_index_0_lang-CLNODquq.js → ReportQueryFrom.vue_vue_type_style_index_0_lang-CgGtcs5V.js} +1 -1
  22. package/dist/{ReportTemplate-ag9NDvh2.js → ReportTemplate-qaiTMQuT.js} +1 -1
  23. package/dist/{Role-_q3lQ8CZ.js → Role-DsFulAjq.js} +3 -3
  24. package/dist/{RoleAssign-DZb9IRsm.js → RoleAssign-DMRdocpa.js} +3 -3
  25. package/dist/{RolePanel-CsLsz-Ds.js → RolePanel-B9POS_pg.js} +1 -1
  26. package/dist/{RolePanel-BQb1LlhD.js → RolePanel-wXVysDHM.js} +1 -1
  27. package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-BrnRgHEk.js → RolePanel.vue_vue_type_script_setup_true_lang-CleVvkcY.js} +3 -3
  28. package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-cmW7zBLu.js → RolePanel.vue_vue_type_script_setup_true_lang-t6S_0zmJ.js} +1 -1
  29. package/dist/{ScrollPanel.vue_vue_type_style_index_0_lang-CaFKRwXu.js → ScrollPanel.vue_vue_type_style_index_0_lang-DlXUs0j9.js} +1 -1
  30. package/dist/{Staff-BSf9Ypbk.js → Staff-Cq4V7ruC.js} +3 -3
  31. package/dist/{StaffInfo-BNKasyMF.js → StaffInfo-CJDKMbud.js} +1 -1
  32. package/dist/{StaffInfo.vue_vue_type_script_setup_true_lang-DDZ7ukd0.js → StaffInfo.vue_vue_type_script_setup_true_lang-DQ4DL1KY.js} +1 -1
  33. package/dist/{StaffPanel-Bpq0WVlH.js → StaffPanel-CG-uggdr.js} +1 -1
  34. package/dist/{StaffPanel.vue_vue_type_script_setup_true_lang-BhiJ0Q-Q.js → StaffPanel.vue_vue_type_script_setup_true_lang-DAgN7zN2.js} +2 -2
  35. package/dist/{SysUser-FAABuNti.js → SysUser-kwnzRNdD.js} +2 -2
  36. package/dist/{SysUserPanel-PxJeOgHm.js → SysUserPanel-DTlZf3vk.js} +1 -1
  37. package/dist/{SysUserPanel.vue_vue_type_script_setup_true_lang-njefUln5.js → SysUserPanel.vue_vue_type_script_setup_true_lang-BW6PlGjM.js} +1 -1
  38. package/dist/{SystemMenu-C-7NAGon.js → SystemMenu-BVT0n-L2.js} +21 -21
  39. package/dist/{UserInfo-ClXKtyGo.js → UserInfo-BbTQ9Zat.js} +1 -1
  40. package/dist/{UserInfo.vue_vue_type_style_index_0_lang-8N7P4Hl7.js → UserInfo.vue_vue_type_style_index_0_lang-D_bpYDmI.js} +1 -1
  41. package/dist/{childView-C_HmDQNd.js → childView-BJbIhjmf.js} +1 -1
  42. package/dist/{childView-uUlBcTza.js → childView-DCsGFrG-.js} +1 -1
  43. package/dist/{childView.vue_vue_type_style_index_0_lang-y0sDvYx5.js → childView.vue_vue_type_style_index_0_lang-BCDxpVoD.js} +1 -1
  44. package/dist/{childView.vue_vue_type_style_index_0_lang-Ckjmw6wJ.js → childView.vue_vue_type_style_index_0_lang-CDtsalCm.js} +1 -1
  45. package/dist/{code-rule-AgCVDKFy.js → code-rule-DePU6cdp.js} +1 -1
  46. package/dist/core.es.js +1 -1
  47. package/dist/{cron-task-C6FgQxTi.js → cron-task-DUM1SIGL.js} +1 -1
  48. package/dist/{frameView-BDgISK7N.js → frameView-CEUTDtSm.js} +1 -1
  49. package/dist/img/l_img.svg +1 -1
  50. package/dist/img/minicolors.png +0 -0
  51. package/dist/img/v_img.svg +1 -1
  52. package/dist/{index-DzOzUkf6.js → index-ZdgOD7cF.js} +59 -48
  53. package/dist/{layoutView-yb3DV2DQ.js → layoutView-PCjwVwkX.js} +109 -108
  54. package/dist/{login-RRpljbkm.js → login-B1CjWVKu.js} +2 -2
  55. package/dist/{lov-view-C9-rjzZR.js → lov-view-D8wwkxFJ.js} +2 -2
  56. package/dist/{menuInfo-CzPQyFhp.js → menuInfo-B5JKVwrB.js} +1 -1
  57. package/dist/{menuInfo.vue_vue_type_style_index_0_lang-BumXunCg.js → menuInfo.vue_vue_type_style_index_0_lang-CcM9WX4n.js} +97 -96
  58. package/dist/{pda-app-Dvy3U-b6.js → pda-app-DIa1p1Ww.js} +1 -1
  59. package/dist/{resource-Fy0lFkSV.js → resource-CCQ7Dd-5.js} +1 -1
  60. package/dist/{su-welcome-DYvSCUST.js → su-welcome-CLp9YaJa.js} +1 -1
  61. package/dist/{sys-config-DJ1vNQTy.js → sys-config-BBmf_SqF.js} +1 -1
  62. package/dist/udp-core.css +2 -2
  63. package/dist/{utogether-CjmJiHoE.js → utogether-Bkptx2lB.js} +1 -1
  64. package/package.json +18 -18
  65. package/src/App.vue +70 -70
  66. package/src/components/udp/form-upload.vue +71 -20
  67. package/src/components/udp/grid.vue +500 -0
  68. package/src/components/udp/index.ts +7 -4
  69. package/src/components/udp/lov.vue +410 -0
  70. package/src/components/udp/modal-form.vue +2 -2
  71. package/src/components/udp/modal-grid.vue +297 -0
  72. package/src/components/udp/utils.ts +379 -40
  73. package/src/layout/components/lay-navbar/index.vue +1 -1
  74. package/src/layout/components/lay-panel/index.vue +150 -150
  75. package/src/layout/components/lay-sidebar/breadCrumb.vue +1 -1
  76. package/src/layout/components/lay-tag/index.vue +625 -625
  77. package/src/layout/layoutView.vue +215 -215
  78. package/src/main.ts +4 -3
  79. package/src/plugins/i18n/en.ts +291 -289
  80. package/src/plugins/i18n/zh.ts +338 -337
  81. package/src/plugins/vxe-table/index.ts +53 -46
  82. package/src/plugins/vxe-table/render.tsx +4 -2
  83. package/src/style/button.scss +85 -78
  84. package/src/style/tailwind.css +1 -68
  85. package/src/style/vxetable.scss +258 -256
  86. package/src/views/organization/company/CompanyPanel.vue +259 -259
  87. package/src/views/organization/inv-org/InvOrganization.vue +2 -3
  88. package/src/views/system/menu/SystemMenu.vue +197 -197
  89. package/src/views/system/menu/menuInfo.vue +372 -371
  90. package/src/views/udev/dict/DictView.vue +106 -106
  91. package/src/views/udev/lov/lov-view.vue +91 -91
  92. package/vite.config.ts +4 -1
  93. package/dist/InvOrganization-cfT6riGU.js +0 -260
@@ -1,197 +1,197 @@
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
20
- :show="data.showDrawer"
21
- :record="data.record"
22
- :data-status="data.dataStatus"
23
- @close="onClose"
24
- />
25
- <AuthorityPanel :show="data.showAuthority" :record="data.record" @close="onClose" />
26
- </div>
27
- </template>
28
-
29
- <script lang="tsx">
30
- export default { name: 'SystemMenu' };
31
- </script>
32
- <script setup lang="tsx">
33
- import { useI18n } from 'vue-i18n';
34
- import { ref, reactive } from 'vue';
35
- import MenuInfo from './menuInfo.vue';
36
- import AuthorityPanel from './AuthorityPanel.vue';
37
- import { clone } from 'xe-utils';
38
- import to from 'await-to-js';
39
- import { VxeUI } from 'vxe-pc-ui';
40
- import { useRender } from '@utogether/utils';
41
- import { getServiceApi } from '../../../api';
42
-
43
- const data = reactive<IRecord>({
44
- record: {},
45
- dataList: [],
46
- submitLoading: false,
47
- showDrawer: false,
48
- dataStatus: '',
49
- total: 0,
50
- listQuery: {
51
- pageSize: 10,
52
- pageNum: 1
53
- }
54
- });
55
-
56
- const { t } = useI18n();
57
-
58
- const renderHook = useRender();
59
-
60
- const serviceApi = getServiceApi();
61
-
62
- const xgrid = ref(null);
63
-
64
- const url = '/uums/menu';
65
-
66
- let row;
67
-
68
- // const buttons = [{ code: 'add', status: 'u-cyan', icon: 'plus', auth: 'add' }];
69
-
70
- const columns = [
71
- { type: 'checkbox', width: 50, align: 'center' },
72
- { field: 'menuName', width: 180, treeNode: true },
73
- { field: 'menuNameEn', width: 140 },
74
- { field: 'sort', width: 70 },
75
- { field: 'menuCode', width: 140 },
76
- { field: 'permissionCode', minWidth: 180 },
77
- {
78
- field: 'menuCategory',
79
- title: 'message.menuType',
80
- formatter: ['formatDict', 'SU.MENU.TYPE'],
81
- width: 100
82
- },
83
- { field: 'enabled', width: 80, cellRender: renderHook.renderEnabled(handleUpdate) },
84
- {
85
- field: 'operate',
86
- width: 140,
87
- fixed: 'right',
88
- slots: {
89
- default: ({ row }) => {
90
- const type = row.menuType;
91
- const addCmp = (
92
- <ut-button status="u-cyan" icon="ri-add-fill" content="add" onTap={() => handleAdd(row)} />
93
- );
94
- const authCmp = (
95
- <ut-button icon="ri-lock-fill" content="auth" onTap={() => handleAuthorityPanel(row)} />
96
- );
97
- return [
98
- <>
99
- {!type ? (
100
- <>
101
- <ut-button
102
- status="success"
103
- icon="ri-edit-box-line"
104
- content="edit"
105
- onTap={() => handleEdit(row)}
106
- />
107
- {['0', '5'].includes(row.menuCategory) ? addCmp : authCmp}
108
- </>
109
- ) : null}
110
- </>
111
- ];
112
- }
113
- }
114
- }
115
- ];
116
-
117
- // const resetListQuery = () => {
118
- // data.listQuery.pageSize = 99;
119
- // data.listQuery.pageNum = 1;
120
- // getDataList();
121
- // };
122
-
123
- // const getDataList = async () => {
124
- // const res = (await serviceApi('sys/listMenus', data.listQuery)) as IResponseData;
125
- // data.dataList = res.list;
126
- // data.total = res.total;
127
- // };
128
-
129
- const handleToolClick = ({ code }) => {
130
- code === 'add' && handleAdd();
131
- code === 'del' && handleDel();
132
- };
133
-
134
- // 异步加载子节点
135
- const loadChildrenMethod = async ({ row }: any) => {
136
- const data = (await serviceApi.get(url, { parentId: row.id })) as IResponseData;
137
- return new Promise(resolve => {
138
- resolve(data.list);
139
- });
140
- };
141
-
142
- // 新增子类型
143
- // menuType:保持原有不懂, 0:菜单 1,数据权限
144
- // 新增menuCategory: 0、根目录 1、菜单 2、内部链接3、外部链接
145
- const handleAdd = (record?: IRecord) => {
146
- data.showDrawer = true;
147
- data.dataStatus = 'add';
148
- data.record.dispalyCode = record?.permissionCode; // 前缀
149
- data.record.permissionCode = record?.permissionCode;
150
- // data.record.menuType = !record || !record.parentId ? '0' : '1';
151
- data.record.menuType = '0';
152
- data.record.menuCategory = !record ? '0' : '';
153
- data.record.parentId = record?.id;
154
- data.record.hasChildren = record?.hasChildren;
155
- data.record.children = data.record.children || [];
156
- console.log(data.record);
157
- row = record;
158
- };
159
-
160
- // 编辑
161
- const handleEdit = (record: IRecord) => {
162
- data.showDrawer = true;
163
- data.dataStatus = 'update';
164
- data.record = clone(record, true);
165
- data.record.menuType = data.record.menuType.toString();
166
- data.record.dispalyCode = record.permissionCode;
167
- };
168
-
169
- // 启用/禁用
170
- async function handleUpdate({ row }) {
171
- await serviceApi.put(url, [row]);
172
- xgrid.value.refreshData();
173
- }
174
- // 删除
175
- const handleDel = async () => {
176
- const type = await VxeUI.modal.confirm(t('message.delRecord'));
177
- const records = xgrid.value.getInstance().getCheckboxRecords();
178
- if (type === 'confirm') {
179
- const [err] = await to(serviceApi.delete(url, records));
180
- }
181
- };
182
-
183
- const handleAuthorityPanel = record => {
184
- data.showAuthority = true;
185
- data.dataStatus = 'update';
186
- data.record = clone(record, true);
187
- data.record.menuType = data.record.menuType.toString();
188
- data.record.dispalyCode = record.permissionCode;
189
- };
190
-
191
- const onClose = (type?) => {
192
- type === 'submit' && xgrid.value.getInstance().reloadTreeExpand(row);
193
- data.record = {};
194
- data.showDrawer = false;
195
- data.showAuthority = false;
196
- };
197
- </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
20
+ :show="data.showDrawer"
21
+ :record="data.record"
22
+ :data-status="data.dataStatus"
23
+ @close="onClose"
24
+ />
25
+ <AuthorityPanel :show="data.showAuthority" :record="data.record" @close="onClose" />
26
+ </div>
27
+ </template>
28
+
29
+ <script lang="tsx">
30
+ export default { name: 'SystemMenu' };
31
+ </script>
32
+ <script setup lang="tsx">
33
+ import { useI18n } from 'vue-i18n';
34
+ import { ref, reactive } from 'vue';
35
+ import MenuInfo from './menuInfo.vue';
36
+ import AuthorityPanel from './AuthorityPanel.vue';
37
+ import { clone } from 'xe-utils';
38
+ import to from 'await-to-js';
39
+ import { VxeUI } from 'vxe-pc-ui';
40
+ import { useRender } from '@utogether/utils';
41
+ import { getServiceApi } from '../../../api';
42
+
43
+ const data = reactive<IRecord>({
44
+ record: {},
45
+ dataList: [],
46
+ submitLoading: false,
47
+ showDrawer: false,
48
+ dataStatus: '',
49
+ total: 0,
50
+ listQuery: {
51
+ pageSize: 10,
52
+ pageNum: 1
53
+ }
54
+ });
55
+
56
+ const { t } = useI18n();
57
+
58
+ const renderHook = useRender();
59
+
60
+ const serviceApi = getServiceApi();
61
+
62
+ const xgrid = ref(null);
63
+
64
+ const url = '/uums/menu';
65
+
66
+ let row;
67
+
68
+ // const buttons = [{ code: 'add', status: 'u-cyan', icon: 'plus', auth: 'add' }];
69
+
70
+ const columns = [
71
+ { type: 'checkbox', width: 50, align: 'center' },
72
+ { field: 'menuName', width: 180, treeNode: true },
73
+ { field: 'menuNameEn', width: 140 },
74
+ { field: 'sort', width: 70 },
75
+ { field: 'menuCode', width: 140 },
76
+ { field: 'permissionCode', minWidth: 180 },
77
+ {
78
+ field: 'menuCategory',
79
+ title: 'message.menuType',
80
+ formatter: ['formatDict', 'SU.MENU.TYPE'],
81
+ width: 100
82
+ },
83
+ { field: 'enabled', width: 80, cellRender: renderHook.renderEnabled(handleUpdate) },
84
+ {
85
+ field: 'operate',
86
+ width: 140,
87
+ fixed: 'right',
88
+ slots: {
89
+ default: ({ row }) => {
90
+ const type = row.menuType;
91
+ const addCmp = (
92
+ <ut-button status="u-cyan" icon="ri-add-fill" content="add" onTap={() => handleAdd(row)} />
93
+ );
94
+ const authCmp = (
95
+ <ut-button icon="ri-lock-fill" content="auth" onTap={() => handleAuthorityPanel(row)} />
96
+ );
97
+ return [
98
+ <>
99
+ {!type ? (
100
+ <>
101
+ <ut-button
102
+ status="success"
103
+ icon="ri-edit-box-line"
104
+ content="edit"
105
+ onTap={() => handleEdit(row)}
106
+ />
107
+ {['0', '5'].includes(row.menuCategory) ? addCmp : authCmp}
108
+ </>
109
+ ) : null}
110
+ </>
111
+ ];
112
+ }
113
+ }
114
+ }
115
+ ];
116
+
117
+ // const resetListQuery = () => {
118
+ // data.listQuery.pageSize = 99;
119
+ // data.listQuery.pageNum = 1;
120
+ // getDataList();
121
+ // };
122
+
123
+ // const getDataList = async () => {
124
+ // const res = (await serviceApi('sys/listMenus', data.listQuery)) as IResponseData;
125
+ // data.dataList = res.list;
126
+ // data.total = res.total;
127
+ // };
128
+
129
+ const handleToolClick = ({ code }) => {
130
+ code === 'add' && handleAdd();
131
+ code === 'del' && handleDel();
132
+ };
133
+
134
+ // 异步加载子节点
135
+ const loadChildrenMethod = async ({ row }: any) => {
136
+ const data = (await serviceApi.get(url, { parentId: row.id })) as IResponseData;
137
+ return new Promise(resolve => {
138
+ resolve(data.list);
139
+ });
140
+ };
141
+
142
+ // 新增子类型
143
+ // menuType:保持原有不懂, 0:菜单 1,数据权限
144
+ // 新增menuCategory: 0、根目录 1、菜单 2、内部链接3、外部链接
145
+ const handleAdd = (record?: IRecord) => {
146
+ data.showDrawer = true;
147
+ data.dataStatus = 'add';
148
+ data.record.dispalyCode = record?.permissionCode; // 前缀
149
+ data.record.permissionCode = record?.permissionCode;
150
+ // data.record.menuType = !record || !record.parentId ? '0' : '1';
151
+ data.record.menuType = '0';
152
+ data.record.menuCategory = !record ? '0' : '';
153
+ data.record.parentId = record?.id;
154
+ data.record.hasChildren = record?.hasChildren;
155
+ data.record.children = data.record.children || [];
156
+ console.log(data.record);
157
+ row = record;
158
+ };
159
+
160
+ // 编辑
161
+ const handleEdit = (record: IRecord) => {
162
+ data.showDrawer = true;
163
+ data.dataStatus = 'update';
164
+ data.record = clone(record, true);
165
+ data.record.menuType = data.record.menuType.toString();
166
+ data.record.dispalyCode = record.permissionCode;
167
+ };
168
+
169
+ // 启用/禁用
170
+ async function handleUpdate({ row }) {
171
+ await serviceApi.put(url, [row]);
172
+ xgrid.value.refreshData();
173
+ }
174
+ // 删除
175
+ const handleDel = async () => {
176
+ const type = await VxeUI.modal.confirm(t('message.delRecord'));
177
+ const records = xgrid.value.getInstance().getCheckboxRecords();
178
+ if (type === 'confirm') {
179
+ const [err] = await to(serviceApi.delete(url, records));
180
+ }
181
+ };
182
+
183
+ const handleAuthorityPanel = record => {
184
+ data.showAuthority = true;
185
+ data.dataStatus = 'update';
186
+ data.record = clone(record, true);
187
+ data.record.menuType = data.record.menuType.toString();
188
+ data.record.dispalyCode = record.permissionCode;
189
+ };
190
+
191
+ const onClose = (type?, record?) => {
192
+ type === 'submit' && (row || record) && xgrid.value.getInstance().reloadTreeExpand(row || record);
193
+ data.record = {};
194
+ data.showDrawer = false;
195
+ data.showAuthority = false;
196
+ };
197
+ </script>