From e1d380a930e73d8355a4695ca5f5b91f471c2394 Mon Sep 17 00:00:00 2001 From: 马宇豪 <978517621@qq.com> Date: 星期一, 28 四月 2025 13:32:12 +0800 Subject: [PATCH] 修改大屏 --- src/views/hazardousChemicals/bigScreen/components/midTop.vue | 117 +++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 78 insertions(+), 39 deletions(-) diff --git a/src/views/hazardousChemicals/bigScreen/components/midTop.vue b/src/views/hazardousChemicals/bigScreen/components/midTop.vue index 4a26014..6954abd 100644 --- a/src/views/hazardousChemicals/bigScreen/components/midTop.vue +++ b/src/views/hazardousChemicals/bigScreen/components/midTop.vue @@ -8,13 +8,31 @@ v-model="companyType" filterable placeholder="请选择企业类型" - style="width: 100%" + style="flex: 1" remote remote-show-suffix :remote-method="getList" > <el-option v-for="item in typeList" + :key="item.id" + :label="item.name" + :value="item.id" + /> + </el-select> + <el-select + clearable + :teleported="false" + v-model="warningType" + filterable + placeholder="请选择风险等级" + style="flex: 1" + remote + remote-show-suffix + :remote-method="getList" + > + <el-option + v-for="item in warningList" :key="item.id" :label="item.name" :value="item.id" @@ -67,7 +85,7 @@ // 表格数据 const companyData = ref([]) // 配置参数 -const visibleRows = 8 // 显示的行数 +const visibleRows = 10 // 显示的行数 const scrollSpeed = 0.5 // 每次滚动的像素数 const rowHeight = 40 // 行高,与CSS一致 const viewport = ref(null) @@ -76,7 +94,7 @@ onMounted(()=>{ getList() - initChart() + // initChart() // 设置视口高度 if (viewport.value) { viewport.value.style.height = `${visibleRows * rowHeight}px` @@ -94,6 +112,7 @@ }) const companyType = ref('') +const warningType = ref('') const typeList = [ { id: 0, @@ -108,12 +127,39 @@ name: '中试类' } ] +const warningList = [ + { + id: 1, + name: '红' + }, + { + id: 2, + name: '橙' + }, + { + id: 3, + name: '黄' + }, + { + id: 4, + name: '蓝' + } +] const getList = async () => { const res = await getCompanyMessage(companyType.value) if(res.code == 200){ - companyData.value = res.data - // console.log(companyData.value,555) + if(res.data && Array.isArray(res.data) && res.data.length>0){ + companyData.value = res.data + const mapData = companyData.value.map(i=>{ + return { + name: i.companyName + '\n' + i.warningCount, + value: [i.longitude,i.latitude] + } + }) + initChart(mapData) + } + }else{ ElMessage.warning(res.message) } @@ -144,24 +190,10 @@ animationFrame = requestAnimationFrame(scrollAnimation) } -const initChart =()=>{ +const initChart =(mapData)=>{ //获取echart对象 let dom = document.getElementById('areaMap') if (dom) { - let data = [ - { - name: "姑苏区", - value: Math.round(Math.random() * 100) - }, - { - name: "虎丘区", - value: Math.round(Math.random() * 100) - }, - { - name: "吴中区", - value: Math.round(Math.random() * 100) - }, - ] //初始化 let myEchart = echarts.init(dom) //注册地图 @@ -169,6 +201,7 @@ let option = { geo: { map: '苏州市', + roam: 'scale', aspectScale: 0.8, layoutCenter: ['50%', '50%'], //地图位置 layoutSize: '75%', @@ -233,16 +266,15 @@ } } }, - data: data }, // 区域散点图 { type: 'effectScatter', coordinateSystem: 'geo', - symbolSize: 10, + symbolSize: 4, rippleEffect: { - period: 3, - scale: 10, + period: 2, + scale: 6, brushType: 'fill' }, label: { @@ -251,20 +283,16 @@ position: 'right', formatter: '{b}', color: 'yellow', - fontSize: 12 + fontSize: 14 } }, - data: [ - { name: '斜塘街道 11', value: [120.697614, 31.288664] }, - { name: '桑田岛 12', value: [120.807510, 31.350300] }, - { name: '车坊 2', value: [120.627614, 31.338664] } - ], + data: mapData, itemStyle: { //坐标点颜色 normal: { show: true, - color: 'skyblue', - shadowBlur: 20, + color: 'orange', + shadowBlur: 6, shadowColor: '#fff' }, emphasis: { @@ -289,17 +317,20 @@ height: 100%; display: flex; align-items: flex-start; + gap: 10px } .container-left{ + flex: 1; display: flex; flex-direction: column; align-items: center; - width: 300px; } .filter{ - width: 300px; + width: 100%; + display: flex; + align-items: center; } :deep(.el-input__wrapper){ height: 28px; @@ -323,9 +354,11 @@ } } } + + .table-wrapper { position: relative; - width: 300px; + width: 100%; margin-top: 10px; border: 1px solid rgba(255,255,255,.1); border-radius: 2px; @@ -384,8 +417,14 @@ 100% { opacity: 1; } } - #areaMap{ - flex: 1; - height: 500px; - } +#areaMap{ + flex: 2; + height: 100%; +} +:deep(.BMap_cpyCtrl) { + display: none !important; +} +:deep(.anchorBL) { + display: none !important; +} </style> -- Gitblit v1.9.2