人工倒料、刻字工序
This commit is contained in:
63
src/pages/modules/lettering/index.vue
Normal file
63
src/pages/modules/lettering/index.vue
Normal file
@@ -0,0 +1,63 @@
|
||||
<template>
|
||||
<div class="content blue" ref="content">
|
||||
<jxHeader
|
||||
:title="title"
|
||||
@switchColor="switchColor"
|
||||
/>
|
||||
<div class="body-container">
|
||||
<div class="main-container">
|
||||
<keep-alive :include="keepAlive" >
|
||||
<router-view/>
|
||||
</keep-alive>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex'
|
||||
import jxHeader from '@components/header.vue'
|
||||
export default {
|
||||
components: {
|
||||
jxHeader
|
||||
},
|
||||
data () {
|
||||
return {}
|
||||
},
|
||||
computed: {
|
||||
title () {
|
||||
let res = ['人工倒料', '刻字工序'][Number(this.$route.meta.guidePath) - 1]
|
||||
return res
|
||||
},
|
||||
...mapGetters(['keepAlive'])
|
||||
},
|
||||
methods: {
|
||||
switchColor (type) {
|
||||
switch (type) {
|
||||
case 1:
|
||||
this.$refs.content.classList.value = 'content overall_orange'
|
||||
break
|
||||
case 2:
|
||||
this.$refs.content.classList.value = 'content overall_lightgreen'
|
||||
break
|
||||
case 3:
|
||||
this.$refs.content.classList.value = 'content overall_blue'
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="stylus" scoped>
|
||||
@import '~@style/mixin.styl'
|
||||
.content
|
||||
_wh(100%, 100vh)
|
||||
.body-container
|
||||
_wh(calc(100% - 30px), calc(100% - 55px))
|
||||
margin 0 auto 10px
|
||||
padding 5px
|
||||
border 1px solid #484cce
|
||||
.main-container
|
||||
_wh(100%, 100%)
|
||||
</style>
|
||||
115
src/pages/modules/lettering/lettering-process.vue
Normal file
115
src/pages/modules/lettering/lettering-process.vue
Normal file
@@ -0,0 +1,115 @@
|
||||
<template>
|
||||
<div class="order-wraper">
|
||||
<div class="search-confirm-wrap">
|
||||
<div class="search-wrap">
|
||||
<div class="search-item">
|
||||
<div class="search-label">车间</div>
|
||||
<div class="filter_input_wraper">
|
||||
<el-select v-model="value1" filterable clearable placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in options1"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search-item">
|
||||
<div class="search-label">设备</div>
|
||||
<div class="filter_input_wraper">
|
||||
<el-select v-model="value2" filterable clearable placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in options2"
|
||||
:key="item.device_code"
|
||||
:label="item.device_name"
|
||||
:value="item.device_code">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search-item">
|
||||
<div class="search-label">数量</div>
|
||||
<div class="filter_input_wraper">
|
||||
<input type="number" class="filter-input" v-model="qty">
|
||||
</div>
|
||||
</div>
|
||||
<div class="search-item_3">
|
||||
<button class="button button--primary" :disabled="disabled2" :class="{'button--defalut': value2 === ''}" @click="_letterCallVechile">补空框</button>
|
||||
<button class="button button--primary" :disabled="disabled1" :class="{'button--defalut': qty === '' || value2 === ''}" @click="toSure">人工倒料</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {pourDictList, letterDeviceList, pourdeviceinstorQty, letterCallVechile} from '@config/getData2.js'
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
options1: [],
|
||||
value1: '',
|
||||
options2: [],
|
||||
value2: '',
|
||||
qty: '',
|
||||
disabled1: false
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this._letterDeviceList()
|
||||
this._pourDictList()
|
||||
},
|
||||
methods: {
|
||||
// 设备下拉框
|
||||
async _letterDeviceList () {
|
||||
let res = await letterDeviceList('1535144682756116480')
|
||||
this.options2 = [...res.data]
|
||||
},
|
||||
// 车间下拉框
|
||||
async _pourDictList () {
|
||||
let res = await pourDictList('product_area')
|
||||
this.options1 = [...res.data]
|
||||
},
|
||||
// 确认入库
|
||||
async toSure () {
|
||||
this.disabled1 = true
|
||||
if (this.qty === '' || this.value2 === '') {
|
||||
this.disabled1 = false
|
||||
return
|
||||
}
|
||||
try {
|
||||
let res = await pourdeviceinstorQty(this.qty, this.value2)
|
||||
this.toast(res.message)
|
||||
this.value1 = ''
|
||||
this.qty = ''
|
||||
this.value2 = ''
|
||||
this.disabled1 = false
|
||||
} catch (e) {
|
||||
this.disabled1 = false
|
||||
}
|
||||
},
|
||||
// 补空框
|
||||
async _letterCallVechile () {
|
||||
this.disabled2 = true
|
||||
if (this.value2 === '') {
|
||||
this.disabled2 = false
|
||||
return
|
||||
}
|
||||
try {
|
||||
let res = await letterCallVechile(this.value2)
|
||||
this.toast(res.message)
|
||||
this.value1 = ''
|
||||
this.qty = ''
|
||||
this.value2 = ''
|
||||
this.disabled2 = false
|
||||
} catch (e) {
|
||||
this.disabled2 = false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="stylus" scoped>
|
||||
</style>
|
||||
96
src/pages/modules/lettering/man-pouring.vue
Normal file
96
src/pages/modules/lettering/man-pouring.vue
Normal file
@@ -0,0 +1,96 @@
|
||||
<template>
|
||||
<div class="order-wraper">
|
||||
<div class="search-confirm-wrap">
|
||||
<div class="search-wrap">
|
||||
<div class="search-item">
|
||||
<div class="search-label">车间</div>
|
||||
<div class="filter_input_wraper">
|
||||
<el-select v-model="value1" filterable clearable placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in options1"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search-item">
|
||||
<div class="search-label">设备</div>
|
||||
<div class="filter_input_wraper">
|
||||
<el-select v-model="value2" filterable clearable placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in options2"
|
||||
:key="item.device_code"
|
||||
:label="item.device_name"
|
||||
:value="item.device_code">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search-item">
|
||||
<div class="search-label">数量</div>
|
||||
<div class="filter_input_wraper">
|
||||
<input type="number" class="filter-input" v-model="qty">
|
||||
</div>
|
||||
</div>
|
||||
<div class="search-item_3">
|
||||
<button class="button button--primary" :disabled="disabled1" :class="{'button--defalut': qty === '' || value2 === ''}" @click="toSure">人工倒料</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {pourDictList, pourDeviceList, pourdeviceinstorQty} from '@config/getData2.js'
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
options1: [],
|
||||
value1: '',
|
||||
options2: [],
|
||||
value2: '',
|
||||
qty: '',
|
||||
disabled1: false
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this._pourDeviceList()
|
||||
this._pourDictList()
|
||||
},
|
||||
methods: {
|
||||
// 设备下拉框
|
||||
async _pourDeviceList () {
|
||||
let res = await pourDeviceList()
|
||||
this.options2 = [...res.data]
|
||||
},
|
||||
// 车间下拉框
|
||||
async _pourDictList () {
|
||||
let res = await pourDictList('product_area')
|
||||
this.options1 = [...res.data]
|
||||
},
|
||||
// 确认入库
|
||||
async toSure () {
|
||||
this.disabled1 = true
|
||||
if (this.qty === '' || this.value2 === '') {
|
||||
this.disabled1 = false
|
||||
return
|
||||
}
|
||||
try {
|
||||
let res = await pourdeviceinstorQty(this.qty, this.value2)
|
||||
this.toast(res.message)
|
||||
this.value1 = ''
|
||||
this.qty = ''
|
||||
this.value2 = ''
|
||||
this.disabled1 = false
|
||||
} catch (e) {
|
||||
this.disabled1 = false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="stylus" scoped>
|
||||
</style>
|
||||
Reference in New Issue
Block a user