完成首页长图配置页面、完成活动创建、活动列表页

This commit is contained in:
monanxiao
2024-10-11 15:32:53 +08:00
parent 3bb53d3450
commit fc26893525
2 changed files with 290 additions and 3 deletions
+67
View File
@@ -3,6 +3,13 @@
<el-row :gutter="10">
<el-col :span="4">
<el-button type="success" @click="drawer = true">
<el-icon style="margin-right: 10px;"><CirclePlus /></el-icon>
创建活动
</el-button>
</el-col>
<el-col :span="4">
<el-input
v-model="searchName"
@@ -19,6 +26,65 @@
</el-col>
</el-row>
<el-drawer v-model="drawer" :direction="direction">
<template #header>
<h4>创建活动</h4>
</template>
<template #default>
<el-input
v-model="input1"
style="max-width: 600px;margin-bottom: 20px"
placeholder="请输入活动名称"
>
<template #prepend>活动名称</template>
</el-input>
<el-upload
class="upload-demo"
drag
action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
multiple
>
<el-icon class="el-icon--upload">
<upload-filled/>
</el-icon>
<div class="el-upload__text">
点击或拖拽上传缩略图(横幅缩略图)
</div>
<template #tip>
<div class="el-upload__tip">
文件格式jpg/png
</div>
</template>
</el-upload>
<el-upload
class="upload-demo"
drag
action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
multiple
>
<el-icon class="el-icon--upload">
<upload-filled/>
</el-icon>
<div class="el-upload__text">
点击或拖拽上传活动长图活动详情
</div>
<template #tip>
<div class="el-upload__tip">
文件格式jpg/png
</div>
</template>
</el-upload>
<div style="display: flex;justify-content: flex-end;margin-top: 50px">
<el-button @click="cancelClick">取消</el-button>
<el-button type="primary" @click="confirmClick">确认</el-button>
</div>
</template>
</el-drawer>
</el-card>
@@ -110,6 +176,7 @@ const total = ref(0)
const formInline = ref({})
const registerDate = ref('');
const searchName = ref('');
const drawer = ref(false)
const queryData = ref({
keyWord: '',
page: 1,
+223 -3
View File
@@ -1,9 +1,229 @@
<template>
<el-card>
<div> 首页配置</div>
<el-button type="success" @click="drawer = true">
上传首页图
<el-icon class="el-icon--right">
<Upload/>
</el-icon>
</el-button>
<el-drawer v-model="drawer" :direction="direction">
<template #header>
<h4>上传图片</h4>
</template>
<template #default>
<el-input
v-model="input1"
style="max-width: 600px;margin-bottom: 20px"
placeholder="请输入图片排序"
>
<template #prepend>序号</template>
</el-input>
<el-upload
class="upload-demo"
drag
action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
multiple
>
<el-icon class="el-icon--upload">
<upload-filled/>
</el-icon>
<div class="el-upload__text">
点击或拖拽上传图片
</div>
<template #tip>
<div class="el-upload__tip">
文件格式jpg/png
</div>
</template>
</el-upload>
<div style="display: flex;justify-content: flex-end;margin-top: 50px">
<el-button @click="cancelClick">取消</el-button>
<el-button type="primary" @click="confirmClick">确认</el-button>
</div>
</template>
</el-drawer>
</el-card>
<el-card class="mt10">
<el-table
ref="table"
:data="tableData"
:default-sort="{ prop: 'date', order: 'descending' }"
:header-cell-style="{ backgroundColor: '#ecf5ff' }"
border
stripe
style="width: 100%"
>
<el-table-column
label="序号"
prop="userId"
width="120"
align="center"
show-overflow-tooltip
sortable
/>
<el-table-column label="首页图" align="center">
<template #default="scope">
<el-image style="width: 600px; height: 50px" :src="scope.row.avatar" :fit="fit" lazy/>
</template>
</el-table-column>
<el-table-column label="操作" align="center">
<template v-slot:default="scope">
<el-button type="danger">删除</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
small
background
layout="prev, pager, next"
:total="tableData.length"
class="mt-4 mt10"
@current-change="handleCurrentChange"
/>
</el-card>
</template>
<script setup>
import * as XLSX from 'xlsx'
import {
Edit,
Delete,
InfoFilled,
View,
ArrowDownBold,
Plus,
} from '@element-plus/icons-vue'
import {nextTick, onMounted, reactive, ref} from 'vue'
<script setup></script>
import {options} from './options.js'
import {getUserList} from "../../api/modules/user";
<style lang="scss" scoped></style>
const tableData = ref([])
const dataList = ref([])
const table = ref()
const tabclickIndex = ref()
const isExpand = ref(false)
const columnData = ref(JSON.parse(JSON.stringify(options)))
const disabled = ref(false)
const dialogVisible = ref(false)
const total = ref(0)
const formInline = ref({})
const registerDate = ref('');
const searchName = ref('');
const drawer = ref(false)
const queryData = ref({
keyWord: '',
page: 1,
size: 10,
})
const initData = () => {
tableData.value = columnData.value;
// orderLists(queryData.value).then((res) => {
// console.log(res.data.data)
// // total.value = res.data.data.total
// tableData.value = res.data.data
// })
}
const itemEditHanld = (item) => {
item.itemEdit = !item.itemEdit
// // console.log(JSON.stringify(item));
// tabclickIndex.value = item;
}
const handleSizeChange = (val) => {
console.log(val)
}
const handleSelectionChange = (val) => {
}
const handleCurrentChange = (val) => {
queryData.value.size = 10
queryData.value.page = val
initData(queryData.value)
}
const handleClose = () => {
}
const dialogVisibleHanle = () => {
console.log('滑动加载')
}
const handleExpand = () => {
isExpand.value = false
tableData.value.forEach((item) => {
table.value.toggleRowExpansion(item, isExpand.value)
})
}
const handleOpen = () => {
isExpand.value = true
tableData.value.forEach((item) => {
table.value.toggleRowExpansion(item, isExpand.value)
})
}
onMounted(() => {
initData()
})
</script>
<style lang="scss" scoped>
.mt-4 {
float: right;
text-align: right;
margin-bottom: 20px;
}
.demo-form-inline {
}
.dragClass {
background: rgba($color: #41c21a, $alpha: 0.5) !important;
}
// 停靠
.ghostClass {
background: rgba($color: #6cacf5, $alpha: 0.5) !important;
}
// 选择
.chosenClass:hover > td {
background: rgba($color: #f56c6c, $alpha: 0.5) !important;
}
.icon-view {
font-size: 20px;
color: #673ab7;
margin: 0 10px;
}
.icon-edit {
font-size: 20px;
color: #2f60c2;
margin: 0 10px;
}
.icon-dele {
font-size: 20px;
color: #ff5722;
}
.btn-color {
background: #fff;
color: #4c60cc;
}
.expand-title {
padding: 10px;
color: #919399;
font-weight: 600;
}
</style>