| | |
| | | "ErrorMsg": "", |
| | | "DataInfo": [ |
| | | [ |
| | | 116.38927817344666, |
| | | 39.90751504898071 |
| | | 39.90751504898071, |
| | | 116.38927817344666 |
| | | ], |
| | | [ |
| | | 116.38689637184143, |
| | | 39.9088454246521 |
| | | 39.9088454246521, |
| | | 116.38689637184143 |
| | | ], |
| | | [ |
| | | 116.39344096183777, |
| | | 39.90931749343872 |
| | | 39.90931749343872, |
| | | 116.39344096183777 |
| | | ], |
| | | [ |
| | | 116.39116644859314, |
| | | 39.90489721298218 |
| | | 39.90489721298218, |
| | | 116.39116644859314 |
| | | ] |
| | | ] |
| | | } |
| | |
| | | const result = await mapApi.getSourcesPoll() |
| | | console.log(result) |
| | | const resultData = result.Result.DataInfo || [] |
| | | console.log(resultData) |
| | | // 循环遍历数据 根据进行marker 的创建 |
| | | for (let i = 0; i < resultData.length; i++) { |
| | | const polygon = L.polygon(resultData, { |
| | | // totransferData: resultData[i], |
| | | color: 'red' |
| | | }) |
| | | layer.addLayer(polygon) |
| | | } |
| | | const polygon = L.polygon(resultData, { color: 'yellow' }) |
| | | polygon.addTo(layer) |
| | | } |
| | | } |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { LayerEntEmer } from '../../../../../conf/layers/LayerEntEmer' |
| | | // import { LayerEntEmer } from '../../../../../conf/layers/LayerEntEmer' |
| | | |
| | | import ReportPopup from './ReportPopup' |
| | | |
| | | export default { |
| | | name: 'EventQuery', |
| | |
| | | { name: '金陵石化' }, |
| | | { name: '南京化学' } |
| | | ], |
| | | subItems: LayerEntEmer.layers, |
| | | subItems: ['事前阶段', '审批阶段', '事件完结'], |
| | | form: { |
| | | pipelineType: '', |
| | | dataType: '', |
| | |
| | | }, |
| | | btnAffiliatedFacilities () { |
| | | console.log('item') |
| | | window.$layer.open({ |
| | | content: { |
| | | content: ReportPopup, // 组件 |
| | | parent: this, // 父组件 |
| | | data: { // 传递的参数 |
| | | // storagePlaceId: e.layer.options.totransferData.StoragePlaceId |
| | | } |
| | | } |
| | | // title: 'title' // 标题 |
| | | }) |
| | | } |
| | | } |
| | | } |
| | |
| | | <template> |
| | | <div class="report-popup map-background" v-drag v-show="flags"> |
| | | <div class="public-bounced-title panel-title"> |
| | | <span>上报事件</span> |
| | | <i class="el-icon-circle-close" @click="closePopup"></i> |
| | | </div> |
| | | <div class="report-content"> |
| | | <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="search-form"> |
| | | <el-form-item label="事件名称" prop="nameEvent" class="input-event-name"> |
| | | <el-input v-model="ruleForm.nameEvent" placeholder="将事件命名"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="事件类型" prop="eventType"> |
| | | <el-radio-group v-model="ruleForm.eventType"> |
| | | <el-radio v-for="(item,index) in ruleForm.eventTypeList" :label="item.value" :key="index"> |
| | | <span>{{ item.name }}</span> |
| | | </el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="事件等级" prop="eventLevel"> |
| | | <el-radio-group v-model="ruleForm.eventLevel"> |
| | | <el-radio v-for="(item,index) in ruleForm.eventLevelList" :label="item.value" :key="index"> |
| | | <span>{{ item.name }}</span> |
| | | </el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="事发单位" prop="region"> |
| | | <el-select v-model="ruleForm.region" placeholder="请选择活动区域"> |
| | | <el-option label="单位位置1" value="shanghai"></el-option> |
| | | <el-option label="单位位置2" value="beijing"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="事发时间" prop="region" class="search-panel-item"> |
| | | <el-date-picker |
| | | v-model="ruleForm.atTime" |
| | | type="datetime" |
| | | placeholder="选择日期时间"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="事发位置" prop="region" class="search-panel-item"> |
| | | <el-input v-model="ruleForm.name" class="report-input"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="位置描述" prop="name"> |
| | | <el-input v-model="ruleForm.name" class="report-input"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="管线名称" prop="region" class="search-panel-item"> |
| | | <el-input v-model="ruleForm.name" class="report-input"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="管线类型" prop="name"> |
| | | <label>自动带出不可修改</label> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-form-item> |
| | | <el-upload |
| | | class="upload-demo" |
| | | action="https://jsonplaceholder.typicode.com/posts/" |
| | | :on-preview="handlePreview" |
| | | :on-remove="handleRemove" |
| | | :before-remove="beforeRemove" |
| | | multiple |
| | | :limit="3" |
| | | :on-exceed="handleExceed" |
| | | :file-list="fileList"> |
| | | <el-button size="small" type="primary">点击上传</el-button> |
| | | </el-upload> |
| | | </el-form-item> |
| | | <el-form-item label="消息推送" prop="beingPush"> |
| | | <el-radio-group v-model="ruleForm.beingPush"> |
| | | <el-radio v-for="(item,index) in ruleForm.beingPushList" :label="item.value" :key="index"> |
| | | <span>{{ item.name }}</span> |
| | | </el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <div v-show="wayTo"> |
| | | <el-form-item label="事件描述" prop="desc"> |
| | | <el-input type="textarea" v-model="ruleForm.desc"></el-input> |
| | | <!-- <div class="public-bounced map-background">--> |
| | | <!-- <div class="public-bounced-title panel-title">--> |
| | | <!-- <span>上报事件</span>--> |
| | | <!-- <i class="el-icon-circle-close" @click="closePopup"></i>--> |
| | | <!-- </div>--> |
| | | <div class="public-bounced-content"> |
| | | <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="search-form"> |
| | | <el-form-item label="事件名称" prop="nameEvent" class="input-event-name"> |
| | | <el-input v-model="ruleForm.nameEvent" placeholder="将事件命名"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="事件类型" prop="eventType"> |
| | | <el-radio-group v-model="ruleForm.eventType"> |
| | | <el-radio v-for="(item,index) in ruleForm.eventTypeList" :label="item.value" :key="index"> |
| | | <span>{{ item.name }}</span> |
| | | </el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="事件等级" prop="eventLevel"> |
| | | <el-radio-group v-model="ruleForm.eventLevel"> |
| | | <el-radio v-for="(item,index) in ruleForm.eventLevelList" :label="item.value" :key="index"> |
| | | <span>{{ item.name }}</span> |
| | | </el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="事发单位" prop="region"> |
| | | <el-select v-model="ruleForm.region" placeholder="请选择活动区域"> |
| | | <el-option label="单位位置1" value="shanghai"></el-option> |
| | | <el-option label="单位位置2" value="beijing"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="接收人员" prop="desc"> |
| | | <el-input type="textarea" v-model="ruleForm.desc"></el-input> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="事发时间" prop="region" class="search-panel-item"> |
| | | <el-date-picker |
| | | v-model="ruleForm.atTime" |
| | | type="datetime" |
| | | placeholder="选择日期时间"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </div> |
| | | <el-form-item> |
| | | <el-button type="primary" @click="submitForm('ruleForm')">确认</el-button> |
| | | <el-button @click="resetForm('ruleForm')">取消</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="事发位置" prop="region" class="search-panel-item"> |
| | | <el-input v-model="ruleForm.name" class="report-input"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="位置描述" prop="name"> |
| | | <el-input v-model="ruleForm.name" class="report-input"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="管线名称" prop="region" class="search-panel-item"> |
| | | <el-input v-model="ruleForm.name" class="report-input"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="管线类型" prop="name"> |
| | | <label>自动带出不可修改</label> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-form-item> |
| | | <el-upload |
| | | class="upload-demo" |
| | | action="https://jsonplaceholder.typicode.com/posts/" |
| | | :on-preview="handlePreview" |
| | | :on-remove="handleRemove" |
| | | :before-remove="beforeRemove" |
| | | multiple |
| | | :limit="3" |
| | | :on-exceed="handleExceed" |
| | | :file-list="fileList"> |
| | | <el-button size="small" type="primary">点击上传</el-button> |
| | | </el-upload> |
| | | </el-form-item> |
| | | <el-form-item label="消息推送" prop="beingPush"> |
| | | <el-radio-group v-model="ruleForm.beingPush"> |
| | | <el-radio v-for="(item,index) in ruleForm.beingPushList" :label="item.value" :key="index"> |
| | | <span>{{ item.name }}</span> |
| | | </el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <div v-show="wayTo"> |
| | | <el-form-item label="事件描述" prop="desc"> |
| | | <el-input type="textarea" v-model="ruleForm.desc"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <el-form-item label="接收人员" prop="desc"> |
| | | <el-input type="textarea" v-model="ruleForm.desc"></el-input> |
| | | </el-form-item> |
| | | </div> |
| | | <el-form-item> |
| | | <el-button type="primary" @click="submitForm('ruleForm')">确认</el-button> |
| | | <el-button @click="resetForm('ruleForm')">取消</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <!-- </div>--> |
| | | </template> |
| | | |
| | | <script> |
| | |
| | | |
| | | export default { |
| | | name: 'ReportPopup', |
| | | props: ['flags'], |
| | | data () { |
| | | return { |
| | | flag: false, |
| | |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | .report-popup { |
| | | width: 35%; |
| | | z-index: 999; |
| | | .public-bounced { |
| | | z-index: 2000; |
| | | position: absolute; |
| | | top: 15%; |
| | | left: 35%; |
| | | left: 20%; |
| | | } |
| | | |
| | | /deep/ input { |
| | |
| | | </div> |
| | | </div> |
| | | </el-scrollbar> |
| | | <ReportPopup :flags="flag"></ReportPopup> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { LayerEntEmer } from '../../../../../conf/layers/LayerEntEmer' |
| | | import ReportPopup from './ReportPopup' |
| | | // import ReportPopup from './ReportPopup' |
| | | |
| | | export default { |
| | | name: 'ResourcesQuery', |
| | | components: { |
| | | ReportPopup |
| | | }, |
| | | // components: { |
| | | // ReportPopup |
| | | // }, |
| | | data () { |
| | | return { |
| | | form: { |
| | |
| | | }, |
| | | items: [LayerEntEmer], |
| | | subItems: LayerEntEmer.layers, |
| | | searchDataDisplay: [], |
| | | flag: false |
| | | searchDataDisplay: [] |
| | | } |
| | | }, |
| | | methods: { |
| | | showthePopup () { |
| | | console.log('item') |
| | | this.flag = !this.flag |
| | | }, |
| | | handlePipelineType () { |
| | | console.log('item') |
| | |
| | | import { LayerArea } from './layers/LayerArea' |
| | | import { LayerVideo } from './layers/LayerVideo' |
| | | import { LayerPk } from './layers/LayerPk' |
| | | import { LayerEntEmer } from './layers/LayerEntEmer' |
| | | |
| | | export const LayerTopic = { |
| | | code: 'sewersTopic', |
| | |
| | | checked: false, |
| | | isShow: true, |
| | | type: 0, |
| | | layers: [LayerPollutionSources, LayerWasteWater, LayerWasteGas, LayerWasteSolid, LayerAirQuality, LayerEnvRisk, LayerSoilGroundWater, LayerPipeLines, LayerPk, LayerVideo, LayerArea] |
| | | layers: [LayerPollutionSources, LayerWasteWater, LayerWasteGas, LayerWasteSolid, LayerAirQuality, LayerEnvRisk, LayerSoilGroundWater, LayerPipeLines, LayerPk, LayerVideo, LayerArea, LayerEntEmer] |
| | | } |
| | |
| | | minZoom: 3, |
| | | maxZoom: 17, |
| | | // center: [26, 104], |
| | | // center: [34.828558921813965, 117.41676807403564], |
| | | // zoom: 5, |
| | | center: [32.25853085517883, 118.78592848777771], |
| | | zoom: 16, |
| | | center: [34.828558921813965, 117.41676807403564], |
| | | zoom: 5, |
| | | // center: [39.907214641571045, 116.39019012451172], |
| | | // zoom: 16, |
| | | worldCopyJump: true, |
| | | inertia: true, |
| | | zoomControl: false, |
| | |
| | | /** |
| | | * 企业预警 |
| | | * 企业应急 |
| | | */ |
| | | import { LayerHbss } from './LayerHbss' |
| | | import { LayerFsss } from './LayerFsss' |
| | | |
| | | import { PIPELINE_WFS } from '../Constants' |
| | | |
| | | const WFS_URL = PIPELINE_WFS |
| | | |
| | | export const LayerEntEmer = { |
| | | code: 'reportEntemeage', |
| | | name: '企业预警', |
| | | name: '企业应急', |
| | | checked: false, |
| | | type: 0, |
| | | childLayer: [LayerFsss, LayerHbss], |
| | | layers: [ |
| | | { |
| | | code: 'rainline', |
| | | name: '事前阶段', |
| | | name: '基础图层', |
| | | sname: '管网', |
| | | checked: false, |
| | | type: 0, |
| | |
| | | }, |
| | | { |
| | | code: 'accidentline', |
| | | name: '审批阶段', |
| | | name: '在线监测', |
| | | sname: '事故水', |
| | | checked: false, |
| | | // wmsLayers: 'sewer:pipeline_accident', |
| | |
| | | }, |
| | | { |
| | | code: 'oilline', |
| | | name: '事件完结', |
| | | name: '应急资源', |
| | | sname: '含油污水', |
| | | checked: false, |
| | | type: 0, |
| | | minZoom: 13, |
| | | color: '#ffaa00', |
| | | wmsLayers: 'sewer:pipeline_sewer', |
| | | // wfs: 'http://xearth.cn:6240/geoserver/sewer/wfs?typeName=sewer:pipeline&maxFeatures=500&outputFormat=application%2Fjson&cql_filter=mediumtype=\'含油污水\'', |
| | | styles: { |
| | | COLOR: '#ffaa00', |
| | | FILL_COLOR: '#ffaa00' |
| | | } |
| | | }, |
| | | { |
| | | code: 'oil', |
| | | name: '周边环境', |
| | | sname: '含油污水', |
| | | checked: false, |
| | | type: 0, |
| | |
| | | const drag = Vue.directive('drag', { |
| | | bind (el, binding, vnode, oldVnode) { |
| | | const dialogHeaderEl = el.querySelector('.public-bounced-title') |
| | | dialogHeaderEl.style.cursor = 'move' |
| | | dialogHeaderEl.onmousedown = function (e) { |
| | | var distX = e.pageX - el.offsetLeft |
| | | var distY = e.pageY - el.offsetTop |