Commit 6b007941 by e

up6.9

parent 40992319
...@@ -28,6 +28,9 @@ export interface EmployeeInterface { ...@@ -28,6 +28,9 @@ export interface EmployeeInterface {
updateTechnologyExperience(params: any): Promise<any>; //修改技术特长 updateTechnologyExperience(params: any): Promise<any>; //修改技术特长
getSalaryInfo(params: any): Promise<any>; //通过身份证号和派遣公司ID拿到派遣员工的工资条信息 getSalaryInfo(params: any): Promise<any>; //通过身份证号和派遣公司ID拿到派遣员工的工资条信息
getFiles(params:any):Promise<any>;// 获取文件 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>; //灵活用工 getAgileWorker(params: any): Promise<any>; //灵活用工
......
...@@ -280,6 +280,42 @@ class EmployeeService implements EmployeeInterface { ...@@ -280,6 +280,42 @@ class EmployeeService implements EmployeeInterface {
return request.get(url, params, this.header) return request.get(url, params, this.header)
} }
/**
*
* 设置文件
* @param params
*/
public setFiles(params: any): Promise<any> {
let url = urls.employeeUrl + `/api/user/employee/${params.edId}/file`;
return request.put(url, params.req, this.header)
}
/**
*
* 删除文件
* @param params
*/
public delFiles(params: any): Promise<any> {
let url = urls.employeeUrl + `/api/user/files/${params.fileId}`;
return request.delete(url, params, this.header)
}
/**
*
* 提交文件
* @param params
*/
public putFiles(params: any): Promise<any> {
let url = urls.employeeUrl + `/api/user/employee/${params.edId}/commit/file`;
return request.put(url, params, this.header)
}
/**
*
* 灵活用工
* @param params
*/
public getAgileWorker(params: any): Promise<any> { public getAgileWorker(params: any): Promise<any> {
let url = urls.employeeUrl + `/api/user/employee/${params.idNo}/bill/item`; let url = urls.employeeUrl + `/api/user/employee/${params.idNo}/bill/item`;
return request.get(url, params, this.header) return request.get(url, params, this.header)
......
<template> <template>
<div class="main"> <div class="main">
<p>请先补充我的档案,如已补充完成,请下载并打印入职登记表.pdf,在打印文件上签字,然后拍照上传。</p> <p class="upload-desc">请先补充我的档案,如已补充完成,请下载并打印入职登记表.pdf,在打印文件上签字,然后拍照上传。</p>
<van-form>
<div class="upload-body">
<div class="upload-child">
<van-uploader
v-model="uploadIdFront"
:after-read="afterRead"
:before-delete="afterDelete"
:max-count="1"
preview-size="120"
preview-image
>
<div class="upload-add"></div>
</van-uploader>
<div class="upload-detil">
<p>身份证首页</p>
<van-icon name="delete" @click="delImg(nn)" color="#5e6066" class="delete" />
</div>
</div>
<div class="upload-child">
<van-uploader
v-model="uploadIdReverse"
:after-read="afterRead"
:max-count="1"
preview-size="120"
preview-image
>
<div class="upload-add"></div>
</van-uploader>
<div class="upload-detil">
<p>身份证背面</p>
<van-icon name="delete" @click="delImg(nn)" color="#5e6066" class="delete" />
</div>
</div>
<div class="upload-child">
<van-uploader
v-model="uploadDiploma"
:after-read="afterRead"
:max-count="1"
preview-size="120"
preview-image
>
<div class="upload-add"></div>
</van-uploader>
<div class="upload-detil">
<p>毕业证照片</p>
<van-icon name="delete" @click="delImg(nn)" color="#5e6066" class="delete" />
</div>
</div>
<div class="upload-child">
<van-uploader
v-model="uploadCertificate"
:after-read="afterRead"
:max-count="1"
preview-size="120"
preview-image
:deletable="false"
>
<div class="upload-add"></div>
</van-uploader>
<div class="upload-detil">
<p>学位证照片</p>
<van-icon name="delete" @click="delImg(nn)" color="#5e6066" class="delete" />
</div>
</div>
<div class="upload-child">
<van-uploader
v-model="uploadDimission"
:after-read="afterRead"
:max-count="1"
preview-size="120"
preview-image
:deletable="false"
>
<div class="upload-add"></div>
</van-uploader>
<div class="upload-detil">
<p>上家公司离职证明</p>
<van-icon name="delete" @click="delImg(nn)" color="#5e6066" class="delete" />
</div>
</div>
<div class="upload-child">
<van-uploader
v-model="uploadResume"
:after-read="afterRead"
:max-count="1"
preview-size="120"
preview-image
:deletable="false"
>
<div class="upload-add"></div>
</van-uploader>
<div class="upload-detil">
<p>个人简历</p>
<van-icon name="delete" @click="delImg(nn)" color="#5e6066" class="delete" />
</div>
</div>
<div class="upload-child">
<van-uploader
v-model="uploadRegistered"
:after-read="afterRead"
:max-count="1"
preview-size="120"
preview-image
:deletable="false"
>
<div class="upload-add"></div>
</van-uploader>
<div class="upload-detil">
<p>户口首页</p>
<van-icon name="delete" @click="delImg(nn)" color="#5e6066" class="delete" />
</div>
</div>
<div class="upload-child">
<van-uploader
v-model="uploadRegisteredSelf"
:after-read="afterRead"
:max-count="1"
preview-size="120"
preview-image
:deletable="false"
>
<div class="upload-add"></div>
</van-uploader>
<div class="upload-detil">
<p>户口本人页</p>
<van-icon name="delete" @click="delImg(nn)" color="#5e6066" class="delete" />
</div>
</div>
<div class="upload-child">
<van-uploader
v-model="uploadWageCard"
:after-read="afterRead"
:max-count="1"
preview-size="120"
preview-image
:deletable="false"
>
<div class="upload-add"></div>
</van-uploader>
<div class="upload-detil">
<p>工资银行卡</p>
<van-icon name="delete" @click="delImg(nn)" color="#5e6066" class="delete" />
</div>
</div>
<div class="upload-child">
<van-uploader
v-model="uploadElse1"
:after-read="afterRead"
:max-count="1"
preview-size="120"
preview-image
:deletable="false"
>
<div class="upload-add"></div>
</van-uploader>
<div class="upload-detil">
<p>其他文件</p>
<van-icon name="delete" @click="delImg(nn)" color="#5e6066" class="delete" />
</div>
</div>
<div class="upload-child">
<van-uploader
v-model="uploadElse2"
:after-read="afterRead"
:max-count="1"
preview-size="120"
preview-image
:deletable="false"
>
<div class="upload-add"></div>
</van-uploader>
<div class="upload-detil">
<p>其他文件</p>
<van-icon name="delete" @click="delImg(nn)" color="#5e6066" class="delete" />
</div>
</div>
<div class="upload-child">
<van-uploader
v-model="uploadElse3"
:after-read="afterRead"
:max-count="1"
preview-size="120"
preview-image
:deletable="false"
>
<div class="upload-add"></div>
</van-uploader>
<div class="upload-detil">
<p>其他文件</p>
<van-icon name="delete" @click="delImg(nn)" color="#5e6066" class="delete" />
</div>
</div>
<div class="upload-child">
<van-uploader
v-model="uploadElse4"
:after-read="afterRead"
:max-count="1"
preview-size="120"
preview-image
:deletable="false"
>
<div class="upload-add"></div>
</van-uploader>
<div class="upload-detil">
<p>其他文件</p>
<van-icon name="delete" @click="delImg(nn)" color="#5e6066" class="delete" />
</div>
</div>
<div class="upload-child">
<van-uploader
v-model="uploadElse5"
:after-read="afterRead"
:max-count="1"
preview-size="120"
preview-image
:deletable="false"
>
<div class="upload-add"></div>
</van-uploader>
<div class="upload-detil">
<p>其他文件</p>
<van-icon name="delete" @click="delImg(nn)" color="#5e6066" class="delete" />
</div>
</div>
</div>
<div style="margin: 16px 0 0 0;">
<van-button block type="primary" native-type="submit" @click="updateContactInfo_click">提交信息</van-button>
</div>
</van-form>
</div> </div>
</template> </template>
<script lang='ts'> <script lang='ts'>
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,
Uploader
} from "vant";
import { Component } from "vue-property-decorator"; import { Component } from "vue-property-decorator";
@Component({ @Component({
...@@ -16,23 +269,133 @@ import { Component } from "vue-property-decorator"; ...@@ -16,23 +269,133 @@ 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,
[Uploader.name]: Uploader
} }
}) })
export default class Information extends Vue { export default class Information extends Vue {
private obj: any = {}; private obj: any = {};
private postData: any = [];
private fileIds: any = [];
private fileList: any = [];
// 14个坑放对应图
private uploadIdFront: any = [
// {url : ''}
]; // 身份证正面
private uploadIdReverse: any = []; // 身份证反面
private uploadDiploma: any = []; // 毕业证
private uploadCertificate: any = []; // 学位证
private uploadDimission: any = []; // 离职证明
private uploadResume: any = []; // 个人简历
private uploadRegistered: any = []; // 户口首页
private uploadRegisteredSelf: any = []; // 户口本人页
private uploadWageCard: any = []; // 工资卡
private uploadElse1: any = []; // 其他1
private uploadElse2: any = []; // 其他2
private uploadElse3: any = []; // 其他3
private uploadElse4: any = []; // 其他4
private uploadElse5: any = []; // 其他5
delImg(index: any) {
// 删除指定下标的图片对象
if (isNaN(index) || index >= this.postData.length) {
return false;
}
let tmp = [];
for (let i = 0, len = this.postData.length; i < len; i++) {
if (this.postData[i] !== this.postData[index]) {
tmp.push(this.postData[i]);
}
}
this.postData = tmp;
this.fileIds.splice(index, 1);
}
async afterRead(file: any) {
//文件读取完成后的回调函数
//let uploadImg = await upLoaderImg(file.file); //使用上传的方法。setFiles
console.log(file, "afterRead");
console.log(file.content, "afterRead.content");
console.log(this.$route.query.ed_id, "ed_id");
let params = {
edId: this.$route.query.ed_id,
req: {
attachment: file.content,
fileTypeId: "7"
}
};
this.$server.EmployeeService.setFiles(params)
.then(res => {
console.log(res);
})
.catch(error => {});
}
async afterDelete(file:any){
let params = {
fileId: "36",
};
this.$server.EmployeeService.delFiles(params)
.then(res => {
console.log(res);
})
.catch(error => {});
}
// 删除待上传的文件
// delBtn(index: any) {
// // 先判断当前的选中的索引是否是在有效范围中,如果不是则跳出方法
// if (isNaN(index) || index >= this.uploadVideoList.length) {
// return false;
// }
// let tmp = [];
// // 将没被选中的上传文件存放进一个临时数组中
// for (let i = 0; i < this.uploadVideoList.length; i++) {
// if (this.uploadVideoList[i] !== this.uploadVideoList[index]) {
// tmp.push(this.uploadVideoList[i]);
// }
// }
// // 存放当前未被选中的上传文件
// this.uploadVideoList = tmp;
// }
// 底部提交按钮
updateContactInfo_click() {
let data = {
edId: this.$route.query.ed_id
};
this.$server.EmployeeService.putFiles(data)
.then(res => {
if (res == true) {
Toast.success("保存成功");
// this.show = false;
} else {
console.log("保存失败");
}
})
.catch(error => {
console.log(error);
});
}
// 获取文件
private getFiles(): void { private getFiles(): void {
let params = { let params = {
edId: this.$route.query.ed_id edId: this.$route.query.ed_id
}; };
this.$server.EmployeeService.getFiles(params) this.$server.EmployeeService.getFiles(params)
.then(res => { .then(res => {
console.log("res=" + JSON.stringify(res)+'文件');
console.log(res); console.log(res);
this.obj = res; this.obj = res;
if(this.obj[0].attachment != null){
console.log(this.obj[0].attachment);
}
}) })
.catch(error => {}); .catch(error => {});
} }
...@@ -40,9 +403,58 @@ export default class Information extends Vue { ...@@ -40,9 +403,58 @@ export default class Information extends Vue {
created() { created() {
this.getFiles(); this.getFiles();
} }
} }
</script> </script>
<style lang="less"> <style lang="less" scoped>
.upload-desc {
color: #5e6066;
font-size: 14px;
line-height: 18px;
font-weight: 400;
width: 335px;
text-align: center;
margin: 20px auto 0;
display: block;
}
.upload-body {
width: 335px;
margin: 20px auto 20px;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
.upload-child {
height: 164px;
width: 160px;
.van-uploader {
width: 160px;
height: 120px;
.upload-add {
width: 160px;
height: 120px;
background-color: #f5f7fa;
background-image: url(../assets/images/upload-icon.png);
background-repeat: no-repeat;
background-size: 36px 36px;
background-position: 62px 42px;
}
}
.upload-detil {
display: flex;
justify-content: space-between;
align-items: center;
p {
color: #5e6066;
font-size: 14px;
line-height: 14px;
}
van-icon {
width: 14px;
height: 14px;
}
}
}
}
</style> </style>
\ No newline at end of file
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