zwq #63

Merged
zwq merged 5 commits from zwq into develop 2022-03-16 09:00:59 +08:00
29 changed files with 1756 additions and 2185 deletions
Showing only changes of commit 251d507db7 - Show all commits

View File

@ -2,7 +2,7 @@
* @Author: zwq * @Author: zwq
* @Date: 2020-12-29 16:00:14 * @Date: 2020-12-29 16:00:14
* @LastEditors: zwq * @LastEditors: zwq
* @LastEditTime: 2022-01-17 13:59:54 * @LastEditTime: 2022-03-11 16:23:43
* @Description: * @Description:
*/ */
import request from '@/utils/request' import request from '@/utils/request'
@ -84,3 +84,19 @@ export function StorageBoxRackDelete(id) { // 删除存储箱上架单条数据
data: { id } data: { id }
}) })
} }
export function batchListAdd(data) { // 新增工序库位关联
return request({
url: '/api/wms/processlocation/batchList',
method: 'post',
data
})
}
export function locationByProcessList(data) { // 工序库位列表获取
return request({
url: '/api/wms/processlocation/locationByProcess',
method: 'post',
data
})
}

View File

@ -2,7 +2,7 @@
* @Author: gtz * @Author: gtz
* @Date: 2021-03-04 16:13:51 * @Date: 2021-03-04 16:13:51
* @LastEditors: zwq * @LastEditors: zwq
* @LastEditTime: 2022-03-11 08:28:27 * @LastEditTime: 2022-03-15 10:17:01
* @Description: file content * @Description: file content
*/ */
export default { export default {
@ -54,7 +54,8 @@ export default {
editLocation: 'Edit Location Point', editLocation: 'Edit Location Point',
location: 'Location', location: 'Location',
locationTip: 'Click the picture below to select a point. After selecting a point, select a location in the pop-up box. If you do not select a location when adding a new point, you cannot select the next point. If you want to adjust the order of the points, drag the label at the bottom of the picture to the position you want to adjust. Click to confirm the submission point information and click Reset to reset the point information to the state when the pop-up box is opened', locationTip: 'Click the picture below to select a point. After selecting a point, select a location in the pop-up box. If you do not select a location when adding a new point, you cannot select the next point. If you want to adjust the order of the points, drag the label at the bottom of the picture to the position you want to adjust. Click to confirm the submission point information and click Reset to reset the point information to the state when the pop-up box is opened',
locationInfo: 'Location Point Info' locationInfo: 'Location Point Info',
storageCode: 'storageBoxCode'
}, },
factory: { factory: {
placeholderName: 'Name Or Code', placeholderName: 'Name Or Code',
@ -165,7 +166,10 @@ export default {
addCacheArea: 'add Ports Shelf', addCacheArea: 'add Ports Shelf',
warning: 'Layers and Columns must be integer!', warning: 'Layers and Columns must be integer!',
logisticsEquipment: 'Logistics Equipment', logisticsEquipment: 'Logistics Equipment',
processEquipment: 'Process Equipment' processEquipment: 'Process Equipment',
sheCode: 'Shelf Code',
sheName: 'Shelf Name',
locaNum: 'Location Number'
}, },
storageBox: { storageBox: {
name: 'Name', name: 'Name',
@ -177,7 +181,10 @@ export default {
remark: 'Remark', remark: 'Remark',
PositionNo: 'PositionNo', PositionNo: 'PositionNo',
PositionCode: 'PositionCode', PositionCode: 'PositionCode',
PositionCodeAlias: 'PositionCodeAlias' PositionCodeAlias: 'PositionCodeAlias',
scrapped: 'Scrapped',
normal: 'Normal',
repairing: 'Repairing'
}, },
equipment: { equipment: {
EquipmentName: 'Equipment Name', EquipmentName: 'Equipment Name',
@ -255,7 +262,7 @@ export default {
entryType: 'Manual/Automatic', entryType: 'Manual/Automatic',
automatic: 'automatic', automatic: 'automatic',
manual: 'Manual', manual: 'Manual',
workOrderId: 'workOrderId' workOrderName: 'Work Order Name'
}, },
productPool: { productPool: {
productName: 'Product Name', productName: 'Product Name',
@ -343,6 +350,10 @@ export default {
PerformTaskManual: 'Perform Task Manual', PerformTaskManual: 'Perform Task Manual',
processStorageLink: 'Process Storage Link', processStorageLink: 'Process Storage Link',
SelectStorageType: 'Select Storage Type', SelectStorageType: 'Select Storage Type',
LocationStorageSetting: 'Location Storage Setting' LocationStorageSetting: 'Location Storage Setting',
publishTask: 'Publish The Task',
startPosition: 'Start',
endPosition: 'End',
taskType: 'Task Type'
} }
} }

View File

@ -0,0 +1,16 @@
/*
* @Author: gtz
* @Date: 2022-03-15 16:42:34
* @LastEditors: gtz
* @LastEditTime: 2022-03-15 16:58:26
* @Description: file content
* @FilePath: \mt-ck-wms-ui\src\lang\i18n\en\module\dashboard.js
*/
export default {
first: 'First Row',
second: 'Second Row',
title: 'WMS Inventory Information',
pageHeader: 'No.',
pageFooter: ' Page'
}

View File

@ -2,7 +2,7 @@
* @Author: gtz * @Author: gtz
* @Date: 2021-03-04 16:12:46 * @Date: 2021-03-04 16:12:46
* @LastEditors: gtz * @LastEditors: gtz
* @LastEditTime: 2021-04-22 19:49:39 * @LastEditTime: 2022-03-15 16:44:11
* @Description: file content * @Description: file content
*/ */
@ -17,6 +17,7 @@ import quality from './quality'
import factory from './factory' import factory from './factory'
import formManage from './formManage' import formManage from './formManage'
import report from './report' import report from './report'
import dashboard from './dashboard'
export default { export default {
basicData, basicData,
@ -29,5 +30,6 @@ export default {
quality, quality,
factory, factory,
formManage, formManage,
report report,
dashboard
} }

View File

@ -2,7 +2,7 @@
* @Author: gtz * @Author: gtz
* @Date: 2021-03-04 16:13:51 * @Date: 2021-03-04 16:13:51
* @LastEditors: zwq * @LastEditors: zwq
* @LastEditTime: 2022-03-11 08:28:40 * @LastEditTime: 2022-03-15 10:16:52
*/ */
export default { export default {
visual: { visual: {
@ -53,7 +53,8 @@ export default {
editLocation: '编辑库位点', editLocation: '编辑库位点',
location: '库位', location: '库位',
locationTip: '点击下方图片选点,选点后在弹出框内选择库位,新增点位时未选择库位无法进行下一个选点,若想调整点位顺序可拖动图片下方的标签到你想调整的位置,点击确定提交点位信息,点击重置将点位信息重置到打开弹出框时的状态', locationTip: '点击下方图片选点,选点后在弹出框内选择库位,新增点位时未选择库位无法进行下一个选点,若想调整点位顺序可拖动图片下方的标签到你想调整的位置,点击确定提交点位信息,点击重置将点位信息重置到打开弹出框时的状态',
locationInfo: '库位点信息' locationInfo: '库位点信息',
storageCode: '存储箱号'
}, },
factory: { factory: {
placeholderName: '名称或编码', placeholderName: '名称或编码',
@ -155,7 +156,10 @@ export default {
status: '状态', status: '状态',
warning: '行列标必须为整数!', warning: '行列标必须为整数!',
logisticsEquipment: '物流设备', logisticsEquipment: '物流设备',
processEquipment: '工艺设备' processEquipment: '工艺设备',
sheCode: '货架编码',
sheName: '货架名',
locaNum: '库存数量'
}, },
storageBox: { storageBox: {
name: '存储箱名称', name: '存储箱名称',
@ -167,7 +171,11 @@ export default {
remark: '备注', remark: '备注',
PositionNo: '位置序号', PositionNo: '位置序号',
PositionCode: '位置编码', PositionCode: '位置编码',
PositionCodeAlias: '位置编码别名' PositionCodeAlias: '位置编码别名',
scrapped: '报废',
normal: '正常',
repairing: '维修中'
}, },
equipment: { equipment: {
shortName: '名称缩写', shortName: '名称缩写',
@ -247,7 +255,7 @@ export default {
entryType: '手动/自动', entryType: '手动/自动',
automatic: '自动', automatic: '自动',
manual: '手动', manual: '手动',
workOrderId: '工单名称' workOrderName: '工单名称'
}, },
processLocation: { processLocation: {
sequence: '顺序', sequence: '顺序',
@ -349,6 +357,10 @@ export default {
PerformTaskManual: '手动执行任务', PerformTaskManual: '手动执行任务',
processStorageLink: '工序关联库位', processStorageLink: '工序关联库位',
SelectStorageType: '选择库位类型', SelectStorageType: '选择库位类型',
LocationStorageSetting: '库位存储箱设置' LocationStorageSetting: '库位存储箱设置',
publishTask: '发布任务',
startPosition: '起点',
endPosition: '终点',
taskType: '任务类型'
} }
} }

View File

@ -0,0 +1,16 @@
/*
* @Author: gtz
* @Date: 2022-03-15 16:42:34
* @LastEditors: gtz
* @LastEditTime: 2022-03-15 16:58:30
* @Description: file content
* @FilePath: \mt-ck-wms-ui\src\lang\i18n\zh\module\dashboard.js
*/
export default {
first: '第一排',
second: '第二排',
title: 'WMS库存信息',
pageHeader: '第',
pageFooter: '页'
}

View File

@ -2,7 +2,7 @@
* @Author: gtz * @Author: gtz
* @Date: 2021-03-04 16:12:46 * @Date: 2021-03-04 16:12:46
* @LastEditors: gtz * @LastEditors: gtz
* @LastEditTime: 2021-04-22 19:49:47 * @LastEditTime: 2022-03-15 16:44:05
* @Description: file content * @Description: file content
*/ */
@ -17,6 +17,7 @@ import quality from './quality'
import factory from './factory' import factory from './factory'
import formManage from './formManage' import formManage from './formManage'
import report from './report' import report from './report'
import dashboard from './dashboard'
export default { export default {
basicData, basicData,
@ -29,5 +30,6 @@ export default {
quality, quality,
factory, factory,
formManage, formManage,
report report,
dashboard
} }

View File

@ -218,9 +218,9 @@ export const constantRoutes = [
meta: { title: routerTitle.basicData.teamManage.staff?.[language] || routerTitle.basicData.teamManage.staff.en, icon: 'form', affix: true, required: true, requireToken: true } meta: { title: routerTitle.basicData.teamManage.staff?.[language] || routerTitle.basicData.teamManage.staff.en, icon: 'form', affix: true, required: true, requireToken: true }
}, },
{ {
path: '/dataDictionary', path: '/DataDictionary',
component: () => import('@/views/basicData/index'), component: () => import('@/views/basicData/index'),
name: 'dataDictionary', name: 'DataDictionary',
meta: { title: routerTitle.basicData.dataDictionaryType.dataDictionary?.[language] || routerTitle.basicData.dataDictionaryType.dataDictionary.en, icon: 'form', affix: true, required: true, requireToken: true }, meta: { title: routerTitle.basicData.dataDictionaryType.dataDictionary?.[language] || routerTitle.basicData.dataDictionaryType.dataDictionary.en, icon: 'form', affix: true, required: true, requireToken: true },
children: [{ children: [{
path: 'dataDictionary', path: 'dataDictionary',
@ -260,7 +260,7 @@ export const constantRoutes = [
{ {
path: 'processList', path: 'processList',
component: () => import('@/views/art/processList'), component: () => import('@/views/art/processList'),
name: 'Process', name: 'processList',
meta: { title: routerTitle.technology.processList?.[language] || routerTitle.technology.processList.en, icon: 'form', affix: true, required: true, requireToken: true } meta: { title: routerTitle.technology.processList?.[language] || routerTitle.technology.processList.en, icon: 'form', affix: true, required: true, requireToken: true }
} }
] ]
@ -268,7 +268,7 @@ export const constantRoutes = [
{ {
path: '/Warehouse', path: '/Warehouse',
component: Layout, component: Layout,
redirect: '/Warehouse/workOrderManage', redirect: '/Warehouse/StorageBoxInfo',
name: 'Warehouse', name: 'Warehouse',
meta: { title: routerTitle.Warehouse?.[language] || routerTitle.Warehouse.en, icon: 'form', iconPart: 'orderManage', affix: true, required: true, requireToken: true }, meta: { title: routerTitle.Warehouse?.[language] || routerTitle.Warehouse.en, icon: 'form', iconPart: 'orderManage', affix: true, required: true, requireToken: true },
children: [ children: [
@ -281,6 +281,7 @@ export const constantRoutes = [
}, },
{ {
path: '/StorageBoxRack', path: '/StorageBoxRack',
hidden: true,
component: () => component: () =>
import('@/views/basicData/Warehouse/StorageBoxRack'), import('@/views/basicData/Warehouse/StorageBoxRack'),
name: 'StorageBoxRack', name: 'StorageBoxRack',
@ -496,7 +497,7 @@ export const constantRoutes = [
path: '/basic', path: '/basic',
component: Layout, component: Layout,
redirect: '/user/manager', redirect: '/user/manager',
name: 'ArticleManager', name: 'basic',
meta: { title: routerTitle.basic?.[language] || routerTitle.basic.en, icon: 'form', iconPart: 'ArticleManager', affix: true, required: true, requireToken: true }, meta: { title: routerTitle.basic?.[language] || routerTitle.basic.en, icon: 'form', iconPart: 'ArticleManager', affix: true, required: true, requireToken: true },
children: [ children: [
{ {

View File

@ -2,7 +2,7 @@
* @Author: zwq * @Author: zwq
* @Date: 2020-12-29 16:37:56 * @Date: 2020-12-29 16:37:56
* @LastEditors: zwq * @LastEditors: zwq
* @LastEditTime: 2022-03-11 09:48:52 * @LastEditTime: 2022-03-11 10:55:27
* @Description: * @Description:
--> -->
<template> <template>
@ -66,10 +66,10 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('module.basicData.ScrapInfo.workOrderId')" prop="workOrderId"> <el-form-item :label="$t('module.basicData.ScrapInfo.workOrderName')" prop="workOrderId">
<el-select <el-select
v-model="dataForm.workOrderId" v-model="dataForm.workOrderId"
:placeholder="$i18nForm(['placeholder.input', $t('module.basicData.ScrapInfo.workOrderId')])" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.ScrapInfo.workOrderName')])"
clearable clearable
:style="{width: '100%'}" :style="{width: '100%'}"
> >

View File

@ -2,7 +2,7 @@
* @Author: zwq * @Author: zwq
* @Date: 2020-12-29 15:41:11 * @Date: 2020-12-29 15:41:11
* @LastEditors: zwq * @LastEditors: zwq
* @LastEditTime: 2022-03-04 10:40:51 * @LastEditTime: 2022-03-11 11:24:48
* @Description: * @Description:
--> -->
<template> <template>
@ -11,10 +11,10 @@
:model="formData" :model="formData"
:inline="true" :inline="true"
size="medium" size="medium"
label-width="100px" label-width="80px"
> >
<el-form-item v-if="false" :label="$t('module.basicData.ScrapInfo.PlateId')" prop="basalId"> <el-form-item :label="$t('module.basicData.ScrapInfo.PlateId')" prop="substrateId">
<el-input v-model="formData.basalId" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.ScrapInfo.PlateId')])" style="width:200px" clearable /> <el-input v-model="formData.substrateId" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.ScrapInfo.PlateId')])" style="width:200px" clearable />
</el-form-item> </el-form-item>
<el-form-item :label="$t('module.basicData.ScrapInfo.TimePeriod')" prop="time"> <el-form-item :label="$t('module.basicData.ScrapInfo.TimePeriod')" prop="time">
<el-date-picker <el-date-picker
@ -38,6 +38,16 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('module.basicData.ScrapInfo.workOrderName')" prop="orderId">
<el-select v-model="formData.orderId" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.ScrapInfo.workOrderName')])" clearable :style="{width: '100%'}" filterable>
<el-option
v-for="(item, index) in orderList"
:key="index"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="getList()"> {{ 'btn.search' | i18nFilter }} </el-button> <el-button type="primary" @click="getList()"> {{ 'btn.search' | i18nFilter }} </el-button>
<el-button type="primary" @click="addNew()"> {{ 'btn.add' | i18nFilter }} </el-button> <el-button type="primary" @click="addNew()"> {{ 'btn.add' | i18nFilter }} </el-button>
@ -79,6 +89,7 @@ import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn'
import { timeFormatter } from '@/filters' import { timeFormatter } from '@/filters'
import i18n from '@/lang' import i18n from '@/lang'
import { getEqList } from '@/api/equipment/maintain' import { getEqList } from '@/api/equipment/maintain'
import { ExecutionInfoList } from '@/api/orderManage/00A'
// import DictFilter from '@/components/BaseTable/subcomponents/DataDictFilter' // import DictFilter from '@/components/BaseTable/subcomponents/DataDictFilter'
/** /**
* 表格表头配置项 TypeScript接口注释 * 表格表头配置项 TypeScript接口注释
@ -113,8 +124,13 @@ const tableProps = [
// filter: timeFormatter // filter: timeFormatter
// }, // },
{ {
prop: 'source', prop: 'substrateId',
label: i18n.t('module.basicData.ScrapInfo.source'), label: i18n.t('module.basicData.ScrapInfo.PlateId'),
align: 'center'
},
{
prop: 'workOrderName',
label: i18n.t('module.basicData.ScrapInfo.workOrderName'),
align: 'center' align: 'center'
}, },
{ {
@ -122,11 +138,6 @@ const tableProps = [
label: i18n.t('module.basicData.ScrapInfo.name'), label: i18n.t('module.basicData.ScrapInfo.name'),
align: 'center' align: 'center'
}, },
{
prop: 'substrateId',
label: i18n.t('module.basicData.ScrapInfo.PlateId'),
align: 'center'
},
{ {
prop: 'registerPersonName', prop: 'registerPersonName',
label: i18n.t('module.basicData.ScrapInfo.RegisterPerson'), label: i18n.t('module.basicData.ScrapInfo.RegisterPerson'),
@ -138,6 +149,11 @@ const tableProps = [
filter: timeFormatter, filter: timeFormatter,
align: 'center' align: 'center'
}, },
{
prop: 'placeOfRegis',
label: i18n.t('module.basicData.ScrapInfo.registrationPlace'),
align: 'center'
},
{ {
prop: 'scrapReason', prop: 'scrapReason',
label: i18n.t('module.basicData.ScrapInfo.cause'), label: i18n.t('module.basicData.ScrapInfo.cause'),
@ -166,7 +182,9 @@ export default {
listLoading: true, listLoading: true,
formData: { formData: {
timeSlot: null, timeSlot: null,
basalId: '', substrateId: '',
orderId: '',
equipmentId: '',
current: 1, current: 1,
size: 10, size: 10,
id: '' id: ''
@ -178,6 +196,7 @@ export default {
dict: { dict: {
scrap: [] scrap: []
}, },
orderList: [],
device: [] device: []
} }
}, },
@ -236,6 +255,13 @@ export default {
if (result1.code === 0) { if (result1.code === 0) {
this.device = result1.data.records this.device = result1.data.records
} }
const result2 = await ExecutionInfoList({
current: 1,
size: 999
})
if (result2.code === 0) {
this.orderList = result2.data.records
}
const result = await scrapReasonList() const result = await scrapReasonList()
this.dict.scrap = result this.dict.scrap = result
}, },

View File

@ -2,7 +2,7 @@
* @Author: zwq * @Author: zwq
* @Date: 2020-12-29 15:41:11 * @Date: 2020-12-29 15:41:11
* @LastEditors: fzq * @LastEditors: fzq
* @LastEditTime: 2022-03-10 21:00:58 * @LastEditTime: 2022-03-15 09:45:30
* @Description: * @Description:
--> -->
<template> <template>
@ -17,7 +17,7 @@
@getDataList="getList" @getDataList="getList"
@add="addNew" @add="addNew"
/> />
<div style="title">货架编码:{{ shCode }} 货架名称{{ shName }} 库存量{{ num }} <div style="title">{{ sheCode }}:{{ shCode }} {{ sheName }}{{ shName }} {{ locaNum }}{{ num }}
<el-button type="success" @click="goback()">{{ 'btn.back' | i18nFilter }}</el-button> <el-button type="success" @click="goback()">{{ 'btn.back' | i18nFilter }}</el-button>
</div> </div>
<base-table <base-table
@ -102,11 +102,11 @@ const tableProps = [
label: i18n.t('module.basicData.cache.columnMark'), label: i18n.t('module.basicData.cache.columnMark'),
align: 'center' align: 'center'
}, },
{ // {
prop: 'locationType', // prop: 'locationType',
label: i18n.t('module.basicData.cache.locationType'), // label: i18n.t('module.basicData.cache.locationType'),
align: 'center' // align: 'center'
}, // },
{ {
prop: 'statusName', prop: 'statusName',
label: i18n.t('module.basicData.cache.status'), label: i18n.t('module.basicData.cache.status'),
@ -147,14 +147,17 @@ export default {
size: 990, size: 990,
shelfId: '', shelfId: '',
id: '' id: ''
} },
sheCode: this.$t('module.basicData.cache.sheCode'),
sheName: this.$t('module.basicData.cache.sheName'),
locaNum: this.$t('module.basicData.cache.locaNum')
} }
}, },
created() { created() {
this.listQuery.shelfId = this.$route.query.id this.listQuery.shelfId = this.$route.query.id
this.shCode = this.$route.query.code this.shCode = this.$route.query.code
this.shName = this.$route.query.shelfName this.shName = this.$route.query.shelfName
this.num = this.$route.query.columnNum this.num = this.$route.query.total
this.getList() this.getList()
}, },
methods: { methods: {

View File

@ -2,7 +2,7 @@
* @Author: zwq * @Author: zwq
* @Date: 2020-12-29 16:37:56 * @Date: 2020-12-29 16:37:56
* @LastEditors: fzq * @LastEditors: fzq
* @LastEditTime: 2022-03-10 21:14:13 * @LastEditTime: 2022-03-15 09:54:52
* @Description: * @Description:
--> -->
<template> <template>
@ -20,15 +20,18 @@
<el-form-item :label="$t('module.basicData.cache.anotherName')" prop="locationNameAlias"> <el-form-item :label="$t('module.basicData.cache.anotherName')" prop="locationNameAlias">
<el-input v-model="dataForm.locationNameAlias" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.anotherName')])" clearable /> <el-input v-model="dataForm.locationNameAlias" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.anotherName')])" clearable />
</el-form-item> </el-form-item>
<el-form-item :label="$t('module.basicData.cache.rowMark')" prop="layers"> <!-- <el-form-item :label="$t('module.basicData.cache.rowMark')" prop="layers">
<el-input v-model="dataForm.layers" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.rowMark')])" clearable /> <el-input v-model="dataForm.layers" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.rowMark')])" clearable />
</el-form-item> -->
<el-form-item :label="$t('module.basicData.cache.rowMark')" prop="layers">
<el-input-number v-model="dataForm.layers" :step="1" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.rowMark')])" clearable />
</el-form-item> </el-form-item>
<el-form-item :label="$t('module.basicData.cache.columnMark')" prop="columns"> <el-form-item :label="$t('module.basicData.cache.columnMark')" prop="columns">
<el-input v-model="dataForm.columns" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.columnMark')])" clearable /> <el-input-number v-model="dataForm.columns" :step="1" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.columnMark')])" clearable />
</el-form-item> </el-form-item>
<el-form-item :label="$t('module.basicData.cache.locationType')" prop="locationType"> <!-- <el-form-item :label="$t('module.basicData.cache.locationType')" prop="locationType">
<el-input v-model="dataForm.locationType" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.locationType')])" clearable /> <el-input v-model="dataForm.locationType" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.locationType')])" clearable />
</el-form-item> </el-form-item> -->
<!-- <el-form-item :label="$t('module.basicData.cache.status')" prop="status"> <!-- <el-form-item :label="$t('module.basicData.cache.status')" prop="status">
<el-input v-model="dataForm.status" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.status')])" clearable /> <el-input v-model="dataForm.status" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.status')])" clearable />
</el-form-item> --> </el-form-item> -->
@ -71,8 +74,6 @@ export default {
code: '', code: '',
locationNameAlias: '', locationNameAlias: '',
rowNum: '', rowNum: '',
columns: 0,
layers: 0,
status: null, status: null,
locationType: '' locationType: ''
}, },
@ -96,17 +97,13 @@ export default {
], ],
code: [ code: [
{ required: true, message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.cache.LocationCode')]), trigger: 'blur' } { required: true, message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.cache.LocationCode')]), trigger: 'blur' }
],
layers: [
{ pattern: /^[1-9]\d*$/, message: this.$t('module.basicData.cache.warning'), trigger: 'blur' }
],
columns: [
{ pattern: /^[1-9]\d*$/, message: this.$t('module.basicData.cache.warning'), trigger: 'blur' }
] ]
// layers: [{
// type: 'number',
// message: this.$t('module.basicData.cache.warning'),
// trigger: "blur"
// }],
// columns: [{
// type: 'number',
// message: this.$t('module.basicData.cache.warning'),
// trigger: "blur"
// }]
} }
} }
}, },
@ -119,7 +116,7 @@ export default {
if (this.dataForm.id) { if (this.dataForm.id) {
locationDetail(this.dataForm.id).then(res => { locationDetail(this.dataForm.id).then(res => {
this.dataForm = res.data this.dataForm = res.data
console.log(this.dataForm) // console.log(this.dataForm)
}) })
} else { } else {
locationCode().then(res => { locationCode().then(res => {
@ -173,6 +170,28 @@ export default {
} }
}) })
} }
// isInt(value){
// for(var i = 0; i < value.length; i++) {
// if(charAt[i] == '.'){
// }
// }
// }
// isInt(value) {
// let zero = /^0+\d*$/ // 0()
// let dublue = /^0{2,}\.\d+$/ // 0
// let point = /^\d+\.?\d+$/ // ,0,()
// let reg = /^[1-9]{1}$/ //
// if (!value) {
// return false
// }
// if (zero.test(value) || dublue.test(value)) { //
// return false
// } else if (point.test(value) || reg.test(value)) { // ,reg
// return true
// } else {
// return false
// }
// }
} }
} }
</script> </script>

View File

@ -1,7 +1,7 @@
<!-- <!--
* @Date: 2021-01-07 20:09:37 * @Date: 2021-01-07 20:09:37
* @LastEditors: fzq * @LastEditors: fzq
* @LastEditTime: 2022-03-10 20:20:44 * @LastEditTime: 2022-03-15 09:48:09
* @FilePath: \basic-admin\src\components\BaseTable\subcomponents\CheckDetail.vue * @FilePath: \basic-admin\src\components\BaseTable\subcomponents\CheckDetail.vue
* @Description: * @Description:
--> -->
@ -26,7 +26,7 @@ export default {
query: { query: {
id: this.injectData.id, id: this.injectData.id,
code: this.injectData.code, code: this.injectData.code,
columnNum: this.injectData.columnNum, total: this.injectData.total,
shelfName: this.injectData.shelfName shelfName: this.injectData.shelfName
} }
}) })

View File

@ -2,7 +2,7 @@
* @Author: zwq * @Author: zwq
* @Date: 2020-12-29 16:37:56 * @Date: 2020-12-29 16:37:56
* @LastEditors: fzq * @LastEditors: fzq
* @LastEditTime: 2022-03-09 16:53:31 * @LastEditTime: 2022-03-14 16:23:19
* @Description: * @Description:
--> -->
<template> <template>
@ -59,15 +59,15 @@ export default {
options: [ options: [
{ {
value: 0, value: 0,
label: '正常' label: this.$t('module.basicData.storageBox.normal')
}, },
{ {
value: 1, value: 1,
label: '维修中' label: this.$t('module.basicData.storageBox.repairing')
}, },
{ {
value: 2, value: 2,
label: '报废' label: this.$t('module.basicData.storageBox.scrapped')
} }
], ],
dataRule: { dataRule: {

View File

@ -58,7 +58,7 @@
<el-input v-model="dataForm.equipmentType" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.equipment.EquipmentType')])" clearable :style="{width: '100%'}" /> <el-input v-model="dataForm.equipmentType" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.equipment.EquipmentType')])" clearable :style="{width: '100%'}" />
</el-form-item> --> </el-form-item> -->
<el-form-item :label="$t('module.basicData.equipment.EquipmentType')" prop="EquipmentType"> <el-form-item :label="$t('module.basicData.equipment.EquipmentType')" prop="EquipmentType">
<el-select v-model="dataForm.equipmentType" :placeholder="dataForm.equipmentType"> <el-select v-model="dataForm.equipmentType" :placeholder="this.$t('module.basicData.cache.logisticsEquipment')" default>
<el-option <el-option
v-for="item in options" v-for="item in options"
:key="item.value" :key="item.value"
@ -399,7 +399,7 @@ export default {
code: '', code: '',
enName: '', enName: '',
abbr: '', abbr: '',
equipmentType: '', equipmentType: this.$t('module.basicData.cache.logisticsEquipment'),
spec: '', spec: '',
createTime: '', createTime: '',
enterTime: '', enterTime: '',

View File

@ -2,7 +2,7 @@
* @Author: zwq * @Author: zwq
* @Date: 2020-12-29 15:41:11 * @Date: 2020-12-29 15:41:11
* @LastEditors: zwq * @LastEditors: zwq
* @LastEditTime: 2022-03-04 10:56:41 * @LastEditTime: 2022-03-14 10:35:17
* @Description: * @Description:
--> -->
<template> <template>
@ -47,6 +47,7 @@
<el-form-item> <el-form-item>
<el-button type="primary" @click="getList()"> {{ 'btn.search' | i18nFilter }} </el-button> <el-button type="primary" @click="getList()"> {{ 'btn.search' | i18nFilter }} </el-button>
<el-button type="primary" @click="manualTask()"> {{ $t('module.basicData.Warehouse.PerformTaskManual') | i18nFilter }} </el-button> <el-button type="primary" @click="manualTask()"> {{ $t('module.basicData.Warehouse.PerformTaskManual') | i18nFilter }} </el-button>
<el-button type="primary" @click="publishTask()"> {{ $t('module.basicData.Warehouse.publishTask') | i18nFilter }} </el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<base-table <base-table
@ -72,6 +73,7 @@
/> />
<current-task-info v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getList" /> <current-task-info v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getList" />
<current-task-add v-if="manualTaskVisible" ref="manualTaskRef" @refreshDataList="getList" /> <current-task-add v-if="manualTaskVisible" ref="manualTaskRef" @refreshDataList="getList" />
<publish-task v-if="publishTaskVisible" ref="publishTask" />
</div> </div>
</template> </template>
@ -79,11 +81,12 @@
import { CurrentTaskList } from '@/api/basicData/Warehouse/HistoricalTask' import { CurrentTaskList } from '@/api/basicData/Warehouse/HistoricalTask'
import CurrentTaskInfo from './components/CurrentTaskInfo.vue' import CurrentTaskInfo from './components/CurrentTaskInfo.vue'
import CurrentTaskAdd from './components/CurrentTask-add.vue' import CurrentTaskAdd from './components/CurrentTask-add.vue'
import PublishTask from './components/PublishTask.vue'
import i18n from '@/lang' import i18n from '@/lang'
import BaseTable from '@/components/BaseTable' import BaseTable from '@/components/BaseTable'
import Pagination from '@/components/Pagination' // Secondary package based on el-pagination import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn' import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn'
// import { timeFormatter } from '@/filters' import { timeFormatter } from '@/filters'
/** /**
* 表格表头配置项 TypeScript接口注释 * 表格表头配置项 TypeScript接口注释
* tableConfig<ConfigItem> = [] * tableConfig<ConfigItem> = []
@ -115,6 +118,7 @@ const tableProps = [
{ {
prop: 'createTime', prop: 'createTime',
label: i18n.t('module.basicData.Warehouse.ExecutionTime'), label: i18n.t('module.basicData.Warehouse.ExecutionTime'),
filter: timeFormatter,
align: 'center' align: 'center'
}, },
{ {
@ -171,12 +175,13 @@ const tableProps = [
export default { export default {
name: 'ScrapInfo', name: 'ScrapInfo',
components: { Pagination, BaseTable, MethodBtn, CurrentTaskInfo, CurrentTaskAdd }, components: { Pagination, BaseTable, MethodBtn, CurrentTaskInfo, CurrentTaskAdd, PublishTask },
data() { data() {
return { return {
trueWidth: 100, trueWidth: 100,
addOrUpdateVisible: false, addOrUpdateVisible: false,
manualTaskVisible: false, manualTaskVisible: false,
publishTaskVisible: false,
tableProps, tableProps,
tableBtn, tableBtn,
list: [], list: [],
@ -248,6 +253,13 @@ export default {
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.manualTaskRef.init() this.$refs.manualTaskRef.init()
}) })
},
//
publishTask() {
this.publishTaskVisible = true
this.$nextTick(() => {
this.$refs.publishTask.init()
})
} }
} }
} }

View File

@ -2,7 +2,7 @@
* @Author: zwq * @Author: zwq
* @Date: 2020-12-29 15:41:11 * @Date: 2020-12-29 15:41:11
* @LastEditors: zwq * @LastEditors: zwq
* @LastEditTime: 2022-01-13 15:49:01 * @LastEditTime: 2022-03-14 10:37:13
* @Description: * @Description:
--> -->
<template> <template>
@ -44,7 +44,7 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('module.basicData.Warehouse.TimeSlot')" prop="time"> <!-- <el-form-item :label="$t('module.basicData.Warehouse.TimeSlot')" prop="time">
<el-date-picker <el-date-picker
v-model="formData.timeSlot" v-model="formData.timeSlot"
type="daterange" type="daterange"
@ -55,7 +55,7 @@
:range-separator="$t('module.orderManage.order.To')" :range-separator="$t('module.orderManage.order.To')"
clearable clearable
/> />
</el-form-item> </el-form-item> -->
<el-form-item> <el-form-item>
<el-button type="primary" @click="getList()"> {{ 'btn.search' | i18nFilter }} </el-button> <el-button type="primary" @click="getList()"> {{ 'btn.search' | i18nFilter }} </el-button>
</el-form-item> </el-form-item>
@ -92,7 +92,7 @@ import i18n from '@/lang'
import BaseTable from '@/components/BaseTable' import BaseTable from '@/components/BaseTable'
import Pagination from '@/components/Pagination' // Secondary package based on el-pagination import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn' import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn'
// import { timeFormatter } from '@/filters' import { timeFormatter } from '@/filters'
/** /**
* 表格表头配置项 TypeScript接口注释 * 表格表头配置项 TypeScript接口注释
* tableConfig<ConfigItem> = [] * tableConfig<ConfigItem> = []
@ -124,31 +124,27 @@ const tableProps = [
{ {
prop: 'createTime', prop: 'createTime',
label: i18n.t('module.basicData.Warehouse.ExecutionTime'), label: i18n.t('module.basicData.Warehouse.ExecutionTime'),
filter: timeFormatter,
align: 'center' align: 'center'
}, },
{ {
prop: 'status', prop: 'taskSource',
label: i18n.t('module.basicData.Warehouse.TaskStatus'), label: i18n.t('module.basicData.Warehouse.TaskSource'),
align: 'center' align: 'center'
}, },
// {
// prop: 'taskType',
// label: i18n.t('module.basicData.Warehouse.TaskType'),
// align: 'center'
// },
{ {
prop: 'name', prop: 'taskType',
label: i18n.t('module.basicData.Warehouse.VehicleName'), label: i18n.t('module.basicData.Warehouse.TaskType'),
align: 'center' align: 'center'
}, },
// {
// prop: 'substrateNo',
// label: i18n.t('module.basicData.Warehouse.BoxStatus'),
// align: 'center'
// },
{ {
prop: 'wcode', prop: 'fullCode',
label: i18n.t('module.basicData.Warehouse.BoxNumber'), label: i18n.t('module.basicData.Warehouse.TaskBoxNumber'),
align: 'center'
},
{
prop: 'emptyCode',
label: i18n.t('module.basicData.Warehouse.FullBoxNumber'),
align: 'center' align: 'center'
}, },
{ {
@ -162,19 +158,24 @@ const tableProps = [
align: 'center' align: 'center'
}, },
{ {
prop: 'updateTime', prop: 'anotherCurrLocation',
label: i18n.t('module.basicData.Warehouse.CompletionTime'),
align: 'center'
},
{
prop: 'currLocation',
label: i18n.t('module.basicData.Warehouse.StartLocation'), label: i18n.t('module.basicData.Warehouse.StartLocation'),
align: 'center' align: 'center'
}, },
{ {
prop: 'targetLocation', prop: 'anotherTargetLocation',
label: i18n.t('module.basicData.Warehouse.TargetLocation'), label: i18n.t('module.basicData.Warehouse.TargetLocation'),
align: 'center' align: 'center'
},
{
prop: 'currLocation',
label: i18n.t('module.basicData.Warehouse.FullBoxStartLocation'),
align: 'center'
},
{
prop: 'name',
label: i18n.t('module.basicData.Warehouse.VehicleName'),
align: 'center'
} }
] ]
@ -194,9 +195,9 @@ export default {
taskType: '', taskType: '',
status: '', status: '',
equipmentId: '', equipmentId: '',
timeSlot: [], // timeSlot: [],
endTime: '', // endTime: '',
startTime: '', // startTime: '',
current: 1, current: 1,
size: 10 size: 10
}, },
@ -231,13 +232,13 @@ export default {
}, },
methods: { methods: {
getList() { getList() {
if (this.formData.timeSlot) { // if (this.formData.timeSlot) {
this.formData.startTime = this.formData.timeSlot[0] // this.formData.startTime = this.formData.timeSlot[0]
this.formData.endTime = this.formData.timeSlot[1] // this.formData.endTime = this.formData.timeSlot[1]
} else { // } else {
this.formData.startTime = '' // this.formData.startTime = ''
this.formData.endTime = '' // this.formData.endTime = ''
} // }
this.listLoading = true this.listLoading = true
HistoricalTaskList(this.formData).then(response => { HistoricalTaskList(this.formData).then(response => {
if (response.data.records) { if (response.data.records) {

View File

@ -2,7 +2,7 @@
* @Author: zwq * @Author: zwq
* @Date: 2020-12-29 15:41:11 * @Date: 2020-12-29 15:41:11
* @LastEditors: zwq * @LastEditors: zwq
* @LastEditTime: 2022-03-04 15:45:23 * @LastEditTime: 2022-03-14 10:35:21
* @Description: * @Description:
--> -->
<template> <template>
@ -15,9 +15,9 @@
size="medium" size="medium"
label-width="100px" label-width="100px"
> >
<el-form-item :label="$t('module.art.processList.processName')" prop="processId"> <el-form-item :label="$t('module.art.processList.processName')" prop="key">
<el-select <el-select
v-model="listQuery.processId" v-model="listQuery.key"
:placeholder="$i18nForm(['placeholder.input', $t('module.art.processList.processName')])" :placeholder="$i18nForm(['placeholder.input', $t('module.art.processList.processName')])"
clearable clearable
filterable filterable
@ -27,7 +27,7 @@
v-for="(item, index) in processArr" v-for="(item, index) in processArr"
:key="index" :key="index"
:label="item.name" :label="item.name"
:value="item.id" :value="item.name"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -64,8 +64,8 @@ import { list } from '@/api/art-manage/process'
import BaseTable from '@/components/BaseTable' import BaseTable from '@/components/BaseTable'
import Pagination from '@/components/Pagination' // Secondary package based on el-pagination import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn' import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn'
import { timeFormatter } from '@/filters'
import i18n from '@/lang' import i18n from '@/lang'
import { timeFormatter } from '@/filters'
/** /**
* 表格表头配置项 TypeScript接口注释 * 表格表头配置项 TypeScript接口注释
* tableConfig<ConfigItem> = [] * tableConfig<ConfigItem> = []
@ -133,7 +133,7 @@ export default {
listQuery: { listQuery: {
current: 1, current: 1,
size: 10, size: 10,
processId: '' key: ''
} }
} }
}, },
@ -160,29 +160,23 @@ export default {
}) })
}, },
getList() { getList() {
// this.listLoading = true this.listLoading = true
// ExecutionInfoList(this.listQuery).then(response => { list(this.listQuery).then(response => {
// if (response.data.records) { if (response.data.records) {
// this.list = response.data.records this.list = response.data.records
// } else { } else {
// this.list.splice(0, this.list.length) this.list.splice(0, this.list.length)
// }
// this.total = response.data.total
this.list = [
{
code: 11,
name: '11'
} }
] this.total = response.data.total
this.listLoading = false this.listLoading = false
// }) })
}, },
// / // /
addNew(id) { addNew(id) {
this.$router.push({ this.$router.push({
name: 'ProcessStorageManagementInfo', name: 'ProcessStorageManagementInfo',
query: { query: {
dictTypeId: id id
} }
}) })
} }

View File

@ -2,7 +2,7 @@
* @Author: zwq * @Author: zwq
* @Date: 2020-12-29 15:41:11 * @Date: 2020-12-29 15:41:11
* @LastEditors: zwq * @LastEditors: zwq
* @LastEditTime: 2022-01-18 14:30:25 * @LastEditTime: 2022-03-14 09:33:28
* @Description: * @Description:
--> -->
<template> <template>
@ -92,7 +92,7 @@ const tableProps = [
] ]
export default { export default {
name: 'StorageBoxInfo', name: 'ScrapInfo',
components: { Pagination, BaseTable }, components: { Pagination, BaseTable },
filters: { filters: {
statusFilter(status) { statusFilter(status) {
@ -123,6 +123,10 @@ export default {
}, },
created() { created() {
this.getList() this.getList()
this.init()
},
methods: {
init() {
const listQuery1 = { const listQuery1 = {
current: 1, current: 1,
size: 100 size: 100
@ -131,7 +135,6 @@ export default {
this.storageBoxList = res.data.records this.storageBoxList = res.data.records
}) })
}, },
methods: {
getList() { getList() {
this.listLoading = true this.listLoading = true
StorageBoxInfoList(this.listQuery).then(response => { StorageBoxInfoList(this.listQuery).then(response => {

View File

@ -2,12 +2,12 @@
* @Author: zwq * @Author: zwq
* @Date: 2020-12-29 16:37:56 * @Date: 2020-12-29 16:37:56
* @LastEditors: zwq * @LastEditors: zwq
* @LastEditTime: 2022-03-04 11:05:23 * @LastEditTime: 2022-03-14 10:55:22
* @Description: * @Description:
--> -->
<template> <template>
<el-dialog <el-dialog
:title="'btn.see' | i18nFilter" :title="$t('module.basicData.Warehouse.PerformTaskManual')"
:visible.sync="visible" :visible.sync="visible"
> >
<el-row :gutter="10"> <el-row :gutter="10">
@ -22,27 +22,66 @@
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item :label="$t('module.basicData.Warehouse.TaskBoxNumber')" prop="taskCode"> <el-form-item :label="$t('module.basicData.Warehouse.TaskBoxNumber')" prop="taskCode">
<el-input v-model="dataForm.taskCode" readonly :style="{width: '100%'}" /> <el-select
v-model="dataForm.taskCode"
:placeholder="$i18nForm(['placeholder.input', $t('module.basicData.Warehouse.StorageBoxNumber')])"
clearable
filterable
:style="{width: '100%'}"
>
<el-option
v-for="(item, index) in storageBoxList"
:key="index"
:label="item.code"
:value="item.code"
/>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item :label="$t('module.basicData.Warehouse.FullBoxNumber')" prop="orderName"> <el-form-item :label="$t('module.basicData.Warehouse.FullBoxNumber')" prop="orderName">
<el-input v-model="dataForm.orderName" readonly :style="{width: '100%'}" /> <el-input v-model="dataForm.orderName" :style="{width: '100%'}" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item :label="$t('module.basicData.Warehouse.ExecutionOperation')" prop="fullCode"> <el-form-item :label="$t('module.basicData.Warehouse.ExecutionOperation')" prop="fullCode">
<el-input v-model="dataForm.fullCode" readonly :style="{width: '100%'}" /> <el-select
v-model="dataForm.fullCode"
:placeholder="$i18nForm(['placeholder.input', $t('module.art.processList.processName')])"
clearable
filterable
:style="{width: '100%'}"
>
<el-option
v-for="(item, index) in processArr"
:key="index"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item :label="$t('module.basicData.Warehouse.TaskStatus')" prop="name"> <el-form-item :label="$t('module.basicData.Warehouse.TaskStatus')" prop="TaskStatus">
<el-input v-model="dataForm.name" readonly :style="{width: '100%'}" /> <el-select
v-model="dataForm.TaskStatus"
:placeholder="$i18nForm(['placeholder.input', $t('module.basicData.Warehouse.TaskStatus')])"
clearable
filterable
:style="{width: '100%'}"
>
<el-option
v-for="(item, index) in TaskStatusArr"
:key="index"
:label="item.dataName"
:value="item.dataCode"
/>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item :label="$t('module.basicData.ScrapInfo.remark')" prop="remark"> <el-form-item :label="$t('module.basicData.ScrapInfo.remark')" prop="remark">
<el-input v-model="dataForm.remark" readonly :style="{width: '100%'}" /> <el-input v-model="dataForm.remark" :style="{width: '100%'}" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -51,26 +90,35 @@
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item :label="$t('module.basicData.Warehouse.TaskLocation')" prop="createTime"> <el-form-item :label="$t('module.basicData.Warehouse.TaskLocation')" prop="createTime">
<el-input v-model="dataForm.createTime" readonly :style="{width: '100%'}" /> <el-input v-model="dataForm.createTime" :style="{width: '100%'}" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item :label="$t('module.basicData.Warehouse.FullBoxStartLocation')" prop="taskType"> <el-form-item :label="$t('module.basicData.Warehouse.FullBoxStartLocation')" prop="taskType">
<el-input v-model="dataForm.taskType" readonly :style="{width: '100%'}" /> <el-input v-model="dataForm.taskType" :style="{width: '100%'}" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item :label="$t('module.basicData.Warehouse.Priority')" prop="emptyCode"> <el-form-item :label="$t('module.basicData.Warehouse.Priority')" prop="emptyCode">
<el-input v-model="dataForm.emptyCode" readonly :style="{width: '100%'}" /> <el-input v-model="dataForm.emptyCode" :style="{width: '100%'}" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item :label="$t('module.basicData.Warehouse.NextOperation')" prop="anotherCurrLocation"> <el-form-item :label="$t('module.basicData.Warehouse.NextOperation')" prop="anotherCurrLocation">
<el-input <el-select
v-model="dataForm.anotherCurrLocation" v-model="dataForm.anotherCurrLocation"
readonly :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.Warehouse.NextOperation')])"
clearable
filterable
:style="{width: '100%'}" :style="{width: '100%'}"
>
<el-option
v-for="(item, index) in processArr"
:key="index"
:label="item.name"
:value="item.id"
/> />
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -86,17 +134,23 @@
<script> <script>
// import { CurrentTaskDetail } from '@/api/basicData/Warehouse/HistoricalTask' // import { CurrentTaskDetail } from '@/api/basicData/Warehouse/HistoricalTask'
import { list } from '@/api/art-manage/process'
import { dataDictionaryDataList } from '@/api/basicData/dataDictionary'
import { StorageBoxRackCode } from '@/api/basicData/Warehouse/StorageBoxInfo'
export default { export default {
data() { data() {
return { return {
visible: false, visible: false,
processArr: [],
TaskStatusArr: [],
storageBoxList: [],
dataForm: { dataForm: {
id: '', id: '',
taskCode: undefined, taskCode: undefined,
orderName: undefined, orderName: undefined,
fullCode: undefined, fullCode: undefined,
name: undefined, TaskStatus: undefined,
remark: undefined, remark: undefined,
field119: undefined, field119: undefined,
createTime: undefined, createTime: undefined,
@ -116,6 +170,32 @@ export default {
init(id) { init(id) {
this.dataForm.id = id this.dataForm.id = id
this.visible = true this.visible = true
const lparams = {
current: 1,
size: 999
}
list(lparams).then(response => {
if (response.data.records) {
this.processArr = response.data.records
} else {
this.processArr.splice(0, this.list.length)
}
this.total = response.data.total
})
StorageBoxRackCode(lparams).then(res => {
this.storageBoxList = res.data.records
})
dataDictionaryDataList({
current: 1,
size: 999,
dictTypeId: '6'
}).then(response => {
if (response.data.records) {
this.TaskStatusArr = response.data.records
} else {
this.TaskStatusArr.splice(0, this.scrapsArr.length)
}
})
this.$nextTick(() => { this.$nextTick(() => {
this.$refs['dataForm'].resetFields() this.$refs['dataForm'].resetFields()
}) })

View File

@ -2,7 +2,7 @@
* @Author: zwq * @Author: zwq
* @Date: 2020-12-29 15:41:11 * @Date: 2020-12-29 15:41:11
* @LastEditors: zwq * @LastEditors: zwq
* @LastEditTime: 2022-03-09 09:57:41 * @LastEditTime: 2022-03-15 14:15:30
* @Description: * @Description:
--> -->
<template> <template>
@ -18,21 +18,21 @@
:table-data="list" :table-data="list"
:is-loading="listLoading" :is-loading="listLoading"
> >
<method-btn <!-- <method-btn
slot="handleBtn" slot="handleBtn"
:width="trueWidth" :width="trueWidth"
:method-list="tableBtn" :method-list="tableBtn"
@clickBtn="handleClick" @clickBtn="handleClick"
/> /> -->
</base-table> </base-table>
</div> </div>
</template> </template>
<script> <script>
import { locationByProcessList } from '@/api/basicData/Warehouse/StorageBoxInfo'
import i18n from '@/lang' import i18n from '@/lang'
import BaseTable from '@/components/BaseTable' import BaseTable from '@/components/BaseTable'
import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn' // import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn'
import { timeFormatter } from '@/filters'
/** /**
* 表格表头配置项 TypeScript接口注释 * 表格表头配置项 TypeScript接口注释
* tableConfig<ConfigItem> = [] * tableConfig<ConfigItem> = []
@ -49,17 +49,16 @@ import { timeFormatter } from '@/filters'
* *
*/ */
const tableBtn = [ // const tableBtn = [
{ // {
type: 'delete', // type: 'delete',
btnName: 'btn.delete' // btnName: 'btn.delete'
} // }
] // ]
const tableProps = [ const tableProps = [
{ {
prop: 'code', prop: 'code',
label: i18n.t('module.basicData.cache.LocationCode'), label: i18n.t('module.basicData.cache.LocationCode'),
filter: timeFormatter,
align: 'center' align: 'center'
}, },
{ {
@ -76,7 +75,7 @@ const tableProps = [
export default { export default {
name: 'Shelf', name: 'Shelf',
components: { BaseTable, MethodBtn }, components: { BaseTable },
filters: { filters: {
statusFilter(status) { statusFilter(status) {
const statusMap = { const statusMap = {
@ -89,7 +88,7 @@ export default {
}, },
data() { data() {
return { return {
tableBtn, // tableBtn,
trueWidth: 200, trueWidth: 200,
tableProps, tableProps,
list: [], list: [],
@ -97,12 +96,12 @@ export default {
listQuery: { listQuery: {
current: 1, current: 1,
size: 990, size: 990,
areaId: '' workSequenId: ''
} }
} }
}, },
created() { created() {
this.listQuery.areaId = this.$route.query.id this.listQuery.workSequenId = this.$route.query.id
this.getList() this.getList()
}, },
methods: { methods: {
@ -126,23 +125,23 @@ export default {
}).catch(() => {}) }).catch(() => {})
} }
}, },
getList(key) { getList() {
this.listLoading = true this.listLoading = true
// shelfList(this.listQuery).then(response => { locationByProcessList(this.listQuery).then(response => {
// if (response.data.records) { if (response.data.records) {
// this.list = response.data.records this.list = response.data.records
// } else { } else {
// this.list.splice(0, this.list.length) this.list.splice(0, this.list.length)
// } }
this.listLoading = false this.listLoading = false
// }) })
}, },
// / // /
addNew(id) { addNew() {
this.$router.push({ this.$router.push({
name: 'ProcessStorageLink', name: 'ProcessStorageLink',
query: { query: {
dictTypeId: id id: this.listQuery.workSequenId
} }
}) })
}, },

View File

@ -0,0 +1,75 @@
<!--
* @Author: gtz
* @Date: 2022-03-12 14:17:55
* @LastEditors: gtz
* @LastEditTime: 2022-03-12 14:23:43
* @Description: file content
* @FilePath: \mt-ck-wms-ui\src\views\basicData\Warehouse\components\PublishTask.vue
-->
<template>
<el-dialog
:title="'btn.see' | i18nFilter"
:visible.sync="visible"
>
<el-row :gutter="10">
<el-form
ref="dataForm"
:model="dataForm"
:rules="dataRule"
size="medium"
label-width="110px"
label-position="left"
>
<el-form-item :label="$t('module.basicData.Warehouse.startPosition')" prop="startPosition">
<el-input v-model="dataForm.startPosition" readonly :style="{width: '100%'}" />
</el-form-item>
<el-form-item :label="$t('module.basicData.Warehouse.endPosition')" prop="endPosition">
<el-input v-model="dataForm.endPosition" readonly :style="{width: '100%'}" />
</el-form-item>
<el-form-item :label="$t('module.basicData.Warehouse.taskType')" prop="taskType">
<el-input v-model="dataForm.taskType" readonly :style="{width: '100%'}" />
</el-form-item>
</el-form>
</el-row>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">{{ 'btn.cancel' | i18nFilter }}</el-button>
<el-button type="primary" @click="visible = false">{{ 'btn.submit' | i18nFilter }} </el-button>
</span>
</el-dialog>
</template>
<script>
// import { CurrentTaskDetail } from '@/api/basicData/Warehouse/HistoricalTask'
export default {
data() {
return {
visible: false,
dataForm: {
startPosition: null,
endPosition: null,
taskType: null
},
dataRule: {
startPosition: [
{ required: true, message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.Warehouse.startPosition')]), trigger: 'blur' }
],
endPosition: [
{ required: true, message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.Warehouse.endPosition')]), trigger: 'blur' }
],
taskType: [
{ required: true, message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.Warehouse.taskType')]), trigger: 'blur' }
]
}
}
},
methods: {
init() {
this.visible = true
this.$nextTick(() => {
this.$refs['dataForm'].resetFields()
})
}
}
}
</script>

View File

@ -2,7 +2,7 @@
* @Author: gtz * @Author: gtz
* @Date: 2022-03-03 09:16:10 * @Date: 2022-03-03 09:16:10
* @LastEditors: zwq * @LastEditors: zwq
* @LastEditTime: 2022-03-09 15:17:46 * @LastEditTime: 2022-03-15 14:27:57
* @Description: file content * @Description: file content
* @FilePath: \mt-ck-wms-ui\src\views\dashboard\index.vue * @FilePath: \mt-ck-wms-ui\src\views\dashboard\index.vue
--> -->
@ -38,6 +38,8 @@
<el-button type="primary" size="mini" @click="submitLinkList">{{ <el-button type="primary" size="mini" @click="submitLinkList">{{
"btn.submit" | i18nFilter "btn.submit" | i18nFilter
}}</el-button> }}</el-button>
<el-button type="warning" size="mini" @click="init()">{{ 'btn.reset' | i18nFilter }}</el-button>
<el-button type="success" size="mini" @click="goback()">{{ 'btn.back' | i18nFilter }}</el-button>
</div> </div>
<div class="dashboard-legend-search"> <div class="dashboard-legend-search">
<el-select <el-select
@ -104,7 +106,7 @@
? '#A2A8B5' ? '#A2A8B5'
: '', : '',
border: border:
selectStorageList.some(StorageItem=>StorageItem.id===z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].id) selectStorageList.some(StorageItem=>StorageItem.locationId===z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].id)
? '1px solid red' : '' ? '1px solid red' : ''
}" }"
@click=" @click="
@ -115,32 +117,14 @@
) )
" "
> >
<div <div v-if="z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== 3" class="dashboard-layout-item-cricle" :style="{background: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteList[0] ? cassetteStatusObj[z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteList[0].status] : ''}" />
v-if=" {{ z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== 3 ? z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].name : 'XXXX' }}
z.portList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
].attribute !== 3
"
class="dashboard-layout-item-cricle"
:style="{
background:
cassetteStatusObj[
z.portList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
].cassetteList[0].status
]
}"
/>
{{
z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)]
.name
}}
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
<div class="dashboard-layout-footer"> <div class="dashboard-layout-footer">
{{ {{
"第" + (index + 1) + "排(" + ((current - 1) * 4 + item) + ")" "第" + bottomIndex[index] + "排(" + ((current - 1) * 4 + item) + ")"
}} }}
</div> </div>
</el-col> </el-col>
@ -203,7 +187,7 @@
? '#A2A8B5' ? '#A2A8B5'
: '', : '',
border: border:
selectStorageList.some(StorageItem=>StorageItem.id===z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].id) selectStorageList.some(StorageItem=>StorageItem.locationId===z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].id)
? '1px solid red' : '' ? '1px solid red' : ''
}" }"
@click=" @click="
@ -214,26 +198,8 @@
) )
" "
> >
<div <div v-if="z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== 3" class="dashboard-layout-item-cricle" :style="{background: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteList[0] ? cassetteStatusObj[z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteList[0].status] : ''}" />
v-if=" {{ z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== 3 ? z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].name : 'XXXX' }}
z.portList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
].attribute !== 3
"
class="dashboard-layout-item-cricle"
:style="{
background:
cassetteStatusObj[
z.portList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
].cassetteList[0].status
]
}"
/>
{{
z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)]
.name
}}
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
@ -270,7 +236,7 @@
? '#A2A8B5' ? '#A2A8B5'
: '', : '',
border: border:
selectStorageList.some(StorageItem=>StorageItem.id===z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].id) selectStorageList.some(StorageItem=>StorageItem.locationId===z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].id)
? '1px solid red' : '' ? '1px solid red' : ''
}" }"
@click=" @click="
@ -281,32 +247,14 @@
) )
" "
> >
<div <div v-if="z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== 3" class="dashboard-layout-item-cricle" :style="{background: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteList[0] ? cassetteStatusObj[z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteList[0].status] : ''}" />
v-if=" {{ z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== 3 ? z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].name : 'XXXX' }}
z.portList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
].attribute !== 3
"
class="dashboard-layout-item-cricle"
:style="{
background:
cassetteStatusObj[
z.portList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
].cassetteList[0].status
]
}"
/>
{{
z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)]
.name
}}
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
<div class="dashboard-layout-footer"> <div class="dashboard-layout-footer">
{{ {{
"第" + (index + 1) + "排(" + ((current - 1) * 4 + item) + ")" "第" + bottomIndex[index] + "排(" + ((current - 1) * 4 + item) + ")"
}} }}
</div> </div>
</el-col> </el-col>
@ -323,17 +271,18 @@
</template> </template>
<script> <script>
import { batchListAdd } from '@/api/basicData/Warehouse/StorageBoxInfo'
import testdata from './testdata' import testdata from './testdata'
import processStorageType from './processStorageType' import processStorageType from './processStorageType'
export default { export default {
name: 'Dashboard', name: 'ProcessStorageLink1',
components: { processStorageType }, components: { processStorageType },
data() { data() {
return testdata return testdata
}, },
created() { created() {
console.log(this.shelfList) this.id = this.$route.query.id
this.totalPage = Math.ceil( this.totalPage = Math.ceil(
this.shelfList[0].rowList[0].portList.length / 80 this.shelfList[0].rowList[0].portList.length / 80
) )
@ -345,18 +294,18 @@ export default {
}, },
setType(item) { setType(item) {
if (item.attribute !== 3) { if (item.attribute !== 3) {
if (this.selectStorageList.findIndex(StorageItem => StorageItem.id === item.id) + 1) { if (this.selectStorageList.findIndex(StorageItem => StorageItem.locationId === item.id) + 1) {
this.selectStorageList.splice(this.selectStorageList.findIndex(StorageItem => StorageItem.id === item.id), 1) this.selectStorageList.splice(this.selectStorageList.findIndex(StorageItem => StorageItem.locationId === item.id), 1)
} else { } else {
this.typeVisible = true this.typeVisible = true
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.typeRef.init(item.id) this.$refs.typeRef.init(item.id, item.name)
}) })
} }
} }
}, },
setStorageList(id, dataForm) { setStorageList(locationId, locationName, dataForm) {
const obj = Object.assign({ id }, dataForm) const obj = Object.assign({ locationId, locationName }, dataForm)
this.selectStorageList.push(obj) this.selectStorageList.push(obj)
}, },
handleChange(v) { handleChange(v) {
@ -364,14 +313,32 @@ export default {
}, },
submitLinkList() { submitLinkList() {
const tipArr = this.selectStorageList.map(item => { const tipArr = this.selectStorageList.map(item => {
return item.id return item.locationName
}) })
const obj = {
workSequenId: this.id,
processLocationStorageList: this.selectStorageList
}
this.$confirm(`${this.$t('module.basicData.visual.TipsStorageBefore')}[${tipArr.join(',')}]?`, this.$t('module.basicData.visual.Tips'), { this.$confirm(`${this.$t('module.basicData.visual.TipsStorageBefore')}[${tipArr.join(',')}]?`, this.$t('module.basicData.visual.Tips'), {
confirmButtonText: this.$t('module.basicData.visual.confirmButtonText'), confirmButtonText: this.$t('module.basicData.visual.confirmButtonText'),
cancelButtonText: this.$t('module.basicData.visual.cancelButtonText'), cancelButtonText: this.$t('module.basicData.visual.cancelButtonText'),
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
batchListAdd(obj).then(res => {
this.$message({
message: this.$t('module.basicData.visual.success'),
type: 'success',
duration: 1500,
onClose: () => {
this.selectStorageList.splice(0, this.selectStorageList.length)
}
})
})
}).catch(() => {}) }).catch(() => {})
},
goback() {
this.selectStorageList.splice(0, this.selectStorageList.length)
this.$router.go(-1)
} }
} }
} }

View File

@ -2,7 +2,7 @@
* @Author: zwq * @Author: zwq
* @Date: 2020-12-29 16:37:56 * @Date: 2020-12-29 16:37:56
* @LastEditors: zwq * @LastEditors: zwq
* @LastEditTime: 2022-03-10 14:27:47 * @LastEditTime: 2022-03-15 11:02:46
* @Description: * @Description:
--> -->
<template> <template>
@ -18,13 +18,13 @@
label-width="110px" label-width="110px"
label-position="left" label-position="left"
> >
<el-form-item :label="$t('module.basicData.Warehouse.SelectStorageType')" prop="storageType"> <el-form-item :label="$t('module.basicData.Warehouse.SelectStorageType')" prop="portAttrId">
<el-radio v-model="dataForm.storageType" :label="1">Working Port</el-radio> <el-radio v-model="dataForm.portAttrId" :label="1">Working Port</el-radio>
<el-radio v-model="dataForm.storageType" :label="2">Buffer Port</el-radio> <el-radio v-model="dataForm.portAttrId" :label="2">Buffer Port</el-radio>
<el-radio v-model="dataForm.storageType" :label="3">Exception Port</el-radio> <el-radio v-model="dataForm.portAttrId" :label="3">Exception Port</el-radio>
</el-form-item> </el-form-item>
<el-form-item :label="$t('module.basicData.storageBox.name')" prop="storageBoxName"> <el-form-item :label="$t('module.basicData.storageBox.name')" prop="storageId">
<el-select v-model="dataForm.storageBoxName" filterable :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.storageBox.name')])" clearable> <el-select v-model="dataForm.storageId" filterable :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.storageBox.name')])" clearable>
<el-option <el-option
v-for="item in storageBoxArr" v-for="item in storageBoxArr"
:key="item.id" :key="item.id"
@ -48,13 +48,14 @@ export default {
data() { data() {
return { return {
visible: false, visible: false,
storageId: '', locationId: '',
locationName: '',
dataForm: { dataForm: {
storageType: 1, portAttrId: 1,
storageBoxName: '' storageId: ''
}, },
dataRule: { dataRule: {
storageBoxName: [ storageId: [
{ {
required: true, required: true,
message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.storageBox.name')]), message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.storageBox.name')]),
@ -65,8 +66,9 @@ export default {
} }
}, },
methods: { methods: {
init(id) { init(id, name) {
this.storageId = id this.locationId = id
this.locationName = name
const listQuery = { const listQuery = {
current: 1, current: 1,
size: 999 size: 999
@ -78,6 +80,9 @@ export default {
this.storageBoxArr.splice(0, this.list.length) this.storageBoxArr.splice(0, this.list.length)
} }
}) })
this.$nextTick(() => {
this.$refs['dataForm'].resetFields()
})
this.visible = true this.visible = true
}, },
// //
@ -85,7 +90,7 @@ export default {
this.$refs['dataForm'].validate((valid) => { this.$refs['dataForm'].validate((valid) => {
if (valid) { if (valid) {
this.visible = false this.visible = false
this.$emit('refreshDataList', this.storageId, this.dataForm) this.$emit('refreshDataList', this.locationId, this.locationName, this.dataForm)
} }
}) })
} }

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,7 @@
* @Author: gtz * @Author: gtz
* @Date: 2022-03-03 09:16:10 * @Date: 2022-03-03 09:16:10
* @LastEditors: gtz * @LastEditors: gtz
* @LastEditTime: 2022-03-11 09:06:18 * @LastEditTime: 2022-03-15 16:47:57
* @Description: file content * @Description: file content
* @FilePath: \mt-ck-wms-ui\src\views\dashboard\index.vue * @FilePath: \mt-ck-wms-ui\src\views\dashboard\index.vue
--> -->
@ -11,7 +11,7 @@
<el-card class="dashboard-main"> <el-card class="dashboard-main">
<el-row class="dashboard-title"> <el-row class="dashboard-title">
<div class="dashboard-header-line" /> <div class="dashboard-header-line" />
<div class="dashboard-header-title">WMS库存信息</div> <div class="dashboard-header-title">{{ $t('module.dashboard.title') }}</div>
</el-row> </el-row>
<el-row class="dashboard-legend"> <el-row class="dashboard-legend">
<div v-for="item in cassetteStatusList" :key="'cassette' + item.id" class="dashboard-legend-cassette"> <div v-for="item in cassetteStatusList" :key="'cassette' + item.id" class="dashboard-legend-cassette">
@ -24,7 +24,7 @@
</div> </div>
<div class="dashboard-legend-search"> <div class="dashboard-legend-search">
<el-select v-model="current" size="mini" placeholder="请选择库存范围" @change="handleChange"> <el-select v-model="current" size="mini" placeholder="请选择库存范围" @change="handleChange">
<el-option v-for="item in totalPage" :key="'select' + item" :label="'第' + item + '页'" :value="item" /> <el-option v-for="item in totalPage" :key="'select' + item" :label="$t('module.dashboard.pageHeader') + item + $t('module.dashboard.pageFooter')" :value="item" />
</el-select> </el-select>
</div> </div>
</el-row> </el-row>
@ -35,13 +35,13 @@
<el-row> <el-row>
<el-col v-for="z in i.rowList" :key="item + 'shelf' + i + 'row' + z.id" :span="12" class="dashboard-layout-row"> <el-col v-for="z in i.rowList" :key="item + 'shelf' + i + 'row' + z.id" :span="12" class="dashboard-layout-row">
<div v-for="x in 20" :key="item + 'shelf' + i + 'row' + z + 'item' + x" class="dashboard-layout-item" :style="{background: portAttributeObj[z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute], cursor: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute === 3 ? 'not-allowed' : 'pointer', color: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute === 3 ? '#A2A8B5' : ''}"> <div v-for="x in 20" :key="item + 'shelf' + i + 'row' + z + 'item' + x" class="dashboard-layout-item" :style="{background: portAttributeObj[z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute], cursor: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute === 3 ? 'not-allowed' : 'pointer', color: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute === 3 ? '#A2A8B5' : ''}">
<div v-if="z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== 3" class="dashboard-layout-item-cricle" :style="{background: cassetteStatusObj[z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteList[0].status]}" /> <div v-if="z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== 3" class="dashboard-layout-item-cricle" :style="{background: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteList[0] ? cassetteStatusObj[z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteList[0].status] : ''}" />
{{ z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].name }} {{ z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== 3 ? z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].name : 'XXXX' }}
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
<div class="dashboard-layout-footer"> <div class="dashboard-layout-footer">
{{ '第' + rowIndex[index] + '排(' + ((current - 1) * 4 + item) + ')' }} {{ $t(rowIndex[index]) + '(' + ((current - 1) * 4 + item) + ')' }}
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
@ -54,21 +54,21 @@
<el-row v-if="item < Math.ceil((shelfList[0].rowList[0].portList.length - (current - 1) * 80) / 20)"> <el-row v-if="item < Math.ceil((shelfList[0].rowList[0].portList.length - (current - 1) * 80) / 20)">
<el-col v-for="z in i.rowList" :key="item + 'shelf' + i + 'row' + z.id" :span="12" class="dashboard-layout-row"> <el-col v-for="z in i.rowList" :key="item + 'shelf' + i + 'row' + z.id" :span="12" class="dashboard-layout-row">
<div v-for="x in 20" :key="item + 'shelf' + i + 'row' + z + 'item' + x" class="dashboard-layout-item" :style="{background: portAttributeObj[z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute], cursor: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute === 3 ? 'not-allowed' : 'pointer', color: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute === 3 ? '#A2A8B5' : ''}"> <div v-for="x in 20" :key="item + 'shelf' + i + 'row' + z + 'item' + x" class="dashboard-layout-item" :style="{background: portAttributeObj[z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute], cursor: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute === 3 ? 'not-allowed' : 'pointer', color: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute === 3 ? '#A2A8B5' : ''}">
<div v-if="z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== 3" class="dashboard-layout-item-cricle" :style="{background: cassetteStatusObj[z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteList[0].status]}" /> <div v-if="z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== 3" class="dashboard-layout-item-cricle" :style="{background: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteList[0] ? cassetteStatusObj[z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteList[0].status] : ''}" />
{{ z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].name }} {{ z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== 3 ? z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].name : 'XXXX' }}
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
<el-row v-else> <el-row v-else>
<el-col v-for="z in i.rowList" :key="item + 'shelf' + i + 'row' + z.id" :span="12" class="dashboard-layout-row"> <el-col v-for="z in i.rowList" :key="item + 'shelf' + i + 'row' + z.id" :span="12" class="dashboard-layout-row">
<div v-for="x in shelfList[0].rowList[0].portList.length - (item - 1) * 20 - (current - 1) * 80" :key="item + 'shelf' + i + 'row' + z + 'item' + x" class="dashboard-layout-item" :style="{background: portAttributeObj[z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute], cursor: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute === 3 ? 'not-allowed' : 'pointer', color: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute === 3 ? '#A2A8B5' : ''}"> <div v-for="x in shelfList[0].rowList[0].portList.length - (item - 1) * 20 - (current - 1) * 80" :key="item + 'shelf' + i + 'row' + z + 'item' + x" class="dashboard-layout-item" :style="{background: portAttributeObj[z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute], cursor: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute === 3 ? 'not-allowed' : 'pointer', color: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute === 3 ? '#A2A8B5' : ''}">
<div v-if="z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== 3" class="dashboard-layout-item-cricle" :style="{background: cassetteStatusObj[z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteList[0].status]}" /> <div v-if="z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== 3" class="dashboard-layout-item-cricle" :style="{background: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteList[0] ? cassetteStatusObj[z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteList[0].status] : ''}" />
{{ z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].name }} {{ z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== 3 ? z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].name : 'XXXX' }}
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
<div class="dashboard-layout-footer"> <div class="dashboard-layout-footer">
{{ '第' + rowIndex[index] + '排(' + ((current - 1) * 4 + item) + ')' }} {{ $t(rowIndex[index]) + '(' + ((current - 1) * 4 + item) + ')' }}
</div> </div>
</el-col> </el-col>
</el-row> </el-row>

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,7 @@
* @Author: zwq * @Author: zwq
* @Date: 2020-12-29 16:37:56 * @Date: 2020-12-29 16:37:56
* @LastEditors: zwq * @LastEditors: zwq
* @LastEditTime: 2022-03-11 09:05:38 * @LastEditTime: 2022-03-15 10:50:00
* @Description: * @Description:
--> -->
<template> <template>
@ -114,7 +114,7 @@
</template> </template>
<script> <script>
import { ProcessInfoDetail } from '@/api/orderManage/00A' import { ExecutionInfoDetail } from '@/api/orderManage/00A'
export default { export default {
data() { data() {
@ -146,7 +146,7 @@ export default {
this.$nextTick(() => { this.$nextTick(() => {
this.$refs['dataForm'].resetFields() this.$refs['dataForm'].resetFields()
if (this.dataForm.id) { if (this.dataForm.id) {
ProcessInfoDetail(this.dataForm.id).then(res => { ExecutionInfoDetail(this.dataForm.id).then(res => {
res.data.status = this.statusfilter('orderStatus', res.data.status) res.data.status = this.statusfilter('orderStatus', res.data.status)
res.data.type = this.statusfilter('orderType', res.data.type) res.data.type = this.statusfilter('orderType', res.data.type)
res.data.priority = this.statusfilter('priority', res.data.priority) res.data.priority = this.statusfilter('priority', res.data.priority)

View File

@ -4,7 +4,7 @@
* @Author: fzq * @Author: fzq
* @Date: 2022-03-05 15:55:45 * @Date: 2022-03-05 15:55:45
* @LastEditors: fzq * @LastEditors: fzq
* @LastEditTime: 2022-03-07 09:28:21 * @LastEditTime: 2022-03-11 11:08:53
--> -->
<template> <template>
<div class="app-container"> <div class="app-container">
@ -12,7 +12,7 @@
<el-button type="success" @click="goback()">{{ 'btn.back' | i18nFilter }}</el-button> <el-button type="success" @click="goback()">{{ 'btn.back' | i18nFilter }}</el-button>
<el-button type="primary" @click="addNew()">{{ 'btn.add' | i18nFilter }}</el-button> <el-button type="primary" @click="addNew()">{{ 'btn.add' | i18nFilter }}</el-button>
</div> --> </div> -->
<div style="title">存储箱号:{{ num }} <div style="title">{{ storageCode }}:{{ num }}
<el-button type="success" style="back" @click="goback()">{{ 'btn.back' | i18nFilter }}</el-button> <el-button type="success" style="back" @click="goback()">{{ 'btn.back' | i18nFilter }}</el-button>
</div> </div>
<base-table <base-table
@ -104,6 +104,7 @@ export default {
return { return {
addOrUpdateVisible: false, addOrUpdateVisible: false,
num: '', num: '',
storageCode: this.$t('module.basicData.visual.TipsBefore'),
tableBtn, tableBtn,
trueWidth: 200, trueWidth: 200,
tableProps, tableProps,
@ -148,7 +149,7 @@ export default {
}, },
getList() { getList() {
this.listLoading = true this.listLoading = true
this.num = this.listQuery.substrateCode this.num = this.listQuery.storageBoxCode
this.listQuery.code = this.$route.query.code this.listQuery.code = this.$route.query.code
console.log(this.listQuery) console.log(this.listQuery)
listSubstrate(this.listQuery).then(response => { listSubstrate(this.listQuery).then(response => {