report.vue 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718
  1. <template>
  2. <view>
  3. <z-navbar title="报表统计" back>
  4. <view slot="right" class="iconfont iconxuanzhong2x" @click="showSearch=true"></view>
  5. </z-navbar>
  6. <!-- <z-tabs :tabs="['近七天','近30天','自定义时间']" v-model="stateTab" @change="changeTabs"></z-tabs> -->
  7. <!-- <view class="flex-n fac fjb data-search-range mt-10" v-if="stateTab==2">
  8. <view class="flex-n fac">
  9. <view class="flex-n fac fjb">
  10. <view class="data-search-range-item" @click="lookBeginTime=true" v-if="!beginTime">开始日期</view>
  11. <div class="data-search-range-itemselect" @click="lookBeginTime=true" v-else>{{beginTime}}</div>
  12. <view class="">
  13. -
  14. </view>
  15. <view class="data-search-range-item" @click="lookEndTime=true" v-if="!endTime">结束日期</view>
  16. <div class="data-search-range-itemselect" @click="lookEndTime=true" v-else>{{endTime}}</div>
  17. </view>
  18. <view class="iconfont iconjuxing27kaobei" v-if="beginTime||endTime" @click="beginTime='';endTime=''"></view>
  19. </view>
  20. <view class="data-search-btn" @click="searchList">
  21. 确定
  22. </view>
  23. </view> -->
  24. <!-- <z-date-select :visible.sync="lookBeginTime" v-model="beginTime" :endDate="endTime"></z-date-select>
  25. <z-date-select :visible.sync="lookEndTime" v-model="endTime" :startDate="beginTime"></z-date-select> -->
  26. <search :visible.sync="showSearch" @searchData="searchData"></search>
  27. <view class="report-content mt-20">
  28. <view class="report-content-item flex-n fac">
  29. <view>订单数量:{{reportOrderCalc.orderCount}}场</view>
  30. <view>预计收入:{{reportOrderCalc.orderMoney}}元</view>
  31. </view>
  32. <view class="report-content-item flex-n fac">
  33. <view>桌数:{{reportOrderCalc.deskCount}}桌</view>
  34. <view>人数:{{reportOrderCalc.personCount}}人</view>
  35. </view>
  36. </view>
  37. <view class="flex-n fac fjb report-top">
  38. <view class="report-top-title">预定场地统计</view>
  39. <view class="report-top-subtitle">单位:百分比</view>
  40. </view>
  41. <canvas canvas-id="canvasColumn" id="canvasColumn" class="charts" disable-scroll=true @touchstart="touchColumn"
  42. @touchmove="touchmove" @touchend="touchendOne"></canvas>
  43. <view class="flex-n fac fjb report-top">
  44. <view class="report-top-title">销售预定统计</view>
  45. <view class="report-top-subtitle">单位:百分比</view>
  46. </view>
  47. <canvas canvas-id="canvasColumn2" id="canvasColumn2" class="charts" disable-scroll=true @touchstart="touchColumn2"
  48. @touchmove="touchmove2" @touchend="touchendTwo"></canvas>
  49. <view class="report-content">
  50. <view class="report-content-item flex-n fac">
  51. <view>预定桌数:{{reportOrderClear.deskCount}}桌</view>
  52. <view>预计人数:{{reportOrderClear.personCount}}人</view>
  53. </view>
  54. <view class="report-content-item flex-n fac">
  55. <view>结算桌数:{{reportOrderClear.clearDeskCount}}桌</view>
  56. <view>结算人数:{{reportOrderClear.clearPersonCount}}人</view>
  57. </view>
  58. <view class="report-content-item flex-n fac">
  59. <view>预计收入:{{reportOrderClear.orderMoney}}元</view>
  60. <view>订单数量:{{reportOrderClear.orderCount}}单</view>
  61. </view>
  62. <view class="report-content-item flex-n fac">
  63. <view>实际收入:{{reportOrderClear.realMoney}}元</view>
  64. <view>收入差额:{{reportOrderClear.differenceMoney}}元</view>
  65. </view>
  66. </view>
  67. <view class="flex-n fac fjb report-top">
  68. <view class="report-top-title">结算场地统计</view>
  69. <view class="report-top-subtitle">单位:百分比</view>
  70. </view>
  71. <canvas canvas-id="canvasColumn3" id="canvasColumn3" class="charts" disable-scroll=true @touchstart="touchColumn3"
  72. @touchmove="touchmove3" @touchend="touchendThree"></canvas>
  73. <view class="flex-n fac fjb report-top">
  74. <view class="report-top-title">销售结算统计</view>
  75. <view class="report-top-subtitle">单位:百分比</view>
  76. </view>
  77. <canvas canvas-id="canvasColumn4" id="canvasColumn4" class="charts" disable-scroll=true @touchstart="touchColumn4"
  78. @touchmove="touchmove4" @touchend="touchendFour"></canvas>
  79. <view style="height: 40rpx;"></view>
  80. </view>
  81. </template>
  82. <script>
  83. import search from './sub/search.vue';
  84. const app = getApp({
  85. allowDefault: true
  86. });
  87. import uCharts from '@/js_sdk/u-charts/u-charts/u-charts.js';
  88. var canvaColumn = null,
  89. canvaColumn2 = null,
  90. canvaColumn3 = null,
  91. canvaColumn4 = null;
  92. export default {
  93. components: {
  94. search
  95. },
  96. data() {
  97. return {
  98. stateTab: 0,
  99. showSearch: false,
  100. lookBeginTime: false,
  101. lookEndTime: false,
  102. beginTime: '',
  103. endTime: '',
  104. reportOrderHouseList: [],
  105. reportOrderSalesList: [],
  106. reportOrderHouseConfirmList: [],
  107. reportOrderSalesConfirmList: [],
  108. reportOrderCalc: {},
  109. reportOrderClear: {},
  110. createStartTime: null,
  111. createEndTime: null,
  112. orderStartTime: null,
  113. orderEndTime: null,
  114. orderStates: null,
  115. packageIds: null,
  116. houseIds: null,
  117. createUserIds: null,
  118. }
  119. },
  120. mounted() {
  121. this.getReportOrderHouse();
  122. this.getReportOrderSales();
  123. this.getReportOrderHouseConfirm();
  124. this.getReportOrderSalesConfirm();
  125. this.getReportOrderCalc();
  126. this.getReportOrderClear();
  127. },
  128. methods: {
  129. changeTabs(idx) {
  130. console.log(idx)
  131. this.stateTab = idx;
  132. },
  133. searchData(data) {
  134. this.createStartTime = data.createStartTime||null;
  135. this.createEndTime = data.createEndTime||null;
  136. this.orderStartTime = data.orderStartTime||null;
  137. this.orderEndTime = data.orderEndTime||null;
  138. this.orderStates = data.orderStates||null;
  139. this.packageIds = data.packageIds.join(',')||null;
  140. this.houseIds = data.houseIds.join(',')||null;
  141. this.createUserIds = data.createUserIds.join(',')||null;
  142. console.log(data)
  143. this.getReportOrderHouse();
  144. this.getReportOrderSales();
  145. this.getReportOrderHouseConfirm();
  146. this.getReportOrderSalesConfirm();
  147. this.getReportOrderCalc();
  148. this.getReportOrderClear();
  149. },
  150. searchList() {
  151. if (this.beginTime != '' && this.endTime == '' || this.beginTime == '' && this.endTime != '') {
  152. return uni.showToast({
  153. title: '请选择完整时间段',
  154. icon: 'none'
  155. })
  156. }
  157. },
  158. //预定场地统计
  159. getReportOrderHouse() {
  160. this.$axios.post('app/report/reportOrderHouse', {
  161. "storeId": uni.getStorageSync('storeId'),
  162. createStartTime: this.createStartTime,
  163. createEndTime: this.createEndTime,
  164. orderStartTime: this.orderStartTime,
  165. orderEndTime: this.orderEndTime,
  166. orderStates: this.orderStates,
  167. packageIds: this.packageIds,
  168. houseIds: this.houseIds,
  169. createUserIds: this.createUserIds
  170. }).then(res => {
  171. console.log(res.data)
  172. this.reportOrderHouseList = res.data.list;
  173. var reportOrderHouseList = res.data.list;
  174. var categories = [],
  175. data1 = [],
  176. data2 = [];
  177. for (var i = 0; i < reportOrderHouseList.length; i++) {
  178. categories.push(reportOrderHouseList[i].houseName);
  179. data1.push({
  180. value: Number(Number(reportOrderHouseList[i].orderRate) * 100).toFixed(2),
  181. orderCount: reportOrderHouseList[i].orderCount
  182. });
  183. data2.push({
  184. value: Number(Number(reportOrderHouseList[i].moneyRate) * 100).toFixed(2),
  185. orderMoney: reportOrderHouseList[i].orderMoney
  186. });
  187. }
  188. this.getReportOrderHouseChart(categories, data1, data2);
  189. }).catch(err => {
  190. })
  191. },
  192. getReportOrderHouseChart(categories, data1, data2) {
  193. var that = this;
  194. canvaColumn = new uCharts({
  195. $this: this,
  196. canvasId: 'canvasColumn',
  197. type: 'column',
  198. padding: [15, 15, 0, 15],
  199. colors: ['#2da9fa', '#1ec695'],
  200. enableScroll: true,
  201. legend: {
  202. show: true,
  203. padding: 5,
  204. lineHeight: 11,
  205. margin: 0,
  206. },
  207. fontSize: 11,
  208. background: '#FFFFFF',
  209. animation: true,
  210. categories: categories,
  211. series: [{
  212. "name": '预定场地数量/占比',
  213. "data": data1
  214. }, {
  215. "name": '预订场地业绩/占比',
  216. "data": data2
  217. }],
  218. xAxis: {
  219. itemCount: 5, //x轴单屏显示数据的数量,默认为5个
  220. disableGrid: true,
  221. },
  222. yAxis: {
  223. data: [{
  224. // max: 100,
  225. min: 0,
  226. axisLine: false,
  227. // format:(val)=>{return val.toFixed(0)+'元'},
  228. }]
  229. },
  230. dataLabel: true,
  231. width: uni.upx2px(750),
  232. height: uni.upx2px(600),
  233. pixelRatio: 1,
  234. extra: {
  235. column: {
  236. type: 'group',
  237. width: 30
  238. }
  239. }
  240. });
  241. },
  242. touchColumn(e) {
  243. canvaColumn.scrollStart(e);
  244. },
  245. touchmove(e) {
  246. let distance = canvaColumn.scroll(e);
  247. if (distance !== undefined) {
  248. canvaColumn.translate(distance);
  249. }
  250. },
  251. touchendOne(e) {
  252. canvaColumn.scrollEnd(e);
  253. //下面是toolTip事件,如果滚动后不需要显示,可不填写
  254. canvaColumn.showToolTip(e, {
  255. format: function(item, category) {
  256. console.log(item, category)
  257. if (item.name == "预定场地数量/占比") {
  258. return category + ':' + item.data.orderCount + '场/' + item.data.value + '%'
  259. } else {
  260. return category + ':' + item.data.orderMoney + '元/' + item.data.value + '%'
  261. }
  262. }
  263. });
  264. },
  265. //销售预定统计
  266. getReportOrderSales() {
  267. this.$axios.post('app/report/reportOrderSales', {
  268. "storeId": uni.getStorageSync('storeId'),
  269. createStartTime: this.createStartTime,
  270. createEndTime: this.createEndTime,
  271. orderStartTime: this.orderStartTime,
  272. orderEndTime: this.orderEndTime,
  273. orderStates: this.orderStates,
  274. packageIds: this.packageIds,
  275. houseIds: this.houseIds,
  276. createUserIds: this.createUserIds
  277. }).then(res => {
  278. console.log(res.data)
  279. this.reportOrderSalesList = res.data.list;
  280. var reportOrderSalesList = res.data.list;
  281. var categories = [],
  282. data1 = [],
  283. data2 = [];
  284. for (var i = 0; i < reportOrderSalesList.length; i++) {
  285. categories.push(reportOrderSalesList[i].userName);
  286. data1.push({
  287. value: Number(Number(reportOrderSalesList[i].orderRate) * 100).toFixed(2),
  288. orderCount: reportOrderSalesList[i].orderCount
  289. });
  290. data2.push({
  291. value: Number(Number(reportOrderSalesList[i].moneyRate) * 100).toFixed(2),
  292. orderMoney: reportOrderSalesList[i].orderMoney
  293. });
  294. }
  295. this.getReportOrderSalesChart(categories, data1, data2);
  296. }).catch(err => {
  297. })
  298. },
  299. getReportOrderSalesChart(categories, data1, data2) {
  300. var that = this;
  301. canvaColumn2 = new uCharts({
  302. $this: this,
  303. canvasId: 'canvasColumn2',
  304. type: 'column',
  305. padding: [15, 15, 0, 15],
  306. colors: ['#2da9fa', '#1ec695'],
  307. enableScroll: true,
  308. legend: {
  309. show: true,
  310. padding: 5,
  311. lineHeight: 11,
  312. margin: 0,
  313. },
  314. fontSize: 11,
  315. background: '#FFFFFF',
  316. animation: true,
  317. categories: categories,
  318. series: [{
  319. "name": '销售预订场地数量/占比',
  320. "data": data1
  321. }, {
  322. "name": '销售预订场地业绩/占比',
  323. "data": data2
  324. }],
  325. xAxis: {
  326. itemCount: 5, //x轴单屏显示数据的数量,默认为5个
  327. disableGrid: true,
  328. },
  329. yAxis: {
  330. data: [{
  331. // max: 100,
  332. min: 0,
  333. axisLine: false,
  334. // format:(val)=>{return val.toFixed(0)+'元'},
  335. }]
  336. },
  337. dataLabel: true,
  338. width: uni.upx2px(750),
  339. height: uni.upx2px(600),
  340. pixelRatio: 1,
  341. extra: {
  342. column: {
  343. type: 'group',
  344. width: 30
  345. }
  346. }
  347. });
  348. },
  349. touchColumn2(e) {
  350. canvaColumn2.scrollStart(e);
  351. },
  352. touchmove2(e) {
  353. let distance = canvaColumn2.scroll(e);
  354. if (distance !== undefined) {
  355. canvaColumn2.translate(distance);
  356. }
  357. },
  358. touchendTwo(e) {
  359. canvaColumn2.scrollEnd(e);
  360. //下面是toolTip事件,如果滚动后不需要显示,可不填写
  361. canvaColumn2.showToolTip(e, {
  362. format: function(item, category) {
  363. console.log(item, category)
  364. if (item.name == "销售预订场地数量/占比") {
  365. return category + ':' + item.data.orderCount + '场/' + item.data.value + '%'
  366. } else {
  367. return category + ':' + item.data.orderMoney + '元/' + item.data.value + '%'
  368. }
  369. }
  370. });
  371. },
  372. //结算场地统计
  373. getReportOrderHouseConfirm() {
  374. this.$axios.post('app/report/reportOrderHouseConfirm', {
  375. "storeId": uni.getStorageSync('storeId'),
  376. createStartTime: this.createStartTime,
  377. createEndTime: this.createEndTime,
  378. orderStartTime: this.orderStartTime,
  379. orderEndTime: this.orderEndTime,
  380. orderStates: this.orderStates,
  381. packageIds: this.packageIds,
  382. houseIds: this.houseIds,
  383. createUserIds: this.createUserIds
  384. }).then(res => {
  385. console.log(res.data)
  386. this.reportOrderHouseConfirmList = res.data.list;
  387. var reportOrderHouseConfirmList = res.data.list;
  388. var categories = [],
  389. data1 = [],
  390. data2 = [];
  391. for (var i = 0; i < reportOrderHouseConfirmList.length; i++) {
  392. categories.push(reportOrderHouseConfirmList[i].houseName);
  393. data1.push({
  394. value: Number(Number(reportOrderHouseConfirmList[i].orderRate) * 100).toFixed(2),
  395. orderCount: reportOrderHouseConfirmList[i].orderCount
  396. });
  397. data2.push({
  398. value: Number(Number(reportOrderHouseConfirmList[i].realMoneyRate) * 100).toFixed(2),
  399. orderMoney: reportOrderHouseConfirmList[i].orderRealMoney
  400. });
  401. }
  402. this.getReportOrderHouseConfirmChart(categories, data1, data2);
  403. }).catch(err => {
  404. })
  405. },
  406. getReportOrderHouseConfirmChart(categories, data1, data2) {
  407. var that = this;
  408. canvaColumn3 = new uCharts({
  409. $this: this,
  410. canvasId: 'canvasColumn3',
  411. type: 'column',
  412. padding: [15, 15, 0, 15],
  413. colors: ['#2da9fa', '#1ec695'],
  414. enableScroll: true,
  415. legend: {
  416. show: true,
  417. padding: 5,
  418. lineHeight: 11,
  419. margin: 0,
  420. },
  421. fontSize: 11,
  422. background: '#FFFFFF',
  423. animation: true,
  424. categories: categories,
  425. series: [{
  426. "name": '结算场地数量/占比',
  427. "data": data1
  428. }, {
  429. "name": '结算场地业绩/占比',
  430. "data": data2
  431. }],
  432. xAxis: {
  433. itemCount: 5, //x轴单屏显示数据的数量,默认为5个
  434. disableGrid: true,
  435. },
  436. yAxis: {
  437. data: [{
  438. // max: 100,
  439. min: 0,
  440. axisLine: false,
  441. // format:(val)=>{return val.toFixed(0)+'元'},
  442. }]
  443. },
  444. dataLabel: true,
  445. width: uni.upx2px(750),
  446. height: uni.upx2px(600),
  447. pixelRatio: 1,
  448. extra: {
  449. column: {
  450. type: 'group',
  451. width: 30
  452. }
  453. }
  454. });
  455. },
  456. touchColumn3(e) {
  457. canvaColumn3.scrollStart(e);
  458. },
  459. touchmove3(e) {
  460. let distance = canvaColumn3.scroll(e);
  461. if (distance !== undefined) {
  462. canvaColumn3.translate(distance);
  463. }
  464. },
  465. touchendThree(e) {
  466. canvaColumn3.scrollEnd(e);
  467. //下面是toolTip事件,如果滚动后不需要显示,可不填写
  468. canvaColumn3.showToolTip(e, {
  469. format: function(item, category) {
  470. console.log(item, category)
  471. if (item.name == "结算场地数量/占比") {
  472. return category + ':' + item.data.orderCount + '场/' + item.data.value + '%'
  473. } else {
  474. return category + ':' + item.data.orderMoney + '元/' + item.data.value + '%'
  475. }
  476. }
  477. });
  478. },
  479. //销售结算统计
  480. getReportOrderSalesConfirm() {
  481. this.$axios.post('app/report/reportOrderHouse', {
  482. "storeId": uni.getStorageSync('storeId'),
  483. createStartTime: this.createStartTime,
  484. createEndTime: this.createEndTime,
  485. orderStartTime: this.orderStartTime,
  486. orderEndTime: this.orderEndTime,
  487. orderStates: this.orderStates,
  488. packageIds: this.packageIds,
  489. houseIds: this.houseIds,
  490. createUserIds: this.createUserIds
  491. }).then(res => {
  492. console.log(res.data)
  493. this.reportOrderSalesConfirmList = res.data.list;
  494. var reportOrderSalesConfirmList = res.data.list;
  495. var categories = [],
  496. data1 = [],
  497. data2 = [];
  498. for (var i = 0; i < reportOrderSalesConfirmList.length; i++) {
  499. categories.push(reportOrderSalesConfirmList[i].houseName);
  500. data1.push({
  501. value: Number(Number(reportOrderSalesConfirmList[i].orderRate) * 100).toFixed(2),
  502. orderCount: reportOrderSalesConfirmList[i].orderCount
  503. });
  504. data2.push({
  505. value: Number(Number(reportOrderSalesConfirmList[i].moneyRate) * 100).toFixed(2),
  506. orderMoney: reportOrderSalesConfirmList[i].orderMoney
  507. });
  508. }
  509. this.getReportOrderSalesConfirmChart(categories, data1, data2);
  510. }).catch(err => {
  511. })
  512. },
  513. getReportOrderSalesConfirmChart(categories, data1, data2) {
  514. var that = this;
  515. canvaColumn4 = new uCharts({
  516. $this: this,
  517. canvasId: 'canvasColumn4',
  518. type: 'column',
  519. padding: [15, 15, 0, 15],
  520. colors: ['#2da9fa', '#1ec695'],
  521. enableScroll: true,
  522. legend: {
  523. show: true,
  524. padding: 5,
  525. lineHeight: 11,
  526. margin: 0,
  527. },
  528. fontSize: 11,
  529. background: '#FFFFFF',
  530. animation: true,
  531. categories: categories,
  532. series: [{
  533. "name": '销售结算场地数量/占比',
  534. "data": data1
  535. }, {
  536. "name": '销售结算场地业绩/占比',
  537. "data": data2
  538. }],
  539. xAxis: {
  540. itemCount: 5, //x轴单屏显示数据的数量,默认为5个
  541. disableGrid: true,
  542. },
  543. yAxis: {
  544. data: [{
  545. // max: 100,
  546. min: 0,
  547. axisLine: false,
  548. // format:(val)=>{return val.toFixed(0)+'元'},
  549. }]
  550. },
  551. dataLabel: true,
  552. width: uni.upx2px(750),
  553. height: uni.upx2px(600),
  554. pixelRatio: 1,
  555. extra: {
  556. column: {
  557. type: 'group',
  558. width: 30
  559. }
  560. }
  561. });
  562. },
  563. touchColumn4(e) {
  564. canvaColumn4.scrollStart(e);
  565. },
  566. touchmove4(e) {
  567. let distance = canvaColumn4.scroll(e);
  568. if (distance !== undefined) {
  569. canvaColumn4.translate(distance);
  570. }
  571. },
  572. touchendFour(e) {
  573. canvaColumn4.scrollEnd(e);
  574. //下面是toolTip事件,如果滚动后不需要显示,可不填写
  575. canvaColumn4.showToolTip(e, {
  576. format: function(item, category) {
  577. console.log(item, category)
  578. if (item.name == "销售结算场地数量/占比") {
  579. return category + ':' + item.data.orderCount + '场/' + item.data.value + '%'
  580. } else {
  581. return category + ':' + item.data.orderMoney + '元/' + item.data.value + '%'
  582. }
  583. }
  584. });
  585. },
  586. //预定统计
  587. getReportOrderCalc() {
  588. this.$axios.post('app/report/reportOrderCalc', {
  589. "storeId": uni.getStorageSync('storeId'),
  590. createStartTime: this.createStartTime,
  591. createEndTime: this.createEndTime,
  592. orderStartTime: this.orderStartTime,
  593. orderEndTime: this.orderEndTime,
  594. orderStates: this.orderStates,
  595. packageIds: this.packageIds,
  596. houseIds: this.houseIds,
  597. createUserIds: this.createUserIds
  598. }).then(res => {
  599. this.reportOrderCalc = res.data.list[0];
  600. }).catch(err => {
  601. })
  602. },
  603. //预定统计结算
  604. getReportOrderClear() {
  605. this.$axios.post('app/report/reportOrderClear', {
  606. "storeId": uni.getStorageSync('storeId'),
  607. createStartTime: this.createStartTime,
  608. createEndTime: this.createEndTime,
  609. orderStartTime: this.orderStartTime,
  610. orderEndTime: this.orderEndTime,
  611. orderStates: this.orderStates,
  612. packageIds: this.packageIds,
  613. houseIds: this.houseIds,
  614. createUserIds: this.createUserIds
  615. }).then(res => {
  616. this.reportOrderClear = res.data.list[0];
  617. }).catch(err => {
  618. })
  619. },
  620. }
  621. }
  622. </script>
  623. <style scoped lang="scss">
  624. #canvasColumn,
  625. #canvasColumn2,
  626. #canvasColumn3,
  627. #canvasColumn4 {
  628. width: 100vw;
  629. height: 600rpx;
  630. }
  631. .report-content {
  632. border-radius: 10rpx;
  633. background: #F1F1F1;
  634. margin: 0 40rpx;
  635. padding: 10rpx;
  636. color: #999999;
  637. font-size: 24rpx;
  638. font-weight: bold;
  639. .report-content-item {
  640. line-height: 40rpx;
  641. view {
  642. flex: 1;
  643. margin-left: 40rpx;
  644. }
  645. }
  646. }
  647. .report-top {
  648. padding: 20rpx 30rpx;
  649. .report-top-title {
  650. color: #2DA9FA;
  651. font-weight: 700;
  652. font-size: 32rpx;
  653. }
  654. .report-top-subtitle {
  655. color: #666666;
  656. font-size: 24rpx;
  657. }
  658. }
  659. .data-search-range {
  660. width: calc(100% - 20rpx);
  661. padding: 10rpx;
  662. background: #eff1f6;
  663. .data-search-range-item {
  664. color: #ccc;
  665. font-size: 32rpx;
  666. width: 200rpx;
  667. text-align: center;
  668. }
  669. .data-search-range-itemselect {
  670. font-size: 32rpx;
  671. width: 200rpx;
  672. text-align: center;
  673. }
  674. .data-search-btn {
  675. width: calc(100% - 500rpx);
  676. height: 80rpx;
  677. line-height: 80rpx;
  678. color: white;
  679. font-size: 32rpx;
  680. text-align: center;
  681. background-color: #007AFF;
  682. }
  683. }
  684. </style>