index.vue 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <template>
  2. <div class="task-container">
  3. <el-row :gutter="10">
  4. <el-col :span="4" :xs="24">
  5. <div class="head-container">
  6. <el-input v-model="areaName" placeholder="请输入服务区名称" clearable size="small" prefix-icon="el-icon-search"
  7. style="margin-bottom: 20px" />
  8. </div>
  9. <div class="head-container">
  10. <el-tree ref="tree" :data="areaOptions" default-expand-all :expand-on-click-node="false" :filter-node-method="filterNode"
  11. node-key="id" highlight-current @node-click="handleNodeClick" />
  12. </div>
  13. </el-col>
  14. <el-col :span="20" :xs="24">
  15. <el-tabs v-model="activeName" >
  16. <el-tab-pane label="手动巡检" name="ManualInspection">
  17. <manual-inspection></manual-inspection>
  18. </el-tab-pane>
  19. <el-tab-pane label="自动巡检" name="second">
  20. <AutoInspection></AutoInspection>
  21. </el-tab-pane>
  22. </el-tabs>
  23. </el-col></el-row>
  24. </div>
  25. </template>
  26. <script>
  27. import AutoInspection from '@/views/task/AutoInspection.vue';
  28. import ManualInspection from '@/views/task/ManualInspection.vue';
  29. import {areaTreeSelect} from '@/api/basecfg/area'
  30. export default {
  31. components: {
  32. ManualInspection,
  33. AutoInspection,
  34. },
  35. name: 'task',
  36. data () {
  37. return {
  38. activeName: 'ManualInspection',
  39. areaName: undefined,
  40. areaOptions: [],
  41. areaCode:null
  42. };
  43. },
  44. watch: {
  45. // 根据名称筛选区域树
  46. areaName (val) {
  47. this.$refs.tree.filter(val)
  48. }
  49. },
  50. async created () {
  51. await this.getAreaTreeByTag('0', 1)
  52. },
  53. methods: {
  54. /** 查询区域树结构 */
  55. async getAreaTreeByTag(areaCode, layer) {
  56. await areaTreeSelect(areaCode, layer).then(response => {
  57. this.areaOptions = [{
  58. id: '-1',
  59. label: '全部',
  60. children: []
  61. }].concat(response.data)
  62. this.areaCode = '-1'
  63. })
  64. },
  65. // 筛选节点
  66. filterNode (value, data) {
  67. if (!value) return true
  68. return data.label.indexOf(value) !== -1
  69. },
  70. handleNodeClick (data, node) {
  71. this.areaCode = data.id
  72. // this.getList()
  73. },
  74. },
  75. };
  76. </script>
  77. <style src="./index.scss" lang="scss"></style>