From 90d642b0ec7c86fc3d47386062894ee1e4c50c36 Mon Sep 17 00:00:00 2001 From: qianbao Date: Sun, 27 Nov 2022 16:03:05 +0800 Subject: [PATCH] 1、大屏左侧操作菜单归类 2、代码文件归类 3、添加雷达图 --- src/mixins/common.js | 2 +- src/views/bigscreenDesigner/designer/components/datasourceSelect.vue | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/bigscreenDesigner/designer/components/dynamicForm.vue | 18 +++++++++++++----- src/views/bigscreenDesigner/designer/index.vue | 34 ++++++++++++++++++++-------------- src/views/bigscreenDesigner/designer/tools/configure/wordcloudCharts/widget-word-cloud.js | 135 +-------------------------------------------------------------------------------------------------------------------------------------- src/views/bigscreenDesigner/designer/tools/index.js | 18 +++++++++++++++++- src/views/bigscreenDesigner/designer/widget/text/widgetText.vue | 16 +++++++++------- src/views/bigscreenDesigner/designer/widget/widget.vue | 18 ++++++++---------- src/views/screenDesigner/config/configs.js | 2 +- src/views/screenDesigner/config/texts/screenConfig.js | 17 ++++++++++++++++- 10 files changed, 179 insertions(+), 174 deletions(-) create mode 100644 src/views/bigscreenDesigner/designer/components/datasourceSelect.vue diff --git a/src/mixins/common.js b/src/mixins/common.js index 7eb628b..092caba 100644 --- a/src/mixins/common.js +++ b/src/mixins/common.js @@ -138,7 +138,7 @@ export default { isNotBlank (val) { return !this.isBlank(val) }, - isBlank (val) { + isBlankObject (val) { if (this.isNull(val)) { return true } diff --git a/src/views/bigscreenDesigner/designer/components/datasourceSelect.vue b/src/views/bigscreenDesigner/designer/components/datasourceSelect.vue new file mode 100644 index 0000000..3b0671a --- /dev/null +++ b/src/views/bigscreenDesigner/designer/components/datasourceSelect.vue @@ -0,0 +1,93 @@ + + diff --git a/src/views/bigscreenDesigner/designer/components/dynamicForm.vue b/src/views/bigscreenDesigner/designer/components/dynamicForm.vue index 2c41555..9da9869 100644 --- a/src/views/bigscreenDesigner/designer/components/dynamicForm.vue +++ b/src/views/bigscreenDesigner/designer/components/dynamicForm.vue @@ -60,13 +60,18 @@ v-model="formData[item.name]" @change="val => changed(val, item.name)" /> + + - @@ -224,7 +229,7 @@ @@ -294,6 +299,7 @@ import dynamicAddTable from "./dynamicAddTable.vue"; import customUpload from "./customUpload.vue"; import dynamicAddRadar from "./dynamicAddRadar"; import CustomUploadNew from "./customUploadNew"; +import DatasourceSelect from "./datasourceSelect"; import CustomUploadMulti from "./customUploadMulti"; export default { name: "DynamicForm", @@ -306,7 +312,9 @@ export default { customUpload, dynamicAddRadar, CustomUploadNew, - CustomUploadMulti + CustomUploadMulti, + DatasourceSelect, + }, model: { prop: "value", @@ -317,14 +325,14 @@ export default { value: { type: [Object], default: () => {} - } + }, }, data() { return { formData: {}, inputShow: {}, // 控制表单是否显示 dialogVisibleStaticData: false, - validationRules: "", + // validationRules: "", optionsJavascript: { mode: "text/javascript", tabSize: 2, // 缩进格式 diff --git a/src/views/bigscreenDesigner/designer/index.vue b/src/views/bigscreenDesigner/designer/index.vue index 0afc097..ddd16c0 100644 --- a/src/views/bigscreenDesigner/designer/index.vue +++ b/src/views/bigscreenDesigner/designer/index.vue @@ -305,14 +305,11 @@ export default { VueRulerTool, widget, dynamicForm, - contentMenu, + contentMenu }, data() { return { - uploadUrl: - process.env.BASE_API + - "/reportDashboard/import/" + - this.$route.query.reportCode, + uploadUrl:process.env.BASE_API +"/reportDashboard/import/" +this.$route.query.reportCode, grade: false, layerWidget: [], widgetTools: widgetTools, // 左侧工具栏的组件图标,将js变量加入到当前作用域 @@ -334,10 +331,13 @@ export default { height: 1080, // 大屏设计高度 backgroundColor: "", // 大屏背景色 backgroundImage: "", // 大屏背景图片 + master: null, // 全局数据源 + refreshMasterTime: 600000, // 刷新时间(毫秒) refreshSeconds: null, // 大屏刷新时间间隔 presetLine: [], // 辅助线 presetLineVisible: true, // 辅助线是否显示 }, + masterData:{"sName1":"测试文本1","sName2":"测试文本2"}, // 大屏的标记 screenCode: "", dragWidgetCode: "", //从工具栏拖拽的组件code @@ -494,6 +494,7 @@ export default { const { code, data } = await detailDashboard(reportCode); if (code != 200) return; const processData = this.handleInitEchartsData(data); + const screenData = this.handleBigScreen(data.dashboard); this.widgets = processData; this.dashboard = screenData; @@ -514,9 +515,11 @@ export default { return { backgroundColor: (data && data.backgroundColor) || "", backgroundImage: (data && data.backgroundImage) || "", - height: (data && data.height) || "1080", + height: (data && data.height) || 1080, title: (data && data.title) || "", - width: (data && data.width) || "1920", + width: (data && data.width) || 1920, + master: (data && data.master) || null, + refreshMasterTime: (data && data.refreshMasterTime) || null, }; }, handleInitEchartsData(data) { @@ -589,10 +592,13 @@ export default { width: this.dashboard.width, height: this.dashboard.height, backgroundColor: this.dashboard.backgroundColor, + refreshMasterTime: this.dashboard.refreshMasterTime, + master: this.dashboard.master, backgroundImage: this.dashboard.backgroundImage, }, widgets: this.widgets, }; + console.log(screenData); const { code, data } = await insertDashboard(screenData); if (code == "200") { this.$message.success("保存成功!"); @@ -825,14 +831,14 @@ export default { }, // 将当前选中的组件,右侧属性值更新 widgetValueChanged(key, val) { - console.log("key", key); - console.log("val", val); - console.log(this.widgetOptions); + // console.log("key", key); + // console.log("val", val); + // console.log(this.widgetOptions); if (this.screenCode == "screen") { let newSetup = new Array(); this.dashboard = this.deepClone(val); - console.log("asd", this.dashboard); - console.log(this.widgetOptions); + // console.log("asd", this.dashboard); + // console.log(this.widgetOptions); if (this.bigscreenWidth != this.dashboard.width) { this.bigscreenWidth = this.dashboard.width; } @@ -844,12 +850,12 @@ export default { el.value = this.bigscreenWidth; } else if (el.name == "height") { el.value = this.bigscreenHeight; - } else if (this.dashboard.hasOwn(el.name)) { + } else if (this.hasOwn(el.name)) { el["value"] = this.dashboard[el.name]; } newSetup.push(el); }); - console.log(newSetup); + // console.log(newSetup); this.widgetOptions.setup = newSetup; } else { for (let i = 0; i < this.widgets.length; i++) { diff --git a/src/views/bigscreenDesigner/designer/tools/configure/wordcloudCharts/widget-word-cloud.js b/src/views/bigscreenDesigner/designer/tools/configure/wordcloudCharts/widget-word-cloud.js index 542a77b..9576efc 100644 --- a/src/views/bigscreenDesigner/designer/tools/configure/wordcloudCharts/widget-word-cloud.js +++ b/src/views/bigscreenDesigner/designer/tools/configure/wordcloudCharts/widget-word-cloud.js @@ -255,140 +255,7 @@ export const widgetWordCloud = { relactiveDom: 'dataType', relactiveDomValue: 'staticData', value: [ - { name: "占道", value: 284 }, - { name: "水质", value: 71 }, - { name: "无水", value: 71 }, - { name: "停供", value: 21 }, - { name: "停气", value: 11 }, - { name: "占道", value: 11 }, - { name: "Nancy", value: 520 }, - { name: "Jayfee", value: 666 }, - { name: "生活资源", value: 999 }, - { name: "供热管理", value: 888 }, - { name: "供气质量", value: 777 }, - { name: "社会保障", value: 407 }, - { name: "交通运输", value: 516 }, - { name: "城市交通", value: 515 }, - { name: "环境保护", value: 483 }, - { name: "城乡建设", value: 449 }, - { name: "公共安全", value: 406 }, - { name: "供热管理", value: 375 }, - { name: "市容环卫", value: 355 }, - { name: "粉尘污染", value: 335 }, - { name: "噪声污染", value: 324 }, - { name: "医疗卫生", value: 284 }, - { name: "供热发展", value: 254 }, - { name: "房地产管理", value: 462 }, - { name: "生活噪音", value: 253 }, - { name: "城市供电", value: 223 }, - { name: "大气污染", value: 223 }, - { name: "房屋安全", value: 223 }, - { name: "文化活动", value: 223 }, - { name: "拆迁管理", value: 223 }, - { name: "公共设施", value: 223 }, - { name: "供气质量", value: 223 }, - { name: "供电管理", value: 223 }, - { name: "燃气管理", value: 152 }, - { name: "教育管理", value: 152 }, - { name: "医疗纠纷", value: 152 }, - { name: "执法监督", value: 152 }, - { name: "设备安全", value: 152 }, - { name: "政务建设", value: 152 }, - { name: "宏观经济", value: 152 }, - { name: "教育管理", value: 112 }, - { name: "社会保障", value: 112 }, - { name: "分类列表", value: 112 }, - { name: "农业生产", value: 112 }, - { name: "物业服务", value: 92 }, - { name: "物业管理", value: 92 }, - { name: "低保管理", value: 92 }, - { name: "执法争议", value: 72 }, - { name: "占道堆放", value: 71 }, - { name: "地上设施", value: 71 }, - { name: "主网原因", value: 71 }, - { name: "集中供热", value: 71 }, - { name: "客运管理", value: 71 }, - { name: "治安案件", value: 71 }, - { name: "群众健身", value: 41 }, - { name: "市场收费", value: 41 }, - { name: "生产资金", value: 41 }, - { name: "生产噪声", value: 41 }, - { name: "农村低保", value: 41 }, - { name: "劳动争议", value: 41 }, - { name: "医疗事故", value: 21 }, - { name: "基础教育", value: 21 }, - { name: "职业教育", value: 21 }, - { name: "拆迁补偿", value: 21 }, - { name: "设施维护", value: 21 }, - { name: "市场外溢", value: 11 }, - { name: "占道经营", value: 11 }, - { name: "树木管理", value: 11 }, - { name: "供气质量", value: 11 }, - { name: "燃气管理", value: 11 }, - { name: "市容环卫", value: 11 }, - { name: "新闻传媒", value: 11 }, - { name: "人才招聘", value: 11 }, - { name: "市场环境", value: 11 }, - { name: "城市交通", value: 11 }, - { name: "物业服务", value: 11 }, - { name: "物业管理", value: 11 }, - { name: "园林绿化", value: 11 }, - { name: "有线电视", value: 11 }, - { name: "社会治安", value: 11 }, - { name: "林业资源", value: 11 }, - { name: "体育活动", value: 11 }, - { name: "低保管理", value: 11 }, - { name: "劳动争议", value: 11 }, - { name: "粉煤灰污染", value: 284 }, - { name: "人行道管理", value: 71 }, - { name: "身份证管理", value: 71 }, - { name: "房地产开发", value: 11 }, - { name: "经营性收费", value: 11 }, - { name: "一次供水问题", value: 11 }, - { name: "工业粉尘污染", value: 71 }, - { name: "工业排放污染", value: 41 }, - { name: "破坏森林资源", value: 41 }, - { name: "生活用水管理", value: 688 }, - { name: "一次供水问题", value: 588 }, - { name: "公交运输管理", value: 386 }, - { name: "自然资源管理", value: 355 }, - { name: "土地资源管理", value: 304 }, - { name: "生活用水管理", value: 112 }, - { name: "供热单位影响", value: 253 }, - { name: "二次供水问题", value: 112 }, - { name: "城市公共设施", value: 92 }, - { name: "拆迁政策咨询", value: 92 }, - { name: "县区、开发区", value: 152 }, - { name: "文娱市场管理", value: 72 }, - { name: "商业烟尘污染", value: 72 }, - { name: "供热单位影响", value: 71 }, - { name: "压力容器安全", value: 71 }, - { name: "劳动合同争议", value: 41 }, - { name: "物业资质管理", value: 21 }, - { name: "农村基础设施", value: 11 }, - { name: "行政事业收费", value: 11 }, - { name: "房屋配套问题", value: 11 }, - { name: "公交运输管理", value: 11 }, - { name: "社会福利及事务", value: 11 }, - { name: "食品安全与卫生", value: 11 }, - { name: "物业服务与管理", value: 112 }, - { name: "文体与教育管理", value: 406 }, - { name: "社会保障与福利", value: 429 }, - { name: "出租车运营管理", value: 385 }, - { name: "物业服务与管理", value: 304 }, - { name: "房屋质量与安全", value: 223 }, - { name: "劳动报酬与福利", value: 41 }, - { name: "食品安全与卫生", value: 11 }, - { name: "房屋与图纸不符", value: 11 }, - { name: "其他行政事业收费", value: 11 }, - { name: "农村土地规划管理", value: 254 }, - { name: "社会保障保险管理", value: 92 }, - { name: "城市交通秩序管理", value: 72 }, - { name: "户籍管理及身份证", value: 11 }, - { name: "公路(水路)交通", value: 11 }, - { name: "国有公交(大巴)管理", value: 71 }, - { name: "有线电视安装及调试维护", value: 11 }, - { name: "市政府工作部门(含部门管理机构、直属单位)", value: 11 }, + { name: "占道", value: 284 } ], }, { diff --git a/src/views/bigscreenDesigner/designer/tools/index.js b/src/views/bigscreenDesigner/designer/tools/index.js index 4a29807..d414b55 100644 --- a/src/views/bigscreenDesigner/designer/tools/index.js +++ b/src/views/bigscreenDesigner/designer/tools/index.js @@ -47,6 +47,22 @@ const screenConfig = { value: '' }, { + type: 'data-source-select', + label: '全局数据源', + name: 'master', + required: false, + placeholder: '全局数据源[List:sName、sValue] ',/**LIST sName、sValue 后台代码自动转成 sName:sValue Map形式*/ + value: '' + }, + { + type: 'el-input-number', + label: '刷新时间(毫秒)', + name: 'refreshMasterTime', + value: '600000', + required: false, + placeholder: '毫秒', + }, + { type: 'vue-color', label: '背景颜色', name: 'backgroundColor', @@ -55,7 +71,7 @@ const screenConfig = { value: 'rgba(45, 86, 126, 1)', }, { - type: 'custom-upload', + type: 'custom-upload-new', label: '图片地址', name: 'backgroundImage', required: false, diff --git a/src/views/bigscreenDesigner/designer/widget/text/widgetText.vue b/src/views/bigscreenDesigner/designer/widget/text/widgetText.vue index 95b5971..0e449d4 100644 --- a/src/views/bigscreenDesigner/designer/widget/text/widgetText.vue +++ b/src/views/bigscreenDesigner/designer/widget/text/widgetText.vue @@ -1,9 +1,3 @@ - @@ -65,7 +59,15 @@ export default { const optionsData = this.optionsData; // 数据类型 静态 or 动态 if (optionsData.dataType == "dynamicData") { this.dynamicDataFn(optionsData.dynamicData, optionsData.refreshTime); - } else {}; + } else { + console.log("静态数据",this,this.master,this.masterData); + //父数据不为空, + // if(this.isBlankObject(this.masterData)){ + // + // + // } + + }; }, dynamicDataFn(val, refreshTime) { if (!val) return; diff --git a/src/views/bigscreenDesigner/designer/widget/widget.vue b/src/views/bigscreenDesigner/designer/widget/widget.vue index 36add51..58da1db 100644 --- a/src/views/bigscreenDesigner/designer/widget/widget.vue +++ b/src/views/bigscreenDesigner/designer/widget/widget.vue @@ -1,9 +1,3 @@ -