Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
T
TrainSys
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
苏州培训方案
TrainSys
提交
4986b18d
提交
4986b18d
编写于
9月 22, 2022
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
zhujiamin 发布系统代码 [TrainSys,网页端]
上级
e1537cb0
变更
22
显示空白字符变更
内嵌
并排
正在显示
22 个修改的文件
包含
864 行增加
和
240 行删除
+864
-240
app-full-scren.vue
...e/src/components/common/app-full-scren/app-full-scren.vue
+21
-5
app-user.vue
...ages/ibiz-vue/src/components/common/app-user/app-user.vue
+0
-3
app-style2-content.tsx
...s/common/layout/app-style2-content/app-style2-content.tsx
+145
-0
app-style2-footer.tsx
...nts/common/layout/app-style2-footer/app-style2-footer.tsx
+74
-0
app-style2-header.tsx
...nts/common/layout/app-style2-header/app-style2-header.tsx
+32
-0
app-style2-layout.tsx
...nts/common/layout/app-style2-layout/app-style2-layout.tsx
+29
-0
components-register.ts
...b/packages/ibiz-vue/src/components/components-register.ts
+8
-8
app-default-indexview-layout.tsx
...default-indexview-layout/app-default-indexview-layout.tsx
+3
-0
app-style2-default-layout.tsx
...t/app-style2-default-layout/app-style2-default-layout.tsx
+43
-16
app-style2-indexview-layout.tsx
...p-style2-indexview-layout/app-style2-indexview-layout.tsx
+18
-19
app-style2-mpickupview-layout.tsx
...yle2-mpickupview-layout/app-style2-mpickupview-layout.tsx
+1
-1
app-style2-wfactionview-layout.tsx
...e2-wfactionview-layout/app-style2-wfactionview-layout.tsx
+1
-1
app-style2-wfdynaactionview-layout.tsx
...aactionview-layout/app-style2-wfdynaactionview-layout.tsx
+1
-1
app-full-scren.less
...ibiz-vue/src/styles/components/common/app-full-scren.less
+2
-1
app-header.less
...ges/ibiz-vue/src/styles/components/common/app-header.less
+25
-25
tab-page-exp-style2.less
...vue/src/styles/components/common/tab-page-exp-style2.less
+128
-128
app-default-indexview-layout.less
...tyles/components/layout/app-default-indexview-layout.less
+24
-24
default.less
app_Web/public/assets/theme/default.less
+5
-5
h2_table.xml
trainsys-core/src/main/resources/liquibase/h2_table.xml
+1
-1
Main.json
...PSSYSAPPS/Web/PSAPPDATAENTITIES/Student/PSFORMS/Main.json
+144
-1
studentEditView.json
.../trainsys/PSSYSAPPS/Web/PSAPPDEVIEWS/studentEditView.json
+144
-1
PSSYSAPP.json
...ces/model/cn/ibizlab/trainsys/PSSYSAPPS/Web/PSSYSAPP.json
+15
-0
未找到文件。
app_Web/packages/ibiz-vue/src/components/common/app-full-scren/app-full-scren.vue
浏览文件 @
4986b18d
<
template
>
<div
class=
"app-full-scren"
>
<span><Icon
:type=
"fullScren == true ? 'ios-contract' : 'ios-expand'"
size=
"15"
@
click=
"handleScreen"
/></span>
<span
class=
"title"
@
click=
"handleScreen"
>
{{
$t
(
'components.scren.all'
)
}}
</span>
<span
:title=
"$t('components.scren.all')"
><Icon
:type=
"fullScren == true ? 'ios-contract' : 'ios-expand'"
size=
"15"
@
click=
"handleScreen"
/></span>
</div>
</
template
>
<
script
lang
=
'ts'
>
<
script
lang
=
'ts'
>
import
{
Vue
,
Component
}
from
'vue-property-decorator'
;
@
Component
({})
export
default
class
AppFullScren
extends
Vue
{
export
default
class
AppFullScren
extends
Vue
{
public
fullScren
:
boolean
=
false
;
...
...
@@ -16,7 +15,10 @@ export default class AppFullScren extends Vue{
if
(
this
.
fullscreenEnable
()){
this
.
exitFullScreen
();
}
else
{
this
.
reqFullScreen
();
const
viewElement
:
any
=
document
.
querySelector
(
'.app-content .app-content__right .app-nav-pos'
);
if
(
viewElement
)
{
this
.
elementFullscreen
(
viewElement
);
}
}
}
...
...
@@ -80,6 +82,20 @@ export default class AppFullScren extends Vue{
}
}
/**
* 指定节点全屏
*/
public
elementFullscreen
(
element
:
any
)
{
if
(
element
.
requestFullscreen
)
{
element
.
requestFullscreen
();
}
else
if
(
element
.
mozRequestFullScreen
)
{
element
.
mozRequestFullScreen
();
}
else
if
(
element
.
msRequestFullscreen
){
element
.
msRequestFullscreen
();
}
else
if
(
element
.
webkitRequestFullscreen
)
{
element
.
webkitRequestFullScreen
();
}
}
}
</
script
>
\ No newline at end of file
app_Web/packages/ibiz-vue/src/components/common/app-user/app-user.vue
浏览文件 @
4986b18d
...
...
@@ -6,9 +6,6 @@
<avatar
:src=
"user.avatar"
/>
</div>
<dropdown-menu
class=
"menu"
slot=
"list"
>
<dropdown-item
name=
"fullscren"
>
<app-full-scren
/>
</dropdown-item>
<dropdown-item
name=
"lockscren"
>
<app-lock-scren
/>
</dropdown-item>
...
...
app_Web/packages/ibiz-vue/src/components/common/layout/app-style2-content/app-style2-content.tsx
0 → 100644
浏览文件 @
4986b18d
import
{
Vue
,
Component
}
from
'vue-property-decorator'
;
import
{
on
}
from
'../../../../utils'
;
import
{
VNode
}
from
'vue'
;
/**
* 应用头部
*
* @export
* @class AppStyle2Content
* @extends {Vue}
*/
@
Component
({})
export
class
AppStyle2Content
extends
Vue
{
/**
* Creates an instance of AppStyle2Content.
* @memberof AppStyle2Content
*/
constructor
()
{
super
();
on
(
window
,
'keydown'
,
(
e
:
KeyboardEvent
)
=>
{
if
(
e
.
ctrlKey
&&
e
.
keyCode
===
192
)
{
this
.
changeBottom
();
}
});
}
/**
* 组件创建完毕
*
* @protected
* @memberof AppStyle2Content
*/
protected
created
():
void
{
if
(
this
.
$slots
.
bottom
)
{
this
.
$footerRenderService
.
registerRightItem
(()
=>
{
return
(
<
div
title=
{
this
.
$t
(
'components.content.title'
)
}
class=
"action-item"
on
-
click=
{
()
=>
this
.
changeBottom
()
}
>
<
svg
t=
"1562669728550"
viewBox=
"0 0 1024 1024"
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
p
-
id=
"1118"
width=
"18"
height=
"18"
class=
"icon"
>
<
path
d=
"M170.666667 170.666667h682.666666a85.333333 85.333333 0 0 1 85.333334 85.333333v512a85.333333 85.333333 0 0 1-85.333334 85.333333H170.666667a85.333333 85.333333 0 0 1-85.333334-85.333333V256a85.333333 85.333333 0 0 1 85.333334-85.333333z m0 85.333333v512h682.666666V256H170.666667z m341.333333 341.333333h256v85.333334h-256v-85.333334z m-43.306667-103.637333L317.866667 644.565333l-60.330667-60.373333 90.453333-90.453333-90.453333-90.538667L317.866667 342.869333l150.826666 150.826667z"
p
-
id=
"1119"
></
path
>
</
svg
>
</
div
>
);
},
0
);
}
}
/**
* 内容区底部区域,显示变更
*
* @protected
* @param {boolean} [judge]
* @memberof AppStyle2Content
*/
protected
changeBottom
(
judge
?:
boolean
):
void
{
if
(
judge
!==
undefined
)
{
this
.
$uiState
.
changeLayoutState
({
contentBottomShow
:
judge
,
});
}
else
{
this
.
$uiState
.
changeLayoutState
({
contentBottomShow
:
!
this
.
$uiState
.
layoutState
.
contentBottomShow
,
});
}
}
/**
* 绘制内容
*
* @protected
* @param {boolean} isSlot
* @returns {*}
* @memberof AppStyle2Content
*/
protected
renderContent
(
isSlot
:
boolean
):
any
{
return
(
<
div
slot=
{
isSlot
?
'right'
:
null
}
class=
{
{
'app-style2-content__right'
:
true
,
'is-hidden'
:
!
this
.
$uiState
.
layoutState
.
contentBottomShow
||
!
this
.
$slots
.
bottom
,
}
}
>
<
split
mode=
"vertical"
v
-
model=
{
this
.
$uiState
.
layoutState
.
contentVerticalSplit
}
max=
{
0.1
}
>
<
div
slot=
"top"
class=
"app-style2-content__right__top"
>
{
this
.
$slots
.
default
}
</
div
>
{
this
.
$slots
.
bottom
?
(
<
div
slot=
"bottom"
class=
"app-style2-content__right__bottom"
>
<
div
class=
"bottom__icon"
on
-
click=
{
()
=>
this
.
changeBottom
(
false
)
}
>
<
icon
type=
"ios-arrow-down"
/>
</
div
>
{
this
.
$slots
.
bottom
}
</
div
>
)
:
null
}
</
split
>
</
div
>
);
}
/**
* 绘制内容
*
* @returns {VNode}
* @memberof AppStyle2Content
*/
public
render
():
VNode
{
let
content
:
any
=
null
;
if
(
this
.
$uiState
.
layoutState
.
styleMode
===
'STYLE2'
)
{
content
=
[<
div
class=
"app-style2-content__nav"
>
{
this
.
$slots
.
left
}
</
div
>,
this
.
renderContent
(
false
)];
}
else
{
content
=
this
.
$slots
.
left
?
(
<
split
class=
{
{
'app-style2-content__split'
:
true
,
'is-hidden'
:
!
this
.
$uiState
.
layoutState
.
leftExpContentShow
}
}
v
-
model=
{
this
.
$uiState
.
layoutState
.
contentHorizontalSplit
}
min=
{
0.1
}
max=
{
0.5
}
>
<
div
slot=
"left"
>
{
this
.
$slots
.
left
}
</
div
>
{
this
.
renderContent
(
true
)
}
</
split
>
)
:
(
this
.
renderContent
(
false
)
);
}
return
<
div
class=
"app-style2-content"
>
{
content
}
</
div
>;
}
}
\ No newline at end of file
app_Web/packages/ibiz-vue/src/components/common/layout/app-style2-footer/app-style2-footer.tsx
0 → 100644
浏览文件 @
4986b18d
import
{
Vue
,
Component
}
from
'vue-property-decorator'
;
import
{
VNode
,
CreateElement
}
from
'vue'
;
import
{
FooterItemsService
}
from
'../../../../app-service'
;
import
{
Subscription
}
from
'rxjs'
;
/**
* 应用头部
*
* @export
* @class AppStyle2Footer
* @extends {Vue}
*/
@
Component
({})
export
class
AppStyle2Footer
extends
Vue
{
/**
* 底部项绘制服务
*
* @private
* @memberof AppStyle2Footer
*/
private
footerItemsService
=
new
FooterItemsService
();
/**
* @description 组件事件
* @type {(Subscription | undefined)}
* @memberof AppStyle2Footer
*/
public
footerEvent
:
Subscription
|
undefined
;
/**
* 组件创建完毕
*
* @memberof AppStyle2Footer
*/
public
created
():
void
{
this
.
footerEvent
=
this
.
footerItemsService
.
tickTrigger
().
subscribe
(()
=>
{
this
.
$nextTick
();
});
}
public
destroyed
()
{
if
(
this
.
footerEvent
)
{
this
.
footerEvent
.
unsubscribe
();
}
}
/**
* 绘制内容
*
* @returns {VNode}
* @memberof AppStyle2Footer
*/
public
render
(
h
:
CreateElement
):
VNode
{
return
(
<
div
class=
"app-style2-footer"
>
<
div
class=
"app-style2-footer__left"
>
{
this
.
footerItemsService
.
leftItemsRenders
.
map
((
item
)
=>
{
return
<
div
class=
"item"
>
{
item
(
h
)
}
</
div
>;
})
}
</
div
>
<
div
class=
"app-style2-footer__content"
>
{
this
.
footerItemsService
.
centerItemsRenders
.
map
((
item
)
=>
{
return
<
div
class=
"item"
>
{
item
(
h
)
}
</
div
>;
})
}
</
div
>
<
div
class=
"app-style2-footer__right"
>
{
this
.
footerItemsService
.
rightItemsRenders
.
map
((
item
)
=>
{
return
<
div
class=
"item"
>
{
item
(
h
)
}
</
div
>;
})
}
</
div
>
</
div
>
);
}
}
app_Web/packages/ibiz-vue/src/components/common/layout/app-style2-header/app-style2-header.tsx
0 → 100644
浏览文件 @
4986b18d
import
{
Vue
,
Component
}
from
'vue-property-decorator'
;
import
{
VNode
}
from
'vue'
;
/**
* 应用头部
*
* @export
* @class AppStyle2Header
* @extends {Vue}
*/
@
Component
({})
export
class
AppStyle2Header
extends
Vue
{
/**
* 绘制内容
*
* @returns {VNode}
* @memberof AppStyle2Header
*/
public
render
(
h
:
any
):
VNode
{
return
(
<
div
class=
"app-style2-header"
>
<
div
class=
"app-style2-header__left"
>
{
this
.
$slots
.
left
}
{
Object
.
is
(
this
.
$uiState
.
layoutState
.
styleMode
,
'STYLE2'
)
?
(
<
app
-
breadcrumb
></
app
-
breadcrumb
>
)
:
null
}
</
div
>
<
div
class=
"app-style2-header__right"
>
{
this
.
$slots
.
right
}
</
div
>
</
div
>
);
}
}
app_Web/packages/ibiz-vue/src/components/common/layout/app-style2-layout/app-style2-layout.tsx
0 → 100644
浏览文件 @
4986b18d
import
{
Vue
,
Component
}
from
'vue-property-decorator'
;
import
{
VNode
}
from
'vue'
;
/**
* 应用布局容器
*
* @export
* @class AppStyle2Layout
* @extends {Vue}
*/
@
Component
({})
export
class
AppStyle2Layout
extends
Vue
{
/**
* 绘制内容
*
* @returns {VNode}
* @memberof AppStyle2Layout
*/
public
render
():
VNode
{
return
(
<
div
class=
'app-style2-layout'
>
<
div
class=
"app-style2-header"
>
{
this
.
$slots
.
header
}
</
div
>
<
div
class=
"app-style2-content"
>
{
this
.
$slots
.
default
}
</
div
>
<
div
class=
"app-style2-footer"
>
{
this
.
$slots
.
footer
}
</
div
>
</
div
>
);
}
}
app_Web/packages/ibiz-vue/src/components/components-register.ts
浏览文件 @
4986b18d
...
...
@@ -97,14 +97,14 @@ import AppColorSpan from './common/app-color-span/app-color-span.vue';
import
AppColorPicker
from
'./common/app-color-picker/app-color-picker.vue'
;
import
AppPortalDesign
from
'./common/app-portal-design/app-portal-design.vue'
;
import
AppNotSupportedEditor
from
'./common/app-not-supported-editor/app-not-supported-editor.vue'
;
import
{
App
Layout
}
from
'./common/layout/app-layout/app
-layout'
;
import
{
App
Header
}
from
'./common/layout/app-header/app
-header'
;
import
{
App
Style2Layout
}
from
'./common/layout/app-style2-layout/app-style2
-layout'
;
import
{
App
Style2Header
}
from
'./common/layout/app-style2-header/app-style2
-header'
;
import
{
AppHeaderRightMenus
}
from
'./common/app-header-right-menus/app-header-right-menus'
;
import
{
App
Content
}
from
'./common/layout/app-content/app
-content'
;
import
{
App
Style2Content
}
from
'./common/layout/app-style2-content/app-style2
-content'
;
import
{
AppContentLeftExp
}
from
'./common/layout/app-content-left-exp/app-content-left-exp'
;
import
{
AppContentLeftNavMenu
}
from
'./common/layout/app-content-left-nav-menu/app-content-left-nav-menu'
;
import
{
AppContentBottomExp
}
from
'./common/layout/app-content-bottom-exp/app-content-bottom-exp'
;
import
{
App
Footer
}
from
'./common/layout/app-footer/app
-footer'
;
import
{
App
Style2Footer
}
from
'./common/layout/app-style2-footer/app-style2
-footer'
;
import
TabPageExpStyle2
from
'./common/tab-page-exp-style2/tab-page-exp-style2.vue'
;
import
FilterTree
from
'./common/filter-tree/filter-tree.vue'
;
import
DropdownListHidden
from
'./common/dropdown-list-hidden/dropdown-list-hidden.vue'
...
...
@@ -295,14 +295,14 @@ export const ComponentsRegister = {
v
.
component
(
'app-common-microcom'
,
AppCommonMicrocom
);
v
.
component
(
'dropdown-list-hidden'
,
DropdownListHidden
);
v
.
component
(
'tab-page-exp-style2'
,
TabPageExpStyle2
);
v
.
component
(
'app-layout'
,
AppLayout
);
v
.
component
(
'app-header'
,
AppHeader
);
v
.
component
(
'app-layout'
,
App
Style2
Layout
);
v
.
component
(
'app-header'
,
App
Style2
Header
);
v
.
component
(
'app-header-right-menus'
,
AppHeaderRightMenus
);
v
.
component
(
'app-content'
,
AppContent
);
v
.
component
(
'app-content'
,
App
Style2
Content
);
v
.
component
(
'app-content-left-exp'
,
AppContentLeftExp
);
v
.
component
(
'app-content-left-nav-menu'
,
AppContentLeftNavMenu
);
v
.
component
(
'app-content-bottom-exp'
,
AppContentBottomExp
);
v
.
component
(
'app-footer'
,
AppFooter
);
v
.
component
(
'app-footer'
,
App
Style2
Footer
);
v
.
component
(
'app-department-personnel'
,
AppDepartmentPersonnel
);
v
.
component
(
'app-panel-field'
,
AppPanelField
);
v
.
component
(
'app-full-scren'
,
AppFullScren
);
...
...
app_Web/packages/ibiz-vue/src/components/layout/app-default-layout/app-default-indexview-layout/app-default-indexview-layout.tsx
浏览文件 @
4986b18d
...
...
@@ -233,6 +233,7 @@ export class AppDefaultIndexViewLayout extends AppDefaultViewLayout {
{
this
.
Environment
.
showLang
&&
<
app
-
lang
title=
{
this
.
model
.
srfTitle
||
this
.
model
.
srfCaption
}
/>
}
{
this
.
Environment
.
showOrg
&&
<
app
-
orgsector
/>
}
<
app
-
user
viewStyle=
{
this
.
viewInstance
.
viewStyle
}
/>
<
app
-
full
-
scren
/>
<
app
-
message
-
popover
/>
</
div
>
</
header
>
:
null
...
...
@@ -272,6 +273,7 @@ export class AppDefaultIndexViewLayout extends AppDefaultViewLayout {
{
this
.
Environment
.
showLang
&&
<
app
-
lang
title=
{
this
.
model
.
srfTitle
||
this
.
model
.
srfCaption
}
style=
'font-size: 15px;padding: 0 10px;'
/>
}
{
this
.
Environment
.
showOrg
&&
<
app
-
orgsector
/>
}
<
app
-
user
viewStyle=
{
this
.
viewInstance
.
viewStyle
}
/>
<
app
-
full
-
scren
/>
<
app
-
message
-
popover
/>
</
div
>
</
header
>
...
...
@@ -308,6 +310,7 @@ export class AppDefaultIndexViewLayout extends AppDefaultViewLayout {
{
this
.
Environment
.
showLang
&&
<
app
-
lang
title=
{
this
.
model
.
srfTitle
||
this
.
model
.
srfCaption
}
></
app
-
lang
>
}
{
this
.
Environment
.
showOrg
&&
<
app
-
orgsector
></
app
-
orgsector
>
}
<
app
-
user
viewStyle=
{
this
.
viewInstance
.
viewStyle
}
></
app
-
user
>
<
app
-
full
-
scren
/>
<
app
-
message
-
popover
></
app
-
message
-
popover
>
</
div
>
</
header
>
...
...
app_Web/packages/ibiz-vue/src/components/layout/app-style2-layout/app-style2-default-layout/app-style2-default-layout.tsx
浏览文件 @
4986b18d
...
...
@@ -41,7 +41,7 @@ export class AppStyle2DefaultLayout extends Vue {
/**
* 视图模型数据
*
* @memberof App
DefaultView
Layout
* @memberof App
Style2Default
Layout
*/
@
Prop
()
public
model
!
:
any
;
...
...
@@ -61,33 +61,61 @@ export class AppStyle2DefaultLayout extends Vue {
}
}
/**
* 绘制参数
*
* @readonly
* @memberof AppStyle2DefaultLayout
*/
public
renderOptions
:
any
=
{
viewClassNames
:
{}
};
/**
* @description Vue生命周期,实例创建完成
* @memberof AppStyle2DefaultLayout
*/
public
created
()
{
this
.
initRenderOptions
();
}
/**
* 初始化类名
*
* @memberof AppStyle2DefaultLayout
*/
public
initRender
ClassNames
(
otherClassNames
?:
any
)
{
let
classNames
:
any
=
{
"view-style2"
:
true
,
[
this
.
viewInstance
.
viewType
?.
toLowerCase
()]:
true
,
[
Util
.
srfFilePath2
(
this
.
viewInstance
?.
codeName
)]:
true
,
public
initRender
Options
(
opts
:
any
=
{}
)
{
this
.
renderOptions
=
{};
const
{
viewType
,
viewStyle
,
codeName
}
=
this
.
viewInstance
;
const
viewClassNames
:
any
=
{
'view-container'
:
true
};
if
(
this
.
viewInstance
.
getPSSysCss
()
){
Object
.
assign
(
classNames
,
{
[
this
.
viewInstance
.
getPSSysCss
()?.
cssName
||
''
]:
true
,
});
if
(
viewType
)
{
Object
.
assign
(
viewClassNames
,
{
[
viewType
?.
toLowerCase
()]:
true
});
}
if
(
viewStyle
)
{
Object
.
assign
(
viewClassNames
,
{
[
`view-style-
${
viewStyle
.
toLowerCase
()}
`
]:
true
});
}
else
{
Object
.
assign
(
viewClassNames
,
{
[
`view-style-default`
]:
true
});
}
if
(
otherClassNames
)
{
Object
.
assign
(
classNames
,
{...
otherClassNames
});
if
(
codeName
)
{
Object
.
assign
(
viewClassNames
,
{
[
Util
.
srfFilePath2
(
codeName
)]:
true
});
}
return
classNames
;
if
(
this
.
viewInstance
?.
getPSSysCss
?.()?.
cssName
)
{
Object
.
assign
(
viewClassNames
,
{
[
this
.
viewInstance
.
getPSSysCss
()?.
cssName
]:
true
});
}
if
(
!
this
.
showCaption
)
{
Object
.
assign
(
viewClassNames
,
{
'nocaption'
:
true
});
}
Object
.
assign
(
viewClassNames
,
opts
);
this
.
$set
(
this
.
renderOptions
,
'viewClassNames'
,
viewClassNames
);
}
/**
* 是否显示标题栏
*
* @readonly
* @memberof App
DefaultView
Layout
* @memberof App
Style2Default
Layout
*/
get
showCaption
(){
if
(
this
.
viewInstance
&&
this
.
$parent
&&
Util
.
isExist
(
this
.
viewInstance
.
showCaptionBar
)){
...
...
@@ -128,7 +156,7 @@ export class AppStyle2DefaultLayout extends Vue {
*/
public
render
(
h
:
any
):
any
{
const
{
codeName
}
=
this
.
viewInstance
;
const
viewClassNames
=
this
.
initRenderClassNames
()
;
const
{
viewClassNames
}
=
this
.
renderOptions
;
const
styleMode
:
any
=
this
.
$uiState
.
layoutState
.
styleMode
;
if
(
Object
.
is
(
'DEFAULT'
,
styleMode
))
{
return
(
...
...
@@ -183,7 +211,6 @@ export class AppStyle2DefaultLayout extends Vue {
}
else
{
return
(
<
studio
-
view
-
style2
style=
{
{
'font-family'
:
this
.
selectFont
}
}
viewName=
{
codeName
?.
toLowerCase
()
}
viewTitle=
{
this
.
model
.
srfCaption
}
viewInstance=
{
this
.
viewInstance
}
...
...
app_Web/packages/ibiz-vue/src/components/layout/app-style2-layout/app-style2-indexview-layout/app-style2-indexview-layout.tsx
浏览文件 @
4986b18d
...
...
@@ -125,11 +125,10 @@ export class AppStyle2IndexViewLayout extends AppStyle2DefaultLayout {
* @memberof AppStyle2IndexViewLayout
*/
public
render
(
h
:
any
):
any
{
const
viewClassNames
=
this
.
initRenderClassNames
()
;
const
{
viewClassNames
}
=
this
.
renderOptions
;
if
(
this
.
viewInstance
&&
this
.
viewInstance
.
mainMenuAlign
&&
Object
.
is
(
this
.
viewInstance
.
mainMenuAlign
,
"CENTER"
))
{
const
{
codeName
}
=
this
.
viewInstance
;
return
(<
studio
-
view
style=
{
{
'font-family'
:
this
.
selectFont
}
}
viewName=
{
codeName
?.
toLowerCase
()
}
viewTitle=
{
this
.
model
.
srfCaption
}
viewInstance=
{
this
.
viewInstance
}
...
...
@@ -149,16 +148,16 @@ export class AppStyle2IndexViewLayout extends AppStyle2DefaultLayout {
leftContent
=
this
.
$slots
.
leftNavMenu
;
}
return
(
<
app
-
layout
ref=
"appLayout"
style=
{
{
'font-family'
:
this
.
selectFont
}
}
class=
{
viewClassNames
}
>
<
template
slot=
"
app_layout_
header"
>
<
app
-
header
>
<
template
slot=
"
app_header_
left"
>
<
div
class=
"
tapp_header
_caption"
>
{
this
.
viewInstance
.
enableAppSwitch
?
<
span
class=
"
app-header__caption__menu
icon"
on
-
click=
{
()
=>
this
.
contextMenuDragVisiable
=
!
this
.
contextMenuDragVisiable
}
><
icon
type=
"md-menu"
/>
</
span
>
:
null
}
<
app
-
style2
-
layout
ref=
"appLayout"
class=
{
viewClassNames
}
>
<
template
slot=
"header"
>
<
app
-
style2
-
header
>
<
template
slot=
"left"
>
<
div
class=
"
app-style2-header__left_
_caption"
>
{
this
.
viewInstance
.
enableAppSwitch
?
<
span
class=
"
caption__
icon"
on
-
click=
{
()
=>
this
.
contextMenuDragVisiable
=
!
this
.
contextMenuDragVisiable
}
><
icon
type=
"md-menu"
/>
</
span
>
:
null
}
{
this
.
showCaption
?
this
.
model
.
srfCaption
:
null
}
</
div
>
</
template
>
<
template
slot=
"
app_header_
right"
>
<
template
slot=
"right"
>
{
this
.
$slots
.
headerMenus
}
{
this
.
$topRenderService
.
rightItemsRenders
.
map
((
fun
:
any
)
=>
fun
(
h
))
}
<
app
-
lang
title=
{
this
.
model
.
srfTitle
||
this
.
model
.
srfCaption
}
></
app
-
lang
>
...
...
@@ -166,33 +165,33 @@ export class AppStyle2IndexViewLayout extends AppStyle2DefaultLayout {
{
<
app
-
user
viewStyle=
{
this
.
viewInstance
.
viewStyle
}
/>
}
{
/* {<app-custom-theme viewStyle={this.viewInstance.viewStyle}></app-custom-theme>} */
}
</
template
>
</
app
-
header
>
</
app
-
style2
-
header
>
{
this
.
$slots
.
default
}
{
this
.
viewInstance
.
enableAppSwitch
?
<
context
-
menu
-
drag
viewStyle=
{
this
.
viewInstance
.
viewStyle
}
contextMenuDragVisiable=
{
this
.
contextMenuDragVisiable
}
></
context
-
menu
-
drag
>
:
null
}
</
template
>
<
app
-
content
>
<
app
-
style2
-
content
>
{
leftContent
?
<
template
slot=
"
app_content_
left"
>
<
template
slot=
"left"
>
{
leftContent
}
</
template
>
:
null
}
{
styleMode
===
'DEFAULT'
?
this
.
$slots
.
tabPageExp
:
null
}
<
div
class=
"
view-warp
"
on
-
click=
{
()
=>
this
.
contextMenuDragVisiable
=
false
}
>
<
div
class=
"
app-style2-content
"
on
-
click=
{
()
=>
this
.
contextMenuDragVisiable
=
false
}
>
<
app
-
keep
-
alive
routerList=
{
this
.
routerList
}
>
<
router
-
view
key=
{
this
.
routerViewKey
}
></
router
-
view
>
</
app
-
keep
-
alive
>
</
div
>
{
this
.
$slots
.
bootomExp
?
<
template
slot=
"
app_content_
bottom"
>
<
template
slot=
"bottom"
>
{
this
.
$slots
.
bootomExp
}
</
template
>
:
null
}
</
app
-
content
>
<
template
slot=
"
app_layout_
footer"
>
</
app
-
style2
-
content
>
<
template
slot=
"footer"
>
{
this
.
viewInstance
.
defaultPage
?
<
app
-
footer
v
-
notification
-
signal=
{
this
.
appLoadingService
.
isLoading
}
ref=
"footer"
/>
:
<
app
-
footer
ref=
"footer"
/>
?
<
app
-
style2
-
footer
v
-
notification
-
signal=
{
this
.
appLoadingService
.
isLoading
}
ref=
"footer"
/>
:
<
app
-
style2
-
footer
ref=
"footer"
/>
}
</
template
>
</
app
-
layout
>
</
app
-
style2
-
layout
>
);
}
...
...
app_Web/packages/ibiz-vue/src/components/layout/app-style2-layout/app-style2-mpickupview-layout/app-style2-mpickupview-layout.tsx
浏览文件 @
4986b18d
...
...
@@ -13,7 +13,7 @@ export class AppStyle2MPickupViewLayout extends AppStyle2DefaultLayout {
public
render
()
{
const
{
codeName
}
=
this
.
viewInstance
;
const
viewClassNames
=
this
.
initRenderClassNames
()
;
const
{
viewClassNames
}
=
this
.
renderOptions
;
return
(
<
studio
-
view
viewName=
{
codeName
?.
toLowerCase
()
}
...
...
app_Web/packages/ibiz-vue/src/components/layout/app-style2-layout/app-style2-wfactionview-layout/app-style2-wfactionview-layout.tsx
浏览文件 @
4986b18d
...
...
@@ -11,7 +11,7 @@ export class AppStyle2WFActionViewLayout extends AppStyle2DefaultLayout {
*/
public
render
(
h
:
any
):
any
{
const
{
codeName
}
=
this
.
viewInstance
;
const
viewClassNames
=
this
.
initRenderClassNames
()
;
const
{
viewClassNames
}
=
this
.
renderOptions
;
const
styleMode
:
any
=
this
.
$uiState
.
layoutState
.
styleMode
;
if
(
Object
.
is
(
'DEFAULT'
,
styleMode
))
{
return
(
...
...
app_Web/packages/ibiz-vue/src/components/layout/app-style2-layout/app-style2-wfdynaactionview-layout/app-style2-wfdynaactionview-layout.tsx
浏览文件 @
4986b18d
...
...
@@ -11,7 +11,7 @@ export class AppStyle2WFDynaActionViewLayout extends AppStyle2DefaultLayout {
*/
public
render
(
h
:
any
):
any
{
const
{
codeName
}
=
this
.
viewInstance
;
const
viewClassNames
=
this
.
initRenderClassNames
()
;
const
{
viewClassNames
}
=
this
.
renderOptions
;
const
styleMode
:
any
=
this
.
$uiState
.
layoutState
.
styleMode
;
if
(
Object
.
is
(
'DEFAULT'
,
styleMode
))
{
return
(
...
...
app_Web/packages/ibiz-vue/src/styles/components/common/app-full-scren.less
浏览文件 @
4986b18d
.app-full-scren{
display: flex;
cursor: pointer;
margin: 0 6px 0 0;
flex-direction: row;
justify-content: space-between;
cursor:pointer;
}
.ivu-icon-ios-expand{
font-weight: bolder;
...
...
app_Web/packages/ibiz-vue/src/styles/components/common/app-header.less
浏览文件 @
4986b18d
.app-style2-header {
display: flex;
justify-content: space-between;
height: 100%;
box-shadow: 1px 0 6px 0 rgba(39, 54, 78, 0.12);
padding: 0px 6px;
//
.app-style2-header {
//
display: flex;
//
justify-content: space-between;
//
height: 100%;
//
box-shadow: 1px 0 6px 0 rgba(39, 54, 78, 0.12);
//
padding: 0px 6px;
> .app-header-left {
.app-header__caption {
font-size: 18px;
font-weight: 700;
}
.app-header__caption__menuicon{
cursor: pointer;
}
}
//
> .app-header-left {
//
.app-header__caption {
//
font-size: 18px;
//
font-weight: 700;
//
}
//
.app-header__caption__menuicon{
//
cursor: pointer;
//
}
//
}
> .app-header-left,
> .app-header-center,
> .app-header-right {
display: flex;
align-items: center;
.app-header-menus{
margin-right: 100px;
}
}
}
//
> .app-header-left,
//
> .app-header-center,
//
> .app-header-right {
//
display: flex;
//
align-items: center;
//
.app-header-menus{
//
margin-right: 100px;
//
}
//
}
//
}
app_Web/packages/ibiz-vue/src/styles/components/common/tab-page-exp-style2.less
浏览文件 @
4986b18d
.view-style2 {
.ibiz-page-tag {
position: relative;
box-sizing: border-box;
height: 34px;
padding: 0 60px 0 30px;
margin: 0;
}
.ibiz-page-tag__body {
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
.ivu-tag:hover,
.ivu-tag.tag-is-active {
.ivu-icon-ios-close {
visibility: initial;
}
}
span {
.ivu-tag:last-child {
border-right: none;
}
}
}
.move-btn {
font-size: 18px;
width: 30px;
height: 34px;
line-height: 34px;
text-align: center;
cursor: pointer;
border-right: none;
}
.move-btn:hover {
background: #efefef;
}
.ibiz-page-tag__left,
.ibiz-page-tag__right,
.ivu-dropdown {
position: absolute;
top: 0;
}
.ibiz-page-tag__left {
left: 0;
}
.ibiz-page-tag__right {
right: 30px;
}
.ivu-dropdown {
right: 0;
}
.ibiz-page-tag__body__tags {
position: absolute;
overflow: visible;
white-space: nowrap;
transition: left 0.3s ease;
.ivu-tag {
margin: 0;
height: 34px;
line-height: 34px;
border: 0;
border-radius: 0;
font-size: 14px;
}
.ivu-icon-ios-close {
visibility: hidden;
}
.tag-caption-content__text-icon::before {
vertical-align: initial;
}
.tags-transition-move {
transition: transform 0.3s;
}
.tags-transition-enter,
.tags-transition-leave-to {
opacity: 0;
}
.tag-caption-content__text-image {
height: 16px;
margin-bottom: -3px;
}
}
.body__tags__tag-text {
cursor: pointer;
display: table-cell;
.ivu-tooltip {
display: block;
}
.ivu-tooltip-rel {
display: block;
max-width: 200px;
overflow: hidden;
text-overflow: ellipsis;
}
.tag-caption-content {
max-width: 250px;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
}
}
.app-theme-default {
.view-style2 .ibiz-page-tag {
background-color: #57A3FD;
}
}
\ No newline at end of file
// .view-style2 {
// .ibiz-page-tag {
// position: relative;
// box-sizing: border-box;
// height: 34px;
// padding: 0 60px 0 30px;
// margin: 0;
// }
// .ibiz-page-tag__body {
// position: relative;
// width: 100%;
// height: 100%;
// overflow: hidden;
// .ivu-tag:hover,
// .ivu-tag.tag-is-active {
// .ivu-icon-ios-close {
// visibility: initial;
// }
// }
// span {
// .ivu-tag:last-child {
// border-right: none;
// }
// }
// }
// .move-btn {
// font-size: 18px;
// width: 30px;
// height: 34px;
// line-height: 34px;
// text-align: center;
// cursor: pointer;
// border-right: none;
// }
// .move-btn:hover {
// background: #efefef;
// }
// .ibiz-page-tag__left,
// .ibiz-page-tag__right,
// .ivu-dropdown {
// position: absolute;
// top: 0;
// }
// .ibiz-page-tag__left {
// left: 0;
// }
// .ibiz-page-tag__right {
// right: 30px;
// }
// .ivu-dropdown {
// right: 0;
// }
// .ibiz-page-tag__body__tags {
// position: absolute;
// overflow: visible;
// white-space: nowrap;
// transition: left 0.3s ease;
// .ivu-tag {
// margin: 0;
// height: 34px;
// line-height: 34px;
// border: 0;
// border-radius: 0;
// font-size: 14px;
// }
// .ivu-icon-ios-close {
// visibility: hidden;
// }
// .tag-caption-content__text-icon::before {
// vertical-align: initial;
// }
// .tags-transition-move {
// transition: transform 0.3s;
// }
// .tags-transition-enter,
// .tags-transition-leave-to {
// opacity: 0;
// }
// .tag-caption-content__text-image {
// height: 16px;
// margin-bottom: -3px;
// }
// }
// .body__tags__tag-text {
// cursor: pointer;
// display: table-cell;
// .ivu-tooltip {
// display: block;
// }
// .ivu-tooltip-rel {
// display: block;
// max-width: 200px;
// overflow: hidden;
// text-overflow: ellipsis;
// }
// .tag-caption-content {
// max-width: 250px;
// text-overflow: ellipsis;
// white-space: nowrap;
// overflow: hidden;
// }
// }
// }
// .app-theme-default {
// .view-style2 .ibiz-page-tag {
// background-color: #57A3FD;
// }
// }
\ No newline at end of file
app_Web/packages/ibiz-vue/src/styles/components/layout/app-default-indexview-layout.less
浏览文件 @
4986b18d
...
...
@@ -64,27 +64,27 @@
}
}
.view-style2.appindexview{
.app-header{
.app-header-left,.app-header-center,.app-header-right{
flex-grow: 1;
display: flex;
}
.app-header-right{
justify-content: end;
}
.ivu-dropdown{
position: static;
display: inline-block;
font-size: 15px;
padding: 0px 10px
}
}
.app-lang{
font-size: 15px;
padding: 0 10px;
}
.ivu-split-pane{
height: 100%;
}
}
\ No newline at end of file
// .view-style2.appindexview{
// .app-header{
// .app-header-left,.app-header-center,.app-header-right{
// flex-grow: 1;
// display: flex;
// }
// .app-header-right{
// justify-content: end;
// }
// .ivu-dropdown{
// position: static;
// display: inline-block;
// font-size: 15px;
// padding: 0px 10px
// }
// }
// .app-lang{
// font-size: 15px;
// padding: 0 10px;
// }
// .ivu-split-pane{
// height: 100%;
// }
// }
\ No newline at end of file
app_Web/public/assets/theme/default.less
浏览文件 @
4986b18d
...
...
@@ -2196,8 +2196,8 @@ body {
}
}
.view-style2{
.app-footer{
background-color: @color-primary-base;
}
}
\ No newline at end of file
// .view-style2{
// .app-footer{
// background-color: @color-primary-base;
// }
// }
\ No newline at end of file
trainsys-core/src/main/resources/liquibase/h2_table.xml
浏览文件 @
4986b18d
...
...
@@ -264,7 +264,7 @@
</changeSet>
<!--输出实体[STUDENT]数据结构 -->
<changeSet
author=
"root"
id=
"tab-student-4
4
-10"
>
<changeSet
author=
"root"
id=
"tab-student-4
5
-10"
>
<createTable
tableName=
"T_STUDENT"
>
<column
name=
"CREATEMAN"
remarks=
""
type=
"VARCHAR(60)"
>
</column>
...
...
trainsys-core/src/main/resources/model/cn/ibizlab/trainsys/PSSYSAPPS/Web/PSAPPDATAENTITIES/Student/PSFORMS/Main.json
浏览文件 @
4986b18d
...
...
@@ -24,6 +24,24 @@
"modelref"
:
true
,
"path"
:
"PSSYSAPPS/Web/PSAPPDATAENTITIES/Student.json"
},
"getPSAppViewLogics"
:
[
{
"logicTrigger"
:
"CUSTOM"
,
"logicType"
:
"APPVIEWUIACTION"
,
"name"
:
"form_button1_click"
,
"getPSAppViewUIAction"
:
{
"modelref"
:
true
,
"id"
:
"form_button1"
}
}
],
"getPSAppViewUIActions"
:
[
{
"name"
:
"form_button1"
,
"getPSUIAction"
:
{
"modelref"
:
true
,
"id"
:
"Refresh"
},
"uIActionTarget"
:
"SINGLEKEY"
,
"xDataControlName"
:
"form"
}
],
"getPSControlLogics"
:
[
{
"eventNames"
:
"LOAD;SAVE;REMOVE"
,
"logicTag"
:
"form"
,
...
...
@@ -78,6 +96,13 @@
"id"
:
"srfsourcekey"
,
"hidden"
:
true
,
"dataType"
:
25
},
{
"id"
:
"age"
,
"dataType"
:
9
,
"getPSAppDEField"
:
{
"name"
:
"AGE"
,
"codeName"
:
"Age"
}
},
{
"id"
:
"studentname"
,
"dataType"
:
25
,
...
...
@@ -136,12 +161,41 @@
"detailType"
:
"GROUPPANEL"
,
"name"
:
"group1"
,
"getPSDEFormDetails"
:
[
{
"caption"
:
"年龄"
,
"codeName"
:
"age"
,
"dataType"
:
9
,
"detailStyle"
:
"DEFAULT"
,
"detailType"
:
"FORMITEM"
,
"enableCond"
:
3
,
"ignoreInput"
:
0
,
"labelPos"
:
"LEFT"
,
"labelWidth"
:
100
,
"name"
:
"age"
,
"noPrivDisplayMode"
:
1
,
"getPSAppDEField"
:
{
"name"
:
"AGE"
,
"codeName"
:
"Age"
},
"getPSEditor"
:
{
"editorType"
:
"TEXTBOX"
,
"name"
:
"age"
},
"getPSLayoutPos"
:
{
"colMD"
:
24
,
"layout"
:
"TABLE_24COL"
},
"allowEmpty"
:
true
,
"showCaption"
:
true
},
{
"caption"
:
"学生名称"
,
"codeName"
:
"studentname"
,
"contentHeight"
:
100.0
,
"contentWidth"
:
200.0
,
"dataType"
:
25
,
"detailStyle"
:
"DEFAULT"
,
"detailType"
:
"FORMITEM"
,
"enableCond"
:
3
,
"height"
:
100.0
,
"ignoreInput"
:
0
,
"labelPos"
:
"LEFT"
,
"labelWidth"
:
130
,
...
...
@@ -158,10 +212,52 @@
},
"getPSLayoutPos"
:
{
"colMD"
:
24
,
"layout"
:
"TABLE_24COL"
"height"
:
100
,
"layout"
:
"TABLE_24COL"
,
"width"
:
200
},
"width"
:
200.0
,
"allowEmpty"
:
true
,
"showCaption"
:
true
},
{
"actionType"
:
"UIACTION"
,
"caption"
:
"刷新"
,
"codeName"
:
"button1"
,
"contentHeight"
:
100.0
,
"contentWidth"
:
200.0
,
"detailStyle"
:
"DEFAULT"
,
"detailType"
:
"BUTTON"
,
"height"
:
100.0
,
"name"
:
"button1"
,
"getPSAppViewUIAction"
:
{
"modelref"
:
true
,
"id"
:
"form_button1"
},
"getPSLayoutPos"
:
{
"colMD"
:
24
,
"height"
:
100
,
"layout"
:
"TABLE_24COL"
,
"width"
:
200
},
"getPSUIAction"
:
{
"actionTarget"
:
"SINGLEKEY"
,
"caption"
:
"刷新"
,
"codeName"
:
"Refresh"
,
"fullCodeName"
:
"Refresh"
,
"name"
:
"编辑界面_刷新操作"
,
"getPSSysImage"
:
{
"glyph"
:
"xf021@FontAwesome"
,
"cssClass"
:
"fa fa-refresh"
},
"predefinedType"
:
"EDITVIEW_REFRESHACTION"
,
"timeout"
:
60000
,
"uIActionMode"
:
"SYS"
,
"uIActionTag"
:
"Refresh"
,
"uIActionType"
:
"DEUIACTION"
},
"tooltip"
:
"刷新"
,
"width"
:
200.0
,
"showCaption"
:
true
}
],
"getPSLayout"
:
{
"columnCount"
:
24
,
...
...
@@ -1812,6 +1908,53 @@
"needSave"
:
false
,
"refreshItemsSetParamOnly"
:
false
,
"showCaption"
:
true
},
{
"actionGroupExtractMode"
:
"ITEM"
,
"caption"
:
"分组面板"
,
"codeName"
:
"grouppanel1"
,
"contentHeight"
:
484.0
,
"contentWidth"
:
584.0
,
"detailStyle"
:
"DEFAULT"
,
"detailType"
:
"GROUPPANEL"
,
"height"
:
500.0
,
"name"
:
"grouppanel1"
,
"getPSDEFormDetails"
:
[
{
"codeName"
:
"rawitem1"
,
"contentHeight"
:
100.0
,
"contentType"
:
"RAW"
,
"contentWidth"
:
300.0
,
"detailStyle"
:
"DEFAULT"
,
"detailType"
:
"RAWITEM"
,
"height"
:
100.0
,
"name"
:
"rawitem1"
,
"getPSLayoutPos"
:
{
"colMD"
:
24
,
"height"
:
100
,
"layout"
:
"TABLE_24COL"
,
"width"
:
300
},
"getPSRawItem"
:
{
"contentType"
:
"RAW"
,
"name"
:
"rawitem1"
},
"rawItemHeight"
:
-1.0
,
"rawItemWidth"
:
-1.0
,
"width"
:
300.0
,
"showCaption"
:
true
}
],
"getPSLayout"
:
{
"columnCount"
:
24
,
"layout"
:
"TABLE_24COL"
},
"getPSLayoutPos"
:
{
"colMD"
:
24
,
"height"
:
500
,
"layout"
:
"TABLE_24COL"
,
"width"
:
600
},
"width"
:
600.0
,
"infoGroupMode"
:
false
,
"showCaption"
:
true
}
],
"getPSLayout"
:
{
"columnCount"
:
24
,
...
...
trainsys-core/src/main/resources/model/cn/ibizlab/trainsys/PSSYSAPPS/Web/PSAPPDEVIEWS/studentEditView.json
浏览文件 @
4986b18d
...
...
@@ -926,6 +926,24 @@
"modelref"
:
true
,
"path"
:
"PSSYSAPPS/Web/PSAPPDATAENTITIES/Student.json"
},
"getPSAppViewLogics"
:
[
{
"logicTrigger"
:
"CUSTOM"
,
"logicType"
:
"APPVIEWUIACTION"
,
"name"
:
"form_button1_click"
,
"getPSAppViewUIAction"
:
{
"modelref"
:
true
,
"id"
:
"form_button1"
}
}
],
"getPSAppViewUIActions"
:
[
{
"name"
:
"form_button1"
,
"getPSUIAction"
:
{
"modelref"
:
true
,
"id"
:
"Refresh"
},
"uIActionTarget"
:
"SINGLEKEY"
,
"xDataControlName"
:
"form"
}
],
"getPSControlHandler"
:
{
"getPSHandlerActions"
:
[
{
"actionName"
:
"GetDraft"
,
...
...
@@ -1064,6 +1082,13 @@
"id"
:
"srfsourcekey"
,
"hidden"
:
true
,
"dataType"
:
25
},
{
"id"
:
"age"
,
"dataType"
:
9
,
"getPSAppDEField"
:
{
"name"
:
"AGE"
,
"codeName"
:
"Age"
}
},
{
"id"
:
"studentname"
,
"dataType"
:
25
,
...
...
@@ -1122,12 +1147,41 @@
"detailType"
:
"GROUPPANEL"
,
"name"
:
"group1"
,
"getPSDEFormDetails"
:
[
{
"caption"
:
"年龄"
,
"codeName"
:
"age"
,
"dataType"
:
9
,
"detailStyle"
:
"DEFAULT"
,
"detailType"
:
"FORMITEM"
,
"enableCond"
:
3
,
"ignoreInput"
:
0
,
"labelPos"
:
"LEFT"
,
"labelWidth"
:
100
,
"name"
:
"age"
,
"noPrivDisplayMode"
:
1
,
"getPSAppDEField"
:
{
"name"
:
"AGE"
,
"codeName"
:
"Age"
},
"getPSEditor"
:
{
"editorType"
:
"TEXTBOX"
,
"name"
:
"age"
},
"getPSLayoutPos"
:
{
"colMD"
:
24
,
"layout"
:
"TABLE_24COL"
},
"allowEmpty"
:
true
,
"showCaption"
:
true
},
{
"caption"
:
"学生名称"
,
"codeName"
:
"studentname"
,
"contentHeight"
:
100.0
,
"contentWidth"
:
200.0
,
"dataType"
:
25
,
"detailStyle"
:
"DEFAULT"
,
"detailType"
:
"FORMITEM"
,
"enableCond"
:
3
,
"height"
:
100.0
,
"ignoreInput"
:
0
,
"labelPos"
:
"LEFT"
,
"labelWidth"
:
130
,
...
...
@@ -1144,10 +1198,52 @@
},
"getPSLayoutPos"
:
{
"colMD"
:
24
,
"layout"
:
"TABLE_24COL"
"height"
:
100
,
"layout"
:
"TABLE_24COL"
,
"width"
:
200
},
"width"
:
200.0
,
"allowEmpty"
:
true
,
"showCaption"
:
true
},
{
"actionType"
:
"UIACTION"
,
"caption"
:
"刷新"
,
"codeName"
:
"button1"
,
"contentHeight"
:
100.0
,
"contentWidth"
:
200.0
,
"detailStyle"
:
"DEFAULT"
,
"detailType"
:
"BUTTON"
,
"height"
:
100.0
,
"name"
:
"button1"
,
"getPSAppViewUIAction"
:
{
"modelref"
:
true
,
"id"
:
"form_button1"
},
"getPSLayoutPos"
:
{
"colMD"
:
24
,
"height"
:
100
,
"layout"
:
"TABLE_24COL"
,
"width"
:
200
},
"getPSUIAction"
:
{
"actionTarget"
:
"SINGLEKEY"
,
"caption"
:
"刷新"
,
"codeName"
:
"Refresh"
,
"fullCodeName"
:
"Refresh"
,
"name"
:
"编辑界面_刷新操作"
,
"getPSSysImage"
:
{
"glyph"
:
"xf021@FontAwesome"
,
"cssClass"
:
"fa fa-refresh"
},
"predefinedType"
:
"EDITVIEW_REFRESHACTION"
,
"timeout"
:
60000
,
"uIActionMode"
:
"SYS"
,
"uIActionTag"
:
"Refresh"
,
"uIActionType"
:
"DEUIACTION"
},
"tooltip"
:
"刷新"
,
"width"
:
200.0
,
"showCaption"
:
true
}
],
"getPSLayout"
:
{
"columnCount"
:
24
,
...
...
@@ -2798,6 +2894,53 @@
"needSave"
:
false
,
"refreshItemsSetParamOnly"
:
false
,
"showCaption"
:
true
},
{
"actionGroupExtractMode"
:
"ITEM"
,
"caption"
:
"分组面板"
,
"codeName"
:
"grouppanel1"
,
"contentHeight"
:
484.0
,
"contentWidth"
:
584.0
,
"detailStyle"
:
"DEFAULT"
,
"detailType"
:
"GROUPPANEL"
,
"height"
:
500.0
,
"name"
:
"grouppanel1"
,
"getPSDEFormDetails"
:
[
{
"codeName"
:
"rawitem1"
,
"contentHeight"
:
100.0
,
"contentType"
:
"RAW"
,
"contentWidth"
:
300.0
,
"detailStyle"
:
"DEFAULT"
,
"detailType"
:
"RAWITEM"
,
"height"
:
100.0
,
"name"
:
"rawitem1"
,
"getPSLayoutPos"
:
{
"colMD"
:
24
,
"height"
:
100
,
"layout"
:
"TABLE_24COL"
,
"width"
:
300
},
"getPSRawItem"
:
{
"contentType"
:
"RAW"
,
"name"
:
"rawitem1"
},
"rawItemHeight"
:
-1.0
,
"rawItemWidth"
:
-1.0
,
"width"
:
300.0
,
"showCaption"
:
true
}
],
"getPSLayout"
:
{
"columnCount"
:
24
,
"layout"
:
"TABLE_24COL"
},
"getPSLayoutPos"
:
{
"colMD"
:
24
,
"height"
:
500
,
"layout"
:
"TABLE_24COL"
,
"width"
:
600
},
"width"
:
600.0
,
"infoGroupMode"
:
false
,
"showCaption"
:
true
}
],
"getPSLayout"
:
{
"columnCount"
:
24
,
...
...
trainsys-core/src/main/resources/model/cn/ibizlab/trainsys/PSSYSAPPS/Web/PSSYSAPP.json
浏览文件 @
4986b18d
...
...
@@ -549,6 +549,21 @@
"uIActionMode"
:
"SYS"
,
"uIActionTag"
:
"Print"
,
"uIActionType"
:
"DEUIACTION"
},
{
"actionTarget"
:
"SINGLEKEY"
,
"caption"
:
"刷新"
,
"codeName"
:
"Refresh"
,
"fullCodeName"
:
"Refresh"
,
"name"
:
"编辑界面_刷新操作"
,
"getPSSysImage"
:
{
"glyph"
:
"xf021@FontAwesome"
,
"cssClass"
:
"fa fa-refresh"
},
"predefinedType"
:
"EDITVIEW_REFRESHACTION"
,
"timeout"
:
60000
,
"uIActionMode"
:
"SYS"
,
"uIActionTag"
:
"Refresh"
,
"uIActionType"
:
"DEUIACTION"
},
{
"actionTarget"
:
"MULTIKEY"
,
"getCapPSLanguageRes"
:
{
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录