Commit 0fcfe62a by ddx

增加短信查询页

parent 4b792442
...@@ -96,7 +96,8 @@ public class JxSampleController { ...@@ -96,7 +96,8 @@ public class JxSampleController {
private String incomeRequestQueryNumberInvoiceListUrl; private String incomeRequestQueryNumberInvoiceListUrl;
@NacosValue(value = "${income.invoice.start.number.invoice-ids.url}", autoRefreshed = true) @NacosValue(value = "${income.invoice.start.number.invoice-ids.url}", autoRefreshed = true)
private String incomeInvoiceStartNumberInvoiceIdsUrl; private String incomeInvoiceStartNumberInvoiceIdsUrl;
@NacosValue(value = "${income.smsSend.request.query.list.url}", autoRefreshed = true)
private String incomeSmsSendRequestQueryListUrl;
@GetMapping("/jx-analysis-hourly") @GetMapping("/jx-analysis-hourly")
public String jxAnalysisHourly(String username, String startDate, String endDate) { public String jxAnalysisHourly(String username, String startDate, String endDate) {
...@@ -690,6 +691,24 @@ public class JxSampleController { ...@@ -690,6 +691,24 @@ public class JxSampleController {
} }
} }
@PostMapping("/management/query/smsSend/page")
public String querySmsSendPage(@RequestBody ManagementQueryIncomeSmsSend managementQueryIncomeSmsSend) {
try {
if (managementQueryIncomeSmsSend.getPageSize() > 100) {
managementQueryIncomeSmsSend.setPageSize(100);
}
String userCode = managementQueryIncomeSmsSend.getUserCode();
log.info("query income smsSend request page param:{}", JSONUtil.toString(managementQueryIncomeSmsSend));
String response = HttpUtil.createPost(etaxConfigService.getJxUserUrl(userCode) + incomeSmsSendRequestQueryListUrl).contentType("application/json")
.body(JSON.toJSONString(managementQueryIncomeSmsSend)).execute().body();
log.info("query income smsSend request page response:{}", response);
return this.handlePageResult(response);
} catch (Exception e) {
log.error("query income smsSend request page error:", e);
return "{}";
}
}
@GetMapping("/get-dqdm") @GetMapping("/get-dqdm")
public String getDqdm(String taxno) { public String getDqdm(String taxno) {
return etaxConfigService.getArea(taxno); return etaxConfigService.getArea(taxno);
......
package com.sxc.etaxincome.domain.model.report;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Data
public class ManagementQueryIncomeSmsSend {
private Integer pageSize;
private Integer pageNumber;
private String cellphone;
private String reqDateStart;
private String reqDateEnd;
private String userCode;
private String zoneCode;
}
...@@ -22,4 +22,8 @@ ...@@ -22,4 +22,8 @@
"index": 6, "index": 6,
"api": "进项全量发票列表", "api": "进项全量发票列表",
"url": "management-query-income-number-invoice-page.html" "url": "management-query-income-number-invoice-page.html"
},{
"index": 7,
"api": "登录短信列表",
"url": "management-query-smsSend-page.html"
}] }]
\ No newline at end of file
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
<script src="/etax-income/plugins/fileDownload/jquery.fileDownload.js"></script> <script src="/etax-income/plugins/fileDownload/jquery.fileDownload.js"></script>
<script src="/etax-income/scripts/common.js"></script> <script src="/etax-income/scripts/common.js"></script>
<script src="/etax-income/scripts/management-query-income-number-invoice-page.js"></script> <script src="/etax-income/scripts/management-query-income-number-invoice-page.js"></script>
<style type="text/css">.table {table-layout:fixed;word-break:break-all;}</style>
<script> <script>
$(document).ready(function () { $(document).ready(function () {
$.widget.bridge('uibutton', $.ui.button); $.widget.bridge('uibutton', $.ui.button);
......
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<!-- debug disable cache -->
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Management Query Sample</title>
<!-- Tell the browser to be responsive to screen width -->
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<link type="image/x-ico" href="/gx2022/favicon.ico" rel="shortcut icon"/>
<!-- Bootstrap 3.3.5 -->
<link rel="stylesheet" href="/gx2022/plugins/bootstrap/css/bootstrap.min.css">
<!-- DataTables -->
<link rel="stylesheet" href="css/bootstrap-table.min.css">
<link rel="stylesheet" href="css/bootstrap-table-editable.css">
<link rel="stylesheet" href="/gx2022/plugins/font-awesome-4.5.0/css/font-awesome.min.css">
</head>
<script src="/gx2022/plugins/jQuery/jQuery-2.1.4.min.js"></script>
<script src="/gx2022/plugins/jQueryUI/jquery-ui.min.js"></script>
<script src="/gx2022/plugins/bootstrap/js/bootstrap.min.js"></script>
<script src="/gx2022/plugins/datatables/bootstrap-table.min.js"></script>
<script src="/gx2022/plugins/echarts/echarts.min.js"></script>
<script src="/gx2022/scripts/common.js"></script>
<script src="/gx2022/scripts/management-query-sample.js"></script>
<script>
$.widget.bridge('uibutton', $.ui.button);
</script>
<script>
$(document).ready(function () {
$('#querySampleTable').bootstrapTable({
url: 'sample/management/query/sample', //接口地址
method: 'post',
contentType:"application/json",
dataType: 'json',
queryParams: function queryParams(params) { //设置查询参数
var param = {
pageSize: params.limit, //每页多少条数据
pageNumber: (params.offset / params.limit) + 1, //计算当前页码
searchText: params.search //搜索框
};
// alert("pageSize=" + param.pageSize + ", pageNumber=" + param.pageNumber);
return param;
},
height: 560,
striped: true, //是否显示行间隔色
pagination: true, //是否显示分页(*)
maintainSelected: true, //设置为 true 在点击分页按钮或搜索按钮时,将记住checkbox的选择项
sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*)
pageNumber: 1, //初始化加载第一页,默认第一页
pageSize: 10, //每页的记录行数(*)
pageList: [5, 10, 25, 50, 100], //可供选择的每页的行数(*)
search: true, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端
strictSearch: true, //设置为 true启用 全匹配搜索,否则为模糊搜索
showRefresh: true, //是否显示刷新按钮
minimumCountColumns: 2, //最少允许的列数
clickToSelect: true, //是否启用点击选中行
uniqueId: "id", //每一行的唯一标识,一般为主键列
sortStable: true,
columns: [
{field: 'type', title: 'type'},
{field: 'remark', title: '说明'},
{field: 'username', title: '用户名'},
{field: 'taxno', title: '税号'},
{field: 'requestSerialNo', title: '请求流水号'},
{field: 'applyId', title: 'applyId'},
{field: '', title: '查看', formatter: function (value, row, index) {
var applyId = row["applyId"];
var username = row["username"];
var taxno = row["taxno"];
var requestSerialNo = row["requestSerialNo"];
if (applyId > 0) {
var viewButton = '<a class="edit ml10" href="javascript:openSampleModal(\'' + username + '\', \'' + taxno + '\', \'' + requestSerialNo + '\');">查看</a>';
return viewButton;
} else {
return "--";
}
}
}
]
});
});
</script>
<body>
<div class="box-body">
<div class="col-xs-12">
<table id="querySampleTable"></table>
</div>
</div><!-- /.box-body -->
<div class="modal fade" id="makeoutInvoiceSampleModal" role="dialog" aria-labelledby="makeoutInvoiceSampleModalLabel" aria-hidden="false">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×
</button>
<h4 class="modal-title" id="makeoutInvoiceCompletePeriodModalLabel">
makeout invoice sample
</h4>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-warning" data-dismiss="modal">关闭</button>
</div>
<div class="modal-body">
<form class="form-horizontal">
<div class="box-body">
<div class="form-group">
<label class="col-sm-3 control-label">返回值:</label>
<div class="col-sm-9">
<textarea class="form-control" id="makeoutInvoiceSampleResult" cols="60" rows="16"></textarea>
</div>
</div>
</div>
</form>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
</body>
</html>
...@@ -9,28 +9,28 @@ ...@@ -9,28 +9,28 @@
<meta http-equiv="expires" content="0"> <meta http-equiv="expires" content="0">
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Management Query Security Qrcode Page</title> <title>Management Query Sms Send Page</title>
<!-- Tell the browser to be responsive to screen width --> <!-- Tell the browser to be responsive to screen width -->
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport"> <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<link type="image/x-ico" href="/gx2022/favicon.ico" rel="shortcut icon"/> <link type="image/x-ico" href="/etax-income/favicon.ico" rel="shortcut icon"/>
<!-- Bootstrap 3.3.5 --> <!-- Bootstrap 3.3.5 -->
<link rel="stylesheet" href="/gx2022/plugins/bootstrap/css/bootstrap.min.css"> <link rel="stylesheet" href="/etax-income/plugins/bootstrap/css/bootstrap.min.css">
<!-- DataTables --> <!-- DataTables -->
<link rel="stylesheet" href="css/bootstrap-table.min.css"> <link rel="stylesheet" href="css/bootstrap-table.min.css">
<link rel="stylesheet" href="css/bootstrap-table-editable.css"> <link rel="stylesheet" href="css/bootstrap-table-editable.css">
<link rel="stylesheet" href="/gx2022/plugins/font-awesome-4.5.0/css/font-awesome.min.css"> <link rel="stylesheet" href="/etax-income/plugins/font-awesome-4.5.0/css/font-awesome.min.css">
</head> </head>
<script src="/gx2022/plugins/jQuery/jQuery-2.1.4.min.js"></script> <script src="/etax-income/plugins/jQuery/jQuery-2.1.4.min.js"></script>
<script src="/gx2022/plugins/jQueryUI/jquery-ui.min.js"></script> <script src="/etax-income/plugins/jQueryUI/jquery-ui.min.js"></script>
<script src="/gx2022/plugins/bootstrap/js/bootstrap.min.js"></script> <script src="/etax-income/plugins/bootstrap/js/bootstrap.min.js"></script>
<script src="/gx2022/plugins/datatables/bootstrap-table.min.js"></script> <script src="/etax-income/plugins/datatables/bootstrap-table.min.js"></script>
<script src="/gx2022/plugins/echarts/echarts.min.js"></script> <script src="/etax-income/plugins/echarts/echarts.min.js"></script>
<script src="/gx2022/plugins/My97DatePicker/WdatePicker.js"></script> <script src="/etax-income/plugins/My97DatePicker/WdatePicker.js"></script>
<script src="/gx2022/scripts/common.js"></script> <script src="/etax-income/plugins/fileDownload/jquery.fileDownload.js"></script>
<script src="/gx2022/scripts/management-query-security-qrcode-page.js"></script> <script src="/etax-income/scripts/common.js"></script>
<script src="/etax-income/scripts/management-query-smsSend-page.js"></script>
<script> <script>
$(document).ready(function () { $(document).ready(function () {
$.widget.bridge('uibutton', $.ui.button);
initAll(); initAll();
}); });
</script> </script>
...@@ -45,74 +45,33 @@ ...@@ -45,74 +45,33 @@
<form class="form-inline"> <form class="form-inline">
<div class="box-body"> <div class="box-body">
<div class="form-group" role="form"> <div class="form-group" role="form">
<label class="col-sm-2 control-label">username:</label> <label class="col-sm-2 control-label">用户名:</label>
<div class="col-sm-4"> <div class="col-sm-4">
<select class="form-control" id="username"> <select class="form-control" id="userCode">
<option value="">请选择</option> <option value="">请选择</option>
</select> </select>
</div> </div>
<label class="col-sm-2 control-label">areaCode:</label> <label class="col-sm-2 control-label">地区码:</label>
<div class="col-sm-4"> <div class="col-sm-4">
<select class="form-control" id="areaCode"> <select class="form-control" id="areaCode">
<option value="">请选择</option> <option value="">请选择</option>
</select> </select>
</div> </div>
<label class="col-sm-2 control-label">taxno:</label> <label class="col-sm-2 control-label">手机号:</label>
<div class="col-sm-4"> <div class="col-sm-4">
<input class="form-control" id="taxno" value=""> <input class="form-control" id="cellphone" value="">
</div> </div>
<label class="col-sm-2 control-label">type:</label> <label class="col-sm-2 control-label">请求时间:</label>
<div class="col-sm-4"> <div class="col-sm-4">
<select class="form-control" id="type"> <input class="form-control" id="startDate" size="10" placeholder="yyyy-MM-dd HH:mm:ss" onClick="WdatePicker({el:this,dateFmt:'yyyy-MM-dd HH:mm:ss'})"> - <input class="form-control" id="endDate" size="10" placeholder="yyyy-MM-dd HH:mm:ss" onClick="WdatePicker({el:this,dateFmt:'yyyy-MM-dd HH:mm:ss'})">
<option value="">请选择</option>
</select>
</div>
<label class="col-sm-2 control-label">updateTime:</label>
<div class="col-sm-4">
<input class="form-control" id="startDateTime" size="14" placeholder="点击选择结束时间" onClick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',startDate:'%y-%M-%d 00:00:00'})"> - <input class="form-control" id="endDateTime" size="14" placeholder="点击选择结束时间" onClick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',startDate:'%y-%M-%d 23:59:59'})">
</div> </div>
</div> </div>
</div> </div>
</form> </form>
<div class="col-xs-12"> <div class="col-xs-12">
<table id="querySecurityQrcodeTable"></table> <table id="queryTaxUserTable"></table>
</div> </div>
</div><!-- /.box-body --> </div><!-- /.box-body -->
<div class="modal fade" id="makeoutInvoiceSampleModal" role="dialog" aria-labelledby="makeoutInvoiceSampleModalLabel" aria-hidden="false">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×
</button>
<h4 class="modal-title" id="makeoutInvoiceCompletePeriodModalLabel">
makeout invoice sample
</h4>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-warning" data-dismiss="modal">关闭</button>
</div>
<div class="modal-body">
<form class="form-horizontal">
<div class="box-body">
<div class="form-group">
<label class="col-sm-3 control-label">交付链接:</label>
<div class="col-sm-9">
<div class="form-control" id="submitLink"></div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">返回值:</label>
<div class="col-sm-9">
<textarea class="form-control" id="makeoutInvoiceSampleResult" cols="60" rows="16"></textarea>
</div>
</div>
</div>
</form>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
</body> </body>
</html> </html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<!-- debug disable cache -->
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Api Navigator</title>
<!-- Tell the browser to be responsive to screen width -->
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<link type="image/x-ico" href="/gx2022/favicon.ico" rel="shortcut icon"/>
<!-- Bootstrap 3.3.5 -->
<link rel="stylesheet" href="/gx2022/plugins/bootstrap/css/bootstrap.min.css">
<!-- DataTables -->
<link rel="stylesheet" href="css/bootstrap-table.min.css">
<link rel="stylesheet" href="css/bootstrap-table-editable.css">
<link rel="stylesheet" href="/gx2022/plugins/font-awesome-4.5.0/css/font-awesome.min.css">
</head>
<script src="/gx2022/plugins/jQuery/jQuery-2.1.4.min.js"></script>
<script src="/gx2022/plugins/jQueryUI/jquery-ui.min.js"></script>
<script src="/gx2022/plugins/bootstrap/js/bootstrap.min.js"></script>
<script src="/gx2022/plugins/datatables/bootstrap-table.min.js"></script>
<script src="/gx2022/plugins/echarts/echarts.min.js"></script>
<script src="/gx2022/scripts/common.js"></script>
<script src="/gx2022/scripts/navigator.js"></script>
<script>
$.widget.bridge('uibutton', $.ui.button);
</script>
<script>
$(document).ready(function () {
});
</script>
<body>
<div class="box-body">
<div class="col-xs-12">
<table id="apiTable"
data-show-refresh="true"
data-toggle="table"
data-url="data/navigator.json"
data-flat="true"
data-click-to-select="false"
data-row-style="rowStyle"
data-striped="true"
data-show-header="true"
data-query-params="queryParams"
data-pagination="true"
data-page-size="10"
data-page-list="[10, 20, 50, 100]"
data-search="true"
data-sort-name="since"
data-sort-order="desc">
<thead>
<tr>
<th data-field="index" data-align="center" data-sortable="true">编号</th>
<th data-field="api" data-align="left">接口</th>
<th data-field="url" data-align="left">地址</th>
<th data-align="center" data-formatter="operate">打开</th>
</th>
</tr>
</thead>
</table>
</div>
</div><!-- /.box-body -->
<div class="modal fade" id="detailModal" role="dialog" aria-labelledby="serverModalLabel" aria-hidden="false">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×
</button>
<h4 class="modal-title" id="detailModalLabel">
Api Detail
</h4>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-warning" data-dismiss="modal">关闭</button>
</div>
<div class="modal-body">
<form class="form-horizontal">
<div class="box-body">
<div class="form-group" id="itemCommentDiv">
<div class="col-sm-12">
<textarea class="form-control" id="detail" cols="60" rows="16"></textarea>
</div>
</div>
</div>
</form>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<!-- debug disable cache -->
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Proxy Report</title>
<!-- Tell the browser to be responsive to screen width -->
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<link type="image/x-ico" href="/gx2022/favicon.ico" rel="shortcut icon"/>
<!-- Bootstrap 3.3.5 -->
<link rel="stylesheet" href="/gx2022/plugins/bootstrap/css/bootstrap.min.css">
<!-- DataTables -->
<link rel="stylesheet" href="css/bootstrap-table.min.css">
<link rel="stylesheet" href="css/bootstrap-table-editable.css">
<link rel="stylesheet" href="/gx2022/plugins/font-awesome-4.5.0/css/font-awesome.min.css">
</head>
<script src="/gx2022/plugins/jQuery/jQuery-2.1.4.min.js"></script>
<script src="/gx2022/plugins/jQueryUI/jquery-ui.min.js"></script>
<script src="/gx2022/plugins/bootstrap/js/bootstrap.min.js"></script>
<script src="/gx2022/plugins/datatables/bootstrap-table.min.js"></script>
<script src="/gx2022/scripts/common.js"></script>
<script src="/gx2022/scripts/proxy-report.js"></script>
<script>
$.widget.bridge('uibutton', $.ui.button);
</script>
<script>
$(document).ready(function () {
initProxyReport();
});
</script>
<body>
<div class="box-body">
<form class="form-inline" role="form">
<div class="form-group">
<div class="col-sm-12">
<input type="radio" name="platformType" value="fpcy" checked="checked">发票查验
<input type="radio" name="platformType" value="fpdk">综合服务平台
<input type="radio" name="platformType" value="etax">电票平台
<input type="radio" name="platformType" value="sb">申报
<input type="radio" name="platformType" value="file">下载版式文件
</div>
</div>
</form>
<div class="col-xs-12">
<table id="proxyReportTable"></table>
</div>
</div><!-- /.box-body -->
</body>
</html>
...@@ -121,9 +121,9 @@ function queryPageList(initParams) { ...@@ -121,9 +121,9 @@ function queryPageList(initParams) {
return value; return value;
} }
}, },
{field: 'fulltaxno', title: '所属税号'}, {field: 'fulltaxno', width: 200, title: '所属税号'},
{field: 'buytaxno', title: '购方税号'}, {field: 'buytaxno', width: 200, title: '购方税号'},
{field: '', title: '数电票号码', formatter: function(value, row, index) { {field: '', width: 200, title: '数电票号码', formatter: function(value, row, index) {
var eleInvnum = row['eleInvnum']; var eleInvnum = row['eleInvnum'];
var infoFrom = row['infoFrom']; var infoFrom = row['infoFrom'];
if (infoFrom === '2') { if (infoFrom === '2') {
...@@ -133,7 +133,7 @@ function queryPageList(initParams) { ...@@ -133,7 +133,7 @@ function queryPageList(initParams) {
} }
} }
}, },
{field: '', title: '发票代码', formatter: function(value, row, index) { {field: '', width: 100, title: '发票代码', formatter: function(value, row, index) {
var invkind = row['invkind']; var invkind = row['invkind'];
var infoFrom = row['infoFrom']; var infoFrom = row['infoFrom'];
var invtype = row['invtype']; var invtype = row['invtype'];
...@@ -148,7 +148,7 @@ function queryPageList(initParams) { ...@@ -148,7 +148,7 @@ function queryPageList(initParams) {
} }
} }
}, },
{field: '', title: '发票号码', formatter: function(value, row, index) { {field: '', width: 100, title: '发票号码', formatter: function(value, row, index) {
var invnum = row['invnum']; var invnum = row['invnum'];
var infoFrom = row['infoFrom']; var infoFrom = row['infoFrom'];
var invtype = row['invtype']; var invtype = row['invtype'];
...@@ -163,7 +163,7 @@ function queryPageList(initParams) { ...@@ -163,7 +163,7 @@ function queryPageList(initParams) {
} }
} }
}, },
{field: '', title: '开票日期', formatter: function(value, row, index) { {field: '', width: 200, title: '开票日期', formatter: function(value, row, index) {
var invdate = row["invdate"]; var invdate = row["invdate"];
if (invdate === undefined) { if (invdate === undefined) {
return '-'; return '-';
...@@ -171,11 +171,11 @@ function queryPageList(initParams) { ...@@ -171,11 +171,11 @@ function queryPageList(initParams) {
return new Date(invdate).format('yyyy-MM-dd HH:mm:ss'); return new Date(invdate).format('yyyy-MM-dd HH:mm:ss');
} }
}, },
{field: 'invcost', title: '金额'}, {field: 'invcost', width: 120, title: '金额'},
{field: 'invvat', title: '票面税额'}, {field: 'invvat', width: 120, title: '票面税额'},
{field: 'sellname', title: '销售方纳税人名称'}, {field: 'sellname', width: 200, title: '销售方纳税人名称'},
{field: 'selltaxno', title: '销售方纳税人识别号'}, {field: 'selltaxno', width: 200, title: '销售方纳税人识别号'},
{field: '', title: '发票来源', formatter: function(value, row, index) { {field: '', width: 100, title: '发票来源', formatter: function(value, row, index) {
var infoFrom = row['infoFrom']; var infoFrom = row['infoFrom'];
if (infoFrom === '1') { if (infoFrom === '1') {
return '增值税发票管理系统'; return '增值税发票管理系统';
...@@ -184,12 +184,12 @@ function queryPageList(initParams) { ...@@ -184,12 +184,12 @@ function queryPageList(initParams) {
} }
} }
}, },
{field: '', title: '票种', formatter: function(value, row, index) { {field: '', title: '票种', width: 180, formatter: function(value, row, index) {
var invtype = row['invtype']; var invtype = row['invtype'];
return getInvTypeByMap(invtype); return getInvTypeByMap(invtype);
} }
}, },
{field: '', title: '发票状态', formatter: function(value, row, index) { {field: '', width: 80, title: '发票状态', formatter: function(value, row, index) {
var invStatus = row['invStatus']; var invStatus = row['invStatus'];
if (invStatus === '02') { if (invStatus === '02') {
return '已作废'; return '已作废';
...@@ -202,7 +202,7 @@ function queryPageList(initParams) { ...@@ -202,7 +202,7 @@ function queryPageList(initParams) {
} }
} }
}, },
{field: '', title: '创建日期', formatter: function(value, row, index) { {field: '', width: 200, title: '创建日期', formatter: function(value, row, index) {
var createDate = row["createDate"]; var createDate = row["createDate"];
if (createDate === undefined) { if (createDate === undefined) {
return '-'; return '-';
...@@ -210,7 +210,7 @@ function queryPageList(initParams) { ...@@ -210,7 +210,7 @@ function queryPageList(initParams) {
return new Date(createDate).format('yyyy-MM-dd HH:mm:ss'); return new Date(createDate).format('yyyy-MM-dd HH:mm:ss');
} }
}, },
{field: '', title: '更新日期', formatter: function(value, row, index) { {field: '', width: 200, title: '更新日期', formatter: function(value, row, index) {
var updateDate = row["updateDate"]; var updateDate = row["updateDate"];
if (updateDate === undefined) { if (updateDate === undefined) {
return '-'; return '-';
...@@ -218,7 +218,7 @@ function queryPageList(initParams) { ...@@ -218,7 +218,7 @@ function queryPageList(initParams) {
return new Date(updateDate).format('yyyy-MM-dd HH:mm:ss'); return new Date(updateDate).format('yyyy-MM-dd HH:mm:ss');
} }
}, },
{field: '', title: '导出标志', formatter: function(value, row, index) { {field: '', width: 80, title: '导出标志', formatter: function(value, row, index) {
var expFlag = row['expFlag']; var expFlag = row['expFlag'];
if (expFlag === '0') { if (expFlag === '0') {
return '未导出'; return '未导出';
...@@ -231,7 +231,7 @@ function queryPageList(initParams) { ...@@ -231,7 +231,7 @@ function queryPageList(initParams) {
} }
} }
}, },
{field: '', title: '全票面标志', formatter: function(value, row, index) { {field: '', width: 50, title: '全票面标志', formatter: function(value, row, index) {
var fullFlag = row['fullFlag']; var fullFlag = row['fullFlag'];
if (fullFlag === '1') { if (fullFlag === '1') {
return '是'; return '是';
...@@ -240,7 +240,7 @@ function queryPageList(initParams) { ...@@ -240,7 +240,7 @@ function queryPageList(initParams) {
} }
} }
}, },
{field: '', title: '全票面时间', formatter: function(value, row, index) { {field: '', width: 200, title: '全票面时间', formatter: function(value, row, index) {
var fullDate = row["fullDate"]; var fullDate = row["fullDate"];
if (fullDate === undefined) { if (fullDate === undefined) {
return '-'; return '-';
...@@ -248,7 +248,7 @@ function queryPageList(initParams) { ...@@ -248,7 +248,7 @@ function queryPageList(initParams) {
return new Date(fullDate).format('yyyy-MM-dd HH:mm:ss'); return new Date(fullDate).format('yyyy-MM-dd HH:mm:ss');
} }
}, },
{field: '', title: '文件补充标志', formatter: function(value, row, index) { {field: '', width: 50, title: '文件补充标志', formatter: function(value, row, index) {
var fileOverFlag = row['fileOverFlag']; var fileOverFlag = row['fileOverFlag'];
if (fileOverFlag === '2') { if (fileOverFlag === '2') {
return '是'; return '是';
...@@ -257,10 +257,10 @@ function queryPageList(initParams) { ...@@ -257,10 +257,10 @@ function queryPageList(initParams) {
} }
} }
}, },
{field: 'fullCount', title: '当天重试数'}, {field: 'fullCount', width: 120, title: '当天重试数'},
{field: 'bcCount', title: '隔天重试数'}, {field: 'bcCount', width: 120, title: '隔天重试数'},
{field: 'fullCount', title: '全票面重试数'}, {field: 'fullCount', width: 120, title: '全票面重试数'},
{field: 'detailCount', title: '明细数'} {field: 'detailCount', width: 100, title: '明细数'}
] ]
}); });
} }
......
function initAll() {
initAllUsernameList("userCode");
initAllAreaCodeList("areaCode");
queryPageList();
}
function refreshPageList() {
$('#queryTaxUserTable').bootstrapTable('destroy');
queryPageList();
}
function queryPageList() {
var userCode = $("#userCode").val();
var areaCode = $("#areaCode").val();
var cellphone = $("#cellphone").val();
var endDate = $("#endDate").val();
var startDate = $("#startDate").val();
$('#queryTaxUserTable').bootstrapTable({
url: 'jxSample/management/query/smsSend/page', //接口地址
method: 'post',
contentType:"application/json",
dataType: 'json',
queryParams: function queryParams(params) { //设置查询参数
var param = {
pageSize: params.limit, //每页多少条数据
pageNumber: (params.offset / params.limit) + 1, //计算当前页码
userCode: userCode,
zoneCode: areaCode,
cellphone: cellphone,
reqDateStart: startDate,
reqDateEnd: endDate
};
return param;
},
height: 560,
striped: true, //是否显示行间隔色
pagination: true, //是否显示分页(*)
maintainSelected: true, //设置为 true 在点击分页按钮或搜索按钮时,将记住checkbox的选择项
sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*)
pageNumber: 1, //初始化加载第一页,默认第一页
pageSize: 5, //每页的记录行数(*)
pageList: [5, 10, 25, 50, 100], //可供选择的每页的行数(*)
search: true, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端
strictSearch: true, //设置为 true启用 全匹配搜索,否则为模糊搜索
showRefresh: true, //是否显示刷新按钮
minimumCountColumns: 2, //最少允许的列数
uniqueId: "id", //每一行的唯一标识,一般为主键列
sortStable: true,
columns: [
{field: 'id', title: 'id'},
{field: 'cellphone', title: '手机号'},
{field: 'resCode', title: '返回码'},
{field: 'timeFlag', title: '日志码'},
{field: '', title: '请求时间', formatter: function(value, row, index) {
var reqDate = row["reqDate"];
if (reqDate === undefined) {
return '-';
}
return new Date(reqDate).format('yyyy-MM-dd HH:mm:ss');
}
},
{field: '', title: '返回时间', formatter: function(value, row, index) {
var resDate = row["resDate"];
if (resDate === undefined) {
return '-';
}
return new Date(resDate).format('yyyy-MM-dd HH:mm:ss');
}
},
{field: 'timeDiff', title: '时间差'},
{field: 'zoneCode', title: '地区'},
{field: 'reqParams', title: '请求参数'},
{field: 'resContext', title: '返回参数'}
]
});
}
function initDate() {
var startDate = $("#startDate").val();
var endDate = $("#endDate").val();
if (startDate === '') {
$("#startDate").val(getToday());
}
if (endDate === '') {
$("#endDate").val(getToday());
}
}
function initAllUsernameList(usernameId) {
var username = $("#" + usernameId).val();
if (username == "") {
$.ajax({
type: "GET",
url: "/etax-income/jxSample/jx-query-tax-user-list",
data: {
},
dataType: "json",
contentType: "application/x-www-form-urlencoded",
async: false,
success: function (response) {
$("#" + usernameId).empty();
$("#" + usernameId).append("<option value=''>请选择</option>");
$.each(response, function(index, value) {
var selected = (value.userCode === 'echangcheng' ? "selected" : "");
var showName = value.userCode;
$("#" + usernameId).append("<option value='" + value.userCode + "' " + selected + ">" + showName + "</option>");
});
},
error: function (e) {
alert("查询用户信息失败.");
},
complete: function (e) {
;
}
});
}
}
function initAllAreaCodeList(areaCodeId) {
var areaCode = $("#" + areaCodeId).val();
if (areaCode == "") {
$.ajax({
type: "GET",
url: "/etax-income/jxSample/dqdm-list",
data: {
},
dataType: "json",
contentType: "application/x-www-form-urlencoded",
async: false,
success: function (response) {
$("#" + areaCodeId).empty();
$("#" + areaCodeId).append("<option value=''>请选择</option>");
$.each(response, function(index, value) {
$("#" + areaCodeId).append("<option value='" + value.dqdm + "'>" + value.dqdm + "-" + value.dqmc + "</option>");
});
},
error: function (e) {
alert("查询地区信息失败.");
},
complete: function (e) {
;
}
});
}
}
function openSampleModal(applyId) {
$('#incomeInvoiceSampleModal').modal('show');
if (applyId === '' || applyId === null) {
alert("请输入applyId.");
return;
}
var url = "jxSample/management/query/income/apply-id";
$.ajax({
type: "GET",
url: url,
data: {
"applyId": applyId
},
dataType: "json",
contentType: "application/json",
async: false,
success: function (response) {
$('#incomeInvoiceSampleRequest').val(response.reqContext);
$("#incomeInvoiceSampleResponse").val(response.resContext);
$("#simulateParam").val(JSON.stringify(response.requestParam, null, '\t'));
$("#cookie").val(JSON.stringify(response.cookie, null, '\t'));
},
error: function (e) {
alert("查询失败.");
},
complete: function (e) {
;
}
});
}
function setElapsedMillisRange() {
var endElapsedMillis = $('input[type=radio][name=elapsedMillisRange]:checked').val();
$("#startElapsedMillis").val(0);
$("#endElapsedMillis").val(endElapsedMillis);
}
function autoSelectArea() {
var taxno = $("#taxno").val();
if (taxno == '') {
$("#areaCode").val("");
return;
}
$.ajax({
type: "GET",
url: 'jxSample/get-dqdm',
data: {
"taxno": taxno
},
dataType: "json",
contentType: "application/json",
async: false,
success: function (response) {
var selectArea = response.dqdm;
$('#areaCode').val(selectArea);
},
error: function (e) {
alert("查询失败.");
},
complete: function (e) {
;
}
});
}
\ No newline at end of file
<!-- 声明文档类型 -->
<!DOCTYPE html>
<html lang="en">
<head>
<!--更多资源:https://gitee.com/iGaoWei/big-data-view -->
<!-- 指定网页字符编码 -->
<meta charset="UTF-8">
<!-- 适配移动端 -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>test</title>
<link type="image/x-ico" href="/gx2022/favicon.ico" rel="shortcut icon"/>
<link rel="stylesheet" href="css/index.css">
<link rel="stylesheet" href="/gx2022/plugins/bootstrap/css/bootstrap.min.css">
</head>
<script src="plugins/jQuery/jQuery-2.1.4.min.js"></script>
<script src="plugins/jQueryUI/jquery-ui.min.js"></script>
<script src="plugins/jQuery-blockUI/jquery.blockUI.js"></script>
<script src="plugins/bootstrap/js/bootstrap.min.js"></script>
<script src="plugins/echarts/echarts.min.js"></script>
<script src="plugins/mathjs/math.min.js"></script>
<script src="plugins/My97DatePicker/WdatePicker.js"></script>
<script src="scripts/common.js"></script>
<script>
$(document).ready(function () {
executeDraw();
});
function func(x, u, a) {
return ((1 / Math.sqrt(2 * Math.PI)) *a *Math.exp((-1 * ((x - u) * (x - u))) / (2 * a * a)));
}
function executeDraw() {
var username = "751cad12b54d883d723652d17aeb6948";
var areaCode = "4400";
$.ajax({
type: "GET",
url: "sample/analysis-query-makeout-blue-success",
data: {
"username": username,
"areaCode": areaCode
},
dataType: "json",
contentType: "application/json",
async: false,
success: function (response) {
var count = [];
jQuery.each(response, function(i ,item) {
count[i] = response[i].latestElapsedMillis;
});
drawBar(count);
},
error: function (e) {
alert("查询失败.");
},
complete: function (e) {
;
}
});
}
function drawBar(dataOriginal) {
// var data = ["22.08","22.08","22.08","22.08","22.08","22.07","22.07","22.07","22.06","22.06","22.06","22.06","22.04","22.04","22.04","22.02","22.02","22.02","22.02","22.00","22.00","22.00","22.00","22.00","22.00","21.99","21.99","21.99","21.99","21.99","21.99","21.99","21.99","21.99","21.99","21.98","21.98","21.98","21.98","21.98","21.98","21.98","21.98","21.98","21.98","21.98","21.98","21.98","21.98","21.98","21.97","21.97","21.97","21.97","21.97","21.97","21.97","21.97","21.97","21.97","21.97","21.97","21.97","21.96","21.96","21.96","21.96","21.96","21.96","21.96","21.95","21.95","21.95","21.95","21.95","21.95","21.95","21.95","21.95","21.95","21.94","21.94","21.94","21.94","21.93","21.93","21.93","21.93","21.93"];
var data = [];
for (var i = 0; i < dataOriginal.length; i++) {
data[i] = Math.trunc(dataOriginal[i] / 1000) * 1000;
console.log(data[i]);
}
var mean = math.mean(data); //平均值 计算方法来自math.js
console.log("mean:" + mean);
var stdev = math.std(data); //方差
console.log("stdev:" + stdev);
var threeSigUp = mean + 3 * stdev;
var threeSigLow = mean - 3 * stdev;
//数据升序排序
const dataSec = data.sort((a, b) => {return a - b;});
var xMin = dataSec[0]; //LowLimit
var xMax = dataSec[dataSec.length - 1]; //UpLimit
console.log(xMin + "-" + xMax);
//计算频数
var resNum = {};
for (var m = 0; m < dataSec.length; m++) {
var key = parseFloat(dataSec[m]);
if (parseFloat(key) === 0) {
continue;
}
if (resNum[key]) {
resNum[key] += 1;
} else {
resNum[key] = 1;
}
}
var xArr = []; //横坐标值
var fArr = []; //频数
var yArr = []; //正态值
for (var k in resNum) {
xArr.push(parseFloat(k));
}
xArr = xArr.sort((a, b) => {return a - b;});// 计算x值对应的频数
console.log(xArr);
for (var i = 0; i < xArr.length; i++) {
var xNy = [xArr[i], resNum[xArr[i]]];
fArr.push(xNy);
}//计算x值对应的正态分布值
var distance = xMax - xMin; //为了更好看,设置正态曲线起止位置
for (var j = xMin + distance / 4; j < xMax - distance / 4; j += 1000) {
var xy = [j, func(j, mean, stdev)];
yArr.push(xy);
}
var option;
option = {//
backgroundColor: "#12141e",
tooltip: {
trigger: "axis",
axisPointer: {
type: "shadow"
}
},
legend: {
orient: "vertical",
x: "right",
y: "top",
top: "5px",
data: ["频数", "正态分布"],
textStyle: {
color: "rgba(255,255,255,1)",
fontSize: "12"
}
},
grid: {
left: "2%",
top: "18px",
right: "2%",
bottom: "2%",
containLabel: true
},
xAxis: [{
type: "value",
min: xMin,
max: xMax,
axisLabel: {
textStyle: {
color: "rgba(255,255,255,1)",
fontSize: 10
}
},
axisLine: {
show: true,
lineStyle: {
color: "rgba(255,255,255,1)"
}
},
splitLine: {
show: false
}
}],
yAxis: [{
type: "value", //数值轴
name: "正态曲线",
position: "right",
axisTick: {
show: true
},
axisLine: {
show: false,
lineStyle: {
color: "rgba(255,255,255,1)"
}
},
axisLabel: {
show: true,
textStyle: {
color: "rgba(255,255,255,1)",
fontSize: 10
}
},
splitLine: {
show: false
}
},{
type: "value",
name: "频数",
position: "left",
axisLabel: {
// formatter: '{value} %',
show: true,
textStyle: {
color: "rgba(255,255,255,1)",
fontSize: "12"
}
},
axisTick: {
show: true
},
axisLine: {
show: true,
lineStyle: {
color: "rgba(0,0,0,.1)",
width: 1,
type: "solid"
}
},
splitLine: {
lineStyle: {
color: "rgba(255,255,255,.3)"
}
}
}],
series: [{
name: "正态分布",
type: "line",
smooth: true,
yAxisIndex: 0,
symbol: "circle",
symbolSize: 5,
showSymbol: false,
lineStyle: {
normal: {
color: "#ceb664",
width: 2
}
},
itemStyle: {
normal: {
color: "#ceb664",
borderColor: "rgba(221, 220, 107, .1)",
borderWidth: 10
}
},
data: yArr,
markLine: {
symbol: ["none"],
lineStyle: {
type: "dotted",
color: "yellow"
},
itemStyle: {
normal: {
show: true,
color: "black"
}
},
label: {
show: true,
position: "end"
},
data: [{
name: "3σ",
xAxis: threeSigLow.toFixed(2),
label: {
show: true,
formatter: "3σ"
}
}, {
name: "3σ",
xAxis: threeSigUp.toFixed(2),
label: {
show: true,
formatter: "3σ"
}
}]
}
},{
name: "频数",
type: "bar",
yAxisIndex: 1,
xAxisIndex: 0,
barWidth: 8,
barGap: 1,
symbol: "solid",
symbolSize: 5,
showSymbol: true,
itemStyle: {
normal: {
color: "#0184d5",
opacity: 1,barBorderRadius: 3
}
},
data: fArr,
markLine: {
symbol: ["none"],
lineStyle: {
type: "dotted",
color: "red"
},
itemStyle: {
normal: {
show: true,
color: "black"
}
},
label: {
show: true,
position: "middle"
},
data: [{
name: "LowLimit",
xAxis: xMin.toFixed(2),
label: {
show: true,
formatter: "Low"
}
},{
name: "High",
xAxis: xMax.toFixed(2),
label: {
show: true,
formatter: "High"
}
}]
}
}]
}
var dom = document.getElementById("chart-container");
console.log('test' + dom)
var myChart = echarts.init(dom, null, {
renderer: "canvas",
useDirtyRect: false
});
if (option && typeof option === "object") {
myChart.setOption(option);
}
}
</script>
<body>
<div id="chart-container" style="width: 800px;height:600px;"></div>
</body>
</html>
\ No newline at end of file
<!-- 声明文档类型 -->
<!DOCTYPE html>
<html lang="en">
<head>
<!-- 指定网页字符编码 -->
<meta charset="UTF-8">
<!-- 适配移动端 -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>process</title>
<link type="image/x-ico" href="/gx2022/favicon.ico" rel="shortcut icon"/>
<link rel="stylesheet" href="plugins/font-awesome-4.5.0/css/font-awesome.min.css">
<style>
.timeline {
width: 580px;
height: 350px;
overflow: hidden;
margin: 100px 80px auto;
background: url('plugins/timelinr/images/dot.gif') 10px top repeat-x;
}
.node {
top: 45px;
float: center;
overflow: hidden;
margin: 30px auto 0;
box-shadow: 0 0 40px #a0a0a0;
font-family: 'Open Sans', sans-serif;
position:absolute;
}
.node-title {
font-size: 0.75em;
padding-top: 0.40rem;
padding-right: 2rem;
}
.node-content {
}
</style>
</head>
<script type="text/javascript" src="plugins/jQuery/jQuery-2.1.4.min.js"></script>
<script>
$(function(){
var data = [{
title: "2019-06-01 08:00:00",
content: "生成二维码",
image: "fa-caret-square-o-right",
color: "blue",
timestamp: 1559347200
}, {
title: "2019-07-15 20:00:00",
content: "认证通过",
image: "fa-check",
color: "green",
timestamp: 1563192000
}, {
title: "2019-08-01 08:00:00",
content: "二维码失效",
image: "fa-circle",
color: "red",
timestamp: 1564617600
}];
$.each(data, function(index, item) {
// 2019-06-01 07:56:40
var minTimestamp = 1559347000;
// 2019-08-01 08:03:20
var maxTimestamp = 1564617800;
var minPosition = 10;
var maxPosition = 500;
var position = (item.timestamp - minTimestamp) / (maxTimestamp - minTimestamp) * (maxPosition - minPosition) + minPosition;
var node = $('<div class="node">' +
'<div class="node-title">' + item.title + '</div>' +
'<div class="node-body">' +
'<em class="fa ' + item.image + '" style="color: ' + item.color + ';"></em>' +
'<p>' + item.content + '</p>' +
'</div>' +
'</div>');
console.log("position:" + position);
node.css('left', position + 'px');
$(".timeline").append(node);
});
});
</script>
<body>
<div class="timeline">
</div>
</body>
</html>
\ No newline at end of file
<!-- 声明文档类型 -->
<!DOCTYPE html>
<html lang="en">
<head>
<!--更多资源:https://gitee.com/iGaoWei/big-data-view -->
<!-- 指定网页字符编码 -->
<meta charset="UTF-8">
<!-- 适配移动端 -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>jQuery Timelinr</title>
<link type="image/x-ico" href="/gx2022/favicon.ico" rel="shortcut icon"/>
<link rel="stylesheet" href="plugins/timelinr/css/style.css" media="screen" />
<style>
</style>
</head>
<script type="text/javascript" src="plugins/jQuery/jQuery-2.1.4.min.js"></script>
<script type="text/javascript" src="plugins/timelinr/jquery.timelinr-0.9.7.js"></script>
<script>
$(function(){
$("#timeline").timelinr({
arrowKeys: 'true'
});
});
</script>
<body>
<div id="timeline">
<ul id="dates">
<li><a href="#1900">1900</a></li>
<li><a href="#1930">1930</a></li>
<li><a href="#1944">1944</a></li>
<li><a href="#1950">1950</a></li>
<li><a href="#1971">1971</a></li>
<li><a href="#1977">1977</a></li>
<li><a href="#1989">1989</a></li>
<li><a href="#1999">1999</a></li>
<li><a href="#2001">2001</a></li>
<li><a href="#2011">2011</a></li>
</ul>
<ul id="issues">
<li id="1900">
<img src="plugins/timelinr/images/1.png" width="256" height="256" />
<h1>1900</h1>
<p>Donec semper quam scelerisque tortor dictum gravida. In hac habitasse platea dictumst. Nam pulvinar, odio sed rhoncus suscipit, sem diam ultrices mauris, eu consequat purus metus eu velit. Proin metus odio, aliquam eget molestie nec, gravida ut sapien. Phasellus quis est sed turpis sollicitudin venenatis sed eu odio. Praesent eget neque eu eros interdum malesuada non vel leo. Sed fringilla porta ligula.</p>
</li>
<li id="1930">
<img src="plugins/timelinr/images/2.png" width="256" height="256" />
<h1>1930</h1>
<p>Donec semper quam scelerisque tortor dictum gravida. In hac habitasse platea dictumst. Nam pulvinar, odio sed rhoncus suscipit, sem diam ultrices mauris, eu consequat purus metus eu velit. Proin metus odio, aliquam eget molestie nec, gravida ut sapien. Phasellus quis est sed turpis sollicitudin venenatis sed eu odio. Praesent eget neque eu eros interdum malesuada non vel leo. Sed fringilla porta ligula.</p>
</li>
<li id="1944">
<img src="plugins/timelinr/images/3.png" width="256" height="256" />
<h1>1944</h1>
<p>Donec semper quam scelerisque tortor dictum gravida. In hac habitasse platea dictumst. Nam pulvinar, odio sed rhoncus suscipit, sem diam ultrices mauris, eu consequat purus metus eu velit. Proin metus odio, aliquam eget molestie nec, gravida ut sapien. Phasellus quis est sed turpis sollicitudin venenatis sed eu odio. Praesent eget neque eu eros interdum malesuada non vel leo. Sed fringilla porta ligula.</p>
</li>
<li id="1950">
<img src="plugins/timelinr/images/4.png" width="256" height="256" />
<h1>1950</h1>
<p>Donec semper quam scelerisque tortor dictum gravida. In hac habitasse platea dictumst. Nam pulvinar, odio sed rhoncus suscipit, sem diam ultrices mauris, eu consequat purus metus eu velit. Proin metus odio, aliquam eget molestie nec, gravida ut sapien. Phasellus quis est sed turpis sollicitudin venenatis sed eu odio. Praesent eget neque eu eros interdum malesuada non vel leo. Sed fringilla porta ligula.</p>
</li>
<li id="1971">
<img src="plugins/timelinr/images/5.png" width="256" height="256" />
<h1>1971</h1>
<p>Donec semper quam scelerisque tortor dictum gravida. In hac habitasse platea dictumst. Nam pulvinar, odio sed rhoncus suscipit, sem diam ultrices mauris, eu consequat purus metus eu velit. Proin metus odio, aliquam eget molestie nec, gravida ut sapien. Phasellus quis est sed turpis sollicitudin venenatis sed eu odio. Praesent eget neque eu eros interdum malesuada non vel leo. Sed fringilla porta ligula.</p>
</li>
<li id="1977">
<img src="plugins/timelinr/images/6.png" width="256" height="256" />
<h1>1977</h1>
<p>Donec semper quam scelerisque tortor dictum gravida. In hac habitasse platea dictumst. Nam pulvinar, odio sed rhoncus suscipit, sem diam ultrices mauris, eu consequat purus metus eu velit. Proin metus odio, aliquam eget molestie nec, gravida ut sapien. Phasellus quis est sed turpis sollicitudin venenatis sed eu odio. Praesent eget neque eu eros interdum malesuada non vel leo. Sed fringilla porta ligula.</p>
</li>
<li id="1989">
<img src="plugins/timelinr/images/7.png" width="256" height="256" />
<h1>1989</h1>
<p>Donec semper quam scelerisque tortor dictum gravida. In hac habitasse platea dictumst. Nam pulvinar, odio sed rhoncus suscipit, sem diam ultrices mauris, eu consequat purus metus eu velit. Proin metus odio, aliquam eget molestie nec, gravida ut sapien. Phasellus quis est sed turpis sollicitudin venenatis sed eu odio. Praesent eget neque eu eros interdum malesuada non vel leo. Sed fringilla porta ligula.</p>
</li>
<li id="1999">
<img src="plugins/timelinr/images/8.png" width="256" height="256" />
<h1>1999</h1>
<p>Donec semper quam scelerisque tortor dictum gravida. In hac habitasse platea dictumst. Nam pulvinar, odio sed rhoncus suscipit, sem diam ultrices mauris, eu consequat purus metus eu velit. Proin metus odio, aliquam eget molestie nec, gravida ut sapien. Phasellus quis est sed turpis sollicitudin venenatis sed eu odio. Praesent eget neque eu eros interdum malesuada non vel leo. Sed fringilla porta ligula.</p>
</li>
<li id="2001">
<img src="plugins/timelinr/images/9.png" width="256" height="256" />
<h1>2001</h1>
<p>Donec semper quam scelerisque tortor dictum gravida. In hac habitasse platea dictumst. Nam pulvinar, odio sed rhoncus suscipit, sem diam ultrices mauris, eu consequat purus metus eu velit. Proin metus odio, aliquam eget molestie nec, gravida ut sapien. Phasellus quis est sed turpis sollicitudin venenatis sed eu odio. Praesent eget neque eu eros interdum malesuada non vel leo. Sed fringilla porta ligula.</p>
</li>
<li id="2011">
<img src="plugins/timelinr/images/10.png" width="256" height="256" />
<h1>2011</h1>
<p>Donec semper quam scelerisque tortor dictum gravida. In hac habitasse platea dictumst. Nam pulvinar, odio sed rhoncus suscipit, sem diam ultrices mauris, eu consequat purus metus eu velit. Proin metus odio, aliquam eget molestie nec, gravida ut sapien. Phasellus quis est sed turpis sollicitudin venenatis sed eu odio. Praesent eget neque eu eros interdum malesuada non vel leo. Sed fringilla porta ligula.</p>
</li>
</ul>
<div id="grad_left"></div>
<div id="grad_right"></div>
<a href="#" id="next">+</a>
<a href="#" id="prev">-</a>
</div>
</body>
</html>
\ No newline at end of file
<!-- 声明文档类型 -->
<!DOCTYPE html>
<html lang="en">
<head>
<!--更多资源:https://gitee.com/iGaoWei/big-data-view -->
<!-- 指定网页字符编码 -->
<meta charset="UTF-8">
<!-- 适配移动端 -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>jQuery Timelinr</title>
<link type="image/x-ico" href="/gx2022/favicon.ico" rel="shortcut icon"/>
<link rel="stylesheet" href="plugins/timelinr/css/style.css" media="screen" />
<style>
</style>
</head>
<script type="text/javascript" src="plugins/jQuery/jQuery-2.1.4.min.js"></script>
<script type="text/javascript" src="plugins/timelinr/jquery.timelinr-0.9.7.js"></script>
<script>
$(function(){
$("#timeline").timelinr({
arrowKeys: 'true'
});
});
</script>
<body>
<div id="timeline">
<ul id="dates">
<li><a href="#generate">2024-01-03 12:39</a></li>
<li><a href="#verify">2024-01-03 12:59</a></li>
<li><a href="#end">2024-01-03 15:39</a></li>
</ul>
<ul id="issues">
<li id="generate">
<h1>1900</h1>
<p>Donec semper quam scelerisque tortor dictum gravida. In hac habitasse platea dictumst. Nam pulvinar, odio sed rhoncus suscipit, sem diam ultrices mauris, eu consequat purus metus eu velit. Proin metus odio, aliquam eget molestie nec, gravida ut sapien. Phasellus quis est sed turpis sollicitudin venenatis sed eu odio. Praesent eget neque eu eros interdum malesuada non vel leo. Sed fringilla porta ligula.</p>
</li>
<li id="verify">
<h1>1930</h1>
<p>Donec semper quam scelerisque tortor dictum gravida. In hac habitasse platea dictumst. Nam pulvinar, odio sed rhoncus suscipit, sem diam ultrices mauris, eu consequat purus metus eu velit. Proin metus odio, aliquam eget molestie nec, gravida ut sapien. Phasellus quis est sed turpis sollicitudin venenatis sed eu odio. Praesent eget neque eu eros interdum malesuada non vel leo. Sed fringilla porta ligula.</p>
</li>
<li id="end">
<h1>1944</h1>
<p>Donec semper quam scelerisque tortor dictum gravida. In hac habitasse platea dictumst. Nam pulvinar, odio sed rhoncus suscipit, sem diam ultrices mauris, eu consequat purus metus eu velit. Proin metus odio, aliquam eget molestie nec, gravida ut sapien. Phasellus quis est sed turpis sollicitudin venenatis sed eu odio. Praesent eget neque eu eros interdum malesuada non vel leo. Sed fringilla porta ligula.</p>
</li>
</ul>
</div>
</body>
</html>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment