From 759ed15af8f9d423dc882337f8536d4bb76e7f57 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期二, 29 十一月 2022 11:06:18 +0800
Subject: [PATCH] 卡口管理还原

---
 src/views/systemSetting/device/bayonet/index.vue        |  563 ++++++++++++++++++---------------
 src/api/system/bayonet.js                               |    2 
 src/views/systemSetting/device/bayonet/create/index.vue |  439 +++++++++++++++----------
 3 files changed, 577 insertions(+), 427 deletions(-)

diff --git a/src/api/system/bayonet.js b/src/api/system/bayonet.js
index cf40d8b..ca453b8 100644
--- a/src/api/system/bayonet.js
+++ b/src/api/system/bayonet.js
@@ -4,7 +4,7 @@
         return http.get('/sccg/equipment_bayonet/query', params);
     },
     exportBayonetList: (params) => {
-        return http.downloadFile('/sccg/equipment_bayonet/export', params);
+        return http.post('/sccg/equipment_bayonet/export', params);
     },
     addBayonet: (params) => {
         return http.post('/sccg/equipment_bayonet/addition', params);
diff --git a/src/views/systemSetting/device/bayonet/create/index.vue b/src/views/systemSetting/device/bayonet/create/index.vue
index 31c6da0..170d4f3 100644
--- a/src/views/systemSetting/device/bayonet/create/index.vue
+++ b/src/views/systemSetting/device/bayonet/create/index.vue
@@ -1,206 +1,305 @@
 <template>
-    <div class="create">
-        <el-form ref="device" label-position="right" label-width="120px" :model="bayonet" :rules="rules">
-            <!-- 鍗″彛鍚嶇О -->
-            <div class="device-item">
-                <div class="item-left">
-                    <el-form-item label="鍗″彛鍚嶇О:" prop="bayonetName">
-                        <el-input v-model="bayonet.bayonetName" placeholder="璇峰~鍐欏崱鍙e悕绉�"></el-input>
-                    </el-form-item>
-                </div>
-                <div class="item-right"></div>
-            </div>
-            <!-- 缁忕含搴︿綅缃� -->
-            <div class="device-item">
-                <div class="item-left">
-                    <el-form-item label="缁忕含搴︿綅缃�:" prop="longitude">
-                        <el-input v-model="bayonet.longitude" placeholder="璇峰~鍐欑粡搴︿綅缃�"></el-input>
-                    </el-form-item>
-                    <el-form-item prop="latitude">
-                        <el-input v-model="bayonet.latitude" placeholder="璇峰~鍐欑含搴︿綅缃�"></el-input>
-                    </el-form-item>
-                </div>
-                <div class="item-right"></div>
-            </div>
-            <!-- 鎵�灞炲尯鍩� -->
-            <div class="device-item">
-                <div class="item-left">
-                    <el-form-item label="鎵�灞炲尯鍩�:" prop="belongArea">
-                        <el-input v-model="bayonet.belongArea" placeholder="璇峰~鍐欏尯鍩熷悕绉�"></el-input>
-                    </el-form-item>
-                </div>
-                <div class="item-right"></div>
-            </div>
-            <!-- 鍩熷悕/ip -->
-            <div class="device-item">
-                <div class="item-left">
-                    <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>
-            </div>
-            <!-- 绔彛鍙� -->
-            <div class="device-item">
-                <div class="item-left">
-                    <el-form-item label="绔彛鍙�:" prop="port">
-                        <el-input v-model="bayonet.port" placeholder="璇疯緭鍏ョ鍙e彿"></el-input>
-                    </el-form-item>
-                </div>
-                <div class="item-right"></div>
-            </div>
-            <!-- 鍓嶇绫诲瀷 -->
-            <div class="device-item">
-                <div class="item-left">
-                    <el-form-item label="鍓嶇绫诲瀷:" prop="frontEndType">
-                        <el-input v-model="bayonet.frontEndType" placeholder="璇疯緭鍏ュ墠绔被鍨�"></el-input>
-                    </el-form-item>
-                </div>
-                <div class="item-right"></div>
-            </div>
-            <!-- 鍑哄叆鍩庣被鍨� -->
-            <div class="device-item">
-                <div class="item-left">
-                    <el-form-item label="鍑哄叆鍩庣被鍨�:" prop="inOutCityType">
-                        <el-input v-model="bayonet.inOutCityType" placeholder="鍑哄煄/鍏ュ煄"></el-input>
-                    </el-form-item>
-                </div>
-                <div class="item-right"></div>
-            </div>
-            <!-- 鎻忚堪 -->
-            <div class="device-item">
-                <div class="item-left">
-                    <el-form-item label="鎻忚堪:" prop="description">
-                        <el-input type="textarea" :rows='5' maxlength="200" v-model="bayonet.description" placeholder="璇疯緭鍏ユ弿杩板唴瀹�200瀛椾互鍐�"></el-input>
-                    </el-form-item>
-                </div>
-                <div class="item-right"></div>
-            </div>
-            <!-- 鎸夐挳 -->
-            <div class="device-btn">
-                <el-button @click="closeDialog">杩斿洖</el-button>
-                <el-button type="primary" @click="onSubmit">纭畾</el-button>
-            </div>
-        </el-form>
-    </div>
+  <div class="create">
+    <el-form
+      ref="device"
+      label-position="right"
+      label-width="120px"
+      :model="bayonet"
+      :rules="rules"
+    >
+      <!-- 鍗″彛鍚嶇О -->
+      <div class="device-item">
+        <div class="item-left">
+          <el-form-item label="鍗″彛鍚嶇О:" prop="name">
+            <el-input
+              v-model="bayonet.name"
+              placeholder="璇峰~鍐欏崱鍙e悕绉�"
+            ></el-input>
+          </el-form-item>
+        </div>
+        <div class="item-right"></div>
+      </div>
+      <!-- 缁忕含搴︿綅缃� -->
+      <div class="device-item">
+        <div class="item-left">
+          <el-form-item label="缁忕含搴︿綅缃�:" prop="longitude">
+            <el-input
+              v-model="bayonet.longitude"
+              placeholder="璇峰~鍐欑粡搴︿綅缃�"
+            ></el-input>
+          </el-form-item>
+          <el-form-item prop="latitude">
+            <el-input
+              v-model="bayonet.latitude"
+              placeholder="璇峰~鍐欑含搴︿綅缃�"
+            ></el-input>
+          </el-form-item>
+        </div>
+        <div class="item-right"></div>
+      </div>
+      <!-- 鎵�灞炲尯鍩� -->
+      <div class="device-item">
+        <div class="item-left">
+          <el-form-item label="鎵�灞炲尯鍩�:" prop="belongArea">
+            <el-input
+              v-model="bayonet.belongArea"
+              placeholder="璇峰~鍐欏尯鍩熷悕绉�"
+            ></el-input>
+          </el-form-item>
+        </div>
+        <div class="item-right"></div>
+      </div>
+      <!-- 鍩熷悕/ip -->
+      <div class="device-item">
+        <div class="item-left">
+          <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>
+      </div>
+      <!-- 绔彛鍙� -->
+      <div class="device-item">
+        <div class="item-left">
+          <el-form-item label="绔彛鍙�:" prop="port">
+            <el-input
+              v-model="bayonet.port"
+              placeholder="璇疯緭鍏ョ鍙e彿"
+            ></el-input>
+          </el-form-item>
+        </div>
+        <div class="item-right"></div>
+      </div>
+      <!-- 鍓嶇绫诲瀷 -->
+      <div class="device-item">
+        <div class="item-left">
+          <el-form-item class="optionItem" label="鍓嶇绫诲瀷:" prop="role">
+            <el-select
+              v-model="bayonet.frontEndType"
+              placeholder="璇疯緭鍏ュ墠绔被鍨�"
+              collapse-tags
+            >
+              <el-option
+                v-for="item in frontEndTypeList"
+                :key="item.id"
+                :label="item.name"
+                :value="item.id"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+        </div>
+        <div class="item-right"></div>
+      </div>
+      <!-- 鍑哄叆鍩庣被鍨� -->
+      <div class="device-item">
+        <div class="item-left">
+          <el-form-item class="optionItem" label="鍑哄叆鍩庣被鍨�:" prop="role">
+            <el-select
+              v-model="bayonet.inOutCityType"
+              placeholder="璇疯緭鍏ュ嚭鍏ュ煄绫诲瀷"
+              collapse-tags
+            >
+              <el-option
+                v-for="item in inOutTypeList"
+                :key="item.id"
+                :label="item.name"
+                :value="item.id"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+        </div>
+        <div class="item-right"></div>
+      </div>
+      <!-- 鎻忚堪 -->
+      <div class="device-item">
+        <div class="item-left">
+          <el-form-item label="鎻忚堪:" prop="description">
+            <el-input
+              type="textarea"
+              :rows="5"
+              maxlength="200"
+              v-model="bayonet.description"
+              placeholder="璇疯緭鍏ユ弿杩板唴瀹�200瀛椾互鍐�"
+            ></el-input>
+          </el-form-item>
+        </div>
+        <div class="item-right"></div>
+      </div>
+      <!-- 鎸夐挳 -->
+      <div class="device-btn">
+        <el-button @click="closeDialog">杩斿洖</el-button>
+        <el-button type="primary" @click="onSubmit">纭畾</el-button>
+      </div>
+    </el-form>
+  </div>
 </template>
 <script>
 import bayonet from "@/api/system/bayonet";
-import { deepClone } from "@/utils/helper";
+import { deepClone, getTypeList } from "@/utils/helper";
 
 export default {
   props: {
     originalBayonet: {
       type: Object,
-      default: () => {}
+      default: () => {},
     },
     isEdit: {
       type: Boolean,
-      default: () => false
-    }
+      default: () => false,
+    },
   },
 
   data() {
-      return {
-          bayonet: {
-              bayonetName: '',
-              latitude: '',
-              longitude: '',
-              belongArea: '',
-              ipAddress: '',
-              port: '',
-              frontEndType: '',
-              inOutCityType: '',
-              description: ''
+    return {
+      bayonet: {
+        name: "",
+        latitude: "",
+        longitude: "",
+        belongArea: "",
+        ipAddress: "",
+        port: "",
+        frontEndType: "",
+        inOutCityType: "",
+        description: "",
+      },
+      rules: {
+        name: [{ required: true, trigger: "blur", message: "璇峰~鍐欏崱鍙e悕绉�" }],
+        latitude: [
+          {
+            required: true,
+            trigger: ["blur", "change"],
+            message: "璇峰~鍐欑含搴︿綅缃�",
           },
-          rules: {
-            bayonetName: [{ required: true, trigger: 'blur', message: '璇峰~鍐欏崱鍙e悕绉�' }],
-            latitude: [{ required: true, trigger: ['blur', 'change'], message: '璇峰~鍐欑含搴︿綅缃�' }],
-            longitude: [{ required: true, trigger: ['blur', 'change'], message: '璇峰~鍐欑粡搴︿綅缃�' }],
-            belongArea: [{ 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: '璇疯緭鍏ユ弿杩板唴瀹�' }]
-          }
-      }
+        ],
+        longitude: [
+          {
+            required: true,
+            trigger: ["blur", "change"],
+            message: "璇峰~鍐欑粡搴︿綅缃�",
+          },
+        ],
+        belongArea: [
+          {
+            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: "璇峰~鍐欏嚭鍩�/鍏ュ煄",
+          },
+        ],
+      },
+      frontEndTypeList: [],
+      inOutTypeList: [],
+    };
   },
-
+  beforeCreate() {},
   created() {
-    this.bayonet = deepClone(this.originalBayonet);
+    this.getInOutCityTypeList();
+    this.getFrontEndTypeList();
     if (this.originalBayonet) {
-      this.bayonet.bayonetName = this.originalBayonet.name;
+      this.bayonet = this.originalBayonet;
     }
   },
-
   methods: {
-      onSubmit() {
-        this.$refs.device.validate(valid => {
-          if (valid) {
-            this.bayonet.longitude = Number(this.bayonet.longitude);
-            this.bayonet.latitude = Number(this.bayonet.latitude);
-            this.bayonet.inOutCityType = Number(this.bayonet.inOutCityType);
-            this.bayonet.belongArea = Number(this.bayonet.belongArea);
-            const copyBayonet = deepClone(this.bayonet);
-            delete copyBayonet.id;
-            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 });
-                  })
-            }
+    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 {
-           this.$message({ type: 'warning', message: '璇锋鏌ュ繀濉」' });
+            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: "璇锋鏌ュ繀濉」" });
+        }
+      });
+    },
+    async getInOutCityTypeList() {
+      this.inOutTypeList = await getTypeList(1, "14");
+    },
 
-      closeDialog() {
-        this.$emit('closeDialog');
-      }
-  }
-
-}
+    async getFrontEndTypeList() {
+      this.frontEndTypeList = await getTypeList(1, "13");
+    },
+    closeDialog() {
+      this.$emit("closeDialog");
+    },
+  },
+};
 </script>
 <style lang="scss" scoped>
 .create {
-    padding: 20px;
+  padding: 20px;
 
-    .device-item {
-        display: flex;
+  .device-item {
+    display: flex;
 
-        .item-left {
-            flex: 6;
-            display: flex;
+    .item-left {
+      flex: 6;
+      display: flex;
 
-            .el-form-item {
-                flex: 1;
-            }
-        }
-
-        .item-right {
-            flex: 4;
-        }
+      .el-form-item {
+        flex: 1;
+      }
     }
 
-    .device-btn {
-        padding-top: 20px;
-        display: flex;
-        justify-content: center;
+    .item-right {
+      flex: 4;
     }
+  }
+
+  .device-btn {
+    padding-top: 20px;
+    display: flex;
+    justify-content: center;
+  }
 }
 </style>
\ No newline at end of file
diff --git a/src/views/systemSetting/device/bayonet/index.vue b/src/views/systemSetting/device/bayonet/index.vue
index 6781e1b..b2a50c0 100644
--- a/src/views/systemSetting/device/bayonet/index.vue
+++ b/src/views/systemSetting/device/bayonet/index.vue
@@ -1,291 +1,342 @@
 <template>
-    <div class="userList">
-        <header>
-            <div class="header-content">
-                <div class="search">
-                    <span style="padding-right:20px">绛涢�夋潯浠�:</span>
-                    <el-select v-model="context" placeholder="璇烽�夋嫨" @change="getBayonetListData">
-                        <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
-                        </el-option>
-                    </el-select>
-                </div>
-            </div>
-        </header>
-        <main>
-            <div class="main-content">
-                <div class="main-title">
-                    <el-button class="el-icon-plus" type="primary" @click="showDialog(false, null)">娣诲姞</el-button>
-                    <el-button @click="handleExport">瀵煎嚭鍗″彛</el-button>
-                </div>
-                <!-- 鏁版嵁灞曠ず -->
-                <MyTable
-                    :tableOption="tableOption" 
-                    :tableData="list" 
-                    :pageShow="false">
-                    <template #operation="info">
-                        <el-link :underline="false" style="color:#4b9bb7" @click="showDialog(true, info)">缂栬緫</el-link>
-                    </template>
-                </MyTable>
-            </div>
-        </main>
-        <footer>
-            <!-- 娣诲姞鍗″彛 -->
-            <el-dialog :destroy-on-close="true" :title="getDialogTitle" :visible.sync="isShowDialog" width="60%" :before-close="handleClose">
-                <MyCreate v-if="isShowDialog" @closeDialog="closeDialog" :originalBayonet="originalBayonet" :isEdit="isEdit"></MyCreate>
-            </el-dialog>
-        </footer>
-    </div>
+  <div class="userList">
+    <header>
+      <div class="header-content">
+        <div class="search">
+          <span style="padding-right: 20px">绛涢�夋潯浠�:</span>
+          <el-select
+            v-model="context"
+            placeholder="璇烽�夋嫨"
+            @change="getBayonetListData"
+          >
+            <el-option
+              v-for="item in options"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            >
+            </el-option>
+          </el-select>
+        </div>
+      </div>
+    </header>
+    <main>
+      <div class="main-content">
+        <div class="main-title">
+          <el-button
+            class="el-icon-plus"
+            type="primary"
+            @click="showDialog(false, null)"
+            >娣诲姞</el-button
+          >
+          <el-button @click="handleExport">瀵煎嚭鍗″彛</el-button>
+        </div>
+        <!-- 鏁版嵁灞曠ず -->
+        <MyTable :tableOption="tableOption" :tableData="list" :pageShow="false">
+          <template #operation="info">
+            <el-link
+              :underline="false"
+              style="color: #4b9bb7"
+              @click="showDialog(true, info)"
+              >缂栬緫</el-link
+            >
+
+            <span class="line">|</span>
+            <el-link
+              :underline="false"
+              style="color: #4b9bb7"
+              @click="handleDelete(info)"
+              >鍒犻櫎</el-link
+            >
+          </template>
+        </MyTable>
+      </div>
+    </main>
+    <footer>
+      <!-- 娣诲姞鍗″彛 -->
+      <el-dialog
+        :destroy-on-close="true"
+        :title="getDialogTitle"
+        :visible.sync="isShowDialog"
+        width="60%"
+        :before-close="handleClose"
+      >
+        <MyCreate
+          v-if="isShowDialog"
+          @closeDialog="closeDialog"
+          :originalBayonet="originalBayonet"
+          :isEdit="isEdit"
+        ></MyCreate>
+      </el-dialog>
+    </footer>
+  </div>
 </template>
 <script>
-import MyCreate from './create'
-import MyTable from '@/components/Table'
+import MyCreate from "./create";
+import MyTable from "@/components/Table";
 import bayonet from "@/api/system/bayonet";
 import { downloadFile } from "@/utils/helper";
 
 export default {
-    components: {
-        MyCreate, MyTable,
+  components: {
+    MyCreate,
+    MyTable,
+  },
+  data() {
+    return {
+      isShowDialog: false,
+      context: 0,
+      options: [
+        {
+          value: 0,
+          label: "绂荤嚎",
+        },
+        {
+          value: 1,
+          label: "鍦ㄧ嚎",
+        },
+      ],
+      list: [],
+      current: 1,
+      size: 10,
+      tableOption: {
+        group: [
+          {
+            label: "鍗″彛鍚嶇О",
+            type: "text",
+            prop: "name",
+          },
+          {
+            label: "鍩熷悕/IP",
+            type: "text",
+            prop: "ipAddress",
+          },
+          {
+            label: "绔彛鍙�",
+            type: "text",
+            prop: "port",
+          },
+          {
+            label: "鍓嶇绫诲瀷",
+            type: "text",
+            prop: "frontEndTypeName",
+          },
+          {
+            label: "鍑哄叆鍩庣被鍨�",
+            type: "text",
+            prop: "inOutCityTypeName",
+          },
+          {
+            label: "鎿嶄綔",
+            type: "operation",
+            prop: "operation",
+          },
+        ],
+      },
+      originalBayonet: null,
+      isEdit: false,
+    };
+  },
+
+  computed: {
+    getDialogTitle() {
+      return this.isEdit ? "缂栬緫鍗″彛" : "鏂板缓鍗″彛";
     },
-    data() {
-        return {
-            isShowDialog: false,
-            context: null,
-            options: [
-                {
-                    value: 0,
-                    label: '绂荤嚎',
-                },
-                {
-                    value: 1,
-                    label: '鍦ㄧ嚎',
-                }
-            ],
-            list: [],
-            current: 1,
-            size: 10,
-            tableOption: {
-                group: [
-                    {
-                        label: '鍗″彛鍚嶇О',
-                        type: 'text',
-                        prop: 'bayonetName',
-                    },
-                    {
-                        label: '缁忕含搴︿綅缃�',
-                        type: 'text',
-                        prop: 'latitude',
-                    },
-                    {
-                        label: '鍩熷悕/IP',
-                        type: 'text',
-                        prop: 'ipAddress',
-                    },
-                    {
-                        label: '绔彛鍙�',
-                        type: 'text',
-                        prop: 'port',
-                    },
-                    {
-                        label: '鍓嶇绫诲瀷',
-                        type: 'text',
-                        prop: 'frontEndType',
-                    },
-                    {
-                        label: '鍑哄叆鍩庣被鍨�',
-                        type: 'text',
-                        prop: 'inOutCityType',
-                    },
-                    {
-                        label: '鎿嶄綔',
-                        type: 'operation',
-                        prop: 'operation',
-                    },
-                ]
-            },
-          originalBayonet: null,
-          isEdit: false
-        }
+  },
+  created() {
+    this.getBayonetListData();
+  },
+  methods: {
+    getBayonetListData() {
+      bayonet
+        .getBayonetList({
+          bayonetName: "",
+          current: this.current,
+          size: this.size,
+        })
+        .then(({ records }) => {
+          this.list = records;
+        })
+        .catch((err) => {
+          this.$message({ type: "error", message: err });
+        });
+    },
+    // 寮圭獥鍏抽棴
+    handleClose(done) {
+      this.$confirm("纭鍏抽棴?").then((_) => {
+        done();
+      });
     },
 
-    computed: {
-      getDialogTitle() {
-        return this.isEdit ? '缂栬緫鍗″彛' : '鏂板缓鍗″彛';
-      },
-    },
-    created() {
+    closeDialog() {
+      this.isShowDialog = false;
       this.getBayonetListData();
     },
-    methods: {
-      getBayonetListData() {
-        bayonet.getBayonetList({ bayonetName: this.context, current: this.current, size: this.size })
-            .then(({ records }) => {
-              this.list = records;
-            })
-            .catch(err => {
-              this.$message({ type: 'error', message: err });
-            })
-      },
-      // 寮圭獥鍏抽棴
-      handleClose(done) {
-          this.$confirm('纭鍏抽棴?')
-              .then(_ => {
-                  done();
-              })
-      },
 
-      closeDialog() {
-        this.isShowDialog = false;
-        this.getBayonetListData();
-      },
-
-      handleExport() {
-        bayonet.exportBayonetList({ bayonetName: this.context, current: this.current, size: this.size })
-            .then(res => {
-              downloadFile(res);
-              this.$message({ type: 'success', message: '鎿嶄綔鎴愬姛' });
-            })
-            .catch(err => {
-              this.$message({ type: 'error', message: err });
-            })
-      },
-      showDialog(isEdit, data) {
-        this.isShowDialog = true;
-        this.isEdit = isEdit;
-        this.originalBayonet = data.info.row;
-      }
-    }
-}
+    handleExport() {
+      bayonet
+        .exportBayonetList({
+          bayonetName: this.context,
+          current: this.current,
+          size: this.size,
+        })
+        .then((res) => {
+          downloadFile(res);
+          this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+        })
+        .catch((err) => {
+          this.$message({ type: "error", message: err });
+        });
+    },
+    handleDelete(data) {
+      this.$confirm("纭鍒犻櫎锛�").then((_) => {
+        bayonet.deleteBayonet(data.info.row.id).then((res) => {
+          this.$message({
+            type: "success",
+            message: "鍒犻櫎鎴愬姛锛�",
+          });
+          this.getBayonetListData();
+        });
+      });
+    },
+    showDialog(isEdit, data) {
+      this.isShowDialog = true;
+      this.isEdit = isEdit;
+      this.originalBayonet = data ? data.info.row : null;
+    },
+  },
+};
 </script>
 <style lang="scss" scoped>
 .userList {
-    text-align: left;
-    margin: 10px 20px;
-    color: #4b9bb7;
+  text-align: left;
+  margin: 10px 20px;
+  color: #4b9bb7;
 
-    header {
-        background-color: #09152f;
+  header {
+    background-color: #09152f;
 
-        .header-content {
-            padding: 0 40px;
-            display: flex;
-            line-height: 100px;
-            justify-content: space-between;
-            align-items: center;
+    .header-content {
+      padding: 0 40px;
+      display: flex;
+      line-height: 100px;
+      justify-content: space-between;
+      align-items: center;
 
-            .search {
-                display: flex;
-                justify-content: flex-start;
+      .search {
+        display: flex;
+        justify-content: flex-start;
 
-                span {
-                    flex: 1;
-                }
-
-                .el-input {
-                    flex: 2;
-                    color: #1d3f57;
-
-                    &::v-deep .el-input__inner {
-                        background-color: #09152f;
-                        border: 1px solid #17324c;
-                    }
-                }
-
-            }
+        span {
+          flex: 1;
         }
+
+        .el-input {
+          flex: 2;
+          color: #1d3f57;
+
+          &::v-deep .el-input__inner {
+            background-color: #09152f;
+            border: 1px solid #17324c;
+          }
+        }
+      }
+    }
+  }
+
+  main {
+    background-color: #09152f;
+    margin-top: 20px;
+    padding-bottom: 50px;
+
+    .main-title {
+      line-height: 60px;
+      padding: 10px 20px;
     }
 
-    main {
-        background-color: #09152f;
-        margin-top: 20px;
-        padding-bottom: 50px;
+    .tools {
+      display: flex;
+      justify-content: space-between;
+      align-items: center;
+      padding: 0 20px;
 
-        .main-title {
-            line-height: 60px;
-            padding: 10px 20px;
-        }
+      .funs {
+        display: flex;
 
-        .tools {
-            display: flex;
-            justify-content: space-between;
-            align-items: center;
-            padding: 0 20px;
+        .funsItem {
+          line-height: 28px;
+          display: flex;
+          align-items: center;
+          border: 1px solid #17324c;
+          border-radius: 4px;
+          font-size: 12px;
+          margin-left: 10px;
 
-            .funs {
-                display: flex;
+          .el-checkbox {
+            width: 80px;
+            padding: 0 10px;
+          }
 
-                .funsItem {
-                    line-height: 28px;
-                    display: flex;
-                    align-items: center;
-                    border: 1px solid #17324c;
-                    border-radius: 4px;
-                    font-size: 12px;
-                    margin-left: 10px;
+          .el-select {
+            width: 120px;
+          }
 
-                    .el-checkbox {
-                        width: 80px;
-                        padding: 0 10px;
-                    }
+          &::v-deep .el-input__inner {
+            border: none;
+            background-color: #09152f;
+          }
 
-                    .el-select {
-                        width: 120px;
-                    }
+          &:hover {
+            border: 1px solid #4b9bb7;
+          }
 
-                    &::v-deep .el-input__inner {
-                        border: none;
-                        background-color: #09152f;
-                    }
-
-                    &:hover {
-                        border: 1px solid #4b9bb7;
-                    }
-
-                    &:hover .el-checkbox {
-                        color: #4b9bb7;
-                    }
-                }
-
-            }
-
-            .pagination {
-                margin-top: 50px;
-                display: flex;
-                line-height: 50px;
-                justify-content: center;
-
-                .el-pagination {
-
-                    &::v-deep li,
-                    &::v-deep .btn-prev,
-                    &::v-deep .btn-next {
-                        background-color: #071f39;
-                        color: #4b9bb7;
-                    }
-
-                    &::v-deep .active {
-                        background-color: #409eff;
-                        color: #fff;
-                    }
-                }
-            }
-        }
-
-        .el-table {
+          &:hover .el-checkbox {
             color: #4b9bb7;
-            font-size: 10px;
-
-            .operation {
-                display: flex;
-
-                .line {
-                    padding: 0 5px;
-                }
-
-                span:hover {
-                    cursor: pointer;
-                }
-            }
+          }
         }
+      }
+
+      .pagination {
+        margin-top: 50px;
+        display: flex;
+        line-height: 50px;
+        justify-content: center;
+
+        .el-pagination {
+          &::v-deep li,
+          &::v-deep .btn-prev,
+          &::v-deep .btn-next {
+            background-color: #071f39;
+            color: #4b9bb7;
+          }
+
+          &::v-deep .active {
+            background-color: #409eff;
+            color: #fff;
+          }
+        }
+      }
     }
+
+    .el-table {
+      color: #4b9bb7;
+      font-size: 10px;
+
+      .cell {
+        display: flex;
+
+        &::v-deep .line {
+          padding: 0 5px;
+        }
+
+        span:hover {
+          cursor: pointer;
+        }
+      }
+    }
+  }
+}
+.line {
+  padding: 0 5px;
 }
 </style>
\ No newline at end of file

--
Gitblit v1.8.0