CompareWcsLocationTask.vue 6.54 KB
<template>
  <a-card :bordered="false" :class="'cust-erp-sub-tab'">
    <!-- 查询区域 -->
    <div class="table-page-search-wrapper">
      <a-form layout="inline" @keyup.enter.native="searchQuery">
        <a-row :gutter="24">
          <a-col :xl="6" :lg="7" :md="8" :sm="24">
            <a-form-item label="WMS任务ID">
              <a-input placeholder="请输入WMS任务ID" v-model="queryParam.wmsId"></a-input>
            </a-form-item>
          </a-col>
          <a-col :xl="6" :lg="7" :md="8" :sm="24">
            <a-form-item label="WCS任务ID">
              <a-input placeholder="请输入WMS任务ID" v-model="queryParam.wcsId"></a-input>
            </a-form-item>
          </a-col>
          <a-col :xl="6" :lg="7" :md="8" :sm="24">
            <a-form-item label="WMS任务类型">
              <j-dict-select-tag placeholder="请选择WMS任务类型" v-model="queryParam.taskType" dictCode="task_type" />
            </a-form-item>
          </a-col>
          <a-col :xl="6" :lg="7" :md="8" :sm="24">
            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
              <a-button type="primary" @click="searchQuery" 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>
      <a-table
        ref="table"
        size="middle"
        bordered
        rowKey="wmsId"
        :scroll="{ x: true }"
        :columns="columns"
        :dataSource="dataSource"
        :pagination="ipagination"
        :loading="loading"
        @change="handleTableChange"
      >
        <span slot="taskType" slot-scope="taskType">
          <a-tag :key="taskType">
            {{ solutionTaskType(taskType) }}
          </a-tag>
        </span>

        <span slot="taskStatus" slot-scope="taskStatus">
          <a-tag :key="taskStatus">
            {{ solutionTaskStatus(taskStatus) }}
          </a-tag>
        </span>
      </a-table>
    </div>
  </a-card>
</template>
<script>
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import { initDictOptions, filterMultiDictText } from '@/components/dict/JDictSelectUtil'
import { ajaxGetDictItems, getDictItemsFromCache } from '@/api/api'

export default {
  name: 'CompareWcsLocationTask',
  mixins: [JeecgListMixin],
  components: {},
  props: {
    mainId: {
      type: String,
      default: '',
      required: false
    }
  },
  watch: {
    mainId: {
      immediate: true,
      handler(val) {
        if (!this.mainId) {
          this.clearList()
        } else {
          this.queryParam['locationCode'] = val
          this.loadData(1)
        }
      }
    }
  },
  data() {
    return {
      description: '库位任务信息比较页面',
      disableMixinCreated: true,
      taskTypeList: [],
      taskStatusList: [],
      // 表头
      columns: [
        {
          title: 'WMS任务ID',
          align: 'center',
          dataIndex: 'wmsId'
        },
        {
          title: 'WCS任务ID',
          align: 'center',
          dataIndex: 'wcsId'
        },
        {
          title: 'WMS任务类型',
          align: 'center',
          dataIndex: 'taskType',
          key: 'taskType',
          scopedSlots: { customRender: 'taskType' }
        },
        {
          title: '源库位',
          align: 'center',
          dataIndex: 'fromLocationCode'
        },
        {
          title: 'WCS源库位',
          align: 'center',
          dataIndex: 'wcsFromLocationCode'
        },
        {
          title: '目标库位',
          align: 'center',
          dataIndex: 'toLocationCode'
        },
        {
          title: 'WCS目标库位',
          align: 'center',
          dataIndex: 'wcsToLocationCode'
        },
        {
          title: '托盘编码',
          align: 'center',
          dataIndex: 'containerCode'
        },
        {
          title: 'WCS托盘编码',
          align: 'center',
          dataIndex: 'wcsContainerCode'
        },
        {
          title: '任务状态',
          align: 'center',
          dataIndex: 'taskStatus',
          key: 'taskStatus',
          scopedSlots: { customRender: 'taskStatus' }
        },
        {
          title: 'WCS任务状态',
          align: 'center',
          dataIndex: 'wcsTaskStatus'
        },
        {
          title: '任务创建时间',
          align: 'center',
          dataIndex: 'taskCreateTime'
        },
        {
          title: 'WCS任务创建时间',
          align: 'center',
          dataIndex: 'wcsTaskCreateTime'
        }
      ],
      url: {
        list: '/config/location/compareWcsLocationTask'
      },
      dictOptions: {
        taskType: []
      }
    }
  },
  created() {
    this.initDictData()
  },
  methods: {
    initDictData() {
      // 获取 location_status
      if (getDictItemsFromCache('task_type')) {
        this.taskTypeList = getDictItemsFromCache('task_type')
      } else {
        //根据字典Code, 初始化字典数组
        ajaxGetDictItems('task_type', null).then(res => {
          if (res.success) {
            this.taskTypeList = res.result
          }
        })
      }
      if (getDictItemsFromCache('task_header_status')) {
        this.taskStatusList = getDictItemsFromCache('task_header_status')
      } else {
        //根据字典Code, 初始化字典数组
        ajaxGetDictItems('task_header_status', null).then(res => {
          if (res.success) {
            this.taskStatusList = res.result
          }
        })
      }
    },
    clearList() {
      this.dataSource = []
      this.selectedRowKeys = []
      this.ipagination.current = 1
    },
    solutionTaskType(value) {
      var actions = []
      Object.keys(this.taskTypeList).some(key => {
        if (this.taskTypeList[key].value == '' + value) {
          actions.push(this.taskTypeList[key].text)
          return true
        }
      })
      return actions.join('')
    },
    solutionTaskStatus(value) {
      var actions = []
      Object.keys(this.taskStatusList).some(key => {
        if (this.taskStatusList[key].value == '' + value) {
          actions.push(this.taskStatusList[key].text)
          return true
        }
      })
      return actions.join('')
    },
    searchReset() {
      var locationCode = this.queryParam['locationCode']
      this.queryParam = {}
      this.queryParam['locationCode'] = locationCode
      this.loadData(1)
    }
  }
}
</script>
<style scoped>
@import '~@assets/less/common.less';
</style>