Commit 6a8b4f04 authored by LiXuyang's avatar LiXuyang

Merge remote-tracking branch 'origin/master'

parents b2604c90 00b816a0
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<div class="path">资源编目</div> <div class="path">资源编目</div>
</div> </div>
<div class="buttonGroup"> <div class="buttonGroup">
<Segmented v-model:value="value" :options="data"> <Segmented @change="segmentedChange" v-model:value="value" :options="data">
<template #label="{ payload, value: segmentValue }"> <template #label="{ payload, value: segmentValue }">
<div class="icon-container"> <div class="icon-container">
<Icon <Icon
...@@ -23,8 +23,12 @@ ...@@ -23,8 +23,12 @@
</div> </div>
</template> </template>
</Segmented> </Segmented>
<a-button type="primary" @click="handleBulkDownload">批量下载</a-button> <a-button :disabled="isDisabled" type="primary" @click="handleBulkDownload"
<a-button type="primary" @click="pushNotifications">批量推送</a-button> >批量下载</a-button
>
<a-button :disabled="isDisabled" type="primary" @click="pushNotifications"
>批量推送</a-button
>
</div> </div>
</div> </div>
</template> </template>
...@@ -44,6 +48,8 @@ ...@@ -44,6 +48,8 @@
{ label: '有条件共享', value: 'true' }, { label: '有条件共享', value: 'true' },
{ label: '无条件共享', value: 'false' }, { label: '无条件共享', value: 'false' },
]" ]"
allowClear
placeholder="共享条件"
v-model:value="selectValue" v-model:value="selectValue"
style="width: 150px; margin-left: 10px" style="width: 150px; margin-left: 10px"
@change="onSearch" @change="onSearch"
...@@ -171,9 +177,10 @@ ...@@ -171,9 +177,10 @@
const { createMessage, createConfirm } = useMessage(); const { createMessage, createConfirm } = useMessage();
const route = useRouter(); const route = useRouter();
const value = ref('cardList'); const value = ref('cardList');
const params = ref(''); const params = ref(undefined);
const selectValue = ref(''); const selectValue = ref(undefined);
const sortOrder = ref('latest'); const sortOrder = ref('latest');
const isDisabled = ref();
const selectedCard = reactive([] as any[]); const selectedCard = reactive([] as any[]);
const cardListData = ref([]); const cardListData = ref([]);
const workSpaceName = ref('党建建设'); const workSpaceName = ref('党建建设');
...@@ -196,9 +203,14 @@ ...@@ -196,9 +203,14 @@
const [registerTable, { reload, getRowSelection }] = useTable({ const [registerTable, { reload, getRowSelection }] = useTable({
api: async () => { api: async () => {
let filteredList = cardList.filter((item) => { let filteredList = cardList.filter((item) => {
const titleMatch = item.title.toLowerCase().includes(params.value.toLowerCase()); const titleMatch = ref(true);
if (params.value !== undefined) {
titleMatch.value = item.title.includes(params.value);
}
const shareMatch = const shareMatch =
selectValue.value === '' ? true : item.isShare.toString() === selectValue.value; selectValue.value === '' || selectValue.value === undefined
? true
: item.isShare.toString() === selectValue.value;
const workspaceMatch = const workspaceMatch =
workSpaceName.value === '' || workSpaceName.value === '' ||
workSpaceName.value === '公共数据集' || workSpaceName.value === '公共数据集' ||
...@@ -227,7 +239,10 @@ ...@@ -227,7 +239,10 @@
return { ...response }; return { ...response };
}, },
columns: Columns, columns: Columns,
rowSelection: true, rowSelection: {
type: 'checkbox',
onChange: onSelectionChange,
},
showTableSetting: false, showTableSetting: false,
showIndexColumn: false, showIndexColumn: false,
pagination: false, pagination: false,
...@@ -253,6 +268,10 @@ ...@@ -253,6 +268,10 @@
} }
} }
function segmentedChange() {
isDisabled.value = true;
}
function toggleAllSelection() { function toggleAllSelection() {
if (selectedCard.length === cardListData.value.length) { if (selectedCard.length === cardListData.value.length) {
selectedCard.length = 0; selectedCard.length = 0;
...@@ -262,6 +281,14 @@ ...@@ -262,6 +281,14 @@
} }
} }
function isCardSelected(item: any) {
isDisabled.value = selectedCard.length <= 0;
return selectedCard.includes(item);
}
function onSelectionChange() {
isDisabled.value = getRowSelection().selectedRowKeys <= 0;
}
function information(item) { function information(item) {
const title = item.title; const title = item.title;
if (title === '党建工作总结') { if (title === '党建工作总结') {
...@@ -296,10 +323,6 @@ ...@@ -296,10 +323,6 @@
} }
} }
function isCardSelected(item: any) {
return selectedCard.includes(item);
}
function handleBulkDownload() {} function handleBulkDownload() {}
/**批量推送推送*/ /**批量推送推送*/
...@@ -312,9 +335,14 @@ ...@@ -312,9 +335,14 @@
function onSearch() { function onSearch() {
let filteredList = cardList.filter((item) => { let filteredList = cardList.filter((item) => {
const titleMatch = item.title.toLowerCase().includes(params.value.toLowerCase()); const titleMatch = ref(true);
if (params.value !== undefined) {
titleMatch.value = item.title.includes(params.value);
}
const shareMatch = const shareMatch =
selectValue.value === '' ? true : item.isShare.toString() === selectValue.value; selectValue.value === '' || selectValue.value === undefined
? true
: item.isShare.toString() === selectValue.value;
const workspaceMatch = const workspaceMatch =
workSpaceName.value === '' || workSpaceName.value === '' ||
workSpaceName.value === '公共数据集' || workSpaceName.value === '公共数据集' ||
......
...@@ -26,7 +26,8 @@ ...@@ -26,7 +26,8 @@
import { BasicModal, useModalInner } from '@/components/Modal'; import { BasicModal, useModalInner } from '@/components/Modal';
import { BasicForm, useForm } from '@/components/Form'; import { BasicForm, useForm } from '@/components/Form';
import { importFormSchema } from './tempalte.data'; import { importFormSchema } from './tempalte.data';
import {onMountedOrActivated} from "@vben/hooks"; import { TreeData } from './mock';
import { onMountedOrActivated } from '@vben/hooks';
const emit = defineEmits(['success', 'register']); const emit = defineEmits(['success', 'register']);
const isUpdate = ref(true); const isUpdate = ref(true);
...@@ -49,6 +50,16 @@ ...@@ -49,6 +50,16 @@
setModalProps({ confirmLoading: false }); setModalProps({ confirmLoading: false });
isUpdate.value = !!data?.isUpdate; isUpdate.value = !!data?.isUpdate;
isMove.value = !!data?.isMove; isMove.value = !!data?.isMove;
const treeList = handleTree(TreeData, 'businessId', undefined, undefined, undefined);
updateSchema([
{
field: 'taskId',
componentProps: {
treeData: treeList,
},
},
]);
console.log('treeList:', treeList);
if (unref(isUpdate)) { if (unref(isUpdate)) {
// 获取行数据的id // 获取行数据的id
rowId.value = data.record.businessId; rowId.value = data.record.businessId;
...@@ -59,9 +70,6 @@ ...@@ -59,9 +70,6 @@
} }
}); });
// onMounted(){}
// const getTitle = computed(() => '新建文件'); // const getTitle = computed(() => '新建文件');
const getTitle = '导入文件选择'; const getTitle = '导入文件选择';
...@@ -69,4 +77,32 @@ ...@@ -69,4 +77,32 @@
async function handleSubmit() { async function handleSubmit() {
closeModal(); closeModal();
} }
/**数组对象转成树*/
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;
}
</script> </script>
export const tableList: any[] = [
{
businessId: 1,
name: '值域检查(倍数)',
dataSource: [
{ icon: '🧩', text: 'INCEPTOR' },
{ icon: '🧩', text: 'MYSQL' },
{ icon: '🧩', text: 'GBASE' },
],
templateNumber: 'BIDQ000038',
createTime: '2023/05/23 14:36:04',
updateTime: '2023/05/23 14:36:04',
owner: 'admin',
workgroup: '默认工作组',
},
{
businessId: 2,
name: '值域检查(数值大于零)',
dataSource: [
{ icon: '🧩', text: 'INCEPTOR' },
{ icon: '🧩', text: 'GBASE' },
],
templateNumber: 'BIDQ000041',
createTime: '2023/05/23 14:36:04',
updateTime: '2023/05/23 14:36:05',
owner: 'admin',
workgroup: '默认工作组',
description: '这是模板描述',
category: '规范性',
sql:
'SELECT COUNT(*)\n' +
'FROM $(table a}\n' +
'WHERE ${column a}IS NOT NULL AND ${column a}NOT IN (${range a})',
params: [
{
key: '1',
parameter: 'table_a',
type: '数据表类',
description: '数据表',
value: '默认工作组/数据库a/数据表a',
},
{
key: '2',
parameter: 'column_a',
type: '数据字段类',
description: '数据字段',
value: '默认工作组/数据库a/数据表a/字段a',
},
{
key: '3',
parameter: 'range_a',
type: '公共代码类',
description: '值域',
value: '公共代码/数据范围a',
},
],
},
{
businessId: 3,
name: '值域检查(比率)',
dataSource: [
{ icon: '🧩', text: 'MYSQL' },
{ icon: '🧩', text: 'GBASE' },
],
templateNumber: 'BIDQ000039',
createTime: '2023/05/23 14:36:04',
updateTime: '2023/05/23 14:36:04',
owner: 'admin',
workgroup: '默认工作组',
},
{
businessId: 4,
name: '值域检查(负数率)',
dataSource: [
{ icon: '🧩', text: 'INCEPTOR' },
{ icon: '🧩', text: 'MYSQL' },
],
templateNumber: 'BIDQ000040',
createTime: '2023/05/23 14:36:04',
updateTime: '2023/05/23 14:36:05',
owner: 'admin',
workgroup: '默认工作组',
},
{
businessId: 5,
name: '值域检查(额度)',
dataSource: [
{ icon: '🧩', text: 'INCEPTOR' },
{ icon: '🧩', text: 'MYSQL' },
],
templateNumber: 'BIDQ000043',
createTime: '2023/05/23 14:36:04',
updateTime: '2023/05/23 14:36:05',
owner: 'admin',
workgroup: '默认工作组',
},
{
businessId: 6,
name: '关键字检查(非空)',
dataSource: [
{ icon: '🧩', text: 'INCEPTOR' },
{ icon: '🧩', text: 'MYSQL' },
],
templateNumber: 'BIDQ000033',
createTime: '2023/05/23 14:36:04',
updateTime: '2023/05/23 14:36:04',
owner: 'admin',
workgroup: '默认工作组',
},
{
businessId: 7,
name: '编码规则检查(检查证件有效)',
dataSource: [
{ icon: '🧩', text: 'INCEPTOR' },
{ icon: '🧩', text: 'GBASE' },
],
templateNumber: 'BIDQ000042',
createTime: '2023/05/23 14:36:04',
updateTime: '2023/05/23 14:36:05',
owner: 'admin',
workgroup: '默认工作组',
},
{
businessId: 8,
name: '长度检查[0,30]',
dataSource: [
{ icon: '🧩', text: 'MYSQL' },
{ icon: '🧩', text: 'GBASE' },
],
templateNumber: 'BIDQ000035',
createTime: '2023/05/23 14:36:04',
updateTime: '2023/05/23 14:36:04',
owner: 'admin',
workgroup: '默认工作组',
},
{
businessId: 9,
name: '长度检查[0,4]',
dataSource: [
{ icon: '🧩', text: 'MYSQL' },
{ icon: '🧩', text: 'GBASE' },
],
templateNumber: 'BIDQ000034',
createTime: '2023/05/23 14:36:04',
updateTime: '2023/05/23 14:36:04',
owner: 'admin',
workgroup: '默认工作组',
},
{
businessId: 10,
name: '长度检查[0,8]',
dataSource: [
{ icon: '🧩', text: 'GBASE' },
{ icon: '🧩', text: 'MYSQL' },
],
templateNumber: 'BIDQ000036',
createTime: '2023/05/23 14:36:04',
updateTime: '2023/05/23 14:36:04',
owner: 'admin',
workgroup: '默认工作组',
},
];
export const treeDataList = [
{
title: '主体管理',
key: 1,
icon: 'home|svg',
children: [
{ title: 'admin_个人工作区', key: 2 },
{ title: '共享工作区', key: 3 },
{ title: '商城工作区', key: 4 },
{ title: '指标工作区', key: 5 },
],
},
];
export const treeDataListTwo = [
{
label: '默认工作组',
businessId: 1,
children: [
{ label: '默认工作组01', businessId: 2 },
{ label: '默认工作组02', businessId: 3 },
{ label: '默认工作组03', businessId: 4 },
{ label: '默认工作组04', businessId: 5 },
],
},
];
export const TreeData: any[] = [
{
businessId: 100,
QualityName: '质量模版',
anotherName: '质量模版',
parentId: 0,
location: '/质量模版',
icon: 'ant-design:folder-open-outlined',
},
{
businessId: 101,
QualityName: 'CEA_POC_模版',
anotherName: 'CEA_POC_模版',
parentId: 100,
ancestors: '0,100',
icon: 'ant-design:folder-open-outlined',
},
{
businessId: 102,
QualityName: '数据中台工作区01',
anotherName: '数据中台工作区01',
parentId: 100,
ancestors: '0,100',
location: '/质量模版/数据中台工作区01',
icon: 'ant-design:folder-open-outlined',
},
{
businessId: 201,
QualityName: '值域检查(倍数)',
anotherName: '值域检查(倍数)',
parentId: 102,
ancestors: '0,100,102',
location: '/质量模版/数据中台工作区01/值域检查(倍数)',
icon: 'ant-design:partition-outlined',
},
{
businessId: 202,
QualityName: '值域检查(数值大于零)',
anotherName: '值域检查(数值大于零)',
parentId: 102,
ancestors: '0,100,102',
location: '/质量模版/数据中台工作区01/值域检查(数值大于零)',
icon: 'ant-design:partition-outlined',
},
{
businessId: 204,
QualityName: '准取检查-数值大于等于n',
anotherName: '准取检查-数值大于等于n',
parentId: 101,
ancestors: '0,100,101',
location: '/质量模版/CEA_POC_模版/准取检查-数值大于等于n',
icon: 'ant-design:partition-outlined',
},
];
...@@ -213,6 +213,21 @@ export const formSchemaTemplate: any = [ ...@@ -213,6 +213,21 @@ export const formSchemaTemplate: any = [
}, },
]; ];
export const importFormSchema: any[] = [ export const importFormSchema: any[] = [
{
field: 'taskId',
label: '导入至',
component: 'TreeSelect',
colProps: { lg: 24, md: 24 },
componentProps: {
// border: 'none',
fieldNames: {
label: 'QualityName',
value: 'businessId',
},
getPopupContainer: () => document.body,
},
required: true,
},
{ {
field: 'fileMethods', field: 'fileMethods',
label: '导入文件选择', label: '导入文件选择',
...@@ -221,7 +236,7 @@ export const importFormSchema: any[] = [ ...@@ -221,7 +236,7 @@ export const importFormSchema: any[] = [
}, },
{ {
field: 'fileRename', field: 'fileRename',
label: '文件重名', label: 'shell文件重名',
component: 'RadioGroup', component: 'RadioGroup',
required: true, required: true,
colProps: { lg: 24, md: 24, offset: 3 }, colProps: { lg: 24, md: 24, offset: 3 },
......
...@@ -7,19 +7,19 @@ ...@@ -7,19 +7,19 @@
<BasicTable @register="registerTable" class="w-3/4 xl:w-4/5" :searchInfo="searchInfo"> <BasicTable @register="registerTable" class="w-3/4 xl:w-4/5" :searchInfo="searchInfo">
<template #toolbar> <template #toolbar>
<Tooltip title="复制" placement="top"> <Tooltip title="复制" placement="top">
<a-button type="primary" @click="handleMove.bind(null, 0, record)"> <a-button type="primary" @click="handleMove(0, getRowSelection().selectedRowKeys)">
<Icon icon="majesticons:duplicate-line" :size="20" /> <Icon icon="majesticons:duplicate-line" :size="20" />
</a-button> </a-button>
</Tooltip> </Tooltip>
<Tooltip title="移动" placement="top"> <Tooltip title="移动" placement="top">
<a-button type="primary" @click="handleMove.bind(null, 1, record)"> <a-button type="primary" @click="handleMove(1, getRowSelection().selectedRowKeys)">
<Icon icon="majesticons:arrow-right" :size="20" /> <Icon icon="majesticons:arrow-right" :size="20" />
</a-button> </a-button>
</Tooltip> </Tooltip>
<Tooltip title="删除" placement="top"> <Tooltip title="删除" placement="top">
<a-button type="primary" @click="deleteButton.bind(null, record, 1)"> <a-button type="primary" @click="deleteButton">
<Icon icon="majesticons:trash-line" :size="20" /> <Icon icon="majesticons:trash-line" :size="20" />
</a-button> </a-button>
</Tooltip> </Tooltip>
...@@ -56,6 +56,10 @@ ...@@ -56,6 +56,10 @@
label: '编辑', label: '编辑',
onClick: handleGroupSelect.bind(null, record, 0), onClick: handleGroupSelect.bind(null, record, 0),
}, },
{
label: '重命名',
onClick: resetName.bind(null, record),
},
{ {
label: '复制', label: '复制',
onClick: handleMove.bind(null, 0, record), onClick: handleMove.bind(null, 0, record),
...@@ -77,6 +81,7 @@ ...@@ -77,6 +81,7 @@
<importModal @register="registerImport" @success="handleImportSuccess" /> <importModal @register="registerImport" @success="handleImportSuccess" />
<AddFolder @register="register" /> <AddFolder @register="register" />
<TemplateModal @register="registerTemplate" /> <TemplateModal @register="registerTemplate" />
<Rename @register="registerRename" />
</PageWrapper> </PageWrapper>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
...@@ -96,6 +101,7 @@ ...@@ -96,6 +101,7 @@
import TemplateModal from './addFile/templateModal.vue'; import TemplateModal from './addFile/templateModal.vue';
import MoveFile from './handleMove/moveFile.vue'; import MoveFile from './handleMove/moveFile.vue';
import importModal from './importModal/importModal.vue'; import importModal from './importModal/importModal.vue';
import Rename from './renameModal.vue';
import { useMessage } from '@/hooks/web/useMessage'; import { useMessage } from '@/hooks/web/useMessage';
import { downloadByData } from '@/utils/file/download'; import { downloadByData } from '@/utils/file/download';
...@@ -108,6 +114,7 @@ ...@@ -108,6 +114,7 @@
const [registerImport, { openModal: openImportModal }] = useModal(); const [registerImport, { openModal: openImportModal }] = useModal();
const [registerMoveFile, { openModal: openMoveFileModal }] = useModal(); const [registerMoveFile, { openModal: openMoveFileModal }] = useModal();
const [registerTemplate, { openModal: openTemplateModal }] = useModal(); const [registerTemplate, { openModal: openTemplateModal }] = useModal();
const [registerRename, { openModal: openRenameModal }] = useModal();
const [register, { openModal: openAddFolder }] = useModal(); const [register, { openModal: openAddFolder }] = useModal();
const [ const [
registerTable, registerTable,
...@@ -210,6 +217,14 @@ ...@@ -210,6 +217,14 @@
}, },
}); });
} }
///重命名
function resetName(record) {
openRenameModal(true, {
name: record.name,
workSpaceName: record.workSpaceName,
title: '重命名',
});
}
/** 导出按钮*/ /** 导出按钮*/
async function handleExport() { async function handleExport() {
console.log('导出----'); console.log('导出----');
......
import { BasicColumn, FormSchema } from '@/components/Table';
export const columns: BasicColumn[] = [
{
title: '名称',
dataIndex: 'name',
width: 150,
sorter: true,
},
{
title: '规则描述',
dataIndex: 'ruleDescription',
width: 120,
},
{
title: '规则类型',
dataIndex: 'ruleType',
width: 120,
sorter: true,
},
{
title: '规则处置',
dataIndex: 'ruleHandling',
width: 120,
sorter: true,
},
{
title: '创建时间',
dataIndex: 'creationTime',
width: 120,
sorter: true,
},
{
title: '更新时间',
dataIndex: 'updateTime',
width: 120,
sorter: true,
},
{
title: '拥有者',
dataIndex: 'owner',
width: 150,
sorter: true,
},
];
export const personSchema: FormSchema[] = [
{
field: 'name',
component: 'Input',
colProps: { lg: 11, md: 11 },
label: '名称',
required: true,
},
{
field: 'ruleDescription',
label: '规则描述',
colProps: { lg: 11, md: 11 },
component: 'InputTextArea',
},
{
field: 'ruleHandling',
label: '规则处置',
colProps: { lg: 11, md: 11 },
component: 'Select',
required: true,
componentProps: {
placeholder: '规则处置方式',
options: [
{ label: '建议优化', value: '1' },
{ label: '禁止执行', value: '2' },
{ label: 'admin', value: '3' },
],
},
},
{
field: 'disposalSuggestions',
label: '处置建议',
colProps: { lg: 11, md: 11 },
component: 'InputTextArea',
required: true,
componentProps: {
placeholder: '请输入处置建议',
},
},
{
field: 'sql',
label: '规则内容',
required: true,
slot: 'ruleContentSlot',
},
{
field: 'ruleContent',
slot: 'buttonSlot',
},
];
export const MoveFormSchema: any[] = [
{
field: 'taskId',
label: '路径',
component: 'TreeSelect',
colProps: { lg: 24, md: 24 },
componentProps: {
fieldNames: {
label: 'workSpaceName',
value: 'businessId',
},
getPopupContainer: () => document.body,
},
required: true,
},
];
export const addFileFormSchema: any[] = [
{
field: 'taskId',
label: '路径',
component: 'TreeSelect',
colProps: { lg: 24, md: 24 },
componentProps: {
fieldNames: {
label: 'workSpaceName',
value: 'businessId',
},
getPopupContainer: () => document.body,
},
required: true,
},
{
field: 'name',
component: 'Input',
label: '名称',
required: true,
colProps: { lg: 24, md: 24 },
},
];
export const renameSchema: FormSchema[] = [
{
field: 'workSpaceName',
label: '名称',
component: 'Input',
required: true,
colProps: { lg: 24, md: 24 },
},
];
export const searchFormSchema: FormSchema[] = [
{
field: 'name',
label: ' ',
component: 'Input',
colProps: { span: 5 },
componentProps: {
placeholder: '输入关键字搜索',
},
},
];
<template>
<BasicModal
width="30%"
v-bind="$attrs"
@register="registerModal"
:title="title"
@ok="handleSubmit"
>
<BasicForm @register="registerForm" />
</BasicModal>
</template>
<script lang="ts" setup>
import { onMounted, ref } from 'vue';
import { BasicModal, useModalInner } from '@/components/Modal';
import { useMessage } from '@/hooks/web/useMessage';
import { BasicForm, useForm } from '@/components/Form';
import { renameSchema } from './mainBody.data';
defineOptions({ name: 'KnowledgeModal' });
const emit = defineEmits(['success', 'register']);
const { createMessage } = useMessage();
const title = ref();
const rowId = ref('');
//获取接口数据并放在下拉框里(这里是打开了一个弹框)
//初始化表单
const [registerForm, { setFieldsValue, resetFields }] = useForm({
schemas: renameSchema,
showActionButtonGroup: false,
actionColOptions: {
span: 23,
},
});
//初始化弹框
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
const workSpaceName = data.workSpaceName;
setFieldsValue({ workSpaceName });
setModalProps({ confirmLoading: false });
title.value = data.title;
});
async function handleSubmit() {
closeModal();
createMessage.success('提交成功');
resetFields;
}
onMounted(() => {});
</script>
...@@ -20,8 +20,8 @@ ...@@ -20,8 +20,8 @@
onClick: handleDetail, onClick: handleDetail,
}, },
{ {
icon: 'ant-design:edit-outlined', icon: 'majesticons:file-search-line',
tooltip: '编辑', tooltip: '版本对比',
onClick: modEdit, onClick: modEdit,
}, },
{ {
...@@ -70,8 +70,7 @@ ...@@ -70,8 +70,7 @@
closeModal(); closeModal();
} }
function modEdit() { function modEdit() {
console.log('编辑'); console.log('版本对比');
closeModal();
} }
function handleVersionRollback() { function handleVersionRollback() {
message.success('回退成功'); message.success('回退成功');
......
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