Compare commits

...

14 Commits

Author SHA1 Message Date
Fanzink
4263eb79a0 '' 2022-03-13 14:45:13 +08:00
Fanzink
7775d15b67 '' 2022-03-13 14:44:14 +08:00
d21c69e883 Merge pull request 'gtz' (#54) from gtz into develop
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #54
2022-03-12 14:25:29 +08:00
4921ba62ed update 2022-03-12 14:24:40 +08:00
c58d4fb90b Merge branch 'develop' into test 2022-03-12 11:32:21 +08:00
f273bd32de Merge pull request '仓库管理-工序库位关联' (#53) from zwq into develop
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #53
2022-03-11 16:39:54 +08:00
zwq
7fd51b5211 仓库管理-工序库位关联 2022-03-11 16:38:54 +08:00
5dda7cd772 Merge branch 'develop' into gtz 2022-03-11 10:37:48 +08:00
60fb71791a update dashborad number to string 2022-03-11 10:37:20 +08:00
e7629a6ea0 Merge pull request '修改bug' (#52) from zwq into develop
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #52
2022-03-11 09:51:02 +08:00
zwq
633313c34e 修改bug 2022-03-11 09:50:41 +08:00
7a798d354b Merge pull request '修改bug' (#51) from zwq into develop
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #51
2022-03-11 09:20:30 +08:00
zwq
ddcae6d119 修改bug 2022-03-11 09:20:02 +08:00
cf1e32049c Merge pull request 'fzq' (#50) from fzq into develop
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #50
2022-03-11 08:26:17 +08:00
20 changed files with 314 additions and 132 deletions

View File

@ -2,7 +2,7 @@
* @Author: zwq
* @Date: 2020-12-29 16:00:14
* @LastEditors: zwq
* @LastEditTime: 2022-01-17 13:59:54
* @LastEditTime: 2022-03-11 16:23:43
* @Description:
*/
import request from '@/utils/request'
@ -84,3 +84,19 @@ export function StorageBoxRackDelete(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

@ -1,7 +1,7 @@
/*
* @Date: 2020-12-28 20:46:53
* @LastEditors: zwq
* @LastEditTime: 2021-04-25 14:52:11
* @LastEditTime: 2022-03-11 09:16:13
* @FilePath: \basic-admin\src\api\menu.js
* @Description: 菜单api接口定义
*/
@ -10,7 +10,7 @@ import request from '@/utils/request'
// 获取菜单列表
export function getMenuList(data) {
return request({
url: '/upms/menu/list',
url: '/api/upms/menu/list',
method: 'post',
data
})
@ -19,7 +19,7 @@ export function getMenuList(data) {
// 获取菜单详情
export function getMenuDetail(id) {
return request({
url: '/upms/menu/get',
url: '/api/upms/menu/get',
method: 'post',
data: { id }
})
@ -28,7 +28,7 @@ export function getMenuDetail(id) {
// 新增菜单
export function addMenu(data) {
return request({
url: '/upms/menu/add',
url: '/api/upms/menu/add',
method: 'post',
data
})
@ -37,7 +37,7 @@ export function addMenu(data) {
// 删除菜单
export function delMenu(id) {
return request({
url: '/upms/menu/delete',
url: '/api/upms/menu/delete',
method: 'post',
data: { id }
})
@ -46,7 +46,7 @@ export function delMenu(id) {
// 启停菜单
export function enableMenu(data) {
return request({
url: '/upms/menu/enabled',
url: '/api/upms/menu/enabled',
method: 'post',
data
})
@ -55,7 +55,7 @@ export function enableMenu(data) {
// 修改菜单
export function editMenu(data) {
return request({
url: '/upms/menu/update',
url: '/api/upms/menu/update',
method: 'post',
data
})
@ -64,7 +64,7 @@ export function editMenu(data) {
// 菜单-角色关联授权
export function saveRoleMenu(data) {
return request({
url: '/upms/menu/saveRoleMenu',
url: '/api/upms/menu/saveRoleMenu',
method: 'post',
data
})
@ -73,7 +73,7 @@ export function saveRoleMenu(data) {
// 菜单-角色关联获取
export function listByRole(id) {
return request({
url: '/upms/menu/listByRole',
url: '/api/upms/menu/listByRole',
method: 'post',
data: { id }
})

View File

@ -3,10 +3,10 @@
* @Date: 2021-03-04 16:13:51
<<<<<<< HEAD
* @LastEditors: fzq
* @LastEditTime: 2022-03-10 14:05:21
* @LastEditTime: 2022-03-11 11:13:47
=======
* @LastEditors: zwq
* @LastEditTime: 2022-03-09 16:34:56
* @LastEditors: gtz
* @LastEditTime: 2022-03-12 14:22:52
>>>>>>> develop
* @Description: file content
*/
@ -59,7 +59,8 @@ export default {
editLocation: 'Edit Location Point',
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',
locationInfo: 'Location Point Info'
locationInfo: 'Location Point Info',
storageCode: 'storageBoxCode'
},
factory: {
placeholderName: 'Name Or Code',
@ -170,7 +171,10 @@ export default {
addCacheArea: 'add Ports Shelf',
warning: 'Layers and Columns must be integer!',
logisticsEquipment: 'Logistics Equipment',
processEquipment: 'Process Equipment'
processEquipment: 'Process Equipment',
sheCode: 'Shelf Code',
sheName: 'Shelf Name',
locaNum: 'Location Number'
},
storageBox: {
name: 'Name',
@ -260,7 +264,7 @@ export default {
entryType: 'Manual/Automatic',
automatic: 'automatic',
manual: 'Manual',
workOrderId: 'workOrderId'
workOrderName: 'Work Order Name'
},
productPool: {
productName: 'Product Name',
@ -348,6 +352,10 @@ export default {
PerformTaskManual: 'Perform Task Manual',
processStorageLink: 'Process Storage Link',
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

@ -3,11 +3,11 @@
* @Date: 2021-03-04 16:13:51
<<<<<<< HEAD
* @LastEditors: fzq
* @LastEditTime: 2022-03-10 14:05:01
* @LastEditTime: 2022-03-11 11:13:22
* @Description: file content
=======
* @LastEditors: zwq
* @LastEditTime: 2022-03-09 16:34:50
* @LastEditors: gtz
* @LastEditTime: 2022-03-12 14:23:06
>>>>>>> develop
*/
export default {
@ -59,7 +59,8 @@ export default {
editLocation: '编辑库位点',
location: '库位',
locationTip: '点击下方图片选点,选点后在弹出框内选择库位,新增点位时未选择库位无法进行下一个选点,若想调整点位顺序可拖动图片下方的标签到你想调整的位置,点击确定提交点位信息,点击重置将点位信息重置到打开弹出框时的状态',
locationInfo: '库位点信息'
locationInfo: '库位点信息',
storageCode: '存储箱号'
},
factory: {
placeholderName: '名称或编码',
@ -161,7 +162,10 @@ export default {
status: '状态',
warning: '行列标必须为整数!',
logisticsEquipment: '物流设备',
processEquipment: '工艺设备'
processEquipment: '工艺设备',
sheCode: '货架编码',
sheName: '货架名',
locaNum: '库存数量'
},
storageBox: {
name: '存储箱名称',
@ -253,7 +257,7 @@ export default {
entryType: '手动/自动',
automatic: '自动',
manual: '手动',
workOrderId: '工单名称'
workOrderName: '工单名称'
},
processLocation: {
sequence: '顺序',
@ -355,6 +359,10 @@ export default {
PerformTaskManual: '手动执行任务',
processStorageLink: '工序关联库位',
SelectStorageType: '选择库位类型',
LocationStorageSetting: '库位存储箱设置'
LocationStorageSetting: '库位存储箱设置',
publishTask: '发布任务',
startPosition: '起点',
endPosition: '终点',
taskType: '任务类型'
}
}

View File

@ -281,6 +281,7 @@ export const constantRoutes = [
},
{
path: '/StorageBoxRack',
hidden: true,
component: () =>
import('@/views/basicData/Warehouse/StorageBoxRack'),
name: 'StorageBoxRack',

View File

@ -2,7 +2,7 @@
* @Author: zwq
* @Date: 2020-12-29 16:37:56
* @LastEditors: zwq
* @LastEditTime: 2022-03-09 14:59:52
* @LastEditTime: 2022-03-11 10:55:27
* @Description:
-->
<template>
@ -66,10 +66,10 @@
</el-select>
</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
v-model="dataForm.workOrderId"
:placeholder="$i18nForm(['placeholder.input', $t('module.basicData.ScrapInfo.workOrderId')])"
:placeholder="$i18nForm(['placeholder.input', $t('module.basicData.ScrapInfo.workOrderName')])"
clearable
:style="{width: '100%'}"
>
@ -135,6 +135,7 @@
</template>
<script>
import moment from 'moment'
import i18n from '@/lang'
import { getScrapInfo, editScrapInfo, addScrapInfo } from '@/api/quality-manage/scrap'
import { scrapReasonList } from '@/api/dict'
@ -164,6 +165,7 @@ export default {
data() {
return {
visible: false,
moment,
dataForm: {
id: 0,
source: undefined,
@ -223,6 +225,8 @@ export default {
getScrapInfo({ id: this.dataForm.id }).then(res => {
this.dataForm = res.data
})
} else {
this.dataForm.registerTime = this.moment().format('YYYY-MM-DD HH:mm:ss')
}
})
},

View File

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

View File

@ -2,7 +2,7 @@
* @Author: zwq
* @Date: 2020-12-29 15:41:11
* @LastEditors: fzq
* @LastEditTime: 2022-03-10 21:00:58
* @LastEditTime: 2022-03-11 11:14:02
* @Description:
-->
<template>
@ -17,7 +17,7 @@
@getDataList="getList"
@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>
</div>
<base-table
@ -102,11 +102,11 @@ const tableProps = [
label: i18n.t('module.basicData.cache.columnMark'),
align: 'center'
},
{
prop: 'locationType',
label: i18n.t('module.basicData.cache.locationType'),
align: 'center'
},
// {
// prop: 'locationType',
// label: i18n.t('module.basicData.cache.locationType'),
// align: 'center'
// },
{
prop: 'statusName',
label: i18n.t('module.basicData.cache.status'),
@ -147,7 +147,10 @@ export default {
size: 990,
shelfId: '',
id: ''
}
},
sheCode: this.$t('module.basicData.cache.sheCode'),
sheName: this.$t('module.basicData.cache.sheName'),
locaNum: this.$t('module.basicData.cache.locaNum')
}
},
created() {

View File

@ -2,7 +2,7 @@
* @Author: zwq
* @Date: 2020-12-29 16:37:56
* @LastEditors: fzq
* @LastEditTime: 2022-03-10 21:14:13
* @LastEditTime: 2022-03-11 11:03:31
* @Description:
-->
<template>
@ -26,9 +26,9 @@
<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-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-form-item>
</el-form-item> -->
<!-- <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-form-item> -->

View File

@ -1,8 +1,8 @@
<!--
* @Author: zwq
* @Date: 2020-12-29 15:41:11
* @LastEditors: zwq
* @LastEditTime: 2022-03-04 10:56:41
* @LastEditors: gtz
* @LastEditTime: 2022-03-12 14:21:37
* @Description:
-->
<template>
@ -47,6 +47,7 @@
<el-form-item>
<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="publishTask()"> {{ $t('module.basicData.Warehouse.publishTask') | i18nFilter }} </el-button>
</el-form-item>
</el-form>
<base-table
@ -72,6 +73,7 @@
/>
<current-task-info v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getList" />
<current-task-add v-if="manualTaskVisible" ref="manualTaskRef" @refreshDataList="getList" />
<publish-task v-if="publishTaskVisible" ref="publishTask" />
</div>
</template>
@ -79,6 +81,7 @@
import { CurrentTaskList } from '@/api/basicData/Warehouse/HistoricalTask'
import CurrentTaskInfo from './components/CurrentTaskInfo.vue'
import CurrentTaskAdd from './components/CurrentTask-add.vue'
import PublishTask from './components/PublishTask.vue'
import i18n from '@/lang'
import BaseTable from '@/components/BaseTable'
import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
@ -171,12 +174,13 @@ const tableProps = [
export default {
name: 'ScrapInfo',
components: { Pagination, BaseTable, MethodBtn, CurrentTaskInfo, CurrentTaskAdd },
components: { Pagination, BaseTable, MethodBtn, CurrentTaskInfo, CurrentTaskAdd, PublishTask },
data() {
return {
trueWidth: 100,
addOrUpdateVisible: false,
manualTaskVisible: false,
publishTaskVisible: false,
tableProps,
tableBtn,
list: [],
@ -248,6 +252,13 @@ export default {
this.$nextTick(() => {
this.$refs.manualTaskRef.init()
})
},
//
publishTask() {
this.publishTaskVisible = true
this.$nextTick(() => {
this.$refs.publishTask.init()
})
}
}
}

View File

@ -2,7 +2,7 @@
* @Author: zwq
* @Date: 2020-12-29 15:41:11
* @LastEditors: zwq
* @LastEditTime: 2022-03-04 15:45:23
* @LastEditTime: 2022-03-11 10:31:39
* @Description:
-->
<template>
@ -64,7 +64,6 @@ import { list } from '@/api/art-manage/process'
import BaseTable from '@/components/BaseTable'
import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn'
import { timeFormatter } from '@/filters'
import i18n from '@/lang'
/**
* 表格表头配置项 TypeScript接口注释
@ -102,7 +101,6 @@ const tableProps = [
{
prop: 'createTime',
label: i18n.t('module.art.eqName'),
filter: timeFormatter,
align: 'center'
}
]
@ -160,29 +158,23 @@ export default {
})
},
getList() {
// this.listLoading = true
// ExecutionInfoList(this.listQuery).then(response => {
// if (response.data.records) {
// this.list = response.data.records
// } else {
// this.list.splice(0, this.list.length)
// }
// this.total = response.data.total
this.list = [
{
code: 11,
name: '11'
this.listLoading = true
list(this.listQuery).then(response => {
if (response.data.records) {
this.list = response.data.records
} else {
this.list.splice(0, this.list.length)
}
]
this.listLoading = false
// })
this.total = response.data.total
this.listLoading = false
})
},
// /
addNew(id) {
this.$router.push({
name: 'ProcessStorageManagementInfo',
query: {
dictTypeId: id
id
}
})
}

View File

@ -2,7 +2,7 @@
* @Author: zwq
* @Date: 2020-12-29 15:41:11
* @LastEditors: zwq
* @LastEditTime: 2022-03-09 09:57:41
* @LastEditTime: 2022-03-11 16:29:46
* @Description:
-->
<template>
@ -18,20 +18,21 @@
:table-data="list"
:is-loading="listLoading"
>
<method-btn
<!-- <method-btn
slot="handleBtn"
:width="trueWidth"
:method-list="tableBtn"
@clickBtn="handleClick"
/>
/> -->
</base-table>
</div>
</template>
<script>
import { locationByProcessList } from '@/api/basicData/Warehouse/StorageBoxInfo'
import i18n from '@/lang'
import BaseTable from '@/components/BaseTable'
import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn'
// import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn'
import { timeFormatter } from '@/filters'
/**
* 表格表头配置项 TypeScript接口注释
@ -49,12 +50,12 @@ import { timeFormatter } from '@/filters'
*
*/
const tableBtn = [
{
type: 'delete',
btnName: 'btn.delete'
}
]
// const tableBtn = [
// {
// type: 'delete',
// btnName: 'btn.delete'
// }
// ]
const tableProps = [
{
prop: 'code',
@ -76,7 +77,7 @@ const tableProps = [
export default {
name: 'Shelf',
components: { BaseTable, MethodBtn },
components: { BaseTable },
filters: {
statusFilter(status) {
const statusMap = {
@ -89,7 +90,7 @@ export default {
},
data() {
return {
tableBtn,
// tableBtn,
trueWidth: 200,
tableProps,
list: [],
@ -97,12 +98,12 @@ export default {
listQuery: {
current: 1,
size: 990,
areaId: ''
workSequenId: ''
}
}
},
created() {
this.listQuery.areaId = this.$route.query.id
this.listQuery.workSequenId = this.$route.query.id
this.getList()
},
methods: {
@ -126,23 +127,23 @@ export default {
}).catch(() => {})
}
},
getList(key) {
getList() {
this.listLoading = true
// shelfList(this.listQuery).then(response => {
// if (response.data.records) {
// this.list = response.data.records
// } else {
// this.list.splice(0, this.list.length)
// }
this.listLoading = false
// })
locationByProcessList(this.listQuery).then(response => {
if (response.data.records) {
this.list = response.data.records
} else {
this.list.splice(0, this.list.length)
}
this.listLoading = false
})
},
// /
addNew(id) {
addNew() {
this.$router.push({
name: 'ProcessStorageLink',
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
* @Date: 2022-03-03 09:16:10
* @LastEditors: zwq
* @LastEditTime: 2022-03-09 15:17:46
* @LastEditTime: 2022-03-11 16:33:41
* @Description: file content
* @FilePath: \mt-ck-wms-ui\src\views\dashboard\index.vue
-->
@ -38,6 +38,8 @@
<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>
</div>
<div class="dashboard-legend-search">
<el-select
@ -104,7 +106,7 @@
? '#A2A8B5'
: '',
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' : ''
}"
@click="
@ -140,7 +142,7 @@
</el-row>
<div class="dashboard-layout-footer">
{{
"第" + (index + 1) + "排(" + ((current - 1) * 4 + item) + ")"
"第" + bottomIndex[index] + "排(" + ((current - 1) * 4 + item) + ")"
}}
</div>
</el-col>
@ -203,7 +205,7 @@
? '#A2A8B5'
: '',
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' : ''
}"
@click="
@ -270,7 +272,7 @@
? '#A2A8B5'
: '',
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' : ''
}"
@click="
@ -306,7 +308,7 @@
</el-row>
<div class="dashboard-layout-footer">
{{
"第" + (index + 1) + "排(" + ((current - 1) * 4 + item) + ")"
"第" + bottomIndex[index] + "排(" + ((current - 1) * 4 + item) + ")"
}}
</div>
</el-col>
@ -323,6 +325,7 @@
</template>
<script>
import { batchListAdd } from '@/api/basicData/Warehouse/StorageBoxInfo'
import testdata from './testdata'
import processStorageType from './processStorageType'
@ -333,7 +336,7 @@ export default {
return testdata
},
created() {
console.log(this.shelfList)
this.id = this.$route.query.id
this.totalPage = Math.ceil(
this.shelfList[0].rowList[0].portList.length / 80
)
@ -345,8 +348,8 @@ export default {
},
setType(item) {
if (item.attribute !== 3) {
if (this.selectStorageList.findIndex(StorageItem => StorageItem.id === item.id) + 1) {
this.selectStorageList.splice(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.locationId === item.id), 1)
} else {
this.typeVisible = true
this.$nextTick(() => {
@ -355,8 +358,8 @@ export default {
}
}
},
setStorageList(id, dataForm) {
const obj = Object.assign({ id }, dataForm)
setStorageList(locationId, dataForm) {
const obj = Object.assign({ locationId }, dataForm)
this.selectStorageList.push(obj)
},
handleChange(v) {
@ -364,14 +367,32 @@ export default {
},
submitLinkList() {
const tipArr = this.selectStorageList.map(item => {
return item.id
return item.locationId
})
const obj = {
id: 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)
}
})
})
}).catch(() => {})
},
goback() {
this.selectStorageList.splice(0, this.selectStorageList.length)
this.$router.go(-1)
}
}
}

View File

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

View File

@ -2,7 +2,7 @@
* @Author: gtz
* @Date: 2022-03-03 15:47:47
* @LastEditors: zwq
* @LastEditTime: 2022-03-09 13:53:23
* @LastEditTime: 2022-03-11 10:46:18
* @Description: file content
* @FilePath: \mt-ck-wms-ui\src\views\dashboard\testdata.js
*/
@ -2950,6 +2950,8 @@ export default {
},
selectStorageList: [],
typeVisible: false,
id: '',
bottomIndex: ['一', '二'],
current: 1,
totalPage: 1
}

View File

@ -2,7 +2,7 @@
* @Author: gtz
* @Date: 2022-03-03 09:16:10
* @LastEditors: gtz
* @LastEditTime: 2022-03-08 14:34:24
* @LastEditTime: 2022-03-11 09:06:18
* @Description: file content
* @FilePath: \mt-ck-wms-ui\src\views\dashboard\index.vue
-->
@ -41,7 +41,7 @@
</el-col>
</el-row>
<div class="dashboard-layout-footer">
{{ '第' + (index + 1) + '排(' + ((current - 1) * 4 + item) + ')' }}
{{ '第' + rowIndex[index] + '排(' + ((current - 1) * 4 + item) + ')' }}
</div>
</el-col>
</el-row>
@ -68,7 +68,7 @@
</el-col>
</el-row>
<div class="dashboard-layout-footer">
{{ '第' + (index + 1) + '排(' + ((current - 1) * 4 + item) + ')' }}
{{ '第' + rowIndex[index] + '排(' + ((current - 1) * 4 + item) + ')' }}
</div>
</el-col>
</el-row>

View File

@ -2,7 +2,7 @@
* @Author: gtz
* @Date: 2022-03-03 15:47:47
* @LastEditors: gtz
* @LastEditTime: 2022-03-07 20:41:47
* @LastEditTime: 2022-03-11 09:05:55
* @Description: file content
* @FilePath: \mt-ck-wms-ui\src\views\dashboard\testdata.js
*/
@ -2949,5 +2949,6 @@ export default {
4: '#FFA08F'
},
current: 1,
totalPage: 1
totalPage: 1,
rowIndex: ['一', '二']
}

View File

@ -2,7 +2,7 @@
* @Author: zwq
* @Date: 2020-12-29 16:37:56
* @LastEditors: zwq
* @LastEditTime: 2022-03-09 16:43:01
* @LastEditTime: 2022-03-11 09:05:38
* @Description:
-->
<template>
@ -40,6 +40,11 @@
<el-input v-model="dataForm.priority" :placeholder="$t('module.basicData.Warehouse.Priority')" readonly :style="{width: '100%'}" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('module.basicData.Warehouse.CompletionTime')" prop="finishProduceTime">
<el-input v-model="dataForm.finishProduceTime" :placeholder="$t('module.basicData.Warehouse.CompletionTime')" readonly :style="{width: '100%'}" />
</el-form-item>
</el-col>
</el-row>
</el-col>
<el-col :span="8">
@ -64,6 +69,11 @@
<el-input v-model="dataForm.triggerOrigin" :placeholder="$t('module.basicData.Warehouse.triggerOrigin')" readonly :style="{width: '100%'}" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('module.basicData.Warehouse.ProcessOrNot')" prop="ProcessOrNot">
<el-input v-model="dataForm.ProcessOrNot" :placeholder="$t('module.basicData.Warehouse.ProcessOrNot')" readonly :style="{width: '100%'}" />
</el-form-item>
</el-col>
</el-row>
</el-col>
<el-col :span="8">
@ -117,6 +127,7 @@ export default {
priority: '',
actualQuantity: '',
startProduceTime: '',
finishProduceTime: '',
scrapQuantity: '',
triggerOrigin: '',
type: '',
@ -140,6 +151,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.ProcessOrNot = res.data.processId ? '是' : '否'
this.dataForm = res.data
})
}

View File

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