def.html 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387
  1. {extend name="common/common2" /}
  2. {block name="main"}
  3. <link rel="stylesheet" href="/admin/css/index.css">
  4. <div class="main-all">
  5. <div class="main1">
  6. <div class="row">
  7. <div class="col-xs-3">
  8. <div class="main1-bg1 one-bg">
  9. <div class="main1-type-title">用户统计</div>
  10. <div class="main1-type-nums">{$userCount.userNums}</div>
  11. <div class="main1-type-bottom">
  12. <span class="pull-left">较上月</span>
  13. {if($userCount.userLastNums >0)}
  14. <div class="type-bottom-right">
  15. <span>+{$userCount.userLastNums}</span>
  16. <img src="/admin/img/up.png" alt="">
  17. </div>
  18. {elseif($userCount.userLastNums < 0)}
  19. <div class="type-bottom-right">
  20. <span>{$userCount.userLastNums}</span>
  21. <img src="/admin/img/down.png" alt="">
  22. </div>
  23. {else}
  24. <div class="type-bottom-right">
  25. <span>{$userCount.userLastNums}</span>
  26. <img src="/admin/img/down.png" alt="">
  27. </div>
  28. {/if}
  29. </div>
  30. </div>
  31. </div>
  32. <div class="col-xs-3">
  33. <div class="main1-bg1 two-bg">
  34. <div class="main1-type-title">本月订单总数</div>
  35. <div class="main1-type-nums">{$orderCount.orderNums}</div>
  36. <div class="main1-type-bottom">
  37. <span class="pull-left">较上月</span>
  38. {if($orderCount.orderLastNums >0)}
  39. <div class="type-bottom-right">
  40. <span>+{$orderCount.orderLastNums}</span>
  41. <img src="/admin/img/up.png" alt="">
  42. </div>
  43. {elseif($orderCount.orderLastNums < 0)}
  44. <div class="type-bottom-right">
  45. <span>{$orderCount.orderLastNums}</span>
  46. <img src="/admin/img/down.png" alt="">
  47. </div>
  48. {else}
  49. <div class="type-bottom-right">
  50. <span>{$orderCount.orderLastNums}</span>
  51. <img src="/admin/img/down.png" alt="">
  52. </div>
  53. {/if}
  54. </div>
  55. </div>
  56. </div>
  57. <div class="col-xs-3">
  58. <div class="main1-bg1 three-bg">
  59. <div class="main1-type-title">年度订单总数</div>
  60. <div class="main1-type-nums">{$orderYearCount.orderYearNums}</div>
  61. <div class="main1-type-bottom">
  62. <span class="pull-left">同比增长率</span>
  63. {if($orderYearCount.orderLastYearNums >0)}
  64. <div class="type-bottom-right">
  65. <span>+{$orderYearCount.orderLastYearNums}%</span>
  66. <img src="/admin/img/up.png" alt="">
  67. </div>
  68. {elseif($orderYearCount.orderLastYearNums < 0)}
  69. <div class="type-bottom-right">
  70. <span>{$orderYearCount.orderLastYearNums}%</span>
  71. <img src="/admin/img/down.png" alt="">
  72. </div>
  73. {else}
  74. <div class="type-bottom-right">
  75. <span>{$orderYearCount.orderLastYearNums}%</span>
  76. <img src="/admin/img/down.png" alt="">
  77. </div>
  78. {/if}
  79. </div>
  80. </div>
  81. </div>
  82. <div class="col-xs-3">
  83. <div class="main1-bg1 four-bg">
  84. <div class="main1-type-title">本月活跃用户</div>
  85. <div class="main1-type-nums">{$activeUserCount.activeUserNums}</div>
  86. <div class="main1-type-bottom">
  87. <span class="pull-left">较上月</span>
  88. {if($activeUserCount.activeUserLastNums >0)}
  89. <div class="type-bottom-right">
  90. <span>+{$activeUserCount.activeUserLastNums}</span>
  91. <img src="/admin/img/up.png" alt="">
  92. </div>
  93. {elseif($activeUserCount.activeUserLastNums < 0)}
  94. <div class="type-bottom-right">
  95. <span>{$activeUserCount.activeUserLastNums}</span>
  96. <img src="/admin/img/down.png" alt="">
  97. </div>
  98. {else}
  99. <div class="type-bottom-right">
  100. <span>{$activeUserCount.activeUserLastNums}</span>
  101. <img src="/admin/img/down.png" alt="">
  102. </div>
  103. {/if}
  104. </div>
  105. </div>
  106. </div>
  107. </div>
  108. </div>
  109. <div class="main2">
  110. <div class="main-all-title">
  111. <div class="semicircle color2"></div>
  112. <span>今日订单状态总览</span>
  113. </div>
  114. <div class="main2-body">
  115. <div class="row">
  116. <div class="col-xs-2">
  117. <div class="body-todo">
  118. <div class="nums border-right">{$dayOrderCount.count1}</div>
  119. <div class="title">待处理</div>
  120. </div>
  121. </div>
  122. <div class="col-xs-2">
  123. <div class="body-todo">
  124. <div class="nums border-right">{$dayOrderCount.count2}</div>
  125. <div class="title">已派发</div>
  126. </div>
  127. </div>
  128. <div class="col-xs-2">
  129. <div class="body-todo">
  130. <div class="nums border-right">{$dayOrderCount.count3}</div>
  131. <div class="title">已完成</div>
  132. </div>
  133. </div>
  134. <div class="col-xs-2">
  135. <div class="body-todo">
  136. <div class="nums border-right">{$dayOrderCount.count4}</div>
  137. <div class="title">已评价</div>
  138. </div>
  139. </div>
  140. <div class="col-xs-2">
  141. <div class="body-todo">
  142. <div class="nums border-right">{$dayOrderCount.count5}</div>
  143. <div class="title">用户主动撤销</div>
  144. </div>
  145. </div>
  146. <div class="col-xs-2">
  147. <div class="body-todo">
  148. <div class="nums">{$dayOrderCount.count6}</div>
  149. <div class="title">被调度取消</div>
  150. </div>
  151. </div>
  152. </div>
  153. </div>
  154. </div>
  155. <div class="main3">
  156. <div class="row">
  157. <div class="col-xs-12">
  158. <div class="main3-left">
  159. <div class="main3-left-title">
  160. <div class="left-semicircle"></div>
  161. <span class="tab-list {if($mode==1)}cur{/if}" data-mode="1" onclick="modeTodoClick(this)">报修工单列表</span>
  162. <span class="tab-list {if($mode==2)}cur{/if}" data-mode="2" onclick="modeTodoClick(this)">保洁工单列表</span>
  163. <span class="tab-list {if($mode==3)}cur{/if}" data-mode="3" onclick="modeTodoClick(this)">运送工单列表</span>
  164. <span class="tab-list {if($mode==4)}cur{/if}" data-mode="4" onclick="modeTodoClick(this)">安保工单列表</span>
  165. </div>
  166. <div class="main3-left-body">
  167. <table id="table" style="border-collapse: collapse"></table>
  168. </div>
  169. </div>
  170. </div>
  171. <!--<div class="col-xs-4">-->
  172. <!--<div class="main3-right">-->
  173. <!--<div class="main-all-title">-->
  174. <!--<div class="semicircle color3"></div>-->
  175. <!--<span>项目人员考勤</span>-->
  176. <!--</div>-->
  177. <!--<div class="main3-right-body">-->
  178. <!--<div class="main3-right-body-top">-->
  179. <!--<div class="left-all">-->
  180. <!--<div class="left" id="onTheJobUser"></div>-->
  181. <!--<div class="percent color1">{$attendanceCount1.bl}%</div>-->
  182. <!--</div>-->
  183. <!--<div class="right">-->
  184. <!--<div class="title color1">在职人员</div>-->
  185. <!--<div class="nums">{$attendanceCount1.count2}人</div>-->
  186. <!--</div>-->
  187. <!--</div>-->
  188. <!--<div class="main3-right-body-top">-->
  189. <!--<div class="left-all">-->
  190. <!--<div class="left" id="absenteeism"></div>-->
  191. <!--<div class="percent color2">{$attendanceCount1.bl2}%</div>-->
  192. <!--</div>-->
  193. <!--<div class="right">-->
  194. <!--<div class="title color2">缺勤人员</div>-->
  195. <!--<div class="nums">{$attendanceCount1.count3}人</div>-->
  196. <!--</div>-->
  197. <!--</div>-->
  198. <!--</div>-->
  199. <!--</div>-->
  200. <!--</div>-->
  201. </div>
  202. </div>
  203. <div class="main4">
  204. <div class="row">
  205. <div class="col-xs-3">
  206. <div class="main4-left">
  207. <div class="main4-left-title">
  208. <div class="semicircle"></div>
  209. <span>软件综合信息</span>
  210. </div>
  211. <div class="main4-left-body">
  212. <div><a target="_blank" href="/doc/慧后勤SP版操作说明书-PC.pdf">慧后勤SP版操作说明书-PC端</a></div>
  213. <div><a target="_blank" href="/doc/慧后勤SP版操作说明书-APP.pdf">慧后勤SP版操作说明书-移动端</a></div>
  214. <!-- <div><a target="_blank" href="/doc/后勤操作说明书-陪护系统.pdf">慧后勤操作说明书-陪护系统</a></div>-->
  215. </div>
  216. </div>
  217. </div>
  218. <div class="col-xs-9">
  219. <div class="main4-right">
  220. <!-- <div class="qrcode1">-->
  221. <!-- <img src="{:url('Qrcode/qrcode',['code'=>$shopcode,'type'=>1])}" alt="点餐二维码">-->
  222. <!-- <div class="title">点餐二维码</div>-->
  223. <!-- </div>-->
  224. <!-- <div class="qrcode2">-->
  225. <!-- <img src="{:url('Qrcode/qrcode',['code'=>$xshopcode,'type'=>1])}" alt="商城客户端二维码">-->
  226. <!-- <div class="title">商城客户端二维码</div>-->
  227. <!-- </div>-->
  228. <div class="qrcode2">
  229. <img src="{:url('Qrcode/qrcode',['code'=>$phcode,'type'=>1])}" alt="陪护客户端二维码">
  230. <div class="title">陪护客户端二维码</div>
  231. </div>
  232. {notempty name="wxcode"}
  233. <div class="qrcode2">
  234. <img src="{$wxcode}" alt="小程序二维码">
  235. <div class="title">小程序二维码</div>
  236. </div>
  237. {/notempty}
  238. <div class="qrcode2">
  239. <img src="{:url('Qrcode/qrcode',['code'=>$download,'type'=>1])}" alt="APP下载二维码">
  240. <div class="title">APP下载二维码</div>
  241. </div>
  242. </div>
  243. </div>
  244. </div>
  245. </div>
  246. </div>
  247. {/block}
  248. {block name="script"}
  249. <script src="/static/echarts.js"></script>
  250. <script>
  251. function modeTodoClick(_self){
  252. var mode = $(_self).attr('data-mode');
  253. $('.tab-list').removeClass('cur');
  254. $(_self).addClass('cur');
  255. var url = '{:url("index/todo")}?mode='+mode;;
  256. console.log('search',url);
  257. if(url){
  258. $("#table").jqGrid('setGridParam', {
  259. url: url,
  260. page: 1
  261. }).trigger("reloadGrid");
  262. }
  263. }
  264. $(function () {
  265. // setInterval(function () {
  266. // attendanceCount1();
  267. // },5*60*1000);
  268. // function attendanceCount1(){
  269. var url = 'attendanceCount1';
  270. $.post(url,function (res) {
  271. if(res.code == 1){
  272. option = {
  273. color: ['#607DFE','#EDF4F5'],
  274. legend: {
  275. top: '5%',
  276. left: 'center'
  277. },
  278. series: [
  279. {
  280. type: 'pie',
  281. radius: ['55%', '70%'],
  282. avoidLabelOverlap: false,
  283. labelLine: {
  284. show: false
  285. },
  286. data: [
  287. { value: res.data.count2 },
  288. { value: res.data.count3 },
  289. ]
  290. }
  291. ]
  292. };
  293. var myChart2 = echarts.init(document.getElementById('onTheJobUser'));
  294. myChart2.setOption(option);
  295. option2 = {
  296. color: ['#FF755B','#EDF4F5'],
  297. legend: {
  298. top: '5%',
  299. left: 'center'
  300. },
  301. series: [
  302. {
  303. type: 'pie',
  304. radius: ['55%', '70%'],
  305. avoidLabelOverlap: false,
  306. labelLine: {
  307. show: false
  308. },
  309. data: [
  310. { value: res.data.count3 },
  311. { value: res.data.count2 },
  312. ]
  313. }
  314. ]
  315. };
  316. var myChart3 = echarts.init(document.getElementById('absenteeism'));
  317. myChart3.setOption(option2);
  318. }
  319. })
  320. // }
  321. $(window).bind("resize",function(){
  322. var width=$(".jqGrid_wrapper").width();
  323. $("#table").setGridWidth(width);
  324. });
  325. $.jgrid.defaults.styleUI="Bootstrap";
  326. $("#table").jqGrid({
  327. url:"{:url('todo')}?mode={$mode}",
  328. datatype: "json",
  329. colModel:[
  330. {label:'编号',name:'id',index:'id', sortable: false},
  331. {label:'工单类型',name:'work_type_mode_text',index:'work_type_mode_text',sortable: false},
  332. {label:'分单时间',name:'create_time',index:'create_time',sortable: false},
  333. {label:'发起人',name:'user_name',index:'user_name',sortable: false},
  334. {label:'执行人',name:'to_user_name',index:'to_user_name',sortable: false},
  335. {label:'接单时间',name:'confirm_time',index:'confirm_time',sortable: false},
  336. {label:'状态',name:'todo_mode_text',index:'todo_mode_text',sortable: false,formatter:function (a, b, c) {
  337. return '<span style="color: '+c.todo_mode_color+'">'+a+'</span>'
  338. }},
  339. ],
  340. rowNum:11,
  341. rowList:[11,20,30,50,100],
  342. pager: '#pager',
  343. sortname: 'id',
  344. viewrecords: true,
  345. autowidth:true,
  346. mtype: 'post',
  347. height: 'auto',
  348. emptyrecords: "暂无数据",
  349. sortorder: "desc",
  350. caption:"",
  351. loadComplete: function (xhr) {
  352. if(xhr.code==0){
  353. layer.msg(xhr.msg);
  354. return false;
  355. }
  356. },
  357. });
  358. })
  359. </script>
  360. {/block}