人工组盘

This commit is contained in:
2024-06-19 13:17:31 +08:00
parent 7a1bf8b150
commit 78ac83961e
6 changed files with 159 additions and 2 deletions

View File

@@ -192,3 +192,17 @@ export const createP2PTask = (scode, ecode) => post('api/pda/createP2PTask', {
start_point_code: scode,
end_point_code: ecode
})
/**
* 人工组盘
*/
// 点位下拉框
export const getAllYZList = () => post('api/pda/getAllYZList', {})
// 人工组盘
export const pdaToGroup = (code, vcode, qty, weight, is) => post('api/pda/pdaToGroup', {
point_code: code,
vehicle_code: vcode,
qty: qty,
weight: weight,
is_full: is
})

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@@ -14,7 +14,7 @@ import { Dialog, toast } from '@config/mUtils.js'
import filter from '@config/filter.js'
import { baseUrl } from '@config/env.js'
// import Vconsole from 'vconsole'
import { Select, Option, RadioGroup, Radio } from 'element-ui'
import { Select, Option, RadioGroup, Radio, Switch } from 'element-ui'
import JSEncrypt from 'jsencrypt'
Vue.prototype._ = _
@@ -34,6 +34,7 @@ Vue.use(Select)
Vue.use(Option)
Vue.use(RadioGroup)
Vue.use(Radio)
Vue.use(Switch)
// let VConsole = new Vconsole()
// Vue.use(VConsole)
Vue.config.productionTip = false

View File

@@ -69,7 +69,8 @@ export default {
{sec_menu_id: 2, path: '/PointManage', title: '窑前货架', query: 'YQHJ'},
{sec_menu_id: 3, path: '/PointManage', title: '窑后货架', query: 'YHHJ'}
]},
{menu_id: 12, path: '/CallCarry', title: '呼叫搬运', icon: 'FR12', sonTree: []}
{menu_id: 12, path: '/CallCarry', title: '呼叫搬运', icon: 'FR12', sonTree: []},
{menu_id: 13, path: '/ManualGroup', title: '人工组盘', icon: 'FR13', sonTree: []}
],
show: false,
secM: []

View File

@@ -0,0 +1,136 @@
<template>
<section>
<nav-bar title="人工组盘"></nav-bar>
<section class="content mgt186">
<div class="filter-wraper">
<div class="bottom-filter-tip">
<div class="filter-label txtjustify">压机下料位</div>
<div class="fxcol mgl20 visible" >
<dropdown-menu
:option="option"
:active="active"
:open="open"
@toggleItem="toggleItem"
@dropdownMenu="dropdownMenu">
</dropdown-menu>
</div>
</div>
<search-box
label="载具"
v-model="val1"
:seaShow="false"
></search-box>
<div class="bottom-filter-tip">
<div class="filter-label txtjustify">物料数量</div>
<div class="fxcol mgl20">
<input class="filter-input filter-scan-input" type="number" v-model="val2">
</div>
</div>
<div class="bottom-filter-tip">
<div class="filter-label txtjustify">物料重量</div>
<div class="fxcol mgl20">
<input class="filter-input filter-scan-input" type="number" v-model="val3">
</div>
</div>
<div class="bottom-filter-tip">
<div class="filter-label txtjustify">是否满垛</div>
<div class="fxcol mgl20">
<el-switch
v-model="val4"
active-color="#e74f1a"
inactive-color="#c9c9c9">
</el-switch>
</div>
</div>
</div>
</section>
<section class="submit-bar">
<button class="btn submit-button" :class="{'btn-disabled' : active === '' || val1 === '' || val2 === '' || val3 === ''}" :disabled="disabled" @click="_pdaToGroup">确定</button>
<button class="btn submit-button" @click="toCancle">取消</button>
</section>
</section>
</template>
<script>
import NavBar from '@components/NavBar.vue'
import SearchBox from '@components/SearchBox.vue'
import DropdownMenu from '@components/DropdownMenu.vue'
import {getAllYZList, pdaToGroup} from '@config/getData2'
export default {
components: {
NavBar,
DropdownMenu,
SearchBox
},
data () {
return {
option: [],
active: '',
open: false,
val1: '',
val2: null,
val3: null,
val4: false,
disabled: false
}
},
created () {
this._getAllYZList()
},
methods: {
/** 查询点位 */
async _getAllYZList () {
let res = await getAllYZList()
if (res.code === '1') {
this.option = [...res.result]
this.option.map(el => {
this.$set(el, 'value', el.point_code)
this.$set(el, 'label', el.point_name)
})
} else {
this.Dialog(res.desc)
}
},
toggleItem () {
if (!this.open) {
this.open = true
} else {
this.open = false
}
},
dropdownMenu (i) {
this.active = i + ''
this.open = false
},
/** 确认 */
async _pdaToGroup () {
this.disabled = true
if (this.val1 === '' || this.val2 === '' || this.val3 === '' || this.active === '') {
this.disabled = false
return
}
try {
let res = await pdaToGroup(this.option[this.active].value, this.val1, this.val2, this.val3, this.val4 ? '1' : '0')
if (res.code === '1') {
this.toast(res.desc)
this.toCancle()
} else {
this.Dialog(res.desc)
}
this.disabled = false
} catch (e) {
this.disabled = false
}
},
/** 取消 */
toCancle () {
this.active = ''
this.val1 = ''
this.val2 = ''
this.val3 = ''
this.val4 = false
this.disabled = false
}
}
}
</script>

View File

@@ -21,6 +21,7 @@ const CreateChargingTask = r => require.ensure([], () => r(require('../pages/pro
const ManualUnstack = r => require.ensure([], () => r(require('../pages/proj/ManualUnstack')), 'ManualUnstack')
const PointManage = r => require.ensure([], () => r(require('../pages/proj/PointManage')), 'PointManage')
const CallCarry = r => require.ensure([], () => r(require('../pages/proj/CallCarry')), 'CallCarry')
const ManualGroup = r => require.ensure([], () => r(require('../pages/proj/ManualGroup')), 'ManualGroup')
Vue.use(Router)
@@ -112,6 +113,10 @@ export default new Router({
{
path: '/CallCarry', // 呼叫搬运
component: CallCarry
},
{
path: '/ManualGroup', // 人工组盘
component: ManualGroup
}
],
scrollBehavior (to, from, savedPosition) {