Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
F
formbase
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
formexample_angular
formbase
提交
e0110222
提交
e0110222
编写于
7月 08, 2020
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
SYSTEM 发布系统代码
上级
e3ad1369
变更
21
展开全部
隐藏空白字符变更
内嵌
并排
正在显示
21 个修改的文件
包含
882 行增加
和
51 行删除
+882
-51
.ibizproject
.ibizproject
+32
-32
app-routing.module.ts
app_Default/src/app/app-routing.module.ts
+8
-0
app.component.html
app_Default/src/app/app.component.html
+3
-1
example-main5-edit-view.html
...mple/example-main5-edit-view/example-main5-edit-view.html
+2
-0
example-main5-edit-view.less
...mple/example-main5-edit-view/example-main5-edit-view.less
+1
-0
example-main5-edit-view.module.ts
...example-main5-edit-view/example-main5-edit-view.module.ts
+38
-0
example-main5-edit-view.ts
...apmple/example-main5-edit-view/example-main5-edit-view.ts
+22
-0
entity5-main5-edit-view.html
...ule5/entity5-main5-edit-view/entity5-main5-edit-view.html
+2
-0
entity5-main5-edit-view.less
...ule5/entity5-main5-edit-view/entity5-main5-edit-view.less
+1
-0
entity5-main5-edit-view.module.ts
...entity5-main5-edit-view/entity5-main5-edit-view.module.ts
+38
-0
entity5-main5-edit-view.ts
...odule5/entity5-main5-edit-view/entity5-main5-edit-view.ts
+22
-0
main5.html
app_Default/src/widgets/entity5/main5/main5.html
+52
-0
main5.less
app_Default/src/widgets/entity5/main5/main5.less
+19
-0
main5.module.ts
app_Default/src/widgets/entity5/main5/main5.module.ts
+36
-0
main5.ts
app_Default/src/widgets/entity5/main5/main5.ts
+292
-0
main2.html
app_Default/src/widgets/example/main2/main2.html
+9
-15
main2.ts
app_Default/src/widgets/example/main2/main2.ts
+6
-3
main5.html
app_Default/src/widgets/example/main5/main5.html
+6
-0
main5.less
app_Default/src/widgets/example/main5/main5.less
+19
-0
main5.module.ts
app_Default/src/widgets/example/main5/main5.module.ts
+36
-0
main5.ts
app_Default/src/widgets/example/main5/main5.ts
+238
-0
未找到文件。
.ibizproject
浏览文件 @
e0110222
此差异已折叠。
点击以展开。
app_Default/src/app/app-routing.module.ts
浏览文件 @
e0110222
...
...
@@ -7,6 +7,10 @@ const routes: Routes = [
path
:
''
,
children
:
[
{
path
:
'module5_entity5main5editview'
,
loadChildren
:
'@pages/module5/entity5-main5-edit-view/entity5-main5-edit-view.module#Entity5Main5EditViewModule'
},
{
path
:
'exapmple_examplemain3editview'
,
loadChildren
:
'@pages/exapmple/example-main3-edit-view/example-main3-edit-view.module#ExampleMain3EditViewModule'
},
...
...
@@ -42,6 +46,10 @@ const routes: Routes = [
path
:
'exapmple_exampledlfeditview'
,
loadChildren
:
'@pages/exapmple/example-dlfedit-view/example-dlfedit-view.module#ExampleDLFEditViewModule'
},
{
path
:
'exapmple_examplemain5editview'
,
loadChildren
:
'@pages/exapmple/example-main5-edit-view/example-main5-edit-view.module#ExampleMain5EditViewModule'
},
{
path
:
'module2_entity2editview'
,
loadChildren
:
'@pages/module2/entity2-edit-view/entity2-edit-view.module#Entity2EditViewModule'
...
...
app_Default/src/app/app.component.html
浏览文件 @
e0110222
<nz-layout
class=
"app-layout"
>
<nz-sider>
<ul
nz-menu
nzMode=
"inline"
nzTheme=
"dark"
>
<li
nz-menu-item
(
click
)="
onClick
('
exapmple_examplemain3editview
')"
>
模拟
</li>
<li
nz-menu-item
(
click
)="
onClick
('
module5_entity5main5editview
')"
>
表单5
</li>
<li
nz-menu-item
(
click
)="
onClick
('
exapmple_examplemain3editview
')"
>
模拟
</li>
<li
nz-menu-item
(
click
)="
onClick
('
module_entityeditview
')"
>
实体编辑视图
</li>
<li
nz-menu-item
(
click
)="
onClick
('
exapmple_exampleeditortype
')"
>
基础编辑器
</li>
<li
nz-menu-item
(
click
)="
onClick
('
exapmple_exampleeditview
')"
>
基础表单项
</li>
...
...
@@ -10,6 +11,7 @@
<li
nz-menu-item
(
click
)="
onClick
('
module4_entity4editview
')"
>
实体4编辑视图
</li>
<li
nz-menu-item
(
click
)="
onClick
('
module5_entity5editview
')"
>
实体5编辑视图
</li>
<li
nz-menu-item
(
click
)="
onClick
('
exapmple_exampledlfeditview
')"
>
表单项动态逻辑示例
</li>
<li
nz-menu-item
(
click
)="
onClick
('
exapmple_examplemain5editview
')"
>
表单5
</li>
<li
nz-menu-item
(
click
)="
onClick
('
module2_entity2editview
')"
>
实体2编辑视图
</li>
<li
nz-menu-item
(
click
)="
onClick
('
exapmple_examplemain4editview
')"
>
表单4
</li>
</ul>
...
...
app_Default/src/pages/exapmple/example-main5-edit-view/example-main5-edit-view.html
0 → 100644
浏览文件 @
e0110222
<div
style=
"background: #fff;height: 100%;padding: 16px;overflow: auto;"
>
<main5-form
(
dataChangeEvent
)="
onFormDataChange
($
event
)"
></main5-form></div>
\ No newline at end of file
app_Default/src/pages/exapmple/example-main5-edit-view/example-main5-edit-view.less
0 → 100644
浏览文件 @
e0110222
// this is less
app_Default/src/pages/exapmple/example-main5-edit-view/example-main5-edit-view.module.ts
0 → 100644
浏览文件 @
e0110222
import
{
NgZorroAntdModule
}
from
'ng-zorro-antd'
;
import
{
RouterModule
}
from
'@angular/router'
;
import
{
NgModule
,
CUSTOM_ELEMENTS_SCHEMA
}
from
'@angular/core'
;
import
{
CommonModule
}
from
'@angular/common'
;
import
{
FormsModule
}
from
'@angular/forms'
;
import
{
EditFormModule
}
from
'@widgets/example/main5/main5.module'
;
import
{
ExampleMain5EditViewPage
}
from
'./example-main5-edit-view'
;
@
NgModule
({
imports
:
[
RouterModule
.
forChild
([
{
path
:
''
,
component
:
ExampleMain5EditViewPage
,
data
:
{
name
:
'exapmple_examplemain5editview'
}
}
])
],
exports
:
[
RouterModule
]
})
export
class
ExampleMain5EditViewRouteModule
{}
@
NgModule
({
imports
:
[
NgZorroAntdModule
,
CommonModule
,
FormsModule
,
ExampleMain5EditViewRouteModule
,
EditFormModule
,
],
schemas
:
[
CUSTOM_ELEMENTS_SCHEMA
],
declarations
:
[
ExampleMain5EditViewPage
],
entryComponents
:
[
ExampleMain5EditViewPage
],
exports
:
[
ExampleMain5EditViewPage
]
})
export
class
ExampleMain5EditViewModule
{}
app_Default/src/pages/exapmple/example-main5-edit-view/example-main5-edit-view.ts
0 → 100644
浏览文件 @
e0110222
import
{
Component
}
from
'@angular/core'
;
import
{
Subject
,
Unsubscribable
}
from
'rxjs'
;
@
Component
({
selector
:
'view-example-main5-edit-view'
,
templateUrl
:
'./example-main5-edit-view.html'
,
styleUrls
:
[
'./example-main5-edit-view.less'
]
})
export
class
ExampleMain5EditViewPage
{
/**
* 表单数据变化
*
* @param {*} $event
* @memberof BookTestEditViewPage
*/
public
onFormDataChange
(
$event
:
any
)
{
console
.
log
(
$event
);
}
}
app_Default/src/pages/module5/entity5-main5-edit-view/entity5-main5-edit-view.html
0 → 100644
浏览文件 @
e0110222
<div
style=
"background: #fff;height: 100%;padding: 16px;overflow: auto;"
>
<main5-form
(
dataChangeEvent
)="
onFormDataChange
($
event
)"
></main5-form></div>
\ No newline at end of file
app_Default/src/pages/module5/entity5-main5-edit-view/entity5-main5-edit-view.less
0 → 100644
浏览文件 @
e0110222
// this is less
app_Default/src/pages/module5/entity5-main5-edit-view/entity5-main5-edit-view.module.ts
0 → 100644
浏览文件 @
e0110222
import
{
NgZorroAntdModule
}
from
'ng-zorro-antd'
;
import
{
RouterModule
}
from
'@angular/router'
;
import
{
NgModule
,
CUSTOM_ELEMENTS_SCHEMA
}
from
'@angular/core'
;
import
{
CommonModule
}
from
'@angular/common'
;
import
{
FormsModule
}
from
'@angular/forms'
;
import
{
EditFormModule
}
from
'@widgets/entity5/main5/main5.module'
;
import
{
Entity5Main5EditViewPage
}
from
'./entity5-main5-edit-view'
;
@
NgModule
({
imports
:
[
RouterModule
.
forChild
([
{
path
:
''
,
component
:
Entity5Main5EditViewPage
,
data
:
{
name
:
'module5_entity5main5editview'
}
}
])
],
exports
:
[
RouterModule
]
})
export
class
Entity5Main5EditViewRouteModule
{}
@
NgModule
({
imports
:
[
NgZorroAntdModule
,
CommonModule
,
FormsModule
,
Entity5Main5EditViewRouteModule
,
EditFormModule
,
],
schemas
:
[
CUSTOM_ELEMENTS_SCHEMA
],
declarations
:
[
Entity5Main5EditViewPage
],
entryComponents
:
[
Entity5Main5EditViewPage
],
exports
:
[
Entity5Main5EditViewPage
]
})
export
class
Entity5Main5EditViewModule
{}
app_Default/src/pages/module5/entity5-main5-edit-view/entity5-main5-edit-view.ts
0 → 100644
浏览文件 @
e0110222
import
{
Component
}
from
'@angular/core'
;
import
{
Subject
,
Unsubscribable
}
from
'rxjs'
;
@
Component
({
selector
:
'view-entity5-main5-edit-view'
,
templateUrl
:
'./entity5-main5-edit-view.html'
,
styleUrls
:
[
'./entity5-main5-edit-view.less'
]
})
export
class
Entity5Main5EditViewPage
{
/**
* 表单数据变化
*
* @param {*} $event
* @memberof BookTestEditViewPage
*/
public
onFormDataChange
(
$event
:
any
)
{
console
.
log
(
$event
);
}
}
app_Default/src/widgets/entity5/main5/main5.html
0 → 100644
浏览文件 @
e0110222
<form
nz-form
nz-row
class=
"app-form"
>
<div
nz-row
>
<div
nz-col
[
ngClass
]="{
hidden:
!
detailsModel
.
grouppanel1
.
visible
}"
style=
''
[
nzLg
]="{
span:
24
,
offset:
0
}"
>
<div
nz-row
>
<div
nz-col
[
ngClass
]="{
hidden:
!
detailsModel
.
grouppanel2
.
visible
}"
style=
''
[
nzSm
]="{
span:
8
,
offset:
0
}"
[
nzMd
]="{
span:
8
,
offset:
0
}"
[
nzLg
]="{
span:
8
,
offset:
0
}"
[
nzXl
]="{
span:
8
,
offset:
0
}"
>
<div
nz-row
>
<div
nz-col
[
ngClass
]="{
hidden:
!
detailsModel
.
button1
.
visible
}"
style=
''
[
nzLg
]="{
span:
24
,
offset:
0
}"
>
<button
class=
""
nz-button
nzType=
"primary"
(
click
)="
button1_click
($
event
)"
style=
""
>
<span
>
123123
</span>
</button>
</div>
</div>
</div>
<div
nz-col
[
ngClass
]="{
hidden:
!
detailsModel
.
grouppanel3
.
visible
}"
style=
''
[
nzSm
]="{
span:
8
,
offset:
0
}"
[
nzMd
]="{
span:
8
,
offset:
0
}"
[
nzLg
]="{
span:
8
,
offset:
0
}"
[
nzXl
]="{
span:
8
,
offset:
0
}"
>
<div
nz-row
>
</div>
</div>
<div
nz-col
[
ngClass
]="{
hidden:
!
detailsModel
.
grouppanel4
.
visible
}"
style=
''
[
nzSm
]="{
span:
8
,
offset:
0
}"
[
nzMd
]="{
span:
8
,
offset:
0
}"
[
nzLg
]="{
span:
8
,
offset:
0
}"
[
nzXl
]="{
span:
8
,
offset:
0
}"
>
<div
nz-row
>
</div>
</div>
</div>
</div>
<div
nz-col
[
ngClass
]="{
hidden:
!
detailsModel
.
formitem1
.
visible
}"
style=
''
[
nzSm
]="{
span:
1
,
offset:
0
}"
[
nzLg
]="{
span:
24
,
offset:
0
}"
>
<nz-form-item
[
nzFlex
]="
true
"
[
ngClass
]="[(
detailsModel
.
formitem1
.
validateStatus =
=
'
error
')
?
''
:
'
no-error
']"
>
<nz-form-label
[
nzRequired
]="
rules
.
formitem1
[
1
].
required
"
style=
"width: 130px;"
></nz-form-label>
<nz-form-control
style=
"flex-grow: 1;"
[
nzValidateStatus
]="
detailsModel
.
formitem1
.
validateStatus
"
[
nzErrorTip
]="
detailsModel
.
formitem1
.
error
"
>
<input
nz-input
name=
"formitem1"
[
ngModel
]="
data
.
formitem1
"
[
disabled
]="
detailsModel
.
formitem1
.
disabled
"
placeholder=
"请输入..."
(
ngModelChange
)="
onFormDataChange
('
formitem1
',
$
event
)"
style=
""
/>
</nz-form-control>
</nz-form-item
>
</div>
<div
nz-col
[
ngClass
]="{
hidden:
!
detailsModel
.
formitem
.
visible
}"
style=
''
[
nzLg
]="{
span:
24
,
offset:
0
}"
>
<nz-form-item
[
nzFlex
]="
true
"
[
ngClass
]="[(
detailsModel
.
formitem
.
validateStatus =
=
'
error
')
?
''
:
'
no-error
']"
>
<nz-form-label
[
nzRequired
]="
rules
.
formitem
[
1
].
required
"
style=
"width: 130px;"
></nz-form-label>
<nz-form-control
style=
"flex-grow: 1;"
[
nzValidateStatus
]="
detailsModel
.
formitem
.
validateStatus
"
[
nzErrorTip
]="
detailsModel
.
formitem
.
error
"
>
<input
nz-input
name=
"formitem"
[
ngModel
]="
data
.
formitem
"
[
disabled
]="
detailsModel
.
formitem
.
disabled
"
placeholder=
"请输入..."
(
ngModelChange
)="
onFormDataChange
('
formitem
',
$
event
)"
style=
""
/>
</nz-form-control>
</nz-form-item
>
</div>
</div>
</form>
\ No newline at end of file
app_Default/src/widgets/entity5/main5/main5.less
0 → 100644
浏览文件 @
e0110222
// this is less
.hidden {
display: none;
}
.app-form {
.app-form-group {
height: 100%;
/deep/ .ant-card-body {
height: calc(100% - 58px);
}
}
.no-error {
margin-bottom: 24px;
}
/deep/ .ant-tabs-tabpane {
padding: 0 16px;
}
}
\ No newline at end of file
app_Default/src/widgets/entity5/main5/main5.module.ts
0 → 100644
浏览文件 @
e0110222
import
{
NgZorroAntdModule
}
from
'ng-zorro-antd'
;
import
{
RouterModule
}
from
'@angular/router'
;
import
{
NgModule
,
CUSTOM_ELEMENTS_SCHEMA
}
from
'@angular/core'
;
import
{
CommonModule
}
from
'@angular/common'
;
import
{
FormsModule
}
from
'@angular/forms'
;
import
{
EditForm
}
from
'./main5'
;
import
{
AppTimePickerModule
}
from
'@components/app-time-picker/app-time-picker.module'
;
import
{
AppDatePickerModule
}
from
'@components/app-date-picker/app-date-picker.module'
;
import
{
AppSelectModule
}
from
'@components/app-select/app-select.module'
;
import
{
AppRadioModule
}
from
'@components/app-radio/app-radio.module'
;
import
{
AppCheckboxListModule
}
from
'@components/app-checkbox-list/app-checkbox-list.module'
;
import
{
AppCheckboxModule
}
from
'@components/app-checkbox/app-checkbox.module'
;
import
{
AppImageUploadModule
}
from
'@components/app-image-upload/app-image-upload.module'
;
import
{
AppFileUploadModule
}
from
'@components/app-file-upload/app-file-upload.module'
;
@
NgModule
({
imports
:
[
NgZorroAntdModule
,
CommonModule
,
FormsModule
,
AppDatePickerModule
,
AppTimePickerModule
,
AppSelectModule
,
AppRadioModule
,
AppCheckboxListModule
,
AppCheckboxModule
,
AppImageUploadModule
,
AppFileUploadModule
],
schemas
:
[
CUSTOM_ELEMENTS_SCHEMA
],
declarations
:
[
EditForm
],
exports
:
[
EditForm
]
})
export
class
EditFormModule
{
}
app_Default/src/widgets/entity5/main5/main5.ts
0 → 100644
浏览文件 @
e0110222
此差异已折叠。
点击以展开。
app_Default/src/widgets/example/main2/main2.html
浏览文件 @
e0110222
<form
nz-form
nz-row
class=
"app-form"
>
<div
nz-row
>
<nz-tabset>
<nz-tab
[
nzTitle
]="
formpage1Template
"
>
<ng-template
#
formpage1Template
>
表单分页
</ng-template>
<div
nz-col
[
ngClass
]="{
hidden:
!
detailsModel
.
grouppanel1
.
visible
}"
style=
''
[
nzLg
]="{
span:
24
,
offset:
0
}"
>
<div
nz-col
[
ngClass
]="{
hidden:
!
detailsModel
.
grouppanel1
.
visible
}"
style=
''
[
nzLg
]="{
span:
24
,
offset:
0
}"
>
<nz-card
[
nzBordered
]="
false
"
nzTitle=
"分组面板"
class=
"app-form-group"
>
<div
nz-row
>
...
...
@@ -85,6 +80,14 @@
<app-checkbox
name=
"formitem8"
[
value
]="
data
.
formitem8
"
[
disabled
]="
detailsModel
.
formitem8
.
disabled
"
(
onFormItemValueChange
)="
onFormDataChange
('
formitem8
',
$
event
)"
></app-checkbox>
</nz-form-control>
</nz-form-item
>
</div>
<div
nz-col
[
ngClass
]="{
hidden:
!
detailsModel
.
formitem17
.
visible
}"
style=
''
[
nzLg
]="{
span:
24
,
offset:
0
}"
>
<nz-form-item
[
nzFlex
]="
true
"
[
ngClass
]="[(
detailsModel
.
formitem17
.
validateStatus =
=
'
error
')
?
''
:
'
no-error
']"
>
<nz-form-label
[
nzRequired
]="
rules
.
formitem17
[
1
].
required
"
style=
"width: 130px;"
></nz-form-label>
<nz-form-control
style=
"flex-grow: 1;"
[
nzValidateStatus
]="
detailsModel
.
formitem17
.
validateStatus
"
[
nzErrorTip
]="
detailsModel
.
formitem17
.
error
"
>
<input
nz-input
name=
"formitem17"
type=
"password"
[
ngModel
]="
data
.
formitem17
"
[
disabled
]="
detailsModel
.
formitem17
.
disabled
"
placeholder=
"请输入..."
(
ngModelChange
)="
onFormDataChange
('
formitem17
',
$
event
)"
style=
""
/>
</nz-form-control>
</nz-form-item
>
</div>
<div
nz-col
[
ngClass
]="{
hidden:
!
detailsModel
.
formitem9
.
visible
}"
style=
''
[
nzLg
]="{
span:
24
,
offset:
0
}"
>
<nz-form-item
[
nzFlex
]="
true
"
[
ngClass
]="[(
detailsModel
.
formitem9
.
validateStatus =
=
'
error
')
?
''
:
'
no-error
']"
>
...
...
@@ -388,14 +391,5 @@
</div>
</nz-tab>
<nz-tab
[
nzTitle
]="
formpage2Template
"
>
<ng-template
#
formpage2Template
>
基本信息
</ng-template>
</nz-tab>
</nz-tabset>
</div>
</form>
\ No newline at end of file
app_Default/src/widgets/example/main2/main2.ts
浏览文件 @
e0110222
...
...
@@ -141,6 +141,10 @@ export class EditForm implements OnInit {
{
type
:
'string'
,
message
:
'选项框 值必须为字符串类型'
},
{
required
:
false
,
type
:
'string'
,
message
:
'选项框 值不能为空'
},
],
formitem17
:
[
{
type
:
'string'
,
message
:
' 值必须为字符串类型'
},
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
},
],
formitem9
:
[
{
type
:
'string'
,
message
:
'单选项列表 值必须为字符串类型'
},
{
required
:
false
,
type
:
'string'
,
message
:
'单选项列表 值不能为空'
},
...
...
@@ -303,8 +307,6 @@ export class EditForm implements OnInit {
grouppanel1
:
new
FormGroupPanelModel
({
caption
:
'分组面板'
,
detailType
:
'GROUPPANEL'
,
name
:
'grouppanel1'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
uiActionGroup
:
{
caption
:
''
,
extractMode
:
'ITEM'
,
details
:
[]
}
})
,
formpage1
:
new
FormPageModel
({
caption
:
'表单分页'
,
detailType
:
'FORMPAGE'
,
name
:
'formpage1'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
})
,
formpage2
:
new
FormPageModel
({
caption
:
'基本信息'
,
detailType
:
'FORMPAGE'
,
name
:
'formpage2'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
})
,
srfupdatedate
:
new
FormItemModel
({
caption
:
'更新时间'
,
detailType
:
'FORMITEM'
,
name
:
'srfupdatedate'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
...
...
@@ -339,6 +341,8 @@ export class EditForm implements OnInit {
formitem7
:
new
FormItemModel
({
caption
:
'下拉列表框'
,
detailType
:
'FORMITEM'
,
name
:
'formitem7'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
formitem8
:
new
FormItemModel
({
caption
:
'选项框'
,
detailType
:
'FORMITEM'
,
name
:
'formitem8'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
formitem17
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'formitem17'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
formitem9
:
new
FormItemModel
({
caption
:
'单选项列表'
,
detailType
:
'FORMITEM'
,
name
:
'formitem9'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
...
...
@@ -410,7 +414,6 @@ export class EditForm implements OnInit {
,
updateman
:
new
FormItemModel
({
caption
:
'更新人'
,
detailType
:
'FORMITEM'
,
name
:
'updateman'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
form
:
new
FormTabPanelModel
({
caption
:
'form'
,
detailType
:
'TABPANEL'
,
name
:
'form'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
tabPages
:
[{
name
:
'formpage1'
,
index
:
0
,
visible
:
true
},
{
name
:
'formpage2'
,
index
:
1
,
visible
:
true
}]
}),
};
/**
...
...
app_Default/src/widgets/example/main5/main5.html
0 → 100644
浏览文件 @
e0110222
<form
nz-form
nz-row
class=
"app-form"
>
<div
nz-row
>
<nz-tabset>
</nz-tabset>
</div>
</form>
\ No newline at end of file
app_Default/src/widgets/example/main5/main5.less
0 → 100644
浏览文件 @
e0110222
// this is less
.hidden {
display: none;
}
.app-form {
.app-form-group {
height: 100%;
/deep/ .ant-card-body {
height: calc(100% - 58px);
}
}
.no-error {
margin-bottom: 24px;
}
/deep/ .ant-tabs-tabpane {
padding: 0 16px;
}
}
\ No newline at end of file
app_Default/src/widgets/example/main5/main5.module.ts
0 → 100644
浏览文件 @
e0110222
import
{
NgZorroAntdModule
}
from
'ng-zorro-antd'
;
import
{
RouterModule
}
from
'@angular/router'
;
import
{
NgModule
,
CUSTOM_ELEMENTS_SCHEMA
}
from
'@angular/core'
;
import
{
CommonModule
}
from
'@angular/common'
;
import
{
FormsModule
}
from
'@angular/forms'
;
import
{
EditForm
}
from
'./main5'
;
import
{
AppTimePickerModule
}
from
'@components/app-time-picker/app-time-picker.module'
;
import
{
AppDatePickerModule
}
from
'@components/app-date-picker/app-date-picker.module'
;
import
{
AppSelectModule
}
from
'@components/app-select/app-select.module'
;
import
{
AppRadioModule
}
from
'@components/app-radio/app-radio.module'
;
import
{
AppCheckboxListModule
}
from
'@components/app-checkbox-list/app-checkbox-list.module'
;
import
{
AppCheckboxModule
}
from
'@components/app-checkbox/app-checkbox.module'
;
import
{
AppImageUploadModule
}
from
'@components/app-image-upload/app-image-upload.module'
;
import
{
AppFileUploadModule
}
from
'@components/app-file-upload/app-file-upload.module'
;
@
NgModule
({
imports
:
[
NgZorroAntdModule
,
CommonModule
,
FormsModule
,
AppDatePickerModule
,
AppTimePickerModule
,
AppSelectModule
,
AppRadioModule
,
AppCheckboxListModule
,
AppCheckboxModule
,
AppImageUploadModule
,
AppFileUploadModule
],
schemas
:
[
CUSTOM_ELEMENTS_SCHEMA
],
declarations
:
[
EditForm
],
exports
:
[
EditForm
]
})
export
class
EditFormModule
{
}
app_Default/src/widgets/example/main5/main5.ts
0 → 100644
浏览文件 @
e0110222
import
{
Component
,
OnInit
,
Input
,
Output
,
EventEmitter
,
ViewContainerRef
,
ViewChild
,
OnDestroy
,
AfterViewInit
}
from
'@angular/core'
;
import
{
Subject
,
Subscription
}
from
'rxjs'
;
import
{
NzNotificationService
}
from
'ng-zorro-antd/notification'
;
import
{
Util
}
from
'@global/util/util'
;
import
{
NzModalService
}
from
'ng-zorro-antd/modal'
;
import
{
FormButtonModel
,
FormPageModel
,
FormItemModel
,
FormDRUIPartModel
,
FormPartModel
,
FormGroupPanelModel
,
FormIFrameModel
,
FormRowItemModel
,
FormTabPageModel
,
FormTabPanelModel
,
FormUserControlModel
}
from
'@global/model/form-detail'
;
import
{
debounceTime
,
distinctUntilChanged
}
from
'rxjs/operators'
;
@
Component
({
selector
:
'main5-form'
,
templateUrl
:
'./main5.html'
,
styleUrls
:
[
'./main5.less'
],
})
export
class
EditForm
implements
OnInit
{
constructor
(
private
$util
:
Util
)
{
}
/**
* 数据对象
*
* @type {*}
* @memberof EditForm
*/
@
Input
()
set
formData
(
val
:
any
)
{
if
(
val
)
{
this
.
data
=
JSON
.
parse
(
JSON
.
stringify
(
val
));
this
.
formLogic
(
''
,
null
,
null
);
}
}
/**
* 表单数据对象
*
* @type {*}
* @memberof EditForm
*/
public
data
:
any
=
{};
/**
* 表单数据变化
*
* @type {Subject<any>}
* @memberof EditForm
*/
public
formDataChange
:
Subject
<
any
>
=
new
Subject
<
any
>
();
/**
* 表单数据变化抛出事件
*
* @type {EventEmitter<any>}
* @memberof EditForm
*/
@
Output
()
dataChangeEvent
:
EventEmitter
<
any
>
=
new
EventEmitter
<
any
>
();
/**
* 代码表模型
*
* @type {*}
* @memberof Main5
*/
public
codelistModel
:
any
=
{
};
/**
* 属性值规则
*
* @type {*}
* @memberof Main5
*/
public
rules
:
any
=
{
srfupdatedate
:
[
{
type
:
'string'
,
message
:
'更新时间 值必须为字符串类型'
},
{
required
:
false
,
type
:
'string'
,
message
:
'更新时间 值不能为空'
},
],
srforikey
:
[
{
type
:
'string'
,
message
:
' 值必须为字符串类型'
},
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
},
],
srfkey
:
[
{
type
:
'string'
,
message
:
'示例标识 值必须为字符串类型'
},
{
required
:
false
,
type
:
'string'
,
message
:
'示例标识 值不能为空'
},
],
srfmajortext
:
[
{
type
:
'string'
,
message
:
'示例名称 值必须为字符串类型'
},
{
required
:
false
,
type
:
'string'
,
message
:
'示例名称 值不能为空'
},
],
srftempmode
:
[
{
type
:
'string'
,
message
:
' 值必须为字符串类型'
},
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
},
],
srfuf
:
[
{
type
:
'string'
,
message
:
' 值必须为字符串类型'
},
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
},
],
srfdeid
:
[
{
type
:
'string'
,
message
:
' 值必须为字符串类型'
},
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
},
],
srfsourcekey
:
[
{
type
:
'string'
,
message
:
' 值必须为字符串类型'
},
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
},
],
exampleid
:
[
{
type
:
'string'
,
message
:
'示例标识 值必须为字符串类型'
},
{
required
:
false
,
type
:
'string'
,
message
:
'示例标识 值不能为空'
},
],
}
/**
* 详情模型集合
*
* @type {*}
* @memberof Main5
*/
public
detailsModel
:
any
=
{
srfupdatedate
:
new
FormItemModel
({
caption
:
'更新时间'
,
detailType
:
'FORMITEM'
,
name
:
'srfupdatedate'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
srforikey
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'srforikey'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
srfkey
:
new
FormItemModel
({
caption
:
'示例标识'
,
detailType
:
'FORMITEM'
,
name
:
'srfkey'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
srfmajortext
:
new
FormItemModel
({
caption
:
'示例名称'
,
detailType
:
'FORMITEM'
,
name
:
'srfmajortext'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
srftempmode
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'srftempmode'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
srfuf
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'srfuf'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
srfdeid
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'srfdeid'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
srfsourcekey
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'srfsourcekey'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
exampleid
:
new
FormItemModel
({
caption
:
'示例标识'
,
detailType
:
'FORMITEM'
,
name
:
'exampleid'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
form
:
new
FormTabPanelModel
({
caption
:
'form'
,
detailType
:
'TABPANEL'
,
name
:
'form'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
tabPages
:
[]
}),
};
/**
* 生命周期
*
* @memberof EditForm
*/
ngOnInit
():
void
{
this
.
formLogic
(
''
,
null
,
null
);
this
.
formDataChange
.
pipe
(
debounceTime
(
300
),
distinctUntilChanged
()
).
subscribe
(
data
=>
{
this
.
dataChangeEvent
.
emit
(
JSON
.
parse
(
data
.
data
));
const
field
=
data
.
field
;
if
(
field
)
{
this
.
formLogic
(
field
.
name
,
field
.
value
,
field
.
oldVal
);
this
.
validateFormItem
(
field
.
name
);
}
});
}
/**
* 表单项值变化事件
*
* @param {{name: string, value: any}} {name, value}
* @memberof EditForm
*/
public
onFormDataChange
(
name
:
string
,
value
:
any
):
void
{
if
(
Object
.
is
(
this
.
data
[
name
],
value
))
{
return
;
}
let
oldVal
:
any
=
this
.
data
[
name
];
this
.
data
[
name
]
=
value
;
this
.
formDataChange
.
next
({
data
:
JSON
.
stringify
(
this
.
data
),
field
:
{
name
:
name
,
value
:
value
,
oldVal
:
oldVal
}
});
}
/**
* 校验表单项
*
* @param {string} name
* @memberof EditForm
*/
public
validateFormItem
(
name
:
string
)
{
if
(
!
name
)
{
return
;
}
const
rule
:
any
[]
=
this
.
rules
[
name
];
let
message
=
''
;
let
status
=
''
;
const
val
:
any
=
this
.
data
[
name
];
rule
.
every
((
rule
:
any
)
=>
{
if
(
rule
.
required
&&
(
!
val
||
Object
.
is
(
val
,
''
))
)
{
message
=
rule
.
message
;
status
=
'error'
;
return
false
;
}
else
if
(
val
&&
rule
.
pattern
&&
!
rule
.
pattern
.
test
(
val
))
{
message
=
rule
.
message
;
status
=
'error'
;
return
false
;
}
return
true
;
});
this
.
detailsModel
[
name
].
error
=
message
;
this
.
detailsModel
[
name
].
validateStatus
=
status
;
}
/**
* 获取代码表集合
*
* @param {string} name
* @memberof EditForm
*/
public
getCodeList
(
name
:
string
)
{
if
(
!
name
||
!
this
.
codelistModel
[
name
])
{
return
[];
}
return
this
.
codelistModel
[
name
];
}
/**
* 表单逻辑
*
* @param {string} name
* @param {*} newVal
* @param {*} oldVal
* @memberof EditForm
*/
public
formLogic
(
name
:
string
,
newVal
:
any
,
oldVal
:
any
)
{
}
}
\ No newline at end of file
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录