From cc9ddf2ecaf3ad935374f49c842227f7eb15779d Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期三, 16 十一月 2022 10:21:15 +0800
Subject: [PATCH] Merge branch 'master' of http://42.193.1.25:9521/r/sccg_ui

---
 src/views/systemSetting/device/bayonet/create/index.vue |  113 ++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 85 insertions(+), 28 deletions(-)

diff --git a/src/views/systemSetting/device/bayonet/create/index.vue b/src/views/systemSetting/device/bayonet/create/index.vue
index a97553f..0f490db 100644
--- a/src/views/systemSetting/device/bayonet/create/index.vue
+++ b/src/views/systemSetting/device/bayonet/create/index.vue
@@ -1,6 +1,6 @@
 <template>
     <div class="create">
-        <el-form ref="device" label-position="right" label-width="120px" :model="bayonet" :rule="rules">
+        <el-form ref="device" label-position="right" label-width="120px" :model="bayonet" :rules="rules">
             <!-- 鍗″彛鍚嶇О -->
             <div class="device-item">
                 <div class="item-left">
@@ -25,8 +25,8 @@
             <!-- 鎵�灞炲尯鍩� -->
             <div class="device-item">
                 <div class="item-left">
-                    <el-form-item label="鎵�灞炲尯鍩�:" prop="area">
-                        <el-input v-model="bayonet.area" placeholder="璇峰~鍐欏尯鍩熷悕绉�"></el-input>
+                    <el-form-item label="鎵�灞炲尯鍩�:" prop="belong_area">
+                        <el-input v-model="bayonet.belong_area" placeholder="璇峰~鍐欏尯鍩熷悕绉�"></el-input>
                     </el-form-item>
                 </div>
                 <div class="item-right"></div>
@@ -34,8 +34,8 @@
             <!-- 鍩熷悕/ip -->
             <div class="device-item">
                 <div class="item-left">
-                    <el-form-item label="鍩熷悕/IP:" prop="domainName">
-                        <el-input v-model="bayonet.domainName" placeholder="璇峰~鍐欏煙鍚嶆垨鑰匢P"></el-input>
+                    <el-form-item label="鍩熷悕/IP:" prop="ipAddress">
+                        <el-input v-model="bayonet.ipAddress" placeholder="璇峰~鍐欏煙鍚嶆垨鑰匢P"></el-input>
                     </el-form-item>
                 </div>
                 <div class="item-right"></div>
@@ -52,8 +52,8 @@
             <!-- 鍓嶇绫诲瀷 -->
             <div class="device-item">
                 <div class="item-left">
-                    <el-form-item label="鍓嶇绫诲瀷:" prop="webType">
-                        <el-input v-model="bayonet.webType" placeholder="璇疯緭鍏ュ墠绔被鍨�"></el-input>
+                    <el-form-item label="鍓嶇绫诲瀷:" prop="frontEndType">
+                        <el-input v-model="bayonet.frontEndType" placeholder="璇疯緭鍏ュ墠绔被鍨�"></el-input>
                     </el-form-item>
                 </div>
                 <div class="item-right"></div>
@@ -61,8 +61,8 @@
             <!-- 鍑哄叆鍩庣被鍨� -->
             <div class="device-item">
                 <div class="item-left">
-                    <el-form-item label="鍑哄叆鍩庣被鍨�:" prop="cityType">
-                        <el-input v-model="bayonet.cityType" placeholder="鍑哄煄/鍏ュ煄"></el-input>
+                    <el-form-item label="鍑哄叆鍩庣被鍨�:" prop="inOutCityType">
+                        <el-input v-model="bayonet.inOutCityType" placeholder="鍑哄煄/鍏ュ煄"></el-input>
                     </el-form-item>
                 </div>
                 <div class="item-right"></div>
@@ -78,32 +78,89 @@
             </div>
             <!-- 鎸夐挳 -->
             <div class="device-btn">
-                <el-button>杩斿洖</el-button>
-                <el-button type="primary">纭畾</el-button>
+                <el-button @click="closeDialog">杩斿洖</el-button>
+                <el-button type="primary" @click="onSubmit">纭畾</el-button>
             </div>
         </el-form>
     </div>
 </template>
 <script>
-export default {
-    data() {
-        return {
-            bayonet: {
-                bayonetName: '',
-                latitude: '',
-                longitude: '',
-                area: '',
-                ipAddress: '',
-                port: '',
-                frontEndType: '',
-                inOutCityType: '',
-                description: '',
-            },
-            rules: {
+import bayonet from "@/api/system/bayonet";
+import { deepClone } from "@/utils/helper";
 
-            }
-        }
+export default {
+  props: {
+    originalBayonet: {
+      type: Object,
+      default: () => {}
     },
+    isEdit: {
+      type: Boolean,
+      default: () => false
+    }
+  },
+
+  data() {
+      return {
+          bayonet: {
+              name: '',
+              latitude: '',
+              longitude: '',
+              belong_area: '',
+              ipAddress: '',
+              port: '',
+              frontEndType: '',
+              inOutCityType: '',
+              description: ''
+          },
+          rules: {
+            name: [{ required: true, trigger: 'blur', message: '璇峰~鍐欏崱鍙e悕绉�' }],
+            latitude: [{ required: true, trigger: ['blur', 'change'], message: '璇峰~鍐欑含搴︿綅缃�' }],
+            longitude: [{ required: true, trigger: ['blur', 'change'], message: '璇峰~鍐欑粡搴︿綅缃�' }],
+            belong_area: [{ required: true, trigger: ['blur', 'change'], message: '璇峰~鍐欏尯鍩熷悕绉�' }],
+            ipAddress: [{ required: true, trigger: ['blur', 'change'], message: '璇峰~鍐欏煙鍚嶆垨鑰匢P' }],
+            port: [{ required: true, trigger: ['blur', 'change'], message: '璇疯緭鍏ョ鍙e彿' }],
+            frontEndType: [{ required: true, trigger: ['blur', 'change'], message: '璇疯緭鍏ュ墠绔被鍨�' }],
+            inOutCityType: [{ required: true, trigger: ['blur', 'change'], message: '璇峰~鍐欏嚭鍩�/鍏ュ煄' }],
+            description: [{ required: true, trigger: ['blur', 'change'], message: '璇疯緭鍏ユ弿杩板唴瀹�' }]
+          }
+      }
+  },
+
+  methods: {
+      onSubmit() {
+        this.$refs.device.validate(valid => {
+          if (valid) {
+            const copyBayonet = deepClone(this.bayonet);
+            if (!this.isEdit) {
+              bayonet.addBayonet(this.bayonet)
+                  .then(() => {
+                    this.$message({ type: 'success', message: '鎿嶄綔鎴愬姛' });
+                    this.$emit('closeDialog');
+                  })
+                  .catch(err => {
+                    this.$message({ type: 'error', message: err });
+                  })
+            } else {
+              bayonet.updateBayonet(copyBayonet)
+                  .then(() => {
+                    this.$message({ type: 'success', message: '鎿嶄綔鎴愬姛' });
+                    this.$emit('closeDialog');
+                  })
+                  .catch(err => {
+                    this.$message({ type: 'error', message: err });
+                  })
+            }
+          } else {
+           this.$message({ type: 'warning', message: '璇锋鏌ュ繀濉」' });
+          }
+        });
+      },
+
+      closeDialog() {
+        this.$emit('closeDialog');
+      }
+  }
 
 }
 </script>

--
Gitblit v1.8.0