实现同界面的预览功能
嵌入iframe
// A code block
<iframe src="" width=100% height= "300px" name="my-iframe" scrolling="Yes"
noresize="noresize" frameborder="0" id="my-iframe">
</iframe>
在js中写入
document.getElementById('my-iframe').setAttribute('src','http://localhost:8096/business/tpiao/p_review?autoId=' + data.autoId + '&flag=' + flag);
或者
$('#my-iframe').attr('src','http://localhost:8096/business/tpiao/p_review?autoId=' + data.autoId + '&flag=' + flag);
ftl文件
//
<!DOCTYPE html>
<html>
<head>
<#include "/head.ftl">
<script type="text/javascript" src="/lib/template-web.js"></script>
</head>
<body>
<script>
var autoId=${autoId};
</script>
<div class="layui-fluid">
<div class="layui-row">
<fieldset class="layui-elem-field">
<legend><b>${theObj.name!}(ID:${theObj.autoId!})</b></legend>
<div class="layui-field-box" style="text-align: center">
满分:${ theObj.fullScore!} 及格分:${ theObj.passScore!}
</div>
<div class="layui-field-box" style="text-align: center">
出卷人:${ theObj.createUserName!}
出卷时间: ${ theObj.createDate?datetime}
</div>
</fieldset>
</div>
<div class="layui-card">
<div class="layui-card-body ">
<table id="mytable" class="layui-table layui-form" lay-filter="l_table">
</table>
</div>
</div>
</div>
<iframe src="" width=100% height= "300px" name="my-iframe" scrolling="Yes"
noresize="noresize" frameborder="0" id="my-iframe">
</iframe>
<script type="text/html" id="l_toolbar">
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="p_review">预览</a>
</script>
<script type="text/javascript" src="/js/business/paper/tpiao_review.js"></script>
</body>
</html>
js文件
//
var prefix = "/business/paper";
var tags=[];
var step = 111;
var table;
layui.use('table', function () {
table = layui.table;
//后端已经筛选出paperId对应的票id和票对应的分数,同时写了一个数据接口listById,想通过表单的形式进行显示
//listById接口,写了测试程序可用,作为表单的数据接口不可用
//第一个实例
table.render({
elem: '#mytable'
, id: 'autoId'
, url: '/business/paper/listById/'+autoId//数据接口
, cols: [[ //表头
{field: 'name', title: '票名称', sort: true}
, {field: 'typeName', title: '票类型', sort: true}
, {field: 'score', title: '分数',sort: true}
, {toolbar: '#l_toolbar', title: '操作', fixed: 'right', width: 178, align: 'center'}
]]
, done: function (data) {
console.log(data);
}
});
table.on('sort(l_table)', function (obj) {
obj.field = jd_tuofeng(obj.field);
table.reload('autoId', {
initSort: obj
, where: {
sort: obj.field //排序字段
, order: obj.type //排序方式
}
});
});
//监听工具条
table.on('tool(l_table)', function (obj) {
var data = obj.data;
// 两票预览标志位
var flag = 'preview';
if (obj.event === 'p_review') {
$('#my-iframe').attr('src',
'http://localhost:8096/business/tpiao/p_review?autoId='
+ data.autoId + '&flag='
+ + flag);
}
});
});
前端表格
前端界面:
autoId | 名称 | 分数 | 操作 |
---|---|---|---|
111 | 1600电脑 | 1600 | 预览 |
222 | 2000电脑 | 1600 | 预览 |