2个文件已修改
47个文件已添加
14个文件已删除
| | |
| | | import { getToken } from "@/utils/auth"; |
| | | import Element from 'element-ui' |
| | | import './assets/styles/element-variables.scss' |
| | | |
| | | import * as echarts from 'echarts' |
| | | import 'echarts-gl' |
| | | import '@/assets/styles/index.scss' // global css |
| | | import '@/assets/styles/ruoyi.scss' // ruoyi css |
| | | import App from './App' |
| | |
| | | Vue.prototype.getToken = getToken |
| | | Vue.prototype.$uploadUrl = process.env.VUE_APP_BASE_API + "/common/upload" |
| | | Vue.prototype.$img = process.env.VUE_APP_BASE_API |
| | | |
| | | Vue.prototype.$echarts = echarts |
| | | |
| | | // å
¨å±ç»ä»¶æè½½ |
| | | Vue.component('DictTag', DictTag) |
New file |
| | |
| | | <template> |
| | | <div class="lineChart-container" ref="lineChart"></div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | name: 'lineChart', |
| | | data () { |
| | | return { |
| | | // é
ç½® |
| | | option: { |
| | | grid: { |
| | | width: '100%' |
| | | }, |
| | | tooltip: { |
| | | trigger: 'item', |
| | | formatter: function (params) { |
| | | let str = '<div><p>' + params.name + '</p></div>' |
| | | str += params.marker + params.seriesName + 'ï¼' + params.data |
| | | return str |
| | | }, |
| | | textStyle: { |
| | | fontSize: 12 |
| | | } |
| | | }, |
| | | |
| | | // å¾ä¾ç»ä»¶ |
| | | legend: { |
| | | type: 'plain', |
| | | top: 20, |
| | | data: ['å·²å¤ç工忰', 'æªå¤ç工忰'], |
| | | textStyle: { |
| | | color: '#A0AEC0' |
| | | } |
| | | }, |
| | | |
| | | // Xè½´é
ç½® |
| | | xAxis: { |
| | | type: 'category', |
| | | boundaryGap: false, |
| | | axisTick: { |
| | | show: true |
| | | }, |
| | | axisLine: { |
| | | lineStyle: { |
| | | color: '#A0AEC0', |
| | | type: 'solid' |
| | | } |
| | | }, |
| | | axisLabel: { |
| | | color: '#A0AEC0', |
| | | fontSize: 12, |
| | | margin: 20, |
| | | rotate: 30 |
| | | }, |
| | | data: [ |
| | | 'å¯é¡ºåº', |
| | | '大å®åº', |
| | | 'èªæµæ¯åº', |
| | | 'è´¡æ¯åº', |
| | | '容å¿', |
| | | '髿°åº', |
| | | '沿滩åº' |
| | | ] |
| | | }, |
| | | // Yè½´é
ç½® |
| | | yAxis: { |
| | | type: 'value', |
| | | splitLine: { |
| | | lineStyle: { |
| | | color: '#A0AEC0', |
| | | type: 'dashed' |
| | | } |
| | | }, |
| | | splitNumber: 5, |
| | | axisLine: { |
| | | show: false |
| | | }, |
| | | axisLabel: { |
| | | color: '#A0AEC0', |
| | | fontSize: 12, |
| | | margin: 15 |
| | | } |
| | | }, |
| | | // ç³»åå表ï¼å¤ä¸ªæçº¿å¾ï¼ |
| | | series: [ |
| | | { |
| | | name: 'å·²å¤ç工忰', |
| | | type: 'line', |
| | | data: [120, 200, 150, 80, 70, 110, 130], |
| | | smooth: true, |
| | | areaStyle: { |
| | | color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [ |
| | | { offset: 0, color: '#00a2ff' }, |
| | | { offset: 0.5, color: 'rgba(0,162,255,0.1)' }, |
| | | { offset: 1, color: 'rgba(0,162,255,0.1)' } |
| | | ]) |
| | | }, |
| | | |
| | | lineStyle: { |
| | | color: '#00a2ff', |
| | | width: 1 |
| | | }, |
| | | itemStyle: { |
| | | color: '#00a2ff' |
| | | } |
| | | }, |
| | | { |
| | | name: 'æªå¤ç工忰', |
| | | type: 'line', |
| | | data: [90, 140, 160, 55, 88, 99, 100], |
| | | smooth: true, |
| | | areaStyle: { |
| | | color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [ |
| | | { offset: 0, color: '#e4b54f' }, |
| | | { offset: 0.5, color: 'rgba(228,181,79,0.1)' }, |
| | | { offset: 1, color: 'rgba(228,181,79,0.1)' } |
| | | ]) |
| | | }, |
| | | |
| | | lineStyle: { |
| | | color: '#e4b54f', |
| | | width: 1 |
| | | }, |
| | | itemStyle: { |
| | | color: '#e4b54f' |
| | | } |
| | | } |
| | | ] |
| | | }, |
| | | |
| | | myDrawLine: null |
| | | } |
| | | }, |
| | | |
| | | methods: { |
| | | initDrawLine () { |
| | | const that = this |
| | | that.myDrawLine = this.$echarts.init(this.$refs.lineChart) |
| | | that.myDrawLine.setOption(that.option) |
| | | window.addEventListener('resize', function () { |
| | | that.myDrawLine.resize() |
| | | }) |
| | | } |
| | | }, |
| | | |
| | | mounted () { |
| | | this.$nextTick(() => { |
| | | setTimeout(() => { |
| | | this.initDrawLine() |
| | | }, 100) |
| | | }) |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .lineChart-container { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="map-container"> |
| | | <!--å¼¹çª--> |
| | | <!-- <div class="layer" ref="layer"> |
| | | 1231 |
| | | </div> --> |
| | | <div class="map-main-container" ref="map"></div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import ZGSJson from '@/assets/map/zigong.json' // JOSNå°å¾æä»¶ |
| | | export default { |
| | | name: 'mapApp', |
| | | data () { |
| | | return { |
| | | geoCoordinates: { |
| | | èªæµäºåº: [ |
| | | { |
| | | value: 12312, |
| | | name: 'XXX' |
| | | } |
| | | ], |
| | | 髿°åº: [ |
| | | { |
| | | value: 12312, |
| | | name: 'XXX' |
| | | } |
| | | ], |
| | | 大å®åº: [ |
| | | { |
| | | value: 12312, |
| | | name: 'XXX' |
| | | } |
| | | ], |
| | | 沿滩åº: [ |
| | | { |
| | | value: 12312, |
| | | name: 'XXX' |
| | | } |
| | | ], |
| | | è´¡äºåº: [ |
| | | { |
| | | value: 12312, |
| | | name: 'XXX' |
| | | } |
| | | ], |
| | | è£å¿: [ |
| | | { |
| | | value: 12312, |
| | | name: 'XXX' |
| | | } |
| | | ], |
| | | å¯é¡ºå¿: [ |
| | | { |
| | | value: 12312, |
| | | name: 'XXX' |
| | | } |
| | | ] |
| | | }, |
| | | |
| | | // å°å¾é
ç½® |
| | | // option: { |
| | | // tooltip: { |
| | | // trigger: 'item', |
| | | // triggerOn: 'mousemove|click', // å¿
须使ç¨è¿ç§æ¹å¼ï¼å 为tooltipéè¦æç¹å»äºä»¶ï¼åæ¶ç§»å
¥effectScatterç¹åºåèå¨ |
| | | // extraCssText: 'border:none;', // æ¸
é¤tooltipèªå¸¦é¢è² |
| | | // // hideDelay: 2000, // æç¤ºæ¡2ç§åå°æ¶ |
| | | // formatter: function (params) { |
| | | // // èªå®ä¹tooltipå
容 |
| | | // this.fetchData(params.name) |
| | | // return `Custom Tooltip Content for ${params.name}` |
| | | // } |
| | | // }, |
| | | |
| | | // series: [ |
| | | // { |
| | | // type: 'map3D', |
| | | // map: 'zgs', |
| | | // boxWidth: 100, |
| | | // regionHeight: 2, |
| | | |
| | | // markPoint: { |
| | | // symbol: 'pin', // æ è®°ç¹å½¢ç¶ |
| | | // symbolSize: 50, // æ è®°ç¹å¤§å° |
| | | // data: [ |
| | | // { |
| | | // name: 'æ è®°ç¹1', |
| | | // coord: ['104.3334', '29.2938'] // æ è®°ç¹çä¸ç»´åæ |
| | | // } |
| | | // // å¯ä»¥æ·»å æ´å¤æ è®°ç¹ |
| | | // ] |
| | | // }, |
| | | |
| | | // // å°å¾çé¢è² |
| | | // itemStyle: { |
| | | // color: '#8adfff', // å°å¾æ¿åçé¢è² |
| | | // opacity: 0.98, // å¾å½¢çä¸éæåº¦ [ default: 1 ] |
| | | // borderWidth: 1, // (å°å¾æ¿åé´çåé线)å¾å½¢æè¾¹ç宽度ãå ä¸æè¾¹åå¯ä»¥æ´æ¸
æ°çåºåæ¯ä¸ªåºå |
| | | // borderColor: '#35b5ff' // å¾å½¢æè¾¹çé¢è²ã[ default: #333 ] |
| | | // }, |
| | | |
| | | // realisticMaterial: { |
| | | // detailTexture: require('../assets/images/face-num-bg3.png'), |
| | | // textureTiling: 1, |
| | | // textureOffset: 0, |
| | | // roughness: 0, // æè´¨ç²ç³åº¦ï¼0å®å
¨å
æ»ï¼1å®å
¨ç²ç³ |
| | | // metalness: 0, |
| | | // roughnessAdjust: 0 |
| | | // }, |
| | | |
| | | // shading: 'realistic', |
| | | |
| | | // // æ ç¾çç¸å
³è®¾ç½® |
| | | // label: { |
| | | // show: true, // (å°å¾ä¸çåå¸åç§°)æ¯å¦æ¾ç¤ºæ ç¾ |
| | | // distance: 5, |
| | | // formatter: function (params) { |
| | | // return params.name ? params.name : ' ' |
| | | // }, |
| | | // // æ ç¾çå使 ·å¼ |
| | | // color: '#fff', // å°å¾åå§ååºååä½é¢è² |
| | | // fontSize: 16, // åä½å¤§å° |
| | | // fontWeight: '300' |
| | | // }, |
| | | |
| | | // // é¼ æ hover é«äº®æ¶å¾å½¢åæ ç¾çæ ·å¼ |
| | | // emphasis: { |
| | | // label: { |
| | | // // label é«äº®æ¶çé
ç½® |
| | | // show: true, |
| | | // color: '#fff', // é«äº®æ¶æ ç¾é¢è²å为 ç½è² |
| | | // fontSize: 16 // é«äº®æ¶æ ç¾åä½ å大 |
| | | // }, |
| | | // scale: true, |
| | | // itemStyle: { |
| | | // // itemStyle é«äº®æ¶çé
ç½® |
| | | // color: '#ffc23e' // é«äº®æ¶å°å¾æ¿åé¢è²æ¹å |
| | | // } |
| | | // }, |
| | | |
| | | // // å°é¢å¯ä»¥ä½¿æ´ä¸ªåºæ¯çèµ·æ¥æ´çå®ï¼æ´ææ¨¡åæã |
| | | // light: { |
| | | // main: { |
| | | // // åºæ¯ä¸»å
æºç设置ï¼å¨ globe ç»ä»¶ä¸å°±æ¯å¤ªé³å
ã |
| | | // color: '#fff', // 主å
æºçé¢è²ã |
| | | // intensity: 0.6, // 主å
æºç强度ã |
| | | // shadow: true, // 主å
æºæ¯å¦æå°é´å½±ãé»è®¤å
³éãå¼å¯é´å½±å¯ä»¥ç»åºæ¯å¸¦æ¥æ´çå®åæå±æ¬¡çå
ç
§ææãä¼å¢å ç¨åºçè¿è¡å¼éã |
| | | // shadowQuality: 'high', // é´å½±çè´¨éãå¯é'low', 'medium', 'high', 'ultra' |
| | | // alpha: 30, // 主å
æºç» x è½´ï¼å³ä¸ä¸æè½¬çè§åº¦ãé
å beta æ§å¶å
æºçæ¹åã |
| | | // beta: 20 // 主å
æºç» y è½´ï¼å³å·¦å³æè½¬çè§åº¦ã |
| | | // }, |
| | | // ambient: { |
| | | // // å
¨å±çç¯å¢å
设置ã |
| | | // color: '#fff', // ç¯å¢å
çé¢è²ã[ default: #fff ] |
| | | // intensity: 0.45 // ç¯å¢å
ç强度ã[ default: 0.2 ] |
| | | // }, |
| | | // ambientCubemap: { |
| | | // exposure: 2, |
| | | // diffuseIntensity: 1, |
| | | // specularIntensity: 1 |
| | | // } |
| | | // }, |
| | | |
| | | // postEffect: { |
| | | // depthOfField: { |
| | | // enable: false // å
³éæ¯æ·±ææ |
| | | // } |
| | | // }, |
| | | |
| | | // groundPlane: { |
| | | // show: false, // æ¯å¦æ¾ç¤ºå°é¢ |
| | | // color: '#ffffff' // å°é¢é¢è² |
| | | // }, |
| | | |
| | | // viewControl: { |
| | | // projection: 'perspective', // æå½±æ¹å¼ï¼é»è®¤ä¸ºéè§æå½±'perspective'ï¼ä¹æ¯æè®¾ç½®ä¸ºæ£äº¤æå½±'orthographic'ã |
| | | // autoRotate: false, |
| | | // dispose: 100, |
| | | // rotateSensitivity: 0, // æè½¬ |
| | | // minBeta: -13, |
| | | // maxBeta: -13, |
| | | // zoomSensitivity: 0, // ç¼©æ¾ |
| | | // panSensitivity: 0, // 平移 |
| | | // center: [0, 0, 0], |
| | | // alpha: 70, // 徿è§åº¦ |
| | | // animationDurationUpdate: 1000, // è¿æ¸¡å¨ç»çæ¶é¿ |
| | | // animationEasingUpdate: 'cubicInOut' // è¿æ¸¡å¨ç»çç¼å¨ææ |
| | | // }, |
| | | // left: '-5%', |
| | | // top: '5%' |
| | | // } |
| | | // ] |
| | | // }, |
| | | activerName: null, // éä¸çåç§° |
| | | activerData: [], // éä¸çæ°æ® |
| | | map: null |
| | | } |
| | | }, |
| | | |
| | | methods: { |
| | | initMap () { |
| | | const that = this |
| | | that.$echarts.registerMap('zgs', ZGSJson) |
| | | that.map = that.$echarts.init(that.$refs.map) |
| | | const option = { |
| | | tooltip: { |
| | | show: true, |
| | | trigger: 'item', |
| | | alwaysShowContent: false, |
| | | renderMode: 'html', |
| | | triggerOn: 'mousemove|click', // å¿
须使ç¨è¿ç§æ¹å¼ï¼å 为tooltipéè¦æç¹å»äºä»¶ï¼åæ¶ç§»å
¥effectScatterç¹åºåèå¨ |
| | | extraCssText: 'border:none;color:#dcf8ff;border-radius: 0;', // æ¸
é¤tooltipèªå¸¦é¢è² |
| | | axisPointer: { |
| | | type: 'none', |
| | | textStyle: { |
| | | color: '#fff' |
| | | } |
| | | }, |
| | | borderWidth: 0, |
| | | padding: 0, |
| | | backgroundColor: 'rgba(18, 39, 68, 0.86)', |
| | | // hideDelay: 2000, // æç¤ºæ¡2ç§åå°æ¶ |
| | | formatter: function (params) { |
| | | // èªå®ä¹tooltipå
容 |
| | | const isData = that.fetchData(params.name) |
| | | let isHtml = '' |
| | | for (let i = 0; i < isData.length; i++) { |
| | | isHtml += `<div>${isData[i].name}:${isData[i].value}</div>` |
| | | } |
| | | return `<div class="tooltip-container"> |
| | | <div class="title">${params.name}</div> |
| | | <div id='tool_alert'>${isHtml}</div> |
| | | </div> ` |
| | | } |
| | | }, |
| | | |
| | | series: [ |
| | | { |
| | | type: 'map3D', |
| | | map: 'zgs', |
| | | boxWidth: 100, |
| | | regionHeight: 2, |
| | | |
| | | markPoint: { |
| | | symbol: 'pin', // æ è®°ç¹å½¢ç¶ |
| | | symbolSize: 50, // æ è®°ç¹å¤§å° |
| | | data: [ |
| | | { |
| | | name: 'æ è®°ç¹1', |
| | | coord: ['104.3334', '29.2938'] // æ è®°ç¹çä¸ç»´åæ |
| | | } |
| | | // å¯ä»¥æ·»å æ´å¤æ è®°ç¹ |
| | | ] |
| | | }, |
| | | |
| | | // å°å¾çé¢è² |
| | | itemStyle: { |
| | | color: '#8adfff', // å°å¾æ¿åçé¢è² |
| | | opacity: 0.98, // å¾å½¢çä¸éæåº¦ [ default: 1 ] |
| | | borderWidth: 1, // (å°å¾æ¿åé´çåé线)å¾å½¢æè¾¹ç宽度ãå ä¸æè¾¹åå¯ä»¥æ´æ¸
æ°çåºåæ¯ä¸ªåºå |
| | | borderColor: '#35b5ff' // å¾å½¢æè¾¹çé¢è²ã[ default: #333 ] |
| | | }, |
| | | |
| | | realisticMaterial: { |
| | | detailTexture: require('@/assets/images/face-num-bg3.png'), |
| | | textureTiling: 1, |
| | | textureOffset: 0, |
| | | roughness: 0, // æè´¨ç²ç³åº¦ï¼0å®å
¨å
æ»ï¼1å®å
¨ç²ç³ |
| | | metalness: 0, |
| | | roughnessAdjust: 0 |
| | | }, |
| | | |
| | | shading: 'realistic', |
| | | |
| | | // æ ç¾çç¸å
³è®¾ç½® |
| | | label: { |
| | | show: true, // (å°å¾ä¸çåå¸åç§°)æ¯å¦æ¾ç¤ºæ ç¾ |
| | | distance: 5, |
| | | formatter: function (params) { |
| | | return params.name ? params.name : ' ' |
| | | }, |
| | | // æ ç¾çå使 ·å¼ |
| | | color: '#fff', // å°å¾åå§ååºååä½é¢è² |
| | | fontSize: 16, // åä½å¤§å° |
| | | fontWeight: '300' |
| | | }, |
| | | |
| | | // é¼ æ hover é«äº®æ¶å¾å½¢åæ ç¾çæ ·å¼ |
| | | emphasis: { |
| | | label: { |
| | | // label é«äº®æ¶çé
ç½® |
| | | show: true, |
| | | color: '#fff', // é«äº®æ¶æ ç¾é¢è²å为 ç½è² |
| | | fontSize: 16 // é«äº®æ¶æ ç¾åä½ å大 |
| | | }, |
| | | scale: true, |
| | | itemStyle: { |
| | | // itemStyle é«äº®æ¶çé
ç½® |
| | | color: '#0773ad' // é«äº®æ¶å°å¾æ¿åé¢è²æ¹å |
| | | } |
| | | }, |
| | | |
| | | // å°é¢å¯ä»¥ä½¿æ´ä¸ªåºæ¯çèµ·æ¥æ´çå®ï¼æ´ææ¨¡åæã |
| | | light: { |
| | | main: { |
| | | // åºæ¯ä¸»å
æºç设置ï¼å¨ globe ç»ä»¶ä¸å°±æ¯å¤ªé³å
ã |
| | | color: '#fff', // 主å
æºçé¢è²ã |
| | | intensity: 0.6, // 主å
æºç强度ã |
| | | shadow: true, // 主å
æºæ¯å¦æå°é´å½±ãé»è®¤å
³éãå¼å¯é´å½±å¯ä»¥ç»åºæ¯å¸¦æ¥æ´çå®åæå±æ¬¡çå
ç
§ææãä¼å¢å ç¨åºçè¿è¡å¼éã |
| | | shadowQuality: 'high', // é´å½±çè´¨éãå¯é'low', 'medium', 'high', 'ultra' |
| | | alpha: 30, // 主å
æºç» x è½´ï¼å³ä¸ä¸æè½¬çè§åº¦ãé
å beta æ§å¶å
æºçæ¹åã |
| | | beta: 20 // 主å
æºç» y è½´ï¼å³å·¦å³æè½¬çè§åº¦ã |
| | | }, |
| | | ambient: { |
| | | // å
¨å±çç¯å¢å
设置ã |
| | | color: '#fff', // ç¯å¢å
çé¢è²ã[ default: #fff ] |
| | | intensity: 0.45 // ç¯å¢å
ç强度ã[ default: 0.2 ] |
| | | }, |
| | | ambientCubemap: { |
| | | exposure: 2, |
| | | diffuseIntensity: 1, |
| | | specularIntensity: 1 |
| | | } |
| | | }, |
| | | |
| | | postEffect: { |
| | | depthOfField: { |
| | | enable: false // å
³éæ¯æ·±ææ |
| | | } |
| | | }, |
| | | |
| | | groundPlane: { |
| | | show: false, // æ¯å¦æ¾ç¤ºå°é¢ |
| | | color: '#ffffff' // å°é¢é¢è² |
| | | }, |
| | | |
| | | viewControl: { |
| | | projection: 'perspective', // æå½±æ¹å¼ï¼é»è®¤ä¸ºéè§æå½±'perspective'ï¼ä¹æ¯æè®¾ç½®ä¸ºæ£äº¤æå½±'orthographic'ã |
| | | autoRotate: false, |
| | | dispose: 100, |
| | | rotateSensitivity: 0, // æè½¬ |
| | | minBeta: -13, |
| | | maxBeta: -13, |
| | | zoomSensitivity: 0, // ç¼©æ¾ |
| | | panSensitivity: 0, // 平移 |
| | | center: [0, 0, 0], |
| | | alpha: 60, // 徿è§åº¦ |
| | | animationDurationUpdate: 1000, // è¿æ¸¡å¨ç»çæ¶é¿ |
| | | animationEasingUpdate: 'cubicInOut' // è¿æ¸¡å¨ç»çç¼å¨ææ |
| | | }, |
| | | left: '-5%', |
| | | top: '3%' |
| | | } |
| | | ] |
| | | } |
| | | that.map.setOption(option) |
| | | that.map.on('click', function (params) { |
| | | if (params.seriesType === 'map3D') { |
| | | console.log('Clicked adcode:', params) |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | fetchData (name) { |
| | | if (name !== this.activerName) { |
| | | this.activerName = name |
| | | this.activerData = this.geoCoordinates[name] |
| | | } |
| | | return this.activerData |
| | | } |
| | | }, |
| | | |
| | | mounted () { |
| | | this.$nextTick(() => { |
| | | setTimeout(() => { |
| | | this.initMap() |
| | | }, 100) |
| | | }) |
| | | }, |
| | | |
| | | beforeDestroy () { |
| | | if (!this.map) { |
| | | return |
| | | } |
| | | this.map.dispose() |
| | | this.map = null |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .map-container { |
| | | position: relative; |
| | | } |
| | | |
| | | .map-main-container { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | |
| | | /*æå è½½å¾æ å¨ç»*/ |
| | | .demo-spin-icon-load { |
| | | animation: ani-demo-spin 1s linear infinite; |
| | | } |
| | | |
| | | @keyframes ani-demo-spin { |
| | | from { |
| | | transform: rotate(0deg); |
| | | } |
| | | 50% { |
| | | transform: rotate(180deg); |
| | | } |
| | | to { |
| | | transform: rotate(360deg); |
| | | } |
| | | } |
| | | |
| | | /*å¼¹çªæ ·å¼*/ |
| | | .layer { |
| | | position: absolute; |
| | | left: 400px; |
| | | top: 300px; |
| | | padding: 8px 16px; |
| | | z-index: 100; |
| | | background: rgba(10, 22, 64, 0.9); |
| | | border-radius: 5px; |
| | | border: 1px solid #35b5ff; |
| | | transform: translate(-100%, -100%); |
| | | .content { |
| | | width: 100%; |
| | | height: 100%; |
| | | position: relative; |
| | | text-align: center; |
| | | p { |
| | | font-size: 20px; |
| | | color: #fff; |
| | | line-height: 50px; |
| | | } |
| | | .col-item { |
| | | height: 41px; |
| | | margin-top: 20px; |
| | | border-right: 1px solid #172353; |
| | | .num { |
| | | color: #ebf8ff; |
| | | font-size: 18px; |
| | | } |
| | | .text { |
| | | color: #507ebc; |
| | | font-size: 12px; |
| | | } |
| | | } |
| | | } |
| | | .content::after { |
| | | content: ""; |
| | | width: 120px; |
| | | height: 2px; |
| | | background: #ffccff; |
| | | position: absolute; |
| | | right: -120px; |
| | | top: 50%; |
| | | transform: translateY(-50%); |
| | | } |
| | | .content::before { |
| | | content: ""; |
| | | width: 2px; |
| | | height: 80px; |
| | | background: #ffb800; |
| | | position: absolute; |
| | | right: -134px; |
| | | top: 136px; |
| | | transform: rotateZ(-20deg); |
| | | } |
| | | } |
| | | |
| | | ::v-deep .tooltip-container { |
| | | /* border-left: 1px solid #b07801; |
| | | border-bottom: 1px solid #b07801; |
| | | border-right: 1px solid #b07801; */ |
| | | background-size: 100% 100%; |
| | | border: 1px solid #2290ac; |
| | | position: relative; |
| | | padding: 6px 18px; |
| | | |
| | | &::after { |
| | | position: absolute; |
| | | content: ""; |
| | | width: 3px; |
| | | height: 8px; |
| | | background-color: #75f7f3; |
| | | left: 0px; |
| | | top: 0; |
| | | } |
| | | |
| | | &::before { |
| | | position: absolute; |
| | | content: ""; |
| | | width: 3px; |
| | | height: 8px; |
| | | background-color: #75f7f3; |
| | | right: 0px; |
| | | top: 0px; |
| | | } |
| | | |
| | | .title { |
| | | margin-bottom: 2px; |
| | | font-size: 14px; |
| | | } |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="is-annular-container"> |
| | | <div class="annular-container"> |
| | | <img src="@/assets/images/annular-bg.png" class="annular-bg" /> |
| | | <div class="echarts-container" ref="echartsContainer" :style="h"> |
| | | <div class="echarts" ref="echarts"></div> |
| | | </div> |
| | | <div class="title">{{ isData.title }}</div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | name: 'annularApp', |
| | | data () { |
| | | return { |
| | | h: null |
| | | } |
| | | }, |
| | | |
| | | props: { |
| | | isData: { |
| | | type: Object, |
| | | default: () => ({}) |
| | | } |
| | | }, |
| | | |
| | | methods: { |
| | | initChart (val1, val2, color) { |
| | | const annularDom = this.$refs.echarts |
| | | const myAnnular = this.$echarts.init(annularDom) |
| | | const option = { |
| | | series: [ |
| | | { |
| | | type: 'pie', |
| | | radius: ['55%', '65%'], |
| | | data: [ |
| | | { |
| | | value: val1, |
| | | itemStyle: { |
| | | color: { |
| | | type: 'linear', |
| | | x: 0, |
| | | y: 1, |
| | | x2: 0, |
| | | y2: 0, |
| | | colorStops: [ |
| | | { |
| | | offset: 0, |
| | | color: '#356eff' // 0% å¤çé¢è² |
| | | }, |
| | | { |
| | | offset: 1, |
| | | color: '#3fa2ff' // 100% å¤çé¢è² |
| | | } |
| | | ], |
| | | |
| | | global: false // 缺ç为 false |
| | | } |
| | | }, |
| | | |
| | | label: { |
| | | show: true, // åç¬æ¾ç¤ºè¯¥æ°æ®é¡¹ |
| | | formatter: val1 + '', |
| | | color: color, |
| | | fontSize: 14 |
| | | } |
| | | }, |
| | | |
| | | { |
| | | value: val2, |
| | | itemStyle: { |
| | | color: '#223f66' |
| | | }, |
| | | |
| | | emphasis: { |
| | | show: false |
| | | } |
| | | } |
| | | ], |
| | | |
| | | label: { |
| | | show: false, |
| | | position: 'center', |
| | | color: '#fff' |
| | | } |
| | | } |
| | | ] |
| | | } |
| | | |
| | | myAnnular.setOption(option) |
| | | }, |
| | | |
| | | getW () { |
| | | const width = this.$refs.echartsContainer.offsetWidth |
| | | this.h = 'height:' + width + 'px' |
| | | } |
| | | }, |
| | | |
| | | mounted () { |
| | | this.getW() |
| | | this.$nextTick(() => { |
| | | this.initChart( |
| | | this.isData.value1, |
| | | this.isData.value2, |
| | | this.isData.color |
| | | ) |
| | | }) |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .is-annular-container { |
| | | width: 100%; |
| | | |
| | | .annular-container { |
| | | position: relative; |
| | | |
| | | .annular-bg { |
| | | width: 100%; |
| | | display: block; |
| | | } |
| | | |
| | | .echarts-container { |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | width: 100%; |
| | | z-index: 2; |
| | | |
| | | .echarts { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | } |
| | | |
| | | .title { |
| | | text-align: center; |
| | | font-size: 14px; |
| | | color: #dcf8ff; |
| | | white-space: nowrap; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <template> |
| | | <div class="screen-container"> |
| | | <!-- <screen-title></screen-title> --> |
| | | <v-scale-screen width="1920" height="1080" :autoScale="true" :delay="0" class="screen"> |
| | | <!-- <screen-wrapper></screen-wrapper> --> |
| | | <NewPage></NewPage> |
| | | </v-scale-screen> |
| | | </div> |
| | | <div class="container" ref="contaner"> |
| | | <header> |
| | | <img src="@/assets/images/header-bg.png" /> |
| | | </header> |
| | | |
| | | <div class="main-contaner"> |
| | | <div class="data-statistics-content"> |
| | | <img src="@/assets/images/workOrder-title.png" class="title" /> |
| | | <div class="main-left-container"> |
| | | <div class="work-order-container"> |
| | | <img |
| | | src="@/assets/images/subheading1.png" |
| | | class="subheading-title" |
| | | /> |
| | | <div class="statistics-container"> |
| | | <div |
| | | class="item-statistics-container" |
| | | v-for="(item, index) in statistics" |
| | | :key="index" |
| | | > |
| | | <itemSubheading :isData="item"></itemSubheading> |
| | | </div> |
| | | </div> |
| | | <img |
| | | src="@/assets/images/decorate-border.png" |
| | | class="decorate-border" |
| | | /> |
| | | </div> |
| | | |
| | | <div class="histogram-container"> |
| | | <img |
| | | src="@/assets/images/subheading1.png" |
| | | class="subheading-title" |
| | | /> |
| | | <div class="statistics-container"> |
| | | <div class="DrawLine-content"> |
| | | <!-- <div style="width: 100%; height: 100%" ref="myDrawLine"></div> --> |
| | | <lineChart></lineChart> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="map-container" ref="isMap"> |
| | | <mapApp></mapApp> |
| | | <div class="btn-container"> |
| | | <img src="@/assets/images/btn-bg.png" class="bg-img" /> |
| | | <div class="btn-list"> |
| | | <img |
| | | :src="activerBtnType === item.id ? item.bgActiver : item.bg" |
| | | v-for="item in btnList" |
| | | :key="item.id" |
| | | @click="activerBtnType = item.id" |
| | | /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="data-statistics-content"> |
| | | <div class="facility-container"> |
| | | <img src="@/assets/images/facility-title.png" class="title" /> |
| | | <div class="facility-content"> |
| | | <div class="item-facility-data"> |
| | | <img |
| | | src="@/assets/images/facility-title-3.png" |
| | | class="item-facility-icon" |
| | | /> |
| | | <ul> |
| | | <li v-for="(item, index) in facilityData.video" :key="index"> |
| | | <div class="value">{{ item.value ? item.value : "-" }}</div> |
| | | <div class="title">{{ item.title }}</div> |
| | | </li> |
| | | </ul> |
| | | </div> |
| | | <div class="item-facility-data"> |
| | | <img |
| | | src="@/assets/images/facility-title-1.png" |
| | | class="item-facility-icon" |
| | | /> |
| | | <ul> |
| | | <li v-for="(item, index) in facilityData.car" :key="index"> |
| | | <div class="value">{{ item.value ? item.value : "-" }}</div> |
| | | <div class="title">{{ item.title }}</div> |
| | | </li> |
| | | </ul> |
| | | </div> |
| | | <div class="item-facility-data"> |
| | | <img |
| | | src="@/assets/images/facility-title-2.png" |
| | | class="item-facility-icon" |
| | | /> |
| | | <ul> |
| | | <li |
| | | v-for="(item, index) in facilityData.faceDetection" |
| | | :key="index" |
| | | > |
| | | <div class="value">{{ item.value ? item.value : "-" }}</div> |
| | | <div class="title">{{ item.title }}</div> |
| | | </li> |
| | | </ul> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="normal-container"> |
| | | <img src="@/assets/images/normal-title.png" class="title" /> |
| | | <div class="normal-statistics-content"> |
| | | <ul class="list-title-container"> |
| | | <li>å°åº</li> |
| | | <li>人è¸è®¾å¤</li> |
| | | <li>车è¾è®¾å¤</li> |
| | | <li>è§é¢è®¾å¤</li> |
| | | </ul> |
| | | <div class="list-content"> |
| | | <div class="list-content-to is-scroll-bar"> |
| | | <ul |
| | | class="item-list" |
| | | v-for="(item, index) in facilityNormal" |
| | | :key="index" |
| | | > |
| | | <li class="name">{{ item.name }}</li> |
| | | <li>{{ item.face }}</li> |
| | | <li>{{ item.car }}</li> |
| | | <li>{{ item.video }}</li> |
| | | </ul> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <img src="@/assets/images/video-title.png" class="video-title" /> |
| | | </div> |
| | | |
| | | <footer> |
| | | <img src="@/assets/images/footer-title-bg.png" class="footer-title" /> |
| | | <div class="footer-container"> |
| | | <div class="footer-statistics-container"> |
| | | <div class="face-container"> |
| | | <div |
| | | class="item-face-container" |
| | | :style="item.style" |
| | | v-for="(item, index) in faceData" |
| | | :key="index" |
| | | > |
| | | <div class="proportion"> |
| | | <img src="@/assets/images/face-num-bg.png" /> |
| | | <div class="value">{{ item.proportion }}%</div> |
| | | </div> |
| | | <div class="title">{{ item.title }}</div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="video-container"> |
| | | <div |
| | | class="item-video-data" |
| | | v-for="(item, index) in videoData" |
| | | :key="index" |
| | | > |
| | | <div class="video-data"> |
| | | <div class="proportion">{{ item.proportion }}%</div> |
| | | </div> |
| | | <div class="item-video-title">{{ item.title }}</div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="car-container"> |
| | | <div |
| | | class="item-car-container" |
| | | v-for="(item, index) in carData" |
| | | :key="index" |
| | | :style="item.style" |
| | | > |
| | | {{ item.title }} <span>{{ item.proportion }}%</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </footer> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import ScreenTitle from './components/screen-title/index.vue'; |
| | | import ScreenWrapper from './components/screen-wrapper/index.vue'; |
| | | import NewPage from './newPage/index.vue' |
| | | import itemSubheading from '../screen/components/subheading.vue' // ç¯å½¢ç»è®¡å¾ |
| | | import lineChart from '../screen/components/lineChart.vue' // æçº¿ç»è®¡å¾ |
| | | import mapApp from '../screen/components/map.vue' // å°å¾ |
| | | |
| | | export default { |
| | | name: 'App', |
| | | components: { |
| | | ScreenTitle, |
| | | ScreenWrapper, |
| | | NewPage, |
| | | }, |
| | | data() { |
| | | name: 'examineApp', |
| | | components: { mapApp, itemSubheading, lineChart }, |
| | | data () { |
| | | return { |
| | | } |
| | | }, |
| | | mounted() { |
| | | // è®¾å¤æ°æ® |
| | | facilityData: { |
| | | video: [ |
| | | { |
| | | value: 4589, |
| | | title: 'è®¾å¤æ»æ°' |
| | | }, |
| | | { |
| | | value: 4294, |
| | | title: 'è®¾å¤æ£å¸¸æ°' |
| | | }, |
| | | { |
| | | value: 295, |
| | | title: '设å¤å¼å¸¸æ°' |
| | | } |
| | | ], |
| | | car: [ |
| | | { |
| | | value: 4589, |
| | | title: 'è®¾å¤æ»æ°' |
| | | }, |
| | | { |
| | | value: 4294, |
| | | title: 'è®¾å¤æ£å¸¸æ°' |
| | | }, |
| | | { |
| | | value: 295, |
| | | title: '设å¤å¼å¸¸æ°' |
| | | } |
| | | ], |
| | | faceDetection: [ |
| | | { |
| | | value: 4589, |
| | | title: 'è®¾å¤æ»æ°' |
| | | }, |
| | | { |
| | | value: 4294, |
| | | title: 'è®¾å¤æ£å¸¸æ°' |
| | | }, |
| | | { |
| | | value: 295, |
| | | title: '设å¤å¼å¸¸æ°' |
| | | } |
| | | ] |
| | | }, |
| | | |
| | | // è®¾å¤æ£å¸¸ç |
| | | facilityNormal: [ |
| | | { |
| | | name: 'å¯é¡ºåº', |
| | | face: '23.34%', |
| | | car: '45.12%', |
| | | video: '23.12%' |
| | | }, |
| | | { |
| | | name: 'å¯é¡ºåº', |
| | | face: '23.34%', |
| | | car: '45.12%', |
| | | video: '23.12%' |
| | | }, |
| | | { |
| | | name: 'å¯é¡ºåº', |
| | | face: '23.34%', |
| | | car: '45.12%', |
| | | video: '23.12%' |
| | | }, |
| | | { |
| | | name: 'å¯é¡ºåº', |
| | | face: '23.34%', |
| | | car: '45.12%', |
| | | video: '23.12%' |
| | | }, |
| | | { |
| | | name: 'å¯é¡ºåº', |
| | | face: '23.34%', |
| | | car: '45.12%', |
| | | video: '23.12%' |
| | | }, |
| | | { |
| | | name: 'å¯é¡ºåº', |
| | | face: '23.34%', |
| | | car: '45.12%', |
| | | video: '23.12%' |
| | | }, |
| | | { |
| | | name: 'å¯é¡ºåº', |
| | | face: '23.34%', |
| | | car: '45.12%', |
| | | video: '23.12%' |
| | | } |
| | | ], |
| | | |
| | | // 人è¸èæ ¸ |
| | | faceData: [ |
| | | { |
| | | title: 'è§å¾åºå¯¹æ¥ç¨³å®æ§', |
| | | proportion: 100, |
| | | style: { |
| | | top: '13%', |
| | | left: '2%' |
| | | } |
| | | }, |
| | | { |
| | | title: 'ææå¾çæ¶éåç¡®æ§', |
| | | proportion: 100, |
| | | style: { |
| | | top: '13%', |
| | | right: '2%' |
| | | } |
| | | }, |
| | | { |
| | | title: 'ç¹ä½å¨çº¿ç', |
| | | proportion: 100, |
| | | style: { |
| | | top: '23%', |
| | | left: '19%' |
| | | } |
| | | }, |
| | | { |
| | | title: 'ææå¾çåæ ¼æ§', |
| | | proportion: 100, |
| | | style: { |
| | | top: '23%', |
| | | right: '19%' |
| | | } |
| | | }, |
| | | { |
| | | title: 'æææ°æ®å¤§å¾å¯ç¨æ§', |
| | | proportion: 100, |
| | | style: { |
| | | bottom: '18%', |
| | | left: '2%' |
| | | } |
| | | }, |
| | | { |
| | | title: 'ç®å½ä¸è´ç', |
| | | proportion: 100, |
| | | style: { |
| | | bottom: '18%', |
| | | right: '2%' |
| | | } |
| | | }, |
| | | { |
| | | title: 'ä¿¡æ¯ééåç¡®ç', |
| | | proportion: 100, |
| | | style: { |
| | | bottom: '2%', |
| | | left: '19%' |
| | | } |
| | | }, |
| | | { |
| | | title: 'æææ°æ®åæ¶ä¸ä¼ åæ¶æ§', |
| | | proportion: 100, |
| | | style: { |
| | | bottom: '2%', |
| | | right: '19%' |
| | | } |
| | | } |
| | | ], |
| | | |
| | | // è§é¢èæ ¸ |
| | | videoData: [ |
| | | { |
| | | title: 'ç¹ä½å¨çº¿ç', |
| | | proportion: 100 |
| | | }, |
| | | { |
| | | title: 'é¨çº§ç¹ä½å¨çº¿ç', |
| | | proportion: 100 |
| | | }, |
| | | { |
| | | title: 'éç¹ç¹ä½å¨çº¿ç', |
| | | proportion: 100 |
| | | }, |
| | | { |
| | | title: 'éç¹ææ¥å¾åå¨çº¿ç', |
| | | proportion: 100 |
| | | }, |
| | | { |
| | | title: 'å½åå¯ç¨ç', |
| | | proportion: 10 |
| | | }, |
| | | { |
| | | title: 'é¨çº§å·¡æ¥å½åå¯ç¨ç', |
| | | proportion: 100 |
| | | }, |
| | | { |
| | | title: 'éç¹ç¹ä½å½åå¯ç¨ç', |
| | | proportion: 100 |
| | | }, |
| | | { |
| | | title: 'éç¹ç¹ä½æ 注æ£ç¡®ç', |
| | | proportion: 100 |
| | | }, |
| | | { |
| | | title: 'è§é¢å¾åèµæºå®å
¨ç®¡ç', |
| | | proportion: 100 |
| | | }, |
| | | { |
| | | title: 'éç¹ç¹ä½æ ¡æ¶æ£ç¡®ç', |
| | | proportion: 100 |
| | | }, |
| | | { |
| | | title: '䏿ºä¸æ¡£åæ ¼è½¦', |
| | | proportion: 100 |
| | | }, |
| | | { |
| | | title: '䏿ºä¸æ¡£æ³¨å车', |
| | | proportion: 100 |
| | | }, |
| | | { |
| | | title: 'æ¡£æ¡èæ ¸æ¯', |
| | | proportion: 100 |
| | | }, |
| | | { |
| | | title: 'å¹³å°å¨çº¿ç', |
| | | proportion: 100 |
| | | } |
| | | ], |
| | | |
| | | // 车è¾èæ ¸ |
| | | carData: [ |
| | | { |
| | | title: 'æææ°æ®å¤§å¾å¯ç¨æ§', |
| | | proportion: 100, |
| | | style: { |
| | | top: '7%', |
| | | left: '15%' |
| | | } |
| | | }, |
| | | { |
| | | title: 'è®¾å¤æææ°æ®åç¡®', |
| | | proportion: 100, |
| | | style: { |
| | | top: '7%', |
| | | left: '59.2%' |
| | | } |
| | | }, |
| | | { |
| | | title: 'èç½å¡å£è®¾å¤ç®å½ä¸è³ç', |
| | | proportion: 100, |
| | | style: { |
| | | top: '26%', |
| | | left: '5%' |
| | | } |
| | | }, |
| | | { |
| | | title: 'ä¿¡æ¯ééåç¡®ç', |
| | | proportion: 100, |
| | | style: { |
| | | top: '26%', |
| | | left: '63%' |
| | | } |
| | | }, |
| | | { |
| | | title: 'è®¾å¤æææ°æ®å®æ´æ§', |
| | | proportion: 100, |
| | | style: { |
| | | top: '46%', |
| | | left: '12%' |
| | | } |
| | | }, |
| | | { |
| | | title: 'ç¹ä½å¨çº¿ç', |
| | | proportion: 100, |
| | | style: { |
| | | top: '46%', |
| | | left: '66%' |
| | | } |
| | | }, |
| | | { |
| | | title: 'è®¾å¤æ¶éåç¡®æ§', |
| | | proportion: 100, |
| | | style: { |
| | | top: '65%', |
| | | left: '13%' |
| | | } |
| | | }, |
| | | { |
| | | title: 'è§å¾åºå¯¹æ¥ç¨³å®æ§', |
| | | proportion: 100, |
| | | style: { |
| | | top: '65%', |
| | | left: '70%' |
| | | } |
| | | }, |
| | | { |
| | | title: '设å¤URLå¯ç¨æ§', |
| | | proportion: 100, |
| | | style: { |
| | | top: '83%', |
| | | left: '18.5%' |
| | | } |
| | | }, |
| | | { |
| | | title: 'æææ°æ®ä¸ä¼ åæ¶æ§', |
| | | proportion: 100, |
| | | style: { |
| | | top: '83%', |
| | | left: '59.5%' |
| | | } |
| | | } |
| | | ], |
| | | |
| | | // é»è®¤éä¸æé® st çå
qx åºå¿ ga å
¬å® |
| | | btnList: [ |
| | | { |
| | | id: 'st', |
| | | bg: require('@/assets/images/st-btn-1.png'), |
| | | bgActiver: require('@/assets/images/st-btn-2.png') |
| | | }, |
| | | { |
| | | id: 'qx', |
| | | bg: require('@/assets/images/qx-btn-1.png'), |
| | | bgActiver: require('@/assets/images/qx-btn-2.png') |
| | | }, |
| | | { |
| | | id: 'ga', |
| | | bg: require('@/assets/images/ga-btn-1.png'), |
| | | bgActiver: require('@/assets/images/ga-btn-2.png') |
| | | } |
| | | ], |
| | | activerBtnType: 'st', |
| | | statistics: [ |
| | | { |
| | | value1: 9688, |
| | | value2: 0, |
| | | color: '#e4b54f', |
| | | title: '工忻æ°' |
| | | }, |
| | | { |
| | | value1: 1200, |
| | | value2: 1200, |
| | | color: '#5cff9a', |
| | | title: 'å·²å¤ç工忰' |
| | | }, |
| | | { |
| | | value1: 18, |
| | | value2: 1200, |
| | | color: '#ff7b72', |
| | | title: 'æªå¤ç工忰' |
| | | } |
| | | ], |
| | | isFullScreen: false |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .screen-container { |
| | | user-select: none; |
| | | -webkit-user-select: none; |
| | | } |
| | | .screen { |
| | | background-color: #033c76 !important; |
| | | //background: url('../../assets/images/screen/pageBg1.jpg') !important; |
| | | //background-size: cover !important; |
| | | //background-repeat: no-repeat !important; |
| | | //background-position: center center !important; |
| | | .container { |
| | | width: 100vw; |
| | | height: 100vh; |
| | | // min-width: 1919px; |
| | | background-image: url("../../assets/images/background-img.jpg"); |
| | | background-color: #fff; |
| | | background-repeat: no-repeat; |
| | | background-size: 100% 100%; |
| | | background-position: center; |
| | | display: flex; |
| | | flex-direction: column; |
| | | overflow: hidden; |
| | | position: relative; |
| | | |
| | | header { |
| | | position: relative; |
| | | z-index: 4; |
| | | img { |
| | | width: 100%; |
| | | display: block; |
| | | } |
| | | } |
| | | |
| | | .main-contaner { |
| | | flex: 1; |
| | | width: 100%; |
| | | height: 0; |
| | | display: flex; |
| | | flex-direction: row; |
| | | margin-top: -2%; |
| | | position: relative; |
| | | |
| | | .data-statistics-content { |
| | | width: 20.833333%; |
| | | padding-left: 1%; |
| | | padding-right: 1%; |
| | | padding-top: 0.5%; |
| | | box-sizing: border-box; |
| | | height: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | |
| | | .title { |
| | | width: 100%; |
| | | flex-shrink: 0; |
| | | flex-grow: 0; |
| | | display: block; |
| | | } |
| | | |
| | | .main-left-container { |
| | | position: relative; |
| | | height: 100%; |
| | | border-bottom: 1px solid #3e97e4; |
| | | border-left: 1px solid #3e97e4; |
| | | padding: 4% 0 4% 4%; |
| | | box-sizing: border-box; |
| | | display: flex; |
| | | flex-direction: column; |
| | | |
| | | &::after { |
| | | width: 2px; |
| | | height: 20px; |
| | | content: ""; |
| | | position: absolute; |
| | | left: -6px; |
| | | top: -18px; |
| | | background-color: #3e97e4; |
| | | transform: rotate(-30deg); |
| | | } |
| | | |
| | | &::before { |
| | | width: 43px; |
| | | height: 40px; |
| | | content: ""; |
| | | position: absolute; |
| | | background-image: url("../../assets/images/border-l-icon.png"); |
| | | bottom: 0; |
| | | left: 0; |
| | | } |
| | | |
| | | .work-order-container { |
| | | height: 40%; |
| | | flex-shrink: 0; |
| | | flex-grow: 0; |
| | | display: flex; |
| | | flex-direction: column; |
| | | |
| | | .subheading-title { |
| | | width: 97%; |
| | | display: block; |
| | | flex-shrink: 0; |
| | | flex-grow: 0; |
| | | } |
| | | |
| | | .statistics-container { |
| | | display: flex; |
| | | flex-direction: row; |
| | | align-items: center; |
| | | flex: 1; |
| | | margin: 0 -5px; |
| | | |
| | | .item-statistics-container { |
| | | width: calc(33.33% - 10px); |
| | | margin: 0 5px; |
| | | } |
| | | } |
| | | |
| | | .decorate-border { |
| | | width: 100%; |
| | | display: block; |
| | | } |
| | | } |
| | | |
| | | .histogram-container { |
| | | padding-top: 5%; |
| | | box-sizing: border-box; |
| | | height: 60%; |
| | | flex-shrink: 0; |
| | | flex-grow: 0; |
| | | display: flex; |
| | | flex-direction: column; |
| | | |
| | | .subheading-title { |
| | | width: 97.3%; |
| | | display: block; |
| | | flex-shrink: 0; |
| | | flex-grow: 0; |
| | | } |
| | | |
| | | .statistics-container { |
| | | flex: 1; |
| | | position: relative; |
| | | |
| | | .DrawLine-content { |
| | | position: absolute; |
| | | width: 100%; |
| | | height: 100%; |
| | | left: 0; |
| | | right: 0; |
| | | top: 0; |
| | | bottom: 0; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .facility-container { |
| | | height: 45.9754434%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | flex-shrink: 0; |
| | | flex-grow: 0; |
| | | |
| | | .title { |
| | | width: 100%; |
| | | flex-shrink: 0; |
| | | flex-grow: 0; |
| | | display: block; |
| | | } |
| | | |
| | | .facility-content { |
| | | flex: 1; |
| | | position: relative; |
| | | border-bottom: 1px solid #3e97e4; |
| | | border-right: 1px solid #3e97e4; |
| | | display: flex; |
| | | padding-top: 4%; |
| | | flex-direction: row; |
| | | overflow: hidden; |
| | | |
| | | &::after { |
| | | width: 2px; |
| | | height: 20px; |
| | | content: ""; |
| | | position: absolute; |
| | | right: -6px; |
| | | top: -18px; |
| | | background-color: #3e97e4; |
| | | transform: rotate(30deg); |
| | | } |
| | | |
| | | &::before { |
| | | width: 43px; |
| | | height: 40px; |
| | | content: ""; |
| | | position: absolute; |
| | | background-image: url("../../assets/images/border-icon.png"); |
| | | bottom: 0; |
| | | right: 0; |
| | | } |
| | | |
| | | .item-facility-data { |
| | | width: 33.33%; |
| | | flex-shrink: 0; |
| | | flex-grow: 0; |
| | | background-image: url("../../assets/images/item-facility.png"); |
| | | background-size: 100% auto; |
| | | background-repeat: no-repeat; |
| | | display: flex; |
| | | flex-direction: column; |
| | | |
| | | .item-facility-icon { |
| | | margin: 0 auto; |
| | | margin-top: 10%; |
| | | width: 73%; |
| | | display: block; |
| | | flex-shrink: 0; |
| | | flex-grow: 0; |
| | | } |
| | | |
| | | ul { |
| | | flex: 1; |
| | | box-sizing: border-box; |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: space-around; |
| | | text-align: center; |
| | | font-size: 14px; |
| | | list-style-type: none; |
| | | |
| | | li:nth-child(1) { |
| | | .value { |
| | | color: #e4b54f; |
| | | } |
| | | .title { |
| | | color: #dcf8ff; |
| | | } |
| | | } |
| | | |
| | | li:nth-child(2) { |
| | | .value { |
| | | color: #5cff9a; |
| | | } |
| | | .title { |
| | | color: #dcf8ff; |
| | | } |
| | | } |
| | | |
| | | li:nth-child(3) { |
| | | .value { |
| | | color: #ff7b72; |
| | | } |
| | | .title { |
| | | color: #dcf8ff; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .normal-container { |
| | | margin-top: 2%; |
| | | flex: 1; |
| | | display: flex; |
| | | flex-direction: column; |
| | | height: 0; |
| | | |
| | | .title { |
| | | width: 100%; |
| | | flex-shrink: 0; |
| | | flex-grow: 0; |
| | | display: block; |
| | | } |
| | | |
| | | .normal-statistics-content { |
| | | flex: 1; |
| | | position: relative; |
| | | border-bottom: 1px solid #3e97e4; |
| | | border-right: 1px solid #3e97e4; |
| | | padding: 4% 4% 4% 0; |
| | | box-sizing: border-box; |
| | | height: 0; |
| | | |
| | | &::after { |
| | | width: 2px; |
| | | height: 20px; |
| | | content: ""; |
| | | position: absolute; |
| | | right: -6px; |
| | | top: -18px; |
| | | background-color: #3e97e4; |
| | | transform: rotate(30deg); |
| | | } |
| | | |
| | | &::before { |
| | | width: 43px; |
| | | height: 40px; |
| | | content: ""; |
| | | position: absolute; |
| | | background-image: url("../../assets/images/border-icon.png"); |
| | | bottom: 0; |
| | | right: 0; |
| | | } |
| | | |
| | | .list-title-container { |
| | | width: 100%; |
| | | height: 45px; |
| | | line-height: 45px; |
| | | list-style-type: none; |
| | | display: flex; |
| | | flex-direction: row; |
| | | background-color: #09316b; |
| | | box-shadow: inset 0 0 16px rgba(25, 99, 210, 0.1); |
| | | flex-shrink: 0; |
| | | flex-grow: 0; |
| | | position: relative; |
| | | |
| | | &::after { |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | content: ""; |
| | | width: 15px; |
| | | height: 15px; |
| | | background-image: url("../../assets/images/list-t-l-icon.png"); |
| | | } |
| | | |
| | | &::before { |
| | | position: absolute; |
| | | top: 0; |
| | | right: 0; |
| | | content: ""; |
| | | width: 15px; |
| | | height: 15px; |
| | | background-image: url("../../assets/images/list-t-r-icon.png"); |
| | | } |
| | | |
| | | li { |
| | | width: 25%; |
| | | text-align: center; |
| | | font-size: 14px; |
| | | color: #00e6f4; |
| | | flex-shrink: 0; |
| | | flex-grow: 0; |
| | | white-space: nowrap; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | } |
| | | } |
| | | |
| | | .list-content { |
| | | height: calc(100% - 45px); |
| | | |
| | | background-image: url("../../assets/images/list-bg.png"); |
| | | background-size: 100% 100%; |
| | | box-shadow: inset 0 0 20px rgba(25, 99, 210, 0.1); |
| | | position: relative; |
| | | |
| | | &::after { |
| | | position: absolute; |
| | | bottom: 0; |
| | | left: 0; |
| | | content: ""; |
| | | width: 15px; |
| | | height: 15px; |
| | | background-image: url("../../assets/images/list-b-l-icon.png"); |
| | | } |
| | | |
| | | &::before { |
| | | position: absolute; |
| | | bottom: 0; |
| | | right: 0; |
| | | content: ""; |
| | | width: 15px; |
| | | height: 15px; |
| | | background-image: url("../../assets/images/list-b-r-icon.png"); |
| | | } |
| | | |
| | | .list-content-to { |
| | | height: 100%; |
| | | overflow-y: auto; |
| | | overflow-x: hidden; |
| | | } |
| | | |
| | | .item-list { |
| | | display: flex; |
| | | flex-direction: row; |
| | | align-items: center; |
| | | list-style-type: none; |
| | | border-bottom: 1px dashed #223654; |
| | | li { |
| | | width: 25%; |
| | | text-align: center; |
| | | font-size: 14px; |
| | | color: #dcf8ff; |
| | | flex-shrink: 0; |
| | | flex-grow: 0; |
| | | white-space: nowrap; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | height: 44px; |
| | | line-height: 44px; |
| | | } |
| | | |
| | | .name { |
| | | color: #00b4ff; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .map-container { |
| | | flex: 1; |
| | | height: 100%; |
| | | margin: 0 1%; |
| | | position: relative; |
| | | overflow: hidden; |
| | | // background-image: url('../assets//images/face-num-bg3.png'); |
| | | // border:1px solid #ddd; |
| | | // box-sizing: border-box; |
| | | |
| | | .main-map { |
| | | height: 100%; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .btn-container { |
| | | width: 60%; |
| | | position: absolute; |
| | | top: 5%; |
| | | left: 50%; |
| | | transform: translateX(-50%); |
| | | z-index: 99; |
| | | |
| | | .bg-img { |
| | | width: 100%; |
| | | } |
| | | |
| | | .btn-list { |
| | | width: 100%; |
| | | height: 100%; |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | padding-top: 3.3%; |
| | | padding-left: 16.4%; |
| | | padding-right: 16.4%; |
| | | box-sizing: border-box; |
| | | display: flex; |
| | | flex-direction: row; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | |
| | | img { |
| | | width: 26.638484%; |
| | | flex-shrink: 0; |
| | | flex-grow: 0; |
| | | display: block; |
| | | cursor: pointer; |
| | | user-select: none; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .video-title { |
| | | width: 60.5208333%; |
| | | position: absolute; |
| | | z-index: 8; |
| | | left: 50%; |
| | | transform: translateX(-50%); |
| | | bottom: 0; |
| | | } |
| | | } |
| | | |
| | | footer { |
| | | .footer-title { |
| | | width: 100%; |
| | | display: block; |
| | | } |
| | | |
| | | .footer-container { |
| | | height: 220px; |
| | | box-sizing: border-box; |
| | | position: relative; |
| | | background-image: url("../../assets/images/footer-bg.png"); |
| | | background-size: cover; |
| | | background-position: center; |
| | | |
| | | .footer-statistics-container { |
| | | width: 100%; |
| | | height: 100%; |
| | | padding-bottom: 24px; |
| | | box-sizing: border-box; |
| | | display: flex; |
| | | flex-direction: row; |
| | | align-items: stretch; |
| | | |
| | | .face-container, |
| | | .car-container { |
| | | flex: 1; |
| | | height: 100%; |
| | | } |
| | | |
| | | .face-container { |
| | | position: relative; |
| | | |
| | | background-image: url("../../assets/images/face-bg.png"); |
| | | background-size: 500px 200px; |
| | | background-position: center; |
| | | background-repeat: no-repeat; |
| | | |
| | | // .face-bj-img { |
| | | // position: absolute; |
| | | // left: 50%; |
| | | // top: 50%; |
| | | // transform: translate(-50%, -50%); |
| | | // width: 83.1946755%; |
| | | // display: block; |
| | | // z-index: 2; |
| | | // } |
| | | |
| | | .item-face-container { |
| | | position: absolute; |
| | | z-index: 4; |
| | | width: 22.296173%; |
| | | |
| | | .proportion { |
| | | width: 50px; |
| | | margin: 0 auto; |
| | | color: #00eaff; |
| | | text-shadow: 2px 2px 4px #152944; |
| | | position: relative; |
| | | |
| | | img { |
| | | width: 100%; |
| | | display: block; |
| | | } |
| | | |
| | | .value { |
| | | position: absolute; |
| | | left: 50%; |
| | | top: 53%; |
| | | transform: translate(-50%, -50%); |
| | | font-size: 14px; |
| | | } |
| | | } |
| | | |
| | | .title { |
| | | text-align: center; |
| | | font-size: 12px; |
| | | color: #dcf8ff; |
| | | white-space: nowrap; /* 䏿¢è¡ */ |
| | | overflow: hidden; /* éèè¶
åºçå
容 */ |
| | | text-overflow: ellipsis; /* ç¨çç¥å·è¡¨ç¤ºè¢«éèçé¨å */ |
| | | } |
| | | } |
| | | } |
| | | |
| | | .car-container { |
| | | position: relative; |
| | | background-image: url("../../assets/images/car-bg2.png"); |
| | | background-size: 500px 200px; |
| | | background-position: center; |
| | | background-repeat: no-repeat; |
| | | |
| | | // .car-bj-img { |
| | | // position: absolute; |
| | | // left: 50%; |
| | | // top: 50%; |
| | | // transform: translate(-50%, -50%); |
| | | // width: 83.1946755%; |
| | | // display: block; |
| | | // z-index: 2; |
| | | // } |
| | | |
| | | .item-car-container { |
| | | background-image: url("../../assets/images/item-car-bg.png"); |
| | | background-size: 100% 100%; |
| | | color: #dcf8ff; |
| | | font-size: 12px; |
| | | line-height: 26px; |
| | | padding: 0 15px; |
| | | position: absolute; |
| | | z-index: 5; |
| | | |
| | | span { |
| | | color: #ffc23e; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .video-container { |
| | | width: 37.6041667%; |
| | | height: 100%; |
| | | flex-shrink: 0; |
| | | flex-grow: 0; |
| | | display: flex; |
| | | flex-direction: row; |
| | | flex-wrap: wrap; |
| | | align-items: self-start; |
| | | box-sizing: border-box; |
| | | |
| | | .item-video-data { |
| | | width: 14.2857143%; |
| | | flex-grow: 0; |
| | | padding: 0 10px; |
| | | box-sizing: border-box; |
| | | height: 50%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | |
| | | .video-data { |
| | | flex: 1; |
| | | position: relative; |
| | | background-image: url("../../assets/images/item-video-bg.png"); |
| | | background-size: 100%; |
| | | background-position: center; |
| | | background-repeat: no-repeat; |
| | | |
| | | img { |
| | | width: 100%; |
| | | display: block; |
| | | } |
| | | |
| | | .proportion { |
| | | position: absolute; |
| | | left: 50%; |
| | | top: 50%; |
| | | transform: translate(-50%, -50%); |
| | | font-size: 20px; |
| | | font-weight: bold; |
| | | color: #00fcff; |
| | | text-shadow: 2px 2px 4px #152944; |
| | | } |
| | | } |
| | | |
| | | .item-video-title { |
| | | text-align: center; |
| | | color: #dcf8ff; |
| | | height: 32px; |
| | | font-size: 13px; |
| | | flex-shrink: 0; |
| | | flex-grow: 0; |
| | | display: -webkit-box; |
| | | -webkit-line-clamp: 2; /* æ¾ç¤ºçè¡æ° */ |
| | | -webkit-box-orient: vertical; |
| | | overflow: hidden; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .is-scroll-bar::-webkit-scrollbar { |
| | | width: 4px; |
| | | } |
| | | |
| | | .is-scroll-bar::-webkit-scrollbar-thumb { |
| | | border-radius: 0px; |
| | | box-shadow: inset 0 0 5px #1e75d9; |
| | | background-color: #1e75d9; |
| | | opacity: 0.2; |
| | | } |
| | | |
| | | .is-scroll-bar::-webkit-scrollbar-track { |
| | | box-shadow: inset 0 0 5px #0d172c; |
| | | border-radius: 0; |
| | | background-color: #0d172c; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="screen-container"> |
| | | <!-- <screen-title></screen-title> --> |
| | | <v-scale-screen width="1920" height="1080" :autoScale="true" :delay="0" class="screen"> |
| | | <!-- <screen-wrapper></screen-wrapper> --> |
| | | <NewPage></NewPage> |
| | | </v-scale-screen> |
| | | </div> |
| | | |
| | | </template> |
| | | |
| | | <script> |
| | | import ScreenTitle from './components/screen-title/index.vue'; |
| | | import ScreenWrapper from './components/screen-wrapper/index.vue'; |
| | | import NewPage from './newPage/index.vue' |
| | | |
| | | export default { |
| | | name: 'App', |
| | | components: { |
| | | ScreenTitle, |
| | | ScreenWrapper, |
| | | NewPage, |
| | | }, |
| | | data() { |
| | | return { |
| | | } |
| | | }, |
| | | mounted() { |
| | | |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .screen-container { |
| | | user-select: none; |
| | | -webkit-user-select: none; |
| | | } |
| | | .screen { |
| | | background-color: #033c76 !important; |
| | | //background: url('../../assets/images/screen/pageBg1.jpg') !important; |
| | | //background-size: cover !important; |
| | | //background-repeat: no-repeat !important; |
| | | //background-position: center center !important; |
| | | } |
| | | |
| | | </style> |