1. <div class="row">
  2.  
  3. <div class="col-md-12">
  4. <div id="container"></div>
  5. </div>
  6. </div>
  1. <script src="~/Scripts/Highcharts-6.0.7/code/highcharts.js"></script>
  2. <script language="JavaScript">
  3. var pageIndex = ;
  4. var pageSize = ;
  5. var industrys = []; //所有行业
  6. var notcounts = []; //待上报
  7. var notauditcounts = []; //待审核
  8. var sooncount = []; //即将到期
  9. var overduecount = [];//已过期
  10.  
  11. function LoadData() {
  12. var params = {};
  13. var url = "/api/industry/GetAllList"; //接口地址
  14. ajaxGet(url, params, function (rs) {
  15. if (!rs.status) {
  16. layer.msg("请求出错,请稍后重试" + rs.errmsg, { icon: , time: });
  17. return;
  18. }
  19.  
  20. for (var i = ; i < rs.data.length; i++) {
  21.  
  22. industrys.push(rs.data[i].name);
  23. //根据行业id查询该行业待上报、待审核、即将过期、已过期的数量
  24.  
  25. var params = {
  26. company_type: rs.data[i].name
  27. };
  28. var url = "/api/report/GetHomeCount";
  29. ajaxPost(url, params, function (data) {
  30. if (!data.data == null) {
  31. layer.msg("无数据" + data.errmsg, { icon: , time: });
  32. return;
  33. }
  34. else {
  35. notcounts.push(data.data.notcount);
  36. notauditcounts.push(data.data.notauditcount);
  37. sooncount.push(data.data.sooncount);
  38. overduecount.push(data.data.overduecount);
  39.  
  40. var chart = {
  41. type: 'column'
  42. };
  43. var title = {
  44. text: '行业信息统计'
  45. };
  46.  
  47. var xAxis = {
  48. categories: industrys,
  49. crosshair: true
  50. };
  51. var yAxis = {
  52. min: ,
  53. max: ,
  54. title: {
  55. text: '单位/个'
  56. }
  57. };
  58. var tooltip = {
  59. headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
  60. pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}:</td>' +
  61. '<td style="padding:0"><b>{point.y}</b>/个</td></tr>',
  62. footerFormat: '<tr><td colspan="2"><span style="font-size:12px">单击柱看详情</span></td></tr></table>',
  63. shared: true,
  64. useHTML: true
  65. };
  66. var plotOptions = {
  67. series: {
  68. cursor: 'pointer',
  69. events: {
  70. click: function (e) {
  71. //待上报
  72. GetnotcountList(pageIndex, pageSize, e.point.category);
  73.  
  74. //待审核
  75. getreportlist(pageIndex, pageSize, e.point.category);
  76.  
  77. //即将过期
  78. GetsooncountList(pageIndex, pageSize, e.point.category);
  79.  
  80. //已过期
  81. GetoverduecountList(pageIndex, pageSize, e.point.category);
  82. $('#four_table').show();
  83. }
  84. },
  85. },
  86.  
  87. column: {
  88. pointPadding: 0.2,
  89. borderWidth: , //柱子边框宽度
  90. pointWidth: //柱子宽度
  91. }
  92. };
  93. var credits = {
  94. enabled: false
  95. };
  96.  
  97. var series = [{
  98.  
  99. color: '#00C0EF',
  100. name: '待上报',
  101. data: notcounts
  102. }, {
  103. color: '#00A65A',
  104. name: '待审核',
  105. data: notauditcounts
  106. }, {
  107. color: '#F39C12',
  108. name: '即将过期',
  109. data: sooncount
  110. }, {
  111.  
  112. color: '#DD4B39',
  113. name: '已过期',
  114. data: overduecount
  115. }];
  116.  
  117. var json = {};
  118. json.chart = chart;
  119. json.title = title;
  120. json.tooltip = tooltip;
  121. json.xAxis = xAxis;
  122. json.yAxis = yAxis;
  123. json.series = series;
  124. json.plotOptions = plotOptions;
  125. json.credits = credits;
  126. $('#container').highcharts(json);
  127. }
  128. });
  129. }
  130.  
  131. });
  132.  
  133. }
  134. $(function () {
  135.  
  136. @{
  137. string zt = Session["user_role_name"].ToString();
  138.  
  139. if(zt.Contains("普通用户"))
  140. {
  141. ViewData["Isvissable"] = "No";
  142. }
  143. if (zt.Contains("系统用户"))
  144. {
  145. ViewData["Isvissable"] = "Yes";
  146. }
  147. }
  148. var Isvissable = "@ViewData["Isvissable"]";
  149. if (Isvissable == "No") {
  150. $("#topp").remove();
  151. }
  152.  
  153. LoadData();
  154. GetAllNum();
  155. });
  156.  
  157. //获得各类数据的数量(未上报 过期等)
  158. function GetAllNum() {
  159. var params = {};
  160. var url = "/api/report/GetHomeCount";
  161. ajaxPost(url, params, function (data) {
  162. if (!data.data == null) {
  163. layer.msg("无数据" + data.errmsg, { icon: , time: });
  164. return;
  165. }
  166. $('#notcount').text(data.data.notcount);
  167. $('#notauditcount').text(data.data.notauditcount);
  168. $('#sooncount').text(data.data.sooncount);
  169. $('#overduecount').text(data.data.overduecount);
  170.  
  171. });
  172. }
  173.  
  174. //未上报企业信息
  175. function GetnotcountList(pageIndex, pageSize, company_type) {
  176. var colums = [
  177. {
  178. data: 'name'
  179. },
  180. {
  181. data: 'address'
  182. }, {
  183. data: 'industry_name'
  184. }, {
  185. data: 'org_level_name'
  186. }];
  187.  
  188. createTable("notcount_table", colums, function (data, callback, settings) {
  189. var pc = ;
  190. pageIndex = (data.start / pageSize) + ;
  191. var params = { //这是自定义参数
  192. pageIndex: pageIndex,
  193. pageSize: pageSize,
  194. OrderField: "id asc",
  195. company_type: company_type
  196. };
  197.  
  198. var url = "/api/company/GetNotList"; //接口地址
  199. ajaxPost(url, params, function (rs) {
  200. var fData = {
  201. draw: ,
  202. recordsTotal: ,
  203. recordsFiltered: ,
  204. data: []
  205. };
  206. if (!rs.status) {
  207. layer.msg("请求出错,请稍后重试" + rs.errmsg, { icon: , time: });
  208. callback(fData);
  209. return;
  210. }
  211. if (rs.data == null) {
  212.  
  213. callback(fData);
  214. return;
  215. }
  216. var gearDatas = [];
  217. for (var i = ; i < rs.data.length; i++) {
  218. var datwwa = new NotcountData(rs.data[i].industry_name, rs.data[i].org_level_name, rs.data[i].name, rs.data[i].address, rs.data[i].id)
  219. gearDatas.push(datwwa);
  220. }
  221. pc = rs.total;
  222. fData.data = gearDatas;
  223. fData.recordsTotal = pc;
  224. fData.recordsFiltered = pc;
  225. callback(fData);
  226. });
  227. });
  228.  
  229. }
  230. function NotcountData(industry_name, org_level_name, name, address, id) {
  231. this.id = id;
  232. this.industry_name = industry_name;
  233. this.org_level_name = org_level_name;
  234. this.name = name;
  235. this.address = address;
  236. this.id = id;
  237. }
  238.  
  239. //已过期
  240. function GetoverduecountList(pageIndex, pageSize, company_type) {
  241. var colums = [{
  242. data: 'company_name'
  243. }, {
  244. data: 'company_type'
  245. },
  246. {
  247. data: 'create_date'
  248. },
  249. {
  250. data: 'update_date'
  251. },
  252. {
  253. data: 'audit_date'
  254. },
  255. {
  256. data: 'audit_statusStr'
  257. },
  258. {
  259. data: 'remark'
  260. }];
  261. createTable("overduecount_table", colums, function (data, callback, settings) {
  262. var pc = ;
  263. pageIndex = (data.start / pageSize) + ;
  264. var params = { //这是自定义参数
  265. pageIndex: pageIndex,
  266. pageSize: pageSize,
  267. OrderField: "id asc",
  268. company_type: company_type
  269. };
  270.  
  271. var url = "/api/report/GetOverdueList"; //接口地址
  272. ajaxPost(url, params, function (rs) {
  273. var fData = {
  274. draw: ,
  275. recordsTotal: ,
  276. recordsFiltered: ,
  277. data: []
  278. };
  279. if (!rs.status) {
  280. layer.msg("请求出错,请稍后重试" + rs.errmsg, { icon: , time: });
  281. callback(fData);
  282. return;
  283. }
  284. if (rs.data == null) {
  285. callback(fData);
  286. return;
  287. }
  288. var gearDatas = [];
  289. for (var i = ; i < rs.data.length; i++) {
  290. var datwwa = new SooncountData(rs.data[i].company_name, rs.data[i].company_type, rs.data[i].create_date, rs.data[i].update_date, rs.data[i].audit_date, rs.data[i].audit_statusStr, rs.data[i].remark, rs.data[i].id)
  291. gearDatas.push(datwwa);
  292. }
  293. pc = rs.total;
  294. fData.data = gearDatas;
  295. fData.recordsTotal = pc;
  296. fData.recordsFiltered = pc;
  297. callback(fData);
  298. });
  299. });
  300.  
  301. }
  302. function OverduecountData(industry_name, org_level_name, name, address, id) {
  303. this.id = id;
  304. this.industry_name = industry_name;
  305. this.org_level_name = org_level_name;
  306. this.name = name;
  307. this.address = address;
  308. this.id = id;
  309. }
  310.  
  311. //即将过期
  312. function GetsooncountList(pageIndex, pageSize, company_type) {
  313. var colums = [{
  314. data: 'company_name'
  315. }, {
  316. data: 'company_type'
  317. },
  318. {
  319. data: 'create_date'
  320. },
  321. {
  322. data: 'update_date'
  323. },
  324. {
  325. data: 'audit_date'
  326. },
  327. {
  328. data: 'audit_statusStr'
  329. },
  330. {
  331. data: 'remark'
  332. }];
  333. createTable("sooncount_table", colums, function (data, callback, settings) {
  334. var pc = ;
  335.  
  336. pageIndex = (data.start / pageSize) + ;
  337. var params = { //这是自定义参数
  338. pageIndex: pageIndex,
  339. pageSize: pageSize,
  340. OrderField: "id asc",
  341. company_type: company_type
  342. };
  343. var url = "/api/report/GetOtherList"; //接口地址
  344.  
  345. ajaxPost(url, params, function (rs) {
  346. var fData = {
  347. draw: ,
  348. recordsTotal: ,
  349. recordsFiltered: ,
  350. data: []
  351. };
  352. if (!rs.status) {
  353. layer.msg("请求出错,请稍后重试" + rs.errmsg, { icon: , time: });
  354. callback(fData);
  355. return;
  356. }
  357. if (rs.data == null) {
  358. callback(fData);
  359. return;
  360. }
  361. var gearDatas = [];
  362. for (var i = ; i < rs.data.length; i++) {
  363. var datwwa = new SooncountData(rs.data[i].company_name, rs.data[i].company_type, rs.data[i].create_date, rs.data[i].update_date, rs.data[i].audit_date, rs.data[i].audit_statusStr, rs.data[i].remark, rs.data[i].id)
  364. gearDatas.push(datwwa);
  365. }
  366. pc = rs.total;
  367. fData.data = gearDatas;
  368. fData.recordsTotal = pc;
  369. fData.recordsFiltered = pc;
  370. callback(fData);
  371. });
  372. });
  373. }
  374. function SooncountData(company_name, company_type, create_date, update_date, audit_date, audit_statusStr, remark, id) {
  375. this.id = id;
  376. this.company_type = company_type;
  377. this.company_name = company_name;
  378. this.create_date = create_date;
  379. this.update_date = update_date;
  380. this.audit_date = audit_date;
  381. this.audit_statusStr = audit_statusStr;
  382. this.remark = remark;
  383. this.operate = function () {
  384. return "<button onclick='reportAddOrEdit(" + this.id + ")' class='btn btn-success btn-xs fa fa-pencil-square-o '></button>";
  385. }
  386. }
  387.  
  388. // 待审核
  389. function getreportlist(pageIndex, pageSize, company_type) {
  390. var colums = [{
  391. data: 'company_name'
  392. }, {
  393. data: 'company_type'
  394. },
  395. {
  396. data: 'create_date'
  397. },
  398. {
  399. data: 'update_date'
  400. }, {
  401. data: 'remark'
  402. }];
  403. createTable("notauditcount_table", colums, function (data, callback, settings) {
  404. var pc = ;
  405. pageIndex = (data.start / pageSize) + ;
  406. var params = { //这是自定义参数
  407. pageIndex: pageIndex,
  408. pageSize: pageSize,
  409. OrderField: "id asc",
  410. company_type: company_type,
  411. audit_status: //是否合格 0:未审核 1:审核通过 2:审核未通过 -1:全部
  412. };
  413.  
  414. var url = "/api/report/GetList"; //接口地址
  415. ajaxPost(url, params, function (rs) {
  416. var fData = {
  417. draw: ,
  418. recordsTotal: ,
  419. recordsFiltered: ,
  420. data: []
  421. };
  422. if (!rs.status) {
  423. layer.msg("请求出错,请稍后重试" + rs.errmsg, { icon: , time: });
  424. callback(fData);
  425. return;
  426. }
  427. if (rs.data == null) {
  428. callback(fData);
  429. return;
  430. }
  431. var gearDatas = [];
  432. for (var i = ; i < rs.data.length; i++) {
  433. var datwwa = new BZGLData(rs.data[i].company_name, rs.data[i].company_type, rs.data[i].create_date, rs.data[i].update_date, rs.data[i].audit_date, rs.data[i].audit_statusStr, rs.data[i].remark, rs.data[i].id)
  434. gearDatas.push(datwwa);
  435. }
  436. pc = rs.total;
  437. fData.data = gearDatas;
  438. fData.recordsTotal = pc;
  439. fData.recordsFiltered = pc;
  440. callback(fData);
  441. });
  442. });
  443. }
  444. function BZGLData(company_name, company_type, create_date, update_date, audit_date, audit_statusStr, remark, id) {
  445. this.id = id;
  446. this.company_type = company_type;
  447. this.company_name = company_name;
  448. this.create_date = create_date;
  449. this.update_date = update_date;
  450. this.audit_date = audit_date;
  451. this.audit_statusStr = function () {
  452. var zt = "";
  453. if (audit_statusStr == "审核通过") {
  454. zt = '<span class="grid-report-item green ">' + audit_statusStr + '</span>';
  455. }
  456. if (audit_statusStr == "未审核") {
  457. zt = '<span class="grid-report-item blue ">' + audit_statusStr + '</span>';
  458. }
  459. if (audit_statusStr == "审核不通过") {
  460. zt = '<span class="grid-report-item yellow ">' + audit_statusStr + '</span>';
  461. }
  462. return zt;
  463. };
  464. this.remark = remark;
  465. this.operate = function () {
  466. return "<button onclick='reportEdtil(" + this.id + ")' class='btn btn-success btn-xs fa fa-eye '></button>";
  467. }
  468. }
  469.  
  470. function createTable(id, colums, tCallback) {
  471. $("#" + id).DataTable({
  472. "ajax": function (data, callback, settings) {
  473. tCallback(data, callback, settings);
  474. },
  475. "serverSide": true,
  476. "pagingType": "full_numbers",
  477. "pageLength": ,
  478. "processing": true,
  479. "destroy": true,
  480. 'columns': colums,
  481. 'paging': true,
  482. 'lengthChange': false,
  483. 'searching': false,
  484. 'ordering': false,
  485. 'autoWidth': false,
  486. "language": {
  487. "sProcessing": "处理中...",
  488. "sLengthMenu": "显示 _MENU_ 项结果",
  489. "sZeroRecords": "没有匹配结果",
  490. "sInfo": "显示第 _START_ 至 _END_ 项结果,共 _TOTAL_ 项",
  491. "sInfoEmpty": "显示第 0 至 0 项结果,共 0 项",
  492. "sInfoFiltered": "(由 _MAX_ 项结果过滤)",
  493. "sInfoPostFix": "",
  494. "sSearch": "搜索:",
  495. "sUrl": "",
  496. "sEmptyTable": "表中数据为空",
  497. "sLoadingRecords": "载入中...",
  498. "sInfoThousands": ",",
  499. "oPaginate": {
  500. "sFirst": "首页",
  501. "sPrevious": "上页",
  502. "sNext": "下页",
  503. "sLast": "末页"
  504. },
  505. "oAria": {
  506. "sSortAscending": ": 以升序排列此列",
  507. "sSortDescending": ": 以降序排列此列"
  508. }
  509. }
  510. });
  511. };
  512. </script>

效果图:

highcharts之柱状图的更多相关文章

  1. 使用Highcharts实现柱状图展示

    第一步 新建页面line.html,引入HighCharts核心js文件 <script type="text/javascript" src="../../js/ ...

  2. Highcharts做柱状图怎样样每个柱子都是不同的颜色显示

    series: [{ data: [{'color':'#F6BD0F','y':11}, {'color':'#AFD8F8','y':12}, {'color':'#8BBA00','y':13} ...

  3. HighCharts之2D柱状图

    1.HighCharts之2D柱状图源码 column.html: <!DOCTYPE html> <html> <head> <meta charset=& ...

  4. HighCharts之2D柱状图、折线图的组合多轴图

    HighCharts之2D柱状图.折线图的组合多轴图 1.实例源码 SomeAxis.html: <!DOCTYPE html> <html> <head> < ...

  5. HighCharts之2D柱状图、折线图的组合双轴图

    HighCharts之2D柱状图.折线图的组合双轴图 1.实例源码 DoubleAxis.html: <!DOCTYPE html> <html> <head> & ...

  6. HighCharts之2D柱状图、折线图和饼图的组合图

    HighCharts之2D柱状图.折线图和饼图的组合图 1.实例源码 ColumnLinePie.html: <!DOCTYPE html> <html> <head&g ...

  7. 【Highcharts】 绘制饼图和漏斗图

    1.outModel类设计 设计outModel类首先研究下Highcharts中series的data数据格式,发现饼图和漏斗图都可以使用这样格式的数据 series: [{ name: 'Uniq ...

  8. highCharts图表应用-模拟心电图

    通过前两章的学习,相信大家对highcharts已经有了初步的了解.这一章将通过一个例子来模拟Highcharts如何实现经常变化的数据显示. 比如说股票的涨停.实时篮球比分以及A选手和B选手的支持率 ...

  9. Echart、Excel、highcharts、jfreechart对比

      Echart Excel highcharts jfreechart 柱状图 √ √ √ √ 条形图 √ √ √ √ 折线图 √ √ √ √ 面积图 √ √ √ √ 散点图 √ √ √ √ 气泡图 ...

随机推荐

  1. SpringBoot系列: 使用MyBatis maven插件自动生成java代码

    ====================================pom.xml 文件====================================需要在 pom.xml 文件增加 m ...

  2. kudu系列: Java API使用和效率测试

    Kudu+Impala很适合数据分析, 但直接使用Insert values语句往Kudu表插入数据, 效率实在不好, 测试下来insert的速度仅为80笔/秒. 原因也是显然的, Kudu本身写入效 ...

  3. VS 在文件中查找替换界面死掉。

    主要问题时一个CopyAndReplace的插件引起的.卸载掉就没问题了.

  4. 数组B:我想我需要一艘船屋

    Fred Mapper is considering purchasing some land in Louisiana to build his house on. In the process o ...

  5. springboot-菜鸟学习1

    一.SpringBoot 快速开始 进入 https://start.spring.io/ 给项目命名 引入所需要的jar包支持 一般需要 jpa.freemarker.mysql.web等 在IDE ...

  6. Spring Data

    官网地址 http://projects.spring.io/spring-data 包含子项目 简介 Spring Data 是 Spring 的一个子项目.用于简化数据库访问,支持NoSQL,关系 ...

  7. python 09

    1.函数进阶: 函数动态参数: 动态位置参数 *args 动态关键字参数 **kwargs 位置 > 动态位置参数 > 默认(关键字)参数 > 动态关键字参数 2.命名空间 局部命名 ...

  8. L3-1 二叉搜索树的结构 (30 分)

    讲解的很不错的链接:https://blog.csdn.net/chudongfang2015/article/details/79446477#commentBox 题目链接:https://pin ...

  9. AngularJS--及其他js框架对比

    ----和 **类似?? Angular 2.谷歌的 React   Facebook的 Vue.js. Ember.js. https://github.com/angular/angular.js ...

  10. 顶层const

    顶层const:指针本身是一个常量 底层const:指针所指对象是一个常量 顶层const可以表示任意的对象是常量,这一点对任何数据类型都适用,如算术类型.类.指针等 底层const则与指针和引用等复 ...