Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
iBiz-Vue-R7-Res
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz-R7前端标准模板
iBiz-Vue-R7-Res
提交
30bf7934
提交
30bf7934
编写于
9月 23, 2020
作者:
llz
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
avue自定义配置表单新增动态从主表单配置下拉请求参数
上级
5fb67a50
变更
1
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
43 行增加
和
9 行删除
+43
-9
avue-custom-form.vue
src/components/avue-custom-form/avue-custom-form.vue
+43
-9
未找到文件。
src/components/avue-custom-form/avue-custom-form.vue
浏览文件 @
30bf7934
...
@@ -23,7 +23,7 @@ export default class AvueCustomForm extends Vue {
...
@@ -23,7 +23,7 @@ export default class AvueCustomForm extends Vue {
* @type {*}
* @type {*}
* @memberof AvueCustomForm
* @memberof AvueCustomForm
*/
*/
@
Prop
()
public
options
?
:
any
;
public
options
:
any
;
/**
/**
* 是否需要转换为string类型
* 是否需要转换为string类型
...
@@ -72,7 +72,7 @@ export default class AvueCustomForm extends Vue {
...
@@ -72,7 +72,7 @@ export default class AvueCustomForm extends Vue {
* @memberof AvueCustomForm
* @memberof AvueCustomForm
*/
*/
@
Prop
()
@
Prop
()
public
formData
:
any
;
public
formData
?
:
any
;
/**
/**
* 表单状态
* 表单状态
...
@@ -93,7 +93,8 @@ export default class AvueCustomForm extends Vue {
...
@@ -93,7 +93,8 @@ export default class AvueCustomForm extends Vue {
if
(
this
.
value
)
{
if
(
this
.
value
)
{
if
(
this
.
isParseString
)
obj
=
JSON
.
parse
(
this
.
value
);
if
(
this
.
isParseString
)
obj
=
JSON
.
parse
(
this
.
value
);
else
obj
=
this
.
value
;
else
obj
=
this
.
value
;
if
(
this
.
isSubForm
&&
obj
instanceof
Array
)
obj
=
this
.
loadSubFormData
(
obj
);
if
(
this
.
isSubForm
&&
obj
instanceof
Array
)
obj
=
this
.
loadSubFormData
(
obj
);
}
}
return
obj
;
return
obj
;
}
}
...
@@ -195,22 +196,26 @@ export default class AvueCustomForm extends Vue {
...
@@ -195,22 +196,26 @@ export default class AvueCustomForm extends Vue {
*
*
* @memberof AvueCustomForm
* @memberof AvueCustomForm
*/
*/
public
load
()
{
public
async
load
()
{
let
that
:
any
=
this
;
let
that
:
any
=
this
;
if
(
!
this
.
options
&&
this
.
options
==
null
)
{
if
(
!
this
.
options
&&
this
.
options
==
null
)
{
if
(
this
.
url
&&
this
.
options
==
null
)
{
if
(
this
.
url
&&
this
.
options
==
null
)
{
const
get
:
Promise
<
any
>
=
this
.
$http
.
get
(
this
.
url
);
const
get
:
Promise
<
any
>
=
this
.
$http
.
get
(
this
.
url
);
get
.
then
((
response
:
any
)
=>
{
await
get
.
then
((
response
:
any
)
=>
{
if
(
response
&&
response
.
data
)
{
if
(
response
&&
response
.
data
)
{
that
.
formOption
=
response
.
data
;
let
options
:
any
=
response
.
data
;
if
(
this
.
isFormData
)
that
.
getFormData
();
this
.
transitionDicUrlCondition
(
options
);
that
.
formOption
=
options
;
if
(
that
.
isFormData
)
that
.
getFormData
();
}
}
});
});
}
else
{
}
else
{
this
.
transitionDicUrlCondition
(
this
.
defaultOptions
);
this
.
formOption
=
this
.
defaultOptions
;
this
.
formOption
=
this
.
defaultOptions
;
if
(
this
.
isFormData
)
that
.
getFormData
();
if
(
this
.
isFormData
)
that
.
getFormData
();
}
}
}
else
{
}
else
{
this
.
transitionDicUrlCondition
(
this
.
options
);
this
.
formOption
=
this
.
options
;
this
.
formOption
=
this
.
options
;
if
(
this
.
isFormData
)
that
.
getFormData
();
if
(
this
.
isFormData
)
that
.
getFormData
();
}
}
...
@@ -263,8 +268,6 @@ export default class AvueCustomForm extends Vue {
...
@@ -263,8 +268,6 @@ export default class AvueCustomForm extends Vue {
public
getSubFormData
(
value
:
any
):
Array
<
any
>
{
public
getSubFormData
(
value
:
any
):
Array
<
any
>
{
let
arr
:
Array
<
any
>
=
[];
let
arr
:
Array
<
any
>
=
[];
for
(
let
val
in
value
)
{
for
(
let
val
in
value
)
{
arr
=
value
[
val
];
arr
=
value
[
val
];
break
;
break
;
}
}
...
@@ -283,6 +286,37 @@ export default class AvueCustomForm extends Vue {
...
@@ -283,6 +286,37 @@ export default class AvueCustomForm extends Vue {
return
value
;
return
value
;
}
}
/**
* 配置的下拉列表转换符号支持动态配置
*
* @memberof AvueCustomForm
* @param {*}
*/
public
transitionDicUrlCondition
(
options
:
any
)
{
let
that
:
any
=
this
;
let
recursive
:
any
=
function
(
obj
:
any
)
{
if
(
obj
.
column
&&
obj
.
column
.
length
>
0
)
{
obj
.
column
.
forEach
((
col
:
any
)
=>
{
if
(
col
.
dicUrl
&&
col
.
dicUrl
.
indexOf
(
"$"
)
>
0
)
{
let
g
=
/
\$
{
[^
+
]
+}/
;
let
dicGroup
=
col
.
dicUrl
.
match
(
g
);
dicGroup
.
forEach
((
dic
:
any
)
=>
{
col
.
dicUrl
=
col
.
dicUrl
.
replace
(
dic
,
that
.
formData
[
dic
.
substring
(
2
,
dic
.
length
-
1
)]
);
});
}
if
(
col
.
children
)
recursive
(
col
.
children
);
if
(
col
.
group
)
recursive
(
col
.
group
);
});
}
if
(
obj
.
children
)
recursive
(
obj
.
children
);
if
(
obj
.
group
)
recursive
(
obj
.
group
);
};
recursive
(
options
);
}
/**
/**
* 销毁组件(vue生命周期)
* 销毁组件(vue生命周期)
*
*
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录