vue前端开发仿钉图系列(7)底部数据列表的开发详解
底部数据列表主要是记录图层下面对应的点线面数据,点击单元行或者查看或者编辑,弹出右侧编辑页面,点击单元行地图定位到相应的绘图位置。里面的难点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)底部数据列表的开发详解的更多相关文章
- Code First开发系列之管理数据库创建,填充种子数据以及LINQ操作详解
返回<8天掌握EF的Code First开发>总目录 本篇目录 管理数据库创建 管理数据库连接 管理数据库初始化 填充种子数据 LINQ to Entities详解 什么是LINQ to ...
- 8天掌握EF的Code First开发系列之3 管理数据库创建,填充种子数据以及LINQ操作详解
本文出自8天掌握EF的Code First开发系列,经过自己的实践整理出来. 本篇目录 管理数据库创建 管理数据库连接 管理数据库初始化 填充种子数据 LINQ to Entities详解 什么是LI ...
- 前端html、CSS快速编写代码插件-Emmet使用方法技巧详解
前端html.CSS快速编写代码插件-Emmet使用方法技巧详解 Emmet的前身是大名鼎鼎的Zen coding,如果你从事Web前端开发的话,对该插件一定不会陌生.它使用仿CSS选择器的语法来 ...
- FFmpeg开发笔记(五):ffmpeg解码的基本流程详解(ffmpeg3新解码api)
若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...
- [js高手之路]深入浅出webpack系列2-配置文件webpack.config.js详解
接着上文,重新在webpack文件夹下面新建一个项目文件夹demo2,然后用npm init --yes初始化项目的package.json配置文件,然后安装webpack( npm install ...
- [js高手之路]深入浅出webpack教程系列3-配置文件webpack.config.js详解(下)
本文继续接着上文,继续写下webpack.config.js的其他配置用法. 一.把两个文件打包成一个,entry怎么配置? 在上文中的webpack.dev.config.js中,用数组配置entr ...
- [js高手之路]深入浅出webpack教程系列2-配置文件webpack.config.js详解(上)
[js高手之路]深入浅出webpack教程系列索引目录: [js高手之路]深入浅出webpack教程系列1-安装与基本打包用法和命令参数 [js高手之路]深入浅出webpack教程系列2-配置文件we ...
- vue.js循环for(列表渲染)详解
vue.js循环for(列表渲染)详解 一.总结 一句话总结: v-for <ul id="example-1"> <li v-for="item in ...
- SpringBoot系列教程JPA之query使用姿势详解之基础篇
前面的几篇文章分别介绍了CURD中的增删改,接下来进入最最常见的查询篇,看一下使用jpa进行db的记录查询时,可以怎么玩 本篇将介绍一些基础的查询使用姿势,主要包括根据字段查询,and/or/in/l ...
- SpringBoot系列教程JPA之delete使用姿势详解
原文: 190702-SpringBoot系列教程JPA之delete使用姿势详解 常见db中的四个操作curd,前面的几篇博文分别介绍了insert,update,接下来我们看下delete的使用姿 ...
随机推荐
- Jmeter参数化4-数据库数据引入
1. 下载jmeter依赖的mysql驱动包 jmeter要连接mysql数据库,首先得下载mysql驱动包.执行"select version()"查看数据库版本 mysql历史 ...
- 初看vue3源码
因为工作的原因又回到了vue的领域,需要加深对vue和vue生态的了解 也许平时比较多人手机看别人解析怎么看vue源码的,自己动手看vue源码的还是比较少,这次我想自己动手看看 首先 吧代码获取到本地 ...
- 【MySQL】30 备份与恢复
1.备份命令: mysqldump -u用户名 -p 密码 -h 服务主机IP -P 端口号 \ 数据库名称 \ > 指定备份的sql脚本文件位置 ↓ # 文件位置样例: # C:\Users\ ...
- 文本相似度 HanPL汉语言处理
@ 目录 前言 需求 简介 实操开始 1. 添加pom.xml依赖 2. 文本相似度工具类 3. 案例验证 4. 验证结果 总结 前言 请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i. 提示 ...
- 简单设计一个JAVA并行处理工具类
在工作中,我们肯定遇到过一个接口要处理N多事项导致接口响应速度很慢的情况,通常我们会综合使用两种方式来提升接口响应速度 优化查询SQL,提升查询效率 开启多线程并发处理业务数据 这里讨论第二种方案:使 ...
- 花样玩转“所见即所得”的可视化开发UI
随着技术的发展,用户对软件的界面美观度和交互体验的要求越来越高.在这样的背景下,可视化开发UI(User Interface)成为了提升用户体验和开发效率的重要工具. 通过图形界面来设计和构建用户界面 ...
- 单链表-18个基本操作代码实现C语言
单链表-18个基本操作代码实现C语言 原文地址:https://www.cnblogs.com/actanble/p/6713434.html 无更改,仅复现 运行后如图,运行软件dev-C++,系统 ...
- SMU Summer 2024 Contest Round 1
SMU Summer 2024 Contest Round 1 Dice and Coin 题意 给个 n 面骰子和一枚硬币,初始投骰子,若骰子的值在 1 到 \(K-1\) 之间则反复投硬币,硬币为 ...
- vs code 快速配置
1. 基本操作 打开工程文件: ctrl + p 在文件搜索内容: ctrl + shift + f 进入设置: ctrl + shift + p, 然后输入 user setting 添加插件: c ...
- MySQL中的char与varchar
MySQL中的char与varchar char类型为固定长度的字符串 varchar类型是长度可变的字符串 char为固定长度的字符串意思是当我们设置一个字段类型为char时,指定char(100) ...