zenglf
2023-09-18 92ff846fb659c62037a32b1d8c15eae9df9d9b54
src/views/eam/modules/equipmentUnseal/EquipmentUnsealDetailList.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,273 @@
<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>
    <div>
      <a-table
        ref="table"
        size="middle"
        bordered
        rowKey="id"
        :columns="columns"
        :dataSource="dataSource"
        :pagination="ipagination"
        :loading="loading"
        @change="handleTableChange"
        :scroll="{ x: 'calc(1400px + 50%)', y: 900 }"
      >
        <!-- :scroll="{x:true}" -->
        <template
          slot="htmlSlot"
          slot-scope="text"
        >
          <div v-html="text"></div>
        </template>
        <template
          slot="equipmentPhoto"
          slot-scope="text,record"
        >
          <span
            v-if="!text"
            style="font-size: 12px;font-style: italic;"
          >无图片</span>
          <img
            v-else
            :src="getImgView(text)"
            :preview="record.id"
            height="25px"
            alt=""
            style="max-width:80px;font-size: 12px;font-style: italic;"
          />
        </template>
        <template
          slot="fileSlot"
          slot-scope="text"
        >
          <span
            v-if="!text"
            style="font-size: 12px;font-style: italic;"
          >无文件</span>
          <a-button
            v-else
            :ghost="true"
            type="primary"
            icon="download"
            size="small"
            @click="downloadFile(text)"
          >
            ä¸‹è½½
          </a-button>
        </template>
        <span
          slot="action"
          slot-scope="text, record"
        >
          <a @click="handleEdit(record)">编辑</a>
          <a-divider type="vertical" />
          <a-popconfirm
            title="确定删除吗?"
            @confirm="() => handleDelete(record.id)"
          >
            <a>删除</a>
          </a-popconfirm>
        </span>
      </a-table>
    </div>
    <equipmentUnsealDetail-modal
      ref="modalForm"
      @ok="modalFormOk"
      :mainId="mainId"
    ></equipmentUnsealDetail-modal>
  </a-card>
</template>
<script>
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import EquipmentUnsealDetailModal from './EquipmentUnsealDetailModal'
export default {
  name: "EquipmentUnsealDetailList",
  mixins: [JeecgListMixin],
  components: { EquipmentUnsealDetailModal },
  props: {
    mainId: {
      type: String,
      default: '',
      required: false
    }
  },
  watch: {
    mainId: {
      immediate: true,
      handler(val) {
        if (!this.mainId) {
          this.clearList()
        } else {
          this.queryParam['equipmentChangeId'] = val
          this.loadData(1);
        }
      }
    }
  },
  data() {
    return {
      description: '设备启封管理页面',
      disableMixinCreated: true,
      // è¡¨å¤´
      columns: [
        {
          title: '#',
          dataIndex: '',
          key: 'rowIndex',
          width: 60,
          align: "center",
          customRender: function (t, r, index) {
            return parseInt(index) + 1;
          }
        },
        // {
        //   title:'设备变动单id',
        //   align:"center",
        //   dataIndex: 'equipmentChangeId'
        // },
        // {
        //   title:'设备ID',
        //   align:"center",
        //   dataIndex: 'equipmentId'
        // },
        {
          title: '设备编码',
          align: "center",
          dataIndex: 'equipmentNum'
        },
        {
          title: '资产编码',
          align: "center",
          dataIndex: 'assetNumber'
        },
        {
          title: '特种设备',
          align: "center",
          dataIndex: 'specificEquipment_dictText',
        },
        {
          title: '设备名称',
          align: "center",
          dataIndex: 'equipmentName'
        },
        {
          title: '设备型号',
          align: "center",
          dataIndex: 'model'
        },
        {
          title: '设备规格',
          align: "center",
          dataIndex: 'specification'
        },
        {
          title: '设备状态',
          align: "center",
          dataIndex: 'equipmentStatus_dictText',
        },
        {
          title: '技术状态',
          align: "center",
          dataIndex: 'technologyStatus_dictText',
        },
        {
          title: '设备图片',
          align: "center",
          dataIndex: 'equipmentPhoto',
          scopedSlots: { customRender: "equipmentPhoto" }
        },
        {
          title: '设备位置',
          align: "center",
          dataIndex: 'location'
        },
        {
          title: '重要度',
          align: "center",
          dataIndex: 'equipmentImportanceId_dictText',
        },
        {
          title: '封存原因',
          align: "center",
          dataIndex: 'sealReason'
        },
        {
          title: '封存日期',
          align: "center",
          dataIndex: 'sealDate'
        },
        {
          title: '启封日期',
          align: "center",
          dataIndex: 'unsealDate'
        },
        {
          title: '启封原因',
          align: "center",
          dataIndex: 'unsealReason'
        },
        // {
        //   title: '操作',
        //   dataIndex: 'action',
        //   align:"center",
        //   fixed:"right",
        //   width:147,
        //   scopedSlots: { customRender: 'action' },
        // }
      ],
      url: {
        list: "/eam/equipmentUnseal/listEquipmentUnsealDetailByMainId",
        delete: "/eam/equipmentUnseal/deleteEquipmentUnsealDetail",
        deleteBatch: "/eam/equipmentUnseal/deleteBatchEquipmentUnsealDetail",
        exportXlsUrl: "/eam/equipmentUnseal/exportEquipmentUnsealDetail",
        importUrl: "/eam/equipmentUnseal/importEquipmentUnsealDetail",
      },
      dictOptions: {
        auditStatus: [],
      }
    }
  },
  created() {
  },
  computed: {
    importExcelUrl() {
      return `${window._CONFIG['domianURL']}/${this.url.importUrl}/${this.mainId}`;
    }
  },
  methods: {
    clearList() {
      this.dataSource = []
      this.selectedRowKeys = []
      this.ipagination.current = 1
    }
  }
}
</script>
<style scoped>
::v-deep .ant-card-body {
  padding: 2px;
}
</style>