Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
_江南一点雨
vhr
提交
a6c86dcc
V
vhr
项目概览
_江南一点雨
/
vhr
10 个月 前同步成功
通知
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 搜索 >>
提交
a6c86dcc
编写于
1月 12, 2018
作者:
江
江南一点雨
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
增加了职位管理与职称管理
上级
d34fae00
变更
29
展开全部
隐藏空白更改
内联
并排
Showing
29 changed file
with
593 addition
and
132 deletion
+593
-132
hrserver/src/main/java/org/sang/bean/JobLevel.java
hrserver/src/main/java/org/sang/bean/JobLevel.java
+45
-0
hrserver/src/main/java/org/sang/bean/Position.java
hrserver/src/main/java/org/sang/bean/Position.java
+36
-0
hrserver/src/main/java/org/sang/controller/system/SystemBasicController.java
...ava/org/sang/controller/system/SystemBasicController.java
+73
-11
hrserver/src/main/java/org/sang/mapper/JobLevelMapper.java
hrserver/src/main/java/org/sang/mapper/JobLevelMapper.java
+23
-0
hrserver/src/main/java/org/sang/mapper/JobLevelMapper.xml
hrserver/src/main/java/org/sang/mapper/JobLevelMapper.xml
+33
-0
hrserver/src/main/java/org/sang/mapper/PositionMapper.java
hrserver/src/main/java/org/sang/mapper/PositionMapper.java
+24
-0
hrserver/src/main/java/org/sang/mapper/PositionMapper.xml
hrserver/src/main/java/org/sang/mapper/PositionMapper.xml
+24
-0
hrserver/src/main/java/org/sang/service/JobLevelService.java
hrserver/src/main/java/org/sang/service/JobLevelService.java
+39
-0
hrserver/src/main/java/org/sang/service/PositionService.java
hrserver/src/main/java/org/sang/service/PositionService.java
+41
-0
hrserver/src/main/resources/static/index.html
hrserver/src/main/resources/static/index.html
+1
-1
hrserver/src/main/resources/static/static/js/0.19a7106de03fc2a0ce38.js
...main/resources/static/static/js/0.19a7106de03fc2a0ce38.js
+0
-2
hrserver/src/main/resources/static/static/js/0.19a7106de03fc2a0ce38.js.map
.../resources/static/static/js/0.19a7106de03fc2a0ce38.js.map
+0
-1
hrserver/src/main/resources/static/static/js/0.a3264ac089a735c69ff5.js
...main/resources/static/static/js/0.a3264ac089a735c69ff5.js
+2
-0
hrserver/src/main/resources/static/static/js/0.a3264ac089a735c69ff5.js.map
.../resources/static/static/js/0.a3264ac089a735c69ff5.js.map
+1
-0
hrserver/src/main/resources/static/static/js/1.6baadbf583910ce36083.js
...main/resources/static/static/js/1.6baadbf583910ce36083.js
+0
-2
hrserver/src/main/resources/static/static/js/1.6baadbf583910ce36083.js.map
.../resources/static/static/js/1.6baadbf583910ce36083.js.map
+0
-1
hrserver/src/main/resources/static/static/js/1.85bff9c034d28d2184a5.js
...main/resources/static/static/js/1.85bff9c034d28d2184a5.js
+2
-0
hrserver/src/main/resources/static/static/js/1.85bff9c034d28d2184a5.js.map
.../resources/static/static/js/1.85bff9c034d28d2184a5.js.map
+1
-0
hrserver/src/main/resources/static/static/js/app.59c317cd795b42477f9c.js
...in/resources/static/static/js/app.59c317cd795b42477f9c.js
+0
-2
hrserver/src/main/resources/static/static/js/app.59c317cd795b42477f9c.js.map
...esources/static/static/js/app.59c317cd795b42477f9c.js.map
+0
-1
hrserver/src/main/resources/static/static/js/app.dfa620b6af45f973da76.js
...in/resources/static/static/js/app.dfa620b6af45f973da76.js
+2
-0
hrserver/src/main/resources/static/static/js/app.dfa620b6af45f973da76.js.map
...esources/static/static/js/app.dfa620b6af45f973da76.js.map
+1
-0
hrserver/src/main/resources/static/static/js/manifest.36f620a93237261123f0.js
...sources/static/static/js/manifest.36f620a93237261123f0.js
+2
-0
hrserver/src/main/resources/static/static/js/manifest.36f620a93237261123f0.js.map
...ces/static/static/js/manifest.36f620a93237261123f0.js.map
+1
-1
vuehr/src/components/system/SysBasic.vue
vuehr/src/components/system/SysBasic.vue
+2
-2
vuehr/src/components/system/basic/DepMana.vue.bak
vuehr/src/components/system/basic/DepMana.vue.bak
+0
-107
vuehr/src/components/system/basic/JobTitleMana.vue
vuehr/src/components/system/basic/JobTitleMana.vue
+3
-0
vuehr/src/components/system/basic/PosMana.vue
vuehr/src/components/system/basic/PosMana.vue
+233
-1
vuehr/src/main.js
vuehr/src/main.js
+4
-0
未找到文件。
hrserver/src/main/java/org/sang/bean/JobLevel.java
0 → 100644
浏览文件 @
a6c86dcc
package
org.sang.bean
;
import
java.sql.Timestamp
;
/**
* Created by sang on 2018/1/11.
*/
public
class
JobLevel
{
private
Long
id
;
private
String
name
;
private
String
titleLevel
;
private
Timestamp
createDate
;
public
Long
getId
()
{
return
id
;
}
public
void
setId
(
Long
id
)
{
this
.
id
=
id
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getTitleLevel
()
{
return
titleLevel
;
}
public
void
setTitleLevel
(
String
titleLevel
)
{
this
.
titleLevel
=
titleLevel
;
}
public
Timestamp
getCreateDate
()
{
return
createDate
;
}
public
void
setCreateDate
(
Timestamp
createDate
)
{
this
.
createDate
=
createDate
;
}
}
hrserver/src/main/java/org/sang/bean/Position.java
0 → 100644
浏览文件 @
a6c86dcc
package
org.sang.bean
;
import
java.sql.Timestamp
;
/**
* Created by sang on 2018/1/10.
*/
public
class
Position
{
private
Long
id
;
private
String
name
;
private
Timestamp
createDate
;
public
Long
getId
()
{
return
id
;
}
public
void
setId
(
Long
id
)
{
this
.
id
=
id
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
Timestamp
getCreateDate
()
{
return
createDate
;
}
public
void
setCreateDate
(
Timestamp
createDate
)
{
this
.
createDate
=
createDate
;
}
}
hrserver/src/main/java/org/sang/controller/system/SystemBasicController.java
浏览文件 @
a6c86dcc
package
org.sang.controller.system
;
import
org.sang.bean.Department
;
import
org.sang.bean.Menu
;
import
org.sang.bean.RespBean
;
import
org.sang.bean.Role
;
import
org.sang.service.DepartmentService
;
import
org.sang.service.MenuRoleService
;
import
org.sang.service.MenuService
;
import
org.sang.service.RoleService
;
import
org.sang.bean.*
;
import
org.sang.service.*
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
...
@@ -32,6 +26,10 @@ public class SystemBasicController {
MenuRoleService
menuRoleService
;
@Autowired
DepartmentService
departmentService
;
@Autowired
PositionService
positionService
;
@Autowired
JobLevelService
jobLevelService
;
@RequestMapping
(
value
=
"/role/{rid}"
,
method
=
RequestMethod
.
DELETE
)
public
RespBean
deleteRole
(
@PathVariable
Long
rid
)
{
...
...
@@ -73,7 +71,7 @@ public class SystemBasicController {
}
@RequestMapping
(
value
=
"/dep"
,
method
=
RequestMethod
.
POST
)
public
Map
<
String
,
Object
>
addDep
(
Department
department
)
{
public
Map
<
String
,
Object
>
addDep
(
Department
department
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
if
(
departmentService
.
addDep
(
department
)
==
1
)
{
map
.
put
(
"status"
,
"success"
);
...
...
@@ -93,13 +91,77 @@ public class SystemBasicController {
return
new
RespBean
(
"error"
,
"删除失败!"
);
}
@RequestMapping
(
value
=
"/dep/{pid}"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"/dep/{pid}"
,
method
=
RequestMethod
.
GET
)
public
List
<
Department
>
getDepByPid
(
@PathVariable
Long
pid
)
{
return
departmentService
.
getDepByPid
(
pid
);
}
@RequestMapping
(
value
=
"/deps"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"/deps"
,
method
=
RequestMethod
.
GET
)
public
List
<
Department
>
getAllDeps
()
{
return
departmentService
.
getAllDeps
();
}
@RequestMapping
(
value
=
"/position"
,
method
=
RequestMethod
.
POST
)
public
RespBean
addPos
(
Position
pos
)
{
int
result
=
positionService
.
addPos
(
pos
);
if
(
result
==
1
)
{
return
new
RespBean
(
"success"
,
"添加成功!"
);
}
else
if
(
result
==
-
1
)
{
return
new
RespBean
(
"error"
,
"职位名重复,添加失败!"
);
}
return
new
RespBean
(
"error"
,
"添加失败!"
);
}
@RequestMapping
(
value
=
"/positions"
,
method
=
RequestMethod
.
GET
)
public
List
<
Position
>
getAllPos
()
{
return
positionService
.
getAllPos
();
}
@RequestMapping
(
"/position/{pids}"
)
public
RespBean
deletePosById
(
@PathVariable
String
pids
)
{
if
(
positionService
.
deletePosById
(
pids
))
{
return
new
RespBean
(
"success"
,
"删除成功!"
);
}
return
new
RespBean
(
"error"
,
"删除失败!"
);
}
@RequestMapping
(
value
=
"/position"
,
method
=
RequestMethod
.
PUT
)
public
RespBean
updatePosById
(
Position
position
)
{
if
(
positionService
.
updatePosById
(
position
)
==
1
)
{
return
new
RespBean
(
"success"
,
"修改成功!"
);
}
return
new
RespBean
(
"error"
,
"修改失败!"
);
}
@RequestMapping
(
value
=
"/joblevel"
,
method
=
RequestMethod
.
POST
)
public
RespBean
addJobLevel
(
JobLevel
jobLevel
)
{
int
result
=
jobLevelService
.
addJobLevel
(
jobLevel
);
if
(
result
==
1
)
{
return
new
RespBean
(
"success"
,
"添加成功!"
);
}
else
if
(
result
==
-
1
)
{
return
new
RespBean
(
"error"
,
"职称名重复,添加失败!"
);
}
return
new
RespBean
(
"error"
,
"添加失败!"
);
}
@RequestMapping
(
value
=
"/joblevels"
,
method
=
RequestMethod
.
GET
)
public
List
<
JobLevel
>
getAllJobLevels
()
{
return
jobLevelService
.
getAllJobLevels
();
}
@RequestMapping
(
value
=
"/joblevel/{ids}"
,
method
=
RequestMethod
.
DELETE
)
public
RespBean
deleteJobLevelById
(
@PathVariable
String
ids
)
{
if
(
jobLevelService
.
deleteJobLevelById
(
ids
))
{
return
new
RespBean
(
"success"
,
"删除成功!"
);
}
return
new
RespBean
(
"error"
,
"删除失败!"
);
}
@RequestMapping
(
value
=
"/joblevel"
,
method
=
RequestMethod
.
PUT
)
public
RespBean
updateJobLevel
(
JobLevel
jobLevel
)
{
if
(
jobLevelService
.
updateJobLevel
(
jobLevel
)
==
1
)
{
return
new
RespBean
(
"success"
,
"修改成功!"
);
}
return
new
RespBean
(
"error"
,
"修改失败!"
);
}
}
hrserver/src/main/java/org/sang/mapper/JobLevelMapper.java
0 → 100644
浏览文件 @
a6c86dcc
package
org.sang.mapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.sang.bean.JobLevel
;
import
java.util.List
;
/**
* Created by sang on 2018/1/11.
*/
@Mapper
public
interface
JobLevelMapper
{
JobLevel
getJobLevelByName
(
String
name
);
int
addJobLevel
(
@Param
(
"jobLevel"
)
JobLevel
jobLevel
);
List
<
JobLevel
>
getAllJobLevels
();
int
deleteJobLevelById
(
@Param
(
"ids"
)
String
[]
ids
);
int
updateJobLevel
(
@Param
(
"jobLevel"
)
JobLevel
jobLevel
);
}
hrserver/src/main/java/org/sang/mapper/JobLevelMapper.xml
0 → 100644
浏览文件 @
a6c86dcc
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"org.sang.mapper.JobLevelMapper"
>
<select
id=
"getJobLevelByName"
parameterType=
"string"
resultType=
"org.sang.bean.JobLevel"
>
select * from joblevel WHERE name=#{name};
</select>
<insert
id=
"addJobLevel"
parameterType=
"org.sang.bean.JobLevel"
>
INSERT INTO joblevel SET name=#{jobLevel.name},titleLevel=#{jobLevel.titleLevel}
</insert>
<select
id=
"getAllJobLevels"
resultType=
"org.sang.bean.JobLevel"
>
select * from joblevel WHERE enabled=true;
</select>
<delete
id=
"deleteJobLevelById"
>
DELETE FROM joblevel WHERE id IN
<foreach
collection=
"ids"
item=
"id"
close=
")"
open=
"("
separator=
","
>
#{id}
</foreach>
</delete>
<update
id=
"updateJobLevel"
>
UPDATE joblevel
<set>
<if
test=
"jobLevel.name!=null"
>
name=#{jobLevel.name},
</if>
<if
test=
"jobLevel.titleLevel!=null"
>
titleLevel=#{jobLevel.titleLevel},
</if>
</set>
WHERE id=#{jobLevel.id}
</update>
</mapper>
\ No newline at end of file
hrserver/src/main/java/org/sang/mapper/PositionMapper.java
0 → 100644
浏览文件 @
a6c86dcc
package
org.sang.mapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.sang.bean.Position
;
import
java.util.List
;
/**
* Created by sang on 2018/1/10.
*/
@Mapper
public
interface
PositionMapper
{
int
addPos
(
@Param
(
"pos"
)
Position
pos
);
Position
getPosByName
(
String
name
);
List
<
Position
>
getAllPos
();
int
deletePosById
(
@Param
(
"pids"
)
String
[]
pids
);
int
updatePosById
(
@Param
(
"pos"
)
Position
position
);
}
hrserver/src/main/java/org/sang/mapper/PositionMapper.xml
0 → 100644
浏览文件 @
a6c86dcc
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"org.sang.mapper.PositionMapper"
>
<insert
id=
"addPos"
parameterType=
"org.sang.bean.Position"
>
INSERT INTO position set name=#{pos.name}
</insert>
<select
id=
"getPosByName"
resultType=
"org.sang.bean.Position"
>
SELECT * FROM position WHERE name=#{name}
</select>
<select
id=
"getAllPos"
resultType=
"org.sang.bean.Position"
>
SELECT * FROM position WHERE enabled=true ORDER BY id;
</select>
<delete
id=
"deletePosById"
>
DELETE FROM position WHERE id IN
<foreach
collection=
"pids"
item=
"pid"
separator=
","
open=
"("
close=
")"
>
#{pid}
</foreach>
</delete>
<update
id=
"updatePosById"
>
UPDATE position set name=#{pos.name} WHERE id=#{pos.id}
</update>
</mapper>
\ No newline at end of file
hrserver/src/main/java/org/sang/service/JobLevelService.java
0 → 100644
浏览文件 @
a6c86dcc
package
org.sang.service
;
import
org.sang.bean.JobLevel
;
import
org.sang.mapper.JobLevelMapper
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.List
;
/**
* Created by sang on 2018/1/11.
*/
@Service
@Transactional
public
class
JobLevelService
{
@Autowired
JobLevelMapper
jobLevelMapper
;
public
int
addJobLevel
(
JobLevel
jobLevel
)
{
if
(
jobLevelMapper
.
getJobLevelByName
(
jobLevel
.
getName
())
!=
null
)
{
return
-
1
;
}
return
jobLevelMapper
.
addJobLevel
(
jobLevel
);
}
public
List
<
JobLevel
>
getAllJobLevels
()
{
return
jobLevelMapper
.
getAllJobLevels
();
}
public
boolean
deleteJobLevelById
(
String
ids
)
{
String
[]
split
=
ids
.
split
(
","
);
return
jobLevelMapper
.
deleteJobLevelById
(
split
)
==
split
.
length
;
}
public
int
updateJobLevel
(
JobLevel
jobLevel
)
{
return
jobLevelMapper
.
updateJobLevel
(
jobLevel
);
}
}
hrserver/src/main/java/org/sang/service/PositionService.java
0 → 100644
浏览文件 @
a6c86dcc
package
org.sang.service
;
import
org.sang.bean.JobLevel
;
import
org.sang.bean.Position
;
import
org.sang.mapper.PositionMapper
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.List
;
/**
* Created by sang on 2018/1/10.
*/
@Service
@Transactional
public
class
PositionService
{
@Autowired
PositionMapper
positionMapper
;
public
int
addPos
(
Position
pos
)
{
if
(
positionMapper
.
getPosByName
(
pos
.
getName
())
!=
null
)
{
return
-
1
;
}
return
positionMapper
.
addPos
(
pos
);
}
public
List
<
Position
>
getAllPos
()
{
return
positionMapper
.
getAllPos
();
}
public
boolean
deletePosById
(
String
pids
)
{
String
[]
split
=
pids
.
split
(
","
);
return
positionMapper
.
deletePosById
(
split
)
==
split
.
length
;
}
public
int
updatePosById
(
Position
position
)
{
return
positionMapper
.
updatePosById
(
position
);
}
}
hrserver/src/main/resources/static/index.html
浏览文件 @
a6c86dcc
<!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.363128df4d9f785782cc853515db018c.css
rel=
stylesheet
></head><body><div
id=
app
></div><script
type=
text/javascript
src=
/static/js/manifest.6a421ea0ecff5b05d027.js
></script><script
type=
text/javascript
src=
/static/js/vendor.59f7a0d2e440c37c0dac.js
></script><script
type=
text/javascript
src=
/static/js/app.59c317cd795b42477f9c.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.363128df4d9f785782cc853515db018c.css
rel=
stylesheet
></head><body><div
id=
app
></div><script
type=
text/javascript
src=
/static/js/manifest.36f620a93237261123f0.js
></script><script
type=
text/javascript
src=
/static/js/vendor.59f7a0d2e440c37c0dac.js
></script><script
type=
text/javascript
src=
/static/js/app.dfa620b6af45f973da76.js
></script></body></html>
\ No newline at end of file
hrserver/src/main/resources/static/static/js/0.19a7106de03fc2a0ce38.js
已删除
100644 → 0
浏览文件 @
d34fae00
此差异已折叠。
点击以展开。
hrserver/src/main/resources/static/static/js/0.19a7106de03fc2a0ce38.js.map
已删除
100644 → 0
浏览文件 @
d34fae00
此差异已折叠。
点击以展开。
hrserver/src/main/resources/static/static/js/0.a3264ac089a735c69ff5.js
0 → 100644
浏览文件 @
a6c86dcc
此差异已折叠。
点击以展开。
hrserver/src/main/resources/static/static/js/0.a3264ac089a735c69ff5.js.map
0 → 100644
浏览文件 @
a6c86dcc
此差异已折叠。
点击以展开。
hrserver/src/main/resources/static/static/js/1.6baadbf583910ce36083.js
已删除
100644 → 0
浏览文件 @
d34fae00
webpackJsonp
([
1
],{
"
/LNZ
"
:
function
(
e
,
t
,
n
){
"
use strict
"
;
Object
.
defineProperty
(
t
,
"
__esModule
"
,{
value
:
!
0
});
var
s
=
{
render
:
function
(){
this
.
$createElement
;
this
.
_self
.
_c
;
return
this
.
_m
(
0
)},
staticRenderFns
:[
function
(){
var
e
=
this
.
$createElement
,
t
=
this
.
_self
.
_c
||
e
;
return
t
(
"
div
"
,[
t
(
"
h1
"
,[
this
.
_v
(
"
职位管理
"
)])])}]},
a
=
n
(
"
VU/8
"
)(
null
,
s
,
!
1
,
null
,
null
,
null
);
t
.
default
=
a
.
exports
},
"
5xQo
"
:
function
(
e
,
t
,
n
){
"
use strict
"
;
Object
.
defineProperty
(
t
,
"
__esModule
"
,{
value
:
!
0
});
var
s
=
{
render
:
function
(){
this
.
$createElement
;
this
.
_self
.
_c
;
return
this
.
_m
(
0
)},
staticRenderFns
:[
function
(){
var
e
=
this
.
$createElement
,
t
=
this
.
_self
.
_c
||
e
;
return
t
(
"
div
"
,[
t
(
"
h1
"
,[
this
.
_v
(
"
奖惩规则
"
)])])}]},
a
=
n
(
"
VU/8
"
)(
null
,
s
,
!
1
,
null
,
null
,
null
);
t
.
default
=
a
.
exports
},
"
9bBU
"
:
function
(
e
,
t
,
n
){
n
(
"
mClu
"
);
var
s
=
n
(
"
FeBl
"
).
Object
;
e
.
exports
=
function
(
e
,
t
,
n
){
return
s
.
defineProperty
(
e
,
t
,
n
)}},
C4MV
:
function
(
e
,
t
,
n
){
e
.
exports
=
{
default
:
n
(
"
9bBU
"
),
__esModule
:
!
0
}},
FvOz
:
function
(
e
,
t
,
n
){
"
use strict
"
;
Object
.
defineProperty
(
t
,
"
__esModule
"
,{
value
:
!
0
});
var
s
=
n
(
"
bOdI
"
),
a
=
n
.
n
(
s
),
i
=
{
data
:
function
(){
return
{
keywords
:
""
,
depName
:
""
,
treeLoading
:
!
1
,
dialogVisible
:
!
1
,
allDeps
:[],
pDep
:
""
,
treeData
:[],
defaultProps
:{
label
:
"
name
"
,
isLeaf
:
"
leaf
"
,
children
:
"
children
"
}}},
mounted
:
function
(){
this
.
treeLoading
=!
0
,
this
.
loadTreeData
()},
watch
:{
keywords
:
function
(
e
){
this
.
$refs
.
tree
.
filter
(
e
)}},
methods
:{
filterNode
:
function
(
e
,
t
){
return
!
e
||-
1
!==
t
.
name
.
indexOf
(
e
)},
loadTreeData
:
function
(){
var
e
=
this
;
this
.
getRequest
(
"
/system/basic/dep/-1
"
).
then
(
function
(
t
){
e
.
treeLoading
=!
1
,
t
&&
200
==
t
.
status
&&
(
e
.
treeData
=
t
.
data
)})},
setDataToTree
:
function
(
e
,
t
,
n
){
for
(
var
s
=
0
;
s
<
e
.
length
;
s
++
){
var
a
=
e
[
s
];
if
(
a
.
id
==
t
)
return
void
(
e
[
s
].
children
=
e
[
s
].
children
.
concat
(
n
));
this
.
setDataToTree
(
a
.
children
,
t
,
n
)}},
addDep
:
function
(){
var
e
=
this
;
this
.
dialogVisible
=!
1
,
this
.
treeLoading
=!
0
,
this
.
postRequest
(
"
/system/basic/dep
"
,{
name
:
this
.
depName
,
parentId
:
this
.
pDep
}).
then
(
function
(
t
){
if
(
e
.
treeLoading
=!
1
,
t
&&
200
==
t
.
status
){
var
n
=
t
.
data
;
e
.
depName
=
""
,
e
.
$message
({
type
:
n
.
status
,
message
:
"
添加成功!
"
}),
e
.
setDataToTree
(
e
.
treeData
,
e
.
pDep
,
n
.
msg
)}})},
loadAllDeps
:
function
(){
var
e
=
this
;
this
.
getRequest
(
"
/system/basic/deps
"
).
then
(
function
(
t
){
t
&&
200
==
t
.
status
&&
(
e
.
allDeps
=
t
.
data
)})},
showAddDepView
:
function
(
e
,
t
){
this
.
loadAllDeps
(),
this
.
dialogVisible
=!
0
,
this
.
pDep
=
e
.
id
,
t
.
stopPropagation
()},
deleteDep
:
function
(
e
,
t
){
var
n
=
this
;
e
.
children
.
length
>
0
?
this
.
$message
({
message
:
"
该部门下尚有其他部门,不能被删除!
"
,
type
:
"
warning
"
}):
this
.
$confirm
(
"
删除[
"
+
e
.
name
+
"
]部门, 是否继续?
"
,
"
提示
"
,{
confirmButtonText
:
"
确定
"
,
cancelButtonText
:
"
取消
"
,
type
:
"
warning
"
}).
then
(
function
(){
n
.
treeLoading
=!
0
,
n
.
deleteRequest
(
"
/system/basic/dep/
"
+
e
.
id
).
then
(
function
(
t
){
if
(
n
.
treeLoading
=!
1
,
t
&&
200
==
t
.
status
){
var
s
=
t
.
data
;
n
.
$message
({
message
:
s
.
msg
,
type
:
s
.
status
}),
n
.
deleteLocalDep
(
n
.
treeData
,
e
)}})}).
catch
(
function
(){
n
.
$message
({
type
:
"
info
"
,
message
:
"
已取消删除
"
})}),
t
.
stopPropagation
()},
deleteLocalDep
:
function
(
e
,
t
){
for
(
var
n
=
0
;
n
<
e
.
length
;
n
++
){
var
s
=
e
[
n
];
if
(
s
.
id
==
t
.
id
)
return
void
e
.
splice
(
n
,
1
);
this
.
deleteLocalDep
(
s
.
children
,
t
)}},
renderContent
:
function
(
e
,
t
){
var
n
,
s
,
i
=
this
,
l
=
t
.
node
,
r
=
t
.
data
;
t
.
store
;
return
e
(
"
span
"
,{
style
:
"
flex: 1; display: flex; align-items: center; justify-content: space-between; font-size: 14px; padding-right: 8px;
"
},[
e
(
"
span
"
,
null
,[
e
(
"
span
"
,
null
,[
l
.
label
])]),
e
(
"
span
"
,
null
,[
e
(
"
el-button
"
,(
n
=
{
style
:
"
font-size: 12px;
"
,
attrs
:{
type
:
"
primary
"
,
size
:
"
mini
"
}},
a
()(
n
,
"
style
"
,
"
padding:3px
"
),
a
()(
n
,
"
on
"
,{
click
:
function
(){
return
i
.
showAddDepView
(
r
,
event
)}}),
n
),[
"
添加部门
"
]),
e
(
"
el-button
"
,(
s
=
{
style
:
"
font-size: 12px;
"
,
attrs
:{
type
:
"
danger
"
,
size
:
"
mini
"
}},
a
()(
s
,
"
style
"
,
"
padding:3px
"
),
a
()(
s
,
"
on
"
,{
click
:
function
(){
return
i
.
deleteDep
(
r
,
event
)}}),
s
),[
"
删除部门
"
])])])}}},
l
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
n
=
e
.
_self
.
_c
||
t
;
return
n
(
"
div
"
,[
n
(
"
div
"
,{
staticStyle
:{
"
text-align
"
:
"
left
"
}},[
n
(
"
el-input
"
,{
staticStyle
:{
width
:
"
500px
"
,
margin
:
"
0px
"
,
padding
:
"
0px
"
},
attrs
:{
placeholder
:
"
输入部门名称搜索部门...
"
,
size
:
"
mini
"
,
"
prefix-icon
"
:
"
el-icon-search
"
},
model
:{
value
:
e
.
keywords
,
callback
:
function
(
t
){
e
.
keywords
=
t
},
expression
:
"
keywords
"
}})],
1
),
e
.
_v
(
"
"
),
n
(
"
div
"
,[
n
(
"
el-tree
"
,{
directives
:[{
name
:
"
loading
"
,
rawName
:
"
v-loading
"
,
value
:
e
.
treeLoading
,
expression
:
"
treeLoading
"
}],
ref
:
"
tree
"
,
staticStyle
:{
width
:
"
500px
"
,
"
margin-top
"
:
"
10px
"
},
attrs
:{
props
:
e
.
defaultProps
,
data
:
e
.
treeData
,
"
filter-node-method
"
:
e
.
filterNode
,
"
render-content
"
:
e
.
renderContent
}}),
e
.
_v
(
"
"
),
n
(
"
div
"
,{
staticStyle
:{
"
text-align
"
:
"
left
"
}},[
n
(
"
el-dialog
"
,{
attrs
:{
title
:
"
添加部门
"
,
visible
:
e
.
dialogVisible
,
width
:
"
25%
"
},
on
:{
"
update:visible
"
:
function
(
t
){
e
.
dialogVisible
=
t
}}},[
n
(
"
div
"
,[
n
(
"
span
"
,[
e
.
_v
(
"
上级部门
"
)]),
e
.
_v
(
"
"
),
n
(
"
el-select
"
,{
staticStyle
:{
width
:
"
200px
"
},
attrs
:{
placeholder
:
"
请选择
"
,
size
:
"
mini
"
},
model
:{
value
:
e
.
pDep
,
callback
:
function
(
t
){
e
.
pDep
=
t
},
expression
:
"
pDep
"
}},
e
.
_l
(
e
.
allDeps
,
function
(
e
){
return
n
(
"
el-option
"
,{
key
:
e
.
id
,
attrs
:{
label
:
e
.
name
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
"
"
),
n
(
"
div
"
,{
staticStyle
:{
"
margin-top
"
:
"
10px
"
}},[
n
(
"
span
"
,[
e
.
_v
(
"
部门名称
"
)]),
e
.
_v
(
"
"
),
n
(
"
el-input
"
,{
staticStyle
:{
width
:
"
200px
"
},
attrs
:{
size
:
"
mini
"
,
placeholder
:
"
请输入部门名称...
"
},
model
:{
value
:
e
.
depName
,
callback
:
function
(
t
){
e
.
depName
=
t
},
expression
:
"
depName
"
}})],
1
),
e
.
_v
(
"
"
),
n
(
"
span
"
,{
staticClass
:
"
dialog-footer
"
,
attrs
:{
slot
:
"
footer
"
},
slot
:
"
footer
"
},[
n
(
"
el-button
"
,{
attrs
:{
size
:
"
small
"
},
on
:{
click
:
function
(
t
){
e
.
dialogVisible
=!
1
}}},[
e
.
_v
(
"
取消
"
)]),
e
.
_v
(
"
"
),
n
(
"
el-button
"
,{
attrs
:{
size
:
"
small
"
,
type
:
"
primary
"
},
on
:{
click
:
e
.
addDep
}},[
e
.
_v
(
"
添加
"
)])],
1
)])],
1
)],
1
)])},
staticRenderFns
:[]},
r
=
n
(
"
VU/8
"
)(
i
,
l
,
!
1
,
null
,
null
,
null
);
t
.
default
=
r
.
exports
},
LJAE
:
function
(
e
,
t
,
n
){
var
s
=
{
"
./SysBasic.vue
"
:
"
fc7a
"
,
"
./SysCfg.vue
"
:
"
ubks
"
,
"
./SysData.vue
"
:
"
UK/j
"
,
"
./SysHr.vue
"
:
"
ewEk
"
,
"
./SysInit.vue
"
:
"
agXO
"
,
"
./SysLog.vue
"
:
"
ZDkW
"
,
"
./basic/DepMana.vue
"
:
"
FvOz
"
,
"
./basic/ECMana.vue
"
:
"
5xQo
"
,
"
./basic/JobTitleMana.vue
"
:
"
c98W
"
,
"
./basic/MenuRole.vue
"
:
"
eLaH
"
,
"
./basic/PosMana.vue
"
:
"
/LNZ
"
};
function
a
(
e
){
return
n
(
i
(
e
))}
function
i
(
e
){
var
t
=
s
[
e
];
if
(
!
(
t
+
1
))
throw
new
Error
(
"
Cannot find module '
"
+
e
+
"
'.
"
);
return
t
}
a
.
keys
=
function
(){
return
Object
.
keys
(
s
)},
a
.
resolve
=
i
,
e
.
exports
=
a
,
a
.
id
=
"
LJAE
"
},
NQUc
:
function
(
e
,
t
){},
"
UK/j
"
:
function
(
e
,
t
,
n
){
"
use strict
"
;
Object
.
defineProperty
(
t
,
"
__esModule
"
,{
value
:
!
0
});
var
s
=
{
render
:
function
(){
this
.
$createElement
;
this
.
_self
.
_c
;
return
this
.
_m
(
0
)},
staticRenderFns
:[
function
(){
var
e
=
this
.
$createElement
,
t
=
this
.
_self
.
_c
||
e
;
return
t
(
"
div
"
,[
t
(
"
h1
"
,[
this
.
_v
(
"
\n
备份恢复数据库
\n
"
)])])}]},
a
=
n
(
"
VU/8
"
)(
null
,
s
,
!
1
,
null
,
null
,
null
);
t
.
default
=
a
.
exports
},
ZDkW
:
function
(
e
,
t
,
n
){
"
use strict
"
;
Object
.
defineProperty
(
t
,
"
__esModule
"
,{
value
:
!
0
});
var
s
=
{
render
:
function
(){
this
.
$createElement
;
this
.
_self
.
_c
;
return
this
.
_m
(
0
)},
staticRenderFns
:[
function
(){
var
e
=
this
.
$createElement
,
t
=
this
.
_self
.
_c
||
e
;
return
t
(
"
div
"
,[
t
(
"
h1
"
,[
this
.
_v
(
"
\n
操作日志管理
\n
"
)])])}]},
a
=
n
(
"
VU/8
"
)(
null
,
s
,
!
1
,
null
,
null
,
null
);
t
.
default
=
a
.
exports
},
agXO
:
function
(
e
,
t
,
n
){
"
use strict
"
;
Object
.
defineProperty
(
t
,
"
__esModule
"
,{
value
:
!
0
});
var
s
=
{
render
:
function
(){
this
.
$createElement
;
this
.
_self
.
_c
;
return
this
.
_m
(
0
)},
staticRenderFns
:[
function
(){
var
e
=
this
.
$createElement
,
t
=
this
.
_self
.
_c
||
e
;
return
t
(
"
div
"
,[
t
(
"
h1
"
,[
this
.
_v
(
"
\n
初始化数据库
\n
"
)])])}]},
a
=
n
(
"
VU/8
"
)(
null
,
s
,
!
1
,
null
,
null
,
null
);
t
.
default
=
a
.
exports
},
bOdI
:
function
(
e
,
t
,
n
){
"
use strict
"
;
t
.
__esModule
=!
0
;
var
s
,
a
=
n
(
"
C4MV
"
),
i
=
(
s
=
a
,
s
&&
s
.
__esModule
?
s
:{
default
:
s
});
t
.
default
=
function
(
e
,
t
,
n
){
return
t
in
e
?(
0
,
i
.
default
)(
e
,
t
,{
value
:
n
,
enumerable
:
!
0
,
configurable
:
!
0
,
writable
:
!
0
}):
e
[
t
]
=
n
,
e
}},
c98W
:
function
(
e
,
t
,
n
){
"
use strict
"
;
Object
.
defineProperty
(
t
,
"
__esModule
"
,{
value
:
!
0
});
var
s
=
{
render
:
function
(){
this
.
$createElement
;
this
.
_self
.
_c
;
return
this
.
_m
(
0
)},
staticRenderFns
:[
function
(){
var
e
=
this
.
$createElement
,
t
=
this
.
_self
.
_c
||
e
;
return
t
(
"
div
"
,[
t
(
"
h1
"
,[
this
.
_v
(
"
职称管理
"
)])])}]},
a
=
n
(
"
VU/8
"
)(
null
,
s
,
!
1
,
null
,
null
,
null
);
t
.
default
=
a
.
exports
},
eLaH
:
function
(
e
,
t
,
n
){
"
use strict
"
;
Object
.
defineProperty
(
t
,
"
__esModule
"
,{
value
:
!
0
});
var
s
=
n
(
"
oAV5
"
),
a
=
{
mounted
:
function
(){
this
.
loading
=!
0
,
this
.
initRoles
()},
methods
:{
deleteRole
:
function
(
e
,
t
){
var
n
=
this
;
this
.
$confirm
(
"
删除角色[
"
+
t
+
"
], 是否继续?
"
,
"
提示
"
,{
confirmButtonText
:
"
确定
"
,
cancelButtonText
:
"
取消
"
,
type
:
"
warning
"
}).
then
(
function
(){
n
.
loading
=!
0
,
n
.
deleteRequest
(
"
/system/basic/role/
"
+
e
).
then
(
function
(
e
){
if
(
e
&&
200
==
e
.
status
){
var
t
=
e
.
data
;
n
.
$message
({
type
:
t
.
status
,
message
:
t
.
msg
}),
n
.
initRoles
()}
else
n
.
loading
=!
1
})}).
catch
(
function
(){
n
.
$message
({
type
:
"
info
"
,
message
:
"
已取消删除
"
})})},
addNewRole
:
function
(){
if
(
Object
(
s
.
b
)(
this
.
newRole
,
this
.
newRoleZh
)){
this
.
loading
=!
0
;
var
e
=
this
;
this
.
postRequest
(
"
/system/basic/addRole
"
,{
role
:
this
.
newRole
,
roleZh
:
this
.
newRoleZh
}).
then
(
function
(
t
){
if
(
t
&&
200
==
t
.
status
){
var
n
=
t
.
data
;
e
.
$message
({
type
:
n
.
status
,
message
:
n
.
msg
}),
e
.
initRoles
(),
e
.
newRole
=
""
,
e
.
newRoleZh
=
""
}
else
e
.
loading
=!
1
})}},
updateRoleMenu
:
function
(
e
){
var
t
=
this
.
$refs
.
tree
[
e
].
getCheckedKeys
(
!
0
),
n
=
this
;
this
.
putRequest
(
"
/system/basic/updateMenuRole
"
,{
rid
:
this
.
activeColItem
,
mids
:
t
}).
then
(
function
(
e
){
if
(
e
&&
200
==
e
.
status
){
var
t
=
e
.
data
;
n
.
$message
({
type
:
t
.
status
,
message
:
t
.
msg
}),
n
.
activeColItem
=-
1
}})},
collapseChange
:
function
(
e
){
if
(
""
!=
e
){
var
t
=
this
;
this
.
getRequest
(
"
/system/basic/menuTree/
"
+
e
).
then
(
function
(
e
){
if
(
e
&&
200
==
e
.
status
){
var
n
=
e
.
data
;
t
.
treeData
=
n
.
menus
,
t
.
checkedKeys
=
n
.
mids
}})}},
handleCheckChange
:
function
(
e
,
t
,
n
){},
initRoles
:
function
(){
var
e
=
this
;
this
.
getRequest
(
"
/system/basic/roles
"
).
then
(
function
(
t
){
e
.
loading
=!
1
,
t
&&
200
==
t
.
status
&&
(
e
.
roles
=
t
.
data
,
e
.
activeColItem
=-
1
)})},
cancelUpdateRoleMenu
:
function
(){
this
.
activeColItem
=-
1
}},
data
:
function
(){
return
{
props
:{
label
:
"
name
"
,
children
:
"
children
"
},
newRole
:
""
,
newRoleZh
:
""
,
roles
:[],
treeData
:[],
checkedKeys
:[],
loading
:
!
1
,
activeColItem
:
-
1
}}},
i
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
n
=
e
.
_self
.
_c
||
t
;
return
n
(
"
div
"
,[
n
(
"
div
"
,{
directives
:[{
name
:
"
loading
"
,
rawName
:
"
v-loading
"
,
value
:
e
.
loading
,
expression
:
"
loading
"
}],
staticStyle
:{
"
text-align
"
:
"
left
"
}},[
n
(
"
el-input
"
,{
staticStyle
:{
width
:
"
250px
"
},
attrs
:{
placeholder
:
"
请输入角色英文名称...
"
,
size
:
"
mini
"
},
model
:{
value
:
e
.
newRole
,
callback
:
function
(
t
){
e
.
newRole
=
t
},
expression
:
"
newRole
"
}},[
n
(
"
template
"
,{
slot
:
"
prepend
"
},[
e
.
_v
(
"
ROLE_
"
)])],
2
),
e
.
_v
(
"
"
),
n
(
"
el-input
"
,{
staticStyle
:{
width
:
"
250px
"
},
attrs
:{
placeholder
:
"
请输入角色中文名称...
"
,
size
:
"
mini
"
},
model
:{
value
:
e
.
newRoleZh
,
callback
:
function
(
t
){
e
.
newRoleZh
=
t
},
expression
:
"
newRoleZh
"
}}),
e
.
_v
(
"
"
),
n
(
"
el-button
"
,{
staticStyle
:{
"
margin-left
"
:
"
5px
"
},
attrs
:{
type
:
"
primary
"
,
size
:
"
mini
"
},
on
:{
click
:
e
.
addNewRole
}},[
e
.
_v
(
"
添加角色
"
)])],
1
),
e
.
_v
(
"
"
),
n
(
"
div
"
,{
staticStyle
:{
"
margin-top
"
:
"
10px
"
,
"
text-align
"
:
"
left
"
}},[
n
(
"
el-collapse
"
,{
staticStyle
:{
width
:
"
500px
"
},
attrs
:{
accordion
:
""
},
on
:{
change
:
e
.
collapseChange
},
model
:{
value
:
e
.
activeColItem
,
callback
:
function
(
t
){
e
.
activeColItem
=
t
},
expression
:
"
activeColItem
"
}},
e
.
_l
(
e
.
roles
,
function
(
t
,
s
){
return
n
(
"
el-collapse-item
"
,{
key
:
t
.
name
,
attrs
:{
title
:
t
.
nameZh
,
name
:
t
.
id
}},[
n
(
"
el-card
"
,{
staticClass
:
"
box-card
"
},[
n
(
"
div
"
,{
attrs
:{
slot
:
"
header
"
},
slot
:
"
header
"
},[
n
(
"
span
"
,[
e
.
_v
(
"
可访问的资源
"
)]),
e
.
_v
(
"
"
),
n
(
"
el-button
"
,{
staticStyle
:{
color
:
"
#f6061b
"
,
margin
:
"
0px
"
,
float
:
"
right
"
,
padding
:
"
3px 0
"
,
width
:
"
15px
"
,
height
:
"
15px
"
},
attrs
:{
type
:
"
text
"
,
icon
:
"
el-icon-delete
"
},
on
:{
click
:
function
(
n
){
e
.
deleteRole
(
t
.
id
,
t
.
nameZh
)}}})],
1
),
e
.
_v
(
"
"
),
n
(
"
div
"
,[
n
(
"
el-tree
"
,{
key
:
t
.
id
,
ref
:
"
tree
"
,
refInFor
:
!
0
,
attrs
:{
props
:
e
.
props
,
data
:
e
.
treeData
,
"
default-checked-keys
"
:
e
.
checkedKeys
,
"
node-key
"
:
"
id
"
,
"
show-checkbox
"
:
""
,
"
highlight-current
"
:
""
},
on
:{
"
check-change
"
:
e
.
handleCheckChange
}})],
1
),
e
.
_v
(
"
"
),
n
(
"
div
"
,{
staticStyle
:{
display
:
"
flex
"
,
"
justify-content
"
:
"
flex-end
"
,
"
margin-right
"
:
"
10px
"
}},[
n
(
"
el-button
"
,{
attrs
:{
size
:
"
mini
"
},
on
:{
click
:
e
.
cancelUpdateRoleMenu
}},[
e
.
_v
(
"
取消修改
"
)]),
e
.
_v
(
"
"
),
n
(
"
el-button
"
,{
attrs
:{
type
:
"
primary
"
,
size
:
"
mini
"
},
on
:{
click
:
function
(
t
){
e
.
updateRoleMenu
(
s
)}}},[
e
.
_v
(
"
确认修改
"
)])],
1
)])],
1
)}))],
1
)])},
staticRenderFns
:[]},
l
=
n
(
"
VU/8
"
)(
a
,
i
,
!
1
,
null
,
null
,
null
);
t
.
default
=
l
.
exports
},
ewEk
:
function
(
e
,
t
,
n
){
"
use strict
"
;
Object
.
defineProperty
(
t
,
"
__esModule
"
,{
value
:
!
0
});
var
s
=
{
data
:
function
(){
return
{
keywords
:
""
,
fullloading
:
!
1
,
hrs
:[],
cardLoading
:[],
eploading
:[],
allRoles
:[],
moreBtnState
:
!
1
,
selRoles
:[],
selRolesBak
:[]}},
mounted
:
function
(){
this
.
initCards
(),
this
.
loadAllRoles
()},
methods
:{
searchClick
:
function
(){
this
.
initCards
(),
this
.
loadAllRoles
()},
updateHrRoles
:
function
(
e
,
t
){
this
.
moreBtnState
=!
1
;
var
n
=
this
;
if
(
this
.
selRolesBak
.
length
==
this
.
selRoles
.
length
){
for
(
var
s
=
0
;
s
<
this
.
selRoles
.
length
;
s
++
)
for
(
var
a
=
0
;
a
<
this
.
selRolesBak
.
length
;
a
++
)
if
(
this
.
selRoles
[
s
]
==
this
.
selRolesBak
[
a
]){
this
.
selRolesBak
.
splice
(
a
,
1
);
break
}
if
(
0
==
this
.
selRolesBak
.
length
)
return
}
this
.
eploading
.
splice
(
t
,
1
,
!
0
),
this
.
putRequest
(
"
/system/hr/roles
"
,{
hrId
:
e
,
rids
:
this
.
selRoles
}).
then
(
function
(
s
){
if
(
n
.
eploading
.
splice
(
t
,
1
,
!
1
),
s
&&
200
==
s
.
status
){
var
a
=
s
.
data
;
n
.
$message
({
type
:
a
.
status
,
message
:
a
.
msg
}),
"
success
"
==
a
.
status
&&
n
.
refreshHr
(
e
,
t
)}})},
refreshHr
:
function
(
e
,
t
){
var
n
=
this
;
n
.
cardLoading
.
splice
(
t
,
1
,
!
0
),
this
.
putRequest
(
"
/system/hr/id/
"
+
e
).
then
(
function
(
e
){
n
.
cardLoading
.
splice
(
t
,
1
,
!
1
),
n
.
hrs
.
splice
(
t
,
1
,
e
.
data
)})},
loadSelRoles
:
function
(
e
,
t
){
var
n
=
this
;
this
.
moreBtnState
=!
0
,
this
.
selRoles
=
[],
this
.
selRolesBak
=
[],
e
.
forEach
(
function
(
e
){
n
.
selRoles
.
push
(
e
.
id
),
n
.
selRolesBak
.
push
(
e
.
id
)})},
loadAllRoles
:
function
(){
var
e
=
this
;
this
.
getRequest
(
"
/system/basic/roles
"
).
then
(
function
(
t
){
e
.
fullloading
=!
1
,
t
&&
200
==
t
.
status
&&
(
e
.
allRoles
=
t
.
data
)})},
switchChange
:
function
(
e
,
t
,
n
){
var
s
=
this
;
s
.
cardLoading
.
splice
(
n
,
1
,
!
0
),
this
.
putRequest
(
"
/system/hr/
"
,{
enabled
:
e
,
id
:
t
}).
then
(
function
(
e
){
if
(
s
.
cardLoading
.
splice
(
n
,
1
,
!
1
),
e
&&
200
==
e
.
status
){
var
a
=
e
.
data
;
s
.
$message
({
type
:
a
.
status
,
message
:
a
.
msg
}),
"
error
"
==
a
.
status
&&
s
.
refreshHr
(
t
,
n
)}
else
s
.
refreshHr
(
t
,
n
)})},
initCards
:
function
(){
this
.
fullloading
=!
0
;
var
e
,
t
=
this
;
e
=
""
===
this
.
keywords
?
"
all
"
:
this
.
keywords
,
this
.
getRequest
(
"
/system/hr/
"
+
e
).
then
(
function
(
e
){
if
(
e
&&
200
==
e
.
status
){
t
.
hrs
=
e
.
data
;
var
n
=
e
.
data
.
length
;
t
.
cardLoading
=
Array
.
apply
(
null
,
Array
(
n
)).
map
(
function
(
e
,
t
){
return
!
1
}),
t
.
eploading
=
Array
.
apply
(
null
,
Array
(
n
)).
map
(
function
(
e
,
t
){
return
!
1
})}})},
deleteHr
:
function
(
e
){
var
t
=
this
;
this
.
fullloading
=!
0
,
this
.
deleteRequest
(
"
/system/hr/
"
+
e
).
then
(
function
(
e
){
if
(
t
.
fullloading
=!
1
,
e
&&
200
==
e
.
status
){
var
n
=
e
.
data
;
t
.
$message
({
type
:
n
.
status
,
message
:
n
.
msg
}),
"
success
"
==
n
.
status
&&
(
t
.
initCards
(),
t
.
loadAllRoles
())}})}}},
a
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
n
=
e
.
_self
.
_c
||
t
;
return
n
(
"
div
"
,{
directives
:[{
name
:
"
loading
"
,
rawName
:
"
v-loading
"
,
value
:
e
.
fullloading
,
expression
:
"
fullloading
"
}],
staticStyle
:{
"
margin-top
"
:
"
10px
"
}},[
n
(
"
div
"
,{
staticStyle
:{
"
margin-bottom
"
:
"
10px
"
,
display
:
"
flex
"
,
"
justify-content
"
:
"
center
"
,
"
align-items
"
:
"
center
"
}},[
n
(
"
el-input
"
,{
staticStyle
:{
width
:
"
400px
"
,
"
margin-right
"
:
"
10px
"
},
attrs
:{
placeholder
:
"
默认展示部分用户,可以通过用户名搜索更多用户...
"
,
"
prefix-icon
"
:
"
el-icon-search
"
,
size
:
"
small
"
},
model
:{
value
:
e
.
keywords
,
callback
:
function
(
t
){
e
.
keywords
=
t
},
expression
:
"
keywords
"
}}),
e
.
_v
(
"
"
),
n
(
"
el-button
"
,{
attrs
:{
size
:
"
small
"
,
type
:
"
primary
"
,
icon
:
"
el-icon-search
"
},
on
:{
click
:
e
.
searchClick
}},[
e
.
_v
(
"
搜索
"
)])],
1
),
e
.
_v
(
"
"
),
n
(
"
div
"
,{
staticStyle
:{
display
:
"
flex
"
,
"
justify-content
"
:
"
space-around
"
,
"
flex-wrap
"
:
"
wrap
"
,
"
text-align
"
:
"
left
"
}},
e
.
_l
(
e
.
hrs
,
function
(
t
,
s
){
return
n
(
"
el-card
"
,{
directives
:[{
name
:
"
loading
"
,
rawName
:
"
v-loading
"
,
value
:
e
.
cardLoading
[
s
],
expression
:
"
cardLoading[index]
"
}],
key
:
t
.
id
,
staticStyle
:{
width
:
"
350px
"
,
"
margin-bottom
"
:
"
20px
"
}},[
n
(
"
div
"
,{
staticClass
:
"
clearfix
"
,
attrs
:{
slot
:
"
header
"
},
slot
:
"
header
"
},[
n
(
"
span
"
,[
e
.
_v
(
e
.
_s
(
t
.
name
))]),
e
.
_v
(
"
"
),
n
(
"
el-button
"
,{
staticStyle
:{
color
:
"
#f6061b
"
,
margin
:
"
0px
"
,
float
:
"
right
"
,
padding
:
"
3px 0
"
,
width
:
"
15px
"
,
height
:
"
15px
"
},
attrs
:{
type
:
"
text
"
,
icon
:
"
el-icon-delete
"
},
on
:{
click
:
function
(
n
){
e
.
deleteHr
(
t
.
id
)}}})],
1
),
e
.
_v
(
"
"
),
n
(
"
div
"
,[
n
(
"
div
"
,{
staticStyle
:{
width
:
"
100%
"
,
display
:
"
flex
"
,
"
justify-content
"
:
"
center
"
}},[
n
(
"
img
"
,{
staticStyle
:{
width
:
"
70px
"
,
height
:
"
70px
"
,
"
border-radius
"
:
"
70px
"
},
attrs
:{
src
:
t
.
userface
,
alt
:
"
item.name
"
}})]),
e
.
_v
(
"
"
),
n
(
"
div
"
,{
staticStyle
:{
"
margin-top
"
:
"
20px
"
}},[
n
(
"
div
"
,[
n
(
"
span
"
,{
staticClass
:
"
user-info
"
},[
e
.
_v
(
"
用户名:
"
+
e
.
_s
(
t
.
name
))])]),
e
.
_v
(
"
"
),
n
(
"
div
"
,[
n
(
"
span
"
,{
staticClass
:
"
user-info
"
},[
e
.
_v
(
"
手机号码:
"
+
e
.
_s
(
t
.
phone
))])]),
e
.
_v
(
"
"
),
n
(
"
div
"
,[
n
(
"
span
"
,{
staticClass
:
"
user-info
"
},[
e
.
_v
(
"
电话号码:
"
+
e
.
_s
(
t
.
telephone
))])]),
e
.
_v
(
"
"
),
n
(
"
div
"
,[
n
(
"
span
"
,{
staticClass
:
"
user-info
"
},[
e
.
_v
(
"
地址:
"
+
e
.
_s
(
t
.
address
))])]),
e
.
_v
(
"
"
),
n
(
"
div
"
,{
staticClass
:
"
user-info
"
,
staticStyle
:{
display
:
"
flex
"
,
"
align-items
"
:
"
center
"
,
"
margin-bottom
"
:
"
3px
"
}},[
e
.
_v
(
"
\n
用户状态:
\n
"
),
n
(
"
el-switch
"
,{
key
:
t
.
id
,
staticStyle
:{
display
:
"
inline
"
,
"
margin-left
"
:
"
5px
"
},
attrs
:{
"
active-color
"
:
"
#13ce66
"
,
"
inactive-color
"
:
"
#aaaaaa
"
,
"
active-text
"
:
"
启用
"
,
"
inactive-text
"
:
"
禁用
"
},
on
:{
change
:
function
(
n
){
e
.
switchChange
(
t
.
enabled
,
t
.
id
,
s
)}},
model
:{
value
:
t
.
enabled
,
callback
:
function
(
n
){
e
.
$set
(
t
,
"
enabled
"
,
n
)},
expression
:
"
item.enabled
"
}})],
1
),
e
.
_v
(
"
"
),
n
(
"
div
"
,{
staticClass
:
"
user-info
"
},[
e
.
_v
(
"
\n
用户角色:
\n
"
),
e
.
_l
(
t
.
roles
,
function
(
t
){
return
n
(
"
el-tag
"
,{
key
:
t
.
id
,
staticStyle
:{
"
margin-right
"
:
"
5px
"
},
attrs
:{
type
:
"
success
"
,
size
:
"
mini
"
,
"
disable-transitions
"
:
!
1
}},[
e
.
_v
(
e
.
_s
(
t
.
nameZh
)
+
"
\n
"
)])}),
e
.
_v
(
"
"
),
n
(
"
el-popover
"
,{
directives
:[{
name
:
"
loading
"
,
rawName
:
"
v-loading
"
,
value
:
e
.
eploading
[
s
],
expression
:
"
eploading[index]
"
}],
key
:
t
.
id
,
attrs
:{
placement
:
"
right
"
,
title
:
"
角色列表
"
,
width
:
"
200
"
,
trigger
:
"
click
"
},
on
:{
hide
:
function
(
n
){
e
.
updateHrRoles
(
t
.
id
,
s
)}}},[
n
(
"
el-select
"
,{
attrs
:{
multiple
:
""
,
placeholder
:
"
请选择角色
"
},
model
:{
value
:
e
.
selRoles
,
callback
:
function
(
t
){
e
.
selRoles
=
t
},
expression
:
"
selRoles
"
}},
e
.
_l
(
e
.
allRoles
,
function
(
e
){
return
n
(
"
el-option
"
,{
key
:
e
.
id
,
attrs
:{
label
:
e
.
nameZh
,
value
:
e
.
id
}})})),
e
.
_v
(
"
"
),
n
(
"
el-button
"
,{
staticStyle
:{
color
:
"
#09c0f6
"
,
"
padding-top
"
:
"
0px
"
},
attrs
:{
slot
:
"
reference
"
,
type
:
"
text
"
,
icon
:
"
el-icon-more
"
,
disabled
:
e
.
moreBtnState
},
on
:{
click
:
function
(
n
){
e
.
loadSelRoles
(
t
.
roles
,
s
)}},
slot
:
"
reference
"
})],
1
)],
2
),
e
.
_v
(
"
"
),
n
(
"
div
"
,[
n
(
"
span
"
,{
staticClass
:
"
user-info
"
},[
e
.
_v
(
"
备注:
"
+
e
.
_s
(
t
.
remark
))])])])])])}))])},
staticRenderFns
:[]};
var
i
=
n
(
"
VU/8
"
)(
s
,
a
,
!
1
,
function
(
e
){
n
(
"
NQUc
"
)},
null
,
null
);
t
.
default
=
i
.
exports
},
fc7a
:
function
(
e
,
t
,
n
){
"
use strict
"
;
Object
.
defineProperty
(
t
,
"
__esModule
"
,{
value
:
!
0
});
var
s
=
n
(
"
eLaH
"
),
a
=
n
(
"
FvOz
"
),
i
=
n
(
"
5xQo
"
),
l
=
n
(
"
c98W
"
),
r
=
n
(
"
/LNZ
"
),
o
=
{
data
:
function
(){
return
{
defaultTab
:
"
depMana
"
}},
methods
:{},
components
:{
"
menu-role
"
:
s
.
default
,
"
dep-mana
"
:
a
.
default
,
"
ec-mana
"
:
i
.
default
,
"
jobtitle-mana
"
:
l
.
default
,
"
pos-mana
"
:
r
.
default
}},
c
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
n
=
e
.
_self
.
_c
||
t
;
return
n
(
"
div
"
,{
staticStyle
:{
"
margin-top
"
:
"
10px
"
}},[
n
(
"
el-tabs
"
,{
attrs
:{
type
:
"
card
"
},
model
:{
value
:
e
.
defaultTab
,
callback
:
function
(
t
){
e
.
defaultTab
=
t
},
expression
:
"
defaultTab
"
}},[
n
(
"
el-tab-pane
"
,{
attrs
:{
label
:
"
部门管理
"
,
name
:
"
depMana
"
}},[
n
(
"
dep-mana
"
)],
1
),
e
.
_v
(
"
"
),
n
(
"
el-tab-pane
"
,{
attrs
:{
label
:
"
职位管理
"
,
name
:
"
positionMana
"
}},[
n
(
"
pos-mana
"
)],
1
),
e
.
_v
(
"
"
),
n
(
"
el-tab-pane
"
,{
attrs
:{
label
:
"
职称管理
"
,
name
:
"
jobTitleMana
"
}},[
n
(
"
jobtitle-mana
"
)],
1
),
e
.
_v
(
"
"
),
n
(
"
el-tab-pane
"
,{
attrs
:{
label
:
"
奖惩规则
"
,
name
:
"
ecCfg
"
}},[
n
(
"
ec-mana
"
)],
1
),
e
.
_v
(
"
"
),
n
(
"
el-tab-pane
"
,{
attrs
:{
label
:
"
权限组
"
,
name
:
"
menuRole
"
}},[
n
(
"
menu-role
"
)],
1
)],
1
)],
1
)},
staticRenderFns
:[]},
d
=
n
(
"
VU/8
"
)(
o
,
c
,
!
1
,
null
,
null
,
null
);
t
.
default
=
d
.
exports
},
mClu
:
function
(
e
,
t
,
n
){
var
s
=
n
(
"
kM2E
"
);
s
(
s
.
S
+
s
.
F
*!
n
(
"
+E39
"
),
"
Object
"
,{
defineProperty
:
n
(
"
evD5
"
).
f
})},
ubks
:
function
(
e
,
t
,
n
){
"
use strict
"
;
Object
.
defineProperty
(
t
,
"
__esModule
"
,{
value
:
!
0
});
var
s
=
{
render
:
function
(){
this
.
$createElement
;
this
.
_self
.
_c
;
return
this
.
_m
(
0
)},
staticRenderFns
:[
function
(){
var
e
=
this
.
$createElement
,
t
=
this
.
_self
.
_c
||
e
;
return
t
(
"
div
"
,[
t
(
"
h1
"
,[
this
.
_v
(
"
\n
系统管理
\n
"
)])])}]},
a
=
n
(
"
VU/8
"
)(
null
,
s
,
!
1
,
null
,
null
,
null
);
t
.
default
=
a
.
exports
}});
//# sourceMappingURL=1.6baadbf583910ce36083.js.map
\ No newline at end of file
hrserver/src/main/resources/static/static/js/1.6baadbf583910ce36083.js.map
已删除
100644 → 0
浏览文件 @
d34fae00
此差异已折叠。
点击以展开。
hrserver/src/main/resources/static/static/js/1.85bff9c034d28d2184a5.js
0 → 100644
浏览文件 @
a6c86dcc
此差异已折叠。
点击以展开。
hrserver/src/main/resources/static/static/js/1.85bff9c034d28d2184a5.js.map
0 → 100644
浏览文件 @
a6c86dcc
此差异已折叠。
点击以展开。
hrserver/src/main/resources/static/static/js/app.59c317cd795b42477f9c.js
已删除
100644 → 0
浏览文件 @
d34fae00
webpackJsonp
([
7
],{
Ad1w
:
function
(
e
,
t
){},
HP1N
:
function
(
e
,
t
){},
NHnr
:
function
(
e
,
t
,
n
){
"
use strict
"
;
Object
.
defineProperty
(
t
,
"
__esModule
"
,{
value
:
!
0
});
var
r
=
n
(
"
7+uW
"
),
o
=
{
render
:
function
(){
var
e
=
this
.
$createElement
,
t
=
this
.
_self
.
_c
||
e
;
return
t
(
"
div
"
,{
attrs
:{
id
:
"
app
"
}},[
t
(
"
router-view
"
)],
1
)},
staticRenderFns
:[]};
var
a
=
n
(
"
VU/8
"
)({
name
:
"
app
"
},
o
,
!
1
,
function
(
e
){
n
(
"
Ad1w
"
)},
null
,
null
).
exports
,
s
=
n
(
"
/ocq
"
),
i
=
n
(
"
xJsL
"
),
u
=
n
(
"
lO7g
"
);
r
.
default
.
use
(
s
.
a
);
var
l
=
new
s
.
a
({
routes
:[{
path
:
"
/
"
,
name
:
"
Login
"
,
component
:
i
.
default
,
hidden
:
!
0
},{
path
:
"
/home
"
,
name
:
"
主页
"
,
component
:
u
.
default
,
hidden
:
!
0
,
meta
:{
requireAuth
:
!
0
}}]}),
c
=
n
(
"
zL8q
"
),
d
=
n
.
n
(
c
),
p
=
(
n
(
"
tvR6
"
),
n
(
"
mvHQ
"
)),
m
=
n
.
n
(
p
),
f
=
n
(
"
NYxO
"
);
r
.
default
.
use
(
f
.
a
);
var
h
=
new
f
.
a
.
Store
({
state
:{
user
:{
name
:
null
==
window
.
localStorage
.
getItem
(
"
user
"
)?
"
未登录
"
:
JSON
.
parse
(
window
.
localStorage
.
getItem
(
"
user
"
)).
name
,
userface
:
null
==
window
.
localStorage
.
getItem
(
"
user
"
)?
""
:
JSON
.
parse
(
window
.
localStorage
.
getItem
(
"
user
"
)).
userface
},
routes
:[]},
mutations
:{
initMenu
:
function
(
e
,
t
){
e
.
routes
=
t
},
login
:
function
(
e
,
t
){
e
.
user
=
t
,
window
.
localStorage
.
setItem
(
"
user
"
,
m
()(
t
))},
logout
:
function
(
e
){
window
.
localStorage
.
removeItem
(
"
user
"
),
e
.
routes
=
[]}},
actions
:{}}),
v
=
n
(
"
VsUZ
"
),
g
=
n
(
"
oAV5
"
);
r
.
default
.
config
.
productionTip
=!
1
,
r
.
default
.
use
(
d
.
a
),
r
.
default
.
prototype
.
getRequest
=
v
.
b
,
r
.
default
.
prototype
.
postRequest
=
v
.
c
,
r
.
default
.
prototype
.
deleteRequest
=
v
.
a
,
r
.
default
.
prototype
.
putRequest
=
v
.
d
,
l
.
beforeEach
(
function
(
e
,
t
,
n
){
if
(
"
Login
"
!=
e
.
name
){
"
未登录
"
==
h
.
state
.
user
.
name
?
e
.
meta
.
requireAuth
||
null
==
e
.
name
?
n
({
path
:
"
/
"
,
query
:{
redirect
:
e
.
path
}}):
n
():(
Object
(
g
.
a
)(
l
,
h
),
n
())}
else
n
()}),
new
r
.
default
({
el
:
"
#app
"
,
router
:
l
,
store
:
h
,
template
:
"
<App/>
"
,
components
:{
App
:
a
}})},
VsUZ
:
function
(
e
,
t
,
n
){
"
use strict
"
;
n
.
d
(
t
,
"
c
"
,
function
(){
return
u
}),
n
.
d
(
t
,
"
d
"
,
function
(){
return
l
}),
n
.
d
(
t
,
"
a
"
,
function
(){
return
c
}),
n
.
d
(
t
,
"
b
"
,
function
(){
return
d
});
var
r
=
n
(
"
//Fk
"
),
o
=
n
.
n
(
r
),
a
=
n
(
"
mtWM
"
),
s
=
n
.
n
(
a
),
i
=
n
(
"
zL8q
"
);
n
.
n
(
i
);
s
.
a
.
interceptors
.
request
.
use
(
function
(
e
){
return
e
},
function
(
e
){
return
i
.
Message
.
error
({
message
:
"
请求超时!
"
}),
o
.
a
.
resolve
(
e
)}),
s
.
a
.
interceptors
.
response
.
use
(
function
(
e
){
if
(
!
e
.
status
||
200
!=
e
.
status
||
"
error
"
!=
e
.
data
.
status
)
return
e
;
i
.
Message
.
error
({
message
:
e
.
data
.
msg
})},
function
(
e
){
return
504
==
e
.
response
.
status
||
404
==
e
.
response
.
status
?
i
.
Message
.
error
({
message
:
"
服务器被吃了⊙﹏⊙∥
"
}):
403
==
e
.
response
.
status
?
i
.
Message
.
error
({
message
:
"
权限不足,请联系管理员!
"
}):
i
.
Message
.
error
({
message
:
"
未知错误!
"
}),
o
.
a
.
resolve
(
e
)});
var
u
=
function
(
e
,
t
){
return
s
()({
method
:
"
post
"
,
url
:
""
+
e
,
data
:
t
,
transformRequest
:[
function
(
e
){
var
t
=
""
;
for
(
var
n
in
e
)
t
+=
encodeURIComponent
(
n
)
+
"
=
"
+
encodeURIComponent
(
e
[
n
])
+
"
&
"
;
return
t
}],
headers
:{
"
Content-Type
"
:
"
application/x-www-form-urlencoded
"
}})},
l
=
function
(
e
,
t
){
return
s
()({
method
:
"
put
"
,
url
:
""
+
e
,
data
:
t
,
transformRequest
:[
function
(
e
){
var
t
=
""
;
for
(
var
n
in
e
)
t
+=
encodeURIComponent
(
n
)
+
"
=
"
+
encodeURIComponent
(
e
[
n
])
+
"
&
"
;
return
t
}],
headers
:{
"
Content-Type
"
:
"
application/x-www-form-urlencoded
"
}})},
c
=
function
(
e
){
return
s
()({
method
:
"
delete
"
,
url
:
""
+
e
})},
d
=
function
(
e
){
return
s
()({
method
:
"
get
"
,
url
:
""
+
e
})}},
lO7g
:
function
(
e
,
t
,
n
){
"
use strict
"
;
Object
.
defineProperty
(
t
,
"
__esModule
"
,{
value
:
!
0
});
var
r
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
n
=
e
.
_self
.
_c
||
t
;
return
n
(
"
div
"
,[
n
(
"
el-container
"
,{
staticClass
:
"
home-container
"
},[
n
(
"
el-header
"
,{
staticClass
:
"
home-header
"
},[
n
(
"
span
"
,{
staticClass
:
"
home_title
"
},[
e
.
_v
(
"
微人事
"
)]),
e
.
_v
(
"
"
),
n
(
"
div
"
,{
staticStyle
:{
display
:
"
flex
"
,
"
align-items
"
:
"
center
"
,
"
margin-right
"
:
"
7px
"
}},[
n
(
"
el-dropdown
"
,{
on
:{
command
:
e
.
handleCommand
}},[
n
(
"
span
"
,{
staticClass
:
"
el-dropdown-link home_userinfo
"
,
staticStyle
:{
display
:
"
flex
"
,
"
align-items
"
:
"
center
"
}},[
e
.
_v
(
"
\n
"
+
e
.
_s
(
e
.
user
.
name
)
+
"
\n
"
),
n
(
"
i
"
,[
""
!=
e
.
user
.
userface
?
n
(
"
img
"
,{
staticStyle
:{
width
:
"
40px
"
,
height
:
"
40px
"
,
"
margin-right
"
:
"
5px
"
,
"
margin-left
"
:
"
5px
"
,
"
border-radius
"
:
"
40px
"
},
attrs
:{
src
:
e
.
user
.
userface
}}):
e
.
_e
()])]),
e
.
_v
(
"
"
),
n
(
"
el-dropdown-menu
"
,{
attrs
:{
slot
:
"
dropdown
"
},
slot
:
"
dropdown
"
},[
n
(
"
el-dropdown-item
"
,[
e
.
_v
(
"
个人中心
"
)]),
e
.
_v
(
"
"
),
n
(
"
el-dropdown-item
"
,[
e
.
_v
(
"
设置
"
)]),
e
.
_v
(
"
"
),
n
(
"
el-dropdown-item
"
,{
attrs
:{
command
:
"
logout
"
,
divided
:
""
}},[
e
.
_v
(
"
注销
"
)])],
1
)],
1
)],
1
)]),
e
.
_v
(
"
"
),
n
(
"
el-container
"
,[
n
(
"
el-aside
"
,{
staticClass
:
"
home-aside
"
,
attrs
:{
width
:
"
180px
"
}},[
n
(
"
div
"
,{
staticStyle
:{
display
:
"
flex
"
,
"
justify-content
"
:
"
flex-start
"
,
width
:
"
180px
"
,
"
text-align
"
:
"
left
"
}},[
n
(
"
el-menu
"
,{
staticStyle
:{
background
:
"
#ececec
"
,
width
:
"
180px
"
},
attrs
:{
"
unique-opened
"
:
""
,
router
:
""
}},[
e
.
_l
(
this
.
routes
,
function
(
t
,
r
){
return
t
.
hidden
?
e
.
_e
():[
n
(
"
el-submenu
"
,{
key
:
r
,
attrs
:{
index
:
r
+
""
}},[
n
(
"
template
"
,{
slot
:
"
title
"
},[
n
(
"
i
"
,{
class
:
t
.
iconCls
,
staticStyle
:{
color
:
"
#20a0ff
"
,
width
:
"
14px
"
}}),
e
.
_v
(
"
"
),
n
(
"
span
"
,{
attrs
:{
slot
:
"
title
"
},
slot
:
"
title
"
},[
e
.
_v
(
e
.
_s
(
t
.
name
))])]),
e
.
_v
(
"
"
),
e
.
_l
(
t
.
children
,
function
(
t
){
return
n
(
"
el-menu-item
"
,{
key
:
t
.
path
,
staticStyle
:{
"
padding-left
"
:
"
30px
"
,
"
padding-right
"
:
"
0px
"
,
"
margin-left
"
:
"
0px
"
,
width
:
"
170px
"
,
"
text-align
"
:
"
left
"
},
attrs
:{
width
:
"
180px
"
,
index
:
t
.
path
}},[
e
.
_v
(
e
.
_s
(
t
.
name
)
+
"
\n
"
)])})],
2
)]})],
2
)],
1
)]),
e
.
_v
(
"
"
),
n
(
"
el-container
"
,[
n
(
"
el-main
"
,[
n
(
"
el-breadcrumb
"
,{
attrs
:{
"
separator-class
"
:
"
el-icon-arrow-right
"
}},[
n
(
"
el-breadcrumb-item
"
,{
attrs
:{
to
:{
path
:
"
/home
"
}}},[
e
.
_v
(
"
首页
"
)]),
e
.
_v
(
"
"
),
n
(
"
el-breadcrumb-item
"
,{
domProps
:{
textContent
:
e
.
_s
(
this
.
$router
.
currentRoute
.
name
)}})],
1
),
e
.
_v
(
"
"
),
n
(
"
keep-alive
"
,[
this
.
$route
.
meta
.
keepAlive
?
n
(
"
router-view
"
):
e
.
_e
()],
1
),
e
.
_v
(
"
"
),
this
.
$route
.
meta
.
keepAlive
?
e
.
_e
():
n
(
"
router-view
"
)],
1
)],
1
)],
1
)],
1
)],
1
)},
staticRenderFns
:[]};
var
o
=
n
(
"
VU/8
"
)({
mounted
:
function
(){},
methods
:{
devMsg
:
function
(){
var
e
=
this
;
this
.
$alert
(
"
为了确保所有的小伙伴都能看到完整的数据演示,数据库只开放了查询权限和部分字段的更新权限,其他权限都不具备,完整权限的演示需要大家在自己本地部署后,换一个正常的数据库用户后即可查看,这点请大家悉知!
"
,
"
友情提示
"
,{
confirmButtonText
:
"
确定
"
,
callback
:
function
(
t
){
e
.
$notify
({
title
:
"
重要重要!
"
,
type
:
"
warning
"
,
message
:
"
小伙伴们需要注意的是,目前只有权限管理模块完工了,因此这个项目中你无法看到所有的功能,除了权限管理相关的模块。权限管理相关的模块主要有两个,分别是 [系统管理->基础信息设置->权限组] 可以管理角色和资源的关系, [系统管理->操作员管理] 可以管理用户和角色的关系。
"
,
duration
:
0
})}})},
handleCommand
:
function
(
e
){
var
t
=
this
;
"
logout
"
==
e
&&
this
.
$confirm
(
"
注销登录, 是否继续?
"
,
"
提示
"
,{
confirmButtonText
:
"
确定
"
,
cancelButtonText
:
"
取消
"
,
type
:
"
warning
"
}).
then
(
function
(){
t
.
getRequest
(
"
/logout
"
),
t
.
$store
.
commit
(
"
logout
"
),
t
.
$router
.
replace
({
path
:
"
/
"
})}).
catch
(
function
(){
t
.
$message
({
type
:
"
info
"
,
message
:
"
取消
"
})})}},
data
:
function
(){
return
{}},
computed
:{
user
:
function
(){
return
this
.
$store
.
state
.
user
},
routes
:
function
(){
return
this
.
$store
.
state
.
routes
}}},
r
,
!
1
,
function
(
e
){
n
(
"
HP1N
"
)},
null
,
null
);
t
.
default
=
o
.
exports
},
oAV5
:
function
(
e
,
t
,
n
){
"
use strict
"
;
n
.
d
(
t
,
"
b
"
,
function
(){
return
a
}),
n
.
d
(
t
,
"
a
"
,
function
(){
return
s
});
var
r
=
n
(
"
VsUZ
"
),
o
=
n
(
"
zL8q
"
),
a
=
(
n
.
n
(
o
),
function
(){
for
(
var
e
=
arguments
.
length
,
t
=
Array
(
e
),
n
=
0
;
n
<
e
;
n
++
)
t
[
n
]
=
arguments
[
n
];
for
(
var
r
=
0
;
r
<
t
.
length
;
r
++
){
var
a
=
t
[
r
];
if
(
null
==
a
||
""
==
a
||
void
0
==
a
)
return
o
.
Message
.
warning
({
message
:
"
数据不能为空!
"
}),
!
1
}
return
!
0
}),
s
=
function
(
e
,
t
){
t
.
state
.
routes
.
length
>
0
||
Object
(
r
.
b
)(
"
/config/sysmenu
"
).
then
(
function
(
n
){
if
(
n
&&
200
==
n
.
status
){
var
r
=
i
(
n
.
data
);
e
.
addRoutes
(
r
),
t
.
commit
(
"
initMenu
"
,
r
)}})},
i
=
function
e
(
t
){
var
r
=
[];
return
t
.
forEach
(
function
(
t
){
var
o
=
t
.
path
,
a
=
t
.
component
,
s
=
t
.
name
,
i
=
t
.
meta
,
u
=
t
.
iconCls
,
l
=
t
.
children
;
l
&&
l
instanceof
Array
&&
(
l
=
e
(
l
));
var
c
=
{
path
:
o
,
component
:
function
(
e
){
a
.
startsWith
(
"
Home
"
)?
n
.
e
(
0
).
then
(
function
(){
var
t
=
[
n
(
"
2eoi
"
)(
"
./
"
+
a
+
"
.vue
"
)];
e
.
apply
(
null
,
t
)}.
bind
(
this
)).
catch
(
n
.
oe
):
a
.
startsWith
(
"
Emp
"
)?
n
.
e
(
5
).
then
(
function
(){
var
t
=
[
n
(
"
8cST
"
)(
"
./
"
+
a
+
"
.vue
"
)];
e
.
apply
(
null
,
t
)}.
bind
(
this
)).
catch
(
n
.
oe
):
a
.
startsWith
(
"
Per
"
)?
n
.
e
(
3
).
then
(
function
(){
var
t
=
[
n
(
"
sALK
"
)(
"
./
"
+
a
+
"
.vue
"
)];
e
.
apply
(
null
,
t
)}.
bind
(
this
)).
catch
(
n
.
oe
):
a
.
startsWith
(
"
Sal
"
)?
n
.
e
(
2
).
then
(
function
(){
var
t
=
[
n
(
"
9Acn
"
)(
"
./
"
+
a
+
"
.vue
"
)];
e
.
apply
(
null
,
t
)}.
bind
(
this
)).
catch
(
n
.
oe
):
a
.
startsWith
(
"
Sta
"
)?
n
.
e
(
4
).
then
(
function
(){
var
t
=
[
n
(
"
nCU1
"
)(
"
./
"
+
a
+
"
.vue
"
)];
e
.
apply
(
null
,
t
)}.
bind
(
this
)).
catch
(
n
.
oe
):
a
.
startsWith
(
"
Sys
"
)
&&
n
.
e
(
1
).
then
(
function
(){
var
t
=
[
n
(
"
LJAE
"
)(
"
./
"
+
a
+
"
.vue
"
)];
e
.
apply
(
null
,
t
)}.
bind
(
this
)).
catch
(
n
.
oe
)},
name
:
s
,
iconCls
:
u
,
meta
:
i
,
children
:
l
};
r
.
push
(
c
)}),
r
}},
oWFQ
:
function
(
e
,
t
){},
tvR6
:
function
(
e
,
t
){},
xJsL
:
function
(
e
,
t
,
n
){
"
use strict
"
;
Object
.
defineProperty
(
t
,
"
__esModule
"
,{
value
:
!
0
});
var
r
=
{
data
:
function
(){
return
{
rules
:{
account
:[{
required
:
!
0
,
message
:
"
请输入用户名
"
,
trigger
:
"
blur
"
}],
checkPass
:[{
required
:
!
0
,
message
:
"
请输入密码
"
,
trigger
:
"
blur
"
}]},
checked
:
!
0
,
loginForm
:{
username
:
"
admin
"
,
password
:
"
123
"
},
loading
:
!
1
}},
methods
:{
submitClick
:
function
(){
var
e
=
this
;
this
.
loading
=!
0
,
this
.
postRequest
(
"
/login
"
,{
username
:
this
.
loginForm
.
username
,
password
:
this
.
loginForm
.
password
}).
then
(
function
(
t
){
if
(
e
.
loading
=!
1
,
t
&&
200
==
t
.
status
){
var
n
=
t
.
data
;
e
.
$store
.
commit
(
"
login
"
,
n
.
msg
);
var
r
=
e
.
$route
.
query
.
redirect
;
e
.
$router
.
replace
({
path
:
"
/
"
==
r
||
void
0
==
r
?
"
/home
"
:
r
})}})}}},
o
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
n
=
e
.
_self
.
_c
||
t
;
return
n
(
"
el-form
"
,{
directives
:[{
name
:
"
loading
"
,
rawName
:
"
v-loading
"
,
value
:
e
.
loading
,
expression
:
"
loading
"
}],
staticClass
:
"
login-container
"
,
attrs
:{
rules
:
e
.
rules
,
"
label-position
"
:
"
left
"
,
"
label-width
"
:
"
0px
"
}},[
n
(
"
h3
"
,{
staticClass
:
"
login_title
"
},[
e
.
_v
(
"
系统登录
"
)]),
e
.
_v
(
"
"
),
n
(
"
el-form-item
"
,{
attrs
:{
prop
:
"
account
"
}},[
n
(
"
el-input
"
,{
attrs
:{
type
:
"
text
"
,
"
auto-complete
"
:
"
off
"
,
placeholder
:
"
账号
"
},
model
:{
value
:
e
.
loginForm
.
username
,
callback
:
function
(
t
){
e
.
$set
(
e
.
loginForm
,
"
username
"
,
t
)},
expression
:
"
loginForm.username
"
}})],
1
),
e
.
_v
(
"
"
),
n
(
"
el-form-item
"
,{
attrs
:{
prop
:
"
checkPass
"
}},[
n
(
"
el-input
"
,{
attrs
:{
type
:
"
password
"
,
"
auto-complete
"
:
"
off
"
,
placeholder
:
"
密码
"
},
model
:{
value
:
e
.
loginForm
.
password
,
callback
:
function
(
t
){
e
.
$set
(
e
.
loginForm
,
"
password
"
,
t
)},
expression
:
"
loginForm.password
"
}})],
1
),
e
.
_v
(
"
"
),
n
(
"
el-checkbox
"
,{
staticClass
:
"
login_remember
"
,
attrs
:{
"
label-position
"
:
"
left
"
},
model
:{
value
:
e
.
checked
,
callback
:
function
(
t
){
e
.
checked
=
t
},
expression
:
"
checked
"
}},[
e
.
_v
(
"
记住密码
"
)]),
e
.
_v
(
"
"
),
n
(
"
el-form-item
"
,{
staticStyle
:{
width
:
"
100%
"
}},[
n
(
"
el-button
"
,{
staticStyle
:{
width
:
"
100%
"
},
attrs
:{
type
:
"
primary
"
},
nativeOn
:{
click
:
function
(
t
){
t
.
preventDefault
(),
e
.
submitClick
(
t
)}}},[
e
.
_v
(
"
登录
"
)])],
1
)],
1
)},
staticRenderFns
:[]};
var
a
=
n
(
"
VU/8
"
)(
r
,
o
,
!
1
,
function
(
e
){
n
(
"
oWFQ
"
)},
null
,
null
);
t
.
default
=
a
.
exports
}},[
"
NHnr
"
]);
//# sourceMappingURL=app.59c317cd795b42477f9c.js.map
\ No newline at end of file
hrserver/src/main/resources/static/static/js/app.59c317cd795b42477f9c.js.map
已删除
100644 → 0
浏览文件 @
d34fae00
此差异已折叠。
点击以展开。
hrserver/src/main/resources/static/static/js/app.dfa620b6af45f973da76.js
0 → 100644
浏览文件 @
a6c86dcc
webpackJsonp
([
7
],{
Ad1w
:
function
(
e
,
t
){},
HP1N
:
function
(
e
,
t
){},
NHnr
:
function
(
e
,
t
,
n
){
"
use strict
"
;
Object
.
defineProperty
(
t
,
"
__esModule
"
,{
value
:
!
0
});
var
r
=
n
(
"
7+uW
"
),
a
=
{
render
:
function
(){
var
e
=
this
.
$createElement
,
t
=
this
.
_self
.
_c
||
e
;
return
t
(
"
div
"
,{
attrs
:{
id
:
"
app
"
}},[
t
(
"
router-view
"
)],
1
)},
staticRenderFns
:[]};
var
o
=
n
(
"
VU/8
"
)({
name
:
"
app
"
},
a
,
!
1
,
function
(
e
){
n
(
"
Ad1w
"
)},
null
,
null
).
exports
,
s
=
n
(
"
/ocq
"
),
i
=
n
(
"
xJsL
"
),
u
=
n
(
"
lO7g
"
);
r
.
default
.
use
(
s
.
a
);
var
l
=
new
s
.
a
({
routes
:[{
path
:
"
/
"
,
name
:
"
Login
"
,
component
:
i
.
default
,
hidden
:
!
0
},{
path
:
"
/home
"
,
name
:
"
主页
"
,
component
:
u
.
default
,
hidden
:
!
0
,
meta
:{
requireAuth
:
!
0
}}]}),
c
=
n
(
"
zL8q
"
),
d
=
n
.
n
(
c
),
m
=
(
n
(
"
tvR6
"
),
n
(
"
mvHQ
"
)),
p
=
n
.
n
(
m
),
f
=
n
(
"
NYxO
"
);
r
.
default
.
use
(
f
.
a
);
var
h
=
new
f
.
a
.
Store
({
state
:{
user
:{
name
:
null
==
window
.
localStorage
.
getItem
(
"
user
"
)?
"
未登录
"
:
JSON
.
parse
(
window
.
localStorage
.
getItem
(
"
user
"
)).
name
,
userface
:
null
==
window
.
localStorage
.
getItem
(
"
user
"
)?
""
:
JSON
.
parse
(
window
.
localStorage
.
getItem
(
"
user
"
)).
userface
},
routes
:[]},
mutations
:{
initMenu
:
function
(
e
,
t
){
e
.
routes
=
t
},
login
:
function
(
e
,
t
){
e
.
user
=
t
,
window
.
localStorage
.
setItem
(
"
user
"
,
p
()(
t
))},
logout
:
function
(
e
){
window
.
localStorage
.
removeItem
(
"
user
"
),
e
.
routes
=
[]}},
actions
:{}}),
g
=
n
(
"
VsUZ
"
),
v
=
n
(
"
oAV5
"
);
r
.
default
.
filter
(
"
formatDate
"
,
function
(
e
){
var
t
=
new
Date
(
e
),
n
=
t
.
getFullYear
(),
r
=
t
.
getMonth
()
+
1
,
a
=
t
.
getDate
();
return
r
<
10
&&
(
r
=
"
0
"
+
r
),
a
<
10
&&
(
a
=
"
0
"
+
a
),
n
+
"
-
"
+
r
+
"
-
"
+
a
}),
r
.
default
.
filter
(
"
formatDateTime
"
,
function
(
e
){
var
t
=
new
Date
(
e
),
n
=
t
.
getFullYear
(),
r
=
t
.
getMonth
()
+
1
,
a
=
t
.
getDate
(),
o
=
t
.
getHours
(),
s
=
t
.
getMinutes
();
return
r
<
10
&&
(
r
=
"
0
"
+
r
),
a
<
10
&&
(
a
=
"
0
"
+
a
),
n
+
"
-
"
+
r
+
"
-
"
+
a
+
"
"
+
o
+
"
:
"
+
s
}),
r
.
default
.
config
.
productionTip
=!
1
,
r
.
default
.
use
(
d
.
a
),
r
.
default
.
prototype
.
getRequest
=
g
.
b
,
r
.
default
.
prototype
.
postRequest
=
g
.
c
,
r
.
default
.
prototype
.
deleteRequest
=
g
.
a
,
r
.
default
.
prototype
.
putRequest
=
g
.
d
,
r
.
default
.
prototype
.
isNotNullORBlank
=
v
.
b
,
l
.
beforeEach
(
function
(
e
,
t
,
n
){
if
(
"
Login
"
!=
e
.
name
){
"
未登录
"
==
h
.
state
.
user
.
name
?
e
.
meta
.
requireAuth
||
null
==
e
.
name
?
n
({
path
:
"
/
"
,
query
:{
redirect
:
e
.
path
}}):
n
():(
Object
(
v
.
a
)(
l
,
h
),
n
())}
else
n
()}),
new
r
.
default
({
el
:
"
#app
"
,
router
:
l
,
store
:
h
,
template
:
"
<App/>
"
,
components
:{
App
:
o
}})},
VsUZ
:
function
(
e
,
t
,
n
){
"
use strict
"
;
n
.
d
(
t
,
"
c
"
,
function
(){
return
u
}),
n
.
d
(
t
,
"
d
"
,
function
(){
return
l
}),
n
.
d
(
t
,
"
a
"
,
function
(){
return
c
}),
n
.
d
(
t
,
"
b
"
,
function
(){
return
d
});
var
r
=
n
(
"
//Fk
"
),
a
=
n
.
n
(
r
),
o
=
n
(
"
mtWM
"
),
s
=
n
.
n
(
o
),
i
=
n
(
"
zL8q
"
);
n
.
n
(
i
);
s
.
a
.
interceptors
.
request
.
use
(
function
(
e
){
return
e
},
function
(
e
){
return
i
.
Message
.
error
({
message
:
"
请求超时!
"
}),
a
.
a
.
resolve
(
e
)}),
s
.
a
.
interceptors
.
response
.
use
(
function
(
e
){
if
(
!
e
.
status
||
200
!=
e
.
status
||
"
error
"
!=
e
.
data
.
status
)
return
e
;
i
.
Message
.
error
({
message
:
e
.
data
.
msg
})},
function
(
e
){
return
504
==
e
.
response
.
status
||
404
==
e
.
response
.
status
?
i
.
Message
.
error
({
message
:
"
服务器被吃了⊙﹏⊙∥
"
}):
403
==
e
.
response
.
status
?
i
.
Message
.
error
({
message
:
"
权限不足,请联系管理员!
"
}):
i
.
Message
.
error
({
message
:
"
未知错误!
"
}),
a
.
a
.
resolve
(
e
)});
var
u
=
function
(
e
,
t
){
return
s
()({
method
:
"
post
"
,
url
:
""
+
e
,
data
:
t
,
transformRequest
:[
function
(
e
){
var
t
=
""
;
for
(
var
n
in
e
)
t
+=
encodeURIComponent
(
n
)
+
"
=
"
+
encodeURIComponent
(
e
[
n
])
+
"
&
"
;
return
t
}],
headers
:{
"
Content-Type
"
:
"
application/x-www-form-urlencoded
"
}})},
l
=
function
(
e
,
t
){
return
s
()({
method
:
"
put
"
,
url
:
""
+
e
,
data
:
t
,
transformRequest
:[
function
(
e
){
var
t
=
""
;
for
(
var
n
in
e
)
t
+=
encodeURIComponent
(
n
)
+
"
=
"
+
encodeURIComponent
(
e
[
n
])
+
"
&
"
;
return
t
}],
headers
:{
"
Content-Type
"
:
"
application/x-www-form-urlencoded
"
}})},
c
=
function
(
e
){
return
s
()({
method
:
"
delete
"
,
url
:
""
+
e
})},
d
=
function
(
e
){
return
s
()({
method
:
"
get
"
,
url
:
""
+
e
})}},
lO7g
:
function
(
e
,
t
,
n
){
"
use strict
"
;
Object
.
defineProperty
(
t
,
"
__esModule
"
,{
value
:
!
0
});
var
r
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
n
=
e
.
_self
.
_c
||
t
;
return
n
(
"
div
"
,[
n
(
"
el-container
"
,{
staticClass
:
"
home-container
"
},[
n
(
"
el-header
"
,{
staticClass
:
"
home-header
"
},[
n
(
"
span
"
,{
staticClass
:
"
home_title
"
},[
e
.
_v
(
"
微人事
"
)]),
e
.
_v
(
"
"
),
n
(
"
div
"
,{
staticStyle
:{
display
:
"
flex
"
,
"
align-items
"
:
"
center
"
,
"
margin-right
"
:
"
7px
"
}},[
n
(
"
el-dropdown
"
,{
on
:{
command
:
e
.
handleCommand
}},[
n
(
"
span
"
,{
staticClass
:
"
el-dropdown-link home_userinfo
"
,
staticStyle
:{
display
:
"
flex
"
,
"
align-items
"
:
"
center
"
}},[
e
.
_v
(
"
\n
"
+
e
.
_s
(
e
.
user
.
name
)
+
"
\n
"
),
n
(
"
i
"
,[
""
!=
e
.
user
.
userface
?
n
(
"
img
"
,{
staticStyle
:{
width
:
"
40px
"
,
height
:
"
40px
"
,
"
margin-right
"
:
"
5px
"
,
"
margin-left
"
:
"
5px
"
,
"
border-radius
"
:
"
40px
"
},
attrs
:{
src
:
e
.
user
.
userface
}}):
e
.
_e
()])]),
e
.
_v
(
"
"
),
n
(
"
el-dropdown-menu
"
,{
attrs
:{
slot
:
"
dropdown
"
},
slot
:
"
dropdown
"
},[
n
(
"
el-dropdown-item
"
,[
e
.
_v
(
"
个人中心
"
)]),
e
.
_v
(
"
"
),
n
(
"
el-dropdown-item
"
,[
e
.
_v
(
"
设置
"
)]),
e
.
_v
(
"
"
),
n
(
"
el-dropdown-item
"
,{
attrs
:{
command
:
"
logout
"
,
divided
:
""
}},[
e
.
_v
(
"
注销
"
)])],
1
)],
1
)],
1
)]),
e
.
_v
(
"
"
),
n
(
"
el-container
"
,[
n
(
"
el-aside
"
,{
staticClass
:
"
home-aside
"
,
attrs
:{
width
:
"
180px
"
}},[
n
(
"
div
"
,{
staticStyle
:{
display
:
"
flex
"
,
"
justify-content
"
:
"
flex-start
"
,
width
:
"
180px
"
,
"
text-align
"
:
"
left
"
}},[
n
(
"
el-menu
"
,{
staticStyle
:{
background
:
"
#ececec
"
,
width
:
"
180px
"
},
attrs
:{
"
unique-opened
"
:
""
,
router
:
""
}},[
e
.
_l
(
this
.
routes
,
function
(
t
,
r
){
return
t
.
hidden
?
e
.
_e
():[
n
(
"
el-submenu
"
,{
key
:
r
,
attrs
:{
index
:
r
+
""
}},[
n
(
"
template
"
,{
slot
:
"
title
"
},[
n
(
"
i
"
,{
class
:
t
.
iconCls
,
staticStyle
:{
color
:
"
#20a0ff
"
,
width
:
"
14px
"
}}),
e
.
_v
(
"
"
),
n
(
"
span
"
,{
attrs
:{
slot
:
"
title
"
},
slot
:
"
title
"
},[
e
.
_v
(
e
.
_s
(
t
.
name
))])]),
e
.
_v
(
"
"
),
e
.
_l
(
t
.
children
,
function
(
t
){
return
n
(
"
el-menu-item
"
,{
key
:
t
.
path
,
staticStyle
:{
"
padding-left
"
:
"
30px
"
,
"
padding-right
"
:
"
0px
"
,
"
margin-left
"
:
"
0px
"
,
width
:
"
170px
"
,
"
text-align
"
:
"
left
"
},
attrs
:{
width
:
"
180px
"
,
index
:
t
.
path
}},[
e
.
_v
(
e
.
_s
(
t
.
name
)
+
"
\n
"
)])})],
2
)]})],
2
)],
1
)]),
e
.
_v
(
"
"
),
n
(
"
el-container
"
,[
n
(
"
el-main
"
,[
n
(
"
el-breadcrumb
"
,{
attrs
:{
"
separator-class
"
:
"
el-icon-arrow-right
"
}},[
n
(
"
el-breadcrumb-item
"
,{
attrs
:{
to
:{
path
:
"
/home
"
}}},[
e
.
_v
(
"
首页
"
)]),
e
.
_v
(
"
"
),
n
(
"
el-breadcrumb-item
"
,{
domProps
:{
textContent
:
e
.
_s
(
this
.
$router
.
currentRoute
.
name
)}})],
1
),
e
.
_v
(
"
"
),
n
(
"
keep-alive
"
,[
this
.
$route
.
meta
.
keepAlive
?
n
(
"
router-view
"
):
e
.
_e
()],
1
),
e
.
_v
(
"
"
),
this
.
$route
.
meta
.
keepAlive
?
e
.
_e
():
n
(
"
router-view
"
)],
1
)],
1
)],
1
)],
1
)],
1
)},
staticRenderFns
:[]};
var
a
=
n
(
"
VU/8
"
)({
mounted
:
function
(){},
methods
:{
devMsg
:
function
(){
var
e
=
this
;
this
.
$alert
(
"
为了确保所有的小伙伴都能看到完整的数据演示,数据库只开放了查询权限和部分字段的更新权限,其他权限都不具备,完整权限的演示需要大家在自己本地部署后,换一个正常的数据库用户后即可查看,这点请大家悉知!
"
,
"
友情提示
"
,{
confirmButtonText
:
"
确定
"
,
callback
:
function
(
t
){
e
.
$notify
({
title
:
"
重要重要!
"
,
type
:
"
warning
"
,
message
:
"
小伙伴们需要注意的是,目前只有权限管理模块完工了,因此这个项目中你无法看到所有的功能,除了权限管理相关的模块。权限管理相关的模块主要有两个,分别是 [系统管理->基础信息设置->权限组] 可以管理角色和资源的关系, [系统管理->操作员管理] 可以管理用户和角色的关系。
"
,
duration
:
0
})}})},
handleCommand
:
function
(
e
){
var
t
=
this
;
"
logout
"
==
e
&&
this
.
$confirm
(
"
注销登录, 是否继续?
"
,
"
提示
"
,{
confirmButtonText
:
"
确定
"
,
cancelButtonText
:
"
取消
"
,
type
:
"
warning
"
}).
then
(
function
(){
t
.
getRequest
(
"
/logout
"
),
t
.
$store
.
commit
(
"
logout
"
),
t
.
$router
.
replace
({
path
:
"
/
"
})}).
catch
(
function
(){
t
.
$message
({
type
:
"
info
"
,
message
:
"
取消
"
})})}},
data
:
function
(){
return
{}},
computed
:{
user
:
function
(){
return
this
.
$store
.
state
.
user
},
routes
:
function
(){
return
this
.
$store
.
state
.
routes
}}},
r
,
!
1
,
function
(
e
){
n
(
"
HP1N
"
)},
null
,
null
);
t
.
default
=
a
.
exports
},
oAV5
:
function
(
e
,
t
,
n
){
"
use strict
"
;
n
.
d
(
t
,
"
b
"
,
function
(){
return
o
}),
n
.
d
(
t
,
"
a
"
,
function
(){
return
s
});
var
r
=
n
(
"
VsUZ
"
),
a
=
n
(
"
zL8q
"
),
o
=
(
n
.
n
(
a
),
function
(){
for
(
var
e
=
arguments
.
length
,
t
=
Array
(
e
),
n
=
0
;
n
<
e
;
n
++
)
t
[
n
]
=
arguments
[
n
];
for
(
var
r
=
0
;
r
<
t
.
length
;
r
++
){
var
o
=
t
[
r
];
if
(
null
==
o
||
""
==
o
||
void
0
==
o
)
return
a
.
Message
.
warning
({
message
:
"
数据不能为空!
"
}),
!
1
}
return
!
0
}),
s
=
function
(
e
,
t
){
t
.
state
.
routes
.
length
>
0
||
Object
(
r
.
b
)(
"
/config/sysmenu
"
).
then
(
function
(
n
){
if
(
n
&&
200
==
n
.
status
){
var
r
=
i
(
n
.
data
);
e
.
addRoutes
(
r
),
t
.
commit
(
"
initMenu
"
,
r
)}})},
i
=
function
e
(
t
){
var
r
=
[];
return
t
.
forEach
(
function
(
t
){
var
a
=
t
.
path
,
o
=
t
.
component
,
s
=
t
.
name
,
i
=
t
.
meta
,
u
=
t
.
iconCls
,
l
=
t
.
children
;
l
&&
l
instanceof
Array
&&
(
l
=
e
(
l
));
var
c
=
{
path
:
a
,
component
:
function
(
e
){
o
.
startsWith
(
"
Home
"
)?
n
.
e
(
0
).
then
(
function
(){
var
t
=
[
n
(
"
2eoi
"
)(
"
./
"
+
o
+
"
.vue
"
)];
e
.
apply
(
null
,
t
)}.
bind
(
this
)).
catch
(
n
.
oe
):
o
.
startsWith
(
"
Emp
"
)?
n
.
e
(
5
).
then
(
function
(){
var
t
=
[
n
(
"
8cST
"
)(
"
./
"
+
o
+
"
.vue
"
)];
e
.
apply
(
null
,
t
)}.
bind
(
this
)).
catch
(
n
.
oe
):
o
.
startsWith
(
"
Per
"
)?
n
.
e
(
3
).
then
(
function
(){
var
t
=
[
n
(
"
sALK
"
)(
"
./
"
+
o
+
"
.vue
"
)];
e
.
apply
(
null
,
t
)}.
bind
(
this
)).
catch
(
n
.
oe
):
o
.
startsWith
(
"
Sal
"
)?
n
.
e
(
2
).
then
(
function
(){
var
t
=
[
n
(
"
9Acn
"
)(
"
./
"
+
o
+
"
.vue
"
)];
e
.
apply
(
null
,
t
)}.
bind
(
this
)).
catch
(
n
.
oe
):
o
.
startsWith
(
"
Sta
"
)?
n
.
e
(
4
).
then
(
function
(){
var
t
=
[
n
(
"
nCU1
"
)(
"
./
"
+
o
+
"
.vue
"
)];
e
.
apply
(
null
,
t
)}.
bind
(
this
)).
catch
(
n
.
oe
):
o
.
startsWith
(
"
Sys
"
)
&&
n
.
e
(
1
).
then
(
function
(){
var
t
=
[
n
(
"
LJAE
"
)(
"
./
"
+
o
+
"
.vue
"
)];
e
.
apply
(
null
,
t
)}.
bind
(
this
)).
catch
(
n
.
oe
)},
name
:
s
,
iconCls
:
u
,
meta
:
i
,
children
:
l
};
r
.
push
(
c
)}),
r
}},
oWFQ
:
function
(
e
,
t
){},
tvR6
:
function
(
e
,
t
){},
xJsL
:
function
(
e
,
t
,
n
){
"
use strict
"
;
Object
.
defineProperty
(
t
,
"
__esModule
"
,{
value
:
!
0
});
var
r
=
{
data
:
function
(){
return
{
rules
:{
account
:[{
required
:
!
0
,
message
:
"
请输入用户名
"
,
trigger
:
"
blur
"
}],
checkPass
:[{
required
:
!
0
,
message
:
"
请输入密码
"
,
trigger
:
"
blur
"
}]},
checked
:
!
0
,
loginForm
:{
username
:
"
admin
"
,
password
:
"
123
"
},
loading
:
!
1
}},
methods
:{
submitClick
:
function
(){
var
e
=
this
;
this
.
loading
=!
0
,
this
.
postRequest
(
"
/login
"
,{
username
:
this
.
loginForm
.
username
,
password
:
this
.
loginForm
.
password
}).
then
(
function
(
t
){
if
(
e
.
loading
=!
1
,
t
&&
200
==
t
.
status
){
var
n
=
t
.
data
;
e
.
$store
.
commit
(
"
login
"
,
n
.
msg
);
var
r
=
e
.
$route
.
query
.
redirect
;
e
.
$router
.
replace
({
path
:
"
/
"
==
r
||
void
0
==
r
?
"
/home
"
:
r
})}})}}},
a
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
n
=
e
.
_self
.
_c
||
t
;
return
n
(
"
el-form
"
,{
directives
:[{
name
:
"
loading
"
,
rawName
:
"
v-loading
"
,
value
:
e
.
loading
,
expression
:
"
loading
"
}],
staticClass
:
"
login-container
"
,
attrs
:{
rules
:
e
.
rules
,
"
label-position
"
:
"
left
"
,
"
label-width
"
:
"
0px
"
}},[
n
(
"
h3
"
,{
staticClass
:
"
login_title
"
},[
e
.
_v
(
"
系统登录
"
)]),
e
.
_v
(
"
"
),
n
(
"
el-form-item
"
,{
attrs
:{
prop
:
"
account
"
}},[
n
(
"
el-input
"
,{
attrs
:{
type
:
"
text
"
,
"
auto-complete
"
:
"
off
"
,
placeholder
:
"
账号
"
},
model
:{
value
:
e
.
loginForm
.
username
,
callback
:
function
(
t
){
e
.
$set
(
e
.
loginForm
,
"
username
"
,
t
)},
expression
:
"
loginForm.username
"
}})],
1
),
e
.
_v
(
"
"
),
n
(
"
el-form-item
"
,{
attrs
:{
prop
:
"
checkPass
"
}},[
n
(
"
el-input
"
,{
attrs
:{
type
:
"
password
"
,
"
auto-complete
"
:
"
off
"
,
placeholder
:
"
密码
"
},
model
:{
value
:
e
.
loginForm
.
password
,
callback
:
function
(
t
){
e
.
$set
(
e
.
loginForm
,
"
password
"
,
t
)},
expression
:
"
loginForm.password
"
}})],
1
),
e
.
_v
(
"
"
),
n
(
"
el-checkbox
"
,{
staticClass
:
"
login_remember
"
,
attrs
:{
"
label-position
"
:
"
left
"
},
model
:{
value
:
e
.
checked
,
callback
:
function
(
t
){
e
.
checked
=
t
},
expression
:
"
checked
"
}},[
e
.
_v
(
"
记住密码
"
)]),
e
.
_v
(
"
"
),
n
(
"
el-form-item
"
,{
staticStyle
:{
width
:
"
100%
"
}},[
n
(
"
el-button
"
,{
staticStyle
:{
width
:
"
100%
"
},
attrs
:{
type
:
"
primary
"
},
nativeOn
:{
click
:
function
(
t
){
t
.
preventDefault
(),
e
.
submitClick
(
t
)}}},[
e
.
_v
(
"
登录
"
)])],
1
)],
1
)},
staticRenderFns
:[]};
var
o
=
n
(
"
VU/8
"
)(
r
,
a
,
!
1
,
function
(
e
){
n
(
"
oWFQ
"
)},
null
,
null
);
t
.
default
=
o
.
exports
}},[
"
NHnr
"
]);
//# sourceMappingURL=app.dfa620b6af45f973da76.js.map
\ No newline at end of file
hrserver/src/main/resources/static/static/js/app.dfa620b6af45f973da76.js.map
0 → 100644
浏览文件 @
a6c86dcc
此差异已折叠。
点击以展开。
hrserver/src/main/resources/static/static/js/manifest.
6a421ea0ecff5b05d027
.js
→
hrserver/src/main/resources/static/static/js/manifest.
36f620a93237261123f0
.js
浏览文件 @
a6c86dcc
!
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
:
"
19a7106de03fc2a0ce38
"
,
1
:
"
6baadbf583910ce36083
"
,
2
:
"
9ff52b878e2c6af33db4
"
,
3
:
"
f2af1e5f79c4750ed876
"
,
4
:
"
b25d67ddc90d6ac44980
"
,
5
:
"
6e7fafbe72070f259f42
"
,
6
:
"
59f7a0d2e440c37c0dac
"
,
7
:
"
59c317cd795b42477f9c
"
}[
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.6a421ea0ecff5b05d027.js.map
\ No newline at end of file
!
function
(
e
){
var
n
=
window
.
webpackJsonp
;
window
.
webpackJsonp
=
function
(
r
,
a
,
c
){
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
a
)
Object
.
prototype
.
hasOwnProperty
.
call
(
a
,
f
)
&&
(
e
[
f
]
=
a
[
f
]);
for
(
n
&&
n
(
r
,
a
,
c
);
s
.
length
;)
s
.
shift
()();
if
(
c
)
for
(
d
=
0
;
d
<
c
.
length
;
d
++
)
u
=
o
(
o
.
s
=
c
[
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
a
=
document
.
getElementsByTagName
(
"
head
"
)[
0
],
c
=
document
.
createElement
(
"
script
"
);
c
.
type
=
"
text/javascript
"
,
c
.
charset
=
"
utf-8
"
,
c
.
async
=!
0
,
c
.
timeout
=
12
e4
,
o
.
nc
&&
c
.
setAttribute
(
"
nonce
"
,
o
.
nc
),
c
.
src
=
o
.
p
+
"
static/js/
"
+
e
+
"
.
"
+
{
0
:
"
a3264ac089a735c69ff5
"
,
1
:
"
85bff9c034d28d2184a5
"
,
2
:
"
9ff52b878e2c6af33db4
"
,
3
:
"
f2af1e5f79c4750ed876
"
,
4
:
"
b25d67ddc90d6ac44980
"
,
5
:
"
6e7fafbe72070f259f42
"
,
6
:
"
59f7a0d2e440c37c0dac
"
,
7
:
"
dfa620b6af45f973da76
"
}[
e
]
+
"
.js
"
;
var
f
=
setTimeout
(
i
,
12
e4
);
c
.
onerror
=
c
.
onload
=
i
;
function
i
(){
c
.
onerror
=
c
.
onload
=
null
,
clearTimeout
(
f
);
var
n
=
t
[
e
];
0
!==
n
&&
(
n
&&
n
[
1
](
new
Error
(
"
Loading chunk
"
+
e
+
"
failed.
"
)),
t
[
e
]
=
void
0
)}
return
a
.
appendChild
(
c
),
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.36f620a93237261123f0.js.map
\ No newline at end of file
hrserver/src/main/resources/static/static/js/manifest.
6a421ea0ecff5b05d027
.js.map
→
hrserver/src/main/resources/static/static/js/manifest.
36f620a93237261123f0
.js.map
浏览文件 @
a6c86dcc
此差异已折叠。
点击以展开。
vuehr/src/components/system/SysBasic.vue
浏览文件 @
a6c86dcc
...
...
@@ -5,10 +5,10 @@
<dep-mana></dep-mana>
</el-tab-pane>
<el-tab-pane
label=
"职位管理"
name=
"positionMana"
>
<pos-mana></pos-mana>
<pos-mana
state=
"position"
></pos-mana>
</el-tab-pane>
<el-tab-pane
label=
"职称管理"
name=
"jobTitleMana"
>
<
jobtitle-mana></jobtitle
-mana>
<
pos-mana
state=
"jobtitle"
></pos
-mana>
</el-tab-pane>
<el-tab-pane
label=
"奖惩规则"
name=
"ecCfg"
>
<ec-mana></ec-mana>
...
...
vuehr/src/components/system/basic/DepMana.vue.bak
已删除
100644 → 0
浏览文件 @
d34fae00
<template>
<div>
<!-- <el-container>
<!– <el-header style="padding: 0px;display:flex;justify-content:flex-start;align-items: flex-start;height: 28px;">
<el-button type="primary" size="mini" style="margin-left: 5px" icon="el-icon-plus">添加部门</el-button>
</el-header>–>
<el-main style="padding: 0px;margin-top: 10px">-->
<div style="text-align: left">
<el-input
placeholder="输入部门名称搜索部门..."
style="width: 500px;margin: 0px;padding: 0px;"
size="mini"
prefix-icon="el-icon-search"
v-model="keywords">
</el-input>
</div>
<div>
<el-tree
:props="defaultProps"
:load="loadNode"
lazy
v-loading="treeLoading"
node-key="id"
style="width: 500px"
:render-content="renderContent">
</el-tree>
</div>
<!-- </el-main>
</el-container>-->
</div>
</template>
<script>
let id = 1000;
export default {
data() {
return {
keywords: '',
treeLoading:false,
defaultProps: {
label: 'name',
isLeaf: 'leaf'
}
}
},
methods: {
loadNode(node, resolve) {
var pid;
if (node.data == undefined) {
pid = -1;
}else{
pid = node.data.id;
}
this.getRequest("/system/basic/dep/"+pid).then(resp=> {
if (resp && resp.status == 200) {
resolve(resp.data);
}
})
},
append(data) {
const newChild = {id: id++, label: 'testtest', children: []};
if (!data.children) {
this.$set(data, 'children', []);
}
data.children.push(newChild);
},
remove(node, data) {
const parent = node.parent;
const children = parent.data.children || parent.data;
const index = children.findIndex(d => d.id === data.id);
children.splice(index, 1);
},
addDep(node,data,event){
event.stopPropagation()
},
deleteDep(node,data,event){
if(!data.leaf) {
this.$message({
message: '该部门下尚有其他部门,不能被删除!',
type: 'warning'
});
}else{
this.treeLoading = true;
this.deleteRequest("/system/basic/dep/" + data.id).then(resp=>{
this.treeLoading = false;
});
}
event.stopPropagation()
},
renderContent(h, {node, data, store}) {
return (
<span style="flex: 1; display: flex; align-items: center; justify-content: space-between; font-size: 14px; padding-right: 8px;">
<span>
<span>{node.label}</span>
</span>
<span>
<el-button style="font-size: 12px;" type="primary" size="mini" style="padding:3px" on-click={ () => this.addDep(node,data,event) }>添加部门</el-button>
<el-button style="font-size: 12px;" type="danger" size="mini" style="padding:3px" on-click={ () => this.deleteDep(node, data,event) }>删除部门</el-button>
</span>
</span>);
}
}
};
</script>
vuehr/src/components/system/basic/JobTitleMana.vue
浏览文件 @
a6c86dcc
...
...
@@ -3,3 +3,6 @@
<h1>
职称管理
</h1>
</div>
</
template
>
<
script
>
</
script
>
vuehr/src/components/system/basic/PosMana.vue
浏览文件 @
a6c86dcc
<
template
>
<div>
<h1>
职位管理
</h1>
<div
style=
"text-align: left"
>
<el-input
:placeholder=
"state=='position'?'添加职位...':'添加职称...'"
size=
"mini"
@
keyup.enter.native=
"addPosition"
style=
"width: 300px;"
prefix-icon=
"el-icon-plus"
v-model=
"positionName"
>
</el-input>
<el-select
v-model=
"titleLevel"
v-if=
"state=='jobtitle'"
size=
"mini"
placeholder=
"职称等级"
>
<el-option
v-for=
"tl in titleLevels"
:key=
"tl"
:label=
"tl"
:value=
"tl"
>
</el-option>
</el-select>
<el-button
type=
"primary"
icon=
"el-icon-plus"
size=
"mini"
@
click=
"addPosition"
>
添加
</el-button>
</div>
<div
style=
"margin-top: 10px"
>
<el-table
v-loading=
"loading"
:data=
"posData"
size=
"mini"
stripe
border
@
selection-change=
"handleSelectionChange"
style=
"width: 80%"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"left"
>
</el-table-column>
<el-table-column
prop=
"id"
label=
"编号"
width=
"80"
align=
"left"
>
</el-table-column>
<el-table-column
prop=
"name"
:label=
"state=='position'?'职位名称':'职称名称'"
width=
"180"
align=
"left"
>
</el-table-column>
<el-table-column
prop=
"titleLevel"
label=
"职称级别"
width=
"180"
align=
"left"
v-if=
"state=='jobtitle'"
>
</el-table-column>
<el-table-column
width=
"180"
label=
"创建时间"
align=
"left"
>
<template
slot-scope=
"scope"
>
{{
scope
.
row
.
createDate
|
formatDate
}}
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
align=
"left"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
@
click=
"handleEdit(scope.$index, scope.row)"
>
编辑
</el-button>
<el-button
size=
"mini"
type=
"danger"
@
click=
"handleDelete(scope.$index, scope.row)"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
</div>
<div
style=
"text-align: left;margin-top: 10px"
>
<el-button
type=
"danger"
size=
"mini"
v-if=
"posData.length>0"
:disabled=
"multipleSelection.length==0"
@
click=
"deleteMany"
>
批量删除
</el-button>
</div>
<div
style=
"text-align: left"
>
<el-dialog
:title=
"state=='position'?'编辑职位名称':'编辑职称'"
:visible.sync=
"dialogVisible"
width=
"25%"
>
<el-input
v-model=
"updatePosName"
size=
"mini"
placeholder=
"请输入新的职位名称..."
></el-input>
<el-select
v-model=
"updateTitleLevel"
v-if=
"state=='jobtitle'"
style=
"margin-top: 10px"
size=
"mini"
placeholder=
"职称等级"
>
<el-option
v-for=
"tl in titleLevels"
:key=
"tl"
:label=
"tl"
:value=
"tl"
>
</el-option>
</el-select>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"mini"
@
click=
"dialogVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
size=
"mini"
@
click=
"updatePosNameExec"
>
确 定
</el-button>
</span>
</el-dialog>
</div>
</div>
</template>
<
script
>
export
default
{
mounted
:
function
()
{
this
.
loadTableData
();
},
methods
:
{
updatePosNameExec
(){
if
(
!
this
.
isNotNullORBlank
(
this
.
updatePosName
))
{
this
.
$message
.
warning
(
this
.
state
==
'
position
'
?
'
职位名称不能为空!
'
:
'
职称名称不能为空!
'
);
return
;
}
this
.
loading
=
true
;
var
_this
=
this
;
this
.
putRequest
(
this
.
state
==
'
position
'
?
"
/system/basic/position
"
:
"
/system/basic/joblevel
"
,
{
name
:
this
.
updatePosName
,
id
:
this
.
updatePosId
,
titleLevel
:
this
.
updateTitleLevel
}).
then
(
resp
=>
{
_this
.
loading
=
false
;
if
(
resp
&&
resp
.
status
==
200
)
{
this
.
dialogVisible
=
false
;
var
data
=
resp
.
data
;
_this
.
$message
({
type
:
data
.
status
,
message
:
data
.
msg
});
_this
.
loadTableData
();
}
})
},
deleteMany
(){
var
_this
=
this
;
this
.
$confirm
(
'
删除
'
+
this
.
multipleSelection
.
length
+
'
条数据, 是否继续?
'
,
'
提示
'
,
{
confirmButtonText
:
'
确定
'
,
cancelButtonText
:
'
取消
'
,
type
:
'
warning
'
}).
then
(()
=>
{
var
multipleSelection
=
_this
.
multipleSelection
;
var
ids
=
''
;
multipleSelection
.
forEach
(
row
=>
{
ids
=
ids
+
row
.
id
+
'
,
'
;
})
_this
.
doDelete
(
ids
);
}).
catch
(()
=>
{
this
.
$message
({
type
:
'
info
'
,
message
:
'
已取消删除
'
});
});
},
addPosition
(){
if
(
!
this
.
isNotNullORBlank
(
this
.
positionName
))
{
this
.
$message
.
warning
(
this
.
state
==
'
position
'
?
'
职位名称不能为空!
'
:
'
职称名称不能为空!
'
);
return
;
}
if
(
this
.
state
==
'
jobtitle
'
)
{
if
(
!
this
.
isNotNullORBlank
(
this
.
titleLevel
))
{
this
.
$message
.
warning
(
'
请选择职称级别!
'
);
return
;
}
}
var
_this
=
this
;
this
.
loading
=
true
;
this
.
postRequest
(
this
.
state
==
'
position
'
?
"
/system/basic/position
"
:
"
/system/basic/joblevel
"
,
{
name
:
this
.
positionName
,
titleLevel
:
this
.
titleLevel
}).
then
(
resp
=>
{
_this
.
loading
=
false
;
if
(
resp
&&
resp
.
status
==
200
)
{
var
data
=
resp
.
data
;
_this
.
$message
({
type
:
data
.
status
,
message
:
data
.
msg
});
_this
.
loadTableData
();
_this
.
positionName
=
''
;
_this
.
titleLevel
=
''
;
}
});
},
handleSelectionChange
(
val
)
{
this
.
multipleSelection
=
val
;
},
handleEdit
(
index
,
row
){
this
.
updatePosName
=
row
.
name
;
this
.
updatePosId
=
row
.
id
;
this
.
updateTitleLevel
=
row
.
titleLevel
;
this
.
dialogVisible
=
true
;
},
handleDelete
(
index
,
row
){
var
_this
=
this
;
this
.
$confirm
(
'
删除[
'
+
row
.
name
+
'
], 是否继续?
'
,
'
提示
'
,
{
confirmButtonText
:
'
确定
'
,
cancelButtonText
:
'
取消
'
,
type
:
'
warning
'
}).
then
(()
=>
{
_this
.
doDelete
(
row
.
id
);
}).
catch
(()
=>
{
this
.
$message
({
type
:
'
info
'
,
message
:
'
已取消删除
'
});
});
},
doDelete
(
ids
){
var
_this
=
this
;
_this
.
loading
=
true
;
var
url
=
this
.
state
==
'
position
'
?
'
/system/basic/position/
'
:
'
/system/basic/joblevel/
'
;
this
.
deleteRequest
(
url
+
ids
).
then
(
resp
=>
{
_this
.
loading
=
false
;
if
(
resp
&&
resp
.
status
==
200
)
{
_this
.
loadTableData
();
}
})
},
loadTableData
(){
var
_this
=
this
;
this
.
loading
=
true
;
this
.
getRequest
(
this
.
state
==
'
position
'
?
"
/system/basic/positions
"
:
"
/system/basic/joblevels
"
).
then
(
resp
=>
{
_this
.
loading
=
false
;
if
(
resp
&&
resp
.
status
==
200
)
{
_this
.
posData
=
resp
.
data
;
}
})
}
},
data
(){
return
{
positionName
:
''
,
updatePosName
:
''
,
updateTitleLevel
:
''
,
titleLevel
:
''
,
updatePosId
:
-
1
,
loading
:
false
,
dialogVisible
:
false
,
multipleSelection
:
[],
type
:
[],
titleLevels
:
[
'
正高级
'
,
'
副高级
'
,
'
中级
'
,
'
初级
'
,
'
员级
'
],
nameLabelName
:
this
.
state
==
'
position
'
?
'
职位名称
'
:
'
职称名称
'
,
posData
:
[]
}
},
props
:
[
'
state
'
]
}
</
script
>
vuehr/src/main.js
浏览文件 @
a6c86dcc
...
...
@@ -11,6 +11,9 @@ import {postRequest} from './utils/api'
import
{
deleteRequest
}
from
'
./utils/api
'
import
{
putRequest
}
from
'
./utils/api
'
import
{
initMenu
}
from
'
./utils/utils
'
import
{
isNotNullORBlank
}
from
'
./utils/utils
'
import
'
./utils/filter_utils
'
Vue
.
config
.
productionTip
=
false
Vue
.
use
(
ElementUI
)
...
...
@@ -18,6 +21,7 @@ Vue.prototype.getRequest = getRequest;
Vue
.
prototype
.
postRequest
=
postRequest
;
Vue
.
prototype
.
deleteRequest
=
deleteRequest
;
Vue
.
prototype
.
putRequest
=
putRequest
;
Vue
.
prototype
.
isNotNullORBlank
=
isNotNullORBlank
;
router
.
beforeEach
((
to
,
from
,
next
)
=>
{
if
(
to
.
name
==
'
Login
'
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录