first commit
This commit is contained in:
521
WebRoot/jsp/report/customReportManageView.jsp
Normal file
521
WebRoot/jsp/report/customReportManageView.jsp
Normal file
@ -0,0 +1,521 @@
|
||||
<%@ page language="java" pageEncoding="UTF-8" %>
|
||||
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
|
||||
<%@ page import="com.sipai.entity.base.ServerObject" %>
|
||||
<%@ taglib uri="http://www.springsecurity.org/jsp" prefix="security" %>
|
||||
<!DOCTYPE html>
|
||||
<!-- <html lang="zh-CN"> -->
|
||||
<!-- BEGIN HEAD -->
|
||||
<head>
|
||||
<title><%= ServerObject.atttable.get("TOPTITLE")%>
|
||||
</title>
|
||||
<!-- 引用页头及CSS页-->
|
||||
<jsp:include page="/jsp/inc.jsp"></jsp:include>
|
||||
<script type="text/javascript">
|
||||
var showProgrammeReportView = function () {
|
||||
var id = $('#report_id').val();
|
||||
var oldreservationtime1 = $('#reservationtime1').val();
|
||||
var oldmpids = $('#mpids').val();
|
||||
var frequencytype = $('#frequencyType').val();
|
||||
var frequency = $('#frequency').val();
|
||||
var calculation = $('#calculation').val();
|
||||
$.post(ext.contextPath + '/report/customReport/view.do', {
|
||||
unitId: hiddenUnitId,
|
||||
programmeId: id,
|
||||
oldmpids: oldmpids,
|
||||
oldreservationtime1: oldreservationtime1,
|
||||
frequencytype: frequencytype,
|
||||
frequency: frequency,
|
||||
calculation: calculation,
|
||||
}, function (data) {
|
||||
$("#menuBox").html(data);
|
||||
});
|
||||
};
|
||||
|
||||
var elementArr = new Array();
|
||||
|
||||
var showMPReportView = function (mpid, $element) {
|
||||
// console.log($element);
|
||||
// console.log($element[0].style);
|
||||
// $('.info').removeClass('info');//移除class
|
||||
$($element).addClass('info');//添加class
|
||||
elementArr.push($element);
|
||||
var oldmpids = $('#mpids').val();
|
||||
var oldreservationtime1 = $('#reservationtime1').val();
|
||||
var frequencytype = $('#frequencyType2').val();
|
||||
var frequency = $('#frequency2').val();
|
||||
var calculation = $('#calculation2').val();
|
||||
|
||||
if (oldmpids != '') {
|
||||
$('#mpids').val(oldmpids)
|
||||
}
|
||||
if (calculation != '') {
|
||||
$('#calculation2').val(calculation)
|
||||
}
|
||||
if (frequency != '') {
|
||||
$('#frequency2').val(frequency)
|
||||
} else {
|
||||
$('#frequency2').val('')
|
||||
}
|
||||
if (oldreservationtime1 != '') {
|
||||
$('#reservationtime1').val(oldreservationtime1)
|
||||
}
|
||||
if (frequencytype != '') {
|
||||
$('#frequencyType2').val(frequencytype)
|
||||
}
|
||||
|
||||
$.post(ext.contextPath + '/report/customReport/view.do', {
|
||||
unitId: hiddenUnitId,
|
||||
mpid: mpid,
|
||||
oldmpids: oldmpids,
|
||||
oldreservationtime1: oldreservationtime1,
|
||||
frequencytype: frequencytype,
|
||||
frequency: frequency,
|
||||
calculation: calculation
|
||||
}, function (data) {
|
||||
$("#menuBox").html(data);
|
||||
});
|
||||
};
|
||||
|
||||
var initProgrammeTreeView = function () {
|
||||
$.post(ext.contextPath + '/report/customReport/getTreeViewList.do', {unitId: hiddenUnitId}, function (data) {
|
||||
// console.log(data)
|
||||
if (data.length > 0) {
|
||||
$("#report_id").val(data[0].id);
|
||||
// $("#report_input").val(data[0].text);
|
||||
$("#reportName").text(data[0].text);
|
||||
$("#frequencyType2").val(data[0].frequencytype);
|
||||
$("#frequency2").val(data[0].frequency);
|
||||
$("#calculation2").val(data[0].calculation);
|
||||
// initProgrammeListView(data[0].id);
|
||||
$('#reporttree').treeview({
|
||||
data: data,
|
||||
showBorder: false,
|
||||
levels: 2,
|
||||
});
|
||||
} else {
|
||||
$("#report_id").val("");
|
||||
$("#report_input").val("");
|
||||
$("#reportName").text("");
|
||||
$("#reporttree").html("");
|
||||
initProgrammeListView("");
|
||||
}
|
||||
|
||||
$('#reporttree').on('nodeSelected', function (event, data) {
|
||||
console.log(data)
|
||||
$('#mpids').val("");
|
||||
// sessionStorage.setItem("hmpids", "")
|
||||
$("#viewtable").bootstrapTable("removeAll");
|
||||
$("#viewtable").html('');
|
||||
$('.info').removeClass('info');//移除蓝色背景
|
||||
elementArr.splice(0, elementArr.length);//清空数组
|
||||
|
||||
$("#report_id").val(data.id);
|
||||
$("#report_input").val(data.text);
|
||||
$("#reportName").text(data.text);
|
||||
$("#frequencyType").val(data.frequencytype);
|
||||
$("#frequency").val(data.frequency);
|
||||
$("#calculation").val(data.calculation);
|
||||
// sessionStorage.setItem("calculation2", data.calculation)
|
||||
// sessionStorage.setItem("frequency2", data.frequency)
|
||||
// sessionStorage.setItem("frequencytype", data.frequencytype)
|
||||
// sessionStorage.setItem("hmpids", "")
|
||||
// sessionStorage.setItem("frequencyType2", "0")
|
||||
// sessionStorage.setItem("chooseDataContent", "")
|
||||
// sessionStorage.setItem("chooseDataNum", "0")
|
||||
|
||||
document.getElementById('report_tree').style.display = "none";
|
||||
initProgrammeListView(data.id);
|
||||
showProgrammeReportView();
|
||||
});
|
||||
|
||||
// if (data.length > 0) {
|
||||
// showfirstView(data[0]);
|
||||
// }
|
||||
}, 'json');
|
||||
// $("#menuBox").html("");
|
||||
};
|
||||
|
||||
//点击空白隐藏树
|
||||
$(document).click(function (e) {
|
||||
var divTree = $('#report_tree'); // 设置目标区域
|
||||
if (!divTree.is(e.target) && divTree.has(e.target).length === 0) {
|
||||
divTree.hide()
|
||||
}
|
||||
});
|
||||
|
||||
function showfirstView(data) {
|
||||
if (data.type == '1' || data.type == '2') {
|
||||
$("#report_id").val(data.id);
|
||||
$("#report_input").val(data.text);
|
||||
$("#reportName").text(data.text);
|
||||
$("#frequencyType2").val(data.frequencytype);
|
||||
$("#frequency2").val(data.frequency);
|
||||
$("#calculation2").val(data.calculation);
|
||||
initProgrammeListView(data.id);
|
||||
showProgrammeReportView();
|
||||
} else {
|
||||
if (data.nodes.length > 0) {
|
||||
showfirstView(data.nodes[0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var initProgrammeListView = function (id) {
|
||||
$('#programmetable').bootstrapTable('destroy');
|
||||
$("#programmetable").bootstrapTable({ // 对应table标签的id
|
||||
url: ext.contextPath + '/report/customReportMPoint/getList.do', // 获取表格数据的url
|
||||
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
|
||||
striped: true, //表格显示条纹,默认为false
|
||||
pagination: true, // 在表格底部显示分页组件,默认false
|
||||
pageList: [5, 10, 15], // 设置页面可以显示的数据条数
|
||||
pageSize: 5, // 页面数据条数
|
||||
pageNumber: 1, // 首页页码
|
||||
sidePagination: 'server', // 设置为服务器端分页
|
||||
queryParams: function (params) { // 请求服务器数据时发送的参数,可以在这里添加额外的查询参数,返回false则终止请求
|
||||
return {
|
||||
rows: params.limit, // 每页要显示的数据条数
|
||||
page: params.offset / params.limit + 1, // 每页显示数据的开始页码
|
||||
sort: params.sort, // 要排序的字段
|
||||
order: params.order, // 排序规则
|
||||
pid: id,
|
||||
unitId: hiddenUnitId
|
||||
}
|
||||
},
|
||||
rowStyle: function (row, index) {
|
||||
//这里有5个取值代表5中颜色['active', 'success', 'info', 'warning', 'danger'];
|
||||
return {classes: 'info'}
|
||||
},
|
||||
sortName: 'morder', // 要排序的字段
|
||||
sortOrder: 'asc', // 排序规则
|
||||
columns: [
|
||||
{
|
||||
field: 'mPoint', // 返回json数据中的name
|
||||
title: '测量点编号', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
formatter: function (value, row, index) {
|
||||
return value == null ? '' : value.mpointcode;
|
||||
},
|
||||
}, {
|
||||
field: 'eName', // 返回json数据中的name
|
||||
title: '别名', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
formatter: function (value, row, index) {
|
||||
return value === '' ? row.mPoint.parmname : value;
|
||||
},
|
||||
}
|
||||
],
|
||||
onLoadSuccess: function () { //加载成功时执行
|
||||
adjustBootstrapTableView("programmetable");
|
||||
},
|
||||
onLoadError: function () { //加载失败时执行
|
||||
console.info("加载数据失败");
|
||||
},
|
||||
onClickRow: function (row, $element) {
|
||||
showMPReportView(row.mPoint.id, $element);
|
||||
}
|
||||
|
||||
});
|
||||
};
|
||||
|
||||
var initMpListView = function () {
|
||||
$('#mptable').bootstrapTable('destroy');
|
||||
$("#mptable").bootstrapTable({ // 对应table标签的id
|
||||
url: ext.contextPath + '/work/mpoint/getlist.do', // 获取表格数据的url
|
||||
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
|
||||
striped: true, //表格显示条纹,默认为false
|
||||
pagination: true, // 在表格底部显示分页组件,默认false
|
||||
pageList: [20, 30, 50], // 设置页面可以显示的数据条数
|
||||
pageSize: 20, // 页面数据条数
|
||||
pageNumber: 1, // 首页页码
|
||||
sidePagination: 'server', // 设置为服务器端分页
|
||||
queryParams: function (params) { // 请求服务器数据时发送的参数,可以在这里添加额外的查询参数,返回false则终止请求
|
||||
return {
|
||||
rows: params.limit, // 每页要显示的数据条数
|
||||
page: params.offset / params.limit + 1, // 每页显示数据的开始页码
|
||||
sort: params.sort, // 要排序的字段
|
||||
order: params.order,
|
||||
search_name: $('#mpsearch_name').val(),
|
||||
companyId: hiddenUnitId
|
||||
}
|
||||
},
|
||||
sortName: 'id', // 要排序的字段
|
||||
sortOrder: 'desc', // 排序规则
|
||||
columns: [
|
||||
{
|
||||
field: 'mpointcode', // 返回json数据中的name
|
||||
title: '测量点编号', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle' // 上下居中
|
||||
}, {
|
||||
field: 'parmname', // 返回json数据中的name
|
||||
title: '测量点名称', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle' // 上下居中
|
||||
}
|
||||
],
|
||||
onLoadSuccess: function () { //加载成功时执行
|
||||
adjustBootstrapTableView("mptable");
|
||||
},
|
||||
onLoadError: function () { //加载失败时执行
|
||||
console.info("加载数据失败");
|
||||
},
|
||||
onClickRow: function (row, $element) {
|
||||
showMPReportView(row.id, $element);
|
||||
}
|
||||
|
||||
});
|
||||
};
|
||||
var hiddenUnitId = "";
|
||||
var urlUnitId = "${param.urlUnitId}";//通过路径地址传参,直接显示该测量点
|
||||
$(function () {
|
||||
sessionStorage.clear();
|
||||
$("#company").hide();
|
||||
var chooseunitId = "";
|
||||
if (urlUnitId != '' && urlUnitId.length > 0) {
|
||||
chooseunitId = urlUnitId;
|
||||
hiddenUnitId = urlUnitId;
|
||||
} else {
|
||||
chooseunitId = unitId;
|
||||
}
|
||||
// initMpListView();
|
||||
|
||||
var windowghight = $(window).height();
|
||||
windowghight = windowghight - 30;
|
||||
$('#leftBox').attr("style", "height:" + windowghight + "px;overflow-x:visible;padding:0px;");
|
||||
//简易公司combotree
|
||||
$.post(ext.contextPath + '/user/getUnitForTreeFromTop.do', {unitId: chooseunitId}, function (data) {
|
||||
if (data.length == 1 && !data[0].hasOwnProperty("nodes")) {
|
||||
// 当登陆者的pid以下没有子节点时显示单独一个span
|
||||
$("#hiddenUnitId").val(data[0].id);
|
||||
$("#companyselect").hide();
|
||||
$("#company").show();
|
||||
$("#company").text("公 司:" + data[0].text);
|
||||
hiddenUnitId = data[0].id;
|
||||
// initProgrammeTreeView();
|
||||
|
||||
initMpListView();
|
||||
//initFun();
|
||||
} else if ((data.length == 1 && data.nodes != "") || data.length > 1) {
|
||||
//第一次加载时赋值
|
||||
$("#hiddenUnitId").val(data[0].id);
|
||||
$("#cname_input").val(data[0].text);
|
||||
hiddenUnitId = data[0].id;
|
||||
|
||||
// initProgrammeTreeView();
|
||||
initMpListView();
|
||||
//initFun();
|
||||
//$table.bootstrapTable('refresh');//异步加载重新刷新,待修改
|
||||
$('#companytree').treeview({
|
||||
data: data,
|
||||
showBorder: false,
|
||||
levels: 3,
|
||||
});
|
||||
$('#companytree').on('nodeSelected', function (event, data) {
|
||||
$("#hiddenUnitId").val(data.id);
|
||||
$("#cname_input").val(data.text);
|
||||
document.getElementById('ul_tree').style.display = "none";
|
||||
hiddenUnitId = data.id;
|
||||
initProgrammeTreeView();
|
||||
initMpListView();
|
||||
//initFun();
|
||||
});
|
||||
} else {
|
||||
//待完善
|
||||
}
|
||||
;
|
||||
}, 'json');
|
||||
//防止点击树的+号收起下拉框
|
||||
$("#ul_tree").on("click", function (e) {
|
||||
event.stopPropagation();
|
||||
});
|
||||
//点击空白隐藏树
|
||||
$(document).click(function (e) {
|
||||
var divTree = $('#ul_tree'); // 设置目标区域
|
||||
if (!divTree.is(e.target) && divTree.has(e.target).length === 0) {
|
||||
divTree.hide()
|
||||
}
|
||||
})
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body onload="initMenu()" class="hold-transition ${cu.themeclass} sidebar-mini" style="overflow: auto;">
|
||||
<div class="wrapper">
|
||||
<!-- 引用top -->
|
||||
<%-- <jsp:include page="/jsp/top.jsp"></jsp:include> --%>
|
||||
<!-- 菜单栏 -->
|
||||
<%-- <jsp:include page="/jsp/left.jsp"></jsp:include> --%>
|
||||
<div class="content-wrapper">
|
||||
<!-- Content Header (Page header) -->
|
||||
<%-- <section class="content-header">--%>
|
||||
<%-- <h1 id="head_title"></h1>--%>
|
||||
<%-- <ol class="breadcrumb">--%>
|
||||
<%-- <li><a id='head_firstlevel' href="#"><i class="fa fa-dashboard"></i> </a></li>--%>
|
||||
<%-- <!-- <li class="active">Here</li> -->--%>
|
||||
<%-- </ol>--%>
|
||||
<%-- </section>--%>
|
||||
<!-- Main content -->
|
||||
<section class="content container-fluid">
|
||||
<div id="mainAlertdiv"></div>
|
||||
<div id="subDiv"></div>
|
||||
<div id="mpSubDiv"></div>
|
||||
|
||||
<div id="leftBox" class="col-md-3">
|
||||
<div class="box box-solid"
|
||||
style="height: 100%;padding-top:5px;padding-left:5px;margin-bottom: 0px;overflow: auto;">
|
||||
|
||||
<input id="hiddenUnitId" name="hiddenUnitId" type="hidden"/>
|
||||
<!-- </div> -->
|
||||
<label class="form-label" id="company"
|
||||
style="margin-left:39px;border: none;background: transparent;"></label>
|
||||
<ul id="companyselect" style="list-style-type:none;padding-left:0px;width:300px;">
|
||||
<li class="dropdown" style="width:300px;">
|
||||
<!-- Menu toggle button -->
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown"
|
||||
style="width:300px;"
|
||||
onclick="document.getElementById('ul_tree').style.display = 'block';">
|
||||
<div class="input-group">
|
||||
<span class="input-group-addon"
|
||||
style="height:31px;color:#000000;border-top-left-radius: 4px;border-bottom-left-radius: 4px;font-weight:bold">公司:</span>
|
||||
<input class="form-control " id="cname_input" name="cname_input"
|
||||
style="height:31px;width: 218px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;"
|
||||
readonly/>
|
||||
</div><!-- /input-group -->
|
||||
</a>
|
||||
<ul id="ul_tree" class="dropdown-menu" data-stopPropagation="true">
|
||||
<li class="header">
|
||||
<div id="companytree" style="width: 275px;overflow:auto;"></div>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<ul class="nav nav-tabs" id="myTab">
|
||||
<li class="active"><a href="#tab1" data-toggle="tab"
|
||||
index="0" aria-expanded="true">测量点清单</a></li>
|
||||
<li class=""><a href="#tab2" data-toggle="tab" index="1"
|
||||
aria-expanded="true">报表方案</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="tab-content no-padding" style="height: 100%;">
|
||||
<div class="chart tab-pane active" id="tab1"
|
||||
style="position: relative; padding:5px;">
|
||||
<div class="box box-solid" style="height: 100%;margin-bottom:0px;overflow: auto;">
|
||||
<div class="box-header with-border">
|
||||
<ul style="list-style-type:none;padding-left:0px;margin-bottom:5px;">
|
||||
<!-- Menu toggle button -->
|
||||
<div class="input-group input-group-sm" style="width: 150px;">
|
||||
<input type="text" id="mpsearch_name" name="mpsearch_name"
|
||||
class="form-control pull-right" placeholder="名称">
|
||||
<div class="input-group-btn">
|
||||
<button class="btn btn-default" onclick="initMpListView();"><i
|
||||
class="fa fa-search"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
</ul>
|
||||
|
||||
<h3 class="box-title">测量点清单</h3>
|
||||
|
||||
<div class="box-tools">
|
||||
<!-- <button type="button" class="btn btn-box-tool" onclick="addFun();"><i class="fa fa-plus"></i>
|
||||
</button> -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body no-padding">
|
||||
<table id="mptable"></table>
|
||||
</div>
|
||||
|
||||
<!-- /.box-body -->
|
||||
</div>
|
||||
</div>
|
||||
<div class=" tab-pane" id="tab2"
|
||||
style="position: relative; padding:5px;overflow:hidden;height: 100%;">
|
||||
<div class="form-group form-inline"
|
||||
style="padding-top:5px;padding-left:5px;margin-bottom: 0px;">
|
||||
<!-- <div class="form-group " style="margin-bottom:10px;"> -->
|
||||
<ul id="reportselect"
|
||||
style="list-style-type:none;padding-left:0px;width:200px;margin-bottom: 0px;">
|
||||
<li class="dropdown" style="width:200px;">
|
||||
<!-- Menu toggle button -->
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown" style="width:200px;"
|
||||
onclick="document.getElementById('report_tree').style.display = 'block';">
|
||||
<div class="input-group">
|
||||
<span class="input-group-addon"
|
||||
style="height:31px;color:#000000;border-top-left-radius: 4px;border-bottom-left-radius: 4px;font-weight:bold">报表方案:</span>
|
||||
<input class="form-control " id="report_input" name="report_input"
|
||||
onclick="initProgrammeTreeView()"
|
||||
style="height:31px;width: 190px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;cursor:pointer;"
|
||||
readonly/>
|
||||
</div><!-- /input-group -->
|
||||
</a>
|
||||
<ul id="report_tree" class="dropdown-menu" data-stopPropagation="true"
|
||||
style="border-color:#ccc;">
|
||||
<li class="header">
|
||||
<div id="reporttree"
|
||||
style="width: 275px;height:400px;overflow-y:scroll;overflow-x:hidden;"></div>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- -->
|
||||
<input id="report_id" name="report_id" type="hidden"/>
|
||||
</div>
|
||||
<div class="box-header with-border">
|
||||
<input id="frequencyType" name="frequencyType" type="hidden"/>
|
||||
<input id="frequency" name="frequency" type="hidden"/>
|
||||
<input id="calculation" name="calculation" type="hidden"/>
|
||||
<!-- <a class="box-title" id="reportName" style="cursor: pointer;" onclick="showProgrammeReportView();"></a> -->
|
||||
|
||||
<div class="box-tools">
|
||||
<!-- <button type="button" class="btn btn-box-tool" onclick="addFun();"><i class="fa fa-plus"></i>
|
||||
</button> -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body no-padding">
|
||||
<table id="programmetable"></table>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-9" id="menuBox">
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<!-- <div class="input-group" style="padding-left: 5px;padding-top: 5px;">
|
||||
<span class="input-group-addon"
|
||||
style="height:31px;color:#000000;border-top-left-radius: 4px;border-bottom-left-radius: 4px;font-weight:bold">曲线方案:</span>
|
||||
<input class="form-control " id="reporttree" name="reporttree"
|
||||
style="height:31px;width: 220px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;cursor:pointer;"
|
||||
readonly />
|
||||
</div> -->
|
||||
|
||||
|
||||
<%-- <!-- /.box-body -->--%>
|
||||
<%-- </div>--%>
|
||||
|
||||
<%-- </div>--%>
|
||||
|
||||
|
||||
</section>
|
||||
<!-- /.content -->
|
||||
</div>
|
||||
<%-- <jsp:include page="/jsp/bottom.jsp"></jsp:include> --%>
|
||||
<%-- <jsp:include page="/jsp/side.jsp"></jsp:include> --%>
|
||||
</div>
|
||||
</body>
|
||||
<!-- 引入daterangepicker-->
|
||||
<link rel="stylesheet" href="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/daterangepicker.css"/>
|
||||
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/moment.min.js"
|
||||
charset="utf-8"></script>
|
||||
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/daterangepicker.js"
|
||||
charset="utf-8"></script>
|
||||
</html>
|
||||
Reference in New Issue
Block a user