zenglf
2023-09-18 92ff846fb659c62037a32b1d8c15eae9df9d9b54
src/views/eam/modules/predictiveWorkPlan/PredictiveWarn.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,195 @@
<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="planId != '' && 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="planId != '' && isAdd "
          >
            <a>删除</a>
          </a-popconfirm>
        </span>
      </a-table>
    </div>
    <predictive-warn-modal ref="modalForm" @ok="modalFormOk"></predictive-warn-modal>
  </a-card>
</template>
<script>
  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
  import { deleteAction } from '@/api/manage'
  import Tooltip from 'ant-design-vue/es/tooltip'
  import PredictiveWarnModal from './PredictiveWarnModal'
  export default {
    name: 'PredictiveWarn',
    components: {
      Tooltip,
      PredictiveWarnModal
    },
    mixins: [JeecgListMixin],
    props: {
      planId: {
        type: String,
        required: false
      },
      equipmentId: {
        type: String,
        required: false
      },
      isAdd: {
        type: Boolean,
        default: false
      },
      isDel: {
        type: Boolean,
        default: false
      }
    },
    mounted() {
    },
    watch: {
      planId: function(val) {
        this.clearList()
        if (this.planId) {
          this.queryParam.planId = val
          this.queryParam.delFlag = 0
          this.loadData(1)
        }
      }
    },
    data() {
      return {
        disableMixinCreated: true,
        columns: [
          {
            title: '#',
            dataIndex: '',
            key: 'rowIndex',
            width: 60,
            align: 'center',
            customRender: function(t, r, index) {
              return parseInt(index) + 1
            }
          },
          {
            title: '条件',
            dataIndex: 'conditionalRelationName',
            align: 'center'
          },
          {
            title: '报警代码',
            dataIndex: 'warnCode',
            align: 'center'
          },
          {
            title: '报警名称',
            dataIndex: 'warnName',
            align: 'center'
          },
          {
            title: '报警周期',
            dataIndex: 'warnCycle',
            align: 'center'
          },
          {
            title: '报警周期单位',
            dataIndex: 'cycleUnitName',
            align: 'center'
          },
          {
            title: '报警次数',
            dataIndex: 'times',
            align: 'center'
          },
          {
            title: '操作',
            dataIndex: 'action',
            align: 'center',
            fixed: 'right',
            width: 250,
            scopedSlots: { customRender: 'action' }
          }
        ],
        url: {
          list: '/eam/predictiveworkplanwarn/pagePredictiveWorkPlanWarn',
          delete: '/eam/predictiveworkplanwarn/delete'
        }
      }
    },
    methods: {
      handleAdd: function() {
        this.$refs.modalForm.add()
        this.$refs.modalForm.title = '报警控制'
        this.$refs.modalForm.disableSubmit = false
        this.$refs.modalForm.planId = this.planId
        this.$refs.modalForm.equipmentId = this.equipmentId
      },
      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
      }
    }
  }
</script>
<style scoped>
  @import '~@assets/less/common.less';
</style>