Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
iBiz-Vue-R7-Res
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz-R7前端标准模板
iBiz-Vue-R7-Res
提交
e978a5fa
提交
e978a5fa
编写于
11月 22, 2020
作者:
tony001
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'dev'
上级
45af8891
9d857c49
变更
24
展开全部
隐藏空白字符变更
内嵌
并排
正在显示
24 个修改的文件
包含
1375 行增加
和
99 行删除
+1375
-99
CHANGELOG.md
CHANGELOG.md
+148
-0
avue.min.js
public/assets/js/avue.min.js
+3
-3
app-register.ts
src/app-register.ts
+4
-0
codelist-service.ts
src/codelist/codelist-service.ts
+24
-0
app-alert-group.vue
src/components/app-alert-group/app-alert-group.vue
+8
-1
app-form-druipart.vue
src/components/app-form-druipart/app-form-druipart.vue
+42
-1
app-form-item.less
src/components/app-form-item/app-form-item.less
+3
-1
app-form-item.vue
src/components/app-form-item/app-form-item.vue
+33
-1
app-map-position.less
src/components/app-map-position/app-map-position.less
+54
-0
app-map-position.vue
src/components/app-map-position/app-map-position.vue
+466
-0
app-rate.vue
src/components/app-rate/app-rate.vue
+214
-50
app-vue-pivottable.vue
src/components/app-vue-pivottable/app-vue-pivottable.vue
+208
-0
codelist.vue
src/components/codelist/codelist.vue
+59
-3
dropdown-list.vue
src/components/dropdown-list/dropdown-list.vue
+1
-2
map-view-engine.ts
src/engine/view/map-view-engine.ts
+68
-0
map-view9-engine.ts
src/engine/view/map-view9-engine.ts
+13
-0
view-engine.ts
src/engine/view/view-engine.ts
+7
-1
wfdyna-edit-view-engine.ts
src/engine/view/wfdyna-edit-view-engine.ts
+7
-5
components_en_US.ts
src/locale/lanres/components/components_en_US.ts
+4
-0
components_zh_CN.ts
src/locale/lanres/components/components_zh_CN.ts
+4
-0
shims-vue.d.ts
src/shims-vue.d.ts
+3
-1
default.less
src/styles/default.less
+1
-1
template.html
src/template.html
+1
-1
tslint.json
tslint.json
+0
-28
未找到文件。
CHANGELOG.md
浏览文件 @
e978a5fa
此差异已折叠。
点击以展开。
public/assets/js/avue.min.js
浏览文件 @
e978a5fa
此差异已折叠。
点击以展开。
src/app-register.ts
浏览文件 @
e978a5fa
...
...
@@ -99,6 +99,8 @@ import AppAlertGroup from './components/app-alert-group/app-alert-group.vue'
import
AppRawItem
from
'./components/app-rawitem/app-rawitem.vue'
import
AppImageRomate
from
'./components/app-image-romate/app-image-romate.vue'
import
{
MenuIcon
}
from
'./components/menu-icon/menu-icon'
import
AppVuePivottable
from
'./components/app-vue-pivottable/app-vue-pivottable.vue'
;
import
AppMapPosition
from
'./components/app-map-position/app-map-position.vue'
;
// 全局挂载UI实体服务注册中心
window
[
'uiServiceRegister'
]
=
uiServiceRegister
;
...
...
@@ -213,5 +215,7 @@ export const AppComponents = {
v
.
component
(
'app-rawitem'
,
AppRawItem
);
v
.
component
(
'app-image-romate'
,
AppImageRomate
);
v
.
component
(
'menu-icon'
,
MenuIcon
);
v
.
component
(
'app-vue-pivottable'
,
AppVuePivottable
);
v
.
component
(
'app-map-position'
,
AppMapPosition
);
},
};
\ No newline at end of file
src/codelist/codelist-service.ts
浏览文件 @
e978a5fa
...
...
@@ -69,6 +69,30 @@ export default class CodeListService {
return
(
window
as
any
)[
'codeListRegister'
].
getService
(
name
);
}
/**
* 获取代码表数据
*
* @param {string} tag 代码表标识
* @param {*} context
* @param {*} data
* @param {boolean} isloading
* @returns {Promise<any[]>}
* @memberof CodeListService
*/
public
async
getDataItems
(
codelist
:
any
,
context
?:
any
,
data
?:
any
,
isloading
?:
boolean
){
let
dataItems
:
Array
<
any
>
=
[];
try
{
if
(
codelist
.
tag
&&
Object
.
is
(
codelist
.
type
,
"STATIC"
)){
dataItems
=
await
this
.
getStaticItems
(
codelist
.
tag
);
}
else
{
dataItems
=
await
this
.
getItems
(
codelist
.
tag
,
codelist
.
context
,
codelist
.
viewparam
,
codelist
.
isloading
);
}
}
catch
(
error
){
console
.
warn
(
"代码表加载异常"
+
error
);
}
return
dataItems
;
}
/**
* 获取静态代码表
*
...
...
src/components/app-alert-group/app-alert-group.vue
浏览文件 @
e978a5fa
...
...
@@ -110,4 +110,11 @@ export default class AppAlertGroup extends Vue {
});
}
}
</
script
>
\ No newline at end of file
</
script
>
<
style
lang=
"less"
>
.view-body-messages {
margin-top: -10px;
margin-bottom: 6px;
}
</
style
>
\ No newline at end of file
src/components/app-form-druipart/app-form-druipart.vue
浏览文件 @
e978a5fa
<
template
>
<div
class=
'form-druipart'
>
<component
ref=
"appFormDruipart"
:is=
"viewname"
class=
"viewcontainer2"
:viewdata =
"viewdata"
...
...
@@ -178,6 +179,14 @@ export default class AppFormDRUIPart extends Vue {
*/
private
formStateEvent
:
Unsubscribable
|
undefined
;
/**
* 定时器实例
*
* @type {[any]}
* @memberof AppFormDRUIPart
*/
protected
timer
?:
any
;
/**
* 监控值
*
...
...
@@ -308,11 +317,43 @@ export default class AppFormDRUIPart extends Vue {
}
if
(
!
this
.
isForbidLoad
){
setTimeout
(()
=>
{
this
.
formDruipart
.
next
({
action
:
'load'
,
data
:{
srfparentdename
:
this
.
parentName
,
srfparentkey
:
_paramitem
}}
);
this
.
partViewEvent
(
'load'
,{
data
:{
srfparentdename
:
this
.
parentName
,
srfparentkey
:
_paramitem
}},
0
);
},
0
);
}
}
/**
* 向关系视图发送事件,采用轮询模式。避免异步视图出现加载慢情况
*
* @param {*} action 触发行为
* @param {*} data 数据
* @param {*} count 轮询计数
* @memberof AppFormDRUIPart
*/
protected
partViewEvent
(
action
:
string
,
data
:
any
,
count
:
number
=
0
):
void
{
if
(
count
>
100
)
{
return
;
}
const
clearResource
:
Function
=
()
=>
{
if
(
this
.
timer
!==
undefined
){
clearTimeout
(
this
.
timer
);
this
.
timer
=
undefined
;
}
}
if
(
count
===
0
)
{
clearResource
();
}
if
(
this
.
$refs
.
appFormDruipart
)
{
this
.
formDruipart
.
next
({
action
:
action
,
data
});
clearResource
();
return
;
}
this
.
timer
=
setTimeout
(()
=>
{
count
++
;
this
.
partViewEvent
(
action
,
data
,
count
);
},
30
);
}
/**
* vue 生命周期
*
...
...
src/components/app-form-item/app-form-item.less
浏览文件 @
e978a5fa
...
...
@@ -10,7 +10,9 @@
}
.app-form-item-label {
padding: 6px 10px 6px 0px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
...
...
src/components/app-form-item/app-form-item.vue
浏览文件 @
e978a5fa
...
...
@@ -31,7 +31,17 @@
:class=
"labelclasses"
>
<span
v-if=
"required"
style=
"color:red;"
>
*
</span>
{{
this
.
isEmptyCaption
?
''
:
this
.
caption
}}
<span
v-if=
"!isEmptyCaption"
>
<el-tooltip
v-if=
"isShowTip"
placement=
"top"
effect=
"light"
>
<span
v-html=
"caption"
></span>
<template
>
<span
slot=
"content"
v-html=
"caption"
></span>
</
template
>
</el-tooltip>
<
template
v-if=
"!isShowTip"
>
<span
v-html=
"caption"
></span>
</
template
>
</span>
</span>
<div
v-if=
"Object.is(this.labelPos,'TOP') || Object.is(this.labelPos,'LEFT') || Object.is(this.labelPos,'RIGHT')"
...
...
@@ -136,6 +146,14 @@ export default class AppFormItem extends Vue {
*/
@
Prop
()
public
itemRules
!
:
any
;
/**
* 是否显示表单项Label提示
*
* @memberof AppFormItem
*/
public
isShowTip
:
boolean
=
false
;
/**
* 值规则数组
*
...
...
@@ -266,7 +284,21 @@ export default class AppFormItem extends Vue {
});
}
catch
(
error
)
{}
}
this
.
getShowTip
();
}
/**
* 计算是否显示表单项Label提示
*
* @memberof AppFormItem
*/
public
getShowTip
(){
if
(
this
.
caption
&&
((
this
.
caption
.
length
)
*
14
)
>
this
.
labelWidth
){
this
.
isShowTip
=
true
;
}
}
}
</
script
>
<
style
lang=
'less'
>
...
...
src/components/app-map-position/app-map-position.less
0 → 100644
浏览文件 @
e978a5fa
.app-map-position {
.map-modal {
.el-dialog {
margin-top: 60px !important;
width: 90%;
.el-dialog__header {
padding: 10px 0px 10px 40px;
}
.el-dialog__body {
padding: 6px 10px;
.search-toolbar {
display: flex;
#map__result {
position: absolute;
z-index: 20;
right: 10px;
top: 110px;
}
.el-vue-search-box-container {
border: 1px solid #DCDFE6;
height: 40px;
margin-right: 20px;
}
}
}
.amap-marker-content {
img {
width: 25px;
height: 34px;
}
.input-map__marker {
position: absolute;
top: -28px;
right: -160px;
color: #fff;
padding: 0px 10px;
-webkit-box-shadow: 1px 1px 1px rgba(10,10,10,.2);
box-shadow: 1px 1px 1px rgba(10,10,10,.2);
white-space: nowrap;
font-size: 12px;
font-family: "";
background-color: #25a5f7;
border-radius: 3px;
}
}
}
.el-vue-amap-container {
padding-top: 20px;
height: 640px;
}
}
}
\ No newline at end of file
src/components/app-map-position/app-map-position.vue
0 → 100644
浏览文件 @
e978a5fa
此差异已折叠。
点击以展开。
src/components/app-rate/app-rate.vue
浏览文件 @
e978a5fa
<
template
>
<div>
<el-rate
:value =
"currentVal"
:disabled=
"disabled"
:max=
"max"
@
change=
"change"
>
</el-rate>
</div>
<div>
<el-rate
:value=
"currentVal"
:disabled=
"disabled"
:max=
"maxItem"
@
change=
"change"
>
</el-rate>
</div>
</
template
>
<
script
lang=
'ts'
>
import
{
Component
,
Vue
,
Prop
,
Model
,
Watch
}
from
"vue-property-decorator"
;
<
script
lang=
"ts"
>
import
{
Component
,
Vue
,
Prop
,
Model
,
Watch
}
from
'vue-property-decorator'
;
import
CodeListService
from
'@codelist/codelist-service'
;
@
Component
({})
export
default
class
AppRate
extends
Vue
{
/**
* 传入值
* @type {any}
* @memberof AppRate
*/
@
Prop
()
public
value
?:
any
;
/**
* 是否禁用
* @type {boolean}
* @memberof AppRate
*/
@
Prop
()
public
disabled
?:
boolean
;
/**
* 最大值
* @type {number}
* @memberof AppRate
*/
@
Prop
({
default
:
5
})
public
max
!
:
number
;
/**
* 当前值
*
* @memberof AppRate
*/
get
currentVal
()
{
return
this
.
value
;
}
/**
* change
*/
public
change
(
val
:
any
)
{
this
.
$emit
(
"change"
,
val
);
}
/**
* 传入值
* @type {any}
* @memberof AppRate
*/
@
Prop
()
public
value
?:
any
;
/**
* 是否禁用
* @type {boolean}
* @memberof AppRate
*/
@
Prop
()
public
disabled
?:
boolean
;
/**
* 下发数据
* @type {number}
* @memberof AppRate
*/
@
Prop
()
public
data
?:
any
;
/**
* 代码表服务对象
*
* @type {CodeListService}
* @memberof AppRate
*/
public
codeListService
:
CodeListService
=
new
CodeListService
({
$store
:
this
.
$store
});
/**
* 传递最大值
* @type {*}
* @memberof AppRate
*/
@
Prop
({
default
:
5
})
public
max
!
:
number
;
/**
* 应用上下文
* @type {*}
* @memberof AppRate
*/
@
Prop
()
context
:
any
;
/**
* 视图参数
* @type {*}
* @memberof AppRate
*/
@
Prop
()
viewparams
:
any
;
/**
* 临时上下文
* @type {*}
* @memberof AppRate
*/
@
Prop
()
localContext
:
any
;
/**
* 临时参数
* @type {*}
* @memberof AppRate
*/
@
Prop
()
localParam
:
any
;
/**
* 代码表标识
* @type {string}
* @memberof AppRate
*/
@
Prop
()
tag
?:
string
;
/**
* 代码表类型
* @type {string}
* @memberof AppRate
*/
@
Prop
()
codelistType
?:
string
;
/**
* 代码表值分隔符
* @type {string}
* @memberof AppRate
*/
@
Prop
({
default
:
','
})
valueSeparator
?:
string
;
/**
* 数据名称
* @type {*}
* @memberof AppRate
*/
@
Prop
()
name
:
any
;
/**
* 最大值
* @type {number}
* @memberof AppRate
*/
public
maxItem
:
number
=
5
;
/**
* 监听数据变化
*
* @memberof AppRate
*/
@
Watch
(
'data'
,{
immediate
:
true
,
deep
:
true
})
onDataChange
(
newVal
:
any
,
oldVal
:
any
)
{
if
(
newVal
){
if
(
this
.
tag
&&
this
.
codelistType
==
'DYNAMIC'
){
// 公共参数处理
let
data
:
any
=
{};
this
.
handlePublicParams
(
data
);
// 参数处理
let
_context
=
data
.
context
;
let
_param
=
data
.
param
;
this
.
codeListService
.
getItems
(
this
.
tag
,
_context
,
_param
).
then
((
res
:
any
)
=>
{
const
items
=
res
;
// 获取最大值
const
maxItem
=
Math
.
max
.
apply
(
Math
,
items
.
map
((
item
:
any
)
=>
{
return
item
.
value
;
}));
this
.
maxItem
=
maxItem
>
5
?
5
:
maxItem
;
}).
catch
((
error
:
any
)
=>
{
console
.
log
(
`----
${
this
.
tag
}
----$t('components.appCheckBox.notExist')`
);
});
}
}
}
/**
* 当前值
*
* @memberof AppRate
*/
get
currentVal
()
{
return
Number
(
this
.
value
);
}
/**
* change
*/
public
change
(
val
:
any
)
{
this
.
$emit
(
'change'
,
val
);
}
/**
* Vue生命周期
* @memberof AppRate
*/
public
created
()
{
if
(
this
.
max
)
{
this
.
maxItem
=
this
.
max
;
}
this
.
handleCodelist
();
}
/**
* 公共参数处理
*
* @param {*} arg
* @returns
* @memberof AppRate
*/
public
handlePublicParams
(
arg
:
any
)
{
// 合并表单参数
arg
.
param
=
this
.
viewparams
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
viewparams
))
:
{};
arg
.
context
=
this
.
context
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
))
:
{};
// 附加参数处理
if
(
this
.
localContext
&&
Object
.
keys
(
this
.
localContext
).
length
>
0
)
{
let
_context
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
context
,
arg
.
param
,
this
.
localContext
);
Object
.
assign
(
arg
.
context
,
_context
);
}
if
(
this
.
localParam
&&
Object
.
keys
(
this
.
localParam
).
length
>
0
)
{
let
_param
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
param
,
arg
.
param
,
this
.
localParam
);
Object
.
assign
(
arg
.
param
,
_param
);
}
}
/**
* 根据代码表获取最大值
* @memberof AppRate
*/
public
handleCodelist
()
{
if
(
this
.
tag
&&
Object
.
is
(
this
.
codelistType
,
'STATIC'
))
{
const
codelist
=
this
.
$store
.
getters
.
getCodeList
(
this
.
tag
);
if
(
codelist
)
{
const
items
=
[...
JSON
.
parse
(
JSON
.
stringify
(
codelist
.
items
))];
// 获取最大值
const
maxItem
=
Math
.
max
.
apply
(
Math
,
items
.
map
((
item
:
any
)
=>
{
return
item
.
value
;
}));
this
.
maxItem
=
maxItem
>
5
?
5
:
maxItem
;
}
else
{
console
.
log
(
`----
${
this
.
tag
}
----$t('components.appCheckBox.notExist')`
);
}
}
else
if
(
this
.
tag
&&
Object
.
is
(
this
.
codelistType
,
'DYNAMIC'
))
{
// 公共参数处理
let
data
:
any
=
{};
this
.
handlePublicParams
(
data
);
// 参数处理
let
_context
=
data
.
context
;
let
_param
=
data
.
param
;
this
.
codeListService
.
getItems
(
this
.
tag
,
_context
,
_param
).
then
((
res
:
any
)
=>
{
const
items
=
res
;
// 获取最大值
let
maxItem
=
Math
.
max
.
apply
(
Math
,
items
.
map
((
item
:
any
)
=>
{
return
item
.
value
;
}));
this
.
maxItem
=
maxItem
>
5
?
5
:
maxItem
;
}).
catch
((
error
:
any
)
=>
{
console
.
log
(
`----
${
this
.
tag
}
----$t('components.appCheckBox.notExist')`
);
});
}
}
}
</
script
>
<
style
lang=
'less'
>
@import "./app-rate.less";
</
style
>
\ No newline at end of file
<
style
lang=
"less"
>
@import './app-rate.less';
</
style
>
src/components/app-vue-pivottable/app-vue-pivottable.vue
0 → 100644
浏览文件 @
e978a5fa
<
template
>
<vue-pivottable-ui
class=
"app-vue-pivottable"
:data=
"datas"
:aggregatorName=
"aggregatorName"
:rendererName=
"rendererName"
:columns=
"columns"
:rows=
"rows"
:cols=
"cols"
:vals=
"vals"
:locales=
"locales"
:rowTotal=
"rowTotal"
:colTotal=
"colTotal"
:onChange=
"onChange"
:hiddenFromDragDrop=
"hiddenFromDragDrop"
>
</vue-pivottable-ui>
</
template
>
<
script
lang =
'ts'
>
import
{
Vue
,
Component
,
Prop
}
from
'vue-property-decorator'
;
import
{
VuePivottableUi
}
from
'ibiz-vue-pivottable'
;
import
'ibiz-vue-pivottable/dist/vue-pivottable.css'
;
@
Component
({
components
:
{
VuePivottableUi
}
})
export
default
class
AppVuePivotTable
extends
Vue
{
/**
* 数据集
*
* @type {*}
* @memberof AppVuePivotTable
*/
@
Prop
()
datas
:
any
;
/**
* 列集合
*
* @type {*}
* @memberof AppVuePivotTable
*/
@
Prop
()
allColumns
:
any
;
/**
* 聚合模式
*
* @type {string}
* @memberof AppVuePivotTable
*/
protected
aggregatorName
:
string
=
'Sum'
;
/**
* 渲染模式
*
* @type {string}
* @memberof AppVuePivotTable
*/
protected
rendererName
:
string
=
'Table Heatmap'
;
/**
* 行统计
*
* @type {boolean}
* @memberof AppVuePivotTable
*/
protected
rowTotal
:
boolean
=
true
;
/**
* 列统计
*
* @type {boolean}
* @memberof AppVuePivotTable
*/
protected
colTotal
:
boolean
=
true
;
/**
* 列属性列集合
*
* @type {*}
* @memberof AppVuePivotTable
*/
protected
cols
:
any
[]
=
[];
/**
* 行属性列集合
*
* @type {*}
* @memberof AppVuePivotTable
*/
protected
rows
:
any
[]
=
[];
/**
* 值属性集合
*
* @type {*}
* @memberof AppVuePivotTable
*/
protected
vals
:
any
[]
=
[];
/**
* 隐藏列集合
*
* @type {*}
* @memberof AppVuePivotTable
*/
protected
hiddenFromDragDrop
:
any
[]
=
[];
/**
* 展现列集合
*
* @type {*}
* @memberof AppVuePivotTable
*/
protected
columns
:
any
[]
=
[];
/**
* 语言资源
*
* @type {*}
* @memberof AppVuePivotTable
*/
protected
locales
:
any
=
{
aggregators
:
{
'Count'
:
'Count'
,
'Count Unique Values'
:
'Count Unique Values'
,
'List Unique Values'
:
'List Unique Values'
,
'Sum'
:
'Sum'
,
'Integer Sum'
:
'Integer Sum'
,
'Average'
:
'Average'
,
'Median'
:
'Median'
,
'Sample Variance'
:
'Sample Variance'
,
'Sample Standard Deviation'
:
'Sample Standard Deviation'
,
'Minimum'
:
'Minimum'
,
'Maximum'
:
'Maximum'
,
'First'
:
'First'
,
'Last'
:
'Last'
,
'Sum over Sum'
:
'Sum over Sum'
,
'Sum as Fraction of Total'
:
'Sum as Fraction of Total'
,
'Sum as Fraction of Rows'
:
'Sum as Fraction of Rows'
,
'Sum as Fraction of Columns'
:
'Sum as Fraction of Columns'
,
'Count as Fraction of Total'
:
'Count as Fraction of Total'
,
'Count as Fraction of Rows'
:
'Count as Fraction of Rows'
,
'Count as Fraction of Columns'
:
'Count as Fraction of Columns'
},
renderer
:
{
'Table'
:
'Table'
,
'Table Heatmap'
:
'Table Heatmap'
,
'Table Col Heatmap'
:
'Table Col Heatmap'
,
'Table Row Heatmap'
:
'Table Row Heatmap'
,
'Expor Table TSV'
:
'Expor Table TSV'
,
'Grouped Column Chart'
:
'Grouped Column Chart'
,
'Stacked Column Chart'
:
'Stacked Column Chart'
,
'Grouped Bar Chart'
:
'Grouped Bar Chart'
,
'Stacked Bar Chart'
:
'Stacked Bar Chart'
,
'Line Chart'
:
'Line Chart'
,
'Dot Chart'
:
'Dot Chart'
,
'Area Chart'
:
'Area Chart'
,
'Scatter Chart'
:
'Scatter Chart'
,
'Multiple Pie Chart'
:
'Multiple Pie Chart'
},
'Filter Values'
:
'Filter Values'
,
'Select All'
:
'Select All'
,
'Deselect All'
:
'Deselect All'
,
'Totals'
:
'Totals'
};
/**
* 生命周期
*
* @type {*}
* @memberof AppVuePivotTable
*/
public
created
()
{
if
(
this
.
allColumns
)
{
this
.
allColumns
.
forEach
((
item
:
any
)
=>
{
if
(
!
item
.
show
)
{
this
.
hiddenFromDragDrop
.
push
(
item
.
name
);
}
let
col
:
any
=
{
...
item
};
col
.
prop
=
col
.
name
;
this
.
columns
.
push
(
col
);
});
}
}
/**
* 事件
*
* @type {*}
* @memberof AppVuePivotTable
*/
public
onChange
(
evt
:
any
)
{
console
.
log
(
evt
);
}
}
</
script
>
<
style
lang=
"less"
>
.app-vue-pivottable {
height: calc(100% - 1px);
.pvtTable {
min-width: 100%;
}
}
</
style
>
\ No newline at end of file
src/components/codelist/codelist.vue
浏览文件 @
e978a5fa
...
...
@@ -3,9 +3,14 @@
<span
v-if=
"ifEmpty"
>
{{
$t
(
'codelist.'
+
tag
+
'.empty'
)
}}
</span>
<template
v-if=
"!ifEmpty"
>
<template
v-for=
"(item, index) in items"
>
<span>
{{
index
!=
0
?
textSeparator
:
''
}}
</span>
<i
v-if=
"item.iconCls"
:class=
"item.iconCls"
></i>
<span
:class=
"item.textCls"
:style=
"
{color:item.color}">
{{
isUseLangres
?
$t
(
item
.
text
)
:
item
.
text
}}
</span>
<div
class=
"codelist-item"
:key=
"index"
>
<span
v-if=
"index != 0"
>
{{
textSeparator
}}
</span>
<i
v-if=
"item.iconcls"
:class=
"item.iconcls"
></i>
<img
v-if=
"item.icon"
:src=
"getIcon(item.icon)"
/>
<span
:class=
"item.class"
:style=
"
{ color: item.color }">
{{
isUseLangres
?
$t
(
item
.
text
)
:
item
.
text
}}
</span>
</div>
</
template
>
</template>
</div>
...
...
@@ -14,6 +19,7 @@
<
script
lang=
"ts"
>
import
{
Vue
,
Component
,
Prop
,
Model
,
Watch
}
from
'vue-property-decorator'
;
import
CodeListService
from
"@/codelist/codelist-service"
;
import
{
Environment
}
from
'@/environments/environment'
;
@
Component
({})
export
default
class
CodeList
extends
Vue
{
...
...
@@ -288,6 +294,45 @@ export default class CodeList extends Vue {
}
}
/**
* 获取图片路径
*
* @param {*} arg
* @returns
* @memberof CodeList
*/
public
getIcon
(
arg
:
any
){
if
(
!
arg
){
return
;
}
if
(
Object
.
prototype
.
toString
.
call
(
arg
)
==
"[object String]"
){
try
{
let
targetData
:
any
=
JSON
.
parse
(
arg
);
if
(
Object
.
prototype
.
toString
.
call
(
targetData
)
==
"[object Array]"
){
if
(
targetData
&&
targetData
.
length
>
0
){
let
fileId
:
string
=
targetData
[
0
]
&&
targetData
[
0
].
id
;
return
Environment
.
BaseUrl
+
Environment
.
ExportFile
+
fileId
;
}
}
else
if
(
Object
.
prototype
.
toString
.
call
(
targetData
)
===
'[object Object]'
){
let
fileId
:
string
=
targetData
&&
targetData
.
id
;
return
Environment
.
BaseUrl
+
Environment
.
ExportFile
+
fileId
;
}
}
catch
(
error
)
{
return
arg
;
}
}
else
if
(
Object
.
prototype
.
toString
.
call
(
arg
)
==
"[object Array]"
){
if
(
arg
&&
arg
.
length
>
0
){
let
fileId
:
string
=
arg
[
0
]
&&
arg
[
0
].
id
;
return
Environment
.
BaseUrl
+
Environment
.
ExportFile
+
fileId
;
}
}
else
if
(
Object
.
prototype
.
toString
.
call
(
arg
)
===
'[object Object]'
){
let
fileId
:
string
=
arg
&&
arg
.
id
;
return
Environment
.
BaseUrl
+
Environment
.
ExportFile
+
fileId
;
}
else
{
return
arg
;
}
}
}
</
script
>
...
...
@@ -297,5 +342,16 @@ export default class CodeList extends Vue {
text-overflow: ellipsis;
word-break: break-all;
overflow: hidden;
.codelist-item{
display: flex;
align-items: center;
max-height: 32px;
> img{
max-height: 32px;
width: auto;
margin-right: 6px;
border-radius: 50%;
}
}
}
</
style
>
\ No newline at end of file
src/components/dropdown-list/dropdown-list.vue
浏览文件 @
e978a5fa
...
...
@@ -265,9 +265,8 @@ export default class DropDownList extends Vue {
this
.
loadData
();
}
});
}
else
{
this
.
loadData
();
}
this
.
loadData
();
}
/**
...
...
src/engine/view/map-view-engine.ts
0 → 100644
浏览文件 @
e978a5fa
import
MDViewEngine
from
'./md-view-engine'
;
/**
* 视图引擎基础
*
* @export
* @class GridViewEngine
* @extends {MDViewEngine}
*/
export
default
class
MapViewEngine
extends
MDViewEngine
{
/**
* 表格部件
*
* @type {*}
* @memberof GridViewEngine
*/
protected
map
:
any
;
/**
* Creates an instance of GridViewEngine.
* @memberof MapViewEngine
*/
constructor
()
{
super
();
}
/**
* 引擎初始化
*
* @param {*} [options={}]
* @memberof MapViewEngine
*/
public
init
(
options
:
any
=
{}):
void
{
this
.
map
=
options
.
map
;
super
.
init
(
options
);
}
/**
* 引擎加载
*
* @param {*} [opts={}]
* @memberof MapViewEngine
*/
public
load
(
opts
:
any
=
{},
isnotify
:
boolean
=
false
):
void
{
if
(
!
this
.
view
.
isformDruipart
){
super
.
load
(
opts
,
isnotify
);
}
else
{
if
(
isnotify
){
super
.
load
(
opts
,
isnotify
);
}
}
}
/**
* 获取多数据部件
*
* @returns {*}
* @memberof MapViewEngine
*/
public
getMDCtrl
():
any
{
return
this
.
map
;
}
}
\ No newline at end of file
src/engine/view/map-view9-engine.ts
0 → 100644
浏览文件 @
e978a5fa
import
MapViewEngine
from
'./map-view-engine'
;
/**
* 视图引擎基础
*
* @export
* @class GridViewEngine
* @extends {MDViewEngine}
*/
export
default
class
MapView9Engine
extends
MapViewEngine
{
}
\ No newline at end of file
src/engine/view/view-engine.ts
浏览文件 @
e978a5fa
...
...
@@ -197,7 +197,13 @@ export default class ViewEngine {
if
(
_item
&&
_item
[
'dataaccaction'
]
&&
_this
.
view
.
appUIService
){
let
dataActionResult
:
any
;
if
(
_item
.
uiaction
&&
(
Object
.
is
(
_item
.
uiaction
.
target
,
"NONE"
)
||
Object
.
is
(
_item
.
uiaction
.
target
,
""
))){
dataActionResult
=
_this
.
view
.
appUIService
.
getResourceOPPrivs
(
_item
[
'dataaccaction'
]);
if
(
Object
.
is
(
_item
.
uiaction
.
target
,
""
)
&&
Object
.
is
(
_item
.
uiaction
.
tag
,
"Save"
)){
if
(
data
&&
Object
.
keys
(
data
).
length
>
0
){
dataActionResult
=
_this
.
view
.
appUIService
.
getAllOPPrivs
(
data
)[
_item
[
'dataaccaction'
]];
}
}
else
{
dataActionResult
=
_this
.
view
.
appUIService
.
getResourceOPPrivs
(
_item
[
'dataaccaction'
]);
}
}
else
{
if
(
data
&&
Object
.
keys
(
data
).
length
>
0
){
dataActionResult
=
_this
.
view
.
appUIService
.
getAllOPPrivs
(
data
)[
_item
[
'dataaccaction'
]];
...
...
src/engine/view/wfdyna-edit-view-engine.ts
浏览文件 @
e978a5fa
...
...
@@ -18,13 +18,15 @@ export default class WFDynaEditViewEngine extends EditViewEngine {
}
/**
*
表单加载完成
*
引擎加载
*
* @param {*}
args
* @param {*}
[opts={}]
* @memberof WFDynaEditViewEngine
*/
public
onFormLoad
(
arg
:
any
):
void
{
super
.
onFormLoad
(
arg
);
this
.
view
.
getWFLinkModel
();
public
load
(
opts
:
any
=
{}):
void
{
if
(
this
.
view
.
getWFLinkModel
&&
this
.
view
.
getWFLinkModel
instanceof
Function
){
this
.
view
.
getWFLinkModel
();
}
}
}
\ No newline at end of file
src/locale/lanres/components/components_en_US.ts
浏览文件 @
e978a5fa
...
...
@@ -375,5 +375,9 @@ export default {
false
:
'False'
,
deleteImageFailure
:
'Image deletion failed'
,
updateFailure
:
'Batch update file failed'
,
},
appMapPosition
:
{
submit
:
'Submit'
,
title
:
'Please select address'
}
};
\ No newline at end of file
src/locale/lanres/components/components_zh_CN.ts
浏览文件 @
e978a5fa
...
...
@@ -376,5 +376,9 @@ export default {
false
:
'取消'
,
deleteImageFailure
:
'删除图片失败'
,
updateFailure
:
'批量更新文件失败'
,
},
appMapPosition
:
{
submit
:
'确认'
,
title
:
'请选择地址'
}
};
\ No newline at end of file
src/shims-vue.d.ts
浏览文件 @
e978a5fa
...
...
@@ -9,4 +9,6 @@ declare module '@fullcalendar/list';
declare
module
'@fullcalendar/interaction'
;
declare
module
'vue-grid-layout'
;
declare
module
'vue-print-nb'
;
declare
module
'vuedraggable'
;
\ No newline at end of file
declare
module
'vuedraggable'
;
declare
module
'ibiz-vue-pivottable'
;
declare
module
'vue-amap'
;
\ No newline at end of file
src/styles/default.less
浏览文件 @
e978a5fa
...
...
@@ -97,7 +97,7 @@
border-color: rgb(221, 221, 221);
border-style: solid;
border-width: 0px 0px 1px;
margin: 0px 0px
11
px;
margin: 0px 0px
6
px;
padding: 6px 0px 2px;
> .header-container{
min-height: 42px;
...
...
src/template.html
浏览文件 @
e978a5fa
...
...
@@ -13,6 +13,6 @@
</noscript>
<div
id=
"app"
></div>
<script
src=
"./environments/environment.js"
></script>
<script
src=
".
.
/assets/js/avue.min.js"
></script>
<script
src=
"./assets/js/avue.min.js"
></script>
</body>
</html>
tslint.json
已删除
100644 → 0
浏览文件 @
45af8891
{
"defaultSeverity"
:
"none"
,
"extends"
:
[
"tslint:recommended"
],
"linterOptions"
:
{
"exclude"
:
[
"node_modules/**"
]
},
"rules"
:
{
"quotemark"
:
false
,
"indent"
:
[
true
,
"spaces"
,
2
],
"interface-name"
:
false
,
"ordered-imports"
:
false
,
"object-literal-sort-keys"
:
false
,
"no-consecutive-blank-lines"
:
false
,
"max-line-length"
:
false
,
"trailing-comma"
:
false
,
"member-ordering"
:
false
,
"no-console"
:
false
,
"eofline"
:
false
,
"no-empty"
:
false
,
"no-trailing-whitespace"
:
false
,
"variable-name"
:
false
,
"no-shadowed-variable"
:
false
}
}
\ No newline at end of file
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录