Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
T
TrainSys
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
苏州培训方案
TrainSys
提交
86f0ef88
提交
86f0ef88
编写于
9月 06, 2022
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
lxm1993 发布系统代码 [TrainSys,网页端]
上级
e33111be
变更
16
隐藏空白字符变更
内嵌
并排
正在显示
16 个修改的文件
包含
172 行增加
和
88 行删除
+172
-88
app-preset-rawitem.vue
.../src/components/app-preset-rawitem/app-preset-rawitem.vue
+13
-3
app-lang.vue
...ages/ibiz-vue/src/components/common/app-lang/app-lang.vue
+0
-1
app-default-appmenu.less
...ents/control/app-default-appmenu/app-default-appmenu.less
+1
-0
view-toolbar.tsx
...-vue/src/components/control/view-toolbar/view-toolbar.tsx
+2
-0
control-container.tsx
...ages/ibiz-vue/src/control-container/control-container.tsx
+1
-0
app-indexview-shell.tsx
...kages/ibiz-vue/src/view-container/app-indexview-shell.tsx
+0
-1
main.ts
app_Web/src/main.ts
+1
-0
app-style.less
app_Web/src/styles/app-style.less
+72
-75
auth-guard.ts
app_Web/src/utils/auth-guard/auth-guard.ts
+73
-1
h2_table.xml
trainsys-core/src/main/resources/liquibase/h2_table.xml
+2
-2
Main.json
...PSSYSAPPS/Web/PSAPPDATAENTITIES/Reginfo/PSFORMS/Main.json
+1
-1
Main.json
...PSSYSAPPS/Web/PSAPPDATAENTITIES/Reginfo/PSGRIDS/Main.json
+1
-1
ReginfoEditView.json
.../trainsys/PSSYSAPPS/Web/PSAPPDEVIEWS/ReginfoEditView.json
+1
-1
ReginfoStuInfoList.json
...ainsys/PSSYSAPPS/Web/PSAPPDEVIEWS/ReginfoStuInfoList.json
+1
-1
PSSYSAPP.json
...ces/model/cn/ibizlab/trainsys/PSSYSAPPS/Web/PSSYSAPP.json
+1
-1
PSSYSAPP.json.css
...model/cn/ibizlab/trainsys/PSSYSAPPS/Web/PSSYSAPP.json.css
+2
-0
未找到文件。
app_Web/packages/ibiz-plugin/src/components/app-preset-rawitem/app-preset-rawitem.vue
浏览文件 @
86f0ef88
...
...
@@ -8,6 +8,7 @@
:content=
"value"
:context=
"context"
:viewparams=
"viewparams"
:itemValue=
"value"
/>
<div
class=
"app-preset-rawitem"
v-else-if=
"type == 'STATIC_VIDEOPLAYER'"
>
<app-video
:videoParmas=
"rawParams"
/>
...
...
@@ -34,6 +35,7 @@
import
{
Vue
,
Component
,
Prop
}
from
'vue-property-decorator'
;
import
{
ImgurlBase64
}
from
'ibiz-core'
;
import
{
Environment
}
from
'@/environments/environment'
;
import
{
IPSEditor
}
from
'@ibiz/dynamic-model-api'
;
@
Component
({})
export
default
class
AppPresetRawitem
extends
Vue
{
...
...
@@ -122,6 +124,14 @@ export default class AppPresetRawitem extends Vue {
*/
@
Prop
()
modelService
:
any
;
/**
* 编辑器实例
*
* @type {IPSEditor}
* @memberof AppPresetRawitem
*/
@
Prop
()
editorInstance
!
:
IPSEditor
;
/**
* 内容类型
*
...
...
@@ -184,7 +194,7 @@ export default class AppPresetRawitem extends Vue {
this
.
handleDynaText
();
break
;
case
'STATIC_LABEL'
:
this
.
contentType
=
'RAW'
;
this
.
contentType
=
this
.
editorInstance
?.
editorParams
?.[
'CONTENTTYPE'
]
||
'RAW'
;
break
;
case
'NAV_POS'
:
break
;
...
...
@@ -209,7 +219,7 @@ export default class AppPresetRawitem extends Vue {
* @memberof AppPresetRawitem
*/
protected
handleDynaImg
()
{
this
.
contentType
=
'IMAGE'
;
this
.
contentType
=
this
.
editorInstance
?.
editorParams
?.[
'CONTENTTYPE'
]
||
'IMAGE'
;
if
(
this
.
value
&&
typeof
this
.
value
==
'string'
)
{
// 默认识别文件对象形式,识别失败则为全路径模式
try
{
...
...
@@ -233,7 +243,7 @@ export default class AppPresetRawitem extends Vue {
* @memberof AppPresetRawitem
*/
protected
handleDynaText
()
{
this
.
contentType
=
'RAW'
;
this
.
contentType
=
this
.
editorInstance
?.
editorParams
?.[
'CONTENTTYPE'
]
||
'RAW'
;
}
/**
...
...
app_Web/packages/ibiz-vue/src/components/common/app-lang/app-lang.vue
浏览文件 @
86f0ef88
...
...
@@ -50,7 +50,6 @@ export default class AppLang extends Vue {
const
lang
:
string
=
this
.
$i18n
.
locale
;
const
local
:
any
=
this
.
localList
.
find
((
_local
:
any
)
=>
Object
.
is
(
_local
.
type
,
lang
));
this
.
caption
=
local
.
name
;
document
.
title
=
this
.
title
;
}
/**
...
...
app_Web/packages/ibiz-vue/src/components/control/app-default-appmenu/app-default-appmenu.less
浏览文件 @
86f0ef88
...
...
@@ -301,6 +301,7 @@
justify-content: flex-start;
flex-wrap: wrap;
> .app-middle-menu-item {
width: 320px;
margin: 12px;
cursor: pointer;
color: var(--ctrl-font-color);
...
...
app_Web/packages/ibiz-vue/src/components/control/view-toolbar/view-toolbar.tsx
浏览文件 @
86f0ef88
...
...
@@ -309,6 +309,8 @@ export class ViewToolbar extends Vue {
<
dropdown
transfer
transfer
-
class
-
name=
"view-toolbar-transfer"
v
-
show=
{
item
.
visabled
}
trigger=
'click'
on
-
on
-
click=
{
(
name
:
string
)
=>
throttle
(
this
.
itemClick
,[{
tag
:
name
}],
this
)
}
>
<
el
-
tooltip
disabled=
{
!
item
.
tooltip
}
>
<
app
-
button
showCaption=
{
item
.
showCaption
}
showIcon=
{
item
.
showIcon
}
caption=
{
item
.
caption
}
icon=
{
item
.
icon
}
iconcls=
{
item
.
iconcls
}
...
...
app_Web/packages/ibiz-vue/src/control-container/control-container.tsx
浏览文件 @
86f0ef88
...
...
@@ -599,6 +599,7 @@ export class ControlContainer extends Vue {
const tempModel: any = {
name: item.name,
showCaption: item.showCaption,
showIcon: item.showIcon,
caption: this.$tl((item.getCapPSLanguageRes() as IPSLanguageRes)?.lanResTag, item.caption),
tooltip: this.$tl((item.getTooltipPSLanguageRes() as IPSLanguageRes)?.lanResTag, item.tooltip),
disabled: false,
...
...
app_Web/packages/ibiz-vue/src/view-container/app-indexview-shell.tsx
浏览文件 @
86f0ef88
...
...
@@ -96,7 +96,6 @@ export class AppIndexViewShell extends ViewContainerBase {
if
(
indexRoute
&&
indexRoute
.
meta
)
{
if
(
indexView
.
caption
)
{
indexRoute
.
meta
.
caption
=
indexView
.
caption
;
document
.
title
=
indexView
.
caption
;
}
if
(
indexView
.
getCapPSLanguageRes
())
{
indexRoute
.
meta
.
captionTag
=
(
indexView
.
getCapPSLanguageRes
()
as
IPSLanguageRes
).
lanResTag
;
...
...
app_Web/src/main.ts
浏览文件 @
86f0ef88
...
...
@@ -112,6 +112,7 @@ Interceptors.getInstance(router, store);
let
instance
:
any
=
null
;
const
init
=
async
(
props
:
any
=
{})
=>
{
document
.
title
=
Environment
.
AppTitle
;
const
{
container
}
=
props
;
instance
=
new
Vue
({
i18n
,
...
...
app_Web/src/styles/app-style.less
浏览文件 @
86f0ef88
/*** START:预制按钮行为级别样式类 ***/
.srfactionlevel50 {
color: var(--button-font-color-light) !important;
border-color: var(--button-font-color-light) !important;
background-color: var(--button-background-color-light) !important;
}
.srfactionlevel50:disabled {
color: var(--button-font-color-light) !important;
border-color: var(--button-font-color-light) !important;
background-color: var(--button-background-color-light) !important;
}
.srfactionlevel50:hover {
color: var(--button-font-color-bright) !important;
border-color: var(--button-font-color-bright) !important;
background-color: var(--button-background-color-bright) !important;
}
.srfactionlevel50:disabled:hover {
color: var(--button-font-color-light) !important;
border-color: var(--button-font-color-light) !important;
background-color: var(--button-background-color-light) !important;
}
.srfactionlevel100 {
color: var(--button-font-color) !important;
border-color: var(--button-font-color-light) !important;
background-color: var(--button-background-color) !important;
}
.srfactionlevel100:disabled {
color: var(--button-font-color-light) !important;
border-color: var(--button-font-color-light) !important;
background-color: var(--button-background-color-light) !important;
}
.srfactionlevel100:hover {
color: var(--button-font-color-bright) !important;
border-color: var(--button-font-color-bright) !important;
background-color: var(--button-background-color-bright) !important;
}
.srfactionlevel100:disabled:hover {
color: var(--button-font-color) !important;
border-color: var(--button-font-color-light) !important;
background-color: var(--button-background-color) !important;
}
.srfactionlevel200 {
color: var(--button-font-color-bright) !important;
border-color: var(--button-font-color-bright) !important;
background-color: var(--button-background-color-bright) !important;
}
.srfactionlevel200:disabled {
color: var(--button-font-color-light) !important;
border-color: var(--button-font-color-light) !important;
background-color: var(--button-background-color-light) !important;
}
.srfactionlevel200:hover {
color: var(--button-font-color-bright) !important;
border-color: var(--button-font-color-bright) !important;
background-color: var(--button-background-color-bright) !important;
}
.srfactionlevel200:disabled:hover {
color: var(--button-font-color-bright) !important;
border-color: var(--button-font-color-bright) !important;
background-color: var(--button-background-color-bright) !important;
}
/*** END:预制按钮行为级别样式类 ***/
/*** START:系统样式表 ***/
/*** END:系统样式表 ***/
\ No newline at end of file
color: var(--button-font-color-light) !important;
border-color: var(--button-font-color-light) !important;
background-color: var(--button-background-color-light) !important;
}
.srfactionlevel50:disabled {
color: var(--button-font-color-light) !important;
border-color: var(--button-font-color-light) !important;
background-color: var(--button-background-color-light) !important;
}
.srfactionlevel50:hover {
color: var(--button-font-color-bright) !important;
border-color: var(--button-font-color-bright) !important;
background-color: var(--button-background-color-bright) !important;
}
.srfactionlevel50:disabled:hover {
color: var(--button-font-color-light) !important;
border-color: var(--button-font-color-light) !important;
background-color: var(--button-background-color-light) !important;
}
.srfactionlevel100 {
color: var(--button-font-color) !important;
border-color: var(--button-font-color-light) !important;
background-color: var(--button-background-color) !important;
}
.srfactionlevel100:disabled {
color: var(--button-font-color-light) !important;
border-color: var(--button-font-color-light) !important;
background-color: var(--button-background-color-light) !important;
}
.srfactionlevel100:hover {
color: var(--button-font-color-bright) !important;
border-color: var(--button-font-color-bright) !important;
background-color: var(--button-background-color-bright) !important;
}
.srfactionlevel100:disabled:hover {
color: var(--button-font-color) !important;
border-color: var(--button-font-color-light) !important;
background-color: var(--button-background-color) !important;
}
.srfactionlevel200 {
color: var(--button-font-color-bright) !important;
border-color: var(--button-font-color-bright) !important;
background-color: var(--button-background-color-bright) !important;
}
.srfactionlevel200:disabled {
color: var(--button-font-color-light) !important;
border-color: var(--button-font-color-light) !important;
background-color: var(--button-background-color-light) !important;
}
.srfactionlevel200:hover {
color: var(--button-font-color-bright) !important;
border-color: var(--button-font-color-bright) !important;
background-color: var(--button-background-color-bright) !important;
}
.srfactionlevel200:disabled:hover {
color: var(--button-font-color-bright) !important;
border-color: var(--button-font-color-bright) !important;
background-color: var(--button-background-color-bright) !important;
}
/*** END:预制按钮行为级别样式类 ***/
\ No newline at end of file
app_Web/src/utils/auth-guard/auth-guard.ts
浏览文件 @
86f0ef88
import
qs
from
'qs'
;
import
{
GlobalHelp
,
IPSAppView
}
from
'@ibiz/dynamic-model-api'
;
import
{
clearCookie
,
getCookie
,
SyncSeriesHook
}
from
'qx-util'
;
import
{
AppServiceBase
,
Http
,
getSessionStorage
,
setSessionStorage
,
AppModelService
,
Util
,
GetModelService
,
ViewTool
}
from
'ibiz-core'
;
import
{
AppServiceBase
,
Http
,
getSessionStorage
,
setSessionStorage
,
AppModelService
,
Util
,
GetModelService
,
ViewTool
,
LogUtil
}
from
'ibiz-core'
;
import
{
AppCenterService
,
AppNoticeService
,
AppViewLogicService
,
NoticeHandler
}
from
'ibiz-vue'
;
import
{
Environment
}
from
'@/environments/environment'
;
import
i18n
from
'@/locale'
;
...
...
@@ -237,10 +237,82 @@ export class AuthGuard {
return
null
;
}
},
{
lang
:
Environment
?.
isEnableMultiLan
?
handleLocaleMap
(
i18n
.
locale
)
:
''
});
await
this
.
initAppStyle
(
'PSSYSAPP.json.css'
);
AppServiceBase
.
getInstance
().
setAppModelDataObject
(
service
.
app
);
AppCenterService
.
getInstance
(
router
.
app
.
$store
);
}
/**
* 初始化应用样式表
*
* @param cssUrl 样式路径
*/
public
async
initAppStyle
(
cssUrl
:
string
)
{
const
cssContent
=
await
this
.
loadAppStyle
(
cssUrl
);
if
(
!
cssContent
){
LogUtil
.
warn
(
"暂无应用样式表"
);
return
;
}
this
.
mountedAppStyle
(
cssContent
);
}
/**
* 加载应用样式表
*
* @param cssUrl 样式路径
*/
public
async
loadAppStyle
(
cssUrl
:
string
)
{
let
url
=
''
;
if
(
Environment
.
bDynamic
)
{
url
=
`
${
Environment
.
remoteDynaPath
}
/
${
cssUrl
}
`
;
const
queryParam
=
{};
const
{
dynamodeltag
}
=
AppServiceBase
.
getInstance
().
getAppStore
().
getters
.
getAppData
();
if
(
dynamodeltag
)
{
Object
.
assign
(
queryParam
,
{
dynamodeltag
});
}
if
(
queryParam
&&
Object
.
keys
(
queryParam
).
length
>
0
)
{
url
+=
`?
${
qs
.
stringify
(
queryParam
)}
`
;
}
}
else
{
const
microAppService
=
AppServiceBase
.
getInstance
().
getMicroAppService
();
if
(
microAppService
&&
microAppService
.
getIsMicroApp
()
&&
microAppService
.
getMicroAppFolder
())
{
url
=
`./
${
microAppService
.
getMicroAppFolder
()}
/assets/model/
${
cssUrl
}
`
;
}
else
{
url
=
`./assets/model/
${
cssUrl
}
`
;
}
}
try
{
const
result
:
any
=
await
Http
.
getInstance
().
get
(
url
);
return
result
.
data
?
result
.
data
:
null
;
}
catch
(
error
)
{
return
null
;
}
}
/**
* 挂载应用样式表
*
* @param cssContent
*/
public
mountedAppStyle
(
cssContent
:
string
){
let
appStyleDom
:
any
;
for
(
let
i
=
document
.
head
.
childNodes
.
length
-
1
;
i
>=
0
;
i
--
)
{
const
children
:
any
=
document
.
head
.
childNodes
[
i
]
if
(
children
.
nodeName
==
"STYLE"
&&
children
.
getAttribute
(
'title'
)
&&
children
.
getAttribute
(
'title'
)
==
'app-style-css'
)
{
appStyleDom
=
children
;
}
}
if
(
appStyleDom
)
{
appStyleDom
.
innerText
=
cssContent
;
}
else
{
const
styleDom
=
document
.
createElement
(
'style'
);
styleDom
.
type
=
"text/css"
;
styleDom
.
setAttribute
(
'title'
,
'app-style-css'
);
styleDom
.
innerText
=
cssContent
;
document
.
head
.
appendChild
(
styleDom
);
}
}
/**
* 处理未登录异常情况
*
...
...
trainsys-core/src/main/resources/liquibase/h2_table.xml
浏览文件 @
86f0ef88
...
...
@@ -50,7 +50,7 @@
</changeSet>
<!--输出实体[BOOK]数据结构 -->
<changeSet
author=
"root"
id=
"tab-book-20
7
-3"
>
<changeSet
author=
"root"
id=
"tab-book-20
9
-3"
>
<createTable
tableName=
"T_BOOK"
>
<column
name=
"BOOKNAME"
remarks=
""
type=
"VARCHAR(200)"
>
</column>
...
...
@@ -194,7 +194,7 @@
</changeSet>
<!--输出实体[REGINFO]数据结构 -->
<changeSet
author=
"root"
id=
"tab-reginfo-
49
-8"
>
<changeSet
author=
"root"
id=
"tab-reginfo-
50
-8"
>
<createTable
tableName=
"T_REGINFO"
>
<column
name=
"UPDATEDATE"
remarks=
""
type=
"DATETIME"
>
</column>
...
...
trainsys-core/src/main/resources/model/cn/ibizlab/trainsys/PSSYSAPPS/Web/PSAPPDATAENTITIES/Reginfo/PSFORMS/Main.json
浏览文件 @
86f0ef88
...
...
@@ -262,7 +262,7 @@
"width"
:
899
},
"width"
:
899.0
,
"allowEmpty"
:
tru
e
,
"allowEmpty"
:
fals
e
,
"showCaption"
:
true
}
],
"getPSLayout"
:
{
...
...
trainsys-core/src/main/resources/model/cn/ibizlab/trainsys/PSSYSAPPS/Web/PSAPPDATAENTITIES/Reginfo/PSGRIDS/Main.json
浏览文件 @
86f0ef88
...
...
@@ -255,7 +255,7 @@
"maxLength"
:
100
,
"name"
:
"stuno"
},
"allowEmpty"
:
tru
e
"allowEmpty"
:
fals
e
},
{
"caption"
:
"学员姓名"
,
"codeName"
:
"name"
,
...
...
trainsys-core/src/main/resources/model/cn/ibizlab/trainsys/PSSYSAPPS/Web/PSAPPDEVIEWS/ReginfoEditView.json
浏览文件 @
86f0ef88
...
...
@@ -1248,7 +1248,7 @@
"width"
:
899
},
"width"
:
899.0
,
"allowEmpty"
:
tru
e
,
"allowEmpty"
:
fals
e
,
"showCaption"
:
true
}
],
"getPSLayout"
:
{
...
...
trainsys-core/src/main/resources/model/cn/ibizlab/trainsys/PSSYSAPPS/Web/PSAPPDEVIEWS/ReginfoStuInfoList.json
浏览文件 @
86f0ef88
...
...
@@ -684,7 +684,7 @@
"maxLength"
:
100
,
"name"
:
"stuno"
},
"allowEmpty"
:
tru
e
"allowEmpty"
:
fals
e
},
{
"caption"
:
"学员姓名"
,
"codeName"
:
"name"
,
...
...
trainsys-core/src/main/resources/model/cn/ibizlab/trainsys/PSSYSAPPS/Web/PSSYSAPP.json
浏览文件 @
86f0ef88
...
...
@@ -2142,7 +2142,7 @@
"maxLength"
:
100
,
"name"
:
"stuno"
},
"allowEmpty"
:
tru
e
"allowEmpty"
:
fals
e
},
{
"caption"
:
"学员姓名"
,
"codeName"
:
"name"
,
...
...
trainsys-core/src/main/resources/model/cn/ibizlab/trainsys/PSSYSAPPS/Web/PSSYSAPP.json.css
0 → 100644
浏览文件 @
86f0ef88
/*** START:系统样式表 ***/
/*** END:系统样式表 ***/
\ No newline at end of file
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录