|
@@ -5,7 +5,7 @@ const props = defineProps<{
|
|
|
label: string
|
|
label: string
|
|
|
date?: string
|
|
date?: string
|
|
|
icon: string
|
|
icon: string
|
|
|
- status: 'completed' | 'current' | 'unfinished'
|
|
|
|
|
|
|
+ status: 'completed' | 'current' | 'unfinished' | 'rejected' | 'approved'
|
|
|
}>
|
|
}>
|
|
|
}>()
|
|
}>()
|
|
|
</script>
|
|
</script>
|
|
@@ -19,7 +19,11 @@ const props = defineProps<{
|
|
|
class="step-icon"
|
|
class="step-icon"
|
|
|
:class="{
|
|
:class="{
|
|
|
'step-icon-unfinished': step.status === 'unfinished',
|
|
'step-icon-unfinished': step.status === 'unfinished',
|
|
|
- 'step-icon-current': step.status === 'current'
|
|
|
|
|
|
|
+ 'step-icon-current': step.status === 'current',
|
|
|
|
|
+ 'step-icon-rejected': step.status === 'rejected',
|
|
|
|
|
+ 'step-icon-approved':
|
|
|
|
|
+ step.label === 'Approved' &&
|
|
|
|
|
+ (step.status === 'completed' || step.status === 'current')
|
|
|
}"
|
|
}"
|
|
|
>
|
|
>
|
|
|
<span
|
|
<span
|
|
@@ -34,7 +38,21 @@ const props = defineProps<{
|
|
|
'step-text-unfinished': step.status === 'unfinished'
|
|
'step-text-unfinished': step.status === 'unfinished'
|
|
|
}"
|
|
}"
|
|
|
>
|
|
>
|
|
|
- <div class="step-title">{{ step.label }}</div>
|
|
|
|
|
|
|
+ <div class="step-title">
|
|
|
|
|
+ {{ step.label }}
|
|
|
|
|
+ <el-tooltip
|
|
|
|
|
+ trigger="hover"
|
|
|
|
|
+ effect="dark"
|
|
|
|
|
+ placement="top"
|
|
|
|
|
+ content="This is some description information about the pending task, if there is too much content."
|
|
|
|
|
+ >
|
|
|
|
|
+ <span
|
|
|
|
|
+ style="font-size: 12px"
|
|
|
|
|
+ v-if="step.status === 'rejected'"
|
|
|
|
|
+ class="font_family icon-icon_info_b"
|
|
|
|
|
+ ></span>
|
|
|
|
|
+ </el-tooltip>
|
|
|
|
|
+ </div>
|
|
|
<div class="step-date">{{ step.date || '--' }}</div>
|
|
<div class="step-date">{{ step.date || '--' }}</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
@@ -91,6 +109,18 @@ const props = defineProps<{
|
|
|
color: var(--color-steps-current-icon-color);
|
|
color: var(--color-steps-current-icon-color);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ &.step-icon-rejected {
|
|
|
|
|
+ background: var(--color-steps-rejected-bg);
|
|
|
|
|
+ span {
|
|
|
|
|
+ color: #c9353f;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ &.step-icon-approved {
|
|
|
|
|
+ background: var(--color-steps-approved-bg);
|
|
|
|
|
+ span {
|
|
|
|
|
+ color: #5bb462;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.step-text {
|
|
.step-text {
|
|
@@ -101,6 +131,9 @@ const props = defineProps<{
|
|
|
.step-title,
|
|
.step-title,
|
|
|
.step-date {
|
|
.step-date {
|
|
|
color: var(--color-steps-unfinished-line);
|
|
color: var(--color-steps-unfinished-line);
|
|
|
|
|
+ span {
|
|
|
|
|
+ color: var(--color-steps-unfinished-line);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -108,6 +141,9 @@ const props = defineProps<{
|
|
|
.step-title {
|
|
.step-title {
|
|
|
font-weight: 600;
|
|
font-weight: 600;
|
|
|
color: var(--color-neutral-1);
|
|
color: var(--color-neutral-1);
|
|
|
|
|
+ span {
|
|
|
|
|
+ color: var(--color-neutral-1);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.step-date {
|
|
.step-date {
|