isv-robot 2 роки тому
батько
коміт
2e055dab5b

+ 3 - 0
.drone.yml

@@ -1,5 +1,8 @@
 kind: pipeline
 name: default
+trigger:
+  branch:
+    - dashboard-screen
 steps:
   - name: build
     image: node:14

+ 6 - 0
src/views/dashboard-screen/screen/sjdr/dlydts/tab1Columns.js

@@ -80,6 +80,12 @@ function columns(vm) {
       align: 'center',
       dataIndex: 'completionDate',
       key: 'completionDate'
+    },
+    {
+      title: '性质',
+      align: 'center',
+      dataIndex: 'xz',
+      key: 'xz'
     }
   ]
   return cols

+ 4 - 2
src/views/dashboard-screen/screen/sjdr/index.vue

@@ -25,6 +25,7 @@ import Syjhdxqk from './syjhdxqk/index.vue'
 import Tab3 from './tab3.vue'
 import Dlyd from './dlydts/index.vue'
 import Tab6 from './tab6.vue'
+import QbDl from './qb-dl/index.vue'
 
 export default {
   name: 'ScreenSjdr',
@@ -33,7 +34,8 @@ export default {
     Tab3,
     Syjhdxqk,
     Dlyd,
-    Tab6
+    Tab6,
+    QbDl
   },
   data() {
     return {
@@ -57,7 +59,7 @@ export default {
       },
       {
         title: '牵变、电力设备巡检兑现(本月)',
-        name: 'Tab6'
+        name: 'QbDl'
       }
 
       ]

+ 80 - 0
src/views/dashboard-screen/screen/sjdr/qb-dl/index.vue

@@ -0,0 +1,80 @@
+<template>
+  <div class="common-wrap">
+    <el-card class="content-z" style="position: relative">
+      <a-button
+        class="right-upload-btn"
+        ghost
+        type="primary"
+        icon="upload"
+        @click="$refs.fileDom.click()"
+      >导入
+      </a-button>
+      <input id="fileDom" type="file" ref="fileDom" style="display: none" @change="handleImport($event)">
+      <a-tabs v-model="activeKey" type="card" v-if="readyRender">
+        <a-tab-pane
+          v-for="item in tabs"
+          :key="item.name"
+          :tab="item.title"
+        >
+          <component
+            :is="item.name"
+            v-if="activeKey === item.name"
+          />
+        </a-tab-pane>
+      </a-tabs>
+    </el-card>
+  </div>
+
+</template>
+<script>
+
+import Tab1 from './tab1.vue'
+import Tab2 from './tab2.vue'
+import {ChartImport} from '@/api/dashboard-json'
+
+export default {
+  name: 'QbDl',
+  components: {
+    Tab1,
+    Tab2
+  },
+  data() {
+    return {
+      readyRender: true,
+      activeKey: 'Tab1',
+      tabs: [{
+        title: '电力',
+        name: 'Tab1'
+      },
+        {
+          title: '变电',
+          name: 'Tab2'
+        }
+      ]
+    }
+  },
+  computed: {},
+  methods: {
+    handleImport(evt) {
+      window.console.log('evt', evt)
+      const file = evt.target.files[0]
+      evt.target.value = null
+      ChartImport('jxjhdxb', file).then(res => {
+        console.log('res => ', res)
+        if (res.code === 200) {
+          this.$message.success('导入成功')
+          this.readyRender = false
+          setTimeout(() => {
+            this.readyRender = true
+          }, 200)
+        } else {
+          this.$message.success('导入失败')
+        }
+      })
+    }
+  }
+}
+</script>
+<style scoped>
+@import '~@/assets/less/common.less'
+</style>

+ 124 - 0
src/views/dashboard-screen/screen/sjdr/qb-dl/tab1.vue

@@ -0,0 +1,124 @@
+<template>
+  <div>
+    <!-- 查询区域 -->
+    <div class="table-page-search-wrapper">
+      <!-- 操作按钮区域 -->
+      <div class="table-operator" style="margin: 5px 0;float: right;position: relative">
+        <a-button
+          class="right-upload-btn"
+          ghost
+          type="primary"
+          icon="upload"
+          @click="$refs.fileDom.click()"
+        >导入
+        </a-button>
+        <input id="fileDom" type="file" ref="fileDom" style="display: none" @change="handleImport($event)">
+        <a-dropdown v-if="selectedRowKeys.length > 0">
+          <a-menu slot="overlay">
+            <a-menu-item key="1" @click="batchDel">
+              <a-icon type="delete"/>
+              删除
+            </a-menu-item>
+          </a-menu>
+          <a-button style="margin-left: 8px">
+            批量操作
+            <a-icon type="down"/>
+          </a-button>
+        </a-dropdown>
+      </div>
+      <a-form layout="inline" @keyup.enter.native="searchQuery">
+        <a-form-item>
+          <a-input
+            v-model="queryParam.teamName"
+            style="width: 150px"
+            placeholder="班组"
+          />
+        </a-form-item>
+
+        <a-form-item>
+          <a-button type="primary" @click="searchQuery">查询</a-button>
+          <a-button style="margin-left: 8px" @click="searchReset">重置</a-button>
+        </a-form-item>
+      </a-form>
+    </div>
+    <!-- table区域-begin -->
+    <div v-if="readyRender">
+
+      <a-table
+        :scroll="{ x: 500 | true,y:  'calc(100vh - 400px)'}"
+        ref="table"
+        size="middle"
+        bordered
+        row-key="id"
+        :columns="columns"
+        :data-source="dataSource"
+        :pagination="ipagination"
+        :loading="loading"
+        @change="handleTableChange"
+      />
+    </div>
+    <!-- table区域-end -->
+    <!-- 表单区域 -->
+  </div>
+</template>
+<script>
+import {listMixin} from '@/mixin/listMixin'
+import columns from './tab1Columns'
+import {getAction} from '@/api/request'
+import {ChartImport} from '@/api/dashboard-json'
+
+export default {
+  name: 'Tab6',
+  components: {},
+  mixins: [listMixin],
+  data() {
+    return {
+      // 查询条件
+      readyRender: true,
+      queryParam: {},
+      treeData: [],
+      // 表头
+      columns: columns(this),
+      url: {
+        list: '/show/sbxj/list',
+        delete: '/business/catenary/bus/jcb/fdfxjyq/',
+        tree: '/system/dept/treeSelect',
+        exportXlsUrl: '/business/catenary/bus/jcb/fdfxjyq/export'
+      }
+    }
+  },
+  created() {
+    this.loadTree()
+  },
+  methods: {
+    loadTree() {
+      this.treeData = []
+      getAction(this.url.tree).then((res) => {
+        if (res.code === 200) {
+          this.treeData = res.data
+        }
+      })
+    },
+    handleImport(evt) {
+      window.console.log('evt', evt)
+      const file = evt.target.files[0]
+      evt.target.value = null
+      ChartImport('xjdxb', file).then(res => {
+        console.log('res => ', res)
+        if (res.code === 200) {
+          this.$message.success('导入成功')
+          this.readyRender = false
+          setTimeout(() => {
+            this.readyRender = true
+          }, 200)
+        } else {
+          this.$message.success('导入失败')
+        }
+      })
+    }
+  }
+}
+</script>
+<style scoped>
+@import '~@/assets/less/common.less'
+</style>

+ 180 - 0
src/views/dashboard-screen/screen/sjdr/qb-dl/tab1Columns.js

@@ -0,0 +1,180 @@
+function columns(vm) {
+  const cols = [{
+    width: 150, title: '序号', key: 'rowIndex', align: 'center', customRender: function(t, r, index) {
+      return parseInt(index) + 1
+    }
+  }, {
+    width: 150, title: '段', align: 'center', dataIndex: 'branchName', key: 'branchName'
+  }, {
+    width: 150, title: '车间', align: 'center', dataIndex: 'deptName', key: 'deptName'
+  }, {
+    width: 150, title: '班组', align: 'center', dataIndex: 'teamName', key: 'teamName'
+  }, // {
+    //    width: 150,title: '线路名称',
+    //   align: 'center',
+    //   dataIndex: 'lineName',
+    //   key: 'lineName'
+    // },
+    {
+      width: 150, title: '巡检单元(杆号、箱变名称、变配电所)', align: 'center', dataIndex: 'xjdy', key: 'xjdy'
+    }, {
+      width: 150, title: '箱变', align: 'center', dataIndex: 'xb', key: 'xb'
+    }, {
+      width: 150, title: '10/0.4变电所', align: 'center', dataIndex: 'bds', key: 'bds'
+    }, {
+      width: 150, title: '受电线路', align: 'center', dataIndex: 'sdxl', key: 'sdxl'
+    }, {
+      width: 150, title: '牵引变电所', align: 'center', dataIndex: 'qybds', key: 'qybds'
+    }, {
+      width: 150, title: 'AT/分区所', align: 'center', dataIndex: 'atfqs', key: 'atfqs'
+    },
+    {
+      width: 150, title: '1月计划',
+      'align': 'center',
+      'dataIndex': 'plan1',
+      'key': 'plan1'
+    },
+    {
+      width: 150, title: '1月实际',
+      'align': 'center',
+      'dataIndex': 'actual1',
+      'key': 'actual1'
+    },
+    {
+      width: 150, title: '2月计划',
+      'align': 'center',
+      'dataIndex': 'plan2',
+      'key': 'plan2'
+    },
+    {
+      width: 150, title: '2月实际',
+      'align': 'center',
+      'dataIndex': 'actual2',
+      'key': 'actual2'
+    },
+    {
+      width: 150, title: '3月计划',
+      'align': 'center',
+      'dataIndex': 'plan3',
+      'key': 'plan3'
+    },
+    {
+      width: 150, title: '3月实际',
+      'align': 'center',
+      'dataIndex': 'actual3',
+      'key': 'actual3'
+    },
+    {
+      width: 150, title: '4月计划',
+      'align': 'center',
+      'dataIndex': 'plan4',
+      'key': 'plan4'
+    },
+    {
+      width: 150, title: '4月实际',
+      'align': 'center',
+      'dataIndex': 'actual4',
+      'key': 'actual4'
+    },
+    {
+      width: 150, title: '5月计划',
+      'align': 'center',
+      'dataIndex': 'plan5',
+      'key': 'plan5'
+    },
+    {
+      width: 150, title: '5月实际',
+      'align': 'center',
+      'dataIndex': 'actual5',
+      'key': 'actual5'
+    },
+    {
+      width: 150, title: '6月计划',
+      'align': 'center',
+      'dataIndex': 'plan6',
+      'key': 'plan6'
+    },
+    {
+      width: 150, title: '6月实际',
+      'align': 'center',
+      'dataIndex': 'actual6',
+      'key': 'actual6'
+    },
+    {
+      width: 150, title: '7月计划',
+      'align': 'center',
+      'dataIndex': 'plan7',
+      'key': 'plan7'
+    },
+    {
+      width: 150, title: '7月实际',
+      'align': 'center',
+      'dataIndex': 'actual7',
+      'key': 'actual7'
+    },
+    {
+      width: 150, title: '8月计划',
+      'align': 'center',
+      'dataIndex': 'plan8',
+      'key': 'plan8'
+    },
+    {
+      width: 150, title: '8月实际',
+      'align': 'center',
+      'dataIndex': 'actual8',
+      'key': 'actual8'
+    },
+    {
+      width: 150, title: '9月计划',
+      'align': 'center',
+      'dataIndex': 'plan9',
+      'key': 'plan9'
+    },
+    {
+      width: 150, title: '9月实际',
+      'align': 'center',
+      'dataIndex': 'actual9',
+      'key': 'actual9'
+    },
+    {
+      width: 150, title: '10月计划',
+      'align': 'center',
+      'dataIndex': 'plan10',
+      'key': 'plan10'
+    },
+    {
+      width: 150, title: '10月实际',
+      'align': 'center',
+      'dataIndex': 'actual10',
+      'key': 'actual10'
+    },
+    {
+      width: 150, title: '11月计划',
+      'align': 'center',
+      'dataIndex': 'plan11',
+      'key': 'plan11'
+    },
+    {
+      width: 150, title: '11月实际',
+      'align': 'center',
+      'dataIndex': 'actual11',
+      'key': 'actual11'
+    },
+    {
+      width: 150, title: '12月计划',
+      'align': 'center',
+      'dataIndex': 'plan12',
+      'key': 'plan12'
+    },
+    {
+      width: 150, title: '12月实际',
+      'align': 'center',
+      'dataIndex': 'actual12',
+      'key': 'actual12'
+    }
+
+  ]
+  return cols
+}
+
+export default columns

+ 123 - 0
src/views/dashboard-screen/screen/sjdr/qb-dl/tab2.vue

@@ -0,0 +1,123 @@
+<template>
+  <div>
+    <!-- 查询区域 -->
+    <div class="table-page-search-wrapper">
+      <!-- 操作按钮区域 -->
+      <div class="table-operator" style="margin: 5px 0;float: right">
+        <a-dropdown v-if="selectedRowKeys.length > 0">
+          <a-menu slot="overlay">
+            <a-menu-item key="1" @click="batchDel">
+              <a-icon type="delete"/>
+              删除
+            </a-menu-item>
+          </a-menu>
+          <a-button style="margin-left: 8px">
+            批量操作
+            <a-icon type="down"/>
+          </a-button>
+        </a-dropdown>
+      </div>
+      <a-form layout="inline" @keyup.enter.native="searchQuery">
+        <a-form-item>
+          <a-input
+            v-model="queryParam.lineName"
+            style="width: 150px"
+            placeholder="线别"
+          />
+        </a-form-item>
+        <a-form-item>
+          <a-input
+            v-model="queryParam.substationName"
+            style="width: 150px"
+            placeholder="所亭名称"
+          />
+        </a-form-item>
+        <a-form-item>
+          <a-input
+            v-model="queryParam.sbmc"
+            style="width: 150px"
+            placeholder="设备名称"
+          />
+        </a-form-item>
+        <a-form-item>
+          <a-date-picker :showToday="true" :locale="locale"   valueFormat="YYYY-MM-DD" v-model="queryParam.testPlanDateStart" placeholder="计划时间(起始)"/>
+        </a-form-item>
+        <a-form-item>
+          <a-date-picker :showToday="true" :locale="locale"   valueFormat="YYYY-MM-DD" v-model="queryParam.testPlanDateEnd" placeholder="计划时间(结束)"/>
+        </a-form-item>
+
+        <a-form-item>
+          <a-date-picker :showToday="true" :locale="locale"   valueFormat="YYYY-MM-DD" v-model="queryParam.completionDateStart" placeholder="实际时间(起始)"/>
+        </a-form-item>
+        <a-form-item>
+          <a-date-picker :showToday="true" :locale="locale"   valueFormat="YYYY-MM-DD" v-model="queryParam.completionDateEnd" placeholder="实际时间(结束)"/>
+        </a-form-item>
+
+        <a-form-item>
+          <a-button type="primary" @click="searchQuery">查询</a-button>
+          <a-button style="margin-left: 8px" @click="searchReset">重置</a-button>
+        </a-form-item>
+      </a-form>
+    </div>
+    <!-- table区域-begin -->
+    <div>
+
+      <a-table
+        :scroll="{ x: 500 | true,y:  'calc(100vh - 400px)'}"
+        ref="table"
+        size="middle"
+        bordered
+        row-key="id"
+        :columns="columns"
+        :data-source="dataSource"
+        :pagination="ipagination"
+        :loading="loading"
+        @change="handleTableChange"
+      />
+    </div>
+    <!-- table区域-end -->
+    <!-- 表单区域 -->
+  </div>
+</template>
+<script>
+import {listMixin} from '@/mixin/listMixin'
+import columns from './tab2Columns'
+import {getAction} from '@/api/request'
+
+export default {
+  name: 'Tab2',
+  components: {},
+  mixins: [listMixin],
+  data() {
+    return {
+      // 查询条件
+      queryParam: {},
+      treeData: [],
+      // 表头
+      columns: columns(this),
+      url: {
+        list: '/show/syjhdx/dt/list',
+        delete: '/business/catenary/bus/jcb/fdfxjyq/',
+        tree: '/system/dept/treeSelect',
+        exportXlsUrl: '/business/catenary/bus/jcb/fdfxjyq/export'
+      }
+    }
+  },
+  created() {
+    this.loadTree()
+  },
+  methods: {
+    loadTree() {
+      this.treeData = []
+      getAction(this.url.tree).then((res) => {
+        if (res.code === 200) {
+          this.treeData = res.data
+        }
+      })
+    }
+  }
+}
+</script>
+<style scoped>
+@import '~@/assets/less/common.less'
+</style>

+ 180 - 0
src/views/dashboard-screen/screen/sjdr/qb-dl/tab2Columns.js

@@ -0,0 +1,180 @@
+function columns(vm) {
+  const cols = [{
+    width: 150, title: '序号', key: 'rowIndex', align: 'center', customRender: function(t, r, index) {
+      return parseInt(index) + 1
+    }
+  }, {
+    width: 150, title: '段', align: 'center', dataIndex: 'branchName', key: 'branchName'
+  }, {
+    width: 150, title: '车间', align: 'center', dataIndex: 'deptName', key: 'deptName'
+  }, {
+    width: 150, title: '班组', align: 'center', dataIndex: 'teamName', key: 'teamName'
+  }, // {
+    //    width: 150,title: '线路名称',
+    //   align: 'center',
+    //   dataIndex: 'lineName',
+    //   key: 'lineName'
+    // },
+    {
+      width: 150, title: '巡检单元(杆号、箱变名称、变配电所)', align: 'center', dataIndex: 'xjdy', key: 'xjdy'
+    }, {
+      width: 150, title: '箱变', align: 'center', dataIndex: 'xb', key: 'xb'
+    }, {
+      width: 150, title: '10/0.4变电所', align: 'center', dataIndex: 'bds', key: 'bds'
+    }, {
+      width: 150, title: '受电线路', align: 'center', dataIndex: 'sdxl', key: 'sdxl'
+    }, {
+      width: 150, title: '牵引变电所', align: 'center', dataIndex: 'qybds', key: 'qybds'
+    }, {
+      width: 150, title: 'AT/分区所', align: 'center', dataIndex: 'atfqs', key: 'atfqs'
+    },
+    {
+      width: 150, title: '1月计划',
+      'align': 'center',
+      'dataIndex': 'plan1',
+      'key': 'plan1'
+    },
+    {
+      width: 150, title: '1月实际',
+      'align': 'center',
+      'dataIndex': 'actual1',
+      'key': 'actual1'
+    },
+    {
+      width: 150, title: '2月计划',
+      'align': 'center',
+      'dataIndex': 'plan2',
+      'key': 'plan2'
+    },
+    {
+      width: 150, title: '2月实际',
+      'align': 'center',
+      'dataIndex': 'actual2',
+      'key': 'actual2'
+    },
+    {
+      width: 150, title: '3月计划',
+      'align': 'center',
+      'dataIndex': 'plan3',
+      'key': 'plan3'
+    },
+    {
+      width: 150, title: '3月实际',
+      'align': 'center',
+      'dataIndex': 'actual3',
+      'key': 'actual3'
+    },
+    {
+      width: 150, title: '4月计划',
+      'align': 'center',
+      'dataIndex': 'plan4',
+      'key': 'plan4'
+    },
+    {
+      width: 150, title: '4月实际',
+      'align': 'center',
+      'dataIndex': 'actual4',
+      'key': 'actual4'
+    },
+    {
+      width: 150, title: '5月计划',
+      'align': 'center',
+      'dataIndex': 'plan5',
+      'key': 'plan5'
+    },
+    {
+      width: 150, title: '5月实际',
+      'align': 'center',
+      'dataIndex': 'actual5',
+      'key': 'actual5'
+    },
+    {
+      width: 150, title: '6月计划',
+      'align': 'center',
+      'dataIndex': 'plan6',
+      'key': 'plan6'
+    },
+    {
+      width: 150, title: '6月实际',
+      'align': 'center',
+      'dataIndex': 'actual6',
+      'key': 'actual6'
+    },
+    {
+      width: 150, title: '7月计划',
+      'align': 'center',
+      'dataIndex': 'plan7',
+      'key': 'plan7'
+    },
+    {
+      width: 150, title: '7月实际',
+      'align': 'center',
+      'dataIndex': 'actual7',
+      'key': 'actual7'
+    },
+    {
+      width: 150, title: '8月计划',
+      'align': 'center',
+      'dataIndex': 'plan8',
+      'key': 'plan8'
+    },
+    {
+      width: 150, title: '8月实际',
+      'align': 'center',
+      'dataIndex': 'actual8',
+      'key': 'actual8'
+    },
+    {
+      width: 150, title: '9月计划',
+      'align': 'center',
+      'dataIndex': 'plan9',
+      'key': 'plan9'
+    },
+    {
+      width: 150, title: '9月实际',
+      'align': 'center',
+      'dataIndex': 'actual9',
+      'key': 'actual9'
+    },
+    {
+      width: 150, title: '10月计划',
+      'align': 'center',
+      'dataIndex': 'plan10',
+      'key': 'plan10'
+    },
+    {
+      width: 150, title: '10月实际',
+      'align': 'center',
+      'dataIndex': 'actual10',
+      'key': 'actual10'
+    },
+    {
+      width: 150, title: '11月计划',
+      'align': 'center',
+      'dataIndex': 'plan11',
+      'key': 'plan11'
+    },
+    {
+      width: 150, title: '11月实际',
+      'align': 'center',
+      'dataIndex': 'actual11',
+      'key': 'actual11'
+    },
+    {
+      width: 150, title: '12月计划',
+      'align': 'center',
+      'dataIndex': 'plan12',
+      'key': 'plan12'
+    },
+    {
+      width: 150, title: '12月实际',
+      'align': 'center',
+      'dataIndex': 'actual12',
+      'key': 'actual12'
+    }
+
+  ]
+  return cols
+}
+
+export default columns

+ 19 - 7
src/views/dashboard-screen/screen/sjdr/ycxn/index.vue

@@ -30,16 +30,20 @@
 
 import Tab1 from './tab1.vue'
 import Tab2 from './tab2.vue'
-import { ChartImport } from '@/api/dashboard-json'
+import Tab3 from './tab3.vue'
+import Tab4 from './tab4.vue'
+import {ChartImport} from '@/api/dashboard-json'
 
 export default {
   name: 'Ycxx',
   components: {
     Tab1,
-    Tab2
+    Tab2,
+    Tab3,
+    Tab4
   },
   data() {
-    window['is'] = this;
+    window['is'] = this
     return {
       readyRender: true,
       activeKey: 'Tab1',
@@ -47,10 +51,18 @@ export default {
         title: '变电',
         name: 'Tab1'
       },
-      {
-        title: '电力',
-        name: 'Tab2'
-      }
+        {
+          title: '变电自主',
+          name: 'Tab3'
+        },
+        {
+          title: '电力',
+          name: 'Tab2'
+        },
+        {
+          title: '电力自主',
+          name: 'Tab4'
+        }
       ]
     }
   },

+ 130 - 0
src/views/dashboard-screen/screen/sjdr/ycxn/tab3.vue

@@ -0,0 +1,130 @@
+<template>
+  <div>
+    <!-- 查询区域 -->
+    <div class="table-page-search-wrapper">
+      <!-- 操作按钮区域 -->
+      <div class="table-operator" style="margin: 5px 0;float: right">
+        <a-dropdown v-if="selectedRowKeys.length > 0">
+          <a-menu slot="overlay">
+            <a-menu-item key="1" @click="batchDel">
+              <a-icon type="delete"/>
+              删除
+            </a-menu-item>
+          </a-menu>
+          <a-button style="margin-left: 8px">
+            批量操作
+            <a-icon type="down"/>
+          </a-button>
+        </a-dropdown>
+      </div>
+      <a-form layout="inline" @keyup.enter.native="searchQuery">
+        <a-form-item>
+          <a-input
+            v-model="queryParam.lineName"
+            style="width: 150px"
+            placeholder="线别"
+          />
+        </a-form-item>
+        <a-form-item>
+          <j-dict-select-tag
+            v-model="queryParam.gravity"
+            style="width: 150px"
+            placeholder="缺陷等级"
+            dict-code="dlycyzx"
+          />
+
+        </a-form-item>
+
+        <a-form-item>
+          <a-input
+            v-model="queryParam.zrbm"
+            style="width: 150px"
+            placeholder="责任部门"
+          />
+        </a-form-item>
+
+        <a-form-item>
+          <j-dict-select-tag
+            v-model="queryParam.ssgq"
+            style="width: 150px"
+            placeholder="选择工区"
+            dict-code="dlyc_sygq"
+          />
+        </a-form-item>
+        <a-form-item>
+          <j-dict-select-tag
+            v-model="queryParam.rectifyResult"
+            style="width: 150px"
+            placeholder="整改情况"
+            dict-code="bdyc_clqk"
+          />
+        </a-form-item>
+
+        <a-form-item>
+          <a-button type="primary" @click="searchQuery">查询</a-button>
+          <a-button style="margin-left: 8px" @click="searchReset">重置</a-button>
+        </a-form-item>
+      </a-form>
+    </div>
+    <!-- table区域-begin -->
+    <div>
+
+      <a-table
+        :scroll="{ x: 500 | true,y: 'calc(100vh - 400px)'}"
+        ref="table"
+        size="middle"
+        bordered
+        row-key="id"
+        :columns="columns"
+        :data-source="dataSource"
+        :pagination="ipagination"
+        :loading="loading"
+        @change="handleTableChange"
+      />
+    </div>
+    <!-- table区域-end -->
+    <!-- 表单区域 -->
+  </div>
+</template>
+<script>
+import {listMixin} from '@/mixin/listMixin'
+import columns from './tab3Columns'
+import {getAction} from '@/api/request'
+
+export default {
+  name: 'Tab3',
+  components: {},
+  mixins: [listMixin],
+  data() {
+    return {
+      // 查询条件
+      queryParam: {},
+      treeData: [],
+      // 表头
+      columns: columns(this),
+      url: {
+        list: '/show/bdyc/list',
+        delete: '/business/catenary/bus/jcb/fdfxjyq/',
+        tree: '/system/dept/treeSelect',
+        exportXlsUrl: '/business/catenary/bus/jcb/fdfxjyq/export'
+      }
+    }
+  },
+  created() {
+    this.loadTree()
+  },
+  methods: {
+    loadTree() {
+      this.treeData = []
+      getAction(this.url.tree).then((res) => {
+        if (res.code === 200) {
+          this.treeData = res.data
+        }
+      })
+    }
+  }
+}
+</script>
+<style scoped>
+@import '~@/assets/less/common.less'
+</style>

+ 88 - 0
src/views/dashboard-screen/screen/sjdr/ycxn/tab3Columns.js

@@ -0,0 +1,88 @@
+function columns(vm) {
+  const cols = [
+    {
+      title: '序号',
+      key: 'rowIndex',
+      width: 60,
+      align: 'center',
+      customRender: function(t, r, index) {
+        return parseInt(index) + 1
+      }
+    },
+    {
+      title: '发现时间',
+      align: 'center',
+      dataIndex: 'foundDate',
+      key: 'foundDate'
+    },
+    {
+      title: '线别',
+      align: 'center',
+      dataIndex: 'lineName',
+      key: 'lineName'
+    },
+    {
+      title: '所亭名称',
+      align: 'center',
+      dataIndex: 'stationName',
+      key: 'stationName'
+    },
+    {
+      title: '缺陷设备名称',
+      align: 'center',
+      dataIndex: 'qxsbmc',
+      key: 'qxsbmc'
+    },
+    {
+      title: '运行编号',
+      align: 'center',
+      dataIndex: 'yxbh',
+      key: 'yxbh'
+    },
+    {
+      title: '缺陷等级',
+      align: 'center',
+      dataIndex: 'qxdj',
+      key: 'qxdj'
+    },
+    {
+      title: '缺陷内容',
+      align: 'center',
+      dataIndex: 'qxnr',
+      key: 'qxnr'
+    },
+    {
+      title: '原因',
+      align: 'center',
+      dataIndex: 'reason',
+      key: 'reason'
+    },
+    {
+      title: '责任部门',
+      align: 'center',
+      dataIndex: 'zrbm',
+      key: 'zrbm'
+    },
+    {
+      title: '涉及工区',
+      align: 'center',
+      dataIndex: 'sjgq',
+      key: 'sjgq'
+    },
+    {
+      title: '整改情况',
+      align: 'center',
+      dataIndex: 'rectifyResult',
+      key: 'rectifyResult'
+    },
+    {
+      title: '整改措施',
+      align: 'center',
+      dataIndex: 'rectifyWay',
+      key: 'rectifyWay'
+    }
+  ]
+  return cols
+}
+
+export default columns

+ 123 - 0
src/views/dashboard-screen/screen/sjdr/ycxn/tab4.vue

@@ -0,0 +1,123 @@
+<template>
+  <div>
+    <!-- 查询区域 -->
+    <div class="table-page-search-wrapper">
+      <!-- 操作按钮区域 -->
+      <div class="table-operator" style="margin: 5px 0;float: right">
+<!--        <a-button ghost type="primary" icon="upload" @click="handleExportXls()">导入</a-button>-->
+        <a-dropdown v-if="selectedRowKeys.length > 0">
+          <a-menu slot="overlay">
+            <a-menu-item key="1" @click="batchDel">
+              <a-icon type="delete"/>
+              删除
+            </a-menu-item>
+          </a-menu>
+          <a-button style="margin-left: 8px">
+            批量操作
+            <a-icon type="down"/>
+          </a-button>
+        </a-dropdown>
+      </div>
+      <a-form layout="inline" @keyup.enter.native="searchQuery">
+        <a-form-item>
+          <a-input
+            v-model="queryParam.lineName"
+            style="width: 150px"
+            placeholder="线别"
+          />
+        </a-form-item>
+        <a-form-item>
+          <j-dict-select-tag
+            v-model="queryParam.gravity"
+            style="width: 150px"
+            placeholder="严重性"
+            dict-code="dlycyzx"
+          />
+
+        </a-form-item>
+
+        <a-form-item>
+          <j-dict-select-tag
+            v-model="queryParam.ssgq"
+            style="width: 150px"
+            placeholder="选择工区"
+            dict-code="dlyc_sygq"
+          />
+        </a-form-item>
+        <a-form-item>
+          <j-dict-select-tag
+            v-model="queryParam.rectifyResult"
+            style="width: 150px"
+            placeholder="处理结果"
+            dict-code="bdyc_clqk"
+          />
+        </a-form-item>
+
+        <a-form-item>
+          <a-button type="primary" @click="searchQuery">查询</a-button>
+          <a-button style="margin-left: 8px" @click="searchReset">重置</a-button>
+        </a-form-item>
+      </a-form>
+    </div>
+    <!-- table区域-begin -->
+    <div>
+
+      <a-table
+        :scroll="{ x: 500 | true,y: 'calc(100vh - 400px)'}"
+        ref="table"
+        size="middle"
+        bordered
+        row-key="id"
+        :columns="columns"
+        :data-source="dataSource"
+        :pagination="ipagination"
+        :loading="loading"
+        @change="handleTableChange"
+      />
+    </div>
+    <!-- table区域-end -->
+    <!-- 表单区域 -->
+  </div>
+</template>
+<script>
+import {listMixin} from '@/mixin/listMixin'
+import columns from './tab4Columns'
+import {getAction} from '@/api/request'
+
+export default {
+  name: 'Tab4',
+  components: {},
+  mixins: [listMixin],
+  data() {
+    return {
+      // 查询条件
+      queryParam: {},
+      treeData: [],
+      // 表头
+      columns: columns(this),
+      url: {
+        list: '/show/dlyc/list',
+        delete: '/business/catenary/bus/jcb/fdfxjyq/',
+        tree: '/system/dept/treeSelect',
+        exportXlsUrl: '/business/catenary/bus/jcb/fdfxjyq/export'
+      }
+    }
+  },
+  created() {
+    this.loadTree()
+  },
+  methods: {
+    loadTree() {
+      this.treeData = []
+      getAction(this.url.tree).then((res) => {
+        if (res.code === 200) {
+          this.treeData = res.data
+        }
+      })
+    }
+  }
+}
+</script>
+<style scoped>
+@import '~@/assets/less/common.less'
+</style>

+ 70 - 0
src/views/dashboard-screen/screen/sjdr/ycxn/tab4Columns.js

@@ -0,0 +1,70 @@
+function columns(vm) {
+  const cols = [
+    {
+      title: '序号',
+      key: 'rowIndex',
+      width: 60,
+      align: 'center',
+      customRender: function(t, r, index) {
+        return parseInt(index) + 1
+      }
+    },
+    {
+      title: '缺陷设备名称',
+      align: 'center',
+      dataIndex: 'qxsbmc',
+      key: 'qxsbmc'
+    },
+    {
+      title: '工区',
+      align: 'center',
+      dataIndex: 'ssgq',
+      key: 'ssgq'
+    },
+    {
+      title: '线别',
+      align: 'center',
+      dataIndex: 'lineName',
+      key: 'lineName'
+    },
+    {
+      title: '发现日期',
+      align: 'center',
+      dataIndex: 'foundDate',
+      key: 'foundDate'
+    },
+    {
+      title: '缺陷内容',
+      align: 'center',
+      dataIndex: 'qxnr',
+      key: 'qxnr'
+    },
+    {
+      title: '故障类别',
+      align: 'center',
+      dataIndex: 'gzlb',
+      key: 'gzlb'
+    },
+    {
+      title: '原因',
+      align: 'center',
+      dataIndex: 'reason',
+      key: 'reason'
+    },
+    {
+      title: '严重性',
+      align: 'center',
+      dataIndex: 'gravity',
+      key: 'gravity'
+    },
+    {
+      title: '处理措施',
+      align: 'center',
+      dataIndex: 'rectifyWay',
+      key: 'rectifyWay'
+    }
+  ]
+  return cols
+}
+
+export default columns