Browse Source

故障字典、通迅管理页面

Rmengdi 4 months ago
parent
commit
a136931c55

+ 0 - 48
src/api/als/communication.js

@@ -15,51 +15,3 @@ export const updateCommunication = async (data) => {
 export const removeCommunication = async (data) => {
   return await deletes('/als/communication/' + data)
 }
-
-//下载模板
-export const downLoadFile = async (data) => {
-  window.open(process.env.VUE_APP_BASE_API + '/basicdata/aircaftModel/downLoadFile')
-}
-//导出
-export const exportExcel = async (data) => {
-  window.open(process.env.VUE_APP_BASE_API + `/basicdata/aircaftModel/exportExcel?aircaftTypeId=${data.aircaftTypeId}&queryParam=${data.queryParam}`)
-}
-
-// --------------------------
-export const addAircaftType = async (data) => {
-  return await post('/basicdata/aircaftType/addAircaftType', data)
-}
-
-export const updateAircaftType = async (data) => {
-  return await post('/basicdata/aircaftType/updateAircaftType', data)
-}
-
-export const removeAircaftType = async (data) => {
-  return await post('/basicdata/aircaftType/removeAircaftType', data)
-}
-
-//下载模板
-export const downLoadAircaftTypeFile = async (data) => {
-  window.open(process.env.VUE_APP_BASE_API + '/basicdata/aircaftType/downLoadFile')
-}
-//导出
-export const exportAircaftTypeExcel = async (data) => {
-  window.open(process.env.VUE_APP_BASE_API + `/basicdata/aircaftType/exportExcel?queryParam=${data.queryParam}`)
-}
-
-// --------------------------------------------------------------------------------------------
-export const getAvmatCategoriesTree = async (data) => {
-  return await get('/basicdata/avmatcategories/getAvmatCategoriesTree', data)
-}
-
-export const getAvmatCatalog = async (data) => {
-  return await post('/basicdata/avmatCatalog/getAvmatCatalog', data)
-}
-
-export const queryByCodeOrName = async (data) => {
-  return await post('/basicdata/avmatCatalog/queryByCodeOrName', data)
-}
-
-export const getAircaftType = async (data) => {
-  return await get('/basicdata/aircaftType/getAircaftType', data)
-}

+ 1 - 2
src/api/als/faultCase.js

@@ -2,12 +2,11 @@ import { get, put, post, deletes } from '@/http/index'
 
 // 查询故障案例列表
 export const getFaultCase = async (data) => {
-  return await get('/als/faultCase/list', data)
+  return await get('/als/faultCase/esList', data)
 }
 
 // 新增故障案例
 export const addFaultCase = async (data) => {
-  data.viewCount = '0'
   return await post('/als/faultCase', data)
 }
 

+ 211 - 127
src/views/als/faultCase/index.vue

@@ -1,13 +1,21 @@
 <template>
   <div class="view-table-content">
-    <div class="view-dataSpecies-right">
+    <div style="width: 100%">
       <div class="view-dataType-title">
         <div class="view-dataType-title-btn">
           <el-button type="success" @click="openDialog()" :disabled="currentNode.type == 2">新增</el-button>
           <el-button type="warning" @click="remove(tableCheckItems)" :disabled="tableCheckItems.length == 0">删除</el-button>
+          <el-dropdown split-button type="primary" style="margin-left: 10px" trigger="click" @command="handleExport">
+            更多
+            <el-dropdown-menu slot="dropdown">
+              <el-dropdown-item command="handleImport">导入</el-dropdown-item>
+              <el-dropdown-item command="handleExport" :disabled="tableData.length == 0">导出</el-dropdown-item>
+              <el-dropdown-item command="importTemplate">下载数据模板</el-dropdown-item>
+            </el-dropdown-menu>
+          </el-dropdown>
         </div>
         <div class="view-dataType-title-search">
-          <el-input placeholder="请输入故障名称" v-model="keyWordData" class="input1">
+          <el-input placeholder="请输入故障现象" v-model="keyWordData" class="input1">
             <el-button slot="append" icon="el-icon-search" @click="searchClick(keyWordData)"></el-button>
           </el-input>
         </div>
@@ -18,48 +26,21 @@
       <!-- 添加或修改故障案例对话框 -->
       <el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="600px" :before-close="handleClose">
         <el-form ref="form" :model="form" label-width="80px">
-          <el-form-item label="序号" prop="id">
-            <el-input v-model="form.id" placeholder="请输入序号" />
-          </el-form-item>
-          <el-form-item label="飞机编号" prop="aircraftTypeId">
-            <el-input v-model="form.aircraftTypeId" placeholder="请输入飞机编号" />
-          </el-form-item>
           <el-form-item label="机型" prop="aircraftTypeName">
-            <el-input v-model="form.aircraftTypeName" placeholder="请输入机型" />
-          </el-form-item>
-          <el-form-item label="系统编号" prop="aircraftSystemId">
-            <el-input v-model="form.aircraftSystemId" placeholder="请输入系统编号" />
+            <treeselect :value="form.aircraftTypeName" :normalizer="aircraftTypeNormalizer" :options="aircraftTypeTreeData" :show-count="true" placeholder="请选择机型" @select="aircraftTypeChange" />
           </el-form-item>
           <el-form-item label="系统" prop="aircraftSystemName">
             <el-input v-model="form.aircraftSystemName" placeholder="请输入系统" />
           </el-form-item>
-          <el-form-item label="分系统编号" prop="aircraftSubsystemId">
-            <el-input v-model="form.aircraftSubsystemId" placeholder="请输入分系统编号" />
-          </el-form-item>
           <el-form-item label="分系统" prop="aircraftSubsystemName">
             <el-input v-model="form.aircraftSubsystemName" placeholder="请输入分系统" />
           </el-form-item>
-          <el-form-item label="作者" prop="author">
-            <el-input v-model="form.author" placeholder="请输入作者" />
-          </el-form-item>
           <el-form-item label="故障现象" prop="faultPhenomenon">
             <el-input v-model="form.faultPhenomenon" placeholder="请输入故障现象" />
           </el-form-item>
           <el-form-item label="故障原因" prop="faultCause">
             <el-input v-model="form.faultCause" placeholder="请输入故障原因" />
           </el-form-item>
-          <el-form-item label="故障树" prop="faultTreePath">
-            <FileUpload v-model="form.faultTreePath" :limit="1" :fileSize="500" :fileType="['jpg', 'jpeg', 'png']" />
-          </el-form-item>
-          <el-form-item label="故障图" prop="faultPicturePath">
-            <FileUpload v-model="form.faultPicturePath" :limit="1" :fileSize="500" :fileType="['jpg', 'jpeg', 'png']" />
-          </el-form-item>
-          <el-form-item label="排故方法" prop="troubleshootingMethodPath">
-            <el-input v-model="form.troubleshootingMethodPath" placeholder="请输入排故方法" />
-          </el-form-item>
-          <el-form-item label="排序" prop="orderBy">
-            <el-input v-model="form.orderBy" placeholder="请输入排序" />
-          </el-form-item>
         </el-form>
 
         <span slot="footer" class="dialog-footer">
@@ -70,23 +51,45 @@
 
       <el-dialog title="故障案例详情" :visible.sync="detailVisible" width="1000px" :show-close="false">
         <el-descriptions border>
-          <el-descriptions-item label="飞机编号">{{ form.aircraftTypeId }}</el-descriptions-item>
-          <el-descriptions-item label="机型">{{ form.aircraftTypeName }}</el-descriptions-item>
-          <el-descriptions-item label="系统编号">{{ form.aircraftSystemId }}</el-descriptions-item>
+          <el-descriptions-item label="机型">{{ detailAircraftType }}</el-descriptions-item>
           <el-descriptions-item label="系统">{{ form.aircraftSystemName }}</el-descriptions-item>
-          <el-descriptions-item label="分系统编号">{{ form.aircraftSubsystemId }}</el-descriptions-item>
           <el-descriptions-item label="分系统">{{ form.aircraftSubsystemName }}</el-descriptions-item>
-          <el-descriptions-item label="作者">{{ form.author }}</el-descriptions-item>
           <el-descriptions-item label="故障现象">{{ form.faultPhenomenon }}</el-descriptions-item>
           <el-descriptions-item label="故障原因">{{ form.faultCause }}</el-descriptions-item>
-          <el-descriptions-item :span="1" label="排故方法">{{ form.troubleshootingMethodPath }}</el-descriptions-item>
+          <!-- <el-descriptions-item :span="1" label="排故方法">{{ form.troubleshootingMethodPath }}</el-descriptions-item>
           <el-descriptions-item label="故障图"><img :src="faultPicturePathUrl" width="200px" /></el-descriptions-item>
-          <el-descriptions-item label="故障树"><img :src="faultPicturePathUrl" width="200px" /></el-descriptions-item>
+          <el-descriptions-item label="故障树"><img :src="faultPicturePathUrl" width="200px" /></el-descriptions-item> -->
         </el-descriptions>
         <span slot="footer" class="dialog-footer">
           <el-button @click="detailSubmit">确 定</el-button>
         </span>
       </el-dialog>
+
+      <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
+        <el-upload
+          ref="upload"
+          :limit="1"
+          accept=".xlsx, .xls"
+          :headers="upload.headers"
+          :action="upload.url + '?updateSupport=' + upload.updateSupport"
+          :disabled="upload.isUploading"
+          :on-progress="handleFileUploadProgress"
+          :on-success="handleFileSuccess"
+          :auto-upload="false"
+          drag
+        >
+          <i class="el-icon-upload"></i>
+          <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
+          <div class="el-upload__tip text-center" slot="tip">
+            <div class="el-upload__tip" slot="tip"><el-checkbox v-model="upload.updateSupport" /> 是否更新已经存在的用户数据</div>
+            <span>仅允许导入xls、xlsx格式文件。</span>
+          </div>
+        </el-upload>
+        <div slot="footer" class="dialog-footer">
+          <el-button type="primary" @click="submitFileForm">确 定</el-button>
+          <el-button @click="upload.open = false">取 消</el-button>
+        </div>
+      </el-dialog>
     </div>
   </div>
 </template>
@@ -95,11 +98,16 @@
 import { getFaultCase, addFaultCase, updateFaultCase, removeFaultCase } from '@/api/als/faultCase'
 import { deepClone, debounce } from '@/utils/index'
 import { getListByIdsApi } from '@/api/als/oss'
-import FileUpload from '@/views/als/components/FileUpload'
+import { getItem } from '@/utils/index'
+import { getAircaftTypeAndModelTree } from '@/api/als/sideTree'
+import Treeselect from '@riophae/vue-treeselect'
+import '@riophae/vue-treeselect/dist/vue-treeselect.css'
+import { flattenTree, download } from '../utils/common'
+// import FileUpload from '@/views/als/components/FileUpload'
 
 export default {
   name: 'FaultCase',
-  components: { FileUpload },
+  components: { Treeselect },
   data() {
     // 这里存放数据
     return {
@@ -117,54 +125,68 @@ export default {
       },
       searchValue: '',
       columns: [
-        {
-          prop: 'aircraftTypeId',
-          label: '机型编号'
-        },
         {
           prop: 'aircraftTypeName',
-          label: '机型'
-        },
-        {
-          prop: 'aircraftSystemId',
-          label: '系统编号'
+          label: '机型',
+          render: (h, params) => {
+            const matchedItem = this.aircraftTypeAll.find((item) => params.row.aircraftTypeName.trim() === item.id.trim())
+            if (matchedItem) {
+              return h('span', matchedItem.label)
+            } else {
+              return h('span', {}, '')
+            }
+          }
         },
         {
           prop: 'aircraftSystemName',
           label: '系统'
         },
-        {
-          prop: 'aircraftSubsystemId',
-          label: '分系统编号'
-        },
         {
           prop: 'aircraftSubsystemName',
           label: '分系统'
         },
-        {
-          prop: 'author',
-          label: '作者'
-        },
         {
           prop: 'faultPhenomenon',
-          label: '故障现象'
+          label: '故障现象',
+          render: (h, params) => {
+            return h('span', {
+              domProps: {
+                innerHTML: params.row.faultPhenomenon ? params.row.faultPhenomenon : params.row.pcontent
+              }
+            })
+          }
         },
         {
           prop: 'faultCause',
-          label: '故障原因'
+          label: '故障原因',
+          render: (h, params) => {
+            return h('span', {
+              domProps: {
+                innerHTML: params.row.faultCause ? params.row.faultCause : params.row.fcontent
+              }
+            })
+          }
+        },
+        {
+          prop: 'viewCount',
+          label: '浏览次数'
         },
         // {
-        //   prop: 'faultTreePath',
-        //   label: '故障树'
+        //   prop: 'createBy',
+        //   label: '创建人'
         // },
         // {
-        //   prop: 'faultPicturePath',
-        //   label: '故障图'
+        //   prop: 'createTime',
+        //   label: '创建时间'
+        // },
+        // {
+        //   prop: 'updateBy',
+        //   label: '最后修改人'
+        // },
+        // {
+        //   prop: 'updateTime',
+        //   label: '最后修改时间'
         // },
-        {
-          prop: 'troubleshootingMethodPath',
-          label: '排故方法'
-        },
         {
           button: true,
           label: '操作',
@@ -202,11 +224,11 @@ export default {
       ],
 
       options: {
-        stripe: true, // 斑马纹
-        mutiSelect: true, // 多选框
-        index: false, // 显示序号, 多选则 mutiSelect
-        loading: false, // 表格动画
-        initTable: false, // 是否一挂载就加载数据
+        stripe: true,
+        mutiSelect: false,
+        index: true,
+        loading: false,
+        initTable: false,
         border: true,
         height: 'calc(100vh - 300px)'
       },
@@ -219,49 +241,35 @@ export default {
         searchValue: ''
       },
       form: {
-        id: '',
-        aircraftTypeId: '',
-        aircraftTypeName: '',
-        aircraftSystemId: '',
+        aircraftTypeName: null,
         aircraftSystemName: '',
-        aircraftSubsystemId: '',
         aircraftSubsystemName: '',
-        author: '',
         faultPhenomenon: '',
         faultCause: '',
         faultTreePath: '',
         faultPicturePath: '',
         troubleshootingMethodPath: '',
-        viewCount: '1',
-        orderBy: '',
-        tenantId: '',
-        version: '',
-        delFlag: '',
+        viewCount: 0,
         createBy: '',
         createTime: '',
         updateBy: '',
         updateTime: ''
       },
       debounceFn: debounce(this.fetch, 500),
-      aircaftModelAll: [],
-      aircaftCatalogAll: [],
-      systemItemList: [{ id: 1, label: '特设' }],
-      levelList: [
-        { id: 1, label: '一般故障' },
-        { id: 2, label: '较大故障' },
-        { id: 3, label: '重大故障' }
-      ],
-      faultCauseTypeList: [
-        { id: 1, label: '设计原因' },
-        { id: 2, label: '制造原因' },
-        { id: 3, label: '使用维护' },
-        { id: 4, label: '成品维护' },
-        { id: 5, label: '其他原因' }
-      ],
-      detailAircraftType: '',
-      detailAircraftCode: '',
       faultPicturePathUrl: '',
-      faultTreePathUrl: ''
+      faultTreePathUrl: '',
+      upload: {
+        open: false,
+        title: '',
+        isUploading: false,
+        updateSupport: 0,
+        headers: { Authorization: getItem('token') },
+        // 上传的地址
+        url: '/api/als/faultCase/importData'
+      },
+      aircraftTypeTreeData: [],
+      aircraftTypeAll: [],
+      detailAircraftType: ''
     }
   },
   watch: {
@@ -271,6 +279,7 @@ export default {
     }
   },
   mounted() {
+    this.getAirTypeData()
     this.getFaultCaseAPI()
   },
   methods: {
@@ -282,11 +291,12 @@ export default {
             type: 'success',
             message: '操作成功!'
           })
-          await this.getFaultCaseAPI({ faultCaseCodes: this.faultCaseCodes })
+          await this.getFaultCaseAPI({ faultPhenomenon: keyWordData })
           this.handleClose()
         }
       } catch (error) {}
     },
+
     async getFaultCaseAPI(params) {
       if (this.$refs.table) this.$refs.table.clearSelection()
       const { keyWord } = this
@@ -298,16 +308,25 @@ export default {
       this.tableRequset.total = total
     },
 
+    async getAirTypeData() {
+      try {
+        const { data } = await getAircaftTypeAndModelTree()
+        this.aircraftTypeTreeData = data[0].children
+        this.aircraftTypeAll = flattenTree(data[0].children)
+      } catch (error) {}
+    },
+
     async getFaultCaseByEsAPI(keyWordData) {
       console.log(keyWordData)
     },
 
     fetch() {
-      this.getFaultCaseAPI({ faultCaseCodes: this.aircaftModelIdList })
+      this.getFaultCaseAPI({ faultPhenomenon: keyWordData })
     },
 
     async searchClick(keyWordData) {
-      this.getFaultCaseByEsAPI(keyWordData)
+      // this.getFaultCaseByEsAPI(keyWordData)
+      this.getFaultCaseAPI({ faultPhenomenon: keyWordData })
     },
 
     async addFaultCaseAPI() {
@@ -316,10 +335,12 @@ export default {
         if (code === 200) {
           this.$message({
             type: 'success',
-            message: '操作成功!'
+            duration: 3000,
+            message: 'ES数据同步中,稍后查询!'
           })
+
           this.handleClose()
-          this.getFaultCaseAPI({ faultCaseCodes: this.aircaftModelIdList })
+          this.getFaultCaseAPI({ faultPhenomenon: keyWordData })
         }
       } catch (error) {}
     },
@@ -333,7 +354,7 @@ export default {
             message: '操作成功!'
           })
           this.handleClose()
-          this.getFaultCaseAPI({ faultCaseCodes: this.aircaftModelIdList })
+          this.getFaultCaseAPI({ faultPhenomenon: keyWordData })
         }
       } catch (error) {}
     },
@@ -343,21 +364,22 @@ export default {
       this.dialogVisible = true
     },
 
+    aircraftTypeChange(node) {
+      this.form.aircraftTypeName = node.id
+    },
+
     handleClose() {
       this.dialogVisible = false
       this.form = {
-        id: '',
-        aircraftType: '',
-        faultCode: '',
-        faultName: '',
-        location: '',
-        level: '',
-        symptoms: '',
+        aircraftTypeName: null,
+        aircraftSystemName: '',
+        aircraftSubsystemName: '',
+        faultPhenomenon: '',
         faultCause: '',
-        remarks: '',
-        tenantId: '',
-        version: '',
-        delFlag: '',
+        faultTreePath: '',
+        faultPicturePath: '',
+        troubleshootingMethodPath: '',
+        viewCount: 0,
         createBy: '',
         createTime: '',
         updateBy: '',
@@ -368,6 +390,8 @@ export default {
     handUpdate(row) {
       this.dialogTitle = '编辑'
       this.form = deepClone(row)
+      this.form.faultPhenomenon = row.pcontent
+      this.form.faultCause = row.fcontent
       this.dialogVisible = true
     },
 
@@ -382,6 +406,17 @@ export default {
       }
     },
 
+    aircraftTypeNormalizer(node) {
+      if (node.children && !node.children.length) {
+        delete node.children
+      }
+      return {
+        id: node.id,
+        label: node.label,
+        children: node.children
+      }
+    },
+
     selection(val) {
       this.tableCheckItems = val
     },
@@ -400,21 +435,70 @@ export default {
 
     async checkDetails(row) {
       this.form = deepClone(row)
-      if (row.faultPicturePath) {
-        const res = await getListByIdsApi(row.faultPicturePath)
-        this.faultPicturePathUrl = res.data[0].url
-        const res2 = await getListByIdsApi(row.faultTreePath)
-        this.faultTreePathUrl = res.data[0].url
-      } else {
-        this.faultPicturePathUrl = row.faultPicturePath
-        this.faultTreePathUrl = row.faultTreePathUrl
-      }
+      const matchedItem = this.aircraftTypeAll.find((item) => row.aircraftTypeName.trim() === item.id.trim())
+      this.detailAircraftType = matchedItem.label
+      // if (row.faultPicturePath) {
+      //   const res = await getListByIdsApi(row.faultPicturePath)
+      //   this.faultPicturePathUrl = res.data[0].url
+      //   const res2 = await getListByIdsApi(row.faultTreePath)
+      //   this.faultTreePathUrl = res.data[0].url
+      // } else {
+      //   this.faultPicturePathUrl = row.faultPicturePath
+      //   this.faultTreePathUrl = row.faultTreePathUrl
+      // }
+      this.form.faultPhenomenon = row.pcontent
+      this.form.faultCause = row.fcontent
       this.detailVisible = true
-      this.form = deepClone(row)
+      this.addViewCount(row)
+      // this.form = deepClone(row)
     },
+
+    async addViewCount(row) {
+      try {
+        await updateFaultCase({ id: row.id, viewCount: ++row.viewCount })
+      } catch (error) {}
+    },
+
     detailSubmit() {
       this.handleClose()
       this.detailVisible = false
+    },
+
+    /** 导入按钮操作 */
+    handleImport() {
+      this.upload.title = '警告列表导入'
+      this.upload.open = true
+    },
+    /** 下载模板操作 */
+    importTemplate() {
+      download('/faultCase/importTemplate', {}, `faultCase_template_${new Date().getTime()}.xlsx`)
+    },
+    // 文件上传中处理
+    handleFileUploadProgress(event, file, fileList) {
+      this.upload.isUploading = true
+    },
+    // 文件上传成功处理
+    handleFileSuccess(response, file, fileList) {
+      if (this.uploadFlag) {
+        this.upload.open = false
+        this.upload.isUploading = false
+        this.$refs.upload.clearFiles()
+      }
+      this.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + '</div>', '导入结果', { dangerouslyUseHTMLString: true })
+    },
+    // 提交上传文件
+    submitFileForm() {
+      this.$refs.upload.submit()
+    },
+    // 导出
+    handleExport() {
+      download(
+        '/faultCase/export',
+        {
+          ...this.form
+        },
+        `faultCase_${new Date().getTime()}.xlsx`
+      )
     }
   }
 }

+ 0 - 2
src/views/als/model/index.vue

@@ -217,7 +217,6 @@ export default {
         const { data: airConfigData } = await getAirConfiguration()
         this.allAirConfig = airConfigData
         this.aircraftTypeTreeData = data[0].children
-        console.log('this.aircraftTypeTreeData', this.aircraftTypeTreeData)
       } catch (error) {}
     },
 
@@ -257,7 +256,6 @@ export default {
     },
 
     partIdSelect(node) {
-      console.log('node', node)
       this.form.partId = node.id
     },
 

+ 68 - 47
src/views/als/systemCommunication/index.vue

@@ -7,7 +7,7 @@
           <el-button type="warning" @click="remove(tableCheckItems)" :disabled="tableCheckItems.length == 0">删除</el-button>
         </div>
         <div class="view-dataType-title-search">
-          <el-input placeholder="请输入关键字" v-model="keyWord" class="input1">
+          <el-input placeholder="请输入名称" v-model="keyWordData" class="input1">
             <el-button slot="append" icon="el-icon-search" @click="searchClick"></el-button>
           </el-input>
         </div>
@@ -15,42 +15,56 @@
       <div class="view-dataType-table">
         <LTable ref="table" @selection-change="selection" :defaultFetch="false" :fetch="fetch" :columns="columns" :dataSource="tableData" :options="options" :pagination="tableRequset"></LTable>
       </div>
-      <!-- 添加或修改机型机号对话框 -->
-      <el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="600px" :before-close="handleClose">
-        <el-form ref="form" :model="form" label-width="80px">
-          <el-form-item label="id" prop="id">
-            <el-input v-model="form.id" placeholder="请输入名称" />
-          </el-form-item>
-          <el-form-item label="名称" prop="name">
-            <el-input v-model="form.name" placeholder="请输入名称" />
-          </el-form-item>
-          <el-form-item label="IP地址" prop="ipAddress">
-            <el-input v-model="form.ipAddress" placeholder="请输入IP地址" />
-          </el-form-item>
-          <el-form-item label="网段" prop="networkSegment">
-            <el-input v-model="form.networkSegment" placeholder="请输入网段" />
-          </el-form-item>
-          <el-form-item label="子网掩码" prop="subnetMask">
-            <el-input v-model="form.subnetMask" placeholder="请输入子网掩码" />
-          </el-form-item>
-          <el-form-item label="DNS" prop="dns">
-            <el-input v-model="form.dns" placeholder="请输入DNS" />
-          </el-form-item>
-          <el-form-item label="网关" prop="gateway">
-            <el-input v-model="form.gateway" placeholder="请输入网关" />
-          </el-form-item>
-          <el-form-item label="http" prop="http">
-            <el-input v-model="form.http" placeholder="请输入http" />
-          </el-form-item>
-          <el-form-item label="端口号" prop="port">
-            <el-input v-model="form.port" placeholder="请输入端口号" />
-          </el-form-item>
-          <el-form-item label="用户名" prop="userName">
-            <el-input v-model="form.userName" placeholder="请输入用户名" />
-          </el-form-item>
-          <el-form-item label="密码" prop="password">
-            <el-input v-model="form.password" placeholder="请输入密码" />
-          </el-form-item>
+      <el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="800px" :before-close="handleClose">
+        <el-form ref="form" :inline="true" :model="form" label-width="80px">
+          <el-row>
+            <el-col :span="12">
+              <el-form-item label="名称" prop="name">
+                <el-input v-model="form.name" placeholder="请输入名称" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="IP地址" prop="ipAddress">
+                <el-input v-model="form.ipAddress" placeholder="请输入IP地址" />
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="12">
+              <el-form-item label="网段" prop="networkSegment">
+                <el-input v-model="form.networkSegment" placeholder="请输入网段" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="子网掩码" prop="subnetMask">
+                <el-input v-model="form.subnetMask" placeholder="请输入子网掩码" />
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="12">
+              <el-form-item label="DNS" prop="dns"> <el-input v-model="form.dns" placeholder="请输入DNS" /> </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="网关" prop="gateway"> <el-input v-model="form.gateway" placeholder="请输入网关" /> </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="12"
+              ><el-form-item label="http" prop="http"> <el-input v-model="form.http" placeholder="请输入http" /> </el-form-item>
+            </el-col>
+            <el-col :span="12"
+              ><el-form-item label="端口号" prop="port"> <el-input v-model="form.port" placeholder="请输入端口号" /> </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="12"
+              ><el-form-item label="用户名" prop="userName"> <el-input v-model="form.userName" placeholder="请输入用户名" /> </el-form-item>
+            </el-col>
+            <el-col :span="12"
+              ><el-form-item label="密码" prop="password"> <el-input v-model="form.password" placeholder="请输入密码" /> </el-form-item>
+            </el-col>
+          </el-row>
         </el-form>
 
         <span slot="footer" class="dialog-footer">
@@ -66,14 +80,14 @@
 import { getCommunication, addCommunication, updateCommunication, removeCommunication } from '@/api/als/communication'
 import { deepClone, debounce } from '@/utils/index'
 export default {
-  name: 'Aircraft',
+  name: 'Communication',
   components: {},
   data() {
     // 这里存放数据
     return {
       dialogTitle: '新增',
       dialogVisible: false,
-      keyWord: '',
+      keyWordData: '',
       communicationModelIdList: [],
       currentNodeKey: null,
       currentNode: null,
@@ -93,7 +107,6 @@ export default {
       },
       searchValue: '',
       columns: [
-        { prop: 'id', label: '序号' },
         {
           prop: 'name',
           label: '名称'
@@ -147,6 +160,15 @@ export default {
               onClick: (row, index, scope) => {
                 this.handUpdate(row)
               }
+            },
+            {
+              name: '删除',
+              type: 'text',
+              round: false,
+              plain: false,
+              onClick: (row, index, scope) => {
+                this.remove([row])
+              }
             }
           ]
         }
@@ -208,7 +230,7 @@ export default {
             type: 'success',
             message: '操作成功!'
           })
-          await this.getCommunicationAPI({ communicationModelIdList: this.communicationModelIdList })
+          await this.getCommunicationAPI()
           this.handleClose()
         }
       } catch (error) {}
@@ -236,18 +258,17 @@ export default {
       const { pageSize, pageIndex } = this.tableRequset
       const {
         data: { list, total }
-      } = await getCommunication({ pageSize, pageIndex, keyWord, ...params })
+      } = await getCommunication({ pageSize, pageNum: pageIndex, ...params })
       this.tableData = list
-      console.log(list)
       this.tableRequset.total = total
     },
 
     fetch() {
-      this.getCommunicationAPI({ communicationModelIdList: this.communicationModelIdList })
+      this.getCommunicationAPI()
     },
 
     searchClick() {
-      this.getCommunicationAPI({ communicationModelIdList: this.communicationModelIdList })
+      this.getCommunicationAPI({ name: this.keyWordData })
     },
 
     async addCommunicationAPI() {
@@ -260,7 +281,7 @@ export default {
             message: '操作成功!'
           })
           this.handleClose()
-          this.getCommunicationAPI({ communicationModelIdList: this.communicationModelIdList })
+          this.getCommunicationAPI()
         }
       } catch (error) {}
     },
@@ -274,7 +295,7 @@ export default {
             message: '操作成功!'
           })
           this.handleClose()
-          this.getCommunicationAPI({ communicationModelIdList: this.communicationModelIdList })
+          this.getCommunicationAPI()
         }
       } catch (error) {}
     },