<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. strace 跟踪特定系统调用

    /usrdsk/strace -tt -e trace=write   -p 664 /usrdsk/strace -tt -e trace=%memory   -p 664

  2. expect语言使用之自动切换账户或自动登录远程服务器

    资料来源: (1) https://baike.baidu.com/item/expect/4598715?fr=aladdin (2) https://blog.csdn.net/gsjthxy/a ...

  3. fs.access(path[, mode], callback)

  4. CPU、内存的占用率

    要获取不包含百分比符号的内存占用率: #free -t | awk 'NR ==2 {print "Current Memory Utilization is: "$3/$2*10 ...

  5. (K8s学习笔记五)Pod的使用详解

    1.Pod用法 K8s里使用的容器不能使用启动命令是后台执行程序,如:nohup ./start.sh &,该脚本运行完成后kubelet会认为该Pod执行结束,将立刻销毁该Pod,如果该Po ...

  6. laravel视图响应

    1.输出json $data = [ 'id' => 1, 'name' => 'jack', ]; return response()->json($data); 2.重定向 // ...

  7. 操作系统 Concurrency 并发

    1. 线程和进程的区别 名称 执行点 地址空间 状态保存位置 进程 process 一个进程有多个线程,多个执行点 一个进程一个地址空间 Process Control Block 进程控制块 线程 ...

  8. OA产品并发访问能力

    环境:cpu 16c,内存 32G,系统管理服务.jtportal服务 启动双实例样本:50线程,循环登录60次,共计3000次登录,用时3分钟40秒结论:平均每分钟支持800次登录,均在3秒左右.按 ...

  9. [Github]获取github ID号

    [Github]获取github ID号 https://api.github.com/users/ + 你的账户名称 实例:我github账号叫iBoundary. https://api.gith ...

  10. 1071 - Specified key was too long; max key length is 767 bytes

    set global innodb_large_prefix=on;set global innodb_file_format=BARRACUDA; 主从都要修改以上2个参数.