Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
功
功能演示系统
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
示例
功能演示系统
提交
9ecefdab
提交
9ecefdab
编写于
11月 24, 2020
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
tony001 发布系统代码 [后台服务,演示应用]
上级
97f7c7aa
变更
46
隐藏空白字符变更
内嵌
并排
正在显示
46 个修改的文件
包含
1155 行增加
和
327 行删除
+1155
-327
app-register.ts
app_Web/src/app-register.ts
+6
-0
app-after-time.vue
app_Web/src/components/app-after-time/app-after-time.vue
+136
-0
app-input-ip.less
app_Web/src/components/app-input-ip/app-input-ip.less
+6
-0
app-input-ip.vue
app_Web/src/components/app-input-ip/app-input-ip.vue
+185
-0
app-sort-bar.less
app_Web/src/components/app-sort-bar/app-sort-bar.less
+68
-0
app-sort-bar.vue
app_Web/src/components/app-sort-bar/app-sort-bar.vue
+63
-0
codelist.vue
app_Web/src/components/codelist/codelist.vue
+3
-1
menu-icon.less
app_Web/src/components/menu-icon/menu-icon.less
+3
-0
menu-icon.tsx
app_Web/src/components/menu-icon/menu-icon.tsx
+2
-2
components_en_US.ts
app_Web/src/locale/lanres/components/components_en_US.ts
+11
-1
components_zh_CN.ts
app_Web/src/locale/lanres/components/components_zh_CN.ts
+11
-1
auto-group-list-list-base.vue
...izbook/auto-group-list-list/auto-group-list-list-base.vue
+28
-2
auto-group-list-list.less
...s/ibizbook/auto-group-list-list/auto-group-list-list.less
+34
-7
group-by-codelist-list-list-base.vue
...y-codelist-list-list/group-by-codelist-list-list-base.vue
+44
-27
group-by-codelist-list-list.less
...up-by-codelist-list-list/group-by-codelist-list-list.less
+34
-7
has-panel-list-list-base.vue
...ibizbook/has-panel-list-list/has-panel-list-list-base.vue
+8
-0
has-panel-list-list.less
...ets/ibizbook/has-panel-list-list/has-panel-list-list.less
+34
-7
internal-func-grid-base.vue
...s/ibizbook/internal-func-grid/internal-func-grid-base.vue
+6
-6
lnternal-func-list-list-base.vue
.../lnternal-func-list-list/lnternal-func-list-list-base.vue
+28
-2
lnternal-func-list-list.less
...book/lnternal-func-list-list/lnternal-func-list-list.less
+34
-7
main2-grid-base.vue
app_Web/src/widgets/ibizbook/main2-grid/main2-grid-base.vue
+6
-6
main3-grid-base.vue
app_Web/src/widgets/ibizbook/main3-grid/main3-grid-base.vue
+6
-6
main4-grid-base.vue
app_Web/src/widgets/ibizbook/main4-grid/main4-grid-base.vue
+6
-6
main5-grid-base.vue
app_Web/src/widgets/ibizbook/main5-grid/main5-grid-base.vue
+6
-6
main5-grid-service.ts
...Web/src/widgets/ibizbook/main5-grid/main5-grid-service.ts
+0
-1
new-default-grid-base.vue
...dgets/ibizbook/new-default-grid/new-default-grid-base.vue
+6
-6
row-edit-grid-base.vue
...src/widgets/ibizbook/row-edit-grid/row-edit-grid-base.vue
+6
-6
row-rules-grid-base.vue
...c/widgets/ibizbook/row-rules-grid/row-rules-grid-base.vue
+6
-6
update-default-grid-base.vue
...ibizbook/update-default-grid/update-default-grid-base.vue
+6
-6
usr-dataview-base.vue
...b/src/widgets/ibizbook/usr-dataview/usr-dataview-base.vue
+32
-40
usr-dataview.less
app_Web/src/widgets/ibizbook/usr-dataview/usr-dataview.less
+12
-4
usr2-dataview-base.vue
...src/widgets/ibizbook/usr2-dataview/usr2-dataview-base.vue
+54
-22
usr2-dataview.less
...Web/src/widgets/ibizbook/usr2-dataview/usr2-dataview.less
+12
-4
usr3-dataview-base.vue
...src/widgets/ibizbook/usr3-dataview/usr3-dataview-base.vue
+72
-48
usr3-dataview.less
...Web/src/widgets/ibizbook/usr3-dataview/usr3-dataview.less
+12
-4
usr4-dataview-base.vue
...src/widgets/ibizbook/usr4-dataview/usr4-dataview-base.vue
+28
-25
usr4-dataview.less
...Web/src/widgets/ibizbook/usr4-dataview/usr4-dataview.less
+12
-4
index-type-dataview-base.vue
...hardware/index-type-dataview/index-type-dataview-base.vue
+28
-12
index-type-dataview.less
...ibizhardware/index-type-dataview/index-type-dataview.less
+12
-4
form-type-dataview-base.vue
...sample0017/form-type-dataview/form-type-dataview-base.vue
+28
-12
form-type-dataview.less
...ibizsample0017/form-type-dataview/form-type-dataview.less
+12
-4
index-type-dataview-base.vue
...iproduct/index-type-dataview/index-type-dataview-base.vue
+28
-12
index-type-dataview.less
...izuniproduct/index-type-dataview/index-type-dataview.less
+12
-4
IBIZBOOKDataImport.java
...va/cn/ibizlab/core/sample/mapping/IBIZBOOKDataImport.java
+6
-6
IBIZOrderImport.java
.../java/cn/ibizlab/core/sample/mapping/IBIZOrderImport.java
+2
-2
h2_table.xml
demo-core/src/main/resources/liquibase/h2_table.xml
+1
-1
未找到文件。
app_Web/src/app-register.ts
浏览文件 @
9ecefdab
...
...
@@ -101,6 +101,9 @@ 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'
;
import
AppSortBar
from
'./components/app-sort-bar/app-sort-bar.vue'
;
import
AppAfterTime
from
'./components/app-after-time/app-after-time.vue'
;
import
AppInputIp
from
'./components/app-input-ip/app-input-ip.vue'
;
// 全局挂载UI实体服务注册中心
window
[
'uiServiceRegister'
]
=
uiServiceRegister
;
...
...
@@ -217,5 +220,8 @@ export const AppComponents = {
v
.
component
(
'menu-icon'
,
MenuIcon
);
v
.
component
(
'app-vue-pivottable'
,
AppVuePivottable
);
v
.
component
(
'app-map-position'
,
AppMapPosition
);
v
.
component
(
'app-sort-bar'
,
AppSortBar
);
v
.
component
(
'app-after-time'
,
AppAfterTime
);
v
.
component
(
'app-input-ip'
,
AppInputIp
);
},
};
\ No newline at end of file
app_Web/src/components/app-after-time/app-after-time.vue
0 → 100644
浏览文件 @
9ecefdab
<
template
>
<div
class=
"app-after-time"
>
<span
v-if=
"diffTime =='minutes'"
>
{{
curvalue
}}{{
$t
(
'components.appAfterTime.minutesAgo'
)
}}
</span>
<span
v-if=
"diffTime =='hours'"
>
{{
curvalue
}}{{
$t
(
'components.appAfterTime.hoursAgo'
)
}}
</span>
<span
v-if=
"diffTime =='days'"
>
{{
curvalue
}}{{
$t
(
'components.appAfterTime.dayAgo'
)
}}
</span>
<span
v-if=
"diffTime =='mouth'"
>
{{
curvalue
}}{{
$t
(
'components.appAfterTime.monthsAgo'
)
}}
</span>
<span
v-if=
"diffTime =='years'"
>
{{
curvalue
}}{{
$t
(
'components.appAfterTime.yearsAgo'
)
}}
</span>
<span
v-if=
"!diffTime"
>
</span>
</div>
</
template
>
<
script
lang=
"ts"
>
import
{
Vue
,
Component
,
Prop
,
Emit
,
Watch
,
Model
}
from
'vue-property-decorator'
;
import
{
Subject
,
Subscription
}
from
'rxjs'
;
@
Component
({})
export
default
class
AppAfterTime
extends
Vue
{
/**
* 属性项名称
*
* @type {string}
* @memberof AppAfterTime
*/
@
Prop
()
public
name
!
:
string
;
/**
* 应用上下文
*
* @type {any}
* @memberof AppAfterTime
*/
@
Prop
()
context
:
any
;
/**
* 视图参数
*
* @type {any}
* @memberof AppAfterTime
*/
@
Prop
()
viewparam
:
any
;
/**
* 表单状态对象
*
* @type {Subject<any>}
* @memberof AppAfterTime
*/
@
Prop
()
public
formState
?:
Subject
<
any
>
;
/**
* 表单绑定数据
*
* @type {any}
* @memberof AppAfterTime
*/
@
Model
(
'change'
)
public
value
:
any
;
/**
* 当前值
*
* @type {any}
* @memberof AppAfterTime
*/
public
curvalue
:
string
=
''
;
/**
* 毫秒差
*
* @type {any}
* @memberof AppAfterTime
*/
public
diffTime
:
any
=
''
;
/**
* 值变化
*
* @param {*} newVal
* @param {*} oldVal
* @memberof AppAfterTime
*/
@
Watch
(
'value'
)
public
onValueChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
transTime
();
}
/**
* Vue声明周期(处理组件的输入属性)
*
* @memberof AppAfterTime
*/
public
created
(){
if
(
this
.
formState
){
this
.
formState
.
subscribe
(({
type
,
data
})
=>
{
if
(
Object
.
is
(
'load'
,
type
)){
this
.
transTime
();
}
})
}
this
.
transTime
();
}
/**
* 处理时间
*
* @memberof AppAfterTime
*/
public
transTime
(){
if
(
this
.
value
){
let
oldTime
=
new
Date
(
this
.
value
).
getTime
();
let
nowTime
=
new
Date
().
getTime
();
let
diffTime
=
nowTime
-
oldTime
;
if
(
diffTime
<
3600000
){
this
.
curvalue
=
Math
.
ceil
(
diffTime
/
60000
)
+
''
;
this
.
diffTime
=
'minutes'
;
}
else
if
(
diffTime
<
86400000
){
this
.
curvalue
=
Math
.
ceil
(
diffTime
/
3600000
)
+
''
;
this
.
diffTime
=
'hours'
;
}
else
if
(
diffTime
<
2592000000
){
this
.
curvalue
=
Math
.
floor
(
diffTime
/
86400000
)
+
''
;
this
.
diffTime
=
'days'
;
}
else
if
(
diffTime
<
31104000000
){
this
.
curvalue
=
Math
.
floor
(
diffTime
/
2592000000
)
+
''
;
this
.
diffTime
=
'mounth'
;
}
else
{
this
.
curvalue
=
Math
.
floor
(
diffTime
/
31104000000
)
+
''
;
this
.
diffTime
=
'years'
;
}
}
}
}
</
script
>
<
style
>
.app-after-time
{
margin-left
:
6px
;
}
</
style
>
\ No newline at end of file
app_Web/src/components/app-input-ip/app-input-ip.less
0 → 100644
浏览文件 @
9ecefdab
input{
border-radius: 4px;
border:1px solid #888;
padding: 2px 10px;
width: 20%;
}
app_Web/src/components/app-input-ip/app-input-ip.vue
0 → 100644
浏览文件 @
9ecefdab
<
template
>
<div
class=
"app-inpu-ip"
>
<input
type=
"text"
v-model=
"firstIp"
maxlength=
"3"
/>
.
<input
type=
"text"
v-model=
"secIp"
maxlength=
"3"
/>
.
<input
type=
"text"
maxlength=
"3"
v-model=
"thirdIp"
/>
.
<input
type=
"text"
maxlength=
"3"
v-model=
"forIp"
/>
</div>
</
template
>
<
script
lang=
'ts'
>
import
{
Component
,
Vue
,
Prop
,
Model
,
Watch
}
from
'vue-property-decorator'
;
import
{
Subject
,
Subscription
}
from
'rxjs'
;
import
{
debounceTime
,
distinctUntilChanged
}
from
'rxjs/operators'
;
@
Component
({
})
export
default
class
AppInputIp
extends
Vue
{
/**
* 应用上下文
*
* @type {any}
* @memberof AppInputIp
*/
@
Prop
()
context
:
any
;
/**
* 视图参数
*
* @type {any}
* @memberof AppInputIp
*/
@
Prop
()
viewparam
:
any
;
/**
* 表单状态对象
*
* @type {Subject<any>}
* @memberof AppInputIp
*/
@
Prop
()
public
formState
!
:
Subject
<
any
>
;
/**表单数据绑定
*
* @type {string}
* @memberof AppInputIp
*/
@
Model
(
'change'
)
public
ipdata
!
:
string
;
/**
* 获取当前值
*
* @type {string}
* @memberof AppInputIp
*/
public
CurValue
:
any
[]
=
[];
/**
* 第一段ip
*
* @type {any}
* @memberof AppInputIp
*/
public
firstIp
:
any
=
''
;
/**
* 第二段ip
*
* @type {any}
* @memberof AppInputIp
*/
public
secIp
:
any
=
''
;
/**
* 第三段ip
*
* @type {any}
*/
public
thirdIp
:
any
=
''
;
/**
* 第四段ip
*
* @type {any}
* @memberof AppInputIp
*/
public
forIp
:
any
=
''
;
/**
* Vue声明周期(处理组件的输入属性)
*
* @memberof AppInputIp
*/
public
created
(){
if
(
this
.
formState
){
this
.
formState
.
subscribe
(({
type
,
data
})
=>
{
if
(
Object
.
is
(
'load'
,
type
)){
this
.
loadData
();
}
})
}
this
.
loadData
();
}
/**
* 加载数据
*
* @memberof AppInputIp
*/
public
loadData
(){
if
(
this
.
ipdata
){
let
iparr
:
Array
<
any
>
=
this
.
ipdata
.
split
(
'.'
);
this
.
CurValue
=
iparr
;
this
.
firstIp
=
this
.
CurValue
[
0
];
this
.
secIp
=
this
.
CurValue
[
1
];
this
.
thirdIp
=
this
.
CurValue
[
2
];
this
.
forIp
=
this
.
CurValue
[
3
];
}
}
/**
* 监听每段ip变化
*
* @memberof AppInputIp
*/
@
Watch
(
'firstIp'
)
public
FirstIpChange
(
newVal
:
any
,
oldVal
:
any
){
this
.
checkIpVal
(
newVal
,
oldVal
,
'firstIp'
,
0
);
}
@
Watch
(
'secIp'
)
public
SecIpChange
(
newVal
:
any
,
oldVal
:
any
){
this
.
checkIpVal
(
newVal
,
oldVal
,
'secIp'
,
1
);
}
@
Watch
(
'thirdIp'
)
public
ThirdIpChange
(
newVal
:
any
,
oldVal
:
any
){
this
.
checkIpVal
(
newVal
,
oldVal
,
'thirdIp'
,
2
);
}
@
Watch
(
'forIp'
)
public
ForIpChange
(
newVal
:
any
,
oldVal
:
any
){
this
.
checkIpVal
(
newVal
,
oldVal
,
'forIp'
,
3
);
}
/**
* 验证格式
*
* @memberof AppInputIp
*/
public
checkIpVal
(
newVal
:
any
,
oldVal
:
any
,
flag
:
any
,
index
:
number
){
if
(
newVal
===
''
)
return
let
val
=
newVal
;
let
reg
=
/^
(([
0-9
]
|
([
1-9
]\d)
|
(
1
\d\d)
|
(
2
([
0-4
]\d
|5
[
0-5
]))))
$/g
;
if
(
reg
.
test
(
val
)){
this
.
CurValue
[
index
]
=
val
;
}
else
{
if
(
flag
){
let
that
:
any
=
this
;
that
[
flag
]
=
oldVal
;
this
.
CurValue
[
index
]
=
oldVal
;
}
}
if
(
this
.
firstIp
&&
this
.
secIp
&&
this
.
thirdIp
&&
this
.
forIp
){
this
.
$emit
(
'change'
,
this
.
firstIp
+
'.'
+
this
.
secIp
+
'.'
+
this
.
thirdIp
+
'.'
+
this
.
forIp
);
}
}
}
</
script
>
<
style
lang=
'less'
>
@import './app-input-ip.less';
</
style
>
app_Web/src/components/app-sort-bar/app-sort-bar.less
0 → 100644
浏览文件 @
9ecefdab
.app-sort-bar{
padding: 6px 8px;
.ivu-row-flex.page-sort-bar{
width: 100%;
height: 30px;
position: relative;
.ivu-col{
border-radius: 2px;
user-select: none;
text-align: center;
margin: 0px 16px;
display: flex;
align-items: flex-end;
padding-bottom: 4px;
background-color: #FFF;
border: 1px solid #CCC;
margin-left: -1px;
.sort-field-text{
margin-left: 7px;
}
.caret-wrapper{
width: 15px;
display: inline-block;
position: relative;
top: 4px;
padding-bottom: 2px;
.ivu-icon{
display: block;
line-height: 0.5;
color: #c5c8ce;
}
}
}
// 悬浮样式
.ivu-col:hover{
border:1px solid #82bff7;
position:relative;
z-index:2;
.sort-field-text{
color: #82bff7;
}
}
// 选中样式
.sort-ascending, .sort-descending{
border:1px solid #82bff7;
position:relative;
z-index:2;
.sort-field-text{
color:#82bff7;
font-weight: 800;
}
}
.sort-ascending .caret-wrapper .ivu-icon.ivu-icon-md-arrow-dropup,
.sort-descending .caret-wrapper .ivu-icon.ivu-icon-md-arrow-dropdown{
color: #82bff7;
}
.issort {
position: absolute;
cursor: pointer;
top: 4px;
right: 10px;
}
}
}
.open-bar {
background-color: #EEF2F5;
}
\ No newline at end of file
app_Web/src/components/app-sort-bar/app-sort-bar.vue
0 → 100644
浏览文件 @
9ecefdab
<
template
>
<div
:class=
"['app-sort-bar', isSort ? 'open-bar' : '']"
>
<row
v-if=
"sortModel && sortModel.length>0"
class=
"page-sort-bar"
:gutter=
"10"
type=
"flex"
justify=
"start"
style=
"margin:0px;"
>
<template
v-for=
"(item, index) in sortModel"
>
<i-col
v-show=
"isSort"
:key=
"index"
:class=
"getSortClass(item)"
>
<div
@
click=
"sortItemClick(item)"
>
<span
class=
"sort-field-text"
>
{{
$t
(
'entities.'
+
entityName
+
'.fields.'
+
item
)
}}
</span>
<span
class=
"caret-wrapper"
>
<Icon
type=
"md-arrow-dropup"
/>
<Icon
type=
"md-arrow-dropdown"
/>
</span>
</div>
</i-col>
</
template
>
<div
class=
"issort"
@
click=
"handleSort"
>
<Icon
v-if=
"isSort"
type=
"ios-funnel-outline"
/>
<Icon
v-else
type=
"ios-funnel"
/>
{{ $t('components.appSortBar.title') }}
</div>
</row>
</div>
</template>
<
script
lang=
'ts'
>
import
{
Component
,
Vue
,
Prop
,
Model
,
Watch
}
from
"vue-property-decorator"
;
@
Component
({})
export
default
class
AppSortBar
extends
Vue
{
@
Prop
()
public
sortModel
!
:
any
[];
@
Prop
()
public
sortField
!
:
any
;
@
Prop
()
public
sortDir
!
:
any
;
@
Prop
()
public
entityName
!
:
string
;
public
isSort
:
boolean
=
false
;
public
getSortClass
(
name
:
any
)
{
if
(
this
.
sortField
!==
name
||
this
.
sortDir
===
''
){
return
''
;
}
else
if
(
this
.
sortDir
===
'asc'
){
return
'sort-ascending'
}
else
if
(
this
.
sortDir
===
'desc'
){
return
'sort-descending'
}
}
public
sortItemClick
(
name
:
string
)
{
console
.
log
(
name
);
this
.
$emit
(
'clickSort'
,
name
);
}
public
handleSort
()
{
this
.
isSort
=
!
this
.
isSort
;
}
}
</
script
>
<
style
lang=
"less"
>
@import './app-sort-bar.less';
</
style
>
\ No newline at end of file
app_Web/src/components/codelist/codelist.vue
浏览文件 @
9ecefdab
...
...
@@ -4,12 +4,12 @@
<template
v-if=
"!ifEmpty"
>
<template
v-for=
"(item, index) in items"
>
<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>
<span
v-if=
"index != items.length-1"
>
{{
textSeparator
}}
</span>
</div>
</
template
>
</template>
...
...
@@ -338,6 +338,7 @@ export default class CodeList extends Vue {
<
style
lang=
'less'
>
.codelist {
display: flex;
white-space: nowrap;
text-overflow: ellipsis;
word-break: break-all;
...
...
@@ -346,6 +347,7 @@ export default class CodeList extends Vue {
display: flex;
align-items: center;
max-height: 32px;
padding: 0px 3px;
> img{
max-height: 32px;
width: auto;
...
...
app_Web/src/components/menu-icon/menu-icon.less
浏览文件 @
9ecefdab
.menu-icon {
padding-right: 6px;
}
\ No newline at end of file
app_Web/src/components/menu-icon/menu-icon.tsx
浏览文件 @
9ecefdab
...
...
@@ -29,10 +29,10 @@ export class MenuIcon extends Vue {
public
render
():
any
{
if
(
this
.
item
)
{
if
(
this
.
item
.
iconcls
)
{
return
<
i
class=
{
this
.
item
.
iconcls
}
/>
return
<
i
class=
{
[
this
.
item
.
iconcls
,
'menu-icon'
]
}
/>
}
if
(
this
.
item
.
icon
)
{
return
<
img
src=
{
this
.
item
.
icon
}
/>
return
<
img
class=
"menu-icon"
src=
{
this
.
item
.
icon
}
/>
}
}
return
<
span
/>
...
...
app_Web/src/locale/lanres/components/components_en_US.ts
浏览文件 @
9ecefdab
...
...
@@ -379,5 +379,15 @@ export default {
appMapPosition
:
{
submit
:
'Submit'
,
title
:
'Please select address'
}
},
appSortBar
:
{
title
:
'Sort'
},
appAfterTime
:{
minutesAgo
:
'minutes ago'
,
hoursAgo
:
'hours ago'
,
dayAgo
:
'days ago'
,
monthsAgo
:
'months ago'
,
yearsAgo
:
'years ago'
}
};
\ No newline at end of file
app_Web/src/locale/lanres/components/components_zh_CN.ts
浏览文件 @
9ecefdab
...
...
@@ -380,5 +380,15 @@ export default {
appMapPosition
:
{
submit
:
'确认'
,
title
:
'请选择地址'
}
},
appSortBar
:
{
title
:
'排序'
},
appAfterTime
:{
minutesAgo
:
'分钟前'
,
hoursAgo
:
'小时前'
,
dayAgo
:
'天前'
,
monthsAgo
:
'月前'
,
yearsAgo
:
'年前'
}
};
\ No newline at end of file
app_Web/src/widgets/ibizbook/auto-group-list-list/auto-group-list-list-base.vue
浏览文件 @
9ecefdab
...
...
@@ -177,6 +177,14 @@ export default class AutoGroupListBase extends Vue implements ControlInterface {
/**
* 代码表服务对象
*
* @type {CodeListService}
* @memberof AutoGroupListBase
*/
public
codeListService
:
CodeListService
=
new
CodeListService
({
$store
:
this
.
$store
});
/**
* 获取多项数据
*
...
...
@@ -276,6 +284,14 @@ export default class AutoGroupListBase extends Vue implements ControlInterface {
*/
public
groupField
:
string
=
"author"
;
/**
* 分组属性代码表
*
* @type {string}
* @memberof AutoGroupListBase
*/
public
groupFieldCodelist
:
any
=
{};
/**
* 分组数据
*
...
...
@@ -312,12 +328,22 @@ export default class AutoGroupListBase extends Vue implements ControlInterface {
*
* @memberof AutoGroupListBase
*/
public
drawGroup
(){
public
async
drawGroup
(){
let
data
:
Array
<
any
>
=
[...
this
.
items
];
let
groups
:
Array
<
any
>
=
[];
let
fields
:
Array
<
any
>
=
[];
if
(
Object
.
keys
(
this
.
groupFieldCodelist
).
length
>
0
){
let
fieldCodelist
:
any
=
await
this
.
codeListService
.
getDataItems
(
this
.
groupFieldCodelist
);
fields
=
Util
.
deepCopy
(
fieldCodelist
);
}
data
.
forEach
((
item
:
any
)
=>
{
if
(
item
.
hasOwnProperty
(
this
.
groupField
)){
groups
.
push
(
item
[
this
.
groupField
]);
if
(
fields
&&
fields
.
length
>
0
){
const
arr
:
Array
<
any
>
=
fields
.
filter
((
field
:
any
)
=>
{
return
field
.
value
==
item
[
this
.
groupField
]});
groups
.
push
(
arr
[
0
].
label
);
}
else
{
groups
.
push
(
item
[
this
.
groupField
]);
}
}
});
groups
=
[...
new
Set
(
groups
)];
...
...
app_Web/src/widgets/ibizbook/auto-group-list-list/auto-group-list-list.less
浏览文件 @
9ecefdab
...
...
@@ -10,20 +10,47 @@
}
.app-list-item {
line-height: 34px;
border-radius:5px;
padding: 6px;
margin: 6px;
box-shadow: 0px 0px 2px 1px rgb(209, 208, 208);
background: #f7f7fa;
padding: 12px 6px;
min-height: 24px;
display: flex;
justify-content: space-between;
align-items: center;
border-bottom: 1px solid #f0f0f0;
.app-list-item-content {
display: flex;
align-items: center;
.item-icon {
width: 40px;
height: 40px;
margin-right: 14px;
img {
width: 40px;
height: 40px;
border-radius: 50%;
}
}
.item-content-text {
display: flex;
flex-direction: column;
.item-text {
font-size: 18px;
font-weight: bold;
}
.item-subtext {
color: #8c8c8c;
}
}
}
.app-list-item-date {
position: relative;
left: 28%;
color: #8c8c8c;
}
}
.app-list-item.isSelect {
background: #ecf5ff;
border-
left: 5px solid #2d8cf0
;
bo
x-shadow: 0px 0px 3px 1px #82bff7
;
border-
radius: 2px
;
bo
rder-color: rgb(197, 197, 197)
;
}
.app-list-item:hover {
background: #ecf5ff;
...
...
app_Web/src/widgets/ibizbook/group-by-codelist-list-list/group-by-codelist-list-list-base.vue
浏览文件 @
9ecefdab
...
...
@@ -177,6 +177,14 @@ export default class GroupByCodelistListBase extends Vue implements ControlInter
/**
* 代码表服务对象
*
* @type {CodeListService}
* @memberof GroupByCodelistListBase
*/
public
codeListService
:
CodeListService
=
new
CodeListService
({
$store
:
this
.
$store
});
/**
* 获取多项数据
*
...
...
@@ -276,6 +284,14 @@ export default class GroupByCodelistListBase extends Vue implements ControlInter
*/
public
groupField
:
string
=
"type"
;
/**
* 分组属性代码表
*
* @type {string}
* @memberof GroupByCodelistListBase
*/
public
groupFieldCodelist
:
any
=
{};
/**
* 分组数据
*
...
...
@@ -306,29 +322,14 @@ export default class GroupByCodelistListBase extends Vue implements ControlInter
}
}
/**
* 代码表服务对象
*
* @type {CodeListService}
* @memberof GroupByCodelistListBase
*/
public
codeListService
:
CodeListService
=
new
CodeListService
({
$store
:
this
.
$store
});
/**
* 分组代码表标识
*
* @type {string}
* @memberof GroupByCodelistListBase
*/
public
tag
:
string
=
"BookType"
;
/**
* 分组代码表
类型
*
* 分组代码表
*
* @type {string}
* @memberof GroupByCodelistListBase
*/
public
codelistType
:
string
=
"STATIC"
;
*/
public
groupCodelist
:
any
=
{
type
:
'STATIC'
,
tag
:
'BookType'
}
;
/**
* 根据分组代码表绘制分组列表
...
...
@@ -337,14 +338,17 @@ export default class GroupByCodelistListBase extends Vue implements ControlInter
*/
public
async
drawCodelistGroup
(){
let
groups
:
Array
<
any
>
=
[];
let
fields
:
Array
<
any
>
=
[];
let
groupTree
:
Array
<
any
>
=
[];
let
data
:
Array
<
any
>
=
[...
this
.
items
];
// 动态代码表
if
(
Object
.
is
(
this
.
codelistType
,
"DYNAMIC"
))
{
groups
=
await
this
.
codeListService
.
getItems
(
this
.
tag
);
// 静态代码表
}
else
if
(
Object
.
is
(
this
.
codelistType
,
"STATIC"
)){
groups
=
this
.
$store
.
getters
.
getCodeListItems
(
this
.
tag
);
if
(
Object
.
keys
(
this
.
groupCodelist
).
length
>
0
){
let
groupCodelist
:
any
=
await
this
.
codeListService
.
getDataItems
(
this
.
groupCodelist
);
groups
=
Util
.
deepCopy
(
groupCodelist
);
}
if
(
Object
.
keys
(
this
.
groupFieldCodelist
).
length
>
0
){
let
fieldCodelist
:
any
=
await
this
.
codeListService
.
getDataItems
(
this
.
groupFieldCodelist
);
fields
=
Util
.
deepCopy
(
fieldCodelist
);
}
if
(
groups
.
length
==
0
){
console
.
warn
(
"分组数据无效"
);
...
...
@@ -352,7 +356,12 @@ export default class GroupByCodelistListBase extends Vue implements ControlInter
groups
.
forEach
((
group
:
any
,
i
:
number
)
=>
{
let
children
:
Array
<
any
>
=
[];
data
.
forEach
((
item
:
any
,
j
:
number
)
=>
{
if
(
Object
.
is
(
group
.
label
,
item
[
this
.
groupField
])){
if
(
fields
&&
fields
.
length
>
0
){
const
arr
:
Array
<
any
>
=
fields
.
filter
((
field
:
any
)
=>
{
return
field
.
value
==
item
[
this
.
groupField
]});
if
(
arr
&&
arr
.
length
>
0
&&
Object
.
is
(
group
.
label
,
arr
[
0
].
label
))
{
children
.
push
(
item
);
}
}
else
if
(
Object
.
is
(
group
.
label
,
item
[
this
.
groupField
])){
children
.
push
(
item
);
}
});
...
...
@@ -364,7 +373,15 @@ export default class GroupByCodelistListBase extends Vue implements ControlInter
});
let
child
:
Array
<
any
>
=
[];
data
.
forEach
((
item
:
any
)
=>
{
let
i
=
groups
.
findIndex
((
group
:
any
)
=>
Object
.
is
(
group
.
label
,
item
[
this
.
groupField
]));
let
i
:
number
=
0
;
if
(
fields
&&
fields
.
length
>
0
){
const
arr
:
Array
<
any
>
=
fields
.
filter
((
field
:
any
)
=>
{
return
field
.
value
==
item
[
this
.
groupField
]});
if
(
arr
&&
arr
.
length
>
0
)
{
i
=
groups
.
findIndex
((
group
:
any
)
=>
Object
.
is
(
group
.
label
,
arr
[
0
].
label
));
}
}
else
{
i
=
groups
.
findIndex
((
group
:
any
)
=>
Object
.
is
(
group
.
label
,
item
[
this
.
groupField
]));
}
if
(
i
<
0
){
child
.
push
(
item
);
}
...
...
app_Web/src/widgets/ibizbook/group-by-codelist-list-list/group-by-codelist-list-list.less
浏览文件 @
9ecefdab
...
...
@@ -10,20 +10,47 @@
}
.app-list-item {
line-height: 34px;
border-radius:5px;
padding: 6px;
margin: 6px;
box-shadow: 0px 0px 2px 1px rgb(209, 208, 208);
background: #f7f7fa;
padding: 12px 6px;
min-height: 24px;
display: flex;
justify-content: space-between;
align-items: center;
border-bottom: 1px solid #f0f0f0;
.app-list-item-content {
display: flex;
align-items: center;
.item-icon {
width: 40px;
height: 40px;
margin-right: 14px;
img {
width: 40px;
height: 40px;
border-radius: 50%;
}
}
.item-content-text {
display: flex;
flex-direction: column;
.item-text {
font-size: 18px;
font-weight: bold;
}
.item-subtext {
color: #8c8c8c;
}
}
}
.app-list-item-date {
position: relative;
left: 28%;
color: #8c8c8c;
}
}
.app-list-item.isSelect {
background: #ecf5ff;
border-
left: 5px solid #2d8cf0
;
bo
x-shadow: 0px 0px 3px 1px #82bff7
;
border-
radius: 2px
;
bo
rder-color: rgb(197, 197, 197)
;
}
.app-list-item:hover {
background: #ecf5ff;
...
...
app_Web/src/widgets/ibizbook/has-panel-list-list/has-panel-list-list-base.vue
浏览文件 @
9ecefdab
...
...
@@ -166,6 +166,14 @@ export default class HasPanelListBase extends Vue implements ControlInterface {
/**
* 代码表服务对象
*
* @type {CodeListService}
* @memberof HasPanelListBase
*/
public
codeListService
:
CodeListService
=
new
CodeListService
({
$store
:
this
.
$store
});
/**
* 获取多项数据
*
...
...
app_Web/src/widgets/ibizbook/has-panel-list-list/has-panel-list-list.less
浏览文件 @
9ecefdab
...
...
@@ -10,20 +10,47 @@
}
.app-list-item {
line-height: 34px;
border-radius:5px;
padding: 6px;
margin: 6px;
box-shadow: 0px 0px 2px 1px rgb(209, 208, 208);
background: #f7f7fa;
padding: 12px 6px;
min-height: 24px;
display: flex;
justify-content: space-between;
align-items: center;
border-bottom: 1px solid #f0f0f0;
.app-list-item-content {
display: flex;
align-items: center;
.item-icon {
width: 40px;
height: 40px;
margin-right: 14px;
img {
width: 40px;
height: 40px;
border-radius: 50%;
}
}
.item-content-text {
display: flex;
flex-direction: column;
.item-text {
font-size: 18px;
font-weight: bold;
}
.item-subtext {
color: #8c8c8c;
}
}
}
.app-list-item-date {
position: relative;
left: 28%;
color: #8c8c8c;
}
}
.app-list-item.isSelect {
background: #ecf5ff;
border-
left: 5px solid #2d8cf0
;
bo
x-shadow: 0px 0px 3px 1px #82bff7
;
border-
radius: 2px
;
bo
rder-color: rgb(197, 197, 197)
;
}
.app-list-item:hover {
background: #ecf5ff;
...
...
app_Web/src/widgets/ibizbook/internal-func-grid/internal-func-grid-base.vue
浏览文件 @
9ecefdab
...
...
@@ -1068,17 +1068,17 @@ export default class InternalFuncBase extends Vue implements ControlInterface {
serviceName
:
'ibizbook'
,
appDeLogicName
:
'图书'
,
importData
:{
"IBIZBOOKNAME"
:{
"headername"
:
"图书名称"
,
"isuniqueitem"
:
false
,
"name"
:
"ibizbookname"
,
"order"
:
1000
},
"UPDATEMAN"
:{
"codelist"
:{
"type"
:
"DYNAMIC"
,
"tag"
:
"SysOperator"
,
"isnumber"
:
false
},
"headername"
:
"更新人"
,
"isuniqueitem"
:
false
,
"name"
:
"updateman"
,
"order"
:
1000
},
"PRESS"
:{
"headername"
:
"图书出版社"
,
"isuniqueitem"
:
false
,
"name"
:
"press"
,
"order"
:
1000
},
"AUTHOR"
:{
"headername"
:
"图书作者"
,
"isuniqueitem"
:
false
,
"name"
:
"author"
,
"order"
:
1000
},
"PRICE"
:{
"headername"
:
"图书价格"
,
"isuniqueitem"
:
false
,
"name"
:
"price"
,
"order"
:
1000
},
"UPDATEDATE"
:{
"headername"
:
"更新时间"
,
"isuniqueitem"
:
false
,
"name"
:
"updatedate"
,
"order"
:
1000
},
"IBIZBOOKID"
:{
"headername"
:
"图书标识"
,
"isuniqueitem"
:
false
,
"name"
:
"ibizbookid"
,
"order"
:
1000
},
"BOOKNUMBER"
:{
"headername"
:
"图书数量"
,
"isuniqueitem"
:
false
,
"name"
:
"booknumber"
,
"order"
:
1000
},
"CREATEMAN"
:{
"codelist"
:{
"type"
:
"DYNAMIC"
,
"tag"
:
"SysOperator"
,
"isnumber"
:
false
},
"headername"
:
"建立人"
,
"isuniqueitem"
:
false
,
"name"
:
"createman"
,
"order"
:
1000
},
"TYPE"
:{
"headername"
:
"图书类型"
,
"isuniqueitem"
:
false
,
"name"
:
"type"
,
"order"
:
1000
},
"CREATEDATE"
:{
"headername"
:
"建立时间"
,
"isuniqueitem"
:
false
,
"name"
:
"createdate"
,
"order"
:
1000
}
"CREATEDATE"
:{
"headername"
:
"建立时间"
,
"isuniqueitem"
:
false
,
"name"
:
"createdate"
,
"order"
:
1000
},
"IBIZBOOKNAME"
:{
"headername"
:
"图书名称"
,
"isuniqueitem"
:
false
,
"name"
:
"ibizbookname"
,
"order"
:
1000
},
"UPDATEMAN"
:{
"codelist"
:{
"type"
:
"DYNAMIC"
,
"tag"
:
"SysOperator"
,
"isnumber"
:
false
},
"headername"
:
"更新人"
,
"isuniqueitem"
:
false
,
"name"
:
"updateman"
,
"order"
:
1000
},
"UPDATEDATE"
:{
"headername"
:
"更新时间"
,
"isuniqueitem"
:
false
,
"name"
:
"updatedate"
,
"order"
:
1000
},
"IBIZBOOKID"
:{
"headername"
:
"图书标识"
,
"isuniqueitem"
:
false
,
"name"
:
"ibizbookid"
,
"order"
:
1000
},
"TYPE"
:{
"headername"
:
"图书类型"
,
"isuniqueitem"
:
false
,
"name"
:
"type"
,
"order"
:
1000
}
}
}
if
(
Object
.
keys
(
importDataModel
).
length
==
0
){
...
...
app_Web/src/widgets/ibizbook/lnternal-func-list-list/lnternal-func-list-list-base.vue
浏览文件 @
9ecefdab
...
...
@@ -3,8 +3,26 @@
<div
:class=
"['app-list',this.items.length > 0 ? '' : 'app-list-empty' ]"
>
<div
v-if=
"items.length > 0"
>
<div
v-for =
"item in items"
:key=
"item.srfkey"
:class=
"['app-list-item',
{'isSelect': item.isselected === true ? true : false}]" @click="handleClick(item)" @dblclick="handleDblClick(item)">
<div
class=
"app-list-item-content"
>
{{
item
.
srfmajortext
}}
</div>
<div
calss=
"app-list-item-action"
>
<div
class=
"app-list-item-content"
>
<div
class=
"item-icon"
>
<template
v-if=
"item.srficon"
>
<img
:src=
"item.srficon"
/>
</
template
>
<
template
v-else
>
<img
src=
"/assets/img/noimage.png"
/>
</
template
>
</div>
<
template
>
<div
class=
"item-content-text"
>
<span
class=
"item-text"
>
{{
item
.
srfmajortext
}}
</span>
<span
v-if=
"item.srfdescription"
class=
"item-subtext"
>
{{
item
.
srfdescription
}}
</span>
</div>
</
template
>
</div>
<div
class=
"app-list-item-date"
>
<span
class=
"date"
>
{{ item.createdate }}
</span>
</div>
<div
class=
"app-list-item-action"
>
<
template
v-for=
"(action,index) in Object.keys(ActionModel)"
>
<a
:key=
"index"
style=
"display: inline-block;margin: 0 12px;"
@
click=
"uiAction(item, action, $event)"
>
<i
:class=
"ActionModel[action].icon"
style=
"margin-right:2px;"
></i>
...
...
@@ -376,6 +394,14 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
/**
* 代码表服务对象
*
* @type {CodeListService}
* @memberof LnternalFuncListBase
*/
public
codeListService
:
CodeListService
=
new
CodeListService
({
$store
:
this
.
$store
});
/**
* 获取多项数据
*
...
...
app_Web/src/widgets/ibizbook/lnternal-func-list-list/lnternal-func-list-list.less
浏览文件 @
9ecefdab
...
...
@@ -10,20 +10,47 @@
}
.app-list-item {
line-height: 34px;
border-radius:5px;
padding: 6px;
margin: 6px;
box-shadow: 0px 0px 2px 1px rgb(209, 208, 208);
background: #f7f7fa;
padding: 12px 6px;
min-height: 24px;
display: flex;
justify-content: space-between;
align-items: center;
border-bottom: 1px solid #f0f0f0;
.app-list-item-content {
display: flex;
align-items: center;
.item-icon {
width: 40px;
height: 40px;
margin-right: 14px;
img {
width: 40px;
height: 40px;
border-radius: 50%;
}
}
.item-content-text {
display: flex;
flex-direction: column;
.item-text {
font-size: 18px;
font-weight: bold;
}
.item-subtext {
color: #8c8c8c;
}
}
}
.app-list-item-date {
position: relative;
left: 28%;
color: #8c8c8c;
}
}
.app-list-item.isSelect {
background: #ecf5ff;
border-
left: 5px solid #2d8cf0
;
bo
x-shadow: 0px 0px 3px 1px #82bff7
;
border-
radius: 2px
;
bo
rder-color: rgb(197, 197, 197)
;
}
.app-list-item:hover {
background: #ecf5ff;
...
...
app_Web/src/widgets/ibizbook/main2-grid/main2-grid-base.vue
浏览文件 @
9ecefdab
...
...
@@ -1079,17 +1079,17 @@ export default class Main2Base extends Vue implements ControlInterface {
serviceName
:
'ibizbook'
,
appDeLogicName
:
'图书'
,
importData
:{
"IBIZBOOKNAME"
:{
"headername"
:
"图书名称"
,
"isuniqueitem"
:
false
,
"name"
:
"ibizbookname"
,
"order"
:
1000
},
"UPDATEMAN"
:{
"codelist"
:{
"type"
:
"DYNAMIC"
,
"tag"
:
"SysOperator"
,
"isnumber"
:
false
},
"headername"
:
"更新人"
,
"isuniqueitem"
:
false
,
"name"
:
"updateman"
,
"order"
:
1000
},
"PRESS"
:{
"headername"
:
"图书出版社"
,
"isuniqueitem"
:
false
,
"name"
:
"press"
,
"order"
:
1000
},
"AUTHOR"
:{
"headername"
:
"图书作者"
,
"isuniqueitem"
:
false
,
"name"
:
"author"
,
"order"
:
1000
},
"PRICE"
:{
"headername"
:
"图书价格"
,
"isuniqueitem"
:
false
,
"name"
:
"price"
,
"order"
:
1000
},
"UPDATEDATE"
:{
"headername"
:
"更新时间"
,
"isuniqueitem"
:
false
,
"name"
:
"updatedate"
,
"order"
:
1000
},
"IBIZBOOKID"
:{
"headername"
:
"图书标识"
,
"isuniqueitem"
:
false
,
"name"
:
"ibizbookid"
,
"order"
:
1000
},
"BOOKNUMBER"
:{
"headername"
:
"图书数量"
,
"isuniqueitem"
:
false
,
"name"
:
"booknumber"
,
"order"
:
1000
},
"CREATEMAN"
:{
"codelist"
:{
"type"
:
"DYNAMIC"
,
"tag"
:
"SysOperator"
,
"isnumber"
:
false
},
"headername"
:
"建立人"
,
"isuniqueitem"
:
false
,
"name"
:
"createman"
,
"order"
:
1000
},
"TYPE"
:{
"headername"
:
"图书类型"
,
"isuniqueitem"
:
false
,
"name"
:
"type"
,
"order"
:
1000
},
"CREATEDATE"
:{
"headername"
:
"建立时间"
,
"isuniqueitem"
:
false
,
"name"
:
"createdate"
,
"order"
:
1000
}
"CREATEDATE"
:{
"headername"
:
"建立时间"
,
"isuniqueitem"
:
false
,
"name"
:
"createdate"
,
"order"
:
1000
},
"IBIZBOOKNAME"
:{
"headername"
:
"图书名称"
,
"isuniqueitem"
:
false
,
"name"
:
"ibizbookname"
,
"order"
:
1000
},
"UPDATEMAN"
:{
"codelist"
:{
"type"
:
"DYNAMIC"
,
"tag"
:
"SysOperator"
,
"isnumber"
:
false
},
"headername"
:
"更新人"
,
"isuniqueitem"
:
false
,
"name"
:
"updateman"
,
"order"
:
1000
},
"UPDATEDATE"
:{
"headername"
:
"更新时间"
,
"isuniqueitem"
:
false
,
"name"
:
"updatedate"
,
"order"
:
1000
},
"IBIZBOOKID"
:{
"headername"
:
"图书标识"
,
"isuniqueitem"
:
false
,
"name"
:
"ibizbookid"
,
"order"
:
1000
},
"TYPE"
:{
"headername"
:
"图书类型"
,
"isuniqueitem"
:
false
,
"name"
:
"type"
,
"order"
:
1000
}
}
}
if
(
Object
.
keys
(
importDataModel
).
length
==
0
){
...
...
app_Web/src/widgets/ibizbook/main3-grid/main3-grid-base.vue
浏览文件 @
9ecefdab
...
...
@@ -1079,17 +1079,17 @@ export default class Main3Base extends Vue implements ControlInterface {
serviceName
:
'ibizbook'
,
appDeLogicName
:
'图书'
,
importData
:{
"IBIZBOOKNAME"
:{
"headername"
:
"图书名称"
,
"isuniqueitem"
:
false
,
"name"
:
"ibizbookname"
,
"order"
:
1000
},
"UPDATEMAN"
:{
"codelist"
:{
"type"
:
"DYNAMIC"
,
"tag"
:
"SysOperator"
,
"isnumber"
:
false
},
"headername"
:
"更新人"
,
"isuniqueitem"
:
false
,
"name"
:
"updateman"
,
"order"
:
1000
},
"PRESS"
:{
"headername"
:
"图书出版社"
,
"isuniqueitem"
:
false
,
"name"
:
"press"
,
"order"
:
1000
},
"AUTHOR"
:{
"headername"
:
"图书作者"
,
"isuniqueitem"
:
false
,
"name"
:
"author"
,
"order"
:
1000
},
"PRICE"
:{
"headername"
:
"图书价格"
,
"isuniqueitem"
:
false
,
"name"
:
"price"
,
"order"
:
1000
},
"UPDATEDATE"
:{
"headername"
:
"更新时间"
,
"isuniqueitem"
:
false
,
"name"
:
"updatedate"
,
"order"
:
1000
},
"IBIZBOOKID"
:{
"headername"
:
"图书标识"
,
"isuniqueitem"
:
false
,
"name"
:
"ibizbookid"
,
"order"
:
1000
},
"BOOKNUMBER"
:{
"headername"
:
"图书数量"
,
"isuniqueitem"
:
false
,
"name"
:
"booknumber"
,
"order"
:
1000
},
"CREATEMAN"
:{
"codelist"
:{
"type"
:
"DYNAMIC"
,
"tag"
:
"SysOperator"
,
"isnumber"
:
false
},
"headername"
:
"建立人"
,
"isuniqueitem"
:
false
,
"name"
:
"createman"
,
"order"
:
1000
},
"TYPE"
:{
"headername"
:
"图书类型"
,
"isuniqueitem"
:
false
,
"name"
:
"type"
,
"order"
:
1000
},
"CREATEDATE"
:{
"headername"
:
"建立时间"
,
"isuniqueitem"
:
false
,
"name"
:
"createdate"
,
"order"
:
1000
}
"CREATEDATE"
:{
"headername"
:
"建立时间"
,
"isuniqueitem"
:
false
,
"name"
:
"createdate"
,
"order"
:
1000
},
"IBIZBOOKNAME"
:{
"headername"
:
"图书名称"
,
"isuniqueitem"
:
false
,
"name"
:
"ibizbookname"
,
"order"
:
1000
},
"UPDATEMAN"
:{
"codelist"
:{
"type"
:
"DYNAMIC"
,
"tag"
:
"SysOperator"
,
"isnumber"
:
false
},
"headername"
:
"更新人"
,
"isuniqueitem"
:
false
,
"name"
:
"updateman"
,
"order"
:
1000
},
"UPDATEDATE"
:{
"headername"
:
"更新时间"
,
"isuniqueitem"
:
false
,
"name"
:
"updatedate"
,
"order"
:
1000
},
"IBIZBOOKID"
:{
"headername"
:
"图书标识"
,
"isuniqueitem"
:
false
,
"name"
:
"ibizbookid"
,
"order"
:
1000
},
"TYPE"
:{
"headername"
:
"图书类型"
,
"isuniqueitem"
:
false
,
"name"
:
"type"
,
"order"
:
1000
}
}
}
if
(
Object
.
keys
(
importDataModel
).
length
==
0
){
...
...
app_Web/src/widgets/ibizbook/main4-grid/main4-grid-base.vue
浏览文件 @
9ecefdab
...
...
@@ -1070,17 +1070,17 @@ export default class Main4Base extends Vue implements ControlInterface {
serviceName
:
'ibizbook'
,
appDeLogicName
:
'图书'
,
importData
:{
"IBIZBOOKNAME"
:{
"headername"
:
"图书名称"
,
"isuniqueitem"
:
false
,
"name"
:
"ibizbookname"
,
"order"
:
1000
},
"UPDATEMAN"
:{
"codelist"
:{
"type"
:
"DYNAMIC"
,
"tag"
:
"SysOperator"
,
"isnumber"
:
false
},
"headername"
:
"更新人"
,
"isuniqueitem"
:
false
,
"name"
:
"updateman"
,
"order"
:
1000
},
"PRESS"
:{
"headername"
:
"图书出版社"
,
"isuniqueitem"
:
false
,
"name"
:
"press"
,
"order"
:
1000
},
"AUTHOR"
:{
"headername"
:
"图书作者"
,
"isuniqueitem"
:
false
,
"name"
:
"author"
,
"order"
:
1000
},
"PRICE"
:{
"headername"
:
"图书价格"
,
"isuniqueitem"
:
false
,
"name"
:
"price"
,
"order"
:
1000
},
"UPDATEDATE"
:{
"headername"
:
"更新时间"
,
"isuniqueitem"
:
false
,
"name"
:
"updatedate"
,
"order"
:
1000
},
"IBIZBOOKID"
:{
"headername"
:
"图书标识"
,
"isuniqueitem"
:
false
,
"name"
:
"ibizbookid"
,
"order"
:
1000
},
"BOOKNUMBER"
:{
"headername"
:
"图书数量"
,
"isuniqueitem"
:
false
,
"name"
:
"booknumber"
,
"order"
:
1000
},
"CREATEMAN"
:{
"codelist"
:{
"type"
:
"DYNAMIC"
,
"tag"
:
"SysOperator"
,
"isnumber"
:
false
},
"headername"
:
"建立人"
,
"isuniqueitem"
:
false
,
"name"
:
"createman"
,
"order"
:
1000
},
"TYPE"
:{
"headername"
:
"图书类型"
,
"isuniqueitem"
:
false
,
"name"
:
"type"
,
"order"
:
1000
},
"CREATEDATE"
:{
"headername"
:
"建立时间"
,
"isuniqueitem"
:
false
,
"name"
:
"createdate"
,
"order"
:
1000
}
"CREATEDATE"
:{
"headername"
:
"建立时间"
,
"isuniqueitem"
:
false
,
"name"
:
"createdate"
,
"order"
:
1000
},
"IBIZBOOKNAME"
:{
"headername"
:
"图书名称"
,
"isuniqueitem"
:
false
,
"name"
:
"ibizbookname"
,
"order"
:
1000
},
"UPDATEMAN"
:{
"codelist"
:{
"type"
:
"DYNAMIC"
,
"tag"
:
"SysOperator"
,
"isnumber"
:
false
},
"headername"
:
"更新人"
,
"isuniqueitem"
:
false
,
"name"
:
"updateman"
,
"order"
:
1000
},
"UPDATEDATE"
:{
"headername"
:
"更新时间"
,
"isuniqueitem"
:
false
,
"name"
:
"updatedate"
,
"order"
:
1000
},
"IBIZBOOKID"
:{
"headername"
:
"图书标识"
,
"isuniqueitem"
:
false
,
"name"
:
"ibizbookid"
,
"order"
:
1000
},
"TYPE"
:{
"headername"
:
"图书类型"
,
"isuniqueitem"
:
false
,
"name"
:
"type"
,
"order"
:
1000
}
}
}
if
(
Object
.
keys
(
importDataModel
).
length
==
0
){
...
...
app_Web/src/widgets/ibizbook/main5-grid/main5-grid-base.vue
浏览文件 @
9ecefdab
...
...
@@ -1086,17 +1086,17 @@ export default class Main5Base extends Vue implements ControlInterface {
serviceName
:
'ibizbook'
,
appDeLogicName
:
'图书'
,
importData
:{
"IBIZBOOKNAME"
:{
"headername"
:
"图书名称"
,
"isuniqueitem"
:
false
,
"name"
:
"ibizbookname"
,
"order"
:
1000
},
"UPDATEMAN"
:{
"codelist"
:{
"type"
:
"DYNAMIC"
,
"tag"
:
"SysOperator"
,
"isnumber"
:
false
},
"headername"
:
"更新人"
,
"isuniqueitem"
:
false
,
"name"
:
"updateman"
,
"order"
:
1000
},
"PRESS"
:{
"headername"
:
"图书出版社"
,
"isuniqueitem"
:
false
,
"name"
:
"press"
,
"order"
:
1000
},
"AUTHOR"
:{
"headername"
:
"图书作者"
,
"isuniqueitem"
:
false
,
"name"
:
"author"
,
"order"
:
1000
},
"PRICE"
:{
"headername"
:
"图书价格"
,
"isuniqueitem"
:
false
,
"name"
:
"price"
,
"order"
:
1000
},
"UPDATEDATE"
:{
"headername"
:
"更新时间"
,
"isuniqueitem"
:
false
,
"name"
:
"updatedate"
,
"order"
:
1000
},
"IBIZBOOKID"
:{
"headername"
:
"图书标识"
,
"isuniqueitem"
:
false
,
"name"
:
"ibizbookid"
,
"order"
:
1000
},
"BOOKNUMBER"
:{
"headername"
:
"图书数量"
,
"isuniqueitem"
:
false
,
"name"
:
"booknumber"
,
"order"
:
1000
},
"CREATEMAN"
:{
"codelist"
:{
"type"
:
"DYNAMIC"
,
"tag"
:
"SysOperator"
,
"isnumber"
:
false
},
"headername"
:
"建立人"
,
"isuniqueitem"
:
false
,
"name"
:
"createman"
,
"order"
:
1000
},
"TYPE"
:{
"headername"
:
"图书类型"
,
"isuniqueitem"
:
false
,
"name"
:
"type"
,
"order"
:
1000
},
"CREATEDATE"
:{
"headername"
:
"建立时间"
,
"isuniqueitem"
:
false
,
"name"
:
"createdate"
,
"order"
:
1000
}
"CREATEDATE"
:{
"headername"
:
"建立时间"
,
"isuniqueitem"
:
false
,
"name"
:
"createdate"
,
"order"
:
1000
},
"IBIZBOOKNAME"
:{
"headername"
:
"图书名称"
,
"isuniqueitem"
:
false
,
"name"
:
"ibizbookname"
,
"order"
:
1000
},
"UPDATEMAN"
:{
"codelist"
:{
"type"
:
"DYNAMIC"
,
"tag"
:
"SysOperator"
,
"isnumber"
:
false
},
"headername"
:
"更新人"
,
"isuniqueitem"
:
false
,
"name"
:
"updateman"
,
"order"
:
1000
},
"UPDATEDATE"
:{
"headername"
:
"更新时间"
,
"isuniqueitem"
:
false
,
"name"
:
"updatedate"
,
"order"
:
1000
},
"IBIZBOOKID"
:{
"headername"
:
"图书标识"
,
"isuniqueitem"
:
false
,
"name"
:
"ibizbookid"
,
"order"
:
1000
},
"TYPE"
:{
"headername"
:
"图书类型"
,
"isuniqueitem"
:
false
,
"name"
:
"type"
,
"order"
:
1000
}
}
}
if
(
Object
.
keys
(
importDataModel
).
length
==
0
){
...
...
app_Web/src/widgets/ibizbook/main5-grid/main5-grid-service.ts
浏览文件 @
9ecefdab
...
...
@@ -2,7 +2,6 @@ import { Http,Util,Errorlog } from '@/utils';
import
ControlService
from
'@/widgets/control-service'
;
import
IBIZBOOKService
from
'@/service/ibizbook/ibizbook-service'
;
import
Main5Model
from
'./main5-grid-model'
;
import
IBIZBOOKService
from
'@/service/ibizbook/ibizbook-service'
;
/**
...
...
app_Web/src/widgets/ibizbook/new-default-grid/new-default-grid-base.vue
浏览文件 @
9ecefdab
...
...
@@ -1206,17 +1206,17 @@ export default class NewDefaultBase extends Vue implements ControlInterface {
serviceName
:
'ibizbook'
,
appDeLogicName
:
'图书'
,
importData
:{
"IBIZBOOKNAME"
:{
"headername"
:
"图书名称"
,
"isuniqueitem"
:
false
,
"name"
:
"ibizbookname"
,
"order"
:
1000
},
"UPDATEMAN"
:{
"codelist"
:{
"type"
:
"DYNAMIC"
,
"tag"
:
"SysOperator"
,
"isnumber"
:
false
},
"headername"
:
"更新人"
,
"isuniqueitem"
:
false
,
"name"
:
"updateman"
,
"order"
:
1000
},
"PRESS"
:{
"headername"
:
"图书出版社"
,
"isuniqueitem"
:
false
,
"name"
:
"press"
,
"order"
:
1000
},
"AUTHOR"
:{
"headername"
:
"图书作者"
,
"isuniqueitem"
:
false
,
"name"
:
"author"
,
"order"
:
1000
},
"PRICE"
:{
"headername"
:
"图书价格"
,
"isuniqueitem"
:
false
,
"name"
:
"price"
,
"order"
:
1000
},
"UPDATEDATE"
:{
"headername"
:
"更新时间"
,
"isuniqueitem"
:
false
,
"name"
:
"updatedate"
,
"order"
:
1000
},
"IBIZBOOKID"
:{
"headername"
:
"图书标识"
,
"isuniqueitem"
:
false
,
"name"
:
"ibizbookid"
,
"order"
:
1000
},
"BOOKNUMBER"
:{
"headername"
:
"图书数量"
,
"isuniqueitem"
:
false
,
"name"
:
"booknumber"
,
"order"
:
1000
},
"CREATEMAN"
:{
"codelist"
:{
"type"
:
"DYNAMIC"
,
"tag"
:
"SysOperator"
,
"isnumber"
:
false
},
"headername"
:
"建立人"
,
"isuniqueitem"
:
false
,
"name"
:
"createman"
,
"order"
:
1000
},
"TYPE"
:{
"headername"
:
"图书类型"
,
"isuniqueitem"
:
false
,
"name"
:
"type"
,
"order"
:
1000
},
"CREATEDATE"
:{
"headername"
:
"建立时间"
,
"isuniqueitem"
:
false
,
"name"
:
"createdate"
,
"order"
:
1000
}
"CREATEDATE"
:{
"headername"
:
"建立时间"
,
"isuniqueitem"
:
false
,
"name"
:
"createdate"
,
"order"
:
1000
},
"IBIZBOOKNAME"
:{
"headername"
:
"图书名称"
,
"isuniqueitem"
:
false
,
"name"
:
"ibizbookname"
,
"order"
:
1000
},
"UPDATEMAN"
:{
"codelist"
:{
"type"
:
"DYNAMIC"
,
"tag"
:
"SysOperator"
,
"isnumber"
:
false
},
"headername"
:
"更新人"
,
"isuniqueitem"
:
false
,
"name"
:
"updateman"
,
"order"
:
1000
},
"UPDATEDATE"
:{
"headername"
:
"更新时间"
,
"isuniqueitem"
:
false
,
"name"
:
"updatedate"
,
"order"
:
1000
},
"IBIZBOOKID"
:{
"headername"
:
"图书标识"
,
"isuniqueitem"
:
false
,
"name"
:
"ibizbookid"
,
"order"
:
1000
},
"TYPE"
:{
"headername"
:
"图书类型"
,
"isuniqueitem"
:
false
,
"name"
:
"type"
,
"order"
:
1000
}
}
}
if
(
Object
.
keys
(
importDataModel
).
length
==
0
){
...
...
app_Web/src/widgets/ibizbook/row-edit-grid/row-edit-grid-base.vue
浏览文件 @
9ecefdab
...
...
@@ -1281,17 +1281,17 @@ export default class RowEditBase extends Vue implements ControlInterface {
serviceName
:
'ibizbook'
,
appDeLogicName
:
'图书'
,
importData
:{
"IBIZBOOKNAME"
:{
"headername"
:
"图书名称"
,
"isuniqueitem"
:
false
,
"name"
:
"ibizbookname"
,
"order"
:
1000
},
"UPDATEMAN"
:{
"codelist"
:{
"type"
:
"DYNAMIC"
,
"tag"
:
"SysOperator"
,
"isnumber"
:
false
},
"headername"
:
"更新人"
,
"isuniqueitem"
:
false
,
"name"
:
"updateman"
,
"order"
:
1000
},
"PRESS"
:{
"headername"
:
"图书出版社"
,
"isuniqueitem"
:
false
,
"name"
:
"press"
,
"order"
:
1000
},
"AUTHOR"
:{
"headername"
:
"图书作者"
,
"isuniqueitem"
:
false
,
"name"
:
"author"
,
"order"
:
1000
},
"PRICE"
:{
"headername"
:
"图书价格"
,
"isuniqueitem"
:
false
,
"name"
:
"price"
,
"order"
:
1000
},
"UPDATEDATE"
:{
"headername"
:
"更新时间"
,
"isuniqueitem"
:
false
,
"name"
:
"updatedate"
,
"order"
:
1000
},
"IBIZBOOKID"
:{
"headername"
:
"图书标识"
,
"isuniqueitem"
:
false
,
"name"
:
"ibizbookid"
,
"order"
:
1000
},
"BOOKNUMBER"
:{
"headername"
:
"图书数量"
,
"isuniqueitem"
:
false
,
"name"
:
"booknumber"
,
"order"
:
1000
},
"CREATEMAN"
:{
"codelist"
:{
"type"
:
"DYNAMIC"
,
"tag"
:
"SysOperator"
,
"isnumber"
:
false
},
"headername"
:
"建立人"
,
"isuniqueitem"
:
false
,
"name"
:
"createman"
,
"order"
:
1000
},
"TYPE"
:{
"headername"
:
"图书类型"
,
"isuniqueitem"
:
false
,
"name"
:
"type"
,
"order"
:
1000
},
"CREATEDATE"
:{
"headername"
:
"建立时间"
,
"isuniqueitem"
:
false
,
"name"
:
"createdate"
,
"order"
:
1000
}
"CREATEDATE"
:{
"headername"
:
"建立时间"
,
"isuniqueitem"
:
false
,
"name"
:
"createdate"
,
"order"
:
1000
},
"IBIZBOOKNAME"
:{
"headername"
:
"图书名称"
,
"isuniqueitem"
:
false
,
"name"
:
"ibizbookname"
,
"order"
:
1000
},
"UPDATEMAN"
:{
"codelist"
:{
"type"
:
"DYNAMIC"
,
"tag"
:
"SysOperator"
,
"isnumber"
:
false
},
"headername"
:
"更新人"
,
"isuniqueitem"
:
false
,
"name"
:
"updateman"
,
"order"
:
1000
},
"UPDATEDATE"
:{
"headername"
:
"更新时间"
,
"isuniqueitem"
:
false
,
"name"
:
"updatedate"
,
"order"
:
1000
},
"IBIZBOOKID"
:{
"headername"
:
"图书标识"
,
"isuniqueitem"
:
false
,
"name"
:
"ibizbookid"
,
"order"
:
1000
},
"TYPE"
:{
"headername"
:
"图书类型"
,
"isuniqueitem"
:
false
,
"name"
:
"type"
,
"order"
:
1000
}
}
}
if
(
Object
.
keys
(
importDataModel
).
length
==
0
){
...
...
app_Web/src/widgets/ibizbook/row-rules-grid/row-rules-grid-base.vue
浏览文件 @
9ecefdab
...
...
@@ -1236,17 +1236,17 @@ export default class RowRulesBase extends Vue implements ControlInterface {
serviceName
:
'ibizbook'
,
appDeLogicName
:
'图书'
,
importData
:{
"IBIZBOOKNAME"
:{
"headername"
:
"图书名称"
,
"isuniqueitem"
:
false
,
"name"
:
"ibizbookname"
,
"order"
:
1000
},
"UPDATEMAN"
:{
"codelist"
:{
"type"
:
"DYNAMIC"
,
"tag"
:
"SysOperator"
,
"isnumber"
:
false
},
"headername"
:
"更新人"
,
"isuniqueitem"
:
false
,
"name"
:
"updateman"
,
"order"
:
1000
},
"PRESS"
:{
"headername"
:
"图书出版社"
,
"isuniqueitem"
:
false
,
"name"
:
"press"
,
"order"
:
1000
},
"AUTHOR"
:{
"headername"
:
"图书作者"
,
"isuniqueitem"
:
false
,
"name"
:
"author"
,
"order"
:
1000
},
"PRICE"
:{
"headername"
:
"图书价格"
,
"isuniqueitem"
:
false
,
"name"
:
"price"
,
"order"
:
1000
},
"UPDATEDATE"
:{
"headername"
:
"更新时间"
,
"isuniqueitem"
:
false
,
"name"
:
"updatedate"
,
"order"
:
1000
},
"IBIZBOOKID"
:{
"headername"
:
"图书标识"
,
"isuniqueitem"
:
false
,
"name"
:
"ibizbookid"
,
"order"
:
1000
},
"BOOKNUMBER"
:{
"headername"
:
"图书数量"
,
"isuniqueitem"
:
false
,
"name"
:
"booknumber"
,
"order"
:
1000
},
"CREATEMAN"
:{
"codelist"
:{
"type"
:
"DYNAMIC"
,
"tag"
:
"SysOperator"
,
"isnumber"
:
false
},
"headername"
:
"建立人"
,
"isuniqueitem"
:
false
,
"name"
:
"createman"
,
"order"
:
1000
},
"TYPE"
:{
"headername"
:
"图书类型"
,
"isuniqueitem"
:
false
,
"name"
:
"type"
,
"order"
:
1000
},
"CREATEDATE"
:{
"headername"
:
"建立时间"
,
"isuniqueitem"
:
false
,
"name"
:
"createdate"
,
"order"
:
1000
}
"CREATEDATE"
:{
"headername"
:
"建立时间"
,
"isuniqueitem"
:
false
,
"name"
:
"createdate"
,
"order"
:
1000
},
"IBIZBOOKNAME"
:{
"headername"
:
"图书名称"
,
"isuniqueitem"
:
false
,
"name"
:
"ibizbookname"
,
"order"
:
1000
},
"UPDATEMAN"
:{
"codelist"
:{
"type"
:
"DYNAMIC"
,
"tag"
:
"SysOperator"
,
"isnumber"
:
false
},
"headername"
:
"更新人"
,
"isuniqueitem"
:
false
,
"name"
:
"updateman"
,
"order"
:
1000
},
"UPDATEDATE"
:{
"headername"
:
"更新时间"
,
"isuniqueitem"
:
false
,
"name"
:
"updatedate"
,
"order"
:
1000
},
"IBIZBOOKID"
:{
"headername"
:
"图书标识"
,
"isuniqueitem"
:
false
,
"name"
:
"ibizbookid"
,
"order"
:
1000
},
"TYPE"
:{
"headername"
:
"图书类型"
,
"isuniqueitem"
:
false
,
"name"
:
"type"
,
"order"
:
1000
}
}
}
if
(
Object
.
keys
(
importDataModel
).
length
==
0
){
...
...
app_Web/src/widgets/ibizbook/update-default-grid/update-default-grid-base.vue
浏览文件 @
9ecefdab
...
...
@@ -1206,17 +1206,17 @@ export default class UpdateDefaultBase extends Vue implements ControlInterface {
serviceName
:
'ibizbook'
,
appDeLogicName
:
'图书'
,
importData
:{
"IBIZBOOKNAME"
:{
"headername"
:
"图书名称"
,
"isuniqueitem"
:
false
,
"name"
:
"ibizbookname"
,
"order"
:
1000
},
"UPDATEMAN"
:{
"codelist"
:{
"type"
:
"DYNAMIC"
,
"tag"
:
"SysOperator"
,
"isnumber"
:
false
},
"headername"
:
"更新人"
,
"isuniqueitem"
:
false
,
"name"
:
"updateman"
,
"order"
:
1000
},
"PRESS"
:{
"headername"
:
"图书出版社"
,
"isuniqueitem"
:
false
,
"name"
:
"press"
,
"order"
:
1000
},
"AUTHOR"
:{
"headername"
:
"图书作者"
,
"isuniqueitem"
:
false
,
"name"
:
"author"
,
"order"
:
1000
},
"PRICE"
:{
"headername"
:
"图书价格"
,
"isuniqueitem"
:
false
,
"name"
:
"price"
,
"order"
:
1000
},
"UPDATEDATE"
:{
"headername"
:
"更新时间"
,
"isuniqueitem"
:
false
,
"name"
:
"updatedate"
,
"order"
:
1000
},
"IBIZBOOKID"
:{
"headername"
:
"图书标识"
,
"isuniqueitem"
:
false
,
"name"
:
"ibizbookid"
,
"order"
:
1000
},
"BOOKNUMBER"
:{
"headername"
:
"图书数量"
,
"isuniqueitem"
:
false
,
"name"
:
"booknumber"
,
"order"
:
1000
},
"CREATEMAN"
:{
"codelist"
:{
"type"
:
"DYNAMIC"
,
"tag"
:
"SysOperator"
,
"isnumber"
:
false
},
"headername"
:
"建立人"
,
"isuniqueitem"
:
false
,
"name"
:
"createman"
,
"order"
:
1000
},
"TYPE"
:{
"headername"
:
"图书类型"
,
"isuniqueitem"
:
false
,
"name"
:
"type"
,
"order"
:
1000
},
"CREATEDATE"
:{
"headername"
:
"建立时间"
,
"isuniqueitem"
:
false
,
"name"
:
"createdate"
,
"order"
:
1000
}
"CREATEDATE"
:{
"headername"
:
"建立时间"
,
"isuniqueitem"
:
false
,
"name"
:
"createdate"
,
"order"
:
1000
},
"IBIZBOOKNAME"
:{
"headername"
:
"图书名称"
,
"isuniqueitem"
:
false
,
"name"
:
"ibizbookname"
,
"order"
:
1000
},
"UPDATEMAN"
:{
"codelist"
:{
"type"
:
"DYNAMIC"
,
"tag"
:
"SysOperator"
,
"isnumber"
:
false
},
"headername"
:
"更新人"
,
"isuniqueitem"
:
false
,
"name"
:
"updateman"
,
"order"
:
1000
},
"UPDATEDATE"
:{
"headername"
:
"更新时间"
,
"isuniqueitem"
:
false
,
"name"
:
"updatedate"
,
"order"
:
1000
},
"IBIZBOOKID"
:{
"headername"
:
"图书标识"
,
"isuniqueitem"
:
false
,
"name"
:
"ibizbookid"
,
"order"
:
1000
},
"TYPE"
:{
"headername"
:
"图书类型"
,
"isuniqueitem"
:
false
,
"name"
:
"type"
,
"order"
:
1000
}
}
}
if
(
Object
.
keys
(
importDataModel
).
length
==
0
){
...
...
app_Web/src/widgets/ibizbook/usr-dataview/usr-dataview-base.vue
浏览文件 @
9ecefdab
<
template
>
<div
class=
"app-data-view"
>
<div
class=
"bar-container"
>
<row
class=
"page-sort-bar"
:gutter=
"10"
type=
"flex"
justify=
"start"
style=
"margin:0px;"
>
<i-col
:class=
"getsortClass('author')"
@
click
.
native=
"sortClick('author')"
>
<span
class=
"sort-field-text"
>
{{
$t
(
'entities.ibizbook.fields.author'
)
}}
</span>
<span
class=
"caret-wrapper"
>
<Icon
type=
"md-arrow-dropup"
/>
<Icon
type=
"md-arrow-dropdown"
/>
</span>
</i-col>
<i-col
:class=
"getsortClass('icon')"
@
click
.
native=
"sortClick('icon')"
>
<span
class=
"sort-field-text"
>
{{
$t
(
'entities.ibizbook.fields.icon'
)
}}
</span>
<span
class=
"caret-wrapper"
>
<Icon
type=
"md-arrow-dropup"
/>
<Icon
type=
"md-arrow-dropdown"
/>
</span>
</i-col>
<i-col
:class=
"getsortClass('subtext')"
@
click
.
native=
"sortClick('subtext')"
>
<span
class=
"sort-field-text"
>
{{
$t
(
'entities.ibizbook.fields.subtext'
)
}}
</span>
<span
class=
"caret-wrapper"
>
<Icon
type=
"md-arrow-dropup"
/>
<Icon
type=
"md-arrow-dropdown"
/>
</span>
</i-col>
<i-col
:class=
"getsortClass('type')"
@
click
.
native=
"sortClick('type')"
>
<span
class=
"sort-field-text"
>
{{
$t
(
'entities.ibizbook.fields.type'
)
}}
</span>
<span
class=
"caret-wrapper"
>
<Icon
type=
"md-arrow-dropup"
/>
<Icon
type=
"md-arrow-dropdown"
/>
</span>
</i-col>
<i-col
:class=
"getsortClass('ibizbookname')"
@
click
.
native=
"sortClick('ibizbookname')"
>
<span
class=
"sort-field-text"
>
{{
$t
(
'entities.ibizbook.fields.ibizbookname'
)
}}
</span>
<span
class=
"caret-wrapper"
>
<Icon
type=
"md-arrow-dropup"
/>
<Icon
type=
"md-arrow-dropdown"
/>
</span>
</i-col>
</row>
</div>
<app-sort-bar
:sortModel=
"sortModel"
:sortField=
"sortField"
:sortDir=
"sortDir"
entityName=
"ibizbook"
@
clickSort=
"(val) =>
{sortClick(val);}">
</app-sort-bar>
<row
class=
"data-view-container"
v-if=
"items.length > 0"
:gutter=
"20"
type=
"flex"
justify=
"start"
style=
"margin:0px;"
>
<a
v-for=
"(item,index) in items"
:key=
"index"
:href =
"item.starturl"
>
<i-col
style=
"min-height: 170px;margin-bottom: 10px;"
>
<el-card
shadow=
"always"
:class=
"[ item.isselected === true ? 'isselected' : false, 'single-card-data' ]"
@
click
.
native=
"handleClick(item)"
@
dblclick
.
native=
"handleDblClick(item)"
>
<div
class=
"data-view-item"
>
<img
v-if=
"item.srficon
path"
:src=
"item.srficonpath
"
class=
"single-card-img"
/>
<img
v-if=
"item.srficon
"
:src=
"item.srficon
"
class=
"single-card-img"
/>
<img
v-else
src=
"/assets/img/noimage.png"
class=
"single-card-img"
/>
<div
class=
"single-card-default"
>
<Tooltip
:content=
"item.srfmajortext"
>
{{
item
.
srfmajortext
}}
</Tooltip>
<span
v-if=
"item.srfdescription"
class=
"description"
>
{{
item
.
srfdescription
}}
</span>
</div>
</div>
<div
class=
"data-view-item-action"
>
...
...
@@ -423,6 +392,15 @@ export default class UsrBase extends Vue implements ControlInterface {
}
/**
* 代码表服务对象
*
* @type {CodeListService}
* @memberof UsrBase
*/
public
codeListService
:
CodeListService
=
new
CodeListService
({
$store
:
this
.
$store
});
/**
* 获取多项数据
*
...
...
@@ -633,6 +611,20 @@ export default class UsrBase extends Vue implements ControlInterface {
*/
public
sortField
:
string
=
''
;
/**
* 排序模型数据集
*
* @type {string}
* @memberof UsrBase
*/
public
sortModel
:
any
[]
=
[
'author'
,
'icon'
,
'subtext'
,
'type'
,
'ibizbookname'
]
/**
* 应用状态事件
*
...
...
app_Web/src/widgets/ibizbook/usr-dataview/usr-dataview.less
浏览文件 @
9ecefdab
...
...
@@ -78,9 +78,9 @@
}
}
.el-card{
background-color: #f
6f6f6
;
background-color: #f
ff
;
color: #666666;
box-shadow: 0 2px 12px 0 #
909399
;
box-shadow: 0 2px 12px 0 #
b1b3b8
;
}
.single-card-data{
height: 100%;
...
...
@@ -88,7 +88,11 @@
cursor: pointer;
border: 2px solid transparent;
.data-view-item{
display: flex;
margin-bottom: 36px;
.single-card-default {
display: flex;
flex-direction: column;
.ivu-tooltip{
.ivu-tooltip-rel{
width: 150px;
...
...
@@ -103,11 +107,15 @@
}
}
.single-card-img {
width: 150px;
height: calc(100% - 32px);
width: 50px;
height: 50px;
border-radius: 50%;
margin-right: 20px;
}
}
.data-view-item-action{
display: flex;
justify-content: space-around;
button{
margin: 0 3px;
cursor: pointer;
...
...
app_Web/src/widgets/ibizbook/usr2-dataview/usr2-dataview-base.vue
浏览文件 @
9ecefdab
<
template
>
<div
class=
"app-data-view"
>
<div
class=
"bar-container"
>
<row
class=
"page-sort-bar"
:gutter=
"10"
type=
"flex"
justify=
"start"
style=
"margin:0px;"
>
<i-col
:class=
"getsortClass('author')"
@
click
.
native=
"sortClick('author')"
>
<span
class=
"sort-field-text"
>
{{
$t
(
'entities.ibizbook.fields.author'
)
}}
</span>
<span
class=
"caret-wrapper"
>
<Icon
type=
"md-arrow-dropup"
/>
<Icon
type=
"md-arrow-dropdown"
/>
</span>
</i-col>
<i-col
:class=
"getsortClass('ibizbookname')"
@
click
.
native=
"sortClick('ibizbookname')"
>
<span
class=
"sort-field-text"
>
{{
$t
(
'entities.ibizbook.fields.ibizbookname'
)
}}
</span>
<span
class=
"caret-wrapper"
>
<Icon
type=
"md-arrow-dropup"
/>
<Icon
type=
"md-arrow-dropdown"
/>
</span>
</i-col>
</row>
</div>
<app-sort-bar
:sortModel=
"sortModel"
:sortField=
"sortField"
:sortDir=
"sortDir"
entityName=
"ibizbook"
@
clickSort=
"(val) =>
{sortClick(val);}">
</app-sort-bar>
<row
class=
"data-view-container"
v-if=
"items.length > 0"
:gutter=
"20"
type=
"flex"
justify=
"start"
style=
"margin:0px;"
>
<el-collapse>
<el-collapse-item
v-for=
"(group,index) in groupData"
:key=
"index"
>
...
...
@@ -29,12 +18,13 @@
<i-col
style=
"min-height: 170px;margin-bottom: 10px;"
>
<el-card
shadow=
"always"
:class=
"[ item.isselected === true ? 'isselected' : false, 'single-card-data' ]"
@
click
.
native=
"handleClick(item)"
@
dblclick
.
native=
"handleDblClick(item)"
>
<div
class=
"data-view-item"
>
<img
v-if=
"item.srficon
path"
:src=
"item.srficonpath
"
class=
"single-card-img"
/>
<img
v-if=
"item.srficon
"
:src=
"item.srficon
"
class=
"single-card-img"
/>
<img
v-else
src=
"/assets/img/noimage.png"
class=
"single-card-img"
/>
<div
class=
"single-card-default"
>
<Tooltip
:content=
"item.srfmajortext"
>
{{item.srfmajortext}}
</Tooltip>
<span
class=
"description"
>
{{ item.srfdescription }}
</span>
</div>
</div>
<div
class=
"data-view-item-action"
>
...
...
@@ -202,6 +192,15 @@ export default class Usr2Base extends Vue implements ControlInterface {
}
/**
* 代码表服务对象
*
* @type {CodeListService}
* @memberof Usr2Base
*/
public
codeListService
:
CodeListService
=
new
CodeListService
({
$store
:
this
.
$store
});
/**
* 获取多项数据
*
...
...
@@ -300,7 +299,15 @@ export default class Usr2Base extends Vue implements ControlInterface {
* @memberof Usr2Base
*/
public
groupField
:
string
=
"author"
;
/**
* 分组属性代码表
*
* @type {string}
* @memberof Usr2Base
*/
public
groupFieldCodelist
:
any
=
{};
/**
* 分组数据
*
...
...
@@ -337,15 +344,28 @@ export default class Usr2Base extends Vue implements ControlInterface {
*
* @memberof Usr2Base
*/
public
drawGroup
(){
public
async
drawGroup
(){
let
data
:
Array
<
any
>
=
[...
this
.
items
];
let
groups
:
Array
<
any
>
=
[];
let
fields
:
Array
<
any
>
=
[];
if
(
Object
.
keys
(
this
.
groupFieldCodelist
).
length
>
0
){
let
fieldCodelist
:
any
=
await
this
.
codeListService
.
getDataItems
(
this
.
groupFieldCodelist
);
fields
=
Util
.
deepCopy
(
fieldCodelist
);
}
data
.
forEach
((
item
:
any
)
=>
{
if
(
item
.
hasOwnProperty
(
this
.
groupField
)){
groups
.
push
(
item
[
this
.
groupField
]);
if
(
fields
&&
fields
.
length
>
0
){
const
arr
:
Array
<
any
>
=
fields
.
filter
((
field
:
any
)
=>
{
return
field
.
value
==
item
[
this
.
groupField
]});
groups
.
push
(
arr
[
0
].
label
);
}
else
{
groups
.
push
(
item
[
this
.
groupField
]);
}
}
});
groups
=
[...
new
Set
(
groups
)];
if
(
groups
.
length
==
0
){
console
.
warn
(
"分组数据无效"
);
}
let
groupTree
:
Array
<
any
>
=
[];
groups
.
forEach
((
group
:
any
,
i
:
number
)
=>
{
let
children
:
Array
<
any
>
=
[];
...
...
@@ -354,6 +374,7 @@ export default class Usr2Base extends Vue implements ControlInterface {
children
.
push
(
item
);
}
});
group
=
group
?
group
:
this
.
$t
(
'app.commonWords.other'
);
const
tree
:
any
=
{
group
:
group
,
children
:
children
...
...
@@ -452,6 +473,17 @@ export default class Usr2Base extends Vue implements ControlInterface {
*/
public
sortField
:
string
=
''
;
/**
* 排序模型数据集
*
* @type {string}
* @memberof Usr2Base
*/
public
sortModel
:
any
[]
=
[
'author'
,
'ibizbookname'
,
]
/**
* 应用状态事件
*
...
...
app_Web/src/widgets/ibizbook/usr2-dataview/usr2-dataview.less
浏览文件 @
9ecefdab
...
...
@@ -78,9 +78,9 @@
}
}
.el-card{
background-color: #f
6f6f6
;
background-color: #f
ff
;
color: #666666;
box-shadow: 0 2px 12px 0 #
909399
;
box-shadow: 0 2px 12px 0 #
b1b3b8
;
}
.single-card-data{
height: 100%;
...
...
@@ -88,7 +88,11 @@
cursor: pointer;
border: 2px solid transparent;
.data-view-item{
display: flex;
margin-bottom: 36px;
.single-card-default {
display: flex;
flex-direction: column;
.ivu-tooltip{
.ivu-tooltip-rel{
width: 150px;
...
...
@@ -103,11 +107,15 @@
}
}
.single-card-img {
width: 150px;
height: calc(100% - 32px);
width: 50px;
height: 50px;
border-radius: 50%;
margin-right: 20px;
}
}
.data-view-item-action{
display: flex;
justify-content: space-around;
button{
margin: 0 3px;
cursor: pointer;
...
...
app_Web/src/widgets/ibizbook/usr3-dataview/usr3-dataview-base.vue
浏览文件 @
9ecefdab
<
template
>
<div
class=
"app-data-view"
>
<div
class=
"bar-container"
>
<row
class=
"page-sort-bar"
:gutter=
"10"
type=
"flex"
justify=
"start"
style=
"margin:0px;"
>
<i-col
:class=
"getsortClass('type')"
@
click
.
native=
"sortClick('type')"
>
<span
class=
"sort-field-text"
>
{{
$t
(
'entities.ibizbook.fields.type'
)
}}
</span>
<span
class=
"caret-wrapper"
>
<Icon
type=
"md-arrow-dropup"
/>
<Icon
type=
"md-arrow-dropdown"
/>
</span>
</i-col>
<i-col
:class=
"getsortClass('ibizbookname')"
@
click
.
native=
"sortClick('ibizbookname')"
>
<span
class=
"sort-field-text"
>
{{
$t
(
'entities.ibizbook.fields.ibizbookname'
)
}}
</span>
<span
class=
"caret-wrapper"
>
<Icon
type=
"md-arrow-dropup"
/>
<Icon
type=
"md-arrow-dropdown"
/>
</span>
</i-col>
</row>
</div>
<app-sort-bar
:sortModel=
"sortModel"
:sortField=
"sortField"
:sortDir=
"sortDir"
entityName=
"ibizbook"
@
clickSort=
"(val) =>
{sortClick(val);}">
</app-sort-bar>
<row
class=
"data-view-container"
v-if=
"items.length > 0"
:gutter=
"20"
type=
"flex"
justify=
"start"
style=
"margin:0px;"
>
<el-collapse>
<el-collapse-item
v-for=
"(group,index) in groupData"
:key=
"index"
>
...
...
@@ -29,12 +18,13 @@
<i-col
style=
"min-height: 170px;margin-bottom: 10px;"
>
<el-card
shadow=
"always"
:class=
"[ item.isselected === true ? 'isselected' : false, 'single-card-data' ]"
@
click
.
native=
"handleClick(item)"
@
dblclick
.
native=
"handleDblClick(item)"
>
<div
class=
"data-view-item"
>
<img
v-if=
"item.srficon
path"
:src=
"item.srficonpath
"
class=
"single-card-img"
/>
<img
v-if=
"item.srficon
"
:src=
"item.srficon
"
class=
"single-card-img"
/>
<img
v-else
src=
"/assets/img/noimage.png"
class=
"single-card-img"
/>
<div
class=
"single-card-default"
>
<Tooltip
:content=
"item.srfmajortext"
>
{{item.srfmajortext}}
</Tooltip>
<span
class=
"description"
>
{{ item.srfdescription }}
</span>
</div>
</div>
<div
class=
"data-view-item-action"
>
...
...
@@ -202,6 +192,15 @@ export default class Usr3Base extends Vue implements ControlInterface {
}
/**
* 代码表服务对象
*
* @type {CodeListService}
* @memberof Usr3Base
*/
public
codeListService
:
CodeListService
=
new
CodeListService
({
$store
:
this
.
$store
});
/**
* 获取多项数据
*
...
...
@@ -300,7 +299,15 @@ export default class Usr3Base extends Vue implements ControlInterface {
* @memberof Usr3Base
*/
public
groupField
:
string
=
"type"
;
/**
* 分组属性代码表
*
* @type {string}
* @memberof Usr3Base
*/
public
groupFieldCodelist
:
any
=
{};
/**
* 分组数据
*
...
...
@@ -331,29 +338,14 @@ export default class Usr3Base extends Vue implements ControlInterface {
}
}
/**
* 代码表服务对象
*
* @type {CodeListService}
* @memberof Usr3Base
*/
public
codeListService
:
CodeListService
=
new
CodeListService
({
$store
:
this
.
$store
});
/**
* 分组代码表标识
*
* @type {string}
* @memberof Usr3Base
*/
public
tag
:
string
=
"BookType"
;
/**
* 分组代码表类型
*
* 分组代码表
*
* @type {string}
* @memberof Usr3Base
*/
public
codelistType
:
string
=
"STATIC"
;
*/
public
groupCodelist
:
any
=
{
type
:
'STATIC'
,
tag
:
'BookType'
}
;
/**
* 根据分组代码表绘制分组列表
...
...
@@ -362,19 +354,30 @@ export default class Usr3Base extends Vue implements ControlInterface {
*/
public
async
drawCodelistGroup
(){
let
groups
:
Array
<
any
>
=
[];
let
fields
:
Array
<
any
>
=
[];
let
groupTree
:
Array
<
any
>
=
[];
let
data
:
Array
<
any
>
=
[...
this
.
items
];
// 动态代码表
if
(
Object
.
is
(
this
.
codelistType
,
"DYNAMIC"
))
{
groups
=
await
this
.
codeListService
.
getItems
(
this
.
tag
);
// 静态代码表
}
else
if
(
Object
.
is
(
this
.
codelistType
,
"STATIC"
)){
groups
=
this
.
$store
.
getters
.
getCodeListItems
(
this
.
tag
);
if
(
Object
.
keys
(
this
.
groupCodelist
).
length
>
0
){
let
groupCodelist
:
any
=
await
this
.
codeListService
.
getDataItems
(
this
.
groupCodelist
);
groups
=
Util
.
deepCopy
(
groupCodelist
);
}
if
(
Object
.
keys
(
this
.
groupFieldCodelist
).
length
>
0
){
let
fieldCodelist
:
any
=
await
this
.
codeListService
.
getDataItems
(
this
.
groupFieldCodelist
);
fields
=
Util
.
deepCopy
(
fieldCodelist
);
}
if
(
groups
.
length
==
0
){
console
.
warn
(
"分组数据无效"
);
}
groups
.
forEach
((
group
:
any
,
i
:
number
)
=>
{
let
children
:
Array
<
any
>
=
[];
data
.
forEach
((
item
:
any
,
j
:
number
)
=>
{
if
(
Object
.
is
(
group
.
label
,
item
[
this
.
groupField
])){
if
(
fields
&&
fields
.
length
>
0
){
const
arr
:
Array
<
any
>
=
fields
.
filter
((
field
:
any
)
=>
{
return
field
.
value
==
item
[
this
.
groupField
]});
if
(
arr
&&
arr
.
length
>
0
&&
Object
.
is
(
group
.
label
,
arr
[
0
].
label
))
{
children
.
push
(
item
);
}
}
else
if
(
Object
.
is
(
group
.
label
,
item
[
this
.
groupField
])){
children
.
push
(
item
);
}
});
...
...
@@ -386,7 +389,15 @@ export default class Usr3Base extends Vue implements ControlInterface {
});
let
child
:
Array
<
any
>
=
[];
data
.
forEach
((
item
:
any
)
=>
{
let
i
=
groups
.
findIndex
((
group
:
any
)
=>
Object
.
is
(
group
,
item
[
this
.
groupField
]));
let
i
:
number
=
0
;
if
(
fields
&&
fields
.
length
>
0
){
const
arr
:
Array
<
any
>
=
fields
.
filter
((
field
:
any
)
=>
{
return
field
.
value
==
item
[
this
.
groupField
]});
if
(
arr
&&
arr
.
length
>
0
)
{
i
=
groups
.
findIndex
((
group
:
any
)
=>
Object
.
is
(
group
.
label
,
arr
[
0
].
label
));
}
}
else
{
i
=
groups
.
findIndex
((
group
:
any
)
=>
Object
.
is
(
group
.
label
,
item
[
this
.
groupField
]));
}
if
(
i
<
0
){
child
.
push
(
item
);
}
...
...
@@ -395,7 +406,9 @@ export default class Usr3Base extends Vue implements ControlInterface {
group
:
this
.
$t
(
'app.commonWords.other'
),
children
:
child
}
groupTree
.
push
(
Tree
);
if
(
child
&&
child
.
length
>
0
){
groupTree
.
push
(
Tree
);
}
this
.
groupData
=
[...
groupTree
];
}
...
...
@@ -489,6 +502,17 @@ export default class Usr3Base extends Vue implements ControlInterface {
*/
public
sortField
:
string
=
''
;
/**
* 排序模型数据集
*
* @type {string}
* @memberof Usr3Base
*/
public
sortModel
:
any
[]
=
[
'type'
,
'ibizbookname'
,
]
/**
* 应用状态事件
*
...
...
app_Web/src/widgets/ibizbook/usr3-dataview/usr3-dataview.less
浏览文件 @
9ecefdab
...
...
@@ -78,9 +78,9 @@
}
}
.el-card{
background-color: #f
6f6f6
;
background-color: #f
ff
;
color: #666666;
box-shadow: 0 2px 12px 0 #
909399
;
box-shadow: 0 2px 12px 0 #
b1b3b8
;
}
.single-card-data{
height: 100%;
...
...
@@ -88,7 +88,11 @@
cursor: pointer;
border: 2px solid transparent;
.data-view-item{
display: flex;
margin-bottom: 36px;
.single-card-default {
display: flex;
flex-direction: column;
.ivu-tooltip{
.ivu-tooltip-rel{
width: 150px;
...
...
@@ -103,11 +107,15 @@
}
}
.single-card-img {
width: 150px;
height: calc(100% - 32px);
width: 50px;
height: 50px;
border-radius: 50%;
margin-right: 20px;
}
}
.data-view-item-action{
display: flex;
justify-content: space-around;
button{
margin: 0 3px;
cursor: pointer;
...
...
app_Web/src/widgets/ibizbook/usr4-dataview/usr4-dataview-base.vue
浏览文件 @
9ecefdab
<
template
>
<div
class=
"app-data-view"
>
<div
class=
"bar-container"
>
<row
class=
"page-sort-bar"
:gutter=
"10"
type=
"flex"
justify=
"start"
style=
"margin:0px;"
>
<i-col
:class=
"getsortClass('author')"
@
click
.
native=
"sortClick('author')"
>
<span
class=
"sort-field-text"
>
{{
$t
(
'entities.ibizbook.fields.author'
)
}}
</span>
<span
class=
"caret-wrapper"
>
<Icon
type=
"md-arrow-dropup"
/>
<Icon
type=
"md-arrow-dropdown"
/>
</span>
</i-col>
<i-col
:class=
"getsortClass('press')"
@
click
.
native=
"sortClick('press')"
>
<span
class=
"sort-field-text"
>
{{
$t
(
'entities.ibizbook.fields.press'
)
}}
</span>
<span
class=
"caret-wrapper"
>
<Icon
type=
"md-arrow-dropup"
/>
<Icon
type=
"md-arrow-dropdown"
/>
</span>
</i-col>
<i-col
:class=
"getsortClass('ibizbookname')"
@
click
.
native=
"sortClick('ibizbookname')"
>
<span
class=
"sort-field-text"
>
{{
$t
(
'entities.ibizbook.fields.ibizbookname'
)
}}
</span>
<span
class=
"caret-wrapper"
>
<Icon
type=
"md-arrow-dropup"
/>
<Icon
type=
"md-arrow-dropdown"
/>
</span>
</i-col>
</row>
</div>
<app-sort-bar
:sortModel=
"sortModel"
:sortField=
"sortField"
:sortDir=
"sortDir"
entityName=
"ibizbook"
@
clickSort=
"(val) =>
{sortClick(val);}">
</app-sort-bar>
<row
class=
"data-view-container"
v-if=
"items.length > 0"
:gutter=
"20"
type=
"flex"
justify=
"start"
style=
"margin:0px;"
>
<a
v-for=
"(item,index) in items"
:key=
"index"
:href =
"item.starturl"
>
<i-col
style=
"min-height: 170px;margin-bottom: 10px;"
>
...
...
@@ -190,6 +172,15 @@ export default class Usr4Base extends Vue implements ControlInterface {
}
/**
* 代码表服务对象
*
* @type {CodeListService}
* @memberof Usr4Base
*/
public
codeListService
:
CodeListService
=
new
CodeListService
({
$store
:
this
.
$store
});
/**
* 获取多项数据
*
...
...
@@ -373,6 +364,18 @@ export default class Usr4Base extends Vue implements ControlInterface {
*/
public
sortField
:
string
=
''
;
/**
* 排序模型数据集
*
* @type {string}
* @memberof Usr4Base
*/
public
sortModel
:
any
[]
=
[
'author'
,
'press'
,
'ibizbookname'
,
]
/**
* 应用状态事件
*
...
...
app_Web/src/widgets/ibizbook/usr4-dataview/usr4-dataview.less
浏览文件 @
9ecefdab
...
...
@@ -78,9 +78,9 @@
}
}
.el-card{
background-color: #f
6f6f6
;
background-color: #f
ff
;
color: #666666;
box-shadow: 0 2px 12px 0 #
909399
;
box-shadow: 0 2px 12px 0 #
b1b3b8
;
}
.single-card-data{
height: 100%;
...
...
@@ -88,7 +88,11 @@
cursor: pointer;
border: 2px solid transparent;
.data-view-item{
display: flex;
margin-bottom: 36px;
.single-card-default {
display: flex;
flex-direction: column;
.ivu-tooltip{
.ivu-tooltip-rel{
width: 150px;
...
...
@@ -103,11 +107,15 @@
}
}
.single-card-img {
width: 150px;
height: calc(100% - 32px);
width: 50px;
height: 50px;
border-radius: 50%;
margin-right: 20px;
}
}
.data-view-item-action{
display: flex;
justify-content: space-around;
button{
margin: 0 3px;
cursor: pointer;
...
...
app_Web/src/widgets/ibizhardware/index-type-dataview/index-type-dataview-base.vue
浏览文件 @
9ecefdab
<
template
>
<div
class=
"app-data-view"
>
<div
class=
"bar-container"
>
<row
class=
"page-sort-bar"
:gutter=
"10"
type=
"flex"
justify=
"start"
style=
"margin:0px;"
>
<i-col
:class=
"getsortClass('ibizhardwarename')"
@
click
.
native=
"sortClick('ibizhardwarename')"
>
<span
class=
"sort-field-text"
>
{{
$t
(
'entities.ibizhardware.fields.ibizhardwarename'
)
}}
</span>
<span
class=
"caret-wrapper"
>
<Icon
type=
"md-arrow-dropup"
/>
<Icon
type=
"md-arrow-dropdown"
/>
</span>
</i-col>
</row>
</div>
<app-sort-bar
:sortModel=
"sortModel"
:sortField=
"sortField"
:sortDir=
"sortDir"
entityName=
"ibizhardware"
@
clickSort=
"(val) =>
{sortClick(val);}">
</app-sort-bar>
<row
class=
"data-view-container"
v-if=
"items.length > 0"
:gutter=
"20"
type=
"flex"
justify=
"start"
style=
"margin:0px;"
>
<a
v-for=
"(item,index) in items"
:key=
"index"
:href =
"item.starturl"
>
<i-col
style=
"min-height: 170px;margin-bottom: 10px;"
>
<el-card
shadow=
"always"
:class=
"[ item.isselected === true ? 'isselected' : false, 'single-card-data' ]"
@
click
.
native=
"handleClick(item)"
@
dblclick
.
native=
"handleDblClick(item)"
>
<div
class=
"data-view-item"
>
<img
v-if=
"item.srficon
path"
:src=
"item.srficonpath
"
class=
"single-card-img"
/>
<img
v-if=
"item.srficon
"
:src=
"item.srficon
"
class=
"single-card-img"
/>
<img
v-else
src=
"/assets/img/noimage.png"
class=
"single-card-img"
/>
<div
class=
"single-card-default"
>
<Tooltip
:content=
"item.srfmajortext"
>
{{
item
.
srfmajortext
}}
</Tooltip>
<span
v-if=
"item.srfdescription"
class=
"description"
>
{{
item
.
srfdescription
}}
</span>
</div>
</div>
<div
class=
"data-view-item-action"
>
...
...
@@ -183,6 +180,15 @@ export default class IndexTypeBase extends Vue implements ControlInterface {
}
/**
* 代码表服务对象
*
* @type {CodeListService}
* @memberof IndexTypeBase
*/
public
codeListService
:
CodeListService
=
new
CodeListService
({
$store
:
this
.
$store
});
/**
* 获取多项数据
*
...
...
@@ -352,6 +358,16 @@ export default class IndexTypeBase extends Vue implements ControlInterface {
*/
public
sortField
:
string
=
''
;
/**
* 排序模型数据集
*
* @type {string}
* @memberof IndexTypeBase
*/
public
sortModel
:
any
[]
=
[
'ibizhardwarename'
,
]
/**
* 应用状态事件
*
...
...
app_Web/src/widgets/ibizhardware/index-type-dataview/index-type-dataview.less
浏览文件 @
9ecefdab
...
...
@@ -78,9 +78,9 @@
}
}
.el-card{
background-color: #f
6f6f6
;
background-color: #f
ff
;
color: #666666;
box-shadow: 0 2px 12px 0 #
909399
;
box-shadow: 0 2px 12px 0 #
b1b3b8
;
}
.single-card-data{
height: 100%;
...
...
@@ -88,7 +88,11 @@
cursor: pointer;
border: 2px solid transparent;
.data-view-item{
display: flex;
margin-bottom: 36px;
.single-card-default {
display: flex;
flex-direction: column;
.ivu-tooltip{
.ivu-tooltip-rel{
width: 150px;
...
...
@@ -103,11 +107,15 @@
}
}
.single-card-img {
width: 150px;
height: calc(100% - 32px);
width: 50px;
height: 50px;
border-radius: 50%;
margin-right: 20px;
}
}
.data-view-item-action{
display: flex;
justify-content: space-around;
button{
margin: 0 3px;
cursor: pointer;
...
...
app_Web/src/widgets/ibizsample0017/form-type-dataview/form-type-dataview-base.vue
浏览文件 @
9ecefdab
<
template
>
<div
class=
"app-data-view"
>
<div
class=
"bar-container"
>
<row
class=
"page-sort-bar"
:gutter=
"10"
type=
"flex"
justify=
"start"
style=
"margin:0px;"
>
<i-col
:class=
"getsortClass('ibizsample0017name')"
@
click
.
native=
"sortClick('ibizsample0017name')"
>
<span
class=
"sort-field-text"
>
{{
$t
(
'entities.ibizsample0017.fields.ibizsample0017name'
)
}}
</span>
<span
class=
"caret-wrapper"
>
<Icon
type=
"md-arrow-dropup"
/>
<Icon
type=
"md-arrow-dropdown"
/>
</span>
</i-col>
</row>
</div>
<app-sort-bar
:sortModel=
"sortModel"
:sortField=
"sortField"
:sortDir=
"sortDir"
entityName=
"ibizsample0017"
@
clickSort=
"(val) =>
{sortClick(val);}">
</app-sort-bar>
<row
class=
"data-view-container"
v-if=
"items.length > 0"
:gutter=
"20"
type=
"flex"
justify=
"start"
style=
"margin:0px;"
>
<a
v-for=
"(item,index) in items"
:key=
"index"
:href =
"item.starturl"
>
<i-col
style=
"min-height: 170px;margin-bottom: 10px;"
>
<el-card
shadow=
"always"
:class=
"[ item.isselected === true ? 'isselected' : false, 'single-card-data' ]"
@
click
.
native=
"handleClick(item)"
@
dblclick
.
native=
"handleDblClick(item)"
>
<div
class=
"data-view-item"
>
<img
v-if=
"item.srficon
path"
:src=
"item.srficonpath
"
class=
"single-card-img"
/>
<img
v-if=
"item.srficon
"
:src=
"item.srficon
"
class=
"single-card-img"
/>
<img
v-else
src=
"/assets/img/noimage.png"
class=
"single-card-img"
/>
<div
class=
"single-card-default"
>
<Tooltip
:content=
"item.srfmajortext"
>
{{
item
.
srfmajortext
}}
</Tooltip>
<span
v-if=
"item.srfdescription"
class=
"description"
>
{{
item
.
srfdescription
}}
</span>
</div>
</div>
<div
class=
"data-view-item-action"
>
...
...
@@ -183,6 +180,15 @@ export default class FormTypeBase extends Vue implements ControlInterface {
}
/**
* 代码表服务对象
*
* @type {CodeListService}
* @memberof FormTypeBase
*/
public
codeListService
:
CodeListService
=
new
CodeListService
({
$store
:
this
.
$store
});
/**
* 获取多项数据
*
...
...
@@ -352,6 +358,16 @@ export default class FormTypeBase extends Vue implements ControlInterface {
*/
public
sortField
:
string
=
''
;
/**
* 排序模型数据集
*
* @type {string}
* @memberof FormTypeBase
*/
public
sortModel
:
any
[]
=
[
'ibizsample0017name'
,
]
/**
* 应用状态事件
*
...
...
app_Web/src/widgets/ibizsample0017/form-type-dataview/form-type-dataview.less
浏览文件 @
9ecefdab
...
...
@@ -78,9 +78,9 @@
}
}
.el-card{
background-color: #f
6f6f6
;
background-color: #f
ff
;
color: #666666;
box-shadow: 0 2px 12px 0 #
909399
;
box-shadow: 0 2px 12px 0 #
b1b3b8
;
}
.single-card-data{
height: 100%;
...
...
@@ -88,7 +88,11 @@
cursor: pointer;
border: 2px solid transparent;
.data-view-item{
display: flex;
margin-bottom: 36px;
.single-card-default {
display: flex;
flex-direction: column;
.ivu-tooltip{
.ivu-tooltip-rel{
width: 150px;
...
...
@@ -103,11 +107,15 @@
}
}
.single-card-img {
width: 150px;
height: calc(100% - 32px);
width: 50px;
height: 50px;
border-radius: 50%;
margin-right: 20px;
}
}
.data-view-item-action{
display: flex;
justify-content: space-around;
button{
margin: 0 3px;
cursor: pointer;
...
...
app_Web/src/widgets/ibizuniproduct/index-type-dataview/index-type-dataview-base.vue
浏览文件 @
9ecefdab
<
template
>
<div
class=
"app-data-view"
>
<div
class=
"bar-container"
>
<row
class=
"page-sort-bar"
:gutter=
"10"
type=
"flex"
justify=
"start"
style=
"margin:0px;"
>
<i-col
:class=
"getsortClass('ibizuniproductname')"
@
click
.
native=
"sortClick('ibizuniproductname')"
>
<span
class=
"sort-field-text"
>
{{
$t
(
'entities.ibizuniproduct.fields.ibizuniproductname'
)
}}
</span>
<span
class=
"caret-wrapper"
>
<Icon
type=
"md-arrow-dropup"
/>
<Icon
type=
"md-arrow-dropdown"
/>
</span>
</i-col>
</row>
</div>
<app-sort-bar
:sortModel=
"sortModel"
:sortField=
"sortField"
:sortDir=
"sortDir"
entityName=
"ibizuniproduct"
@
clickSort=
"(val) =>
{sortClick(val);}">
</app-sort-bar>
<row
class=
"data-view-container"
v-if=
"items.length > 0"
:gutter=
"20"
type=
"flex"
justify=
"start"
style=
"margin:0px;"
>
<a
v-for=
"(item,index) in items"
:key=
"index"
:href =
"item.starturl"
>
<i-col
style=
"min-height: 170px;margin-bottom: 10px;"
>
<el-card
shadow=
"always"
:class=
"[ item.isselected === true ? 'isselected' : false, 'single-card-data' ]"
@
click
.
native=
"handleClick(item)"
@
dblclick
.
native=
"handleDblClick(item)"
>
<div
class=
"data-view-item"
>
<img
v-if=
"item.srficon
path"
:src=
"item.srficonpath
"
class=
"single-card-img"
/>
<img
v-if=
"item.srficon
"
:src=
"item.srficon
"
class=
"single-card-img"
/>
<img
v-else
src=
"/assets/img/noimage.png"
class=
"single-card-img"
/>
<div
class=
"single-card-default"
>
<Tooltip
:content=
"item.srfmajortext"
>
{{
item
.
srfmajortext
}}
</Tooltip>
<span
v-if=
"item.srfdescription"
class=
"description"
>
{{
item
.
srfdescription
}}
</span>
</div>
</div>
<div
class=
"data-view-item-action"
>
...
...
@@ -183,6 +180,15 @@ export default class IndexTypeBase extends Vue implements ControlInterface {
}
/**
* 代码表服务对象
*
* @type {CodeListService}
* @memberof IndexTypeBase
*/
public
codeListService
:
CodeListService
=
new
CodeListService
({
$store
:
this
.
$store
});
/**
* 获取多项数据
*
...
...
@@ -352,6 +358,16 @@ export default class IndexTypeBase extends Vue implements ControlInterface {
*/
public
sortField
:
string
=
''
;
/**
* 排序模型数据集
*
* @type {string}
* @memberof IndexTypeBase
*/
public
sortModel
:
any
[]
=
[
'ibizuniproductname'
,
]
/**
* 应用状态事件
*
...
...
app_Web/src/widgets/ibizuniproduct/index-type-dataview/index-type-dataview.less
浏览文件 @
9ecefdab
...
...
@@ -78,9 +78,9 @@
}
}
.el-card{
background-color: #f
6f6f6
;
background-color: #f
ff
;
color: #666666;
box-shadow: 0 2px 12px 0 #
909399
;
box-shadow: 0 2px 12px 0 #
b1b3b8
;
}
.single-card-data{
height: 100%;
...
...
@@ -88,7 +88,11 @@
cursor: pointer;
border: 2px solid transparent;
.data-view-item{
display: flex;
margin-bottom: 36px;
.single-card-default {
display: flex;
flex-direction: column;
.ivu-tooltip{
.ivu-tooltip-rel{
width: 150px;
...
...
@@ -103,11 +107,15 @@
}
}
.single-card-img {
width: 150px;
height: calc(100% - 32px);
width: 50px;
height: 50px;
border-radius: 50%;
margin-right: 20px;
}
}
.data-view-item-action{
display: flex;
justify-content: space-around;
button{
margin: 0 3px;
cursor: pointer;
...
...
demo-core/src/main/java/cn/ibizlab/core/sample/mapping/IBIZBOOKDataImport.java
浏览文件 @
9ecefdab
...
...
@@ -8,16 +8,16 @@ import java.util.List;
public
interface
IBIZBOOKDataImport
{
@Mappings
({
@Mapping
(
target
=
"ibizbookid"
,
source
=
"ibizbookid"
),
@Mapping
(
target
=
"createman"
,
source
=
"createman"
),
@Mapping
(
target
=
"type"
,
source
=
"type"
),
@Mapping
(
target
=
"price"
,
source
=
"price"
),
@Mapping
(
target
=
"createdate"
,
source
=
"createdate"
),
@Mapping
(
target
=
"booknumber"
,
source
=
"booknumber"
),
@Mapping
(
target
=
"createman"
,
source
=
"createman"
),
@Mapping
(
target
=
"ibizbookname"
,
source
=
"ibizbookname"
),
@Mapping
(
target
=
"press"
,
source
=
"press"
),
@Mapping
(
target
=
"updateman"
,
source
=
"updateman"
),
@Mapping
(
target
=
"author"
,
source
=
"author"
),
@Mapping
(
target
=
"price"
,
source
=
"price"
),
@Mapping
(
target
=
"updatedate"
,
source
=
"updatedate"
),
@Mapping
(
target
=
"booknumber"
,
source
=
"booknumber"
),
@Mapping
(
target
=
"type"
,
source
=
"type"
),
@Mapping
(
target
=
"press"
,
source
=
"press"
),
@Mapping
(
target
=
"author"
,
source
=
"author"
),
})
@BeanMapping
(
ignoreByDefault
=
true
)
IBIZBOOK
toDomain
(
IBIZBOOK
entity
);
...
...
demo-core/src/main/java/cn/ibizlab/core/sample/mapping/IBIZOrderImport.java
浏览文件 @
9ecefdab
...
...
@@ -8,10 +8,10 @@ import java.util.List;
public
interface
IBIZOrderImport
{
@Mappings
({
@Mapping
(
target
=
"ibizorderid"
,
source
=
"ibizorderid"
),
@Mapping
(
target
=
"orderuid"
,
source
=
"orderuid"
),
@Mapping
(
target
=
"ibizordername"
,
source
=
"ibizordername"
),
@Mapping
(
target
=
"ordertype"
,
source
=
"ordertype"
),
@Mapping
(
target
=
"ordertime"
,
source
=
"ordertime"
),
@Mapping
(
target
=
"orderuid"
,
source
=
"orderuid"
),
@Mapping
(
target
=
"ibizordername"
,
source
=
"ibizordername"
),
})
@BeanMapping
(
ignoreByDefault
=
true
)
IBIZOrder
toDomain
(
IBIZOrder
entity
);
...
...
demo-core/src/main/resources/liquibase/h2_table.xml
浏览文件 @
9ecefdab
...
...
@@ -28,7 +28,7 @@
<!--输出实体[IBIZBOOK]数据结构 -->
<changeSet
author=
"a_LAB01_df847bdfd"
id=
"tab-ibizbook-3
27
-2"
>
<changeSet
author=
"a_LAB01_df847bdfd"
id=
"tab-ibizbook-3
33
-2"
>
<createTable
tableName=
"T_IBIZBOOK"
>
<column
name=
"CREATEMAN"
remarks=
""
type=
"VARCHAR(60)"
>
</column>
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录