新增二期呼叫套轴,分切上料2加功能
This commit is contained in:
@@ -8,3 +8,4 @@
|
|||||||
+ 线上菜单接口地址:(https://apifox.com/apidoc/shared-cb4996b0-0426-44a6-82a5-0cefe2540fb9/api-152616802)
|
+ 线上菜单接口地址:(https://apifox.com/apidoc/shared-cb4996b0-0426-44a6-82a5-0cefe2540fb9/api-152616802)
|
||||||
+ 生产入库、退货入库、报废入库、拆分入库这几个页面的木箱输入框只能扫码,不能输入;盘点明细页面木箱输入框只能扫码,不能输入,点击确定按钮后再次获取焦点;虚拟区发货确认、生产区发货确认两个页面点击确认后会再次获取焦点
|
+ 生产入库、退货入库、报废入库、拆分入库这几个页面的木箱输入框只能扫码,不能输入;盘点明细页面木箱输入框只能扫码,不能输入,点击确定按钮后再次获取焦点;虚拟区发货确认、生产区发货确认两个页面点击确认后会再次获取焦点
|
||||||
+ 一期二期菜单会公用一个页面
|
+ 一期二期菜单会公用一个页面
|
||||||
|
+ 插件uni-data-select不能升级,会影响模糊搜索
|
||||||
@@ -113,6 +113,19 @@ uni-button:after {
|
|||||||
background-color: #E9B451;
|
background-color: #E9B451;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.icon_close::before {
|
||||||
|
content: "\e6dc";
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon_close {
|
||||||
|
width: 48rpx;
|
||||||
|
height: 48rpx;
|
||||||
|
font-size: 40rpx;
|
||||||
|
font-weight: 700;
|
||||||
|
color: #323232;
|
||||||
|
line-height: 48rpx;
|
||||||
|
}
|
||||||
|
|
||||||
/** 内容 */
|
/** 内容 */
|
||||||
.zd_container {
|
.zd_container {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@@ -170,6 +183,11 @@ uni-button:after {
|
|||||||
.filter_label_1 {
|
.filter_label_1 {
|
||||||
line-height: 30rpx;
|
line-height: 30rpx;
|
||||||
}
|
}
|
||||||
|
.filter_label_2 {
|
||||||
|
line-height: 56rpx;
|
||||||
|
text-align: left;
|
||||||
|
text-align-last: auto;
|
||||||
|
}
|
||||||
.filter_search {
|
.filter_search {
|
||||||
width: 100rpx;
|
width: 100rpx;
|
||||||
height: 70rpx;
|
height: 70rpx;
|
||||||
@@ -202,6 +220,12 @@ uni-button:after {
|
|||||||
height: 30rpx;
|
height: 30rpx;
|
||||||
margin-top: 20rpx;
|
margin-top: 20rpx;
|
||||||
}
|
}
|
||||||
|
.filter_input_wraper_2 {
|
||||||
|
width: 100%;
|
||||||
|
height: 80rpx;
|
||||||
|
line-height: 80rpx;
|
||||||
|
margin-bottom: 10rpx;
|
||||||
|
}
|
||||||
.filter_input_wraper_inn_text {
|
.filter_input_wraper_inn_text {
|
||||||
line-height: 30rpx;
|
line-height: 30rpx;
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
@@ -446,6 +470,9 @@ uni-button[disabled]:not([type]) {
|
|||||||
top: 100%;
|
top: 100%;
|
||||||
transform: translateY(0%);
|
transform: translateY(0%);
|
||||||
}
|
}
|
||||||
|
.pophide2 {
|
||||||
|
transform: translateY(140%);
|
||||||
|
}
|
||||||
.msg_wrapper {
|
.msg_wrapper {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
top: auto;
|
top: auto;
|
||||||
@@ -616,3 +643,81 @@ uni-button[disabled]:not([type]) {
|
|||||||
.down_icon {
|
.down_icon {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
.msg_wrapper_2 {
|
||||||
|
position: fixed;
|
||||||
|
top: auto;
|
||||||
|
bottom: calc(7% - var(--status-bar-height));
|
||||||
|
left: 7%;
|
||||||
|
width: 86%;
|
||||||
|
height: 86%;
|
||||||
|
background-color: #ffffff;
|
||||||
|
box-shadow: 0 -8px 16px 0 rgba(28,31,33,.1);
|
||||||
|
border-top-left-radius: 20rpx;
|
||||||
|
border-top-right-radius: 20rpx;
|
||||||
|
z-index: 301;
|
||||||
|
transition: all .3s;
|
||||||
|
}
|
||||||
|
.pop-title_wraper_2 {
|
||||||
|
padding: 20rpx 24rpx;
|
||||||
|
border-bottom: 1rpx solid #dcdfe6;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
.pop-title_2 {
|
||||||
|
font-size: 34rpx;
|
||||||
|
line-height: 34rpx;
|
||||||
|
font-weight: 700;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
.msg_content_2 {
|
||||||
|
height: calc(100% - 220rpx);
|
||||||
|
padding: 0 24rpx;
|
||||||
|
overflow-y: auto;
|
||||||
|
position: relative;
|
||||||
|
z-index: 10000;
|
||||||
|
}
|
||||||
|
.msg_filter {
|
||||||
|
width: 100%;
|
||||||
|
min-height: 100%;
|
||||||
|
}
|
||||||
|
.msg_tip_2 {
|
||||||
|
font-size: 32rpx;
|
||||||
|
line-height: 32rpx;
|
||||||
|
font-weight: 700;
|
||||||
|
color: #333;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
text-align: left;
|
||||||
|
padding-left: 20rpx;
|
||||||
|
}
|
||||||
|
.msg_tip_2:before {
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
content: '';
|
||||||
|
width: 8rpx;
|
||||||
|
height: 30rpx;
|
||||||
|
background-color: #007aff;
|
||||||
|
border-radius: 4rpx;
|
||||||
|
}
|
||||||
|
.msg_tip_2_blue:before {
|
||||||
|
background-color: #007aff;
|
||||||
|
}
|
||||||
|
.msg_tip_2_yellow:before {
|
||||||
|
background-color: #ff791a;
|
||||||
|
}
|
||||||
|
|
||||||
|
.msg_fgx {
|
||||||
|
width: 100%;
|
||||||
|
height: 1rpx;
|
||||||
|
background: #dcdfe6;
|
||||||
|
margin: 40rpx 0;
|
||||||
|
}
|
||||||
|
.filter_input_wraper_2-bottom {
|
||||||
|
margin-bottom: 40rpx;
|
||||||
|
}
|
||||||
|
.submitbar-popup {
|
||||||
|
width: 100%;
|
||||||
|
flex-shrink:0;
|
||||||
|
background-color: #fff;
|
||||||
|
padding: 20rpx 0 19rpx 0;
|
||||||
|
box-shadow: 0 0 20rpx 0 rgba(160,160,160,0.7);
|
||||||
|
}
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
"name" : "海亮铜箔",
|
"name" : "海亮铜箔",
|
||||||
"appid" : "__UNI__3A002CD",
|
"appid" : "__UNI__3A002CD",
|
||||||
"description" : "海亮铜箔二期手持系统",
|
"description" : "海亮铜箔二期手持系统",
|
||||||
"versionName" : "1.4.4",
|
"versionName" : "1.4.5",
|
||||||
"versionCode" : 144,
|
"versionCode" : 145,
|
||||||
"transformPx" : false,
|
"transformPx" : false,
|
||||||
/* 5+App特有相关 */
|
/* 5+App特有相关 */
|
||||||
"app-plus" : {
|
"app-plus" : {
|
||||||
|
|||||||
@@ -770,6 +770,13 @@
|
|||||||
{
|
{
|
||||||
"navigationStyle": "custom"
|
"navigationStyle": "custom"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path" : "pages/SecondPhase/slitting/CallPaperShaft",
|
||||||
|
"style" :
|
||||||
|
{
|
||||||
|
"navigationStyle": "custom"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"globalStyle": {
|
"globalStyle": {
|
||||||
|
|||||||
222
pages/SecondPhase/slitting/CallPaperShaft.vue
Normal file
222
pages/SecondPhase/slitting/CallPaperShaft.vue
Normal file
@@ -0,0 +1,222 @@
|
|||||||
|
<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="index1" :localdata="options1" @change="selectChange1"></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="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="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_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_wraper">
|
||||||
|
<span class="filter_label">代数</span>
|
||||||
|
</view>
|
||||||
|
<view class="filter_input_wraper">
|
||||||
|
<uni-data-select v-model="index4" :localdata="options4" @change="selectChange4"></uni-data-select>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="filter_item">
|
||||||
|
<view class="filter_label">数量</view>
|
||||||
|
<view class="filter_input_wraper">
|
||||||
|
<!-- <input type="number" class="filter_input" v-model="qty"> -->
|
||||||
|
<NumberInput
|
||||||
|
v-model="qty"
|
||||||
|
input-class="filter_input"
|
||||||
|
mode="integer"
|
||||||
|
/>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="zd-row submitbar">
|
||||||
|
<button class="zd-col-6 btn-submit btn-default" @tap="clearUp">清空</button>
|
||||||
|
<button class="zd-col-15 btn-submit btn-success" :class="{'btn-info': !index1 || !index2 || (!upL && !upR) || !index3 || !index4 || !qty}" :disabled="disabled" @tap="_slitXnplan">呼叫套轴</button>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import NavBar from '@/components/NavBar.vue'
|
||||||
|
import SearchBox from '@/components/SearchBox.vue'
|
||||||
|
import NumberInput from '@/components/NumberInput.vue'
|
||||||
|
import {queryProductArea, queryDeviceByarea} from '@/utils/getData2.js'
|
||||||
|
import {slitXnplan, slitXnarea, paperQueryPaperMaterial} from '@/utils/getData3.js'
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
NavBar,
|
||||||
|
SearchBox,
|
||||||
|
NumberInput
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
title: '',
|
||||||
|
options1: [],
|
||||||
|
index1: '',
|
||||||
|
options2: [],
|
||||||
|
index2: '',
|
||||||
|
options3: [{text: '3寸', value: '3'}, {text: '6寸', value: '6'}],
|
||||||
|
index3: '',
|
||||||
|
options4: [{text: '4代', value: '4'}, {text: '5代', value: '5'}],
|
||||||
|
index4: '',
|
||||||
|
axis: [],
|
||||||
|
newaxis1: [],
|
||||||
|
newaxis2: [],
|
||||||
|
upL: '',
|
||||||
|
upR: '',
|
||||||
|
qty: null,
|
||||||
|
disabled: false,
|
||||||
|
disabled1: false
|
||||||
|
};
|
||||||
|
},
|
||||||
|
onLoad (options) {
|
||||||
|
this.title = options.title
|
||||||
|
this._queryProductArea()
|
||||||
|
this._paperQueryPaperMaterial()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
/** 生产区域下拉框查询 */
|
||||||
|
async _queryProductArea () {
|
||||||
|
let res = await queryProductArea()
|
||||||
|
this.options1 = [...res.data]
|
||||||
|
},
|
||||||
|
async _slitXnarea (e) {
|
||||||
|
try {
|
||||||
|
let res = await slitXnarea(e)
|
||||||
|
if (res) {
|
||||||
|
const list = res.map(el => {
|
||||||
|
return {
|
||||||
|
text: el.label,
|
||||||
|
value: el.value
|
||||||
|
}
|
||||||
|
})
|
||||||
|
this.options2 = list
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
this.options2 = []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
selectChange1(e) {
|
||||||
|
this.index1 = e
|
||||||
|
if (e) {
|
||||||
|
this._slitXnarea(e)
|
||||||
|
} else {
|
||||||
|
this.options2 = []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
selectChange2(e) {
|
||||||
|
this.index2 = e
|
||||||
|
},
|
||||||
|
selectChange3(e) {
|
||||||
|
this.index3 = e
|
||||||
|
},
|
||||||
|
selectChange4(e) {
|
||||||
|
this.index4 = e
|
||||||
|
},
|
||||||
|
async _paperQueryPaperMaterial () {
|
||||||
|
let res = await paperQueryPaperMaterial()
|
||||||
|
this.axis = [...res.rows]
|
||||||
|
},
|
||||||
|
clearUp () {
|
||||||
|
this.index1 = ''
|
||||||
|
this.index2 = ''
|
||||||
|
this.upL = ''
|
||||||
|
this.upR = ''
|
||||||
|
this.index3 = ''
|
||||||
|
this.index4 = ''
|
||||||
|
this.qty = null
|
||||||
|
this.disabled = false
|
||||||
|
this.disabled1 = false
|
||||||
|
},
|
||||||
|
async _slitXnplan () {
|
||||||
|
this.disabled = true
|
||||||
|
if (!this.index1 || !this.index2 || (!this.upL && !this.upR) || !this.index3 || !this.index4 || !this.qty) {
|
||||||
|
this.disabled = false
|
||||||
|
return
|
||||||
|
}
|
||||||
|
let upLT = ''
|
||||||
|
let upRT = ''
|
||||||
|
this.axis.map(el => {
|
||||||
|
if (el.value === this.upL) {
|
||||||
|
upLT = el.text
|
||||||
|
}
|
||||||
|
if (el.value === this.upR) {
|
||||||
|
upRT = el.text
|
||||||
|
}
|
||||||
|
})
|
||||||
|
try {
|
||||||
|
let res = await slitXnplan(this.index1, this.index2, upLT, this.upL, upRT, this.upR, this.index3, this.index4, this.qty)
|
||||||
|
this.disabled = false
|
||||||
|
uni.showToast({
|
||||||
|
title: res.message,
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
} catch (e) {
|
||||||
|
this.disabled = false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/** 模糊匹配 */
|
||||||
|
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>
|
||||||
@@ -73,8 +73,9 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="zd-row submitbar">
|
<view class="zd-row submitbar">
|
||||||
<button class="zd-col-6 btn-submit btn-default" @tap="clearUp">清空</button>
|
<button class="zd-col-5 btn-submit btn-default" @tap="clearUp">清空</button>
|
||||||
<button class="zd-col-15 btn-submit btn-success" :class="{'btn-info': !index || !dataList.length}" @tap="downRolls2Confirm">确认</button>
|
<button class="zd-col-8 btn-submit btn-success" :class="{'btn-info': !index || !dataList.length}" @tap="downRolls2Confirm">确认</button>
|
||||||
|
<button class="zd-col-8 btn-submit btn-success" :class="{'btn-info': !index}" @tap="bindPlanDeviceConfirm">绑定</button>
|
||||||
</view>
|
</view>
|
||||||
<view class="msg_modal" :class="modalShow ? 'popshow1' : 'pophide1'">
|
<view class="msg_modal" :class="modalShow ? 'popshow1' : 'pophide1'">
|
||||||
<view class="msg_tip">提示</view>
|
<view class="msg_tip">提示</view>
|
||||||
@@ -88,6 +89,40 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view v-if="modalShow" class="msg_mask msg_mask_1"></view>
|
<view v-if="modalShow" class="msg_mask msg_mask_1"></view>
|
||||||
|
<view class="msg_wrapper_2" :class="modalShow1 ? 'popshow' : 'pophide2'">
|
||||||
|
<view class="zd-row pop-title_wraper_2">
|
||||||
|
<text class="pop-title_2">绑定轴信息</text>
|
||||||
|
<text class="iconfont icon_close" @tap="modalShow1 = false"></text>
|
||||||
|
</view>
|
||||||
|
<view class="msg_content_2">
|
||||||
|
<view class="msg_filter">
|
||||||
|
<view class="relative msg_tip_2 msg_tip_2_blue">上轴信息</view>
|
||||||
|
<view class="filter_label filter_label_2">缓存架编码</view>
|
||||||
|
<view class="filter_input_wraper_2">
|
||||||
|
<input type="text" class="filter_input" placeholder="请输入缓存架编码" v-model="upShelf">
|
||||||
|
</view>
|
||||||
|
<view class="filter_label filter_label_2">绑定计划</view>
|
||||||
|
<view class="filter_input_wraper_2">
|
||||||
|
<uni-data-select v-model="upPlanCode" :searchInput="true" :localdata="PlanOptions1" @handleChange="handleChange1" @showSelector="showSelector1"></uni-data-select>
|
||||||
|
</view>
|
||||||
|
<view class="msg_fgx"></view>
|
||||||
|
<view class="relative msg_tip_2 msg_tip_2_yellow">下轴信息</view>
|
||||||
|
<view class="filter_label filter_label_2">缓存架编码</view>
|
||||||
|
<view class="filter_input_wraper_2">
|
||||||
|
<input type="text" class="filter_input" placeholder="请输入缓存架编码" v-model="downShelf">
|
||||||
|
</view>
|
||||||
|
<view class="filter_label filter_label_2">绑定计划</view>
|
||||||
|
<view class="filter_input_wraper_2 filter_input_wraper_2-bottom">
|
||||||
|
<uni-data-select v-model="downPlanCode" :searchInput="true" :localdata="PlanOptions2" @handleChange="handleChange2" @showSelector="showSelector2"></uni-data-select>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="zd-row submitbar">
|
||||||
|
<button class="zd-col-11 btn-submit btn-success" :class="{'btn-info': !((upShelf && upPlanCode) || (downShelf && downPlanCode))}" :disabled="disabled" @tap="bindSure(0)">确认绑定</button>
|
||||||
|
<button class="zd-col-11 btn-submit btn-success" :class="{'btn-info': !((upShelf && upPlanCode) || (downShelf && downPlanCode))}" :disabled="disabled" @tap="bindSure(1)">强制绑定</button>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view v-if="modalShow1" class="msg_mask"></view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -95,7 +130,9 @@
|
|||||||
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 {queryProductArea} from '@/utils/getData2.js'
|
import {queryProductArea} from '@/utils/getData2.js'
|
||||||
import {getTubeLength, slitterDevices, downRolls2} from '@/utils/getData3.js'
|
import {getTubeLength, slitterDevices, downRolls2, getUnbindPlan, dBindPlanDevice} from '@/utils/getData3.js'
|
||||||
|
// import {getTubeLength, slitterDevices, queryProductArea, getUnbindPlan} from '@/utils/mork2.js'
|
||||||
|
// import {downRolls2, dBindPlanDevice} from '@/utils/getData3.js'
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
NavBar,
|
NavBar,
|
||||||
@@ -117,7 +154,15 @@
|
|||||||
disabled1: false,
|
disabled1: false,
|
||||||
modalShow: false,
|
modalShow: false,
|
||||||
htmlContent1: [],
|
htmlContent1: [],
|
||||||
htmlContent2: []
|
htmlContent2: [],
|
||||||
|
modalShow1: false,
|
||||||
|
upShelf: '',
|
||||||
|
upPlanCode: '',
|
||||||
|
downShelf: '',
|
||||||
|
downPlanCode: '',
|
||||||
|
PlanOptions: [],
|
||||||
|
PlanOptions1: [],
|
||||||
|
PlanOptions2: []
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
onLoad (options) {
|
onLoad (options) {
|
||||||
@@ -144,8 +189,29 @@
|
|||||||
let res = await slitterDevices(e)
|
let res = await slitterDevices(e)
|
||||||
this.options = [...res]
|
this.options = [...res]
|
||||||
},
|
},
|
||||||
|
async _getUnbindPlan (e) {
|
||||||
|
try {
|
||||||
|
let res = await getUnbindPlan(e)
|
||||||
|
if (res) {
|
||||||
|
const list = res.map(el => {
|
||||||
|
return {
|
||||||
|
text: el.label,
|
||||||
|
value: el.value
|
||||||
|
}
|
||||||
|
})
|
||||||
|
this.PlanOptions = list
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
this.PlanOptions = []
|
||||||
|
}
|
||||||
|
},
|
||||||
selectChange (e) {
|
selectChange (e) {
|
||||||
this.index = e
|
this.index = e
|
||||||
|
if (e) {
|
||||||
|
this._getUnbindPlan(e)
|
||||||
|
} else {
|
||||||
|
this.PlanOptions = []
|
||||||
|
}
|
||||||
},
|
},
|
||||||
radioChange (e) {
|
radioChange (e) {
|
||||||
this.index1 = e.detail.value
|
this.index1 = e.detail.value
|
||||||
@@ -250,6 +316,79 @@
|
|||||||
this.dataList = []
|
this.dataList = []
|
||||||
this.disabled = false
|
this.disabled = false
|
||||||
this.disabled1 = false
|
this.disabled1 = false
|
||||||
|
},
|
||||||
|
/** 模糊匹配 */
|
||||||
|
selectMatchItem (lists, keyWord) {
|
||||||
|
let resArr = []
|
||||||
|
lists.filter((item) => {
|
||||||
|
if (item.text.indexOf(keyWord) > -1) {
|
||||||
|
resArr.push(item)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return resArr
|
||||||
|
},
|
||||||
|
handleChange1 (e) {
|
||||||
|
if (e){
|
||||||
|
this.upPlanCode = ''
|
||||||
|
this.PlanOptions1 = this.selectMatchItem(this.PlanOptions, e)
|
||||||
|
} else {
|
||||||
|
this.PlanOptions1 = this.PlanOptions
|
||||||
|
}
|
||||||
|
},
|
||||||
|
showSelector1 () {
|
||||||
|
this.PlanOptions1 = this.PlanOptions
|
||||||
|
},
|
||||||
|
handleChange2 (e) {
|
||||||
|
if (e){
|
||||||
|
this.downPlanCode = ''
|
||||||
|
this.PlanOptions2 = this.selectMatchItem(this.PlanOptions, e)
|
||||||
|
} else {
|
||||||
|
this.PlanOptions2 = this.PlanOptions
|
||||||
|
}
|
||||||
|
},
|
||||||
|
showSelector2 () {
|
||||||
|
this.PlanOptions2 = this.PlanOptions
|
||||||
|
},
|
||||||
|
bindPlanDeviceConfirm () {
|
||||||
|
if (!this.index) {
|
||||||
|
uni.showToast({
|
||||||
|
title: '请先选择设备',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.modalShow1 = true
|
||||||
|
this.upShelf = ''
|
||||||
|
this.upPlanCode = ''
|
||||||
|
this.downShelf = ''
|
||||||
|
this.downPlanCode = ''
|
||||||
|
},
|
||||||
|
async bindSure (type) {
|
||||||
|
this.disabled = true
|
||||||
|
const upValid = this.upShelf && this.upPlanCode
|
||||||
|
const downValid = this.downShelf && this.downPlanCode
|
||||||
|
if (!upValid && !downValid) {
|
||||||
|
uni.showToast({
|
||||||
|
title: '请至少完整填写上轴或下轴一组信息',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
this.disabled = false
|
||||||
|
return
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
let res = await dBindPlanDevice(this.upShelf, this.upPlanCode, this.downShelf, this.downPlanCode, type, this.index)
|
||||||
|
if (res) {
|
||||||
|
uni.showToast({
|
||||||
|
title: res.message,
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
this.disabled = false
|
||||||
|
this.modalShow1 = false
|
||||||
|
} catch (e) {
|
||||||
|
this.disabled = false
|
||||||
|
this.modalShow1 = false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -506,6 +506,23 @@ export const downRolls2 = (device, code) => request({
|
|||||||
container: code
|
container: code
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
export const getUnbindPlan = (device) => request({
|
||||||
|
url:'api/pda/slitter/get-unbind-plan',
|
||||||
|
data: {
|
||||||
|
deviceCode: device
|
||||||
|
}
|
||||||
|
})
|
||||||
|
export const dBindPlanDevice = (upShelf, upPlanCode, downShelf, downPlanCode, force, device) => request({
|
||||||
|
url:'api/pda/slitter/do-bind-plan-device',
|
||||||
|
data: {
|
||||||
|
upShelf: upShelf,
|
||||||
|
upPlanCode: upPlanCode,
|
||||||
|
downShelf: downShelf,
|
||||||
|
downPlanCode: downPlanCode,
|
||||||
|
force: force,
|
||||||
|
device: device
|
||||||
|
}
|
||||||
|
})
|
||||||
/**
|
/**
|
||||||
* 母卷暂存管理(分切管理二期)
|
* 母卷暂存管理(分切管理二期)
|
||||||
*/
|
*/
|
||||||
@@ -682,3 +699,26 @@ export const changePointMove = (code, move) => request({
|
|||||||
url:'api/pda/raw/changePointMove',
|
url:'api/pda/raw/changePointMove',
|
||||||
data: {deviceCode: code, move: move}
|
data: {deviceCode: code, move: move}
|
||||||
})
|
})
|
||||||
|
/**
|
||||||
|
* 呼叫套轴(二期)
|
||||||
|
*/
|
||||||
|
// 获取位置下拉框
|
||||||
|
export const slitXnarea = (area) => request({
|
||||||
|
url:'api/pda/slitter/list-xn-area',
|
||||||
|
data: {area: area}
|
||||||
|
})
|
||||||
|
// 呼叫套轴
|
||||||
|
export const slitXnplan = (area, location, ulk, ulv, urk, urv, size, qzz, num) => request({
|
||||||
|
url:'api/pda/slitter/bind-xn-plan',
|
||||||
|
data: {
|
||||||
|
area: area,
|
||||||
|
location: location,
|
||||||
|
up_left_size_k: ulk,
|
||||||
|
up_left_size_v: ulv,
|
||||||
|
up_right_size_k: urk,
|
||||||
|
up_right_size_v: urv,
|
||||||
|
qzz_size: size,
|
||||||
|
qzz_generation: qzz,
|
||||||
|
qqz_num: num
|
||||||
|
}
|
||||||
|
})
|
||||||
@@ -114,7 +114,8 @@ export const allAuthority = () => {
|
|||||||
{menu_id: '8', title: '子卷拼单', path: '/pages/SecondPhase/slitting/Zjpindan'},
|
{menu_id: '8', title: '子卷拼单', path: '/pages/SecondPhase/slitting/Zjpindan'},
|
||||||
{menu_id: '8', title: '人工呼叫空轴', path: '/pages/SecondPhase/slitting/ManEmptyAxle'},
|
{menu_id: '8', title: '人工呼叫空轴', path: '/pages/SecondPhase/slitting/ManEmptyAxle'},
|
||||||
{menu_id: '11', title: '备货出入库', path: '/pages/SecondPhase/slitting/GdsPrepInOut'},
|
{menu_id: '11', title: '备货出入库', path: '/pages/SecondPhase/slitting/GdsPrepInOut'},
|
||||||
{menu_id: '11', title: '任务管理', path: '/pages/SecondPhase/slitting/Task'}
|
{menu_id: '11', title: '任务管理', path: '/pages/SecondPhase/slitting/Task'},
|
||||||
|
{menu_id: '8', title: '呼叫套轴', path: '/pages/SecondPhase/slitting/CallPaperShaft'}
|
||||||
]},
|
]},
|
||||||
{menu_id: '10', path: 'RF15', title: '打包间管理', sonTree: [
|
{menu_id: '10', path: 'RF15', title: '打包间管理', sonTree: [
|
||||||
{menu_id: '1', title: '子卷包装解绑', path: '/pages/SecondPhase/SubRollPackUnbind'},
|
{menu_id: '1', title: '子卷包装解绑', path: '/pages/SecondPhase/SubRollPackUnbind'},
|
||||||
@@ -183,6 +184,19 @@ export const queryProductArea = () => {
|
|||||||
}
|
}
|
||||||
return res
|
return res
|
||||||
}
|
}
|
||||||
|
export const slitXnarea = () => {
|
||||||
|
let res = [
|
||||||
|
{
|
||||||
|
"label": "B1分切合单1区",
|
||||||
|
"value": "1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "B1分切合单2区",
|
||||||
|
"value": "2"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
return res
|
||||||
|
}
|
||||||
export const slitterDevices = (area) => {
|
export const slitterDevices = (area) => {
|
||||||
let res = [{text: '物料一', value: '001'}, {text: '物料a', value: '002'}, {text: '物料b', value: '003'}]
|
let res = [{text: '物料一', value: '001'}, {text: '物料a', value: '002'}, {text: '物料b', value: '003'}]
|
||||||
return res
|
return res
|
||||||
@@ -302,3 +316,44 @@ export const getTubeLength = (code) => {
|
|||||||
let res = {"data":{"bh":"15","length":"1500"},"message":"获取信息成功!","status":200}
|
let res = {"data":{"bh":"15","length":"1500"},"message":"获取信息成功!","status":200}
|
||||||
return res
|
return res
|
||||||
}
|
}
|
||||||
|
export const getUnbindPlan = () => {
|
||||||
|
let res = [
|
||||||
|
{
|
||||||
|
"label": "1",
|
||||||
|
"value": "1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "2",
|
||||||
|
"value": "2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "3",
|
||||||
|
"value": "3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "1",
|
||||||
|
"value": "1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "2",
|
||||||
|
"value": "2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "3",
|
||||||
|
"value": "3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "1",
|
||||||
|
"value": "1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "2",
|
||||||
|
"value": "2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "3",
|
||||||
|
"value": "3"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
return res
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user