底部数据列表主要是记录图层下面对应的点线面数据,点击单元行或者查看或者编辑,弹出右侧编辑页面,点击单元行地图定位到相应的绘图位置。里面的难点1是动态绑定字段管理编辑的字段以及对应的value值,2是点击查看或编辑的时候做事件修饰符,阻止事件冒泡,3是点击单元行展示绘图信息,并定位到相应的位置,4是根据点线面类型,展示不同的列表数据。整理总结不易,如需全部代码,请联系我15098950589(微信同号)。和以往一样,先发一下效果图。

  核心代码如下

<template>
<div class="JNPF-common-layout">
<div class="JNPF-common-layout-center">
<el-row class="JNPF-common-search-box" :gutter="16">
<el-form @submit.native.prevent>
<el-col :span="6">
<el-form-item label="关键词">
<el-input v-model="keyword" placeholder="请输入关键词查询" clearable
@keyup.enter.native="search()" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="search()">
{{$t('common.search')}}
</el-button>
<el-button icon="el-icon-refresh-right" @click="refresh()">{{$t('common.reset')}}
</el-button>
</el-form-item>
</el-col>
</el-form>
<span class="rightclose" @click="handleClose">
<i class="el-icon-close"></i>
</span>
</el-row>
<div class="JNPF-common-layout-main JNPF-flex-main">
<JNPF-table v-loading="listLoading" :data="list" @expand-change="expandChange" :hasNO="false"
@sort-change="sortChange" :row-class-name="tableRowClassName" @row-click="cellRowClick">
<el-table-column type="index" width="100" label="序号" align="center" />
<el-table-column prop="markName" label="标记名称" width="150" sortable="custom" />

<el-table-column v-if="layerType===1" prop="lineLength" label="线段长度(km)" width="150"
sortable="custom">
</el-table-column>
<el-table-column v-if="layerType===2" prop="surArea" label="面积(km²)" width="150"
sortable="custom" />

<el-table-column v-if="layerType===0" prop="markLocation" label="详细地址" width="300"
sortable="custom" />
<el-table-column v-if="layerType===0" prop="longitude" label="经度" width="100" sortable="custom" />
<el-table-column v-if="layerType===0" prop="latitude" label="纬度" width="100" sortable="custom" />

<el-table-column v-for="(item,index) in fieldList" :prop="item.fieldName" :label="item.fieldName"
width="120" sortable="custom">
<template slot-scope="scope">{{scope.row.list[index].fieldValue}}</template>
</el-table-column>
<el-table-column prop="createUser" label="创建人员" width="150" sortable="custom" />
<el-table-column prop="createTime" label="创建时间" width="150">
<template slot-scope="scope">{{scope.row.createTime| toDate()}}</template>
</el-table-column>
<el-table-column label="操作" width="150" fixed="right">
<template slot-scope="scope">
<el-button size="mini" type="text" @click.stop="handleLook(scope.row)">查看
</el-button>
<el-button size="mini" type="text" @click.stop="handleEdit(scope.row)">编辑
</el-button>
<el-button size="mini" type="text" class="JNPF-table-delBtn"
@click.stop="handleDel(scope.$index,scope.row.id)">删除
</el-button>
</template>
</el-table-column>
</JNPF-table>
<pagination :total="total" :page.sync="listQuery.currentPage" :limit.sync="listQuery.pageSize"
@pagination="initData" />
</div>
</div>
</div>
</template>

tableRowClassName({
row,
rowIndex
}) {
row.index = rowIndex;
},
//单元行点击事件
cellRowClick(row) {

let item=this.list[row.index];

console.log('当前行', row.index,item.layerType,item)
setTimeout(() => {
//累加展开所有的marker数据
if (item.layerType === 0) {
this.$emit("childPushDotMarker", item)

} else if (item.layerType === 1) {
this.$emit("childPushLineMarker", item)

} else if (item.layerType === 2) {
this.$emit("childPushPolygonMarker", item)
}
},1000)
}

  整理总结不易,如需全部代码,请联系我15098950589(微信同号)。

vue前端开发仿钉图系列(7)底部数据列表的开发详解的更多相关文章

  1. Code First开发系列之管理数据库创建,填充种子数据以及LINQ操作详解

    返回<8天掌握EF的Code First开发>总目录 本篇目录 管理数据库创建 管理数据库连接 管理数据库初始化 填充种子数据 LINQ to Entities详解 什么是LINQ to ...

  2. 8天掌握EF的Code First开发系列之3 管理数据库创建,填充种子数据以及LINQ操作详解

    本文出自8天掌握EF的Code First开发系列,经过自己的实践整理出来. 本篇目录 管理数据库创建 管理数据库连接 管理数据库初始化 填充种子数据 LINQ to Entities详解 什么是LI ...

  3. 前端html、CSS快速编写代码插件-Emmet使用方法技巧详解

    前端html.CSS快速编写代码插件-Emmet使用方法技巧详解   Emmet的前身是大名鼎鼎的Zen coding,如果你从事Web前端开发的话,对该插件一定不会陌生.它使用仿CSS选择器的语法来 ...

  4. FFmpeg开发笔记(五):ffmpeg解码的基本流程详解(ffmpeg3新解码api)

    若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...

  5. [js高手之路]深入浅出webpack系列2-配置文件webpack.config.js详解

    接着上文,重新在webpack文件夹下面新建一个项目文件夹demo2,然后用npm init --yes初始化项目的package.json配置文件,然后安装webpack( npm install ...

  6. [js高手之路]深入浅出webpack教程系列3-配置文件webpack.config.js详解(下)

    本文继续接着上文,继续写下webpack.config.js的其他配置用法. 一.把两个文件打包成一个,entry怎么配置? 在上文中的webpack.dev.config.js中,用数组配置entr ...

  7. [js高手之路]深入浅出webpack教程系列2-配置文件webpack.config.js详解(上)

    [js高手之路]深入浅出webpack教程系列索引目录: [js高手之路]深入浅出webpack教程系列1-安装与基本打包用法和命令参数 [js高手之路]深入浅出webpack教程系列2-配置文件we ...

  8. vue.js循环for(列表渲染)详解

    vue.js循环for(列表渲染)详解 一.总结 一句话总结: v-for <ul id="example-1"> <li v-for="item in ...

  9. SpringBoot系列教程JPA之query使用姿势详解之基础篇

    前面的几篇文章分别介绍了CURD中的增删改,接下来进入最最常见的查询篇,看一下使用jpa进行db的记录查询时,可以怎么玩 本篇将介绍一些基础的查询使用姿势,主要包括根据字段查询,and/or/in/l ...

  10. SpringBoot系列教程JPA之delete使用姿势详解

    原文: 190702-SpringBoot系列教程JPA之delete使用姿势详解 常见db中的四个操作curd,前面的几篇博文分别介绍了insert,update,接下来我们看下delete的使用姿 ...

随机推荐

  1. 【SpringBoot】13 数据访问P1 整合Jdbc

    SpringBoot与数据访问概述: 对于数据访问层,无论是SQL还是NOSQL,Spring Boot默认采用整合Spring Data的方式进行统一处理, 添加大量自动配置,屏蔽了很多设置.引入各 ...

  2. 【Hibernate】Re02 官网介绍

    介绍: 创始人:Gavin King.EJB3.0专家,JBoss核心成员之一,<Hibernate In Action>作者 Hibernate是ORM的解决方案. 优点: 1.功能强大 ...

  3. 对国内的人行机器人(humanoid)的一些技术类的提问?

    贵公司产品在机器人仿真时具体采用的仿真软件(NVIDIA家的.开源的webot,等等)是哪款,如果没有使用NVIDIA全家桶那么其原因是什么(如:技术依赖没有独立技术.技术栈太过于复杂暂时没有精力和能 ...

  4. Regardless of the outcome of the Russia-Ukraine war, how can Ukraine avoid paying the weapon fees to the United States after the war?

    According to the agreement between the Ukrainian government and the United States, regardless of the ...

  5. 公开号CN117354339A —— 数据传输专利 —— 解决了相关技术在进行数据传输的过程中时效性较差的技术问题

    看到一个新闻: 地址: https://mbd.baidu.com/newspage/data/landingsuper?context=%7B%22nid%22%3A%22news_92907119 ...

  6. Ubuntu系统中CUDA套件nvvp启动后报错Unable to make protected void java.net.URLClassLoader.addURL(java.net.URL) accessible: module java.base does not "opens java.net" to unnamed module @380fb434

    最近在看cuda方面的内容,需要对cuda代码做一些性能分析,于是需要使用nvvp,但是启动nvvp后报错:Caused by: java.lang.reflect.InaccessibleObjec ...

  7. MFC制作带界面的DLL库

    ## MFC如何创建一个带界面的DLL(动态链接库) 1.创建项目 打开VS,文件->新建->项目: 点击确定之后弹出来的界面,点击下一步->选择"使用共享MFC DLL的 ...

  8. Next.js 中为什么 App Router 可能是未来,但 Pages Router 仍然重要?

    Next.js 作为一个强大的 React 框架,为开发者提供了两种路由系统:App Router 和 Pages Router.这两种路由系统各有特色,适用于不同的场景.本文将深入探讨这两种路由系统 ...

  9. union在重构代码中的使用技巧

    http://blog.chinaunix.net/uid-23629988-id-158156.html 在产品的开发过程中,无论是代码的重构,还是添加新的功能时,都不可避免的有对现有结构体的修改, ...

  10. CentOS 7.3离线安装 JDK

    1.下载对应的JDK版本 # 网盘链接:https://pan.baidu.com/s/1HMCJis-FEicIcDTgbksBnQ # 密码:q65m 2.查看原系统jdk版本 [bw@local ...