<template>
|
<el-card class="form-card" shadow="never">
|
<template #header>
|
<span class="card-title">
|
<span class="card-title-line">|</span>
|
在职信息
|
</span>
|
</template>
|
|
<el-row :gutter="24">
|
<el-col :span="5">
|
<el-form-item label="工号" prop="jobNo">
|
<el-input
|
v-model="form.jobNo"
|
placeholder="请输入"
|
clearable
|
maxlength="20"
|
show-word-limit
|
/>
|
</el-form-item>
|
</el-col>
|
<el-col :span="5">
|
<el-form-item label="员工类型" prop="staffType">
|
<el-select
|
v-model="form.staffType"
|
placeholder="请选择"
|
clearable
|
style="width: 100%"
|
>
|
<el-option label="正式员工" value="official" />
|
<el-option label="试用员工" value="probation" />
|
<el-option label="实习生" value="intern" />
|
<el-option label="兼职" value="part_time" />
|
<el-option label="劳务/外包" value="outsourcing" />
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="5">
|
<el-form-item label="入职日期" prop="entryDate">
|
<el-date-picker
|
v-model="form.entryDate"
|
type="date"
|
value-format="YYYY-MM-DD"
|
format="YYYY-MM-DD"
|
placeholder="请选择"
|
style="width: 100%"
|
clearable
|
/>
|
</el-form-item>
|
</el-col>
|
<el-col :span="5">
|
<el-form-item label="试用期(月)" prop="probationPeriod">
|
<el-input-number
|
v-model="form.probationPeriod"
|
:min="0"
|
:max="24"
|
:precision="0"
|
:step="1"
|
style="width: 100%"
|
/>
|
</el-form-item>
|
</el-col>
|
<el-col :span="4">
|
<el-form-item label="转正日期" prop="regularDate">
|
<el-date-picker
|
v-model="form.regularDate"
|
type="date"
|
value-format="YYYY-MM-DD"
|
format="YYYY-MM-DD"
|
placeholder="请选择"
|
style="width: 100%"
|
clearable
|
/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
<el-row :gutter="24">
|
<el-col :span="8">
|
<el-form-item label="部门" prop="sysDeptId">
|
<el-tree-select
|
v-model="form.sysDeptId"
|
:data="deptOptions"
|
check-strictly
|
:render-after-expand="false"
|
placeholder="请选择"
|
style="width: 100%"
|
/>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="直接上级" prop="directLeader">
|
<el-input
|
v-model="form.directLeader"
|
placeholder="请输入"
|
clearable
|
maxlength="50"
|
show-word-limit
|
/>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="岗位" prop="sysPostId">
|
<el-select
|
v-model="form.sysPostId"
|
placeholder="请选择"
|
clearable
|
style="width: 100%"
|
>
|
<el-option
|
v-for="item in postOptions"
|
:key="item.postId"
|
:label="item.postName"
|
:value="item.postId"
|
:disabled="item.status === '1'"
|
/>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
<el-row :gutter="24">
|
<el-col :span="5">
|
<el-form-item label="职级" prop="jobLevel">
|
<el-input
|
v-model="form.jobLevel"
|
placeholder="请输入"
|
clearable
|
maxlength="10"
|
show-word-limit
|
/>
|
</el-form-item>
|
</el-col>
|
<el-col :span="4">
|
<el-form-item label="基本工资" prop="basicSalary">
|
<el-input-number
|
v-model="form.basicSalary"
|
:min="0"
|
:max="999999"
|
:precision="2"
|
:step="100"
|
style="width: 100%"
|
/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</el-card>
|
</template>
|
|
<script setup>
|
import { toRefs } from "vue";
|
|
const props = defineProps({
|
form: { type: Object, required: true },
|
postOptions: { type: Array, default: () => [] },
|
deptOptions: { type: Array, default: () => [] },
|
});
|
|
const { form, postOptions, deptOptions } = toRefs(props);
|
</script>
|
|
<style scoped>
|
.form-card {
|
margin-bottom: 16px;
|
}
|
|
.card-title-line {
|
color: #f56c6c;
|
margin-right: 4px;
|
}
|
</style>
|