烘烤工序质检不合格/新增母卷决策页面/新增冷却区生箔详情页面
This commit is contained in:
16
pages.json
16
pages.json
@@ -719,6 +719,22 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
,{
|
||||||
|
"path" : "pages/SecondPhase/production/MjMake",
|
||||||
|
"style" :
|
||||||
|
{
|
||||||
|
"navigationStyle": "custom"
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
,{
|
||||||
|
"path" : "pages/SecondPhase/production/SboCool",
|
||||||
|
"style" :
|
||||||
|
{
|
||||||
|
"navigationStyle": "custom"
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
],
|
],
|
||||||
"globalStyle": {
|
"globalStyle": {
|
||||||
// "pageOrientation": "landscape",
|
// "pageOrientation": "landscape",
|
||||||
|
|||||||
@@ -23,13 +23,19 @@
|
|||||||
<view class="filter_item">
|
<view class="filter_item">
|
||||||
<view class="filter_label">{{$t('filter.temperature')}}</view>
|
<view class="filter_label">{{$t('filter.temperature')}}</view>
|
||||||
<view class="filter_input_wraper">
|
<view class="filter_input_wraper">
|
||||||
<input type="text" class="filter_input" v-model="val3">
|
<input type="number" class="filter_input" v-model="val3">
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="filter_item">
|
<view class="filter_item">
|
||||||
<view class="filter_label">{{$t('filter.time')}}</view>
|
<view class="filter_label">{{$t('filter.time')}}(分)</view>
|
||||||
<view class="filter_input_wraper">
|
<view class="filter_input_wraper">
|
||||||
<input type="text" class="filter_input" v-model="val4">
|
<input type="number" class="filter_input" v-model="val4">
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="filter_item">
|
||||||
|
<view class="filter_label">类型</view>
|
||||||
|
<view class="filter_input_wraper">
|
||||||
|
<uni-data-select v-model="index" :placeholder="$t('uni.dataSelect.placeholder')" :emptyTips="$t('uni.dataSelect.emptyTips')" :localdata="options"></uni-data-select>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -38,7 +44,7 @@
|
|||||||
<button class="zd-col-5 btn-submit btn-success letter-30" :class="{'btn-info': !val1 || !val2 || !val3 || !val4}" :disabled="disabled" @tap="_ovenInAndOut1('1')">{{$t('button.enter-box')}}</button>
|
<button class="zd-col-5 btn-submit btn-success letter-30" :class="{'btn-info': !val1 || !val2 || !val3 || !val4}" :disabled="disabled" @tap="_ovenInAndOut1('1')">{{$t('button.enter-box')}}</button>
|
||||||
<button class="zd-col-5 btn-submit btn-success letter-30" :class="{'btn-info': !val1 || !val2}" :disabled="disabled" @tap="_ovenInAndOut2('2')">{{$t('button.out-box')}}</button>
|
<button class="zd-col-5 btn-submit btn-success letter-30" :class="{'btn-info': !val1 || !val2}" :disabled="disabled" @tap="_ovenInAndOut2('2')">{{$t('button.out-box')}}</button>
|
||||||
<button class="zd-col-5 btn-submit btn-success" :class="{'btn-info': !val1 || !val2}" :disabled="disabled3" @tap="_inCoolIvt">{{$t('button.quality-approved')}}</button>
|
<button class="zd-col-5 btn-submit btn-success" :class="{'btn-info': !val1 || !val2}" :disabled="disabled3" @tap="_inCoolIvt">{{$t('button.quality-approved')}}</button>
|
||||||
<button class="zd-col-5 btn-submit btn-success letter-30" :class="{'btn-info': !val1}" :disabled="disabled4" @tap="_bakingrelease">{{$t('button.all-clear')}}</button>
|
<button class="zd-col-5 btn-submit btn-success letter-30" :class="{'btn-info': !((val1 && val2 && index === '1') || (val1 && val2 && val3 && val4 && index === '2'))}" :disabled="disabled4" @tap="_inCoolOrOven">质检不合格</button>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
@@ -46,7 +52,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import NavBar from '@/components/NavBar.vue'
|
import NavBar from '@/components/NavBar.vue'
|
||||||
import SearchBox from '@/components/SearchBox.vue'
|
import SearchBox from '@/components/SearchBox.vue'
|
||||||
import {ovenInAndOut, inCoolIvt, bakingrelease, bakingquery} from '@/utils/getData1.js'
|
import {ovenInAndOut, inCoolIvt, bakingquery, inCoolOrOven} from '@/utils/getData1.js'
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
NavBar,
|
NavBar,
|
||||||
@@ -59,6 +65,8 @@
|
|||||||
val2: '',
|
val2: '',
|
||||||
val3: '',
|
val3: '',
|
||||||
val4: '',
|
val4: '',
|
||||||
|
index: '',
|
||||||
|
options: [{value: '1', text: '入冷却'}, {value: '2', text: '入烘箱'}],
|
||||||
disabled: false,
|
disabled: false,
|
||||||
disabled3: false,
|
disabled3: false,
|
||||||
disabled4: false
|
disabled4: false
|
||||||
@@ -138,14 +146,15 @@
|
|||||||
this.disabled3 = false
|
this.disabled3 = false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async _bakingrelease () {
|
// 质检不合格
|
||||||
|
async _inCoolOrOven () {
|
||||||
this.disabled4 = true
|
this.disabled4 = true
|
||||||
if (!this.val1) {
|
if (!((this.val1 && this.val2 && this.index === '1') || (this.val1 && this.val2 && this.val3 && this.val4 && this.index === '2'))) {
|
||||||
this.disabled4 = false
|
this.disabled4 = false
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
let res = await bakingrelease(this.val1)
|
let res = await inCoolOrOven(this.val1, this.val2, this.val3, this.val4, this.index)
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: res.message,
|
title: res.message,
|
||||||
icon: 'none'
|
icon: 'none'
|
||||||
|
|||||||
76
pages/SecondPhase/production/MjMake.vue
Normal file
76
pages/SecondPhase/production/MjMake.vue
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
<template>
|
||||||
|
<view class="zd_container">
|
||||||
|
<!-- <nav-bar title="母卷决策"></nav-bar> -->
|
||||||
|
<nav-bar :title="title"></nav-bar>
|
||||||
|
<view class="zd_content">
|
||||||
|
<view class="zd_wrapper">
|
||||||
|
<view class="filter_item">
|
||||||
|
<view class="filter_label_wraper">
|
||||||
|
<span class="filter_label">{{$t('filter.mother-roll')}}</span>
|
||||||
|
</view>
|
||||||
|
<view class="filter_input_wraper">
|
||||||
|
<search-box v-model="val1" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="filter_item">
|
||||||
|
<view class="filter_label">类型</view>
|
||||||
|
<view class="filter_input_wraper">
|
||||||
|
<uni-data-select v-model="index" :placeholder="$t('uni.dataSelect.placeholder')" :emptyTips="$t('uni.dataSelect.emptyTips')" :localdata="options"></uni-data-select>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="zd-row submitbar">
|
||||||
|
<button class="zd-col-6 btn-submit btn-default" @tap="clearUp">{{$t('button.clear')}}</button>
|
||||||
|
<button class="zd-col-15 btn-submit btn-success" :class="{'btn-info': !val1 || !index}" :disabled="disabled" @tap="_bakingReBake">{{$t('button.confirm')}}</button>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import NavBar from '@/components/NavBar.vue'
|
||||||
|
import SearchBox from '@/components/SearchBox.vue'
|
||||||
|
import {bakingReBake} from '@/utils/getData3.js'
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
NavBar,
|
||||||
|
SearchBox
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
title: '',
|
||||||
|
val1: '',
|
||||||
|
index: '',
|
||||||
|
options: [{value: '1', text: '决策入烘箱'}, {value: '2', text: '决策入冷却'}],
|
||||||
|
disabled: false
|
||||||
|
};
|
||||||
|
},
|
||||||
|
onLoad (options) {
|
||||||
|
this.title = options.title
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
clearUp () {
|
||||||
|
this.val1 = ''
|
||||||
|
this.index = ''
|
||||||
|
this.disabled = false
|
||||||
|
},
|
||||||
|
async _bakingReBake () {
|
||||||
|
this.disabled = true
|
||||||
|
if (!this.val1 || !this.index) {
|
||||||
|
this.disabled = false
|
||||||
|
return
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
let res = await bakingReBake(this.val1, this.index)
|
||||||
|
uni.showToast({
|
||||||
|
title: res.message,
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
this.clearUp()
|
||||||
|
} catch (e) {
|
||||||
|
this.disabled = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
160
pages/SecondPhase/production/SboCool.vue
Normal file
160
pages/SecondPhase/production/SboCool.vue
Normal file
@@ -0,0 +1,160 @@
|
|||||||
|
<template>
|
||||||
|
<view class="zd_container">
|
||||||
|
<!-- <nav-bar title="冷却区生箔详情"></nav-bar> -->
|
||||||
|
<nav-bar :title="title"></nav-bar>
|
||||||
|
<view class="zd_content">
|
||||||
|
<view class="zd_wrapper">
|
||||||
|
<view class="filter_item">
|
||||||
|
<view class="filter_label">{{$t('filter.area')}}</view>
|
||||||
|
<view class="filter_input_wraper">
|
||||||
|
<uni-data-select v-model="index" :placeholder="$t('uni.dataSelect.placeholder')" :emptyTips="$t('uni.dataSelect.emptyTips')" :localdata="options"></uni-data-select>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="filter_item">
|
||||||
|
<view class="filter_label_wraper">
|
||||||
|
<span class="filter_label">{{$t('grid.point-code')}}</span>
|
||||||
|
</view>
|
||||||
|
<view class="filter_input_wraper">
|
||||||
|
<search-box v-model="val1" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="filter_item">
|
||||||
|
<view class="filter_label_wraper">
|
||||||
|
<span class="filter_label">{{$t('grid.mother-roll-number')}}</span>
|
||||||
|
</view>
|
||||||
|
<view class="filter_input_wraper">
|
||||||
|
<search-box v-model="val2" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="zd_wrapper grid-wraper">
|
||||||
|
<view class="slide_new">
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>{{$t('grid.point-code')}}</th>
|
||||||
|
<th>{{$t('grid.mother-roll-number')}}</th>
|
||||||
|
<th>满轴位</th>
|
||||||
|
<th>满轴位状态</th>
|
||||||
|
<th>空轴位</th>
|
||||||
|
<th>空轴位状态</th>
|
||||||
|
<th>母卷来源</th>
|
||||||
|
<th>母卷状态</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr v-for="(e, i) in dataList" :key="i">
|
||||||
|
<td>{{e.point_code}}</td>
|
||||||
|
<td>{{e.container_name}}</td>
|
||||||
|
<td>{{e.full_point_code}}</td>
|
||||||
|
<td>{{e.full_point_status}}</td>
|
||||||
|
<td>{{e.empty_point_code}}</td>
|
||||||
|
<td>{{e.empty_point_status}}</td>
|
||||||
|
<td>{{e.origin}}</td>
|
||||||
|
<td>{{e.roll_status}}</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<uni-load-more color="#007AFF" iconType="circle" :status="status" :icon-size="14" :content-text="contentText" v-if="dataList.length > 0"/>
|
||||||
|
</view>
|
||||||
|
<view class="zd-row submitbar">
|
||||||
|
<button class="zd-col-22 btn-submit btn-success" @tap="searchList">{{$t('button.search')}}</button>
|
||||||
|
</view>
|
||||||
|
<up-top ref="UT" :scrollTop="top"></up-top>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import NavBar from '@/components/NavBar.vue'
|
||||||
|
import SearchBox from '@/components/SearchBox.vue'
|
||||||
|
import UpTop from '@/components/upTop.vue'
|
||||||
|
import {queryProductArea} from '@/utils/getData1.js'
|
||||||
|
import {rawQuery} from '@/utils/getData3.js'
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
NavBar,
|
||||||
|
SearchBox,
|
||||||
|
UpTop
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
title: '',
|
||||||
|
top: 0,
|
||||||
|
val1: '',
|
||||||
|
val2: '',
|
||||||
|
options: [],
|
||||||
|
index: '',
|
||||||
|
dataList: [],
|
||||||
|
reload: false,
|
||||||
|
status: 'more',
|
||||||
|
contentText: {
|
||||||
|
contentdown: '查看更多',
|
||||||
|
contentrefresh: '加载中',
|
||||||
|
contentnomore: '没有更多'
|
||||||
|
},
|
||||||
|
totalCount: 0,
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10
|
||||||
|
};
|
||||||
|
},
|
||||||
|
onPageScroll(e) {
|
||||||
|
this.$refs.UT.topData(e.scrollTop)
|
||||||
|
},
|
||||||
|
onLoad (options) {
|
||||||
|
this.title = options.title
|
||||||
|
},
|
||||||
|
created () {
|
||||||
|
this._rawQuery()
|
||||||
|
this._queryProductArea()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
searchList () {
|
||||||
|
this.dataList = []
|
||||||
|
this.pageNum = 1
|
||||||
|
this._rawQuery()
|
||||||
|
},
|
||||||
|
/** 生产区域下拉框查询 */
|
||||||
|
async _queryProductArea () {
|
||||||
|
let res = await queryProductArea()
|
||||||
|
this.options = [...res.data]
|
||||||
|
},
|
||||||
|
/** 初始化查询 */
|
||||||
|
async _rawQuery () {
|
||||||
|
let res = await rawQuery(this.val1, this.val2, this.index, this.pageNum + '', this.pageSize + '')
|
||||||
|
this.totalCount = res.size
|
||||||
|
if (res.size > 0) {
|
||||||
|
const dataMap = res.data
|
||||||
|
this.dataList = this.reload ? dataMap : this.dataList.concat(dataMap)
|
||||||
|
this.reload = false
|
||||||
|
} else {
|
||||||
|
this.dataList = []
|
||||||
|
}
|
||||||
|
if (this.totalCount == this.dataList.length) {
|
||||||
|
this.reload = false
|
||||||
|
this.status = 'noMore'
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
onReachBottom () {
|
||||||
|
if (this.totalCount > this.dataList.length) {
|
||||||
|
this.status = 'loading'
|
||||||
|
setTimeout(() => {
|
||||||
|
this.pageNum++
|
||||||
|
this._rawQuery()
|
||||||
|
}, 1000)
|
||||||
|
} else { //停止加载
|
||||||
|
this.status = 'noMore'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="stylus" scoped>
|
||||||
|
.slide_new table .bgred td:first-child
|
||||||
|
background-image linear-gradient(to right,#E9B451,#fff)
|
||||||
|
.slide_new table .bgyellow td:first-child
|
||||||
|
background-image linear-gradient(to right,#c2cde3,#fff)
|
||||||
|
</style>
|
||||||
@@ -63,9 +63,6 @@
|
|||||||
@clear="handleClear"
|
@clear="handleClear"
|
||||||
@search="searchList"
|
@search="searchList"
|
||||||
>
|
>
|
||||||
<view class="mgt40">
|
|
||||||
<button size="mini" type="primary" :disabled="disabled1" @tap="_createOrder">{{$t('button.add-order')}}</button>
|
|
||||||
</view>
|
|
||||||
</SearchPopup>
|
</SearchPopup>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
@@ -175,20 +172,6 @@
|
|||||||
this.status = 'noMore'
|
this.status = 'noMore'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 新增工单
|
|
||||||
async _createOrder () {
|
|
||||||
this.disabled1 = true
|
|
||||||
try {
|
|
||||||
let res = await createOrder(this.conditions[0].value, this.conditions[1].value)
|
|
||||||
this.disabled1 = false
|
|
||||||
uni.showToast({
|
|
||||||
title: res.message,
|
|
||||||
icon: 'none'
|
|
||||||
})
|
|
||||||
} catch (e) {
|
|
||||||
this.disabled1 = false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
// 准备就绪
|
// 准备就绪
|
||||||
async _confirmBlanking () {
|
async _confirmBlanking () {
|
||||||
this.disabled2 = true
|
this.disabled2 = true
|
||||||
|
|||||||
@@ -142,6 +142,17 @@ export const bakingquery = (pcode) => request({
|
|||||||
point_code: pcode
|
point_code: pcode
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
// 质检不合格
|
||||||
|
export const inCoolOrOven = (pcode, cname, temp, hours, type) => request({
|
||||||
|
url: 'api/pda/baking/inCoolOrOven',
|
||||||
|
data: {
|
||||||
|
point_code: pcode,
|
||||||
|
container_name: cname,
|
||||||
|
temperature: temp,
|
||||||
|
hours: hours,
|
||||||
|
type: type,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 人工烘烤
|
* 人工烘烤
|
||||||
|
|||||||
@@ -558,6 +558,26 @@ export const updatePackagePoint = (ivt, code) => request({
|
|||||||
* 分切暂存维护(二期-分切管理)
|
* 分切暂存维护(二期-分切管理)
|
||||||
*/
|
*/
|
||||||
export const cutCacheInventory = (code, type) => request({
|
export const cutCacheInventory = (code, type) => request({
|
||||||
url:'/api/pda/slitter/cutCacheInventory',
|
url:'api/pda/slitter/cutCacheInventory',
|
||||||
data: {point_code: code, type: type}
|
data: {point_code: code, type: type}
|
||||||
|
})
|
||||||
|
/**
|
||||||
|
* 母卷决策
|
||||||
|
*/
|
||||||
|
export const bakingReBake = (code, type) => request({
|
||||||
|
url:'api/pda/baking/reBake',
|
||||||
|
data: {container_name: code, type: type}
|
||||||
|
})
|
||||||
|
/**
|
||||||
|
* 冷却区生箔详情
|
||||||
|
*/
|
||||||
|
export const rawQuery = (pcode, cname, parea, page, size) => request({
|
||||||
|
url:'api/pda/raw/query',
|
||||||
|
data: {
|
||||||
|
point_code: pcode,
|
||||||
|
container_name: cname,
|
||||||
|
product_area: parea,
|
||||||
|
page: page,
|
||||||
|
size: size
|
||||||
|
}
|
||||||
})
|
})
|
||||||
@@ -82,7 +82,9 @@ export const allAuthority = () => {
|
|||||||
{menu_id: '8', title: '子卷装箱', path: '/pages/SecondPhase/production/ZjContainer'},
|
{menu_id: '8', title: '子卷装箱', path: '/pages/SecondPhase/production/ZjContainer'},
|
||||||
{menu_id: '8', title: '木箱库存', path: '/pages/SecondPhase/production/BoxStock'},
|
{menu_id: '8', title: '木箱库存', path: '/pages/SecondPhase/production/BoxStock'},
|
||||||
{menu_id: '8', title: '子卷入库', path: '/pages/SecondPhase/production/ZjInStore'},
|
{menu_id: '8', title: '子卷入库', path: '/pages/SecondPhase/production/ZjInStore'},
|
||||||
{menu_id: '8', title: '标签打印', path: '/pages/SecondPhase/production/PrintTable'}
|
{menu_id: '8', title: '标签打印', path: '/pages/SecondPhase/production/PrintTable'},
|
||||||
|
{menu_id: '8', title: '母卷决策', path: '/pages/SecondPhase/production/MjMake'},
|
||||||
|
{menu_id: '8', title: '冷却区生箔详情', path: '/pages/SecondPhase/production/SboCool'}
|
||||||
]},
|
]},
|
||||||
{menu_id: '5', path: 'RF03', title: '分切管理', sonTree: [
|
{menu_id: '5', path: 'RF03', title: '分切管理', sonTree: [
|
||||||
{menu_id: '1', title: '分切上料', path: '/pages/SecondPhase/slitting/SlittingFeeding'},
|
{menu_id: '1', title: '分切上料', path: '/pages/SecondPhase/slitting/SlittingFeeding'},
|
||||||
|
|||||||
Reference in New Issue
Block a user