add饵料下卷\空轴绑定\空轴退回
This commit is contained in:
213
pages/SecondPhase/slitting/BaitRoll.vue
Normal file
213
pages/SecondPhase/slitting/BaitRoll.vue
Normal file
@@ -0,0 +1,213 @@
|
||||
<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">区域</view>
|
||||
<view class="filter_input_wraper">
|
||||
<uni-data-select v-model="index2" :localdata="options2" @change="selectChange2"></uni-data-select>
|
||||
</view>
|
||||
</view>
|
||||
<view class="filter_item">
|
||||
<view class="filter_label_wraper">
|
||||
<span class="filter_label">设备</span>
|
||||
</view>
|
||||
<view class="filter_input_wraper">
|
||||
<uni-data-select v-model="index3" :localdata="options3" @change="selectChange3"></uni-data-select>
|
||||
</view>
|
||||
</view>
|
||||
<view class="filter_item">
|
||||
<view class="filter_label">点位</view>
|
||||
<view class="filter_input_wraper">
|
||||
<uni-data-select v-model="index1" :localdata="options1" @change="selectChange1"></uni-data-select>
|
||||
</view>
|
||||
</view>
|
||||
<view class="filter_item">
|
||||
<view class="filter_label">管芯左</view>
|
||||
<view class="filter_input_wraper">
|
||||
<uni-data-select v-model="upL" :searchInput="true" :localdata="newaxis1" @handleChange="handleChange1" @showSelector="showSelector1"></uni-data-select>
|
||||
</view>
|
||||
</view>
|
||||
<view class="filter_item">
|
||||
<view class="filter_label">管芯右</view>
|
||||
<view class="filter_input_wraper">
|
||||
<uni-data-select v-model="upR" :searchInput="true" :localdata="newaxis2" @handleChange="handleChange2" @showSelector="showSelector2"></uni-data-select>
|
||||
</view>
|
||||
</view>
|
||||
<view class="filter_item">
|
||||
<view class="filter_label">轴位置</view>
|
||||
<view class="filter_input_wraper">
|
||||
<radio-group @change="radioChange">
|
||||
<label class="mgr20" v-for="(item, index) in options4" :key="item.value">
|
||||
<radio :value="item.value" :checked="index === current" style="transform:scale(0.8)" />
|
||||
<text class="filter_unit">{{item.text}}</text>
|
||||
</label>
|
||||
</radio-group>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="zd-row submitbar">
|
||||
<button class="zd-col-6 btn-submit btn-default letter-30" @tap="clearUp">清空</button>
|
||||
<button class="zd-col-15 btn-submit btn-success letter-30" :class="{'btn-info': !index1 ||!index2 || !index3 || (!upL && !upR)}" :disabled="disabled" @tap="_downBait">确认下卷</button>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import NavBar from '@/components/NavBar.vue'
|
||||
import SearchBox from '@/components/SearchBox.vue'
|
||||
import {queryProductArea, queryDeviceByarea, devicePointQuery} from '@/utils/getData2.js'
|
||||
import {paperQueryPaperMaterial, downBait} from '@/utils/getData3.js'
|
||||
export default {
|
||||
components: {
|
||||
NavBar,
|
||||
SearchBox
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
title: '',
|
||||
options1: [],
|
||||
index1: '',
|
||||
options2: [],
|
||||
index2: '',
|
||||
options3: [],
|
||||
index3: '',
|
||||
disabled: false,
|
||||
axis: [],
|
||||
newaxis1: [],
|
||||
newaxis2: [],
|
||||
upL: '',
|
||||
upR: '',
|
||||
options4: [{value: '1', text: '上轴'}, {value: '2', text: '下轴'}],
|
||||
index4: '1',
|
||||
current: 0
|
||||
};
|
||||
},
|
||||
onLoad (options) {
|
||||
this.title = options.title
|
||||
this._queryProductArea()
|
||||
this._paperQueryPaperMaterial()
|
||||
},
|
||||
methods: {
|
||||
radioChange (e) {
|
||||
this.index4 = e.detail.value
|
||||
},
|
||||
/** 生产区域下拉框查询 */
|
||||
async _queryProductArea () {
|
||||
let res = await queryProductArea()
|
||||
this.options2 = [...res.data]
|
||||
},
|
||||
selectChange2(e) {
|
||||
this.index2 = e
|
||||
if (e) {
|
||||
this._queryDeviceByarea(e)
|
||||
} else {
|
||||
this.index3 = ''
|
||||
this.options3 = []
|
||||
}
|
||||
},
|
||||
/** 设备下拉框 */
|
||||
async _queryDeviceByarea (e) {
|
||||
let res = await queryDeviceByarea(e)
|
||||
if (res && res.data) {
|
||||
this.options3 = [...res.data]
|
||||
}
|
||||
},
|
||||
selectChange3(e) {
|
||||
this.index3 = e
|
||||
if (e) {
|
||||
this._devicePointQuery(e)
|
||||
} else {
|
||||
this.index1 = ''
|
||||
this.options1 = []
|
||||
}
|
||||
},
|
||||
/** 点位下拉框查询 */
|
||||
async _devicePointQuery (e) {
|
||||
let res = await devicePointQuery(e)
|
||||
this.options1 = [...res.data]
|
||||
},
|
||||
selectChange1(e) {
|
||||
this.index = e
|
||||
},
|
||||
clearUp () {
|
||||
this.index1 = ''
|
||||
this.index2 = ''
|
||||
this.index3 = ''
|
||||
this.options3 = []
|
||||
this.options1 = []
|
||||
this.upL = ''
|
||||
this.upR = ''
|
||||
this.disabled = false
|
||||
},
|
||||
/** 确认 */
|
||||
async _downBait () {
|
||||
this.disabled = true
|
||||
if (!this.index1 ||!this.index2 || !this.index3 || (!this.upL && !this.upR)) {
|
||||
this.disabled = false
|
||||
return
|
||||
}
|
||||
try {
|
||||
let upLT = ''
|
||||
let upRT = ''
|
||||
this.axis.map(el => {
|
||||
if (el.value === this.upL) {
|
||||
upLT = el.text
|
||||
}
|
||||
if (el.value === this.upR) {
|
||||
upRT = el.text
|
||||
}
|
||||
})
|
||||
let res = await downBait(this.index2, this.index3, this.index1, this.upL, upLT, this.upR, upRT, this.index4)
|
||||
this.disabled = false
|
||||
uni.showToast({
|
||||
title: res.message,
|
||||
icon: 'none'
|
||||
})
|
||||
} catch (e) {
|
||||
this.disabled = false
|
||||
}
|
||||
},
|
||||
/** 管芯下拉框 */
|
||||
async _paperQueryPaperMaterial () {
|
||||
let res = await paperQueryPaperMaterial()
|
||||
this.axis = [...res.rows]
|
||||
},
|
||||
/** 模糊匹配 */
|
||||
selectMatchItem (lists, keyWord) {
|
||||
let resArr = []
|
||||
lists.filter((item) => {
|
||||
if (item.text.indexOf(keyWord) > -1) {
|
||||
resArr.push(item)
|
||||
}
|
||||
})
|
||||
return resArr
|
||||
},
|
||||
handleChange1 (e) {
|
||||
if (e){
|
||||
this.upL = ''
|
||||
this.newaxis1 = this.selectMatchItem(this.axis, e)
|
||||
} else {
|
||||
this.newaxis1 = this.axis
|
||||
}
|
||||
},
|
||||
showSelector1 () {
|
||||
this.newaxis1 = this.axis
|
||||
},
|
||||
handleChange2 (e) {
|
||||
if (e){
|
||||
this.upR = ''
|
||||
this.newaxis2 = this.selectMatchItem(this.axis, e)
|
||||
} else {
|
||||
this.newaxis2 = this.axis
|
||||
}
|
||||
},
|
||||
showSelector2 () {
|
||||
this.newaxis2 = this.axis
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
115
pages/SecondPhase/slitting/EmptyAxisBind.vue
Normal file
115
pages/SecondPhase/slitting/EmptyAxisBind.vue
Normal file
@@ -0,0 +1,115 @@
|
||||
<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">分切暂存位</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">气胀轴规格</span>
|
||||
</view>
|
||||
<view class="filter_input_wraper">
|
||||
<uni-data-select v-model="index1" :localdata="options1" @change="selectChange1"></uni-data-select>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="zd-row submitbar">
|
||||
<button class="zd-col-5 btn-submit btn-default" @tap="clearUp">清空</button>
|
||||
<button class="zd-col-8 btn-submit btn-success" :class="{'btn-info': !val1 || !index1}" @tap="toSure1">清除</button>
|
||||
<button class="zd-col-8 btn-submit btn-success" :class="{'btn-info': !val1 || !index1}" @tap="toSure3">气胀轴绑定</button>
|
||||
</view>
|
||||
<uni-popup ref="alertDialog" type="dialog">
|
||||
<uni-popup-dialog type="info" cancelText="关闭" confirmText="确定" title="提示" :content="content" @confirm="dialogConfirm"></uni-popup-dialog>
|
||||
</uni-popup>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import NavBar from '@/components/NavBar.vue'
|
||||
import SearchBox from '@/components/SearchBox.vue'
|
||||
import {toCleanCutCacheInventory, slitterShaftBinding} from '@/utils/getData3.js'
|
||||
export default {
|
||||
components: {
|
||||
NavBar,
|
||||
SearchBox
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
title: '',
|
||||
val1: '',
|
||||
options1: [{text: '3寸4代', value: '3-4'}, {text: '3寸5代', value: '3-5'}, {text: '6寸5代', value: '6-5'}],
|
||||
index1: '',
|
||||
content: '',
|
||||
type: ''
|
||||
};
|
||||
},
|
||||
onLoad (options) {
|
||||
this.title = options.title
|
||||
},
|
||||
methods: {
|
||||
selectChange1(e) {
|
||||
this.index1 = e
|
||||
},
|
||||
dialogConfirm () {
|
||||
if (this.type === 1) {
|
||||
this._toCleanCutCacheInventory()
|
||||
} else if (this.type === 3) {
|
||||
this._slitterShaftBinding()
|
||||
}
|
||||
},
|
||||
toSure1 () {
|
||||
if (!this.val1) {
|
||||
return
|
||||
}
|
||||
this.content = '确认是否清除点位数据?'
|
||||
this.type = 1
|
||||
this.$refs.alertDialog.open()
|
||||
},
|
||||
async _toCleanCutCacheInventory () {
|
||||
try {
|
||||
let res = await toCleanCutCacheInventory(this.val1)
|
||||
uni.showToast({
|
||||
title: res.message,
|
||||
icon: 'none'
|
||||
})
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
}
|
||||
},
|
||||
toSure3 () {
|
||||
if (!this.val1 || !this.index1) {
|
||||
return
|
||||
}
|
||||
this.content = '确认是否绑定气胀轴?'
|
||||
this.type = 3
|
||||
this.$refs.alertDialog.open()
|
||||
},
|
||||
async _slitterShaftBinding () {
|
||||
let obj = this.options1.find(item => item.value === this.index1)
|
||||
try {
|
||||
let res = await slitterShaftBinding(this.val1, obj)
|
||||
uni.showToast({
|
||||
title: res.message,
|
||||
icon: 'none'
|
||||
})
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
}
|
||||
},
|
||||
clearUp () {
|
||||
this.val1 = ''
|
||||
this.index1 = ''
|
||||
this.disabled = false
|
||||
this.disabled1 = false
|
||||
this.disabled2 = false
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
152
pages/SecondPhase/slitting/EmptyAxisReturn.vue
Normal file
152
pages/SecondPhase/slitting/EmptyAxisReturn.vue
Normal file
@@ -0,0 +1,152 @@
|
||||
<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">区域</view>
|
||||
<view class="filter_input_wraper">
|
||||
<uni-data-select v-model="index2" :localdata="options2" @change="selectChange2"></uni-data-select>
|
||||
</view>
|
||||
</view>
|
||||
<view class="filter_item">
|
||||
<view class="filter_label">点位</view>
|
||||
<view class="filter_input_wraper">
|
||||
<uni-data-select v-model="index" :searchInput="true" :localdata="newoptions" @change="selectChange" @handleChange="handleChange" @showSelector="showSelector"></uni-data-select>
|
||||
</view>
|
||||
</view>
|
||||
<view class="msg_item">暂存A位:{{obj.a_point}}</view>
|
||||
<view class="msg_item">暂存B位:{{obj.b_point}}</view>
|
||||
<view class="msg_item">状态:{{obj.status}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="zd-row submitbar">
|
||||
<button class="zd-col-6 btn-submit btn-default letter-30" @tap="clearUp">清空</button>
|
||||
<button class="zd-col-15 btn-submit btn-success letter-30" :class="{'btn-info': !index}" :disabled="disabled" @tap="toSure">内包间</button>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import NavBar from '@/components/NavBar.vue'
|
||||
import {queryProductArea} from '@/utils/getData2.js'
|
||||
import {getCutCacheAgvPoints, queryCacheDownSubVolumeInfos, returnShaft} from '@/utils/getData3.js'
|
||||
export default {
|
||||
components: {
|
||||
NavBar
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
title: '',
|
||||
options: [],
|
||||
index: '',
|
||||
newoptions: [],
|
||||
options2: [],
|
||||
index2: '',
|
||||
obj: {a_point: '-', b_point: '-', status: '-'},
|
||||
disabled: false
|
||||
};
|
||||
},
|
||||
onLoad (options) {
|
||||
this.title = options.title
|
||||
},
|
||||
created () {
|
||||
this._queryProductArea()
|
||||
},
|
||||
methods: {
|
||||
selectChange2(e) {
|
||||
this.index2 = e
|
||||
if (e) {
|
||||
this._getCutCacheAgvPoints(e)
|
||||
} else {
|
||||
this.index = ''
|
||||
}
|
||||
},
|
||||
/** 生产区域下拉框查询 */
|
||||
async _queryProductArea () {
|
||||
let res = await queryProductArea()
|
||||
this.options2 = [...res.data]
|
||||
},
|
||||
selectChange (e) {
|
||||
this.index = e
|
||||
if (e) {
|
||||
this._queryCacheDownSubVolumeInfos()
|
||||
} else {
|
||||
this.obj = {a_point: '-', b_point: '-', status: '-'}
|
||||
}
|
||||
},
|
||||
/** 模糊匹配 */
|
||||
selectMatchItem (lists, keyWord) {
|
||||
let resArr = []
|
||||
lists.filter((item) => {
|
||||
if (item.text.indexOf(keyWord) > -1) {
|
||||
resArr.push(item)
|
||||
}
|
||||
})
|
||||
return resArr
|
||||
},
|
||||
handleChange (e) {
|
||||
if (e){
|
||||
this.index = ''
|
||||
this.newoptions = this.selectMatchItem(this.options, e)
|
||||
} else {
|
||||
this.newoptions = this.options
|
||||
}
|
||||
},
|
||||
showSelector () {
|
||||
this.newoptions = this.options
|
||||
},
|
||||
async _getCutCacheAgvPoints (e) {
|
||||
let res = await getCutCacheAgvPoints(e)
|
||||
this.options = [...res]
|
||||
this.newoptions = [...res]
|
||||
},
|
||||
toSure () {
|
||||
this.disabled = true
|
||||
if (!this.index) {
|
||||
this.disabled = false
|
||||
return
|
||||
}
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '确认是否创建送到内包间AGV任务?',
|
||||
confirmColor: '#ff6a00',
|
||||
success: (res) => {
|
||||
if (res.confirm) {
|
||||
this._returnShaft()
|
||||
} else if (res.cancel) {
|
||||
this.disabled = false
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
async _returnShaft () {
|
||||
try {
|
||||
let res = await returnShaft(this.index)
|
||||
uni.showToast({
|
||||
title: res.message,
|
||||
icon: 'none'
|
||||
})
|
||||
this.disabled = false
|
||||
} catch (e) {
|
||||
this.disabled = false
|
||||
}
|
||||
},
|
||||
clearUp () {
|
||||
this.index = ''
|
||||
this.index2 = ''
|
||||
this.options = []
|
||||
this.obj = {a_point: '-', b_point: '-', status: '-'}
|
||||
},
|
||||
async _queryCacheDownSubVolumeInfos () {
|
||||
try {
|
||||
let res = await queryCacheDownSubVolumeInfos(this.index)
|
||||
this.obj = res.data
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -217,6 +217,8 @@
|
||||
border-top-right-radius 20rpx
|
||||
z-index 2017
|
||||
transition all .3s
|
||||
max-height 90vh
|
||||
overflow-y auto
|
||||
.modal
|
||||
position fixed
|
||||
bottom 0
|
||||
|
||||
Reference in New Issue
Block a user