<template>
<div>
<el-dialog
:title="title"
:visible.sync="dialogVisible"
width="80%"
:before-close="handleClose"
>
<div>
<el-row>
<el-col :span="24">
<el-button type="primary" icon="el-icon-refresh" size="small">{{ $t("lang.action.Refresh") }}</el-button>
<div class="pattern">
<el-form :inline="true" :model="formInline" size="small">
<el-form-item label="数据源">
<el-select v-model="formInline.source">
<el-option v-for="item in typeList" :key="item.code" :label="item.name" :value="item.name" />
</el-select>
</el-form-item>
<el-form-item label="所属产品">
<el-select v-model="formInline.status">
<el-option label="全部" value="" />
</el-select>
</el-form-item>
<el-form-item>
<el-form-item label="设备类型">
<el-select v-model="formInline.type">
<el-option v-for="item in typeList" :key="item.code" :label="item.name" :value="item.name" />
</el-select>
</el-form-item>
<el-form-item>
<el-form-item>
<el-input v-model="formInline.equipmentName" size="small" placeholder="请输入设备名称列表" class="input-with-select">
<el-select slot="prepend" v-model="device" placeholder="请选择">
<el-option
v-for="item in nameList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-input>
</el-form-item>
<el-button type="primary">查询</el-button>
<el-button type="primary">重置</el-button>
</el-form-item>
</el-form-item>
</el-form>
</div>
</el-col>
</el-row>
<el-table
ref="multipleTable"
:data="tableData"
style="width: 100%;margin-bottom: 20px;"
row-key="id"
border
default-expand-all
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"
@selection-change="handleSelectionChange"
@select-all="selectAll"
>
<el-table-column
v-if="type!=='view'"
type="selection"
width="55"
/>
<el-table-column
prop="equipmentName"
label="设备名称"
width="180"
/>
<el-table-column
prop="equipmentIdentification"
label="设备标识"
width="180"
/>
<el-table-column
prop="equipmentType"
label="设备类型"
/>
<el-table-column
prop="product"
label="所属产品"
/>
</el-table>
</div>
<div class="page">
<el-pagination
background
:current-page="currntPage"
:page-sizes="[10,20,30,40,50]"
:page-size="pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="totalItems"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
/>
</div>
<span slot="footer" class="dialog-footer">
<el-button v-stopBtnRepeat="5000" size="mini" @click="handleClose">{{ $t("lang.action.cancel") }}</el-button>
<el-button v-if="type!=='view'" v-stopBtnRepeat="5000" type="primary" size="mini" @click="submitConfirm">{{ $t("lang.action.confirm") }}</el-button>
</span>
</el-dialog>
<!-- 选择所属模型 -->
<belongingModelDialog />
<el-dialog
title="选择所属模型"
:visible.sync="modelDialogVisible"
width="30%"
:before-close="handleClose"
>
<span>这是一段信息</span>
<span slot="footer" class="dialog-footer">
<el-button @click="modelDialogVisible = false">取 消</el-button>
<el-button type="primary" @click="modelDialogVisible = false">确 定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import belongingModelDialog from './belongingModelDialog';
export default {
name: 'RemoteDeviceDialog',
components: {
belongingModelDialog
},
props: {
instanceUri: {
// 数据源实例uri,当传入uri变化时,需要根据uri进行过滤设备
type: String,
default: ''
},
dialogVisible: {
type: Boolean,
default: false
},
type: {
// 用来区分是查看设备还是用来实例化远程设备,
// 当为查看设备时,数据源置灰,不可操作,只能接收传来的uri,并根据数据源uri过滤数据
// 同时隐藏确认按钮以及表格树的复选框
type: String,
default: ''
}
},
data() {
return {
modelDialogVisible: false,
checkedKeys: false,
formInline: {
source: '',
status: '',
type: '',
equipmentName: ''
},
device: 1,
currntPage: 1,
pageSize: 10,
totalItems: 0,
typeList: [{
name: '全部',
code: '0'
}, {
name: '网关设备',
code: '1'
}, {
name: '直连设备',
code: '2'
}, {
name: '网关子设备',
code: '3'
},
{
name: '网关子设备(上报)',
code: '4'
}
],
nameList: [{
value: '1',
label: '设备名称'
}, {
value: '2',
label: '设备标识'
}, {
value: '3',
label: '所属产品'
}, {
value: '4',
label: '资源空间'
}],
tableData: [{
id: 1,
equipmentName: '雾感器1',
equipmentIdentification: '359090041311327',
equipmentType: '直连设备',
product: '雾感器'
}, {
id: 2,
equipmentName: '雾感器1',
equipmentIdentification: '359090041311327',
equipmentType: '直连设备',
product: '雾感器'
}, {
id: 3,
equipmentName: '网关1',
equipmentIdentification: '865441035303585',
equipmentType: '网关设备',
product: '工业网关',
children: [{
id: 31,
equipmentName: '汽轮机1',
equipmentIdentification: '764341035304564',
equipmentType: '网关子设备',
product: '汽轮机'
}, {
id: 32,
equipmentName: '立磨机2',
equipmentIdentification: '764341035304671',
equipmentType: '网关子设备',
product: '立磨机'
}]
}, {
id: 4,
equipmentName: '立磨机2',
equipmentIdentification: '764341035304671',
equipmentType: '网关子设备',
product: '立磨机'
}]
};
},
computed: {
title() {
return this.type === 'view' ? '查看设备' : '实例设备';
}
},
mounted() {
this.init();
},
methods: {
handleClose() {
this.$emit('handleClose', false);
},
submitConfirm() {
this.modelDialogVisible = true;
},
handleSelectionChange(val) {
this.multipleSelection = val;
},
selectAll() {
this.checkedKeys = !this.checkedKeys;
this.splite(this.tableData, this.checkedKeys);
},
// 处理数据
splite(data, flag) {
data.forEach((row) => {
this.$refs.multipleTable.toggleRowSelection(row, flag);
if (row.children != undefined) {
this.splite(row.children);
}
});
},
init() {
this.totalItems = this.tableData.length;
},
// 每页显示条数改变触发
handleSizeChange(val) {
this.pageSize = val;
},
// 查询清空
getNewlist() {
this.currntPage = 1;
},
// 当前页改变触发
handleCurrentChange(val) {
this.currntPage = val;
}
}
};
</script>
<style scoped>
.pattern{
float:right;
}
</style>

弹框table的更多相关文章

  1. selenium常用api之切换:table切换、alert弹框切换、iframe框架切换

    10.查看浏览器打开了多少个table和当前页面在哪个table 测试:打开了浏览器后,打开了一个新的标签页之后,显示此时有2个table,浏览器中当前页面展示的是第2个页面,但是代码打印显示的仍然是 ...

  2. maximo弹框设置新的功能测试总结

    先介绍下弹框前的准备工作: 1.签名选项——定义系统中可授权的所有功能的唯一标识.定义签名选项是为了授权而已.定义的签名名要和相应的bean类中的方法一致. 2.签名选项中的功能实现,一般都在APPB ...

  3. 使用ymPrompt弹框

    使用弹框 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8&q ...

  4. layui layer弹框中表格的显示

    场景描述:点击iframe里面的一个按钮,需要在父级弹出一个弹框表格. 问题描述:这个弹框的分页不能正常显示,如果把layer.open前面的parent去掉,就可以正常显示. 代码展示: paren ...

  5. jQuery-laye插件实现 弹框编辑,异步验证,form验证提交

    代码中用到了 jQuery的ajax异步处理,each()循环,submit()页面验证提交form表单,prepend()追加标签,laye插件的弹框效果(如有其它弹框效果可参考官网:http:// ...

  6. js创建弹框(提示框,待确认框)

    ;;} html,body{text-size-adjust:none;-webkit-text-size-adjust:none;-webkit-user-select:none;} a{color ...

  7. 参考bootstrap中的popover.js的css画消息弹框

    前段时间小颖的大学同学给小颖发了一张截图,图片类似下面这张图: 小颖当时大概的给她说了下,其实小颖也不知道上面那个三角形怎么画嘻嘻,给她说了DOM结构,具体的css让她自己百度,今天小颖自己参考boo ...

  8. 安卓客户端a标签长按弹框提示解决办法

    昨天工作时候发现一个bug,是关于a标签的,在安卓客户端中,如果是a标签的话,长按会出现一个弹框,如图所示 是因为安卓客户端的长按触发机制,以后进行wap端开发的时候,如果用到跳转页面尽量不要用a标签 ...

  9. Jquary入门(添加 修改 表单元素)+ JSON+弹框

    字符串拼接 计算机语言 都是 对  数据的处理(获取/修改数据)  添加元素  除了  固定的方法添加 以外 都是   字符串拼接(拼接成固定格式即可执行). 1.表单添加元素  append() 方 ...

  10. ios UIWebView自定义Alert风格的弹框

    之前开发过一个App,因为公司之前写好了网页版的内容和安卓版本的App,我进去后老板要求我ios直接用网页的内容,而不需要自己再搭建框架.我一听,偷笑了,这不就是一个UIWebView吗?简单! 但是 ...

随机推荐

  1. ssl自动更新证书

    安装证书 yum install certbot 更新证书之前先开启80 443 端口 自动生成证书certbot certonly --standalone --agree-tos -n -d ww ...

  2. 生态学建模:增强回归树(BRT)预测短鳍鳗生存分布和影响因素|附代码数据

    全文下载链接: http://tecdat.cn/?p=22482 最近我们被客户要求撰写关于增强回归树(BRT)的研究报告,包括一些图形和统计输出. 在本文中,在R中拟合BRT(提升回归树)模型.我 ...

  3. 《Kubernetes零基础快速入门》PDF电子书赠阅

    <Python 3.8从入门到精通(视频教学版)> <Kubernetes零基础快速入门> PDF电子书赠阅,个人学习使用,禁止任何形式的商用. https://pan.bai ...

  4. 使用Kali破解无线密码

    1.查看网卡信息,是否有wlanX网卡ifconfig 2.启动网卡监听模式 airmon-ng start wlan0 检查下是否处于监听模型:ifconfig查看一下,如果网卡名加上了mon后则成 ...

  5. about namespace

    once you specify to use a certain namespace such as "{using namespace1;...}", you need to ...

  6. Kubernetes中pod UID的一个用法

    Kubernetes中每个工作Node的路径/var/lib/kubelet/pods里,含该Node上生成的每个pod的一些log文件.而该log文件的名字就是pod对应的UID,如下图所示(Nod ...

  7. 使用python做基本的数据处理

    使用python做基本的数据处理 1.常用的基本数据结构 元组.列表.字典.集合.常用的序列函数 1.1基本操作 1.1.1 元组:逗号分开的序列值. tup = tuple (4,5,6) tup ...

  8. C++11 mutex unique_lock condition_variable 互斥锁 条件变量

    创建项目再进行测试比较麻烦,可以使用这个在线编译器进行验证,快速方便 C++11在线编译器 mutex是互斥锁,互斥量 condition_variable是条件变量 std::mutex m; vo ...

  9. flex布局的相关注意事项

    文献参考地址:https://www.cnblogs.com/qcloud1001/p/9848619.html 重点事项: 弹性容器的属性 作用于交叉轴 align-items :对单行起作用 al ...

  10. 打包Assetbundle

    using UnityEngine;using System.Collections;using UnityEditor;/// <summary>/// 脚本位置:Editor文件夹下/ ...