Commit 729e4758 authored by 罗林杰's avatar 罗林杰

修改元模型模块

parent 8b53d033
<template> <template>
<PageWrapper dense contentFullHeight fixedHeight contentClass="flex"> <PageWrapper style="height: 100%">
<ModelTree class="w-1/4 xl:w-1/5" @select="handleSelect" /> <Row>
<BasicTable @register="registerTable" class="w-3/4 xl:w-4/5" :searchInfo="searchInfo"> <Col :span="24" style="height: 800px">
<template #toolbar> <Card>
<a-button type="primary" @click="handleCreateFile">新建文件夹</a-button> <BasicTable @register="registerTable" minheight:600px style="height: 800px">
<a-button type="primary" @click="handleCreateModel">新建元模型</a-button> <template #toolbar>
</template> <a-button type="primary" @click="handleCreateFile">新建文件夹</a-button>
<template #bodyCell="{ column, record }"> <a-button type="primary" @click="handleCreateModel">新建元模型</a-button>
<template v-if="column.key === 'action'"> </template>
<TableAction </BasicTable>
:actions="[ </Card>
{ </Col>
// icon: 'clarity:note-edit-line', </Row>
label: '编辑', <Row>
onClick: handleEdit.bind(null, record), <Col :span="24" style="height: 800px">
}, <Card>
{ <BasicTable @register="registerTable" class="height" style="height: 800px">
color: 'error', <template #toolbar>
label: '删除', <a-button type="primary" @click="handleCreateFile">新建文件夹</a-button>
popConfirm: { <a-button type="primary" @click="handleCreateModel">新建元模型</a-button>
title: '是否确认删除', </template>
placement: 'left', </BasicTable>
confirm: handleDelete.bind(null, record), </Card>
}, </Col>
}, </Row>
{ <Row>
label: '移动', <Col :span="24" style="height: 800px">
onClick: handleMove.bind(null, record), <Card>
}, <BasicTable @register="registerTable" class="height" minheight:600px style="height: 800px">
]" <template #toolbar>
/> <a-button type="primary" @click="handleCreateFile">新建文件夹</a-button>
</template> <a-button type="primary" @click="handleCreateModel">新建元模型</a-button>
</template> </template>
</BasicTable> </BasicTable>
</Card>
</Col>
</Row>
<ModelModal @register="registerModal" @success="handleSuccess" /> <ModelModal @register="registerModal" @success="handleSuccess" />
</PageWrapper> </PageWrapper>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { reactive, onMounted, ref } from 'vue'; import { reactive, onMounted, ref } from 'vue';
import { BasicTable, useTable, TableAction } from '@/components/Table'; import { BasicTable, useTable } from '@/components/Table';
import { PageWrapper } from '@/components/Page'; import { PageWrapper } from '@/components/Page';
import ModelTree from './ModelTree.vue'; import { useMessage } from '@/hooks/web/useMessage';
import { useMessage } from '@/hooks/web/useMessage'; import { useModal } from '@/components/Modal';
import { useModal } from '@/components/Modal'; import ModelModal from './modelModal.vue';
import ModelModal from './modelModal.vue'; import { columns, searchFormSchema } from './editModel.data';
import { columns, searchFormSchema } from './model.data'; import { useGo } from '@/hooks/web/usePage';
import { useGo } from '@/hooks/web/usePage'; import { useRoute, onBeforeRouteLeave } from 'vue-router';
import { useRoute, onBeforeRouteLeave } from 'vue-router'; import { useFilterStore } from '@/store/modules/filterData';
import { useFilterStore } from '@/store/modules/filterData'; import { editTableData } from '@/views/metaModel/knowledgeModel/modelData';
import { TreeData } from '@/views/metaModel/knowledgeModel/modelData'; import { Col, Row, Card } from 'ant-design-vue';
defineOptions({ name: 'AccountManagement' }); defineOptions({ name: 'AccountManagement' });
const { createMessage } = useMessage(); const { createMessage } = useMessage();
const filterStore = useFilterStore(); const filterStore = useFilterStore();
const route = useRoute(); const route = useRoute();
const go = useGo(); const go = useGo();
const [registerModal, { openModal }] = useModal(); const [registerModal, { openModal }] = useModal();
const [registerAddUserModal, { openModal: addUserModal }] = useModal(); const [registerAddUserModal, { openModal: addUserModal }] = useModal();
const [registerMoveUser, { openModal: openMoveUserModal }] = useModal(); const [registerMoveUser, { openModal: openMoveUserModal }] = useModal();
const searchInfo = reactive<Recordable>({}); const searchInfo = reactive<Recordable>({});
const tableData = ref([]); const tableData = ref([]);
const [ const [
registerTable, registerTable,
{ reload, updateTableDataRecord, getSearchInfo, getForm, getRowSelection }, { reload, updateTableDataRecord, getSearchInfo, getForm, getRowSelection },
] = useTable({ ] = useTable({
title: '', title: '',
api: async (params) => { api: async (params) => {
console.log('params:', params); console.log('params:', params);
const response = { const response = {
pageNu: '1', pageNu: '1',
pageSize: '10', pageSize: '10',
pages: '1', pages: '1',
total: tableData.value.length, total: tableData.value.length,
code: '', code: '',
message: '', message: '',
data: [], data: [],
}; };
//过滤data中的数据,取出等于params.deptId的数据 //过滤data中的数据,取出等于params.deptId的数据
var data = []; var data = [];
//按照部门筛选 如果有进行过滤相应部门的 没有就赋值全部 //按照部门筛选 如果有进行过滤相应部门的 没有就赋值全部
var data = []; var data = [];
data = tableData.value.filter((item) => item.businessId !== 100); data = tableData.value.filter((item) => item.businessId !== 100);
return { ...response, data: data }; return { ...response, data: data };
}, },
rowKey: 'businessId', rowKey: 'businessId',
columns, columns,
rowSelection: true, rowSelection: false,
formConfig: { formConfig: {
labelWidth: 120, labelWidth: 120,
schemas: searchFormSchema, schemas: searchFormSchema,
autoSubmitOnEnter: true, autoSubmitOnEnter: true,
resetFunc: () => { },
searchInfo.modelId = ''; useSearchForm: false,
showTableSetting: false,
showIndexColumn: false,
pagination: false,
bordered: true,
handleSearchInfoFn(info) {
return info;
},
actionColumn: {
width: 150,
title: '操作',
dataIndex: 'action',
}, },
},
useSearchForm: true,
showTableSetting: false,
bordered: true,
handleSearchInfoFn(info) {
return info;
},
actionColumn: {
width: 150,
title: '操作',
dataIndex: 'action',
},
});
/** 新增元模型*/
function handleCreateModel() {
openModal(true, {
isUpdate: false,
}); });
}
/** 新增文件夹*/ /** 新增元模型*/
function handleCreateFile() { function handleCreateModel() {
openModal(true, { openModal(true, {
isUpdate: false, isUpdate: false,
}); });
} }
/** 移动按钮*/ /** 新增文件夹*/
function handleMove(record: Recordable) { function handleCreateFile() {
openMoveUserModal(true, { openModal(true, {
record, isUpdate: false,
isMove: true, });
}); }
}
/** 编辑按钮*/ /** 移动按钮*/
function handleEdit(record: Recordable) { function handleMove(record: Recordable) {
openModal(true, { openMoveUserModal(true, {
record, record,
isUpdate: true, isMove: true,
}); });
} }
/** 删除按钮*/ /** 编辑按钮*/
function handleDelete(record: Recordable) { function handleEdit(record: Recordable) {
tableData.value.splice( openModal(true, {
tableData.value.findIndex((item) => item.businessId === record.businessId), record,
1, isUpdate: true,
); });
createMessage.success('删除成功!'); }
reload();
}
/** 新增/编辑成功*/ /** 删除按钮*/
function handleSuccess({ isUpdate, values }) { function handleDelete(record: Recordable) {
if (isUpdate) { tableData.value.splice(
// 注意:updateTableDataRecord要求表格的rowKey属性为string并且存在于每一行的record的keys中 tableData.value.findIndex((item) => item.businessId === record.businessId),
//修改表单的值 1,
const result = updateTableDataRecord(values.businessId, values); );
reload(); createMessage.success('删除成功!');
} else {
tableData.value.push(values);
reload(); reload();
} }
}
/** 移动*/ /** 新增/编辑成功*/
function handleMoveSuccess({ isMove, values }) { function handleSuccess({ isUpdate, values }) {
const rowSelection = getRowSelection().selectedRowKeys; if (isUpdate) {
if (rowSelection.length > 0) { // 注意:updateTableDataRecord要求表格的rowKey属性为string并且存在于每一行的record的keys中
//批量移动 //修改表单的值
for (let i = 0; i < rowSelection.length; i++) { const result = updateTableDataRecord(values.businessId, values);
const result = updateTableDataRecord(values[i].institutionId, values[i]); reload();
} else {
tableData.value.push(values);
reload();
} }
} else {
//单个移动
const result = updateTableDataRecord(values.businessId, values);
} }
reload();
}
/** 部门树的select*/ /** 移动*/
function handleSelect(modelId = '') { function handleMoveSuccess({ isMove, values }) {
searchInfo.modelId = modelId; const rowSelection = getRowSelection().selectedRowKeys;
reload(); if (rowSelection.length > 0) {
} //批量移动
for (let i = 0; i < rowSelection.length; i++) {
const result = updateTableDataRecord(values[i].institutionId, values[i]);
}
} else {
//单个移动
const result = updateTableDataRecord(values.businessId, values);
}
reload();
}
function handleView(record: Recordable) { /** 部门树的select*/
go('/system/account_detail/' + record.id); function handleSelect(modelId = '') {
} searchInfo.modelId = modelId;
reload();
}
onMounted(() => { function handleView(record: Recordable) {
tableData.value = TreeData; go('/system/account_detail/' + record.id);
const path = route.path;
if (filterStore.getSearchParams[path]) {
if (JSON.parse(filterStore.getSearchParams[path] !== {})) {
const params = JSON.parse(filterStore.getSearchParams[path]);
getForm().setFieldsValue({
page: params.page,
pageSize: params.pageSize,
username: params.username,
flag: params.flag,
});
searchInfo.institutionId = params.institutionId;
}
} }
});
onBeforeRouteLeave((to, from, next) => { onMounted(() => {
const params = Object.assign({}, getSearchInfo(), getForm().getFieldsValue()); tableData.value = editTableData;
filterStore.setSearchParams({ });
path: from.path, onBeforeRouteLeave((to, from, next) => {
param: { const params = Object.assign({}, getSearchInfo(), getForm().getFieldsValue());
...params, filterStore.setSearchParams({
}, path: from.path,
param: {
...params,
},
});
next(); // 允许导航
}); });
next(); // 允许导航
});
</script> </script>
<style>
.height {
.ant-table-container {
.ant-table-body {
min-height: 1000px;
}
}
}
</style>
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