Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
功
功能演示系统
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
示例
功能演示系统
提交
486240fd
提交
486240fd
编写于
11月 02, 2022
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
tony001 发布系统代码 [后台服务,演示应用]
上级
74270adb
变更
17
展开全部
显示空白字符变更
内嵌
并排
正在显示
17 个修改的文件
包含
543 行增加
和
186 行删除
+543
-186
app-register.ts
app_Web/src/app-register.ts
+4
-3
app-scroll-container.less
.../container/app-scroll-container/app-scroll-container.less
+29
-0
app-scroll-container.vue
...t/container/app-scroll-container/app-scroll-container.vue
+132
-0
app-simpleflex-container.less
...er/app-simpleflex-container/app-simpleflex-container.less
+6
-0
app-simpleflex-container.vue
...ner/app-simpleflex-container/app-simpleflex-container.vue
+102
-0
app-standard-container.less
...tainer/app-standard-container/app-standard-container.less
+4
-0
app-standard-container.vue
...ntainer/app-standard-container/app-standard-container.vue
+82
-0
index.md
app_Web/src/components/layout-element/index/index.md
+1
-0
index.md
app_Web/src/components/layout-element/interactive/index.md
+1
-0
index.md
app_Web/src/components/layout-element/login/index.md
+1
-0
index.md
app_Web/src/components/layout-element/media/index.md
+1
-0
index.md
app_Web/src/components/layout-element/text/index.md
+1
-0
app-login-view-base.vue
.../src/pages/ungroup/app-login-view/app-login-view-base.vue
+138
-65
app-login-view.less
app_Web/src/pages/ungroup/app-login-view/app-login-view.less
+1
-89
default-searchform-base.vue
...s/ibizbook/default-searchform/default-searchform-base.vue
+2
-2
usr2-dataview-base.vue
...src/widgets/ibizbook/usr2-dataview/usr2-dataview-base.vue
+26
-26
usr2-dataview-model.ts
...src/widgets/ibizbook/usr2-dataview/usr2-dataview-model.ts
+12
-1
未找到文件。
app_Web/src/app-register.ts
浏览文件 @
486240fd
...
...
@@ -109,9 +109,9 @@ import AppInputIp from './components/app-input-ip/app-input-ip.vue';
import
Loadding
from
'./directive/loadding/loadding'
;
import
AppColorSpan
from
'./components/app-color-span/app-color-span.vue'
;
import
AppColorPicker
from
'./components/app-color-picker/app-color-picker.vue'
;
import
AppScrollContainer
from
'./components/layout-container/app-scroll-container/app-scroll-container.vue'
;
import
AppSimpleFlexContainer
from
'./components/layout-container/app-simpleflex-container/app-simpleflex-container.vue'
;
import
AppScrollContainer
from
'./components/layout-
element/
container/app-scroll-container/app-scroll-container.vue'
;
import
AppSimpleFlexContainer
from
'./components/layout-
element/
container/app-simpleflex-container/app-simpleflex-container.vue'
;
import
AppStandardContainer
from
'./components/layout-element/container/app-standard-container/app-standard-container.vue'
;
// 全局挂载UI实体服务注册中心
window
[
'uiServiceRegister'
]
=
uiServiceRegister
;
// 全局挂载实体权限服务注册中心
...
...
@@ -237,5 +237,6 @@ export const AppComponents = {
v
.
component
(
'app-color-picker'
,
AppColorPicker
);
v
.
component
(
'app-scroll-container'
,
AppScrollContainer
);
v
.
component
(
'app-simpleflex-container'
,
AppSimpleFlexContainer
);
v
.
component
(
'app-standard-container'
,
AppStandardContainer
);
},
};
\ No newline at end of file
app_Web/src/components/layout-element/container/app-scroll-container/app-scroll-container.less
0 → 100644
浏览文件 @
486240fd
.app-scroll-container {
height: 100%;
width: 100%;
border: 1px solid red;
.app-scroll-container__header,
.app-scroll-container__bottom {
width: 100%;
}
.app-scroll-container__middle {
display: flex;
width: 100%;
.app-scroll-container__left,
.app-scroll-container__center,
.app-scroll-container__right {
height: 100%;
}
}
.no-style {
padding: 0;
margin: 0;
}
.overflow-auto {
overflow: auto;
}
}
\ No newline at end of file
app_Web/src/components/layout-element/container/app-scroll-container/app-scroll-container.vue
0 → 100644
浏览文件 @
486240fd
<
template
>
<div
:class=
"curClassName"
>
<div
v-if=
"containerModel.NORTH"
:style=
"containerModel.NORTH.style"
class=
"no-style overflow-auto app-scroll-container__header"
>
<template
v-for=
"name of containerModel.NORTH.name"
>
<slot
:name=
"name"
></slot>
</
template
>
</div>
<div
class=
"app-scroll-container__middle"
:style=
"middleContainerStyle"
>
<div
v-if=
"containerModel.WEST"
:style=
"containerModel.WEST.style"
class=
"no-style overflow-auto app-scroll-container__left"
>
<
template
v-for=
"name of containerModel.WEST.name"
>
<slot
:name=
"name"
></slot>
</
template
>
</div>
<div
v-if=
"containerModel.CENTER"
:style=
"containerModel.CENTER.style"
class=
"no-style overflow-auto app-scroll-container__center"
>
<
template
v-for=
"name of containerModel.CENTER.name"
>
<slot
:name=
"name"
></slot>
</
template
>
</div>
<div
v-if=
"containerModel.EAST"
:style=
"containerModel.EAST.style"
class=
"no-style overflow-auto app-scroll-container__right"
>
<
template
v-for=
"name of containerModel.EAST.name"
>
<slot
:name=
"name"
></slot>
</
template
>
</div>
</div>
<div
v-if=
"containerModel.SOUTH"
:style=
"containerModel.SOUTH.style"
class=
"no-style overflow-auto app-scroll-container__bottom"
>
<
template
v-for=
"name of containerModel.SOUTH.name"
>
<slot
:name=
"name"
></slot>
</
template
>
</div>
</div>
</template>
<
script
lang=
"ts"
>
import
{
Util
}
from
'@/utils'
;
import
{
Component
,
Prop
,
Vue
}
from
'vue-property-decorator'
;
@
Component
({})
export
default
class
AppScrollContainer
extends
Vue
{
/**
* 名称
*
* @type {string}
* @memberof AppScrollContainer
*/
@
Prop
()
public
name
!
:
string
;
/**
* 布局模型详情
*
* @type {string}
* @memberof AppScrollContainer
*/
@
Prop
()
public
layoutModelDetails
:
any
;
/**
* 插槽对象
*
* @memberof AppScrollContainer
*/
public
containerModel
:
any
=
{};
/**
* 中间区域样式
*
* @memberof AppScrollContainer
*/
public
middleContainerStyle
:
any
=
{};
/**
* 当前容器样式类
*/
get
curClassName
(){
return
`app-scroll-container
${
this
.
name
}
`
;
}
/**
* 组件初始化
*
* @memberof AppScrollContainer
*/
public
created
()
{
this
.
initScrollContainer
();
}
/**
* 初始化滚动容器
*
* @memberof AppScrollContainer
*/
public
initScrollContainer
()
{
let
minusHeight
=
''
;
let
minusWidth
:
string
=
''
;
const
curLayoutModel
=
this
.
layoutModelDetails
[
this
.
name
];
if
(
curLayoutModel
&&
curLayoutModel
.
details
&&
curLayoutModel
.
details
.
length
>
0
)
{
curLayoutModel
.
details
.
forEach
((
key
:
string
)
=>
{
const
{
name
,
layoutWidth
,
widthMode
,
layoutHeight
,
heightMode
,
layoutPos
}
=
this
.
layoutModelDetails
[
key
];
const
style
=
{};
if
(
layoutWidth
)
{
Object
.
assign
(
style
,
{
width
:
Util
.
getBoxSize
(
'WIDTH'
,
widthMode
,
layoutWidth
).
width
});
if
(
layoutPos
&&
(
Object
.
is
(
layoutPos
,
'WEST'
)
||
Object
.
is
(
layoutPos
,
'EAST'
)))
{
minusWidth
+=
` -
${
Util
.
getBoxSize
(
'WIDTH'
,
widthMode
,
layoutWidth
).
width
}
`
;
}
}
if
(
layoutHeight
)
{
Object
.
assign
(
style
,
{
height
:
Util
.
getBoxSize
(
'HEIGHT'
,
heightMode
,
layoutHeight
).
height
});
if
(
layoutPos
&&
(
Object
.
is
(
layoutPos
,
'NORTH'
)
||
Object
.
is
(
layoutPos
,
'SOUTH'
)))
{
minusHeight
+=
` -
${
Util
.
getBoxSize
(
'HEIGHT'
,
heightMode
,
layoutHeight
).
height
}
`
;
}
}
if
(
this
.
containerModel
.
hasOwnProperty
(
layoutPos
))
{
Object
.
assign
(
this
.
containerModel
[
layoutPos
],
{
style
});
this
.
containerModel
[
layoutPos
].
name
.
push
(
name
);
}
else
{
this
.
containerModel
[
layoutPos
]
=
{
style
,
name
:
[
name
]
};
}
});
}
this
.
middleContainerStyle
.
height
=
minusHeight
?
`calc(100%
${
minusHeight
}
)`
:
'100%'
;
if
(
this
.
containerModel
.
CENTER
)
{
this
.
containerModel
.
CENTER
.
style
.
width
=
minusWidth
?
`calc(100%
${
minusWidth
}
)`
:
'100%'
;
}
}
}
</
script
>
<
style
lang=
'less'
>
@import 'app-scroll-container.less';
</
style
>
\ No newline at end of file
app_Web/src/components/layout-element/container/app-simpleflex-container/app-simpleflex-container.less
0 → 100644
浏览文件 @
486240fd
.app-simpleflex-container{
width: 100%;
height: 100%;
display: flex;
border: 1px solid blue;
}
\ No newline at end of file
app_Web/src/components/layout-element/container/app-simpleflex-container/app-simpleflex-container.vue
0 → 100644
浏览文件 @
486240fd
<
template
>
<div
:class=
"curClassName"
:style=
"curStyleContent"
>
<template
v-if=
"containerModel.length > 0"
>
<template
v-for=
"name of containerModel"
>
<slot
:name=
"name"
></slot>
</
template
>
</template>
</div>
</template>
<
script
lang=
"ts"
>
import
{
Component
,
Prop
,
Vue
}
from
'vue-property-decorator'
;
@
Component
({})
export
default
class
AppSimpleFlexContainer
extends
Vue
{
/**
* 名称
*
* @type {string}
* @memberof AppSimpleFlexContainer
*/
@
Prop
()
public
name
!
:
string
;
/**
* 布局模型详情
*
* @type {string}
* @memberof AppSimpleFlexContainer
*/
@
Prop
()
public
layoutModelDetails
:
any
;
/**
* 插槽对象
*
* @memberof AppSimpleFlexContainer
*/
public
containerModel
:
any
[]
=
[];
/**
* 组件初始化
*
* @memberof SimpleFlexContainer
*/
public
created
()
{
this
.
initSimpleFlexContainer
();
}
/**
* 初始化SIMPLEFLEX容器
*
* @memberof SimpleFlexContainer
*/
public
initSimpleFlexContainer
()
{
const
curLayoutModel
=
this
.
layoutModelDetails
[
this
.
name
];
if
(
curLayoutModel
&&
curLayoutModel
.
details
&&
curLayoutModel
.
details
.
length
>
0
)
{
curLayoutModel
.
details
.
forEach
((
key
:
string
)
=>
{
this
.
containerModel
.
push
(
key
);
})
}
}
/**
* 当前容器样式类
*/
get
curClassName
()
{
return
`app-simpleflex-container
${
this
.
name
}
`
;
}
/**
* 当前容器样式
*/
get
curStyleContent
()
{
let
boxLayoutPosStyle
=
""
;
const
curLayoutModel
=
this
.
layoutModelDetails
[
this
.
name
];
if
(
curLayoutModel
)
{
const
{
layout
,
flexGrow
}
=
curLayoutModel
;
// 识别FLEX占位属性
if
(
layout
&&
layout
==
'FLEX'
)
{
boxLayoutPosStyle
+=
`'flex-grow':
${
flexGrow
?
flexGrow
:
0
}
;`
;
}
// 识别SIMPLEFLEX占位属性
if
(
layout
==
'SIMPLEFLEX'
)
{
if
(
flexGrow
)
{
boxLayoutPosStyle
+=
`width:
${(
100
/
12
)
*
flexGrow
}
%;height: 100%;`
;
}
else
{
// 简单FLEX布局自适应
boxLayoutPosStyle
+=
`flex-grow:1;min-width:
${(
100
/
12
)}
%;height:100%;`
;
}
}
// 识别边缘布局占位属性
if
(
layout
==
'BORDER'
)
{
boxLayoutPosStyle
+=
`display:flex;`
;
}
}
return
boxLayoutPosStyle
;
}
}
</
script
>
<
style
lang=
'less'
>
@import 'app-simpleflex-container.less';
</
style
>
\ No newline at end of file
app_Web/src/components/layout-element/container/app-standard-container/app-standard-container.less
0 → 100644
浏览文件 @
486240fd
.app-standard-container{
width: 100%;
height: 100%;
}
\ No newline at end of file
app_Web/src/components/layout-element/container/app-standard-container/app-standard-container.vue
0 → 100644
浏览文件 @
486240fd
<
template
>
<div
:class=
"curClassName"
:style=
"curStyleContent"
>
<template
v-if=
"containerModel.length > 0"
>
<template
v-for=
"name of containerModel"
>
<slot
:name=
"name"
></slot>
</
template
>
</template>
</div>
</template>
<
script
lang=
"ts"
>
import
{
Component
,
Prop
,
Vue
}
from
'vue-property-decorator'
;
@
Component
({})
export
default
class
AppStandardContainer
extends
Vue
{
/**
* 名称
*
* @type {string}
* @memberof AppStandardContainer
*/
@
Prop
()
public
name
!
:
string
;
/**
* 布局模型详情
*
* @type {string}
* @memberof AppStandardContainer
*/
@
Prop
()
public
layoutModelDetails
:
any
;
/**
* 插槽对象
*
* @memberof AppStandardContainer
*/
public
containerModel
:
any
[]
=
[];
/**
* 组件初始化
*
* @memberof SimpleFlexContainer
*/
public
created
()
{
this
.
initSimpleFlexContainer
();
}
/**
* 初始化SIMPLEFLEX容器
*
* @memberof SimpleFlexContainer
*/
public
initSimpleFlexContainer
()
{
const
curLayoutModel
=
this
.
layoutModelDetails
[
this
.
name
];
if
(
curLayoutModel
&&
curLayoutModel
.
details
&&
curLayoutModel
.
details
.
length
>
0
)
{
curLayoutModel
.
details
.
forEach
((
key
:
string
)
=>
{
this
.
containerModel
.
push
(
key
);
})
}
}
/**
* 当前容器样式类
*/
get
curClassName
()
{
return
`app-standard-container
${
this
.
name
}
`
;
}
/**
* 当前容器样式
*/
get
curStyleContent
()
{
let
boxLayoutPosStyle
=
""
;
const
curLayoutModel
=
this
.
layoutModelDetails
[
this
.
name
];
console
.
log
(
curLayoutModel
);
return
boxLayoutPosStyle
;
}
}
</
script
>
<
style
lang=
'less'
>
@import 'app-standard-container.less';
</
style
>
\ No newline at end of file
app_Web/src/components/layout-element/index/index.md
0 → 100644
浏览文件 @
486240fd
// 首页元素
\ No newline at end of file
app_Web/src/components/layout-element/interactive/index.md
0 → 100644
浏览文件 @
486240fd
// 输入交互
\ No newline at end of file
app_Web/src/components/layout-element/login/index.md
0 → 100644
浏览文件 @
486240fd
// 身份校验
\ No newline at end of file
app_Web/src/components/layout-element/media/index.md
0 → 100644
浏览文件 @
486240fd
// 多媒体
\ No newline at end of file
app_Web/src/components/layout-element/text/index.md
0 → 100644
浏览文件 @
486240fd
// 文本项
\ No newline at end of file
app_Web/src/pages/ungroup/app-login-view/app-login-view-base.vue
浏览文件 @
486240fd
此差异已折叠。
点击以展开。
app_Web/src/pages/ungroup/app-login-view/app-login-view.less
浏览文件 @
486240fd
.app-login-view{
position: relative;
}
.app-login-view {
display: flex;
flex-direction: column;
min-height: 100%;
background: #108cee;
position: relative;
.login-bg {
width: 100vw;
height: 100vh;
}
.login-container {
width: 450px;
height: 430px;
position: absolute;
z-index: 1;
background: #fff;
top: calc((100% - 430px) / 2);
left: calc((100% - 450px) / 2);
border-radius: 10px;
.login-title {
text-align: center;
padding: 30px 0 20px 0;
font-weight: 600;
line-height: 30px;
font-size: 20px;
color: #666;
}
.login-form {
width: 380px;
margin: 0 auto;
.ivu-form-item {
margin-bottom: 36px;
.ivu-input-group {
height: 44px;
font-size: 30px;
.ivu-input {
height: 44px;
font-size: 18px;
}
.ivu-input-icon {
height: 44px;
line-height: 44px;
}
}
}
}
}
.app-login-view__buttons .ivu-form-item-content {
display: flex;
justify-content: space-between;
align-items: center;
.ivu-btn {
width: 175px;
height: 40px;
font-size: 18px;
}
}
.app-login-view__icons {
.icon {
display: inline-block;
cursor: pointer;
margin-left: 10px;
img {
display: inline-block;
width: 40px;
height: 40px;
line-height: 40px;
text-align: center;
padding-top: 1px;
border-radius: 4px;
margin-bottom: -20px;
margin-top: 10px;
}
}
}
.app-login-view__footer {
display: block;
padding: 0 16px;
padding: 48px 0 24px;
text-align: center;
a {
color: #fff;
text-decoration: none;
}
}
}
app_Web/src/widgets/ibizbook/default-searchform/default-searchform-base.vue
浏览文件 @
486240fd
...
...
@@ -663,7 +663,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/
public
load
(
opt
:
any
=
{}):
void
{
if
(
!
this
.
loadAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOKUsr
5
GridView'
+
(
this
.
$t
(
'app.searchForm.notConfig.loadAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOKUsr
9
GridView'
+
(
this
.
$t
(
'app.searchForm.notConfig.loadAction'
)
as
string
)
});
return
;
}
const
arg
:
any
=
{
...
opt
};
...
...
@@ -699,7 +699,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/
public
loadDraft
(
opt
:
any
=
{},
mode
?:
string
):
void
{
if
(
!
this
.
loaddraftAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOKUsr
5
GridView'
+
(
this
.
$t
(
'app.searchForm.notConfig.loaddraftAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOKUsr
9
GridView'
+
(
this
.
$t
(
'app.searchForm.notConfig.loaddraftAction'
)
as
string
)
});
return
;
}
const
arg
:
any
=
{
...
opt
}
;
...
...
app_Web/src/widgets/ibizbook/usr2-dataview/usr2-dataview-base.vue
浏览文件 @
486240fd
此差异已折叠。
点击以展开。
app_Web/src/widgets/ibizbook/usr2-dataview/usr2-dataview-model.ts
浏览文件 @
486240fd
...
...
@@ -10,7 +10,7 @@ export default class Usr2Model {
* 获取数据项集合
*
* @returns {any[]}
* @memberof Usr2Data
viewexpbar_datav
iewMode
* @memberof Usr2Data
V
iewMode
*/
public
getDataItems
():
any
[]
{
return
[
...
...
@@ -39,6 +39,17 @@ export default class Usr2Model {
dataType
:
'FONTKEY'
,
},
{
name
:
'n_ibizbookname_like'
,
prop
:
'n_ibizbookname_like'
,
dataType
:
'QUERYPARAM'
},
{
name
:
'n_price_gtandeq'
,
prop
:
'n_price_gtandeq'
,
dataType
:
'QUERYPARAM'
},
{
name
:
'size'
,
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录