You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
347 lines
13 KiB
347 lines
13 KiB
<!DOCTYPE html>
|
|
<html>
|
|
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title></title>
|
|
<link rel="stylesheet" href="../../../component/pear/css/pear.css" />
|
|
<style>
|
|
.woo-tool-text-delimiter {
|
|
width: 1px;
|
|
height: 12px;
|
|
background: #EEEEEE;
|
|
display: inline-block;
|
|
margin: 0 6px 0 4px;
|
|
}
|
|
|
|
.woo-theme-color {
|
|
color: #2d8cf0 !important;
|
|
}
|
|
|
|
.woo-tool-span {
|
|
margin: 0 3px;
|
|
position: relative;
|
|
top: -1px;
|
|
cursor: pointer;
|
|
}
|
|
</style>
|
|
</head>
|
|
|
|
<body class="pear-container layui-form">
|
|
|
|
<div class="layui-card" style="margin-bottom: 10px !important;">
|
|
<div class="layui-card-body">
|
|
<div class="layui-form-item" style="margin: 10px 0 5px 0 !important;">
|
|
<div class="layui-form-item layui-inline">
|
|
<label class="layui-form-label" style="width: 65px;">系统名称</label>
|
|
<div class="layui-input-inline" id="systemView">
|
|
<input type="text" id="system_name" lay-affix="clear" lay-filter="clear" placeholder="请输入系统名称"
|
|
class="layui-input">
|
|
</div>
|
|
|
|
<script id="systemScript" type="text/html">
|
|
<select lay-search="" id="systemSelect" lay-filter="systemChange">
|
|
<option value="">直接选择或搜索系统</option>
|
|
{{# layui.each(d.data, function(index, item){ }}
|
|
<option value="{{item.system_id}}">{{item.system_name}}</option>
|
|
{{# }); }}
|
|
</select>
|
|
</script>
|
|
</div>
|
|
|
|
<div class="layui-form-item layui-inline" style="float: right;margin-right: 20px;">
|
|
<button class="pear-btn pear-btn-md pear-btn-primary" lay-submit lay-filter="return">
|
|
<i class="layui-icon layui-icon-return"></i>
|
|
返回
|
|
</button>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="layui-card">
|
|
<div class="layui-card-body">
|
|
<table id="data-table"></table>
|
|
</div>
|
|
</div>
|
|
|
|
<script type="text/html" id="table-toolbar">
|
|
|
|
<button class="pear-btn pear-btn-primary pear-btn-md" lay-event="batchSub">
|
|
<i class="layui-icon layui-icon-add-1"></i>
|
|
批量订阅
|
|
</button>
|
|
<button class="pear-btn pear-btn-primary pear-btn-md" lay-event="batchCancelSub">
|
|
<i class="layui-icon layui-icon-add-1"></i>
|
|
批量取消订阅
|
|
</button>
|
|
</script>
|
|
|
|
<script type="text/html" id="table-bar">
|
|
{{# if(d.subscrib_system_id > 0){ }}
|
|
<span class="woo-tool-span woo-tool-text-span" lay-event="sub"><a
|
|
class="woo-theme-color">修改订阅</a></span>
|
|
|
|
<i class="woo-tool-text-delimiter"></i>
|
|
<span class="woo-tool-span woo-tool-text-span" lay-event="cancelSub"><a
|
|
class="woo-theme-color">取消订阅</a></span>
|
|
{{# } else { }}
|
|
<span class="woo-tool-span woo-tool-text-span" lay-event="sub"><a
|
|
class="woo-theme-color">订阅</a></span>
|
|
{{# } }}
|
|
|
|
|
|
|
|
</script>
|
|
|
|
<script src="../../../component/layui/layui.js"></script>
|
|
<script src="../../../component/pear/pear.js"></script>
|
|
|
|
<script>
|
|
layui.use(['table', 'form', 'jquery', 'common', 'laytpl'], function () {
|
|
var table = layui.table;
|
|
var form = layui.form;
|
|
var $ = layui.jquery;
|
|
var common = layui.common;
|
|
var laytpl = layui.laytpl;
|
|
|
|
var subscribSystemId = GetQueryString("subscrib_system_id");
|
|
var publishSystemId = "";
|
|
|
|
$.ajax({
|
|
type: "GET",
|
|
dataType: "json",
|
|
url: "/dsBase/dataShare/listSystem",
|
|
data: { except_system_id: subscribSystemId, page: 1, limit: 1000 },
|
|
success: function (data) {
|
|
var systemTpl = systemScript.innerHTML,
|
|
systemView = document.getElementById('systemView');
|
|
laytpl(systemTpl).render(data, function (html) {
|
|
systemView.innerHTML = html;
|
|
});
|
|
form.render();
|
|
}
|
|
});
|
|
|
|
//
|
|
|
|
function tableRender() {
|
|
table.render({
|
|
elem: '#data-table',
|
|
url: '/dsBase/dataShare/getPublishSystemAllTable',
|
|
where: {
|
|
keyword: $("#system_name").val(),
|
|
subscrib_system_id: subscribSystemId,
|
|
publish_system_id: publishSystemId
|
|
},
|
|
height: 'full-150',
|
|
page: {
|
|
limit: 15
|
|
, layout: ['count', 'prev', 'page', 'next', 'skip']
|
|
, prev: "上一页"
|
|
, next: "下一页"
|
|
},
|
|
cols: [[
|
|
{ type: 'checkbox', width: "5%" },
|
|
{ title: '序号', align: 'center', width: "10%", type: 'numbers' },
|
|
{ title: '表名', field: 'table_name', align: 'center' },
|
|
{ title: '表描述', field: 'memo', align: 'center' },
|
|
{ title: '状态', field: 'status_name', align: 'center' },
|
|
{ title: '订阅范围', field: 'sub_scope', align: 'center' },
|
|
{ title: '操作', toolbar: '#table-bar', align: 'center', width: "20%" }
|
|
]],
|
|
skin: 'line',
|
|
toolbar: '#table-toolbar',
|
|
defaultToolbar: [],
|
|
parseData: function (res) {
|
|
var array = res.data;
|
|
for (var i = 0; i < array.length; i++) {
|
|
if (array[i].subscrib_system_id > 0) {
|
|
res.data[i].status_name = '已订阅';
|
|
} else {
|
|
res.data[i].status_name = '未订阅';
|
|
}
|
|
|
|
switch (array[i].type_id) {
|
|
case 0:
|
|
res.data[i].sub_scope = '全部';
|
|
break;
|
|
case 1:
|
|
res.data[i].sub_scope = '本市';
|
|
break;
|
|
case 2:
|
|
res.data[i].sub_scope = '本区(县)';
|
|
break;
|
|
case 3:
|
|
res.data[i].sub_scope = '本单位(校)';
|
|
break;
|
|
default:
|
|
res.data[i].sub_scope = '--';
|
|
break;
|
|
}
|
|
}
|
|
return res;
|
|
}
|
|
});
|
|
}
|
|
|
|
table.on('tool(data-table)', function (obj) {
|
|
if (obj.event === 'sub') {
|
|
window.sub(obj);
|
|
} else if (obj.event === 'cancelSub') {
|
|
window.cancelSub(obj);
|
|
}
|
|
});
|
|
|
|
table.on('toolbar(data-table)', function (obj) {
|
|
if (obj.event === 'batchSub') {
|
|
window.batchSub(obj);
|
|
} else if (obj.event === 'batchCancelSub') {
|
|
window.batchCancelSub(obj);
|
|
}
|
|
});
|
|
|
|
form.on('select(systemChange)', function (data) {
|
|
publishSystemId = data.value;
|
|
if (publishSystemId != "") {
|
|
tableRender();
|
|
}
|
|
});
|
|
|
|
form.on('submit(return)', function () {
|
|
parent.layer.close(parent.layer.getFrameIndex(window.name));
|
|
parent.layui.table.reload("data-table");
|
|
return false;
|
|
});
|
|
|
|
window.sub = function (obj) {
|
|
layer.open({
|
|
type: 2,
|
|
title: '设置数据范围',
|
|
shade: 0.1,
|
|
area: ['650px', '180px'],
|
|
content: './specified_range.html?system_id=' + subscribSystemId + "&tables_name=" + obj.data.table_name
|
|
});
|
|
}
|
|
|
|
window.batchSub = function (obj) {
|
|
var tablesName = common.checkField(obj, 'table_name');
|
|
if (tablesName === "") {
|
|
layer.msg("请选择要批量订阅的数据!", {
|
|
icon: 2,
|
|
time: 2000
|
|
});
|
|
return false;
|
|
}
|
|
|
|
layer.open({
|
|
type: 2,
|
|
title: '设置数据范围',
|
|
shade: 0.1,
|
|
area: ['650px', '180px'],
|
|
content: './specified_range.html?system_id=' + subscribSystemId + "&tables_name=" + tablesName
|
|
});
|
|
}
|
|
|
|
window.cancelSub = function (obj) {
|
|
layer.confirm('确定要取消订阅吗?', {
|
|
icon: 3,
|
|
title: '提示'
|
|
}, function (index) {
|
|
layer.close(index);
|
|
$.ajax({
|
|
url: "/dsBase/dataShare/delSubscribTable",
|
|
data: { subscrib_system_id: subscribSystemId, table_names: obj.data.table_name },
|
|
type: 'post',
|
|
success: function (result) {
|
|
if (result.success) {
|
|
layer.msg('取消订阅成功!', {
|
|
icon: 1,
|
|
time: 1000
|
|
}, function () {
|
|
table.reload('data-table');
|
|
});
|
|
} else {
|
|
layer.msg(result.message, {
|
|
icon: 2,
|
|
time: 1000
|
|
});
|
|
}
|
|
},
|
|
error: function (xhr, status, error) {
|
|
layer.close(loading);
|
|
console.log('请求出错:' + error + ',' + status);
|
|
}
|
|
});
|
|
});
|
|
}
|
|
|
|
window.batchCancelSub = function (obj) {
|
|
var tablesName = common.checkField(obj, 'table_name');
|
|
if (tablesName === "") {
|
|
layer.msg("请选择要批量取消订阅的数据!", {
|
|
icon: 2,
|
|
time: 2000
|
|
});
|
|
return false;
|
|
}
|
|
|
|
layer.confirm('确定要取消订阅吗?', {
|
|
icon: 3,
|
|
title: '提示'
|
|
}, function (index) {
|
|
layer.close(index);
|
|
$.ajax({
|
|
url: "/dsBase/dataShare/delSubscribTable",
|
|
data: { subscrib_system_id: subscribSystemId, table_names: tablesName },
|
|
type: 'post',
|
|
success: function (result) {
|
|
if (result.success) {
|
|
layer.msg('取消订阅成功!', {
|
|
icon: 1,
|
|
time: 1000
|
|
}, function () {
|
|
table.reload('data-table');
|
|
});
|
|
} else {
|
|
layer.msg(result.message, {
|
|
icon: 2,
|
|
time: 1000
|
|
});
|
|
}
|
|
},
|
|
error: function (xhr, status, error) {
|
|
layer.close(loading);
|
|
console.log('请求出错:' + error + ',' + status);
|
|
}
|
|
});
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
window.refresh = function (param) {
|
|
table.reload('data-table');
|
|
}
|
|
|
|
|
|
|
|
function GetQueryString(name, istop) {
|
|
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
|
|
var r = window.location.search.substr(1).match(reg);
|
|
if (typeof (istop) != "undefined") r = top.location.search.substr(1).match(reg);
|
|
|
|
if (r != null) return unescape(r[2]);
|
|
return null;
|
|
}
|
|
|
|
});
|
|
</script>
|
|
</body>
|
|
|
|
</html> |