diff --git a/atune/web/src/components/atuneTemplete.vue b/atune/web/src/components/atuneTemplete.vue
index 5cb87d3bd8e74551dd6db9d954f23f1ffd1b4d6c..69301f8d1bfd214ad3f40aabad24632ab0ff9df1 100644
--- a/atune/web/src/components/atuneTemplete.vue
+++ b/atune/web/src/components/atuneTemplete.vue
@@ -1,8 +1,22 @@
-
-
+
+
+
+
+
+
+
@@ -20,11 +34,16 @@
-
+
- 保存
+ 保存
取消
@@ -33,11 +52,21 @@
diff --git a/atune/web/src/components/table.vue b/atune/web/src/components/table.vue
index 6cb24f026200b483927b38fe40ba85a329b97c65..aa6f0157640ae03e2efb9f286e2338e23f9cd173 100644
--- a/atune/web/src/components/table.vue
+++ b/atune/web/src/components/table.vue
@@ -8,8 +8,14 @@
diff --git a/atune/web/src/store/atune.ts b/atune/web/src/store/atune.ts
index 65767fd26d756441985bbc338e0f33a3b302006e..a36d31a5d1a9d0990d0defddb9eb027f97a85b9b 100644
--- a/atune/web/src/store/atune.ts
+++ b/atune/web/src/store/atune.ts
@@ -5,6 +5,7 @@ export const useAtuneStore = defineStore("atune", {
state: () => ({
count: 0,
taskRow: {} as Task,
+ tuneRow: {} as Atune,
}),
getters: {
double: (state) => state.count * 2,
@@ -17,6 +18,11 @@ export const useAtuneStore = defineStore("atune", {
setTaskRow(row: Task) {
this.taskRow = row;
},
+ // 设置taskRow数据
+ setTuneRow(row: Atune) {
+ this.tuneRow = row;
+ console.log(this.tuneRow);
+ },
},
// persist: {
// enabled: true, // 开启存储
diff --git a/atune/web/src/store/canvas.ts b/atune/web/src/store/canvas.ts
index 0e5dfbb50662c045522c5690133c66a2cf900686..6d757c86a89f603877dc7a7009a2ac6b97a74899 100644
--- a/atune/web/src/store/canvas.ts
+++ b/atune/web/src/store/canvas.ts
@@ -6,6 +6,7 @@ export const useCanvasStore = defineStore("canvas", {
width: 0,
fromX: 0,
fromY: 50,
+ arrowLength: 50,
rectWidth: 100,
rectHeight: 50,
rectConfig: {
@@ -13,11 +14,11 @@ export const useCanvasStore = defineStore("canvas", {
y: 0,
width: 100,
height: 50,
- fill: "#fff",
stroke: "#fff",
shadowBlur: 2,
cornerRadius: 10,
},
+ textConfig: { x: 0, y: 20, text: "start", fontSize: 16 },
}),
getters: {
/**
@@ -27,33 +28,9 @@ export const useCanvasStore = defineStore("canvas", {
* @param state
* @returns
*/
- // 计算各个图形的起始位置
- rectStart: (state) => {
- let rectConfig: RectConfig = JSON.parse(JSON.stringify(state.rectConfig));
- rectConfig.x = state.width / 2 - state.rectWidth;
- rectConfig.y = state.fromY;
- return rectConfig;
- },
- rectPrepare: (state) => {
- let rectConfig: RectConfig = JSON.parse(JSON.stringify(state.rectConfig));
- rectConfig.x = state.width / 2 - state.rectWidth;
- rectConfig.y = state.fromY + state.fromY * 2;
- return rectConfig;
- },
- rectTune: (state) => {
- let rectConfig: RectConfig = JSON.parse(JSON.stringify(state.rectConfig));
- rectConfig.x = state.width / 2 - state.rectWidth;
- rectConfig.y = state.fromY + state.fromY * 4;
- return rectConfig;
- },
- rectRestore: (state) => {
- let rectConfig: RectConfig = JSON.parse(JSON.stringify(state.rectConfig));
- rectConfig.x = state.width / 2 - state.rectWidth;
- rectConfig.y = state.fromY + state.fromY * 6;
- return rectConfig;
- },
+ // 箭头的起始位置X Y
arrowStartX: (state) => {
- return state.fromX - state.rectWidth / 2;
+ return state.fromX;
},
arrowStartY: (state) => {
return state.fromY + state.rectHeight;
@@ -67,7 +44,39 @@ export const useCanvasStore = defineStore("canvas", {
this.width = width;
this.fromX = width / 2;
},
+ drawRect(idNum: number) {
+ // 画矩形
+ let rectConfig: RectConfig = JSON.parse(JSON.stringify(this.rectConfig));
+ rectConfig.x = this.width / 2 - this.rectWidth / 2;
+ rectConfig.y = this.fromY + this.fromY * idNum * 2;
+ return rectConfig;
+ },
+ // 计算文字像素
+ getTextWidth(text: string, fontSize: number, fontWeight: string) {
+ // 创建临时元素
+ const ele: HTMLElement = document.createElement("div");
+ ele.style.position = "absolute";
+ ele.style.whiteSpace = "nowrap";
+ ele.style.fontSize = fontSize + "px";
+ ele.style.fontWeight = fontWeight;
+ ele.innerText = text;
+ document.body.append(ele);
+ const width: number = ele.getBoundingClientRect().width;
+ document.body.removeChild(ele);
+ return width;
+ },
+ // 写text
+ writeText(idNum: number, text: string) {
+ let getTextWidth = this.getTextWidth(text, 16, "none");
+ let textConfig = JSON.parse(JSON.stringify(this.textConfig));
+ textConfig.x = this.fromX - getTextWidth / 2;
+ textConfig.y =
+ this.fromY + this.fromY * idNum * 2 + this.rectHeight / 2 - 6;
+ textConfig.text = text;
+ return textConfig;
+ },
drawArrow(
+ // 画箭头
context: any,
shape: any,
fX: number,
diff --git a/atune/web/src/types/atune.d.ts b/atune/web/src/types/atune.d.ts
index d2f093ab5a3aa4533795d169be0eb94938d06031..2bde747e96f65be65a81e7389f13ff9679d9fe48 100644
--- a/atune/web/src/types/atune.d.ts
+++ b/atune/web/src/types/atune.d.ts
@@ -7,15 +7,16 @@ export interface Task {
update_time: string;
results: Array;
tune_id: int;
- tune: Atune
+ tune: Atune;
}
export interface Atune {
id: number;
description: string;
create_time: string;
- update_time: string
+ update_time: string;
tuneName: string;
+ custom_name: string;
workDir: string;
prepare: string;
tune: string;
diff --git a/atune/web/src/views/Home.vue b/atune/web/src/views/Home.vue
index 2b2db2168d9e932b554c6e8c69126b85fe24a9f5..1c85de626d2a88e6ad30c704d35623a95883fc10 100644
--- a/atune/web/src/views/Home.vue
+++ b/atune/web/src/views/Home.vue
@@ -2,14 +2,21 @@
-
+
- 执行任务列表
+ 执行任务列表
任务详情
@@ -18,8 +25,13 @@
-
+
@@ -54,7 +66,7 @@ const returnHome = () => {
};
// 新增
-const handleCreat = () => { };
+const handleCreat = () => {};
// 查看模板详情
const handleAtuneDetail = (taskRow: Task | Atune) => {
diff --git a/atune/web/src/views/atuneDetail.vue b/atune/web/src/views/atuneDetail.vue
index e9e1d82f9c39ab5bab8b6cde3d07f5a522f7bbad..b33d2be451e9e48617f2a2e48e5d1ffe6f81f9be 100644
--- a/atune/web/src/views/atuneDetail.vue
+++ b/atune/web/src/views/atuneDetail.vue
@@ -1,43 +1,29 @@
-
+
-
- kooriookami
- 18100000000
- Suzhou
-
- School
-
- No.1188, Wuzhong Avenue, Wuzhong District, Suzhou, Jiangsu
- Province
+
+ {{ tuneName }}
+ {{
+ workDir
+ }}
+
+ {{
+ note
+ }}
-
- {{ "qweqweqeqr/qweqeqwew" }}
+ {{ shell }}
@@ -46,11 +32,40 @@