Commit b98fa22d authored by 冷玲鹏's avatar 冷玲鹏

调度执行:修改页面bug

parent 0cea01d3
......@@ -99,7 +99,7 @@
tooltip:'运行',
onClick: RUN.bind(null, record),
ifShow: () => {
return record.releaseStatus !== '父级'; // 这里只是实现树文件夹按钮
return record.releaseStatus === '已发布';
},
},
{
......
<template>
<PageWrapper title="任务流设计" contentBackground headerSticky @back="goBack">
<PageWrapper title="任务流设计" contentBackground headerSticky @back="goBack">
<template #extra>
<!--历史版本-->
<span v-if="versionFlag">版本:</span>
......@@ -9,40 +9,55 @@
v-model:value="version"
:options="versionOptions"
/>
<a-button v-if="versionFlag" type="primary"><RollbackOutlined />回滚</a-button>
<a-button v-if="versionFlag" type="primary">
<RollbackOutlined/>
回滚
</a-button>
<a-button v-if="versionFlag" type="primary" danger @click="handleExit"
><CloseOutlined />退出</a-button
>
<CloseOutlined/>
退出
</a-button
>
<a-button v-if="!versionFlag" style="border-color:transparent">
<Icon icon="ant-design:dashboard-outlined" style="color: blue" size="24"/>
<p>跳转运维</p></a-button>
<a-button v-if="!versionFlag" :disabled="debugFlag" type="primary">
<!-- <Icon icon="ant-design:caret-right-outlined" style="color: blue" size="24"/>
<p>运行</p>-->
<!-- <Icon icon="ant-design:caret-right-outlined" style="color: blue" size="24"/>
<p>运行</p>-->
运行
</a-button>
<a-button v-if="!versionFlag" :disabled="debugFlag" type="primary">运行当前及下游</a-button>
<a-button v-if="!versionFlag && !debugFlag" type="primary" @click="handleDebug">
调试</a-button>
调试
</a-button>
<a-button v-if="!versionFlag && debugFlag" type="primary">调试全部任务</a-button>
<a-button v-if="!versionFlag && debugFlag" type="primary" @click="handelOutDebug">退出调试</a-button>
<a-button v-if="!versionFlag && debugFlag" type="primary" @click="handelOutDebug">退出调试
</a-button>
<a-button v-if="!versionFlag" :disabled="debugFlag" type="primary" @click="handleSave"
>保存</a-button
>保存
</a-button
>
<a-button
v-if="!versionFlag && !uploadFlag"
:disabled="debugFlag"
type="primary"
@click="handleUpload"
>发布</a-button
>发布
</a-button
>
<a-button v-if="!versionFlag && uploadFlag" type="primary" @click="handleOffline"
>下线</a-button
>下线
</a-button
>
<div style="display: flex; flex-direction: column; text-align: center">
<RadioGroup v-model:value="showType" button-style="solid" size="small">
<RadioButton value="table"><UnorderedListOutlined /></RadioButton>
<RadioButton value="chart"><AppstoreOutlined /></RadioButton>
<RadioButton value="table">
<UnorderedListOutlined/>
</RadioButton>
<RadioButton value="chart">
<AppstoreOutlined/>
</RadioButton>
</RadioGroup>
<div>展示切换</div>
</div>
......@@ -56,21 +71,28 @@
<div style="display: flex;">
<ModelTree class="w-1/4" @select="handleSelect"/>
<BasicTable class="w-3/4"
style="height: 1000px;"
v-if="showType === 'table'"
@register="registerTable"
:searchInfo="searchInfo"
style="height: 1000px;"
v-if="showType === 'table'"
@register="registerTable"
:searchInfo="searchInfo"
>
<template #toolbar>
<a-button @click="handleOrderType"
><SwapRightOutlined :rotate="rotate" />按执行计划排序</a-button
>
<SwapRightOutlined :rotate="rotate"/>
按执行计划排序
</a-button
>
<a-button :disabled="getRowSelection().selectedRowKeys <= 0">复制</a-button>
<a-button :disabled="getRowSelection().selectedRowKeys <= 0" @click="handleDeleteMore"
>删除</a-button
>删除
</a-button
>
<Dropdown :trigger="['click']">
<a-button type="primary" @click.prevent><PlusOutlined />新建任务</a-button>
<a-button type="primary" @click.prevent>
<PlusOutlined/>
新建任务
</a-button>
<template #overlay>
<Menu>
<MenuItem @click="handleTaskModel('1')">
......@@ -133,324 +155,385 @@
</template>
</template>
<template #task="{ text, record }">
<a-button v-if="text">{{ text }}<CheckCircleFilled style="color: #44c498" /></a-button>
<a-button @click="handleSetting"><SettingOutlined /></a-button>
<a-button v-if="text">{{ text }}
<CheckCircleFilled style="color: #44c498"/>
</a-button>
<a-button @click="handleSetting">
<SettingOutlined/>
</a-button>
</template>
</BasicTable>
<div v-if="showType === 'chart'" class="w-3/4" style="height: 1000px;margin-left: 30px">
<!-- <img src="/src/assets/images/taskFlushChart.jpg" style="width: 100%" alt="" />-->
<FlowChart :data="demoData" v-if="showType === 'chart'"/>
<!-- <img src="/src/assets/images/taskFlushChart.jpg" style="width: 100%" alt="" />-->
<!-- <FlowChart :data="demoData" :flowOptions="flowOptions" :patternItems="patternItems" v-if="showType === 'chart'"/>-->
<FlowChart :data="demoData" :patternItems="patternItems" v-if="showType === 'chart'"/>
</div>
</div>
</template>
<TaskModel @register="taskModel" />
<UpstreamModel @register="upstreamTaskModel" />
<DependModel @register="dependModel" />
<TaskConfigModel @register="taskConfigModel" />
<UploadModel @register="uploadModel" @set-upload-flag="setUploadFlag" />
<VersionModel @register="versionModel" @set-version="setVersion" @show-dag="showDag" />
<DeleteModel @register="deleteModel" />
<OfflineModel @register="offlineModel" @set-upload-flag="setUploadFlag" />
<TaskFlowConfig @register="taskFlowConfig" />
<TaskModel @register="taskModel"/>
<UpstreamModel @register="upstreamTaskModel"/>
<DependModel @register="dependModel"/>
<TaskConfigModel @register="taskConfigModel"/>
<UploadModel @register="uploadModel" @set-upload-flag="setUploadFlag"/>
<VersionModel @register="versionModel" @set-version="setVersion" @show-dag="showDag"/>
<DeleteModel @register="deleteModel"/>
<OfflineModel @register="offlineModel" @set-upload-flag="setUploadFlag"/>
<TaskFlowConfig @register="taskFlowConfig"/>
</PageWrapper>
</template>
<script lang="ts" setup>
import TaskModel from './taskModel.vue';
import { reactive, onMounted, ref, nextTick, computed } from 'vue';
import {
SettingOutlined,
UnorderedListOutlined,
AppstoreOutlined,
CheckCircleFilled,
SwapRightOutlined,
PlusOutlined,
RollbackOutlined,
CloseOutlined,
} from '@ant-design/icons-vue';
import { PageWrapper } from '@/components/Page';
import { TableAction, useTable } from '@/components/Table';
import { useRoute, onBeforeRouteLeave, useRouter } from 'vue-router';
import { useFilterStore } from '@/store/modules/filterData';
import {
Descriptions,
Tabs,
Select,
RadioGroup,
RadioButton,
Dropdown,
Menu,
MenuItem,
} from 'ant-design-vue';
import EntityTable from './entityTable.vue';
import ConnectionTable from './connectionTable.vue';
import CrossTable from './crossTable.vue';
import {
entityData,
infoData,
} from '@/views/dataWarehousePlanning/logicalModel/modelDetail/modelData';
import { FormSchema } from '@/components/Form';
import { useModal } from '@/components/Modal';
import TurnPhysicalModel from './turnPhysicalModel.vue';
import VersionDetailModel from './versionModel.vue';
import { useMessage } from '@/hooks/web/useMessage';
import BasicTable from '@/components/Table/src/BasicTable.vue';
import {
entityColumns,
entityFormSchema,
} from '@/views/dataWarehousePlanning/logicalModel/modelDetail/model.data';
import {
designColumn,
designFormSchema,
} from '@/views/taskScheduling/taskFlowDesign/design.data';
import { designData } from '@/views/taskScheduling/taskFlowDesign/designData';
import { router } from '@/router';
import UpstreamModel from './upstreamTaskModel.vue';
import DependModel from './dependModel.vue';
import TaskConfigModel from './taskConfigModel.vue';
import UploadModel from './uploadModel.vue';
import VersionModel from './versionModel.vue';
import DeleteModel from './deleteModel.vue';
import OfflineModel from './offlineModel.vue';
import TaskFlowConfig from './taskFlowConfig.vue';
import ModelTree from './ModelTree.vue';
import { logicalData } from '@/views/dataWarehousePlanning/logicalModel/modelData';
import Icon from "@/components/Icon/Icon.vue";
import demoData from "./dataTurbo.json";
import {FlowChart} from "@/components/FlowChart";
import TaskModel from './taskModel.vue';
import {reactive, onMounted, ref, nextTick, computed} from 'vue';
import {
SettingOutlined,
UnorderedListOutlined,
AppstoreOutlined,
CheckCircleFilled,
SwapRightOutlined,
PlusOutlined,
RollbackOutlined,
CloseOutlined,
} from '@ant-design/icons-vue';
import {PageWrapper} from '@/components/Page';
import {TableAction, useTable} from '@/components/Table';
import {useRoute, onBeforeRouteLeave, useRouter} from 'vue-router';
import {useFilterStore} from '@/store/modules/filterData';
import {
Descriptions,
Tabs,
Select,
RadioGroup,
RadioButton,
Dropdown,
Menu,
MenuItem,
} from 'ant-design-vue';
import EntityTable from './entityTable.vue';
import ConnectionTable from './connectionTable.vue';
import CrossTable from './crossTable.vue';
import {
entityData,
infoData,
} from '@/views/dataWarehousePlanning/logicalModel/modelDetail/modelData';
import {FormSchema} from '@/components/Form';
import {useModal} from '@/components/Modal';
import TurnPhysicalModel from './turnPhysicalModel.vue';
import VersionDetailModel from './versionModel.vue';
import {useMessage} from '@/hooks/web/useMessage';
import BasicTable from '@/components/Table/src/BasicTable.vue';
import {
entityColumns,
entityFormSchema,
} from '@/views/dataWarehousePlanning/logicalModel/modelDetail/model.data';
import {
designColumn,
designFormSchema,
} from '@/views/taskScheduling/taskFlowDesign/design.data';
import {designData} from '@/views/taskScheduling/taskFlowDesign/designData';
import {router} from '@/router';
import UpstreamModel from './upstreamTaskModel.vue';
import DependModel from './dependModel.vue';
import TaskConfigModel from './taskConfigModel.vue';
import UploadModel from './uploadModel.vue';
import VersionModel from './versionModel.vue';
import DeleteModel from './deleteModel.vue';
import OfflineModel from './offlineModel.vue';
import TaskFlowConfig from './taskFlowConfig.vue';
import ModelTree from './ModelTree.vue';
import {logicalData} from '@/views/dataWarehousePlanning/logicalModel/modelData';
import Icon from "@/components/Icon/Icon.vue";
import demoData from "./dataTurbo.json";
import {FlowChart} from "@/components/FlowChart";
const [taskModel, { openModal: openTaskModel }] = useModal();
const filterStore = useFilterStore();
const [upstreamTaskModel, { openModal: openUpstreamModel }] = useModal();
const [dependModel, { openModal: openDependModel }] = useModal();
const [taskConfigModel, { openModal: openTaskConfigModel }] = useModal();
const [uploadModel, { openModal: openUploadModel }] = useModal();
const [versionModel, { openModal: openVersionModel }] = useModal();
const [deleteModel, { openModal: openDeleteModel }] = useModal();
const [offlineModel, { openModal: openOfflineModel }] = useModal();
const [taskFlowConfig, { openModal: openTaskFlowConfig }] = useModal();
const rotate = ref(90);
const showType = ref('table');
const searchInfo = reactive<Recordable>({});
const { createMessage, createConfirm } = useMessage();
const versionFlag = ref(false);
const debugFlag = ref(false);
const version = ref();
const versionOptions = [
{
label: 'V20 2023/07/07 14:24:25',
value: 'V20 2023/07/07 14:24:25',
},
{
label: 'V19 2023/07/07 14:11:05',
value: 'V19 2023/07/07 14:11:05',
},
{
label: 'V18 2023/07/06 14:39:59',
value: 'V18 2023/07/06 14:39:59',
},
{
label: 'V17 2023/07/06 10:54:14',
value: 'V17 2023/07/06 10:54:14',
},
{
label: 'V16 2023/07/04 19:26:29',
value: 'V16 2023/07/04 19:26:29',
},
{
label: 'V15 2023/07/04 18:56:54',
value: 'V15 2023/07/04 18:56:54',
},
{
label: 'V14 2023/07/04 17:06:19',
value: 'V14 2023/07/04 17:06:19',
},
{
label: 'V13 2023/07/03 11:02:10',
value: 'V13 2023/07/03 11:02:10',
},
];
function setVersion(item) {
versionFlag.value = true;
console.log('node', item);
version.value = item.version + ' ' + item.time;
console.log('version', version.value);
}
function showDag(item) {
console.log('item', item);
showType.value = 'chart';
}
function handleRemove(record) {
if (record.task) {
openDeleteModel(true, {
isUpdate: false,
});
} else {
createConfirm({
iconType: 'warning',
title: '确认删除',
content: '确认删除这条数据吗?',
onOk() {
createMessage.success('删除成功!');
},
});
}
}
function handleDeleteMore() {
const [taskModel, {openModal: openTaskModel}] = useModal();
const filterStore = useFilterStore();
const [upstreamTaskModel, {openModal: openUpstreamModel}] = useModal();
const [dependModel, {openModal: openDependModel}] = useModal();
const [taskConfigModel, {openModal: openTaskConfigModel}] = useModal();
const [uploadModel, {openModal: openUploadModel}] = useModal();
const [versionModel, {openModal: openVersionModel}] = useModal();
const [deleteModel, {openModal: openDeleteModel}] = useModal();
const [offlineModel, {openModal: openOfflineModel}] = useModal();
const [taskFlowConfig, {openModal: openTaskFlowConfig}] = useModal();
const rotate = ref(90);
const showType = ref('table');
const searchInfo = reactive<Recordable>({});
const {createMessage, createConfirm} = useMessage();
const versionFlag = ref(false);
const debugFlag = ref(false);
const version = ref();
const versionOptions = [
{
label: 'V20 2023/07/07 14:24:25',
value: 'V20 2023/07/07 14:24:25',
},
{
label: 'V19 2023/07/07 14:11:05',
value: 'V19 2023/07/07 14:11:05',
},
{
label: 'V18 2023/07/06 14:39:59',
value: 'V18 2023/07/06 14:39:59',
},
{
label: 'V17 2023/07/06 10:54:14',
value: 'V17 2023/07/06 10:54:14',
},
{
label: 'V16 2023/07/04 19:26:29',
value: 'V16 2023/07/04 19:26:29',
},
{
label: 'V15 2023/07/04 18:56:54',
value: 'V15 2023/07/04 18:56:54',
},
{
label: 'V14 2023/07/04 17:06:19',
value: 'V14 2023/07/04 17:06:19',
},
{
label: 'V13 2023/07/03 11:02:10',
value: 'V13 2023/07/03 11:02:10',
},
];
/* // 配置 FlowChart 的参数
const flowOptions = {
// 定义流程图的配置信息,例如节点、线条的样式等
nodeWidth: 120,
nodeHeight: 80,
lineWidth: 2,
lineColor: '#000000',
// 可以进一步设置其他的选项
};*/
// 左侧拖拽区域的元素
const patternItems = [
{
type: 'rect',
text: '</> new task',
label: '脚本',
icon: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAEFVwZaAAAABGdBTUEAALGPC/xhBQAAAqlJREFUOBF9VM9rE0EUfrMJNUKLihGbpLGtaCOIR8VjQMGDePCgCCIiCNqzCAp2MyYUCXhUtF5E0D+g1t48qAd7CCLqQUQKEWkStcEfVGlLdp/fm3aW2QQdyLzf33zz5m2IsAZ9XhDpyaaIZkTS4ASzK41TFao88GuJ3hsr2pAbipHxuSYyKRugagICGANkfFnNh3HeE2N0b3nN2cgnpcictw5veJIzxmDamSlxxQZicq/mflxhbaH8BLRbuRwNtZp0JAhoplVRUdzmCe/vO27wFuuA3S5qXruGdboy5/PRGFsbFGKo/haRtQHIrM83bVeTrOgNhZReWaYGnE4aUQgTJNvijJFF4jQ8BxJE5xfKatZWmZcTQ+BVgh7s8SgPlCkcec4mGTmieTP4xd7PcpIEg1TX6gdeLW8rTVMVLVvb7ctXoH0Cydl2QOPJBG21STE5OsnbweVYzAnD3A7PVILuY0yiiyDwSm2g441r6rMSgp6iK42yqroI2QoXeJVeA+YeZSa47gZdXaZWQKTrG93rukk/l2Al6Kzh5AZEl7dDQy+JjgFahQjRopSxPbrbvK7GRe9ePWBo1wcU7sYrFZtavXALwGw/7Dnc50urrHJuTPSoO2IMV3gUQGNg87IbSOIY9BpiT9HV7FCZ94nPXb3MSnwHn/FFFE1vG6DTby+r31KAkUktB3Qf6ikUPWxW1BkXSPQeMHHiW0+HAd2GelJsZz1OJegCxqzl+CLVHa/IibuHeJ1HAKzhuDR+ymNaRFM+4jU6UWKXorRmbyqkq/D76FffevwdCp+jN3UAN/C9JRVTDuOxC/oh+EdMnqIOrlYteKSfadVRGLJFJPSB/ti/6K8f0CNymg/iH2gO/f0DwE0yjAFO6l8JaR5j0VPwPwfaYHqOqrCI319WzwhwzNW/aQAAAABJRU5ErkJggg==',
},
{
type: 'rect',
text: '</> new task',
label: 'Java',
icon: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAEFVwZaAAAABGdBTUEAALGPC/xhBQAAAqlJREFUOBF9VM9rE0EUfrMJNUKLihGbpLGtaCOIR8VjQMGDePCgCCIiCNqzCAp2MyYUCXhUtF5E0D+g1t48qAd7CCLqQUQKEWkStcEfVGlLdp/fm3aW2QQdyLzf33zz5m2IsAZ9XhDpyaaIZkTS4ASzK41TFao88GuJ3hsr2pAbipHxuSYyKRugagICGANkfFnNh3HeE2N0b3nN2cgnpcictw5veJIzxmDamSlxxQZicq/mflxhbaH8BLRbuRwNtZp0JAhoplVRUdzmCe/vO27wFuuA3S5qXruGdboy5/PRGFsbFGKo/haRtQHIrM83bVeTrOgNhZReWaYGnE4aUQgTJNvijJFF4jQ8BxJE5xfKatZWmZcTQ+BVgh7s8SgPlCkcec4mGTmieTP4xd7PcpIEg1TX6gdeLW8rTVMVLVvb7ctXoH0Cydl2QOPJBG21STE5OsnbweVYzAnD3A7PVILuY0yiiyDwSm2g441r6rMSgp6iK42yqroI2QoXeJVeA+YeZSa47gZdXaZWQKTrG93rukk/l2Al6Kzh5AZEl7dDQy+JjgFahQjRopSxPbrbvK7GRe9ePWBo1wcU7sYrFZtavXALwGw/7Dnc50urrHJuTPSoO2IMV3gUQGNg87IbSOIY9BpiT9HV7FCZ94nPXb3MSnwHn/FFFE1vG6DTby+r31KAkUktB3Qf6ikUPWxW1BkXSPQeMHHiW0+HAd2GelJsZz1OJegCxqzl+CLVHa/IibuHeJ1HAKzhuDR+ymNaRFM+4jU6UWKXorRmbyqkq/D76FffevwdCp+jN3UAN/C9JRVTDuOxC/oh+EdMnqIOrlYteKSfadVRGLJFJPSB/ti/6K8f0CNymg/iH2gO/f0DwE0yjAFO6l8JaR5j0VPwPwfaYHqOqrCI319WzwhwzNW/aQAAAABJRU5ErkJggg==',
},
{
type: 'rect',
text: '</> new task',
label: 'Python',
icon: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAEFVwZaAAAABGdBTUEAALGPC/xhBQAAAqlJREFUOBF9VM9rE0EUfrMJNUKLihGbpLGtaCOIR8VjQMGDePCgCCIiCNqzCAp2MyYUCXhUtF5E0D+g1t48qAd7CCLqQUQKEWkStcEfVGlLdp/fm3aW2QQdyLzf33zz5m2IsAZ9XhDpyaaIZkTS4ASzK41TFao88GuJ3hsr2pAbipHxuSYyKRugagICGANkfFnNh3HeE2N0b3nN2cgnpcictw5veJIzxmDamSlxxQZicq/mflxhbaH8BLRbuRwNtZp0JAhoplVRUdzmCe/vO27wFuuA3S5qXruGdboy5/PRGFsbFGKo/haRtQHIrM83bVeTrOgNhZReWaYGnE4aUQgTJNvijJFF4jQ8BxJE5xfKatZWmZcTQ+BVgh7s8SgPlCkcec4mGTmieTP4xd7PcpIEg1TX6gdeLW8rTVMVLVvb7ctXoH0Cydl2QOPJBG21STE5OsnbweVYzAnD3A7PVILuY0yiiyDwSm2g441r6rMSgp6iK42yqroI2QoXeJVeA+YeZSa47gZdXaZWQKTrG93rukk/l2Al6Kzh5AZEl7dDQy+JjgFahQjRopSxPbrbvK7GRe9ePWBo1wcU7sYrFZtavXALwGw/7Dnc50urrHJuTPSoO2IMV3gUQGNg87IbSOIY9BpiT9HV7FCZ94nPXb3MSnwHn/FFFE1vG6DTby+r31KAkUktB3Qf6ikUPWxW1BkXSPQeMHHiW0+HAd2GelJsZz1OJegCxqzl+CLVHa/IibuHeJ1HAKzhuDR+ymNaRFM+4jU6UWKXorRmbyqkq/D76FffevwdCp+jN3UAN/C9JRVTDuOxC/oh+EdMnqIOrlYteKSfadVRGLJFJPSB/ti/6K8f0CNymg/iH2gO/f0DwE0yjAFO6l8JaR5j0VPwPwfaYHqOqrCI319WzwhwzNW/aQAAAABJRU5ErkJggg==',
},
];
function setVersion(item) {
versionFlag.value = true;
console.log('node', item);
version.value = item.version + ' ' + item.time;
console.log('version', version.value);
}
function showDag(item) {
console.log('item', item);
showType.value = 'chart';
}
function handleRemove(record) {
if (record.task) {
openDeleteModel(true, {
isUpdate: false,
});
}
function handleOrderType() {
rotate.value = rotate.value === 90 ? -90 : 90;
}
function handleCopy(record) {}
function handleTaskModel(type) {
openTaskModel(true, {
isUpdate: false,
type: type,
});
}
function handleSetting() {
openUpstreamModel(true, {
isUpdate: false,
});
}
function handleDepend() {
openDependModel(true, {
isUpdate: false,
});
}
function handleConfig() {
openTaskConfigModel(true, {
isUpdate: false,
});
}
function handleSetConfig() {
openTaskFlowConfig(true, {
isUpdate: false,
});
}
function handleVersion() {
openVersionModel(true, {
isUpdate: false,
});
}
function handleDelete() {}
function handleSave() {
// createMessage.warning('当前任务流出现多个名为***的同名任务,请检查');
// createMessage.warning('当前任务流中名称为***的任务的独立周期配置不是当前任务流调度周期的子集,请检查');
// createMessage.warning('任务流【uuid***,名称:***】和任务流[uuid***,名称:**]存在环形依赖关系,请处理');
}
function handleUpload() {
openUploadModel(true, {
isUpdate: false,
});
}
const uploadFlag = ref(false);
function setUploadFlag(flag) {
uploadFlag.value = flag;
}
function handleOffline() {
openOfflineModel(true, {
isUpdate: false,
} else {
createConfirm({
iconType: 'warning',
title: '确认删除',
content: '确认删除这条数据吗?',
onOk() {
createMessage.success('删除成功!');
},
});
}
}
onMounted(() => {
tableData.value = designData;
function handleDeleteMore() {
openDeleteModel(true, {
isUpdate: false,
});
}
/** 部门树的select*/
function handleSelect(key) {
console.log('asd');
if (key !== null && key !== undefined) {
modelLevel.value = key.split('-').length - 1;
} else {
modelLevel.value = 0;
}
if (modelLevel.value === 2) {
const regex = new RegExp(key, 'i');
const data = tableData.value.filter(
(item) => item.type === 'model' && regex.test(item.themeId),
);
setTableData(data);
}
if (modelLevel.value === 1) {
const regex = new RegExp(key, 'i');
const data = tableData.value.filter(
(item) => item.type === 'twoLevel' && regex.test(item.themeId),
);
setTableData(data);
}
if (modelLevel.value === 0) {
const regex = new RegExp(key, 'i');
const data = tableData.value.filter(
(item) => item.type === 'theme' && regex.test(item.themeId),
);
setTableData(data);
}
}
function handleExit() {
versionFlag.value = false;
function handleOrderType() {
rotate.value = rotate.value === 90 ? -90 : 90;
}
function handleCopy(record) {
}
function handleTaskModel(type) {
openTaskModel(true, {
isUpdate: false,
type: type,
});
}
function handleSetting() {
openUpstreamModel(true, {
isUpdate: false,
});
}
function handleDepend() {
openDependModel(true, {
isUpdate: false,
});
}
function handleConfig() {
openTaskConfigModel(true, {
isUpdate: false,
});
}
function handleSetConfig() {
openTaskFlowConfig(true, {
isUpdate: false,
});
}
function handleVersion() {
openVersionModel(true, {
isUpdate: false,
});
}
function handleDelete() {
}
function handleSave() {
// createMessage.warning('当前任务流出现多个名为***的同名任务,请检查');
// createMessage.warning('当前任务流中名称为***的任务的独立周期配置不是当前任务流调度周期的子集,请检查');
// createMessage.warning('任务流【uuid***,名称:***】和任务流[uuid***,名称:**]存在环形依赖关系,请处理');
}
function handleUpload() {
openUploadModel(true, {
isUpdate: false,
});
}
const uploadFlag = ref(false);
function setUploadFlag(flag) {
uploadFlag.value = flag;
}
function handleOffline() {
openOfflineModel(true, {
isUpdate: false,
});
}
onMounted(() => {
tableData.value = designData;
});
/** 部门树的select*/
function handleSelect(key) {
console.log('asd');
if (key !== null && key !== undefined) {
modelLevel.value = key.split('-').length - 1;
} else {
modelLevel.value = 0;
}
/**返回上一级*/
function goBack() {
router.back();
if (modelLevel.value === 2) {
const regex = new RegExp(key, 'i');
const data = tableData.value.filter(
(item) => item.type === 'model' && regex.test(item.themeId),
);
setTableData(data);
}
function handleDebug() {
debugFlag.value = true;
showType.value = 'chart';
if (modelLevel.value === 1) {
const regex = new RegExp(key, 'i');
const data = tableData.value.filter(
(item) => item.type === 'twoLevel' && regex.test(item.themeId),
);
setTableData(data);
}
function handelOutDebug() {
debugFlag.value = false;
showType.value = 'table';
if (modelLevel.value === 0) {
const regex = new RegExp(key, 'i');
const data = tableData.value.filter(
(item) => item.type === 'theme' && regex.test(item.themeId),
);
setTableData(data);
}
}
let modelLevel = ref(1);
const tableData = ref([]);
const [registerTable, { getRowSelection, setTableData }] = useTable({
title: '',
// 数据
api: async (params) => {
console.log('params:', params);
const response = {
pageNu: '1',
pageSize: '10',
pages: '1',
total: tableData.value.length,
code: '',
message: '',
data: [],
};
//按照部门筛选 如果有进行过滤相应部门的 没有就赋值全部
let data = [];
data = tableData.value.filter((item) => item.type === 'theme');
return { ...response, data: data };
},
rowKey: 'businessId',
// 列
columns: designColumn,
rowSelection: true,
striped: false,
// 搜索
formConfig: {
labelWidth: 120,
schemas: designFormSchema,
autoSubmitOnEnter: true,
},
useSearchForm: true,
showTableSetting: false,
showIndexColumn: false,
bordered: false,
actionColumn: {
width: 150,
title: '操作',
dataIndex: 'action',
},
});
onMounted(() => {});
function handleExit() {
versionFlag.value = false;
}
/**返回上一级*/
function goBack() {
router.back();
}
function handleDebug() {
debugFlag.value = true;
showType.value = 'chart';
}
function handelOutDebug() {
debugFlag.value = false;
showType.value = 'table';
}
let modelLevel = ref(1);
const tableData = ref([]);
const [registerTable, {getRowSelection, setTableData}] = useTable({
title: '',
// 数据
api: async (params) => {
console.log('params:', params);
const response = {
pageNu: '1',
pageSize: '10',
pages: '1',
total: tableData.value.length,
code: '',
message: '',
data: [],
};
//按照部门筛选 如果有进行过滤相应部门的 没有就赋值全部
let data = [];
data = tableData.value.filter((item) => item.type === 'theme');
return {...response, data: data};
},
rowKey: 'businessId',
// 列
columns: designColumn,
rowSelection: true,
striped: false,
// 搜索
formConfig: {
labelWidth: 120,
schemas: designFormSchema,
autoSubmitOnEnter: true,
},
useSearchForm: true,
showTableSetting: false,
showIndexColumn: false,
bordered: false,
actionColumn: {
width: 150,
title: '操作',
dataIndex: 'action',
},
});
onMounted(() => {
});
</script>
<style scoped></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