最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于Vue+ELement搭建動態(tài)樹與數(shù)據(jù)表格實現(xiàn)分頁模糊查詢實戰(zhàn)全過程

 更新時間:2023年10月10日 10:18:18   作者:Java方文山  
這篇文章主要給大家介紹了關(guān)于如何基于Vue+ELement搭建動態(tài)樹與數(shù)據(jù)表格實現(xiàn)分頁模糊查詢的相關(guān)資料,Vue Element UI提供了el-pagination組件來實現(xiàn)表格數(shù)據(jù)的分頁功能,需要的朋友可以參考下

一、前言

在上一篇博文我們搭建了首頁導(dǎo)航和左側(cè)菜單,但是我們的左側(cè)菜單是死數(shù)據(jù)今天我們就來把死的變成活的,并且完成右側(cè)內(nèi)容的書籍?dāng)?shù)據(jù)表格的展示與分頁效果,話不多說上代碼??!

二、左側(cè)動態(tài)樹實現(xiàn)

2.1.后臺數(shù)據(jù)接口定義

首先我們將后端的代碼寫好Controller層代碼

package com.zking.ssm.controller;
import com.zking.ssm.model.Module;
import com.zking.ssm.model.RoleModule;
import com.zking.ssm.model.TreeNode;
import com.zking.ssm.service.IModuleService;
import com.zking.ssm.util.JsonResponseBody;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
@Controller
@RequestMapping("/module")
public class ModuleController {
    @Autowired
    private IModuleService moduleService;
    @RequestMapping("/queryRootNode")
    @ResponseBody
    public JsonResponseBody<List<Module>> queryRootNode(){
        try {
            List<Module> modules = moduleService.queryRootNode(-1);
            return new JsonResponseBody<>("OK",true,0,modules);
        } catch (Exception e) {
            e.printStackTrace();
            return new JsonResponseBody<>("初始化首頁菜單錯誤",false,0,null);
        }
    }
    @RequestMapping("/queryElementTree")
    @ResponseBody
    public JsonResponseBody<List<TreeNode>> queryElementTree(){
        try {
            List<TreeNode> modules = moduleService.queryTreeNode(-1);
            return new JsonResponseBody<>("OK",true,0,modules);
        } catch (Exception e) {
            e.printStackTrace();
            return new JsonResponseBody<>("初始化ElementUI的Tree組件錯誤",false,0,null);
        }
    }
    @RequestMapping("/addRoleModule")
    @ResponseBody
    public JsonResponseBody<?> addRoleModule(RoleModule roleModule){
        try {
            moduleService.addRoleModule(roleModule);
            return new JsonResponseBody<>("新增角色權(quán)限成功",true,0,null);
        } catch (Exception e) {
            e.printStackTrace();
            return new JsonResponseBody<>("新增角色權(quán)限失敗",false,0,null);
        }
    }
    @RequestMapping("/queryModuleByRoleId")
    @ResponseBody
    public JsonResponseBody<List<String>> queryModuleByRoleId(RoleModule roleModule){
        try {
            List<String> modules = moduleService.queryModuleByRoleId(roleModule);
            return new JsonResponseBody<>("OK",true,0,modules);
        } catch (Exception e) {
            e.printStackTrace();
            return new JsonResponseBody<>("獲取角色權(quán)限失敗",false,0,null);
        }
    }
}

由此我們可知后端查詢的樹形菜單的接口為:http://localhost:8080/ssm/module/queryRootNode

2.2.前端導(dǎo)航菜單綁定

數(shù)據(jù)有了我們只用考慮怎么通過Vue拿到數(shù)據(jù)以及展示數(shù)據(jù)就可以了。

找到src下面的api目錄下的action.js文件添加下列接口

  'SYSTEM_USER_MODULE': '/module/queryRootNode', //左側(cè)菜單

 在LeftNav.vue中的鉤子函數(shù)內(nèi)編寫方法去到后端拿取數(shù)據(jù)賦予變量

created() {
      this.$root.Bus.$on('aaa', r => {
        this.collapsed = r;
      });
      //加載頁面先去后端拿數(shù)據(jù)
      let url = this.axios.urls.SYSTEM_USER_MODULE;
      this.axios.get(url, {}).then(r => {
        this.menus=r.data.rows
      }).catch(e => {
      })
    }

并在data中定義變量 menus:[]

 menus:[]

2.3.根據(jù)數(shù)據(jù)渲染頁面

去到我們ELement查找相應(yīng)的代碼進行cv,下面是我找好的你們直接用,我們現(xiàn)在只需要將后端獲取到的數(shù)據(jù)在上面的代碼中進行遍歷即可。

        <!-- 左側(cè)菜單內(nèi)容-->
      <el-submenu v-for="m in menus" :index="'ind_'+m.id" :key="'key_'+m.id">
        <template slot="title">
          <i :class="m.icon"></i>
          <span>{{m.text}}</span>
        </template>
        <el-menu-item  v-for="ms in m.modules" :index="ms.url" :key="'key_'+ms.id">
          <i :class="ms.icon"></i>
          <span>{{ms.text}}</span>
        </el-menu-item>
      </el-submenu>

效果展示:

2.4.動態(tài)路由實現(xiàn)

我們點擊下方的子菜單肯定會顯示右側(cè)白框里面的內(nèi)容,所以我們需要實現(xiàn)動態(tài)路由

①實現(xiàn)路由跳轉(zhuǎn)及當(dāng)前項的設(shè)置

<el-menu router :default-active="$route.path">
	<el-menu-item index="/company/userManager">用戶管理</el-menu-item>
</el-menu>

注意事項:

①要實現(xiàn)路由跳轉(zhuǎn),先要在 el-menu 標(biāo)簽上添加router屬性,然后只要在每個 el-menu-item 標(biāo)簽內(nèi)的index屬性設(shè)置一下url即可實現(xiàn)點擊 el-menu-item 實現(xiàn)路由跳轉(zhuǎn)。

②導(dǎo)航當(dāng)前項,在 el-menu 標(biāo)簽中綁定 :default-active="$route.path",注意是綁定屬性,不要忘了加“:”,當(dāng)$route.path等于 el-menu-item 標(biāo)簽中的index屬性值時則該item為當(dāng)前項。

③el-submenu標(biāo)簽中的url屬性不能為空,且不能相同,否則會導(dǎo)致多個節(jié)點收縮/折疊效果相同的問題。

②生成相對應(yīng)的Vue文件

根據(jù)我們點擊子菜單所顯示的層級關(guān)系進行Vue組件的編寫,下面以書本管理下面的新增書本為例

AddBook.Vue

<template>
  <h1>新增書本</h1>
</template>
<script>
</script>
<style>
</style>

③配置路由與路由路徑的關(guān)系 

index.js

import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'
import AppMain from '@/components/AppMain'
import LeftNav from '@/components/LeftNav'
import TopNav from '@/components/TopNav'
import Login from '@/views/Login'
import Registered from '@/views/Registered'
import AddBook from '@/views/book/AddBook'
import BookList from '@/views/book/BookList'
Vue.use(Router)
export default new Router({
  routes: [{
    path: '/',
    name: 'Login',
    component: Login
  }, {
    path: '/Registered',
    name: 'Registered',
    component: Registered
  }, {
    path: '/AppMain',
    name: 'AppMain',
    component: AppMain,
    children: [{
      path: '/LeftNav',
      name: 'LeftNav',
      component: LeftNav
    }, {
      path: '/TopNav',
      name: 'TopNav',
      component: TopNav
    }, {
      path: '/book/AddBook',
      name: 'AddBook',
      component: AddBook
    }, {
      path: '/book/BookList',
      name: 'BookList',
      component: BookList
    }]
  }]
})

④將組件渲染到頁面上

在AppMain.js中顯示組件就需要加上<router-view></router-view>

<template>
  <el-container class="main-container">
    <el-aside v-bind:class="asideClass">
      <LeftNav></LeftNav>
    </el-aside>
    <el-container>
      <el-header class="main-header">
        <TopNav></TopNav>
      </el-header>
      <el-main class="main-center">
        <router-view></router-view>
      </el-main>
    </el-container>
  </el-container>
</template>
<script>
  // 導(dǎo)入組件
  import TopNav from '@/components/TopNav.vue'
  import LeftNav from '@/components/LeftNav.vue'
  // 導(dǎo)出模塊
  export default {
    components: {
      TopNav,LeftNav
    },data() {
      return {
        asideClass: "main-aside"
      }
    },
    created(){
      this.$root.Bus.$on('aaa',r=>{
        this.asideClass=r ? 'main-aside-collapsed':'main-aside';
      });
    }
  };
</script>
<style scoped>
  .main-container {
    height: 100%;
    width: 100%;
    box-sizing: border-box;
  }
  .main-aside-collapsed {
    /* 在CSS中,通過對某一樣式聲明! important ,可以更改默認(rèn)的CSS樣式優(yōu)先級規(guī)則,使該條樣式屬性聲明具有最高優(yōu)先級 */
    width: 64px !important;
    height: 100%;
    background-color: #334157;
    margin: 0px;
  }
  .main-aside {
    width: 240px !important;
    height: 100%;
    background-color: #334157;
    margin: 0px;
  }
  .main-header,
  .main-center {
    padding: 0px;
    border-left: 2px solid #333;
  }
</style>

效果演示:

三、右側(cè)內(nèi)容數(shù)據(jù)表格

3.1.根據(jù)文檔搭建頁面

首先我們分析一下,我們右側(cè)有那些內(nèi)容?然后去到我們ELementUI官網(wǎng)查找相對應(yīng)的案例代碼,我們首先需要一個form表單提供我們輸入書籍名稱進行模糊查詢,還需要數(shù)據(jù)表格展示數(shù)據(jù),其次就是底部的分頁條來完成分頁效果,知道了需求我們直接去找案例代碼即可。

AddBook.js

<template>
  <div>
    <!--搜索欄-->
    <el-form :inline="true" class="form-search" style="padding: 30px;">
      <el-form-item label="書本名稱">
        <el-input v-model="bookname" placeholder="請輸入書本名稱"></el-input>
      </el-form-item>
      <el-form-item>
        <el-button type="primary" icon="el-icon-search" @click="query(1)">查詢</el-button>
      </el-form-item>
    </el-form>
    <!-- 數(shù)據(jù)表格-->
    <el-table :data="tableData" style="width: 100%" :row-class-name="tableRowClassName">
      <el-table-column prop="id" label="編號" width="180">
      </el-table-column>
      <el-table-column prop="bookname" label="書籍名稱" width="180">
      </el-table-column>
      <el-table-column prop="price" label="書籍價格" width="180">
      </el-table-column>
      <el-table-column prop="booktype" label="書籍類別" width="180">
      </el-table-column>
    </el-table>
    <!-- 分頁欄-->
    <div class="block">
      <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage4"
        :page-sizes="[100, 200, 300, 400]" :page-size="100" layout="total, sizes, prev, pager, next, jumper"
        :total="400">
      </el-pagination>
    </div>
  </div>
</template>
<script>
  export default {
    data() {
      return {
        bookname: "",
        tableData: []
      }
    },
    methods: {
    }
  }
</script>
<style>
  .el-table .warning-row {
    background: oldlace;
  }
  .el-table .success-row {
    background: #f0f9eb;
  }
</style>

這樣我們的基本內(nèi)容就搭建完成了 

3.2.實現(xiàn)模糊查詢

和前面一樣我們先去后端將接口定義好

package com.zking.ssm.controller;
import com.zking.ssm.model.Book;
import com.zking.ssm.service.IBookService;
import com.zking.ssm.util.JsonResponseBody;
import com.zking.ssm.util.PageBean;
import com.zking.ssm.vo.BookFileVo;
import org.apache.commons.io.IOUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.util.List;
import java.util.Map;
@Controller
@RequestMapping("/book")
public class BookController {
    @Autowired
    private IBookService bookService;
    @RequestMapping("/addBook")
    @ResponseBody
    public JsonResponseBody<?> addBook(Book book){
        try {
            bookService.insert(book);
            return new JsonResponseBody<>("新增書本成功",true,0,null);
        } catch (Exception e) {
            e.printStackTrace();
            return new JsonResponseBody<>("新增書本失敗",false,0,null);
        }
    }
    @RequestMapping("/editBook")
    @ResponseBody
    public JsonResponseBody<?> editBook(Book book){
        try {
            bookService.updateByPrimaryKey(book);
            return new JsonResponseBody<>("編輯書本成功",true,0,null);
        } catch (Exception e) {
            e.printStackTrace();
            return new JsonResponseBody<>("編輯書本失敗",false,0,null);
        }
    }
    @RequestMapping("/delBook")
    @ResponseBody
    public JsonResponseBody<?> delBook(Book book){
        try {
            bookService.deleteByPrimaryKey(book.getId());
            return new JsonResponseBody<>("刪除書本成功",true,0,null);
        } catch (Exception e) {
            e.printStackTrace();
            return new JsonResponseBody<>("刪除書本失敗",false,0,null);
        }
    }
    @RequestMapping("/queryBookPager")
    @ResponseBody
    public JsonResponseBody<List<Book>> queryBookPager(Book book, HttpServletRequest req){
        try {
            PageBean pageBean=new PageBean();
            pageBean.setRequest(req);
            List<Book> books = bookService.queryBookPager(book, pageBean);
            return new JsonResponseBody<>("OK",true,pageBean.getTotal(),books);
        } catch (Exception e) {
            e.printStackTrace();
            return new JsonResponseBody<>("分頁查詢書本失敗",false,0,null);
        }
    }
    @RequestMapping("/queryBookCharts")
    @ResponseBody
    public JsonResponseBody<?> queryBookCharts(){
        try{
            Map<String, Object> charts = bookService.queryBookCharts();
            return new JsonResponseBody<>("OK",true,0,charts);
        }catch (Exception e){
            e.printStackTrace();
            return new JsonResponseBody<>("查詢統(tǒng)計分析數(shù)據(jù)失敗",false,0,null);
        }
    }
    @RequestMapping("/upload")
    @ResponseBody
    public JsonResponseBody<?> upload(BookFileVo bookFileVo){
        try {
            MultipartFile bookFile = bookFileVo.getBookFile();
            System.out.println(bookFileVo);
            System.out.println(bookFile.getContentType());
            System.out.println(bookFile.getOriginalFilename());
            return new JsonResponseBody<>("上傳成功",true,0,null);
        } catch (Exception e) {
            e.printStackTrace();
            return new JsonResponseBody<>("上傳失敗",false,0,null);
        }
    }
    @RequestMapping("/download")
    public void download(HttpServletRequest request, HttpServletResponse response){
        try {
            String relativePath = "uploads/1.jpg";
            String absolutePath = request.getRealPath(relativePath);
            InputStream is = new FileInputStream(new File(absolutePath));
            OutputStream out = response.getOutputStream();
            response.setContentType("application/octet-stream");
            response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode("1.jpg", "UTF-8"));
            byte[] by = new byte[1024];
            int len = -1;
            while (-1 != (len = is.read(by))) {
                out.write(by);
            }
            is.close();
            out.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    @RequestMapping("/downloadUrl")
    public void downloadUrl(HttpServletRequest request, HttpServletResponse response){
        String relativePath = "uploads/1.jpg";
        String absolutePath = request.getRealPath(relativePath);
        InputStream is = null;
        OutputStream out = null;
        try {
            is = new FileInputStream(new File(absolutePath));
            // 設(shè)置Content-Disposition
            response.setHeader("Content-Disposition",
                    "attachment;filename=" + URLEncoder.encode("1.jpg", "UTF-8"));
            out = response.getOutputStream();
            IOUtils.copy(is, out);
            response.flushBuffer();
            System.out.println("完成");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            IOUtils.closeQuietly(is);
            IOUtils.closeQuietly(out);
        }
    }
}
 

 由此我們可知后端查詢書籍的接口為:http://localhost:8080/ssm/book/queryBookPager

 action.js文件添加下列接口

'BOOK_LIST': '/book/queryBookPager', //書籍查詢

 在AddBook.vue中的鉤子函數(shù)內(nèi)編寫方法去到后端拿取數(shù)據(jù)賦予變量

 created() {
      //加載頁面先去后端拿數(shù)據(jù)
      let params={
        bookname:this.bookname
      }
      let url = this.axios.urls.BOOK_LIST;
      this.axios.get(url, {params:params}).then(r => {
        console.log(r)
        this.tableData = r.data.rows
      }).catch(e => {
      })
    }

由于不止我們初始頁面需要用到這個方法模糊查詢也要所以我們將該代碼進行封裝讓它有復(fù)用性

    methods: {
      //封裝查詢方法
      list(params) {
        let url = this.axios.urls.BOOK_LIST;
        this.axios.get(url, {
          params: params
        }).then(r => {
          console.log(r)
          this.tableData = r.data.rows
        }).catch(e => {
        })
      },
      //模糊查詢方法
      query() {
        let params = {
          bookname: this.bookname
        }
        this.list(params)
      }
    },
    created() {
      //加載頁面先去后端拿數(shù)據(jù)
      let params = {
        bookname: this.bookname
      }
      this.list()
    }

效果展示:

四、分頁實現(xiàn)

更改我們的分頁欄代碼并定義變量,編寫分頁欄中自帶的兩個方法,一個是頁碼發(fā)生變化會觸發(fā)一個是頁數(shù)發(fā)生改變會觸發(fā)。

<!-- 分頁欄-->
    <div class="block">
      <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="page"
        :page-sizes="[10, 20, 30, 40]" :page-size="rows" layout="total, sizes, prev, pager, next, jumper"
        :total="total">
      </el-pagination>
    </div>
<script>
  export default {
    data() {
      return {
        bookname: "",
        tableData: [],
        rows: 10,
        page: 1,
        total: 0,
      }
    },
    methods: {
      //封裝查詢方法
      list(params) {
        let url = this.axios.urls.BOOK_LIST;
        this.axios.get(url, {
          params: params
        }).then(r => {
          console.log(r)
          this.tableData = r.data.rows
          this.total = r.data.total
        }).catch(e => {
        })
      },
      //模糊查詢方法
      query() {
        let params = {
          bookname: this.bookname
        }
        this.list(params)
      },
      //當(dāng)頁發(fā)生變化會觸發(fā)
      handleSizeChange(r) {
        let params = {
          bookname: this.bookname,
          rows: this.rows,
          rows: r
        }
        this.list(params)
      },
      //當(dāng)前頁數(shù)發(fā)生變化會觸發(fā)
      handleCurrentChange(p) {
        let params = {
          bookname: this.bookname,
          rows: this.rows,
          page: p
        }
        this.list(params)
      }
    },
    created() {
      //加載頁面先去后端拿數(shù)據(jù)
      let params = {
        bookname: this.bookname
      }
      this.list()
    }
  }
</script>

效果展示:

總結(jié)

到此這篇關(guān)于基于Vue+ELement搭建動態(tài)樹與數(shù)據(jù)表格實現(xiàn)分頁模糊查詢的文章就介紹到這了,更多相關(guān)Vue+ELement分頁模糊查詢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue的template模板是如何轉(zhuǎn)為render函數(shù)的過程

    vue的template模板是如何轉(zhuǎn)為render函數(shù)的過程

    Vue從template到render函數(shù)的轉(zhuǎn)換經(jīng)歷模板解析、AST構(gòu)建、優(yōu)化、生成渲染函數(shù)等步驟,首先進行詞法分析將模板拆解為tokens,再進行語法分析構(gòu)建AST,然后對AST進行靜態(tài)標(biāo)記和提升優(yōu)化,最后轉(zhuǎn)換成JavaScript渲染函數(shù),生成虛擬DOM,完成組件的渲染和更新,實現(xiàn)了模板的高效轉(zhuǎn)化
    2024-10-10
  • el-descriptions引入代碼中l(wèi)abel不生效問題及解決

    el-descriptions引入代碼中l(wèi)abel不生效問題及解決

    這篇文章主要介紹了el-descriptions引入代碼中l(wèi)abel不生效問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Vue3中Watch、Watcheffect、Computed的使用和區(qū)別解析

    Vue3中Watch、Watcheffect、Computed的使用和區(qū)別解析

    Watch、Watcheffect、Computed各有優(yōu)劣,選擇使用哪種方法取決于應(yīng)用場景和需求,watch?適合副作用操作,watchEffect適合簡單的自動副作用管理,computed?適合聲明式的派生狀態(tài)計算,本文通過場景分析Vue3中Watch、Watcheffect、Computed的使用和區(qū)別,感興趣的朋友一起看看吧
    2024-07-07
  • vue如何通過$router.push傳參數(shù)

    vue如何通過$router.push傳參數(shù)

    這篇文章主要介紹了vue如何通過$router.push傳參數(shù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • vue中h5端打開app(判斷是安卓還是蘋果)

    vue中h5端打開app(判斷是安卓還是蘋果)

    這篇文章主要介紹了vue中h5端打開app(判斷是安卓還是蘋果),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • VUE3使用Element-Plus時如何修改ElMessage中的文字大小

    VUE3使用Element-Plus時如何修改ElMessage中的文字大小

    在使用Element-plus的Elmessage時使用默認(rèn)的size無法滿足我們的需求時,我們可以自定義字體的大小,但是直接重寫樣式后,并沒有起作用,甚至使用::v-deep深度選擇器也沒有效果,本文介紹VUE3使用Element-Plus時如何修改ElMessage中的文字大小,感興趣的朋友一起看看吧
    2023-09-09
  • vue通過點擊事件讀取音頻文件的方法

    vue通過點擊事件讀取音頻文件的方法

    最近做項目遇到這樣的一個需求,通過select元素來選擇音頻文件的名稱,點擊按鈕可以進行試聽。接下來通過本文給大家介紹vue項目中通過點擊事件讀取音頻文件的方法,需要的朋友可以參考下
    2018-05-05
  • 使用Nuxt.js改造已有項目的方法

    使用Nuxt.js改造已有項目的方法

    這篇文章主要介紹了使用Nuxt.js改造已有項目的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • vue實現(xiàn)的封裝全局filter并統(tǒng)一管理操作示例

    vue實現(xiàn)的封裝全局filter并統(tǒng)一管理操作示例

    這篇文章主要介紹了vue實現(xiàn)的封裝全局filter并統(tǒng)一管理操作,結(jié)合實例形式詳細(xì)分析了vue封裝全局filter及相關(guān)使用技巧,需要的朋友可以參考下
    2020-02-02
  • Vue將頁面導(dǎo)出為圖片或者PDF

    Vue將頁面導(dǎo)出為圖片或者PDF

    這篇文章主要為大家詳細(xì)介紹了Vue導(dǎo)出頁面為PDF格式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06

最新評論

阳泉市| 尼玛县| 丰原市| 曲周县| 白朗县| 西宁市| 鹿邑县| 朝阳市| 巫溪县| 民丰县| 衡阳县| 海城市| 汤阴县| 阳城县| 汾西县| 孝昌县| 和硕县| 荥阳市| 东安县| 革吉县| 澎湖县| 黔东| 明光市| 泸州市| 雷波县| 冕宁县| 忻城县| 襄城县| 奉贤区| 广西| 双城市| 乌鲁木齐县| 沂水县| 阳信县| 明水县| 微博| 班玛县| 方城县| 宁海县| 斗六市| 大冶市|