Compare commits
4 Commits
f56305505f
...
d80be0d7f1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d80be0d7f1 | ||
|
|
274fc2f435 | ||
|
|
ab2da33ebc | ||
|
|
72a049b7b8 |
@@ -27,7 +27,10 @@ export const getSalarySimpleList = (params) => {
|
|||||||
|
|
||||||
// 详情
|
// 详情
|
||||||
export const getSalaryDetail = (id) => {
|
export const getSalaryDetail = (id) => {
|
||||||
return request.get({ url: '/admin-api/oa/user-salary/get', params: { id } })
|
return request.get({
|
||||||
|
url: '/admin-api/oa/user-salary/getByEmployeeId',
|
||||||
|
params: { employeeId: id }
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除
|
// 删除
|
||||||
|
|||||||
@@ -22,13 +22,16 @@
|
|||||||
class="upload-file-uploader"
|
class="upload-file-uploader"
|
||||||
>
|
>
|
||||||
<el-button type="primary"><Icon icon="ep:upload-filled" />选取文件</el-button>
|
<el-button type="primary"><Icon icon="ep:upload-filled" />选取文件</el-button>
|
||||||
<template v-if="isShowTip" #tip>
|
<template #tip>
|
||||||
<div style="font-size: 12px">
|
<template v-if="isShowTip">
|
||||||
大小不超过 <b style="color: #f56c6c">{{ fileSize }}MB</b>
|
<div style="font-size: 12px">
|
||||||
</div>
|
大小不超过 <b style="color: #f56c6c">{{ fileSize }}MB</b>
|
||||||
<div style="font-size: 12px">
|
</div>
|
||||||
格式为 <b style="color: #f56c6c">{{ fileType.join('/') }}</b> 的文件
|
<div style="font-size: 12px">
|
||||||
</div>
|
格式为 <b style="color: #f56c6c">{{ fileType.join('/') }}</b> 的文件
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<slot name="tip"></slot>
|
||||||
</template>
|
</template>
|
||||||
</el-upload>
|
</el-upload>
|
||||||
</div>
|
</div>
|
||||||
@@ -47,7 +50,7 @@ const props = defineProps({
|
|||||||
// fileType: propTypes.array.def(['doc', 'xls', 'ppt', 'txt', 'pdf']), // 文件类型, 例如['png', 'jpg', 'jpeg']
|
// fileType: propTypes.array.def(['doc', 'xls', 'ppt', 'txt', 'pdf']), // 文件类型, 例如['png', 'jpg', 'jpeg']
|
||||||
fileType: propTypes.array.def([]),
|
fileType: propTypes.array.def([]),
|
||||||
accept: propTypes.string.def('*'),
|
accept: propTypes.string.def('*'),
|
||||||
fileSize: propTypes.number.def(5), // 大小限制(MB)
|
fileSize: propTypes.number.def(10), // 大小限制(MB)
|
||||||
limit: propTypes.number.def(5), // 数量限制
|
limit: propTypes.number.def(5), // 数量限制
|
||||||
autoUpload: propTypes.bool.def(true), // 自动上传
|
autoUpload: propTypes.bool.def(true), // 自动上传
|
||||||
drag: propTypes.bool.def(false), // 拖拽上传
|
drag: propTypes.bool.def(false), // 拖拽上传
|
||||||
|
|||||||
@@ -149,20 +149,18 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :span="12" :offset="0">
|
<el-col :span="12" :offset="0">
|
||||||
<el-form-item label="关联规则" v-if="formData.isRelateSignRate == 'true'">
|
<el-form-item label="关联规则" v-if="formData.isRelateSignRate">
|
||||||
<div>
|
<div>
|
||||||
<el-button @click="formData.saleCommissionRelateRulesConfig.push({})">
|
<el-button @click="formData.rateRules.push({})"> 新增规则 </el-button>
|
||||||
新增规则
|
|
||||||
</el-button>
|
|
||||||
<div
|
<div
|
||||||
v-for="(item, index) in formData.saleCommissionRelateRulesConfig"
|
v-for="(item, index) in formData.rateRules"
|
||||||
:key="index"
|
:key="index"
|
||||||
class="mt-10px flex justify-center items-center"
|
class="mt-10px flex justify-center items-center"
|
||||||
>
|
>
|
||||||
<span>成交率达</span>
|
<span>成交率达</span>
|
||||||
<el-input
|
<el-input
|
||||||
class="ml-10px"
|
class="ml-10px"
|
||||||
v-model="item.successRate"
|
v-model="item.signRate"
|
||||||
placeholder="成交率"
|
placeholder="成交率"
|
||||||
style="width: 100px"
|
style="width: 100px"
|
||||||
type="number"
|
type="number"
|
||||||
@@ -173,7 +171,7 @@
|
|||||||
<span>,可结算</span>
|
<span>,可结算</span>
|
||||||
<el-input
|
<el-input
|
||||||
class="ml-10px"
|
class="ml-10px"
|
||||||
v-model="item.comissionRate"
|
v-model="item.percentageRate"
|
||||||
placeholder="提成率"
|
placeholder="提成率"
|
||||||
style="width: 100px"
|
style="width: 100px"
|
||||||
type="number"
|
type="number"
|
||||||
@@ -260,7 +258,7 @@ const resetForm = () => {
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
isRelateSignRate: false,
|
isRelateSignRate: false,
|
||||||
saleCommissionRelateRulesConfig: [],
|
rateRules: [],
|
||||||
isDeductExtraPay: true,
|
isDeductExtraPay: true,
|
||||||
isDeductAfterSale: true,
|
isDeductAfterSale: true,
|
||||||
calculateType: 1
|
calculateType: 1
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<Dialog v-model="dialogVisible" :title="dialogTitle" style="width: 600px">
|
<Dialog v-model="dialogVisible" :title="dialogTitle" style="width: 600px">
|
||||||
<el-form :model="formData" ref="formRef" :rules="rules" label-width="80px">
|
<el-form :model="formData" ref="formRef" :rules="rules" label-width="80px">
|
||||||
<el-form-item label="生效日期" prop="validTime">
|
<el-form-item label="生效日期" prop="startDate">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="formData.validTime"
|
v-model="formData.startDate"
|
||||||
type="date"
|
type="date"
|
||||||
format="YYYY-MM-DD"
|
format="YYYY-MM-DD"
|
||||||
value-format="YYYY-MM-DD"
|
value-format="YYYY-MM-DD"
|
||||||
@@ -29,9 +29,10 @@
|
|||||||
<el-select v-model="formData.planId" placeholder="请选择" filterable>
|
<el-select v-model="formData.planId" placeholder="请选择" filterable>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in planOptions"
|
v-for="item in planOptions"
|
||||||
:key="item.value"
|
:key="item.percentageId"
|
||||||
:label="item.label"
|
:label="item.percentageName"
|
||||||
:value="item.value"
|
:disabled="item.status == 1"
|
||||||
|
:value="item.percentageId"
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -104,6 +105,8 @@
|
|||||||
|
|
||||||
<script setup name="DialogSalarySetting">
|
<script setup name="DialogSalarySetting">
|
||||||
import * as SalaryApi from '@/api/finance/salary'
|
import * as SalaryApi from '@/api/finance/salary'
|
||||||
|
import { getPlanSimpleList } from '@/api/finance/plan'
|
||||||
|
|
||||||
const message = useMessage() // 消息弹窗
|
const message = useMessage() // 消息弹窗
|
||||||
|
|
||||||
const dialogVisible = ref(false) // 弹窗的是否展示
|
const dialogVisible = ref(false) // 弹窗的是否展示
|
||||||
@@ -113,6 +116,7 @@ const formLoading = ref(false) // 表单的加载中:1)修改时的数据加
|
|||||||
const formData = ref({})
|
const formData = ref({})
|
||||||
|
|
||||||
const rules = {
|
const rules = {
|
||||||
|
startDate: { required: true, message: '生效日期不可为空', trigger: 'blur, change' },
|
||||||
baseSalary: { required: true, message: '基本工资不可为空', trigger: 'blur' }
|
baseSalary: { required: true, message: '基本工资不可为空', trigger: 'blur' }
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -120,11 +124,13 @@ const rules = {
|
|||||||
const open = async (row) => {
|
const open = async (row) => {
|
||||||
dialogVisible.value = true
|
dialogVisible.value = true
|
||||||
dialogTitle.value = `工资条设置-【${row.name}】`
|
dialogTitle.value = `工资条设置-【${row.name}】`
|
||||||
resetForm()
|
|
||||||
getOptions()
|
getOptions()
|
||||||
formLoading.value = true
|
formLoading.value = true
|
||||||
try {
|
try {
|
||||||
formData.value = await SalaryApi.getSalaryDetail(id)
|
formData.value = await SalaryApi.getSalaryDetail(row.id)
|
||||||
|
if (!formData.value) {
|
||||||
|
resetForm()
|
||||||
|
}
|
||||||
} finally {
|
} finally {
|
||||||
formLoading.value = false
|
formLoading.value = false
|
||||||
}
|
}
|
||||||
@@ -133,7 +139,9 @@ defineExpose({ open }) // 提供 open 方法,用于打开弹窗
|
|||||||
|
|
||||||
const planOptions = ref([])
|
const planOptions = ref([])
|
||||||
function getOptions() {
|
function getOptions() {
|
||||||
planOptions.value = []
|
getPlanSimpleList().then((data) => {
|
||||||
|
planOptions.value = data
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 重置表单 */
|
/** 重置表单 */
|
||||||
|
|||||||
@@ -21,10 +21,14 @@
|
|||||||
|
|
||||||
<el-table v-loading="loading" :data="tableList" border stripe>
|
<el-table v-loading="loading" :data="tableList" border stripe>
|
||||||
<el-table-column type="index" width="50" />
|
<el-table-column type="index" width="50" />
|
||||||
<el-table-column label="员工姓名" prop="nickname" />
|
<el-table-column label="员工姓名" prop="name" />
|
||||||
<el-table-column label="部门" key="deptName" prop="deptName" />
|
<el-table-column label="职位" prop="post" />
|
||||||
<el-table-column label="手机号码" prop="mobile" width="120" />
|
<el-table-column label="手机号码" prop="mobile" />
|
||||||
<el-table-column label="在职状态" prop="status" />
|
<el-table-column label="在职状态">
|
||||||
|
<template #default="{ row }">
|
||||||
|
{{ ['在职', '离职'][row.status] }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column label="操作">
|
<el-table-column label="操作">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button
|
<el-button
|
||||||
@@ -50,7 +54,8 @@
|
|||||||
|
|
||||||
<script name="EmployeeList" setup>
|
<script name="EmployeeList" setup>
|
||||||
import DialogSalary from './Comp/DialogSalary.vue'
|
import DialogSalary from './Comp/DialogSalary.vue'
|
||||||
import * as SalaryApi from '@/api/finance/salary'
|
// import * as SalaryApi from '@/api/finance/salary'
|
||||||
|
import { getEmployeePage } from '@/api/pers/employee'
|
||||||
import { removeNullField } from '@/utils'
|
import { removeNullField } from '@/utils'
|
||||||
|
|
||||||
const searchForm = ref({
|
const searchForm = ref({
|
||||||
@@ -77,7 +82,7 @@ const total = ref(0)
|
|||||||
const getList = async () => {
|
const getList = async () => {
|
||||||
loading.value = true
|
loading.value = true
|
||||||
try {
|
try {
|
||||||
const data = await SalaryApi.getSalaryPage(removeNullField(searchForm.value))
|
const data = await getEmployeePage(removeNullField(searchForm.value))
|
||||||
tableList.value = data.list
|
tableList.value = data.list
|
||||||
total.value = data.total
|
total.value = data.total
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
@@ -10,13 +10,51 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :span="12" :offset="0">
|
<el-col :span="12" :offset="0">
|
||||||
<el-form-item label="导入奖金" size="normal">
|
<el-form-item label="导入奖金">
|
||||||
<UploadFile v-model="formData.files1" :limit="1" :isShowTip="false" />
|
<UploadFile
|
||||||
|
v-model="formData.files1"
|
||||||
|
:limit="1"
|
||||||
|
:fileType="['xls', 'xlsx']"
|
||||||
|
accept=".xls,.xlsx"
|
||||||
|
:isShowTip="false"
|
||||||
|
>
|
||||||
|
<template #tip>
|
||||||
|
<div>
|
||||||
|
<el-link
|
||||||
|
type="primary"
|
||||||
|
:underline="false"
|
||||||
|
href="https://ss-cloud.ahduima.com/1011/1808052748575576064.pdf"
|
||||||
|
target="_blank"
|
||||||
|
>
|
||||||
|
点击下载模板文件
|
||||||
|
</el-link>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</UploadFile>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12" :offset="0">
|
<el-col :span="12" :offset="0">
|
||||||
<el-form-item label="导入考勤" size="normal">
|
<el-form-item label="导入考勤" prop="files2">
|
||||||
<UploadFile v-model="formData.files2" :limit="1" :isShowTip="false" />
|
<UploadFile
|
||||||
|
v-model="formData.files2"
|
||||||
|
:limit="1"
|
||||||
|
:fileType="['xls', 'xlsx']"
|
||||||
|
accept=".xls,.xlsx"
|
||||||
|
:isShowTip="false"
|
||||||
|
>
|
||||||
|
<template #tip>
|
||||||
|
<div>
|
||||||
|
<el-link
|
||||||
|
type="primary"
|
||||||
|
:underline="false"
|
||||||
|
href="https://ss-cloud.ahduima.com/1011/1808052748575576064.pdf"
|
||||||
|
target="_blank"
|
||||||
|
>
|
||||||
|
点击下载模板文件
|
||||||
|
</el-link>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</UploadFile>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -24,9 +62,7 @@
|
|||||||
<template #footer>
|
<template #footer>
|
||||||
<span>
|
<span>
|
||||||
<el-button @click="dialogVisible = false">取 消</el-button>
|
<el-button @click="dialogVisible = false">取 消</el-button>
|
||||||
<el-button type="primary" :disabled="formLoading" @click="handleSave">
|
<el-button type="primary" :disabled="formLoading" @click="handleSave"> 确认生成 </el-button>
|
||||||
确 认 生 成
|
|
||||||
</el-button>
|
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</Dialog>
|
</Dialog>
|
||||||
@@ -39,10 +75,22 @@ const formData = ref({})
|
|||||||
|
|
||||||
const formLoading = ref(false)
|
const formLoading = ref(false)
|
||||||
|
|
||||||
const rules = {}
|
const rules = {
|
||||||
|
yearmonth: { required: true, message: '年月不可为空', trigger: 'blur,change' },
|
||||||
|
files2: { required: true, message: '考勤文件不可为空', trigger: 'blur,change' }
|
||||||
|
}
|
||||||
|
|
||||||
function open() {
|
function open() {
|
||||||
dialogVisible.value = true
|
dialogVisible.value = true
|
||||||
|
resetForm()
|
||||||
|
}
|
||||||
|
|
||||||
|
function resetForm() {
|
||||||
|
formData.value = {
|
||||||
|
yearmonth: new Date().getFullYear(),
|
||||||
|
files1: '',
|
||||||
|
files2: ''
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
defineExpose({ open })
|
defineExpose({ open })
|
||||||
|
|||||||
@@ -47,19 +47,19 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="dept" label="部门" min-width="90px" />
|
<el-table-column prop="dept" label="部门" min-width="90px" />
|
||||||
<el-table-column prop="job" label="职位" min-width="90px" />
|
<el-table-column prop="post" label="职位" min-width="90px" />
|
||||||
<el-table-column label="应发工资" align="center">
|
<el-table-column label="应发工资" align="center">
|
||||||
<el-table-column label="基本工资" min-width="90px">
|
<el-table-column label="基本工资" min-width="90px">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
v-if="row.edit"
|
v-if="row.edit"
|
||||||
v-model="row.jbgz"
|
v-model="row.baseSalary"
|
||||||
:min="0"
|
:min="0"
|
||||||
:controls="false"
|
:controls="false"
|
||||||
size="small"
|
size="small"
|
||||||
style="width: 65px"
|
style="width: 65px"
|
||||||
/>
|
/>
|
||||||
<span v-else> {{ row.jbgz }}</span>
|
<span v-else> {{ row.baseSalary }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="补贴" min-width="90px">
|
<el-table-column label="补贴" min-width="90px">
|
||||||
@@ -92,13 +92,13 @@
|
|||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
v-if="row.edit"
|
v-if="row.edit"
|
||||||
v-model="row.jiangjin"
|
v-model="row.rewardSalary"
|
||||||
:min="0"
|
:min="0"
|
||||||
:controls="false"
|
:controls="false"
|
||||||
size="small"
|
size="small"
|
||||||
style="width: 65px"
|
style="width: 65px"
|
||||||
/>
|
/>
|
||||||
<span v-else> {{ row.jiangjin }}</span>
|
<span v-else> {{ row.rewardSalary }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="满勤" min-width="90px">
|
<el-table-column label="满勤" min-width="90px">
|
||||||
@@ -118,13 +118,13 @@
|
|||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
v-if="row.edit"
|
v-if="row.edit"
|
||||||
v-model="row.jbgz"
|
v-model="row.extraSalary"
|
||||||
:min="0"
|
:min="0"
|
||||||
:controls="false"
|
:controls="false"
|
||||||
size="small"
|
size="small"
|
||||||
style="width: 65px"
|
style="width: 65px"
|
||||||
/>
|
/>
|
||||||
<span v-else> {{ row.jbgz }}</span>
|
<span v-else> {{ row.extraSalary }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="小计" min-width="90px" />
|
<el-table-column label="小计" min-width="90px" />
|
||||||
@@ -134,13 +134,13 @@
|
|||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
v-if="row.edit"
|
v-if="row.edit"
|
||||||
v-model="row.jbgz"
|
v-model="row.meritsSalary"
|
||||||
:min="0"
|
:min="0"
|
||||||
:controls="false"
|
:controls="false"
|
||||||
size="small"
|
size="small"
|
||||||
style="width: 65px"
|
style="width: 65px"
|
||||||
/>
|
/>
|
||||||
<span v-else> {{ row.jbgz }}</span>
|
<span v-else> {{ row.meritsSalary }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="请假" min-width="90px">
|
<el-table-column label="请假" min-width="90px">
|
||||||
@@ -202,26 +202,26 @@
|
|||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
v-if="row.edit"
|
v-if="row.edit"
|
||||||
v-model="row.jbgz"
|
v-model="row.accumulationFundDeduct"
|
||||||
:min="0"
|
:min="0"
|
||||||
:controls="false"
|
:controls="false"
|
||||||
size="small"
|
size="small"
|
||||||
style="width: 65px"
|
style="width: 65px"
|
||||||
/>
|
/>
|
||||||
<span v-else> {{ row.jbgz }}</span>
|
<span v-else> {{ row.accumulationFundDeduct }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="社保" min-width="90px">
|
<el-table-column label="社保" min-width="90px">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
v-if="row.edit"
|
v-if="row.edit"
|
||||||
v-model="row.jbgz"
|
v-model="row.socialDeduct"
|
||||||
:min="0"
|
:min="0"
|
||||||
:controls="false"
|
:controls="false"
|
||||||
size="small"
|
size="small"
|
||||||
style="width: 65px"
|
style="width: 65px"
|
||||||
/>
|
/>
|
||||||
<span v-else> {{ row.jbgz }}</span>
|
<span v-else> {{ row.socialDeduct }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="所得税" min-width="90px">
|
<el-table-column label="所得税" min-width="90px">
|
||||||
@@ -252,7 +252,7 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="小计" min-width="90px" />
|
<el-table-column label="小计" min-width="90px" />
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="实发工资" fixed="right" />
|
<el-table-column label="实发工资" fixed="right" width="90" />
|
||||||
<el-table-column label="操作" fixed="right" width="200">
|
<el-table-column label="操作" fixed="right" width="200">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button
|
<el-button
|
||||||
|
|||||||
@@ -24,14 +24,8 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="入职日期" prop="hireDate">
|
<el-form-item label="组织部门" prop="dept">
|
||||||
<el-date-picker
|
<el-input v-model="formData.dept" placeholder="请输入部门" />
|
||||||
v-model="formData.hireDate"
|
|
||||||
type="date"
|
|
||||||
format="YYYY-MM-DD"
|
|
||||||
value-format="YYYY-MM-DD"
|
|
||||||
placeholder="选择日期时间"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
@@ -108,6 +102,19 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
<el-row :gutter="20">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="入职日期" prop="hireDate">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="formData.hireDate"
|
||||||
|
type="date"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
value-format="YYYY-MM-DD"
|
||||||
|
placeholder="选择日期时间"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item label="备注">
|
<el-form-item label="备注">
|
||||||
@@ -137,20 +144,7 @@ const dialogVisible = ref(false) // 弹窗的是否展示
|
|||||||
const dialogTitle = ref('') // 弹窗的标题
|
const dialogTitle = ref('') // 弹窗的标题
|
||||||
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
||||||
const formType = ref('') // 表单的类型:create - 新增;update - 修改
|
const formType = ref('') // 表单的类型:create - 新增;update - 修改
|
||||||
const formData = ref({
|
const formData = ref({})
|
||||||
name: '',
|
|
||||||
mobile: '',
|
|
||||||
email: '',
|
|
||||||
id: undefined,
|
|
||||||
username: '',
|
|
||||||
password: '',
|
|
||||||
sex: 1,
|
|
||||||
remark: '',
|
|
||||||
status: CommonStatusEnum.ENABLE,
|
|
||||||
hireDate: '',
|
|
||||||
attendanceSettingId: undefined,
|
|
||||||
instanceIds: []
|
|
||||||
})
|
|
||||||
const formRules = ref({
|
const formRules = ref({
|
||||||
name: [{ required: true, message: '员工姓名不能为空', trigger: 'blur' }],
|
name: [{ required: true, message: '员工姓名不能为空', trigger: 'blur' }],
|
||||||
post: { required: true, message: '职位不能为空', trigger: 'blur' },
|
post: { required: true, message: '职位不能为空', trigger: 'blur' },
|
||||||
@@ -230,6 +224,8 @@ const resetForm = () => {
|
|||||||
id: undefined,
|
id: undefined,
|
||||||
username: '',
|
username: '',
|
||||||
password: '',
|
password: '',
|
||||||
|
post: undefined,
|
||||||
|
dept: undefined,
|
||||||
sex: 1,
|
sex: 1,
|
||||||
remark: '',
|
remark: '',
|
||||||
status: CommonStatusEnum.ENABLE,
|
status: CommonStatusEnum.ENABLE,
|
||||||
|
|||||||
Reference in New Issue
Block a user