service_form.html 51 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045
  1. <section id="page-title">
  2. <div class="row">
  3. <div class="col-sm-8">
  4. <h1 class="mainTitle">服务台报表
  5. <i tooltip='请点击对应报表名称,查看相关数据。' tooltip-placement="right"
  6. class="fa ti-help-alt margin-left-10 fontcolor-five pointfont"></i>
  7. </h1>
  8. </div>
  9. </div>
  10. </section>
  11. <div class="col-md-12 col-sm-12">
  12. <div class="row deck_body" ng-controller="service_formCtrl">
  13. <div class="service_head">
  14. <div class="deck_head_L" ng-class="{ac:tap=='ZHTJ'}" ng-click="active('ZHTJ')">
  15. <span>综合统计</span>
  16. </div>
  17. <div class="deck_head_L" ng-class="{ac:tap=='DHTJ'}" ng-click="active('DHTJ')">
  18. <span>电话统计</span>
  19. </div>
  20. <div class="deck_head_L" ng-class="{ac:tap=='WEB'}" ng-click="active('WEB')">
  21. <span>微信/WEB统计</span>
  22. </div>
  23. <div class="deck_head_L" ng-class="{ac:tap=='DHLYTJ'}" ng-click="active('DHLYTJ')">
  24. <span>电话留言统计</span>
  25. </div>
  26. </div>
  27. <div class="deck_cont">
  28. <!-- 筛选条件 -->
  29. <div class="deck_cont_head">
  30. <form class="col-xs-12 col-sm-12 form-inline P-0 clearfix">
  31. <!-- 选择日期 -->
  32. <div class="selectDate P-0 fl">
  33. <div class="selectDate-hd clearfix">
  34. <p class="fl">选择日期:</p>
  35. <div class="lastDate fr"><span ng-class="{active:searchstate=='week'}"
  36. ng-click="chooseDate('week')">上一周</span>|<span
  37. ng-class="{active:searchstate=='month'}"
  38. ng-click="chooseDate('month')">上一月</span>|<span
  39. ng-class="{active:searchstate=='year'}"
  40. ng-click="chooseDate('year')">上一年</span>|<span
  41. ng-class="{active:searchstate=='today'}" ng-click="chooseDate('today')">今天</span>
  42. </div>
  43. </div>
  44. <div class="clearfix">
  45. <div class="form-group fl">
  46. <input type="text" ng-readonly="true" class="form-control smallline"
  47. datepicker-popuptime="yyyy-MM-dd" ng-model="starttimesModel" max-date="endtimesModel"
  48. is-open="startOpened" ng-init="startOpened = false" ng-click="startOpen($event)" />
  49. <i class="iconfont icon-yuqixinxiu form-dataIcon"></i>
  50. </div>
  51. <span class="form-line fl">一</span>
  52. <div class="form-group fl">
  53. <input type="text" ng-readonly="true" class="form-control smallline"
  54. datepicker-popuptime="yyyy-MM-dd" ng-model="endtimesModel" min-date="starttimesModel"
  55. max-date="nowtimes" is-open="endOpened" ng-init="endOpened = false"
  56. ng-click="endOpen($event)" />
  57. <i class="iconfont icon-yuqixinxiu form-dataIcon"></i>
  58. </div>
  59. </div>
  60. </div>
  61. <!-- 搜索重置 -->
  62. <div class="col-xs-3 col-sm-3 pull-right P-0 searchBtnBox">
  63. <div class="btn btn_search fl" ng-click="mdxquery(name, type)">搜索</div>
  64. <div class="btn btn_reset fl" ng-click="reload(true)" ng-disabled="disabledParentGroup">重置</div>
  65. <div class="btn btn_export fl" ng-click="export()" id="exportToExcel"
  66. ng-disabled="disabledParentGroup">导出</div>
  67. </div>
  68. </form>
  69. </div>
  70. <!-- 综合统计 -->
  71. <div class="deck_cont_body" ng-if="tap=='ZHTJ'">
  72. <div class="deck_cont_body_TB1" ng-if="isArrays(zhtj_list)&&zhtj_list.length>0">
  73. <div class="TB">
  74. <div class="TB_head">
  75. <div class="TB_head_L">
  76. <div class="TB_LDZH fl" tooltip='电话总数 + 微信/web总数 + 电话留言总数 + 柜台受理数' tooltip-placement="top">
  77. <p>请求总数</p>
  78. <span>{{zhtj_req_total}}</span>
  79. </div>
  80. <div class="TB_ITEMS fl">
  81. <div class="TB_ITEM" tooltip='从服务台打电话过来(只算呼入,不算呼出)的数量' tooltip-placement="top">
  82. <p>电话总数</p>
  83. <span>{{zhtj_req_phone}}</span>
  84. </div>
  85. <div class="TB_ITEM" tooltip='通过门户网站的web页面建单数 + 通过微信报修建单数。(不包含已撤回的单)' tooltip-placement="top">
  86. <p>微信/WEB总数</p>
  87. <span>{{zhtj_req_wxweb}}</span>
  88. </div>
  89. <div class="TB_ITEM" tooltip='电话留言数' tooltip-placement="top">
  90. <p>电话留言总数</p>
  91. <span>{{zhtj_req_msg}}</span>
  92. </div>
  93. <div class="TB_ITEM" tooltip='通过柜台建单数(建单时事件来源选项,选择了柜台选项的才算)' tooltip-placement="top">
  94. <p>柜台</p>
  95. <span>{{zhtj_req_desk}}</span>
  96. </div>
  97. </div>
  98. </div>
  99. <div class="TB_head_L">
  100. <div class="TB_LDZH fl" tooltip='电话转换数(打过来的电话不一定会建单) + 微信/web转换数 + 电话留言转换数(留言不一定会建单) + 柜台转换数' tooltip-placement="top">
  101. <p>工单转换总数</p>
  102. <span>{{zhtj_trans_total}}</span>
  103. </div>
  104. <div class="TB_ITEMS fl">
  105. <div class="TB_ITEM" tooltip='工单事件来选选项是:柜台,电话,微信/web,留言。这四种类型的工单建单后,直接处理数量' tooltip-placement="top">
  106. <p>直接处理数量</p>
  107. <span>{{zhtj_p_total}}</span>
  108. </div>
  109. <div class="TB_ITEM" tooltip='工单事件来选选项是:柜台,电话,微信/web,留言。这四种类型的工单建单后,派代处理数量' tooltip-placement="top">
  110. <p>派单数量</p>
  111. <span>{{zhtj_unp_total}}</span>
  112. </div>
  113. </div>
  114. </div>
  115. </div>
  116. <div class="TB_cont">
  117. <table class="jry_table jry_table_head" cellspacing="0" cellpadding="16"
  118. style="font-weight:normal !important;table-layout:fixed">
  119. <thead>
  120. <tr>
  121. <th style="width:6%">
  122. 序号
  123. </th>
  124. <th style="width:11%" tooltip='未被删除的用户,服务台角色的建单人' tooltip-placement="top">
  125. 人员
  126. </th>
  127. <th style="width:11%" ng-click="tableSort('total')" tooltip='建单总数' tooltip-placement="top">
  128. <strong>
  129. 建单数量
  130. <em class="sort-wrap">
  131. <i class="sortItem iconfont icon-xiangshang" ng-class="{active:sortActive == 'totaltop'}"></i>
  132. <i class="sortItem iconfont icon-xiangxia" ng-class="{active:sortActive == 'totalbottom'}"></i>
  133. </em>
  134. </strong>
  135. </th>
  136. <th style="width:11%" ng-click="tableSort('p_total')" tooltip='直接处理工单数' tooltip-placement="top">
  137. <strong>
  138. 直接处理数量
  139. <em class="sort-wrap">
  140. <i class="sortItem iconfont icon-xiangshang" ng-class="{active:sortActive == 'p_totaltop'}"></i>
  141. <i class="sortItem iconfont icon-xiangxia" ng-class="{active:sortActive == 'p_totalbottom'}"></i>
  142. </em>
  143. </strong>
  144. </th>
  145. <th style="width:11%" ng-click="tableSort('unp_total')" tooltip='派代处理工单数' tooltip-placement="top">
  146. <strong>
  147. 派单处理工单数
  148. <em class="sort-wrap">
  149. <i class="sortItem iconfont icon-xiangshang" ng-class="{active:sortActive == 'unp_totaltop'}"></i>
  150. <i class="sortItem iconfont icon-xiangxia" ng-class="{active:sortActive == 'unp_totalbottom'}"></i>
  151. </em>
  152. </strong>
  153. </th>
  154. <th style="width:11%" ng-click="tableSort('handle_phone')" tooltip='工单事件来选选项是:电话类型的工单数' tooltip-placement="top">
  155. <strong>
  156. 电话接听数
  157. <em class="sort-wrap">
  158. <i class="sortItem iconfont icon-xiangshang" ng-class="{active:sortActive == 'handle_phonetop'}"></i>
  159. <i class="sortItem iconfont icon-xiangxia" ng-class="{active:sortActive == 'handle_phonebottom'}"></i>
  160. </em>
  161. </strong>
  162. </th>
  163. <th style="width:17%" ng-click="tableSort('handle_wxweb')" tooltip='工单事件来选选项是:微信/web类型的工单数' tooltip-placement="top">
  164. <strong>
  165. 微信/web报修处理数
  166. <em class="sort-wrap">
  167. <i class="sortItem iconfont icon-xiangshang" ng-class="{active:sortActive == 'handle_wxwebtop'}"></i>
  168. <i class="sortItem iconfont icon-xiangxia" ng-class="{active:sortActive == 'handle_wxwebbottom'}"></i>
  169. </em>
  170. </strong>
  171. </th>
  172. <th style="width:11%" ng-click="tableSort('handle_msg')" tooltip='工单事件来选选项是:留言类型的工单数' tooltip-placement="top">
  173. <strong>
  174. 留言处理数
  175. <em class="sort-wrap">
  176. <i class="sortItem iconfont icon-xiangshang" ng-class="{active:sortActive == 'handle_msgtop'}"></i>
  177. <i class="sortItem iconfont icon-xiangxia" ng-class="{active:sortActive == 'handle_msgbottom'}"></i>
  178. </em>
  179. </strong>
  180. </th>
  181. <th style="width:11%" ng-click="tableSort('handle_desk')" tooltip='工单事件来选选项是:柜台类型的工单数' tooltip-placement="top">
  182. <strong>
  183. 柜台受理数
  184. <em class="sort-wrap">
  185. <i class="sortItem iconfont icon-xiangshang" ng-class="{active:sortActive == 'handle_desktop'}"></i>
  186. <i class="sortItem iconfont icon-xiangxia" ng-class="{active:sortActive == 'handle_deskbottom'}"></i>
  187. </em>
  188. </strong>
  189. </th>
  190. </tr>
  191. </thead>
  192. </table>
  193. <div class="jry_table_wrap" style="overflow-y: overlay;">
  194. <table class="jry_table jry_table_body" cellspacing="0" cellpadding="16"
  195. style="font-weight:normal !important;margin-bottom: 16px;table-layout:fixed">
  196. <tbody class="tbody-hover">
  197. <tr
  198. ng-repeat="rowData in zhtj_list">
  199. <td style="width:6%">
  200. {{$index+1}}
  201. </td>
  202. <td style="width:11%">
  203. {{rowData.userName}}
  204. </td>
  205. <td style="width:11%">
  206. {{rowData.total}}
  207. </td>
  208. <td style="width:11%">
  209. {{rowData.p_total}}
  210. </td>
  211. <td style="width:11%">
  212. {{rowData.unp_total}}
  213. </td>
  214. <td style="width:11%">
  215. {{rowData.handle_phone}}
  216. </td>
  217. <td style="width:17%">
  218. {{rowData.handle_wxweb}}
  219. </td>
  220. <td style="width:11%">
  221. {{rowData.handle_msg}}
  222. </td>
  223. <td style="width:11%">
  224. {{rowData.handle_desk}}
  225. </td>
  226. </tr>
  227. </tbody>
  228. </table>
  229. </div>
  230. </div>
  231. </div>
  232. </div>
  233. <div class="noData" ng-if="isArrays(zhtj_list)&&zhtj_list.length==0">查询无记录</div>
  234. <div class="noData" ng-if="!isArrays(zhtj_list)"><img src="/assets/images/loading.gif" alt=""></div>
  235. </div>
  236. <!-- 电话统计 -->
  237. <div class="deck_cont_body" ng-if="tap=='DHTJ'">
  238. <div class="deck_cont_body_TB1" ng-if="isArrays(dhtj_list)&&dhtj_list.length>0">
  239. <div class="TB">
  240. <div class="TB_head">
  241. <div class="TB_head_L">
  242. <div class="TB_LDZH fl" tooltip='接听数 + 未接数' tooltip-placement="top">
  243. <p>来电总数</p>
  244. <span>{{dhtj_req_total}}</span>
  245. </div>
  246. <div class="TB_ITEMS fl">
  247. <div class="TB_ITEM" tooltip='从服务台打电话过来(只算呼入,不算呼出)的接听数量' tooltip-placement="top">
  248. <p>接听数量</p>
  249. <span>{{dhtj_req_answer}}</span>
  250. </div>
  251. <div class="TB_ITEM" tooltip='从服务台打电话过来(只算呼入,不算呼出)的未接数量' tooltip-placement="top">
  252. <p>未接数量</p>
  253. <span>{{dhtj_req_miss}}</span>
  254. </div>
  255. </div>
  256. </div>
  257. <div class="TB_head_L">
  258. <div class="TB_LDZH fl" tooltip='事件来源是:电话的。直接处理数 + 派单数' tooltip-placement="top">
  259. <p>电话建单总数</p>
  260. <span>{{dhtj_p_total}}</span>
  261. </div>
  262. <div class="TB_ITEMS fl">
  263. <div class="TB_ITEM" tooltip='事件来源是:电话。直接处理工单数' tooltip-placement="top">
  264. <p>直接解决数量</p>
  265. <span>{{dhtj_p_phone}}</span>
  266. </div>
  267. <div class="TB_ITEM" tooltip='事件来源是:电话。派单工单数' tooltip-placement="top">
  268. <p>派单数量</p>
  269. <span>{{dhtj_unp_phone}}</span>
  270. </div>
  271. </div>
  272. </div>
  273. </div>
  274. <div class="TB_cont">
  275. <table class="jry_table jry_table_head" cellspacing="0" cellpadding="16"
  276. style="font-weight:normal !important;table-layout:fixed">
  277. <thead>
  278. <tr>
  279. <th style="width:6%">
  280. 序号
  281. </th>
  282. <th style="width:14%" tooltip='未被删除的用户,服务台角色的建单人' tooltip-placement="top">
  283. 人员
  284. </th>
  285. <th style="width:20%" ng-click="tableSort('answer')" tooltip='从服务台打电话过来(只算呼入,不算呼出)的接听数量' tooltip-placement="top">
  286. <strong>
  287. 接听数量
  288. <em class="sort-wrap">
  289. <i class="sortItem iconfont icon-xiangshang" ng-class="{active:sortActive == 'answertop'}"></i>
  290. <i class="sortItem iconfont icon-xiangxia" ng-class="{active:sortActive == 'answerbottom'}"></i>
  291. </em>
  292. </strong>
  293. </th>
  294. <th style="width:20%" ng-click="tableSort('total')" tooltip='事件来源是:电话的。直接处理数 + 派单数' tooltip-placement="top">
  295. <strong>
  296. 建单数量
  297. <em class="sort-wrap">
  298. <i class="sortItem iconfont icon-xiangshang" ng-class="{active:sortActive == 'totaltop'}"></i>
  299. <i class="sortItem iconfont icon-xiangxia" ng-class="{active:sortActive == 'totalbottom'}"></i>
  300. </em>
  301. </strong>
  302. </th>
  303. <th style="width:20%" ng-click="tableSort('p_total')" tooltip='事件来源是:电话。直接处理工单数' tooltip-placement="top">
  304. <strong>
  305. 直接解决数量
  306. <em class="sort-wrap">
  307. <i class="sortItem iconfont icon-xiangshang" ng-class="{active:sortActive == 'p_totaltop'}"></i>
  308. <i class="sortItem iconfont icon-xiangxia" ng-class="{active:sortActive == 'p_totalbottom'}"></i>
  309. </em>
  310. </strong>
  311. </th>
  312. <th style="width:20%" ng-click="tableSort('unp_total')" tooltip='事件来源是:电话。派单工单数' tooltip-placement="top">
  313. <strong>
  314. 派单数量
  315. <em class="sort-wrap">
  316. <i class="sortItem iconfont icon-xiangshang" ng-class="{active:sortActive == 'unp_totaltop'}"></i>
  317. <i class="sortItem iconfont icon-xiangxia" ng-class="{active:sortActive == 'unp_totalbottom'}"></i>
  318. </em>
  319. </strong>
  320. </th>
  321. </tr>
  322. </thead>
  323. </table>
  324. <div class="jry_table_wrap" ng-nicescroll>
  325. <table class="jry_table jry_table_body" cellspacing="0" cellpadding="16"
  326. style="font-weight:normal !important;margin-bottom: 16px;table-layout:fixed">
  327. <tbody class="tbody-hover">
  328. <tr
  329. ng-repeat="rowData in dhtj_list">
  330. <td style="width:6%">
  331. {{$index+1}}
  332. </td>
  333. <td style="width:14%">
  334. {{rowData.userName}}
  335. </td>
  336. <td style="width:20%">
  337. {{rowData.answer}}
  338. </td>
  339. <td style="width:20%">
  340. {{rowData.total}}
  341. </td>
  342. <td style="width:20%">
  343. {{rowData.p_total}}
  344. </td>
  345. <td style="width:20%">
  346. {{rowData.unp_total}}
  347. </td>
  348. </tr>
  349. </tbody>
  350. </table>
  351. </div>
  352. </div>
  353. </div>
  354. </div>
  355. <div class="noData" ng-if="isArrays(dhtj_list)&&dhtj_list.length==0">查询无记录</div>
  356. <div class="noData" ng-if="!isArrays(dhtj_list)"><img src="/assets/images/loading.gif" alt=""></div>
  357. </div>
  358. <!-- 微信/WEB统计 -->
  359. <div class="deck_cont_body" ng-if="tap=='WEB'">
  360. <div class="deck_cont_body_TB1" ng-if="isArrays(web_list)&&web_list.length>0">
  361. <div class="TB">
  362. <div class="TB_head">
  363. <div class="TB_head_L">
  364. <div class="TB_LDZH fl" tooltip='通过门户网站的web页面建单数 + 通过微信报修建单数。(不包含已撤回的单)' tooltip-placement="top">
  365. <p>微信/WEB报修总数</p>
  366. <span>{{web_req_total}}</span>
  367. </div>
  368. <div class="TB_ITEMS fl">
  369. <div class="TB_ITEM" tooltip='通过门户网站的web页面建单数 + 通过微信报修转换成建单的数量' tooltip-placement="top">
  370. <p>转换数量</p>
  371. <span>{{web_req_trans}}</span>
  372. </div>
  373. <div class="TB_ITEM" tooltip='通过门户网站的web页面建单数 + 通过微信报修转换成不受理的数量' tooltip-placement="top">
  374. <p>不受理数量</p>
  375. <span>{{web_req_reject}}</span>
  376. </div>
  377. </div>
  378. </div>
  379. <div class="TB_head_L">
  380. <div class="TB_LDZH fl" tooltip='直接解决数 + 派单数' tooltip-placement="top">
  381. <p>微信/WEB转换总数</p>
  382. <span>{{web_trans_total}}</span>
  383. </div>
  384. <div class="TB_ITEMS fl">
  385. <div class="TB_ITEM" tooltip='转换后。直接处理工单数' tooltip-placement="top">
  386. <p>直接解决数量</p>
  387. <span>{{web_p_total}}</span>
  388. </div>
  389. <div class="TB_ITEM" tooltip='转换后。派单工单数' tooltip-placement="top">
  390. <p>派单数量</p>
  391. <span>{{web_unp_total}}</span>
  392. </div>
  393. </div>
  394. </div>
  395. </div>
  396. <div class="TB_cont">
  397. <table class="jry_table jry_table_head" cellspacing="0" cellpadding="16"
  398. style="font-weight:normal !important;table-layout:fixed">
  399. <thead>
  400. <tr>
  401. <th style="width:6%">
  402. 序号
  403. </th>
  404. <th style="width:14%" tooltip='未被删除的用户,服务台角色的建单人' tooltip-placement="top">
  405. 人员
  406. </th>
  407. <th style="width:16%" ng-click="tableSort('completed')" tooltip='已经处理过的web/微信报修。不受理 + 转换数量(不包含已撤回的单)' tooltip-placement="top">
  408. <strong>
  409. 受理报修数量
  410. <em class="sort-wrap">
  411. <i class="sortItem iconfont icon-xiangshang" ng-class="{active:sortActive == 'completedtop'}"></i>
  412. <i class="sortItem iconfont icon-xiangxia" ng-class="{active:sortActive == 'completedbottom'}"></i>
  413. </em>
  414. </strong>
  415. </th>
  416. <th style="width:16%" ng-click="tableSort('reject')" tooltip='通过门户网站的web页面建单数 + 通过微信报修转换成不受理的数量' tooltip-placement="top">
  417. <strong>
  418. 不受理数量
  419. <em class="sort-wrap">
  420. <i class="sortItem iconfont icon-xiangshang" ng-class="{active:sortActive == 'rejecttop'}"></i>
  421. <i class="sortItem iconfont icon-xiangxia" ng-class="{active:sortActive == 'rejectbottom'}"></i>
  422. </em>
  423. </strong>
  424. </th>
  425. <th style="width:16%" ng-click="tableSort('total')" tooltip='通过门户网站的web页面建单数 + 通过微信报修转换成建单的数量' tooltip-placement="top">
  426. <strong>
  427. 转换数量
  428. <em class="sort-wrap">
  429. <i class="sortItem iconfont icon-xiangshang" ng-class="{active:sortActive == 'totaltop'}"></i>
  430. <i class="sortItem iconfont icon-xiangxia" ng-class="{active:sortActive == 'totalbottom'}"></i>
  431. </em>
  432. </strong>
  433. </th>
  434. <th style="width:16%" ng-click="tableSort('p_total')" tooltip='转换后。直接处理工单数' tooltip-placement="top">
  435. <strong>
  436. 直接解决数量
  437. <em class="sort-wrap">
  438. <i class="sortItem iconfont icon-xiangshang" ng-class="{active:sortActive == 'p_totaltop'}"></i>
  439. <i class="sortItem iconfont icon-xiangxia" ng-class="{active:sortActive == 'p_totalbottom'}"></i>
  440. </em>
  441. </strong>
  442. </th>
  443. <th style="width:16%" ng-click="tableSort('unp_total')" tooltip='转换后。派单工单数' tooltip-placement="top">
  444. <strong>
  445. 派单数量
  446. <em class="sort-wrap">
  447. <i class="sortItem iconfont icon-xiangshang" ng-class="{active:sortActive == 'unp_totaltop'}"></i>
  448. <i class="sortItem iconfont icon-xiangxia" ng-class="{active:sortActive == 'unp_totalbottom'}"></i>
  449. </em>
  450. </strong>
  451. </th>
  452. </tr>
  453. </thead>
  454. </table>
  455. <div class="jry_table_wrap" ng-nicescroll>
  456. <table class="jry_table jry_table_body" cellspacing="0" cellpadding="16"
  457. style="font-weight:normal !important;margin-bottom: 16px;table-layout:fixed">
  458. <tbody class="tbody-hover">
  459. <tr
  460. ng-repeat="rowData in web_list">
  461. <td style="width:6%">
  462. {{$index+1}}
  463. </td>
  464. <td style="width:14%">
  465. {{rowData.userName}}
  466. </td>
  467. <td style="width:16%">
  468. {{rowData.completed}}
  469. </td>
  470. <td style="width:16%">
  471. {{rowData.reject}}
  472. </td>
  473. <td style="width:16%">
  474. {{rowData.total}}
  475. </td>
  476. <td style="width:16%">
  477. {{rowData.p_total}}
  478. </td>
  479. <td style="width:16%">
  480. {{rowData.unp_total}}
  481. </td>
  482. </tr>
  483. </tbody>
  484. </table>
  485. </div>
  486. </div>
  487. </div>
  488. </div>
  489. <div class="noData" ng-if="isArrays(web_list)&&web_list.length==0">查询无记录</div>
  490. <div class="noData" ng-if="!isArrays(web_list)"><img src="/assets/images/loading.gif" alt=""></div>
  491. </div>
  492. <!-- 电话留言统计 -->
  493. <div class="deck_cont_body" ng-if="tap=='DHLYTJ'">
  494. <div class="deck_cont_body_TB1" ng-if="isArrays(dhlytj_list)&&dhlytj_list.length>0">
  495. <div class="TB">
  496. <div class="TB_head">
  497. <div class="TB_head_L">
  498. <div class="TB_LDZH fl" tooltip='电话留言总数(含未处理,已处理,不受理)' tooltip-placement="top">
  499. <p>电话留言总数</p>
  500. <span>{{dhlytj_req_total}}</span>
  501. </div>
  502. <div class="TB_ITEMS fl">
  503. <div class="TB_ITEM" tooltip='建单的数量' tooltip-placement="top">
  504. <p>建单总数</p>
  505. <span>{{dhlytj_req_trans}}</span>
  506. </div>
  507. <div class="TB_ITEM" tooltip='不受理的数量' tooltip-placement="top">
  508. <p>不受理总数</p>
  509. <span>{{dhlytj_req_reject}}</span>
  510. </div>
  511. </div>
  512. </div>
  513. <div class="TB_head_L">
  514. <div class="TB_LDZH fl" tooltip='直接解决数 + 派单数' tooltip-placement="top">
  515. <p>电话留言转换总数</p>
  516. <span>{{dhlytj_trans_total}}</span>
  517. </div>
  518. <div class="TB_ITEMS fl">
  519. <div class="TB_ITEM" tooltip='转换后。直接处理工单数' tooltip-placement="top">
  520. <p>直接解决总数</p>
  521. <span>{{dhlytj_p_total}}</span>
  522. </div>
  523. <div class="TB_ITEM" tooltip='转换后。派单工单数' tooltip-placement="top">
  524. <p>派单总数</p>
  525. <span>{{dhlytj_unp_total}}</span>
  526. </div>
  527. </div>
  528. </div>
  529. </div>
  530. <div class="TB_cont">
  531. <table class="jry_table jry_table_head" cellspacing="0" cellpadding="16"
  532. style="font-weight:normal !important;table-layout:fixed">
  533. <thead>
  534. <tr>
  535. <th style="width:6%">
  536. 序号
  537. </th>
  538. <th style="width:14%" tooltip='未被删除的用户,服务台角色的建单人' tooltip-placement="top">
  539. 人员
  540. </th>
  541. <th style="width:16%" ng-click="tableSort('completed')" tooltip='已经处理过的电话留言。不受理 + 建单总数(不包含未处理的单)' tooltip-placement="top">
  542. <strong>
  543. 受理总数
  544. <em class="sort-wrap">
  545. <i class="sortItem iconfont icon-xiangshang" ng-class="{active:sortActive == 'completedtop'}"></i>
  546. <i class="sortItem iconfont icon-xiangxia" ng-class="{active:sortActive == 'completedbottom'}"></i>
  547. </em>
  548. </strong>
  549. </th>
  550. <th style="width:16%" ng-click="tableSort('reject')" tooltip='不受理的数量' tooltip-placement="top">
  551. <strong>
  552. 不受理总数
  553. <em class="sort-wrap">
  554. <i class="sortItem iconfont icon-xiangshang" ng-class="{active:sortActive == 'rejecttop'}"></i>
  555. <i class="sortItem iconfont icon-xiangxia" ng-class="{active:sortActive == 'rejectbottom'}"></i>
  556. </em>
  557. </strong>
  558. </th>
  559. <th style="width:16%" ng-click="tableSort('total')" tooltip='建单的数量' tooltip-placement="top">
  560. <strong>
  561. 建单总数
  562. <em class="sort-wrap">
  563. <i class="sortItem iconfont icon-xiangshang" ng-class="{active:sortActive == 'totaltop'}"></i>
  564. <i class="sortItem iconfont icon-xiangxia" ng-class="{active:sortActive == 'totalbottom'}"></i>
  565. </em>
  566. </strong>
  567. </th>
  568. <th style="width:16%" ng-click="tableSort('p_total')" tooltip='转换后。直接处理工单数' tooltip-placement="top">
  569. <strong>
  570. 直接解决总数
  571. <em class="sort-wrap">
  572. <i class="sortItem iconfont icon-xiangshang" ng-class="{active:sortActive == 'p_totaltop'}"></i>
  573. <i class="sortItem iconfont icon-xiangxia" ng-class="{active:sortActive == 'p_totalbottom'}"></i>
  574. </em>
  575. </strong>
  576. </th>
  577. <th style="width:16%" ng-click="tableSort('unp_total')" tooltip='转换后。派单工单数' tooltip-placement="top">
  578. <strong>
  579. 派单总数
  580. <em class="sort-wrap">
  581. <i class="sortItem iconfont icon-xiangshang" ng-class="{active:sortActive == 'unp_totaltop'}"></i>
  582. <i class="sortItem iconfont icon-xiangxia" ng-class="{active:sortActive == 'unp_totalbottom'}"></i>
  583. </em>
  584. </strong>
  585. </th>
  586. </tr>
  587. </thead>
  588. </table>
  589. <div class="jry_table_wrap" ng-nicescroll>
  590. <table class="jry_table jry_table_body" cellspacing="0" cellpadding="16"
  591. style="font-weight:normal !important;margin-bottom: 16px;table-layout:fixed">
  592. <tbody class="tbody-hover">
  593. <tr
  594. ng-repeat="rowData in dhlytj_list">
  595. <td style="width:6%">
  596. {{$index+1}}
  597. </td>
  598. <td style="width:14%">
  599. {{rowData.userName}}
  600. </td>
  601. <td style="width:16%">
  602. {{rowData.completed}}
  603. </td>
  604. <td style="width:16%">
  605. {{rowData.reject}}
  606. </td>
  607. <td style="width:16%">
  608. {{rowData.total}}
  609. </td>
  610. <td style="width:16%">
  611. {{rowData.p_total}}
  612. </td>
  613. <td style="width:16%">
  614. {{rowData.unp_total}}
  615. </td>
  616. </tr>
  617. </tbody>
  618. </table>
  619. </div>
  620. </div>
  621. </div>
  622. </div>
  623. <div class="noData" ng-if="isArrays(dhlytj_list)&&dhlytj_list.length==0">查询无记录</div>
  624. <div class="noData" ng-if="!isArrays(dhlytj_list)"><img src="/assets/images/loading.gif" alt=""></div>
  625. </div>
  626. </div>
  627. </div>
  628. </div>
  629. </div>
  630. <style>
  631. p {
  632. margin-bottom: 0;
  633. }
  634. em,
  635. i,
  636. strong {
  637. font-style: normal;
  638. }
  639. .searchBtnBox {
  640. padding-top: 30px;
  641. }
  642. .deck_body {
  643. height: 100%;
  644. background: #f9f9f9;
  645. padding: 16px;
  646. }
  647. .service_head {
  648. height: 50px;
  649. width: 100%
  650. }
  651. .service_head .deck_head_L {
  652. float: left;
  653. width: 25%;
  654. height: 100%;
  655. text-align: center;
  656. border-top: 5px solid #EAEAEA;
  657. color: #717171;
  658. font-size: 14px;
  659. line-height: 45px;
  660. cursor: pointer;
  661. }
  662. .service_head .deck_head_R {
  663. float: left;
  664. width: 50%;
  665. height: 100%;
  666. text-align: center;
  667. border-top: 5px solid #EAEAEA;
  668. color: #717171;
  669. font-size: 14px;
  670. line-height: 45px;
  671. cursor: pointer;
  672. }
  673. .ac {
  674. background: #E6EEF4;
  675. color: #353535 !important;
  676. border-top: 5px solid #79A3C4 !important;
  677. }
  678. .deck_cont {
  679. width: 100%;
  680. height: 100%;
  681. padding: 16px;
  682. background: #fff;
  683. border-width: 0px 1px 1px 1px;
  684. border-width: 0px 1px 1px 1px;
  685. border-color: #EAEAEA;
  686. border-style: solid;
  687. }
  688. .deck_cont_head {
  689. border-bottom: 1px solid #EAEAEA;
  690. padding: 16px 10px 16px 10px;
  691. zoom: 1;
  692. }
  693. .deck_cont_head::after {
  694. content: "";
  695. display: block;
  696. height: 0;
  697. clear: both;
  698. visibility: hidden;
  699. }
  700. .P-0 {
  701. padding-left: 0px;
  702. padding-right: 0px;
  703. }
  704. .P-T-15 {
  705. padding-top: 16px;
  706. }
  707. .form-control.smallline {
  708. width: 120px;
  709. height: 34px;
  710. padding-left: 8px;
  711. padding-right: 8px;
  712. color: #999;
  713. font-size: 12px;
  714. }
  715. .deck_cont_body_TB1 {
  716. padding-top: 16px;
  717. }
  718. .deck_cont_body_TB2 {
  719. padding-top: 16px;
  720. }
  721. .TB_head {
  722. width: 100%;
  723. height: 54px
  724. }
  725. .TB_head_L {
  726. float: left;
  727. height: 100%;
  728. border-left: 8px solid #005395;
  729. padding: 0px 16px;
  730. }
  731. .TB_head_R {
  732. float: left;
  733. height: 100%;
  734. border-left: 8px solid #49A9EE;
  735. padding: 0px 16px;
  736. }
  737. .TB_ITEM {
  738. float: left;
  739. margin-right: 16px;
  740. text-align: center;
  741. }
  742. .MR_15 {
  743. margin-right: 16px;
  744. }
  745. .TB_ITEM p {
  746. font-size: 12px;
  747. color: #666
  748. }
  749. .TB_ITEM span {
  750. font-size: 24px;
  751. color: #333;
  752. line-height: 1.2;
  753. }
  754. .TB_LDZH{
  755. text-align: center;
  756. }
  757. .TB_LDZH p {
  758. font-size: 14px;
  759. color: #666
  760. }
  761. .TB_LDZH span {
  762. font-size: 32px;
  763. color: #333;
  764. line-height: 1.2;
  765. }
  766. .TB_ZHL {
  767. height: 100%;
  768. padding-top: 22px;
  769. }
  770. .TB_ZHL p {
  771. font-size: 12px;
  772. color: #7B7B7B
  773. }
  774. .TB_ZHL span {
  775. font-weight: 600;
  776. font-size: 22px;
  777. }
  778. .TB_cont {
  779. height: 350px;
  780. width: 100%;
  781. /* overflow-x: hidden; */
  782. /* overflow-y: auto; */
  783. }
  784. .TB_cont #ldzh {
  785. height: 100%;
  786. }
  787. .TB_cont #sjfx {
  788. height: 100%;
  789. }
  790. .TB_cont #sjqs {
  791. height: 100%;
  792. }
  793. .TB_cont #sjpd {
  794. height: 100%;
  795. }
  796. .TB_head_R1 {
  797. border-color: #005395;
  798. }
  799. .TB_LB {
  800. height: 100%;
  801. width: 100%;
  802. border: 1px solid #EAEAEA;
  803. }
  804. .TB_LB_head {
  805. height: 50px;
  806. background: #FAFAFA;
  807. border-bottom: 1px solid #EAEAEA;
  808. color: #333;
  809. font-size: 14px;
  810. }
  811. .TB_LB_body {
  812. height: 40px;
  813. border-bottom: 1px solid #EAEAEA;
  814. color: #7B7B7B;
  815. }
  816. .TB_LB_item {
  817. height: 100%;
  818. float: left;
  819. text-align: center;
  820. line-height: 40px;
  821. border-right: 1px solid #EAEAEA;
  822. }
  823. .TB_LB_head .TB_LB_item {
  824. line-height: 50px;
  825. font-weight: 600;
  826. }
  827. .btn-default {
  828. height: 30px;
  829. }
  830. .form-line {
  831. height: 34px;
  832. line-height: 34px;
  833. padding-left: 8px;
  834. padding-right: 8px;
  835. color: #979797;
  836. }
  837. .form-dataIcon {
  838. color: #ddd;
  839. font-size: 16px;
  840. position: absolute;
  841. right: 8px;
  842. top: 50%;
  843. transform: translateY(-50%);
  844. }
  845. .selectDate {
  846. width: 270px;
  847. }
  848. .selectDate .selectDate-hd {
  849. margin-bottom: 8px;
  850. }
  851. .selectDate .lastDate {
  852. color: #ddd;
  853. }
  854. .selectDate .lastDate span {
  855. margin-left: 4px;
  856. margin-right: 4px;
  857. color: #005395;
  858. font-size: 12px;
  859. cursor: pointer;
  860. }
  861. .selectDate .lastDate span.active {
  862. border-bottom: 1px solid #005395;
  863. }
  864. .selectDate .lastDate span:last-child {
  865. margin-right: 0;
  866. }
  867. .searchBtnBox .btn {
  868. width: 60px;
  869. height: 34px;
  870. line-height: 26px;
  871. margin: 0 0 0 8px;
  872. }
  873. .btn_search {
  874. background-color: #005395;
  875. }
  876. .btn_reset {
  877. background-color: #fff;
  878. border: 1px solid #ddd;
  879. }
  880. .btn_reset:hover {
  881. border: 1px solid #999;
  882. color: #666;
  883. }
  884. .btn_export {
  885. padding: 3px 16px;
  886. background-color: #e6eef4;
  887. border: 1px #005395 solid;
  888. color: #005395;
  889. }
  890. .btn_export:hover {
  891. color: #79a3c4;
  892. border-color: #79a3c4;
  893. }
  894. .TB_ITEMS {
  895. margin-left: 24px;
  896. margin-top: 10px;
  897. }
  898. /* table */
  899. .jry_table_wrap {
  900. margin-top: -1px;
  901. height: 310px;
  902. overflow-x: hidden;
  903. overflow-y: auto;
  904. }
  905. .jry_table {
  906. border: 1px solid #ddd;
  907. text-align: center;
  908. width: 100%;
  909. position: relative;
  910. }
  911. .jry_table_head {
  912. margin-top: 16px;
  913. background-color: #f9f9f9;
  914. }
  915. .jry_table_head th {
  916. cursor: pointer;
  917. }
  918. .jry_table_body .tbody-hover {
  919. width: 100%;
  920. }
  921. .jry_table th,
  922. .jry_table td {
  923. word-wrap: break-word;
  924. padding: 6px 8px;
  925. border: 1px solid #ddd;
  926. }
  927. .jry_table th {
  928. text-align: center;
  929. font-size: 13px;
  930. }
  931. .jry_table th strong {
  932. position: relative;
  933. }
  934. .sort-wrap {
  935. position: absolute;
  936. right: -12px;
  937. top: 50%;
  938. transform: translateY(-50%);
  939. width: 12px;
  940. display: flex;
  941. flex-direction: column;
  942. justify-content: center;
  943. line-height: normal;
  944. }
  945. .sortItem {
  946. font-size: 12px;
  947. color: #ddd;
  948. height: 12px;
  949. cursor: pointer;
  950. position: absolute;
  951. }
  952. .sortItem.active {
  953. color: #999;
  954. }
  955. .sortItem.icon-xiangshang {
  956. bottom: -2px;
  957. }
  958. .sortItem.icon-xiangxia {
  959. top: -2px;
  960. }
  961. /* 查询无记录 */
  962. .noData{
  963. font-size: 16px;
  964. text-align: center;
  965. font-weight: bold;
  966. margin-top: 16px;
  967. width: 100%;
  968. min-height: 420px;
  969. }
  970. .form-control.smallline {
  971. background-color: #fff;
  972. }
  973. </style>