| 1 |
- {"remainingRequest":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\front\\item\\zyAdmin\\src\\pages\\statistic\\user\\components\\userRegion.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\front\\item\\zyAdmin\\src\\pages\\statistic\\user\\components\\userRegion.vue","mtime":1761614939066},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1761614927801},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\babel-loader\\lib\\index.js","mtime":1761614927320},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1761614927801},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js","mtime":1761614937402}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:DQppbXBvcnQgZWNoYXJ0cyBmcm9tICdlY2hhcnRzJzsNCmltcG9ydCAnLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2VjaGFydHMvbWFwL2pzL2NoaW5hLmpzJzsgLy8g5byV5YWl5Lit5Zu95Zyw5Zu+5pWw5o2uDQppbXBvcnQgeyBzdGF0aXN0aWNXZWNoYXRSZWdpb25BcGksIHN0YXRpc3RpY1dlY2hhdFNleEFwaSB9IGZyb20gJ0AvYXBpL3N0YXRpc3RpYyc7DQppbXBvcnQgZWNoYXJ0c05ldyBmcm9tICdAL2NvbXBvbmVudHMvZWNoYXJ0c05ldy9pbmRleCc7DQpleHBvcnQgZGVmYXVsdCB7DQogIG5hbWU6ICd1c2VyUmVnaW9uJywNCiAgY29tcG9uZW50czogew0KICAgIGVjaGFydHNOZXcsDQogIH0sDQogIHByb3BzOiB7DQogICAgZm9ybUlubGluZTogew0KICAgICAgdHlwZTogT2JqZWN0LA0KICAgICAgZGVmYXVsdDogZnVuY3Rpb24gKCkgew0KICAgICAgICByZXR1cm4gew0KICAgICAgICAgIGNoYW5uZWxfdHlwZTogJycsDQogICAgICAgICAgZGF0YTogJycsDQogICAgICAgIH07DQogICAgICB9LA0KICAgIH0sDQogIH0sDQogIGRhdGEoKSB7DQogICAgcmV0dXJuIHsNCiAgICAgIGNoYXJ0OiBudWxsLA0KICAgICAgcmVzZGF0YTogW10sDQogICAgICByZXNkYXRhTGlzdDogW10sDQogICAgICBjb2x1bW5zMTogWw0KICAgICAgICB7DQogICAgICAgICAgdGl0bGU6ICdUT1DnnIHku70nLA0KICAgICAgICAgIGtleTogJ3Byb3ZpbmNlJywNCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgIHRpdGxlOiAn57Sv56ev55So5oi35pWwJywNCiAgICAgICAgICBrZXk6ICdhbGxOdW0nLA0KICAgICAgICAgIHNvcnRhYmxlOiB0cnVlLA0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgdGl0bGU6ICfmlrDlop7nlKjmiLfmlbAnLA0KICAgICAgICAgIGtleTogJ25ld051bScsDQogICAgICAgICAgc29ydGFibGU6IHRydWUsDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICB0aXRsZTogJ+iuv+WuouaVsCcsDQogICAgICAgICAga2V5OiAndmlzaXROdW0nLA0KICAgICAgICAgIHNvcnRhYmxlOiB0cnVlLA0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgdGl0bGU6ICfmlK/ku5jph5Hpop0nLA0KICAgICAgICAgIGtleTogJ3BheVByaWNlJywNCiAgICAgICAgICBzb3J0YWJsZTogdHJ1ZSwNCiAgICAgICAgfSwNCiAgICAgIF0sDQogICAgICBzdHlsZTogeyBoZWlnaHQ6ICc0MDBweCcgfSwNCiAgICAgIG9wdGlvbkRhdGE6IHt9LA0KICAgIH07DQogIH0sDQogIG1vdW50ZWQoKSB7DQogICAgdGhpcy5nZXRUcmVuZCgpOw0KICAgIHRoaXMuZ2V0U2V4KCk7DQogIH0sDQogIGJlZm9yZURlc3Ryb3koKSB7DQogICAgaWYgKCF0aGlzLmNoYXJ0KSB7DQogICAgICByZXR1cm47DQogICAgfQ0KICAgIHRoaXMuY2hhcnQuZGlzcG9zZSgpOw0KICAgIHRoaXMuY2hhcnQgPSBudWxsOw0KICB9LA0KICBtZXRob2RzOiB7DQogICAgY2hpbmFDb25maWd1cmUoKSB7DQogICAgICBsZXQgbXlDaGFydCA9IGVjaGFydHMuaW5pdCh0aGlzLiRyZWZzLm15RWNoYXJ0KTsgLy/ov5nph4zmmK/kuLrkuobojrflvpflrrnlmajmiYDlnKjkvY3nva4NCiAgICAgIHdpbmRvdy5vbnJlc2l6ZSA9IG15Q2hhcnQucmVzaXplOw0KICAgICAgbXlDaGFydC5zZXRPcHRpb24oew0KICAgICAgICAvLyDov5vooYznm7jlhbPphY3nva4NCiAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnI2ZmZicsDQogICAgICAgIHRvb2x0aXA6IHsNCiAgICAgICAgICB0cmlnZ2VyOiAnaXRlbScsDQogICAgICAgICAgZm9ybWF0dGVyOiBmdW5jdGlvbiAocGFyYW1zKSB7DQogICAgICAgICAgICBjb25zb2xlLmxvZyhwYXJhbXMsICdwYXJhbXMnKTsNCiAgICAgICAgICAgIHJldHVybiBwYXJhbXMuZGF0YQ0KICAgICAgICAgICAgICA/IGDlnLDljLo6JHtwYXJhbXMubmFtZX08L2JyPue0r+iuoeeUqOaItzogJHtwYXJhbXMuZGF0YS52YWx1ZX08L2JyPuaWsOWinueUqOaItzogJHtwYXJhbXMuZGF0YS5uZXdOdW19PC9icj7orr/lrqLmlbA6ICR7cGFyYW1zLmRhdGEudmlzaXROdW19PC9icj7mlK/ku5jph5Hpop06ICR7cGFyYW1zLmRhdGEucGF5UHJpY2V9YA0KICAgICAgICAgICAgICA6IGDlnLDljLo6JHtwYXJhbXMubmFtZX08L2JyPue0r+iuoeeUqOaItzogMDwvYnI+5paw5aKe55So5oi3OiAwPC9icj7orr/lrqLmlbA6IDA8L2JyPuaUr+S7mOmHkeminTogMGA7DQogICAgICAgICAgfSwNCiAgICAgICAgfSwgLy8g6byg5qCH56e75Yiw5Zu+6YeM6Z2i55qE5rWu5Yqo5o+Q56S65qGGDQogICAgICAgIGRhdGFSYW5nZTogew0KICAgICAgICAgIHNob3c6IGZhbHNlLA0KICAgICAgICAgIG1pbjogMCwNCiAgICAgICAgICBtYXg6IDEwMDAsDQogICAgICAgICAgdGV4dDogWydIaWdoJywgJ0xvdyddLA0KICAgICAgICAgIHJlYWx0aW1lOiB0cnVlLA0KICAgICAgICAgIGNhbGN1bGFibGU6IHRydWUsDQogICAgICAgICAgY29sb3I6IFsnb3JhbmdlcmVkJywgJ3llbGxvdycsICdsaWdodHNreWJsdWUnXSwNCiAgICAgICAgfSwNCiAgICAgICAgZ2VvOiB7DQogICAgICAgICAgLy8g6L+Z5Liq5piv6YeN54K56YWN572u5Yy6DQogICAgICAgICAgbWFwOiAnY2hpbmEnLCAvLyDooajnpLrkuK3lm73lnLDlm74NCiAgICAgICAgICByb2FtOiBmYWxzZSwNCiAgICAgICAgICBsYWJlbDogew0KICAgICAgICAgICAgbm9ybWFsOiB7DQogICAgICAgICAgICAgIHNob3c6IGZhbHNlLCAvLyDmmK/lkKbmmL7npLrlr7nlupTlnLDlkI0NCiAgICAgICAgICAgICAgdGV4dFN0eWxlOiB7DQogICAgICAgICAgICAgICAgY29sb3I6ICdyZ2JhKDAsMCwwLDAuNCknLA0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgfSwNCiAgICAgICAgICB9LA0KICAgICAgICAgIGl0ZW1TdHlsZTogew0KICAgICAgICAgICAgbm9ybWFsOiB7DQogICAgICAgICAgICAgIGJvcmRlckNvbG9yOiAncmdiYSgwLCAwLCAwLCAwLjIpJywNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbXBoYXNpczogew0KICAgICAgICAgICAgICBhcmVhQ29sb3I6IG51bGwsDQogICAgICAgICAgICAgIHNoYWRvd09mZnNldFg6IDAsDQogICAgICAgICAgICAgIHNoYWRvd09mZnNldFk6IDAsDQogICAgICAgICAgICAgIHNoYWRvd0JsdXI6IDIwLA0KICAgICAgICAgICAgICBib3JkZXJXaWR0aDogMCwNCiAgICAgICAgICAgICAgc2hhZG93Q29sb3I6ICdyZ2JhKDAsIDAsIDAsIDAuNSknLA0KICAgICAgICAgICAgfSwNCiAgICAgICAgICB9LA0KICAgICAgICB9LA0KICAgICAgICBzZXJpZXM6IFsNCiAgICAgICAgICB7DQogICAgICAgICAgICB0eXBlOiAnc2NhdHRlcicsDQogICAgICAgICAgICB6b29tOiAxLjIsDQogICAgICAgICAgICBhc3BlY3RTY2FsZTogMS43NSwgLy/plb/lrr3mr5QNCiAgICAgICAgICAgIGNvb3JkaW5hdGVTeXN0ZW06ICdnZW8nLCAvLyDlr7nlupTkuIrmlrnphY3nva4NCiAgICAgICAgICB9LA0KICAgICAgICAgIHsNCiAgICAgICAgICAgIHR5cGU6ICdtYXAnLA0KICAgICAgICAgICAgZ2VvSW5kZXg6IDAsDQogICAgICAgICAgICBkYXRhOiB0aGlzLnJlc2RhdGEsDQogICAgICAgICAgfSwNCiAgICAgICAgXSwNCiAgICAgIH0pOw0KICAgIH0sDQogICAgLy8g57uf6K6h5Zu+DQogICAgZ2V0VHJlbmQoKSB7DQogICAgICBzdGF0aXN0aWNXZWNoYXRSZWdpb25BcGkodGhpcy5mb3JtSW5saW5lKQ0KICAgICAgICAudGhlbihhc3luYyAocmVzKSA9PiB7DQogICAgICAgICAgdGhpcy5yZXNkYXRhTGlzdCA9IHJlcy5kYXRhOw0KICAgICAgICAgIHRoaXMucmVzZGF0YSA9IHJlcy5kYXRhLm1hcCgoaXRlbSkgPT4gew0KICAgICAgICAgICAgbGV0IGpzb25EYXRhID0ge307DQogICAgICAgICAgICBqc29uRGF0YS5uYW1lID0gaXRlbS5wcm92aW5jZS5yZXBsYWNlKCfnnIEnLCAnJyk7DQogICAgICAgICAgICBqc29uRGF0YS52YWx1ZSA9IGl0ZW0uYWxsTnVtOw0KICAgICAgICAgICAganNvbkRhdGEubmV3TnVtID0gaXRlbS5uZXdOdW07DQogICAgICAgICAgICBqc29uRGF0YS5wYXlQcmljZSA9IGl0ZW0ucGF5UHJpY2U7DQogICAgICAgICAgICBqc29uRGF0YS52aXNpdE51bSA9IGl0ZW0udmlzaXROdW07DQogICAgICAgICAgICByZXR1cm4ganNvbkRhdGE7DQogICAgICAgICAgfSk7DQogICAgICAgICAgdGhpcy5jaGluYUNvbmZpZ3VyZSgpOw0KICAgICAgICB9KQ0KICAgICAgICAuY2F0Y2goKHJlcykgPT4gew0KICAgICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IocmVzLm1zZyk7DQogICAgICAgIH0pOw0KICAgIH0sDQogICAgLy/mgKfliKsNCiAgICBnZXRTZXgoKSB7DQogICAgICBzdGF0aXN0aWNXZWNoYXRTZXhBcGkodGhpcy5mb3JtSW5saW5lKQ0KICAgICAgICAudGhlbihhc3luYyAocmVzKSA9PiB7DQogICAgICAgICAgbGV0IHRvdGFsU3VtQWxsID0gMDsNCiAgICAgICAgICByZXMuZGF0YS5mb3JFYWNoKChpdGVtKSA9PiB7DQogICAgICAgICAgICB0b3RhbFN1bUFsbCArPSBpdGVtLnZhbHVlOw0KICAgICAgICAgIH0pOw0KICAgICAgICAgIHRoaXMub3B0aW9uRGF0YSA9IHsNCiAgICAgICAgICAgIHRpdGxlOiB7DQogICAgICAgICAgICAgIHNob3c6IHRydWUsDQogICAgICAgICAgICAgIHRleHQ6ICfmgLvnlKjmiLfmlbAnLCAvLyDlvZPliY3lhpnmrbsNCiAgICAgICAgICAgICAgc3VidGV4dDogdG90YWxTdW1BbGwsIC8vIOW9k+WJjeWGmeatuw0KICAgICAgICAgICAgICB4OiAnY2VudGVyJywNCiAgICAgICAgICAgICAgeTogJ2NlbnRlcicsDQogICAgICAgICAgICAgIHRleHRTdHlsZTogew0KICAgICAgICAgICAgICAgIGZvbnRTaXplOiAnMTQnLA0KICAgICAgICAgICAgICAgIGNvbG9yOiAnIzY2NjY2NicsDQogICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgIHN1YnRleHRTdHlsZTogew0KICAgICAgICAgICAgICAgIGZvbnRTaXplOiAnMzAnLA0KICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6ICdib2xkJywNCiAgICAgICAgICAgICAgICBjb2xvcjogJyMzMzMzMzMnLA0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHRvb2x0aXA6IHsNCiAgICAgICAgICAgICAgdHJpZ2dlcjogJ2l0ZW0nLA0KICAgICAgICAgICAgICBmb3JtYXR0ZXI6ICd7YX0gPGJyLz57Yn06IHtjfSAoe2R9JSknLA0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGxlZ2VuZDogew0KICAgICAgICAgICAgICBvcmllbnQ6ICd2ZXJ0aWNhbCcsDQogICAgICAgICAgICAgIGxlZnQ6IDEwLA0KICAgICAgICAgICAgICBkYXRhOiBbJ+acquefpScsICfnlLcnLCAn5aWzJ10sDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgc2VyaWVzOiBbDQogICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBuYW1lOiAn6K6/6Zeu5p2l5rqQJywNCiAgICAgICAgICAgICAgICB0eXBlOiAncGllJywNCiAgICAgICAgICAgICAgICByYWRpdXM6IFsnNTAlJywgJzcwJSddLA0KICAgICAgICAgICAgICAgIGF2b2lkTGFiZWxPdmVybGFwOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBsYWJlbDogew0KICAgICAgICAgICAgICAgICAgc2hvdzogZmFsc2UsDQogICAgICAgICAgICAgICAgICBwb3NpdGlvbjogJ2NlbnRlcicsDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBsYWJlbExpbmU6IHsNCiAgICAgICAgICAgICAgICAgIHNob3c6IGZhbHNlLA0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgZGF0YTogcmVzLmRhdGEsDQogICAgICAgICAgICAgICAgaXRlbVN0eWxlOiB7DQogICAgICAgICAgICAgICAgICBlbXBoYXNpczogew0KICAgICAgICAgICAgICAgICAgICBzaGFkb3dCbHVyOiAxMCwNCiAgICAgICAgICAgICAgICAgICAgc2hhZG93T2Zmc2V0WDogMCwNCiAgICAgICAgICAgICAgICAgICAgc2hhZG93Q29sb3I6ICdyZ2JhKDAsIDAsIDAsIDAuNSknLA0KICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgIG5vcm1hbDogew0KICAgICAgICAgICAgICAgICAgICBjb2xvcjogZnVuY3Rpb24gKHBhcmFtcykgew0KICAgICAgICAgICAgICAgICAgICAgIC8v6Ieq5a6a5LmJ6aKc6ImyDQogICAgICAgICAgICAgICAgICAgICAgdmFyIGNvbG9yTGlzdCA9IFsnIzk5OTk5OScsICcjMTg5MEZGJywgJyNGRkFCMkInXTsNCiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29sb3JMaXN0W3BhcmFtcy5kYXRhSW5kZXhdOw0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgXSwNCiAgICAgICAgICB9Ow0KICAgICAgICB9KQ0KICAgICAgICAuY2F0Y2goKHJlcykgPT4gew0KICAgICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IocmVzLm1zZyk7DQogICAgICAgIH0pOw0KICAgIH0sDQogIH0sDQp9Ow0K"},{"version":3,"sources":["userRegion.vue"],"names":[],"mappings":";AAiDA;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;AACA;AACA;AACA;AACA","file":"userRegion.vue","sourceRoot":"src/pages/statistic/user/components","sourcesContent":["<template>\r\n <el-row :gutter=\"16\">\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"18\">\r\n <el-card :bordered=\"false\" shadow=\"never\" class=\"ivu-mt-16\">\r\n <div class=\"acea-row row-between-wrapper\">\r\n <h4 class=\"statics-header-title mb20\">用户地域分布</h4>\r\n </div>\r\n <el-row>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"10\">\r\n <div class=\"echarts\">\r\n <div :style=\"{ height: '400px', width: '100%' }\" ref=\"myEchart\"></div>\r\n </div>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"14\">\r\n <div class=\"tables\">\r\n <el-table height=\"400\" :columns=\"columns1\" :data=\"resdataList\">\r\n <el-table-column :label=\"item.title\" :min-width=\"100\" v-for=\"(item, index) in columns1\" :key=\"index\">\r\n <template slot-scope=\"scope\">\r\n <template v-if=\"item.key\">\r\n <div>\r\n <span>{{ scope.row[item.key] }}</span>\r\n </div>\r\n </template>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n </div>\r\n </el-col>\r\n </el-row>\r\n </el-card>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"6\">\r\n <el-card :bordered=\"false\" shadow=\"never\" class=\"ivu-mt-16\">\r\n <div class=\"acea-row row-between-wrapper\">\r\n <h4 class=\"statics-header-title mb20\">用户性别比例</h4>\r\n </div>\r\n <echarts-new\r\n :option-data=\"optionData\"\r\n :styles=\"style\"\r\n height=\"100%\"\r\n width=\"100%\"\r\n v-if=\"optionData\"\r\n ></echarts-new>\r\n </el-card>\r\n </el-col>\r\n </el-row>\r\n</template>\r\n\r\n<script>\r\nimport echarts from 'echarts';\r\nimport '../../../../../node_modules/echarts/map/js/china.js'; // 引入中国地图数据\r\nimport { statisticWechatRegionApi, statisticWechatSexApi } from '@/api/statistic';\r\nimport echartsNew from '@/components/echartsNew/index';\r\nexport default {\r\n name: 'userRegion',\r\n components: {\r\n echartsNew,\r\n },\r\n props: {\r\n formInline: {\r\n type: Object,\r\n default: function () {\r\n return {\r\n channel_type: '',\r\n data: '',\r\n };\r\n },\r\n },\r\n },\r\n data() {\r\n return {\r\n chart: null,\r\n resdata: [],\r\n resdataList: [],\r\n columns1: [\r\n {\r\n title: 'TOP省份',\r\n key: 'province',\r\n },\r\n {\r\n title: '累积用户数',\r\n key: 'allNum',\r\n sortable: true,\r\n },\r\n {\r\n title: '新增用户数',\r\n key: 'newNum',\r\n sortable: true,\r\n },\r\n {\r\n title: '访客数',\r\n key: 'visitNum',\r\n sortable: true,\r\n },\r\n {\r\n title: '支付金额',\r\n key: 'payPrice',\r\n sortable: true,\r\n },\r\n ],\r\n style: { height: '400px' },\r\n optionData: {},\r\n };\r\n },\r\n mounted() {\r\n this.getTrend();\r\n this.getSex();\r\n },\r\n beforeDestroy() {\r\n if (!this.chart) {\r\n return;\r\n }\r\n this.chart.dispose();\r\n this.chart = null;\r\n },\r\n methods: {\r\n chinaConfigure() {\r\n let myChart = echarts.init(this.$refs.myEchart); //这里是为了获得容器所在位置\r\n window.onresize = myChart.resize;\r\n myChart.setOption({\r\n // 进行相关配置\r\n backgroundColor: '#fff',\r\n tooltip: {\r\n trigger: 'item',\r\n formatter: function (params) {\r\n console.log(params, 'params');\r\n return params.data\r\n ? `地区:${params.name}</br>累计用户: ${params.data.value}</br>新增用户: ${params.data.newNum}</br>访客数: ${params.data.visitNum}</br>支付金额: ${params.data.payPrice}`\r\n : `地区:${params.name}</br>累计用户: 0</br>新增用户: 0</br>访客数: 0</br>支付金额: 0`;\r\n },\r\n }, // 鼠标移到图里面的浮动提示框\r\n dataRange: {\r\n show: false,\r\n min: 0,\r\n max: 1000,\r\n text: ['High', 'Low'],\r\n realtime: true,\r\n calculable: true,\r\n color: ['orangered', 'yellow', 'lightskyblue'],\r\n },\r\n geo: {\r\n // 这个是重点配置区\r\n map: 'china', // 表示中国地图\r\n roam: false,\r\n label: {\r\n normal: {\r\n show: false, // 是否显示对应地名\r\n textStyle: {\r\n color: 'rgba(0,0,0,0.4)',\r\n },\r\n },\r\n },\r\n itemStyle: {\r\n normal: {\r\n borderColor: 'rgba(0, 0, 0, 0.2)',\r\n },\r\n emphasis: {\r\n areaColor: null,\r\n shadowOffsetX: 0,\r\n shadowOffsetY: 0,\r\n shadowBlur: 20,\r\n borderWidth: 0,\r\n shadowColor: 'rgba(0, 0, 0, 0.5)',\r\n },\r\n },\r\n },\r\n series: [\r\n {\r\n type: 'scatter',\r\n zoom: 1.2,\r\n aspectScale: 1.75, //长宽比\r\n coordinateSystem: 'geo', // 对应上方配置\r\n },\r\n {\r\n type: 'map',\r\n geoIndex: 0,\r\n data: this.resdata,\r\n },\r\n ],\r\n });\r\n },\r\n // 统计图\r\n getTrend() {\r\n statisticWechatRegionApi(this.formInline)\r\n .then(async (res) => {\r\n this.resdataList = res.data;\r\n this.resdata = res.data.map((item) => {\r\n let jsonData = {};\r\n jsonData.name = item.province.replace('省', '');\r\n jsonData.value = item.allNum;\r\n jsonData.newNum = item.newNum;\r\n jsonData.payPrice = item.payPrice;\r\n jsonData.visitNum = item.visitNum;\r\n return jsonData;\r\n });\r\n this.chinaConfigure();\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n //性别\r\n getSex() {\r\n statisticWechatSexApi(this.formInline)\r\n .then(async (res) => {\r\n let totalSumAll = 0;\r\n res.data.forEach((item) => {\r\n totalSumAll += item.value;\r\n });\r\n this.optionData = {\r\n title: {\r\n show: true,\r\n text: '总用户数', // 当前写死\r\n subtext: totalSumAll, // 当前写死\r\n x: 'center',\r\n y: 'center',\r\n textStyle: {\r\n fontSize: '14',\r\n color: '#666666',\r\n },\r\n subtextStyle: {\r\n fontSize: '30',\r\n fontWeight: 'bold',\r\n color: '#333333',\r\n },\r\n },\r\n tooltip: {\r\n trigger: 'item',\r\n formatter: '{a} <br/>{b}: {c} ({d}%)',\r\n },\r\n legend: {\r\n orient: 'vertical',\r\n left: 10,\r\n data: ['未知', '男', '女'],\r\n },\r\n series: [\r\n {\r\n name: '访问来源',\r\n type: 'pie',\r\n radius: ['50%', '70%'],\r\n avoidLabelOverlap: false,\r\n label: {\r\n show: false,\r\n position: 'center',\r\n },\r\n labelLine: {\r\n show: false,\r\n },\r\n data: res.data,\r\n itemStyle: {\r\n emphasis: {\r\n shadowBlur: 10,\r\n shadowOffsetX: 0,\r\n shadowColor: 'rgba(0, 0, 0, 0.5)',\r\n },\r\n normal: {\r\n color: function (params) {\r\n //自定义颜色\r\n var colorList = ['#999999', '#1890FF', '#FFAB2B'];\r\n return colorList[params.dataIndex];\r\n },\r\n },\r\n },\r\n },\r\n ],\r\n };\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.echarts {\r\n width: 100%;\r\n}\r\n.tables {\r\n width: 100%;\r\n ::v-deep .ivu-table-overflowY {\r\n &::-webkit-scrollbar {\r\n width: 0;\r\n }\r\n &::-webkit-scrollbar-track {\r\n background-color: transparent;\r\n }\r\n &::-webkit-scrollbar-thumb {\r\n background: #e8eaec;\r\n }\r\n }\r\n}\r\n</style>\r\n"]}]}
|