Commit dce514bf authored by 罗林杰's avatar 罗林杰

修改公共文件

parent 940b3715
<template>
<div style="min-width: 250px; min-height: 850px">
<BasicTree
style="padding-left: 15px"
title=" "
search
ref="treeRef"
treeWrapperClassName="h-[calc(100%-35px)] overflow-auto"
:defaultExpandAll="true"
:treeData="treeData"
:fieldNames="{ key: 'businessId', title: 'workSpaceName' }"
@select="handleSelect"
/>
</div>
</template>
<script lang="ts" setup>
import { nextTick, onMounted, ref, unref } from 'vue';
import { BasicTree, TreeActionType, TreeItem } from '@/components/Tree';
import { Nullable } from 'packages/types/src/index';
import { TreeData } from './mock.ts';
import { useMessage } from '@/hooks/web/useMessage';
import { useModal } from '@/components/Modal';
const emit = defineEmits(['select']);
const { createMessage } = useMessage();
const treeData = ref<TreeItem[]>([]);
const treeRef = ref<Nullable<TreeActionType>>(null);
function getTree() {
const tree = unref(treeRef);
if (!tree) {
throw new Error('tree is null!');
}
return tree;
}
const [registerModal, { openModal }] = useModal();
async function fetch() {
treeData.value = handleTree(TreeData, 'businessId', undefined, undefined, undefined);
await nextTick(() => {
getTree().expandAll(true);
});
}
function handleTree(data, id, parentId, children, rootId) {
id = id || 'id';
parentId = parentId || 'parentId';
children = children || 'children';
rootId =
rootId ||
Math.min.apply(
Math,
data.map((item) => {
return item[parentId];
}),
) ||
0;
// 对源数据深度克隆
const cloneData = JSON.parse(JSON.stringify(data));
// 循环所有项
const treeData = cloneData.filter((father) => {
const branchArr = cloneData.filter((child) => {
// 返回每一项的子级数组
return father[id] === child[parentId];
});
branchArr.length > 0 ? (father.children = branchArr) : '';
// 返回第一层
return father[parentId] === rootId;
});
return treeData !== '' ? treeData : data;
}
function handleSelect() {
const keys = getTree().getSelectedKeys();
const node = getTree().getSelectedNode(keys[0]);
// console.log('node', node);
emit('select', node);
}
// /**选中的数据*/
// function handleSelect(keys) {
// console.log(keys);
// emit('select', keys[0]);
// }
onMounted(() => {
fetch();
});
</script>
import { BasicColumn } from '@/components/Table';
export const Columns: BasicColumn[] = [
{
title: '名称',
dataIndex: 'title',
},
{
title: '部门',
dataIndex: 'dept',
},
{
title: '标签',
dataIndex: 'label',
},
{
title: '描述',
dataIndex: 'description',
},
{
title: '创建人',
dataIndex: 'createdBy',
},
{
title: '创建时间',
dataIndex: 'createdTime',
},
{
title: '浏览次数',
dataIndex: 'view',
},
{
title: '推送次数',
dataIndex: 'edit',
},
{
title: '共享类型',
dataIndex: 'isShare',
slots: { customRender: 'isShare' },
},
];
export const tableList: any[] = [
{
businessId: 1,
name: '图标加载',
scene: '离线加载',
releaseStatus: '未发布',
createTime: '2023/05/23 14:36:04',
updateTime: '2023/05/23 14:36:04',
owner: 'admin',
workgroup: '个人工作组',
},
{
businessId: 2,
name: '图标专利文件加载',
scene: '离线加载',
releaseStatus: '未发布',
createTime: '2023/05/23 14:36:04',
updateTime: '2023/05/23 14:36:05',
owner: 'admin',
workgroup: '个人工作组',
},
{
businessId: 3,
name: '版权证书加载',
scene: '离线加载',
releaseStatus: '已下线',
createTime: '2023/05/23 14:36:04',
updateTime: '2023/05/23 14:36:04',
owner: 'admin',
workgroup: '个人工作组',
},
{
businessId: 4,
name: '学生成绩表格',
scene: '文件加载',
releaseStatus: '已发布',
createTime: '2023/05/23 14:36:04',
updateTime: '2023/05/23 14:36:05',
owner: 'admin',
workgroup: '共享工作组',
},
{
businessId: 5,
name: '各科试卷加载',
scene: '文件加载',
releaseStatus: '已发布',
createTime: '2023/05/23 14:36:04',
updateTime: '2023/05/23 14:36:05',
owner: 'admin',
workgroup: '共享工作组',
},
{
businessId: 6,
name: '学生个人信息加载',
scene: '准实时加载',
releaseStatus: '已发布',
createTime: '2023/05/23 14:36:04',
updateTime: '2023/05/23 14:36:04',
owner: 'admin',
workgroup: '共享工作组',
},
];
export const TreeData: any[] = [
{
delFlag: '0',
flag: '1',
businessId: 100,
parentWorkSpaceName: '公共文件',
workSpaceName: '公共文件',
parentId: 0,
'code:': '001',
ancestors: '0',
orderNum: 0,
children: [],
selectType: null,
createTime: '2024-10-24 10:04:04',
createBy: 'admin',
},
{
delFlag: '0',
flag: '1',
businessId: 101,
parentWorkSpaceName: '公共文件',
workSpaceName: '党建建设',
parentId: 100,
'code:': '002',
ancestors: '0,100',
orderNum: 1,
children: [],
selectType: null,
createTime: '2024-10-24 10:04:04',
createBy: 'admin',
},
{
delFlag: '0',
flag: '1',
businessId: 201,
parentWorkSpaceName: '党建建设',
workSpaceName: '基本信息',
parentId: 101,
'code:': '003',
ancestors: '0,100',
orderNum: 1,
children: [],
selectType: null,
createTime: '2024-10-24 10:04:04',
createBy: 'admin',
},
{
delFlag: '0',
flag: '1',
businessId: 202,
parentWorkSpaceName: '党建建设',
workSpaceName: '党员发展计划',
parentId: 101,
'code:': '003',
ancestors: '0,100',
orderNum: 1,
children: [],
selectType: null,
createTime: '2024-10-24 10:04:04',
createBy: 'admin',
},
{
delFlag: '0',
flag: '1',
businessId: 203,
parentWorkSpaceName: '党建建设',
workSpaceName: '主题教育活动',
parentId: 101,
'code:': '003',
ancestors: '0,100',
orderNum: 1,
children: [],
selectType: null,
createTime: '2024-10-24 10:04:04',
createBy: 'admin',
},
{
delFlag: '0',
flag: '1',
businessId: 204,
parentWorkSpaceName: '党建建设',
workSpaceName: '党建工作总结',
parentId: 101,
'code:': '003',
ancestors: '0,100',
orderNum: 1,
children: [],
selectType: null,
createTime: '2024-10-24 10:04:04',
createBy: 'admin',
},
{
delFlag: '0',
flag: '1',
businessId: 205,
parentWorkSpaceName: '党建建设',
workSpaceName: '党史知识竞赛',
parentId: 101,
'code:': '003',
ancestors: '0,100',
orderNum: 1,
children: [],
selectType: null,
createTime: '2024-10-24 10:04:04',
createBy: 'admin',
},
{
delFlag: '0',
flag: '1',
businessId: 206,
parentWorkSpaceName: '党建建设',
workSpaceName: '红色文化展览',
parentId: 101,
'code:': '003',
ancestors: '0,100',
orderNum: 1,
children: [],
selectType: null,
createTime: '2024-10-24 10:04:04',
createBy: 'admin',
},
{
delFlag: '0',
flag: '1',
businessId: 207,
parentWorkSpaceName: '党建建设',
workSpaceName: '志愿服务活动',
parentId: 101,
'code:': '003',
ancestors: '0,100',
orderNum: 1,
children: [],
selectType: null,
createTime: '2024-10-24 10:04:04',
createBy: 'admin',
},
{
delFlag: '0',
flag: '1',
businessId: 208,
parentWorkSpaceName: '党建建设',
workSpaceName: '党员风采展示',
parentId: 101,
'code:': '003',
ancestors: '0,100',
orderNum: 1,
children: [],
selectType: null,
createTime: '2024-10-24 10:04:04',
createBy: 'admin',
},
{
delFlag: '0',
flag: '1',
businessId: 102,
parentWorkSpaceName: '公共文件',
workSpaceName: '交通信息',
parentId: 100,
'code:': '004',
ancestors: '0,100',
orderNum: 1,
children: [],
selectType: null,
createTime: '2024-10-24 10:04:04',
createBy: 'admin',
},
{
delFlag: '0',
flag: '1',
businessId: 209,
parentWorkSpaceName: '交通信息',
workSpaceName: '城市公交优化方案',
parentId: 102,
'code:': '003',
ancestors: '0,100',
orderNum: 1,
children: [],
selectType: null,
createTime: '2024-10-24 10:04:04',
createBy: 'admin',
},
{
delFlag: '0',
flag: '1',
businessId: 210,
parentWorkSpaceName: '交通信息',
workSpaceName: '智能交通系统部署',
parentId: 102,
'code:': '003',
ancestors: '0,100',
orderNum: 1,
children: [],
selectType: null,
createTime: '2024-10-24 10:04:04',
createBy: 'admin',
},
{
delFlag: '0',
flag: '1',
businessId: 211,
parentWorkSpaceName: '交通信息',
workSpaceName: '绿色出行倡议',
parentId: 102,
'code:': '003',
ancestors: '0,100',
orderNum: 1,
children: [],
selectType: null,
createTime: '2024-10-24 10:04:04',
createBy: 'admin',
},
];
export const cardList = [
{
title: '基本信息',
scene: 'databaseOfflineLoading',
parentWorkSpaceName: '党建建设',
icon: 'majesticons:table',
color: '#71c8d5',
dept: '数据资源管理部',
description: '集团党委会、党委理论学习中心的学习会的组织实操、集团党委、纪委换届选举',
label: '其他',
createdBy: 'admin',
createdTime: '2023/01/05 15:43:15',
view: '85',
edit: '2',
isShare: 'true',
},
{
title: '党员发展计划',
scene: 'partyDevelopmentPlan',
parentWorkSpaceName: '党建建设',
icon: 'majesticons:table',
color: '#71c8d5',
dept: '组织人事部',
description: '制定年度党员发展计划,开展入党积极分子培训',
label: '计划',
createdBy: 'admin',
createdTime: '2023/02/10 09:20:30',
view: '120',
edit: '5',
isShare: 'true',
},
{
title: '主题教育活动',
scene: 'themeEducationActivity',
parentWorkSpaceName: '党建建设',
icon: 'majesticons:table',
color: '#71c8d5',
dept: '宣传部',
description: '举办各类主题教育活动,增强党员意识',
label: '活动',
createdBy: 'admin',
createdTime: '2023/03/15 14:45:45',
view: '95',
edit: '3',
isShare: 'false',
},
{
title: '党建工作总结',
scene: 'partyWorkSummary',
parentWorkSpaceName: '党建建设',
icon: 'majesticons:table',
color: '#71c8d5',
dept: '办公室',
description: '撰写季度党建工作总结报告',
label: '总结',
createdBy: 'admin',
createdTime: '2023/08/10 09:00:00',
view: '80',
edit: '1',
isShare: 'true',
},
{
title: '党史知识竞赛',
scene: 'partyHistoryQuiz',
parentWorkSpaceName: '党建建设',
icon: 'majesticons:table',
color: '#71c8d5',
dept: '宣传教育中心',
description: '组织党史知识竞赛,提升党员历史素养',
label: '竞赛',
createdBy: 'admin',
createdTime: '2023/05/25 16:30:15',
view: '110',
edit: '4',
isShare: 'false',
},
{
title: '公交优化方案',
scene: 'urbanBusOptimization',
parentWorkSpaceName: '交通信息',
icon: 'majesticons:bus',
color: '#71c8d5',
dept: '交通规划部',
description: '分析现有公交线路运行情况,提出优化建议以提高效率和乘客满意度。',
label: '方案',
createdBy: 'admin',
createdTime: '2023/04/01 10:00:00',
view: '90',
edit: '3',
isShare: 'true',
},
{
title: '交通系统部署',
scene: 'intelligentTransportSystemDeployment',
icon: 'majesticons:bus',
parentWorkSpaceName: '交通信息',
color: '#71c8d5',
dept: '信息技术部',
description:
'实施先进的智能交通管理系统,包括信号灯控制、交通流量监测等,旨在缓解城市交通拥堵。',
label: '技术',
createdBy: 'admin',
createdTime: '2023/05/15 11:30:00',
view: '115',
edit: '5',
isShare: 'false',
},
{
title: '绿色出行倡议',
scene: 'greenCommuteInitiative',
icon: 'majesticons:bus',
parentWorkSpaceName: '交通信息',
color: '#71c8d5',
dept: '环保与发展部',
description: '推广低碳环保的出行方式,如骑行和步行,并为市民提供相关设施支持。',
label: '倡议',
createdBy: 'admin',
createdTime: '2023/09/28 14:00:00',
view: '75',
edit: '2',
isShare: 'true',
},
];
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