mirror of
https://gitee.com/dromara/Jpom.git
synced 2024-12-03 04:18:21 +08:00
fix 取消下拉组件 getPopupContainer 方法
This commit is contained in:
parent
ede782d240
commit
ca2605768d
@ -5,39 +5,13 @@
|
|||||||
<a-space>
|
<a-space>
|
||||||
<div>
|
<div>
|
||||||
皮肤:
|
皮肤:
|
||||||
<a-select
|
<a-select v-model="cmOptions.theme" @select="handleSelectTheme" show-search option-filter-prop="children" :filter-option="filterOption" placeholder="请选择" style="width: 150px">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
v-model="cmOptions.theme"
|
|
||||||
@select="handleSelectTheme"
|
|
||||||
show-search
|
|
||||||
option-filter-prop="children"
|
|
||||||
:filter-option="filterOption"
|
|
||||||
placeholder="请选择"
|
|
||||||
style="width: 150px"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="item in cmThemeOptions" :key="item">{{ item }}</a-select-option>
|
<a-select-option v-for="item in cmThemeOptions" :key="item">{{ item }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
语言:
|
语言:
|
||||||
<a-select
|
<a-select v-model="cmOptions.mode" @select="handleSelectMode" show-search option-filter-prop="children" :filter-option="filterOption" placeholder="请选择" style="width: 150px">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
v-model="cmOptions.mode"
|
|
||||||
@select="handleSelectMode"
|
|
||||||
show-search
|
|
||||||
option-filter-prop="children"
|
|
||||||
:filter-option="filterOption"
|
|
||||||
placeholder="请选择"
|
|
||||||
style="width: 150px"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="item in cmEditorModeOptions" :key="item">{{ item }}</a-select-option>
|
<a-select-option v-for="item in cmEditorModeOptions" :key="item">{{ item }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
</div>
|
</div>
|
||||||
@ -77,7 +51,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {codemirror} from "vue-codemirror";
|
import { codemirror } from "vue-codemirror";
|
||||||
import "codemirror/lib/codemirror.css";
|
import "codemirror/lib/codemirror.css";
|
||||||
|
|
||||||
import "codemirror/theme/blackboard.css";
|
import "codemirror/theme/blackboard.css";
|
||||||
@ -119,7 +93,7 @@ import "codemirror/addon/search/search.js";
|
|||||||
import "codemirror/addon/display/autorefresh.js";
|
import "codemirror/addon/display/autorefresh.js";
|
||||||
import "codemirror/addon/selection/mark-selection.js";
|
import "codemirror/addon/selection/mark-selection.js";
|
||||||
import "codemirror/addon/search/match-highlighter.js";
|
import "codemirror/addon/search/match-highlighter.js";
|
||||||
import {JSHINT} from "jshint";
|
import { JSHINT } from "jshint";
|
||||||
|
|
||||||
window.JSHINT = JSHINT;
|
window.JSHINT = JSHINT;
|
||||||
|
|
||||||
|
@ -8,49 +8,13 @@
|
|||||||
<a-table :data-source="list" size="middle" :columns="columns" :pagination="pagination" bordered rowKey="id" @change="change" :row-selection="rowSelection">
|
<a-table :data-source="list" size="middle" :columns="columns" :pagination="pagination" bordered rowKey="id" @change="change" :row-selection="rowSelection">
|
||||||
<template slot="title">
|
<template slot="title">
|
||||||
<a-space>
|
<a-space>
|
||||||
<a-select
|
<a-select show-search option-filter-prop="children" v-model="listQuery.buildDataId" allowClear placeholder="请选择构建名称" class="search-input-item">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
show-search
|
|
||||||
option-filter-prop="children"
|
|
||||||
v-model="listQuery.buildDataId"
|
|
||||||
allowClear
|
|
||||||
placeholder="请选择构建名称"
|
|
||||||
class="search-input-item"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="build in buildList" :key="build.id">{{ build.name }}</a-select-option>
|
<a-select-option v-for="build in buildList" :key="build.id">{{ build.name }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
<a-select
|
<a-select show-search option-filter-prop="children" v-model="listQuery.status" allowClear placeholder="请选择状态" class="search-input-item">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
show-search
|
|
||||||
option-filter-prop="children"
|
|
||||||
v-model="listQuery.status"
|
|
||||||
allowClear
|
|
||||||
placeholder="请选择状态"
|
|
||||||
class="search-input-item"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="(val, key) in statusMap" :key="key">{{ val }}</a-select-option>
|
<a-select-option v-for="(val, key) in statusMap" :key="key">{{ val }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
<a-select
|
<a-select show-search option-filter-prop="children" v-model="listQuery.triggerBuildType" allowClear placeholder="请选择触发类型" class="search-input-item">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
show-search
|
|
||||||
option-filter-prop="children"
|
|
||||||
v-model="listQuery.triggerBuildType"
|
|
||||||
allowClear
|
|
||||||
placeholder="请选择触发类型"
|
|
||||||
class="search-input-item"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="(val, key) in triggerBuildTypeMap" :key="key">{{ val }}</a-select-option>
|
<a-select-option v-for="(val, key) in triggerBuildTypeMap" :key="key">{{ val }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
<a-range-picker class="search-input-item" :show-time="{ format: 'HH:mm:ss' }" format="YYYY-MM-DD HH:mm:ss" @change="onchangeTime" />
|
<a-range-picker class="search-input-item" :show-time="{ format: 'HH:mm:ss' }" format="YYYY-MM-DD HH:mm:ss" @change="onchangeTime" />
|
||||||
|
@ -7,49 +7,13 @@
|
|||||||
<template slot="title">
|
<template slot="title">
|
||||||
<a-space>
|
<a-space>
|
||||||
<a-input allowClear class="search-input-item" @pressEnter="loadData" v-model="listQuery['%name%']" placeholder="构建名称" />
|
<a-input allowClear class="search-input-item" @pressEnter="loadData" v-model="listQuery['%name%']" placeholder="构建名称" />
|
||||||
<a-select
|
<a-select show-search allowClear option-filter-prop="children" v-model="listQuery.status" placeholder="状态" class="search-input-item">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
show-search
|
|
||||||
allowClear
|
|
||||||
option-filter-prop="children"
|
|
||||||
v-model="listQuery.status"
|
|
||||||
placeholder="状态"
|
|
||||||
class="search-input-item"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="(val, key) in statusMap" :key="key">{{ val }}</a-select-option>
|
<a-select-option v-for="(val, key) in statusMap" :key="key">{{ val }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
<a-select
|
<a-select show-search option-filter-prop="children" v-model="listQuery.releaseMethod" allowClear placeholder="发布方式" class="search-input-item">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
show-search
|
|
||||||
option-filter-prop="children"
|
|
||||||
v-model="listQuery.releaseMethod"
|
|
||||||
allowClear
|
|
||||||
placeholder="发布方式"
|
|
||||||
class="search-input-item"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="(val, key) in releaseMethodMap" :key="key">{{ val }}</a-select-option>
|
<a-select-option v-for="(val, key) in releaseMethodMap" :key="key">{{ val }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
<a-select
|
<a-select show-search option-filter-prop="children" v-model="listQuery.group" allowClear placeholder="分组" class="search-input-item">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
show-search
|
|
||||||
option-filter-prop="children"
|
|
||||||
v-model="listQuery.group"
|
|
||||||
allowClear
|
|
||||||
placeholder="分组"
|
|
||||||
class="search-input-item"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="item in groupList" :key="item">{{ item }}</a-select-option>
|
<a-select-option v-for="item in groupList" :key="item">{{ item }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
<a-input allowClear class="search-input-item" @pressEnter="loadData" v-model="listQuery['%resultDirFile%']" placeholder="产物目录" />
|
<a-input allowClear class="search-input-item" @pressEnter="loadData" v-model="listQuery['%resultDirFile%']" placeholder="产物目录" />
|
||||||
|
@ -6,31 +6,11 @@
|
|||||||
<a-space>
|
<a-space>
|
||||||
<a-input class="search-input-item" @pressEnter="loadData" v-model="listQuery['%id%']" placeholder="id" />
|
<a-input class="search-input-item" @pressEnter="loadData" v-model="listQuery['%id%']" placeholder="id" />
|
||||||
<a-input class="search-input-item" @pressEnter="loadData" v-model="listQuery['%name%']" placeholder="名称" />
|
<a-input class="search-input-item" @pressEnter="loadData" v-model="listQuery['%name%']" placeholder="名称" />
|
||||||
<a-select
|
<a-select v-model="listQuery.outGivingProject" allowClear placeholder="分发类型" class="search-input-item">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
v-model="listQuery.outGivingProject"
|
|
||||||
allowClear
|
|
||||||
placeholder="分发类型"
|
|
||||||
class="search-input-item"
|
|
||||||
>
|
|
||||||
<a-select-option :value="1">独立</a-select-option>
|
<a-select-option :value="1">独立</a-select-option>
|
||||||
<a-select-option :value="0">关联</a-select-option>
|
<a-select-option :value="0">关联</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
<a-select
|
<a-select v-model="listQuery.status" allowClear placeholder="请选择状态" class="search-input-item">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
v-model="listQuery.status"
|
|
||||||
allowClear
|
|
||||||
placeholder="请选择状态"
|
|
||||||
class="search-input-item"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="(name, key) in statusMap" :key="key">{{ name }}</a-select-option>
|
<a-select-option v-for="(name, key) in statusMap" :key="key">{{ name }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
<a-tooltip title="按住 Ctr 或者 Alt/Option 键点击按钮快速回到第一页">
|
<a-tooltip title="按住 Ctr 或者 Alt/Option 键点击按钮快速回到第一页">
|
||||||
@ -212,15 +192,7 @@
|
|||||||
<a-button type="primary" @click="addDispachList">添加</a-button>
|
<a-button type="primary" @click="addDispachList">添加</a-button>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
<a-form-model-item label="分发后操作" prop="afterOpt">
|
<a-form-model-item label="分发后操作" prop="afterOpt">
|
||||||
<a-select
|
<a-select v-model="temp.afterOpt" placeholder="请选择发布后操作">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
v-model="temp.afterOpt"
|
|
||||||
placeholder="请选择发布后操作"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="item in afterOptList" :key="item.value">{{ item.title }}</a-select-option>
|
<a-select-option v-for="item in afterOptList" :key="item.value">{{ item.title }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
@ -283,15 +255,7 @@
|
|||||||
<a-icon type="question-circle" theme="filled" />
|
<a-icon type="question-circle" theme="filled" />
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</template>
|
</template>
|
||||||
<a-select
|
<a-select v-model="temp.runMode" placeholder="请选择运行方式">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
v-model="temp.runMode"
|
|
||||||
placeholder="请选择运行方式"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="runMode in runModeList" :key="runMode">{{ runMode }}</a-select-option>
|
<a-select-option v-for="runMode in runModeList" :key="runMode">{{ runMode }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
@ -382,15 +346,7 @@
|
|||||||
<a-icon type="question-circle" theme="filled" />
|
<a-icon type="question-circle" theme="filled" />
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</template>
|
</template>
|
||||||
<a-select
|
<a-select v-model="temp.logPath" placeholder="请选择日志目录">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
v-model="temp.logPath"
|
|
||||||
placeholder="请选择日志目录"
|
|
||||||
>
|
|
||||||
<a-select-option key="" value="">默认是在项目文件夹父级</a-select-option>
|
<a-select-option key="" value="">默认是在项目文件夹父级</a-select-option>
|
||||||
<a-select-option v-for="access in accessList" :key="access">{{ access }}</a-select-option>
|
<a-select-option v-for="access in accessList" :key="access">{{ access }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
@ -402,15 +358,7 @@
|
|||||||
<a-input v-model="temp.javaExtDirsCp" placeholder="-Dext.dirs=xxx: -cp xx 填写【xxx:xx】" />
|
<a-input v-model="temp.javaExtDirsCp" placeholder="-Dext.dirs=xxx: -cp xx 填写【xxx:xx】" />
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
<a-form-model-item label="分发后操作" prop="afterOpt">
|
<a-form-model-item label="分发后操作" prop="afterOpt">
|
||||||
<a-select
|
<a-select v-model="temp.afterOpt" placeholder="请选择发布后操作">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
v-model="temp.afterOpt"
|
|
||||||
placeholder="请选择发布后操作"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="item in afterOptList" :key="item.value">{{ item.title }}</a-select-option>
|
<a-select-option v-for="item in afterOptList" :key="item.value">{{ item.title }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
@ -439,16 +387,7 @@
|
|||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
<!-- 节点 -->
|
<!-- 节点 -->
|
||||||
<a-form-model-item label="分发节点" prop="nodeId">
|
<a-form-model-item label="分发节点" prop="nodeId">
|
||||||
<a-select
|
<a-select v-model="temp.nodeIdList" mode="multiple" placeholder="请选择分发节点">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
v-model="temp.nodeIdList"
|
|
||||||
mode="multiple"
|
|
||||||
placeholder="请选择分发节点"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="node in nodeList" :key="node.id">{{ `${node.name}` }}</a-select-option>
|
<a-select-option v-for="node in nodeList" :key="node.id">{{ `${node.name}` }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
@ -580,15 +519,7 @@
|
|||||||
<a-switch v-model="temp.autoUnzip" checked-children="是" un-checked-children="否" />
|
<a-switch v-model="temp.autoUnzip" checked-children="是" un-checked-children="否" />
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
<a-form-model-item label="分发后操作" prop="afterOpt">
|
<a-form-model-item label="分发后操作" prop="afterOpt">
|
||||||
<a-select
|
<a-select v-model="temp.afterOpt" placeholder="请选择发布后操作">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
v-model="temp.afterOpt"
|
|
||||||
placeholder="请选择发布后操作"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="item in afterOptList" :key="item.value">{{ item.title }}</a-select-option>
|
<a-select-option v-for="item in afterOptList" :key="item.value">{{ item.title }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
@ -622,10 +553,10 @@ import {
|
|||||||
unbindOutgiving,
|
unbindOutgiving,
|
||||||
uploadDispatchFile,
|
uploadDispatchFile,
|
||||||
} from "@/api/dispatch";
|
} from "@/api/dispatch";
|
||||||
import {getNodeListAll, getProjectListAll} from "@/api/node";
|
import { getNodeListAll, getProjectListAll } from "@/api/node";
|
||||||
import {getProjectData, javaModes, noFileModes, runModeList} from "@/api/node-project";
|
import { getProjectData, javaModes, noFileModes, runModeList } from "@/api/node-project";
|
||||||
import {itemGroupBy, parseTime} from "@/utils/time";
|
import { itemGroupBy, parseTime } from "@/utils/time";
|
||||||
import {CHANGE_PAGE, COMPUTED_PAGINATION, PAGE_DEFAULT_LIST_QUERY, PROJECT_DSL_DEFATUL} from "@/utils/const";
|
import { CHANGE_PAGE, COMPUTED_PAGINATION, PAGE_DEFAULT_LIST_QUERY, PROJECT_DSL_DEFATUL } from "@/utils/const";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
|
@ -7,43 +7,13 @@
|
|||||||
<a-table size="middle" :data-source="list" :columns="columns" :pagination="pagination" @change="changePage" bordered :rowKey="(record, index) => index">
|
<a-table size="middle" :data-source="list" :columns="columns" :pagination="pagination" @change="changePage" bordered :rowKey="(record, index) => index">
|
||||||
<template slot="title">
|
<template slot="title">
|
||||||
<a-space>
|
<a-space>
|
||||||
<a-select
|
<a-select v-model="listQuery.nodeId" allowClear placeholder="请选择节点" class="search-input-item">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
v-model="listQuery.nodeId"
|
|
||||||
allowClear
|
|
||||||
placeholder="请选择节点"
|
|
||||||
class="search-input-item"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="node in nodeList" :key="node.id">{{ node.name }}</a-select-option>
|
<a-select-option v-for="node in nodeList" :key="node.id">{{ node.name }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
<a-select
|
<a-select v-model="listQuery.outGivingId" allowClear placeholder="分发项目" class="search-input-item">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
v-model="listQuery.outGivingId"
|
|
||||||
allowClear
|
|
||||||
placeholder="分发项目"
|
|
||||||
class="search-input-item"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="dispatch in dispatchList" :key="dispatch.id">{{ dispatch.name }}</a-select-option>
|
<a-select-option v-for="dispatch in dispatchList" :key="dispatch.id">{{ dispatch.name }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
<a-select
|
<a-select v-model="listQuery.status" allowClear placeholder="请选择状态" class="search-input-item">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
v-model="listQuery.status"
|
|
||||||
allowClear
|
|
||||||
placeholder="请选择状态"
|
|
||||||
class="search-input-item"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="(item, key) in dispatchStatusMap" :key="key" :value="key">{{ item }}</a-select-option>
|
<a-select-option v-for="(item, key) in dispatchStatusMap" :key="key" :value="key">{{ item }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
<a-range-picker class="search-input-item" :show-time="{ format: 'HH:mm:ss' }" format="YYYY-MM-DD HH:mm:ss" @change="onchangeTime" />
|
<a-range-picker class="search-input-item" :show-time="{ format: 'HH:mm:ss' }" format="YYYY-MM-DD HH:mm:ss" @change="onchangeTime" />
|
||||||
@ -81,11 +51,11 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import {getNodeListAll} from "@/api/node";
|
import { getNodeListAll } from "@/api/node";
|
||||||
import {dispatchStatusMap, getDishPatchListAll, getDishPatchLogList} from "@/api/dispatch";
|
import { dispatchStatusMap, getDishPatchListAll, getDishPatchLogList } from "@/api/dispatch";
|
||||||
import {parseTime} from "@/utils/time";
|
import { parseTime } from "@/utils/time";
|
||||||
|
|
||||||
import {CHANGE_PAGE, COMPUTED_PAGINATION, PAGE_DEFAULT_LIST_QUERY} from "@/utils/const";
|
import { CHANGE_PAGE, COMPUTED_PAGINATION, PAGE_DEFAULT_LIST_QUERY } from "@/utils/const";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
|
@ -105,11 +105,7 @@
|
|||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
<!-- <a-form-model-item label="接口版本" prop="apiVersion">
|
<!-- <a-form-model-item label="接口版本" prop="apiVersion">
|
||||||
<a-select
|
<a-select
|
||||||
:getPopupContainer="
|
show-search option-filter-prop="children" v-model="temp.apiVersion" allowClear placeholder="接口版本">
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
" show-search option-filter-prop="children" v-model="temp.apiVersion" allowClear placeholder="接口版本">
|
|
||||||
<a-select-option v-for="item in apiVersions" :key="item.version">{{ item.webVersion }}</a-select-option>
|
<a-select-option v-for="item in apiVersions" :key="item.version">{{ item.webVersion }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-model-item> -->
|
</a-form-model-item> -->
|
||||||
|
@ -5,19 +5,7 @@
|
|||||||
<a-space>
|
<a-space>
|
||||||
<a-input v-model="listQuery['nodeId']" @pressEnter="loadData" placeholder="id" class="search-input-item" />
|
<a-input v-model="listQuery['nodeId']" @pressEnter="loadData" placeholder="id" class="search-input-item" />
|
||||||
<a-input v-model="listQuery['nodeName']" @pressEnter="loadData" placeholder="名称" class="search-input-item" />
|
<a-input v-model="listQuery['nodeName']" @pressEnter="loadData" placeholder="名称" class="search-input-item" />
|
||||||
<a-select
|
<a-select show-search option-filter-prop="children" v-model="listQuery['nodeRole']" allowClear placeholder="角色" class="search-input-item">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
show-search
|
|
||||||
option-filter-prop="children"
|
|
||||||
v-model="listQuery['nodeRole']"
|
|
||||||
allowClear
|
|
||||||
placeholder="角色"
|
|
||||||
class="search-input-item"
|
|
||||||
>
|
|
||||||
<a-select-option key="worker">工作节点</a-select-option>
|
<a-select-option key="worker">工作节点</a-select-option>
|
||||||
<a-select-option key="manager">管理节点</a-select-option>
|
<a-select-option key="manager">管理节点</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
@ -136,7 +124,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {dockerSwarmNodeLeave, dockerSwarmNodeList, dockerSwarmNodeUpdate} from "@/api/docker-swarm";
|
import { dockerSwarmNodeLeave, dockerSwarmNodeList, dockerSwarmNodeUpdate } from "@/api/docker-swarm";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {},
|
components: {},
|
||||||
|
@ -5,45 +5,15 @@
|
|||||||
<template slot="title">
|
<template slot="title">
|
||||||
<a-space>
|
<a-space>
|
||||||
<a-input v-model="listQuery['%name%']" @pressEnter="loadData" placeholder="监控名称" class="search-input-item" />
|
<a-input v-model="listQuery['%name%']" @pressEnter="loadData" placeholder="监控名称" class="search-input-item" />
|
||||||
<a-select
|
<a-select v-model="listQuery.status" allowClear placeholder="开启状态" class="search-input-item">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
v-model="listQuery.status"
|
|
||||||
allowClear
|
|
||||||
placeholder="开启状态"
|
|
||||||
class="search-input-item"
|
|
||||||
>
|
|
||||||
<a-select-option :value="1">开启</a-select-option>
|
<a-select-option :value="1">开启</a-select-option>
|
||||||
<a-select-option :value="0">关闭</a-select-option>
|
<a-select-option :value="0">关闭</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
<a-select
|
<a-select v-model="listQuery.autoRestart" allowClear placeholder="自动重启" class="search-input-item">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
v-model="listQuery.autoRestart"
|
|
||||||
allowClear
|
|
||||||
placeholder="自动重启"
|
|
||||||
class="search-input-item"
|
|
||||||
>
|
|
||||||
<a-select-option :value="1">是</a-select-option>
|
<a-select-option :value="1">是</a-select-option>
|
||||||
<a-select-option :value="0">否</a-select-option>
|
<a-select-option :value="0">否</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
<a-select
|
<a-select v-model="listQuery.alarm" allowClear placeholder="报警状态" class="search-input-item">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
v-model="listQuery.alarm"
|
|
||||||
allowClear
|
|
||||||
placeholder="报警状态"
|
|
||||||
class="search-input-item"
|
|
||||||
>
|
|
||||||
<a-select-option :value="1">报警中</a-select-option>
|
<a-select-option :value="1">报警中</a-select-option>
|
||||||
<a-select-option :value="0">未报警</a-select-option>
|
<a-select-option :value="0">未报警</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
@ -112,19 +82,7 @@
|
|||||||
</a-auto-complete>
|
</a-auto-complete>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
<a-form-model-item label="监控项目" prop="projects">
|
<a-form-model-item label="监控项目" prop="projects">
|
||||||
<a-select
|
<a-select option-label-prop="label" v-model="projectKeys" mode="multiple" placeholder="选择要监控的项目,file 类型项目不可以监控" show-search option-filter-prop="children">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
option-label-prop="label"
|
|
||||||
v-model="projectKeys"
|
|
||||||
mode="multiple"
|
|
||||||
placeholder="选择要监控的项目,file 类型项目不可以监控"
|
|
||||||
show-search
|
|
||||||
option-filter-prop="children"
|
|
||||||
>
|
|
||||||
<a-select-opt-group :label="nodeMap[nodeItem.node].name" v-for="nodeItem in nodeProjectGroupList" :key="nodeItem.node">
|
<a-select-opt-group :label="nodeMap[nodeItem.node].name" v-for="nodeItem in nodeProjectGroupList" :key="nodeItem.node">
|
||||||
<a-select-option :label="`${project.name} - ${project.runMode}`" v-for="project in nodeItem.projects" :disabled="!noFileModes.includes(project.runMode)" :key="project.id">
|
<a-select-option :label="`${project.name} - ${project.runMode}`" v-for="project in nodeItem.projects" :disabled="!noFileModes.includes(project.runMode)" :key="project.id">
|
||||||
【{{ project.nodeName }}】{{ project.name }} - {{ project.runMode }}
|
【{{ project.nodeName }}】{{ project.name }} - {{ project.runMode }}
|
||||||
|
@ -5,44 +5,14 @@
|
|||||||
<a-table :data-source="list" size="middle" :columns="columns" :pagination="pagination" bordered :rowKey="(record, index) => index" @change="change">
|
<a-table :data-source="list" size="middle" :columns="columns" :pagination="pagination" bordered :rowKey="(record, index) => index" @change="change">
|
||||||
<template slot="title">
|
<template slot="title">
|
||||||
<a-space>
|
<a-space>
|
||||||
<a-select
|
<a-select v-model="listQuery.nodeId" allowClear placeholder="请选择节点" class="search-input-item">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
v-model="listQuery.nodeId"
|
|
||||||
allowClear
|
|
||||||
placeholder="请选择节点"
|
|
||||||
class="search-input-item"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="(nodeName, key) in nodeMap" :key="key">{{ nodeName }}</a-select-option>
|
<a-select-option v-for="(nodeName, key) in nodeMap" :key="key">{{ nodeName }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
<a-select
|
<a-select v-model="listQuery.status" allowClear placeholder="报警状态" class="search-input-item">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
v-model="listQuery.status"
|
|
||||||
allowClear
|
|
||||||
placeholder="报警状态"
|
|
||||||
class="search-input-item"
|
|
||||||
>
|
|
||||||
<a-select-option :value="1">正常</a-select-option>
|
<a-select-option :value="1">正常</a-select-option>
|
||||||
<a-select-option :value="0">异常</a-select-option>
|
<a-select-option :value="0">异常</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
<a-select
|
<a-select v-model="listQuery.notifyStatus" allowClear placeholder="通知状态" class="search-input-item">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
v-model="listQuery.notifyStatus"
|
|
||||||
allowClear
|
|
||||||
placeholder="通知状态"
|
|
||||||
class="search-input-item"
|
|
||||||
>
|
|
||||||
<a-select-option :value="1">成功</a-select-option>
|
<a-select-option :value="1">成功</a-select-option>
|
||||||
<a-select-option :value="0">失败</a-select-option>
|
<a-select-option :value="0">失败</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
@ -80,10 +50,10 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import {getMonitorLogList, notifyStyle} from "@/api/monitor";
|
import { getMonitorLogList, notifyStyle } from "@/api/monitor";
|
||||||
import {getNodeListAll} from "@/api/node";
|
import { getNodeListAll } from "@/api/node";
|
||||||
import {parseTime} from "@/utils/time";
|
import { parseTime } from "@/utils/time";
|
||||||
import {CHANGE_PAGE, COMPUTED_PAGINATION, PAGE_DEFAULT_LIST_QUERY} from "@/utils/const";
|
import { CHANGE_PAGE, COMPUTED_PAGINATION, PAGE_DEFAULT_LIST_QUERY } from "@/utils/const";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
|
@ -5,17 +5,7 @@
|
|||||||
<template slot="title">
|
<template slot="title">
|
||||||
<a-space>
|
<a-space>
|
||||||
<a-input v-model="listQuery['%name%']" @pressEnter="loadData" placeholder="监控名称" class="search-input-item" />
|
<a-input v-model="listQuery['%name%']" @pressEnter="loadData" placeholder="监控名称" class="search-input-item" />
|
||||||
<a-select
|
<a-select v-model="listQuery.status" allowClear placeholder="开启状态" class="search-input-item">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
v-model="listQuery.status"
|
|
||||||
allowClear
|
|
||||||
placeholder="开启状态"
|
|
||||||
class="search-input-item"
|
|
||||||
>
|
|
||||||
<a-select-option :value="1">开启</a-select-option>
|
<a-select-option :value="1">开启</a-select-option>
|
||||||
<a-select-option :value="0">关闭</a-select-option>
|
<a-select-option :value="0">关闭</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
|
@ -8,19 +8,7 @@
|
|||||||
<a-input v-model="listQuery['%id%']" @pressEnter="loadData" placeholder="节点ID" />
|
<a-input v-model="listQuery['%id%']" @pressEnter="loadData" placeholder="节点ID" />
|
||||||
<a-input v-model="listQuery['%name%']" @pressEnter="loadData" placeholder="节点名称" />
|
<a-input v-model="listQuery['%name%']" @pressEnter="loadData" placeholder="节点名称" />
|
||||||
<a-input v-model="listQuery['%url%']" @pressEnter="loadData" placeholder="节点地址" />
|
<a-input v-model="listQuery['%url%']" @pressEnter="loadData" placeholder="节点地址" />
|
||||||
<a-select
|
<a-select show-search option-filter-prop="children" v-model="listQuery.group" allowClear placeholder="分组" class="search-input-item">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
show-search
|
|
||||||
option-filter-prop="children"
|
|
||||||
v-model="listQuery.group"
|
|
||||||
allowClear
|
|
||||||
placeholder="分组"
|
|
||||||
class="search-input-item"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="item in groupList" :key="item">{{ item }}</a-select-option>
|
<a-select-option v-for="item in groupList" :key="item">{{ item }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
<a-tooltip title="按住 Ctr 或者 Alt/Option 键点击按钮快速回到第一页">
|
<a-tooltip title="按住 Ctr 或者 Alt/Option 键点击按钮快速回到第一页">
|
||||||
@ -329,17 +317,7 @@
|
|||||||
<a-modal v-model="unlockNode" title="解锁节点" @ok="handleUnLockNodeOk" :maskClosable="false">
|
<a-modal v-model="unlockNode" title="解锁节点" @ok="handleUnLockNodeOk" :maskClosable="false">
|
||||||
<a-form-model :model="temp" :label-col="{ span: 6 }" :wrapper-col="{ span: 14 }">
|
<a-form-model :model="temp" :label-col="{ span: 6 }" :wrapper-col="{ span: 14 }">
|
||||||
<a-form-model-item label="绑定工作空间" prop="workspaceId">
|
<a-form-model-item label="绑定工作空间" prop="workspaceId">
|
||||||
<a-select
|
<a-select show-search option-filter-prop="children" v-model="temp.workspaceId" placeholder="请选择工作空间">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
show-search
|
|
||||||
option-filter-prop="children"
|
|
||||||
v-model="temp.workspaceId"
|
|
||||||
placeholder="请选择工作空间"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="item in workspaceList" :key="item.id">{{ item.name }}</a-select-option>
|
<a-select-option v-for="item in workspaceList" :key="item.id">{{ item.name }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
@ -469,17 +447,7 @@
|
|||||||
<a-form-model :model="temp" :label-col="{ span: 6 }" :wrapper-col="{ span: 14 }">
|
<a-form-model :model="temp" :label-col="{ span: 6 }" :wrapper-col="{ span: 14 }">
|
||||||
<a-form-model-item> </a-form-model-item>
|
<a-form-model-item> </a-form-model-item>
|
||||||
<a-form-model-item label="选择工作空间" prop="workspaceId">
|
<a-form-model-item label="选择工作空间" prop="workspaceId">
|
||||||
<a-select
|
<a-select show-search option-filter-prop="children" v-model="temp.workspaceId" placeholder="请选择工作空间">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
show-search
|
|
||||||
option-filter-prop="children"
|
|
||||||
v-model="temp.workspaceId"
|
|
||||||
placeholder="请选择工作空间"
|
|
||||||
>
|
|
||||||
<a-select-option :disabled="getWorkspaceId === item.id" v-for="item in workspaceList" :key="item.id">{{ item.name }}</a-select-option>
|
<a-select-option :disabled="getWorkspaceId === item.id" v-for="item in workspaceList" :key="item.id">{{ item.name }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
|
@ -36,16 +36,7 @@
|
|||||||
<a-input v-model="temp.name" placeholder="证书名称" />
|
<a-input v-model="temp.name" placeholder="证书名称" />
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
<a-form-model-item label="证书路径" prop="path">
|
<a-form-model-item label="证书路径" prop="path">
|
||||||
<a-select
|
<a-select v-model="temp.path" :disabled="temp.type === 'edit'" placeholder="请选择证书路径">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
v-model="temp.path"
|
|
||||||
:disabled="temp.type === 'edit'"
|
|
||||||
placeholder="请选择证书路径"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="element in whiteList" :key="element">{{ element }}</a-select-option>
|
<a-select-option v-for="element in whiteList" :key="element">{{ element }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
@ -74,8 +65,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import {deleteCert, downloadCert, editCert, getCertList, getCertWhiteList} from "../../../../api/node-nginx";
|
import { deleteCert, downloadCert, editCert, getCertList, getCertWhiteList } from "../../../../api/node-nginx";
|
||||||
import {parseTime} from "../../../../utils/time";
|
import { parseTime } from "../../../../utils/time";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
props: {
|
props: {
|
||||||
|
@ -5,19 +5,7 @@
|
|||||||
<template slot="title">
|
<template slot="title">
|
||||||
<a-space>
|
<a-space>
|
||||||
<a-input v-model="listQuery['%name%']" placeholder="名称" allowClear class="search-input-item" />
|
<a-input v-model="listQuery['%name%']" placeholder="名称" allowClear class="search-input-item" />
|
||||||
<a-select
|
<a-select show-search option-filter-prop="children" v-model="listQuery.triggerExecType" allowClear placeholder="触发类型" class="search-input-item">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
show-search
|
|
||||||
option-filter-prop="children"
|
|
||||||
v-model="listQuery.triggerExecType"
|
|
||||||
allowClear
|
|
||||||
placeholder="触发类型"
|
|
||||||
class="search-input-item"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="(val, key) in triggerExecTypeMap" :key="key">{{ val }}</a-select-option>
|
<a-select-option v-for="(val, key) in triggerExecTypeMap" :key="key">{{ val }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
<a-range-picker
|
<a-range-picker
|
||||||
|
@ -6,11 +6,7 @@
|
|||||||
|
|
|
|
||||||
|
|
||||||
<a-input-group compact style="width: 200px">
|
<a-input-group compact style="width: 200px">
|
||||||
<a-select :getPopupContainer="
|
<a-select v-model="logScroll">
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
" v-model="logScroll">
|
|
||||||
<a-select-option value="true"> 自动滚动 </a-select-option>
|
<a-select-option value="true"> 自动滚动 </a-select-option>
|
||||||
<a-select-option value="false"> 关闭滚动 </a-select-option>
|
<a-select-option value="false"> 关闭滚动 </a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
@ -30,8 +26,8 @@
|
|||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
// import { getProjectData, getProjectLogSize, downloadProjectLogFile, getLogBackList, downloadProjectLogBackFile, deleteProjectLogBackFile } from "@/api/node-project";
|
// import { getProjectData, getProjectLogSize, downloadProjectLogFile, getLogBackList, downloadProjectLogBackFile, deleteProjectLogBackFile } from "@/api/node-project";
|
||||||
import {mapGetters} from "vuex";
|
import { mapGetters } from "vuex";
|
||||||
import {getWebSocketUrl} from "@/utils/const";
|
import { getWebSocketUrl } from "@/utils/const";
|
||||||
import LogView from "@/components/logView";
|
import LogView from "@/components/logView";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
@ -15,11 +15,7 @@
|
|||||||
rowKey="id"
|
rowKey="id"
|
||||||
>
|
>
|
||||||
<template slot="title">
|
<template slot="title">
|
||||||
<!-- <a-select :getPopupContainer="
|
<!-- <a-select v-model="listQuery.group" allowClear placeholder="请选择分组" class="filter-item" @change="loadData">
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
" v-model="listQuery.group" allowClear placeholder="请选择分组" class="filter-item" @change="loadData">
|
|
||||||
<a-select-option v-for="group in groupList" :key="group">{{ group }}</a-select-option>
|
<a-select-option v-for="group in groupList" :key="group">{{ group }}</a-select-option>
|
||||||
</a-select> -->
|
</a-select> -->
|
||||||
<a-space>
|
<a-space>
|
||||||
@ -170,15 +166,7 @@
|
|||||||
<a-icon type="question-circle" theme="filled" />
|
<a-icon type="question-circle" theme="filled" />
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</template>
|
</template>
|
||||||
<a-select
|
<a-select v-model="temp.runMode" placeholder="请选择运行方式">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
v-model="temp.runMode"
|
|
||||||
placeholder="请选择运行方式"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="runMode in runModeList" :key="runMode">{{ runMode }}</a-select-option>
|
<a-select-option v-for="runMode in runModeList" :key="runMode">{{ runMode }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
@ -268,15 +256,7 @@
|
|||||||
<a-icon type="question-circle" theme="filled" />
|
<a-icon type="question-circle" theme="filled" />
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</template>
|
</template>
|
||||||
<a-select
|
<a-select v-model="temp.logPath" placeholder="请选择项目白名单路径">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
v-model="temp.logPath"
|
|
||||||
placeholder="请选择项目白名单路径"
|
|
||||||
>
|
|
||||||
<a-select-option key="" value="">默认是在项目文件夹父级</a-select-option>
|
<a-select-option key="" value="">默认是在项目文件夹父级</a-select-option>
|
||||||
<a-select-option v-for="access in accessList" :key="access">{{ access }}</a-select-option>
|
<a-select-option v-for="access in accessList" :key="access">{{ access }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
@ -290,15 +270,7 @@
|
|||||||
<a-icon type="question-circle" theme="filled" />
|
<a-icon type="question-circle" theme="filled" />
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</template>
|
</template>
|
||||||
<a-select
|
<a-select v-model="temp.jdkId" placeholder="请选择 JDK">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
v-model="temp.jdkId"
|
|
||||||
placeholder="请选择 JDK"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="jdk in jdkList" :key="jdk.id">{{ jdk.name }}</a-select-option>
|
<a-select-option v-for="jdk in jdkList" :key="jdk.id">{{ jdk.name }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
|
@ -4,17 +4,7 @@
|
|||||||
<a-table :data-source="list" size="middle" :columns="columns" @change="changePage" :pagination="pagination" bordered rowKey="id">
|
<a-table :data-source="list" size="middle" :columns="columns" @change="changePage" :pagination="pagination" bordered rowKey="id">
|
||||||
<template slot="title">
|
<template slot="title">
|
||||||
<a-space>
|
<a-space>
|
||||||
<a-select
|
<a-select v-model="listQuery.nodeId" allowClear placeholder="请选择节点" class="search-input-item">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
v-model="listQuery.nodeId"
|
|
||||||
allowClear
|
|
||||||
placeholder="请选择节点"
|
|
||||||
class="search-input-item"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="(nodeName, key) in nodeMap" :key="key">{{ nodeName }}</a-select-option>
|
<a-select-option v-for="(nodeName, key) in nodeMap" :key="key">{{ nodeName }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
<a-input v-model="listQuery['%name%']" @pressEnter="loadData" placeholder="名称" allowClear class="search-input-item" />
|
<a-input v-model="listQuery['%name%']" @pressEnter="loadData" placeholder="名称" allowClear class="search-input-item" />
|
||||||
|
@ -4,32 +4,12 @@
|
|||||||
<a-table :data-source="projList" :columns="columns" size="middle" bordered :pagination="pagination" @change="changePage" :row-selection="rowSelection" :rowKey="(record, index) => index">
|
<a-table :data-source="projList" :columns="columns" size="middle" bordered :pagination="pagination" @change="changePage" :row-selection="rowSelection" :rowKey="(record, index) => index">
|
||||||
<template slot="title">
|
<template slot="title">
|
||||||
<a-space>
|
<a-space>
|
||||||
<a-select
|
<a-select v-model="listQuery.nodeId" allowClear placeholder="请选择节点" class="search-input-item">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
v-model="listQuery.nodeId"
|
|
||||||
allowClear
|
|
||||||
placeholder="请选择节点"
|
|
||||||
class="search-input-item"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="(nodeName, key) in nodeMap" :key="key">{{ nodeName }}</a-select-option>
|
<a-select-option v-for="(nodeName, key) in nodeMap" :key="key">{{ nodeName }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
<a-input v-model="listQuery['%name%']" @pressEnter="getNodeProjectData" placeholder="搜索项目" class="search-input-item" />
|
<a-input v-model="listQuery['%name%']" @pressEnter="getNodeProjectData" placeholder="搜索项目" class="search-input-item" />
|
||||||
|
|
||||||
<a-select
|
<a-select v-model="listQuery.runMode" allowClear placeholder="项目类型" class="search-input-item">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
v-model="listQuery.runMode"
|
|
||||||
allowClear
|
|
||||||
placeholder="项目类型"
|
|
||||||
class="search-input-item"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="item in runModeList" :key="item">{{ item }}</a-select-option>
|
<a-select-option v-for="item in runModeList" :key="item">{{ item }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
<a-tooltip title="按住 Ctr 或者 Alt/Option 键点击按钮快速回到第一页">
|
<a-tooltip title="按住 Ctr 或者 Alt/Option 键点击按钮快速回到第一页">
|
||||||
|
@ -8,17 +8,7 @@
|
|||||||
<a-space>
|
<a-space>
|
||||||
<a-input class="search-input-item" @pressEnter="loadData" v-model="listQuery['%name%']" placeholder="仓库名称" />
|
<a-input class="search-input-item" @pressEnter="loadData" v-model="listQuery['%name%']" placeholder="仓库名称" />
|
||||||
<a-input class="search-input-item" @pressEnter="loadData" v-model="listQuery['%gitUrl%']" placeholder="仓库地址" />
|
<a-input class="search-input-item" @pressEnter="loadData" v-model="listQuery['%gitUrl%']" placeholder="仓库地址" />
|
||||||
<a-select
|
<a-select v-model="listQuery.repoType" allowClear placeholder="仓库类型" class="search-input-item">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
v-model="listQuery.repoType"
|
|
||||||
allowClear
|
|
||||||
placeholder="仓库类型"
|
|
||||||
class="search-input-item"
|
|
||||||
>
|
|
||||||
<a-select-option :value="'0'">GIT</a-select-option>
|
<a-select-option :value="'0'">GIT</a-select-option>
|
||||||
<a-select-option :value="'1'">SVN</a-select-option>
|
<a-select-option :value="'1'">SVN</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
|
@ -116,18 +116,7 @@
|
|||||||
<a-icon type="question-circle" theme="filled" />
|
<a-icon type="question-circle" theme="filled" />
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</template>
|
</template>
|
||||||
<a-select
|
<a-select show-search option-filter-prop="children" placeholder="请选择分发到的节点" mode="multiple" v-model="temp.chooseNode">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
show-search
|
|
||||||
option-filter-prop="children"
|
|
||||||
placeholder="请选择分发到的节点"
|
|
||||||
mode="multiple"
|
|
||||||
v-model="temp.chooseNode"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="item in nodeList" :key="item.id" :value="item.id">
|
<a-select-option v-for="item in nodeList" :key="item.id" :value="item.id">
|
||||||
{{ item.name }}
|
{{ item.name }}
|
||||||
</a-select-option>
|
</a-select-option>
|
||||||
@ -153,17 +142,7 @@
|
|||||||
<a-form-model :model="temp" :label-col="{ span: 6 }" :wrapper-col="{ span: 14 }">
|
<a-form-model :model="temp" :label-col="{ span: 6 }" :wrapper-col="{ span: 14 }">
|
||||||
<a-form-model-item> </a-form-model-item>
|
<a-form-model-item> </a-form-model-item>
|
||||||
<a-form-model-item label="选择工作空间" prop="workspaceId">
|
<a-form-model-item label="选择工作空间" prop="workspaceId">
|
||||||
<a-select
|
<a-select show-search option-filter-prop="children" v-model="temp.workspaceId" placeholder="请选择工作空间">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
show-search
|
|
||||||
option-filter-prop="children"
|
|
||||||
v-model="temp.workspaceId"
|
|
||||||
placeholder="请选择工作空间"
|
|
||||||
>
|
|
||||||
<a-select-option :disabled="getWorkspaceId === item.id" v-for="item in workspaceList" :key="item.id">{{ item.name }}</a-select-option>
|
<a-select-option :disabled="getWorkspaceId === item.id" v-for="item in workspaceList" :key="item.id">{{ item.name }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
|
@ -5,19 +5,7 @@
|
|||||||
<template slot="title">
|
<template slot="title">
|
||||||
<a-space>
|
<a-space>
|
||||||
<a-input v-model="listQuery['%name%']" placeholder="名称" @pressEnter="loadData" allowClear class="search-input-item" />
|
<a-input v-model="listQuery['%name%']" placeholder="名称" @pressEnter="loadData" allowClear class="search-input-item" />
|
||||||
<a-select
|
<a-select show-search option-filter-prop="children" v-model="listQuery.triggerExecType" allowClear placeholder="触发类型" class="search-input-item">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
show-search
|
|
||||||
option-filter-prop="children"
|
|
||||||
v-model="listQuery.triggerExecType"
|
|
||||||
allowClear
|
|
||||||
placeholder="触发类型"
|
|
||||||
class="search-input-item"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="(val, key) in triggerExecTypeMap" :key="key">{{ val }}</a-select-option>
|
<a-select-option v-for="(val, key) in triggerExecTypeMap" :key="key">{{ val }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
<a-range-picker
|
<a-range-picker
|
||||||
@ -62,11 +50,11 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import {getScriptLogList, scriptDel, triggerExecTypeMap} from "@/api/server-script";
|
import { getScriptLogList, scriptDel, triggerExecTypeMap } from "@/api/server-script";
|
||||||
|
|
||||||
import ScriptLogView from "@/pages/script/script-log-view";
|
import ScriptLogView from "@/pages/script/script-log-view";
|
||||||
import {CHANGE_PAGE, COMPUTED_PAGINATION, PAGE_DEFAULT_LIST_QUERY} from "@/utils/const";
|
import { CHANGE_PAGE, COMPUTED_PAGINATION, PAGE_DEFAULT_LIST_QUERY } from "@/utils/const";
|
||||||
import {parseTime} from "@/utils/time";
|
import { parseTime } from "@/utils/time";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
|
@ -5,34 +5,10 @@
|
|||||||
<a-space>
|
<a-space>
|
||||||
<a-input v-model="listQuery['%commandName%']" @pressEnter="getCommandLogData" placeholder="搜索命令名称" class="search-input-item" />
|
<a-input v-model="listQuery['%commandName%']" @pressEnter="getCommandLogData" placeholder="搜索命令名称" class="search-input-item" />
|
||||||
<a-input v-model="listQuery['%sshName%']" @pressEnter="getCommandLogData" placeholder="搜索ssh名称" class="search-input-item" />
|
<a-input v-model="listQuery['%sshName%']" @pressEnter="getCommandLogData" placeholder="搜索ssh名称" class="search-input-item" />
|
||||||
<a-select
|
<a-select show-search option-filter-prop="children" v-model="listQuery.status" allowClear placeholder="状态" class="search-input-item">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
show-search
|
|
||||||
option-filter-prop="children"
|
|
||||||
v-model="listQuery.status"
|
|
||||||
allowClear
|
|
||||||
placeholder="状态"
|
|
||||||
class="search-input-item"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="(val, key) in statusMap" :key="key">{{ val }}</a-select-option>
|
<a-select-option v-for="(val, key) in statusMap" :key="key">{{ val }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
<a-select
|
<a-select show-search option-filter-prop="children" v-model="listQuery.triggerExecType" allowClear placeholder="触发类型" class="search-input-item">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
show-search
|
|
||||||
option-filter-prop="children"
|
|
||||||
v-model="listQuery.triggerExecType"
|
|
||||||
allowClear
|
|
||||||
placeholder="触发类型"
|
|
||||||
class="search-input-item"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="(val, key) in triggerExecTypeMap" :key="key">{{ val }}</a-select-option>
|
<a-select-option v-for="(val, key) in triggerExecTypeMap" :key="key">{{ val }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
<a-tooltip title="按住 Ctr 或者 Alt/Option 键点击按钮快速回到第一页">
|
<a-tooltip title="按住 Ctr 或者 Alt/Option 键点击按钮快速回到第一页">
|
||||||
@ -69,9 +45,9 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {deleteCommandLog, downloadLog, getCommandLogList, statusMap, triggerExecTypeMap} from "@/api/command";
|
import { deleteCommandLog, downloadLog, getCommandLogList, statusMap, triggerExecTypeMap } from "@/api/command";
|
||||||
import {CHANGE_PAGE, COMPUTED_PAGINATION, PAGE_DEFAULT_LIST_QUERY} from "@/utils/const";
|
import { CHANGE_PAGE, COMPUTED_PAGINATION, PAGE_DEFAULT_LIST_QUERY } from "@/utils/const";
|
||||||
import {parseTime} from "@/utils/time";
|
import { parseTime } from "@/utils/time";
|
||||||
import CommandLog from "./command-view-log";
|
import CommandLog from "./command-view-log";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
@ -75,18 +75,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
<a-form-model-item label="SSH节点">
|
<a-form-model-item label="SSH节点">
|
||||||
<a-select
|
<a-select show-search option-filter-prop="children" placeholder="请选择SSH节点" mode="multiple" v-model="chooseSsh">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
show-search
|
|
||||||
option-filter-prop="children"
|
|
||||||
placeholder="请选择SSH节点"
|
|
||||||
mode="multiple"
|
|
||||||
v-model="chooseSsh"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="item in sshList" :key="item.id" :value="item.id">
|
<a-select-option v-for="item in sshList" :key="item.id" :value="item.id">
|
||||||
{{ item.name }}
|
{{ item.name }}
|
||||||
</a-select-option>
|
</a-select-option>
|
||||||
@ -131,17 +120,7 @@
|
|||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
|
|
||||||
<a-form-model-item label="SSH节点" required>
|
<a-form-model-item label="SSH节点" required>
|
||||||
<a-select
|
<a-select show-search option-filter-prop="children" mode="multiple" v-model="chooseSsh">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
show-search
|
|
||||||
option-filter-prop="children"
|
|
||||||
mode="multiple"
|
|
||||||
v-model="chooseSsh"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="item in sshList" :key="item.id" :value="item.id">
|
<a-select-option v-for="item in sshList" :key="item.id" :value="item.id">
|
||||||
{{ item.name }}
|
{{ item.name }}
|
||||||
</a-select-option>
|
</a-select-option>
|
||||||
@ -180,17 +159,7 @@
|
|||||||
<a-form-model :model="temp" :label-col="{ span: 6 }" :wrapper-col="{ span: 14 }">
|
<a-form-model :model="temp" :label-col="{ span: 6 }" :wrapper-col="{ span: 14 }">
|
||||||
<a-form-model-item> </a-form-model-item>
|
<a-form-model-item> </a-form-model-item>
|
||||||
<a-form-model-item label="选择工作空间" prop="workspaceId">
|
<a-form-model-item label="选择工作空间" prop="workspaceId">
|
||||||
<a-select
|
<a-select show-search option-filter-prop="children" v-model="temp.workspaceId" placeholder="请选择工作空间">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
show-search
|
|
||||||
option-filter-prop="children"
|
|
||||||
v-model="temp.workspaceId"
|
|
||||||
placeholder="请选择工作空间"
|
|
||||||
>
|
|
||||||
<a-select-option :disabled="getWorkspaceId === item.id" v-for="item in workspaceList" :key="item.id">{{ item.name }}</a-select-option>
|
<a-select-option :disabled="getWorkspaceId === item.id" v-for="item in workspaceList" :key="item.id">{{ item.name }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
|
@ -390,17 +390,7 @@
|
|||||||
<a-form-model :model="temp" :label-col="{ span: 6 }" :wrapper-col="{ span: 14 }">
|
<a-form-model :model="temp" :label-col="{ span: 6 }" :wrapper-col="{ span: 14 }">
|
||||||
<a-form-model-item> </a-form-model-item>
|
<a-form-model-item> </a-form-model-item>
|
||||||
<a-form-model-item label="选择工作空间" prop="workspaceId">
|
<a-form-model-item label="选择工作空间" prop="workspaceId">
|
||||||
<a-select
|
<a-select show-search option-filter-prop="children" v-model="temp.workspaceId" placeholder="请选择工作空间">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
show-search
|
|
||||||
option-filter-prop="children"
|
|
||||||
v-model="temp.workspaceId"
|
|
||||||
placeholder="请选择工作空间"
|
|
||||||
>
|
|
||||||
<a-select-option :disabled="getWorkspaceId === item.id" v-for="item in workspaceList" :key="item.id">{{ item.name }}</a-select-option>
|
<a-select-option :disabled="getWorkspaceId === item.id" v-for="item in workspaceList" :key="item.id">{{ item.name }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
|
@ -6,17 +6,7 @@
|
|||||||
<a-space>
|
<a-space>
|
||||||
<a-input v-model="listQuery['%name%']" @pressEnter="loadData" placeholder="请输入备份名称" class="search-input-item" />
|
<a-input v-model="listQuery['%name%']" @pressEnter="loadData" placeholder="请输入备份名称" class="search-input-item" />
|
||||||
<a-input v-model="listQuery['%version%']" @pressEnter="loadData" placeholder="请输入版本" class="search-input-item" />
|
<a-input v-model="listQuery['%version%']" @pressEnter="loadData" placeholder="请输入版本" class="search-input-item" />
|
||||||
<a-select
|
<a-select v-model="listQuery.backupType" allowClear placeholder="请选择备份类型" class="search-input-item">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
v-model="listQuery.backupType"
|
|
||||||
allowClear
|
|
||||||
placeholder="请选择备份类型"
|
|
||||||
class="search-input-item"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="backupType in backupTypeList" :key="backupType.key">{{ backupType.value }}</a-select-option>
|
<a-select-option v-for="backupType in backupTypeList" :key="backupType.key">{{ backupType.value }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
<a-tooltip title="按住 Ctr 或者 Alt/Option 键点击按钮快速回到第一页">
|
<a-tooltip title="按住 Ctr 或者 Alt/Option 键点击按钮快速回到第一页">
|
||||||
@ -110,9 +100,9 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import {backupStatusMap, backupTypeArray, backupTypeMap, createBackup, deleteBackup, downloadBackupFile, getBackupList, getTableNameList, restoreBackup, uploadBackupFile} from "@/api/backup-info";
|
import { backupStatusMap, backupTypeArray, backupTypeMap, createBackup, deleteBackup, downloadBackupFile, getBackupList, getTableNameList, restoreBackup, uploadBackupFile } from "@/api/backup-info";
|
||||||
import {parseTime, renderSize} from "@/utils/time";
|
import { parseTime, renderSize } from "@/utils/time";
|
||||||
import {CHANGE_PAGE, COMPUTED_PAGINATION, PAGE_DEFAULT_LIST_QUERY} from "@/utils/const";
|
import { CHANGE_PAGE, COMPUTED_PAGINATION, PAGE_DEFAULT_LIST_QUERY } from "@/utils/const";
|
||||||
import Vue from "vue";
|
import Vue from "vue";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
@ -76,18 +76,7 @@
|
|||||||
<a-alert :message="`一键分发同步多个节点的白名单配置,不用挨个配置。配置后会覆盖之前的配置,一般用于节点环境一致的情况`" style="margin-top: 10px; margin-bottom: 20px" banner />
|
<a-alert :message="`一键分发同步多个节点的白名单配置,不用挨个配置。配置后会覆盖之前的配置,一般用于节点环境一致的情况`" style="margin-top: 10px; margin-bottom: 20px" banner />
|
||||||
<a-form-model ref="editWhiteForm" :model="tempWhite" :label-col="{ span: 6 }" :wrapper-col="{ span: 14 }">
|
<a-form-model ref="editWhiteForm" :model="tempWhite" :label-col="{ span: 6 }" :wrapper-col="{ span: 14 }">
|
||||||
<a-form-model-item label="分发节点">
|
<a-form-model-item label="分发节点">
|
||||||
<a-select
|
<a-select show-search option-filter-prop="children" placeholder="请选择分发到的节点" mode="multiple" v-model="tempWhite.chooseNode">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
show-search
|
|
||||||
option-filter-prop="children"
|
|
||||||
placeholder="请选择分发到的节点"
|
|
||||||
mode="multiple"
|
|
||||||
v-model="tempWhite.chooseNode"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="item in nodeList" :key="item.id" :value="item.id">
|
<a-select-option v-for="item in nodeList" :key="item.id" :value="item.id">
|
||||||
{{ item.name }}
|
{{ item.name }}
|
||||||
</a-select-option>
|
</a-select-option>
|
||||||
@ -347,9 +336,9 @@ import {
|
|||||||
systemInfo,
|
systemInfo,
|
||||||
} from "@/api/system";
|
} from "@/api/system";
|
||||||
import codeEditor from "@/components/codeEditor";
|
import codeEditor from "@/components/codeEditor";
|
||||||
import {RESTART_UPGRADE_WAIT_TIME_COUNT} from "@/utils/const";
|
import { RESTART_UPGRADE_WAIT_TIME_COUNT } from "@/utils/const";
|
||||||
import Vue from "vue";
|
import Vue from "vue";
|
||||||
import {getNodeListAll} from "@/api/node";
|
import { getNodeListAll } from "@/api/node";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
|
@ -78,18 +78,7 @@
|
|||||||
<a-icon type="question-circle" theme="filled" />
|
<a-icon type="question-circle" theme="filled" />
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</template>
|
</template>
|
||||||
<a-select
|
<a-select show-search option-filter-prop="children" placeholder="请选择分发到的节点" mode="multiple" v-model="envTemp.chooseNode">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
show-search
|
|
||||||
option-filter-prop="children"
|
|
||||||
placeholder="请选择分发到的节点"
|
|
||||||
mode="multiple"
|
|
||||||
v-model="envTemp.chooseNode"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="item in nodeList" :key="item.id" :value="item.id">
|
<a-select-option v-for="item in nodeList" :key="item.id" :value="item.id">
|
||||||
{{ item.name }}
|
{{ item.name }}
|
||||||
</a-select-option>
|
</a-select-option>
|
||||||
|
@ -4,64 +4,16 @@
|
|||||||
<a-table size="middle" :data-source="list" :columns="columns" :pagination="pagination" bordered :rowKey="(record, index) => index" @change="change">
|
<a-table size="middle" :data-source="list" :columns="columns" :pagination="pagination" bordered :rowKey="(record, index) => index" @change="change">
|
||||||
<template slot="title">
|
<template slot="title">
|
||||||
<a-space>
|
<a-space>
|
||||||
<a-select
|
<a-select show-search option-filter-prop="children" v-model="listQuery.userId" allowClear placeholder="请选择操作者" class="search-input-item">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
show-search
|
|
||||||
option-filter-prop="children"
|
|
||||||
v-model="listQuery.userId"
|
|
||||||
allowClear
|
|
||||||
placeholder="请选择操作者"
|
|
||||||
class="search-input-item"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="item in userList" :key="item.id">{{ item.name }}</a-select-option>
|
<a-select-option v-for="item in userList" :key="item.id">{{ item.name }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
<a-select
|
<a-select show-search option-filter-prop="children" v-model="listQuery.nodeId" allowClear placeholder="请选择节点" class="search-input-item">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
show-search
|
|
||||||
option-filter-prop="children"
|
|
||||||
v-model="listQuery.nodeId"
|
|
||||||
allowClear
|
|
||||||
placeholder="请选择节点"
|
|
||||||
class="search-input-item"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="node in nodeList" :key="node.id">{{ node.name }}</a-select-option>
|
<a-select-option v-for="node in nodeList" :key="node.id">{{ node.name }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
<a-select
|
<a-select show-search option-filter-prop="children" v-model="listQuery.classFeature" allowClear placeholder="操作功能" class="search-input-item">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
show-search
|
|
||||||
option-filter-prop="children"
|
|
||||||
v-model="listQuery.classFeature"
|
|
||||||
allowClear
|
|
||||||
placeholder="操作功能"
|
|
||||||
class="search-input-item"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="item in classFeature" :key="item.value">{{ item.title }}</a-select-option>
|
<a-select-option v-for="item in classFeature" :key="item.value">{{ item.title }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
<a-select
|
<a-select show-search option-filter-prop="children" v-model="listQuery.methodFeature" allowClear placeholder="操作方法" class="search-input-item">
|
||||||
:getPopupContainer="
|
|
||||||
(triggerNode) => {
|
|
||||||
return triggerNode.parentNode || document.body;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
show-search
|
|
||||||
option-filter-prop="children"
|
|
||||||
v-model="listQuery.methodFeature"
|
|
||||||
allowClear
|
|
||||||
placeholder="操作方法"
|
|
||||||
class="search-input-item"
|
|
||||||
>
|
|
||||||
<a-select-option v-for="item in methodFeature" :key="item.value">{{ item.title }}</a-select-option>
|
<a-select-option v-for="item in methodFeature" :key="item.value">{{ item.title }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
<a-range-picker class="search-input-item" :show-time="{ format: 'HH:mm:ss' }" format="YYYY-MM-DD HH:mm:ss" @change="onchangeTime" />
|
<a-range-picker class="search-input-item" :show-time="{ format: 'HH:mm:ss' }" format="YYYY-MM-DD HH:mm:ss" @change="onchangeTime" />
|
||||||
|
Loading…
Reference in New Issue
Block a user