Commit 90d642b0ec7c86fc3d47386062894ee1e4c50c36

Authored by qianbao
1 parent badbffc5

1、大屏左侧操作菜单归类

2、代码文件归类
3、添加雷达图
src/mixins/common.js
@@ -138,7 +138,7 @@ export default { @@ -138,7 +138,7 @@ export default {
138 isNotBlank (val) { 138 isNotBlank (val) {
139 return !this.isBlank(val) 139 return !this.isBlank(val)
140 }, 140 },
141 - isBlank (val) { 141 + isBlankObject (val) {
142 if (this.isNull(val)) { 142 if (this.isNull(val)) {
143 return true 143 return true
144 } 144 }
src/views/bigscreenDesigner/designer/components/datasourceSelect.vue 0 → 100644
  1 +<template>
  2 + <el-form-item prop="master">
  3 + <el-select
  4 + size="mini"
  5 + name="master"
  6 + v-model="selectedOption"
  7 + placeholder="请选择"
  8 + @change="selectDataSet"
  9 + >
  10 + <el-option
  11 + key=""
  12 + label=""
  13 + value=""
  14 + />
  15 + <el-option
  16 + v-for="item in dataSet"
  17 + :key="item.id"
  18 + :label="item.setName"
  19 + :value="item.id"
  20 + />
  21 + </el-select>
  22 + </el-form-item>
  23 +</template>
  24 +<script>
  25 +import { queryAllDataSet} from "@/api/bigscreen";
  26 +export default {
  27 + name: "data-source-select",
  28 + components: {},
  29 + model: {
  30 + prop: "value",
  31 + event: "input"
  32 + },
  33 + props: {
  34 + value: {
  35 + type: "",
  36 + default: ""
  37 + }
  38 + },
  39 + data() {
  40 + return {
  41 + selectedOption: {},
  42 + dataSet: [], // 数据集
  43 + };
  44 + },
  45 + watch: {
  46 + value: {
  47 + handler(newValue, oldValue) {
  48 + if (typeof newValue === "string") {
  49 + this.selectedOption = newValue;
  50 + } else {
  51 + this.selectedOption = this.parseString(newValue);
  52 + }
  53 + },
  54 + immediate: true
  55 + }
  56 + },
  57 + computed: {},
  58 + created() {
  59 + this.loadDataSet();
  60 + },
  61 + // mounted() {
  62 + // this.loadDataSet();
  63 + // },
  64 + methods: {
  65 + async loadDataSet() {
  66 + const { code, data } = await queryAllDataSet();
  67 + this.dataSet = data;
  68 + const selectKey = this.value;
  69 + if (code != "200"){
  70 + return
  71 + }else{
  72 + for (let i = 0; i < this.dataSet.length; i++) {
  73 + let item = this.dataSet[i];
  74 + if (item.id == selectKey) {
  75 + this.selectedOption = this.dataSet[i];
  76 + }
  77 + }
  78 + }
  79 + },
  80 + //选中,回刷父节点
  81 + async selectDataSet() {
  82 + this.$emit("input", this.selectedOption);
  83 + this.$emit("change", this.selectedOption);
  84 + },
  85 + // 数据集回显
  86 + async echoDataSet(val) {
  87 + if (!val) return;
  88 + //改变全局数据集 动态获取数据(获取根据数据源ID)改变静态组件的值
  89 +
  90 + },
  91 + }
  92 +};
  93 +</script>
src/views/bigscreenDesigner/designer/components/dynamicForm.vue
@@ -60,13 +60,18 @@ @@ -60,13 +60,18 @@
60 v-model="formData[item.name]" 60 v-model="formData[item.name]"
61 @change="val => changed(val, item.name)" 61 @change="val => changed(val, item.name)"
62 /> 62 />
  63 + <DatasourceSelect
  64 + v-if="item.type == 'data-source-select'"
  65 + v-model="formData[item.name]"
  66 + @change="changed($event, item.name)">
  67 + </DatasourceSelect>
63 68
64 <CustomUploadNew v-if="item.type == 'custom-upload-new'" 69 <CustomUploadNew v-if="item.type == 'custom-upload-new'"
65 v-model="formData[item.name]" 70 v-model="formData[item.name]"
66 @change="changed($event, item.name)"> 71 @change="changed($event, item.name)">
67 </CustomUploadNew> 72 </CustomUploadNew>
68 73
69 - <CustomUploadMulti v-if="item.type == 'custom-upload-multi'" 74 + <CustomUploadMulti v-if="item.type == 'custom-upload-new'"
70 v-model="formData[item.name]" 75 v-model="formData[item.name]"
71 @change="changed($event, item.name)"> 76 @change="changed($event, item.name)">
72 </CustomUploadMulti> 77 </CustomUploadMulti>
@@ -224,7 +229,7 @@ @@ -224,7 +229,7 @@
224 <el-upload 229 <el-upload
225 v-if="itemChildList.type == 'el-upload-picture'" 230 v-if="itemChildList.type == 'el-upload-picture'"
226 size="mini" 231 size="mini"
227 - action="https://jsonplaceholder.typicode.com/posts/" 232 + action=""
228 list-type="picture-card" 233 list-type="picture-card"
229 /> 234 />
230 235
@@ -294,6 +299,7 @@ import dynamicAddTable from &quot;./dynamicAddTable.vue&quot;; @@ -294,6 +299,7 @@ import dynamicAddTable from &quot;./dynamicAddTable.vue&quot;;
294 import customUpload from "./customUpload.vue"; 299 import customUpload from "./customUpload.vue";
295 import dynamicAddRadar from "./dynamicAddRadar"; 300 import dynamicAddRadar from "./dynamicAddRadar";
296 import CustomUploadNew from "./customUploadNew"; 301 import CustomUploadNew from "./customUploadNew";
  302 +import DatasourceSelect from "./datasourceSelect";
297 import CustomUploadMulti from "./customUploadMulti"; 303 import CustomUploadMulti from "./customUploadMulti";
298 export default { 304 export default {
299 name: "DynamicForm", 305 name: "DynamicForm",
@@ -306,7 +312,9 @@ export default { @@ -306,7 +312,9 @@ export default {
306 customUpload, 312 customUpload,
307 dynamicAddRadar, 313 dynamicAddRadar,
308 CustomUploadNew, 314 CustomUploadNew,
309 - CustomUploadMulti 315 + CustomUploadMulti,
  316 + DatasourceSelect,
  317 +
310 }, 318 },
311 model: { 319 model: {
312 prop: "value", 320 prop: "value",
@@ -317,14 +325,14 @@ export default { @@ -317,14 +325,14 @@ export default {
317 value: { 325 value: {
318 type: [Object], 326 type: [Object],
319 default: () => {} 327 default: () => {}
320 - } 328 + },
321 }, 329 },
322 data() { 330 data() {
323 return { 331 return {
324 formData: {}, 332 formData: {},
325 inputShow: {}, // 控制表单是否显示 333 inputShow: {}, // 控制表单是否显示
326 dialogVisibleStaticData: false, 334 dialogVisibleStaticData: false,
327 - validationRules: "", 335 + // validationRules: "",
328 optionsJavascript: { 336 optionsJavascript: {
329 mode: "text/javascript", 337 mode: "text/javascript",
330 tabSize: 2, // 缩进格式 338 tabSize: 2, // 缩进格式
src/views/bigscreenDesigner/designer/index.vue
@@ -305,14 +305,11 @@ export default { @@ -305,14 +305,11 @@ export default {
305 VueRulerTool, 305 VueRulerTool,
306 widget, 306 widget,
307 dynamicForm, 307 dynamicForm,
308 - contentMenu, 308 + contentMenu
309 }, 309 },
310 data() { 310 data() {
311 return { 311 return {
312 - uploadUrl:  
313 - process.env.BASE_API +  
314 - "/reportDashboard/import/" +  
315 - this.$route.query.reportCode, 312 + uploadUrl:process.env.BASE_API +"/reportDashboard/import/" +this.$route.query.reportCode,
316 grade: false, 313 grade: false,
317 layerWidget: [], 314 layerWidget: [],
318 widgetTools: widgetTools, // 左侧工具栏的组件图标,将js变量加入到当前作用域 315 widgetTools: widgetTools, // 左侧工具栏的组件图标,将js变量加入到当前作用域
@@ -334,10 +331,13 @@ export default { @@ -334,10 +331,13 @@ export default {
334 height: 1080, // 大屏设计高度 331 height: 1080, // 大屏设计高度
335 backgroundColor: "", // 大屏背景色 332 backgroundColor: "", // 大屏背景色
336 backgroundImage: "", // 大屏背景图片 333 backgroundImage: "", // 大屏背景图片
  334 + master: null, // 全局数据源
  335 + refreshMasterTime: 600000, // 刷新时间(毫秒)
337 refreshSeconds: null, // 大屏刷新时间间隔 336 refreshSeconds: null, // 大屏刷新时间间隔
338 presetLine: [], // 辅助线 337 presetLine: [], // 辅助线
339 presetLineVisible: true, // 辅助线是否显示 338 presetLineVisible: true, // 辅助线是否显示
340 }, 339 },
  340 + masterData:{"sName1":"测试文本1","sName2":"测试文本2"},
341 // 大屏的标记 341 // 大屏的标记
342 screenCode: "", 342 screenCode: "",
343 dragWidgetCode: "", //从工具栏拖拽的组件code 343 dragWidgetCode: "", //从工具栏拖拽的组件code
@@ -494,6 +494,7 @@ export default { @@ -494,6 +494,7 @@ export default {
494 const { code, data } = await detailDashboard(reportCode); 494 const { code, data } = await detailDashboard(reportCode);
495 if (code != 200) return; 495 if (code != 200) return;
496 const processData = this.handleInitEchartsData(data); 496 const processData = this.handleInitEchartsData(data);
  497 +
497 const screenData = this.handleBigScreen(data.dashboard); 498 const screenData = this.handleBigScreen(data.dashboard);
498 this.widgets = processData; 499 this.widgets = processData;
499 this.dashboard = screenData; 500 this.dashboard = screenData;
@@ -514,9 +515,11 @@ export default { @@ -514,9 +515,11 @@ export default {
514 return { 515 return {
515 backgroundColor: (data && data.backgroundColor) || "", 516 backgroundColor: (data && data.backgroundColor) || "",
516 backgroundImage: (data && data.backgroundImage) || "", 517 backgroundImage: (data && data.backgroundImage) || "",
517 - height: (data && data.height) || "1080", 518 + height: (data && data.height) || 1080,
518 title: (data && data.title) || "", 519 title: (data && data.title) || "",
519 - width: (data && data.width) || "1920", 520 + width: (data && data.width) || 1920,
  521 + master: (data && data.master) || null,
  522 + refreshMasterTime: (data && data.refreshMasterTime) || null,
520 }; 523 };
521 }, 524 },
522 handleInitEchartsData(data) { 525 handleInitEchartsData(data) {
@@ -589,10 +592,13 @@ export default { @@ -589,10 +592,13 @@ export default {
589 width: this.dashboard.width, 592 width: this.dashboard.width,
590 height: this.dashboard.height, 593 height: this.dashboard.height,
591 backgroundColor: this.dashboard.backgroundColor, 594 backgroundColor: this.dashboard.backgroundColor,
  595 + refreshMasterTime: this.dashboard.refreshMasterTime,
  596 + master: this.dashboard.master,
592 backgroundImage: this.dashboard.backgroundImage, 597 backgroundImage: this.dashboard.backgroundImage,
593 }, 598 },
594 widgets: this.widgets, 599 widgets: this.widgets,
595 }; 600 };
  601 + console.log(screenData);
596 const { code, data } = await insertDashboard(screenData); 602 const { code, data } = await insertDashboard(screenData);
597 if (code == "200") { 603 if (code == "200") {
598 this.$message.success("保存成功!"); 604 this.$message.success("保存成功!");
@@ -825,14 +831,14 @@ export default { @@ -825,14 +831,14 @@ export default {
825 }, 831 },
826 // 将当前选中的组件,右侧属性值更新 832 // 将当前选中的组件,右侧属性值更新
827 widgetValueChanged(key, val) { 833 widgetValueChanged(key, val) {
828 - console.log("key", key);  
829 - console.log("val", val);  
830 - console.log(this.widgetOptions); 834 + // console.log("key", key);
  835 + // console.log("val", val);
  836 + // console.log(this.widgetOptions);
831 if (this.screenCode == "screen") { 837 if (this.screenCode == "screen") {
832 let newSetup = new Array(); 838 let newSetup = new Array();
833 this.dashboard = this.deepClone(val); 839 this.dashboard = this.deepClone(val);
834 - console.log("asd", this.dashboard);  
835 - console.log(this.widgetOptions); 840 + // console.log("asd", this.dashboard);
  841 + // console.log(this.widgetOptions);
836 if (this.bigscreenWidth != this.dashboard.width) { 842 if (this.bigscreenWidth != this.dashboard.width) {
837 this.bigscreenWidth = this.dashboard.width; 843 this.bigscreenWidth = this.dashboard.width;
838 } 844 }
@@ -844,12 +850,12 @@ export default { @@ -844,12 +850,12 @@ export default {
844 el.value = this.bigscreenWidth; 850 el.value = this.bigscreenWidth;
845 } else if (el.name == "height") { 851 } else if (el.name == "height") {
846 el.value = this.bigscreenHeight; 852 el.value = this.bigscreenHeight;
847 - } else if (this.dashboard.hasOwn(el.name)) { 853 + } else if (this.hasOwn(el.name)) {
848 el["value"] = this.dashboard[el.name]; 854 el["value"] = this.dashboard[el.name];
849 } 855 }
850 newSetup.push(el); 856 newSetup.push(el);
851 }); 857 });
852 - console.log(newSetup); 858 + // console.log(newSetup);
853 this.widgetOptions.setup = newSetup; 859 this.widgetOptions.setup = newSetup;
854 } else { 860 } else {
855 for (let i = 0; i < this.widgets.length; i++) { 861 for (let i = 0; i < this.widgets.length; i++) {
src/views/bigscreenDesigner/designer/tools/configure/wordcloudCharts/widget-word-cloud.js
@@ -255,140 +255,7 @@ export const widgetWordCloud = { @@ -255,140 +255,7 @@ export const widgetWordCloud = {
255 relactiveDom: 'dataType', 255 relactiveDom: 'dataType',
256 relactiveDomValue: 'staticData', 256 relactiveDomValue: 'staticData',
257 value: [ 257 value: [
258 - { name: "占道", value: 284 },  
259 - { name: "水质", value: 71 },  
260 - { name: "无水", value: 71 },  
261 - { name: "停供", value: 21 },  
262 - { name: "停气", value: 11 },  
263 - { name: "占道", value: 11 },  
264 - { name: "Nancy", value: 520 },  
265 - { name: "Jayfee", value: 666 },  
266 - { name: "生活资源", value: 999 },  
267 - { name: "供热管理", value: 888 },  
268 - { name: "供气质量", value: 777 },  
269 - { name: "社会保障", value: 407 },  
270 - { name: "交通运输", value: 516 },  
271 - { name: "城市交通", value: 515 },  
272 - { name: "环境保护", value: 483 },  
273 - { name: "城乡建设", value: 449 },  
274 - { name: "公共安全", value: 406 },  
275 - { name: "供热管理", value: 375 },  
276 - { name: "市容环卫", value: 355 },  
277 - { name: "粉尘污染", value: 335 },  
278 - { name: "噪声污染", value: 324 },  
279 - { name: "医疗卫生", value: 284 },  
280 - { name: "供热发展", value: 254 },  
281 - { name: "房地产管理", value: 462 },  
282 - { name: "生活噪音", value: 253 },  
283 - { name: "城市供电", value: 223 },  
284 - { name: "大气污染", value: 223 },  
285 - { name: "房屋安全", value: 223 },  
286 - { name: "文化活动", value: 223 },  
287 - { name: "拆迁管理", value: 223 },  
288 - { name: "公共设施", value: 223 },  
289 - { name: "供气质量", value: 223 },  
290 - { name: "供电管理", value: 223 },  
291 - { name: "燃气管理", value: 152 },  
292 - { name: "教育管理", value: 152 },  
293 - { name: "医疗纠纷", value: 152 },  
294 - { name: "执法监督", value: 152 },  
295 - { name: "设备安全", value: 152 },  
296 - { name: "政务建设", value: 152 },  
297 - { name: "宏观经济", value: 152 },  
298 - { name: "教育管理", value: 112 },  
299 - { name: "社会保障", value: 112 },  
300 - { name: "分类列表", value: 112 },  
301 - { name: "农业生产", value: 112 },  
302 - { name: "物业服务", value: 92 },  
303 - { name: "物业管理", value: 92 },  
304 - { name: "低保管理", value: 92 },  
305 - { name: "执法争议", value: 72 },  
306 - { name: "占道堆放", value: 71 },  
307 - { name: "地上设施", value: 71 },  
308 - { name: "主网原因", value: 71 },  
309 - { name: "集中供热", value: 71 },  
310 - { name: "客运管理", value: 71 },  
311 - { name: "治安案件", value: 71 },  
312 - { name: "群众健身", value: 41 },  
313 - { name: "市场收费", value: 41 },  
314 - { name: "生产资金", value: 41 },  
315 - { name: "生产噪声", value: 41 },  
316 - { name: "农村低保", value: 41 },  
317 - { name: "劳动争议", value: 41 },  
318 - { name: "医疗事故", value: 21 },  
319 - { name: "基础教育", value: 21 },  
320 - { name: "职业教育", value: 21 },  
321 - { name: "拆迁补偿", value: 21 },  
322 - { name: "设施维护", value: 21 },  
323 - { name: "市场外溢", value: 11 },  
324 - { name: "占道经营", value: 11 },  
325 - { name: "树木管理", value: 11 },  
326 - { name: "供气质量", value: 11 },  
327 - { name: "燃气管理", value: 11 },  
328 - { name: "市容环卫", value: 11 },  
329 - { name: "新闻传媒", value: 11 },  
330 - { name: "人才招聘", value: 11 },  
331 - { name: "市场环境", value: 11 },  
332 - { name: "城市交通", value: 11 },  
333 - { name: "物业服务", value: 11 },  
334 - { name: "物业管理", value: 11 },  
335 - { name: "园林绿化", value: 11 },  
336 - { name: "有线电视", value: 11 },  
337 - { name: "社会治安", value: 11 },  
338 - { name: "林业资源", value: 11 },  
339 - { name: "体育活动", value: 11 },  
340 - { name: "低保管理", value: 11 },  
341 - { name: "劳动争议", value: 11 },  
342 - { name: "粉煤灰污染", value: 284 },  
343 - { name: "人行道管理", value: 71 },  
344 - { name: "身份证管理", value: 71 },  
345 - { name: "房地产开发", value: 11 },  
346 - { name: "经营性收费", value: 11 },  
347 - { name: "一次供水问题", value: 11 },  
348 - { name: "工业粉尘污染", value: 71 },  
349 - { name: "工业排放污染", value: 41 },  
350 - { name: "破坏森林资源", value: 41 },  
351 - { name: "生活用水管理", value: 688 },  
352 - { name: "一次供水问题", value: 588 },  
353 - { name: "公交运输管理", value: 386 },  
354 - { name: "自然资源管理", value: 355 },  
355 - { name: "土地资源管理", value: 304 },  
356 - { name: "生活用水管理", value: 112 },  
357 - { name: "供热单位影响", value: 253 },  
358 - { name: "二次供水问题", value: 112 },  
359 - { name: "城市公共设施", value: 92 },  
360 - { name: "拆迁政策咨询", value: 92 },  
361 - { name: "县区、开发区", value: 152 },  
362 - { name: "文娱市场管理", value: 72 },  
363 - { name: "商业烟尘污染", value: 72 },  
364 - { name: "供热单位影响", value: 71 },  
365 - { name: "压力容器安全", value: 71 },  
366 - { name: "劳动合同争议", value: 41 },  
367 - { name: "物业资质管理", value: 21 },  
368 - { name: "农村基础设施", value: 11 },  
369 - { name: "行政事业收费", value: 11 },  
370 - { name: "房屋配套问题", value: 11 },  
371 - { name: "公交运输管理", value: 11 },  
372 - { name: "社会福利及事务", value: 11 },  
373 - { name: "食品安全与卫生", value: 11 },  
374 - { name: "物业服务与管理", value: 112 },  
375 - { name: "文体与教育管理", value: 406 },  
376 - { name: "社会保障与福利", value: 429 },  
377 - { name: "出租车运营管理", value: 385 },  
378 - { name: "物业服务与管理", value: 304 },  
379 - { name: "房屋质量与安全", value: 223 },  
380 - { name: "劳动报酬与福利", value: 41 },  
381 - { name: "食品安全与卫生", value: 11 },  
382 - { name: "房屋与图纸不符", value: 11 },  
383 - { name: "其他行政事业收费", value: 11 },  
384 - { name: "农村土地规划管理", value: 254 },  
385 - { name: "社会保障保险管理", value: 92 },  
386 - { name: "城市交通秩序管理", value: 72 },  
387 - { name: "户籍管理及身份证", value: 11 },  
388 - { name: "公路(水路)交通", value: 11 },  
389 - { name: "国有公交(大巴)管理", value: 71 },  
390 - { name: "有线电视安装及调试维护", value: 11 },  
391 - { name: "市政府工作部门(含部门管理机构、直属单位)", value: 11 }, 258 + { name: "占道", value: 284 }
392 ], 259 ],
393 }, 260 },
394 { 261 {
src/views/bigscreenDesigner/designer/tools/index.js
@@ -47,6 +47,22 @@ const screenConfig = { @@ -47,6 +47,22 @@ const screenConfig = {
47 value: '' 47 value: ''
48 }, 48 },
49 { 49 {
  50 + type: 'data-source-select',
  51 + label: '全局数据源',
  52 + name: 'master',
  53 + required: false,
  54 + placeholder: '全局数据源[List:sName、sValue] ',/**LIST sName、sValue 后台代码自动转成 sName:sValue Map形式*/
  55 + value: ''
  56 + },
  57 + {
  58 + type: 'el-input-number',
  59 + label: '刷新时间(毫秒)',
  60 + name: 'refreshMasterTime',
  61 + value: '600000',
  62 + required: false,
  63 + placeholder: '毫秒',
  64 + },
  65 + {
50 type: 'vue-color', 66 type: 'vue-color',
51 label: '背景颜色', 67 label: '背景颜色',
52 name: 'backgroundColor', 68 name: 'backgroundColor',
@@ -55,7 +71,7 @@ const screenConfig = { @@ -55,7 +71,7 @@ const screenConfig = {
55 value: 'rgba(45, 86, 126, 1)', 71 value: 'rgba(45, 86, 126, 1)',
56 }, 72 },
57 { 73 {
58 - type: 'custom-upload', 74 + type: 'custom-upload-new',
59 label: '图片地址', 75 label: '图片地址',
60 name: 'backgroundImage', 76 name: 'backgroundImage',
61 required: false, 77 required: false,
src/views/bigscreenDesigner/designer/widget/text/widgetText.vue
1 -<!--  
2 - * @Author: lide1202@hotmail.com  
3 - * @Date: 2021-3-13 11:04:24  
4 - * @Last Modified by: lide1202@hotmail.com  
5 - * @Last Modified time: 2021-3-13 11:04:24  
6 - !-->  
7 <template> 1 <template>
8 <div class="text" :style="styleColor">{{ styleColor.text }}</div> 2 <div class="text" :style="styleColor">{{ styleColor.text }}</div>
9 </template> 3 </template>
@@ -65,7 +59,15 @@ export default { @@ -65,7 +59,15 @@ export default {
65 const optionsData = this.optionsData; // 数据类型 静态 or 动态 59 const optionsData = this.optionsData; // 数据类型 静态 or 动态
66 if (optionsData.dataType == "dynamicData") { 60 if (optionsData.dataType == "dynamicData") {
67 this.dynamicDataFn(optionsData.dynamicData, optionsData.refreshTime); 61 this.dynamicDataFn(optionsData.dynamicData, optionsData.refreshTime);
68 - } else {}; 62 + } else {
  63 + console.log("静态数据",this,this.master,this.masterData);
  64 + //父数据不为空,
  65 + // if(this.isBlankObject(this.masterData)){
  66 + //
  67 + //
  68 + // }
  69 +
  70 + };
69 }, 71 },
70 dynamicDataFn(val, refreshTime) { 72 dynamicDataFn(val, refreshTime) {
71 if (!val) return; 73 if (!val) return;
src/views/bigscreenDesigner/designer/widget/widget.vue
1 -<!--  
2 - * @Author: lide1202@hotmail.com  
3 - * @Date: 2021-3-13 11:04:24  
4 - * @Last Modified by: lide1202@hotmail.com  
5 - * @Last Modified time: 2021-3-13 11:04:24  
6 - !-->  
7 <template> 1 <template>
8 <avue-draggable 2 <avue-draggable
9 :step="step" 3 :step="step"
@@ -100,14 +94,14 @@ export default { @@ -100,14 +94,14 @@ export default {
100 widget-text widget-marquee widget-href widget-time widget-image widget-slider widget-video widget-table widget-iframe widget-universal 94 widget-text widget-marquee widget-href widget-time widget-image widget-slider widget-video widget-table widget-iframe widget-universal
101 widget-linechart widget-barlinechart widget-piechart widget-hollow-piechart widget-funnel widget-gauge widget-china-map 95 widget-linechart widget-barlinechart widget-piechart widget-hollow-piechart widget-funnel widget-gauge widget-china-map
102 */ 96 */
103 - index: Number, // 当前组件,在工作区变量widgetInWorkbench中的索引 97 + // 当前组件,在工作区变量widgetInWorkbench中的索引
  98 + index: Number,
104 type: String, 99 type: String,
105 - bigscreen: Object,  
106 value: { 100 value: {
107 type: [Object], 101 type: [Object],
108 default: () => {} 102 default: () => {}
109 }, 103 },
110 - step: Number 104 + step: Number,
111 }, 105 },
112 data() { 106 data() {
113 return { 107 return {
@@ -117,7 +111,7 @@ export default { @@ -117,7 +111,7 @@ export default {
117 position: {}, 111 position: {},
118 /* leftMargin: null, 112 /* leftMargin: null,
119 topMargin: null*/ 113 topMargin: null*/
120 - } 114 + },
121 }; 115 };
122 }, 116 },
123 computed: { 117 computed: {
@@ -142,6 +136,10 @@ export default { @@ -142,6 +136,10 @@ export default {
142 handleFocus({ index, left, top, width, height }) {}, 136 handleFocus({ index, left, top, width, height }) {},
143 handleBlur({ index, left, top, width, height }) { 137 handleBlur({ index, left, top, width, height }) {
144 this.$emit("onActivated", { index, left, top, width, height }); 138 this.$emit("onActivated", { index, left, top, width, height });
  139 +
  140 + console.log(this.masterData,"2222");
  141 +
  142 +
145 this.$refs.draggable.setActive(true); 143 this.$refs.draggable.setActive(true);
146 // 处理widget超出workbench的问题 144 // 处理widget超出workbench的问题
147 //this.handleBoundary({ index, left, top, width, height }) 145 //this.handleBoundary({ index, left, top, width, height })
src/views/screenDesigner/config/configs.js
@@ -12,7 +12,7 @@ @@ -12,7 +12,7 @@
12 * 词云图:{type: 'wordCloud',tabName: '词云图'} 12 * 词云图:{type: 'wordCloud',tabName: '词云图'}
13 * **/ 13 * **/
14 14
15 -import { screenConfig } from './texts/screenConfig' 15 +import {screenConfig} from './texts/screenConfig'
16 import {widgetHref} from "./texts/widget-href" 16 import {widgetHref} from "./texts/widget-href"
17 import {widgetIframe} from "./texts/widget-iframe" 17 import {widgetIframe} from "./texts/widget-iframe"
18 import {widgetImage} from "./texts/widget-image" 18 import {widgetImage} from "./texts/widget-image"
src/views/screenDesigner/config/texts/screenConfig.js
@@ -45,6 +45,20 @@ export const screenConfig = { @@ -45,6 +45,20 @@ export const screenConfig = {
45 placeholder: '', 45 placeholder: '',
46 }, 46 },
47 { 47 {
  48 + type: 'data-source-select',
  49 + label: '全局数据源',
  50 + name: 'master',
  51 + required: false,
  52 + placeholder: '全局数据源[List:sName、sValue] ',/**LIST sName、sValue 后台代码自动转成 sName:sValue Map形式*/
  53 + value: ''
  54 + },
  55 + {
  56 + type: 'el-input-number',
  57 + label: '刷新时间(毫秒)',
  58 + name: 'refreshMasterTime',
  59 + value: '600000',
  60 + },
  61 + {
48 type: 'vue-color', 62 type: 'vue-color',
49 label: '背景颜色', 63 label: '背景颜色',
50 name: 'backgroundColor', 64 name: 'backgroundColor',
@@ -53,7 +67,8 @@ export const screenConfig = { @@ -53,7 +67,8 @@ export const screenConfig = {
53 value: '#000', 67 value: '#000',
54 }, 68 },
55 { 69 {
56 - type: 'custom-upload', 70 + // type: 'custom-upload',
  71 + type: 'custom-upload-new',
57 label: '图片地址', 72 label: '图片地址',
58 name: 'backgroundImage', 73 name: 'backgroundImage',
59 required: false, 74 required: false,