|
@@ -0,0 +1,183 @@
|
|
|
+<template>
|
|
|
+ <m-nav-bar :title="query.title" />
|
|
|
+ <div class="cell-container">
|
|
|
+ <div class="cell-box" style="padding-right: 0px">
|
|
|
+ <van-cell
|
|
|
+ class="cell"
|
|
|
+ :title="item.excellIssueName || item.placeIssueName || item.classIssueName || item.sequeIssueName"
|
|
|
+ is-link
|
|
|
+ center
|
|
|
+ v-for="(item, index) in classDataLeft"
|
|
|
+ :key="index"
|
|
|
+ :border="false"
|
|
|
+ @click="
|
|
|
+ () => {
|
|
|
+ push({
|
|
|
+ name: 'exercise',
|
|
|
+ query: {
|
|
|
+ ...query,
|
|
|
+ classIssueName: item.classIssueName,
|
|
|
+ placeIssueName: item.placeIssueName,
|
|
|
+ excellIssueName: item.excellIssueName,
|
|
|
+ sequeIssueName: item.sequeIssueName,
|
|
|
+ placeIssue: item.placeIssue,
|
|
|
+ classIssue: item.classIssue,
|
|
|
+ excellIssue: item.excellIssue,
|
|
|
+ sequeIssue: item.sequeIssue,
|
|
|
+ },
|
|
|
+ });
|
|
|
+ }
|
|
|
+ ">
|
|
|
+ <template #icon>
|
|
|
+ <div class="icon-blue">{{ index + 1 }}</div>
|
|
|
+ </template>
|
|
|
+ </van-cell>
|
|
|
+ <van-cell
|
|
|
+ v-if="query.title !== '地方专题'"
|
|
|
+ @click="
|
|
|
+ () => {
|
|
|
+ push({
|
|
|
+ name: 'classify',
|
|
|
+ query: {
|
|
|
+ ...query,
|
|
|
+ title: '地方专题',
|
|
|
+ path: 'selectDfQuestionInfo',
|
|
|
+ sort: 4,
|
|
|
+ },
|
|
|
+ });
|
|
|
+ }
|
|
|
+ "
|
|
|
+ class="cell"
|
|
|
+ title="地方专题"
|
|
|
+ is-link
|
|
|
+ center
|
|
|
+ :border="false">
|
|
|
+ <template #icon>
|
|
|
+ <div class="icon-blue">{{ "地" }}</div>
|
|
|
+ </template>
|
|
|
+ </van-cell>
|
|
|
+ </div>
|
|
|
+ <div class="cell-box">
|
|
|
+ <van-cell
|
|
|
+ class="cell"
|
|
|
+ :title="item.placeIssueName || item.classIssueName || item.excellIssueName || item.sequeIssueName"
|
|
|
+ is-link
|
|
|
+ center
|
|
|
+ v-for="(item, index) in classDataRight"
|
|
|
+ :key="index"
|
|
|
+ :border="false"
|
|
|
+ @click="
|
|
|
+ () => {
|
|
|
+ push({
|
|
|
+ name: 'exercise',
|
|
|
+ query: {
|
|
|
+ ...query,
|
|
|
+ classIssueName: item.classIssueName,
|
|
|
+ placeIssueName: item.placeIssueName,
|
|
|
+ excellIssueName: item.excellIssueName,
|
|
|
+ sequeIssueName: item.sequeIssueName,
|
|
|
+ placeIssue: item.placeIssue,
|
|
|
+ classIssue: item.classIssue,
|
|
|
+ excellIssue: item.excellIssue,
|
|
|
+ sequeIssue: item.sequeIssue,
|
|
|
+ },
|
|
|
+ });
|
|
|
+ }
|
|
|
+ ">
|
|
|
+ <template #icon>
|
|
|
+ <div class="icon-red">{{ index + 1 }}</div>
|
|
|
+ </template>
|
|
|
+ </van-cell>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script setup lang="ts">
|
|
|
+import { getTopicClass } from "@/api";
|
|
|
+import { ref, reactive } from "vue";
|
|
|
+import { RouterBus } from "@/hooks";
|
|
|
+const {
|
|
|
+ route: { query },
|
|
|
+ router: { push },
|
|
|
+} = new RouterBus();
|
|
|
+const classDataLeft = ref([]);
|
|
|
+const classDataRight = ref([]);
|
|
|
+const classData = ref([]);
|
|
|
+getTopicClass(query.path as string, {
|
|
|
+ ...query,
|
|
|
+ excellIssueName: "必学",
|
|
|
+}).then(({ data }) => {
|
|
|
+ // res.data.data.shift();
|
|
|
+ console.log(data);
|
|
|
+ classDataLeft.value = data.data;
|
|
|
+ getTopicClass(query.path as string, {
|
|
|
+ ...query,
|
|
|
+ excellIssueName: "新增",
|
|
|
+ }).then(({ data }) => {
|
|
|
+ // data.data.shift();
|
|
|
+ classDataLeft.value = [...classDataLeft.value, ...data.data];
|
|
|
+ });
|
|
|
+ getTopicClass(query.path as string, {
|
|
|
+ ...query,
|
|
|
+ excellIssueName: "地方",
|
|
|
+ }).then(({ data }) => {
|
|
|
+ // data.data.shift();
|
|
|
+ classDataLeft.value = [...classDataLeft.value, ...data.data];
|
|
|
+ });
|
|
|
+
|
|
|
+});
|
|
|
+
|
|
|
+getTopicClass(query.path as string, {
|
|
|
+ ...query,
|
|
|
+ excellIssueName: "选学",
|
|
|
+}).then(({ data }) => {
|
|
|
+ classDataRight.value = data.data;
|
|
|
+});
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+.cell-container {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: row;
|
|
|
+}
|
|
|
+.cell-box {
|
|
|
+ display: flex;
|
|
|
+ padding: 5px 15px;
|
|
|
+ flex-wrap: wrap;
|
|
|
+ flex-direction: column;
|
|
|
+
|
|
|
+ .cell {
|
|
|
+ width: 167px;
|
|
|
+ margin-top: 10px;
|
|
|
+ box-shadow: 0px 0px 10px rgba(124, 129, 136, 0.2);
|
|
|
+ }
|
|
|
+ .icon-blue {
|
|
|
+ width: 20px;
|
|
|
+ height: 20px;
|
|
|
+ background: #498ef5;
|
|
|
+ border-radius: 50%;
|
|
|
+ font-weight: 500;
|
|
|
+ font-family: PingFang SC;
|
|
|
+ font-size: 13px;
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ color: #ffffff;
|
|
|
+ margin-right: 5px;
|
|
|
+ }
|
|
|
+ .icon-red {
|
|
|
+ width: 20px;
|
|
|
+ height: 20px;
|
|
|
+ background: red;
|
|
|
+ border-radius: 50%;
|
|
|
+ font-weight: 500;
|
|
|
+ font-family: PingFang SC;
|
|
|
+ font-size: 13px;
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ color: #ffffff;
|
|
|
+ margin-right: 5px;
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|