1 line
16 KiB
JSON
1 line
16 KiB
JSON
{"remainingRequest":"F:\\lixiaobang\\suyi\\suyiScreen\\node_modules\\thread-loader\\dist\\cjs.js!F:\\lixiaobang\\suyi\\suyiScreen\\node_modules\\babel-loader\\lib\\index.js!F:\\lixiaobang\\suyi\\suyiScreen\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!F:\\lixiaobang\\suyi\\suyiScreen\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!F:\\lixiaobang\\suyi\\suyiScreen\\node_modules\\@jiaminghi\\data-view\\lib\\components\\conicalColumnChart\\src\\main.vue?vue&type=script&lang=js&","dependencies":[{"path":"F:\\lixiaobang\\suyi\\suyiScreen\\node_modules\\@jiaminghi\\data-view\\lib\\components\\conicalColumnChart\\src\\main.vue","mtime":1670891602054},{"path":"F:\\lixiaobang\\suyi\\suyiScreen\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1670891604112},{"path":"F:\\lixiaobang\\suyi\\suyiScreen\\node_modules\\thread-loader\\dist\\cjs.js","mtime":1670891613575},{"path":"F:\\lixiaobang\\suyi\\suyiScreen\\node_modules\\babel-loader\\lib\\index.js","mtime":1670891602826},{"path":"F:\\lixiaobang\\suyi\\suyiScreen\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1670891604112},{"path":"F:\\lixiaobang\\suyi\\suyiScreen\\node_modules\\vue-loader\\lib\\index.js","mtime":1670891614530}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuY29uY2F0IjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkubWFwIjsKaW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSAiRjpcXGxpeGlhb2JhbmdcXHN1eWlcXHN1eWlTY3JlZW5cXG5vZGVfbW9kdWxlc1xcQGJhYmVsXFxydW50aW1lL2hlbHBlcnMvZXNtL29iamVjdFNwcmVhZDIiOwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwppbXBvcnQgYXV0b1Jlc2l6ZSBmcm9tICcuLi8uLi8uLi9taXhpbi9hdXRvUmVzaXplJzsKaW1wb3J0IHsgZGVlcE1lcmdlIH0gZnJvbSAnQGppYW1pbmdoaS9jaGFydHMvbGliL3V0aWwvaW5kZXgnOwppbXBvcnQgeyBkZWVwQ2xvbmUgfSBmcm9tICdAamlhbWluZ2hpL2MtcmVuZGVyL2xpYi9wbHVnaW4vdXRpbCc7CmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAnRHZDb25pY2FsQ29sdW1uQ2hhcnQnLAogIG1peGluczogW2F1dG9SZXNpemVdLAogIHByb3BzOiB7CiAgICBjb25maWc6IHsKICAgICAgdHlwZTogT2JqZWN0LAogICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHsKICAgICAgICByZXR1cm4ge307CiAgICAgIH0KICAgIH0KICB9LAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICByZWY6ICdjb25pY2FsLWNvbHVtbi1jaGFydCcsCiAgICAgIGRlZmF1bHRDb25maWc6IHsKICAgICAgICAvKioNCiAgICAgICAgICogQGRlc2NyaXB0aW9uIENoYXJ0IGRhdGENCiAgICAgICAgICogQHR5cGUge0FycmF5PE9iamVjdD59DQogICAgICAgICAqIEBkZWZhdWx0IGRhdGEgPSBbXQ0KICAgICAgICAgKi8KICAgICAgICBkYXRhOiBbXSwKCiAgICAgICAgLyoqDQogICAgICAgICAqIEBkZXNjcmlwdGlvbiBDaGFydCBpbWcNCiAgICAgICAgICogQHR5cGUge0FycmF5PFN0cmluZz59DQogICAgICAgICAqIEBkZWZhdWx0IGltZyA9IFtdDQogICAgICAgICAqLwogICAgICAgIGltZzogW10sCgogICAgICAgIC8qKg0KICAgICAgICAgKiBAZGVzY3JpcHRpb24gQ2hhcnQgZm9udCBzaXplDQogICAgICAgICAqIEB0eXBlIHtOdW1iZXJ9DQogICAgICAgICAqIEBkZWZhdWx0IGZvbnRTaXplID0gMTINCiAgICAgICAgICovCiAgICAgICAgZm9udFNpemU6IDEyLAoKICAgICAgICAvKioNCiAgICAgICAgICogQGRlc2NyaXB0aW9uIEltZyBzaWRlIGxlbmd0aA0KICAgICAgICAgKiBAdHlwZSB7TnVtYmVyfQ0KICAgICAgICAgKiBAZGVmYXVsdCBpbWdTaWRlTGVuZ3RoID0gMzANCiAgICAgICAgICovCiAgICAgICAgaW1nU2lkZUxlbmd0aDogMzAsCgogICAgICAgIC8qKg0KICAgICAgICAgKiBAZGVzY3JpcHRpb24gQ29sdW1uIGNvbG9yDQogICAgICAgICAqIEB0eXBlIHtTdHJpbmd9DQogICAgICAgICAqIEBkZWZhdWx0IGNvbHVtbkNvbG9yID0gJ3JnYmEoMCwgMTk0LCAyNTUsIDAuNCknDQogICAgICAgICAqLwogICAgICAgIGNvbHVtbkNvbG9yOiAncmdiYSgwLCAxOTQsIDI1NSwgMC40KScsCgogICAgICAgIC8qKg0KICAgICAgICAgKiBAZGVzY3JpcHRpb24gVGV4dCBjb2xvcg0KICAgICAgICAgKiBAdHlwZSB7U3RyaW5nfQ0KICAgICAgICAgKiBAZGVmYXVsdCB0ZXh0Q29sb3IgPSAnI2ZmZicNCiAgICAgICAgICovCiAgICAgICAgdGV4dENvbG9yOiAnI2ZmZicsCgogICAgICAgIC8qKg0KICAgICAgICAgKiBAZGVzY3JpcHRpb24gU2hvdyB2YWx1ZQ0KICAgICAgICAgKiBAdHlwZSB7Qm9vbGVhbn0NCiAgICAgICAgICogQGRlZmF1bHQgc2hvd1ZhbHVlID0gZmFsc2UNCiAgICAgICAgICovCiAgICAgICAgc2hvd1ZhbHVlOiBmYWxzZQogICAgICB9LAogICAgICBtZXJnZWRDb25maWc6IG51bGwsCiAgICAgIGNvbHVtbjogW10KICAgIH07CiAgfSwKICB3YXRjaDogewogICAgY29uZmlnOiBmdW5jdGlvbiBjb25maWcoKSB7CiAgICAgIHZhciBjYWxjRGF0YSA9IHRoaXMuY2FsY0RhdGE7CiAgICAgIGNhbGNEYXRhKCk7CiAgICB9CiAgfSwKICBtZXRob2RzOiB7CiAgICBhZnRlckF1dG9SZXNpemVNaXhpbkluaXQ6IGZ1bmN0aW9uIGFmdGVyQXV0b1Jlc2l6ZU1peGluSW5pdCgpIHsKICAgICAgdmFyIGNhbGNEYXRhID0gdGhpcy5jYWxjRGF0YTsKICAgICAgY2FsY0RhdGEoKTsKICAgIH0sCiAgICBvblJlc2l6ZTogZnVuY3Rpb24gb25SZXNpemUoKSB7CiAgICAgIHZhciBjYWxjRGF0YSA9IHRoaXMuY2FsY0RhdGE7CiAgICAgIGNhbGNEYXRhKCk7CiAgICB9LAogICAgY2FsY0RhdGE6IGZ1bmN0aW9uIGNhbGNEYXRhKCkgewogICAgICB2YXIgbWVyZ2VDb25maWcgPSB0aGlzLm1lcmdlQ29uZmlnLAogICAgICAgICAgaW5pdERhdGEgPSB0aGlzLmluaXREYXRhLAogICAgICAgICAgY2FsY1NWR1BhdGggPSB0aGlzLmNhbGNTVkdQYXRoOwogICAgICBtZXJnZUNvbmZpZygpOwogICAgICBpbml0RGF0YSgpOwogICAgICBjYWxjU1ZHUGF0aCgpOwogICAgfSwKICAgIG1lcmdlQ29uZmlnOiBmdW5jdGlvbiBtZXJnZUNvbmZpZygpIHsKICAgICAgdmFyIGRlZmF1bHRDb25maWcgPSB0aGlzLmRlZmF1bHRDb25maWcsCiAgICAgICAgICBjb25maWcgPSB0aGlzLmNvbmZpZzsKICAgICAgdGhpcy5tZXJnZWRDb25maWcgPSBkZWVwTWVyZ2UoZGVlcENsb25lKGRlZmF1bHRDb25maWcsIHRydWUpLCBjb25maWcgfHwge30pOwogICAgfSwKICAgIGluaXREYXRhOiBmdW5jdGlvbiBpbml0RGF0YSgpIHsKICAgICAgdmFyIG1lcmdlZENvbmZpZyA9IHRoaXMubWVyZ2VkQ29uZmlnOwogICAgICB2YXIgZGF0YSA9IG1lcmdlZENvbmZpZy5kYXRhOwogICAgICBkYXRhID0gZGVlcENsb25lKGRhdGEsIHRydWUpOwogICAgICBkYXRhLnNvcnQoZnVuY3Rpb24gKF9yZWYsIF9yZWYyKSB7CiAgICAgICAgdmFyIGEgPSBfcmVmLnZhbHVlOwogICAgICAgIHZhciBiID0gX3JlZjIudmFsdWU7CiAgICAgICAgaWYgKGEgPiBiKSByZXR1cm4gLTE7CiAgICAgICAgaWYgKGEgPCBiKSByZXR1cm4gMTsKICAgICAgICBpZiAoYSA9PT0gYikgcmV0dXJuIDA7CiAgICAgIH0pOwogICAgICB2YXIgbWF4ID0gZGF0YVswXSA/IGRhdGFbMF0udmFsdWUgOiAxMDsKICAgICAgZGF0YSA9IGRhdGEubWFwKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgcmV0dXJuIF9vYmplY3RTcHJlYWQoe30sIGl0ZW0sIHsKICAgICAgICAgIHBlcmNlbnQ6IGl0ZW0udmFsdWUgLyBtYXgKICAgICAgICB9KTsKICAgICAgfSk7CiAgICAgIG1lcmdlZENvbmZpZy5kYXRhID0gZGF0YTsKICAgIH0sCiAgICBjYWxjU1ZHUGF0aDogZnVuY3Rpb24gY2FsY1NWR1BhdGgoKSB7CiAgICAgIHZhciBtZXJnZWRDb25maWcgPSB0aGlzLm1lcmdlZENvbmZpZywKICAgICAgICAgIHdpZHRoID0gdGhpcy53aWR0aCwKICAgICAgICAgIGhlaWdodCA9IHRoaXMuaGVpZ2h0OwogICAgICB2YXIgaW1nU2lkZUxlbmd0aCA9IG1lcmdlZENvbmZpZy5pbWdTaWRlTGVuZ3RoLAogICAgICAgICAgZm9udFNpemUgPSBtZXJnZWRDb25maWcuZm9udFNpemUsCiAgICAgICAgICBkYXRhID0gbWVyZ2VkQ29uZmlnLmRhdGE7CiAgICAgIHZhciBpdGVtTnVtID0gZGF0YS5sZW5ndGg7CiAgICAgIHZhciBnYXAgPSB3aWR0aCAvIChpdGVtTnVtICsgMSk7CiAgICAgIHZhciB1c2VBYmxlSGVpZ2h0ID0gaGVpZ2h0IC0gaW1nU2lkZUxlbmd0aCAtIGZvbnRTaXplIC0gNTsKICAgICAgdmFyIHN2Z0JvdHRvbSA9IGhlaWdodCAtIGZvbnRTaXplIC0gNTsKICAgICAgdGhpcy5jb2x1bW4gPSBkYXRhLm1hcChmdW5jdGlvbiAoaXRlbSwgaSkgewogICAgICAgIHZhciBwZXJjZW50ID0gaXRlbS5wZXJjZW50OwogICAgICAgIHZhciBtaWRkbGVYUG9zID0gZ2FwICogKGkgKyAxKTsKICAgICAgICB2YXIgbGVmdFhQb3MgPSBnYXAgKiBpOwogICAgICAgIHZhciByaWdodFhwb3MgPSBnYXAgKiAoaSArIDIpOwogICAgICAgIHZhciBtaWRkbGVZUG9zID0gc3ZnQm90dG9tIC0gdXNlQWJsZUhlaWdodCAqIHBlcmNlbnQ7CiAgICAgICAgdmFyIGNvbnRyb2xZUG9zID0gdXNlQWJsZUhlaWdodCAqIHBlcmNlbnQgKiAwLjYgKyBtaWRkbGVZUG9zOwogICAgICAgIHZhciBkID0gIlxuICAgICAgICAgIE0iLmNvbmNhdChsZWZ0WFBvcywgIiwgIikuY29uY2F0KHN2Z0JvdHRvbSwgIlxuICAgICAgICAgIFEiKS5jb25jYXQobWlkZGxlWFBvcywgIiwgIikuY29uY2F0KGNvbnRyb2xZUG9zLCAiICIpLmNvbmNhdChtaWRkbGVYUG9zLCAiLCIpLmNvbmNhdChtaWRkbGVZUG9zLCAiXG4gICAgICAgICAgTSIpLmNvbmNhdChtaWRkbGVYUG9zLCAiLCIpLmNvbmNhdChtaWRkbGVZUG9zLCAiXG4gICAgICAgICAgUSIpLmNvbmNhdChtaWRkbGVYUG9zLCAiLCAiKS5jb25jYXQoY29udHJvbFlQb3MsICIgIikuY29uY2F0KHJpZ2h0WHBvcywgIiwiKS5jb25jYXQoc3ZnQm90dG9tLCAiXG4gICAgICAgICAgTCIpLmNvbmNhdChsZWZ0WFBvcywgIiwgIikuY29uY2F0KHN2Z0JvdHRvbSwgIlxuICAgICAgICAgIFpcbiAgICAgICAgIik7CiAgICAgICAgdmFyIHRleHRZID0gKHN2Z0JvdHRvbSArIG1pZGRsZVlQb3MpIC8gMiArIGZvbnRTaXplIC8gMjsKICAgICAgICByZXR1cm4gX29iamVjdFNwcmVhZCh7fSwgaXRlbSwgewogICAgICAgICAgZDogZCwKICAgICAgICAgIHg6IG1pZGRsZVhQb3MsCiAgICAgICAgICB5OiBtaWRkbGVZUG9zLAogICAgICAgICAgdGV4dFk6IHRleHRZCiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfQogIH0KfTs="},{"version":3,"sources":["main.vue"],"names":[],"mappings":"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","sourcesContent":["<template>\r\n <div class=\"dv-conical-column-chart\" :ref=\"ref\">\r\n <svg :width=\"width\" :height=\"height\">\r\n <g\r\n v-for=\"(item, i) in column\"\r\n :key=\"i\"\r\n >\r\n <path\r\n :d=\"item.d\"\r\n :fill=\"mergedConfig.columnColor\"\r\n />\r\n <text\r\n :style=\"`fontSize:${mergedConfig.fontSize}px`\"\r\n :fill=\"mergedConfig.textColor\"\r\n :x=\"item.x\"\r\n :y=\"height - 4\"\r\n >\r\n {{ item.name }}\r\n </text>\r\n <image\r\n v-if=\"mergedConfig.img.length\"\r\n :xlink:href=\"mergedConfig.img[i % mergedConfig.img.length]\"\r\n :width=\"mergedConfig.imgSideLength\"\r\n :height=\"mergedConfig.imgSideLength\"\r\n :x=\"item.x - mergedConfig.imgSideLength / 2\"\r\n :y=\"item.y - mergedConfig.imgSideLength\"\r\n />\r\n <text\r\n v-if=\"mergedConfig.showValue\"\r\n :style=\"`fontSize:${mergedConfig.fontSize}px`\"\r\n :fill=\"mergedConfig.textColor\"\r\n :x=\"item.x\"\r\n :y=\"item.textY\"\r\n >\r\n {{ item.value }}\r\n </text>\r\n </g>\r\n </svg>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport autoResize from '../../../mixin/autoResize'\r\n\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: 'DvConicalColumnChart',\r\n mixins: [autoResize],\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 ref: 'conical-column-chart',\r\n\r\n defaultConfig: {\r\n /**\r\n * @description Chart data\r\n * @type {Array<Object>}\r\n * @default data = []\r\n */\r\n data: [],\r\n /**\r\n * @description Chart img\r\n * @type {Array<String>}\r\n * @default img = []\r\n */\r\n img: [],\r\n /**\r\n * @description Chart font size\r\n * @type {Number}\r\n * @default fontSize = 12\r\n */\r\n fontSize: 12,\r\n /**\r\n * @description Img side length\r\n * @type {Number}\r\n * @default imgSideLength = 30\r\n */\r\n imgSideLength: 30,\r\n /**\r\n * @description Column color\r\n * @type {String}\r\n * @default columnColor = 'rgba(0, 194, 255, 0.4)'\r\n */\r\n columnColor: 'rgba(0, 194, 255, 0.4)',\r\n /**\r\n * @description Text color\r\n * @type {String}\r\n * @default textColor = '#fff'\r\n */\r\n textColor: '#fff',\r\n /**\r\n * @description Show value\r\n * @type {Boolean}\r\n * @default showValue = false\r\n */\r\n showValue: false\r\n },\r\n\r\n mergedConfig: null,\r\n\r\n column: []\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 afterAutoResizeMixinInit () {\r\n const { calcData } = this\r\n\r\n calcData()\r\n },\r\n onResize () {\r\n const { calcData } = this\r\n\r\n calcData()\r\n },\r\n calcData () {\r\n const { mergeConfig, initData, calcSVGPath } = this\r\n\r\n mergeConfig()\r\n\r\n initData()\r\n\r\n calcSVGPath()\r\n },\r\n mergeConfig () {\r\n const { defaultConfig, config } = this\r\n\r\n this.mergedConfig = deepMerge(deepClone(defaultConfig, true), config || {})\r\n },\r\n initData () {\r\n const { mergedConfig } = this\r\n let { data } = mergedConfig\r\n\r\n data = deepClone(data, true)\r\n\r\n data.sort(({ value: a }, { value: b }) => {\r\n if (a > b) return -1\r\n if (a < b) return 1\r\n if (a === b) return 0\r\n })\r\n\r\n const max = data[0] ? data[0].value : 10\r\n\r\n data = data.map(item => ({\r\n ...item,\r\n percent: item.value / max\r\n }))\r\n\r\n mergedConfig.data = data\r\n },\r\n calcSVGPath () {\r\n const { mergedConfig, width, height } = this\r\n\r\n const { imgSideLength, fontSize, data } = mergedConfig\r\n\r\n const itemNum = data.length\r\n const gap = width / (itemNum + 1)\r\n\r\n const useAbleHeight = height - imgSideLength - fontSize - 5\r\n const svgBottom = height - fontSize - 5\r\n\r\n this.column = data.map((item, i) => {\r\n const { percent } = item\r\n\r\n const middleXPos = gap * (i + 1)\r\n const leftXPos = gap * i\r\n const rightXpos = gap * (i + 2)\r\n\r\n const middleYPos = svgBottom - useAbleHeight * percent\r\n const controlYPos = useAbleHeight * percent * 0.6 + middleYPos\r\n\r\n const d = `\r\n M${leftXPos}, ${svgBottom}\r\n Q${middleXPos}, ${controlYPos} ${middleXPos},${middleYPos}\r\n M${middleXPos},${middleYPos}\r\n Q${middleXPos}, ${controlYPos} ${rightXpos},${svgBottom}\r\n L${leftXPos}, ${svgBottom}\r\n Z\r\n `\r\n\r\n const textY = (svgBottom + middleYPos) / 2 + fontSize / 2\r\n\r\n return {\r\n ...item,\r\n d,\r\n x: middleXPos,\r\n y: middleYPos,\r\n textY\r\n }\r\n })\r\n }\r\n }\r\n}\r\n</script>"],"sourceRoot":"node_modules/@jiaminghi/data-view/lib/components/conicalColumnChart/src"}]} |