Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
_江南一点雨
vhr
提交
0622e752
V
vhr
项目概览
_江南一点雨
/
vhr
9 个月 前同步成功
通知
393
Star
80
Fork
9
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vhr
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
0622e752
编写于
1月 17, 2018
作者:
江
江南一点雨
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
完成了Excel导入导出功能
上级
3ab68b7e
变更
33
展开全部
隐藏空白更改
内联
并排
Showing
33 changed file
with
583 addition
and
39 deletion
+583
-39
hrserver/pom.xml
hrserver/pom.xml
+5
-0
hrserver/src/main/java/org/sang/HrserverApplication.java
hrserver/src/main/java/org/sang/HrserverApplication.java
+2
-0
hrserver/src/main/java/org/sang/bean/Department.java
hrserver/src/main/java/org/sang/bean/Department.java
+22
-0
hrserver/src/main/java/org/sang/bean/Employee.java
hrserver/src/main/java/org/sang/bean/Employee.java
+9
-0
hrserver/src/main/java/org/sang/bean/JobLevel.java
hrserver/src/main/java/org/sang/bean/JobLevel.java
+24
-0
hrserver/src/main/java/org/sang/bean/Nation.java
hrserver/src/main/java/org/sang/bean/Nation.java
+22
-0
hrserver/src/main/java/org/sang/bean/PoliticsStatus.java
hrserver/src/main/java/org/sang/bean/PoliticsStatus.java
+24
-0
hrserver/src/main/java/org/sang/bean/Position.java
hrserver/src/main/java/org/sang/bean/Position.java
+23
-0
hrserver/src/main/java/org/sang/common/poi/PoiUtils.java
hrserver/src/main/java/org/sang/common/poi/PoiUtils.java
+337
-0
hrserver/src/main/java/org/sang/controller/emp/EmpBasicController.java
...main/java/org/sang/controller/emp/EmpBasicController.java
+19
-2
hrserver/src/main/java/org/sang/mapper/DepartmentMapper.java
hrserver/src/main/java/org/sang/mapper/DepartmentMapper.java
+0
-2
hrserver/src/main/java/org/sang/mapper/EmpMapper.java
hrserver/src/main/java/org/sang/mapper/EmpMapper.java
+3
-3
hrserver/src/main/java/org/sang/mapper/EmpMapper.xml
hrserver/src/main/java/org/sang/mapper/EmpMapper.xml
+29
-1
hrserver/src/main/java/org/sang/mapper/HrMapper.java
hrserver/src/main/java/org/sang/mapper/HrMapper.java
+0
-2
hrserver/src/main/java/org/sang/mapper/JobLevelMapper.java
hrserver/src/main/java/org/sang/mapper/JobLevelMapper.java
+0
-2
hrserver/src/main/java/org/sang/mapper/MenuMapper.java
hrserver/src/main/java/org/sang/mapper/MenuMapper.java
+0
-2
hrserver/src/main/java/org/sang/mapper/MenuRoleMapper.java
hrserver/src/main/java/org/sang/mapper/MenuRoleMapper.java
+0
-2
hrserver/src/main/java/org/sang/mapper/PositionMapper.java
hrserver/src/main/java/org/sang/mapper/PositionMapper.java
+0
-2
hrserver/src/main/java/org/sang/mapper/RoleMapper.java
hrserver/src/main/java/org/sang/mapper/RoleMapper.java
+0
-2
hrserver/src/main/java/org/sang/mapper/SystemMapper.java
hrserver/src/main/java/org/sang/mapper/SystemMapper.java
+0
-4
hrserver/src/main/java/org/sang/service/EmpService.java
hrserver/src/main/java/org/sang/service/EmpService.java
+9
-1
hrserver/src/main/resources/static/index.html
hrserver/src/main/resources/static/index.html
+1
-1
hrserver/src/main/resources/static/static/js/0.640867a38d24e068d708.js
...main/resources/static/static/js/0.640867a38d24e068d708.js
+0
-2
hrserver/src/main/resources/static/static/js/0.640867a38d24e068d708.js.map
.../resources/static/static/js/0.640867a38d24e068d708.js.map
+0
-1
hrserver/src/main/resources/static/static/js/0.6e1eaf951e3884240641.js
...main/resources/static/static/js/0.6e1eaf951e3884240641.js
+2
-0
hrserver/src/main/resources/static/static/js/0.6e1eaf951e3884240641.js.map
.../resources/static/static/js/0.6e1eaf951e3884240641.js.map
+1
-0
hrserver/src/main/resources/static/static/js/5.0ee19f289a67c8d0f095.js
...main/resources/static/static/js/5.0ee19f289a67c8d0f095.js
+0
-2
hrserver/src/main/resources/static/static/js/5.0ee19f289a67c8d0f095.js.map
.../resources/static/static/js/5.0ee19f289a67c8d0f095.js.map
+0
-1
hrserver/src/main/resources/static/static/js/5.6839c3dc451135a281ba.js
...main/resources/static/static/js/5.6839c3dc451135a281ba.js
+2
-0
hrserver/src/main/resources/static/static/js/5.6839c3dc451135a281ba.js.map
.../resources/static/static/js/5.6839c3dc451135a281ba.js.map
+1
-0
hrserver/src/main/resources/static/static/js/manifest.be68f676a39fdca2f847.js
...sources/static/static/js/manifest.be68f676a39fdca2f847.js
+2
-2
hrserver/src/main/resources/static/static/js/manifest.be68f676a39fdca2f847.js.map
...ces/static/static/js/manifest.be68f676a39fdca2f847.js.map
+1
-1
vuehr/src/components/emp/EmpBasic.vue
vuehr/src/components/emp/EmpBasic.vue
+45
-4
未找到文件。
hrserver/pom.xml
浏览文件 @
0622e752
...
...
@@ -47,6 +47,11 @@
<groupId>
mysql
</groupId>
<artifactId>
mysql-connector-java
</artifactId>
</dependency>
<dependency>
<groupId>
org.apache.poi
</groupId>
<artifactId>
poi
</artifactId>
<version>
3.17
</version>
</dependency>
</dependencies>
<build>
...
...
hrserver/src/main/java/org/sang/HrserverApplication.java
浏览文件 @
0622e752
package
org.sang
;
import
org.mybatis.spring.annotation.MapperScan
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
@SpringBootApplication
@MapperScan
(
"org.sang.mapper"
)
public
class
HrserverApplication
{
public
static
void
main
(
String
[]
args
)
{
...
...
hrserver/src/main/java/org/sang/bean/Department.java
浏览文件 @
0622e752
...
...
@@ -16,6 +16,28 @@ public class Department {
private
boolean
enabled
;
private
boolean
isParent
;
public
Department
()
{
}
public
Department
(
String
name
)
{
this
.
name
=
name
;
}
@Override
public
boolean
equals
(
Object
o
)
{
if
(
this
==
o
)
return
true
;
if
(
o
==
null
||
getClass
()
!=
o
.
getClass
())
return
false
;
Department
that
=
(
Department
)
o
;
return
name
!=
null
?
name
.
equals
(
that
.
name
)
:
that
.
name
==
null
;
}
@Override
public
int
hashCode
()
{
return
name
!=
null
?
name
.
hashCode
()
:
0
;
}
//存储过程执行结果
private
Integer
result
;
private
List
<
Department
>
children
=
new
ArrayList
<>();
...
...
hrserver/src/main/java/org/sang/bean/Employee.java
浏览文件 @
0622e752
...
...
@@ -24,6 +24,7 @@ public class Employee {
private
Long
jobLevelId
;
private
String
jobLevelName
;
private
Long
posId
;
private
String
posName
;
private
String
engageForm
;
private
String
tiptopDegree
;
private
String
specialty
;
...
...
@@ -43,6 +44,14 @@ public class Employee {
private
Position
position
;
private
PoliticsStatus
politicsStatus
;
public
String
getPosName
()
{
return
posName
;
}
public
void
setPosName
(
String
posName
)
{
this
.
posName
=
posName
;
}
public
Department
getDepartment
()
{
return
department
;
}
...
...
hrserver/src/main/java/org/sang/bean/JobLevel.java
浏览文件 @
0622e752
...
...
@@ -11,6 +11,30 @@ public class JobLevel {
private
String
titleLevel
;
private
Timestamp
createDate
;
@Override
public
boolean
equals
(
Object
o
)
{
if
(
this
==
o
)
return
true
;
if
(
o
==
null
||
getClass
()
!=
o
.
getClass
())
return
false
;
JobLevel
jobLevel
=
(
JobLevel
)
o
;
return
name
!=
null
?
name
.
equals
(
jobLevel
.
name
)
:
jobLevel
.
name
==
null
;
}
@Override
public
int
hashCode
()
{
return
name
!=
null
?
name
.
hashCode
()
:
0
;
}
public
JobLevel
()
{
}
public
JobLevel
(
String
name
)
{
this
.
name
=
name
;
}
public
Long
getId
()
{
return
id
;
}
...
...
hrserver/src/main/java/org/sang/bean/Nation.java
浏览文件 @
0622e752
...
...
@@ -7,6 +7,28 @@ public class Nation {
private
Long
id
;
private
String
name
;
public
Nation
(
String
name
)
{
this
.
name
=
name
;
}
public
Nation
()
{
}
@Override
public
boolean
equals
(
Object
o
)
{
if
(
this
==
o
)
return
true
;
if
(
o
==
null
||
getClass
()
!=
o
.
getClass
())
return
false
;
Nation
nation
=
(
Nation
)
o
;
return
name
!=
null
?
name
.
equals
(
nation
.
name
)
:
nation
.
name
==
null
;
}
@Override
public
int
hashCode
()
{
return
name
!=
null
?
name
.
hashCode
()
:
0
;
}
public
Long
getId
()
{
return
id
;
}
...
...
hrserver/src/main/java/org/sang/bean/PoliticsStatus.java
浏览文件 @
0622e752
...
...
@@ -7,6 +7,30 @@ public class PoliticsStatus {
private
Long
id
;
private
String
name
;
@Override
public
boolean
equals
(
Object
o
)
{
if
(
this
==
o
)
return
true
;
if
(
o
==
null
||
getClass
()
!=
o
.
getClass
())
return
false
;
PoliticsStatus
that
=
(
PoliticsStatus
)
o
;
return
name
!=
null
?
name
.
equals
(
that
.
name
)
:
that
.
name
==
null
;
}
@Override
public
int
hashCode
()
{
return
name
!=
null
?
name
.
hashCode
()
:
0
;
}
public
PoliticsStatus
(
String
name
)
{
this
.
name
=
name
;
}
public
PoliticsStatus
()
{
}
public
Long
getId
()
{
return
id
;
}
...
...
hrserver/src/main/java/org/sang/bean/Position.java
浏览文件 @
0622e752
...
...
@@ -10,6 +10,29 @@ public class Position {
private
String
name
;
private
Timestamp
createDate
;
public
Position
()
{
}
@Override
public
boolean
equals
(
Object
o
)
{
if
(
this
==
o
)
return
true
;
if
(
o
==
null
||
getClass
()
!=
o
.
getClass
())
return
false
;
Position
position
=
(
Position
)
o
;
return
name
!=
null
?
name
.
equals
(
position
.
name
)
:
position
.
name
==
null
;
}
@Override
public
int
hashCode
()
{
return
name
!=
null
?
name
.
hashCode
()
:
0
;
}
public
Position
(
String
name
)
{
this
.
name
=
name
;
}
public
Long
getId
()
{
return
id
;
}
...
...
hrserver/src/main/java/org/sang/common/poi/PoiUtils.java
0 → 100644
浏览文件 @
0622e752
package
org.sang.common.poi
;
import
org.apache.poi.hpsf.DocumentSummaryInformation
;
import
org.apache.poi.hpsf.SummaryInformation
;
import
org.apache.poi.hssf.usermodel.*
;
import
org.apache.poi.poifs.filesystem.POIFSFileSystem
;
import
org.apache.poi.ss.usermodel.FillPatternType
;
import
org.apache.poi.ss.usermodel.IndexedColors
;
import
org.sang.bean.*
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.io.ByteArrayOutputStream
;
import
java.io.IOException
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* Created by sang on 2018/1/16.
*/
public
class
PoiUtils
{
public
static
ResponseEntity
<
byte
[]>
exportEmp2Excel
(
List
<
Employee
>
emps
)
{
HttpHeaders
headers
=
null
;
ByteArrayOutputStream
baos
=
null
;
try
{
//1.创建Excel文档
HSSFWorkbook
workbook
=
new
HSSFWorkbook
();
//2.创建文档摘要
workbook
.
createInformationProperties
();
//3.获取文档信息,并配置
DocumentSummaryInformation
dsi
=
workbook
.
getDocumentSummaryInformation
();
//3.1文档类别
dsi
.
setCategory
(
"员工信息"
);
//3.2设置文档管理员
dsi
.
setManager
(
"江南一点雨"
);
//3.3设置组织机构
dsi
.
setCompany
(
"XXX集团"
);
//4.获取摘要信息并配置
SummaryInformation
si
=
workbook
.
getSummaryInformation
();
//4.1设置文档主题
si
.
setSubject
(
"员工信息表"
);
//4.2.设置文档标题
si
.
setTitle
(
"员工信息"
);
//4.3 设置文档作者
si
.
setAuthor
(
"XXX集团"
);
//4.4设置文档备注
si
.
setComments
(
"备注信息暂无"
);
//创建Excel表单
HSSFSheet
sheet
=
workbook
.
createSheet
(
"XXX集团员工信息表"
);
//创建日期显示格式
HSSFCellStyle
dateCellStyle
=
workbook
.
createCellStyle
();
dateCellStyle
.
setDataFormat
(
HSSFDataFormat
.
getBuiltinFormat
(
"m/d/yy"
));
//创建标题的显示样式
HSSFCellStyle
headerStyle
=
workbook
.
createCellStyle
();
headerStyle
.
setFillForegroundColor
(
IndexedColors
.
YELLOW
.
index
);
headerStyle
.
setFillPattern
(
FillPatternType
.
SOLID_FOREGROUND
);
//定义列的宽度
sheet
.
setColumnWidth
(
0
,
5
*
256
);
sheet
.
setColumnWidth
(
1
,
12
*
256
);
sheet
.
setColumnWidth
(
2
,
10
*
256
);
sheet
.
setColumnWidth
(
3
,
5
*
256
);
sheet
.
setColumnWidth
(
4
,
12
*
256
);
//第四列(出生日期那一列)的宽度为10个字符的宽度
sheet
.
setColumnWidth
(
5
,
20
*
256
);
sheet
.
setColumnWidth
(
6
,
10
*
256
);
sheet
.
setColumnWidth
(
7
,
10
*
256
);
sheet
.
setColumnWidth
(
8
,
16
*
256
);
sheet
.
setColumnWidth
(
9
,
12
*
256
);
sheet
.
setColumnWidth
(
10
,
15
*
256
);
sheet
.
setColumnWidth
(
11
,
20
*
256
);
sheet
.
setColumnWidth
(
12
,
16
*
256
);
sheet
.
setColumnWidth
(
13
,
14
*
256
);
sheet
.
setColumnWidth
(
14
,
14
*
256
);
sheet
.
setColumnWidth
(
15
,
12
*
256
);
sheet
.
setColumnWidth
(
16
,
8
*
256
);
sheet
.
setColumnWidth
(
17
,
16
*
256
);
sheet
.
setColumnWidth
(
18
,
20
*
256
);
sheet
.
setColumnWidth
(
19
,
12
*
256
);
sheet
.
setColumnWidth
(
20
,
8
*
256
);
sheet
.
setColumnWidth
(
21
,
25
*
256
);
sheet
.
setColumnWidth
(
22
,
14
*
256
);
sheet
.
setColumnWidth
(
23
,
12
*
256
);
sheet
.
setColumnWidth
(
24
,
12
*
256
);
//5.设置表头
HSSFRow
headerRow
=
sheet
.
createRow
(
0
);
HSSFCell
cell0
=
headerRow
.
createCell
(
0
);
cell0
.
setCellValue
(
"编号"
);
cell0
.
setCellStyle
(
headerStyle
);
HSSFCell
cell1
=
headerRow
.
createCell
(
1
);
cell1
.
setCellValue
(
"姓名"
);
cell1
.
setCellStyle
(
headerStyle
);
HSSFCell
cell2
=
headerRow
.
createCell
(
2
);
cell2
.
setCellValue
(
"工号"
);
cell2
.
setCellStyle
(
headerStyle
);
HSSFCell
cell3
=
headerRow
.
createCell
(
3
);
cell3
.
setCellValue
(
"性别"
);
cell3
.
setCellStyle
(
headerStyle
);
HSSFCell
cell4
=
headerRow
.
createCell
(
4
);
cell4
.
setCellValue
(
"出生日期"
);
cell4
.
setCellStyle
(
headerStyle
);
HSSFCell
cell5
=
headerRow
.
createCell
(
5
);
cell5
.
setCellValue
(
"身份证号码"
);
cell5
.
setCellStyle
(
headerStyle
);
HSSFCell
cell6
=
headerRow
.
createCell
(
6
);
cell6
.
setCellValue
(
"婚姻状况"
);
cell6
.
setCellStyle
(
headerStyle
);
HSSFCell
cell7
=
headerRow
.
createCell
(
7
);
cell7
.
setCellValue
(
"民族"
);
cell7
.
setCellStyle
(
headerStyle
);
HSSFCell
cell8
=
headerRow
.
createCell
(
8
);
cell8
.
setCellValue
(
"籍贯"
);
cell8
.
setCellStyle
(
headerStyle
);
HSSFCell
cell9
=
headerRow
.
createCell
(
9
);
cell9
.
setCellValue
(
"政治面貌"
);
cell9
.
setCellStyle
(
headerStyle
);
HSSFCell
cell10
=
headerRow
.
createCell
(
10
);
cell10
.
setCellValue
(
"电话号码"
);
cell10
.
setCellStyle
(
headerStyle
);
HSSFCell
cell11
=
headerRow
.
createCell
(
11
);
cell11
.
setCellValue
(
"联系地址"
);
cell11
.
setCellStyle
(
headerStyle
);
HSSFCell
cell12
=
headerRow
.
createCell
(
12
);
cell12
.
setCellValue
(
"所属部门"
);
cell12
.
setCellStyle
(
headerStyle
);
HSSFCell
cell13
=
headerRow
.
createCell
(
13
);
cell13
.
setCellValue
(
"职称"
);
cell13
.
setCellStyle
(
headerStyle
);
HSSFCell
cell14
=
headerRow
.
createCell
(
14
);
cell14
.
setCellValue
(
"职位"
);
cell14
.
setCellStyle
(
headerStyle
);
HSSFCell
cell15
=
headerRow
.
createCell
(
15
);
cell15
.
setCellValue
(
"聘用形式"
);
cell15
.
setCellStyle
(
headerStyle
);
HSSFCell
cell16
=
headerRow
.
createCell
(
16
);
cell16
.
setCellValue
(
"最高学历"
);
cell16
.
setCellStyle
(
headerStyle
);
HSSFCell
cell17
=
headerRow
.
createCell
(
17
);
cell17
.
setCellValue
(
"专业"
);
cell17
.
setCellStyle
(
headerStyle
);
HSSFCell
cell18
=
headerRow
.
createCell
(
18
);
cell18
.
setCellValue
(
"毕业院校"
);
cell18
.
setCellStyle
(
headerStyle
);
HSSFCell
cell19
=
headerRow
.
createCell
(
19
);
cell19
.
setCellValue
(
"入职日期"
);
cell19
.
setCellStyle
(
headerStyle
);
HSSFCell
cell20
=
headerRow
.
createCell
(
20
);
cell20
.
setCellValue
(
"在职状态"
);
cell20
.
setCellStyle
(
headerStyle
);
HSSFCell
cell21
=
headerRow
.
createCell
(
21
);
cell21
.
setCellValue
(
"邮箱"
);
cell21
.
setCellStyle
(
headerStyle
);
HSSFCell
cell22
=
headerRow
.
createCell
(
22
);
cell22
.
setCellValue
(
"合同期限(年)"
);
cell22
.
setCellStyle
(
headerStyle
);
HSSFCell
cell23
=
headerRow
.
createCell
(
23
);
cell23
.
setCellValue
(
"合同起始日期"
);
cell23
.
setCellStyle
(
headerStyle
);
HSSFCell
cell24
=
headerRow
.
createCell
(
24
);
cell24
.
setCellValue
(
"合同终止日期"
);
cell24
.
setCellStyle
(
headerStyle
);
//6.装数据
for
(
int
i
=
0
;
i
<
emps
.
size
();
i
++)
{
HSSFRow
row
=
sheet
.
createRow
(
i
+
1
);
Employee
emp
=
emps
.
get
(
i
);
row
.
createCell
(
0
).
setCellValue
(
emp
.
getId
());
row
.
createCell
(
1
).
setCellValue
(
emp
.
getName
());
row
.
createCell
(
2
).
setCellValue
(
emp
.
getWorkID
());
row
.
createCell
(
3
).
setCellValue
(
emp
.
getGender
());
HSSFCell
birthdayCell
=
row
.
createCell
(
4
);
birthdayCell
.
setCellValue
(
emp
.
getBirthday
());
birthdayCell
.
setCellStyle
(
dateCellStyle
);
row
.
createCell
(
5
).
setCellValue
(
emp
.
getIdCard
());
row
.
createCell
(
6
).
setCellValue
(
emp
.
getWedlock
());
row
.
createCell
(
7
).
setCellValue
(
emp
.
getNation
().
getName
());
row
.
createCell
(
8
).
setCellValue
(
emp
.
getNativePlace
());
row
.
createCell
(
9
).
setCellValue
(
emp
.
getPoliticsStatus
().
getName
());
row
.
createCell
(
10
).
setCellValue
(
emp
.
getPhone
());
row
.
createCell
(
11
).
setCellValue
(
emp
.
getAddress
());
row
.
createCell
(
12
).
setCellValue
(
emp
.
getDepartment
().
getName
());
row
.
createCell
(
13
).
setCellValue
(
emp
.
getJobLevel
().
getName
());
row
.
createCell
(
14
).
setCellValue
(
emp
.
getPosition
().
getName
());
row
.
createCell
(
15
).
setCellValue
(
emp
.
getEngageForm
());
row
.
createCell
(
16
).
setCellValue
(
emp
.
getTiptopDegree
());
row
.
createCell
(
17
).
setCellValue
(
emp
.
getSpecialty
());
row
.
createCell
(
18
).
setCellValue
(
emp
.
getSchool
());
HSSFCell
beginDateCell
=
row
.
createCell
(
19
);
beginDateCell
.
setCellValue
(
emp
.
getBeginDate
());
beginDateCell
.
setCellStyle
(
dateCellStyle
);
row
.
createCell
(
20
).
setCellValue
(
emp
.
getWorkState
());
row
.
createCell
(
21
).
setCellValue
(
emp
.
getEmail
());
row
.
createCell
(
22
).
setCellValue
(
emp
.
getContractTerm
());
HSSFCell
beginContractCell
=
row
.
createCell
(
23
);
beginContractCell
.
setCellValue
(
emp
.
getBeginContract
());
beginContractCell
.
setCellStyle
(
dateCellStyle
);
HSSFCell
endContractCell
=
row
.
createCell
(
24
);
endContractCell
.
setCellValue
(
emp
.
getEndContract
());
endContractCell
.
setCellStyle
(
dateCellStyle
);
}
headers
=
new
HttpHeaders
();
headers
.
setContentDispositionFormData
(
"attachment"
,
new
String
(
"员工表.xls"
.
getBytes
(
"UTF-8"
),
"iso-8859-1"
));
headers
.
setContentType
(
MediaType
.
APPLICATION_OCTET_STREAM
);
baos
=
new
ByteArrayOutputStream
();
workbook
.
write
(
baos
);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
return
new
ResponseEntity
<
byte
[]>(
baos
.
toByteArray
(),
headers
,
HttpStatus
.
CREATED
);
}
public
static
List
<
Employee
>
importEmp2List
(
MultipartFile
file
,
List
<
Nation
>
allNations
,
List
<
PoliticsStatus
>
allPolitics
,
List
<
Department
>
allDeps
,
List
<
Position
>
allPos
,
List
<
JobLevel
>
allJobLevels
)
{
List
<
Employee
>
emps
=
new
ArrayList
<>();
try
{
HSSFWorkbook
workbook
=
new
HSSFWorkbook
(
new
POIFSFileSystem
(
file
.
getInputStream
()));
int
numberOfSheets
=
workbook
.
getNumberOfSheets
();
for
(
int
i
=
0
;
i
<
numberOfSheets
;
i
++)
{
HSSFSheet
sheet
=
workbook
.
getSheetAt
(
i
);
int
physicalNumberOfRows
=
sheet
.
getPhysicalNumberOfRows
();
Employee
employee
;
for
(
int
j
=
0
;
j
<
physicalNumberOfRows
;
j
++)
{
if
(
j
==
0
)
{
continue
;
//标题行
}
HSSFRow
row
=
sheet
.
getRow
(
j
);
if
(
row
==
null
)
{
continue
;
//没数据
}
int
physicalNumberOfCells
=
row
.
getPhysicalNumberOfCells
();
employee
=
new
Employee
();
for
(
int
k
=
0
;
k
<
physicalNumberOfCells
;
k
++)
{
HSSFCell
cell
=
row
.
getCell
(
k
);
switch
(
cell
.
getCellTypeEnum
())
{
case
STRING:
{
String
cellValue
=
cell
.
getStringCellValue
();
if
(
cellValue
==
null
)
{
cellValue
=
""
;
}
switch
(
k
)
{
case
1
:
employee
.
setName
(
cellValue
);
break
;
case
2
:
employee
.
setWorkID
(
cellValue
);
break
;
case
3
:
employee
.
setGender
(
cellValue
);
break
;
case
5
:
employee
.
setIdCard
(
cellValue
);
break
;
case
6
:
employee
.
setWedlock
(
cellValue
);
break
;
case
7
:
int
nationIndex
=
allNations
.
indexOf
(
new
Nation
(
cellValue
));
employee
.
setNationId
(
allNations
.
get
(
nationIndex
).
getId
());
break
;
case
8
:
employee
.
setNativePlace
(
cellValue
);
break
;
case
9
:
int
psIndex
=
allPolitics
.
indexOf
(
new
PoliticsStatus
(
cellValue
));
employee
.
setPoliticId
(
allPolitics
.
get
(
psIndex
).
getId
());
break
;
case
10
:
employee
.
setPhone
(
cellValue
);
break
;
case
11
:
employee
.
setAddress
(
cellValue
);
break
;
case
12
:
int
depIndex
=
allDeps
.
indexOf
(
new
Department
(
cellValue
));
employee
.
setDepartmentId
(
allDeps
.
get
(
depIndex
).
getId
());
break
;
case
13
:
int
jlIndex
=
allJobLevels
.
indexOf
(
new
JobLevel
(
cellValue
));
employee
.
setJobLevelId
(
allJobLevels
.
get
(
jlIndex
).
getId
());
break
;
case
14
:
int
posIndex
=
allPos
.
indexOf
(
new
Position
(
cellValue
));
employee
.
setPosId
(
allPos
.
get
(
posIndex
).
getId
());
break
;
case
15
:
employee
.
setEngageForm
(
cellValue
);
break
;
case
16
:
employee
.
setTiptopDegree
(
cellValue
);
break
;
case
17
:
employee
.
setSpecialty
(
cellValue
);
break
;
case
18
:
employee
.
setSchool
(
cellValue
);
break
;
case
19
:
case
20
:
employee
.
setWorkState
(
cellValue
);
break
;
case
21
:
employee
.
setEmail
(
cellValue
);
break
;
}
}
break
;
default
:
{
switch
(
k
)
{
case
4
:
employee
.
setBirthday
(
cell
.
getDateCellValue
());
break
;
case
19
:
employee
.
setBeginDate
(
cell
.
getDateCellValue
());
break
;
case
22
:
employee
.
setContractTerm
(
cell
.
getNumericCellValue
());
break
;
case
23
:
employee
.
setBeginContract
(
cell
.
getDateCellValue
());
break
;
case
24
:
employee
.
setEndContract
(
cell
.
getDateCellValue
());
break
;
}
}
break
;
}
}
emps
.
add
(
employee
);
}
}
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
return
emps
;
}
}
hrserver/src/main/java/org/sang/controller/emp/EmpBasicController.java
浏览文件 @
0622e752
...
...
@@ -2,12 +2,15 @@ package org.sang.controller.emp;
import
org.sang.bean.Employee
;
import
org.sang.bean.RespBean
;
import
org.sang.common.poi.PoiUtils
;
import
org.sang.service.DepartmentService
;
import
org.sang.service.EmpService
;
import
org.sang.service.JobLevelService
;
import
org.sang.service.PositionService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.util.HashMap
;
import
java.util.List
;
...
...
@@ -72,10 +75,24 @@ public class EmpBasicController {
@RequestMapping
(
value
=
"/emp"
,
method
=
RequestMethod
.
GET
)
public
Map
<
String
,
Object
>
getEmployeeByPage
(
@RequestParam
(
defaultValue
=
"1"
)
Integer
page
,
@RequestParam
(
defaultValue
=
"10"
)
Integer
size
,
@RequestParam
(
defaultValue
=
""
)
String
keywords
,
Long
politicId
,
Long
nationId
,
Long
posId
,
Long
jobLevelId
,
String
engageForm
,
Long
departmentId
,
String
beginDateScope
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
List
<
Employee
>
employeeByPage
=
empService
.
getEmployeeByPage
(
page
,
size
,
keywords
,
politicId
,
nationId
,
posId
,
jobLevelId
,
engageForm
,
departmentId
,
beginDateScope
);
Long
count
=
empService
.
getCountByKeywords
(
keywords
,
politicId
,
nationId
,
posId
,
jobLevelId
,
engageForm
,
departmentId
,
beginDateScope
);
List
<
Employee
>
employeeByPage
=
empService
.
getEmployeeByPage
(
page
,
size
,
keywords
,
politicId
,
nationId
,
posId
,
jobLevelId
,
engageForm
,
departmentId
,
beginDateScope
);
Long
count
=
empService
.
getCountByKeywords
(
keywords
,
politicId
,
nationId
,
posId
,
jobLevelId
,
engageForm
,
departmentId
,
beginDateScope
);
map
.
put
(
"emps"
,
employeeByPage
);
map
.
put
(
"count"
,
count
);
return
map
;
}
@RequestMapping
(
value
=
"/exportEmp"
,
method
=
RequestMethod
.
GET
)
public
ResponseEntity
<
byte
[]>
exportEmp
()
{
return
PoiUtils
.
exportEmp2Excel
(
empService
.
getAllEmployees
());
}
@RequestMapping
(
value
=
"/importEmp"
,
method
=
RequestMethod
.
POST
)
public
RespBean
importEmp
(
MultipartFile
file
)
{
List
<
Employee
>
emps
=
PoiUtils
.
importEmp2List
(
file
,
empService
.
getAllNations
(),
empService
.
getAllPolitics
(),
departmentService
.
getAllDeps
(),
positionService
.
getAllPos
(),
jobLevelService
.
getAllJobLevels
());
if
(
empService
.
addEmps
(
emps
)
==
emps
.
size
())
{
return
new
RespBean
(
"success"
,
"导入成功!"
);
}
return
new
RespBean
(
"error"
,
"导入失败!"
);
}
}
hrserver/src/main/java/org/sang/mapper/DepartmentMapper.java
浏览文件 @
0622e752
package
org.sang.mapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.sang.bean.Department
;
...
...
@@ -9,7 +8,6 @@ import java.util.List;
/**
* Created by sang on 2018/1/7.
*/
@Mapper
public
interface
DepartmentMapper
{
void
addDep
(
@Param
(
"dep"
)
Department
department
);
...
...
hrserver/src/main/java/org/sang/mapper/EmpMapper.java
浏览文件 @
0622e752
package
org.sang.mapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.sang.bean.Employee
;
import
org.sang.bean.Nation
;
...
...
@@ -12,7 +11,6 @@ import java.util.List;
/**
* Created by sang on 2018/1/12.
*/
@Mapper
public
interface
EmpMapper
{
List
<
Nation
>
getAllNations
();
...
...
@@ -22,11 +20,13 @@ public interface EmpMapper {
Long
getMaxId
();
List
<
Employee
>
getEmployeeByPage
(
@Param
(
"start"
)
int
start
,
@Param
(
"size"
)
Integer
size
,
@Param
(
"keywords"
)
String
keywords
,
@Param
(
"politicId"
)
Long
politicId
,
@Param
(
"nationId"
)
Long
nationId
,
@Param
(
"posId"
)
Long
posId
,
@Param
(
"jobLevelId"
)
Long
jobLevelId
,
@Param
(
"engageForm"
)
String
engageForm
,
@Param
(
"departmentId"
)
Long
departmentId
,
@Param
(
"startBeginDate"
)
Date
startBeginDate
,
@Param
(
"endBeginDate"
)
Date
endBeginDate
);
List
<
Employee
>
getEmployeeByPage
(
@Param
(
"start"
)
Integer
start
,
@Param
(
"size"
)
Integer
size
,
@Param
(
"keywords"
)
String
keywords
,
@Param
(
"politicId"
)
Long
politicId
,
@Param
(
"nationId"
)
Long
nationId
,
@Param
(
"posId"
)
Long
posId
,
@Param
(
"jobLevelId"
)
Long
jobLevelId
,
@Param
(
"engageForm"
)
String
engageForm
,
@Param
(
"departmentId"
)
Long
departmentId
,
@Param
(
"startBeginDate"
)
Date
startBeginDate
,
@Param
(
"endBeginDate"
)
Date
endBeginDate
);
Long
getCountByKeywords
(
@Param
(
"keywords"
)
String
keywords
,
@Param
(
"politicId"
)
Long
politicId
,
@Param
(
"nationId"
)
Long
nationId
,
@Param
(
"posId"
)
Long
posId
,
@Param
(
"jobLevelId"
)
Long
jobLevelId
,
@Param
(
"engageForm"
)
String
engageForm
,
@Param
(
"departmentId"
)
Long
departmentId
,
@Param
(
"startBeginDate"
)
Date
startBeginDate
,
@Param
(
"endBeginDate"
)
Date
endBeginDate
);
int
updateEmp
(
@Param
(
"emp"
)
Employee
employee
);
int
deleteEmpById
(
@Param
(
"ids"
)
String
[]
ids
);
int
addEmps
(
@Param
(
"emps"
)
List
<
Employee
>
emps
);
}
hrserver/src/main/java/org/sang/mapper/EmpMapper.xml
浏览文件 @
0622e752
...
...
@@ -112,7 +112,9 @@
<if
test=
"startBeginDate!=null and endBeginDate!=null"
>
AND e.beginDate BETWEEN #{startBeginDate} AND #{endBeginDate}
</if>
order by e.id limit #{start},#{size}
<if
test=
"start!=null and size!=null"
>
order by e.id limit #{start},#{size}
</if>
</select>
<select
id=
"getCountByKeywords"
resultType=
"Long"
>
SELECT count(*) FROM employee e WHERE e.name LIKE concat('%',#{keywords},'%')
...
...
@@ -225,4 +227,30 @@
#{id}
</foreach>
</delete>
<insert
id=
"addEmps"
>
insert into employee (name, gender,
birthday, idCard, wedlock, nationId,
nativePlace, politicId, email,
phone, address, departmentId,
jobLevelId, posId, engageForm,
tiptopDegree, specialty, school,
beginDate,workID,
contractTerm, conversionTime,
beginContract, endContract, workAge
)
values
<foreach
collection=
"emps"
item=
"emp"
separator=
","
>
(#{emp.name,jdbcType=VARCHAR}, #{emp.gender,jdbcType=CHAR},
#{emp.birthday,jdbcType=DATE}, #{emp.idCard,jdbcType=CHAR}, #{emp.wedlock,jdbcType=CHAR}, #{emp.nationId,jdbcType=BIGINT},
#{emp.nativePlace,jdbcType=VARCHAR}, #{emp.politicId,jdbcType=BIGINT}, #{emp.email,jdbcType=VARCHAR},
#{emp.phone,jdbcType=VARCHAR}, #{emp.address,jdbcType=VARCHAR}, #{emp.departmentId,jdbcType=BIGINT},
#{emp.jobLevelId,jdbcType=BIGINT}, #{emp.posId,jdbcType=BIGINT}, #{emp.engageForm,jdbcType=VARCHAR},
#{emp.tiptopDegree,jdbcType=VARCHAR}, #{emp.specialty,jdbcType=VARCHAR}, #{emp.school,jdbcType=VARCHAR},
#{emp.beginDate,jdbcType=DATE},#{emp.workID,jdbcType=BIGINT},
#{emp.contractTerm,jdbcType=BIGINT}, #{emp.conversionTime,jdbcType=DATE},
#{emp.beginContract,jdbcType=DATE}, #{emp.endContract,jdbcType=DATE}, #{emp.workAge,jdbcType=INTEGER}
)
</foreach>
</insert>
</mapper>
\ No newline at end of file
hrserver/src/main/java/org/sang/mapper/HrMapper.java
浏览文件 @
0622e752
package
org.sang.mapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.sang.bean.Hr
;
import
org.sang.bean.Role
;
...
...
@@ -10,7 +9,6 @@ import java.util.List;
/**
* Created by sang on 2017/12/28.
*/
@Mapper
public
interface
HrMapper
{
Hr
loadUserByUsername
(
String
username
);
...
...
hrserver/src/main/java/org/sang/mapper/JobLevelMapper.java
浏览文件 @
0622e752
package
org.sang.mapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.sang.bean.JobLevel
;
...
...
@@ -9,7 +8,6 @@ import java.util.List;
/**
* Created by sang on 2018/1/11.
*/
@Mapper
public
interface
JobLevelMapper
{
JobLevel
getJobLevelByName
(
String
name
);
...
...
hrserver/src/main/java/org/sang/mapper/MenuMapper.java
浏览文件 @
0622e752
package
org.sang.mapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.sang.bean.Menu
;
import
java.util.List
;
...
...
@@ -8,7 +7,6 @@ import java.util.List;
/**
* Created by sang on 2017/12/28.
*/
@Mapper
public
interface
MenuMapper
{
List
<
Menu
>
getAllMenu
();
...
...
hrserver/src/main/java/org/sang/mapper/MenuRoleMapper.java
浏览文件 @
0622e752
package
org.sang.mapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
/**
* Created by sang on 2018/1/2.
*/
@Mapper
public
interface
MenuRoleMapper
{
int
deleteMenuByRid
(
@Param
(
"rid"
)
Long
rid
);
...
...
hrserver/src/main/java/org/sang/mapper/PositionMapper.java
浏览文件 @
0622e752
package
org.sang.mapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.sang.bean.Position
;
...
...
@@ -9,7 +8,6 @@ import java.util.List;
/**
* Created by sang on 2018/1/10.
*/
@Mapper
public
interface
PositionMapper
{
int
addPos
(
@Param
(
"pos"
)
Position
pos
);
...
...
hrserver/src/main/java/org/sang/mapper/RoleMapper.java
浏览文件 @
0622e752
package
org.sang.mapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.sang.bean.Role
;
...
...
@@ -9,7 +8,6 @@ import java.util.List;
/**
* Created by sang on 2018/1/1.
*/
@Mapper
public
interface
RoleMapper
{
List
<
Role
>
roles
();
...
...
hrserver/src/main/java/org/sang/mapper/SystemMapper.java
浏览文件 @
0622e752
package
org.sang.mapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
/**
* Created by sang on 2017/12/29.
*/
@Mapper
public
interface
SystemMapper
{
}
hrserver/src/main/java/org/sang/service/EmpService.java
浏览文件 @
0622e752
...
...
@@ -74,7 +74,7 @@ public class EmpService {
}
catch
(
ParseException
e
)
{
}
}
return
empMapper
.
getCountByKeywords
(
keywords
,
politicId
,
nationId
,
posId
,
jobLevelId
,
engageForm
,
departmentId
,
startBeginDate
,
endBeginDate
);
return
empMapper
.
getCountByKeywords
(
keywords
,
politicId
,
nationId
,
posId
,
jobLevelId
,
engageForm
,
departmentId
,
startBeginDate
,
endBeginDate
);
}
public
int
updateEmp
(
Employee
employee
)
{
...
...
@@ -89,4 +89,12 @@ public class EmpService {
String
[]
split
=
ids
.
split
(
","
);
return
empMapper
.
deleteEmpById
(
split
)
==
split
.
length
;
}
public
List
<
Employee
>
getAllEmployees
()
{
return
empMapper
.
getEmployeeByPage
(
null
,
null
,
""
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
);
}
public
int
addEmps
(
List
<
Employee
>
emps
)
{
return
empMapper
.
addEmps
(
emps
);
}
}
hrserver/src/main/resources/static/index.html
浏览文件 @
0622e752
<!DOCTYPE html>
<html><head><meta
charset=
utf-8
><meta
name=
viewport
content=
"width=device-width,initial-scale=1"
><title>
微人事
</title><link
href=
/static/css/app.f2615d5e193d755da4ecf8e1fb3dab07.css
rel=
stylesheet
></head><body><div
id=
app
></div><script
type=
text/javascript
src=
/static/js/manifest.fe6408fbd2caed888c83.js
></script><script
type=
text/javascript
src=
/static/js/vendor.59f7a0d2e440c37c0dac.js
></script><script
type=
text/javascript
src=
/static/js/app.c9854a01d31fe48e8754.js
></script></body></html>
\ No newline at end of file
<!DOCTYPE html>
<html><head><meta
charset=
utf-8
><meta
name=
viewport
content=
"width=device-width,initial-scale=1"
><title>
微人事
</title><link
href=
/static/css/app.f2615d5e193d755da4ecf8e1fb3dab07.css
rel=
stylesheet
></head><body><div
id=
app
></div><script
type=
text/javascript
src=
/static/js/manifest.be68f676a39fdca2f847.js
></script><script
type=
text/javascript
src=
/static/js/vendor.59f7a0d2e440c37c0dac.js
></script><script
type=
text/javascript
src=
/static/js/app.c9854a01d31fe48e8754.js
></script></body></html>
\ No newline at end of file
hrserver/src/main/resources/static/static/js/0.640867a38d24e068d708.js
已删除
100644 → 0
浏览文件 @
3ab68b7e
此差异已折叠。
点击以展开。
hrserver/src/main/resources/static/static/js/0.640867a38d24e068d708.js.map
已删除
100644 → 0
浏览文件 @
3ab68b7e
因为 它太大了无法显示 source diff 。你可以改为
查看blob
。
hrserver/src/main/resources/static/static/js/0.6e1eaf951e3884240641.js
0 → 100644
浏览文件 @
0622e752
此差异已折叠。
点击以展开。
hrserver/src/main/resources/static/static/js/0.6e1eaf951e3884240641.js.map
0 → 100644
浏览文件 @
0622e752
因为 它太大了无法显示 source diff 。你可以改为
查看blob
。
hrserver/src/main/resources/static/static/js/5.0ee19f289a67c8d0f095.js
已删除
100644 → 0
浏览文件 @
3ab68b7e
此差异已折叠。
点击以展开。
hrserver/src/main/resources/static/static/js/5.0ee19f289a67c8d0f095.js.map
已删除
100644 → 0
浏览文件 @
3ab68b7e
此差异已折叠。
点击以展开。
hrserver/src/main/resources/static/static/js/5.6839c3dc451135a281ba.js
0 → 100644
浏览文件 @
0622e752
此差异已折叠。
点击以展开。
hrserver/src/main/resources/static/static/js/5.6839c3dc451135a281ba.js.map
0 → 100644
浏览文件 @
0622e752
此差异已折叠。
点击以展开。
hrserver/src/main/resources/static/static/js/manifest.
fe6408fbd2caed888c83
.js
→
hrserver/src/main/resources/static/static/js/manifest.
be68f676a39fdca2f847
.js
浏览文件 @
0622e752
!
function
(
e
){
var
n
=
window
.
webpackJsonp
;
window
.
webpackJsonp
=
function
(
r
,
c
,
a
){
for
(
var
f
,
i
,
u
,
d
=
0
,
s
=
[];
d
<
r
.
length
;
d
++
)
i
=
r
[
d
],
t
[
i
]
&&
s
.
push
(
t
[
i
][
0
]),
t
[
i
]
=
0
;
for
(
f
in
c
)
Object
.
prototype
.
hasOwnProperty
.
call
(
c
,
f
)
&&
(
e
[
f
]
=
c
[
f
]);
for
(
n
&&
n
(
r
,
c
,
a
);
s
.
length
;)
s
.
shift
()();
if
(
a
)
for
(
d
=
0
;
d
<
a
.
length
;
d
++
)
u
=
o
(
o
.
s
=
a
[
d
]);
return
u
};
var
r
=
{},
t
=
{
8
:
0
};
function
o
(
n
){
if
(
r
[
n
])
return
r
[
n
].
exports
;
var
t
=
r
[
n
]
=
{
i
:
n
,
l
:
!
1
,
exports
:{}};
return
e
[
n
].
call
(
t
.
exports
,
t
,
t
.
exports
,
o
),
t
.
l
=!
0
,
t
.
exports
}
o
.
e
=
function
(
e
){
var
n
=
t
[
e
];
if
(
0
===
n
)
return
new
Promise
(
function
(
e
){
e
()});
if
(
n
)
return
n
[
2
];
var
r
=
new
Promise
(
function
(
r
,
o
){
n
=
t
[
e
]
=
[
r
,
o
]});
n
[
2
]
=
r
;
var
c
=
document
.
getElementsByTagName
(
"
head
"
)[
0
],
a
=
document
.
createElement
(
"
script
"
);
a
.
type
=
"
text/javascript
"
,
a
.
charset
=
"
utf-8
"
,
a
.
async
=!
0
,
a
.
timeout
=
12
e4
,
o
.
nc
&&
a
.
setAttribute
(
"
nonce
"
,
o
.
nc
),
a
.
src
=
o
.
p
+
"
static/js/
"
+
e
+
"
.
"
+
{
0
:
"
640867a38d24e068d708
"
,
1
:
"
86ac68dee683d077f76d
"
,
2
:
"
9ff52b878e2c6af33db4
"
,
3
:
"
f2af1e5f79c4750ed876
"
,
4
:
"
b25d67ddc90d6ac44980
"
,
5
:
"
0ee19f289a67c8d0f095
"
,
6
:
"
59f7a0d2e440c37c0dac
"
,
7
:
"
c9854a01d31fe48e8754
"
}[
e
]
+
"
.js
"
;
var
f
=
setTimeout
(
i
,
12
e4
);
a
.
onerror
=
a
.
onload
=
i
;
function
i
(){
a
.
onerror
=
a
.
onload
=
null
,
clearTimeout
(
f
);
var
n
=
t
[
e
];
0
!==
n
&&
(
n
&&
n
[
1
](
new
Error
(
"
Loading chunk
"
+
e
+
"
failed.
"
)),
t
[
e
]
=
void
0
)}
return
c
.
appendChild
(
a
),
r
},
o
.
m
=
e
,
o
.
c
=
r
,
o
.
d
=
function
(
e
,
n
,
r
){
o
.
o
(
e
,
n
)
||
Object
.
defineProperty
(
e
,
n
,{
configurable
:
!
1
,
enumerable
:
!
0
,
get
:
r
})},
o
.
n
=
function
(
e
){
var
n
=
e
&&
e
.
__esModule
?
function
(){
return
e
.
default
}:
function
(){
return
e
};
return
o
.
d
(
n
,
"
a
"
,
n
),
n
},
o
.
o
=
function
(
e
,
n
){
return
Object
.
prototype
.
hasOwnProperty
.
call
(
e
,
n
)},
o
.
p
=
"
/
"
,
o
.
oe
=
function
(
e
){
throw
console
.
error
(
e
),
e
}}([]);
//# sourceMappingURL=manifest.fe6408fbd2caed888c83.js.map
\ No newline at end of file
!
function
(
e
){
var
n
=
window
.
webpackJsonp
;
window
.
webpackJsonp
=
function
(
r
,
c
,
a
){
for
(
var
f
,
i
,
u
,
d
=
0
,
s
=
[];
d
<
r
.
length
;
d
++
)
i
=
r
[
d
],
t
[
i
]
&&
s
.
push
(
t
[
i
][
0
]),
t
[
i
]
=
0
;
for
(
f
in
c
)
Object
.
prototype
.
hasOwnProperty
.
call
(
c
,
f
)
&&
(
e
[
f
]
=
c
[
f
]);
for
(
n
&&
n
(
r
,
c
,
a
);
s
.
length
;)
s
.
shift
()();
if
(
a
)
for
(
d
=
0
;
d
<
a
.
length
;
d
++
)
u
=
o
(
o
.
s
=
a
[
d
]);
return
u
};
var
r
=
{},
t
=
{
8
:
0
};
function
o
(
n
){
if
(
r
[
n
])
return
r
[
n
].
exports
;
var
t
=
r
[
n
]
=
{
i
:
n
,
l
:
!
1
,
exports
:{}};
return
e
[
n
].
call
(
t
.
exports
,
t
,
t
.
exports
,
o
),
t
.
l
=!
0
,
t
.
exports
}
o
.
e
=
function
(
e
){
var
n
=
t
[
e
];
if
(
0
===
n
)
return
new
Promise
(
function
(
e
){
e
()});
if
(
n
)
return
n
[
2
];
var
r
=
new
Promise
(
function
(
r
,
o
){
n
=
t
[
e
]
=
[
r
,
o
]});
n
[
2
]
=
r
;
var
c
=
document
.
getElementsByTagName
(
"
head
"
)[
0
],
a
=
document
.
createElement
(
"
script
"
);
a
.
type
=
"
text/javascript
"
,
a
.
charset
=
"
utf-8
"
,
a
.
async
=!
0
,
a
.
timeout
=
12
e4
,
o
.
nc
&&
a
.
setAttribute
(
"
nonce
"
,
o
.
nc
),
a
.
src
=
o
.
p
+
"
static/js/
"
+
e
+
"
.
"
+
{
0
:
"
6e1eaf951e3884240641
"
,
1
:
"
86ac68dee683d077f76d
"
,
2
:
"
9ff52b878e2c6af33db4
"
,
3
:
"
f2af1e5f79c4750ed876
"
,
4
:
"
b25d67ddc90d6ac44980
"
,
5
:
"
6839c3dc451135a281ba
"
,
6
:
"
59f7a0d2e440c37c0dac
"
,
7
:
"
c9854a01d31fe48e8754
"
}[
e
]
+
"
.js
"
;
var
f
=
setTimeout
(
i
,
12
e4
);
a
.
onerror
=
a
.
onload
=
i
;
function
i
(){
a
.
onerror
=
a
.
onload
=
null
,
clearTimeout
(
f
);
var
n
=
t
[
e
];
0
!==
n
&&
(
n
&&
n
[
1
](
new
Error
(
"
Loading chunk
"
+
e
+
"
failed.
"
)),
t
[
e
]
=
void
0
)}
return
c
.
appendChild
(
a
),
r
},
o
.
m
=
e
,
o
.
c
=
r
,
o
.
d
=
function
(
e
,
n
,
r
){
o
.
o
(
e
,
n
)
||
Object
.
defineProperty
(
e
,
n
,{
configurable
:
!
1
,
enumerable
:
!
0
,
get
:
r
})},
o
.
n
=
function
(
e
){
var
n
=
e
&&
e
.
__esModule
?
function
(){
return
e
.
default
}:
function
(){
return
e
};
return
o
.
d
(
n
,
"
a
"
,
n
),
n
},
o
.
o
=
function
(
e
,
n
){
return
Object
.
prototype
.
hasOwnProperty
.
call
(
e
,
n
)},
o
.
p
=
"
/
"
,
o
.
oe
=
function
(
e
){
throw
console
.
error
(
e
),
e
}}([]);
//# sourceMappingURL=manifest.be68f676a39fdca2f847.js.map
\ No newline at end of file
hrserver/src/main/resources/static/static/js/manifest.
fe6408fbd2caed888c83
.js.map
→
hrserver/src/main/resources/static/static/js/manifest.
be68f676a39fdca2f847
.js.map
浏览文件 @
0622e752
{"version":3,"sources":["webpack:///webpack/bootstrap 25a511294d1acc9aeef7"],"names":["parentJsonpFunction","window","chunkIds","moreModules","executeModules","moduleId","chunkId","result","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","shift","__webpack_require__","s","installedModules","8","exports","module","l","e","installedChunkData","Promise","resolve","promise","reject","head","document","getElementsByTagName","script","createElement","type","charset","async","timeout","nc","setAttribute","src","p","0","1","2","3","4","5","6","7","setTimeout","onScriptComplete","onerror","onload","clearTimeout","chunk","Error","undefined","appendChild","m","c","d","name","getter","o","defineProperty","configurable","enumerable","get","n","__esModule","object","property","oe","err","console","error"],"mappings":"aACA,IAAAA,EAAAC,OAAA,aACAA,OAAA,sBAAAC,EAAAC,EAAAC,GAIA,IADA,IAAAC,EAAAC,EAAAC,EAAAC,EAAA,EAAAC,KACQD,EAAAN,EAAAQ,OAAoBF,IAC5BF,EAAAJ,EAAAM,GACAG,EAAAL,IACAG,EAAAG,KAAAD,EAAAL,GAAA,IAEAK,EAAAL,GAAA,EAEA,IAAAD,KAAAF,EACAU,OAAAC,UAAAC,eAAAC,KAAAb,EAAAE,KACAY,EAAAZ,GAAAF,EAAAE,IAIA,IADAL,KAAAE,EAAAC,EAAAC,GACAK,EAAAC,QACAD,EAAAS,OAAAT,GAEA,GAAAL,EACA,IAAAI,EAAA,EAAYA,EAAAJ,EAAAM,OAA2BF,IACvCD,EAAAY,IAAAC,EAAAhB,EAAAI,IAGA,OAAAD,GAIA,IAAAc,KAGAV,GACAW,EAAA,GAIA,SAAAH,EAAAd,GAGA,GAAAgB,EAAAhB,GACA,OAAAgB,EAAAhB,GAAAkB,QAGA,IAAAC,EAAAH,EAAAhB,IACAG,EAAAH,EACAoB,GAAA,EACAF,YAUA,OANAN,EAAAZ,GAAAW,KAAAQ,EAAAD,QAAAC,IAAAD,QAAAJ,GAGAK,EAAAC,GAAA,EAGAD,EAAAD,QAKAJ,EAAAO,EAAA,SAAApB,GACA,IAAAqB,EAAAhB,EAAAL,GACA,OAAAqB,EACA,WAAAC,QAAA,SAAAC,GAA0CA,MAI1C,GAAAF,EACA,OAAAA,EAAA,GAIA,IAAAG,EAAA,IAAAF,QAAA,SAAAC,EAAAE,GACAJ,EAAAhB,EAAAL,IAAAuB,EAAAE,KAEAJ,EAAA,GAAAG,EAGA,IAAAE,EAAAC,SAAAC,qBAAA,WACAC,EAAAF,SAAAG,cAAA,UACAD,EAAAE,KAAA,kBACAF,EAAAG,QAAA,QACAH,EAAAI,OAAA,EACAJ,EAAAK,QAAA,KAEArB,EAAAsB,IACAN,EAAAO,aAAA,QAAAvB,EAAAsB,IAEAN,EAAAQ,IAAAxB,EAAAyB,EAAA,aAAAtC,EAAA,KAAwEuC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,wBAAwN9C,GAAA,MAChS,IAAAkC,EAAAa,WAAAC,EAAA,MACAnB,EAAAoB,QAAApB,EAAAqB,OAAAF,EACA,SAAAA,IAEAnB,EAAAoB,QAAApB,EAAAqB,OAAA,KACAC,aAAAjB,GACA,IAAAkB,EAAA/C,EAAAL,GACA,IAAAoD,IACAA,GACAA,EAAA,OAAAC,MAAA,iBAAArD,EAAA,aAEAK,EAAAL,QAAAsD,GAKA,OAFA5B,EAAA6B,YAAA1B,GAEAL,GAIAX,EAAA2C,EAAA7C,EAGAE,EAAA4C,EAAA1C,EAGAF,EAAA6C,EAAA,SAAAzC,EAAA0C,EAAAC,GACA/C,EAAAgD,EAAA5C,EAAA0C,IACApD,OAAAuD,eAAA7C,EAAA0C,GACAI,cAAA,EACAC,YAAA,EACAC,IAAAL,KAMA/C,EAAAqD,EAAA,SAAAhD,GACA,IAAA0C,EAAA1C,KAAAiD,WACA,WAA2B,OAAAjD,EAAA,SAC3B,WAAiC,OAAAA,GAEjC,OADAL,EAAA6C,EAAAE,EAAA,IAAAA,GACAA,GAIA/C,EAAAgD,EAAA,SAAAO,EAAAC,GAAsD,OAAA9D,OAAAC,UAAAC,eAAAC,KAAA0D,EAAAC,IAGtDxD,EAAAyB,EAAA,IAGAzB,EAAAyD,GAAA,SAAAC,GAA8D,MAApBC,QAAAC,MAAAF,GAAoBA","file":"static/js/manifest.fe6408fbd2caed888c83.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n \t\tif(executeModules) {\n \t\t\tfor(i=0; i < executeModules.length; i++) {\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = executeModules[i]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// objects to store loaded and loading chunks\n \tvar installedChunks = {\n \t\t8: 0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData === 0) {\n \t\t\treturn new Promise(function(resolve) { resolve(); });\n \t\t}\n\n \t\t// a Promise means \"currently loading\".\n \t\tif(installedChunkData) {\n \t\t\treturn installedChunkData[2];\n \t\t}\n\n \t\t// setup Promise in chunk cache\n \t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t});\n \t\tinstalledChunkData[2] = promise;\n\n \t\t// start chunk loading\n \t\tvar head = document.getElementsByTagName('head')[0];\n \t\tvar script = document.createElement('script');\n \t\tscript.type = 'text/javascript';\n \t\tscript.charset = 'utf-8';\n \t\tscript.async = true;\n \t\tscript.timeout = 120000;\n\n \t\tif (__webpack_require__.nc) {\n \t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t}\n \t\tscript.src = __webpack_require__.p + \"static/js/\" + chunkId + \".\" + {\"0\":\"640867a38d24e068d708\",\"1\":\"86ac68dee683d077f76d\",\"2\":\"9ff52b878e2c6af33db4\",\"3\":\"f2af1e5f79c4750ed876\",\"4\":\"b25d67ddc90d6ac44980\",\"5\":\"0ee19f289a67c8d0f095\",\"6\":\"59f7a0d2e440c37c0dac\",\"7\":\"c9854a01d31fe48e8754\"}[chunkId] + \".js\";\n \t\tvar timeout = setTimeout(onScriptComplete, 120000);\n \t\tscript.onerror = script.onload = onScriptComplete;\n \t\tfunction onScriptComplete() {\n \t\t\t// avoid mem leaks in IE.\n \t\t\tscript.onerror = script.onload = null;\n \t\t\tclearTimeout(timeout);\n \t\t\tvar chunk = installedChunks[chunkId];\n \t\t\tif(chunk !== 0) {\n \t\t\t\tif(chunk) {\n \t\t\t\t\tchunk[1](new Error('Loading chunk ' + chunkId + ' failed.'));\n \t\t\t\t}\n \t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t}\n \t\t};\n \t\thead.appendChild(script);\n\n \t\treturn promise;\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 25a511294d1acc9aeef7"],"sourceRoot":""}
\ No newline at end of file
{"version":3,"sources":["webpack:///webpack/bootstrap 8d82b403e8dc34969c27"],"names":["parentJsonpFunction","window","chunkIds","moreModules","executeModules","moduleId","chunkId","result","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","shift","__webpack_require__","s","installedModules","8","exports","module","l","e","installedChunkData","Promise","resolve","promise","reject","head","document","getElementsByTagName","script","createElement","type","charset","async","timeout","nc","setAttribute","src","p","0","1","2","3","4","5","6","7","setTimeout","onScriptComplete","onerror","onload","clearTimeout","chunk","Error","undefined","appendChild","m","c","d","name","getter","o","defineProperty","configurable","enumerable","get","n","__esModule","object","property","oe","err","console","error"],"mappings":"aACA,IAAAA,EAAAC,OAAA,aACAA,OAAA,sBAAAC,EAAAC,EAAAC,GAIA,IADA,IAAAC,EAAAC,EAAAC,EAAAC,EAAA,EAAAC,KACQD,EAAAN,EAAAQ,OAAoBF,IAC5BF,EAAAJ,EAAAM,GACAG,EAAAL,IACAG,EAAAG,KAAAD,EAAAL,GAAA,IAEAK,EAAAL,GAAA,EAEA,IAAAD,KAAAF,EACAU,OAAAC,UAAAC,eAAAC,KAAAb,EAAAE,KACAY,EAAAZ,GAAAF,EAAAE,IAIA,IADAL,KAAAE,EAAAC,EAAAC,GACAK,EAAAC,QACAD,EAAAS,OAAAT,GAEA,GAAAL,EACA,IAAAI,EAAA,EAAYA,EAAAJ,EAAAM,OAA2BF,IACvCD,EAAAY,IAAAC,EAAAhB,EAAAI,IAGA,OAAAD,GAIA,IAAAc,KAGAV,GACAW,EAAA,GAIA,SAAAH,EAAAd,GAGA,GAAAgB,EAAAhB,GACA,OAAAgB,EAAAhB,GAAAkB,QAGA,IAAAC,EAAAH,EAAAhB,IACAG,EAAAH,EACAoB,GAAA,EACAF,YAUA,OANAN,EAAAZ,GAAAW,KAAAQ,EAAAD,QAAAC,IAAAD,QAAAJ,GAGAK,EAAAC,GAAA,EAGAD,EAAAD,QAKAJ,EAAAO,EAAA,SAAApB,GACA,IAAAqB,EAAAhB,EAAAL,GACA,OAAAqB,EACA,WAAAC,QAAA,SAAAC,GAA0CA,MAI1C,GAAAF,EACA,OAAAA,EAAA,GAIA,IAAAG,EAAA,IAAAF,QAAA,SAAAC,EAAAE,GACAJ,EAAAhB,EAAAL,IAAAuB,EAAAE,KAEAJ,EAAA,GAAAG,EAGA,IAAAE,EAAAC,SAAAC,qBAAA,WACAC,EAAAF,SAAAG,cAAA,UACAD,EAAAE,KAAA,kBACAF,EAAAG,QAAA,QACAH,EAAAI,OAAA,EACAJ,EAAAK,QAAA,KAEArB,EAAAsB,IACAN,EAAAO,aAAA,QAAAvB,EAAAsB,IAEAN,EAAAQ,IAAAxB,EAAAyB,EAAA,aAAAtC,EAAA,KAAwEuC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,wBAAwN9C,GAAA,MAChS,IAAAkC,EAAAa,WAAAC,EAAA,MACAnB,EAAAoB,QAAApB,EAAAqB,OAAAF,EACA,SAAAA,IAEAnB,EAAAoB,QAAApB,EAAAqB,OAAA,KACAC,aAAAjB,GACA,IAAAkB,EAAA/C,EAAAL,GACA,IAAAoD,IACAA,GACAA,EAAA,OAAAC,MAAA,iBAAArD,EAAA,aAEAK,EAAAL,QAAAsD,GAKA,OAFA5B,EAAA6B,YAAA1B,GAEAL,GAIAX,EAAA2C,EAAA7C,EAGAE,EAAA4C,EAAA1C,EAGAF,EAAA6C,EAAA,SAAAzC,EAAA0C,EAAAC,GACA/C,EAAAgD,EAAA5C,EAAA0C,IACApD,OAAAuD,eAAA7C,EAAA0C,GACAI,cAAA,EACAC,YAAA,EACAC,IAAAL,KAMA/C,EAAAqD,EAAA,SAAAhD,GACA,IAAA0C,EAAA1C,KAAAiD,WACA,WAA2B,OAAAjD,EAAA,SAC3B,WAAiC,OAAAA,GAEjC,OADAL,EAAA6C,EAAAE,EAAA,IAAAA,GACAA,GAIA/C,EAAAgD,EAAA,SAAAO,EAAAC,GAAsD,OAAA9D,OAAAC,UAAAC,eAAAC,KAAA0D,EAAAC,IAGtDxD,EAAAyB,EAAA,IAGAzB,EAAAyD,GAAA,SAAAC,GAA8D,MAApBC,QAAAC,MAAAF,GAAoBA","file":"static/js/manifest.be68f676a39fdca2f847.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n \t\tif(executeModules) {\n \t\t\tfor(i=0; i < executeModules.length; i++) {\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = executeModules[i]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// objects to store loaded and loading chunks\n \tvar installedChunks = {\n \t\t8: 0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData === 0) {\n \t\t\treturn new Promise(function(resolve) { resolve(); });\n \t\t}\n\n \t\t// a Promise means \"currently loading\".\n \t\tif(installedChunkData) {\n \t\t\treturn installedChunkData[2];\n \t\t}\n\n \t\t// setup Promise in chunk cache\n \t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t});\n \t\tinstalledChunkData[2] = promise;\n\n \t\t// start chunk loading\n \t\tvar head = document.getElementsByTagName('head')[0];\n \t\tvar script = document.createElement('script');\n \t\tscript.type = 'text/javascript';\n \t\tscript.charset = 'utf-8';\n \t\tscript.async = true;\n \t\tscript.timeout = 120000;\n\n \t\tif (__webpack_require__.nc) {\n \t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t}\n \t\tscript.src = __webpack_require__.p + \"static/js/\" + chunkId + \".\" + {\"0\":\"6e1eaf951e3884240641\",\"1\":\"86ac68dee683d077f76d\",\"2\":\"9ff52b878e2c6af33db4\",\"3\":\"f2af1e5f79c4750ed876\",\"4\":\"b25d67ddc90d6ac44980\",\"5\":\"6839c3dc451135a281ba\",\"6\":\"59f7a0d2e440c37c0dac\",\"7\":\"c9854a01d31fe48e8754\"}[chunkId] + \".js\";\n \t\tvar timeout = setTimeout(onScriptComplete, 120000);\n \t\tscript.onerror = script.onload = onScriptComplete;\n \t\tfunction onScriptComplete() {\n \t\t\t// avoid mem leaks in IE.\n \t\t\tscript.onerror = script.onload = null;\n \t\t\tclearTimeout(timeout);\n \t\t\tvar chunk = installedChunks[chunkId];\n \t\t\tif(chunk !== 0) {\n \t\t\t\tif(chunk) {\n \t\t\t\t\tchunk[1](new Error('Loading chunk ' + chunkId + ' failed.'));\n \t\t\t\t}\n \t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t}\n \t\t};\n \t\thead.appendChild(script);\n\n \t\treturn promise;\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 8d82b403e8dc34969c27"],"sourceRoot":""}
\ No newline at end of file
vuehr/src/components/emp/EmpBasic.vue
浏览文件 @
0622e752
...
...
@@ -22,10 +22,26 @@
style=
"margin-right: 5px"
></i>
高级搜索
</el-button>
</div>
<el-button
type=
"primary"
size=
"mini"
style=
"margin-left: 5px;margin-right: 20px"
icon=
"el-icon-plus"
@
click=
"showAddEmpView"
>
添加员工
</el-button>
<div
style=
"margin-left: 5px;margin-right: 20px;display: inline"
>
<el-upload
:show-file-list=
"false"
accept=
"application/vnd.ms-excel"
action=
"/emp/basic/importEmp"
:on-success=
"fileUploadSuccess"
:on-error=
"fileUploadError"
:disabled=
"fileUploadBtnText=='正在导入'"
:before-upload=
"beforeFileUpload"
style=
"display: inline"
>
<el-button
size=
"mini"
type=
"success"
:loading=
"fileUploadBtnText=='正在导入'"
><i
class=
"fa fa-lg fa-level-up"
style=
"margin-right: 5px"
></i>
{{
fileUploadBtnText
}}
</el-button>
</el-upload>
<el-button
type=
"success"
size=
"mini"
@
click=
"exportEmps"
><i
class=
"fa fa-lg fa-level-down"
style=
"margin-right: 5px"
></i>
导出数据
</el-button>
<el-button
type=
"primary"
size=
"mini"
icon=
"el-icon-plus"
@
click=
"showAddEmpView"
>
添加员工
</el-button>
</div>
</el-header>
<el-main
style=
"padding-left: 0px;padding-top: 0px"
>
<div>
...
...
@@ -586,6 +602,7 @@
return
{
emps
:
[],
keywords
:
''
,
fileUploadBtnText
:
'
导入数据
'
,
beginDateScope
:
''
,
faangledoubleup
:
'
fa-angle-double-up
'
,
faangledoubledown
:
'
fa-angle-double-down
'
,
...
...
@@ -687,6 +704,30 @@
this
.
loadEmps
();
},
methods
:
{
fileUploadSuccess
(
response
,
file
,
fileList
){
if
(
response
)
{
this
.
$message
({
type
:
response
.
status
,
message
:
response
.
msg
});
}
this
.
loadEmps
();
this
.
fileUploadBtnText
=
'
导入数据
'
;
},
fileUploadError
(
err
,
file
,
fileList
){
this
.
$message
({
type
:
'
error
'
,
message
:
"
导入失败!
"
});
this
.
fileUploadBtnText
=
'
导入数据
'
;
},
beforeFileUpload
(
file
){
this
.
fileUploadBtnText
=
'
正在导入
'
;
},
exportEmps
(){
// var iframe = document.createElement("iframe");
// iframe.style.display = 'none';
// iframe.src = "/emp/basic/exportEmp";
// iframe.onload=function () {
// document.body.removeChild(iframe);
// }
// document.body.appendChild(iframe);
window
.
open
(
"
/emp/basic/exportEmp
"
,
"
_parent
"
);
},
cancelSearch
(){
this
.
advanceSearchViewVisible
=
false
;
this
.
emptyEmpData
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录