| src/settings.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/utils/myUtil.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/utils/request.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/dashboard/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/user/Informationinput.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/user/inemployees.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/user/outemployess.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/user/search.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/user/selectuser.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/yunpan/fujian.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/yunpan/uploadfj.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/yunpan/zhishou.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/settings.js
@@ -21,6 +21,8 @@ // tx-manager控制台 txUrl: 'http://localhost:8501/admin/index.html#/login', // 文件上传地址 filesUploadUrl: 'http://120.24.23.155:8301/hr/filesUpload' filesUploadUrl: 'http://120.24.23.155:8301/hr/filesUpload', // 个人文件上传地址 uploadSinglePath: 'http://120.24.23.155:8301/hr/empAccessory' } } src/utils/myUtil.js
@@ -29,3 +29,25 @@ } return { birth: birth, sex: sex, age: age } } /** * 计算工龄 * @param {*} entryDate 入职日期 */ export function calculateSeniority(val) { // eslint-disable-next-line eqeqeq if (val.length === 0) { return 0 } var myDate = new Date() var month = myDate.getMonth() + 1 var day = myDate.getDate() var entryDate = new Date(val) var age = myDate.getFullYear() - entryDate.getFullYear() if (entryDate.getMonth < month || entryDate.getMonth === month && entryDate.getDay <= day) { age++ } if (age <= 0) { age = 0 } return age } src/utils/request.js
@@ -8,7 +8,7 @@ import 'nprogress/nprogress.css' // 请求超时时间,10s const requestTimeOut = 10 * 1000 const requestTimeOut = 20 * 1000 const success = 200 // 更换令牌的时间区间 const checkRegion = 5 * 60 * 1000 src/views/dashboard/index.vue
@@ -65,14 +65,14 @@ <p>超龄员工人数</p> </el-card> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="4"> <el-card shadow="always" class="card-info" @click.native="showXzyg('离职员工总数','6')"> <p class="card-number">{{ this.total.lzyg }}</p> <p>离职员工总数</p> </el-card> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="4"> <el-card shadow="always" class="card-info" @click.native="showXzyg('辞职申请人数','7')"> <p class="card-number">{{ this.total.czyg }}</p> @@ -97,8 +97,6 @@ <p>公司辞退人数</p> </el-card> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="4"> <el-card shadow="always" class="card-info" @click.native="showht('有效合同','11')"> <p class="card-number">{{ this.total.yxht }}</p> @@ -111,6 +109,9 @@ <p>到期合同</p> </el-card> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="4"> <el-card shadow="always" class="card-info" @click.native="showht('新签合同','13')"> <p class="card-number">{{ this.total.xinqht }}</p> @@ -129,8 +130,6 @@ <p>解除合同</p> </el-card> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="4"> <el-card shadow="always" class="card-info" @click.native="showcq('出勤人数','1')"> <p class="card-number">{{ this.total.cqrs }}</p> @@ -149,6 +148,9 @@ <p>员工体验</p> </el-card> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="4"> <el-card shadow="always" class="card-info" @click.native="showcq('员工加班','2')"> <p class="card-number">{{ this.total.ygjb }}</p> @@ -161,8 +163,6 @@ <p>员工旷工</p> </el-card> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="4"> <el-card shadow="always" class="card-info" @click.native="showlz('劳资案件','1')"> <p class="card-number">{{ this.total.lzaj }}</p> @@ -187,14 +187,15 @@ <p>社保申请</p> </el-card> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="4"> <el-card shadow="always" class="card-info" @click.native="showsyj('失业金案件','3')"> <p class="card-number">{{ this.total.syj }}</p> <p>失业金案件</p> </el-card> </el-col> </el-row> <el-row :gutter="20"> <el-col :span="4"> <el-card shadow="always" class="card-info" @click.native="showXzyg('身份证到期','11')"> <p class="card-number">{{ this.total.sfz }}</p> @@ -213,7 +214,6 @@ <p>不良记录</p> </el-card> </el-col> </el-row> <on-the-job-user ref="jobUser" src/views/user/Informationinput.vue
@@ -439,13 +439,13 @@ <el-form ref="empBaseInfoForm" :model="empBaseInfoForm" :rules="rules" label-position="right" label-width="120px"> <el-row> <el-col :span="12"> <el-form-item label="档案号"> <el-form-item label="档案号" prop="archivesNumb"> <el-input v-model="empBaseInfoForm.archivesNumb" /> </el-form-item> <el-form-item label="员工编号" prop="empNumb"> <el-input v-model="empBaseInfoForm.empNumb" /> </el-form-item> <el-form-item label="身份证号码"> <el-form-item label="身份证号码" prop="certificateNumb"> <el-input v-model="empBaseInfoForm.certificateNumb" @input="generateUserInfo(0,empBaseInfoForm.certificateNumb)" @@ -457,7 +457,7 @@ <el-option label="临时工" value="2" /> </el-select> </el-form-item> <el-form-item label="民族"> <el-form-item label="民族" prop="nation"> <el-select v-model="empBaseInfoForm.nation" placeholder="请选择民族"> <el-option label="汉族" value="01" /> <el-option label="蒙古族" value="02" /> @@ -519,7 +519,7 @@ <el-option label="外国民族" value="98" /> </el-select> </el-form-item> <el-form-item label="婚姻状态"> <el-form-item label="婚姻状态" prop="marriage"> <el-select v-model="empBaseInfoForm.marriage" placeholder="请选择婚姻状态"> <el-option label="未婚" value="1" /> <el-option label="已婚" value="2" /> @@ -529,10 +529,10 @@ <el-option label="其它" value="9" /> </el-select> </el-form-item> <el-form-item label="身高(cm)"> <el-form-item label="身高(cm)" prop="stature"> <el-input v-model="empBaseInfoForm.stature" /> </el-form-item> <el-form-item label="政治面貌"> <el-form-item label="政治面貌" prop="politics"> <el-select v-model="empBaseInfoForm.politics" placeholder="请选择政治面貌"> <el-option label="中共党员" value="01" /> <el-option label="预备党员" value="02" /> @@ -549,7 +549,7 @@ <el-option label="群众" value="13" /> </el-select> </el-form-item> <el-form-item label="最高学历"> <el-form-item label="最高学历" prop="education"> <el-select v-model="empBaseInfoForm.education" placeholder="请选择最高学历"> <el-option label="博士" value="10" /> <el-option label="硕士" value="11" /> @@ -563,7 +563,7 @@ <el-option label="无学历" value="91" /> </el-select> </el-form-item> <el-form-item label="籍贯"> <el-form-item label="籍贯" prop="nativePlaceName"> <el-autocomplete v-model="empBaseInfoForm.nativePlaceName" class="inline-input" @@ -572,19 +572,19 @@ @select="placeNameSelect" /> </el-form-item> <el-form-item label="现住址"> <el-form-item label="现住址" prop="currentAddress"> <el-input v-model="empBaseInfoForm.currentAddress" /> </el-form-item> <el-form-item label="电话号码"> <el-form-item label="电话号码" prop="telePhone"> <el-input v-model="empBaseInfoForm.telePhone" /> </el-form-item> <el-form-item label="招聘介绍人"> <el-form-item label="招聘介绍人" prop="introducer"> <el-input v-model="empBaseInfoForm.introducer" /> </el-form-item> <el-form-item label="银行名称"> <el-form-item label="银行名称" prop="bankName"> <el-input v-model="empBaseInfoForm.bankName" /> </el-form-item> <el-form-item label="保险类型"> <el-form-item label="保险类型" prop="insuranceType"> <el-select v-model="empBaseInfoForm.insuranceType" placeholder="请选择保险类型"> <el-option label="(深户)五险一档" value="1" /> <el-option label="(非深户)五险一档" value="2" /> @@ -593,10 +593,10 @@ <el-option label="(非深户)四险一档" value="5" /> </el-select> </el-form-item> <el-form-item label="家庭成员及关系"> <el-form-item label="家庭成员及关系" prop="family"> <el-input v-model="empBaseInfoForm.family" /> </el-form-item> <el-form-item label="紧急联系电话"> <el-form-item label="紧急联系电话" prop="urgencyPhone"> <el-input v-model="empBaseInfoForm.urgencyPhone" /> </el-form-item> </el-col> @@ -629,13 +629,18 @@ <el-option label="女" value="2" /> </el-select> </el-form-item> <el-form-item label="身份证有效期"> <el-input v-model="empBaseInfoForm.certificateValidity" /> <el-form-item label="身份证有效期" prop="certificateValidity"> <el-date-picker v-model="empBaseInfoForm.certificateValidity" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" /> </el-form-item> <el-form-item label="年龄"> <el-form-item label="年龄" prop="age"> <el-input v-model="empBaseInfoForm.age" /> </el-form-item> <el-form-item label="出生日期"> <el-form-item label="出生日期" prop="birthdate"> <el-date-picker v-model="empBaseInfoForm.birthdate" type="date" @@ -643,45 +648,46 @@ placeholder="选择日期" /> </el-form-item> <el-form-item label="入职日期"> <el-form-item label="入职日期" prop="entryDate"> <el-date-picker v-model="empBaseInfoForm.entryDate" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" @input="calculateSeniority" /> </el-form-item> <el-form-item label="入司工龄"> <el-form-item label="入司工龄" prop="seniority"> <el-input v-model="empBaseInfoForm.seniority" /> </el-form-item> <el-form-item label="户籍地址"> <el-form-item label="户籍地址" prop="censusAddress"> <el-input v-model="empBaseInfoForm.censusAddress" /> </el-form-item> <el-form-item label="保安员证号"> <el-form-item label="保安员证号" prop="guardNumb"> <el-input v-model="empBaseInfoForm.guardNumb" /> </el-form-item> <el-form-item label="保安员回执"> <el-form-item label="保安员回执" prop="returnReceipt"> <el-input v-model="empBaseInfoForm.returnReceipt" /> </el-form-item> <el-form-item label="档案情况"> <el-form-item label="档案情况" prop="archivesStatus"> <el-select v-model="empBaseInfoForm.archivesStatus" placeholder="请选择档案情况"> <el-option label="未移交" value="0" /> <el-option label="已移交" value="1" /> </el-select> </el-form-item> <el-form-item label="银行账号"> <el-form-item label="银行账号" prop="bankNumb"> <el-input v-model="empBaseInfoForm.bankNumb" /> </el-form-item> <el-form-item label="社保电脑号"> <el-form-item label="社保电脑号" prop="socialNumb"> <el-input v-model="empBaseInfoForm.socialNumb" /> </el-form-item> <el-form-item label="员工手册"> <el-form-item label="员工手册" prop="handbookStatus"> <el-select v-model="empBaseInfoForm.handbookStatus" placeholder="请选择员工手册"> <el-option label="未发" value="0" /> <el-option label="已发" value="1" /> </el-select> </el-form-item> <el-form-item label="工作证"> <el-form-item label="工作证" prop="empCardStatus"> <el-select v-model="empBaseInfoForm.empCardStatus" placeholder="请选择工作证"> <el-option label="未发" value="0" /> <el-option label="已发" value="1" /> @@ -689,7 +695,7 @@ </el-form-item> </el-col> <el-col :span="24"> <el-form-item label="相关证件"> <el-form-item label="相关证件" prop="certificateList"> <el-select v-model="empBaseInfoForm.certificateList" placeholder="请选择相关证件"> <el-option label="高中毕业证" value="1" /> <el-option label="专科毕业证" value="2" /> @@ -1812,7 +1818,7 @@ </div> </template> <script> import { toCardGetUserInfo } from '@/utils/myUtil' import { calculateSeniority, toCardGetUserInfo } from '@/utils/myUtil' import Treeselect from '@riophae/vue-treeselect' import '@riophae/vue-treeselect/dist/vue-treeselect.css' import Pagination from '@/components/Pagination' @@ -1847,13 +1853,23 @@ certificateNumb: [{ required: true, message: '请输入身份证号', trigger: 'blur' }], jobName: [{ required: true, message: '请选择岗位', trigger: 'change' }], nativePlaceName: [{ required: true, message: '请选择籍贯', trigger: 'change' }], bankName: [{ required: true, message: '请输入银行名称', trigger: 'blur' }], bankName: [{ required: true, message: '请输入银行名称', trigger: 'blur' }, { max: 36, message: '长度不超过36个字符', trigger: 'blur' }], insuranceType: [{ required: true, message: '请选择保险类型', trigger: 'change' }], entryDate: [{ required: true, message: '请选择入职日期', trigger: 'change' }], seniority: [{ required: true, message: '请输入入司工龄', trigger: 'blur' }], archivesStatus: [{ required: true, message: '请选择档案情况', trigger: 'change' }], bankNumb: [{ required: true, message: '请输入银行账号', trigger: 'blur' }], empType: [{ required: true, message: '请选择员工类型', trigger: 'change' }] bankNumb: [{ required: true, message: '请输入银行账号', trigger: 'blur' }, { max: 32, message: '长度不超过32个字符', trigger: 'blur' }], empType: [{ required: true, message: '请选择员工类型', trigger: 'change' }], censusAddress: [{ max: 128, message: '长度不超过128个字符', trigger: 'blur' }], currentAddress: [{ max: 128, message: '长度不超过128个字符', trigger: 'blur' }], guardNumb: [{ max: 40, message: '长度不超过40个字符', trigger: 'blur' }], telePhone: [{ max: 30, message: '长度不超过30个字符', trigger: 'blur' }], returnReceipt: [{ max: 40, message: '长度不超过40个字符', trigger: 'blur' }], introducer: [{ max: 32, message: '长度不超过32个字符', trigger: 'blur' }], socialNumb: [{ max: 40, message: '长度不超过40个字符', trigger: 'blur' }], family: [{ max: 128, message: '长度不超过128个字符', trigger: 'blur' }], certificateValidity: [{ required: true, message: '请选择身份证有效期', trigger: 'change' }], urgencyPhone: [{ max: 30, message: '长度不超过30个字符', trigger: 'blur' }] }, workExperienceRules: { empName: [{ required: true, message: '请选择员工', trigger: 'blur' }], @@ -2171,6 +2187,7 @@ modifyTime: '', modifier: '', delFlag: '', empStatus: 0, version: '' }, laborTroubleForm: { @@ -2197,6 +2214,7 @@ modifier: '', delFlag: '', version: '', empStatus: 0, remark: '' }, occupationalForm: { @@ -2243,6 +2261,7 @@ modifier: '', delFlag: '', version: '', empStatus: 0, remark: '' }, accidentCasesForm: { @@ -2280,6 +2299,7 @@ modifyTime: '', modifier: '', delFlag: '', empStatus: 0, version: '' }, insuranceForm: { @@ -2305,6 +2325,7 @@ modifier: '', delFlag: '', version: '', empStatus: 0, remark: '' }, unemploymentForm: { @@ -2328,6 +2349,7 @@ modifyTime: '', modifier: '', delFlag: '', empStatus: 0, version: '' }, resignForm: { @@ -2350,6 +2372,7 @@ modifier: '', delFlag: '', version: '', empStatus: 0, remark: '' }, leaveInfoForm: { @@ -2375,6 +2398,7 @@ modifier: '', delFlag: '', version: '', empStatus: 0, remark: '' }, contractInfoForm: { @@ -2400,6 +2424,7 @@ modifyTime: '', modifier: '', delFlag: '', empStatus: 0, version: '' }, dimissionAttendForm: { @@ -2426,6 +2451,7 @@ modifier: '', delFlag: '', version: '', empStatus: 0, remark: '' }, physicalExamForm: { @@ -2453,6 +2479,7 @@ modifyTime: '', modifier: '', delFlag: '', empStatus: 0, version: '' }, workExperienceForm: { @@ -2475,6 +2502,7 @@ modifyTime: '', modifier: '', delFlag: '', empStatus: 0, version: '' }, empBaseInfoForm: { @@ -2524,6 +2552,7 @@ modifyTime: '', modifier: '', delFlag: '', empStatus: 0, version: '' }, badRecordForm: { @@ -2546,6 +2575,7 @@ modifier: '', delFlag: '', version: '', empStatus: 0, remark: '' } } @@ -4863,6 +4893,9 @@ this.empBaseInfoForm.sex = userinfo.sex break } }, calculateSeniority(val) { this.empBaseInfoForm.seniority = calculateSeniority(val) } } } src/views/user/inemployees.vue
@@ -14,26 +14,35 @@ </el-row> <el-row> <el-col :span="3">员工编号: <el-input v-model="queryParams.empNumb" placeholder="请输入内容" style="width:80px" /> <el-input v-model="queryParams.empNumb" size="small" maxlength="20" style="width:85px" /> </el-col> <el-col :span="3">姓名: <el-input v-model="queryParams.empName" placeholder="请输入内容" style="width:80px" /> <el-input v-model="queryParams.empName" size="small" maxlength="10" style="width:110px" /> </el-col> <el-col :span="3">身份证号: <el-input v-model="queryParams.certificateNumb" placeholder="请输入内容" style="width:80px" /> <el-col :span="4">身份证号: <el-input v-model="queryParams.certificateNumb" size="small" maxlength="18" style="width:140px" /> </el-col> <el-col :span="3">护卫点: <el-input v-model="queryParams.deptName" placeholder="请输入内容" style="width:80px" /> <el-input v-model="queryParams.deptName" size="small" maxlength="20" style="width:100px" /> </el-col> <el-col :span="3">入职日期:从 <el-input v-model="queryParams.entryDateBegin" placeholder="请输入内容" style="width:80px" /> <el-col :span="8">入职日期: <el-date-picker v-model="queryParams.entryDateStr" size="small" type="daterange" align="right" unlink-panels range-separator="至" value-format="yyyy-MM-dd" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions" style="width: 400px;" /> </el-col> <el-col :span="3">到 <el-input v-model="queryParams.entryDateEnd" placeholder="请输入内容" style="width:80px" /> </el-col> <el-col :span="6"> <el-button type="primary" @click="search">查询</el-button> <el-button type="danger">重置</el-button> <el-col :span="3"> <el-button size="mini" class="hr-but-all" type="primary" @click="search">查询</el-button> <el-button size="mini" class="hr-but" type="danger" @click="resetSearch">重置</el-button> </el-col> </el-row> <el-row> @@ -43,90 +52,107 @@ <tr> <td>性别:</td> <td> <el-radio-group v-model="radio"> <el-radio :label="3">全部</el-radio> <el-radio :label="6">男性</el-radio> <el-radio :label="9">女性</el-radio> <el-radio-group v-model="queryParams.sex"> <el-radio label="">全部</el-radio> <el-radio label="1">男性</el-radio> <el-radio label="2">女性</el-radio> </el-radio-group> </td> </tr> <tr> <td>最高学历:</td> <td> <el-radio-group v-model="radio"> <el-radio :label="3">全部</el-radio> <el-radio :label="6">初中</el-radio> <el-radio :label="9">高中</el-radio> <el-radio :label="9">大专</el-radio> <el-radio :label="9">本科</el-radio> <el-radio :label="9">硕士</el-radio> <el-radio :label="9">博士</el-radio> <el-radio-group v-model="queryParams.education"> <el-radio label="">全部</el-radio> <el-radio label="91">无学历</el-radio> <el-radio label="81">小学</el-radio> <el-radio label="71">初中</el-radio> <el-radio label="61">高中</el-radio> <el-radio label="42">中技</el-radio> <el-radio label="41">中专</el-radio> <el-radio label="31">大学专科</el-radio> <el-radio label="21">大学本科</el-radio> <el-radio label="11">硕士</el-radio> <el-radio label="10">博士</el-radio> </el-radio-group> </td> </tr> <tr> <td>政治面貌:</td> <td> <el-radio-group v-model="radio"> <el-radio :label="3">全部</el-radio> <el-radio :label="6">党员</el-radio> <el-radio :label="9">团员</el-radio> <el-radio :label="9">群众</el-radio> <el-radio-group v-model="queryParams.politics"> <el-radio label="">全部</el-radio> <el-radio label="01">中共党员</el-radio> <el-radio label="02">预备党员</el-radio> <el-radio label="03">共青团员</el-radio> <el-radio label="04">民革会员</el-radio> <el-radio label="05">民盟盟员</el-radio> <el-radio label="06">民建会员</el-radio> <el-radio label="07">民进会员</el-radio> <el-radio label="08">农工党员</el-radio> <el-radio label="09">致公党员</el-radio> <el-radio label="10">九三社员</el-radio> <el-radio label="11">台盟盟员</el-radio> <el-radio label="12">民主人士</el-radio> <el-radio label="13">群众</el-radio> </el-radio-group> </td> </tr> <tr> <td>年龄:</td> <td> <el-radio-group v-model="radio"> <el-radio :label="3">全部</el-radio> <el-radio :label="6">18-29</el-radio> <el-radio :label="9">30-39</el-radio> <el-radio :label="9">40-49</el-radio> <el-radio :label="9">50-59</el-radio> <el-radio :label="9">60-69</el-radio> <el-radio :label="9">69及以上</el-radio> <el-radio-group v-model="queryParams.ageStr"> <el-radio label="">全部</el-radio> <el-radio label="18-29">18-29</el-radio> <el-radio label="30-39">30-39</el-radio> <el-radio label="40-49">40-49</el-radio> <el-radio label="50-59">50-59</el-radio> <el-radio label="60-69">60-69</el-radio> <el-radio label="69-999">69及以上</el-radio> </el-radio-group> </td> </tr> <tr> <td>档案情况:</td> <td> <el-radio-group v-model="radio"> <el-radio :label="3">全部</el-radio> <el-radio :label="6">已移交</el-radio> <el-radio :label="9">未移交</el-radio> <el-radio-group v-model="queryParams.archivesStatus"> <el-radio label="">全部</el-radio> <el-radio label="0">已移交</el-radio> <el-radio label="1">未移交</el-radio> </el-radio-group> </td> </tr> <tr> <td>保险类型:</td> <td> <el-radio-group v-model="radio"> <el-radio :label="3">全部</el-radio> <el-radio :label="6">深户(五险一档)</el-radio> <el-radio :label="6">非深户(五险一档)</el-radio> <el-radio :label="6">非深户(五险二档)</el-radio> <el-radio :label="6">非深户(五险三档)</el-radio> <el-radio :label="6">非深户(四险三档)</el-radio> <el-radio-group v-model="queryParams.insuranceType"> <el-radio label="">全部</el-radio> <el-radio :label="1">深户(五险一档)</el-radio> <el-radio :label="2">非深户(五险一档)</el-radio> <el-radio :label="3">非深户(五险二档)</el-radio> <el-radio :label="4">非深户(五险三档)</el-radio> <el-radio :label="5">非深户(四险三档)</el-radio> </el-radio-group> </td> </tr> <tr> <td>员工状态:</td> <td> <el-radio-group v-model="radio"> <el-radio :label="3">全部</el-radio> <el-radio :label="6">在职</el-radio> <el-radio-group v-model="queryParams.empStatus"> <el-radio label="">全部</el-radio> <el-radio :label="1">在职</el-radio> <el-radio :label="2">正常离职</el-radio> <el-radio :label="3">自动离职</el-radio> <el-radio :label="4">公司辞退</el-radio> </el-radio-group> </td> </tr> <tr> <td>员工手册:</td> <td> <el-radio-group v-model="radio"> <el-radio :label="3">全部</el-radio> <el-radio :label="6">未发</el-radio> <el-radio-group v-model="queryParams.handbookStatus"> <el-radio label="3">全部</el-radio> <el-radio :label="0">未发</el-radio> <el-radio :label="9">已发</el-radio> </el-radio-group> </td> @@ -134,10 +160,10 @@ <tr> <td>工作证:</td> <td> <el-radio-group v-model="radio"> <el-radio :label="3">全部</el-radio> <el-radio :label="6">未发</el-radio> <el-radio :label="9">已发</el-radio> <el-radio-group v-model="queryParams.empCardStatus"> <el-radio label="">全部</el-radio> <el-radio :label="0">未发</el-radio> <el-radio :label="1">已发</el-radio> </el-radio-group> </td> </tr> @@ -150,7 +176,7 @@ <el-main> <el-row> <el-col :span="24"> <el-button type="danger" @click="showXzyg">新增员工</el-button> <el-button type="danger" @click="showXzyg(0)">新增员工</el-button> <el-button type="primary" @click="delEmp">删除员工</el-button> <el-button type="danger" @click="showYgdg(0)">员工调岗</el-button> <el-button type="danger" @click="showDryg(0)">导入员工</el-button> @@ -175,7 +201,7 @@ <el-table-column prop="sexName" label="性别" width="50" /> <el-table-column prop="age" label="年龄" /> <el-table-column prop="educationName" label="最高学历" width="100" /> <el-table-column prop="censusAddress" label="籍贯" /> <el-table-column prop="nativePlaceName" label="籍贯" /> <el-table-column prop="telePhone" label="联系电话" /> <el-table-column prop="entryDate" label="入职日期" width="100" /> <el-table-column prop="delFlag" label="员工状态"> @@ -195,16 +221,22 @@ </el-container> </el-container> <el-dialog title="新增员工" :visible.sync="dialogShowXzyg" width="50%"> <el-form ref="empBaseInfoForm" :model="empBaseInfoForm" :rules="rules" label-position="right" label-width="120px"> <el-form ref="empBaseInfoForm" :model="empBaseInfoForm" :rules="empBaseInfoRules" label-position="right" label-width="120px" > <el-row> <el-col :span="12"> <el-form-item label="档案号"> <el-form-item label="档案号" prop="archivesNumb"> <el-input v-model="empBaseInfoForm.archivesNumb" /> </el-form-item> <el-form-item label="员工编号" prop="empNumb"> <el-input v-model="empBaseInfoForm.empNumb" /> </el-form-item> <el-form-item label="身份证号码"> <el-form-item label="身份证号码" prop="certificateNumb"> <el-input v-model="empBaseInfoForm.certificateNumb" @input="generateUserInfo(0,empBaseInfoForm.certificateNumb)" @@ -216,7 +248,7 @@ <el-option label="临时工" value="2" /> </el-select> </el-form-item> <el-form-item label="民族"> <el-form-item label="民族" prop="nation"> <el-select v-model="empBaseInfoForm.nation" placeholder="请选择民族"> <el-option label="汉族" value="01" /> <el-option label="蒙古族" value="02" /> @@ -278,7 +310,7 @@ <el-option label="外国民族" value="98" /> </el-select> </el-form-item> <el-form-item label="婚姻状态"> <el-form-item label="婚姻状态" prop="marriage"> <el-select v-model="empBaseInfoForm.marriage" placeholder="请选择婚姻状态"> <el-option label="未婚" value="1" /> <el-option label="已婚" value="2" /> @@ -288,10 +320,10 @@ <el-option label="其它" value="9" /> </el-select> </el-form-item> <el-form-item label="身高(cm)"> <el-form-item label="身高(cm)" prop="stature"> <el-input v-model="empBaseInfoForm.stature" /> </el-form-item> <el-form-item label="政治面貌"> <el-form-item label="政治面貌" prop="politics"> <el-select v-model="empBaseInfoForm.politics" placeholder="请选择政治面貌"> <el-option label="中共党员" value="01" /> <el-option label="预备党员" value="02" /> @@ -308,7 +340,7 @@ <el-option label="群众" value="13" /> </el-select> </el-form-item> <el-form-item label="最高学历"> <el-form-item label="最高学历" prop="education"> <el-select v-model="empBaseInfoForm.education" placeholder="请选择最高学历"> <el-option label="博士" value="10" /> <el-option label="硕士" value="11" /> @@ -322,28 +354,28 @@ <el-option label="无学历" value="91" /> </el-select> </el-form-item> <el-form-item label="籍贯"> <el-form-item label="籍贯" prop="nativePlaceName"> <el-autocomplete v-model="empBaseInfoForm.nativePlaceName" class="inline-input" :fetch-suggestions="querySearch" placeholder="请输入籍贯" placeholder="请选择籍贯" @select="placeNameSelect" /> </el-form-item> <el-form-item label="现住址"> <el-form-item label="现住址" prop="currentAddress"> <el-input v-model="empBaseInfoForm.currentAddress" /> </el-form-item> <el-form-item label="电话号码"> <el-form-item label="电话号码" prop="telePhone"> <el-input v-model="empBaseInfoForm.telePhone" /> </el-form-item> <el-form-item label="招聘介绍人"> <el-form-item label="招聘介绍人" prop="introducer"> <el-input v-model="empBaseInfoForm.introducer" /> </el-form-item> <el-form-item label="银行名称"> <el-form-item label="银行名称" prop="bankName"> <el-input v-model="empBaseInfoForm.bankName" /> </el-form-item> <el-form-item label="保险类型"> <el-form-item label="保险类型" prop="insuranceType"> <el-select v-model="empBaseInfoForm.insuranceType" placeholder="请选择保险类型"> <el-option label="(深户)五险一档" value="1" /> <el-option label="(非深户)五险一档" value="2" /> @@ -352,10 +384,10 @@ <el-option label="(非深户)四险一档" value="5" /> </el-select> </el-form-item> <el-form-item label="家庭成员及关系"> <el-form-item label="家庭成员及关系" prop="family"> <el-input v-model="empBaseInfoForm.family" /> </el-form-item> <el-form-item label="紧急联系电话"> <el-form-item label="紧急联系电话" prop="urgencyPhone"> <el-input v-model="empBaseInfoForm.urgencyPhone" /> </el-form-item> </el-col> @@ -388,13 +420,18 @@ <el-option label="女" value="2" /> </el-select> </el-form-item> <el-form-item label="身份证有效期"> <el-input v-model="empBaseInfoForm.certificateValidity" /> <el-form-item label="身份证有效期" prop="certificateValidity"> <el-date-picker v-model="empBaseInfoForm.certificateValidity" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" /> </el-form-item> <el-form-item label="年龄"> <el-form-item label="年龄" prop="age"> <el-input v-model="empBaseInfoForm.age" /> </el-form-item> <el-form-item label="出生日期"> <el-form-item label="出生日期" prop="birthdate"> <el-date-picker v-model="empBaseInfoForm.birthdate" type="date" @@ -402,36 +439,37 @@ placeholder="选择日期" /> </el-form-item> <el-form-item label="入职日期"> <el-form-item label="入职日期" prop="entryDate"> <el-date-picker v-model="empBaseInfoForm.entryDate" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" @input="calculateSeniority" /> </el-form-item> <el-form-item label="入司工龄"> <el-form-item label="入司工龄" prop="seniority"> <el-input v-model="empBaseInfoForm.seniority" /> </el-form-item> <el-form-item label="户籍地址"> <el-form-item label="户籍地址" prop="censusAddress"> <el-input v-model="empBaseInfoForm.censusAddress" /> </el-form-item> <el-form-item label="保安员证号"> <el-form-item label="保安员证号" prop="guardNumb"> <el-input v-model="empBaseInfoForm.guardNumb" /> </el-form-item> <el-form-item label="保安员回执"> <el-form-item label="保安员回执" prop="returnReceipt"> <el-input v-model="empBaseInfoForm.returnReceipt" /> </el-form-item> <el-form-item label="档案情况"> <el-form-item label="档案情况" prop="archivesStatus"> <el-select v-model="empBaseInfoForm.archivesStatus" placeholder="请选择档案情况"> <el-option label="未移交" value="0" /> <el-option label="已移交" value="1" /> </el-select> </el-form-item> <el-form-item label="银行账号"> <el-form-item label="银行账号" prop="bankNumb"> <el-input v-model="empBaseInfoForm.bankNumb" /> </el-form-item> <el-form-item label="社保电脑号"> <el-form-item label="社保电脑号" prop="socialNumb"> <el-input v-model="empBaseInfoForm.socialNumb" /> </el-form-item> <el-form-item label="员工手册"> @@ -440,7 +478,7 @@ <el-option label="已发" value="1" /> </el-select> </el-form-item> <el-form-item label="工作证"> <el-form-item label="工作证" prop="empCardStatus"> <el-select v-model="empBaseInfoForm.empCardStatus" placeholder="请选择工作证"> <el-option label="未发" value="0" /> <el-option label="已发" value="1" /> @@ -448,7 +486,7 @@ </el-form-item> </el-col> <el-col :span="24"> <el-form-item label="相关证件"> <el-form-item label="相关证件" prop="certificateList"> <el-select v-model="empBaseInfoForm.certificateList" placeholder="请选择相关证件"> <el-option label="高中毕业证" value="1" /> <el-option label="专科毕业证" value="2" /> @@ -1141,14 +1179,13 @@ </el-container> </div> </el-dialog> <el-dialog title="员工调岗" :visible.sync="dialogShowYgdg" width="50%"> <el-form :model="ygdgForm" label-position="right" label-width="120px"> <el-form ref="ygdgForm" :model="ygdgForm" :rules="ygdgRules" label-position="right" label-width="120px"> <el-row> <el-col span="24"> <el-form-item label="调岗人员"> <input v-model="ygdgForm.dgryIds" type="hidden"> <el-input v-model="ygdgForm.dgryNames" type="textarea" /> <input v-model="ygdgForm.empIds" type="hidden"> <el-input v-model="ygdgForm.empNames" type="textarea" /> </el-form-item> <el-form-item label="现部门(护卫点)" required message="请选择护卫点" prop="deptId"> <treeselect @@ -1158,40 +1195,41 @@ :clear-value-text="$t('common.clear')" placeholder="请选择部门(护卫点)" style="width:100%" @select="deptNameSelect" /> </el-form-item> <el-form-item label="现岗位" prop="jobName"> <el-form-item label="现岗位" prop="jobId"> <el-autocomplete v-model="ygdgForm.jobName" v-model="ygdgForm.newJobName" class="inline-input" :fetch-suggestions="querySearchJob" placeholder="请输入岗位" @select="jobNameSelect" /> </el-form-item> <el-form-item label="调岗类型" prop="region"> <el-select v-model="ygdgForm.dglx" placeholder="请选择"> <el-form-item label="调岗类型" prop="changeType"> <el-select v-model="ygdgForm.changeType" placeholder="请选择"> <el-option label="升职" value="2" /> <el-option label="调动" value="3" /> </el-select> </el-form-item> <el-form-item label="调岗日期"> <el-form-item label="调岗日期" prop="changeDate"> <el-date-picker v-model="ygdgForm.dgrq" v-model="ygdgForm.changeDate" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" /> </el-form-item> <el-form-item label="理由描述"> <el-input v-model="ygdgForm.lyms" type="textarea" /> <el-form-item label="理由描述" prop="changeReason"> <el-input v-model="ygdgForm.changeReason" type="textarea" /> </el-form-item> </el-col> </el-row> </el-form> <div slot="footer" class="dialog-footer"> <el-button @click="showYgdg(1)">取 消</el-button> <el-button type="primary" @click="showYgdg(2)">确 定</el-button> <el-button @click="showYgdg(1,'')">取 消</el-button> <el-button type="primary" @click="showYgdg(2,'ygdgForm')">确 定</el-button> </div> </el-dialog> <el-dialog title="导入员工信息" :visible.sync="dialogShowDryg" width="50%"> @@ -1199,14 +1237,16 @@ <el-row> <el-col span="24"> <el-form-item label="员工模板下载" prop="region"> <a href="#" style="color: #3A8EE6;">员工信息.xlxs</a> <a href="/员工信息.xls" target="_blank" style="color: #3A8EE6;">员工信息.xlxs</a> <span style="margin-left: 100px;">点击下载</span> </el-form-item> <el-form-item label="导入员工"> <el-upload ref="upload" class="upload-demo" action="https://jsonplaceholder.typicode.com/posts/" action="hr/empBaseInfo/importEmp" accept=".xls, .xlsx, .excel" :headers="headers()" :file-list="fileList" :auto-upload="false" > @@ -1222,11 +1262,11 @@ </div> </el-dialog> <el-dialog title="关闭档案" :visible.sync="dialogShowGbda" width="50%"> <el-form :model="gbdaForm" label-position="right" label-width="120px"> <el-form ref="gbdaForm" :model="gbdaForm" :rules="gbdaRules" label-position="right" label-width="120px"> <el-row> <el-col span="24"> <el-form-item label="离职类型" prop="region"> <el-radio-group v-model="gbdaForm.lzlx"> <el-form-item label="离职类型" prop="dimissionType"> <el-radio-group v-model="gbdaForm.dimissionType"> <el-radio :label="1">正常离职</el-radio> <el-radio :label="2">自动离职</el-radio> <el-radio :label="3">公司劝退</el-radio> @@ -1234,127 +1274,211 @@ <el-radio :label="5">试用期内</el-radio> </el-radio-group> </el-form-item> <el-form-item label="关闭日期"> </el-col> <el-col span="12"> <el-form-item label="自离天数" prop="selfLeaveDay"> <el-input v-model="gbdaForm.selfLeaveDay" onkeyup="value=value.replace(/[^0-9.]/g,'')" /> </el-form-item> </el-col> <el-col span="12"> <el-form-item label="报告人" prop="reporter"> <el-input v-model="gbdaForm.reporter" /> </el-form-item> </el-col> <el-col span="24"> <el-form-item label="关闭日期" prop="dimissionDate"> <el-date-picker v-model="gbdaForm.gbrq" v-model="gbdaForm.dimissionDate" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" /> </el-form-item> <el-form-item label="备注说明"> <el-input v-model="gbdaForm.bzsm" type="textarea" :rows="4" /> <el-form-item label="备注说明" prop="remark"> <el-input v-model="gbdaForm.remark" type="textarea" :rows="4" /> </el-form-item> </el-col> </el-row> </el-form> <div slot="footer" class="dialog-footer"> <el-button @click="showGbda(1)">取 消</el-button> <el-button type="primary" @click="showGbda(2)">确 定</el-button> <el-button @click="showGbda(1,'')">取 消</el-button> <el-button type="primary" @click="showGbda(2,'gbdaForm')">确 定</el-button> </div> </el-dialog> <el-dialog title="导出员工 请勾选需要导出的字段" :visible.sync="dialogShowDcyg" width="40%"> <table id="dcygTable" width="100%"> <tr> <td colspan="6" style="text-align: left;"><el-checkbox /> 全部字段</td> <td colspan="6" style="text-align: left;"> <el-checkbox v-model="checkAll" :indeterminate="isIndeterminate" @change="handleCheckAllChange" /> 全部字段 </td> </tr> <el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange"> <tr> <td>档案号</td> <td><el-checkbox /></td> <td> <el-checkbox label="archivesNumb"><span /></el-checkbox> </td> <td>姓名</td> <td><el-checkbox /></td> <td> <el-checkbox label="empName"><span /></el-checkbox> </td> <td>性别</td> <td><el-checkbox /></td> <td> <el-checkbox label="sex"><span /></el-checkbox> </td> </tr> <tr> <td>部门(护卫点)</td> <td><el-checkbox /></td> <td> <el-checkbox label="deptName"><span /></el-checkbox> </td> <td>所属岗位</td> <td><el-checkbox /></td> <td> <el-checkbox label="jobName"><span /></el-checkbox> </td> <td>员工类别</td> <td><el-checkbox /></td> <td> <el-checkbox label="empType"><span /></el-checkbox> </td> </tr> <tr> <td>民族</td> <td><el-checkbox /></td> <td> <el-checkbox label="nation"><span /></el-checkbox> </td> <td>身份证号码</td> <td><el-checkbox /></td> <td> <el-checkbox label="certificateNumb"><span /></el-checkbox> </td> <td>年龄</td> <td><el-checkbox /></td> <td> <el-checkbox label="age"><span /></el-checkbox> </td> </tr> <tr> <td>婚姻状况</td> <td><el-checkbox /></td> <td> <el-checkbox label="marriage"><span /></el-checkbox> </td> <td>身份证有效期</td> <td><el-checkbox /></td> <td> <el-checkbox label="certificateValidity"><span /></el-checkbox> </td> <td>身高</td> <td><el-checkbox /></td> <td> <el-checkbox label="stature"><span /></el-checkbox> </td> </tr> <tr> <td>政治面貌</td> <td><el-checkbox /></td> <td> <el-checkbox label="politics"><span /></el-checkbox> </td> <td>出生日期</td> <td><el-checkbox /></td> <td> <el-checkbox label="birthdate"><span /></el-checkbox> </td> <td>最高学历</td> <td><el-checkbox /></td> <td> <el-checkbox label="education"><span /></el-checkbox> </td> </tr> <tr> <td>籍贯</td> <td><el-checkbox /></td> <td> <el-checkbox label="nativePlace"><span /></el-checkbox> </td> <td>户籍地址</td> <td><el-checkbox /></td> <td>户籍地址</td> <td><el-checkbox /></td> <td> <el-checkbox label="censusAddress"><span /></el-checkbox> </td> <td>现住址</td> <td> <el-checkbox label="currentAddress"><span /></el-checkbox> </td> </tr> <tr> <td>保安员证号</td> <td><el-checkbox /></td> <td> <el-checkbox label="guardNumb"><span /></el-checkbox> </td> <td>保安员回执</td> <td><el-checkbox /></td> <td> <el-checkbox label="returnReceipt"><span /></el-checkbox> </td> <td>档案情况</td> <td><el-checkbox /></td> <td> <el-checkbox label="archivesStatus"><span /></el-checkbox> </td> </tr> <tr> <td>银行名称</td> <td><el-checkbox /></td> <td> <el-checkbox label="bankName"><span /></el-checkbox> </td> <td>银行账号</td> <td><el-checkbox /></td> <td> <el-checkbox label="bankNumb"><span /></el-checkbox> </td> <td>电话号码</td> <td><el-checkbox /></td> <td> <el-checkbox label="telePhone"><span /></el-checkbox> </td> </tr> <tr> <td>入职日期</td> <td><el-checkbox /></td> <td> <el-checkbox label="entryDate"><span /></el-checkbox> </td> <td>保险类型</td> <td><el-checkbox /></td> <td> <el-checkbox label="insuranceType"><span /></el-checkbox> </td> <td>社保电脑号</td> <td><el-checkbox /></td> <td> <el-checkbox label="socialNumb"><span /></el-checkbox> </td> </tr> <tr> <td>招聘介绍人</td> <td><el-checkbox /></td> <td> <el-checkbox label="introducer"><span /></el-checkbox> </td> <td>入司工龄</td> <td><el-checkbox /></td> <td> <el-checkbox label="seniority"><span /></el-checkbox> </td> <td>工作证</td> <td><el-checkbox /></td> <td> <el-checkbox label="empCardStatus"><span /></el-checkbox> </td> </tr> <tr> <td>相关证件</td> <td><el-checkbox /></td> <td> <el-checkbox label="certificateList"><span /></el-checkbox> </td> <td>紧急联系电话</td> <td><el-checkbox /></td> <td> <el-checkbox label="urgencyPhone"><span /></el-checkbox> </td> <td>员工手册</td> <td><el-checkbox /></td> <td> <el-checkbox label="handbookStatus"><span /></el-checkbox> </td> </tr> <tr> <td>家庭成员及关系</td> <td><el-checkbox /></td> <td> <el-checkbox label="family"><span /></el-checkbox> </td> <td /> <td /> <td /> <td /> </tr> </el-checkbox-group> </table> <div slot="footer" class="dialog-footer"> <el-button @click="showDcyg(1)">取 消</el-button> @@ -1364,9 +1488,12 @@ </div> </template> <script> import { getToken } from '@/utils/auth' import Pagination from '@/components/Pagination' import Treeselect from '@riophae/vue-treeselect' import '@riophae/vue-treeselect/dist/vue-treeselect.css' import { calculateSeniority, toCardGetUserInfo } from '@/utils/myUtil' export default { components: { Pagination, Treeselect @@ -1374,77 +1501,168 @@ data() { return { total: 0, // 总数量 queryParams: {}, // 查询参数 queryParams: { empNumb: '' }, // 查询参数 sort: {}, // 排序 pagination: { // 分页参数 size: 5, size: 20, num: 1 }, empBaseInfoForm: {}, empBaseInfoForm: { empId: '', customerId: '', archivesNumb: '', deptId: '', deptName: '', empNumb: '', empName: '', sex: '1', JobId: '', jobName: '', empType: '1', certificateType: '', certificateNumb: '', nation: '01', certificateValidity: '', marriage: '1', age: '', stature: '', birthdate: '', politics: '13', entryDate: '', education: '61', seniority: '', nativePlace: '', nativePlaceName: '', censusAddress: '', currentAddress: '', guardNumb: '', telePhone: '', returnReceipt: '', introducer: '', archivesStatus: '0', bankName: '', bankNumb: '', InsuranceType: '', socialNumb: '', family: '', handbookStatus: '0', urgencyPhone: '', empCardStatus: '0', certificateList: '', createTime: '', creator: '', modifyTime: '', modifier: '', delFlag: '0', empStatus: 0, version: '' }, ygdgForm: {}, gbdaForm: {}, gbdaForm: { dgryIds: '', dimissionType: '1', dimissionDate: new Date(), remark: '' }, depts: [], fileList: [], rules: { archivesNumb: [{ required: true, message: '请输入档案号', trigger: 'blur' }], empBaseInfoRules: { archivesNumb: [{ required: true, message: '请输入档案号', trigger: 'blur' }, { max: 20, message: this.$t('rules.noMoreThan20'), trigger: 'blur' }], empName: [{ required: true, message: '请输入员工姓名', trigger: 'blur' }, { min: 2, max: 50, message: '长度在 2 到 50 个字符', trigger: 'blur' }], { min: 2, max: 32, message: '长度不超过32个字符', trigger: 'blur' }], empNumb: [{ required: true, message: '请输入员工编号', trigger: 'blur' }, { min: 2, max: 50, message: '长度在 2 到 50 个字符', trigger: 'blur' }], { min: 2, max: 20, message: this.$t('rules.noMoreThan20'), trigger: 'blur' }], deptName: [ { required: true, message: '请选择护卫点', trigger: 'input' } ], certificateNumb: [{ required: true, message: '请输入身份证号', trigger: 'blur' }], certificateNumb: [{ required: true, message: '请输入身份证号', trigger: 'blur' }, { min: 15, max: 18, message: '身份证长度为15-18位', trigger: 'blur' }], jobName: [{ required: true, message: '请选择岗位', trigger: 'change' }], nativePlaceName: [{ required: true, message: '请选择籍贯', trigger: 'change' }], bankName: [{ required: true, message: '请输入银行名称', trigger: 'blur' }], bankName: [{ required: true, message: '请输入银行名称', trigger: 'blur' }, { max: 36, message: '长度不超过36个字符', trigger: 'blur' }], insuranceType: [{ required: true, message: '请选择保险类型', trigger: 'change' }], entryDate: [{ required: true, message: '请选择入职日期', trigger: 'change' }], seniority: [{ required: true, message: '请输入入司工龄', trigger: 'blur' }], archivesStatus: [{ required: true, message: '请选择档案情况', trigger: 'change' }], bankNumb: [{ required: true, message: '请输入银行账号', trigger: 'blur' }], bankNumb: [{ required: true, message: '请输入银行账号', trigger: 'blur' }, { max: 32, message: '长度不超过32个字符', trigger: 'blur' }], empType: [{ required: true, message: '请选择员工类型', trigger: 'change' }], workUnit: [{ required: true, message: '请输入工作单位', trigger: 'blur' }], beginDate: [{ required: true, message: '请选择开始日期', trigger: 'change' }], endDate: [{ required: true, message: '请选择结束日期', trigger: 'change' }], hospital: [{ required: true, message: '请输入体检医院', trigger: 'blur' }], physicalExamDate: [{ required: true, message: '请选择体检日期', trigger: 'change' }], conclusion: [{ required: true, message: '请输入体检结论', trigger: 'blur' }], signingDate: [{ required: true, message: '请选择合同签订日期', trigger: 'change' }], contractStatus: [{ required: true, message: '请选择合同状态', trigger: 'change' }], attendMonth: [{ required: true, message: '请选择出勤月份', trigger: 'change' }], deduct: [{ required: true, message: '请输入代扣填款项', trigger: 'blur' }], attendDays: [{ required: true, message: '请输入出勤天数', trigger: 'blur' }], beginTime: [{ required: true, message: '请选择请假开始时间', trigger: 'change' }], leaveType: [{ required: true, message: '请选择请假类型', trigger: 'change' }], reporter: [{ required: true, message: '请输入报备人', trigger: 'blur' }], endTime: [{ required: true, message: '请选择请假结束时间', trigger: 'change' }], applayDate: [{ required: true, message: '请选择申请日期', trigger: 'change' }], reason: [{ required: true, message: '请输入辞职事由', trigger: 'blur' }], applayReason: [{ required: true, message: '请输入申报事由', trigger: 'blur' }], insuranceGaers: [{ required: true, message: '请选择社保档位', trigger: 'change' }], applayStatus: [{ required: true, message: '请选择申请状态', trigger: 'change' }], proposer: [{ required: true, message: '请输入申请人', trigger: 'blur' }], injuredTime: [{ required: true, message: '请选择受伤时间', trigger: 'blur' }], injuredPart: [{ required: true, message: '请输入受伤部位', trigger: 'blur' }], injuredDescribe: [{ required: true, message: '请输入受伤经过描述', trigger: 'blur' }], hospitalName: [{ required: true, message: '请输入就诊医院', trigger: 'blur' }], hospitalizatioFlag: [{ required: true, message: '请选择是否住院', trigger: 'blur' }], innsureFee: [{ required: true, message: '请输入保险赔付费用', trigger: 'blur' }], settleDate: [{ required: true, message: '请选择案结时间', trigger: 'change' }], expensesFee: [{ required: true, message: '请输入医疗总费用', trigger: 'blur' }], settleStatus: [{ required: true, message: '请选择结案状态', trigger: 'change' }], injuredAddress: [{ required: true, message: '请输入受伤地点', trigger: 'blur' }], compensated: [{ required: true, message: '请输入已赔付医药费用', trigger: 'blur' }], companyCompensation: [{ required: true, message: '请输入公司赔偿总费用', trigger: 'blur' }], arbitrationDate: [{ required: true, message: '请选择仲裁日期', trigger: 'change' }], arbitrationReason: [{ required: true, message: '请输入仲裁事由', trigger: 'blur' }], arbitrationStatus: [{ required: true, message: '请选择结案状态', trigger: 'change' }], badDate: [{ required: true, message: '请选择不良记录日期', trigger: 'change' }], badContent: [{ required: true, message: '请输入不良记录描述', trigger: 'blur' }], remarkDate: [{ required: true, message: '请选择备注日期', trigger: 'change' }], remarkContent: [{ required: true, message: '请输入备注内容', trigger: 'blur' }] censusAddress: [{ max: 128, message: '长度不超过128个字符', trigger: 'blur' }], currentAddress: [{ max: 128, message: '长度不超过128个字符', trigger: 'blur' }], guardNumb: [{ max: 40, message: '长度不超过40个字符', trigger: 'blur' }], telePhone: [{ max: 30, message: '长度不超过30个字符', trigger: 'blur' }], returnReceipt: [{ max: 40, message: '长度不超过40个字符', trigger: 'blur' }], introducer: [{ max: 32, message: '长度不超过32个字符', trigger: 'blur' }], socialNumb: [{ max: 40, message: '长度不超过40个字符', trigger: 'blur' }], family: [{ max: 128, message: '长度不超过128个字符', trigger: 'blur' }], certificateValidity: [{ required: true, message: '请选择身份证有效期', trigger: 'change' }], urgencyPhone: [{ max: 30, message: '长度不超过30个字符', trigger: 'blur' }] }, gbdaRules: { dimissionType: [{ required: true, message: '请选择离职类型', trigger: 'change' }], dimissionDate: [{ required: true, message: '请选择关闭日期', trigger: 'change' }], selfLeaveDay: [{ required: true, validator: this.validSelfLeaveDay }], reporter: [{ required: true, validator: this.validReporter }], remark: [{ max: 500, message: '长度不超过500个字符', trigger: 'blur' }] }, ygdgRules: { changeType: [{ required: true, message: '请选择调岗类型', trigger: 'change' }], changeDate: [{ required: true, message: '请选择调岗日期', trigger: 'change' }], jobId: [{ required: true, message: '请选择现岗位', trigger: 'change' }], deptId: [{ required: true, message: '请选择现部门', trigger: 'change' }], changeReason: [{ max: 500, message: '长度不超过500个字符', trigger: 'blur' }] }, restaurants: [{ value: '北京市', code: '110000' }, { value: '天津市', code: '120000' }, { value: '河北省', code: '130000' }, { value: '山西省', code: '140000' }, { value: '内蒙古自治区', code: '150000' }, { value: '辽宁省', code: '210000' }, { value: '吉林省', code: '220000' }, { value: '黑龙江省', code: '230000' }, { value: '上海市', code: '310000' }, { value: '江苏省', code: '320000' }, { value: '浙江省', code: '330000' }, { value: '安徽省', code: '340000' }, { value: '福建省', code: '350000' }, { value: '江西省', code: '360000' }, { value: '山东省', code: '370000' }, { value: '河南省', code: '410000' }, { value: '湖北省', code: '420000' }, { value: '湖南省', code: '430000' }, { value: '广东省', code: '440000' }, { value: '广西壮族自治区', code: '450000' }, { value: '海南省', code: '460000' }, { value: '重庆市', code: '500000' }, { value: '四川省', code: '510000' }, { value: '贵州省', code: '520000' }, { value: '云南省', code: '530000' }, { value: '西藏自治区', code: '540000' }, { value: '陕西省', code: '610000' }, { value: '甘肃省', code: '620000' }, { value: '青海省', code: '630000' }, { value: '宁夏回族自治区', code: '640000' }, { value: '新疆维吾尔自治区', code: '650000' }, { value: '台湾省', code: '710000' }, { value: '香港特别行政区', code: '810000' }, { value: '澳门特别行政区', code: '820000' }], restaurJob: [{ value: '总经理', code: '2942725270000031' }, { value: '总秘', code: '2942725270000032' }, { value: '总助', code: '2942725270000033' }, @@ -1480,6 +1698,11 @@ dialogShowYgdg: false, dialogShowDryg: false, dialogShowGbda: false, exportUrl: '', checkAll: false, isIndeterminate: false, cityOptions: ['sex', 'empName', 'archivesNumb', 'deptName', 'jobName', 'empType', 'nation', 'certificateNumb', 'age', 'marriage', 'certificateValidity', 'stature', 'politics', 'birthdate', 'education', 'nativePlace', 'censusAddress', 'currentAddress', 'guardNumb', 'returnReceipt', 'archivesStatus', 'bankName', 'bankNumb', 'telePhone', 'entryDate', 'insuranceType', 'socialNumb', 'introducer', 'seniority', 'empCardStatus', 'certificateList', 'urgencyPhone', 'handbookStatus', 'family'], checkedCities: [], tableData: [] } }, @@ -1488,6 +1711,12 @@ this.initDept() }, methods: { resetSearch() { this.queryParams = { empNumb: '' } this.search() }, // 翻页方法 search() { this.fetch({ @@ -1500,6 +1729,7 @@ params.pageSize = this.pagination.size params.pageNum = this.pagination.num params.delFlag = 0 params.empStatus = 0 this.$get('hr/empBaseInfo/list', { ...params }).then((r) => { @@ -1545,6 +1775,108 @@ this.advancedQueryShow = true } }, calculateSeniority(val) { this.empBaseInfoForm.seniority = calculateSeniority(val) }, cleanEmpBase() { this.empBaseInfoForm.empId = '' this.empBaseInfoForm.customerId = '' this.empBaseInfoForm.archivesNumb = '' this.empBaseInfoForm.deptId = '' this.empBaseInfoForm.deptName = '' this.empBaseInfoForm.empNumb = '' this.empBaseInfoForm.empName = '' this.empBaseInfoForm.sex = '' this.empBaseInfoForm.JobId = '' this.empBaseInfoForm.jobName = '' this.empBaseInfoForm.empType = '' this.empBaseInfoForm.certificateType = '' this.empBaseInfoForm.certificateNumb = '' this.empBaseInfoForm.nation = '' this.empBaseInfoForm.certificateValidity = '' this.empBaseInfoForm.marriage = '' this.empBaseInfoForm.age = '' this.empBaseInfoForm.stature = '' this.empBaseInfoForm.birthdate = '' this.empBaseInfoForm.politics = '' this.empBaseInfoForm.entryDate = '' this.empBaseInfoForm.education = '' this.empBaseInfoForm.seniority = '' this.empBaseInfoForm.nativePlace = '' this.empBaseInfoForm.nativePlaceName = '' this.empBaseInfoForm.censusAddress = '' this.empBaseInfoForm.currentAddress = '' this.empBaseInfoForm.guardNumb = '' this.empBaseInfoForm.telePhone = '' this.empBaseInfoForm.returnReceipt = '' this.empBaseInfoForm.introducer = '' this.empBaseInfoForm.archivesStatus = '' this.empBaseInfoForm.bankName = '' this.empBaseInfoForm.bankNumb = '' this.empBaseInfoForm.InsuranceType = '' this.empBaseInfoForm.socialNumb = '' this.empBaseInfoForm.family = '' this.empBaseInfoForm.handbookStatus = '' this.empBaseInfoForm.urgencyPhone = '' this.empBaseInfoForm.empCardStatus = '' this.empBaseInfoForm.certificateList = '' this.empBaseInfoForm.createTime = '' this.empBaseInfoForm.creator = '' this.empBaseInfoForm.modifyTime = '' this.empBaseInfoForm.modifier = '' this.empBaseInfoForm.delFlag = '' this.empBaseInfoForm.version = '' }, editEmpBase(row) { this.isAdd = false this.empBaseInfoForm.empId = row.empId this.empBaseInfoForm.customerId = row.customerId this.empBaseInfoForm.archivesNumb = row.archivesNumb this.empBaseInfoForm.deptId = row.deptId this.empBaseInfoForm.deptName = row.deptName this.empBaseInfoForm.empNumb = row.empNumb this.empBaseInfoForm.empName = row.empName this.empBaseInfoForm.sex = row.sex this.empBaseInfoForm.JobId = row.JobId this.empBaseInfoForm.jobName = row.jobName this.empBaseInfoForm.empType = row.empType this.empBaseInfoForm.certificateType = row.certificateType this.empBaseInfoForm.certificateNumb = row.certificateNumb this.empBaseInfoForm.nation = row.nation this.empBaseInfoForm.certificateValidity = row.certificateValidity this.empBaseInfoForm.marriage = row.marriage this.empBaseInfoForm.age = row.age this.empBaseInfoForm.stature = row.stature this.empBaseInfoForm.birthdate = row.birthdate this.empBaseInfoForm.politics = row.politics this.empBaseInfoForm.entryDate = row.entryDate this.empBaseInfoForm.education = row.education this.empBaseInfoForm.seniority = row.seniority this.empBaseInfoForm.nativePlace = row.nativePlace this.empBaseInfoForm.censusAddress = row.censusAddress this.empBaseInfoForm.currentAddress = row.currentAddress this.empBaseInfoForm.guardNumb = row.guardNumb this.empBaseInfoForm.telePhone = row.telePhone this.empBaseInfoForm.returnReceipt = row.returnReceipt this.empBaseInfoForm.introducer = row.introducer this.empBaseInfoForm.archivesStatus = row.archivesStatus this.empBaseInfoForm.bankName = row.bankName this.empBaseInfoForm.bankNumb = row.bankNumb this.empBaseInfoForm.InsuranceType = row.InsuranceType this.empBaseInfoForm.socialNumb = row.socialNumb this.empBaseInfoForm.family = row.family this.empBaseInfoForm.handbookStatus = row.handbookStatus this.empBaseInfoForm.urgencyPhone = row.urgencyPhone this.empBaseInfoForm.empCardStatus = row.empCardStatus this.empBaseInfoForm.certificateList = row.certificateList this.empBaseInfoForm.createTime = row.createTime this.empBaseInfoForm.creator = row.creator this.empBaseInfoForm.modifyTime = row.modifyTime this.empBaseInfoForm.modifier = row.modifier this.empBaseInfoForm.delFlag = row.delFlag this.empBaseInfoForm.version = row.version this.showXzyg(1) }, putEmpBase(formName) { this.$refs[formName].validate((valid) => { if (valid) { @@ -1556,7 +1888,6 @@ type: 'success' }) this.cleanEmpBase() this.selectEmpBase() }) } else { this.$put('hr/empBaseInfo', { ...this.empBaseInfoForm }).then(() => { @@ -1566,10 +1897,10 @@ }) this.$emit('success') this.cleanEmpBase() this.selectEmpBase() }) } this.dialogIsShow() this.fetch() this.showXzyg() } }) }, @@ -1584,7 +1915,7 @@ type: 'success' }) this.cleanEmpBase() this.selectEmpBase() this.fetch() }) } } @@ -1615,12 +1946,26 @@ showEmpInfo() { this.dialogTableVisible = true }, showXzyg() { showXzyg(val) { if (val === 0) { this.isAdd = true } if (!this.dialogShowXzyg) { // this.isAdd = true this.dialogShowXzyg = true } else { // this.isAdd = false this.dialogShowXzyg = false } }, handleCheckAllChange(val) { this.checkedCities = val ? this.cityOptions : [] this.isIndeterminate = false }, handleCheckedCitiesChange(value) { const checkedCount = value.length this.checkAll = checkedCount === this.cityOptions.length this.isIndeterminate = checkedCount > 0 && checkedCount < this.cityOptions.length }, showDcyg(operate) { switch (operate) { @@ -1630,9 +1975,18 @@ case 1: this.dialogShowDcyg = false break case 2: var params = { exportField: this.checkedCities.join(',') } this.$download('hr/empBaseInfo/export', { ...params }, '在职员工列表.xls').then(() => { this.$message({ message: '下载成功!', type: 'success' }) }) break } }, showYgdg(operate) { showYgdg(operate, formName) { switch (operate) { case 0: var selection = this.$refs.multipleTable.store.states.selection @@ -1642,16 +1996,22 @@ type: 'error' }) } else { var empIds = [] var ids = [] var names = [] var deptNames = [] var jobNames = [] for (var i = 0; i < selection.length; i++) { var data = selection[i] empIds.push(data.empId) ids.push(data.empId) names.push(data.empName) deptNames.push(data.deptName) jobNames.push(data.jobName) } this.ygdgForm = { dgryIds: empIds.join(','), dgryNames: names.join(',') empIds: ids.join(','), empNames: names.join(','), oldDeptNames: deptNames.join(','), oldJobNames: jobNames.join(',') } this.dialogShowYgdg = true } @@ -1660,15 +2020,41 @@ this.dialogShowYgdg = false break case 2: this.$post('hr/empBaseInfo', { ...this.ygdgForm }).then(() => { this.$refs[formName].validate((valid) => { if (valid) { this.$post('hr/empBaseInfo/jobChange', { ...this.ygdgForm }).then(() => { this.dialogShowYgdg = false this.$message({ message: this.$t('tips.createSuccess'), message: this.$t('员工调岗成功'), type: 'success' }) this.fetch({ ...this.queryParams, ...this.sort }) }) } }) break } }, querySearch(queryString, cb) { var restaurants = this.restaurants var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants // 调用 callback 返回建议列表的数据 cb(results) }, createFilter(queryString) { return (restaurant) => { return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0) } }, placeNameSelect(item) { this.empBaseInfoForm.nativePlaceName = item.value this.empBaseInfoForm.nativePlace = item.code }, deptNameSelect(node) { this.ygdgForm.newDeptName = node.label }, querySearchJob(queryString, cb) { const restaurants = this.restaurJob @@ -1677,8 +2063,20 @@ cb(results) }, jobNameSelect(item) { this.ygdgForm.jobName = item.value this.ygdgForm.JobId = item.code this.empBaseInfoForm.jobName = item.value this.empBaseInfoForm.JobId = item.code this.ygdgForm.newJobName = item.value this.ygdgForm.jobId = item.code }, generateUserInfo(index, val) { var userinfo = toCardGetUserInfo(val) if (userinfo === null) { return } this.empBaseInfoForm.age = userinfo.age this.empBaseInfoForm.birthdate = userinfo.birth this.empBaseInfoForm.sex = userinfo.sex }, showDryg(operate) { switch (operate) { @@ -1693,7 +2091,35 @@ break } }, showGbda(operate) { validSelfLeaveDay(rule, value, callback) { const type = this.gbdaForm.dimissionType if (type === 2) { if (!value) { callback(new Error('自动离职时自离天数不能为空!')) } else { callback() } } else { callback() } }, validReporter(rule, value, callback) { const type = this.gbdaForm.dimissionType if (type === 2) { if (!value) { callback(new Error('自动离职时报告人不能为空!')) } else { if (value.length > 32) { callback(new Error('自动离职时报告人最多32个字符!')) } else { callback() } } } else { callback() } }, showGbda(operate, formName) { switch (operate) { case 0: var selection = this.$refs.multipleTable.store.states.selection @@ -1703,16 +2129,26 @@ type: 'error' }) } else { var empIds = [] var ids = [] var names = [] var dates = [] for (var i = 0; i < selection.length; i++) { var data = selection[i] empIds.push(data.empId) ids.push(data.empId) names.push(data.empName) dates.push(data.entryDate) } const nowDate = new Date() const year = nowDate.getFullYear() const month = nowDate.getMonth() + 1 const day = nowDate.getDate() this.gbdaForm = { dgryIds: empIds.join(','), dgryNames: names.join(',') empIds: ids.join(','), dgryNames: names.join(','), entryDates: dates.join(','), dimissionType: '1', dimissionDate: year + '-' + month + '-' + day, remark: '' } this.dialogShowGbda = true } @@ -1721,12 +2157,20 @@ this.dialogShowGbda = false break case 2: this.$post('hr/empBaseInfo', { ...this.gbdaForm }).then(() => { this.$refs[formName].validate((valid) => { if (valid) { this.$post('hr/empBaseInfo/dimission', { ...this.gbdaForm }).then(() => { this.dialogShowGbda = false this.$message({ message: this.$t('tips.createSuccess'), message: this.$t('员工档案关闭成功'), type: 'success' }) this.fetch({ ...this.queryParams, ...this.sort }) }) } }) break } @@ -1747,6 +2191,25 @@ message: '已取消' }) }) }, downloadExcel() { debugger this.$download('../../assets/excel/员工信息.xls', { }, '在职员工列表.xls').then(() => { this.$message({ message: '下载成功!', type: 'success' }) }) }, headers() { const token = getToken() if (token) { return { Authorization: 'bearer ' + token } } else { return null } } } } @@ -1755,12 +2218,15 @@ .el-main { height: 600px; } .el-autocomplete { width: 100%; } .el-select { width: 100%; } .el-aside { padding: 20px; background: #f3f5f8; @@ -1829,10 +2295,12 @@ #dcygTable{ border-collapse: collapse; } #dcygTable td{ width: 130px; text-align: center; border: 1px solid darkgray; height: 30px; font-size:15px; } </style> src/views/user/outemployess.vue
@@ -14,32 +14,52 @@ </el-row> <el-row> <el-col :span="3">员工编号: <el-input v-model="queryParams.empNumb" placeholder="请输入内容" style="width:80px" /> <el-input v-model="queryParams.empNumb" size="small" maxlength="20" style="width:85px" /> </el-col> <el-col :span="3">姓名: <el-input v-model="queryParams.empName" placeholder="请输入内容" style="width:80px" /> <el-input v-model="queryParams.empName" size="small" maxlength="10" style="width:110px" /> </el-col> <el-col :span="3">身份证号: <el-input v-model="queryParams.certificateNumb" placeholder="请输入内容" style="width:80px" /> <el-col :span="4">身份证号: <el-input v-model="queryParams.certificateNumb" size="small" maxlength="18" style="width:140px" /> </el-col> <el-col :span="3">护卫点: <el-input v-model="queryParams.deptName" placeholder="请输入内容" style="width:80px" /> <el-input v-model="queryParams.deptName" size="small" maxlength="20" style="width:100px" /> </el-col> <el-col :span="2.5">入职日期:从 <el-input v-model="queryParams.entryDateBegin" placeholder="请输入内容" style="width:80px" /> <el-col :span="8">入职日期: <el-date-picker v-model="queryParams.entryDateStr" size="small" type="daterange" align="right" unlink-panels range-separator="至" value-format="yyyy-MM-dd" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions" style="width: 400px;" /> </el-col> <el-col :span="1.5">到 <el-input v-model="queryParams.entryDateEnd" placeholder="请输入内容" style="width:80px" /> </el-col> <el-col :span="2.5">离职日期:从 <el-input v-model="queryParams.attendMonthStart" placeholder="请输入内容" style="width:80px" /> </el-col> <el-col :span="1.5">到 <el-input v-model="queryParams.attendMonthEnd" placeholder="请输入内容" style="width:80px" /> </el-row> <el-row> <el-col :span="8">离职日期: <el-date-picker v-model="queryParams.dimissionDateStr" size="small" type="daterange" align="right" unlink-panels range-separator="至" value-format="yyyy-MM-dd" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions" style="width: 400px;" /> </el-col> <el-col :span="3"> <el-button type="primary">查询</el-button> <el-button type="danger">重置</el-button> <el-button size="mini" class="hr-but-all" type="primary" @click="search">查询</el-button> <el-button size="mini" class="hr-but" type="danger" @click="resetSearch">重置</el-button> </el-col> </el-row> <div v-show="advancedQueryShow"> @@ -50,83 +70,98 @@ <tr> <td>性别:</td> <td> <el-radio-group v-model="radio"> <el-radio :label="3">全部</el-radio> <el-radio :label="6">男性</el-radio> <el-radio :label="9">女性</el-radio> <el-radio-group v-model="queryParams.sex"> <el-radio label="">全部</el-radio> <el-radio label="1">男性</el-radio> <el-radio label="2">女性</el-radio> </el-radio-group> </td> </tr> <tr> <td>最高学历:</td> <td> <el-radio-group v-model="radio"> <el-radio :label="3">全部</el-radio> <el-radio :label="6">初中</el-radio> <el-radio :label="9">高中</el-radio> <el-radio :label="9">大专</el-radio> <el-radio :label="9">本科</el-radio> <el-radio :label="9">硕士</el-radio> <el-radio :label="9">博士</el-radio> <el-radio-group v-model="queryParams.education"> <el-radio label="">全部</el-radio> <el-radio label="91">无学历</el-radio> <el-radio label="81">小学</el-radio> <el-radio label="71">初中</el-radio> <el-radio label="61">高中</el-radio> <el-radio label="42">中技</el-radio> <el-radio label="41">中专</el-radio> <el-radio label="31">大学专科</el-radio> <el-radio label="21">大学本科</el-radio> <el-radio label="11">硕士</el-radio> <el-radio label="10">博士</el-radio> </el-radio-group> </td> </tr> <tr> <td>政治面貌:</td> <td> <el-radio-group v-model="radio"> <el-radio :label="3">全部</el-radio> <el-radio :label="6">党员</el-radio> <el-radio :label="9">团员</el-radio> <el-radio :label="9">群众</el-radio> <el-radio-group v-model="queryParams.politics"> <el-radio label="">全部</el-radio> <el-radio label="01">中共党员</el-radio> <el-radio label="02">预备党员</el-radio> <el-radio label="03">共青团员</el-radio> <el-radio label="04">民革会员</el-radio> <el-radio label="05">民盟盟员</el-radio> <el-radio label="06">民建会员</el-radio> <el-radio label="07">民进会员</el-radio> <el-radio label="08">农工党员</el-radio> <el-radio label="09">致公党员</el-radio> <el-radio label="10">九三社员</el-radio> <el-radio label="11">台盟盟员</el-radio> <el-radio label="12">民主人士</el-radio> <el-radio label="13">群众</el-radio> </el-radio-group> </td> </tr> <tr> <td>年龄:</td> <td> <el-radio-group v-model="radio"> <el-radio :label="3">全部</el-radio> <el-radio :label="6">18-29</el-radio> <el-radio :label="9">30-39</el-radio> <el-radio :label="9">40-49</el-radio> <el-radio :label="9">50-59</el-radio> <el-radio :label="9">60-69</el-radio> <el-radio :label="9">69及以上</el-radio> <el-radio-group v-model="queryParams.ageStr"> <el-radio label="">全部</el-radio> <el-radio label="18-29">18-29</el-radio> <el-radio label="30-39">30-39</el-radio> <el-radio label="40-49">40-49</el-radio> <el-radio label="50-59">50-59</el-radio> <el-radio label="60-69">60-69</el-radio> <el-radio label="69-999">69及以上</el-radio> </el-radio-group> </td> </tr> <tr> <td>档案情况:</td> <td> <el-radio-group v-model="radio"> <el-radio :label="3">全部</el-radio> <el-radio :label="6">已移交</el-radio> <el-radio :label="9">未移交</el-radio> <el-radio-group v-model="queryParams.archivesStatus"> <el-radio label="">全部</el-radio> <el-radio label="0">已移交</el-radio> <el-radio label="1">未移交</el-radio> </el-radio-group> </td> </tr> <tr> <td>保险类型:</td> <td> <el-radio-group v-model="radio"> <el-radio :label="3">全部</el-radio> <el-radio :label="6">深户(五险一档)</el-radio> <el-radio :label="6">非深户(五险一档)</el-radio> <el-radio :label="6">非深户(五险二档)</el-radio> <el-radio :label="6">非深户(五险三档)</el-radio> <el-radio :label="6">非深户(四险三档)</el-radio> <el-radio-group v-model="queryParams.insuranceType"> <el-radio label="">全部</el-radio> <el-radio :label="1">深户(五险一档)</el-radio> <el-radio :label="2">非深户(五险一档)</el-radio> <el-radio :label="3">非深户(五险二档)</el-radio> <el-radio :label="4">非深户(五险三档)</el-radio> <el-radio :label="5">非深户(四险三档)</el-radio> </el-radio-group> </td> </tr> <tr> <td>员工状态:</td> <td> <el-radio-group v-model="radio"> <el-radio :label="3">全部</el-radio> <el-radio :label="6">正常离职</el-radio> <el-radio :label="6">自离</el-radio> <el-radio :label="6">公司辞退</el-radio> <el-radio-group v-model="queryParams.empStatus"> <el-radio label="">全部</el-radio> <el-radio :label="1">在职</el-radio> <el-radio :label="2">正常离职</el-radio> <el-radio :label="3">自动离职</el-radio> <el-radio :label="4">公司辞退</el-radio> </el-radio-group> </td> </tr> @@ -901,13 +936,15 @@ data() { return { total: 0, // 总数量 queryParams: {}, // 查询参数 queryParams: { empNumb: '' }, // 查询参数 sort: {}, // 排序 pagination: { // 分页参数 size: 5, num: 1 }, headerHeight: '70px', headerHeight: '100px', advancedQueryShow: false, dialogTableVisible: false, dialogShowDkda: false, @@ -921,6 +958,12 @@ this.fetch() }, methods: { resetSearch() { this.queryParams = { empNumb: '' } this.search() }, // 翻页方法 search() { this.queryParams.empName = this.queryParams.empNumb @@ -934,7 +977,8 @@ var that = this params.pageSize = this.pagination.size params.pageNum = this.pagination.num params.delFlag = 1 params.delFlag = 0 params.empStatus = 1 this.$get('hr/empBaseInfo/list', { ...params }).then((r) => { @@ -955,10 +999,10 @@ }, advancedQueryShowMethods() { if (this.advancedQueryShow) { this.headerHeight = '70px' this.headerHeight = '100px' this.advancedQueryShow = false } else { this.headerHeight = '300px' this.headerHeight = '330px' this.advancedQueryShow = true } }, @@ -1066,9 +1110,6 @@ background: #f3f5f8; height: 600px; .el-tree { height: 100%; } } #searchTable { src/views/user/search.vue
@@ -62,7 +62,7 @@ <el-col :span="3">护卫点: <el-input v-model="queryParams.deptName" size="small" maxlength="20" style="width:100px" /> </el-col> <el-col :span="8">入职日期: <el-col :span="9">入职日期: <el-date-picker v-model="queryParams.entryDateStr" size="small" @@ -79,7 +79,7 @@ </el-col> </el-row> <el-row> <el-col :span="8">离职日期: <el-col :span="9">离职日期: <el-date-picker v-model="queryParams.dimissionDateStr" size="small" @@ -631,27 +631,36 @@ <div v-show="showArr[6].show"> <el-row> <el-col :span="4">员工编号: <el-input v-model="queryParams.empNumb" placeholder="请输入内容" style="width:80px" /> <el-col :span="3">员工编号: <el-input v-model="queryParams.empNumb" size="small" maxlength="20" style="width:85px" /> </el-col> <el-col :span="3">姓名: <el-input v-model="queryParams.empName" placeholder="请输入内容" style="width:80px" /> <el-input v-model="queryParams.empName" size="small" maxlength="10" style="width:110px" /> </el-col> <el-col :span="4">身份证号: <el-input v-model="queryParams.certificateNumb" placeholder="请输入内容" style="width:80px" /> <el-input v-model="queryParams.certificateNumb" size="small" maxlength="18" style="width:140px" /> </el-col> <el-col :span="4">部门(护卫点): <el-input v-model="queryParams.deptName" placeholder="请输入内容" style="width:80px" /> <el-col :span="3">护卫点: <el-input v-model="queryParams.deptName" size="small" maxlength="20" style="width:100px" /> </el-col> <el-col :span="2.5">辞职申请日期:从 <el-input v-model="queryParams.applayDateDateStart" placeholder="请输入内容" style="width:80px" /> </el-col> <el-col :span="1.5">到 <el-input v-model="queryParams.applayDateDateEnd" placeholder="请输入内容" style="width:80px" /> <el-col :span="9">辞职申请日期: <el-date-picker v-model="queryParams.applayDateStr" size="small" type="daterange" align="right" unlink-panels range-separator="至" value-format="yyyy-MM-dd" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions" style="width: 400px;" /> </el-col> <el-col :span="4"> <el-button type="primary">查询</el-button> <el-button type="danger">重置</el-button> <el-button size="mini" class="hr-but-all" type="primary" @click="search">查询</el-button> <el-button size="mini" class="hr-but" type="danger" @click="resetSearch">重置</el-button> </el-col> </el-row> <el-table ref="resignTable" :data="resignData" style="width: 100%;height: 70%;"> @@ -675,27 +684,36 @@ <div v-show="showArr[7].show"> <el-row> <el-col :span="4">员工编号: <el-input v-model="queryParams.empNumb" placeholder="请输入内容" style="width:80px" /> <el-col :span="3">员工编号: <el-input v-model="queryParams.empNumb" size="small" maxlength="20" style="width:85px" /> </el-col> <el-col :span="3">姓名: <el-input v-model="queryParams.empName" placeholder="请输入内容" style="width:80px" /> <el-input v-model="queryParams.empName" size="small" maxlength="10" style="width:110px" /> </el-col> <el-col :span="4">身份证号: <el-input v-model="queryParams.certificateNumb" placeholder="请输入内容" style="width:80px" /> <el-input v-model="queryParams.certificateNumb" size="small" maxlength="18" style="width:140px" /> </el-col> <el-col :span="3.5">部门(护卫点): <el-input v-model="queryParams.deptName" placeholder="请输入内容" style="width:80px" /> <el-col :span="3">护卫点: <el-input v-model="queryParams.deptName" size="small" maxlength="20" style="width:100px" /> </el-col> <el-col :span="2.5">失业金领取日期:从 <el-input v-model="queryParams.applayDateDateStart" placeholder="请输入内容" style="width:80px" /> </el-col> <el-col :span="1.5">到 <el-input v-model="queryParams.applayDateDateEnd" placeholder="请输入内容" style="width:80px" /> <el-col :span="9">失业金领取日期: <el-date-picker v-model="queryParams.applayDateStr" size="small" type="daterange" align="right" unlink-panels range-separator="至" value-format="yyyy-MM-dd" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions" style="width: 400px;" /> </el-col> <el-col :span="4"> <el-button type="primary">查询</el-button> <el-button type="danger">重置</el-button> <el-button size="mini" class="hr-but-all" type="primary" @click="search">查询</el-button> <el-button size="mini" class="hr-but" type="danger" @click="resetSearch">重置</el-button> </el-col> </el-row> <el-table ref="unemploymentTable" :data="unemploymentData" style="width: 100%;height: 70%;"> @@ -720,50 +738,59 @@ <div v-show="showArr[8].show"> <el-row> <el-col :span="4">员工编号: <el-input v-model="queryParams.empNumb" placeholder="请输入内容" style="width:80px" /> <el-col :span="3">员工编号: <el-input v-model="queryParams.empNumb" size="small" maxlength="20" style="width:85px" /> </el-col> <el-col :span="3">姓名: <el-input v-model="queryParams.empName" placeholder="请输入内容" style="width:80px" /> <el-input v-model="queryParams.empName" size="small" maxlength="10" style="width:110px" /> </el-col> <el-col :span="4">身份证号: <el-input v-model="queryParams.certificateNumb" placeholder="请输入内容" style="width:80px" /> <el-input v-model="queryParams.certificateNumb" size="small" maxlength="18" style="width:140px" /> </el-col> <el-col :span="4">部门(护卫点): <el-input v-model="queryParams.deptName" placeholder="请输入内容" style="width:80px" /> <el-col :span="3">护卫点: <el-input v-model="queryParams.deptName" size="small" maxlength="20" style="width:100px" /> </el-col> <el-col :span="2.5">入职日期:从 <el-input v-model="queryParams.applayDateDateStart" placeholder="请输入内容" style="width:80px" /> </el-col> <el-col :span="1.5">到 <el-input v-model="queryParams.applayDateDateEnd" placeholder="请输入内容" style="width:80px" /> <el-col :span="9">入职日期: <el-date-picker v-model="queryParams.applayDateStr" size="small" type="daterange" align="right" unlink-panels range-separator="至" value-format="yyyy-MM-dd" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions" style="width: 400px;" /> </el-col> <el-col :span="4"> <el-button type="primary">查询</el-button> <el-button type="danger">重置</el-button> <el-button size="mini" class="hr-but-all" type="primary" @click="search">查询</el-button> <el-button size="mini" class="hr-but" type="danger" @click="resetSearch">重置</el-button> </el-col> </el-row> <table class="searchTable"> <tr> <td>社保档位:</td> <td> <el-radio-group v-model="radio"> <el-radio-group v-model="queryParams.insuranceGaers"> <el-radio label="">全部</el-radio> <el-radio :label="6">深户(五险一档)</el-radio> <el-radio :label="6">非深户(五险一档)</el-radio> <el-radio :label="6">非深户(五险二档)</el-radio> <el-radio :label="6">非深户(五险三档)</el-radio> <el-radio :label="6">非深户(四险三档)</el-radio> <el-radio :label="1">深户(五险一档)</el-radio> <el-radio :label="2">非深户(五险一档)</el-radio> <el-radio :label="3">非深户(五险二档)</el-radio> <el-radio :label="4">非深户(五险三档)</el-radio> <el-radio :label="5">非深户(四险三档)</el-radio> </el-radio-group> </td> </tr> <tr> <td>是否已报告:</td> <td> <el-radio-group v-model="radio"> <el-radio-group v-model="queryParams.reportStatus"> <el-radio label="">全部</el-radio> <el-radio :label="6">已报告</el-radio> <el-radio :label="6">未报告</el-radio> <el-radio :label="0">已报告</el-radio> <el-radio :label="1">未报告</el-radio> </el-radio-group> </td> </tr> @@ -804,53 +831,71 @@ <div v-show="showArr[9].show"> <el-row> <el-col :span="4">员工编号: <el-input v-model="queryParams.empNumb" placeholder="请输入内容" style="width:80px" /> <el-col :span="3">员工编号: <el-input v-model="queryParams.empNumb" size="small" maxlength="20" style="width:85px" /> </el-col> <el-col :span="3">姓名: <el-input v-model="queryParams.empName" placeholder="请输入内容" style="width:80px" /> <el-input v-model="queryParams.empName" size="small" maxlength="10" style="width:110px" /> </el-col> <el-col :span="4">身份证号: <el-input v-model="queryParams.certificateNumb" placeholder="请输入内容" style="width:80px" /> <el-input v-model="queryParams.certificateNumb" size="small" maxlength="18" style="width:140px" /> </el-col> <el-col :span="4">部门(护卫点): <el-input v-model="queryParams.deptName" placeholder="请输入内容" style="width:80px" /> <el-col :span="3">护卫点: <el-input v-model="queryParams.deptName" size="small" maxlength="20" style="width:100px" /> </el-col> <el-col :span="4">受伤日期:从 <el-input v-model="queryParams.applayDateDateStart" placeholder="请输入内容" style="width:80px" /> <el-col :span="9">受伤日期: <el-date-picker v-model="queryParams.injuredTimeStr" size="small" type="daterange" align="right" unlink-panels range-separator="至" value-format="yyyy-MM-dd" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions" style="width: 400px;" /> </el-col> <el-col :span="2">到 <el-input v-model="queryParams.applayDateDateEnd" placeholder="请输入内容" style="width:80px" /> </el-col> <el-col :span="2.5">人事处理时间:从 <el-input v-model="queryParams.applayDateDateStart" placeholder="请输入内容" style="width:80px" /> </el-col> <el-col :span="1.5">到 <el-input v-model="queryParams.applayDateDateEnd" placeholder="请输入内容" style="width:80px" /> <el-col :span="9">人事处理时间: <el-date-picker v-model="queryParams.hrDoDateStr" size="small" type="daterange" align="right" unlink-panels range-separator="至" value-format="yyyy-MM-dd" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions" style="width: 400px;" /> </el-col> <el-col :span="4"> <el-button type="primary">查询</el-button> <el-button type="danger">重置</el-button> <el-button size="mini" class="hr-but-all" type="primary" @click="search">查询</el-button> <el-button size="mini" class="hr-but" type="danger" @click="resetSearch">重置</el-button> </el-col> </el-row> <table class="searchTable"> <tr> <td>是否住院:</td> <td> <el-radio-group v-model="radio"> <el-radio-group v-model="queryParams.hospitalizatioFlag"> <el-radio label="">全部</el-radio> <el-radio :label="6">是</el-radio> <el-radio :label="6">否</el-radio> <el-radio :label="1">是</el-radio> <el-radio :label="0">否</el-radio> </el-radio-group> </td> </tr> <tr> <td>案结状态:</td> <td> <el-radio-group v-model="radio"> <el-radio-group v-model="queryParams.settleStatus"> <el-radio label="">全部</el-radio> <el-radio :label="6">已结案</el-radio> <el-radio :label="6">未结案</el-radio> <el-radio :label="1">已结案</el-radio> <el-radio :label="0">未结案</el-radio> </el-radio-group> </td> </tr> @@ -898,53 +943,71 @@ <div v-show="showArr[10].show"> <el-row> <el-col :span="4">员工编号: <el-input v-model="queryParams.empNumb" placeholder="请输入内容" style="width:80px" /> <el-col :span="3">员工编号: <el-input v-model="queryParams.empNumb" size="small" maxlength="20" style="width:85px" /> </el-col> <el-col :span="3">姓名: <el-input v-model="queryParams.empName" placeholder="请输入内容" style="width:80px" /> <el-input v-model="queryParams.empName" size="small" maxlength="10" style="width:110px" /> </el-col> <el-col :span="4">身份证号: <el-input v-model="queryParams.certificateNumb" placeholder="请输入内容" style="width:80px" /> <el-input v-model="queryParams.certificateNumb" size="small" maxlength="18" style="width:140px" /> </el-col> <el-col :span="4">部门(护卫点): <el-input v-model="queryParams.deptName" placeholder="请输入内容" style="width:80px" /> <el-col :span="3">护卫点: <el-input v-model="queryParams.deptName" size="small" maxlength="20" style="width:100px" /> </el-col> <el-col :span="4">受伤日期:从 <el-input v-model="queryParams.applayDateDateStart" placeholder="请输入内容" style="width:80px" /> <el-col :span="9">受伤日期: <el-date-picker v-model="queryParams.injuredTimeStr" size="small" type="daterange" align="right" unlink-panels range-separator="至" value-format="yyyy-MM-dd" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions" style="width: 400px;" /> </el-col> <el-col :span="2">到 <el-input v-model="queryParams.applayDateDateEnd" placeholder="请输入内容" style="width:80px" /> </el-col> <el-col :span="2.5">人事处理时间:从 <el-input v-model="queryParams.applayDateDateStart" placeholder="请输入内容" style="width:80px" /> </el-col> <el-col :span="1.5">到 <el-input v-model="queryParams.applayDateDateEnd" placeholder="请输入内容" style="width:80px" /> <el-col :span="9">人事处理时间: <el-date-picker v-model="queryParams.hrDoDateStr" size="small" type="daterange" align="right" unlink-panels range-separator="至" value-format="yyyy-MM-dd" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions" style="width: 400px;" /> </el-col> <el-col :span="4"> <el-button type="primary">查询</el-button> <el-button type="danger">重置</el-button> <el-button size="mini" class="hr-but-all" type="primary" @click="search">查询</el-button> <el-button size="mini" class="hr-but" type="danger" @click="resetSearch">重置</el-button> </el-col> </el-row> <table class="searchTable"> <tr> <td>是否住院:</td> <td> <el-radio-group v-model="radio"> <el-radio-group v-model="queryParams.hospitalizatioFlag"> <el-radio label="">全部</el-radio> <el-radio :label="6">是</el-radio> <el-radio :label="6">否</el-radio> <el-radio :label="1">是</el-radio> <el-radio :label="0">否</el-radio> </el-radio-group> </td> </tr> <tr> <td>案结状态:</td> <td> <el-radio-group v-model="radio"> <el-radio-group v-model="queryParams.settleStatus"> <el-radio label="">全部</el-radio> <el-radio :label="6">已结案</el-radio> <el-radio :label="6">未结案</el-radio> <el-radio :label="1">已结案</el-radio> <el-radio :label="0">未结案</el-radio> </el-radio-group> </td> </tr> @@ -992,53 +1055,71 @@ <div v-show="showArr[11].show"> <el-row> <el-col :span="4">员工编号: <el-input v-model="queryParams.empNumb" placeholder="请输入内容" style="width:80px" /> <el-col :span="3">员工编号: <el-input v-model="queryParams.empNumb" size="small" maxlength="20" style="width:85px" /> </el-col> <el-col :span="3">姓名: <el-input v-model="queryParams.empName" placeholder="请输入内容" style="width:80px" /> <el-input v-model="queryParams.empName" size="small" maxlength="10" style="width:110px" /> </el-col> <el-col :span="4">身份证号: <el-input v-model="queryParams.certificateNumb" placeholder="请输入内容" style="width:80px" /> <el-input v-model="queryParams.certificateNumb" size="small" maxlength="18" style="width:140px" /> </el-col> <el-col :span="4">部门(护卫点): <el-input v-model="queryParams.deptName" placeholder="请输入内容" style="width:80px" /> <el-col :span="3">护卫点: <el-input v-model="queryParams.deptName" size="small" maxlength="20" style="width:100px" /> </el-col> <el-col :span="4">仲裁日期:从 <el-input v-model="queryParams.applayDateDateStart" placeholder="请输入内容" style="width:80px" /> <el-col :span="9">仲裁日期: <el-date-picker v-model="queryParams.arbitrationDateStr" size="small" type="daterange" align="right" unlink-panels range-separator="至" value-format="yyyy-MM-dd" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions" style="width: 400px;" /> </el-col> <el-col :span="2">到 <el-input v-model="queryParams.applayDateDateEnd" placeholder="请输入内容" style="width:80px" /> </el-col> <el-col :span="2.5">案结日期:从 <el-input v-model="queryParams.applayDateDateStart" placeholder="请输入内容" style="width:80px" /> </el-col> <el-col :span="1.5">到 <el-input v-model="queryParams.applayDateDateEnd" placeholder="请输入内容" style="width:80px" /> <el-col :span="9">案结日期: <el-date-picker v-model="queryParams.settleDateStr" size="small" type="daterange" align="right" unlink-panels range-separator="至" value-format="yyyy-MM-dd" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions" style="width: 400px;" /> </el-col> <el-col :span="4"> <el-button type="primary">查询</el-button> <el-button type="danger">重置</el-button> <el-button size="mini" class="hr-but-all" type="primary" @click="search">查询</el-button> <el-button size="mini" class="hr-but" type="danger" @click="resetSearch">重置</el-button> </el-col> </el-row> <table class="searchTable"> <tr> <td>仲裁类型:</td> <td> <el-radio-group v-model="radio"> <el-radio-group v-model="queryParams.arbitrationType"> <el-radio label="">全部</el-radio> <el-radio :label="6">劳资纠纷</el-radio> <el-radio :label="6">劳资纠纷</el-radio> <el-radio :label="0">劳资纠纷</el-radio> <el-radio :label="1">劳资纠纷</el-radio> </el-radio-group> </td> </tr> <tr> <td>案结状态:</td> <td>仲裁状态:</td> <td> <el-radio-group v-model="radio"> <el-radio-group v-model="queryParams.arbitrationStatus"> <el-radio label="">全部</el-radio> <el-radio :label="6">已结案</el-radio> <el-radio :label="6">未结案</el-radio> <el-radio :label="1">已结案</el-radio> <el-radio :label="0">未结案</el-radio> </el-radio-group> </td> </tr> @@ -1081,27 +1162,36 @@ <div v-show="showArr[12].show"> <el-row> <el-col :span="4">员工编号: <el-input v-model="queryParams.empNumb" placeholder="请输入内容" style="width:80px" /> <el-col :span="3">员工编号: <el-input v-model="queryParams.empNumb" size="small" maxlength="20" style="width:85px" /> </el-col> <el-col :span="3">姓名: <el-input v-model="queryParams.empName" placeholder="请输入内容" style="width:80px" /> <el-input v-model="queryParams.empName" size="small" maxlength="10" style="width:110px" /> </el-col> <el-col :span="4">身份证号: <el-input v-model="queryParams.certificateNumb" placeholder="请输入内容" style="width:80px" /> <el-input v-model="queryParams.certificateNumb" size="small" maxlength="18" style="width:140px" /> </el-col> <el-col :span="4">部门(护卫点): <el-input v-model="queryParams.deptName" placeholder="请输入内容" style="width:80px" /> <el-col :span="3">护卫点: <el-input v-model="queryParams.deptName" size="small" maxlength="20" style="width:100px" /> </el-col> <el-col :span="3.5">失业金领取日期:从 <el-input v-model="queryParams.applayDateDateStart" placeholder="请输入内容" style="width:80px" /> </el-col> <el-col :span="1.5">到 <el-input v-model="queryParams.applayDateDateEnd" placeholder="请输入内容" style="width:80px" /> <el-col :span="9">不良记录日期: <el-date-picker v-model="queryParams.badDateStr" size="small" type="daterange" align="right" unlink-panels range-separator="至" value-format="yyyy-MM-dd" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions" style="width: 400px;" /> </el-col> <el-col :span="3.5"> <el-button type="primary">查询</el-button> <el-button type="danger">重置</el-button> <el-button size="mini" class="hr-but-all" type="primary" @click="search">查询</el-button> <el-button size="mini" class="hr-but" type="danger" @click="resetSearch">重置</el-button> </el-col> </el-row> <el-table ref="badRecordTable" :data="badRecordData" style="width: 100%;height: 70%;"> @@ -1126,27 +1216,36 @@ <div v-show="showArr[13].show"> <el-row> <el-col :span="4">员工编号: <el-input v-model="queryParams.empNumb" placeholder="请输入内容" style="width:80px" /> <el-col :span="3">员工编号: <el-input v-model="queryParams.empNumb" size="small" maxlength="20" style="width:85px" /> </el-col> <el-col :span="3">姓名: <el-input v-model="queryParams.empName" placeholder="请输入内容" style="width:80px" /> <el-input v-model="queryParams.empName" size="small" maxlength="10" style="width:110px" /> </el-col> <el-col :span="4">身份证号: <el-input v-model="queryParams.certificateNumb" placeholder="请输入内容" style="width:80px" /> <el-input v-model="queryParams.certificateNumb" size="small" maxlength="18" style="width:140px" /> </el-col> <el-col :span="4">部门(护卫点): <el-input v-model="queryParams.deptName" placeholder="请输入内容" style="width:80px" /> <el-col :span="3">护卫点: <el-input v-model="queryParams.deptName" size="small" maxlength="20" style="width:100px" /> </el-col> <el-col :span="3.5">备注日期:从 <el-input v-model="queryParams.applayDateDateStart" placeholder="请输入内容" style="width:80px" /> </el-col> <el-col :span="1.5">到 <el-input v-model="queryParams.applayDateDateEnd" placeholder="请输入内容" style="width:80px" /> <el-col :span="9">备注日期: <el-date-picker v-model="queryParams.remarkDateStr" size="small" type="daterange" align="right" unlink-panels range-separator="至" value-format="yyyy-MM-dd" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions" style="width: 400px;" /> </el-col> <el-col :span="3.5"> <el-button type="primary">查询</el-button> <el-button type="danger">重置</el-button> <el-button size="mini" class="hr-but-all" type="primary" @click="search">查询</el-button> <el-button size="mini" class="hr-but" type="danger" @click="resetSearch">重置</el-button> </el-col> </el-row> <el-table ref="remarkInfoTable" :data="remarkInfoData" style="width: 100%;height: 70%;"> src/views/user/selectuser.vue
@@ -67,10 +67,12 @@ selection: [], multipleSelection: [], total: 0, // 总数量 queryParams: {}, // 查询参数 queryParams: { empNumb: '' }, // 查询参数 sort: {}, // 排序 pagination: { // 分页参数 size: 5, size: 20, num: 1 }, list: [], // 给table显示的数据 @@ -88,6 +90,7 @@ search() { this.queryParams.empName = this.queryParams.empNumb this.queryParams.deptName = this.queryParams.empNumb this.queryParams.delFlag = 0 this.fetch({ ...this.queryParams, ...this.sort src/views/yunpan/fujian.vue
@@ -146,22 +146,123 @@ </el-form> <el-row style="margin: 10px;"> <el-col :span="24"> <el-button class="hr-but-all" type="danger">新建标签</el-button> <el-button type="primary">删除标签</el-button> <el-popconfirm title="是否删除所选择的附件?"> <el-button slot="reference" class="hr-but-all" type="danger" @click="delfj()">删除附件</el-button> <el-button class="hr-but-all" type="danger" @click="dialogFormVisible = true">新建标签</el-button> <el-popconfirm title="是否删除标签?" @onConfirm="deldialogFormVisible = true"> <el-button slot="reference" class="hr-but" type="danger">删除标签</el-button> </el-popconfirm> <el-button class="hr-but-all" type="danger" @click="downloadfj()">下载附件</el-button> <el-button class="hr-but-all" type="danger" @click="dialogShow()">附件管理</el-button> <el-dialog title="附件管理" :visible.sync="dialogShowUploadfj" :fullscreen="true"> <uploadfj @cancleChooseUser="cancleChooseUser()" /> <el-button class="hr-but-all" type="danger" @click="downloaddialogFormVisible = true">下载附件</el-button> <el-dialog title="新建标签" :visible.sync="dialogFormVisible" width="25%" class="add-label" > <el-form ref="labelform" :model="labelform" :rules="rules"> <el-form-item label="标签名称:" :label-width="formLabelWidth" prop="labelname" > <el-input v-model="labelform.labelname" autocomplete="off" /> </el-form-item> <el-form-item label="标签code:" :label-width="formLabelWidth" prop="labelcode" > <el-input v-model="labelform.labelcode" autocomplete="off" /> </el-form-item> <el-form-item label="标签排序:" :label-width="formLabelWidth" prop="sort"> <el-input-number v-model="labelform.sort" :min="0" :max="100" label="排序" /> </el-form-item></el-form> <div slot="footer" class="dialog-footer"> <el-button @click="dialogFormVisible = false">取 消</el-button> <el-button type="primary" @click="addlabel('labelform')" >确 定</el-button> </div> </el-dialog> <el-dialog title="删除标签" :visible.sync="deldialogFormVisible" width="25%" class="add-label" > <el-form ref="dellabelform" :model="labelform" :rules="delrules"> <el-form-item label="标签名称:" :label-width="formLabelWidth" prop="labelid" > <el-select v-model="labelform.labelid" placeholder="请选择标签名称"> <el-option v-for="item in labelData" :key="item.labelid" :value="item.labelid" :label="item.labelname" /> </el-select> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> <el-button @click="deldialogFormVisible = false">取 消</el-button> <el-button type="primary" @click="dellabel('dellabelform')" >确 定</el-button> </div> </el-dialog> <el-dialog title="下载附件" :visible.sync="downloaddialogFormVisible" width="25%" class="add-label" > <el-form ref="dellabelform" :model="labelform" :rules="delrules"> <el-form-item label="标签名称:" :label-width="formLabelWidth" prop="labelid" > <el-select v-model="labelform.labelid" placeholder="请选择标签名称"> <el-option key="-1" value="-1" label="全部" /> <el-option v-for="item in labelData" :key="item.labelid" :value="item.labelid" :label="item.labelname" /> </el-select> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> <el-button @click="downloaddialogFormVisible = false">取 消</el-button> <el-button type="primary" @click="downloadlabel('dellabelform')" >确 定</el-button> </div> </el-dialog> </el-col> </el-row> </el-header> <el-dialog title="附件管理" :visible.sync="dialogShowUploadfj" :fullscreen="true"> <uploadfj v-if="dialogShowUploadfj" :rowitem="rowitem" @cancleChooseUser="cancleChooseUser()" /> </el-dialog> <el-container> <el-main> <el-table :data="tableData" class="fj-table" style="width: 100%;height: 480px;color: #000;"> <el-table ref="empAccessoryTable" :data="tableData" class="fj-table" style="width: 100%;height: 480px;color: #000;"> <el-table-column type="selection" width="55" @@ -171,7 +272,7 @@ <el-button type="text" size="small" @click.native.prevent="deleteRow(scope.$index, tableData)" @click.native.prevent="dialogShow(scope.$index, scope.row)" > 上传 </el-button> @@ -181,112 +282,15 @@ <el-table-column prop="certificateNumb" label="身份证号" width="180" /> <el-table-column prop="deptName" label="护卫点(部门)" width="180" /> <el-table-column prop="jobName" label="岗位" width="100" /> <el-table-column prop="jljt" label="记录截图"> <template v-for="(col) in labelData"> <el-table-column :key="col.labelid" :prop="col.labelcode" :label="col.labelname"> <template slot-scope="scope"> <el-link type="primary"> {{ scope.row.jljt }}</el-link> <el-link type="primary"> {{ scope.row[col.labelcode] }}</el-link> </template> </el-table-column> <el-table-column prop="zp" label="照片"> <template slot-scope="scope"> <el-link type="primary"> {{ scope.row.zp }}</el-link> </template> </el-table-column> <el-table-column prop="ldht" label="劳动合同"> <template slot-scope="scope"> <el-link type="primary"> {{ scope.row.ldht }}</el-link> </template> </el-table-column> <el-table-column prop="sfz" label="身份证"> <template slot-scope="scope"> <el-link type="primary"> {{ scope.row.sfz }}</el-link> </template> </el-table-column> <el-table-column prop="rzb" label="入职表"> <template slot-scope="scope"> <el-link type="primary"> {{ scope.row.rzb }}</el-link> </template> </el-table-column> <el-table-column prop="tjb" label="体检表"> <template slot-scope="scope"> <el-link type="primary"> {{ scope.row.tjb }}</el-link> </template> </el-table-column> <el-table-column prop="hz" label="回执"> <template slot-scope="scope"> <el-link type="primary"> {{ scope.row.hz }}</el-link> </template> </el-table-column> <el-table-column prop="yhk" label="银行卡"> <template slot-scope="scope"> <el-link type="primary"> {{ scope.row.yhk }}</el-link> </template> </el-table-column> <el-table-column prop="xgzj" label="相关证件"> <template slot-scope="scope"> <el-link type="primary"> {{ scope.row.xgzj }}</el-link> </template> </el-table-column> <el-table-column prop="xght" label="相关合同"> <template slot-scope="scope"> <el-link type="primary">{{ scope.row.xght }}</el-link> </template> </el-table-column> <el-table-column prop="qj" label="请假"> <template slot-scope="scope"> <el-link type="primary">{{ scope.row.qj }}</el-link> </template> </el-table-column> <el-table-column prop="cf" label="处罚"> <template slot-scope="scope"> <el-link type="primary"> {{ scope.row.cf }}</el-link> </template> </el-table-column> <el-table-column prop="czsq" label="辞职申请"> <template slot-scope="scope"> <el-link type="primary"> {{ scope.row.czsq }}</el-link> </template> </el-table-column> <el-table-column prop="lzsx" label="离职手续"> <template slot-scope="scope"> <el-link type="primary"> {{ scope.row.lzsx }}</el-link> </template> </el-table-column> <el-table-column prop="zl" label="自离"> <template slot-scope="scope"> <el-link type="primary"> {{ scope.row.zl }}</el-link> </template> </el-table-column> <el-table-column prop="sb" label="社保"> <template slot-scope="scope"> <el-link type="primary">{{ scope.row.sb }}</el-link> </template> </el-table-column> <el-table-column prop="syj" label="失业金"> <template slot-scope="scope"> <el-link type="primary"> {{ scope.row.syj }}</el-link> </template> </el-table-column> <el-table-column prop="ywx" label="意外险"> <template slot-scope="scope"> <el-link type="primary">{{ scope.row.ywx }}</el-link> </template> </el-table-column> <el-table-column prop="gs" label="工伤"> <template slot-scope="scope"> <el-link type="primary"> {{ scope.row.gs }}</el-link> </template> </el-table-column> <el-table-column prop="lz" label="劳资"> <template slot-scope="scope"> <el-link type="primary"> {{ scope.row.lz }}</el-link> </template> </el-table-column></el-table> </el-table> <pagination v-show="total>0" :total="total" @@ -308,6 +312,31 @@ }, data() { return { downloaddialogFormVisible: false, deldialogFormVisible: false, formLabelWidth: '100px', dialogFormVisible: false, labelform: { labelname: '', labelid: '', labelcode: '', empIds: '', sort: 0 }, rules: { labelname: [ { required: true, message: '请输入标签名称', trigger: 'blur' }, { min: 2, max: 10, message: '长度在 2 到 10 个字符', trigger: 'blur' } ], labelcode: [ { required: true, message: '请输入标签code', trigger: 'blur' }, { min: 3, max: 10, message: '长度在 3 到 20 个字符', trigger: 'blur' } ], sort: [{ required: true, message: '请输入排序', type: 'number', trigger: 'blur' }] }, delrules: { labelid: [{ required: true, message: '请选择标签', trigger: 'change' }] }, dialogShowUploadfj: false, empName: '', queryform: { @@ -363,23 +392,83 @@ ] }, tableData: [], labelData: [], defaultProps: { children: 'children', label: 'label' } }, rowitem: {} } }, mounted() { this.initLabel() this.fetch() }, methods: { delfj() { downloadlabel(formName) { this.$refs[formName].validate(valid => { if (valid) { var selected = this.$refs.empAccessoryTable.selection if (selected.length < 1) { this.$message({ message: '请选择数据!', type: 'warning' }) return } const empIds = [] selected.forEach((j) => { empIds.push(j.empId) }) this.labelform.empIds = empIds this.$download('hr/empAccessory/singledownload', { ...this.labelform }, '附件_' + new Date().getTime() + '.zip').then(() => { this.downloaddialogFormVisible = false this.$message({ message: this.$t('下载成功'), type: 'success' }) }) } }) }, downloadfj() { dellabel(formName) { this.$refs[formName].validate(valid => { if (valid) { this.$delete('hr/label', { ...this.labelform }).then(() => { this.dialogFormVisible = false this.$message({ message: this.$t('tips.deleteSuccess'), type: 'success' }) this.deldialogFormVisible = false // 初始加载 this.initLabel() this.fetch() }) } }) }, dialogShow() { addlabel(formName) { this.$refs[formName].validate(valid => { if (valid) { this.$post('hr/label', { ...this.labelform }).then(() => { this.dialogFormVisible = false this.$message({ message: this.$t('tips.createSuccess'), type: 'success' }) this.labelform.labelname = '' this.labelform.sort = 0 this.labelform.labelcode = '' // 初始加载 this.initLabel() this.fetch() }) } }) }, dialogShow(index, tableData) { this.rowitem = tableData this.dialogShowUploadfj = true }, cancleChooseUser() { @@ -434,6 +523,11 @@ this.tableData = data.rows }) }, initLabel() { this.$get('hr/label').then((r) => { this.labelData = r.data.data }) }, advancedQueryShowMethods() { if (this.advancedQueryShow) { this.headerHeight = '70px' @@ -445,9 +539,6 @@ }, showEmpInfo() { this.dialogTableVisible = true }, deleteRow(index, rows) { rows.splice(index, 1) } } } @@ -457,8 +548,14 @@ margin-top: 10px; height: 600px; } .el-input-number { width: 100%; } </style> <style lang="scss"> .add-lable { text-align: initial; } .input-empName .el-input-group__append{ padding: 0 15px 0 0; } src/views/yunpan/uploadfj.vue
@@ -1,7 +1,25 @@ <template> <div class="zs-main"> <el-row class="search-title"> <el-col :span="18" class="title"> <div class="zs-title">上传附件</div> </el-col> <el-col :span="6" class="search"> <el-input v-model="fileName" maxlength="20" minlength="1" clearable placeholder="请输入文件名" show-word-limit style="width:200px" /> <el-button type="primary" @click="findFileByFileName()">查询</el-button> </el-col> </el-row> <el-container style="background-color: #fff;"> <el-aside width="210px" style="background-color: #fff;text-align: center;"> <h4>{{ rowitem.empName }}:{{ rowitem.deptName }}</h4> <el-timeline> <el-timeline-item v-for="(activity, index) in activities" @@ -49,9 +67,43 @@ size="mini" @click="delFile()" >删除</el-button> <el-popconfirm title="是否移动附件?" @onConfirm="mvdialogFormVisible = true"> <el-button slot="reference" class="hr-but" type="danger">移动</el-button> </el-popconfirm> </el-col> </el-row> </el-header> <el-dialog title="移动文件" :visible.sync="mvdialogFormVisible" width="25%" class="add-label" append-to-body > <el-form ref="mvlabelfrom" :model="labelfrom" :rules="mvrules"> <el-form-item label="目录名称:" :label-width="formLabelWidth" prop="labelid" > <el-select v-model="labelfrom.labelid" placeholder="请选择移动的标签"> <el-option v-for="item in activities" :key="item.id" :value="item.id" :label="item.timestamp" /> </el-select> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> <el-button @click="mvdialogFormVisible = false">取 消</el-button> <el-button type="primary" @click="mvlabel('mvlabelfrom')" >确 定</el-button> </div> </el-dialog> <el-main style="background-color: #fff;"> <el-row v-for="(data, index) in filesUploadData" :key="index"> <template v-for="(node, nodeIndex) in data.node"> @@ -73,7 +125,7 @@ <el-card shadow="never"> <el-upload class="avatar-uploader" :action="filesUploadUrl" :action="uploadSinglePath" :show-file-list="false" :before-upload="beforeAvatarUpload" :headers="headers()" @@ -101,78 +153,70 @@ import { pages } from '@/settings' export default { props: { rowitem: { type: Object, required: true } }, data() { return { filesUploadUrl: pages.filesUploadUrl, fileDate: { folderid: 0 mvrules: { labelid: [{ required: true, message: '请选择标签', trigger: 'change' }] }, folderform: { foldername: '', sort: 0 mvdialogFormVisible: false, uploadSinglePath: pages.uploadSinglePath, labelfrom: { labelid: '', empId: this.rowitem.empId }, fileDate: { labelid: 0, empId: this.rowitem.empId }, formLabelWidth: '100px', beforeIndex: 0, fileName: '', checkedArr: [], checkAll: false, activities: [{ timestamp: '记录截图', color: '#a32c30' }, { timestamp: '照片' }, { timestamp: '劳动合同' }, { timestamp: '身份证' }, { timestamp: '入职表' }, { timestamp: '体检表' }, { timestamp: '回执' }, { timestamp: '银行卡' }, { timestamp: '相关证件' }, { timestamp: '相关合同' }, { timestamp: '请假' }, { timestamp: '处罚' }, { timestamp: '辞职申请' }, { timestamp: '离职手续' }, { timestamp: '自离' }, { timestamp: '社保' }, { timestamp: '失业金' }, { timestamp: '意外险' }, { timestamp: '工伤' }, { timestamp: '劳资' }], activities: [], filesUploadData: [], updateNum: 0 } }, mounted() { this.initlabel() }, methods: { async initlabel() { await this.$get('hr/label').then(r => { this.activities = [] this.beforeIndex = 0 r.data.data.forEach((v, i) => { if (i === 0) { this.activities.push({ timestamp: v.labelname, id: v.labelid, color: '#a32c30' }) } else { this.activities.push({ timestamp: v.labelname, id: v.labelid }) } }) }) var params = { labelid: this.activities[this.beforeIndex].id, filesname: this.fileName, empid: this.rowitem.empId } this.initFile(params) }, initFile(params) { var node = { node: [] } // 文件列表置为空 this.filesUploadData = [] this.checkedArr = [] this.$get('hr/filesUpload', { ...params }).then(r => { this.$get('hr/empAccessory', { ...params }).then(r => { r.data.data.forEach((v, i) => { this.checkedArr.push({ isChecked: false, filesid: v.filesid }) this.checkedArr.push({ isChecked: false, accessoryid: v.accessoryid }) // 一行8个 等于8就换行 if (i % 8 === 0 && i !== 0) { this.filesUploadData.push(node) @@ -218,18 +262,12 @@ // 将修改好的数组放回去 this.activities = list this.checkAll = false var params if (this.fileName === '') { // 生成查询文件的条件 params = { folderid: this.activities[index].id } } else { // 生成查询文件的条件 params = { folderid: this.activities[this.beforeIndex].id, filesname: this.fileName var params = { labelid: this.activities[this.beforeIndex].id, filesname: this.fileName, empid: this.rowitem.empId } } this.initFile(params) }, clickCard(index) { @@ -299,7 +337,7 @@ } }, beforeAvatarUpload(file) { this.fileDate.folderid = this.activities[this.beforeIndex].id this.fileDate.labelid = this.activities[this.beforeIndex].id const isLt50M = file.size / 1024 / 1024 < 50 if (!isLt50M) { this.$message.error('上传文件不能超过 50MB!') @@ -327,8 +365,9 @@ this.updateNum = 0 // 生成查询文件的条件 var params = { folderid: this.activities[this.beforeIndex].id, filesname: this.fileName labelid: this.activities[this.beforeIndex].id, filesname: this.fileName, empid: this.rowitem.empId } this.initFile(params) } @@ -344,7 +383,7 @@ var checke = [] this.checkedArr.forEach((v, i) => { if (v.isChecked) { checke.push(v.filesid) checke.push(v.accessoryid) } }) if (checke.length <= 0) { @@ -354,8 +393,8 @@ }) } else { // 生成查询文件的条件 var params = { fileids: checke.join(',') } this.$download('hr/filesUpload/download', { ...params }, new Date().getTime() + '.zip').then(() => { var params = { accessoryids: checke.join(',') } this.$download('hr/empAccessory/download', { ...params }, this.activities[this.beforeIndex].timestamp + '.zip').then(() => { this.$message({ message: '下载成功!', type: 'success' @@ -367,25 +406,83 @@ var checke = [] this.checkedArr.forEach((v, i) => { if (v.isChecked) { checke.push(v.filesid) checke.push(v.accessoryid) } }) if (checke.length <= 0) { this.$message({ message: '请选择需要删除的文件!', type: 'warning' }) } else { // 生成查询文件的条件 var params = { fileids: checke.join(',') } this.$delete('hr/filesUpload', { ...params }).then(() => { var params = { accessoryids: checke.join(',') } this.$delete('hr/empAccessory', { ...params }).then(() => { this.$message({ message: '删除成功!', type: 'success' }) // 生成查询文件的条件 var initFileParams = { folderid: this.activities[this.beforeIndex].id, filesname: this.fileName labelid: this.activities[this.beforeIndex].id, filesname: this.fileName, empid: this.rowitem.empId } this.initFile(initFileParams) }) } }, findFileByFileName() { // 生成查询文件的条件 var params = { filesname: this.fileName, empid: this.rowitem.empId } this.initFile(params) }, mvlabel(formName) { if (this.labelfrom.labelid === this.activities[this.beforeIndex].id) { this.$message({ message: '文件在同一目录!', type: 'warning' }) return } var checke = [] this.checkedArr.forEach((v, i) => { if (v.isChecked) { checke.push(v.accessoryid) } }) if (checke.length <= 0) { this.$message({ message: '请选择需要移动的文件!', type: 'warning' }) } else { this.$refs[formName].validate(valid => { if (valid) { // 生成查询文件的条件 var params = { accessoryids: checke.join(','), labelid: this.labelfrom.labelid, empId: this.labelfrom.empId } this.$post('hr/empAccessory/mvFiles', { ...params }).then(() => { this.$message({ message: '移动成功!', type: 'success' }) this.mvdialogFormVisible = false // 生成查询文件的条件 var initFileParams = { labelid: this.activities[this.beforeIndex].id, filesname: this.fileName, empid: this.rowitem.empId } this.initFile(initFileParams) }) } }) } } } } </script> src/views/yunpan/zhishou.vue
@@ -20,8 +20,8 @@ <el-container style="background-color: #fff;"> <el-aside width="210px" style="background-color: #fff;text-align: center;"> <el-button class="add-folder-but" @click="dialogFormVisible = true">新增</el-button> <el-popconfirm title="是否删除此目录?"> <el-button class="add-folder-but" @click="delFolder()">删除</el-button> <el-popconfirm title="是否删除目录?" @onConfirm="delFolder()"> <el-button slot="reference" class="hr-but-all" type="danger">删除</el-button> </el-popconfirm> <el-dialog title="新增文件夹" @@ -101,9 +101,42 @@ size="mini" @click="delFile()" >删除</el-button> <el-popconfirm title="是否移动文件?" @onConfirm="mvdialogFormVisible = true"> <el-button slot="reference" class="hr-but" type="danger">移动</el-button> </el-popconfirm> </el-col> </el-row> </el-header> <el-dialog title="移动文件" :visible.sync="mvdialogFormVisible" width="25%" class="add-label" > <el-form ref="mvfolderform" :model="folderform" :rules="mvrules"> <el-form-item label="目录名称:" :label-width="formLabelWidth" prop="folderid" > <el-select v-model="folderform.folderid" placeholder="请选择移动的目录"> <el-option v-for="item in activities" :key="item.id" :value="item.id" :label="item.timestamp" /> </el-select> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> <el-button @click="mvdialogFormVisible = false">取 消</el-button> <el-button type="primary" @click="mvfolder('mvfolderform')" >确 定</el-button> </div> </el-dialog> <el-main style="background-color: #fff;"> <el-row v-for="(data, index) in filesUploadData" :key="index"> <template v-for="(node, nodeIndex) in data.node"> @@ -155,12 +188,18 @@ export default { data() { return { mvrules: { folderid: [{ required: true, message: '请选择目录', trigger: 'change' }] }, filesUploadUrl: pages.filesUploadUrl, fileDate: { folderid: 0 }, mvdialogFormVisible: false, dialogDelVisible: false, dialogFormVisible: false, folderform: { folderid: '', foldername: '', sort: 0 }, @@ -307,7 +346,7 @@ message: this.$t('tips.createSuccess'), type: 'success' }) this.folderform.fileName = '' this.folderform.filename = '' this.folderform.sort = 0 // 初始加载 this.initFolder() @@ -324,6 +363,7 @@ message: this.$t('tips.deleteSuccess'), type: 'success' }) this.dialogDelVisible = false // 初始加载 this.initFolder() }) @@ -433,7 +473,7 @@ } else { // 生成查询文件的条件 var params = { fileids: checke.join(',') } this.$download('hr/filesUpload/download', { ...params }, new Date().getTime() + '.zip').then(() => { this.$download('hr/filesUpload/download', { ...params }, this.activities[this.beforeIndex].timestamp + '.zip').then(() => { this.$message({ message: '下载成功!', type: 'success' @@ -448,6 +488,12 @@ checke.push(v.filesid) } }) if (checke.length <= 0) { this.$message({ message: '请选择需要删除的文件!', type: 'warning' }) } else { // 生成查询文件的条件 var params = { fileids: checke.join(',') } this.$delete('hr/filesUpload', { ...params }).then(() => { @@ -463,6 +509,48 @@ this.initFile(initFileParams) }) } }, mvfolder(formName) { if (this.folderform.folderid === this.activities[this.beforeIndex].id) { this.$message({ message: '文件在同一目录!', type: 'warning' }) return } var checke = [] this.checkedArr.forEach((v, i) => { if (v.isChecked) { checke.push(v.filesid) } }) if (checke.length <= 0) { this.$message({ message: '请选择需要移动的文件!', type: 'warning' }) } else { this.$refs[formName].validate(valid => { if (valid) { // 生成查询文件的条件 var params = { fileids: checke.join(','), folderid: this.folderform.folderid } this.$post('hr/filesUpload/mvFiles', { ...params }).then(() => { this.$message({ message: '移动成功!', type: 'success' }) this.mvdialogFormVisible = false // 生成查询文件的条件 var initFileParams = { folderid: this.activities[this.beforeIndex].id, filesname: this.fileName } this.initFile(initFileParams) }) } }) } } } } @@ -604,3 +692,4 @@ width: 100%; } </style>