36 changed files with 5326 additions and 42 deletions
@ -1,3 +1,26 @@ |
|||
# kpi_vue_pc |
|||
|
|||
绩效考核PC端 |
|||
绩效考核PC端 |
|||
|
|||
### 金蝶图片处理方法 |
|||
|
|||
|
|||
1、原始值 |
|||
|
|||
``` |
|||
/9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a\r\nHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy\r\nMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAB4AGQDASIA\r\nAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA\r\nAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3\r\nODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm\r\np6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA\r\nAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx\r\nBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK\r\nU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3\r\nuLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii\r\ngAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiuK8afE3RfBhEM+65vCM+RERkfU9q8s\r\n1L9ojUpfMXTtLtoBkbTIS5Az+A9aAPoiivnSy/aJ1aIQrdaTbTgMfMcMVZhnjHYHHtXVJ+0LoTzq\r\ng0m9CFsFyy8DjnH50WA9horN0fX9L161W50y9huI2GfkbkfUda0qACiiigAooooAKKKKACvNfi94\r\n/n8IaRFaad5f268DDeSCYk6E4znPPB6cGvSq+N/G+pX3iXxxfzzyO7GYxxgrjYgOFAHYYoA5ue5u\r\ntQuGklkeWRjyTyTWtp/g/Vb6MSCHYh6F+K6/QfDUNqql0DMeQxFd9Y28SxqCOg5riqYuztE76eDu\r\n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 |
|||
``` |
|||
|
|||
2、去除 \r\n 字符 |
|||
|
|||
3、添加base64头 |
|||
|
|||
``` |
|||
data:image/jpeg;base64, |
|||
``` |
|||
|
|||
4、处理后的效果 |
|||
|
|||
``` |
|||
data:image/jpeg;base64,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 |
|||
``` |
|||
|
|||
@ -0,0 +1,414 @@ |
|||
//性别
|
|||
const sexData=[ |
|||
{ |
|||
id:1, |
|||
tittle:'男' |
|||
}, |
|||
{ |
|||
id:2, |
|||
tittle:'女' |
|||
}, |
|||
]; |
|||
// 用工关系选择列表
|
|||
const emptypeList=[ |
|||
{ |
|||
id:1, |
|||
tittle:'临时工' |
|||
}, |
|||
{ |
|||
id:2, |
|||
tittle:'编外人员' |
|||
}, |
|||
{ |
|||
id:3, |
|||
tittle:'实习&实习生' |
|||
}, |
|||
{ |
|||
id:4, |
|||
tittle:'试用员工' |
|||
}, |
|||
{ |
|||
id:5, |
|||
tittle:'待分配' |
|||
}, |
|||
{ |
|||
id:6, |
|||
tittle:'待岗' |
|||
}, |
|||
{ |
|||
id:7, |
|||
tittle:'临时调入' |
|||
}, |
|||
{ |
|||
id:8, |
|||
tittle:'正式员工' |
|||
}, |
|||
{ |
|||
id:9, |
|||
tittle:'长期病假' |
|||
}, |
|||
{ |
|||
id:10, |
|||
tittle:'停薪留职' |
|||
}, |
|||
{ |
|||
id:11, |
|||
tittle:'退休' |
|||
}, |
|||
{ |
|||
id:12, |
|||
tittle:'辞职' |
|||
}, |
|||
{ |
|||
id:13, |
|||
tittle:'辞退' |
|||
}, |
|||
{ |
|||
id:14, |
|||
tittle:'离职' |
|||
}, |
|||
]; |
|||
// 星座列表
|
|||
const constellationList = [ |
|||
{ |
|||
id:1, |
|||
tittle:'白羊座' |
|||
}, |
|||
{ |
|||
id:2, |
|||
tittle:'金牛座' |
|||
}, |
|||
{ |
|||
id:3, |
|||
tittle:'双子座' |
|||
}, |
|||
{ |
|||
id:4, |
|||
tittle:'巨蟹座' |
|||
}, |
|||
{ |
|||
id:5, |
|||
tittle:'狮子座' |
|||
}, |
|||
{ |
|||
id:6, |
|||
tittle:'处女座' |
|||
}, |
|||
{ |
|||
id:7, |
|||
tittle:'天枰座' |
|||
}, |
|||
{ |
|||
id:8, |
|||
tittle:'天蝎座' |
|||
}, |
|||
{ |
|||
id:9, |
|||
tittle:'射手座' |
|||
}, |
|||
{ |
|||
id:10, |
|||
tittle:'摩羯座' |
|||
}, |
|||
{ |
|||
id:11, |
|||
tittle:'水瓶座' |
|||
}, |
|||
{ |
|||
id:12, |
|||
tittle:'双鱼座' |
|||
}, |
|||
]; |
|||
// 婚姻状态列表
|
|||
const marriageList=[ |
|||
{ |
|||
id:1, |
|||
tittle:'未婚' |
|||
}, |
|||
{ |
|||
id:2, |
|||
tittle:'已婚' |
|||
}, |
|||
{ |
|||
id:3, |
|||
tittle:'丧偶' |
|||
}, |
|||
{ |
|||
id:4, |
|||
tittle:'离异' |
|||
}, |
|||
]; |
|||
// 健康状况列表
|
|||
const healthList=[ |
|||
{ |
|||
id:1, |
|||
tittle:'良好' |
|||
}, |
|||
{ |
|||
id:2, |
|||
tittle:'一般' |
|||
}, |
|||
{ |
|||
id:3, |
|||
tittle:'较弱' |
|||
}, |
|||
{ |
|||
id:4, |
|||
tittle:'有生理缺陷' |
|||
}, |
|||
{ |
|||
id:5, |
|||
tittle:'残废' |
|||
}, |
|||
]; |
|||
// 政治面貌列表
|
|||
const politicsList=[ |
|||
{ |
|||
id:1, |
|||
tittle:'群众' |
|||
}, |
|||
{ |
|||
id:2, |
|||
tittle:'无党派' |
|||
}, |
|||
{ |
|||
id:3, |
|||
tittle:'台盟会员' |
|||
}, |
|||
{ |
|||
id:4, |
|||
tittle:'九三社员' |
|||
}, |
|||
{ |
|||
id:5, |
|||
tittle:'致公党员' |
|||
}, |
|||
{ |
|||
id:6, |
|||
tittle:'农工党员' |
|||
}, |
|||
{ |
|||
id:7, |
|||
tittle:'民进会员' |
|||
}, |
|||
{ |
|||
id:8, |
|||
tittle:'民建会员' |
|||
}, |
|||
{ |
|||
id:9, |
|||
tittle:'民盟盟员' |
|||
}, |
|||
{ |
|||
id:10, |
|||
tittle:'民革会员' |
|||
}, |
|||
{ |
|||
id:11, |
|||
tittle:'共青团员' |
|||
}, |
|||
{ |
|||
id:12, |
|||
tittle:'预备党员' |
|||
}, |
|||
{ |
|||
id:13, |
|||
tittle:'中共党员' |
|||
}, |
|||
|
|||
]; |
|||
// 教育经历列表
|
|||
const educationList=[ |
|||
{ |
|||
id:1, |
|||
tittle:'初中及以下' |
|||
}, |
|||
{ |
|||
id:2, |
|||
tittle:'中专' |
|||
}, |
|||
{ |
|||
id:3, |
|||
tittle:'高中' |
|||
}, |
|||
{ |
|||
id:4, |
|||
tittle:'中技' |
|||
}, |
|||
{ |
|||
id:5, |
|||
tittle:'高技' |
|||
}, |
|||
{ |
|||
id:6, |
|||
tittle:'函数专科' |
|||
}, |
|||
{ |
|||
id:7, |
|||
tittle:'大学专科' |
|||
}, |
|||
{ |
|||
id:8, |
|||
tittle:'函数本科' |
|||
}, |
|||
{ |
|||
id:9, |
|||
tittle:'大学本科' |
|||
}, |
|||
{ |
|||
id:10, |
|||
tittle:'硕士研究生' |
|||
}, |
|||
{ |
|||
id:11, |
|||
tittle:'博士研究生' |
|||
}, |
|||
{ |
|||
id:12, |
|||
tittle:'专家、教授' |
|||
}, |
|||
]; |
|||
//雇佣类型
|
|||
const employmentType = [ |
|||
{ |
|||
id:1, |
|||
tittle:'雇佣入职' |
|||
}, |
|||
{ |
|||
id:2, |
|||
tittle:'再入职' |
|||
} |
|||
]; |
|||
//入职等级
|
|||
const positiongrade = [ |
|||
{ |
|||
id:1, |
|||
tittle:'一级' |
|||
}, |
|||
{ |
|||
id:2, |
|||
tittle:'二级' |
|||
}, |
|||
{ |
|||
id:3, |
|||
tittle:'三级' |
|||
} |
|||
]; |
|||
|
|||
//注册定义的方法
|
|||
export const peopleMethod= { |
|||
sexData, |
|||
emptypeList, |
|||
constellationList, |
|||
marriageList, |
|||
healthList, |
|||
politicsList, |
|||
educationList, |
|||
employmentType, |
|||
positiongrade |
|||
}; |
|||
|
|||
|
|||
//date 当前日期,num 几个月
|
|||
export function getNtoMonth(date, num) { |
|||
if (!date || !num) return; |
|||
var num1 = parseInt(num); |
|||
var d = new Date(date); |
|||
|
|||
var thisMonth = d.getMonth() + 1; |
|||
var thisYear = d.getFullYear(); |
|||
var thisDay = d.getDate(); |
|||
var dateStr = ""; |
|||
var addCount = thisMonth + num1; |
|||
var diffMonthCount = parseInt(addCount / 12); //取整
|
|||
|
|||
if ((thisMonth + num1) === 12 * diffMonthCount) { //如果是本年
|
|||
if ((thisMonth + num1) === 12) { |
|||
diffMonthCount = 0; |
|||
} else { |
|||
diffMonthCount = diffMonthCount - 1; |
|||
} |
|||
} |
|||
if (thisMonth + num1 > 12) { //如果是大于一年
|
|||
thisYear += diffMonthCount; |
|||
} |
|||
thisMonth = (addCount) - 12 * diffMonthCount; |
|||
if (thisMonth < 10) { |
|||
thisMonth = "0" + thisMonth; |
|||
} |
|||
|
|||
var thatDate = new Date(thisYear, thisMonth, 0); //当天数为0 js自动处理为上一月的最后一天
|
|||
|
|||
|
|||
|
|||
var thatDay = thatDate.getDate();//指定年月的当月最大天数
|
|||
let m1 = date.substring(5, 7); |
|||
if (thisDay === 30 || thisDay === 31 || (m1 === "02" && thisDay >= 28)) { |
|||
thisDay = thatDay; |
|||
console.log("thisYear------------->",thisYear,thisDay,date) |
|||
if (date) { |
|||
let m2 = date.substring(5, 10); |
|||
// 成立日为2月份,且期限为整年的判断闰年
|
|||
if (m2 === "02-28" && num % 12 === 0) { |
|||
if (!(thisYear % (thisYear % 100 ? 4 : 400))) { |
|||
thisDay = "29"; |
|||
} |
|||
} |
|||
console.log("thisYear-------1------>",thisYear,thisMonth,thisDay,date,m2,num) |
|||
} |
|||
|
|||
dateStr = thisYear + "-" + thisMonth + "-" + thisDay; |
|||
} else { |
|||
console.log("thisYear-------2------>",thisYear,thisDay,date,m1) |
|||
dateStr = addMonth2(date, num); |
|||
} |
|||
return dateStr; |
|||
} |
|||
function addMonth2(date, num) { |
|||
var monthnum = 0; |
|||
if (typeof (num) === "string") { monthnum = parseInt(num); } else { monthnum = num; } |
|||
if (typeof (date) === "string") { date = new Date(date); } |
|||
var year = date.getFullYear(); |
|||
var month = date.getMonth() + 1; |
|||
var day = date.getDate(); |
|||
var sumMonths = month + monthnum; |
|||
var newyear = year + parseInt(sumMonths / 12); |
|||
var newmonth = sumMonths % 12; |
|||
var newday = day; |
|||
|
|||
if (newmonth < 1) { |
|||
if (newmonth === 0) newyear--; |
|||
newmonth = 0 - (sumMonths - 1) % 12; |
|||
} |
|||
|
|||
|
|||
var da = new Date(newyear, newmonth, 0); |
|||
var newDayMax = da.getDate() |
|||
// if()
|
|||
|
|||
|
|||
// console.log("thisYear-------4---1--->",newyear)
|
|||
// console.log("thisYear-------4---2--->",newmonth)
|
|||
// console.log("thisYear-------4---3--->",newday)
|
|||
// console.log("thisYear-------4---4--->",date)
|
|||
// console.log("thisYear-------4---5--->",da)
|
|||
// console.log("thisYear-------4---6--->",year)
|
|||
// console.log("thisYear-------4---7--->",month)
|
|||
// console.log("thisYear-------4---8--->",day)
|
|||
// console.log("thisYear-------4---9--->",newDayMax)
|
|||
|
|||
return newyear + "-" + newmonth + "-" + (da.getDate() < newday ? da.getDate() : newday); |
|||
}; |
|||
|
|||
|
|||
//判断是不是数组
|
|||
export function judgeArray(ary){ |
|||
if(ary.isArray){ |
|||
return true; |
|||
}else{ |
|||
if (Object.prototype.toString.call(ary) === '[object Array]') { |
|||
return true; |
|||
} |
|||
} |
|||
return false; |
|||
}; |
|||
@ -0,0 +1,75 @@ |
|||
/** |
|||
@ 作者: 秦东 |
|||
@ 时间: 2022-11-25 11:10:03 |
|||
@ 功能: 计算N个月后的时间 |
|||
@ 参数 |
|||
#date 当前时间 格式:2022-11-25 |
|||
#num 几个月 |
|||
@ 返回值 |
|||
#计算后的时间 |
|||
@ 方法原型 |
|||
#function calculationDate(date,num) |
|||
*/ |
|||
export function calculationDate(date,num){ |
|||
console.log("date------123------>",date) |
|||
if (!date || !num) return; |
|||
if(date == "" || date == null) return; |
|||
var numInt = parseInt(num); |
|||
var oldDate = new Date(date); |
|||
//计算年月日
|
|||
var oldYear = oldDate.getFullYear(); |
|||
var oldMonth = oldDate.getMonth() + 1; |
|||
var oldDay = oldDate.getDate(); |
|||
|
|||
var guDuMonth = oldMonth + numInt; |
|||
var diffMonthCount = parseInt(guDuMonth / 12); //取整
|
|||
//修正差异月数值
|
|||
if(guDuMonth === 12 * diffMonthCount){ //如果是当前年
|
|||
if (guDuMonth === 12){ |
|||
diffMonthCount = 0 |
|||
}else{ |
|||
diffMonthCount = diffMonthCount - 1; |
|||
} |
|||
} |
|||
var newYear = oldYear |
|||
if(guDuMonth > 12){ //判断计算后的月份是否超过12月
|
|||
newYear = oldYear + diffMonthCount; |
|||
} |
|||
var newMonth = guDuMonth - 12 * diffMonthCount |
|||
|
|||
var thatDate = new Date(newYear, newMonth, 0); //当天数为0 js自动处理为上一月的最后一天
|
|||
var thatDay = thatDate.getDate();//指定年月的当月最大天数
|
|||
let newDay = thatDay; |
|||
let originalDate = date.substring(5, 7); |
|||
let dateStr = newYear + "-" + newMonth + "-" + oldDay; |
|||
// console.log("时间-----》",oldDay,thatDay)
|
|||
if(oldDay > thatDay){ //判断源日期天是否大于目标日期天
|
|||
let differenceDay = oldDay - thatDay; |
|||
|
|||
if(differenceDay > 0){ |
|||
newMonth++; |
|||
newDay = differenceDay |
|||
}else if(differenceDay < 0){ |
|||
newMonth--; |
|||
var lastMonthDate = new Date(newYear, newMonth, 0); |
|||
newDay = lastMonthDate + differenceDay |
|||
}else{ |
|||
newMonth--; |
|||
newDay = new Date(newYear, newMonth, 0); |
|||
} |
|||
dateStr = newYear + "-" + newMonth + "-" + newDay; |
|||
}else{ |
|||
newDay = oldDay |
|||
} |
|||
if(newMonth < 10){ |
|||
newMonth = "0" + newMonth; |
|||
} |
|||
if(newDay < 10){ |
|||
newDay = "0" + newDay; |
|||
} |
|||
return { |
|||
newYear:newYear, |
|||
newMonth:newMonth, |
|||
newDay:newDay |
|||
}; |
|||
} |
|||
File diff suppressed because it is too large
@ -0,0 +1,92 @@ |
|||
<template> |
|||
<el-scrollbar > |
|||
<el-row class="title_body"> |
|||
<el-col :span="20"> |
|||
<span class="cont_header_title"><i class="el-icon-s-order"></i>考评记录</span> |
|||
</el-col> |
|||
<el-col :span="4" class="edit_buttion"> |
|||
<el-button |
|||
icon="el-icon-plus" |
|||
size="small" |
|||
type="text" |
|||
@click="showAddBase(userKey)" |
|||
>新增</el-button> |
|||
</el-col> |
|||
</el-row> |
|||
<el-divider style="margin:0"></el-divider> |
|||
<el-row> |
|||
<el-col :span="24" class="cont_body"> |
|||
<div class="fa fa-automobile">123243</div> |
|||
</el-col> |
|||
</el-row> |
|||
</el-scrollbar> |
|||
</template> |
|||
<script> |
|||
export default { |
|||
name:"familymembers", |
|||
props:['userKey'], |
|||
data() { |
|||
return {} |
|||
}, |
|||
created(){ |
|||
console.log("userKey---------->",this.userKey) |
|||
}, |
|||
methods:{ |
|||
//新增信息 |
|||
showAddBase(val){ |
|||
console.log("新增信息--------->",val) |
|||
}, |
|||
} |
|||
} |
|||
</script> |
|||
<style> |
|||
.el-scrollbar { |
|||
height: 100%; |
|||
width: 100%; |
|||
} |
|||
.el-scrollbar__wrap { |
|||
|
|||
overflow: auto; |
|||
overflow: scroll; |
|||
overflow-x: hidden; |
|||
} |
|||
.el-tree-node.is-current>.el-tree-node__content { |
|||
color:#2E89DE!important |
|||
} |
|||
.el-tree-node_black { |
|||
background-color:red !important; |
|||
color:#2E89DE!important |
|||
} |
|||
div::-webkit-scrollbar { |
|||
width: 5px; |
|||
height: 5px; |
|||
} |
|||
div::-webkit-scrollbar-thumb { |
|||
border-radius: 10px; |
|||
-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); |
|||
opacity: 0.2; |
|||
|
|||
} |
|||
div::-webkit-scrollbar-track { |
|||
-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); |
|||
border-radius: 0; |
|||
} |
|||
.title_body{ |
|||
padding: 10px 0; |
|||
} |
|||
.cont_header_title{ |
|||
font-size: 20px; |
|||
font-weight: bold; |
|||
color: #388CFF; |
|||
} |
|||
.cont_header_title i{ |
|||
margin-right: 10px; |
|||
} |
|||
.edit_buttion{ |
|||
text-align: right; |
|||
padding-right: 5px; |
|||
} |
|||
.cont_body{ |
|||
margin-top: 20px; |
|||
} |
|||
</style> |
|||
@ -0,0 +1,91 @@ |
|||
<template> |
|||
<el-scrollbar > |
|||
<el-row class="title_body"> |
|||
<el-col :span="20"> |
|||
<span class="cont_header_title"><i class="el-icon-s-order"></i>能力素质</span> |
|||
</el-col> |
|||
<el-col :span="4" class="edit_buttion"> |
|||
<el-button |
|||
icon="el-icon-plus" |
|||
size="small" |
|||
type="text" |
|||
@click="showAddBase(userKey)" |
|||
>新增</el-button> |
|||
</el-col> |
|||
</el-row> |
|||
<el-divider style="margin:0"></el-divider> |
|||
<el-row> |
|||
<el-col :span="24" class="cont_body"> |
|||
</el-col> |
|||
</el-row> |
|||
</el-scrollbar> |
|||
</template> |
|||
<script> |
|||
export default { |
|||
name:"familymembers", |
|||
props:['userKey'], |
|||
data() { |
|||
return {} |
|||
}, |
|||
created(){ |
|||
console.log("userKey---------->",this.userKey) |
|||
}, |
|||
methods:{ |
|||
//新增信息 |
|||
showAddBase(val){ |
|||
console.log("新增信息--------->",val) |
|||
}, |
|||
} |
|||
} |
|||
</script> |
|||
<style> |
|||
.el-scrollbar { |
|||
height: 100%; |
|||
width: 100%; |
|||
} |
|||
.el-scrollbar__wrap { |
|||
|
|||
overflow: auto; |
|||
overflow: scroll; |
|||
overflow-x: hidden; |
|||
} |
|||
.el-tree-node.is-current>.el-tree-node__content { |
|||
color:#2E89DE!important |
|||
} |
|||
.el-tree-node_black { |
|||
background-color:red !important; |
|||
color:#2E89DE!important |
|||
} |
|||
div::-webkit-scrollbar { |
|||
width: 5px; |
|||
height: 5px; |
|||
} |
|||
div::-webkit-scrollbar-thumb { |
|||
border-radius: 10px; |
|||
-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); |
|||
opacity: 0.2; |
|||
|
|||
} |
|||
div::-webkit-scrollbar-track { |
|||
-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); |
|||
border-radius: 0; |
|||
} |
|||
.title_body{ |
|||
padding: 10px 0; |
|||
} |
|||
.cont_header_title{ |
|||
font-size: 20px; |
|||
font-weight: bold; |
|||
color: #388CFF; |
|||
} |
|||
.cont_header_title i{ |
|||
margin-right: 10px; |
|||
} |
|||
.edit_buttion{ |
|||
text-align: right; |
|||
padding-right: 5px; |
|||
} |
|||
.cont_body{ |
|||
margin-top: 20px; |
|||
} |
|||
</style> |
|||
@ -0,0 +1,44 @@ |
|||
<template> |
|||
<el-descriptions class="margin-top" :column="6" direction="vertical"> |
|||
<el-descriptions-item label="用户名">kooriookami</el-descriptions-item> |
|||
<el-descriptions-item label="手机号">18100000000</el-descriptions-item> |
|||
<el-descriptions-item label="居住地">苏州市</el-descriptions-item> |
|||
<el-descriptions-item label="备注"> |
|||
<el-tag size="small">学校</el-tag> |
|||
</el-descriptions-item> |
|||
<el-descriptions-item label="联系地址">江苏省苏州市吴中区吴中大道 1188 号</el-descriptions-item> |
|||
</el-descriptions> |
|||
</template> |
|||
<script> |
|||
export default { |
|||
name:"info", |
|||
props:['usercontsss'], |
|||
data() { |
|||
return { |
|||
mycont:{} |
|||
} |
|||
}, |
|||
watch:{ |
|||
// usercont:{ |
|||
// handler(newVal){ |
|||
// console.log("newVal"); |
|||
// console.log(newVal); |
|||
// // const list = [] |
|||
// // list.push(this.gwFromList.gwId.toString()) |
|||
// this.mycont=this.usercontsss |
|||
// }, |
|||
// deep: true |
|||
// }, |
|||
}, |
|||
created(){ |
|||
|
|||
console.log("usercont-----123332----->",this.usercontsss) |
|||
}, |
|||
methods:{ |
|||
|
|||
} |
|||
} |
|||
</script> |
|||
<style> |
|||
|
|||
</style> |
|||
@ -0,0 +1,154 @@ |
|||
<template> |
|||
<el-scrollbar > |
|||
<el-row class="title_body"> |
|||
<el-col :span="20"> |
|||
<span class="cont_header_title"><i class="el-icon-s-order"></i>双职工</span> |
|||
</el-col> |
|||
<el-col :span="4" class="edit_buttion"> |
|||
<el-button |
|||
icon="el-icon-plus" |
|||
size="small" |
|||
type="text" |
|||
@click="showAddBase(userKey)" |
|||
>新增</el-button> |
|||
</el-col> |
|||
</el-row> |
|||
<el-divider style="margin:0"></el-divider> |
|||
<el-row> |
|||
<el-col :span="24" class="cont_body"> |
|||
<template> |
|||
<el-table |
|||
:data="emergencyContactList" |
|||
border |
|||
style="width: 100%"> |
|||
<el-table-column |
|||
prop="name" |
|||
label="姓名" |
|||
width="180"> |
|||
</el-table-column> |
|||
<el-table-column |
|||
prop="tel" |
|||
label="联系电话" |
|||
width="180"> |
|||
</el-table-column> |
|||
<el-table-column |
|||
|
|||
label="部门"> |
|||
<template #default="scope"> |
|||
{{ scope.row.company }}<i v-if="scope.row.department"> / </i>{{ scope.row.department }}<i v-if="scope.row.position"> / </i>{{ scope.row.position }} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column |
|||
width="130" |
|||
label="操作"> |
|||
<template #default="scope"> |
|||
<el-button |
|||
icon="el-icon-edit" |
|||
size="small" |
|||
type="text" |
|||
@click="showEditBase(scope.row)" |
|||
>编辑</el-button> |
|||
<el-button |
|||
icon="el-icon-delete" |
|||
size="small" |
|||
type="text" |
|||
@click="showDelBase(scope.row)" |
|||
>删除</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
</template> |
|||
</el-col> |
|||
</el-row> |
|||
</el-scrollbar> |
|||
</template> |
|||
<script> |
|||
import { getDoubleWorkerList } from "@/api/systemaccredit/systemhrapi" |
|||
export default { |
|||
name:"emergencycontact", |
|||
props:['userKey'], |
|||
data() { |
|||
return { |
|||
emergencyContactList:[], //双职工 |
|||
} |
|||
}, |
|||
created(){ |
|||
console.log("userKey---------->",this.userKey) |
|||
this.getEmergencyContact() |
|||
}, |
|||
methods:{ |
|||
//编辑基本信息 |
|||
showAddBase(val){ |
|||
console.log("编辑基本信息--------->",val) |
|||
}, |
|||
//获取双职工信息 |
|||
async getEmergencyContact(){ |
|||
let sendData = { |
|||
id:this.userKey |
|||
} |
|||
let res = await getDoubleWorkerList(sendData) |
|||
this.emergencyContactList = res.data |
|||
console.log("获取双职工信息--------->",res) |
|||
}, |
|||
//编辑 |
|||
async showEditBase(val){ |
|||
console.log("编辑--------->",val) |
|||
}, |
|||
//删除 |
|||
async showDelBase(val){ |
|||
console.log("删除--------->",val) |
|||
}, |
|||
} |
|||
} |
|||
</script> |
|||
<style> |
|||
.el-scrollbar { |
|||
height: 100%; |
|||
width: 100%; |
|||
} |
|||
.el-scrollbar__wrap { |
|||
|
|||
overflow: auto; |
|||
overflow: scroll; |
|||
overflow-x: hidden; |
|||
} |
|||
.el-tree-node.is-current>.el-tree-node__content { |
|||
color:#2E89DE!important |
|||
} |
|||
.el-tree-node_black { |
|||
background-color:red !important; |
|||
color:#2E89DE!important |
|||
} |
|||
div::-webkit-scrollbar { |
|||
width: 5px; |
|||
height: 5px; |
|||
} |
|||
div::-webkit-scrollbar-thumb { |
|||
border-radius: 10px; |
|||
-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); |
|||
opacity: 0.2; |
|||
|
|||
} |
|||
div::-webkit-scrollbar-track { |
|||
-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); |
|||
border-radius: 0; |
|||
} |
|||
.title_body{ |
|||
padding: 10px 0; |
|||
} |
|||
.cont_header_title{ |
|||
font-size: 20px; |
|||
font-weight: bold; |
|||
color: #388CFF; |
|||
} |
|||
.cont_header_title i{ |
|||
margin-right: 10px; |
|||
} |
|||
.edit_buttion{ |
|||
text-align: right; |
|||
padding-right: 5px; |
|||
} |
|||
.cont_body{ |
|||
margin-top: 20px; |
|||
} |
|||
</style> |
|||
@ -0,0 +1,151 @@ |
|||
<template> |
|||
<el-scrollbar > |
|||
<el-row class="title_body"> |
|||
<el-col :span="20"> |
|||
<span class="cont_header_title"><i class="el-icon-s-order"></i>紧急联系人</span> |
|||
</el-col> |
|||
<el-col :span="4" class="edit_buttion"> |
|||
<el-button |
|||
icon="el-icon-plus" |
|||
size="small" |
|||
type="text" |
|||
@click="showAddBase(userKey)" |
|||
>新增</el-button> |
|||
</el-col> |
|||
</el-row> |
|||
<el-divider style="margin:0"></el-divider> |
|||
<el-row> |
|||
<el-col :span="24" class="cont_body"> |
|||
<template> |
|||
<el-table |
|||
:data="emergencyContactList" |
|||
border |
|||
style="width: 100%"> |
|||
<el-table-column |
|||
prop="name" |
|||
label="姓名" |
|||
width="180"> |
|||
</el-table-column> |
|||
<el-table-column |
|||
prop="tel" |
|||
label="联系电话" |
|||
width="180"> |
|||
</el-table-column> |
|||
<el-table-column |
|||
prop="relationship" |
|||
label="与本人关系"> |
|||
</el-table-column> |
|||
<el-table-column |
|||
width="130" |
|||
label="操作"> |
|||
<template #default="scope"> |
|||
<el-button |
|||
icon="el-icon-edit" |
|||
size="small" |
|||
type="text" |
|||
@click="showEditBase(scope.row)" |
|||
>编辑</el-button> |
|||
<el-button |
|||
icon="el-icon-delete" |
|||
size="small" |
|||
type="text" |
|||
@click="showDelBase(scope.row)" |
|||
>删除</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
</template> |
|||
</el-col> |
|||
</el-row> |
|||
</el-scrollbar> |
|||
</template> |
|||
<script> |
|||
import { getEmergencyContactList } from "@/api/systemaccredit/systemhrapi" |
|||
export default { |
|||
name:"emergencycontact", |
|||
props:['userKey'], |
|||
data() { |
|||
return { |
|||
emergencyContactList:[], //紧急联系人 |
|||
} |
|||
}, |
|||
created(){ |
|||
console.log("userKey---------->",this.userKey) |
|||
this.getEmergencyContact() |
|||
}, |
|||
methods:{ |
|||
//编辑基本信息 |
|||
showAddBase(val){ |
|||
console.log("编辑基本信息--------->",val) |
|||
}, |
|||
//获取紧急联系人信息 |
|||
async getEmergencyContact(){ |
|||
let sendData = { |
|||
id:this.userKey |
|||
} |
|||
let res = await getEmergencyContactList(sendData) |
|||
this.emergencyContactList = res.data |
|||
console.log("获取紧急联系人信息--------->",res) |
|||
}, |
|||
//编辑 |
|||
async showEditBase(val){ |
|||
console.log("编辑--------->",val) |
|||
}, |
|||
//删除 |
|||
async showDelBase(val){ |
|||
console.log("删除--------->",val) |
|||
}, |
|||
} |
|||
} |
|||
</script> |
|||
<style> |
|||
.el-scrollbar { |
|||
height: 100%; |
|||
width: 100%; |
|||
} |
|||
.el-scrollbar__wrap { |
|||
|
|||
overflow: auto; |
|||
overflow: scroll; |
|||
overflow-x: hidden; |
|||
} |
|||
.el-tree-node.is-current>.el-tree-node__content { |
|||
color:#2E89DE!important |
|||
} |
|||
.el-tree-node_black { |
|||
background-color:red !important; |
|||
color:#2E89DE!important |
|||
} |
|||
div::-webkit-scrollbar { |
|||
width: 5px; |
|||
height: 5px; |
|||
} |
|||
div::-webkit-scrollbar-thumb { |
|||
border-radius: 10px; |
|||
-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); |
|||
opacity: 0.2; |
|||
|
|||
} |
|||
div::-webkit-scrollbar-track { |
|||
-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); |
|||
border-radius: 0; |
|||
} |
|||
.title_body{ |
|||
padding: 10px 0; |
|||
} |
|||
.cont_header_title{ |
|||
font-size: 20px; |
|||
font-weight: bold; |
|||
color: #388CFF; |
|||
} |
|||
.cont_header_title i{ |
|||
margin-right: 10px; |
|||
} |
|||
.edit_buttion{ |
|||
text-align: right; |
|||
padding-right: 5px; |
|||
} |
|||
.cont_body{ |
|||
margin-top: 20px; |
|||
} |
|||
</style> |
|||
@ -0,0 +1,91 @@ |
|||
<template> |
|||
<el-scrollbar > |
|||
<el-row class="title_body"> |
|||
<el-col :span="20"> |
|||
<span class="cont_header_title"><i class="el-icon-s-order"></i>员工用工关系</span> |
|||
</el-col> |
|||
<el-col :span="4" class="edit_buttion"> |
|||
<el-button |
|||
icon="el-icon-plus" |
|||
size="small" |
|||
type="text" |
|||
@click="showAddBase(userKey)" |
|||
>新增</el-button> |
|||
</el-col> |
|||
</el-row> |
|||
<el-divider style="margin:0"></el-divider> |
|||
<el-row> |
|||
<el-col :span="24" class="cont_body"> |
|||
</el-col> |
|||
</el-row> |
|||
</el-scrollbar> |
|||
</template> |
|||
<script> |
|||
export default { |
|||
name:"familymembers", |
|||
props:['userKey'], |
|||
data() { |
|||
return {} |
|||
}, |
|||
created(){ |
|||
console.log("userKey---------->",this.userKey) |
|||
}, |
|||
methods:{ |
|||
//新增信息 |
|||
showAddBase(val){ |
|||
console.log("新增信息--------->",val) |
|||
}, |
|||
} |
|||
} |
|||
</script> |
|||
<style> |
|||
.el-scrollbar { |
|||
height: 100%; |
|||
width: 100%; |
|||
} |
|||
.el-scrollbar__wrap { |
|||
|
|||
overflow: auto; |
|||
overflow: scroll; |
|||
overflow-x: hidden; |
|||
} |
|||
.el-tree-node.is-current>.el-tree-node__content { |
|||
color:#2E89DE!important |
|||
} |
|||
.el-tree-node_black { |
|||
background-color:red !important; |
|||
color:#2E89DE!important |
|||
} |
|||
div::-webkit-scrollbar { |
|||
width: 5px; |
|||
height: 5px; |
|||
} |
|||
div::-webkit-scrollbar-thumb { |
|||
border-radius: 10px; |
|||
-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); |
|||
opacity: 0.2; |
|||
|
|||
} |
|||
div::-webkit-scrollbar-track { |
|||
-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); |
|||
border-radius: 0; |
|||
} |
|||
.title_body{ |
|||
padding: 10px 0; |
|||
} |
|||
.cont_header_title{ |
|||
font-size: 20px; |
|||
font-weight: bold; |
|||
color: #388CFF; |
|||
} |
|||
.cont_header_title i{ |
|||
margin-right: 10px; |
|||
} |
|||
.edit_buttion{ |
|||
text-align: right; |
|||
padding-right: 5px; |
|||
} |
|||
.cont_body{ |
|||
margin-top: 20px; |
|||
} |
|||
</style> |
|||
@ -0,0 +1,164 @@ |
|||
<template> |
|||
<el-scrollbar > |
|||
<el-row class="title_body"> |
|||
<el-col :span="20"> |
|||
<span class="cont_header_title"><i class="el-icon-s-order"></i>家庭成员</span> |
|||
</el-col> |
|||
<el-col :span="4" class="edit_buttion"> |
|||
<el-button |
|||
icon="el-icon-plus" |
|||
size="small" |
|||
type="text" |
|||
@click="showAddBase(userKey)" |
|||
>新增</el-button> |
|||
</el-col> |
|||
</el-row> |
|||
<el-divider style="margin:0"></el-divider> |
|||
<el-row> |
|||
<el-col :span="24" class="cont_body"> |
|||
<template> |
|||
<el-table |
|||
:data="contList" |
|||
border |
|||
style="width: 100%"> |
|||
<el-table-column |
|||
prop="relationship" |
|||
label="亲属关系" |
|||
width="180"> |
|||
</el-table-column> |
|||
<el-table-column |
|||
prop="name" |
|||
label="姓名" |
|||
width="180"> |
|||
</el-table-column> |
|||
<el-table-column |
|||
prop="tel" |
|||
label="联系电话" |
|||
width="180"> |
|||
</el-table-column> |
|||
<el-table-column |
|||
|
|||
label="部门"> |
|||
<template #default="scope"> |
|||
{{ scope.row.company }}<i v-if="scope.row.deparment"> / </i>{{ scope.row.deparment }}<i v-if="scope.row.postnme"> / </i>{{ scope.row.postnme }} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column |
|||
prop="politicaloutlookcn" |
|||
label="政治面貌" |
|||
width="180"> |
|||
</el-table-column> |
|||
<el-table-column |
|||
width="130" |
|||
label="操作"> |
|||
<template #default="scope"> |
|||
<el-button |
|||
icon="el-icon-edit" |
|||
size="small" |
|||
type="text" |
|||
@click="showEditBase(scope.row)" |
|||
>编辑</el-button> |
|||
<el-button |
|||
icon="el-icon-delete" |
|||
size="small" |
|||
type="text" |
|||
@click="showDelBase(scope.row)" |
|||
>删除</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
</template> |
|||
</el-col> |
|||
</el-row> |
|||
</el-scrollbar> |
|||
</template> |
|||
<script> |
|||
import { getFamilyList } from "@/api/systemaccredit/systemhrapi" |
|||
export default { |
|||
name:"familymembers", |
|||
props:['userKey'], |
|||
data() { |
|||
return { |
|||
contList:[], //列表信息 |
|||
} |
|||
}, |
|||
created(){ |
|||
console.log("userKey---------->",this.userKey) |
|||
this.getEmergencyContact() |
|||
}, |
|||
methods:{ |
|||
//新增信息 |
|||
showAddBase(val){ |
|||
console.log("新增信息--------->",val) |
|||
}, |
|||
//获取列表信息 |
|||
async getEmergencyContact(){ |
|||
let sendData = { |
|||
id:this.userKey |
|||
} |
|||
let res = await getFamilyList(sendData) |
|||
this.contList = res.data |
|||
console.log("获取列表信息--------->",res) |
|||
}, |
|||
//编辑 |
|||
async showEditBase(val){ |
|||
console.log("编辑--------->",val) |
|||
}, |
|||
//删除 |
|||
async showDelBase(val){ |
|||
console.log("删除--------->",val) |
|||
}, |
|||
} |
|||
} |
|||
</script> |
|||
<style> |
|||
.el-scrollbar { |
|||
height: 100%; |
|||
width: 100%; |
|||
} |
|||
.el-scrollbar__wrap { |
|||
|
|||
overflow: auto; |
|||
overflow: scroll; |
|||
overflow-x: hidden; |
|||
} |
|||
.el-tree-node.is-current>.el-tree-node__content { |
|||
color:#2E89DE!important |
|||
} |
|||
.el-tree-node_black { |
|||
background-color:red !important; |
|||
color:#2E89DE!important |
|||
} |
|||
div::-webkit-scrollbar { |
|||
width: 5px; |
|||
height: 5px; |
|||
} |
|||
div::-webkit-scrollbar-thumb { |
|||
border-radius: 10px; |
|||
-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); |
|||
opacity: 0.2; |
|||
|
|||
} |
|||
div::-webkit-scrollbar-track { |
|||
-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); |
|||
border-radius: 0; |
|||
} |
|||
.title_body{ |
|||
padding: 10px 0; |
|||
} |
|||
.cont_header_title{ |
|||
font-size: 20px; |
|||
font-weight: bold; |
|||
color: #388CFF; |
|||
} |
|||
.cont_header_title i{ |
|||
margin-right: 10px; |
|||
} |
|||
.edit_buttion{ |
|||
text-align: right; |
|||
padding-right: 5px; |
|||
} |
|||
.cont_body{ |
|||
margin-top: 20px; |
|||
} |
|||
</style> |
|||
@ -0,0 +1,11 @@ |
|||
export { default as peopleinfor } from "./peopleinfor.vue" //基本信息
|
|||
export { default as emergencycontact } from "./emergencycontact.vue" //紧急联系人
|
|||
export { default as doubleemployees } from "./doubleemployees.vue" //双职工
|
|||
export { default as familymembers } from "./familymembers.vue" //家庭成员
|
|||
export { default as personneleducation } from "./personneleducation.vue" //教育经历
|
|||
export { default as workhistory } from "./workhistory.vue" //工作履历
|
|||
export { default as employmentrelationship } from "./employmentrelationship.vue" //用工关系
|
|||
export { default as rewpunireco } from "./rewpunireco.vue" //奖惩记录
|
|||
export { default as competence } from "./competence.vue" //能力素质
|
|||
export { default as talentreview } from "./talentreview.vue" //人才盘点
|
|||
export { default as appraisalrecords } from "./appraisalrecords.vue" //考评记录
|
|||
File diff suppressed because it is too large
@ -0,0 +1,258 @@ |
|||
<template> |
|||
<el-container> |
|||
<el-header style="height:120px;padding: 10px 0 0 10px;"> |
|||
<el-row> |
|||
<el-col :span="2" style="text-align: right; padding-right:10px"> |
|||
<el-avatar shape="square" fit="cover" :size="90" :src="peopleCont.icon" > |
|||
<i class="el-icon-s-custom icon_size"></i> |
|||
</el-avatar> |
|||
</el-col> |
|||
<el-col :span="14"> |
|||
<el-row> |
|||
<el-col :span="24" class="mycont_one"> |
|||
<span>{{ peopleCont.name }}</span> <a>工号:{{ peopleCont.number }}</a>{{ peopleCont.positionname }} |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col class="col_text" :span="24"> |
|||
{{ peopleCont.companyname }} <i v-if="peopleCont.maindeparmentname"> / </i>{{ peopleCont.maindeparmentname }} <i v-if="peopleCont.sunmaindeparmentname"> / </i>{{ peopleCont.sunmaindeparmentname }} <i v-if="peopleCont.workpostname"> / </i>{{ peopleCont.workpostname }} |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col class="col_text" :span="24">{{ peopleCont.joblevename }}{{ peopleCont.jobname }}( {{ peopleCont.jobclassname }} ) <span>{{ peopleCont.teamname }}</span><span>TEL:{{ peopleCont.tel }}</span></el-col> |
|||
</el-row> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
</el-header> |
|||
<el-container> |
|||
<el-aside width="140px"> |
|||
|
|||
<!--菜单--> |
|||
<el-menu |
|||
style="text-align:left" |
|||
default-active="1" |
|||
class="el-menu-vertical-demo"> |
|||
<el-menu-item index="1" @click="clickMenu(1)"> |
|||
<i class="font_icon fa fa-fw fa-address-card-o"></i> |
|||
<span slot="title">基本信息</span> |
|||
</el-menu-item> |
|||
<el-menu-item index="2" @click="clickMenu(2)"> |
|||
<!-- <i class="font_icon fa fa-fw fa-address-book-o"></i> --> |
|||
<i class="font_icon fa fa-fw fa-volume-control-phone " ></i> |
|||
<span slot="title">紧急联系人</span> |
|||
</el-menu-item> |
|||
<el-menu-item index="3" @click="clickMenu(3)"> |
|||
<i class="font_icon fa fa-fw fa-venus-mars"></i> |
|||
<span slot="title">双职工</span> |
|||
</el-menu-item> |
|||
<el-menu-item index="4" @click="clickMenu(4)"> |
|||
<i class="font_icon fa fa-fw fa-home "></i> |
|||
<span slot="title">家庭成员</span> |
|||
</el-menu-item> |
|||
<el-menu-item index="5" @click="clickMenu(5)"> |
|||
<i class="el-icon-collection"></i> |
|||
<span slot="title">教育经历</span> |
|||
</el-menu-item> |
|||
<el-menu-item index="6" @click="clickMenu(6)"> |
|||
<i class="font_icon fa fa-fw fa-briefcase"></i> |
|||
<span slot="title">工作履历</span> |
|||
</el-menu-item> |
|||
<el-menu-item index="7" @click="clickMenu(7)"> |
|||
<i class="font_icon fa fa-fw fa-users"></i> |
|||
<span slot="title">用工关系</span> |
|||
</el-menu-item> |
|||
<el-menu-item index="8" @click="clickMenu(8)"> |
|||
<i class="font_icon fa fa-fw fa-trophy"></i> |
|||
<span slot="title">奖惩记录</span> |
|||
</el-menu-item> |
|||
<el-menu-item index="9" @click="clickMenu(9)"> |
|||
<i class="font_icon fa fa-fw fa-pie-chart"></i> |
|||
<span slot="title">能力素质</span> |
|||
</el-menu-item> |
|||
<el-menu-item index="10" @click="clickMenu(10)"> |
|||
<i class="font_icon fa fa-fw fa-mortar-board"></i> |
|||
<span slot="title">人才盘点</span> |
|||
</el-menu-item> |
|||
<el-menu-item index="11" @click="clickMenu(11)"> |
|||
<i class="font_icon fa fa-fw fa-clock-o"></i> |
|||
<span slot="title">考评记录</span> |
|||
</el-menu-item> |
|||
</el-menu> |
|||
|
|||
|
|||
</el-aside> |
|||
<el-main> |
|||
|
|||
<template v-if="pageSetUp==1"> |
|||
<peopleinfor :userid="userid"></peopleinfor> |
|||
</template> |
|||
<template v-if="pageSetUp==2"> |
|||
<emergencycontact :userKey="userKey"></emergencycontact> |
|||
</template> |
|||
<template v-if="pageSetUp==3"> |
|||
<doubleemployees :userKey="userKey"></doubleemployees> |
|||
</template> |
|||
<template v-if="pageSetUp==4"> |
|||
<familymembers :userKey="userKey"></familymembers> |
|||
</template> |
|||
<template v-if="pageSetUp==5"> |
|||
<personneleducation :userKey="userKey"></personneleducation> |
|||
</template> |
|||
<template v-if="pageSetUp==6"> |
|||
<workhistory :userKey="userKey"></workhistory> |
|||
</template> |
|||
<template v-if="pageSetUp==7"> |
|||
<employmentrelationship :userKey="userKey"></employmentrelationship> |
|||
</template> |
|||
<template v-if="pageSetUp==8"> |
|||
<rewpunireco :userKey="userKey"></rewpunireco> |
|||
</template> |
|||
<template v-if="pageSetUp==9"> |
|||
<competence :userKey="userKey"></competence> |
|||
</template> |
|||
<template v-if="pageSetUp==10"> |
|||
<talentreview :userKey="userKey"></talentreview> |
|||
</template> |
|||
<template v-if="pageSetUp==11"> |
|||
<appraisalrecords :userKey="userKey"></appraisalrecords> |
|||
</template> |
|||
</el-main> |
|||
</el-container> |
|||
</el-container> |
|||
</template> |
|||
<script> |
|||
import { getOnlyOnePeopleCont,getOnlyOnePeopleMainCont } from "@/api/systemaccredit/systemhrapi" |
|||
|
|||
import { |
|||
peopleinfor, |
|||
emergencycontact, |
|||
doubleemployees, |
|||
familymembers, |
|||
personneleducation, |
|||
workhistory, |
|||
employmentrelationship, |
|||
rewpunireco, |
|||
competence, |
|||
talentreview, |
|||
appraisalrecords |
|||
} from "@/views/hr/newhr/introducevue" |
|||
export default { |
|||
components:{ |
|||
peopleinfor, |
|||
emergencycontact, |
|||
doubleemployees, |
|||
familymembers, |
|||
personneleducation, |
|||
workhistory, |
|||
employmentrelationship, |
|||
rewpunireco, |
|||
competence, |
|||
talentreview, |
|||
appraisalrecords |
|||
}, |
|||
data() { |
|||
return { |
|||
userid:"", //员工ID |
|||
userKey: "", //员工Key |
|||
peopleCont:{}, //人员基本信息 |
|||
pageSetUp:1, //显示那个页面 |
|||
} |
|||
}, |
|||
|
|||
created(){ |
|||
let id = this.$route.query.id |
|||
console.log("接收值id----------》",id) |
|||
this.userid = id |
|||
this.getPeopleCont(id) |
|||
}, |
|||
methods:{ |
|||
|
|||
//获取员工基本信息 |
|||
async getPeopleCont(id){ |
|||
let sendData = { |
|||
idstr:id.toString() |
|||
} |
|||
let res = await getOnlyOnePeopleMainCont(sendData); |
|||
console.log("获取员工基本信息----------》",res) |
|||
this.peopleCont = res.data |
|||
this.userKey = res.data.key.toString() |
|||
}, |
|||
//单击菜单操作 |
|||
clickMenu(id){ |
|||
console.log("单击菜单操作----------》",id) |
|||
this.pageSetUp = id |
|||
}, |
|||
} |
|||
} |
|||
</script> |
|||
<style> |
|||
|
|||
.el-container { |
|||
height:calc(100% - 50px); |
|||
overflow: hidden; |
|||
} |
|||
.el-header, .el-footer { |
|||
border-bottom: 1px solid rgb(220, 223, 230); |
|||
text-align: left; |
|||
/*line-height: 100px;*/ |
|||
|
|||
} |
|||
|
|||
.el-aside { |
|||
/* background-color: #D3DCE6;*/ |
|||
text-align: center; |
|||
height: calc(100% - 2px); |
|||
overflow: hidden; |
|||
border-right: 1px solid rgb(220, 223, 230); |
|||
margin: 0px 0 0 0; |
|||
padding-right: 0px; |
|||
} |
|||
|
|||
.el-main { |
|||
/*background-color: #E9EEF3;*/ |
|||
/*text-align: center;*/ |
|||
height: 100%; |
|||
overflow: hidden; |
|||
padding: 10px 10px 10px 10px; |
|||
} |
|||
.icon_size{ |
|||
font-size: 40px; |
|||
margin: 15px auto 0 auto; |
|||
} |
|||
.el-avatar>img{ |
|||
width: 100%; |
|||
} |
|||
.mycont_one{ |
|||
display:table-cell; |
|||
vertical-align:bottom; |
|||
line-height: 30px; |
|||
} |
|||
.mycont_one span{ |
|||
font-size: 24px; |
|||
margin-right: 15px; |
|||
} |
|||
.mycont_one a{ |
|||
margin-right: 15px; |
|||
} |
|||
.col_text{ |
|||
line-height: 30px; |
|||
} |
|||
.col_text span{ |
|||
margin-left: 25px; |
|||
} |
|||
|
|||
.font_icon{ |
|||
margin-right: 5px; |
|||
width: 24px; |
|||
text-align: center; |
|||
font-size: 18px; |
|||
vertical-align: middle; |
|||
color: #909399; |
|||
} |
|||
.tel_font{ |
|||
|
|||
/*font-size: 18px;*/ |
|||
margin-left: 15px; |
|||
} |
|||
</style> |
|||
@ -0,0 +1,288 @@ |
|||
<template> |
|||
<el-scrollbar > |
|||
<el-row class="title_body"> |
|||
<el-col :span="20"> |
|||
<span class="cont_header_title"><i class="el-icon-s-order"></i>基本信息</span> |
|||
</el-col> |
|||
<el-col :span="4" class="edit_buttion"> |
|||
<el-button |
|||
icon="el-icon-edit" |
|||
size="small" |
|||
type="text" |
|||
@click="showEditBase(scope.row)" |
|||
>编辑</el-button> |
|||
</el-col> |
|||
</el-row> |
|||
<el-divider style="margin:0"></el-divider> |
|||
<el-row> |
|||
<el-col :span="24" class="cont_body"> |
|||
|
|||
<template> |
|||
<el-descriptions class="margin-top" :column="6" direction="vertical"> |
|||
|
|||
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="曾用名"><div class="bottment_line">{{ myCont.nameusedbefore }}</div></el-descriptions-item> |
|||
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="性别"><div class="bottment_line">{{ replace.gender }}</div></el-descriptions-item> |
|||
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="民族"><div class="bottment_line">{{ myCont.myfolk }}</div></el-descriptions-item> |
|||
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="健康状况"><div class="bottment_line">{{ replace.health }}</div></el-descriptions-item> |
|||
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="婚姻状况"><div class="bottment_line">{{ replace.maritalstatus }}</div></el-descriptions-item> |
|||
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="政治面貌"><div class="bottment_line">{{ replace.politicaloutlook }}</div></el-descriptions-item> |
|||
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="出生日期"><div class="bottment_line">{{ myCont.birthday }}</div></el-descriptions-item> |
|||
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="身份证号"><div class="bottment_line">{{ myCont.idcardno }}</div></el-descriptions-item> |
|||
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="身份证有效期开始"><div class="bottment_line">{{ myCont.idcardstartdate }}</div></el-descriptions-item> |
|||
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="身份证有效期结束"><div class="bottment_line">{{ myCont.idcardenddate }}</div></el-descriptions-item> |
|||
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="身份证地址"><div class="bottment_line">{{ myCont.idcardaddress }}</div></el-descriptions-item> |
|||
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="身份证签发机关"><div class="bottment_line">{{ myCont.idcardIssued }}</div></el-descriptions-item> |
|||
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="手机号码"><div class="bottment_line">{{ myCont.mobilephone }}</div></el-descriptions-item> |
|||
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="现居住地址"><div class="bottment_line">{{ myCont.currentresidence }}</div></el-descriptions-item> |
|||
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="籍贯"><div class="bottment_line">{{ myCont.nativeplace }}</div></el-descriptions-item> |
|||
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="电子邮件"><div class="bottment_line">{{ myCont.email }}</div></el-descriptions-item> |
|||
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="内线电话"><div class="bottment_line">{{ myCont.internaltelephone }}</div></el-descriptions-item> |
|||
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="星座"><div class="bottment_line">{{ replace.constellationing }}</div></el-descriptions-item> |
|||
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="雇佣类型"><div class="bottment_line">{{ replace.hireclass }}</div></el-descriptions-item> |
|||
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="用工关系"><div class="bottment_line">{{ replace.emptype }}</div></el-descriptions-item> |
|||
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="入职日期"><div class="bottment_line">{{ myCont.entrydate }}</div></el-descriptions-item> |
|||
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="试用期"><div class="bottment_line">{{ myCont.probationperiod }}</div></el-descriptions-item> |
|||
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="预计转正日期"><div class="bottment_line">{{ myCont.planformaldate }}</div></el-descriptions-item> |
|||
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="参加工作日期"><div class="bottment_line">{{ myCont.jobstartdate }}</div></el-descriptions-item> |
|||
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="是否为退役军人"><div class="bottment_line">{{ replace.isveterans }}</div></el-descriptions-item> |
|||
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="退役证编号"><div class="bottment_line">{{ myCont.veteransnumber }}</div></el-descriptions-item> |
|||
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="护照号码"><div class="bottment_line">{{ myCont.passportno }}</div></el-descriptions-item> |
|||
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="国际区号" ><div class="bottment_line">{{ myCont.globalroaming }}</div></el-descriptions-item> |
|||
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="绑定微信" ><div class="bottment_line">{{ myCont.wechat }}</div></el-descriptions-item> |
|||
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="绑定企业微信"><div class="bottment_line">{{ myCont.workwechat }}</div></el-descriptions-item> |
|||
</el-descriptions> |
|||
</template> |
|||
|
|||
|
|||
</el-col> |
|||
</el-row> |
|||
<el-row class="title_body"> |
|||
<el-col :span="20"> |
|||
<span class="cont_header_title"><i class="el-icon-s-order"></i>行政组织关系</span> |
|||
</el-col> |
|||
<el-col :span="4" class="edit_buttion"> |
|||
<el-button |
|||
icon="el-icon-edit" |
|||
size="small" |
|||
type="text" |
|||
@click="showEditBaseOrg(scope.row)" |
|||
>编辑</el-button> |
|||
</el-col> |
|||
</el-row> |
|||
<el-divider style="margin:0"></el-divider> |
|||
<el-row> |
|||
<el-col :span="24" class="cont_body"> |
|||
<template> |
|||
<el-descriptions class="margin-top" :column="5" direction="vertical"> |
|||
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="公司"><div class="bottment_line">{{ myCont.companyname }}</div></el-descriptions-item> |
|||
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="部门"><div class="bottment_line">{{ myCont.maindeparmentname }} <i v-if="myCont.sunmaindeparmentname"> / </i>{{ myCont.sunmaindeparmentname }} <i v-if="myCont.workpostname"> / </i>{{ myCont.workpostname }} </div></el-descriptions-item> |
|||
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="班组"><div class="bottment_line">{{ myCont.teamname }}</div></el-descriptions-item> |
|||
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="岗位"><div class="bottment_line">{{ myCont.positionname }}</div></el-descriptions-item> |
|||
<el-descriptions-item label-class-name="my_label_c" content-class-name="bottment_cont" label="职务"><div class="bottment_line">{{ replace.jobleve }}{{ myCont.jobidname }} <span v-if="myCont.jobclassname">( {{ myCont.jobclassname }} )</span> </div></el-descriptions-item> |
|||
</el-descriptions> |
|||
</template> |
|||
</el-col> |
|||
</el-row> |
|||
</el-scrollbar> |
|||
</template> |
|||
<script> |
|||
import { getOnlyOnePeopleCont } from "@/api/systemaccredit/systemhrapi" |
|||
import { peopleMethod } from "@/api/people/peopledata" |
|||
|
|||
export default { |
|||
name:"peopleinfor", |
|||
props:['userid'], |
|||
|
|||
data() { |
|||
return { |
|||
myCont:{}, //个人信息 |
|||
replace:{ |
|||
probationperiod: 0, |
|||
isveterans: "否", |
|||
number: "300450", |
|||
name: "秦东", |
|||
gender: "男", |
|||
adminorg: 0, |
|||
position: 0, |
|||
team: 0, |
|||
jobid: 0, |
|||
positiongrade: 0, |
|||
emptype: 0, |
|||
hiretype: 0, |
|||
maritalstatus: 0, |
|||
nation: "", |
|||
mobilephone: "", |
|||
health: 0, |
|||
workingdate: "", |
|||
icon: "", |
|||
confirmationdate: "", |
|||
entrydate: "", |
|||
birthday: "", |
|||
idcardno: "", |
|||
idcardstartdate: "", |
|||
idcardenddate: "", |
|||
politicaloutlook: 0, |
|||
weorwechat: "", |
|||
constellation: 7, |
|||
veteransnumber: "", |
|||
globalroaming: "", |
|||
passportno: "", |
|||
nativeplace: "", |
|||
currentresidence: "" |
|||
} |
|||
|
|||
} |
|||
}, |
|||
|
|||
created(){ |
|||
console.log("userId---------->",this.userid) |
|||
this.getMyCont(this.userid) |
|||
}, |
|||
methods:{ |
|||
//获取人员基本信息 |
|||
async getMyCont(id){ |
|||
let sendData = { |
|||
id:id, |
|||
idstr: id.toString(), |
|||
} |
|||
let res = await getOnlyOnePeopleCont(sendData); |
|||
this.myCont = res.data |
|||
//处理性别 |
|||
peopleMethod.sexData.forEach(item=>{ |
|||
if(item.id == this.myCont.gender){ |
|||
this.replace.gender = item.tittle |
|||
} |
|||
}) |
|||
//雇佣类型 |
|||
peopleMethod.employmentType.forEach(item=>{ |
|||
console.log("雇佣类型--------->",item,this.myCont.hireclass) |
|||
if(item.id == this.myCont.hireclass){ |
|||
this.replace.hireclass = item.tittle |
|||
} |
|||
}) |
|||
//用工关系 |
|||
peopleMethod.emptypeList.forEach(item=>{ |
|||
if(item.id == this.myCont.emptype){ |
|||
this.replace.emptype = item.tittle |
|||
} |
|||
}) |
|||
//健康状况 |
|||
peopleMethod.healthList.forEach(item=>{ |
|||
if(item.id == this.myCont.health){ |
|||
this.replace.health = item.tittle |
|||
} |
|||
}) |
|||
//婚姻状态 |
|||
peopleMethod.marriageList.forEach(item=>{ |
|||
if(item.id == this.myCont.maritalstatus){ |
|||
this.replace.maritalstatus = item.tittle |
|||
} |
|||
}) |
|||
//星座 |
|||
peopleMethod.constellationList.forEach(item=>{ |
|||
if(item.id == this.myCont.constellationing){ |
|||
this.replace.constellationing = item.tittle |
|||
} |
|||
}) |
|||
//政治面貌 |
|||
peopleMethod.politicsList.forEach(item=>{ |
|||
if(item.id == this.myCont.politicaloutlook){ |
|||
this.replace.politicaloutlook = item.tittle |
|||
} |
|||
}) |
|||
//判断是否未退役军人 |
|||
if(this.myCont.isveterans == 1){ |
|||
this.replace.isveterans = "是" |
|||
}else{ |
|||
this.replace.isveterans = "否" |
|||
} |
|||
//职务等级 |
|||
peopleMethod.positiongrade.forEach(item=>{ |
|||
if(item.id == this.myCont.jobleve){ |
|||
this.replace.jobleve = item.tittle |
|||
} |
|||
}) |
|||
|
|||
|
|||
console.log("获取人员基本信息--------->",this.myCont.isveterans) |
|||
}, |
|||
//编辑基本信息 |
|||
showEditBase(val){ |
|||
console.log("编辑基本信息--------->",val) |
|||
}, |
|||
//编辑行政组织 |
|||
showEditBaseOrg(val){ |
|||
console.log("编辑行政组织--------->",val) |
|||
}, |
|||
} |
|||
} |
|||
</script> |
|||
<style> |
|||
.el-scrollbar { |
|||
height: 100%; |
|||
width: 100%; |
|||
} |
|||
.el-scrollbar__wrap { |
|||
|
|||
overflow: auto; |
|||
overflow: scroll; |
|||
overflow-x: hidden; |
|||
} |
|||
.el-tree-node.is-current>.el-tree-node__content { |
|||
color:#2E89DE!important |
|||
} |
|||
.el-tree-node_black { |
|||
background-color:red !important; |
|||
color:#2E89DE!important |
|||
} |
|||
div::-webkit-scrollbar { |
|||
width: 5px; |
|||
height: 5px; |
|||
} |
|||
div::-webkit-scrollbar-thumb { |
|||
border-radius: 10px; |
|||
-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); |
|||
opacity: 0.2; |
|||
|
|||
} |
|||
div::-webkit-scrollbar-track { |
|||
-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); |
|||
border-radius: 0; |
|||
} |
|||
.title_body{ |
|||
padding: 10px 0; |
|||
} |
|||
.cont_header_title{ |
|||
font-size: 20px; |
|||
font-weight: bold; |
|||
color: #388CFF; |
|||
} |
|||
.cont_header_title i{ |
|||
margin-right: 10px; |
|||
} |
|||
.edit_buttion{ |
|||
text-align: right; |
|||
padding-right: 5px; |
|||
} |
|||
.el-divider--horizontal{ |
|||
margin: 0; |
|||
} |
|||
.cont_body{ |
|||
margin-top: 20px; |
|||
} |
|||
.my_label_c{ |
|||
padding-top: 10px; |
|||
} |
|||
.bottment_cont{ |
|||
padding-right: 15px; |
|||
color: #000000; |
|||
display:table-cell; |
|||
vertical-align:bottom; |
|||
} |
|||
.bottment_line{ |
|||
width: 100%; |
|||
border-bottom: 1px solid #EEEEEE; |
|||
|
|||
padding: 5px 0; |
|||
} |
|||
</style> |
|||
@ -0,0 +1,157 @@ |
|||
<template> |
|||
<el-scrollbar > |
|||
<el-row class="title_body"> |
|||
<el-col :span="20"> |
|||
<span class="cont_header_title"><i class="el-icon-s-order"></i>教育经历</span> |
|||
</el-col> |
|||
<el-col :span="4" class="edit_buttion"> |
|||
<el-button |
|||
icon="el-icon-plus" |
|||
size="small" |
|||
type="text" |
|||
@click="showAddBase(userKey)" |
|||
>新增</el-button> |
|||
</el-col> |
|||
</el-row> |
|||
<el-divider style="margin:0"></el-divider> |
|||
<el-row> |
|||
<el-col :span="24" class="cont_body"> |
|||
|
|||
<el-descriptions v-for="item in contList" class="margin-top" :title="item.levelname" :column="3" :size="size" border :key="item.id"> |
|||
<template slot="extra"> |
|||
<el-button |
|||
icon="el-icon-edit" |
|||
size="small" |
|||
type="text" |
|||
@click="showEditBase(scope.row)" |
|||
>编辑</el-button> |
|||
<el-button |
|||
icon="el-icon-delete" |
|||
size="small" |
|||
type="text" |
|||
@click="showDelBase(scope.row)" |
|||
>删除</el-button> |
|||
</template> |
|||
<el-descriptions-item> |
|||
<template slot="label"> |
|||
<i class="el-icon-user"></i> |
|||
毕业院校 |
|||
</template> |
|||
{{ item.graduationschool }} |
|||
</el-descriptions-item> |
|||
<el-descriptions-item> |
|||
<template slot="label"> |
|||
<i class="el-icon-user"></i> |
|||
专业 |
|||
</template> |
|||
{{ item.subject }} |
|||
</el-descriptions-item> |
|||
|
|||
</el-descriptions> |
|||
|
|||
</el-col> |
|||
</el-row> |
|||
</el-scrollbar> |
|||
</template> |
|||
<script> |
|||
import { getPersonneleDucationlist } from "@/api/systemaccredit/systemhrapi" |
|||
export default { |
|||
name:"familymembers", |
|||
props:['userKey'], |
|||
data() { |
|||
return { |
|||
contList:[], //列表信息 |
|||
} |
|||
}, |
|||
created(){ |
|||
console.log("userKey---------->",this.userKey) |
|||
this.getListCont() |
|||
}, |
|||
methods:{ |
|||
//新增信息 |
|||
showAddBase(val){ |
|||
console.log("新增信息--------->",val) |
|||
}, |
|||
//获取列表信息 |
|||
async getListCont(){ |
|||
let sendData = { |
|||
id:this.userKey |
|||
} |
|||
let res = await getPersonneleDucationlist(sendData) |
|||
this.contList = res.data |
|||
this.contList.forEach(item =>{ |
|||
switch (item.level){ |
|||
case 2: |
|||
item.levelname = "第一学历"; |
|||
break; |
|||
case 3: |
|||
item.levelname = "最高学历"; |
|||
break; |
|||
default: |
|||
item.levelname = "普通学历" |
|||
} |
|||
}) |
|||
console.log("获取列表信息--------->",res) |
|||
}, |
|||
//编辑 |
|||
async showEditBase(val){ |
|||
console.log("编辑--------->",val) |
|||
}, |
|||
//删除 |
|||
async showDelBase(val){ |
|||
console.log("删除--------->",val) |
|||
}, |
|||
} |
|||
} |
|||
</script> |
|||
<style> |
|||
.el-scrollbar { |
|||
height: 100%; |
|||
width: 100%; |
|||
} |
|||
.el-scrollbar__wrap { |
|||
|
|||
overflow: auto; |
|||
overflow: scroll; |
|||
overflow-x: hidden; |
|||
} |
|||
.el-tree-node.is-current>.el-tree-node__content { |
|||
color:#2E89DE!important |
|||
} |
|||
.el-tree-node_black { |
|||
background-color:red !important; |
|||
color:#2E89DE!important |
|||
} |
|||
div::-webkit-scrollbar { |
|||
width: 5px; |
|||
height: 5px; |
|||
} |
|||
div::-webkit-scrollbar-thumb { |
|||
border-radius: 10px; |
|||
-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); |
|||
opacity: 0.2; |
|||
|
|||
} |
|||
div::-webkit-scrollbar-track { |
|||
-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); |
|||
border-radius: 0; |
|||
} |
|||
.title_body{ |
|||
padding: 10px 0; |
|||
} |
|||
.cont_header_title{ |
|||
font-size: 20px; |
|||
font-weight: bold; |
|||
color: #388CFF; |
|||
} |
|||
.cont_header_title i{ |
|||
margin-right: 10px; |
|||
} |
|||
.edit_buttion{ |
|||
text-align: right; |
|||
padding-right: 5px; |
|||
} |
|||
.cont_body{ |
|||
margin-top: 20px; |
|||
} |
|||
</style> |
|||
@ -0,0 +1,91 @@ |
|||
<template> |
|||
<el-scrollbar > |
|||
<el-row class="title_body"> |
|||
<el-col :span="20"> |
|||
<span class="cont_header_title"><i class="el-icon-s-order"></i>奖惩记录</span> |
|||
</el-col> |
|||
<el-col :span="4" class="edit_buttion"> |
|||
<el-button |
|||
icon="el-icon-plus" |
|||
size="small" |
|||
type="text" |
|||
@click="showAddBase(userKey)" |
|||
>新增</el-button> |
|||
</el-col> |
|||
</el-row> |
|||
<el-divider style="margin:0"></el-divider> |
|||
<el-row> |
|||
<el-col :span="24" class="cont_body"> |
|||
</el-col> |
|||
</el-row> |
|||
</el-scrollbar> |
|||
</template> |
|||
<script> |
|||
export default { |
|||
name:"familymembers", |
|||
props:['userKey'], |
|||
data() { |
|||
return {} |
|||
}, |
|||
created(){ |
|||
console.log("userKey---------->",this.userKey) |
|||
}, |
|||
methods:{ |
|||
//新增信息 |
|||
showAddBase(val){ |
|||
console.log("新增信息--------->",val) |
|||
}, |
|||
} |
|||
} |
|||
</script> |
|||
<style> |
|||
.el-scrollbar { |
|||
height: 100%; |
|||
width: 100%; |
|||
} |
|||
.el-scrollbar__wrap { |
|||
|
|||
overflow: auto; |
|||
overflow: scroll; |
|||
overflow-x: hidden; |
|||
} |
|||
.el-tree-node.is-current>.el-tree-node__content { |
|||
color:#2E89DE!important |
|||
} |
|||
.el-tree-node_black { |
|||
background-color:red !important; |
|||
color:#2E89DE!important |
|||
} |
|||
div::-webkit-scrollbar { |
|||
width: 5px; |
|||
height: 5px; |
|||
} |
|||
div::-webkit-scrollbar-thumb { |
|||
border-radius: 10px; |
|||
-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); |
|||
opacity: 0.2; |
|||
|
|||
} |
|||
div::-webkit-scrollbar-track { |
|||
-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); |
|||
border-radius: 0; |
|||
} |
|||
.title_body{ |
|||
padding: 10px 0; |
|||
} |
|||
.cont_header_title{ |
|||
font-size: 20px; |
|||
font-weight: bold; |
|||
color: #388CFF; |
|||
} |
|||
.cont_header_title i{ |
|||
margin-right: 10px; |
|||
} |
|||
.edit_buttion{ |
|||
text-align: right; |
|||
padding-right: 5px; |
|||
} |
|||
.cont_body{ |
|||
margin-top: 20px; |
|||
} |
|||
</style> |
|||
@ -0,0 +1,91 @@ |
|||
<template> |
|||
<el-scrollbar > |
|||
<el-row class="title_body"> |
|||
<el-col :span="20"> |
|||
<span class="cont_header_title"><i class="el-icon-s-order"></i>人才盘点</span> |
|||
</el-col> |
|||
<el-col :span="4" class="edit_buttion"> |
|||
<el-button |
|||
icon="el-icon-plus" |
|||
size="small" |
|||
type="text" |
|||
@click="showAddBase(userKey)" |
|||
>新增</el-button> |
|||
</el-col> |
|||
</el-row> |
|||
<el-divider style="margin:0"></el-divider> |
|||
<el-row> |
|||
<el-col :span="24" class="cont_body"> |
|||
</el-col> |
|||
</el-row> |
|||
</el-scrollbar> |
|||
</template> |
|||
<script> |
|||
export default { |
|||
name:"familymembers", |
|||
props:['userKey'], |
|||
data() { |
|||
return {} |
|||
}, |
|||
created(){ |
|||
console.log("userKey---------->",this.userKey) |
|||
}, |
|||
methods:{ |
|||
//新增信息 |
|||
showAddBase(val){ |
|||
console.log("新增信息--------->",val) |
|||
}, |
|||
} |
|||
} |
|||
</script> |
|||
<style> |
|||
.el-scrollbar { |
|||
height: 100%; |
|||
width: 100%; |
|||
} |
|||
.el-scrollbar__wrap { |
|||
|
|||
overflow: auto; |
|||
overflow: scroll; |
|||
overflow-x: hidden; |
|||
} |
|||
.el-tree-node.is-current>.el-tree-node__content { |
|||
color:#2E89DE!important |
|||
} |
|||
.el-tree-node_black { |
|||
background-color:red !important; |
|||
color:#2E89DE!important |
|||
} |
|||
div::-webkit-scrollbar { |
|||
width: 5px; |
|||
height: 5px; |
|||
} |
|||
div::-webkit-scrollbar-thumb { |
|||
border-radius: 10px; |
|||
-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); |
|||
opacity: 0.2; |
|||
|
|||
} |
|||
div::-webkit-scrollbar-track { |
|||
-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); |
|||
border-radius: 0; |
|||
} |
|||
.title_body{ |
|||
padding: 10px 0; |
|||
} |
|||
.cont_header_title{ |
|||
font-size: 20px; |
|||
font-weight: bold; |
|||
color: #388CFF; |
|||
} |
|||
.cont_header_title i{ |
|||
margin-right: 10px; |
|||
} |
|||
.edit_buttion{ |
|||
text-align: right; |
|||
padding-right: 5px; |
|||
} |
|||
.cont_body{ |
|||
margin-top: 20px; |
|||
} |
|||
</style> |
|||
@ -0,0 +1,109 @@ |
|||
<template> |
|||
<el-scrollbar > |
|||
<el-row class="title_body"> |
|||
<el-col :span="20"> |
|||
<span class="cont_header_title"><i class="el-icon-s-order"></i>集团内部工作履历</span> |
|||
</el-col> |
|||
<el-col :span="4" class="edit_buttion"> |
|||
<el-button |
|||
icon="el-icon-plus" |
|||
size="small" |
|||
type="text" |
|||
@click="showAddBase(userKey)" |
|||
>新增</el-button> |
|||
</el-col> |
|||
</el-row> |
|||
<el-divider style="margin:0"></el-divider> |
|||
<el-row> |
|||
<el-col :span="24" class="cont_body"> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row class="title_body"> |
|||
<el-col :span="20"> |
|||
<span class="cont_header_title"><i class="el-icon-s-order"></i>集团外部工作履历</span> |
|||
</el-col> |
|||
<el-col :span="4" class="edit_buttion"> |
|||
<el-button |
|||
icon="el-icon-plus" |
|||
size="small" |
|||
type="text" |
|||
@click="showAddBase(userKey)" |
|||
>新增</el-button> |
|||
</el-col> |
|||
</el-row> |
|||
<el-divider style="margin:0"></el-divider> |
|||
<el-row> |
|||
<el-col :span="24" class="cont_body"> |
|||
</el-col> |
|||
</el-row> |
|||
</el-scrollbar> |
|||
</template> |
|||
<script> |
|||
export default { |
|||
name:"familymembers", |
|||
props:['userKey'], |
|||
data() { |
|||
return {} |
|||
}, |
|||
created(){ |
|||
console.log("userKey---------->",this.userKey) |
|||
}, |
|||
methods:{ |
|||
//新增信息 |
|||
showAddBase(val){ |
|||
console.log("新增信息--------->",val) |
|||
}, |
|||
} |
|||
} |
|||
</script> |
|||
<style> |
|||
.el-scrollbar { |
|||
height: 100%; |
|||
width: 100%; |
|||
} |
|||
.el-scrollbar__wrap { |
|||
|
|||
overflow: auto; |
|||
overflow: scroll; |
|||
overflow-x: hidden; |
|||
} |
|||
.el-tree-node.is-current>.el-tree-node__content { |
|||
color:#2E89DE!important |
|||
} |
|||
.el-tree-node_black { |
|||
background-color:red !important; |
|||
color:#2E89DE!important |
|||
} |
|||
div::-webkit-scrollbar { |
|||
width: 5px; |
|||
height: 5px; |
|||
} |
|||
div::-webkit-scrollbar-thumb { |
|||
border-radius: 10px; |
|||
-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); |
|||
opacity: 0.2; |
|||
|
|||
} |
|||
div::-webkit-scrollbar-track { |
|||
-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); |
|||
border-radius: 0; |
|||
} |
|||
.title_body{ |
|||
padding: 10px 0; |
|||
} |
|||
.cont_header_title{ |
|||
font-size: 20px; |
|||
font-weight: bold; |
|||
color: #388CFF; |
|||
} |
|||
.cont_header_title i{ |
|||
margin-right: 10px; |
|||
} |
|||
.edit_buttion{ |
|||
text-align: right; |
|||
padding-right: 5px; |
|||
} |
|||
.cont_body{ |
|||
margin-top: 20px; |
|||
} |
|||
</style> |
|||
@ -0,0 +1,594 @@ |
|||
<template> |
|||
<el-container> |
|||
<!--左侧--> |
|||
<el-aside width="300px"> |
|||
<el-scrollbar > |
|||
<el-tree |
|||
:expand-on-click-node="false" |
|||
:data="GovthreeList2" |
|||
:props="defaultProps1" |
|||
@node-click="handleNodeClick" |
|||
></el-tree> |
|||
</el-scrollbar> |
|||
</el-aside> |
|||
<el-main> |
|||
<el-scrollbar > |
|||
<el-row> |
|||
<el-col :span="24"> |
|||
|
|||
|
|||
<el-form ref="searchForm" :inline="true" :model="searchInfo" class="demo-form-inline"> |
|||
<el-form-item label="岗位名称"> |
|||
<el-input v-model="searchInfo.name" size="mini" placeholder="请输入岗位名称"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="岗位编号"> |
|||
<el-input v-model="searchInfo.number" size="mini" placeholder="请输入岗位编号"></el-input> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button type="primary" size="mini" icon="el-icon-search" @click="onSubmit">查询</el-button> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button type="primary" size="mini" icon="el-icon-plus" @click="showAdd">新增</el-button> |
|||
</el-form-item> |
|||
</el-form> |
|||
|
|||
<template> |
|||
|
|||
|
|||
<el-table |
|||
:data="tableData" |
|||
style="width: 100%" |
|||
max-height="100%"> |
|||
<el-table-column |
|||
fixed |
|||
prop="name" |
|||
label="职位名称" |
|||
width="150"> |
|||
</el-table-column> |
|||
<el-table-column |
|||
prop="number" |
|||
label="职位编号" |
|||
> |
|||
</el-table-column> |
|||
<el-table-column |
|||
|
|||
label="归属行政组织" |
|||
> |
|||
<template #default="{ row }"> |
|||
{{ row.departmentname }} / {{ row.aoname }} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column |
|||
prop="jobname" |
|||
label="归属职务" |
|||
width="120"> |
|||
</el-table-column> |
|||
<el-table-column |
|||
label="状态" |
|||
width="150"> |
|||
<template #default="scope"> |
|||
<el-switch |
|||
inline-prompt |
|||
v-model="scope.row.state" |
|||
active-color="#13ce66" |
|||
inactive-color="#ff4949" |
|||
active-text="正常" |
|||
inactive-text="禁用" |
|||
:active-value=1 |
|||
:inactive-value=2 |
|||
@change="changeVal(scope.row)" |
|||
/> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column |
|||
fixed="right" |
|||
label="操作" |
|||
width="120"> |
|||
<template slot-scope="scope"> |
|||
<el-button |
|||
size="mini" |
|||
type="text" |
|||
icon="el-icon-edit" |
|||
@click="editPostCont(scope.row)" |
|||
>编辑</el-button> |
|||
<el-button |
|||
size="mini" |
|||
type="text" |
|||
icon="el-icon-delete" |
|||
@click="deleteMenu(scope.row)" |
|||
>删除</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
|
|||
|
|||
|
|||
</template> |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
</el-col> |
|||
<el-col :span="24"> |
|||
<el-pagination class="page_body" |
|||
background |
|||
@current-change="handleCurrentChange" |
|||
layout="prev, pager, next" |
|||
:total="total" |
|||
:page-size = "searchInfo.pagesize" |
|||
> |
|||
</el-pagination> |
|||
</el-col> |
|||
</el-row> |
|||
|
|||
<!-- 新增弹框 --> |
|||
<el-dialog :visible.sync="dialogFormVisible" :before-close="closeDialog" title="新增岗位" width="50%"> |
|||
<el-form ref="addForm" :model="addPostForm" :rules="rules" label-width="150px"> |
|||
<el-form-item label="岗位名称" prop="name"> |
|||
<el-input v-model="addPostForm.name" autocomplete="off" placeholder="请输入岗位名称" /> |
|||
</el-form-item> |
|||
<el-form-item label="岗位编号" prop="number"> |
|||
<el-input v-model="addPostForm.number" autocomplete="off" placeholder="请输入岗位编号" /> |
|||
</el-form-item> |
|||
<el-form-item label="责任岗"> |
|||
<el-switch |
|||
inline-prompt |
|||
v-model="addPostForm.incharge" |
|||
active-color="#13ce66" |
|||
inactive-color="#ff4949" |
|||
active-text="是" |
|||
inactive-text="否" |
|||
:active-value=1 |
|||
:inactive-value=2 |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="岗位职务" prop="duties"> |
|||
<el-select v-model="addPostForm.duties" filterable clearable placeholder="请选择职务" style="width:100%"> |
|||
<el-option |
|||
v-for="item in JobTitleList" |
|||
:key="item.id" |
|||
:label="item.name" |
|||
:value="item.id"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="归属行政组织" prop="organization"> |
|||
<el-cascader style="width:100%" |
|||
:show-all-levels="true" |
|||
v-model="addPostForm.organization" |
|||
:options="GovthreeList2" |
|||
:props="propsdepart" |
|||
@change="queryPosition" |
|||
> |
|||
</el-cascader> |
|||
</el-form-item> |
|||
<el-form-item label="上级岗位" > |
|||
<el-select v-model="addPostForm.superior" clearable placeholder="请选择" style="width:100%"> |
|||
<el-option |
|||
v-for="item in superiorPosition" |
|||
:key="item.id" |
|||
:label="item.name + ' ('+item.number+')'" |
|||
:value="item.id"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-form> |
|||
<template #footer> |
|||
<div class="dialog-footer"> |
|||
<el-button size="small" @click="closeDialog">取 消</el-button> |
|||
<el-button size="small" type="primary" @click="addPostSave">确 定</el-button> |
|||
</div> |
|||
</template> |
|||
</el-dialog> |
|||
|
|||
<!-- 编辑弹框 --> |
|||
<el-dialog :visible.sync="editDialogFormVisible" :before-close="closeEditDialog" title="编辑岗位" width="50%"> |
|||
<el-form ref="editForm" :model="editPostForm" :rules="editRules" label-width="150px"> |
|||
<el-form-item label="岗位名称" prop="name"> |
|||
<el-input v-model="editPostForm.name" autocomplete="off" placeholder="请输入岗位名称" /> |
|||
</el-form-item> |
|||
<el-form-item label="岗位编号" prop="number"> |
|||
<el-input v-model="editPostForm.number" autocomplete="off" placeholder="请输入岗位编号" /> |
|||
</el-form-item> |
|||
<el-form-item label="责任岗"> |
|||
<el-switch |
|||
inline-prompt |
|||
v-model="editPostForm.incharge" |
|||
active-color="#13ce66" |
|||
inactive-color="#ff4949" |
|||
active-text="是" |
|||
inactive-text="否" |
|||
:active-value=1 |
|||
:inactive-value=2 |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="岗位职务" prop="duties"> |
|||
<el-select v-model="editPostForm.duties" filterable clearable placeholder="请选择职务" style="width:100%"> |
|||
<el-option |
|||
v-for="item in JobTitleList" |
|||
:key="item.id" |
|||
:label="item.name" |
|||
:value="item.id"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="归属行政组织" prop="organization"> |
|||
<el-cascader style="width:100%" |
|||
:show-all-levels="true" |
|||
v-model="editPostForm.organization" |
|||
:options="GovthreeList2" |
|||
:props="propsdepart" |
|||
@change="queryPosition" |
|||
> |
|||
</el-cascader> |
|||
</el-form-item> |
|||
<el-form-item label="上级岗位" > |
|||
<el-select v-model="editPostForm.superior" clearable placeholder="请选择" style="width:100%"> |
|||
<el-option |
|||
v-for="item in superiorPosition" |
|||
:key="item.id" |
|||
:label="item.name + ' ('+item.number+')'" |
|||
:value="item.id"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-form> |
|||
<template #footer> |
|||
<div class="dialog-footer"> |
|||
<el-button size="small" @click="closeEditDialog">取 消</el-button> |
|||
<el-button size="small" type="primary" @click="editPostSave">确 定</el-button> |
|||
</div> |
|||
</template> |
|||
</el-dialog> |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
</el-scrollbar> |
|||
</el-main> |
|||
|
|||
|
|||
</el-container> |
|||
</template> |
|||
<script> |
|||
import { dutyclasslist } from "@/api/duty/dimension"; |
|||
import { getpositionrole,positionlist,addpositioncont,getpositioncont,eitepositionstateordel,eitepositioncont,dutieslist,govthree,positionallotment,getOrgPostList,addpositioncontnew,editpositioncontnew } from '@/api/personnel/post' |
|||
|
|||
|
|||
export default { |
|||
data() { |
|||
return { |
|||
//行政组织树 |
|||
defaultProps1: { |
|||
children: 'child', |
|||
label: 'name' |
|||
}, |
|||
GovthreeList2:[], |
|||
// 职务列表数据 |
|||
JobTitleList:[], |
|||
searchInfo:{ |
|||
page:1, |
|||
pagesize:15 |
|||
}, //岗位搜索 |
|||
tableData:[], //岗位数据 |
|||
total:0, //岗位总数 |
|||
// 修改状态提交数据 |
|||
switchFrom:{}, |
|||
// 删除数据提交 |
|||
deleFrom:{}, |
|||
dialogFormVisible:false, //新增岗位弹窗 |
|||
addPostForm:{ |
|||
name:"", |
|||
number:"", |
|||
incharge:2, |
|||
duties:"", |
|||
organization:"", |
|||
superior:"", |
|||
}, //新增岗位数据 |
|||
editDialogFormVisible:false, //编辑岗位弹窗 |
|||
editPostForm:{ |
|||
id:0, |
|||
name:"", |
|||
number:"", |
|||
incharge:2, |
|||
duties:"", |
|||
organization:"", |
|||
superior:"", |
|||
},//编辑岗位数据 |
|||
// 添加时验证规则 |
|||
rules: { |
|||
name: [{ required: true, message: '请输入岗位名称', trigger: 'blur' }], |
|||
number: [{ required: true, message: '请输入岗位编号', trigger: 'blur' }], |
|||
duties: [{ required: true, message: '请选择该岗位对应的职务', trigger: 'blur' }], |
|||
organization: [{ required: true, message: '请选择归属行政组织', trigger: 'blur' }], |
|||
// superior: [{ required: true, message: '请选择该岗位的上级岗位', trigger: 'blur' }], |
|||
}, |
|||
//编辑是验证规则 |
|||
editRules:{ |
|||
name: [{ required: true, message: '请输入岗位名称', trigger: 'blur' }], |
|||
number: [{ required: true, message: '请输入岗位编号', trigger: 'blur' }], |
|||
duties: [{ required: true, message: '请选择该岗位对应的职务', trigger: 'blur' }], |
|||
organization: [{ required: true, message: '请选择归属行政组织', trigger: 'blur' }], |
|||
}, |
|||
propsdepart: { |
|||
value: "id", |
|||
label: "name", |
|||
children: "child", |
|||
// expandTrigger:"hover" |
|||
}, //关联部门 |
|||
superiorPosition:[], //上级职务 |
|||
} |
|||
}, |
|||
created() { |
|||
this.getGovthree2(); |
|||
this.getDataList(); |
|||
}, |
|||
methods: { |
|||
//初始化数据 |
|||
initAddData(){ |
|||
this.addPostForm ={ |
|||
name:"", |
|||
number:"", |
|||
incharge:2, |
|||
duties:"", |
|||
organization:"", |
|||
superior:"", |
|||
} |
|||
}, |
|||
// 获取行政组织二级树 |
|||
async getGovthree2(){ |
|||
let sendData = { |
|||
id:313, |
|||
all:1 |
|||
} |
|||
const res = await govthree(sendData) |
|||
this.GovthreeList2 = res.data |
|||
// console.log("this.GovthreeList2------------->",res.data) |
|||
// console.log(res.data[0].child) |
|||
}, |
|||
//查看行政组织岗位 |
|||
async handleNodeClick(row){ |
|||
this.searchInfo.organization=row.id.toString() |
|||
// console.log("查看行政组织岗位------------->",row) |
|||
this.getDataList(this.searchInfo) |
|||
}, |
|||
//搜索岗位信息 |
|||
async onSubmit(){ |
|||
this.getDataList() |
|||
}, |
|||
|
|||
// 获取初始数据 |
|||
async getDataList() { |
|||
const res = await positionlist(this.searchInfo) |
|||
this.tableData = res.data.list |
|||
this.total = res.data.total |
|||
this.searchInfo.page = res.data.page |
|||
this.searchInfo.pagesize = res.data.pageSize |
|||
}, |
|||
// 改变page |
|||
handleCurrentChange(val) { |
|||
this.searchInfo.page=val |
|||
this.getDataList(this.searchInfo) |
|||
}, |
|||
// 开关状态监听 |
|||
async changeVal(val){ |
|||
console.log(val) |
|||
this.switchFrom.id=val.id |
|||
this.switchFrom.idstr=val.idstr |
|||
if (val.state==1) { |
|||
this.switchFrom.state=1; |
|||
const res = await eitepositionstateordel(this.switchFrom) |
|||
if (res.code === 0) { |
|||
this.$message({ |
|||
type: 'success', |
|||
message: '修改状态成功', |
|||
showClose: true |
|||
}) |
|||
this.getDataList() |
|||
} |
|||
} else { |
|||
this.switchFrom.state=2; |
|||
const res = await eitepositionstateordel(this.switchFrom) |
|||
if (res.code === 0) { |
|||
this.$message({ |
|||
type: 'success', |
|||
message: '修改状态成功', |
|||
showClose: true |
|||
}) |
|||
this.getDataList() |
|||
} |
|||
} |
|||
console.log( this.switchFrom) |
|||
}, |
|||
//删除操作 |
|||
async deleteMenu(row) { |
|||
this.$confirm('此操作将永久删除, 是否继续?', '提示', { |
|||
confirmButtonText: '确定', |
|||
cancelButtonText: '取消', |
|||
type: 'warning' |
|||
}) |
|||
.then(async() => { |
|||
this.deleFrom.state=3; |
|||
this.deleFrom.id=row.id; |
|||
const res = await eitepositionstateordel(this.deleFrom) |
|||
if (res.code === 0) { |
|||
this.$message({ |
|||
type: 'success', |
|||
message: '删除成功!' |
|||
}) |
|||
|
|||
this.getDataList() |
|||
} |
|||
}) |
|||
}, |
|||
// 获取职务列表 |
|||
async getJobTitleList(){ |
|||
const searchData = { |
|||
page: 1, //分页页码,数字类型 |
|||
pagesize: 10000, //每页显示多少条数据 |
|||
} |
|||
const res = await dutieslist(searchData) |
|||
this.JobTitleList = res.data.list |
|||
}, |
|||
//获取岗位 |
|||
async queryPosition(val){ |
|||
console.log("获取岗位",val,this.addPostForm.organization) |
|||
let sendData = { |
|||
id: val |
|||
} |
|||
const res = await getOrgPostList(sendData) |
|||
this.superiorPosition = res.data |
|||
}, |
|||
//新增岗位 |
|||
showAdd(){ |
|||
this.getJobTitleList() |
|||
this.dialogFormVisible=true; |
|||
}, |
|||
// 新增岗位框关闭 |
|||
closeDialog() { |
|||
// console.log("closeDialog") |
|||
|
|||
this.dialogFormVisible = false |
|||
this.initAddData() |
|||
}, |
|||
//新增岗位数据提交 |
|||
async addPostSave(){ |
|||
this.$refs.addForm.validate(async valid => { |
|||
if (valid) { |
|||
console.log("提交表单----->",this.addPostForm) |
|||
const res = await addpositioncontnew(this.addPostForm) |
|||
if (res.code === 0) { |
|||
this.$message({ |
|||
type: 'success', |
|||
message: '添加成功', |
|||
showClose: true |
|||
}) |
|||
} |
|||
this.getDataList(); |
|||
this.closeDialog(); |
|||
} |
|||
}); |
|||
}, |
|||
//修改岗位数据弹窗 |
|||
async editPostCont(val){ |
|||
console.log("修改岗位数据弹窗",val) |
|||
const searchData = { |
|||
id: val.id, |
|||
idstr:val.idstr |
|||
} |
|||
const res = await getpositioncont(searchData) |
|||
if (res.code === 0) { |
|||
this.getJobTitleList() |
|||
this.queryPosition(res.data.orglistary) |
|||
this.editDialogFormVisible = true |
|||
this.editPostForm = { |
|||
id:res.data.id, |
|||
idstr:res.data.idstr, |
|||
name:res.data.name, |
|||
number:res.data.number, |
|||
incharge:res.data.personincharge, |
|||
duties:res.data.duties, |
|||
organization:res.data.administrativeorganization, |
|||
superior:res.data.superior, |
|||
} |
|||
} |
|||
}, |
|||
//关闭编辑弹窗 |
|||
closeEditDialog(){ |
|||
this.editDialogFormVisible = false |
|||
this.initEditForm() |
|||
}, |
|||
//初始化编辑弹窗 |
|||
initEditForm(){ |
|||
this.editPostForm = { |
|||
id:0, |
|||
name:"", |
|||
number:"", |
|||
incharge:2, |
|||
duties:"", |
|||
organization:"", |
|||
superior:"", |
|||
} |
|||
}, |
|||
//编辑岗位数据提交 |
|||
async editPostSave(){ |
|||
console.log("编辑岗位数据提交",this.editPostForm) |
|||
this.$refs.editForm.validate(async valid => { |
|||
if (valid) { |
|||
if(!this.judgeArray(this.editPostForm.organization)){ |
|||
let orgAry = new Array |
|||
orgAry.push(this.editPostForm.organization) |
|||
this.editPostForm.organization = orgAry |
|||
} |
|||
console.log("编辑岗位数据提交---1->",this.editPostForm) |
|||
// console.log("提交表单----->",this.addPostForm) |
|||
const res = await editpositioncontnew(this.editPostForm) |
|||
if (res.code === 0) { |
|||
this.$message({ |
|||
type: 'success', |
|||
message: '编辑成功', |
|||
showClose: true |
|||
}) |
|||
} |
|||
this.getDataList(); |
|||
this.closeEditDialog(); |
|||
} |
|||
}); |
|||
}, |
|||
//判断是不是数组 |
|||
judgeArray(ary){ |
|||
if(ary.isArray){ |
|||
return true; |
|||
}else{ |
|||
if (Object.prototype.toString.call(ary) === '[object Array]') { |
|||
return true; |
|||
} |
|||
} |
|||
return false; |
|||
}, |
|||
|
|||
}, |
|||
} |
|||
</script> |
|||
<style> |
|||
.el-aside { |
|||
text-align: center; |
|||
height: calc(103% - 2px); |
|||
overflow: hidden; |
|||
overflow-y: auto; |
|||
overflow-x: hidden; |
|||
border-right: 1px solid rgb(220, 223, 230); |
|||
margin: 2px 0 0 0; |
|||
padding-bottom: 10px; |
|||
} |
|||
.el-main{ |
|||
height: 105%; |
|||
} |
|||
.el-container { |
|||
height:calc(100% - 50px); |
|||
overflow: hidden; |
|||
} |
|||
.el-scrollbar { |
|||
height: 100%; |
|||
} |
|||
.el-scrollbar__wrap { |
|||
overflow: auto; |
|||
|
|||
overflow: scroll; |
|||
} |
|||
.page_body{ |
|||
margin: 15px 0 25px 0px; |
|||
} |
|||
</style> |
|||
Loading…
Reference in new issue