wzkp.html 40 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>网站考评</title>
  6. <link rel="stylesheet" type="text/css" href="layui/css/layui.css"/>
  7. <link rel="stylesheet" type="text/css" href="css/wzkp.css"/>
  8. </head>
  9. <body>
  10. <ul class="top_head">
  11. <li class="title_active">网站考评</li>
  12. <li>政务新媒体</li>
  13. </ul>
  14. <div class="content_show">
  15. <div class="layui-tab">
  16. <ul class="layui-tab-title branch_street" style="border: none">
  17. <li class="layui-this">部门</li>
  18. <li>街镇</li>
  19. </ul>
  20. <div class="layui-tab-content">
  21. <div class="layui-tab-item layui-show">
  22. <div class="content_year layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
  23. <ul class="layui-tab-title" style="border: none">
  24. <li class="layui-this">月度</li>
  25. <li>季度</li>
  26. <li>本年</li>
  27. <li>年度</li>
  28. </ul>
  29. <div class="choice_year">
  30. <label class="layui-form-label">当前月份</label>
  31. <div class="layui-input-inline">
  32. <input type="text" class="layui-input ly-date-input" id="monInput" style="cursor:pointer;"
  33. placeholder="指定月份" readonly="readonly">
  34. <img src="img/icount.png" alt="" class="icount">
  35. </div>
  36. </div>
  37. <div class="layui-tab-content">
  38. <div class="layui-tab-item layui-show">
  39. <ul class="content_box">
  40. <li class="box_blue">
  41. <div class="content_left">
  42. <img src="img/pm.png" alt=""
  43. style="width: 44px;height: 44px;margin: 36px auto 17px;">
  44. <p>本月排名最优(3名)</p>
  45. </div>
  46. <div class="content_right">
  47. <ul>
  48. <li>
  49. <div class="img_wrap">
  50. <p class="wrap_text">公安</p>
  51. <img src="img/pm_g.png" alt="" class="img_g">
  52. </div>
  53. <div id="bestRanking1" class="descript_box">
  54. <h1></h1>
  55. <p class="descript_totall">总分&nbsp;<span></span></p>
  56. <div class="fs">基础分<p></p><span>+</span>加分<p></p>分</div>
  57. </div>
  58. </li>
  59. <li>
  60. <div class="img_wrap">
  61. <p class="wrap_text">文旅</p>
  62. <img src="img/pm_y.png" alt="" class="img_g">
  63. </div>
  64. <div id="bestRanking2" class="descript_box">
  65. <h1></h1>
  66. <p class="descript_totall">总分&nbsp;<span></span></p>
  67. <div class="fs">基础分<p></p><span>+</span>加分<p></p>分</div>
  68. </div>
  69. </li>
  70. <li>
  71. <div class="img_wrap">
  72. <p class="wrap_text">社保</p>
  73. <img src="img/pm_j.png" alt="" class="img_g">
  74. </div>
  75. <div id="bestRanking3" class="descript_box">
  76. <h1></h1>
  77. <p class="descript_totall">总分&nbsp;<span></span></p>
  78. <div class="fs">基础分<p></p><span>+</span>加分<p></p>分</div>
  79. </div>
  80. </li>
  81. </ul>
  82. </div>
  83. </li>
  84. <li class="box_yellow">
  85. <div class="content_left">
  86. <img src="img/zm.png" alt=""
  87. style="width: 33px;height: 55px;margin: 34px auto 9px;">
  88. <p>本月排名最末(3名)</p>
  89. </div>
  90. <div class="content_right">
  91. <ul>
  92. <li>
  93. <div class="img_wrap">
  94. <p class="wrap_text_cover">公安</p>
  95. </div>
  96. <div id="lowestRanking1" class="descript_box">
  97. <h1></h1>
  98. <p class="descript_totall">总分&nbsp;<span></span></p>
  99. <div class="fs">基础分<p></p><span>+</span>加分<p></p>分</div>
  100. </div>
  101. </li>
  102. <li>
  103. <div class="img_wrap">
  104. <p class="wrap_text_cover">文旅</p>
  105. </div>
  106. <div id="lowestRanking2" class="descript_box">
  107. <h1></h1>
  108. <p class="descript_totall">总分&nbsp;<span></span></p>
  109. <div class="fs">基础分<p></p><span>+</span>加分<p></p>分</div>
  110. </div>
  111. </li>
  112. <li>
  113. <div class="img_wrap">
  114. <p class="wrap_text_cover">社保</p>
  115. </div>
  116. <div id="lowestRanking3" class="descript_box">
  117. <h1></h1>
  118. <p class="descript_totall">总分&nbsp;<span></span></p>
  119. <div class="fs">基础分<p></p><span>+</span>加分<p></p>分</div>
  120. </div>
  121. </li>
  122. </ul>
  123. </div>
  124. </li>
  125. <li class="box_green">
  126. <div class="content_left">
  127. <img src="img/jb.png" alt=""
  128. style="width: 39px;height: 39px;margin: 46px auto 13px;">
  129. <p>排名进步最大(3名)</p>
  130. </div>
  131. <div class="content_right">
  132. <ul>
  133. <li>
  134. <div class="img_wrap">
  135. <p class="wrap_text">公安</p>
  136. <img src="img/jb_zd.png" alt="" class="img_jb">
  137. </div>
  138. <div id="greatestProgress1" class="descript_box">
  139. <h1>区公安分局</h1>
  140. <div class="up_green">较上月上升5名<img src="img/up.png" alt=""
  141. class="up_img"></div>
  142. <p class="descript_totall">总分&nbsp;<span>98.03</span></p>
  143. <div class="fs">基础分<p>95</p><span>+</span>加分<p>3分</p></div>
  144. </div>
  145. </li>
  146. <li>
  147. <div class="img_wrap">
  148. <p class="wrap_text">文旅</p>
  149. <img src="img/jb_zd.png" alt="" class="img_jb">
  150. </div>
  151. <div id="greatestProgress2" class="descript_box">
  152. <h1>区文化旅游委</h1>
  153. <div class="up_green">较上月上升5名<img src="img/up.png" alt=""
  154. class="up_img"></div>
  155. <p class="descript_totall">总分&nbsp;<span>96.77</span></p>
  156. <div class="fs">基础分<p>95</p><span>+</span>加分<p>3分</p></div>
  157. </div>
  158. </li>
  159. <li>
  160. <div class="img_wrap">
  161. <p class="wrap_text">社保</p>
  162. <img src="img/jb_zd.png" alt="" class="img_jb">
  163. </div>
  164. <div id="greatestProgress3" class="descript_box">
  165. <h1>区人力社保局</h1>
  166. <div class="up_green">较上月上升5名<img src="img/up.png" alt=""
  167. class="up_img"></div>
  168. <p class="descript_totall">总分&nbsp;<span>90.36</span></p>
  169. <div class="fs">基础分<p>95</p><span>+</span>加分<p>3分</p></div>
  170. </div>
  171. </li>
  172. </ul>
  173. </div>
  174. </li>
  175. <li class="box_red">
  176. <div class="content_left">
  177. <img src="img/xj.png" alt=""
  178. style="width: 41px;height: 41px;margin: 42px auto 15px;">
  179. <p>排名退步最大(3名)</p>
  180. </div>
  181. <div class="content_right">
  182. <ul>
  183. <li>
  184. <div class="img_wrap">
  185. <p class="wrap_text_cover">公安</p>
  186. </div>
  187. <div id="regressiveMaximum1" class="descript_box">
  188. <h1>区公安分局</h1>
  189. <div class="up_green">较上月退步5名<img src="img/down.png" alt=""
  190. class="up_img"></div>
  191. <p class="descript_totall">总分&nbsp;<span>98.03</span></p>
  192. <div class="fs">基础分<p>95</p><span>+</span>加分<p>3分</p></div>
  193. </div>
  194. </li>
  195. <li>
  196. <div class="img_wrap">
  197. <p class="wrap_text_cover">文旅</p>
  198. </div>
  199. <div id="regressiveMaximum2" class="descript_box">
  200. <h1>区文化旅游委</h1>
  201. <div class="up_green">较上月退步5名<img src="img/down.png" alt=""
  202. class="up_img"></div>
  203. <p class="descript_totall">总分&nbsp;<span>96.77</span></p>
  204. <div class="fs">基础分<p>95</p><span>+</span>加分<p>3分</p></div>
  205. </div>
  206. </li>
  207. <li>
  208. <div class="img_wrap">
  209. <p class="wrap_text_cover">社保</p>
  210. </div>
  211. <div id="regressiveMaximum3" class="descript_box">
  212. <h1>区人力社保局</h1>
  213. <div class="up_green">较上月退步5名<img src="img/down.png" alt=""
  214. class="up_img"></div>
  215. <p class="descript_totall">总分&nbsp;<span>90.36</span></p>
  216. <div class="fs">基础分<p>95</p><span>+</span>加分<p>3分</p></div>
  217. </div>
  218. </li>
  219. </ul>
  220. </div>
  221. </li>
  222. </ul>
  223. <div class="rank_detail">
  224. <div class="rank_title"><span></span>&nbsp;&nbsp;<p>排名详情</p></div>
  225. <div class="table_wrap">
  226. <table class="layui-table table_css" lay-even lay-skin="line">
  227. <colgroup>
  228. <col width="300">
  229. <col width="200">
  230. <col width="120">
  231. <col width="150">
  232. <col>
  233. </colgroup>
  234. <thead>
  235. <tr>
  236. <th>部门</th>
  237. <th>总分(基础分/加分)</th>
  238. <th>排名</th>
  239. <th>环比上月排名</th>
  240. <th>基础分加分</th>
  241. </tr>
  242. </thead>
  243. <tbody id="rankingTbody">
  244. <tr>
  245. <td></td>
  246. <td></td>
  247. <td>1</td>
  248. <td>
  249. </td>
  250. <td></td>
  251. </tr>
  252. <tr>
  253. <td></td>
  254. <td></td>
  255. <td>2</td>
  256. <td>
  257. </td>
  258. <td></td>
  259. </tr>
  260. <tr>
  261. <td></td>
  262. <td></td>
  263. <td>3</td>
  264. <td>
  265. </td>
  266. <td></td>
  267. </tr>
  268. </tbody>
  269. </table>
  270. </div>
  271. </div>
  272. <div class="detailed_data">
  273. <div class="rank_title"><span></span>&nbsp;&nbsp;<p>详细数据</p></div>
  274. <ul class="department_street">
  275. <li class="layui-this">部门</li>
  276. </ul>
  277. <form class="layui-form form_css" action="">
  278. <div class="layui-form-item">
  279. <label class="layui-form-label">请选择部门</label>
  280. <div class="layui-input-block">
  281. <select name="department" lay-filter="department_filter">
  282. </select>
  283. </div>
  284. </div>
  285. <div class="rank_text">
  286. <h1>当前排名第&nbsp;&nbsp;<p> 3 </p>&nbsp;&nbsp;名</h1>
  287. <h1>当前得分&nbsp;&nbsp;<p>83.00</p>&nbsp;&nbsp;分</h1>
  288. </div>
  289. <div id="main" style="width: 100%;height: 500px;"></div>
  290. </form>
  291. </div>
  292. <div class="add_detailed">
  293. <div class="rank_title"><span></span>&nbsp;&nbsp;<p>详细数据</p></div>
  294. <table class="layui-table table_css_two" lay-even lay-skin="line">
  295. <colgroup>
  296. <col>
  297. <col width="70">
  298. <col width="560">
  299. <col width="170">
  300. <col width="200">
  301. <col width="100">
  302. </colgroup>
  303. <thead>
  304. <tr>
  305. <th>指标</th>
  306. <th>分值</th>
  307. <th>指标要求</th>
  308. <th>加扣分指标</th>
  309. <th>加扣分原因</th>
  310. <th>加(扣)分</th>
  311. </tr>
  312. </thead>
  313. <tbody>
  314. <tr>
  315. <td>机关简介</td>
  316. <td>10</td>
  317. <td>(1)公开本单位的办公地址、办公时间、联系方式;
  318. (2)公开本单位负责人信息(包括:正职、副职以及其他领导成员的姓名、照片、职务、简历、分管工作及机构); (3)公开本单位的机构设置;
  319. </td>
  320. <td>未按规定时间更新信息</td>
  321. <td>未按规定公布机构信息的,扣10分</td>
  322. <td>-10</td>
  323. </tr>
  324. <tr>
  325. <td>预算/决算</td>
  326. <td>10</td>
  327. <td>(1)公开本单位的办公地址、办公时间、联系方式;
  328. (2)公开本单位负责人信息(包括:正职、副职以及其他领导成员的姓名、照片、职务、简历、分管工作及机构); (3)公开本单位的机构设置;
  329. </td>
  330. <td>未按规定时间更新信息</td>
  331. <td>未按规定公布机构信息的,扣10分</td>
  332. <td>-10</td>
  333. </tr>
  334. <tr>
  335. <td>部门动态</td>
  336. <td>10</td>
  337. <td>(1)公开本单位的办公地址、办公时间、联系方式;
  338. (2)公开本单位负责人信息(包括:正职、副职以及其他领导成员的姓名、照片、职务、简历、分管工作及机构); (3)公开本单位的机构设置;
  339. </td>
  340. <td>未按规定时间更新信息</td>
  341. <td>未按规定公布机构信息的,扣10分</td>
  342. <td>-10</td>
  343. </tr>
  344. <tr>
  345. <td>公示公告</td>
  346. <td>10</td>
  347. <td>(1)公开本单位的办公地址、办公时间、联系方式;
  348. (2)公开本单位负责人信息(包括:正职、副职以及其他领导成员的姓名、照片、职务、简历、分管工作及机构); (3)公开本单位的机构设置;
  349. </td>
  350. <td>未按规定时间更新信息</td>
  351. <td>未按规定公布机构信息的,扣10分</td>
  352. <td>-10</td>
  353. </tr>
  354. </tbody>
  355. </table>
  356. </div>
  357. </div>
  358. <div class="layui-tab-item">2</div>
  359. <div class="layui-tab-item">3</div>
  360. <div class="layui-tab-item">4</div>
  361. <div class="layui-tab-item">5</div>
  362. </div>
  363. </div>
  364. </div>
  365. <div class="layui-tab-item">3</div>
  366. </div>
  367. </div>
  368. </div>
  369. <div class="content_hide">
  370. </div>
  371. <script src="js/jquery-3.5.1.min.js" type="text/javascript" charset="utf-8"></script>
  372. <script src="layui/layui.js" type="text/javascript" charset="utf-8"></script>
  373. <script type="text/javascript" src="../page/js/echarts.min.js" charset="utf-8"></script>
  374. <script src="../zdjc/js/constans.js"></script>
  375. <script>
  376. $(function () {
  377. let month = getMonth();
  378. let type = 0;
  379. let childrenType = (new Date).getMonth() + 1;
  380. let deptId = $("[name='department']").val();
  381. let hasDept = 1;
  382. let newMon = (new Date).getFullYear() + "-" + month;
  383. loadData(type, childrenType, deptId, hasDept, newMon);
  384. });
  385. //获取当前月份
  386. function getMonth() {
  387. let date = new Date();
  388. let month = date.getMonth() + 1;
  389. if (month < 10) {
  390. month = "0" + month;
  391. }
  392. return month;
  393. }
  394. function loadData(type, childrenType, deptId, hasDept, newMon) {
  395. $.ajax({
  396. url: PATH + '/tj/websiteRating',
  397. data: {
  398. "type": type,
  399. "childrenType": childrenType,
  400. "deptId": deptId,
  401. "hasDept": hasDept,
  402. "newMon": newMon
  403. },
  404. type: "post",
  405. success: function (data) {
  406. let dataList = [];
  407. let lastDataList = [];
  408. for (let i = 0; i < data.data.deptids.length; i++) {
  409. let dataD = {};
  410. dataD.department = data.data.yData[i];
  411. dataD.basicScore = data.data.basic[i];
  412. dataD.addScore = data.data.add[i];
  413. dataD.deptid = data.data.deptids[i];
  414. dataList.push(dataD);
  415. }
  416. for (let i = 0; i < data.data.lastMonth.deptids.length; i++) {
  417. let dataD = {};
  418. dataD.department = data.data.lastMonth.yData[i];
  419. dataD.basicScore = data.data.lastMonth.basic[i];
  420. dataD.addScore = data.data.lastMonth.add[i];
  421. dataD.deptid = data.data.lastMonth.deptids[i];
  422. lastDataList.push(dataD);
  423. }
  424. //对数据排名进行排序,使用快速排序
  425. listSort(dataList);
  426. listSort(lastDataList);
  427. let newDataList = [];
  428. let dlLength = dataList.length;
  429. for (let i = 0; i < dlLength; i++) {
  430. newDataList.push(dataList[dlLength - 1 - i]);
  431. newDataList[i].totalScore = (newDataList[i].basicScore + newDataList[i].addScore) + '(' + newDataList[i].basicScore + '/' + newDataList[i].addScore + ')';
  432. for (let j = 0; j < lastDataList.length; j++) {
  433. if (newDataList[i].deptid == lastDataList[j].deptid) {
  434. newDataList[i].rankingLast = j - i;
  435. }
  436. }
  437. }
  438. //生成本月排名最优3位
  439. bestRanking(newDataList);
  440. let lowestRankingList = [];
  441. lowestRankingList.push(dataList[0]);
  442. lowestRankingList.push(dataList[1]);
  443. lowestRankingList.push(dataList[2]);
  444. //生成本月排名最末3位
  445. lowestRanking(lowestRankingList);
  446. //对数据进步进行排序
  447. progressSort(newDataList);
  448. //排名进步最大3位
  449. let greatestProgressList = [];
  450. greatestProgressList.push(newDataList[newDataList.length - 1]);
  451. greatestProgressList.push(newDataList[newDataList.length - 2]);
  452. greatestProgressList.push(newDataList[newDataList.length - 3]);
  453. greatestProgress(greatestProgressList);
  454. //排名退步最大3位
  455. let regressiveMaximumList = [];
  456. regressiveMaximumList.push(newDataList[0]);
  457. regressiveMaximumList.push(newDataList[1]);
  458. regressiveMaximumList.push(newDataList[2]);
  459. regressiveMaximum(regressiveMaximumList);
  460. //生成排名表格
  461. rankingDetails(newDataList);
  462. //生成相应的部门
  463. generationDepartment(data.data);
  464. //生成折线图
  465. lineChart(data.data['detail-data'], data.data['detail-x']);
  466. }
  467. })
  468. }
  469. layui.use(['laydate', 'form', 'element', 'table'], function () {
  470. var laydate = layui.laydate,
  471. form = layui.form,
  472. element = layui.element,
  473. table = layui.table;
  474. //监听ul事件
  475. element.on('tab(docDemoTabBrief)', function (data) {
  476. console.log(data);
  477. });
  478. //监听下拉选择框
  479. form.on('select(department_filter)', function (data) {
  480. selectDepartment(data.value);
  481. });
  482. laydate.render({
  483. elem: '#monInput',
  484. type: 'month',
  485. value: new Date(),
  486. done: function (value, date, endDate) {
  487. dateDone(value);
  488. }
  489. });
  490. });
  491. //快速排序集合
  492. function listSort(array, lo = 0, hi = array.length) {
  493. if (hi - lo < 2) return
  494. const p = partition(array, lo, hi);//寻找中心点位置
  495. listSort(array, lo, p);//左边排序
  496. listSort(array, p + 1, hi);//右边排序
  497. }
  498. function partition(array, lo, hi) {
  499. const pivot = array[hi - 1].basicScore + array[hi - 1].addScore;
  500. let i = lo, j = hi - 1;
  501. while (i != j) {
  502. (array[i].basicScore + array[i].addScore) < pivot ? i++ : exchange(array, i, --j)
  503. }
  504. exchange(array, j, hi - 1)
  505. return j;
  506. }
  507. //快速排序
  508. function progressSort(array, lo = 0, hi = array.length) {
  509. if (hi - lo < 2) return
  510. const p = partition1(array, lo, hi);//寻找中心点位置
  511. progressSort(array, lo, p);//左边排序
  512. progressSort(array, p + 1, hi);//右边排序
  513. }
  514. function partition1(array, lo, hi) {
  515. const pivot = array[hi - 1].rankingLast;
  516. let i = lo, j = hi - 1;
  517. while (i != j) {
  518. array[i].rankingLast < pivot ? i++ : exchange(array, i, --j)
  519. }
  520. exchange(array, j, hi - 1)
  521. return j;
  522. }
  523. //定义交换方法
  524. function exchange(array, lo, hi) {
  525. [array[lo], array[hi]] = [array[hi], array[lo]]
  526. }
  527. //生成本月排名最优3位
  528. function bestRanking(obj) {
  529. $("#bestRanking1").children("h1").text(obj[0].department);
  530. $("#bestRanking1").children("p").children("span").text(obj[0].basicScore + obj[0].addScore);
  531. $("#bestRanking1").children("div").children("p").eq(0).text(obj[0].basicScore);
  532. $("#bestRanking1").children("div").children("p").eq(1).text(obj[0].addScore);
  533. $("#bestRanking2").children("h1").text(obj[1].department);
  534. $("#bestRanking2").children("p").children("span").text(obj[1].basicScore + obj[1].addScore);
  535. $("#bestRanking2").children("div").children("p").eq(0).text(obj[1].basicScore);
  536. $("#bestRanking2").children("div").children("p").eq(1).text(obj[1].addScore);
  537. $("#bestRanking3").children("h1").text(obj[2].department);
  538. $("#bestRanking3").children("p").children("span").text(obj[2].basicScore + obj[2].addScore);
  539. $("#bestRanking3").children("div").children("p").eq(0).text(obj[2].basicScore);
  540. $("#bestRanking3").children("div").children("p").eq(1).text(obj[2].addScore);
  541. }
  542. //生成本月排名最末3位
  543. function lowestRanking(obj) {
  544. $("#lowestRanking1").children("h1").text(obj[0].department);
  545. $("#lowestRanking1").children("p").children("span").text(obj[0].basicScore + obj[0].addScore);
  546. $("#lowestRanking1").children("div").children("p").eq(0).text(obj[0].basicScore);
  547. $("#lowestRanking1").children("div").children("p").eq(1).text(obj[0].addScore);
  548. $("#lowestRanking2").children("h1").text(obj[1].department);
  549. $("#lowestRanking2").children("p").children("span").text(obj[1].basicScore + obj[1].addScore);
  550. $("#lowestRanking2").children("div").children("p").eq(0).text(obj[1].basicScore);
  551. $("#lowestRanking2").children("div").children("p").eq(1).text(obj[1].addScore);
  552. $("#lowestRanking3").children("h1").text(obj[2].department);
  553. $("#lowestRanking3").children("p").children("span").text(obj[2].basicScore + obj[2].addScore);
  554. $("#lowestRanking3").children("div").children("p").eq(0).text(obj[2].basicScore);
  555. $("#lowestRanking3").children("div").children("p").eq(1).text(obj[2].addScore);
  556. }
  557. //排名进步最大3位
  558. function greatestProgress(obj) {
  559. $("#greatestProgress1").children("h1").text(obj[0].department);
  560. $("#greatestProgress1").children("p").children("span").text(obj[0].basicScore + obj[0].addScore);
  561. $("#greatestProgress1").children("div").children("p").eq(0).text(obj[0].basicScore);
  562. $("#greatestProgress1").children("div").children("p").eq(1).text(obj[0].addScore);
  563. $("#greatestProgress2").children("h1").text(obj[1].department);
  564. $("#greatestProgress2").children("p").children("span").text(obj[1].basicScore + obj[1].addScore);
  565. $("#greatestProgress2").children("div").children("p").eq(0).text(obj[1].basicScore);
  566. $("#greatestProgress2").children("div").children("p").eq(1).text(obj[1].addScore);
  567. $("#greatestProgress3").children("h1").text(obj[2].department);
  568. $("#greatestProgress3").children("p").children("span").text(obj[2].basicScore + obj[2].addScore);
  569. $("#greatestProgress3").children("div").children("p").eq(0).text(obj[2].basicScore);
  570. $("#greatestProgress3").children("div").children("p").eq(1).text(obj[2].addScore);
  571. }
  572. //排名退步最大3位
  573. function regressiveMaximum(obj) {
  574. $("#regressiveMaximum1").children("h1").text(obj[0].department);
  575. $("#regressiveMaximum1").children("p").children("span").text(obj[0].basicScore + obj[0].addScore);
  576. $("#regressiveMaximum1").children("div").children("p").eq(0).text(obj[0].basicScore);
  577. $("#regressiveMaximum1").children("div").children("p").eq(1).text(obj[0].addScore);
  578. $("#regressiveMaximum2").children("h1").text(obj[1].department);
  579. $("#regressiveMaximum2").children("p").children("span").text(obj[1].basicScore + obj[1].addScore);
  580. $("#regressiveMaximum2").children("div").children("p").eq(0).text(obj[1].basicScore);
  581. $("#regressiveMaximum2").children("div").children("p").eq(1).text(obj[1].addScore);
  582. $("#regressiveMaximum3").children("h1").text(obj[2].department);
  583. $("#regressiveMaximum3").children("p").children("span").text(obj[2].basicScore + obj[2].addScore);
  584. $("#regressiveMaximum3").children("div").children("p").eq(0).text(obj[2].basicScore);
  585. $("#regressiveMaximum3").children("div").children("p").eq(1).text(obj[2].addScore);
  586. }
  587. //生成排名表格
  588. function rankingDetails(dataList) {
  589. $("#rankingTbody").children("tr").eq(0).children("td").eq(0).html(dataList[dataList.length - 1].department);
  590. $("#rankingTbody").children("tr").eq(0).children("td").eq(1).html(dataList[dataList.length - 1].totalScore);
  591. if (dataList[dataList.length - 1].rankingLast >= 0) {
  592. $("#rankingTbody").children("tr").eq(0).children("td").eq(3).html('<img src="img/up.png" alt="" class="img_tr">' + dataList[dataList.length - 1].rankingLast);
  593. } else {
  594. $("#rankingTbody").children("tr").eq(0).children("td").eq(3).html('<img src="img/down.png" alt="" class="img_tr">' + dataList[dataList.length - 1].rankingLast);
  595. }
  596. $("#rankingTbody").children("tr").eq(0).children("td").eq(4).html(dataList[dataList.length - 2].addScore);
  597. $("#rankingTbody").children("tr").eq(1).children("td").eq(0).html(dataList[dataList.length - 2].department);
  598. $("#rankingTbody").children("tr").eq(1).children("td").eq(1).html(dataList[dataList.length - 2].totalScore);
  599. if (dataList[dataList.length - 2].rankingLast >= 0) {
  600. $("#rankingTbody").children("tr").eq(1).children("td").eq(3).html('<img src="img/up.png" alt="" class="img_tr">' + dataList[dataList.length - 2].rankingLast);
  601. } else {
  602. $("#rankingTbody").children("tr").eq(1).children("td").eq(3).html('<img src="img/down.png" alt="" class="img_tr">' + dataList[dataList.length - 2].rankingLast);
  603. }
  604. $("#rankingTbody").children("tr").eq(1).children("td").eq(4).html(dataList[dataList.length - 2].addScore);
  605. $("#rankingTbody").children("tr").eq(2).children("td").eq(0).html(dataList[dataList.length - 3].department);
  606. $("#rankingTbody").children("tr").eq(2).children("td").eq(1).html(dataList[dataList.length - 3].totalScore);
  607. if (dataList[dataList.length - 3].rankingLast >= 0) {
  608. $("#rankingTbody").children("tr").eq(2).children("td").eq(3).html('<img src="img/up.png" alt="" class="img_tr">' + dataList[dataList.length - 3].rankingLast);
  609. } else {
  610. $("#rankingTbody").children("tr").eq(2).children("td").eq(3).html('<img src="img/down.png" alt="" class="img_tr">' + dataList[dataList.length - 3].rankingLast);
  611. }
  612. $("#rankingTbody").children("tr").eq(2).children("td").eq(4).html(dataList[dataList.length - 3].addScore);
  613. }
  614. //生成相应的部门
  615. function generationDepartment(obj) {
  616. if (obj.deptids) {
  617. if (obj.deptids.length > 0) {
  618. let selectHtml = '<option value=""></option>';
  619. for (let i = 0; i < obj.deptids.length; i++) {
  620. selectHtml += '<option value="' + obj.deptids[i] + '">' + obj.yData[i] + '</option>';
  621. }
  622. $("[name='department']").append(selectHtml);
  623. }
  624. }
  625. layui.form.render('select'); //刷新select选择框渲染
  626. }
  627. //生产折现统计图
  628. function lineChart(dataList, monthList) {
  629. var chartDom = document.getElementById('main');
  630. var myChart = echarts.init(chartDom);
  631. var option;
  632. option = {
  633. xAxis: {
  634. type: 'category',
  635. boundaryGap: false,
  636. data: [],
  637. },
  638. yAxis: {
  639. type: 'value'
  640. },
  641. grid: {
  642. left: '3%',
  643. right: '4%',
  644. bottom: '3%',
  645. containLabel: true
  646. },
  647. series: [{
  648. data: [],
  649. type: 'line',
  650. areaStyle: {
  651. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
  652. offset: 0,
  653. color: '#407ED9'
  654. },
  655. {
  656. offset: 1,
  657. color: 'rgba(254, 254, 255, 0)'
  658. }
  659. ])
  660. },
  661. }]
  662. };
  663. option.xAxis.data = monthList;
  664. option.series[0].data = dataList;
  665. option && myChart.setOption(option);
  666. }
  667. //选择时间生成对应的数据
  668. function dateDone(obj) {
  669. let type = 0;
  670. let childrenType = obj.substring(5, 7);
  671. let deptId = $("[name='department']").val();
  672. let hasDept = 1;
  673. let newMon = obj;
  674. loadData(type, childrenType, deptId, hasDept, newMon);
  675. }
  676. //选择部门生成对应的折线统计图
  677. function selectDepartment(obj) {
  678. let type = 0;
  679. let childrenType = $("#monInput").val().substring(5, 7);
  680. let hasDept = 1;
  681. let newMon = '';
  682. $.ajax({
  683. url: PATH + '/tj/websiteRating',
  684. data: {
  685. "type": type,
  686. "childrenType": childrenType,
  687. "deptId": obj,
  688. "hasDept": hasDept,
  689. "newMon": newMon
  690. },
  691. type: "post",
  692. success: function (data) {
  693. lineChart(data.data['detail-data'], data.data['detail-x']);
  694. }
  695. })
  696. }
  697. </script>
  698. </body>
  699. </html>