41 Commits
test ... gtz

Author SHA1 Message Date
b2c50e8c56 merge 2022-03-18 16:36:37 +08:00
dd8e54f743 首页去除缓存 2022-03-18 16:29:54 +08:00
8142f16662 dashboard attribute number to string 2022-03-18 16:05:01 +08:00
5ec45b87ca Merge pull request 'fzq' (#75) from fzq into develop
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #75
2022-03-18 15:03:46 +08:00
Fanzink
445ad7f280 Merge branch 'develop' into fzq 2022-03-18 15:01:06 +08:00
Fanzink
15f9fb0f5b '改bug更新' 2022-03-18 15:00:32 +08:00
114bfeccf3 Merge pull request '修改bug' (#74) from zwq into develop
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #74
2022-03-18 09:50:40 +08:00
zwq
018695fe70 修改bug 2022-03-18 09:49:30 +08:00
9aaffbb8b4 Merge pull request '修改bug' (#73) from zwq into develop
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #73
2022-03-17 16:22:39 +08:00
zwq
2a2bd1d726 修改bug 2022-03-17 16:21:35 +08:00
dd029f2055 Merge pull request 'eqtyep default' (#72) from gtz into develop
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #72
2022-03-17 14:01:10 +08:00
fe54918801 eqtyep default 2022-03-17 14:00:36 +08:00
ced191b4df Merge pull request '修改仓库样式' (#71) from zwq into develop
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #71
2022-03-17 10:59:56 +08:00
zwq
995db83484 修改仓库样式 2022-03-17 10:59:00 +08:00
40f426f7f5 Merge pull request 'base eq add' (#70) from gtz into develop
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #70
2022-03-17 10:57:00 +08:00
61270a542d base eq 2022-03-17 10:56:24 +08:00
3ecaa99a8c Merge branch 'develop' into gtz 2022-03-17 10:52:41 +08:00
79238fca27 1 2022-03-17 10:52:22 +08:00
73d8951bbb Merge pull request '首页对接以及库位详情' (#69) from gtz into develop
Some checks failed
continuous-integration/drone/push Build is failing
Reviewed-on: #69
2022-03-16 20:12:20 +08:00
2f19b50e20 merge and update dashboard detail 2022-03-16 20:11:30 +08:00
6d4594b338 update 2022-03-16 19:14:00 +08:00
d4168e6157 Merge pull request '修改bug' (#68) from zwq into develop
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #68
2022-03-16 16:19:42 +08:00
zwq
dfb1f3d97b 修改bug 2022-03-16 16:18:59 +08:00
26772a324a Merge pull request 'fzq' (#67) from fzq into develop
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #67
2022-03-16 16:17:35 +08:00
Fanzink
aae6117db7 Merge branch 'develop' into fzq 2022-03-16 16:15:16 +08:00
Fanzink
99f92f6891 '报表更新' 2022-03-16 16:14:50 +08:00
d8424e1752 Merge pull request '修改bug' (#66) from zwq into develop
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #66
2022-03-16 14:19:58 +08:00
zwq
598f49e378 修改bug 2022-03-16 14:19:28 +08:00
982c25fa0b Merge pull request '修改bug' (#65) from zwq into develop
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #65
2022-03-16 10:13:21 +08:00
zwq
2756e75aaf 修改bug 2022-03-16 10:12:36 +08:00
74883db1c0 Merge pull request 'fzq' (#64) from fzq into develop
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #64
2022-03-16 09:55:55 +08:00
643277e1c7 更新 'src/lang/i18n/zh/module/basicData.js' 2022-03-16 09:53:24 +08:00
4a834c3dc1 更新 'src/lang/i18n/en/module/basicData.js' 2022-03-16 09:53:04 +08:00
6b20524a5f 更新 'src/lang/i18n/zh/module/basicData.js' 2022-03-16 09:52:02 +08:00
Fanzink
f219b55d0c '更新' 2022-03-16 09:43:13 +08:00
Fanzink
79b7fe0eec '更新' 2022-03-16 09:41:00 +08:00
2329a20c4f Merge pull request 'zwq' (#63) from zwq into develop
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #63
2022-03-16 09:00:59 +08:00
zwq
7aba931c94 提交 2022-03-16 08:58:59 +08:00
zwq
176fd99cd1 Merge branch 'test' of http://git.picaiba.com/mt-ck-00a/mt-ck-wms-ui into zwq 2022-03-16 08:42:53 +08:00
77fbbb630b Merge pull request '仓库翻译' (#62) from zwq into develop
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #62
2022-03-15 17:04:29 +08:00
zwq
18b932afa1 仓库翻译 2022-03-15 17:04:06 +08:00
46 changed files with 1540 additions and 1077 deletions

27
src/api/dashboard.js Normal file
View File

@@ -0,0 +1,27 @@
/*
* @Author: gtz
* @Date: 2022-03-16 16:08:06
* @LastEditors: gtz
* @LastEditTime: 2022-03-16 16:45:41
* @Description: file content
* @FilePath: \mt-ck-wms-ui\src\api\dashboard.js
*/
import request from '@/utils/request'
// 获取菜单列表
export function getPortList(data) {
return request({
url: '/api/wms/location/shelfList',
method: 'post',
data
})
}
// 获取菜单详情
export function getPortDetail(id) {
return request({
url: '/api/wms/storage/box/circ/info/getByLocationId',
method: 'post',
data: { id }
})
}

View File

@@ -115,6 +115,10 @@ export default {
design: {
zh: '设计',
en: 'Design'
},
refresh: {
zh: '刷新',
en: 'Refresh'
}
},
navbar: {

View File

@@ -1,8 +1,8 @@
/*
* @Author: gtz
* @Date: 2021-03-04 16:13:51
* @LastEditors: zwq
* @LastEditTime: 2022-03-15 10:17:01
* @LastEditors: fzq
* @LastEditTime: 2022-03-18 14:03:12
* @Description: file content
*/
export default {
@@ -169,7 +169,13 @@ export default {
processEquipment: 'Process Equipment',
sheCode: 'Shelf Code',
sheName: 'Shelf Name',
locaNum: 'Location Number'
locaNum: 'Location Number',
addLocation: 'Add Location',
columnMark: 'Column Mark',
rowMark: 'Row Mark',
status: 'Status',
man: 'Man',
woman: 'Woman'
},
storageBox: {
name: 'Name',

View File

@@ -2,7 +2,7 @@
* @Author: gtz
* @Date: 2022-03-15 16:42:34
* @LastEditors: gtz
* @LastEditTime: 2022-03-15 16:58:26
* @LastEditTime: 2022-03-16 20:01:32
* @Description: file content
* @FilePath: \mt-ck-wms-ui\src\lang\i18n\en\module\dashboard.js
*/
@@ -12,5 +12,12 @@ export default {
second: 'Second Row',
title: 'WMS Inventory Information',
pageHeader: 'No.',
pageFooter: ' Page'
pageFooter: ' Page',
isEmpty: 'Is Empty',
status: 'Status',
storageBoxCode: 'Cassette Code',
name: 'Location Name',
attribute: 'Location Attribute',
cassetteStatus: 'Cassette Status',
workOrderNo: 'Work Order Number'
}

View File

@@ -1,8 +1,8 @@
/*
* @Author: gtz
* @Date: 2021-04-22 19:48:46
* @LastEditors: gtz
* @LastEditTime: 2021-04-23 14:36:08
* @LastEditors: fzq
* @LastEditTime: 2022-03-18 14:50:00
* @Description: file content
*/
@@ -11,7 +11,35 @@ export default {
reportName: 'Report name',
reportSort: 'Report Sort',
createTime: 'Create Date',
operation: 'Operation'
operation: 'Operation',
storageBoxNumber: 'StorageBox Number',
queryFiltering: 'Query Filtering',
storageBoxReport: 'StorageBoxReport'
},
inventory: {
code: 'Code',
status: 'Status',
inprocessCode: 'Inprocess Code',
nextprocessCode: 'Next Process Code',
currentLocation: 'Current Location',
storeTime: 'Store Time',
orderName: 'Order Name',
substrateDetails: 'Substrate Details',
viewSubstrates: 'View Substrates',
manual: 'Manual',
downl: 'Download'
},
substrate: {
substrateCode: 'SubstrateCode',
location: 'Location',
storeTime: 'Store Time',
substrateStatus: 'Substrate Status',
editSubstrate: 'Edit Substrate',
interCode: 'Inter Code',
subStorageStatus: 'Sub Storage Status',
load: 'Load',
unload: 'Unload',
machineHandID: 'Machine Hand ID'
},
reportSort: {
all: 'All'

View File

@@ -1,8 +1,9 @@
/*
* @Author: gtz
* @Date: 2021-03-04 16:13:51
* @LastEditors: zwq
* @LastEditTime: 2022-03-15 10:16:52
* @LastEditors: fzq
* @LastEditTime: 2022-03-18 14:56:18
* * @Description: file content
*/
export default {
visual: {
@@ -30,6 +31,7 @@ export default {
Tips: '提示',
TipsBefore: '确定删除',
TipsStorageBefore: '确定添加库位:',
PleaseAddLocationFirst: '请先添加库位!',
Description: '描述',
Remarks: '备注',
Or: '或',
@@ -159,7 +161,9 @@ export default {
processEquipment: '工艺设备',
sheCode: '货架编码',
sheName: '货架名',
locaNum: '库存数量'
locaNum: '库存数量',
man: '男',
woman: '女'
},
storageBox: {
name: '存储箱名称',

View File

@@ -2,7 +2,7 @@
* @Author: gtz
* @Date: 2022-03-15 16:42:34
* @LastEditors: gtz
* @LastEditTime: 2022-03-15 16:58:30
* @LastEditTime: 2022-03-16 20:01:27
* @Description: file content
* @FilePath: \mt-ck-wms-ui\src\lang\i18n\zh\module\dashboard.js
*/
@@ -12,5 +12,12 @@ export default {
second: '第二排',
title: 'WMS库存信息',
pageHeader: '第',
pageFooter: '页'
pageFooter: '页',
isEmpty: '是否为空',
status: '状态',
storageBoxCode: '存储箱编码',
name: '库位名',
attribute: '库位属性',
cassetteStatus: '存储箱状态',
workOrderNo: '工单号'
}

View File

@@ -2,7 +2,7 @@
* @Author: gtz
* @Date: 2021-04-22 19:48:46
* @LastEditors: fzq
* @LastEditTime: 2022-03-06 16:50:50
* @LastEditTime: 2022-03-18 14:49:43
* @Description: file content
*/
@@ -13,7 +13,8 @@ export default {
createTime: '添加时间',
operation: '操作',
storageBoxNumber: '存储箱号',
queryFiltering: '查询过滤'
queryFiltering: '查询过滤',
storageBoxReport: '存储箱报表'
},
inventory: {
code: '存储箱号',
@@ -34,7 +35,11 @@ export default {
storeTime: '入库时间',
substrateStatus: '基板状态',
editSubstrate: '编辑基板',
interCode: '内部编码'
interCode: '内部编码',
subStorageStatus: '存取状态',
load: '上片',
unload: '下片',
machineHandID: '机械手ID'
},
reportSort: {
all: '全部'

View File

@@ -11,10 +11,10 @@
<div class="right-menu">
<div v-if="showhome" class="right-menu-back" @click="toHome">
<!-- <div v-if="showhome" class="right-menu-back" @click="toHome">
<svg-icon class="item-icon" icon-class="home" />
{{ 'navbar.homepage' | i18nFilter }}
</div>
</div> -->
<template>
<lang-select class="right-menu-item hover-effect" />

View File

@@ -57,19 +57,6 @@ export const constantRoutes = [
component: () => import('@/views/login/index'),
hidden: true
},
{
path: '/',
component: Layout,
redirect: '/dashboard',
children: [
{
path: 'dashboard',
component: () => import('@/views/dashboard/index'),
name: 'Dashboard',
meta: { title: routerTitle.dashboard?.[language] || routerTitle.dashboard.en, icon: 'form', iconPart: 'dashboard', affix: true, required: true, requireToken: true }
}
]
},
// {
// path: '/',
// component: () => import('@/views/ChoicePart'),
@@ -91,6 +78,20 @@ export const constantRoutes = [
component: () => import('@/views/error-page/401'),
hidden: true
},
{
path: '/dashboard',
component: Layout,
redirect: '/dashboard',
name: 'Dash',
children: [
{
path: 'dashboard',
component: () => import('@/views/dashboard/index'),
name: 'Dashboard',
meta: { title: routerTitle.dashboard?.[language] || routerTitle.dashboard.en, icon: 'form', affix: true, required: true, requireToken: true, noCache: true }
}
]
},
{
path: '/',
component: Layout,

View File

@@ -1,8 +1,8 @@
<!--
* @Author: DY
* @Date: 2021-12-16 15:41:11
* @LastEditors: DY
* @LastEditTime: 2022-03-03 15:26:05
* @LastEditors: zwq
* @LastEditTime: 2022-03-04 09:04:30
* @Description: E10
-->
<template>
@@ -84,18 +84,18 @@ export default {
},
created() {
// this.getEqList()
this.getList()
// this.getList()
},
methods: {
async getEqList() {
const res = await equipmentList({
current: 1,
size: 999
})
if (res.code === 0) {
this.eqList = res.data
}
},
// async getEqList() {
// const res = await equipmentList({
// current: 1,
// size: 999
// })
// if (res.code === 0) {
// this.eqList = res.data
// }
// },
toE10() {
this.$router.push({
name: 'E10'

View File

@@ -1,8 +1,8 @@
<!--
* @Author: DY
* @Date: 2021-12-16 15:41:11
* @LastEditors: DY
* @LastEditTime: 2022-03-03 15:26:28
* @LastEditors: zwq
* @LastEditTime: 2022-03-04 09:04:19
* @Description: MCBF
-->
<template>
@@ -83,18 +83,18 @@ export default {
},
created() {
// this.getEqList()
this.getList()
// this.getList()
},
methods: {
async getEqList() {
const res = await equipmentList({
current: 1,
size: 999
})
if (res.code === 0) {
this.eqList = res.data
}
},
// async getEqList() {
// const res = await equipmentList({
// current: 1,
// size: 999
// })
// if (res.code === 0) {
// this.eqList = res.data
// }
// },
toE10() {
this.$router.push({
name: 'E10'

View File

@@ -1,8 +1,8 @@
<!--
* @Author: DY
* @Date: 2021-12-16 15:41:11
* @LastEditors: DY
* @LastEditTime: 2022-03-03 15:26:44
* @LastEditors: zwq
* @LastEditTime: 2022-03-04 09:04:09
* @Description: MTTR
-->
<template>
@@ -83,18 +83,18 @@ export default {
},
created() {
// this.getEqList()
this.getList()
// this.getList()
},
methods: {
async getEqList() {
const res = await equipmentList({
current: 1,
size: 999
})
if (res.code === 0) {
this.eqList = res.data
}
},
// async getEqList() {
// const res = await equipmentList({
// current: 1,
// size: 999
// })
// if (res.code === 0) {
// this.eqList = res.data
// }
// },
toE10() {
this.$router.push({
name: 'E10'

View File

@@ -1,8 +1,8 @@
<!--
* @Author: DY
* @Date: 2021-12-16 15:41:11
* @LastEditors: DY
* @LastEditTime: 2022-03-03 15:26:56
* @LastEditors: zwq
* @LastEditTime: 2022-03-04 09:03:58
* @Description: OEE
-->
<template>
@@ -83,18 +83,18 @@ export default {
},
created() {
// this.getEqList()
this.getList()
// this.getList()
},
methods: {
async getEqList() {
const res = await equipmentList({
current: 1,
size: 999
})
if (res.code === 0) {
this.eqList = res.data
}
},
// async getEqList() {
// const res = await equipmentList({
// current: 1,
// size: 999
// })
// if (res.code === 0) {
// this.eqList = res.data
// }
// },
toE10() {
this.$router.push({
name: 'E10'

View File

@@ -1,8 +1,8 @@
<!--
* @Author: zwq
* @Date: 2020-12-29 15:41:11
* @LastEditors: DY
* @LastEditTime: 2022-03-03 16:22:24
* @LastEditors: zwq
* @LastEditTime: 2022-03-04 09:03:35
* @Description: E10详情表格
-->
<template>
@@ -108,15 +108,15 @@ export default {
this.listQuery.startTime = this.time1
this.listQuery.endTime = this.time2
this.listQuery.equipmentName = this.equipmentName
getE10StackDetail(this.listQuery).then(res => {
if (res.data !== []) {
this.list = res.data.detail.records
this.total = res.data.detail.total
this.list.forEach(item => {
item.equipmentName = this.equipmentName
})
}
})
// getE10StackDetail(this.listQuery).then(res => {
// if (res.data !== []) {
// this.list = res.data.detail.records
// this.total = res.data.detail.total
// this.list.forEach(item => {
// item.equipmentName = this.equipmentName
// })
// }
// })
}
}
}

View File

@@ -1,8 +1,8 @@
<!--
* @Author: zwq
* @Date: 2020-12-29 15:41:11
* @LastEditors: DY
* @LastEditTime: 2022-03-03 16:46:06
* @LastEditors: zwq
* @LastEditTime: 2022-03-04 09:03:23
* @Description: Mttr详情表格
-->
<template>
@@ -109,12 +109,12 @@ export default {
this.listQuery.startTime = this.time1
this.listQuery.endTime = this.time2
this.listQuery.equipmentName = this.equipmentName
getMttrDetail(this.listQuery).then(res => {
if (res.data !== []) {
this.list = res.data.detail.records
this.total = res.data.detail.total
}
})
// getMttrDetail(this.listQuery).then(res => {
// if (res.data !== []) {
// this.list = res.data.detail.records
// this.total = res.data.detail.total
// }
// })
}
}
}

View File

@@ -2,7 +2,7 @@
* @Author: zwq
* @Date: 2020-12-29 16:37:56
* @LastEditors: zwq
* @LastEditTime: 2022-03-11 10:55:27
* @LastEditTime: 2022-03-16 14:11:09
* @Description:
-->
<template>
@@ -226,7 +226,7 @@ export default {
this.dataForm = res.data
})
} else {
this.dataForm.registerTime = this.moment().format('YYYY-MM-DD HH:mm:ss')
this.dataForm.registerTime = this.moment()
}
})
},

View File

@@ -2,7 +2,7 @@
* @Author: zwq
* @Date: 2020-12-29 15:41:11
* @LastEditors: zwq
* @LastEditTime: 2022-03-11 11:24:48
* @LastEditTime: 2022-03-16 09:54:40
* @Description:
-->
<template>
@@ -11,7 +11,6 @@
:model="formData"
:inline="true"
size="medium"
label-width="80px"
>
<el-form-item :label="$t('module.basicData.ScrapInfo.PlateId')" prop="substrateId">
<el-input v-model="formData.substrateId" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.ScrapInfo.PlateId')])" style="width:200px" clearable />

View File

@@ -2,7 +2,7 @@
* @Author: zwq
* @Date: 2020-12-29 16:37:56
* @LastEditors: zwq
* @LastEditTime: 2022-03-09 16:53:23
* @LastEditTime: 2022-03-16 14:30:59
* @Description:
-->
<template>
@@ -15,7 +15,7 @@
<el-input v-model="dataForm.name" :placeholder="$i18nForm(['placeholder.input', $t('module.art.processList.processName')])" clearable />
</el-form-item>
<el-form-item :label="$t('module.art.processList.processEq')" prop="equipmentIds">
<el-select v-model="dataForm.equipmentIds" clearable filterable multiple>
<el-select v-model="dataForm.equipmentIds" clearable filterable multiple @change="$forceUpdate()">
<el-option v-for="item in eqList" :key="item.id" :value="item.id" :label="item.name" />
</el-select>
</el-form-item>

View File

@@ -2,7 +2,7 @@
* @Author: zwq
* @Date: 2020-12-29 15:41:11
* @LastEditors: fzq
* @LastEditTime: 2022-03-15 09:45:30
* @LastEditTime: 2022-03-18 13:53:50
* @Description:
-->
<template>
@@ -143,10 +143,11 @@ export default {
}],
listLoading: true,
listQuery: {
name: '',
current: 1,
size: 990,
shelfId: '',
id: ''
size: 20
// shelfId: '',
// id: ''
},
sheCode: this.$t('module.basicData.cache.sheCode'),
sheName: this.$t('module.basicData.cache.sheName'),
@@ -188,6 +189,7 @@ export default {
this.listLoading = true
this.listQuery.name = key
// shelfId与查询参数id关联
console.log(this.listQuery)
this.listQuery.id = this.listQuery.shelfId
locationList(this.listQuery).then(response => {
if (response.data.records) {

View File

@@ -57,7 +57,7 @@
<!-- <el-form-item :label="$t('module.basicData.equipment.EquipmentType')" prop="equipmentType">
<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 :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="this.$t('module.basicData.cache.logisticsEquipment')" default>
<el-option
v-for="item in options"
@@ -399,7 +399,7 @@ export default {
code: '',
enName: '',
abbr: '',
equipmentType: this.$t('module.basicData.cache.logisticsEquipment'),
equipmentType: '1',
spec: '',
createTime: '',
enterTime: '',
@@ -442,6 +442,11 @@ export default {
required: true,
message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.equipment.EquipmentCode')]),
trigger: 'blur'
}],
equipmentType: [{
required: true,
message: this.$i18nForm(['placeholder.select', this.$t('module.basicData.equipment.EquipmentType')]),
trigger: 'blur'
}]
// maintenanceCycle: [{
// required: true,
@@ -581,6 +586,7 @@ export default {
})
})
} else {
console.log(data)
equipmentInfoAdd(data).then(res => {
this.$message({
message: this.$t('module.basicData.visual.success'),

View File

@@ -1,8 +1,8 @@
<!--
* @Author: zwq
* @Date: 2020-12-29 16:37:56
* @LastEditors: zwq
* @LastEditTime: 2022-03-04 10:06:01
* @LastEditors: fzq
* @LastEditTime: 2022-03-15 18:33:01
* @Description:
-->
<template>
@@ -169,10 +169,10 @@ export default {
}]
},
sexOptions: [{
'label': '男',
'label': this.$t('module.basicData.cache.man'),
'value': 1
}, {
'label': '女',
'label': this.$t('module.basicData.cache.woman'),
'value': 0
}],
onDutyOptions: [{

View File

@@ -2,7 +2,7 @@
* @Author: zwq
* @Date: 2020-12-29 15:41:11
* @LastEditors: zwq
* @LastEditTime: 2022-03-14 10:35:17
* @LastEditTime: 2022-03-16 09:45:43
* @Description:
-->
<template>
@@ -12,7 +12,6 @@
:model="formData"
:inline="true"
size="medium"
label-width="100px"
>
<el-form-item :label="$t('module.basicData.Warehouse.TaskType')" prop="taskType">
<el-select v-model="formData.taskType" filterable :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.Warehouse.TaskType')])" clearable>

View File

@@ -2,7 +2,7 @@
* @Author: zwq
* @Date: 2020-12-29 15:41:11
* @LastEditors: zwq
* @LastEditTime: 2022-03-14 10:37:13
* @LastEditTime: 2022-03-16 09:46:13
* @Description:
-->
<template>
@@ -12,7 +12,6 @@
:model="formData"
:inline="true"
size="medium"
label-width="100px"
>
<el-form-item :label="$t('module.basicData.Warehouse.TaskType')" prop="taskType">
<el-select v-model="formData.taskType" filterable :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.Warehouse.TaskType')])" clearable>

View File

@@ -2,7 +2,7 @@
* @Author: zwq
* @Date: 2020-12-29 15:41:11
* @LastEditors: zwq
* @LastEditTime: 2022-03-14 10:35:21
* @LastEditTime: 2022-03-16 09:46:19
* @Description:
-->
<template>
@@ -13,7 +13,6 @@
:model="listQuery"
:inline="true"
size="medium"
label-width="100px"
>
<el-form-item :label="$t('module.art.processList.processName')" prop="key">
<el-select

View File

@@ -2,12 +2,12 @@
* @Author: zwq
* @Date: 2020-12-29 15:41:11
* @LastEditors: zwq
* @LastEditTime: 2022-03-14 09:33:28
* @LastEditTime: 2022-03-16 09:45:26
* @Description:
-->
<template>
<div class="app-container">
<el-form ref="listQuery" :model="listQuery" :inline="true" label-width="120px" @keyup.enter.native="getList()">
<el-form ref="listQuery" :model="listQuery" :inline="true" @keyup.enter.native="getList()">
<el-form-item :label="$t('module.basicData.Warehouse.StorageBoxNumber')" prop="code">
<el-select
v-model="listQuery.code"

View File

@@ -2,12 +2,12 @@
* @Author: zwq
* @Date: 2020-12-29 15:41:11
* @LastEditors: zwq
* @LastEditTime: 2022-01-17 14:06:53
* @LastEditTime: 2022-03-16 09:46:26
* @Description:
-->
<template>
<div class="app-container">
<el-form ref="listQuery" :model="listQuery" :inline="true" label-width="120px" @keyup.enter.native="getList()">
<el-form ref="listQuery" :model="listQuery" :inline="true" @keyup.enter.native="getList()">
<el-form-item :label="$t('module.basicData.Warehouse.LocationName')" prop="currLocationId">
<el-select
v-model="listQuery.currLocationId"

View File

@@ -2,7 +2,7 @@
* @Author: zwq
* @Date: 2020-12-29 16:37:56
* @LastEditors: zwq
* @LastEditTime: 2022-03-14 10:55:22
* @LastEditTime: 2022-03-16 09:49:10
* @Description:
-->
<template>
@@ -15,7 +15,7 @@
ref="dataForm"
:model="dataForm"
size="medium"
label-width="110px"
label-width="170px"
label-position="left"
>
<el-col :span="12">

View File

@@ -2,7 +2,7 @@
* @Author: zwq
* @Date: 2020-12-29 16:37:56
* @LastEditors: zwq
* @LastEditTime: 2022-01-14 15:55:39
* @LastEditTime: 2022-03-16 09:50:12
* @Description:
-->
<template>
@@ -15,7 +15,7 @@
ref="dataForm"
:model="dataForm"
size="medium"
label-width="110px"
label-width="160px"
label-position="left"
>
<el-col :span="8">

View File

@@ -2,20 +2,21 @@
* @Author: zwq
* @Date: 2020-12-29 16:37:56
* @LastEditors: zwq
* @LastEditTime: 2022-01-13 16:22:39
* @LastEditTime: 2022-03-16 09:50:58
* @Description:
-->
<template>
<el-dialog
:title="'btn.see' | i18nFilter"
:visible.sync="visible"
width="60%"
>
<el-row :gutter="10">
<el-form
ref="dataForm"
:model="dataForm"
size="medium"
label-width="110px"
label-width="170px"
label-position="left"
>
<el-col :span="8">

View File

@@ -2,7 +2,7 @@
* @Author: zwq
* @Date: 2020-12-29 15:41:11
* @LastEditors: zwq
* @LastEditTime: 2022-03-15 14:15:30
* @LastEditTime: 2022-03-17 14:50:20
* @Description:
-->
<template>
@@ -62,14 +62,9 @@ const tableProps = [
align: 'center'
},
{
prop: 'name',
prop: 'locationName',
label: i18n.t('module.basicData.cache.LocationName'),
align: 'center'
},
{
prop: 'shelfName',
label: i18n.t('module.basicData.cache.locationType'),
align: 'center'
}
]

View File

@@ -1,8 +1,8 @@
<!--
* @Author: gtz
* @Date: 2022-03-12 14:17:55
* @LastEditors: gtz
* @LastEditTime: 2022-03-12 14:23:43
* @LastEditors: zwq
* @LastEditTime: 2022-03-16 14:18:33
* @Description: file content
* @FilePath: \mt-ck-wms-ui\src\views\basicData\Warehouse\components\PublishTask.vue
-->
@@ -21,13 +21,13 @@
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-input v-model="dataForm.startPosition" :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-input v-model="dataForm.endPosition" :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-input v-model="dataForm.taskType" :style="{width: '100%'}" />
</el-form-item>
</el-form>
</el-row>

View File

@@ -1,8 +1,8 @@
<!--
* @Author: zwq
* @Date: 2020-12-29 16:37:56
* @LastEditors: fzq
* @LastEditTime: 2022-03-10 18:44:36
* @LastEditors: zwq
* @LastEditTime: 2022-03-16 09:47:25
* @Description:
-->
<template>
@@ -10,7 +10,7 @@
:title="!dataForm.id ? 'btn.add' : 'btn.edit' | i18nFilter"
:visible.sync="visible"
>
<el-form ref="dataForm" :model="dataForm" :rules="dataRule" label-width="120px" @keyup.enter.native="dataFormSubmit()">
<el-form ref="dataForm" :model="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmit()">
<el-form-item :label="$t('module.basicData.Warehouse.LocationName')" prop="currLocationId">
<el-select
v-model="dataForm.currLocationId"

View File

@@ -1,17 +1,19 @@
<!--
* @Author: gtz
* @Date: 2022-03-03 09:16:10
* @LastEditors: zwq
* @LastEditTime: 2022-03-15 14:27:57
* @LastEditors: gtz
* @LastEditTime: 2022-03-18 16:33:59
* @Description: file content
* @FilePath: \mt-ck-wms-ui\src\views\dashboard\index.vue
* @FilePath: \mt-ck-wms-ui\src\views\basicData\Warehouse\components\processStorageLink.vue
-->
<template>
<div class="dashboard-container">
<el-card class="dashboard-main">
<el-row class="dashboard-title">
<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 class="dashboard-legend">
<div
@@ -38,27 +40,33 @@
<el-button type="primary" size="mini" @click="submitLinkList">{{
"btn.submit" | i18nFilter
}}</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>
<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 class="dashboard-legend-search">
<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>
</div>
</el-row>
<el-row
v-if="current * 80 < shelfList[0].rowList[0].portList.length"
v-if="current * 80 < shelfVoList[0].rowVoList[0].portVoList.length"
class="dashboard-layout"
:gutter="12"
>
@@ -70,14 +78,14 @@
>
<el-row>
<el-col
v-for="(i, index) in shelfList"
v-for="(i, index) in shelfVoList"
:key="item + 'shelf' + i.id"
:span="12"
class="dashboard-layout-shelf"
>
<el-row>
<el-col
v-for="z in i.rowList"
v-for="z in i.rowVoList"
:key="item + 'shelf' + i + 'row' + z.id"
:span="12"
class="dashboard-layout-row"
@@ -89,42 +97,88 @@
:style="{
background:
portAttributeObj[
z.portList[
z.portVoList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
].attribute
],
cursor:
z.portList[
z.portVoList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
].attribute === 3
].attribute === '3'
? 'not-allowed'
: 'pointer',
color:
z.portList[
z.portVoList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
].attribute === 3
].attribute === '3'
? '#A2A8B5'
: '',
border:
selectStorageList.some(StorageItem=>StorageItem.locationId===z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].id)
? '1px solid red' : ''
border: selectStorageList.some(
StorageItem =>
StorageItem.locationId ===
z.portVoList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
].id
)
? '2px dashed red'
: ''
}"
@click="
setType(
z.portList[
z.portVoList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
]
)
"
>
<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)].attribute !== 3 ? z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].name : 'XXXX' }}
<div
v-if="
z.portVoList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
].attribute !== '3'
"
class="dashboard-layout-item-cricle"
:style="{
background: z.portVoList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
].cassetteVoList[0]
? cassetteStatusObj[
z.portVoList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
].cassetteVoList[0].status
]
: ''
}"
/>
<div
v-if="
StorageList.some(
StorageItem =>
StorageItem.id ===
z.portVoList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
].id
)"
class="dashboard-layout-item-horn"
/>
{{
z.portVoList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
].attribute !== '3'
? z.portVoList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
].name
: "XXXX"
}}
</div>
</el-col>
</el-row>
<div class="dashboard-layout-footer">
{{
"第" + bottomIndex[index] + "排(" + ((current - 1) * 4 + item) + ")"
$t(bottomIndex[index]) +
"(" +
((current - 1) * 4 + item) +
")"
}}
</div>
</el-col>
@@ -134,7 +188,9 @@
<el-row v-else class="dashboard-layout" :gutter="12">
<el-col
v-for="item in Math.ceil(
(shelfList[0].rowList[0].portList.length - (current - 1) * 80) / 20
(shelfVoList[0].rowVoList[0].portVoList.length -
(current - 1) * 80) /
20
)"
:key="'shelfbox' + item"
class="dashboard-layout-shelf-box"
@@ -142,7 +198,7 @@
>
<el-row>
<el-col
v-for="(i, index) in shelfList"
v-for="(i, index) in shelfVoList"
:key="item + 'shelf' + i.id"
:span="12"
class="dashboard-layout-shelf"
@@ -151,14 +207,14 @@
v-if="
item <
Math.ceil(
(shelfList[0].rowList[0].portList.length -
(shelfVoList[0].rowVoList[0].portVoList.length -
(current - 1) * 80) /
20
)
"
>
<el-col
v-for="z in i.rowList"
v-for="z in i.rowVoList"
:key="item + 'shelf' + i + 'row' + z.id"
:span="12"
class="dashboard-layout-row"
@@ -170,48 +226,91 @@
:style="{
background:
portAttributeObj[
z.portList[
z.portVoList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
].attribute
],
cursor:
z.portList[
z.portVoList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
].attribute === 3
].attribute === '3'
? 'not-allowed'
: 'pointer',
color:
z.portList[
z.portVoList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
].attribute === 3
].attribute === '3'
? '#A2A8B5'
: '',
border:
selectStorageList.some(StorageItem=>StorageItem.locationId===z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].id)
? '1px solid red' : ''
border: selectStorageList.some(
StorageItem =>
StorageItem.locationId ===
z.portVoList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
].id
)
? '2px dashed red'
: ''
}"
@click="
setType(
z.portList[
z.portVoList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
]
)
"
>
<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)].attribute !== 3 ? z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].name : 'XXXX' }}
<div
v-if="
z.portVoList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
].attribute !== '3'
"
class="dashboard-layout-item-cricle"
:style="{
background: z.portVoList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
].cassetteVoList[0]
? cassetteStatusObj[
z.portVoList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
].cassetteVoList[0].status
]
: ''
}"
/>
<div
v-if="
StorageList.some(
StorageItem =>
StorageItem.id ===
z.portVoList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
].id
)"
class="dashboard-layout-item-horn"
/>
{{
z.portVoList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
].attribute !== '3'
? z.portVoList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
].name
: "XXXX"
}}
</div>
</el-col>
</el-row>
<el-row v-else>
<el-col
v-for="z in i.rowList"
v-for="z in i.rowVoList"
:key="item + 'shelf' + i + 'row' + z.id"
:span="12"
class="dashboard-layout-row"
>
<div
v-for="x in shelfList[0].rowList[0].portList.length -
v-for="x in shelfVoList[0].rowVoList[0].portVoList.length -
(item - 1) * 20 -
(current - 1) * 80"
:key="item + 'shelf' + i + 'row' + z + 'item' + x"
@@ -219,42 +318,88 @@
:style="{
background:
portAttributeObj[
z.portList[
z.portVoList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
].attribute
],
cursor:
z.portList[
z.portVoList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
].attribute === 3
].attribute === '3'
? 'not-allowed'
: 'pointer',
color:
z.portList[
z.portVoList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
].attribute === 3
].attribute === '3'
? '#A2A8B5'
: '',
border:
selectStorageList.some(StorageItem=>StorageItem.locationId===z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].id)
? '1px solid red' : ''
border: selectStorageList.some(
StorageItem =>
StorageItem.locationId ===
z.portVoList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
].id
)
? '2px dashed red'
: ''
}"
@click="
setType(
z.portList[
z.portVoList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
]
)
"
>
<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)].attribute !== 3 ? z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].name : 'XXXX' }}
<div
v-if="
z.portVoList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
].attribute !== '3'
"
class="dashboard-layout-item-cricle"
:style="{
background: z.portVoList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
].cassetteVoList[0]
? cassetteStatusObj[
z.portVoList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
].cassetteVoList[0].status
]
: ''
}"
/>
<div
v-if="
StorageList.some(
StorageItem =>
StorageItem.id ===
z.portVoList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
].id
)"
class="dashboard-layout-item-horn"
/>
{{
z.portVoList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
].attribute !== '3'
? z.portVoList[
(current - 1) * 80 + (item - 1) * 20 + (x - 1)
].name
: "XXXX"
}}
</div>
</el-col>
</el-row>
<div class="dashboard-layout-footer">
{{
"第" + bottomIndex[index] + "排(" + ((current - 1) * 4 + item) + ")"
$t(bottomIndex[index]) +
"(" +
((current - 1) * 4 + item) +
")"
}}
</div>
</el-col>
@@ -271,6 +416,8 @@
</template>
<script>
import { getPortList } from '@/api/dashboard'
import { locationByProcessList } from '@/api/basicData/Warehouse/StorageBoxInfo'
import { batchListAdd } from '@/api/basicData/Warehouse/StorageBoxInfo'
import testdata from './testdata'
import processStorageType from './processStorageType'
@@ -284,22 +431,52 @@ export default {
created() {
this.id = this.$route.query.id
this.totalPage = Math.ceil(
this.shelfList[0].rowList[0].portList.length / 80
this.shelfVoList[0].rowVoList[0].portVoList.length / 80
)
this.init()
},
methods: {
init() {
getPortList().then(res => {
this.shelfVoList = res.data[0].shelfVoList
this.totalPage = Math.ceil(
this.shelfVoList[0].rowVoList[0].portVoList.length / 80
)
})
locationByProcessList({
current: 1,
size: 990,
workSequenId: this.id
}).then(response => {
if (response.data.records) {
this.StorageList = response.data.records
} else {
this.StorageList.splice(0, this.StorageList.length)
}
})
this.selectStorageList.splice(0, this.selectStorageList.length)
},
setType(item) {
if (item.attribute !== 3) {
if (this.selectStorageList.findIndex(StorageItem => StorageItem.locationId === item.id) + 1) {
this.selectStorageList.splice(this.selectStorageList.findIndex(StorageItem => StorageItem.locationId === item.id), 1)
if (item.attribute !== '3') {
if (
this.selectStorageList.findIndex(
StorageItem => StorageItem.locationId === item.id
) + 1
) {
this.selectStorageList.splice(
this.selectStorageList.findIndex(
StorageItem => StorageItem.locationId === item.id
),
1
)
} else {
const isExist = this.StorageList.some(
StorageItem =>
StorageItem.id === item.id
)
this.typeVisible = true
this.$nextTick(() => {
this.$refs.typeRef.init(item.id, item.name)
this.$refs.typeRef.init(item.id, item.name, item.attribute, isExist)
})
}
}
@@ -312,29 +489,49 @@ export default {
console.log(v)
},
submitLinkList() {
const tipArr = this.selectStorageList.map(item => {
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'), {
confirmButtonText: this.$t('module.basicData.visual.confirmButtonText'),
cancelButtonText: this.$t('module.basicData.visual.cancelButtonText'),
type: 'warning'
}).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)
}
})
if (this.selectStorageList.length) {
const tipArr = this.selectStorageList.map(item => {
return item.locationName
})
}).catch(() => {})
const obj = {
workSequenId: this.id,
processLocationStorageList: this.selectStorageList
}
this.$confirm(
`${this.$t(
'module.basicData.visual.TipsStorageBefore'
)}[${tipArr.join(',')}]?`,
this.$t('module.basicData.visual.Tips'),
{
confirmButtonText: this.$t(
'module.basicData.visual.confirmButtonText'
),
cancelButtonText: this.$t(
'module.basicData.visual.cancelButtonText'
),
type: 'warning'
}
)
.then(() => {
batchListAdd(obj).then(res => {
this.$message({
message: this.$t('module.basicData.visual.success'),
type: 'success',
duration: 1500,
onClose: () => {
this.init()
}
})
})
})
.catch(() => {})
} else {
this.$message({
message: this.$t('module.basicData.visual.PleaseAddLocationFirst'),
type: 'warning',
duration: 1500
})
}
},
goback() {
this.selectStorageList.splice(0, this.selectStorageList.length)
@@ -427,6 +624,7 @@ export default {
display: flex;
align-items: center;
justify-content: center;
position: relative;
.dashboard-layout-item-cricle {
display: inline-block;
width: 12px;
@@ -434,6 +632,16 @@ export default {
border-radius: 6px;
margin-right: 6px;
}
.dashboard-layout-item-horn {
position: absolute;
width: 0;
height: 0;
right: 0;
top: 0;
border-style: solid;
border-width: 14px 0px 0px 14px;
border-color: #0B58FF transparent transparent transparent;
}
}
}
}

View File

@@ -2,7 +2,7 @@
* @Author: zwq
* @Date: 2020-12-29 16:37:56
* @LastEditors: zwq
* @LastEditTime: 2022-03-15 11:02:46
* @LastEditTime: 2022-03-18 09:39:09
* @Description:
-->
<template>
@@ -15,13 +15,12 @@
:model="dataForm"
size="medium"
:rules="dataRule"
label-width="110px"
label-position="left"
>
<el-form-item :label="$t('module.basicData.Warehouse.SelectStorageType')" prop="portAttrId">
<el-radio v-model="dataForm.portAttrId" :label="1">Working Port</el-radio>
<el-radio v-model="dataForm.portAttrId" :label="2">Buffer Port</el-radio>
<el-radio v-model="dataForm.portAttrId" :label="3">Exception Port</el-radio>
<el-radio v-model="dataForm.portAttrId" label="1">Working Port</el-radio>
<el-radio v-model="dataForm.portAttrId" label="2">Buffer Port</el-radio>
<el-radio v-model="dataForm.portAttrId" label="3">Exception Port</el-radio>
</el-form-item>
<el-form-item :label="$t('module.basicData.storageBox.name')" prop="storageId">
<el-select v-model="dataForm.storageId" filterable :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.storageBox.name')])" clearable>
@@ -42,6 +41,7 @@
</template>
<script>
import { getPortDetail } from '@/api/dashboard'
import { storageBoxList } from '@/api/basicData/Cache/storageBox'
export default {
@@ -51,7 +51,7 @@ export default {
locationId: '',
locationName: '',
dataForm: {
portAttrId: 1,
portAttrId: '1',
storageId: ''
},
dataRule: {
@@ -66,7 +66,7 @@ export default {
}
},
methods: {
init(id, name) {
init(id, name, attribute, isExist) {
this.locationId = id
this.locationName = name
const listQuery = {
@@ -82,6 +82,16 @@ export default {
})
this.$nextTick(() => {
this.$refs['dataForm'].resetFields()
if (attribute) {
this.dataForm.portAttrId = attribute
} else {
this.dataForm.portAttrId = '1'
}
if (isExist) {
getPortDetail(id).then(res => {
if (res.code === 0) { this.dataForm.storageId = res.data.storageBoxId }
})
}
})
this.visible = true
},

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,75 @@
<!--
* @Author: zwq
* @Date: 2020-12-29 16:37:56
* @LastEditors: gtz
* @LastEditTime: 2022-03-18 16:18:38
* @Description:
-->
<template>
<el-dialog
:title="'btn.detail' | i18nFilter"
:visible.sync="visible"
>
<el-form ref="dataForm" :model="dataForm" label-width="150px">
<el-form-item :label="$t('module.dashboard.name')" prop="name">
{{ dataForm.name }}
</el-form-item>
<el-form-item :label="$t('module.dashboard.attribute')" prop="attribute">
{{ dataForm.attribute ? portAttributeObj[dataForm.attribute] : '' }}
</el-form-item>
<el-form-item :label="$t('module.dashboard.cassetteStatus')" prop="cassetteVoList">
{{ dataForm.cassetteVoList && dataForm.cassetteVoList.length && dataForm.cassetteVoList[0].status ? cassetteStatusObj[dataForm.cassetteVoList[0].status] : '' }}
</el-form-item>
<el-form-item :label="$t('module.dashboard.workOrderNo')" prop="workOrderNo">
{{ dataForm.workOrderNo }}
</el-form-item>
<el-form-item :label="$t('module.dashboard.storageBoxCode')" prop="storageBoxCode">
{{ dataForm.storageBoxCode }}
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">{{ 'btn.cancel' | i18nFilter }}</el-button>
</span>
</el-dialog>
</template>
<script>
export default {
data() {
return {
visible: false,
dataForm: {
code: null,
createTime: null,
currLocation: null,
currLocationId: null,
id: null,
isEmpty: null,
status: null,
storageBoxCode: null,
storageBoxId: null,
updateTime: null
},
cassetteStatusObj: {
'1': 'Empty Cassette',
'2': 'Dummy Cassette',
'3': 'OK Cassette',
'4': 'NOK Cassette'
},
portAttributeObj: {
1: 'Working Port',
2: 'Buffer Port',
3: 'Exception Port'
}
}
},
methods: {
init(data) {
console.log(data)
this.visible = true
this.dataForm = data
}
}
}
</script>

View File

@@ -2,7 +2,7 @@
* @Author: gtz
* @Date: 2022-03-03 09:16:10
* @LastEditors: gtz
* @LastEditTime: 2022-03-15 16:47:57
* @LastEditTime: 2022-03-18 16:29:33
* @Description: file content
* @FilePath: \mt-ck-wms-ui\src\views\dashboard\index.vue
-->
@@ -23,20 +23,21 @@
{{ item.name }}
</div>
<div class="dashboard-legend-search">
<el-select v-model="current" size="mini" placeholder="请选择库存范围" @change="handleChange">
<el-select v-model="current" size="mini" @change="handleChange">
<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-button type="primary" @click="refresh">{{ 'btn.refresh' | i18nFilter }}</el-button>
</div>
</el-row>
<el-row v-if="current * 80 < shelfList[0].rowList[0].portList.length" class="dashboard-layout" :gutter="12">
<el-row v-if="current * 80 < shelfVoList[0].rowVoList[0].portVoList.length" class="dashboard-layout" :gutter="12">
<el-col v-for="item in 4" :key="'shelfbox' + item" class="dashboard-layout-shelf-box" :span="6">
<el-row>
<el-col v-for="(i, index) in shelfList" :key="item + 'shelf' + i.id" :span="12" class="dashboard-layout-shelf">
<el-col v-for="(i, index) in shelfVoList" :key="item + 'shelf' + i.id" :span="12" class="dashboard-layout-shelf">
<el-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-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)].attribute !== 3 ? z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].name : 'XXXX' }}
<el-col v-for="z in i.rowVoList" :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.portVoList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute], cursor: z.portVoList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute === '3' ? 'not-allowed' : 'pointer', color: z.portVoList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute === '3' ? '#A2A8B5' : ''}" @click="handlePort(z, x)">
<div v-if="z.portVoList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== '3'" class="dashboard-layout-item-cricle" :style="{background: z.portVoList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteVoList[0] ? cassetteStatusObj[z.portVoList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteVoList[0].status] : ''}" />
{{ z.portVoList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== '3' ? z.portVoList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].name : 'XXXX' }}
</div>
</el-col>
</el-row>
@@ -48,22 +49,22 @@
</el-col>
</el-row>
<el-row v-else class="dashboard-layout" :gutter="12">
<el-col v-for="item in Math.ceil((shelfList[0].rowList[0].portList.length - (current - 1) * 80) / 20)" :key="'shelfbox' + item" class="dashboard-layout-shelf-box" :span="6">
<el-col v-for="item in Math.ceil((shelfVoList[0].rowVoList[0].portVoList.length - (current - 1) * 80) / 20)" :key="'shelfbox' + item" class="dashboard-layout-shelf-box" :span="6">
<el-row>
<el-col v-for="(i, index) in shelfList" :key="item + 'shelf' + i.id" :span="12" class="dashboard-layout-shelf">
<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">
<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: 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)].attribute !== 3 ? z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].name : 'XXXX' }}
<el-col v-for="(i, index) in shelfVoList" :key="item + 'shelf' + i.id" :span="12" class="dashboard-layout-shelf">
<el-row v-if="item < Math.ceil((shelfVoList[0].rowVoList[0].portVoList.length - (current - 1) * 80) / 20)">
<el-col v-for="z in i.rowVoList" :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.portVoList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute], cursor: z.portVoList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute === '3' ? 'not-allowed' : 'pointer', color: z.portVoList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute === '3' ? '#A2A8B5' : ''}" @click="handlePort(z, x)">
<div v-if="z.portVoList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== '3'" class="dashboard-layout-item-cricle" :style="{background: z.portVoList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteVoList[0] ? cassetteStatusObj[z.portVoList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteVoList[0].status] : ''}" />
{{ z.portVoList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== '3' ? z.portVoList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].name : 'XXXX' }}
</div>
</el-col>
</el-row>
<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">
<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: 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)].attribute !== 3 ? z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].name : 'XXXX' }}
<el-col v-for="z in i.rowVoList" :key="item + 'shelf' + i + 'row' + z.id" :span="12" class="dashboard-layout-row">
<div v-for="x in shelfVoList[0].rowVoList[0].portVoList.length - (item - 1) * 20 - (current - 1) * 80" :key="item + 'shelf' + i + 'row' + z + 'item' + x" class="dashboard-layout-item" :style="{background: portAttributeObj[z.portVoList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute], cursor: z.portVoList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute === '3' ? 'not-allowed' : 'pointer', color: z.portVoList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute === '3' ? '#A2A8B5' : ''}" @click="handlePort(z, x)">
<div v-if="z.portVoList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== '3'" class="dashboard-layout-item-cricle" :style="{background: z.portVoList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteVoList[0] ? cassetteStatusObj[z.portVoList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteVoList[0].status] : ''}" />
{{ z.portVoList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== '3' ? z.portVoList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].name : 'XXXX' }}
</div>
</el-col>
</el-row>
@@ -75,24 +76,45 @@
</el-col>
</el-row>
</el-card>
<port-detail ref="addOrUpdate" />
</div>
</template>
<script>
import testdata from './testdata'
import { getPortList, getPortDetail } from '@/api/dashboard'
import portDetail from './components/PortDetail'
export default {
name: 'Dashboard',
components: { portDetail },
data() {
return testdata
},
created() {
console.log(this.shelfList)
this.totalPage = Math.ceil(this.shelfList[0].rowList[0].portList.length / 80)
this.totalPage = Math.ceil(this.shelfVoList[0].rowVoList[0].portVoList.length / 80)
this.init()
},
methods: {
init() {
getPortList().then(res => {
this.shelfVoList = res.data[0].shelfVoList
this.totalPage = Math.ceil(this.shelfVoList[0].rowVoList[0].portVoList.length / 80)
})
},
handleChange(v) {
console.log(v)
},
handlePort(z, x) {
getPortDetail(z.portVoList[x - 1].id).then(res => {
this.addOrUpdateVisible = true
this.$nextTick(() => {
this.$refs.addOrUpdate.init({ ...(res.data), ...z.portVoList[x - 1] })
})
})
},
refresh() {
this.init()
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -2,20 +2,21 @@
* @Author: zwq
* @Date: 2020-12-29 16:37:56
* @LastEditors: zwq
* @LastEditTime: 2022-03-15 10:50:00
* @LastEditTime: 2022-03-16 14:17:40
* @Description:
-->
<template>
<el-dialog
:title="'btn.see' | i18nFilter"
:visible.sync="visible"
width="70%"
>
<el-row :gutter="10">
<el-form
ref="dataForm"
:model="dataForm"
size="medium"
label-width="110px"
label-width="180px"
label-position="left"
>
<el-col :span="8">
@@ -115,6 +116,7 @@
<script>
import { ExecutionInfoDetail } from '@/api/orderManage/00A'
import { timeFormatter } from '@/filters'
export default {
data() {
@@ -123,7 +125,6 @@ export default {
dataForm: {
id: 0,
name: undefined,
createTime: undefined,
priority: '',
actualQuantity: '',
startProduceTime: '',
@@ -151,6 +152,8 @@ export default {
res.data.type = this.statusfilter('orderType', res.data.type)
res.data.priority = this.statusfilter('priority', res.data.priority)
res.data.triggerOrigin = this.statusfilter('triggerOrigin', res.data.triggerOrigin)
res.data.finishProduceTime = timeFormatter(res.data.finishProduceTime)
res.data.startProduceTime = timeFormatter(res.data.startProduceTime)
res.data.ProcessOrNot = res.data.processId ? '是' : '否'
this.dataForm = res.data
})

View File

@@ -2,20 +2,21 @@
* @Author: zwq
* @Date: 2020-12-29 16:37:56
* @LastEditors: zwq
* @LastEditTime: 2022-03-09 16:40:11
* @LastEditTime: 2022-03-16 14:17:37
* @Description:
-->
<template>
<el-dialog
:title="'btn.see' | i18nFilter"
:visible.sync="visible"
width="70%"
>
<el-row :gutter="10">
<el-form
ref="dataForm"
:model="dataForm"
size="medium"
label-width="110px"
label-width="180px"
label-position="left"
>
<el-col :span="8">
@@ -105,6 +106,7 @@
<script>
import { ProcessInfoDetail } from '@/api/orderManage/00A'
import { timeFormatter } from '@/filters'
export default {
data() {
@@ -113,7 +115,6 @@ export default {
dataForm: {
id: 0,
name: undefined,
createTime: undefined,
priority: '',
actualQuantity: '',
startProduceTime: '',
@@ -140,6 +141,7 @@ export default {
res.data.type = this.statusfilter('orderType', res.data.type)
res.data.priority = this.statusfilter('priority', res.data.priority)
res.data.triggerOrigin = this.statusfilter('triggerOrigin', res.data.triggerOrigin)
res.data.startProduceTime = timeFormatter(res.data.startProduceTime)
this.dataForm = res.data
})
}

View File

@@ -1,7 +1,7 @@
<!--
* @Date: 2021-01-07 20:09:37
* @LastEditors: zwq
* @LastEditTime: 2022-03-10 14:25:50
* @LastEditTime: 2022-03-16 10:02:41
* @FilePath: \basic-admin\src\components\BaseTable\subcomponents\CheckDetail.vue
* @Description:
-->
@@ -13,7 +13,7 @@
width="160"
>
<div>
<el-select v-model="value" placeholder="请选择">
<el-select v-model="value" :placeholder="$t('module.basicData.Warehouse.RelateProcess')">
<el-option
v-for="item in options"
:key="item.id"
@@ -23,8 +23,8 @@
</el-select>
</div>
<div style="text-align: right; margin: 0">
<el-button size="mini" type="text" @click="visible = false">取消</el-button>
<el-button type="primary" size="mini" @click="emitClick">确定</el-button>
<el-button size="mini" type="text" @click="visible = false">{{ 'btn.cancel' | i18nFilter }}</el-button>
<el-button type="primary" size="mini" @click="emitClick">{{ 'btn.confirm' | i18nFilter }}</el-button>
</div>
<el-button slot="reference" type="text">{{ $t('module.basicData.Warehouse.RelateProcess') }}</el-button>
</el-popover>

View File

@@ -4,7 +4,7 @@
* @Author: fzq
* @Date: 2022-03-04 20:54:54
* @LastEditors: fzq
* @LastEditTime: 2022-03-07 09:46:36
* @LastEditTime: 2022-03-18 14:55:13
-->
<template>
<div class="app-container">
@@ -198,7 +198,8 @@ export default {
let fileName = ''
const contentDisposition = res.headers['content-disposition']
if (contentDisposition) {
fileName = contentDisposition.slice(contentDisposition.indexOf('filename=') + 9)
// fileName = contentDisposition.slice(contentDisposition.indexOf('filename=') + 9)
fileName = this.$t('module.report.reportList.storageBoxReport') + '.xlsx'
}
const blob = new Blob([res.data])
const reader = new FileReader()

View File

@@ -4,7 +4,7 @@
* @Author: fzq
* @Date: 2022-03-05 17:45:46
* @LastEditors: fzq
* @LastEditTime: 2022-03-07 09:19:34
* @LastEditTime: 2022-03-18 14:46:26
-->
<template>
<!-- <el-dialog
@@ -19,17 +19,33 @@
<el-form-item :label="$t('module.report.substrate.substrateCode')" prop="substrateCode">
<el-input v-model="dataForm.substrateCode" :placeholder="$i18nForm(['placeholder.input', $t('module.report.substrate.substrateCode')])" clearable />
</el-form-item>
<el-form-item :label="$t('module.report.substrate.location')" prop="location">
<el-input v-model="dataForm.location" :placeholder="$i18nForm(['placeholder.input', $t('module.report.substrate.location')])" clearable />
<el-form-item :label="$t('module.report.substrate.location')" prop="locationName">
<el-input v-model="dataForm.locationName" :placeholder="$i18nForm(['placeholder.input', $t('module.report.substrate.location')])" clearable />
</el-form-item>
<el-form-item :label="$t('module.report.substrate.storeTime')" prop="storeTime">
<el-input v-model="dataForm.storeTime" :placeholder="$i18nForm(['placeholder.input', $t('module.report.substrate.storeTime')])" clearable />
</el-form-item>
<el-form-item :label="$t('module.report.substrate.substrateStatus')" prop="substrateStatus">
<el-input v-model="dataForm.substrateStatus" :placeholder="$i18nForm(['placeholder.input', $t('module.report.substrate.substrateStatus')])" clearable />
<el-form-item :label="$t('module.report.substrate.substrateStatus')" prop="status">
<el-input v-model="dataForm.status" :placeholder="$i18nForm(['placeholder.input', $t('module.report.substrate.substrateStatus')])" clearable />
</el-form-item>
<el-form-item :label="$t('module.report.substrate.interCode')" prop="interCode">
<!-- <el-form-item :label="$t('module.report.substrate.interCode')" prop="interCode">
<el-input v-model="dataForm.interCode" :placeholder="$i18nForm(['placeholder.input', $t('module.report.substrate.interCode')])" clearable />
</el-form-item> -->
<!-- <el-form-item :label="$t('module.report.substrate.subStorageStatus')" prop="subStorageStatus">
<el-input v-model="dataForm.subStorageStatus" :placeholder="$i18nForm(['placeholder.input', $t('module.report.substrate.subStorageStatus')])" clearable />
</el-form-item> -->
<el-form-item :label="$t('module.report.substrate.subStorageStatus')" prop="subStorageStatus">
<el-select v-model="dataForm.subStorageStatus" :placeholder="this.$t('module.report.substrate.subStorageStatus')" default>
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('module.report.substrate.machineHandID')" prop="machineHandID">
<el-input v-model="dataForm.machineHandID" :placeholder="$i18nForm(['placeholder.input', $t('module.report.substrate.machineHandID')])" clearable />
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
@@ -40,7 +56,7 @@
</template>
<script>
import { updateSubstrate, listSubstrate } from '@/api/report-manage/report'
import { updateSubstrate } from '@/api/report-manage/report'
export default {
props: {
@@ -55,19 +71,32 @@ export default {
return {
visible: false,
dataForm: {
id: '',
substrateCode: '',
location: '',
storeTime: '',
substrateStatus: '',
code: '',
storageBoxId: '',
storageCode: '',
interCode: ''
// substrateCode: '',
// locationName: '',
// storeTime: '',
// substrateStatus: '',
// code: '',
// storageBoxId: '',
// storageCode: '',
// interCode: '',
// id: '',
// current: 1,
// size: 10,
// locationStorageSubID: ''
},
options: [
{
value: 1,
label: this.$t('module.report.substrate.load')
},
{
value: 2,
label: this.$t('module.report.substrate.unload')
}
],
list: {
id: '',
location: '',
locationName: '',
storeTime: '',
substrateCode: '',
substrateStatus: ''
@@ -75,12 +104,6 @@ export default {
dataRule: {
substrateCode: [
{ required: true, message: this.$i18nForm(['placeholder.input', this.$t('module.report.substrate.substrateCode')]), trigger: 'blur' }
],
code: [
{ required: true, message: this.$i18nForm(['placeholder.input', this.$t('module.report.substrate.substrateCode')]), trigger: 'blur' }
],
interCode: [
{ required: true, message: this.$i18nForm(['placeholder.input', this.$t('module.report.substrate.substrateCode')]), trigger: 'blur' }
]
}
}
@@ -107,35 +130,40 @@ export default {
// })
// })
// },
init(id) {
init(data) {
// this.dataForm.id = id || ''
this.dataForm.storageBoxId = this.$route.query.id
this.dataForm.storageCode = this.$route.query.code
// console.log(this.$route.query)
// this.dataForm.id = this.$route.query.id
// this.dataForm.substrateCode = this.$route.query.substrateCode
// this.dataForm.locationStorageSubID = this.$route.query.locationStorageSubID
this.dataForm = data
this.visible = true
// console.log(this.dataForm)
listSubstrate(this.dataForm).then(res => {
console.log(res.data[0])
this.dataForm.id = res.data[0].id
this.dataForm.location = res.data[0].location
this.dataForm.storeTime = res.data[0].storeTime
this.dataForm.substrateCode = res.data[0].substrateCode
this.dataForm.substrateStatus = res.data[0].substrateStatus
this.dataForm.interCode = res.data[0].interCode
// console.log(this.dataForm)
})
// listSubstrate(this.dataForm).then(res => {
// // console.log(res)
// this.dataForm.id = res.data[0].id
// this.dataForm.location = res.data[0].location
// this.dataForm.storeTime = res.data[0].storeTime
// this.dataForm.substrateCode = res.data[0].substrateCode
// this.dataForm.substrateStatus = res.data[0].substrateStatus
// this.dataForm.interCode = res.data[0].interCode
// // console.log(this.dataForm)
// })
},
// 表单提交
dataFormSubmit() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
const data = {
'substrateStatus': this.dataForm.substrateStatus,
'status': this.dataForm.status,
'storeTime': this.dataForm.storeTime,
'id': this.dataForm.id,
'substrateCode': this.dataForm.substrateCode,
'location': this.dataForm.location,
'interCode': this.dataForm.interCode,
'storageBoxId': this.dataForm.storageBoxId
'locationName': this.dataForm.locationName,
// 'interCode': this.dataForm.interCode,
'storageBoxFid': this.dataForm.storageBoxFid,
'machineHandID': this.dataForm.machineHandID,
'subStorageStatus': this.dataForm.subStorageStatus
}
console.log(data)
updateSubstrate(data).then(res => {

View File

@@ -4,7 +4,7 @@
* @Author: fzq
* @Date: 2022-03-05 14:35:07
* @LastEditors: fzq
* @LastEditTime: 2022-03-05 16:44:43
* @LastEditTime: 2022-03-16 16:13:58
-->
<template>
<span>
@@ -26,7 +26,8 @@ export default {
name: 'viewSubstrate',
query: {
id: this.injectData.id,
code: this.injectData.code
code: this.injectData.code,
locationStorageSubID: this.injectData.locationStorageSubID
}
})
}

View File

@@ -4,7 +4,7 @@
* @Author: fzq
* @Date: 2022-03-05 15:55:45
* @LastEditors: fzq
* @LastEditTime: 2022-03-11 11:08:53
* @LastEditTime: 2022-03-18 14:39:56
-->
<template>
<div class="app-container">
@@ -29,7 +29,7 @@
@clickBtn="handleClick"
/>
</base-table>
<edit-substrate v-if="addOrUpdateVisible" :id="listQuery.id" ref="addOrUpdate" @refreshDataList="getList" />
<edit-substrate v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getList" />
</div>
</template>
@@ -71,7 +71,7 @@ const tableProps = [
align: 'center'
},
{
prop: 'location',
prop: 'locationName',
label: i18n.t('module.report.substrate.location'),
align: 'center'
},
@@ -81,9 +81,19 @@ const tableProps = [
align: 'center'
},
{
prop: 'substrateStatus',
prop: 'status',
label: i18n.t('module.report.substrate.substrateStatus'),
align: 'center'
},
{
prop: 'subStorageStatusName',
label: i18n.t('module.report.substrate.subStorageStatus'),
align: 'center'
},
{
prop: 'machineHandID',
label: i18n.t('module.report.substrate.machineHandID'),
align: 'center'
}
]
@@ -104,7 +114,7 @@ export default {
return {
addOrUpdateVisible: false,
num: '',
storageCode: this.$t('module.basicData.visual.TipsBefore'),
storageCode: this.$t('module.basicData.visual.storageCode'),
tableBtn,
trueWidth: 200,
tableProps,
@@ -113,14 +123,17 @@ export default {
listQuery: {
current: 1,
size: 10,
storageBoxCode: '',
storageBoxId: ''
}
locationStorageSubID: ''
// storageBoxCode: '',
// storageBoxId: ''
},
count: 0
}
},
created() {
this.listQuery.storageBoxCode = this.$route.query.code
this.listQuery.storageBoxId = this.$route.query.id
// this.listQuery.storageBoxId = this.$route.query.id
this.listQuery.locationStorageSubID = this.$route.query.locationStorageSubID
this.getList()
},
methods: {
@@ -131,7 +144,7 @@ export default {
cancelButtonText: this.$t('module.basicData.visual.cancelButtonText'),
type: 'warning'
}).then(() => {
// console.log(raw.data)
// console.log(raw.data)
deleSubstrate(raw.data).then(response => {
this.$message({
message: this.$t('module.basicData.visual.success'),
@@ -144,18 +157,27 @@ export default {
})
}).catch(() => {})
} else {
this.addNew(raw.data.id)
// this.count = raw.data._pageIndex
// console.log(this.count)
this.addNew(raw.data)
}
},
getList() {
this.listLoading = true
this.num = this.listQuery.storageBoxCode
this.listQuery.code = this.$route.query.code
console.log(this.listQuery)
// console.log(this.listQuery)
listSubstrate(this.listQuery).then(response => {
console.log(response)
// console.log(response)
if (response.data) {
this.list = response.data
for (var x = 0; x < this.list.length; x++) {
if (this.list[x].subStorageStatus === 1) {
this.list[x].subStorageStatusName = this.$t('module.report.substrate.load')
} else if (this.list[x].subStorageStatus === 2) {
this.list[x].subStorageStatusName = this.$t('module.report.substrate.unload')
}
}
console.log(this.list)
} else {
this.list.splice(0, this.list.length)