From bc35d48bada733a0a4677cce54f3aa5ce3080be6 Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: Thu, 20 Jun 2024 17:33:35 +0800
Subject: [PATCH] 提交
---
src/views/onlineEducation/systemManage/banner/index.vue | 136 +++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 129 insertions(+), 7 deletions(-)
diff --git a/src/views/onlineEducation/systemManage/banner/index.vue b/src/views/onlineEducation/systemManage/banner/index.vue
index 34c2a8b..bd41546 100644
--- a/src/views/onlineEducation/systemManage/banner/index.vue
+++ b/src/views/onlineEducation/systemManage/banner/index.vue
@@ -1,12 +1,134 @@
<template>
-<div>轮播图管理</div>
+ <div class="app-container">
+ <div style="margin-bottom: 10px">
+ <el-button
+ type="primary"
+ plain
+ icon="Plus"
+ @click="openDialog('add',{})"
+ >新增</el-button>
+ </div>
+ <!-- 表格数据 -->
+ <el-table v-loading="loading" :data="dataList" :border="true">
+ <el-table-column label="序号" type="index" align="center" width="80" />
+ <el-table-column label="标题" prop="title" align="center" />
+ <el-table-column label="图片" prop="imgUrl" align="center" >
+ <template #default="scope">
+ <div class="demo-image__preview" v-if="scope.row.imgUrl && scope.row.imgUrl.length>0">
+ <el-image
+ style="width: 100px; height: 100px"
+ :src= "scope.row.imgUrl[0]"
+ :zoom-rate="1.2"
+ :max-scale="7"
+ :min-scale="0.2"
+ :preview-src-list="scope.row.imgUrl"
+ :initial-index="0"
+ fit="cover"
+ :preview-teleported=true
+ />
+ </div>
+ </template>
+ </el-table-column>
+ <el-table-column label="地址" prop="webUrl" align="center" />
+ <el-table-column label="跳转方式" prop="carouselTarget" align="center" >
+ <template #default="scope">
+ <span>{{scope.row.carouselTarget == 0 ? '新窗口打开' : '内部打开' }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="排序" prop="sort" align="center"/>
+ <el-table-column label="状态" prop="status" align="center" width="150"/>
+ <el-table-column label="操作" align="center" class-name="small-padding fixed-width" >
+ <template #default="scope">
+ <el-button link type="primary" @click="openDialog('edit',scope.row)">编辑</el-button>
+ <el-button link type="danger" @click="handleDelete(scope.row)">删除</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+
+ <pagination
+ v-show="total > 0"
+ :total="total"
+ v-model:page="queryParams.pageNum"
+ v-model:limit="queryParams.pageSize"
+ @pagination="getList"
+ />
+ <banner-dialog ref="dialogRef" @getList=getList></banner-dialog>
+ </div>
</template>
+
<script setup>
+import {getCurrentInstance, onMounted, onUnmounted, reactive, ref, toRefs} from "vue";
+import {ElMessage, ElMessageBox} from "element-plus";
+import {delCompany, getCompany} from "@/api/onlineEducation/company";
+import bannerDialog from './components/bannerDialog.vue'
+import {delBanner, getBanner} from "@/api/onlineEducation/banner";
+const { proxy } = getCurrentInstance();
+const loading = ref(false);
+const dialogRef = ref();
+const data = reactive({
+ queryParams: {
+ pageNum: 1,
+ pageSize: 10,
+ },
+ total: 0,
+ dataList: []
+});
+
+const { queryParams, total, dataList } = toRefs(data);
+
+onMounted(()=>{
+ getList()
+})
+
+onUnmounted(()=>{
+
+})
+
+const getList = async () => {
+ loading.value = true
+ const res = await getBanner(data.queryParams)
+ if(res.code == 200){
+ data.dataList = res.data.list.map(item => {
+ return {
+ ...item,
+ status: item.status === 0 ? '正常' : '停用',
+ imgUrl: item.imgUrl ?[import.meta.env.VITE_APP_BASE_API + "/" + item.imgUrl] : []
+ }
+ })
+ console.log("ddd",data.dataList)
+ data.total = res.data.total
+ }else{
+ ElMessage.warning(res.message)
+ }
+ loading.value = false
+}
+
+const openDialog = (type, value) => {
+ dialogRef.value.openDialog(type, value);
+}
+
+/** 重置新增的表单以及其他数据 */
+function reset() {
+ proxy.resetForm("roleRef");
+}
+const handleDelete = (val) => {
+ ElMessageBox.confirm(
+ '确定删除此条数据?',
+ '提示',
+ {
+ confirmButtonText: '确定',
+ cancelButtonText: '取消',
+ type: 'warning',
+ })
+ .then( async() => {
+ const res = await delBanner(val.id)
+ if(res.code == 200){
+ ElMessage.success('数据删除成功')
+ await getList()
+ }else{
+ ElMessage.warning(res.message)
+ }
+ })
+}
</script>
-
-
-
-<style scoped lang="scss">
-
-</style>
--
Gitblit v1.9.2