@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.
Files changed (100) hide show
  1. package/build/plugins.ts +39 -37
  2. package/dist/{403-CT4J-t-o.js → 403-Co4hnzlW.js} +1 -1
  3. package/dist/{404-BAudfnaK.js → 404-BsseeBQQ.js} +1 -1
  4. package/dist/{500-BlOGtpEE.js → 500-DtKz7MA4.js} +1 -1
  5. package/dist/{AuthorityInfo-Bl03tEhF.js → AuthorityInfo-iWYEWOmC.js} +1 -1
  6. package/dist/{AuthorityInfo.vue_vue_type_style_index_0_lang-CUwS2F3R.js → AuthorityInfo.vue_vue_type_style_index_0_lang-BWp7PKyH.js} +1 -1
  7. package/dist/{Company-CIj9XgQn.js → Company-CK8Zkcv3.js} +3 -3
  8. package/dist/{CompanyPanel-CublK5NN.js → CompanyPanel-DL4UrYYG.js} +1 -1
  9. package/dist/{Department-BolPW-W3.js → Department-BPHn8to4.js} +3 -3
  10. package/dist/{DepartmentPanel-BttxSHfM.js → DepartmentPanel-Bqraa_NB.js} +1 -1
  11. package/dist/{DesignPanel-BwCbn92O.js → DesignPanel-CFOIOZme.js} +1 -1
  12. package/dist/{DesignPanel.vue_vue_type_style_index_0_lang-y2AnCTg6.js → DesignPanel.vue_vue_type_style_index_0_lang-H0FNG35Z.js} +2 -2
  13. package/dist/{DictView-D85ziNV2.js → DictView-CaD1yHQS.js} +1 -1
  14. package/dist/{InvOrganization-CaAk_f7F.js → InvOrganization-CoO0_wsY.js} +1 -1
  15. package/dist/{Org-CreIihFE.js → Org-BU3oaFx3.js} +1 -1
  16. package/dist/{Preview-DMGbhV6q.js → Preview-B-K_bxDG.js} +1 -1
  17. package/dist/{ReportDefine-DogZwa8T.js → ReportDefine-DElbukSL.js} +1 -1
  18. package/dist/{ReportDesign-CdSsJJeA.js → ReportDesign-DvUHOKDK.js} +27 -27
  19. package/dist/{ReportQuery-DPvKqeUm.js → ReportQuery-BcSYRNT3.js} +1 -1
  20. package/dist/{ReportQueryFrom-UokkfBx_.js → ReportQueryFrom-BGEA4Pqk.js} +1 -1
  21. 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
  22. package/dist/{ReportTemplate-DCnmllXW.js → ReportTemplate-DnPtEoxn.js} +28 -28
  23. package/dist/{Role-sfmwLiNM.js → Role-CMKkWZil.js} +3 -3
  24. package/dist/{RoleAssign-WRk90VO2.js → RoleAssign-BToNzG9a.js} +8 -8
  25. package/dist/{RolePanel-iWysS02n.js → RolePanel-BNqd7-M6.js} +1 -1
  26. package/dist/{RolePanel-DhP0_5ur.js → RolePanel-BikZ-D2u.js} +1 -1
  27. 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
  28. package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-_hVY31HC.js → RolePanel.vue_vue_type_script_setup_true_lang-Nngq860f.js} +3 -3
  29. package/dist/{ScrollPanel.vue_vue_type_style_index_0_lang-BozDFES-.js → ScrollPanel.vue_vue_type_style_index_0_lang-BDRDD2FX.js} +21 -21
  30. package/dist/{Staff-Bha-Ijax.js → Staff-DBFATgM_.js} +3 -3
  31. package/dist/{StaffInfo-CbfYI8UW.js → StaffInfo-CrfwZcEL.js} +1 -1
  32. 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
  33. package/dist/{StaffPanel-B8094e97.js → StaffPanel-D54Rl_Bg.js} +1 -1
  34. package/dist/{StaffPanel.vue_vue_type_script_setup_true_lang-_kJIBCtx.js → StaffPanel.vue_vue_type_script_setup_true_lang-B8wtuSZD.js} +2 -2
  35. package/dist/{SysUser-D1J9vPnb.js → SysUser-CsuovBei.js} +2 -2
  36. package/dist/{SysUserPanel-DGDPKKoY.js → SysUserPanel-DNUwWEVp.js} +1 -1
  37. 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
  38. package/dist/{SystemMenu-Dz8Pllh5.js → SystemMenu-oLmwvaqT.js} +26 -26
  39. package/dist/{UserInfo-ecAJA2Yg.js → UserInfo-LyrDwBG1.js} +1 -1
  40. 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
  41. package/dist/{childView-4uI_RT2m.js → childView-DGKp87fT.js} +1 -1
  42. package/dist/{childView-OXXoMFg3.js → childView-SmYl4G6c.js} +1 -1
  43. 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
  44. package/dist/{childView.vue_vue_type_style_index_0_lang-e43PUsUO.js → childView.vue_vue_type_style_index_0_lang-wVoPvyRY.js} +1 -1
  45. package/dist/{code-rule-B667R66s.js → code-rule-CfbGjmOs.js} +9 -10
  46. package/dist/core.es.js +1 -1
  47. package/dist/{cron-task-DcmGSr2D.js → cron-task-DMfwGfms.js} +1 -1
  48. package/dist/{frameView-BzgaLYjQ.js → frameView-D-hu_pqQ.js} +1 -1
  49. package/dist/index-ADANSV-q.js +4278 -0
  50. package/dist/{layoutView-BBQB8pDc.js → layoutView-D3SikBPr.js} +5 -5
  51. package/dist/{login-DIG7pRU7.js → login-CQ1yBBdY.js} +39 -38
  52. package/dist/{login-log-CvVnyGi3.js → login-log-kqKzKTto.js} +1 -1
  53. package/dist/{lov-view-CSIPKZSY.js → lov-view-CSobDBH7.js} +2 -2
  54. package/dist/{menuInfo-CPHjl7id.js → menuInfo-mFuM30f1.js} +1 -1
  55. package/dist/{menuInfo.vue_vue_type_style_index_0_lang-BXNiinTg.js → menuInfo.vue_vue_type_style_index_0_lang-BsIPzYg0.js} +1 -1
  56. package/dist/{pda-app-BLjbMcdt.js → pda-app-CIGFsvrX.js} +51 -47
  57. package/dist/{resource-MxqaSJqB.js → resource-mbd4LPi-.js} +15 -15
  58. package/dist/{su-welcome-C0flTYCx.js → su-welcome-DruLsVvu.js} +109 -110
  59. package/dist/{sys-config-CXzGs3Nl.js → sys-config-TXb5cJM4.js} +7 -7
  60. package/dist/udp-core.css +2 -2
  61. package/dist/{utogether-CFdIDuAT.js → utogether-Cv0UXnEX.js} +1 -1
  62. package/package.json +18 -18
  63. package/src/App.vue +1 -1
  64. package/src/api/index.ts +1 -1
  65. package/src/components/SuScrollTree/ScrollPanel.vue +3 -3
  66. package/src/components/udp/count-down.vue +536 -0
  67. package/src/components/udp/flip-down/FlipCard/flip-card.vue +251 -0
  68. package/src/components/udp/flip-down/FlipCard/interfaces.ts +4 -0
  69. package/src/components/udp/flip-down/FlipClock/flip-clock.vue +113 -0
  70. package/src/components/udp/form.vue +107 -0
  71. package/src/components/udp/grid.vue +12 -6
  72. package/src/components/udp/index.ts +4 -1
  73. package/src/components/udp/lov.vue +1 -1
  74. package/src/components/udp/modal-form.vue +9 -0
  75. package/src/components/udp/upload.vue +425 -0
  76. package/src/components/udp/utils.ts +72 -3
  77. package/src/layout/components/lay-panel/index.vue +3 -3
  78. package/src/layout/components/lay-search/index.vue +25 -25
  79. package/src/main.ts +21 -20
  80. package/src/plugins/i18n/zh.ts +342 -338
  81. package/src/plugins/vxe-table/render.tsx +5 -3
  82. package/src/style/vxetable.scss +24 -2
  83. package/src/utils/{http → udp/http}/index.ts +8 -24
  84. package/src/utils/{http → udp/http}/types.d.ts +8 -5
  85. package/src/views/login/login-view.vue +2 -2
  86. package/src/views/system/menu/menuInfo.vue +1 -1
  87. package/src/views/system/role-assign/RoleAssign.vue +57 -57
  88. package/src/views/system/sys/sys-config.vue +1 -1
  89. package/src/views/system/sysUser/SysUserPanel.vue +9 -5
  90. package/src/views/uapp/pda/pda-app.vue +9 -3
  91. package/src/views/udev/dict/childView.vue +6 -1
  92. package/src/views/ufile/aggregation/File.vue +5 -5
  93. package/src/views/ufile/file/water-mark.vue +14 -14
  94. package/src/views/uhome/su-welcome.vue +3 -3
  95. package/src/views/ulogin/login.vue +11 -2
  96. package/src/views/upms/user/login-log.vue +1 -1
  97. package/src/views/urpt/design/ReportDesign.vue +8 -8
  98. package/src/views/urpt/static-resource/resource.vue +3 -3
  99. package/src/views/urpt/template/ReportTemplate.vue +7 -7
  100. 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 = { row: data, property: field, item: record, field };
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
- events?.change && events.change(params, record, row[column.field]);
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
- events?.change && events.change(params, record, row[column.field]);
521
+ const params = { row, options: record, field: column.field, column };
522
+ events?.change && events.change(params);
521
523
  }
522
524
  /**
523
525
  * @description 清空数据
@@ -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
- import { has } from 'xe-utils';
4
- import { NProgress, cookies, errorMessage } from '@utogether/utils';
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.config.loading)) {
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
- debugger;
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 11:59:12
5
+ * @LastEditTime: 2023-12-01 13:55:46
6
6
  * @Description: SuHttp Axios 类型定义文件
7
7
  */
8
- import type { Method, AxiosError, AxiosResponse, AxiosRequestConfig } from 'axios';
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
- 'get' | 'post' | 'put' | 'delete' | 'patch' | 'option' | 'head'
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>(url: string, params?: T, config?: SuHttpRequestConfig): Promise<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-c right-5 top-3">
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('/upms/v1/userMonitor', obj);
232
+ serviceApi.post('/upfm/v1/userMonitor', obj);
233
233
  };
234
234
 
235
235
  /** 使用公共函数,避免`removeEventListener`失效 */
@@ -2,7 +2,7 @@
2
2
  * @Author: wei.li
3
3
  * @Date: 2021-11-17 16:44:08
4
4
  * @LastEditors: levi7754 levi7754@163.com
5
- * @LastEditTime: 2025-07-28 14:09:34
5
+ * @LastEditTime: 2025-08-01 17:38:53
6
6
  * @Description: file content
7
7
  -->
8
8
 
@@ -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: 2024-06-24 20:20:57
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
- extParam="{ 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>
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>
@@ -119,7 +119,7 @@ const record = reactive({
119
119
  defaultLanguage: 'zh',
120
120
  title: 'U-DP',
121
121
  ispTitle: 'U-DP',
122
- i18nEnabled: 'Y',
122
+ i18nEnabled: 'N',
123
123
  copyright: '深圳友聚信息技术有限公司',
124
124
  logo: [],
125
125
  backgroundImg: [],
@@ -5,7 +5,9 @@
5
5
  :columns="columns"
6
6
  :items="formItems"
7
7
  :url="url"
8
- :default-params="paramExt"
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 paramExt = ref({});
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
- paramExt.value = { unitId: res[0].id, enabled: '1' };
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
- { field: 'versionInfo', required: true, itemRender: renderHook.renderTextarea() },
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
- showModal.value = false;
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.file.fileName' },
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.file.fileName', width: 240 },
35
- { field: 'fileSize', title: 'message.file.fileSize', width: 110 },
36
- { field: 'fileExtend', title: 'message.file.fileExtend', width: 100 },
37
- { field: 'realpath', title: 'message.file.filePath' },
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.file.watermarkContent' },
28
+ { field: 'watermarkCode', title: 'message.urpt.watermarkContent' },
29
29
  {
30
30
  field: 'watermarkType',
31
- title: 'message.file.watermarkType',
31
+ title: 'message.urpt.watermarkType',
32
32
  itemRender: renderHook.renderDict('SU.WATERMARK.TYPE')
33
33
  },
34
34
  {
35
35
  field: 'textAlign',
36
- title: 'message.file.textAlign',
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.file.watermarkContent',
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.file.watermarkType',
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.file.watermarkContent',
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.file.textAlign',
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.file.watermarkTrigger',
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.file.color', width: 90, editRender: renderHook.renderInput() },
81
+ { field: 'color', title: 'message.urpt.color', width: 90, editRender: renderHook.renderInput() },
82
82
  {
83
83
  field: 'fillOpacity',
84
- title: 'message.file.fillOpacity',
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.file.fontSize',
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.file.rotation',
96
+ title: 'message.urpt.rotation',
97
97
  width: 110,
98
98
  editRender: renderHook.renderNumber()
99
99
  },
100
- { field: 'xAxis', title: 'message.file.xAxis', width: 100, editRender: renderHook.renderNumber() },
101
- { field: 'yAxis', title: 'message.file.yAxis', width: 100, editRender: renderHook.renderNumber() }
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-04-29 17:04:36
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-countdown :show-days="false" :show-labels="false" />
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 = '/upms/v1/userMonitor';
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('/upms/v1/userMonitor', obj);
287
+ serviceApi.post('/upfm/v1/userMonitor', obj);
279
288
  };
280
289
 
281
290
  const getSysConfig = async () => {
@@ -12,7 +12,7 @@
12
12
  ref="xgrid"
13
13
  :items="formItems"
14
14
  :columns="columns"
15
- url="/upms/v1/userMonitor"
15
+ url="/upfm/v1/userMonitor"
16
16
  :editable="false"
17
17
  />
18
18
  </div>