This commit is contained in:
Fanzink 2022-03-13 14:45:13 +08:00
commit 4263eb79a0
17 changed files with 288 additions and 108 deletions

View File

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

View File

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

View File

@ -1,8 +1,13 @@
/* /*
* @Author: gtz * @Author: gtz
* @Date: 2021-03-04 16:13:51 * @Date: 2021-03-04 16:13:51
<<<<<<< HEAD
* @LastEditors: fzq * @LastEditors: fzq
* @LastEditTime: 2022-03-11 11:13:47 * @LastEditTime: 2022-03-11 11:13:47
=======
* @LastEditors: gtz
* @LastEditTime: 2022-03-12 14:22:52
>>>>>>> develop
* @Description: file content * @Description: file content
*/ */
export default { export default {
@ -259,7 +264,7 @@ export default {
entryType: 'Manual/Automatic', entryType: 'Manual/Automatic',
automatic: 'automatic', automatic: 'automatic',
manual: 'Manual', manual: 'Manual',
workOrderId: 'workOrderId' workOrderName: 'Work Order Name'
}, },
productPool: { productPool: {
productName: 'Product Name', productName: 'Product Name',
@ -347,6 +352,10 @@ export default {
PerformTaskManual: 'Perform Task Manual', PerformTaskManual: 'Perform Task Manual',
processStorageLink: 'Process Storage Link', processStorageLink: 'Process Storage Link',
SelectStorageType: 'Select Storage Type', SelectStorageType: 'Select Storage Type',
LocationStorageSetting: 'Location Storage Setting' LocationStorageSetting: 'Location Storage Setting',
publishTask: 'Publish The Task',
startPosition: 'Start',
endPosition: 'End',
taskType: 'Task Type'
} }
} }

View File

@ -1,9 +1,14 @@
/* /*
* @Author: gtz * @Author: gtz
* @Date: 2021-03-04 16:13:51 * @Date: 2021-03-04 16:13:51
<<<<<<< HEAD
* @LastEditors: fzq * @LastEditors: fzq
* @LastEditTime: 2022-03-11 11:13:22 * @LastEditTime: 2022-03-11 11:13:22
* @Description: file content * @Description: file content
=======
* @LastEditors: gtz
* @LastEditTime: 2022-03-12 14:23:06
>>>>>>> develop
*/ */
export default { export default {
visual: { visual: {
@ -252,7 +257,7 @@ export default {
entryType: '手动/自动', entryType: '手动/自动',
automatic: '自动', automatic: '自动',
manual: '手动', manual: '手动',
workOrderId: '工单名称' workOrderName: '工单名称'
}, },
processLocation: { processLocation: {
sequence: '顺序', sequence: '顺序',
@ -354,6 +359,10 @@ export default {
PerformTaskManual: '手动执行任务', PerformTaskManual: '手动执行任务',
processStorageLink: '工序关联库位', processStorageLink: '工序关联库位',
SelectStorageType: '选择库位类型', SelectStorageType: '选择库位类型',
LocationStorageSetting: '库位存储箱设置' LocationStorageSetting: '库位存储箱设置',
publishTask: '发布任务',
startPosition: '起点',
endPosition: '终点',
taskType: '任务类型'
} }
} }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -2,7 +2,7 @@
* @Author: gtz * @Author: gtz
* @Date: 2022-03-03 09:16:10 * @Date: 2022-03-03 09:16:10
* @LastEditors: zwq * @LastEditors: zwq
* @LastEditTime: 2022-03-09 15:17:46 * @LastEditTime: 2022-03-11 16:33:41
* @Description: file content * @Description: file content
* @FilePath: \mt-ck-wms-ui\src\views\dashboard\index.vue * @FilePath: \mt-ck-wms-ui\src\views\dashboard\index.vue
--> -->
@ -38,6 +38,8 @@
<el-button type="primary" size="mini" @click="submitLinkList">{{ <el-button type="primary" size="mini" @click="submitLinkList">{{
"btn.submit" | i18nFilter "btn.submit" | i18nFilter
}}</el-button> }}</el-button>
<el-button type="warning" size="mini" @click="init()">{{ 'btn.reset' | i18nFilter }}</el-button>
<el-button type="success" size="mini" @click="goback()">{{ 'btn.back' | i18nFilter }}</el-button>
</div> </div>
<div class="dashboard-legend-search"> <div class="dashboard-legend-search">
<el-select <el-select
@ -104,7 +106,7 @@
? '#A2A8B5' ? '#A2A8B5'
: '', : '',
border: border:
selectStorageList.some(StorageItem=>StorageItem.id===z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].id) selectStorageList.some(StorageItem=>StorageItem.locationId===z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].id)
? '1px solid red' : '' ? '1px solid red' : ''
}" }"
@click=" @click="
@ -140,7 +142,7 @@
</el-row> </el-row>
<div class="dashboard-layout-footer"> <div class="dashboard-layout-footer">
{{ {{
"第" + (index + 1) + "排(" + ((current - 1) * 4 + item) + ")" "第" + bottomIndex[index] + "排(" + ((current - 1) * 4 + item) + ")"
}} }}
</div> </div>
</el-col> </el-col>
@ -203,7 +205,7 @@
? '#A2A8B5' ? '#A2A8B5'
: '', : '',
border: border:
selectStorageList.some(StorageItem=>StorageItem.id===z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].id) selectStorageList.some(StorageItem=>StorageItem.locationId===z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].id)
? '1px solid red' : '' ? '1px solid red' : ''
}" }"
@click=" @click="
@ -270,7 +272,7 @@
? '#A2A8B5' ? '#A2A8B5'
: '', : '',
border: border:
selectStorageList.some(StorageItem=>StorageItem.id===z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].id) selectStorageList.some(StorageItem=>StorageItem.locationId===z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].id)
? '1px solid red' : '' ? '1px solid red' : ''
}" }"
@click=" @click="
@ -306,7 +308,7 @@
</el-row> </el-row>
<div class="dashboard-layout-footer"> <div class="dashboard-layout-footer">
{{ {{
"第" + (index + 1) + "排(" + ((current - 1) * 4 + item) + ")" "第" + bottomIndex[index] + "排(" + ((current - 1) * 4 + item) + ")"
}} }}
</div> </div>
</el-col> </el-col>
@ -323,6 +325,7 @@
</template> </template>
<script> <script>
import { batchListAdd } from '@/api/basicData/Warehouse/StorageBoxInfo'
import testdata from './testdata' import testdata from './testdata'
import processStorageType from './processStorageType' import processStorageType from './processStorageType'
@ -333,7 +336,7 @@ export default {
return testdata return testdata
}, },
created() { created() {
console.log(this.shelfList) this.id = this.$route.query.id
this.totalPage = Math.ceil( this.totalPage = Math.ceil(
this.shelfList[0].rowList[0].portList.length / 80 this.shelfList[0].rowList[0].portList.length / 80
) )
@ -345,8 +348,8 @@ export default {
}, },
setType(item) { setType(item) {
if (item.attribute !== 3) { if (item.attribute !== 3) {
if (this.selectStorageList.findIndex(StorageItem => StorageItem.id === item.id) + 1) { if (this.selectStorageList.findIndex(StorageItem => StorageItem.locationId === item.id) + 1) {
this.selectStorageList.splice(this.selectStorageList.findIndex(StorageItem => StorageItem.id === item.id), 1) this.selectStorageList.splice(this.selectStorageList.findIndex(StorageItem => StorageItem.locationId === item.id), 1)
} else { } else {
this.typeVisible = true this.typeVisible = true
this.$nextTick(() => { this.$nextTick(() => {
@ -355,8 +358,8 @@ export default {
} }
} }
}, },
setStorageList(id, dataForm) { setStorageList(locationId, dataForm) {
const obj = Object.assign({ id }, dataForm) const obj = Object.assign({ locationId }, dataForm)
this.selectStorageList.push(obj) this.selectStorageList.push(obj)
}, },
handleChange(v) { handleChange(v) {
@ -364,14 +367,32 @@ export default {
}, },
submitLinkList() { submitLinkList() {
const tipArr = this.selectStorageList.map(item => { 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'), { this.$confirm(`${this.$t('module.basicData.visual.TipsStorageBefore')}[${tipArr.join(',')}]?`, this.$t('module.basicData.visual.Tips'), {
confirmButtonText: this.$t('module.basicData.visual.confirmButtonText'), confirmButtonText: this.$t('module.basicData.visual.confirmButtonText'),
cancelButtonText: this.$t('module.basicData.visual.cancelButtonText'), cancelButtonText: this.$t('module.basicData.visual.cancelButtonText'),
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
batchListAdd(obj).then(res => {
this.$message({
message: this.$t('module.basicData.visual.success'),
type: 'success',
duration: 1500,
onClose: () => {
this.selectStorageList.splice(0, this.selectStorageList.length)
}
})
})
}).catch(() => {}) }).catch(() => {})
},
goback() {
this.selectStorageList.splice(0, this.selectStorageList.length)
this.$router.go(-1)
} }
} }
} }

View File

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

View File

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

View File

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

View File

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

View File

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