From 80889e7f32480ae76896f3bd042baa82a0fc9e9e Mon Sep 17 00:00:00 2001
From: luohairen <3399054449@qq.com>
Date: 星期四, 14 十一月 2024 11:39:07 +0800
Subject: [PATCH] 班级成绩图表分析

---
 src/views/train/data-list/index.vue |  182 ++++++++++++++++++++++++++++-----------------
 1 files changed, 114 insertions(+), 68 deletions(-)

diff --git a/src/views/train/data-list/index.vue b/src/views/train/data-list/index.vue
index 965749d..1db3240 100644
--- a/src/views/train/data-list/index.vue
+++ b/src/views/train/data-list/index.vue
@@ -1,82 +1,88 @@
 <template>
   <div class="list-container w-full h-full">
-      <div class="list-content w-full overflow-x-hidden">
-        <el-row :gutter="20">
-          <el-col :span="6" v-for="item in dataList" class="mb-5">
-            <el-card shadow="hover" class="list-card cursor-pointer" :body-style="{ padding: 0 }">
-              <div class="img-container w-full">
-                <img src="@/assets/list-card-bg.jpg" class="w-full">
+    <div class="list-content w-full overflow-x-hidden">
+      <el-row :gutter="10">
+        <el-col :span="6" v-for="item in tableData" class="margin-col">
+          <el-card shadow="hover" class="list-card cursor-pointer" :body-style="{ padding: 0 }">
+            <div class="img-container w-full">
+              <img src="@/assets/list-card-bg.jpg" class="width-img">
+            </div>
+            <div class="item-info p-3" style="position: relative">
+              <div class="info-text" style="position: absolute; top: 2px; right: 2px">
+                <el-tag type="info" effect="dark" v-if="item.status === 0">
+                  寰呭紑濮�
+                </el-tag>
+                <el-tag type="danger" effect="dark" v-else-if="item.status === 1">
+                  杩涜涓�
+                </el-tag>
+                <el-tag type="warning" effect="dark" v-else-if="item.status === 2">
+                  宸茬粨鏉�
+                </el-tag>
               </div>
-              <div class="item-info p-3">
-                <div class="info-title font-bold">{{ item.title }}</div>
-                <div class="info-teacher flex text-sm text-gray-500">
-                  <div class="info-label">涓昏:</div>
-                  <div class="info-text">{{ item.teacher }}</div>
-                </div>
-                <div class="info-time flex text-sm text-gray-500">
-                  <div class="info-label">寮�濮嬫椂闂�:</div>
-                  <div class="info-text">{{ item.startTime }}</div>
-                </div>
-                <div class="info-time flex text-sm text-gray-500">
-                  <div class="info-label">缁撴潫鏃堕棿:</div>
-                  <div class="info-text">{{ item.endTime }}</div>
-                </div>
+              <div class="info-title">{{ item.meetName }}</div>
+              <div class="info-teacherName" style="margin-top: 5px">
+                <div class="info-label" style="flex: 1">涓昏:</div>
+                <div class="info-text" style="flex:6">{{ item.teacherNamesStr }}</div>
               </div>
-              <el-button size="mini" @click="start" >寮�濮嬩笂璇�</el-button>
-            </el-card>
-          </el-col>
-        </el-row>
-      </div>
+              <div class="info-time" style="margin-top: 10px">
+                <div class="info-label">寮�濮嬫椂闂�:</div>
+                <div class="info-text">{{ item.startTime }}</div>
+              </div>
+              <div class="info-time">
+                <div class="info-label">缁撴潫鏃堕棿:</div>
+                <div class="info-text">{{ item.endTime }}</div>
+              </div>
+              <div class="button-container">
+                <el-button v-if="item.status!==2" @click="start(item)" type="primary" size="small">寮�濮嬩笂璇�</el-button>
+                <el-button @click="handleUpdate(item)" type="warning" size="small">缂栬緫</el-button>
+                <el-popconfirm
+                  style="margin: 0 5px"
+                  title="纭畾瑕佸垹闄よ鍩硅鍚楋紵"
+                  @confirm="remove(item)"
+                >
+                  <el-button slot="reference" type="danger" size="small" >鍒犻櫎</el-button>
+                </el-popconfirm>
+              </div>
+            </div>
+          </el-card>
+        </el-col>
+      </el-row>
+    </div>
   </div>
 </template>
 
 <script>
+
+import examPaperApi from "@/api/examPaper";
+
 export default {
-  data () {
-    return {
-      dataList: [
-        {
-          title: '娴嬭瘯1',
-          startTime: '2024-6-13 8:00',
-          endTime: '2024-6-13 8:00',
-          teacher: '娴嬭瘯娴嬭瘯',
-          roomName: 'test'
-        },
-        {
-          title: '娴嬭瘯1',
-          startTime: '2024-6-13 8:00',
-          endTime: '2024-6-13 8:00',
-          teacher: '娴嬭瘯娴嬭瘯',
-          roomName: 'test'
-        },
-        {
-          title: '娴嬭瘯1',
-          startTime: '2024-6-13 8:00',
-          endTime: '2024-6-13 8:00',
-          teacher: '娴嬭瘯娴嬭瘯',
-          roomName: 'test'
-        },
-        {
-          title: '娴嬭瘯1',
-          startTime: '2024-6-13 8:00',
-          endTime: '2024-6-13 8:00',
-          teacher: '娴嬭瘯娴嬭瘯',
-          roomName: 'test'
-        },
-        {
-          title: '娴嬭瘯1',
-          startTime: '2024-6-13 8:00',
-          endTime: '2024-6-13 8:00',
-          teacher: '娴嬭瘯娴嬭瘯',
-          roomName: 'test'
-        }
-      ]
-    }
+  props: {
+    tableData: []
   },
   methods: {
-    start(){
-      // this.$router.push({path:'/train/meet/index'})
-      window.open('https://ycl.easyblog.vip:8443/test');
+    handleUpdate (item) {
+      this.$emit('handleUpdate', item)
+    },
+    remove (item) {
+      this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ垚鍛�, 鏄惁缁х画?', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning'
+      }).then(() => {
+        this.$emit('remove', item)
+      })
+    },
+    start (item) {
+      this.$emit('start', item)
+    },
+    translateStatus (status) {
+      if (status === 0) {
+        return '寰呭紑濮�'
+      } else if (status === 1) {
+        return '杩涜涓�'
+      } else {
+        return '宸茬粨鏉�'
+      }
     }
   }
 }
@@ -102,5 +108,45 @@
 
 .list-card {
   border-radius: 10px;
+  height: 330px;
+}
+
+.item-info {
+  padding: 12px;
+  color: #8a8a8a;
+}
+.info-teacherName {
+  display: flex;
+  flex-direction: row;
+  font-size: 14px;
+}
+.info-label {
+  display: flex;
+  flex-wrap: nowrap;
+}
+.info-text {
+  display: flex;
+  flex-wrap: wrap;
+}
+
+.info-title {
+  font-weight: bold;
+}
+
+.info-time {
+  display: flex;
+}
+
+.margin-col {
+  margin-bottom: 20px;
+}
+
+.width-img {
+  width: 100%;
+}
+
+.button-container {
+  display: flex;
+  margin-top: 10px;
 }
 </style>

--
Gitblit v1.8.0