index.php 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834
  1. <div id="app" v-cloak>
  2. <el-card shadow="never" style="border:0;min-width:1600px;" body-style="padding: 20px;">
  3. <div class="head flex">
  4. <div class="head-left">
  5. <!-- 实时概况 -->
  6. <div class="overview_box">
  7. <div class="flex-x-between" style="margin-bottom:40px">
  8. <div class="head-left-text">实时概况</div>
  9. <div>当前时间:{{data.currTime}}</div>
  10. </div>
  11. <div class="flex overview_list">
  12. <div class="flex-y-center overview_list_box">
  13. <!-- <img class="overview_list_img" src="/resources/img/plugins/store/overview1.png" class="" alt=""> -->
  14. <el-image class="overview_list_img" :src="icons.overview1"></el-image>
  15. <div class="overview_item">
  16. <div class="overview_item_title">实收金额(元)</div>
  17. <div class="overview_item_price">{{data.statistics.real_pay_amounts}}</div>
  18. <div class="overview_item_time">昨日:{{data.statistics.yesterday_real_pay_amounts}}</div>
  19. </div>
  20. </div>
  21. <div class="flex-y-center overview_list_box">
  22. <!-- <img class="overview_list_img" src="/resources/img/plugins/store/overview2.png" class="" alt=""> -->
  23. <el-image class="overview_list_img" :src="icons.overview2"></el-image>
  24. <div class="overview_item">
  25. <div class="overview_item_title">待结算</div>
  26. <div class="overview_item_price">{{data.statistics.not_settle_amounts}}</div>
  27. <div class="overview_item_time">昨日:{{data.statistics.yesterday_not_settle_amounts}}</div>
  28. </div>
  29. </div>
  30. <div class="flex-y-center overview_list_box">
  31. <!-- <img class="overview_list_img" src="/resources/img/plugins/store/overview3.png" class="" alt=""> -->
  32. <el-image class="overview_list_img" :src="icons.overview3"></el-image>
  33. <div class="overview_item">
  34. <div class="overview_item_title">待审核提现(元)</div>
  35. <div class="overview_item_price">{{data.statistics.waiting_audit_withdraw_amounts}}</div>
  36. <div class="overview_item_time">昨日:{{data.statistics.yesterday_waiting_audit_withdraw_amounts}}</div>
  37. </div>
  38. </div>
  39. <div class="flex-y-center overview_list_box">
  40. <!-- <img class="overview_list_img" src="/resources/img/plugins/store/overview4.png" class="" alt=""> -->
  41. <el-image class="overview_list_img" :src="icons.overview4"></el-image>
  42. <div class="overview_item">
  43. <div class="overview_item_title">待打款提现(元)</div>
  44. <div class="overview_item_price">{{data.statistics.waiting_pay_withdraw_amounts}}</div>
  45. <div class="overview_item_time">昨日:{{data.statistics.yesterday_waiting_pay_withdraw_amounts}}</div>
  46. </div>
  47. </div>
  48. <div class="flex-y-center overview_list_box">
  49. <!-- <img class="overview_list_img" src="/resources/img/plugins/store/overview5.png" class="" alt=""> -->
  50. <el-image class="overview_list_img" :src="icons.overview5"></el-image>
  51. <div class="overview_item">
  52. <div class="overview_item_title">待审核多商户数</div>
  53. <div class="overview_item_price">{{data.statistics.waiting_audit_store_numbers}}</div>
  54. <div class="overview_item_time">昨日:{{data.statistics.yesterday_waiting_audit_store_numbers}}</div>
  55. </div>
  56. </div>
  57. <div class="flex-y-center overview_list_box">
  58. <!-- <img class="overview_list_img" src="/resources/img/plugins/store/overview6.png" class="" alt=""> -->
  59. <el-image class="overview_list_img" :src="icons.overview6"></el-image>
  60. <div class="overview_item">
  61. <div class="overview_item_title">
  62. <span>已结算佣金</span>
  63. <el-popover placement="top-start" width="250" trigger="hover" content="多商户订单结算给会员的佣金">
  64. <i slot="reference" class="el-icon-question grid-icon"></i>
  65. </el-popover>
  66. </div>
  67. <div class="overview_item_price">{{data.statistics.settle_amounts}}</div>
  68. <div class="overview_item_time">昨日:{{data.statistics.yesterday_settle_amounts}}</div>
  69. </div>
  70. </div>
  71. <div class="flex-y-center overview_list_box">
  72. <!-- <img class="overview_list_img" src="/resources/img/plugins/store/overview7.png" class="" alt=""> -->
  73. <el-image class="overview_list_img" :src="icons.overview7"></el-image>
  74. <div class="overview_item">
  75. <div class="overview_item_title">支付人数</div>
  76. <div class="overview_item_price">{{data.statistics.pay_people_numbers}}</div>
  77. <div class="overview_item_time">昨日:{{data.statistics.yesterday_pay_people_numbers}}</div>
  78. </div>
  79. </div>
  80. <div class="flex-y-center overview_list_box">
  81. <!-- <img class="overview_list_img" src="/resources/img/plugins/store/overview8.png" class="" alt=""> -->
  82. <el-image class="overview_list_img" :src="icons.overview8"></el-image>
  83. <div class="overview_item">
  84. <div class="overview_item_title">支付订单</div>
  85. <div class="overview_item_price">{{data.statistics.pay_order_numbers}}</div>
  86. <div class="overview_item_time">昨日:{{data.statistics.yesterday_pay_order_numbers}}</div>
  87. </div>
  88. </div>
  89. </div>
  90. </div>
  91. <!-- 地图 -->
  92. </div>
  93. <div class="head-right">
  94. <!-- 多商户销售排行榜 -->
  95. <div class="sale_rank">
  96. <div class="sale_rank_title flex-y-center">
  97. <div class="sale_rank_line"></div>
  98. <div class="sale_rank_text">多商户销售排名TOP10</div>
  99. </div>
  100. <div class="sale_rank_list">
  101. <div class="sale_rank_item flex-x-between" v-for="(item,index) in data.store_good_ranking_list" :key='index'>
  102. <div class="sale_rank_item-left flex-y-center">
  103. <div class="sale_rank_num">{{index+1}}</div>
  104. <!-- <img class="sale_rank_img" src="/resources/img/plugins/store/overview1.png" alt=""> -->
  105. <el-image class="sale_rank_img" :src="item.logo_img">
  106. <div slot="error" class="image-slot">
  107. <!-- <img class="sale_rank_img" src="/resources/img/plugins/store/overview1.png" /> -->
  108. <el-image class="sale_rank_img" :src="icons.overview1"></el-image>
  109. </div>
  110. </el-image>
  111. <div class="sale_rank_name over1">{{item.store_name}}</div>
  112. </div>
  113. <div class="flex-y-center">
  114. <!-- <img src="/resources/img/plugins/store/sales-img.png" class="sale_img" alt=""> -->
  115. <el-image :src="icons.sales_img"></el-image>
  116. <div class="sale_num">{{item.sales_money}}</div>
  117. </div>
  118. </div>
  119. </div>
  120. </div>
  121. </div>
  122. </div>
  123. <!-- <div class="main_box flex-x-between">
  124. <div class="main_box_right">
  125. <div class="money_overview_text" style="margin-bottom: 40px;">常用功能</div>
  126. <div class="flex-y-center" style="flex-wrap:wrap">
  127. <div class="flex-y-center features_list_box" style="flex-direction: column;" @click="to(1)">
  128. <img class="features_list_img" src="/resources/img/plugins/store/features1.png" class="" alt="">
  129. <div class="overview_item">
  130. <div class="overview_item_title">多商户管理</div>
  131. </div>
  132. </div>
  133. <div class="flex-y-center features_list_box" style="flex-direction: column;" @click="to(2)">
  134. <img class="features_list_img" src="/resources/img/plugins/store/features2.png" class="" alt="">
  135. <div class="overview_item">
  136. <div class="overview_item_title">多商户申请</div>
  137. </div>
  138. </div>
  139. <div class="flex-y-center features_list_box" style="flex-direction: column;" @click="to(3)">
  140. <img class="features_list_img" src="/resources/img/plugins/store/features3.png" class="" alt="">
  141. <div class="overview_item">
  142. <div class="overview_item_title">多商户订单</div>
  143. </div>
  144. </div>
  145. <div class="flex-y-center features_list_box" style="flex-direction: column;" @click="to(4)">
  146. <img class="features_list_img" src="/resources/img/plugins/store/features4.png" class="" alt="">
  147. <div class="overview_item">
  148. <div class="overview_item_title">收银台订单</div>
  149. </div>
  150. </div>
  151. <div class="flex-y-center features_list_box" style="flex-direction: column;" @click="to(5)">
  152. <img class="features_list_img" src="/resources/img/plugins/store/features5.png" class="" alt="">
  153. <div class="overview_item">
  154. <div class="overview_item_title">推荐设置</div>
  155. </div>
  156. </div>
  157. <div class="flex-y-center features_list_box" style="flex-direction: column;" @click="to(6)">
  158. <img class="features_list_img" src="/resources/img/plugins/store/features6.png" class="" alt="">
  159. <div class="overview_item">
  160. <div class="overview_item_title">商品管理</div>
  161. </div>
  162. </div>
  163. <div class="flex-y-center features_list_box" style="flex-direction: column;" @click="to(7)">
  164. <img class="features_list_img" src="/resources/img/plugins/store/features7.png" class="" alt="">
  165. <div class="overview_item">
  166. <div class="overview_item_title">对账管理</div>
  167. </div>
  168. </div>
  169. <div class="flex-y-center features_list_box" style="flex-direction: column;" @click="to(8)">
  170. <img class="features_list_img" src="/resources/img/plugins/store/features8.png" class="" alt="">
  171. <div class="overview_item">
  172. <div class="overview_item_title">收银设置</div>
  173. </div>
  174. </div>
  175. </div>
  176. </div>
  177. </div>
  178. <div class="goods_rank_box">
  179. <div class="goods_rank_title">商品销量排行(TOP5)</div>
  180. <div>
  181. <el-table :data="data.top_goods" border style="width: 100%" :header-cell-style="{'text-align':'center'}" :cell-style="{'text-align':'center'}">
  182. <el-table-column label="排名" width="80">
  183. <template slot-scope="scope">
  184. {{scope.$index+1}}
  185. </template>
  186. </el-table-column>
  187. <el-table-column prop="id" label="商品ID" width="100"></el-table-column>
  188. <el-table-column label="商品图片" width='120'>
  189. <template slot-scope="scope">
  190. <div class="flex-x-center">
  191. <img class="goods_img" :src="scope.row.cover_pic" alt="">
  192. </div>
  193. </template>
  194. </el-table-column>
  195. <el-table-column prop="name" label="商品名称" :show-overflow-tooltip='true' width='250'></el-table-column>
  196. <el-table-column prop="address" label="所属多商户" width='250'>
  197. <template slot-scope="scope">
  198. <div class="flex-x-center flex-y-center">
  199. <img class="goods_img" :src="scope.row.shop_url" alt="">
  200. <div>{{scope.row.shop_name}}</div>
  201. </div>
  202. </template>
  203. </el-table-column>
  204. <el-table-column prop="order_count" label="下单件数"></el-table-column>
  205. <el-table-column prop="order_people_count" label="下单人数"></el-table-column>
  206. <el-table-column prop="pay_count" label="支付件数"></el-table-column>
  207. <el-table-column prop="pay_people_count" label="支付人数"></el-table-column>
  208. <el-table-column label="销售总金额">
  209. <template slot-scope="scope">
  210. <div>{{scope.row.order_sum}}元</div>
  211. </template>
  212. </el-table-column>
  213. </el-table>
  214. </div>
  215. </div> -->
  216. </el-card>
  217. </div>
  218. <script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=d49fb742889b43ddf4271df776170f1d"></script>
  219. <script>
  220. let map;
  221. const app = new Vue({
  222. el: '#app',
  223. data() {
  224. return {
  225. data: {
  226. statistics: {},
  227. store_good_ranking_list: [],
  228. // top_goods: [],
  229. region_ranking_list: [],
  230. currTime: '2022-05-13 14:02:00',
  231. },
  232. value1: '',
  233. search_city: '',
  234. icons: {
  235. overview1: _diy_img_prefix + '/static/addons/Store/overview1.png',
  236. overview2: _diy_img_prefix + '/static/addons/Store/overview2.png',
  237. overview3: _diy_img_prefix + '/static/addons/Store/overview3.png',
  238. overview4: _diy_img_prefix + '/static/addons/Store/overview4.png',
  239. overview5: _diy_img_prefix + '/static/addons/Store/overview5.png',
  240. overview6: _diy_img_prefix + '/static/addons/Store/overview6.png',
  241. overview7: _diy_img_prefix + '/static/addons/Store/overview7.png',
  242. overview8: _diy_img_prefix + '/static/addons/Store/overview8.png',
  243. sales_img: _diy_img_prefix + '/static/addons/Store/sales-img.png',
  244. },
  245. };
  246. },
  247. mounted() {
  248. let date = new Date();
  249. this.loadData();
  250. },
  251. methods: {
  252. loadMap(map_data) {
  253. // 初始化地图
  254. this.initMap();
  255. // 金额概况圆饼
  256. var total_text = '多商户实收金额'
  257. var total_num = map_data[0] || 0;
  258. var legend_data = ['多商户实收货款(元)', '平台佣金(元)'];
  259. var data = [{
  260. value: map_data[1] || 0,
  261. name: '多商户实收货款(元)'
  262. },
  263. {
  264. value: map_data[2] || 0,
  265. name: '平台佣金(元)'
  266. },
  267. ];
  268. this.initChart(document.getElementById('money_chart'), total_num, total_text, legend_data, data);
  269. // 订单概况圆饼
  270. var total_text2 = '订单总数'
  271. var total_num2 = map_data[3] || 0;
  272. var legend_data2 = ['多商户订单', '收银台订单', '售后订单'];
  273. var data2 = [{
  274. value: map_data[4] || 0,
  275. name: '多商户订单'
  276. },
  277. {
  278. value: map_data[6] || 0,
  279. name: '收银台订单'
  280. },
  281. {
  282. value: map_data[5] || 0,
  283. name: '售后订单'
  284. }
  285. ];
  286. this.initChart(document.getElementById('order_chart'), total_num2, total_text2, legend_data2, data2);
  287. },
  288. /* to(num) {
  289. switch (num) {
  290. case 1:
  291. navigateTo({
  292. r: 'plugin/o2o_store/mall/store/index',
  293. });
  294. break;
  295. case 2:
  296. navigateTo({
  297. r: 'plugin/o2o_store/mall/store/apply',
  298. });
  299. break;
  300. case 3:
  301. navigateTo({
  302. r: 'plugin/o2o_store/mall/order/index',
  303. });
  304. break;
  305. case 4:
  306. navigateTo({
  307. r: 'plugin/o2o_store/mall/order/cashier',
  308. });
  309. break;
  310. case 5:
  311. navigateTo({
  312. r: 'plugin/o2o_store/mall/recommend/index',
  313. });
  314. break;
  315. case 6:
  316. navigateTo({
  317. r: 'plugin/o2o_store/mall/goods/index',
  318. });
  319. break;
  320. case 7:
  321. navigateTo({
  322. r: 'plugin/o2o_store/mall/finance/index',
  323. });
  324. break;
  325. case 8:
  326. navigateTo({
  327. r: 'plugin/o2o_store/mall/cashier/index',
  328. });
  329. break;
  330. }
  331. }, */
  332. mapChange() {
  333. //地图的日期搜索
  334. console.log(this.value1, 'value1value1');
  335. },
  336. amountChange() {
  337. //金额的日期搜索
  338. },
  339. orderChange() {
  340. //订单的日期搜索
  341. },
  342. citySearch() {
  343. //多商户查询
  344. map.setCity(this.search_city);
  345. },
  346. initMap() {
  347. map = new AMap.Map('container', {
  348. resizeEnable: true,
  349. });
  350. },
  351. goMap() {
  352. var val = '白云区';
  353. },
  354. initChart(el, num, text, legendData, data) {
  355. var myChart = echarts.init(el);
  356. myChart.setOption({
  357. title: {
  358. zlevel: 0,
  359. text: [
  360. '{name|' + text + '}',
  361. '{value|' + num + '}',
  362. ].join('\n'),
  363. top: 'center',
  364. right: 'center',
  365. textStyle: {
  366. rich: {
  367. name: {
  368. color: '#545454',
  369. fontSize: 16,
  370. lineHeight: 40,
  371. },
  372. value: {
  373. color: '#545454',
  374. fontSize: 24,
  375. lineHeight: 20
  376. },
  377. },
  378. },
  379. },
  380. legend: {
  381. orient: 'horizontal',
  382. left: 'center',
  383. bottom: 10,
  384. data: legendData
  385. },
  386. series: [{
  387. type: 'pie',
  388. radius: ['50%', '70%'],
  389. label: {
  390. normal: {
  391. show: true,
  392. position: 'outside',
  393. formatter: '{c}'
  394. }
  395. },
  396. labelLine: {
  397. normal: {
  398. show: true,
  399. length: 0,
  400. length2: 10
  401. }
  402. },
  403. color: ['#6395F9', '#62DAAB', '#FF7575'],
  404. data: data
  405. }]
  406. });
  407. },
  408. loadData() {
  409. request({
  410. params: {
  411. r: 'store/default/index',
  412. },
  413. method: 'get',
  414. }).then(e => {
  415. if (e.data.code == 0) {
  416. this.data = e.data.data
  417. this.loadMap(e.data.data.map);
  418. }
  419. }).catch(e => {
  420. this.getGoods_loading = false;
  421. console.log(e);
  422. });
  423. }
  424. }
  425. });
  426. </script>
  427. <style>
  428. .head-left {
  429. width: 1100px;
  430. margin-right: 30px;
  431. }
  432. /* 实时概况 */
  433. .overview_box {
  434. padding: 20px 20px 0 20px;
  435. background: #F7F7F7;
  436. box-shadow: 3px 3px 5px rgb(134 134 134 / 35%);
  437. border-radius: 5px;
  438. height: 328px;
  439. margin-bottom: 20px;
  440. }
  441. .head-left-text {
  442. font-size: 18px;
  443. color: #333333;
  444. font-weight: 600;
  445. }
  446. .overview_list {
  447. padding-left: 30px;
  448. flex-wrap: wrap;
  449. }
  450. .overview_list_box {
  451. margin-right: 100px;
  452. margin-bottom: 50px;
  453. width: 178px;
  454. }
  455. .overview_list_box:nth-of-type(4n) {
  456. margin-right: 0;
  457. }
  458. .overview_list_img {
  459. width: 50px;
  460. height: 50px;
  461. display: block;
  462. margin-right: 15px;
  463. }
  464. .overview_item_title {
  465. font-size: 14px;
  466. color: #333333;
  467. font-weight: 600;
  468. }
  469. .overview_item_price {
  470. font-size: 20px;
  471. color: #333333;
  472. font-weight: 600;
  473. margin: 6px 0;
  474. }
  475. .overview_item_time {
  476. color: #9f9f9f;
  477. font-size: 12px;
  478. }
  479. /* 地图 */
  480. .map_box {
  481. background: #F7F7F7;
  482. border: 1px solid rgba(208, 223, 253, 1);
  483. border-radius: 10px;
  484. width: 1560px;
  485. height: 514px;
  486. box-shadow: 3px 3px 5px rgb(155 155 155 / 35%);
  487. padding: 15px 20px 10px;
  488. }
  489. .head-right {
  490. width: 428px;
  491. }
  492. /* 销售排行榜 */
  493. .sale_rank {
  494. border: 1px solid rgba(208, 208, 208, 1);
  495. border-radius: 10px;
  496. width: 428px;
  497. height: 328px;
  498. box-shadow: 3px 3px 5px rgb(161 161 161 / 35%);
  499. padding: 20px 10px 0;
  500. margin-bottom: 20px;
  501. }
  502. .sale_rank_title {
  503. border-bottom: 1px solid #D0D0D0;
  504. padding: 0 10px 6px;
  505. margin-bottom: 15px;
  506. }
  507. .sale_rank_line {
  508. background: rgba(55, 113, 240, 1);
  509. width: 5px;
  510. height: 22px;
  511. margin-right: 10px;
  512. }
  513. .sale_rank_text {
  514. font-size: 14px;
  515. color: #333333;
  516. font-weight: 600;
  517. }
  518. .sale_rank_list {
  519. height: 250px;
  520. overflow: hidden;
  521. overflow-y: auto;
  522. }
  523. .sale_rank_item {
  524. padding: 0 10px 6px;
  525. border-bottom: 1px solid #D0D0D0;
  526. margin-bottom: 15px;
  527. }
  528. .sale_rank_num {
  529. font-size: 16px;
  530. font-weight: 600;
  531. margin-right: 10px;
  532. }
  533. .sale_rank_img {
  534. width: 22px;
  535. height: 22px;
  536. margin-right: 10px;
  537. display: block;
  538. }
  539. .sale_rank_name {
  540. width: 220px;
  541. }
  542. .sale_img {
  543. width: 24px;
  544. height: 24px;
  545. display: block;
  546. margin-right: 6px;
  547. }
  548. .sale_num {
  549. font-size: 16px;
  550. font-weight: 600;
  551. color: #DE031A;
  552. }
  553. .map {
  554. width: 1200px;
  555. height: 435px;
  556. background: #417FC8;
  557. position: relative;
  558. }
  559. .map_content {
  560. width: 100%;
  561. height: 100%;
  562. }
  563. .map_search_box {
  564. position: absolute;
  565. width: 328px;
  566. height: 42px;
  567. border-radius: 6px;
  568. top: 20px;
  569. left: 20px;
  570. box-sizing: border-box;
  571. /* box-shadow: 3px 3px 5px rgb(132 132 132 / 35%); */
  572. }
  573. .map_table {
  574. width: 300px;
  575. height: 435px;
  576. border-radius: 10px;
  577. }
  578. .map_table_title {
  579. background: #535353;
  580. color: #fff;
  581. font-size: 14px;
  582. font-weight: 600;
  583. height: 60px;
  584. border-radius: 10px 10px 0 0;
  585. }
  586. .map_table_content {
  587. border: 1px solid rgba(208, 223, 253, 1);
  588. height: 373px;
  589. overflow: hidden;
  590. overflow-y: auto;
  591. }
  592. .map_table_item {
  593. height: 43px;
  594. background: #fff;
  595. border-bottom: 1px solid rgba(208, 223, 253, 1);
  596. }
  597. .map_table_item:last-child {
  598. border-bottom: 0;
  599. }
  600. .map_table_title_item {
  601. width: 33%;
  602. text-align: center;
  603. }
  604. .map_table_content_item {
  605. width: 33%;
  606. text-align: center;
  607. }
  608. .detail_num {
  609. color: #417FC8;
  610. font-weight: 600;
  611. }
  612. /* 让日期选择器变小 */
  613. .date_box .el-date-editor--daterange.el-input__inner {
  614. width: 250px;
  615. }
  616. .date_box .el-date-editor .el-range-input {
  617. width: 35%;
  618. }
  619. .date_box .el-date-editor .el-range-separator {
  620. width: 10%;
  621. }
  622. .money_overview_chart {
  623. width: 100%;
  624. height: calc(100% - 32px);
  625. /* width: 606px;
  626. height: 500px; */
  627. }
  628. .main_box {
  629. width: 1560px;
  630. margin: 20px 0;
  631. }
  632. .main_box_right {
  633. width: 1560px;
  634. border: 1px solid rgba(212, 212, 212, 1);
  635. box-shadow: 3px 3px 5px rgb(155 155 155 / 35%);
  636. border-radius: 10px;
  637. padding: 15px 20px 0;
  638. height: 258px;
  639. }
  640. .features_list {
  641. padding: 20px 30px 0;
  642. }
  643. .features_list_img {
  644. width: 70px;
  645. height: 70px;
  646. display: block;
  647. margin-bottom: 15px;
  648. border-radius: 15px;
  649. }
  650. .features_list_box {
  651. margin-right: 5px;
  652. margin-bottom: 65px;
  653. width: 178px;
  654. }
  655. .features_list_box:nth-of-type(4n) {
  656. margin-right: 0;
  657. }
  658. .order_overview_chart {
  659. background: pink;
  660. height: calc(100% - 32px);
  661. }
  662. .goods_rank_box {
  663. border: 1px solid rgba(213, 213, 213, 1);
  664. box-shadow: 3px 3px 5px rgb(172 172 172 / 35%);
  665. width: 1560px;
  666. border-radius: 10px;
  667. padding: 20px;
  668. }
  669. .goods_rank_title {
  670. font-size: 18px;
  671. color: #333;
  672. font-weight: 600;
  673. margin-bottom: 30px;
  674. }
  675. .goods_img {
  676. width: 40px;
  677. height: 40px;
  678. display: block;
  679. margin-right: 10px;
  680. }
  681. body .el-table th.gutter {
  682. display: table-cell !important;
  683. }
  684. .search_inp {
  685. width: 174px;
  686. height: 100%;
  687. }
  688. .data_show {
  689. background: #fff;
  690. height: 40px;
  691. width: 250px;
  692. border: 1px solid #DCDFE6;
  693. font-size: 13px;
  694. margin-top: 5px;
  695. box-shadow: 3px 3px 5px rgb(132 132 132 / 35%);
  696. border-radius: 5px;
  697. padding-left: 10px;
  698. }
  699. .data_show_col {
  700. color: #417FC8;
  701. }
  702. @media (max-width: 1500px) {}
  703. /* 公共样式 */
  704. .flex {
  705. display: -webkit-box;
  706. display: -webkit-flex;
  707. /* #ifndef APP-NVUE */
  708. display: flex;
  709. /* #endif */
  710. }
  711. .flex-x-center {
  712. display: -webkit-box;
  713. display: -webkit-flex;
  714. /* #ifndef APP-NVUE */
  715. display: flex;
  716. /* #endif */
  717. -webkit-box-pack: center;
  718. -webkit-justify-content: center;
  719. -ms-flex-pack: center;
  720. justify-content: center;
  721. }
  722. .flex-x-between {
  723. display: -webkit-box;
  724. display: -webkit-flex;
  725. /* #ifndef APP-NVUE */
  726. display: flex;
  727. /* #endif */
  728. -webkit-box-pack: space-between;
  729. -webkit-justify-content: space-between;
  730. -ms-flex-pack: space-between;
  731. justify-content: space-between;
  732. }
  733. .flex-y-center {
  734. display: -webkit-box;
  735. display: -webkit-flex;
  736. /* #ifndef APP-NVUE */
  737. display: flex;
  738. /* #endif */
  739. -webkit-box-align: center;
  740. -webkit-align-items: center;
  741. -ms-flex-align: center;
  742. -ms-grid-row-align: center;
  743. align-items: center;
  744. }
  745. /* 溢出隐藏 */
  746. .over1 {
  747. text-overflow: -o-ellipsis-lastline;
  748. overflow: hidden;
  749. text-overflow: ellipsis;
  750. display: -webkit-box;
  751. -webkit-line-clamp: 1;
  752. -webkit-box-orient: vertical;
  753. }
  754. .over2 {
  755. text-overflow: -o-ellipsis-lastline;
  756. overflow: hidden;
  757. text-overflow: ellipsis;
  758. display: -webkit-box;
  759. -webkit-line-clamp: 2;
  760. -webkit-box-orient: vertical;
  761. }
  762. .grid-icon {
  763. color: #999;
  764. cursor: pointer;
  765. font-size: 18px;
  766. }
  767. </style>