zhangherong
2025-03-31 a40d8462edbf25418207d2ec212e15d3d15ce9dd
art: 设备管理-保养标准-明细项展示
已添加1个文件
已修改1个文件
194 ■■■■■ 文件已修改
src/views/eam/base/EamMaintenanceStandardList.vue 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/base/modules/EamMaintenanceStandardDetailList.vue 145 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/base/EamMaintenanceStandardList.vue
@@ -82,6 +82,7 @@
        :loading="loading"
        class="j-table-force-nowrap"
        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
        :customRow='clickThenSelect'
        @change="handleTableChange">
        <template slot="referenceFile" slot-scope="text, record, index">
          <a v-if="text && text !== ''" @click="handlePreview(record)">预览</a>
@@ -103,6 +104,21 @@
        </span>
      </a-table>
      <a-tabs defaultActiveKey="1">
        <a-tab-pane
          tab='保养标准明细项'
          key="1"
        >
          <div
            class="table-operator"
            style="margin:-16px"
          >
            <eam-maintenance-standard-detail-list :standardId="standardId" />
          </div>
        </a-tab-pane>
      </a-tabs>
    </div>
    <!-- table区域-end -->
@@ -116,13 +132,15 @@
import '@/assets/less/TableExpand.less'
import EamMaintenanceStandardModal from './modules/EamMaintenanceStandardModal'
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import EamMaintenanceStandardDetailList from '@views/eam/base/modules/EamMaintenanceStandardDetailList'
export default {
  name: 'EamMaintenanceStandardList',
  mixins: [JeecgListMixin],
  components: {
    EamMaintenanceStandardModal
    EamMaintenanceStandardModal,
    EamMaintenanceStandardDetailList
  },
  data() {
    return {
@@ -205,6 +223,7 @@
        importExcelUrl: 'eam/maintenanceStandard/importExcel'
      },
      fileUrl: '',
      standardId: '-1',
    }
  },
  computed: {
@@ -226,6 +245,34 @@
        this.$message.warning("参考文件为空!");
      }
    },
    clickThenSelect(record) {
      return {
        on: {
          click: () => {
            this.onSelectChange(record.id.split(','), [record])
          }
        }
      }
    },
    onClearSelected() {
      this.selectedRowKeys = [];
      this.selectionRows = [];
      this.standardId = '-1';
    },
    onSelectChange(selectedRowKeys, selectionRows) {
      this.selectedRowKeys = selectedRowKeys;
      this.selectionRows = selectionRows;
      if (selectedRowKeys.length === 1) {
        this.standardId = selectionRows[0]['id']
      } else {
        this.standardId = '-1'
      }
    },
    searchReset() {
      this.standardId = '-1';
      this.queryParam = {}
      this.loadData(1);
    },
  }
}
</script>
src/views/eam/base/modules/EamMaintenanceStandardDetailList.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,145 @@
<template>
  <a-card :bordered="false">
    <!-- table区域-begin -->
    <div>
      <a-table
        ref="detailTable"
        size="middle"
        bordered
        rowKey="id"
        :columns="columns"
        :dataSource="dataSource"
        :pagination="ipagination"
        :loading="loading"
        class="j-table-force-nowrap"
        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
        @change="handleTableChange">
      </a-table>
    </div>
    <!-- table区域-end -->
  </a-card>
</template>
<script>
import '@/assets/less/TableExpand.less'
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import { getAction } from '@api/manage'
export default {
  name: 'EamMaintenanceStandardDetailList',
  mixins: [JeecgListMixin],
  props: {
    standardId: {
      type: String,
      required: true,
      default: '-1'
    }
  },
  data() {
    return {
      description: '保养标准明细管理页面',
      // è¡¨å¤´
      columns: [
        {
          title: '#',
          dataIndex: '',
          key: 'rowIndex',
          width: 60,
          align: 'center',
          customRender: function(t, r, index) {
            return parseInt(index) + 1
          }
        },
        {
          title: '序号',
          align: 'center',
          dataIndex: 'itemCode'
        },
        {
          title: '保养项',
          align: 'center',
          dataIndex: 'itemName'
        },
        {
          title: '子项目',
          align: 'center',
          dataIndex: 'subItemName'
        },
        {
          title: '保养要求',
          align: 'center',
          dataIndex: 'itemDemand'
        }
      ],
      url: {
        list: '/eam/eamMaintenanceStandardDetail/list'
      }
    }
  },
  watch: {
    standardId: {
      immediate: true,
      handler(val) {
        if(val) {
          this.loadData(1)
        }else {
          this.clearList();
        }
      }
    }
  },
  created() {
  },
  computed: {
  },
  methods: {
    loadData(arg) {
      if (!this.url.list) {
        this.$message.error('请设置url.list属性!')
        return
      }
      if(this.standardId && this.standardId === '-1'){
        this.clearList();
        return;
      }
      //加载数据 è‹¥ä¼ å…¥å‚æ•°1则加载第一页的内容
      if (arg === 1) {
        this.ipagination.current = 1
      }
      let params = this.getQueryParams()//查询条件
      if (!params) {
        return false
      }
      this.dataSource = []
      params.standardId = this.standardId
      this.loading = true
      getAction(this.url.list, params).then((res) => {
        if (res.success) {
          // console.log(res)
          //update-begin---author:zhangyafei    Date:20201118  for:适配不分页的数据列表------------
          this.dataSource = res.result.records || res.result
          if (res.result.total) {
            this.ipagination.total = res.result.total
          } else {
            this.ipagination.total = 0
          }
          //update-end---author:zhangyafei    Date:20201118  for:适配不分页的数据列表------------
        } else {
          this.$message.warning(res.message)
        }
      }).finally(() => {
        this.loading = false
      })
    },
    clearList() {
      this.dataSource = []
      this.selectedRowKeys = []
      this.ipagination.current = 1
    },
  }
}
</script>
<style scoped>
@import '~@assets/less/common.less';
</style>