From 50a3487ec7940e9604b4410f70fcdec2fe85609a Mon Sep 17 00:00:00 2001
From: zhangzeli <123456>
Date: 星期一, 01 十一月 2021 15:40:47 +0800
Subject: [PATCH] 设备

---
 src/views/your/car-manage/carManage.vue |  221 ++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 168 insertions(+), 53 deletions(-)

diff --git a/src/views/your/car-manage/carManage.vue b/src/views/your/car-manage/carManage.vue
index 0f94c6a..0ef24a5 100644
--- a/src/views/your/car-manage/carManage.vue
+++ b/src/views/your/car-manage/carManage.vue
@@ -60,12 +60,7 @@
       :mask-closable="false"
       :width="500"
     >
-      <Form
-        ref="carForm"
-        :model="carForm"
-        :label-width="80"
-        :rules="carFormValidate"
-      >
+      <Form ref="carForm" :model="carForm" :label-width="80" :rules="carFormValidate">
         <FormItem label="鍝佺墝" prop="brand">
           <Input v-model="carForm.brand"/>
         </FormItem>
@@ -95,12 +90,50 @@
         >
       </div>
     </Modal>
-    <Modal :title="modalTitle" v-model="equipmentVisible" :mask-closable="false" :width="1200">
+    <Modal :title="modalTitle" v-model="equipmentVisible" :mask-closable="false" :width="1044">
+      <Row class="operation" style="padding-bottom: 20px">
+        <Button @click="addEquipment" type="primary" icon="md-add">娣诲姞璁惧</Button>
+        <Button @click="init" icon="md-refresh">鍒锋柊</Button>
+      </Row>
       <Table :loading="loading" border :columns="columns2" :data="data2" ref="table"
              sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect">
 
 
       </Table>
+    </Modal>
+    <Modal :title="modalTitle" v-model="addEquipmentVisible" :mask-closable="false" :width="500">
+      <Form ref="equipmentForm" :model="equipmentForm" :label-width="80" :rules="equipmentFormValidate">
+        <FormItem label="璁惧" prop="type">
+          <Select v-model="equipmentForm.type">
+            <Option :value="0">杞︽満</Option>
+            <Option :value="1">鎽勫儚鏈�</Option>
+            <Option :value="2">鎶撴媿鏈�</Option>
+            <Option :value="3">pad</Option>
+          </Select>
+        </FormItem>
+        <FormItem label="璁惧" prop="status">
+          <Select v-model="equipmentForm.status">
+            <Option :value="0">姝e父</Option>
+            <Option :value="1">鍋滅敤</Option>
+          </Select>
+        </FormItem>
+        <FormItem label="缂栧彿" prop="code">
+          <Input v-model="equipmentForm.code" />
+        </FormItem>
+        <FormItem label="ip鍦板潃" prop="ip">
+          <Input v-model="equipmentForm.ip" />
+        </FormItem>
+        <FormItem label="绔彛鍙�" prop="port">
+          <Input v-model="equipmentForm.port" />
+        </FormItem>
+
+      </Form>
+      <div slot="footer">
+        <Button type="text" @click="carRole">鍙栨秷</Button>
+        <Button type="primary" :loading="submitLoading" @click="submitEquipment"
+        >鎻愪氦</Button
+        >
+      </div>
     </Modal>
     <!-- 鑿滃崟鏉冮檺 -->
     <Drawer
@@ -200,6 +233,8 @@
   editCar,
   deleteCar,
   getEquipment,
+  addEquipment,
+  deleteEquipment,
 } from "@/api/open";
 import util from "@/libs/util.js";
 export default {
@@ -219,6 +254,7 @@
       sortType: "desc",
       modalType: 0,
       roleModalVisible: false,
+      addEquipmentVisible: false,
       equipmentVisible: false,
       carModalVisible: false,
       permModalVisible: false,
@@ -233,6 +269,9 @@
         key: "",
       },
       carForm: {
+        status : 0
+      },
+      equipmentForm: {
         status : 0
       },
       removeForm: {
@@ -402,18 +441,54 @@
         {
           title: "璁惧绫诲瀷",
           key: "type",
-          width: 100,
+          width: 130,
           sortable: true,
+          render: (h, params) => {
+            let re = "";
+            if (params.row.type == 0) {
+              return h("div", [
+                h("Badge", {
+                  props: {
+                    text: "杞︽満",
+                  },
+                }),
+              ]);
+            } else if (params.row.type == 1) {
+              return h("div", [
+                h("Badge", {
+                  props: {
+                    text: "鎽勫儚鏈�",
+                  },
+                }),
+              ]);
+            }else if (params.row.type == 2) {
+              return h("div", [
+                h("Badge", {
+                  props: {
+                    text: "鎶撴媿鏈�",
+                  },
+                }),
+              ]);
+            }else if (params.row.type == 3) {
+              return h("div", [
+                h("Badge", {
+                  props: {
+                    text: "pad",
+                  },
+                }),
+              ]);
+            }
+          },
         },
         {
           title: "缂栧彿",
           key: "code",
-          width: 100,
+          width: 120,
         },
         {
           title: "鐘舵��",
           key: "status",
-          width: 100,
+          width: 120,
           sortable: true,
           render: (h, params) => {
             let re = "";
@@ -431,7 +506,7 @@
                 h("Badge", {
                   props: {
                     status: "error",
-                    text: "绉婚櫎",
+                    text: "鍋滅敤",
                   },
                 }),
               ]);
@@ -441,12 +516,12 @@
         {
           title: "ip鍦板潃",
           key: "ip",
-          width: 100,
+          width: 120,
         },
         {
           title: "绔彛鍙�",
           key: "port",
-          width: 100,
+          width: 120,
           sortable: true,
         },
         {
@@ -461,39 +536,7 @@
                       {
                         on: {
                           click: () => {
-                            this.equipment(params.row);
-                          },
-                        },
-                      },
-                      "璁惧"
-              ),
-              h("Divider", {
-                props: {
-                  type: "vertical",
-                },
-              }),
-              h(
-                      "a",
-                      {
-                        on: {
-                          click: () => {
-                            this.removeCar(params.row);
-                          },
-                        },
-                      },
-                      "绉婚櫎杞﹁締"
-              ),
-              h("Divider", {
-                props: {
-                  type: "vertical",
-                },
-              }),
-              h(
-                      "a",
-                      {
-                        on: {
-                          click: () => {
-                            this.edit(params.row);
+                            this.editEquipment(params.row);
                           },
                         },
                       },
@@ -509,7 +552,7 @@
                       {
                         on: {
                           click: () => {
-                            this.remove(params.row);
+                            this.removeEquipment(params.row);
                           },
                         },
                       },
@@ -522,11 +565,13 @@
       data: [],
       data2: [],
       total: 0,
+      total2: 0,
       permData: [],
       editRolePermId: "",
       selectAllFlag: false,
       depData: [],
       dataType: 0,
+      carId: '',
       editDepartments: [],
       buyYear:''
     };
@@ -613,13 +658,13 @@
         }
       });
     },
-    getEquipmentList() {
+    getEquipmentList(carId) {
       this.loading = true;
+      this.searchForm.carId=carId;
       getEquipment(this.searchForm).then((res) => {
         this.loading = false;
         if (res.success) {
           this.data2 = res.result.records;
-          this.total = res.result.total;
         }
       });
     },
@@ -679,6 +724,37 @@
         }
       });
     },
+    submitEquipment() {
+      this.$refs.equipmentForm.validate((valid) => {
+        this.equipmentForm.carId = this.carId;
+        if (valid) {
+          if (this.modalType == 0) {
+            // 娣诲姞
+            this.submitLoading = true;
+            addEquipment(this.equipmentForm).then((res) => {
+              this.submitLoading = false;
+              if (res.success) {
+                this.$Message.success("鎿嶄綔鎴愬姛");
+                this.getEquipmentList(this.carId);
+                this.addEquipmentVisible = false;
+                this.getEquipmentList(this.carId);
+              }
+            });
+          } else {
+            this.submitLoading = true;
+            addEquipment(this.equipmentForm).then((res) => {
+              this.submitLoading = false;
+              if (res.success) {
+                this.$Message.success("鎿嶄綔鎴愬姛");
+                this.getEquipmentList(this.carId);
+                this.addEquipmentVisible = false;
+              }
+            });
+          }
+        }
+
+      });
+    },
     submitRemove(){
       this.$refs.removeForm.validate((valid) => {
         if (valid) {
@@ -694,8 +770,9 @@
         }
       });
     },
-    equipment() {
-      this.getEquipmentList();
+    equipment(row) {
+      this.carId = row.id
+      this.getEquipmentList(row.id);
       this.modalType = 0;
       this.modalTitle = "璁惧淇℃伅";
       this.$refs.carForm.resetFields();
@@ -708,6 +785,14 @@
       this.$refs.carForm.resetFields();
       delete this.carForm.id;
       this.roleModalVisible = true;
+    },
+    addEquipment() {
+      this.equipmentForm={};
+      this.modalType = 0;
+      this.modalTitle = "娣诲姞璁惧";
+      this.$refs.carForm.resetFields();
+      delete this.carForm.id;
+      this.addEquipmentVisible = true;
     },
     edit(v) {
       this.buyYear = v.buyYear;
@@ -722,9 +807,23 @@
       }
       let str = JSON.stringify(v);
       let roleInfo = JSON.parse(str);
-
       this.carForm = roleInfo;
       this.roleModalVisible = true;
+    },
+    editEquipment(v) {
+      this.modalType = 1;
+      this.modalTitle = "缂栬緫璁惧";
+      this.$refs.equipmentForm.resetFields();
+      // 杞崲null涓�""
+      for (let attr in v) {
+        if (v[attr] == null) {
+          v[attr] = "";
+        }
+      }
+      let str = JSON.stringify(v);
+      let roleInfo = JSON.parse(str);
+      this.equipmentForm = roleInfo;
+      this.addEquipmentVisible = true;
     },
     removeCar(v) {
       this.dataType = 0;
@@ -739,7 +838,6 @@
       let str = JSON.stringify(v);
       let roleInfo = JSON.parse(str);
       roleInfo.status=1
-      console.log(roleInfo);
       this.removeForm = roleInfo;
       this.carModalVisible = true;
 
@@ -761,6 +859,23 @@
         },
       });
     },
+    removeEquipment(v) {
+      this.$Modal.confirm({
+        title: "纭鍒犻櫎",
+        content: "鎮ㄧ‘璁よ鍒犻櫎鍚� ",
+        loading: true,
+        onOk: () => {
+          deleteEquipment({ ids: v.id }).then((res) => {
+            this.$Modal.remove();
+            if (res.success) {
+              this.clearSelectAll();
+              this.$Message.success("鍒犻櫎鎴愬姛");
+              this.getEquipmentList(this.carId);
+            }
+          });
+        },
+      });
+    },
     setDefault(v) {
       this.loading = true;
       let params = {

--
Gitblit v1.9.1