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/index.vue |   96 ++++++++++++++++++++++++++---------------------
 1 files changed, 53 insertions(+), 43 deletions(-)

diff --git a/src/views/systemSetting/device/bayonet/index.vue b/src/views/systemSetting/device/bayonet/index.vue
index 00ff0a4..5117c56 100644
--- a/src/views/systemSetting/device/bayonet/index.vue
+++ b/src/views/systemSetting/device/bayonet/index.vue
@@ -4,7 +4,7 @@
             <div class="header-content">
                 <div class="search">
                     <span style="padding-right:20px">绛涢�夋潯浠�:</span>
-                    <el-select v-model="context" placeholder="璇烽�夋嫨">
+                    <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>
@@ -14,24 +14,24 @@
         <main>
             <div class="main-content">
                 <div class="main-title">
-                    <el-button class="el-icon-plus" type="primary" @click="dialogCreate = true">娣诲姞</el-button>
+                    <el-button class="el-icon-plus" type="primary" @click="showDialog(false, null)">娣诲姞</el-button>
                     <el-button @click="handleExport">瀵煎嚭鍗″彛</el-button>
                 </div>
                 <!-- 鏁版嵁灞曠ず -->
-                <MyTable 
+                <MyTable
                     :tableOption="tableOption" 
                     :tableData="list" 
                     :pageShow="false">
                     <template #operation="info">
-                        <el-link :underline="false" style="color:#4b9bb7">缂栬緫</el-link>
+                        <el-link :underline="false" style="color:#4b9bb7" @click="showDialog(true, info)">缂栬緫</el-link>
                     </template>
                 </MyTable>
             </div>
         </main>
         <footer>
             <!-- 娣诲姞鍗″彛 -->
-            <el-dialog title="娣诲姞鍗″彛" :visible.sync="dialogCreate" width="60%" :before-close="handleClose">
-                <MyCreate :addBayonet="addBayonet"></MyCreate>
+            <el-dialog :title="getDialogTitle" :visible.sync="isShowDialog" width="60%" :before-close="handleClose">
+                <MyCreate @closeDialog="closeDialog" :originalBayonet="originalBayonet" :isEdit="isEdit"></MyCreate>
             </el-dialog>
         </footer>
     </div>
@@ -39,16 +39,16 @@
 <script>
 import MyCreate from './create'
 import MyTable from '@/components/Table'
-import {myDownLoad} from '@/utils/helper'
-import { createNamespacedHelpers } from "vuex";
-const { mapActions } = createNamespacedHelpers("bayonet");
+import bayonet from "@/api/system/bayonet";
+import {downloadFile} from "@/utils/helper";
+
 export default {
     components: {
         MyCreate, MyTable,
     },
     data() {
         return {
-            dialogCreate: false,
+            isShowDialog: false,
             context: 0,
             options: [
                 {
@@ -75,11 +75,6 @@
                         type: 'text',
                         prop: 'latitude',
                     },
-                    // {
-                    //     label: '鎵�灞炲尯鍩�',
-                    //     type: 'text',
-                    //     prop: '',
-                    // },
                     {
                         label: '鍩熷悕/IP',
                         type: 'text',
@@ -107,39 +102,56 @@
                     },
                 ]
             },
+          originalBayonet: null,
+          isEdit: false
         }
+    },
+
+    computed: {
+      getDialogTitle() {
+        return this.isEdit ? '缂栬緫鍗″彛' : '鏂板缓鍗″彛';
+      },
     },
     created() {
-        const { setTableData } = this;
-        setTableData();
+      this.getBayonetListData();
     },
     methods: {
-        // 寮圭獥鍏抽棴
-        handleClose(done) {
-            this.$confirm('纭鍏抽棴?')
-                .then(_ => {
-                    done();
-                })
-        },
-        ...mapActions(['getBayonetList', 'exportBayonetList','addBayonet']),
-        // 璁剧疆tableData
-        async setTableData() {
-            const { current, size, context } = this;
-            let arr = await this.getBayonetList({
-                // bayonetName:context,
-                current, size
+      getBayonetListData() {
+        bayonet.getBayonetList({ bayonetName: '', current: this.current, size: this.size })
+            .then(data => {
+              this.list = data;
             })
-            this.list = arr.data.data
-        },
-        // 瀵煎嚭
-        async handleExport(){
-            const { current, size, context } = this;
-            let arr = await this.exportBayonetList({
-                current, size
+            .catch(err => {
+              this.$message({ type: 'error', message: err });
             })
-            myDownLoad(arr);
-            console.log(arr);
-        }
+      },
+      // 寮圭獥鍏抽棴
+      handleClose(done) {
+          this.$confirm('纭鍏抽棴?')
+              .then(_ => {
+                  done();
+              })
+      },
+
+      closeDialog() {
+        this.isShowDialog = false;
+      },
+
+      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;
+      }
     }
 }
 </script>
@@ -151,7 +163,6 @@
 
     header {
         background-color: #09152f;
-        border: 1pox solid #fff;
 
         .header-content {
             padding: 0 40px;
@@ -186,7 +197,6 @@
         background-color: #09152f;
         margin-top: 20px;
         padding-bottom: 50px;
-        border: 1pox solid #fff;
 
         .main-title {
             line-height: 60px;

--
Gitblit v1.8.0