@utogether/udp-core 1.0.1-beta.3 → 1.0.1-beta.31

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 (165) hide show
  1. package/build/plugins.ts +3 -3
  2. package/dist/{403-BuP9jvH9.js → 403-DdjDWbkf.js} +1 -1
  3. package/dist/{404-DfQk8kKl.js → 404-D9vF2gFz.js} +1 -1
  4. package/dist/{500-OgROWdiZ.js → 500-mVaDmUjL.js} +1 -1
  5. package/dist/{AuthorityInfo-q2ksfkWH.js → AuthorityInfo-DOUJ_Zrj.js} +1 -1
  6. package/dist/AuthorityInfo.vue_vue_type_style_index_0_lang-B12sAzqt.js +100 -0
  7. package/dist/{Company-DgqowAxc.js → Company-DY__kM9F.js} +3 -3
  8. package/dist/{CompanyPanel-BNb1rUhD.js → CompanyPanel-C5N8QcMA.js} +17 -17
  9. package/dist/{Department-Cl8CROSU.js → Department-DsuDZdy5.js} +3 -3
  10. package/dist/{DepartmentPanel-D5VkqKeP.js → DepartmentPanel-CdwI7Rzu.js} +25 -25
  11. package/dist/{DesignPanel-BGvEusHC.js → DesignPanel-B50-g0TL.js} +1 -1
  12. package/dist/{DesignPanel.vue_vue_type_style_index_0_lang-BQF1uQ7w.js → DesignPanel.vue_vue_type_style_index_0_lang-KV8JOZ6v.js} +28 -30
  13. package/dist/DictView-Be2Z5Obk.js +110 -0
  14. package/dist/InvOrganization-Lui1q3Ou.js +74 -0
  15. package/dist/Org-qO5ExsPN.js +39 -0
  16. package/dist/{Preview-BaGmXH7r.js → Preview-Dq4dfV2D.js} +2 -2
  17. package/dist/{ReportDefine-DkQdBErt.js → ReportDefine-DH3FvbS1.js} +1 -1
  18. package/dist/{ReportDesign-DzB_A_G6.js → ReportDesign-Bou01Jbr.js} +43 -43
  19. package/dist/{ReportQuery-DRcMb6ya.js → ReportQuery-BBkmPPSw.js} +1 -1
  20. package/dist/{ReportQueryFrom-CeA9xhR4.js → ReportQueryFrom-BCY8lTJ7.js} +1 -1
  21. package/dist/{ReportQueryFrom.vue_vue_type_style_index_0_lang-CgGtcs5V.js → ReportQueryFrom.vue_vue_type_style_index_0_lang-CpktcM8J.js} +1 -1
  22. package/dist/{ReportTemplate-qaiTMQuT.js → ReportTemplate-C_yJXxQ-.js} +28 -28
  23. package/dist/{Role-DsFulAjq.js → Role-CTatYsrC.js} +6 -6
  24. package/dist/{RoleAssign-DMRdocpa.js → RoleAssign-Cqt3CelK.js} +9 -9
  25. package/dist/{RolePanel-wXVysDHM.js → RolePanel-C3JMpNu8.js} +1 -1
  26. package/dist/{RolePanel-B9POS_pg.js → RolePanel-brKRJIhD.js} +1 -1
  27. package/dist/RolePanel.vue_vue_type_script_setup_true_lang-DD8u9pq8.js +132 -0
  28. package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-CleVvkcY.js → RolePanel.vue_vue_type_script_setup_true_lang-i6Gq4r5B.js} +44 -38
  29. package/dist/{ScrollPanel.vue_vue_type_style_index_0_lang-DlXUs0j9.js → ScrollPanel.vue_vue_type_style_index_0_lang-CiWKyjm3.js} +23 -23
  30. package/dist/{Staff-Cq4V7ruC.js → Staff-Cd3twQ6Y.js} +3 -3
  31. package/dist/{StaffInfo-CJDKMbud.js → StaffInfo-DJp0a0qd.js} +1 -1
  32. package/dist/{StaffInfo.vue_vue_type_script_setup_true_lang-DQ4DL1KY.js → StaffInfo.vue_vue_type_script_setup_true_lang-Dp2AhJ4I.js} +16 -16
  33. package/dist/{StaffPanel-CG-uggdr.js → StaffPanel-B93hClzs.js} +1 -1
  34. package/dist/{StaffPanel.vue_vue_type_script_setup_true_lang-DAgN7zN2.js → StaffPanel.vue_vue_type_script_setup_true_lang-CXjUzq7n.js} +2 -2
  35. package/dist/{SysUser-kwnzRNdD.js → SysUser-BvI6vaqI.js} +2 -2
  36. package/dist/{SysUserPanel-DTlZf3vk.js → SysUserPanel-C9V8X-Ek.js} +1 -1
  37. package/dist/SysUserPanel.vue_vue_type_script_setup_true_lang-bMqTui07.js +343 -0
  38. package/dist/{SystemMenu-BVT0n-L2.js → SystemMenu-D4WME5d0.js} +27 -27
  39. package/dist/{UserInfo-BbTQ9Zat.js → UserInfo-D-AfdfJs.js} +1 -1
  40. package/dist/{UserInfo.vue_vue_type_style_index_0_lang-D_bpYDmI.js → UserInfo.vue_vue_type_style_index_0_lang-C-JQYIxe.js} +41 -39
  41. package/dist/{childView-BJbIhjmf.js → childView--WMSo-wH.js} +1 -1
  42. package/dist/{childView-DCsGFrG-.js → childView-1MTl6Kaj.js} +1 -1
  43. package/dist/childView.vue_vue_type_style_index_0_lang-B8Losc4Y.js +170 -0
  44. package/dist/{childView.vue_vue_type_style_index_0_lang-BCDxpVoD.js → childView.vue_vue_type_style_index_0_lang-BAVKNIXs.js} +1 -1
  45. package/dist/{code-rule-DePU6cdp.js → code-rule-D-RqrQB6.js} +42 -41
  46. package/dist/core.es.js +19 -10
  47. package/dist/{cron-task-DUM1SIGL.js → cron-task-D-X-KFZm.js} +11 -11
  48. package/dist/flow-task-B07st2aD.js +10 -0
  49. package/dist/{frameView-CEUTDtSm.js → frameView-MAW_-GHJ.js} +1 -1
  50. package/dist/index-Bc9vCX7z.js +2904 -0
  51. package/dist/{layoutView-PCjwVwkX.js → layoutView-De2QIEr2.js} +1639 -1629
  52. package/dist/{log-in-e7D5Ss1P.js → log-in-CpGqc33f.js} +5 -4
  53. package/dist/{log-out--RRncZhN.js → log-out-D1b4VRMZ.js} +30 -24
  54. package/dist/{login-log-CvVnyGi3.js → login-log-BNRXLeMi.js} +4 -3
  55. package/dist/login-rdZ0GPYc.js +249 -0
  56. package/dist/{lov-view-D8wwkxFJ.js → lov-view-Ao7LMspL.js} +5 -5
  57. package/dist/{menuInfo-B5JKVwrB.js → menuInfo-DmOcK6An.js} +1 -1
  58. package/dist/{menuInfo.vue_vue_type_style_index_0_lang-CcM9WX4n.js → menuInfo.vue_vue_type_style_index_0_lang-Ln-zFWV7.js} +121 -99
  59. package/dist/{pda-app-DIa1p1Ww.js → pda-app-DY63mQ2T.js} +202 -188
  60. package/dist/{resource-CCQ7Dd-5.js → resource-B21uV58T.js} +18 -18
  61. package/dist/{su-welcome-CLp9YaJa.js → su-welcome-DgjzJeDF.js} +122 -121
  62. package/dist/sys-config-DOtK2I32.js +370 -0
  63. package/dist/udp-core.css +1 -9
  64. package/dist/utogether-MlnyYtNS.js +4 -0
  65. package/index.ts +19 -6
  66. package/package.json +1 -1
  67. package/src/App.vue +65 -70
  68. package/src/api/http.ts +1 -4
  69. package/src/api/index.ts +5 -3
  70. package/src/api/user.ts +2 -2
  71. package/src/components/SuCharts/src/UserInfo.vue +3 -3
  72. package/src/components/SuScrollTree/ScrollPanel.vue +4 -9
  73. package/src/components/udp/content/index.vue +88 -0
  74. package/src/components/udp/form/form.vue +109 -0
  75. package/src/components/udp/{grid.vue → grid/index.vue} +524 -500
  76. package/src/components/udp/index.ts +4 -6
  77. package/src/components/udp/ut-stamp-badge/index.vue +272 -0
  78. package/src/components/udp/utils.ts +408 -379
  79. package/src/directives/permission/index.ts +1 -1
  80. package/src/layout/components/lay-navbar/index.vue +8 -6
  81. package/src/layout/components/lay-panel/index.vue +150 -150
  82. package/src/layout/components/lay-search/index.vue +1 -1
  83. package/src/layout/components/lay-select-org/index.vue +4 -9
  84. package/src/layout/components/lay-sidebar/horizontal.vue +8 -6
  85. package/src/layout/components/lay-sidebar/mixNav.vue +260 -258
  86. package/src/layout/components/lay-sidebar/sidebar-logo.vue +8 -12
  87. package/src/layout/components/lay-tag/index.vue +596 -625
  88. package/src/layout/hooks/useTag.ts +12 -18
  89. package/src/layout/types.ts +3 -2
  90. package/src/main.ts +115 -110
  91. package/src/plugins/i18n/en.ts +302 -291
  92. package/src/plugins/i18n/module/u-workflow.ts +1 -1
  93. package/src/plugins/i18n/zh.ts +362 -338
  94. package/src/plugins/vxe-table/index.ts +116 -53
  95. package/src/plugins/vxe-table/render.tsx +183 -57
  96. package/src/router/index.ts +101 -97
  97. package/src/router/modules/flow.ts +35 -0
  98. package/src/router/modules/remaining.ts +1 -26
  99. package/src/router/utils.ts +50 -7
  100. package/src/store/modules/app.ts +1 -3
  101. package/src/store/modules/multiTags.ts +15 -14
  102. package/src/store/modules/permission.ts +25 -15
  103. package/src/store/modules/system.ts +1 -3
  104. package/src/style/button.scss +85 -85
  105. package/src/style/login.css +1 -1
  106. package/src/style/vxetable.scss +348 -258
  107. package/src/utils/authority/index.ts +1 -1
  108. package/src/utils/index.ts +3 -1
  109. package/src/utils/propTypes.ts +1 -6
  110. package/src/utils/{http → udp/http}/index.ts +27 -30
  111. package/src/utils/{http → udp/http}/types.d.ts +2 -6
  112. package/src/views/login/login-view.vue +6 -20
  113. package/src/views/organization/company/CompanyPanel.vue +259 -259
  114. package/src/views/organization/department/DepartmentPanel.vue +6 -20
  115. package/src/views/organization/inv-org/InvOrganization.vue +22 -7
  116. package/src/views/organization/org/Org.vue +9 -5
  117. package/src/views/system/cron/cron-task.vue +2 -12
  118. package/src/views/system/menu/SystemMenu.vue +185 -197
  119. package/src/views/system/menu/menuInfo.vue +384 -372
  120. package/src/views/system/role/AuthorityInfo.vue +19 -15
  121. package/src/views/system/role/Role.vue +1 -5
  122. package/src/views/system/role/RolePanel.vue +11 -2
  123. package/src/views/system/role/UserInfo.vue +11 -9
  124. package/src/views/system/role-assign/RoleAssign.vue +2 -2
  125. package/src/views/system/role-assign/RolePanel.vue +12 -9
  126. package/src/views/system/sys/sys-config.vue +70 -21
  127. package/src/views/system/sysUser/SysUserPanel.vue +132 -62
  128. package/src/views/uapp/pda/pda-app.vue +48 -16
  129. package/src/views/udev/coderule/code-rule.vue +132 -121
  130. package/src/views/udev/dict/DictView.vue +118 -106
  131. package/src/views/udev/dict/childView.vue +71 -111
  132. package/src/views/udev/lov/childView.vue +1 -7
  133. package/src/views/udev/lov/lov-view.vue +91 -91
  134. package/src/views/ufile/aggregation/File.vue +5 -5
  135. package/src/views/ufile/file/water-mark.vue +14 -14
  136. package/src/views/uhome/components/menu-favorite.vue +314 -331
  137. package/src/views/uhome/su-welcome.vue +3 -3
  138. package/src/views/ulogin/login.vue +19 -12
  139. package/src/views/upms/interface/log-in.vue +2 -8
  140. package/src/views/upms/interface/log-out.vue +2 -8
  141. package/src/views/upms/user/login-log.vue +2 -8
  142. package/src/views/urpt/design/DesignPanel.vue +16 -35
  143. package/src/views/urpt/design/Preview.vue +1 -0
  144. package/src/views/urpt/design/ReportDesign.vue +17 -23
  145. package/src/views/urpt/static-resource/resource.vue +3 -3
  146. package/src/views/urpt/template/ReportTemplate.vue +7 -7
  147. package/src/views/utask/flow-task.vue +18 -0
  148. package/types/global.d.ts +4 -9
  149. package/vite.config.ts +2 -1
  150. package/dist/AuthorityInfo.vue_vue_type_style_index_0_lang-Bwsf6lMH.js +0 -102
  151. package/dist/DictView-BnxfaOBv.js +0 -96
  152. package/dist/InvOrganization-5y79ZLdY.js +0 -66
  153. package/dist/Org-2oBAXN2r.js +0 -35
  154. package/dist/RolePanel.vue_vue_type_script_setup_true_lang-t6S_0zmJ.js +0 -126
  155. package/dist/SysUserPanel.vue_vue_type_script_setup_true_lang-BW6PlGjM.js +0 -288
  156. package/dist/childView.vue_vue_type_style_index_0_lang-CDtsalCm.js +0 -187
  157. package/dist/index-ZdgOD7cF.js +0 -3399
  158. package/dist/login-B1CjWVKu.js +0 -252
  159. package/dist/sys-config-BBmf_SqF.js +0 -277
  160. package/dist/utogether-Bkptx2lB.js +0 -182
  161. package/src/components/udp/form-upload.vue +0 -183
  162. package/src/components/udp/lov.vue +0 -410
  163. package/src/components/udp/modal-form.vue +0 -180
  164. package/src/components/udp/modal-grid.vue +0 -297
  165. package/src/utils/udp/useRender.ts +0 -420
@@ -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)
@@ -2,16 +2,11 @@
2
2
  <!-- <img :src="bg" class="wave" /> -->
3
3
  <div :key="refreshKey" class="login-container" :style="bgStyle">
4
4
  <div v-if="!bgStyle.backgroundImage" class="img pr-24">
5
- <!-- <bg /> -->
6
5
  <img :src="welcome" />
7
6
  </div>
8
7
  <div class="login-box">
9
8
  <div class="login-form">
10
- <h2
11
- v-motion
12
- :initial="{ opacity: 0, y: 100 }"
13
- :enter="{ opacity: 1, y: 0, transition: { delay: 100 } }"
14
- >
9
+ <h2 v-motion :initial="{ opacity: 0, y: 100 }" :enter="{ opacity: 1, y: 0, transition: { delay: 100 } }">
15
10
  {{ sysConfig['title'] }}
16
11
  </h2>
17
12
  <div
@@ -73,7 +68,7 @@
73
68
  </button>
74
69
  </div>
75
70
  </div>
76
- <div class="absolute flex justify-center w-full font-bold bottom-1">
71
+ <div v-if="sysConfig.techSupport === 'Y'" class="absolute flex justify-center w-full font-bold bottom-1">
77
72
  <img :src="utogether" class="!h-10" style="height: 40px" />
78
73
  <span class="flex flex-row justify-center" style="width: 300px">
79
74
  <span style="font-size: 0; text-align: center">
@@ -81,7 +76,8 @@
81
76
  href="http://www.u-together.cn/"
82
77
  target="_blank"
83
78
  class="!inline-block"
84
- style="margin-bottom: -5px; font-size: 17px; color: #59d8d8"
79
+ style="margin-bottom: -5px; font-size: 17px; color: #fff; mix-blend-mode: difference"
80
+ :style="{ color: sysConfig.baseColor || '#FFF' }"
85
81
  >
86
82
  深圳友聚信息技术有限公司
87
83
  </a>
@@ -89,7 +85,8 @@
89
85
  href="http://www.u-together.cn/"
90
86
  target="_blank"
91
87
  class="!inline-block"
92
- style="font-size: 12px; color: #d9d9d9"
88
+ style="font-size: 12px; color: #fff; mix-blend-mode: difference"
89
+ :style="{ color: sysConfig.baseColor || '#FFF' }"
93
90
  >
94
91
  SHENZHEN U-TOGETHER CO. LTD
95
92
  </a>
@@ -113,6 +110,7 @@ import { useFavicon } from '@vueuse/core';
113
110
  import { isEmpty, toDateString } from 'xe-utils';
114
111
  import { removeClass, storageLocal, errorMessage, cookies, delay } from '@utogether/utils';
115
112
  import to from 'await-to-js';
113
+ // import JSEencrypt from 'jsencrypt';
116
114
  import { useSystemStoreHook } from '../../store/modules/system';
117
115
  import { useLayout } from '../../layout/hooks/useLayout';
118
116
  import { useDataThemeChange } from '../../layout/hooks/useDataThemeChange';
@@ -162,7 +160,7 @@ const bgStyle = ref({
162
160
  });
163
161
  const refreshKey = ref(0);
164
162
 
165
- const sysConfig = ref({});
163
+ const sysConfig = ref<IRecord>({});
166
164
  const router = useRouter();
167
165
  const { t } = useI18n();
168
166
  const serviceApi = getServiceApi();
@@ -187,6 +185,13 @@ const onLogin = async () => {
187
185
  const rsakeypair = new RSAKeyPair(publicRSA.publicKeyExponent, '', publicRSA.publicKeyModulus);
188
186
  // @ts-ignore
189
187
  const password = encryptedString(rsakeypair, passWord.split('').reverse().join(''));
188
+ // const key = new JSEencrypt();
189
+ // key.setPublicKey(
190
+ // '-----BEGIN PUBLIC KEY-----MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQChJwirJjZ+FxG9dn9rsfKa+9hTgBhXI9e0kiMOJWfJXPVxjsp0XaBkNADKYZ++7Ikt9hq+H3GtO4ItB27YMQgMU3gu34wGJ+6VxX4r7hL+VdorPK3sWZR6dczMu/Nvs7eByTtL9RSJeJ8cCEn5AjoW7HC+9BpQR4XhCCtvE1iOKQIDAQAB-----END PUBLIC KEY-----'
191
+ // );
192
+ // const password = key.encrypt(passWord);
193
+ // // console.log('password1 ===', password1);
194
+ // console.log('password ===', password);
190
195
  const param = {
191
196
  username,
192
197
  password,
@@ -233,6 +238,7 @@ const cacheToken = token => {
233
238
  const cache = {
234
239
  accessToken: access_token,
235
240
  refreshToken: refresh_token,
241
+ // expires: Date.now() + expires_in
236
242
  expires: Date.now() + expires_in * 1000
237
243
  };
238
244
 
@@ -275,7 +281,7 @@ const insertLoginInfo = username => {
275
281
  browserVersion,
276
282
  operatingSystem: getPlatform(userAgent)
277
283
  };
278
- serviceApi.post('/upms/v1/userMonitor', obj);
284
+ serviceApi.post('/upfm/v1/userMonitor', obj);
279
285
  };
280
286
 
281
287
  const getSysConfig = async () => {
@@ -292,7 +298,8 @@ const getSysConfig = async () => {
292
298
  config['title'] = title || 'U-DP';
293
299
  sysConfig.value = config;
294
300
  bgStyle.value = {
295
- backgroundImage: config['backgroundImg'] ? `url(${config['backgroundImg']})` : '',
301
+ backgroundImage: config['backgroundImg'] ? `url(${config['backgroundImg']})` : ``,
302
+ // backgroundImage: config['backgroundImg'] ? `url(${config['backgroundImg']})` : `url1(${welcome})`,
296
303
  backgroundRepeat: 'no-repeat',
297
304
  backgroundPosition: 'center'
298
305
  };
@@ -8,13 +8,7 @@
8
8
 
9
9
  <template>
10
10
  <div>
11
- <ut-grid
12
- ref="xgrid"
13
- :items="formItems"
14
- :columns="columns"
15
- url="/upms/v1/invokeInbound"
16
- :editable="false"
17
- />
11
+ <ut-grid ref="xgrid" :items="formItems" :columns="columns" url="/upms/v1/invokeInbound" :editable="false" />
18
12
  <ut-modal-form
19
13
  v-if="data.showModal"
20
14
  ref="suModalRef"
@@ -55,7 +49,7 @@ const formItems = [
55
49
  { field: 'interfaceUrl' },
56
50
  { field: 'requestBodyParameter', title: 'message.requestParameter' },
57
51
  { field: 'responseContent' },
58
- { field: 'ip' },
52
+ { field: 'ip', title: 'message.udp.ip' },
59
53
  { field: 'requestDate', itemRender: { name: '#SuDateRange', props: { type: 'daterange' } } },
60
54
  { field: 'requestStatus', itemRender: renderHook.renderDict('SU.REQUEST.STATUS') }
61
55
  ];
@@ -8,13 +8,7 @@
8
8
 
9
9
  <template>
10
10
  <div>
11
- <ut-grid
12
- ref="SuGridRef"
13
- :items="formItems"
14
- :columns="columns"
15
- url="/upms/v1/invokeOutbound"
16
- :editable="false"
17
- />
11
+ <ut-grid ref="SuGridRef" :items="formItems" :columns="columns" url="/upms/v1/invokeOutbound" :editable="false" />
18
12
 
19
13
  <ut-modal-form
20
14
  v-if="data.showModal"
@@ -56,7 +50,7 @@ const formItems = [
56
50
  { field: 'interfaceUrl' },
57
51
  { field: 'requestParameter' },
58
52
  { field: 'responseContent' },
59
- { field: 'ip' },
53
+ // { field: 'ip', },
60
54
  { field: 'requestDate', itemRender: { name: '#SuDateRange', props: { type: 'daterange' } } },
61
55
  { field: 'requestStatus', itemRender: renderHook.renderDict('SU.REQUEST.STATUS') }
62
56
  ];
@@ -8,13 +8,7 @@
8
8
 
9
9
  <template>
10
10
  <div>
11
- <ut-grid
12
- ref="xgrid"
13
- :items="formItems"
14
- :columns="columns"
15
- url="/upms/v1/userMonitor"
16
- :editable="false"
17
- />
11
+ <ut-grid ref="xgrid" :items="formItems" :columns="columns" url="/upfm/v1/userMonitor" :editable="false" />
18
12
  </div>
19
13
  </template>
20
14
  <script lang="tsx">
@@ -50,7 +44,7 @@ const formItems = [
50
44
  const xgrid = ref(null);
51
45
  const columns = [
52
46
  { field: 'employeeName', minWidth: 120 },
53
- { field: 'userName', width: 150 },
47
+ { field: 'userName', title: 'message.udp.userName', width: 150 },
54
48
  { field: 'loginTime', title: 'message.udp.loginTime', width: 160 },
55
49
  { field: 'operatingSystem', title: 'message.udp.operatingSystem', width: 120 },
56
50
  { field: 'browser', title: 'message.udp.browser', width: 110 },
@@ -2,7 +2,7 @@
2
2
  * @Author: wei.li
3
3
  * @Date: 2022-03-21 10:36:15
4
4
  * @LastEditors: levi7754 levi7754@163.com
5
- * @LastEditTime: 2025-04-08 15:38:16
5
+ * @LastEditTime: 2025-08-12 09:57:22
6
6
  * @Description: 设计面板
7
7
  -->
8
8
  <template>
@@ -45,21 +45,12 @@
45
45
  <div class="flex justify-center mb-1" style="width: 100%">
46
46
  <vxe-input v-model="paperSize.width" type="number" class="w-40" placeholder="宽(mm)" />
47
47
  <div class="flex items-center justify-center w-8">~</div>
48
- <vxe-input
49
- v-model="paperSize.height"
50
- type="number"
51
- class="w-40"
52
- placeholder="高(mm)"
53
- />
48
+ <vxe-input v-model="paperSize.height" type="number" class="w-40" placeholder="高(mm)" />
54
49
  </div>
55
50
  <ut-button style="width: 100%" content="confirm" @tap="handleCustomSize" />
56
51
  </div>
57
52
  <template #reference>
58
- <ut-button
59
- icon="ri-font-size"
60
- content="customSize"
61
- @click.stop="paperPopVisible = true"
62
- />
53
+ <ut-button icon="ri-font-size" content="customSize" @tap.stop="paperPopVisible = true" />
63
54
  </template>
64
55
  </el-popover>
65
56
  <ut-button
@@ -69,22 +60,9 @@
69
60
  auth="import"
70
61
  @tap="handleShowImport()"
71
62
  />
72
- <vxe-button
73
- icon="ri-indeterminate-circle-line "
74
- class="design-custom-button"
75
- @click="handleScale('N')"
76
- />
77
- <vxe-input
78
- v-model="scale.ration"
79
- disabled
80
- align="center"
81
- style="width: 70px; margin-left: 10px"
82
- />
83
- <vxe-button
84
- icon="ri-add-circle-fill "
85
- class="design-custom-button"
86
- @click="handleScale('Y')"
87
- />
63
+ <vxe-button icon="ri-indeterminate-circle-line " class="design-custom-button" @click="handleScale('N')" />
64
+ <vxe-input v-model="scale.ration" disabled align="center" style="width: 70px; margin-left: 10px" />
65
+ <vxe-button icon="ri-add-circle-fill " class="design-custom-button" @click="handleScale('Y')" />
88
66
  <ut-button
89
67
  status="danger"
90
68
  icon="ri-delete-bin-5-fill"
@@ -99,8 +77,7 @@
99
77
  </div>
100
78
  </div>
101
79
  <div style="font-size: 12px; color: red; text-align: center">
102
- 温馨提示:
103
- 蓝色线(页眉)以下,每张纸打印都会重复打印到页面底部;红色线(页尾)以下,每张纸打印都会重复打印到页面底部
80
+ 温馨提示: 蓝色线(页眉)以下,每张纸打印都会重复打印到页面底部;红色线(页尾)以下,每张纸打印都会重复打印到页面底部
104
81
  </div>
105
82
  </el-space>
106
83
  <el-row>
@@ -118,7 +95,7 @@
118
95
  </a>
119
96
  </div>
120
97
  </el-col>
121
- <el-col :span="12" class="drag_item_box" tid="defaultModule.text">
98
+ <el-col :span="12" class="drag_item_box">
122
99
  <div>
123
100
  <a class="ep-draggable-item" tid="defaultModule.image">
124
101
  <span class="ri-image-line" ariel-hidden="true" />
@@ -136,7 +113,7 @@
136
113
  </a>
137
114
  </div>
138
115
  </el-col>
139
- <el-col :span="12" class="drag_item_box" tid="defaultModule.text">
116
+ <el-col :span="12" class="drag_item_box">
140
117
  <div>
141
118
  <a class="ep-draggable-item" tid="defaultModule.table">
142
119
  <span class="ri-table-line" ariel-hidden="true" />
@@ -216,7 +193,7 @@
216
193
 
217
194
  <script setup lang="ts">
218
195
  import { onMounted, reactive, ref, nextTick, onBeforeUnmount } from 'vue';
219
- import { VXETable } from 'vxe-table';
196
+ import { VxeUI } from 'vxe-pc-ui';
220
197
  import { useGlobal } from '@utogether/utils';
221
198
  import to from 'await-to-js';
222
199
  import { clone } from 'xe-utils';
@@ -320,7 +297,7 @@ const handleScale = max => {
320
297
  * @Desc: 参数设置drawer回调,将参数设置dom添加到弹出层中
321
298
  */
322
299
  const handleClearPaper = async () => {
323
- const type = await VXETable.modal.confirm('重绘操作不可逆,您确定继续吗?', '温馨提示');
300
+ const type = await VxeUI.modal.confirm('重绘操作不可逆,您确定继续吗?', '温馨提示');
324
301
  if (type === 'confirm') {
325
302
  hiprintTemplate.clear();
326
303
  }
@@ -329,7 +306,7 @@ const handleShowImport = async () => {
329
306
  showImportView.value = true;
330
307
  };
331
308
  const handleImportJson = async () => {
332
- const type = await VXETable.modal.confirm('导入后将覆盖原有的模板,您确定继续吗?', '温馨提示');
309
+ const type = await VxeUI.modal.confirm('导入后将覆盖原有的模板,您确定继续吗?', '温馨提示');
333
310
  if (type === 'confirm') {
334
311
  handleSave(handleClose);
335
312
  showImportView.value = false;
@@ -523,4 +500,8 @@ onBeforeUnmount(() => {
523
500
  overflow: hidden;
524
501
  overflow: auto;
525
502
  }
503
+
504
+ .hiprint-printElement-image-content img {
505
+ content: url('/logo.png');
506
+ }
526
507
  </style>
@@ -38,6 +38,7 @@ const hanldePreview = (template, data) => {
38
38
  loading.value = true;
39
39
  printerTemplate.value = template;
40
40
  printerData.value = data;
41
+ console.log(template);
41
42
  nextTick(() => {
42
43
  $('#preview_content').html(template.getHtml(data));
43
44
  loading.value = false;
@@ -2,7 +2,7 @@
2
2
  * @Author: wei.li
3
3
  * @Date: 2021-11-27 20:34:11
4
4
  * @LastEditors: levi7754 levi7754@163.com
5
- * @LastEditTime: 2025-04-29 11:59:40
5
+ * @LastEditTime: 2025-08-06 10:46:40
6
6
  * @Description: 模板设计器
7
7
  -->
8
8
  <template>
@@ -12,7 +12,7 @@
12
12
  ref="xgrid"
13
13
  :items="formItems"
14
14
  :columns="columns"
15
- :checkMethod="onCheckMethod"
15
+ :check-method="onCheckMethod"
16
16
  :url="url"
17
17
  :events="onGridEvents"
18
18
  />
@@ -22,8 +22,8 @@
22
22
  v-if="showModal"
23
23
  :record="record"
24
24
  :items="items"
25
- :width="300"
26
- :height="240"
25
+ width="40%"
26
+ :height="290"
27
27
  data-status="update"
28
28
  title="复制模板"
29
29
  @confirm="onConfirm"
@@ -53,8 +53,8 @@ const { copy } = useClipboard();
53
53
  // const printPlugin = $printPlugin.print;
54
54
  const serviceApi = getServiceApi();
55
55
  const formItems = [
56
- { field: 'templateCode', title: 'message.file.templateCode' },
57
- { field: 'templateName', title: 'message.file.templateName' }
56
+ { field: 'templateCode', title: 'message.urpt.templateCode' },
57
+ { field: 'templateName', title: 'message.urpt.templateName' }
58
58
  ];
59
59
  const url = '/urpt/v1/printTemplate';
60
60
  // 列字段
@@ -62,21 +62,21 @@ const columns = [
62
62
  { type: 'checkbox', width: 50, align: 'center' },
63
63
  {
64
64
  field: 'templateCode',
65
- title: 'message.file.templateCode',
65
+ title: 'message.urpt.templateCode',
66
66
  required: true,
67
67
  width: 150,
68
68
  editRender: renderHook.renderInput()
69
69
  },
70
70
  {
71
71
  field: 'templateName',
72
- title: 'message.file.templateName',
72
+ title: 'message.urpt.templateName',
73
73
  required: true,
74
74
  width: 240,
75
75
  editRender: renderHook.renderInput()
76
76
  },
77
77
  {
78
78
  field: 'paperType',
79
- title: 'message.file.paperType',
79
+ title: 'message.urpt.paperType',
80
80
  width: 120,
81
81
  required: true,
82
82
  editRender: renderHook.renderDict({ code: 'SU.PRINT.PAPER', defaultValue: 'A4' }),
@@ -94,12 +94,7 @@ const columns = [
94
94
  return (
95
95
  <>
96
96
  <ut-button content="design" icon="ri-quill-pen-line" onTap={() => handleDesign(row)} />
97
- <ut-button
98
- content="copy"
99
- status="warning"
100
- icon="ri-file-copy-2-fill"
101
- onTap={() => handleCopy(row)}
102
- />
97
+ <ut-button content="copy" status="warning" icon="ri-file-copy-2-fill" onTap={() => handleCopy(row)} />
103
98
  <ut-button
104
99
  content="export"
105
100
  status="u-cyan"
@@ -117,25 +112,26 @@ const columns = [
117
112
  const items = [
118
113
  {
119
114
  field: 'templateCode',
120
- title: 'message.templateCode',
115
+ title: 'message.urpt.templateCode',
121
116
  required: true,
122
117
  itemRender: { name: '$input' },
123
118
  span: 24
124
119
  },
125
120
  {
126
121
  field: 'templateName',
127
- title: 'message.templateName',
122
+ title: 'message.urpt.templateName',
128
123
  required: true,
129
124
  itemRender: { name: '$input' },
130
125
  span: 24
131
126
  },
132
127
  {
133
128
  field: 'paperType',
129
+ title: 'message.urpt.paperType',
134
130
  width: 100,
135
131
  required: true,
136
132
  itemRender: renderHook.renderDict({ code: 'SU.PRINT.PAPER', defaultValue: 'A4' })
137
133
  },
138
- { field: 'remarks', title: 'message.remark', required: true, itemRender: { name: '$input' }, span: 24 }
134
+ { field: 'remarks', title: 'message.remark', itemRender: { name: '$input' }, span: 24 }
139
135
  ];
140
136
  /*
141
137
  // 启用/禁用
@@ -230,15 +226,13 @@ const handleDesign = row => {
230
226
  };
231
227
  const onGridEvents = {
232
228
  editActived({ row }) {
233
- if (row.id) {
234
- columns[1].editRender.props.disabled = true;
235
- xgrid.value.getInstance().refreshColumn();
236
- }
229
+ columns[1].editRender.props.disabled = !!row.id;
230
+ xgrid.value.getInstance().refreshColumn();
237
231
  }
238
232
  };
239
233
 
240
234
  const onCheckMethod = ({ row }) => {
241
- return row.enabled !== '1';
235
+ return row?.enabled !== '1';
242
236
  };
243
237
 
244
238
  const onClose = () => {
@@ -45,9 +45,9 @@ const baseUrl = getBaseURL();
45
45
  // 列字段
46
46
  const columns = [
47
47
  { type: 'checkbox', width: 40, align: 'center' },
48
- { field: 'templateCode', title: 'message.file.resourceCode', width: 140 },
49
- { field: 'templateName', title: 'message.file.resourceName', width: 150 },
50
- { field: 'templateUrl', title: 'message.file.resourceUrl', miWidth: 200 },
48
+ { field: 'templateCode', title: 'message.urpt.resourceCode', width: 140 },
49
+ { field: 'templateName', title: 'message.urpt.resourceName', width: 150 },
50
+ { field: 'templateUrl', title: 'message.urpt.resourceUrl', miWidth: 200 },
51
51
  {
52
52
  field: 'operate',
53
53
  width: 180,
@@ -62,9 +62,9 @@ const record = ref<IRecord>({});
62
62
 
63
63
  const url = '/upms/v1/printTemplateConfig';
64
64
  const formItems = [
65
- { field: 'templateCode', title: 'message.file.templateCode' },
66
- { field: 'templateName', title: 'message.file.templateName' },
67
- { field: 'printPosition', title: 'message.file.printPosition', code: 'SU.PRINT.VIEW' }
65
+ { field: 'templateCode', title: 'message.urpt.templateCode' },
66
+ { field: 'templateName', title: 'message.urpt.templateName' },
67
+ { field: 'printPosition', title: 'message.urpt.printPosition', code: 'SU.PRINT.VIEW' }
68
68
  ];
69
69
 
70
70
  // 列字段
@@ -72,7 +72,7 @@ const columns = [
72
72
  { type: 'checkbox', width: 40, align: 'center' },
73
73
  {
74
74
  field: 'templateCode',
75
- title: 'message.file.templateCode',
75
+ title: 'message.urpt.templateCode',
76
76
  required: true,
77
77
  width: 120,
78
78
  editRender: renderHook.renderLov({
@@ -81,10 +81,10 @@ const columns = [
81
81
  mapField: { templateName: 'templateName' }
82
82
  })
83
83
  },
84
- { field: 'templateName', title: 'message.file.templateName', width: 180 },
84
+ { field: 'templateName', title: 'message.urpt.templateName', width: 180 },
85
85
  {
86
86
  field: 'printPosition',
87
- title: 'message.file.printPosition',
87
+ title: 'message.urpt.printPosition',
88
88
  required: true,
89
89
  width: 120,
90
90
  formatter: ['formatDict', 'SU.PRINT.VIEW'],
@@ -92,7 +92,7 @@ const columns = [
92
92
  },
93
93
  {
94
94
  field: 'buttonCode',
95
- title: 'message.file.buttonCode',
95
+ title: 'message.urpt.buttonCode',
96
96
  width: 120,
97
97
  required: true,
98
98
  editRender: renderHook.renderInput()
@@ -0,0 +1,18 @@
1
+ <script lang="ts">
2
+ export default { name: 'FlowTask' };
3
+ </script>
4
+
5
+ <script setup lang="ts">
6
+ // import { useDetail } from './hooks';
7
+
8
+ // const { initToDetail, getParameter } = useDetail();
9
+ // initToDetail('query');
10
+ </script>
11
+
12
+ <template>
13
+ <div>
14
+ <!-- {{ getParameter.id }} - 详情页内容在此(query传参)
15
+ <p>当前页面参数为:{{ getParameter }}</p> -->
16
+ dhasdhkasd kasdAsdasjldj打死了电话卡手机号多久啊是的
17
+ </div>
18
+ </template>
package/types/global.d.ts CHANGED
@@ -27,8 +27,10 @@ declare global {
27
27
  * Window 的类型提示
28
28
  */
29
29
  interface Window {
30
- // Global vue app instance
30
+ // Global vue app
31
+ __HISTORY_PATH__: string;
31
32
  __APP__: App<Element>;
33
+ $i18n: () => void;
32
34
  webkitCancelAnimationFrame: (handle: number) => void;
33
35
  mozCancelAnimationFrame: (handle: number) => void;
34
36
  oCancelAnimationFrame: (handle: number) => void;
@@ -72,14 +74,7 @@ declare global {
72
74
  __: unknown;
73
75
  }
74
76
 
75
- type ViteCompression =
76
- | 'none'
77
- | 'gzip'
78
- | 'brotli'
79
- | 'both'
80
- | 'gzip-clear'
81
- | 'brotli-clear'
82
- | 'both-clear';
77
+ type ViteCompression = 'none' | 'gzip' | 'brotli' | 'both' | 'gzip-clear' | 'brotli-clear' | 'both-clear';
83
78
 
84
79
  interface ViteEnv {
85
80
  VITE_PORT: number;
package/vite.config.ts CHANGED
@@ -66,7 +66,8 @@ export default () => {
66
66
  'vue-router',
67
67
  '@iconify/vue',
68
68
  'qrcode',
69
- 'element-resize-detector'
69
+ 'element-resize-detector',
70
+ '**/udp/**'
70
71
  ]
71
72
  },
72
73
  lib: {