|
@@ -20,7 +20,8 @@
|
|
Plus,
|
|
Plus,
|
|
Check,
|
|
Check,
|
|
Loading,
|
|
Loading,
|
|
- Monitor
|
|
|
|
|
|
+ Monitor,
|
|
|
|
+ Close
|
|
} from '@element-plus/icons-vue'
|
|
} from '@element-plus/icons-vue'
|
|
import {
|
|
import {
|
|
useUserStore
|
|
useUserStore
|
|
@@ -142,7 +143,7 @@
|
|
}
|
|
}
|
|
const returnAIoutputs = (data) => {
|
|
const returnAIoutputs = (data) => {
|
|
let str = '';
|
|
let str = '';
|
|
- if (data.indexOf('```markdown') > -1) {
|
|
|
|
|
|
+ if (data.indexOf('markdown') > -1) {
|
|
str = data.replaceAll('\n', '</n>').replaceAll('```markdown', '').replaceAll('```', '');
|
|
str = data.replaceAll('\n', '</n>').replaceAll('```markdown', '').replaceAll('```', '');
|
|
} else {
|
|
} else {
|
|
str = data;
|
|
str = data;
|
|
@@ -292,7 +293,8 @@
|
|
previewUrl.value = href.href;
|
|
previewUrl.value = href.href;
|
|
return divBox.innerHTML;
|
|
return divBox.innerHTML;
|
|
};
|
|
};
|
|
- return marked('```markdown' + markdown.replaceAll('</n>', '\n') + '```', {
|
|
|
|
|
|
+ let html = '```markdown \n' + markdown.replaceAll('</n>', '\n') + '\n```';
|
|
|
|
+ return marked(html, {
|
|
renderer
|
|
renderer
|
|
});
|
|
});
|
|
};
|
|
};
|
|
@@ -366,12 +368,16 @@
|
|
<div :class="'step-icon ' + item.status">
|
|
<div :class="'step-icon ' + item.status">
|
|
<el-icon>
|
|
<el-icon>
|
|
<Check v-if="item.status === 'success'" />
|
|
<Check v-if="item.status === 'success'" />
|
|
- <Loading v-else />
|
|
|
|
|
|
+ <Loading v-else-if="item.status === 'warning'" />
|
|
|
|
+ <Close v-else />
|
|
</el-icon>
|
|
</el-icon>
|
|
</div>
|
|
</div>
|
|
<div class="wk-content">
|
|
<div class="wk-content">
|
|
- <div class="title">{{ item.label }}</div>
|
|
|
|
- <div class="content" v-if="item.status === 'success'">
|
|
|
|
|
|
+ <div class="title">
|
|
|
|
+ <div class="title-name">{{ item.label }}</div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="content"
|
|
|
|
+ v-if="item.status === 'success' || item.status === 'danger'">
|
|
<el-icon>
|
|
<el-icon>
|
|
<Monitor />
|
|
<Monitor />
|
|
</el-icon>
|
|
</el-icon>
|
|
@@ -522,12 +528,20 @@
|
|
&.success {
|
|
&.success {
|
|
background: var(--el-color-success);
|
|
background: var(--el-color-success);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ &.danger {
|
|
|
|
+ background: var(--el-color-danger);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
&.timeline-warning {
|
|
&.timeline-warning {
|
|
.step-icon {
|
|
.step-icon {
|
|
animation: rotating 2s linear infinite;
|
|
animation: rotating 2s linear infinite;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ .title .title-name::after {
|
|
|
|
+ display: inline;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -541,19 +555,43 @@
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- .wk-timeline {
|
|
|
|
- .el-timeline-item__icon {
|
|
|
|
- font-size: 10px;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- .el-timeline-item {
|
|
|
|
- padding-bottom: 10px;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
.wk-content {
|
|
.wk-content {
|
|
.title {
|
|
.title {
|
|
color: #222;
|
|
color: #222;
|
|
|
|
+
|
|
|
|
+ .title-name::after {
|
|
|
|
+ display: none;
|
|
|
|
+ content: '';
|
|
|
|
+ animation: sequentialDots 2s infinite;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @keyframes sequentialDots {
|
|
|
|
+
|
|
|
|
+ 0%,
|
|
|
|
+ 20% {
|
|
|
|
+ content: '';
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ 25%,
|
|
|
|
+ 40% {
|
|
|
|
+ content: '.';
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ 45%,
|
|
|
|
+ 60% {
|
|
|
|
+ content: '..';
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ 65%,
|
|
|
|
+ 80% {
|
|
|
|
+ content: '...';
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ 85%,
|
|
|
|
+ 100% {
|
|
|
|
+ content: '';
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
.content {
|
|
.content {
|