|
|
@@ -43,6 +43,26 @@
|
|
|
@handleSearchList="handleSearchList"
|
|
|
:pagination="pageData"
|
|
|
>
|
|
|
+ <template slot="sex" slot-scope="scope">
|
|
|
+ <el-tag
|
|
|
+ v-if="scope.row.sex"
|
|
|
+ :type="scope.row.sex == '女' ? 'danger' :
|
|
|
+ scope.row.sex == '男' ? '' : 'warning'"
|
|
|
+ effect="plain">
|
|
|
+ {{ scope.row.sex }}
|
|
|
+ </el-tag>
|
|
|
+ </template>
|
|
|
+ <template slot="status" slot-scope="scope">
|
|
|
+ <el-tag
|
|
|
+ :type="scope.row.status == '在职' ? 'success' :
|
|
|
+ scope.row.status == '离司' ? 'info' :
|
|
|
+ scope.row.status == '入司待审核' ? 'warning' :
|
|
|
+ scope.row.status == '修改待审核' ? 'warning' :
|
|
|
+ scope.row.status == '离司待审核' ? 'warning' : 'danger'"
|
|
|
+ effect="plain">
|
|
|
+ {{ scope.row.status }}
|
|
|
+ </el-tag>
|
|
|
+ </template>
|
|
|
</templateTable>
|
|
|
</SplitArea>
|
|
|
<!-- 右侧列表页面End -->
|
|
|
@@ -53,13 +73,15 @@
|
|
|
<el-dialog
|
|
|
:title="dialogTitle"
|
|
|
width="60%"
|
|
|
+ top="5vh"
|
|
|
:visible.sync="dialogVisible"
|
|
|
:close-on-click-modal="false"
|
|
|
:before-close="handleDialogBefore"
|
|
|
@close="closeDialog"
|
|
|
v-dialogDrag
|
|
|
+ class="people-style"
|
|
|
>
|
|
|
- <el-tabs v-model="activeName">
|
|
|
+ <el-tabs v-model="activeName" class="tab-style">
|
|
|
<el-tab-pane label="基本信息" name="1">
|
|
|
<el-form
|
|
|
:model="formData"
|
|
|
@@ -108,42 +130,53 @@
|
|
|
</el-cascader> </el-form-item
|
|
|
></el-col>
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="员工工号" prop="id">
|
|
|
- <el-input v-model="formData.id" disabled></el-input>
|
|
|
+ <el-form-item label="岗位" prop="positionId">
|
|
|
+ <el-select
|
|
|
+ style="width: 200px"
|
|
|
+ v-model="formData.positionId"
|
|
|
+ placeholder="请选择"
|
|
|
+ popper-class="select-prop"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="val in postOption"
|
|
|
+ :label="val.postName"
|
|
|
+ :value="val.postId"
|
|
|
+ :key="val.postId"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="手机号" prop="mobile">
|
|
|
- <el-input v-model="formData.mobile"></el-input>
|
|
|
+ <el-form-item label="工号" prop="id">
|
|
|
+ <el-input v-model="formData.id" disabled
|
|
|
+ style="width: 200px"
|
|
|
+ ></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="身份证号" prop="identity">
|
|
|
- <el-input
|
|
|
- v-model="formData.identity"
|
|
|
- :maxlength="18"
|
|
|
- @change="identityChange"
|
|
|
- ></el-input>
|
|
|
+ <el-form-item label="姓名" prop="name">
|
|
|
+ <el-input v-model="formData.name"
|
|
|
+ style="width: 200px"
|
|
|
+ ></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="名称" prop="name">
|
|
|
- <el-input v-model="formData.name"></el-input>
|
|
|
+ <el-form-item label="手机号" prop="mobile">
|
|
|
+ <el-input v-model="formData.mobile"
|
|
|
+ style="width: 200px"
|
|
|
+ ></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="密码" prop="password">
|
|
|
- <el-input
|
|
|
- v-model="formData.password"
|
|
|
- :class="isShow == true ? 'disc' : 'none'"
|
|
|
- ></el-input>
|
|
|
- <i
|
|
|
- class="el-icon-view icon"
|
|
|
- @click="isShowFun()"
|
|
|
- v-if="dialogPassword"
|
|
|
- ></i>
|
|
|
- <!-- <el-input style="width:200px" v-model="formData.password" autocomplete="new-password"
|
|
|
- show-password></el-input> -->
|
|
|
+ <el-form-item label="入司时间">
|
|
|
+ <el-date-picker
|
|
|
+ style="width: 200px"
|
|
|
+ v-model="formDataDetail.entryTime"
|
|
|
+ type="date"
|
|
|
+ placeholder="选择日期"
|
|
|
+ popper-class="select-prop"
|
|
|
+ >
|
|
|
+ </el-date-picker>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
@@ -182,33 +215,17 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="岗位" prop="positionId">
|
|
|
- <el-select
|
|
|
- style="width: 200px"
|
|
|
- v-model="formData.positionId"
|
|
|
- placeholder="请选择"
|
|
|
- popper-class="select-prop"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="val in postOption"
|
|
|
- :label="val.postName"
|
|
|
- :value="val.postId"
|
|
|
- :key="val.postId"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8">
|
|
|
- <el-form-item label="推荐人" prop="referrerId">
|
|
|
+ <el-form-item label="领导人" prop="leaderId">
|
|
|
<el-select
|
|
|
style="width: 200px"
|
|
|
clearable
|
|
|
- v-model="formData.referrerId"
|
|
|
+ filterable
|
|
|
+ v-model="formData.leaderId"
|
|
|
placeholder="请选择"
|
|
|
popper-class="select-prop"
|
|
|
>
|
|
|
<el-option
|
|
|
- v-for="val in recommenderOptions"
|
|
|
+ v-for="val in leaderOptions"
|
|
|
:label="val.name"
|
|
|
:value="val.id"
|
|
|
:key="val.id"
|
|
|
@@ -217,22 +234,32 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="推荐人工号" prop="referrerName">
|
|
|
- <el-input v-model="formData.referrerId" disabled></el-input>
|
|
|
+ <el-form-item label="领导人工号" prop="leaderName">
|
|
|
+ <el-input v-model="formData.leaderId" disabled
|
|
|
+ style="width: 200px"
|
|
|
+ ></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="领导人" prop="leaderId">
|
|
|
+ <el-form-item label="代理人资格证号" prop="agentQualificationCode">
|
|
|
+ <el-input
|
|
|
+ style="width: 200px"
|
|
|
+ v-model="formDataDetail.agentQualificationCode"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="推荐人" prop="referrerId">
|
|
|
<el-select
|
|
|
style="width: 200px"
|
|
|
clearable
|
|
|
- filterable
|
|
|
- v-model="formData.leaderId"
|
|
|
+ v-model="formData.referrerId"
|
|
|
placeholder="请选择"
|
|
|
popper-class="select-prop"
|
|
|
+ :disabled="!!formData.referrerId"
|
|
|
>
|
|
|
<el-option
|
|
|
- v-for="val in leaderOptions"
|
|
|
+ v-for="val in recommenderOptions"
|
|
|
:label="val.name"
|
|
|
:value="val.id"
|
|
|
:key="val.id"
|
|
|
@@ -241,8 +268,10 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="领导人工号" prop="leaderName">
|
|
|
- <el-input v-model="formData.leaderId" disabled></el-input>
|
|
|
+ <el-form-item label="推荐人工号" prop="referrerName">
|
|
|
+ <el-input v-model="formData.referrerId" disabled
|
|
|
+ style="width: 200px"
|
|
|
+ ></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
@@ -257,289 +286,10 @@
|
|
|
<userDetail
|
|
|
:formData="formData"
|
|
|
:formDataDetail="formDataDetail"
|
|
|
+ ref="formDataDetails"
|
|
|
+ @valids="valids"
|
|
|
+ showTjr
|
|
|
></userDetail>
|
|
|
- <!-- <el-form
|
|
|
- :model="formDataDetail"
|
|
|
- :rules="formDataRulesDetail"
|
|
|
- ref="formDataDetail"
|
|
|
- :inline="true"
|
|
|
- label-width="110px"
|
|
|
- size="small"
|
|
|
- >
|
|
|
- <el-row>
|
|
|
- <el-col :span="8">
|
|
|
- <el-form-item label="姓名" prop="name">
|
|
|
- <el-input v-model="formData.name"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8">
|
|
|
- <el-form-item label="性别" prop="sex">
|
|
|
- <el-select
|
|
|
- style="width: 200px"
|
|
|
- v-model="formDataDetail.sex"
|
|
|
- placeholder="请选择"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="val in sexoptions"
|
|
|
- :label="val.label"
|
|
|
- :value="val.value"
|
|
|
- :key="val.id"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8">
|
|
|
- <el-form-item label="出生日期" prop="birthday">
|
|
|
- <el-date-picker
|
|
|
- style="width: 200px"
|
|
|
- v-model="formDataDetail.birthday"
|
|
|
- type="date"
|
|
|
- placeholder="选择日期"
|
|
|
- >
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8">
|
|
|
- <el-form-item label="民族" prop="nations">
|
|
|
- <el-select
|
|
|
- style="width: 200px"
|
|
|
- v-model="formDataDetail.nations"
|
|
|
- placeholder="请选择民族"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- :label="national"
|
|
|
- :value="national"
|
|
|
- v-for="national in nationalList"
|
|
|
- :key="national"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8">
|
|
|
- <el-form-item label="政治面貌" prop="politicsStatus">
|
|
|
- <el-select
|
|
|
- style="width: 200px"
|
|
|
- v-model="formDataDetail.politicsStatus"
|
|
|
- placeholder="请选择"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="val in politicsStatusOption"
|
|
|
- :key="val.value"
|
|
|
- :label="val.label"
|
|
|
- :value="val.value"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8">
|
|
|
- <el-form-item label="婚姻状况" prop="maritalStatus">
|
|
|
- <el-select
|
|
|
- v-model="formDataDetail.maritalStatus"
|
|
|
- placeholder="请选择婚姻状况"
|
|
|
- style="width: 200px"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="val in maritalStatusOption"
|
|
|
- :key="val.value"
|
|
|
- :label="val.label"
|
|
|
- :value="val.value"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8">
|
|
|
- <el-form-item label="户籍" prop="koseki">
|
|
|
- <el-input v-model="formDataDetail.koseki"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8">
|
|
|
- <el-form-item label="血型" prop="bloodType">
|
|
|
- <el-select
|
|
|
- style="width: 200px"
|
|
|
- v-model="formDataDetail.bloodType"
|
|
|
- placeholder="请选择"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="val in bloodOption"
|
|
|
- :key="val.value"
|
|
|
- :label="val.label"
|
|
|
- :value="val.value"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8">
|
|
|
- <el-form-item label="健康状况" prop="health">
|
|
|
- <el-select
|
|
|
- style="width: 200px"
|
|
|
- v-model="formDataDetail.health"
|
|
|
- placeholder="请选择"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="val in healthOption"
|
|
|
- :key="val.value"
|
|
|
- :label="val.label"
|
|
|
- :value="val.value"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8">
|
|
|
- <el-form-item label="学历" prop="education">
|
|
|
- <el-select
|
|
|
- style="width: 200px"
|
|
|
- v-model="formDataDetail.education"
|
|
|
- placeholder="请选择"
|
|
|
- >
|
|
|
- <el-option label="小学" value="小学"></el-option>
|
|
|
- <el-option label="初中" value="初中"></el-option>
|
|
|
- <el-option label="高中" value="高中"></el-option>
|
|
|
- <el-option label="专科" value="专科"></el-option>
|
|
|
- <el-option label="本科" value="本科"></el-option>
|
|
|
- <el-option label="硕士" value="硕士"></el-option>
|
|
|
- <el-option label="博士" value="博士"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8">
|
|
|
- <el-form-item label="毕业院校" prop="school">
|
|
|
- <el-input v-model="formDataDetail.school"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8">
|
|
|
- <el-form-item label="毕业时间" prop="graduationTime">
|
|
|
- <el-date-picker
|
|
|
- style="width: 200px"
|
|
|
- v-model="formDataDetail.graduationTime"
|
|
|
- type="date"
|
|
|
- placeholder="选择日期"
|
|
|
- >
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8">
|
|
|
- <el-form-item label="居住地址" prop="address">
|
|
|
- <el-input v-model="formDataDetail.address"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8">
|
|
|
- <el-form-item label="邮政编码" prop="postalCode">
|
|
|
- <el-input v-model="formDataDetail.postalCode"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8">
|
|
|
- <el-form-item label="邮箱">
|
|
|
- <el-input
|
|
|
- style="width: 200px"
|
|
|
- v-model="formDataDetail.email"
|
|
|
- ></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8">
|
|
|
- <el-form-item
|
|
|
- label="紧急联系人姓名"
|
|
|
- prop="emergencyContactName"
|
|
|
- >
|
|
|
- <el-input
|
|
|
- v-model="formDataDetail.emergencyContactName"
|
|
|
- ></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8">
|
|
|
- <el-form-item label="紧急联系人电话" prop="emergencyContactTel">
|
|
|
- <el-input
|
|
|
- v-model="formDataDetail.emergencyContactTel"
|
|
|
- ></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8">
|
|
|
- <el-form-item label="工资">
|
|
|
- <el-input
|
|
|
- style="width: 200px"
|
|
|
- v-model="formDataDetail.salary"
|
|
|
- ></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8">
|
|
|
- <el-form-item label="薪资等级">
|
|
|
- <el-input
|
|
|
- style="width: 200px"
|
|
|
- v-model="formDataDetail.salaryLevel"
|
|
|
- ></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
-
|
|
|
- <el-col :span="8">
|
|
|
- <el-form-item label="绩效方案">
|
|
|
- <el-input
|
|
|
- style="width: 200px"
|
|
|
- v-model="formDataDetail.performance"
|
|
|
- ></el-input>
|
|
|
- <el-select style="width: 200px" v-model="formDataDetail.performance" placeholder="请选择" >
|
|
|
- <el-option label="博士" value="博士"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8">
|
|
|
- <el-form-item label="开户账号" prop="accountno">
|
|
|
- <el-input
|
|
|
- disabled
|
|
|
- style="width: 200px"
|
|
|
- v-model="formDataDetail.accountno"
|
|
|
- placeholder="登录系统绑卡后显示"
|
|
|
- ></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8">
|
|
|
- <el-form-item label="开户行" prop="bankName">
|
|
|
- <el-input
|
|
|
- disabled
|
|
|
- style="width: 200px"
|
|
|
- v-model="formDataDetail.bankName"
|
|
|
- placeholder="登录系统绑卡后显示"
|
|
|
- ></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8">
|
|
|
- <el-form-item label="原工作单位" prop="formerEmployer">
|
|
|
- <el-input v-model="formDataDetail.formerEmployer"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8">
|
|
|
- <el-form-item label="入司时间" prop="entryTime">
|
|
|
- <el-date-picker
|
|
|
- style="width: 200px"
|
|
|
- v-model="formDataDetail.entryTime"
|
|
|
- type="date"
|
|
|
- placeholder="选择日期"
|
|
|
- >
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8">
|
|
|
- <el-form-item label="离职时间" prop="logoutTime">
|
|
|
- <el-date-picker
|
|
|
- style="width: 200px"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- v-model="formData.logoutTime"
|
|
|
- type="date"
|
|
|
- placeholder="选择日期"
|
|
|
- >
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8">
|
|
|
- <el-form-item
|
|
|
- label="代理人资格证号"
|
|
|
- prop="agentQualificationCode"
|
|
|
- >
|
|
|
- <el-input
|
|
|
- v-model="formDataDetail.agentQualificationCode"
|
|
|
- ></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </el-form> -->
|
|
|
<div style="text-align: right">
|
|
|
<el-button size="small" type="primary" @click="activeName = '1'"
|
|
|
>上一步</el-button
|
|
|
@@ -717,9 +467,9 @@ export default {
|
|
|
{ prop: "userId", label: "工号", type: "text" },
|
|
|
{ prop: "name", label: "姓名", type: "text" },
|
|
|
{
|
|
|
- prop: "sex",
|
|
|
+ name: "sex",
|
|
|
label: "性别",
|
|
|
- type: "text",
|
|
|
+ type: "slot",
|
|
|
},
|
|
|
{ prop: "mobile", label: "联系电话", type: "text" },
|
|
|
{
|
|
|
@@ -742,11 +492,17 @@ export default {
|
|
|
label: "审核时间",
|
|
|
type: "text",
|
|
|
},
|
|
|
-
|
|
|
{
|
|
|
- prop: "status",
|
|
|
+ prop: "approveBy",
|
|
|
+ label: "审核人",
|
|
|
+ type: "text",
|
|
|
+ minWidth: 100,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "status",
|
|
|
label: "状态",
|
|
|
- type: "text",
|
|
|
+ type: "slot",
|
|
|
+ width: 120
|
|
|
},
|
|
|
],
|
|
|
loading: true,
|
|
|
@@ -769,12 +525,24 @@ export default {
|
|
|
perm: "sys:agent:edit",
|
|
|
icon: "fa fa-edit",
|
|
|
hide: (row) => {
|
|
|
- return row.status == "正常";
|
|
|
+ return row.status == "在职";
|
|
|
},
|
|
|
click: (row, index) => {
|
|
|
return this.handleOut(row);
|
|
|
},
|
|
|
},
|
|
|
+ {
|
|
|
+ type: "primary",
|
|
|
+ label: "离司恢复",
|
|
|
+ perm: "sys:agent:edit",
|
|
|
+ icon: "fa fa-edit",
|
|
|
+ hide: (row) => {
|
|
|
+ return row.status == "离司";
|
|
|
+ },
|
|
|
+ click: (row, index) => {
|
|
|
+ return this.handleRest(row);
|
|
|
+ },
|
|
|
+ },
|
|
|
],
|
|
|
},
|
|
|
recommenderOptions: [],
|
|
|
@@ -802,13 +570,13 @@ export default {
|
|
|
},
|
|
|
],
|
|
|
name: [{ required: true, message: "请填写名称", trigger: "blur" }],
|
|
|
- password: [{ required: true, message: "请填写密码", trigger: "blur" }],
|
|
|
+ // password: [{ required: true, message: "请填写密码", trigger: "blur" }],
|
|
|
status: [{ required: true, message: "请选择状态", trigger: "change" }],
|
|
|
// roleId: [{ required: true, message: "请填写角色", trigger: "blur" }],
|
|
|
- identity: [
|
|
|
- { required: true, message: "请填写身份证号" },
|
|
|
- { validator: validateSfz },
|
|
|
- ],
|
|
|
+ // identity: [
|
|
|
+ // { required: true, message: "请填写身份证号" },
|
|
|
+ // { validator: validateSfz },
|
|
|
+ // ],
|
|
|
referrerId: [
|
|
|
{ required: true, message: "请选择推荐人", trigger: "change" },
|
|
|
],
|
|
|
@@ -824,6 +592,7 @@ export default {
|
|
|
deptInfo: {}, //选中机构的基本信息
|
|
|
option: [], //机构列表
|
|
|
dialogPassword: true, //密码是否显示明文
|
|
|
+ user_statusoptions: [],
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
|
@@ -832,11 +601,34 @@ export default {
|
|
|
// })
|
|
|
//获取所有下拉框数据(字典)
|
|
|
// this.getDictItems("sex");
|
|
|
- // this.getDictItems("user_status");
|
|
|
- this.findPage();
|
|
|
+ this.getDictItems("user_status");
|
|
|
this.searchLeaderFun();
|
|
|
+ this.findPage();
|
|
|
},
|
|
|
methods: {
|
|
|
+ // 离司恢复
|
|
|
+ handleRest(data) {
|
|
|
+ this.$confirm('是否恢复', '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning'
|
|
|
+ }).then(() => {
|
|
|
+ this.$api.user.separationReinstatement(data.row.userId).then((res) => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: res.msg
|
|
|
+ });
|
|
|
+ this.findPage();
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }).catch(() => {
|
|
|
+ this.$message({
|
|
|
+ type: 'info',
|
|
|
+ message: '已取消'
|
|
|
+ });
|
|
|
+ });
|
|
|
+ },
|
|
|
handleSubOut() {
|
|
|
if (this.logoutTime == "") {
|
|
|
this.$message.error("请选择时间");
|
|
|
@@ -935,31 +727,45 @@ export default {
|
|
|
this.formDataRules.logoutTime = undefined;
|
|
|
}
|
|
|
},
|
|
|
+ // 新增或修改的弹出框Start
|
|
|
+ getDictItems(typeName) {
|
|
|
+ //--数据字典--
|
|
|
+ this.$api.dict
|
|
|
+ .findByLableName(typeName)
|
|
|
+ .then((response) => {
|
|
|
+ this[typeName + "options"] = response.data; // 把获取到的数据赋给this.data
|
|
|
+ })
|
|
|
+ .catch((error) => {
|
|
|
+ this[typeName + "options"] = [];
|
|
|
+ });
|
|
|
+ },
|
|
|
identityChange(iden) {
|
|
|
- let sex = null;
|
|
|
- let birth = null;
|
|
|
- let myDate = new Date();
|
|
|
- let month = myDate.getMonth() + 1;
|
|
|
- let day = myDate.getDate();
|
|
|
- sex = iden.substring(16, 17);
|
|
|
- birth =
|
|
|
- iden.substring(6, 10) +
|
|
|
- "-" +
|
|
|
- iden.substring(10, 12) +
|
|
|
- "-" +
|
|
|
- iden.substring(12, 14);
|
|
|
- let age = 0;
|
|
|
- if (
|
|
|
- iden.substring(10, 12) < month ||
|
|
|
- (iden.substring(10, 12) == month && iden.substring(12, 14) <= day)
|
|
|
- )
|
|
|
- age++;
|
|
|
- if (sex % 2 === 0) sex = "女";
|
|
|
- else sex = "男";
|
|
|
- this.formDataDetail.birthday = birth;
|
|
|
- this.formDataDetail.sex = this.sexoptions.find(
|
|
|
- (val) => sex == val.label
|
|
|
- ).value;
|
|
|
+ if (iden) {
|
|
|
+ let sex = null;
|
|
|
+ let birth = null;
|
|
|
+ let myDate = new Date();
|
|
|
+ let month = myDate.getMonth() + 1;
|
|
|
+ let day = myDate.getDate();
|
|
|
+ sex = iden.substring(16, 17);
|
|
|
+ birth =
|
|
|
+ iden.substring(6, 10) +
|
|
|
+ "-" +
|
|
|
+ iden.substring(10, 12) +
|
|
|
+ "-" +
|
|
|
+ iden.substring(12, 14);
|
|
|
+ let age = 0;
|
|
|
+ if (
|
|
|
+ iden.substring(10, 12) < month ||
|
|
|
+ (iden.substring(10, 12) == month && iden.substring(12, 14) <= day)
|
|
|
+ )
|
|
|
+ age++;
|
|
|
+ if (sex % 2 === 0) sex = "女";
|
|
|
+ else sex = "男";
|
|
|
+ this.formDataDetail.birthday = birth;
|
|
|
+ this.formDataDetail.sex = this.sexoptions.find(
|
|
|
+ (val) => sex == val.label
|
|
|
+ ).value;
|
|
|
+ }
|
|
|
},
|
|
|
// 查询Start
|
|
|
queryStaffInfo() {
|
|
|
@@ -976,6 +782,12 @@ export default {
|
|
|
this.currentTreeNode = evt;
|
|
|
this.deptId = this.currentTreeNode.id;
|
|
|
this.pageData.pageNum = 1;
|
|
|
+ this.$api.user
|
|
|
+ .selectfindByreferrerId({ deptId: this.deptId })
|
|
|
+ .then((res) => {
|
|
|
+ this.recommenderOptions = res.data;
|
|
|
+ console.log(res.data, this.recommenderOptions)
|
|
|
+ });
|
|
|
this.findPage();
|
|
|
this.searchLeaderFun();
|
|
|
// this.formData.deptId = [];
|
|
|
@@ -1036,7 +848,6 @@ export default {
|
|
|
}
|
|
|
|
|
|
this.tableConfig.loading = false;
|
|
|
-
|
|
|
this.pageResult = res.data.records;
|
|
|
this.pageData.pageNum = res.data.current;
|
|
|
this.pageData.pageSize = res.data.size;
|
|
|
@@ -1161,87 +972,97 @@ export default {
|
|
|
// 清空数据
|
|
|
this.deptInfo = {};
|
|
|
this.dialogVisible = false;
|
|
|
+ this.activeName = '1'
|
|
|
+ },
|
|
|
+ valids(data) {
|
|
|
+ this.detailValid = data
|
|
|
},
|
|
|
// 提交
|
|
|
submitForm() {
|
|
|
- this.$refs.formDataDetail.validate((valid) => {
|
|
|
- if (valid) {
|
|
|
- this.$confirm("确认提交吗?", "提示", {}).then(() => {
|
|
|
- // if(!this.basicInformation.id && this.dialogTitle =="新增代理人"){
|
|
|
- // this.$message({
|
|
|
- // message: '请先填写基本信息!!!',
|
|
|
- // type: 'warning'
|
|
|
- // });
|
|
|
- // return false
|
|
|
- // }
|
|
|
- if (this.formData.positionId) {
|
|
|
- this.formData.positionName = this.postOption.find(
|
|
|
- (val) => val.postId == this.formData.positionId
|
|
|
- ).postName;
|
|
|
- }
|
|
|
- if (this.formData.leaderId) {
|
|
|
- this.formData.leaderName = this.leaderOptions.find(
|
|
|
- (val) => val.id == this.formData.leaderId
|
|
|
- ).name;
|
|
|
- }
|
|
|
- if (this.dialogTitle == "新增代理人") {
|
|
|
- if (!this.formDataDetail.password) {
|
|
|
- this.formDataDetail.password =
|
|
|
- this.formDataDetail.mobile + "@2023";
|
|
|
+ this.$refs.formDataDetails.submit()
|
|
|
+ setTimeout(() => {
|
|
|
+ this.$refs.formData.validate((valid) => {
|
|
|
+ if (valid && this.detailValid) {
|
|
|
+ this.$confirm("确认提交吗?", "提示", {}).then(() => {
|
|
|
+ // if(!this.basicInformation.id && this.dialogTitle =="新增代理人"){
|
|
|
+ // this.$message({
|
|
|
+ // message: '请先填写基本信息!!!',
|
|
|
+ // type: 'warning'
|
|
|
+ // });
|
|
|
+ // return false
|
|
|
+ // }
|
|
|
+ if (this.formData.positionId) {
|
|
|
+ this.formData.positionName = this.postOption.find(
|
|
|
+ (val) => val.postId == this.formData.positionId
|
|
|
+ ).postName;
|
|
|
}
|
|
|
- this.$api.user
|
|
|
- .saveUserInfo({
|
|
|
- esmUserImageVo: this.imagesIdList,
|
|
|
- sysUser: this.formData,
|
|
|
- sysUserInfo: this.formDataDetail,
|
|
|
- })
|
|
|
- .then((res) => {
|
|
|
- if (res.code == 200) {
|
|
|
- this.$message({
|
|
|
- message: "保存成功",
|
|
|
- type: "success",
|
|
|
- });
|
|
|
- this.dialogVisible = false;
|
|
|
- this.$refs["formData"].resetFields();
|
|
|
- this.$refs["formDataDetail"].resetFields();
|
|
|
- this.activeName = "1";
|
|
|
- this.findPage();
|
|
|
- } else {
|
|
|
- this.$message({
|
|
|
- message: `保存失败,请重新添加,(${res.msg})`,
|
|
|
- type: "error",
|
|
|
- });
|
|
|
- }
|
|
|
- });
|
|
|
- } else {
|
|
|
- this.$api.user
|
|
|
- .updateUserInfo(this.formData.id, {
|
|
|
- esmUserImageVo: this.imagesIdList,
|
|
|
- sysUser: this.formData,
|
|
|
- sysUserInfo: this.formDataDetail,
|
|
|
- })
|
|
|
- .then((res) => {
|
|
|
- if (res.code == 200) {
|
|
|
- this.$message({
|
|
|
- message: "编辑成功",
|
|
|
- type: "success",
|
|
|
- });
|
|
|
- this.dialogVisible = false;
|
|
|
- this.$refs["formData"].resetFields();
|
|
|
- this.$refs["formDataDetail"].resetFields();
|
|
|
- this.activeName = "1";
|
|
|
- this.findPage();
|
|
|
- } else {
|
|
|
- this.$message({
|
|
|
- message: `编辑失败,请重新添加,(${res.msg})`,
|
|
|
- type: "error",
|
|
|
- });
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- });
|
|
|
+ if (this.formData.leaderId) {
|
|
|
+ this.formData.leaderName = this.leaderOptions.find(
|
|
|
+ (val) => val.id == this.formData.leaderId
|
|
|
+ ).name;
|
|
|
+ }
|
|
|
+ if (this.dialogTitle == "新增代理人") {
|
|
|
+ if (!this.formDataDetail.password) {
|
|
|
+ this.formDataDetail.password =
|
|
|
+ this.formDataDetail.mobile + "@2023";
|
|
|
+ }
|
|
|
+ this.$api.user
|
|
|
+ .saveUserInfo({
|
|
|
+ esmUserImageVo: this.imagesIdList,
|
|
|
+ sysUser: this.formData,
|
|
|
+ sysUserInfo: this.formDataDetail,
|
|
|
+ })
|
|
|
+ .then((res) => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.$message({
|
|
|
+ message: "保存成功",
|
|
|
+ type: "success",
|
|
|
+ });
|
|
|
+ this.dialogVisible = false;
|
|
|
+ this.$refs["formData"].resetFields();
|
|
|
+ this.$refs["formDataDetail"].resetFields();
|
|
|
+ this.activeName = "1";
|
|
|
+ this.findPage();
|
|
|
+ } else {
|
|
|
+ this.$message({
|
|
|
+ message: `保存失败,请重新添加,(${res.msg})`,
|
|
|
+ type: "error",
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ this.$api.user
|
|
|
+ .updateUserInfo(this.formData.id, {
|
|
|
+ esmUserImageVo: this.imagesIdList,
|
|
|
+ sysUser: this.formData,
|
|
|
+ sysUserInfo: this.formDataDetail,
|
|
|
+ })
|
|
|
+ .then((res) => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.$message({
|
|
|
+ message: "编辑成功",
|
|
|
+ type: "success",
|
|
|
+ });
|
|
|
+ this.dialogVisible = false;
|
|
|
+ this.$refs["formData"].resetFields();
|
|
|
+ this.$refs["formDataDetail"].resetFields();
|
|
|
+ this.activeName = "1";
|
|
|
+ this.findPage();
|
|
|
+ } else {
|
|
|
+ this.$message({
|
|
|
+ message: `编辑失败,请重新添加,(${res.msg})`,
|
|
|
+ type: "error",
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ this.$message.error('请填写全部信息')
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ }, 500);
|
|
|
},
|
|
|
// 下一步
|
|
|
nextStep() {
|
|
|
@@ -1319,9 +1140,6 @@ export default {
|
|
|
</style>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
->>> .el-tabs__header {
|
|
|
- margin-right: 50px !important;
|
|
|
-}
|
|
|
>>> .el-tabs__item:hover {
|
|
|
color: #2d4d89;
|
|
|
}
|
|
|
@@ -1361,3 +1179,33 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
</style>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+/deep/ .el-tag--plain {
|
|
|
+ background: rgba(93,125,255,0.1);
|
|
|
+ border-radius: 4px;
|
|
|
+ border: 1px solid #5D7DFF;
|
|
|
+}
|
|
|
+/deep/ .el-tag--plain.el-tag--danger {
|
|
|
+ background: rgba(240,85,82,0.1);
|
|
|
+ border-radius: 4px 4px 4px 4px;
|
|
|
+ border: 1px solid #F05552;
|
|
|
+}
|
|
|
+/deep/ .el-tag--plain.el-tag--info {
|
|
|
+ background: rgba(158,158,158,0.1);
|
|
|
+ border-radius: 4px 4px 4px 4px;
|
|
|
+ border: 1px solid #9E9E9E;
|
|
|
+}
|
|
|
+
|
|
|
+/deep/ .el-tag--plain.el-tag--success {
|
|
|
+ background: rgba(81,189,44,0.1);
|
|
|
+ border-radius: 4px 4px 4px 4px;
|
|
|
+ border: 1px solid #51BD2C;
|
|
|
+}
|
|
|
+
|
|
|
+/deep/ .el-tag--plain.el-tag--warning {
|
|
|
+ background: rgba(242,153,47,0.1);
|
|
|
+ border-radius: 4px 4px 4px 4px;
|
|
|
+ border: 1px solid #F2992F;
|
|
|
+}
|
|
|
+</style>
|