diff --git a/admin/src/views/page/Page.vue b/admin/src/views/page/Page.vue index 677f24b..d75fd90 100644 --- a/admin/src/views/page/Page.vue +++ b/admin/src/views/page/Page.vue @@ -1,7 +1,95 @@ <template> - <div></div> + <el-card> + <el-row :gutter="12"> + <el-col v-for="page of pageList" :key="page.id" :md="8"> + <div class="page-item"> + <!-- 对图片的操作 --> + <div class="page-opreation"> + <el-dropdown trigger="click"> + <el-icon color="#eee"><More /></el-icon> + <template #dropdown> + <el-dropdown-menu> + <el-dropdown-item @click="showDialog(page.id)"> 编辑 </el-dropdown-item> + </el-dropdown-menu> + </template> + </el-dropdown> + </div> + <el-image + :src="page.pageCover" + class="page-cover" + placeholder="别急,图片马上出来~" + ></el-image> + <div class="page-name">{{ page.pageName }}</div> + </div> + </el-col> + </el-row> + <el-dialog v-model="dialogVisible" width="40%" style="z-index: 9999"> + <el-form :model="pageForm" label-width="150px" label-position="left"> + <el-form-item label="上传页面图片"> + <Upload :url="pageForm.url" :width="360" :height="180" /> + </el-form-item> + </el-form> + <template #footer> + <span class="dialog-footer"> + <el-button @click="dialogVisible = false"> 取消 </el-button> + <el-button type="primary" @click="updatePage"> 修改 </el-button> + </span> + </template></el-dialog + > + </el-card> </template> -<script setup></script> +<script setup> +import { ref, onMounted } from 'vue' +import Upload from '@/components/Upload.vue' +import axios from 'axios' -<style lang="scss" scoped></style> +const pageList = ref([]) +const pageForm = ref({ + url: '' +}) +const dialogVisible = ref(false) + +onMounted(() => { + axios.get('/api/pages').then((res) => { + console.log(res.data) + pageList.value = res.data + }) +}) + +const showDialog = (id) => { + dialogVisible.value = true + pageForm.value.url = 'http://rlr92qkze.hn-bkt.clouddn.com/blog1669209793366.png' + console.log(id) +} + +const updatePage = () => { + dialogVisible.value = false +} +</script> + +<style lang="scss" scoped> +.page-item { + margin: 0 10px 20px 0; + cursor: pointer; + position: relative; + .page-opreation { + position: absolute; + right: 1.4em; + top: 1em; + z-index: 999; + } + .page-cover { + position: relative; + width: 100%; + height: 256px; + border-radius: 5px; + } + .page-name { + text-align: center; + } +} +.el-icon { + font-size: 22px; +} +</style>