@utogether/udp-core 2.0.0-beta.5 → 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.
- package/dist/{403-y4Id7pky.js → 403-CNiAnTla.js} +1 -1
- package/dist/{404-DdxstlUr.js → 404-BHi3Ej7Z.js} +1 -1
- package/dist/{500-BpsDn21g.js → 500-CTYskumb.js} +1 -1
- package/dist/{AuthorityInfo-0CnlrZVd.js → AuthorityInfo-BjKduzRg.js} +1 -1
- package/dist/{AuthorityInfo.vue_vue_type_style_index_0_lang-D5cXM84w.js → AuthorityInfo.vue_vue_type_style_index_0_lang-CEekMsFF.js} +1 -1
- package/dist/{Company-BPAqJfZm.js → Company-B1xm0v-1.js} +3 -3
- package/dist/{CompanyPanel-CCeM96w4.js → CompanyPanel-Bk3gucNe.js} +1 -1
- package/dist/{Department-BsLrIIrS.js → Department-Cd8zo-JT.js} +3 -3
- package/dist/{DepartmentPanel-B2YqwLmq.js → DepartmentPanel-ePvnyT6M.js} +1 -1
- package/dist/{DesignPanel-CVSOCMvU.js → DesignPanel--qm9mgjH.js} +1 -1
- package/dist/{DesignPanel.vue_vue_type_style_index_0_lang-Dte8DQnU.js → DesignPanel.vue_vue_type_style_index_0_lang-pZYzFbq4.js} +2 -2
- package/dist/{DictView-CKVpPtFg.js → DictView-B0NgfU0j.js} +10 -10
- package/dist/{InvOrganization-BBODO8aK.js → InvOrganization-BE1g-iwW.js} +1 -1
- package/dist/{Org-BYRi0OAt.js → Org-B3VzhliT.js} +1 -1
- package/dist/{Preview-COI8NwWh.js → Preview-Ch-MYGp4.js} +1 -1
- package/dist/{ReportDefine-Dbh_8ykf.js → ReportDefine-CUuKlZ3p.js} +1 -1
- package/dist/{ReportDesign-DOeKYL9V.js → ReportDesign-Bq_rcYCK.js} +2 -2
- package/dist/{ReportQuery-Bb4r9lNR.js → ReportQuery-BRSA-lSg.js} +1 -1
- package/dist/{ReportQueryFrom-CavcWtL3.js → ReportQueryFrom-b0Lxvnhp.js} +1 -1
- package/dist/{ReportQueryFrom.vue_vue_type_style_index_0_lang-tuLRWEK9.js → ReportQueryFrom.vue_vue_type_style_index_0_lang-R_mfmI7C.js} +1 -1
- package/dist/{ReportTemplate-C9NzPxM4.js → ReportTemplate-CZ8LChJM.js} +1 -1
- package/dist/{Role-Bqt4d9Lz.js → Role-mezU2yUG.js} +3 -3
- package/dist/{RoleAssign-CWcytVz3.js → RoleAssign-C23uEQ_b.js} +3 -3
- package/dist/{RolePanel-DlU0aCnL.js → RolePanel-7iBT-us-.js} +1 -1
- package/dist/{RolePanel-Di5nsMqt.js → RolePanel-BLML9HOE.js} +1 -1
- package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-hzbUepuW.js → RolePanel.vue_vue_type_script_setup_true_lang-C5T9Unjq.js} +1 -1
- package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-BOq0iJsT.js → RolePanel.vue_vue_type_script_setup_true_lang-Dxc4V1V8.js} +3 -3
- package/dist/{ScrollPanel.vue_vue_type_style_index_0_lang-Bg3rg4P4.js → ScrollPanel.vue_vue_type_style_index_0_lang-DF9mIgWs.js} +32 -31
- package/dist/Staff-B2bI3_H2.js +26 -0
- package/dist/{StaffInfo-C6lDK0S_.js → StaffInfo-CIAehJfI.js} +1 -1
- package/dist/{StaffInfo.vue_vue_type_script_setup_true_lang-YRJm87-b.js → StaffInfo.vue_vue_type_script_setup_true_lang-D9VkkiTZ.js} +1 -1
- package/dist/{StaffPanel-WNpg0HWl.js → StaffPanel-dXSv0PI3.js} +1 -1
- package/dist/{StaffPanel.vue_vue_type_script_setup_true_lang-azLpvFRo.js → StaffPanel.vue_vue_type_script_setup_true_lang-DoU9krA4.js} +61 -49
- package/dist/{SysUser-Dph6Qi_a.js → SysUser-DxKpVGLT.js} +2 -2
- package/dist/{SysUserPanel-Iz024NS_.js → SysUserPanel-Ci_Ep8mq.js} +1 -1
- package/dist/{SysUserPanel.vue_vue_type_script_setup_true_lang-D8GUQHic.js → SysUserPanel.vue_vue_type_script_setup_true_lang-gzipEh3A.js} +1 -1
- package/dist/{SystemMenu-6mTYGwbK.js → SystemMenu-B_VBlI1Z.js} +2 -2
- package/dist/{UserInfo-RQ7VgSbk.js → UserInfo-DF0fggCn.js} +1 -1
- package/dist/{UserInfo.vue_vue_type_style_index_0_lang-BYp2-i9R.js → UserInfo.vue_vue_type_style_index_0_lang-b-DOPLHD.js} +1 -1
- package/dist/{childView-B8L4By2o.js → childView-62rEczLw.js} +1 -1
- package/dist/{childView-nCa8t4tr.js → childView-DhDitM7p.js} +1 -1
- package/dist/{childView.vue_vue_type_style_index_0_lang-DDx9z61J.js → childView.vue_vue_type_style_index_0_lang-DwtD74xk.js} +1 -1
- package/dist/{childView.vue_vue_type_style_index_0_lang-Bl1MzDS9.js → childView.vue_vue_type_style_index_0_lang-b5hnKDbO.js} +26 -23
- package/dist/{code-rule-8dQLPHni.js → code-rule-CabvTCWH.js} +1 -1
- package/dist/core.es.js +1 -1
- package/dist/{cron-task-aDBWT_Uh.js → cron-task-DXfxcgr-.js} +1 -1
- package/dist/{frameView-DM3flfo5.js → frameView-DkFBCQIT.js} +1 -1
- package/dist/{index-ClHeZ3q4.js → index-D7hSr6Dw.js} +1211 -1201
- package/dist/{layout-home-DNPOu6R4.js → layout-home-B7Ex_WUd.js} +11 -11
- package/dist/{layoutView-Ymyja_uK.js → layoutView-DB70tHmm.js} +1 -1
- package/dist/{log-in-DtHf5ZcG.js → log-in-D28_avjb.js} +1 -1
- package/dist/{log-out-DZ8OkPM6.js → log-out-CnWdyT-h.js} +1 -1
- package/dist/{login-CoX7TNHE.js → login-BDFcVdJO.js} +1 -1
- package/dist/{login-log-DJBGJVV0.js → login-log-BEHYT0v0.js} +5 -5
- package/dist/{lov-view-BWtIPBNm.js → lov-view-DBxWS8bR.js} +2 -2
- package/dist/{menuInfo-wG5Zt00s.js → menuInfo-CznLhoJE.js} +1 -1
- package/dist/{menuInfo.vue_vue_type_style_index_0_lang-DiPeALce.js → menuInfo.vue_vue_type_style_index_0_lang-Dxu9tvz9.js} +1 -1
- package/dist/{pda-app-9b3JC2he.js → pda-app-BWJOH5h6.js} +1 -1
- package/dist/{resource-DiHXYgfm.js → resource-_ZAigzWr.js} +1 -1
- package/dist/{su-welcome-COvSPTOW.js → su-welcome-B4Y3rNQi.js} +352 -344
- package/dist/{sys-config-Mm50Y0LQ.js → sys-config-Bm0r674r.js} +1 -1
- package/dist/udp-core.css +1 -1
- package/package.json +1 -1
- package/src/components/SuScrollTree/ScrollPanel.vue +176 -170
- package/src/components/udp/form-upload/form-upload.vue +496 -492
- package/src/components/udp/utils.ts +414 -408
- package/src/plugins/i18n/zh.ts +2 -0
- package/src/plugins/vxe-table/render.tsx +995 -968
- package/src/views/organization/staff/Staff.vue +59 -58
- package/src/views/organization/staff/StaffPanel.vue +17 -3
- package/src/views/system/layout/layout-home.vue +3 -3
- package/src/views/udev/dict/DictView.vue +118 -118
- package/src/views/udev/dict/childView.vue +185 -184
- package/src/views/ufile/aggregation/File.vue +1 -3
- package/src/views/uhome/components/home-todo.vue +10 -5
- package/src/views/uhome/su-welcome.vue +2 -2
- package/src/views/upms/user/login-log.vue +2 -2
- package/vite.config.ts +83 -83
- package/dist/Staff-DXr2Ka1N.js +0 -25
|
@@ -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
|
-
|
|
14
|
-
:tree-otions="{ children: 'children', label: 'deptName' }"
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
</
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
import
|
|
28
|
-
import
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
const
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
provide('
|
|
36
|
-
provide('
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}
|
|
58
|
-
|
|
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-
|
|
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:
|
|
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="/
|
|
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 = '/
|
|
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('/
|
|
211
|
+
const [err] = await to(getServiceApi().post('/upfm/sysHomeRole', body));
|
|
212
212
|
if (!err) {
|
|
213
213
|
successMessage();
|
|
214
214
|
ygrid.value.refreshData();
|
|
@@ -1,118 +1,118 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
* @Author: wei.li
|
|
3
|
-
* @Date: 2021-12-23 17:33:21
|
|
4
|
-
* @LastEditors: levi7754 levi7754@163.com
|
|
5
|
-
* @LastEditTime: 2025-12-29 14:23:32
|
|
6
|
-
* @Description: 数据字典
|
|
7
|
-
-->
|
|
8
|
-
<template>
|
|
9
|
-
<div>
|
|
10
|
-
<ut-grid
|
|
11
|
-
ref="xgrid"
|
|
12
|
-
:items="formItems"
|
|
13
|
-
:columns="columns"
|
|
14
|
-
:check-method="checkMethod"
|
|
15
|
-
:events="onGridEvents"
|
|
16
|
-
url="/upfm/v1/lov"
|
|
17
|
-
/>
|
|
18
|
-
<child-view v-if="shouDrawer" :show="shouDrawer" :record="record" @onClose="handleClose" />
|
|
19
|
-
</div>
|
|
20
|
-
</template>
|
|
21
|
-
|
|
22
|
-
<script lang="tsx">
|
|
23
|
-
export default { name: 'DictView' };
|
|
24
|
-
</script>
|
|
25
|
-
<script setup lang="tsx">
|
|
26
|
-
import { ref, nextTick } from 'vue';
|
|
27
|
-
import childView from './childView.vue';
|
|
28
|
-
import { useRender } from '@utogether/utils';
|
|
29
|
-
// import { useRender } from '../../../utils/udp/useRender';
|
|
30
|
-
|
|
31
|
-
const xgrid = ref(null);
|
|
32
|
-
// const renderOption = useRenderOption();
|
|
33
|
-
|
|
34
|
-
const formItems = [
|
|
35
|
-
{ field: 'dictCode', title: 'message.udp.dictCode' },
|
|
36
|
-
{ field: 'dictName', title: 'message.udp.dictName' },
|
|
37
|
-
{ field: 'dictType', title: 'message.udp.dictType', code: 'SU.DICT.TYPE' }
|
|
38
|
-
];
|
|
39
|
-
|
|
40
|
-
const renderHook = useRender();
|
|
41
|
-
// 列字段
|
|
42
|
-
const columns = [
|
|
43
|
-
{ type: 'checkbox', width: 40, align: 'center' },
|
|
44
|
-
|
|
45
|
-
{
|
|
46
|
-
field: 'dictCode',
|
|
47
|
-
title: 'message.udp.dictCode',
|
|
48
|
-
required: true,
|
|
49
|
-
editRender: renderHook.renderInput()
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
field: 'dictName',
|
|
53
|
-
title: 'message.udp.dictName',
|
|
54
|
-
required: true,
|
|
55
|
-
editRender: renderHook.renderInput()
|
|
56
|
-
},
|
|
57
|
-
// {
|
|
58
|
-
// field: 'userName',
|
|
59
|
-
// width: 300,
|
|
60
|
-
// editRender: renderHook.renderUpload()
|
|
61
|
-
// },
|
|
62
|
-
{
|
|
63
|
-
field: 'dictType',
|
|
64
|
-
title: 'message.udp.dictType',
|
|
65
|
-
required: true,
|
|
66
|
-
editRender: renderHook.renderDict('SU.DICT.TYPE'),
|
|
67
|
-
formatter: ['formatDict', 'SU.DICT.TYPE']
|
|
68
|
-
},
|
|
69
|
-
{ field: 'dictDesc', title: 'message.
|
|
70
|
-
{
|
|
71
|
-
field: 'enabled',
|
|
72
|
-
width: 90,
|
|
73
|
-
editRender: renderHook.renderDict({ code: 'SU.ENABLE', defaultValue: '1' }),
|
|
74
|
-
formatter: ['formatDict', 'SU.ENABLE']
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
field: 'operate',
|
|
78
|
-
width: 80,
|
|
79
|
-
slots: {
|
|
80
|
-
default: ({ row }) => {
|
|
81
|
-
if (!row.id) return null;
|
|
82
|
-
return [<ut-button content="lov" icon="ri-dice-6-line" onClick={() => hanldeDipose(row)} />];
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
];
|
|
87
|
-
|
|
88
|
-
const shouDrawer = ref(false);
|
|
89
|
-
const record = ref(null);
|
|
90
|
-
const hanldeDipose = row => {
|
|
91
|
-
nextTick(() => {
|
|
92
|
-
shouDrawer.value = true;
|
|
93
|
-
record.value = row;
|
|
94
|
-
record.value.total = row.children?.length;
|
|
95
|
-
});
|
|
96
|
-
};
|
|
97
|
-
const handleClose = () => {
|
|
98
|
-
xgrid.value.refreshData();
|
|
99
|
-
shouDrawer.value = false;
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
const onGridEvents = {
|
|
103
|
-
editActived({ row }) {
|
|
104
|
-
columns[1].editRender.props.disabled = !!row.id;
|
|
105
|
-
}
|
|
106
|
-
};
|
|
107
|
-
|
|
108
|
-
// function onChange(e) {
|
|
109
|
-
// console.log('onChange', e);
|
|
110
|
-
// }
|
|
111
|
-
// function onFocus(e) {
|
|
112
|
-
// console.log('onFocus', e);
|
|
113
|
-
// }
|
|
114
|
-
|
|
115
|
-
const checkMethod = row => {
|
|
116
|
-
return row.dictType !== '0';
|
|
117
|
-
};
|
|
118
|
-
</script>
|
|
1
|
+
<!--
|
|
2
|
+
* @Author: wei.li
|
|
3
|
+
* @Date: 2021-12-23 17:33:21
|
|
4
|
+
* @LastEditors: levi7754 levi7754@163.com
|
|
5
|
+
* @LastEditTime: 2025-12-29 14:23:32
|
|
6
|
+
* @Description: 数据字典
|
|
7
|
+
-->
|
|
8
|
+
<template>
|
|
9
|
+
<div>
|
|
10
|
+
<ut-grid
|
|
11
|
+
ref="xgrid"
|
|
12
|
+
:items="formItems"
|
|
13
|
+
:columns="columns"
|
|
14
|
+
:check-method="checkMethod"
|
|
15
|
+
:events="onGridEvents"
|
|
16
|
+
url="/upfm/v1/lov"
|
|
17
|
+
/>
|
|
18
|
+
<child-view v-if="shouDrawer" :show="shouDrawer" :record="record" @onClose="handleClose" />
|
|
19
|
+
</div>
|
|
20
|
+
</template>
|
|
21
|
+
|
|
22
|
+
<script lang="tsx">
|
|
23
|
+
export default { name: 'DictView' };
|
|
24
|
+
</script>
|
|
25
|
+
<script setup lang="tsx">
|
|
26
|
+
import { ref, nextTick } from 'vue';
|
|
27
|
+
import childView from './childView.vue';
|
|
28
|
+
import { useRender } from '@utogether/utils';
|
|
29
|
+
// import { useRender } from '../../../utils/udp/useRender';
|
|
30
|
+
|
|
31
|
+
const xgrid = ref(null);
|
|
32
|
+
// const renderOption = useRenderOption();
|
|
33
|
+
|
|
34
|
+
const formItems = [
|
|
35
|
+
{ field: 'dictCode', title: 'message.udp.dictCode' },
|
|
36
|
+
{ field: 'dictName', title: 'message.udp.dictName' },
|
|
37
|
+
{ field: 'dictType', title: 'message.udp.dictType', code: 'SU.DICT.TYPE' }
|
|
38
|
+
];
|
|
39
|
+
|
|
40
|
+
const renderHook = useRender();
|
|
41
|
+
// 列字段
|
|
42
|
+
const columns = [
|
|
43
|
+
{ type: 'checkbox', width: 40, align: 'center' },
|
|
44
|
+
|
|
45
|
+
{
|
|
46
|
+
field: 'dictCode',
|
|
47
|
+
title: 'message.udp.dictCode',
|
|
48
|
+
required: true,
|
|
49
|
+
editRender: renderHook.renderInput()
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
field: 'dictName',
|
|
53
|
+
title: 'message.udp.dictName',
|
|
54
|
+
required: true,
|
|
55
|
+
editRender: renderHook.renderInput()
|
|
56
|
+
},
|
|
57
|
+
// {
|
|
58
|
+
// field: 'userName',
|
|
59
|
+
// width: 300,
|
|
60
|
+
// editRender: renderHook.renderUpload()
|
|
61
|
+
// },
|
|
62
|
+
{
|
|
63
|
+
field: 'dictType',
|
|
64
|
+
title: 'message.udp.dictType',
|
|
65
|
+
required: true,
|
|
66
|
+
editRender: renderHook.renderDict('SU.DICT.TYPE'),
|
|
67
|
+
formatter: ['formatDict', 'SU.DICT.TYPE']
|
|
68
|
+
},
|
|
69
|
+
{ field: 'dictDesc', title: 'message.udp.dictDesc', editRender: renderHook.renderInput() },
|
|
70
|
+
{
|
|
71
|
+
field: 'enabled',
|
|
72
|
+
width: 90,
|
|
73
|
+
editRender: renderHook.renderDict({ code: 'SU.ENABLE', defaultValue: '1' }),
|
|
74
|
+
formatter: ['formatDict', 'SU.ENABLE']
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
field: 'operate',
|
|
78
|
+
width: 80,
|
|
79
|
+
slots: {
|
|
80
|
+
default: ({ row }) => {
|
|
81
|
+
if (!row.id) return null;
|
|
82
|
+
return [<ut-button content="lov" icon="ri-dice-6-line" onClick={() => hanldeDipose(row)} />];
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
];
|
|
87
|
+
|
|
88
|
+
const shouDrawer = ref(false);
|
|
89
|
+
const record = ref(null);
|
|
90
|
+
const hanldeDipose = row => {
|
|
91
|
+
nextTick(() => {
|
|
92
|
+
shouDrawer.value = true;
|
|
93
|
+
record.value = row;
|
|
94
|
+
record.value.total = row.children?.length;
|
|
95
|
+
});
|
|
96
|
+
};
|
|
97
|
+
const handleClose = () => {
|
|
98
|
+
xgrid.value.refreshData();
|
|
99
|
+
shouDrawer.value = false;
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
const onGridEvents = {
|
|
103
|
+
editActived({ row }) {
|
|
104
|
+
columns[1].editRender.props.disabled = !!row.id;
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
// function onChange(e) {
|
|
109
|
+
// console.log('onChange', e);
|
|
110
|
+
// }
|
|
111
|
+
// function onFocus(e) {
|
|
112
|
+
// console.log('onFocus', e);
|
|
113
|
+
// }
|
|
114
|
+
|
|
115
|
+
const checkMethod = row => {
|
|
116
|
+
return row.dictType !== '0';
|
|
117
|
+
};
|
|
118
|
+
</script>
|