Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
O
office-web
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
office
office-web
Commits
0c70700d
Commit
0c70700d
authored
Jan 08, 2019
by
xiaohai
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
.
parent
cc63d844
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
349 additions
and
44 deletions
+349
-44
vueSelector.vue
src/components/common/vueSelector.vue
+0
-0
employeeList.vue
src/components/employeeRecord/employeeList.vue
+22
-4
exportSet.vue
src/components/employeeRecord/exportSet.vue
+231
-0
handleDialog.vue
src/components/employeeRecord/handleDialog.vue
+11
-2
employeeRecord.vue
src/views/contacts/employeeRecord.vue
+17
-3
recordInfo.vue
src/views/contacts/recordInfo.vue
+21
-6
recordIo.vue
src/views/contacts/recordIo.vue
+18
-4
unemployee.vue
src/views/contacts/unemployee.vue
+26
-25
public.css
static/css/public.css
+3
-0
No files found.
src/components/common/vueSelector.vue
0 → 100644
View file @
0c70700d
This diff is collapsed.
Click to expand it.
src/components/employeeRecord/employeeList.vue
View file @
0c70700d
...
@@ -3,6 +3,8 @@
...
@@ -3,6 +3,8 @@
<div
class=
"handle-area"
>
<div
class=
"handle-area"
>
<div
class=
"flex1"
>
<div
class=
"flex1"
>
<template
v-if=
"!isUnEmployee"
>
<template
v-if=
"!isUnEmployee"
>
<el-button
@
click=
"callSelector"
style=
"margin-right: 10px; height:32px;"
>
选择部门/员工
</el-button>
<el-button
@
click=
"callStoreSelector"
style=
"margin-right: 10px; height:32px;"
>
选择门店/员工
</el-button>
<el-select
v-model=
"clerkType"
placeholder=
"选择类型"
@
change=
"reGetList"
class=
"m-r-10"
>
<el-select
v-model=
"clerkType"
placeholder=
"选择类型"
@
change=
"reGetList"
class=
"m-r-10"
>
<el-option
<el-option
v-for=
"(type, index) in typeLsit"
v-for=
"(type, index) in typeLsit"
...
@@ -35,8 +37,9 @@
...
@@ -35,8 +37,9 @@
:picker-options=
"pickerOptions2"
>
:picker-options=
"pickerOptions2"
>
</el-date-picker>
</el-date-picker>
</div>
</div>
<el-input
v-model=
"searchParam"
placeholder=
"请输入姓名或手机号"
style=
"width: 218px;margin-left:10px;"
@
keyup
.
enter
.
native=
"searchFn"
clearable
@
clear=
"searchFn"
></el-input>
</div>
</div>
<el-button
type=
"primary"
>
导出
<i
class=
"el-icon-upload el-icon--right"
></i></el-button>
<el-button
type=
"primary"
v-if=
"!isUnEmployee"
@
click=
"showExportSet"
>
导出
<i
class=
"el-icon-upload el-icon--right"
></i></el-button>
</div>
</div>
<el-table
<el-table
class=
"list-table"
class=
"list-table"
...
@@ -66,12 +69,14 @@
...
@@ -66,12 +69,14 @@
width=
"480px"
>
width=
"480px"
>
<handle-dialog
:employee=
"employeeObj"
:handleType=
"handleType"
:typeTitle=
"typeTitle"
@
handleSuccess=
"handleSuccess"
></handle-dialog>
<handle-dialog
:employee=
"employeeObj"
:handleType=
"handleType"
:typeTitle=
"typeTitle"
@
handleSuccess=
"handleSuccess"
></handle-dialog>
</el-dialog>
</el-dialog>
<vue-selector></vue-selector>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
{
getRequest
,
postRequest
,
postJsonRequest
}
from
'@/api/api'
;
import
{
getRequest
,
postRequest
,
postJsonRequest
}
from
'@/api/api'
;
import
listItem
from
"components/employeeRecord/listItem"
;
import
listItem
from
"components/employeeRecord/listItem"
;
import
handleDialog
from
"components/employeeRecord/handleDialog"
;
import
handleDialog
from
"components/employeeRecord/handleDialog"
;
import
vueSelector
from
"components/common/vueSelector"
;
export
default
{
export
default
{
name
:
"employeeRecordList"
,
name
:
"employeeRecordList"
,
props
:
{
props
:
{
...
@@ -82,7 +87,8 @@ export default {
...
@@ -82,7 +87,8 @@ export default {
},
},
components
:
{
components
:
{
listItem
,
listItem
,
handleDialog
handleDialog
,
vueSelector
},
},
data
()
{
data
()
{
return
{
return
{
...
@@ -129,10 +135,21 @@ export default {
...
@@ -129,10 +135,21 @@ export default {
employeeObj
:
{},
employeeObj
:
{},
fireDate
:
[],
fireDate
:
[],
startDate
:
""
,
startDate
:
""
,
endDate
:
""
endDate
:
""
,
showSelector
:
true
,
searchParam
:
""
};
};
},
},
methods
:
{
methods
:
{
searchFn
()
{
this
.
getEmloyeeList
();
},
callSelector
()
{
this
.
showSelector
=
true
;
},
showExportSet
()
{
this
.
$emit
(
"showExportSetFn"
);
},
handleSuccess
()
{
handleSuccess
()
{
this
.
dialogVisible
=
false
;
this
.
dialogVisible
=
false
;
this
.
getEmloyeeList
();
this
.
getEmloyeeList
();
...
@@ -172,7 +189,8 @@ export default {
...
@@ -172,7 +189,8 @@ export default {
sortColumn
:
ths
.
sortColumn
,
sortColumn
:
ths
.
sortColumn
,
clerkType
:
ths
.
clerkType
==
0
?
""
:
ths
.
clerkType
,
clerkType
:
ths
.
clerkType
==
0
?
""
:
ths
.
clerkType
,
startDate
:
ths
.
startDate
,
startDate
:
ths
.
startDate
,
endDate
:
ths
.
endDate
endDate
:
ths
.
endDate
,
searchParam
:
ths
.
searchParam
};
};
getRequest
(
url
,
params
)
getRequest
(
url
,
params
)
.
then
(
res
=>
{
.
then
(
res
=>
{
...
...
src/components/employeeRecord/exportSet.vue
0 → 100644
View file @
0c70700d
<
template
>
<div
class=
"export-set-container"
>
<div
class=
"title"
>
已选择字段
<span>
导出的列表中将按顺序显示这些字段(可拖拽排序)
</span></div>
<div
class=
"cho-list"
>
<template
v-for=
"tem in origin"
>
<div
class=
"cho"
v-if=
"tem.checked"
:key=
"tem.fieldCode"
>
{{
tem
.
fieldName
}}
</div>
</
template
>
</div>
<div
class=
"cho-area"
>
<div
class=
"title"
>
选择需要导出的字段
</div>
<div
class=
"cho-area-group"
>
<div
class=
"group-div"
>
<div
class=
"group-title"
></div>
<ul
class=
"group-son-list"
>
<el-checkbox
:indeterminate=
"isIndeterminate"
v-model=
"checkAll"
@
change=
"handleCheckAllChange"
>
全选
</el-checkbox></ul>
</div>
<div
class=
"group-div"
v-for=
"(group, index) in tempList"
:key=
"group.fieldCode+index"
>
<div
class=
"group-title"
>
{{group.title}}
</div>
<ul
class=
"group-son-list"
>
<
template
v-for=
"items in origin"
>
<li
:key=
"items.fieldCode"
v-if=
"items.parentCode == group.fieldCode"
>
<el-checkbox
:label=
"items.fieldName"
:key=
"items.fieldCode"
v-model=
"items.checked"
>
{{
items
.
fieldName
}}
</el-checkbox>
</li>
</
template
>
</ul>
</div>
</div>
</div>
<div
class=
"handle-cho-btn"
>
<el-button
type=
"primary"
class=
"export-btn"
@
click=
"exportCho"
>
导出
<i
class=
"iconfont icon-icon_yunxiazai"
></i></el-button>
<el-button
@
click=
"cancelCho"
>
取消
</el-button>
</div>
</div>
</template>
<
script
>
import
{
getRequest
,
postRequest
,
postJsonRequest
}
from
'@/api/api'
;
import
{
deepClone
,
formatDate
}
from
'@/utils/index'
;
export
default
{
name
:
"export-set"
,
data
()
{
return
{
tempList
:
[],
checkList
:
[],
origin
:
[],
checkAll
:
false
,
isIndeterminate
:
false
};
},
methods
:
{
handleCheckAllChange
(
val
)
{
console
.
log
(
val
);
this
.
origin
.
forEach
(
tem
=>
{
tem
.
checked
=
val
;
});
},
getTemplate
()
{
let
ths
=
this
;
getRequest
(
"/haoban-manage-web/record/employee-find-template"
,
{})
.
then
(
res
=>
{
if
(
res
.
data
.
errorCode
==
1
)
{
ths
.
formatTemplateList
(
res
.
data
.
result
);
}
else
{
ths
.
$message
.
error
({
message
:
res
.
data
.
message
});
}
})
.
catch
(
e
=>
{
ths
.
$message
.
error
({
message
:
e
.
message
});
});
},
formatTemplateList
(
list
)
{
let
ths
=
this
;
let
fieldList
=
[];
let
origin
=
[];
let
copyData
=
list
;
list
.
forEach
(
tem
=>
{
tem
.
title
=
tem
.
fieldName
;
tem
.
checked
=
false
;
let
arr
=
[];
copyData
.
forEach
(
li
=>
{
if
(
li
.
parentCode
==
tem
.
fieldCode
)
{
arr
.
push
(
li
);
}
});
arr
.
sort
(
function
(
a
,
b
){
return
a
.
sort
*
1
-
b
.
sort
*
1
;
});
if
(
arr
.
length
>
0
)
tem
[
"childrens"
]
=
arr
;
if
(
tem
.
parentCode
==
0
)
{
fieldList
.
push
(
tem
);
}
// origin.push(tem);
});
fieldList
.
sort
(
function
(
a
,
b
){
return
a
.
sort
*
1
-
b
.
sort
*
1
;
});
fieldList
.
forEach
(
group
=>
{
origin
=
origin
.
concat
(
group
.
childrens
);
});
// origin.sort(function(a,b){
// return a.sort*1-b.sort*1;
// });
this
.
origin
=
origin
;
this
.
tempList
=
fieldList
;
console
.
log
(
fieldList
,
"模板"
);
},
cancelCho
()
{
this
.
origin
.
forEach
(
tem
=>
{
tem
.
checked
=
false
;
});
this
.
$emit
(
"cancelCho"
);
},
exportCho
()
{
let
arr
=
[];
let
ths
=
this
;
this
.
origin
.
forEach
(
tem
=>
{
if
(
tem
.
checked
)
{
arr
.
push
({
fieldCode
:
tem
.
fieldCode
,
fieldName
:
tem
.
fieldName
})
}
});
let
params
=
{};
params
[
"exportTitleContent"
]
=
JSON
.
stringify
(
arr
);
console
.
log
(
params
);
getRequest
(
"/haoban-manage-web/record/define-export"
,
params
)
.
then
(
res
=>
{
console
.
log
(
res
,
"res"
);
})
.
catch
(
e
=>
{
ths
.
$message
({
message
:
e
.
message
});
});
}
},
beforeMount
()
{
this
.
getTemplate
();
}
}
</
script
>
<
style
lang=
"scss"
>
.export-set-container
{
background
:
#fff
;
padding
:
25px
;
.title
{
font-size
:
16px
;
font-family
:
PingFangSC-Medium
;
font-weight
:
500
;
color
:
rgba
(
48
,
49
,
51
,
1
);
span
{
font-size
:
14px
;
font-family
:
PingFangSC-Regular
;
font-weight
:
400
;
color
:
rgba
(
144
,
147
,
153
,
1
);
margin-left
:
20px
;
}
}
.cho-list
{
padding
:
34px
0
;
border-bottom
:
1px
solid
#E4E7ED
;
display
:
flex
;
flex-wrap
:
wrap
;
margin-bottom
:
44px
;
.cho
{
padding
:
0
15px
;
box-sizing
:
border-box
;
height
:
32px
;
background
:
rgba
(
236
,
245
,
255
,
1
);
border
:
1px
solid
rgba
(
217
,
236
,
255
,
1
);
border-radius
:
4px
;
color
:
#409EFF
;
box-sizing
:
border-box
;
text-align
:
center
;
line-height
:
32px
;
font-size
:
12px
;
margin-right
:
10px
;
margin-bottom
:
20px
;
cursor
:
pointer
;
&.osen
{
background
:
rgba
(
64
,
158
,
255
,
1
);
color
:
#fff
;
}
}
}
.cho-area
{
margin-top
:
60px
;
font-size
:
14px
;
font-family
:
PingFangSC-Medium
;
font-weight
:
500
;
color
:
rgba
(
96
,
98
,
102
,
1
);
.group-div
{
display
:
flex
;
margin-bottom
:
50px
;
&:first-child
{
margin-top
:
60px
;
}
.group-title
{
width
:
100px
;
font-weight
:
400
;
color
:
rgba
(
96
,
98
,
102
,
1
);
}
.group-son-list
{
flex
:
1
;
display
:
flex
;
flex-wrap
:
wrap
;
li
{
width
:
180px
;
margin-bottom
:
25px
;
}
}
}
}
.handle-cho-btn
{
text-align
:
center
;
.export-btn{
margin-right
:
10px
;
.iconfont
{
color
:
#fff
;
margin-left
:
5px
;
}
}
}
}
</
style
>
src/components/employeeRecord/handleDialog.vue
View file @
0c70700d
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
:rules=
"rules"
:rules=
"rules"
ref=
"ruleForm"
ref=
"ruleForm"
>
>
<template
v-if=
"typeTitle == '办理离职'"
>
<template
v-if=
"typeTitle == '办理离职'
|| typeTitle == '修改离职信息'
"
>
<el-form-item
label=
"最后工作日:"
prop=
"date"
>
<el-form-item
label=
"最后工作日:"
prop=
"date"
>
<el-date-picker
<el-date-picker
style=
"width: 280px;"
style=
"width: 280px;"
...
@@ -63,7 +63,7 @@
...
@@ -63,7 +63,7 @@
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<div
class=
"button-box"
>
<div
class=
"button-box"
>
<el-button
type=
"primary"
@
click=
"submitHandle"
>
{{typeTitle == '办理转正' ? '确认转正' : '确认办理'}}
</el-button>
<el-button
type=
"primary"
@
click=
"submitHandle"
>
{{typeTitle == '办理转正' ? '确认转正' :
typeTitle == '修改离职信息' ? '确认修改' :
'确认办理'}}
</el-button>
</div>
</div>
</div>
</div>
</template>
</template>
...
@@ -147,6 +147,15 @@ export default {
...
@@ -147,6 +147,15 @@ export default {
fireDate
:
ths
.
ruleForm
.
date
fireDate
:
ths
.
ruleForm
.
date
},
},
url
:
"/haoban-manage-web/record/fire-work"
url
:
"/haoban-manage-web/record/fire-work"
},
changeFireInfo
:
{
params
:
{
fireReason
:
ths
.
ruleForm
.
reason
,
remark
:
ths
.
ruleForm
.
remarks
,
recordId
:
ths
.
employee
.
recordId
,
fireDate
:
ths
.
ruleForm
.
date
},
url
:
"/haoban-manage-web/record/fire-work"
}
}
};
};
ths
.
subRequest
(
typeObj
[
ths
.
handleType
].
params
,
typeObj
[
ths
.
handleType
].
url
);
ths
.
subRequest
(
typeObj
[
ths
.
handleType
].
params
,
typeObj
[
ths
.
handleType
].
url
);
...
...
src/views/contacts/employeeRecord.vue
View file @
0c70700d
<
template
>
<
template
>
<div
class=
"e-record-container"
>
<div
class=
"e-record-container"
>
<template
v-if=
"!showExportSet"
>
<div
class=
"top-area"
>
<div
class=
"top-area"
>
<div
class=
"top-title"
>
<div
class=
"top-title"
>
<span
class=
"title-span"
>
在职员工
</span>
<span
class=
"title-span"
>
在职员工
</span>
...
@@ -14,16 +15,22 @@
...
@@ -14,16 +15,22 @@
</div>
</div>
</div>
</div>
</div>
</div>
<employee-list></employee-list>
<employee-list
@
showExportSetFn=
"showExportSetFn"
></employee-list>
</
template
>
<
template
v-else
>
<export-set
@
cancelCho=
"cancelCho"
></export-set>
</
template
>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
{
getRequest
,
postRequest
,
postJsonRequest
}
from
'@/api/api'
;
import
{
getRequest
,
postRequest
,
postJsonRequest
}
from
'@/api/api'
;
import
exportSet
from
"components/employeeRecord/exportSet"
;
import
employeeList
from
"components/employeeRecord/employeeList"
;
import
employeeList
from
"components/employeeRecord/employeeList"
;
export
default
{
export
default
{
name
:
"employeeRecord"
,
name
:
"employeeRecord"
,
components
:
{
components
:
{
employeeList
employeeList
,
exportSet
},
},
data
()
{
data
()
{
return
{
return
{
...
@@ -38,10 +45,17 @@ export default {
...
@@ -38,10 +45,17 @@ export default {
onTrialCount
:
"试用"
,
onTrialCount
:
"试用"
,
noStatusCount
:
"无状态"
noStatusCount
:
"无状态"
},
},
countObj
:
{}
countObj
:
{},
showExportSet
:
false
};
};
},
},
methods
:
{
methods
:
{
cancelCho
()
{
this
.
showExportSet
=
false
;
},
showExportSetFn
()
{
this
.
showExportSet
=
true
;
},
getEmployeeCount
()
{
getEmployeeCount
()
{
let
ths
=
this
;
let
ths
=
this
;
getRequest
(
"/haoban-manage-web/record/employee-count-detail"
,
{})
getRequest
(
"/haoban-manage-web/record/employee-count-detail"
,
{})
...
...
src/views/contacts/recordInfo.vue
View file @
0c70700d
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
<div
class=
"commom-container clerk-detail-container"
>
<div
class=
"commom-container clerk-detail-container"
>
<p
class=
"t-rt"
><a
class=
"a-href"
@
click=
"getPdf()"
>
打印员工档案
</a></p>
<p
class=
"t-rt"
><a
class=
"a-href"
@
click=
"getPdf()"
>
打印员工档案
</a></p>
<div
id=
"pdfDom"
>
<div
id=
"pdfDom"
>
<div
class=
"employee-detail"
>
<div
class=
"employee-detail
-cell
"
>
<div
class=
"head-info"
>
<div
class=
"head-info"
>
<p
class=
"head-cell"
><img
:src=
"info.headPic"
class=
"head-img"
></p>
<p
class=
"head-cell"
><img
:src=
"info.headPic"
class=
"head-img"
></p>
<p
class=
"head-cell name"
>
{{
info
.
clerkName
}}
<span>
{{
statusList
[
info
.
clerkStatus
-
1
]
}}
</span></p>
<p
class=
"head-cell name"
>
{{
info
.
clerkName
}}
<span>
{{
statusList
[
info
.
clerkStatus
-
1
]
}}
</span></p>
...
@@ -24,29 +24,38 @@
...
@@ -24,29 +24,38 @@
<span
class=
"radio"
></span>
<span
class=
"radio"
></span>
<div
class=
"hurdle"
></div></div>
<div
class=
"hurdle"
></div></div>
<p
class=
"position"
>
{{his.positionName}}
</p>
<p
class=
"position"
>
{{his.positionName}}
</p>
<p>
{{historyStatus[his.historyStatus * 1 - 1]}}
</p>
<p>
{{historyStatus[his.historyStatus * 1 - 1]}}
<
a
class=
"a-href m-l-10 fs-12"
@
click=
"editHis"
v-if=
"his.historyStatus == 3"
>
编辑
</a><
/p>
<p>
{{!!his.storeName ? his.storeName : his.groupName}}
</p>
<p>
{{!!his.storeName ? his.storeName : his.groupName}}
</p>
</div>
</div>
</li>
</li>
</ul>
</ul>
</div>
</div>
</div>
</div>
<el-dialog
title=
"修改离职信息"
:visible
.
sync=
"dialogVisible"
width=
"480px"
>
<handle-dialog
:employee=
"staticInfo"
handleType=
"changeFireInfo"
typeTitle=
"修改离职信息"
@
handleSuccess=
"handleSuccess"
></handle-dialog>
</el-dialog>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
{
getRequest
,
postRequest
,
postJsonRequest
}
from
'@/api/api'
;
import
{
getRequest
,
postRequest
,
postJsonRequest
}
from
'@/api/api'
;
import
{
deepClone
,
formatDate
}
from
'@/utils/index'
;
import
{
deepClone
,
formatDate
}
from
'@/utils/index'
;
import
editableCell
from
"components/employeeRecord/editableCell"
;
import
editableCell
from
"components/employeeRecord/editableCell"
;
import
handleDialog
from
"components/employeeRecord/handleDialog"
;
export
default
{
export
default
{
name
:
"recordInfo"
,
name
:
"recordInfo"
,
components
:
{
components
:
{
editableCell
editableCell
,
handleDialog
},
},
filters
:
{
filters
:
{
formatDate
formatDate
},
},
data
()
{
data
()
{
return
{
return
{
dialogVisible
:
false
,
htmlTitle
:
"员工档案"
,
htmlTitle
:
"员工档案"
,
info
:
{},
info
:
{},
staticInfo
:
{},
staticInfo
:
{},
...
@@ -58,6 +67,7 @@ export default {
...
@@ -58,6 +67,7 @@ export default {
}
}
},
},
methods
:
{
methods
:
{
handleSuccess
()
{},
getEmployeeDetail
()
{
// 获取员工详情
getEmployeeDetail
()
{
// 获取员工详情
let
ths
=
this
;
let
ths
=
this
;
let
params
=
{
let
params
=
{
...
@@ -133,7 +143,7 @@ export default {
...
@@ -133,7 +143,7 @@ export default {
clerkInfo
[
tem
.
fieldCode
]
=
arr
;
clerkInfo
[
tem
.
fieldCode
]
=
arr
;
cInfo
[
tem
.
fieldCode
]
=
arr
.
slice
(
0
);
cInfo
[
tem
.
fieldCode
]
=
arr
.
slice
(
0
);
}
}
//
console.log(tem.fieldType, tem.fieldName, tem.fieldOperations, tem);
console
.
log
(
tem
.
fieldType
,
tem
.
fieldName
,
tem
.
fieldOperations
,
tem
);
tem
.
title
=
tem
.
fieldName
;
tem
.
title
=
tem
.
fieldName
;
let
arr
=
[];
let
arr
=
[];
copyData
.
forEach
(
li
=>
{
copyData
.
forEach
(
li
=>
{
...
@@ -182,13 +192,18 @@ export default {
...
@@ -182,13 +192,18 @@ export default {
},
},
formatMileStone
(
list
)
{
formatMileStone
(
list
)
{
let
ths
=
this
;
let
ths
=
this
;
console
.
log
(
list
,
"dddddd"
);
list
.
sort
(
function
(
a
,
b
){
return
a
.
historyDate
*
1
-
b
.
historyDate
*
1
;
});
let
arr
=
[];
let
arr
=
[];
for
(
let
i
=
0
,
len
=
list
.
length
;
i
<
len
;
i
+=
4
){
for
(
let
i
=
0
,
len
=
list
.
length
;
i
<
len
;
i
+=
4
){
arr
.
push
(
list
.
slice
(
i
,
i
+
4
));
arr
.
push
(
list
.
slice
(
i
,
i
+
4
));
}
}
console
.
log
(
arr
,
"dddddd"
);
console
.
log
(
arr
,
"dddddd"
);
ths
.
mileStone
=
arr
;
ths
.
mileStone
=
arr
;
},
editHis
()
{
this
.
dialogVisible
=
true
;
}
}
},
},
beforeMount
()
{
beforeMount
()
{
...
@@ -200,7 +215,7 @@ export default {
...
@@ -200,7 +215,7 @@ export default {
<
style
lang=
"scss"
>
<
style
lang=
"scss"
>
.clerk-detail-container
{
.clerk-detail-container
{
padding
:
30px
;
padding
:
30px
;
.employee-detail
{
.employee-detail
-cell
{
.head-info
{
.head-info
{
margin
:
20px
0
70px
;
margin
:
20px
0
70px
;
text-align
:
center
;
text-align
:
center
;
...
...
src/views/contacts/recordIo.vue
View file @
0c70700d
<
template
>
<
template
>
<div
class=
"io-container"
>
<div
class=
"io-container"
>
<template
v-if=
"!dialogVisible"
>
<ul
class=
"tip-area"
>
<ul
class=
"tip-area"
>
<li
class=
"tip"
>
姓名必须和好办企业通讯录中的员工姓名保持一致,手机号必须为员工注册好办的手机号
</li>
<li
class=
"tip"
>
姓名必须和好办企业通讯录中的员工姓名保持一致,手机号必须为员工注册好办的手机号
</li>
<li
class=
"tip"
>
员工档案导入时,直接以手机号去做匹配,通讯录中不存在的将无法导入(模板中配置的部门、职位、code,这些字段信息请保持与企业通讯录中一致,这几个字段的信息将不会修改通讯录的信息,直接取该成员对应的通讯录的字段信息)
</li>
<li
class=
"tip"
>
员工档案导入时,直接以手机号去做匹配,通讯录中不存在的将无法导入(模板中配置的部门、职位、code,这些字段信息请保持与企业通讯录中一致,这几个字段的信息将不会修改通讯录的信息,直接取该成员对应的通讯录的字段信息)
</li>
...
@@ -44,8 +45,8 @@
...
@@ -44,8 +45,8 @@
<div
class=
"handle-area import"
v-else-if=
"type == 'export'"
>
<div
class=
"handle-area import"
v-else-if=
"type == 'export'"
>
<div
class=
"step-div"
style=
"margin-bottom :90px;"
>
<div
class=
"step-div"
style=
"margin-bottom :90px;"
>
<span
class=
"ft-large"
>
①
</span>
导出员工档案
<span
class=
"ft-large"
>
①
</span>
导出员工档案
<a
class=
"d-u-btn"
href=
"http://www.gicdev.com/haoban-manage-web/record/export-record-template.jso
n"
>
<a
class=
"d-u-bt
n"
>
<el-button
type=
"primary
"
>
下载
<i
class=
"iconfont icon-icon_yunxiazai m-l-5"
></i></el-button>
<el-button
type=
"primary"
@
click=
"callExport
"
>
下载
<i
class=
"iconfont icon-icon_yunxiazai m-l-5"
></i></el-button>
</a>
</a>
</div>
</div>
...
@@ -126,15 +127,21 @@
...
@@ -126,15 +127,21 @@
:total=
"total"
>
:total=
"total"
>
</el-pagination>
</el-pagination>
</div>
</div>
</template>
<
template
v-else
>
<export-set
@
cancelCho=
"cancelCho"
></export-set>
</
template
>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
uploadExcelComponent
from
"components/uploadExcel/index"
;
import
uploadExcelComponent
from
"components/uploadExcel/index"
;
import
{
getRequest
,
postRequest
,
postJsonRequest
}
from
'@/api/api'
;
import
{
getRequest
,
postRequest
,
postJsonRequest
}
from
'@/api/api'
;
import
exportSet
from
"components/employeeRecord/exportSet"
;
export
default
{
export
default
{
name
:
"employee-io"
,
name
:
"employee-io"
,
components
:
{
components
:
{
uploadExcelComponent
uploadExcelComponent
,
exportSet
},
},
data
()
{
data
()
{
let
local
=
window
.
location
.
origin
;
let
local
=
window
.
location
.
origin
;
...
@@ -150,7 +157,8 @@ export default {
...
@@ -150,7 +157,8 @@ export default {
pageSize
:
20
,
pageSize
:
20
,
currentPage
:
1
,
currentPage
:
1
,
total
:
0
,
total
:
0
,
tempList
:
[]
tempList
:
[],
dialogVisible
:
false
};
};
},
},
methods
:
{
methods
:
{
...
@@ -226,6 +234,12 @@ export default {
...
@@ -226,6 +234,12 @@ export default {
getChange
(
file
,
fileList
)
{
getChange
(
file
,
fileList
)
{
console
.
log
(
file
,
fileList
);
console
.
log
(
file
,
fileList
);
this
.
fileList
=
fileList
;
this
.
fileList
=
fileList
;
},
callExport
()
{
this
.
dialogVisible
=
true
;
},
cancelCho
()
{
this
.
dialogVisible
=
false
;
}
}
},
},
beforeMount
()
{
beforeMount
()
{
...
...
src/views/contacts/unemployee.vue
View file @
0c70700d
...
@@ -2,17 +2,18 @@
...
@@ -2,17 +2,18 @@
<div
class=
"e-record-container"
>
<div
class=
"e-record-container"
>
<div
class=
"top-area"
>
<div
class=
"top-area"
>
<div
class=
"top-title"
>
<div
class=
"top-title"
>
<span
class=
"title-span"
>
在职员工
</span>
<span
class=
"title-span"
>
<a
href=
"#/recordIo?importCode=record"
>
离职员工
</span>
<!--
<a
href=
"#/recordIo?importCode=record"
>
<el-button
type=
"primary"
>
导入员工档案
<i
class=
"el-icon-upload el-icon--right"
></i></el-button>
<el-button
type=
"primary"
>
导入员工档案
<i
class=
"el-icon-upload el-icon--right"
></i></el-button>
</a>
</a>
-->
</div>
</div>
<div
class=
"e-type-num-title"
>
<
!--
<
div
class=
"e-type-num-title"
>
<div
class=
"type-cell"
v-for=
"(count, key) in countObj"
:key=
"key"
:class=
"key == 'onWorkCout' || key == 'noTypeWorkCount' ? 'with-bdr' : ''"
>
<div
class=
"type-cell"
v-for=
"(count, key) in countObj"
:key=
"key"
:class=
"key == 'onWorkCout' || key == 'noTypeWorkCount' ? 'with-bdr' : ''"
>
<p
class=
"type-name"
>
{{
typeObj
[
key
]
}}
</p>
<p
class=
"type-name"
>
{{
typeObj
[
key
]
}}
</p>
<p
class=
"num"
>
{{
count
}}
</p>
<p
class=
"num"
>
{{
count
}}
</p>
</div>
</div>
</div>
</div>
-->
</div>
</div>
<employee-list
:isUnEmployee=
"true"
></employee-list>
<employee-list
:isUnEmployee=
"true"
></employee-list>
</div>
</div>
...
@@ -42,28 +43,28 @@ export default {
...
@@ -42,28 +43,28 @@ export default {
};
};
},
},
methods
:
{
methods
:
{
getEmployeeCount
()
{
//
getEmployeeCount() {
let
ths
=
this
;
//
let ths = this;
getRequest
(
"/haoban-manage-web/record/employee-count-detail"
,
{})
//
getRequest("/haoban-manage-web/record/employee-count-detail", {})
.
then
(
res
=>
{
//
.then(res => {
console
.
log
(
res
,
"res count"
);
//
console.log(res, "res count");
if
(
res
.
data
.
errorCode
==
1
)
{
//
if (res.data.errorCode == 1) {
ths
.
countObj
=
res
.
data
.
result
;
//
ths.countObj = res.data.result;
}
else
{
//
} else {
ths
.
$message
.
error
({
//
ths.$message.error({
message
:
res
.
data
.
message
//
message: res.data.message
});
//
});
}
//
}
})
//
})
.
catch
(
e
=>
{
//
.catch(e => {
ths
.
$message
.
error
({
//
ths.$message.error({
message
:
e
.
message
//
message: e.message
});
//
});
});
//
});
}
//
}
},
},
beforeMount
()
{
beforeMount
()
{
this
.
getEmployeeCount
();
//
this.getEmployeeCount();
}
}
};
};
</
script
>
</
script
>
...
...
static/css/public.css
View file @
0c70700d
...
@@ -341,6 +341,9 @@ input:focus {
...
@@ -341,6 +341,9 @@ input:focus {
.c-303133
{
.c-303133
{
color
:
#303133
;
color
:
#303133
;
}
}
.m-l-10
{
margin-left
:
10px
;
}
.m-l-16
{
.m-l-16
{
margin-left
:
16px
;
margin-left
:
16px
;
}
}
...
...
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