<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="数据状态"> <j-dict-select-tag placeholder="请选择数据状态" v-model="queryParam.consistencyStatus" dictCode="consistency_status" /> </a-form-item> </a-col> <a-col :xl="12" :lg="14" :md="16" :sm="24"> <a-form-item label="任务创建时间"> <j-date :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" placeholder="请选择开始时间" class="query-group-cust" v-model="queryParam.taskCreateTimeBegin" ></j-date> <span class="query-group-split-cust"></span> <j-date :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" placeholder="请选择结束时间" class="query-group-cust" v-model="queryParam.taskCreateTimeEnd" ></j-date> </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 :scroll="{ x: true }" :columns="columns" :dataSource="dataSource" :pagination="ipagination" :loading="loading" @change="handleTableChange" class="j-table-force-nowrap" > <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> <span slot="wcsTaskStatus" slot-scope="wcsTaskStatus"> <a-tag :key="wcsTaskStatus"> {{ solutionWcsTaskStatus(wcsTaskStatus) }} </a-tag> </span> <span slot="consistencyStatus" slot-scope="consistencyStatus"> <a-tag :key="consistencyStatus" :color="solutionPurchaseColor(consistencyStatus)"> {{ solutionConsistencyStatus(consistencyStatus) }} </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) { var nowDate = new Date() this.queryParam['taskCreateTimeBegin'] = new Date(nowDate.getTime() - 90 * 24 * 60 * 60 * 1000).format('yyyy-MM-dd hh:mm:ss') this.queryParam['taskCreateTimeEnd'] = nowDate.format('yyyy-MM-dd hh:mm:ss') this.queryParam['locationCode'] = val this.loadData(1) } } }, data() { Date.prototype.format = function(fmt) { var o = { 'M+': this.getMonth() + 1, //月份 'd+': this.getDate(), //日 'h+': this.getHours(), //小时 'm+': this.getMinutes(), //分 's+': this.getSeconds(), //秒 'q+': Math.floor((this.getMonth() + 3) / 3), //季度 S: this.getMilliseconds() //毫秒 } if (/(y+)/.test(fmt)) { fmt = fmt.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length)) } for (var k in o) { if (new RegExp('(' + k + ')').test(fmt)) { fmt = fmt.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ('00' + o[k]).substr(('' + o[k]).length)) } } return fmt } return { description: '库位任务信息比较页面', disableMixinCreated: true, taskTypeList: [], taskStatusList: [], wcsTaskStatusList: [], consistencyStatusList: [], // 表头 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', key: 'wcsTaskStatus', scopedSlots: { customRender: 'wcsTaskStatus' } }, { title: '任务创建时间', align: 'center', dataIndex: 'taskCreateTime' }, { title: 'WCS任务创建时间', align: 'center', dataIndex: 'wcsTaskCreateTime' }, { title: '数据状态', align: 'center', dataIndex: 'consistencyStatus', key: 'consistencyStatus', fixed: "right", width: 100, scopedSlots: { customRender: 'consistencyStatus' } } ], 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 } }) } // 获取 task_header_status 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 } }) } // 获取 wcs_task_status if (getDictItemsFromCache('wcs_task_status')) { this.wcsTaskStatusList = getDictItemsFromCache('wcs_task_status') } else { //根据字典Code, 初始化字典数组 ajaxGetDictItems('wcs_task_status', null).then(res => { if (res.success) { this.wcsTaskStatusList = res.result } }) } // 获取 consistency_status if (getDictItemsFromCache('consistency_status')) { this.consistencyStatusList = getDictItemsFromCache('consistency_status') } else { //根据字典Code, 初始化字典数组 ajaxGetDictItems('consistency_status', null).then(res => { if (res.success) { this.consistencyStatusList = 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('') }, solutionWcsTaskStatus(value) { var actions = [] Object.keys(this.wcsTaskStatusList).some(key => { if (this.wcsTaskStatusList[key].value == '' + value) { actions.push(this.wcsTaskStatusList[key].text) return true } }) return actions.join('') }, solutionConsistencyStatus(value) { var actions = [] Object.keys(this.consistencyStatusList).some(key => { if (this.consistencyStatusList[key].value == '' + value) { actions.push(this.consistencyStatusList[key].text) return true } }) return actions.join('') }, solutionPurchaseColor(value) { var color = 'blue' if (0 == value) { color = 'red' } return color }, searchReset() { var locationCode = this.queryParam['locationCode'] this.queryParam = {} this.queryParam['locationCode'] = locationCode this.loadData(1) } } } </script> <style scoped> @import '~@assets/less/common.less'; </style>