Commit a2f6aec1218641b2d81842b4038d6b1b9e08e33a

Authored by qianbao
1 parent ae498fdd

1、鼠标批量移动

config/dev.env.js
@@ -2,10 +2,10 @@ @@ -2,10 +2,10 @@
2 const merge = require('webpack-merge') 2 const merge = require('webpack-merge')
3 const prodEnv = require('./prod.env') 3 const prodEnv = require('./prod.env')
4 //是否开发状态 4 //是否开发状态
5 -const isDev = true; 5 +const isDev = false;
6 //开发API地址 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 //正式打包API地址 9 //正式打包API地址
10 const ipAdrress='"http://"+location.host+"/xlyReport"'; 10 const ipAdrress='"http://"+location.host+"/xlyReport"';
11 11
config/index.js
@@ -48,8 +48,8 @@ module.exports = { @@ -48,8 +48,8 @@ module.exports = {
48 48
49 // Paths 49 // Paths
50 assetsRoot: path.resolve(__dirname, '../dist'), 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 * You can set by youself according to actual condition 55 * You can set by youself according to actual condition
@@ -58,7 +58,7 @@ module.exports = { @@ -58,7 +58,7 @@ module.exports = {
58 * then assetsPublicPath should be set to "/bar/". 58 * then assetsPublicPath should be set to "/bar/".
59 * In most cases please use '/' !!! 59 * In most cases please use '/' !!!
60 */ 60 */
61 - assetsPublicPath: '/BI/',//正式打包 因为nginx转发原因,需要指定路径 61 + assetsPublicPath: '/',//正式打包 因为nginx转发原因,需要指定路径
62 62
63 /** 63 /**
64 * Source Maps 64 * Source Maps
src/mixins/queryform.js
@@ -98,6 +98,7 @@ export default { @@ -98,6 +98,7 @@ export default {
98 queryEchartsData(params) { 98 queryEchartsData(params) {
99 return new Promise(async (resolve) => { 99 return new Promise(async (resolve) => {
100 const { code, data } = await getData(params); 100 const { code, data } = await getData(params);
  101 + // console.log(data,2222222);
101 if (code != 200) return 102 if (code != 200) return
102 const analysisData = this.analysisChartsData(params, data); 103 const analysisData = this.analysisChartsData(params, data);
103 resolve(analysisData) 104 resolve(analysisData)
@@ -105,7 +106,7 @@ export default { @@ -105,7 +106,7 @@ export default {
105 }, 106 },
106 // 解析不同图标的数据 107 // 解析不同图标的数据
107 analysisChartsData(params, data) { 108 analysisChartsData(params, data) {
108 - // widget-barchart 柱线图、widget-linechart 折线图、 widget-barlinechart 柱线图 109 + // widget-barchart 柱线图、widget-linechart 折线图、 widget-barlinechart 柱线图 widget-more-bar-line
109 // widget-piechart 饼图、widget-funnel 漏斗图 110 // widget-piechart 饼图、widget-funnel 漏斗图
110 // widget-text 文本框 111 // widget-text 文本框
111 // widge-table 表格(数据不要转) 112 // widge-table 表格(数据不要转)
@@ -114,7 +115,9 @@ export default { @@ -114,7 +115,9 @@ export default {
114 // widget-mapline 中国地图-路线图 115 // widget-mapline 中国地图-路线图
115 // widget-radar 雷达图 116 // widget-radar 雷达图
116 // widget-select 下拉框 117 // widget-select 下拉框
  118 + //barlineCharts 下拉框
117 const chartType = params.chartType 119 const chartType = params.chartType
  120 + // console.log(data,chartType,'33333');
118 if (chartType == "widget-linechart") { 121 if (chartType == "widget-linechart") {
119 return this.barOrLineChartFn(params.chartProperties, data); 122 return this.barOrLineChartFn(params.chartProperties, data);
120 }else if (chartType == "widget-barlinechart" ) { 123 }else if (chartType == "widget-barlinechart" ) {
@@ -168,12 +171,15 @@ export default { @@ -168,12 +171,15 @@ export default {
168 // legend: { 171 // legend: {
169 // data: ['Forest'] 172 // data: ['Forest']
170 // }, 173 // },
  174 +
171 for (const key in chartProperties) { 175 for (const key in chartProperties) {
172 const obj = {}; 176 const obj = {};
173 const seriesData = []; 177 const seriesData = [];
174 const value = chartProperties[key]; 178 const value = chartProperties[key];
175 obj["type"] = value; 179 obj["type"] = value;
176 obj["name"] = key; 180 obj["name"] = key;
  181 + console.log("3333333",value,key);
  182 + console.log("22222222",chartProperties,data);
177 for (let i = 0; i < data.length; i++) { 183 for (let i = 0; i < data.length; i++) {
178 if (value.startsWith("xAxis")) { 184 if (value.startsWith("xAxis")) {
179 // 代表为x轴 185 // 代表为x轴
@@ -183,7 +189,8 @@ export default { @@ -183,7 +189,8 @@ export default {
183 seriesData[i] = data[i][key]; 189 seriesData[i] = data[i][key];
184 } 190 }
185 } 191 }
186 - // console.log("seriesData",seriesData); 192 +
  193 + // console.log("seriesData",chartProperties);
187 // console.log("xAxisList",xAxisList); 194 // console.log("xAxisList",xAxisList);
188 obj["data"] = seriesData; 195 obj["data"] = seriesData;
189 if (!obj["type"].startsWith("xAxis")) { 196 if (!obj["type"].startsWith("xAxis")) {
@@ -209,6 +216,7 @@ export default { @@ -209,6 +216,7 @@ export default {
209 const value = chartProperties[key]; 216 const value = chartProperties[key];
210 obj["type"] = value; 217 obj["type"] = value;
211 obj["name"] = key; 218 obj["name"] = key;
  219 + console.log("value",value);
212 if(value=='xAxis' || value=='bar'|| value=='line'){ 220 if(value=='xAxis' || value=='bar'|| value=='line'){
213 for (let i = 0; i < data.length; i++) { 221 for (let i = 0; i < data.length; i++) {
214 if (value.startsWith("xAxis")) { 222 if (value.startsWith("xAxis")) {
@@ -216,7 +224,8 @@ export default { @@ -216,7 +224,8 @@ export default {
216 xAxisList[i] = data[i][key]; 224 xAxisList[i] = data[i][key];
217 } else { 225 } else {
218 // 其他的均为series展示数据 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 // console.log("seriesData",seriesData); 231 // console.log("seriesData",seriesData);
@@ -229,7 +238,7 @@ export default { @@ -229,7 +238,7 @@ export default {
229 } 238 }
230 ananysicData["xAxis"] = xAxisList; 239 ananysicData["xAxis"] = xAxisList;
231 ananysicData["series"] = series; 240 ananysicData["series"] = series;
232 - console.log("11111",ananysicData); 241 + // console.log("11111",ananysicData);
233 return ananysicData; 242 return ananysicData;
234 }, 243 },
235 //堆叠图 244 //堆叠图
src/store/modules/dataSource.js
@@ -8,12 +8,14 @@ const dataSource = { @@ -8,12 +8,14 @@ const dataSource = {
8 8
9 mutations: { 9 mutations: {
10 SET_STATIC_DATA: (state, data) => { 10 SET_STATIC_DATA: (state, data) => {
  11 + state.staticData=[];
11 state.staticData = data; 12 state.staticData = data;
12 }, 13 },
13 SET_REFRESHTIME: (state, data) => { 14 SET_REFRESHTIME: (state, data) => {
14 state.staticRefreshTime = data; 15 state.staticRefreshTime = data;
15 }, 16 },
16 SET_DYNAMIC_DATA: (state, data) => { 17 SET_DYNAMIC_DATA: (state, data) => {
  18 + state.dynamicData=[];
17 state.dynamicData = data; 19 state.dynamicData = data;
18 } 20 }
19 }, 21 },
src/utils/request.js
@@ -5,7 +5,7 @@ import { getToken } from &#39;@/utils/auth&#39; @@ -5,7 +5,7 @@ import { getToken } from &#39;@/utils/auth&#39;
5 // 创建axios实例 5 // 创建axios实例
6 const service = axios.create({ 6 const service = axios.create({
7 baseURL: process.env.BASE_API, // api 的 base_url 7 baseURL: process.env.BASE_API, // api 的 base_url
8 - timeout: 20000 // 请求超时时间 8 + timeout: 8000000 // 请求超时时间
9 }) 9 })
10 10
11 // request拦截器 11 // request拦截器
@@ -55,18 +55,12 @@ service.interceptors.response.use( @@ -55,18 +55,12 @@ service.interceptors.response.use(
55 } 55 }
56 }, 56 },
57 error => { 57 error => {
58 - // Message({  
59 - // message: error.message,  
60 - // type: 'error',  
61 - // duration: 5 * 1000  
62 - // })  
63 - // return Promise.reject(error)  
64 Message({ 58 Message({
65 message: error.message, 59 message: error.message,
66 type: 'error', 60 type: 'error',
67 duration: 5 * 1000 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,6 +120,7 @@ export default {
120 reportName: "", 120 reportName: "",
121 reportType: "report_screen", 121 reportType: "report_screen",
122 pageNumber: 1, 122 pageNumber: 1,
  123 + enableFlag: 1,
123 pageSize: 8, 124 pageSize: 8,
124 order: "DESC", 125 order: "DESC",
125 sort: "update_time" 126 sort: "update_time"
src/views/bigscreenDesigner/designer/components/contentMenu.vue
@@ -36,6 +36,9 @@ @@ -36,6 +36,9 @@
36 <div class="contentmenu__item" @click="delGroupLayer"> 36 <div class="contentmenu__item" @click="delGroupLayer">
37 <i class="iconfont iconzhankai"></i> 移除分组 37 <i class="iconfont iconzhankai"></i> 移除分组
38 </div> 38 </div>
  39 + <div class="contentmenu__item" @click="copylayerAll">
  40 + <i class="iconfont iconzhankai"></i> 复制全部
  41 + </div>
39 </div> 42 </div>
40 </template> 43 </template>
41 <script> 44 <script>
@@ -97,6 +100,10 @@ export default { @@ -97,6 +100,10 @@ export default {
97 delGroupLayer() { 100 delGroupLayer() {
98 this.$emit("delGroupLayer"); 101 this.$emit("delGroupLayer");
99 }, 102 },
  103 + //复制全部
  104 + copylayerAll() {
  105 + this.$emit("copylayerAll");
  106 + },
100 copyLayer() { 107 copyLayer() {
101 this.$emit("copylayer"); 108 this.$emit("copylayer");
102 }, 109 },
src/views/bigscreenDesigner/designer/index.vue
@@ -324,6 +324,7 @@ @@ -324,6 +324,7 @@
324 @lockLayer="lockLayer" 324 @lockLayer="lockLayer"
325 @noLockLayer="noLockLayer" 325 @noLockLayer="noLockLayer"
326 @copylayer="copylayer" 326 @copylayer="copylayer"
  327 + @copylayerAll="copylayerAll"
327 @istopLayer="istopLayer" 328 @istopLayer="istopLayer"
328 @setlowLayer="setlowLayer" 329 @setlowLayer="setlowLayer"
329 @moveupLayer="moveupLayer" 330 @moveupLayer="moveupLayer"
@@ -332,6 +333,7 @@ @@ -332,6 +333,7 @@
332 @setTopAlignment="setTopAlignment" 333 @setTopAlignment="setTopAlignment"
333 @delGroupLayer="delGroupLayer" 334 @delGroupLayer="delGroupLayer"
334 @addGroupLayer="addGroupLayer" 335 @addGroupLayer="addGroupLayer"
  336 + @delSelectMore="delSelectMore"
335 /> 337 />
336 </div> 338 </div>
337 </template> 339 </template>
@@ -1305,15 +1307,27 @@ export default { @@ -1305,15 +1307,27 @@ export default {
1305 // 多选复制 1307 // 多选复制
1306 copylayer() { 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 copylayerOne(index) { 1333 copylayerOne(index) {
src/views/bigscreenDesigner/designer/tools/configure/div/widget-border-box.js
@@ -92,6 +92,22 @@ export const widgetBorderBox = { @@ -92,6 +92,22 @@ export const widgetBorderBox = {
92 }, 92 },
93 { 93 {
94 type: 'el-input-number', 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 label: '标题宽度', 111 label: '标题宽度',
96 name: 'titleWidth', 112 name: 'titleWidth',
97 require: false, 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,6 +26,8 @@
26 <dv-border-Box-10 :style="styleColor" :color="transStyle.color" :backgroundColor="transStyle.backgroundColor" 26 <dv-border-Box-10 :style="styleColor" :color="transStyle.color" :backgroundColor="transStyle.backgroundColor"
27 v-else-if="styleColor.divClass === 'dv-border-Box-10'"></dv-border-Box-10> 27 v-else-if="styleColor.divClass === 'dv-border-Box-10'"></dv-border-Box-10>
28 <dv-border-Box-11 :style="styleColor" :color="transStyle.color" :backgroundColor="transStyle.backgroundColor" 28 <dv-border-Box-11 :style="styleColor" :color="transStyle.color" :backgroundColor="transStyle.backgroundColor"
  29 + :titleFont="transStyle.titleFont"
  30 + :titleColor="transStyle.titleColor"
29 :title="transStyle.title" :titleWidth="transStyle.titleWidth" 31 :title="transStyle.title" :titleWidth="transStyle.titleWidth"
30 v-else-if="styleColor.divClass === 'dv-border-Box-11'"></dv-border-Box-11> 32 v-else-if="styleColor.divClass === 'dv-border-Box-11'"></dv-border-Box-11>
31 <dv-border-Box-12 :style="styleColor" :color="transStyle.color" :backgroundColor="transStyle.backgroundColor" 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,14 +106,12 @@ export default {
106 getShowText() { 106 getShowText() {
107 const {text, slectedDataType} = this.transStyle; 107 const {text, slectedDataType} = this.transStyle;
108 const key = this.staticData[slectedDataType] || text; 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 /** 控制svg图片拖动,原理在于设置svg的viewbox属性,viewbox的第一个参数控制左右位置,第二个参数设置上下位置 */ 111 /** 控制svg图片拖动,原理在于设置svg的viewbox属性,viewbox的第一个参数控制左右位置,第二个参数设置上下位置 */
113 /** 控制svg图片放大缩小,原理在于设置svg的viewbox属性,viewbox的第三个参数控制左右大小,第四个参数设置上下大小 */ 112 /** 控制svg图片放大缩小,原理在于设置svg的viewbox属性,viewbox的第三个参数控制左右大小,第四个参数设置上下大小 */
114 //设置svg 自适应 添加属性 viewBox="0,0,640,480" 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 return ""; 117 return "";
src/views/bigscreenDesigner/designer/widget/pie/widgetPiechart.vue
@@ -47,7 +47,8 @@ export default { @@ -47,7 +47,8 @@ export default {
47 optionsStyle: {}, // 样式 47 optionsStyle: {}, // 样式
48 optionsData: {}, // 数据 48 optionsData: {}, // 数据
49 optionsCollapse: {}, // 图标属性 49 optionsCollapse: {}, // 图标属性
50 - optionsSetup: {} 50 + optionsSetup: {},
  51 + color:[]
51 }; 52 };
52 }, 53 },
53 computed: { 54 computed: {
@@ -90,7 +91,7 @@ export default { @@ -90,7 +91,7 @@ export default {
90 this.setOptionsLegend(); 91 this.setOptionsLegend();
91 this.setOptionsData(); 92 this.setOptionsData();
92 this.setOptionsPiechartStyle(); 93 this.setOptionsPiechartStyle();
93 - // this.setOptionsColor(); 94 + this.setOptionsColor();
94 }, 95 },
95 // 饼图样式 96 // 饼图样式
96 setOptionsPiechartStyle() { 97 setOptionsPiechartStyle() {