PreparationList.vue 5.32 KB
<template>
  <a-modal
    :width="modalWidth"
    :style="modalStyle"
    :visible="visible"
    :maskClosable="false"
    @cancel="handleCancel">
    <template slot="footer">
      <a-button @click="handleCancel">关闭</a-button>
    </template>

    <a-row :gutter="12">

      <a-col :md="6" :sm="12">
        <a-form-item label="项目名称" :labelCol="{span: 6}" :wrapperCol="{span: 14, offset: 1}">
          <a-input   v-model="name" disabled="" ></a-input>
        </a-form-item>
      </a-col>

      <a-col :md="7" :sm="8">
        <a-form-item label="工作令" :labelCol="{span: 3}" :wrapperCol="{span: 14, offset: 1}">
          <a-input  v-model="workNo"  disabled="" ></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="toPreparation" icon="file-done" style="margin-left: 8px">发起备料</a-button>
            </span>
      </a-col>
    </a-row>

    <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
      <i class="anticon anticon-info-circle ant-alert-icon"></i>已选择&nbsp;<a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项&nbsp;&nbsp;
      <a style="margin-left: 24px" @click="onClearSelected">清空</a>
    </div>

    <a-table
      ref="table"
      rowKey="id"
      size="middle"
      :columns="columns"
      :loading="loading"
      :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: selectChanges}"
      :dataSource="dataSource"
      :pagination="false">
      <span slot="action" slot-scope="text, record">
        <a @click="handleBack(record.id)"><a-icon type="redo"/>查看</a>
      </span>
    </a-table>
    <import-bom ref="modalForm" :pro_no="pro_no" :pno_no="pno_no" :js="js" :uuid="uuid"></import-bom>
  </a-modal>


</template>

<script>
import {preparationList,toPreparation} from '@/api/api'
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
export default {
  name: "PBOMList",
  mixins:[JeecgListMixin],
  components: {
  },
  data () {
    return {
      modalWidth: '70%',
      modalStyle: { 'top': '20px'},
      title: '操作',
      visible: false,
      ids:'',
      loading: false,
      dataSource:[],
      bomIdList:[],
      labelCol: {
        xs: { span: 24 },
        sm: { span: 5 },
      },
      wrapperCol: {
        xs: { span: 24 },
        sm: { span: 16 },
      },
      params:{
        id:'',
      },
      columns:[
        {
          title: '#',
          dataIndex: '',
          key: 'rowIndex',
          width: 120,
          align: "center",
          customRender: function (t, r, index) {
            return parseInt(index) + 1;
          }
        },
        {
          title: '工作令',
          dataIndex: 'workOrder',
          key: 'workOrder'
        },
        {
          title: '物料编码',
          dataIndex: 'bomCode',
          key: 'bomCode'
        },
        {
          title: '名称',
          dataIndex: 'bom',
          key: 'bom'
        }, {
          title: '物料单位',
          dataIndex: 'unit',
          key: 'unit'
        },
        {
          title: '用量',
          dataIndex: 'bnum',
          key: 'bnum'
        },{
          title: '锁住',
          dataIndex: 'lockingNum',
          key: 'lockingNum'
        }

        // ,
        // {
        //   title: '操作',
        //   dataIndex: 'action',
        //   align: "center",
        //   scopedSlots: {customRender: 'action'}
        // }
      ]
    }
  },
  created () {
  },

  methods: {

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

    handleCancel(){
      this.visible = false
      this.dataSource=[];
    },


    toPreparation(){
      if (this.ids==""){
        this.$message.error("请至少选择一条物料!");
        return false;
      }
      this.params.id = this.ids;
      toPreparation(this.params).then((res)=>{
        if (res.success){
          this.$message.success(res.result);
          this.searchReset();
        }else {
          this.$message.warning(res.message);
        }
      });
    },


    selectChanges(selectedRowKeys, selectionRows) {
      this.selectedRowKeys = selectedRowKeys;
      this.selectionRows = selectionRows;
      var array='';
      this.selectionRows.forEach(function (row) {
        array += row.id + ",";
      });
     this.ids=array;
    },

    show(name,workNo){
      this.name=name
      this.workNo=workNo
      this.visible = true
      this.queryBom();

    },



    loadData() {

    },
    queryBom(){
      this.onClearSelected()
      this.loading = true
      var params = this.getQueryParams()//查询条件
      params.workno=this.workNo
      preparationList(params).then((res) => {
        if (res.code==0) {
          this.dataSource=[];
          this.dataSource = res.result
          this.loading = false
          this.rowSelection.selectedRowKeys=this.res.result.map(item=>item.id);
          //this.pro_no=this.no;
        }else{
          this.loading = false
          this.dataSource=[];
          this.$message.error(res.message)
        }
      })
    },
    searchReset() {
      var that = this;
      that.no = "";
      that.name="";
      that.f08="";
    }


  }
}
</script>

<style scoped>

</style>