This commit is contained in:
xiaojunnuo
2024-09-05 14:33:45 +08:00
parent 1dd9a8d4d3
commit ecad7f58c1
13 changed files with 89 additions and 14 deletions
@@ -191,6 +191,7 @@ export default function ({ crudExpose, context: { certdFormRef } }: CreateCrudOp
},
copy: {
click: async (context) => {
userStore.checkPlus();
const { ui } = useUi();
// @ts-ignore
let row = context[ui.tableColumn.row];
@@ -200,7 +201,8 @@ export default function ({ crudExpose, context: { certdFormRef } }: CreateCrudOp
row: row,
index: context.index
});
}
},
class: "need-plus"
},
config: {
order: 1,
@@ -43,7 +43,7 @@
<a-button type="primary" @click="stepAdd(currentTask)">添加步骤</a-button>
</template>
</a-descriptions>
<v-draggable v-model="currentTask.steps" class="step-list" handle=".handle" item-key="id">
<v-draggable v-model="currentTask.steps" class="step-list" handle=".handle" item-key="id" :disabled="!userStore.isPlus">
<template #item="{ element, index }">
<div class="step-row">
<div class="text">
@@ -54,7 +54,7 @@
<a key="edit" @click="stepEdit(currentTask, element, index)">编辑</a>
<a key="edit" @click="stepCopy(currentTask, element, index)">复制</a>
<a key="remove" @click="stepDelete(currentTask, index)">删除</a>
<fs-icon class="icon-button handle" title="拖动排序" icon="ion:move-outline"></fs-icon>
<fs-icon v-plus class="icon-button handle" title="拖动排序" icon="ion:move-outline"></fs-icon>
</div>
</div>
</template>
@@ -83,6 +83,7 @@ import PiStepForm from "../step-form/index.vue";
import { Modal } from "ant-design-vue";
import { CopyOutlined } from "@ant-design/icons-vue";
import VDraggable from "vuedraggable";
import { useUserStore } from "/@/store/modules/user";
export default {
name: "PiTaskForm",
components: { CopyOutlined, PiStepForm, VDraggable },
@@ -94,6 +95,7 @@ export default {
},
emits: ["update"],
setup(props: any, ctx: any) {
const userStore = useUserStore();
function useStep() {
const stepFormRef: Ref<any> = ref(null);
const currentStepIndex = ref(0);
@@ -248,6 +250,7 @@ export default {
};
}
return {
userStore,
labelCol: { span: 6 },
wrapperCol: { span: 16 },
...useTaskForm(),
@@ -20,7 +20,7 @@
<div class="layout-left">
<div class="pipeline-container">
<div class="pipeline">
<v-draggable v-model="pipeline.stages" class="stages" item-key="id" handle=".stage-move-handle">
<v-draggable v-model="pipeline.stages" class="stages" item-key="id" handle=".stage-move-handle" :disabled="!userStore.isPlus">
<template #header>
<div class="stage first-stage">
<div class="title stage-move-handle">
@@ -69,11 +69,11 @@
<div :key="stage.id" class="stage" :class="{ 'last-stage': isLastStage(index) }">
<div class="title">
<pi-editable v-model="stage.title" :disabled="!editMode"></pi-editable>
<div class="icon-box stage-move-handle">
<div v-plus class="icon-box stage-move-handle">
<fs-icon v-if="editMode" title="拖动排序" icon="ion:move-outline"></fs-icon>
</div>
</div>
<v-draggable v-model="stage.tasks" item-key="id" class="tasks" group="task" handle=".task-move-handle">
<v-draggable v-model="stage.tasks" item-key="id" class="tasks" group="task" handle=".task-move-handle" :disabled="!userStore.isPlus">
<template #item="{ element: task, index: taskIndex }">
<div
class="task-container"
@@ -114,7 +114,7 @@
<div class="icon-box action copy">
<fs-icon v-if="editMode" title="复制" icon="ion:copy-outline" @click="taskCopy(stage, index, task)"></fs-icon>
</div>
<div class="icon-box task-move-handle action drag">
<div v-plus class="icon-box task-move-handle action drag">
<fs-icon v-if="editMode" title="拖动排序" icon="ion:move-outline"></fs-icon>
</div>
</div>
@@ -264,6 +264,7 @@ import { PipelineDetail, PipelineOptions, PluginGroups, RunHistory } from "./typ
import type { Runnable } from "@certd/pipeline";
import PiHistoryTimelineItem from "/@/views/certd/pipeline/pipeline/component/history-timeline-item.vue";
import { FsIcon } from "@fast-crud/fast-crud";
import { useUserStore } from "/@/store/modules/user";
export default defineComponent({
name: "PipelineEdit",
// eslint-disable-next-line vue/no-unused-components
@@ -298,6 +299,8 @@ export default defineComponent({
router.back();
}
const userStore = useUserStore();
const loadCurrentHistoryDetail = async () => {
console.log("load history logs");
const detail: RunHistory = await props.options?.getHistoryDetail({ historyId: currentHistory.value.id });
@@ -653,6 +656,7 @@ export default defineComponent({
currentHistory,
histories,
goBack,
userStore,
...useTaskRet,
...useStageRet,
...useTrigger(),