@utogether/udp-core 2.0.0-beta.1 → 2.0.0-beta.3

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 (182) hide show
  1. package/dist/{403-CTJDBjz7.js → 403-CxOqlq0f.js} +3 -3
  2. package/dist/403-WCboRvzZ-ZAPgYStl.js +65 -0
  3. package/dist/404-2V0Qi-d7-DkNwQggp.js +65 -0
  4. package/dist/{404-BFYkWIkQ.js → 404-xdB6lFeQ.js} +1 -1
  5. package/dist/500-BYfzvixf-CGpEieyQ.js +67 -0
  6. package/dist/{500-DGG3qadg.js → 500-C94bRK2S.js} +2 -2
  7. package/dist/AuthorityInfo-DBovfUjB-DpQwT9Q5.js +4 -0
  8. package/dist/{AuthorityInfo-ozZIo1Te.js → AuthorityInfo-Dy3b_nFN.js} +1 -1
  9. package/dist/{AuthorityInfo.vue_vue_type_style_index_0_lang-DujerENw.js → AuthorityInfo.vue_vue_type_style_index_0_lang-Bh7IbcdY.js} +2 -2
  10. package/dist/AuthorityInfo.vue_vue_type_style_index_0_lang-D-l_Az3s-Cw7WmFxz.js +100 -0
  11. package/dist/AuthorityPanel-CRlAwbaI-G7pZXKdE.js +4 -0
  12. package/dist/AuthorityPanel.vue_vue_type_style_index_0_lang-DxhZjp1S-CJvk3pW8.js +114 -0
  13. package/dist/Company-B4vsXy2I-CkNCOqjJ.js +25 -0
  14. package/dist/{Company-6VJtwh23.js → Company-gKkfnhLt.js} +3 -3
  15. package/dist/{CompanyPanel-B2P488mq.js → CompanyPanel-BF5Pc35s.js} +7 -7
  16. package/dist/CompanyPanel-Czcx8Gyw-CvndXwB_.js +206 -0
  17. package/dist/DataSet-DT-rGICv-DaUfgbxk.js +147 -0
  18. package/dist/{Department-BnwoLEOC.js → Department-D0I3QVZe.js} +3 -3
  19. package/dist/Department-D0dVUrGC-C6HJcYI1.js +25 -0
  20. package/dist/{DepartmentPanel-CRrrmxtv.js → DepartmentPanel-2LHODgc7.js} +22 -22
  21. package/dist/DepartmentPanel-e91Lxr1j-BS_A-ILd.js +254 -0
  22. package/dist/{DesignPanel-CvbccgX2.js → DesignPanel-CtF3cAAQ.js} +1 -1
  23. package/dist/DesignPanel-DdFl_ohi-uCwFxcl1.js +4 -0
  24. package/dist/DesignPanel.vue_vue_type_style_index_0_lang-BACPrfUI-cC7yL0uY.js +1013 -0
  25. package/dist/{DesignPanel.vue_vue_type_style_index_0_lang-Dz2tUszs.js → DesignPanel.vue_vue_type_style_index_0_lang-BCYgwoVt.js} +3 -3
  26. package/dist/DictView-BzQLOf_P-DDicwdmM.js +111 -0
  27. package/dist/{DictView-Ce1LoVHh.js → DictView-H3V5hxg3.js} +1 -1
  28. package/dist/{InvOrganization-BwCFZO1X.js → InvOrganization-BiGLnbqe.js} +2 -2
  29. package/dist/InvOrganization-atbhw0CI-BABbVt9V.js +74 -0
  30. package/dist/Org-BW1YHG-Q-Cow7JWlD.js +39 -0
  31. package/dist/{Org-0hzs6b0R.js → Org-DQTCQHNY.js} +2 -2
  32. package/dist/Preview-DJtVsoq1-CCGidQjJ.js +48 -0
  33. package/dist/{Preview--DnEAhwh.js → Preview-DXaiis29.js} +1 -1
  34. package/dist/{ReportDefine-Cu983bTN.js → ReportDefine-BLh4CiER.js} +1 -1
  35. package/dist/ReportDefine-CNx_ob99-6NQAHK-Q.js +10 -0
  36. package/dist/ReportDesign-FbQ6yTJS-C1pPAUSp.js +165 -0
  37. package/dist/{ReportDesign-QsWXXgvo.js → ReportDesign-Ni1YxrLC.js} +7 -7
  38. package/dist/ReportQuery-C5gz8Lgd-Eu2cQmda.js +75 -0
  39. package/dist/{ReportQuery-BjKIIhPu.js → ReportQuery-C8G88_qF.js} +1 -1
  40. package/dist/ReportQueryFrom-C7scua5v-uHXWq8Gy.js +4 -0
  41. package/dist/{ReportQueryFrom-DIjBO6Fx.js → ReportQueryFrom-CuZKPtB4.js} +1 -1
  42. package/dist/{ReportQueryFrom.vue_vue_type_style_index_0_lang-0T62cUMK.js → ReportQueryFrom.vue_vue_type_style_index_0_lang-BAn_siFW.js} +7 -7
  43. package/dist/ReportQueryFrom.vue_vue_type_style_index_0_lang-DCbz67Wa-vK6r2uCl.js +178 -0
  44. package/dist/ReportTemplate-BDANdIWv-D_IGjR1w.js +161 -0
  45. package/dist/{ReportTemplate-2uk9tJcy.js → ReportTemplate-DFnDXWmx.js} +8 -8
  46. package/dist/{Role-_QP8QEaI.js → Role-BQ7hsfPn.js} +3 -3
  47. package/dist/Role-ByB0WbxW-5E8Mb148.js +25 -0
  48. package/dist/RoleAssign-DW6iC_0v-Bis61auk.js +26 -0
  49. package/dist/{RoleAssign-C2gkcmEQ.js → RoleAssign-UPCg2d4G.js} +3 -3
  50. package/dist/RolePanel-BM2MaQPU-CgcsbfaX.js +4 -0
  51. package/dist/{RolePanel-vnl_lXNY.js → RolePanel-C-mQ5XRq.js} +1 -1
  52. package/dist/RolePanel-ClQy8DBL-DARL4O-o.js +4 -0
  53. package/dist/{RolePanel-B8FPNGaA.js → RolePanel-CoSXOCZN.js} +1 -1
  54. package/dist/RolePanel.vue_vue_type_script_setup_true_lang-Bc_Ao_PU-DMmxr2iI.js +132 -0
  55. package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-bxHXrBYl.js → RolePanel.vue_vue_type_script_setup_true_lang-Bg-t2UhF.js} +7 -7
  56. package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-BuQbYEEI.js → RolePanel.vue_vue_type_script_setup_true_lang-D-o7HYZ8.js} +8 -8
  57. package/dist/RolePanel.vue_vue_type_script_setup_true_lang-fthF1zkp-JsbQJoDy.js +154 -0
  58. package/dist/ScrollPanel.vue_vue_type_style_index_0_lang-ByWIwajm-BsBf2Vs3.js +100 -0
  59. package/dist/{ScrollPanel.vue_vue_type_style_index_0_lang-C6yZXBqB.js → ScrollPanel.vue_vue_type_style_index_0_lang-CCsoxDfk.js} +1 -1
  60. package/dist/Staff-CuxzvhD9-D0KTcyRh.js +25 -0
  61. package/dist/{Staff-CHWrMIEb.js → Staff-D-CmvG1R.js} +3 -3
  62. package/dist/StaffInfo-CY7gUICu-EZUhUwIp.js +4 -0
  63. package/dist/{StaffInfo-Cpq2eayz.js → StaffInfo-Idhvuc6e.js} +1 -1
  64. package/dist/StaffInfo.vue_vue_type_script_setup_true_lang-Dd8gtQz8-Dlkt-eCn.js +108 -0
  65. package/dist/{StaffInfo.vue_vue_type_script_setup_true_lang-BVCjF2i1.js → StaffInfo.vue_vue_type_script_setup_true_lang-MUGKjnHU.js} +1 -1
  66. package/dist/{StaffPanel-D2BMXt5p.js → StaffPanel-CDDmAYE5.js} +1 -1
  67. package/dist/StaffPanel-CwqG0_xr-CrvzLJoc.js +4 -0
  68. package/dist/{StaffPanel.vue_vue_type_script_setup_true_lang-B6jAGo-g.js → StaffPanel.vue_vue_type_script_setup_true_lang-Bdilqbee.js} +42 -42
  69. package/dist/StaffPanel.vue_vue_type_script_setup_true_lang-DCdBy8Hu-BXrueqi0.js +143 -0
  70. package/dist/SysUser-9Q2UJWhi-DprWXFlR.js +15 -0
  71. package/dist/{SysUser-om6H1BeC.js → SysUser-a-j5bppr.js} +2 -2
  72. package/dist/{SysUserPanel-CH0HPP7h.js → SysUserPanel-6V232wwB.js} +1 -1
  73. package/dist/SysUserPanel-bJy69O7x-BJtBgFEs.js +4 -0
  74. package/dist/{SysUserPanel.vue_vue_type_script_setup_true_lang-Dpl13ee0.js → SysUserPanel.vue_vue_type_script_setup_true_lang-BOtHuMVy.js} +2 -2
  75. package/dist/SysUserPanel.vue_vue_type_script_setup_true_lang-DUPFqgz3-BSqRCMen.js +356 -0
  76. package/dist/{SystemMenu-BkG_DKxA.js → SystemMenu-BnVeOSOQ.js} +7 -7
  77. package/dist/SystemMenu-DGOAolc1-CJSLHP8i.js +156 -0
  78. package/dist/UserInfo-CKoOHkAM-DDWp0I_U.js +4 -0
  79. package/dist/{UserInfo-D9croxUe.js → UserInfo-Cax9b2nw.js} +1 -1
  80. package/dist/UserInfo.vue_vue_type_style_index_0_lang-BaT53SSu-DsNaAomO.js +160 -0
  81. package/dist/{UserInfo.vue_vue_type_style_index_0_lang-DLIP8xpN.js → UserInfo.vue_vue_type_style_index_0_lang-D-cw11i9.js} +2 -2
  82. package/dist/await-to-js.es5-Bv3Eu4mi-UCggJjes.js +10 -0
  83. package/dist/await-to-js.es5-Bv3Eu4mi.js +10 -0
  84. package/dist/childView-0YZQ6GBn-CEqg7k5d.js +4 -0
  85. package/dist/{childView-BY_Ip-l1.js → childView-DKG3eZo8.js} +1 -1
  86. package/dist/childView-DKkgi3yo-D47ft-vi.js +4 -0
  87. package/dist/{childView-CHp_TueS.js → childView-siumuBz0.js} +1 -1
  88. package/dist/childView.vue_vue_type_style_index_0_lang-ABMrGInv-ClOdE_sa.js +143 -0
  89. package/dist/{childView.vue_vue_type_style_index_0_lang-BNHbDRjt.js → childView.vue_vue_type_style_index_0_lang-CUfXDS1q.js} +8 -8
  90. package/dist/{childView.vue_vue_type_style_index_0_lang-CbjGf7Z7.js → childView.vue_vue_type_style_index_0_lang-CW3EbAmW.js} +8 -8
  91. package/dist/childView.vue_vue_type_style_index_0_lang-CaW106ve-CClTM8PK.js +180 -0
  92. package/dist/{code-rule-Ce6yWqCq.js → code-rule-Dtoree6F.js} +2 -2
  93. package/dist/code-rule-wQyfgpNL-C4evD4Co.js +148 -0
  94. package/dist/core.es.js +10 -10
  95. package/dist/cron-task-C-kryDtd-C0NuGZCe.js +135 -0
  96. package/dist/{cron-task-DziaH0rI.js → cron-task-GSRgA7S5.js} +2 -2
  97. package/dist/flow-task-B07st2aD-CgQvagSQ.js +10 -0
  98. package/dist/frameView-BOGA3ezf-QoSxzmSQ.js +44 -0
  99. package/dist/{frameView-DNeCVQaY.js → frameView-Cy6wxW0K.js} +1 -1
  100. package/dist/{index-BabfUVv_.js → index-Dc7xWMiC.js} +1057 -1033
  101. package/dist/layout-home-3Dy4onl4.js +228 -0
  102. package/dist/layout-home-CYHksXN_-Basy-3IH.js +228 -0
  103. package/dist/layoutView-BaRvAbIa-xVgfqspc.js +3302 -0
  104. package/dist/{layoutView-12Mlp9A2.js → layoutView-DMjNscJ-.js} +8 -8
  105. package/dist/log-in-Cx1dGik8-BVeEHeZ8.js +117 -0
  106. package/dist/{log-in-1NGaA5OM.js → log-in-VAG6Cvcx.js} +8 -8
  107. package/dist/log-out-COYdxrNC-ftopGZdE.js +130 -0
  108. package/dist/{log-out-B8_atGcQ.js → log-out-DZGaMCjC.js} +4 -4
  109. package/dist/{login-5dydO6GR.js → login-CqVMdNHs.js} +16 -16
  110. package/dist/login-Dg9ofNS8-Bocp1XMA.js +241 -0
  111. package/dist/login-log-DJBGJVV0-AoOyj0jD.js +70 -0
  112. package/dist/lov-view-C0T5prk8-B2DBmn55.js +97 -0
  113. package/dist/{lov-view-DPvGUu3h.js → lov-view-Cc68_28B.js} +7 -7
  114. package/dist/{menuInfo-DVADYfEK.js → menuInfo-BIrIaJlH.js} +1 -1
  115. package/dist/menuInfo-BZJ_q7bz-Drho-_QC.js +4 -0
  116. package/dist/menuInfo.vue_vue_type_style_index_0_lang-BA8xjUo3-BCZ1wipf.js +363 -0
  117. package/dist/{menuInfo.vue_vue_type_style_index_0_lang-DgsifDrm.js → menuInfo.vue_vue_type_style_index_0_lang-DlE4w35X.js} +2 -2
  118. package/dist/{pda-app-BZXs-2BQ.js → pda-app-DnjphrRS.js} +9 -9
  119. package/dist/pda-app-m9hsppHo-B4xyja1o.js +710 -0
  120. package/dist/redirect-BqegffKC-CBCIuqmz.js +15 -0
  121. package/dist/resource-C6KEIXu--B_ddyecm.js +97 -0
  122. package/dist/{resource-BZA9NFKc.js → resource-DISgPDM7.js} +4 -4
  123. package/dist/su-welcome-BjbuSrBZ.js +49424 -0
  124. package/dist/su-welcome-CYYy-dzr-D3RKPoB0.js +42089 -0
  125. package/dist/sys-config-DCjJGtht-DARDjlrt.js +370 -0
  126. package/dist/{sys-config-DQmNjWH4.js → sys-config-Yc9vh1t1.js} +13 -13
  127. package/dist/udp-core.css +1 -1
  128. package/dist/utogether-MlnyYtNS-CGgjFNPS.js +4 -0
  129. package/package.json +5 -2
  130. package/src/App.vue +71 -71
  131. package/src/components/udp/content/index.vue +88 -88
  132. package/src/components/udp/form-upload/form-upload.vue +492 -492
  133. package/src/components/udp/grid/index.vue +524 -524
  134. package/src/components/udp/index.ts +6 -6
  135. package/src/components/udp/ut-stamp-badge/index.vue +271 -271
  136. package/src/components/udp/utils.ts +408 -408
  137. package/src/layout/components/lay-content/index.vue +136 -136
  138. package/src/layout/components/lay-search/components/SearchModal.vue +181 -189
  139. package/src/layout/components/lay-setting/index.vue +503 -503
  140. package/src/layout/components/lay-sidebar/sidebar-logo.vue +101 -101
  141. package/src/layout/components/lay-tag/index.vue +598 -598
  142. package/src/layout/hooks/useNav.ts +176 -176
  143. package/src/layout/hooks/useTag.ts +227 -227
  144. package/src/layout/layoutView.vue +216 -216
  145. package/src/layout/types.ts +93 -93
  146. package/src/main.ts +111 -112
  147. package/src/plugins/i18n/zh.ts +1 -0
  148. package/src/plugins/vxe-table/index.ts +116 -116
  149. package/src/plugins/vxe-table/render.tsx +968 -968
  150. package/src/router/index.ts +187 -187
  151. package/src/router/modules/home.ts +32 -32
  152. package/src/router/utils.ts +420 -420
  153. package/src/store/modules/epTheme.ts +48 -48
  154. package/src/style/vxetable.scss +364 -356
  155. package/src/utils/dataFormat/index.ts +222 -222
  156. package/src/utils/lifecycle.ts +39 -39
  157. package/src/views/organization/department/DepartmentPanel.vue +303 -303
  158. package/src/views/organization/staff/StaffInfo.vue +127 -127
  159. package/src/views/organization/staff/StaffPanel.vue +3 -3
  160. package/src/views/system/layout/layout-home.vue +45 -7
  161. package/src/views/system/menu/AuthorityPanel.vue +141 -141
  162. package/src/views/system/menu/SystemMenu.vue +194 -194
  163. package/src/views/system/menu/menuInfo.vue +1 -1
  164. package/src/views/system/sysUser/SysUserPanel.vue +363 -363
  165. package/src/views/udev/coderule/code-rule.vue +132 -132
  166. package/src/views/udev/dict/DictView.vue +118 -118
  167. package/src/views/udev/dict/childView.vue +184 -184
  168. package/src/views/udev/lov/childView.vue +174 -174
  169. package/src/views/uhome/components/common-menu.vue +118 -0
  170. package/src/views/uhome/components/dynamic-component.vue +66 -0
  171. package/src/views/uhome/components/home-todo.vue +170 -0
  172. package/src/views/uhome/components/menu-favorite.vue +315 -315
  173. package/src/views/uhome/dynamic-card.vue +18 -19
  174. package/src/views/uhome/su-welcome.vue +46 -116
  175. package/src/views/ulogin/login.vue +336 -336
  176. package/src/views/upms/interface/log-in.vue +100 -100
  177. package/src/views/upms/interface/log-out.vue +104 -104
  178. package/src/views/upms/user/login-log.vue +54 -54
  179. package/types/global.d.ts +232 -232
  180. package/dist/await-to-js.es5-BtRbN2QH.js +0 -10
  181. package/dist/layout-home-Cis1KlEr.js +0 -195
  182. package/dist/su-welcome-BXe6Cdp3.js +0 -580
@@ -0,0 +1,4 @@
1
+ const A = "data:image/png;base64,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";
2
+ export {
3
+ A
4
+ };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@utogether/udp-core",
3
3
  "private": false,
4
- "version": "2.0.0-beta.1",
4
+ "version": "2.0.0-beta.3",
5
5
  "description": "",
6
6
  "type": "module",
7
7
  "main1": "index.ts",
@@ -14,5 +14,8 @@
14
14
  },
15
15
  "keywords": [],
16
16
  "author": "",
17
- "license": "ISC"
17
+ "license": "ISC",
18
+ "dependencies": {
19
+ "vue3-sfc-loader": "^0.9.5"
20
+ }
18
21
  }
package/src/App.vue CHANGED
@@ -1,71 +1,71 @@
1
- <!--
2
- * @Author: wei.li
3
- * @Date: 2021-12-23 17:33:19
4
- * @LastEditors: levi7754 levi7754@163.com
5
- * @LastEditTime: 2025-12-23 14:19:46
6
- * @Description: file content
7
- -->
8
- <template>
9
- <el-config-provider size="small" :z-index="5555" :locale="currentLocale">
10
- <router-view />
11
- </el-config-provider>
12
- </template>
13
-
14
- <script lang="ts">
15
- import { defineComponent } from 'vue';
16
- import { ElConfigProvider } from 'element-plus';
17
- import { checkVersion } from 'version-rocket';
18
- import en from 'element-plus/es/locale/lang/en';
19
- import zhCn from 'element-plus/es/locale/lang/zh-cn';
20
- import { storageLocal } from '@utogether/utils';
21
- import { kSYSCONFIG } from './contant';
22
- import { getServiceApi, getBaseURL } from './api';
23
-
24
- export default defineComponent({
25
- name: 'app',
26
- components: {
27
- [ElConfigProvider.name]: ElConfigProvider
28
- },
29
- computed: {
30
- currentLocale() {
31
- return this.$storage?.locale?.locale === 'zh' ? zhCn : en;
32
- }
33
- },
34
- async beforeCreate() {
35
- await getServiceApi()
36
- .get('/upfm/v1/sysConfig', {})
37
- .then(res => {
38
- const config = {};
39
- res.list?.forEach(item => {
40
- config[item.configCode] = item.configValue;
41
- if (item.fileName) {
42
- config[item.configCode] = getBaseURL() + '/ufil' + item.configValue;
43
- }
44
- });
45
- const title = res.list?.find(f => f.configCode === 'title')?.configValue;
46
- config['title'] = title || 'U-DP';
47
- this.pollingVersion(config['title']);
48
- storageLocal.setItem(kSYSCONFIG, config);
49
- });
50
- },
51
- methods: {
52
- // / 版本实时更新检测,只作用于线上环境
53
- pollingVersion(title) {
54
- // 5分钟检测一次版本
55
- checkVersion(
56
- {
57
- pollingTime: 300000,
58
- checkOriginSpecifiedFilesUrl: [`${location.origin}/index.html`],
59
- enable: process.env.NODE_ENV !== 'development'
60
- },
61
- {
62
- title,
63
- description: this.$t('message.udp.newVersion'),
64
- buttonText: this.$t('message.udp.updatenow'),
65
- cancelButtonText: this.$t('message.udp.updateLater')
66
- }
67
- );
68
- }
69
- }
70
- });
71
- </script>
1
+ <!--
2
+ * @Author: wei.li
3
+ * @Date: 2021-12-23 17:33:19
4
+ * @LastEditors: levi7754 levi7754@163.com
5
+ * @LastEditTime: 2025-12-23 14:19:46
6
+ * @Description: file content
7
+ -->
8
+ <template>
9
+ <el-config-provider size="small" :z-index="5555" :locale="currentLocale">
10
+ <router-view />
11
+ </el-config-provider>
12
+ </template>
13
+
14
+ <script lang="ts">
15
+ import { defineComponent } from 'vue';
16
+ import { ElConfigProvider } from 'element-plus';
17
+ import { checkVersion } from 'version-rocket';
18
+ import en from 'element-plus/es/locale/lang/en';
19
+ import zhCn from 'element-plus/es/locale/lang/zh-cn';
20
+ import { storageLocal } from '@utogether/utils';
21
+ import { kSYSCONFIG } from './contant';
22
+ import { getServiceApi, getBaseURL } from './api';
23
+
24
+ export default defineComponent({
25
+ name: 'app',
26
+ components: {
27
+ [ElConfigProvider.name]: ElConfigProvider
28
+ },
29
+ computed: {
30
+ currentLocale() {
31
+ return this.$storage?.locale?.locale === 'zh' ? zhCn : en;
32
+ }
33
+ },
34
+ async beforeCreate() {
35
+ await getServiceApi()
36
+ .get('/upfm/v1/sysConfig', {})
37
+ .then(res => {
38
+ const config = {};
39
+ res.list?.forEach(item => {
40
+ config[item.configCode] = item.configValue;
41
+ if (item.fileName) {
42
+ config[item.configCode] = getBaseURL() + '/ufil' + item.configValue;
43
+ }
44
+ });
45
+ const title = res.list?.find(f => f.configCode === 'title')?.configValue;
46
+ config['title'] = title || 'U-DP';
47
+ this.pollingVersion(config['title']);
48
+ storageLocal.setItem(kSYSCONFIG, config);
49
+ });
50
+ },
51
+ methods: {
52
+ // / 版本实时更新检测,只作用于线上环境
53
+ pollingVersion(title) {
54
+ // 5分钟检测一次版本
55
+ checkVersion(
56
+ {
57
+ pollingTime: 300000,
58
+ checkOriginSpecifiedFilesUrl: [`${location.origin}/index.html`],
59
+ enable: process.env.NODE_ENV !== 'development'
60
+ },
61
+ {
62
+ title,
63
+ description: this.$t('message.udp.newVersion'),
64
+ buttonText: this.$t('message.udp.updatenow'),
65
+ cancelButtonText: this.$t('message.udp.updateLater')
66
+ }
67
+ );
68
+ }
69
+ }
70
+ });
71
+ </script>
@@ -1,88 +1,88 @@
1
- <!--
2
- * @Author: wei.li
3
- * @Date: 2022-03-09 10:31:45
4
- * @LastEditors: levi7754 levi7754@163.com
5
- * @LastEditTime: 2025-11-20 10:30:15
6
- * @Description: 详情统一容器
7
- -->
8
- <template>
9
- <div class="ut-content">
10
- <StampBadge :color="stampOptions.color || 'success'" :content="stampOptions.content" :code="stampOptions.code" />
11
- <div v-if="showTop && showContentop" class="ut-content-top" :class="title ? 'justify-between' : 'justify-end'">
12
- <span v-if="title" class="font-black">{{ title }}</span>
13
- <div class="ut-right-panel">
14
- <slot name="header" />
15
- <ut-button
16
- v-if="showClose"
17
- status="info"
18
- :icon="$attrs.icon || 'ri-reply-line'"
19
- :content="$attrs.content || 'goback'"
20
- @tap="handleClose()"
21
- />
22
- </div>
23
- </div>
24
- <div class="ut-content-body">
25
- <slot name="body" />
26
- </div>
27
- </div>
28
- </template>
29
-
30
- <script setup lang="ts">
31
- import { ref } from 'vue';
32
- import StampBadge from '../ut-stamp-badge/index.vue';
33
- defineOptions({ name: 'UtContent' });
34
-
35
- interface Props {
36
- title?: string;
37
- showTop?: boolean;
38
- showClose?: boolean;
39
- stampOptions?: IRecord;
40
- }
41
-
42
- withDefaults(defineProps<Props>(), {
43
- title: '',
44
- showTop: true,
45
- showClose: true
46
- });
47
- const showContentop = ref(window.top === window.self);
48
-
49
- const emit = defineEmits<{ (e: 'close'): void }>();
50
-
51
- const handleClose = () => {
52
- emit('close');
53
- };
54
- </script>
55
-
56
- <style lang="scss" scoped>
57
- .ut-content {
58
- position: relative;
59
- display: flex;
60
- flex-direction: column;
61
- width: 100%;
62
- height: 100%;
63
- padding: 0 8px;
64
- background-color: #f7f7f7;
65
-
66
- &-top {
67
- position: sticky;
68
- top: 0;
69
- left: 0;
70
- z-index: 10;
71
- display: flex;
72
- align-items: center;
73
- height: 36px;
74
- padding: 2px 12px;
75
- background-color: #fff;
76
- border: 1px solid #e0ebf6;
77
- }
78
-
79
- &-body {
80
- width: 100%;
81
- height: 100%;
82
- margin: 5px 0;
83
- background-color: #fff;
84
- border: 1px solid #e0ebf6;
85
- border-radius: 5px;
86
- }
87
- }
88
- </style>
1
+ <!--
2
+ * @Author: wei.li
3
+ * @Date: 2022-03-09 10:31:45
4
+ * @LastEditors: levi7754 levi7754@163.com
5
+ * @LastEditTime: 2025-11-20 10:30:15
6
+ * @Description: 详情统一容器
7
+ -->
8
+ <template>
9
+ <div class="ut-content">
10
+ <StampBadge :color="stampOptions.color || 'success'" :content="stampOptions.content" :code="stampOptions.code" />
11
+ <div v-if="showTop && showContentop" class="ut-content-top" :class="title ? 'justify-between' : 'justify-end'">
12
+ <span v-if="title" class="font-black">{{ title }}</span>
13
+ <div class="ut-right-panel">
14
+ <slot name="header" />
15
+ <ut-button
16
+ v-if="showClose"
17
+ status="info"
18
+ :icon="$attrs.icon || 'ri-reply-line'"
19
+ :content="$attrs.content || 'goback'"
20
+ @tap="handleClose()"
21
+ />
22
+ </div>
23
+ </div>
24
+ <div class="ut-content-body">
25
+ <slot name="body" />
26
+ </div>
27
+ </div>
28
+ </template>
29
+
30
+ <script setup lang="ts">
31
+ import { ref } from 'vue';
32
+ import StampBadge from '../ut-stamp-badge/index.vue';
33
+ defineOptions({ name: 'UtContent' });
34
+
35
+ interface Props {
36
+ title?: string;
37
+ showTop?: boolean;
38
+ showClose?: boolean;
39
+ stampOptions?: IRecord;
40
+ }
41
+
42
+ withDefaults(defineProps<Props>(), {
43
+ title: '',
44
+ showTop: true,
45
+ showClose: true
46
+ });
47
+ const showContentop = ref(window.top === window.self);
48
+
49
+ const emit = defineEmits<{ (e: 'close'): void }>();
50
+
51
+ const handleClose = () => {
52
+ emit('close');
53
+ };
54
+ </script>
55
+
56
+ <style lang="scss" scoped>
57
+ .ut-content {
58
+ position: relative;
59
+ display: flex;
60
+ flex-direction: column;
61
+ width: 100%;
62
+ height: 100%;
63
+ padding: 0 8px;
64
+ background-color: #f7f7f7;
65
+
66
+ &-top {
67
+ position: sticky;
68
+ top: 0;
69
+ left: 0;
70
+ z-index: 10;
71
+ display: flex;
72
+ align-items: center;
73
+ height: 36px;
74
+ padding: 2px 12px;
75
+ background-color: #fff;
76
+ border: 1px solid #e0ebf6;
77
+ }
78
+
79
+ &-body {
80
+ width: 100%;
81
+ height: 100%;
82
+ margin: 5px 0;
83
+ background-color: #fff;
84
+ border: 1px solid #e0ebf6;
85
+ border-radius: 5px;
86
+ }
87
+ }
88
+ </style>