@utogether/udp-core 1.0.1-beta.4 → 1.0.1-beta.6
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/build/plugins.ts +39 -37
- package/dist/{403-CT4J-t-o.js → 403-Co4hnzlW.js} +1 -1
- package/dist/{404-BAudfnaK.js → 404-BsseeBQQ.js} +1 -1
- package/dist/{500-BlOGtpEE.js → 500-DtKz7MA4.js} +1 -1
- package/dist/{AuthorityInfo-Bl03tEhF.js → AuthorityInfo-iWYEWOmC.js} +1 -1
- package/dist/{AuthorityInfo.vue_vue_type_style_index_0_lang-CUwS2F3R.js → AuthorityInfo.vue_vue_type_style_index_0_lang-BWp7PKyH.js} +1 -1
- package/dist/{Company-CIj9XgQn.js → Company-CK8Zkcv3.js} +3 -3
- package/dist/{CompanyPanel-CublK5NN.js → CompanyPanel-DL4UrYYG.js} +1 -1
- package/dist/{Department-BolPW-W3.js → Department-BPHn8to4.js} +3 -3
- package/dist/{DepartmentPanel-BttxSHfM.js → DepartmentPanel-Bqraa_NB.js} +1 -1
- package/dist/{DesignPanel-BwCbn92O.js → DesignPanel-CFOIOZme.js} +1 -1
- package/dist/{DesignPanel.vue_vue_type_style_index_0_lang-y2AnCTg6.js → DesignPanel.vue_vue_type_style_index_0_lang-H0FNG35Z.js} +2 -2
- package/dist/{DictView-D85ziNV2.js → DictView-CaD1yHQS.js} +1 -1
- package/dist/{InvOrganization-CaAk_f7F.js → InvOrganization-CoO0_wsY.js} +1 -1
- package/dist/{Org-CreIihFE.js → Org-BU3oaFx3.js} +1 -1
- package/dist/{Preview-DMGbhV6q.js → Preview-B-K_bxDG.js} +1 -1
- package/dist/{ReportDefine-DogZwa8T.js → ReportDefine-DElbukSL.js} +1 -1
- package/dist/{ReportDesign-CdSsJJeA.js → ReportDesign-DvUHOKDK.js} +27 -27
- package/dist/{ReportQuery-DPvKqeUm.js → ReportQuery-BcSYRNT3.js} +1 -1
- package/dist/{ReportQueryFrom-UokkfBx_.js → ReportQueryFrom-BGEA4Pqk.js} +1 -1
- package/dist/{ReportQueryFrom.vue_vue_type_style_index_0_lang-BlOoThY7.js → ReportQueryFrom.vue_vue_type_style_index_0_lang-B-KEPnfY.js} +1 -1
- package/dist/{ReportTemplate-DCnmllXW.js → ReportTemplate-DnPtEoxn.js} +28 -28
- package/dist/{Role-sfmwLiNM.js → Role-CMKkWZil.js} +3 -3
- package/dist/{RoleAssign-WRk90VO2.js → RoleAssign-BToNzG9a.js} +8 -8
- package/dist/{RolePanel-iWysS02n.js → RolePanel-BNqd7-M6.js} +1 -1
- package/dist/{RolePanel-DhP0_5ur.js → RolePanel-BikZ-D2u.js} +1 -1
- package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-CYXqW-d4.js → RolePanel.vue_vue_type_script_setup_true_lang-DYP3u1Nv.js} +1 -1
- package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-_hVY31HC.js → RolePanel.vue_vue_type_script_setup_true_lang-Nngq860f.js} +3 -3
- package/dist/{ScrollPanel.vue_vue_type_style_index_0_lang-BozDFES-.js → ScrollPanel.vue_vue_type_style_index_0_lang-BDRDD2FX.js} +21 -21
- package/dist/{Staff-Bha-Ijax.js → Staff-DBFATgM_.js} +3 -3
- package/dist/{StaffInfo-CbfYI8UW.js → StaffInfo-CrfwZcEL.js} +1 -1
- package/dist/{StaffInfo.vue_vue_type_script_setup_true_lang-Ce-MUVYH.js → StaffInfo.vue_vue_type_script_setup_true_lang-CE3_NJF_.js} +11 -11
- package/dist/{StaffPanel-B8094e97.js → StaffPanel-D54Rl_Bg.js} +1 -1
- package/dist/{StaffPanel.vue_vue_type_script_setup_true_lang-_kJIBCtx.js → StaffPanel.vue_vue_type_script_setup_true_lang-B8wtuSZD.js} +2 -2
- package/dist/{SysUser-D1J9vPnb.js → SysUser-CsuovBei.js} +2 -2
- package/dist/{SysUserPanel-DGDPKKoY.js → SysUserPanel-DNUwWEVp.js} +1 -1
- package/dist/{SysUserPanel.vue_vue_type_script_setup_true_lang-D-5-zKn6.js → SysUserPanel.vue_vue_type_script_setup_true_lang-CY6mhBV0.js} +55 -53
- package/dist/{SystemMenu-Dz8Pllh5.js → SystemMenu-oLmwvaqT.js} +26 -26
- package/dist/{UserInfo-ecAJA2Yg.js → UserInfo-LyrDwBG1.js} +1 -1
- package/dist/{UserInfo.vue_vue_type_style_index_0_lang-4_-I_sQN.js → UserInfo.vue_vue_type_style_index_0_lang-vinrRyOG.js} +1 -1
- package/dist/{childView-4uI_RT2m.js → childView-DGKp87fT.js} +1 -1
- package/dist/{childView-OXXoMFg3.js → childView-SmYl4G6c.js} +1 -1
- package/dist/{childView.vue_vue_type_style_index_0_lang-DC-yx4Kv.js → childView.vue_vue_type_style_index_0_lang-DU-Uun5d.js} +40 -40
- package/dist/{childView.vue_vue_type_style_index_0_lang-e43PUsUO.js → childView.vue_vue_type_style_index_0_lang-wVoPvyRY.js} +1 -1
- package/dist/{code-rule-B667R66s.js → code-rule-CfbGjmOs.js} +9 -10
- package/dist/core.es.js +1 -1
- package/dist/{cron-task-DcmGSr2D.js → cron-task-DMfwGfms.js} +1 -1
- package/dist/{frameView-BzgaLYjQ.js → frameView-D-hu_pqQ.js} +1 -1
- package/dist/index-ADANSV-q.js +4278 -0
- package/dist/{layoutView-BBQB8pDc.js → layoutView-D3SikBPr.js} +5 -5
- package/dist/{login-DIG7pRU7.js → login-CQ1yBBdY.js} +39 -38
- package/dist/{login-log-CvVnyGi3.js → login-log-kqKzKTto.js} +1 -1
- package/dist/{lov-view-CSIPKZSY.js → lov-view-CSobDBH7.js} +2 -2
- package/dist/{menuInfo-CPHjl7id.js → menuInfo-mFuM30f1.js} +1 -1
- package/dist/{menuInfo.vue_vue_type_style_index_0_lang-BXNiinTg.js → menuInfo.vue_vue_type_style_index_0_lang-BsIPzYg0.js} +1 -1
- package/dist/{pda-app-BLjbMcdt.js → pda-app-CIGFsvrX.js} +51 -47
- package/dist/{resource-MxqaSJqB.js → resource-mbd4LPi-.js} +15 -15
- package/dist/{su-welcome-C0flTYCx.js → su-welcome-DruLsVvu.js} +109 -110
- package/dist/{sys-config-CXzGs3Nl.js → sys-config-TXb5cJM4.js} +7 -7
- package/dist/udp-core.css +2 -2
- package/dist/{utogether-CFdIDuAT.js → utogether-Cv0UXnEX.js} +1 -1
- package/package.json +18 -18
- package/src/App.vue +1 -1
- package/src/api/index.ts +1 -1
- package/src/components/SuScrollTree/ScrollPanel.vue +3 -3
- package/src/components/udp/count-down.vue +536 -0
- package/src/components/udp/flip-down/FlipCard/flip-card.vue +251 -0
- package/src/components/udp/flip-down/FlipCard/interfaces.ts +4 -0
- package/src/components/udp/flip-down/FlipClock/flip-clock.vue +113 -0
- package/src/components/udp/form.vue +107 -0
- package/src/components/udp/grid.vue +12 -6
- package/src/components/udp/index.ts +4 -1
- package/src/components/udp/lov.vue +1 -1
- package/src/components/udp/modal-form.vue +9 -0
- package/src/components/udp/upload.vue +425 -0
- package/src/components/udp/utils.ts +72 -3
- package/src/layout/components/lay-panel/index.vue +3 -3
- package/src/layout/components/lay-search/index.vue +25 -25
- package/src/main.ts +21 -20
- package/src/plugins/i18n/zh.ts +342 -338
- package/src/plugins/vxe-table/render.tsx +5 -3
- package/src/style/vxetable.scss +24 -2
- package/src/utils/{http → udp/http}/index.ts +8 -24
- package/src/utils/{http → udp/http}/types.d.ts +8 -5
- package/src/views/login/login-view.vue +2 -2
- package/src/views/system/menu/menuInfo.vue +1 -1
- package/src/views/system/role-assign/RoleAssign.vue +57 -57
- package/src/views/system/sys/sys-config.vue +1 -1
- package/src/views/system/sysUser/SysUserPanel.vue +9 -5
- package/src/views/uapp/pda/pda-app.vue +9 -3
- package/src/views/udev/dict/childView.vue +6 -1
- package/src/views/ufile/aggregation/File.vue +5 -5
- package/src/views/ufile/file/water-mark.vue +14 -14
- package/src/views/uhome/su-welcome.vue +3 -3
- package/src/views/ulogin/login.vue +11 -2
- package/src/views/upms/user/login-log.vue +1 -1
- package/src/views/urpt/design/ReportDesign.vue +8 -8
- package/src/views/urpt/static-resource/resource.vue +3 -3
- package/src/views/urpt/template/ReportTemplate.vue +7 -7
- package/dist/index-CLliRySq.js +0 -2606
|
@@ -445,7 +445,7 @@ export const VxetableRender = (VXETable, { serviceApi, i18n }) => {
|
|
|
445
445
|
}, '');
|
|
446
446
|
Object.assign(data, obj);
|
|
447
447
|
}
|
|
448
|
-
const parm = {
|
|
448
|
+
const parm = { data, options: record, field };
|
|
449
449
|
events?.change && events.change(parm);
|
|
450
450
|
}
|
|
451
451
|
|
|
@@ -483,7 +483,8 @@ export const VxetableRender = (VXETable, { serviceApi, i18n }) => {
|
|
|
483
483
|
}
|
|
484
484
|
Object.assign(row, obj);
|
|
485
485
|
}
|
|
486
|
-
|
|
486
|
+
const params = { row, options: record, field: column.field, column };
|
|
487
|
+
events?.change && events.change(params);
|
|
487
488
|
}
|
|
488
489
|
|
|
489
490
|
function onClear() {
|
|
@@ -517,7 +518,8 @@ export const VxetableRender = (VXETable, { serviceApi, i18n }) => {
|
|
|
517
518
|
}
|
|
518
519
|
Object.assign(row, obj);
|
|
519
520
|
}
|
|
520
|
-
|
|
521
|
+
const params = { row, options: record, field: column.field, column };
|
|
522
|
+
events?.change && events.change(params);
|
|
521
523
|
}
|
|
522
524
|
/**
|
|
523
525
|
* @description 清空数据
|
package/src/style/vxetable.scss
CHANGED
|
@@ -33,7 +33,15 @@ html[data-vxe-ui-theme='light'] {
|
|
|
33
33
|
|
|
34
34
|
/** 必填录入框颜色 */
|
|
35
35
|
.vxe-form--item.is--required {
|
|
36
|
-
.vxe-input > .vxe-input--inner:not(:disabled) {
|
|
36
|
+
.vxe-input > .vxe-input--wrapper > .vxe-input--inner:not(:disabled) {
|
|
37
|
+
background-color: #fffbdf;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.vxe-input--control-icon:not(:disabled) {
|
|
41
|
+
background-color: #fffbdf;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.el-select__wrapper:not(:disabled) {
|
|
37
45
|
background-color: #fffbdf;
|
|
38
46
|
}
|
|
39
47
|
|
|
@@ -152,10 +160,24 @@ html[data-vxe-ui-theme='light'] {
|
|
|
152
160
|
|
|
153
161
|
// 表单label加粗
|
|
154
162
|
.vxe-form--item-title-content {
|
|
155
|
-
font-size: 13px;
|
|
156
163
|
font-weight: 700;
|
|
157
164
|
color: #192847;
|
|
158
165
|
}
|
|
166
|
+
|
|
167
|
+
.vxe-form--group-title {
|
|
168
|
+
border-bottom: 1px solid #eee;
|
|
169
|
+
|
|
170
|
+
.vxe-form--item-title-content {
|
|
171
|
+
font-size: 15px;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
.vxe-form--group-title::before {
|
|
176
|
+
position: relative;
|
|
177
|
+
top: 2px;
|
|
178
|
+
color: var(--udp-theme-project-text);
|
|
179
|
+
content: '▉';
|
|
180
|
+
}
|
|
159
181
|
}
|
|
160
182
|
|
|
161
183
|
.vxe-form.size--mini .vxe-form--item-inner {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import Axios, { type AxiosInstance, type AxiosRequestConfig } from 'axios';
|
|
2
2
|
import type { SuHttpError, RequestMethods, SuHttpResponse, SuHttpRequestConfig } from './types.d';
|
|
3
|
-
|
|
4
|
-
import {
|
|
3
|
+
|
|
4
|
+
import { errorMessage, cookies, NProgress } from '@utogether/utils';
|
|
5
5
|
import { isRef } from 'vue';
|
|
6
|
+
import { has } from 'xe-utils';
|
|
6
7
|
|
|
7
8
|
const kTOKENKEY = 'authorized-token';
|
|
8
9
|
const defaultConfig: AxiosRequestConfig = {
|
|
@@ -18,8 +19,8 @@ class SuHttp {
|
|
|
18
19
|
this.httpInterceptorsRequest();
|
|
19
20
|
this.httpInterceptorsResponse();
|
|
20
21
|
}
|
|
22
|
+
router = undefined;
|
|
21
23
|
baseUrl = null;
|
|
22
|
-
router = null;
|
|
23
24
|
/** token过期后,暂存待执行的请求 */
|
|
24
25
|
private static requests = [];
|
|
25
26
|
|
|
@@ -81,8 +82,7 @@ class SuHttp {
|
|
|
81
82
|
if (!SuHttp.isRefreshing) {
|
|
82
83
|
SuHttp.isRefreshing = true;
|
|
83
84
|
// requests.push(() => SuHttp.axiosInstance(config));
|
|
84
|
-
|
|
85
|
-
this.get(this.baseUrl + '/uath/refreshToken', {
|
|
85
|
+
this.get((this.baseUrl || '') + '/uath/refreshToken', {
|
|
86
86
|
refreshToken: data.refreshToken
|
|
87
87
|
})
|
|
88
88
|
.then((res: any) => {
|
|
@@ -153,12 +153,12 @@ class SuHttp {
|
|
|
153
153
|
return response.data;
|
|
154
154
|
},
|
|
155
155
|
(error: SuHttpError) => {
|
|
156
|
+
const $error = error;
|
|
156
157
|
// @ts-ignore
|
|
157
|
-
if (has(error.config, 'loading') && isRef(error
|
|
158
|
+
if (has(error.config, 'loading') && isRef(error?.config?.loading)) {
|
|
158
159
|
// @ts-ignore
|
|
159
160
|
error.config.loading.value = false;
|
|
160
161
|
}
|
|
161
|
-
const $error = error;
|
|
162
162
|
$error.isCancelRequest = Axios.isCancel($error);
|
|
163
163
|
// 关闭进度条动画
|
|
164
164
|
NProgress.done();
|
|
@@ -210,27 +210,11 @@ class SuHttp {
|
|
|
210
210
|
} else {
|
|
211
211
|
const msg = res?.msg || '服务异常';
|
|
212
212
|
errorMessage(msg, { duration: 8000 });
|
|
213
|
-
// const code = res.code;
|
|
214
|
-
// if (
|
|
215
|
-
// code === "000001" ||
|
|
216
|
-
// (code === "-1" && msg.includes("请重新登陆"))
|
|
217
|
-
// ) {
|
|
218
|
-
// // session过期
|
|
219
|
-
// cookies.remove("kCookies_token");
|
|
220
|
-
// // @ts-ignore
|
|
221
|
-
// this.router?.push({
|
|
222
|
-
// path: "/login",
|
|
223
|
-
// query: { tokenExpire: "Y" },
|
|
224
|
-
// });
|
|
225
|
-
// }
|
|
226
213
|
reject(msg);
|
|
227
214
|
}
|
|
228
215
|
})
|
|
229
216
|
.catch(e => {
|
|
230
|
-
|
|
231
|
-
if (e?.response?.data?.path === '/refreshToken') {
|
|
232
|
-
this.router?.push('/login');
|
|
233
|
-
} else if (e?.code) {
|
|
217
|
+
if (e?.code) {
|
|
234
218
|
if (e?.response?.status === 401) {
|
|
235
219
|
// @ts-ignore
|
|
236
220
|
return this.router?.push({ path: '/login' });
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
* @Author: wei.li
|
|
3
3
|
* @Date: 2022-03-08 15:17:39
|
|
4
4
|
* @LastEditors: levi7754 levi7754@163.com
|
|
5
|
-
* @LastEditTime: 2023-12-01
|
|
5
|
+
* @LastEditTime: 2023-12-01 13:55:46
|
|
6
6
|
* @Description: SuHttp Axios 类型定义文件
|
|
7
7
|
*/
|
|
8
|
-
import
|
|
8
|
+
import { Method, AxiosError, AxiosResponse, AxiosRequestConfig } from "axios";
|
|
9
9
|
|
|
10
10
|
export type resultType = {
|
|
11
11
|
access_token: string;
|
|
@@ -15,12 +15,11 @@ export type resultType = {
|
|
|
15
15
|
|
|
16
16
|
export type RequestMethods = Extract<
|
|
17
17
|
Method,
|
|
18
|
-
|
|
18
|
+
"get" | "post" | "put" | "delete" | "patch" | "option" | "head"
|
|
19
19
|
>;
|
|
20
20
|
|
|
21
21
|
export interface SuHttpError extends AxiosError {
|
|
22
22
|
isCancelRequest?: boolean;
|
|
23
|
-
loading?: boolean;
|
|
24
23
|
}
|
|
25
24
|
|
|
26
25
|
export interface SuHttpResponse extends AxiosResponse {
|
|
@@ -41,6 +40,10 @@ export default class SuHttp {
|
|
|
41
40
|
axiosConfig?: SuHttpRequestConfig
|
|
42
41
|
): Promise<T>;
|
|
43
42
|
post<T, P>(url: string, params?: T, config?: SuHttpRequestConfig): Promise<P>;
|
|
44
|
-
postRouter<T, P>(
|
|
43
|
+
postRouter<T, P>(
|
|
44
|
+
url: string,
|
|
45
|
+
params?: T,
|
|
46
|
+
config?: SuHttpRequestConfig
|
|
47
|
+
): Promise<P>;
|
|
45
48
|
get<T, P>(url: string, params?: T, config?: SuHttpRequestConfig): Promise<P>;
|
|
46
49
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="select-none">
|
|
3
|
-
<div class="absolute flex-
|
|
3
|
+
<div class="absolute flex justify-center items-center right-5 top-3">
|
|
4
4
|
<!-- 主题 -->
|
|
5
5
|
<!-- <el-switch
|
|
6
6
|
v-model="dataTheme"
|
|
@@ -229,7 +229,7 @@ const insertLoginInfo = username => {
|
|
|
229
229
|
browserVersion,
|
|
230
230
|
operatingSystem: getPlatform(userAgent)
|
|
231
231
|
};
|
|
232
|
-
serviceApi.post('/
|
|
232
|
+
serviceApi.post('/upfm/v1/userMonitor', obj);
|
|
233
233
|
};
|
|
234
234
|
|
|
235
235
|
/** 使用公共函数,避免`removeEventListener`失效 */
|
|
@@ -1,57 +1,57 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
* @Author: wei.li
|
|
3
|
-
* @Date: 2021-11-26 14:37:07
|
|
4
|
-
* @LastEditors: levi7754 levi7754@163.com
|
|
5
|
-
* @LastEditTime:
|
|
6
|
-
* @Description: 角色分配业务单元
|
|
7
|
-
-->
|
|
8
|
-
<template>
|
|
9
|
-
<div class="u-content-panel">
|
|
10
|
-
<div class="u-left-panel">
|
|
11
|
-
<ScrollPane
|
|
12
|
-
:title="$t('SuOrg')"
|
|
13
|
-
:tree-otions="{ children: 'children', label: 'orgName' }"
|
|
14
|
-
|
|
15
|
-
url="/uums/org"
|
|
16
|
-
/>
|
|
17
|
-
</div>
|
|
18
|
-
<div class="content">
|
|
19
|
-
<role-panel />
|
|
20
|
-
</div>
|
|
21
|
-
</div>
|
|
22
|
-
</template>
|
|
23
|
-
|
|
24
|
-
<script lang="ts" setup>
|
|
25
|
-
import { ref, provide } from 'vue';
|
|
26
|
-
import ScrollPane from '../../../components/SuScrollTree/ScrollPanel.vue';
|
|
27
|
-
import RolePanel from './RolePanel.vue';
|
|
28
|
-
const active: any = ref({});
|
|
29
|
-
const scrollPanelChange: any = ref(false);
|
|
30
|
-
const treeList: any = ref([]);
|
|
31
|
-
provide('active', active);
|
|
32
|
-
|
|
33
|
-
provide('scrollPanelChange', scrollPanelChange);
|
|
34
|
-
|
|
35
|
-
provide('treeList', treeList);
|
|
36
|
-
</script>
|
|
37
|
-
|
|
38
|
-
<style lang="scss" scoped>
|
|
39
|
-
.u-content-panel {
|
|
40
|
-
box-sizing: border-box;
|
|
41
|
-
display: flex;
|
|
42
|
-
width: 100%;
|
|
43
|
-
height: 84vh;
|
|
44
|
-
padding: 5px;
|
|
45
|
-
|
|
46
|
-
.u-left-panel {
|
|
47
|
-
width: 250px;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
.content {
|
|
51
|
-
flex: 1;
|
|
52
|
-
width: calc(100% - 250px);
|
|
53
|
-
height: 82vh;
|
|
54
|
-
margin: 0 10px;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
</style>
|
|
1
|
+
<!--
|
|
2
|
+
* @Author: wei.li
|
|
3
|
+
* @Date: 2021-11-26 14:37:07
|
|
4
|
+
* @LastEditors: levi7754 levi7754@163.com
|
|
5
|
+
* @LastEditTime: 2025-08-06 17:55:03
|
|
6
|
+
* @Description: 角色分配业务单元
|
|
7
|
+
-->
|
|
8
|
+
<template>
|
|
9
|
+
<div class="u-content-panel">
|
|
10
|
+
<div class="u-left-panel">
|
|
11
|
+
<ScrollPane
|
|
12
|
+
:title="$t('SuOrg')"
|
|
13
|
+
:tree-otions="{ children: 'children', label: 'orgName' }"
|
|
14
|
+
:default-params="{ pageSize: 500 }"
|
|
15
|
+
url="/uums/org"
|
|
16
|
+
/>
|
|
17
|
+
</div>
|
|
18
|
+
<div class="content">
|
|
19
|
+
<role-panel />
|
|
20
|
+
</div>
|
|
21
|
+
</div>
|
|
22
|
+
</template>
|
|
23
|
+
|
|
24
|
+
<script lang="ts" setup>
|
|
25
|
+
import { ref, provide } from 'vue';
|
|
26
|
+
import ScrollPane from '../../../components/SuScrollTree/ScrollPanel.vue';
|
|
27
|
+
import RolePanel from './RolePanel.vue';
|
|
28
|
+
const active: any = ref({});
|
|
29
|
+
const scrollPanelChange: any = ref(false);
|
|
30
|
+
const treeList: any = ref([]);
|
|
31
|
+
provide('active', active);
|
|
32
|
+
|
|
33
|
+
provide('scrollPanelChange', scrollPanelChange);
|
|
34
|
+
|
|
35
|
+
provide('treeList', treeList);
|
|
36
|
+
</script>
|
|
37
|
+
|
|
38
|
+
<style lang="scss" scoped>
|
|
39
|
+
.u-content-panel {
|
|
40
|
+
box-sizing: border-box;
|
|
41
|
+
display: flex;
|
|
42
|
+
width: 100%;
|
|
43
|
+
height: 84vh;
|
|
44
|
+
padding: 5px;
|
|
45
|
+
|
|
46
|
+
.u-left-panel {
|
|
47
|
+
width: 250px;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.content {
|
|
51
|
+
flex: 1;
|
|
52
|
+
width: calc(100% - 250px);
|
|
53
|
+
height: 82vh;
|
|
54
|
+
margin: 0 10px;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
</style>
|
|
@@ -5,7 +5,9 @@
|
|
|
5
5
|
:columns="columns"
|
|
6
6
|
:items="formItems"
|
|
7
7
|
:url="url"
|
|
8
|
-
:
|
|
8
|
+
:auto-load="false"
|
|
9
|
+
:default-params="defaultParams"
|
|
10
|
+
:default-value="defaultParams"
|
|
9
11
|
:events="onGridEvents"
|
|
10
12
|
/>
|
|
11
13
|
<!-- 编辑用户信息 -->
|
|
@@ -80,7 +82,7 @@
|
|
|
80
82
|
import { useI18n } from 'vue-i18n';
|
|
81
83
|
import { ref, reactive, inject, nextTick, onMounted } from 'vue';
|
|
82
84
|
import to from 'await-to-js';
|
|
83
|
-
import { useRender, errorMessage, warnMessage } from '@utogether/utils';
|
|
85
|
+
import { useRender, errorMessage, warnMessage, delay } from '@utogether/utils';
|
|
84
86
|
import { VxeUI, VxeFormPropTypes } from 'vxe-pc-ui';
|
|
85
87
|
import { isEmpty } from 'xe-utils';
|
|
86
88
|
import { getServiceApi } from '../../../api';
|
|
@@ -127,7 +129,7 @@ const rules: VxeFormPropTypes.Rules = {
|
|
|
127
129
|
]
|
|
128
130
|
};
|
|
129
131
|
const renderHook = useRender();
|
|
130
|
-
const
|
|
132
|
+
const defaultParams = ref({});
|
|
131
133
|
const treeList: IRecord[] = inject('treeList');
|
|
132
134
|
|
|
133
135
|
const url = '/uums/user';
|
|
@@ -264,8 +266,10 @@ const handleClose = () => {
|
|
|
264
266
|
const getUnitList = () => {
|
|
265
267
|
serviceApi
|
|
266
268
|
.get('/uums/unit', { pageSize: 10 })
|
|
267
|
-
.then(res => {
|
|
268
|
-
|
|
269
|
+
.then(async res => {
|
|
270
|
+
defaultParams.value = { unitId: res[0].id, enabled: '1' };
|
|
271
|
+
await delay(100);
|
|
272
|
+
xgrid.value.refreshData();
|
|
269
273
|
})
|
|
270
274
|
.catch(() => {
|
|
271
275
|
errorMessage('获取租户失败,刷新后重试');
|
|
@@ -139,12 +139,18 @@ const onButtonClick = code => {
|
|
|
139
139
|
};
|
|
140
140
|
|
|
141
141
|
const items = [
|
|
142
|
-
{ field: 'appVersion', required: true },
|
|
143
|
-
{ field: 'buildNo', required: true },
|
|
144
|
-
{
|
|
142
|
+
{ field: 'appVersion', title: 'mesage.udp.appVersion', required: true },
|
|
143
|
+
{ field: 'buildNo', title: 'mesage.udp.buildNo', required: true },
|
|
144
|
+
{
|
|
145
|
+
field: 'versionInfo',
|
|
146
|
+
title: 'mesage.udp.versionInfo',
|
|
147
|
+
required: true,
|
|
148
|
+
itemRender: renderHook.renderTextarea()
|
|
149
|
+
},
|
|
145
150
|
{
|
|
146
151
|
field: 'downloadUrl',
|
|
147
152
|
required: false,
|
|
153
|
+
title: 'mesage.udp.downloadUrl',
|
|
148
154
|
itemRender: { name: '#upload', props: { baseUrl: baseURL } }
|
|
149
155
|
}
|
|
150
156
|
];
|
|
@@ -110,6 +110,7 @@ const showModal = ref(false);
|
|
|
110
110
|
const subRecord = ref<IRecord>({});
|
|
111
111
|
const temp = ref<IRecord>({});
|
|
112
112
|
const modalType = ref('add');
|
|
113
|
+
|
|
113
114
|
const subItems = [
|
|
114
115
|
{ field: 'dictCode', title: 'message.udp.dictCode', required: true },
|
|
115
116
|
{ field: 'dictName', title: 'message.udp.dictName', required: true },
|
|
@@ -179,7 +180,11 @@ const onConfirm = async () => {
|
|
|
179
180
|
loading.value = false;
|
|
180
181
|
if (!err) {
|
|
181
182
|
console.log({ res });
|
|
182
|
-
|
|
183
|
+
if (modalType.value === 'edit') {
|
|
184
|
+
showModal.value = false;
|
|
185
|
+
} else {
|
|
186
|
+
subRecord.value = { enabled: '1' };
|
|
187
|
+
}
|
|
183
188
|
successMessage();
|
|
184
189
|
getDict();
|
|
185
190
|
}
|
|
@@ -24,17 +24,17 @@ const xgrid = ref(null);
|
|
|
24
24
|
const url = '/ufil/v1/attachment';
|
|
25
25
|
|
|
26
26
|
const formItems = [
|
|
27
|
-
{ field: 'fileName', title: 'message.
|
|
27
|
+
{ field: 'fileName', title: 'message.urpt.fileName' },
|
|
28
28
|
{ field: 'creationDate', itemRender: { name: '#SuDateRange', props: { type: 'daterange' } } },
|
|
29
29
|
{ field: 'createdByName' }
|
|
30
30
|
];
|
|
31
31
|
|
|
32
32
|
// 列字段
|
|
33
33
|
const columns = [
|
|
34
|
-
{ field: 'fileName', title: 'message.
|
|
35
|
-
{ field: 'fileSize', title: 'message.
|
|
36
|
-
{ field: 'fileExtend', title: 'message.
|
|
37
|
-
{ field: 'realpath', title: 'message.
|
|
34
|
+
{ field: 'fileName', title: 'message.urpt.fileName', width: 240 },
|
|
35
|
+
{ field: 'fileSize', title: 'message.urpt.fileSize', width: 110 },
|
|
36
|
+
{ field: 'fileExtend', title: 'message.urpt.fileExtend', width: 100 },
|
|
37
|
+
{ field: 'realpath', title: 'message.urpt.filePath' },
|
|
38
38
|
{ field: 'createdByName', width: 120 },
|
|
39
39
|
{ field: 'creationDate', width: 160 },
|
|
40
40
|
{
|
|
@@ -25,15 +25,15 @@ const renderHook = useRender();
|
|
|
25
25
|
const url = '/ufil/v1/watermark';
|
|
26
26
|
|
|
27
27
|
const formItems = [
|
|
28
|
-
{ field: 'watermarkCode', title: 'message.
|
|
28
|
+
{ field: 'watermarkCode', title: 'message.urpt.watermarkContent' },
|
|
29
29
|
{
|
|
30
30
|
field: 'watermarkType',
|
|
31
|
-
title: 'message.
|
|
31
|
+
title: 'message.urpt.watermarkType',
|
|
32
32
|
itemRender: renderHook.renderDict('SU.WATERMARK.TYPE')
|
|
33
33
|
},
|
|
34
34
|
{
|
|
35
35
|
field: 'textAlign',
|
|
36
|
-
title: 'message.
|
|
36
|
+
title: 'message.urpt.textAlign',
|
|
37
37
|
itemRender: renderHook.renderDict('SU.ALIGN.TYPE')
|
|
38
38
|
}
|
|
39
39
|
];
|
|
@@ -43,14 +43,14 @@ const columns = [
|
|
|
43
43
|
{ type: 'checkbox', width: 40, align: 'center' },
|
|
44
44
|
{
|
|
45
45
|
field: 'watermarkCode',
|
|
46
|
-
title: 'message.
|
|
46
|
+
title: 'message.urpt.watermarkContent',
|
|
47
47
|
required: true,
|
|
48
48
|
minWidth: 110,
|
|
49
49
|
editRender: renderHook.renderInput()
|
|
50
50
|
},
|
|
51
51
|
{
|
|
52
52
|
field: 'watermarkType',
|
|
53
|
-
title: 'message.
|
|
53
|
+
title: 'message.urpt.watermarkType',
|
|
54
54
|
width: 120,
|
|
55
55
|
required: true,
|
|
56
56
|
editRender: renderHook.renderDict({ code: 'SU.WATERMARK.TYPE', defaultValue: 'text' }),
|
|
@@ -58,13 +58,13 @@ const columns = [
|
|
|
58
58
|
},
|
|
59
59
|
{
|
|
60
60
|
field: 'content',
|
|
61
|
-
title: 'message.
|
|
61
|
+
title: 'message.urpt.watermarkContent',
|
|
62
62
|
width: 110,
|
|
63
63
|
editRender: renderHook.renderInput()
|
|
64
64
|
},
|
|
65
65
|
{
|
|
66
66
|
field: 'textAlign',
|
|
67
|
-
title: 'message.
|
|
67
|
+
title: 'message.urpt.textAlign',
|
|
68
68
|
width: 120,
|
|
69
69
|
required: true,
|
|
70
70
|
editRender: renderHook.renderDict('SU.ALIGN.TYPE'),
|
|
@@ -72,32 +72,32 @@ const columns = [
|
|
|
72
72
|
},
|
|
73
73
|
{
|
|
74
74
|
field: 'watermarkTrigger',
|
|
75
|
-
title: 'message.
|
|
75
|
+
title: 'message.urpt.watermarkTrigger',
|
|
76
76
|
width: 120,
|
|
77
77
|
required: true,
|
|
78
78
|
editRender: renderHook.renderDict('SU.WATERMARK.TRIGGER'),
|
|
79
79
|
formatter: ['formatDict', 'SU.WATERMARK.TRIGGER']
|
|
80
80
|
},
|
|
81
|
-
{ field: 'color', title: 'message.
|
|
81
|
+
{ field: 'color', title: 'message.urpt.color', width: 90, editRender: renderHook.renderInput() },
|
|
82
82
|
{
|
|
83
83
|
field: 'fillOpacity',
|
|
84
|
-
title: 'message.
|
|
84
|
+
title: 'message.urpt.fillOpacity',
|
|
85
85
|
width: 100,
|
|
86
86
|
editRender: renderHook.renderNumber()
|
|
87
87
|
},
|
|
88
88
|
{
|
|
89
89
|
field: 'fontSize',
|
|
90
|
-
title: 'message.
|
|
90
|
+
title: 'message.urpt.fontSize',
|
|
91
91
|
width: 110,
|
|
92
92
|
editRender: renderHook.renderNumber()
|
|
93
93
|
},
|
|
94
94
|
{
|
|
95
95
|
field: 'rotation',
|
|
96
|
-
title: 'message.
|
|
96
|
+
title: 'message.urpt.rotation',
|
|
97
97
|
width: 110,
|
|
98
98
|
editRender: renderHook.renderNumber()
|
|
99
99
|
},
|
|
100
|
-
{ field: 'xAxis', title: 'message.
|
|
101
|
-
{ field: 'yAxis', title: 'message.
|
|
100
|
+
{ field: 'xAxis', title: 'message.urpt.xAxis', width: 100, editRender: renderHook.renderNumber() },
|
|
101
|
+
{ field: 'yAxis', title: 'message.urpt.yAxis', width: 100, editRender: renderHook.renderNumber() }
|
|
102
102
|
];
|
|
103
103
|
</script>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @Author: levi7754 levi7754@163.com
|
|
3
3
|
* @Date: 2023-11-02 10:04:05
|
|
4
4
|
* @LastEditors: levi7754 levi7754@163.com
|
|
5
|
-
* @LastEditTime: 2025-
|
|
5
|
+
* @LastEditTime: 2025-08-06 14:47:34
|
|
6
6
|
* @FilePath: /front-web-mes/src/views/uhome/su-welcome.vue
|
|
7
7
|
* @Description: 欢迎页面
|
|
8
8
|
-->
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
</div>
|
|
39
39
|
<div class="flex flex-col">
|
|
40
40
|
<span class="text-4xl">
|
|
41
|
-
<ut-
|
|
41
|
+
<ut-flip-down :show-days="false" :show-labels="false" />
|
|
42
42
|
</span>
|
|
43
43
|
<div class="mt-1 ml-3">{{ getLunarDay() }}</div>
|
|
44
44
|
</div>
|
|
@@ -233,7 +233,7 @@ const onClickMenu = item => {
|
|
|
233
233
|
};
|
|
234
234
|
|
|
235
235
|
const getUserLog = () => {
|
|
236
|
-
const url = '/
|
|
236
|
+
const url = '/upfm/v1/userMonitor';
|
|
237
237
|
const query = { pageSize: 8, pageNum: 1, employeeName: systemHook.getUserInfo?.name };
|
|
238
238
|
getServiceApi()
|
|
239
239
|
.get(url, query)
|
|
@@ -113,6 +113,7 @@ import { useFavicon } from '@vueuse/core';
|
|
|
113
113
|
import { isEmpty, toDateString } from 'xe-utils';
|
|
114
114
|
import { removeClass, storageLocal, errorMessage, cookies, delay } from '@utogether/utils';
|
|
115
115
|
import to from 'await-to-js';
|
|
116
|
+
// import JSEencrypt from 'jsencrypt';
|
|
116
117
|
import { useSystemStoreHook } from '../../store/modules/system';
|
|
117
118
|
import { useLayout } from '../../layout/hooks/useLayout';
|
|
118
119
|
import { useDataThemeChange } from '../../layout/hooks/useDataThemeChange';
|
|
@@ -187,6 +188,13 @@ const onLogin = async () => {
|
|
|
187
188
|
const rsakeypair = new RSAKeyPair(publicRSA.publicKeyExponent, '', publicRSA.publicKeyModulus);
|
|
188
189
|
// @ts-ignore
|
|
189
190
|
const password = encryptedString(rsakeypair, passWord.split('').reverse().join(''));
|
|
191
|
+
// const key = new JSEencrypt();
|
|
192
|
+
// key.setPublicKey(
|
|
193
|
+
// '-----BEGIN PUBLIC KEY-----MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQChJwirJjZ+FxG9dn9rsfKa+9hTgBhXI9e0kiMOJWfJXPVxjsp0XaBkNADKYZ++7Ikt9hq+H3GtO4ItB27YMQgMU3gu34wGJ+6VxX4r7hL+VdorPK3sWZR6dczMu/Nvs7eByTtL9RSJeJ8cCEn5AjoW7HC+9BpQR4XhCCtvE1iOKQIDAQAB-----END PUBLIC KEY-----'
|
|
194
|
+
// );
|
|
195
|
+
// const password = key.encrypt(passWord);
|
|
196
|
+
// // console.log('password1 ===', password1);
|
|
197
|
+
// console.log('password ===', password);
|
|
190
198
|
const param = {
|
|
191
199
|
username,
|
|
192
200
|
password,
|
|
@@ -233,7 +241,8 @@ const cacheToken = token => {
|
|
|
233
241
|
const cache = {
|
|
234
242
|
accessToken: access_token,
|
|
235
243
|
refreshToken: refresh_token,
|
|
236
|
-
expires: Date.now() + expires_in * 1000
|
|
244
|
+
// expires: Date.now() + expires_in * 1000
|
|
245
|
+
expires: Date.now() + expires_in
|
|
237
246
|
};
|
|
238
247
|
|
|
239
248
|
cookies.set(kCKTOKEN, token.access_token);
|
|
@@ -275,7 +284,7 @@ const insertLoginInfo = username => {
|
|
|
275
284
|
browserVersion,
|
|
276
285
|
operatingSystem: getPlatform(userAgent)
|
|
277
286
|
};
|
|
278
|
-
serviceApi.post('/
|
|
287
|
+
serviceApi.post('/upfm/v1/userMonitor', obj);
|
|
279
288
|
};
|
|
280
289
|
|
|
281
290
|
const getSysConfig = async () => {
|