From 2546d2a6251176b0214c2d23ac93ccde5dd008f5 Mon Sep 17 00:00:00 2001
From: 唐耀东 <18861537@qq.com>
Date: 星期四, 12 五月 2022 10:51:01 +0800
Subject: [PATCH] 提交代码

---
 src/views/components/building/index.vue          |   11 ++
 src/views/components/constructionBatch/index.vue |   11 ++
 src/views/components/nvr/list.vue                |    6 
 src/views/components/manufacturer/index.vue      |   11 ++
 vue.config.js                                    |    1 
 src/views/components/nvr/index.vue               |   11 ++
 src/views/construction/nvr/index.vue             |    6 
 src/api/oa/ipc.js                                |    7 +
 src/views/construction/ipc/index.vue             |  189 +++++++++++++++++++++++--------------
 src/views/components/organization/index.vue      |   11 ++
 10 files changed, 187 insertions(+), 77 deletions(-)

diff --git a/src/api/oa/ipc.js b/src/api/oa/ipc.js
index e870ff2..00c77a7 100644
--- a/src/api/oa/ipc.js
+++ b/src/api/oa/ipc.js
@@ -42,3 +42,10 @@
     method: 'delete'
   })
 }
+// 澶嶅埗涓婁竴鏉pc
+export function getCopyIpc() {
+  return request({
+    url: '/oa/ipc/copy',
+    method: 'get'
+  })
+}
\ No newline at end of file
diff --git a/src/views/components/building/index.vue b/src/views/components/building/index.vue
index 69ad75c..948e0e5 100644
--- a/src/views/components/building/index.vue
+++ b/src/views/components/building/index.vue
@@ -44,6 +44,17 @@
       name: ''
     }
   },
+  watch: {
+    'value': function (v) {
+      if (v) {
+        getBuilding(v).then(response => {
+          this.name = response.data.name;
+        });
+      }else {
+        this.name = '';
+      }
+    }
+  },
   created() {
     if (this.value) {
       getBuilding(this.value).then(response => {
diff --git a/src/views/components/constructionBatch/index.vue b/src/views/components/constructionBatch/index.vue
index 722b685..4ab18ba 100644
--- a/src/views/components/constructionBatch/index.vue
+++ b/src/views/components/constructionBatch/index.vue
@@ -42,6 +42,17 @@
       name: ''
     }
   },
+  watch: {
+    'value': function (v) {
+      if (v) {
+        getConstructionBatch(v).then(response => {
+          this.name = response.data.batch;
+        });
+      }else {
+        this.name = '';
+      }
+    }
+  },
   created() {
     if (this.value) {
       getConstructionBatch(this.value).then(response => {
diff --git a/src/views/components/manufacturer/index.vue b/src/views/components/manufacturer/index.vue
index ff9a575..1977157 100644
--- a/src/views/components/manufacturer/index.vue
+++ b/src/views/components/manufacturer/index.vue
@@ -40,6 +40,17 @@
       name: ''
     }
   },
+  watch: {
+    'value': function (v) {
+      if (v) {
+        getManufacturer(v).then(response => {
+          this.name = response.data.name;
+        });
+      }else {
+        this.name = '';
+      }
+    }
+  },
   created() {
     if (this.value) {
       getManufacturer(this.value).then(response => {
diff --git a/src/views/components/nvr/index.vue b/src/views/components/nvr/index.vue
index 783c5c7..33e1b60 100644
--- a/src/views/components/nvr/index.vue
+++ b/src/views/components/nvr/index.vue
@@ -45,6 +45,17 @@
       name: ''
     }
   },
+  watch: {
+    'value': function (v) {
+      if (v) {
+        getNvr(v).then(response => {
+          this.name = response.data.deploymentName;
+        });
+      }else {
+        this.name = '';
+      }
+    }
+  },
   created() {
     if (this.value) {
       getNvr(this.value).then(response => {
diff --git a/src/views/components/nvr/list.vue b/src/views/components/nvr/list.vue
index 475b604..72b57a2 100644
--- a/src/views/components/nvr/list.vue
+++ b/src/views/components/nvr/list.vue
@@ -25,15 +25,15 @@
         </template>
       </el-table-column>
       <el-table-column label="閮ㄧ讲鍚嶇О" align="center" prop="deploymentName"/>
-      <el-table-column label="閫氶亾锛堣矾锛�" align="center" prop="passageway"/>
+      <el-table-column label="閫氶亾锛堣矾锛�" align="center" prop="passageway_dictText"/>
       <el-table-column label="LAN1" align="center" prop="lanOne"/>
       <el-table-column label="IP" align="center" prop="ipOne"/>
       <el-table-column label="LAN2" align="center" prop="lanTwo"/>
       <el-table-column label="IP" align="center" prop="ipTwo"/>
       <el-table-column label="鐧诲綍璐︽埛" align="center" prop="loginAccount"/>
       <el-table-column label="纭洏" align="center" prop="hardDisk"/>
-      <el-table-column label="瀹夎浣嶇疆" align="center" prop="buildingId"/>
-      <el-table-column label="鎵�灞炲崟浣�" align="center" prop="organizationId"/>
+      <el-table-column label="瀹夎浣嶇疆" align="center" prop="buildingId_dictText"/>
+      <el-table-column label="鎵�灞炲崟浣�" align="center" prop="organizationId_dictText"/>
       <!--      <el-table-column label="鏂藉伐鎵规" align="center" prop="constructionBatchId" />-->
       <!--      <el-table-column label="搴忓垪鍙�" align="center" prop="serialNumber" />-->
       <!--      <el-table-column label="鍨嬪彿" align="center" prop="model" />-->
diff --git a/src/views/components/organization/index.vue b/src/views/components/organization/index.vue
index 0f60b08..fce9fc3 100644
--- a/src/views/components/organization/index.vue
+++ b/src/views/components/organization/index.vue
@@ -44,6 +44,17 @@
       name: ''
     }
   },
+  watch: {
+    'value': function (v) {
+      if (v) {
+        getOrganization(v).then(response => {
+          this.name = response.data.name;
+        });
+      }else {
+        this.name = '';
+      }
+    }
+  },
   created() {
     if (this.value) {
       getOrganization(this.value).then(response => {
diff --git a/src/views/construction/ipc/index.vue b/src/views/construction/ipc/index.vue
index 35e4872..0b9ad00 100644
--- a/src/views/construction/ipc/index.vue
+++ b/src/views/construction/ipc/index.vue
@@ -15,9 +15,9 @@
       </el-form-item>
       <el-form-item label="鍨嬪彿" prop="model">
         <el-input
-          v-model="queryParams.model"
-          placeholder="璇疯緭鍏ュ瀷鍙�"
-          @keyup.enter.native="handleQuery"
+            v-model="queryParams.model"
+            placeholder="璇疯緭鍏ュ瀷鍙�"
+            @keyup.enter.native="handleQuery"
         />
       </el-form-item>
       <el-form-item>
@@ -29,98 +29,104 @@
     <el-row :gutter="10" class="mb8">
       <el-col :span="1.5">
         <el-button
-          type="primary"
-          plain
-          icon="el-icon-plus"
-          size="mini"
-          @click="handleAdd"
-          v-hasPermi="['oa:ipc:add']"
-        >鏂板</el-button>
+            type="primary"
+            plain
+            icon="el-icon-plus"
+            size="mini"
+            @click="handleAdd"
+            v-hasPermi="['oa:ipc:add']"
+        >鏂板
+        </el-button>
       </el-col>
       <el-col :span="1.5">
         <el-button
-          type="success"
-          plain
-          icon="el-icon-edit"
-          size="mini"
-          :disabled="single"
-          @click="handleUpdate"
-          v-hasPermi="['oa:ipc:edit']"
-        >淇敼</el-button>
+            type="success"
+            plain
+            icon="el-icon-edit"
+            size="mini"
+            :disabled="single"
+            @click="handleUpdate"
+            v-hasPermi="['oa:ipc:edit']"
+        >淇敼
+        </el-button>
       </el-col>
       <el-col :span="1.5">
         <el-button
-          type="danger"
-          plain
-          icon="el-icon-delete"
-          size="mini"
-          :disabled="multiple"
-          @click="handleDelete"
-          v-hasPermi="['oa:ipc:remove']"
-        >鍒犻櫎</el-button>
+            type="danger"
+            plain
+            icon="el-icon-delete"
+            size="mini"
+            :disabled="multiple"
+            @click="handleDelete"
+            v-hasPermi="['oa:ipc:remove']"
+        >鍒犻櫎
+        </el-button>
       </el-col>
     </el-row>
 
     <el-table v-loading="loading" :data="ipcList" @selection-change="handleSelectionChange">
-      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column type="selection" width="55" align="center"/>
       <el-table-column label="搴忓彿" align="center" width="50">
         <template slot-scope="scope">
           <span>{{ scope.$index + (queryParams.pageNum - 1) * queryParams.pageSize + 1 }} </span>
         </template>
       </el-table-column>
-      <el-table-column label="MAC" align="center" prop="mac" />
-      <el-table-column label="IP" align="center" prop="ip" />
-      <el-table-column label="绔彛" align="center" prop="port" />
-      <el-table-column label="鐧诲綍璐︽埛" align="center" prop="loginAccount" />
-      <el-table-column label="NVR" align="center" prop="nvrId_dictText" />
-      <el-table-column label="閫氶亾" align="center" prop="passageway_dictText" />
-      <el-table-column label="瀹夎浣嶇疆" align="center" prop="buildingId_dictText" />
-      <el-table-column label="鎵�灞炲崟浣�" align="center" prop="organizationId_dictText" />
-      <el-table-column label="鏂藉伐鎵规" align="center" prop="constructionBatchId_dictText" />
-<!--      <el-table-column label="搴忓垪鍙�" align="center" prop="serialNumber" />-->
-<!--      <el-table-column label="鍨嬪彿" align="center" prop="model" />-->
-<!--      <el-table-column label="鐢熶骇鍘傚晢" align="center" prop="manufacturerId_dictText" />-->
+      <el-table-column label="MAC" align="center" prop="mac"/>
+      <el-table-column label="IP" align="center" prop="ip"/>
+      <el-table-column label="绔彛" align="center" prop="port"/>
+      <el-table-column label="鐧诲綍璐︽埛" align="center" prop="loginAccount"/>
+      <el-table-column label="NVR" align="center" prop="nvrId_dictText"/>
+      <el-table-column label="閫氶亾" align="center" prop="passageway_dictText"/>
+      <el-table-column label="瀹夎浣嶇疆" align="center" prop="buildingId_dictText"/>
+      <el-table-column label="鎵�灞炲崟浣�" align="center" prop="organizationId_dictText"/>
+      <el-table-column label="鏂藉伐鎵规" align="center" prop="constructionBatchId_dictText"/>
+      <!--      <el-table-column label="搴忓垪鍙�" align="center" prop="serialNumber" />-->
+      <!--      <el-table-column label="鍨嬪彿" align="center" prop="model" />-->
+      <!--      <el-table-column label="鐢熶骇鍘傚晢" align="center" prop="manufacturerId_dictText" />-->
       <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-edit"
-            @click="handleUpdate(scope.row)"
-            v-hasPermi="['oa:ipc:edit']"
-          >淇敼</el-button>
+              size="mini"
+              type="text"
+              icon="el-icon-edit"
+              @click="handleUpdate(scope.row)"
+              v-hasPermi="['oa:ipc:edit']"
+          >淇敼
+          </el-button>
           <el-button
-            size="mini"
-            type="text"
-            class="del-btn"
-            icon="el-icon-delete"
-            @click="handleDelete(scope.row)"
-            v-hasPermi="['oa:ipc:remove']"
-          >鍒犻櫎</el-button>
+              size="mini"
+              type="text"
+              class="del-btn"
+              icon="el-icon-delete"
+              @click="handleDelete(scope.row)"
+              v-hasPermi="['oa:ipc:remove']"
+          >鍒犻櫎
+          </el-button>
         </template>
       </el-table-column>
     </el-table>
 
     <pagination
-      v-show="total>0"
-      :total="total"
-      :page.sync="queryParams.pageNum"
-      :limit.sync="queryParams.pageSize"
-      @pagination="getList"
+        v-show="total>0"
+        :total="total"
+        :page.sync="queryParams.pageNum"
+        :limit.sync="queryParams.pageSize"
+        @pagination="getList"
     />
 
     <!-- 娣诲姞鎴栦慨鏀筰pc璁惧瀵硅瘽妗� -->
-    <el-dialog :title="title" :visible.sync="open" width="700px" :append-to-body="true" :close-on-click-modal="false" :destroy-on-close="true">
+    <el-dialog :title="title" :visible.sync="open" width="700px" :append-to-body="true" :close-on-click-modal="false"
+               :destroy-on-close="true">
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
         <el-row>
           <el-col :span="9">
             <el-form-item label="MAC" prop="mac">
-              <el-input v-model="form.mac" placeholder="璇疯緭鍏AC" />
+              <el-input v-model="form.mac" placeholder="璇疯緭鍏AC"/>
             </el-form-item>
           </el-col>
           <el-col :span="9">
             <el-form-item label="IP" prop="ip">
-              <el-input v-model="form.ip" placeholder="璇疯緭鍏P" />
+              <el-input v-model="form.ip" placeholder="璇疯緭鍏P"/>
             </el-form-item>
           </el-col>
           <el-col :span="6">
@@ -135,7 +141,7 @@
         <el-row>
           <el-col :span="12">
             <el-form-item label="nvr" prop="nvrId">
-              <nvr v-if="open" v-model="form.nvrId"  :schoolId="schoolId"></nvr>
+              <nvr v-if="open" v-model="form.nvrId" :schoolId="schoolId"></nvr>
             </el-form-item>
           </el-col>
           <el-col :span="12">
@@ -177,6 +183,7 @@
         </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
+        <el-button :loading="buttonLoading" type="primary" @click="copy">澶嶅埗涓婁竴鏉′俊鎭�</el-button>
         <el-button :loading="buttonLoading" type="primary" @click="submitForm">纭� 瀹�</el-button>
         <el-button @click="cancel">鍙� 娑�</el-button>
       </div>
@@ -185,7 +192,7 @@
 </template>
 
 <script>
-import { listIpc, getIpc, delIpc, addIpc, updateIpc } from "@/api/oa/ipc";
+import {listIpc, getIpc, delIpc, addIpc, updateIpc, getCopyIpc} from "@/api/oa/ipc";
 import building from "../../components/building";
 import organization from "../../components/organization";
 import constructionBatch from "../../components/constructionBatch";
@@ -245,10 +252,10 @@
       // 琛ㄥ崟鏍¢獙
       rules: {
         id: [
-          { required: true, message: "涓嶈兘涓虹┖", trigger: "blur" }
+          {required: true, message: "涓嶈兘涓虹┖", trigger: "blur"}
         ],
         mac: [
-          { required: true, message: "mac涓嶈兘涓虹┖", trigger: "blur" },
+          {required: true, message: "mac涓嶈兘涓虹┖", trigger: "blur"},
           {
             pattern: /^[A-F0-9]{2}(-[A-F0-9]{2}){5}$|^[A-F0-9]{2}(:[A-F0-9]{2}){5}$|^[A-F0-9]{12}$|^[A-F0-9]{4}(\.[A-F0-9]{4}){2}$/,
             message: "璇疯緭鍏ユ纭殑MAC",
@@ -256,7 +263,7 @@
           }
         ],
         ip: [
-          { required: true, message: "IP涓嶈兘涓虹┖", trigger: "blur" },
+          {required: true, message: "IP涓嶈兘涓虹┖", trigger: "blur"},
           {
             pattern: /^(\d|[1-9]\d|1\d{2}|2[0-5][0-5])\.(\d|[1-9]\d|1\d{2}|2[0-5][0-5])\.(\d|[1-9]\d|1\d{2}|2[0-5][0-5])\.(\d|[1-9]\d|1\d{2}|2[0-5][0-5])$/,
             message: "璇疯緭鍏ユ纭殑ip鍦板潃",
@@ -264,26 +271,39 @@
           }
         ],
         port: [
-          { required: true, message: "绔彛涓嶈兘涓虹┖", trigger: "blur" }
+          {required: true, message: "绔彛涓嶈兘涓虹┖", trigger: "blur"}
         ],
         loginAccount: [
-          { required: true, message: "鐧诲綍璐︽埛涓嶈兘涓虹┖", trigger: "blur" }
+          {required: true, message: "鐧诲綍璐︽埛涓嶈兘涓虹┖", trigger: "blur"}
         ],
         buildingId: [
-          { required: true, message: "瀹夎浣嶇疆涓嶈兘涓虹┖", trigger: "blur" }
+          {required: true, message: "瀹夎浣嶇疆涓嶈兘涓虹┖", trigger: "blur"}
         ],
         organizationId: [
-          { required: true, message: "鎵�灞炲崟浣嶄笉鑳戒负绌�", trigger: "blur" }
+          {required: true, message: "鎵�灞炲崟浣嶄笉鑳戒负绌�", trigger: "blur"}
         ],
         constructionBatchId: [
-          { required: true, message: "鏂藉伐鎵规涓嶈兘涓虹┖", trigger: "blur" }
+          {required: true, message: "鏂藉伐鎵规涓嶈兘涓虹┖", trigger: "blur"}
         ],
+        passageway: []
       }
     };
+  },
+  computed: {
+    getNvrId() {
+      return this.form.nvrId
+    }
   },
   watch: {
     'schoolId': function () {
       this.getList()
+    },
+    getNvrId: function (v) {
+      if (v) {
+        this.rules.passageway = [{required: true, message: "閫氶亾涓嶈兘涓虹┖", trigger: "blur"}]
+      } else {
+        this.rules.passageway = []
+      }
     }
   },
   created() {
@@ -341,7 +361,7 @@
     // 澶氶�夋閫変腑鏁版嵁
     handleSelectionChange(selection) {
       this.ids = selection.map(item => item.id)
-      this.single = selection.length!==1
+      this.single = selection.length !== 1
       this.multiple = !selection.length
     },
     /** 鏂板鎸夐挳鎿嶄綔 */
@@ -388,6 +408,33 @@
         }
       });
     },
+    copy() {
+      this.buttonLoading = true;
+      getCopyIpc().then(res => {
+        const obj = res.data;
+        // 缂栬緫
+        if (this.form.id) {
+          obj.id = this.form.id;
+        }
+        // 鏂板
+        else {
+          obj.id = undefined;
+        }
+        this.form = this.shallowCopy(obj);
+        this.$modal.msgSuccess("淇敼鎴愬姛");
+      }).finally(() => {
+        this.buttonLoading = false;
+      });
+    },
+    shallowCopy(src) {
+      var dst = {};
+      for (var prop in src) {
+        if (src.hasOwnProperty(prop)) {
+          dst[prop] = src[prop];
+        }
+      }
+      return dst;
+    },
     /** 鍒犻櫎鎸夐挳鎿嶄綔 */
     handleDelete(row) {
       const ids = row.id || this.ids;
diff --git a/src/views/construction/nvr/index.vue b/src/views/construction/nvr/index.vue
index a148e00..31db4eb 100644
--- a/src/views/construction/nvr/index.vue
+++ b/src/views/construction/nvr/index.vue
@@ -81,15 +81,15 @@
         </template>
       </el-table-column>
       <el-table-column label="閮ㄧ讲鍚嶇О" align="center" prop="deploymentName"/>
-      <el-table-column label="閫氶亾锛堣矾锛�" align="center" prop="passageway"/>
+      <el-table-column label="閫氶亾锛堣矾锛�" align="center" prop="passageway_dictText"/>
       <el-table-column label="LAN1" align="center" prop="lanOne"/>
       <el-table-column label="IP" align="center" prop="ipOne"/>
       <el-table-column label="LAN2" align="center" prop="lanTwo"/>
       <el-table-column label="IP" align="center" prop="ipTwo"/>
       <el-table-column label="鐧诲綍璐︽埛" align="center" prop="loginAccount"/>
       <el-table-column label="纭洏" align="center" prop="hardDisk"/>
-      <el-table-column label="瀹夎浣嶇疆" align="center" prop="buildingId"/>
-      <el-table-column label="鎵�灞炲崟浣�" align="center" prop="organizationId"/>
+      <el-table-column label="瀹夎浣嶇疆" align="center" prop="buildingId_dictText"/>
+      <el-table-column label="鎵�灞炲崟浣�" align="center" prop="organizationId_dictText"/>
       <!--      <el-table-column label="鏂藉伐鎵规" align="center" prop="constructionBatchId" />-->
       <!--      <el-table-column label="搴忓垪鍙�" align="center" prop="serialNumber" />-->
       <!--      <el-table-column label="鍨嬪彿" align="center" prop="model" />-->
diff --git a/vue.config.js b/vue.config.js
index 0436ef1..4358146 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -33,6 +33,7 @@
     proxy: {
       // detail: https://cli.vuejs.org/config/#devserver-proxy
       [process.env.VUE_APP_BASE_API]: {
+        // target: `http://101.35.174.42:8082`,
         target: `http://localhost:8080`,
         changeOrigin: true,
         pathRewrite: {

--
Gitblit v1.9.1