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
...
...
@@ -637,12 +637,12 @@
<PSDATAENTITIES>
<PSDATAENTITY
ID=
"
b870529f2e6e059597d7a0582e215e34"
NAME=
"ENTITY2"
CODENAME=
"Entity2"
LOGICNAME=
"实体2"
PSMODULEID=
"9711cea1c1536487d13078d6df5718b3
"
>
<PSDATAENTITY
ID=
"
766ab2e45e3c8b065622cac357002e89"
NAME=
"ENTITY"
CODENAME=
"Entity"
LOGICNAME=
"实体"
PSMODULEID=
"1cf5e1f5569acda3c4a88a91c5130a69
"
>
<IBIZFILES>
<IBIZFILE
TYPE=
"SF_SERVICE"
FOLDER=
"srv/module
2/service"
PUB=
"Entity2ServiceBase.java"
USR=
"Entity2
Service.java"
/>
<IBIZFILE
TYPE=
"SF_DAO"
FOLDER=
"srv/module
2/dao"
PUB=
"Entity2DAOBase.java"
USR=
"Entity2
DAO.java"
/>
<IBIZFILE
TYPE=
"SF_ENTITY"
FOLDER=
"srv/module
2/entity"
PUB=
"Entity2Base.java"
USR=
"Entity2
.java"
/>
<IBIZFILE
TYPE=
"SF_DEMODEL"
FOLDER=
"srv/module
2/demodel"
PUB=
"Entity2DEModelBase.java"
USR=
"Entity2
DEModel.java"
/>
<IBIZFILE
TYPE=
"SF_SERVICE"
FOLDER=
"srv/module
/service"
PUB=
"EntityServiceBase.java"
USR=
"Entity
Service.java"
/>
<IBIZFILE
TYPE=
"SF_DAO"
FOLDER=
"srv/module
/dao"
PUB=
"EntityDAOBase.java"
USR=
"Entity
DAO.java"
/>
<IBIZFILE
TYPE=
"SF_ENTITY"
FOLDER=
"srv/module
/entity"
PUB=
"EntityBase.java"
USR=
"Entity
.java"
/>
<IBIZFILE
TYPE=
"SF_DEMODEL"
FOLDER=
"srv/module
/demodel"
PUB=
"EntityDEModelBase.java"
USR=
"Entity
DEModel.java"
/>
</IBIZFILES>
<PSDEACTIONS>
</PSDEACTIONS>
...
...
@@ -651,21 +651,21 @@
<PSDEACMODES>
<PSDEACMODE
NAME=
"DEFAULT"
CODENAME=
"Default"
>
<IBIZFILES>
<IBIZFILE
TYPE=
"SF_DEACMODEL"
FOLDER=
"srv/module
2/demodel/entity2/ac"
PUB=
"Entity2DefaultACModelBase.java"
USR=
"Entity2
DefaultACModel.java"
/>
<IBIZFILE
TYPE=
"SF_DEACMODEL"
FOLDER=
"srv/module
/demodel/entity/ac"
PUB=
"EntityDefaultACModelBase.java"
USR=
"Entity
DefaultACModel.java"
/>
</IBIZFILES>
</PSDEACMODE>
</PSDEACMODES>
<PSDEDATAQUERYIES>
<PSDEDATAQUERY
NAME=
"DEFAULT"
CODENAME=
"Default"
>
<IBIZFILES>
<IBIZFILE
TYPE=
"SF_DEDQMODEL"
FOLDER=
"srv/module
2/demodel/entity2/dataquery"
PUB=
"Entity2DefaultDQModelBase.java"
USR=
"Entity2
DefaultDQModel.java"
/>
<IBIZFILE
TYPE=
"SF_DEDQMODEL"
FOLDER=
"srv/module
/demodel/entity/dataquery"
PUB=
"EntityDefaultDQModelBase.java"
USR=
"Entity
DefaultDQModel.java"
/>
</IBIZFILES>
</PSDEDATAQUERY>
</PSDEDATAQUERYIES>
<PSDEDATASETS>
<PSDEDATASET
NAME=
"DEFAULT"
CODENAME=
"Default"
>
<IBIZFILES>
<IBIZFILE
TYPE=
"SF_DEDSMODEL"
FOLDER=
"srv/module
2/demodel/entity2/dataset"
PUB=
"Entity2DefaultDSModelBase.java"
USR=
"Entity2
DefaultDSModel.java"
/>
<IBIZFILE
TYPE=
"SF_DEDSMODEL"
FOLDER=
"srv/module
/demodel/entity/dataset"
PUB=
"EntityDefaultDSModelBase.java"
USR=
"Entity
DefaultDSModel.java"
/>
</IBIZFILES>
</PSDEDATASET>
</PSDEDATASETS>
...
...
@@ -679,12 +679,12 @@
</PSDEWFS>
</PSDATAENTITY>
<PSDATAENTITY
ID=
"
766ab2e45e3c8b065622cac357002e89"
NAME=
"ENTITY"
CODENAME=
"Entity"
LOGICNAME=
"实体"
PSMODULEID=
"1cf5e1f5569acda3c4a88a91c5130a69
"
>
<PSDATAENTITY
ID=
"
b870529f2e6e059597d7a0582e215e34"
NAME=
"ENTITY2"
CODENAME=
"Entity2"
LOGICNAME=
"实体2"
PSMODULEID=
"9711cea1c1536487d13078d6df5718b3
"
>
<IBIZFILES>
<IBIZFILE
TYPE=
"SF_SERVICE"
FOLDER=
"srv/module
/service"
PUB=
"EntityServiceBase.java"
USR=
"Entity
Service.java"
/>
<IBIZFILE
TYPE=
"SF_DAO"
FOLDER=
"srv/module
/dao"
PUB=
"EntityDAOBase.java"
USR=
"Entity
DAO.java"
/>
<IBIZFILE
TYPE=
"SF_ENTITY"
FOLDER=
"srv/module
/entity"
PUB=
"EntityBase.java"
USR=
"Entity
.java"
/>
<IBIZFILE
TYPE=
"SF_DEMODEL"
FOLDER=
"srv/module
/demodel"
PUB=
"EntityDEModelBase.java"
USR=
"Entity
DEModel.java"
/>
<IBIZFILE
TYPE=
"SF_SERVICE"
FOLDER=
"srv/module
2/service"
PUB=
"Entity2ServiceBase.java"
USR=
"Entity2
Service.java"
/>
<IBIZFILE
TYPE=
"SF_DAO"
FOLDER=
"srv/module
2/dao"
PUB=
"Entity2DAOBase.java"
USR=
"Entity2
DAO.java"
/>
<IBIZFILE
TYPE=
"SF_ENTITY"
FOLDER=
"srv/module
2/entity"
PUB=
"Entity2Base.java"
USR=
"Entity2
.java"
/>
<IBIZFILE
TYPE=
"SF_DEMODEL"
FOLDER=
"srv/module
2/demodel"
PUB=
"Entity2DEModelBase.java"
USR=
"Entity2
DEModel.java"
/>
</IBIZFILES>
<PSDEACTIONS>
</PSDEACTIONS>
...
...
@@ -693,21 +693,21 @@
<PSDEACMODES>
<PSDEACMODE
NAME=
"DEFAULT"
CODENAME=
"Default"
>
<IBIZFILES>
<IBIZFILE
TYPE=
"SF_DEACMODEL"
FOLDER=
"srv/module
/demodel/entity/ac"
PUB=
"EntityDefaultACModelBase.java"
USR=
"Entity
DefaultACModel.java"
/>
<IBIZFILE
TYPE=
"SF_DEACMODEL"
FOLDER=
"srv/module
2/demodel/entity2/ac"
PUB=
"Entity2DefaultACModelBase.java"
USR=
"Entity2
DefaultACModel.java"
/>
</IBIZFILES>
</PSDEACMODE>
</PSDEACMODES>
<PSDEDATAQUERYIES>
<PSDEDATAQUERY
NAME=
"DEFAULT"
CODENAME=
"Default"
>
<IBIZFILES>
<IBIZFILE
TYPE=
"SF_DEDQMODEL"
FOLDER=
"srv/module
/demodel/entity/dataquery"
PUB=
"EntityDefaultDQModelBase.java"
USR=
"Entity
DefaultDQModel.java"
/>
<IBIZFILE
TYPE=
"SF_DEDQMODEL"
FOLDER=
"srv/module
2/demodel/entity2/dataquery"
PUB=
"Entity2DefaultDQModelBase.java"
USR=
"Entity2
DefaultDQModel.java"
/>
</IBIZFILES>
</PSDEDATAQUERY>
</PSDEDATAQUERYIES>
<PSDEDATASETS>
<PSDEDATASET
NAME=
"DEFAULT"
CODENAME=
"Default"
>
<IBIZFILES>
<IBIZFILE
TYPE=
"SF_DEDSMODEL"
FOLDER=
"srv/module
/demodel/entity/dataset"
PUB=
"EntityDefaultDSModelBase.java"
USR=
"Entity
DefaultDSModel.java"
/>
<IBIZFILE
TYPE=
"SF_DEDSMODEL"
FOLDER=
"srv/module
2/demodel/entity2/dataset"
PUB=
"Entity2DefaultDSModelBase.java"
USR=
"Entity2
DefaultDSModel.java"
/>
</IBIZFILES>
</PSDEDATASET>
</PSDEDATASETS>
...
...
@@ -763,12 +763,12 @@
</PSDEWFS>
</PSDATAENTITY>
<PSDATAENTITY
ID=
"
ea74cfe18bed6cc112ba9c5ae0576771"
NAME=
"ENTITY5"
CODENAME=
"Entity5"
LOGICNAME=
"实体5"
PSMODULEID=
"23047071812f845fc762b5e17d9d687c
"
>
<PSDATAENTITY
ID=
"
29fc5746919ab6aadfecc85cfd291a3a"
NAME=
"ENTITY4"
CODENAME=
"Entity4"
LOGICNAME=
"实体4"
PSMODULEID=
"45e0212eee51c3f900347c70b2367522
"
>
<IBIZFILES>
<IBIZFILE
TYPE=
"SF_SERVICE"
FOLDER=
"srv/module
5/service"
PUB=
"Entity5ServiceBase.java"
USR=
"Entity5
Service.java"
/>
<IBIZFILE
TYPE=
"SF_DAO"
FOLDER=
"srv/module
5/dao"
PUB=
"Entity5DAOBase.java"
USR=
"Entity5
DAO.java"
/>
<IBIZFILE
TYPE=
"SF_ENTITY"
FOLDER=
"srv/module
5/entity"
PUB=
"Entity5Base.java"
USR=
"Entity5
.java"
/>
<IBIZFILE
TYPE=
"SF_DEMODEL"
FOLDER=
"srv/module
5/demodel"
PUB=
"Entity5DEModelBase.java"
USR=
"Entity5
DEModel.java"
/>
<IBIZFILE
TYPE=
"SF_SERVICE"
FOLDER=
"srv/module
4/service"
PUB=
"Entity4ServiceBase.java"
USR=
"Entity4
Service.java"
/>
<IBIZFILE
TYPE=
"SF_DAO"
FOLDER=
"srv/module
4/dao"
PUB=
"Entity4DAOBase.java"
USR=
"Entity4
DAO.java"
/>
<IBIZFILE
TYPE=
"SF_ENTITY"
FOLDER=
"srv/module
4/entity"
PUB=
"Entity4Base.java"
USR=
"Entity4
.java"
/>
<IBIZFILE
TYPE=
"SF_DEMODEL"
FOLDER=
"srv/module
4/demodel"
PUB=
"Entity4DEModelBase.java"
USR=
"Entity4
DEModel.java"
/>
</IBIZFILES>
<PSDEACTIONS>
</PSDEACTIONS>
...
...
@@ -777,21 +777,21 @@
<PSDEACMODES>
<PSDEACMODE
NAME=
"DEFAULT"
CODENAME=
"Default"
>
<IBIZFILES>
<IBIZFILE
TYPE=
"SF_DEACMODEL"
FOLDER=
"srv/module
5/demodel/entity5/ac"
PUB=
"Entity5DefaultACModelBase.java"
USR=
"Entity5
DefaultACModel.java"
/>
<IBIZFILE
TYPE=
"SF_DEACMODEL"
FOLDER=
"srv/module
4/demodel/entity4/ac"
PUB=
"Entity4DefaultACModelBase.java"
USR=
"Entity4
DefaultACModel.java"
/>
</IBIZFILES>
</PSDEACMODE>
</PSDEACMODES>
<PSDEDATAQUERYIES>
<PSDEDATAQUERY
NAME=
"DEFAULT"
CODENAME=
"Default"
>
<IBIZFILES>
<IBIZFILE
TYPE=
"SF_DEDQMODEL"
FOLDER=
"srv/module
5/demodel/entity5/dataquery"
PUB=
"Entity5DefaultDQModelBase.java"
USR=
"Entity5
DefaultDQModel.java"
/>
<IBIZFILE
TYPE=
"SF_DEDQMODEL"
FOLDER=
"srv/module
4/demodel/entity4/dataquery"
PUB=
"Entity4DefaultDQModelBase.java"
USR=
"Entity4
DefaultDQModel.java"
/>
</IBIZFILES>
</PSDEDATAQUERY>
</PSDEDATAQUERYIES>
<PSDEDATASETS>
<PSDEDATASET
NAME=
"DEFAULT"
CODENAME=
"Default"
>
<IBIZFILES>
<IBIZFILE
TYPE=
"SF_DEDSMODEL"
FOLDER=
"srv/module
5/demodel/entity5/dataset"
PUB=
"Entity5DefaultDSModelBase.java"
USR=
"Entity5
DefaultDSModel.java"
/>
<IBIZFILE
TYPE=
"SF_DEDSMODEL"
FOLDER=
"srv/module
4/demodel/entity4/dataset"
PUB=
"Entity4DefaultDSModelBase.java"
USR=
"Entity4
DefaultDSModel.java"
/>
</IBIZFILES>
</PSDEDATASET>
</PSDEDATASETS>
...
...
@@ -805,12 +805,12 @@
</PSDEWFS>
</PSDATAENTITY>
<PSDATAENTITY
ID=
"
29fc5746919ab6aadfecc85cfd291a3a"
NAME=
"ENTITY4"
CODENAME=
"Entity4"
LOGICNAME=
"实体4"
PSMODULEID=
"45e0212eee51c3f900347c70b2367522
"
>
<PSDATAENTITY
ID=
"
ea74cfe18bed6cc112ba9c5ae0576771"
NAME=
"ENTITY5"
CODENAME=
"Entity5"
LOGICNAME=
"实体5"
PSMODULEID=
"23047071812f845fc762b5e17d9d687c
"
>
<IBIZFILES>
<IBIZFILE
TYPE=
"SF_SERVICE"
FOLDER=
"srv/module
4/service"
PUB=
"Entity4ServiceBase.java"
USR=
"Entity4
Service.java"
/>
<IBIZFILE
TYPE=
"SF_DAO"
FOLDER=
"srv/module
4/dao"
PUB=
"Entity4DAOBase.java"
USR=
"Entity4
DAO.java"
/>
<IBIZFILE
TYPE=
"SF_ENTITY"
FOLDER=
"srv/module
4/entity"
PUB=
"Entity4Base.java"
USR=
"Entity4
.java"
/>
<IBIZFILE
TYPE=
"SF_DEMODEL"
FOLDER=
"srv/module
4/demodel"
PUB=
"Entity4DEModelBase.java"
USR=
"Entity4
DEModel.java"
/>
<IBIZFILE
TYPE=
"SF_SERVICE"
FOLDER=
"srv/module
5/service"
PUB=
"Entity5ServiceBase.java"
USR=
"Entity5
Service.java"
/>
<IBIZFILE
TYPE=
"SF_DAO"
FOLDER=
"srv/module
5/dao"
PUB=
"Entity5DAOBase.java"
USR=
"Entity5
DAO.java"
/>
<IBIZFILE
TYPE=
"SF_ENTITY"
FOLDER=
"srv/module
5/entity"
PUB=
"Entity5Base.java"
USR=
"Entity5
.java"
/>
<IBIZFILE
TYPE=
"SF_DEMODEL"
FOLDER=
"srv/module
5/demodel"
PUB=
"Entity5DEModelBase.java"
USR=
"Entity5
DEModel.java"
/>
</IBIZFILES>
<PSDEACTIONS>
</PSDEACTIONS>
...
...
@@ -819,21 +819,21 @@
<PSDEACMODES>
<PSDEACMODE
NAME=
"DEFAULT"
CODENAME=
"Default"
>
<IBIZFILES>
<IBIZFILE
TYPE=
"SF_DEACMODEL"
FOLDER=
"srv/module
4/demodel/entity4/ac"
PUB=
"Entity4DefaultACModelBase.java"
USR=
"Entity4
DefaultACModel.java"
/>
<IBIZFILE
TYPE=
"SF_DEACMODEL"
FOLDER=
"srv/module
5/demodel/entity5/ac"
PUB=
"Entity5DefaultACModelBase.java"
USR=
"Entity5
DefaultACModel.java"
/>
</IBIZFILES>
</PSDEACMODE>
</PSDEACMODES>
<PSDEDATAQUERYIES>
<PSDEDATAQUERY
NAME=
"DEFAULT"
CODENAME=
"Default"
>
<IBIZFILES>
<IBIZFILE
TYPE=
"SF_DEDQMODEL"
FOLDER=
"srv/module
4/demodel/entity4/dataquery"
PUB=
"Entity4DefaultDQModelBase.java"
USR=
"Entity4
DefaultDQModel.java"
/>
<IBIZFILE
TYPE=
"SF_DEDQMODEL"
FOLDER=
"srv/module
5/demodel/entity5/dataquery"
PUB=
"Entity5DefaultDQModelBase.java"
USR=
"Entity5
DefaultDQModel.java"
/>
</IBIZFILES>
</PSDEDATAQUERY>
</PSDEDATAQUERYIES>
<PSDEDATASETS>
<PSDEDATASET
NAME=
"DEFAULT"
CODENAME=
"Default"
>
<IBIZFILES>
<IBIZFILE
TYPE=
"SF_DEDSMODEL"
FOLDER=
"srv/module
4/demodel/entity4/dataset"
PUB=
"Entity4DefaultDSModelBase.java"
USR=
"Entity4
DefaultDSModel.java"
/>
<IBIZFILE
TYPE=
"SF_DEDSMODEL"
FOLDER=
"srv/module
5/demodel/entity5/dataset"
PUB=
"Entity5DefaultDSModelBase.java"
USR=
"Entity5
DefaultDSModel.java"
/>
</IBIZFILES>
</PSDEDATASET>
</PSDEDATASETS>
...
...
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
('
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>
...
...
@@ -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
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
:
'实体5标识 值必须为字符串类型'
},
{
required
:
false
,
type
:
'string'
,
message
:
'实体5标识 值不能为空'
},
],
srfmajortext
:
[
{
type
:
'string'
,
message
:
'实体5名称 值必须为字符串类型'
},
{
required
:
false
,
type
:
'string'
,
message
:
'实体5名称 值不能为空'
},
],
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
:
' 值不能为空'
},
],
formitem1
:
[
{
type
:
'string'
,
message
:
' 值必须为字符串类型'
},
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
},
],
formitem
:
[
{
type
:
'string'
,
message
:
' 值必须为字符串类型'
},
{
required
:
true
,
type
:
'string'
,
message
:
' 值不能为空'
},
],
entity5id
:
[
{
type
:
'string'
,
message
:
'实体5标识 值必须为字符串类型'
},
{
required
:
false
,
type
:
'string'
,
message
:
'实体5标识 值不能为空'
},
],
}
/**
* 详情模型集合
*
* @type {*}
* @memberof Main5
*/
public
detailsModel
:
any
=
{
button1
:
new
FormButtonModel
({
caption
:
'123123'
,
detailType
:
'BUTTON'
,
name
:
'button1'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
})
,
grouppanel2
:
new
FormGroupPanelModel
({
caption
:
'分组面板'
,
detailType
:
'GROUPPANEL'
,
name
:
'grouppanel2'
,
visible
:
true
,
isShowCaption
:
false
,
form
:
this
,
uiActionGroup
:
{
caption
:
''
,
extractMode
:
'ITEM'
,
details
:
[]
}
})
,
grouppanel3
:
new
FormGroupPanelModel
({
caption
:
'分组面板'
,
detailType
:
'GROUPPANEL'
,
name
:
'grouppanel3'
,
visible
:
true
,
isShowCaption
:
false
,
form
:
this
,
uiActionGroup
:
{
caption
:
''
,
extractMode
:
'ITEM'
,
details
:
[]
}
})
,
grouppanel4
:
new
FormGroupPanelModel
({
caption
:
'分组面板'
,
detailType
:
'GROUPPANEL'
,
name
:
'grouppanel4'
,
visible
:
true
,
isShowCaption
:
false
,
form
:
this
,
uiActionGroup
:
{
caption
:
''
,
extractMode
:
'ITEM'
,
details
:
[]
}
})
,
grouppanel1
:
new
FormGroupPanelModel
({
caption
:
'分组面板'
,
detailType
:
'GROUPPANEL'
,
name
:
'grouppanel1'
,
visible
:
true
,
isShowCaption
:
false
,
form
:
this
,
uiActionGroup
:
{
caption
:
''
,
extractMode
:
'ITEM'
,
details
:
[]
}
})
,
formpage1
:
new
FormPageModel
({
caption
:
'表单分页'
,
detailType
:
'FORMPAGE'
,
name
:
'formpage1'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
})
,
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
:
'实体5标识'
,
detailType
:
'FORMITEM'
,
name
:
'srfkey'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
srfmajortext
:
new
FormItemModel
({
caption
:
'实体5名称'
,
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
})
,
formitem1
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'formitem1'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
formitem
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'formitem'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
entity5id
:
new
FormItemModel
({
caption
:
'实体5标识'
,
detailType
:
'FORMITEM'
,
name
:
'entity5id'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
};
/**
* 生命周期
*
* @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
);
}
});
}
/**
* 123123事件触发
*
* @param {*} $event
* @memberof EditForm
*/
public
button1_click
(
$event
:
any
)
{
}
/**
* 表单项值变化事件
*
* @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
)
{
if
(
Object
.
is
(
name
,
''
)
||
Object
.
is
(
name
,
'formitem'
))
{
let
ret
=
true
;
const
_formitem
=
this
.
data
.
formitem
;
if
(
this
.
$util
.
testCond
(
_formitem
,
'EQ'
,
'1213'
))
{
ret
=
false
;
}
this
.
rules
.
formitem
.
some
((
rule
:
any
)
=>
{
if
(
rule
.
hasOwnProperty
(
'required'
))
{
rule
.
required
=
ret
;
}
return
false
;
});
}
}
}
\ No newline at end of file
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
}"
>
<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
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录