Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
iBiz-Vue-R7-Res
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz-R7前端标准模板
iBiz-Vue-R7-Res
提交
15078225
提交
15078225
编写于
8月 06, 2020
作者:
Neuromancer255
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
添加数据选择(请求数据)编辑器
上级
6075fdb1
变更
2
显示空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
186 行增加
和
0 行删除
+186
-0
app-register.ts
src/app-register.ts
+2
-0
app-upicker.vue
src/components/app-upicker/app-upicker.vue
+184
-0
未找到文件。
src/app-register.ts
浏览文件 @
15078225
...
@@ -39,6 +39,7 @@ import AppFormGroup from './components/app-form-group/app-form-group.vue'
...
@@ -39,6 +39,7 @@ import AppFormGroup from './components/app-form-group/app-form-group.vue'
import
AppFormItem
from
'./components/app-form-item/app-form-item.vue'
import
AppFormItem
from
'./components/app-form-item/app-form-item.vue'
import
AppPicker
from
'./components/app-picker/app-picker.vue'
import
AppPicker
from
'./components/app-picker/app-picker.vue'
import
AppMpicker
from
'./components/app-mpicker/app-mpicker.vue'
import
AppMpicker
from
'./components/app-mpicker/app-mpicker.vue'
import
AppUpicker
from
'./components/app-upicker/app-upicker.vue'
import
AppFormGroup2
from
'./components/app-form-group2/app-form-group2.vue'
import
AppFormGroup2
from
'./components/app-form-group2/app-form-group2.vue'
import
AppFormItem2
from
'./components/app-form-item2/app-form-item2.vue'
import
AppFormItem2
from
'./components/app-form-item2/app-form-item2.vue'
import
CodeList
from
'./components/codelist/codelist.vue'
import
CodeList
from
'./components/codelist/codelist.vue'
...
@@ -130,6 +131,7 @@ export const AppComponents = {
...
@@ -130,6 +131,7 @@ export const AppComponents = {
v
.
component
(
'app-form-item'
,
AppFormItem
);
v
.
component
(
'app-form-item'
,
AppFormItem
);
v
.
component
(
'app-picker'
,
AppPicker
);
v
.
component
(
'app-picker'
,
AppPicker
);
v
.
component
(
'app-mpicker'
,
AppMpicker
);
v
.
component
(
'app-mpicker'
,
AppMpicker
);
v
.
component
(
'app-upicker'
,
AppUpicker
);
v
.
component
(
'app-form-group2'
,
AppFormGroup2
);
v
.
component
(
'app-form-group2'
,
AppFormGroup2
);
v
.
component
(
'app-form-item2'
,
AppFormItem2
);
v
.
component
(
'app-form-item2'
,
AppFormItem2
);
v
.
component
(
'codelist'
,
CodeList
);
v
.
component
(
'codelist'
,
CodeList
);
...
...
src/components/app-upicker/app-upicker.vue
0 → 100644
浏览文件 @
15078225
<
template
>
<div
style=
"position: relative;width: 100%;"
>
<el-select
@
change=
"onSelect"
v-model=
"value"
:disabled=
"disabled"
>
<el-option
v-for=
"(item, index) in items"
:key=
"index"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</div>
</
template
>
<
script
lang=
"ts"
>
import
{
Component
,
Vue
,
Prop
,
Model
,
Watch
}
from
"vue-property-decorator"
;
import
{
Subject
}
from
"rxjs"
;
import
{
AppModal
}
from
"@/utils"
;
@
Component
({})
export
default
class
AppPicker
extends
Vue
{
/**
* 表单数据
*
* @type {*}
* @memberof AppPicker
*/
@
Prop
()
public
data
!
:
any
;
/**
* 属性项名称
*
* @type {string}
* @memberof AppPicker
*/
@
Prop
()
public
name
!
:
string
;
/**
* 视图上下文
*
* @type {*}
* @memberof AppFormDRUIPart
*/
@
Prop
()
public
context
!
:
any
;
/**
* 编辑器禁用
*
* @type {boolean}
* @memberof AppUpicker
*/
@
Prop
()
disabled
?:
boolean
;
/**
* 视图参数
*
* @type {*}
* @memberof SelectFormBase
*/
@
Prop
()
public
viewparams
:
any
;
/**
* 请求参数和请求数据的映射关系
*
* @type {*}
* @memberof AppUpicker
*/
public
interaction
:
any
=
{};
/**
* 当前表单项绑定的值
*
* @type {string}
* @memberof AppUpicker
*/
public
value
:
string
=
""
;
/**
* 编辑器参数
*
* @type {*}
* @memberof AppUpicker
*/
@
Prop
()
public
itemParams
?:
any
;
/**
* 列表项请求路径
*
* @type {string}
* @memberof AppUpicker
*/
public
url
:
string
=
''
;
/**
* 下拉数组
* @type {any[]}
* @memberof AppPicker
*/
public
items
:
any
[]
=
[];
/**
* 请求到的数据
* @type {any[]}
* @memberof AppPicker
*/
public
itemList
:
any
[]
=
[{
a
:
1
,
b
:
"zhangsan"
},{
a
:
2
,
b
:
"lisi"
},{
a
:
3
,
b
:
"wangwu"
}]
/**
* vue 生命周期
*
* @memberof AppPicker
*/
public
mounted
()
{
// 解析编辑器参数
this
.
analysis
(
this
.
itemParams
);
// 请求下拉数据
// this.fectchItemList(this.url);
// 提取需要的值(value,label)
this
.
extractItem
(
this
.
itemList
,
this
.
items
);
}
/**
* 解析编辑器参数
* @param {*} itemparams
* @memberof AppPicker
*/
public
analysis
(
itemparams
:
any
)
{
Object
.
keys
(
itemparams
).
forEach
((
param
)
=>
{
if
(
param
===
'path'
){
this
.
url
=
itemparams
[
param
]
}
else
{
this
.
interaction
[
param
]
=
itemparams
[
param
]
}
})
}
/**
* 请求下拉列表数据
* @param {string} url
* @memberof AppPicker
*/
public
fectchItemList
(
url
:
string
)
{
this
.
$http
.
get
(
url
)
.
then
((
response
:
any
)
=>
{
this
.
itemList
=
response
.
data
;
})
.
catch
((
response
:
any
)
=>
{
if
(
!
response
||
!
response
.
status
||
!
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
this
.
$t
(
"app.commonWords.error"
)
as
string
,
desc
:
this
.
$t
(
"app.commonWords.sysException"
)
as
string
,
});
return
;
}
});
}
/**
* 解析下拉列表数据
* @param {any[]} itemList 请求到的数据
* @param {any[]} items 下拉数组
* @memberof AppPicker
*/
public
extractItem
(
itemList
:
any
[],
items
:
any
[])
{
itemList
.
forEach
((
item
)
=>
{
items
.
push
({
label
:
item
[
this
.
interaction
.
label
],
value
:
item
[
this
.
interaction
.
value
],
});
});
}
public
onSelect
(
val
:
string
)
{
let
index
=
this
.
items
.
findIndex
((
item
)
=>
Object
.
is
(
item
.
value
,
val
));
if
(
index
>=
0
)
{
this
.
onACSelect
(
this
.
items
[
index
]);
}
}
/**
* 选中数据回调
* @param item
*/
public
onACSelect
(
item
:
any
):
void
{
this
.
$emit
(
'formitemvaluechange'
,
{
name
:
this
.
name
,
value
:
item
.
label
});
}
}
</
script
>
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录