|
@@ -1,34 +1,57 @@
|
|
<template>
|
|
<template>
|
|
<div
|
|
<div
|
|
- class="
|
|
|
|
- tw-flex tw-gap-4 tw-justify-between tw-items-center
|
|
|
|
- header-container
|
|
|
|
- tw-px-1
|
|
|
|
- "
|
|
|
|
|
|
+ class="tw-flex tw-gap-4 tw-justify-start tw-items-center header-container"
|
|
v-if="store.setting"
|
|
v-if="store.setting"
|
|
>
|
|
>
|
|
|
|
+ <div
|
|
|
|
+ class="
|
|
|
|
+ tw-text-white
|
|
|
|
+ tw-block
|
|
|
|
+ tw-overflow-ellipsis
|
|
|
|
+ tw-overflow-hidden
|
|
|
|
+ tw-whitespace-nowrap
|
|
|
|
+ header-big-text
|
|
|
|
+ tw-pl-5
|
|
|
|
+ "
|
|
|
|
+ >
|
|
|
|
+ {{
|
|
|
|
+ `${store.setting.subject.code ?? ""}-${
|
|
|
|
+ store.setting.subject.name ?? ""
|
|
|
|
+ }`
|
|
|
|
+ }}
|
|
|
|
+ </div>
|
|
<div class="tw-flex tw-gap-1">
|
|
<div class="tw-flex tw-gap-1">
|
|
<div>
|
|
<div>
|
|
- 编号<span class="highlight-text">{{
|
|
|
|
- store.currentTask?.secretNumber
|
|
|
|
- }}</span>
|
|
|
|
|
|
+ <span class="header-small-text">编号</span>
|
|
|
|
+ <span class="highlight-text">
|
|
|
|
+ {{ store.currentTask?.examNumber }}
|
|
|
|
+ </span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
+ <div class="tw-flex tw-gap-2 tw-items-center tw-flex-1"></div>
|
|
<ZoomPaper v-if="isScanImage()" :store="store" />
|
|
<ZoomPaper v-if="isScanImage()" :store="store" />
|
|
- <div
|
|
|
|
- class="tw-flex tw-place-content-center tw-cursor-pointer"
|
|
|
|
- style="max-width: 8%"
|
|
|
|
- >
|
|
|
|
|
|
+ <div class="tw-flex tw-cursor-pointer tw-items-center tw-flex-1">
|
|
<div
|
|
<div
|
|
class="
|
|
class="
|
|
- tw-overflow-ellipsis tw-overflow-hidden tw-whitespace-nowrap tw-mr-1
|
|
|
|
|
|
+ tw-overflow-ellipsis
|
|
|
|
+ tw-overflow-hidden
|
|
|
|
+ tw-whitespace-nowrap
|
|
|
|
+ tw-mr-1
|
|
|
|
+ tw-items-center
|
|
"
|
|
"
|
|
>
|
|
>
|
|
- {{ "分组:" + store.setting.groupNumber }}
|
|
|
|
|
|
+ <span class="header-small-text">分组</span>
|
|
|
|
+ <span class="highlight-text">
|
|
|
|
+ {{ store.setting.groupNumber }}
|
|
|
|
+ </span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
+ <div class="tw-flex tw-place-items-center">
|
|
|
|
+ <UserOutlined class="icon-font icon-with-text" />
|
|
|
|
+ {{ store.setting.userName }}
|
|
|
|
+ </div>
|
|
<div
|
|
<div
|
|
- class="tw-flex tw-place-items-center tw-cursor-pointer"
|
|
|
|
|
|
+ class="tw-flex tw-place-items-center tw-cursor-pointer tw-pr-5"
|
|
@click="closeWindow"
|
|
@click="closeWindow"
|
|
>
|
|
>
|
|
<PoweroffOutlined class="icon-font icon-with-text" />关闭
|
|
<PoweroffOutlined class="icon-font icon-with-text" />关闭
|
|
@@ -38,7 +61,7 @@
|
|
|
|
|
|
<script setup lang="ts">
|
|
<script setup lang="ts">
|
|
import { store, isScanImage } from "@/features/mark/store";
|
|
import { store, isScanImage } from "@/features/mark/store";
|
|
-import { PoweroffOutlined } from "@ant-design/icons-vue";
|
|
|
|
|
|
+import { UserOutlined, PoweroffOutlined } from "@ant-design/icons-vue";
|
|
import ZoomPaper from "@/components/ZoomPaper.vue";
|
|
import ZoomPaper from "@/components/ZoomPaper.vue";
|
|
|
|
|
|
const closeWindow = async () => {
|
|
const closeWindow = async () => {
|
|
@@ -47,22 +70,84 @@ const closeWindow = async () => {
|
|
</script>
|
|
</script>
|
|
|
|
|
|
<style scoped>
|
|
<style scoped>
|
|
|
|
+.header-bg-color {
|
|
|
|
+ background-color: var(--header-bg-color);
|
|
|
|
+}
|
|
.header-container {
|
|
.header-container {
|
|
position: relative;
|
|
position: relative;
|
|
- font-size: 16px;
|
|
|
|
- height: 40px;
|
|
|
|
|
|
+ height: 56px;
|
|
|
|
+ line-height: 16px;
|
|
|
|
|
|
background-color: var(--header-bg-color);
|
|
background-color: var(--header-bg-color);
|
|
color: rgba(255, 255, 255, 0.5);
|
|
color: rgba(255, 255, 255, 0.5);
|
|
}
|
|
}
|
|
|
|
+.menu {
|
|
|
|
+ width: 56px;
|
|
|
|
+ height: 56px;
|
|
|
|
+ padding: 20px;
|
|
|
|
+}
|
|
|
|
+.menu:hover,
|
|
|
|
+.menu-toggled {
|
|
|
|
+ background-color: rgba(255, 255, 255, 0.2);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+.header-container span {
|
|
|
|
+ vertical-align: middle;
|
|
|
|
+}
|
|
|
|
+.header-big-text {
|
|
|
|
+ font-size: 20px;
|
|
|
|
+ line-height: 30px;
|
|
|
|
+}
|
|
|
|
+.header-small-text {
|
|
|
|
+ font-size: var(--app-secondary-font-size);
|
|
|
|
+}
|
|
.highlight-text {
|
|
.highlight-text {
|
|
color: white;
|
|
color: white;
|
|
|
|
+ font-size: var(--app-title-font-size);
|
|
|
|
+}
|
|
|
|
+.header-bg-color.ant-btn:hover {
|
|
|
|
+ background-color: var(--app-ant-select-bg-override-color) !important;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+.assistant-table {
|
|
|
|
+ z-index: 5500;
|
|
|
|
+ border-collapse: separate;
|
|
|
|
+ border-spacing: 0 1em;
|
|
|
|
+ color: var(--app-bold-text-color);
|
|
|
|
+ width: 240px;
|
|
|
|
+}
|
|
|
|
+.assistant-table tr td:nth-child(2) {
|
|
|
|
+ text-align: right;
|
|
|
|
+}
|
|
|
|
+.svg-red {
|
|
|
|
+ filter: invert(27%) sepia(51%) saturate(2878%) hue-rotate(346deg)
|
|
|
|
+ brightness(104%) contrast(97%);
|
|
|
|
+}
|
|
|
|
+.triangle {
|
|
|
|
+ background-color: white;
|
|
|
|
+ width: 10px;
|
|
|
|
+ height: 10px;
|
|
|
|
+ clip-path: polygon(0 100%, 100% 100%, 50% 0);
|
|
|
|
+
|
|
|
|
+ position: absolute;
|
|
|
|
+ bottom: -2px;
|
|
|
|
+}
|
|
|
|
+.dropdown-triangle {
|
|
|
|
+ background-color: #8c8d9b;
|
|
|
|
+ width: 7px;
|
|
|
|
+ height: 5px;
|
|
|
|
+ clip-path: polygon(0 0, 100% 0, 50% 100%);
|
|
|
|
+ margin-left: 4px;
|
|
}
|
|
}
|
|
-.icon-font {
|
|
|
|
- display: block;
|
|
|
|
|
|
+.markcount-animation {
|
|
|
|
+ animation: change-color 3s ease-in-out;
|
|
}
|
|
}
|
|
-.icon-with-text {
|
|
|
|
- font-size: 18px;
|
|
|
|
- line-height: 18px;
|
|
|
|
|
|
+@keyframes change-color {
|
|
|
|
+ 0% {
|
|
|
|
+ color: red;
|
|
|
|
+ }
|
|
|
|
+ 100% {
|
|
|
|
+ color: white;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
</style>
|
|
</style>
|