Commit 50c130d2 by lishengfu

update

parent 561663c5
...@@ -7145,8 +7145,7 @@ ...@@ -7145,8 +7145,7 @@
"version": "2.2.2", "version": "2.2.2",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
"integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
"dev": true, "dev": true
"optional": true
}, },
"pify": { "pify": {
"version": "4.0.1", "version": "4.0.1",
......
<template>
<div>
<van-field
v-model="startDate"
label="开始时间"
placeholder="请选择开始时间(非必填)"
@click="showStartDate=true"
/>
<van-popup v-model="showStartDate" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
@confirm="onConfirmStartDate"
@cancel="showStartDate = false"
/>
</van-popup>
<van-field
v-model="endDate"
label="结束时间"
placeholder="请选择结束时间(非必填)"
@click="showEndDate=true"
/>
<van-popup v-model="showEndDate" position="bottom">
<van-datetime-picker
v-model="currentDate1"
type="date"
title="选择年月日"
@confirm="onConfirmEndDate"
@cancel="showEndDate = false"
/>
</van-popup>
</div>
</template>
<script lang="ts">
import Vue from "vue";
import { Dialog, Popup, Picker, Field, Toast, DatetimePicker } from "vant";
import { Component, Prop, Watch } from "vue-property-decorator";
import { formatDate } from "../../utils/public";
@Component({
components: {
[Popup.name]: Popup,
[Picker.name]: Picker,
[Field.name]: Field,
[DatetimePicker.name]: DatetimePicker
}
})
export default class eduExperience extends Vue {
private showStartDate: boolean = false;
private showEndDate: boolean = false;
private currentDate: Date = new Date();
private currentDate1: Date = new Date();
//获取父组件中的值
@Prop({
required: true,
default: ""
})
startDate!: any;
@Prop({
required: true,
default: ""
})
endDate!: any;
@Watch("dateItem")
getVisible(newVal: any, oldVal: any) {
// this.dateItem = newVal;
}
onConfirmStartDate(time: any) {
this.startDate = formatDate(time, "yyyy-MM-dd");
this.showStartDate = false;
}
onConfirmEndDate(time: any) {
this.endDate = formatDate(time, "yyyy-MM-dd");
this.showEndDate = false;
}
}
</script>
<style lang="less" scoped>
</style>
\ No newline at end of file
<!--TODO 这里封装公用的picker组件-->
<template>
<div>
<van-field
readonly
clickable
:value="infoNation"
:label="label"
placeholder="请选择"
@click="showNation = true"
/>
<van-popup v-model="showNation" position="bottom">
<van-picker
show-toolbar
:columns="columns.nation"
@confirm="onConfirmNation"
@cancel="showNation = false"
/>
</van-popup>
</div>
</template>
<script lang="ts">
import Vue from "vue";
import { Icon, Cell, Popup, Field, Picker } from "vant";
import { Component, Prop } from "vue-property-decorator";
@Component({
components: {
[Icon.name]: Icon,
[Cell.name]: Cell,
[Popup.name]: Popup,
[Picker.name]: Picker,
[Field.name]: Field
}
})
export default class workExperience extends Vue {
//获取父组件中的值
private infoNation: any = "";
private showNation: boolean = false;
private columns: any = {
nation: ["汉族", "回族", "蒙古族"],
political: ["群众", "共青团员", "预备党员", "中共党员", "其他"],
edu: [
"小学",
"初中",
"高中",
"大专",
"本科",
"硕士研究生",
"博士研究生",
"职高",
"中专",
"技校",
"其他"
],
marry: ["已婚", "未婚"],
maternity: ["未育", "已育一孩", "已育多孩"]
};
@Prop({
required: true,
default: ""
})
label!: any;
created() {}
onConfirmNation() {}
}
</script>
\ No newline at end of file
...@@ -6,9 +6,14 @@ import 'amfe-flexible/index.js' ...@@ -6,9 +6,14 @@ import 'amfe-flexible/index.js'
import server from '@/services/install' import server from '@/services/install'
// import FastClick from 'fastclick' // import FastClick from 'fastclick'
import '@/assets/css/index.less' import '@/assets/css/index.less'
import * as filters from "@/utils/filters";
Vue.config.productionTip = false; Vue.config.productionTip = false;
// FastClick.attach(document.body); // FastClick.attach(document.body);
Object.keys(filters).forEach((key: string) => {
Vue.filter(key, (filters as any)[key]);
});
Vue.use(server) Vue.use(server)
new Vue({ new Vue({
......
...@@ -10,6 +10,7 @@ export interface EmployeeInterface { ...@@ -10,6 +10,7 @@ export interface EmployeeInterface {
getWorkInfoDetail(params: any): Promise<any>; //获取工作信息详情 getWorkInfoDetail(params: any): Promise<any>; //获取工作信息详情
updateWorkInfo(params: any): Promise<any>; //修改工作信息 updateWorkInfo(params: any): Promise<any>; //修改工作信息
addWorkInfo(params: any): Promise<any>; //新增工作信息 addWorkInfo(params: any): Promise<any>; //新增工作信息
deleteWorkInfo(params: any): Promise<any>; //新增工作信息
getPersonInfo(params: any): Promise<any>; //获取个人信息 getPersonInfo(params: any): Promise<any>; //获取个人信息
savePersonInfo(params: any): Promise<any>; //保存个人信息 savePersonInfo(params: any): Promise<any>; //保存个人信息
getContactInfo(params: any): Promise<any>; //获取联系信息 getContactInfo(params: any): Promise<any>; //获取联系信息
......
...@@ -105,6 +105,16 @@ class EmployeeService implements EmployeeInterface { ...@@ -105,6 +105,16 @@ class EmployeeService implements EmployeeInterface {
} }
/** /**
* 删除工作信息
* @param params 请求参数
*/
public deleteWorkInfo(params: any): Promise<any> {
let url = urls.employeeUrl + `/api/user/employee/work/${params.edId}/info`;
return request.delete(url, params, this.header)
}
/**
* 获取个人信息 * 获取个人信息
* @param params 请求参数 * @param params 请求参数
*/ */
......
import { toMoney, formatDate, isNull } from "../utils/public";
//格式化日期
export const subDate = (value: string, startNum: number, endNum: number) => {
if (value == null) {
return null;
}
return value.substring(startNum, endNum);
// formatDate(value,'yyyy-MM')
};
export const money = (value: String, isSymbol: boolean, isConvertPoint: boolean) => {
toMoney(value, isSymbol, isConvertPoint)
};
export const format = (value: String, pattern: String) => {
return value.replace(/\d{2}:\d{2}:\d{2}/i, "");
};
export const isEmpty = (value: string) => { isNull(value) }
\ No newline at end of file
...@@ -27,15 +27,15 @@ ...@@ -27,15 +27,15 @@
import Vue from "vue"; import Vue from "vue";
import { Button } from "vant"; import { Button } from "vant";
import { Component } from "vue-property-decorator"; import { Component } from "vue-property-decorator";
import workInfo from "@/components/archives/workInfo.vue"; import workInfo from "./archives/workInfo.vue";
import personInfo from "@/components/archives/personInfo.vue"; import personInfo from "./archives/personInfo.vue";
import contactInfo from "@/components/archives/contactInfo.vue"; import contactInfo from "./archives/contactInfo.vue";
import socialInfo from "@/components/archives/socialInfo.vue"; import socialInfo from "./archives/socialInfo.vue";
import wageCardInfo from "@/components/archives/wageCardInfo.vue"; import wageCardInfo from "./archives/wageCardInfo.vue";
import eduExperience from "@/components/archives/eduExperience.vue"; import eduExperience from "./archives/eduExperience.vue";
import workExperience from "@/components/archives/workExperience.vue"; import workExperience from "./archives/workExperience.vue";
import teachnologyExperience from "@/components/archives/technologyExperience.vue"; import teachnologyExperience from "./archives/technologyExperience.vue";
import archiveQuestion from "@/components/archives/archiveQuestion.vue"; import archiveQuestion from "./archives/archiveQuestion.vue";
@Component({ @Component({
name: "Archives", name: "Archives",
......
...@@ -69,21 +69,21 @@ ...@@ -69,21 +69,21 @@
<script lang='ts'> <script lang='ts'>
import { Component, Vue } from "vue-property-decorator"; import { Component, Vue } from "vue-property-decorator";
import { toMoney, formatDate, isNull } from "../utils/public"; // import { toMoney, formatDate, isNull } from "../utils/public";
@Component({ @Component({
filters: { // filters: {
money: (value: String, isSymbol: boolean, isConvertPoint: boolean) => // money: (value: String, isSymbol: boolean, isConvertPoint: boolean) =>
toMoney(value, isSymbol, isConvertPoint), // toMoney(value, isSymbol, isConvertPoint),
format: (value: String, pattern: String) => { // format: (value: String, pattern: String) => {
return value.replace(/\d{2}:\d{2}:\d{2}/i, ""); // return value.replace(/\d{2}:\d{2}:\d{2}/i, "");
}, // },
isEmpty: (value: string) => isNull(value) // isEmpty: (value: string) => isNull(value)
} // }
}) })
export default class FlexEmployee extends Vue { export default class FlexEmployee extends Vue {
private name: string = "迪丽热巴"; private name: string = "迪丽热巴";//入参
private birthday: string = "1987-10-16"; private birthday: string = "1987-10-16";//入参
private accept_work: string = ""; private accept_work: string = "";
private perform_work: string = ""; private perform_work: string = "";
......
<template>
<div>
<van-form>
<van-field v-model="workUnit" label="就职公司" placeholder="请填写公司名称" />
<van-field v-model="position" label="从事职位" placeholder="请填写职位名称" />
<van-field v-model="place" label="工作地点" placeholder="请填写工作地点(非必填)" />
<van-field
v-model="workStartDate"
label="开始时间"
placeholder="请选择开始时间(非必填)"
@click="showStartDate=true"
/>
<van-popup v-model="showStartDate" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
@confirm="onConfirmStartDate"
@cancel="showStartDate = false"
/>
</van-popup>
<van-field
v-model="workEndDate"
label="结束时间"
placeholder="请选择结束时间(非必填)"
@click="showEndDate=true"
/>
<van-popup v-model="showEndDate" position="bottom">
<van-datetime-picker
v-model="currentDate1"
type="date"
title="选择年月日"
@confirm="onConfirmEndDate"
@cancel="showEndDate = false"
/>
</van-popup>
<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>
</van-form>
</div>
</template>
<script lang="ts">
import Vue from "vue";
import {
Dialog,
Button,
Popup,
Form,
Picker,
Field,
Toast,
DatetimePicker
} from "vant";
import { Component, Prop, Watch } from "vue-property-decorator";
import { formatDate } from "@/utils/public";
@Component({
components: {
[Button.name]: Button,
[Popup.name]: Popup,
[Form.name]: Form,
[Picker.name]: Picker,
[Field.name]: Field,
[DatetimePicker.name]: DatetimePicker
}
})
export default class eduExperience extends Vue {
private description: any = "";
private position: any = "";
private place:any=""//缺少工作地点字段
private workEndDate: any = "";
private workStartDate: any = "";
private workUnit: any = "";
private showEdu: boolean = false;
private showStartDate: boolean = false;
private showEndDate: boolean = false;
private currentDate: Date = new Date();
private currentDate1: Date = new Date();
//获取父组件中的值
// @Prop({
// required: true,
// default: ""
// })
// childItem!: any;
// @Watch("childItem")
// getVisible(newVal: any, oldVal: any) {
// this.childItem = newVal;
// }
onConfirmStartDate(time: any) {
this.workStartDate = formatDate(time, "yyyy-MM-dd");
this.showStartDate = false;
}
onConfirmEndDate(time: any) {
this.workEndDate = formatDate(time, "yyyy-MM-dd");
this.showEndDate = false;
}
//TODO 新增工作经历
saveWorkInfo() {
let params = {
description: this.description,
edId: this.$route.query.ed_id,
position: this.position,
workEndDate: this.workEndDate,
workStartDate: this.workStartDate,
workUnit: this.workUnit
};
this.$server.EmployeeService.addWorkInfo(params).then(res=>{
Toast.success("保存成功")
this.$emit('showPopup')
}).catch(error=>{
console.log(error)
})
}
}
</script>
<style lang="less" scoped>
</style>
\ No newline at end of file
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
</van-cell> </van-cell>
</div> </div>
<van-popup v-model="childShow" position="right" :style="{ height: '100%',width: '90%' }"> <van-popup v-model="childShow" position="right" :style="{ height: '100%',width: '90%' }">
<edu-update-experience :childItem="childItem" /> <edu-update-experience :childItem="childItem" @removeEduItem="removeEduItem" @popupShow="popupShow" />
</van-popup> </van-popup>
<div class="addEdu" @click="editInfo"> <div class="addEdu" @click="editInfo">
<i> <i>
...@@ -108,8 +108,8 @@ import { ...@@ -108,8 +108,8 @@ import {
DatetimePicker DatetimePicker
} from "vant"; } from "vant";
import { Component, Watch } from "vue-property-decorator"; import { Component, Watch } from "vue-property-decorator";
import { formatDate } from "../../utils/public"; import { formatDate } from "@/utils/public";
import eduUpdateExperience from "@/components/archives/eduUpdateExperience.vue"; import eduUpdateExperience from "./eduUpdateExperience.vue";
@Component({ @Component({
components: { components: {
...@@ -122,14 +122,6 @@ import eduUpdateExperience from "@/components/archives/eduUpdateExperience.vue"; ...@@ -122,14 +122,6 @@ import eduUpdateExperience from "@/components/archives/eduUpdateExperience.vue";
[Field.name]: Field, [Field.name]: Field,
[DatetimePicker.name]: DatetimePicker, [DatetimePicker.name]: DatetimePicker,
eduUpdateExperience eduUpdateExperience
},
filters: {
subDate(value: string, startNum: number, endNum: number) {
if (value == null) {
return null;
}
return value.substring(startNum, endNum);
}
} }
}) })
export default class eduExperience extends Vue { export default class eduExperience extends Vue {
...@@ -167,7 +159,7 @@ export default class eduExperience extends Vue { ...@@ -167,7 +159,7 @@ export default class eduExperience extends Vue {
}; };
this.$server.EmployeeService.getEduExperience(params) this.$server.EmployeeService.getEduExperience(params)
.then(res => { .then(res => {
console.log("edu-res=" + JSON.stringify(res)); // console.log("edu-res=" + JSON.stringify(res));
this.obj = res; this.obj = res;
}) })
.catch(error => {}); .catch(error => {});
...@@ -175,7 +167,6 @@ export default class eduExperience extends Vue { ...@@ -175,7 +167,6 @@ export default class eduExperience extends Vue {
@Watch("obj") @Watch("obj")
getVisible(newVal: any, oldVal: any) { getVisible(newVal: any, oldVal: any) {
this.obj = newVal; this.obj = newVal;
console.log(111)
} }
editInfo(): void { editInfo(): void {
this.show = true; this.show = true;
...@@ -213,6 +204,21 @@ export default class eduExperience extends Vue { ...@@ -213,6 +204,21 @@ export default class eduExperience extends Vue {
this.childShow = true; this.childShow = true;
this.childItem = item; this.childItem = item;
} }
//删除对应的列表
removeEduItem(itemId:any){
console.log(itemId)
var arr=Object.entries(this.obj)
arr=arr.filter(item=>item!==itemId)
console.log(arr)
// arr.forEach(item=>{
// item.forEach(i=>{
// console.log(i.id)
// })
// })
}
popupShow(){
this.childShow=false
}
} }
</script> </script>
......
...@@ -19,36 +19,7 @@ ...@@ -19,36 +19,7 @@
@cancel="showEdu = false" @cancel="showEdu = false"
/> />
</van-popup> </van-popup>
<van-field <date-select :startDate="childItem.eduStartDate" :endDate="childItem.eduEndDate" />
v-model="childItem.eduStartDate"
label="开始时间"
placeholder="请选择开始时间"
@click="showStartDate=true"
/>
<van-popup v-model="showStartDate" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
@confirm="onConfirmStartDate"
@cancel="showStartDate = false"
/>
</van-popup>
<van-field
v-model="childItem.eduEndDate"
label="结束时间"
placeholder="请选择结束时间"
@click="showEndDate=true"
/>
<van-popup v-model="showEndDate" position="bottom">
<van-datetime-picker
v-model="currentDate1"
type="date"
title="选择年月日"
@confirm="onConfirmEndDate"
@cancel="showEndDate = false"
/>
</van-popup>
<div style="margin: 16px;"> <div style="margin: 16px;">
<van-button round block type="info" native-type="submit" @click="updateEduInfo">修改</van-button> <van-button round block type="info" native-type="submit" @click="updateEduInfo">修改</van-button>
</div> </div>
...@@ -67,11 +38,11 @@ import { ...@@ -67,11 +38,11 @@ import {
Form, Form,
Picker, Picker,
Field, Field,
Toast, Toast
DatetimePicker
} from "vant"; } from "vant";
import { Component, Prop, Watch } from "vue-property-decorator"; import { Component, Prop, Watch } from "vue-property-decorator";
import { formatDate } from "../../utils/public"; import { formatDate } from "@/utils/public";
import dateSelect from "@/components/common/dateSelect.vue"
@Component({ @Component({
components: { components: {
...@@ -80,7 +51,7 @@ import { formatDate } from "../../utils/public"; ...@@ -80,7 +51,7 @@ import { formatDate } from "../../utils/public";
[Form.name]: Form, [Form.name]: Form,
[Picker.name]: Picker, [Picker.name]: Picker,
[Field.name]: Field, [Field.name]: Field,
[DatetimePicker.name]: DatetimePicker dateSelect
} }
}) })
export default class eduExperience extends Vue { export default class eduExperience extends Vue {
...@@ -136,7 +107,8 @@ export default class eduExperience extends Vue { ...@@ -136,7 +107,8 @@ export default class eduExperience extends Vue {
}; };
this.$server.EmployeeService.updateEduExperience(params) this.$server.EmployeeService.updateEduExperience(params)
.then(res => { .then(res => {
console.log(res); Toast.success("修改成功");
this.$emit('popupShow')
}) })
.catch(error => { .catch(error => {
console.log(error); console.log(error);
...@@ -151,13 +123,14 @@ export default class eduExperience extends Vue { ...@@ -151,13 +123,14 @@ export default class eduExperience extends Vue {
message: "确认删除?" message: "确认删除?"
}) })
.then(() => { .then(() => {
this.$server.EmployeeService.deleteEduExperience(params) this.$emit('removeEduItem',this.childItem.id)
.then(res => { // this.$server.EmployeeService.deleteEduExperience(params)
Toast.success("删除成功!"); // .then(res => {
}) // Toast.success("删除成功!");
.catch(error => { // })
console.log(error); // .catch(error => {
}); // console.log(error);
// });
}) })
.catch(() => { .catch(() => {
// on cancel // on cancel
......
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
<van-popup v-model="show" position="right" :style="{ height: '100%',width: '90%' }"> <van-popup v-model="show" position="right" :style="{ height: '100%',width: '90%' }">
<!-- <select-info /> --> <!-- <select-info /> -->
<van-form> <van-form>
<!-- 出生地 --> <!-- 出生地TODO -->
<van-field <van-field
readonly readonly
clickable clickable
...@@ -59,7 +59,7 @@ ...@@ -59,7 +59,7 @@
/> />
</van-popup> </van-popup>
<!-- 民族 --> <!-- 民族 -->
<van-field <!-- <van-field
readonly readonly
clickable clickable
:value="obj.infoNation" :value="obj.infoNation"
...@@ -74,7 +74,8 @@ ...@@ -74,7 +74,8 @@
@confirm="onConfirmNation" @confirm="onConfirmNation"
@cancel="showNation = false" @cancel="showNation = false"
/> />
</van-popup> </van-popup> -->
<popup-picker :label="label"/>
<!-- 政治面貌 --> <!-- 政治面貌 -->
<van-field <van-field
readonly readonly
...@@ -161,7 +162,7 @@ ...@@ -161,7 +162,7 @@
/> />
</van-popup> </van-popup>
<!-- 开始工作时间 --> <!-- 开始工作时间 -->
<van-field <!-- <van-field
readonly readonly
clickable clickable
:value="obj.infoWorkStartDate" :value="obj.infoWorkStartDate"
...@@ -176,7 +177,7 @@ ...@@ -176,7 +177,7 @@
@confirm="onConfirmWorkDate" @confirm="onConfirmWorkDate"
@cancel="showMaternity = false" @cancel="showMaternity = false"
/> />
</van-popup> </van-popup> -->
</van-form> </van-form>
<div style="margin: 16px;"> <div style="margin: 16px;">
<van-button round block type="info" native-type="submit" @click="updatePersonInfo">保存</van-button> <van-button round block type="info" native-type="submit" @click="updatePersonInfo">保存</van-button>
...@@ -189,7 +190,7 @@ ...@@ -189,7 +190,7 @@
import Vue from "vue"; import Vue from "vue";
import { Icon, Button, Popup, Form, Picker, Field, Area, Toast } from "vant"; import { Icon, Button, Popup, Form, Picker, Field, Area, Toast } from "vant";
import { Component,Prop } from "vue-property-decorator"; import { Component,Prop } from "vue-property-decorator";
// import selectInfo from "@/components/archives/selectInfo.vue"; import popupPicker from "@/components/common/popupPicker.vue"
// import AreaList from "@/assets/js/area.js"; // import AreaList from "@/assets/js/area.js";
@Component({ @Component({
components: { components: {
...@@ -199,8 +200,8 @@ import { Component,Prop } from "vue-property-decorator"; ...@@ -199,8 +200,8 @@ import { Component,Prop } from "vue-property-decorator";
[Picker.name]: Picker, [Picker.name]: Picker,
[Field.name]: Field, [Field.name]: Field,
// [Area.name]: Area, // [Area.name]: Area,
[Form.name]: Form [Form.name]: Form,
// selectInfo popupPicker
} }
}) })
export default class personInfo extends Vue { export default class personInfo extends Vue {
...@@ -212,6 +213,7 @@ export default class personInfo extends Vue { ...@@ -212,6 +213,7 @@ export default class personInfo extends Vue {
}) isEdit !:string }) isEdit !:string
private obj: any = {}; private obj: any = {};
private show: boolean = false; private show: boolean = false;
private label: any = "民族";
// private areaList: object = AreaList; // private areaList: object = AreaList;
private showBirthplace: boolean = false; private showBirthplace: boolean = false;
......
...@@ -252,7 +252,7 @@ export default class socialInfo extends Vue { ...@@ -252,7 +252,7 @@ export default class socialInfo extends Vue {
private getCityList(): void { private getCityList(): void {
this.$server.EmployeeService.getCityList({}) this.$server.EmployeeService.getCityList({})
.then(res => { .then(res => {
console.log("citylist", res); // console.log("citylist", res);
this.city = res; this.city = res;
for (let i = 0; i < this.city.length; i++) { for (let i = 0; i < this.city.length; i++) {
...@@ -264,9 +264,9 @@ export default class socialInfo extends Vue { ...@@ -264,9 +264,9 @@ export default class socialInfo extends Vue {
} }
} }
//没有父节点的数据 //没有父节点的数据
console.log(this.parents); // console.log(this.parents);
//有父节点的数据 //有父节点的数据
console.log(this.childrens); // console.log(this.childrens);
// 城市3级级联 鄙人黔驴技穷,有请大佬继续 https://blog.csdn.net/MySunshine07/article/details/104960244?utm_medium=distribute.pc_relevant.none-task-blog-baidujs-1 // 城市3级级联 鄙人黔驴技穷,有请大佬继续 https://blog.csdn.net/MySunshine07/article/details/104960244?utm_medium=distribute.pc_relevant.none-task-blog-baidujs-1
// let fliterEvent = (parents:any, childrens:any) => { // let fliterEvent = (parents:any, childrens:any) => {
......
<template>
<div>
<van-form>
<van-field v-model="childItem.workUnit" label="就职公司" placeholder="请填写公司名称" />
<van-field v-model="childItem.position" label="从事职位" placeholder="请填写职位名称" />
<van-field v-model="childItem.place" label="工作地点" placeholder="请填写工作地点(非必填)" />
<date-select :startDate="childItem.workStartDate" :endDate="childItem.workEndDate" />
<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>
</van-form>
</div>
</template>
<script lang="ts">
import Vue from "vue";
import {
Dialog,
Button,
Popup,
Form,
Picker,
Field,
Toast,
DatetimePicker
} from "vant";
import { Component, Prop, Watch } from "vue-property-decorator";
import { formatDate } from "@/utils/public";
import dateSelect from "@/components/common/dateSelect.vue"
@Component({
components: {
[Button.name]: Button,
[Popup.name]: Popup,
[Form.name]: Form,
[Picker.name]: Picker,
[Field.name]: Field,
[DatetimePicker.name]: DatetimePicker,
dateSelect
}
})
export default class eduExperience extends Vue {
private showEdu: boolean = false;
private showStartDate: boolean = false;
private showEndDate: boolean = false;
private currentDate: Date = new Date();
private currentDate1: Date = new Date();
//获取父组件中的值
@Prop({
required: true,
default: ""
})
childItem!: any;
@Watch("childItem")
getVisible(newVal: any, oldVal: any) {
this.childItem = newVal;
}
onConfirmStartDate(time: any) {
this.childItem.workStartDate = formatDate(time, "yyyy-MM-dd");
this.showStartDate = false;
}
onConfirmEndDate(time: any) {
this.childItem.workEndDate = formatDate(time, "yyyy-MM-dd");
this.showEndDate = false;
}
//修改
updateEduInfo() {
let params = {
description: this.childItem.description,
edId: this.childItem.id,
position: this.childItem.position,
workEndDate: this.childItem.workEndDate,
workStartDate: this.childItem.workStartDate,
workUnit: this.childItem.workUnit
};
this.$server.EmployeeService.updateWorkInfo(params)
.then(res => {
Toast.success("修改成功!")
this.$emit('showPopup')
})
.catch(error => {
console.log(error);
});
}
//删除
deleteEduInfo() {
let params = {
edId: this.childItem.id
};
Dialog.confirm({
message: "确认删除?"
})
.then(() => {
// this.$emit("removeEduItem", this.childItem.id);
// this.$server.EmployeeService.deleteWorkInfo(params)
// .then(res => {
// console.log(res);
// })
// .catch(error => {
// console.log(error);
// });
})
.catch(() => {
// on cancel
});
}
}
</script>
<style lang="less" scoped>
</style>
\ No newline at end of file
...@@ -3,31 +3,28 @@ ...@@ -3,31 +3,28 @@
<div class="header"> <div class="header">
<div class="tip"></div> <div class="tip"></div>
<div class="title">工作经历</div> <div class="title">工作经历</div>
<van-icon size="14px" color="#E1E4EB" name="arrow" />
</div>
<div class="box" v-show="false">
<div class="editItem">
<van-cell title="亲亲小保" is-link value="2019-2019" />
<van-cell title="亲亲小保" is-link value="2019-2019" />
<div class="addEdu"><i><img src="@/assets/images/add.png" alt=""></i>添加工作经历</div>
</div>
</div> </div>
<div class="box" v-show="true"> <div class="box" v-show="true">
<div class="unEiteItem"> <div class="editItem" v-for="(item,key) in obj" :key="key">
<div class="line"> <van-cell :title="item.workUnit" is-link @click="openWorkItem(item)">
<div class="lineTitle"> <template>{{item.workStartDate | subDate(0,7) }}{{item.workEndDate | subDate(0,7) }}</template>
<i></i> </van-cell>
</div>
<div class="lineBox"></div>
</div> </div>
<div class="unEiteItemBox"> <van-popup v-model="childShow" position="right" :style="{ height: '100%',width: '90%' }">
<div class="timeLine">2010-2008</div> <update-work-experience :childItem="childItem" @showPopup="showPopup" />
<div class="schoolName">北京大学</div> </van-popup>
<div class="eduInfo">北京|计算机科学与技术</div> <div class="addEdu" @click="addWork">
<div class="ditale">审核日常员工报销,办理公司收、付款;录入现金、银行有关收付款凭证,做到日清月结,每日用友软件中的现 缴纳税款、办理投标用。</div> <i>
<img src="@/assets/images/add.png" alt />
</i>添加工作经历
</div> </div>
<!-- 添加工作经历 -->
<van-popup v-model="addShow" position="right" :style="{ height: '100%',width: '90%' }">
<add-work-experience @showPopup="showPopup" />
</van-popup>
</div> </div>
<div class="unEiteItem"> <div class="box" v-show="false">
<div class="unEiteItem" v-for="(item,key) in obj" :key="key">
<div class="line"> <div class="line">
<div class="lineTitle"> <div class="lineTitle">
<i></i> <i></i>
...@@ -35,10 +32,10 @@ ...@@ -35,10 +32,10 @@
<div class="lineBox"></div> <div class="lineBox"></div>
</div> </div>
<div class="unEiteItemBox"> <div class="unEiteItemBox">
<div class="timeLine">2010-2008</div> <div class="timeLine">{{item.workStartDate | subDate(0,7)}} 至 {{item.workEndDate | subDate(0,7)}}</div>
<div class="schoolName">北京大学</div> <div class="schoolName">{{item.workUnit}}</div>
<div class="eduInfo">北京|计算机科学与技术</div> <div class="eduInfo">{{item.position}} | 缺少城市字段</div>
<div class="ditale">审核日常员工报销,办理公司收、付款;录入现金、银行有关收付款凭证,做到日清月结,每日用友软件中的现 缴纳税款、办理投标用。</div> <div class="ditale">{{item.description}}</div>
</div> </div>
</div> </div>
</div> </div>
...@@ -47,28 +44,49 @@ ...@@ -47,28 +44,49 @@
<script lang="ts"> <script lang="ts">
import Vue from "vue"; import Vue from "vue";
import { Icon, Cell } from "vant"; import { Icon, Cell,Popup } from "vant";
import { Component } from "vue-property-decorator"; import { Component } from "vue-property-decorator";
import addWorkExperience from "./addWorkExperience.vue"
import updateWorkExperience from "./updateWorkExperience.vue"
@Component({ @Component({
components: { components: {
[Icon.name]: Icon, [Icon.name]: Icon,
[Cell.name]: Cell [Cell.name]: Cell,
[Popup.name]: Popup,
addWorkExperience,
updateWorkExperience
} }
}) })
export default class workExperience extends Vue { export default class workExperience extends Vue {
obj: object = {}; obj: object = {};
private addShow:boolean=false
private childShow:boolean=false
private childItem: any = "";
created() { created() {
let params = { let params = {
edId: this.$route.query.ed_id //工作信息里返回的id edId: this.$route.query.ed_id //工作信息里返回的id
}; };
this.$server.EmployeeService.getWorkInfoList(params) this.$server.EmployeeService.getWorkInfoList(params)
.then(res => { .then(res => {
console.log("work-res=" + res); console.log("work-res=" + JSON.stringify(res));
this.obj = res; this.obj = res;
}) })
.catch(error => {}); .catch(error => {});
} }
addWork(){
this.addShow=true
}
//
openWorkItem(item:any){
this.childShow = true;
this.childItem = item;
}
//子组件调用父组件方法
showPopup(){
this.addShow=false
this.childShow=false
}
} }
</script> </script>
...@@ -103,6 +121,7 @@ export default class workExperience extends Vue { ...@@ -103,6 +121,7 @@ export default class workExperience extends Vue {
.van-cell { .van-cell {
padding: 8px 0; padding: 8px 0;
} }
}
.addEdu { .addEdu {
height: 15px; height: 15px;
font-size: 15px; font-size: 15px;
...@@ -113,15 +132,14 @@ export default class workExperience extends Vue { ...@@ -113,15 +132,14 @@ export default class workExperience extends Vue {
margin: 25px auto 12px; margin: 25px auto 12px;
display: flex; display: flex;
justify-content: center; justify-content: center;
i{ i {
margin-right: 10px; margin-right: 10px;
img{ img {
width: 16px; width: 16px;
height: 17px; height: 17px;
} }
} }
} }
}
.unEiteItem { .unEiteItem {
display: flex; display: flex;
.line { .line {
......
...@@ -19,11 +19,11 @@ ...@@ -19,11 +19,11 @@
</div> </div>
<div class="item"> <div class="item">
<span>工作职位</span> <span>工作职位</span>
<label>{{obj.position}}</label> <label>xx</label>
</div> </div>
<div class="item"> <div class="item">
<span>入职时间</span> <span>入职时间</span>
<label>{{obj.workStartDate}}</label> <label>xxx</label>
</div> </div>
</div> </div>
</div> </div>
...@@ -42,17 +42,7 @@ import { Component } from "vue-property-decorator"; ...@@ -42,17 +42,7 @@ 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){}; // @Emit('bindSend') send(msg: string){};
created() {
let params = {
edId: this.$route.query.ed_id
};
this.$server.EmployeeService.getWorkInfoDetail(params).then(res => {
console.log("workinfo_res="+JSON.stringify(res))
this.obj=res
}).catch(error=>{
})
}
} }
</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