Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
iBiz人力资源
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz企业套件
iBiz人力资源
提交
2b27c1a2
提交
2b27c1a2
编写于
4年前
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
jackwang 部署微服务应用
上级
2efe24c0
master
无相关合并请求
变更
22
展开全部
隐藏空白字符变更
内嵌
并排
正在显示
22 个修改的文件
包含
1650 行增加
和
12 行删除
+1650
-12
hremployee_en_US.ts
...src/locale/lanres/entities/hremployee/hremployee_en_US.ts
+18
-0
hremployee_zh_CN.ts
...src/locale/lanres/entities/hremployee/hremployee_zh_CN.ts
+18
-0
hremployee-grid-view-base.tsx
...source/hremployee-grid-view/hremployee-grid-view-base.tsx
+1
-1
hremployee-list-exp-view-base.tsx
...remployee-list-exp-view/hremployee-list-exp-view-base.tsx
+679
-0
hremployee-list-exp-view.html
...ce/hremployee-list-exp-view/hremployee-list-exp-view.html
+22
-0
hremployee-list-exp-view.vue
...rce/hremployee-list-exp-view/hremployee-list-exp-view.vue
+22
-0
page-register.ts
app_PIM/src/pages/ungroup/pim/page-register.ts
+1
-0
router.ts
app_PIM/src/pages/ungroup/pim/router.ts
+14
-0
state.ts
app_PIM/src/store/modules/view-action/state.ts
+10
-0
interceptor.ts
app_PIM/src/utils/interceptor/interceptor.ts
+7
-8
list-001-list-base.tsx
...c/widgets/hremployee/list-001-list/list-001-list-base.tsx
+76
-0
list-001-list-model.ts
...c/widgets/hremployee/list-001-list/list-001-list-model.ts
+67
-0
list-001-list-service.ts
...widgets/hremployee/list-001-list/list-001-list-service.ts
+163
-0
list-001-list.html
...M/src/widgets/hremployee/list-001-list/list-001-list.html
+10
-0
list-001-list.vue
...IM/src/widgets/hremployee/list-001-list/list-001-list.vue
+22
-0
list-exp-viewlistexpbar-listexpbar-base.tsx
...ar-listexpbar/list-exp-viewlistexpbar-listexpbar-base.tsx
+386
-0
list-exp-viewlistexpbar-listexpbar-model.ts
...ar-listexpbar/list-exp-viewlistexpbar-listexpbar-model.ts
+21
-0
list-exp-viewlistexpbar-listexpbar-service.ts
...-listexpbar/list-exp-viewlistexpbar-listexpbar-service.ts
+44
-0
list-exp-viewlistexpbar-listexpbar.html
...expbar-listexpbar/list-exp-viewlistexpbar-listexpbar.html
+39
-0
list-exp-viewlistexpbar-listexpbar.less
...expbar-listexpbar/list-exp-viewlistexpbar-listexpbar.less
+3
-0
list-exp-viewlistexpbar-listexpbar.vue
...texpbar-listexpbar/list-exp-viewlistexpbar-listexpbar.vue
+24
-0
h2_table.xml
humanresource-core/src/main/resources/liquibase/h2_table.xml
+3
-3
未找到文件。
app_PIM/src/locale/lanres/entities/hremployee/hremployee_en_US.ts
浏览文件 @
2b27c1a2
...
...
@@ -212,4 +212,22 @@ export default {
tip
:
"Help"
,
},
},
listexpviewtoolbar_toolbar
:
{
tbitem3
:
{
caption
:
"New"
,
tip
:
"New"
,
},
tbitem4
:
{
caption
:
"Edit"
,
tip
:
"Edit {0}"
,
},
tbitem7
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem8
:
{
caption
:
"Remove"
,
tip
:
"Remove {0}"
,
},
},
};
\ No newline at end of file
This diff is collapsed.
Click to expand it.
app_PIM/src/locale/lanres/entities/hremployee/hremployee_zh_CN.ts
浏览文件 @
2b27c1a2
...
...
@@ -211,4 +211,22 @@ export default {
tip
:
"帮助"
,
},
},
listexpviewtoolbar_toolbar
:
{
tbitem3
:
{
caption
:
"新建"
,
tip
:
"新建"
,
},
tbitem4
:
{
caption
:
"编辑"
,
tip
:
"编辑"
,
},
tbitem7
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem8
:
{
caption
:
"删除"
,
tip
:
"删除"
,
},
},
};
\ No newline at end of file
This diff is collapsed.
Click to expand it.
app_PIM/src/pages/human-resource/hremployee-grid-view/hremployee-grid-view-base.tsx
浏览文件 @
2b27c1a2
...
...
@@ -598,7 +598,7 @@ export class HREmployeeGridViewBase extends GridViewBase {
const
deResParameters
:
any
[]
=
[];
const
parameters
:
any
[]
=
[
{
pathName
:
'hremployees'
,
parameterName
:
'hremployee'
},
{
pathName
:
'
editview'
,
parameterName
:
'edit
view'
},
{
pathName
:
'
listexpview'
,
parameterName
:
'listexp
view'
},
];
const
_this
:
any
=
this
;
const
openIndexViewTab
=
(
data
:
any
)
=>
{
...
...
This diff is collapsed.
Click to expand it.
app_PIM/src/pages/human-resource/hremployee-list-exp-view/hremployee-list-exp-view-base.tsx
0 → 100644
浏览文件 @
2b27c1a2
此差异已折叠。
点击以展开。
app_PIM/src/pages/human-resource/hremployee-list-exp-view/hremployee-list-exp-view.html
0 → 100644
浏览文件 @
2b27c1a2
<studio-view-style2
viewName=
"hremployeelistexpview"
viewTitle=
"员工信息"
class=
'delistexpview hremployee-list-exp-view'
>
<template
slot=
'title'
>
<span
class=
'caption-info'
>
{{$t(model.srfTitle)}}
</span>
</template>
<template
slot=
"toolbar"
>
<view-toolbar
mode=
"STYLE2"
:model=
"toolBarModels"
@
item-click=
"toolbar_click.apply(_self, arguments)"
/>
</template>
<view
_listexpbar
:viewState=
"viewState"
:viewparams=
"viewparams"
:context=
"context"
:showBusyIndicator=
"true"
:viewUID=
"viewUID"
:newdata=
"newdata"
:opendata=
"opendata"
name=
"listexpbar"
ref=
'listexpbar'
@
selectionchange=
"listexpbar_selectionchange($event)"
@
activated=
"listexpbar_activated($event)"
@
load=
"listexpbar_load($event)"
@
closeview=
"closeView($event)"
>
</view
_listexpbar
>
</studio-view-style2>
\ No newline at end of file
This diff is collapsed.
Click to expand it.
app_PIM/src/pages/human-resource/hremployee-list-exp-view/hremployee-list-exp-view.vue
0 → 100644
浏览文件 @
2b27c1a2
<
template
src=
"./hremployee-list-exp-view.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { HREmployeeListExpViewBase } from './hremployee-list-exp-view-base';
import view_listexpbar from '@widgets/hremployee/list-exp-viewlistexpbar-listexpbar/list-exp-viewlistexpbar-listexpbar.vue';
/**
* 员工信息视图
*
* @export
* @class HREmployeeListExpView
* @extends {HREmployeeListExpViewBase}
*/
@Component({
components: {
view_listexpbar,
}
})
@VueLifeCycleProcessing()
export default class HREmployeeListExpView extends HREmployeeListExpViewBase { }
</script>
This diff is collapsed.
Click to expand it.
app_PIM/src/pages/ungroup/pim/page-register.ts
浏览文件 @
2b27c1a2
...
...
@@ -39,6 +39,7 @@ export const PageComponents = {
Vue
.
component
(
'hrlegal-v-001'
,
()
=>
import
(
'@pages/base/hrlegal-v-001/hrlegal-v-001.vue'
));
Vue
.
component
(
'hrpost-pickup-grid-view'
,
()
=>
import
(
'@pages/human-resource/hrpost-pickup-grid-view/hrpost-pickup-grid-view.vue'
));
Vue
.
component
(
'hrduty-skill-grid-view'
,
()
=>
import
(
'@pages/human-resource/hrduty-skill-grid-view/hrduty-skill-grid-view.vue'
));
Vue
.
component
(
'hremployee-list-exp-view'
,
()
=>
import
(
'@pages/human-resource/hremployee-list-exp-view/hremployee-list-exp-view.vue'
));
Vue
.
component
(
'hrduty-edu-v-001'
,
()
=>
import
(
'@pages/human-resource/hrduty-edu-v-001/hrduty-edu-v-001.vue'
));
Vue
.
component
(
'hrpost-dashboard-view'
,
()
=>
import
(
'@pages/human-resource/hrpost-dashboard-view/hrpost-dashboard-view.vue'
));
Vue
.
component
(
'hrorg-address-edit-view'
,
()
=>
import
(
'@pages/base/hrorg-address-edit-view/hrorg-address-edit-view.vue'
));
...
...
This diff is collapsed.
Click to expand it.
app_PIM/src/pages/ungroup/pim/router.ts
浏览文件 @
2b27c1a2
...
...
@@ -859,6 +859,20 @@ const router = new Router({
},
component
:
()
=>
import
(
'@pages/human-resource/hrduty-skill-grid-view/hrduty-skill-grid-view.vue'
),
},
{
path
:
'hremployees/:hremployee?/listexpview/:listexpview?'
,
meta
:
{
caption
:
'entities.hremployee.views.listexpview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'pim'
,
parameterName
:
'pim'
},
{
pathName
:
'hremployees'
,
parameterName
:
'hremployee'
},
{
pathName
:
'listexpview'
,
parameterName
:
'listexpview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/human-resource/hremployee-list-exp-view/hremployee-list-exp-view.vue'
),
},
{
path
:
'hrduties/:hrduty?/hrdutyedus/:hrdutyedu?/v_001/:v_001?'
,
meta
:
{
...
...
This diff is collapsed.
Click to expand it.
app_PIM/src/store/modules/view-action/state.ts
浏览文件 @
2b27c1a2
...
...
@@ -465,6 +465,15 @@ export const viewstate: any = {
refviews
:
[
],
},
{
viewtag
:
'92826c47e3d2b905845fe1ad5c30be62'
,
viewmodule
:
'HumanResource'
,
viewname
:
'HREmployeeListExpView'
,
viewaction
:
''
,
viewdatachange
:
false
,
refviews
:
[
],
},
{
viewtag
:
'9420eeffff765c2a6e4ac27dfae7fb2d'
,
viewmodule
:
'Base'
,
...
...
@@ -484,6 +493,7 @@ export const viewstate: any = {
viewdatachange
:
false
,
refviews
:
[
'b932c0eb66409c638c29ee27ba4fda37'
,
'92826c47e3d2b905845fe1ad5c30be62'
,
],
},
{
...
...
This diff is collapsed.
Click to expand it.
app_PIM/src/utils/interceptor/interceptor.ts
浏览文件 @
2b27c1a2
...
...
@@ -145,27 +145,26 @@ export class Interceptors {
if
(
localStorage
.
getItem
(
'token'
)){
localStorage
.
removeItem
(
'token'
);
}
le
t
leftTime
=
new
Date
();
cons
t
leftTime
=
new
Date
();
leftTime
.
setTime
(
leftTime
.
getSeconds
()
-
1
);
document
.
cookie
=
"ibzuaa-token=;expires="
+
leftTime
.
toUTCString
();
if
(
data
.
loginurl
&&
!
Object
.
is
(
data
.
loginurl
,
''
)
&&
data
.
originurl
&&
!
Object
.
is
(
data
.
originurl
,
''
))
{
let
_url
=
encodeURIComponent
(
encodeURIComponent
(
window
.
location
.
href
));
let
login
u
rl
:
string
=
data
.
loginurl
;
const
origin
u
rl
:
string
=
data
.
originurl
;
let
login
U
rl
:
string
=
data
.
loginurl
;
const
origin
U
rl
:
string
=
data
.
originurl
;
if
(
origin
u
rl
.
indexOf
(
'?'
)
===
-
1
)
{
if
(
origin
U
rl
.
indexOf
(
'?'
)
===
-
1
)
{
_url
=
`
${
encodeURIComponent
(
'?RU='
)}${
_url
}
`
;
}
else
{
_url
=
`
${
encodeURIComponent
(
'&RU='
)}${
_url
}
`
;
}
loginurl
=
`
${
loginurl
}${
_url
}
`
;
window
.
location
.
href
=
loginurl
;
loginUrl
=
`
${
loginUrl
}${
_url
}
`
;
window
.
location
.
href
=
loginUrl
;
}
else
{
if
(
Object
.
is
(
this
.
router
.
currentRoute
.
name
,
'login'
))
{
return
;
}
this
.
router
.
push
({
name
:
'login'
,
query
:
{
redirect
:
this
.
router
.
currentRoute
.
fullPath
}
});
this
.
router
.
push
({
name
:
'login'
,
query
:
{
redirect
:
encodeURIComponent
(
location
.
href
)
}
});
}
}
...
...
This diff is collapsed.
Click to expand it.
app_PIM/src/widgets/hremployee/list-001-list/list-001-list-base.tsx
0 → 100644
浏览文件 @
2b27c1a2
import
{
Prop
,
Provide
,
Emit
,
Model
}
from
'vue-property-decorator'
;
import
{
Subject
,
Subscription
}
from
'rxjs'
;
import
{
Watch
,
ListControlBase
}
from
'@/studio-core'
;
import
HREmployeeService
from
'@/service/hremployee/hremployee-service'
;
import
List_001Service
from
'./list-001-list-service'
;
import
HREmployeeUIService
from
'@/uiservice/hremployee/hremployee-ui-service'
;
/**
* listexpbar_list部件基类
*
* @export
* @class ListControlBase
* @extends {List_001ListBase}
*/
export
class
List_001ListBase
extends
ListControlBase
{
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof List_001ListBase
*/
protected
controlType
:
string
=
'LIST'
;
/**
* 建构部件服务对象
*
* @type {List_001Service}
* @memberof List_001ListBase
*/
public
service
:
List_001Service
=
new
List_001Service
({
$store
:
this
.
$store
});
/**
* 实体服务对象
*
* @type {HREmployeeService}
* @memberof List_001ListBase
*/
public
appEntityService
:
HREmployeeService
=
new
HREmployeeService
({
$store
:
this
.
$store
});
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof List_001ListBase
*/
protected
appDeName
:
string
=
'hremployee'
;
/**
* 应用实体中文名称
*
* @protected
* @type {string}
* @memberof List_001ListBase
*/
protected
appDeLogicName
:
string
=
'员工'
;
/**
* 分页条数
*
* @type {number}
* @memberof List_001ListBase
*/
public
limit
:
number
=
1000
;
/**
* 排序方向
*
* @type {string}
* @memberof List_001ListBase
*/
public
minorSortDir
:
string
=
''
;
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
app_PIM/src/widgets/hremployee/list-001-list/list-001-list-model.ts
0 → 100644
浏览文件 @
2b27c1a2
/**
* List_001 部件模型
*
* @export
* @class List_001Model
*/
export
default
class
List_001Model
{
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof List_001Listexpbar_listMode
*/
public
getDataItems
():
any
[]
{
return
[
{
name
:
'srfkey'
,
prop
:
'employeeid'
,
dataType
:
'GUID'
,
},
{
name
:
'srfmajortext'
,
prop
:
'employeename'
,
dataType
:
'TEXT'
,
},
{
name
:
'organizationid'
,
prop
:
'organizationid'
,
dataType
:
'PICKUP'
,
},
{
name
:
'empstate'
,
prop
:
'empstate'
,
dataType
:
'PICKUP'
,
},
{
name
:
'hremployee'
,
prop
:
'employeeid'
,
dataType
:
'FONTKEY'
,
},
{
name
:
'size'
,
prop
:
'size'
},
{
name
:
'query'
,
prop
:
'query'
},
{
name
:
'sort'
,
prop
:
'sort'
},
{
name
:
'page'
,
prop
:
'page'
},
// 前端新增修改标识,新增为"0",修改为"1"或未设值
{
name
:
'srffrontuf'
,
prop
:
'srffrontuf'
,
dataType
:
'TEXT'
,
},
]
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
app_PIM/src/widgets/hremployee/list-001-list/list-001-list-service.ts
0 → 100644
浏览文件 @
2b27c1a2
import
{
Http
,
Util
,
Errorlog
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
import
HREmployeeService
from
'@/service/hremployee/hremployee-service'
;
import
List_001Model
from
'./list-001-list-model'
;
/**
* List_001 部件服务对象
*
* @export
* @class List_001Service
*/
export
default
class
List_001Service
extends
ControlService
{
/**
* 员工服务对象
*
* @type {HREmployeeService}
* @memberof List_001Service
*/
public
appEntityService
:
HREmployeeService
=
new
HREmployeeService
({
$store
:
this
.
getStore
()
});
/**
* 设置从数据模式
*
* @type {boolean}
* @memberof List_001Service
*/
public
setTempMode
(){
this
.
isTempMode
=
false
;
}
/**
* Creates an instance of List_001Service.
*
* @param {*} [opts={}]
* @memberof List_001Service
*/
constructor
(
opts
:
any
=
{})
{
super
(
opts
);
this
.
model
=
new
List_001Model
();
}
/**
* 查询数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof List_001Service
*/
@
Errorlog
public
search
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
,
true
);
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
const
_appEntityService
:
any
=
this
.
appEntityService
;
let
result
:
Promise
<
any
>
;
if
(
_appEntityService
[
action
]
&&
_appEntityService
[
action
]
instanceof
Function
)
{
result
=
_appEntityService
[
action
](
Context
,
Data
,
isloading
);
}
else
{
result
=
_appEntityService
.
FetchDefault
(
Context
,
Data
,
isloading
);
}
result
.
then
(
async
(
response
)
=>
{
await
this
.
handleResponse
(
action
,
response
);
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 删除数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof List_001Service
*/
@
Errorlog
public
delete
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
,
true
);
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
const
_appEntityService
:
any
=
this
.
appEntityService
;
let
result
:
Promise
<
any
>
;
if
(
_appEntityService
[
action
]
&&
_appEntityService
[
action
]
instanceof
Function
)
{
result
=
_appEntityService
[
action
](
Context
,
Data
,
isloading
);
}
else
{
result
=
_appEntityService
.
remove
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
this
.
handleResponse
(
action
,
response
);
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 添加数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof List_001Service
*/
@
Errorlog
public
add
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
,
true
);
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
const
_appEntityService
:
any
=
this
.
appEntityService
;
let
result
:
Promise
<
any
>
;
if
(
_appEntityService
[
action
]
&&
_appEntityService
[
action
]
instanceof
Function
)
{
result
=
_appEntityService
[
action
](
Context
,
Data
,
isloading
);
}
else
{
result
=
_appEntityService
.
Create
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
this
.
handleResponse
(
action
,
response
);
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 修改数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof List_001Service
*/
@
Errorlog
public
update
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
,
true
);
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
const
_appEntityService
:
any
=
this
.
appEntityService
;
let
result
:
Promise
<
any
>
;
if
(
_appEntityService
[
action
]
&&
_appEntityService
[
action
]
instanceof
Function
)
{
result
=
_appEntityService
[
action
](
Context
,
Data
,
isloading
);
}
else
{
result
=
_appEntityService
.
Update
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
this
.
handleResponse
(
action
,
response
);
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
app_PIM/src/widgets/hremployee/list-001-list/list-001-list.html
0 → 100644
浏览文件 @
2b27c1a2
<div
:class=
"['app-list', this.items.length > 0 ? '' : 'app-list-empty' ]"
>
<div
v-if=
"items.length > 0"
style=
"height:100%;"
>
<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)"
>
{{item.srfmajortext}}
</div>
</div>
<div
v-else
>
{{ $t('app.commonWords.noData') }}
</div>
</div>
\ No newline at end of file
This diff is collapsed.
Click to expand it.
app_PIM/src/widgets/hremployee/list-001-list/list-001-list.vue
0 → 100644
浏览文件 @
2b27c1a2
<
template
src=
"./list-001-list.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { List_001ListBase } from './list-001-list-base';
/**
* listexpbar_list部件
*
* @export
* @class List_001List
* @extends {List_001ListBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class List_001List extends List_001ListBase { }
</script>
This diff is collapsed.
Click to expand it.
app_PIM/src/widgets/hremployee/list-exp-viewlistexpbar-listexpbar/list-exp-viewlistexpbar-listexpbar-base.tsx
0 → 100644
浏览文件 @
2b27c1a2
import
{
Prop
,
Provide
,
Emit
,
Model
}
from
'vue-property-decorator'
;
import
{
Subject
,
Subscription
}
from
'rxjs'
;
import
{
Watch
,
MainControlBase
}
from
'@/studio-core'
;
import
HREmployeeService
from
'@/service/hremployee/hremployee-service'
;
import
ListExpViewlistexpbarService
from
'./list-exp-viewlistexpbar-listexpbar-service'
;
import
HREmployeeUIService
from
'@/uiservice/hremployee/hremployee-ui-service'
;
/**
* listexpbar部件基类
*
* @export
* @class MainControlBase
* @extends {ListExpViewlistexpbarListexpbarBase}
*/
export
class
ListExpViewlistexpbarListexpbarBase
extends
MainControlBase
{
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof ListExpViewlistexpbarListexpbarBase
*/
protected
controlType
:
string
=
'LISTEXPBAR'
;
/**
* 建构部件服务对象
*
* @type {ListExpViewlistexpbarService}
* @memberof ListExpViewlistexpbarListexpbarBase
*/
public
service
:
ListExpViewlistexpbarService
=
new
ListExpViewlistexpbarService
({
$store
:
this
.
$store
});
/**
* 实体服务对象
*
* @type {HREmployeeService}
* @memberof ListExpViewlistexpbarListexpbarBase
*/
public
appEntityService
:
HREmployeeService
=
new
HREmployeeService
({
$store
:
this
.
$store
});
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof ListExpViewlistexpbarListexpbarBase
*/
protected
appDeName
:
string
=
'hremployee'
;
/**
* 应用实体中文名称
*
* @protected
* @type {string}
* @memberof ListExpViewlistexpbarListexpbarBase
*/
protected
appDeLogicName
:
string
=
'员工'
;
/**
* listexpbar_list 部件 selectionchange 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof ListExpViewlistexpbarListexpbarBase
*/
public
listexpbar_list_selectionchange
(
$event
:
any
,
$event2
?:
any
)
{
this
.
listexpbar_selectionchange
(
$event
,
'listexpbar_list'
,
$event2
);
}
/**
* listexpbar_list 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof ListExpViewlistexpbarListexpbarBase
*/
public
listexpbar_list_load
(
$event
:
any
,
$event2
?:
any
)
{
this
.
listexpbar_load
(
$event
,
'listexpbar_list'
,
$event2
);
}
/**
* 打开新建数据视图
*
* @type {any}
* @memberof ListExpViewlistexpbarBase
*/
@
Prop
()
public
newdata
:
any
;
/**
* 打开编辑数据视图
*
* @type {any}
* @memberof ListExpViewlistexpbarBase
*/
@
Prop
()
public
opendata
:
any
;
/**
* 视图唯一标识
*
* @type {boolean}
* @memberof ListExpViewlistexpbarBase
*/
@
Prop
()
public
viewUID
!
:
string
;
/**
* 是否单选
*
* @public
* @type {(boolean)}
* @memberof ListExpViewlistexpbarBase
*/
public
isSingleSelect
:
boolean
=
true
;
/**
* 呈现模式,可选值:horizontal或者vertical
*
* @public
* @type {(string)}
* @memberof ListExpViewlistexpbarBase
*/
public
showMode
:
string
=
"horizontal"
;
/**
* 控件宽度
*
* @type {number}
* @memberof ListExpViewlistexpbarBase
*/
public
ctrlWidth
:
number
=
0
;
/**
* 控件高度
*
* @type {number}
* @memberof ListExpViewlistexpbarBase
*/
public
ctrlHeight
:
number
=
0
;
/**
* 搜素值
*
* @public
* @type {(string)}
* @memberof ListExpViewlistexpbarBase
*/
public
searchText
:
string
=
""
;
/**
* 分割宽度
*
* @type {number}
* @memberof ListExpViewlistexpbarBase
*/
public
split
:
number
=
0.2
;
/**
* 导航视图名称
*
* @type {string}
* @memberof ListExpViewlistexpbarBase
*/
public
navViewName
:
string
=
""
;
/**
* 导航视图参数
*
* @type {string}
* @memberof ListExpViewlistexpbarBase
*/
public
navViewParam
:
string
=
'{}'
;
/**
* 导航过滤项
*
* @type {string}
* @memberof ListExpViewlistexpbarBase
*/
public
navFilter
:
string
=
""
;
/**
* 导航关系
*
* @type {string}
* @memberof ListExpViewlistexpbarBase
*/
public
navPSDer
:
string
=
""
;
/**
* 导航上下文参数
*
* @type {*}
* @memberof ListExpViewlistexpbarBase
*/
public
navigateContext
:
any
=
null
;
/**
* 导航视图参数
*
* @type {*}
* @memberof ListExpViewlistexpbarBase
*/
public
navigateParams
:
any
=
null
;
/**
* 显示处理提示
*
* @type {boolean}
* @memberof ListExpViewlistexpbarBase
*/
@
Prop
({
default
:
true
})
public
showBusyIndicator
!
:
boolean
;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof ListExpViewlistexpbarBase
*/
public
getDatas
():
any
[]
{
return
[];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof ListExpViewlistexpbarBase
*/
public
getData
():
any
{
return
null
;
}
/**
* 选中数据
*
* @type {*}
* @memberof ListExpViewlistexpbarBase
*/
public
selection
:
any
=
{};
/**
* split值变化事件
*
* @memberof ListExpViewlistexpbarBase
*/
public
onSplitChange
()
{
if
(
this
.
split
){
this
.
$store
.
commit
(
"setViewSplit"
,{
viewUID
:
this
.
viewUID
,
viewSplit
:
this
.
split
});
}
}
/**
* Vue声明周期(组件初始化完毕)
*
* @memberof ListExpViewlistexpbarBase
*/
public
created
()
{
this
.
afterCreated
();
}
/**
* 执行created后的逻辑
*
* @memberof ListExpViewlistexpbarBase
*/
public
afterCreated
(){
if
(
this
.
viewState
)
{
this
.
viewStateEvent
=
this
.
viewState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
if
(
!
Object
.
is
(
tag
,
this
.
name
))
{
return
;
}
this
.
viewState
.
next
({
tag
:
'listexpbar_list'
,
action
:
action
,
data
:
data
});
});
}
}
/**
* 执行mounted后的逻辑
*
* @memberof ListExpViewlistexpbarBase
*/
public
afterMounted
(){
if
(
this
.
$store
.
getters
.
getViewSplit
(
this
.
viewUID
)){
this
.
split
=
this
.
$store
.
getters
.
getViewSplit
(
this
.
viewUID
);
}
else
{
let
containerWidth
:
number
=
(
document
.
getElementById
(
"listexpviewlistexpbar"
)
as
any
).
offsetWidth
;
let
containerHeight
:
number
=
(
document
.
getElementById
(
"listexpviewlistexpbar"
)
as
any
).
offsetHeight
;
if
(
Object
.
is
(
this
.
showMode
,
'horizontal'
)){
if
(
this
.
ctrlWidth
){
this
.
split
=
this
.
ctrlWidth
/
containerWidth
;
}
}
else
{
if
(
this
.
ctrlHeight
){
this
.
split
=
this
.
ctrlHeight
/
containerHeight
;
}
}
this
.
$store
.
commit
(
"setViewSplit"
,{
viewUID
:
this
.
viewUID
,
viewSplit
:
this
.
split
});
}
}
/**
* Vue声明周期(组件渲染完毕)
*
* @memberof ListExpViewlistexpbarBase
*/
public
mounted
()
{
this
.
afterMounted
();
}
/**
* vue 生命周期
*
* @memberof ListExpViewlistexpbarBase
*/
public
destroyed
()
{
this
.
afterDestroy
();
}
/**
* 执行destroyed后的逻辑
*
* @memberof ListExpViewlistexpbarBase
*/
public
afterDestroy
()
{
if
(
this
.
viewStateEvent
)
{
this
.
viewStateEvent
.
unsubscribe
();
}
}
/**
* listexpbar的选中数据事件
*
* @memberof ListExpViewlistexpbarBase
*/
public
listexpbar_selectionchange
(
args
:
any
[],
tag
?:
string
,
$event2
?:
any
):
void
{
let
tempContext
:
any
=
{};
let
tempViewParam
:
any
=
{};
if
(
args
.
length
===
0
)
{
return
;
}
const
arg
:
any
=
args
[
0
];
if
(
this
.
context
){
Object
.
assign
(
tempContext
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)));
}
Object
.
assign
(
tempContext
,{
'hremployee'
:
arg
[
'hremployee'
]});
Object
.
assign
(
tempContext
,{
srfparentdename
:
'HREmployee'
,
srfparentkey
:
arg
[
'hremployee'
]});
if
(
this
.
navFilter
&&
!
Object
.
is
(
this
.
navFilter
,
""
)){
Object
.
assign
(
tempViewParam
,{[
this
.
navFilter
]:
arg
[
'hremployee'
]});
}
if
(
this
.
navPSDer
&&
!
Object
.
is
(
this
.
navPSDer
,
""
)){
Object
.
assign
(
tempViewParam
,{[
this
.
navPSDer
]:
arg
[
'hremployee'
]});
}
if
(
this
.
navigateContext
&&
Object
.
keys
(
this
.
navigateContext
).
length
>
0
){
let
_context
:
any
=
this
.
$util
.
computedNavData
(
arg
,
tempContext
,
tempViewParam
,
this
.
navigateContext
);
Object
.
assign
(
tempContext
,
_context
);
}
if
(
this
.
navigateParams
&&
Object
.
keys
(
this
.
navigateParams
).
length
>
0
){
let
_params
:
any
=
this
.
$util
.
computedNavData
(
arg
,
tempContext
,
tempViewParam
,
this
.
navigateParams
);
Object
.
assign
(
tempViewParam
,
_params
);
}
this
.
selection
=
{};
Object
.
assign
(
this
.
selection
,
{
view
:
{
viewname
:
this
.
navViewName
},
context
:
tempContext
,
viewparam
:
tempViewParam
});
this
.
$forceUpdate
();
}
/**
* listexpbar的load完成事件
*
* @memberof ListExpViewlistexpbarBase
*/
public
listexpbar_load
(
args
:
any
,
tag
?:
string
,
$event2
?:
any
){
this
.
$emit
(
'load'
,
args
);
}
/**
* 执行搜索
*
* @memberof ListExpViewlistexpbarBase
*/
public
onSearch
(
$event
:
any
)
{
this
.
viewState
.
next
({
tag
:
'listexpbar_list'
,
action
:
"load"
,
data
:
{
query
:
this
.
searchText
}});
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
app_PIM/src/widgets/hremployee/list-exp-viewlistexpbar-listexpbar/list-exp-viewlistexpbar-listexpbar-model.ts
0 → 100644
浏览文件 @
2b27c1a2
/**
* ListExpViewlistexpbar 部件模型
*
* @export
* @class ListExpViewlistexpbarModel
*/
export
default
class
ListExpViewlistexpbarModel
{
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof ListExpViewlistexpbarListexpbarMode
*/
public
getDataItems
():
any
[]
{
return
[
]
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
app_PIM/src/widgets/hremployee/list-exp-viewlistexpbar-listexpbar/list-exp-viewlistexpbar-listexpbar-service.ts
0 → 100644
浏览文件 @
2b27c1a2
import
{
Http
,
Util
,
Errorlog
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
import
HREmployeeService
from
'@/service/hremployee/hremployee-service'
;
import
ListExpViewlistexpbarModel
from
'./list-exp-viewlistexpbar-listexpbar-model'
;
/**
* ListExpViewlistexpbar 部件服务对象
*
* @export
* @class ListExpViewlistexpbarService
*/
export
default
class
ListExpViewlistexpbarService
extends
ControlService
{
/**
* 员工服务对象
*
* @type {HREmployeeService}
* @memberof ListExpViewlistexpbarService
*/
public
appEntityService
:
HREmployeeService
=
new
HREmployeeService
({
$store
:
this
.
getStore
()
});
/**
* 设置从数据模式
*
* @type {boolean}
* @memberof ListExpViewlistexpbarService
*/
public
setTempMode
(){
this
.
isTempMode
=
false
;
}
/**
* Creates an instance of ListExpViewlistexpbarService.
*
* @param {*} [opts={}]
* @memberof ListExpViewlistexpbarService
*/
constructor
(
opts
:
any
=
{})
{
super
(
opts
);
this
.
model
=
new
ListExpViewlistexpbarModel
();
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
app_PIM/src/widgets/hremployee/list-exp-viewlistexpbar-listexpbar/list-exp-viewlistexpbar-listexpbar.html
0 → 100644
浏览文件 @
2b27c1a2
<split
id=
"listexpviewlistexpbar"
class=
"app-list-exp-bar show-title-bar"
v-model=
"split"
mode=
"horizontal"
@
on-move-end=
"onSplitChange.apply(_self, arguments)"
>
<template
slot=
'left'
>
<div
class=
'list-exp-bar-header'
>
{{$t('app.listExpBar.title')}}
</div>
<div
class=
"container-header"
>
</div>
<div
class=
'list-exp-bar-content'
>
<view
_listexpbar_list
:viewState=
"viewState"
:viewparams=
"viewparams"
:context=
"context"
createAction=
"Create"
removeAction=
"Remove"
updateAction=
"Update"
fetchAction=
"FetchDefault"
:showBusyIndicator=
"true"
:isSelectFirstDefault=
"true"
:newdata=
"newdata"
:opendata=
"opendata"
name=
"listexpbar_list"
ref=
'listexpbar_list'
@
selectionchange=
"listexpbar_list_selectionchange($event)"
@
load=
"listexpbar_list_load($event)"
@
closeview=
"closeView($event)"
>
</view
_listexpbar_list
>
</div>
</template>
<template
slot=
'right'
>
<component
v-if=
"selection.view && !Object.is(this.selection.view.viewname, '')"
:is=
"selection.view.viewname"
class=
"viewcontainer2"
:viewDefaultUsage=
"false"
:viewdata=
"JSON.stringify(selection.context)"
:viewparam=
"JSON.stringify(selection.viewparam)"
>
</component>
</template>
</split>
This diff is collapsed.
Click to expand it.
app_PIM/src/widgets/hremployee/list-exp-viewlistexpbar-listexpbar/list-exp-viewlistexpbar-listexpbar.less
0 → 100644
浏览文件 @
2b27c1a2
.app-list-exp-bar {
--app-list-exp-bar: 0px;
}
This diff is collapsed.
Click to expand it.
app_PIM/src/widgets/hremployee/list-exp-viewlistexpbar-listexpbar/list-exp-viewlistexpbar-listexpbar.vue
0 → 100644
浏览文件 @
2b27c1a2
<
template
src=
"./list-exp-viewlistexpbar-listexpbar.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { ListExpViewlistexpbarListexpbarBase } from './list-exp-viewlistexpbar-listexpbar-base';
import view_listexpbar_list from '@widgets/hremployee/list-001-list/list-001-list.vue';
/**
* listexpbar部件
*
* @export
* @class ListExpViewlistexpbarListexpbar
* @extends {ListExpViewlistexpbarListexpbarBase}
*/
@Component({
components: {
view_listexpbar_list,
}
})
@VueLifeCycleProcessing()
export default class ListExpViewlistexpbarListexpbar extends ListExpViewlistexpbarListexpbarBase { }
</script>
This diff is collapsed.
Click to expand it.
humanresource-core/src/main/resources/liquibase/h2_table.xml
浏览文件 @
2b27c1a2
...
...
@@ -178,7 +178,7 @@
<!--输出实体[HREMPLOYEE]数据结构 -->
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"tab-hremployee-
93
-8"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"tab-hremployee-
105
-8"
>
<createTable
tableName=
"EMPLOYEE"
>
<column
name=
"EMPLOYEENAME"
remarks=
""
type=
"VARCHAR(200)"
>
</column>
...
...
@@ -593,10 +593,10 @@
</changeSet>
<!--输出实体[HREMPSTATE]外键关系 -->
<!--输出实体[HREMPLOYEE]外键关系 -->
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-hremployee-
93
-26"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-hremployee-
105
-26"
>
<addForeignKeyConstraint
baseColumnNames=
"ORGANIZATIONID"
baseTableName=
"EMPLOYEE"
constraintName=
"DER1N_EMPLOYEE_ORGANIZATION_OR"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"ORGANIZATIONID"
referencedTableName=
"ORGANIZATION"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-hremployee-
93
-27"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-hremployee-
105
-27"
>
<addForeignKeyConstraint
baseColumnNames=
"EMPSTATE"
baseTableName=
"EMPLOYEE"
constraintName=
"DER1N_HREMPLOYEE_HREMPSTATE_EM"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"HREMPSTATEID"
referencedTableName=
"T_HREMPSTATE"
validate=
"true"
/>
</changeSet>
<!--输出实体[HRLEAVE]外键关系 -->
...
...
This diff is collapsed.
Click to expand it.
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录