@utogether/udp-core 2.0.0-beta.6 → 2.0.0-beta.7

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 (70) hide show
  1. package/dist/{403-FwkedC35.js → 403-CNiAnTla.js} +1 -1
  2. package/dist/{404-fBOEoTA_.js → 404-BHi3Ej7Z.js} +1 -1
  3. package/dist/{500-iyNwORJV.js → 500-CTYskumb.js} +1 -1
  4. package/dist/{AuthorityInfo-BTGUSDZ4.js → AuthorityInfo-BjKduzRg.js} +1 -1
  5. package/dist/{AuthorityInfo.vue_vue_type_style_index_0_lang-DSxmqRu8.js → AuthorityInfo.vue_vue_type_style_index_0_lang-CEekMsFF.js} +1 -1
  6. package/dist/{Company-ueSjOTse.js → Company-B1xm0v-1.js} +3 -3
  7. package/dist/{CompanyPanel-CAhzxgMa.js → CompanyPanel-Bk3gucNe.js} +1 -1
  8. package/dist/{Department-fGiF2ia2.js → Department-Cd8zo-JT.js} +3 -3
  9. package/dist/{DepartmentPanel-DW7RJCcR.js → DepartmentPanel-ePvnyT6M.js} +1 -1
  10. package/dist/{DesignPanel-CAQBm4D4.js → DesignPanel--qm9mgjH.js} +1 -1
  11. package/dist/{DesignPanel.vue_vue_type_style_index_0_lang-5LGPeXPl.js → DesignPanel.vue_vue_type_style_index_0_lang-pZYzFbq4.js} +2 -2
  12. package/dist/{DictView-CvJgPLm3.js → DictView-B0NgfU0j.js} +1 -1
  13. package/dist/{InvOrganization-qlTFGd3Z.js → InvOrganization-BE1g-iwW.js} +1 -1
  14. package/dist/{Org-XLreDKod.js → Org-B3VzhliT.js} +1 -1
  15. package/dist/{Preview-CPbzW7CO.js → Preview-Ch-MYGp4.js} +1 -1
  16. package/dist/{ReportDefine-Cb8Kr-eh.js → ReportDefine-CUuKlZ3p.js} +1 -1
  17. package/dist/{ReportDesign-C7NEHxsF.js → ReportDesign-Bq_rcYCK.js} +2 -2
  18. package/dist/{ReportQuery-DRHAlGXP.js → ReportQuery-BRSA-lSg.js} +1 -1
  19. package/dist/{ReportQueryFrom-BVzD7HiO.js → ReportQueryFrom-b0Lxvnhp.js} +1 -1
  20. package/dist/{ReportQueryFrom.vue_vue_type_style_index_0_lang-B_lbUpW7.js → ReportQueryFrom.vue_vue_type_style_index_0_lang-R_mfmI7C.js} +1 -1
  21. package/dist/{ReportTemplate-jvKZTiwg.js → ReportTemplate-CZ8LChJM.js} +1 -1
  22. package/dist/{Role-BHHb-iLB.js → Role-mezU2yUG.js} +3 -3
  23. package/dist/{RoleAssign-BTBTh4BY.js → RoleAssign-C23uEQ_b.js} +3 -3
  24. package/dist/{RolePanel-aV6bg80k.js → RolePanel-7iBT-us-.js} +1 -1
  25. package/dist/{RolePanel-BCi1rex2.js → RolePanel-BLML9HOE.js} +1 -1
  26. package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-C2b-FgFi.js → RolePanel.vue_vue_type_script_setup_true_lang-C5T9Unjq.js} +1 -1
  27. package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-BhFR-z17.js → RolePanel.vue_vue_type_script_setup_true_lang-Dxc4V1V8.js} +3 -3
  28. package/dist/{ScrollPanel.vue_vue_type_style_index_0_lang-BvNAonbh.js → ScrollPanel.vue_vue_type_style_index_0_lang-DF9mIgWs.js} +32 -31
  29. package/dist/Staff-B2bI3_H2.js +26 -0
  30. package/dist/{StaffInfo-DBgWZZxQ.js → StaffInfo-CIAehJfI.js} +1 -1
  31. package/dist/{StaffInfo.vue_vue_type_script_setup_true_lang-DZSUQTor.js → StaffInfo.vue_vue_type_script_setup_true_lang-D9VkkiTZ.js} +1 -1
  32. package/dist/{StaffPanel-qhtv83q9.js → StaffPanel-dXSv0PI3.js} +1 -1
  33. package/dist/{StaffPanel.vue_vue_type_script_setup_true_lang-B3j8x4MN.js → StaffPanel.vue_vue_type_script_setup_true_lang-DoU9krA4.js} +61 -49
  34. package/dist/{SysUser-D-7c33EB.js → SysUser-DxKpVGLT.js} +2 -2
  35. package/dist/{SysUserPanel-t1ZR91oy.js → SysUserPanel-Ci_Ep8mq.js} +1 -1
  36. package/dist/{SysUserPanel.vue_vue_type_script_setup_true_lang-Bz2s1QPZ.js → SysUserPanel.vue_vue_type_script_setup_true_lang-gzipEh3A.js} +1 -1
  37. package/dist/{SystemMenu-DNffJRQo.js → SystemMenu-B_VBlI1Z.js} +2 -2
  38. package/dist/{UserInfo-niYGSHmG.js → UserInfo-DF0fggCn.js} +1 -1
  39. package/dist/{UserInfo.vue_vue_type_style_index_0_lang-B8CRjdQG.js → UserInfo.vue_vue_type_style_index_0_lang-b-DOPLHD.js} +1 -1
  40. package/dist/{childView-Dn28g10M.js → childView-62rEczLw.js} +1 -1
  41. package/dist/{childView-E2EnbUz2.js → childView-DhDitM7p.js} +1 -1
  42. package/dist/{childView.vue_vue_type_style_index_0_lang-UzBSJ6wt.js → childView.vue_vue_type_style_index_0_lang-DwtD74xk.js} +1 -1
  43. package/dist/{childView.vue_vue_type_style_index_0_lang-DFs-YATK.js → childView.vue_vue_type_style_index_0_lang-b5hnKDbO.js} +1 -1
  44. package/dist/{code-rule-D-RJozWD.js → code-rule-CabvTCWH.js} +1 -1
  45. package/dist/core.es.js +1 -1
  46. package/dist/{cron-task-CPuU0Rc2.js → cron-task-DXfxcgr-.js} +1 -1
  47. package/dist/{frameView-c4xFtvR6.js → frameView-DkFBCQIT.js} +1 -1
  48. package/dist/{index-CPKIQXdI.js → index-D7hSr6Dw.js} +49 -48
  49. package/dist/{layout-home-DrimiAWf.js → layout-home-B7Ex_WUd.js} +11 -11
  50. package/dist/{layoutView-DPaKZNx5.js → layoutView-DB70tHmm.js} +1 -1
  51. package/dist/{log-in-BQiOfnXg.js → log-in-D28_avjb.js} +1 -1
  52. package/dist/{log-out-BvlexfR3.js → log-out-CnWdyT-h.js} +1 -1
  53. package/dist/{login-0R1puBOn.js → login-BDFcVdJO.js} +1 -1
  54. package/dist/{lov-view-DieM-cvR.js → lov-view-DBxWS8bR.js} +2 -2
  55. package/dist/{menuInfo-Db7s_jX8.js → menuInfo-CznLhoJE.js} +1 -1
  56. package/dist/{menuInfo.vue_vue_type_style_index_0_lang-QbKkjhUR.js → menuInfo.vue_vue_type_style_index_0_lang-Dxu9tvz9.js} +1 -1
  57. package/dist/{pda-app-CCtwSfLe.js → pda-app-BWJOH5h6.js} +1 -1
  58. package/dist/{resource-rliX23RM.js → resource-_ZAigzWr.js} +1 -1
  59. package/dist/{su-welcome-MLhkyOoQ.js → su-welcome-B4Y3rNQi.js} +4 -4
  60. package/dist/{sys-config-Ci6UV7lE.js → sys-config-Bm0r674r.js} +1 -1
  61. package/dist/udp-core.css +1 -1
  62. package/package.json +1 -1
  63. package/src/components/SuScrollTree/ScrollPanel.vue +176 -170
  64. package/src/plugins/i18n/zh.ts +1 -0
  65. package/src/views/organization/staff/Staff.vue +59 -58
  66. package/src/views/organization/staff/StaffPanel.vue +17 -3
  67. package/src/views/system/layout/layout-home.vue +3 -3
  68. package/src/views/ufile/aggregation/File.vue +1 -3
  69. package/src/views/uhome/su-welcome.vue +2 -2
  70. package/dist/Staff-CQqKHfmG.js +0 -25
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.6",
4
+ "version": "2.0.0-beta.7",
5
5
  "description": "",
6
6
  "type": "module",
7
7
  "main1": "index.ts",
@@ -1,170 +1,176 @@
1
- <template>
2
- <div class="u-scroll-panel" @click.prevent="handleClickPanel">
3
- <div class="u-panel-header">
4
- <h2>{{ title }}</h2>
5
- <ut-button v-if="showAllButton" content="BtnExpand" @click="handleExpand(data, true)" />
6
- <ut-button v-if="showAllButton" status="warning" content="BtnCollapse" @click="handleExpand(data, false)" />
7
- <vxe-button icon="vxe-icon-refresh" @click="onRefresh" />
8
- </div>
9
- <div class="u-panel-content system-scrollbar">
10
- <el-tree
11
- ref="tree"
12
- :data="data"
13
- :props="treeOtions"
14
- :expand-on-click-node="false"
15
- style="background-color: #fff"
16
- class="u-tree-panel"
17
- node-key="id"
18
- highlight-current
19
- @node-click="handleNodeClick"
20
- >
21
- <template #default="{ node }">
22
- <span class="prefix" :class="{ 'is-leaf': node.isLeaf }">
23
- <i class="ri-folder-2-fill ri-lg mr-1" style="color: #fadb14" />
24
- </span>
25
- <span>{{ node.label }}</span>
26
- </template>
27
- </el-tree>
28
- </div>
29
- </div>
30
- </template>
31
-
32
- <script lang="ts" setup>
33
- import { getServiceApi } from '../../api';
34
- import type { Ref } from 'vue';
35
- import { ref, inject, watch, nextTick } from 'vue';
36
-
37
- interface IProps {
38
- title: string;
39
- url: string;
40
- showAllButton?: boolean;
41
- treeOtions: Object;
42
- defaultParams?: Object;
43
- }
44
- const props = withDefaults(defineProps<IProps>(), {
45
- treeOtions: () => {
46
- return {
47
- children: 'children',
48
- label: 'label'
49
- };
50
- },
51
- defaultParams: () => {
52
- return {};
53
- },
54
- showAllButton: false
55
- });
56
-
57
- const data = ref<any>([]);
58
- const tree: Ref<any | null> = ref(null);
59
- // 当前激活item
60
- const active: IRecord = inject('active');
61
- // tree面板变更
62
- const scrollPanelChange: IRecord = inject('scrollPanelChange');
63
- // tree 列表
64
- const treeList: IRecord = inject('treeList');
65
-
66
- watch(
67
- () => scrollPanelChange.value,
68
- () => {
69
- scrollPanelChange.value && getDataList();
70
- }
71
- );
72
-
73
- const getDataList = async (params = {}) => {
74
- const query = Object.assign(params, props.defaultParams);
75
- const serverData = (await getServiceApi().get(props.url, query)) as IResponseData;
76
- data.value = serverData.list || serverData;
77
- treeList.value = serverData.list || serverData;
78
- active.value = serverData.list ? serverData.list[0] : serverData[0];
79
- nextTick(() => {
80
- tree.value && tree?.value.setCurrentKey(active.value?.id || '');
81
- });
82
- scrollPanelChange.value = false;
83
- };
84
- const handleNodeClick = (row: any) => {
85
- active.value = row;
86
- };
87
-
88
- const handleClickPanel = () => {
89
- active.value = {};
90
- };
91
-
92
- const handleExpand = (array, expanded) => {
93
- array.forEach(el => {
94
- tree.value.store.nodesMap[el.id].expanded = expanded;
95
- if (el.children?.length) {
96
- handleExpand(el.children, expanded);
97
- }
98
- });
99
- console.log('[ tree.value ] >', tree.value);
100
- };
101
-
102
- const onRefresh = () => {
103
- getDataList();
104
- };
105
- defineExpose({
106
- onRefresh
107
- });
108
- getDataList();
109
- </script>
110
-
111
- <style lang="scss">
112
- .u-scroll-panel {
113
- display: flex;
114
- flex-direction: column;
115
- width: 100%;
116
- height: 100%;
117
- background: #fff;
118
-
119
- .u-panel-header {
120
- display: flex;
121
- align-items: center;
122
- padding: 10px;
123
- border-bottom: 1px solid #eee;
124
-
125
- h2 {
126
- // display: box;
127
- height: 30px;
128
- padding: 0;
129
- margin: 0;
130
- margin-right: 20px;
131
- overflow: hidden;
132
- -webkit-line-clamp: 1;
133
- font-size: 14px;
134
- line-height: 30px;
135
- -webkit-box-orient: vertical;
136
- }
137
-
138
- .el-input {
139
- flex: 1;
140
- }
141
- }
142
-
143
- .u-panel-content {
144
- flex: 1;
145
- overflow: auto;
146
- }
147
-
148
- .u-tree-panel {
149
- height: 100%; // 0630
150
- :deep(.el-tree-node__content) {
151
- height: 36px;
152
- }
153
-
154
- :deep(.el-tree-node.is-current > .el-tree-node__content) {
155
- background-color: rgb(64 158 255 / 40%);
156
- }
157
-
158
- :deep(.el-tree-node > .el-tree-node__content) {
159
- transition: 0.2s;
160
- }
161
- }
162
-
163
- .el-vl__window {
164
- height: 360px !important;
165
- // &:first-child {
166
- // height: 100% !important;
167
- // }
168
- }
169
- }
170
- </style>
1
+ <template>
2
+ <div class="u-scroll-panel" @click.prevent="handleClickPanel">
3
+ <div class="u-panel-header">
4
+ <h2>{{ title }}</h2>
5
+ <ut-button v-if="showAllButton" content="BtnExpand" @click="handleExpand(data, true)" />
6
+ <ut-button v-if="showAllButton" status="warning" content="BtnCollapse" @click="handleExpand(data, false)" />
7
+ <vxe-button icon="vxe-icon-refresh" @click="onRefresh" />
8
+ </div>
9
+ <div class="u-panel-content system-scrollbar">
10
+ <el-tree
11
+ ref="tree"
12
+ :data="data"
13
+ :props="treeOtions"
14
+ :expand-on-click-node="false"
15
+ style="background-color: #fff"
16
+ class="u-tree-panel"
17
+ node-key="id"
18
+ highlight-current
19
+ @node-click="handleNodeClick"
20
+ >
21
+ <template #default="{ node }">
22
+ <span class="prefix" :class="{ 'is-leaf': node.isLeaf }">
23
+ <i class="ri-folder-2-fill ri-lg mr-1" style="color: #fadb14" />
24
+ </span>
25
+ <span>{{ node.label }}</span>
26
+ </template>
27
+ </el-tree>
28
+ </div>
29
+ </div>
30
+ </template>
31
+
32
+ <script lang="ts" setup>
33
+ import { getServiceApi } from '../../api';
34
+ import type { Ref } from 'vue';
35
+ import { ref, inject, watch, nextTick } from 'vue';
36
+
37
+ interface IProps {
38
+ title: string;
39
+ url: string;
40
+ showAllButton?: boolean;
41
+ initLoadAll?: boolean;
42
+ treeOtions: Object;
43
+ defaultParams?: Object;
44
+ }
45
+ const props = withDefaults(defineProps<IProps>(), {
46
+ treeOtions: () => {
47
+ return {
48
+ children: 'children',
49
+ label: 'label'
50
+ };
51
+ },
52
+ defaultParams: () => {
53
+ return {};
54
+ },
55
+ showAllButton: false,
56
+ initLoadAll: false
57
+ });
58
+
59
+ const data = ref<any>([]);
60
+ const tree: Ref<any | null> = ref(null);
61
+ // 当前激活item
62
+ const active: IRecord = inject('active');
63
+ // tree面板变更
64
+ const scrollPanelChange: IRecord = inject('scrollPanelChange');
65
+ // tree 列表
66
+ const treeList: IRecord = inject('treeList');
67
+
68
+ watch(
69
+ () => scrollPanelChange.value,
70
+ () => {
71
+ scrollPanelChange.value && getDataList();
72
+ }
73
+ );
74
+
75
+ const getDataList = async (params = {}) => {
76
+ const query = Object.assign(params, props.defaultParams);
77
+ const serverData = (await getServiceApi().get(props.url, query)) as IResponseData;
78
+ data.value = serverData.list || serverData;
79
+ treeList.value = serverData.list || serverData;
80
+ if (props.initLoadAll) {
81
+ active.value = {};
82
+ } else {
83
+ active.value = serverData.list ? serverData.list[0] : serverData[0];
84
+ }
85
+ nextTick(() => {
86
+ tree.value && tree?.value.setCurrentKey(active.value?.id || '');
87
+ });
88
+ scrollPanelChange.value = false;
89
+ };
90
+ const handleNodeClick = (row: any) => {
91
+ active.value = row;
92
+ };
93
+
94
+ const handleClickPanel = () => {
95
+ active.value = {};
96
+ };
97
+
98
+ const handleExpand = (array, expanded) => {
99
+ array.forEach(el => {
100
+ tree.value.store.nodesMap[el.id].expanded = expanded;
101
+ if (el.children?.length) {
102
+ handleExpand(el.children, expanded);
103
+ }
104
+ });
105
+ console.log('[ tree.value ] >', tree.value);
106
+ };
107
+
108
+ const onRefresh = () => {
109
+ getDataList();
110
+ };
111
+ defineExpose({
112
+ onRefresh
113
+ });
114
+ getDataList();
115
+ </script>
116
+
117
+ <style lang="scss">
118
+ .u-scroll-panel {
119
+ display: flex;
120
+ flex-direction: column;
121
+ width: 100%;
122
+ height: 100%;
123
+ background: #fff;
124
+
125
+ .u-panel-header {
126
+ display: flex;
127
+ align-items: center;
128
+ padding: 10px;
129
+ border-bottom: 1px solid #eee;
130
+
131
+ h2 {
132
+ // display: box;
133
+ height: 30px;
134
+ padding: 0;
135
+ margin: 0;
136
+ margin-right: 20px;
137
+ overflow: hidden;
138
+ -webkit-line-clamp: 1;
139
+ font-size: 14px;
140
+ line-height: 30px;
141
+ -webkit-box-orient: vertical;
142
+ }
143
+
144
+ .el-input {
145
+ flex: 1;
146
+ }
147
+ }
148
+
149
+ .u-panel-content {
150
+ flex: 1;
151
+ overflow: auto;
152
+ }
153
+
154
+ .u-tree-panel {
155
+ height: 100%; // 0630
156
+ :deep(.el-tree-node__content) {
157
+ height: 36px;
158
+ }
159
+
160
+ :deep(.el-tree-node.is-current > .el-tree-node__content) {
161
+ background-color: rgb(64 158 255 / 40%);
162
+ }
163
+
164
+ :deep(.el-tree-node > .el-tree-node__content) {
165
+ transition: 0.2s;
166
+ }
167
+ }
168
+
169
+ .el-vl__window {
170
+ height: 360px !important;
171
+ // &:first-child {
172
+ // height: 100% !important;
173
+ // }
174
+ }
175
+ }
176
+ </style>
@@ -188,6 +188,7 @@ export default {
188
188
  enable: '启用',
189
189
  flowDesign: '流程设计',
190
190
  resetPassword: '重置密码',
191
+ bindUser: '关联用户',
191
192
 
192
193
  bankinfo: '银行账号'
193
194
  },
@@ -1,58 +1,59 @@
1
- <!--
2
- * @Author: wei.li
3
- * @Date: 2021-11-17 16:42:14
4
- * @LastEditors: wei.li
5
- * @LastEditTime: 2021-12-09 13:38:41
6
- * @Description: file content
7
- -->
8
- <template>
9
- <div class="u-content-panel">
10
- <div class="u-left-panel">
11
- <ScrollPane
12
- :title="$t('department')"
13
- url="/uums/department/treeDepartment"
14
- :tree-otions="{ children: 'children', label: 'deptName' }"
15
- />
16
- </div>
17
- <div class="content">
18
- <StaffPanel />
19
- </div>
20
- </div>
21
- </template>
22
- <script lang="ts">
23
- export default { name: 'StaffPanel' };
24
- </script>
25
- <script lang="ts" setup>
26
- import { ref, provide } from 'vue';
27
- import ScrollPane from '../../../components/SuScrollTree/ScrollPanel.vue';
28
- import StaffPanel from './StaffPanel.vue';
29
-
30
- const scrollPanelChange: any = ref(false);
31
- const treeList: any = ref([]);
32
- const active: any = ref({});
33
-
34
- provide('scrollPanelChange', scrollPanelChange);
35
- provide('active', active);
36
- provide('treeList', treeList);
37
- </script>
38
-
39
- <style lang="scss" scoped>
40
- .u-content-panel {
41
- box-sizing: border-box;
42
- display: flex;
43
- width: 100%;
44
- height: 84vh;
45
- padding: 2px;
46
-
47
- .u-left-panel {
48
- width: 250px;
49
- }
50
-
51
- .content {
52
- flex: 1;
53
- width: calc(100% - 250px);
54
- height: 82vh;
55
- margin-left: 10px;
56
- }
57
- }
58
- </style>
1
+ <!--
2
+ * @Author: wei.li
3
+ * @Date: 2021-11-17 16:42:14
4
+ * @LastEditors: wei.li
5
+ * @LastEditTime: 2021-12-09 13:38:41
6
+ * @Description: file content
7
+ -->
8
+ <template>
9
+ <div class="u-content-panel">
10
+ <div class="u-left-panel">
11
+ <ScrollPane
12
+ :title="$t('department')"
13
+ :init-load-all="true"
14
+ :tree-otions="{ children: 'children', label: 'deptName' }"
15
+ url="/uums/department/treeDepartment"
16
+ />
17
+ </div>
18
+ <div class="content">
19
+ <StaffPanel />
20
+ </div>
21
+ </div>
22
+ </template>
23
+ <script lang="ts">
24
+ export default { name: 'StaffPanel' };
25
+ </script>
26
+ <script lang="ts" setup>
27
+ import { ref, provide } from 'vue';
28
+ import ScrollPane from '../../../components/SuScrollTree/ScrollPanel.vue';
29
+ import StaffPanel from './StaffPanel.vue';
30
+
31
+ const scrollPanelChange: any = ref(false);
32
+ const treeList: any = ref([]);
33
+ const active: any = ref({});
34
+
35
+ provide('scrollPanelChange', scrollPanelChange);
36
+ provide('active', active);
37
+ provide('treeList', treeList);
38
+ </script>
39
+
40
+ <style lang="scss" scoped>
41
+ .u-content-panel {
42
+ box-sizing: border-box;
43
+ display: flex;
44
+ width: 100%;
45
+ height: 84vh;
46
+ padding: 2px;
47
+
48
+ .u-left-panel {
49
+ width: 250px;
50
+ }
51
+
52
+ .content {
53
+ flex: 1;
54
+ width: calc(100% - 250px);
55
+ height: 82vh;
56
+ margin-left: 10px;
57
+ }
58
+ }
59
+ </style>
@@ -2,7 +2,7 @@
2
2
  * @Author: wei.li
3
3
  * @Date: 2021-11-17 16:42:14
4
4
  * @LastEditors: levi7754 levi7754@163.com
5
- * @LastEditTime: 2026-01-06 11:06:49
5
+ * @LastEditTime: 2026-01-16 15:37:47
6
6
  * @Description: 员工管理
7
7
  -->
8
8
 
@@ -48,8 +48,8 @@ const url = '/uums/employee';
48
48
 
49
49
  watch(
50
50
  () => active.value,
51
- () => {
52
- data.fetchExtParam = { departmentId: null };
51
+ newVal => {
52
+ data.fetchExtParam = { departmentId: newVal?.id };
53
53
  nextTick(() => {
54
54
  xgrid.value.refreshData();
55
55
  });
@@ -60,6 +60,7 @@ const buttons = [
60
60
  { code: 'sync', auth: 'wechat', status: 'success', icon: 'ri-refresh-line' },
61
61
  { code: 'sync', auth: 'dingding', status: 'success', icon: 'ri-refresh-line' },
62
62
  { code: 'sync', auth: 'OA', status: 'success', icon: 'ri-refresh-line' },
63
+ { code: 'bindUser', auth: 'bind', status: 'warning', icon: 'ri-bring-to-front' },
63
64
  { code: 'del', auth: '/' }
64
65
  ];
65
66
 
@@ -139,8 +140,21 @@ const handleSync = async () => {
139
140
  xgrid.value.refreshData();
140
141
  };
141
142
 
143
+ const handleBind = async () => {
144
+ const selectRecords = xgrid.value.getInstance().getCheckboxRecords();
145
+ if (!selectRecords.length) {
146
+ return;
147
+ }
148
+ xgrid.value.showLoading();
149
+ const [err] = await to(getServiceApi().post('/uums/employee/bindUser', selectRecords));
150
+ xgrid.value.hiddenLoading();
151
+ if (err) return;
152
+ xgrid.value.refreshData();
153
+ };
154
+
142
155
  const onButtonClick = code => {
143
156
  code === 'sync' && handleSync();
157
+ code === 'bindUser' && handleBind();
144
158
  };
145
159
 
146
160
  const callback = {
@@ -23,7 +23,7 @@
23
23
  ref="ygrid"
24
24
  :columns="subColumns"
25
25
  mode="form"
26
- url="/ucrm/sysHomeRole"
26
+ url="/upfm/sysHomeRole"
27
27
  :title="$t('message.title.layoutRole', { name: data.title })"
28
28
  width="50%"
29
29
  @buttonClick="onButtonClick"
@@ -70,7 +70,7 @@ const showRole = ref(false);
70
70
 
71
71
  const data = ref<IRecord>({});
72
72
 
73
- const url = '/ucrm/sysHomeConfig';
73
+ const url = '/upfm/sysHomeConfig';
74
74
 
75
75
  const items = [
76
76
  { field: 'code', title: 'message.udp.componentCode' },
@@ -208,7 +208,7 @@ const onConfirm = async records => {
208
208
  return item;
209
209
  });
210
210
  xmodal.value.showLoading();
211
- const [err] = await to(getServiceApi().post('/ucrm/sysHomeRole', body));
211
+ const [err] = await to(getServiceApi().post('/upfm/sysHomeRole', body));
212
212
  if (!err) {
213
213
  successMessage();
214
214
  ygrid.value.refreshData();
@@ -44,9 +44,7 @@ const columns = [
44
44
  slots: {
45
45
  default: ({ row }) => {
46
46
  if (['png', 'jpeg', 'jpg'].includes(row.fileExtend)) {
47
- return [
48
- <ut-button content="review" icon="ri-search-line-plus" onTap={() => handlePreview(row)} />
49
- ];
47
+ return [<ut-button content="review" icon="ri-search-line-plus" onTap={() => handlePreview(row)} />];
50
48
  } else {
51
49
  return [
52
50
  <ut-button
@@ -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: 2026-01-07 10:56:02
5
+ * @LastEditTime: 2026-01-19 10:48:37
6
6
  * @FilePath: /front-web-mes/src/views/uhome/su-welcome.vue
7
7
  * @Description: 欢迎页面
8
8
  -->
@@ -177,7 +177,7 @@ const getUserLog = () => {
177
177
  const getLayoutList = async () => {
178
178
  const api = getServiceApi();
179
179
  const [err, res]: any = await to(
180
- api.get('/ucrm/sysHomeConfig', { pageSize: 1000, pageNum: 1, enabled: '1', isRoleFilter: 'Y' })
180
+ api.get('/upfm/sysHomeConfig', { pageSize: 1000, pageNum: 1, enabled: '1', isRoleFilter: 'Y' })
181
181
  );
182
182
  if (err) return;
183
183
  systemLayout;
@@ -1,25 +0,0 @@
1
- import { defineComponent as l, ref as e, provide as t, createElementBlock as _, openBlock as i, createElementVNode as n, createVNode as a } from "vue";
2
- import { _ as m } from "./ScrollPanel.vue_vue_type_style_index_0_lang-BvNAonbh.js";
3
- import { _ as d } from "./StaffPanel.vue_vue_type_script_setup_true_lang-B3j8x4MN.js";
4
- import { _ as p } from "./index-CPKIQXdI.js";
5
- const f = { class: "u-content-panel" }, u = { class: "u-left-panel" }, h = { class: "content" }, v = { name: "StaffPanel" }, C = /* @__PURE__ */ l({
6
- ...v,
7
- setup(N) {
8
- const o = e(!1), s = e([]), c = e({});
9
- return t("scrollPanelChange", o), t("active", c), t("treeList", s), (r, P) => (i(), _("div", f, [
10
- n("div", u, [
11
- a(m, {
12
- title: r.$t("department"),
13
- url: "/uums/department/treeDepartment",
14
- "tree-otions": { children: "children", label: "deptName" }
15
- }, null, 8, ["title"])
16
- ]),
17
- n("div", h, [
18
- a(d)
19
- ])
20
- ]));
21
- }
22
- }), B = /* @__PURE__ */ p(C, [["__scopeId", "data-v-021a8a4e"]]);
23
- export {
24
- B as default
25
- };