Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
F
formbase
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
formexample_vue
formbase
提交
54fe96cf
提交
54fe96cf
编写于
7月 11, 2020
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
SYSTEM 发布系统代码
上级
10a9def1
变更
10
展开全部
隐藏空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
1728 行增加
和
65 行删除
+1728
-65
.ibizproject
.ibizproject
+32
-32
App.vue
app_Default/src/App.vue
+61
-33
main2.vue
app_Default/src/forms/entity/main2/main2.vue
+294
-0
main10.vue
app_Default/src/forms/example/main10/main10.vue
+365
-0
main11.vue
app_Default/src/forms/example/main11/main11.vue
+294
-0
main9.vue
app_Default/src/forms/example/main9/main9.vue
+506
-0
example-main10-edit-view.vue
...ple/example-main10-edit-view/example-main10-edit-view.vue
+44
-0
example-main11-edit-view.vue
...ple/example-main11-edit-view/example-main11-edit-view.vue
+44
-0
example-main9-edit-view.vue
...pmple/example-main9-edit-view/example-main9-edit-view.vue
+44
-0
entity-main2-edit-view.vue
.../module/entity-main2-edit-view/entity-main2-edit-view.vue
+44
-0
未找到文件。
.ibizproject
浏览文件 @
54fe96cf
此差异已折叠。
点击以展开。
app_Default/src/App.vue
浏览文件 @
54fe96cf
...
...
@@ -7,93 +7,113 @@
<a-menu
theme=
"dark"
mode=
"inline"
:defaultSelectedKeys=
"['0']"
@
click=
"handleClick"
>
<a-menu-item
key=
"0"
>
<a-icon
type=
"user"
/>
<span>
表单
9
</span>
<span>
表单
2
</span>
</a-menu-item>
<a-menu-item
key=
"1"
>
<a-icon
type=
"video-camera"
/>
<span>
表单
4
</span>
<span>
表单
9
</span>
</a-menu-item>
<a-menu-item
key=
"2"
>
<a-icon
type=
"upload"
/>
<span>
表单
7
</span>
<span>
表单
4
</span>
</a-menu-item>
<a-menu-item
key=
"3"
>
<a-icon
type=
"user"
/>
<span>
实体编辑视图
</span>
<span>
表单9
</span>
</a-menu-item>
<a-menu-item
key=
"4"
>
<a-icon
type=
"video-camera"
/>
<span>
表单
6
</span>
<span>
表单
7
</span>
</a-menu-item>
<a-menu-item
key=
"5"
>
<a-icon
type=
"upload"
/>
<span>
基础编辑器
</span>
<span>
实体编辑视图
</span>
</a-menu-item>
<a-menu-item
key=
"6"
>
<a-icon
type=
"user"
/>
<span>
基础表单项
</span>
<span>
表单6
</span>
</a-menu-item>
<a-menu-item
key=
"7"
>
<a-icon
type=
"video-camera"
/>
<span>
实体3编辑视图
</span>
<span>
基础编辑器
</span>
</a-menu-item>
<a-menu-item
key=
"8"
>
<a-icon
type=
"upload"
/>
<span>
表单5
</span>
<span>
基础表单项
</span>
</a-menu-item>
<a-menu-item
key=
"9"
>
<a-icon
type=
"user"
/>
<span>
实体
4
编辑视图
</span>
<span>
实体
3
编辑视图
</span>
</a-menu-item>
<a-menu-item
key=
"10"
>
<a-icon
type=
"video-camera"
/>
<span>
实体5编辑视图
</span>
<span>
表单5
</span>
</a-menu-item>
<a-menu-item
key=
"11"
>
<a-icon
type=
"upload"
/>
<span>
表单项动态逻辑示例
</span>
<span>
songtest
</span>
</a-menu-item>
<a-menu-item
key=
"12"
>
<a-icon
type=
"user"
/>
<span>
表单9
</span>
<span>
实体4编辑视图
</span>
</a-menu-item>
<a-menu-item
key=
"13"
>
<a-icon
type=
"video-camera"
/>
<span>
实体
2
编辑视图
</span>
<span>
实体
5
编辑视图
</span>
</a-menu-item>
<a-menu-item
key=
"14"
>
<a-icon
type=
"upload"
/>
<span>
表单
8
</span>
<span>
表单
项动态逻辑示例
</span>
</a-menu-item>
<a-menu-item
key=
"15"
>
<a-icon
type=
"user"
/>
<span>
DemoForm
</span>
<span>
表单9
</span>
</a-menu-item>
<a-menu-item
key=
"16"
>
<a-icon
type=
"video-camera"
/>
<span>
实体2编辑视图
</span>
</a-menu-item>
<a-menu-item
key=
"17"
>
<a-icon
type=
"upload"
/>
<span>
表单8
</span>
</a-menu-item>
<a-menu-item
key=
"18"
>
<a-icon
type=
"user"
/>
<span>
DemoForm
</span>
</a-menu-item>
<a-menu-item
key=
"19"
>
<a-icon
type=
"video-camera"
/>
<span>
TEST1
</span>
</a-menu-item>
<a-menu-item
key=
"20"
>
<a-icon
type=
"upload"
/>
<span>
表单3
</span>
</a-menu-item>
</a-menu>
</a-layout-sider>
<a-layout>
<a-layout-content
:style=
"
{ margin: '24px 16px', padding: '24px', background: '#fff', minHeight: '280px' }">
<Entity4Main9EditView
v-show=
"curSelected == '0'"
/>
<ExampleMain4EditView
v-show=
"curSelected == '1'"
/>
<ExampleMain7EditView
v-show=
"curSelected == '2'"
/>
<EntityEditView
v-show=
"curSelected == '3'"
/>
<ExampleMain6EditView
v-show=
"curSelected == '4'"
/>
<ExampleEditorType
v-show=
"curSelected == '5'"
/>
<ExampleEditView
v-show=
"curSelected == '6'"
/>
<Entity3EditView
v-show=
"curSelected == '7'"
/>
<ExampleMain5EditView
v-show=
"curSelected == '8'"
/>
<Entity4EditView
v-show=
"curSelected == '9'"
/>
<Entity5EditView
v-show=
"curSelected == '10'"
/>
<ExampleDLFEditView
v-show=
"curSelected == '11'"
/>
<Entity3Main9EditView
v-show=
"curSelected == '12'"
/>
<Entity2EditView
v-show=
"curSelected == '13'"
/>
<ExampleMain8EditView
v-show=
"curSelected == '14'"
/>
<ExampleMain2EditView
v-show=
"curSelected == '15'"
/>
<ExampleMain3EditView
v-show=
"curSelected == '16'"
/>
<EntityMain2EditView
v-show=
"curSelected == '0'"
/>
<Entity4Main9EditView
v-show=
"curSelected == '1'"
/>
<ExampleMain4EditView
v-show=
"curSelected == '2'"
/>
<ExampleMain9EditView
v-show=
"curSelected == '3'"
/>
<ExampleMain7EditView
v-show=
"curSelected == '4'"
/>
<EntityEditView
v-show=
"curSelected == '5'"
/>
<ExampleMain6EditView
v-show=
"curSelected == '6'"
/>
<ExampleEditorType
v-show=
"curSelected == '7'"
/>
<ExampleEditView
v-show=
"curSelected == '8'"
/>
<Entity3EditView
v-show=
"curSelected == '9'"
/>
<ExampleMain5EditView
v-show=
"curSelected == '10'"
/>
<ExampleMain10EditView
v-show=
"curSelected == '11'"
/>
<Entity4EditView
v-show=
"curSelected == '12'"
/>
<Entity5EditView
v-show=
"curSelected == '13'"
/>
<ExampleDLFEditView
v-show=
"curSelected == '14'"
/>
<Entity3Main9EditView
v-show=
"curSelected == '15'"
/>
<Entity2EditView
v-show=
"curSelected == '16'"
/>
<ExampleMain8EditView
v-show=
"curSelected == '17'"
/>
<ExampleMain2EditView
v-show=
"curSelected == '18'"
/>
<ExampleMain11EditView
v-show=
"curSelected == '19'"
/>
<ExampleMain3EditView
v-show=
"curSelected == '20'"
/>
</a-layout-content>
</a-layout>
</a-layout>
...
...
@@ -106,8 +126,10 @@ import zhCN from "ant-design-vue/lib/locale-provider/zh_CN";
import
enUS
from
"ant-design-vue/lib/locale-provider/en_US"
;
import
AppService
from
"@service/AppService"
;
import
EntityMain2EditView
from
'@pages/module/entity-main2-edit-view/entity-main2-edit-view.vue'
;
import
Entity4Main9EditView
from
'@pages/module4/entity4-main9-edit-view/entity4-main9-edit-view.vue'
;
import
ExampleMain4EditView
from
'@pages/exapmple/example-main4-edit-view/example-main4-edit-view.vue'
;
import
ExampleMain9EditView
from
'@pages/exapmple/example-main9-edit-view/example-main9-edit-view.vue'
;
import
ExampleMain7EditView
from
'@pages/exapmple/example-main7-edit-view/example-main7-edit-view.vue'
;
import
EntityEditView
from
'@pages/module/entity-edit-view/entity-edit-view.vue'
;
import
ExampleMain6EditView
from
'@pages/exapmple/example-main6-edit-view/example-main6-edit-view.vue'
;
...
...
@@ -115,6 +137,7 @@ import ExampleEditorType from '@pages/exapmple/example-editor-type/example-edito
import
ExampleEditView
from
'@pages/exapmple/example-edit-view/example-edit-view.vue'
;
import
Entity3EditView
from
'@pages/module3/entity3-edit-view/entity3-edit-view.vue'
;
import
ExampleMain5EditView
from
'@pages/exapmple/example-main5-edit-view/example-main5-edit-view.vue'
;
import
ExampleMain10EditView
from
'@pages/exapmple/example-main10-edit-view/example-main10-edit-view.vue'
;
import
Entity4EditView
from
'@pages/module4/entity4-edit-view/entity4-edit-view.vue'
;
import
Entity5EditView
from
'@pages/module5/entity5-edit-view/entity5-edit-view.vue'
;
import
ExampleDLFEditView
from
'@pages/exapmple/example-dlfedit-view/example-dlfedit-view.vue'
;
...
...
@@ -122,13 +145,16 @@ import Entity3Main9EditView from '@pages/module3/entity3-main9-edit-view/entity3
import
Entity2EditView
from
'@pages/module2/entity2-edit-view/entity2-edit-view.vue'
;
import
ExampleMain8EditView
from
'@pages/exapmple/example-main8-edit-view/example-main8-edit-view.vue'
;
import
ExampleMain2EditView
from
'@pages/exapmple/example-main2-edit-view/example-main2-edit-view.vue'
;
import
ExampleMain11EditView
from
'@pages/exapmple/example-main11-edit-view/example-main11-edit-view.vue'
;
import
ExampleMain3EditView
from
'@pages/exapmple/example-main3-edit-view/example-main3-edit-view.vue'
;
export
default
{
name
:
"app"
,
components
:
{
EntityMain2EditView
,
Entity4Main9EditView
,
ExampleMain4EditView
,
ExampleMain9EditView
,
ExampleMain7EditView
,
EntityEditView
,
ExampleMain6EditView
,
...
...
@@ -136,6 +162,7 @@ export default {
ExampleEditView
,
Entity3EditView
,
ExampleMain5EditView
,
ExampleMain10EditView
,
Entity4EditView
,
Entity5EditView
,
ExampleDLFEditView
,
...
...
@@ -143,6 +170,7 @@ export default {
Entity2EditView
,
ExampleMain8EditView
,
ExampleMain2EditView
,
ExampleMain11EditView
,
ExampleMain3EditView
},
data
()
{
...
...
app_Default/src/forms/entity/main2/main2.vue
0 → 100644
浏览文件 @
54fe96cf
<
template
>
<div
class=
"app-form"
>
<a-form
class=
""
style=
""
>
<a-row>
<a-tabs
@
change=
"formPageSelected"
>
</a-tabs>
</a-row>
</a-form>
</div>
</
template
>
<
script
>
import
{
FormButtonModel
,
FormDetailModel
,
FormItemModel
,
FormDRUIPartModel
,
FormGroupPanelModel
,
FormIFrameModel
,
FormPageModel
,
FormPartModel
,
FormRowItemModel
,
FormTabPageModel
,
FormTabPanelModel
,
FormUserControlModel
}
from
"@models/index.js"
;
import
Schema
from
"async-validator"
;
import
ComUtil
from
'@utils/ComUtil'
;
import
AppService
from
"@service/AppService"
;
export
default
{
name
:
"Main2form"
,
props
:{
formData
:
Object
},
watch
:
{
'formData'
:
{
handler
:
'onFormDataChanged'
,
immediate
:
true
,
deep
:
true
}
},
data
()
{
return
{
/**
* 当前语言
*
*/
local
:
""
,
/**
* 激活分组
*
*/
activeGroup
:[],
/**
* 激活分组
*
*/
data
:{
srfupdatedate
:
null
,
srforikey
:
null
,
srfkey
:
null
,
srfmajortext
:
null
,
srftempmode
:
null
,
srfuf
:
null
,
srfdeid
:
null
,
srfsourcekey
:
null
,
entityid
:
null
,
},
/**
* 表单模型
*
*/
detailsModel
:{
srfupdatedate
:
new
FormItemModel
({
caption
:
'更新时间'
,
detailType
:
'FORMITEM'
,
name
:
'srfupdatedate'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
validateStatus
:
""
,
error
:
""
,
required
:
false
,
enableCond
:
3
})
,
srforikey
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'srforikey'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
validateStatus
:
""
,
error
:
""
,
required
:
false
,
enableCond
:
3
})
,
srfkey
:
new
FormItemModel
({
caption
:
'实体标识'
,
detailType
:
'FORMITEM'
,
name
:
'srfkey'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
validateStatus
:
""
,
error
:
""
,
required
:
false
,
enableCond
:
3
})
,
srfmajortext
:
new
FormItemModel
({
caption
:
'实体名称'
,
detailType
:
'FORMITEM'
,
name
:
'srfmajortext'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
validateStatus
:
""
,
error
:
""
,
required
:
false
,
enableCond
:
3
})
,
srftempmode
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'srftempmode'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
validateStatus
:
""
,
error
:
""
,
required
:
false
,
enableCond
:
3
})
,
srfuf
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'srfuf'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
validateStatus
:
""
,
error
:
""
,
required
:
false
,
enableCond
:
3
})
,
srfdeid
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'srfdeid'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
validateStatus
:
""
,
error
:
""
,
required
:
false
,
enableCond
:
3
})
,
srfsourcekey
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'srfsourcekey'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
validateStatus
:
""
,
error
:
""
,
required
:
false
,
enableCond
:
3
})
,
entityid
:
new
FormItemModel
({
caption
:
'实体标识'
,
detailType
:
'FORMITEM'
,
name
:
'entityid'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
validateStatus
:
""
,
error
:
""
,
required
:
false
,
enableCond
:
3
})
,
form
:
new
FormTabPanelModel
({
caption
:
'form'
,
detailType
:
'TABPANEL'
,
name
:
'form'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
tabPages
:
[]
}),
},
/**
* 代码表模型
*
*/
codelistModel
:{
},
/**
* 表单值规则
*
*/
formRules
:{
},
/**
* 默认值规则
*
*/
rules
:{
srfupdatedate
:
[
{
type
:
'string'
,
message
:
'更新时间 值必须为字符串类型'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
'更新时间 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
'更新时间 值不能为空'
,
trigger
:
'blur'
},
],
srforikey
:
[
{
type
:
'string'
,
message
:
' 值必须为字符串类型'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
,
trigger
:
'blur'
},
],
srfkey
:
[
{
type
:
'string'
,
message
:
'实体标识 值必须为字符串类型'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
'实体标识 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
'实体标识 值不能为空'
,
trigger
:
'blur'
},
],
srfmajortext
:
[
{
type
:
'string'
,
message
:
'实体名称 值必须为字符串类型'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
'实体名称 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
'实体名称 值不能为空'
,
trigger
:
'blur'
},
],
srftempmode
:
[
{
type
:
'string'
,
message
:
' 值必须为字符串类型'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
,
trigger
:
'blur'
},
],
srfuf
:
[
{
type
:
'string'
,
message
:
' 值必须为字符串类型'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
,
trigger
:
'blur'
},
],
srfdeid
:
[
{
type
:
'string'
,
message
:
' 值必须为字符串类型'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
,
trigger
:
'blur'
},
],
srfsourcekey
:
[
{
type
:
'string'
,
message
:
' 值必须为字符串类型'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
,
trigger
:
'blur'
},
],
entityid
:
[
{
type
:
'string'
,
message
:
'实体标识 值必须为字符串类型'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
'实体标识 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
'实体标识 值不能为空'
,
trigger
:
'blur'
},
],
}
};
},
created
(){
this
.
initForm
();
this
.
initlangu
();
},
methods
:
{
/**
* 初始化表单
*
*/
initForm
(){
if
(
Object
.
keys
(
this
.
data
).
length
>
0
){
Object
.
keys
(
this
.
data
).
forEach
((
item
)
=>
{
this
.
formItemChange
(
item
,
this
.
data
[
item
],
true
);
})
}
},
/**
* 初始化语言
*
*/
initlangu
(){
if
(
Object
.
is
(
window
.
localStorage
.
getItem
(
"curLang"
),
"zh"
))
{
this
.
local
=
"zh_CN"
;
}
else
{
this
.
local
=
"en_GB"
;
}
AppService
.
getInstance
().
subject
.
subscribe
(
res
=>
{
if
(
Object
.
is
(
res
,
"zh"
))
{
this
.
local
=
"zh_CN"
;
}
else
{
this
.
local
=
"en_GB"
;
}
});
},
/**
* 分页选中
*
*/
formPageSelected
(
key
){
console
.
log
(
"表单选中了"
+
key
);
},
/**
* 按钮点击事件
*
*/
button_click
(
$event
,
caption
){
this
.
$message
.
success
(
"点击了"
+
caption
);
},
/**
* 表单项值变化
*
*/
formItemChange
(
name
,
value
,
isFirst
){
this
.
formLogic
(
name
,
value
);
if
(
!
isFirst
){
this
.
validateItem
(
name
,
value
);
this
.
$emit
(
'formItemChange'
,{
name
:
name
,
value
:
value
});
}
},
/**
* 校验单个表单项
* @param item
* @param value
*/
validateItem
(
item
,
value
)
{
// 做校验
// 1.获取数值和规则
const
rule
=
this
.
rules
[
item
];
// 2.创建校验规则
const
schema
=
new
Schema
({
[
item
]:
rule
})
// 校验返回Promise
return
schema
.
validate
({
[
item
]:
value
},
undefined
,
errors
=>
{
if
(
errors
)
{
// 有错
this
.
detailsModel
[
item
].
setError
(
errors
[
0
].
message
);
}
else
{
this
.
detailsModel
[
item
].
setError
(
''
);
}
})
},
/**
* 校验表单
*
* @memberof Main
*/
validateForm
(
callback
)
{
let
tasks
;
if
(
Object
.
keys
(
this
.
data
).
length
>
0
)
{
tasks
=
Object
.
keys
(
this
.
data
).
map
((
item
)
=>
{
this
.
validateItem
(
item
,
this
.
data
[
item
]);
})
}
Promise
.
all
(
tasks
)
.
then
(()
=>
callback
(
true
))
.
catch
(()
=>
callback
(
false
))
},
/**
* 表单逻辑
*
*/
formLogic
(
name
,
newVal
,
oldVal
)
{
},
onFormDataChanged
(
val
,
oldVal
){
if
(
val
&&
val
!==
oldVal
){
Object
.
keys
(
this
.
data
).
forEach
(
item
=>
{
this
.
data
[
item
]
=
null
;
})
Object
.
assign
(
this
.
data
,
val
);
}
}
}
}
</
script
>
<
style
scoped
>
</
style
>
app_Default/src/forms/example/main10/main10.vue
0 → 100644
浏览文件 @
54fe96cf
此差异已折叠。
点击以展开。
app_Default/src/forms/example/main11/main11.vue
0 → 100644
浏览文件 @
54fe96cf
<
template
>
<div
class=
"app-form"
>
<a-form
class=
""
style=
""
>
<a-row>
<a-tabs
@
change=
"formPageSelected"
>
</a-tabs>
</a-row>
</a-form>
</div>
</
template
>
<
script
>
import
{
FormButtonModel
,
FormDetailModel
,
FormItemModel
,
FormDRUIPartModel
,
FormGroupPanelModel
,
FormIFrameModel
,
FormPageModel
,
FormPartModel
,
FormRowItemModel
,
FormTabPageModel
,
FormTabPanelModel
,
FormUserControlModel
}
from
"@models/index.js"
;
import
Schema
from
"async-validator"
;
import
ComUtil
from
'@utils/ComUtil'
;
import
AppService
from
"@service/AppService"
;
export
default
{
name
:
"Main11form"
,
props
:{
formData
:
Object
},
watch
:
{
'formData'
:
{
handler
:
'onFormDataChanged'
,
immediate
:
true
,
deep
:
true
}
},
data
()
{
return
{
/**
* 当前语言
*
*/
local
:
""
,
/**
* 激活分组
*
*/
activeGroup
:[],
/**
* 激活分组
*
*/
data
:{
srfupdatedate
:
null
,
srforikey
:
null
,
srfkey
:
null
,
srfmajortext
:
null
,
srftempmode
:
null
,
srfuf
:
null
,
srfdeid
:
null
,
srfsourcekey
:
null
,
exampleid
:
null
,
},
/**
* 表单模型
*
*/
detailsModel
:{
srfupdatedate
:
new
FormItemModel
({
caption
:
'更新时间'
,
detailType
:
'FORMITEM'
,
name
:
'srfupdatedate'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
validateStatus
:
""
,
error
:
""
,
required
:
false
,
enableCond
:
3
})
,
srforikey
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'srforikey'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
validateStatus
:
""
,
error
:
""
,
required
:
false
,
enableCond
:
3
})
,
srfkey
:
new
FormItemModel
({
caption
:
'示例标识'
,
detailType
:
'FORMITEM'
,
name
:
'srfkey'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
validateStatus
:
""
,
error
:
""
,
required
:
false
,
enableCond
:
3
})
,
srfmajortext
:
new
FormItemModel
({
caption
:
'示例名称'
,
detailType
:
'FORMITEM'
,
name
:
'srfmajortext'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
validateStatus
:
""
,
error
:
""
,
required
:
false
,
enableCond
:
3
})
,
srftempmode
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'srftempmode'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
validateStatus
:
""
,
error
:
""
,
required
:
false
,
enableCond
:
3
})
,
srfuf
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'srfuf'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
validateStatus
:
""
,
error
:
""
,
required
:
false
,
enableCond
:
3
})
,
srfdeid
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'srfdeid'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
validateStatus
:
""
,
error
:
""
,
required
:
false
,
enableCond
:
3
})
,
srfsourcekey
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'srfsourcekey'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
validateStatus
:
""
,
error
:
""
,
required
:
false
,
enableCond
:
3
})
,
exampleid
:
new
FormItemModel
({
caption
:
'示例标识'
,
detailType
:
'FORMITEM'
,
name
:
'exampleid'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
validateStatus
:
""
,
error
:
""
,
required
:
false
,
enableCond
:
3
})
,
form
:
new
FormTabPanelModel
({
caption
:
'form'
,
detailType
:
'TABPANEL'
,
name
:
'form'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
tabPages
:
[]
}),
},
/**
* 代码表模型
*
*/
codelistModel
:{
},
/**
* 表单值规则
*
*/
formRules
:{
},
/**
* 默认值规则
*
*/
rules
:{
srfupdatedate
:
[
{
type
:
'string'
,
message
:
'更新时间 值必须为字符串类型'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
'更新时间 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
'更新时间 值不能为空'
,
trigger
:
'blur'
},
],
srforikey
:
[
{
type
:
'string'
,
message
:
' 值必须为字符串类型'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
,
trigger
:
'blur'
},
],
srfkey
:
[
{
type
:
'string'
,
message
:
'示例标识 值必须为字符串类型'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
'示例标识 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
'示例标识 值不能为空'
,
trigger
:
'blur'
},
],
srfmajortext
:
[
{
type
:
'string'
,
message
:
'示例名称 值必须为字符串类型'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
'示例名称 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
'示例名称 值不能为空'
,
trigger
:
'blur'
},
],
srftempmode
:
[
{
type
:
'string'
,
message
:
' 值必须为字符串类型'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
,
trigger
:
'blur'
},
],
srfuf
:
[
{
type
:
'string'
,
message
:
' 值必须为字符串类型'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
,
trigger
:
'blur'
},
],
srfdeid
:
[
{
type
:
'string'
,
message
:
' 值必须为字符串类型'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
,
trigger
:
'blur'
},
],
srfsourcekey
:
[
{
type
:
'string'
,
message
:
' 值必须为字符串类型'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
,
trigger
:
'blur'
},
],
exampleid
:
[
{
type
:
'string'
,
message
:
'示例标识 值必须为字符串类型'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
'示例标识 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
'示例标识 值不能为空'
,
trigger
:
'blur'
},
],
}
};
},
created
(){
this
.
initForm
();
this
.
initlangu
();
},
methods
:
{
/**
* 初始化表单
*
*/
initForm
(){
if
(
Object
.
keys
(
this
.
data
).
length
>
0
){
Object
.
keys
(
this
.
data
).
forEach
((
item
)
=>
{
this
.
formItemChange
(
item
,
this
.
data
[
item
],
true
);
})
}
},
/**
* 初始化语言
*
*/
initlangu
(){
if
(
Object
.
is
(
window
.
localStorage
.
getItem
(
"curLang"
),
"zh"
))
{
this
.
local
=
"zh_CN"
;
}
else
{
this
.
local
=
"en_GB"
;
}
AppService
.
getInstance
().
subject
.
subscribe
(
res
=>
{
if
(
Object
.
is
(
res
,
"zh"
))
{
this
.
local
=
"zh_CN"
;
}
else
{
this
.
local
=
"en_GB"
;
}
});
},
/**
* 分页选中
*
*/
formPageSelected
(
key
){
console
.
log
(
"表单选中了"
+
key
);
},
/**
* 按钮点击事件
*
*/
button_click
(
$event
,
caption
){
this
.
$message
.
success
(
"点击了"
+
caption
);
},
/**
* 表单项值变化
*
*/
formItemChange
(
name
,
value
,
isFirst
){
this
.
formLogic
(
name
,
value
);
if
(
!
isFirst
){
this
.
validateItem
(
name
,
value
);
this
.
$emit
(
'formItemChange'
,{
name
:
name
,
value
:
value
});
}
},
/**
* 校验单个表单项
* @param item
* @param value
*/
validateItem
(
item
,
value
)
{
// 做校验
// 1.获取数值和规则
const
rule
=
this
.
rules
[
item
];
// 2.创建校验规则
const
schema
=
new
Schema
({
[
item
]:
rule
})
// 校验返回Promise
return
schema
.
validate
({
[
item
]:
value
},
undefined
,
errors
=>
{
if
(
errors
)
{
// 有错
this
.
detailsModel
[
item
].
setError
(
errors
[
0
].
message
);
}
else
{
this
.
detailsModel
[
item
].
setError
(
''
);
}
})
},
/**
* 校验表单
*
* @memberof Main
*/
validateForm
(
callback
)
{
let
tasks
;
if
(
Object
.
keys
(
this
.
data
).
length
>
0
)
{
tasks
=
Object
.
keys
(
this
.
data
).
map
((
item
)
=>
{
this
.
validateItem
(
item
,
this
.
data
[
item
]);
})
}
Promise
.
all
(
tasks
)
.
then
(()
=>
callback
(
true
))
.
catch
(()
=>
callback
(
false
))
},
/**
* 表单逻辑
*
*/
formLogic
(
name
,
newVal
,
oldVal
)
{
},
onFormDataChanged
(
val
,
oldVal
){
if
(
val
&&
val
!==
oldVal
){
Object
.
keys
(
this
.
data
).
forEach
(
item
=>
{
this
.
data
[
item
]
=
null
;
})
Object
.
assign
(
this
.
data
,
val
);
}
}
}
}
</
script
>
<
style
scoped
>
</
style
>
app_Default/src/forms/example/main9/main9.vue
0 → 100644
浏览文件 @
54fe96cf
此差异已折叠。
点击以展开。
app_Default/src/pages/exapmple/example-main10-edit-view/example-main10-edit-view.vue
0 → 100644
浏览文件 @
54fe96cf
<
template
>
<div>
<Main10form
:formData=
"formData"
@
formItemChange=
"formItemChange"
></Main10form></div>
</
template
>
<
script
>
import
Main10form
from
'@forms/example/main10/main10.vue'
;
export
default
{
name
:
"ExampleMain10EditView"
,
components
:
{
Main10form
},
data
(){
return
{
formData
:{
"bookname"
:
"test1"
,
"input"
:
"文本test"
,
"label"
:
"标签test"
,
"group1"
:
"书籍基本信息test"
,
"formpage1"
:
"基本信息test"
,
"createman"
:
"建立人test"
,
"createdate"
:
"建立时间test"
,
"updateman"
:
"更新人test"
,
"updatedate"
:
"更新时间test"
,
"group2"
:
"操作信息test"
,
"formpage2"
:
"其它test"
}
}
},
methods
:{
formItemChange
(
value
){
console
.
log
(
value
);
}
}
}
</
script
>
<
style
scoped
>
</
style
>
app_Default/src/pages/exapmple/example-main11-edit-view/example-main11-edit-view.vue
0 → 100644
浏览文件 @
54fe96cf
<
template
>
<div>
<Main11form
:formData=
"formData"
@
formItemChange=
"formItemChange"
></Main11form></div>
</
template
>
<
script
>
import
Main11form
from
'@forms/example/main11/main11.vue'
;
export
default
{
name
:
"ExampleMain11EditView"
,
components
:
{
Main11form
},
data
(){
return
{
formData
:{
"bookname"
:
"test1"
,
"input"
:
"文本test"
,
"label"
:
"标签test"
,
"group1"
:
"书籍基本信息test"
,
"formpage1"
:
"基本信息test"
,
"createman"
:
"建立人test"
,
"createdate"
:
"建立时间test"
,
"updateman"
:
"更新人test"
,
"updatedate"
:
"更新时间test"
,
"group2"
:
"操作信息test"
,
"formpage2"
:
"其它test"
}
}
},
methods
:{
formItemChange
(
value
){
console
.
log
(
value
);
}
}
}
</
script
>
<
style
scoped
>
</
style
>
app_Default/src/pages/exapmple/example-main9-edit-view/example-main9-edit-view.vue
0 → 100644
浏览文件 @
54fe96cf
<
template
>
<div>
<Main9form
:formData=
"formData"
@
formItemChange=
"formItemChange"
></Main9form></div>
</
template
>
<
script
>
import
Main9form
from
'@forms/example/main9/main9.vue'
;
export
default
{
name
:
"ExampleMain9EditView"
,
components
:
{
Main9form
},
data
(){
return
{
formData
:{
"bookname"
:
"test1"
,
"input"
:
"文本test"
,
"label"
:
"标签test"
,
"group1"
:
"书籍基本信息test"
,
"formpage1"
:
"基本信息test"
,
"createman"
:
"建立人test"
,
"createdate"
:
"建立时间test"
,
"updateman"
:
"更新人test"
,
"updatedate"
:
"更新时间test"
,
"group2"
:
"操作信息test"
,
"formpage2"
:
"其它test"
}
}
},
methods
:{
formItemChange
(
value
){
console
.
log
(
value
);
}
}
}
</
script
>
<
style
scoped
>
</
style
>
app_Default/src/pages/module/entity-main2-edit-view/entity-main2-edit-view.vue
0 → 100644
浏览文件 @
54fe96cf
<
template
>
<div>
<Main2form
:formData=
"formData"
@
formItemChange=
"formItemChange"
></Main2form></div>
</
template
>
<
script
>
import
Main2form
from
'@forms/entity/main2/main2.vue'
;
export
default
{
name
:
"EntityMain2EditView"
,
components
:
{
Main2form
},
data
(){
return
{
formData
:{
"bookname"
:
"test1"
,
"input"
:
"文本test"
,
"label"
:
"标签test"
,
"group1"
:
"书籍基本信息test"
,
"formpage1"
:
"基本信息test"
,
"createman"
:
"建立人test"
,
"createdate"
:
"建立时间test"
,
"updateman"
:
"更新人test"
,
"updatedate"
:
"更新时间test"
,
"group2"
:
"操作信息test"
,
"formpage2"
:
"其它test"
}
}
},
methods
:{
formItemChange
(
value
){
console
.
log
(
value
);
}
}
}
</
script
>
<
style
scoped
>
</
style
>
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录