fix 取消下拉组件 getPopupContainer 方法

This commit is contained in:
bwcx_jzy 2022-09-05 19:47:21 +08:00
parent ede782d240
commit ca2605768d
No known key found for this signature in database
GPG Key ID: 5E48E9372088B9E5
27 changed files with 89 additions and 687 deletions

View File

@ -5,39 +5,13 @@
<a-space>
<div>
皮肤
<a-select
: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 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>
</div>
<div>
语言
<a-select
: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 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>
</div>
@ -77,7 +51,7 @@
</template>
<script>
import {codemirror} from "vue-codemirror";
import { codemirror } from "vue-codemirror";
import "codemirror/lib/codemirror.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/selection/mark-selection.js";
import "codemirror/addon/search/match-highlighter.js";
import {JSHINT} from "jshint";
import { JSHINT } from "jshint";
window.JSHINT = JSHINT;

View File

@ -8,49 +8,13 @@
<a-table :data-source="list" size="middle" :columns="columns" :pagination="pagination" bordered rowKey="id" @change="change" :row-selection="rowSelection">
<template slot="title">
<a-space>
<a-select
: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 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>
<a-select
: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 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>
<a-select
: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 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>
<a-range-picker class="search-input-item" :show-time="{ format: 'HH:mm:ss' }" format="YYYY-MM-DD HH:mm:ss" @change="onchangeTime" />

View File

@ -7,49 +7,13 @@
<template slot="title">
<a-space>
<a-input allowClear class="search-input-item" @pressEnter="loadData" v-model="listQuery['%name%']" placeholder="构建名称" />
<a-select
: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 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>
<a-select
: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 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>
<a-select
: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 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>
<a-input allowClear class="search-input-item" @pressEnter="loadData" v-model="listQuery['%resultDirFile%']" placeholder="产物目录" />

View File

@ -6,31 +6,11 @@
<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['%name%']" placeholder="名称" />
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
v-model="listQuery.outGivingProject"
allowClear
placeholder="分发类型"
class="search-input-item"
>
<a-select v-model="listQuery.outGivingProject" allowClear placeholder="分发类型" class="search-input-item">
<a-select-option :value="1">独立</a-select-option>
<a-select-option :value="0">关联</a-select-option>
</a-select>
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
v-model="listQuery.status"
allowClear
placeholder="请选择状态"
class="search-input-item"
>
<a-select 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>
<a-tooltip title="按住 Ctr 或者 Alt/Option 键点击按钮快速回到第一页">
@ -212,15 +192,7 @@
<a-button type="primary" @click="addDispachList">添加</a-button>
</a-form-model-item>
<a-form-model-item label="分发后操作" prop="afterOpt">
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
v-model="temp.afterOpt"
placeholder="请选择发布后操作"
>
<a-select v-model="temp.afterOpt" placeholder="请选择发布后操作">
<a-select-option v-for="item in afterOptList" :key="item.value">{{ item.title }}</a-select-option>
</a-select>
</a-form-model-item>
@ -283,15 +255,7 @@
<a-icon type="question-circle" theme="filled" />
</a-tooltip>
</template>
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
v-model="temp.runMode"
placeholder="请选择运行方式"
>
<a-select v-model="temp.runMode" placeholder="请选择运行方式">
<a-select-option v-for="runMode in runModeList" :key="runMode">{{ runMode }}</a-select-option>
</a-select>
</a-form-model-item>
@ -382,15 +346,7 @@
<a-icon type="question-circle" theme="filled" />
</a-tooltip>
</template>
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
v-model="temp.logPath"
placeholder="请选择日志目录"
>
<a-select v-model="temp.logPath" placeholder="请选择日志目录">
<a-select-option key="" value="">默认是在项目文件夹父级</a-select-option>
<a-select-option v-for="access in accessList" :key="access">{{ access }}</a-select-option>
</a-select>
@ -402,15 +358,7 @@
<a-input v-model="temp.javaExtDirsCp" placeholder="-Dext.dirs=xxx: -cp xx 填写【xxx:xx】" />
</a-form-model-item>
<a-form-model-item label="分发后操作" prop="afterOpt">
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
v-model="temp.afterOpt"
placeholder="请选择发布后操作"
>
<a-select v-model="temp.afterOpt" placeholder="请选择发布后操作">
<a-select-option v-for="item in afterOptList" :key="item.value">{{ item.title }}</a-select-option>
</a-select>
</a-form-model-item>
@ -439,16 +387,7 @@
</a-form-model-item>
<!-- 节点 -->
<a-form-model-item label="分发节点" prop="nodeId">
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
v-model="temp.nodeIdList"
mode="multiple"
placeholder="请选择分发节点"
>
<a-select 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>
</a-form-model-item>
@ -580,15 +519,7 @@
<a-switch v-model="temp.autoUnzip" checked-children="" un-checked-children="" />
</a-form-model-item>
<a-form-model-item label="分发后操作" prop="afterOpt">
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
v-model="temp.afterOpt"
placeholder="请选择发布后操作"
>
<a-select v-model="temp.afterOpt" placeholder="请选择发布后操作">
<a-select-option v-for="item in afterOptList" :key="item.value">{{ item.title }}</a-select-option>
</a-select>
</a-form-model-item>
@ -622,10 +553,10 @@ import {
unbindOutgiving,
uploadDispatchFile,
} from "@/api/dispatch";
import {getNodeListAll, getProjectListAll} from "@/api/node";
import {getProjectData, javaModes, noFileModes, runModeList} from "@/api/node-project";
import {itemGroupBy, parseTime} from "@/utils/time";
import {CHANGE_PAGE, COMPUTED_PAGINATION, PAGE_DEFAULT_LIST_QUERY, PROJECT_DSL_DEFATUL} from "@/utils/const";
import { getNodeListAll, getProjectListAll } from "@/api/node";
import { getProjectData, javaModes, noFileModes, runModeList } from "@/api/node-project";
import { itemGroupBy, parseTime } from "@/utils/time";
import { CHANGE_PAGE, COMPUTED_PAGINATION, PAGE_DEFAULT_LIST_QUERY, PROJECT_DSL_DEFATUL } from "@/utils/const";
export default {
components: {

View File

@ -7,43 +7,13 @@
<a-table size="middle" :data-source="list" :columns="columns" :pagination="pagination" @change="changePage" bordered :rowKey="(record, index) => index">
<template slot="title">
<a-space>
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
v-model="listQuery.nodeId"
allowClear
placeholder="请选择节点"
class="search-input-item"
>
<a-select 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>
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
v-model="listQuery.outGivingId"
allowClear
placeholder="分发项目"
class="search-input-item"
>
<a-select 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>
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
v-model="listQuery.status"
allowClear
placeholder="请选择状态"
class="search-input-item"
>
<a-select 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>
<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>
</template>
<script>
import {getNodeListAll} from "@/api/node";
import {dispatchStatusMap, getDishPatchListAll, getDishPatchLogList} from "@/api/dispatch";
import {parseTime} from "@/utils/time";
import { getNodeListAll } from "@/api/node";
import { dispatchStatusMap, getDishPatchListAll, getDishPatchLogList } from "@/api/dispatch";
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 {
data() {

View File

@ -105,11 +105,7 @@
</a-form-model-item>
<!-- <a-form-model-item label="接口版本" prop="apiVersion">
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
" show-search option-filter-prop="children" v-model="temp.apiVersion" allowClear placeholder="接口版本">
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>
</a-form-model-item> -->

View File

@ -5,19 +5,7 @@
<a-space>
<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-select
: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 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="manager">管理节点</a-select-option>
</a-select>
@ -136,7 +124,7 @@
</template>
<script>
import {dockerSwarmNodeLeave, dockerSwarmNodeList, dockerSwarmNodeUpdate} from "@/api/docker-swarm";
import { dockerSwarmNodeLeave, dockerSwarmNodeList, dockerSwarmNodeUpdate } from "@/api/docker-swarm";
export default {
components: {},

View File

@ -5,45 +5,15 @@
<template slot="title">
<a-space>
<a-input v-model="listQuery['%name%']" @pressEnter="loadData" placeholder="监控名称" class="search-input-item" />
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
v-model="listQuery.status"
allowClear
placeholder="开启状态"
class="search-input-item"
>
<a-select v-model="listQuery.status" allowClear placeholder="开启状态" class="search-input-item">
<a-select-option :value="1">开启</a-select-option>
<a-select-option :value="0">关闭</a-select-option>
</a-select>
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
v-model="listQuery.autoRestart"
allowClear
placeholder="自动重启"
class="search-input-item"
>
<a-select v-model="listQuery.autoRestart" allowClear placeholder="自动重启" class="search-input-item">
<a-select-option :value="1"></a-select-option>
<a-select-option :value="0"></a-select-option>
</a-select>
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
v-model="listQuery.alarm"
allowClear
placeholder="报警状态"
class="search-input-item"
>
<a-select v-model="listQuery.alarm" allowClear placeholder="报警状态" class="search-input-item">
<a-select-option :value="1">报警中</a-select-option>
<a-select-option :value="0">未报警</a-select-option>
</a-select>
@ -112,19 +82,7 @@
</a-auto-complete>
</a-form-model-item>
<a-form-model-item label="监控项目" prop="projects">
<a-select
: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 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-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 }}

View File

@ -5,44 +5,14 @@
<a-table :data-source="list" size="middle" :columns="columns" :pagination="pagination" bordered :rowKey="(record, index) => index" @change="change">
<template slot="title">
<a-space>
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
v-model="listQuery.nodeId"
allowClear
placeholder="请选择节点"
class="search-input-item"
>
<a-select 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>
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
v-model="listQuery.status"
allowClear
placeholder="报警状态"
class="search-input-item"
>
<a-select v-model="listQuery.status" allowClear placeholder="报警状态" class="search-input-item">
<a-select-option :value="1">正常</a-select-option>
<a-select-option :value="0">异常</a-select-option>
</a-select>
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
v-model="listQuery.notifyStatus"
allowClear
placeholder="通知状态"
class="search-input-item"
>
<a-select v-model="listQuery.notifyStatus" allowClear placeholder="通知状态" class="search-input-item">
<a-select-option :value="1">成功</a-select-option>
<a-select-option :value="0">失败</a-select-option>
</a-select>
@ -80,10 +50,10 @@
</div>
</template>
<script>
import {getMonitorLogList, notifyStyle} from "@/api/monitor";
import {getNodeListAll} from "@/api/node";
import {parseTime} from "@/utils/time";
import {CHANGE_PAGE, COMPUTED_PAGINATION, PAGE_DEFAULT_LIST_QUERY} from "@/utils/const";
import { getMonitorLogList, notifyStyle } from "@/api/monitor";
import { getNodeListAll } from "@/api/node";
import { parseTime } from "@/utils/time";
import { CHANGE_PAGE, COMPUTED_PAGINATION, PAGE_DEFAULT_LIST_QUERY } from "@/utils/const";
export default {
data() {

View File

@ -5,17 +5,7 @@
<template slot="title">
<a-space>
<a-input v-model="listQuery['%name%']" @pressEnter="loadData" placeholder="监控名称" class="search-input-item" />
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
v-model="listQuery.status"
allowClear
placeholder="开启状态"
class="search-input-item"
>
<a-select v-model="listQuery.status" allowClear placeholder="开启状态" class="search-input-item">
<a-select-option :value="1">开启</a-select-option>
<a-select-option :value="0">关闭</a-select-option>
</a-select>

View File

@ -8,19 +8,7 @@
<a-input v-model="listQuery['%id%']" @pressEnter="loadData" placeholder="节点ID" />
<a-input v-model="listQuery['%name%']" @pressEnter="loadData" placeholder="节点名称" />
<a-input v-model="listQuery['%url%']" @pressEnter="loadData" placeholder="节点地址" />
<a-select
: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 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>
<a-tooltip title="按住 Ctr 或者 Alt/Option 键点击按钮快速回到第一页">
@ -329,17 +317,7 @@
<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-item label="绑定工作空间" prop="workspaceId">
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
show-search
option-filter-prop="children"
v-model="temp.workspaceId"
placeholder="请选择工作空间"
>
<a-select 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>
</a-form-model-item>
@ -469,17 +447,7 @@
<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 label="选择工作空间" prop="workspaceId">
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
show-search
option-filter-prop="children"
v-model="temp.workspaceId"
placeholder="请选择工作空间"
>
<a-select 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>
</a-form-model-item>

View File

@ -36,16 +36,7 @@
<a-input v-model="temp.name" placeholder="证书名称" />
</a-form-model-item>
<a-form-model-item label="证书路径" prop="path">
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
v-model="temp.path"
:disabled="temp.type === 'edit'"
placeholder="请选择证书路径"
>
<a-select 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>
</a-form-model-item>
@ -74,8 +65,8 @@
</div>
</template>
<script>
import {deleteCert, downloadCert, editCert, getCertList, getCertWhiteList} from "../../../../api/node-nginx";
import {parseTime} from "../../../../utils/time";
import { deleteCert, downloadCert, editCert, getCertList, getCertWhiteList } from "../../../../api/node-nginx";
import { parseTime } from "../../../../utils/time";
export default {
props: {

View File

@ -5,19 +5,7 @@
<template slot="title">
<a-space>
<a-input v-model="listQuery['%name%']" placeholder="名称" allowClear class="search-input-item" />
<a-select
: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 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>
<a-range-picker

View File

@ -6,11 +6,7 @@
|
<a-input-group compact style="width: 200px">
<a-select :getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
" v-model="logScroll">
<a-select v-model="logScroll">
<a-select-option value="true"> 自动滚动 </a-select-option>
<a-select-option value="false"> 关闭滚动 </a-select-option>
</a-select>
@ -30,8 +26,8 @@
</template>
<script>
// import { getProjectData, getProjectLogSize, downloadProjectLogFile, getLogBackList, downloadProjectLogBackFile, deleteProjectLogBackFile } from "@/api/node-project";
import {mapGetters} from "vuex";
import {getWebSocketUrl} from "@/utils/const";
import { mapGetters } from "vuex";
import { getWebSocketUrl } from "@/utils/const";
import LogView from "@/components/logView";
export default {

View File

@ -15,11 +15,7 @@
rowKey="id"
>
<template slot="title">
<!-- <a-select :getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
" v-model="listQuery.group" allowClear placeholder="请选择分组" class="filter-item" @change="loadData">
<!-- <a-select 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> -->
<a-space>
@ -170,15 +166,7 @@
<a-icon type="question-circle" theme="filled" />
</a-tooltip>
</template>
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
v-model="temp.runMode"
placeholder="请选择运行方式"
>
<a-select v-model="temp.runMode" placeholder="请选择运行方式">
<a-select-option v-for="runMode in runModeList" :key="runMode">{{ runMode }}</a-select-option>
</a-select>
</a-form-model-item>
@ -268,15 +256,7 @@
<a-icon type="question-circle" theme="filled" />
</a-tooltip>
</template>
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
v-model="temp.logPath"
placeholder="请选择项目白名单路径"
>
<a-select v-model="temp.logPath" placeholder="请选择项目白名单路径">
<a-select-option key="" value="">默认是在项目文件夹父级</a-select-option>
<a-select-option v-for="access in accessList" :key="access">{{ access }}</a-select-option>
</a-select>
@ -290,15 +270,7 @@
<a-icon type="question-circle" theme="filled" />
</a-tooltip>
</template>
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
v-model="temp.jdkId"
placeholder="请选择 JDK"
>
<a-select v-model="temp.jdkId" placeholder="请选择 JDK">
<a-select-option v-for="jdk in jdkList" :key="jdk.id">{{ jdk.name }}</a-select-option>
</a-select>
</a-form-model-item>

View File

@ -4,17 +4,7 @@
<a-table :data-source="list" size="middle" :columns="columns" @change="changePage" :pagination="pagination" bordered rowKey="id">
<template slot="title">
<a-space>
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
v-model="listQuery.nodeId"
allowClear
placeholder="请选择节点"
class="search-input-item"
>
<a-select 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>
<a-input v-model="listQuery['%name%']" @pressEnter="loadData" placeholder="名称" allowClear class="search-input-item" />

View File

@ -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">
<template slot="title">
<a-space>
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
v-model="listQuery.nodeId"
allowClear
placeholder="请选择节点"
class="search-input-item"
>
<a-select 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>
<a-input v-model="listQuery['%name%']" @pressEnter="getNodeProjectData" placeholder="搜索项目" class="search-input-item" />
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
v-model="listQuery.runMode"
allowClear
placeholder="项目类型"
class="search-input-item"
>
<a-select 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>
<a-tooltip title="按住 Ctr 或者 Alt/Option 键点击按钮快速回到第一页">

View File

@ -8,17 +8,7 @@
<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['%gitUrl%']" placeholder="仓库地址" />
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
v-model="listQuery.repoType"
allowClear
placeholder="仓库类型"
class="search-input-item"
>
<a-select v-model="listQuery.repoType" allowClear placeholder="仓库类型" class="search-input-item">
<a-select-option :value="'0'">GIT</a-select-option>
<a-select-option :value="'1'">SVN</a-select-option>
</a-select>

View File

@ -116,18 +116,7 @@
<a-icon type="question-circle" theme="filled" />
</a-tooltip>
</template>
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
show-search
option-filter-prop="children"
placeholder="请选择分发到的节点"
mode="multiple"
v-model="temp.chooseNode"
>
<a-select 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">
{{ item.name }}
</a-select-option>
@ -153,17 +142,7 @@
<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 label="选择工作空间" prop="workspaceId">
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
show-search
option-filter-prop="children"
v-model="temp.workspaceId"
placeholder="请选择工作空间"
>
<a-select 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>
</a-form-model-item>

View File

@ -5,19 +5,7 @@
<template slot="title">
<a-space>
<a-input v-model="listQuery['%name%']" placeholder="名称" @pressEnter="loadData" allowClear class="search-input-item" />
<a-select
: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 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>
<a-range-picker
@ -62,11 +50,11 @@
</div>
</template>
<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 {CHANGE_PAGE, COMPUTED_PAGINATION, PAGE_DEFAULT_LIST_QUERY} from "@/utils/const";
import {parseTime} from "@/utils/time";
import { CHANGE_PAGE, COMPUTED_PAGINATION, PAGE_DEFAULT_LIST_QUERY } from "@/utils/const";
import { parseTime } from "@/utils/time";
export default {
components: {

View File

@ -5,34 +5,10 @@
<a-space>
<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-select
: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 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>
<a-select
: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 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>
<a-tooltip title="按住 Ctr 或者 Alt/Option 键点击按钮快速回到第一页">
@ -69,9 +45,9 @@
</template>
<script>
import {deleteCommandLog, downloadLog, getCommandLogList, statusMap, triggerExecTypeMap} from "@/api/command";
import {CHANGE_PAGE, COMPUTED_PAGINATION, PAGE_DEFAULT_LIST_QUERY} from "@/utils/const";
import {parseTime} from "@/utils/time";
import { deleteCommandLog, downloadLog, getCommandLogList, statusMap, triggerExecTypeMap } from "@/api/command";
import { CHANGE_PAGE, COMPUTED_PAGINATION, PAGE_DEFAULT_LIST_QUERY } from "@/utils/const";
import { parseTime } from "@/utils/time";
import CommandLog from "./command-view-log";
export default {

View File

@ -75,18 +75,7 @@
</div>
</a-form-model-item>
<a-form-model-item label="SSH节点">
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
show-search
option-filter-prop="children"
placeholder="请选择SSH节点"
mode="multiple"
v-model="chooseSsh"
>
<a-select 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">
{{ item.name }}
</a-select-option>
@ -131,17 +120,7 @@
</a-form-model-item>
<a-form-model-item label="SSH节点" required>
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
show-search
option-filter-prop="children"
mode="multiple"
v-model="chooseSsh"
>
<a-select 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">
{{ item.name }}
</a-select-option>
@ -180,17 +159,7 @@
<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 label="选择工作空间" prop="workspaceId">
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
show-search
option-filter-prop="children"
v-model="temp.workspaceId"
placeholder="请选择工作空间"
>
<a-select 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>
</a-form-model-item>

View File

@ -390,17 +390,7 @@
<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 label="选择工作空间" prop="workspaceId">
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
show-search
option-filter-prop="children"
v-model="temp.workspaceId"
placeholder="请选择工作空间"
>
<a-select 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>
</a-form-model-item>

View File

@ -6,17 +6,7 @@
<a-space>
<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-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
v-model="listQuery.backupType"
allowClear
placeholder="请选择备份类型"
class="search-input-item"
>
<a-select 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>
<a-tooltip title="按住 Ctr 或者 Alt/Option 键点击按钮快速回到第一页">
@ -110,9 +100,9 @@
</div>
</template>
<script>
import {backupStatusMap, backupTypeArray, backupTypeMap, createBackup, deleteBackup, downloadBackupFile, getBackupList, getTableNameList, restoreBackup, uploadBackupFile} from "@/api/backup-info";
import {parseTime, renderSize} from "@/utils/time";
import {CHANGE_PAGE, COMPUTED_PAGINATION, PAGE_DEFAULT_LIST_QUERY} from "@/utils/const";
import { backupStatusMap, backupTypeArray, backupTypeMap, createBackup, deleteBackup, downloadBackupFile, getBackupList, getTableNameList, restoreBackup, uploadBackupFile } from "@/api/backup-info";
import { parseTime, renderSize } from "@/utils/time";
import { CHANGE_PAGE, COMPUTED_PAGINATION, PAGE_DEFAULT_LIST_QUERY } from "@/utils/const";
import Vue from "vue";
export default {

View File

@ -76,18 +76,7 @@
<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-item label="分发节点">
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
show-search
option-filter-prop="children"
placeholder="请选择分发到的节点"
mode="multiple"
v-model="tempWhite.chooseNode"
>
<a-select 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">
{{ item.name }}
</a-select-option>
@ -347,9 +336,9 @@ import {
systemInfo,
} from "@/api/system";
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 {getNodeListAll} from "@/api/node";
import { getNodeListAll } from "@/api/node";
export default {
components: {

View File

@ -78,18 +78,7 @@
<a-icon type="question-circle" theme="filled" />
</a-tooltip>
</template>
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
show-search
option-filter-prop="children"
placeholder="请选择分发到的节点"
mode="multiple"
v-model="envTemp.chooseNode"
>
<a-select 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">
{{ item.name }}
</a-select-option>

View File

@ -4,64 +4,16 @@
<a-table size="middle" :data-source="list" :columns="columns" :pagination="pagination" bordered :rowKey="(record, index) => index" @change="change">
<template slot="title">
<a-space>
<a-select
: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 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>
<a-select
: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 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>
<a-select
: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 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>
<a-select
: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 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>
<a-range-picker class="search-input-item" :show-time="{ format: 'HH:mm:ss' }" format="YYYY-MM-DD HH:mm:ss" @change="onchangeTime" />