Commit a2f6aec1218641b2d81842b4038d6b1b9e08e33a

Authored by qianbao
1 parent ae498fdd

1、鼠标批量移动

config/dev.env.js
... ... @@ -2,10 +2,10 @@
2 2 const merge = require('webpack-merge')
3 3 const prodEnv = require('./prod.env')
4 4 //是否开发状态
5   -const isDev = true;
  5 +const isDev = false;
6 6 //开发API地址
7   -const devAdrress='"http://weberp.xlyprint.cn/xlyReport"';
8   -// const devAdrress='"http://127.0.0.1:8080/xlyReport"';
  7 +// const devAdrress='"http://weberp.xlyprint.cn/xlyReport"';
  8 +const devAdrress='"http://127.0.0.1:8080/xlyReport"';
9 9 //正式打包API地址
10 10 const ipAdrress='"http://"+location.host+"/xlyReport"';
11 11  
... ...
config/index.js
... ... @@ -48,8 +48,8 @@ module.exports = {
48 48  
49 49 // Paths
50 50 assetsRoot: path.resolve(__dirname, '../dist'),
51   - //assetsSubDirectory: 'BI/static', //正式打包 因为nginx转发原因,需要指定路径
52   - assetsSubDirectory: 'static',
  51 + // assetsSubDirectory: 'static', //正式打包 因为nginx转发原因,需要指定路径
  52 + assetsSubDirectory: '/static',
53 53  
54 54 /**
55 55 * You can set by youself according to actual condition
... ... @@ -58,7 +58,7 @@ module.exports = {
58 58 * then assetsPublicPath should be set to "/bar/".
59 59 * In most cases please use '/' !!!
60 60 */
61   - assetsPublicPath: '/BI/',//正式打包 因为nginx转发原因,需要指定路径
  61 + assetsPublicPath: '/',//正式打包 因为nginx转发原因,需要指定路径
62 62  
63 63 /**
64 64 * Source Maps
... ...
src/mixins/queryform.js
... ... @@ -98,6 +98,7 @@ export default {
98 98 queryEchartsData(params) {
99 99 return new Promise(async (resolve) => {
100 100 const { code, data } = await getData(params);
  101 + // console.log(data,2222222);
101 102 if (code != 200) return
102 103 const analysisData = this.analysisChartsData(params, data);
103 104 resolve(analysisData)
... ... @@ -105,7 +106,7 @@ export default {
105 106 },
106 107 // 解析不同图标的数据
107 108 analysisChartsData(params, data) {
108   - // widget-barchart 柱线图、widget-linechart 折线图、 widget-barlinechart 柱线图
  109 + // widget-barchart 柱线图、widget-linechart 折线图、 widget-barlinechart 柱线图 widget-more-bar-line
109 110 // widget-piechart 饼图、widget-funnel 漏斗图
110 111 // widget-text 文本框
111 112 // widge-table 表格(数据不要转)
... ... @@ -114,7 +115,9 @@ export default {
114 115 // widget-mapline 中国地图-路线图
115 116 // widget-radar 雷达图
116 117 // widget-select 下拉框
  118 + //barlineCharts 下拉框
117 119 const chartType = params.chartType
  120 + // console.log(data,chartType,'33333');
118 121 if (chartType == "widget-linechart") {
119 122 return this.barOrLineChartFn(params.chartProperties, data);
120 123 }else if (chartType == "widget-barlinechart" ) {
... ... @@ -168,12 +171,15 @@ export default {
168 171 // legend: {
169 172 // data: ['Forest']
170 173 // },
  174 +
171 175 for (const key in chartProperties) {
172 176 const obj = {};
173 177 const seriesData = [];
174 178 const value = chartProperties[key];
175 179 obj["type"] = value;
176 180 obj["name"] = key;
  181 + console.log("3333333",value,key);
  182 + console.log("22222222",chartProperties,data);
177 183 for (let i = 0; i < data.length; i++) {
178 184 if (value.startsWith("xAxis")) {
179 185 // 代表为x轴
... ... @@ -183,7 +189,8 @@ export default {
183 189 seriesData[i] = data[i][key];
184 190 }
185 191 }
186   - // console.log("seriesData",seriesData);
  192 +
  193 + // console.log("seriesData",chartProperties);
187 194 // console.log("xAxisList",xAxisList);
188 195 obj["data"] = seriesData;
189 196 if (!obj["type"].startsWith("xAxis")) {
... ... @@ -209,6 +216,7 @@ export default {
209 216 const value = chartProperties[key];
210 217 obj["type"] = value;
211 218 obj["name"] = key;
  219 + console.log("value",value);
212 220 if(value=='xAxis' || value=='bar'|| value=='line'){
213 221 for (let i = 0; i < data.length; i++) {
214 222 if (value.startsWith("xAxis")) {
... ... @@ -216,7 +224,8 @@ export default {
216 224 xAxisList[i] = data[i][key];
217 225 } else {
218 226 // 其他的均为series展示数据
219   - seriesData[i] = data[i][value];
  227 + // console.log("seriesData",data[i][key]);
  228 + seriesData[i] = data[i][key];
220 229 }
221 230 }
222 231 // console.log("seriesData",seriesData);
... ... @@ -229,7 +238,7 @@ export default {
229 238 }
230 239 ananysicData["xAxis"] = xAxisList;
231 240 ananysicData["series"] = series;
232   - console.log("11111",ananysicData);
  241 + // console.log("11111",ananysicData);
233 242 return ananysicData;
234 243 },
235 244 //堆叠图
... ...
src/store/modules/dataSource.js
... ... @@ -8,12 +8,14 @@ const dataSource = {
8 8  
9 9 mutations: {
10 10 SET_STATIC_DATA: (state, data) => {
  11 + state.staticData=[];
11 12 state.staticData = data;
12 13 },
13 14 SET_REFRESHTIME: (state, data) => {
14 15 state.staticRefreshTime = data;
15 16 },
16 17 SET_DYNAMIC_DATA: (state, data) => {
  18 + state.dynamicData=[];
17 19 state.dynamicData = data;
18 20 }
19 21 },
... ...
src/utils/request.js
... ... @@ -5,7 +5,7 @@ import { getToken } from &#39;@/utils/auth&#39;
5 5 // 创建axios实例
6 6 const service = axios.create({
7 7 baseURL: process.env.BASE_API, // api 的 base_url
8   - timeout: 20000 // 请求超时时间
  8 + timeout: 8000000 // 请求超时时间
9 9 })
10 10  
11 11 // request拦截器
... ... @@ -55,18 +55,12 @@ service.interceptors.response.use(
55 55 }
56 56 },
57 57 error => {
58   - // Message({
59   - // message: error.message,
60   - // type: 'error',
61   - // duration: 5 * 1000
62   - // })
63   - // return Promise.reject(error)
64 58 Message({
65 59 message: error.message,
66 60 type: 'error',
67 61 duration: 5 * 1000
68   - });
69   - return {code:-1};
  62 + })
  63 + return Promise.reject(error)
70 64 }
71 65 )
72 66  
... ...
src/views/bigScreenReport/index.vue
... ... @@ -120,6 +120,7 @@ export default {
120 120 reportName: "",
121 121 reportType: "report_screen",
122 122 pageNumber: 1,
  123 + enableFlag: 1,
123 124 pageSize: 8,
124 125 order: "DESC",
125 126 sort: "update_time"
... ...
src/views/bigscreenDesigner/designer/components/contentMenu.vue
... ... @@ -36,6 +36,9 @@
36 36 <div class="contentmenu__item" @click="delGroupLayer">
37 37 <i class="iconfont iconzhankai"></i> 移除分组
38 38 </div>
  39 + <div class="contentmenu__item" @click="copylayerAll">
  40 + <i class="iconfont iconzhankai"></i> 复制全部
  41 + </div>
39 42 </div>
40 43 </template>
41 44 <script>
... ... @@ -97,6 +100,10 @@ export default {
97 100 delGroupLayer() {
98 101 this.$emit("delGroupLayer");
99 102 },
  103 + //复制全部
  104 + copylayerAll() {
  105 + this.$emit("copylayerAll");
  106 + },
100 107 copyLayer() {
101 108 this.$emit("copylayer");
102 109 },
... ...
src/views/bigscreenDesigner/designer/index.vue
... ... @@ -324,6 +324,7 @@
324 324 @lockLayer="lockLayer"
325 325 @noLockLayer="noLockLayer"
326 326 @copylayer="copylayer"
  327 + @copylayerAll="copylayerAll"
327 328 @istopLayer="istopLayer"
328 329 @setlowLayer="setlowLayer"
329 330 @moveupLayer="moveupLayer"
... ... @@ -332,6 +333,7 @@
332 333 @setTopAlignment="setTopAlignment"
333 334 @delGroupLayer="delGroupLayer"
334 335 @addGroupLayer="addGroupLayer"
  336 + @delSelectMore="delSelectMore"
335 337 />
336 338 </div>
337 339 </template>
... ... @@ -1305,15 +1307,27 @@ export default {
1305 1307 // 多选复制
1306 1308 copylayer() {
1307 1309 //首先复制右选节点,再复制其他选择节点
1308   - this.copylayerOne(this.rightClickIndex)
1309   - // if(this.isNotBlankArray(this.selectMore)){
1310   - // for(let i = 0; i< this.selectMore.length;i++){
1311   - // const copyIndex = this.selectMore[i];
1312   - // if(this.rightClickIndex != copyIndex){
1313   - // this.copylayerOne(copyIndex);
1314   - // }
1315   - // }
1316   - // }
  1310 + // this.copylayerOne(this.rightClickIndex)
  1311 + if(this.isNotBlankArray(this.selectMore)){
  1312 + for(let i = 0; i< this.selectMore.length;i++){
  1313 + const copyIndex = this.selectMore[i];
  1314 + if(this.rightClickIndex != copyIndex){
  1315 + this.copylayerOne(copyIndex);
  1316 + }
  1317 + }
  1318 + }
  1319 + }, // 多选复制
  1320 + copylayerAll() {
  1321 + //首先复制右选节点,再复制其他选择节点
  1322 + // this.copylayerOne(this.rightClickIndex)
  1323 + if(this.isNotBlankArray(this.selectMore)){
  1324 + for(let i = 0; i< this.selectMore.length;i++){
  1325 + const copyIndex = this.selectMore[i];
  1326 + if(this.rightClickIndex != copyIndex){
  1327 + this.copylayerOne(copyIndex);
  1328 + }
  1329 + }
  1330 + }
1317 1331 },
1318 1332 // 复制
1319 1333 copylayerOne(index) {
... ...
src/views/bigscreenDesigner/designer/tools/configure/div/widget-border-box.js
... ... @@ -92,6 +92,22 @@ export const widgetBorderBox = {
92 92 },
93 93 {
94 94 type: 'el-input-number',
  95 + label: '标题字体大小',
  96 + name: 'titleFont',
  97 + require: false,
  98 + placeholder: '',
  99 + value: 18,
  100 + },
  101 + {
  102 + type: 'vue-color',
  103 + label: '标题字体颜色',
  104 + name: 'titleColor',
  105 + required: false,
  106 + placeholder: '',
  107 + value: 'rgba(255, 0, 0, 0)',
  108 + },
  109 + {
  110 + type: 'el-input-number',
95 111 label: '标题宽度',
96 112 name: 'titleWidth',
97 113 require: false,
... ...
src/views/bigscreenDesigner/designer/widget/div/mainDiv11.vue 0 → 100644
  1 +<template>
  2 + <div class="dv-border-box-11" :ref="ref">
  3 + <svg class="dv-border-svg-container" :width="width" :height="height">
  4 + <defs>
  5 + <filter :id="filterId" height="150%" width="150%" x="-25%" y="-25%">
  6 + <feMorphology operator="dilate" radius="2" in="SourceAlpha" result="thicken" />
  7 + <feGaussianBlur in="thicken" stdDeviation="3" result="blurred" />
  8 + <feFlood :flood-color="mergedColor[1]" result="glowColor" />
  9 + <feComposite in="glowColor" in2="blurred" operator="in" result="softGlowColored" />
  10 + <feMerge>
  11 + <feMergeNode in="softGlowColored"/>
  12 + <feMergeNode in="SourceGraphic"/>
  13 + </feMerge>
  14 + </filter>
  15 + </defs>
  16 +
  17 + <polygon :fill="backgroundColor" :points="`
  18 + 20, 32 ${width * 0.5 - titleWidth / 2}, 32 ${width * 0.5 - titleWidth / 2 + 20}, 53
  19 + ${width * 0.5 + titleWidth / 2 - 20}, 53 ${width * 0.5 + titleWidth / 2}, 32
  20 + ${width - 20}, 32 ${width - 8}, 48 ${width - 8}, ${height - 25} ${width - 20}, ${height - 8}
  21 + 20, ${height - 8} 8, ${height - 25} 8, 50
  22 + `" />
  23 +
  24 + <polyline
  25 + :stroke="mergedColor[0]"
  26 + :filter="`url(#${filterId})`"
  27 + :points="`
  28 + ${(width - titleWidth) / 2}, 30
  29 + 20, 30 7, 50 7, ${50 + (height - 167) / 2}
  30 + 13, ${55 + (height - 167) / 2} 13, ${135 + (height - 167) / 2}
  31 + 7, ${140 + (height - 167) / 2} 7, ${height - 27}
  32 + 20, ${height - 7} ${width - 20}, ${height - 7} ${width - 7}, ${height - 27}
  33 + ${width - 7}, ${140 + (height - 167) / 2} ${width - 13}, ${135 + (height - 167) / 2}
  34 + ${width - 13}, ${55 + (height - 167) / 2} ${width - 7}, ${50 + (height - 167) / 2}
  35 + ${width - 7}, 50 ${width - 20}, 30 ${(width + titleWidth) / 2}, 30
  36 + ${(width + titleWidth) / 2 - 20}, 7 ${(width - titleWidth) / 2 + 20}, 7
  37 + ${(width - titleWidth) / 2}, 30 ${(width - titleWidth) / 2 + 20}, 52
  38 + ${(width + titleWidth) / 2 - 20}, 52 ${(width + titleWidth) / 2}, 30
  39 + `"
  40 + />
  41 +
  42 + <polygon
  43 + :stroke="mergedColor[0]"
  44 + fill="transparent"
  45 + :points="`
  46 + ${(width + titleWidth) / 2 - 5}, 30 ${(width + titleWidth) / 2 - 21}, 11
  47 + ${(width + titleWidth) / 2 - 27}, 11 ${(width + titleWidth) / 2 - 8}, 34
  48 + `"
  49 + />
  50 +
  51 + <polygon
  52 + :stroke="mergedColor[0]"
  53 + fill="transparent"
  54 + :points="`
  55 + ${(width - titleWidth) / 2 + 5}, 30 ${(width - titleWidth) / 2 + 22}, 49
  56 + ${(width - titleWidth) / 2 + 28}, 49 ${(width - titleWidth) / 2 + 8}, 26
  57 + `"
  58 + />
  59 +
  60 + <polygon
  61 + :stroke="mergedColor[0]"
  62 + :fill="fade(mergedColor[1] || defaultColor[1], 30)"
  63 + :filter="`url(#${filterId})`"
  64 + :points="`
  65 + ${(width + titleWidth) / 2 - 11}, 37 ${(width + titleWidth) / 2 - 32}, 11
  66 + ${(width - titleWidth) / 2 + 23}, 11 ${(width - titleWidth) / 2 + 11}, 23
  67 + ${(width - titleWidth) / 2 + 33}, 49 ${(width + titleWidth) / 2 - 22}, 49
  68 + `"
  69 + />
  70 +
  71 + <polygon
  72 + :filter="`url(#${filterId})`"
  73 + :fill="mergedColor[0]"
  74 + opacity="1"
  75 + :points="`
  76 + ${(width - titleWidth) / 2 - 10}, 37 ${(width - titleWidth) / 2 - 31}, 37
  77 + ${(width - titleWidth) / 2 - 25}, 46 ${(width - titleWidth) / 2 - 4}, 46
  78 + `"
  79 + >
  80 + <animate
  81 + attributeName="opacity"
  82 + values="1;0.7;1"
  83 + dur="2s"
  84 + begin="0s"
  85 + repeatCount="indefinite"
  86 + />
  87 + </polygon>
  88 +
  89 +
  90 + <polygon
  91 + :filter="`url(#${filterId})`"
  92 + :fill="mergedColor[0]"
  93 + opacity="0.7"
  94 + :points="`
  95 + ${(width - titleWidth) / 2 - 40}, 37 ${(width - titleWidth) / 2 - 61}, 37
  96 + ${(width - titleWidth) / 2 - 55}, 46 ${(width - titleWidth) / 2 - 34}, 46
  97 + `"
  98 + >
  99 + <animate
  100 + attributeName="opacity"
  101 + values="0.7;0.4;0.7"
  102 + dur="2s"
  103 + begin="0s"
  104 + repeatCount="indefinite"
  105 + />
  106 + </polygon>
  107 +
  108 + <polygon
  109 + :filter="`url(#${filterId})`"
  110 + :fill="mergedColor[0]"
  111 + opacity="0.5"
  112 + :points="`
  113 + ${(width - titleWidth) / 2 - 70}, 37 ${(width - titleWidth) / 2 - 91}, 37
  114 + ${(width - titleWidth) / 2 - 85}, 46 ${(width - titleWidth) / 2 - 64}, 46
  115 + `"
  116 + >
  117 + <animate
  118 + attributeName="opacity"
  119 + values="0.5;0.2;0.5"
  120 + dur="2s"
  121 + begin="0s"
  122 + repeatCount="indefinite"
  123 + />
  124 + </polygon>
  125 +
  126 + <polygon
  127 + :filter="`url(#${filterId})`"
  128 + :fill="mergedColor[0]"
  129 + opacity="1"
  130 + :points="`
  131 + ${(width + titleWidth) / 2 + 30}, 37 ${(width + titleWidth) / 2 + 9}, 37
  132 + ${(width + titleWidth) / 2 + 3}, 46 ${(width + titleWidth) / 2 + 24}, 46
  133 + `"
  134 + >
  135 + <animate
  136 + attributeName="opacity"
  137 + values="1;0.7;1"
  138 + dur="2s"
  139 + begin="0s"
  140 + repeatCount="indefinite"
  141 + />
  142 + </polygon>
  143 +
  144 + <polygon
  145 + :filter="`url(#${filterId})`"
  146 + :fill="mergedColor[0]"
  147 + opacity="0.7"
  148 + :points="`
  149 + ${(width + titleWidth) / 2 + 60}, 37 ${(width + titleWidth) / 2 + 39}, 37
  150 + ${(width + titleWidth) / 2 + 33}, 46 ${(width + titleWidth) / 2 + 54}, 46
  151 + `"
  152 + >
  153 + <animate
  154 + attributeName="opacity"
  155 + values="0.7;0.4;0.7"
  156 + dur="2s"
  157 + begin="0s"
  158 + repeatCount="indefinite"
  159 + />
  160 + </polygon>
  161 +
  162 + <polygon
  163 + :filter="`url(#${filterId})`"
  164 + :fill="mergedColor[0]"
  165 + opacity="0.5"
  166 + :points="`
  167 + ${(width + titleWidth) / 2 + 90}, 37 ${(width + titleWidth) / 2 + 69}, 37
  168 + ${(width + titleWidth) / 2 + 63}, 46 ${(width + titleWidth) / 2 + 84}, 46
  169 + `"
  170 + >
  171 + <animate
  172 + attributeName="opacity"
  173 + values="0.5;0.2;0.5"
  174 + dur="2s"
  175 + begin="0s"
  176 + repeatCount="indefinite"
  177 + />
  178 + </polygon>
  179 +
  180 + <text
  181 + class="dv-border-box-11-title"
  182 + :x="`${width / 2}`"
  183 + y="32"
  184 + :fill="`${titleColor}`"
  185 + :font-size="`${titleFont}`"
  186 + text-anchor="middle"
  187 + dominant-baseline="middle"
  188 + >
  189 + {{ title }}
  190 + </text>
  191 +
  192 + <polygon
  193 + :fill="mergedColor[0]"
  194 + :filter="`url(#${filterId})`"
  195 + :points="`
  196 + 7, ${53 + (height - 167) / 2} 11, ${57 + (height - 167) / 2}
  197 + 11, ${133 + (height - 167) / 2} 7, ${137 + (height - 167) / 2}
  198 + `"
  199 + />
  200 +
  201 + <polygon
  202 + :fill="mergedColor[0]"
  203 + :filter="`url(#${filterId})`"
  204 + :points="`
  205 + ${width - 7}, ${53 + (height - 167) / 2} ${width - 11}, ${57 + (height - 167) / 2}
  206 + ${width - 11}, ${133 + (height - 167) / 2} ${width - 7}, ${137 + (height - 167) / 2}
  207 + `"
  208 + />
  209 + </svg>
  210 +
  211 + <div class="border-box-content">
  212 + <slot></slot>
  213 + </div>
  214 + </div>
  215 +</template>
  216 +
  217 +<script>
  218 +import autoResize from '../../../mixin/autoResize'
  219 +import { uuid } from '../../../util/index'
  220 +
  221 +import { deepMerge } from '@jiaminghi/charts/lib/util/index'
  222 +
  223 +import { deepClone } from '@jiaminghi/c-render/lib/plugin/util'
  224 +
  225 +import { fade } from '@jiaminghi/color'
  226 +
  227 +export default {
  228 + name: 'DvBorderBox11',
  229 + mixins: [autoResize],
  230 + props: {
  231 + color: {
  232 + type: Array,
  233 + default: () => ([])
  234 + },
  235 + titleWidth: {
  236 + type: Number,
  237 + default: 250
  238 + },
  239 + titleFont: {
  240 + type: Number,
  241 + default: 18
  242 + },
  243 + title: {
  244 + type: String,
  245 + default: ''
  246 + },
  247 + titleColor: {
  248 + type: String,
  249 + default: '#fff'
  250 + },
  251 + backgroundColor: {
  252 + type: String,
  253 + default: 'transparent'
  254 + }
  255 + },
  256 + data () {
  257 + const id = uuid()
  258 + return {
  259 + ref: 'border-box-11',
  260 + filterId: `border-box-11-filterId-${id}`,
  261 +
  262 + defaultColor: ['#8aaafb', '#1f33a2'],
  263 +
  264 + mergedColor: []
  265 + }
  266 + },
  267 + watch: {
  268 + color () {
  269 + const { mergeColor } = this
  270 +
  271 + mergeColor()
  272 + }
  273 + },
  274 + methods: {
  275 + mergeColor () {
  276 + const { color, defaultColor } = this
  277 +
  278 + this.mergedColor = deepMerge(deepClone(defaultColor, true), color || [])
  279 + },
  280 + fade
  281 + },
  282 + mounted () {
  283 + const { mergeColor } = this
  284 +
  285 + mergeColor()
  286 + }
  287 +}
  288 +</script>
... ...
src/views/bigscreenDesigner/designer/widget/div/widgetBorderBox.vue
... ... @@ -26,6 +26,8 @@
26 26 <dv-border-Box-10 :style="styleColor" :color="transStyle.color" :backgroundColor="transStyle.backgroundColor"
27 27 v-else-if="styleColor.divClass === 'dv-border-Box-10'"></dv-border-Box-10>
28 28 <dv-border-Box-11 :style="styleColor" :color="transStyle.color" :backgroundColor="transStyle.backgroundColor"
  29 + :titleFont="transStyle.titleFont"
  30 + :titleColor="transStyle.titleColor"
29 31 :title="transStyle.title" :titleWidth="transStyle.titleWidth"
30 32 v-else-if="styleColor.divClass === 'dv-border-Box-11'"></dv-border-Box-11>
31 33 <dv-border-Box-12 :style="styleColor" :color="transStyle.color" :backgroundColor="transStyle.backgroundColor"
... ...
src/views/bigscreenDesigner/designer/widget/div/widgetSvg.vue
... ... @@ -106,14 +106,12 @@ export default {
106 106 getShowText() {
107 107 const {text, slectedDataType} = this.transStyle;
108 108 const key = this.staticData[slectedDataType] || text;
109   - const dataSvg = this.value.setup.dynamicAddSvg;
110   - for (let i = 0; i < dataSvg.length; i++) {
111   - if(dataSvg[i].key==key){
  109 + for (let i = 0; i < this.value.setup.dynamicAddSvg.length; i++) {
  110 + if(this.value.setup.dynamicAddSvg[i].key==key){
112 111 /** 控制svg图片拖动,原理在于设置svg的viewbox属性,viewbox的第一个参数控制左右位置,第二个参数设置上下位置 */
113 112 /** 控制svg图片放大缩小,原理在于设置svg的viewbox属性,viewbox的第三个参数控制左右大小,第四个参数设置上下大小 */
114 113 //设置svg 自适应 添加属性 viewBox="0,0,640,480"
115   - let svg = dataSvg[i].value;
116   - return svg;
  114 + return this.value.setup.dynamicAddSvg[i].value;
117 115 }
118 116 }
119 117 return "";
... ...
src/views/bigscreenDesigner/designer/widget/pie/widgetPiechart.vue
... ... @@ -47,7 +47,8 @@ export default {
47 47 optionsStyle: {}, // 样式
48 48 optionsData: {}, // 数据
49 49 optionsCollapse: {}, // 图标属性
50   - optionsSetup: {}
  50 + optionsSetup: {},
  51 + color:[]
51 52 };
52 53 },
53 54 computed: {
... ... @@ -90,7 +91,7 @@ export default {
90 91 this.setOptionsLegend();
91 92 this.setOptionsData();
92 93 this.setOptionsPiechartStyle();
93   - // this.setOptionsColor();
  94 + this.setOptionsColor();
94 95 },
95 96 // 饼图样式
96 97 setOptionsPiechartStyle() {
... ...