|
|
@@ -1,154 +1,324 @@
|
|
|
+<!-- eslint-disable vue/no-parsing-error -->
|
|
|
<template>
|
|
|
- <div class="tab5">
|
|
|
- <div class="insideTop">专题管理</div>
|
|
|
- <div class="obstruct"></div>
|
|
|
- <div class="content">
|
|
|
- <div class="search">
|
|
|
- <div class="btns">
|
|
|
- <div class="left">
|
|
|
- <el-button v-for="tab in level1Data.filter(item => item.level===1)"
|
|
|
- :type="Number(activeTopId) ===tab.id?'primary':''" v-bind:key="tab.id"
|
|
|
- @click="handleLevelTopClick(tab.id)">{{ tab.name }}
|
|
|
- </el-button>
|
|
|
- </div>
|
|
|
- <div class="right">
|
|
|
- <el-button @click="level1Modal = true">一级专题管理</el-button>
|
|
|
- <el-button
|
|
|
- @click="(level2ModalFormVisible = true) && (handleAllReset() && (level2ModalForm.id = activeTopId))">
|
|
|
- 新增二级专题
|
|
|
- </el-button>
|
|
|
+ <div style="height: 100%">
|
|
|
+ <div v-show="!secondId" class="tab5">
|
|
|
+ <div class="insideTop">专题管理</div>
|
|
|
+ <div class="obstruct"></div>
|
|
|
+ <div class="content">
|
|
|
+ <div class="search">
|
|
|
+ <div class="btns">
|
|
|
+ <div class="left">
|
|
|
+ <el-button
|
|
|
+ v-for="tab in level1Data.filter((item) => item.level === 1)"
|
|
|
+ :type="Number(activeTopId) === tab.id ? 'primary' : ''"
|
|
|
+ v-bind:key="tab.id"
|
|
|
+ @click="handleLevelTopClick(tab.id)"
|
|
|
+ >{{ tab.name }}
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
+ <div class="right">
|
|
|
+ <el-button @click="level1Modal = true">一级专题管理</el-button>
|
|
|
+ <el-button
|
|
|
+ @click="
|
|
|
+ (level2ModalFormVisible = true) &&
|
|
|
+ handleAllReset() &&
|
|
|
+ (level2ModalForm.id = activeTopId)
|
|
|
+ "
|
|
|
+ >
|
|
|
+ 新增二级专题
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="table">
|
|
|
- <el-table :data="tableData" style="width: 100%" height="529px">
|
|
|
- <el-table-column prop="name" label="二级专题"></el-table-column>
|
|
|
- <el-table-column prop="thumb" label="封面">
|
|
|
- <template #default="{ row }">
|
|
|
- <img class="thumb" :src="getImageURL(row.thumb)" alt=""/>
|
|
|
- </template>
|
|
|
-
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="sort" label="排序值"></el-table-column>
|
|
|
- <el-table-column label="操作">
|
|
|
- <!-- <template #default="{ row }">-->
|
|
|
- <template #default="{ row }">
|
|
|
- <el-button type="text">村落设置</el-button>
|
|
|
- <el-button type="text" @click="handleLevel2Edit(row.id)">编辑</el-button>
|
|
|
- <el-popconfirm
|
|
|
- title="确定删除吗?"
|
|
|
- @confirm="handleLevel1Delete(row.id)"
|
|
|
- >
|
|
|
- <el-button slot="reference" type="text" style="padding: 0 5px">删除</el-button>
|
|
|
- </el-popconfirm>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- </div>
|
|
|
- <el-dialog
|
|
|
- :visible.sync="level1Modal"
|
|
|
- width="50%"
|
|
|
- destroy-on-close
|
|
|
- center>
|
|
|
-
|
|
|
<div class="table">
|
|
|
- <el-table :data="level1Data" style="width: 100%" min-height="450px">
|
|
|
- <el-table-column prop="name" label="专题名称"></el-table-column>
|
|
|
- <el-table-column prop="name" label="排序值"></el-table-column>
|
|
|
+ <el-table :data="tableData" style="width: 100%" height="100%">
|
|
|
+ <el-table-column prop="name" label="二级专题"></el-table-column>
|
|
|
+ <el-table-column prop="thumb" label="封面">
|
|
|
+ <template #default="{ row }">
|
|
|
+ <img class="thumb" :src="getImageURL(row.thumb)" alt="" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="sort" label="排序值"></el-table-column>
|
|
|
<el-table-column label="操作">
|
|
|
+ <!-- <template #default="{ row }">-->
|
|
|
<template #default="{ row }">
|
|
|
- <el-button type="text" @click="handleLevel1Edit(row.id)">编辑</el-button>
|
|
|
+ <el-button type="text" @click="handleVillageSettings(row.id)"
|
|
|
+ >村落设置</el-button
|
|
|
+ >
|
|
|
+ <el-button type="text" @click="handleLevel2Edit(row.id)"
|
|
|
+ >编辑</el-button
|
|
|
+ >
|
|
|
<el-popconfirm
|
|
|
title="确定删除吗?"
|
|
|
@confirm="handleLevel1Delete(row.id)"
|
|
|
>
|
|
|
- <el-button slot="reference" type="text" style="padding: 0 5px">删除</el-button>
|
|
|
+ <el-button slot="reference" type="text" style="padding: 0 5px"
|
|
|
+ >删除</el-button
|
|
|
+ >
|
|
|
</el-popconfirm>
|
|
|
-
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
</div>
|
|
|
- <div slot="title" class="lv1-modal-header">
|
|
|
- <span>一级专题</span>
|
|
|
- <el-button type="primary" @click="level1ModalFormVisible = true">新增</el-button>
|
|
|
- </div>
|
|
|
- <span slot="footer" class="dialog-footer">
|
|
|
+ <el-dialog
|
|
|
+ :visible.sync="level1Modal"
|
|
|
+ width="50%"
|
|
|
+ destroy-on-close
|
|
|
+ center
|
|
|
+ >
|
|
|
+ <div class="table">
|
|
|
+ <el-table :data="level1Data" style="width: 100%" min-height="450px">
|
|
|
+ <el-table-column prop="name" label="专题名称"></el-table-column>
|
|
|
+ <el-table-column prop="name" label="排序值"></el-table-column>
|
|
|
+ <el-table-column label="操作">
|
|
|
+ <template #default="{ row }">
|
|
|
+ <el-button type="text" @click="handleLevel1Edit(row.id)"
|
|
|
+ >编辑</el-button
|
|
|
+ >
|
|
|
+ <el-popconfirm
|
|
|
+ title="确定删除吗?"
|
|
|
+ @confirm="handleLevel1Delete(row.id)"
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ slot="reference"
|
|
|
+ type="text"
|
|
|
+ style="padding: 0 5px"
|
|
|
+ >删除</el-button
|
|
|
+ >
|
|
|
+ </el-popconfirm>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ <div slot="title" class="lv1-modal-header">
|
|
|
+ <span>一级专题</span>
|
|
|
+ <el-button type="primary" @click="level1ModalFormVisible = true"
|
|
|
+ >新增</el-button
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
<el-button @click="level1Modal = false">取 消</el-button>
|
|
|
- <el-button type="primary" @click="level1Modal = false">确 定</el-button>
|
|
|
- </span>
|
|
|
- </el-dialog>
|
|
|
+ <el-button type="primary" @click="level1Modal = false"
|
|
|
+ >确 定</el-button
|
|
|
+ >
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
|
|
|
- <el-dialog
|
|
|
- :visible.sync="level1ModalFormVisible"
|
|
|
- destroy-on-close
|
|
|
- width="30%"
|
|
|
- center>
|
|
|
- <div slot="title" class="lv1-modal-header">
|
|
|
- <span>新增</span>
|
|
|
- </div>
|
|
|
- <el-form ref="level1Form" label-position="right" label-width="80px" :model="level1ModalForm"
|
|
|
- :rules="level1ModalFormRules">
|
|
|
- <el-form-item label="专题名称" prop="name">
|
|
|
- <el-input v-model="level1ModalForm.name"></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="排序值" prop="sort">
|
|
|
- <el-input-number controls-position="right" placeholder="请输入1~999的数字。数字越小,排序越靠前。"
|
|
|
- v-model="level1ModalForm.sort"></el-input-number>
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
- <span slot="footer" class="dialog-footer">
|
|
|
+ <el-dialog
|
|
|
+ :visible.sync="level1ModalFormVisible"
|
|
|
+ destroy-on-close
|
|
|
+ width="30%"
|
|
|
+ center
|
|
|
+ >
|
|
|
+ <div slot="title" class="lv1-modal-header">
|
|
|
+ <span>新增</span>
|
|
|
+ </div>
|
|
|
+ <el-form
|
|
|
+ ref="level1Form"
|
|
|
+ label-position="right"
|
|
|
+ label-width="80px"
|
|
|
+ :model="level1ModalForm"
|
|
|
+ :rules="level1ModalFormRules"
|
|
|
+ >
|
|
|
+ <el-form-item label="专题名称" prop="name">
|
|
|
+ <el-input v-model="level1ModalForm.name"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="排序值" prop="sort">
|
|
|
+ <el-input-number
|
|
|
+ controls-position="right"
|
|
|
+ placeholder="请输入1~999的数字。数字越小,排序越靠前。"
|
|
|
+ v-model="level1ModalForm.sort"
|
|
|
+ ></el-input-number>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
<el-button @click="level1ModalFormVisible = false">取 消</el-button>
|
|
|
- <el-button type="primary" @click="handleLevel1Submit">确 定</el-button>
|
|
|
- </span>
|
|
|
- </el-dialog>
|
|
|
+ <el-button type="primary" @click="handleLevel1Submit"
|
|
|
+ >确 定</el-button
|
|
|
+ >
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
|
|
|
- <!-- 二级专题管理 -->
|
|
|
- <el-dialog
|
|
|
- destroy-on-close
|
|
|
- :visible.sync="level2ModalFormVisible"
|
|
|
- width="30%"
|
|
|
- center>
|
|
|
- <div slot="title" class="lv1-modal-header">
|
|
|
- <span>{{ level2ModalForm.id ? "编辑" : "新增" }}二级专题</span>
|
|
|
- </div>
|
|
|
- <el-form ref="level2Form" label-position="right" label-width="80px" :model="level2ModalForm"
|
|
|
- :rules="level1ModalFormRules">
|
|
|
- <el-form-item label="专题名称" prop="name" >
|
|
|
- <el-input v-model="level2ModalForm.name" placeholder="请输入内容,最多20字" :max-length="20"></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="封面" prop="thumb" >
|
|
|
- <el-upload
|
|
|
- action=""
|
|
|
- :limit="1"
|
|
|
- :http-request="handleFileUpload"
|
|
|
- list-type="picture-card"
|
|
|
- accept=".jpeg,.jpg,.png,.png"
|
|
|
- :file-list="level2ModalForm.filelist"
|
|
|
- :on-remove="handleFileRemove">
|
|
|
- <i class="el-icon-plus"></i>
|
|
|
- <div slot="tip" class="el-upload__tip">格式要求:支持png、jpg图片格式;最大支持5M,最多1张</div>
|
|
|
- </el-upload>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="排序值" prop="sort">
|
|
|
- <el-input-number controls-position="right" placeholder="请输入1~999的数字。数字越小,排序越靠前。"
|
|
|
- v-model="level2ModalForm.sort"></el-input-number>
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
- <span slot="footer" class="dialog-footer">
|
|
|
+ <!-- 二级专题管理 -->
|
|
|
+ <el-dialog
|
|
|
+ destroy-on-close
|
|
|
+ :visible.sync="level2ModalFormVisible"
|
|
|
+ width="30%"
|
|
|
+ center
|
|
|
+ >
|
|
|
+ <div slot="title" class="lv1-modal-header">
|
|
|
+ <span>{{ level2ModalForm.id ? "编辑" : "新增" }}二级专题</span>
|
|
|
+ </div>
|
|
|
+ <el-form
|
|
|
+ ref="level2Form"
|
|
|
+ label-position="right"
|
|
|
+ label-width="80px"
|
|
|
+ :model="level2ModalForm"
|
|
|
+ :rules="level1ModalFormRules"
|
|
|
+ >
|
|
|
+ <el-form-item label="专题名称" prop="name">
|
|
|
+ <el-input
|
|
|
+ v-model="level2ModalForm.name"
|
|
|
+ placeholder="请输入内容,最多20字"
|
|
|
+ :max-length="20"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="封面" prop="thumb">
|
|
|
+ <el-upload
|
|
|
+ action=""
|
|
|
+ :limit="1"
|
|
|
+ :http-request="handleFileUpload"
|
|
|
+ list-type="picture-card"
|
|
|
+ accept=".jpeg,.jpg,.png,.png"
|
|
|
+ :file-list="level2ModalForm.filelist"
|
|
|
+ :on-remove="handleFileRemove"
|
|
|
+ >
|
|
|
+ <i class="el-icon-plus"></i>
|
|
|
+ <div slot="tip" class="el-upload__tip">
|
|
|
+ 格式要求:支持png、jpg图片格式;最大支持5M,最多1张
|
|
|
+ </div>
|
|
|
+ </el-upload>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="排序值" prop="sort">
|
|
|
+ <el-input-number
|
|
|
+ controls-position="right"
|
|
|
+ placeholder="请输入1~999的数字。数字越小,排序越靠前。"
|
|
|
+ v-model="level2ModalForm.sort"
|
|
|
+ ></el-input-number>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
<el-button @click="level2ModalFormVisible = false">取 消</el-button>
|
|
|
- <el-button type="primary" @click="handleLevel2Submit">确 定</el-button>
|
|
|
- </span>
|
|
|
- </el-dialog>
|
|
|
+ <el-button type="primary" @click="handleLevel2Submit"
|
|
|
+ >确 定</el-button
|
|
|
+ >
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div v-if="secondId" class="tab5">
|
|
|
+ <div class="insideTop">
|
|
|
+ <span class="back" @click="secondId = null">
|
|
|
+ <i class="el-icon-arrow-left"></i>返回 </span
|
|
|
+ >村落设置
|
|
|
+ </div>
|
|
|
+ <div class="obstruct"></div>
|
|
|
+ <div class="content">
|
|
|
+ <div class="search">
|
|
|
+ <div class="btns">
|
|
|
+ <div class="left"></div>
|
|
|
+ <div class="right">
|
|
|
+ <el-button type="primary" @click="editVillage('add')"
|
|
|
+ >新增</el-button
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="table">
|
|
|
+ <el-table :data="villageData" style="width: 100%" height="100%">
|
|
|
+ <el-table-column prop="name" label="村落名称"></el-table-column>
|
|
|
+ <el-table-column prop="thumb" label="封面">
|
|
|
+ <template #default="{ row }">
|
|
|
+ <img class="thumb" :src="getImageURL(row.thumb)" alt="" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="remark" label="简介"></el-table-column>
|
|
|
+ <el-table-column prop="link" label="跳转链接"></el-table-column>
|
|
|
+ <el-table-column label="操作">
|
|
|
+ <!-- <template #default="{ row }">-->
|
|
|
+ <template #default="{ row }">
|
|
|
+ <!-- <el-button type="text" @click="handleVillageSettings(row.id)"
|
|
|
+ >村落设置</el-button
|
|
|
+ >
|
|
|
+ <el-button type="text" @click="handleLevel2Edit(row.id)"
|
|
|
+ >编辑</el-button
|
|
|
+ > -->
|
|
|
+ <el-popconfirm
|
|
|
+ title="确定删除吗?"
|
|
|
+ @confirm="handleVillageDelete(row.id)"
|
|
|
+ >
|
|
|
+ <el-button slot="reference" type="text" style="padding: 0 5px"
|
|
|
+ >删除</el-button
|
|
|
+ >
|
|
|
+ </el-popconfirm>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
|
|
|
+ <el-dialog
|
|
|
+ v-if="showVillageForm"
|
|
|
+ :visible.sync="showVillageForm"
|
|
|
+ destroy-on-close
|
|
|
+ width="30%"
|
|
|
+ center
|
|
|
+ >
|
|
|
+ <div slot="title" class="lv1-modal-header">
|
|
|
+ <span>新增</span>
|
|
|
+ </div>
|
|
|
+ <el-form
|
|
|
+ ref="villageForm"
|
|
|
+ label-position="right"
|
|
|
+ label-width="80px"
|
|
|
+ :model="villageForm"
|
|
|
+ :rules="villageFormRules"
|
|
|
+ >
|
|
|
+ <el-form-item label="村落名称" prop="name">
|
|
|
+ <el-input v-model="villageForm.name"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="封面" prop="thumb">
|
|
|
+ <el-upload
|
|
|
+ action=""
|
|
|
+ :limit="1"
|
|
|
+ :http-request="handleVillageFileUpload"
|
|
|
+ list-type="picture-card"
|
|
|
+ accept=".jpeg,.jpg,.png,.png"
|
|
|
+ :file-list="villageForm.filelist"
|
|
|
+ :on-remove="handleVillageFileRemove"
|
|
|
+ >
|
|
|
+ <i class="el-icon-plus"></i>
|
|
|
+ <div slot="tip" class="el-upload__tip">
|
|
|
+ 格式要求:支持png、jpg图片格式;最大支持5M,最多1张
|
|
|
+ </div>
|
|
|
+ </el-upload>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="简介" prop="remark">
|
|
|
+ <el-input type="textarea" v-model="villageForm.remark"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="跳转链接" prop="link">
|
|
|
+ <el-input v-model="villageForm.link"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="排序值" prop="sort">
|
|
|
+ <el-input-number
|
|
|
+ controls-position="right"
|
|
|
+ placeholder="请输入1~999的数字。数字越小,排序越靠前。"
|
|
|
+ v-model="villageForm.sort"
|
|
|
+ ></el-input-number>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="showVillageForm = false">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="handleVillageSubmit"
|
|
|
+ >确 定</el-button
|
|
|
+ >
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { getTopList, getSecondList, addEntity, deleteEntity, getEntity, fileUpload } from '@/apis/tab5'
|
|
|
+import {
|
|
|
+ getTopList,
|
|
|
+ getSecondList,
|
|
|
+ addEntity,
|
|
|
+ deleteEntity,
|
|
|
+ getEntity,
|
|
|
+ fileUpload
|
|
|
+} from '@/apis/tab5'
|
|
|
|
|
|
export default {
|
|
|
name: 'tab5',
|
|
|
@@ -156,37 +326,43 @@ export default {
|
|
|
data () {
|
|
|
// 这里存放数据
|
|
|
return {
|
|
|
+ secondId: null,
|
|
|
activeTopId: '1',
|
|
|
name: '',
|
|
|
+ villageData: [],
|
|
|
tableData: [],
|
|
|
level1Data: [],
|
|
|
level1Modal: false,
|
|
|
level1ModalFormVisible: false,
|
|
|
level1ModalForm: {},
|
|
|
+ villageForm: null,
|
|
|
+ showVillageForm: false,
|
|
|
level1ModalFormRules: {
|
|
|
- name: [
|
|
|
- { required: true, message: '请输入名称', trigger: 'change' }
|
|
|
- ],
|
|
|
- sort: [
|
|
|
- { required: true, message: '请输入排序值', trigger: 'change' }
|
|
|
- ],
|
|
|
- thumb: [
|
|
|
- { required: true, message: '请输入封面图' }
|
|
|
- ]
|
|
|
-
|
|
|
+ name: [{ required: true, message: '请输入名称', trigger: 'change' }],
|
|
|
+ sort: [{ required: true, message: '请输入排序值', trigger: 'change' }],
|
|
|
+ thumb: [{ required: true, message: '请上传封面图' }]
|
|
|
+ },
|
|
|
+ villageFormRules: {
|
|
|
+ name: [{ required: true, message: '请输入名称', trigger: 'change' }],
|
|
|
+ remark: [{ required: true, message: '请输入简介', trigger: 'change' }],
|
|
|
+ link: [{ required: true, message: '请输入链接', trigger: 'change' }],
|
|
|
+ sort: [{ required: true, message: '请输入排序值', trigger: 'change' }],
|
|
|
+ thumb: [{ required: true, message: '请上传封面图' }]
|
|
|
},
|
|
|
level2ModalFormVisible: false,
|
|
|
level2ModalForm: {
|
|
|
filelist: []
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
},
|
|
|
// 监听属性 类似于data概念
|
|
|
computed: {
|
|
|
getImageURL: (url) => {
|
|
|
return (url) => {
|
|
|
- const domain = process.env.NODE_ENV === 'development' ? 'http://project.4dage.com:8016' : ''
|
|
|
+ const domain =
|
|
|
+ process.env.NODE_ENV === 'development'
|
|
|
+ ? 'http://project.4dage.com:8016'
|
|
|
+ : ''
|
|
|
return domain + url
|
|
|
}
|
|
|
}
|
|
|
@@ -195,8 +371,62 @@ export default {
|
|
|
watch: {},
|
|
|
// 方法集合
|
|
|
methods: {
|
|
|
- handleClick () {
|
|
|
+ editVillage (add = false) {
|
|
|
+ if (add) {
|
|
|
+ this.villageForm = {
|
|
|
+ name: '',
|
|
|
+ thumb: '',
|
|
|
+ remark: '',
|
|
|
+ link: ''
|
|
|
+ }
|
|
|
+ setTimeout(() => {
|
|
|
+ this.showVillageForm = true
|
|
|
+ }, 100)
|
|
|
+ }
|
|
|
},
|
|
|
+ async handleVillageSettings (id) {
|
|
|
+ this.secondId = id
|
|
|
+ this.villageData = []
|
|
|
+ this.getVillageList()
|
|
|
+ },
|
|
|
+ async getVillageList () {
|
|
|
+ const list = await getSecondList(this.secondId)
|
|
|
+ this.villageData = list.data
|
|
|
+ },
|
|
|
+ handleVillageSubmit () {
|
|
|
+ this.$refs.villageForm.validate(async (valid) => {
|
|
|
+ if (valid) {
|
|
|
+ const params = {
|
|
|
+ parentId: this.secondId,
|
|
|
+ level: 3,
|
|
|
+ ...this.villageForm
|
|
|
+ }
|
|
|
+
|
|
|
+ const res = await addEntity(params)
|
|
|
+ console.error(res)
|
|
|
+ if (res.code === 0) {
|
|
|
+ this.$message({
|
|
|
+ message: res.msg,
|
|
|
+ type: 'success'
|
|
|
+ })
|
|
|
+ this.villageForm = null
|
|
|
+ this.showVillageForm = false
|
|
|
+ await this.getVillageList()
|
|
|
+ } else {
|
|
|
+ this.$message({
|
|
|
+ message: res.msg,
|
|
|
+ type: 'error'
|
|
|
+ })
|
|
|
+ // this.villageForm = null
|
|
|
+ // this.showVillageForm = false
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ console.error('error submit!!')
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ handleClick () {},
|
|
|
handleLevelTopClick (id) {
|
|
|
this.activeTopId = id
|
|
|
this.handleRefreshList()
|
|
|
@@ -214,6 +444,7 @@ export default {
|
|
|
// console.log('handleRefreshList', list)
|
|
|
this.tableData = list.data
|
|
|
},
|
|
|
+
|
|
|
handleLevel1Submit () {
|
|
|
this.$refs.level1Form.validate(async (valid) => {
|
|
|
if (valid) {
|
|
|
@@ -260,6 +491,21 @@ export default {
|
|
|
}
|
|
|
await this.handleRefreshLevel1List()
|
|
|
},
|
|
|
+ async handleVillageDelete (id) {
|
|
|
+ const res = await deleteEntity(id)
|
|
|
+ if (res.code === 0) {
|
|
|
+ this.$message({
|
|
|
+ message: '删除成功!',
|
|
|
+ type: 'success'
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ this.$message({
|
|
|
+ message: res.msg,
|
|
|
+ type: 'error'
|
|
|
+ })
|
|
|
+ }
|
|
|
+ await this.getVillageList()
|
|
|
+ },
|
|
|
async handleLevel1Edit (id) {
|
|
|
this.level1ModalFormVisible = true
|
|
|
const res = await getEntity(id)
|
|
|
@@ -270,8 +516,7 @@ export default {
|
|
|
}
|
|
|
console.log('res', res)
|
|
|
},
|
|
|
- handleFileRemove () {
|
|
|
- },
|
|
|
+ handleFileRemove () {},
|
|
|
async handleFileUpload ({ file }) {
|
|
|
const res = await fileUpload({
|
|
|
file: file,
|
|
|
@@ -280,6 +525,17 @@ export default {
|
|
|
console.log('res', res.data.filePath)
|
|
|
this.level2ModalForm.thumb = res.data.filePath
|
|
|
},
|
|
|
+ handleVillageFileRemove () {
|
|
|
+ this.villageForm.thumb = ''
|
|
|
+ },
|
|
|
+ async handleVillageFileUpload ({ file }) {
|
|
|
+ const res = await fileUpload({
|
|
|
+ file: file,
|
|
|
+ type: 'thumb'
|
|
|
+ })
|
|
|
+ console.log('res', res.data.filePath)
|
|
|
+ this.villageForm.thumb = res.data.filePath
|
|
|
+ },
|
|
|
handleLevel2Submit () {
|
|
|
this.$refs.level2Form.validate(async (valid) => {
|
|
|
if (valid) {
|
|
|
@@ -314,11 +570,15 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
+
|
|
|
async handleLevel2Edit (id) {
|
|
|
console.log(id)
|
|
|
this.level2ModalFormVisible = true
|
|
|
const res = await getEntity(id)
|
|
|
- const domain = process.env.NODE_ENV === 'development' ? 'http://project.4dage.com:8016' : ''
|
|
|
+ const domain =
|
|
|
+ process.env.NODE_ENV === 'development'
|
|
|
+ ? 'http://project.4dage.com:8016'
|
|
|
+ : ''
|
|
|
|
|
|
this.level2ModalForm = {
|
|
|
id: id,
|
|
|
@@ -352,35 +612,28 @@ export default {
|
|
|
async mounted () {
|
|
|
await this.handleRefreshLevel1List()
|
|
|
},
|
|
|
- beforeCreate () {
|
|
|
- }, // 生命周期 - 创建之前
|
|
|
- beforeMount () {
|
|
|
- }, // 生命周期 - 挂载之前
|
|
|
- beforeUpdate () {
|
|
|
- }, // 生命周期 - 更新之前
|
|
|
- updated () {
|
|
|
- }, // 生命周期 - 更新之后
|
|
|
- beforeDestroy () {
|
|
|
- }, // 生命周期 - 销毁之前
|
|
|
- destroyed () {
|
|
|
- }, // 生命周期 - 销毁完成
|
|
|
- activated () {
|
|
|
- } // 如果页面有keep-alive缓存功能,这个函数会触发
|
|
|
+ beforeCreate () {}, // 生命周期 - 创建之前
|
|
|
+ beforeMount () {}, // 生命周期 - 挂载之前
|
|
|
+ beforeUpdate () {}, // 生命周期 - 更新之前
|
|
|
+ updated () {}, // 生命周期 - 更新之后
|
|
|
+ beforeDestroy () {}, // 生命周期 - 销毁之前
|
|
|
+ destroyed () {}, // 生命周期 - 销毁完成
|
|
|
+ activated () {} // 如果页面有keep-alive缓存功能,这个函数会触发
|
|
|
}
|
|
|
</script>
|
|
|
-<style lang='less' scoped>
|
|
|
+<style lang="less" scoped>
|
|
|
.tab5 {
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
|
|
|
|
.content {
|
|
|
padding: 0 20px;
|
|
|
-
|
|
|
+ height: calc(100% - 52px);
|
|
|
.search {
|
|
|
height: 70px;
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
- border-bottom: 1px solid black;
|
|
|
+ // border-bottom: 1px solid black;
|
|
|
|
|
|
.btns {
|
|
|
display: flex;
|
|
|
@@ -400,6 +653,11 @@ export default {
|
|
|
}
|
|
|
|
|
|
.table {
|
|
|
+ height: calc(100% - 70px);
|
|
|
+
|
|
|
+ /deep/ .el-table {
|
|
|
+ overflow-y: auto;
|
|
|
+ }
|
|
|
/deep/ .el-table .cell {
|
|
|
padding: 3px 0;
|
|
|
}
|
|
|
@@ -430,8 +688,19 @@ export default {
|
|
|
}
|
|
|
|
|
|
.thumb {
|
|
|
- max-height: 100px;
|
|
|
- width: auto;
|
|
|
+ // max-height: 100px;
|
|
|
+ // width: auto;
|
|
|
+
|
|
|
+ width: 100px; /* 最大宽度 */
|
|
|
+ height: 100px; /* 最大高度 */
|
|
|
+ object-fit: contain;
|
|
|
+ // width: auto; /* 宽度自适应 */
|
|
|
+ // height: auto; /* 高度自适应 */
|
|
|
+ display: block; /* 避免底部空白 */
|
|
|
}
|
|
|
}
|
|
|
+.back {
|
|
|
+ margin-right: 10px;
|
|
|
+ cursor: pointer;
|
|
|
+}
|
|
|
</style>
|