Files
cmanager/src/views/tenant/mission/Dialog/Employ.vue

1078 lines
32 KiB
Vue
Raw Normal View History

2024-02-02 10:23:22 +08:00
<template>
<basic-container>
<el-drawer
title="录用人员"
append-to-body
:visible.sync="drawer"
size="80%"
class="drawer"
:before-close="drawerClose"
>
<!-- <div class="tipsWrap" v-show="getUserConfig.insuranceOn == 1">录用人员说明:不在保期的人员,不可以录用,请先到 “商保管理" 模块申请投保</div> -->
<div class="tipsWrap1" v-show="getUserConfig.insuranceOn == 1 && employState == 1">说明录用成功后平台自动计算保期任务开始前一天自动投保确保录用人员任务期内均有商保</div>
<div class="tipsWrap2" v-show="getUserConfig.insuranceOn == 1 && employState == 2">说明录用人员取消后投保可自动取消任务开始前一天20:00以后不再支持取消操作</div>
<avue-crud
:option="option"
:table-loading="loading"
:data="data"
:page.sync="page"
ref="crud"
v-model="obj"
:permission="permissionList"
@search-change="searchChange"
@search-reset="searchReset"
@selection-change="selectionChange"
@current-change="currentChange"
@size-change="sizeChange"
@refresh-change="refreshChange"
class="customPage"
@on-load="onLoad"
>
<!--自定义列-->
<template slot="period" slot-scope="{row}">
<span v-if="row.startTime && row.endTime">
<el-tag type="warning" v-if="row.serviceStatus==0">{{dateFormat(row.startTime)}}-{{dateFormat(row.endTime)}}</el-tag>
<el-tag type="success" v-if="row.serviceStatus==1">{{dateFormat(row.startTime)}}-{{dateFormat(row.endTime)}}</el-tag>
<el-tag type="danger" v-if="row.serviceStatus==2">{{dateFormat(row.startTime)}}-{{dateFormat(row.endTime)}}</el-tag>
<el-tag type="info" v-if="row.serviceStatus==3">{{dateFormat(row.startTime)}}-{{dateFormat(row.endTime)}}</el-tag>
</span>
</template>
<template slot="serviceStatus" slot-scope="{row}" >
<span>
<el-tag type="warning" v-if="row.serviceStatus==0">未生效</el-tag>
<el-tag type="success" v-if="row.serviceStatus==1">生效中</el-tag>
<el-tag type="danger" v-if="row.serviceStatus==2">即将失效</el-tag>
<el-tag type="info" v-if="row.serviceStatus==3">已失效</el-tag>
</span>
</template>
<template slot="missionDate" slot-scope="{ row }">
<div>{{ row.startDate }}{{ row.endDate }}</div>
</template>
<template slot="resume" slot-scope="{ row }">
<div>
<el-button
type="text"
size="mini"
@click="$refs.resume.openDialog(row)"
v-if="row.userId && row.userId !== '0'"
>查看简历</el-button
>
<div v-else>暂无简历</div>
</div>
</template>
<template slot="canBao" slot-scope="{ row }">
<div>
<el-button type="text" size="mini">{{ row.canBao }}</el-button>
</div>
</template>
<!--/-->
<!--自定义搜索-->
<template slot-scope slot="statusSearch">
<!-- <el-select v-model="query.status" placeholder="请选择录用状态">
<el-option
:key="item.value"
:label="item.label"
:value="item.value"
v-for="item in personType"
></el-option>
</el-select>-->
<el-radio-group v-model="query.status" @change="radioButtonChange()">
<el-radio-button
v-for="(item, key, index) in personType"
:key="index"
:label="item.value"
:disabled="personTypeDisabledFlag"
>{{ item.label }}</el-radio-button
>
</el-radio-group>
</template>
<!--/-->
<div slot="menu" slot-scope="{ row }">
<el-button
type="text"
size="mini"
@click="rowEmploy(row)"
v-show="employState === 1 && status === 1"
>录用</el-button
>
<!-- <el-popover v-show="employState === 1 && status === 1 && row.effect"
placement="top-start"
title="提示:"
width="260"
trigger="click"
content="您选择的人员当前未在保期内,请您前去”商保管理”投保之后再次录用“"
v-show="employState === 1 && status === 1 && !row.effect"
>
<el-button type="text" size="mini" slot="reference" class="selectBtn">录用</el-button>
</el-popover> -->
<el-button
type="text"
size="mini"
@click="rowDel(row)"
v-show="employState === 2 && status === 1"
>取消</el-button
>
<el-button
type="text"
size="mini"
@click="rowCheck(row)"
v-show="employState === 2 && status === 1 && companyContractOn==1"
>查看合同</el-button
>
</div>
<!-- <div slot="menu" slot-scope="{ row }" v-else-if="getUserConfig.insuranceOn == 0">
<el-button
type="text"
size="mini"
@click="rowEmploy(row)"
v-show="employState === 1 && status === 1"
>录用</el-button
>
<el-button
type="text"
size="mini"
@click="rowDel(row)"
v-show="employState === 2 && status === 1"
>取消</el-button
>
<el-button
type="text"
size="mini"
@click="rowCheck(row)"
v-show="employState === 2 && status === 1 && companyContractOn==1"
>查看合同</el-button
>
</div> -->
<!--/-->
<!--自定义按钮-->
<template slot="menuLeft">
<el-button
type="primary"
size="small"
:disabled="!selectionList.length"
icon="el-icon-plus"
@click="handleEmploy"
v-show="employState === 1 && status === 1"
>批量录用</el-button
>
<!-- <el-button
type="primary"
size="small"
icon="el-icon-delete"
:disabled="!selectionList.length"
@click="handleDelete"
v-show="employState === 2 && status === 1"
>批量取消</el-button
> -->
</template>
<template v-slot:cardNumber="{row}">
<span>{{idNumberDDesensitization(row.cardNumber)}}</span>
</template>
</avue-crud>
<el-dialog
title=""
:visible.sync="dialogVisible"
width="35%"
:modal=false
>
<div>
<img class="" :src="'data:image/png;base64,'+imgStr" width="100%"/>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button>
<el-button type="primary" @click="downLoadContract">下载合同</el-button>
</span>
</el-dialog>
<el-dialog
title=""
:visible.sync="dialogVisible1"
width="30%"
:modal=false
>
<div>
<p style="text-align:center; font-size:16px">您选择<span class="employ-employNum-count">{{employNum}}</span>人准备录用请输入密码并确定录用</p>
<el-form :model="pwdForm" ref="pwdForm" :rules="pwdFormRules">
<el-form-item
label="输入密码:"
prop="pwd"
:label-position="labelPosition"
label-width="100px"
>
<el-col :span="16">
<el-input type="number" v-model="pwdForm.pwd" maxlength="6" onKeypress="return(/^[0-9]*$/.test(String.fromCharCode(event.keyCode)))" show-password placeholder="请输入六位数字密码"></el-input>
</el-col>
</el-form-item>
<el-form-item class="employ-forgetPwd">
<el-button type="text" @click="forgetPwd">忘记密码</el-button>
</el-form-item>
</el-form>
</div>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="PWDOk" :loading="loadingbut">{{loadingbuttext}}</el-button>
<el-button @click="dialogVisible1 = false"> </el-button>
</span>
</el-dialog>
<!--忘记密码dialog-->
<el-dialog title="重置密码" :visible.sync="resetPwdDialogVisible" append-to-body width="30%">
<el-form class="econtract-resetForm" label-position="right" :model="resetPwdForm" :rules="resetPwdRules" ref="resetPwdForm">
<el-form-item label="手机号码:" :label-width="formLabelWidth" prop="account" >
<span>{{phone}}</span>
</el-form-item>
<el-form-item label="请输入验证码:" :label-width="formLabelWidth" prop="code">
<el-input v-model="resetPwdForm.code" autocomplete="off" style="width: 50%;"></el-input>
<el-button :disabled="msgKey" style="margin-left: 15px;" type="primary" @click="getCode">{{msgText}}</el-button>
</el-form-item>
<el-form-item label="请设置新密码:" :label-width="formLabelWidth" prop="pwd">
<el-input type="number" v-model="resetPwdForm.pwd" maxlength="6" onKeypress="return(/^[0-9]*$/.test(String.fromCharCode(event.keyCode)))" autocomplete="off" show-password placeholder="请输入六位数字密码"></el-input>
</el-form-item>
<el-form-item label="请再次输入新密码:" :label-width="formLabelWidth" prop="pwd2">
<el-input type="number" maxlength="6" onKeypress="return(/^[0-9]*$/.test(String.fromCharCode(event.keyCode)))" v-model="resetPwdForm.pwd2" autocomplete="off" show-password placeholder="请再次输入六位数字密码"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="resetPwdDialogVisible = false"> </el-button>
<el-button type="primary" @click="submitResetPwd"> </el-button>
</div>
</el-dialog>
</el-drawer>
<Resume ref="resume"></Resume>
<employ-information
ref="order"
:checkDisplayVisible="checkDisplayVisible"
:fpData="fpData"
:fpTitleId='fpTitleId'
:usersInfo = "userInfo"
@checkDisplayVisibleClose = "checkDisplayVisibleClose"
@refresh="refreshChange"
></employ-information>
</basic-container>
</template>
<script>
import { employList, cancelEmploy, employ } from "@/api/tenant/mission";
import {viewContractImg,certCheckPass,getCode,resetPwd} from "@/api/manage/econtract.js";//api
import {contractDownload} from "@/api/manage/esignature.js";//api
import Resume from "@/components/resume/index";
import { idNumberDDesensitization } from "@/util/util";
import {applyStatus} from '@/api/manage/econtract'
import {mapGetters} from 'vuex'
import { dateFormat } from "@/util/date";
import {getConfig} from '@/api/tenant/config'
import EmployInformation from "./EmployInformation";
import { validatenull } from "@/util/validate";
import { getFpDetail, getAddressAll } from "@/api/tenant/fp";
export default {
comments: {},
components: {
Resume,
EmployInformation
},
props: {
status: Number,
},
data() {
const validatePwdLength=(rule,value,callback)=>{
if(value.length!=6 || isNaN(Number(value))){
callback(new Error('请输入6位数的数字密码'));
}
else{
callback();
}
}
const validatePwd = (rule, value, callback) => {
if (value != this.resetPwdForm.pwd) {
callback(new Error('两次输入密码不一致'));
}
else {
callback();
}
};
const validPwdNums=(rule,value,callback)=>{
if(value.length!=6 || isNaN(Number(value))){
callback(new Error('请输入6位数的数字密码'));
}
else{
callback();
}
}
return {
selectTaskInfo:{},
getUserConfig:{},
checkDisplayVisible: false,
fpTitleId:'',
fpData: {},
pwdFormRules:{
pwd:[
{
required:true,message:'请输入密码',trigger:'blur'
},
{
validator:validatePwdLength,trigger:'blur'
},
]
},
companyContractOn:'',//电子合同状态
conpanySealOn:'',//签章状态
selectionFlag:true,
/*忘记密码*/
resetPwdDialogVisible:false,
resetPwdForm:{},
formLabelWidth:'150px',
msgText: '获取验证码',
msgTime:120,
cancel:'',
//重置密码校验
resetPwdRules: {
code: [
{
required: true, message: '请输入验证码', trigger: 'blur'
}
],
pwd: [
{
required: true, message: '请输入密码', trigger: 'blur'
},
{
validator: validPwdNums, trigger: 'blur'
}
],
pwd2: [
{
required: true, message: '请输入确认密码', trigger: 'blur'
},
{
validator: validatePwd, trigger: 'blur'
}
]
},
loadingbut:false,
loadingbuttext:'确定',
downLoadRow:{},
dataCurClick:{},
employDataIds:1,
employNum:1,
imgStr:'',
isIndeterminate: false,
checkAll: false,
checked: false,
missionId: "",
loading: false,
selectionList: [],
dialogVisible: false,
dialogVisible1: false,
contractId:'',
labelPosition: 'right',
pwdForm: {
pwd: ''
},
page: {
pageSize: 20,
currentPage: 1,
total: 0,
},
query: {
status: 1,
},
personType: [
{
value: 1,
label: "待录用",
},
{
value: 2,
label: "已录用",
},
],
drawer: false,
data: [],
personTypeDisabledFlag:true,
obj: {},
};
},
computed: {
...mapGetters(['userInfo']),
ids() {
let ids = [];
this.selectionList.forEach((ele) => {
ids.push(ele.id);
});
return ids.join(",");
},
employState() {
return this.query.status;
},
option() {
//const self = this;
return {
height: "auto",
align: "center",
menuAlign: "center",
tip: false,
addBtn: false,
viewBtn: false,
delBtn: false,
editBtn: false,
excelBtn: false,
columnBtn: false,
searchBtn: true,
searchShow: true,
searchMenuSpan: 6,
searchLabelWidth: 60,
menuPosition: "center",
labelPosition: "right",
border: true,
index: false,
// index: true,
// indexLabel: "序号",
selection: this.selectionFlag,
selectable: function (row) {
return !row.noSelection;
},
dialogType: "drawer",
dialogWidth: "60%",
dialogClickModal: false,
column: [
{
label: "",
prop: "status",
search: true,
searchSpan: 5,
searchLabelWidth: 1,
hide: true,
searchslot: true,
},
{
label: "姓名",
prop: "realName",
search: true,
searchSpan: 4,
width:70,
},
{
label: "性别",
prop: "sex",
search: false,
width:50,
dicData: [
{
label: "男",
value: 1,
},
{
label: "女",
value: 2,
},
],
},
{
label: "年龄",
prop: "age",
search: false,
width:50,
},
{
label: "手机号",
prop: "telphone",
search: false,
width:100,
},
{
label: "身份证",
prop: "cardNumber",
search: false,
slot: true,
width:110
},
{
label: "最新保期",
prop: "period",
searchSpan: 5,
display: false,
slot:true,
width:190
},
{
label: "商保状态",
prop: "serviceStatus",
searchSpan: 5,
display: false,
type: 'select',
dicData: [
{
label: '未生效',
value: 0
},
{
label: '生效中',
value: 1
},
{
label: '即将失效',
value: 2
},
{
label: '已失效',
value: 3
},
],
slot:true,
},
{
label: "工种",
prop: "workTypes",
},
{
label: "来源",
prop: "src",
search: false,
width:70,
},
{
label: "人才库",
prop: "groupId",
type: "tree",
span: 24,
search: true,
display: true,
width: '150',
dicUrl: `/api/jobslink-api/tenant/talents/group/listAll`,
dicFormatter: (res) => {
return res.data.list; //返回字典的层级结构
},
props: {
label: "groupName",
value: "id",
},
placeholder: "请选择分组",
},
],
};
},
},
watch: {
"query.status": function (val, oldVal) {
if(val == 1){
this.selectionFlag = true;
}else{
this.selectionFlag = false;
}
this.query.realName = '';
this.query.groupId = '';
if (val !== oldVal) {
this.query.status = val;
this.page.currentPage = 1;
this.onLoad(this.page, this.query);
}
},
},
mounted(){
this.checkStatus();
},
methods: {
checkDisplayVisibleClose(){
this.checkDisplayVisible = false;
},
/*获取发票数据*/
async getData() {
this.usersInfo = this.data;
const self = this;
self.drawerLoading = true;
await getFpDetail().then((res) => {
self.fpData = res.data.data;
self.fpTitleId = self.fpData.id;
self.drawerLoading = false;
});
self.drawerLoading = true;
await getAddressAll().then((res) => {
const data = res.data.data;
self.addresses = data;
self.drawerLoading = false;
});
if (validatenull(self.fpData)) {
self.$message.warning("请完善您的发票抬头信息");
} else if (validatenull(self.addresses)) {
self.$message.warning("请完善您的发票收件地址");
} else {
self.checkDisplayVisible = true;
self.$refs.order.openDialog(this.selectTaskInfo,this.employDataIds,this.selectionList);
self.$refs.order.getData(self.addresses);
}
},
rowEmployDisabled(){
},
dateFormat(date){
return dateFormat(new Date(date),'yyyy/MM/dd')
},
checkStatus(){
applyStatus().then(res=>{
this.companyContractOn=res.data.data.contractOn;//电子合同是否启用0=未启用
this.conpanySealOn=res.data.data.sealOn;//电子签章是否设置0=未设置,1=等待审核2=已设置
})
},
idNumberDDesensitization,
//输入密码点击确定
PWDOk(){
this.$refs.pwdForm.validate(valid=>{
if(valid){
this.loadingbut = true;
this.loadingbuttext = '提交中...';
certCheckPass(this.pwdForm.pwd).then((res)=>{
if(res.data.data == true){//输入签章密码正确走录用流程
this.employApi(this.employDataIds);
}else{
this.$message.closeAll();
this.$message({
type: "error",
message: "密码输入错误!",
});
this.loadingbut=false;
this.loadingbuttext='确定';
}
})
}
})
},
/*录用人员*/
rowEmploy(row) {
this.dataCurClick = row;
this.employDataIds = row.id;
this.employNum = 1;
this.pwdForm.pwd = '';
if(this.getUserConfig.insuranceOn == 1){
this.getData();
}else{
if(this.companyContractOn!=0){
this.dialogVisible1 = true;
}
else{
this.employApi(this.employDataIds);
}
}
},
drawerClose(){
this.$emit('refresh');
this.drawer = false;
},
radioButtonChange(){
this.query.realName = '';
this.query.groupId = '';
this.personTypeDisabledFlag = true;
this.page.total = 0;
this.data = [];
if(this.query.status == 2){
this.selectionFlag = false;
this.data = this.employedData;
}else{
this.selectionFlag = true;
this.data = this.waitEmployedData;
}
},
/*打开drawer*/
openDialog(row, status) {
this.selectTaskInfo = row;
this.missionId = row.missionNo;
this.query = {
status: status,
};
if (this.$refs.crud) {
this.$refs.crud.searchReset();
} else {
this.onLoad(this.page, this.query);
}
this.drawer = true;
},
//查看合同
rowCheck(row){
this.downLoadRow = row;
if(row.contractStatus==true){
viewContractImg(row.userId,row.missionNo).then((res) => {
window.open(res.data.data.url)
// this.imgStr = res.data.data.url;
// this.contractId = res.data.data.id;
// this.dialogVisible = true;
})
}
else{
this.$message.closeAll();
this.$message.warning('合同生成中,请稍后查看');
}
},
//下载合同
downLoadContract(){
window.open(contractDownload(this.contractId))
},
/*单行取消*/
rowDel(row) {
const h = this.$createElement;
this.$confirm(
h("div", null, [
h("p", { style: "font-size: 16px" }, "您确定要取消录用该人员吗? "),
]),
{
type: "warning",
showClose: false,
showCancelButton: true,
confirmButtonText: "确定",
cancelButtonText: "取消",
beforeClose: (action, instance, done) => {
if (action === "confirm") {
instance.confirmButtonLoading = true;
instance.cancelButtonLoading = true;
instance.closeOnPressEscape = false;
instance.closeOnClickModal = false;
setTimeout(() => {
done();
setTimeout(() => {
instance.confirmButtonLoading = false;
instance.cancelButtonLoading = false;
}, 300);
}, 1000);
} else {
done();
}
},
}
)
.then(() => {
cancelEmploy(this.missionId, row.id).then(
() => {
this.$message({
type: "success",
message: "操作成功!",
});
this.onLoad(this.page);
this.$emit("refresh");
},
(error) => {
window.console.log(error);
}
);
})
.catch(() => {
});
},
/*批量录用*/
handleEmploy() {
if (this.selectionList.length === 0) {
this.$message.warning("请选择至少一条数据");
return;
}
const h = this.$createElement;
this.$confirm(
h("div", null, [
h("p", { style: "font-size: 16px" }, "您确定要批量录用选中人员吗? "),
]),
{
type: "warning",
showClose: false,
showCancelButton: true,
confirmButtonText: "确定",
cancelButtonText: "取消",
beforeClose: (action, instance, done) => {
if (action === "confirm") {
instance.confirmButtonLoading = true;
instance.cancelButtonLoading = true;
instance.closeOnPressEscape = false;
instance.closeOnClickModal = false;
setTimeout(() => {
done();
setTimeout(() => {
instance.confirmButtonLoading = false;
instance.cancelButtonLoading = false;
}, 300);
}, 1000);
} else {
done();
}
},
}
)
.then(() => {
this.employNum = this.selectionList.length;
this.pwdForm.pwd = '';
//未开通合同,不显示输入密码框
this.employDataIds = this.ids;
if(this.getUserConfig.insuranceOn == 1){
this.getData();
}else{
if(this.companyContractOn!=0){
this.dialogVisible1 = true;
}
else{
this.employApi(this.employDataIds);
}
}
})
.catch(() => {
});
},
employApi(ids){
employ(this.missionId, ids,0,0).then(
() => {
this.loadingbut = false;
this.loadingbuttext = '确定';
this.$message({
type: "success",
message: "操作成功!",
});
this.dialogVisible1 = false;
this.onLoad(this.page, this.query);
this.$emit("refresh");
},
(error) => {
this.loadingbut = false;
this.loadingbuttext = '确定';
window.console.log(error);
this.dialogVisible1 = false;
}
);
},
/*批量取消*/
handleDelete() {
if (this.selectionList.length === 0) {
this.$message.warning("请选择至少一条数据");
return;
}
const h = this.$createElement;
this.$confirm(
h("div", null, [
h("p", { style: "font-size: 16px" }, "您确定要批量取消选中人员吗? "),
]),
{
type: "warning",
showClose: false,
showCancelButton: true,
confirmButtonText: "确定",
cancelButtonText: "取消",
beforeClose: (action, instance, done) => {
if (action === "confirm") {
instance.confirmButtonLoading = true;
instance.cancelButtonLoading = true;
instance.closeOnPressEscape = false;
instance.closeOnClickModal = false;
setTimeout(() => {
done();
setTimeout(() => {
instance.confirmButtonLoading = false;
instance.cancelButtonLoading = false;
}, 300);
}, 1000);
} else {
done();
}
},
}
)
.then(() => {
cancelEmploy(this.missionId, this.ids).then(
() => {
this.$message({
type: "success",
message: "操作成功!",
});
this.onLoad(this.page);
this.$emit("refresh");
},
(error) => {
window.console.log(error);
}
);
})
.catch(() => {
});
},
searchReset() {
this.query = {
status: this.query.status,
};
this.onLoad(this.page, this.query);
},
searchChange(params, done) {
this.page.currentPage = 1;
this.query = {
realName: params.realName,
groupId: params.groupId,
status: this.query.status,
worktypes: params.worktypes,
};
this.onLoad(this.page, this.query);
done();
},
selectionChange(list) {
this.selectionList = list;
},
selectionClear() {
this.selectionList = [];
this.$refs.crud.toggleSelection();
},
currentChange(currentPage) {
this.page.currentPage = currentPage;
},
sizeChange(pageSize) {
this.page.pageSize = pageSize;
},
/*刷新本页 带搜索参数*/
refreshChange() {
this.onLoad(this.page);
},
/*加载数据*/
onLoad(page, params) {
this.data = [];
getConfig().then((res)=>{
this.getUserConfig = res.data.data;
});
this.loading = true;
let paramscur = params ? Object.assign(params, this.query) : this.query;
employList(
page.currentPage,
page.pageSize,
paramscur,
this.missionId,
).then((res) => {
const data = res.data.data;
this.page.total = data.total;
this.data = data.records;
this.personTypeDisabledFlag = false;
// if(this.query.status == 2){
// this.employedData = data.records;
// console.log(this.employedData);
// console.log()
// }
// if(this.query.status == 1){
// this.waitEmployedData = data.records;
// console.log(this.waitEmployedData);
// console.log(this.data)
// }
// if(this.getUserConfig.insuranceOn == 1){
// this.data.forEach((ele)=>{
// if(!ele.effect){
// ele.noSelection = 1;
// }
// })
// }
this.loading = false;
/*let datas = data.records;
datas.forEach((ele,index)=>{
isGenerateContract(ele.userId,ele.missionNo).then((res) => {
datas[index].successFlag = res.data.data;
})
})
setTimeout(()=>{
this.data = datas;
this.loading = false;
},1000)
*/
this.selectionClear();
});
},
/*返回首页*/
backIndex() {
this.$emit("refresh");
},
forgetPwd(){
this.phone=this.userInfo.account;
var pat=/(\d{3})\d*(\d{4})/;
this.phone=this.phone.replace(pat,'$1****$2');
this.resetPwdDialogVisible=true;
this.resetPwdForm={};
},
/*获取验证码*/
getCode() {
this.msgKey = true;
this.msgText = "发送中...";
getCode(this.userInfo.account)
.then(() => {
this.msgText = "剩余" + 120 + "s";
this.msgKey = true;
const time = setInterval(() => {
this.msgTime--;
this.msgText = "剩余" + this.msgTime + "s";
if (this.msgTime <= 0) {
this.msgTime = 120;
this.msgText = "重新获取";
this.msgKey = false;
clearInterval(time);
}
}, 1000);
})
.catch(() => {
this.msgText = "重新获取";
this.msgKey = false;
});
},
/*重置密码*/
submitResetPwd() {
this.$refs.resetPwdForm.validate(valid => {
if (valid) {
resetPwd(this.userInfo.account,this.resetPwdForm.pwd,this.resetPwdForm.code).then(()=>{
this.$message.success('密码重置成功');
this.resetPwdDialogVisible=false;
})
.catch((err)=>{
this.$message.error(err);
})
}
})
},
},
};
</script>
<style>
.selectBtn{
color: #787879 !important;
}
.selectBtn:hover{
color: #787879 !important;
}
.tipsWrap1{
font-size: 14px;
color: #ff0000;
position: absolute;
margin-top: 75px;
margin-left: 130px;
/* top: 165px;
left: 130px; */
}
.tipsWrap2{
font-size: 14px;
color: #ff0000;
position: absolute;
margin-top: 75px;
margin-left: 30px;
}
.employ-employNum-count{
color: #2098ee;
}
.employ-forgetPwd{
float: right;
margin-top: -33px;
}
</style>