下拉框
This commit is contained in:
@@ -1,7 +1,11 @@
|
||||
<template>
|
||||
<div class="dropdown-menu" :class="{'toggle_disabled': disabled === true}" ref="elemId">
|
||||
<div v-if="inputed === false" class="fxrow dropdown-menu__item" @click="toggleItem">
|
||||
<span class="dropdown-menu__title" :class="{'dropdown-menu__title_up': up === true,'dropdown-menu__title--active': open === true,'dropdown-menu__title--active_up': up === true && open === true}"><div class="ellipsis chose_T">{{active === '' ? '请选择' : option[active].label}}</div></span>
|
||||
<div v-if="inputed === false" class="dropdown-menu__item dropdown-menu__item_1">
|
||||
<div class="dropdown-menu__title" :class="{'dropdown-menu__title_up': up === true,'dropdown-menu__title--active': open === true,'dropdown-menu__title--active_up': up === true && open === true}" @click="toggleItem">
|
||||
<div class="ellipsis chose_T">{{active === '' ? '请选择' : option[active].label}}</div>
|
||||
<div class="iconfont dropdown_icon"></div>
|
||||
</div>
|
||||
<div v-show="active !== '' && cancleShow === true" class="iconfont error_icon" @click="cancleDropdown"></div>
|
||||
</div>
|
||||
<div v-if="inputed === true" class="fxrow dropdown-menu__item dropdown-menu__item_2">
|
||||
<input
|
||||
@@ -10,15 +14,18 @@
|
||||
class="fxcol drop_input"
|
||||
:value="value"
|
||||
@input="handleChange($event)">
|
||||
<span class="fxcol dropdown-menu__title dropdown-menu__title_2" :class="{'dropdown-menu__title_up': up === true,'dropdown-menu__title--active': open === true,'dropdown-menu__title--active_up': up === true && open === true}" @click="toggleItem"><div class="ellipsis"> </div></span>
|
||||
<span class="fxcol dropdown-menu__title dropdown-menu__title_2" :class="{'dropdown-menu__title_up': up === true,'dropdown-menu__title--active': open === true,'dropdown-menu__title--active_up': up === true && open === true}" @click="toggleItem">
|
||||
<div class="ellipsis"> </div>
|
||||
<div class="iconfont dropdown_icon"></div>
|
||||
</span>
|
||||
</div>
|
||||
<div v-show="open" class="dropdown-item" :style="up === false ? 'top: .9rem' : 'bottom: .9rem'">
|
||||
<div v-show="open" class="dropdown-item" :style="up === false ? 'top:' + gap : 'bottom:' + gap">
|
||||
<div ref="dropdown" class="dropdown-item__content">
|
||||
<div v-show="option.length > 0" v-for="(e, i) in option" :key="e.value" @click="$emit('dropdownMenu', i)" class="fxrow dropdown-item__option dropdown-item__option--active">
|
||||
<div v-show="option.length > 0" v-for="(e, i) in option" :key="e.value" @click="$emit('dropdownMenu', i)" class="fxrow dropdown-item__option dropdown-item__option--active" :style="{height: gap, lineHeight: gap}">
|
||||
<div class="cell__title" :class="{'cell__title--active': i + '' === active}"><span>{{e.label}}</span></div>
|
||||
<div class="iconfont check_icon" :class="{'check_icon--checked': i + '' === active}"></div>
|
||||
</div>
|
||||
<div v-show="option.length === 0" class="fxrow dropdown-item__option dropdown-item__option--active" @click="handleBlur">
|
||||
<div v-show="option.length === 0" class="fxrow dropdown-item__option dropdown-item__option--active" :style="{height: gap, lineHeight: gap}" @click="handleBlur">
|
||||
<div class="cell__title"><span>无匹配数据</span></div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -49,24 +56,43 @@ export default {
|
||||
inputed: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
gap: {
|
||||
type: String,
|
||||
default: '.9rem'
|
||||
},
|
||||
autoHeight: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
cancleShow: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
toggleItem () {
|
||||
let cheight = document.body.clientHeight
|
||||
let bottom = this.$refs.elemId.getBoundingClientRect().bottom
|
||||
if (!this.autoHeight) {
|
||||
this.$refs.dropdown.style.maxHeight = (cheight - bottom - 20) + 'px'
|
||||
}
|
||||
this.$emit('toggleItem')
|
||||
},
|
||||
handleChange ($event) {
|
||||
let cheight = document.body.clientHeight
|
||||
let bottom = this.$refs.elemId.getBoundingClientRect().bottom
|
||||
if (!this.autoHeight) {
|
||||
this.$refs.dropdown.style.maxHeight = (cheight - bottom - 20) + 'px'
|
||||
}
|
||||
this.$emit('input', $event.target.value)
|
||||
this.$emit('handleChange', $event.target.value)
|
||||
},
|
||||
handleBlur () {
|
||||
this.$emit('handleBlur')
|
||||
},
|
||||
cancleDropdown () {
|
||||
this.$emit('cancleDropdown')
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -121,6 +147,8 @@ export default {
|
||||
justify-content center
|
||||
height inherit
|
||||
width 100%
|
||||
.dropdown-menu__item_1
|
||||
_fj()
|
||||
.dropdown-menu__item_2
|
||||
align-items flex-start
|
||||
.drop_input
|
||||
@@ -132,23 +160,24 @@ export default {
|
||||
line-height .86rem
|
||||
.dropdown-menu__title
|
||||
position relative
|
||||
width 100%
|
||||
padding 0 .15rem
|
||||
width calc(100% - .5rem)
|
||||
padding-left .15rem
|
||||
color #606266
|
||||
font-size .3rem
|
||||
line-height .44rem
|
||||
width 100%
|
||||
display block
|
||||
&::after
|
||||
position absolute
|
||||
top 50%
|
||||
right .16rem
|
||||
margin-top -.1rem
|
||||
border .06rem solid
|
||||
border-color transparent transparent #606266 #606266
|
||||
transform rotate(-45deg)
|
||||
opacity 0.8
|
||||
content ''
|
||||
_fj()
|
||||
// display block
|
||||
// &::after
|
||||
// position absolute
|
||||
// top 50%
|
||||
// right .16rem
|
||||
// margin-top -.1rem
|
||||
// border .06rem solid
|
||||
// border-color transparent transparent #606266 #606266
|
||||
// transform rotate(-45deg)
|
||||
// opacity 0.8
|
||||
// content ''
|
||||
.dropdown-menu__title_2
|
||||
line-height .9rem
|
||||
max-width 1.4rem
|
||||
@@ -186,14 +215,14 @@ export default {
|
||||
transition transform 0.3s
|
||||
.dropdown-item__option
|
||||
width 100%
|
||||
height .9rem
|
||||
// height .9rem
|
||||
padding 0 .15rem
|
||||
overflow hidden
|
||||
.cell__title
|
||||
height .9rem
|
||||
height inherit
|
||||
overflow hidden
|
||||
span
|
||||
_font(.3rem, .9rem, #606266)
|
||||
_font(.3rem, inherit, #606266)
|
||||
.cell__title--active span
|
||||
color $red
|
||||
.toggle_disabled
|
||||
@@ -208,4 +237,19 @@ export default {
|
||||
.chose_T
|
||||
width 100%
|
||||
overflow hidden
|
||||
.top
|
||||
top .9rem
|
||||
.bottom
|
||||
top .9rem
|
||||
.dropdown_icon
|
||||
font-size .25rem
|
||||
color #dcdfe6
|
||||
.error_icon
|
||||
width .3rem
|
||||
height .3rem
|
||||
font-size .25rem
|
||||
line-height .3rem
|
||||
color #dcdfe6
|
||||
border .01rem solid #dcdfe6
|
||||
margin-right .15rem
|
||||
</style>
|
||||
|
||||
@@ -1,71 +1,28 @@
|
||||
import {post, post2} from '@config/http.js'
|
||||
import {post2} from '@config/http.js'
|
||||
// import store from '../vuex/store'
|
||||
|
||||
// 指令管理
|
||||
// 1.1 查询未完成指令
|
||||
export const queryInstraction = (keyword, scode, ncode) => post2('api/ash/hand/insts', {
|
||||
export const queryInstraction = (keyword, scode, ncode) => post2('api/hand/insts', {
|
||||
keyword: keyword,
|
||||
start_devicecode: scode,
|
||||
next_devicecode: ncode
|
||||
})
|
||||
// 1.2 指令操作
|
||||
export const instOperation = (uuid, type) => post2('api/ash/hand/inst', {
|
||||
export const instOperation = (uuid, type) => post2('api/hand/inst', {
|
||||
inst_uuid: uuid,
|
||||
type: type
|
||||
})
|
||||
|
||||
// 任务管理
|
||||
// 1.1 查询未完成指令
|
||||
export const queryTask = (keyword, scode, ncode) => post2('api/ash/hand/tasks', {
|
||||
export const queryTask = (keyword, scode, ncode) => post2('api/hand/tasks', {
|
||||
keyword: keyword,
|
||||
start_devicecode: scode,
|
||||
next_devicecode: ncode
|
||||
})
|
||||
// 1.2 指令操作
|
||||
export const taskOperation = (uuid, type) => post2('api/ash/hand/taskoperation', {
|
||||
export const taskOperation = (uuid, type) => post2('api/hand/taskoperation', {
|
||||
inst_uuid: uuid,
|
||||
type: type
|
||||
})
|
||||
|
||||
// 送料
|
||||
// 1.1查询工序设备点位
|
||||
export const sendMaterialqueryDevice = () => post('api/pda/sendMaterial/queryDevice', {})
|
||||
// 1.2压制叫料确定
|
||||
export const sendMaterialconfirm = (wid, did, pid, pcode, qty, vcode, isfull) => post('api/pda/sendMaterial/confirm', {
|
||||
workprocedure_id: wid,
|
||||
device_id: did,
|
||||
point_id: pid,
|
||||
point_code: pcode,
|
||||
qty: qty,
|
||||
vehicle_code: vcode,
|
||||
is_full: isfull
|
||||
})
|
||||
|
||||
// 压制叫料
|
||||
// 1.1查询点位
|
||||
export const callMaterialqueryPoint = () => post('api/pda/callMaterial/queryPoint', {})
|
||||
// 1.2压制叫料确定
|
||||
export const callMaterialconfirm = (pid, pcode, pname, isfull, id, code, mname) => post('api/pda/callMaterial/confirm', {
|
||||
point_id: pid,
|
||||
point_code: pcode,
|
||||
point_name: pname,
|
||||
is_full: isfull,
|
||||
material_id: id,
|
||||
material_code: code,
|
||||
material_name: mname
|
||||
})
|
||||
|
||||
// 送空托盘
|
||||
// 1.1查询区域
|
||||
export const sendEmptyqueryArea = () => post('api/pda/sendEmpty/queryArea', {})
|
||||
// 1.2根据区域查询点位
|
||||
export const sendEmptyqueryPointByArea = (acode) => post('api/pda/sendEmpty/queryPointByArea', {
|
||||
area_code: acode
|
||||
})
|
||||
// 1.3 送空托盘确定
|
||||
export const sendEmptyconfirm = (pid, pcode, pname, vcode) => post('api/pda/sendEmpty/confirm', {
|
||||
point_id: pid,
|
||||
point_code: pcode,
|
||||
point_name: pname,
|
||||
vehicle_code: vcode
|
||||
})
|
||||
|
||||
@@ -5,76 +5,62 @@ export const loginApi = (user, password) => post('api/pda/login', {
|
||||
username: user,
|
||||
password: password
|
||||
})
|
||||
|
||||
// 手持登陆查询菜单权限
|
||||
export const authority = (id) => post('api/pda/authority', {
|
||||
accountId: id
|
||||
})
|
||||
// 修改密码
|
||||
export const updatePass = (Rfold, Rfnew) => post('api/pda/updatePass', {
|
||||
RfoldPass: Rfold,
|
||||
RfnewPass: Rfnew
|
||||
|
||||
// 查询区域
|
||||
// export const pdaRegion = (func) => post('api/pda/region', {
|
||||
// func: func
|
||||
// })
|
||||
export const pdaRegion = (func) => {
|
||||
let res = {
|
||||
code: '1',
|
||||
result: [{region_code: '1', region_name: 'aa'}, {region_code: '2', region_name: 'bb'}, {region_code: '3', region_name: 'cc'}]
|
||||
}
|
||||
return res
|
||||
}
|
||||
// 根据区域查询点位
|
||||
// export const pdaPoint = (func, code) => post('api/pda/point', {
|
||||
// func: func,
|
||||
// region_code: code
|
||||
// })
|
||||
export const pdaPoint = (func, code) => {
|
||||
let res = {
|
||||
code: '1',
|
||||
result: [{point_code: '1', point_name: 'aa'}, {point_code: '2', point_name: 'bb'}, {point_code: '3', point_name: 'cc'}]
|
||||
}
|
||||
return res
|
||||
}
|
||||
// 查询设备
|
||||
// export const pdaDevice = (func) => post('api/pda/device', {
|
||||
// func: func
|
||||
// })
|
||||
export const pdaDevice = (func) => {
|
||||
let res = {
|
||||
code: '1',
|
||||
result: [{device_code: '1', device_name: 'aa'}, {device_code: '2', device_name: 'bb'}, {device_code: '3', device_name: 'cc'}]
|
||||
}
|
||||
return res
|
||||
}
|
||||
// 不合格品上报
|
||||
export const pdaReport = (code, qty) => post('api/pda/report', {
|
||||
device_code: code,
|
||||
unqualified_qty: qty
|
||||
})
|
||||
|
||||
/** 呼叫空托盘 */
|
||||
// 1.1查询区域
|
||||
export const queryArea = () => post('api/pda/callEmpty/queryArea', {})
|
||||
// 1.2根据区域查询点位
|
||||
export const queryPointByArea = (code) => post('api/pda/callEmpty/queryPointByArea', {
|
||||
area_code: code
|
||||
})
|
||||
// 1.3 呼叫空托盘确定
|
||||
export const callEmptyConfirm = (id, code, pname, acode) => post('api/pda/callEmpty/confirm', {
|
||||
point_id: id,
|
||||
point_code: code,
|
||||
point_name: pname,
|
||||
area_code: acode
|
||||
})
|
||||
|
||||
/** 托盘点位绑定 */
|
||||
// 1.1查询区域
|
||||
export const queryArea1 = () => post('api/pda/sendEmpty/queryArea', {})
|
||||
// 1.2根据区域查询点位
|
||||
export const queryPointByArea1 = (code) => post('api/pda/sendEmpty/queryPointByArea', {
|
||||
area_code: code
|
||||
})
|
||||
// 1.2托盘点位绑定确认
|
||||
export const bindingConfirm = (code, vcode, status, is) => post('api/pda/binding/confirm', {
|
||||
// 送料
|
||||
export const sendMaterial = (code, vcode, qty, weight, is) => post('api/pda/sendMaterial', {
|
||||
point_code: code,
|
||||
vehicle_code: vcode,
|
||||
point_status: status,
|
||||
is_lock: is
|
||||
qty: qty,
|
||||
weight: weight,
|
||||
is_full: is
|
||||
})
|
||||
|
||||
/** 盘点管理 */
|
||||
// 1.1查询物料
|
||||
export const queryMaterial = (page, size) => post('api/pda/check/queryMaterial', {
|
||||
page: page,
|
||||
size: size
|
||||
})
|
||||
// 1.2查询盘点单据
|
||||
export const queryIvt = (suuid, tuuid, page, size) => post('api/pda/check/queryIvt', {
|
||||
sect_uuid: suuid,
|
||||
struct_uuid: tuuid,
|
||||
page: page,
|
||||
size: size
|
||||
})
|
||||
// 1.3盘点确定
|
||||
export const checkConfirm = (arr) => post('api/pda/check/confirm', {
|
||||
JSONarray: arr
|
||||
})
|
||||
// 1.4查询库区
|
||||
export const querySectCode = () => post('api/pda/check/querySectCode', {})
|
||||
// 1.5查询仓位
|
||||
export const queryStructCode = (uuid) => post('api/pda/check/queryStructCode', {
|
||||
sect_uuid: uuid
|
||||
})
|
||||
|
||||
/** 液压机出库 */
|
||||
// 1.1查询点位
|
||||
export const queryPoint = () => post('api/pda/pressure/queryPoint', {})
|
||||
// 1.5查询仓位
|
||||
export const pressureConfirm = (id, code, pname) => post('api/pda/pressure/confirm', {
|
||||
point_id: id,
|
||||
point_code: code,
|
||||
point_name: pname
|
||||
// 叫料
|
||||
export const callMaterial = (code) => post('api/pda/callMaterial', {
|
||||
point_code: code
|
||||
})
|
||||
|
||||
@@ -55,11 +55,7 @@ export const post = (sevmethod, params) => {
|
||||
.then(response => {
|
||||
resolve(response.data)
|
||||
}, error => {
|
||||
if (error.message === null) {
|
||||
Dialog('null')
|
||||
} else {
|
||||
Dialog(error.message)
|
||||
}
|
||||
reject(error.message)
|
||||
})
|
||||
.catch((error) => {
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
import axios from 'axios'
|
||||
import { Dialog } from './mUtils.js'
|
||||
import store from '../vuex/store'
|
||||
|
||||
axios.defaults.timeout = 50000
|
||||
axios.defaults.headers.post['Content-Type'] = 'application/json;charset=UTF-8'
|
||||
|
||||
axios.interceptors.request.use(
|
||||
config => {
|
||||
if (config.method === 'post') {
|
||||
if (!config.data.flag) {
|
||||
config.data = config.data
|
||||
} else {
|
||||
config.data = config.data.formData
|
||||
}
|
||||
}
|
||||
return config
|
||||
},
|
||||
error => {
|
||||
Dialog('错误的传参')
|
||||
return Promise.reject(error)
|
||||
}
|
||||
)
|
||||
|
||||
axios.interceptors.response.use(
|
||||
response => {
|
||||
return Promise.resolve(response)
|
||||
},
|
||||
error => {
|
||||
return Promise.reject(error)
|
||||
}
|
||||
)
|
||||
|
||||
export const post = (sevmethod, params) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
axios.post(`${store.getters.acsUrl}/` + sevmethod, params)
|
||||
.then(response => {
|
||||
resolve(response.data)
|
||||
}, error => {
|
||||
reject(error.message)
|
||||
})
|
||||
.catch((error) => {
|
||||
reject(error)
|
||||
})
|
||||
})
|
||||
}
|
||||
@@ -16,16 +16,11 @@
|
||||
<div class="con">
|
||||
<ul>
|
||||
<!-- <li v-for="e in menuList" :key="e.menu_id" @click="toPage(e)">{{e.name}}</li> -->
|
||||
<li @click="goInner('/ZlManage')">指令管理</li>
|
||||
<li @click="goInner('/TaskManage')">任务管理</li>
|
||||
<li @click="goInner('/SendMater')">送料</li>
|
||||
<li @click="goInner('/PressCallMater')">压制叫料</li>
|
||||
<li @click="goInner('/SendEmptyPallet')">送空托盘</li>
|
||||
<li @click="goInner('/CallEmptyPallet')">呼叫空托盘</li>
|
||||
<li @click="goInner('/MechineOutstore')">液压机出库</li>
|
||||
<li @click="goInner('/BindPalletPoint')">托盘点位绑定</li>
|
||||
<li @click="goInner('/CheckManage')">盘点管理</li>
|
||||
<li @click="goInner('/Password')">修改密码</li>
|
||||
<li @click="goInner('/zlmanage')">指令管理</li>
|
||||
<li @click="goInner('/taskmanage')">任务管理</li>
|
||||
<li @click="goInner('/belowgradereport')">不合格品上报</li>
|
||||
<li @click="goInner('/sendmater')">送料</li>
|
||||
<li @click="goInner('/callmater')">叫料</li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
154
src/pages/proj/BelowGradeReport.vue
Normal file
154
src/pages/proj/BelowGradeReport.vue
Normal file
@@ -0,0 +1,154 @@
|
||||
<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="optionNew1"
|
||||
:active="active1"
|
||||
:open="open1"
|
||||
:inputed="true"
|
||||
v-model="val1"
|
||||
@handleBlur="handleBlur1"
|
||||
@handleChange="handleChange1"
|
||||
@toggleItem="toggleItem1"
|
||||
@dropdownMenu="dropdownMenu1">
|
||||
</dropdown-menu>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom-filter-tip">
|
||||
<div class="filter-label txtjustify">不合格数量</div>
|
||||
<div class="fxcol mgl20">
|
||||
<input class="filter-input filter-scan-input" v-model="val2" @input="val2 = val2.replace(/[^\d]/g,'')">
|
||||
</div>
|
||||
<div class="filter-unit">块</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="submit-bar">
|
||||
<button class="btn submit-button" :class="{'btn-disabled' : val1 === '' || val2 === ''}" :disabled="disabled1" @click="_pdaReport">确定</button>
|
||||
<button class="btn submit-button" @click="toCancle">取消</button>
|
||||
</section>
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import NavBar from '@components/NavBar.vue'
|
||||
import DropdownMenu from '@components/DropdownMenu.vue'
|
||||
import {pdaDevice, pdaReport} from '@config/getData2.js'
|
||||
export default {
|
||||
name: 'BelowGradeReport',
|
||||
components: {
|
||||
NavBar,
|
||||
DropdownMenu
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
option1: [],
|
||||
optionNew1: [],
|
||||
active1: '',
|
||||
open1: false,
|
||||
val1: '',
|
||||
val2: '',
|
||||
disabled1: false
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this._pdaDevice()
|
||||
},
|
||||
methods: {
|
||||
/** 查询设备 */
|
||||
async _pdaDevice () {
|
||||
let res = await pdaDevice('unqualified_report')
|
||||
if (res.code === '1') {
|
||||
this.option1 = [...res.result]
|
||||
this.option1.map(el => {
|
||||
this.$set(el, 'value', el.device_code)
|
||||
this.$set(el, 'label', el.device_name)
|
||||
})
|
||||
} else {
|
||||
this.Dialog(res.desc)
|
||||
}
|
||||
},
|
||||
/** 确认 */
|
||||
async _pdaReport () {
|
||||
this.disabled1 = true
|
||||
if (this.val1 === '' || this.val2 === '') {
|
||||
this.disabled1 = false
|
||||
return
|
||||
}
|
||||
let code = ''
|
||||
this.option1.map(el => {
|
||||
if (el.device_name === this.val1) {
|
||||
code = el.device_code
|
||||
}
|
||||
})
|
||||
try {
|
||||
let res = await pdaReport(code, this.val2)
|
||||
if (res.code === '1') {
|
||||
this.toast(res.desc)
|
||||
this.toCancle()
|
||||
} else {
|
||||
this.Dialog(res.desc)
|
||||
}
|
||||
this.disabled1 = false
|
||||
} catch (e) {
|
||||
this.disabled1 = false
|
||||
}
|
||||
},
|
||||
/** 取消 */
|
||||
toCancle () {
|
||||
this.val2 = ''
|
||||
this.active1 = ''
|
||||
this.val1 = ''
|
||||
this.disabled1 = false
|
||||
},
|
||||
/** 模糊匹配 */
|
||||
selectMatchItem (lists, keyWord) {
|
||||
let resArr = []
|
||||
lists.filter((item) => {
|
||||
if (item.device_name.indexOf(keyWord) > -1) {
|
||||
resArr.push(item)
|
||||
}
|
||||
})
|
||||
return resArr
|
||||
},
|
||||
handleChange1 (e) {
|
||||
if (!e) {
|
||||
this.active1 = ''
|
||||
}
|
||||
this.optionNew1 = []
|
||||
this.optionNew1 = this.selectMatchItem(this.option1, e)
|
||||
this.open1 = true
|
||||
},
|
||||
handleBlur1 () {
|
||||
this.open1 = false
|
||||
this.val1 = ''
|
||||
},
|
||||
toggleItem1 () {
|
||||
if (!this.open1) {
|
||||
this.optionNew1 = this.option1
|
||||
this.active1 = ''
|
||||
this.optionNew1.map((e, i) => {
|
||||
if (e.label === this.val1) {
|
||||
this.active1 = i + ''
|
||||
}
|
||||
})
|
||||
this.open1 = true
|
||||
} else {
|
||||
this.open1 = false
|
||||
}
|
||||
},
|
||||
dropdownMenu1 (i) {
|
||||
this.active1 = i + ''
|
||||
this.open1 = false
|
||||
if (this.optionNew1.length > 0) {
|
||||
this.val1 = this.optionNew1[i].label
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -1,205 +0,0 @@
|
||||
<template>
|
||||
<section>
|
||||
<nav-bar title="托盘点位绑定"></nav-bar>
|
||||
<section class="content mgt186 mgb110">
|
||||
<div class="filter-wraper">
|
||||
<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 visible" >
|
||||
<dropdown-menu
|
||||
:option="option1"
|
||||
:active="active1"
|
||||
:open="open1"
|
||||
@toggleItem="toggleItem1"
|
||||
@dropdownMenu="dropdownMenu1">
|
||||
</dropdown-menu>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom-filter-tip">
|
||||
<div class="filter-label txtjustify">当前点位</div>
|
||||
<div class="fxcol mgl20 visible" >
|
||||
<dropdown-menu
|
||||
:option="option2"
|
||||
:active="active2"
|
||||
:open="open2"
|
||||
@toggleItem="toggleItem2"
|
||||
@dropdownMenu="dropdownMenu2">
|
||||
</dropdown-menu>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom-filter-tip">
|
||||
<div class="filter-label txtjustify">点位状态</div>
|
||||
<div class="fxcol mgl20 visible" >
|
||||
<dropdown-menu
|
||||
:option="option3"
|
||||
:active="active3"
|
||||
:open="open3"
|
||||
@toggleItem="toggleItem3"
|
||||
@dropdownMenu="dropdownMenu3">
|
||||
</dropdown-menu>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom-filter-tip">
|
||||
<div class="filter-label txtjustify">是否锁定</div>
|
||||
<div class="fxcol mgl20 visible" >
|
||||
<dropdown-menu
|
||||
:option="option4"
|
||||
:active="active4"
|
||||
:open="open4"
|
||||
@toggleItem="toggleItem4"
|
||||
@dropdownMenu="dropdownMenu4">
|
||||
</dropdown-menu>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="submit-bar">
|
||||
<button class="btn submit-button" :class="{'btn-disabled' : active2 === ''}" :disabled="disabled1" @click="_bindingConfirm">确定</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 {queryArea1, queryPointByArea1, bindingConfirm} from '@config/getData2.js'
|
||||
export default {
|
||||
name: 'BindPalletPoint',
|
||||
components: {
|
||||
NavBar,
|
||||
SearchBox,
|
||||
DropdownMenu
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
val1: '',
|
||||
option1: [],
|
||||
active1: '',
|
||||
open1: false,
|
||||
option2: [],
|
||||
active2: '',
|
||||
open2: false,
|
||||
option3: [{value: '00', label: '空位'}, {value: '01', label: '空托盘'}, {value: '02', label: '有箱有料'}],
|
||||
active3: '1',
|
||||
open3: false,
|
||||
option4: [{value: '1', label: '是'}, {value: '2', label: '否'}],
|
||||
active4: '1',
|
||||
open4: false,
|
||||
disabled1: false
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this._queryArea1()
|
||||
},
|
||||
methods: {
|
||||
/** 查询区域 */
|
||||
async _queryArea1 () {
|
||||
let res = await queryArea1()
|
||||
if (res.code === '1') {
|
||||
this.option1 = [...res.result]
|
||||
this.option1.map(el => {
|
||||
this.$set(el, 'value', el.area_code)
|
||||
this.$set(el, 'label', el.area_name)
|
||||
})
|
||||
} else {
|
||||
this.Dialog(res.desc)
|
||||
}
|
||||
},
|
||||
/** 查询点位 */
|
||||
async _queryPointByArea1 (code) {
|
||||
let res = await queryPointByArea1(code)
|
||||
if (res.code === '1') {
|
||||
this.option2 = [...res.result]
|
||||
this.option2.map(el => {
|
||||
this.$set(el, 'value', el.point_id)
|
||||
this.$set(el, 'label', el.point_name)
|
||||
})
|
||||
} else {
|
||||
this.Dialog(res.desc)
|
||||
}
|
||||
},
|
||||
/** 确认 */
|
||||
async _bindingConfirm () {
|
||||
this.disabled1 = true
|
||||
if (this.active2 === '') {
|
||||
this.disabled1 = false
|
||||
return
|
||||
}
|
||||
try {
|
||||
let res = await bindingConfirm(this.option2[this.active2].point_code, this.val1, this.option3[this.active3].value, this.option4[this.active4].value)
|
||||
if (res.code === '1') {
|
||||
this.toast(res.desc)
|
||||
this.toCancle()
|
||||
} else {
|
||||
this.Dialog(res.desc)
|
||||
}
|
||||
this.disabled1 = false
|
||||
} catch (e) {
|
||||
this.disabled1 = false
|
||||
}
|
||||
},
|
||||
/** 取消 */
|
||||
toCancle () {
|
||||
this.val1 = ''
|
||||
this.active1 = ''
|
||||
this.active2 = ''
|
||||
this.active3 = '1'
|
||||
this.active4 = '1'
|
||||
this.disabled1 = false
|
||||
},
|
||||
toggleItem1 () {
|
||||
if (!this.open1) {
|
||||
this.open1 = true
|
||||
} else {
|
||||
this.open1 = false
|
||||
}
|
||||
},
|
||||
dropdownMenu1 (i) {
|
||||
this.active1 = i + ''
|
||||
this.open1 = false
|
||||
this._queryPointByArea1(this.option1[this.active1].area_code)
|
||||
this.active2 = ''
|
||||
},
|
||||
toggleItem2 () {
|
||||
if (!this.open2) {
|
||||
this.open2 = true
|
||||
} else {
|
||||
this.open2 = false
|
||||
}
|
||||
},
|
||||
dropdownMenu2 (i) {
|
||||
this.active2 = i + ''
|
||||
this.open2 = false
|
||||
},
|
||||
toggleItem3 () {
|
||||
if (!this.open3) {
|
||||
this.open3 = true
|
||||
} else {
|
||||
this.open3 = false
|
||||
}
|
||||
},
|
||||
dropdownMenu3 (i) {
|
||||
this.active3 = i + ''
|
||||
this.open3 = false
|
||||
},
|
||||
toggleItem4 () {
|
||||
if (!this.open4) {
|
||||
this.open4 = true
|
||||
} else {
|
||||
this.open4 = false
|
||||
}
|
||||
},
|
||||
dropdownMenu4 (i) {
|
||||
this.active4 = i + ''
|
||||
this.open4 = false
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -1,137 +0,0 @@
|
||||
<template>
|
||||
<section>
|
||||
<nav-bar title="呼叫空托盘"></nav-bar>
|
||||
<section class="content mgt186 mgb110">
|
||||
<div class="filter-wraper">
|
||||
<div class="bottom-filter-tip">
|
||||
<div class="filter-label txtjustify">区域</div>
|
||||
<div class="fxcol mgl20 visible" >
|
||||
<dropdown-menu
|
||||
:option="option1"
|
||||
:active="active1"
|
||||
:open="open1"
|
||||
@toggleItem="toggleItem1"
|
||||
@dropdownMenu="dropdownMenu1">
|
||||
</dropdown-menu>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom-filter-tip">
|
||||
<div class="filter-label txtjustify">点位</div>
|
||||
<div class="fxcol mgl20 visible" >
|
||||
<dropdown-menu
|
||||
:option="option2"
|
||||
:active="active2"
|
||||
:open="open2"
|
||||
@toggleItem="toggleItem2"
|
||||
@dropdownMenu="dropdownMenu2">
|
||||
</dropdown-menu>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="submit-bar">
|
||||
<button class="btn submit-button" :class="{'btn-disabled' : active1 === '' || active2 === ''}" :disabled="disabled1" @click="_callEmptyConfirm">确定</button>
|
||||
<button class="btn submit-button" @click="toCancle">取消</button>
|
||||
</section>
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import NavBar from '@components/NavBar.vue'
|
||||
import DropdownMenu from '@components/DropdownMenu.vue'
|
||||
import {queryArea, queryPointByArea, callEmptyConfirm} from '@config/getData2.js'
|
||||
export default {
|
||||
name: 'CallEmptyPallet',
|
||||
components: {
|
||||
NavBar,
|
||||
DropdownMenu
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
option1: [],
|
||||
active1: '',
|
||||
open1: false,
|
||||
option2: [],
|
||||
active2: '',
|
||||
open2: false,
|
||||
disabled1: false
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this._queryArea()
|
||||
},
|
||||
methods: {
|
||||
/** 查询区域 */
|
||||
async _queryArea () {
|
||||
let res = await queryArea()
|
||||
if (res.code === '1') {
|
||||
this.option1 = [...res.result]
|
||||
this.option1.map(el => {
|
||||
this.$set(el, 'value', el.area_code)
|
||||
this.$set(el, 'label', el.area_name)
|
||||
})
|
||||
} else {
|
||||
this.Dialog(res.desc)
|
||||
}
|
||||
},
|
||||
/** 根据区域查询点位 */
|
||||
async _queryPointByArea (code) {
|
||||
let res = await queryPointByArea(code)
|
||||
if (res.code === '1') {
|
||||
this.option2 = [...res.result]
|
||||
this.option2.map(el => {
|
||||
this.$set(el, 'value', el.point_id)
|
||||
this.$set(el, 'label', el.point_name)
|
||||
})
|
||||
} else {
|
||||
this.Dialog(res.desc)
|
||||
}
|
||||
},
|
||||
/** 确定 */
|
||||
async _callEmptyConfirm () {
|
||||
this.disabled1 = true
|
||||
if (this.active1 === '' || this.active2 === '') {
|
||||
this.disabled1 = false
|
||||
return
|
||||
}
|
||||
let res = await callEmptyConfirm(this.option2[this.active2].point_id, this.option2[this.active2].point_code, this.option2[this.active2].point_name, this.option1[this.active1].area_code)
|
||||
if (res.code === '1') {
|
||||
this.toast(res.desc)
|
||||
} else {
|
||||
this.Dialog(res.desc)
|
||||
}
|
||||
},
|
||||
/** 取消 */
|
||||
toCancle () {
|
||||
this.active1 = ''
|
||||
this.option2 = []
|
||||
this.active2 = ''
|
||||
this.disabled1 = false
|
||||
},
|
||||
toggleItem1 () {
|
||||
if (!this.open1) {
|
||||
this.open1 = true
|
||||
} else {
|
||||
this.open1 = false
|
||||
}
|
||||
},
|
||||
dropdownMenu1 (i) {
|
||||
this.active1 = i + ''
|
||||
this.open1 = false
|
||||
this._queryPointByArea(this.option1[this.active1].area_code)
|
||||
this.active2 = ''
|
||||
},
|
||||
toggleItem2 () {
|
||||
if (!this.open2) {
|
||||
this.open2 = true
|
||||
} else {
|
||||
this.open2 = false
|
||||
}
|
||||
},
|
||||
dropdownMenu2 (i) {
|
||||
this.active2 = i + ''
|
||||
this.open2 = false
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
220
src/pages/proj/CallMater.vue
Normal file
220
src/pages/proj/CallMater.vue
Normal file
@@ -0,0 +1,220 @@
|
||||
<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="optionNew1"
|
||||
:active="active1"
|
||||
:open="open1"
|
||||
:inputed="true"
|
||||
v-model="val1"
|
||||
@handleBlur="handleBlur1"
|
||||
@handleChange="handleChange1"
|
||||
@toggleItem="toggleItem1"
|
||||
@dropdownMenu="dropdownMenu1">
|
||||
</dropdown-menu>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom-filter-tip">
|
||||
<div class="filter-label txtjustify">点位</div>
|
||||
<div class="fxcol mgl20 visible" >
|
||||
<dropdown-menu
|
||||
:option="optionNew2"
|
||||
:active="active2"
|
||||
:open="open2"
|
||||
:inputed="true"
|
||||
v-model="val2"
|
||||
@handleBlur="handleBlur2"
|
||||
@handleChange="handleChange2"
|
||||
@toggleItem="toggleItem2"
|
||||
@dropdownMenu="dropdownMenu2">
|
||||
</dropdown-menu>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="submit-bar">
|
||||
<button class="btn submit-button" :class="{'btn-disabled' : val2 === ''}" :disabled="disabled1" @click="_callMaterial">确定</button>
|
||||
<button class="btn submit-button" @click="toCancle">取消</button>
|
||||
</section>
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import NavBar from '@components/NavBar.vue'
|
||||
import DropdownMenu from '@components/DropdownMenu.vue'
|
||||
import {pdaRegion, pdaPoint, callMaterial} from '@config/getData2'
|
||||
export default {
|
||||
name: 'BindPalletPoint',
|
||||
components: {
|
||||
NavBar,
|
||||
DropdownMenu
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
option1: [],
|
||||
optionNew1: [],
|
||||
active1: '',
|
||||
open1: false,
|
||||
val1: '',
|
||||
option2: [],
|
||||
optionNew2: [],
|
||||
active2: '',
|
||||
open2: false,
|
||||
val2: '',
|
||||
disabled1: false
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this._pdaRegion()
|
||||
},
|
||||
methods: {
|
||||
/** 查询区域 */
|
||||
async _pdaRegion () {
|
||||
let res = await pdaRegion('send_material')
|
||||
if (res.code === '1') {
|
||||
this.option1 = [...res.result]
|
||||
this.option1.map(el => {
|
||||
this.$set(el, 'value', el.region_code)
|
||||
this.$set(el, 'label', el.region_name)
|
||||
})
|
||||
} else {
|
||||
this.Dialog(res.desc)
|
||||
}
|
||||
},
|
||||
/** 模糊匹配 */
|
||||
selectMatchItem (type, lists, keyWord) {
|
||||
let resArr = []
|
||||
lists.filter((item) => {
|
||||
if (type === '1' && item.region_name.indexOf(keyWord) > -1) {
|
||||
resArr.push(item)
|
||||
}
|
||||
if (type === '2' && item.point_name.indexOf(keyWord) > -1) {
|
||||
resArr.push(item)
|
||||
}
|
||||
})
|
||||
return resArr
|
||||
},
|
||||
handleChange1 (e) {
|
||||
if (!e) {
|
||||
this.active1 = ''
|
||||
}
|
||||
this.optionNew1 = []
|
||||
this.optionNew1 = this.selectMatchItem('1', this.option1, e)
|
||||
this.open1 = true
|
||||
},
|
||||
handleBlur1 () {
|
||||
this.open1 = false
|
||||
this.val1 = ''
|
||||
},
|
||||
toggleItem1 () {
|
||||
if (!this.open1) {
|
||||
this.optionNew1 = this.option1
|
||||
this.active1 = ''
|
||||
this.optionNew1.map((e, i) => {
|
||||
if (e.label === this.val1) {
|
||||
this.active1 = i + ''
|
||||
}
|
||||
})
|
||||
this.open1 = true
|
||||
} else {
|
||||
this.open1 = false
|
||||
}
|
||||
},
|
||||
dropdownMenu1 (i) {
|
||||
this.active1 = i + ''
|
||||
this.open1 = false
|
||||
if (this.optionNew1.length > 0) {
|
||||
this.val1 = this.optionNew1[i].label
|
||||
this.val2 = ''
|
||||
this.active2 = ''
|
||||
this._pdaPoint(this.optionNew1[i].value)
|
||||
}
|
||||
},
|
||||
/** 查询点位 */
|
||||
async _pdaPoint (code) {
|
||||
let res = await pdaPoint('send_material', code)
|
||||
if (res.code === '1') {
|
||||
this.option2 = [...res.result]
|
||||
this.option2.map(el => {
|
||||
this.$set(el, 'value', el.point_code)
|
||||
this.$set(el, 'label', el.point_name)
|
||||
})
|
||||
} else {
|
||||
this.Dialog(res.desc)
|
||||
}
|
||||
},
|
||||
handleChange2 (e) {
|
||||
if (!e) {
|
||||
this.active2 = ''
|
||||
}
|
||||
this.optionNew2 = []
|
||||
this.optionNew2 = this.selectMatchItem('2', this.option2, e)
|
||||
this.open2 = true
|
||||
},
|
||||
handleBlur2 () {
|
||||
this.open2 = false
|
||||
this.val2 = ''
|
||||
},
|
||||
toggleItem2 () {
|
||||
if (!this.open2) {
|
||||
this.optionNew2 = this.option2
|
||||
this.active2 = ''
|
||||
this.optionNew2.map((e, i) => {
|
||||
if (e.label === this.val2) {
|
||||
this.active2 = i + ''
|
||||
}
|
||||
})
|
||||
this.open2 = true
|
||||
} else {
|
||||
this.open2 = false
|
||||
}
|
||||
},
|
||||
dropdownMenu2 (i) {
|
||||
this.active2 = i + ''
|
||||
this.open2 = false
|
||||
if (this.optionNew2.length > 0) {
|
||||
this.val2 = this.optionNew2[i].label
|
||||
}
|
||||
},
|
||||
/** 确认 */
|
||||
async _callMaterial () {
|
||||
this.disabled1 = true
|
||||
if (this.val2 === '') {
|
||||
this.disabled1 = false
|
||||
return
|
||||
}
|
||||
try {
|
||||
let code = ''
|
||||
this.option2.map(el => {
|
||||
if (el.point_name === this.val2) {
|
||||
code = el.point_code
|
||||
}
|
||||
})
|
||||
let res = await callMaterial(code)
|
||||
if (res.code === '1') {
|
||||
this.toast(res.desc)
|
||||
this.toCancle()
|
||||
} else {
|
||||
this.Dialog(res.desc)
|
||||
}
|
||||
this.disabled1 = false
|
||||
} catch (e) {
|
||||
this.disabled1 = false
|
||||
}
|
||||
},
|
||||
/** 取消 */
|
||||
toCancle () {
|
||||
this.val1 = ''
|
||||
this.val2 = ''
|
||||
this.active1 = ''
|
||||
this.active2 = ''
|
||||
this.disabled1 = false
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -1,293 +0,0 @@
|
||||
<template>
|
||||
<section>
|
||||
<nav-bar title="盘点管理"></nav-bar>
|
||||
<section class="content mgt186 mgb110" v-infinite-scroll="loadMore" infinite-scroll-disabled="busy" infinite-scroll-distance="0" infinite-scroll-immediate-check="false">
|
||||
<div class="filter-wraper">
|
||||
<div class="filter-wraper">
|
||||
<div class="bottom-filter-tip">
|
||||
<div class="filter-label txtjustify">库区</div>
|
||||
<div class="fxcol mgl20 visible">
|
||||
<dropdown-menu
|
||||
:option="option1"
|
||||
:active="active1"
|
||||
:open="open1"
|
||||
@toggleItem="toggleItem1"
|
||||
@dropdownMenu="dropdownMenu1">
|
||||
</dropdown-menu>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom-filter-tip">
|
||||
<div class="filter-label txtjustify">仓位</div>
|
||||
<div class="fxcol mgl20 visible">
|
||||
<dropdown-menu
|
||||
:option="option2"
|
||||
:active="active2"
|
||||
:open="open2"
|
||||
@toggleItem="toggleItem2"
|
||||
@dropdownMenu="dropdownMenu2">
|
||||
</dropdown-menu>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="grid-wraper">
|
||||
<div class="left_fixed">
|
||||
<table class="layout-t left_layout_t">
|
||||
<tr>
|
||||
<th><button class="iconfont check_icon check_icon--squa" :class="{'check_icon--checked': allcheckActive}" @click="allCheck"></button></th>
|
||||
<th>仓位号</th>
|
||||
</tr>
|
||||
<tr v-for="e in dataList" :key="e.billdtl_uuid" @click="toCheck(e)">
|
||||
<td><button class="iconfont check_icon check_icon--squa" :class="{'check_icon--checked': e.checked}"></button></td>
|
||||
<td>{{e.struct_code}}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="slide">
|
||||
<table class="layout-t">
|
||||
<tr>
|
||||
<th>载具号</th>
|
||||
<th>物料编码</th>
|
||||
<th>物料名称</th>
|
||||
<th>库存数量</th>
|
||||
<th>盘点数量</th>
|
||||
</tr>
|
||||
<tr v-for="e in dataList" :key="e.billdtl_uuid">
|
||||
<td><input type="text" class="sin_input" v-model="e.vehicle_code"></td>
|
||||
<td><div v-show="e.material_code !== '' && e.material_code !== undefined" class="click_div" @click="searchMater(e)">{{e.material_code}}</div></td>
|
||||
<td>{{e.material_name}}</td>
|
||||
<td>{{e.canuse_qty}}</td>
|
||||
<td><input type="number" class="sin_input" v-model="e.check_qty"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="loading-tips">{{desc}}</div>
|
||||
</section>
|
||||
<section class="submit-bar">
|
||||
<button class="btn submit-button" @click="_queryIvt">查询</button>
|
||||
<button class="btn submit-button" :class="{'btn-disabled': checkArr.length === 0}" :disabled="disabled1" @click="_checkConfirm">确定</button>
|
||||
<button class="btn submit-button" @click="toCancle">取消</button>
|
||||
</section>
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import NavBar from '@components/NavBar.vue'
|
||||
import DropdownMenu from '@components/DropdownMenu.vue'
|
||||
import {querySectCode, queryStructCode, queryIvt, checkConfirm} from '@config/getData2.js'
|
||||
export default {
|
||||
name: 'CheckManage',
|
||||
components: {
|
||||
NavBar,
|
||||
DropdownMenu
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
option1: [],
|
||||
active1: '',
|
||||
open1: false,
|
||||
option2: [],
|
||||
active2: '',
|
||||
open2: false,
|
||||
dataList: [],
|
||||
checkArr: [],
|
||||
allcheckActive: false,
|
||||
page: 1,
|
||||
size: '10',
|
||||
busy: false,
|
||||
desc: '',
|
||||
disabled1: false
|
||||
}
|
||||
},
|
||||
beforeRouteLeave (to, from, next) {
|
||||
if (to.path === '/home' || to.path === '/login') {
|
||||
this.$store.dispatch('setKeepAlive', [])
|
||||
}
|
||||
next()
|
||||
},
|
||||
activated () {
|
||||
if (this.$route.query.uuid) {
|
||||
this.dataList.map(el => {
|
||||
if (el.billdtl_uuid === this.$route.query.uuid) {
|
||||
el.material_code = this.$store.getters.receiveMaterObj.material_code
|
||||
el.material_name = this.$store.getters.receiveMaterObj.material_name
|
||||
el.material_uuid = this.$store.getters.receiveMaterObj.material_uuid
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this._querySectCode()
|
||||
},
|
||||
methods: {
|
||||
/** 查询库区 */
|
||||
async _querySectCode () {
|
||||
let res = await querySectCode()
|
||||
if (res.code === '1') {
|
||||
this.option1 = [...res.result]
|
||||
this.option1.map(el => {
|
||||
this.$set(el, 'value', el.sect_uuid)
|
||||
this.$set(el, 'label', el.sect_name)
|
||||
})
|
||||
} else {
|
||||
this.Dialog(res.desc)
|
||||
}
|
||||
},
|
||||
/** 查询仓位 */
|
||||
async _queryStructCode (uuid) {
|
||||
let res = await queryStructCode(uuid)
|
||||
if (res.code === '1') {
|
||||
this.option2 = [...res.result]
|
||||
this.option2.map(el => {
|
||||
this.$set(el, 'value', el.struct_uuid)
|
||||
this.$set(el, 'label', el.struct_name)
|
||||
})
|
||||
} else {
|
||||
this.Dialog(res.desc)
|
||||
}
|
||||
},
|
||||
/** grid */
|
||||
async _queryIvt () {
|
||||
this.page = 1
|
||||
this.busy = false
|
||||
this.desc = ''
|
||||
let uuid1 = ''
|
||||
let uuid2 = ''
|
||||
if (this.active1) {
|
||||
uuid1 = this.option1[this.active1].sect_uuid
|
||||
}
|
||||
if (this.active2) {
|
||||
uuid2 = this.option2[this.active2].struct_uuid
|
||||
}
|
||||
let res = await queryIvt(uuid1, uuid2, this.page + '', this.size)
|
||||
if (res.code === '1') {
|
||||
this.dataList = []
|
||||
this.pkId = ''
|
||||
res.result.content.map(el => {
|
||||
el.check_qty = Number(el.canuse_qty).toFixed(3) + ''
|
||||
el.check_qty = Number(el.check_qty).toFixed(3) + ''
|
||||
this.$set(el, 'checked', false)
|
||||
})
|
||||
this.dataList = [...res.result.content]
|
||||
if (res.result.content.length < 10) {
|
||||
this.busy = true
|
||||
this.desc = '已加载全部数据'
|
||||
}
|
||||
} else {
|
||||
this.Dialog(res.desc)
|
||||
this.desc = res.desc
|
||||
}
|
||||
},
|
||||
async loadMore () {
|
||||
this.busy = true
|
||||
this.page++
|
||||
let uuid1 = ''
|
||||
let uuid2 = ''
|
||||
if (this.active1) {
|
||||
uuid1 = this.option1[this.active1].sect_uuid
|
||||
}
|
||||
if (this.active2) {
|
||||
uuid2 = this.option2[this.active2].struct_uuid
|
||||
}
|
||||
let res = await queryIvt(uuid1, uuid2, this.page + '', this.size)
|
||||
if (res.code === '1') {
|
||||
res.result.content.map(el => {
|
||||
el.check_qty = Number(el.canuse_qty).toFixed(3) + ''
|
||||
el.check_qty = Number(el.check_qty).toFixed(3) + ''
|
||||
this.$set(el, 'checked', false)
|
||||
})
|
||||
this.dataList = [...this.dataList, ...res.result.content]
|
||||
if (res.result.content.length < 10) {
|
||||
this.busy = true
|
||||
this.desc = '已加载全部数据'
|
||||
} else {
|
||||
this.busy = false
|
||||
}
|
||||
} else {
|
||||
this.Dialog(res.desc)
|
||||
this.desc = res.desc
|
||||
}
|
||||
},
|
||||
/** 修改物料编码 */
|
||||
searchMater (e) {
|
||||
this.$router.push({
|
||||
path: '/SearchMater',
|
||||
query: {uuid: e.billdtl_uuid}
|
||||
})
|
||||
},
|
||||
/** 确定 */
|
||||
async _checkConfirm () {
|
||||
this.disabled1 = true
|
||||
if (!this.checkArr.length) {
|
||||
this.disabled1 = false
|
||||
return
|
||||
}
|
||||
try {
|
||||
let res = await checkConfirm(this.checkArr)
|
||||
if (res.code === '1') {
|
||||
this.toast(res.desc)
|
||||
this._queryIvt()
|
||||
} else {
|
||||
this.Dialog(res.desc)
|
||||
}
|
||||
this.disabled1 = false
|
||||
} catch (e) {
|
||||
this.disabled1 = false
|
||||
}
|
||||
},
|
||||
toCancle () {
|
||||
this.active1 = ''
|
||||
this.active2 = ''
|
||||
this.dataList = []
|
||||
this.checkArr = []
|
||||
this.allcheckActive = false
|
||||
this.page = 1
|
||||
this.busy = false
|
||||
this.desc = ''
|
||||
this.disabled1 = false
|
||||
this.$store.dispatch('receiveMaterObj', {})
|
||||
},
|
||||
toggleItem1 () {
|
||||
if (!this.open1) {
|
||||
this.open1 = true
|
||||
} else {
|
||||
this.open1 = false
|
||||
}
|
||||
},
|
||||
dropdownMenu1 (i) {
|
||||
this.active1 = i + ''
|
||||
this.open1 = false
|
||||
this.active2 = ''
|
||||
this._queryStructCode(this.option1[this.active1].sect_uuid)
|
||||
},
|
||||
toggleItem2 () {
|
||||
if (!this.open2) {
|
||||
this.open2 = true
|
||||
} else {
|
||||
this.open2 = false
|
||||
}
|
||||
},
|
||||
dropdownMenu2 (i) {
|
||||
this.active2 = i + ''
|
||||
this.open2 = false
|
||||
},
|
||||
allCheck () {
|
||||
this.allcheckActive = this.checkArr.length !== this.dataList.length
|
||||
this.dataList.map(el => { el.checked = this.allcheckActive })
|
||||
this.checkArr = this.dataList.filter(i => { return i.checked === true })
|
||||
},
|
||||
toCheck (e) {
|
||||
e.checked = !e.checked
|
||||
this.checkArr = this.dataList.filter(i => { return i.checked === true })
|
||||
this.allcheckActive = this.checkArr.length === this.dataList.length
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="stylus" scoped>
|
||||
>>>.content
|
||||
height calc(100% - 1.96rem)
|
||||
overflow-y auto
|
||||
</style>
|
||||
@@ -1,104 +0,0 @@
|
||||
<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="option1"
|
||||
:active="active1"
|
||||
:open="open1"
|
||||
@toggleItem="toggleItem1"
|
||||
@dropdownMenu="dropdownMenu1">
|
||||
</dropdown-menu>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="submit-bar">
|
||||
<button class="btn submit-button" :class="{'btn-disabled' : active1 === ''}" :disabled="disabled" @click="_pressureConfirm">确定</button>
|
||||
<button class="btn submit-button" @click="toCancle">取消</button>
|
||||
</section>
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import NavBar from '@components/NavBar.vue'
|
||||
import DropdownMenu from '@components/DropdownMenu.vue'
|
||||
import {queryPoint, pressureConfirm} from '@config/getData2'
|
||||
export default {
|
||||
name: 'MechineOutstore',
|
||||
components: {
|
||||
NavBar,
|
||||
DropdownMenu
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
option1: [],
|
||||
active1: '',
|
||||
open1: false,
|
||||
disabled: false
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this._queryPoint()
|
||||
},
|
||||
methods: {
|
||||
/** 1.1查询点位 */
|
||||
async _queryPoint () {
|
||||
let res = await queryPoint()
|
||||
if (res.code === '1') {
|
||||
this.option1 = [...res.result]
|
||||
this.option1.map(el => {
|
||||
this.$set(el, 'value', el.point_code)
|
||||
this.$set(el, 'label', el.point_name)
|
||||
})
|
||||
} else {
|
||||
this.Dialog(res.desc)
|
||||
}
|
||||
},
|
||||
/** 确定 */
|
||||
async _pressureConfirm () {
|
||||
this.disabled = true
|
||||
if (this.active1 === '') {
|
||||
this.disabled = false
|
||||
return
|
||||
}
|
||||
try {
|
||||
let res = await pressureConfirm(this.option1[this.active1].point_id, this.option1[this.active1].point_code, this.option1[this.active1].point_name)
|
||||
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.active1 = ''
|
||||
this.disabled = false
|
||||
},
|
||||
toggleItem1 () {
|
||||
if (!this.open1) {
|
||||
this.open1 = true
|
||||
} else {
|
||||
this.open1 = false
|
||||
}
|
||||
},
|
||||
dropdownMenu1 (i) {
|
||||
this.active1 = i + ''
|
||||
this.open1 = false
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="stylus" scoped>
|
||||
|
||||
</style>
|
||||
@@ -1,130 +0,0 @@
|
||||
<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">
|
||||
<input type="password" class="filter-input filter-scan-input" v-model="val1">
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom-filter-tip">
|
||||
<div class="filter-label txtjustify">新密码</div>
|
||||
<div class="fxcol mgl20 relative">
|
||||
<input type="password" class="filter-input filter-scan-input" v-model="val2" @blur="handleBlur1">
|
||||
<div v-show="error1 === true" class="error">密码长度必须为6-20个字符</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom-filter-tip">
|
||||
<div class="filter-label txtjustify">确认新密码</div>
|
||||
<div class="fxcol mgl20 relative">
|
||||
<input type="password" class="filter-input filter-scan-input" v-model="val3" @blur="handleBlur2">
|
||||
<div v-show="error2 === true" class="error">两次输入的密码不一致</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="submit-bar">
|
||||
<button class="btn submit-button" :disabled="disabled" :class="{'btn-disabled': btnDisabled === false}" @click="toSure">确认</button>
|
||||
</section>
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import NavBar from '@components/NavBar.vue'
|
||||
import { updatePass } from '@config/getData2.js'
|
||||
import {encrypt} from '../../main.js'
|
||||
export default {
|
||||
name: 'Password',
|
||||
components: {
|
||||
NavBar
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
val1: '',
|
||||
val2: '',
|
||||
val3: '',
|
||||
error1: false,
|
||||
error2: false,
|
||||
disabled: false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
btnDisabled () {
|
||||
let flag = false
|
||||
if (this.val1 !== '' && this.val2.length >= 6 && this.val2.length <= 20 && this.val2 === this.val3) {
|
||||
flag = true
|
||||
}
|
||||
return flag
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleBlur1 () {
|
||||
if (this.val2.length < 6 || this.val2.length > 20) {
|
||||
this.error1 = true
|
||||
} else {
|
||||
this.error1 = false
|
||||
}
|
||||
if (this.val2 === this.val3) this.error2 = false
|
||||
},
|
||||
handleBlur2 () {
|
||||
if (this.val2 !== this.val3) {
|
||||
this.error2 = true
|
||||
} else {
|
||||
this.error2 = false
|
||||
}
|
||||
},
|
||||
toSure () {
|
||||
this.disabled = true
|
||||
if (this.val1 === '') {
|
||||
this.disabled = false
|
||||
return
|
||||
}
|
||||
if (this.val2.length < 6 || this.val2.length > 20) {
|
||||
this.error1 = true
|
||||
this.disabled = false
|
||||
return
|
||||
}
|
||||
if (this.val2 !== this.val3) {
|
||||
this.error2 = true
|
||||
this.disabled = false
|
||||
return
|
||||
}
|
||||
if (this.val2.length >= 6 && this.val2.length <= 20) this.error1 = false
|
||||
if (this.val2 === this.val3) this.error2 = false
|
||||
this._updatePass()
|
||||
},
|
||||
async _updatePass () {
|
||||
try {
|
||||
let res = await updatePass(encrypt(this.val1), encrypt(this.val2))
|
||||
if (res.code === '1') {
|
||||
this.toast(res.desc)
|
||||
this.$store.dispatch('setSignOut')
|
||||
this.$router.push('/login')
|
||||
} else {
|
||||
this.Dialog(res.desc)
|
||||
this.disabled = false
|
||||
}
|
||||
} catch (e) {
|
||||
this.disabled = false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="stylus" scoped>
|
||||
@import '~@style/mixin'
|
||||
.filter-label
|
||||
width 1.6rem
|
||||
.relative
|
||||
overflow visible
|
||||
.error
|
||||
position absolute
|
||||
left 0
|
||||
top 1rem
|
||||
_font(.2rem, .2rem, $red)
|
||||
.bottom-filter-tip
|
||||
padding 0.5rem 0 0 0
|
||||
</style>
|
||||
@@ -1,154 +0,0 @@
|
||||
<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="option1"
|
||||
:active="active1"
|
||||
:open="open1"
|
||||
@toggleItem="toggleItem1"
|
||||
@dropdownMenu="dropdownMenu1">
|
||||
</dropdown-menu>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom-filter-tip">
|
||||
<div class="filter-label txtjustify">物料</div>
|
||||
<div class="fxcol mgl20">
|
||||
<input type="text" class="filter-input filter-scan-input" v-model="val1" @click="searchList">
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom-filter-tip">
|
||||
<div class="filter-label txtjustify">是否满托</div>
|
||||
<div class="fxcol mgl20 visible" >
|
||||
<dropdown-menu
|
||||
:option="option2"
|
||||
:active="active2"
|
||||
:open="open2"
|
||||
@toggleItem="toggleItem2"
|
||||
@dropdownMenu="dropdownMenu2">
|
||||
</dropdown-menu>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="submit-bar">
|
||||
<button class="btn submit-button" :class="{'btn-disabled' : active1 === '' || active2 === '' || val1 === ''}" :disabled="disabled1" @click="_callMaterialconfirm">确定</button>
|
||||
<button class="btn submit-button" @click="toCancle">取消</button>
|
||||
</section>
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import NavBar from '@components/NavBar.vue'
|
||||
import DropdownMenu from '@components/DropdownMenu.vue'
|
||||
import {callMaterialqueryPoint, callMaterialconfirm} from '@config/getData1'
|
||||
export default {
|
||||
name: 'PressCallMater',
|
||||
components: {
|
||||
NavBar,
|
||||
DropdownMenu
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
option1: [],
|
||||
active1: '',
|
||||
open1: false,
|
||||
option2: [{value: '1', label: '是'}, {value: '2', label: '否'}],
|
||||
active2: '',
|
||||
open2: false,
|
||||
disabled1: false,
|
||||
val1: ''
|
||||
}
|
||||
},
|
||||
beforeRouteLeave (to, from, next) {
|
||||
if (to.path === '/home' || to.path === '/login') {
|
||||
this.$store.dispatch('setKeepAlive', [])
|
||||
}
|
||||
next()
|
||||
},
|
||||
activated () {
|
||||
if (JSON.stringify(this.$store.getters.receiveMaterObj) !== '{}') {
|
||||
this.val1 = this.$store.getters.receiveMaterObj.material_name
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this._callMaterialqueryPoint()
|
||||
},
|
||||
methods: {
|
||||
/** 1.1查询点位 */
|
||||
async _callMaterialqueryPoint () {
|
||||
let res = await callMaterialqueryPoint()
|
||||
if (res.code === '1') {
|
||||
this.option1 = [...res.result]
|
||||
this.option1.map(el => {
|
||||
this.$set(el, 'value', el.point_code)
|
||||
this.$set(el, 'label', el.point_name)
|
||||
})
|
||||
} else {
|
||||
this.Dialog(res.desc)
|
||||
}
|
||||
},
|
||||
/** 确定 */
|
||||
async _callMaterialconfirm () {
|
||||
this.disabled1 = true
|
||||
if (this.active1 === '' || this.active2 === '' || this.val1 === '') {
|
||||
this.disabled1 = false
|
||||
return
|
||||
}
|
||||
try {
|
||||
let res = await callMaterialconfirm(this.option1[this.active1].point_id, this.option1[this.active1].point_code, this.option1[this.active1].point_name, this.option2[this.active2].value, this.$store.getters.receiveMaterObj.material_id, this.$store.getters.receiveMaterObj.material_code, this.$store.getters.receiveMaterObj.material_name)
|
||||
if (res.code === '1') {
|
||||
this.toast(res.desc)
|
||||
this.toCancle()
|
||||
} else {
|
||||
this.Dialog(res.desc)
|
||||
}
|
||||
this.disabled1 = false
|
||||
} catch (e) {
|
||||
this.disabled1 = false
|
||||
}
|
||||
},
|
||||
/** 取消 */
|
||||
toCancle () {
|
||||
this.active1 = ''
|
||||
this.active2 = ''
|
||||
this.disabled1 = false
|
||||
this.val1 = ''
|
||||
this.$store.dispatch('receiveMaterObj', {})
|
||||
},
|
||||
toggleItem1 () {
|
||||
if (!this.open1) {
|
||||
this.open1 = true
|
||||
} else {
|
||||
this.open1 = false
|
||||
}
|
||||
},
|
||||
dropdownMenu1 (i) {
|
||||
this.active1 = i + ''
|
||||
this.open1 = false
|
||||
},
|
||||
toggleItem2 () {
|
||||
if (!this.open2) {
|
||||
this.open2 = true
|
||||
} else {
|
||||
this.open2 = false
|
||||
}
|
||||
},
|
||||
dropdownMenu2 (i) {
|
||||
this.active2 = i + ''
|
||||
this.open2 = false
|
||||
},
|
||||
/** 查找物料 */
|
||||
searchList () {
|
||||
this.$router.push({
|
||||
path: '/SearchMater',
|
||||
query: {url: 'PressCallMater'}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -1,125 +0,0 @@
|
||||
<template>
|
||||
<section>
|
||||
<nav-bar :inner="true" title="物料查询"></nav-bar>
|
||||
<section class="content mgt15 mgb110" v-infinite-scroll="loadMore" infinite-scroll-disabled="busy" infinite-scroll-distance="0" infinite-scroll-immediate-check="false">
|
||||
<div class="grid-wraper">
|
||||
<div class="left_fixed">
|
||||
<table class="layout-t left_layout_t">
|
||||
<tr>
|
||||
<th>物料编码</th>
|
||||
</tr>
|
||||
<tr v-for="e in dataList" :key="e.material_uuid" @click="toCheck(e)" :class="{'checked': e.material_uuid === pkId}">
|
||||
<td>{{e.material_code}}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="slide">
|
||||
<table class="layout-t">
|
||||
<tr>
|
||||
<th>物料名称</th>
|
||||
<th>规格</th>
|
||||
</tr>
|
||||
<tr v-for="e in dataList" :key="e.material_uuid" @click="toCheck(e)" :class="{'checked': e.material_uuid === pkId}">
|
||||
<td>{{e.material_name}}</td>
|
||||
<td>{{e.material_spec}}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="loading-tips">{{desc}}</div>
|
||||
</section>
|
||||
<section class="submit-bar">
|
||||
<button class="btn submit-button" :class="{'btn-disabled': pkId === ''}" @click="toSure">确认</button>
|
||||
<button class="btn submit-button" @click="$router.back()">取消</button>
|
||||
</section>
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import NavBar from '@components/NavBar.vue'
|
||||
import {queryMaterial} from '@config/getData2.js'
|
||||
export default {
|
||||
name: 'SearchMater',
|
||||
components: {
|
||||
NavBar
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
dataList: [],
|
||||
page: 1,
|
||||
size: '10',
|
||||
busy: false,
|
||||
desc: '',
|
||||
pkId: '',
|
||||
pkObj: {}
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this._queryMaterial()
|
||||
},
|
||||
methods: {
|
||||
async _queryMaterial () {
|
||||
this.page = 1
|
||||
this.busy = false
|
||||
this.desc = ''
|
||||
let res = await queryMaterial(this.page + '', this.size)
|
||||
if (res.code === '1') {
|
||||
this.dataList = []
|
||||
this.pkId = ''
|
||||
this.dataList = [...res.result.content]
|
||||
if (res.result.content.length < 10) {
|
||||
this.busy = true
|
||||
this.desc = '已加载全部数据'
|
||||
}
|
||||
} else {
|
||||
this.Dialog(res.desc)
|
||||
this.desc = res.desc
|
||||
}
|
||||
},
|
||||
async loadMore () {
|
||||
this.busy = true
|
||||
this.page++
|
||||
let res = await queryMaterial(this.page + '', this.size)
|
||||
if (res.code === '1') {
|
||||
this.dataList = [...this.dataList, ...res.result.content]
|
||||
if (res.result.content.length < 10) {
|
||||
this.busy = true
|
||||
this.desc = '已加载全部数据'
|
||||
} else {
|
||||
this.busy = false
|
||||
}
|
||||
} else {
|
||||
this.Dialog(res.desc)
|
||||
this.desc = res.desc
|
||||
}
|
||||
},
|
||||
toCheck (e) {
|
||||
this.pkId = this.pkId !== e.material_uuid ? e.material_uuid : ''
|
||||
this.pkObj = this.pkId === e.material_uuid ? e : {}
|
||||
},
|
||||
toSure () {
|
||||
if (this.pkId) {
|
||||
this.$store.dispatch('receiveMaterObj', this.pkObj)
|
||||
if (this.$route.query.url === 'PressCallMater') {
|
||||
this.$router.push({
|
||||
path: '/PressCallMater'
|
||||
})
|
||||
} else {
|
||||
this.$router.push({
|
||||
path: 'CheckManage',
|
||||
query: {uuid: this.$route.query.uuid}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="stylus" scoped>
|
||||
.left_fixed
|
||||
width 30%
|
||||
>>>.content
|
||||
height calc(100% - 2.11rem)
|
||||
overflow-y auto
|
||||
</style>
|
||||
@@ -1,150 +0,0 @@
|
||||
<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="option1"
|
||||
:active="active1"
|
||||
:open="open1"
|
||||
@toggleItem="toggleItem1"
|
||||
@dropdownMenu="dropdownMenu1">
|
||||
</dropdown-menu>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom-filter-tip">
|
||||
<div class="filter-label txtjustify">点位</div>
|
||||
<div class="fxcol mgl20 visible" >
|
||||
<dropdown-menu
|
||||
:option="option2"
|
||||
:active="active2"
|
||||
:open="open2"
|
||||
@toggleItem="toggleItem2"
|
||||
@dropdownMenu="dropdownMenu2">
|
||||
</dropdown-menu>
|
||||
</div>
|
||||
</div>
|
||||
<search-box
|
||||
label="托盘"
|
||||
v-model="val1"
|
||||
:seaShow="false"
|
||||
></search-box>
|
||||
</div>
|
||||
</section>
|
||||
<section class="submit-bar">
|
||||
<button class="btn submit-button" :class="{'btn-disabled' : val1 === '' || active1 === '' || active2 === ''}" :disabled="disabled1" @click="_sendEmptyconfirm">确定</button>
|
||||
<button class="btn submit-button" @click="toCancle">取消</button>
|
||||
</section>
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import NavBar from '@components/NavBar.vue'
|
||||
import DropdownMenu from '@components/DropdownMenu.vue'
|
||||
import SearchBox from '@components/SearchBox.vue'
|
||||
import {sendEmptyqueryArea, sendEmptyqueryPointByArea, sendEmptyconfirm} from '@config/getData1'
|
||||
export default {
|
||||
name: 'SendEmptyPallet',
|
||||
components: {
|
||||
NavBar,
|
||||
DropdownMenu,
|
||||
SearchBox
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
val1: '',
|
||||
option1: [],
|
||||
active1: '',
|
||||
open1: false,
|
||||
option2: [],
|
||||
active2: '',
|
||||
open2: false,
|
||||
disabled1: false
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this._sendEmptyqueryArea()
|
||||
},
|
||||
methods: {
|
||||
/** 查询区域 */
|
||||
async _sendEmptyqueryArea () {
|
||||
let res = await sendEmptyqueryArea()
|
||||
if (res.code === '1') {
|
||||
this.option1 = [...res.result]
|
||||
this.option1.map(el => {
|
||||
this.$set(el, 'value', el.area_code)
|
||||
this.$set(el, 'label', el.area_name)
|
||||
})
|
||||
} else {
|
||||
this.Dialog(res.desc)
|
||||
}
|
||||
},
|
||||
/** 查询点位 */
|
||||
async _sendEmptyqueryPointByArea (a) {
|
||||
let res = await sendEmptyqueryPointByArea(a)
|
||||
if (res.code === '1') {
|
||||
this.option2 = [...res.result]
|
||||
this.option2.map(el => {
|
||||
this.$set(el, 'value', el.point_id)
|
||||
this.$set(el, 'label', el.point_name)
|
||||
})
|
||||
} else {
|
||||
this.Dialog(res.desc)
|
||||
}
|
||||
},
|
||||
/** 确认 */
|
||||
async _sendEmptyconfirm () {
|
||||
this.disabled1 = true
|
||||
if (this.val1 === '' || this.active1 === '') {
|
||||
this.disabled1 = false
|
||||
return
|
||||
}
|
||||
try {
|
||||
let res = await sendEmptyconfirm(this.option2[this.active2].point_id, this.option2[this.active2].point_code, this.option2[this.active2].point_name, this.val1)
|
||||
if (res.code === '1') {
|
||||
this.toast(res.desc)
|
||||
this.toCancle()
|
||||
} else {
|
||||
this.Dialog(res.desc)
|
||||
}
|
||||
this.disabled1 = false
|
||||
} catch (e) {
|
||||
this.disabled1 = false
|
||||
}
|
||||
},
|
||||
/** 取消 */
|
||||
toCancle () {
|
||||
this.val1 = ''
|
||||
this.active1 = ''
|
||||
this.active2 = ''
|
||||
this.disabled1 = false
|
||||
},
|
||||
toggleItem1 () {
|
||||
if (!this.open1) {
|
||||
this.open1 = true
|
||||
} else {
|
||||
this.open1 = false
|
||||
}
|
||||
},
|
||||
dropdownMenu1 (i) {
|
||||
this.active1 = i + ''
|
||||
this.open1 = false
|
||||
this._sendEmptyqueryPointByArea(this.option1[this.active1].area_code)
|
||||
},
|
||||
toggleItem2 () {
|
||||
if (!this.open2) {
|
||||
this.open2 = true
|
||||
} else {
|
||||
this.open2 = false
|
||||
}
|
||||
},
|
||||
dropdownMenu2 (i) {
|
||||
this.active2 = i + ''
|
||||
this.open2 = false
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -4,31 +4,58 @@
|
||||
<section class="content mgt186">
|
||||
<div class="filter-wraper">
|
||||
<div class="bottom-filter-tip">
|
||||
<div class="filter-label txtjustify">工序</div>
|
||||
<div class="filter-label txtjustify">区域</div>
|
||||
<div class="fxcol mgl20 visible" >
|
||||
<dropdown-menu
|
||||
:option="option1"
|
||||
:option="optionNew1"
|
||||
:active="active1"
|
||||
:open="open1"
|
||||
:inputed="true"
|
||||
v-model="val1"
|
||||
@handleBlur="handleBlur1"
|
||||
@handleChange="handleChange1"
|
||||
@toggleItem="toggleItem1"
|
||||
@dropdownMenu="dropdownMenu1">
|
||||
</dropdown-menu>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom-filter-tip">
|
||||
<div class="filter-label txtjustify">设备</div>
|
||||
<div class="filter-label txtjustify">点位</div>
|
||||
<div class="fxcol mgl20 visible" >
|
||||
<dropdown-menu
|
||||
:option="option2"
|
||||
:option="optionNew2"
|
||||
:active="active2"
|
||||
:open="open2"
|
||||
:inputed="true"
|
||||
v-model="val2"
|
||||
@handleBlur="handleBlur2"
|
||||
@handleChange="handleChange2"
|
||||
@toggleItem="toggleItem2"
|
||||
@dropdownMenu="dropdownMenu2">
|
||||
</dropdown-menu>
|
||||
</div>
|
||||
</div>
|
||||
<search-box
|
||||
label="载具"
|
||||
v-model="val3"
|
||||
:seaShow="false"
|
||||
></search-box>
|
||||
<div class="bottom-filter-tip">
|
||||
<div class="filter-label txtjustify">点位</div>
|
||||
<div class="filter-label txtjustify">数量</div>
|
||||
<div class="fxcol mgl20">
|
||||
<input class="filter-input filter-scan-input" v-model="val4" @input="val4 = val4.replace(/[^\d]/g,'')">
|
||||
</div>
|
||||
<div class="filter-unit">块</div>
|
||||
</div>
|
||||
<div class="bottom-filter-tip">
|
||||
<div class="filter-label txtjustify">重量</div>
|
||||
<div class="fxcol mgl20">
|
||||
<input class="filter-input filter-scan-input" v-model="val5" @input="val5 = val5.replace(/[^\d]/g,'')">
|
||||
</div>
|
||||
<div class="filter-unit">块</div>
|
||||
</div>
|
||||
<div class="bottom-filter-tip">
|
||||
<div class="filter-label txtjustify">是否满托</div>
|
||||
<div class="fxcol mgl20 visible" >
|
||||
<dropdown-menu
|
||||
:option="option3"
|
||||
@@ -39,33 +66,10 @@
|
||||
</dropdown-menu>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom-filter-tip">
|
||||
<div class="filter-label txtjustify">数量</div>
|
||||
<div class="fxcol mgl20">
|
||||
<input type="number" class="filter-input filter-scan-input" v-model="val2">
|
||||
</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 visible" >
|
||||
<dropdown-menu
|
||||
:option="option4"
|
||||
:active="active4"
|
||||
:open="open4"
|
||||
@toggleItem="toggleItem4"
|
||||
@dropdownMenu="dropdownMenu4">
|
||||
</dropdown-menu>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="submit-bar">
|
||||
<button class="btn submit-button" :class="{'btn-disabled' : val1 === '' || val2 === '' || active1 === '' || active2 === '' || active3 === '' || active4 === ''}" :disabled="disabled1" @click="_sendMaterialconfirm">确定</button>
|
||||
<button class="btn submit-button" :class="{'btn-disabled' : val2 === '' || val3 === '' || val4 === '' || val5 === '' || active3 === ''}" :disabled="disabled1" @click="_sendMaterial">确定</button>
|
||||
<button class="btn submit-button" @click="toCancle">取消</button>
|
||||
</section>
|
||||
</section>
|
||||
@@ -75,7 +79,7 @@
|
||||
import NavBar from '@components/NavBar.vue'
|
||||
import SearchBox from '@components/SearchBox.vue'
|
||||
import DropdownMenu from '@components/DropdownMenu.vue'
|
||||
import {sendMaterialqueryDevice, sendMaterialconfirm} from '@config/getData1'
|
||||
import {pdaRegion, pdaPoint, sendMaterial} from '@config/getData2'
|
||||
export default {
|
||||
name: 'BindPalletPoint',
|
||||
components: {
|
||||
@@ -85,59 +89,152 @@ export default {
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
val1: '',
|
||||
val2: '',
|
||||
option1: [],
|
||||
optionNew1: [],
|
||||
active1: '',
|
||||
open1: false,
|
||||
val1: '',
|
||||
option2: [],
|
||||
optionNew2: [],
|
||||
active2: '',
|
||||
open2: false,
|
||||
option3: [],
|
||||
active3: '',
|
||||
val2: '',
|
||||
option3: [{value: '0', label: '否'}, {value: '1', label: '是'}],
|
||||
active3: '1',
|
||||
open3: false,
|
||||
option4: [{value: '1', label: '是'}, {value: '2', label: '否'}],
|
||||
active4: '',
|
||||
open4: false,
|
||||
val3: '',
|
||||
val4: '',
|
||||
val5: '',
|
||||
disabled1: false
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this._sendMaterialqueryDevice()
|
||||
this._pdaRegion()
|
||||
},
|
||||
methods: {
|
||||
/** 查询点位 */
|
||||
async _sendMaterialqueryDevice () {
|
||||
let res = await sendMaterialqueryDevice()
|
||||
/** 查询区域 */
|
||||
async _pdaRegion () {
|
||||
let res = await pdaRegion('send_material')
|
||||
if (res.code === '1') {
|
||||
this.option1 = [...res.result.workprocedureja]
|
||||
this.option1 = [...res.result]
|
||||
this.option1.map(el => {
|
||||
this.$set(el, 'value', el.workprocedure_id)
|
||||
this.$set(el, 'label', el.workprocedure_name)
|
||||
this.$set(el, 'value', el.region_code)
|
||||
this.$set(el, 'label', el.region_name)
|
||||
})
|
||||
// this.option2 = [...res.result.workprocedureja.deviceja]
|
||||
// this.option2.map(el => {
|
||||
// this.$set(el, 'value', el.device_id)
|
||||
// this.$set(el, 'label', el.device_name)
|
||||
// })
|
||||
// this.option3 = [...res.result.workprocedureja.deviceja.pointArr]
|
||||
// this.option3.map(el => {
|
||||
// this.$set(el, 'value', el.point_id)
|
||||
// this.$set(el, 'label', el.point_name)
|
||||
// })
|
||||
} else {
|
||||
this.Dialog(res.desc)
|
||||
}
|
||||
},
|
||||
/** 模糊匹配 */
|
||||
selectMatchItem (type, lists, keyWord) {
|
||||
let resArr = []
|
||||
lists.filter((item) => {
|
||||
if (type === '1' && item.region_name.indexOf(keyWord) > -1) {
|
||||
resArr.push(item)
|
||||
}
|
||||
if (type === '2' && item.point_name.indexOf(keyWord) > -1) {
|
||||
resArr.push(item)
|
||||
}
|
||||
})
|
||||
return resArr
|
||||
},
|
||||
handleChange1 (e) {
|
||||
if (!e) {
|
||||
this.active1 = ''
|
||||
}
|
||||
this.optionNew1 = []
|
||||
this.optionNew1 = this.selectMatchItem('1', this.option1, e)
|
||||
this.open1 = true
|
||||
},
|
||||
handleBlur1 () {
|
||||
this.open1 = false
|
||||
this.val1 = ''
|
||||
},
|
||||
toggleItem1 () {
|
||||
if (!this.open1) {
|
||||
this.optionNew1 = this.option1
|
||||
this.active1 = ''
|
||||
this.optionNew1.map((e, i) => {
|
||||
if (e.label === this.val1) {
|
||||
this.active1 = i + ''
|
||||
}
|
||||
})
|
||||
this.open1 = true
|
||||
} else {
|
||||
this.open1 = false
|
||||
}
|
||||
},
|
||||
dropdownMenu1 (i) {
|
||||
this.active1 = i + ''
|
||||
this.open1 = false
|
||||
if (this.optionNew1.length > 0) {
|
||||
this.val1 = this.optionNew1[i].label
|
||||
this.val2 = ''
|
||||
this.active2 = ''
|
||||
this._pdaPoint(this.optionNew1[i].value)
|
||||
}
|
||||
},
|
||||
/** 查询点位 */
|
||||
async _pdaPoint (code) {
|
||||
let res = await pdaPoint('send_material', code)
|
||||
if (res.code === '1') {
|
||||
this.option2 = [...res.result]
|
||||
this.option2.map(el => {
|
||||
this.$set(el, 'value', el.point_code)
|
||||
this.$set(el, 'label', el.point_name)
|
||||
})
|
||||
} else {
|
||||
this.Dialog(res.desc)
|
||||
}
|
||||
},
|
||||
handleChange2 (e) {
|
||||
if (!e) {
|
||||
this.active2 = ''
|
||||
}
|
||||
this.optionNew2 = []
|
||||
this.optionNew2 = this.selectMatchItem('2', this.option2, e)
|
||||
this.open2 = true
|
||||
},
|
||||
handleBlur2 () {
|
||||
this.open2 = false
|
||||
this.val2 = ''
|
||||
},
|
||||
toggleItem2 () {
|
||||
if (!this.open2) {
|
||||
this.optionNew2 = this.option2
|
||||
this.active2 = ''
|
||||
this.optionNew2.map((e, i) => {
|
||||
if (e.label === this.val2) {
|
||||
this.active2 = i + ''
|
||||
}
|
||||
})
|
||||
this.open2 = true
|
||||
} else {
|
||||
this.open2 = false
|
||||
}
|
||||
},
|
||||
dropdownMenu2 (i) {
|
||||
this.active2 = i + ''
|
||||
this.open2 = false
|
||||
if (this.optionNew2.length > 0) {
|
||||
this.val2 = this.optionNew2[i].label
|
||||
}
|
||||
},
|
||||
/** 确认 */
|
||||
async _sendMaterialconfirm () {
|
||||
async _sendMaterial () {
|
||||
this.disabled1 = true
|
||||
if (this.val1 === '' || this.val2 === '' || this.active1 === '' || this.active2 === '' || this.active3 === '' || this.active4 === '') {
|
||||
if (this.val2 === '' || this.val3 === '' || this.val4 === '' || this.val5 === '' || this.active3 === '') {
|
||||
this.disabled1 = false
|
||||
return
|
||||
}
|
||||
try {
|
||||
let res = await sendMaterialconfirm(this.option1[this.active1].value, this.option2[this.active2].value, this.option3[this.active3].value, this.option3[this.active3].point_code, this.val2, this.val1, this.option4[this.active4].value)
|
||||
let code = ''
|
||||
this.option2.map(el => {
|
||||
if (el.point_name === this.val2) {
|
||||
code = el.point_code
|
||||
}
|
||||
})
|
||||
let res = await sendMaterial(code, this.val3, this.val4, this.val5, this.option3[this.active3].value)
|
||||
if (res.code === '1') {
|
||||
this.toast(res.desc)
|
||||
this.toCancle()
|
||||
@@ -156,41 +253,11 @@ export default {
|
||||
this.active1 = ''
|
||||
this.active2 = ''
|
||||
this.active3 = ''
|
||||
this.active4 = ''
|
||||
this.val3 = ''
|
||||
this.val4 = ''
|
||||
this.val5 = ''
|
||||
this.disabled1 = false
|
||||
},
|
||||
toggleItem1 () {
|
||||
if (!this.open1) {
|
||||
this.open1 = true
|
||||
} else {
|
||||
this.open1 = false
|
||||
}
|
||||
},
|
||||
dropdownMenu1 (i) {
|
||||
this.active1 = i + ''
|
||||
this.open1 = false
|
||||
this.option2 = this.option1[this.active1].deviceja
|
||||
this.option2.map(el => {
|
||||
this.$set(el, 'value', el.device_id)
|
||||
this.$set(el, 'label', el.device_name)
|
||||
})
|
||||
},
|
||||
toggleItem2 () {
|
||||
if (!this.open2) {
|
||||
this.open2 = true
|
||||
} else {
|
||||
this.open2 = false
|
||||
}
|
||||
},
|
||||
dropdownMenu2 (i) {
|
||||
this.active2 = i + ''
|
||||
this.open2 = false
|
||||
this.option3 = this.option2[this.active2].pointArr
|
||||
this.option3.map(el => {
|
||||
this.$set(el, 'value', el.point_id)
|
||||
this.$set(el, 'label', el.point_name)
|
||||
})
|
||||
},
|
||||
toggleItem3 () {
|
||||
if (!this.open3) {
|
||||
this.open3 = true
|
||||
@@ -201,17 +268,6 @@ export default {
|
||||
dropdownMenu3 (i) {
|
||||
this.active3 = i + ''
|
||||
this.open3 = false
|
||||
},
|
||||
toggleItem4 () {
|
||||
if (!this.open4) {
|
||||
this.open4 = true
|
||||
} else {
|
||||
this.open4 = false
|
||||
}
|
||||
},
|
||||
dropdownMenu4 (i) {
|
||||
this.active4 = i + ''
|
||||
this.open4 = false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,23 +1,15 @@
|
||||
import Vue from 'vue'
|
||||
import Router from 'vue-router'
|
||||
// 首页
|
||||
|
||||
const PreLoad = r => require.ensure([], () => r(require('../pages/login/PreLoad')), 'PreLoad')
|
||||
const Home = r => require.ensure([], () => r(require('../pages/login/Home')), 'Home')
|
||||
// 个人中心
|
||||
const Login = r => require.ensure([], () => r(require('../pages/login/Login')), 'Login')
|
||||
const Setup = r => require.ensure([], () => r(require('../pages/login/Setup')), 'Setup')
|
||||
|
||||
const Password = r => require.ensure([], () => r(require('../pages/proj/Password')), 'Password')
|
||||
const TaskManage = r => require.ensure([], () => r(require('../pages/proj/TaskManage')), 'TaskManage')
|
||||
const ZlManage = r => require.ensure([], () => r(require('../pages/proj/ZlManage')), 'ZlManage')
|
||||
const BelowGradeReport = r => require.ensure([], () => r(require('../pages/proj/BelowGradeReport')), 'BelowGradeReport')
|
||||
const SendMater = r => require.ensure([], () => r(require('../pages/proj/SendMater')), 'SendMater')
|
||||
const PressCallMater = r => require.ensure([], () => r(require('../pages/proj/PressCallMater')), 'PressCallMater')
|
||||
const SendEmptyPallet = r => require.ensure([], () => r(require('../pages/proj/SendEmptyPallet')), 'SendEmptyPallet')
|
||||
const CallEmptyPallet = r => require.ensure([], () => r(require('../pages/proj/CallEmptyPallet')), 'CallEmptyPallet')
|
||||
const BindPalletPoint = r => require.ensure([], () => r(require('../pages/proj/BindPalletPoint')), 'BindPalletPoint')
|
||||
const CheckManage = r => require.ensure([], () => r(require('../pages/proj/CheckManage')), 'CheckManage')
|
||||
const SearchMater = r => require.ensure([], () => r(require('../pages/proj/SearchMater')), 'SearchMater')
|
||||
const MechineOutstore = r => require.ensure([], () => r(require('../pages/proj/MechineOutstore')), 'MechineOutstore')
|
||||
const CallMater = r => require.ensure([], () => r(require('../pages/proj/CallMater')), 'CallMater')
|
||||
|
||||
Vue.use(Router)
|
||||
|
||||
@@ -29,17 +21,14 @@ export default new Router({
|
||||
},
|
||||
{
|
||||
path: '/setup',
|
||||
name: 'Setup',
|
||||
component: Setup
|
||||
},
|
||||
{
|
||||
path: '/login',
|
||||
name: 'login',
|
||||
component: Login
|
||||
},
|
||||
{
|
||||
path: '/home',
|
||||
name: 'Home',
|
||||
component: Home,
|
||||
meta: {
|
||||
requireAuth: true
|
||||
@@ -47,52 +36,27 @@ export default new Router({
|
||||
},
|
||||
{
|
||||
path: '/preload',
|
||||
name: 'preload',
|
||||
component: PreLoad
|
||||
},
|
||||
{
|
||||
path: '/Password', // 盘点管理
|
||||
component: Password
|
||||
},
|
||||
{
|
||||
path: '/TaskManage', // 任务管理
|
||||
path: '/taskmanage', // 任务管理
|
||||
component: TaskManage
|
||||
},
|
||||
{
|
||||
path: '/ZlManage', // 指令管理
|
||||
path: '/zlmanage', // 指令管理
|
||||
component: ZlManage
|
||||
},
|
||||
{
|
||||
path: '/SendMater', // 送料
|
||||
path: '/belowgradereport', // 不合格品上报
|
||||
component: BelowGradeReport
|
||||
},
|
||||
{
|
||||
path: '/sendmater', // 送料
|
||||
component: SendMater
|
||||
},
|
||||
{
|
||||
path: '/PressCallMater', // 压制叫料
|
||||
component: PressCallMater
|
||||
},
|
||||
{
|
||||
path: '/SendEmptyPallet', // 送空托盘
|
||||
component: SendEmptyPallet
|
||||
},
|
||||
{
|
||||
path: '/CallEmptyPallet', // 呼叫空托盘
|
||||
component: CallEmptyPallet
|
||||
},
|
||||
{
|
||||
path: '/BindPalletPoint', // 托盘点位绑定
|
||||
component: BindPalletPoint
|
||||
},
|
||||
{
|
||||
path: '/CheckManage', // 盘点管理
|
||||
component: CheckManage
|
||||
},
|
||||
{
|
||||
path: '/SearchMater', // 查找物料
|
||||
component: SearchMater
|
||||
},
|
||||
{
|
||||
path: '/MechineOutstore', // 液压机出库
|
||||
component: MechineOutstore
|
||||
path: '/callmater', // 叫料
|
||||
component: CallMater
|
||||
}
|
||||
],
|
||||
scrollBehavior (to, from, savedPosition) {
|
||||
|
||||
@@ -302,7 +302,7 @@ header
|
||||
padding 0 .24rem
|
||||
.filter-label
|
||||
flex none
|
||||
width 1.4rem
|
||||
width 1.6rem
|
||||
_font(.3rem,.9rem,#323232,,justify)
|
||||
.filter-unit
|
||||
width .5rem
|
||||
|
||||
Reference in New Issue
Block a user