zenglf
2023-09-18 92ff846fb659c62037a32b1d8c15eae9df9d9b54
src/views/eam/common/MaintenanceStandardSafetyRequirement.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,216 @@
<template>
  <a-card
    :bordered="false"
    :class="'cust-erp-sub-tab'"
  >
    <!-- æŸ¥è¯¢åŒºåŸŸ -->
    <div class="table-page-search-wrapper">
      <a-form
        layout="inline"
        @keyup.enter.native="searchQuery"
      >
        <a-row :gutter="24">
        </a-row>
      </a-form>
    </div>
    <a-button
      @click="handleAdd"
      type="primary"
      icon="plus"
      v-if="maintenanceStandardId !='' && isAdd "
    >新增
    </a-button>
    <div>
      <a-table
        ref="table"
        size="middle"
        bordered
        rowKey="id"
        :scroll="{x:true}"
        :columns="columns"
        :dataSource="dataSource"
        :pagination="ipagination"
        :loading="loading"
        @change="handleTableChange"
      >
        <span
          slot="action"
          slot-scope="text, record"
        >
          <a-popconfirm
            title="确定删除吗?"
            @confirm="() => handleDelete(record.id)"
            v-if="maintenanceStandardId !='' && isAdd "
          >
            <a>删除</a>
          </a-popconfirm>
        </span>
      </a-table>
    </div>
    <maintenance-standard-safety-requirement-modal
      ref="modalForm"
      @ok="modalFormOk"
    ></maintenance-standard-safety-requirement-modal>
  </a-card>
</template>
<script>
  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
  import { getAction, deleteAction } from '@/api/manage'
  import Tooltip from 'ant-design-vue/es/tooltip'
  import MaintenanceStandardSafetyRequirementModal from './MaintenanceStandardSafetyRequirementModal'
  export default {
    name: 'MaintenanceStandardPlanningMaterial',
    components: {
      Tooltip,
      MaintenanceStandardSafetyRequirementModal
    },
    mixins: [JeecgListMixin],
    props: {
      maintenanceStandardId: {
        type: String,
        required: false
      },
      isEdit: {
        type: Boolean,
        default: false
      },
      isAdd: {
        type: Boolean,
        default: false
      },
      isDel: {
        type: Boolean,
        default: false
      }
    },
    mounted() {
    },
    watch: {
      maintenanceStandardId: function(val) {
        this.clearList()
        if (this.maintenanceStandardId) {
          this.queryParam.maintenanceStandardId = val
          this.queryParam.delFlag = 0
          this.loadData(1)
        }
      }
    },
    data() {
      return {
        disableMixinCreated:true,
        columns: [
          {
            title: '#',
            dataIndex: '',
            key: 'rowIndex',
            width: 100,
            align: 'center',
            customRender: function(t, r, index) {
              return parseInt(index) + 1
            }
          },
          {
            title: '危险源编码',
            align: 'center',
            dataIndex: 'num'
          },
          {
            title: '危险源',
            align: 'center',
            dataIndex: 'name'
          },
          {
            title: '危险描述',
            align: 'center',
            dataIndex: 'description'
          },
          {
            title: '防控措施',
            align: 'center',
            dataIndex: 'measure'
          },
          {
            title: '操作',
            align: 'center',
            dataIndex: 'action',
            scopedSlots: {
              customRender: 'action'
            }
          }
        ],
        url: {
          list: '/eam/maintenanceStandardSafetyRequirement/getMaintenanceStandardSafetyRequirementList',
          delete: '/eam/maintenanceStandardSafetyRequirement/delete'
        }
      }
    },
    methods: {
      handleAdd: function() {
        this.$refs.modalForm.add()
        this.$refs.modalForm.title = '危险防控'
        this.$refs.modalForm.disableSubmit = false
        this.$refs.modalForm.maintenanceStandardId = this.maintenanceStandardId
      },
      handleDelete: function(id) {
        if (!this.url.delete) {
          this.$message.error('请设置url.delete属性!')
          return
        }
        var that = this
        deleteAction(that.url.delete, { id: id }).then((res) => {
          if (res.success) {
            //重新计算分页问题
            that.reCalculatePage(1)
            that.$message.success(res.message)
            that.loadData()
            that.alterFlag = new Date()
          } else {
            that.$message.warning(res.message)
          }
        })
      },
      clearList() {
        this.dataSource = []
        this.selectedRowKeys = []
        this.ipagination.current = 1
      },
      loadData(arg) {
        if (!this.url.list) {
          this.$message.error('请设置url.list属性!')
          return
        }
        //加载数据 è‹¥ä¼ å…¥å‚æ•°1则加载第一页的内容
        if (arg === 1) {
          this.ipagination.current = 1
        }
        var params = this.getQueryParams()//查询条件
        this.loading = true
        getAction(this.url.list, params).then((res) => {
          if (res.success) {
            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
        })
      }
    }
  }
</script>
<style scoped>
  @import '~@assets/less/common.less';
</style>