選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

wel.vue 56 KiB

3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
3年前
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489
  1. <template>
  2. <div class="box-center">
  3. <div v-if="role==3&&info.userRoleType!=6">
  4. <div class="app-titel">
  5. <div class="titel-text">时间</div>
  6. <div class="toptimeqhuan">
  7. <div :class="{ tophove: TimetoAhoose == 0 }" @click="tabtimetap(0)">今天</div>
  8. <div :class="{ tophove: TimetoAhoose == 1 }" @click="tabtimetap(1)"> 近7天 </div>
  9. <div :class="{ tophove: TimetoAhoose == 2 }" @click="tabtimetap(2)"> 近30天 </div>
  10. </div>
  11. <div style="margin-left: 26px">
  12. <el-date-picker
  13. @change="confirmtime()"
  14. v-model="customtime"
  15. :clearable='false'
  16. type="daterange"
  17. range-separator="-"
  18. :default-time="['00:00:00', '23:59:59']"
  19. value-format="yyyy-MM-dd"
  20. start-placeholder="开始日期"
  21. end-placeholder="结束日期"
  22. >
  23. </el-date-picker>
  24. </div>
  25. </div>
  26. <!-- 卡片部分 -->
  27. <div class="page-container">
  28. <div class="pagechen">
  29. <div class="pageboxtitle1">接待量 (次)</div>
  30. <div class="pageboxtitle2">
  31. <div class="span1">{{cardlist.datalist.receptionCount || 0}}</div>
  32. <div class="span2">
  33. <span class="span2-1"> 环比:{{cardlist.sequential.receptionCount || 0}}</span>
  34. <span class="span2-2" v-if="cardlist.liftlist.receptionCount>0">
  35. <i class="el-icon-top" style="color: red;"></i>
  36. {{cardlist.liftlist.receptionCount || 0}}
  37. </span>
  38. <span class="span2-3" v-if="cardlist.liftlist.receptionCount<0">
  39. <i class="el-icon-bottom" style="color: #25CEBA;"></i>
  40. {{cardlist.liftlist.receptionCount || 0}}
  41. </span>
  42. </div>
  43. </div>
  44. </div>
  45. <div class="pagechen">
  46. <div class="pageboxtitle1">有效接待(次)</div>
  47. <div class="pageboxtitle2">
  48. <div class="span1">{{cardlist.datalist.activeCustomer || 0}}</div>
  49. <div class="span2">
  50. <span class="span2-1"> 环比:{{cardlist.sequential.activeCustomer || 0}}</span>
  51. <!-- <span class="span2-2">{{cardlist.liftlist.activeCustomer || 0}}%</span> -->
  52. <span class="span2-2" v-if="cardlist.liftlist.activeCustomer>0">
  53. <i class="el-icon-top" style="color: red;"></i>
  54. {{cardlist.liftlist.activeCustomer || 0}}
  55. </span>
  56. <span class="span2-3" v-if="cardlist.liftlist.activeCustomer<0">
  57. <i class="el-icon-bottom" style="color: #25CEBA;"></i>
  58. {{cardlist.liftlist.activeCustomer || 0}}
  59. </span>
  60. </div>
  61. </div>
  62. </div>
  63. <div class="pagechen">
  64. <div class="pageboxtitle1">正在接待</div>
  65. <div class="pageboxtitle2">
  66. <div class="span1">{{cardlist.datalist.receivingCustomer || 0}}</div>
  67. </div>
  68. </div>
  69. <div class="pagechen">
  70. <div class="pageboxtitle1">平均接待时长(分钟)</div>
  71. <div class="pageboxtitle2">
  72. <div class="span1">{{cardlist.datalist.avgDuration || 0}}</div>
  73. <div class="span2">
  74. <span class="span2-1"> 环比:{{cardlist.sequential.avgDuration || 0}}</span>
  75. <!-- <span class="span2-2">{{cardlist.liftlist.avgDuration || 0}}%</span> -->
  76. <span class="span2-2" v-if="cardlist.liftlist.avgDuration>0">
  77. <i class="el-icon-top" style="color: red;"></i>
  78. {{cardlist.liftlist.avgDuration || 0}}
  79. </span>
  80. <span class="span2-3" v-if="cardlist.liftlist.avgDuration<0">
  81. <i class="el-icon-bottom" style="color: #25CEBA;"></i>
  82. {{cardlist.liftlist.avgDuration || 0}}
  83. </span>
  84. </div>
  85. </div>
  86. </div>
  87. <div class="pagechen">
  88. <div class="pageboxtitle1">平均执行率(%)</div>
  89. <div class="pageboxtitle2">
  90. <div class="span1">{{cardlist.datalist.fraction || 0}}</div>
  91. <div class="span2">
  92. <span class="span2-1"> 环比:{{cardlist.sequential.fraction || 0}}</span>
  93. <!-- <span class="span2-2">{{cardlist.liftlist.fraction || 0}}%</span> -->
  94. <span class="span2-2" v-if="cardlist.liftlist.fraction>0">
  95. <i class="el-icon-top" style="color: red;"></i>
  96. {{cardlist.liftlist.fraction || 0}}%
  97. </span>
  98. <span class="span2-3" v-if="cardlist.liftlist.fraction<0">
  99. <i class="el-icon-bottom" style="color: #25CEBA;"></i>
  100. {{cardlist.liftlist.fraction || 0}}%
  101. </span>
  102. </div>
  103. </div>
  104. </div>
  105. </div>
  106. <div style=" margin-top: 20px;" class="page-container">
  107. <div class="pagechen">
  108. <div class="pageboxtitle1">违禁接待次数(次)</div>
  109. <div class="pageboxtitle2">
  110. <div class="span1">{{cardlist.datalist.prohibitedCustomer || 0}}</div>
  111. <div class="span2">
  112. <span class="span2-1"> 环比:{{cardlist.sequential.prohibitedCustomer || 0}}</span>
  113. <!-- <span class="span2-2">{{cardlist.liftlist.prohibitedCustomer || 0}}%</span> -->
  114. <span class="span2-2" v-if="cardlist.liftlist.prohibitedCustomer>0">
  115. <i class="el-icon-top" style="color: red;"></i>
  116. {{cardlist.liftlist.prohibitedCustomer || 0}}
  117. </span>
  118. <span class="span2-3" v-if="cardlist.liftlist.prohibitedCustomer<0">
  119. <i class="el-icon-bottom" style="color: #25CEBA;"></i>
  120. {{cardlist.liftlist.prohibitedCustomer || 0}}
  121. </span>
  122. </div>
  123. </div>
  124. </div>
  125. <div class="pagechen">
  126. <div class="pageboxtitle1">违禁接待占比(%)</div>
  127. <div class="pageboxtitle2">
  128. <div class="span1">{{cardlist.datalist.prohibitedZb || 0}}</div>
  129. <div class="span2">
  130. <span class="span2-1"> 环比:{{cardlist.sequential.prohibitedZb || 0}}</span>
  131. <!-- <span class="span2-2">{{cardlist.liftlist.prohibitedZb || 0}}%</span> -->
  132. <span class="span2-2" v-if="cardlist.liftlist.prohibitedZb>0">
  133. <i class="el-icon-top" style="color: red;"></i>
  134. {{cardlist.liftlist.prohibitedZb || 0}}%
  135. </span>
  136. <span class="span2-3" v-if="cardlist.liftlist.prohibitedZb<0">
  137. <i class="el-icon-bottom" style="color: #25CEBA;"></i>
  138. {{cardlist.liftlist.prohibitedZb || 0}}%
  139. </span>
  140. </div>
  141. </div>
  142. </div>
  143. <div class="pagechen">
  144. <div class="pageboxtitle1">顾问(人)</div>
  145. <div class="pageboxtitle2">
  146. <div class="span1">{{cardlist.datalist.accountNum || 0}}</div>
  147. <div class="span2">
  148. <span class="span2-1"> 环比:{{cardlist.sequential.accountNum || 0}}</span>
  149. <!-- <span class="span2-2">{{cardlist.liftlist.accountNum || 0}}%</span> -->
  150. <span class="span2-2" v-if="cardlist.liftlist.accountNum>0">
  151. <i class="el-icon-top" style="color: red;"></i>
  152. {{cardlist.liftlist.accountNum || 0}}
  153. </span>
  154. <span class="span2-3" v-if="cardlist.liftlist.accountNum<0">
  155. <i class="el-icon-bottom" style="color: #25CEBA;"></i>
  156. {{cardlist.liftlist.accountNum || 0}}
  157. </span>
  158. </div>
  159. </div>
  160. </div>
  161. <div class="pagechen1"></div>
  162. <div class="pagechen1" ></div>
  163. </div>
  164. <div class="app-box-san">
  165. <div class="zuo">
  166. <div class="title">
  167. <div class="text1">维度触达占比</div>
  168. </div>
  169. <div v-if="indexZxllist.length==0" style="display:flex;justify-content: center; align-items: center;height: 60%;text-align:center;color: #909399;">
  170. <div class="imgboxc" style="margin-top:40px;">
  171. <img class="imgboxc-img" src="/img/nullnull.png" alt="" />
  172. <div class="nulltext">暂无数据</div>
  173. </div>
  174. </div>
  175. <div v-else class="tabbox" style="display:flex;flex-wrap: wrap;height: 290px;overflow-y: auto;width: 90%;margin:0 auto;">
  176. <div v-for="(item,index) in indexZxllist" :key="index" style="width:33.3%;margin-top: 10px;cursor: pointer;">
  177. <div style="width:130px;height:100px;margin:0 auto;"><el-progress :stroke-width="12" :width='130' type="dashboard" :percentage="item.zxl" ></el-progress></div>
  178. <div style="width:100%;text-align: center;margin-top:20px;">
  179. <el-tooltip :content="item.name" placement="top">
  180. <div style="width:80%;text-align: center;margin:0 auto;">{{item.name.substring(0,6)}}</div>
  181. </el-tooltip>
  182. </div>
  183. </div>
  184. </div>
  185. </div>
  186. <div class="you">
  187. <div class="title">
  188. <div class="text1">顾问执行率排名(TOP10)</div>
  189. </div>
  190. <div v-if="employeeExecutionRatelist.list.length==0" style="display:flex;justify-content: center; align-items: center;height: 60%;text-align:center;color: #909399;">
  191. <div class="imgboxc" style="margin-top:40px;">
  192. <img class="imgboxc-img" src="/img/nullnull.png" alt="" />
  193. <div class="nulltext">暂无数据</div>
  194. </div>
  195. </div>
  196. <div class="hejisan" v-if="employeeExecutionRatelist.list.length!=0">
  197. <div class="sanbox1" style="width: 40%;">
  198. <div class="text1-1">顾问</div>
  199. <div class="text1-2">{{employeeExecutionRatelist.num || ''}}</div>
  200. </div>
  201. <div class="sanbox1" style="width: 25%;">
  202. <div class="text1-1">平均执行</div>
  203. <div class="text1-2">{{employeeExecutionRatelist.fraction || ''}}%</div>
  204. </div>
  205. </div>
  206. <div class="tabbox" v-if="employeeExecutionRatelist.list.length!=0">
  207. <div style="overflow-y:auto;height: 230px;width: 94%;margin: 0 auto;">
  208. <div class="jinbox" v-for="(item,i) in employeeExecutionRatelist.list" :key='i'>
  209. <div class="jinboxtit">{{item.accountName}}</div>
  210. <div class="jinbox-box">
  211. <div class="boxbaifenbi" :style="'width:'+(item.fraction)+'%;'"></div>
  212. </div>
  213. <div class="jinboxbott">{{item.fraction}}%</div>
  214. </div>
  215. </div>
  216. </div>
  217. </div>
  218. </div>
  219. <div class="app-box-san" >
  220. <div class="zuo">
  221. <div class="title">
  222. <div class="text1">违禁提醒</div>
  223. </div>
  224. <div class="tabbox" >
  225. <el-table
  226. :header-cell-style="{background:'#F2F4F5'}"
  227. :data="prohibitedlist"
  228. height="320"
  229. style="width: 100%;font-size: 14px;">
  230. <el-table-column
  231. prop="agentName"
  232. label="顾问"
  233. align="center">
  234. </el-table-column>
  235. <el-table-column
  236. prop="name"
  237. label="客户"
  238. align="center">
  239. </el-table-column>
  240. <el-table-column
  241. prop="staTime"
  242. label="接待时间"
  243. align="center">
  244. </el-table-column>
  245. <el-table-column
  246. prop="date"
  247. label="操作"
  248. align="center">
  249. <template slot-scope="{row}">
  250. <div @click="goinfo(row)" style="color: #2671E2;cursor:pointer;">查看</div>
  251. </template>
  252. </el-table-column>
  253. </el-table>
  254. </div>
  255. </div>
  256. <div class="you">
  257. <div class="title" style="cursor: pointer;">
  258. <el-badge :value="equNum" class="item" style=" margin-right: 10px;" :hidden="equNum==0?true:false">
  259. <div class="text1" @click="tabclick('1')" :class="{ colostyle: classatec == 1 }">离线工牌</div>
  260. </el-badge>
  261. <el-badge :value="equNum1" class="item" :hidden="equNum1==0?true:false">
  262. <div class="text1" @click="tabclick('0')" :class="{ colostyle: classatec == 0 }">低电工牌</div>
  263. </el-badge>
  264. </div>
  265. <div class="tabbox" v-if="classatec==0">
  266. <el-table
  267. :header-cell-style="{background:'#F2F4F5'}"
  268. :data="equipmentList"
  269. height="320"
  270. style="width: 100%;font-size: 14px;">>
  271. <el-table-column
  272. prop="accName"
  273. label="顾问"
  274. align="center">
  275. </el-table-column>
  276. <el-table-column
  277. prop="accPhone"
  278. label="电话"
  279. align="center">
  280. </el-table-column>
  281. <el-table-column
  282. prop="imei"
  283. label="设备号"
  284. align="center">
  285. </el-table-column>
  286. <el-table-column
  287. prop="address"
  288. label="录音状态"
  289. align="center">
  290. <template slot-scope="scope" style="">
  291. <span v-if="scope.row.recCmd=='start'">开启</span>
  292. <span v-if="scope.row.recCmd=='stop'">关闭</span>
  293. </template>
  294. </el-table-column>
  295. <el-table-column
  296. prop="electricity"
  297. label="电量"
  298. align="center">
  299. </el-table-column>
  300. </el-table>
  301. </div>
  302. <div class="tabbox" v-if="classatec==1">
  303. <el-table
  304. :header-cell-style="{background:'#F2F4F5'}"
  305. :data="equipmentList"
  306. height="320"
  307. style="width: 100%;font-size: 14px;">>
  308. <el-table-column
  309. prop="accName"
  310. label="顾问"
  311. align="center">
  312. </el-table-column>
  313. <el-table-column
  314. prop="accPhone"
  315. label="电话"
  316. align="center">
  317. </el-table-column>
  318. <el-table-column
  319. prop="imei"
  320. label="设备号"
  321. align="center">
  322. </el-table-column>
  323. <el-table-column
  324. prop="updateTime"
  325. label="离线时间"
  326. align="center">
  327. </el-table-column>
  328. </el-table>
  329. </div>
  330. </div>
  331. </div>
  332. </div>
  333. <div v-if="role!=3&&info.userRoleType!=6">
  334. <!-- 系统后台 -->
  335. <div style="margin-bottom:10px; cursor:pointer;" v-if="role!=2">
  336. <span style="font-weight:bold;font-size: 18px;">待处理</span>
  337. <div class="page-container">
  338. <div class="pagechen" @click="jumpto('1')" v-if="role==0">
  339. <div class="pageboxtitle1">30天到期的代理商</div>
  340. <div class="pageboxtitle3">
  341. {{sysTop.matuityOfAgent||0}}
  342. </div>
  343. </div>
  344. <div class="pagechen" @click="jumpto('2')">
  345. <div class="pageboxtitle1">30天到期的楼盘</div>
  346. <div class="pageboxtitle3">
  347. {{sysTop.matuityOfHouse||0}}
  348. </div>
  349. </div>
  350. <div class="pagechen" @click="jumpto('3')">
  351. <div class="pageboxtitle1">离线设备</div>
  352. <div class="pageboxtitle3">
  353. {{sysTop.offlineEquipmentQUantity||0}}
  354. </div>
  355. </div>
  356. <div class="pagechen" @click="jumpto('4')">
  357. <div class="pageboxtitle1">低电量设备</div>
  358. <div class="pageboxtitle3">
  359. {{sysTop.lowElectricityEquipmentQuantity||0}}
  360. </div>
  361. </div>
  362. </div>
  363. </div>
  364. <div style="font-weight:bold;font-size: 18px; margin:10px 0 ;">数据简报</div>
  365. <div class="app-titel">
  366. <div class="titel-text">时间</div>
  367. <div class="toptimeqhuan">
  368. <div :class="{ tophove: TimetoAhoose == 0 }" @click="tabtimetap(0)">今天</div>
  369. <div :class="{ tophove: TimetoAhoose == 1 }" @click="tabtimetap(1)"> 近7天 </div>
  370. <div :class="{ tophove: TimetoAhoose == 2 }" @click="tabtimetap(2)"> 近30天 </div>
  371. </div>
  372. <div style="margin-left: 26px">
  373. <el-date-picker
  374. @change="confirmtime()"
  375. v-model="customtime"
  376. :clearable='false'
  377. type="daterange"
  378. range-separator="-"
  379. :default-time="['00:00:00', '23:59:59']"
  380. value-format="yyyy-MM-dd"
  381. start-placeholder="开始日期"
  382. end-placeholder="结束日期"
  383. >
  384. </el-date-picker>
  385. </div>
  386. </div>
  387. <div v-if="role!=2">
  388. <!-- 卡片部分 -->
  389. <div class="page-container" >
  390. <div class="pagechen">
  391. <div class="pageboxtitle1">新增楼盘数</div>
  392. <div class="pageboxtitle2">
  393. <div class="span1">{{sysSec.newAddHouseQuantity || 0}}</div>
  394. <div class="span2">
  395. <span class="span2-1"> 环比:{{sysCompare.newAddHouseQuantity || 0}}</span>
  396. <span class="span2-2" v-if="orderBy.newAddHouseQuantity>0">
  397. <i class="el-icon-top" style="color: red;"></i>
  398. {{orderBy.newAddHouseQuantity || 0}}
  399. </span>
  400. <span class="span2-3" v-if="orderBy.newAddHouseQuantity<0">
  401. <i class="el-icon-bottom" style="color: #25CEBA;"></i>
  402. {{orderBy.newAddHouseQuantity || 0}}
  403. </span>
  404. </div>
  405. </div>
  406. </div>
  407. <div class="pagechen">
  408. <div class="pageboxtitle1">活跃楼盘数</div>
  409. <div class="pageboxtitle2">
  410. <div class="span1">{{sysSec.activeHouseQuantity || 0}}</div>
  411. <div class="span2">
  412. <span class="span2-1"> 环比:{{sysCompare.activeHouseQuantity || 0}}</span>
  413. <span class="span2-2" v-if="orderBy.activeHouseQuantity>0">
  414. <i class="el-icon-top" style="color: red;"></i>
  415. {{orderBy.activeHouseQuantity || 0}}
  416. </span>
  417. <span class="span2-3" v-if="orderBy.activeHouseQuantity<0">
  418. <i class="el-icon-bottom" style="color: #25CEBA;"></i>
  419. {{orderBy.activeHouseQuantity || 0}}
  420. </span>
  421. </div>
  422. </div>
  423. </div>
  424. <div class="pagechen">
  425. <div class="pageboxtitle1">销售设备数</div>
  426. <div class="pageboxtitle2">
  427. <div class="span1">{{sysSec.equipmentQuantityWithSold || 0}}</div>
  428. <div class="span2">
  429. <span class="span2-1"> 环比:{{sysCompare.equipmentQuantityWithSold || 0}}</span>
  430. <!-- <span class="span2-2">{{cardlist.liftlist.avgDuration || 0}}%</span> -->
  431. <span class="span2-2" v-if="orderBy.equipmentQuantityWithSold>0">
  432. <i class="el-icon-top" style="color: red;"></i>
  433. {{orderBy.equipmentQuantityWithSold || 0}}
  434. </span>
  435. <span class="span2-3" v-if="orderBy.equipmentQuantityWithSold<0">
  436. <i class="el-icon-bottom" style="color: #25CEBA;"></i>
  437. {{orderBy.equipmentQuantityWithSold || 0}}
  438. </span>
  439. </div>
  440. </div>
  441. </div>
  442. <div class="pagechen">
  443. <div class="pageboxtitle1">活跃设备数</div>
  444. <div class="pageboxtitle2">
  445. <div class="span1">{{sysSec.activeEquipmentQuantity || 0}}</div>
  446. <div class="span2">
  447. <span class="span2-1"> 环比:{{sysCompare.activeEquipmentQuantity || 0}}</span>
  448. <!-- <span class="span2-2">{{cardlist.liftlist.fraction || 0}}%</span> -->
  449. <span class="span2-2" v-if="orderBy.activeEquipmentQuantity>0">
  450. <i class="el-icon-top" style="color: red;"></i>
  451. {{orderBy.activeEquipmentQuantity || 0}}
  452. </span>
  453. <span class="span2-3" v-if="orderBy.activeEquipmentQuantity<0">
  454. <i class="el-icon-bottom" style="color: #25CEBA;"></i>
  455. {{orderBy.activeEquipmentQuantity || 0}}
  456. </span>
  457. </div>
  458. </div>
  459. </div>
  460. <div class="pagechen">
  461. <div class="pageboxtitle1">活跃用户数</div>
  462. <div class="pageboxtitle2">
  463. <div class="span1">{{sysSec.activeUserQuantity || 0}}</div>
  464. <div class="span2">
  465. <span class="span2-1"> 环比:{{sysCompare.activeUserQuantity || 0}}</span>
  466. <!-- <span class="span2-2">{{cardlist.liftlist.prohibitedCustomer || 0}}%</span> -->
  467. <span class="span2-2" v-if="orderBy.activeUserQuantity>0">
  468. <i class="el-icon-top" style="color: red;"></i>
  469. {{orderBy.activeUserQuantity || 0}}
  470. </span>
  471. <span class="span2-3" v-if="orderBy.activeUserQuantity<0">
  472. <i class="el-icon-bottom" style="color: #25CEBA;"></i>
  473. {{orderBy.activeUserQuantity || 0}}
  474. </span>
  475. </div>
  476. </div>
  477. </div>
  478. </div>
  479. <div style=" margin-top: 20px;" class="page-container">
  480. <div class="pagechen">
  481. <div class="pageboxtitle1">接待量</div>
  482. <div class="pageboxtitle2">
  483. <div class="span1">{{sysSec.receptionCount || 0}}</div>
  484. <div class="span2">
  485. <span class="span2-1"> 环比:{{sysCompare.receptionCount || 0}}</span>
  486. <!-- <span class="span2-2">{{cardlist.liftlist.prohibitedZb || 0}}%</span> -->
  487. <span class="span2-2" v-if="orderBy.receptionCount>0">
  488. <i class="el-icon-top" style="color: red;"></i>
  489. {{orderBy.receptionCount || 0}}
  490. </span>
  491. <span class="span2-3" v-if="orderBy.receptionCount<0">
  492. <i class="el-icon-bottom" style="color: #25CEBA;"></i>
  493. {{orderBy.receptionCount || 0}}
  494. </span>
  495. </div>
  496. </div>
  497. </div>
  498. <div class="pagechen">
  499. <div class="pageboxtitle1">有效接待</div>
  500. <div class="pageboxtitle2">
  501. <div class="span1">{{sysSec.activeCustomer || 0}}</div>
  502. <div class="span2">
  503. <span class="span2-1"> 环比:{{sysCompare.activeCustomer || 0}}</span>
  504. <!-- <span class="span2-2">{{cardlist.liftlist.accountNum || 0}}%</span> -->
  505. <span class="span2-2" v-if="orderBy.activeCustomer>0">
  506. <i class="el-icon-top" style="color: red;"></i>
  507. {{orderBy.activeCustomer || 0}}
  508. </span>
  509. <span class="span2-3" v-if="orderBy.activeCustomer<0">
  510. <i class="el-icon-bottom" style="color: #25CEBA;"></i>
  511. {{orderBy.activeCustomer || 0}}
  512. </span>
  513. </div>
  514. </div>
  515. </div>
  516. <div class="pagechen">
  517. <div class="pageboxtitle1">违禁接待次数</div>
  518. <div class="pageboxtitle2">
  519. <div class="span1">{{sysSec.prohibitedCount || 0}}</div>
  520. <div class="span2">
  521. <span class="span2-1"> 环比:{{sysCompare.prohibitedCount || 0}}</span>
  522. <!-- <span class="span2-2">{{cardlist.liftlist.accountNum || 0}}%</span> -->
  523. <span class="span2-2" v-if="orderBy.prohibitedCount>0">
  524. <i class="el-icon-top" style="color: red;"></i>
  525. {{orderBy.prohibitedCount || 0}}
  526. </span>
  527. <span class="span2-3" v-if="orderBy.prohibitedCount<0">
  528. <i class="el-icon-bottom" style="color: #25CEBA;"></i>
  529. {{orderBy.prohibitedCount || 0}}
  530. </span>
  531. </div>
  532. </div>
  533. </div>
  534. <div class="pagechen">
  535. <div class="pageboxtitle1">平均接待时长(分钟)</div>
  536. <div class="pageboxtitle2">
  537. <div class="span1">{{sysSec.receptionTimeWithAvg || 0}}</div>
  538. <div class="span2">
  539. <span class="span2-1"> 环比:{{sysCompare.receptionTimeWithAvg || 0}}</span>
  540. <!-- <span class="span2-2">{{cardlist.liftlist.accountNum || 0}}%</span> -->
  541. <span class="span2-2" v-if="orderBy.receptionTimeWithAvg>0">
  542. <i class="el-icon-top" style="color: red;"></i>
  543. {{orderBy.receptionTimeWithAvg || 0}}
  544. </span>
  545. <span class="span2-3" v-if="orderBy.receptionTimeWithAvg<0">
  546. <i class="el-icon-bottom" style="color: #25CEBA;"></i>
  547. {{orderBy.receptionTimeWithAvg || 0}}
  548. </span>
  549. </div>
  550. </div>
  551. </div>
  552. <div class="pagechen">
  553. <div class="pageboxtitle1">录音总时长(小时)</div>
  554. <div class="pageboxtitle2">
  555. <div class="span1">{{sysSec.receptionTime || 0}}</div>
  556. <div class="span2">
  557. <span class="span2-1"> 环比:{{sysCompare.receptionTime || 0}}</span>
  558. <!-- <span class="span2-2">{{cardlist.liftlist.accountNum || 0}}%</span> -->
  559. <span class="span2-2" v-if="orderBy.receptionTime>0">
  560. <i class="el-icon-top" style="color: red;"></i>
  561. {{orderBy.receptionTime || 0}}
  562. </span>
  563. <span class="span2-3" v-if="orderBy.receptionTime<0">
  564. <i class="el-icon-bottom" style="color: #25CEBA;"></i>
  565. {{orderBy.receptionTime || 0}}
  566. </span>
  567. </div>
  568. </div>
  569. </div>
  570. </div>
  571. </div>
  572. <div v-if="role==2">
  573. <!-- 卡片部分 -->
  574. <div class="page-container" >
  575. <div class="pagechen">
  576. <div class="pageboxtitle1">接待量</div>
  577. <div class="pageboxtitle2">
  578. <div class="span1">{{sysSec.receptionCount || 0}}</div>
  579. <div class="span2">
  580. <span class="span2-1"> 环比:{{sysCompare.receptionCount || 0}}</span>
  581. <!-- <span class="span2-2">{{cardlist.liftlist.prohibitedZb || 0}}%</span> -->
  582. <span class="span2-2" v-if="orderBy.receptionCount>0">
  583. <i class="el-icon-top" style="color: red;"></i>
  584. {{orderBy.receptionCount || 0}}
  585. </span>
  586. <span class="span2-3" v-if="orderBy.receptionCount<0">
  587. <i class="el-icon-bottom" style="color: #25CEBA;"></i>
  588. {{orderBy.receptionCount || 0}}
  589. </span>
  590. </div>
  591. </div>
  592. </div>
  593. <div class="pagechen">
  594. <div class="pageboxtitle1">有效接待</div>
  595. <div class="pageboxtitle2">
  596. <div class="span1">{{sysSec.activeCustomer || 0}}</div>
  597. <div class="span2">
  598. <span class="span2-1"> 环比:{{sysCompare.activeCustomer || 0}}</span>
  599. <!-- <span class="span2-2">{{cardlist.liftlist.accountNum || 0}}%</span> -->
  600. <span class="span2-2" v-if="orderBy.activeCustomer>0">
  601. <i class="el-icon-top" style="color: red;"></i>
  602. {{orderBy.activeCustomer || 0}}
  603. </span>
  604. <span class="span2-3" v-if="orderBy.activeCustomer<0">
  605. <i class="el-icon-bottom" style="color: #25CEBA;"></i>
  606. {{orderBy.activeCustomer || 0}}
  607. </span>
  608. </div>
  609. </div>
  610. </div>
  611. <div class="pagechen">
  612. <div class="pageboxtitle1">无效接待</div>
  613. <div class="pageboxtitle2">
  614. <div class="span1">{{sysSec.invalidCustomer || 0}}</div>
  615. <div class="span2">
  616. <span class="span2-1"> 环比:{{sysCompare.invalidCustomer || 0}}</span>
  617. <span class="span2-2" v-if="orderBy.invalidCustomer>0">
  618. <i class="el-icon-top" style="color: red;"></i>
  619. {{orderBy.invalidCustomer || 0}}
  620. </span>
  621. <span class="span2-3" v-if="orderBy.invalidCustomer<0">
  622. <i class="el-icon-bottom" style="color: #25CEBA;"></i>
  623. {{orderBy.invalidCustomer || 0}}
  624. </span>
  625. </div>
  626. </div>
  627. </div>
  628. <div class="pagechen">
  629. <div class="pageboxtitle1">接待时长(小时)</div>
  630. <div class="pageboxtitle2">
  631. <div class="span1">{{sysSec.receptionTime || 0}}</div>
  632. <div class="span2">
  633. <span class="span2-1"> 环比:{{sysCompare.receptionTime || 0}}</span>
  634. <!-- <span class="span2-2">{{cardlist.liftlist.accountNum || 0}}%</span> -->
  635. <span class="span2-2" v-if="orderBy.receptionTime>0">
  636. <i class="el-icon-top" style="color: red;"></i>
  637. {{orderBy.receptionTime || 0}}
  638. </span>
  639. <span class="span2-3" v-if="orderBy.receptionTime<0">
  640. <i class="el-icon-bottom" style="color: #25CEBA;"></i>
  641. {{orderBy.receptionTime || 0}}
  642. </span>
  643. </div>
  644. </div>
  645. </div>
  646. <div class="pagechen">
  647. <div class="pageboxtitle1">平均接待时长(分钟)</div>
  648. <div class="pageboxtitle2">
  649. <div class="span1">{{sysSec.receptionTimeWithAvg || 0}}</div>
  650. <div class="span2">
  651. <span class="span2-1"> 环比:{{sysCompare.receptionTimeWithAvg || 0}}</span>
  652. <!-- <span class="span2-2">{{cardlist.liftlist.accountNum || 0}}%</span> -->
  653. <span class="span2-2" v-if="orderBy.receptionTimeWithAvg>0">
  654. <i class="el-icon-top" style="color: red;"></i>
  655. {{orderBy.receptionTimeWithAvg || 0}}
  656. </span>
  657. <span class="span2-3" v-if="orderBy.receptionTimeWithAvg<0">
  658. <i class="el-icon-bottom" style="color: #25CEBA;"></i>
  659. {{orderBy.receptionTimeWithAvg || 0}}
  660. </span>
  661. </div>
  662. </div>
  663. </div>
  664. </div>
  665. <div style=" margin-top: 20px;" class="page-container">
  666. <div class="pagechen">
  667. <div class="pageboxtitle1">平均执行率</div>
  668. <div class="pageboxtitle2">
  669. <div class="span1">{{sysSec.avgFration || 0}}</div>
  670. <div class="span2">
  671. <span class="span2-1"> 环比:{{sysCompare.avgFration || 0}}</span>
  672. <!-- <span class="span2-2">{{cardlist.liftlist.avgDuration || 0}}%</span> -->
  673. <span class="span2-2" v-if="orderBy.avgFration>0">
  674. <i class="el-icon-top" style="color: red;"></i>
  675. {{orderBy.avgFration || 0}}%
  676. </span>
  677. <span class="span2-3" v-if="orderBy.avgFration<0">
  678. <i class="el-icon-bottom" style="color: #25CEBA;"></i>
  679. {{orderBy.avgFration || 0}}%
  680. </span>
  681. </div>
  682. </div>
  683. </div>
  684. <div class="pagechen">
  685. <div class="pageboxtitle1">违禁接待次数</div>
  686. <div class="pageboxtitle2">
  687. <div class="span1">{{sysSec.prohibitedCount || 0}}</div>
  688. <div class="span2">
  689. <span class="span2-1"> 环比:{{sysCompare.prohibitedCount || 0}}</span>
  690. <!-- <span class="span2-2">{{cardlist.liftlist.accountNum || 0}}%</span> -->
  691. <span class="span2-2" v-if="orderBy.prohibitedCount>0">
  692. <i class="el-icon-top" style="color: red;"></i>
  693. {{orderBy.prohibitedCount || 0}}
  694. </span>
  695. <span class="span2-3" v-if="orderBy.prohibitedCount<0">
  696. <i class="el-icon-bottom" style="color: #25CEBA;"></i>
  697. {{orderBy.prohibitedCount || 0}}
  698. </span>
  699. </div>
  700. </div>
  701. </div>
  702. <div class="pagechen">
  703. <div class="pageboxtitle1">活跃设备</div>
  704. <div class="pageboxtitle2">
  705. <div class="span1">{{sysSec.activeEquipmentQuantity || 0}}</div>
  706. <div class="span2">
  707. <span class="span2-1"> 环比:{{sysCompare.activeEquipmentQuantity || 0}}</span>
  708. <!-- <span class="span2-2">{{cardlist.liftlist.fraction || 0}}%</span> -->
  709. <span class="span2-2" v-if="orderBy.activeEquipmentQuantity>0">
  710. <i class="el-icon-top" style="color: red;"></i>
  711. {{orderBy.activeEquipmentQuantity || 0}}
  712. </span>
  713. <span class="span2-3" v-if="orderBy.activeEquipmentQuantity<0">
  714. <i class="el-icon-bottom" style="color: #25CEBA;"></i>
  715. {{orderBy.activeEquipmentQuantity || 0}}
  716. </span>
  717. </div>
  718. </div>
  719. </div>
  720. <div class="pagechen">
  721. <div class="pageboxtitle1">活跃设备占比</div>
  722. <div class="pageboxtitle2">
  723. <div class="span1">{{sysSec.activeEquipmentQuantityZB || 0}}</div>
  724. <div class="span2">
  725. <span class="span2-1"> 环比:{{sysCompare.activeEquipmentQuantityZB || 0}}</span>
  726. <!-- <span class="span2-2">{{cardlist.liftlist.prohibitedCustomer || 0}}%</span> -->
  727. <span class="span2-2" v-if="orderBy.activeEquipmentQuantityZB>0">
  728. <i class="el-icon-top" style="color: red;"></i>
  729. {{orderBy.activeEquipmentQuantityZB || 0}}%
  730. </span>
  731. <span class="span2-3" v-if="orderBy.activeEquipmentQuantityZB<0">
  732. <i class="el-icon-bottom" style="color: #25CEBA;"></i>
  733. {{orderBy.activeEquipmentQuantityZB || 0}}%
  734. </span>
  735. </div>
  736. </div>
  737. </div>
  738. <div class="pagechen">
  739. <div class="pageboxtitle1">活跃楼盘数</div>
  740. <div class="pageboxtitle2">
  741. <div class="span1">{{sysSec.activeHouseQuantity || 0}}</div>
  742. <div class="span2">
  743. <span class="span2-1"> 环比:{{sysCompare.activeHouseQuantity || 0}}</span>
  744. <!-- <span class="span2-2">{{cardlist.liftlist.activeCustomer || 0}}%</span> -->
  745. <span class="span2-2" v-if="orderBy.activeHouseQuantity>0">
  746. <i class="el-icon-top" style="color: red;"></i>
  747. {{orderBy.activeHouseQuantity || 0}}
  748. </span>
  749. <span class="span2-3" v-if="orderBy.activeHouseQuantity<0">
  750. <i class="el-icon-bottom" style="color: #25CEBA;"></i>
  751. {{orderBy.activeHouseQuantity || 0}}
  752. </span>
  753. </div>
  754. </div>
  755. </div>
  756. </div>
  757. </div>
  758. <div class="app-box-san">
  759. <div class="zuo">
  760. <div class="title1" style="cursor: pointer;">
  761. <div>{{role==2?'楼盘排名(TOP10)':'公司排名(TOP10)'}}</div>
  762. <div style="display:flex;">
  763. <div class="text1" style="margin-right:10px;" @click="classatec1=0" :class="{ colostyle: classatec1 == 0 }">接待量</div>
  764. <div class="text1" @click="classatec1=1" :class="{ colostyle: classatec1 == 1 }">平均执行率</div>
  765. </div>
  766. </div>
  767. <div class="tabbox">
  768. <el-table
  769. :header-cell-style="{background:'#F2F4F5'}"
  770. :data="companyRank"
  771. height="320"
  772. style="width: 100%;font-size: 14px;">>
  773. <el-table-column
  774. prop="companyName"
  775. :label="role==2?'楼盘名称':'公司名称'"
  776. align="center">
  777. <template slot-scope="{row}">
  778. {{role!=2?row.companyName:row.houseName}}
  779. </template>
  780. </el-table-column>
  781. <el-table-column
  782. v-if="classatec1==0"
  783. prop="receptionCount"
  784. label="接待量"
  785. align="center">
  786. </el-table-column>
  787. <el-table-column
  788. v-if="classatec1==0"
  789. prop="receptionTime"
  790. label="接待时长(小时)"
  791. align="center">
  792. </el-table-column>
  793. <el-table-column
  794. v-if="classatec1==1"
  795. prop="avgFration"
  796. label="平均执行率"
  797. align="center">
  798. <template slot-scope="{row}">
  799. {{row.avgFration||0}}%
  800. </template>
  801. </el-table-column>
  802. </el-table>
  803. </div>
  804. </div>
  805. <div class="you">
  806. <div class="title1" style="cursor: pointer;">
  807. <div>{{role==2?'顾问排名(TOP10)':'楼盘排名(TOP10)'}}</div>
  808. <div style="display:flex;">
  809. <div class="text1" style="margin-right:10px;" @click="classatec2=0" :class="{ colostyle: classatec2 == 0 }">接待量</div>
  810. <div class="text1" @click="classatec2=1" :class="{ colostyle: classatec2 == 1 }">平均执行率</div>
  811. </div>
  812. </div>
  813. <div class="tabbox">
  814. <el-table
  815. :header-cell-style="{background:'#F2F4F5'}"
  816. :data="houseRank"
  817. height="320"
  818. style="width: 100%;font-size: 14px;">>
  819. <el-table-column
  820. prop="houseName"
  821. :label="role==2?'顾问名称':'楼盘名称'"
  822. align="center">
  823. <template slot-scope="{row}">
  824. {{role!=2?row.houseName:row.accountName}}
  825. </template>
  826. </el-table-column>
  827. <el-table-column
  828. prop="receptionCount"
  829. v-if="classatec2==0"
  830. label="接待量"
  831. align="center">
  832. </el-table-column>
  833. <el-table-column
  834. v-if="classatec2==0"
  835. prop="receptionTime"
  836. label="接待时长(小时)"
  837. align="center">
  838. </el-table-column>
  839. <el-table-column
  840. v-if="classatec2==1"
  841. prop="avgFration"
  842. label="平均执行率"
  843. align="center">
  844. <template slot-scope="{row}">
  845. {{row.avgFration||0}}%
  846. </template>
  847. </el-table-column>
  848. </el-table>
  849. </div>
  850. </div>
  851. </div>
  852. </div>
  853. <div v-if="info.userRoleType==6" style="text-align: center;font-size: 30px; margin: 300px auto;">
  854. 欢迎光临
  855. </div>
  856. </div>
  857. </template>
  858. <script>
  859. import { getStore, setStore } from "@/util/store";
  860. export default {
  861. name: 'Wel',
  862. data() {
  863. return {
  864. role:'',
  865. houseId:"",
  866. houseList:[],
  867. houseRank:[],
  868. companyRank:[],
  869. classatec:1,
  870. classatec1:0,
  871. classatec2:0,
  872. customtime:[],
  873. statDateStart:'',
  874. statDateEnd:'',
  875. TimetoAhoose:1,
  876. equNum:0,
  877. equNum1:0,
  878. cardlist:{
  879. datalist:{},
  880. liftlist:{},
  881. sequential:{},
  882. },
  883. sysData:{},
  884. orderBy:{},
  885. sysCompare:{},
  886. sysTop:{},
  887. sysSec:{},
  888. tableData: [],
  889. equipmentList:[],
  890. prohibitedlist:[],
  891. indexZxllist:[],
  892. employeeExecutionRatelist:{
  893. num:'',
  894. list:[],
  895. fraction:''
  896. },
  897. info:{},
  898. }
  899. },
  900. mounted() {
  901. // location.reload();
  902. this.role=localStorage.getItem("orgType");
  903. this.info = getStore({ name: "userInfo" });
  904. if(this.role==3){
  905. this.houseId = localStorage.getItem("houseId");
  906. this.getgicd();
  907. // 获取维度占比
  908. this.getindexZxllist()
  909. // 员工执行率
  910. this.getemployeeExecutionRatelist()
  911. // 违禁提醒列表
  912. this.findProhibitedRecord()
  913. // 获取设备
  914. this.findAllZkEquipment()
  915. }
  916. // else if(this.role==0){
  917. // // 系统
  918. // // this.zkhousePage()
  919. // this.waitingForOperation()
  920. // }
  921. // else if(this.role==1){
  922. // // 代理商
  923. // // this.zkhousePage()
  924. // }
  925. else{
  926. // 公司
  927. this.waitingForOperation()
  928. }
  929. },
  930. methods: {
  931. goinfo(row){
  932. this.$api.http.findByCusIdcusId({cusId:row.id}).then((res) => {
  933. if(res.data.length==0){
  934. this.$message({
  935. message: '无录音',
  936. type: 'warning'
  937. });
  938. }else{
  939. this.$router.push({
  940. path: "/Receive/index",
  941. query: { flag: row.id ,AudioIdx:0},
  942. });
  943. }
  944. })
  945. },
  946. jumpto(ind){
  947. let num = 24 * 3600 * 1000 * 29;
  948. let dang=this.getCurrentTime()
  949. let timevt=this.timestampToTime(new Date(dang).getTime() + num);
  950. let newtime=[dang,timevt]
  951. // console.log(newtime)
  952. // return
  953. if(ind==1){
  954. this.$router.push({
  955. path: "/Customer/AgentManagement",
  956. query: { residueTime: newtime,serviceStatus:0 },
  957. });
  958. }else if(ind==2){
  959. this.$router.push({
  960. path: "/building/index",
  961. query: { residueTime: newtime,serviceStatus:0 },
  962. });
  963. }else if(ind==3){
  964. this.$router.push({
  965. path: "/Equipment/state",
  966. query: { flag: 1 },
  967. });
  968. }else{
  969. this.$router.push({
  970. path: "/Equipment/state",
  971. query: { flag: 2,electricity:20},
  972. });
  973. }
  974. },
  975. timestampToTime(timestamp) {
  976. var date = new Date(timestamp); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
  977. var yyyy = date.getFullYear() + "-";
  978. var MM =(date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1): date.getMonth() + 1) + "-";
  979. var dd =(date.getDate() < 10 ? "0" + date.getDate() : date.getDate());
  980. return yyyy + MM + dd;
  981. },
  982. getCurrentTime() {
  983. //获取当前时间并打印
  984.   let yy = new Date().getFullYear();
  985.   let mm = new Date().getMonth()+1;
  986. if(mm<10){
  987. mm='0'+mm
  988. }
  989.   let dd = new Date().getDate();
  990. // console.log(dd,'时间')
  991. if(dd<10){
  992. dd='0'+dd
  993. }
  994.   let gettime = yy+'-'+mm+'-'+dd
  995.   return gettime
  996. },
  997. //切换楼盘
  998. houseChange() {
  999. this.TimetoAhoose=0;
  1000. this.statDateStart='';
  1001. this.statDateEnd='';
  1002. this.getgicd()
  1003. this.findProhibitedRecord()
  1004. },
  1005. // 系统获取第一个数据
  1006. waitingForOperation(){
  1007. let obj={
  1008. dateType: this.TimetoAhoose==5?null:this.TimetoAhoose,
  1009. // dateType: 1,
  1010. orderBy:1,
  1011. startDate: this.statDateStart,
  1012. endDate:this.statDateEnd,
  1013. orgType: localStorage.getItem("orgType"),
  1014. }
  1015. if(this.role==1){
  1016. obj.agentId=localStorage.getItem('agentId')/1
  1017. }
  1018. if(this.role==2){
  1019. obj.orgCode=localStorage.getItem('orgCode')
  1020. }
  1021. this.$api.api.waitingForOperation(obj)
  1022. .then(res=>{
  1023. // console.log(res);
  1024. // this.sysData=res.data
  1025. this.sysTop=res.data.top
  1026. this.sysSec=res.data.midA
  1027. this.sysCompare=res.data.midB
  1028. this.orderBy=res.data.midC
  1029. if(this.role==2){
  1030. this.houseRank=res.data.accountRank
  1031. this.companyRank=res.data.houseRank
  1032. }else{
  1033. this.houseRank=res.data.houseRank
  1034. this.companyRank=res.data.companyRank
  1035. }
  1036. })
  1037. },
  1038. //获取楼盘
  1039. zkhousePage() {
  1040. this.$api.api
  1041. .findHouseByUser({
  1042. orgType: localStorage.getItem("orgType"),
  1043. })
  1044. .then((res) => {
  1045. this.houseList = res.data;
  1046. this.houseId = res.data[0].id;
  1047. this.getgicd();
  1048. this.getindexZxllist()
  1049. this.getemployeeExecutionRatelist()
  1050. this.findProhibitedRecord()
  1051. this.findAllZkEquipment()
  1052. });
  1053. },
  1054. //获取卡片数据
  1055. getgicd(){
  1056. let obj = {
  1057. houseId:this.houseId,
  1058. dateType: this.TimetoAhoose==5?null:this.TimetoAhoose,
  1059. statDateStart: this.statDateStart,
  1060. statDateEnd:this.statDateEnd
  1061. };
  1062. this.$api.http.houseIndex(obj).then((res) => {
  1063. this.cardlist.datalist={
  1064. receptionCount:res.data.todayStat.receptionCount,
  1065. activeCustomer:res.data.todayStat.activeCustomer,
  1066. receivingCustomer:res.data.todayStat.receivingCustomer,
  1067. avgDuration:res.data.todayStat.avgDuration,
  1068. fraction:res.data.todayStat.fraction,
  1069. prohibitedCustomer:res.data.todayStat.prohibitedCustomer,
  1070. prohibitedZb:res.data.todayStat.prohibitedZb,
  1071. accountNum:res.data.todayStat.accountNum,
  1072. }
  1073. this.cardlist.liftlist={
  1074. receptionCount:res.data.comparedStat.receptionCount,
  1075. activeCustomer:res.data.comparedStat.activeCustomer,
  1076. receivingCustomer:res.data.comparedStat.receivingCustomer,
  1077. avgDuration:res.data.comparedStat.avgDuration,
  1078. fraction:res.data.comparedStat.fraction,
  1079. prohibitedCustomer:res.data.comparedStat.prohibitedCustomer,
  1080. prohibitedZb:res.data.comparedStat.prohibitedZb,
  1081. accountNum:res.data.comparedStat.accountNum,
  1082. }
  1083. this.cardlist.sequential={
  1084. receptionCount:res.data.yesterdayStat.receptionCount,
  1085. activeCustomer:res.data.yesterdayStat.activeCustomer,
  1086. receivingCustomer:res.data.yesterdayStat.receivingCustomer,
  1087. avgDuration:res.data.yesterdayStat.avgDuration,
  1088. fraction:res.data.yesterdayStat.fraction,
  1089. prohibitedCustomer:res.data.yesterdayStat.prohibitedCustomer,
  1090. prohibitedZb:res.data.yesterdayStat.prohibitedZb,
  1091. accountNum:res.data.yesterdayStat.accountNum,
  1092. }
  1093. });
  1094. },
  1095. //获取设备
  1096. findAllZkEquipment(){
  1097. this.equipmentList=[];
  1098. this.$api.http.findAllZkEquipment({
  1099. onLine:this.classatec,
  1100. houseId:this.houseId
  1101. }).then((res) => {
  1102. // 在这里赋值 低电
  1103. this.equNum=res.data.offline
  1104. this.equNum1=res.data.lowpower
  1105. this.equipmentList=res.data.list;
  1106. })
  1107. },
  1108. //获取违禁提醒列表
  1109. findProhibitedRecord(){
  1110. this.prohibitedlist=[];
  1111. this.$api.http.findProhibitedRecord({
  1112. houseId:this.houseId,
  1113. dateType:this.TimetoAhoose==5?null:this.TimetoAhoose,
  1114. statDateStart: this.statDateStart,
  1115. statDateEnd:this.statDateEnd
  1116. }).then((res) => {
  1117. this.prohibitedlist=res.data;
  1118. })
  1119. },
  1120. getindexZxllist(){
  1121. this.indexZxllist=[]
  1122. this.$api.http.getindexZxllist({
  1123. houseId:this.houseId,
  1124. dateType:this.TimetoAhoose==5?null:this.TimetoAhoose,
  1125. statDateStart: this.statDateStart,
  1126. statDateEnd:this.statDateEnd
  1127. }).then((res) => {
  1128. this.indexZxllist=res.data.list||[]
  1129. })
  1130. },
  1131. getemployeeExecutionRatelist(){
  1132. this.employeeExecutionRatelist={
  1133. num:'',
  1134. list:[],
  1135. fraction:''
  1136. }
  1137. this.$api.http.getemployeeExecutionRatelist({
  1138. houseId:this.houseId,
  1139. dateType: this.TimetoAhoose==5?null:this.TimetoAhoose,
  1140. statDateStart: this.statDateStart,
  1141. statDateEnd:this.statDateEnd
  1142. }).then((res) => {
  1143. this.employeeExecutionRatelist=res.data
  1144. })
  1145. },
  1146. tabclick(i){
  1147. this.classatec=i;
  1148. this.findAllZkEquipment()
  1149. },
  1150. tabclick2(e){
  1151. console.log(e);
  1152. },
  1153. tabclick1(e){
  1154. console.log(e);
  1155. },
  1156. tabtimetap(i){
  1157. this.statDateStart='';
  1158. this.statDateEnd='';
  1159. this.customtime=[];
  1160. this.TimetoAhoose=i;
  1161. if(this.role==3){
  1162. this.getgicd()
  1163. this.getindexZxllist()
  1164. this.getemployeeExecutionRatelist()
  1165. this.findProhibitedRecord()
  1166. }else{
  1167. this.waitingForOperation()
  1168. }
  1169. },
  1170. //切换时间
  1171. confirmtime() {
  1172. this.statDateStart=this.customtime[0];
  1173. this.statDateEnd=this.customtime[1];
  1174. this.TimetoAhoose=5;
  1175. if(this.role==3){
  1176. this.getgicd()
  1177. this.getindexZxllist()
  1178. this.getemployeeExecutionRatelist()
  1179. this.findProhibitedRecord()
  1180. }else{
  1181. this.waitingForOperation()
  1182. }
  1183. },
  1184. }
  1185. }
  1186. </script>
  1187. <style scoped="scoped" lang="scss">
  1188. .box-center{
  1189. width: 100%;
  1190. padding: 15px;
  1191. min-width:1000px;
  1192. padding-bottom: 100px;
  1193. }
  1194. .page-container{
  1195. width: 100%;
  1196. display: flex;
  1197. margin-top: 16px;
  1198. .pagechen1{
  1199. flex: 1;
  1200. // min-width: 190px;
  1201. border-radius: 4px;
  1202. margin-right: 20px;
  1203. padding: 20px;
  1204. }
  1205. .pagechen{
  1206. flex: 1;
  1207. // min-width: 190px;
  1208. background: #FFFFFF;
  1209. box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.04);
  1210. border-radius: 4px;
  1211. margin-right: 20px;
  1212. padding: 20px;
  1213. .pageboxtitle1{
  1214. width: 100%;
  1215. font-size: 16px;
  1216. font-weight: 400;
  1217. color: #666666;
  1218. line-height: 16px;
  1219. }
  1220. .pageboxtitle2{
  1221. width: 100%;
  1222. margin-top: 14px;
  1223. display: flex;
  1224. flex-wrap: wrap;
  1225. .span1{
  1226. width: 100px;
  1227. height: 30px;
  1228. font-size: 30px;
  1229. font-weight: normal;
  1230. color: #32363D;
  1231. line-height: 30px;
  1232. }
  1233. .span2{
  1234. height: 30px;
  1235. font-size: 16px;
  1236. display:flex;
  1237. align-items:flex-end;
  1238. .span2-1{
  1239. color: #424D64;
  1240. margin-right: 15px;
  1241. font-weight: 400;
  1242. }
  1243. .span2-2{
  1244. font-weight: 600;
  1245. color: #E6273A;
  1246. }
  1247. .span2-3{
  1248. font-weight: 600;
  1249. color:#25CEBA;
  1250. }
  1251. }
  1252. }
  1253. .pageboxtitle3{
  1254. text-align: center;
  1255. font-size: 30px;
  1256. line-height: 44px;
  1257. }
  1258. }
  1259. }
  1260. .colostyle{
  1261. color: #1E90FF;
  1262. // font-size: 18px;
  1263. font-weight: 600;
  1264. }
  1265. .table-box{
  1266. width:98.8%;
  1267. height: 400px;
  1268. background: #FFFFFF;
  1269. border-radius: 4px;
  1270. margin-top: 24px;
  1271. .title{
  1272. width: 100%;
  1273. height: 50px;
  1274. line-height: 50px;
  1275. font-size: 16px;
  1276. text-indent: 30px;
  1277. font-weight: 500;
  1278. color: #32363D;
  1279. // border-bottom: 1px solid #E6E6E6;
  1280. }
  1281. .tabbox{
  1282. padding-left: 30px;
  1283. padding-right: 30px;
  1284. margin-top: 20px;
  1285. }
  1286. }
  1287. .el-row {
  1288. margin-bottom: 20px;
  1289. &:last-child {
  1290. margin-bottom: 0;
  1291. }
  1292. }
  1293. .app-box-san{
  1294. width: 100%;
  1295. height: 350px;
  1296. display: flex;
  1297. margin-top: 15px;
  1298. .zuo{
  1299. // flex: 1;
  1300. height: 100%;
  1301. margin-right: 15px;
  1302. background: #FFFFFF;
  1303. border-radius: 4px;
  1304. width: 48.7%;
  1305. .title{
  1306. width: 100%;
  1307. height: 55px;
  1308. // border-bottom: 1px solid #E0E0E0;
  1309. display: flex;
  1310. align-content: center;
  1311. .text1{
  1312. flex: 2;
  1313. line-height: 55px;
  1314. text-indent: 20px;
  1315. font-weight: 500;
  1316. font-size: 16px;
  1317. }
  1318. }
  1319. }
  1320. .you{
  1321. height: 100%;
  1322. width: 49%;
  1323. background: #FFFFFF;
  1324. border-radius: 4px;
  1325. .title{
  1326. width: 100%;
  1327. height: 55px;
  1328. // border-bottom: 1px solid #E0E0E0;
  1329. display: flex;
  1330. align-content: center;
  1331. .text1{
  1332. line-height: 55px;
  1333. text-indent: 20px;
  1334. font-weight: 500;
  1335. font-size: 16px;
  1336. }
  1337. }
  1338. }
  1339. }
  1340. .tophove {
  1341. color: #ffffff;
  1342. background: #2671e2;
  1343. }
  1344. .app-titel {
  1345. width: 100%;
  1346. display: flex;
  1347. align-items: center;
  1348. .titel-text {
  1349. height: 100%;
  1350. font-size: 16px;
  1351. color: #32363d;
  1352. }
  1353. .toptimeqhuan {
  1354. width: 190px;
  1355. height: 32px;
  1356. background: #ffffff;
  1357. border-radius: 4px;
  1358. border: 1px solid #e0e0e0;
  1359. display: flex;
  1360. align-items: center;
  1361. overflow: hidden;
  1362. margin-left: 20px;
  1363. cursor: pointer;
  1364. }
  1365. .toptimeqhuan div {
  1366. flex: 1;
  1367. text-align: center;
  1368. line-height: 32px;
  1369. font-size: 14px;
  1370. }
  1371. }
  1372. // 进度条
  1373. .jinbox {
  1374. width: 100%;
  1375. height: 18px;
  1376. line-height: 18px;
  1377. display: flex;
  1378. font-size: 16px;
  1379. color: #2C3542;
  1380. margin-top: 20px;
  1381. .jinboxtit {
  1382. width: 14%;
  1383. height: 18px;
  1384. padding-right: 6px;
  1385. white-space: nowrap;
  1386. text-overflow:ellipsis;
  1387. overflow: hidden;
  1388. }
  1389. .jinbox-box {
  1390. width: 75%;
  1391. height: 100%;
  1392. border-radius: 8px;
  1393. background: #F2F2F2;
  1394. }
  1395. .boxbaifenbi {
  1396. height: 100%;
  1397. background:#60D7A0;
  1398. border-radius: 8px;
  1399. }
  1400. .boxbaifenbi2 {
  1401. height: 100%;
  1402. background: #5B8FF9;
  1403. }
  1404. .jinboxbott {
  1405. width: 16%;
  1406. text-indent: 50px;
  1407. }
  1408. }
  1409. .hejisan{
  1410. width: 92%;
  1411. margin: 0 auto;
  1412. display: flex;
  1413. .text1-1{
  1414. color: #666666;
  1415. }
  1416. .text1-2{
  1417. color: #333333;
  1418. margin-top: 10px;
  1419. }
  1420. }
  1421. .title1{
  1422. width: 100%;
  1423. height: 55px;
  1424. display: flex;
  1425. align-content: center;
  1426. justify-content: space-between;
  1427. padding: 0 20px;
  1428. line-height: 55px;
  1429. }
  1430. /deep/ .el-badge__content{
  1431. top:10px;
  1432. }
  1433. </style>