@utogether/udp-core 2.0.0-beta.27 → 2.0.0-beta.28
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.
- package/dist/{403-gdcH0-Bo.js → 403-CyoOD-Ik.js} +1 -1
- package/dist/{404-Se2SF97M.js → 404-Ch_OHTw0.js} +1 -1
- package/dist/{500-B6j9AqLo.js → 500-Cf9am7HK.js} +1 -1
- package/dist/{AuthorityInfo-CQ8ydZvr.js → AuthorityInfo-BJ427cqG.js} +1 -1
- package/dist/{AuthorityInfo.vue_vue_type_style_index_0_lang-C4NRvS8p.js → AuthorityInfo.vue_vue_type_style_index_0_lang-D9y7AwbB.js} +11 -12
- package/dist/{Company-BzSVBSC4.js → Company-qo-lKPkv.js} +3 -3
- package/dist/{CompanyPanel-DBjZB4aJ.js → CompanyPanel-DkKWAKvY.js} +7 -7
- package/dist/{Department-BkgseHo8.js → Department-CHUQByKX.js} +3 -3
- package/dist/{DepartmentPanel-Sen93_2M.js → DepartmentPanel-C742dfOO.js} +27 -28
- package/dist/{DesignPanel-pqDcwaFC.js → DesignPanel-D9oE5R7m.js} +1 -1
- package/dist/{DesignPanel.vue_vue_type_style_index_0_lang-BjtYyEw7.js → DesignPanel.vue_vue_type_style_index_0_lang-hYldVEbo.js} +192 -108
- package/dist/{DictView-CJLG4LlE.js → DictView-CrFXprP9.js} +1 -1
- package/dist/{InvOrganization-D0Jq1IAa.js → InvOrganization-Cz8SzIgs.js} +6 -7
- package/dist/{Org-CO_1WT39.js → Org-Bzt6yKox.js} +9 -10
- package/dist/{Preview-DLI4Bwel.js → Preview-jonigfMQ.js} +1 -1
- package/dist/{ReportDefine-Cw46OnJ_.js → ReportDefine-BpiM5Ovq.js} +1 -1
- package/dist/{ReportDesign-D4sHTXT7.js → ReportDesign-fp09cXJ7.js} +24 -25
- package/dist/{ReportQuery-DtOCvQSN.js → ReportQuery-52ZP1PYP.js} +1 -1
- package/dist/{ReportQueryFrom-QjL-ETPq.js → ReportQueryFrom-DSYavJb1.js} +1 -1
- package/dist/{ReportQueryFrom.vue_vue_type_style_index_0_lang-Dj9ne87n.js → ReportQueryFrom.vue_vue_type_style_index_0_lang-DBGYEp0u.js} +4 -4
- package/dist/{ReportTemplate-BxAgc_Aj.js → ReportTemplate-CA_UW0eD.js} +3 -3
- package/dist/{Role-Df77BBD-.js → Role-DqOt8Bk0.js} +3 -3
- package/dist/{RoleAssign-BrunouML.js → RoleAssign-BdxhefhQ.js} +3 -3
- package/dist/{RolePanel-HLA7XBlN.js → RolePanel-2gZ3H0ET.js} +1 -1
- package/dist/{RolePanel-DSVwqhiD.js → RolePanel-BsNd0svJ.js} +1 -1
- package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-CN0rUxKz.js → RolePanel.vue_vue_type_script_setup_true_lang-DLOwgF99.js} +9 -9
- package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-CKlbqRa5.js → RolePanel.vue_vue_type_script_setup_true_lang-DmzD9kab.js} +26 -27
- package/dist/{ScrollPanel.vue_vue_type_style_index_0_lang-D_FeSXKv.js → ScrollPanel.vue_vue_type_style_index_0_lang-B9ptUMeI.js} +7 -7
- package/dist/{Staff-BeL1xcRf.js → Staff-D3L8fEoY.js} +3 -3
- package/dist/{StaffInfo-CIfnltyX.js → StaffInfo-DYRw6ZYJ.js} +1 -1
- package/dist/{StaffInfo.vue_vue_type_script_setup_true_lang-DbLFwWfG.js → StaffInfo.vue_vue_type_script_setup_true_lang-xqEOQnMs.js} +1 -1
- package/dist/{StaffPanel-BV2CHWac.js → StaffPanel-DkrNH6Px.js} +1 -1
- package/dist/{StaffPanel.vue_vue_type_script_setup_true_lang-CvT-Vp2G.js → StaffPanel.vue_vue_type_script_setup_true_lang-BPBMnliy.js} +8 -9
- package/dist/{SysUser-DPfNvthk.js → SysUser-Bl1-cIpJ.js} +2 -2
- package/dist/{SysUserPanel-CoLKYlQE.js → SysUserPanel-yxNLaBwt.js} +1 -1
- package/dist/{SysUserPanel.vue_vue_type_script_setup_true_lang-lcO3Cjbq.js → SysUserPanel.vue_vue_type_script_setup_true_lang-BDcsgSl5.js} +11 -12
- package/dist/{SystemMenu-sdj1dRDA.js → SystemMenu-C4_Arn12.js} +9 -10
- package/dist/{UserInfo-CTX4hhFl.js → UserInfo-QcNwJCUR.js} +1 -1
- package/dist/{UserInfo.vue_vue_type_style_index_0_lang-ClhCd_8z.js → UserInfo.vue_vue_type_style_index_0_lang-DLIeUphX.js} +5 -6
- package/dist/{childView-BDmWwJO5.js → childView-B23DEO2u.js} +1 -1
- package/dist/{childView-Dx3ACtHa.js → childView-saDZQv9x.js} +1 -1
- package/dist/{childView.vue_vue_type_style_index_0_lang-CfKq_0FN.js → childView.vue_vue_type_style_index_0_lang-RsKR6CAC.js} +14 -15
- package/dist/{childView.vue_vue_type_style_index_0_lang-DxZNtkhd.js → childView.vue_vue_type_style_index_0_lang-ZFEfavUY.js} +11 -12
- package/dist/{code-rule-cvN4gYC_.js → code-rule-2_Ihx_by.js} +12 -13
- package/dist/core.es.js +21 -19
- package/dist/{cron-task-B0TkxFdp.js → cron-task-BFOPJQIk.js} +3 -4
- package/dist/{frameView-5cy5BSgS.js → frameView-f7Ya0Knj.js} +1 -1
- package/dist/img/minicolors.png +0 -0
- package/dist/{index-C5WRTwvI.js → index-BpdTDaTk.js} +811 -604
- package/dist/{layout-home-DrARg-3o.js → layout-home-v3DPJ7rB.js} +12 -13
- package/dist/{layoutView-25v_ngk5.js → layoutView-DZHoQDH1.js} +186 -187
- package/dist/{log-in-Bmz5Uhbt.js → log-in-BPAMJTwH.js} +4 -5
- package/dist/{log-out-B-8m3oNj.js → log-out-DZACF0jg.js} +8 -9
- package/dist/{login-Cmp2RvvW.js → login-B8cwozax.js} +22 -23
- package/dist/{lov-view-BATtzw2X.js → lov-view-Ba7Y7xy0.js} +4 -5
- package/dist/{menuInfo-BIvrE7nm.js → menuInfo-BpRKFYK8.js} +1 -1
- package/dist/{menuInfo.vue_vue_type_style_index_0_lang-B6USomit.js → menuInfo.vue_vue_type_style_index_0_lang-DJ5sUC6m.js} +17 -18
- package/dist/{pda-app-CzHVyeEa.js → pda-app-C0jJecrL.js} +7 -8
- package/dist/{resource-Y5lGB38n.js → resource-BG22Cw4P.js} +4 -4
- package/dist/su-welcome-DaxhbrC6.js +879 -0
- package/dist/{sys-config-CqO03LeC.js → sys-config-CG2fMtak.js} +22 -23
- package/dist/udp-core.css +1 -1
- package/dist/{useNav-C-rCgubt.js → useNav-_u2UAQWk.js} +24 -24
- package/index.ts +54 -51
- package/package.json +21 -21
- package/src/api/http.ts +10 -4
- package/src/api/index.ts +51 -51
- package/src/api/user.ts +64 -64
- package/src/components/udp/content/index.vue +93 -93
- package/src/components/udp/form-upload/form-upload.vue +496 -496
- package/src/components/udp/grid/index.vue +643 -544
- package/src/components/udp/index.ts +2 -1
- package/src/components/udp/modal-form/index.vue +326 -0
- package/src/components/udp/utils.ts +420 -420
- package/src/layout/components/lay-navbar/index.vue +240 -240
- package/src/layout/components/lay-search/components/SearchModal.vue +185 -185
- package/src/layout/components/lay-sidebar/mixNav.vue +261 -261
- package/src/layout/components/lay-sidebar/sidebarItem.vue +199 -195
- package/src/layout/components/lay-sidebar/vertical.vue +92 -92
- package/src/layout/layoutView.vue +1 -0
- package/src/main.ts +111 -111
- package/src/plugins/i18n/zh.ts +5 -1
- package/src/plugins/vxe-table/index.ts +116 -116
- package/src/router/index.ts +158 -156
- package/src/router/utils.ts +434 -430
- package/src/store/modules/permission.ts +1 -1
- package/src/store/modules/system.ts +193 -193
- package/src/style/print-lock.css +380 -375
- package/src/style/suprint.css +990 -985
- package/src/utils/authority/index.ts +46 -46
- package/src/utils/dataFormat/index.ts +309 -222
- package/src/utils/udp/http/index.ts +19 -11
- package/src/views/uhome/components/home-todo.vue +15 -3
- package/src/views/uhome/dynamic-card.vue +31 -31
- package/src/views/uhome/su-welcome.vue +310 -310
- package/src/views/ulogin/login.vue +292 -292
- package/src/views/urpt/design/DesignPanel.vue +538 -507
- package/src/views/urpt/design/print-data.ts +39 -59
- package/dist/await-to-js.es5-Bv3Eu4mi.js +0 -10
- package/dist/su-welcome-CXA6OzBw.js +0 -878
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import Axios, { type AxiosInstance, type AxiosRequestConfig } from 'axios';
|
|
2
|
-
import type {
|
|
2
|
+
import type { RequestMethods, XHttpRequestConfig } from './types.d';
|
|
3
|
+
// import { NProgress, cookies, errorMessage } from "./index";
|
|
3
4
|
import { NProgress, cookies, errorMessage } from '@utogether/utils';
|
|
5
|
+
|
|
4
6
|
import { isRef } from 'vue';
|
|
5
7
|
import { has } from 'xe-utils';
|
|
6
8
|
|
|
@@ -61,6 +63,10 @@ class XHttp {
|
|
|
61
63
|
}
|
|
62
64
|
router = undefined;
|
|
63
65
|
baseUrl = null;
|
|
66
|
+
|
|
67
|
+
// 服务白名单,判断是否需要token
|
|
68
|
+
whiteList = [/\/refreshToken$/, /\/login$/];
|
|
69
|
+
|
|
64
70
|
/** token过期后,暂存待执行的请求 */
|
|
65
71
|
private static requests = [];
|
|
66
72
|
|
|
@@ -98,7 +104,7 @@ class XHttp {
|
|
|
98
104
|
}
|
|
99
105
|
|
|
100
106
|
// 重复请求取消前一个
|
|
101
|
-
addPending(config);
|
|
107
|
+
!config.url.includes('uath/refreshToken') && addPending(config);
|
|
102
108
|
|
|
103
109
|
// 开启进度条动画
|
|
104
110
|
NProgress.start();
|
|
@@ -109,9 +115,7 @@ class XHttp {
|
|
|
109
115
|
return config;
|
|
110
116
|
}
|
|
111
117
|
|
|
112
|
-
|
|
113
|
-
const whiteList = [/\/refreshToken$/, /\/login$/];
|
|
114
|
-
if (whiteList.some(pattern => pattern.test(config.url))) return config;
|
|
118
|
+
if (this.whiteList.some(pattern => pattern.test(config.url))) return config;
|
|
115
119
|
|
|
116
120
|
return new Promise(async resolve => {
|
|
117
121
|
const token = cookies.get(kTOKENKEY);
|
|
@@ -122,9 +126,10 @@ class XHttp {
|
|
|
122
126
|
if (expired) {
|
|
123
127
|
if (!XHttp.isRefreshing) {
|
|
124
128
|
XHttp.isRefreshing = true;
|
|
125
|
-
|
|
126
|
-
refreshToken
|
|
127
|
-
|
|
129
|
+
XHttp.axiosInstance
|
|
130
|
+
.get(this.baseUrl + '/uath/refreshToken', {
|
|
131
|
+
params: { refreshToken: data.refreshToken }
|
|
132
|
+
})
|
|
128
133
|
.then((res: any) => {
|
|
129
134
|
if (!res?.access_token) {
|
|
130
135
|
this.routeToLogin();
|
|
@@ -144,7 +149,9 @@ class XHttp {
|
|
|
144
149
|
XHttp.isRefreshing = false;
|
|
145
150
|
});
|
|
146
151
|
}
|
|
147
|
-
|
|
152
|
+
// 请求完成,移除pending记录
|
|
153
|
+
// @ts-ignore
|
|
154
|
+
resolve(XHttp.retryOriginalRequest(config));
|
|
148
155
|
} else {
|
|
149
156
|
config.headers['Authorization'] = 'Bearer ' + data.accessToken;
|
|
150
157
|
resolve(config);
|
|
@@ -169,7 +176,8 @@ class XHttp {
|
|
|
169
176
|
const cache = {
|
|
170
177
|
accessToken: access_token,
|
|
171
178
|
refreshToken: refresh_token,
|
|
172
|
-
expires: Date.now() + expires_in
|
|
179
|
+
expires: Date.now() + expires_in
|
|
180
|
+
// expires: Date.now() + expires_in * 1000
|
|
173
181
|
};
|
|
174
182
|
cookies.set(kTOKENKEY, JSON.stringify(cache));
|
|
175
183
|
}
|
|
@@ -211,7 +219,7 @@ class XHttp {
|
|
|
211
219
|
|
|
212
220
|
return response.data;
|
|
213
221
|
},
|
|
214
|
-
(error:
|
|
222
|
+
(error: any) => {
|
|
215
223
|
// 被取消的请求不做错误提示
|
|
216
224
|
if (Axios.isCancel(error)) {
|
|
217
225
|
console.warn('请求已取消:', error.message);
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @Author: levi7754 levi7754@163.com
|
|
3
3
|
* @Date: 2025-11-05 18:11:29
|
|
4
4
|
* @LastEditors: levi7754 levi7754@163.com
|
|
5
|
-
* @LastEditTime: 2026-
|
|
5
|
+
* @LastEditTime: 2026-08-13 16:23:03
|
|
6
6
|
* @FilePath: \udp-crm\packages\udp-crm\src\views\uflow\todo\flow-todo.vue
|
|
7
7
|
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
|
8
8
|
-->
|
|
@@ -58,15 +58,17 @@
|
|
|
58
58
|
</template>
|
|
59
59
|
|
|
60
60
|
<script setup lang="tsx">
|
|
61
|
-
import { useRouter } from 'vue-router';
|
|
62
|
-
import { ref, onMounted, nextTick } from 'vue';
|
|
61
|
+
import { useRouter, useRoute } from 'vue-router';
|
|
62
|
+
import { ref, onMounted, nextTick, watch } from 'vue';
|
|
63
63
|
|
|
64
64
|
import { cookies } from '@utogether/utils';
|
|
65
65
|
import { isEmpty } from 'xe-utils';
|
|
66
66
|
import to from 'await-to-js';
|
|
67
67
|
import { getServiceApi } from '../../../api';
|
|
68
68
|
import { kLOGINER } from '../../../contant';
|
|
69
|
+
|
|
69
70
|
const router = useRouter();
|
|
71
|
+
const route = useRoute();
|
|
70
72
|
|
|
71
73
|
const xgrid = ref(null);
|
|
72
74
|
const ygrid = ref(null);
|
|
@@ -172,6 +174,16 @@ const handleTodo = (row, dataStatus = 'detail') => {
|
|
|
172
174
|
router.push({ name: 'FlowApproval' });
|
|
173
175
|
};
|
|
174
176
|
|
|
177
|
+
// 监听路由跳转,返回首页时刷新列表
|
|
178
|
+
watch(
|
|
179
|
+
() => route.fullPath,
|
|
180
|
+
() => {
|
|
181
|
+
if (route.name === 'UdpWelcome') {
|
|
182
|
+
getDataList(activeName.value, keywords.value);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
);
|
|
186
|
+
|
|
175
187
|
onMounted(() => {
|
|
176
188
|
data.value[`${activeName.value}Page`] = pagination;
|
|
177
189
|
getDataList('todo', null);
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
* @Author: levi7754 levi7754@163.com
|
|
3
|
-
* @Date: 2025-12-26 13:53:05
|
|
4
|
-
* @LastEditors: levi7754 levi7754@163.com
|
|
5
|
-
* @LastEditTime: 2025-12-30 09:23:25
|
|
6
|
-
* @FilePath: \udp-front\packages\udp-core\src\views\uhome\dynamic-card.vue
|
|
7
|
-
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
|
8
|
-
-->
|
|
9
|
-
<template>
|
|
10
|
-
<div class="dynamic-card w-full">
|
|
11
|
-
<vxe-row :gutter="[10, 10]" wrap>
|
|
12
|
-
<vxe-col v-for="data in list" :key="data.id" :span="data.span">
|
|
13
|
-
<vxe-card :title="data.title" :height="data.height" shadow>
|
|
14
|
-
<dynamicComponent :data="data" />
|
|
15
|
-
</vxe-card>
|
|
16
|
-
</vxe-col>
|
|
17
|
-
</vxe-row>
|
|
18
|
-
</div>
|
|
19
|
-
</template>
|
|
20
|
-
<script setup lang="tsx">
|
|
21
|
-
import dynamicComponent from './components/dynamic-component.vue';
|
|
22
|
-
|
|
23
|
-
interface IProps {
|
|
24
|
-
list: IRecord;
|
|
25
|
-
}
|
|
26
|
-
withDefaults(defineProps<IProps>(), {
|
|
27
|
-
list: () => {
|
|
28
|
-
return [];
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
</script>
|
|
1
|
+
<!--
|
|
2
|
+
* @Author: levi7754 levi7754@163.com
|
|
3
|
+
* @Date: 2025-12-26 13:53:05
|
|
4
|
+
* @LastEditors: levi7754 levi7754@163.com
|
|
5
|
+
* @LastEditTime: 2025-12-30 09:23:25
|
|
6
|
+
* @FilePath: \udp-front\packages\udp-core\src\views\uhome\dynamic-card.vue
|
|
7
|
+
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
|
8
|
+
-->
|
|
9
|
+
<template>
|
|
10
|
+
<div class="dynamic-card w-full">
|
|
11
|
+
<vxe-row :gutter="[10, 10]" wrap>
|
|
12
|
+
<vxe-col v-for="data in list" :key="data.id" :span="data.span">
|
|
13
|
+
<vxe-card :title="data.title" :height="data.height" shadow>
|
|
14
|
+
<dynamicComponent :data="data" />
|
|
15
|
+
</vxe-card>
|
|
16
|
+
</vxe-col>
|
|
17
|
+
</vxe-row>
|
|
18
|
+
</div>
|
|
19
|
+
</template>
|
|
20
|
+
<script setup lang="tsx">
|
|
21
|
+
import dynamicComponent from './components/dynamic-component.vue';
|
|
22
|
+
|
|
23
|
+
interface IProps {
|
|
24
|
+
list: IRecord;
|
|
25
|
+
}
|
|
26
|
+
withDefaults(defineProps<IProps>(), {
|
|
27
|
+
list: () => {
|
|
28
|
+
return [];
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
</script>
|