Commit 012856c6 by xws

up

parents 47043396 6bd7a7d2
...@@ -56,3 +56,8 @@ outline: none; ...@@ -56,3 +56,8 @@ outline: none;
text-decoration: none; text-decoration: none;
-webkit-tap-highlight-color:rgba(255,255,255,0); -webkit-tap-highlight-color:rgba(255,255,255,0);
} }
.submit_btn{
position: absolute;
bottom: 0;
width: 100%;
}
\ No newline at end of file
...@@ -100,7 +100,8 @@ export default class cityList extends Vue { ...@@ -100,7 +100,8 @@ export default class cityList extends Vue {
} }
onConfirm(values: any) { onConfirm(values: any) {
console.log(values); console.log(values)
this.$emit('childCityList',values)
} }
} }
</script> </script>
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
* 员工相关接口 * 员工相关接口
*/ */
export interface EmployeeInterface { export interface EmployeeInterface {
<<<<<<< HEAD
getUserInfo(params: any): Promise<any>; getUserInfo(params: any): Promise<any>;
getCityList(params: any): Promise<any>; // 获取城市列表 getCityList(params: any): Promise<any>; // 获取城市列表
getDispatchList(params: any): Promise<any>; //根据身份证获取用户所属派遣公司列表 getDispatchList(params: any): Promise<any>; //根据身份证获取用户所属派遣公司列表
...@@ -34,4 +35,38 @@ export interface EmployeeInterface { ...@@ -34,4 +35,38 @@ export interface EmployeeInterface {
tranFiles(params:any):Promise<any>;//上传文件转短连接 tranFiles(params:any):Promise<any>;//上传文件转短连接
getAgileWorker(params: any): Promise<any>; //灵活用工 getAgileWorker(params: any): Promise<any>; //灵活用工
=======
getUserInfo(params: any): Promise<any>;
getCityList(params: any): Promise<any>; // 获取城市列表
getDispatchList(params: any): Promise<any>; //根据身份证获取用户所属派遣公司列表
getDispatchInfo(params: any): Promise<any>; //通过身份证号和派遣公司ID拿到派遣员工的信息(劳务派遣首页数据)
getWorkInfoList(params: any): Promise<any>; //获取工作信息列表
getWorkInfoDetail(params: any): Promise<any>; //获取工作信息详情
updateWorkInfo(params: any): Promise<any>; //修改工作信息
addWorkInfo(params: any): Promise<any>; //新增工作信息
deleteWorkInfo(params: any): Promise<any>; //新增工作信息
getPersonInfo(params: any): Promise<any>; //获取个人信息
savePersonInfo(params: any): Promise<any>; //保存个人信息
getContactInfo(params: any): Promise<any>; //获取联系信息
saveContactInfo(params: any): Promise<any>; //保存联系信息
getSocialInfo(params: any): Promise<any>; //获取社保信息
saveSocialInfo(params: any): Promise<any>; //保存社保信息
getWageCardInfo(params: any): Promise<any>; //获取工资卡信息
saveWageCardInfo(params: any): Promise<any>; //保存工资卡信息
getEduExperience(params: any): Promise<any>; //获取教育经历
getEduExperienceDetial(params: any): Promise<any>; //获取教育信息详情
addEduExperience(params: any): Promise<any>; //新增教育信息
updateEduExperience(params: any): Promise<any>; //修改教育信息
deleteEduExperience(params: any): Promise<any>; //删除教育信息
getTechnologyExperience(params: any): Promise<any>; //获取技术特长
updateTechnologyExperience(params: any): Promise<any>; //修改技术特长
getSalaryInfo(params: any): Promise<any>; //通过身份证号和派遣公司ID拿到派遣员工的工资条信息
getSalaryInfoDetail(params: any): Promise<any>; //通过ID拿到派遣员工的工资条详细信息
getFiles(params: any): Promise<any>; // 获取文件
setFiles(params: any): Promise<any>; // 设置文件
delFiles(params: any): Promise<any>; // 删除文件
putFiles(params: any): Promise<any>; // 提交文件
getAgileWorker(params: any): Promise<any>; //灵活用工
>>>>>>> 6bd7a7d232d6d1b182fc7cff1cd6136fd5df5b70
} }
...@@ -281,6 +281,16 @@ class EmployeeService implements EmployeeInterface { ...@@ -281,6 +281,16 @@ class EmployeeService implements EmployeeInterface {
/** /**
* *
* 通过id获取工资条详细
* @param params
*/
public getSalaryInfoDetail(params: any): Promise<any> {
let url = `${urls.employeeUrl}/api/user/employee/salary/${params.id}/detail`;
return request.get(url, {}, this.header, false);
}
/**
*
* 获取文件 * 获取文件
* @param params * @param params
*/ */
......
...@@ -553,3 +553,4 @@ export function toMoney(num:any,isSymbol:boolean=true,isConvertPoint:any=false){ ...@@ -553,3 +553,4 @@ export function toMoney(num:any,isSymbol:boolean=true,isConvertPoint:any=false){
} }
} }
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
<i>18821992017</i> <i>18821992017</i>
</div> </div>
<div class="header"> <div class="header">
<div class="header_name">哈撒剋</div> <div class="header_name">{{employee_name}}</div>
<div class="header_info">女|1888-01-01</div> <div class="header_info">{{employee_sex}}|{{employee_birthday}}</div>
</div> </div>
<work-info /> <work-info />
<person-info :isEdit="isEdit" /> <person-info :isEdit="isEdit" />
...@@ -53,7 +53,15 @@ import archiveQuestion from "./archives/archiveQuestion.vue"; ...@@ -53,7 +53,15 @@ import archiveQuestion from "./archives/archiveQuestion.vue";
} }
}) })
export default class archives extends Vue { export default class archives extends Vue {
private isEdit:any="123" private isEdit:any="123";
private employee_name:any="";
private employee_birthday:any="";
private employee_sex:any="";
created(){
this.employee_name=localStorage.getItem("name") as string;
this.employee_birthday=localStorage.getItem("birthday") as string;
this.employee_sex=localStorage.getItem("sex") as string;
}
} }
</script> </script>
......
...@@ -9,36 +9,43 @@ ...@@ -9,36 +9,43 @@
<p>{{ birthday }}</p> <p>{{ birthday }}</p>
</div> </div>
</div> </div>
<div class="person-information-bottom"> <div class="info-card-bottom">
<div <p>
class="person-information-bottom-child" <label>已接任务</label>
id="person-information-yjrw" <span>{{ accept_work }}</span>
</p>
<p>
<label>完成任务</label>
<span>{{ perform_work }}</span>
</p>
<p>
<label>应收报酬</label>
<span
>{{
Payment_receivable ? Number(Payment_receivable).toFixed(2) : 0.0
}}</span
> >
<h3>{{ accept_work }}</h3> </p>
<p>已接任务</p> <p>
</div> <label>已收报酬</label>
<div <span
class="person-information-bottom-child" >{{
id="person-information-wcrw" receive_receivable ? Number(receive_receivable).toFixed(2) : 0.0
}}</span
> >
<h3>{{ perform_work }}</h3> </p>
<p>完成任务</p>
</div> </div>
<div
class="person-information-bottom-child"
id="person-information-ysbc"
>
<h3>{{ Payment_receivable }}</h3>
<p>应收报酬</p>
</div> </div>
<div <van-popup
class="person-information-bottom-child" v-model="showPopup"
id="person-information-yysbc" :overlay="!showPopup"
:close-on-click-overlay="!showPopup"
round
position="bottom"
:style="popupStyle"
> >
<h3>{{ receive_receivable }}</h3> <div class="close-box" @click="expand_click">
<p>已收报酬</p> <img src="../assets/images/ic_unfold@2x.png" />
</div>
</div>
</div> </div>
<div class="green-bg"> <div class="green-bg">
<div class="fe-list-box"> <div class="fe-list-box">
...@@ -64,7 +71,13 @@ ...@@ -64,7 +71,13 @@
</div> </div>
<div class="fe-list-child-right"> <div class="fe-list-child-right">
<div class="fe-list-child-right-desc"> <div class="fe-list-child-right-desc">
<h3>{{ Number(item.paidSalary / 100).toFixed(2) }}</h3> <h3>
{{
Number(item.paidSalary)
? Number(item.paidSalary).toFixed(2)
: 0.0
}}
</h3>
<p :style="matchColor(item.billStatus)"> <p :style="matchColor(item.billStatus)">
{{ item.billStatus }} {{ item.billStatus }}
</p> </p>
...@@ -74,6 +87,7 @@ ...@@ -74,6 +87,7 @@
</a> </a>
</div> </div>
</div> </div>
</van-popup>
</div> </div>
<div class="empty_data" v-if="showList == 0"> <div class="empty_data" v-if="showList == 0">
<p> <p>
...@@ -81,22 +95,18 @@ ...@@ -81,22 +95,18 @@
<br />暂无相关记录 <br />暂无相关记录
</p> </p>
</div> </div>
<div class="white_slide"></div>
</div> </div>
</template> </template>
<script lang='ts'> <script lang='ts'>
import { Popup } from "vant";
import { Component, Vue } from "vue-property-decorator"; import { Component, Vue } from "vue-property-decorator";
// import { toMoney, formatDate, isNull } from "../utils/public";
@Component({ @Component({
// filters: { components: {
// money: (value: String, isSymbol: boolean, isConvertPoint: boolean) => [Popup.name]: Popup
// toMoney(value, isSymbol, isConvertPoint), }
// format: (value: String, pattern: String) => {
// return value.replace(/\d{2}:\d{2}:\d{2}/i, "");
// },
// isEmpty: (value: string) => isNull(value)
// }
}) })
export default class FlexEmployee extends Vue { export default class FlexEmployee extends Vue {
private name: string = ""; //入参 private name: string = ""; //入参
...@@ -109,7 +119,19 @@ export default class FlexEmployee extends Vue { ...@@ -109,7 +119,19 @@ export default class FlexEmployee extends Vue {
private fullName: string = ""; private fullName: string = "";
private taskRecordList: any = null; private taskRecordList: any = null;
private showList: number = -1; private showList: number = -1;
private showPopup: boolean = true;
private expand: boolean = true;
get popupStyle() {
if (this.expand) {
return { height: "63%" };
} else {
return { height: "86%" };
}
}
private expand_click() {
this.expand = !this.expand;
}
private toDetail(id: any): void { private toDetail(id: any): void {
this.$router.push({ name: "FlexEmployeeDetial", query: { id } }); this.$router.push({ name: "FlexEmployeeDetial", query: { id } });
} }
...@@ -132,7 +154,6 @@ export default class FlexEmployee extends Vue { ...@@ -132,7 +154,6 @@ export default class FlexEmployee extends Vue {
this.name = localStorage.getItem("name") as string; this.name = localStorage.getItem("name") as string;
this.birthday = localStorage.getItem("birthday") as string; this.birthday = localStorage.getItem("birthday") as string;
const idNo = window.atob(decodeURI(String(this.$route.query.id_no))); const idNo = window.atob(decodeURI(String(this.$route.query.id_no)));
console.log("idNo=", idNo);
let params = { let params = {
idNo: idNo //371327198511175134 idNo: idNo //371327198511175134
}; };
...@@ -140,14 +161,22 @@ export default class FlexEmployee extends Vue { ...@@ -140,14 +161,22 @@ export default class FlexEmployee extends Vue {
console.log("res=", res); console.log("res=", res);
this.accept_work = res.alCount; // 已接任务 this.accept_work = res.alCount; // 已接任务
this.perform_work = res.comCount; // 完成任务 this.perform_work = res.comCount; // 完成任务
this.Payment_receivable = res.receivableSalary.toFixed(2); // 应收报酬 this.Payment_receivable = res.receivableSalary
this.receive_receivable = res.receivedSalary.toFixed(2); // 已收报酬 ? res.receivableSalary.toFixed(2)
: 0.0; // 应收报酬
this.receive_receivable = res.receivedSalary
? res.receivedSalary.toFixed(2)
: 0.0; // 已收报酬
this.taskRecordList = res.taskList; // 任务记录 this.taskRecordList = res.taskList; // 任务记录
this.taskRecordList.length > 0 this.taskRecordList.length > 0
? (this.showList = 1) ? (this.showList = 1)
: (this.showList = 0); : (this.showList = 0);
console.log("taskRecordList=", this.taskRecordList); console.log("taskRecordList=", this.taskRecordList);
if (this.taskRecordList.length >= 3) {
this.expand = false;
} else {
this.expand = true;
}
localStorage.setItem("taskList", JSON.stringify(res.taskList)); localStorage.setItem("taskList", JSON.stringify(res.taskList));
}); });
} }
...@@ -155,6 +184,22 @@ export default class FlexEmployee extends Vue { ...@@ -155,6 +184,22 @@ export default class FlexEmployee extends Vue {
</script> </script>
<style lang="less"> <style lang="less">
.fe-bigbox {
min-height: 667px;
background: #19b370;
}
.info-card-bottom {
margin-top: 40px;
}
.info-card-bottom p {
color: #d3f1e4;
font-size: 13px;
line-height: 18px;
margin-bottom: 8px;
display: flex;
justify-content: space-between;
}
.empty_data { .empty_data {
position: absolute; position: absolute;
top: 0; top: 0;
...@@ -170,19 +215,10 @@ export default class FlexEmployee extends Vue { ...@@ -170,19 +215,10 @@ export default class FlexEmployee extends Vue {
text-align: center; text-align: center;
margin-top: 256px; margin-top: 256px;
} }
.green-bg {
background-color: #19b370;
position: absolute;
top: 180px;
bottom: 0px;
left: 0px;
right: 0px;
overflow: auto;
}
.person-information { .person-information {
background-color: #19b370; background-color: #19b370;
width: 100%; width: 100%;
height: 180px;
padding: 20px 16px 0 16px; padding: 20px 16px 0 16px;
} }
.person-information-top { .person-information-top {
...@@ -300,4 +336,17 @@ export default class FlexEmployee extends Vue { ...@@ -300,4 +336,17 @@ export default class FlexEmployee extends Vue {
text-align: right; text-align: right;
// color: #077aec; // color: #077aec;
} }
.close-box {
width: 100%;
height: 24px;
padding-top: 10px;
padding-bottom: 10px;
cursor: pointer;
}
.close-box img {
display: block;
width: 32px;
height: 4px;
margin: 0 auto;
}
</style> </style>
\ No newline at end of file
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div class="fe-detial-box"> <div class="fe-detial-box">
<div class="fe-detial-top"> <div class="fe-detial-top">
<h4>任务报酬</h4> <h4>任务报酬</h4>
<h3>+{{ (item.paidSalary / 100).toFixed(2) }}</h3> <h3>+{{ item.paidSalary.toFixed(2) }}</h3>
<p :style="matchColor(item.status)">{{ item.status }}</p> <p :style="matchColor(item.status)">{{ item.status }}</p>
</div> </div>
<div class="fe-detial-bottom"> <div class="fe-detial-bottom">
......
...@@ -3,71 +3,118 @@ ...@@ -3,71 +3,118 @@
<div class="info-card-box"> <div class="info-card-box">
<div class="info-card-top"> <div class="info-card-top">
<div class="info-card-top-left"> <div class="info-card-top-left">
<h4>{{name}}</h4> <h4>{{ name }}</h4>
<p>{{birthday}}</p> <p>{{ birthday }}</p>
</div> </div>
</div> </div>
<div class="info-card-bottom"> <div class="info-card-bottom">
<p> <p>
<label>用工单位</label> <label>用工单位</label>
<span>{{ceFullName}}</span> <span>{{ ceFullName }}</span>
</p> </p>
<p> <p>
<label>工作地点</label> <label>工作地点</label>
<span>{{workAddress}}</span> <span>{{ workAddress }}</span>
</p> </p>
<p> <p>
<label>工作职位</label> <label>工作职位</label>
<span>{{position}}</span> <span>{{ position }}</span>
</p> </p>
<p> <p>
<label>入职时间</label> <label>入职时间</label>
<span>{{employeeEntryDate}}</span> <span>{{ employeeEntryDate }}</span>
</p> </p>
</div> </div>
</div> </div>
<div class="index-bottom-box">
<div class="close-box"> <van-popup
v-model="showPopup"
:overlay="!showPopup"
:close-on-click-overlay="!showPopup"
round
position="bottom"
:style="popupStyle"
>
<div class="close-box" @click="expand_click">
<img src="../assets/images/ic_unfold@2x.png" /> <img src="../assets/images/ic_unfold@2x.png" />
</div> </div>
<router-link class="entrance" :to="`/archives?ed_id=${ed_id}&sp_id=${sp_id}&id_no=${id_no}`"> <router-link
<img src="../assets/images/archives_icon.png" alt="我的档案" title="我的档案" /> class="entrance"
:to="`/archives?ed_id=${ed_id}&sp_id=${sp_id}&id_no=${id_no}`"
>
<img
src="../assets/images/archives_icon.png"
alt="我的档案"
title="我的档案"
/>
<div> <div>
<h4>我的档案</h4> <h4>我的档案</h4>
<p>档案已确认,如果需要更改信息请联系客服</p> <p>档案已确认,如果需要更改信息请联系客服</p>
<p>你的信息不完整,请先补充信息</p> <p>你的信息不完整,请先补充信息</p>
</div> </div>
<img class="arrow" src="../assets/images/right_arrow.png" alt="arrow" title="arrow" /> <img
class="arrow"
src="../assets/images/right_arrow.png"
alt="arrow"
title="arrow"
/>
</router-link> </router-link>
<router-link class="entrance entrance-border" :to="`/Information?ed_id=${ed_id}`"> <router-link
<img src="../assets/images/information_icon.png" alt="我的资料" title="我的资料" /> class="entrance entrance-border"
:to="`/Information?ed_id=${ed_id}`"
>
<img
src="../assets/images/information_icon.png"
alt="我的资料"
title="我的资料"
/>
<div> <div>
<h4>我提交的资料</h4> <h4>我提交的资料</h4>
<p>你可查询上传的附件信息</p> <p>你可查询上传的附件信息</p>
</div> </div>
<img class="arrow" src="../assets/images/right_arrow.png" alt="arrow" title="arrow" /> <img
class="arrow"
src="../assets/images/right_arrow.png"
alt="arrow"
title="arrow"
/>
</router-link> </router-link>
<router-link class="entrance" :to="`/PaySlips?sp_id=${sp_id}&id_no=371327198511175134`"> <router-link
<img src="../assets/images/slips_icon.png" alt="我的工资条" title="我的工资条" /> class="entrance"
:to="`/PaySlips?sp_id=${sp_id}&id_no=371327198511175134`"
>
<img
src="../assets/images/slips_icon.png"
alt="我的工资条"
title="我的工资条"
/>
<div> <div>
<h4>我的工资条</h4> <h4>我的工资条</h4>
<p>你可查询发放成功的工资记录</p> <p>你可查询发放成功的工资记录</p>
</div> </div>
<img class="arrow" src="../assets/images/right_arrow.png" alt="arrow" title="arrow" /> <img
class="arrow"
src="../assets/images/right_arrow.png"
alt="arrow"
title="arrow"
/>
</router-link> </router-link>
</div> </van-popup>
</div> </div>
</template> </template>
<script lang='ts'> <script lang='ts'>
import "../assets/css/labor.css"; import "../assets/css/labor.css";
import { Popup } from "vant";
import { Component, Vue } from "vue-property-decorator"; import { Component, Vue } from "vue-property-decorator";
@Component({ @Component({
components: {} components: {
[Popup.name]: Popup
}
}) })
export default class Index extends Vue { export default class Index extends Vue {
private name: string = ""; private name: string = "";
...@@ -79,15 +126,29 @@ export default class Index extends Vue { ...@@ -79,15 +126,29 @@ export default class Index extends Vue {
private id_no: string = ""; private id_no: string = "";
private sp_id: string = ""; private sp_id: string = "";
private ed_id: string = ""; private ed_id: string = "";
private showPopup: boolean = true;
private expand: boolean = true;
get popupStyle() {
if (this.expand) {
return { height: "63%" };
} else {
return { height: "86%" };
}
}
private expand_click() {
this.expand = !this.expand;
}
created() { created() {
// const id_no = this.$route.query.id_no as string; const id_no = this.$route.query.id_no as string;
// this.id_no = window.atob(encodeURI(id_no)); this.id_no = window.atob(encodeURI(id_no));
// this.sp_id = this.$route.query.sp_id as string; this.sp_id = this.$route.query.sp_id as string;
let params = { let params = {
spId: "85", spId: this.sp_id,
idNo: "51090219750505229X" idNo: this.id_no
}; };
console.log(params); console.log(params);
...@@ -101,6 +162,7 @@ export default class Index extends Vue { ...@@ -101,6 +162,7 @@ export default class Index extends Vue {
this.workAddress = res.workAddress; this.workAddress = res.workAddress;
this.position = res.position; this.position = res.position;
this.employeeEntryDate = res.employeeEntryDate; this.employeeEntryDate = res.employeeEntryDate;
this.ed_id = res.id;
}) })
.catch(error => { .catch(error => {
console.log(error); console.log(error);
...@@ -118,7 +180,7 @@ body { ...@@ -118,7 +180,7 @@ body {
} }
.info-card-box { .info-card-box {
width: 100%; width: 100%;
height: 256px; height: 667px;
background: linear-gradient( background: linear-gradient(
180deg, 180deg,
rgba(51, 205, 139, 1) 0%, rgba(51, 205, 139, 1) 0%,
...@@ -177,6 +239,7 @@ body { ...@@ -177,6 +239,7 @@ body {
width: 100%; width: 100%;
height: 24px; height: 24px;
padding-top: 10px; padding-top: 10px;
padding-bottom: 30px;
cursor: pointer; cursor: pointer;
} }
.close-box img { .close-box img {
......
...@@ -42,7 +42,11 @@ ...@@ -42,7 +42,11 @@
v-for="(itemD, indexD) in itemM.list" v-for="(itemD, indexD) in itemM.list"
:key="indexD" :key="indexD"
> >
<a href class="detail"> <a
href="javascript:void(0)"
class="detail"
@click="toDetail_click(itemD.id)"
>
<span class="font2">工资 | {{ itemD.abbrName }}</span> <span class="font2">工资 | {{ itemD.abbrName }}</span>
<span></span> <span></span>
<span class="font2">{{ <span class="font2">{{
...@@ -85,14 +89,18 @@ export default class PaySlips extends Vue { ...@@ -85,14 +89,18 @@ export default class PaySlips extends Vue {
"2029" "2029"
]; ];
private toDetail_click(id: any) {
this.$router.push({ name: "PaySlipsMonth", query: { id: id } });
}
private getSalaryInfo(): void { private getSalaryInfo(): void {
let params = { let params = {
spId: this.$route.query.sp_id, spId: this.$route.query.sp_id,
idNo: "330881199511043934" //localStorage.getItem("id_no") idNo: localStorage.getItem("id_no")
}; };
this.$server.EmployeeService.getSalaryInfo(params) this.$server.EmployeeService.getSalaryInfo(params)
.then(res => { .then(res => {
console.log("res=" + JSON.stringify(res) + "工资条信息"); // console.log("res=" + JSON.stringify(res) + "工资条信息");
this.data = res; this.data = res;
this.changeData(); this.changeData();
console.log("obj=", JSON.stringify(this.obj)); console.log("obj=", JSON.stringify(this.obj));
...@@ -289,6 +297,9 @@ export default class PaySlips extends Vue { ...@@ -289,6 +297,9 @@ export default class PaySlips extends Vue {
</script> </script>
<style lang="less"> <style lang="less">
#main-content {
width: 90%;
}
.pay-item-box2 { .pay-item-box2 {
width: 100%; width: 100%;
} }
......
...@@ -4,22 +4,21 @@ ...@@ -4,22 +4,21 @@
<div class="slips-mid-top"> <div class="slips-mid-top">
<p>实发工资(元)</p> <p>实发工资(元)</p>
<h3> <h3>
current_real_wage <span>{{ Number(obj[0].currentRealWage).toFixed(2) }}</span>
<span>.00</span>
</h3> </h3>
</div> </div>
<div class="slips-mid-bottom"> <div class="slips-mid-bottom">
<p> <p>
<label>收入来源</label> <label>收入来源</label>
<span>abbr_name</span> <span>{{ obj[0].abbrName }}</span>
</p> </p>
<p> <p>
<label>保存账户</label> <label>保存账户</label>
<span>bank_no</span> <span>{{ obj[0].bankNo }}</span>
</p> </p>
<p> <p>
<label>发放时间</label> <label>发放时间</label>
<span>pay_time</span> <span>{{ obj[0].payTime }}</span>
</p> </p>
</div> </div>
</div> </div>
...@@ -29,44 +28,135 @@ ...@@ -29,44 +28,135 @@
<div class="pay-detail-box"> <div class="pay-detail-box">
<p> <p>
<label>本次收入</label> <label>本次收入</label>
<!-- <span>current_real_wage - current_base_old_insurance - current_base_health_insurance - current_unemployment_insurance - current_fund - current_tax_deduction</span> --> <span>{{
<span>1000.00</span> Number(obj[0].currentRealWage) -
Number(obj[0].currentBaseOldInsurance) -
Number(obj[0].currentBaseHealthInsurance) -
Number(obj[0].currentUnemploymentInsurance) -
Number(obj[0].currentFund) -
Number(obj[0].currentTaxDeduction)
}}</span>
</p> </p>
<p> <p>
<label>养老保险</label> <label>养老保险</label>
<span>current_base_old_insurance</span> <span class="green"
>-{{ Number(obj[0].currentBaseOldInsurance).toFixed(2) }}</span
>
</p> </p>
<p> <p>
<label>医疗保险</label> <label>医疗保险</label>
<span>current_base_health_insurance</span> <span class="green"
>-{{ Number(obj[0].currentBaseHealthInsurance).toFixed(2) }}</span
>
</p> </p>
<p> <p>
<label>失业保险</label> <label>失业保险</label>
<span>current_unemployment_insurance</span> <span class="green"
>-{{ Number(obj[0].currentUnemploymentInsurance).toFixed(2) }}</span
>
</p> </p>
<p> <p>
<label>住房公积金</label> <label>住房公积金</label>
<span>current_fund</span> <span class="green"
>-{{ Number(obj[0].currentFund).toFixed(2) }}</span
>
</p> </p>
<p> <p>
<label>代扣个税</label> <label>代扣个税</label>
<span>current_tax_deduction</span> <span class="green"
>-{{ Number(obj[0].currentTaxDeduction).toFixed(2) }}</span
>
</p> </p>
<p class="wages"> <p class="wages">
<label>实发工资</label> <label>实发工资</label>
<span>current_real_wage</span> <span>-{{ Number(obj[0].currentRealWage).toFixed(2) }}</span>
</p> </p>
</div> </div>
</div> </div>
</div> </div>
</template> </template>
<script> <script lang="ts">
import "../assets/css/labor.css"; import "../assets/css/labor.css";
export default {}; import Vue from "vue";
import { Component } from "vue-property-decorator";
@Component({})
export default class PaySlipsMonth extends Vue {
private obj: any = [
{
no: "",
abbrName: "",
currentRealWage: 0,
currentBaseOldInsurance: 0,
cardType: "",
bankNo: "",
currentFund: 0,
payTime: "",
currentIncome: 0,
currentUnemploymentInsurance: 0,
cardNo: "",
currentBaseHealthInsurance: 0,
name: "",
bankName: "",
bankOpen: "",
currentTaxDeduction: 0
}
];
private id: any = "";
private getSalaryInfo(): void {
let params = {
id: this.id
};
this.$server.EmployeeService.getSalaryInfoDetail(params)
.then(res => {
// console.log("res=" + JSON.stringify(res) + "工资条信息");
this.obj = res;
console.log("obj=", JSON.stringify(this.obj));
})
.catch(error => {});
}
init() {
this.id = this.$route.query.id;
this.getSalaryInfo();
// this.obj = {
// rescode: 0,
// data: [
// {
// no: "GZ20200608160345451651972",
// abbrName: "1022服务商Q",
// currentRealWage: 500000,
// current_base_old_insurance: 10000,
// card_type: "居民身份证",
// bank_no: "6214833401590859",
// current_fund: 3000,
// pay_time: "2020-06-08",
// current_income: 650000,
// current_unemployment_insurance: 2000,
// card_no: "330881199511043934",
// current_base_health_insurance: 5000,
// name: "李鹏飞",
// bank_name: "招商银行",
// bank_open: "招商银行中华北大街支行",
// current_tax_deduction: 5000
// }
// ]
// };
}
created() {
console.log("this.id=", this.id);
this.init();
}
}
</script> </script>
<style lang="less"> <style lang="less">
.green {
color: #70b603 !important;
}
</style> </style>
\ No newline at end of file
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
<p>可查看编辑自己的劳务派遣员工档案信息</p> <p>可查看编辑自己的劳务派遣员工档案信息</p>
</div> </div>
</a> </a>
<a class="si-child" id="flex-employee" @click="toFlex"> <a class="si-child" id="flex-employee" @click="toFlex_click">
<img src="../assets/images/agent/flex-employee.png" alt /> <img src="../assets/images/agent/flex-employee.png" alt />
<div class="si-child-desc"> <div class="si-child-desc">
<h4>我是灵活用工员工</h4> <h4>我是灵活用工员工</h4>
...@@ -47,12 +47,14 @@ export default class SelectIdentity extends Vue { ...@@ -47,12 +47,14 @@ export default class SelectIdentity extends Vue {
return this.dispatch_list.length; return this.dispatch_list.length;
} }
private toFlex(): void { private toFlex_click(): void {
if (this.id_no_encrytion) {
this.$router.push({ this.$router.push({
name: "FlexEmployee", name: "FlexEmployee",
query: { id_no: this.id_no_encrytion } query: { id_no: this.id_no_encrytion }
}); });
} }
}
private toIndex(sp_id: string): void { private toIndex(sp_id: string): void {
this.$router.push({ this.$router.push({
...@@ -83,9 +85,12 @@ export default class SelectIdentity extends Vue { ...@@ -83,9 +85,12 @@ export default class SelectIdentity extends Vue {
await this.$server.EmployeeService.getUserInfo({}) await this.$server.EmployeeService.getUserInfo({})
.then(res => { .then(res => {
if (res.data && res.data.uthStatus && res.data.uthStatus > 0) { if (res.data && res.data.uthStatus && res.data.uthStatus > 0) {
console.log(res);
this.id_no = res.data.personalIdCardNo; this.id_no = res.data.personalIdCardNo;
localStorage.setItem("id_no", res.data.personalIdCardNo); localStorage.setItem("id_no", res.data.personalIdCardNo);
localStorage.setItem("name", res.data.personalName); localStorage.setItem("name", res.data.personalName);
localStorage.setItem("sex", res.data.sex);
localStorage.setItem("birthday", res.data.birthday); localStorage.setItem("birthday", res.data.birthday);
} else { } else {
//TODO: 跳转到实名认证 //TODO: 跳转到实名认证
......
...@@ -11,8 +11,8 @@ ...@@ -11,8 +11,8 @@
@childEndDate="childEndDate" @childEndDate="childEndDate"
/> />
<van-field v-model="description" label="工作内容" placeholder="请填写工作内容(非必填)" /> <van-field v-model="description" label="工作内容" placeholder="请填写工作内容(非必填)" />
<div style="margin: 16px;"> <div class="submit_btn">
<van-button round block type="info" native-type="submit" @click="saveWorkInfo">保存</van-button> <van-button type="primary" block @click="saveWorkInfo">保存</van-button>
</div> </div>
</van-form> </van-form>
</div> </div>
...@@ -56,7 +56,6 @@ export default class eduExperience extends Vue { ...@@ -56,7 +56,6 @@ export default class eduExperience extends Vue {
private showStartDate: boolean = false; private showStartDate: boolean = false;
private showEndDate: boolean = false; private showEndDate: boolean = false;
//获取日期组件中的值 //获取日期组件中的值
childStartDate(item: any) { childStartDate(item: any) {
this.workStartDate = item; this.workStartDate = item;
......
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
</div> </div>
</div> </div>
<van-popup v-model="show" position="right" :style="{ height: '100%',width: '100%' }"> <van-popup v-model="show" position="right" :style="{ height: '100%',width: '90%' }">
<van-form> <van-form>
<van-field v-model="obj.contactMobile" label="手机号码" placeholder="请填写手机号码" /> <van-field v-model="obj.contactMobile" label="手机号码" placeholder="请填写手机号码" />
<van-field v-model="obj.contactTelephone" label="固定电话" placeholder="请填写固定电话" /> <van-field v-model="obj.contactTelephone" label="固定电话" placeholder="请填写固定电话" />
...@@ -40,8 +40,8 @@ ...@@ -40,8 +40,8 @@
<van-field v-model="obj.contactPostcode" label="邮政编码" placeholder="请填写邮政编码" /> <van-field v-model="obj.contactPostcode" label="邮政编码" placeholder="请填写邮政编码" />
<van-field v-model="obj.contactCurrentResidence" label="户口所在地" placeholder="请填写户口所在地" /> <van-field v-model="obj.contactCurrentResidence" label="户口所在地" placeholder="请填写户口所在地" />
<van-field v-model="obj.infoRegisteredResidenceCity" label="现在居住地" placeholder="请填写现在居住地" /> <van-field v-model="obj.infoRegisteredResidenceCity" label="现在居住地" placeholder="请填写现在居住地" />
<div style="margin: 16px;"> <div class="submit_btn">
<van-button round block type="info" native-type="submit" @click="updateContactInfo">保存</van-button> <van-button type="primary" block @click="updateContactInfo">保存</van-button>
</div> </div>
</van-form> </van-form>
</van-popup> </van-popup>
...@@ -90,11 +90,14 @@ export default class contactInfo extends Vue { ...@@ -90,11 +90,14 @@ export default class contactInfo extends Vue {
contactTelephone: this.obj.contactTelephone, contactTelephone: this.obj.contactTelephone,
infoRegisteredResidenceCity: this.obj.infoRegisteredResidenceCity infoRegisteredResidenceCity: this.obj.infoRegisteredResidenceCity
}; };
if (!this.obj.contactMobile || !(/^1\d{10}$/.test(this.obj.contactMobile))) { if (!this.obj.contactMobile || !/^1\d{10}$/.test(this.obj.contactMobile)) {
Toast("请填写正确的手机号码"); Toast("请填写正确的手机号码");
return; return;
} }
if (!this.obj.contactTelephone || !(/^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}$/.test(this.obj.contactTelephone))) { if (
!this.obj.contactTelephone ||
!/^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}$/.test(this.obj.contactTelephone)
) {
Toast("请填写正确的固定电话"); Toast("请填写正确的固定电话");
return; return;
} }
...@@ -102,7 +105,10 @@ export default class contactInfo extends Vue { ...@@ -102,7 +105,10 @@ export default class contactInfo extends Vue {
Toast("请填写紧急联系电话"); Toast("请填写紧急联系电话");
return; return;
} }
if (!this.obj.contactPostcode || !(/^[0-9]\d{5}(?!\d)$/.test(this.obj.contactPostcode))) { if (
!this.obj.contactPostcode ||
!/^[0-9]\d{5}(?!\d)$/.test(this.obj.contactPostcode)
) {
Toast("请填写正确的邮政编码"); Toast("请填写正确的邮政编码");
return; return;
} }
...@@ -119,7 +125,7 @@ export default class contactInfo extends Vue { ...@@ -119,7 +125,7 @@ export default class contactInfo extends Vue {
if (res == true) { if (res == true) {
Toast.success("保存成功"); Toast.success("保存成功");
this.show = false; this.show = false;
}else{ } else {
Toast.success(res.message); Toast.success(res.message);
} }
}) })
......
...@@ -25,8 +25,8 @@ ...@@ -25,8 +25,8 @@
@childStartDate="childStartDate" @childStartDate="childStartDate"
@childEndDate="childEndDate" @childEndDate="childEndDate"
/> />
<div style="margin: 16px;"> <div class="submit_btn">
<van-button round block type="info" native-type="submit" @click="addEduInfo">保存</van-button> <van-button type="primary" block @click="addEduInfo">保存</van-button>
</div> </div>
</van-form> </van-form>
</div> </div>
......
...@@ -25,11 +25,9 @@ ...@@ -25,11 +25,9 @@
@childStartDate="childStartDate" @childStartDate="childStartDate"
@childEndDate="childEndDate" @childEndDate="childEndDate"
/> />
<div style="margin: 16px;"> <div class="edu_button">
<van-button round block type="info" native-type="submit" @click="updateEduInfo">修改</van-button> <div @click="updateEduInfo">修改</div>
</div> <div @click="deleteEduInfo">删除</div>
<div style="margin: 16px;">
<van-button round block type="info" native-type="submit" @click="deleteEduInfo">删除</van-button>
</div> </div>
</van-form> </van-form>
</div> </div>
...@@ -101,11 +99,10 @@ export default class eduExperience extends Vue { ...@@ -101,11 +99,10 @@ export default class eduExperience extends Vue {
id: this.childItem.id, id: this.childItem.id,
major: this.childItem.major major: this.childItem.major
}; };
this.$server.EmployeeService.updateEduExperience(params) this.$server.EmployeeService.updateEduExperience(params).then(res => {
.then(res => {
Toast.success("修改成功"); Toast.success("修改成功");
this.$emit("popupShow"); this.$emit("popupShow");
}) });
} }
//删除 //删除
deleteEduInfo() { deleteEduInfo() {
...@@ -133,4 +130,48 @@ export default class eduExperience extends Vue { ...@@ -133,4 +130,48 @@ export default class eduExperience extends Vue {
} }
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.edu_button {
display: flex;
position: absolute;
bottom: 0;
width: 100%;
height: 50px;
align-items: center;
&::before {
position: absolute;
box-sizing: border-box;
content: " ";
pointer-events: none;
right: 0;
bottom: 50px;
left: 0;
border-bottom: 0.02667rem solid #ebedf0;
-webkit-transform: scaleY(0.5);
-ms-transform: scaleY(0.5);
transform: scaleY(0.5);
}
div {
background: white;
width: 50%;
text-align: center;
font-size: 14px;
color: #666;
&:last-child {
color: #fc3e30;
&::before {
position: absolute;
box-sizing: border-box;
content: " ";
width: 1px;
height: 50px;
background: #ebedf0;
left: 50%;
top: 0;
-webkit-transform: scaleY(0.5);
-ms-transform: scaleY(0.5);
transform: scaleY(0.5);
}
}
}
}
</style> </style>
\ No newline at end of file
...@@ -52,11 +52,7 @@ ...@@ -52,11 +52,7 @@
@click="showBirthplace = true" @click="showBirthplace = true"
/> />
<van-popup v-model="showBirthplace" position="bottom"> <van-popup v-model="showBirthplace" position="bottom">
<van-area <city-list @childCityList="birthCity" />
:area-list="areaList"
@confirm="onConfirmBirthplace"
@cancel="showArea = false"
/>
</van-popup> </van-popup>
<!-- 民族 --> <!-- 民族 -->
<!-- <van-field <!-- <van-field
...@@ -74,8 +70,8 @@ ...@@ -74,8 +70,8 @@
@confirm="onConfirmNation" @confirm="onConfirmNation"
@cancel="showNation = false" @cancel="showNation = false"
/> />
</van-popup> --> </van-popup>-->
<popup-picker :label="label"/> <popup-picker :label="label" />
<!-- 政治面貌 --> <!-- 政治面貌 -->
<van-field <van-field
readonly readonly
...@@ -154,33 +150,29 @@ ...@@ -154,33 +150,29 @@
@click="showFile = true" @click="showFile = true"
/> />
<van-popup v-model="showFile" position="bottom"> <van-popup v-model="showFile" position="bottom">
<van-picker <city-list @childCityList="localCity" />
show-toolbar
:columns="columns.maternity"
@confirm="onConfirmFile"
@cancel="showFile = false"
/>
</van-popup> </van-popup>
<!-- 开始工作时间 --> <!-- 开始工作时间 -->
<!-- <van-field <van-field
readonly readonly
clickable clickable
:value="obj.infoWorkStartDate" :value="obj.infoWorkStartDate"
label="开始工作时间" label="开始工作时间"
placeholder="请选择" placeholder="请选择"
@click="showMaternity = true" @click="showWorkStartDate = true"
/> />
<van-popup v-model="showMaternity" position="bottom"> <van-popup v-model="showWorkStartDate" position="bottom">
<van-picker <van-datetime-picker
show-toolbar v-model="currentDate"
:columns="columns.maternity" type="date"
title="选择年月日"
@confirm="onConfirmWorkDate" @confirm="onConfirmWorkDate"
@cancel="showMaternity = false" @cancel="showWorkStartDate = false"
/> />
</van-popup> --> </van-popup>
</van-form> </van-form>
<div style="margin: 16px;"> <div class="submit_btn">
<van-button round block type="info" native-type="submit" @click="updatePersonInfo">保存</van-button> <van-button type="primary" block @click="updatePersonInfo">保存</van-button>
</div> </div>
</van-popup> </van-popup>
</div> </div>
...@@ -188,34 +180,46 @@ ...@@ -188,34 +180,46 @@
<script lang="ts"> <script lang="ts">
import Vue from "vue"; import Vue from "vue";
import { Icon, Button, Popup, Form, Picker, Field, Area, Toast } from "vant"; import {
import { Component,Prop } from "vue-property-decorator"; Icon,
import popupPicker from "@/components/common/popupPicker.vue" Button,
// import AreaList from "@/assets/js/area.js"; Popup,
Form,
Picker,
Field,
DatetimePicker,
Toast
} from "vant";
import { Component, Prop } from "vue-property-decorator";
import popupPicker from "@/components/common/popupPicker.vue";
import cityList from "@/components/common/cityList.vue";
import dateSelect from "@/components/common/dateSelect.vue";
import { formatDate } from "../../utils/public";
@Component({ @Component({
components: { components: {
[Button.name]: Button, [Button.name]: Button,
[Icon.name]: Icon, [Icon.name]: Icon,
[Popup.name]: Popup, [Popup.name]: Popup,
[Picker.name]: Picker, [Picker.name]: Picker,
[DatetimePicker.name]: DatetimePicker,
[Field.name]: Field, [Field.name]: Field,
// [Area.name]: Area,
[Form.name]: Form, [Form.name]: Form,
popupPicker popupPicker,
cityList
} }
}) })
export default class personInfo extends Vue { export default class personInfo extends Vue {
//获取父组件中的isEdit //获取父组件中的isEdit
@Prop({ @Prop({
type:String, type: String,
required:true, required: true,
default:'' default: ""
}) isEdit !:string })
isEdit!: string;
private obj: any = {}; private obj: any = {};
private show: boolean = false; private show: boolean = false;
private label: any = "民族"; private label: any = "民族";
// private areaList: object = AreaList;
private showBirthplace: boolean = false; private showBirthplace: boolean = false;
private showNation: boolean = false; private showNation: boolean = false;
private showPolitical: boolean = false; private showPolitical: boolean = false;
...@@ -224,7 +228,7 @@ export default class personInfo extends Vue { ...@@ -224,7 +228,7 @@ export default class personInfo extends Vue {
private showMaternity: boolean = false; private showMaternity: boolean = false;
private showFile: boolean = false; private showFile: boolean = false;
private showWorkStartDate: boolean = false; private showWorkStartDate: boolean = false;
private areaList: object = {}; private currentDate: Date = new Date();
private columns: any = { private columns: any = {
nation: ["汉族", "回族", "蒙古族"], nation: ["汉族", "回族", "蒙古族"],
political: ["群众", "共青团员", "预备党员", "中共党员", "其他"], political: ["群众", "共青团员", "预备党员", "中共党员", "其他"],
...@@ -249,19 +253,18 @@ export default class personInfo extends Vue { ...@@ -249,19 +253,18 @@ export default class personInfo extends Vue {
let params = { let params = {
edId: this.$route.query.ed_id edId: this.$route.query.ed_id
}; };
console.log("props="+this.$props.isEdit)
this.$server.EmployeeService.getPersonInfo(params) this.$server.EmployeeService.getPersonInfo(params)
.then(res => { .then(res => {
this.obj = res; this.obj = res;
console.log(res);
}) })
.catch(error => {});
} }
editInfo(): void { editInfo(): void {
this.show = true; this.show = true;
} }
//出生地 //出生地
onConfirmBirthplace(values: any) { birthCity(values: any) {
this.obj.infoBirthCity = values.map((item: any) => item.name).join("/"); this.obj.infoBirthCity = values.join("/");
this.showBirthplace = false; this.showBirthplace = false;
} }
//民族 //民族
...@@ -290,13 +293,13 @@ export default class personInfo extends Vue { ...@@ -290,13 +293,13 @@ export default class personInfo extends Vue {
this.showMaternity = false; this.showMaternity = false;
} }
//档案所在地 //档案所在地
onConfirmFile(value: any) { localCity(values: any) {
this.obj.infoFileLocation = value; this.obj.infoFileLocation = values.join("/");
this.showFile = false; this.showFile = false;
} }
//开始工作时间 //开始工作时间
onConfirmWorkDate(value: any) { onConfirmWorkDate(value: any) {
this.obj.infoWorkStartDate = value; this.obj.infoWorkStartDate = formatDate(value, "yyyy-MM-dd");
this.showWorkStartDate = false; this.showWorkStartDate = false;
} }
updatePersonInfo() { updatePersonInfo() {
...@@ -313,7 +316,6 @@ export default class personInfo extends Vue { ...@@ -313,7 +316,6 @@ export default class personInfo extends Vue {
}; };
this.$server.EmployeeService.savePersonInfo(params) this.$server.EmployeeService.savePersonInfo(params)
.then(res => { .then(res => {
console.log(res);
Toast.success("保存成功"); Toast.success("保存成功");
this.show = false; this.show = false;
}) })
...@@ -321,6 +323,8 @@ export default class personInfo extends Vue { ...@@ -321,6 +323,8 @@ export default class personInfo extends Vue {
console.log(error); console.log(error);
}); });
} }
} }
</script> </script>
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
<label>{{obj.unitPreEmploymentStatus}}</label> <label>{{obj.unitPreEmploymentStatus}}</label>
</div> </div>
</div> </div>
<van-popup v-model="show" position="right" :style="{ height: '100%',width: '100%' }"> <van-popup v-model="show" position="right" :style="{ height: '100%',width: '90%' }">
<van-form> <van-form>
<!-- <van-field v-model="obj.infoRegisteredResidence" label="户口性质" placeholder="请选择户口性质" /> --> <!-- <van-field v-model="obj.infoRegisteredResidence" label="户口性质" placeholder="请选择户口性质" /> -->
<van-field <van-field
...@@ -93,15 +93,8 @@ ...@@ -93,15 +93,8 @@
placeholder="请选择" placeholder="请选择"
@click="showEmploymentStatus = true" @click="showEmploymentStatus = true"
/> />
<div class="submit_btn">
<div style="margin: 16px;"> <van-button type="primary" block @click="updateContactInfo_click">保存</van-button>
<van-button
round
block
type="info"
native-type="submit"
@click="updateContactInfo_click"
>保存</van-button>
</div> </div>
<!-- 户口性质 --> <!-- 户口性质 -->
...@@ -133,12 +126,7 @@ ...@@ -133,12 +126,7 @@
</van-popup> </van-popup>
<!-- 原社保缴纳省市 --> <!-- 原社保缴纳省市 -->
<van-popup v-model="showSocialCity" position="bottom"> <van-popup v-model="showSocialCity" position="bottom">
<van-picker <city-list @childCityList="socialCity" />
show-toolbar
:columns="columns.socialCity"
@confirm="onConfirmSocialCity"
@cancel="showSocialCity = false"
/>
</van-popup> </van-popup>
<!-- 与原单位关系 --> <!-- 与原单位关系 -->
<van-popup v-model="showRelationUnit" position="bottom"> <van-popup v-model="showRelationUnit" position="bottom">
...@@ -167,6 +155,7 @@ ...@@ -167,6 +155,7 @@
import Vue from "vue"; import Vue from "vue";
import { Button, Icon, Popup, Form, Picker, Field, Toast } from "vant"; import { Button, Icon, Popup, Form, Picker, Field, Toast } from "vant";
import { Component } from "vue-property-decorator"; import { Component } from "vue-property-decorator";
import cityList from "@/components/common/cityList.vue";
@Component({ @Component({
components: { components: {
...@@ -175,7 +164,8 @@ import { Component } from "vue-property-decorator"; ...@@ -175,7 +164,8 @@ import { Component } from "vue-property-decorator";
[Popup.name]: Popup, [Popup.name]: Popup,
[Form.name]: Form, [Form.name]: Form,
[Picker.name]: Picker, [Picker.name]: Picker,
[Field.name]: Field [Field.name]: Field,
cityList
} }
}) })
export default class socialInfo extends Vue { export default class socialInfo extends Vue {
...@@ -249,72 +239,13 @@ export default class socialInfo extends Vue { ...@@ -249,72 +239,13 @@ export default class socialInfo extends Vue {
this.showEmploymentStatus = false; this.showEmploymentStatus = false;
} }
private getCityList(): void {
this.$server.EmployeeService.getCityList({})
.then(res => {
// console.log("citylist", res);
this.city = res;
for (let i = 0; i < this.city.length; i++) {
if (this.city[i].parentId == 0) {
this.parents.push(this.city[i]);
}
if (this.city[i].parentId != 0) {
this.childrens.push(this.city[i]);
}
}
//没有父节点的数据
// console.log(this.parents);
//有父节点的数据
// console.log(this.childrens);
this.parents.forEach((parent:any) => {
this.childrens.forEach((children:any) =>{
if(parent.id==children.parentId){
// console.log(parent.name+parent.id+"++"+children.name+children.parentId)
}
})
});
// https://blog.csdn.net/MySunshine07/article/details/104960244?utm_medium=distribute.pc_relevant.none-task-blog-baidujs-1
// let fliterEvent = (parents:any, childrens:any) => {
// parents.forEach(parent => {
// childrens.forEach((current:any, index:any) => {
// if (current.parentId === parent.id) {
// let temp = JSON.parse(JSON.stringify(children));
// temp.splice(index, 1);
// fliterEvent([current], temp);
// typeof parent.children !== "undefined"
// ? parent.children.push(current)
// : (parent.children = [current]);
// }
// });
// });
// };
// function translator(parents, childrens) {
// fliterEvent(parents, childrens);
// return parents;
// }
})
.catch(error => {
console.log(error);
});
}
private getSocialInfo(): void { private getSocialInfo(): void {
let params = { let params = {
edId: this.$route.query.ed_id edId: this.$route.query.ed_id
}; };
this.$server.EmployeeService.getSocialInfo(params) this.$server.EmployeeService.getSocialInfo(params).then(res => {
.then(res => {
// console.log("res=" + JSON.stringify(res)+'社保信息');
this.obj = res; this.obj = res;
}) });
.catch(error => {});
} }
private getSalaryInfo(): void { private getSalaryInfo(): void {
...@@ -327,13 +258,9 @@ export default class socialInfo extends Vue { ...@@ -327,13 +258,9 @@ export default class socialInfo extends Vue {
}; };
console.log(params); console.log(params);
this.$server.EmployeeService.getSalaryInfo(params) this.$server.EmployeeService.getSalaryInfo(params).then(res => {
.then(res => {
// console.log("res=" + JSON.stringify(res)+'工资条');
this.obj = res; this.obj = res;
}) });
.catch(error => {});
} }
editInfo(): void { editInfo(): void {
...@@ -391,17 +318,21 @@ export default class socialInfo extends Vue { ...@@ -391,17 +318,21 @@ export default class socialInfo extends Vue {
console.log(error); console.log(error);
}); });
} }
socialCity(values: any) {
this.obj.unitPreSocialCity = values.join("/");
this.showSocialCity = false;
}
created() { created() {
this.getSalaryInfo(); this.getSalaryInfo();
this.getSocialInfo(); this.getSocialInfo();
this.getCityList();
} }
} }
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.content /deep/ .van-field__label{
width: 110px;
}
.content { .content {
margin-top: 10px; margin-top: 10px;
background: white; background: white;
......
...@@ -19,14 +19,13 @@ ...@@ -19,14 +19,13 @@
<label>{{obj.expertiseQualification}}</label> <label>{{obj.expertiseQualification}}</label>
</div> </div>
</div> </div>
<van-popup v-model="show" position="right" :style="{ height: '100%',width: '100%' }"> <van-popup v-model="show" position="right" :style="{ height: '100%',width: '90%' }">
<van-form> <van-form>
<van-field v-model="obj.expertiseTechnologySpecialty" label="技术特长" placeholder="请填写技术特长" /> <van-field v-model="obj.expertiseTechnologySpecialty" label="技术特长" placeholder="请填写技术特长" />
<van-field v-model="obj.expertiseTechnologyTitle" label="技术职称" placeholder="请填写技术职称" /> <van-field v-model="obj.expertiseTechnologyTitle" label="技术职称" placeholder="请填写技术职称" />
<van-field v-model="obj.expertiseQualification" label="资格证书" placeholder="请填写资格证书" /> <van-field v-model="obj.expertiseQualification" label="资格证书" placeholder="请填写资格证书" />
<div class="submit_btn">
<div style="margin: 16px;"> <van-button type="primary" block @click="updateContactInfo">保存</van-button>
<van-button round block type="info" native-type="submit" @click="updateContactInfo">保存</van-button>
</div> </div>
</van-form> </van-form>
</van-popup> </van-popup>
......
...@@ -11,11 +11,9 @@ ...@@ -11,11 +11,9 @@
@childEndDate="childEndDate" @childEndDate="childEndDate"
/> />
<van-field v-model="childItem.description" label="工作内容" placeholder="请填写工作内容(非必填)" /> <van-field v-model="childItem.description" label="工作内容" placeholder="请填写工作内容(非必填)" />
<div style="margin: 16px;"> <div class="work_button">
<van-button round block type="info" native-type="submit" @click="updateEduInfo">修改</van-button> <div @click="updateWorkInfo">修改</div>
</div> <div @click="deleteWorkInfo">删除</div>
<div style="margin: 16px;">
<van-button round block type="info" native-type="submit" @click="deleteEduInfo">删除</van-button>
</div> </div>
</van-form> </van-form>
</div> </div>
...@@ -70,7 +68,7 @@ export default class eduExperience extends Vue { ...@@ -70,7 +68,7 @@ export default class eduExperience extends Vue {
this.childItem.workEndDate = item; this.childItem.workEndDate = item;
} }
//修改 //修改
updateEduInfo() { updateWorkInfo() {
let params = { let params = {
description: this.childItem.description, description: this.childItem.description,
edId: this.childItem.id, edId: this.childItem.id,
...@@ -85,7 +83,7 @@ export default class eduExperience extends Vue { ...@@ -85,7 +83,7 @@ export default class eduExperience extends Vue {
}); });
} }
//删除 //删除
deleteEduInfo() { deleteWorkInfo() {
let params = { let params = {
edId: this.childItem.id edId: this.childItem.id
}; };
...@@ -102,4 +100,48 @@ export default class eduExperience extends Vue { ...@@ -102,4 +100,48 @@ export default class eduExperience extends Vue {
} }
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.work_button {
display: flex;
position: absolute;
bottom: 0;
width: 100%;
height: 50px;
align-items: center;
&::before {
position: absolute;
box-sizing: border-box;
content: " ";
pointer-events: none;
right: 0;
bottom: 50px;
left: 0;
border-bottom: 0.02667rem solid #ebedf0;
-webkit-transform: scaleY(0.5);
-ms-transform: scaleY(0.5);
transform: scaleY(0.5);
}
div {
background: white;
width: 50%;
text-align: center;
font-size: 14px;
color: #666;
&:last-child {
color: #fc3e30;
&::before {
position: absolute;
box-sizing: border-box;
content: " ";
width: 1px;
height: 50px;
background: #ebedf0;
left: 50%;
top: 0;
-webkit-transform: scaleY(0.5);
-ms-transform: scaleY(0.5);
transform: scaleY(0.5);
}
}
}
}
</style> </style>
\ No newline at end of file
...@@ -23,14 +23,14 @@ ...@@ -23,14 +23,14 @@
<label>{{obj.bankNo}}</label> <label>{{obj.bankNo}}</label>
</div> </div>
</div> </div>
<van-popup v-model="show" position="right" :style="{ height: '100%',width: '100%' }"> <van-popup v-model="show" position="right" :style="{ height: '100%',width: '90%' }">
<van-form> <van-form>
<van-field v-model="obj.bankAccount" label="账户名称" placeholder="请填写账户名称" /> <van-field v-model="obj.bankAccount" label="账户名称" placeholder="请填写账户名称" />
<van-field v-model="obj.bankName" label="银行名称" placeholder="请填写银行名称" /> <van-field v-model="obj.bankName" label="银行名称" placeholder="请填写银行名称" />
<van-field v-model="obj.bankOpen" label="开户行" placeholder="请填写开户行" /> <van-field v-model="obj.bankOpen" label="开户行" placeholder="请填写开户行" />
<van-field v-model="obj.bankNo" label="银行卡号" placeholder="请填写银行卡号" /> <van-field v-model="obj.bankNo" label="银行卡号" placeholder="请填写银行卡号" />
<div style="margin: 16px;"> <div class="submit_btn">
<van-button round block type="info" native-type="submit" @click="updateCardInfo">保存</van-button> <van-button type="primary" block @click="updateCardInfo">保存</van-button>
</div> </div>
</van-form> </van-form>
</van-popup> </van-popup>
......
...@@ -40,9 +40,24 @@ import { Component } from "vue-property-decorator"; ...@@ -40,9 +40,24 @@ import { Component } from "vue-property-decorator";
} }
}) })
export default class workInfo extends Vue { export default class workInfo extends Vue {
obj:object={} obj: object = {};
// @Emit('bindSend') send(msg: string){}; sortKey(array: any, key: any) {
return array.sort(function(a: any, b: any) {
var x = a[key];
var y = b[key];
return x > y ? -1 : x < y ? 1 : 0;
});
}
created() {
let params = {
spId: this.$route.query.sp_id,
idNo: this.$route.query.id_no
};
this.$server.EmployeeService.getDispatchInfo(params).then(res => {
console.log("res=======" + JSON.stringify(res.workData));
this.sortKey(res.workDat, "");
});
}
} }
</script> </script>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment