Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
胡锦波
/
org-manager-web
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
d872be9f
authored
Apr 11, 2022
by
胡锦波
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
1. init 添加通讯录搜索
2. init 调整企业列表获取
parent
56ff0781
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
73 additions
and
8 deletions
src/views/pages/employ-management/address-book/address-book.vue
src/views/pages/employ-management/address-book/components/aside.vue → src/views/pages/employ-management/address-book/aside.vue
src/views/pages/employ-management/address-book/components/search-list.vue
src/views/pages/employ-management/address-book/components/employ-list.vue → src/views/pages/employ-management/address-book/employ-list.vue
src/views/service/department-controller.ts
src/views/pages/employ-management/address-book/address-book.vue
View file @
d872be9f
...
...
@@ -11,8 +11,8 @@
import
EnterpriseHost
from
"@/views/service/enterprise-host"
;
import
{
sdkService
}
from
"@/api/sdk-service"
;
import
companyService
from
"@/api/company-service"
;
import
Aside
from
"@/views/pages/employ-management/address-book/
components/
aside.vue"
;
import
EmployList
from
"@/views/pages/employ-management/address-book/
components/
employ-list.vue"
;
import
Aside
from
"@/views/pages/employ-management/address-book/aside.vue"
;
import
EmployList
from
"@/views/pages/employ-management/address-book/employ-list.vue"
;
@
Component
({
components
:
{
Aside
,
EmployList
}
})
export
default
class
AddressBook
extends
Vue
{
...
...
src/views/pages/employ-management/address-book/
components/
aside.vue
→
src/views/pages/employ-management/address-book/aside.vue
View file @
d872be9f
...
...
@@ -16,8 +16,8 @@
@
click=
"addDepGroup"
/>
</div>
<div>
查询之后的列表
</div>
<div
class=
"flex-fill"
>
<div
v-show=
"searchVal"
>
查询之后的列表
</div>
<div
v-show=
"!searchVal"
class=
"flex-fill"
>
<div
class=
"el-tree-box"
>
<el-tree
class=
"el-tree-item old-tree"
...
...
@@ -56,9 +56,9 @@
private
getDepartmentInfo
()
{
departmentController
.
getDepartment
4Tree
()
.
getDepartment
s
()
.
then
((
r
:
any
)
=>
{
this
.
departments
=
r
;
this
.
departments
=
r
.
departments4tree
;
})
.
catch
(
popupService
.
toast
.
error
);
}
...
...
src/views/pages/employ-management/address-book/components/search-list.vue
0 → 100644
View file @
d872be9f
<
template
>
<div
class=
"search-list"
>
<div
class=
"search-label"
>
员工和分组
</div>
<ul>
<li
@
click=
"handleClick(emp.empid)"
:class=
"emp.empid === activeIndex ? 'active' : ''"
v-for=
"emp in searchResult.emps"
:key=
"emp.empid"
>
<i
class=
"item_icon"
>
<img
src=
"@img/M@2x.png"
alt
/>
</i>
<label>
{{
emp
.
name
}}
</label>
<span>
{{
emp
.
dptsName
}}
</span>
</li>
<li
@
click=
"toDept(dept.id)"
:class=
"dept.id === activeIndex ? 'active' : ''"
v-for=
"dept in searchResult.depts"
:key=
"dept.id"
>
<i
class=
"iconfont"
>

</i>
<label>
{{
dept
.
name
}}
</label>
</li>
</ul>
</div>
</
template
>
<
script
lang=
"ts"
>
import
{
Component
,
Vue
}
from
"vue-property-decorator"
;
@
Component
({
components
:
{}
})
export
default
class
SearchList
extends
Vue
{
private
handleClick
(
id
:
string
)
{
this
.
$root
.
$emit
(
"openAddressBookDetail"
,
id
);
}
}
</
script
>
<
style
lang=
"less"
scoped
>
@import
"~@/css/variables.less"
;
</
style
>
src/views/pages/employ-management/address-book/
components/
employ-list.vue
→
src/views/pages/employ-management/address-book/employ-list.vue
View file @
d872be9f
File moved
src/views/service/department-controller.ts
View file @
d872be9f
...
...
@@ -3,17 +3,39 @@ import companyService from "@/api/company-service";
import
EnterpriseHost
from
"./enterprise-host"
;
class
DepartmentController
{
public
getDepartment4Tree
()
{
private
curPoid
=
""
;
private
departments4tree
=
[];
private
departments
=
[]
public
getDepartments
(
reload
=
false
)
{
const
poid
=
EnterpriseHost
.
getPoid
();
if
(
!
reload
&&
this
.
curPoid
===
poid
&&
this
.
departments
.
length
>
0
)
{
const
p
=
{
departments4tree
:
this
.
departments4tree
,
departments
:
this
.
departments
};
return
Promise
.
resolve
(
p
);
}
return
new
Promise
((
resolve
,
reject
)
=>
{
this
.
curPoid
=
poid
;
companyService
.
getDepartment
(
poid
).
then
((
res
:
any
)
=>
{
const
ary
=
res
.
departments
;
this
.
departments
=
res
.
departments
;
const
r
=
this
.
parseMarksTree
(
ary
);
resolve
(
r
);
this
.
departments4tree
=
r
;
const
p
=
{
departments4tree
:
this
.
departments4tree
,
departments
:
this
.
departments
};
resolve
(
p
);
}).
catch
(
reject
);
});
}
public
reloadDepartments
()
{
this
.
getDepartments
(
true
);
}
private
parseMarksTree
(
ary
:
any
[],
pid
=
'0'
):
any
{
if
(
!
Array
.
isArray
(
ary
))
{
return
null
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment