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

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 (147) hide show
  1. package/build/plugins.ts +39 -32
  2. package/dist/{403-Dp617CWX.js → 403-Dsgsr2M-.js} +1 -1
  3. package/dist/{404-Cz_Axb6Y.js → 404-DmPHEfqM.js} +1 -1
  4. package/dist/{500-BGCtRNse.js → 500-OYEgHR2a.js} +1 -1
  5. package/dist/{AuthorityInfo-DGGfm7IS.js → AuthorityInfo-B1H1txG-.js} +1 -1
  6. package/dist/AuthorityInfo.vue_vue_type_style_index_0_lang-BUlmQtjQ.js +100 -0
  7. package/dist/{Company-IV3GTnzY.js → Company-C8ojgx93.js} +3 -3
  8. package/dist/{CompanyPanel-qV-_VtoL.js → CompanyPanel-Dageer1t.js} +16 -16
  9. package/dist/{Department-B3W-OxW8.js → Department-Dr94_85I.js} +3 -3
  10. package/dist/{DepartmentPanel-Cw3OWxE7.js → DepartmentPanel-Bc5r1HpT.js} +1 -1
  11. package/dist/{DesignPanel-BFxR2fHJ.js → DesignPanel-CcWt1Myp.js} +1 -1
  12. package/dist/{DesignPanel.vue_vue_type_style_index_0_lang-DljbeFba.js → DesignPanel.vue_vue_type_style_index_0_lang-CKA6nx1l.js} +24 -26
  13. package/dist/DictView-BHj6wexC.js +110 -0
  14. package/dist/InvOrganization-DP3Le9g-.js +72 -0
  15. package/dist/Org-BRGHTwsw.js +39 -0
  16. package/dist/{Preview-BlDMmpdR.js → Preview-CqMaUD_3.js} +1 -1
  17. package/dist/{ReportDefine-Cub_85LA.js → ReportDefine-PEQdTCOY.js} +1 -1
  18. package/dist/{ReportDesign-hFhq5UVE.js → ReportDesign-CB4bv8ba.js} +43 -43
  19. package/dist/{ReportQuery-ChkWEyxT.js → ReportQuery-B7t4lMK0.js} +1 -1
  20. package/dist/{ReportQueryFrom-KVyD_8Dj.js → ReportQueryFrom-VBxUIMRJ.js} +1 -1
  21. package/dist/{ReportQueryFrom.vue_vue_type_style_index_0_lang-CLNODquq.js → ReportQueryFrom.vue_vue_type_style_index_0_lang-HeLA4Qs5.js} +1 -1
  22. package/dist/{ReportTemplate-ag9NDvh2.js → ReportTemplate-DNkv7F5p.js} +28 -28
  23. package/dist/{Role-_q3lQ8CZ.js → Role-BGfTpZK4.js} +6 -6
  24. package/dist/{RoleAssign-DZb9IRsm.js → RoleAssign-DrKFWZzA.js} +8 -8
  25. package/dist/{RolePanel-CsLsz-Ds.js → RolePanel-3lvRh7aS.js} +1 -1
  26. package/dist/{RolePanel-BQb1LlhD.js → RolePanel-BRI5QYe4.js} +1 -1
  27. package/dist/RolePanel.vue_vue_type_script_setup_true_lang-BXKZb7yt.js +132 -0
  28. package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-BrnRgHEk.js → RolePanel.vue_vue_type_script_setup_true_lang-Cci_Ysty.js} +44 -38
  29. package/dist/{ScrollPanel.vue_vue_type_style_index_0_lang-CaFKRwXu.js → ScrollPanel.vue_vue_type_style_index_0_lang-BmId6zzA.js} +21 -21
  30. package/dist/{Staff-BSf9Ypbk.js → Staff-Dr0dq3fW.js} +3 -3
  31. package/dist/{StaffInfo-BNKasyMF.js → StaffInfo-_N9g2hPa.js} +1 -1
  32. package/dist/{StaffInfo.vue_vue_type_script_setup_true_lang-DDZ7ukd0.js → StaffInfo.vue_vue_type_script_setup_true_lang-DiTJY2ug.js} +11 -11
  33. package/dist/{StaffPanel-Bpq0WVlH.js → StaffPanel-mxJQiW3G.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-GRGn-5t6.js} +2 -2
  35. package/dist/{SysUser-FAABuNti.js → SysUser-DgA19hZE.js} +2 -2
  36. package/dist/{SysUserPanel-PxJeOgHm.js → SysUserPanel-Bc85z5_K.js} +1 -1
  37. package/dist/SysUserPanel.vue_vue_type_script_setup_true_lang-BHDrP1Pk.js +294 -0
  38. package/dist/{SystemMenu-C-7NAGon.js → SystemMenu-Be-gFIie.js} +26 -26
  39. package/dist/{UserInfo-ClXKtyGo.js → UserInfo-BCYuwFmr.js} +1 -1
  40. package/dist/{UserInfo.vue_vue_type_style_index_0_lang-8N7P4Hl7.js → UserInfo.vue_vue_type_style_index_0_lang-B1lgokO6.js} +39 -37
  41. package/dist/{childView-C_HmDQNd.js → childView-DhcBr1UA.js} +1 -1
  42. package/dist/{childView-uUlBcTza.js → childView-Dk4zZoXd.js} +1 -1
  43. package/dist/{childView.vue_vue_type_style_index_0_lang-Ckjmw6wJ.js → childView.vue_vue_type_style_index_0_lang-CVnLnl03.js} +40 -40
  44. package/dist/{childView.vue_vue_type_style_index_0_lang-y0sDvYx5.js → childView.vue_vue_type_style_index_0_lang-D4GYVhOc.js} +1 -1
  45. package/dist/{code-rule-AgCVDKFy.js → code-rule-BSwPwuAL.js} +9 -10
  46. package/dist/core.es.js +14 -11
  47. package/dist/{cron-task-C6FgQxTi.js → cron-task-T1ztyra7.js} +1 -1
  48. package/dist/{frameView-BDgISK7N.js → frameView-BDgngiBq.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-BSj2AtVL.js +4468 -0
  53. package/dist/{layoutView-yb3DV2DQ.js → layoutView-i7dLLBzJ.js} +1181 -1176
  54. package/dist/{login-RRpljbkm.js → login-K5Ludp8x.js} +105 -113
  55. package/dist/{login-log-CvVnyGi3.js → login-log-kqKzKTto.js} +1 -1
  56. package/dist/{lov-view-C9-rjzZR.js → lov-view-lAexiucu.js} +2 -2
  57. package/dist/{menuInfo-CzPQyFhp.js → menuInfo-BaN5YZPp.js} +1 -1
  58. package/dist/{menuInfo.vue_vue_type_style_index_0_lang-BumXunCg.js → menuInfo.vue_vue_type_style_index_0_lang-yI4QOYxG.js} +100 -97
  59. package/dist/{pda-app-Dvy3U-b6.js → pda-app-DEtDXFvM.js} +211 -197
  60. package/dist/{resource-Fy0lFkSV.js → resource-Bztmz7pn.js} +15 -15
  61. package/dist/{su-welcome-DYvSCUST.js → su-welcome-Bx8nBPi9.js} +109 -110
  62. package/dist/sys-config-nvrtYGgi.js +290 -0
  63. package/dist/udp-core.css +2 -2
  64. package/dist/{utogether-CjmJiHoE.js → utogether-yPnwDAIH.js} +1 -1
  65. package/index.ts +40 -36
  66. package/package.json +18 -18
  67. package/src/App.vue +65 -70
  68. package/src/api/index.ts +31 -31
  69. package/src/components/SuCharts/src/UserInfo.vue +78 -78
  70. package/src/components/SuScrollTree/ScrollPanel.vue +3 -3
  71. package/src/components/udp/count-down.vue +536 -0
  72. package/src/components/udp/flip-down/FlipCard/flip-card.vue +251 -0
  73. package/src/components/udp/flip-down/FlipCard/interfaces.ts +4 -0
  74. package/src/components/udp/flip-down/FlipClock/flip-clock.vue +113 -0
  75. package/src/components/udp/form-upload.vue +414 -64
  76. package/src/components/udp/form.vue +112 -0
  77. package/src/components/udp/grid.vue +495 -0
  78. package/src/components/udp/index.ts +10 -4
  79. package/src/components/udp/lov.vue +388 -0
  80. package/src/components/udp/modal-form.vue +13 -3
  81. package/src/components/udp/modal-grid.vue +298 -0
  82. package/src/components/udp/upload.vue +423 -0
  83. package/src/components/udp/utils.ts +447 -40
  84. package/src/directives/permission/index.ts +1 -1
  85. package/src/layout/components/lay-navbar/index.vue +239 -237
  86. package/src/layout/components/lay-panel/index.vue +150 -150
  87. package/src/layout/components/lay-search/index.vue +25 -25
  88. package/src/layout/components/lay-select-org/index.vue +64 -69
  89. package/src/layout/components/lay-sidebar/breadCrumb.vue +1 -1
  90. package/src/layout/components/lay-sidebar/horizontal.vue +190 -191
  91. package/src/layout/components/lay-sidebar/mixNav.vue +260 -258
  92. package/src/layout/components/lay-sidebar/sidebar-logo.vue +92 -98
  93. package/src/layout/components/lay-tag/index.vue +625 -625
  94. package/src/layout/hooks/useNav.ts +173 -173
  95. package/src/layout/layoutView.vue +215 -215
  96. package/src/main.ts +119 -109
  97. package/src/plugins/i18n/en.ts +302 -289
  98. package/src/plugins/i18n/zh.ts +349 -337
  99. package/src/plugins/vxe-table/index.ts +53 -46
  100. package/src/plugins/vxe-table/render.tsx +956 -817
  101. package/src/router/index.ts +177 -183
  102. package/src/router/modules/remaining.ts +58 -83
  103. package/src/store/modules/permission.ts +1 -4
  104. package/src/style/button.scss +85 -78
  105. package/src/style/tailwind.css +1 -68
  106. package/src/style/vxetable.scss +44 -11
  107. package/src/utils/authority/index.ts +1 -1
  108. package/src/utils/{http → udp/http}/index.ts +283 -297
  109. package/src/utils/{http → udp/http}/types.d.ts +8 -5
  110. package/src/utils/udp/useRender.ts +17 -6
  111. package/src/views/login/login-view.vue +300 -314
  112. package/src/views/organization/company/CompanyPanel.vue +259 -259
  113. package/src/views/organization/inv-org/InvOrganization.vue +68 -54
  114. package/src/views/organization/org/Org.vue +9 -5
  115. package/src/views/system/menu/SystemMenu.vue +183 -197
  116. package/src/views/system/menu/menuInfo.vue +363 -371
  117. package/src/views/system/role/AuthorityInfo.vue +19 -15
  118. package/src/views/system/role/Role.vue +1 -5
  119. package/src/views/system/role/RolePanel.vue +11 -2
  120. package/src/views/system/role/UserInfo.vue +195 -193
  121. package/src/views/system/role-assign/RoleAssign.vue +57 -57
  122. package/src/views/system/role-assign/RolePanel.vue +139 -136
  123. package/src/views/system/sys/sys-config.vue +287 -291
  124. package/src/views/system/sysUser/SysUserPanel.vue +278 -278
  125. package/src/views/uapp/pda/pda-app.vue +208 -176
  126. package/src/views/udev/dict/DictView.vue +118 -106
  127. package/src/views/udev/dict/childView.vue +7 -7
  128. package/src/views/udev/lov/lov-view.vue +91 -91
  129. package/src/views/ufile/aggregation/File.vue +5 -5
  130. package/src/views/ufile/file/water-mark.vue +14 -14
  131. package/src/views/uhome/su-welcome.vue +3 -3
  132. package/src/views/ulogin/login.vue +12 -8
  133. package/src/views/upms/user/login-log.vue +1 -1
  134. package/src/views/urpt/design/DesignPanel.vue +507 -526
  135. package/src/views/urpt/design/ReportDesign.vue +15 -19
  136. package/src/views/urpt/static-resource/resource.vue +3 -3
  137. package/src/views/urpt/template/ReportTemplate.vue +7 -7
  138. package/types/global.d.ts +2 -1
  139. package/vite.config.ts +6 -2
  140. package/dist/AuthorityInfo.vue_vue_type_style_index_0_lang-BqccGW7v.js +0 -102
  141. package/dist/DictView-C-i7e4hZ.js +0 -95
  142. package/dist/InvOrganization-cfT6riGU.js +0 -260
  143. package/dist/Org-CA7vTDIF.js +0 -35
  144. package/dist/RolePanel.vue_vue_type_script_setup_true_lang-cmW7zBLu.js +0 -126
  145. package/dist/SysUserPanel.vue_vue_type_script_setup_true_lang-njefUln5.js +0 -288
  146. package/dist/index-DzOzUkf6.js +0 -3388
  147. package/dist/sys-config-DJ1vNQTy.js +0 -277
@@ -1,197 +1,183 @@
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 :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>