LKTaskMenu.vue 12.1 KB
<template>
  <a-card :bordered="false">
    <div class="row">

      <div class=" select-info  tableGrids ">

          <a-form id="agvMenu-form" class="form-horizontal m form-font">
            <a-row :gutter="24">
          <div class="form-group" style="display: none;">
            <label class="col-sm-3 control-label">id:</label>
            <div class="col-sm-8">
              <input id="id" name="id" class="form-control" type="text" readonly>
            </div>
          </div>
          <div class="form-group" style="display: none">
            <label class="col-sm-3 control-label">taskId:</label>
            <div class="col-sm-8">
              <input id="taskId" name="taskId" class="form-control" type="text" readonly>
            </div>
          </div>

          <div class="form-group">
            <label class="col-sm-3 control-label">容器:</label>
            <div class="col-sm-2">
<!--              <a-input placeholder="请输入请求地址" v-model="fieldList.id"></a-input>-->
              <input id="containerCode" name="containerCode" class="form-control" value="" v-enter="handleSubmit" type="text" style="font-size: 16px">
            </div>
            <label class="col-sm-2 control-label">仓库:</label>
            <div class="col-sm-4">
              <input id="uWarehouseName" name="uWarehouseName" class="form-control" type="text" readonly>
            </div>
          </div>

          <div class="form-group">
            <label class="col-sm-3 control-label">单号:</label>
            <div class="col-sm-8">
              <input id="sourceCode" name="sourceCode" class="form-control" type="text" readonly>
            </div>
          </div>
          <div class="form-group">
            <label class="col-sm-3 control-label">存货编码:</label>
            <div class="col-sm-8">
              <input id="materialCode" name="materialCode" class="form-control" type="text" readonly>
            </div>
          </div>
          <div class="form-group">
            <label class="col-sm-3 control-label">存货代码:</label>
            <div class="col-sm-8">
              <input id="barCode" name="barCode" class="form-control" type="text" readonly>
            </div>
          </div>
          <div class="form-group">
            <label class="col-sm-3 control-label">物料名称:</label>
            <div class="col-sm-8">
              <input id="materialName" name="materialName" class="form-control" type="text" readonly>
            </div>
          </div>
          <div class="form-group">
            <label class="col-sm-3 control-label">规格型号:</label>
            <div class="col-sm-8">
              <input id="specification" name="specification" class="form-control" type="text" readonly>
            </div>
          </div>
          <div class="form-group">
            <label class="col-sm-22 control-label">任务类型:</label>
            <div class="col-sm-1">
               <input id="type" name="type" class="form-control" type="text" readonly>
            </div>
            <label class="col-sm-24 control-label">数量:</label>
            <div class="col-sm-23">
              <input id="qty" name="qty" class="form-control" type="text" >
            </div>
            <label class="col-sm-23 control-label">剩余库存:</label>
            <div class="col-sm-23">
              <input id="remainder" name="remainder" class="form-control" type="text" readonly >
            </div>
          </div>
          <div class="form-group" style="text-align: right">
            <div class="col-sm-10 toolbox-btn" style="text-align: right">
              <a-button class="buttom-css" style="margin-left:10px;" type="danger" @click="Complete()" icon="">上下料完成</a-button>
              <a-button class="buttom-css" style="margin-left:10px;" type="primary" @click="replenIn()" icon="">补充入库</a-button>
              <a-button v-has="'taskHeader:emptyIn'" style="margin-left:10px;"  @click="createEmptyIn()" type="primary">空托入库</a-button>
              <a-button v-has="'taskHeader:emptyOut'" style="margin-left:10px;" @click="createEmptyOut()" type="primary">空托出库</a-button>

            </div>
          </div>
            </a-row>
        </a-form>
      </div>


    </div>
    <div class="col-sm-12 select-info bottoms">
    <a-table
      ref="table"
      size="middle"
      bordered
      rowKey="id"
      :columns="columns"
      :pagination="ipagination"
      :dataSource="dataSource"
      :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type:'radio'}"
      class="j-table-force-nowrap"
      @change="handleTableChange">

    </a-table>
    </div>
    <empty-in-task-modal ref="emptyInModal" @ok="modalFormOk"></empty-in-task-modal>
    <empty-out-task-modal ref="emptyOutModal" @ok="modalFormOk"></empty-out-task-modal>
    <replen-in-task-modal ref="replenInTaskModal" @ok="modalFormOk"></replen-in-task-modal>

  </a-card>


</template>

<script>
import BatchEmptyOutTaskModal from "@views/system/task/modules/BatchEmptyOutTaskModal.vue";

var prefix = "/task/agvTaskMenu";


import huahengUI from '../../../assets/css/huahengUI.css'
import $ from '../../../assets/js/jquery-1.11.1.min'
import '@/assets/less/TableExpand.less'
import {mixinDevice} from '@/utils/mixin'
import {JeecgListMixin} from '@/mixins/JeecgListMixin'
import {initDictOptions, filterMultiDictText} from '@/components/dict/JDictSelectUtil'

import {
  getLkTasks, completeTaskByLK
} from "@api/api";
import ManyEmptyOutTaskModal from "@views/system/task/modules/ManyEmptyOutTaskModal.vue";
import EmptyInTaskModal from "@views/system/task/modules/EmptyInTaskModal.vue";
import EmptyOutTaskModal from "@views/system/task/modules/EmptyOutTaskModal.vue";
import ReplenInTaskModal from "@views/system/task/modules/ReplenInTaskModal.vue";

export default {
  name: "LKTaskMenu",
  components: {EmptyOutTaskModal, EmptyInTaskModal, ManyEmptyOutTaskModal, BatchEmptyOutTaskModal,ReplenInTaskModal},
  mixins: [JeecgListMixin, mixinDevice],
  zoneCode: "",
  url: {
    // list: '/monitor/apiLog/list',
  },
  data() {
    return {
      spinning: true,
      loading: true,
      showPrise: false,
      // loading:true,
      zoneCode: '',
      warehouseCode: '',
      zoneList: [],
      warehouseList:[],
      model: {},
      locationContent: '',
      firstLoad:0,
      selectId: '',
      // dataSource:[],
      // ipagination: {
      //   current: 1,
      //   pageSize: 10,
      //   pageSizeOptions: ['10', '20', '30'],
      //
      //   showQuickJumper: true,
      //   showSizeChanger: true,
      //   total: 0
      // },
      // pagination:[],
      // 表头
      columns: [
        {
          title: 'id',
          align: "center",
          dataIndex: 'id',
        },
        {
          title: '操作人',
          align: "center",
          dataIndex: 'updateBy',
        },
        {
          title: '存货编码',
          align: "center",
          dataIndex: 'materialCode'
        },
        {
          title: '物料名称',
          align: "center",
          dataIndex: 'materialName',
        },
        {
          title: '规格型号',
          align: "center",
          dataIndex: 'materialSpec',
        },
        {
          title: '容器编码',
          align: "center",
          dataIndex: 'containerCode',
        },

        {
          title: '数量',
          align: "center",
          dataIndex: 'qty',
        },
        {
          title : '库存',
          align: "center",
          dataIndex : 'warehouseQty'
        },
        {
          title : 'U8单据',
          align: "center",
          dataIndex : 'sourceCode'
        },
        {
          title : '货主',
          align: "center",
          dataIndex : 'companyName'
        },
        {
          title : 'u8仓库',
          align: "center",
          dataIndex : 'uWarehouseName'
        },
        {
          title : '任务类型',
          align: "center",
          dataIndex: 'taskType',
          customRender: function (t, r, index) {
            if(t==300) {
              return '整盘出库';
            }else if(t==400) {
              return '分拣出库';
            }
          }
        },
        ],
      dictOptions: {
        taskType: [],

        status: [],
      },
    }
  },

  directives: {
    enter: {
      bind(el, binding) {
        el.addEventListener('keyup', (event) => {
          if (event.keyCode === 13) {
            binding.value();
          }
        });
      },
    },
  },
  created() {


  },

  mounted() {

  },

  methods: {
    loadData(arg) {
      this.getContainerCode();
    },
    loadFrom() {

    },
    handleTableChange(pagination, filters, sorter) {

    },
    getStatusColor(status) {
      const colors = {
        '新建': 'green',
        '生成任务': 'blue',
        '下架完成': 'gray',

        '整出任务': 'blue',
        '分拣任务': 'green',
        default: 'blue'
      };
      return colors[status] || colors.default;
    },

    handleSubmit() {
      console.log('回车键被按下');
      this.getContainerCode();
    },
    getContainerCode(){
      let containerCode=$("#containerCode").val();
      this.dataSource =[];
      $("#id").val('');
      $("#taskId").val('');
      $("#uWarehouseName").val('');
      $("#sourceCode").val('');
      $("#materialCode").val('');
      $("#barCode").val('');
      $("#materialName").val('');
      $("#specification").val('');
      $("#warehouseQty").val('');
      $("#type").val('');
      $("#qty").val('');
      $("#remainder").val('');
      if(containerCode){
        let data={
          containerCode:containerCode,
        };
        getLkTasks(data).then((res) => {
          if (res.success) {
            let ress=res.result;
            if(ress.length>0) {
              $("#id").val(ress[0].id);
              $("#taskId").val(ress[0].taskHeaderId);
              // $("#uWarehouseName").val(ress[0].uWarehouseName);
              $("#sourceCode").val(ress[0].receiptId);
              $("#materialCode").val(ress[0].materialCode);
              $("#barCode").val(ress[0].barCode);
              $("#materialName").val(ress[0].materialName);
              $("#specification").val(ress[0].materialSpec);
              $("#warehouseQty").val(ress[0].warehouseQty);
              $("#qty").val(ress[0].qty);
              $("#remainder").val(ress[0].remainder);
              if(ress[0].taskType==300) {
                $("#type").val('整盘出库');
              }else if(ress[0].taskType==400) {
                $("#type").val('分拣出库');
              }

              this.dataSource = res.result.records || res.result;
              if (res.result.total) {
                this.ipagination.total = res.result.total;
              } else {
                this.ipagination.total = 0;
              }
            }
          }else{
            this.$message.error(res.message)
          }
        })
      }
    },
    Complete(){
      //完成
      let ID=this.selectId;
      let qty=$("#qty").val()||null;
      let TaskId=taskId||$("#taskId").val();
      let data = { "id" : ID ,"taskId":TaskId ,"qty":qty }
      completeTaskByLK(data).then((res) => {
        if (res.success) {
          this.getContainerCode();
        }else{
          this.$message.error(res.message)
        }
      })
    },
    replenIn(){
      this.$refs.replenInTaskModal.edit();
      this.$refs.replenInTaskModal.title = "补充入库";
    },
    createEmptyIn() {
      this.$refs.emptyInModal.edit();
      this.$refs.emptyInModal.title = "创建空托盘入库";
    },
    createEmptyOut() {
      this.$refs.emptyOutModal.edit();
      this.$refs.emptyOutModal.title = "创建空托盘出库";
    },

    onSelectChange(selectedRowKeys, selectionRows) {
      this.selectedRowKeys = selectedRowKeys;
      this.selectionRows = selectionRows;
      console.log(this.selectionRows[0])
      this.selectId= this.selectionRows[0].id;
      // this.$refs.JeecgOrderCustomerList.getOrderMain(this.selectedRowKeys[0]);
      // this.$refs.JeecgOrderTicketList.getOrderMain(this.selectedRowKeys[0]);
    },

    refresh: function () {

    },



  },

}
</script>
<style scoped>
</style>