Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
F
formbase
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
formexample_vue
formbase
提交
fabbb2eb
提交
fabbb2eb
编写于
5月 25, 2020
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
SYSTEM 发布系统代码
上级
4e88387f
变更
3
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
368 行增加
和
23 行删除
+368
-23
App.vue
app_Default/src/App.vue
+30
-23
main7.vue
app_Default/src/forms/example/main7/main7.vue
+294
-0
example-main7-edit-view.vue
...pmple/example-main7-edit-view/example-main7-edit-view.vue
+44
-0
未找到文件。
app_Default/src/App.vue
浏览文件 @
fabbb2eb
...
...
@@ -11,50 +11,54 @@
</a-menu-item>
<a-menu-item
key=
"1"
>
<a-icon
type=
"video-camera"
/>
<span>
实体编辑视图
</span>
<span>
表单7
</span>
</a-menu-item>
<a-menu-item
key=
"2"
>
<a-icon
type=
"upload"
/>
<span>
表单6
</span>
<span>
实体编辑视图
</span>
</a-menu-item>
<a-menu-item
key=
"3"
>
<a-icon
type=
"user"
/>
<span>
基础编辑器
</span>
<span>
表单6
</span>
</a-menu-item>
<a-menu-item
key=
"4"
>
<a-icon
type=
"video-camera"
/>
<span>
基础
表单项
</span>
<span>
基础
编辑器
</span>
</a-menu-item>
<a-menu-item
key=
"5"
>
<a-icon
type=
"upload"
/>
<span>
实体3编辑视图
</span>
<span>
基础表单项
</span>
</a-menu-item>
<a-menu-item
key=
"6"
>
<a-icon
type=
"user"
/>
<span>
表单5
</span>
<span>
实体3编辑视图
</span>
</a-menu-item>
<a-menu-item
key=
"7"
>
<a-icon
type=
"video-camera"
/>
<span>
实体4编辑视图
</span>
<span>
表单5
</span>
</a-menu-item>
<a-menu-item
key=
"8"
>
<a-icon
type=
"upload"
/>
<span>
实体
5
编辑视图
</span>
<span>
实体
4
编辑视图
</span>
</a-menu-item>
<a-menu-item
key=
"9"
>
<a-icon
type=
"user"
/>
<span>
表单项动态逻辑示例
</span>
<span>
实体5编辑视图
</span>
</a-menu-item>
<a-menu-item
key=
"10"
>
<a-icon
type=
"video-camera"
/>
<span>
实体2编辑视图
</span>
<span>
表单项动态逻辑示例
</span>
</a-menu-item>
<a-menu-item
key=
"11"
>
<a-icon
type=
"upload"
/>
<span>
DemoForm
</span>
<span>
实体2编辑视图
</span>
</a-menu-item>
<a-menu-item
key=
"12"
>
<a-icon
type=
"user"
/>
<span>
DemoForm
</span>
</a-menu-item>
<a-menu-item
key=
"13"
>
<a-icon
type=
"video-camera"
/>
<span>
表单3
</span>
</a-menu-item>
</a-menu>
...
...
@@ -62,18 +66,19 @@
<a-layout>
<a-layout-content
:style=
"
{ margin: '24px 16px', padding: '24px', background: '#fff', minHeight: '280px' }">
<ExampleMain4EditView
v-show=
"curSelected == '0'"
/>
<EntityEditView
v-show=
"curSelected == '1'"
/>
<ExampleMain6EditView
v-show=
"curSelected == '2'"
/>
<ExampleEditorType
v-show=
"curSelected == '3'"
/>
<ExampleEditView
v-show=
"curSelected == '4'"
/>
<Entity3EditView
v-show=
"curSelected == '5'"
/>
<ExampleMain5EditView
v-show=
"curSelected == '6'"
/>
<Entity4EditView
v-show=
"curSelected == '7'"
/>
<Entity5EditView
v-show=
"curSelected == '8'"
/>
<ExampleDLFEditView
v-show=
"curSelected == '9'"
/>
<Entity2EditView
v-show=
"curSelected == '10'"
/>
<ExampleMain2EditView
v-show=
"curSelected == '11'"
/>
<ExampleMain3EditView
v-show=
"curSelected == '12'"
/>
<ExampleMain7EditView
v-show=
"curSelected == '1'"
/>
<EntityEditView
v-show=
"curSelected == '2'"
/>
<ExampleMain6EditView
v-show=
"curSelected == '3'"
/>
<ExampleEditorType
v-show=
"curSelected == '4'"
/>
<ExampleEditView
v-show=
"curSelected == '5'"
/>
<Entity3EditView
v-show=
"curSelected == '6'"
/>
<ExampleMain5EditView
v-show=
"curSelected == '7'"
/>
<Entity4EditView
v-show=
"curSelected == '8'"
/>
<Entity5EditView
v-show=
"curSelected == '9'"
/>
<ExampleDLFEditView
v-show=
"curSelected == '10'"
/>
<Entity2EditView
v-show=
"curSelected == '11'"
/>
<ExampleMain2EditView
v-show=
"curSelected == '12'"
/>
<ExampleMain3EditView
v-show=
"curSelected == '13'"
/>
</a-layout-content>
</a-layout>
</a-layout>
...
...
@@ -87,6 +92,7 @@ import enUS from "ant-design-vue/lib/locale-provider/en_US";
import
AppService
from
"@service/AppService"
;
import
ExampleMain4EditView
from
'@pages/exapmple/example-main4-edit-view/example-main4-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'
;
import
ExampleEditorType
from
'@pages/exapmple/example-editor-type/example-editor-type.vue'
;
...
...
@@ -104,6 +110,7 @@ export default {
name
:
"app"
,
components
:
{
ExampleMain4EditView
,
ExampleMain7EditView
,
EntityEditView
,
ExampleMain6EditView
,
ExampleEditorType
,
...
...
app_Default/src/forms/example/main7/main7.vue
0 → 100644
浏览文件 @
fabbb2eb
<
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
:
"Main7form"
,
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/pages/exapmple/example-main7-edit-view/example-main7-edit-view.vue
0 → 100644
浏览文件 @
fabbb2eb
<
template
>
<div>
<Main7form
:formData=
"formData"
@
formItemChange=
"formItemChange"
></Main7form></div>
</
template
>
<
script
>
import
Main7form
from
'@forms/example/main7/main7.vue'
;
export
default
{
name
:
"ExampleMain7EditView"
,
components
:
{
Main7form
},
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
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录