main.php 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695
  1. {extend name="public/container"}
  2. {block name="head_top"}
  3. <!-- 全局js -->
  4. <script src="{__PLUG_PATH}echarts/echarts.common.min.js"></script>
  5. <script src="{__PLUG_PATH}echarts/theme/macarons.js"></script>
  6. <script src="{__PLUG_PATH}echarts/theme/westeros.js"></script>
  7. <style scoped>
  8. .box{width:0px;}
  9. .mask{ background-color: rgba(0,0,0,0.5);
  10. position: fixed;
  11. top: 0;
  12. left: 0;
  13. bottom: 0;
  14. right: 0;
  15. z-index: 55;
  16. }
  17. .mask img{
  18. width: 70%;
  19. position: fixed;
  20. top: 50%;
  21. left: 50%;
  22. -webkit-transform: translate(-50%, -50%);
  23. transform: translate(-50%, -50%);
  24. }
  25. .mask span{
  26. position: fixed;
  27. top: 70%;
  28. left: 35%;
  29. color: #fff;
  30. font-size: 36px;
  31. }
  32. .layui-form-label {
  33. width: 100px;
  34. padding: 5px 15px;
  35. }
  36. .layui-input-block {
  37. margin-left: 100px;
  38. }
  39. .layui-btn-group .layui-btn-normal {
  40. border: 1px solid #0092DC;
  41. border-left: none;
  42. }
  43. .layui-btn-group .layui-btn-normal:first-child {
  44. border-left: 1px solid #0092DC;
  45. }
  46. .check-auth-layer .layui-layer-content {
  47. padding: 15px;
  48. color: #FF5722;
  49. }
  50. </style>
  51. {/block}
  52. {block name="content"}
  53. <div v-cloak id="app" class="layui-fluid">
  54. <div class="layui-row layui-col-space15">
  55. <div class="layui-col-md3">
  56. <div class="layui-card">
  57. <div class="layui-card-header">新增学员<span class="layui-badge layui-bg-blue layuiadmin-badge">今</span></div>
  58. <div class="layui-card-body layuiadmin-card-list">
  59. <p class="layuiadmin-big-font">{$first_line.day.data}</p>
  60. <p>
  61. 今日新增学员
  62. <span class="layuiadmin-span-color">
  63. {$first_line.day.percent}%
  64. {if condition='$first_line.day.is_plus egt 0'}<i class="fa {if condition='$first_line.day.is_plus eq 1'}fa-level-up{else /}fa-level-down{/if}"></i>{/if}
  65. </span>
  66. </p>
  67. </div>
  68. </div>
  69. </div>
  70. <div class="layui-col-md3">
  71. <div class="layui-card">
  72. <div class="layui-card-header">学习次数<span class="layui-badge layui-bg-blue layuiadmin-badge">今</span></div>
  73. <div class="layui-card-body layuiadmin-card-list">
  74. <p class="layuiadmin-big-font">{$first_line.records.data}</p>
  75. <p>
  76. 今日学习次数
  77. <span class="layuiadmin-span-color">
  78. {$first_line.records.percent}%
  79. {if condition='$first_line.records.is_plus egt 0'}<i class="fa {if condition='$first_line.records.is_plus eq 1'}fa-level-up{else /}fa-level-down{/if}"></i>{/if}
  80. </span>
  81. </p>
  82. </div>
  83. </div>
  84. </div>
  85. <!-- <div class="layui-col-md3">
  86. <div class="layui-card">
  87. <div class="layui-card-header">新增会员<span class="layui-badge layui-bg-blue layuiadmin-badge">今</span></div>
  88. <div class="layui-card-body layuiadmin-card-list">
  89. <p class="layuiadmin-big-font">{$first_line.d_vip_num.data}</p>
  90. <p>
  91. 今日新增会员
  92. <span class="layuiadmin-span-color">
  93. {$first_line.d_vip_num.percent}%
  94. {if condition='$first_line.d_vip_num.is_plus egt 0'}<i class="fa {if condition='$first_line.d_vip_num.is_plus eq 1'}fa-level-up{else /}fa-level-down{/if}"></i>{/if}
  95. </span>
  96. </p>
  97. </div>
  98. </div>
  99. </div> -->
  100. <!-- <div class="layui-col-md3">
  101. <div class="layui-card">
  102. <div class="layui-card-header">会员充值<span class="layui-badge layui-bg-blue layuiadmin-badge">今</span></div>
  103. <div class="layui-card-body layuiadmin-card-list">
  104. <p class="layuiadmin-big-font">{$first_line.d_vip_price.data}</p>
  105. <p>
  106. 今日会员充值金额
  107. <span class="layuiadmin-span-color">
  108. {$first_line.d_vip_price.percent}%
  109. {if condition='$first_line.d_vip_price.is_plus egt 0'}<i class="fa {if condition='$first_line.d_vip_price.is_plus eq 1'}fa-level-up{else /}fa-level-down{/if}"></i>{/if}
  110. </span>
  111. </p>
  112. </div>
  113. </div>
  114. </div> -->
  115. <div class="layui-col-md3">
  116. <div class="layui-card">
  117. <div class="layui-card-header">课程订单<span class="layui-badge layui-bg-blue layuiadmin-badge">今</span></div>
  118. <div class="layui-card-body layuiadmin-card-list">
  119. <p class="layuiadmin-big-font">{$first_line.d_num.data}</p>
  120. <p>
  121. 今日课程订单
  122. <span class="layuiadmin-span-color">
  123. {$first_line.d_num.percent}%
  124. {if condition='$first_line.d_num.is_plus egt 0'}<i class="fa {if condition='$first_line.d_num.is_plus eq 1'}fa-level-up{else /}fa-level-down{/if}"></i>{/if}
  125. </span>
  126. </p>
  127. </div>
  128. </div>
  129. </div>
  130. <div class="layui-col-md3">
  131. <div class="layui-card">
  132. <div class="layui-card-header">课程收入<span class="layui-badge layui-bg-blue layuiadmin-badge">今</span></div>
  133. <div class="layui-card-body layuiadmin-card-list">
  134. <p class="layuiadmin-big-font">{$first_line.d_price.data}</p>
  135. <p>
  136. 今日课程交易额
  137. <span class="layuiadmin-span-color">
  138. {$first_line.d_price.percent}%
  139. {if condition='$first_line.d_price.is_plus egt 0'}<i class="fa {if condition='$first_line.d_price.is_plus eq 1'}fa-level-up{else /}fa-level-down{/if}"></i>{/if}
  140. </span>
  141. </p>
  142. </div>
  143. </div>
  144. </div>
  145. <!-- <div class="layui-col-md3">
  146. <div class="layui-card">
  147. <div class="layui-card-header">商品订单<span class="layui-badge layui-bg-blue layuiadmin-badge">今</span></div>
  148. <div class="layui-card-body layuiadmin-card-list">
  149. <p class="layuiadmin-big-font">{$first_line.d_store_num.data}</p>
  150. <p>
  151. 今日商品订单
  152. <span class="layuiadmin-span-color">
  153. {$first_line.d_store_num.percent}%
  154. {if condition='$first_line.d_store_num.is_plus egt 0'}<i class="fa {if condition='$first_line.d_store_num.is_plus eq 1'}fa-level-up{else /}fa-level-down{/if}"></i>{/if}
  155. </span>
  156. </p>
  157. </div>
  158. </div>
  159. </div>
  160. <div class="layui-col-md3">
  161. <div class="layui-card">
  162. <div class="layui-card-header">商品收入<span class="layui-badge layui-bg-blue layuiadmin-badge">今</span></div>
  163. <div class="layui-card-body layuiadmin-card-list">
  164. <p class="layuiadmin-big-font">{$first_line.d_store_price.data}</p>
  165. <p>
  166. 今日商品交易额
  167. <span class="layuiadmin-span-color">
  168. {$first_line.d_store_price.percent}%
  169. {if condition='$first_line.d_store_price.is_plus egt 0'}<i class="fa {if condition='$first_line.d_store_price.is_plus eq 1'}fa-level-up{else /}fa-level-down{/if}"></i>{/if}
  170. </span>
  171. </p>
  172. </div>
  173. </div>
  174. </div> -->
  175. <!-- <div class="layui-col-md3">
  176. <div class="layui-card">
  177. <div class="layui-card-header">资料订单<span class="layui-badge layui-bg-blue layuiadmin-badge">今</span></div>
  178. <div class="layui-card-body layuiadmin-card-list">
  179. <p class="layuiadmin-big-font">{$first_line.d_store_num.data}</p>
  180. <p>
  181. 今日资料订单
  182. <span class="layuiadmin-span-color">
  183. {$first_line.d_store_num.percent}%
  184. {if condition='$first_line.d_store_num.is_plus egt 0'}<i class="fa {if condition='$first_line.d_store_num.is_plus eq 1'}fa-level-up{else /}fa-level-down{/if}"></i>{/if}
  185. </span>
  186. </p>
  187. </div>
  188. </div>
  189. </div>
  190. <div class="layui-col-md3">
  191. <div class="layui-card">
  192. <div class="layui-card-header">资料收入<span class="layui-badge layui-bg-blue layuiadmin-badge">今</span></div>
  193. <div class="layui-card-body layuiadmin-card-list">
  194. <p class="layuiadmin-big-font">{$first_line.d_store_price.data}</p>
  195. <p>
  196. 今日资料交易额
  197. <span class="layuiadmin-span-color">
  198. {$first_line.d_store_price.percent}%
  199. {if condition='$first_line.d_store_price.is_plus egt 0'}<i class="fa {if condition='$first_line.d_store_price.is_plus eq 1'}fa-level-up{else /}fa-level-down{/if}"></i>{/if}
  200. </span>
  201. </p>
  202. </div>
  203. </div>
  204. </div> -->
  205. <div class="layui-col-md3">
  206. <div class="layui-card">
  207. <div class="layui-card-header">训练营订单<span class="layui-badge layui-bg-blue layuiadmin-badge">今</span></div>
  208. <div class="layui-card-body layuiadmin-card-list">
  209. <p class="layuiadmin-big-font">{$first_line.d_store_num.data}</p>
  210. <p>
  211. 今日训练营订单
  212. <span class="layuiadmin-span-color">
  213. {$first_line.d_store_num.percent}%
  214. {if condition='$first_line.d_store_num.is_plus egt 0'}<i class="fa {if condition='$first_line.d_store_num.is_plus eq 1'}fa-level-up{else /}fa-level-down{/if}"></i>{/if}
  215. </span>
  216. </p>
  217. </div>
  218. </div>
  219. </div>
  220. <div class="layui-col-md3">
  221. <div class="layui-card">
  222. <div class="layui-card-header">训练营收入<span class="layui-badge layui-bg-blue layuiadmin-badge">今</span></div>
  223. <div class="layui-card-body layuiadmin-card-list">
  224. <p class="layuiadmin-big-font">{$first_line.d_store_price.data}</p>
  225. <p>
  226. 今日训练营交易额
  227. <span class="layuiadmin-span-color">
  228. {$first_line.d_store_price.percent}%
  229. {if condition='$first_line.d_store_price.is_plus egt 0'}<i class="fa {if condition='$first_line.d_store_price.is_plus eq 1'}fa-level-up{else /}fa-level-down{/if}"></i>{/if}
  230. </span>
  231. </p>
  232. </div>
  233. </div>
  234. </div>
  235. <!-- <div class="layui-col-md3">
  236. <div class="layui-card">
  237. <div class="layui-card-header">考试订单<span class="layui-badge layui-bg-blue layuiadmin-badge">今</span></div>
  238. <div class="layui-card-body layuiadmin-card-list">
  239. <p class="layuiadmin-big-font">{$first_line.d_test_num.data}</p>
  240. <p>
  241. 今日考试订单
  242. <span class="layuiadmin-span-color">
  243. {$first_line.d_test_num.percent}%
  244. {if condition='$first_line.d_test_num.is_plus egt 0'}<i class="fa {if condition='$first_line.d_test_num.is_plus eq 1'}fa-level-up{else /}fa-level-down{/if}"></i>{/if}
  245. </span>
  246. </p>
  247. </div>
  248. </div>
  249. </div>
  250. <div class="layui-col-md3">
  251. <div class="layui-card">
  252. <div class="layui-card-header">考试收入<span class="layui-badge layui-bg-blue layuiadmin-badge">今</span></div>
  253. <div class="layui-card-body layuiadmin-card-list">
  254. <p class="layuiadmin-big-font">{$first_line.d_test_price.data}</p>
  255. <p>
  256. 今日考试交易额
  257. <span class="layuiadmin-span-color">
  258. {$first_line.d_test_price.percent}%
  259. {if condition='$first_line.d_test_price.is_plus egt 0'}<i class="fa {if condition='$first_line.d_test_price.is_plus eq 1'}fa-level-up{else /}fa-level-down{/if}"></i>{/if}
  260. </span>
  261. </p>
  262. </div>
  263. </div>
  264. </div>
  265. <div class="layui-col-md3">
  266. <div class="layui-card">
  267. <div class="layui-card-header">充值订单<span class="layui-badge layui-bg-blue layuiadmin-badge">今</span></div>
  268. <div class="layui-card-body layuiadmin-card-list">
  269. <p class="layuiadmin-big-font">{$first_line.d_recharge_num.data}</p>
  270. <p>
  271. 今日充值订单
  272. <span class="layuiadmin-span-color">
  273. {$first_line.d_recharge_num.percent}%
  274. {if condition='$first_line.d_recharge_num.is_plus egt 0'}<i class="fa {if condition='$first_line.d_recharge_num.is_plus eq 1'}fa-level-up{else /}fa-level-down{/if}"></i>{/if}
  275. </span>
  276. </p>
  277. </div>
  278. </div>
  279. </div>
  280. <div class="layui-col-md3">
  281. <div class="layui-card">
  282. <div class="layui-card-header">充值收入<span class="layui-badge layui-bg-blue layuiadmin-badge">今</span></div>
  283. <div class="layui-card-body layuiadmin-card-list">
  284. <p class="layuiadmin-big-font">{$first_line.d_recharge_price.data}</p>
  285. <p>
  286. 今日充值交易额
  287. <span class="layuiadmin-span-color">
  288. {$first_line.d_recharge_price.percent}%
  289. {if condition='$first_line.d_recharge_price.is_plus egt 0'}<i class="fa {if condition='$first_line.d_recharge_price.is_plus eq 1'}fa-level-up{else /}fa-level-down{/if}"></i>{/if}
  290. </span>
  291. </p>
  292. </div>
  293. </div>
  294. </div> -->
  295. <div class="layui-col-md12">
  296. <div class="layui-card">
  297. <div class="layui-card-body">
  298. <div class="layui-row">
  299. <div class="layui-col-md9">
  300. <div class="layui-card">
  301. <div class="layui-card-header">
  302. <div class="layui-btn-group">
  303. <button type="button" :class="[type === '0' ? 'layui-btn-normal' : 'layui-btn-primary', 'layui-btn layui-btn-sm']" @click="getlisttype('0')">课程</button>
  304. <!-- <button type="button" :class="[type === '1' ? 'layui-btn-normal' : 'layui-btn-primary', 'layui-btn layui-btn-sm']" @click="getlisttype('1')">会员</button>
  305. <button type="button" :class="[type === '2' ? 'layui-btn-normal' : 'layui-btn-primary', 'layui-btn layui-btn-sm']" @click="getlisttype('2')">商城</button>
  306. <button type="button" :class="[type === '3' ? 'layui-btn-normal' : 'layui-btn-primary', 'layui-btn layui-btn-sm']" @click="getlisttype('3')">资料</button>
  307. <button type="button" :class="[type === '4' ? 'layui-btn-normal' : 'layui-btn-primary', 'layui-btn layui-btn-sm']" @click="getlisttype('4')">考试</button>
  308. <button type="button" :class="[type === '5' ? 'layui-btn-normal' : 'layui-btn-primary', 'layui-btn layui-btn-sm']" @click="getlisttype('5')">报名</button>
  309. <button type="button" :class="[type === '6' ? 'layui-btn-normal' : 'layui-btn-primary', 'layui-btn layui-btn-sm']" @click="getlisttype('6')">充值</button> -->
  310. </div>
  311. </div>
  312. <div class="layui-card-body">
  313. <div class="flot-chart-content echarts" ref="order_echart"></div>
  314. </div>
  315. </div>
  316. </div>
  317. <div class="layui-col-md3">
  318. <div class="layui-card">
  319. <div class="layui-card-header">
  320. {{typename}}订单-{{cyclename}}
  321. <div class="layui-btn-group layuiadmin-btn-group">
  322. <button type="button" :class="[active === 'thirtyday' ? 'layui-btn-normal' : 'layui-btn-primary', 'layui-btn layui-btn-xs']" @click="getlist('thirtyday')">30天</button>
  323. <button type="button" :class="[active === 'week' ? 'layui-btn-normal' : 'layui-btn-primary', 'layui-btn layui-btn-xs']" @click="getlist('week')">周</button>
  324. <button type="button" :class="[active === 'month' ? 'layui-btn-normal' : 'layui-btn-primary', 'layui-btn layui-btn-xs']" @click="getlist('month')">月</button>
  325. <button type="button" :class="[active === 'year' ? 'layui-btn-normal' : 'layui-btn-primary', 'layui-btn layui-btn-xs']" @click="getlist('year')">年</button>
  326. </div>
  327. </div>
  328. <div class="layui-card-body">
  329. <ul class="stat-list" style="height: 280px;">
  330. <li>
  331. <h2 class="no-margins ">{{pre_cycleprice}}</h2>
  332. <small>{{precyclename}}销售额</small>
  333. </li>
  334. <li>
  335. <h2 class="no-margins ">{{cycleprice}}</h2>
  336. <small>{{cyclename}}销售额</small>
  337. <div class="stat-percent text-navy" v-if='cycleprice_is_plus ===1'>
  338. {{cycleprice_percent}}%
  339. <i class="fa fa-level-up"></i>
  340. </div>
  341. <div class="stat-percent text-danger" v-else-if='cycleprice_is_plus === -1'>
  342. {{cycleprice_percent}}%
  343. <i class="fa fa-level-down"></i>
  344. </div>
  345. <div class="stat-percent" v-else>
  346. {{cycleprice_percent}}%
  347. </div>
  348. <div class="progress progress-mini">
  349. <div :style="{width:cycleprice_percent+'%'}" class="progress-bar box"></div>
  350. </div>
  351. </li>
  352. <li>
  353. <h2 class="no-margins ">{{pre_cyclecount}}</h2>
  354. <small>{{precyclename}}订单总数</small>
  355. </li>
  356. <li>
  357. <h2 class="no-margins">{{cyclecount}}</h2>
  358. <small>{{cyclename}}订单总数</small>
  359. <div class="stat-percent text-navy" v-if='cyclecount_is_plus ===1'>
  360. {{cyclecount_percent}}%
  361. <i class="fa fa-level-up"></i>
  362. </div>
  363. <div class="stat-percent text-danger" v-else-if='cyclecount_is_plus === -1'>
  364. {{cyclecount_percent}}%
  365. <i class="fa fa-level-down"></i>
  366. </div>
  367. <div class="stat-percent " v-else>
  368. {{cyclecount_percent}}%
  369. </div>
  370. <div class="progress progress-mini">
  371. <div :style="{width:cyclecount_percent+'%'}" class="progress-bar box"></div>
  372. </div>
  373. </li>
  374. </ul>
  375. </div>
  376. </div>
  377. </div>
  378. </div>
  379. </div>
  380. </div>
  381. </div>
  382. <div class="layui-col-md12">
  383. <div class="layui-card">
  384. <div class="layui-card-header">
  385. 用户
  386. </div>
  387. <div class="layui-card-body">
  388. <div class="row">
  389. <div class="col-lg-12">
  390. <div class="flot-chart">
  391. <div class="flot-chart-content" ref="user_echart" id="flot-dashboard-chart2"></div>
  392. </div>
  393. </div>
  394. </div>
  395. </div>
  396. </div>
  397. </div>
  398. <div class="layui-col-md12" >
  399. <div class="mask" v-show="masks" @click="masks = false">
  400. <img src="{__ADMIN_PATH}images/qrcode.jpg"/>
  401. </div>
  402. </div>
  403. </div>
  404. </div>
  405. {/block}
  406. {block name="script"}
  407. <script>
  408. var ip="{$ip}";
  409. require(['vue','axios'],function(Vue,axios){
  410. new Vue({
  411. el:"#app",
  412. data:{
  413. option:{},
  414. myChart:{},
  415. active:'thirtyday',
  416. cyclename:'最近30天',
  417. precyclename:'上个30天',
  418. cyclecount:0,
  419. cycleprice:0,
  420. cyclecount_percent:0,
  421. cycleprice_percent:0,
  422. cyclecount_is_plus:0,
  423. cycleprice_is_plus:0,
  424. pre_cyclecount:0,
  425. pre_cycleprice:0,
  426. ip:ip,
  427. type:'0',//0:课程 1:会员 2:商城 3:资料 4:考试 5:报名 6:充值
  428. typename:'课程',
  429. cycle:'week',
  430. masks:false
  431. },
  432. methods:{
  433. info:function () {
  434. var that=this;
  435. axios.get("{:Url('userchart')}").then(function (res) {
  436. that.myChart.user_echart.setOption(that.userchartsetoption(res.data.data));
  437. });
  438. },
  439. getlisttype:function(type)
  440. {
  441. var that=this;
  442. that.type=type;
  443. switch (type) {
  444. case '0':
  445. that.typename='课程';
  446. break;
  447. case '1':
  448. that.typename='会员';
  449. break;
  450. case '2':
  451. that.typename='商城';
  452. break;
  453. case '3':
  454. that.typename='资料';
  455. break;
  456. case '4':
  457. that.typename='考试';
  458. break;
  459. case '5':
  460. that.typename='报名';
  461. break;
  462. case '6':
  463. that.typename='充值';
  464. break;
  465. }
  466. that.getlist(that.cycle);
  467. },
  468. getlist:function (e) {
  469. var that=this;
  470. var cycle = e!=null ? e :'week';
  471. that.cycle=cycle;
  472. axios.get("{:Url('orderchart')}?cycle="+cycle+'&type='+this.type).then(function(res){
  473. that.myChart.order_echart.clear();
  474. that.myChart.order_echart.setOption(that.orderchartsetoption(res.data.data));
  475. that.active = cycle;
  476. switch (cycle){
  477. case 'thirtyday':
  478. that.cyclename = '近30天';
  479. that.precyclename = '上个30天';
  480. break;
  481. case 'week':
  482. that.cyclename = '本周';
  483. that.precyclename = '上周';
  484. break;
  485. case 'month':
  486. that.cyclename = '本月';
  487. that.precyclename = '上月';
  488. break;
  489. case 'year':
  490. that.cyclename = '今年';
  491. that.precyclename = '去年';
  492. break;
  493. default:
  494. break;
  495. }
  496. var data = res.data.data || {cycle:{count:{},price:{}},pre_cycle:{price:{},count:{}}};
  497. if(!Array.isArray(data)){
  498. that.cyclecount = data.cycle.count.data;
  499. that.cyclecount_percent = data.cycle.count.percent;
  500. that.cyclecount_is_plus = data.cycle.count.is_plus;
  501. that.cycleprice = data.cycle.price.data;
  502. that.cycleprice_percent = data.cycle.price.percent;
  503. that.cycleprice_is_plus = data.cycle.price.is_plus;
  504. that.pre_cyclecount = data.pre_cycle.count.data;
  505. that.pre_cycleprice = data.pre_cycle.price.data;
  506. }else{
  507. that.cyclecount = 0;
  508. that.cyclecount_percent = 0;
  509. that.cyclecount_is_plus = 0;
  510. that.cycleprice = 0;
  511. that.cycleprice_percent = 0;
  512. that.cycleprice_is_plus = 0;
  513. that.pre_cyclecount = 0;
  514. that.pre_cycleprice = 0;
  515. }
  516. });
  517. },
  518. orderchartsetoption:function(data){
  519. if(data === undefined){
  520. data = {} ;
  521. }
  522. this.option = {
  523. tooltip: {
  524. trigger: 'axis',
  525. axisPointer: {
  526. type: 'cross',
  527. crossStyle: {
  528. color: '#999'
  529. }
  530. }
  531. },
  532. toolbox: {
  533. feature: {
  534. dataView: {show: true, readOnly: false},
  535. magicType: {show: true, type: ['line', 'bar']},
  536. restore: {show: false},
  537. saveAsImage: {show: true}
  538. },
  539. right: '5%'
  540. },
  541. legend: {
  542. data: data.legend !== undefined ? data.legend : []
  543. },
  544. grid: {
  545. x: 70,
  546. x2: 50,
  547. y: 60,
  548. y2: 50
  549. },
  550. xAxis: [
  551. {
  552. type: 'category',
  553. data: data.xAxis,
  554. axisPointer: {
  555. type: 'shadow'
  556. },
  557. axisLabel:{
  558. interval: 0,
  559. rotate:40
  560. }
  561. }
  562. ],
  563. yAxis:[{type : 'value',interval: 1000}],
  564. series: data.series
  565. };
  566. return this.option;
  567. },
  568. userchartsetoption:function(data){
  569. this.option = {
  570. tooltip: {
  571. trigger: 'axis',
  572. axisPointer: {
  573. type: 'cross',
  574. crossStyle: {
  575. color: '#999'
  576. }
  577. }
  578. },
  579. toolbox: {
  580. feature: {
  581. dataView: {show: false, readOnly: false},
  582. magicType: {show: true, type: ['line', 'bar']},
  583. restore: {show: false},
  584. saveAsImage: {show: false}
  585. },
  586. right: '5%'
  587. },
  588. legend: {
  589. data:data.legend
  590. },
  591. grid: {
  592. x: 70,
  593. x2: 50,
  594. y: 60,
  595. y2: 50
  596. },
  597. xAxis: [
  598. {
  599. type: 'category',
  600. data: data.xAxis,
  601. axisPointer: {
  602. type: 'shadow'
  603. }
  604. }
  605. ],
  606. yAxis: [
  607. {
  608. type: 'value',
  609. name: '人数',
  610. min: 0,
  611. max: data.yAxis ? data.yAxis.maxnum : 0,
  612. interval: 500,
  613. axisLabel: {
  614. formatter: '{value} 人'
  615. }
  616. }
  617. ],
  618. series : [ {
  619. name : '人数',
  620. type : 'bar',
  621. barWidth : '50%',
  622. itemStyle: {
  623. normal: {
  624. label: {
  625. show: true, //开启显示
  626. position: 'top', //在上方显示
  627. textStyle: { //数值样式
  628. color: '#666',
  629. fontSize: 12
  630. }
  631. }
  632. }
  633. },
  634. data : data.series
  635. } ]
  636. };
  637. return this.option;
  638. },
  639. setChart:function(name,myChartname){
  640. this.myChart[myChartname] = echarts.init(name,'macarons');//初始化echart
  641. },
  642. checkAuth:function(){
  643. layui.$.getJSON("{:url('check_auth')}", function (data) {
  644. var content = '';
  645. if (typeof data === 'string') {
  646. data = layui.$.parseJSON(data);
  647. }
  648. if (data.code === 200) {
  649. if (data.data.status === 1) {
  650. content = data.data.msg;
  651. }
  652. } else {
  653. content = data.msg;
  654. }
  655. if (!content) {
  656. return;
  657. }
  658. layui.layer.open({
  659. type: 1,
  660. offset: 'rt',
  661. content: content,
  662. btn: '关闭',
  663. btnAlign: 'c',
  664. shade: 0,
  665. skin: 'check-auth-layer',
  666. yes: function (index) {
  667. layui.layer.close(index);
  668. }
  669. });
  670. });
  671. }
  672. },
  673. created: function () {
  674. this.checkAuth();
  675. },
  676. mounted:function () {
  677. var self = this;
  678. this.setChart(self.$refs.order_echart,'order_echart');//订单图表
  679. this.setChart(self.$refs.user_echart,'user_echart');//用户图表
  680. this.info();
  681. this.getlist();
  682. if(this.ip=='172.31.152.14'){
  683. this.masks=true;
  684. }
  685. window.onresize = function() {
  686. self.myChart.order_echart.resize();
  687. self.myChart.user_echart.resize();
  688. };
  689. }
  690. });
  691. });
  692. </script>
  693. {/block}