@utogether/udp-core 1.0.2 → 1.0.4-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-B1rIjAAu.js → 403-CH-5FVhN.js} +1 -1
  2. package/dist/{404-mBqc2y4t.js → 404-CFk6Ivq-.js} +1 -1
  3. package/dist/{500-BoI45Zdh.js → 500-DRjSNKN3.js} +1 -1
  4. package/dist/{AuthorityInfo-B08NBIIn.js → AuthorityInfo-DxNFwxdz.js} +1 -1
  5. package/dist/{AuthorityInfo.vue_vue_type_style_index_0_lang-BLP1SaiH.js → AuthorityInfo.vue_vue_type_style_index_0_lang-BI2PKcqq.js} +1 -1
  6. package/dist/{AuthorityPanel-BeBNiwqc.js → AuthorityPanel-BzIh29KB.js} +1 -1
  7. package/dist/{AuthorityPanel.vue_vue_type_style_index_0_lang-CIYmnP9-.js → AuthorityPanel.vue_vue_type_style_index_0_lang-D3GN0Ybz.js} +32 -24
  8. package/dist/{Company-JGGyWEWH.js → Company-DGFD7_MF.js} +3 -3
  9. package/dist/{CompanyPanel-BQ_cCmDx.js → CompanyPanel-BHXndpIr.js} +1 -1
  10. package/dist/{Department-z2iO6hwM.js → Department-CFcjdf8m.js} +3 -3
  11. package/dist/{DepartmentPanel-BtQe7zwU.js → DepartmentPanel-DrBtJClY.js} +1 -1
  12. package/dist/{DesignPanel-7mhtVWas.js → DesignPanel-EAKuwOqp.js} +1 -1
  13. package/dist/{DesignPanel.vue_vue_type_style_index_0_lang-4EsHemj_.js → DesignPanel.vue_vue_type_style_index_0_lang-BOP4Q41a.js} +2 -2
  14. package/dist/{DictView-CjchV2Yk.js → DictView-CpRvxDO0.js} +10 -9
  15. package/dist/{InvOrganization-Pn1O_XP0.js → InvOrganization-DZC9aKKv.js} +1 -1
  16. package/dist/{Org-BqytV_vi.js → Org-D5heLogi.js} +1 -1
  17. package/dist/{Preview-CLpUUMay.js → Preview-DWuThn2_.js} +1 -1
  18. package/dist/{ReportDefine-Cz1KtEUF.js → ReportDefine-FeHx3B-B.js} +1 -1
  19. package/dist/{ReportDesign-BaORYud4.js → ReportDesign-Deo5AK76.js} +2 -2
  20. package/dist/{ReportQuery-CPCPXiXz.js → ReportQuery-WK5BPREv.js} +1 -1
  21. package/dist/{ReportQueryFrom-C_AcrfkJ.js → ReportQueryFrom-BcbRvwcp.js} +1 -1
  22. package/dist/{ReportQueryFrom.vue_vue_type_style_index_0_lang-Bm67ejay.js → ReportQueryFrom.vue_vue_type_style_index_0_lang-DEXuBXHO.js} +1 -1
  23. package/dist/{ReportTemplate-CFiNMz79.js → ReportTemplate-DAk0qIJq.js} +1 -1
  24. package/dist/{Role-B-XDoJd5.js → Role-sSVr8txF.js} +3 -3
  25. package/dist/{RoleAssign-BolW8YVs.js → RoleAssign-gg9O7P1_.js} +3 -3
  26. package/dist/{RolePanel-HilSuYns.js → RolePanel-D2M-Wc-X.js} +1 -1
  27. package/dist/{RolePanel-2kfs5tw9.js → RolePanel-DsyVPcoq.js} +1 -1
  28. package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-CE4gApUY.js → RolePanel.vue_vue_type_script_setup_true_lang-C4fuYoIS.js} +1 -1
  29. package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-DPzgfAyV.js → RolePanel.vue_vue_type_script_setup_true_lang-RR24avbF.js} +3 -3
  30. package/dist/{ScrollPanel.vue_vue_type_style_index_0_lang-CCTH4RkH.js → ScrollPanel.vue_vue_type_style_index_0_lang-6v5vVx-e.js} +1 -1
  31. package/dist/{Staff-BTk3whFC.js → Staff-DTDrOuE0.js} +3 -3
  32. package/dist/{StaffInfo-d3AuSzlA.js → StaffInfo-B2H_6lwQ.js} +1 -1
  33. package/dist/{StaffInfo.vue_vue_type_script_setup_true_lang-eOL4VlfE.js → StaffInfo.vue_vue_type_script_setup_true_lang-BkDRBn9p.js} +1 -1
  34. package/dist/{StaffPanel-DV-D4jjz.js → StaffPanel-dpmnAD0A.js} +1 -1
  35. package/dist/{StaffPanel.vue_vue_type_script_setup_true_lang-4sFq3CEo.js → StaffPanel.vue_vue_type_script_setup_true_lang-dgV9B37R.js} +47 -39
  36. package/dist/{SysUser-BnjYytws.js → SysUser-BjpQdzSo.js} +2 -2
  37. package/dist/{SysUserPanel-CBoyD-Qi.js → SysUserPanel-C5IHO7JB.js} +1 -1
  38. package/dist/{SysUserPanel.vue_vue_type_script_setup_true_lang-PrTlTZR-.js → SysUserPanel.vue_vue_type_script_setup_true_lang-HvJ4Hrps.js} +1 -1
  39. package/dist/{SystemMenu-kYB_ZaUt.js → SystemMenu-D7W9E8SF.js} +53 -50
  40. package/dist/{UserInfo-4dx97VBL.js → UserInfo-D_lbSbUh.js} +1 -1
  41. package/dist/{UserInfo.vue_vue_type_style_index_0_lang-BpbC_ZDm.js → UserInfo.vue_vue_type_style_index_0_lang-NLl8VJ5I.js} +1 -1
  42. package/dist/{childView-CHPNfTEb.js → childView-B1XV2jZ7.js} +1 -1
  43. package/dist/{childView-CKA_JgVZ.js → childView-LQllG9vw.js} +1 -1
  44. package/dist/{childView.vue_vue_type_style_index_0_lang-W7bCtXeu.js → childView.vue_vue_type_style_index_0_lang-DN19uWOO.js} +31 -31
  45. package/dist/{childView.vue_vue_type_style_index_0_lang-Bym2fQRd.js → childView.vue_vue_type_style_index_0_lang-Dpo_nfX9.js} +19 -20
  46. package/dist/{code-rule-CbxuZg0-.js → code-rule-DkKKcosO.js} +1 -1
  47. package/dist/core.es.js +1 -1
  48. package/dist/{cron-task-nTOpqQYf.js → cron-task-bGVrr2Jg.js} +1 -1
  49. package/dist/{frameView-Z1tPUyCh.js → frameView-B3n2JXTj.js} +1 -1
  50. package/dist/index-DYT0k5Sg.js +8134 -0
  51. package/dist/{layoutView--MGA9zUB.js → layoutView-bh22tftc.js} +144 -145
  52. package/dist/{log-in-CSYJDA6m.js → log-in-Dk_xyZ_l.js} +1 -1
  53. package/dist/{log-out-DiwGCg7p.js → log-out-CERhlqtr.js} +1 -1
  54. package/dist/{login-C6Y0ajDp.js → login-C5EJWWLi.js} +124 -134
  55. package/dist/{login-log-C0V-_l3F.js → login-log-DJBGJVV0.js} +4 -4
  56. package/dist/{lov-view-Cmv7wZZ9.js → lov-view-BNGHpq-d.js} +2 -2
  57. package/dist/{menuInfo-UeutJpOa.js → menuInfo-2DBTH6Vf.js} +1 -1
  58. package/dist/{menuInfo.vue_vue_type_style_index_0_lang-CWX4Mu67.js → menuInfo.vue_vue_type_style_index_0_lang-KtLS__XM.js} +37 -35
  59. package/dist/{pda-app-B6w99SJo.js → pda-app-BzmHIT9A.js} +1 -1
  60. package/dist/{resource-BybJvUv0.js → resource-D6UY8vN8.js} +1 -1
  61. package/dist/{su-welcome-C1bmxHoY.js → su-welcome-okexK2W2.js} +20 -20
  62. package/dist/{sys-config-BnmIDnCj.js → sys-config-9F_C1LzR.js} +1 -1
  63. package/dist/udp-core.css +1 -1
  64. package/package.json +1 -1
  65. package/src/App.vue +73 -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 +2 -2
  72. package/src/plugins/i18n/zh.ts +1 -0
  73. package/src/plugins/vxe-table/index.ts +116 -116
  74. package/src/plugins/vxe-table/render.tsx +968 -945
  75. package/src/style/vxetable.scss +356 -348
  76. package/src/utils/dataFormat/index.ts +17 -18
  77. package/src/views/organization/staff/StaffPanel.vue +12 -3
  78. package/src/views/system/menu/AuthorityPanel.vue +142 -140
  79. package/src/views/system/menu/SystemMenu.vue +194 -185
  80. package/src/views/system/menu/menuInfo.vue +384 -384
  81. package/src/views/udev/dict/DictView.vue +2 -2
  82. package/src/views/udev/dict/childView.vue +6 -6
  83. package/src/views/udev/lov/childView.vue +174 -174
  84. package/src/views/uhome/components/menu-favorite.vue +3 -2
  85. package/src/views/ulogin/login.vue +34 -23
  86. package/src/views/upms/user/login-log.vue +5 -5
  87. package/dist/index-C3q8HoJM.js +0 -4650
@@ -2,7 +2,7 @@
2
2
  * @Author: wei.li
3
3
  * @Date: 2021-12-23 17:33:21
4
4
  * @LastEditors: levi7754 levi7754@163.com
5
- * @LastEditTime: 2025-11-25 10:16:48
5
+ * @LastEditTime: 2025-12-05 16:58:27
6
6
  * @Description: 数据字典
7
7
  -->
8
8
  <template>
@@ -79,7 +79,7 @@ const columns = [
79
79
  slots: {
80
80
  default: ({ row }) => {
81
81
  if (!row.id) return null;
82
- return [<ut-button content="lov" onClick={() => hanldeDipose(row)} />];
82
+ return [<ut-button content="lov" icon="ri-dice-6-line" onClick={() => hanldeDipose(row)} />];
83
83
  }
84
84
  }
85
85
  }
@@ -2,18 +2,18 @@
2
2
  * @Author: wei.li
3
3
  * @Date: 2022-07-15 17:02:56
4
4
  * @LastEditors: levi7754 levi7754@163.com
5
- * @LastEditTime: 2025-11-24 13:44:45
5
+ * @LastEditTime: 2025-12-05 16:49:52
6
6
  * @Description: file contentu
7
7
  -->
8
8
  <template>
9
9
  <div class="u-dict-config_wrapper">
10
- <el-drawer
10
+ <vxe-drawer
11
11
  :model-value="show"
12
- :before-close="handleClose"
13
12
  :title="$t('message.title.dictList', { name: record.dictName })"
14
- direction="rtl"
13
+ position="right"
15
14
  destroy-on-close
16
- size="76%"
15
+ width="67%"
16
+ @close="handleClose"
17
17
  >
18
18
  <ut-grid
19
19
  ref="xgrid"
@@ -38,7 +38,7 @@
38
38
  @close="showModal = false"
39
39
  @confirm="onConfirm"
40
40
  />
41
- </el-drawer>
41
+ </vxe-drawer>
42
42
  </div>
43
43
  </template>
44
44
 
@@ -1,174 +1,174 @@
1
- <!--
2
- * @Author: wei.li
3
- * @Date: 2022-07-15 17:02:56
4
- * @LastEditors: levi7754 levi7754@163.com
5
- * @LastEditTime: 2025-04-29 11:22:03
6
- * @Description: file contentu
7
- -->
8
- <template>
9
- <div class="ut-loview-wrapper">
10
- <el-drawer :model-value="show" :with-header="false" :show-close="false" :close-on-click-modal="false" size="90%">
11
- <div v-spinning="loading">
12
- <ut-content :title="$t('message.title.lovView')" @close="handleClose">
13
- <template v-slot:header>
14
- <ut-button icon="ri-save-3-fill" content="save" @tap="handleSave()" />
15
- </template>
16
- <template v-slot:body>
17
- <ut-form ref="formRef" :record="record" :items="items" data-status="update" />
18
- <ut-divider :title="$t('message.title.lovColConfig')" />
19
- <ut-grid
20
- ref="xgrid"
21
- :columns="columns"
22
- :url="subUrl"
23
- :default-value="{ headerId: record.id }"
24
- :default-params="{ headerId: record.id }"
25
- :height="height"
26
- :events="onEvents"
27
- />
28
- </template>
29
- </ut-content>
30
- </div>
31
- </el-drawer>
32
- </div>
33
- </template>
34
-
35
- <script setup lang="ts">
36
- import { ref } from 'vue';
37
- import to from 'await-to-js';
38
- import { useRender } from '@utogether/utils';
39
- import { useSystemStoreHook } from '../../../store/modules/system';
40
- import { getServiceApi } from '../../../api';
41
-
42
- interface IProps {
43
- record: IRecord;
44
- show: boolean;
45
- }
46
-
47
- const props = withDefaults(defineProps<IProps>(), {
48
- record: (): IRecord => {
49
- return {};
50
- },
51
- show: false
52
- });
53
-
54
- const renderHook = useRender();
55
- const dictData = useSystemStoreHook().dicts;
56
- const loading = ref(false);
57
- const optionProps = { value: 'dictCode', label: 'dictName' };
58
-
59
- const formRef = ref(null);
60
-
61
- const url = '/upfm/v1/lovViewHeader';
62
- const subUrl = '/upfm/v1/lovViewLine';
63
-
64
- const items = [
65
- { field: 'lovCode', disabled: true },
66
- { field: 'lovName', required: true },
67
- { field: 'valueField', required: true },
68
- // { field: 'displayField', required: true },
69
- { field: 'lovTitle' },
70
- { field: 'lovType', code: 'SU.LOV.TYPE', required: true },
71
- { field: 'lovUrl', required: true, visible: props.record.lovType === 'url' },
72
- {
73
- field: 'sqlStatement',
74
- span: 24,
75
- visible: props.record.lovType === 'sql',
76
- itemRender: { name: '$textarea', props: { rows: 5 } },
77
- required: true
78
- }
79
- ];
80
-
81
- // 列字段
82
- const columns: ITableColProps[] = [
83
- { type: 'checkbox', width: 50, align: 'center' },
84
- { field: 'seqNo', required: true, width: 100, editRender: renderHook.renderNumber() },
85
- { field: 'colField', required: true, editRender: renderHook.renderInput() },
86
- { field: 'colTitle', required: true, editRender: renderHook.renderInput() },
87
- { field: 'colWidth', required: true, width: 120, editRender: renderHook.renderNumber() },
88
- {
89
- field: 'fieldType',
90
- width: 120,
91
- editRender: renderHook.renderDict('SU.FIELD.TYPE', onChange),
92
- formatter: ['formatDict', 'SU.FIELD.TYPE']
93
- },
94
- {
95
- field: 'dictCode',
96
- title: 'message.dictName',
97
- width: 120,
98
- editRender: renderHook.renderSelectLocal({ options: dictData, optionProps }),
99
- formatter: ['formatSelectLocal', [dictData, 'dictCode', 'dictName']]
100
- },
101
- {
102
- field: 'isSearch',
103
- width: 120,
104
- required: true,
105
- editRender: renderHook.renderDict('SU.WHETHER'),
106
- formatter: ['formatDict', 'SU.WHETHER']
107
- },
108
- {
109
- field: 'isCol',
110
- width: 120,
111
- required: true,
112
- editRender: renderHook.renderDict('SU.WHETHER'),
113
- formatter: ['formatDict', 'SU.WHETHER']
114
- }
115
- ];
116
-
117
- const xgrid = ref(null);
118
- const height = window.innerHeight - 300;
119
-
120
- //激活事件
121
- const onEvents = {
122
- editActived({ row }) {
123
- columns[6].editRender.props.disabled = row.fieldType !== 'dictCode';
124
- }
125
- };
126
-
127
- // change事件
128
- function onChange(item) {
129
- item.row.dictName = '';
130
- columns[6].editRender.props.disabled = item.row.fieldType !== 'dictCode';
131
- columns[6].required = item.row.fieldType !== 'dictCode';
132
- }
133
-
134
- /**
135
- * @description: 保存值集视图
136
- * @return {*}
137
- */
138
- const handleSave = () => {
139
- formRef.value.validateForm(async valid => {
140
- if (!valid) {
141
- loading.value = true;
142
- const [err] = await to(getServiceApi().put(url, [props.record]));
143
- if (!err) {
144
- const data = xgrid.value.getInstance().getRecordset();
145
- data.insertRecords.length && (await to(getServiceApi().post(subUrl, data.insertRecords)));
146
- data.updateRecords.length && (await to(getServiceApi().put(subUrl, data.updateRecords)));
147
- }
148
- loading.value = false;
149
- }
150
- });
151
- };
152
-
153
- const emit = defineEmits<{ (e: 'onClose'): void }>();
154
- // 抽屉关闭
155
- function handleClose() {
156
- emit('onClose');
157
- }
158
- </script>
159
-
160
- <style lang="scss">
161
- .ut-loview-wrapper {
162
- .el-drawer__header {
163
- margin-bottom: 0;
164
- }
165
-
166
- .el-drawer__body {
167
- padding: 5px 0;
168
- }
169
-
170
- .ut-content-body {
171
- height: 90%;
172
- }
173
- }
174
- </style>
1
+ <!--
2
+ * @Author: wei.li
3
+ * @Date: 2022-07-15 17:02:56
4
+ * @LastEditors: levi7754 levi7754@163.com
5
+ * @LastEditTime: 2025-12-05 17:00:29
6
+ * @Description: file contentu
7
+ -->
8
+ <template>
9
+ <div class="ut-loview-wrapper">
10
+ <vxe-drawer :model-value="show" position="right" :show-header="false" width="90%">
11
+ <div v-spinning="loading">
12
+ <ut-content :title="$t('message.title.lovView')" @close="handleClose">
13
+ <template v-slot:header>
14
+ <ut-button icon="ri-save-3-fill" content="save" @tap="handleSave()" />
15
+ </template>
16
+ <template v-slot:body>
17
+ <ut-form ref="formRef" :record="record" :items="items" data-status="update" />
18
+ <ut-divider :title="$t('message.title.lovColConfig')" />
19
+ <ut-grid
20
+ ref="xgrid"
21
+ :columns="columns"
22
+ :url="subUrl"
23
+ :default-value="{ headerId: record.id }"
24
+ :default-params="{ headerId: record.id }"
25
+ :height="height"
26
+ :events="onEvents"
27
+ />
28
+ </template>
29
+ </ut-content>
30
+ </div>
31
+ </vxe-drawer>
32
+ </div>
33
+ </template>
34
+
35
+ <script setup lang="ts">
36
+ import { ref } from 'vue';
37
+ import to from 'await-to-js';
38
+ import { useRender } from '@utogether/utils';
39
+ import { useSystemStoreHook } from '../../../store/modules/system';
40
+ import { getServiceApi } from '../../../api';
41
+
42
+ interface IProps {
43
+ record: IRecord;
44
+ show: boolean;
45
+ }
46
+
47
+ const props = withDefaults(defineProps<IProps>(), {
48
+ record: (): IRecord => {
49
+ return {};
50
+ },
51
+ show: false
52
+ });
53
+
54
+ const renderHook = useRender();
55
+ const dictData = useSystemStoreHook().dicts;
56
+ const loading = ref(false);
57
+ const optionProps = { value: 'dictCode', label: 'dictName' };
58
+
59
+ const formRef = ref(null);
60
+
61
+ const url = '/upfm/v1/lovViewHeader';
62
+ const subUrl = '/upfm/v1/lovViewLine';
63
+
64
+ const items = [
65
+ { field: 'lovCode', disabled: true },
66
+ { field: 'lovName', required: true },
67
+ { field: 'valueField', required: true },
68
+ // { field: 'displayField', required: true },
69
+ { field: 'lovTitle' },
70
+ { field: 'lovType', code: 'SU.LOV.TYPE', required: true },
71
+ { field: 'lovUrl', required: true, visible: props.record.lovType === 'url' },
72
+ {
73
+ field: 'sqlStatement',
74
+ span: 24,
75
+ visible: props.record.lovType === 'sql',
76
+ itemRender: { name: '$textarea', props: { rows: 5 } },
77
+ required: true
78
+ }
79
+ ];
80
+
81
+ // 列字段
82
+ const columns: ITableColProps[] = [
83
+ { type: 'checkbox', width: 50, align: 'center' },
84
+ { field: 'seqNo', required: true, width: 100, editRender: renderHook.renderNumber() },
85
+ { field: 'colField', required: true, editRender: renderHook.renderInput() },
86
+ { field: 'colTitle', required: true, editRender: renderHook.renderInput() },
87
+ { field: 'colWidth', required: true, width: 120, editRender: renderHook.renderNumber() },
88
+ {
89
+ field: 'fieldType',
90
+ width: 120,
91
+ editRender: renderHook.renderDict('SU.FIELD.TYPE', onChange),
92
+ formatter: ['formatDict', 'SU.FIELD.TYPE']
93
+ },
94
+ {
95
+ field: 'dictCode',
96
+ title: 'message.dictName',
97
+ width: 120,
98
+ editRender: renderHook.renderSelectLocal({ options: dictData, optionProps }),
99
+ formatter: ['formatSelectLocal', [dictData, 'dictCode', 'dictName']]
100
+ },
101
+ {
102
+ field: 'isSearch',
103
+ width: 120,
104
+ required: true,
105
+ editRender: renderHook.renderDict('SU.WHETHER'),
106
+ formatter: ['formatDict', 'SU.WHETHER']
107
+ },
108
+ {
109
+ field: 'isCol',
110
+ width: 120,
111
+ required: true,
112
+ editRender: renderHook.renderDict('SU.WHETHER'),
113
+ formatter: ['formatDict', 'SU.WHETHER']
114
+ }
115
+ ];
116
+
117
+ const xgrid = ref(null);
118
+ const height = window.innerHeight - 195;
119
+
120
+ //激活事件
121
+ const onEvents = {
122
+ editActived({ row }) {
123
+ columns[6].editRender.props.disabled = row.fieldType !== 'dictCode';
124
+ }
125
+ };
126
+
127
+ // change事件
128
+ function onChange(item) {
129
+ item.row.dictName = '';
130
+ columns[6].editRender.props.disabled = item.row.fieldType !== 'dictCode';
131
+ columns[6].required = item.row.fieldType !== 'dictCode';
132
+ }
133
+
134
+ /**
135
+ * @description: 保存值集视图
136
+ * @return {*}
137
+ */
138
+ const handleSave = () => {
139
+ formRef.value.validateForm(async valid => {
140
+ if (!valid) {
141
+ loading.value = true;
142
+ const [err] = await to(getServiceApi().put(url, [props.record]));
143
+ if (!err) {
144
+ const data = xgrid.value.getInstance().getRecordset();
145
+ data.insertRecords.length && (await to(getServiceApi().post(subUrl, data.insertRecords)));
146
+ data.updateRecords.length && (await to(getServiceApi().put(subUrl, data.updateRecords)));
147
+ }
148
+ loading.value = false;
149
+ }
150
+ });
151
+ };
152
+
153
+ const emit = defineEmits<{ (e: 'onClose'): void }>();
154
+ // 抽屉关闭
155
+ function handleClose() {
156
+ emit('onClose');
157
+ }
158
+ </script>
159
+
160
+ <style lang="scss">
161
+ .ut-loview-wrapper {
162
+ .el-drawer__header {
163
+ margin-bottom: 0;
164
+ }
165
+
166
+ .el-drawer__body {
167
+ padding: 5px 0;
168
+ }
169
+
170
+ .ut-content-body {
171
+ height: 90%;
172
+ }
173
+ }
174
+ </style>
@@ -226,6 +226,7 @@ const onChange = (menu, event) => {
226
226
  const onMoveEnd = () => {
227
227
  favoriteMenus.value.forEach((item, idx) => {
228
228
  item.seqNo = (idx + 1) * 10;
229
+ console.log('seqNo=', item.seqNo);
229
230
  });
230
231
  };
231
232
  /** 获取排序最大值 */
@@ -234,11 +235,11 @@ const getMax = () => {
234
235
  };
235
236
  const onConfirm = () => {
236
237
  console.log(favoriteMenus);
237
- const body = favoriteMenus.value.map(m => {
238
+ const body = favoriteMenus.value.map((m, idx) => {
238
239
  return {
239
240
  userName: props.userName,
240
241
  menuId: m.menuId,
241
- seqNo: m.seqNo
242
+ seqNo: 10 * (idx + 1)
242
243
  };
243
244
  });
244
245
  console.log(body);
@@ -287,29 +287,40 @@ const insertLoginInfo = username => {
287
287
  };
288
288
 
289
289
  const getSysConfig = async () => {
290
- const [err, data]: [Error, any] = await to(serviceApi.get('/upfm/v1/sysConfig', {}));
291
- if (!err) {
292
- const config: any = {};
293
- data.list?.forEach(item => {
294
- config[item.configCode] = item.configValue;
295
- if (item.fileName) {
296
- config[item.configCode] = getBaseURL() + '/ufil' + item.configValue;
297
- }
298
- });
299
- const title = data.list?.find(f => f.configCode === 'title')?.configValue;
300
- config['title'] = title || 'U-DP';
301
- sysConfig.value = config;
302
- bgStyle.value = {
303
- backgroundImage: config['backgroundImg'] ? `url(${config['backgroundImg']})` : ``,
304
- // backgroundImage: config['backgroundImg'] ? `url(${config['backgroundImg']})` : `url1(${welcome})`,
305
- backgroundRepeat: 'no-repeat',
306
- backgroundPosition: 'center'
307
- };
308
- console.log('bgStyle=', bgStyle);
309
- const favicon = useFavicon();
310
- favicon.value = config.favicon || utogether;
311
- storageLocal.setItem(kSYSCONFIG, config);
312
- }
290
+ // const [err, data]: [Error, any] = await to(serviceApi.get('/upfm/v1/sysConfig', {}));
291
+ // if (!err) {
292
+ // const config: any = {};
293
+ // data.list?.forEach(item => {
294
+ // config[item.configCode] = item.configValue;
295
+ // if (item.fileName) {
296
+ // config[item.configCode] = getBaseURL() + '/ufil' + item.configValue;
297
+ // }
298
+ // });
299
+ // const title = data.list?.find(f => f.configCode === 'title')?.configValue;
300
+ // config['title'] = title || 'U-DP';
301
+ // sysConfig.value = config;
302
+ // bgStyle.value = {
303
+ // backgroundImage: config['backgroundImg'] ? `url(${config['backgroundImg']})` : ``,
304
+ // // backgroundImage: config['backgroundImg'] ? `url(${config['backgroundImg']})` : `url1(${welcome})`,
305
+ // backgroundRepeat: 'no-repeat',
306
+ // backgroundPosition: 'center'
307
+ // };
308
+ // console.log('bgStyle=', bgStyle);
309
+ // const favicon = useFavicon();
310
+ // favicon.value = config.favicon || utogether;
311
+ // storageLocal.setItem(kSYSCONFIG, config);
312
+ // }
313
+
314
+ sysConfig.value = storageLocal.getItem(kSYSCONFIG);
315
+
316
+ bgStyle.value = {
317
+ backgroundImage: sysConfig.value['backgroundImg'] ? `url(${sysConfig.value['backgroundImg']})` : ``,
318
+ backgroundRepeat: 'no-repeat',
319
+ backgroundPosition: 'center'
320
+ };
321
+
322
+ const favicon = useFavicon();
323
+ favicon.value = sysConfig.value.favicon || utogether;
313
324
  };
314
325
 
315
326
  dataThemeChange(overallStyle.value);
@@ -2,7 +2,7 @@
2
2
  * @Author: wei.li
3
3
  * @Date: 2021-12-23 11:22:51
4
4
  * @LastEditors: levi7754 levi7754@163.com
5
- * @LastEditTime: 2025-11-21 18:35:50
5
+ * @LastEditTime: 2025-12-08 08:22:23
6
6
  * @Description: 用户登录日志
7
7
  -->
8
8
 
@@ -44,11 +44,11 @@ const formItems = [
44
44
  const xgrid = ref(null);
45
45
  const columns = [
46
46
  { field: 'employeeName', minWidth: 120 },
47
- { field: 'userName', title: 'message.udp.userName', width: 150 },
47
+ { field: 'userName', title: 'message.udp.userName', width: 220 },
48
48
  { field: 'loginTime', title: 'message.udp.loginTime', width: 160 },
49
49
  { field: 'operatingSystem', title: 'message.udp.operatingSystem', width: 120 },
50
- { field: 'browser', title: 'message.udp.browser', width: 110 },
51
- { field: 'browserVersion', title: 'message.udp.browserVersion', width: 110 },
52
- { field: 'ip', title: 'message.udp.ip', width: 150 }
50
+ { field: 'browser', title: 'message.udp.browser', width: 130 },
51
+ { field: 'browserVersion', title: 'message.udp.browserVersion', width: 150 },
52
+ { field: 'ip', title: 'message.udp.ip', width: 200 }
53
53
  ];
54
54
  </script>