@utogether/udp-core 1.0.4 → 2.0.0-beta.10

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 (124) hide show
  1. package/dist/{403-DASI6Pwz.js → 403-DjXGcxpa.js} +3 -3
  2. package/dist/{404-YhBA92cb.js → 404-B_MSn6FQ.js} +1 -1
  3. package/dist/{500-ywbFF5MX.js → 500-CtI21E9g.js} +2 -2
  4. package/dist/{AuthorityInfo-tCSX2Fh7.js → AuthorityInfo-CYhRUS8K.js} +1 -1
  5. package/dist/{AuthorityInfo.vue_vue_type_style_index_0_lang-Cwd6UT2i.js → AuthorityInfo.vue_vue_type_style_index_0_lang-BY8hkJ2R.js} +2 -2
  6. package/dist/{AuthorityPanel-BeBNiwqc.js → AuthorityPanel-CRlAwbaI.js} +1 -1
  7. package/dist/{AuthorityPanel.vue_vue_type_style_index_0_lang-CIYmnP9-.js → AuthorityPanel.vue_vue_type_style_index_0_lang-DxhZjp1S.js} +31 -24
  8. package/dist/{Company-l23MEzdM.js → Company-BVH3Zyy0.js} +3 -3
  9. package/dist/{CompanyPanel-D_s0rh6h.js → CompanyPanel-BKx3WVgS.js} +1 -1
  10. package/dist/{Department-DSEvORLg.js → Department-BZcr0_eu.js} +3 -3
  11. package/dist/{DepartmentPanel-WN8nOgCV.js → DepartmentPanel-BZNV3WaF.js} +3 -3
  12. package/dist/{DesignPanel-DirEGh9M.js → DesignPanel-7gr0Fljt.js} +1 -1
  13. package/dist/{DesignPanel.vue_vue_type_style_index_0_lang-D02hXSrN.js → DesignPanel.vue_vue_type_style_index_0_lang-By9HKa8W.js} +3 -3
  14. package/dist/{DictView-DiIQdiek.js → DictView-B0dRdinW.js} +20 -19
  15. package/dist/{InvOrganization-b7v3g9EJ.js → InvOrganization-CwTNjj-a.js} +2 -2
  16. package/dist/{Org-BORfx1PL.js → Org-D59oQ0VY.js} +2 -2
  17. package/dist/{Preview-DkRn_TSc.js → Preview-sbZrWUWr.js} +1 -1
  18. package/dist/{ReportDefine-Cd0QeaWA.js → ReportDefine-C7CZ6RSh.js} +1 -1
  19. package/dist/{ReportDesign-4qNqyeEW.js → ReportDesign-CuevdD_6.js} +3 -3
  20. package/dist/{ReportQuery-BJfTFpec.js → ReportQuery-BndhM0Ji.js} +1 -1
  21. package/dist/{ReportQueryFrom-CB7sExZx.js → ReportQueryFrom-n2k7BNX9.js} +1 -1
  22. package/dist/{ReportQueryFrom.vue_vue_type_style_index_0_lang-CqO_2Ier.js → ReportQueryFrom.vue_vue_type_style_index_0_lang-CFtXbzOb.js} +1 -1
  23. package/dist/{ReportTemplate-B69muSgT.js → ReportTemplate-43Rx_knT.js} +1 -1
  24. package/dist/{Role-Bo4YrNDC.js → Role-BS2QH_H8.js} +3 -3
  25. package/dist/{RoleAssign-kOMYJ4s3.js → RoleAssign-C6wMcgfW.js} +3 -3
  26. package/dist/{RolePanel-BSJmjyqc.js → RolePanel-BwyuGmJw.js} +1 -1
  27. package/dist/{RolePanel-B1d4e6uk.js → RolePanel-DJop6xpJ.js} +1 -1
  28. package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-DgQpfjaU.js → RolePanel.vue_vue_type_script_setup_true_lang-CSkU6fAb.js} +3 -3
  29. package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-DCzX-ZP_.js → RolePanel.vue_vue_type_script_setup_true_lang-Cf0BCtgL.js} +2 -2
  30. package/dist/{ScrollPanel.vue_vue_type_style_index_0_lang-WNOYFxJ1.js → ScrollPanel.vue_vue_type_style_index_0_lang-BZY0JkpB.js} +32 -31
  31. package/dist/Staff-DI6eAVQs.js +26 -0
  32. package/dist/{StaffInfo-DcU9_40C.js → StaffInfo-BQhMyQ7u.js} +1 -1
  33. package/dist/{StaffInfo.vue_vue_type_script_setup_true_lang-CtfN2CAr.js → StaffInfo.vue_vue_type_script_setup_true_lang-D79C6rw0.js} +9 -9
  34. package/dist/{StaffPanel-7exWkZd9.js → StaffPanel-By5elrj9.js} +1 -1
  35. package/dist/StaffPanel.vue_vue_type_script_setup_true_lang-DtbIZdcq.js +154 -0
  36. package/dist/{SysUser-B3uB_cp2.js → SysUser-DNYitHEW.js} +2 -2
  37. package/dist/{SysUserPanel-B0CLp5AO.js → SysUserPanel-_WDSXjfT.js} +1 -1
  38. package/dist/{SysUserPanel.vue_vue_type_script_setup_true_lang-Cwea_4dY.js → SysUserPanel.vue_vue_type_script_setup_true_lang-BFhIa5Gs.js} +126 -111
  39. package/dist/{SystemMenu-a59l4hTk.js → SystemMenu-C_H0bTA7.js} +52 -49
  40. package/dist/{UserInfo-D1IA2oLt.js → UserInfo-Bx25xdkh.js} +1 -1
  41. package/dist/{UserInfo.vue_vue_type_style_index_0_lang-DDVgYRD5.js → UserInfo.vue_vue_type_style_index_0_lang-B6FE4Epn.js} +2 -2
  42. package/dist/await-to-js.es5-Bv3Eu4mi.js +10 -0
  43. package/dist/{childView-6rCeLcsx.js → childView-CiKCAXKS.js} +1 -1
  44. package/dist/{childView-JdrkroL5.js → childView-WAzRvHLp.js} +1 -1
  45. package/dist/{childView.vue_vue_type_style_index_0_lang-B8x99f1B.js → childView.vue_vue_type_style_index_0_lang-3n_-DrRj.js} +2 -2
  46. package/dist/{childView.vue_vue_type_style_index_0_lang-BfcnWnx9.js → childView.vue_vue_type_style_index_0_lang-Bz4630fS.js} +26 -20
  47. package/dist/{code-rule-2lkPF547.js → code-rule-BehFVVOx.js} +2 -2
  48. package/dist/core.es.js +1 -1
  49. package/dist/{cron-task-DV1pGO1m.js → cron-task-C0-R_b64.js} +2 -2
  50. package/dist/{frameView-C0bzSB8c.js → frameView-4E2U2LM3.js} +1 -1
  51. package/dist/index-BvU3LB8R.js +7275 -0
  52. package/dist/layout-home-DJywZo1E.js +232 -0
  53. package/dist/{layoutView-CTV-E4Cj.js → layoutView-JGsVdXXu.js} +148 -149
  54. package/dist/{log-in-CoBP2x6u.js → log-in-l4FpOtBL.js} +2 -2
  55. package/dist/{log-out-KX8FiRVf.js → log-out-Cij2dkih.js} +2 -2
  56. package/dist/{login-CtCoGWzD.js → login-D4hfm7ZW.js} +124 -134
  57. package/dist/{login-log-DJBGJVV0.js → login-log-BEHYT0v0.js} +5 -5
  58. package/dist/{lov-view-Bm0JEzzg.js → lov-view-CpJedb5y.js} +3 -3
  59. package/dist/{menuInfo-D2qPoRwz.js → menuInfo-ClhT8lVG.js} +1 -1
  60. package/dist/{menuInfo.vue_vue_type_style_index_0_lang-DoQjX9Ly.js → menuInfo.vue_vue_type_style_index_0_lang-VuKVlyhc.js} +38 -36
  61. package/dist/{pda-app-SbcIclbH.js → pda-app-D_w1bNyU.js} +2 -2
  62. package/dist/{resource-Cdq1UKGI.js → resource-BxTwBnU4.js} +1 -1
  63. package/dist/su-welcome-BLNjs5WE.js +42181 -0
  64. package/dist/{sys-config-CCOf4xbj.js → sys-config-C0RJg9l1.js} +2 -2
  65. package/dist/udp-core.css +1 -1
  66. package/package.json +5 -2
  67. package/src/App.vue +37 -31
  68. package/src/components/SuScrollTree/ScrollPanel.vue +176 -170
  69. package/src/components/udp/content/index.vue +88 -88
  70. package/src/components/udp/form-upload/form-upload.vue +496 -0
  71. package/src/components/udp/grid/index.vue +524 -524
  72. package/src/components/udp/index.ts +6 -5
  73. package/src/components/udp/ut-stamp-badge/index.vue +271 -271
  74. package/src/components/udp/utils.ts +8 -2
  75. package/src/layout/components/lay-content/index.vue +4 -11
  76. package/src/layout/components/lay-search/components/SearchModal.vue +181 -189
  77. package/src/layout/components/lay-setting/index.vue +503 -503
  78. package/src/layout/components/lay-sidebar/sidebar-logo.vue +101 -101
  79. package/src/layout/components/lay-tag/index.vue +598 -598
  80. package/src/layout/hooks/useNav.ts +176 -176
  81. package/src/layout/hooks/useTag.ts +227 -227
  82. package/src/layout/layoutView.vue +216 -215
  83. package/src/layout/types.ts +93 -93
  84. package/src/main.ts +111 -115
  85. package/src/plugins/i18n/zh.ts +19 -3
  86. package/src/plugins/vxe-table/render.tsx +60 -15
  87. package/src/router/index.ts +187 -187
  88. package/src/router/modules/home.ts +32 -32
  89. package/src/router/utils.ts +420 -420
  90. package/src/store/modules/epTheme.ts +48 -48
  91. package/src/style/vxetable.scss +18 -2
  92. package/src/utils/dataFormat/index.ts +222 -222
  93. package/src/utils/lifecycle.ts +39 -39
  94. package/src/views/organization/department/DepartmentPanel.vue +303 -303
  95. package/src/views/organization/staff/Staff.vue +59 -58
  96. package/src/views/organization/staff/StaffInfo.vue +3 -2
  97. package/src/views/organization/staff/StaffPanel.vue +13 -1
  98. package/src/views/system/layout/layout-home.vue +238 -0
  99. package/src/views/system/menu/AuthorityPanel.vue +10 -9
  100. package/src/views/system/menu/SystemMenu.vue +194 -185
  101. package/src/views/system/menu/menuInfo.vue +384 -384
  102. package/src/views/system/sysUser/SysUserPanel.vue +363 -347
  103. package/src/views/udev/coderule/code-rule.vue +132 -132
  104. package/src/views/udev/dict/DictView.vue +4 -4
  105. package/src/views/udev/dict/childView.vue +6 -4
  106. package/src/views/udev/lov/childView.vue +174 -174
  107. package/src/views/ufile/aggregation/File.vue +85 -87
  108. package/src/views/uhome/components/common-menu.vue +118 -0
  109. package/src/views/uhome/components/dynamic-component.vue +66 -0
  110. package/src/views/uhome/components/home-todo.vue +175 -0
  111. package/src/views/uhome/components/menu-favorite.vue +315 -315
  112. package/src/views/uhome/dynamic-card.vue +31 -0
  113. package/src/views/uhome/su-welcome.vue +47 -114
  114. package/src/views/ulogin/login.vue +336 -325
  115. package/src/views/upms/interface/log-in.vue +100 -100
  116. package/src/views/upms/interface/log-out.vue +104 -104
  117. package/src/views/upms/user/login-log.vue +54 -54
  118. package/types/global.d.ts +232 -231
  119. package/vite.config.ts +83 -84
  120. package/dist/Staff-BFp3zNNR.js +0 -25
  121. package/dist/StaffPanel.vue_vue_type_script_setup_true_lang-v5xOXKRS.js +0 -143
  122. package/dist/await-to-js.es5-BtRbN2QH.js +0 -10
  123. package/dist/index-BbtbEMCH.js +0 -4649
  124. package/dist/su-welcome-BHDsjqqV.js +0 -524
@@ -0,0 +1,66 @@
1
+ <template>
2
+ <remoteComponent />
3
+ </template>
4
+
5
+ <script setup lang="ts">
6
+ import { defineAsyncComponent } from 'vue';
7
+ import * as Vue from 'vue';
8
+ import XEUtils from 'xe-utils';
9
+ import to from 'await-to-js';
10
+ import dayjs from 'dayjs';
11
+ import vxe from 'vxe-pc-ui';
12
+ import * as udpUtils from '@utogether/utils';
13
+ import * as router from 'vue-router';
14
+ import { loadModule } from 'vue3-sfc-loader';
15
+ import * as echarts from 'echarts';
16
+ import { getEnv } from '../../../config';
17
+ import * as udpCore from '../../../../index';
18
+
19
+ interface IProps {
20
+ data: IRecord;
21
+ }
22
+
23
+ const props = withDefaults(defineProps<IProps>(), {
24
+ data: () => {
25
+ return {};
26
+ }
27
+ });
28
+
29
+ const domain = getEnv().VITE_ROUTER_HISTORY;
30
+
31
+ const options = {
32
+ compileOptions: {
33
+ mode: 'module', // 关键配置
34
+ hoistStatic: true
35
+ },
36
+ moduleCache: {
37
+ vue: Vue,
38
+ 'vue-router': router,
39
+ 'await-to-js': to,
40
+ '@utogether/utils': udpUtils,
41
+ '@utogether/udp-core': udpCore,
42
+ 'xe-utils': XEUtils,
43
+ dayjs: dayjs,
44
+ echarts: echarts,
45
+ 'vxe-pc-ui': vxe
46
+ },
47
+ async getFile(url) {
48
+ const res = await fetch(url);
49
+ const code = await res.text();
50
+ return code;
51
+ },
52
+ addStyle(textContent) {
53
+ const style = Object.assign(document.createElement('style'), {
54
+ textContent
55
+ });
56
+ const ref = document.head.getElementsByTagName('style')[0] || null;
57
+ document.head.insertBefore(style, ref);
58
+ }
59
+ };
60
+
61
+ const remoteComponent = defineAsyncComponent(async () => {
62
+ const res = await loadModule(`${window.origin}${domain ? '/' + domain : ''}${props.data.url}.vue`, options);
63
+ console.log('res', res);
64
+ return res;
65
+ });
66
+ </script>
@@ -0,0 +1,175 @@
1
+ <!--
2
+ * @Author: levi7754 levi7754@163.com
3
+ * @Date: 2025-11-05 18:11:29
4
+ * @LastEditors: levi7754 levi7754@163.com
5
+ * @LastEditTime: 2026-01-08 14:30:52
6
+ * @FilePath: \udp-crm\packages\udp-crm\src\views\uflow\todo\flow-todo.vue
7
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
8
+ -->
9
+ <template>
10
+ <div>
11
+ <vxe-tabs v-model="activeName" type="border-card" @tab-change="onTabChange">
12
+ <vxe-tab-pane name="todo" :title="$t('message.t_todoFlow')">
13
+ <div class="flex items-center w-full pl-2 pr-3 pt-1">
14
+ <vxe-input v-model="keywords" class="flex-1 w-full" placeholder="请输入任务编码或名称或标题查询" />
15
+ <div class="pl-1">
16
+ <ut-button content="search" icon="ri-search-line" @tap="onSearch" />
17
+ <ut-button content="reset" status="info" icon="ri-cycle-line" @tap="onReset" />
18
+ </div>
19
+ </div>
20
+ <ut-grid
21
+ ref="xgrid"
22
+ :columns="columns"
23
+ :data="data.todo"
24
+ :events="events"
25
+ :editable="false"
26
+ :need-export="false"
27
+ :proxy-config="{ enabled: false }"
28
+ :toolbar-config="{ enabled: false }"
29
+ height="360"
30
+ />
31
+ </vxe-tab-pane>
32
+ <vxe-tab-pane name="finish" lazy :title="$t('message.t_finishFlow')">
33
+ <div class="flex items-center w-full pl-2 pr-3 pt-1">
34
+ <vxe-input v-model="keywords" class="flex-1 w-full" placeholder="请输入任务编码或名称或标题查询" />
35
+ <div class="pl-1">
36
+ <ut-button content="search" icon="ri-search-line" @tap="onSearch" />
37
+ <ut-button content="reset" status="info" icon="ri-cycle-line" @tap="onReset" />
38
+ </div>
39
+ </div>
40
+ <ut-grid
41
+ ref="ygrid"
42
+ :columns="columns"
43
+ :data="data.finish"
44
+ :events="events"
45
+ :editable="false"
46
+ :need-export="false"
47
+ :proxy-config="{ enabled: false }"
48
+ :toolbar-config="{ enabled: false }"
49
+ height="360"
50
+ />
51
+ />
52
+ </vxe-tab-pane>
53
+ </vxe-tabs>
54
+ <vxe-modal v-model="showModal" :loading="loading" :title="flowTitle" height="360">
55
+ <vxe-image :src="imageUrl" :height="520" width="75%" />
56
+ </vxe-modal>
57
+ </div>
58
+ </template>
59
+
60
+ <script setup lang="tsx">
61
+ import { useRouter } from 'vue-router';
62
+ import { ref, onMounted, nextTick } from 'vue';
63
+
64
+ import { cookies } from '@utogether/utils';
65
+ import { isEmpty } from 'xe-utils';
66
+ import to from 'await-to-js';
67
+ import { getServiceApi } from '../../../api';
68
+ import { kLOGINER } from '../../../contant';
69
+ const router = useRouter();
70
+
71
+ const xgrid = ref(null);
72
+ const ygrid = ref(null);
73
+ const activeName = ref('todo');
74
+ const showModal = ref(false);
75
+ const loading = ref(false);
76
+ const imageUrl = ref('');
77
+ const keywords = ref(null);
78
+ const flowTitle = ref(null);
79
+ const data = ref({ todo: [], finish: [], todoPage: {}, finishPage: {} });
80
+
81
+ const url = '/uwfl/activiti';
82
+
83
+ const pagination = { pageNum: 1, pageSize: 20 };
84
+
85
+ const columns = [
86
+ { field: 'taskId' },
87
+ { field: 'taskName' },
88
+ { field: 'taskTitle' },
89
+ { field: 'createDate' },
90
+ {
91
+ field: 'operate',
92
+ width: 90,
93
+ fixed: 'right',
94
+ slots: {
95
+ default: ({ row }) => {
96
+ return [
97
+ <>
98
+ <ut-button
99
+ visible={activeName.value === 'todo'}
100
+ content="todoTask"
101
+ icon="ri-send-plane-line"
102
+ onTap={() => handleTodo(row, 'edit')}
103
+ />
104
+ <ut-button
105
+ visible={activeName.value === 'finish'}
106
+ content="look"
107
+ status="info"
108
+ onTap={() => handleTodo(row)}
109
+ />
110
+ </>
111
+ ];
112
+ }
113
+ }
114
+ }
115
+ ];
116
+
117
+ const events = {
118
+ pageChange({ pageSize, currentPage }) {
119
+ data.value[`${activeName.value}Page`] = { pageNum: currentPage, pageSize };
120
+ getDataList(activeName.value, keywords.value);
121
+ }
122
+ };
123
+
124
+ const onSearch = () => {
125
+ data.value[`${activeName.value}Page`] = pagination;
126
+ getDataList(activeName.value, keywords.value);
127
+ };
128
+
129
+ const onReset = () => {
130
+ keywords.value = null;
131
+ onSearch();
132
+ };
133
+
134
+ const getDataList = async (type, searchField) => {
135
+ console.log(type);
136
+ const uri = type === 'todo' ? '/listTasksToBeHandle' : '/listHandledTask';
137
+ const params = {
138
+ ...data.value[`${activeName.value}Page`],
139
+ searchField,
140
+ userName: cookies.get(kLOGINER)
141
+ };
142
+ const [err, res]: any = await to(getServiceApi().post(url + uri, params));
143
+ if (err) return;
144
+ data.value[type] = res.list;
145
+
146
+ const grid = type === 'todo' ? xgrid : ygrid;
147
+ grid.value.getInstance().loadData(res.list);
148
+ };
149
+
150
+ const onTabChange = async ({ value }) => {
151
+ const grid = value === 'todo' ? xgrid : ygrid;
152
+ const operate = columns.find(f => f.field === 'operate');
153
+ operate.width = value === 'todo' ? 160 : 80;
154
+ await nextTick();
155
+ grid.value.getInstance().reloadColumn(columns);
156
+ const page = data.value[`${activeName.value}Page`];
157
+ data.value[`${activeName.value}Page`] = isEmpty(page) ? page : pagination;
158
+ getDataList(activeName.value, keywords.value);
159
+ };
160
+
161
+ const handleTodo = (row, dataStatus = 'detail') => {
162
+ console.log(row);
163
+ const data = Object.assign(
164
+ { dataStatus, workflowCode: row.sourceKey, businessKey: row.sourceId, processInstanceId: row.processInstId },
165
+ row
166
+ );
167
+ sessionStorage.setItem('kPROCESSKEY', JSON.stringify(data));
168
+ router.push({ name: 'FlowApproval' });
169
+ };
170
+
171
+ onMounted(() => {
172
+ data.value[`${activeName.value}Page`] = pagination;
173
+ getDataList('todo', null);
174
+ });
175
+ </script>