chore: import upstream snapshot with attribution

This commit is contained in:
wehub-resource-sync
2026-07-13 13:10:28 +08:00
commit c2acfb5f2d
267 changed files with 15542 additions and 0 deletions
+20
View File
@@ -0,0 +1,20 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Embedding a Bokeh Server With {{ framework }}</title>
</head>
<body>
<div>
This Bokeh app below served by a Bokeh server that has been embedded
in another web app framework. For more information see the section
<a target="_blank"
href="https://bokeh.pydata.org/en/latest/docs/user_guide/server.html#embedding-bokeh-server-as-a-library">
Embedding Bokeh Server as a Library</a>
in the User's Guide.
</div>
{{ script|safe }}
</body>
</html>
+2
View File
@@ -0,0 +1,2 @@
{% block footer %}
{% end %}
+12
View File
@@ -0,0 +1,12 @@
{% block header %}
<div id="navbar" class="navbar navbar-default ace-save-state">
<div class="navbar-container ace-save-state" id="navbar-container">
<div class="navbar-header pull-left">
<a href="/stock/" class="navbar-brand">
<small><i class="fa fa-leaf"></i>开源Python全栈股票系统,数据抓取、统计分析、报表展示 版本:{{ pythonStockVersion }}</small>
</a>
</div>
</div><!-- /.navbar-container -->
</div>
{% end %}
@@ -0,0 +1,64 @@
{% block left_menu %}
<div id="sidebar" class="sidebar responsive ace-save-state">
<script type="text/javascript">
try{ace.settings.loadState('sidebar')}catch(e){}
</script>
<ul class="nav nav-list">
<li class="">
<a href="/">
<i class="menu-icon fa fa-tachometer"></i>
<span class="menu-text"> Dashboard </span>
</a>
<b class="arrow"></b>
</li>
<li class="active open">
<!--<a href="#" class="dropdown-toggle">-->
<!--<i class="menu-icon fa fa-desktop"></i>-->
<!--<span class="menu-text">-->
<!--股票原始数据-->
<!--</span>-->
<!--<b class="arrow fa fa-angle-down"></b>-->
<!--</a>-->
<!--<b class="arrow"></b>-->
<li class="submenu">
<li class="open" style="display:none;">
{% set loopType = "" %}
{% for leftMenuTmp in leftMenu.leftMenuList %}
{% if leftMenuTmp.type != loopType %}
</li>
<li class="open">
{% set loopType = leftMenuTmp.type %}
<a href="#" class="dropdown-toggle">
<i class="menu-icon fa fa-pencil-square-o"></i>
{{ leftMenuTmp.type }}
<b class="arrow fa fa-angle-down"></b>
</a>
<b class="arrow"></b>
{% end %}
<ul class="submenu">
<li>
<a href="{{ leftMenuTmp.url }}">
<i class="menu-icon fa fa-caret-right"></i>
{{ leftMenuTmp.name }}
</a>
<b class="arrow"></b>
</li>
</ul>
{% end %}
</li>
</ul>
</li>
</ul><!-- /.nav-list -->
<div class="sidebar-toggle sidebar-collapse" id="sidebar-collapse">
<i id="sidebar-toggle-icon" class="ace-icon fa fa-angle-double-left ace-save-state" data-icon1="ace-icon fa fa-angle-double-left" data-icon2="ace-icon fa fa-angle-double-right"></i>
</div>
</div>
{% end %}
+71
View File
@@ -0,0 +1,71 @@
{% block meta %}
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
<!-- bootstrap & fontawesome -->
<link rel="stylesheet" href="/static/css/bootstrap.min.css" />
<link rel="stylesheet" href="/static/font-awesome/4.5.0/css/font-awesome.min.css" />
<!-- ace styles -->
<link rel="stylesheet" href="/static/css/ace.min.css" class="ace-main-stylesheet" id="main-ace-style" />
<!-- basic scripts -->
<script src="/static/js/jquery-2.1.4.min.js"></script>
<script src="/static/js/ace-extra.min.js"></script>
<script src="/static/js/bootstrap.min.js"></script>
<!-- page specific plugin scripts -->
<script src="/static/js/jquery.dataTables.min.js"></script>
<script src="/static/js/jquery.dataTables.bootstrap.min.js"></script>
<script src="/static/js/dataTables.buttons.min.js"></script>
<script src="/static/js/dataTables.select.min.js"></script>
<!-- ace scripts -->
<script src="/static/js/moment.min.js"></script>
<script src="/static/js/bootstrap-datepicker.min.js"></script>
<script src="/static/js/bootstrap-datetimepicker.min.js"></script>
<script src="/static/js/bootstrap-datepicker.zh-CN.js"></script>
<link rel="stylesheet" href="/static/css/bootstrap-datepicker3.min.css" />
<link rel="stylesheet" href="/static/css/bootstrap-datetimepicker.min.css" />
<script src="/static/js/ace-elements.min.js"></script>
<script src="/static/js/ace.min.js"></script>
<script src="/static/js/jquery-ui.custom.min.js"></script>
<script src="/static/js/bootbox.js"></script>
<script src="/static/js/buttons.colVis.min.js"></script>
<script src="/static/js/buttons.print.min.js"></script>
<script src="/static/js/buttons.html5.min.js"></script>
<script type='text/javascript'>
jQuery(function($) {
//初始化窗口。
$('.modal.aside').ace_aside();
$('#aside-inside-modal').addClass('aside').ace_aside({container: ""});
$(document).one('ajaxloadstart.page', function(e) {
$('.modal.aside').remove();
$(window).off('.aside')
});
})
$.extend({
getUrlVars: function(){
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
},
getUrlVar: function(name){
return $.getUrlVars()[name];
}
});
jQuery(function($) {
$('[data-rel=tooltip]').tooltip();
$('[data-rel=popover]').popover({html:true});
});
</script>
<style>
#dynamic-table_filter {display: none;}
</style>
{% end %}
+157
View File
@@ -0,0 +1,157 @@
{% extends "layout/default.html" %}
{% block main_content %}
<h3 class="header smaller lighter blue">{{ stockWeb.name }}</h3>
<div class="table-header">{{ stockWeb.name }}</div>
<div class="row">&nbsp;</div>
<div class="row">
{% for index,element in enumerate(stockWeb.columns) %}
<div class="col-md-4" id="filter_col{{ index+1 }}" data-column="{{ index }}">
{{ stockWeb.column_names[index] }} &nbsp;
<!-- Column - {{ stockWeb.column_names[index] }} - {{ element }} -->
<input type="text" class="column_filter input-group-sm form-control" id="col{{ index }}_filter">
</div>
{% end %}
</div>
<table cellpadding="3" cellspacing="0" border="0" style="width: 67%; margin: 0 auto 2em auto;">
<tbody>
</tbody>
</table>
<!-- div.table-responsive -->
<!-- div.dataTables_borderWrap -->
<div>
<div class="pull-right tableTools-container"></div>
<table id="dynamic-table" class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th></th>
{% for column_name in stockWeb.column_names %}
<th>{{ column_name }}</th>
{% end %}
</tr>
</thead>
</table>
</div>
<!-- inline scripts related to this page -->
<script type="text/javascript">
jQuery(function($) {
editor = new $.fn.dataTable.Editor( {
i18n: {
create: {
button: "新建",
title: "创建新数据",
submit: "保存"
},
edit: {
button: "修改",
title: "修改数据",
submit: "保存"
},
remove: {
button: "删除",
title: "删除数据",
submit: "删除",
confirm: {
_: "确定删除 %d 条数据?",
1: "确定删除 1 条数据?"
}
},
error: {
system: "发生了一系统错误,(更多信息)"
},
datetime: {
previous: '前一月',
next: '下一月',
months: [ '1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月' ],
weekdays: [ '星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六' ]
}
},
ajax: "/data/editor/save?table_name={{ stockWeb.table_name }}",
table: "#dynamic-table",
fields: [
{% for index,element in enumerate(stockWeb.columns) %}
{
label: "{{ stockWeb.column_names[index] }}:",
name: "{{ element }}"
{% if element == "date" %} ,type: "datetime" {% end %}
},{% end %}
]
} );
var nameParam = $.getUrlVar('table_name');
//console.log(nameParam);
var myTable = $('#dynamic-table').DataTable( {
"dom": "Bfrtip",
"bFilter": true,
"ordering": true,
"processing": true,
"serverSide": true,
"lengthMenu": [[20, 30, 50, 100,1000, -1], [20, 30, 50, 100,1000, "All"]],
"language": {
"url": "/static/js/datatables.Chinese.json"
},
"ajax": "/api/v1/api_data?type=editor&name="+nameParam,
"columns": [
{
"data": "",
"defaultContent": "",
"className": 'select-checkbox',
"orderable": true
},
{% for column in stockWeb.columns %}
{ "data": "{{ column }}" },
{% end %}
],
select: {
style: 'os',
selector: 'td:first-child'
},
buttons: [
{ extend: "create", editor: editor, text: '新增' },
{ extend: "edit", editor: editor, text: '编辑' },
{ extend: "remove", editor: editor, text: '删除' }
]
} );
$('input.column_filter').on( 'keyup click', function () {
var i = $(this).parents('div').attr('data-column') ;
//console.log(i,"val:",$(this).val());
myTable.column(i).search(
$(this).val()
).draw();
});
$.fn.dataTable.Buttons.defaults.dom.container.className = 'dt-buttons btn-overlap btn-group btn-overlap';
new $.fn.dataTable.Buttons( myTable, {
buttons: [
{
"extend": "copy",
"text": "<i class='fa fa-copy bigger-110 pink'></i> <span class='hidden'>Copy to clipboard</span>",
"className": "btn btn-white btn-primary btn-bold"
},
{
"extend": "csv",
"text": "<i class='fa fa-database bigger-110 orange'></i> <span class='hidden'>Export to CSV</span>",
"className": "btn btn-white btn-primary btn-bold"
},
{
"extend": "print",
"text": "<i class='fa fa-print bigger-110 grey'></i> <span class='hidden'>Print</span>",
"className": "btn btn-white btn-primary btn-bold",
autoPrint: false,
message: 'This print was produced using the Print button for DataTables'
}
]
} );
myTable.buttons().container().appendTo( $('.tableTools-container') );
})
</script>
{% end %}
+56
View File
@@ -0,0 +1,56 @@
{% extends "layout/default.html" %}
{% block main_content %}
<h3 class="header smaller lighter blue">开源Python全栈股票系统,数据抓取、统计分析、报表展示。</h3>
<div class="clearfix">
<div class="pull-left tableTools-container">
<h3>基础库版本</h3>
<p>1pandas使用【 {{ pandasVersion }} 】版本, <a href="https://www.pypandas.cn/docs/" target="_blank">中文文档</a> </p>
<p>2numpy使用【 {{ numpyVersion }} 】版本, <a href="https://www.numpy.org.cn/user/" target="_blank">中文文档</a></p>
<p>3akshare使用【 {{ akshareVersion }} 】版本, <a href="https://www.akshare.xyz/" target="_blank">中文文档</a></p>
<p>4bokeh使用【 {{ bokehVersion }} 】版本, <a href="http://docs.bokeh.org/en/latest/" target="_blank">官方文档</a></p>
<p>5stockstats使用【 {{ stockstatsVersion }} 】版本, <a href="https://github.com/jealous/stockstats/" target="_blank">官方文档</a></p>
</div>
</div>
<div class="clearfix">
<div class="pull-left tableTools-container">
<h3>相关资料信息</h3>
<p>1github项目地址。<a href="https://github.com/pythonstock/stock" target="_blank">pythonstock</a></p>
<p>2,博客地址。<a href="https://blog.csdn.net/freewebsys/category_9285317.html" target="_blank">博客地址</a></p>
</div>
</div>
<div class="clearfix">
<div class="pull-left tableTools-container">
<h3>2021年9月20日更新,发布2.0版本</h3>
<p>1,修复bokeh的版本升级问题,可以显示趋势数据了。</p>
<p>2,使用 stock_zh_ah_name 做每日数据。</p>
<p>3AkShare 升级到 1.1.9 版本。</p>
</div>
</div>
<div class="clearfix">
<div class="pull-left tableTools-container">
<h3>2021年8月31日更新job服务</h3>
<p>1,过滤包括:6006006601000001002,且不包括ST的股票数据。。</p>
<p>2,使用 stock_zh_ah_name 做每日数据。</p>
<p>3AkShare 升级到 1.0.80 版本。</p>
</div>
</div>
<div class="clearfix">
<div class="pull-left tableTools-container">
<h3>2021年6月3日使用 AkShare 做数据抓取服务</h3>
<p>1,使用 stock_zh_a_spot 做实时行情数据。</p>
<p>2,使用 stock_zh_a_daily 做历史数据统计。</p>
<p>3,升级基础镜像使用python3.7AkShare 的 0.9.65 版本。</p>
</div>
</div>
{% end %}
@@ -0,0 +1,6 @@
{% extends "../common/meta.html" %}
{% extends "../common/header.html" %}
{% extends "../common/footer.html" %}
{% extends "../common/left_menu.html" %}
{% extends "main.html" %}
@@ -0,0 +1,23 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta charset="utf-8" />
<title>股票系统</title>
{% block meta %}{% end %}
</head>
<body class="no-skin">
<div class="main-content">
<div class="main-content-inner">
<div class="page-content">
<div class="row">
<div class="col-xs-12">
{% block main_content %}{% end %}
</div>
</div><!-- /.row -->
</div><!-- /.page-content -->
</div>
</div><!-- /.main-content -->
</body>
</html>
@@ -0,0 +1,3 @@
{% extends "../common/meta.html" %}
{% extends "indicators-main.html" %}
+38
View File
@@ -0,0 +1,38 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta charset="utf-8" />
<title>股票系统 {{ pythonStockVersion }}</title>
{% block meta %}{% end %}
</head>
<body class="no-skin">
{% block header %}{% end %}
<div class="main-container ace-save-state" id="main-container">
<script type="text/javascript">
try{ace.settings.loadState('main-container')}catch(e){}
</script>
{% block left_menu %}{% end %}
<div class="main-content">
<div class="main-content-inner">
<div class="page-content">
<div class="row">
<div class="col-xs-12">
{% block main_content %}{% end %}
</div>
</div><!-- /.row -->
</div><!-- /.page-content -->
</div>
</div><!-- /.main-content -->
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
</a>
</div><!-- /.main-container -->
</body>
</html>
@@ -0,0 +1,5 @@
{% extends "../common/meta.html" %}
{% extends "../common/header.html" %}
{% extends "../common/footer.html" %}
{% extends "single_main.html" %}
@@ -0,0 +1,29 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta charset="utf-8" />
{% block meta %}{% end %}
</head>
<body class="no-skin">
<div class="main-container ace-save-state" id="main-container">
<div class="main-content">
<div class="main-content-inner">
<div class="page-content">
<div class="row">
<div class="col-xs-12">
{% block main_content %}{% end %}
</div>
</div><!-- /.row -->
</div><!-- /.page-content -->
</div>
</div><!-- /.main-content -->
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
</a>
</div><!-- /.main-container -->
</body>
</html>
+80
View File
@@ -0,0 +1,80 @@
{% extends "layout/single_default.html" %}
{% block main_content %}
<h3 class="header smaller lighter blue">手写图片识别演示</h3>
<div class="row clearfix">
<div class="col-md-6 column">
<canvas id="the_stage" width="280" height="280">your browser don't support canvas!</canvas>
<div>
<button type="button" class="btn btn-default butt" onclick="clearCanvas()"><strong>删除</strong></button>
<button type="button" class="btn btn-default butt" id="recognize" onclick="processImg()"><strong>识别</strong></button>
</div>
</div>
<div class="col-md-6 column">
<h3>result:</h3>
<h2 id="rec_result"></h2>
</div>
</div>
<h3 class="header smaller lighter blue">测试图片识别演示</h3>
<div class="row clearfix" style="width:400px;">
{% for image in image_array %}
<div class="col-md-2" style="margin-top: 15px;">
<img src="{{ image }}" alt="" width="50" class="minst_img" height="50" style="1px solid #e1e4e5;cursor: pointer;">
</div>
{% end %}
</div>
<div class="col-md-6 column">
<h3>结果:</h3>
<h2 id="prediction_text">"-1"</h2>
</div>
<!-- inline scripts related to this page -->
<script src="/static/js/mnist-draw.js"></script>
<style>
#the_stage {
border: 1px solid #999;
border-radius: 4px;
box-shadow: -10px 10px 5px #888888;
}
</style>
<script type="text/javascript">
jQuery(function($) {
$("#recognize").click(
//提交数据
function () {
$("#rec_result").html("connecting...");
var scribbler = document.getElementById ("the_stage");
var imageData = scribbler.toDataURL('image/png');
var dataTemp = imageData.substr(22);
var sendPackage = {"id": "1", "txt": dataTemp};
$.post("/minst_serving/prediction2", sendPackage, function(msg){
$("#rec_result").html(msg);
});
}
);
$(".minst_img").click(
//提交数据
function () {
img_url = $(this).attr("src")
console.log("here",);
//
$.ajax({
type: "GET",
url: "/minst_serving/prediction",
data: "img_url="+img_url,
success: function(msg){
console.log( "prediction : " + msg );
$("#prediction_text").html(msg);
}
});
}
);
});
</script>
{% end %}
+12
View File
@@ -0,0 +1,12 @@
{% extends "layout/default.html" %}
{% block main_content %}
<h3 class="header smaller lighter blue">欢迎使用股票系统。</h3>
<div class="clearfix">
<div class="pull-right tableTools-container"></div>
<img src="/stock/chart/image1" />
</div>
{% end %}
@@ -0,0 +1,32 @@
{% extends "layout/indicators.html" %}
{% block main_content %}
<!-- 增加 bokeh 样式。-->
<link rel="stylesheet" href="/static/css/bokeh.min.css" type="text/css"/>
<link rel="stylesheet" href="/static/css/bokeh-widgets.min.css" type="text/css"/>
<link rel="stylesheet" href="/static/css/bokeh-tables.min.css" type="text/css"/>
<script type="text/javascript" src="/static/js/bokeh.min.js"></script>
<script type="text/javascript" src="/static/js/bokeh-widgets.min.js"></script>
<script type="text/javascript" src="/static/js/bokeh-tables.min.js"></script>
<script type="text/javascript" src="/static/js/bokeh-api.min.js"></script>
<script type="text/javascript" src="/static/js/bokeh-gl.min.js"></script>
<script type="text/javascript">
Bokeh.set_log_level("info");
</script>
{% for index,element in enumerate(comp_list) %}
<h4 class="header smaller lighter blue">{{ element["title"] }}</h4>
<div class="row">{{ element["desc"] }}</div>
<div class="row" id="_col_{{ index+1 }}" data-column="{{ index }}">
{% raw element["div"] %}
{% raw element["script"] %}
</div>
{% end %}
{% end %}
+175
View File
@@ -0,0 +1,175 @@
{% extends "layout/default.html" %}
{% block main_content %}
<h3 class="header smaller lighter blue">{{ stockWeb.name }}</h3>
<div class="table-header">{{ stockWeb.name }}</div>
<div class="row">&nbsp;</div>
<div class="row">
{% for index,element in enumerate(stockWeb.columns) %}
{% if index < 15 %}
{% if element != 'eastmoney_url' %}
<div class="col-md-4" id="filter_col{{ index+1 }}" data-column="{{ index }}">
{{ stockWeb.column_names[index] }} &nbsp;
<!-- Column - {{ stockWeb.column_names[index] }} - {{ element }} -->
<input type="text" class="column_filter input-group-sm form-control {% if element == 'date' %}date-picker{% end %}"
{% if element == 'date' %} value="{{ date_now }}" {% end %}
id="col{{ index }}_filter">
</div>
{% end %}
{% end %}{% end %}
</div>
<table cellpadding="3" cellspacing="0" border="0" style="width: 67%; margin: 0 auto 2em auto;">
<tbody>
</tbody>
</table>
<!-- div.table-responsive -->
<!-- div.dataTables_borderWrap -->
<div>
<div class="pull-right tableTools-container"></div>
<table id="dynamic-table" class="table table-striped table-bordered table-hover">
<thead>
<tr>{% for column_name in stockWeb.column_names %}
<th>{{ column_name }}</th>
{% end %}
</tr>
</thead>
</table>
</div>
<!-- 定义一个窗口的Div 东方财富股票数据页面 -->
<div id="dfcf-window-modal" class="modal fade">
<div class="modal-dialog" style="width:1095px;">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h3 class="smaller lighter blue no-margin">东方财富分析</h3>
</div>
<div class="modal-body" id="dfcf-iframe-body" >
</div>
</div>
</div>
</div>
<!-- 定义一个窗口的Div 指标分析数据页面 -->
<div id="indicators-window-modal" class="modal fade">
<div class="modal-dialog" style="width:1050px;">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h3 class="smaller lighter blue no-margin">股票数据详细指标分析</h3>
</div>
<div class="modal-body" id="indicators-window-body" >
</div>
</div>
</div>
</div>
<!-- inline scripts related to this page -->
<script type="text/javascript">
//每次动态加载 指标分析窗口
function showIndicatorsWindow(code) {
var baseUrl = '/api/v1/data/indicators?code='+code; // 没有跨域问题,直接加载
$('#indicators-window-body').html( "<h5>数据加载中...请稍候.</h5>" );
$('#indicators-window-body').context = $("#indicators-window-body").load(baseUrl);
$('#indicators-window-modal').modal('show');
}
//每次动态加载 东方财富窗口
function showDFCFWindow(code) {
var iframe = document.createElement('iframe')
// var baseUrl = 'https://emweb.eastmoney.com/PC_HSF10/ShareholderResearch/Index?type=soft&code='+code;
var baseUrl = 'https://emweb.eastmoney.com/PC_HSF10/OperationsRequired/Index?type=soft&code='+code;
iframe.src = baseUrl;
iframe.width = '1060px';
iframe.height = '700px';
iframe.frameborder = '0';
$('#dfcf-iframe-body').empty(); // 先清空数据
document.getElementById("dfcf-iframe-body").appendChild(iframe)
$('#dfcf-window-modal').modal('show');
}
jQuery(function($) {
$( ".date-picker" ).datepicker({
language: 'zh-CN', //设置语言
format:"yyyymmdd",
showOtherMonths: true,
selectOtherMonths: false,
autoclose: true,
todayHighlight: true,
onSelect: function(selected,evnt) {
console.log(selected);
}
}).on('changeDate', function(ev){
$('input.column_filter').click();//触发搜索
});
var nameParam = $.getUrlVar('table_name');
//console.log(nameParam);
var myTable = $('#dynamic-table').DataTable( {
"select": true,
"bFilter": true,
"ordering": true,
"processing": true,
"serverSide": true,
"lengthMenu": [[20, 30, 50, 100,1000, -1], [20, 30, 50, 100,1000, "All"]],
"language": {
"url": "/static/js/datatables.Chinese.json"
},
"ajax": "/api/v1/api_data?name="+nameParam,
"columns": [
{% for column in stockWeb.columns %}
{ "data": "{{ column }}" },
{% end %}
]
} );
$('input.column_filter').on( 'keyup click', function () {
var i = $(this).parents('div').attr('data-column') ;
//console.log(i,"val:",$(this).val());
myTable.column(i).search(
$(this).val()
).draw();
});
$('input.column_filter').click();//第一次点击执行,读取时间信息。
$.fn.dataTable.Buttons.defaults.dom.container.className = 'dt-buttons btn-overlap btn-group btn-overlap';
new $.fn.dataTable.Buttons( myTable, {
buttons: [
{
"extend": "copy",
"text": "<i class='fa fa-copy bigger-110 pink'></i> <span class='hidden'>Copy to clipboard</span>",
"className": "btn btn-white btn-primary btn-bold"
},
{
"extend": "csv",
"text": "<i class='fa fa-database bigger-110 orange'></i> <span class='hidden'>Export to CSV</span>",
"className": "btn btn-white btn-primary btn-bold"
},
{
"extend": "print",
"text": "<i class='fa fa-print bigger-110 grey'></i> <span class='hidden'>Print</span>",
"className": "btn btn-white btn-primary btn-bold",
autoPrint: false,
message: 'This print was produced using the Print button for DataTables'
}
]
} );
myTable.buttons().container().appendTo( $('.tableTools-container') );
})
</script>
{% end %}
+52
View File
@@ -0,0 +1,52 @@
{% extends "layout/default.html" %}
{% block main_content %}
<h3 class="header smaller lighter blue">欢迎使用股票系统。</h3>
<div class="clearfix">
<div class="pull-right tableTools-container"></div>
</div>
<div class="col-sm-1">
<button onclick="showDFCFWindow('SZ000001');" role="button" class="btn btn-sm btn-primary" data-toggle="modal">
<i class="ace-icon fa fa-plus"></i>
测试弹窗东方财富窗口
</button>
</div><!-- /.col -->
<!--<iframe src="https://emweb.eastmoney.com/PC_HSF10/ShareholderResearch/Index?type=soft&code=SZ000001" width="700px" height="700px"></iframe>-->
<!-- 定义一个窗口的Div 东方财富股票数据页面 -->
<div id="dfcf-window-modal" class="modal fade">
<div class="modal-dialog" style="width:1010px;">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h3 class="smaller lighter blue no-margin">东方财富分析</h3>
</div>
<div class="modal-body" id="dfcf-iframe-body" >
</div>
</div>
</div>
</div>
<script type="text/javascript">
//每次动态加载 东方财富窗口
function showDFCFWindow(code) {
var iframe = document.createElement('iframe')
var baseUrl = 'https://emweb.eastmoney.com/PC_HSF10/ShareholderResearch/Index?type=soft&code='+code;
// var baseUrl = 'https://emweb.eastmoney.com/PC_HSF10/OperationsRequired/Index?type=soft&code=';
iframe.src = baseUrl;
iframe.width = '980px';
iframe.height = '700px';
iframe.frameborder = '0';
$('#iframe-body').empty(); // 先清空数据
document.getElementById("dfcf-iframe-body").appendChild(iframe)
$('#dfcf-window-modal').modal('show');
}
</script>
{% end %}
+44
View File
@@ -0,0 +1,44 @@
{% extends "layout/default.html" %}
{% block main_content %}
<h3 class="header smaller lighter blue">欢迎使用股票系统。</h3>
<div class="clearfix">
<div class="pull-right tableTools-container"></div>
</div>
<div class="col-sm-1">
<button onclick="showIndicatorsWindow('000001');" role="button" class="btn btn-sm btn-primary" data-toggle="modal">
<i class="ace-icon fa fa-plus"></i>
测试弹窗指标分析窗口
</button>
</div><!-- /.col -->
<!--<iframe src="https://emweb.eastmoney.com/PC_HSF10/ShareholderResearch/Index?type=soft&code=SZ000001" width="700px" height="700px"></iframe>-->
<!-- 定义一个窗口的Div 指标分析数据页面 -->
<div id="indicators-window-modal" class="modal fade">
<div class="modal-dialog" style="width:1050px;">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h3 class="smaller lighter blue no-margin">股票数据详细指标分析</h3>
</div>
<div class="modal-body" id="indicators-window-body" >
</div>
</div>
</div>
</div>
<script type="text/javascript">
//每次动态加载 指标分析窗口
function showIndicatorsWindow(code) {
var baseUrl = '/data/indicators?code='+code; // 没有跨域问题,直接加载
$('#indicators-window-body').context = $("#indicators-window-body").load(baseUrl);
$('#indicators-window-modal').modal('show');
}
</script>
{% end %}