Commit 31bf840e authored by 祁正's avatar 祁正

Merge remote-tracking branch 'origin/master'

parents 9fb8b9bf 5eae305e
...@@ -42,3 +42,27 @@ export function delOnBoardManage(id) { ...@@ -42,3 +42,27 @@ export function delOnBoardManage(id) {
method: 'delete' method: 'delete'
}) })
} }
// 查询入职草稿箱
export function listOnBoardManageDraft(query) {
return request({
url: '/staffmanage/onboardmanage/listDraft',
method: 'get',
params: query
})
}
// 新增入职草稿
export function addOnBoardManageDraft(data) {
return request({
url: '/staffmanage/onboardmanage/addDraft',
method: 'post',
data: data
})
}
// 修改入职草稿箱(草稿箱提交 状态修改)
export function updateOnBoardManageDraft(data) {
return request({
url: '/staffmanage/onboardmanage/updateDraft',
method: 'put',
data: data
})
}
...@@ -56,20 +56,21 @@ ...@@ -56,20 +56,21 @@
<el-input <el-input
v-model="form.achievementDescription" v-model="form.achievementDescription"
type="textarea" type="textarea"
autosize :autosize="{ minRows: 2, maxRows: 4 }"
placeholder="试用期工作成果描述(不能超过255个字符)" placeholder="试用期工作成果描述(不能超过255个字符)"
maxlength="255" maxlength="255"
class="applyInput" class="applyInput custom-textarea"
/> />
</el-form-item> </el-form-item>
<el-form-item label="自我评价" prop="selfEvaluation" class="selfEvaluationInput"> <el-form-item label="自我评价" prop="selfEvaluation" class="selfEvaluationInput">
<el-input <el-input
v-model="form.selfEvaluation" v-model="form.selfEvaluation"
type="textarea" type="textarea"
autosize :autosize="{ minRows: 2, maxRows: 4 }"
placeholder="试用期综合自我评价(不能超过255个字符)" placeholder="试用期综合自我评价(不能超过255个字符)"
class="applyInput" class="applyInput custom-textarea"
maxlength="255" maxlength="255"
/> />
</el-form-item> </el-form-item>
</el-row> </el-row>
...@@ -592,4 +593,19 @@ onMounted(() => { ...@@ -592,4 +593,19 @@ onMounted(() => {
width: 400px !important; width: 400px !important;
height: 40px !important; height: 40px !important;
} }
/* 添加固定高度和滚动条 */
.fixed-textarea textarea {
max-height: 200px !important;
overflow-y: auto !important;
}
/* 增加表单项间距 */
.el-form-item {
margin-bottom: 20px;
}
/* 上传区域增加顶部间距 */
.textForInput[prop="confirmationMaterials"] {
margin-top: 20px;
}
</style> </style>
...@@ -234,7 +234,7 @@ ...@@ -234,7 +234,7 @@
</el-row> </el-row>
<el-form-item class="bottom-button"> <el-form-item class="bottom-button">
<el-button @click="cancel" class="cancel-button">取 消</el-button> <el-button @click="cancel" class="cancel-button">取 消</el-button>
<el-button class="savecConfirm-button">保存</el-button> <el-button class="savecConfirm-button" @click="saveOnDraft">保存</el-button>
<el-button class="savecConfirm-button" @click="submitForm">确 定</el-button> <el-button class="savecConfirm-button" @click="submitForm">确 定</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -245,7 +245,7 @@ ...@@ -245,7 +245,7 @@
<script setup> <script setup>
import { reactive } from 'vue' import { reactive } from 'vue'
import { listOnBoardManage, getOnBoardManage, delOnBoardManage, addOnBoardManage, updateOnBoardManage } from "@/api/onboardmanage/onboardmanage"; import { listOnBoardManage, getOnBoardManage, delOnBoardManage, addOnBoardManage, updateOnBoardManage,addOnBoardManageDraft} from "@/api/onboardmanage/onboardmanage";
import { pcaTextArr} from "element-china-area-data"; import { pcaTextArr} from "element-china-area-data";
import { useRouter } from 'vue-router'; import { useRouter } from 'vue-router';
const pcaTextArrRef = pcaTextArr; const pcaTextArrRef = pcaTextArr;
...@@ -517,6 +517,17 @@ function submitForm() { ...@@ -517,6 +517,17 @@ function submitForm() {
} }
}); });
} }
function saveOnDraft(){
proxy.$refs["onboardmanageRef"].validate(valid => {
if (valid) {
addOnBoardManageDraft(form.value).then(response => {
proxy.$modal.msgSuccess("新增成功");
router.push('/staffManage/draftonboardmanage');
getList();
});
}
});
}
/** 删除按钮操作 */ /** 删除按钮操作 */
function handleDelete(row) { function handleDelete(row) {
......
<template>
<div class="app-container">
<div class="formSearch">
<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch">
<el-row>
<el-form-item label="姓名" prop="name" class="nameSearch">
<el-input
v-model="queryParams.name"
placeholder="请输入"
clearable
@keyup.enter="handleQuery"
class="nameInput"
/>
</el-form-item>
<el-form-item label="性别" prop="gender" class="genderSearch">
<el-select v-model="queryParams.gender" placeholder="请选择" class="genderInput" clearable>
<el-option v-for="item in sys_user_sex" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="身份证号" prop="idNumber" class="idNumberSearch">
<el-input
v-model="queryParams.idNumber"
placeholder="请输入身份证号"
clearable
@keyup.enter="handleQuery"
class="idNumberInput"
/>
</el-form-item>
<el-form-item>
<el-button type="default" class="el-button-defalut" icon="Refresh" @click="resetQuery">重置</el-button>
<el-button type="primary" class="el-button-primary" icon="Search" @click="handleQuery">搜索</el-button>
<el-button
type="primary"
link
@click="toggleExpand"
:icon="isExpanded ? ArrowUp : ArrowDown"
>
{{ isExpanded ? '收起' : '更多' }}
</el-button>
</el-form-item>
<!-- 展开区域 -->
<transition name="slide-down">
<div v-show="isExpanded" class="expanded-items">
<el-form-item label="学历" prop="educationLevel" class="educationLevelSearch">
<el-select
v-model="queryParams.educationLevel"
placeholder="请选择"
clearable
class="nameInput"
>
<el-option
v-for="item in education_level"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="聘用形式" prop="employmentForm" class="employmentFormSearch">
<el-select
v-model="queryParams.employmentForm"
placeholder="请选择"
clearable
class="nameInput"
>
<el-option
v-for="item in employment_form"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="员工状态" prop="employeeState" class="employeeStateSearch">
<el-select
v-model="queryParams.employeeState"
placeholder="请选择"
clearable
class="nameInput"
>
<el-option
v-for="item in employee_state"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</div>
</transition>
</el-row>
</el-form>
</div>
<div class="contentTable">
<div class="button-title">
<div class="titleForTable">
<span>入职草稿箱</span>
</div>
<div class="titleLine"></div>
</div>
<el-table v-loading="loading" :data="onboardmanageList" @selection-change="handleSelectionChange" border :header-cell-style="{ background: '#f6f8fc'}">
<el-table-column type="selection" width="56"align="center" />
<el-table-column label="姓名" width="150" show-overflow-tooltip align="center" prop="name" />
<el-table-column label="身份证号" show-overflow-tooltip width="200" align="center" prop="idNumber" />
<el-table-column label="性别" width="80" align="center" prop="gender">
<template #default="scope">
<dict-tag :options="sys_user_sex" :value="scope.row.gender"/>
</template>
</el-table-column>
<el-table-column label="手机号" show-overflow-tooltip width="150" align="center" prop="phone" />
<el-table-column label="最高学历" show-overflow-tooltip width="120" align="center" prop="educationLevel">
<template #default="scope">
<dict-tag :options="education_level" :value="scope.row.educationLevel"/>
</template>
</el-table-column>
<el-table-column label="聘用形式 " width="120" align="center" prop="employmentForm">
<template #default="scope">
<dict-tag :options="employment_form" :value="scope.row.employmentForm"/>
</template>
</el-table-column>
<el-table-column label="员工状态" width="120" align="center" prop="employeeState">
<template #default="scope">
<dict-tag :options="employee_state" :value="scope.row.employeeState"/>
</template>
</el-table-column>
<el-table-column label="是否有试用期" width="150" align="center" prop="isTrialPeriod">
<template #default="scope">
<dict-tag :options="is_trial_period" :value="scope.row.isTrialPeriod"/>
</template>
</el-table-column>
<el-table-column label="入职日期" class="el-table-column-serviceDate" align="center" prop="serviceDate" width="140">
<template #default="scope">
<span>{{ parseTime(scope.row.serviceDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<!-- <el-table-column label="转正日期" align="center" prop="dateOfConfirmation" width="180">
<template #default="scope">
<span>{{ parseTime(scope.row.dateOfConfirmation, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>-->
<el-table-column label="操作" width="227" align="center" class-name="small-padding fixed-width" fixed="right">
<template #default="scope">
<div class="button-container">
<el-tooltip effect="dark" content="编辑" placement="top">
<el-button link type="primary" @click="handleUpdate(scope.row)" v-hasPermi="['staffmanage:onboardmanage:edit']">
<img src="@/assets/icons/common/edit.png">
</el-button>
</el-tooltip>
<el-tooltip effect="dark" content="删除" placement="top">
<el-button link type="primary" @click="handleDelete(scope.row)" v-hasPermi="['staffmanage:onboardmanage:remove']">
<img src="@/assets/icons/common/delete.png">
</el-button>
</el-tooltip>
</div>
</template>
</el-table-column>
</el-table>
<div class="pagination-containers">
<pagination
v-show="total>0"
:total="total"
v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
</div>
</div>
</div>
</template>
<script setup name="Onboardmanage">
import { listOnBoardManage, getOnBoardManage, delOnBoardManage, addOnBoardManage, updateOnBoardManage,listOnBoardManageDraft} from "@/api/onboardmanage/onboardmanage";
import { useRouter } from 'vue-router';
import { getToken } from "@/utils/auth";
import { pcaTextArr} from "element-china-area-data";
import { ref, reactive } from 'vue'
import { ArrowUp, ArrowDown } from '@element-plus/icons-vue'
const { proxy } = getCurrentInstance();
const { sys_user_sex,home_type,political_outlook,marital_status,employment_form,employee_state,is_trial_period,education_level,emergency_contact_relation} = proxy.useDict('sys_user_sex','home_type','political_outlook','marital_status','employment_form','employee_state','is_trial_period','education_level','emergency_contact_relation');
const isExpanded = ref(false)
// 方法
const toggleExpand = () => {
isExpanded.value = !isExpanded.value
}
const pcaTextArrRef = pcaTextArr;
const tableData = ref([
{
emergencyContactName: '',
emergencyContactPhone: '',
emergencyContactRelation: ''
}
]);
const selectedRows = ref([]);
const selectedOptions = ref([]);
const onboardmanageList = ref([]);
const open = ref(false);
const loading = ref(true);
const showSearch = ref(true);
const ids = ref([]);
const single = ref(true);
const multiple = ref(true);
const total = ref(0);
const title = ref("");
/*** 用户导入参数 */
const upload = reactive({
// 是否显示弹出层(用户导入)
open: false,
// 弹出层标题(用户导入)
title: "",
// 是否禁用上传
isUploading: false,
// 是否更新已经存在的用户数据
updateSupport: 0,
// 设置上传的请求头部
headers: { Authorization: "Bearer " + getToken() },
// 上传的地址
url: import.meta.env.VITE_APP_BASE_API + "/staffmanage/onboardmanage/importData"
});
const workPicList = ref([]);
const diplomaPicList = ref([]);
const degreePicList = ref([]);
const otherCertificationList = ref([]);
const workPicAction = 'http://localhost:8080/file/upload';
const genderOptions = ref([]);
const homeTypeOptions = ref([]);
const politicalOutlookOptions = ref([]);
const maritalStatusOptions = ref([]);
const employmentFormOptions = ref([]);
const employeeStateOptions = ref([]);
const isTrialPeriodOptions = ref([]);
const educationLevelOptions = ref([]);
const relationOptions = ref([
{ label: '父亲', value: 0 },
{ label: '母亲', value: 1 },
{ label: '配偶', value: 2 },
{ label: '子女', value: 3 },
{ label: '其他', value: 4 }
]);
const serviceDepartOptions = ref([]);
const managerOpinions = ref([]);
//const genderDict = ref([]); // 性别字典
const homeTypeDict = ref([]); // 户籍类型字典
const politicalOutlookDict = ref([]); // 政治面貌字典
const maritalStatusDict = ref([]); // 婚姻状况字典
const employmentFormDict = ref([]); // 聘用形式字典
const employeeStateDict = ref([]); // 员工状态字典
const isTrialPeriodDict = ref([]); // 是否试用期字典
const educationLevelDict = ref([]); // 学历字典
const relationDict = ref([]); // 关系字典
const serviceDepartDict = ref([]); //
const managerOpinionsDict = ref([]); // 总经理意见字典
const data = reactive({
form: {
name:'',
gender:null,
},
queryParams: {
pageNum: 1,
pageSize: 10,
name: null,
idNumber: null,
gender: null,
educationLevel: null,
employmentForm: null,
employeeState: null,
serviceCompany: null,
},
rules: {}
});
const { queryParams, form, rules } = toRefs(data);
// 取消按钮
function cancel() {
open.value = false;
reset();
}
// 表单重置
function reset() {
form.value = {
id: null,
name: null,
idNumber: null,
gender: null,
birthday: null,
phone: null,
homeType: null,
nativePlace: null,
nationality: null,
homeAddress: null,
permanentAddress: null,
politicalOutlook: null,
maritalStatus: null,
workDate: null,
workerPic: null,
emergencyContactName: null,
emergencyContactPhone: null,
emergencyContactRelation: null,
insuredCity: null,
socialSecurityAccount: null,
housingFundAccount: null,
bankAccount: null,
openingBank: null,
serviceDate: null,
serviceDepart: null,
entryPosition: null,
employmentForm: null,
formalSalary: null,
employeeState: null,
isTrialPeriod: null,
trialPeriodSalary: null,
trialPeriodDay: null,
dateOfConfirmation: null,
educationLevel: null,
diplomaPic: null,
degreePic: null,
otherCertification: null,
university: null,
graduationDate: null,
majorStudied: null,
signature: null,
applicationTime: null,
managerOpinion: null,
approvalTime: null,
managerSignature: null,
submitter: null,
submissionTime: null,
updateTime: null,
processState: null,
currentNode: null,
currentResponsiblePerson: null,
};
proxy.resetForm("onboardmanageRef");
}
function fieldBeforeUpload(file) {
let isRightSize = file.size / 1024 / 1024 < 2
if (!isRightSize) {
this.$message.error('文件大小超过 2MB')
}
return isRightSize
}
/** 查询入职审批列表 */
function getList() {
loading.value = true;
listOnBoardManageDraft(queryParams.value).then(response => {
onboardmanageList.value = response.rows;
total.value = response.total;
loading.value = false;
});
}
/** 搜索按钮操作 */
function handleQuery() {
queryParams.value.pageNum = 1;
getList();
}
/** 重置按钮操作 */
function resetQuery() {
proxy.resetForm("queryRef");
handleQuery();
}
/** 导入按钮操作 */
function handleImport() {
upload.title = "数据导入";
upload.open = true;
};
/** 下载模板操作 */
function importTemplate() {
proxy.download("staffmanage/onboardmanage/importTemplate", {
}, `user_information_${new Date().getTime()}.xlsx`);
};
/**文件上传中处理 */
const handleFileUploadProgress = (event, file, fileList) => {
upload.isUploading = true;
};
/** 文件上传成功处理 */
const handleFileSuccess = (response, file, fileList) => {
upload.open = false;
upload.isUploading = false;
proxy.$refs["uploadRef"].handleRemove(file);
proxy.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + "</div>", "导入结果", { dangerouslyUseHTMLString: true });
getList();
};
/** 提交上传文件 */
function submitFileForm() {
proxy.$refs["uploadRef"].submit();
};
// 多选框选中数据
function handleSelectionChange(selection) {
ids.value = selection.map(item => item.id);
single.value = selection.length != 1;
multiple.value = !selection.length;
}
const router = useRouter();
/** 修改按钮操作 */
const handleUpdate = (row) => {
reset();
const _id = row.id || ids.value;
router.push({ path: '/staffmanage/editdraftonboardmanage', query: { id: _id } });
};
const handleCheck = (row) => {
reset();
const _id = row.id || ids.value;
router.push({ path: '/staffmanage/checkemployee', query: { id: _id } });
};
/** 提交按钮 */
function submitForm() {
proxy.$refs["onboardmanageRef"].validate(valid => {
if (valid) {
if (form.value.id != null) {
updateOnBoardManage(form.value).then(response => {
proxy.$modal.msgSuccess("修改成功");
open.value = false;
getList();
});
} else {
addOnBoardManage(form.value).then(response => {
proxy.$modal.msgSuccess("新增成功");
open.value = false;
getList();
});
}
}
});
}
/** 删除按钮操作 */
function handleDelete(row) {
const _ids = row.id || ids.value;
proxy.$modal.confirm('是否删除姓名为"' + row.name + '"的数据项?').then(function() {
return delOnBoardManage(_ids);
}).then(() => {
getList();
proxy.$modal.msgSuccess("删除成功");
}).catch(() => {});
}
/** 导出按钮操作 */
function handleExport() {
proxy.download('staffmanage/onboardmanage/export', {
...queryParams.value
}, `onboardmanage_${new Date().getTime()}.xlsx`)
}
onMounted(() => {
getList();
});
getList();
</script>
<style scoped>
::v-deep .el-table th {
height: 56px;
padding: 10px 0; /* 上下内边距各 10px,总高度 50px */
line-height: 30px; /* 调整行高以适应内容 */
}
.img-container{
width: 38px;
height: 38px;
background: #F6F8FC;
border-radius: 10px;
}
.main-container{
float: right;
margin-right: 94px;
margin-top: -42px;
}
.button-title{
margin-bottom: 40px;
}
.employeeStateSearch{
margin-left: 100px;
font-family: PingFangSC-Regular;
font-weight: 400;
font-size: 16px;
color: #0D162A;
letter-spacing: 0;
line-height: 13px;
margin-top: 20px;
}
.educationLevelSearch{
margin-left: 32px;
font-family: PingFangSC-Regular;
font-weight: 400;
font-size: 16px;
color: #0D162A;
letter-spacing: 0;
line-height: 13px;
margin-top: 20px;
}
.employmentFormSearch{
margin-left:68px;
font-family: PingFangSC-Regular;
font-weight: 400;
font-size: 16px;
color: #0D162A;
letter-spacing: 0;
line-height: 13px;
margin-top: 20px;
}
.serviceCompanySearch{
font-family: PingFangSC-Regular;
font-weight: 400;
font-size: 16px;
color: #0D162A;
letter-spacing: 0;
line-height: 13px;
margin-top: 20px;
}
.nameSearch{
margin-left: 32px;
font-family: PingFangSC-Regular;
font-weight: 400;
font-size: 16px;
color: #0D162A;
letter-spacing: 0;
line-height: 13px;
}
.nameInput{
width: 220px;
height: 36px;
margin-left: 12px;
}
.genderSearch{
margin-left: 100px;
font-family: PingFangSC-Regular;
font-weight: 400;
font-size: 16px;
color: #0D162A;
letter-spacing: 0;
line-height: 13px;
}
.genderInput{
width: 220px;
height: 36px;
margin-left: 12px;
}
.idNumberSearch{
margin-left: 100px;
font-family: PingFangSC-Regular;
font-weight: 400;
font-size: 16px;
color: #0D162A;
letter-spacing: 0;
line-height: 13px;
}
.idNumberInput{
width: 220px;
height: 36px;
margin-left: 12px;
}
.titleForTable{
width:100px;height:15px;position: relative;margin-top: 27px;margin-left:32px;
font-family: PingFangSC-Medium;font-weight: 500;font-size: 18px;color: #0D162A;letter-spacing: 0;line-height: 15px;
}
.titleLine{
width: 90px;height: 4px;background: #0062FF;margin-left: 32px;margin-top: 8px
}
.add-button{
width: 120px;height: 36px;border: 1px solid #0062FF;
border-radius: 2px;font-family: PingFangSC-Regular;
font-weight: 400;font-size: 16px;color: #0062FF;letter-spacing: 0;
text-align: center;line-height: 13px;
margin-top: -36px;float:right;margin-right: 100px
}
.pagination-containers {
display: flex;
justify-content: center;
margin-left: 250px;
margin-top: 100px;
}
.button-container {
display: flex;
justify-content: center;
align-items: center;
}
.button-container .el-button {
margin-right: 5px;
}
.button-container .el-button:last-child {
margin-right: 0;
}
/* 过渡动画 */
/* 自定义展开动画 */
.slide-down-enter-active,
.slide-down-leave-active {
transition: all 0.3s ease;
overflow: hidden;
}
.slide-down-enter-from,
.slide-down-leave-to {
max-height: 0;
opacity: 0;
padding-top: 0;
margin-top: 0;
}
.slide-down-enter-to,
.slide-down-leave-from {
max-height: 100px;
opacity: 1;
}
</style>
...@@ -224,7 +224,6 @@ ...@@ -224,7 +224,6 @@
</el-row> </el-row>
<el-form-item class="bottom-button"> <el-form-item class="bottom-button">
<el-button @click="goBack" class="cancel-button">取 消</el-button> <el-button @click="goBack" class="cancel-button">取 消</el-button>
<el-button class="savecConfirm-button">保存</el-button>
<el-button class="savecConfirm-button" @click="submitForm">确 定</el-button> <el-button class="savecConfirm-button" @click="submitForm">确 定</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
......
<template>
<div class="app-container">
<div class="content">
<div class="titleBox">
<span class="titleForTable">修改人员</span>
<div class="titleLine"></div>
</div>
<div class="addForm">
<el-form ref="onboardmanageRef" :model="form" :rules="rules" label-width="auto">
<el-row>
<el-form-item label="姓名" prop="name" class="textForInput">
<el-input v-model="form.name" placeholder="请输入姓名" class="addInput"/>
</el-form-item>
<el-form-item label="身份证号" prop="idNumber" class="contentInput">
<el-input v-model="form.idNumber" placeholder="请输入身份证号" class="addInput"/>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="性别" prop="gender" class="textForInput">
<el-select v-model="form.gender" placeholder="请选择" clearable class="addInput">
<el-option v-for="item in genderOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="出生日期" prop="birthday" class="contentInput">
<el-date-picker clearable
v-model="form.birthday"
type="date"
value-format="YYYY-MM-DD"
placeholder="请选择出生日期"
class="addInput">
</el-date-picker>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="手机号" prop="phone" class="textForInput">
<el-input v-model="form.phone" placeholder="请输入手机号" class="addInput"/>
</el-form-item>
<el-form-item label="户籍类型" prop="homeType" class="contentInput">
<el-radio-group v-model="form.homeType" size="medium">
<el-radio v-for="(item, index) in homeTypeOptions" :key="index" :label="item.value"
:disabled="item.disabled">{{item.label}}</el-radio>
</el-radio-group>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="籍贯" prop="nativePlace" class="textForInput">
<el-cascader size="large" :options="pcaTextArr" v-model="form.nativePlace" class="addInput" clearable></el-cascader>
</el-form-item>
<el-form-item label="民族" prop="nationality" class="contentInput">
<el-input v-model="form.nationality" placeholder="请输入民族" class="addInput"/>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="户籍所在地" prop="homeAddress" class="textForInput">
<el-input v-model="form.homeAddress" placeholder="请输入户籍所在地" class="addInput"/>
</el-form-item>
<el-form-item label="常住地址" prop="permanentAddress" class="contentInput">
<el-input v-model="form.permanentAddress" placeholder="请输入常住地址" class="addInput"/>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="政治面貌" prop="politicalOutlook" class="textForInput">
<el-select v-model="form.politicalOutlook" placeholder="请选择" clearable class="addInput">
<el-option v-for="item in politicalOutlookOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="婚姻状态" prop="maritalStatus" class="contentInput">
<el-radio-group v-model="form.maritalStatus" size="medium">
<el-radio v-for="(item, index) in maritalStatusOptions" :key="index" :label="item.value"
:disabled="item.disabled">{{item.label}}</el-radio>
</el-radio-group>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="参加工作日期" prop="workDate" class="textForInput">
<el-date-picker clearable
v-model="form.workDate"
type="date"
value-format="YYYY-MM-DD"
placeholder="请选择参加工作日期">
</el-date-picker>
</el-form-item>
<el-form-item label="员工照片" prop="workerPic" class="contentInput">
<el-upload ref="field170" :file-list="workPicList" :action="workPicAction"
:before-upload="fieldBeforeUpload">
<span class="uploadText"><img src="@/assets/icons/common/upload.png" class="uploadPic">点击上传附件</span>
</el-upload>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="紧急联系人姓名" prop="emergencyContactName" class="textForInput">
<el-input v-model="form.emergencyContactName" placeholder="请输入紧急联系人姓名" class="addInput"/>
</el-form-item>
<el-form-item label="与联系人关系" prop="emergencyContactRelation" class="contentInput">
<el-select v-model="form.emergencyContactRelation" placeholder="请选择" clearable>
<el-option v-for="item in relationOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="紧急联系人电话" prop="emergencyContactPhone" class="textForInput">
<el-input v-model="form.emergencyContactPhone" placeholder="请输入紧急联系人电话" class="addInput"/>
</el-form-item>
<el-form-item label="银行账号" prop="bankAccount" class="contentInput">
<el-input v-model="form.bankAccount" placeholder="请输入银行账号" class="addInput"/>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="开户行" prop="openingBank" class="textForInput">
<el-input v-model="form.openingBank" placeholder="请输入开户行" class="addInput"/>
</el-form-item>
<el-form-item label="入职日期" prop="serviceDate" class="contentInput">
<el-date-picker clearable
v-model="form.serviceDate"
type="date"
value-format="YYYY-MM-DD"
placeholder="请选择入职日期"
class="addInput">
</el-date-picker>
</el-form-item>
</el-row>
<el-row>
</el-row>
<el-row>
<el-form-item label="入职部门" prop="serviceDepart" class="textForInput">
<el-select v-model="form.serviceDepart" placeholder="请选择部门" clearable class="addInput">
<el-option v-for="item in serviceDepartOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="入职岗位 " prop="entryPosition" class="contentInput">
<el-input v-model="form.entryPosition" placeholder="请输入入职岗位 " class="addInput"/>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="聘用形式" prop="employmentForm" class="textForInput">
<el-select v-model="form.employmentForm" placeholder="请选择聘用形式" clearable class="addInput">
<el-option v-for="item in employmentFormOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="正式薪资" prop="formalSalary" class="contentInput">
<el-input v-model="form.formalSalary" placeholder="请输入正式薪资" class="addInput"/>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="员工状态" prop="employeeState" class="textForInput">
<el-select v-model="form.employeeState" placeholder="请选择员工状态" clearable class="addInput">
<el-option v-for="item in employeeStateOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="是否有试用期" prop="isTrialPeriod" class="contentInput">
<el-radio-group v-model="form.isTrialPeriod" size="medium">
<el-radio v-for="(item, index) in isTrialPeriodOptions" :key="index" :label="item.value"
:disabled="item.disabled">{{item.label}}</el-radio>
</el-radio-group>
</el-form-item>
</el-row>
<div v-if="form.isTrialPeriod == 0">
<el-form-item label="试用期薪资" prop="trialPeriodSalary" class="textForInput">
<el-input v-model="form.trialPeriodSalary" placeholder="请输入试用期薪资" class="addInput" />
</el-form-item>
<el-form-item label="试用期天数" prop="trialPeriodDay" class="textForInput">
<el-input v-model="form.trialPeriodDay" placeholder="请输入试用期天数" class="addInput" />
</el-form-item>
<el-form-item label="转正日期" prop="dateOfConfirmation" class="textForInput">
<el-date-picker clearable
v-model="form.dateOfConfirmation"
type="date"
value-format="YYYY-MM-DD"
placeholder="请选择转正日期">
</el-date-picker>
</el-form-item>
</div>
<el-row>
<el-form-item label="最高学历" prop="educationLevel" class="textForInput">
<el-select v-model="form.educationLevel" placeholder="请选择最高学历" clearable class="addInput">
<el-option v-for="item in educationLevelOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="毕业证" prop="diplomaPic" class="contentInput">
<el-upload ref="field170" :file-list="diplomaPicList" :action="workPicAction"
:before-upload="fieldBeforeUpload">
<span class="uploadText"><img src="@/assets/icons/common/upload.png" class="uploadPic">点击上传附件</span>
</el-upload>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="学位证" prop="degreePic" class="textForInput">
<el-upload ref="field170" :file-list="degreePicList" :action="workPicAction"
:before-upload="fieldBeforeUpload">
<span class="uploadText"><img src="@/assets/icons/common/upload.png" class="uploadPic">点击上传附件</span>
</el-upload>
</el-form-item>
<el-form-item label="其他资质证书" prop="otherCertification" class="contentInputPic textForInput">
<el-upload ref="field170" :file-list="otherCertificationList" :action="workPicAction"
:before-upload="fieldBeforeUpload">
<span class="uploadText"><img src="@/assets/icons/common/upload.png" class="uploadPic">点击上传附件</span>
</el-upload>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="是否借用公司资产" prop="isBorrowCompanyAssets" class="textForInput">
<el-radio-group v-model="form.isBorrowCompanyAssets" size="medium">
<el-radio v-for="(item, index) in isBorrowCompanyAssetsOptions" :key="index" :label="item.value"
:disabled="item.disabled">{{item.label}}</el-radio>
</el-radio-group>
</el-form-item>
</el-row>
<div v-if="form.isBorrowCompanyAssets =='0'" class="borrowAssets">
<el-form-item label="资产名称" prop="assetsName" class="textForInput">
<el-input v-model="form.assetsName" placeholder="请输入资产名称" class="addInput" />
</el-form-item>
</div>
<el-row>
<el-form-item label="本人签名" prop="signature" class="textForInput">
<el-input v-model="form.signature" placeholder="请输入本人签名" class="addInput"/>
</el-form-item>
<el-form-item label="提交时间" prop="submissionTime" class="contentInput">
<el-date-picker clearable
v-model="form.submissionTime"
type="date"
value-format="YYYY-MM-DD"
placeholder="请选择提交时间">
</el-date-picker>
</el-form-item>
</el-row>
<el-form-item class="bottom-button">
<el-button @click="goBack" class="cancel-button">取 消</el-button>
<el-button class="savecConfirm-button" @click="saveOnDraft">保存</el-button>
<el-button class="savecConfirm-button" @click="submitForm">确 定</el-button>
</el-form-item>
</el-form>
</div>
</div>
</div>
</template>
<script setup>
import { ref,reactive,onMounted } from 'vue'
import { useRoute } from 'vue-router';
import { listOnBoardManage, getOnBoardManage, delOnBoardManage, updateOnBoardManage,updateOnBoardManageDraft } from "@/api/onboardmanage/onboardmanage";
import { pcaTextArr} from "element-china-area-data";
const pcaTextArrRef = pcaTextArr;
const { proxy } = getCurrentInstance();
const { sys_user_sex,home_type,political_outlook,marital_status,employment_form,employee_state,is_trial_period,education_level,emergency_contact_relation,service_depart,is_borrow_company_assets} = proxy.useDict('sys_user_sex','home_type','political_outlook','marital_status','employment_form','employee_state','is_trial_period','education_level','emergency_contact_relation','service_depart','is_borrow_company_assets');
const tableData = ref([
{
emergencyContactName: '',
emergencyContactPhone: '',
emergencyContactRelation: ''
}
]);
const goBack = () => {
router.back();
};
const selectedRows = ref([]);
const selectedOptions = ref([]);
const onboardmanageList = ref([]);
const open = ref(false);
const loading = ref(true);
const showSearch = ref(true);
const ids = ref([]);
const single = ref(true);
const multiple = ref(true);
const total = ref(0);
const title = ref("");
const workPicList = ref([]);
const diplomaPicList = ref([]);
const degreePicList = ref([]);
const otherCertificationList = ref([]);
const workPicAction = 'http://localhost:8080/file/upload';
const genderOptions = ref([]);
const homeTypeOptions = ref([]);
const politicalOutlookOptions = ref([]);
const maritalStatusOptions = ref([]);
const employmentFormOptions = ref([]);
const employeeStateOptions = ref([]);
const isTrialPeriodOptions = ref([]);
const educationLevelOptions = ref([]);
const relationOptions = ref([
]);
const serviceDepartOptions = ref([]);
const managerOpinions = ref([]);
const isBorrowCompanyAssetsOptions = ref([]);
const serviceCompanyOpinions = ref([]);
const genderDict = ref([]); // 性别字典
const homeTypeDict = ref([]); // 户籍类型字典
const politicalOutlookDict = ref([]); // 政治面貌字典
const maritalStatusDict = ref([]); // 婚姻状况字典
const employmentFormDict = ref([]); // 聘用形式字典
const employeeStateDict = ref([]); // 员工状态字典
const isTrialPeriodDict = ref([]); // 是否试用期字典
const educationLevelDict = ref([]); // 学历字典
const relationDict = ref([]); // 关系字典
const serviceDepartDict = ref([]); //
const managerOpinionsDict = ref([]); // 总经理意见字典
const isBorrowCompanyAssetsDict = ref([]); // 是否借用公司资产字典
const serviceCompanyDict = ref([]); // 所在公司字典
const data = reactive({
form: {},
queryParams: {
pageNum: 1,
pageSize: 10,
name: null,
idNumber: null,
gender: null,
phone: null,
nativePlace: null,
nationality: null,
homeAddress: null,
},
rules: {
name: [{required: true, message: "姓名不能为空", trigger: "blur"}],
idNumber: [{required: true, message: "身份证号不能为空", trigger: "blur"}],
gender: [{required: true, message: "性别不能为空", trigger: "change"}],
birthday: [{required: true, message: "出生日期不能为空", trigger: "change"}],
phone: [{required: true, message: "电话不能为空", trigger: "blur"}],
homeType: [{required: true, message: "户籍类型不能为空", trigger: "change"}],
nativePlace: [{required: true, message: "籍贯不能为空", trigger: "blur"}],
nationality: [{required: true, message: "民族不能为空", trigger: "blur"}],
homeAddress: [{required: true, message: "家庭住址不能为空", trigger: "blur"}],
permanentAddress: [{required: true, message: "常住地址不能为空", trigger: "blur"}],
politicalOutlook: [{required: true, message: "政治面貌不能为空", trigger: "change"}],
maritalStatus: [{required: true, message: "婚姻状况不能为空", trigger: "change"}],
workDate: [{required: true, message: "入职日期不能为空", trigger: "change"}],
insuredCity: [{required: true, message: "参保城市不能为空", trigger: "blur"}],
bankAccount: [{required: true, message: "银行卡号不能为空", trigger: "blur"}],
openingBank: [{required: true, message: "开户银行不能为空", trigger: "blur"}],
serviceDate: [{required: true, message: "参加工作日期不能为空", trigger: "change"}],
serviceDepart: [{required: true, message: "部门不能为空", trigger: "change"}],
entryPosition: [{required: true, message: "入职职位不能为空", trigger: "blur"}],
employmentForm: [{required: true, message: "聘用形式不能为空", trigger: "change"}],
formalSalary: [{required: true, message: "正式薪资不能为空", trigger: "blur"}],
employeeState: [{required: true, message: "员工状态不能为空", trigger: "change"}],
isTrialPeriod: [{required: true, message: "是否试用期不能为空", trigger: "change"}],
trialPeriodSalary: [{required: true, message: "试用期薪资不能为空", trigger: "blur"}],
trialPeriodDay: [{required: true, message: "试用期天数不能为空", trigger: "blur"}],
educationLevel: [{required: true, message: "学历不能为空", trigger: "change"}],
/*diplomaPic: [{required: true, message: "毕业证书不能为空", trigger: "change"}],
degreePic: [{required: true, message: "学位证不能为空", trigger: "change"}],
otherCertification: [{required: true, message: "其他证件不能为空", trigger: "change"}]*/
signature: [{required: true, message: "本人签名不能为空", trigger: "blur"}],
managerSignature: [{required: true, message: "审批人签名不能为空", trigger: "blur"}],
managerOpinion: [{required: true, message: "审批意见不能为空", trigger: "change"}],
submissionTime: [{required: true, message: "提交时间不能为空", trigger: "change"}],
emergencyContactName:[{required: true, message: "紧急联系人姓名不能为空", trigger: "blur"}],
emergencyContactPhone: [{required: true, message: "紧急联系人电话不能为空", trigger: "blur"}],
emergencyContactRelation: [{required: true, message: "紧急联系人关系不能为空", trigger: "change"}],
isBorrowCompanyAssets: [{required: true, message: "是否借用公司资产不能为空", trigger: "change"}],
assetsName: [{required: true, message: "资产名称不能为空", trigger: "blur"}],
}
});
const { queryParams, form, rules } = toRefs(data);
const route = useRoute();
/*const form=ref({})*/
onMounted(async () => {
const id =route.query.id;
if(id){
const res=await getOnBoardManage(id);
form.value =res.data;
}
})
//取消按钮
function cancel() {
open.value = false;
reset();
}
// 表单重置
function reset() {
form.value = {
id: null,
name: null,
idNumber: null,
gender: null,
birthday: null,
phone: null,
homeType: null,
nativePlace: null,
nationality: null,
homeAddress: null,
permanentAddress: null,
politicalOutlook: null,
maritalStatus: null,
workDate: null,
workerPic: null,
emergencyContactName: null,
emergencyContactPhone: null,
emergencyContactRelation: null,
insuredCity: null,
socialSecurityAccount: null,
housingFundAccount: null,
bankAccount: null,
openingBank: null,
serviceDate: null,
serviceDepart: null,
entryPosition: null,
employmentForm: null,
formalSalary: null,
employeeState: null,
isTrialPeriod: null,
trialPeriodSalary: null,
trialPeriodDay: null,
dateOfConfirmation: null,
educationLevel: null,
diplomaPic: null,
degreePic: null,
otherCertification: null,
university: null,
graduationDate: null,
majorStudied: null,
signature: null,
applicationTime: null,
managerOpinion: null,
approvalTime: null,
managerSignature: null,
submitter: null,
submissionTime: null,
updateTime: null,
processState: null,
currentNode: null,
currentResponsiblePerson: null
};
proxy.resetForm("onboardmanageRef");
}
const addRow = () => {
tableData.value.push({
emergencyContactName: '',
emergencyContactPhone: '',
emergencyContactRelation: ''
});
};
const deleteRow = (index) => {
tableData.value.splice(index, 1);
};
const router = useRouter();
const deleteSelectedRows = () => {
selectedRows.value.forEach(row => {
const index = tableData.value.indexOf(row);
if (index > -1) {
tableData.value.splice(index, 1);
}
});
selectedRows.value = [];
};
const formatGenderType = (row, column, cellValue) => {
const value = String(cellValue);
const dictItem = genderDict.value.find(item => String(item.dictValue) === value);
return dictItem ? dictItem.dictLabel : cellValue;
};
const formatHomeType = (row, column, cellValue) => {
const value = String(cellValue);
const dictItem = homeTypeDict.value.find(item => String(item.dictValue) === value);
return dictItem ? dictItem.dictLabel : cellValue;
};
const formatPoliticalOutlook = (row, column, cellValue) => {
const value = String(cellValue);
const dictItem = politicalOutlookDict.value.find(item => String(item.dictValue) === value);
return dictItem ? dictItem.dictLabel : cellValue;
};
const formatMaritalStatus = (row, column, cellValue) => {
const value = String(cellValue);
const dictItem = maritalStatusDict.value.find(item => String(item.dictValue) === value);
return dictItem ? dictItem.dictLabel : cellValue;
};
const formatEmploymentForm = (row, column, cellValue) => {
const value = String(cellValue);
const dictItem = employmentFormDict.value.find(item => String(item.dictValue) === value);
return dictItem ? dictItem.dictLabel : cellValue;
};
const formatEmployeeState = (row, column, cellValue) => {
const value = String(cellValue);
const dictItem = employeeStateDict.value.find(item => String(item.dictValue) === value);
return dictItem ? dictItem.dictLabel : cellValue;
};
const formatIsTrialPeriod = (row, column, cellValue) => {
const value = String(cellValue);
const dictItem = isTrialPeriodDict.value.find(item => String(item.dictValue) === value);
return dictItem ? dictItem.dictLabel : cellValue;
};
const formatEducationLevel = (row, column, cellValue) => {
const value = String(cellValue);
const dictItem = educationLevelDict.value.find(item => String(item.dictValue) === value);
return dictItem ? dictItem.dictLabel : cellValue;
};
function fieldBeforeUpload(file) {
let isRightSize = file.size / 1024 / 1024 < 2
if (!isRightSize) {
this.$message.error('文件大小超过 2MB')
}
return isRightSize
}
function handleSelectionChange1(val) {
this.selectedRows = val;
}
/** 查询入职审批列表 */
function getList() {
loading.value = true;
listOnBoardManage(queryParams.value).then(response => {
onboardmanageList.value = response.rows;
total.value = response.total;
loading.value = false;
});
}
/** 搜索按钮操作 */
function handleQuery() {
queryParams.value.pageNum = 1;
getList();
}
/** 重置按钮操作 */
function resetQuery() {
proxy.resetForm("queryRef");
handleQuery();
}
// 多选框选中数据
function handleSelectionChange(selection) {
ids.value = selection.map(item => item.id);
single.value = selection.length != 1;
multiple.value = !selection.length;
}
/** 新增按钮操作 */
function handleAdd() {
reset();
//open.value = true;
const router = useRouter();
this.$router.push({ path: '/staffManage/addemployee' }); // 替换为你要跳转的实际路径
title.value = "添加员工";
}
/** 修改按钮操作 */
function handleUpdate(row) {
reset();
const _id = row.id || ids.value
getOnBoardManage(_id).then(response => {
form.value = response.data;
open.value = true;
title.value = "修改员工";
});
}
/** 提交按钮 */
function submitForm() {
proxy.$refs["onboardmanageRef"].validate(valid => {
if (valid) {
updateOnBoardManageDraft(form.value).then(response => {
proxy.$modal.msgSuccess("修改成功");
router.push('/staffManage/onboardmanage');
getList();
});
}
});
}
function saveOnDraft(){
proxy.$refs["onboardmanageRef"].validate(valid => {
if (valid) {
updateOnBoardManage(form.value).then(response => {
proxy.$modal.msgSuccess("保存成功");
router.push('/staffManage/draftonboardmanage');
getList();
});
}
});
}
onMounted(() => {
getList();
proxy.$getDicts("sys_user_sex").then(res => {
genderDict.value = res.data;
genderOptions.value = res.data.map(item => ({
value: parseInt(item.dictValue, 10),
label: item.dictLabel,
disabled: item.disabled
}));
});
proxy.$getDicts("home_type").then(res => {
homeTypeDict.value = res.data;
homeTypeOptions.value = res.data.map(item => ({
value: parseInt(item.dictValue, 10),
label: item.dictLabel,
disabled: item.disabled
}));
});
proxy.$getDicts("political_outlook").then(res => {
politicalOutlookDict.value = res.data;
politicalOutlookOptions.value = res.data.map(item => ({
value: parseInt(item.dictValue, 10),
label: item.dictLabel,
disabled: item.disabled
}));
});
proxy.$getDicts("marital_status").then(res => {
maritalStatusDict.value = res.data;
maritalStatusOptions.value = res.data.map(item => ({
value: parseInt(item.dictValue, 10),
label: item.dictLabel,
disabled: item.disabled
}));
});
proxy.$getDicts("employment_form").then(res => {
employmentFormDict.value = res.data;
employmentFormOptions.value = res.data.map(item => ({
value: parseInt(item.dictValue, 10),
label: item.dictLabel,
disabled: item.disabled
}));
});
proxy.$getDicts("employee_state").then(res => {
employeeStateDict.value = res.data;
employeeStateOptions.value = res.data.map(item => ({
value: parseInt(item.dictValue, 10),
label: item.dictLabel,
disabled: item.disabled
}));
});
proxy.$getDicts("is_trial_period").then(res => {
isTrialPeriodDict.value = res.data;
isTrialPeriodOptions.value = res.data.map(item => ({
value: parseInt(item.dictValue, 10),
label: item.dictLabel,
disabled: item.disabled
}));
});
proxy.$getDicts("education_level").then(res => {
educationLevelDict.value = res.data;
educationLevelOptions.value = res.data.map(item => ({
value: parseInt(item.dictValue, 10),
label: item.dictLabel,
disabled: item.disabled
}));
});
proxy.$getDicts("emergency_contact_relation").then(res => {
relationDict.value = res.data;
relationOptions.value = res.data.map(item => ({
value: parseInt(item.dictValue, 10),
label: item.dictLabel,
disabled: item.disabled
}));
});
proxy.$getDicts("service_depart").then(res => {
serviceDepartDict.value = res.data;
serviceDepartOptions.value = res.data.map(item => ({
value: parseInt(item.dictValue, 10),
label: item.dictLabel,
disabled: item.disabled
}));
});
proxy.$getDicts("manager_opinion").then(res => {
managerOpinionsDict.value = res.data;
managerOpinions.value = res.data.map(item => ({
value: parseInt(item.dictValue, 10),
label: item.dictLabel,
disabled: item.disabled
}));
});
proxy.$getDicts("is_borrow_company_assets").then(res => {
isBorrowCompanyAssetsDict.value = res.data;
isBorrowCompanyAssetsOptions.value = res.data.map(item => ({
value: parseInt(item.dictValue, 10),
label: item.dictLabel,
disabled: item.disabled
}));
});
proxy.$getDicts("service_company").then(res => {
serviceCompanyDict.value = res.data;
serviceCompanyOpinions.value = res.data.map(item => ({
value: parseInt(item.dictValue, 10),
label: item.dictLabel,
disabled: item.disabled
}));
});
console.log("sys_user_sex 结构:", sys_user_sex);
});
</script>
<style scoped>
.textForInput{
font-family: PingFangSC-Regular;
font-weight: 400;
font-size: 16px;
color: #282D35;
letter-spacing: 0;
text-align: right;
line-height: 13px;
}
.borrowAssets{
margin-bottom: 50px;
}
.contentInput{
margin-left: 200px;
font-family: PingFangSC-Regular;
font-weight: 400;
font-size: 16px;
color: #282D35;
letter-spacing: 0;
text-align: right;
line-height: 13px;
}
.titleForTable{
width:72px;height:15px;margin-left:32px;
font-family: PingFangSC-Medium;font-weight: 500;font-size: 18px;color: #0D162A;letter-spacing: 0;line-height: 15px;
}
.titleLine{
margin-top: 57px;
width: 72px;height: 4px;background: #0062FF;margin-left: 32px;margin-top: 8px
}
.addForm{
margin-top: 42px;
margin-left: 28px;
}
.addInput{
width: 400px !important;
height: 40px !important;
}
:deep(.el-date-editor){
width: 400px !important;
height: 40px !important;
}
:deep(.el-select__wrapper){
width: 400px !important;
height: 40px !important;
}
:deep(.el-input--large .el-input__wrapper){
width: 400px !important;
height: 40px !important;
}
.uploadPic{
}
.uploadText{
font-family: PingFangSC-Regular;
font-weight: 400;
font-size: 16px;
color: #0062FF;
letter-spacing: 0;
line-height: 13px;
}
.contentInputPic{
margin-left: 484px;
}
.bottom-button {
float: right;
margin-right: 52px;
margin-top: 50px;
}
.cancel-button{
width: 116px;
height: 40px;
font-family: PingFangSC-Regular;
font-weight: 400;
font-size: 16px;
color: #536387;
letter-spacing: 0;
text-align: center;
line-height: 13px;
}
.savecConfirm-button{
width: 116px;
height: 40px;
background: #0147EB;
font-family: PingFangSC-Regular;
font-weight: 400;
font-size: 16px;
color: #FFFFFF;
letter-spacing: 0;
text-align: center;
line-height: 13px;
}
</style>
...@@ -107,7 +107,7 @@ ...@@ -107,7 +107,7 @@
>新增入职</el-button> >新增入职</el-button>
<div class="main-container"> <div class="main-container">
<el-tooltip effect="dark" content="草稿箱" placement="top" class="img-container"> <el-tooltip effect="dark" content="草稿箱" placement="top" class="img-container">
<el-button link type="primary"> <el-button link type="primary" @click="handleDrafts">
<img src="@/assets/icons/common/rightone.png"> <img src="@/assets/icons/common/rightone.png">
</el-button> </el-button>
</el-tooltip> </el-tooltip>
...@@ -426,7 +426,9 @@ function handleImport() { ...@@ -426,7 +426,9 @@ function handleImport() {
upload.title = "数据导入"; upload.title = "数据导入";
upload.open = true; upload.open = true;
}; };
function handleDrafts(){
router.push({ path: '/staffmanage/draftonboardmanage' });
}
/** 下载模板操作 */ /** 下载模板操作 */
function importTemplate() { function importTemplate() {
proxy.download("staffmanage/onboardmanage/importTemplate", { proxy.download("staffmanage/onboardmanage/importTemplate", {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment