qushaowei
2023-08-31 b5e4adfc3a55490ad1cd49f50dfcc9dfb7b57d33
src/views/eam/newEquipment/EquipmentDocumentList.vue
@@ -1,8 +1,14 @@
<template>
  <a-card :bordered="false" :class="'cust-erp-sub-tab'">
  <a-card
    :bordered="false"
    :class="'cust-erp-sub-tab'"
  >
    <!-- 查询区域 -->
    <div class="table-page-search-wrapper">
      <a-form layout="inline" @keyup.enter.native="searchQuery">
      <a-form
        layout="inline"
        @keyup.enter.native="searchQuery"
      >
        <a-row :gutter="24">
        </a-row>
      </a-form>
@@ -10,8 +16,15 @@
    <!-- 查询区域-END -->
    <!-- 操作按钮区域 -->
    <div class="table-operator" v-if="mainId">
      <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
    <div
      class="table-operator"
      v-if="mainId"
    >
      <a-button
        @click="handleAdd"
        type="primary"
        icon="plus"
      >新增</a-button>
      <!-- <a-button type="primary" icon="download" @click="handleExportXls('设备文档')">导出</a-button>
      <a-upload
        name="file"
@@ -24,7 +37,10 @@
      </a-upload> -->
      <a-dropdown v-if="selectedRowKeys.length > 0">
        <a-menu slot="overlay">
          <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>
          <a-menu-item
            key="1"
            @click="batchDel"
          ><a-icon type="delete" />删除</a-menu-item>
        </a-menu>
        <a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>
      </a-dropdown>
@@ -32,9 +48,15 @@
    <!-- table区域-begin -->
    <div>
      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
      <div
        class="ant-alert ant-alert-info"
        style="margin-bottom: 16px;"
      >
        <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
        <a style="margin-left: 24px" @click="onClearSelected">清空</a>
        <a
          style="margin-left: 24px"
          @click="onClearSelected"
        >清空</a>
      </div>
      <a-table
@@ -48,7 +70,8 @@
        :pagination="ipagination"
        :loading="loading"
        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
        @change="handleTableChange">
        @change="handleTableChange"
      >
        <span
          slot="size"
@@ -109,64 +132,68 @@
      </a-table>
    </div>
    <pdf-view ref="pdfview"></pdf-view>
    <equipmentDocument-modal ref="modalForm" @ok="modalFormOk" :mainId="mainId"></equipmentDocument-modal>
    <equipmentDocument-modal
      ref="modalForm"
      @ok="modalFormOk"
      :mainId="mainId"
    ></equipmentDocument-modal>
  </a-card>
</template>
<script>
  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
  import EquipmentDocumentModal from '../modules/equipmentNew/EquipmentDocumentModal'
  import { preview } from 'vue-photo-preview'
  import { mixinDevice } from '@/utils/mixin'
 import { ACCESS_TOKEN } from '@/store/mutation-types'
 import Vue from 'vue'
 import PdfView from '@views/common/PdfView'
 import JInput from '@/components/jeecg/JInput'
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import EquipmentDocumentModal from '../modules/equipmentNew/EquipmentDocumentModal'
import { preview } from 'vue-photo-preview'
import { mixinDevice } from '@/utils/mixin'
import { ACCESS_TOKEN } from '@/store/mutation-types'
import Vue from 'vue'
import PdfView from '@views/common/PdfView'
import JInput from '@/components/jeecg/JInput'
import Tooltip from 'ant-design-vue/es/tooltip'
import JEllipsis from "@/components/jeecg/JEllipsis";
 import { getFileAccessHttpUrl } from '@/api/manage';
 import '@/assets/less/TableExpand.less'
 import store from '@/store/'
import { getFileAccessHttpUrl } from '@/api/manage';
import '@/assets/less/TableExpand.less'
import store from '@/store/'
import { downFile, getAction } from '../../../api/manage'
  export default {
    name: "EquipmentDocumentList",
    mixins:[JeecgListMixin,mixinDevice],
    components: {
      EquipmentDocumentModal,
      PdfView,
      preview,
      JInput,
      Tooltip,
      JEllipsis,
export default {
  name: "EquipmentDocumentList",
  mixins: [JeecgListMixin, mixinDevice],
  components: {
    EquipmentDocumentModal,
    PdfView,
    preview,
    JInput,
    Tooltip,
    JEllipsis,
  },
    props:{
      mainId:{
        type:String,
        default:'',
        required:false
      }
    },
    watch:{
      mainId:{
        immediate: true,
        handler(val) {
          if(!this.mainId){
            this.clearList()
          }else{
            this.queryParam['equipmentId'] = val
            this.loadData(1);
          }
  props: {
    mainId: {
      type: String,
      default: '',
      required: false
    }
  },
  watch: {
    mainId: {
      immediate: true,
      handler(val) {
        if (!this.mainId) {
          this.clearList()
        } else {
          this.queryParam['equipmentId'] = val
          this.loadData(1);
        }
      }
    },
    data () {
      return {
        description: '设备台账管理页面',
        disableMixinCreated:true,
        colorMap: {},
        // 表头
        columns: [
    }
  },
  data() {
    return {
      description: '设备台账管理页面',
      disableMixinCreated: true,
      colorMap: {},
      // 表头
      columns: [
        {
          title: '#',
          dataIndex: '',
@@ -181,31 +208,26 @@
          title: '文档编号',
          dataIndex: 'num',
          align: "center",
          width:300,
        },
        {
          title: '文档名称',
          align: 'center',
          dataIndex: 'name',
          width:300,
        },
        {
          title: '文档类型',
          align: 'center',
          dataIndex: 'type_dictText',
          width:300,
          dataIndex: 'fileType_dictText',
        },
        {
          title: '上传时间',
          align: "center",
          dataIndex: 'createTime',
          width:300,
        },
        {
          title: '上传者',
          align: "center",
          dataIndex: 'createBy',
          width:300,
        },
        {
          title: '大小',
@@ -214,7 +236,7 @@
          scopedSlots: {
            customRender: 'size'
          },
          width:300,
          width: 300,
        },
        {
          title: '操作',
@@ -225,32 +247,32 @@
          },
          width: 200,
        },
        ],
        url: {
            list: "/eam/equipmentDocument/list",
            delete: "/eam/equipmentDocument/delete",
            deleteBatch: '/eam/equipmentDocument/deleteBatch',
            urlDownload: window._CONFIG['staticDomainURL'],
            download: '/sys/upload/downloadFile',
        },
        dictOptions:{
        }
      }
    },
    created() {
    },
    computed: {
      importExcelUrl(){
        return `${window._CONFIG['domianURL']}/${this.url.importUrl}/${this.mainId}`;
      }
    },
    methods: {
      clearList(){
        this.dataSource=[]
        this.selectedRowKeys=[]
        this.ipagination.current = 1
      ],
      url: {
        list: "/eam/equipmentDocument/list",
        delete: "/eam/equipmentDocument/delete",
        deleteBatch: '/eam/equipmentDocument/deleteBatch',
        urlDownload: window._CONFIG['staticDomainURL'],
        download: '/sys/upload/downloadFile',
      },
      sizeConvert(limit) {
      dictOptions: {
      }
    }
  },
  created() {
  },
  computed: {
    importExcelUrl() {
      return `${window._CONFIG['domianURL']}/${this.url.importUrl}/${this.mainId}`;
    }
  },
  methods: {
    clearList() {
      this.dataSource = []
      this.selectedRowKeys = []
      this.ipagination.current = 1
    },
    sizeConvert(limit) {
      var size = "";
      if (limit < 0.1 * 1024) {
        size = parseFloat(limit).toFixed(2) + "B";//小于0.1KB,则转化成B
@@ -306,10 +328,10 @@
        // object-key表示从OSS下载文件时需要指定包含文件后缀在内的完整路径,例如abc/efg/123.jpg。
        return client.signatureUrl(record.path)
      }
      },
      view(record) {
    },
    view(record) {
      this.$refs.pdfview.showPdf(record.upload.src);
      },
    },
    handleDownload(record) {
      downFile(this.url.download, { id: record.id }).then((res) => {
@@ -371,11 +393,11 @@
    }
  }
}
</script>
<style scoped>
 @import '~@assets/less/common.less';
@import '~@assets/less/common.less';
/deep/ .frozenRowClass {
  color: #c9c9c9;
}