90 lines
3.1 KiB
Vue
90 lines
3.1 KiB
Vue
<template>
|
|
<BasicTable @register="registerTable">
|
|
<!--插槽:table标题-->
|
|
<template #tableTitle>
|
|
<a-button type="primary" @click="handleAdd" preIcon="ant-design:plus-outlined" v-auth="'archives:arc_assess_value:add'"> 新增 </a-button>
|
|
</template>
|
|
<!--操作栏-->
|
|
<template #action="{ record }">
|
|
<TableAction :actions="getTableAction(record)" />
|
|
</template>
|
|
</BasicTable>
|
|
</template>
|
|
<script setup lang="ts">
|
|
import { BasicTable, TableAction } from '/@/components/Table';
|
|
import { useListPage } from '/@/hooks/system/useListPage';
|
|
import { columns, encryption, searchFormSchema } from '/@/views/archive/employeeFile/employeeFileList.data';
|
|
import { list } from '/@/views/archive/employeeFile/employeeFileList.api';
|
|
import { useRouter } from 'vue-router';
|
|
import { useUserStore } from '/@/store/modules/user';
|
|
const router = useRouter();
|
|
const userStore = useUserStore();
|
|
console.log(userStore.getUserInfo?.roleCodes);
|
|
const { encrypt } = encryption();
|
|
//注册table数据
|
|
const { tableContext } = useListPage({
|
|
tableProps: {
|
|
title: '健康信息',
|
|
api: list,
|
|
columns,
|
|
canResize: false,
|
|
formConfig: {
|
|
schemas: searchFormSchema,
|
|
autoSubmitOnEnter: true,
|
|
showAdvancedButton: false,
|
|
},
|
|
beforeFetch: (params) => {
|
|
if (params.orgCode2) {
|
|
params.orgCode = params.orgCode2;
|
|
}
|
|
},
|
|
actionColumn: {
|
|
width: 120,
|
|
fixed: 'right',
|
|
},
|
|
},
|
|
});
|
|
const [registerTable] = tableContext;
|
|
|
|
function userInfo(record: Recordable) {
|
|
const second = record?.secondDepart?.departName ? `-${record?.secondDepart?.departName}` : '';
|
|
const third = record?.depart?.departName ? `-${record?.depart?.departName}` : '';
|
|
const unit = second == third ? second : second + third;
|
|
return encrypt(record.realname + unit);
|
|
}
|
|
|
|
/**
|
|
* @Description:查看详情
|
|
* @date 2023/7/17
|
|
*/
|
|
function handleDetail(record: Recordable) {
|
|
router.replace({
|
|
path: '/archive/employeeFile/employeeFileDetail',
|
|
query: { id: record.id, type: 'detail', name: userInfo(record), sex: record.sex },
|
|
});
|
|
}
|
|
/**
|
|
* @Description:编辑
|
|
* @date 2023/7/17
|
|
*/
|
|
function handleEdit(record: Recordable) {
|
|
router.replace({ path: '/archive/employeeFile/employeeFileEdit', query: { id: record.id, type: 'edit', name: userInfo(record) } });
|
|
}
|
|
function handleAdd() {
|
|
router.push({ path: '/archive/employeeFile/employeeFileAdd', query: { type: 'add' } });
|
|
}
|
|
function getTableAction(record: Recordable) {
|
|
return [
|
|
{
|
|
label: '编辑',
|
|
onClick: handleEdit.bind(null, record),
|
|
auth: 'archives:arc_assess_value:edit',
|
|
},
|
|
{
|
|
label: '详情',
|
|
onClick: handleDetail.bind(null, record),
|
|
},
|
|
];
|
|
}
|
|
</script>
|