Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
ibizlab-generator
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
ibiz4jteam
ibizlab-generator
提交
2b419506
提交
2b419506
编写于
1月 18, 2022
作者:
zhangkang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update:关系界面
上级
3031388a
变更
3
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
189 行增加
和
2 行删除
+189
-2
form-druipart.hbs
...r7/@macro/front-end/widgets/form-detail/form-druipart.hbs
+30
-1
app-form-druipart.vue
.../app_{{apps}}/src/components/render/app-form-druipart.vue
+144
-0
{{ctrls@FORM}}-form.vue.hbs
...ntities}}/{{ctrls@FORM}}-form/{{ctrls@FORM}}-form.vue.hbs
+15
-1
未找到文件。
modules/ibizlab-generator-core/src/main/resources/templ/r7/@macro/front-end/widgets/form-detail/form-druipart.hbs
浏览文件 @
2b419506
关系界面未实现
{{#
eq
item
.
psLayoutPos
'FLEX'
}}
\ No newline at end of file
<div
style=
"flex-grow:
{{#if
item
.
psLayoutPos
.
grow
}}{{
item
.
psLayoutPos
.
grow
}}{{else}}
0
{{/if}}
;"
>
<AppFormDruipart
v-show=
"state.detailsModel.
{{
item
.
codeName
}}
.visible"
name=
"
{{
item
.
codeName
}}
"
title=
"
{{
item
.
caption
}}
"
>
<
{{
item
.
psAppView
.
codeName
}}
:class
="['
app-view-layout--from-druipart
']"
:context=
"druipartParams.context"
:viewParams=
"druipartParams.viewParams"
:viewDefaultUsage=
"false"
:noViewCaption=
"true"
@
viewEvent=
"druipartParams.viewEvent"
>
</
{{
item
.
psAppView
.
codeName
}}
>
</AppFormDruipart>
</div>
{{else}}
<a-col
{{>
@macro
/
front-end
/
widgets
/
common
/
layout-pos
.
hbs
item
=
item
.
psLayoutPos
}}
>
<AppFormDruipart
v-show=
"state.detailsModel.
{{
item
.
codeName
}}
.visible"
name=
"
{{
item
.
codeName
}}
"
title=
"
{{
item
.
caption
}}
"
>
<
{{
item
.
psAppView
.
codeName
}}
:class
="['
app-view-layout--from-druipart
']"
:context=
"druipartParams.context"
:viewParams=
"druipartParams.viewParams"
:viewDefaultUsage=
"false"
:noViewCaption=
"true"
@
viewEvent=
"druipartParams.viewEvent"
>
</
{{
item
.
psAppView
.
codeName
}}
>
</AppFormDruipart>
</a-col>
{{/
eq
}}
\ No newline at end of file
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/components/render/app-form-druipart.vue
0 → 100644
浏览文件 @
2b419506
<
script
setup
lang=
"ts"
>
import
{
IActionParam
,
IParam
,
RouteUtil
}
from
'@core'
;
import
{
Subject
,
Subscription
}
from
'rxjs'
;
interface
FormDruipartProps
{
// 关联视图
viewName
:
string
;
// 刷新关系项
tempMode
:
string
;
// 禁止加载
isForbidLoad
:
string
;
// 传入参数项名称
paramItem
:
string
;
// 视图上下文
context
:
string
;
// 视图参数
viewParams
:
boolean
;
// 应用实体参数名称
parentName
:
number
;
// 应用实体映射实体名称
parentDeName
:
boolean
;
// 标题
title
:
string
;
// 刷新关系项
refreshItems
:
string
;
// 表单数据
data
:
string
;
// 表单订阅对象
formState
:
Subject
<
any
>
;
// 视图路由参数
parameters
:
any
[];
// 名称
name
:
string
;
// 是否忽略表单项值变化
ignoreFieldValueChange
:
boolean
;
}
interface
FormDruipartEmit
{
(
name
:
'componentEvent'
,
value
:
IActionParam
):
void
;
}
const
props
=
withDefaults
(
defineProps
<
FormDruipartProps
>
(),
{});
const
emit
=
defineEmits
<
FormDruipartEmit
>
();
let
formStateEvent
:
undefined
|
Subscription
=
undefined
;
const
formDruipart
:
Subject
<
any
>
=
new
Subject
<
any
>
();
// 关秀界面上下文
let
druipartContext
:
any
=
undefined
;
// 关秀界面视图参数
let
druipartViewParams
:
any
=
undefined
;
onBeforeMount
(()
=>
{
watch
(
()
=>
props
.
data
,
(
newVal
:
any
,
oldVal
:
any
)
=>
{
if
(
props
.
ignoreFieldValueChange
)
{
return
;
}
if
(
Object
.
is
(
newVal
,
oldVal
))
{
return
;
}
refreshDRUIPart
();
},
);
druipartInit
();
});
// 关系界面初始化
const
druipartInit
=
()
=>
{
if
(
!
props
.
formState
)
{
return
;
}
formStateEvent
=
props
.
formState
.
subscribe
((
$event
:
any
)
=>
{
// 表单加载完成
if
(
Object
.
is
(
$event
.
type
,
'load'
))
{
refreshDRUIPart
(
$event
.
data
);
}
});
};
// 刷新关系界面
const
refreshDRUIPart
=
(
data
?:
any
)
=>
{
// const formData: any = data ? data : JSON.parse(props.data);
// const _paramItem = formData[props.paramItem];
// let tempContext: any = {};
// let tempParam: any = {};
// const _parameters: any[] = [RouteUtil.getIndexViewParam(), ...props.parameters];
// _parameters.forEach((parameter: any) => {
// const { pathName, parameterName }: { pathName: string; parameterName: string } = parameter;
// if (formData[parameterName] && !Object.is(formData[parameterName], '')) {
// Object.assign(tempContext, {
// [parameterName]: formData[parameterName],
// });
// }
// });
// Object.assign(tempContext, { [props.paramItem]: _paramItem });
// //设置顶层视图唯一标识
// Object.assign(tempContext, props.context);
// Object.assign(tempContext, {
// srfParentDeName: props.parentName,
// srfParentDeMapName: props.parentDeName,
// srfParentKey: _paramItem,
// });
// Object.assign(tempParam, {
// srfParentDeName: props.parentName,
// srfParentDeMapName: props.parentDeName,
// srfParentKey: _paramItem,
// });
// 设置局部上下文
formDruipart
.
next
({
action
:
'load'
});
};
const
viewEvent
=
(
action
:
any
)
=>
{
};
</
script
>
<
template
>
<a-card
:class=
"['app-form-druipart', `app-form-druipart-$
{name}`]" :bordered="false">
<template
#
title
>
<p
:class=
"['app-form-druipart-title']"
>
<AppIconText
:text=
"title"
/>
</p>
</
template
>
<slot
:context=
"druipartContext"
:viewParams=
"druipartViewParams"
:viewEvent=
"viewEvent"
></slot>
</a-card>
</template>
<
style
lang=
"scss"
>
.app-form-druipart
{
height
:
100%
;
width
:
100%
;
.ant-card-head
{
text-align
:
left
;
.app-form-druipart-title
{
margin
:
0px
;
}
}
.app-view-layout--from-druipart
{
padding
:
0
;
}
}
</
style
>
\ No newline at end of file
modules/ibizlab-generator-core/src/main/resources/templ/r7/app_{{apps}}/src/widgets/{{appEntities}}/{{ctrls@FORM}}-form/{{ctrls@FORM}}-form.vue.hbs
浏览文件 @
2b419506
...
@@ -3,7 +3,21 @@
...
@@ -3,7 +3,21 @@
import
{
Subject
}
from
'rxjs'
;
import
{
Subject
}
from
'rxjs'
;
import
{
ctrlState
}
from
'./
{{
spinalCase
ctrl
.
codeName
}}
-form-state'
;
import
{
ctrlState
}
from
'./
{{
spinalCase
ctrl
.
codeName
}}
-form-state'
;
import
{
FormControl
,
IActionParam
,
IParam
,
ControlAction
,
IContext
}
from
'@core'
;
import
{
FormControl
,
IActionParam
,
IParam
,
ControlAction
,
IContext
}
from
'@core'
;
{{#
*
inline
"importFormDruipart"
}}
{{#
each
items
as
|
formDetail
|
}}
{{#
eq
formDetail
.
detailType
'DRUIPART'
}}
import
{{
formDetail
.
psAppView
.
codeName
}}
from
'@views/
{{
spinalCase
formDetail
.
psAppView
.
psAppModule
.
codeName
}}
/
{{
spinalCase
formDetail
.
psAppView
.
codeName
}}
'
;
{{/
eq
}}
{{#if
formDetail
.
psDEFormDetails
}}
{{>
(
lookup
'importFormDruipart'
)
items
=
formDetail
.
psDEFormDetails
}}
{{/if}}
{{/
each
}}
{{/
inline
}}
{{#
each
ctrl
.
psDEFormPages
as
|
items
|
}}
{{#if
items
.
psDEFormDetails
}}
{{>
(
lookup
'importFormDruipart'
)
items
=
items
.
psDEFormDetails
}}
{{/if}}
{{/
each
}}
interface
Props
{
interface
Props
{
context
:
IContext
;
context
:
IContext
;
viewParams
?:
IParam
;
viewParams
?:
IParam
;
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录