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

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 (87) hide show
  1. package/dist/{403-DASI6Pwz.js → 403-CTJDBjz7.js} +1 -1
  2. package/dist/{404-YhBA92cb.js → 404-BFYkWIkQ.js} +1 -1
  3. package/dist/{500-ywbFF5MX.js → 500-DGG3qadg.js} +1 -1
  4. package/dist/{AuthorityInfo-tCSX2Fh7.js → AuthorityInfo-ozZIo1Te.js} +1 -1
  5. package/dist/{AuthorityInfo.vue_vue_type_style_index_0_lang-Cwd6UT2i.js → AuthorityInfo.vue_vue_type_style_index_0_lang-DujerENw.js} +1 -1
  6. package/dist/{AuthorityPanel-BeBNiwqc.js → AuthorityPanel-CRlAwbaI.js} +1 -1
  7. package/dist/{AuthorityPanel.vue_vue_type_style_index_0_lang-CIYmnP9-.js → AuthorityPanel.vue_vue_type_style_index_0_lang-DxhZjp1S.js} +31 -24
  8. package/dist/{Company-l23MEzdM.js → Company-6VJtwh23.js} +3 -3
  9. package/dist/{CompanyPanel-D_s0rh6h.js → CompanyPanel-B2P488mq.js} +1 -1
  10. package/dist/{Department-DSEvORLg.js → Department-BnwoLEOC.js} +3 -3
  11. package/dist/{DepartmentPanel-WN8nOgCV.js → DepartmentPanel-CRrrmxtv.js} +1 -1
  12. package/dist/{DesignPanel-DirEGh9M.js → DesignPanel-CvbccgX2.js} +1 -1
  13. package/dist/{DesignPanel.vue_vue_type_style_index_0_lang-D02hXSrN.js → DesignPanel.vue_vue_type_style_index_0_lang-Dz2tUszs.js} +2 -2
  14. package/dist/{DictView-DiIQdiek.js → DictView-Ce1LoVHh.js} +17 -16
  15. package/dist/{InvOrganization-b7v3g9EJ.js → InvOrganization-BwCFZO1X.js} +1 -1
  16. package/dist/{Org-BORfx1PL.js → Org-0hzs6b0R.js} +1 -1
  17. package/dist/{Preview-DkRn_TSc.js → Preview--DnEAhwh.js} +1 -1
  18. package/dist/{ReportDefine-Cd0QeaWA.js → ReportDefine-Cu983bTN.js} +1 -1
  19. package/dist/{ReportDesign-4qNqyeEW.js → ReportDesign-QsWXXgvo.js} +2 -2
  20. package/dist/{ReportQuery-BJfTFpec.js → ReportQuery-BjKIIhPu.js} +1 -1
  21. package/dist/{ReportQueryFrom-CB7sExZx.js → ReportQueryFrom-DIjBO6Fx.js} +1 -1
  22. package/dist/{ReportQueryFrom.vue_vue_type_style_index_0_lang-CqO_2Ier.js → ReportQueryFrom.vue_vue_type_style_index_0_lang-0T62cUMK.js} +1 -1
  23. package/dist/{ReportTemplate-B69muSgT.js → ReportTemplate-2uk9tJcy.js} +1 -1
  24. package/dist/{Role-Bo4YrNDC.js → Role-_QP8QEaI.js} +3 -3
  25. package/dist/{RoleAssign-kOMYJ4s3.js → RoleAssign-C2gkcmEQ.js} +3 -3
  26. package/dist/{RolePanel-BSJmjyqc.js → RolePanel-B8FPNGaA.js} +1 -1
  27. package/dist/{RolePanel-B1d4e6uk.js → RolePanel-vnl_lXNY.js} +1 -1
  28. package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-DCzX-ZP_.js → RolePanel.vue_vue_type_script_setup_true_lang-BuQbYEEI.js} +1 -1
  29. package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-DgQpfjaU.js → RolePanel.vue_vue_type_script_setup_true_lang-bxHXrBYl.js} +3 -3
  30. package/dist/{ScrollPanel.vue_vue_type_style_index_0_lang-WNOYFxJ1.js → ScrollPanel.vue_vue_type_style_index_0_lang-C6yZXBqB.js} +1 -1
  31. package/dist/{Staff-BFp3zNNR.js → Staff-CHWrMIEb.js} +3 -3
  32. package/dist/{StaffInfo-DcU9_40C.js → StaffInfo-Cpq2eayz.js} +1 -1
  33. package/dist/{StaffInfo.vue_vue_type_script_setup_true_lang-CtfN2CAr.js → StaffInfo.vue_vue_type_script_setup_true_lang-BVCjF2i1.js} +1 -1
  34. package/dist/{StaffPanel-7exWkZd9.js → StaffPanel-D2BMXt5p.js} +1 -1
  35. package/dist/{StaffPanel.vue_vue_type_script_setup_true_lang-v5xOXKRS.js → StaffPanel.vue_vue_type_script_setup_true_lang-B6jAGo-g.js} +2 -2
  36. package/dist/{SysUser-B3uB_cp2.js → SysUser-om6H1BeC.js} +2 -2
  37. package/dist/{SysUserPanel-B0CLp5AO.js → SysUserPanel-CH0HPP7h.js} +1 -1
  38. package/dist/{SysUserPanel.vue_vue_type_script_setup_true_lang-Cwea_4dY.js → SysUserPanel.vue_vue_type_script_setup_true_lang-Dpl13ee0.js} +126 -111
  39. package/dist/{SystemMenu-a59l4hTk.js → SystemMenu-BkG_DKxA.js} +52 -49
  40. package/dist/{UserInfo-D1IA2oLt.js → UserInfo-D9croxUe.js} +1 -1
  41. package/dist/{UserInfo.vue_vue_type_style_index_0_lang-DDVgYRD5.js → UserInfo.vue_vue_type_style_index_0_lang-DLIP8xpN.js} +1 -1
  42. package/dist/{childView-6rCeLcsx.js → childView-BY_Ip-l1.js} +1 -1
  43. package/dist/{childView-JdrkroL5.js → childView-CHp_TueS.js} +1 -1
  44. package/dist/{childView.vue_vue_type_style_index_0_lang-BfcnWnx9.js → childView.vue_vue_type_style_index_0_lang-BNHbDRjt.js} +25 -22
  45. package/dist/{childView.vue_vue_type_style_index_0_lang-B8x99f1B.js → childView.vue_vue_type_style_index_0_lang-CbjGf7Z7.js} +1 -1
  46. package/dist/{code-rule-2lkPF547.js → code-rule-Ce6yWqCq.js} +1 -1
  47. package/dist/core.es.js +1 -1
  48. package/dist/{cron-task-DV1pGO1m.js → cron-task-DziaH0rI.js} +1 -1
  49. package/dist/{frameView-C0bzSB8c.js → frameView-DNeCVQaY.js} +1 -1
  50. package/dist/index-BabfUVv_.js +7241 -0
  51. package/dist/layout-home-Cis1KlEr.js +195 -0
  52. package/dist/{layoutView-CTV-E4Cj.js → layoutView-12Mlp9A2.js} +144 -145
  53. package/dist/{log-in-CoBP2x6u.js → log-in-1NGaA5OM.js} +1 -1
  54. package/dist/{log-out-KX8FiRVf.js → log-out-B8_atGcQ.js} +1 -1
  55. package/dist/{login-CtCoGWzD.js → login-5dydO6GR.js} +124 -134
  56. package/dist/{lov-view-Bm0JEzzg.js → lov-view-DPvGUu3h.js} +2 -2
  57. package/dist/{menuInfo-D2qPoRwz.js → menuInfo-DVADYfEK.js} +1 -1
  58. package/dist/{menuInfo.vue_vue_type_style_index_0_lang-DoQjX9Ly.js → menuInfo.vue_vue_type_style_index_0_lang-DgsifDrm.js} +37 -35
  59. package/dist/{pda-app-SbcIclbH.js → pda-app-BZXs-2BQ.js} +1 -1
  60. package/dist/{resource-Cdq1UKGI.js → resource-BZA9NFKc.js} +1 -1
  61. package/dist/su-welcome-BXe6Cdp3.js +580 -0
  62. package/dist/{sys-config-CCOf4xbj.js → sys-config-DQmNjWH4.js} +1 -1
  63. package/dist/udp-core.css +1 -1
  64. package/package.json +1 -1
  65. package/src/App.vue +71 -65
  66. package/src/components/udp/form-upload/form-upload.vue +492 -0
  67. package/src/components/udp/index.ts +2 -1
  68. package/src/layout/components/lay-content/index.vue +136 -143
  69. package/src/layout/components/lay-sidebar/sidebar-logo.vue +1 -1
  70. package/src/layout/layoutView.vue +7 -6
  71. package/src/main.ts +4 -7
  72. package/src/plugins/i18n/zh.ts +16 -3
  73. package/src/plugins/vxe-table/render.tsx +19 -1
  74. package/src/style/vxetable.scss +356 -348
  75. package/src/views/system/layout/layout-home.vue +199 -0
  76. package/src/views/system/menu/AuthorityPanel.vue +141 -140
  77. package/src/views/system/menu/SystemMenu.vue +10 -1
  78. package/src/views/system/menu/menuInfo.vue +384 -384
  79. package/src/views/system/sysUser/SysUserPanel.vue +22 -6
  80. package/src/views/udev/dict/DictView.vue +2 -2
  81. package/src/views/udev/dict/childView.vue +1 -0
  82. package/src/views/uhome/dynamic-card.vue +32 -0
  83. package/src/views/uhome/su-welcome.vue +10 -5
  84. package/src/views/ulogin/login.vue +34 -23
  85. package/types/global.d.ts +1 -0
  86. package/dist/index-BbtbEMCH.js +0 -4649
  87. package/dist/su-welcome-BHDsjqqV.js +0 -524
@@ -1,143 +1,136 @@
1
- <!--
2
- * @Author: wei.li
3
- * @Date: 2021-12-23 17:33:20
4
- * @LastEditors: levi7754 levi7754@163.com
5
- * @LastEditTime: 2025-04-05 10:43:53
6
- * @Description: 主页面
7
- -->
8
- <script setup lang="ts">
9
- import { h, computed, Transition, defineComponent } from 'vue';
10
- import { useGlobal } from '@utogether/utils';
11
- import { useI18n } from 'vue-i18n';
12
- import { useTags } from '../../hooks/useTag';
13
- import backTop from '../../../assets/svg/back_top.svg?component';
14
- import { usePermissionStoreHook } from '../../../store/modules/permission';
15
-
16
- const props = defineProps({
17
- fixedHeader: Boolean
18
- });
19
-
20
- const { showModel } = useTags();
21
- const { t } = useI18n();
22
- const { $storage, $config } = useGlobal();
23
-
24
- const keepAlive = computed(() => {
25
- return $config?.KeepAlive;
26
- });
27
-
28
- const transitions = computed(() => {
29
- return route => {
30
- return route.meta.transition;
31
- };
32
- });
33
-
34
- const hideTabs = computed(() => {
35
- return $storage?.configure.hideTabs;
36
- });
37
- const layout = computed(() => {
38
- return $storage?.layout.layout === 'vertical';
39
- });
40
-
41
- const getSectionStyle = computed(() => {
42
- // 在iframe中默认就是审批
43
- return window.top === window.self
44
- ? [
45
- hideTabs.value && layout ? 'padding-top: 48px;' : '',
46
- !hideTabs.value && layout
47
- ? showModel.value == 'chrome'
48
- ? 'padding-top: 85px;'
49
- : 'padding-top: 81px;'
50
- : '',
51
- hideTabs.value && !layout.value ? 'padding-top: 48px' : '',
52
- !hideTabs.value && !layout.value
53
- ? showModel.value == 'chrome'
54
- ? 'padding-top: 85px;'
55
- : 'padding-top: 81px;'
56
- : '',
57
- props.fixedHeader ? '' : 'padding-top: 0;'
58
- ]
59
- : 'padding-top: 0';
60
- });
61
-
62
- const transitionMain = defineComponent({
63
- props: {
64
- route: {
65
- type: undefined,
66
- required: true
67
- }
68
- },
69
- render() {
70
- const transitionName = transitions.value(this.route)?.name || 'fade-transform';
71
- const enterTransition = transitions.value(this.route)?.enterTransition;
72
- const leaveTransition = transitions.value(this.route)?.leaveTransition;
73
- return h(
74
- Transition,
75
- {
76
- name: enterTransition ? 'pure-classes-transition' : transitionName,
77
- enterActiveClass: enterTransition ? `animate__animated ${enterTransition}` : undefined,
78
- leaveActiveClass: leaveTransition ? `animate__animated ${leaveTransition}` : undefined,
79
- mode: 'out-in',
80
- appear: true
81
- },
82
- {
83
- default: () => [this.$slots.default()]
84
- }
85
- );
86
- }
87
- });
88
- </script>
89
-
90
- <template>
91
- <section
92
- :class="[props.fixedHeader ? 'app-main' : 'app-main-nofixed-header']"
93
- :style="getSectionStyle"
94
- >
95
- <router-view>
96
- <template #default="{ Component, route }">
97
- <el-scrollbar v-if="props.fixedHeader">
98
- <template #default>
99
- <div class="h-full">
100
- <el-backtop :title="t('message.udp.backtop')" target=".app-main .el-scrollbar__wrap">
101
- <backTop />
102
- </el-backtop>
103
- <transitionMain :route="route">
104
- <keep-alive v-if="keepAlive" :include="usePermissionStoreHook().cachePageList">
105
- <component :is="Component" :key="route.fullPath" class="main-content" />
106
- </keep-alive>
107
- <component :is="Component" v-else :key="route.fullPath" class="main-content" />
108
- </transitionMain>
109
- </div>
110
- </template>
111
- </el-scrollbar>
112
- <div v-else>
113
- <transitionMain :route="route">
114
- <keep-alive v-if="keepAlive" :include="usePermissionStoreHook().cachePageList">
115
- <component :is="Component" :key="route.fullPath" class="main-content" />
116
- </keep-alive>
117
- <component :is="Component" v-else :key="route.fullPath" class="main-content" />
118
- </transitionMain>
119
- </div>
120
- </template>
121
- </router-view>
122
- </section>
123
- </template>
124
-
125
- <style scoped>
126
- .app-main {
127
- position: relative;
128
- width: 100%;
129
- height: 100vh;
130
- overflow-x: hidden;
131
- }
132
-
133
- .app-main-nofixed-header {
134
- position: relative;
135
- width: 100%;
136
- min-height: 100vh;
137
- }
138
-
139
- .main-content {
140
- /* padding: 6px; */
141
- height: 100%;
142
- }
143
- </style>
1
+ <!--
2
+ * @Author: wei.li
3
+ * @Date: 2021-12-23 17:33:20
4
+ * @LastEditors: levi7754 levi7754@163.com
5
+ * @LastEditTime: 2025-12-18 09:35:26
6
+ * @Description: 主页面
7
+ -->
8
+ <script setup lang="ts">
9
+ import { h, computed, Transition, defineComponent } from 'vue';
10
+ import { useGlobal } from '@utogether/utils';
11
+ import { useI18n } from 'vue-i18n';
12
+ import { useTags } from '../../hooks/useTag';
13
+ import backTop from '../../../assets/svg/back_top.svg?component';
14
+ import { usePermissionStoreHook } from '../../../store/modules/permission';
15
+
16
+ const props = defineProps({
17
+ fixedHeader: Boolean
18
+ });
19
+
20
+ const { showModel } = useTags();
21
+ const { t } = useI18n();
22
+ const { $storage, $config } = useGlobal();
23
+
24
+ const keepAlive = computed(() => {
25
+ return $config?.KeepAlive;
26
+ });
27
+
28
+ const transitions = computed(() => {
29
+ return route => {
30
+ return route.meta.transition;
31
+ };
32
+ });
33
+
34
+ const hideTabs = computed(() => {
35
+ return $storage?.configure.hideTabs;
36
+ });
37
+ const layout = computed(() => {
38
+ return $storage?.layout.layout === 'vertical';
39
+ });
40
+
41
+ const getSectionStyle = computed(() => {
42
+ // 在iframe中默认就是审批
43
+ return window.top === window.self
44
+ ? [
45
+ hideTabs.value && layout ? 'padding-top: 48px;' : '',
46
+ !hideTabs.value && layout ? (showModel.value == 'chrome' ? 'padding-top: 85px;' : 'padding-top: 81px;') : '',
47
+ hideTabs.value && !layout.value ? 'padding-top: 48px' : '',
48
+ !hideTabs.value && !layout.value
49
+ ? showModel.value == 'chrome'
50
+ ? 'padding-top: 85px;'
51
+ : 'padding-top: 81px;'
52
+ : '',
53
+ props.fixedHeader ? '' : 'padding-top: 0;'
54
+ ]
55
+ : 'padding-top: 0';
56
+ });
57
+
58
+ const transitionMain = defineComponent({
59
+ props: {
60
+ route: {
61
+ type: undefined,
62
+ required: true
63
+ }
64
+ },
65
+ render() {
66
+ const transitionName = transitions.value(this.route)?.name || 'fade-transform';
67
+ const enterTransition = transitions.value(this.route)?.enterTransition;
68
+ const leaveTransition = transitions.value(this.route)?.leaveTransition;
69
+ return h(
70
+ Transition,
71
+ {
72
+ name: enterTransition ? 'pure-classes-transition' : transitionName,
73
+ enterActiveClass: enterTransition ? `animate__animated ${enterTransition}` : undefined,
74
+ leaveActiveClass: leaveTransition ? `animate__animated ${leaveTransition}` : undefined,
75
+ mode: 'out-in',
76
+ appear: true
77
+ },
78
+ {
79
+ default: () => [this.$slots.default()]
80
+ }
81
+ );
82
+ }
83
+ });
84
+ </script>
85
+
86
+ <template>
87
+ <section :class="[props.fixedHeader ? 'app-main' : 'app-main-nofixed-header']" :style="getSectionStyle">
88
+ <router-view>
89
+ <template #default="{ Component, route }">
90
+ <el-scrollbar v-if="props.fixedHeader">
91
+ <template #default>
92
+ <div class="h-full">
93
+ <el-backtop :title="t('message.udp.backtop')" style="z-index: 100" target=".app-main .el-scrollbar__wrap">
94
+ <backTop />
95
+ </el-backtop>
96
+ <transitionMain :route="route">
97
+ <keep-alive v-if="keepAlive" :include="usePermissionStoreHook().cachePageList">
98
+ <component :is="Component" :key="route.fullPath" class="main-content" />
99
+ </keep-alive>
100
+ <component :is="Component" v-else :key="route.fullPath" class="main-content" />
101
+ </transitionMain>
102
+ </div>
103
+ </template>
104
+ </el-scrollbar>
105
+ <div v-else>
106
+ <transitionMain :route="route">
107
+ <keep-alive v-if="keepAlive" :include="usePermissionStoreHook().cachePageList">
108
+ <component :is="Component" :key="route.fullPath" class="main-content" />
109
+ </keep-alive>
110
+ <component :is="Component" v-else :key="route.fullPath" class="main-content" />
111
+ </transitionMain>
112
+ </div>
113
+ </template>
114
+ </router-view>
115
+ </section>
116
+ </template>
117
+
118
+ <style scoped>
119
+ .app-main {
120
+ position: relative;
121
+ width: 100%;
122
+ height: 100vh;
123
+ overflow-x: hidden;
124
+ }
125
+
126
+ .app-main-nofixed-header {
127
+ position: relative;
128
+ width: 100%;
129
+ min-height: 100vh;
130
+ }
131
+
132
+ .main-content {
133
+ /* padding: 6px; */
134
+ height: 100%;
135
+ }
136
+ </style>
@@ -19,7 +19,7 @@ const props = defineProps({
19
19
  const sysConfig = storageLocal.getItem(kSYSCONFIG) || {};
20
20
 
21
21
  const title = sysConfig['title'];
22
- const showTitle = sysConfig['showTitle'];
22
+ const showTitle = ref(sysConfig['showTitle']);
23
23
  const logo = ref(sysConfig['logo'] || utogether);
24
24
  </script>
25
25
 
@@ -132,8 +132,7 @@ const layoutHeader = defineComponent({
132
132
  },
133
133
  {
134
134
  default: () => [
135
- !settingHook.hiddenSideBar &&
136
- (layout.value.includes('vertical') || layout.value.includes('mix'))
135
+ !settingHook.hiddenSideBar && (layout.value.includes('vertical') || layout.value.includes('mix'))
137
136
  ? h(navbar)
138
137
  : null,
139
138
  !settingHook.hiddenSideBar && layout.value.includes('horizontal') ? h(Horizontal) : null,
@@ -153,9 +152,7 @@ const layoutHeader = defineComponent({
153
152
  @click="useAppStoreHook().toggleSideBar()"
154
153
  />
155
154
  <Vertical
156
- v-show="
157
- inIframe && !settingHook.hiddenSideBar && (layout.includes('vertical') || layout.includes('mix'))
158
- "
155
+ v-show="inIframe && !settingHook.hiddenSideBar && (layout.includes('vertical') || layout.includes('mix'))"
159
156
  />
160
157
  <div :class="['main-container', settingHook.hiddenSideBar ? 'main-hidden' : '']">
161
158
  <div v-if="set.fixedHeader">
@@ -166,7 +163,11 @@ const layoutHeader = defineComponent({
166
163
  <el-scrollbar v-else>
167
164
  <template #default>
168
165
  <div class="h-full">
169
- <el-backtop :title="t('message.udp.backtop')" target=".main-container .el-scrollbar__wrap">
166
+ <el-backtop
167
+ :title="t('message.udp.backtop')"
168
+ style="z-index: 100"
169
+ target=".main-container .el-scrollbar__wrap"
170
+ >
170
171
  <backTop />
171
172
  </el-backtop>
172
173
  <layout-header v-if="inIframe" />
package/src/main.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * @Author: levi7754 levi7754@163.com
3
3
  * @Date: 2025-07-25 13:38:20
4
4
  * @LastEditors: levi7754 levi7754@163.com
5
- * @LastEditTime: 2025-11-14 10:52:54
5
+ * @LastEditTime: 2025-12-26 14:35:03
6
6
  * @FilePath: \udp-front\packages\udp-core\src\main.ts
7
7
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
8
8
  */
@@ -26,17 +26,13 @@ import './style/reset.scss';
26
26
  // 导入公共样式
27
27
  import './style/index.scss';
28
28
 
29
- // import 'viewerjs/dist/viewer.css';
30
-
31
- // import VueViewer from 'v-viewer';
32
-
33
29
  // import SuTable from './components/SuTable/SuTable.vue';
34
30
 
35
31
  import {
36
32
  // utLov2,
37
33
  // UtDivider,
38
34
  // UtModalForm2
39
- // FormUpload2,
35
+ FormUpload2,
40
36
  // UtForm2,
41
37
  UtGrid2
42
38
  // UtContent2
@@ -78,6 +74,7 @@ const setGlobalDirective = app => {
78
74
  };
79
75
 
80
76
  const init = ({ router, config, lang, views, env, tableConfig }) => {
77
+ console.log('view', views);
81
78
  setViews(views, router);
82
79
  app.use(router);
83
80
  setRouter(router);
@@ -95,7 +92,7 @@ const init = ({ router, config, lang, views, env, tableConfig }) => {
95
92
  // app.component('UtForm2', UtForm2);
96
93
  // app.component('UtModalGrid2', UtModalGrid2);
97
94
  // .component('UtIconSelect', UtIconSelect)
98
- // app.component('FormUpload2', FormUpload2);
95
+ app.component('FormUpload2', FormUpload2);
99
96
  // .component('UtCalendar', UtCalendar)
100
97
  // app.component('UtContent2', UtContent2);
101
98
  // app.component('UtStampBadge2', UtStampBadge2);
@@ -58,6 +58,7 @@ export default {
58
58
  browser: '浏览器',
59
59
  dictCode: '字典编码',
60
60
  dictName: '字典名称',
61
+ dictDesc: '字典描述',
61
62
  dictType: '字典类型',
62
63
 
63
64
  ruleCode: '规则代码',
@@ -70,6 +71,7 @@ export default {
70
71
  startValue: '开始值',
71
72
  currentValue: '当前值',
72
73
  haveBeenUsed: '使用中',
74
+ description: '描述',
73
75
 
74
76
  unitName: '单位名称',
75
77
  unitCode: '单位编码',
@@ -112,7 +114,14 @@ export default {
112
114
  appupper: '已上架',
113
115
  applower: '已下架',
114
116
  isApprovalPage: '审批页面',
115
- showLink: '菜单可见'
117
+ showLink: '菜单可见',
118
+
119
+ componentCode: '组件编码',
120
+ componentTitle: '组件标题',
121
+ componentSpan: '栅格列数(24等分)',
122
+ componentHeight: '组件高度',
123
+ componentPath: '组件路径',
124
+ componentRole: '角色'
116
125
  },
117
126
  btn: {
118
127
  passwordReset: '密码重置',
@@ -176,6 +185,7 @@ export default {
176
185
  disabled: '禁用',
177
186
  enable: '启用',
178
187
  flowDesign: '流程设计',
188
+ resetPassword: '重置密码',
179
189
 
180
190
  bankinfo: '银行账号'
181
191
  },
@@ -339,10 +349,12 @@ export default {
339
349
  emptyAuth: '无系统权限, 请先给用户分配角色重试',
340
350
  initPassword: `初始密码为:【{code}】,请及时修改密码`,
341
351
  loginFailure: '用户名或密码不能为空',
352
+ selectRole: '请先勾选角色数据',
342
353
  confirmSync: '确认同步数据吗?',
343
354
  updatenow: '立即更新',
344
355
  newVersion: '检测到新版本',
345
- updateLater: '稍后更新'
356
+ updateLater: '稍后更新',
357
+ confirmResetPassword: '确认重置密码吗?'
346
358
  },
347
359
  title: {
348
360
  employeeInfo: '员工信息',
@@ -358,6 +370,7 @@ export default {
358
370
  lovView: '值集视图',
359
371
  lovColConfig: '值集列配置',
360
372
  sequenceInfo: '{name}单据序列配置',
361
- userInfo: '用户信息'
373
+ userInfo: '用户信息',
374
+ layoutRole: '【{name}】角色列表'
362
375
  }
363
376
  };
@@ -2,7 +2,7 @@
2
2
  * @Author: wei.li
3
3
  * @Date: 2021-12-01 09:18:50
4
4
  * @LastEditors: levi7754 levi7754@163.com
5
- * @LastEditTime: 2025-12-05 18:23:19
5
+ * @LastEditTime: 2025-12-15 16:03:35
6
6
  * @Description: file content
7
7
  */
8
8
 
@@ -605,6 +605,7 @@ export const VxetableRender = (VXETable, { serviceApi, i18n }) => {
605
605
  renderTableEdit(renderOpts: VxeColumnPropTypes.EditRender, params) {
606
606
  const { row, column } = params;
607
607
  const { props, events } = renderOpts;
608
+ debugger;
608
609
 
609
610
  /**
610
611
  * @description: 点击清空按钮时触发
@@ -629,6 +630,23 @@ export const VxetableRender = (VXETable, { serviceApi, i18n }) => {
629
630
 
630
631
  // 可编辑显示模板
631
632
  renderTableCell(renderOpts, params) {
633
+ const { row, column } = params;
634
+ const { props } = renderOpts;
635
+ debugger;
636
+ return [
637
+ <form-upload2
638
+ record={row}
639
+ field={column.field}
640
+ size="mini"
641
+ {...props}
642
+ mode="image"
643
+ render-mode="column"
644
+ data-status="detail"
645
+ />
646
+ ];
647
+ },
648
+ // 默认显示模板
649
+ renderDefault(renderOpts, params) {
632
650
  const { row, column } = params;
633
651
  const { props } = renderOpts;
634
652
  return [