Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
T
TrainSys
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
苏州培训方案
TrainSys
提交
b68ea176
提交
b68ea176
编写于
10月 18, 2023
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
zhujiamin 发布系统代码 [TrainSys,网页端]
上级
0884a14d
变更
9
展开全部
隐藏空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
205 行增加
和
199 行删除
+205
-199
package.json
app_Web/package.json
+7
-7
pnpm-lock.yaml
app_Web/pnpm-lock.yaml
+41
-41
extend-action-timeline.tsx
.../common/extend-action-timeline/extend-action-timeline.tsx
+9
-4
app-layout.tsx
app_Web/src/components/layout/app-layout/app-layout.tsx
+54
-73
form-item.tsx
...c/components/widgets/form-control/form-item/form-item.tsx
+1
-0
grid-control.util.ts
.../src/components/widgets/grid-control/grid-control.util.ts
+5
-1
index-view.vue
app_Web/src/views/index-view/index-view.vue
+56
-41
PSSYSAPP.json
.../ibizlab/trainsys/PSSYSAPPS/TemplatePublish/PSSYSAPP.json
+4
-4
PSSYSAPP.json
...ces/model/cn/ibizlab/trainsys/PSSYSAPPS/Web/PSSYSAPP.json
+28
-28
未找到文件。
app_Web/package.json
浏览文件 @
b68ea176
...
...
@@ -13,13 +13,13 @@
"dependencies"
:
{
"@floating-ui/dom"
:
"^1.0.11"
,
"@ibiz-template/command"
:
"^0.0.1-beta.50"
,
"@ibiz-template/controller"
:
"^0.0.1-beta.1
18
"
,
"@ibiz-template/core"
:
"^0.0.1-beta.1
18
"
,
"@ibiz-template/model"
:
"^0.0.1-beta.1
18
"
,
"@ibiz-template/runtime"
:
"^0.0.1-beta.1
18
"
,
"@ibiz-template/service"
:
"^0.0.1-beta.1
18
"
,
"@ibiz-template/theme"
:
"^0.0.1-beta.1
18
"
,
"@ibiz-template/vue-util"
:
"^0.0.1-beta.1
18
"
,
"@ibiz-template/controller"
:
"^0.0.1-beta.1
21
"
,
"@ibiz-template/core"
:
"^0.0.1-beta.1
21
"
,
"@ibiz-template/model"
:
"^0.0.1-beta.1
21
"
,
"@ibiz-template/runtime"
:
"^0.0.1-beta.1
21
"
,
"@ibiz-template/service"
:
"^0.0.1-beta.1
21
"
,
"@ibiz-template/theme"
:
"^0.0.1-beta.1
21
"
,
"@ibiz-template/vue-util"
:
"^0.0.1-beta.1
21
"
,
"@ibiz/dynamic-model-api"
:
"^2.1.28"
,
"@riophae/vue-treeselect"
:
"^0.4.0"
,
"dayjs"
:
"^1.11.7"
,
...
...
app_Web/pnpm-lock.yaml
浏览文件 @
b68ea176
此差异已折叠。
点击以展开。
app_Web/src/components/common/extend-action-timeline/extend-action-timeline.tsx
浏览文件 @
b68ea176
...
...
@@ -46,7 +46,7 @@ export const ExtendActionTimeLine = defineComponent({
* @param {IData[]} handleTasks
* @return {*}
*/
const
handleVal
=
(
handleTasks
:
IData
[])
=>
{
const
handleVal
=
(
handleTasks
:
IData
[]
,
isChild
:
boolean
=
false
)
=>
{
const
commentsData
:
IData
[]
=
[];
let
tasks
=
clone
(
handleTasks
);
if
(
tasks
.
length
>
0
)
{
...
...
@@ -55,8 +55,8 @@ export const ExtendActionTimeLine = defineComponent({
if
(
task
.
usertasks
)
{
// 有子流程没有comments 递归处理
const
copyTasks
=
clone
(
task
.
usertasks
);
Object
.
assign
(
task
,
{
tasks
:
handleVal
(
copyTasks
)
});
task
.
isShow
=
fals
e
;
Object
.
assign
(
task
,
{
tasks
:
handleVal
(
copyTasks
,
true
)
});
task
.
isShow
=
tru
e
;
}
if
(
task
.
identitylinks
.
length
===
0
&&
task
.
comments
.
length
===
0
)
{
Object
.
assign
(
task
,
{
taskName
:
task
.
userTaskName
});
...
...
@@ -78,7 +78,12 @@ export const ExtendActionTimeLine = defineComponent({
Object
.
assign
(
comment
,
{
taskName
:
task
.
userTaskName
});
});
task
.
comments
.
sort
(
sortData
);
commentsData
.
push
(...
task
.
comments
);
task
.
comments
.
forEach
((
comment
:
IData
)
=>
{
if
(
isChild
&&
comment
.
type
===
'启动流程'
)
{
return
;
}
commentsData
.
push
(
comment
);
});
}
});
return
commentsData
;
...
...
app_Web/src/components/layout/app-layout/app-layout.tsx
浏览文件 @
b68ea176
...
...
@@ -6,18 +6,11 @@ import '@ibiz-template/theme/style/components/layout/app-layout/app-layout.scss'
function
renderLogo
(
ns
:
Namespace
,
model
:
IndexViewModel
)
{
return
(
<
div
class=
{
[
ns
.
e
(
'logo'
),
model
.
source
?.
mainMenuAlign
?.
toLowerCase
()]
}
>
<
div
class=
{
ns
.
e
(
'logo'
)
}
>
{
model
.
appIconPath
?
(
<
img
class=
{
ns
.
e
(
'logo-img'
)
}
src=
{
model
.
appIconPath
}
></
img
>
)
:
null
}
<
div
class=
{
[
ns
.
e
(
'logo-caption'
),
model
.
source
?.
mainMenuAlign
?.
toLowerCase
(),
]
}
>
{
model
.
caption
}
</
div
>
<
div
class=
{
ns
.
e
(
'logo-caption'
)
}
>
{
model
.
caption
}
</
div
>
</
div
>
);
}
...
...
@@ -56,74 +49,62 @@ export const AppLayout = defineComponent({
return
{
ns
,
collapseChange
,
isBlank
,
collapseMenus
};
},
render
()
{
if
(
this
.
isComplete
)
{
let
content
=
null
;
if
(
this
.
model
.
source
.
mainMenuAlign
===
'CENTER'
)
{
content
=
this
.
$slots
.
menu
;
}
else
{
content
=
[
<
i
-
sider
hide
-
trigger
class=
{
[
this
.
ns
.
b
(
'nav'
),
this
.
ns
.
is
(
'collapse'
,
this
.
collapseChange
),
]
}
value=
{
this
.
collapseChange
}
key=
'1'
>
{
renderLogo
(
this
.
ns
,
this
.
model
)
}
{
this
.
$slots
.
menu
}
</
i
-
sider
>,
<
i
-
layout
class=
{
[
this
.
ns
.
b
(
'content'
)]
}
key=
'2'
>
<
i
-
header
class=
{
this
.
ns
.
b
(
'header'
)
}
key=
'3'
>
<
div
class=
{
this
.
ns
.
be
(
'header'
,
'left'
)
}
>
{
renderLogo
(
this
.
ns
,
this
.
model
)
}
<
div
class=
{
this
.
ns
.
be
(
'header'
,
'collapse-icon'
)
}
>
{
!
this
.
collapseChange
?
(
<
ion
-
icon
src=
{
'./assets/img/menu-fold.svg'
}
on
-
click=
{
()
=>
this
.
collapseMenus
()
}
/>
)
:
(
<
ion
-
icon
src=
{
'./assets/img/menu-unfold.svg'
}
on
-
click=
{
()
=>
this
.
collapseMenus
()
}
/>
)
}
</
div
>
{
this
.
model
.
source
.
mainMenuAlign
===
'TOP'
?
(
<
i
-
menu
class=
{
this
.
ns
.
be
(
'header'
,
'menu'
)
}
mode=
'horizontal'
active
-
name=
'1'
></
i
-
menu
>
)
:
null
}
</
div
>
<
div
class=
{
this
.
ns
.
be
(
'header'
,
'right'
)
}
>
<
app
-
user
/>
</
div
>
</
i
-
header
>
<
i
-
content
class=
{
this
.
ns
.
be
(
'content'
,
'main'
)
}
key=
'4'
>
{
this
.
$slots
.
tabPageExp
}
{
this
.
$slots
.
default
}
</
i
-
content
>
{
/* <i-footer class={this.ns.b('footer')}>Footer</i-footer> */
}
</
i
-
layout
>,
];
}
return
(
<
i
-
layout
return
this
.
isComplete
?
(
<
i
-
layout
class=
{
[
this
.
ns
.
b
(),
this
.
isBlank
?
this
.
ns
.
m
(
'blank'
)
:
''
,
this
.
ns
.
is
(
'collapse'
,
this
.
collapseChange
),
this
.
ns
.
is
(
'tab'
,
this
.
isShowTabPageExp
),
]
}
>
<
i
-
sider
hide
-
trigger
class=
{
[
this
.
ns
.
b
(),
this
.
isBlank
?
this
.
ns
.
m
(
'blank'
)
:
''
,
this
.
ns
.
b
(
'nav'
),
this
.
ns
.
is
(
'collapse'
,
this
.
collapseChange
),
this
.
ns
.
is
(
'tab'
,
this
.
isShowTabPageExp
),
]
}
value=
{
this
.
collapseChange
}
>
{
content
}
{
renderLogo
(
this
.
ns
,
this
.
model
)
}
{
this
.
$slots
.
menu
}
</
i
-
sider
>
<
i
-
layout
class=
{
[
this
.
ns
.
b
(
'content'
)]
}
>
<
i
-
header
class=
{
this
.
ns
.
b
(
'header'
)
}
>
<
div
class=
{
this
.
ns
.
be
(
'header'
,
'left'
)
}
>
{
renderLogo
(
this
.
ns
,
this
.
model
)
}
<
div
class=
{
this
.
ns
.
be
(
'header'
,
'collapse-icon'
)
}
>
{
!
this
.
collapseChange
?
(
<
ion
-
icon
src=
{
'./assets/img/menu-fold.svg'
}
on
-
click=
{
()
=>
this
.
collapseMenus
()
}
/>
)
:
(
<
ion
-
icon
src=
{
'./assets/img/menu-unfold.svg'
}
on
-
click=
{
()
=>
this
.
collapseMenus
()
}
/>
)
}
</
div
>
{
this
.
model
.
source
.
mainMenuAlign
===
'TOP'
?
(
<
i
-
menu
class=
{
this
.
ns
.
be
(
'header'
,
'menu'
)
}
mode=
'horizontal'
active
-
name=
'1'
></
i
-
menu
>
)
:
null
}
</
div
>
<
div
class=
{
this
.
ns
.
be
(
'header'
,
'right'
)
}
>
<
app
-
user
/>
</
div
>
</
i
-
header
>
<
i
-
content
class=
{
this
.
ns
.
be
(
'content'
,
'main'
)
}
>
{
this
.
$slots
.
tabPageExp
}
{
this
.
$slots
.
default
}
</
i
-
content
>
{
/* <i-footer class={this.ns.b('footer')}>Footer</i-footer> */
}
</
i
-
layout
>
);
}
return
null
;
</
i
-
layout
>
)
:
null
;
},
});
app_Web/src/components/widgets/form-control/form-item/form-item.tsx
浏览文件 @
b68ea176
...
...
@@ -33,6 +33,7 @@ export const FormItem = defineComponent({
// 编辑器内容
let
editor
=
null
;
if
(
this
.
c
.
form
.
isLoaded
)
{
this
.
controller
.
editor
?.
calcPlaceHolder
(
this
.
controller
.
disabled
);
if
(
this
.
controller
.
editorProvider
)
{
editor
=
h
(
this
.
controller
.
editorProvider
.
formEditor
,
{
props
:
{
...
...
app_Web/src/components/widgets/grid-control/grid-control.util.ts
浏览文件 @
b68ea176
...
...
@@ -30,6 +30,7 @@ export function generateColumnData(column: GridColumnModel, c: GridController) {
resizable
:
true
,
sortable
:
!
c
.
noSort
&&
column
.
source
.
enableSort
?
'custom'
:
false
,
columnType
:
column
.
source
.
columnType
,
userParams
:
column
.
source
.
userParams
,
};
if
(
columnChildren
.
length
>
0
)
{
Object
.
assign
(
columnData
,
{
children
:
columnChildren
});
...
...
@@ -109,7 +110,10 @@ export function useITableColumns(c: GridController) {
// 如果是操作列,固定右边
const
uaColumn
=
copy
.
find
(
column
=>
column
.
columnType
===
'UAGRIDCOLUMN'
);
if
(
uaColumn
)
{
uaColumn
.
fixed
=
'right'
;
const
userParams
=
uaColumn
.
userParams
;
if
(
userParams
&&
userParams
.
fixed
===
'true'
)
{
uaColumn
.
fixed
=
'right'
;
}
}
return
copy
;
});
...
...
app_Web/src/views/index-view/index-view.vue
浏览文件 @
b68ea176
<
script
setup
lang=
"ts"
>
import
{
ViewNeuron
}
from
'@ibiz-template/controller'
;
import
{
useIndexViewController
}
from
'@ibiz-template/vue-util'
;
import
{
useIndexViewController
,
useNamespace
}
from
'@ibiz-template/vue-util'
;
import
{
computed
,
ComputedRef
,
...
...
@@ -12,6 +12,7 @@ import {
import
{
createUUID
}
from
'qx-util'
;
import
{
useIndexRouteManage
}
from
'./index-view-default'
;
import
{
useIndexExpRouteManage
}
from
'./index-view-exp'
;
import
'@ibiz-template/theme/style/components/views/index-view/index-view.scss'
;
interface
IndexViewProps
{
context
:
IContext
;
...
...
@@ -155,7 +156,7 @@ onMounted(() => {
}
},
300
);
});
const
ns
=
useNamespace
(
'index-view'
);
// 菜单收缩变化
const
collapseChange
=
(
collapse
:
boolean
)
=>
{
c
.
collapseChange
=
collapse
;
...
...
@@ -163,17 +164,59 @@ const collapseChange = (collapse: boolean) => {
</
script
>
<
template
>
<AppLayout
:is-complete=
"c.complete"
:model=
"c.model"
:class=
"c.model?.source?.mainMenuAlign?.toLowerCase()"
:is-show-tab-page-exp=
"isShowTabPageExp"
@
onCollapseChange=
"collapseChange"
>
<template
v-if=
"c.complete"
>
<div
:class=
"ns.b()"
>
<AppLayout
v-if=
"c.model?.source?.mainMenuAlign !== 'CENTER'"
:is-complete=
"c.complete"
:model=
"c.model"
:class=
"c.model?.source?.mainMenuAlign?.toLowerCase()"
:is-show-tab-page-exp=
"isShowTabPageExp"
@
onCollapseChange=
"collapseChange"
>
<template
v-if=
"c.complete"
>
<app-menu
v-if=
"c.complete"
slot=
"menu"
:current-path=
"currentPath"
:model-data=
"c.model.appMenu"
:context=
"c.context"
:collapse-change=
"c.collapseChange"
:menu-model=
"c.model?.source"
@
menuRouteChange=
"onMenuRouteChange"
></app-menu>
<tab-page-exp
v-if=
"isShowTabPageExp"
slot=
"tabPageExp"
:route-msgs=
"routeMsgs"
:current-key=
"currentKey"
@
tab-click=
"handleTabClick"
@
tab-delete=
"handleTabDelete"
@
close-all=
"handleCloseAll"
@
close-other=
"handleCloseOther"
></tab-page-exp>
<AppKeepAlive
v-if=
"!isShowTabPageExp"
:key=
"appKeepAliveKey"
:key-list=
"keyHistory"
>
<router-view
:key=
"currentKey"
@
neuronInit=
"onCreated"
@
viewFound=
"onViewFound"
/>
</AppKeepAlive>
<AppKeepAlive
v-else
:key-list=
"keyHistory"
>
<router-view
:key=
"currentKey"
@
neuronInit=
"onCreated"
@
viewFound=
"onViewFound"
/>
</AppKeepAlive>
</
template
>
</AppLayout>
<div
v-else
>
<app-menu
v-if=
"c.complete"
slot=
"menu"
:current-path=
"currentPath"
:model-data=
"c.model.appMenu"
:context=
"c.context"
...
...
@@ -181,34 +224,6 @@ const collapseChange = (collapse: boolean) => {
:menu-model=
"c.model?.source"
@
menuRouteChange=
"onMenuRouteChange"
></app-menu>
<tab-page-exp
v-if=
"isShowTabPageExp"
slot=
"tabPageExp"
:route-msgs=
"routeMsgs"
:current-key=
"currentKey"
@
tab-click=
"handleTabClick"
@
tab-delete=
"handleTabDelete"
@
close-all=
"handleCloseAll"
@
close-other=
"handleCloseOther"
></tab-page-exp>
<AppKeepAlive
v-if=
"!isShowTabPageExp"
:key=
"appKeepAliveKey"
:key-list=
"keyHistory"
>
<router-view
:key=
"currentKey"
@
neuronInit=
"onCreated"
@
viewFound=
"onViewFound"
/>
</AppKeepAlive>
<AppKeepAlive
v-else
:key-list=
"keyHistory"
>
<router-view
:key=
"currentKey"
@
neuronInit=
"onCreated"
@
viewFound=
"onViewFound"
/>
</AppKeepAlive>
</
template
>
</AppLayout>
</div>
</div>
</template>
trainsys-core/src/main/resources/model/cn/ibizlab/trainsys/PSSYSAPPS/TemplatePublish/PSSYSAPP.json
浏览文件 @
b68ea176
...
...
@@ -1432,16 +1432,16 @@
"codeName"
:
"VMGroup2"
,
"name"
:
"视图消息组2"
,
"getPSAppViewMsgGroupDetails"
:
[
{
"name"
:
"视图消息
2
"
,
"name"
:
"视图消息"
,
"getPSAppViewMsg"
:
{
"modelref"
:
true
,
"id"
:
"ViewMsg
3
"
"id"
:
"ViewMsg
2
"
}
},
{
"name"
:
"视图消息"
,
"name"
:
"视图消息
2
"
,
"getPSAppViewMsg"
:
{
"modelref"
:
true
,
"id"
:
"ViewMsg
2
"
"id"
:
"ViewMsg
3
"
}
}
]
},
{
...
...
trainsys-core/src/main/resources/model/cn/ibizlab/trainsys/PSSYSAPPS/Web/PSSYSAPP.json
浏览文件 @
b68ea176
...
...
@@ -9664,16 +9664,16 @@
"codeName" : "VMGroup2",
"name" : "视图消息组2",
"getPSAppViewMsgGroupDetails" : [ {
"name" : "视图消息
2
",
"name" : "视图消息",
"getPSAppViewMsg" : {
"modelref" : true,
"id" : "ViewMsg
3
"
"id" : "ViewMsg
2
"
}
}, {
"name" : "视图消息",
"name" : "视图消息
2
",
"getPSAppViewMsg" : {
"modelref" : true,
"id" : "ViewMsg
2
"
"id" : "ViewMsg
3
"
}
} ]
}, {
...
...
@@ -9702,22 +9702,22 @@
"codeName" : "VMGroup3",
"name" : "视图消息类型测试",
"getPSAppViewMsgGroupDetails" : [ {
"name" : "消息类型-
警告
信息",
"name" : "消息类型-
常规
信息",
"getPSAppViewMsg" : {
"modelref" : true,
"id" : "ViewMsg
5
"
"id" : "ViewMsg
4
"
}
}, {
"name" : "消息类型-
错误
信息",
"name" : "消息类型-
警告
信息",
"getPSAppViewMsg" : {
"modelref" : true,
"id" : "ViewMsg
6
"
"id" : "ViewMsg
5
"
}
}, {
"name" : "消息类型-
常规
信息",
"name" : "消息类型-
错误
信息",
"getPSAppViewMsg" : {
"modelref" : true,
"id" : "ViewMsg
4
"
"id" : "ViewMsg
6
"
}
} ]
}, {
...
...
@@ -9762,18 +9762,6 @@
"codeName" : "VMGroup8",
"name" : "【静态测试】",
"getPSAppViewMsgGroupDetails" : [ {
"name" : "消息位置-视图下方",
"getPSAppViewMsg" : {
"modelref" : true,
"id" : "ViewMsg8"
}
}, {
"name" : "关闭模式-本次删除-上方-警告",
"getPSAppViewMsg" : {
"modelref" : true,
"id" : "ViewMsg13"
}
}, {
"name" : "消息类型-警告信息",
"getPSAppViewMsg" : {
"modelref" : true,
...
...
@@ -9787,12 +9775,6 @@
"id" : "ViewMsg6"
},
"position" : "POPUP"
}, {
"name" : "关闭模式-无删除-上方-常规",
"getPSAppViewMsg" : {
"modelref" : true,
"id" : "ViewMsg11"
}
}, {
"name" : "消息类型-常规信息",
"getPSAppViewMsg" : {
...
...
@@ -9800,6 +9782,12 @@
"id" : "ViewMsg4"
},
"position" : "POPUP"
}, {
"name" : "关闭模式-无删除-上方-常规",
"getPSAppViewMsg" : {
"modelref" : true,
"id" : "ViewMsg11"
}
}, {
"name" : "消息位置-视图内容区",
"getPSAppViewMsg" : {
...
...
@@ -9812,6 +9800,18 @@
"modelref" : true,
"id" : "ViewMsg12"
}
}, {
"name" : "消息位置-视图下方",
"getPSAppViewMsg" : {
"modelref" : true,
"id" : "ViewMsg8"
}
}, {
"name" : "关闭模式-本次删除-上方-警告",
"getPSAppViewMsg" : {
"modelref" : true,
"id" : "ViewMsg13"
}
} ]
}, {
"codeName" : "VMGroup5",
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录