suyiScreen/node_modules/.cache/vue-loader/992fc04eb2136282a9cf7e9442b...

1 line
12 KiB
JSON

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