| | |
| | | import request from "@/utils/request" |
| | | |
| | | // ä¸å¼ 徿°æ®æ¥å£ |
| | | // ä¸å¼ 徿°æ®æ¥å£ |
| | | |
| | | // æ°æ®ç³è¯· |
| | | export function countDataApply(params) { |
| | |
| | | } |
| | | |
| | | //æå¡è®¿é®æ¬¡æ° |
| | | export function GetServicesVisitsCount(){ |
| | | return request.get("/oneMap/countDataServiceType") |
| | | export function GetServicesVisitsCount(params) { |
| | | return request.get("/oneMap/countDataServiceType", { params: params }) |
| | | } |
| | | |
| | | //æç
§ç±»å«è®¿é®ç»è®¡è®¿é®æ¬¡æ° |
| | | export function GetTypeVisitsCount(){ |
| | | return request.get("/oneMap/countLargeCategories") |
| | | export function GetTypeVisitsCount(params) { |
| | | return request.get("/oneMap/countLargeCategories", { params: params }) |
| | | } |
| | | |
| | | //å
¨å½ç«åºåº§æ°ãé室ãç®¡éæ°ç |
| | | export function countZhPipeStations(params) { |
| | | return request.get("/oneMap/countZhPipeStations", { params: params }) |
| | | } |
| | | //å
¨å½ç®¡ç½å¾è¾éä»è´¨é¿åº¦ |
| | | export function countZhPipeMapLength(params) { |
| | | return request.get("/oneMap/countZhPipeMapLength", { params: params }) |
| | | } |
| | | //å°ç¾countLargeCategories |
| | | export function countLargeCategories(params) { |
| | | return request.get("/oneMap/countLargeCategories", { params: params }) |
| | | } |
| | | |
| | | // è·å项ç®å表 é¨åä¿¡æ¯ä¸å
¨ |
| | | export function selectProjectFileList(params) { |
| | | return request.get("/oneMap/selectProjectFileList", { params: params }) |
| | | } |
| | | // åä¸ªé¡¹ç®æä»¶ä¸è½½ |
| | | export function countProjectType(params) { |
| | | return request.get("/oneMap/countProjectType", { params: params }) |
| | | } |
| | | // åä¸ªé¡¹ç®æ°æ®åå¨é |
| | | export function countProjectStorage(params) { |
| | | return request.get("/oneMap/countProjectStorage", { params: params }) |
| | | } |
| | | // å个项ç®ä¸è½½é |
| | | export function countProjectDown(params) { |
| | | return request.get("/oneMap/countProjectDown", { params: params }) |
| | | } |
| | | // å个项ç®ä¿¡æ¯ |
| | | export function selectProjectInfo(params) { |
| | | return request.get("/oneMap/selectProjectInfo", { params: params }) |
| | | } |
| | |
| | | <div class="bottom1"> |
| | | <div class="bottom11"></div> |
| | | <div class="bottom12"> |
| | | <div :class="currMenu == item.menuName ? 'active' : ''" v-for="item in menuList" :key="item.menuName" |
| | | class="bottombtn" @click="handleMenuClick(item)"> |
| | | <el-popover popper-class="popover" placement="top" width="100" trigger="click"> |
| | | <div |
| | | :class="currMenu == item.menuName ? 'active' : ''" |
| | | v-for="item in menuList" |
| | | :key="item.menuName" |
| | | class="bottombtn" |
| | | @click="handleMenuClick(item)" |
| | | > |
| | | <el-popover |
| | | popper-class="popover" |
| | | placement="top" |
| | | width="100" |
| | | trigger="click" |
| | | > |
| | | <!-- å
容 --> |
| | | <span slot="reference">{{ item.menuName }}</span> |
| | | <div class="popover-content"> |
| | | <div class="popover-content__header">项ç®ä¿¡æ¯</div> |
| | | |
| | | <div class="popover-content__search"> |
| | | <el-input size="mini" placeholder="请è¾å
¥å
容" v-model="searchName" @change="handleSearchChange(item)"> |
| | | <el-input |
| | | size="mini" |
| | | placeholder="请è¾å
¥å
容" |
| | | v-model="searchName" |
| | | @change="handleSearchChange(item)" |
| | | > |
| | | <el-button slot="append" icon="el-icon-search"></el-button> |
| | | </el-input> |
| | | </div> |
| | | <div class="popover-content__list"> |
| | | <div class="popover-content__list__item" v-for="(child, i) in currMenuList" :key="child.id + i" |
| | | :class="currProject == child.name ? 'active' : ''" @click="handlePopoverClick(child)" |
| | | :title="child.name"> |
| | | <div |
| | | class="popover-content__list__item" |
| | | v-for="(child, i) in currMenuList" |
| | | :key="child.id + i" |
| | | :class="currProject == child.name ? 'active' : ''" |
| | | @click="handlePopoverClick(child)" |
| | | :title="child.name" |
| | | > |
| | | {{ child.name.slice(0, 8) }} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </el-popover> |
| | | </div> |
| | | |
| | | <div |
| | | class="bottombtn" |
| | | :class="showTree ? 'active' : ''" |
| | | @click="handleTree" |
| | | > |
| | | å¾å±ç®¡ç |
| | | </div> |
| | | </div> |
| | | <div class="bottom13"> |
| | | <img :src="yxImg" @click="ChangeBaseLayer('yx')" title="å½±åå¾" /> |
| | | <img :src="xrImg" @click="ChangeBaseLayer('xr')" title="ææ¸²å¾"/> |
| | | <img :src="yxImg" @click="ChangeBaseLayer('yx')" title="å½±åå¾" /> |
| | | <img :src="xrImg" @click="ChangeBaseLayer('xr')" title="ææ¸²å¾" /> |
| | | </div> |
| | | </div> |
| | | <div class="bottom2"> |
| | |
| | | countProjectTour, |
| | | countProjectDisplay, |
| | | countProjectLocation, |
| | | selectProjectFileList, |
| | | } from "@/api/screen.js" |
| | | import { wktToGeoJSON } from "@terraformer/wkt" |
| | | |
| | |
| | | return { |
| | | YXState: true, |
| | | XRState: true, |
| | | yunxuanLayer: null,//å
¨çç©æå¾ |
| | | yunxuanLayer: null, //å
¨çç©æå¾ |
| | | yxImg: require("../../assets/img/Screen/yximg.png"), |
| | | xrImg: require("../../assets/img/Screen/bdimg.png"), |
| | | currMenu: "ä¸é¢å±ç¤º", |
| | |
| | | ], |
| | | }, |
| | | ], |
| | | showTree: false, |
| | | } |
| | | }, |
| | | computed: { |
| | |
| | | }, |
| | | methods: { |
| | | ChangeBaseLayer(parm) { |
| | | if (parm == 'yx') { |
| | | if (parm == "yx") { |
| | | if (this.YXState) { |
| | | //this.yxImg = require("../../assets/img/Screen/bdimg.png") |
| | | //å è½½ç¾åº¦å½±å |
| | |
| | | this.YXState = !this.YXState |
| | | } |
| | | |
| | | if (parm == 'xr') { |
| | | if (parm == "xr") { |
| | | if (yunxuanLayer == null) { |
| | | var urls = "https://tiles3.geovisearth.com/base/v1/ter" |
| | | // æå¾å°çå°å½¢ææ¸² |
| | |
| | | ) |
| | | } |
| | | if (this.XRState) { |
| | | yunxuanLayer.item.show = true; |
| | | yunxuanLayer.item.show = true |
| | | } else { |
| | | yunxuanLayer.item.show = false; |
| | | yunxuanLayer.item.show = false |
| | | } |
| | | this.XRState = !this.XRState; |
| | | this.XRState = !this.XRState |
| | | } |
| | | |
| | | |
| | | |
| | | }, |
| | | handleMenuClick(menu) { |
| | | this.currMenu = menu.menuName |
| | |
| | | this.showPathLine(child) |
| | | break |
| | | case "项ç®å±ç¤º": |
| | | this.DisplayCurrentProject(child) |
| | | // this.DisplayCurrentProject(child) |
| | | this.changeProject(child) |
| | | this.$bus.$emit("changeProjectCode", child.id) |
| | | |
| | | break |
| | | case "ä¸é¢å±ç¤º": |
| | | this.changeProject(child) |
| | | break |
| | | |
| | | default: |
| | | break |
| | | } |
| | |
| | | |
| | | //项ç®å±ç¤º |
| | | DisplayCurrentProject(params) { |
| | | |
| | | |
| | | //æå¼æè
å è½½å¾å± |
| | | |
| | | //é£å°æå®ä½ç½® |
| | |
| | | return menu.children |
| | | // return menu.children.filter(item => item.name.indexOf(searchName) > -1) |
| | | }, |
| | | handleSearchChange(currMenu) { }, |
| | | handleSearchChange(currMenu) {}, |
| | | async getCountProjectDisplay() { |
| | | const res = await countProjectLocation() |
| | | // const res = await countProjectLocation() |
| | | // if (res.code === 200) { |
| | | // const menu = this.menuList.find(item => item.menuName == "项ç®å±ç¤º") |
| | | // menu.children = res.result.map(item => { |
| | | // return { |
| | | // name: item.projname, |
| | | // id: item.projname, |
| | | // wkt: item.wkt, |
| | | // } |
| | | // }) |
| | | // } |
| | | const res = await selectProjectFileList() |
| | | if (res.code === 200) { |
| | | const menu = this.menuList.find(item => item.menuName == "项ç®å±ç¤º") |
| | | menu.children = res.result.map(item => { |
| | | return { |
| | | name: item.projname, |
| | | id: item.projname, |
| | | name: item.name, |
| | | id: item.code, |
| | | wkt: item.wkt, |
| | | } |
| | | }) |
| | | |
| | | } |
| | | selectProjectFileList |
| | | }, |
| | | async getCountProjectTour() { |
| | | const res = await countProjectTour() |
| | |
| | | wkt: item.wkt, |
| | | } |
| | | }) |
| | | |
| | | } |
| | | }, |
| | | //ä¸é¢å±ç¤º |
| | | changeProject(params) { |
| | | this.$bus.$emit('changeProject', params.name) |
| | | } |
| | | this.$bus.$emit("changeProject", params.name) |
| | | }, |
| | | handleTree(params) { |
| | | this.showTree = !this.showTree |
| | | this.$bus.$emit("changeTree", this.showTree) |
| | | }, |
| | | }, |
| | | } |
| | | </script> |
| | |
| | | <!-- å
¨çãå
¨å½ç»è®¡æ¬¡æ° --> |
| | | <div class="leftContainer" v-if="currentDisplay == '项ç®'"> |
| | | <div class="current1" id="leftCurrent1"> |
| | | <div class="aside-title">å½å
ãå½å¤</div> |
| | | <div class="aside-title">æ°æ®æ»è§</div> |
| | | <div class="wrapper"> |
| | | <div class="title">{{ currentProject }}</div> |
| | | <dv-digital-flop style="height: 40px" :config="xmCountConfig" /> |
| | | </div> |
| | | </div> |
| | | <div class="current1" id="leftCurrent2"> |
| | | <div class="aside-title">ç»è®¡å°ç¾ãæ´åºçä¸ä¸æ°æ®åå¨é</div> |
| | | <base-line-chart :project="currProject"></base-line-chart> |
| | | <div class="aside-title">åå¨ä¿¡æ¯</div> |
| | | <base-line-chart |
| | | :requsetFn="requsetFn" |
| | | :project="currentProject" |
| | | title="æ°æ®åå¨é" |
| | | ></base-line-chart> |
| | | </div> |
| | | <div class="current1" id="leftCurrent3"> |
| | | <div class="aside-title">æ°æ®åå¨é</div> |
| | | <data-storage></data-storage> |
| | | <data-storage-type></data-storage-type> |
| | | </div> |
| | | </div> |
| | | <!-- å
¨çãå
¨å½ç®¡ç½å¾ --> |
| | | <div class="leftContainer" v-if="currentDisplay == '管ç½'"> |
| | | <div class="current1" id="leftCurrent1"> |
| | | <div class="aside-title">管ç½å½å
ãå½å¤</div> |
| | | <!-- <base-bar-chart :project="currProject"></base-bar-chart> --> |
| | | <!-- <count-data-apply></count-data-apply> --> |
| | | <div class="aside-title">æ°æ®æ»è§</div> |
| | | <div class="wrapper"> |
| | | <div class="title">{{ currentProject }}</div> |
| | | <dv-digital-flop style="height: 40px" :config="xmCountConfig" /> |
| | | </div> |
| | | </div> |
| | | <div class="current1" id="leftCurrent2"> |
| | | <div class="aside-title">è¾éä»è´¨ç±»å«ç»è®¡é¿åº¦</div> |
| | | <base-line-chart :project="currProject"></base-line-chart> |
| | | <!-- <base-pie-chart :project="currProject"></base-pie-chart> --> |
| | | <div class="aside-title">管ç½é¿åº¦</div> |
| | | <base-line-chart |
| | | :requsetFn="requsetFn" |
| | | :project="currentProject" |
| | | title="管ç½é¿åº¦" |
| | | ></base-line-chart> |
| | | <!-- <base-pie-chart :project="currentProject"></base-pie-chart> --> |
| | | <!-- <service-type></service-type> --> |
| | | </div> |
| | | <div class="current1" id="leftCurrent3"> |
| | | <div class="aside-title">æ°æ®åå¨é</div> |
| | | <data-storage></data-storage> |
| | | <data-storage-type></data-storage-type> |
| | | </div> |
| | | </div> |
| | | <!-- å个工ç¨å±ç¤º --> |
| | |
| | | <projectTime></projectTime> |
| | | </div> |
| | | </div> |
| | | <!-- <div class="leftContainer" v-if="ProjectreeDisplay"> |
| | | <project-tree></project-tree> |
| | | </div> --> |
| | | </div> |
| | | </template> |
| | | <script> |
| | |
| | | import countDataApply from "@/components/chart/CountDataApply.vue" |
| | | import ServiceType from "../chart/ServiceType.vue" |
| | | import DataStorage from "../chart/DataStorage.vue" |
| | | import DataStorageType from "../chart/DataStorageType.vue" |
| | | |
| | | import BaseBarChart from "../chart/BaseBarChart.vue" |
| | | import BaseLineChart from "../chart/BaseLineChart.vue" |
| | | import BasePieChart from "../chart/BasePieChart .vue" |
| | | import projectintroduction from "../chart/projectintroduction.vue" |
| | | import projectState from "../chart/projectState.vue" |
| | | import projectTime from "../chart/projectTime.vue" |
| | | import { |
| | | countCountryDimension, |
| | | countProvinceDimension, |
| | | countZhPipeStations, |
| | | countZhPipeMapLength, |
| | | } from "@/api/screen.js" |
| | | function formatter(number) { |
| | | const numbers = number.toString().split("").reverse() |
| | | const segs = [] |
| | | |
| | | while (numbers.length) segs.push(numbers.splice(0, 3).join("")) |
| | | |
| | | return segs.join(",").split("").reverse().join("") |
| | | } |
| | | export default { |
| | | components: { |
| | | ProjectTree, |
| | |
| | | projectintroduction, |
| | | projectState, |
| | | projectTime, |
| | | DataStorageType |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | GlobleChartDisplay: false, |
| | | CountryChartDisplay: false, |
| | | leftImg: require("../../assets/img/Screen/rightArrow.png"), |
| | | currProject: "å
¨ç项ç®", |
| | | currentProject: "å
¨ç项ç®", |
| | | currentDisplay: "大å±", |
| | | requsetFn: countZhPipeMapLength, |
| | | xmCountConfig: { |
| | | number: [0], |
| | | content: "{nt}", |
| | | formatter, |
| | | }, |
| | | } |
| | | }, |
| | | mounted() { |
| | |
| | | } else { |
| | | this.currentDisplay = "å·¥ç¨" |
| | | } |
| | | |
| | | this.currentProject = name |
| | | }) |
| | | this.$bus.$on("changeCount", count => { |
| | | if (typeof count == "number") { |
| | | this.xmCountConfig.number = [count] |
| | | this.xmCountConfig = { |
| | | ...this.xmCountConfig, |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | methods: { |
| | |
| | | background-size: 100% 100%; |
| | | background-repeat: no-repeat; |
| | | } |
| | | .wrapper { |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: center; |
| | | margin: 15px auto; |
| | | width: 180px; |
| | | height: 180px; |
| | | background: url(../../assets/img/Screen/all.png); |
| | | background-size: 100% 100%; |
| | | background-repeat: no-repeat; |
| | | .title { |
| | | color: #fff; |
| | | font-size: 20px; |
| | | width: 100%; |
| | | text-align: center; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <!-- å
¨çãå
¨å½é¡¹ç® --> |
| | | <div class="rightContainer" v-if="currentDisplay == '项ç®'"> |
| | | <div class="current1"> |
| | | <div class="aside-title">é¡¹ç®æ±ç¶å¾</div> |
| | | <div class="aside-title"></div> |
| | | <!-- <country-dimension-bar ref="barRef"></country-dimension-bar> --> |
| | | <base-bar-chart :project="currentProject"></base-bar-chart> |
| | | <base-bar-chart title="项ç®ä¸ªæ°" :project="currentProject"></base-bar-chart> |
| | | </div> |
| | | <div class="current1"> |
| | | <div class="aside-title">项ç®é¥¼ç¶å¾</div> |
| | |
| | | </div> |
| | | <div class="current1"> |
| | | <div class="aside-title">é¡¹ç®æ°æ®ä½¿ç¨æ
åµ</div> |
| | | <dv-capsule-chart :config="config" style="width: 360px; height: 85%" /> |
| | | <dv-capsule-chart |
| | | :config="barConfig" |
| | | style="width: 360px; height: 85%" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <!-- å
¨å½ãå
¨çç®¡ç½ --> |
| | |
| | | <div class="current1"> |
| | | <div class="aside-title">ç«åºåº§æ°</div> |
| | | <!-- <country-dimension-bar ref="barRef"></country-dimension-bar> --> |
| | | <base-bar-chart :project="currentProject"></base-bar-chart> |
| | | <base-bar-chart title="ç«åºåº§æ°" :project="currentProject"></base-bar-chart> |
| | | </div> |
| | | <div class="current1"> |
| | | <div class="aside-title">é室座æ°</div> |
| | |
| | | <div class="rightContainer" v-if="currentDisplay == 'å·¥ç¨'"> |
| | | <div class="current1"> |
| | | <div class="aside-title">æ°æ®åå¨é</div> |
| | | <base-line-chart :project="currentProject"></base-line-chart> |
| | | <base-line-chart title="æ°æ®åå¨é" :project="currentProject" :params="params"></base-line-chart> |
| | | </div> |
| | | <div class="current1"> |
| | | <div class="aside-title">æ°æ®ä¸è½½æ¬¡æ°</div> |
| | | <base-pie-chart height="90%" :project="currentProject"></base-pie-chart> |
| | | <base-pie-chart height="90%" :project="currentProject" :params="params"></base-pie-chart> |
| | | </div> |
| | | <div class="current1"> |
| | | <div class="aside-title">ç»è®¡ä¸åè¾éä»è´¨ç®¡éæ¡æ°</div> |
| | |
| | | <div>æ°é</div> |
| | | </div> |
| | | </div> |
| | | <file-format></file-format> |
| | | <file-format :params="params"></file-format> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | import BasePieChart from "../chart/BasePieChart .vue" |
| | | import VisitCount from "../chart/VisitCount.vue" |
| | | |
| | | import { countCountryDimension, countProvinceDimension } from "@/api/screen.js" |
| | | import { |
| | | countCountryDimension, |
| | | countProvinceDimension, |
| | | countZhPipeStations, |
| | | } from "@/api/screen.js" |
| | | |
| | | export default { |
| | | components: { |
| | |
| | | ], |
| | | lineWidth: 10, |
| | | }, |
| | | barConfig: { |
| | | data: [ |
| | | { |
| | | name: "åé³", |
| | | value: 167, |
| | | }, |
| | | { |
| | | name: "å¨å£", |
| | | value: 123, |
| | | }, |
| | | { |
| | | name: "漯河", |
| | | value: 98, |
| | | }, |
| | | { |
| | | name: "éå·", |
| | | value: 75, |
| | | }, |
| | | { |
| | | name: "西峡", |
| | | value: 66, |
| | | }, |
| | | ], |
| | | showValue: true, |
| | | }, |
| | | params: {} |
| | | } |
| | | }, |
| | | |
| | | created() { |
| | | this.getZhPipeStations() |
| | | }, |
| | | mounted() { |
| | | this.OpenLeftInit() |
| | | this.$bus.$on("changeProject", name => { |
| | |
| | | } |
| | | this.currentProject = name |
| | | }) |
| | | this.$bus.$on('changeProjectCode', code => { |
| | | this.params = { |
| | | projectCode: code |
| | | } |
| | | }) |
| | | |
| | | }, |
| | | |
| | | methods: { |
| | | ChangeRight() { |
| | | if (this.leftMessage == "init") { |
| | |
| | | // this.leftMessage = "projectree" |
| | | // this.$parent.ChangeWidth("leftTree") |
| | | // }, |
| | | async getZhPipeStations() { |
| | | const res = await countZhPipeStations() |
| | | if (res.code == 200) { |
| | | const data = res.result |
| | | this.pieconfig.data = res.result.map(item => { |
| | | return { |
| | | name: item.è¾éä»è´¨, |
| | | value: item.ç®¡éæ°é, |
| | | } |
| | | }) |
| | | |
| | | this.pieconfig = { |
| | | ...this.pieconfig, |
| | | } |
| | | this.config.data = res.result.map(item => { |
| | | return { |
| | | name: item.è¾éä»è´¨, |
| | | value: item.ç®¡éæ°é, |
| | | } |
| | | }) |
| | | this.config = { |
| | | ...this.config, |
| | | } |
| | | } |
| | | }, |
| | | }, |
| | | } |
| | | </script> |
| | |
| | | <template> |
| | | <div class="top"> |
| | | <div class="topleft"> |
| | | <div |
| | | <!-- <div |
| | | class="topleft1" |
| | | :class="currView == 'chart' ? 'active' : ''" |
| | | @click="OpenInitChart" |
| | | > |
| | | <img src="../../assets/img/Screen/bigST.png" /> |
| | | <span>大å±è§å¾</span> |
| | | </div> |
| | | </div> --> |
| | | <!-- <div |
| | | class="topleft1" |
| | | @click="OpenProjectree" |
| | |
| | | <img src="../../assets/img/Screen/ptree.png" /> |
| | | <span>å·¥ç¨é¡¹ç®</span> |
| | | </div> --> |
| | | <div class="topleft__curr"> |
| | | <img src="../../assets/img/Screen/ptree.png" /> |
| | | <span :title="currentProject">{{ currentProject }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="topCenter"> |
| | | <div>管ç½ä¸å¼ å¾</div> |
| | | </div> |
| | | <div class="topRight"> |
| | | <div |
| | | class="topright1 toprightC" |
| | | @click="ReturnLast" |
| | | class="topright1" |
| | | :class="currView == 'chart' ? 'active' : ''" |
| | | @click="OpenInitChart" |
| | | > |
| | | <img src="../../assets/img/Screen/bigST.png" /> |
| | | <span>è¿å大å±</span> |
| | | </div> |
| | | <div class="topright1 toprightC" @click="ReturnLast"> |
| | | <img src="../../assets/img/Screen/return.png" /> |
| | | <span>è¿åä¸çº§</span> |
| | | </div> |
| | |
| | | tree: false, |
| | | screen: false, |
| | | currView: "chart", |
| | | currentProject: "大å±è§å¾", |
| | | } |
| | | }, |
| | | mounted() { |
| | | // this.$bus.$on('changeProject', name => { |
| | | // if (name == 'å
¨å½é¡¹ç®' || name == 'å
¨ç项ç®') { |
| | | // this.OpenProjectree() |
| | | // } |
| | | // }) |
| | | this.$bus.$on("changeProject", name => { |
| | | // if (name == 'å
¨å½é¡¹ç®' || name == 'å
¨ç项ç®') { |
| | | // this.OpenProjectree() |
| | | // } |
| | | this.currView = "tree" |
| | | this.currentProject = name |
| | | }) |
| | | }, |
| | | methods: { |
| | | ReturnLast() { |
| | | sessionStorage.setItem("changeSelectStyle", 1); |
| | | sessionStorage.setItem("changeSelectStyle", 1) |
| | | this.$router.push("/Synthesis") |
| | | }, |
| | | |
| | |
| | | this.screen = true |
| | | this.$parent.$refs.mapleft.OpenLeftInit() |
| | | this.$parent.$refs.mapright.OpenLeftInit() |
| | | this.currentProject = "大å±è§å¾" |
| | | }, |
| | | |
| | | //æå¼å·¥ç¨æ |
| | |
| | | align-items: flex-end; |
| | | // justify-content: space-around; |
| | | cursor: pointer; |
| | | .topleft__curr { |
| | | // overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | white-space: nowrap; |
| | | height: 36px; |
| | | border-radius: 4px; |
| | | background-image: url(../../assets/img/Screen/btnbg.png); |
| | | background-repeat: no-repeat; |
| | | background-size: 100% 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | margin-left: 5%; |
| | | span { |
| | | padding-right: 10px; |
| | | } |
| | | } |
| | | .topleft1 { |
| | | width: 127px; |
| | | height: 36px; |
| | |
| | | .topright1 { |
| | | width: 131px; |
| | | height: 40px; |
| | | background-image: url(../../assets/img/Screen/btnc.png); |
| | | background-image: url(../../assets/img/Screen/btnbg.png); |
| | | background-repeat: no-repeat; |
| | | background-size: 100% 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | margin-right: 10%; |
| | | &.active { |
| | | background-image: url(../../assets/img/Screen/btnc.png); |
| | | background-repeat: no-repeat; |
| | | background-size: 100% 100%; |
| | | } |
| | | } |
| | | |
| | | .toprightC { |
| | | width: 131px; |
| | | height: 40px; |
| | |
| | | |
| | | <script> |
| | | import * as echarts from "echarts" |
| | | import { countCountryDimension, countProvinceDimension } from "@/api/screen.js" |
| | | import { |
| | | countCountryDimension, |
| | | countProvinceDimension, |
| | | countZhPipeStations, |
| | | } from "@/api/screen.js" |
| | | export default { |
| | | props: { |
| | | width: { |
| | |
| | | project: { |
| | | type: String, |
| | | default: "å
¨å½é¡¹ç®", |
| | | }, |
| | | title: { |
| | | type: String, |
| | | default: "", |
| | | }, |
| | | }, |
| | | data() { |
| | |
| | | if (this.dataList) { |
| | | data = this.dataList |
| | | } |
| | | let count = 0 |
| | | let countVal = 0 |
| | | |
| | | const title = this.title |
| | | data.forEach(item => { |
| | | let name = item.province || item.country |
| | | let name = item.province || item.country || item.è¾éä»è´¨ |
| | | let value = item.count || item.ç«åºæ°é |
| | | if (title == "ç«åºåº§æ°" && item.ç®¡éæ°é) { |
| | | count += item.ç®¡éæ°é |
| | | } else { |
| | | count += item.count || 0 |
| | | } |
| | | |
| | | // switch (title) { |
| | | // case "ç«åºåº§æ°": |
| | | // countVal = item.ç®¡éæ°é |
| | | // break |
| | | // case "项ç®ä¸ªæ°": |
| | | // countVal = item.count |
| | | // break |
| | | // } |
| | | |
| | | xAxisData.push(name) |
| | | yAxisData.push(item.count) |
| | | yAxisData.push(value) |
| | | }) |
| | | console.log("ç®¡éæ°é", countVal) |
| | | |
| | | if (typeof count === "number") { |
| | | this.$bus.$emit("changeCount", count) |
| | | } |
| | | let option = { |
| | | backgroundColor: "transparent", |
| | | tooltip: { |
| | |
| | | var maxLength = 2 //æ¯é¡¹æ¾ç¤ºæåä¸ªæ° |
| | | var valLength = value.length //Xè½´ç±»ç®é¡¹çæåä¸ªæ° |
| | | var rowN = Math.ceil(valLength / maxLength) //ç±»ç®é¡¹éè¦æ¢è¡çè¡æ° |
| | | if (xAxisData.length < 7) { |
| | | return value |
| | | } |
| | | if (rowN > 1) { |
| | | //å¦æç±»ç®é¡¹çæå大äº3, |
| | | for (var i = 0; i < rowN; i++) { |
| | |
| | | ], |
| | | series: [ |
| | | { |
| | | name: this.title, |
| | | type: "bar", |
| | | data: yAxisData, |
| | | barWidth: "12px", |
| | |
| | | }, |
| | | project: { |
| | | deep: true, |
| | | immediate: true, |
| | | handler(newVal) { |
| | | let requsetFn = null |
| | | switch (newVal) { |
| | |
| | | case "å
¨å½é¡¹ç®": |
| | | requsetFn = countProvinceDimension |
| | | break |
| | | |
| | | case "å
¨ç管ç½å¾": |
| | | requsetFn = countZhPipeStations |
| | | break |
| | | case "å
¨å½ç®¡ç½å¾": |
| | | requsetFn = countZhPipeStations |
| | | break |
| | | default: |
| | | break |
| | | } |
| | |
| | | }, |
| | | }, |
| | | mounted() { |
| | | this.initData() |
| | | // this.initData() |
| | | this.initChart() |
| | | if (this.autoResize) { |
| | | window.addEventListener("resize", this.resizeHandler) |
| | |
| | | }, |
| | | methods: { |
| | | resizeHandler() { |
| | | this.chart.resize() |
| | | this.chart && this.chart.resize() |
| | | }, |
| | | initChart() { |
| | | this.chart = echarts.init(this.$refs.chart, "", { |
| | |
| | | countCountryDimension, |
| | | countProvinceDimension, |
| | | GetServicesVisitsCount, |
| | | countZhPipeMapLength, |
| | | countLargeCategories, |
| | | countProjectType, |
| | | countProjectDown |
| | | } from "@/api/screen.js" |
| | | export default { |
| | | props: { |
| | |
| | | project: { |
| | | type: String, |
| | | default: "å
¨å½é¡¹ç®", |
| | | }, |
| | | params: { |
| | | type: Object, |
| | | default: () => null, |
| | | }, |
| | | project: { |
| | | type: String, |
| | | default: "å
¨å½é¡¹ç®", |
| | | }, |
| | | title: { |
| | | type: String, |
| | | default: "", |
| | | }, |
| | | }, |
| | | data() { |
| | |
| | | }, |
| | | grid: { |
| | | right: "5%", |
| | | top: '10%', |
| | | top: "10%", |
| | | left: "5%", |
| | | bottom: "17%", |
| | | containLabel: true |
| | | containLabel: true, |
| | | }, |
| | | |
| | | xAxis: { |
| | |
| | | boundaryGap: true, |
| | | axisLine: { |
| | | lineStyle: { |
| | | color: "#fff" |
| | | color: "#fff", |
| | | }, |
| | | show: false |
| | | show: false, |
| | | }, |
| | | nameRotate: 45, |
| | | axisTick: { |
| | |
| | | }, |
| | | series: [ |
| | | { |
| | | name: "æå¡è®¿é®æ¬¡æ°", |
| | | name: this.title, |
| | | type: "line", |
| | | showAllSymbol: false, |
| | | lineStyle: { |
| | |
| | | }, |
| | | project: { |
| | | deep: true, |
| | | immediate: true, |
| | | handler(newVal) { |
| | | let requsetFn = null |
| | | switch (newVal) { |
| | | case "å
¨ç项ç®": |
| | | requsetFn = countCountryDimension |
| | | requsetFn = countLargeCategories |
| | | break |
| | | case "å
¨å½é¡¹ç®": |
| | | requsetFn = countProvinceDimension |
| | | requsetFn = countLargeCategories |
| | | break |
| | | |
| | | case "å
¨ç管ç½å¾": |
| | | requsetFn = countZhPipeMapLength |
| | | break |
| | | case "å
¨å½ç®¡ç½å¾": |
| | | requsetFn = countZhPipeMapLength |
| | | break |
| | | default: |
| | | requsetFn = GetServicesVisitsCount |
| | | |
| | | break |
| | | } |
| | | requsetFn && this.initData(requsetFn) |
| | |
| | | }, |
| | | }, |
| | | mounted() { |
| | | this.initData() |
| | | // this.initData() |
| | | this.initChart() |
| | | if (this.autoResize) { |
| | | window.addEventListener("resize", this.resizeHandler) |
| | |
| | | }, |
| | | methods: { |
| | | resizeHandler() { |
| | | this.chart.resize() |
| | | this.chart && this.chart.resize() |
| | | }, |
| | | initChart() { |
| | | this.chart = echarts.init(this.$refs.chart, "", { |
| | |
| | | this.chart && this.chart.clear() |
| | | }, |
| | | async initData(requsetFn = GetServicesVisitsCount) { |
| | | const res = await requsetFn() |
| | | const res = await requsetFn(this.params) |
| | | if (res.code == 200) { |
| | | this.dataList = res.result |
| | | console.log("requsetFn", res) |
| | |
| | | |
| | | <script> |
| | | import * as echarts from "echarts" |
| | | import { countCountryDimension, countProvinceDimension } from "@/api/screen.js" |
| | | import { |
| | | countCountryDimension, |
| | | countProvinceDimension, |
| | | countProjectStorage, |
| | | } from "@/api/screen.js" |
| | | export default { |
| | | props: { |
| | | width: { |
| | |
| | | type: String, |
| | | default: "å
¨å½é¡¹ç®", |
| | | }, |
| | | params: { |
| | | type: Object, |
| | | default: () => null, |
| | | }, |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | }, |
| | | computed: { |
| | | option() { |
| | | let echartData = [ |
| | | { |
| | | value: 2154, |
| | | name: "æ²éå¸è大å¦", |
| | | }, |
| | | { |
| | | value: 3854, |
| | | name: "æ½åå¦é¢", |
| | | }, |
| | | { |
| | | value: 3515, |
| | | name: "éå²è䏿æ¯å¦é¢", |
| | | }, |
| | | { |
| | | value: 3515, |
| | | name: "æ·åå¸èé«çä¸ç§", |
| | | }, |
| | | { |
| | | value: 3854, |
| | | name: "é²ä¸å¤§å¦", |
| | | }, |
| | | { |
| | | value: 2154, |
| | | name: "å±±ä¸å¸è大å¦", |
| | | }, |
| | | ] |
| | | let echartData = [] |
| | | let data = [] |
| | | let xAxisData = [] |
| | | let yAxisData = [] |
| | |
| | | if (this.dataList) { |
| | | data = this.dataList |
| | | echartData = data.map(item => { |
| | | let name = item.province || item.country |
| | | let name = item.province || item.country || item.name |
| | | // xAxisData.push(name) |
| | | // yAxisData.push(item.count) |
| | | count += item.count |
| | |
| | | "#18edc9", |
| | | "#6ac5fa", |
| | | ], |
| | | // minAngle: 15, |
| | | // startAngle: 270, |
| | | minAngle: 15, |
| | | startAngle: 270, |
| | | label: { |
| | | normal: { |
| | | formatter: function (params, ticket, callback) { |
| | |
| | | }, |
| | | labelLine: { |
| | | normal: { |
| | | length: 55 * scale, |
| | | length: 30, |
| | | length2: 0, |
| | | lineStyle: { |
| | | color: "#0b5263", |
| | |
| | | }, |
| | | project: { |
| | | deep: true, |
| | | immediate: true, |
| | | handler(newVal) { |
| | | let requsetFn = null |
| | | switch (newVal) { |
| | |
| | | case "å
¨å½é¡¹ç®": |
| | | requsetFn = countProvinceDimension |
| | | break |
| | | case "å
¨ç管ç½å¾": |
| | | requsetFn = countProvinceDimension |
| | | break |
| | | case "å
¨å½ç®¡ç½å¾": |
| | | requsetFn = countProvinceDimension |
| | | break |
| | | |
| | | default: |
| | | requsetFn = countProjectStorage |
| | | |
| | | break |
| | | } |
| | | requsetFn && this.initData(requsetFn) |
| | | |
| | | this.setOptions(this.option) |
| | | }, |
| | | }, |
| | | }, |
| | | created() { |
| | | // this.initData() |
| | | }, |
| | | mounted() { |
| | | this.initData() |
| | | this.initChart() |
| | | if (this.autoResize) { |
| | | window.addEventListener("resize", this.resizeHandler) |
| | |
| | | }, |
| | | methods: { |
| | | resizeHandler() { |
| | | this.chart.resize() |
| | | this.chart && this.chart.resize() |
| | | }, |
| | | initChart() { |
| | | this.chart = echarts.init(this.$refs.chart, "", { |
| | |
| | | if (this.chart) { |
| | | this.chart.setOption(option) |
| | | } |
| | | |
| | | }, |
| | | refresh() { |
| | | this.setOptions(this.option) |
| | |
| | | clearChart() { |
| | | this.chart && this.chart.clear() |
| | | }, |
| | | async initData(requsetFn = countCountryDimension) { |
| | | const res = await requsetFn() |
| | | async initData(requsetFn) { |
| | | const res = await requsetFn(this.params) |
| | | if (res.code == 200) { |
| | | this.dataList = res.result |
| | | console.log("requsetFn", res) |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="data-storage"> |
| | | <div class="data-storage__header"> |
| | | <div class="text"> |
| | | <img |
| | | class="img" |
| | | src="@/assets/img/Screen/cunchu.png" |
| | | alt="" |
| | | srcset="" |
| | | /> |
| | | <div class="title">å
±å卿件æ°é</div> |
| | | </div> |
| | | <div class="num"> |
| | | <dv-digital-flop :config="config1" style="width: 70px; height: 20px" /> |
| | | <!-- <div class="value">5</div> --> |
| | | </div> |
| | | </div> |
| | | <div class="data-storage__content"> |
| | | <ul class="contentTitle"> |
| | | <li class="title">ç¼å·</li> |
| | | <li class="name">åç§°</li> |
| | | <li class="num">æ°é</li> |
| | | <li class="size">æä»¶å¤§å°(MB)</li> |
| | | </ul> |
| | | <div class="scroolData"> |
| | | <vue-seamless-scroll |
| | | :data="tableData" |
| | | class="ClassScroll" |
| | | :class-option="defaultOption" |
| | | > |
| | | <ul class="item"> |
| | | <li v-for="(item, index) in tableData" :key="index"> |
| | | <span class="title"> |
| | | <div>{{ item.index }}</div></span |
| | | > |
| | | <span class="name" :title="item.name">{{ |
| | | item.name.substring(0, 15) |
| | | }}</span> |
| | | <span class="num">{{ item.num || 0 }}</span> |
| | | <span class="size">{{ item.size || 0 }}</span> |
| | | </li> |
| | | </ul> |
| | | </vue-seamless-scroll> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- <dv-scroll-board :config="config" style="width: 330px; height: 220px" /> --> |
| | | <!-- <el-scrollbar class="scrollbar"> |
| | | <el-table |
| | | :data="tableData" |
| | | :row-style="{ background: 'rgba(135,180,248,0.10)' }" |
| | | :cell-style="{ background: 'rgba(135,180,248,0.10)' }" |
| | | :header-row-style="{ |
| | | background: 'rgba(57,128,236,0.29)', |
| | | color: '#fff', |
| | | }" |
| | | :header-cell-style="{ |
| | | background: 'rgba(57,128,236,0.29)', |
| | | color: '#fff', |
| | | }" |
| | | > |
| | | <el-table-column prop="index" label="ç¼å·" width="50"> |
| | | <template slot-scope="scope"> |
| | | <div |
| | | style=" |
| | | background: rgba(180, 188, 235, 0.25); |
| | | text-align: center; |
| | | " |
| | | > |
| | | {{ scope.row.index }} |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" prop="name" label="åç§°"> |
| | | <template slot-scope="scope"> |
| | | <div |
| | | style=" |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | white-space: nowrap; |
| | | " |
| | | :title="scope.row.name" |
| | | > |
| | | {{ scope.row.name }} |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="num" label="æä»¶æ°" width="70"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-scrollbar> --> |
| | | </template> |
| | | |
| | | <script> |
| | | import vueSeamlessScroll from "vue-seamless-scroll" |
| | | import { countDataStorage, countLargeCategories } from "@/api/screen.js" |
| | | export default { |
| | | components: { |
| | | vueSeamlessScroll, |
| | | }, |
| | | data() { |
| | | return { |
| | | tableData: [ |
| | | { |
| | | date: "2016-05-02", |
| | | name: "çå°è", |
| | | address: "䏿µ·å¸æ®éåºéæ²æ±è·¯ 1518 å·", |
| | | }, |
| | | { |
| | | date: "2016-05-04", |
| | | name: "çå°è", |
| | | address: "䏿µ·å¸æ®éåºéæ²æ±è·¯ 1517 å¼", |
| | | }, |
| | | { |
| | | date: "2016-05-01", |
| | | name: "çå°è", |
| | | address: "䏿µ·å¸æ®éåºéæ²æ±è·¯ 1519 å¼", |
| | | }, |
| | | { |
| | | date: "2016-05-03", |
| | | name: "çå°è", |
| | | address: "䏿µ·å¸æ®éåºéæ²æ±è·¯ 1516 å¼", |
| | | }, |
| | | ], |
| | | config: { |
| | | header: ["ç¼å·", "åç§°", "æä»¶æ°"], |
| | | data: [ |
| | | ["è¡1å1", "è¡1å2", "è¡1å3"], |
| | | ["è¡2å1", "è¡2å2", "è¡2å3"], |
| | | ["è¡3å1", "è¡3å2", "è¡3å3"], |
| | | ["è¡4å1", "è¡4å2", "è¡4å3"], |
| | | ["è¡5å1", "è¡5å2", "è¡5å3"], |
| | | ["è¡6å1", "è¡6å2", "è¡6å3"], |
| | | ["è¡7å1", "è¡7å2", "è¡7å3"], |
| | | ["è¡8å1", "è¡8å2", "è¡8å3"], |
| | | ["è¡9å1", "è¡9å2", "è¡9å3"], |
| | | ["è¡10å1", "è¡10å2", "è¡10å3"], |
| | | ], |
| | | columnWidth: [40, 300, 50], |
| | | align: ["center"], |
| | | carousel: "page", |
| | | }, |
| | | config1: { |
| | | number: [0], |
| | | content: "{nt}个", |
| | | style: { |
| | | fontSize: 12, |
| | | fill: "#00baff", |
| | | }, |
| | | }, |
| | | } |
| | | }, |
| | | computed: { |
| | | defaultOption() { |
| | | return { |
| | | step: 0.2, // æ°å¼è¶å¤§é度æ»å¨è¶å¿« |
| | | limitMoveNum: this.tableData.length, // å¼å§æ ç¼æ»å¨çæ°æ®é this.dataList.length |
| | | hoverStop: true, // æ¯å¦å¼å¯é¼ æ æ¬åstop |
| | | direction: 1, // 0åä¸ 1åä¸ 2åå·¦ 3åå³ |
| | | openWatch: true, // å¼å¯æ°æ®å®æ¶çæ§å·æ°dom |
| | | singleHeight: 0, // 忥è¿å¨åæ¢çé«åº¦(é»è®¤å¼0æ¯æ ç¼ä¸åæ¢çæ»å¨) direction => 0/1 |
| | | singleWidth: 0, // 忥è¿å¨åæ¢ç宽度(é»è®¤å¼0æ¯æ ç¼ä¸åæ¢çæ»å¨) direction => 2/3 |
| | | waitTime: 1000, // 忥è¿å¨åæ¢çæ¶é´(é»è®¤å¼1000ms) |
| | | } |
| | | }, |
| | | }, |
| | | |
| | | created() { |
| | | this.initTable() |
| | | }, |
| | | methods: { |
| | | async initTable() { |
| | | const res = await countLargeCategories() |
| | | if (res.code == 200) { |
| | | let count = 0 |
| | | this.tableData = res.result.map((item, i) => { |
| | | count += item.count |
| | | return { |
| | | index: i + 1, |
| | | name: item.name, |
| | | num: item.count, |
| | | sizes: item.sizes, |
| | | } |
| | | }) |
| | | this.config1.number = [count] |
| | | this.config1 = { |
| | | ...this.config1, |
| | | } |
| | | } |
| | | }, |
| | | }, |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .data-storage { |
| | | height: calc(100% - 30px); |
| | | width: 100%; |
| | | } |
| | | |
| | | .data-storage__header { |
| | | height: 40px; |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: row; |
| | | justify-content: space-between; |
| | | |
| | | .text { |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | |
| | | .title { |
| | | font-family: Source Han Sans CN, Source Han Sans CN-Regular; |
| | | color: #ffffff; |
| | | } |
| | | |
| | | .img { |
| | | margin-right: 4px; |
| | | width: 16px; |
| | | height: 16px; |
| | | } |
| | | |
| | | .num { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | } |
| | | } |
| | | |
| | | .data-storage__content { |
| | | height: calc(100% - 40px); |
| | | width: 100%; |
| | | |
| | | .contentTitle { |
| | | height: 40px; |
| | | width: 100%; |
| | | display: flex; |
| | | background-color: rgba(52, 78, 147, 0.5); |
| | | flex-direction: row; |
| | | |
| | | li { |
| | | align-items: center; |
| | | justify-content: space-around; |
| | | color: #ffffff; |
| | | } |
| | | |
| | | .title { |
| | | width: 15%; |
| | | height: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | } |
| | | |
| | | .name { |
| | | width: 60%; |
| | | height: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | } |
| | | |
| | | .num { |
| | | width: 25%; |
| | | height: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .scroolData { |
| | | height: calc(100% - 40px); |
| | | width: 100%; |
| | | overflow: hidden; |
| | | } |
| | | .ClassScroll { |
| | | height: 100%; |
| | | width: 100%; |
| | | |
| | | .item { |
| | | width: 100%; |
| | | height: 100%; |
| | | color: #ffffff; |
| | | |
| | | li { |
| | | height: 40px; |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: row; |
| | | align-items: center; |
| | | justify-content: space-around; |
| | | |
| | | .title { |
| | | width: 15%; |
| | | height: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | |
| | | div { |
| | | height: 20px; |
| | | width: 20px; |
| | | background-color: #495477; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | } |
| | | } |
| | | |
| | | .name { |
| | | width: 50%; |
| | | height: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | } |
| | | |
| | | .num { |
| | | width: 25%; |
| | | height: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | } |
| | | .size { |
| | | width: 25%; |
| | | height: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | // .data-storage { |
| | | // margin: 10px; |
| | | // width: 377px; |
| | | |
| | | // &__header { |
| | | // margin-bottom: 10px; |
| | | // display: flex; |
| | | // align-items: center; |
| | | // justify-content: space-between; |
| | | // height: 20px; |
| | | // width: 340px; |
| | | // box-sizing: border-box; |
| | | |
| | | // .text { |
| | | // display: flex; |
| | | // align-items: center; |
| | | // } |
| | | |
| | | // .title { |
| | | // font-family: Source Han Sans CN, Source Han Sans CN-Regular; |
| | | // color: #ffffff; |
| | | // } |
| | | |
| | | // .img { |
| | | // margin-right: 4px; |
| | | |
| | | // width: 16px; |
| | | // height: 16px; |
| | | // } |
| | | |
| | | // .value { |
| | | // text-align: center; |
| | | // color: #ffffff; |
| | | // width: 16px; |
| | | // height: 20px; |
| | | // background: url("~@/assets/img/Screen/numBg.png"); |
| | | // background-size: 100% 100%; |
| | | // } |
| | | // } |
| | | |
| | | // &__content { |
| | | // width: 95%; |
| | | // height: 220px; |
| | | // } |
| | | // } |
| | | // |
| | | </style> |
| | | |
| | | <style lang="scss"> |
| | | // .data-storage { |
| | | // .index-wrap { |
| | | // margin: 0 auto; |
| | | // width: 14px; |
| | | // height: 14px; |
| | | // background: rgba(180, 188, 235, 0.25); |
| | | // } |
| | | |
| | | // .scrollbar { |
| | | // width: 100%; |
| | | // overflow-x: hidden; |
| | | // height: 200px; |
| | | |
| | | // .el-scrollbar__wrap { |
| | | // overflow-x: hidden; |
| | | // } |
| | | |
| | | // .el-table { |
| | | // height: 100%; |
| | | // width: 100%; |
| | | // background-color: transparent; |
| | | // color: #fff; |
| | | // } |
| | | |
| | | // .el-table th.el-table__cell.is-leaf, |
| | | // .el-table td.el-table__cell { |
| | | // border: none; |
| | | // } |
| | | |
| | | // .el-table--group::after, |
| | | // .el-table--border::after, |
| | | // .el-table::before { |
| | | // border: none; |
| | | // } |
| | | |
| | | // .el-table::before { |
| | | // height: 0; |
| | | // } |
| | | // } |
| | | // } |
| | | </style> |
| | |
| | | |
| | | <script> |
| | | import * as echarts from "echarts" |
| | | import { countFileFormat } from "@/api/screen.js" |
| | | import { countFileFormat, countProjectType } from "@/api/screen.js" |
| | | export default { |
| | | props: { |
| | | params: { |
| | | type: Object, |
| | | default: () => null, |
| | | }, |
| | | }, |
| | | data() { |
| | | return { |
| | | option: {}, |
| | | } |
| | | }, |
| | | watch: { |
| | | params : { |
| | | deep: true, |
| | | immediate: true, |
| | | handler(newVal) { |
| | | this.initChart() |
| | | }, |
| | | }, |
| | | }, |
| | | mounted() { |
| | | this.initChart() |
| | |
| | | value: 20, |
| | | }, |
| | | ] |
| | | const res = await countFileFormat() |
| | | const res = await countProjectType(this.params) |
| | | if (res.code == 200) { |
| | | data = res.result.map(item => { |
| | | return { |
| | |
| | | let option = { |
| | | backgroundColor: "transparent", |
| | | title: { |
| | | text: "æå¡ç±»åæ»æ°é", |
| | | text: "ç¨æ·è®¿é®æ»é", |
| | | subtext: count, |
| | | textStyle: { |
| | | color: "#fff", |
| | |
| | | <template> |
| | | <div class="projectintroduction"> |
| | | <div class="item"> |
| | | <div class="itemName">项ç®åç§°:</div> |
| | | <div class="itemValue" :title="result.projname">{{ result.projname.length>15?result.projname.substring(0,15):result.projname }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="itemName">项ç®ç¶æ:</div> |
| | | <div class="itemValue">{{ result.projstate }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="itemName">项ç®ç§ç±»:</div> |
| | | <div class="itemValue">{{ result.projtype }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="itemName">æå±é¨é¨:</div> |
| | | <div class="itemValue">{{ result.corpname }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="itemName">å¯å¨æ¶é´:</div> |
| | | <div class="itemValue">{{ parseTime(result.createtime) }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="itemName">å·¥ç¨å
容:</div> |
| | | <div class="itemValue">{{ result.contents.length>15? result.contents.substring(0,15): result.contents }}</div> |
| | | </div> |
| | | <div class="projectintroduction"> |
| | | <div class="item"> |
| | | <div class="itemName">项ç®åç§°:</div> |
| | | <div class="itemValue" :title="result.projname"> |
| | | {{ |
| | | result.projname.length > 15 |
| | | ? result.projname.substring(0, 15) |
| | | : result.projname |
| | | }} |
| | | </div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="itemName">项ç®ç¶æ:</div> |
| | | <div class="itemValue">{{ result.projstate }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="itemName">项ç®ç§ç±»:</div> |
| | | <div class="itemValue">{{ result.projtype }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="itemName">æå±é¨é¨:</div> |
| | | <div class="itemValue">{{ result.corpname }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="itemName">å¯å¨æ¶é´:</div> |
| | | <div class="itemValue">{{ parseTime(result.createtime) }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="itemName">å·¥ç¨å
容:</div> |
| | | <div class="itemValue"> |
| | | {{ |
| | | result.contents.length > 15 |
| | | ? result.contents.substring(0, 15) |
| | | : result.contents |
| | | }} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import { selectProjectInfo } from "@/api/screen.js" |
| | | export default { |
| | | data() { |
| | | return { |
| | | result: |
| | | { |
| | | "eventid": "4dfd814a-a262-4a93-880b-5ef488883a35", |
| | | "country": "ä¸å½", |
| | | "projstate": "æ½å·¥ä¸", |
| | | "createtime": 1675071993161, |
| | | "gid": 38, |
| | | "conperiod": "24", |
| | | "datastatus": null, |
| | | "geom": "01010000208A110000925A28999C225C40F1811DFF05364040", |
| | | "createuser": 1, |
| | | "parentid": null, |
| | | "verid": 0, |
| | | "province": "æ¹åç", |
| | | "projname": "西æ°ä¸è¾ä¸çº¿ï¼ä¸å«-æ£é³ï¼", |
| | | "contents": "管é线路æ½å·¥", |
| | | "projtype": "管线æ½å·¥", |
| | | "location": "æ¦æ±", |
| | | "dirid": "03", |
| | | "depid": null, |
| | | "corpname": "管é设计é¢", |
| | | "department": "åå¯é¨é¨", |
| | | "updatetime": 1675072198376, |
| | | "belongsid": null, |
| | | "remarks": "æµè¯ç¨ï¼å
容èæ", |
| | | "updateuser": 1 |
| | | }, |
| | | } |
| | | }, |
| | | methods: { |
| | | //è·åæ¶é´ |
| | | parseTime(timestamp){ |
| | | var date = new Date(timestamp);//æ¶é´æ³ä¸º10ä½é*1000ï¼æ¶é´æ³ä¸º13ä½çè¯ä¸éä¹1000 |
| | | var Y = date.getFullYear() + '-'; |
| | | var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-'; |
| | | var D = (date.getDate() < 10 ? '0'+date.getDate() : date.getDate()) + ' '; |
| | | let strDate = Y+M+D; |
| | | return strDate; |
| | | } |
| | | |
| | | data() { |
| | | return { |
| | | result: { |
| | | eventid: "4dfd814a-a262-4a93-880b-5ef488883a35", |
| | | country: "ä¸å½", |
| | | projstate: "æ½å·¥ä¸", |
| | | createtime: 1675071993161, |
| | | gid: 38, |
| | | conperiod: "24", |
| | | datastatus: null, |
| | | geom: "01010000208A110000925A28999C225C40F1811DFF05364040", |
| | | createuser: 1, |
| | | parentid: null, |
| | | verid: 0, |
| | | province: "æ¹åç", |
| | | projname: "西æ°ä¸è¾ä¸çº¿ï¼ä¸å«-æ£é³ï¼", |
| | | contents: "管é线路æ½å·¥", |
| | | projtype: "管线æ½å·¥", |
| | | location: "æ¦æ±", |
| | | dirid: "03", |
| | | depid: null, |
| | | corpname: "管é设计é¢", |
| | | department: "åå¯é¨é¨", |
| | | updatetime: 1675072198376, |
| | | belongsid: null, |
| | | remarks: "æµè¯ç¨ï¼å
容èæ", |
| | | updateuser: 1, |
| | | }, |
| | | } |
| | | |
| | | }, |
| | | created() { |
| | | this.$bus.$on("changeProjectCode", code => { |
| | | let params = { |
| | | projectCode: code, |
| | | } |
| | | this.getDataList(params) |
| | | }) |
| | | }, |
| | | methods: { |
| | | async getDataList(params) { |
| | | const res = await selectProjectInfo(params) |
| | | if (res.code == 200) { |
| | | this.result = res.result |
| | | } |
| | | }, |
| | | //è·åæ¶é´ |
| | | parseTime(timestamp) { |
| | | var date = new Date(timestamp) //æ¶é´æ³ä¸º10ä½é*1000ï¼æ¶é´æ³ä¸º13ä½çè¯ä¸éä¹1000 |
| | | var Y = date.getFullYear() + "-" |
| | | var M = |
| | | (date.getMonth() + 1 < 10 |
| | | ? "0" + (date.getMonth() + 1) |
| | | : date.getMonth() + 1) + "-" |
| | | var D = |
| | | (date.getDate() < 10 ? "0" + date.getDate() : date.getDate()) + " " |
| | | let strDate = Y + M + D |
| | | return strDate |
| | | }, |
| | | }, |
| | | } |
| | | </script> |
| | | <style lang="scss"> |
| | | .projectintroduction { |
| | | height: calc(100% - 30px); |
| | | width: 100%; |
| | | .item{ |
| | | margin: 5px; |
| | | height: 30px; |
| | | display: flex; |
| | | flex-direction: row; |
| | | border-bottom: dotted 1px rgba(48,135,214,.2); |
| | | .itemName{ |
| | | width: 40%; |
| | | height: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | color: #fff; |
| | | } |
| | | .itemValue{ |
| | | width: 60%; |
| | | height: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: flex-start; |
| | | color: #9ED2F5; |
| | | } |
| | | height: calc(100% - 30px); |
| | | width: 100%; |
| | | .item { |
| | | margin: 5px; |
| | | height: 30px; |
| | | display: flex; |
| | | flex-direction: row; |
| | | border-bottom: dotted 1px rgba(48, 135, 214, 0.2); |
| | | .itemName { |
| | | width: 40%; |
| | | height: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | color: #fff; |
| | | } |
| | | .itemValue { |
| | | width: 60%; |
| | | height: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: flex-start; |
| | | color: #9ed2f5; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | | </style> |
| | |
| | | :style="{ width: leftWidth, left: leftWidth == '22%' ? '-19px' : '0' }" |
| | | ref="mapleft" |
| | | ></left> |
| | | |
| | | <project-tree class="project-tree" v-if="ProjectreeDisplay"></project-tree> |
| | | |
| | | <right |
| | | class="mapright" |
| | | :style="{ width: rightWidth }" |
| | |
| | | import left from "@/components/Screen/left.vue" |
| | | import right from "../../components/Screen/right.vue" |
| | | import bottom from "../../components/Screen/bottom.vue" |
| | | |
| | | import ProjectTree from "../../components/Screen/ProjectTree.vue" |
| | | import axios from "axios" |
| | | export default { |
| | | components: { mapsdk, top, left, right, bottom }, |
| | | components: { mapsdk, top, left, right, bottom, ProjectTree }, |
| | | data() { |
| | | return { |
| | | leftWidth: "22%", |
| | | rightWidth: "22%", |
| | | leftTree: false, |
| | | currTree: false |
| | | currTree: false, |
| | | ProjectreeDisplay: false, |
| | | } |
| | | }, |
| | | mounted() {}, |
| | | created() {}, |
| | | created() { |
| | | this.$bus.$on("changeTree", key => { |
| | | this.ProjectreeDisplay = key |
| | | }) |
| | | }, |
| | | methods: { |
| | | //ä¿®æ¹å·¦ä¾§å®½åº¦ |
| | | ChangeWidth(parm) { |
| | |
| | | width: 100%; |
| | | z-index: 999; |
| | | } |
| | | .project-tree { |
| | | position: absolute; |
| | | top: 90px; |
| | | right: 22%; |
| | | width: 15%; |
| | | height: calc(100% - 180px); |
| | | z-index: 999; |
| | | } |
| | | </style> |
| | | |
| | | <style lang="less"> |