1 line
9.6 KiB
JSON
1 line
9.6 KiB
JSON
{"remainingRequest":"E:\\项目\\suyiScreen\\node_modules\\babel-loader\\lib\\index.js!E:\\项目\\suyiScreen\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!E:\\项目\\suyiScreen\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!E:\\项目\\suyiScreen\\node_modules\\@jiaminghi\\data-view\\lib\\components\\capsuleChart\\src\\main.vue?vue&type=script&lang=js&","dependencies":[{"path":"E:\\项目\\suyiScreen\\node_modules\\@jiaminghi\\data-view\\lib\\components\\capsuleChart\\src\\main.vue","mtime":1670569849669},{"path":"E:\\项目\\suyiScreen\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1670569853083},{"path":"E:\\项目\\suyiScreen\\node_modules\\babel-loader\\lib\\index.js","mtime":1670569850970},{"path":"E:\\项目\\suyiScreen\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1670569853083},{"path":"E:\\项目\\suyiScreen\\node_modules\\vue-loader\\lib\\index.js","mtime":1670569867456}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZmlsbCI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5Lm1hcCI7CmltcG9ydCBfdG9Db25zdW1hYmxlQXJyYXkgZnJvbSAiRTpcXFx1OTg3OVx1NzZFRVxcc3V5aVNjcmVlblxcbm9kZV9tb2R1bGVzXFxAYmFiZWxcXHJ1bnRpbWUvaGVscGVycy9lc20vdG9Db25zdW1hYmxlQXJyYXkiOwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwppbXBvcnQgeyBkZWVwTWVyZ2UgfSBmcm9tICdAamlhbWluZ2hpL2NoYXJ0cy9saWIvdXRpbC9pbmRleCc7CmltcG9ydCB7IGRlZXBDbG9uZSB9IGZyb20gJ0BqaWFtaW5naGkvYy1yZW5kZXIvbGliL3BsdWdpbi91dGlsJzsKZXhwb3J0IGRlZmF1bHQgewogIG5hbWU6ICdEdkNhcHN1bGVDaGFydCcsCiAgcHJvcHM6IHsKICAgIGNvbmZpZzogewogICAgICB0eXBlOiBPYmplY3QsCiAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkgewogICAgICAgIHJldHVybiB7fTsKICAgICAgfQogICAgfQogIH0sCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIGRlZmF1bHRDb25maWc6IHsKICAgICAgICAvKioNCiAgICAgICAgICogQGRlc2NyaXB0aW9uIENhcHN1bGUgY2hhcnQgZGF0YQ0KICAgICAgICAgKiBAdHlwZSB7QXJyYXk8T2JqZWN0Pn0NCiAgICAgICAgICogQGRlZmF1bHQgZGF0YSA9IFtdDQogICAgICAgICAqIEBleGFtcGxlIGRhdGEgPSBbeyBuYW1lOiAnZm9vMScsIHZhbHVlOiAxMDAgfSwgeyBuYW1lOiAnZm9vMicsIHZhbHVlOiAxMDAgfV0NCiAgICAgICAgICovCiAgICAgICAgZGF0YTogW10sCgogICAgICAgIC8qKg0KICAgICAgICAgKiBAZGVzY3JpcHRpb24gQ29sb3JzIChoZXh8cmdifHJnYmF8Y29sb3Iga2V5d29yZHMpDQogICAgICAgICAqIEB0eXBlIHtBcnJheTxTdHJpbmc+fQ0KICAgICAgICAgKiBAZGVmYXVsdCBjb2xvciA9IFsnIzM3YTJkYScsICcjMzJjNWU5JywgJyM2N2UwZTMnLCAnIzlmZTZiOCcsICcjZmZkYjVjJywgJyNmZjlmN2YnLCAnI2ZiNzI5MyddDQogICAgICAgICAqIEBleGFtcGxlIGNvbG9yID0gWycjMDAwJywgJ3JnYigwLCAwLCAwKScsICdyZ2JhKDAsIDAsIDAsIDEpJywgJ3JlZCddDQogICAgICAgICAqLwogICAgICAgIGNvbG9yczogWycjMzdhMmRhJywgJyMzMmM1ZTknLCAnIzY3ZTBlMycsICcjOWZlNmI4JywgJyNmZmRiNWMnLCAnI2ZmOWY3ZicsICcjZmI3MjkzJ10sCgogICAgICAgIC8qKg0KICAgICAgICAgKiBAZGVzY3JpcHRpb24gQ2hhcnQgdW5pdA0KICAgICAgICAgKiBAdHlwZSB7U3RyaW5nfQ0KICAgICAgICAgKiBAZGVmYXVsdCB1bml0ID0gJycNCiAgICAgICAgICovCiAgICAgICAgdW5pdDogJycKICAgICAgfSwKICAgICAgbWVyZ2VkQ29uZmlnOiBudWxsLAogICAgICBjYXBzdWxlTGVuZ3RoOiBbXSwKICAgICAgbGFiZWxEYXRhOiBbXQogICAgfTsKICB9LAogIHdhdGNoOiB7CiAgICBjb25maWc6IGZ1bmN0aW9uIGNvbmZpZygpIHsKICAgICAgdmFyIGNhbGNEYXRhID0gdGhpcy5jYWxjRGF0YTsKICAgICAgY2FsY0RhdGEoKTsKICAgIH0KICB9LAogIG1ldGhvZHM6IHsKICAgIGNhbGNEYXRhOiBmdW5jdGlvbiBjYWxjRGF0YSgpIHsKICAgICAgdmFyIG1lcmdlQ29uZmlnID0gdGhpcy5tZXJnZUNvbmZpZywKICAgICAgICAgIGNhbGNDYXBzdWxlTGVuZ3RoQW5kTGFiZWxEYXRhID0gdGhpcy5jYWxjQ2Fwc3VsZUxlbmd0aEFuZExhYmVsRGF0YTsKICAgICAgbWVyZ2VDb25maWcoKTsKICAgICAgY2FsY0NhcHN1bGVMZW5ndGhBbmRMYWJlbERhdGEoKTsKICAgIH0sCiAgICBtZXJnZUNvbmZpZzogZnVuY3Rpb24gbWVyZ2VDb25maWcoKSB7CiAgICAgIHZhciBjb25maWcgPSB0aGlzLmNvbmZpZywKICAgICAgICAgIGRlZmF1bHRDb25maWcgPSB0aGlzLmRlZmF1bHRDb25maWc7CiAgICAgIHRoaXMubWVyZ2VkQ29uZmlnID0gZGVlcE1lcmdlKGRlZXBDbG9uZShkZWZhdWx0Q29uZmlnLCB0cnVlKSwgY29uZmlnIHx8IHt9KTsKICAgIH0sCiAgICBjYWxjQ2Fwc3VsZUxlbmd0aEFuZExhYmVsRGF0YTogZnVuY3Rpb24gY2FsY0NhcHN1bGVMZW5ndGhBbmRMYWJlbERhdGEoKSB7CiAgICAgIHZhciBkYXRhID0gdGhpcy5tZXJnZWRDb25maWcuZGF0YTsKICAgICAgaWYgKCFkYXRhLmxlbmd0aCkgcmV0dXJuOwogICAgICB2YXIgY2Fwc3VsZVZhbHVlID0gZGF0YS5tYXAoZnVuY3Rpb24gKF9yZWYpIHsKICAgICAgICB2YXIgdmFsdWUgPSBfcmVmLnZhbHVlOwogICAgICAgIHJldHVybiB2YWx1ZTsKICAgICAgfSk7CiAgICAgIHZhciBtYXhWYWx1ZSA9IE1hdGgubWF4LmFwcGx5KE1hdGgsIF90b0NvbnN1bWFibGVBcnJheShjYXBzdWxlVmFsdWUpKTsKICAgICAgdGhpcy5jYXBzdWxlTGVuZ3RoID0gY2Fwc3VsZVZhbHVlLm1hcChmdW5jdGlvbiAodikgewogICAgICAgIHJldHVybiBtYXhWYWx1ZSA/IHYgLyBtYXhWYWx1ZSA6IDA7CiAgICAgIH0pOwogICAgICB2YXIgb25lRmlmdGggPSBtYXhWYWx1ZSAvIDU7CiAgICAgIHRoaXMubGFiZWxEYXRhID0gbmV3IEFycmF5KDYpLmZpbGwoMCkubWFwKGZ1bmN0aW9uICh2LCBpKSB7CiAgICAgICAgcmV0dXJuIE1hdGguY2VpbChpICogb25lRmlmdGgpOwogICAgICB9KTsKICAgIH0KICB9LAogIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7CiAgICB2YXIgY2FsY0RhdGEgPSB0aGlzLmNhbGNEYXRhOwogICAgY2FsY0RhdGEoKTsKICB9Cn07"},{"version":3,"sources":["main.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,SAAA,SAAA,QAAA,kCAAA;AAEA,SAAA,SAAA,QAAA,qCAAA;AAEA,eAAA;AACA,EAAA,IAAA,EAAA,gBADA;AAEA,EAAA,KAAA,EAAA;AACA,IAAA,MAAA,EAAA;AACA,MAAA,IAAA,EAAA,MADA;AAEA,MAAA,OAAA,EAAA;AAAA,eAAA,EAAA;AAAA;AAFA;AADA,GAFA;AAQA,EAAA,IARA,kBAQA;AACA,WAAA;AACA,MAAA,aAAA,EAAA;AACA;;;;;;AAMA,QAAA,IAAA,EAAA,EAPA;;AAQA;;;;;;AAMA,QAAA,MAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,SAAA,EAAA,SAAA,EAAA,SAAA,EAAA,SAAA,EAAA,SAAA,CAdA;;AAeA;;;;;AAKA,QAAA,IAAA,EAAA;AApBA,OADA;AAwBA,MAAA,YAAA,EAAA,IAxBA;AA0BA,MAAA,aAAA,EAAA,EA1BA;AA2BA,MAAA,SAAA,EAAA;AA3BA,KAAA;AA6BA,GAtCA;AAuCA,EAAA,KAAA,EAAA;AACA,IAAA,MADA,oBACA;AAAA,UACA,QADA,GACA,IADA,CACA,QADA;AAGA,MAAA,QAAA;AACA;AALA,GAvCA;AA8CA,EAAA,OAAA,EAAA;AACA,IAAA,QADA,sBACA;AAAA,UACA,WADA,GACA,IADA,CACA,WADA;AAAA,UACA,6BADA,GACA,IADA,CACA,6BADA;AAGA,MAAA,WAAA;AAEA,MAAA,6BAAA;AACA,KAPA;AAQA,IAAA,WARA,yBAQA;AAAA,UACA,MADA,GACA,IADA,CACA,MADA;AAAA,UACA,aADA,GACA,IADA,CACA,aADA;AAGA,WAAA,YAAA,GAAA,SAAA,CAAA,SAAA,CAAA,aAAA,EAAA,IAAA,CAAA,EAAA,MAAA,IAAA,EAAA,CAAA;AACA,KAZA;AAaA,IAAA,6BAbA,2CAaA;AAAA,UACA,IADA,GACA,KAAA,YADA,CACA,IADA;AAGA,UAAA,CAAA,IAAA,CAAA,MAAA,EAAA;AAEA,UAAA,YAAA,GAAA,IAAA,CAAA,GAAA,CAAA;AAAA,YAAA,KAAA,QAAA,KAAA;AAAA,eAAA,KAAA;AAAA,OAAA,CAAA;AAEA,UAAA,QAAA,GAAA,IAAA,CAAA,GAAA,OAAA,IAAA,qBAAA,YAAA,EAAA;AAEA,WAAA,aAAA,GAAA,YAAA,CAAA,GAAA,CAAA,UAAA,CAAA;AAAA,eAAA,QAAA,GAAA,CAAA,GAAA,QAAA,GAAA,CAAA;AAAA,OAAA,CAAA;AAEA,UAAA,QAAA,GAAA,QAAA,GAAA,CAAA;AAEA,WAAA,SAAA,GAAA,IAAA,KAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA,EAAA,GAAA,CAAA,UAAA,CAAA,EAAA,CAAA;AAAA,eAAA,IAAA,CAAA,IAAA,CAAA,CAAA,GAAA,QAAA,CAAA;AAAA,OAAA,CAAA;AACA;AA3BA,GA9CA;AA2EA,EAAA,OA3EA,qBA2EA;AAAA,QACA,QADA,GACA,IADA,CACA,QADA;AAGA,IAAA,QAAA;AACA;AA/EA,CAAA","sourcesContent":["<template>\r\n <div class=\"dv-capsule-chart\">\r\n <template v-if=\"mergedConfig\">\r\n <div class=\"label-column\">\r\n <div v-for=\"item in mergedConfig.data\" :key=\"item.name\">{{ item.name }}</div>\r\n <div> </div>\r\n </div>\r\n\r\n <div class=\"capsule-container\">\r\n <div\r\n class=\"capsule-item\"\r\n v-for=\"(capsule, index) in capsuleLength\"\r\n :key=\"index\"\r\n >\r\n <div :style=\"`width: ${capsule * 100}%; background-color: ${mergedConfig.colors[index % mergedConfig.colors.length]};`\"></div>\r\n </div>\r\n\r\n <div class=\"unit-label\">\r\n <div v-for=\"(label, index) in labelData\" :key=\"label + index\">{{ label }}</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"unit-text\" v-if=\"mergedConfig.unit\">{{ mergedConfig.unit }}</div>\r\n </template>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { deepMerge } from '@jiaminghi/charts/lib/util/index'\r\n\r\nimport { deepClone } from '@jiaminghi/c-render/lib/plugin/util'\r\n\r\nexport default {\r\n name: 'DvCapsuleChart',\r\n props: {\r\n config: {\r\n type: Object,\r\n default: () => ({})\r\n }\r\n },\r\n data () {\r\n return {\r\n defaultConfig: {\r\n /**\r\n * @description Capsule chart data\r\n * @type {Array<Object>}\r\n * @default data = []\r\n * @example data = [{ name: 'foo1', value: 100 }, { name: 'foo2', value: 100 }]\r\n */\r\n data: [],\r\n /**\r\n * @description Colors (hex|rgb|rgba|color keywords)\r\n * @type {Array<String>}\r\n * @default color = ['#37a2da', '#32c5e9', '#67e0e3', '#9fe6b8', '#ffdb5c', '#ff9f7f', '#fb7293']\r\n * @example color = ['#000', 'rgb(0, 0, 0)', 'rgba(0, 0, 0, 1)', 'red']\r\n */\r\n colors: ['#37a2da', '#32c5e9', '#67e0e3', '#9fe6b8', '#ffdb5c', '#ff9f7f', '#fb7293'],\r\n /**\r\n * @description Chart unit\r\n * @type {String}\r\n * @default unit = ''\r\n */\r\n unit: ''\r\n },\r\n\r\n mergedConfig: null,\r\n\r\n capsuleLength: [],\r\n labelData: []\r\n }\r\n },\r\n watch: {\r\n config () {\r\n const { calcData } = this\r\n\r\n calcData()\r\n }\r\n },\r\n methods: {\r\n calcData () {\r\n const { mergeConfig, calcCapsuleLengthAndLabelData } = this\r\n\r\n mergeConfig()\r\n\r\n calcCapsuleLengthAndLabelData()\r\n },\r\n mergeConfig () {\r\n let { config, defaultConfig } = this\r\n\r\n this.mergedConfig = deepMerge(deepClone(defaultConfig, true), config || {})\r\n },\r\n calcCapsuleLengthAndLabelData () {\r\n const { data } = this.mergedConfig\r\n\r\n if (!data.length) return\r\n\r\n const capsuleValue = data.map(({ value }) => value)\r\n\r\n const maxValue = Math.max(...capsuleValue)\r\n\r\n this.capsuleLength = capsuleValue.map(v => maxValue ? v / maxValue : 0)\r\n\r\n const oneFifth = maxValue / 5\r\n\r\n this.labelData = new Array(6).fill(0).map((v, i) => Math.ceil(i * oneFifth))\r\n }\r\n },\r\n mounted () {\r\n const { calcData } = this\r\n\r\n calcData()\r\n }\r\n}\r\n</script>"],"sourceRoot":"node_modules/@jiaminghi/data-view/lib/components/capsuleChart/src"}]} |