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