| 1 |
- {"remainingRequest":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\src\\pages\\statistic\\order\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\src\\pages\\statistic\\order\\index.vue","mtime":1761185180197},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:DQppbXBvcnQgY2FyZHNEYXRhIGZyb20gJ0AvY29tcG9uZW50cy9jYXJkcy9jYXJkcyc7DQppbXBvcnQgZWNoYXJ0c05ldyBmcm9tICdAL2NvbXBvbmVudHMvZWNoYXJ0c05ldy9pbmRleCc7DQppbXBvcnQgeyBnZXRCYXNpYywgZ2V0VHJlbmQsIGdldENoYW5uZWwsIGdldFR5cGUgfSBmcm9tICdAL2FwaS9zdGF0aXN0aWMnOw0KaW1wb3J0IHsgZm9ybWF0RGF0ZSB9IGZyb20gJ0AvdXRpbHMvdmFsaWRhdGUnOw0KaW1wb3J0IGVjaGFydHNGcm9tIGZyb20gJ0AvY29tcG9uZW50cy9lY2hhcnRzL2luZGV4JzsNCmltcG9ydCB0aW1lT3B0aW9ucyBmcm9tICdAL2xpYnMvdGltZU9wdGlvbnMnOw0KDQpleHBvcnQgZGVmYXVsdCB7DQogIG5hbWU6ICdpbmRleCcsDQogIGNvbXBvbmVudHM6IHsgY2FyZHNEYXRhLCBlY2hhcnRzTmV3LCBlY2hhcnRzRnJvbSB9LA0KICBkYXRhKCkgew0KICAgIHJldHVybiB7DQogICAgICB0aW1lVmFsOiBbXSwNCiAgICAgIHN0eWxlOiB7IGhlaWdodDogJzQwMHB4JyB9LA0KICAgICAgaW5mb0xpc3Q6IHt9LA0KICAgICAgaW5mb0xpc3QyOiB7fSwNCiAgICAgIGVjaGFydExlZnQ6IHRydWUsDQogICAgICBlY2hhcnRSaWdodDogZmFsc2UsDQogICAgICBsb2FkaW5nOiBmYWxzZSwNCiAgICAgIGxvYWRpbmcyOiBmYWxzZSwNCiAgICAgIGZvcm1WYWxpZGF0ZTogew0KICAgICAgICB0aW1lOiAnJywNCiAgICAgIH0sDQogICAgICBjYXJkTGlzdHM6IFsNCiAgICAgICAgew0KICAgICAgICAgIGNvbDogNiwNCiAgICAgICAgICBjb3VudDogMCwNCiAgICAgICAgICBuYW1lOiAn6K6i5Y2V6YePJywNCiAgICAgICAgICBjbGFzc05hbWU6ICdpY29uZGluZ2RhbmxpYW5nJywNCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgIGNvbDogNiwNCiAgICAgICAgICBjb3VudDogMCwNCiAgICAgICAgICBuYW1lOiAn6K6i5Y2V6ZSA5ZSu6aKdJywNCiAgICAgICAgICBjbGFzc05hbWU6ICdpY29uZGluZ2RhbmppbmUnLA0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgY29sOiA2LA0KICAgICAgICAgIGNvdW50OiAwLA0KICAgICAgICAgIG5hbWU6ICfpgIDmrL7orqLljZXmlbAnLA0KICAgICAgICAgIGNsYXNzTmFtZTogJ2ljb250dWlrdWFuZGluZ2RhbmxpYW5nJywNCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgIGNvbDogNiwNCiAgICAgICAgICBjb3VudDogMCwNCiAgICAgICAgICBuYW1lOiAn6YCA5qy+6YeR6aKdJywNCiAgICAgICAgICBjbGFzc05hbWU6ICdpY29udHVpa3VhbmppbmUnLA0KICAgICAgICB9LA0KICAgICAgXSwNCiAgICAgIG9wdGlvbkRhdGE6IHt9LA0KICAgICAgc3BpblNob3c6IGZhbHNlLA0KICAgICAgdGFiTGlzdDogW10sDQogICAgICB0YWJMaXN0MjogW10sDQogICAgICBwaWNrZXJPcHRpb25zOiB0aW1lT3B0aW9ucywNCiAgICB9Ow0KICB9LA0KICBjcmVhdGVkKCkgew0KICAgIGNvbnN0IGVuZCA9IG5ldyBEYXRlKCk7DQogICAgY29uc3Qgc3RhcnQgPSBuZXcgRGF0ZSgpOw0KICAgIHN0YXJ0LnNldFRpbWUoc3RhcnQuc2V0VGltZShuZXcgRGF0ZShuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCksIG5ldyBEYXRlKCkuZ2V0TW9udGgoKSwgbmV3IERhdGUoKS5nZXREYXRlKCkgLSAyOSkpKTsNCiAgICB0aGlzLnRpbWVWYWwgPSBbc3RhcnQsIGVuZF07DQogICAgdGhpcy5mb3JtVmFsaWRhdGUudGltZSA9IGZvcm1hdERhdGUoc3RhcnQsICd5eXl5L01NL2RkJykgKyAnLScgKyBmb3JtYXREYXRlKGVuZCwgJ3l5eXkvTU0vZGQnKTsNCiAgICB0aGlzLm9uSW5pdCgpOw0KICB9LA0KICBtZXRob2RzOiB7DQogICAgb25Jbml0KCkgew0KICAgICAgdGhpcy5nZXRCYXNpYygpOw0KICAgICAgdGhpcy5nZXRUcmVuZCgpOw0KICAgICAgdGhpcy5nZXRDaGFubmVsKCk7DQogICAgICB0aGlzLmdldFR5cGUoKTsNCiAgICB9LA0KICAgIG9uU2VsZWN0RGF0ZShlKSB7DQogICAgICB0aGlzLmZvcm1WYWxpZGF0ZS50aW1lID0gZTsNCiAgICAgIHRoaXMub25Jbml0KCk7DQogICAgfSwNCiAgICB0aW1lRyhkZCkgew0KICAgICAgdmFyIGQgPSBuZXcgRGF0ZShkZCk7DQogICAgICB2YXIgZGF0ZXRpbWUgPQ0KICAgICAgICBkLmdldEZ1bGxZZWFyKCkgKw0KICAgICAgICAnLScgKw0KICAgICAgICAoZC5nZXRNb250aCgpICsgMSkgKw0KICAgICAgICAnLScgKw0KICAgICAgICBkLmdldERhdGUoKSArDQogICAgICAgICcgJyArDQogICAgICAgIGQuZ2V0SG91cnMoKSArDQogICAgICAgICc6JyArDQogICAgICAgIGQuZ2V0TWludXRlcygpICsNCiAgICAgICAgJzonICsNCiAgICAgICAgZC5nZXRTZWNvbmRzKCk7DQogICAgICByZXR1cm4gZGF0ZXRpbWU7DQogICAgfSwNCiAgICBnZXRCYXNpYygpIHsNCiAgICAgIGdldEJhc2ljKHRoaXMuZm9ybVZhbGlkYXRlKS50aGVuKChyZXMpID0+IHsNCiAgICAgICAgbGV0IGFyciA9IFsncGF5X2NvdW50JywgJ3BheV9wcmljZScsICdyZWZ1bmRfY291bnQnLCAncmVmdW5kX3ByaWNlJ107DQogICAgICAgIHRoaXMuY2FyZExpc3RzLm1hcCgoaSwgaW5kZXgpID0+IHsNCiAgICAgICAgICBpLmNvdW50ID0gcmVzLmRhdGFbYXJyW2luZGV4XV07DQogICAgICAgIH0pOw0KICAgICAgfSk7DQogICAgfSwNCiAgICBnZXRDaGFubmVsKCkgew0KICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTsNCiAgICAgIGdldENoYW5uZWwodGhpcy5mb3JtVmFsaWRhdGUpLnRoZW4oKHJlcykgPT4gew0KICAgICAgICB0aGlzLmluZm9MaXN0ID0gcmVzLmRhdGE7DQogICAgICAgIHRoaXMudGFiTGlzdCA9IHJlcy5kYXRhLmxpc3Q7DQogICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOw0KICAgICAgfSk7DQogICAgfSwNCiAgICBnZXRUeXBlKCkgew0KICAgICAgdGhpcy5sb2FkaW5nMiA9IHRydWU7DQogICAgICBnZXRUeXBlKHRoaXMuZm9ybVZhbGlkYXRlKS50aGVuKChyZXMpID0+IHsNCiAgICAgICAgdGhpcy5pbmZvTGlzdDIgPSByZXMuZGF0YTsNCiAgICAgICAgdGhpcy50YWJMaXN0MiA9IHJlcy5kYXRhLmxpc3Q7DQogICAgICAgIHRoaXMubG9hZGluZzIgPSBmYWxzZTsNCiAgICAgIH0pOw0KICAgIH0sDQogICAgc2VsZWN0Q2hhbmdlKGUpIHt9LA0KICAgIC8vIOWFt+S9k+aXpeacnw0KICAgIG9uY2hhbmdlVGltZShlKSB7DQogICAgICB0aGlzLnRpbWVWYWwgPSBlOw0KICAgICAgdGhpcy5mb3JtVmFsaWRhdGUudGltZSA9IHRoaXMudGltZVZhbCA/IHRoaXMudGltZVZhbC5qb2luKCctJykgOiAnJzsNCiAgICAgIHRoaXMubmFtZSA9IHRoaXMuZm9ybVZhbGlkYXRlLnRpbWU7DQogICAgICB0aGlzLmdldEJhc2ljKCk7DQogICAgICB0aGlzLmdldFRyZW5kKCk7DQogICAgICB0aGlzLmdldENoYW5uZWwoKTsNCiAgICAgIHRoaXMuZ2V0VHlwZSgpOw0KICAgIH0sDQogICAgLy8g57uf6K6h5Zu+DQogICAgZ2V0VHJlbmQoKSB7DQogICAgICB0aGlzLnNwaW5TaG93ID0gdHJ1ZTsNCiAgICAgIGdldFRyZW5kKHRoaXMuZm9ybVZhbGlkYXRlKQ0KICAgICAgICAudGhlbihhc3luYyAocmVzKSA9PiB7DQogICAgICAgICAgbGV0IGxlZ2VuZCA9IHJlcy5kYXRhLnNlcmllcy5tYXAoKGl0ZW0pID0+IHsNCiAgICAgICAgICAgIHJldHVybiBpdGVtLm5hbWU7DQogICAgICAgICAgfSk7DQogICAgICAgICAgbGV0IHhBeGlzID0gcmVzLmRhdGEueEF4aXM7DQogICAgICAgICAgbGV0IGNvbCA9IFsnIzVCOEZGOScsICcjNUFEOEE2JywgJyNGRkFCMkInLCAnIzVENzA5MiddOw0KICAgICAgICAgIGxldCBzZXJpZXMgPSBbXTsNCiAgICAgICAgICByZXMuZGF0YS5zZXJpZXMubWFwKChpdGVtLCBpbmRleCkgPT4gew0KICAgICAgICAgICAgc2VyaWVzLnB1c2goew0KICAgICAgICAgICAgICBuYW1lOiBpdGVtLm5hbWUsDQogICAgICAgICAgICAgIHR5cGU6ICdsaW5lJywNCiAgICAgICAgICAgICAgZGF0YTogaXRlbS5kYXRhLA0KICAgICAgICAgICAgICBpdGVtU3R5bGU6IHsNCiAgICAgICAgICAgICAgICBub3JtYWw6IHsNCiAgICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xbaW5kZXhdLA0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgIHNtb290aDogMCwNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgIH0pOw0KICAgICAgICAgIHRoaXMub3B0aW9uRGF0YSA9IHsNCiAgICAgICAgICAgIHRvb2x0aXA6IHsNCiAgICAgICAgICAgICAgdHJpZ2dlcjogJ2F4aXMnLA0KICAgICAgICAgICAgICBheGlzUG9pbnRlcjogew0KICAgICAgICAgICAgICAgIHR5cGU6ICdjcm9zcycsDQogICAgICAgICAgICAgICAgbGFiZWw6IHsNCiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJyM2YTc5ODUnLA0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgbGVnZW5kOiB7DQogICAgICAgICAgICAgIHg6ICdjZW50ZXInLA0KICAgICAgICAgICAgICBkYXRhOiBsZWdlbmQsDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZ3JpZDogew0KICAgICAgICAgICAgICBsZWZ0OiAnMyUnLA0KICAgICAgICAgICAgICByaWdodDogJzQlJywNCiAgICAgICAgICAgICAgYm90dG9tOiAnMyUnLA0KICAgICAgICAgICAgICBjb250YWluTGFiZWw6IHRydWUsDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgdG9vbGJveDogew0KICAgICAgICAgICAgICBmZWF0dXJlOiB7DQogICAgICAgICAgICAgICAgc2F2ZUFzSW1hZ2U6IHt9LA0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHhBeGlzOiB7DQogICAgICAgICAgICAgIHR5cGU6ICdjYXRlZ29yeScsDQogICAgICAgICAgICAgIGJvdW5kYXJ5R2FwOiB0cnVlLA0KICAgICAgICAgICAgICAvLyBheGlzVGljazp7DQogICAgICAgICAgICAgIC8vICAgICBzaG93OmZhbHNlDQogICAgICAgICAgICAgIC8vIH0sDQogICAgICAgICAgICAgIC8vIGF4aXNMaW5lOnsNCiAgICAgICAgICAgICAgLy8gICAgIHNob3c6ZmFsc2UNCiAgICAgICAgICAgICAgLy8gfSwNCiAgICAgICAgICAgICAgLy8gc3BsaXRMaW5lOiB7DQogICAgICAgICAgICAgIC8vICAgICBzaG93OiBmYWxzZQ0KICAgICAgICAgICAgICAvLyB9LA0KICAgICAgICAgICAgICBheGlzTGFiZWw6IHsNCiAgICAgICAgICAgICAgICBpbnRlcnZhbDogMCwNCiAgICAgICAgICAgICAgICByb3RhdGU6IDQwLA0KICAgICAgICAgICAgICAgIHRleHRTdHlsZTogew0KICAgICAgICAgICAgICAgICAgY29sb3I6ICcjMDAwMDAwJywNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICBkYXRhOiB4QXhpcywNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICB5QXhpczogew0KICAgICAgICAgICAgICB0eXBlOiAndmFsdWUnLA0KICAgICAgICAgICAgICBheGlzTGluZTogew0KICAgICAgICAgICAgICAgIHNob3c6IGZhbHNlLA0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICBheGlzVGljazogew0KICAgICAgICAgICAgICAgIHNob3c6IGZhbHNlLA0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICBheGlzTGFiZWw6IHsNCiAgICAgICAgICAgICAgICB0ZXh0U3R5bGU6IHsNCiAgICAgICAgICAgICAgICAgIGNvbG9yOiAnIzdGOEI5QycsDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgc3BsaXRMaW5lOiB7DQogICAgICAgICAgICAgICAgc2hvdzogdHJ1ZSwNCiAgICAgICAgICAgICAgICBsaW5lU3R5bGU6IHsNCiAgICAgICAgICAgICAgICAgIGNvbG9yOiAnI0Y1RjdGOScsDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXJpZXM6IHNlcmllcywNCiAgICAgICAgICB9Ow0KICAgICAgICAgIHRoaXMuc3BpblNob3cgPSBmYWxzZTsNCiAgICAgICAgfSkNCiAgICAgICAgLmNhdGNoKChyZXMpID0+IHsNCiAgICAgICAgICB0aGlzLiRtZXNzYWdlLmVycm9yKHJlcy5tc2cpOw0KICAgICAgICAgIHRoaXMuc3BpblNob3cgPSBmYWxzZTsNCiAgICAgICAgfSk7DQogICAgfSwNCiAgfSwNCn07DQo="},{"version":3,"sources":["index.vue"],"names":[],"mappings":";AAgHA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"index.vue","sourceRoot":"src/pages/statistic/order","sourcesContent":["<template>\r\n <div v-loading=\"spinShow\">\r\n <el-card :bordered=\"false\" shadow=\"never\" class=\"ivu-mb-16\">\r\n <div class=\"acea-row row-middle\">\r\n <span class=\"label_text\">时间选择:</span>\r\n <el-date-picker\r\n clearable\r\n v-model=\"timeVal\"\r\n type=\"daterange\"\r\n :editable=\"false\"\r\n @change=\"onchangeTime\"\r\n format=\"yyyy/MM/dd\"\r\n value-format=\"yyyy/MM/dd\"\r\n start-placeholder=\"开始日期\"\r\n end-placeholder=\"结束日期\"\r\n :picker-options=\"pickerOptions\"\r\n style=\"width: 250px\"\r\n class=\"mr20\"\r\n ></el-date-picker>\r\n </div>\r\n </el-card>\r\n <cards-data :cardLists=\"cardLists\" v-if=\"cardLists.length >= 0\"></cards-data>\r\n <el-card class=\"ivu-mb-16\" :bordered=\"false\" shadow=\"never\">\r\n <h4 class=\"statics-header-title\">营业趋势</h4>\r\n <echarts-new :option-data=\"optionData\" :styles=\"style\" height=\"100%\" width=\"100%\" v-if=\"optionData\"></echarts-new>\r\n </el-card>\r\n <div class=\"code-row-bg\">\r\n <el-card :bordered=\"false\" shadow=\"never\" class=\"ivu-mt\">\r\n <div class=\"acea-row row-between-wrapper\">\r\n <h4 class=\"statics-header-title\">订单来源分析</h4>\r\n <div class=\"change-style\" v-db-click @click=\"echartLeft = !echartLeft\">切换样式</div>\r\n </div>\r\n <div class=\"ech-box\">\r\n <echarts-from v-if=\"echartLeft\" ref=\"visitChart\" :infoList=\"infoList\" echartsTitle=\"circle\"></echarts-from>\r\n <el-table\r\n v-show=\"!echartLeft\"\r\n ref=\"selection\"\r\n :data=\"tabList\"\r\n v-loading=\"loading\"\r\n empty-text=\"暂无数据\"\r\n highlight-current-row\r\n >\r\n <el-table-column type=\"index\" label=\"序号\" width=\"50\"> </el-table-column>\r\n <el-table-column label=\"来源\" min-width=\"80\">\r\n <template slot-scope=\"scope\">\r\n <span>{{ scope.row.name }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"订单数\" min-width=\"130\">\r\n <template slot-scope=\"scope\">\r\n <span>{{ scope.row.value }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"占比率\" min-width=\"130\">\r\n <template slot-scope=\"scope\">\r\n <div class=\"percent-box\">\r\n <div class=\"line\">\r\n <div class=\"bg\"></div>\r\n <div class=\"percent\" :style=\"'width:' + scope.row.percent + '%;'\"></div>\r\n </div>\r\n <div class=\"num\">{{ scope.row.percent }}%</div>\r\n </div>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n </div>\r\n </el-card>\r\n <el-card :bordered=\"false\" shadow=\"never\" class=\"ivu-mt\">\r\n <div class=\"acea-row row-between-wrapper\">\r\n <h4 class=\"statics-header-title\">订单类型分析</h4>\r\n <div class=\"change-style\" v-db-click @click=\"echartRight = !echartRight\">切换样式</div>\r\n </div>\r\n <div class=\"ech-box\">\r\n <echarts-from v-if=\"echartRight\" ref=\"visitChart\" :infoList=\"infoList2\" echartsTitle=\"circle\"></echarts-from>\r\n <el-table\r\n v-show=\"!echartRight\"\r\n ref=\"selection\"\r\n :data=\"tabList2\"\r\n v-loading=\"loading2\"\r\n empty-text=\"暂无数据\"\r\n highlight-current-row\r\n >\r\n <el-table-column type=\"index\" label=\"序号\" width=\"50\"> </el-table-column>\r\n <el-table-column label=\"来源\" min-width=\"80\">\r\n <template slot-scope=\"scope\">\r\n <span>{{ scope.row.name }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"金额\" min-width=\"130\">\r\n <template slot-scope=\"scope\">\r\n <span>{{ scope.row.value }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"占比率\" min-width=\"130\">\r\n <template slot-scope=\"scope\">\r\n <div class=\"percent-box\">\r\n <div class=\"line\">\r\n <div class=\"bg\"></div>\r\n <div class=\"percent\" :style=\"'width:' + scope.row.percent + '%;'\"></div>\r\n </div>\r\n <div class=\"num\">{{ scope.row.percent }}%</div>\r\n </div>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n </div>\r\n </el-card>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport cardsData from '@/components/cards/cards';\r\nimport echartsNew from '@/components/echartsNew/index';\r\nimport { getBasic, getTrend, getChannel, getType } from '@/api/statistic';\r\nimport { formatDate } from '@/utils/validate';\r\nimport echartsFrom from '@/components/echarts/index';\r\nimport timeOptions from '@/libs/timeOptions';\r\n\r\nexport default {\r\n name: 'index',\r\n components: { cardsData, echartsNew, echartsFrom },\r\n data() {\r\n return {\r\n timeVal: [],\r\n style: { height: '400px' },\r\n infoList: {},\r\n infoList2: {},\r\n echartLeft: true,\r\n echartRight: false,\r\n loading: false,\r\n loading2: false,\r\n formValidate: {\r\n time: '',\r\n },\r\n cardLists: [\r\n {\r\n col: 6,\r\n count: 0,\r\n name: '订单量',\r\n className: 'icondingdanliang',\r\n },\r\n {\r\n col: 6,\r\n count: 0,\r\n name: '订单销售额',\r\n className: 'icondingdanjine',\r\n },\r\n {\r\n col: 6,\r\n count: 0,\r\n name: '退款订单数',\r\n className: 'icontuikuandingdanliang',\r\n },\r\n {\r\n col: 6,\r\n count: 0,\r\n name: '退款金额',\r\n className: 'icontuikuanjine',\r\n },\r\n ],\r\n optionData: {},\r\n spinShow: false,\r\n tabList: [],\r\n tabList2: [],\r\n pickerOptions: timeOptions,\r\n };\r\n },\r\n created() {\r\n const end = new Date();\r\n const start = new Date();\r\n start.setTime(start.setTime(new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate() - 29)));\r\n this.timeVal = [start, end];\r\n this.formValidate.time = formatDate(start, 'yyyy/MM/dd') + '-' + formatDate(end, 'yyyy/MM/dd');\r\n this.onInit();\r\n },\r\n methods: {\r\n onInit() {\r\n this.getBasic();\r\n this.getTrend();\r\n this.getChannel();\r\n this.getType();\r\n },\r\n onSelectDate(e) {\r\n this.formValidate.time = e;\r\n this.onInit();\r\n },\r\n timeG(dd) {\r\n var d = new Date(dd);\r\n var datetime =\r\n d.getFullYear() +\r\n '-' +\r\n (d.getMonth() + 1) +\r\n '-' +\r\n d.getDate() +\r\n ' ' +\r\n d.getHours() +\r\n ':' +\r\n d.getMinutes() +\r\n ':' +\r\n d.getSeconds();\r\n return datetime;\r\n },\r\n getBasic() {\r\n getBasic(this.formValidate).then((res) => {\r\n let arr = ['pay_count', 'pay_price', 'refund_count', 'refund_price'];\r\n this.cardLists.map((i, index) => {\r\n i.count = res.data[arr[index]];\r\n });\r\n });\r\n },\r\n getChannel() {\r\n this.loading = true;\r\n getChannel(this.formValidate).then((res) => {\r\n this.infoList = res.data;\r\n this.tabList = res.data.list;\r\n this.loading = false;\r\n });\r\n },\r\n getType() {\r\n this.loading2 = true;\r\n getType(this.formValidate).then((res) => {\r\n this.infoList2 = res.data;\r\n this.tabList2 = res.data.list;\r\n this.loading2 = false;\r\n });\r\n },\r\n selectChange(e) {},\r\n // 具体日期\r\n onchangeTime(e) {\r\n this.timeVal = e;\r\n this.formValidate.time = this.timeVal ? this.timeVal.join('-') : '';\r\n this.name = this.formValidate.time;\r\n this.getBasic();\r\n this.getTrend();\r\n this.getChannel();\r\n this.getType();\r\n },\r\n // 统计图\r\n getTrend() {\r\n this.spinShow = true;\r\n getTrend(this.formValidate)\r\n .then(async (res) => {\r\n let legend = res.data.series.map((item) => {\r\n return item.name;\r\n });\r\n let xAxis = res.data.xAxis;\r\n let col = ['#5B8FF9', '#5AD8A6', '#FFAB2B', '#5D7092'];\r\n let series = [];\r\n res.data.series.map((item, index) => {\r\n series.push({\r\n name: item.name,\r\n type: 'line',\r\n data: item.data,\r\n itemStyle: {\r\n normal: {\r\n color: col[index],\r\n },\r\n },\r\n smooth: 0,\r\n });\r\n });\r\n this.optionData = {\r\n tooltip: {\r\n trigger: 'axis',\r\n axisPointer: {\r\n type: 'cross',\r\n label: {\r\n backgroundColor: '#6a7985',\r\n },\r\n },\r\n },\r\n legend: {\r\n x: 'center',\r\n data: legend,\r\n },\r\n grid: {\r\n left: '3%',\r\n right: '4%',\r\n bottom: '3%',\r\n containLabel: true,\r\n },\r\n toolbox: {\r\n feature: {\r\n saveAsImage: {},\r\n },\r\n },\r\n xAxis: {\r\n type: 'category',\r\n boundaryGap: true,\r\n // axisTick:{\r\n // show:false\r\n // },\r\n // axisLine:{\r\n // show:false\r\n // },\r\n // splitLine: {\r\n // show: false\r\n // },\r\n axisLabel: {\r\n interval: 0,\r\n rotate: 40,\r\n textStyle: {\r\n color: '#000000',\r\n },\r\n },\r\n data: xAxis,\r\n },\r\n yAxis: {\r\n type: 'value',\r\n axisLine: {\r\n show: false,\r\n },\r\n axisTick: {\r\n show: false,\r\n },\r\n axisLabel: {\r\n textStyle: {\r\n color: '#7F8B9C',\r\n },\r\n },\r\n splitLine: {\r\n show: true,\r\n lineStyle: {\r\n color: '#F5F7F9',\r\n },\r\n },\r\n },\r\n series: series,\r\n };\r\n this.spinShow = false;\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n this.spinShow = false;\r\n });\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n.cl {\r\n margin-right: 20px;\r\n}\r\n.code-row-bg {\r\n display: flex;\r\n flex-wrap: nowrap;\r\n justify-content: space-between;\r\n}\r\n.code-row-bg .ivu-mt {\r\n width: calc(50% - 8px);\r\n}\r\n.ech-box {\r\n margin-top: 10px;\r\n}\r\n.change-style {\r\n border: 1px solid #ccc;\r\n border-radius: 15px;\r\n padding: 0px 10px;\r\n cursor: pointer;\r\n}\r\n.percent-box {\r\n display: flex;\r\n align-items: center;\r\n padding-right: 10px;\r\n}\r\n.line {\r\n width: 100%;\r\n position: relative;\r\n}\r\n.bg {\r\n position: absolute;\r\n width: 100%;\r\n height: 8px;\r\n border-radius: 8px;\r\n background-color: #f2f2f2;\r\n}\r\n.percent {\r\n position: absolute;\r\n border-radius: 5px;\r\n height: 8px;\r\n background-color: var(--prev-color-primary);\r\n z-index: 999;\r\n}\r\n.num {\r\n white-space: nowrap;\r\n margin: 0 10px;\r\n width: 20px;\r\n}\r\n</style>\r\n"]}]}
|