|
@@ -7,40 +7,47 @@
|
|
|
</el-select>
|
|
|
</div>
|
|
|
<div class="ml-4">
|
|
|
- <el-button type="primary" @click="searchClick" size="large">
|
|
|
- <HcIcon name="search-2"/>
|
|
|
+ <el-button type="primary" size="large" @click="searchClick">
|
|
|
+ <HcIcon name="search-2" />
|
|
|
<span>搜索</span>
|
|
|
</el-button>
|
|
|
</div>
|
|
|
<div class="ml-2">
|
|
|
<el-button size="large" @click="resetClick">
|
|
|
- <HcIcon name="close-circle"/>
|
|
|
+ <HcIcon name="close-circle" />
|
|
|
<span>重置</span>
|
|
|
</el-button>
|
|
|
</div>
|
|
|
</template>
|
|
|
<template #extra>
|
|
|
- <el-button type="primary" @click="addRowClick" size="large">
|
|
|
- <HcIcon name="add"/>
|
|
|
+ <el-button type="primary" size="large" @click="addRowClick">
|
|
|
+ <HcIcon name="add" />
|
|
|
<span>新增</span>
|
|
|
</el-button>
|
|
|
</template>
|
|
|
<HcTable :loading="tableLoading" :column="tableColumn" :datas="tableData">
|
|
|
- <template #conFileName="{row}">
|
|
|
- <div class="text-link text-blue" @click="viewPdf(row)">{{ row?.conFileName }}</div>
|
|
|
+ <template #conFileName="{ row }">
|
|
|
+ <div class="text-link text-blue" @click="viewPdf(row)">
|
|
|
+ {{ row?.conFileName }}
|
|
|
+ </div>
|
|
|
</template>
|
|
|
- <template #action="{row, index}">
|
|
|
- <el-button type="primary" size="small" @click="editRowClick(row)">编辑</el-button>
|
|
|
- <el-button type="danger" size="small" @click="delRowClick(row)">删除</el-button>
|
|
|
+ <template #action="{ row, index }">
|
|
|
+ <el-button type="primary" size="small" @click="editRowClick(row)">
|
|
|
+ 编辑
|
|
|
+ </el-button>
|
|
|
+ <el-button type="danger" size="small" @click="delRowClick(row)">
|
|
|
+ 删除
|
|
|
+ </el-button>
|
|
|
</template>
|
|
|
</HcTable>
|
|
|
<template #action>
|
|
|
- <HcPages :pages="searchForm" @change="pageChange"/>
|
|
|
+ <HcPages :pages="searchForm" @change="pageChange" />
|
|
|
</template>
|
|
|
|
|
|
- <!--入职登记弹窗-->
|
|
|
- <HcDialog bgColor="#ffffff" isToBody widths="42rem" :show="formModal" title="入职登记"
|
|
|
- :loading="formModalLoading" loadingText="保存中,请稍等" @close="formModalClose" @save="formModalSave"
|
|
|
+ <!-- 入职登记弹窗 -->
|
|
|
+ <HcDialog
|
|
|
+ bg-color="#ffffff" is-to-body widths="42rem" :show="formModal" title="入职登记"
|
|
|
+ :loading="formModalLoading" loading-text="保存中,请稍等" @close="formModalClose" @save="formModalSave"
|
|
|
>
|
|
|
<el-form ref="formRef" :model="formModel" :rules="formRules" label-position="left" label-width="auto" size="large">
|
|
|
<el-form-item label="员工姓名:" prop="userId">
|
|
@@ -49,30 +56,29 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="入职时间" prop="startDate">
|
|
|
- <el-date-picker v-model="formModel.startDate" type="date" class="block" format="YYYY-MM-DD" value-format="YYYY-MM-DD"/>
|
|
|
+ <el-date-picker v-model="formModel.startDate" type="date" class="block" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="入职登记表:" v-show="false" >
|
|
|
- <HcFormUpload :src="formModel.fileUrl" @upload="formItemUpload"/>
|
|
|
+ <el-form-item v-show="false" label="入职登记表:">
|
|
|
+ <HcFormUpload :src="formModel.fileUrl" @upload="formItemUpload" />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="入职登记表:" v-if="formModel.fileUrl" >
|
|
|
- <HcFormUpload :src="formModel.conFileName" @upload="formItemUpload"/>
|
|
|
+ <el-form-item v-if="formModel.fileUrl" label="入职登记表:">
|
|
|
+ <HcFormUpload :src="formModel.conFileName" @upload="formItemUpload" />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="入职登记表:" v-show="!formModel.fileUrl">
|
|
|
- <HcUploadFile ref="uploadFileRef" drop :options="uploadOptions" @success="uploadFileSuccess" class="w-full"/>
|
|
|
+ <el-form-item v-show="!formModel.fileUrl" label="入职登记表:">
|
|
|
+ <HcUploadFile ref="uploadFileRef" drop :options="uploadOptions" class="w-full" @success="uploadFileSuccess" />
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</HcDialog>
|
|
|
-
|
|
|
</HcCard>
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
|
-import {ref, onActivated} from 'vue'
|
|
|
-import mainApi from "~api/people/contract";
|
|
|
-import {getTokenHeader} from "~src/api/request/header";
|
|
|
-import {getuserList} from "~api/other";
|
|
|
-import {getObjValue, getArrValue, formValidate} from "js-fast-way"
|
|
|
-import {delMessage} from "~uti/tools";
|
|
|
+import { onActivated, ref } from 'vue'
|
|
|
+import mainApi from '~api/people/contract'
|
|
|
+import { getTokenHeader } from '~src/api/request/header'
|
|
|
+import { getuserList } from '~api/other'
|
|
|
+import { formValidate, getArrValue, getObjValue } from 'js-fast-way'
|
|
|
+import { delMessage } from '~uti/tools'
|
|
|
|
|
|
onActivated(() => {
|
|
|
getuserListApi()
|
|
@@ -82,28 +88,28 @@ onActivated(() => {
|
|
|
//获取用户下拉数据
|
|
|
const userList = ref([])
|
|
|
const getuserListApi = async () => {
|
|
|
- const {data} = await getuserList()
|
|
|
+ const { data } = await getuserList()
|
|
|
userList.value = getArrValue(data)
|
|
|
}
|
|
|
|
|
|
const searchForm = ref({
|
|
|
type: 2, userId: null,
|
|
|
- current: 1, size: 20, total: 0
|
|
|
+ current: 1, size: 20, total: 0,
|
|
|
})
|
|
|
|
|
|
//搜索
|
|
|
const searchClick = () => {
|
|
|
- searchForm.value.current = 1;
|
|
|
+ searchForm.value.current = 1
|
|
|
getTableData()
|
|
|
}
|
|
|
|
|
|
//重置搜索表单
|
|
|
const resetClick = () => {
|
|
|
- searchForm.value = {current: 1, size: 20, total: 0}
|
|
|
+ searchForm.value = { current: 1, size: 20, total: 0 }
|
|
|
}
|
|
|
|
|
|
//分页被点击
|
|
|
-const pageChange = ({current, size}) => {
|
|
|
+const pageChange = ({ current, size }) => {
|
|
|
searchForm.value.current = current
|
|
|
searchForm.value.size = size
|
|
|
getTableData()
|
|
@@ -112,17 +118,17 @@ const pageChange = ({current, size}) => {
|
|
|
//表格参数
|
|
|
const tableLoading = ref(false)
|
|
|
const tableColumn = [
|
|
|
- {key: 'userName', name: '姓名'},
|
|
|
- {key: 'conFileName', name: '职位入职登记表'},
|
|
|
- {key: 'startDate', name: '入职时间'},
|
|
|
- {key: 'action', name: '操作', width: '150'}
|
|
|
+ { key: 'userName', name: '姓名' },
|
|
|
+ { key: 'conFileName', name: '职位入职登记表' },
|
|
|
+ { key: 'startDate', name: '入职时间' },
|
|
|
+ { key: 'action', name: '操作', width: '150' },
|
|
|
]
|
|
|
|
|
|
//获取表格数据
|
|
|
const tableData = ref([])
|
|
|
const getTableData = async () => {
|
|
|
tableLoading.value = true
|
|
|
- const {data} = await mainApi.page(searchForm.value)
|
|
|
+ const { data } = await mainApi.page(searchForm.value)
|
|
|
tableData.value = getArrValue(data['records'])
|
|
|
searchForm.value.total = data['total'] || 0
|
|
|
tableLoading.value = false
|
|
@@ -131,7 +137,7 @@ const getTableData = async () => {
|
|
|
//删除
|
|
|
const delRowClick = (row) => {
|
|
|
delMessage(async () => {
|
|
|
- const {error, code, msg} = await mainApi.remove({ids: row.id})
|
|
|
+ const { error, code, msg } = await mainApi.remove({ ids: row.id })
|
|
|
if (!error && code === 200) {
|
|
|
window.$message?.success(msg)
|
|
|
getTableData().then()
|
|
@@ -149,14 +155,14 @@ const formModalLoading = ref(false)
|
|
|
const formRef = ref(null)
|
|
|
const formModel = ref({})
|
|
|
const formRules = {
|
|
|
- userId: [{required: true, message: '请选择员工', trigger: 'change'}],
|
|
|
- startDate: [{required: true, message: '请选择入职时间', trigger: 'change'}],
|
|
|
+ userId: [{ required: true, message: '请选择员工', trigger: 'change' }],
|
|
|
+ startDate: [{ required: true, message: '请选择入职时间', trigger: 'change' }],
|
|
|
}
|
|
|
|
|
|
//新增
|
|
|
const addRowClick = () => {
|
|
|
formModalLoading.value = false
|
|
|
- formModel.value = {type: 2}
|
|
|
+ formModel.value = { type: 2 }
|
|
|
formModal.value = true
|
|
|
}
|
|
|
|
|
@@ -172,20 +178,20 @@ const uploadFileRef = ref(null)
|
|
|
const uploadOptions = {
|
|
|
headers: getTokenHeader(),
|
|
|
multiple: false,
|
|
|
- size: 50
|
|
|
+ size: 50,
|
|
|
}
|
|
|
|
|
|
//上传文件
|
|
|
const formItemUpload = () => {
|
|
|
- uploadFileRef.value?.selectFile();
|
|
|
+ uploadFileRef.value?.selectFile()
|
|
|
}
|
|
|
|
|
|
// 文件上传成功的回调
|
|
|
-const uploadFileSuccess = ({resData}) => {
|
|
|
+const uploadFileSuccess = ({ resData }) => {
|
|
|
const { pdfUrl, originalName } = getObjValue(resData)
|
|
|
formModel.value.fileUrl = pdfUrl
|
|
|
formModel.value.conFileName = originalName
|
|
|
- uploadFileRef.value?.setModalShow(false);
|
|
|
+ uploadFileRef.value?.setModalShow(false)
|
|
|
}
|
|
|
|
|
|
|
|
@@ -198,14 +204,14 @@ const formModalSave = async () => {
|
|
|
return false
|
|
|
}
|
|
|
//发起请求
|
|
|
- const {error, code, msg} = await mainApi.submit({
|
|
|
+ const { error, code, msg } = await mainApi.submit({
|
|
|
...formModel.value,
|
|
|
- type: 2 //合同类型
|
|
|
+ type: 2, //合同类型
|
|
|
})
|
|
|
//判断状态
|
|
|
formModalLoading.value = false
|
|
|
if (!error && code === 200) {
|
|
|
- window.$message?.success('提交成功')
|
|
|
+ window.$message?.success(msg)
|
|
|
formModalClose()
|
|
|
getTableData().then()
|
|
|
} else {
|
|
@@ -220,7 +226,7 @@ const formModalClose = () => {
|
|
|
}
|
|
|
|
|
|
//查看pdf
|
|
|
-const viewPdf = ({fileUrl}) => {
|
|
|
+const viewPdf = ({ fileUrl }) => {
|
|
|
if (fileUrl) {
|
|
|
window.open(fileUrl, '_blank')
|
|
|
} else {
|