|
@@ -10,12 +10,14 @@
|
|
:visible.sync="visible">
|
|
:visible.sync="visible">
|
|
<el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''" :disabled="method==='view'"
|
|
<el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''" :disabled="method==='view'"
|
|
label-width="125px" @submit.native.prevent>
|
|
label-width="125px" @submit.native.prevent>
|
|
|
|
+
|
|
|
|
+ <el-divider content-position="left"><i class="el-icon-document"></i> 基础信息</el-divider>
|
|
<el-row :gutter="15">
|
|
<el-row :gutter="15">
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
<el-form-item label="姓名" prop="name"
|
|
<el-form-item label="姓名" prop="name"
|
|
:rules="[{required: true, message: '姓名不能为空', trigger: 'blur'}
|
|
:rules="[{required: true, message: '姓名不能为空', trigger: 'blur'}
|
|
]">
|
|
]">
|
|
- <el-input v-model="inputForm.name" placeholder="请填写姓名" ></el-input>
|
|
|
|
|
|
+ <el-input v-model="inputForm.name" placeholder="请填写姓名" clearable></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
@@ -81,7 +83,7 @@
|
|
<el-form-item label="工号" prop="jobNo"
|
|
<el-form-item label="工号" prop="jobNo"
|
|
:rules="[
|
|
:rules="[
|
|
]">
|
|
]">
|
|
- <el-input v-model="inputForm.jobNo" placeholder="请填写工号" ></el-input>
|
|
|
|
|
|
+ <el-input v-model="inputForm.jobNo" placeholder="请填写工号" clearable></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
@@ -102,28 +104,66 @@
|
|
<el-form-item label="证件号" prop="idCard"
|
|
<el-form-item label="证件号" prop="idCard"
|
|
:rules="[{required: true, message: '证件号不能为空', trigger: 'blur'}
|
|
:rules="[{required: true, message: '证件号不能为空', trigger: 'blur'}
|
|
]">
|
|
]">
|
|
- <el-input v-model="inputForm.idCard" placeholder="请填写证件号" ></el-input>
|
|
|
|
|
|
+ <el-input v-model="inputForm.idCard" placeholder="请填写证件号" clearable></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
<el-form-item label="证件照正面" prop="certificatesFront"
|
|
<el-form-item label="证件照正面" prop="certificatesFront"
|
|
:rules="[
|
|
:rules="[
|
|
]">
|
|
]">
|
|
- <el-input v-model="inputForm.certificatesFront" placeholder="请填写证件照正面" ></el-input>
|
|
|
|
|
|
+ <el-popover
|
|
|
|
+ placement="left"
|
|
|
|
+ trigger="hover">
|
|
|
|
+ <el-button style="width: 100%" @click="onPreview(inputForm.certificatesFrontLsUrl)" icon="el-icon-zoom-in"></el-button>
|
|
|
|
+ <el-upload
|
|
|
|
+ slot="reference"
|
|
|
|
+ class="avatar-uploader"
|
|
|
|
+ :action="`${$http.BASE_URL}/roster/base/webUpload/upload`"
|
|
|
|
+ :show-file-list="false"
|
|
|
|
+ :on-success="handleAvatarSuccessFront"
|
|
|
|
+ >
|
|
|
|
+<!-- :before-upload="beforeAvatarUpload"-->
|
|
|
|
+<!-- <img v-if="certificatesFront" :src="certificatesFront" class="avatar">-->
|
|
|
|
+ <el-image
|
|
|
|
+ v-if="inputForm.certificatesFrontLsUrl"
|
|
|
|
+ style="width: 150px; height: 150px; line-height: 150px"
|
|
|
|
+ :src="inputForm.certificatesFrontLsUrl"
|
|
|
|
+ fit="contain"></el-image>
|
|
|
|
+ <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
|
+ </el-upload>
|
|
|
|
+ </el-popover>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
<el-form-item label="证件照反面" prop="certificatesBack"
|
|
<el-form-item label="证件照反面" prop="certificatesBack"
|
|
:rules="[
|
|
:rules="[
|
|
]">
|
|
]">
|
|
- <el-input v-model="inputForm.certificatesBack" placeholder="请填写证件照反面" ></el-input>
|
|
|
|
|
|
+ <el-popover
|
|
|
|
+ placement="left"
|
|
|
|
+ trigger="hover">
|
|
|
|
+ <el-button style="width: 100%" @click="onPreview(inputForm.certificatesBackLsUrl)" icon="el-icon-zoom-in"></el-button>
|
|
|
|
+ <el-upload
|
|
|
|
+ slot="reference"
|
|
|
|
+ class="avatar-uploader"
|
|
|
|
+ :action="`${$http.BASE_URL}/roster/base/webUpload/upload`"
|
|
|
|
+ :show-file-list="false"
|
|
|
|
+ :on-success="handleAvatarSuccessBack"
|
|
|
|
+ >
|
|
|
|
+ <el-image
|
|
|
|
+ v-if="inputForm.certificatesBackLsUrl"
|
|
|
|
+ style="width: 150px; height: 150px; line-height: 150px"
|
|
|
|
+ :src="inputForm.certificatesBackLsUrl"
|
|
|
|
+ fit="contain"></el-image>
|
|
|
|
+ <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
|
+ </el-upload>
|
|
|
|
+ </el-popover>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
<el-form-item label="手机号码" prop="mobile"
|
|
<el-form-item label="手机号码" prop="mobile"
|
|
:rules="[{required: true, message: '手机号码不能为空', trigger: 'blur'}
|
|
:rules="[{required: true, message: '手机号码不能为空', trigger: 'blur'}
|
|
]">
|
|
]">
|
|
- <el-input v-model="inputForm.mobile" placeholder="请填写手机号码" ></el-input>
|
|
|
|
|
|
+ <el-input v-model="inputForm.mobile" placeholder="请填写手机号码" clearable></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
@@ -170,14 +210,14 @@
|
|
<el-form-item label="历史工龄" prop="seniority"
|
|
<el-form-item label="历史工龄" prop="seniority"
|
|
:rules="[
|
|
:rules="[
|
|
]">
|
|
]">
|
|
- <el-input v-model="inputForm.seniority" placeholder="请填写历史工龄" ></el-input>
|
|
|
|
|
|
+ <el-input v-model="inputForm.seniority" placeholder="请填写历史工龄" clearable></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
<el-form-item label="合同公司" prop="contractCompany"
|
|
<el-form-item label="合同公司" prop="contractCompany"
|
|
:rules="[
|
|
:rules="[
|
|
]">
|
|
]">
|
|
- <el-input v-model="inputForm.contractCompany" placeholder="请填写合同公司" ></el-input>
|
|
|
|
|
|
+ <el-input v-model="inputForm.contractCompany" placeholder="请填写合同公司" clearable></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
@@ -210,14 +250,14 @@
|
|
<el-form-item label="工作地点" prop="workPlace"
|
|
<el-form-item label="工作地点" prop="workPlace"
|
|
:rules="[
|
|
:rules="[
|
|
]">
|
|
]">
|
|
- <el-input v-model="inputForm.workPlace" placeholder="请填写工作地点" ></el-input>
|
|
|
|
|
|
+ <el-input v-model="inputForm.workPlace" placeholder="请填写工作地点" clearable></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
<el-form-item label="联系地址" prop="contactAddress"
|
|
<el-form-item label="联系地址" prop="contactAddress"
|
|
:rules="[
|
|
:rules="[
|
|
]">
|
|
]">
|
|
- <el-input v-model="inputForm.contactAddress" placeholder="请填写联系地址" ></el-input>
|
|
|
|
|
|
+ <el-input v-model="inputForm.contactAddress" placeholder="请填写联系地址" clearable></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
@@ -252,7 +292,7 @@
|
|
<el-form-item label="民族" prop="ethnic"
|
|
<el-form-item label="民族" prop="ethnic"
|
|
:rules="[
|
|
:rules="[
|
|
]">
|
|
]">
|
|
- <el-input v-model="inputForm.ethnic" placeholder="请填写民族" ></el-input>
|
|
|
|
|
|
+ <el-input v-model="inputForm.ethnic" placeholder="请填写民族" clearable></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
@@ -273,21 +313,21 @@
|
|
<el-form-item label="户口所在地" prop="accountAddr"
|
|
<el-form-item label="户口所在地" prop="accountAddr"
|
|
:rules="[
|
|
:rules="[
|
|
]">
|
|
]">
|
|
- <el-input v-model="inputForm.accountAddr" placeholder="请填写户口所在地" ></el-input>
|
|
|
|
|
|
+ <el-input v-model="inputForm.accountAddr" placeholder="请填写户口所在地" clearable></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
<el-form-item label="籍贯" prop="origin"
|
|
<el-form-item label="籍贯" prop="origin"
|
|
:rules="[
|
|
:rules="[
|
|
]">
|
|
]">
|
|
- <el-input v-model="inputForm.origin" placeholder="请填写籍贯" ></el-input>
|
|
|
|
|
|
+ <el-input v-model="inputForm.origin" placeholder="请填写籍贯" clearable></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
<el-form-item label="居住地址" prop="liveAddr"
|
|
<el-form-item label="居住地址" prop="liveAddr"
|
|
:rules="[
|
|
:rules="[
|
|
]">
|
|
]">
|
|
- <el-input v-model="inputForm.liveAddr" placeholder="请填写居住地址" ></el-input>
|
|
|
|
|
|
+ <el-input v-model="inputForm.liveAddr" placeholder="请填写居住地址" clearable></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
@@ -350,49 +390,49 @@
|
|
<el-form-item label="紧急联系人姓名" prop="emergencyContactName"
|
|
<el-form-item label="紧急联系人姓名" prop="emergencyContactName"
|
|
:rules="[
|
|
:rules="[
|
|
]">
|
|
]">
|
|
- <el-input v-model="inputForm.emergencyContactName" placeholder="请填写紧急联系人姓名" ></el-input>
|
|
|
|
|
|
+ <el-input v-model="inputForm.emergencyContactName" placeholder="请填写紧急联系人姓名" clearable></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
<el-form-item label="紧急联系人电话" prop="emergencyContactTel"
|
|
<el-form-item label="紧急联系人电话" prop="emergencyContactTel"
|
|
:rules="[
|
|
:rules="[
|
|
]">
|
|
]">
|
|
- <el-input v-model="inputForm.emergencyContactTel" placeholder="请填写紧急联系人电话" ></el-input>
|
|
|
|
|
|
+ <el-input v-model="inputForm.emergencyContactTel" placeholder="请填写紧急联系人电话" clearable></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
<el-form-item label="配偶姓名" prop="spouseName"
|
|
<el-form-item label="配偶姓名" prop="spouseName"
|
|
:rules="[
|
|
:rules="[
|
|
]">
|
|
]">
|
|
- <el-input v-model="inputForm.spouseName" placeholder="请填写配偶姓名" ></el-input>
|
|
|
|
|
|
+ <el-input v-model="inputForm.spouseName" placeholder="请填写配偶姓名" clearable></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
<el-form-item label="孩子姓名" prop="childName"
|
|
<el-form-item label="孩子姓名" prop="childName"
|
|
:rules="[
|
|
:rules="[
|
|
]">
|
|
]">
|
|
- <el-input v-model="inputForm.childName" placeholder="请填写孩子姓名" ></el-input>
|
|
|
|
|
|
+ <el-input v-model="inputForm.childName" placeholder="请填写孩子姓名" clearable></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
<el-form-item label="QQ" prop="qq"
|
|
<el-form-item label="QQ" prop="qq"
|
|
:rules="[
|
|
:rules="[
|
|
]">
|
|
]">
|
|
- <el-input v-model="inputForm.qq" placeholder="请填写QQ" ></el-input>
|
|
|
|
|
|
+ <el-input v-model="inputForm.qq" placeholder="请填写QQ" clearable></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
<el-form-item label="微信" prop="wechat"
|
|
<el-form-item label="微信" prop="wechat"
|
|
:rules="[
|
|
:rules="[
|
|
]">
|
|
]">
|
|
- <el-input v-model="inputForm.wechat" placeholder="请填写微信" ></el-input>
|
|
|
|
|
|
+ <el-input v-model="inputForm.wechat" placeholder="请填写微信" clearable></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
<el-form-item label="个人邮箱" prop="email"
|
|
<el-form-item label="个人邮箱" prop="email"
|
|
:rules="[
|
|
:rules="[
|
|
]">
|
|
]">
|
|
- <el-input v-model="inputForm.email" placeholder="请填写个人邮箱" ></el-input>
|
|
|
|
|
|
+ <el-input v-model="inputForm.email" placeholder="请填写个人邮箱" clearable></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="21">
|
|
<el-col :span="21">
|
|
@@ -403,8 +443,157 @@
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
|
|
+ <el-divider content-position="left"><i class="el-icon-document"></i> 合同信息</el-divider>
|
|
|
|
+ <el-row :gutter="15">
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="当前合同起始日" prop="rosterContractDTO.beginDate"
|
|
|
|
+ :rules="[
|
|
|
|
+ ]">
|
|
|
|
+ <el-date-picker
|
|
|
|
+ style="width: 100%"
|
|
|
|
+ v-model="inputForm.rosterContractDTO.beginDate"
|
|
|
|
+ type="date"
|
|
|
|
+ placeholder="选择当前合同起始日">
|
|
|
|
+ </el-date-picker>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="当前合同终止日" prop="rosterContractDTO.endDate"
|
|
|
|
+ :rules="[
|
|
|
|
+ ]">
|
|
|
|
+ <el-date-picker
|
|
|
|
+ style="width: 100%"
|
|
|
|
+ v-model="inputForm.rosterContractDTO.endDate"
|
|
|
|
+ type="date"
|
|
|
|
+ placeholder="选择当前合同终止日">
|
|
|
|
+ </el-date-picker>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="工作邮箱" prop="rosterContractDTO.workEmail"
|
|
|
|
+ :rules="[
|
|
|
|
+ ]">
|
|
|
|
+ <el-input v-model="inputForm.rosterContractDTO.workEmail" placeholder="请填写工作邮箱" clearable></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="工作电话" prop="rosterContractDTO.workMobile"
|
|
|
|
+ :rules="[
|
|
|
|
+ ]">
|
|
|
|
+ <el-input v-model="inputForm.rosterContractDTO.workMobile" placeholder="请填写工作电话" clearable></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="试用期到期日" prop="rosterContractDTO.probationPeriodEndDate"
|
|
|
|
+ :rules="[
|
|
|
|
+ ]">
|
|
|
|
+ <el-date-picker
|
|
|
|
+ style="width: 100%"
|
|
|
|
+ v-model="inputForm.rosterContractDTO.probationPeriodEndDate"
|
|
|
|
+ type="date"
|
|
|
|
+ placeholder="选择试用期到期日">
|
|
|
|
+ </el-date-picker>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="试用期(月)" prop="rosterContractDTO.probationPeriodMonth"
|
|
|
|
+ :rules="[
|
|
|
|
+ ]">
|
|
|
|
+ <el-input v-model="inputForm.rosterContractDTO.probationPeriodMonth" placeholder="请填写试用期(月)" clearable></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ <el-divider content-position="left"><i class="el-icon-document"></i> 银行卡信息</el-divider>
|
|
|
|
+ <el-row :gutter="15" v-for="(item,index) in inputForm.rosterBankCardsDTOList">
|
|
|
|
+ <el-col :span="24">
|
|
|
|
+ <el-form-item label="" >
|
|
|
|
+ <el-divider content-position="left"> 银行卡 {{index + 1}}</el-divider>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="工资卡开户银行" :prop="'rosterBankCardsDTOList[' + index + '].payrollCardOpenBank'"
|
|
|
|
+ :rules="[
|
|
|
|
+ ]">
|
|
|
|
+ <el-input v-model="inputForm.rosterBankCardsDTOList[index].payrollCardOpenBank" placeholder="请填写工资卡开户银行" clearable></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="工资卡分支行" :prop="'rosterBankCardsDTOList[' + index + '].payrollCardBranches'"
|
|
|
|
+ :rules="[
|
|
|
|
+ ]">
|
|
|
|
+ <el-input v-model="inputForm.rosterBankCardsDTOList[index].payrollCardBranches" placeholder="请填写工资卡分支行" clearable></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="工资卡银行账号" :prop="'rosterBankCardsDTOList[' + index + '].payrollCardBankAccount'"
|
|
|
|
+ :rules="[
|
|
|
|
+ ]">
|
|
|
|
+ <el-input v-model="inputForm.rosterBankCardsDTOList[index].payrollCardBankAccount" placeholder="请填写工资卡银行账号" clearable></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="工资卡开户名" :prop="'rosterBankCardsDTOList[' + index + '].payrollCardOpeningName'"
|
|
|
|
+ :rules="[
|
|
|
|
+ ]">
|
|
|
|
+ <el-input v-model="inputForm.rosterBankCardsDTOList[index].payrollCardOpeningName" placeholder="请填写工资卡开户名" clearable></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="工资卡照片" :prop="'rosterBankCardsDTOList[' + index + '].payrollCardPic'"
|
|
|
|
+ :rules="[
|
|
|
|
+ ]">
|
|
|
|
+ <el-popover
|
|
|
|
+ placement="left"
|
|
|
|
+ trigger="hover">
|
|
|
|
+ <el-button style="width: 100%" @click="onPreview(inputForm.rosterBankCardsDTOList[index].payrollCardPicLsUrl)" icon="el-icon-zoom-in"></el-button>
|
|
|
|
+ <el-upload
|
|
|
|
+ slot="reference"
|
|
|
|
+ class="avatar-uploader"
|
|
|
|
+ :action="`${$http.BASE_URL}/roster/base/webUpload/upload`"
|
|
|
|
+ :show-file-list="false"
|
|
|
|
+ :on-success="(response, file, fileList) => {
|
|
|
|
+ return handleAvatarSuccessBank(response, file, fileList, index)
|
|
|
|
+ }"
|
|
|
|
+ >
|
|
|
|
+ <el-image
|
|
|
|
+ v-if="inputForm.rosterBankCardsDTOList[index].payrollCardPicLsUrl"
|
|
|
|
+ style="width: 150px; height: 150px; line-height: 150px"
|
|
|
|
+ :src="inputForm.rosterBankCardsDTOList[index].payrollCardPicLsUrl"
|
|
|
|
+ fit="contain"></el-image>
|
|
|
|
+ <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
|
+ </el-upload>
|
|
|
|
+ </el-popover>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="是否为默认" :prop="'rosterBankCardsDTOList[' + index + '].isDefault'"
|
|
|
|
+ :rules="[
|
|
|
|
+ ]">
|
|
|
|
+<!-- <el-input v-model="inputForm.rosterBankCardsDTOList[index].isDefault" placeholder="请填写试用期(月)" clearable></el-input>-->
|
|
|
|
|
|
|
|
+ <el-radio @change="checkBankDefault(index)" v-model="inputForm.rosterBankCardsDTOList[index].isDefault" label="1" size="mini" style="margin-right: 0px" border>是</el-radio>
|
|
|
|
+ <el-radio @change="checkBankDefault(index)" v-model="inputForm.rosterBankCardsDTOList[index].isDefault" label="2" size="mini" border>否</el-radio>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24" style="text-align: center">
|
|
|
|
+ <el-form-item label="" >
|
|
|
|
+ <el-button style="width: 50%" type="danger" @click="delBank(index)" plain>删除银行卡 {{index + 1}}</el-button>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ <el-row :gutter="15">
|
|
|
|
+ <el-col :span="24">
|
|
|
|
+ <el-form-item label="" >
|
|
|
|
+ <el-button style="width: 100%" type="primary" @click="addRosterBankCard(index)" plain>新增银行卡</el-button>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
</el-form>
|
|
</el-form>
|
|
|
|
+ <el-image-viewer
|
|
|
|
+ v-if="showViewer"
|
|
|
|
+ :on-close="closeViewer"
|
|
|
|
+ :url-list="[url]"
|
|
|
|
+ :zIndex=9999></el-image-viewer>
|
|
<span slot="footer" class="dialog-footer">
|
|
<span slot="footer" class="dialog-footer">
|
|
<el-button size="small" @click="close()" icon="el-icon-circle-close">关闭</el-button>
|
|
<el-button size="small" @click="close()" icon="el-icon-circle-close">关闭</el-button>
|
|
<el-button size="small" type="primary" v-if="method != 'view'" @click="doSubmit()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
|
|
<el-button size="small" type="primary" v-if="method != 'view'" @click="doSubmit()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
|
|
@@ -419,6 +608,8 @@
|
|
import RankSystemTableService from '@/api/rank/RankSystemTableService'
|
|
import RankSystemTableService from '@/api/rank/RankSystemTableService'
|
|
import JobPositionService from '@/api/position/JobPositionService'
|
|
import JobPositionService from '@/api/position/JobPositionService'
|
|
import RosterService from '@/api/roster/RosterService'
|
|
import RosterService from '@/api/roster/RosterService'
|
|
|
|
+ import OSSService from '@/api/sys/OSSService'
|
|
|
|
+ import ElImageViewer from 'element-ui/packages/image/src/image-viewer'
|
|
export default {
|
|
export default {
|
|
data () {
|
|
data () {
|
|
return {
|
|
return {
|
|
@@ -465,17 +656,32 @@
|
|
qq: '',
|
|
qq: '',
|
|
wechat: '',
|
|
wechat: '',
|
|
email: '',
|
|
email: '',
|
|
- remarks: ''
|
|
|
|
|
|
+ remarks: '',
|
|
|
|
+ certificatesFrontLsUrl: '',
|
|
|
|
+ certificatesBackLsUrl: '',
|
|
|
|
+ rosterContractDTO: {
|
|
|
|
+ baseId: '',
|
|
|
|
+ beginDate: '',
|
|
|
|
+ endDate: '',
|
|
|
|
+ workEmail: '',
|
|
|
|
+ workMobile: '',
|
|
|
|
+ probationPeriodEndDate: '',
|
|
|
|
+ probationPeriodMonth: ''
|
|
|
|
+ },
|
|
|
|
+ rosterBankCardsDTOList: []
|
|
},
|
|
},
|
|
jobPositionList: [],
|
|
jobPositionList: [],
|
|
positionList: [],
|
|
positionList: [],
|
|
- rankList: []
|
|
|
|
|
|
+ rankList: [],
|
|
|
|
+ showViewer: false,
|
|
|
|
+ url: ''
|
|
}
|
|
}
|
|
},
|
|
},
|
|
rankService: null,
|
|
rankService: null,
|
|
rankSystemTableService: null,
|
|
rankSystemTableService: null,
|
|
jobPositionService: null,
|
|
jobPositionService: null,
|
|
rosterService: null,
|
|
rosterService: null,
|
|
|
|
+ ossService: null,
|
|
watch: {
|
|
watch: {
|
|
'inputForm.officeId': {
|
|
'inputForm.officeId': {
|
|
handler () {
|
|
handler () {
|
|
@@ -493,9 +699,11 @@
|
|
this.rankSystemTableService = new RankSystemTableService()
|
|
this.rankSystemTableService = new RankSystemTableService()
|
|
this.jobPositionService = new JobPositionService()
|
|
this.jobPositionService = new JobPositionService()
|
|
this.rosterService = new RosterService()
|
|
this.rosterService = new RosterService()
|
|
|
|
+ this.ossService = new OSSService()
|
|
},
|
|
},
|
|
components: {
|
|
components: {
|
|
- SelectTree
|
|
|
|
|
|
+ SelectTree,
|
|
|
|
+ ElImageViewer
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
init (method, id) {
|
|
init (method, id) {
|
|
@@ -540,7 +748,19 @@
|
|
qq: '',
|
|
qq: '',
|
|
wechat: '',
|
|
wechat: '',
|
|
email: '',
|
|
email: '',
|
|
- remarks: ''
|
|
|
|
|
|
+ remarks: '',
|
|
|
|
+ certificatesFrontLsUrl: '',
|
|
|
|
+ certificatesBackLsUrl: '',
|
|
|
|
+ rosterContractDTO: {
|
|
|
|
+ baseId: '',
|
|
|
|
+ beginDate: '',
|
|
|
|
+ endDate: '',
|
|
|
|
+ workEmail: '',
|
|
|
|
+ workMobile: '',
|
|
|
|
+ probationPeriodEndDate: '',
|
|
|
|
+ probationPeriodMonth: ''
|
|
|
|
+ },
|
|
|
|
+ rosterBankCardsDTOList: []
|
|
}
|
|
}
|
|
this.inputForm.id = id
|
|
this.inputForm.id = id
|
|
if (method === 'add') {
|
|
if (method === 'add') {
|
|
@@ -562,6 +782,13 @@
|
|
this.loading = false
|
|
this.loading = false
|
|
})
|
|
})
|
|
}
|
|
}
|
|
|
|
+ if (this.inputForm.rosterBankCardsDTOList.length === 0 ||
|
|
|
|
+ this.inputForm.rosterBankCardsDTOList === [] ||
|
|
|
|
+ this.inputForm.rosterBankCardsDTOList === null ||
|
|
|
|
+ this.inputForm.rosterBankCardsDTOList === undefined) {
|
|
|
|
+ this.inputForm.rosterBankCardsDTOList = []
|
|
|
|
+ // this.addRosterBankCard()
|
|
|
|
+ }
|
|
})
|
|
})
|
|
},
|
|
},
|
|
// 表单提交
|
|
// 表单提交
|
|
@@ -571,6 +798,15 @@
|
|
this.loading = true
|
|
this.loading = true
|
|
this.inputForm.birthDate = this.moment(this.inputForm.birthDate).format('YYYY-MM-DD HH:mm:ss')
|
|
this.inputForm.birthDate = this.moment(this.inputForm.birthDate).format('YYYY-MM-DD HH:mm:ss')
|
|
this.inputForm.onboardingDate = this.moment(this.inputForm.onboardingDate).format('YYYY-MM-DD HH:mm:ss')
|
|
this.inputForm.onboardingDate = this.moment(this.inputForm.onboardingDate).format('YYYY-MM-DD HH:mm:ss')
|
|
|
|
+ if (this.inputForm.rosterContractDTO.beginDate !== null && this.inputForm.rosterContractDTO.beginDate !== undefined && this.inputForm.rosterContractDTO.beginDate !== '') {
|
|
|
|
+ this.inputForm.rosterContractDTO.beginDate = this.moment(this.inputForm.rosterContractDTO.beginDate).format('YYYY-MM-DD HH:mm:ss')
|
|
|
|
+ }
|
|
|
|
+ if (this.inputForm.rosterContractDTO.endDate !== null && this.inputForm.rosterContractDTO.endDate !== undefined && this.inputForm.rosterContractDTO.endDate !== '') {
|
|
|
|
+ this.inputForm.rosterContractDTO.endDate = this.moment(this.inputForm.rosterContractDTO.endDate).format('YYYY-MM-DD HH:mm:ss')
|
|
|
|
+ }
|
|
|
|
+ if (this.inputForm.rosterContractDTO.probationPeriodEndDate !== null && this.inputForm.rosterContractDTO.probationPeriodEndDate !== undefined && this.inputForm.rosterContractDTO.probationPeriodEndDate !== '') {
|
|
|
|
+ this.inputForm.rosterContractDTO.probationPeriodEndDate = this.moment(this.inputForm.rosterContractDTO.probationPeriodEndDate).format('YYYY-MM-DD HH:mm:ss')
|
|
|
|
+ }
|
|
this.rosterService.save(this.inputForm).then(({data}) => {
|
|
this.rosterService.save(this.inputForm).then(({data}) => {
|
|
this.close()
|
|
this.close()
|
|
this.$message.success(data)
|
|
this.$message.success(data)
|
|
@@ -616,7 +852,64 @@
|
|
},
|
|
},
|
|
changePosition () {
|
|
changePosition () {
|
|
this.getRankByPosition()
|
|
this.getRankByPosition()
|
|
|
|
+ },
|
|
|
|
+ handleAvatarSuccessFront (res, file) {
|
|
|
|
+ this.inputForm.certificatesFront = res.url
|
|
|
|
+ this.inputForm.certificatesFrontLsUrl = res.lsUrl
|
|
|
|
+ this.$forceUpdate()
|
|
|
|
+ },
|
|
|
|
+ handleAvatarSuccessBack (res, file) {
|
|
|
|
+ this.inputForm.certificatesBack = res.url
|
|
|
|
+ this.inputForm.certificatesBackLsUrl = res.lsUrl
|
|
|
|
+ this.$forceUpdate()
|
|
|
|
+ },
|
|
|
|
+ onPreview (url) {
|
|
|
|
+ if (url !== '' && url !== undefined && url !== null) {
|
|
|
|
+ this.url = url
|
|
|
|
+ this.showViewer = true
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ // 关闭查看器
|
|
|
|
+ closeViewer () {
|
|
|
|
+ this.url = ''
|
|
|
|
+ this.showViewer = false
|
|
|
|
+ },
|
|
|
|
+ addRosterBankCard () {
|
|
|
|
+ const bankCard = {
|
|
|
|
+ baseId: '',
|
|
|
|
+ payrollCardOpenBank: '',
|
|
|
|
+ payrollCardBranches: '',
|
|
|
|
+ payrollCardBankAccount: '',
|
|
|
|
+ payrollCardOpeningName: '',
|
|
|
|
+ payrollCardPic: '',
|
|
|
|
+ isDefault: '',
|
|
|
|
+ payrollCardPicLsUrl: ''
|
|
|
|
+ }
|
|
|
|
+ this.inputForm.rosterBankCardsDTOList.push(bankCard)
|
|
|
|
+ },
|
|
|
|
+ delBank (index) {
|
|
|
|
+ this.inputForm.rosterBankCardsDTOList.splice(index, index + 1)
|
|
|
|
+ },
|
|
|
|
+ handleAvatarSuccessBank (res, file, fileList, index) {
|
|
|
|
+ this.inputForm.rosterBankCardsDTOList[index].payrollCardPic = res.url
|
|
|
|
+ this.inputForm.rosterBankCardsDTOList[index].payrollCardPicLsUrl = res.lsUrl
|
|
|
|
+ this.$forceUpdate()
|
|
|
|
+ },
|
|
|
|
+ checkBankDefault (index) {
|
|
|
|
+ if (this.inputForm.rosterBankCardsDTOList[index].isDefault === '1') {
|
|
|
|
+ const list = this.inputForm.rosterBankCardsDTOList
|
|
|
|
+ for (let i = 0; i < list.length; i++) {
|
|
|
|
+ if (index !== i) {
|
|
|
|
+ this.inputForm.rosterBankCardsDTOList[i].isDefault = '2'
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
</script>
|
|
|
|
+<style scoped>
|
|
|
|
+ /deep/ .el-form-item__content {
|
|
|
|
+ line-height: 1px;
|
|
|
|
+ }
|
|
|
|
+</style>
|