From 38bcd6306f20787e394347a34e50fcf80b265fc6 Mon Sep 17 00:00:00 2001 From: 陈泽平 <chenzeping> Date: 星期一, 31 五月 2021 14:53:35 +0800 Subject: [PATCH] 企业应急-事件上报-事发位置问题修改 --- src/components/base-page/enterprise-emergency/events-reported/ReportLocationSection.vue | 532 ++++++++++++++++++++++++++++------------------------------ 1 files changed, 258 insertions(+), 274 deletions(-) diff --git a/src/components/base-page/enterprise-emergency/events-reported/ReportLocationSection.vue b/src/components/base-page/enterprise-emergency/events-reported/ReportLocationSection.vue index b7e9d69..b1fe66d 100644 --- a/src/components/base-page/enterprise-emergency/events-reported/ReportLocationSection.vue +++ b/src/components/base-page/enterprise-emergency/events-reported/ReportLocationSection.vue @@ -1,149 +1,156 @@ <template> - <div class="ReportLocationSection"> - <el-form :model="form" label-width="90px"> - <el-row class="pipe-line-search"> - <el-col :span="12"> - <el-form-item label="绠$嚎鍚嶇О:"> - <el-input v-model="form.pipeName"> - <el-button style="padding-right:10px;" slot="suffix" type="text" @click="pipelineSearch"> - <img src="../../../../../public/assets/images/map/emergency/search.png" alt=""> - </el-button> - </el-input> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-button type="primary" size="small" icon="el-icon-location-outline" @click="pipeClickLocation">瀹氫綅 - </el-button> - </el-col> - </el-row> - <el-row> - <el-col :span="12"> - <el-form-item label="绠℃缂栫爜:"> - <el-input v-model="form.sectionName" disabled></el-input> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="闄勫睘璁炬柦:"> - <el-input v-model="form.affiliatedFacilities" disabled></el-input> - </el-form-item> - </el-col> - </el-row> - </el-form> - <div class="pipe-table" v-show="this.tableList.length>=1"> - <el-card> - <span class="fixed-style" style="display: block">绠$嚎鍚嶇О</span> - <el-table - :data="tableList" - border - height="120" - max-height="140" - @row-click="sectionShowClick" - style="width: 100%"> - <el-table-column - label="搴忓彿" - type="index" - > - </el-table-column> - <el-table-column - show-overflow-tooltip - prop="properties.pipename" - label="绠$嚎鍚嶇О"> - </el-table-column> - <el-table-column - show-overflow-tooltip - prop="properties.subchaname" - label="鏀嚎鍚嶇О"> - </el-table-column> - <el-table-column - show-overflow-tooltip - prop="properties.mediumtype" - label="绠$嚎绫诲瀷"> - </el-table-column> - <el-table-column width="40" fixed="right" label="鎿嶄綔"> - <template slot-scope="scope"> - <el-button @click="localAdr(scope.row)" type="text" size="small">瀹氫綅</el-button> - </template> - </el-table-column> - </el-table> - </el-card> - <el-card> - <span class="fixed-style" style="display: block">绠℃鍒楄〃</span> - <el-table - :data="tableListSection" - border - @row-click="sectionCode" - height="100" - max-height="100" - style="width: 100%"> - <el-table-column - show-overflow-tooltip - prop="properties.pipesegcode" - label="绠℃缂栫爜"> - </el-table-column> - <el-table-column - show-overflow-tooltip - prop="properties.startpointnumber" - label="璧风偣鎺㈡煡鍙�"> - </el-table-column> - <el-table-column - show-overflow-tooltip - prop="properties.endpointnumber" - label="缁堢偣鎺㈡煡鍙�"> - </el-table-column> - <el-table-column - show-overflow-tooltip - prop="properties.material" - label="鏉愯川"> - </el-table-column> - <el-table-column - show-overflow-tooltip - prop="properties.embeddingmode" - label="鍩嬭鏂瑰紡"> - </el-table-column> - <el-table-column width="40" fixed="right" label="鎿嶄綔"> - <template slot-scope="scope"> - <el-button @click="localAdr(scope.row)" type="text" size="small">瀹氫綅</el-button> - </template> - </el-table-column> - </el-table> - <span class="fixed-style" style="display: block">闄勫睘璁炬柦鍒楄〃</span> - <el-table - :data="tableDataAffFac" - border - @row-click="affFacName" - height="120" - max-height="140" - style="width: 100%"> - <el-table-column - show-overflow-tooltip - width="150" - prop="properties.pipecode" - label="绠$嚎缂栧彿"> - </el-table-column> - <el-table-column - show-overflow-tooltip - width="150" - prop="properties.name" - label="闄勫睘璁炬柦鍚嶇О"> - </el-table-column> - <el-table-column - width="150" - show-overflow-tooltip - prop="properties.type" - label="璁炬柦绫诲瀷"> - </el-table-column> - <el-table-column width="90" fixed="right" label="鎿嶄綔"> - <template slot-scope="scope"> - <el-button @click="localAdr(scope.row)" type="text" size="small">瀹氫綅</el-button> - </template> - </el-table-column> - </el-table> - </el-card> - </div> - <el-row style="text-align: right;margin: 10px"> - <el-button type="primary" @click="confirm">纭</el-button> - </el-row> + <div class="ReportLocationSection"> + <el-form :model="form" label-width="120px"> + <el-row class="pipe-line-search"> + <el-col :span="18"> + <el-form-item label="绠$嚎鍚嶇О:"> + <el-input v-model="form.pipeName" @change="pipelineSearch"> + <el-button style="padding-right:10px;" slot="suffix" type="text" @click="pipelineSearch"> + <img src="../../../../../public/assets/images/map/emergency/search.png" alt=""> + </el-button> + </el-input> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-button type="primary" size="small" icon="el-icon-location-outline" @click="pipeClickLocation">瀹氫綅 + </el-button> + </el-col> + </el-row> + <el-row> + <el-col :span="18"> + <el-form-item label="绠℃缂�:"> + <el-input v-model="form.sectionName" disabled></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="12"> + <el-form-item label="闄勫睘璁炬柦缂栫爜:"> + <el-input v-model="form.affiliatedFacilities" disabled></el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="闄勫睘璁炬柦绫诲瀷:"> + <el-input v-model="form.affiliatedFacilitiesCode" disabled></el-input> + </el-form-item> + </el-col> + </el-row> + </el-form> + <div class="pipe-table" v-show="this.tableList.length>=1"> + <el-card> + <span class="fixed-style" style="display: block">绠$嚎鍚嶇О</span> + <el-table + :data="tableList" + border + height="120" + max-height="140" + @row-click="sectionShowClick" + style="width: 100%"> + <el-table-column + label="搴忓彿" + type="index" + > + </el-table-column> + <el-table-column + show-overflow-tooltip + prop="properties.pipename" + label="绠$嚎鍚嶇О"> + </el-table-column> + <el-table-column + show-overflow-tooltip + prop="properties.subchaname" + label="鏀嚎鍚嶇О"> + </el-table-column> + <el-table-column + show-overflow-tooltip + prop="properties.mediumtype" + label="绠$嚎绫诲瀷"> + </el-table-column> + <el-table-column width="40" fixed="right" label="鎿嶄綔"> + <template slot-scope="scope"> + <el-button @click="localAdr(scope.row)" type="text" size="small">瀹氫綅</el-button> + </template> + </el-table-column> + </el-table> + </el-card> + <el-card> + <span class="fixed-style" style="display: block">绠℃鍒楄〃</span> + <el-table + :data="tableListSection" + border + @row-click="sectionCode" + height="100" + max-height="100" + style="width: 100%"> + <el-table-column + show-overflow-tooltip + prop="properties.pipesegcode" + label="绠℃缂栫爜"> + </el-table-column> + <el-table-column + show-overflow-tooltip + prop="properties.startpointnumber" + label="璧风偣鎺㈡煡鍙�"> + </el-table-column> + <el-table-column + show-overflow-tooltip + prop="properties.endpointnumber" + label="缁堢偣鎺㈡煡鍙�"> + </el-table-column> + <el-table-column + show-overflow-tooltip + prop="properties.material" + label="鏉愯川"> + </el-table-column> + <el-table-column + show-overflow-tooltip + prop="properties.embeddingmode" + label="鍩嬭鏂瑰紡"> + </el-table-column> + <el-table-column width="40" fixed="right" label="鎿嶄綔"> + <template slot-scope="scope"> + <el-button @click="localAdr(scope.row)" type="text" size="small">瀹氫綅</el-button> + </template> + </el-table-column> + </el-table> + <span class="fixed-style" style="display: block">闄勫睘璁炬柦鍒楄〃</span> + <el-table + :data="tableDataAffFac" + border + @row-click="affFacName" + height="120" + max-height="140" + style="width: 100%"> + <el-table-column + show-overflow-tooltip + width="150" + prop="properties.pipecode" + label="绠$嚎缂栧彿"> + </el-table-column> + <el-table-column + show-overflow-tooltip + width="150" + prop="properties.name" + label="闄勫睘璁炬柦鍚嶇О"> + </el-table-column> + <el-table-column + width="150" + show-overflow-tooltip + prop="properties.type" + label="璁炬柦绫诲瀷"> + </el-table-column> + <el-table-column width="90" fixed="right" label="鎿嶄綔"> + <template slot-scope="scope"> + <el-button @click="localAdr(scope.row)" type="text" size="small">瀹氫綅</el-button> + </template> + </el-table-column> + </el-table> + </el-card> </div> + <el-row style="text-align: right;margin: 10px"> + <el-button type="primary" @click="confirm" size="small">纭</el-button> + </el-row> + </div> </template> <script> @@ -152,6 +159,7 @@ import AjaxUtils from '@utils/AjaxUtils' import eventBus from '../../../../eventBus' import { WMS_URL } from '../../../../conf/Constants' +import { publicLocationStore } from './ReportLocation' export default { name: 'ReportLocationSection', @@ -160,7 +168,8 @@ form: { pipeName: '', sectionName: '', - affiliatedFacilities: '' + affiliatedFacilities: '', + affiliatedFacilitiesCode: '' }, // 绠$嚎鏌ヨ鏁版嵁鍒楄〃 tableList: [], @@ -196,57 +205,73 @@ this.tableList = res.features } this.wfsHelper = new WfsHelper() - this.form.pipeName = '' + // this.form.pipeName = '' this.form.sectionName = '' this.form.affiliatedFacilities = '' + this.form.affiliatedFacilitiesCode = '' }, // 鐐瑰嚮绠$嚎鍒楄〃 灞曠ず绠℃鍐呭 鍜岄檮灞炶鏂藉唴瀹� - async sectionShowClick (val) { - console.log(val) - // 濡傛灉 SectionAndAffFacTableJudge === true 鏄悳绱㈡暟鎹粨鏋滅殑鍒楄〃 鍙互杩涜 绠℃ 闄勫睘璁炬柦浜や簰 鐐瑰嚮瀹氫綅鏌ヨ缁撴灉 涓嶈繘琛岀偣鍑讳氦浜� + sectionShowClick (val) { + // console.log(val) + // this.SectionAndAffFacTableJudge = true if (this.SectionAndAffFacTableJudge === true) { - // 绠℃鏌ヨ - const sectionNameSearch = val.properties.pipename - this.tableListSection = [] - this.wfsHelper.clearFilter() - this.wfsHelper.setTypeName(['sewer:pipesegment']) - this.wfsHelper.addLike('pipename', sectionNameSearch) - this.wfsHelper.addEquals('pipename', '\'' + sectionNameSearch + '\'') - const res = await AjaxUtils.GetDataAsynByUrl(this.wfsHelper.getUrl(), {}) - // console.log(res) - if (res instanceof Object && Object.prototype.hasOwnProperty.call(res, 'features')) { - this.tableListSection = res.features - } - this.wfsHelper = new WfsHelper() - // 闄勫睘璁炬柦鏌ヨ - this.tableDataAffFac = [] - const AffFacSearch = val.properties.pipecode - console.log(AffFacSearch) - this.wfsHelper.clearFilter() - this.wfsHelper.setTypeName(['sewer:view_pipeline']) - this.wfsHelper.addLike('pipecode', AffFacSearch) - // this.wfsHelper.addEquals('type', '\'' + AffFacSearch + '\'') - const resAffFac = await AjaxUtils.GetDataAsynByUrl(this.wfsHelper.getUrl(), {}) - console.log(resAffFac) - if (resAffFac instanceof Object && Object.prototype.hasOwnProperty.call(resAffFac, 'features')) { - // for (let i = 0; i < resAffFac.features.length; i++) { - // // console.log(resAffFac.features[i]) - // this.tableDataAffFac.push(resAffFac.features[i].properties) - // } - this.tableDataAffFac = resAffFac.features - } - this.wfsHelper = new WfsHelper() + this.searchSection(val) + this.searchAffFacData(val) + } + }, + // 绠℃鏌ヨ + async searchSection (val) { + const sectionNameSearch = val.properties.pipename + this.tableListSection = [] + this.wfsHelper.clearFilter() + this.wfsHelper.setTypeName(['sewer:pipesegment']) + this.wfsHelper.addLike('pipename', sectionNameSearch) + this.wfsHelper.addEquals('pipename', '\'' + sectionNameSearch + '\'') + const res = await AjaxUtils.GetDataAsynByUrl(this.wfsHelper.getUrl(), {}) + // console.log(res) + if (res instanceof Object && Object.prototype.hasOwnProperty.call(res, 'features')) { + this.tableListSection = res.features + } + }, + // 闄勫睘璁炬柦鏌ヨ + async searchAffFacData (val) { + this.tableDataAffFac = [] + const AffFacSearch = val.properties.pipecode + this.wfsHelper.clearFilter() + this.wfsHelper.setTypeName(['sewer:view_pipeline']) + this.wfsHelper.addLike('pipecode', AffFacSearch) + // this.wfsHelper.addEquals('type', '\'' + AffFacSearch + '\'') + const resAffFac = await AjaxUtils.GetDataAsynByUrl(this.wfsHelper.getUrl(), {}) + console.log(resAffFac) + if (resAffFac instanceof Object && Object.prototype.hasOwnProperty.call(resAffFac, 'features')) { + this.tableDataAffFac = resAffFac.features + } + }, + // 鎼滅储鐨勫叕鍏辨柟娉曚紭鍖� + async publicSearch (searchVal, searchKeyword, searchTypeName, tableListData) { + tableListData = [] + this.wfsHelper = new WfsHelper() + this.wfsHelper.clearFilter() + this.wfsHelper.setTypeName(searchTypeName) + this.wfsHelper.addLike(searchKeyword, searchVal) + this.wfsHelper.addEquals(searchKeyword, '\'' + searchVal + '\'') + const res = await AjaxUtils.GetDataAsynByUrl(this.wfsHelper.getUrl(), {}) + // console.log(res) + if (res instanceof Object && Object.prototype.hasOwnProperty.call(res, 'features')) { + tableListData = res.features } }, // 鐐瑰嚮绠℃鍒楄〃 绠℃缂栫爜浼犻�� sectionCode (val) { // console.log(val) - this.form.sectionName = val.properties.pipecode + this.form.sectionName = val.properties.pipesegcode }, // 鐐瑰嚮闄勫睘璁炬柦鍒楄〃 绠℃缂栫爜浼犻�� affFacName (val) { - // console.log(val) + console.log(val) + // this.form.affiliatedFacilities = val.properties.code this.form.affiliatedFacilities = val.properties.name + this.form.affiliatedFacilitiesCode = val.properties.type }, // 瀹氫綅鍔熻兘 localAdr (val) { @@ -258,23 +283,27 @@ pipeClickLocation () { // 璁炬柦涓嶈繘琛� 绠$嚎琛ㄦ牸鏁版嵁鐨勭偣鍑讳氦浜� this.SectionAndAffFacTableJudge = false - // 鐐瑰嚮鑾峰彇鏁版嵁 - window.map.on('click', (e) => { - // 鐐瑰嚮鍦板浘鍏抽棴寮规 - window.mapManager.clickDialogSwitch = false - // 绠$嚎鐐瑰嚮鏁版嵁 - this.pipeData(e) - // 绠℃鐐瑰嚮鏁版嵁 - this.sectionData(e) - // 闄勫睘璁炬柦鏁版嵁 - this.affFacData(e) - // 鍏抽棴鐐瑰嚮浜嬩欢 - window.map.off('click') - }) + if (this.SectionAndAffFacTableJudge === false) { + // 鐐瑰嚮鑾峰彇鏁版嵁 + window.map.on('click', (e) => { + this.SectionAndAffFacTableJudge = false + // 鐐瑰嚮鍦板浘鍏抽棴寮规 + window.mapManager.clickDialogSwitch = false + // 绠$嚎鐐瑰嚮鏁版嵁 + this.pipeData(e) + // 绠℃鐐瑰嚮鏁版嵁 + this.sectionData(e) + // 闄勫睘璁炬柦鏁版嵁 + this.affFacData(e) + // 鍏抽棴鐐瑰嚮浜嬩欢 + window.map.off('click') + }) + } // 鏁版嵁 閲嶆柊鑾峰彇 杩涜缃┖ this.form.pipeName = '' this.form.sectionName = '' this.form.affiliatedFacilities = '' + this.form.affiliatedFacilitiesCode = '' this.tableList = [] this.tableListSection = [] this.tableDataAffFac = [] @@ -317,7 +346,7 @@ BBOX: window.map.getBounds().toBBoxString() }, defaultWmsParams) AjaxUtils.get4JsonDataByUrl(WMS_URL, wmsParams, (res) => { - console.log(res) + // console.log(res) for (let i = 0; i < res.data.features.length; i++) { dataList.push(res.data.features[i]) } @@ -327,9 +356,27 @@ confirm () { // console.log('鐐瑰嚮纭畾閫夋嫨瀹屾垚') eventBus.$emit('location-setChange', true) + // 浜嬩欢涓婃姤 浣嶇疆淇℃伅 瀛樺偍鏁版嵁搴� + const data = { + ID: '', + EventID: '', + EventPipeline: this.form.pipeName, + EventPipeSeg: this.form.sectionName, + EventAffType: this.form.affiliatedFacilitiesCode, + EventAffCode: this.form.affiliatedFacilities, + EventAffPointNum: '', + EventPosX: '', + EventPosY: '', + AcquisitionPeople: '', + AcquisitionDate: '' + } + // 閫氳繃鏂规硶 瀛樺偍鏁版嵁 杩涜 鏁版嵁搴撳瓨鍌ㄦ暟鎹� + publicLocationStore(data) + // 鏁版嵁缃┖ this.form.pipeName = '' this.form.sectionName = '' this.form.affiliatedFacilities = '' + this.form.affiliatedFacilitiesCode = '' this.tableList = [] this.tableListSection = [] this.tableDataAffFac = [] @@ -340,86 +387,23 @@ </script> <style lang="less" scoped> - /*/deep/ .el-input {*/ - /* width: 0.74353rem;*/ - /*}*/ - .pipe-line-search { - display: flex; - align-items: center; +.pipe-line-search { + display: flex; + align-items: center; - .el-button { - margin: 0 15px; - } + .el-button { + margin: 0 15px; + } +} + +.pipe-table { + + /deep/ .el-card { + .el-table { + margin: 0.05345rem auto; } + } +} - .pipe-table { - /*display: flex;*/ - /*align-items: center;*/ - /*justify-content: space-around;*/ - - /deep/ .el-card { - /*width: 1.39523rem;*/ - /*max-width: 1.39523rem;*/ - /*height: 0.9343rem;*/ - /*max-height: 0.9343rem;*/ - - .el-table { - margin: 0.05345rem auto; - } - } - } - - .fixed-style { - color: @color; - } - - /deep/ - .warnPagination { - .btn-quicknext, .btn-quickprev { - color: #e4e8f1 !important; - background-color: transparent; - // border: 1px solid #25AECD; - border-left: 1px solid #25AECD; - border-bottom: 1px solid #25AECD; - border-top: 1px solid #25AECD; - color: #e4e8f1; - } - - .el-pager li { - color: #e4e8f1; - background: transparent; - // border: 1px solid #25AECD; - border-left: 1px solid #25AECD; - border-bottom: 1px solid #25AECD; - border-top: 1px solid #25AECD; - } - - .el-pager li.active { - border-color: #25AECD; - background-color: rgba(38, 222, 253, 0.3); - color: #e4e8f1; - } - - .el-pager li:hover { - border-color: #25AECD; - background-color: rgba(38, 222, 253, 0.3); - color: #34e0ff; - } - - .btn-prev { - background-color: transparent; - // border: 1px solid #25AECD; - border-left: 1px solid #25AECD; - border-bottom: 1px solid #25AECD; - border-top: 1px solid #25AECD; - color: #e4e8f1; - } - - .btn-next { - background-color: transparent; - border: 1px solid #25AECD; - color: #e4e8f1; - } - } </style> -- Gitblit v1.8.0