mirror of
https://gitee.com/dromara/Jpom.git
synced 2024-11-30 19:08:18 +08:00
feat(fix) 修改后分发后 并发重启 描述改为 并发执行
This commit is contained in:
parent
cecd6a4a68
commit
c454f07d0f
@ -14,6 +14,7 @@
|
|||||||
2. 【server】 在线构建-构建列表中,选择构建命令时新增多环境下打包的命令
|
2. 【server】 在线构建-构建列表中,选择构建命令时新增多环境下打包的命令
|
||||||
3. 【server】 在线构建-构建列表中,选择构建命令时提供不同的跳过执行测试类的方式
|
3. 【server】 在线构建-构建列表中,选择构建命令时提供不同的跳过执行测试类的方式
|
||||||
4. 【server】 编辑用户工作空间权限判断没有选择父级的空权限
|
4. 【server】 编辑用户工作空间权限判断没有选择父级的空权限
|
||||||
|
5. 【server】 修改后分发后 **并发重启** 描述改为 **并发执行**
|
||||||
|
|
||||||
------
|
------
|
||||||
|
|
||||||
|
@ -196,9 +196,9 @@ export function editDispatchWhiteList(params) {
|
|||||||
|
|
||||||
export const afterOptList = [
|
export const afterOptList = [
|
||||||
{ title: "不做任何操作", value: 0 },
|
{ title: "不做任何操作", value: 0 },
|
||||||
{ title: "并发重启", value: 1 },
|
{ title: "并发执行", value: 1 },
|
||||||
{ title: "完整顺序重启(有重启失败将结束本次)", value: 2 },
|
{ title: "完整顺序执行(有执行失败将结束本次)", value: 2 },
|
||||||
{ title: "顺序重启(有重启失败将继续)", value: 3 },
|
{ title: "顺序执行(有执行失败将继续)", value: 3 },
|
||||||
];
|
];
|
||||||
|
|
||||||
export const dispatchStatusMap = {
|
export const dispatchStatusMap = {
|
||||||
|
@ -659,7 +659,7 @@ export default {
|
|||||||
editBuildVisible: false,
|
editBuildVisible: false,
|
||||||
triggerVisible: false,
|
triggerVisible: false,
|
||||||
buildLogVisible: false,
|
buildLogVisible: false,
|
||||||
afterOptList: afterOptList,
|
afterOptList,
|
||||||
buildConfirmVisible: false,
|
buildConfirmVisible: false,
|
||||||
columns: [
|
columns: [
|
||||||
{ title: "名称", dataIndex: "name", sorter: true, ellipsis: true, scopedSlots: { customRender: "name" } },
|
{ title: "名称", dataIndex: "name", sorter: true, ellipsis: true, scopedSlots: { customRender: "name" } },
|
||||||
|
@ -47,20 +47,46 @@
|
|||||||
<a-tooltip slot="name" slot-scope="text" placement="topLeft" :title="text">
|
<a-tooltip slot="name" slot-scope="text" placement="topLeft" :title="text">
|
||||||
<span>{{ text }}</span>
|
<span>{{ text }}</span>
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
<a-tooltip slot="status" slot-scope="text" placement="topLeft" :title="text">
|
<a-tooltip slot="status" slot-scope="text" placement="topLeft" :title="statusMap[text]">
|
||||||
<span>{{ statusMap[text] }}</span>
|
<span>{{ statusMap[text] }}</span>
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
|
|
||||||
|
<a-tooltip slot="clearOld" slot-scope="text"> <a-switch size="small" checked-children="是" un-checked-children="否" disabled :checked="text" /></a-tooltip>
|
||||||
|
|
||||||
|
<a-tooltip
|
||||||
|
slot-scope="text"
|
||||||
|
slot="afterOpt"
|
||||||
|
:title="
|
||||||
|
afterOptList.filter((item) => {
|
||||||
|
return item.value === text;
|
||||||
|
}).length &&
|
||||||
|
afterOptList.filter((item) => {
|
||||||
|
return item.value === text;
|
||||||
|
})[0].title
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<span>{{
|
||||||
|
afterOptList.filter((item) => {
|
||||||
|
return item.value === text;
|
||||||
|
}).length &&
|
||||||
|
afterOptList.filter((item) => {
|
||||||
|
return item.value === text;
|
||||||
|
})[0].title
|
||||||
|
}}</span>
|
||||||
|
</a-tooltip>
|
||||||
|
|
||||||
<template slot="outGivingProject" slot-scope="text">
|
<template slot="outGivingProject" slot-scope="text">
|
||||||
<span v-if="text">独立</span>
|
<span v-if="text">独立</span>
|
||||||
<span v-else>关联</span>
|
<span v-else>关联</span>
|
||||||
</template>
|
</template>
|
||||||
<template slot="operation" slot-scope="text, record">
|
<template slot="operation" slot-scope="text, record">
|
||||||
<a-space>
|
<a-space>
|
||||||
<a-button type="primary" v-if="list_expanded[record.id]" @click="handleReload(record)">刷新</a-button>
|
<a-button size="small" type="primary" @click="handleDispatch(record)">分发文件</a-button>
|
||||||
<a-button type="primary" @click="handleDispatch(record)">分发文件</a-button>
|
<a-button size="small" type="primary" v-if="list_expanded[record.id]" @click="handleReload(record)">刷新</a-button>
|
||||||
<a-button type="primary" v-if="record.outGivingProject" @click="handleEditDispatchProject(record)">编辑</a-button>
|
<template v-else>
|
||||||
<a-button type="primary" v-else @click="handleEditDispatch(record)">编辑</a-button>
|
<a-button size="small" type="primary" v-if="record.outGivingProject" @click="handleEditDispatchProject(record)">编辑</a-button>
|
||||||
|
<a-button size="small" type="primary" v-else @click="handleEditDispatch(record)">编辑</a-button>
|
||||||
|
</template>
|
||||||
<a-dropdown>
|
<a-dropdown>
|
||||||
<a class="ant-dropdown-link" @click="(e) => e.preventDefault()">
|
<a class="ant-dropdown-link" @click="(e) => e.preventDefault()">
|
||||||
更多
|
更多
|
||||||
@ -105,8 +131,8 @@
|
|||||||
|
|
||||||
<template slot="child-operation" slot-scope="text, record">
|
<template slot="child-operation" slot-scope="text, record">
|
||||||
<a-space>
|
<a-space>
|
||||||
<a-button :disabled="!record.projectName" type="primary" @click="handleFile(record)">文件</a-button>
|
<a-button size="small" :disabled="!record.projectName" type="primary" @click="handleFile(record)">文件</a-button>
|
||||||
<a-button :disabled="!record.projectName" type="primary" @click="handleConsole(record)">控制台</a-button>
|
<a-button size="small" :disabled="!record.projectName" type="primary" @click="handleConsole(record)">控制台</a-button>
|
||||||
</a-space>
|
</a-space>
|
||||||
</template>
|
</template>
|
||||||
</a-table>
|
</a-table>
|
||||||
@ -529,7 +555,7 @@ export default {
|
|||||||
accessList: [],
|
accessList: [],
|
||||||
nodeList: [],
|
nodeList: [],
|
||||||
projectList: [],
|
projectList: [],
|
||||||
afterOptList: afterOptList,
|
afterOptList,
|
||||||
targetKeys: [],
|
targetKeys: [],
|
||||||
// reqId: "",
|
// reqId: "",
|
||||||
temp: {},
|
temp: {},
|
||||||
@ -549,8 +575,12 @@ export default {
|
|||||||
columns: [
|
columns: [
|
||||||
{ title: "分发 ID", dataIndex: "id", ellipsis: true, scopedSlots: { customRender: "id" } },
|
{ title: "分发 ID", dataIndex: "id", ellipsis: true, scopedSlots: { customRender: "id" } },
|
||||||
{ title: "分发名称", dataIndex: "name", ellipsis: true, scopedSlots: { customRender: "name" } },
|
{ title: "分发名称", dataIndex: "name", ellipsis: true, scopedSlots: { customRender: "name" } },
|
||||||
{ title: "类型", dataIndex: "outGivingProject", ellipsis: true, scopedSlots: { customRender: "outGivingProject" } },
|
{ title: "类型", dataIndex: "outGivingProject", width: 90, ellipsis: true, scopedSlots: { customRender: "outGivingProject" } },
|
||||||
{ title: "状态", dataIndex: "status", ellipsis: true, scopedSlots: { customRender: "status" } },
|
{ title: "分发后", dataIndex: "afterOpt", ellipsis: true, width: 100, scopedSlots: { customRender: "afterOpt" } },
|
||||||
|
{ title: "清空发布", dataIndex: "clearOld", align: "center", ellipsis: true, width: 100, scopedSlots: { customRender: "clearOld" } },
|
||||||
|
{ title: "间隔时间", dataIndex: "intervalTime", width: 90, ellipsis: true, scopedSlots: { customRender: "intervalTime" } },
|
||||||
|
|
||||||
|
{ title: "状态", dataIndex: "status", ellipsis: true, width: 110, scopedSlots: { customRender: "status" } },
|
||||||
{
|
{
|
||||||
title: "修改时间",
|
title: "修改时间",
|
||||||
dataIndex: "modifyTimeMillis",
|
dataIndex: "modifyTimeMillis",
|
||||||
@ -561,7 +591,7 @@ export default {
|
|||||||
},
|
},
|
||||||
width: 170,
|
width: 170,
|
||||||
},
|
},
|
||||||
{ title: "操作", dataIndex: "operation", scopedSlots: { customRender: "operation" }, width: 250, align: "left" },
|
{ title: "操作", dataIndex: "operation", scopedSlots: { customRender: "operation" }, width: 210, align: "center" },
|
||||||
],
|
],
|
||||||
childColumns: [
|
childColumns: [
|
||||||
{ title: "节点名称", dataIndex: "nodeId", width: 100, ellipsis: true, scopedSlots: { customRender: "nodeId" } },
|
{ title: "节点名称", dataIndex: "nodeId", width: 100, ellipsis: true, scopedSlots: { customRender: "nodeId" } },
|
||||||
@ -570,7 +600,7 @@ export default {
|
|||||||
{ title: "分发状态", dataIndex: "outGivingStatus", width: 120 },
|
{ title: "分发状态", dataIndex: "outGivingStatus", width: 120 },
|
||||||
{ title: "分发结果", dataIndex: "outGivingResult", width: 180, ellipsis: true, scopedSlots: { customRender: "outGivingResult" } },
|
{ title: "分发结果", dataIndex: "outGivingResult", width: 180, ellipsis: true, scopedSlots: { customRender: "outGivingResult" } },
|
||||||
{ title: "最后分发时间", dataIndex: "lastTime", width: 180, ellipsis: true, scopedSlots: { customRender: "lastTime" } },
|
{ title: "最后分发时间", dataIndex: "lastTime", width: 180, ellipsis: true, scopedSlots: { customRender: "lastTime" } },
|
||||||
{ title: "操作", dataIndex: "child-operation", scopedSlots: { customRender: "child-operation" }, width: 200, align: "left" },
|
{ title: "操作", dataIndex: "child-operation", scopedSlots: { customRender: "child-operation" }, width: 120, align: "center" },
|
||||||
],
|
],
|
||||||
rules: {
|
rules: {
|
||||||
id: [{ required: true, message: "请输入项目ID", trigger: "blur" }],
|
id: [{ required: true, message: "请输入项目ID", trigger: "blur" }],
|
||||||
|
@ -22,28 +22,28 @@
|
|||||||
>
|
>
|
||||||
<template slot="operation" slot-scope="text, record">
|
<template slot="operation" slot-scope="text, record">
|
||||||
<a-space>
|
<a-space>
|
||||||
<a-button type="primary" @click="handleEdit(record)">编辑</a-button>
|
<a-button size="small" type="primary" @click="handleEdit(record)">编辑</a-button>
|
||||||
<a-dropdown>
|
<a-dropdown>
|
||||||
<a class="ant-dropdown-link" @click="(e) => e.preventDefault()"> 更多 <a-icon type="down" /> </a>
|
<a class="ant-dropdown-link" @click="(e) => e.preventDefault()"> 更多 <a-icon type="down" /> </a>
|
||||||
<a-menu slot="overlay">
|
<a-menu slot="overlay">
|
||||||
<a-menu-item>
|
<a-menu-item>
|
||||||
<a-button type="danger" :disabled="record.parent === 'sys'" @click="handleDelete(record)">删除</a-button>
|
<a-button type="danger" size="small" :disabled="record.parent === 'sys'" @click="handleDelete(record)">删除</a-button>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item>
|
<a-menu-item>
|
||||||
<a-button type="danger" :disabled="record.pwdErrorCount === 0" @click="handleUnlock(record)">解锁</a-button>
|
<a-button type="danger" size="small" :disabled="record.pwdErrorCount === 0" @click="handleUnlock(record)">解锁</a-button>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item>
|
<a-menu-item>
|
||||||
<a-button type="danger" :disabled="record.twoFactorAuthKey ? false : true" @click="handleCloseMfa(record)">关闭MFA</a-button>
|
<a-button type="danger" size="small" :disabled="record.twoFactorAuthKey ? false : true" @click="handleCloseMfa(record)">关闭MFA</a-button>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
</a-menu></a-dropdown
|
</a-menu></a-dropdown
|
||||||
>
|
>
|
||||||
</a-space>
|
</a-space>
|
||||||
</template>
|
</template>
|
||||||
<template slot="systemUser" slot-scope="text, record">
|
<template slot="systemUser" slot-scope="text, record">
|
||||||
<a-switch size="small" checked-children="是" un-checked-children="否" :checked="record.systemUser == 1" />
|
<a-switch size="small" checked-children="是" un-checked-children="否" disabled :checked="record.systemUser == 1" />
|
||||||
</template>
|
</template>
|
||||||
<template slot="twoFactorAuthKey" slot-scope="text, record">
|
<template slot="twoFactorAuthKey" slot-scope="text, record">
|
||||||
<a-switch size="small" checked-children="开" un-checked-children="关" :checked="record.twoFactorAuthKey ? true : false" />
|
<a-switch size="small" checked-children="开" un-checked-children="关" disabled :checked="record.twoFactorAuthKey ? true : false" />
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<a-tooltip slot="id" slot-scope="text" :title="text">
|
<a-tooltip slot="id" slot-scope="text" :title="text">
|
||||||
@ -55,7 +55,7 @@
|
|||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</a-table>
|
</a-table>
|
||||||
<!-- 编辑区 -->
|
<!-- 编辑区 -->
|
||||||
<a-modal v-model="editUserVisible" width="800px" title="编辑用户" @ok="handleEditUserOk" :maskClosable="false">
|
<a-modal v-model="editUserVisible" width="60vw" title="编辑用户" @ok="handleEditUserOk" :maskClosable="false">
|
||||||
<a-form-model ref="editUserForm" :rules="rules" :model="temp" :label-col="{ span: 4 }" :wrapper-col="{ span: 18 }">
|
<a-form-model ref="editUserForm" :rules="rules" :model="temp" :label-col="{ span: 4 }" :wrapper-col="{ span: 18 }">
|
||||||
<a-form-model-item label="登录名称" prop="id">
|
<a-form-model-item label="登录名称" prop="id">
|
||||||
<a-input v-model="temp.id" placeholder="创建之后不能修改" :disabled="createOption == false" />
|
<a-input v-model="temp.id" placeholder="创建之后不能修改" :disabled="createOption == false" />
|
||||||
@ -67,7 +67,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="systemUser">
|
<a-form-model-item label="管理员" prop="systemUser">
|
||||||
<a-tooltip title="管理员拥有:管理服务端的权限">
|
<a-tooltip title="管理员拥有:管理服务端的部分权限">
|
||||||
<a-switch
|
<a-switch
|
||||||
:checked="temp.systemUser == 1"
|
:checked="temp.systemUser == 1"
|
||||||
@change="
|
@change="
|
||||||
@ -195,8 +195,8 @@ export default {
|
|||||||
columns: [
|
columns: [
|
||||||
{ title: "ID", dataIndex: "id", ellipsis: true, scopedSlots: { customRender: "id" } },
|
{ title: "ID", dataIndex: "id", ellipsis: true, scopedSlots: { customRender: "id" } },
|
||||||
{ title: "昵称", dataIndex: "name", ellipsis: true },
|
{ title: "昵称", dataIndex: "name", ellipsis: true },
|
||||||
{ title: "管理员", dataIndex: "systemUser", ellipsis: true, width: 90, scopedSlots: { customRender: "systemUser" } },
|
{ title: "管理员", dataIndex: "systemUser", align: "center", ellipsis: true, width: 90, scopedSlots: { customRender: "systemUser" } },
|
||||||
{ title: "两步验证", dataIndex: "twoFactorAuthKey", ellipsis: true, width: 90, scopedSlots: { customRender: "twoFactorAuthKey" } },
|
{ title: "两步验证", dataIndex: "twoFactorAuthKey", align: "center", ellipsis: true, width: 90, scopedSlots: { customRender: "twoFactorAuthKey" } },
|
||||||
|
|
||||||
{ title: "邮箱", dataIndex: "email", ellipsis: true, scopedSlots: { customRender: "email" } },
|
{ title: "邮箱", dataIndex: "email", ellipsis: true, scopedSlots: { customRender: "email" } },
|
||||||
{ title: "创建人", dataIndex: "parent", ellipsis: true, width: 150 },
|
{ title: "创建人", dataIndex: "parent", ellipsis: true, width: 150 },
|
||||||
@ -210,7 +210,7 @@ export default {
|
|||||||
},
|
},
|
||||||
width: 170,
|
width: 170,
|
||||||
},
|
},
|
||||||
{ title: "操作", dataIndex: "operation", scopedSlots: { customRender: "operation" }, width: 150 },
|
{ title: "操作", align: "center", dataIndex: "operation", scopedSlots: { customRender: "operation" }, width: 130 },
|
||||||
],
|
],
|
||||||
// 表单校验规则
|
// 表单校验规则
|
||||||
rules: {
|
rules: {
|
||||||
@ -252,22 +252,22 @@ export default {
|
|||||||
this.loadOptTypeData();
|
this.loadOptTypeData();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// 页面引导
|
// // 页面引导
|
||||||
introGuide() {
|
// introGuide() {
|
||||||
this.$store.dispatch("tryOpenGuide", {
|
// this.$store.dispatch("tryOpenGuide", {
|
||||||
key: "user-create",
|
// key: "user-create",
|
||||||
options: {
|
// options: {
|
||||||
hidePrev: true,
|
// hidePrev: true,
|
||||||
steps: [
|
// steps: [
|
||||||
{
|
// {
|
||||||
title: "导航助手",
|
// title: "导航助手",
|
||||||
element: document.querySelector(".jpom-userWorkspace"),
|
// element: document.querySelector(".jpom-userWorkspace"),
|
||||||
intro: "如果这里面没有您想要的工作空间信息,您需要先去添加一个工作空间。选择工作空间后还可以展开选择绑定的权限奥,默认只有查看权限",
|
// intro: "如果这里面没有您想要的工作空间信息,您需要先去添加一个工作空间。选择工作空间后还可以展开选择绑定的权限奥,默认只有查看权限",
|
||||||
},
|
// },
|
||||||
],
|
// ],
|
||||||
},
|
// },
|
||||||
});
|
// });
|
||||||
},
|
// },
|
||||||
onCheckedLeft(_, e, checkedKeys, itemSelect) {
|
onCheckedLeft(_, e, checkedKeys, itemSelect) {
|
||||||
const { eventKey } = e.node;
|
const { eventKey } = e.node;
|
||||||
const isChecked = checkedKeys.indexOf(eventKey) !== -1;
|
const isChecked = checkedKeys.indexOf(eventKey) !== -1;
|
||||||
@ -332,9 +332,9 @@ export default {
|
|||||||
},
|
},
|
||||||
// 新增用户
|
// 新增用户
|
||||||
handleAdd() {
|
handleAdd() {
|
||||||
setTimeout(() => {
|
// setTimeout(() => {
|
||||||
this.introGuide();
|
// this.introGuide();
|
||||||
}, 500);
|
// }, 500);
|
||||||
|
|
||||||
this.temp = { systemUser: 0 };
|
this.temp = { systemUser: 0 };
|
||||||
this.createOption = true;
|
this.createOption = true;
|
||||||
|
Loading…
Reference in New Issue
Block a user