刘洋 hai 9 meses
pai
achega
6d94068768

+ 3 - 0
src/render/hooks/useToken.ts

@@ -0,0 +1,3 @@
+import { theme } from "@qmth/ui";
+const { useToken } = theme;
+export default useToken;

+ 79 - 1
src/render/views/CurExam/index.vue

@@ -29,7 +29,36 @@
           >
         </div>
       </div>
-      <div v-else class="cur-exam-box h-full"></div>
+      <div v-else class="cur-exam-box h-full">
+        <div class="row row1">
+          <div class="module">
+            <div class="head">
+              <div class="flex items-center">
+                <div class="tag" :style="{ color: token.colorPrimary }">
+                  步骤一
+                </div>
+                <div class="title">基础数据配置</div>
+              </div>
+              <div
+                class="flex items-center"
+                :style="{ color: token.colorPrimary }"
+              >
+                <span>进入</span>
+                <RightOutlined />
+              </div>
+            </div>
+          </div>
+          <div class="module"></div>
+          <div class="module"></div>
+          <div class="module"></div>
+        </div>
+        <div class="row row2">
+          <div class="module"></div>
+          <div class="module"></div>
+          <div class="module"></div>
+          <div class="module"></div>
+        </div>
+      </div>
     </div>
 
     <my-modal
@@ -63,7 +92,11 @@ import {
   SwapOutlined,
   EditOutlined,
   PlusCircleOutlined,
+  RightOutlined,
 } from "@ant-design/icons-vue";
+import useToken from "@/hooks/useToken";
+
+const { token } = useToken();
 
 const radioStyle = reactive({
   display: "flex",
@@ -144,6 +177,51 @@ watch(showExamListModal, (val: boolean) => {
     .cur-exam-box {
       background: url(../../assets/imgs/cur_exam_bg.png) 0 0 no-repeat;
       background-size: 100% 100%;
+      padding: 100px 34px 20px 34px;
+      overflow: auto;
+      .row {
+        &:after {
+          content: "";
+          display: block;
+          clear: both;
+        }
+        .module {
+          float: left;
+          width: calc((100% - 60px) / 4);
+          background: linear-gradient(to top, #ffffff 0%, #f1f6ff 100%);
+          border-radius: 8px;
+          border: 1px solid #e5e6eb;
+          padding: 15px;
+          &:not(:first-child) {
+            margin-left: 20px;
+          }
+          .head {
+            display: flex;
+            justify-content: space-between;
+            align-items: center;
+            .tag {
+              width: 52px;
+              height: 24px;
+              background: #ffffff;
+              border-radius: 4px;
+              border: 1px solid #bedaff;
+              font-size: 12px;
+              line-height: 22px;
+              text-align: center;
+              color: var(--primary-color);
+            }
+            .title {
+              font-size: 16px;
+              color: @text-color1;
+              margin-left: 5px;
+              font-weight: bold;
+            }
+          }
+        }
+      }
+      .row2 {
+        margin-top: 55px;
+      }
     }
   }
   .operate-box {

+ 2 - 1
src/render/views/Login/AdminLogin.vue

@@ -26,7 +26,8 @@ import { reactive, ref, h } from "vue";
 import { useRouter } from "vue-router";
 import { GlobalOutlined } from "@ant-design/icons-vue";
 const emit = defineEmits(["toIndex"]);
-const params = reactive({ a: "12" });
+//todo 入参名非正式
+const params = reactive({ a: "" });
 const router = useRouter();
 const fields = ref([
   {