bomPrintList.vue 5.56 KB
<template>
  <a-card :bordered="false">
    <!-- 查询区域 -->
    <div class="table-page-search-wrapper">
      <a-form layout="inline">
        <a-row :gutter="12">
          <a-col :md="6" :sm="8">
            <a-form-item label="工作令号">
              <!--                <a-input placeholder="请输入工作令号" v-model="queryParam.workNo"></a-input>-->
              <j-popup v-model="workno" code="find_projectc" field="field0056" orgFields="field0056"
                       destFields="field0056" :multi="true"/>
            </a-form-item>
          </a-col>

          <a-col :md="4" :sm="8">
            <a-form-item label="物料名称" :labelCol="{span: 6}" :wrapperCol="{span: 14, offset: 1}">
              <a-input placeholder="请输入物料名称" v-model.trim="name" @keyup.enter="searchEnterFun($event)"></a-input>
            </a-form-item>
          </a-col>

          <a-col :md="5" :sm="8">
            <a-form-item label="图号" :labelCol="{span: 3}" :wrapperCol="{span: 14, offset: 1}">
              <a-input placeholder="请输入图号" v-model.trim="f08" @keyup.enter="searchEnterFun($event)"></a-input>
            </a-form-item>
          </a-col>

          <a-col :md="6" :sm="8">
            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
              <a-button type="primary" @click="queryBom" icon="search">查询</a-button>
              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
            </span>
          </a-col>
        </a-row>
      </a-form>
    </div>
    <!-- 查询区域-END -->

    <!-- 操作按钮区域 -->


    <!-- 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"
        rowKey="id"
        size="middle"
        :columns="columns"
        :loading="loading"
        :dataSource="dataSource"
        :pagination="false">
      <span slot="action" slot-scope="text, record">
        <a @click="printList(record)"><a-icon type="redo"/>打印</a>
      </span>


      </a-table>
      <bom-print-item-list ref="printList"></bom-print-item-list>
    </div>

  </a-card>

</template>

<script>
import {queryProject} from '@/api/api'
import {JeecgListMixin} from '@/mixins/JeecgListMixin'
import importBom from './modules/importBom'
import BomPrintItemList from "./modules/BomPrintItemList";

export default {
  name: "bomPrintList",
  mixins: [JeecgListMixin],
  components: {
    BomPrintItemList,
    importBom
  },
  data() {
    return {
      modalWidth: '90%',
      modalStyle: {'top': '20px'},
      title: '操作',
      visible: false,
      workno: '',
      name: '',
      f08: '',
      loading: false,
      dataSource: [],
      bomIdList: [],
      labelCol: {
        xs: {span: 24},
        sm: {span: 5},
      },
      wrapperCol: {
        xs: {span: 24},
        sm: {span: 16},
      },
      columns: [
        {
          title: '#',
          dataIndex: '',
          key: 'rowIndex',
          width: 120,
          align: "center",
          customRender: function (t, r, index) {
            return parseInt(index) + 1;
          }
        },
        {
          title: '名称',
          dataIndex: 'name',
          key: 'name'
        }, {
          title: '料号',
          dataIndex: 'no',
          key: 'no'
        },
        {
          title: '图号',
          dataIndex: 'drawingNo',
          key: 'drawingNo'
        }, {
          title: '规格',
          dataIndex: 'spec',
          key: 'spec'
        }, {
          title: '重量',
          dataIndex: 'weight',
          key: 'weight'
        },
        {
          title: '数量',
          dataIndex: 'qty',
          key: 'qty'
        },

        ,
        {
          title: '操作',
          dataIndex: 'action',
          align: "center",
          scopedSlots: {customRender: 'action'}
        }
      ],
      url: {
        exportXlsUrl: "/pbom/pbom/exportPbomXls",

      },
    }
  },
  created() {

  },

  methods: {

    filterOption(input, option) {
      return (
        option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
      );
    },

    handleCancel() {
      this.visible = false
    },


    show() {
      this.visible = true

    },

    searchEnterFun(e) {
      var keyCode = window.event ? e.keyCode : e.which;
      if (keyCode == 13) {
        this.queryBom()
      }
    },

    loadData() {

    },

    printList(record) {
      this.$refs.printList.edit(record.ids, record.workno)
    },
    queryBom() {
      this.onClearSelected()
      this.loading = true
      var params = this.getQueryParams()//查询条件
      params.pno = this.no
      params.workno = this.workno
      params.name = this.name
      queryProject(params).then((res) => {
        if (res.code == 200) {
          this.dataSource = [];
          this.dataSource = res.result
          this.loading = false
          //this.pro_no=this.no;
        } else {
          this.loading = false
          this.dataSource = [];
          this.$message.error(res.message)
        }
      })
      params.f08 = this.f08
      this.uuid = this.no

    },
    searchReset() {
      var that = this;
      that.no = "";
      that.name = "";
      that.f08 = "";
    }


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