职工管理:1、添加工号、身份两个字段 2、添加上传文件功能

main
wanglei 2 months ago
parent 225f9a697d
commit 35a7792042

@ -1,14 +1,6 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="90px">
<!-- <el-form-item label="登录用户Id" prop="userId">-->
<!-- <el-input-->
<!-- v-model="queryParams.userId"-->
<!-- placeholder="请输入登录用户Id"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
<el-form-item label="部门名称" prop="deptName">
<el-input
v-model="queryParams.deptName"
@ -25,26 +17,10 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="年龄" prop="age">
<el-form-item label="工号" prop="wordId">
<el-input
v-model="queryParams.age"
placeholder="请输入年龄"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="手机号" prop="phone">
<el-input
v-model="queryParams.phone"
placeholder="请输入手机号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="身份证号" prop="idcard">
<el-input
v-model="queryParams.idcard"
placeholder="请输入身份证号"
v-model="queryParams.wordId"
placeholder="请输入工号"
clearable
@keyup.enter.native="handleQuery"
/>
@ -110,7 +86,6 @@
<el-table v-loading="loading" :data="employeeList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" fixed/>
<el-table-column label="主键" align="center" prop="id" fixed/>
<!-- <el-table-column label="登录用户Id" align="center" prop="userId" :show-overflow-tooltip="true" min-width="120"/>-->
<el-table-column label="所属部门" align="center" prop="deptId" :show-overflow-tooltip="true" min-width="120"/>
<el-table-column label="部门名称" align="center" prop="deptName" :show-overflow-tooltip="true" min-width="120"/>
<el-table-column label="职工姓名" align="center" prop="empName" :show-overflow-tooltip="true" min-width="120"/>
@ -120,6 +95,19 @@
</template>
</el-table-column>
<el-table-column label="年龄" align="center" prop="age" />
<el-table-column label="工号" align="center" prop="wordId" />
<el-table-column label="身份" align="center" prop="position" />
<el-table-column label="附件" align="center" prop="docs" width="120">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-view"
v-hasPermi="['kaohe:employee:edit']"
@click="handleFuJian(scope.row)"
>附件详情/编辑</el-button>
</template>
</el-table-column>
<el-table-column label="手机号" align="center" prop="phone" />
<el-table-column label="身份证号" align="center" prop="idcard" />
<el-table-column label="银行卡号" align="center" prop="bankCardNumber" />
@ -158,54 +146,108 @@
/>
<!-- 添加或修改职工信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
<el-dialog :title="title" :visible.sync="open" width="900px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
<el-form-item label="所属部门" prop="deptId">
<treeselect v-model="form.deptId" :options="deptOptions" placeholder="请选择所属部门" :show-count="true" @select="changeDept"/>
</el-form-item>
<el-form-item label="职工姓名" prop="empName">
<el-input v-model="form.empName" placeholder="请输入职工姓名" />
</el-form-item>
<el-form-item label="年龄" prop="age">
<el-input v-model="form.age" placeholder="请输入年龄" />
</el-form-item>
<el-form-item label="性别" prop="sex">
<el-select v-model="form.sex" placeholder="请选择性别" style="width: 100%;">
<el-option
v-for="dict in dict.type.sys_user_sex"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="手机号" prop="phone">
<el-input v-model="form.phone" placeholder="请输入手机号" />
</el-form-item>
<el-form-item label="身份证号" prop="idcard">
<el-input v-model="form.idcard" placeholder="请输入身份证号" />
</el-form-item>
<el-form-item label="银行卡号" prop="bankCardNumber">
<el-input v-model="form.bankCardNumber" placeholder="请输入银行卡号" />
</el-form-item>
<el-form-item label="开户行" prop="openingBank">
<el-input v-model="form.openingBank" placeholder="请输入开户行" />
</el-form-item>
<el-form-item label="学历" prop="education">
<el-input v-model="form.education" placeholder="请输入学历" />
</el-form-item>
<el-form-item label="家庭住址" prop="address">
<el-input v-model="form.address" placeholder="请输入家庭住址" />
</el-form-item>
<el-form-item label="紧急联系人" prop="contact">
<el-input v-model="form.contact" placeholder="请输入紧急联系人" />
</el-form-item>
<el-form-item label="紧急联系人电话" prop="contactPhone">
<el-input v-model="form.contactPhone" placeholder="请输入紧急联系人电话" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="所属部门" prop="deptId">
<treeselect v-model="form.deptId" :options="deptOptions" placeholder="请选择所属部门" :show-count="true" @select="changeDept"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="职工姓名" prop="empName">
<el-input v-model="form.empName" placeholder="请输入职工姓名" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="年龄" prop="age">
<el-input v-model="form.age" placeholder="请输入年龄" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工号" prop="wordId">
<el-input v-model="form.wordId" placeholder="请输入工号" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="身份" prop="position">
<el-input v-model="form.position" placeholder="请输入年龄" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="性别" prop="sex">
<el-select v-model="form.sex" placeholder="请选择性别" style="width: 100%;">
<el-option
v-for="dict in dict.type.sys_user_sex"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="手机号" prop="phone">
<el-input v-model="form.phone" placeholder="请输入手机号" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="身份证号" prop="idcard">
<el-input v-model="form.idcard" placeholder="请输入身份证号" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="银行卡号" prop="bankCardNumber">
<el-input v-model="form.bankCardNumber" placeholder="请输入银行卡号" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="开户行" prop="openingBank">
<el-input v-model="form.openingBank" placeholder="请输入开户行" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="学历" prop="education">
<el-input v-model="form.education" placeholder="请输入学历" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="家庭住址" prop="address">
<el-input v-model="form.address" placeholder="请输入家庭住址" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="紧急联系人" prop="contact">
<el-input v-model="form.contact" placeholder="请输入紧急联系人" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="紧急联系人电话" prop="contactPhone">
<el-input v-model="form.contactPhone" placeholder="请输入紧急联系人电话" />
</el-form-item>
</el-col>
<el-col :span="12"></el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
@ -232,6 +274,37 @@
</div>
</el-dialog>
<!-- 附件详情对话框 -->
<el-dialog title="附件详情/编辑" :visible.sync="uploadFJ.open" width="900px" append-to-body>
<div class="_con">
<div class="left">
<el-card style="margin-bottom: 10px;">
<div slot="header">
<span>已有附件</span>
</div>
<div v-for="(item,index) in uploadFJ.fileList" :key="item.url" class="yy_fj_list">
<a :href="item.url" :download="item.name" target="_blank">{{ item.name }}</a>
<i class="el-icon-close" @click="uploadFJListRemove(index)"></i>
</div>
</el-card>
</div>
<div class="right">
<el-upload ref="uploadFJ" :limit="5" :headers="uploadFJ.headers" :action="uploadFJ.url" multiple
:disabled="uploadFJ.isUploading" :on-progress="fileUploadProgressFJ" :on-success="fileSuccessFJ"
:auto-upload="true" drag>
<i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处<em>点击上传</em></div>
</el-upload>
</div>
</div>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="updateFileFJ"></el-button>
<el-button @click="uploadFJ.open = false"> </el-button>
</div>
</el-dialog>
</div>
</template>
@ -279,6 +352,20 @@ export default {
//
url: process.env.VUE_APP_BASE_API + "/kaohe/employee/importData"
},
//
uploadFJ: {
//
open: false,
fileList: [],
//
isUploading: false,
//
headers: { Authorization: "Bearer " + getToken() },
//
url: process.env.VUE_APP_BASE_API + "/common/upload"
},
//
updataRow: {},
//
title: "",
//
@ -291,16 +378,7 @@ export default {
deptId: null,
deptName: null,
empName: null,
sex: null,
age: null,
phone: null,
idcard: null,
bankCardNumber: null,
openingBank: null,
education: null,
address: null,
contact: null,
contactPhone: null,
wordId: null
},
//
form: {},
@ -356,6 +434,9 @@ export default {
empName: null,
sex: null,
age: null,
wordId: null,
position: null,
docs: null,
phone: null,
idcard: null,
bankCardNumber: null,
@ -466,7 +547,86 @@ export default {
//
submitFileForm() {
this.$refs.upload.submit()
},
//
handleFuJian(row){
this.updataRow = row;
this.uploadFJ.fileList = [];
if(row.docs){
let arr = row.docs.split(';');
arr.forEach( item => {
let arr1 = item.split(',');
this.uploadFJ.fileList.push({
name: arr1[0],
url: arr1[1]
})
})
}
this.uploadFJ.open = true
},
//
uploadFJListRemove(index){
this.uploadFJ.fileList.splice(index, 1);
},
submitFileFormFJ(){
this.$refs.uploadFJ.submit()
},
//
fileUploadProgressFJ(event, file, fileList) {
this.uploadFJ.isUploading = true
},
//
fileSuccessFJ(response, file, fileList) {
this.uploadFJ.isUploading = false
},
updateFileFJ(){
let uploadFiles = this.$refs.uploadFJ.$data.uploadFiles;
let arr = []
this.uploadFJ.fileList.forEach(item=>{
arr.push(item.name+','+item.url);
})
uploadFiles.forEach( item => {
arr.push(item.response.originalFilename+','+item.response.url);
})
this.updataRow.docs = arr.join(';');
updateEmployee(this.updataRow).then(response => {
this.$modal.msgSuccess("修改成功");
this.uploadFJ.open = false;
this.$refs.uploadFJ.clearFiles();
this.getList();
})
}
}
}
</script>
<style scoped lang="scss">
.el-dialog__body{
._con{
display: flex;
justify-content: space-between;
min-height: 400px;
.left{
width: 480px;
.yy_fj_list {
display: flex;
justify-content: space-between;
align-items: center;
height: 36px;
border-bottom: 1px solid #39CCCC;
i{
cursor: pointer;
}
}
}
.right{
width: 360px;
}
}
}
</style>

Loading…
Cancel
Save