From 7d57b0fef0f220dfe7c868ce1113a7ce6eb6c468 Mon Sep 17 00:00:00 2001 From: suerprisePlus <15810472099@163.com> Date: 星期三, 21 八月 2024 11:23:06 +0800 Subject: [PATCH] 添加本地矢量地图服务,初始化视角切换 --- src/views/dataManager/equipMante/AddOrUpdate.vue | 257 ++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 184 insertions(+), 73 deletions(-) diff --git a/src/views/dataManager/equipMante/AddOrUpdate.vue b/src/views/dataManager/equipMante/AddOrUpdate.vue index 1c5b69e..8cdd85b 100644 --- a/src/views/dataManager/equipMante/AddOrUpdate.vue +++ b/src/views/dataManager/equipMante/AddOrUpdate.vue @@ -1,55 +1,68 @@ <template> - <el-dialog :title="!dataForm.id ? '鏂板' : '淇敼'" :close-on-click-modal="false" :visible.sync="visible"> + <el-dialog :before-close="closeHandler" :title="!dataForm.id ? '鏂板' : '淇敼'" :close-on-click-modal="false" :visible.sync="visible"> <el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="120px"> - <el-form-item label="瀹㈡埛鍚嶇О" prop="cName"> - <el-input v-model="dataForm.cName" placeholder="瀹㈡埛鍚嶇О"></el-input> + <el-form-item label="瀹㈡埛鍚嶇О" prop="c_name"> + <el-input v-model="dataForm.c_name" placeholder="瀹㈡埛鍚嶇О"></el-input> </el-form-item> - <el-form-item label="鏁呴殰鍦扮偣鍚嶇О" prop="fName"> - <el-input v-model="dataForm.fName" placeholder="鏁呴殰鍦扮偣鍚嶇О"></el-input> + <el-form-item label="鏁呴殰鍦扮偣鍚嶇О" prop="f_name"> + <el-input v-model="dataForm.f_name" placeholder="鏁呴殰鍦扮偣鍚嶇О"></el-input> </el-form-item> - <el-form-item label="鏁呴殰鍦扮偣缁忕含搴�" prop="fLocation"> - <el-input v-model="dataForm.fLocation" placeholder="鏁呴殰鍦扮偣缁忕含搴�"></el-input> + <el-form-item label="鏁呴殰鍦扮偣缁忕含搴�" prop="f_location"> + <el-input v-model="dataForm.f_location" placeholder="鏁呴殰鍦扮偣缁忕含搴�"></el-input> </el-form-item> - <el-form-item label="鑱旂郴鐢佃瘽" prop="fPhone"> - <el-input v-model="dataForm.fPhone" placeholder="鑱旂郴鐢佃瘽"></el-input> + <el-form-item label="鑱旂郴鐢佃瘽" prop="f_phone"> + <el-input v-model="dataForm.f_phone" placeholder="鑱旂郴鐢佃瘽"></el-input> </el-form-item> - <el-form-item label="鏁呴殰鏃堕棿" prop="fDate"> - <el-input v-model="dataForm.fDate" placeholder="鏁呴殰鏃堕棿"></el-input> + <el-form-item label="鏁呴殰鏃堕棿" prop="f_date"> + <el-date-picker style="width:100%" @change="handleDateChange" v-model="dataForm.f_date" type="datetime" + placeholder="閫夋嫨鏁呴殰鏃堕棿"> + </el-date-picker> + <!-- <el-input v-model="dataForm.f_date" placeholder="鏁呴殰鏃堕棿"></el-input> --> </el-form-item> - <el-form-item label="鎶ヤ慨鏂瑰紡" prop="fType"> - <el-input v-model="dataForm.fType" placeholder="鎶ヤ慨鏂瑰紡"></el-input> + <el-form-item label="鎶ヤ慨鏂瑰紡" prop="f_type"> + <el-input v-model="dataForm.f_type" placeholder="鎶ヤ慨鏂瑰紡"></el-input> </el-form-item> - <el-form-item label="璁板綍浜�" prop="fMan"> - <el-input v-model="dataForm.fMan" placeholder="璁板綍浜�"></el-input> + <el-form-item label="璁板綍浜�" prop="f_man"> + <el-input v-model="dataForm.f_man" placeholder="璁板綍浜�"></el-input> </el-form-item> - <el-form-item label="鎶ヤ慨鍐呭" prop="fContent"> - <el-input v-model="dataForm.fContent" placeholder="鎶ヤ慨鍐呭"></el-input> + <el-form-item label="鎶ヤ慨鍐呭" prop="f_content"> + <el-input v-model="dataForm.f_content" placeholder="鎶ヤ慨鍐呭"></el-input> + </el-form-item> - <el-form-item label="鍒拌揪鐜板満鏃堕棿" prop="rDate"> - <el-input v-model="dataForm.rDate" placeholder="鍒拌揪鐜板満鏃堕棿"></el-input> + <el-form-item label="鍒拌揪鐜板満鏃堕棿" prop="r_date"> + <!-- <el-input v-model="dataForm.r_date" placeholder="鍒拌揪鐜板満鏃堕棿"></el-input> --> + <el-date-picker style="width:100%" @change="handleDateChange" v-model="dataForm.r_date" type="datetime" + placeholder="閫夋嫨杈剧幇鍦烘椂闂�"> + </el-date-picker> </el-form-item> - <el-form-item label="缁翠慨缁撴潫鏃堕棿" prop="reDate"> - <el-input v-model="dataForm.reDate" placeholder="缁翠慨缁撴潫鏃堕棿"></el-input> + <el-form-item label="缁翠慨缁撴潫鏃堕棿" prop="re_date"> + <!-- <el-input v-model="dataForm.re_date" placeholder="缁翠慨缁撴潫鏃堕棿"></el-input> --> + <el-date-picker style="width:100%" @change="handleDateChange" v-model="dataForm.re_date" type="datetime" + placeholder="閫夋嫨缁翠慨缁撴潫鏃堕棿"> + </el-date-picker> </el-form-item> - <el-form-item label="缁翠慨杞ㄨ抗" prop="rePosition"> - <el-input v-model="dataForm.rePosition" placeholder="缁翠慨杞ㄨ抗"></el-input> + <el-form-item label="缁翠慨杞ㄨ抗" prop="re_position"> + <el-input v-model="dataForm.re_position" placeholder="缁翠慨杞ㄨ抗"></el-input> </el-form-item> - <el-form-item label="缁翠慨瑙嗛" prop="reVideo"> - <el-input v-model="dataForm.reVideo" placeholder="缁翠慨瑙嗛"></el-input> + <el-form-item label="缁翠慨瑙嗛" prop="re_video"> + <el-input v-model="dataForm.re_video" placeholder="缁翠慨瑙嗛"></el-input> </el-form-item> - <el-form-item label="瀹㈡埛璇勪环" prop="reEvaluation"> - <el-input v-model="dataForm.reEvaluation" placeholder="瀹㈡埛璇勪环"></el-input> + <el-form-item label="瀹㈡埛璇勪环" prop="re_evaluation"> + <el-input v-model="dataForm.re_evaluation" placeholder="瀹㈡埛璇勪环"></el-input> </el-form-item> </el-form> <span slot="footer" class="dialog-footer"> - <el-button @click="visible = false">鍙栨秷</el-button> + <el-button @click="closeHandler">鍙栨秷</el-button> <el-button type="primary" @click="dataFormSubmit()">纭畾</el-button> </span> </el-dialog> </template> <script> + +// POINT (112.56978672907 37.8558881392881) +// LINESTRING (112.56610139210423 37.87199523758289, 112.56777608401627 37.87190547038274, 112.56775238085118 37.862274562096125, 112.56829544919117 37.862166910066264, 112.56829523145755 37.85994297223096, 112.56836294214209 37.858185324275034, 112.56874759228823 37.858023871243766, 112.56890584253452 37.85671457963388, 112.57008241825407 37.85633780011934, 112.56994660283333 37.85596117981906) import { faultreport_save, faultreport_update } from '@/api/mapView/peiwang.js'; export default { data() { @@ -57,68 +70,123 @@ visible: false, dataForm: { id: undefined, - cName: '', - fName: '', - fLocation: '', - fPhone: '', - fDate: '', - fType: '', - fMan: '', - fContent: '', - rDate: '', - reDate: '', - rePosition: '', - reVideo: '', - reEvaluation: '' + c_name: '', + f_name: '', + f_location: '', + f_phone: '', + f_date: '', + f_type: '', + f_man: '', + f_content: '', + r_date: '', + re_date: '', + re_position: '', + re_video: '', + re_evaluation: '' }, + objData: null, dataRule: { - cName: [ + c_name: [ { required: true, message: '瀹㈡埛鍚嶇О涓嶈兘涓虹┖', trigger: 'blur' } ], - fName: [ + f_name: [ { required: true, message: '鏁呴殰鍦扮偣鍚嶇О涓嶈兘涓虹┖', trigger: 'blur' } ], - fLocation: [ + f_location: [ { required: true, message: '鏁呴殰鍦扮偣缁忕含搴︿笉鑳戒负绌�', trigger: 'blur' } ], - fPhone: [ + f_phone: [ { required: true, message: '鑱旂郴鐢佃瘽涓嶈兘涓虹┖', trigger: 'blur' } ], - fDate: [ + f_date: [ { required: true, message: '鏁呴殰鏃堕棿涓嶈兘涓虹┖', trigger: 'blur' } ], - fType: [ + f_type: [ { required: true, message: '鎶ヤ慨鏂瑰紡涓嶈兘涓虹┖', trigger: 'blur' } ], - fMan: [ + f_man: [ { required: true, message: '璁板綍浜轰笉鑳戒负绌�', trigger: 'blur' } ], - fContent: [ + f_content: [ { required: true, message: '鎶ヤ慨鍐呭涓嶈兘涓虹┖', trigger: 'blur' } ], - rDate: [ + r_date: [ { required: true, message: '鍒拌揪鐜板満鏃堕棿涓嶈兘涓虹┖', trigger: 'blur' } ], - reDate: [ + re_date: [ { required: true, message: '缁翠慨缁撴潫鏃堕棿涓嶈兘涓虹┖', trigger: 'blur' } ], - rePosition: [ + re_position: [ { required: true, message: '缁翠慨杞ㄨ抗涓嶈兘涓虹┖', trigger: 'blur' } ], - reVideo: [ - { required: true, message: '缁翠慨瑙嗛涓嶈兘涓虹┖', trigger: 'blur' } - ], - reEvaluation: [ - { required: true, message: '瀹㈡埛璇勪环涓嶈兘涓虹┖', trigger: 'blur' } - ] + } } }, methods: { + handleDateChange(value, picker) { + return this.getNowTime(value) + }, + getNowTime(res) { + var now = null; + if (res) { + now = new Date(res); + } else { + now = new Date(); + } + const year = now.getFullYear(); + const month = now.getMonth() + 1; // 鏈堜唤鏄粠0寮�濮嬬殑 + const day = now.getDate(); + const hours = now.getHours(); + const minutes = now.getMinutes(); + const seconds = now.getSeconds(); + // 鏍煎紡鍖栨湀浠藉拰鏃ユ湡锛屼繚鎸佷袱浣嶆暟 + const formattedMonth = month < 10 ? '0' + month : month; + const formattedDay = day < 10 ? '0' + day : day; + const formattedHours = hours < 10 ? '0' + hours : hours; + const formattedMinutes = minutes < 10 ? '0' + minutes : minutes; + const formattedSeconds = seconds < 10 ? '0' + seconds : seconds; + return `${year}-${formattedMonth}-${formattedDay} ${formattedHours}:${formattedMinutes}:${formattedSeconds}`; + + }, init(response) { this.visible = true + this.objData = null + this.dataForm = { + id: undefined, + c_name: '', + f_name: '', + f_location: '', + f_phone: '', + f_date: this.getNowTime(), + f_type: '', + f_man: '', + f_content: '', + r_date: this.getNowTime(), + re_date: this.getNowTime(), + re_position: '', + re_video: '', + re_evaluation: '' + } if (response) { - this.dataForm = { ...response } + + this.objData = { ...response } + this.dataForm = { + id: this.objData.id, + c_name: this.objData.c_name, + f_name: this.objData.f_name, + f_location: this.objData.f_location, + f_phone: this.objData.f_phone, + f_date: this.objData.f_date, + f_type: this.objData.f_type, + f_man: this.objData.f_man, + f_content: this.objData.f_content, + r_date: this.objData.r_date, + re_date: this.objData.re_date, + re_position: this.objData.re_position, + re_video: this.objData.re_video, + re_evaluation: this.objData.re_evaluation + } } }, @@ -127,32 +195,75 @@ this.$refs['dataForm'].validate((valid) => { if (valid) { if (this.dataForm.id) { - this.setEditReport(); + this.setEditReport(valid); } else { this.setSaveReport(); } } }) }, + formateDate(res) { + + if (typeof res == 'string') return res; + return this.getNowTime(res) + }, + closeHandler(){ + this.visible = false + this.$emit('refreshDataList') + }, setSaveReport() { - faultreport_save(this.dataForm).then(response => { - console.log(response); - // this.$message({ - // message: '鎿嶄綔鎴愬姛', - // type: 'success', - // duration: 1500, - // onClose: () => { - // this.visible = false - // this.$emit('refreshDataList') - // } - // }) + const obj = { ...this.dataForm } + obj.f_date = this.formateDate(obj.f_date) + obj.r_date = this.formateDate(obj.r_date) + obj.re_date = this.formateDate(obj.re_date) + faultreport_save(obj).then(response => { + this.closeHandler(); + if (response.data.msg == 'success') { + this.$message({ + message: '鎿嶄綔鎴愬姛', + type: 'success', + duration: 1000, + + }) + } else { + this.$message({ + message: '鎿嶄綔澶辫触', + type: 'warning', + duration: 1000, + + }) + } + }) }, setEditReport() { - faultreport_update(this.dataForm).then(response => { - console.log(response); + const obj = { ...this.dataForm } + obj.f_date = this.formateDate(obj.f_date) + obj.r_date = this.formateDate(obj.r_date) + obj.re_date = this.formateDate(obj.re_date) + faultreport_update(obj).then(response => { + this.closeHandler(); + if (response.data.msg == 'success') { + this.$message({ + message: '鎿嶄綔鎴愬姛', + type: 'success', + duration: 1000, + + }) + } else { + this.$message({ + message: '鎿嶄綔澶辫触', + type: 'warning', + duration: 1000, + + }) + } }) + + + + }, -- Gitblit v1.9.3