PurchaseOrderDetailsList.vue 6.38 KB
<template>
  <a-card :bordered="false" :class="'cust-erp-sub-tab'">
    <!-- 操作按钮区域 -->
    <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('purchase_order_details')">导出</a-button>-->
<!--      <a-upload-->
<!--        name="file"-->
<!--        :showUploadList="false"-->
<!--        :multiple="false"-->
<!--        :headers="tokenHeader"-->
<!--        :action="importExcelUrl"-->
<!--        @change="handleImportExcel">-->
<!--          <a-button type="primary" icon="import">导入</a-button>-->
<!--      </a-upload>-->
    
    </div>

    <!-- table区域-begin -->
    <div>
      <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>
      </div>

      <a-table
        ref="table"
        size="middle"
        bordered
        rowKey="id"
        :scroll="{x:true}"
        :columns="columns"
        :dataSource="dataSource"
        :pagination="ipagination"
        :loading="loading"
        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
        @change="handleTableChange">

        <template slot="htmlSlot" slot-scope="text">
          <div v-html="text"></div>
        </template>
        <template slot="imgSlot" slot-scope="text">
          <span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span>
          <img v-else :src="getImgView(text)" 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>
        </span>

      </a-table>
    </div>

    <purchaseOrderDetails-modal ref="modalForm" @ok="modalFormOk" :mainId="mainId"></purchaseOrderDetails-modal>
  </a-card>
</template>

<script>

  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
  import PurchaseOrderDetailsModal from './modules/PurchaseOrderDetailsModal'
  import {colAuthFilter} from "@/utils/authFilter";

  export default {
    name: "PurchaseOrderDetailsList",
    mixins:[JeecgListMixin],
    components: { PurchaseOrderDetailsModal },
    props:{
      mainId:{
        type: String,
        default:'',
        required:false
      },
      firstStatus:{
        type:Number,
        default: 0,
        required:false
      },
    },
    watch:{
      mainId:{
        immediate: true,
        handler(val) {
          if(!this.mainId){
            this.clearList()
          }else{
            this.dataSource=[]
            this.selectedRowKeys=[]
            this.queryParam['headId'] = val
            this.loadData(1);
          }
        }
      }
    },
    data () {
      return {
        description: 'purchase_order管理页面',
        disableMixinCreated:true,
        // 表头
        columns: [
          {
            title: '#',
            dataIndex: '',
            key:'rowIndex',
            width:60,
            align:"center",
            customRender:function (t,r,index) {
              return parseInt(index)+1;
            }
          },
          {
            title:'物料名称',
            align:"center",
            dataIndex: 'mapName'
          },
          {
            title:'物料代码',
            align:"center",
            dataIndex: 'mapNumber'
          },
          {
            title:'订货数量',
            align:"center",
            dataIndex: 'qty'
          },
        
          {
            title:'状态',
            align:"center",
            dataIndex: 'qstatus_dictText',
            key: 'qstatus_dictText',
            sorter: true,
          },
          {
            title:'备注',
            align:"center",
            dataIndex: 'note'
          },
 
          {
            title:'到货数量',
            align:"center",
            dataIndex: 'commitQty'
          },
          {
            title:'炉号',
            align:"center",
            dataIndex: 'furnaceNumber'
          },
          {
            title:'批号',
            align:"center",
            dataIndex: 'batchNumber'
          },
          
          // {
          //   title: '操作',
          //   dataIndex: 'action',
          //   align:"center",
          //   fixed:"right",
          //   width:147,
          //   scopedSlots: { customRender: 'action' },
          // }
        ],
        url: {
          list: "/purchase_order/purchaseOrder/listPurchaseOrderDetailsByMainId",
          delete: "/purchase_order/purchaseOrder/deletePurchaseOrderDetails",
          deleteBatch: "/purchase_order/purchaseOrder/deleteBatchPurchaseOrderDetails",
          exportXlsUrl: "/purchase_order/purchaseOrder/exportPurchaseOrderDetails",
          importUrl: "/purchase_order/purchaseOrder/importPurchaseOrderDetails",
        },
        dictOptions:{
        }
      }
    },
    created: function () {
      // 增加方法调用,根据权限过滤展示的列
      this.columns = colAuthFilter(this.columns, 'PurchaseOrderDetails:');
    },
    computed: {
      importExcelUrl(){
        return `${window._CONFIG['domianURL']}/${this.url.importUrl}/${this.mainId}`;
      }
    },
    methods: {
      
      clearList(){
        this.dataSource=[]
        this.selectedRowKeys=[]
        this.ipagination.current = 1
      },
      getCheckboxProps(record){
        return {
          props:{
            disabled: record.status === 20,
            name: record.status,
          }
        }
      },
      createPurchaseReceipt(){
        if (this.selectedRowKeys.length < 1) {
          this.$message.warning('至少选择一条记录!');
          return false;
        }
        let ids = this.selectedRowKeys.join(",");
        this.$refs.modalForm.edit(ids);
      },

    }
  }
</script>
<style scoped>
  @import '~@assets/less/common.less'
</style>