Commit 012856c6 by xws

up

parents 47043396 6bd7a7d2
......@@ -55,4 +55,9 @@ a,button{
outline: none;
text-decoration: none;
-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 {
}
onConfirm(values: any) {
console.log(values);
console.log(values)
this.$emit('childCityList',values)
}
}
</script>
......
......@@ -2,6 +2,7 @@
* 员工相关接口
*/
export interface EmployeeInterface {
<<<<<<< HEAD
getUserInfo(params: any): Promise<any>;
getCityList(params: any): Promise<any>; // 获取城市列表
getDispatchList(params: any): Promise<any>; //根据身份证获取用户所属派遣公司列表
......@@ -34,4 +35,38 @@ export interface EmployeeInterface {
tranFiles(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 {
/**
*
* 通过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
*/
......
......@@ -553,3 +553,4 @@ export function toMoney(num:any,isSymbol:boolean=true,isConvertPoint:any=false){
}
}
......@@ -5,8 +5,8 @@
<i>18821992017</i>
</div>
<div class="header">
<div class="header_name">哈撒剋</div>
<div class="header_info">女|1888-01-01</div>
<div class="header_name">{{employee_name}}</div>
<div class="header_info">{{employee_sex}}|{{employee_birthday}}</div>
</div>
<work-info />
<person-info :isEdit="isEdit" />
......@@ -53,7 +53,15 @@ import archiveQuestion from "./archives/archiveQuestion.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>
......
......@@ -9,71 +9,85 @@
<p>{{ birthday }}</p>
</div>
</div>
<div class="person-information-bottom">
<div
class="person-information-bottom-child"
id="person-information-yjrw"
>
<h3>{{ accept_work }}</h3>
<p>已接任务</p>
</div>
<div
class="person-information-bottom-child"
id="person-information-wcrw"
>
<h3>{{ perform_work }}</h3>
<p>完成任务</p>
</div>
<div
class="person-information-bottom-child"
id="person-information-ysbc"
>
<h3>{{ Payment_receivable }}</h3>
<p>应收报酬</p>
</div>
<div
class="person-information-bottom-child"
id="person-information-yysbc"
>
<h3>{{ receive_receivable }}</h3>
<p>已收报酬</p>
</div>
<div class="info-card-bottom">
<p>
<label>已接任务</label>
<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
>
</p>
<p>
<label>已收报酬</label>
<span
>{{
receive_receivable ? Number(receive_receivable).toFixed(2) : 0.0
}}</span
>
</p>
</div>
</div>
<div class="green-bg">
<div class="fe-list-box">
<div class="fe-list-title">
<h3>任务记录</h3>
</div>
<a
class="fe-list-child"
href="javascript:void(0)"
v-for="item in taskRecordList"
:key="item.id"
@click="toDetail(item.id)"
>
<div class="fe-list-child-left">
<h3>
{{
item.title.length > 20
? item.title.substring(0, 19) + "..."
: item.title
}}
</h3>
<p>{{ item.createTime | format }}</p>
<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" />
</div>
<div class="green-bg">
<div class="fe-list-box">
<div class="fe-list-title">
<h3>任务记录</h3>
</div>
<div class="fe-list-child-right">
<div class="fe-list-child-right-desc">
<h3>{{ Number(item.paidSalary / 100).toFixed(2) }}</h3>
<p :style="matchColor(item.billStatus)">
{{ item.billStatus }}
</p>
<a
class="fe-list-child"
href="javascript:void(0)"
v-for="item in taskRecordList"
:key="item.id"
@click="toDetail(item.id)"
>
<div class="fe-list-child-left">
<h3>
{{
item.title.length > 20
? item.title.substring(0, 19) + "..."
: item.title
}}
</h3>
<p>{{ item.createTime | format }}</p>
</div>
<img src="../assets/images/agent/next_gray.png" alt />
</div>
</a>
<div class="fe-list-child-right">
<div class="fe-list-child-right-desc">
<h3>
{{
Number(item.paidSalary)
? Number(item.paidSalary).toFixed(2)
: 0.0
}}
</h3>
<p :style="matchColor(item.billStatus)">
{{ item.billStatus }}
</p>
</div>
<img src="../assets/images/agent/next_gray.png" alt />
</div>
</a>
</div>
</div>
</div>
</van-popup>
</div>
<div class="empty_data" v-if="showList == 0">
<p>
......@@ -81,22 +95,18 @@
<br />暂无相关记录
</p>
</div>
<div class="white_slide"></div>
</div>
</template>
<script lang='ts'>
import { Popup } from "vant";
import { Component, Vue } from "vue-property-decorator";
// import { toMoney, formatDate, isNull } from "../utils/public";
@Component({
// filters: {
// money: (value: String, isSymbol: boolean, isConvertPoint: boolean) =>
// toMoney(value, isSymbol, isConvertPoint),
// format: (value: String, pattern: String) => {
// return value.replace(/\d{2}:\d{2}:\d{2}/i, "");
// },
// isEmpty: (value: string) => isNull(value)
// }
components: {
[Popup.name]: Popup
}
})
export default class FlexEmployee extends Vue {
private name: string = ""; //入参
......@@ -109,7 +119,19 @@ export default class FlexEmployee extends Vue {
private fullName: string = "";
private taskRecordList: any = null;
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 {
this.$router.push({ name: "FlexEmployeeDetial", query: { id } });
}
......@@ -132,7 +154,6 @@ export default class FlexEmployee extends Vue {
this.name = localStorage.getItem("name") as string;
this.birthday = localStorage.getItem("birthday") as string;
const idNo = window.atob(decodeURI(String(this.$route.query.id_no)));
console.log("idNo=", idNo);
let params = {
idNo: idNo //371327198511175134
};
......@@ -140,14 +161,22 @@ export default class FlexEmployee extends Vue {
console.log("res=", res);
this.accept_work = res.alCount; // 已接任务
this.perform_work = res.comCount; // 完成任务
this.Payment_receivable = res.receivableSalary.toFixed(2); // 应收报酬
this.receive_receivable = res.receivedSalary.toFixed(2); // 已收报酬
this.Payment_receivable = res.receivableSalary
? res.receivableSalary.toFixed(2)
: 0.0; // 应收报酬
this.receive_receivable = res.receivedSalary
? res.receivedSalary.toFixed(2)
: 0.0; // 已收报酬
this.taskRecordList = res.taskList; // 任务记录
this.taskRecordList.length > 0
? (this.showList = 1)
: (this.showList = 0);
console.log("taskRecordList=", this.taskRecordList);
if (this.taskRecordList.length >= 3) {
this.expand = false;
} else {
this.expand = true;
}
localStorage.setItem("taskList", JSON.stringify(res.taskList));
});
}
......@@ -155,6 +184,22 @@ export default class FlexEmployee extends Vue {
</script>
<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 {
position: absolute;
top: 0;
......@@ -170,19 +215,10 @@ export default class FlexEmployee extends Vue {
text-align: center;
margin-top: 256px;
}
.green-bg {
background-color: #19b370;
position: absolute;
top: 180px;
bottom: 0px;
left: 0px;
right: 0px;
overflow: auto;
}
.person-information {
background-color: #19b370;
width: 100%;
height: 180px;
padding: 20px 16px 0 16px;
}
.person-information-top {
......@@ -300,4 +336,17 @@ export default class FlexEmployee extends Vue {
text-align: right;
// 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>
\ No newline at end of file
......@@ -2,7 +2,7 @@
<div class="fe-detial-box">
<div class="fe-detial-top">
<h4>任务报酬</h4>
<h3>+{{ (item.paidSalary / 100).toFixed(2) }}</h3>
<h3>+{{ item.paidSalary.toFixed(2) }}</h3>
<p :style="matchColor(item.status)">{{ item.status }}</p>
</div>
<div class="fe-detial-bottom">
......
......@@ -3,71 +3,118 @@
<div class="info-card-box">
<div class="info-card-top">
<div class="info-card-top-left">
<h4>{{name}}</h4>
<p>{{birthday}}</p>
<h4>{{ name }}</h4>
<p>{{ birthday }}</p>
</div>
</div>
<div class="info-card-bottom">
<p>
<label>用工单位</label>
<span>{{ceFullName}}</span>
<span>{{ ceFullName }}</span>
</p>
<p>
<label>工作地点</label>
<span>{{workAddress}}</span>
<span>{{ workAddress }}</span>
</p>
<p>
<label>工作职位</label>
<span>{{position}}</span>
<span>{{ position }}</span>
</p>
<p>
<label>入职时间</label>
<span>{{employeeEntryDate}}</span>
<span>{{ employeeEntryDate }}</span>
</p>
</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" />
</div>
<router-link 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="我的档案" />
<router-link
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>
<h4>我的档案</h4>
<p>档案已确认,如果需要更改信息请联系客服</p>
<p>你的信息不完整,请先补充信息</p>
</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 class="entrance entrance-border" :to="`/Information?ed_id=${ed_id}`">
<img src="../assets/images/information_icon.png" alt="我的资料" title="我的资料" />
<router-link
class="entrance entrance-border"
:to="`/Information?ed_id=${ed_id}`"
>
<img
src="../assets/images/information_icon.png"
alt="我的资料"
title="我的资料"
/>
<div>
<h4>我提交的资料</h4>
<p>你可查询上传的附件信息</p>
</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 class="entrance" :to="`/PaySlips?sp_id=${sp_id}&id_no=371327198511175134`">
<img src="../assets/images/slips_icon.png" alt="我的工资条" title="我的工资条" />
<router-link
class="entrance"
:to="`/PaySlips?sp_id=${sp_id}&id_no=371327198511175134`"
>
<img
src="../assets/images/slips_icon.png"
alt="我的工资条"
title="我的工资条"
/>
<div>
<h4>我的工资条</h4>
<p>你可查询发放成功的工资记录</p>
</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>
</div>
</van-popup>
</div>
</template>
<script lang='ts'>
import "../assets/css/labor.css";
import { Popup } from "vant";
import { Component, Vue } from "vue-property-decorator";
@Component({
components: {}
components: {
[Popup.name]: Popup
}
})
export default class Index extends Vue {
private name: string = "";
......@@ -79,18 +126,32 @@ export default class Index extends Vue {
private id_no: string = "";
private sp_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() {
// const id_no = this.$route.query.id_no as string;
// this.id_no = window.atob(encodeURI(id_no));
// this.sp_id = this.$route.query.sp_id as string;
const id_no = this.$route.query.id_no as string;
this.id_no = window.atob(encodeURI(id_no));
this.sp_id = this.$route.query.sp_id as string;
let params = {
spId: "85",
idNo: "51090219750505229X"
spId: this.sp_id,
idNo: this.id_no
};
console.log(params);
// 通过身份证号和派遣公司ID拿到派遣员工的信息(劳务派遣首页数据)
this.$server.EmployeeService.getDispatchInfo(params)
.then(res => {
......@@ -101,6 +162,7 @@ export default class Index extends Vue {
this.workAddress = res.workAddress;
this.position = res.position;
this.employeeEntryDate = res.employeeEntryDate;
this.ed_id = res.id;
})
.catch(error => {
console.log(error);
......@@ -118,7 +180,7 @@ body {
}
.info-card-box {
width: 100%;
height: 256px;
height: 667px;
background: linear-gradient(
180deg,
rgba(51, 205, 139, 1) 0%,
......@@ -177,6 +239,7 @@ body {
width: 100%;
height: 24px;
padding-top: 10px;
padding-bottom: 30px;
cursor: pointer;
}
.close-box img {
......
......@@ -42,7 +42,11 @@
v-for="(itemD, indexD) in itemM.list"
: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></span>
<span class="font2">{{
......@@ -85,14 +89,18 @@ export default class PaySlips extends Vue {
"2029"
];
private toDetail_click(id: any) {
this.$router.push({ name: "PaySlipsMonth", query: { id: id } });
}
private getSalaryInfo(): void {
let params = {
spId: this.$route.query.sp_id,
idNo: "330881199511043934" //localStorage.getItem("id_no")
idNo: localStorage.getItem("id_no")
};
this.$server.EmployeeService.getSalaryInfo(params)
.then(res => {
console.log("res=" + JSON.stringify(res) + "工资条信息");
// console.log("res=" + JSON.stringify(res) + "工资条信息");
this.data = res;
this.changeData();
console.log("obj=", JSON.stringify(this.obj));
......@@ -289,6 +297,9 @@ export default class PaySlips extends Vue {
</script>
<style lang="less">
#main-content {
width: 90%;
}
.pay-item-box2 {
width: 100%;
}
......
......@@ -4,22 +4,21 @@
<div class="slips-mid-top">
<p>实发工资(元)</p>
<h3>
current_real_wage
<span>.00</span>
<span>{{ Number(obj[0].currentRealWage).toFixed(2) }}</span>
</h3>
</div>
<div class="slips-mid-bottom">
<p>
<label>收入来源</label>
<span>abbr_name</span>
<span>{{ obj[0].abbrName }}</span>
</p>
<p>
<label>保存账户</label>
<span>bank_no</span>
<span>{{ obj[0].bankNo }}</span>
</p>
<p>
<label>发放时间</label>
<span>pay_time</span>
<span>{{ obj[0].payTime }}</span>
</p>
</div>
</div>
......@@ -29,44 +28,135 @@
<div class="pay-detail-box">
<p>
<label>本次收入</label>
<!-- <span>current_real_wage - current_base_old_insurance - current_base_health_insurance - current_unemployment_insurance - current_fund - current_tax_deduction</span> -->
<span>1000.00</span>
<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>
<label>养老保险</label>
<span>current_base_old_insurance</span>
<span class="green"
>-{{ Number(obj[0].currentBaseOldInsurance).toFixed(2) }}</span
>
</p>
<p>
<label>医疗保险</label>
<span>current_base_health_insurance</span>
<span class="green"
>-{{ Number(obj[0].currentBaseHealthInsurance).toFixed(2) }}</span
>
</p>
<p>
<label>失业保险</label>
<span>current_unemployment_insurance</span>
<span class="green"
>-{{ Number(obj[0].currentUnemploymentInsurance).toFixed(2) }}</span
>
</p>
<p>
<label>住房公积金</label>
<span>current_fund</span>
<span class="green"
>-{{ Number(obj[0].currentFund).toFixed(2) }}</span
>
</p>
<p>
<label>代扣个税</label>
<span>current_tax_deduction</span>
<span class="green"
>-{{ Number(obj[0].currentTaxDeduction).toFixed(2) }}</span
>
</p>
<p class="wages">
<label>实发工资</label>
<span>current_real_wage</span>
<span>-{{ Number(obj[0].currentRealWage).toFixed(2) }}</span>
</p>
</div>
</div>
</div>
</template>
<script>
<script lang="ts">
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>
<style lang="less">
.green {
color: #70b603 !important;
}
</style>
\ No newline at end of file
......@@ -19,7 +19,7 @@
<p>可查看编辑自己的劳务派遣员工档案信息</p>
</div>
</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 />
<div class="si-child-desc">
<h4>我是灵活用工员工</h4>
......@@ -47,11 +47,13 @@ export default class SelectIdentity extends Vue {
return this.dispatch_list.length;
}
private toFlex(): void {
this.$router.push({
name: "FlexEmployee",
query: { id_no: this.id_no_encrytion }
});
private toFlex_click(): void {
if (this.id_no_encrytion) {
this.$router.push({
name: "FlexEmployee",
query: { id_no: this.id_no_encrytion }
});
}
}
private toIndex(sp_id: string): void {
......@@ -83,9 +85,12 @@ export default class SelectIdentity extends Vue {
await this.$server.EmployeeService.getUserInfo({})
.then(res => {
if (res.data && res.data.uthStatus && res.data.uthStatus > 0) {
console.log(res);
this.id_no = res.data.personalIdCardNo;
localStorage.setItem("id_no", res.data.personalIdCardNo);
localStorage.setItem("name", res.data.personalName);
localStorage.setItem("sex", res.data.sex);
localStorage.setItem("birthday", res.data.birthday);
} else {
//TODO: 跳转到实名认证
......
......@@ -11,8 +11,8 @@
@childEndDate="childEndDate"
/>
<van-field v-model="description" label="工作内容" placeholder="请填写工作内容(非必填)" />
<div style="margin: 16px;">
<van-button round block type="info" native-type="submit" @click="saveWorkInfo">保存</van-button>
<div class="submit_btn">
<van-button type="primary" block @click="saveWorkInfo">保存</van-button>
</div>
</van-form>
</div>
......@@ -55,7 +55,6 @@ export default class eduExperience extends Vue {
private showEdu: boolean = false;
private showStartDate: boolean = false;
private showEndDate: boolean = false;
//获取日期组件中的值
childStartDate(item: any) {
......
......@@ -32,7 +32,7 @@
</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-field v-model="obj.contactMobile" label="手机号码" placeholder="请填写手机号码" />
<van-field v-model="obj.contactTelephone" label="固定电话" placeholder="请填写固定电话" />
......@@ -40,8 +40,8 @@
<van-field v-model="obj.contactPostcode" label="邮政编码" placeholder="请填写邮政编码" />
<van-field v-model="obj.contactCurrentResidence" label="户口所在地" placeholder="请填写户口所在地" />
<van-field v-model="obj.infoRegisteredResidenceCity" label="现在居住地" placeholder="请填写现在居住地" />
<div style="margin: 16px;">
<van-button round block type="info" native-type="submit" @click="updateContactInfo">保存</van-button>
<div class="submit_btn">
<van-button type="primary" block @click="updateContactInfo">保存</van-button>
</div>
</van-form>
</van-popup>
......@@ -90,11 +90,14 @@ export default class contactInfo extends Vue {
contactTelephone: this.obj.contactTelephone,
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("请填写正确的手机号码");
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("请填写正确的固定电话");
return;
}
......@@ -102,7 +105,10 @@ export default class contactInfo extends Vue {
Toast("请填写紧急联系电话");
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("请填写正确的邮政编码");
return;
}
......@@ -119,7 +125,7 @@ export default class contactInfo extends Vue {
if (res == true) {
Toast.success("保存成功");
this.show = false;
}else{
} else {
Toast.success(res.message);
}
})
......
......@@ -25,8 +25,8 @@
@childStartDate="childStartDate"
@childEndDate="childEndDate"
/>
<div style="margin: 16px;">
<van-button round block type="info" native-type="submit" @click="addEduInfo">保存</van-button>
<div class="submit_btn">
<van-button type="primary" block @click="addEduInfo">保存</van-button>
</div>
</van-form>
</div>
......
......@@ -25,11 +25,9 @@
@childStartDate="childStartDate"
@childEndDate="childEndDate"
/>
<div style="margin: 16px;">
<van-button round block type="info" native-type="submit" @click="updateEduInfo">修改</van-button>
</div>
<div style="margin: 16px;">
<van-button round block type="info" native-type="submit" @click="deleteEduInfo">删除</van-button>
<div class="edu_button">
<div @click="updateEduInfo">修改</div>
<div @click="deleteEduInfo">删除</div>
</div>
</van-form>
</div>
......@@ -101,11 +99,10 @@ export default class eduExperience extends Vue {
id: this.childItem.id,
major: this.childItem.major
};
this.$server.EmployeeService.updateEduExperience(params)
.then(res => {
Toast.success("修改成功");
this.$emit("popupShow");
})
this.$server.EmployeeService.updateEduExperience(params).then(res => {
Toast.success("修改成功");
this.$emit("popupShow");
});
}
//删除
deleteEduInfo() {
......@@ -133,4 +130,48 @@ export default class eduExperience extends Vue {
}
</script>
<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>
\ No newline at end of file
......@@ -52,11 +52,7 @@
@click="showBirthplace = true"
/>
<van-popup v-model="showBirthplace" position="bottom">
<van-area
:area-list="areaList"
@confirm="onConfirmBirthplace"
@cancel="showArea = false"
/>
<city-list @childCityList="birthCity" />
</van-popup>
<!-- 民族 -->
<!-- <van-field
......@@ -74,8 +70,8 @@
@confirm="onConfirmNation"
@cancel="showNation = false"
/>
</van-popup> -->
<popup-picker :label="label"/>
</van-popup>-->
<popup-picker :label="label" />
<!-- 政治面貌 -->
<van-field
readonly
......@@ -154,33 +150,29 @@
@click="showFile = true"
/>
<van-popup v-model="showFile" position="bottom">
<van-picker
show-toolbar
:columns="columns.maternity"
@confirm="onConfirmFile"
@cancel="showFile = false"
/>
<city-list @childCityList="localCity" />
</van-popup>
<!-- 开始工作时间 -->
<!-- <van-field
<van-field
readonly
clickable
:value="obj.infoWorkStartDate"
label="开始工作时间"
placeholder="请选择"
@click="showMaternity = true"
@click="showWorkStartDate = true"
/>
<van-popup v-model="showMaternity" position="bottom">
<van-picker
show-toolbar
:columns="columns.maternity"
<van-popup v-model="showWorkStartDate" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
@confirm="onConfirmWorkDate"
@cancel="showMaternity = false"
@cancel="showWorkStartDate = false"
/>
</van-popup> -->
</van-popup>
</van-form>
<div style="margin: 16px;">
<van-button round block type="info" native-type="submit" @click="updatePersonInfo">保存</van-button>
<div class="submit_btn">
<van-button type="primary" block @click="updatePersonInfo">保存</van-button>
</div>
</van-popup>
</div>
......@@ -188,34 +180,46 @@
<script lang="ts">
import Vue from "vue";
import { Icon, Button, Popup, Form, Picker, Field, Area, Toast } from "vant";
import { Component,Prop } from "vue-property-decorator";
import popupPicker from "@/components/common/popupPicker.vue"
// import AreaList from "@/assets/js/area.js";
import {
Icon,
Button,
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({
components: {
[Button.name]: Button,
[Icon.name]: Icon,
[Popup.name]: Popup,
[Picker.name]: Picker,
[DatetimePicker.name]: DatetimePicker,
[Field.name]: Field,
// [Area.name]: Area,
[Form.name]: Form,
popupPicker
popupPicker,
cityList
}
})
export default class personInfo extends Vue {
//获取父组件中的isEdit
@Prop({
type:String,
required:true,
default:''
}) isEdit !:string
type: String,
required: true,
default: ""
})
isEdit!: string;
private obj: any = {};
private show: boolean = false;
private label: any = "民族";
// private areaList: object = AreaList;
private showBirthplace: boolean = false;
private showNation: boolean = false;
private showPolitical: boolean = false;
......@@ -224,7 +228,7 @@ export default class personInfo extends Vue {
private showMaternity: boolean = false;
private showFile: boolean = false;
private showWorkStartDate: boolean = false;
private areaList: object = {};
private currentDate: Date = new Date();
private columns: any = {
nation: ["汉族", "回族", "蒙古族"],
political: ["群众", "共青团员", "预备党员", "中共党员", "其他"],
......@@ -249,19 +253,18 @@ export default class personInfo extends Vue {
let params = {
edId: this.$route.query.ed_id
};
console.log("props="+this.$props.isEdit)
this.$server.EmployeeService.getPersonInfo(params)
.then(res => {
this.obj = res;
console.log(res);
})
.catch(error => {});
}
editInfo(): void {
this.show = true;
}
//出生地
onConfirmBirthplace(values: any) {
this.obj.infoBirthCity = values.map((item: any) => item.name).join("/");
birthCity(values: any) {
this.obj.infoBirthCity = values.join("/");
this.showBirthplace = false;
}
//民族
......@@ -290,13 +293,13 @@ export default class personInfo extends Vue {
this.showMaternity = false;
}
//档案所在地
onConfirmFile(value: any) {
this.obj.infoFileLocation = value;
localCity(values: any) {
this.obj.infoFileLocation = values.join("/");
this.showFile = false;
}
//开始工作时间
onConfirmWorkDate(value: any) {
this.obj.infoWorkStartDate = value;
this.obj.infoWorkStartDate = formatDate(value, "yyyy-MM-dd");
this.showWorkStartDate = false;
}
updatePersonInfo() {
......@@ -313,7 +316,6 @@ export default class personInfo extends Vue {
};
this.$server.EmployeeService.savePersonInfo(params)
.then(res => {
console.log(res);
Toast.success("保存成功");
this.show = false;
})
......@@ -321,6 +323,8 @@ export default class personInfo extends Vue {
console.log(error);
});
}
}
</script>
......
......@@ -35,7 +35,7 @@
<label>{{obj.unitPreEmploymentStatus}}</label>
</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-field v-model="obj.infoRegisteredResidence" label="户口性质" placeholder="请选择户口性质" /> -->
<van-field
......@@ -93,15 +93,8 @@
placeholder="请选择"
@click="showEmploymentStatus = true"
/>
<div style="margin: 16px;">
<van-button
round
block
type="info"
native-type="submit"
@click="updateContactInfo_click"
>保存</van-button>
<div class="submit_btn">
<van-button type="primary" block @click="updateContactInfo_click">保存</van-button>
</div>
<!-- 户口性质 -->
......@@ -133,12 +126,7 @@
</van-popup>
<!-- 原社保缴纳省市 -->
<van-popup v-model="showSocialCity" position="bottom">
<van-picker
show-toolbar
:columns="columns.socialCity"
@confirm="onConfirmSocialCity"
@cancel="showSocialCity = false"
/>
<city-list @childCityList="socialCity" />
</van-popup>
<!-- 与原单位关系 -->
<van-popup v-model="showRelationUnit" position="bottom">
......@@ -167,6 +155,7 @@
import Vue from "vue";
import { Button, Icon, Popup, Form, Picker, Field, Toast } from "vant";
import { Component } from "vue-property-decorator";
import cityList from "@/components/common/cityList.vue";
@Component({
components: {
......@@ -175,7 +164,8 @@ import { Component } from "vue-property-decorator";
[Popup.name]: Popup,
[Form.name]: Form,
[Picker.name]: Picker,
[Field.name]: Field
[Field.name]: Field,
cityList
}
})
export default class socialInfo extends Vue {
......@@ -249,72 +239,13 @@ export default class socialInfo extends Vue {
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 {
let params = {
edId: this.$route.query.ed_id
};
this.$server.EmployeeService.getSocialInfo(params)
.then(res => {
// console.log("res=" + JSON.stringify(res)+'社保信息');
this.obj = res;
})
.catch(error => {});
this.$server.EmployeeService.getSocialInfo(params).then(res => {
this.obj = res;
});
}
private getSalaryInfo(): void {
......@@ -326,14 +257,10 @@ export default class socialInfo extends Vue {
spId: sp_id
};
console.log(params);
this.$server.EmployeeService.getSalaryInfo(params)
.then(res => {
// console.log("res=" + JSON.stringify(res)+'工资条');
this.obj = res;
})
.catch(error => {});
this.$server.EmployeeService.getSalaryInfo(params).then(res => {
this.obj = res;
});
}
editInfo(): void {
......@@ -391,17 +318,21 @@ export default class socialInfo extends Vue {
console.log(error);
});
}
socialCity(values: any) {
this.obj.unitPreSocialCity = values.join("/");
this.showSocialCity = false;
}
created() {
this.getSalaryInfo();
this.getSocialInfo();
this.getCityList();
}
}
</script>
<style lang="less" scoped>
.content /deep/ .van-field__label{
width: 110px;
}
.content {
margin-top: 10px;
background: white;
......
......@@ -19,14 +19,13 @@
<label>{{obj.expertiseQualification}}</label>
</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-field v-model="obj.expertiseTechnologySpecialty" label="技术特长" placeholder="请填写技术特长" />
<van-field v-model="obj.expertiseTechnologyTitle" label="技术职称" placeholder="请填写技术职称" />
<van-field v-model="obj.expertiseQualification" label="资格证书" placeholder="请填写资格证书" />
<div style="margin: 16px;">
<van-button round block type="info" native-type="submit" @click="updateContactInfo">保存</van-button>
<div class="submit_btn">
<van-button type="primary" block @click="updateContactInfo">保存</van-button>
</div>
</van-form>
</van-popup>
......
......@@ -11,11 +11,9 @@
@childEndDate="childEndDate"
/>
<van-field v-model="childItem.description" label="工作内容" placeholder="请填写工作内容(非必填)" />
<div style="margin: 16px;">
<van-button round block type="info" native-type="submit" @click="updateEduInfo">修改</van-button>
</div>
<div style="margin: 16px;">
<van-button round block type="info" native-type="submit" @click="deleteEduInfo">删除</van-button>
<div class="work_button">
<div @click="updateWorkInfo">修改</div>
<div @click="deleteWorkInfo">删除</div>
</div>
</van-form>
</div>
......@@ -70,7 +68,7 @@ export default class eduExperience extends Vue {
this.childItem.workEndDate = item;
}
//修改
updateEduInfo() {
updateWorkInfo() {
let params = {
description: this.childItem.description,
edId: this.childItem.id,
......@@ -85,7 +83,7 @@ export default class eduExperience extends Vue {
});
}
//删除
deleteEduInfo() {
deleteWorkInfo() {
let params = {
edId: this.childItem.id
};
......@@ -102,4 +100,48 @@ export default class eduExperience extends Vue {
}
</script>
<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>
\ No newline at end of file
......@@ -23,14 +23,14 @@
<label>{{obj.bankNo}}</label>
</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-field v-model="obj.bankAccount" label="账户名称" placeholder="请填写账户名称" />
<van-field v-model="obj.bankName" label="银行名称" placeholder="请填写银行名称" />
<van-field v-model="obj.bankOpen" label="开户行" placeholder="请填写开户行" />
<van-field v-model="obj.bankNo" label="银行卡号" placeholder="请填写银行卡号" />
<div style="margin: 16px;">
<van-button round block type="info" native-type="submit" @click="updateCardInfo">保存</van-button>
<div class="submit_btn">
<van-button type="primary" block @click="updateCardInfo">保存</van-button>
</div>
</van-form>
</van-popup>
......
......@@ -40,9 +40,24 @@ import { Component } from "vue-property-decorator";
}
})
export default class workInfo extends Vue {
obj:object={}
// @Emit('bindSend') send(msg: string){};
obj: object = {};
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>
......
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