Nenhuma Descrição

assessmentDataStatisticsNew.html 17KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>数据统计</title>
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <script src="../Script/Common/huayi.load.js"></script>
  8. <script src="../Script/Common/huayi.config.js"></script>
  9. <link href="../css/WorkOrder/Search.css" rel="stylesheet">
  10. <link href="../css/init.css" rel="stylesheet" />
  11. <link rel="stylesheet" href="../js/zTree/zTreeStyle.css" />
  12. <script src="../js/laydate/laydate.js"></script>
  13. <script src="../js/zTree/jquery.ztree.core.js"></script>
  14. <style>
  15. table td {
  16. word-break: break-all;
  17. word-wrap: break-word;
  18. }
  19. .Shows {
  20. display: block !important;
  21. }
  22. .complain {
  23. display: none;
  24. }
  25. .toolLeft input {
  26. width: 200px;
  27. }
  28. th {
  29. padding: 5px;
  30. text-align: center;
  31. }
  32. td {
  33. padding: 5px;
  34. }
  35. .Borders {
  36. border: 1px solid #d7d7d7;
  37. }
  38. .daoHang {
  39. margin-bottom: 15px;
  40. }
  41. /*树形下拉样式开始*/
  42. .inpBox {
  43. border: 1px solid #e5e6e7;
  44. height: 32px;
  45. width: 200px;
  46. display: inline-block;
  47. position: relative;
  48. vertical-align: middle;
  49. }
  50. .inpBox .inps1 {
  51. width: 100%;
  52. height: 30px;
  53. outline: none;
  54. border: 0;
  55. border-image-width: 0;
  56. padding: 0;
  57. padding-left: 3px;
  58. }
  59. .xl_two {
  60. display: inline-block;
  61. background: url(../img/dropDown.png) no-repeat;
  62. height: 100%;
  63. background-position: center center;
  64. width: 20px;
  65. position: absolute;
  66. right: 0;
  67. top: 0px;
  68. background-color: #f7bc8b;
  69. cursor: pointer;
  70. }
  71. .xl_two:hover {
  72. background-color: #e6d523;
  73. }
  74. .xlAdd_two {
  75. background: #fff;
  76. position: absolute;
  77. width: 100%;
  78. border: 1px solid darkgrey;
  79. right: 0;
  80. top: 30px;
  81. display: none;
  82. height: 350px;
  83. overflow-y: auto;
  84. z-index: 10;
  85. text-align: center;
  86. }
  87. .xlAdd_two .list li:hover {
  88. background: #ebebeb;
  89. color: #717171;
  90. }
  91. /*树形下拉样式结束*/
  92. .Content_box .title {
  93. font-size: 24px;
  94. text-align: center;
  95. }
  96. .Content_box h5 {
  97. font-size: 16px;
  98. text-align: center;
  99. }
  100. .select {
  101. width: 200px;
  102. height: 32px;
  103. border: 1px solid rgb(229, 230, 231);
  104. }
  105. .footerDataStatistics {
  106. /* padding: 0 0 0 20px; */
  107. margin: 10px 0 0 10px;
  108. font-size: 18px;
  109. }
  110. .tables .th-inner {
  111. white-space: normal !important;
  112. }
  113. </style>
  114. </head>
  115. <body class="gray-bg">
  116. <div class="wrapper wrapper-content animated fadeInRight">
  117. <div class="daoHang clearfix">
  118. <div class="dhLeft">
  119. <sapn>
  120. <i class="syIcon"></i>位置:
  121. <a href="javaScript:;" id="ReIndex">首页</a>&gt;
  122. <a href="javaScript:;">报表管理</a>&gt;
  123. <a href="" class="nowPosition">月考核报表数据统计</a>
  124. </sapn>
  125. </div>
  126. <div class="dhRight">
  127. <a href="" title="刷新"><i class="fa fa-refresh"></i></a>
  128. </div>
  129. </div>
  130. <div class="Content_box">
  131. <div class="complain Shows">
  132. <div class="toolBar clearfix">
  133. <div class="toolLeft">
  134. 开始日期:
  135. <input class="photo x-color inputs laydate-icon" type="text" id="squeryTime" autocomplete="off" />
  136. 部门:
  137. <div class="inpBox">
  138. <input class="inps inps1">
  139. <input type="hidden" id="deptid" />
  140. <i class="xl xl_two"></i>
  141. <div class="addTree xlAdd_two">
  142. <ul id="deptTree" class="ztree"></ul>
  143. </div>
  144. </div>
  145. <button class="btns search_1">查询</button>
  146. <a class="btns" id="exportPublicSentiments">导出</a>
  147. </div>
  148. </div>
  149. <div class="title" id="titleText">12345联动服务工作考核数据表</div>
  150. <div class="title">统计周期:<span class="statisticalPeriod"></span></div>
  151. <h5>一、县(市、区)联动单位</h5>
  152. <div style="width: 100%;padding: 10px;">
  153. <table id="workorderlist_1" class="tables" data-row-style="rowStyle" data-query-params="queryParams">
  154. </table>
  155. </div>
  156. <h5>二、市直机关联动单位一组</h5>
  157. <div style="width: 100%;padding: 10px;">
  158. <table id="workorderlist_2" class="tables" data-row-style="rowStyle" data-query-params="queryParams">
  159. </table>
  160. </div>
  161. <h5>三、市直机关联动单位二组</h5>
  162. <div style="width: 100%;padding: 10px;">
  163. <table id="workorderlist_3" class="tables" data-row-style="rowStyle" data-query-params="queryParams">
  164. </table>
  165. </div>
  166. <h5>四、公共事业企业联动单位</h5>
  167. <div style="width: 100%;padding: 10px;">
  168. <table id="workorderlist_4" class="tables" data-row-style="rowStyle" data-query-params="queryParams">
  169. </table>
  170. </div>
  171. <h5>总计</h5>
  172. <div style="width: 100%;padding: 10px;">
  173. <table id="workorderlist_5" class="tables" data-row-style="rowStyle" data-query-params="queryParams">
  174. </table>
  175. </div>
  176. <div class="footerDataStatistics">统计时段:00:00—23:59:59</div>
  177. </div>
  178. </div>
  179. </div>
  180. <script src="./js/reportCommon.js"></script>
  181. <script>
  182. var tableColumns = [
  183. { title: '序号', align: 'center',
  184. formatter: function(value, row, index) {
  185. return index+1
  186. }
  187. },
  188. { field: 'deptname', title: '联动单位', align: 'center'
  189. },
  190. { field: 'Undertakers', title: '承办件', align: 'center',
  191. formatter: function(value, row, index) {
  192. return handleOrderList(value, row, 0);
  193. }
  194. },
  195. { field: 'Undertakersrate', title: '承办率', align: 'center'},
  196. { field: 'Undertakersscore', title: '得分(3分)', align: 'center'},
  197. { field: 'signfor', title: '及时签收件', align: 'center',
  198. formatter: function(value, row, index) {
  199. return handleOrderList(value, row, 1);
  200. }
  201. },
  202. { field: 'oversignfor', title: '超时签收件 ', align: 'center',
  203. formatter: function(value, row, index) {
  204. return handleOrderList(value, row, 2);
  205. }
  206. },
  207. { field: 'signforrate', title: '及时签收率', align: 'center'},
  208. { field: 'signforscore', title: '得分(5分)', align: 'center'},
  209. { field: 'overdue', title: '按时反馈件', align: 'center',
  210. formatter: function(value, row, index) {
  211. return handleOrderList(value, row, 3);
  212. }
  213. },
  214. { field: 'overfeedback', title: '超时反馈件', align: 'center',
  215. formatter: function(value, row, index) {
  216. return handleOrderList(value, row, 4);
  217. }
  218. },
  219. { field: 'Processing', title: '未到期工单', align: 'center',
  220. formatter: function(value, row, index) {
  221. return handleOrderList(value, row, 13);
  222. }
  223. },
  224. { field: 'overduerate', title: '按时反馈率', align: 'center'},
  225. { field: 'overduescore', title: '得分(15分)', align: 'center'},
  226. { field: 'conclude', title: '办结件', align: 'center',
  227. formatter: function(value, row, index) {
  228. return handleOrderList(value, row, 5);
  229. }
  230. },
  231. { field: 'noconclude', title: '未办结件', align: 'center',
  232. formatter: function(value, row, index) {
  233. return handleOrderList(value, row, 6);
  234. }
  235. },
  236. { field: 'completed', title: '应办结数量', align: 'center',
  237. formatter: function(value, row, index) {
  238. return handleOrderList(value, row, 14);
  239. }
  240. },
  241. { field: 'unsuccessfulrate', title: '办结率', align: 'center'},
  242. { field: 'unsuccessfulscore', title: '办结得分(10分)', align: 'center'},
  243. { field: 'one', title: '一次办结件', align: 'center',
  244. formatter: function(value, row, index) {
  245. return handleOrderList(value, row, 7);
  246. }
  247. },
  248. { field: 'noone', title: '非一次办结件', align: 'center',
  249. formatter: function(value, row, index) {
  250. return handleOrderList(value, row, 8);
  251. }
  252. },
  253. { field: 'reply', title: '回复工单量', align: 'center',
  254. formatter: function(value, row, index) {
  255. return handleOrderList(value, row, 15);
  256. }
  257. },
  258. { field: 'onerate', title: '一次办结率', align: 'center'},
  259. { field: 'onescore', title: '得分(12分)', align: 'center'},
  260. { field: 'noexamine', title: '不计入考核件', align: 'center',
  261. formatter: function(value, row, index) {
  262. return handleOrderList(value, row, 9);
  263. }
  264. },
  265. { field: 'review', title: '评议件', align: 'center',
  266. formatter: function(value, row, index) {
  267. return handleOrderList(value, row, 10);
  268. }
  269. },
  270. { field: 'satisfied', title: '满意件', align: 'center',
  271. formatter: function(value, row, index) {
  272. return handleOrderList(value, row, 11);
  273. }
  274. },
  275. { field: 'nosatisfied', title: '不满意件', align: 'center',
  276. formatter: function(value, row, index) {
  277. return handleOrderList(value, row, 12);
  278. }
  279. },
  280. { field: 'satisfiedrates', title: '满意率', align: 'center'},
  281. { field: 'satisfiedscore', title: '得分(55分)', align: 'center'},
  282. { field: 'total', title: '总分', align: 'center'},
  283. { title: '排名', align: 'center',
  284. formatter: function(value, row, index) {
  285. return index+1
  286. }
  287. },
  288. ]
  289. var exportParams = {}
  290. var treeInputParam = {
  291. classInps:'.inps',
  292. classId:'#deptid',
  293. treeApi:'Department/GetDeptList',
  294. classAddTree:'.addTree',
  295. classXl:'.xl',
  296. treeId:'#deptTree',
  297. treeObj:{
  298. name:'F_DeptName',
  299. id:'F_DeptId',
  300. pid:'F_PartentId',
  301. onclick:zTreeOnClick
  302. }
  303. }
  304. var nowMonthData
  305. var dataParams = {}
  306. var apiUrl = 'DataAssessment/GetExamine'
  307. $(document).ready(function () {
  308. var myDate = new Date();
  309. var YY = myDate.getFullYear(); //获取完整的年份(4位,1970-????)
  310. var MM = myDate.getMonth() + 1; //获取当前月份(0-11,0代表1月)
  311. MM = MM<10?"0"+MM:MM
  312. var DD = myDate.getDate(); //获取当前日(1-31)
  313. DD = DD<10?"0"+DD:DD
  314. nowMonthData = YY + "-" + MM
  315. $("#squeryTime").val(nowMonthData)
  316. laydate.render({
  317. elem: '#squeryTime',
  318. theme: '#00a1cb',
  319. type: 'month',
  320. done: function(value){
  321. console.log(nowMonthData,value)
  322. if (nowMonthData === value) {
  323. apiUrl = 'DataAssessment/GetExamine'
  324. dataParams = {}
  325. dataParams.starttime = nowMonthData+"-01 00:00:00"
  326. dataParams.endtime = nowMonthData+"-"+DD+" 23:59:59"
  327. initTable();
  328. }else{
  329. apiUrl = 'DataAssessment/GetEvaluation'
  330. dataParams = {}
  331. dataParams.date = value
  332. initTable();
  333. }
  334. }
  335. });
  336. dataParams.starttime = nowMonthData+"-01 00:00:00"
  337. dataParams.endtime = nowMonthData+"-"+DD+" 23:59:59"
  338. initTable();
  339. bindtree();
  340. });
  341. //搜索
  342. $(".search_1").click(function () {
  343. initTable();
  344. });
  345. //导出
  346. $('#exportPublicSentiments').click(function () {
  347. exportParams.isdc = true
  348. exportFileFun(apiUrl,exportParams)
  349. });
  350. function handleOrderList(val,row,tab){
  351. if (row.deptname !=='合计'&&row.deptname !=='总计') {
  352. if (!val) {
  353. val = 0
  354. }
  355. return '<div class="imgs" ><a class="" onclick="viewList(\'' + row.deptid + '\', \''+tab+'\')" >' + val +
  356. '</a></div>'
  357. }else{
  358. return val
  359. }
  360. }
  361. // 查看列表
  362. function viewList(deptid, tab) {
  363. console.log(deptid, tab)
  364. var deptid = encodeURIComponent(deptid)
  365. var source = encodeURIComponent($("#source").val());
  366. var urlSuffix
  367. if (apiUrl ==='DataAssessment/GetExamine') {
  368. var starttime = encodeURIComponent(dataParams.starttime);
  369. var endtime = encodeURIComponent(dataParams.endtime);
  370. urlSuffix = "&starttime=" + starttime + "&endtime=" + endtime
  371. } else if(apiUrl ==='DataAssessment/GetEvaluation'){
  372. var data = encodeURIComponent(dataParams.date);
  373. urlSuffix = "&data=" + data
  374. }
  375. layer.open({
  376. type: 2,
  377. content: "./comhtml/reportOrderList.html?deptid=" + deptid + "&tab=" + tab+ "&source=" + source +urlSuffix,
  378. title: '考核统计分析列表',
  379. area: ['90%', '90%'], //宽高
  380. });
  381. }
  382. //表格
  383. function initTable() {
  384. dataParams.deptid = $("#deptid").val()
  385. dataParams.source = $("#source").val()
  386. dataParams.token = $.cookie("token")
  387. exportParams = dataParams
  388. $.ajax({
  389. url: huayi.config.callcenter_url + apiUrl,
  390. type: 'get',
  391. data: dataParams,
  392. dataType: "json",
  393. async: true,
  394. success: function (returnValue) {
  395. //异步获取数据
  396. //debugger;
  397. var resultData = returnValue.rows;
  398. var resultData_1 = []
  399. var resultData_2 = []
  400. var resultData_3 = []
  401. var resultData_4 = []
  402. var resultData_5 = []
  403. if (returnValue.edate) {
  404. $(".statisticalPeriod").text(returnValue.strdate + " 至 " + returnValue.edate)
  405. }else{
  406. $(".statisticalPeriod").text(helper.DateFormat.getPreMonth(dataParams.date+"-21") +"至"+dataParams.date+"-20" )
  407. }
  408. $("#titleText").text("12345联动服务工作" + returnValue.month + "月份考核数据表")
  409. resultData.forEach(function (v, i) {
  410. if (v.category === 1) {
  411. resultData_1.push(v)
  412. } else if (v.category === 2) {
  413. resultData_2.push(v)
  414. } else if (v.category === 3) {
  415. resultData_3.push(v)
  416. } else if (v.category === 4) {
  417. resultData_4.push(v)
  418. }else {
  419. resultData_5.push(v)
  420. }
  421. })
  422. $('#workorderlist_1').bootstrapTable('load', resultData_1);
  423. $('#workorderlist_2').bootstrapTable('load', resultData_2);
  424. $('#workorderlist_3').bootstrapTable('load', resultData_3);
  425. $('#workorderlist_4').bootstrapTable('load', resultData_4);
  426. $('#workorderlist_5').bootstrapTable('load', resultData_5);
  427. }
  428. });
  429. $('#workorderlist_1').bootstrapTable('destroy').bootstrapTable({
  430. striped: true,
  431. pagination: false,
  432. columns:tableColumns
  433. });
  434. $('#workorderlist_2').bootstrapTable('destroy').bootstrapTable({
  435. striped: true,
  436. pagination: false,
  437. columns:tableColumns
  438. });
  439. $('#workorderlist_3').bootstrapTable('destroy').bootstrapTable({
  440. striped: true,
  441. pagination: false,
  442. columns:tableColumns
  443. });
  444. $('#workorderlist_4').bootstrapTable('destroy').bootstrapTable({
  445. striped: true,
  446. pagination: false,
  447. columns:tableColumns
  448. });
  449. $('#workorderlist_5').bootstrapTable('destroy').bootstrapTable({
  450. striped: true,
  451. pagination: false,
  452. columns:tableColumns
  453. });
  454. }
  455. </script>
  456. </body>
  457. </html>