@utogether/udp-core 1.0.1-beta.20 → 1.0.1-beta.22
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-Bz5EJPLA.js → 403-B87JSuhn.js} +1 -1
- package/dist/{404-ClOnaj9V.js → 404-BhiUKT1b.js} +1 -1
- package/dist/{500-DCUfhV7Y.js → 500-2G6eyDeT.js} +1 -1
- package/dist/{AuthorityInfo-q6E-js1r.js → AuthorityInfo-Bl4_zDot.js} +1 -1
- package/dist/{AuthorityInfo.vue_vue_type_style_index_0_lang-BM52QDgn.js → AuthorityInfo.vue_vue_type_style_index_0_lang-92i5Oriz.js} +1 -1
- package/dist/{Company-BSShW3Q4.js → Company-CbTh7_bX.js} +3 -3
- package/dist/{CompanyPanel-Dl8eOYLk.js → CompanyPanel-BVEYMQKM.js} +1 -1
- package/dist/{Department-CVIxAnUN.js → Department-Cu83Buy8.js} +3 -3
- package/dist/{DepartmentPanel-Sa3IDl4z.js → DepartmentPanel-CO76buwO.js} +1 -1
- package/dist/{DesignPanel-DnRipagE.js → DesignPanel-DDgVNzYW.js} +1 -1
- package/dist/{DesignPanel.vue_vue_type_style_index_0_lang-DGNyp3Vl.js → DesignPanel.vue_vue_type_style_index_0_lang-Bwernx0s.js} +2 -2
- package/dist/{DictView-uf2K9A1d.js → DictView-DJDg_Oem.js} +1 -1
- package/dist/{InvOrganization-CG9VCpXl.js → InvOrganization-D9BMWweK.js} +1 -1
- package/dist/{Org-W2CBN1B8.js → Org-CcfRkpBY.js} +1 -1
- package/dist/{Preview-DPBxdDvW.js → Preview-DGP1uIZU.js} +1 -1
- package/dist/{ReportDefine-Dsx9VM-I.js → ReportDefine-u7r-IVPD.js} +1 -1
- package/dist/{ReportDesign-DiIGfte0.js → ReportDesign-CLQRMIy3.js} +2 -2
- package/dist/{ReportQuery-9A4Bfs1M.js → ReportQuery-BNTCTpqI.js} +1 -1
- package/dist/{ReportQueryFrom-M5qLoGAa.js → ReportQueryFrom-G7X1Fyf5.js} +1 -1
- package/dist/{ReportQueryFrom.vue_vue_type_style_index_0_lang-OQ9pUCKP.js → ReportQueryFrom.vue_vue_type_style_index_0_lang-D5lDZFPM.js} +1 -1
- package/dist/{ReportTemplate-C34FWAuK.js → ReportTemplate-QWAuFjaB.js} +1 -1
- package/dist/{Role-jG3VTeOF.js → Role-Ba1OVGG0.js} +3 -3
- package/dist/{RoleAssign-BfHpCequ.js → RoleAssign-DFiMYll8.js} +3 -3
- package/dist/{RolePanel-xRN2-rkk.js → RolePanel-D6xKrLlM.js} +1 -1
- package/dist/{RolePanel-DW9pNl0L.js → RolePanel-c-xitljX.js} +1 -1
- package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-C0rTy6vZ.js → RolePanel.vue_vue_type_script_setup_true_lang-BeZ1xNXU.js} +1 -1
- package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-BVEHqEq9.js → RolePanel.vue_vue_type_script_setup_true_lang-DrBiLlBb.js} +3 -3
- package/dist/{ScrollPanel.vue_vue_type_style_index_0_lang-D65sJYWT.js → ScrollPanel.vue_vue_type_style_index_0_lang-D4eReGaK.js} +1 -1
- package/dist/{Staff-BqBVEjau.js → Staff-C-5TE1Yn.js} +3 -3
- package/dist/{StaffInfo-DXeyyEFL.js → StaffInfo-CwJlL_Nr.js} +1 -1
- package/dist/{StaffInfo.vue_vue_type_script_setup_true_lang-Dg0iYgRf.js → StaffInfo.vue_vue_type_script_setup_true_lang-C2BsoQlr.js} +1 -1
- package/dist/{StaffPanel-iE-8VtUm.js → StaffPanel-QOv1pq2Z.js} +1 -1
- package/dist/{StaffPanel.vue_vue_type_script_setup_true_lang-BrrvE1xm.js → StaffPanel.vue_vue_type_script_setup_true_lang-BGQSHjaQ.js} +2 -2
- package/dist/{SysUser-DSZyW30i.js → SysUser-Byug_VNY.js} +2 -2
- package/dist/{SysUserPanel-CbiG6GQF.js → SysUserPanel-B-M2Yxjj.js} +1 -1
- package/dist/{SysUserPanel.vue_vue_type_script_setup_true_lang-B1Y1fmBe.js → SysUserPanel.vue_vue_type_script_setup_true_lang-Dm1YyUXX.js} +1 -1
- package/dist/{SystemMenu-DreuWY-a.js → SystemMenu-Bs9a4BE0.js} +2 -2
- package/dist/{UserInfo-DXrzKAim.js → UserInfo-Ipp00UAF.js} +1 -1
- package/dist/{UserInfo.vue_vue_type_style_index_0_lang-C44E20b4.js → UserInfo.vue_vue_type_style_index_0_lang-DIcWs6vj.js} +1 -1
- package/dist/{childView-VCidWgY6.js → childView-N1PkzqQK.js} +1 -1
- package/dist/{childView-k5IkJOBr.js → childView-O-5baerB.js} +1 -1
- package/dist/{childView.vue_vue_type_style_index_0_lang-DmG82dVB.js → childView.vue_vue_type_style_index_0_lang--yGHgWVq.js} +1 -1
- package/dist/{childView.vue_vue_type_style_index_0_lang-C6ftwwvZ.js → childView.vue_vue_type_style_index_0_lang-srudWvXc.js} +1 -1
- package/dist/{code-rule-7WQMabpW.js → code-rule-CRunTGXH.js} +2 -2
- package/dist/core.es.js +12 -11
- package/dist/{cron-task-D1t56MSu.js → cron-task-IEuaI4Nt.js} +1 -1
- package/dist/flow-task-B07st2aD.js +10 -0
- package/dist/{frameView-CWsIFBgU.js → frameView-vGVXV1ZG.js} +1 -1
- package/dist/index-D_tU_u2l.js +4640 -0
- package/dist/{layoutView-DLpHSner.js → layoutView-BJO8Hm5d.js} +164 -164
- package/dist/{login-OjDiQmz8.js → login-CZyenjQX.js} +1 -1
- package/dist/{lov-view-D28X6m3k.js → lov-view-6He1ZxGX.js} +2 -2
- package/dist/{menuInfo-DwPB6rHz.js → menuInfo-CE5Cae2u.js} +1 -1
- package/dist/{menuInfo.vue_vue_type_style_index_0_lang-l5DNRfb7.js → menuInfo.vue_vue_type_style_index_0_lang-BjshFg3S.js} +1 -1
- package/dist/{pda-app-Bdms2PRY.js → pda-app-DOiT57m1.js} +1 -1
- package/dist/{resource-y6SHrHoq.js → resource-BdlOJOcz.js} +1 -1
- package/dist/{su-welcome-D9G6EuK2.js → su-welcome-BxRhJD8X.js} +1 -1
- package/dist/{sys-config-DFnGHiFc.js → sys-config-Csy-234G.js} +1 -1
- package/index.ts +49 -48
- package/package.json +1 -1
- package/src/components/udp/grid/index.vue +9 -5
- package/src/components/udp/utils.ts +7 -4
- package/src/layout/hooks/useTag.ts +5 -1
- package/src/plugins/i18n/module/u-workflow.ts +71 -71
- package/src/plugins/i18n/zh.ts +358 -356
- package/src/plugins/vxe-table/index.ts +3 -3
- package/src/router/index.ts +3 -1
- package/src/router/modules/flow.ts +35 -0
- package/src/router/utils.ts +27 -1
- package/src/store/modules/multiTags.ts +4 -4
- package/src/views/udev/coderule/code-rule.vue +2 -2
- package/src/views/udev/lov/childView.vue +174 -180
- package/src/views/utask/flow-task.vue +18 -0
- package/dist/index-DxWAYxai.js +0 -5495
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @Author: levi7754 levi7754@163.com
|
|
3
3
|
* @Date: 2024-06-05 14:32:03
|
|
4
4
|
* @LastEditors: levi7754 levi7754@163.com
|
|
5
|
-
* @LastEditTime: 2025-
|
|
5
|
+
* @LastEditTime: 2025-11-04 13:58:45
|
|
6
6
|
* @FilePath: /udp-front/packages/udp-core/src/plugins/vxe-table/index.ts
|
|
7
7
|
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
|
8
8
|
*/
|
|
@@ -10,8 +10,8 @@ import 'xe-utils';
|
|
|
10
10
|
import { merge, toDateString, getWhatDay } from 'xe-utils';
|
|
11
11
|
import { geti18n, transformI18n } from '../i18n/index';
|
|
12
12
|
// import { storageLocal } from '@utogether/utils';
|
|
13
|
-
|
|
14
|
-
import { VxetableRender } from './render';
|
|
13
|
+
import { VxetableRender } from '@utogether/utils';
|
|
14
|
+
// import { VxetableRender } from './render';
|
|
15
15
|
import { getServiceApi } from '../../api';
|
|
16
16
|
|
|
17
17
|
import VXETable, { VxeUI } from 'vxe-table';
|
package/src/router/index.ts
CHANGED
|
@@ -10,6 +10,7 @@ import { kLOGINER } from '../contant';
|
|
|
10
10
|
import homeRouter from './modules/home';
|
|
11
11
|
import errorRouter from './modules/error';
|
|
12
12
|
import remainingRouter from './modules/remaining';
|
|
13
|
+
import flow from './modules/flow';
|
|
13
14
|
|
|
14
15
|
const systemRouter = import.meta.glob([
|
|
15
16
|
'../views/system/**/*.{vue,tsx}',
|
|
@@ -19,12 +20,13 @@ const systemRouter = import.meta.glob([
|
|
|
19
20
|
'../views/urpt/**/*.{vue,tsx}',
|
|
20
21
|
'../views/organization/**/*.{vue,tsx}',
|
|
21
22
|
'../views/udev/**/*.{vue, tsx}'
|
|
23
|
+
// '../views/uflow/**/*.{vue, tsx}'
|
|
22
24
|
]);
|
|
23
25
|
|
|
24
26
|
export const remainingRouters = remainingRouter;
|
|
25
27
|
|
|
26
28
|
// 原始静态路由(未做任何处理)
|
|
27
|
-
const routes = [homeRouter, errorRouter];
|
|
29
|
+
const routes = [homeRouter, errorRouter, flow];
|
|
28
30
|
/** 导出处理后的静态路由(三级及以上的路由全部拍成二级) */
|
|
29
31
|
export const constantRoutes: Array<RouteRecordRaw> = formatTwoStageRoutes(
|
|
30
32
|
formatFlatteningRoutes(buildHierarchyTree(ascending(routes)))
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @Author: levi7754 levi7754@163.com
|
|
3
|
+
* @Date: 2023-10-10 11:31:53
|
|
4
|
+
* @LastEditors: levi7754 levi7754@163.com
|
|
5
|
+
* @LastEditTime: 2025-11-05 19:17:32
|
|
6
|
+
* @FilePath: /sitzone-mes/src/router/modules/tabs.ts
|
|
7
|
+
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
|
8
|
+
*/
|
|
9
|
+
const Layout = () => import('../../layout/layoutView.vue');
|
|
10
|
+
|
|
11
|
+
const tabsRouter: RouteConfigsTable = {
|
|
12
|
+
component: Layout,
|
|
13
|
+
path: '/utask',
|
|
14
|
+
redirect: '/utask/task/flow-task',
|
|
15
|
+
meta: {
|
|
16
|
+
showLink: false,
|
|
17
|
+
icon: 'IF-pure-iconfont-tabs',
|
|
18
|
+
title: 'message.udp.flowTask'
|
|
19
|
+
},
|
|
20
|
+
children: [
|
|
21
|
+
// query 传参模式
|
|
22
|
+
{
|
|
23
|
+
path: '/utask/task/flow-task',
|
|
24
|
+
name: 'FlowTask',
|
|
25
|
+
component: () => import('../../views/utask/flow-task.vue'),
|
|
26
|
+
meta: {
|
|
27
|
+
// 不在menu菜单中显示
|
|
28
|
+
title: '',
|
|
29
|
+
showLink: false,
|
|
30
|
+
activePath: '/uflow/index'
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
};
|
|
35
|
+
export default tabsRouter;
|
package/src/router/utils.ts
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @Author: levi7754 levi7754@163.com
|
|
3
|
+
* @Date: 2024-08-01 21:42:39
|
|
4
|
+
* @LastEditors: levi7754 levi7754@163.com
|
|
5
|
+
* @LastEditTime: 2025-11-10 09:22:45
|
|
6
|
+
* @FilePath: \udp-front\packages\udp-core\src\router\utils.ts
|
|
7
|
+
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
|
8
|
+
*/
|
|
1
9
|
import type { RouteRecordRaw, RouteComponent } from 'vue-router';
|
|
2
10
|
import { isProxy, toRaw, defineAsyncComponent } from 'vue';
|
|
3
11
|
import { useTimeoutFn } from '@vueuse/core';
|
|
@@ -273,6 +281,9 @@ const menuI18n = {
|
|
|
273
281
|
zh: {},
|
|
274
282
|
en: {}
|
|
275
283
|
};
|
|
284
|
+
|
|
285
|
+
const processMenus = [];
|
|
286
|
+
|
|
276
287
|
const addAsyncRoutes = (arrRoutes: Array<any>) => {
|
|
277
288
|
const modulesRoutes = getViews();
|
|
278
289
|
|
|
@@ -286,7 +297,17 @@ const addAsyncRoutes = (arrRoutes: Array<any>) => {
|
|
|
286
297
|
v.redirect = v.children[0].path;
|
|
287
298
|
}
|
|
288
299
|
const { icon, permissionCode, extraIcon, frameSrc } = v;
|
|
289
|
-
|
|
300
|
+
// 流程菜单保存
|
|
301
|
+
v.isFlowMenu && processMenus.push(v);
|
|
302
|
+
|
|
303
|
+
v.meta = {
|
|
304
|
+
keepAlive: true,
|
|
305
|
+
rank: v.sort,
|
|
306
|
+
title: `${v.i18nField}`,
|
|
307
|
+
// 审批流设计页面和审批页面的code写死,只需配置页面即可(保底方式)
|
|
308
|
+
showLink: !['UdpFlowDesign', 'UDPFlowTask'].includes(v.menuCode) ? null : false
|
|
309
|
+
};
|
|
310
|
+
v.hiddenTag = null;
|
|
290
311
|
Object.assign(v.meta, { icon, permissionCode, extraIcon, frameSrc });
|
|
291
312
|
menuI18n.zh[v.i18nField] = v.menuName || v.menuNameEn;
|
|
292
313
|
menuI18n.en[v.i18nField] = v.menuNameEn || v.menuName;
|
|
@@ -377,11 +398,16 @@ function getTopMenu(tag = false) {
|
|
|
377
398
|
return topMenu;
|
|
378
399
|
}
|
|
379
400
|
|
|
401
|
+
function getProcessMenu() {
|
|
402
|
+
return processMenus;
|
|
403
|
+
}
|
|
404
|
+
|
|
380
405
|
export {
|
|
381
406
|
ascending,
|
|
382
407
|
filterTree,
|
|
383
408
|
initRouter,
|
|
384
409
|
getTopMenu,
|
|
410
|
+
getProcessMenu,
|
|
385
411
|
hasPermissions,
|
|
386
412
|
addAsyncRoutes,
|
|
387
413
|
getParentPaths,
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
* @Author: wei.li
|
|
3
3
|
* @Date: 2021-12-23 17:33:20
|
|
4
4
|
* @LastEditors: levi7754 levi7754@163.com
|
|
5
|
-
* @LastEditTime: 2025-
|
|
5
|
+
* @LastEditTime: 2025-11-06 17:48:20
|
|
6
6
|
* @Description: file content
|
|
7
7
|
*/
|
|
8
8
|
import { defineStore } from 'pinia';
|
|
9
|
-
import { isEqual
|
|
9
|
+
import { isEqual } from 'xe-utils';
|
|
10
10
|
import { storageLocal, isUrl } from '@utogether/utils';
|
|
11
11
|
import { store } from '../index';
|
|
12
12
|
import { routerArrays } from '../../layout/types';
|
|
@@ -54,8 +54,8 @@ export const useMultiTagsStore = defineStore('udp-multiTags', {
|
|
|
54
54
|
if (isUrl(tagVal?.name)) return;
|
|
55
55
|
// 如果title为空拒绝添加空信息到标签页
|
|
56
56
|
if (tagVal?.meta?.title?.length === 0) return;
|
|
57
|
-
// showLink:false 不添加到标签页
|
|
58
|
-
if (isBoolean(tagVal?.meta?.showLink) && !tagVal?.meta?.showLink) return;
|
|
57
|
+
// showLink:false 不添加到标签页 -- 因审批流注释2025/11/6
|
|
58
|
+
// if (isBoolean(tagVal?.meta?.showLink) && !tagVal?.meta?.showLink) return;
|
|
59
59
|
const tagPath = tagVal.path;
|
|
60
60
|
// 判断tag是否已存在
|
|
61
61
|
const tagHasExits = this.multiTags.some(tag => {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @Author: wei.li
|
|
3
3
|
* @Date: 2021-12-15 17:45:07
|
|
4
4
|
* @LastEditors: levi7754 levi7754@163.com
|
|
5
|
-
* @LastEditTime: 2025-10
|
|
5
|
+
* @LastEditTime: 2025-11-10 10:21:07
|
|
6
6
|
* @Description: 编码规则
|
|
7
7
|
-->
|
|
8
8
|
<template>
|
|
@@ -114,7 +114,7 @@ const handleEdit = row => {
|
|
|
114
114
|
// 启用/禁用
|
|
115
115
|
async function handleClick({ row }) {
|
|
116
116
|
console.log(row);
|
|
117
|
-
const [err] = await to(getServiceApi().put(url, row));
|
|
117
|
+
const [err] = await to(getServiceApi().put(url, [row]));
|
|
118
118
|
!err && xgrid.value.refreshData();
|
|
119
119
|
}
|
|
120
120
|
</script>
|
|
@@ -1,180 +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
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
const
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
{ field: '
|
|
72
|
-
{
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
{
|
|
95
|
-
field: '
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
width: 120,
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
const
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
.ut-content-body {
|
|
177
|
-
height: 90%;
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
</style>
|
|
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>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
export default { name: 'FlowTask' };
|
|
3
|
+
</script>
|
|
4
|
+
|
|
5
|
+
<script setup lang="ts">
|
|
6
|
+
// import { useDetail } from './hooks';
|
|
7
|
+
|
|
8
|
+
// const { initToDetail, getParameter } = useDetail();
|
|
9
|
+
// initToDetail('query');
|
|
10
|
+
</script>
|
|
11
|
+
|
|
12
|
+
<template>
|
|
13
|
+
<div>
|
|
14
|
+
<!-- {{ getParameter.id }} - 详情页内容在此(query传参)
|
|
15
|
+
<p>当前页面参数为:{{ getParameter }}</p> -->
|
|
16
|
+
dhasdhkasd kasdAsdasjldj打死了电话卡手机号多久啊是的
|
|
17
|
+
</div>
|
|
18
|
+
</template>
|