Commit 3e24ddbc by 施宇

1

parent 2b3c89a2
{"ignoreds":["node_modules/**/*","**/node_modules/**","**/.git/**",".git/**/*","**/.svn/**",".svn/**/*",".DS_Store","**/.DS_Store"],"folderInfo":{"./":{"mtimeMs":1588039958728.2603,"children":["app.js","app.json","app.wxss","project.config.json","sitemap.json"]},"pages/":{"mtimeMs":1588761186704.5857,"children":[]},"res/":{"mtimeMs":1587987929535.54,"children":[]},"res/css/":{"mtimeMs":1587468648224.7944,"children":["res/css/base.wxss"]},"res/img/":{"mtimeMs":1588153975467.2988,"children":["res/img/all-check-left-a.png","res/img/all-check-left.png","res/img/all-check-right-a.png","res/img/all-check-right.png","res/img/ck-icon-a.png","res/img/ck-icon.png","res/img/close-icon.png","res/img/kc-icon-a.png","res/img/kc-icon.png","res/img/login-img.png","res/img/login-text.png","res/img/nav-arrow-down.png","res/img/question-icon.png","res/img/search-icon.png","res/img/sh-icon-a.png","res/img/sh-icon.png","res/img/sigle-check-left-a.png","res/img/sigle-check-left.png","res/img/sigle-check-right-a.png","res/img/sigle-check-right.png","res/img/sj-icon-a.png","res/img/sj-icon.png","res/img/sz-icon-a.png","res/img/sz-icon.png","res/img/warn-icon.png"]},"utils/":{"mtimeMs":1588729595864.972,"children":["utils/api.js","utils/axios.js","utils/md5.js","utils/printerjobs.js","utils/textEncoding.js","utils/util.js"]},".git/":{"mtimeMs":1588761188861.8364,"children":[]},".wechatide/":{"mtimeMs":1587519550088.0625,"children":[".wechatide/fileCache.cfg"]},"pages/home/":{"mtimeMs":1587536014892.4702,"children":["pages/home/home.js","pages/home/home.json","pages/home/home.wxml","pages/home/home.wxss"]},"pages/login/":{"mtimeMs":1587535974795.0686,"children":["pages/login/login.js","pages/login/login.json","pages/login/login.wxml","pages/login/login.wxss"]},"components/":{"mtimeMs":1587538211879.0247,"children":[]},"components/navC/":{"mtimeMs":1587538221287.4016,"children":["components/navC/navC.js","components/navC/navC.json","components/navC/navC.wxml","components/navC/navC.wxss"]},"pages/receivinggoods/":{"mtimeMs":1587538742321.587,"children":["pages/receivinggoods/receivinggoods.js","pages/receivinggoods/receivinggoods.json","pages/receivinggoods/receivinggoods.wxml","pages/receivinggoods/receivinggoods.wxss"]},"pages/upperShelf/":{"mtimeMs":1587622056930.153,"children":["pages/upperShelf/upperShelf.js","pages/upperShelf/upperShelf.json","pages/upperShelf/upperShelf.wxml","pages/upperShelf/upperShelf.wxss"]},"pages/outbound/":{"mtimeMs":1587626008346.8442,"children":["pages/outbound/outbound.js","pages/outbound/outbound.json","pages/outbound/outbound.wxml","pages/outbound/outbound.wxss"]},"pages/scanDelivery/":{"mtimeMs":1587627596586.3196,"children":["pages/scanDelivery/scanDelivery.js","pages/scanDelivery/scanDelivery.json","pages/scanDelivery/scanDelivery.wxml","pages/scanDelivery/scanDelivery.wxss"]},"pages/picking/":{"mtimeMs":1587631234329.3645,"children":["pages/picking/picking.js","pages/picking/picking.json","pages/picking/picking.wxml","pages/picking/picking.wxss"]},"pages/cardBoard/":{"mtimeMs":1587632724321.1174,"children":["pages/cardBoard/cardBoard.js","pages/cardBoard/cardBoard.json","pages/cardBoard/cardBoard.wxml","pages/cardBoard/cardBoard.wxss"]},"pages/changeWarehouse/":{"mtimeMs":1587635396534.957,"children":["pages/changeWarehouse/changeWarehouse.js","pages/changeWarehouse/changeWarehouse.json","pages/changeWarehouse/changeWarehouse.wxml","pages/changeWarehouse/changeWarehouse.wxss"]},"pages/systemSettings/":{"mtimeMs":1587637181028.4365,"children":["pages/systemSettings/systemSettings.js","pages/systemSettings/systemSettings.json","pages/systemSettings/systemSettings.wxml","pages/systemSettings/systemSettings.wxss"]},"pages/printer/":{"mtimeMs":1587637593187.5686,"children":["pages/printer/printer.js","pages/printer/printer.json","pages/printer/printer.wxml","pages/printer/printer.wxss"]},"pages/inventoryQuery/":{"mtimeMs":1587639536186.8396,"children":["pages/inventoryQuery/inventoryQuery.js","pages/inventoryQuery/inventoryQuery.json","pages/inventoryQuery/inventoryQuery.wxml","pages/inventoryQuery/inventoryQuery.wxss"]},"pages/startPage/":{"mtimeMs":1588045543126.067,"children":["pages/startPage/startPage.js","pages/startPage/startPage.json","pages/startPage/startPage.wxml","pages/startPage/startPage.wxss"]},"pages/mountingPlate/":{"mtimeMs":1588761190467.1958,"children":["pages/mountingPlate/mountingPlate.js","pages/mountingPlate/mountingPlate.json","pages/mountingPlate/mountingPlate.wxml","pages/mountingPlate/mountingPlate.wxss"]}},"cacheVersion":1}
\ No newline at end of file
{"ignoreds":["node_modules/**/*","**/node_modules/**","**/.git/**",".git/**/*","**/.svn/**",".svn/**/*",".DS_Store","**/.DS_Store"],"folderInfo":{"./":{"mtimeMs":1588039958728.2603,"children":["app.js","app.json","app.wxss","project.config.json","sitemap.json"]},"pages/":{"mtimeMs":1588761186704.5857,"children":[]},"res/":{"mtimeMs":1587987929535.54,"children":[]},"res/css/":{"mtimeMs":1587468648224.7944,"children":["res/css/base.wxss"]},"res/img/":{"mtimeMs":1588153975467.2988,"children":["res/img/all-check-left-a.png","res/img/all-check-left.png","res/img/all-check-right-a.png","res/img/all-check-right.png","res/img/ck-icon-a.png","res/img/ck-icon.png","res/img/close-icon.png","res/img/kc-icon-a.png","res/img/kc-icon.png","res/img/login-img.png","res/img/login-text.png","res/img/nav-arrow-down.png","res/img/question-icon.png","res/img/search-icon.png","res/img/sh-icon-a.png","res/img/sh-icon.png","res/img/sigle-check-left-a.png","res/img/sigle-check-left.png","res/img/sigle-check-right-a.png","res/img/sigle-check-right.png","res/img/sj-icon-a.png","res/img/sj-icon.png","res/img/sz-icon-a.png","res/img/sz-icon.png","res/img/warn-icon.png"]},"utils/":{"mtimeMs":1588729595864.972,"children":["utils/api.js","utils/axios.js","utils/md5.js","utils/printerjobs.js","utils/textEncoding.js","utils/util.js"]},".git/":{"mtimeMs":1588838797639.358,"children":[]},".wechatide/":{"mtimeMs":1587519550088.0625,"children":[".wechatide/fileCache.cfg"]},"pages/home/":{"mtimeMs":1587536014892.4702,"children":["pages/home/home.js","pages/home/home.json","pages/home/home.wxml","pages/home/home.wxss"]},"pages/login/":{"mtimeMs":1587535974795.0686,"children":["pages/login/login.js","pages/login/login.json","pages/login/login.wxml","pages/login/login.wxss"]},"components/":{"mtimeMs":1587538211879.0247,"children":[]},"components/navC/":{"mtimeMs":1587538221287.4016,"children":["components/navC/navC.js","components/navC/navC.json","components/navC/navC.wxml","components/navC/navC.wxss"]},"pages/receivinggoods/":{"mtimeMs":1587538742321.587,"children":["pages/receivinggoods/receivinggoods.js","pages/receivinggoods/receivinggoods.json","pages/receivinggoods/receivinggoods.wxml","pages/receivinggoods/receivinggoods.wxss"]},"pages/upperShelf/":{"mtimeMs":1587622056930.153,"children":["pages/upperShelf/upperShelf.js","pages/upperShelf/upperShelf.json","pages/upperShelf/upperShelf.wxml","pages/upperShelf/upperShelf.wxss"]},"pages/outbound/":{"mtimeMs":1587626008346.8442,"children":["pages/outbound/outbound.js","pages/outbound/outbound.json","pages/outbound/outbound.wxml","pages/outbound/outbound.wxss"]},"pages/scanDelivery/":{"mtimeMs":1587627596586.3196,"children":["pages/scanDelivery/scanDelivery.js","pages/scanDelivery/scanDelivery.json","pages/scanDelivery/scanDelivery.wxml","pages/scanDelivery/scanDelivery.wxss"]},"pages/picking/":{"mtimeMs":1587631234329.3645,"children":["pages/picking/picking.js","pages/picking/picking.json","pages/picking/picking.wxml","pages/picking/picking.wxss"]},"pages/cardBoard/":{"mtimeMs":1587632724321.1174,"children":["pages/cardBoard/cardBoard.js","pages/cardBoard/cardBoard.json","pages/cardBoard/cardBoard.wxml","pages/cardBoard/cardBoard.wxss"]},"pages/changeWarehouse/":{"mtimeMs":1587635396534.957,"children":["pages/changeWarehouse/changeWarehouse.js","pages/changeWarehouse/changeWarehouse.json","pages/changeWarehouse/changeWarehouse.wxml","pages/changeWarehouse/changeWarehouse.wxss"]},"pages/systemSettings/":{"mtimeMs":1587637181028.4365,"children":["pages/systemSettings/systemSettings.js","pages/systemSettings/systemSettings.json","pages/systemSettings/systemSettings.wxml","pages/systemSettings/systemSettings.wxss"]},"pages/printer/":{"mtimeMs":1587637593187.5686,"children":["pages/printer/printer.js","pages/printer/printer.json","pages/printer/printer.wxml","pages/printer/printer.wxss"]},"pages/inventoryQuery/":{"mtimeMs":1587639536186.8396,"children":["pages/inventoryQuery/inventoryQuery.js","pages/inventoryQuery/inventoryQuery.json","pages/inventoryQuery/inventoryQuery.wxml","pages/inventoryQuery/inventoryQuery.wxss"]},"pages/startPage/":{"mtimeMs":1588045543126.067,"children":["pages/startPage/startPage.js","pages/startPage/startPage.json","pages/startPage/startPage.wxml","pages/startPage/startPage.wxss"]},"pages/mountingPlate/":{"mtimeMs":1588761190467.1958,"children":["pages/mountingPlate/mountingPlate.js","pages/mountingPlate/mountingPlate.json","pages/mountingPlate/mountingPlate.wxml","pages/mountingPlate/mountingPlate.wxss"]}},"cacheVersion":1}
\ No newline at end of file
{
"pages": [
"pages/receivinggoods/receivinggoods",
"pages/home/home",
"pages/printer/printer",
"pages/scanDelivery/scanDelivery",
"pages/cardBoard/cardBoard",
"pages/mountingPlate/mountingPlate",
"pages/scanDelivery/scanDelivery",
"pages/picking/picking",
"pages/receivinggoods/receivinggoods",
"pages/cardBoard/cardBoard",
"pages/inventoryQuery/inventoryQuery",
"pages/printer/printer",
"pages/startPage/startPage",
"pages/changeWarehouse/changeWarehouse",
"pages/login/login",
"pages/inventoryQuery/inventoryQuery",
"pages/systemSettings/systemSettings",
"pages/outbound/outbound",
"pages/upperShelf/upperShelf"
......
// pages/cardBoard/cardBoard.js
import {
getData
} from '../../utils/axios.js';
......@@ -12,7 +11,9 @@ Page({
*/
data: {
tableData:[],
numText:"",//卡板号
palletObj:null,//接口返回的卡板号
numText:"",//input值
kbText:"",//卡板号
},
/**
......@@ -21,21 +22,209 @@ Page({
onLoad: function (options) {
},
cancelFun:function(e){
let {index} = e.currentTarget.dataset;
this.data.tableData.splice(index,1);
this.setData({
tableData:this.data.tableData
})
},
clearFun:function(){
let me = this;
wx.showModal({
title: '提示',
content: '确定要清空卡板记录吗?',
success (res) {
if (res.confirm) {
me.setData({
tableData:[],
palletObj:null,
numText:"",
kbText:""
})
}
}
})
},
formInput:function(e){
let {value} = e.detail ;
if(value){
this.getData(value)
let str = value.substring(0, 2);
this.setData({
numText:value
})
if(str == 'XB'){//扫描的是箱号
this.setData({
kbText:""
})
this.getXbData()
}else if(str == 'KB'){//扫描的是卡版号
this.getKbData();
this.setData({
kbText:value
})
}
},
getXbData:function(){
let me = this;
let arr = me.data.tableData;
let bool = true;
for(let i=0;i<arr.length;i++){
if(arr[i]['box_sn'] == me.data.numText){
bool = false;
break
}
}
if(!bool){
wx.showModal({
title: '提示',
content: '当前箱包已存在',
showCancel: false
});
return
}
getData(apis.get_box_info, 'post', {"box_sn":me.data.numText}, function(res) {
if (res.errcode === 0) {
let data = res.data;
if(data){
let status = data.status;
if(data.pallet_sn){
wx.showModal({
title: '提示',
content: '当前箱包已装卡板,不能加入',
showCancel: false
});
return
}
if(status == 2){
wx.showModal({
title: '提示',
content: '当前箱包为上架状态,请确认',
showCancel: false
});
return
}else if(status == 3){
wx.showModal({
title: '提示',
content: '当前箱包已出库,不能加入',
showCancel: false
});
return
}
}else{
wx.showModal({
title: '提示',
content: '箱号不存在',
showCancel: false
});
}
arr.push({
...data
})
me.setData({
tableData:arr
})
} else {
wx.showToast({
title: res.errmsg,
icon: 'none',
duration: 2000
});
}
}, true,true)
},
getData:function(val){
getKbData:function(){
let me = this;
getData(apis.pallet_box_list, 'post', {"pallet_sn":val}, function(res) {
let numText = me.data.numText;
let palletObj = me.data.palletObj;
if(palletObj){
if(palletObj.pallet_sn != numText){
wx.showModal({
title: '提示',
content: '已存在其它卡板数据!',
showCancel: false
});
}else{
wx.showModal({
title: '提示',
content: '已存在该卡板数据!',
showCancel: false
});
}
return
}
getData(apis.pallet_box_list, 'post', {"pallet_sn":me.data.numText}, function(res) {
if (res.errcode === 0) {
let data = res.data;
let listArr = [];
let palletObj =null;
if(!data.data){
listArr = [];
palletObj = null
}else{
let data = res.data.data;
if(data.status == 2){
wx.showModal({
title: '提示',
content: '卡板为上架状态,不可装卡板',
showCancel: false
});
return
}else{
listArr = data.box_list||[];
listArr
palletObj = {
pallet_sn:data.pallet_sn,
pallet_id:data.pallet_id,
is_insp:data.is_insp
}
}
}
me.setData({
tableData:data,
numText:val
tableData:me.data.tableData.concat(listArr),
palletObj:palletObj
})
} else {
wx.showToast({
title: res.errmsg,
icon: 'none',
duration: 2000
});
}
}, true,true)
},
putOnPallet:function(){
let me = this;
let obj = {};
let tableData = me.data.tableData;
console.log(tableData)
let newData = [];
if(me.data.palletObj){
obj['pallet_id'] = me.data.palletObj.pallet_id
}
for(let i=0;i<tableData.length;i++){
let item = tableData[i];
console.log(item)
if(!item['pallet_sn']){
newData.push(item['box_id'])
}
}
if(newData.length){
obj['box_id_arr'] = newData
}
if(!me.data.palletObj&&!newData.length){
return
}
getData(apis.pallet_active, 'post', {...obj}, function(res) {
if (res.errcode === 0) {
console.log('连接蓝牙打印')
} else {
wx.showToast({
......
......@@ -3,15 +3,15 @@
<view class="card-board-wrapper ">
<view class="view-top Bflex aic">
<text class="desc">卡板号/箱号:</text>
<input class="input input-border" placeholder="请输入用户名" bindconfirm="formInput"></input>
<input class="input input-border" bindconfirm="formInput" value="{{numText}}"></input>
<view class="number">
卡板号: <text>{{numText}}</text>
卡板号: <text>{{kbText}}</text>
</view>
</view>
<view class="data-view Bflex aic">
<view class="data-table borderBox">
<view class="head Bflex">
<view class="td-1 td borderBox Iflex jcc aic td-50"><text>选项</text></view>
<view class="td-1 td borderBox Iflex jcc aic td-50"><text>序号</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>卡板号</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>箱号</text></view>
<view class="td-2 td borderBox Iflex jcc aic td-80"><text>操作</text></view>
......@@ -25,19 +25,21 @@
</block>
<block wx:else>
<view class="body-data Bflex" wx:for="{{tableData}}" wx:key="index">
<view class="td-1 td borderBox Iflex jcc aic td-50"><text class="box-icon"></text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>{{item.pallet_sn}}</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>{{item.box_sn}}</text></view>
<view class="td-2 td borderBox Iflex jcc aic td-80"><text class="underline-text">取消</text></view>
<view class="td-1 td borderBox Iflex jcc aic td-50">
<text>{{index+1}}</text>
</view>
<view class="td-2 td borderBox Iflex jcc aic"><text>{{item.pallet_sn||''}}</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>{{item.box_sn||''}}</text></view>
<view class="td-2 td borderBox Iflex jcc aic td-80"><text class="underline-text" wx:if="{{!item.pallet_sn}}" bindtap="cancelFun" data-index="{{index}}">取消</text></view>
</view>
</block>
</view>
</view>
<view class="btn-group Bflex">
<view class="btn-item btn blue-border-btn" >装卡板</view>
<view class="btn-item btn blue-border-btn" bindtap="putOnPallet">装卡板</view>
<view class="btn-item btn blue-border-btn">补打卡板标签</view>
<view class="btn-item btn disbled-btn">清除卡板记录</view>
<view class="btn-item btn disbled-btn" bindtap="clearFun">清除卡板记录</view>
</view>
</view>
</view>
......
// pages/inventoryQuery/inventoryQuery.js
import {
getData
} from '../../utils/axios.js';
import {
apis
} from '../../utils/api.js';
Page({
/**
* 页面的初始数据
*/
data: {
xhVal:"",
rcVal:"",
xVal:"",
kbVal:"",
hwText:"",
hwVal:"",
dataList:[],
hwList:[],
isShow:false,
},
hiddenInput:function(){
this.setData({
isShow:false
})
},
changeIsShow:function(){
this.setData({
isShow:true
})
},
chooseHw:function(e){
let {item} = e.currentTarget.dataset;
this.setData({
hwVal:item.location_sn,
hwText:item.location_name,
isShow:false
})
},
xhInput:function(e){
let {value} = e.detail ;
this.setData({
xhVal:value
})
},
rcInput:function(e){
let {value} = e.detail ;
this.setData({
rcVal:value
})
},
xInput:function(e){
let {value} = e.detail ;
this.setData({
xVal:value
})
},
kbInput:function(e){
let {value} = e.detail ;
this.setData({
kbVal:value
})
},
getTableData:function(){
let me = this;
let obj = {
goods_name:me.data.xhVal,
warehousing_sn:me.data.rcVal,
box_sn:me.data.xVal,
pallet_sn:me.data.kbVal,
location_sn:me.data.hwVal
}
getData(apis.inquire_stock, 'post', {...obj}, function(res) {
if (res.errcode === 0) {
let data = res.data;
me.setData({
dataList:data
})
} else {
wx.showToast({
title: res.errmsg,
icon: 'none',
duration: 2000
});
}
}, true,true)
},
getHwData:function(){
let me = this;
getData(apis.location_list, 'post', {}, function(res) {
if (res.errcode === 0) {
let data = res.data || [];
me.setData({
hwList:data
})
} else {
wx.showToast({
title: res.errmsg,
icon: 'none',
duration: 2000
});
}
}, true,true)
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.getHwData()
},
/**
......
<nav-c title="库存查询">
<view class="inventory-query-view width-854px nav-view borderBox">
<view class="inventory-query-wrapper ">
<view class="view-top Bflex aic">
<text class="desc noMarginLeft">型号:</text>
<input class="input input-border" placeholder="请输入用户名"></input>
<text class="desc">入仓单号:</text>
<input class="input input-border" placeholder="请输入用户名"></input>
<text class="desc">箱号:</text>
<input class="input input-border" placeholder="请输入用户名"></input>
<text class="desc">卡板号:</text>
<input class="input input-border" placeholder="请输入用户名"></input>
<text class="desc noMarginLeft last-desc">货位号:</text>
<view class="inventory-query-view width-854px nav-view borderBox" bindtap="hiddenInput">
<view class="inventory-query-wrapper">
<view class="view-top Bflex aic">
<text class="desc noMarginLeft">型号:</text>
<input class="input input-border" bindinput="xhInput"></input>
<text class="desc">入仓单号:</text>
<input class="input input-border" bindinput="rcInput"></input>
<text class="desc">箱号:</text>
<input class="input input-border" bindinput="xInput"></input>
<text class="desc">卡板号:</text>
<input class="input input-border" bindinput="kbInput"></input>
<text class="desc noMarginLeft last-desc">货位号:</text>
<view class="select-input borderBox" catchtap="changeIsShow">
<image class="arrow-down" src="../../res/img/nav-arrow-down.png"></image>
<view class="text ellipsis">{{hwText}}</view>
<view class="select-items" wx:if="{{isShow}}">
<block wx:if="{{!hwList.length}}">
<view class="select-item">
暂无数据
</view>
</block>
<block wx:else>
<view class="select-item" wx:for="{{hwList}}" wx:key="index" data-item="{{item}}" catchtap="chooseHw">
{{item.location_name}}
</view>
</block>
<view class="select-input borderBox">
<image class="arrow-down" src="../../res/img/nav-arrow-down.png"></image>
<view class="select-items">
<view class="select-item">
A号仓储
</view>
<view class="select-item">
A号仓储
</view>
<view class="select-item">
A号仓储
</view>
<view class="select-item">
A号仓储
</view>
<view class="select-item">
A号仓储
</view>
<view class="select-item">
A号仓储
</view>
<view class="select-item">
A号仓储
</view>
<view class="select-item">
A号仓储
</view>
<view class="select-item">
A号仓储
</view>
</view>
</view>
</view>
<view class="table-view">
<view class="scroll-view">
<view class="data-table-view">
<view class="data-table borderBox">
<view class="head Bflex">
<view class="td-1 td borderBox Iflex jcc aic"><text>仓库</text></view>
<view class="td-2 td borderBox Iflex jcc aic td-119"><text>入仓单号</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>货位</text></view>
<view class="td-2 td borderBox Iflex jcc aic td-119"><text>物料ID</text></view>
<view class="td-2 td borderBox Iflex jcc aic td-119"><text>型号</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>品名</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>实际库存</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>冻结数据</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>锁库数量</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>可用数量</text></view>
<view class="td-2 td borderBox Iflex jcc aic td-119"><text>卡板号</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>内含箱数</text></view>
<view class="td-2 td borderBox Iflex jcc aic td-119"><text>箱号</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>内含件数</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>批次</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>DC</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>原产国</text></view>
</view>
<view class="body">
<view class="body-data Bflex">
<view class="table-view">
<view class="scroll-view">
<view class="data-table-view">
<view class="data-table borderBox">
<view class="head Bflex">
<view class="td-1 td borderBox Iflex jcc aic"><text>仓库</text></view>
<view class="td-2 td borderBox Iflex jcc aic td-119"><text>入仓单号</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>货位</text></view>
<view class="td-2 td borderBox Iflex jcc aic td-119"><text>物料ID</text></view>
<view class="td-2 td borderBox Iflex jcc aic td-119"><text>型号</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>品名</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>实际库存</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>冻结数据</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>锁库数量</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>可用数量</text></view>
<view class="td-2 td borderBox Iflex jcc aic td-119"><text>卡板号</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>内含箱数</text></view>
<view class="td-2 td borderBox Iflex jcc aic td-119"><text>箱号</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>内含件数</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>批次</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>DC</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>原产国</text></view>
<view class="td-2 td borderBox Iflex jcc aic td-119"><text>入仓单号</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>货位</text></view>
<view class="td-2 td borderBox Iflex jcc aic td-119"><text>物料ID</text></view>
<view class="td-2 td borderBox Iflex jcc aic td-119"><text>型号</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>品名</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>实际库存</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>冻结数据</text></view>
<!-- <view class="td-2 td borderBox Iflex jcc aic"><text>锁库数量</text></view> -->
<view class="td-2 td borderBox Iflex jcc aic"><text>可用数量</text></view>
<view class="td-2 td borderBox Iflex jcc aic td-119"><text>卡板号</text></view>
<!-- <view class="td-2 td borderBox Iflex jcc aic"><text>内含箱数</text></view> -->
<view class="td-2 td borderBox Iflex jcc aic td-119"><text>箱号</text></view>
<!-- <view class="td-2 td borderBox Iflex jcc aic"><text>内含件数</text></view> -->
<view class="td-2 td borderBox Iflex jcc aic"><text>批次</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>DC</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>原产国</text></view>
</view>
<view class="body">
<block wx:if="{{!dataList.length}}">
<view class="body-data Bflex">
<view class="no-data-td ">暂无数据</view>
</view>
</block>
<block wx:else>
<view class="body-data Bflex" wx:for="{{dataList}}" wx:key="index">
<view class="td-1 td borderBox Iflex jcc aic"><text>{{item.store_name}}</text></view>
<view class="td-2 td borderBox Iflex jcc aic td-119"><text>{{item.warehousing_sn}}</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>{{item.location_name}}</text></view>
<view class="td-2 td borderBox Iflex jcc aic td-119"><text>{{item.goods_sn}}</text></view>
<view class="td-2 td borderBox Iflex jcc aic td-119"><text>{{item.goods_name}}</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>{{item.goods_cn_name}}</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>{{item.stock}}</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>{{item.frozen_number}}</text></view>
<!-- <view class="td-2 td borderBox Iflex jcc aic"><text>锁库数量</text></view> -->
<view class="td-2 td borderBox Iflex jcc aic"><text>{{item.available_number}}</text></view>
<view class="td-2 td borderBox Iflex jcc aic td-119"><text>{{item.pallet_sn}}</text></view>
<!-- <view class="td-2 td borderBox Iflex jcc aic"><text>内含箱数</text></view> -->
<view class="td-2 td borderBox Iflex jcc aic td-119"><text>{{item.box_sn}}</text></view>
<!-- <view class="td-2 td borderBox Iflex jcc aic"><text>内含件数</text></view> -->
<view class="td-2 td borderBox Iflex jcc aic"><text>{{item.batch}}</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>{{item.dc}}</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>{{item.country}}</text></view>
</view>
</block>
</view>
</view>
<view class="btn blue-btn fh-btn" bindtap="getTableData">查 询</view>
</view>
<view class="btn blue-btn fh-btn">查 询</view>
</view>
</view>
</view>
</view>
</view>
</view>
</nav-c>
</nav-c>
\ No newline at end of file
......@@ -47,7 +47,13 @@ page {
right: 9px;
top: 14px;
}
.select-input .text{
height:31px;
width:90px;
padding:0 10px;
line-height: 31px;
}
.select-items {
background-color: #FFFFFF;
box-shadow: -1px 1px 9px -7px rgba(44, 44, 44, 0.81);
......@@ -58,7 +64,6 @@ page {
padding: 11px 0;
max-height: 208px;
overflow-y: auto;
display: none;
}
.select-item {
......@@ -95,7 +100,8 @@ page {
}
.data-table-view {
width: 1555px;
/* width: 1555px; */
width:1279px;
}
.data-table {
......
......@@ -11,7 +11,9 @@ Page({
*/
data: {
tableData:[],
numText:"",//卡板号
palletObj:null,//接口返回的卡板号
numText:"",//input值
kbText:"",//卡板号
},
/**
......@@ -20,32 +22,112 @@ Page({
onLoad: function (options) {
},
cancelFun:function(e){
let {index} = e.currentTarget.dataset;
this.data.tableData.splice(index,1);
this.setData({
tableData:this.data.tableData
})
},
clearFun:function(){
let me = this;
wx.showModal({
title: '提示',
content: '确定要清空卡板记录吗?',
success (res) {
if (res.confirm) {
me.setData({
tableData:[],
palletObj:null,
numText:"",
kbText:""
})
}
}
})
},
formInput:function(e){
let {value} = e.detail ;
// console.log(value.substring(0, 2))
let str = value.substring(0, 2);
this.setData({
numText:value
})
if(str == 'XB'){//扫描的是箱号
this.setData({
kbText:""
})
this.getXbData()
}else if(str == 'KB'){//扫描的是卡版号
this.getKbData()
this.getKbData();
this.setData({
kbText:value
})
}
},
getData:function(val){
},
getXbData:function(){
let me = this;
getData(apis.get_box_info, 'post', {"pallet_sn":me.data.numText}, function(res) {
let arr = me.data.tableData;
let bool = true;
for(let i=0;i<arr.length;i++){
if(arr[i]['box_sn'] == me.data.numText){
bool = false;
break
}
}
if(!bool){
wx.showModal({
title: '提示',
content: '当前箱包已存在',
showCancel: false
});
return
}
getData(apis.get_box_info, 'post', {"box_sn":me.data.numText}, function(res) {
if (res.errcode === 0) {
// let data = res.data;
// me.setData({
// tableData:data,
// numText:val
// })
let data = res.data;
if(data){
let status = data.status;
if(data.pallet_sn){
wx.showModal({
title: '提示',
content: '当前箱包已装卡板,不能加入',
showCancel: false
});
return
}
if(status == 2){
wx.showModal({
title: '提示',
content: '当前箱包为上架状态,请确认',
showCancel: false
});
return
}else if(status == 3){
wx.showModal({
title: '提示',
content: '当前箱包已出库,不能加入',
showCancel: false
});
return
}
}else{
wx.showModal({
title: '提示',
content: '箱号不存在',
showCancel: false
});
}
arr.push({
...data
})
me.setData({
tableData:arr
})
} else {
wx.showToast({
......@@ -58,13 +140,91 @@ Page({
},
getKbData:function(){
let me = this;
let numText = me.data.numText;
let palletObj = me.data.palletObj;
if(palletObj){
if(palletObj.pallet_sn != numText){
wx.showModal({
title: '提示',
content: '已存在其它卡板数据!',
showCancel: false
});
}else{
wx.showModal({
title: '提示',
content: '已存在该卡板数据!',
showCancel: false
});
}
return
}
getData(apis.pallet_in_box_list, 'post', {"pallet_sn":me.data.numText}, function(res) {
if (res.errcode === 0) {
// let data = res.data;
// me.setData({
// tableData:data,
// numText:val
// })
let data = res.data;
let listArr = [];
let palletObj =null;
if(!data.data){
listArr = [];
palletObj = null
}else{
let data = res.data.data;
if(data.status == 2){
wx.showModal({
title: '提示',
content: '卡板为上架状态,不可装卡板',
showCancel: false
});
return
}else{
listArr = data.box_list||[];
listArr
palletObj = {
pallet_sn:data.pallet_sn,
pallet_id:data.pallet_id,
is_insp:data.is_insp
}
}
}
me.setData({
tableData:me.data.tableData.concat(listArr),
palletObj:palletObj
})
} else {
wx.showToast({
title: res.errmsg,
icon: 'none',
duration: 2000
});
}
}, true,true)
},
putOnPallet:function(){
let me = this;
let obj = {};
let tableData = me.data.tableData;
console.log(tableData)
let newData = [];
if(me.data.palletObj){
obj['pallet_id'] = me.data.palletObj.pallet_id
}
for(let i=0;i<tableData.length;i++){
let item = tableData[i];
console.log(item)
if(!item['pallet_sn']){
newData.push(item)
}
}
if(newData.length){
obj['box_list'] = newData
}
if(!me.data.palletObj&&!newData.length){
return
}
getData(apis.put_on_pallet, 'post', {...obj}, function(res) {
if (res.errcode === 0) {
console.log('连接蓝牙打印')
} else {
wx.showToast({
......
......@@ -3,15 +3,15 @@
<view class="card-board-wrapper ">
<view class="view-top Bflex aic">
<text class="desc">卡板号/箱号:</text>
<input class="input input-border" bindconfirm="formInput"></input>
<input class="input input-border" bindconfirm="formInput" value="{{numText}}"></input>
<view class="number">
卡板号: <text>{{numText}}</text>
卡板号: <text>{{kbText}}</text>
</view>
</view>
<view class="data-view Bflex aic">
<view class="data-table borderBox">
<view class="head Bflex">
<view class="td-1 td borderBox Iflex jcc aic td-50"><text>选项</text></view>
<view class="td-1 td borderBox Iflex jcc aic td-50"><text>序号</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>卡板号</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>箱号</text></view>
<view class="td-2 td borderBox Iflex jcc aic td-80"><text>操作</text></view>
......@@ -25,19 +25,21 @@
</block>
<block wx:else>
<view class="body-data Bflex" wx:for="{{tableData}}" wx:key="index">
<view class="td-1 td borderBox Iflex jcc aic td-50"><text class="box-icon"></text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>{{item.pallet_sn}}</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>{{item.box_sn}}</text></view>
<view class="td-2 td borderBox Iflex jcc aic td-80"><text class="underline-text">取消</text></view>
<view class="td-1 td borderBox Iflex jcc aic td-50">
<text>{{index+1}}</text>
</view>
<view class="td-2 td borderBox Iflex jcc aic"><text>{{item.pallet_sn||''}}</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>{{item.box_sn||''}}</text></view>
<view class="td-2 td borderBox Iflex jcc aic td-80"><text class="underline-text" wx:if="{{!item.pallet_sn}}" bindtap="cancelFun" data-index="{{index}}">取消</text></view>
</view>
</block>
</view>
</view>
<view class="btn-group Bflex">
<view class="btn-item btn blue-border-btn" >装卡板</view>
<view class="btn-item btn blue-border-btn" bindtap="putOnPallet">装卡板</view>
<view class="btn-item btn blue-border-btn">补打卡板标签</view>
<view class="btn-item btn disbled-btn">清除卡板记录</view>
<view class="btn-item btn disbled-btn" bindtap="clearFun">清除卡板记录</view>
</view>
</view>
</view>
......
......@@ -11,8 +11,8 @@ Page({
* 页面的初始数据
*/
data: {
rwVal:"JH200426100020",
hwVal:"1",
rwVal:"JH20050710000",
hwVal:"0",
kbVal:"",
listArr:[],
initId:""
......@@ -24,6 +24,41 @@ Page({
onLoad: function (options) {
},
cancelJh:function(){
let me = this;
if(!this.data.initId){
wx.showToast({
title: '请选择指定的数据',
icon: 'none',
duration: 2000
});
}else{
wx.showModal({
title: '提示',
content: '确定要取消拣货吗?确定后请将货物放回原货位上。取消拣货暂时不做重新上架逻辑。',
success (res) {
if (res.confirm) {
me.cancelAjax()
}
}
})
}
},
cancelAjax:function(){
let me = this;
getData(apis.cancel_pick, 'post', {"pick_task_detail_id":me.data.initId}, function(res) {
if (res.errcode === 0) {
me.getList()
} else {
wx.showToast({
title: res.errmsg,
icon: 'none',
duration: 2000
});
}
}, true,true)
},
chooseData:function(e){
let {id} = e.currentTarget.dataset;
let newId = "";
......@@ -37,25 +72,24 @@ Page({
rwInput:function(e){//任务号input监听
let {value} = e.detail ;
this.setData({
rwVal:value
rwVal:value,
hwVal:"",
kbVal:"",
})
},
rwConfirm:function(e){
let {value} = e.detail ;
this.getList({
pick_task_sn:value
},1)
this.getList()
},
hwInput:function(e){//货位号input监听
let {value} = e.detail ;
this.setData({
hwVal:value
hwVal:value,
kbVal:"",
})
},
hwConfirm:function(e){
let {value} = e.detail ;
let rwVal = this.data.rwVal
let rwVal = this.data.rwVal;
if(!rwVal){
wx.showToast({
title: '上架任务号不能为空',
......@@ -63,10 +97,7 @@ Page({
duration: 2000
});
}else{
this.getList({
pick_task_sn:rwVal,
location_id:value
},1)
this.getList()
}
},
......@@ -77,7 +108,6 @@ Page({
})
},
kbConfirm:function(e){
let {value} = e.detail ;
let rwVal = this.data.rwVal;
let hwVal = this.data.hwVal;
if(!rwVal){
......@@ -93,17 +123,24 @@ Page({
duration: 2000
});
}else{
this.getList({
pick_task_sn:rwVal,
location_id:hwVal,
box_goods_pallet_sn:value
},2)
this.getList()
}
},
getList:function(data,type){
getList:function(){
let me = this;
let url = type == 1?(apis.pick_task_list):(apis.confirm_pick)
let url = "";
let data = {pick_task_sn:me.data.rwVal};
if(!me.data.kbVal){
url = apis.pick_task_list;
if(me.data.hwVal){
data['location_id'] = me.data.hwVal
}
}else{
url = apis.confirm_pick;
data['location_id'] = me.data.hwVal;
data['goods_sn'] = me.data.kbVal
}
getData(url, 'post', {...data}, function(res) {
if (res.errcode === 0) {
let data = res.data;
......
......@@ -9,11 +9,11 @@
<text class="desc">卡板号/箱号/型号:</text>
<input class="input input-border" value="{{kbVal}}" bindinput="kbInput" bindconfirm="kbConfirm"></input>
<view class="number">
拣货任务号: <text>0609</text>
拣货任务号: <text>{{rwVal}}</text>
</view>
<view class="hw">
当前货位号:
<text>9857</text>
<text>{{hwVal}}</text>
</view>
</view>
<view class="table-view">
......@@ -54,7 +54,7 @@
<view class="td-2 td borderBox Iflex jcc aic td-119"><text>{{item.pallet_id_cn}}</text></view>
<view class="td-2 td borderBox Iflex jcc aic td-119"><text>{{item.box_id_cn}}</text></view>
<view class="td-2 td borderBox Iflex jcc aic td-119"><text>{{item.goods_name}}</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>内含件数</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>{{item.piece_num}}</text></view>
<view class="td-2 td borderBox Iflex jcc aic "><text>{{item.number}}</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>{{item.pick_user_id_cn}}</text></view>
<view class="td-2 td borderBox Iflex jcc aic td-125"><text>{{item.pick_time}}</text></view>
......@@ -62,13 +62,13 @@
</block>
</view>
</view>
<view class="cancel-btn btn disbled-btn">取消拣货</view>
<view class="cancel-btn btn disbled-btn" bindtap="cancelJh">取消拣货</view>
</view>
</view>
</view>
</view>
</view>
<view class="mask ">
<!-- <view class="mask ">
<view class=" pinking-mask">
<image class="close-icon" src="../../res/img/close-icon.png"></image>
<view class="tips Bflex jcc aic">
......@@ -78,5 +78,5 @@
</view>
</view>
</view>
</view> -->
</nav-c>
\ No newline at end of file
......@@ -462,7 +462,6 @@ onUnload:function(){
wlDeviceId,
xDeviceId
})
this.getMaskList();
this.getCountryList()
},
......@@ -547,10 +546,11 @@ onUnload:function(){
this.getReceivingList(2)
},
getMaskList:function(){
getMaskList:function(e){
let {value} = e.detail
//获取弹窗数据(入仓)
let me = this;
getData(apis.get_in_store_warehousing_sn, 'post', {"warehousing_sn":"69025143"}, function(res) {
getData(apis.get_in_store_warehousing_sn, 'post', {"warehousing_sn":value}, function(res) {
if (res.errcode === 0) {
let data = res.data;
let errorText = false;
......@@ -865,7 +865,11 @@ onUnload:function(){
});
me.getList1();
me.getReceivingList(1);
console.log('判断打印物料是否勾选进行蓝牙打印')
if(me.data.formData.wldy == 1){
console.log('打印数据')
// me.initBlue(1,data)
}
}else{
wx.showToast({
title: res.errmsg,
......@@ -1176,9 +1180,6 @@ onUnload:function(){
"PRINT";
//type为1表示生成上架任务 type为2表示装箱
let {type} = e.currentTarget.dataset;
console.log(type)
this.initBlue(type,str)
return
let me = this;
let obj = {
"in_store_id": me.data.chooseOrder.in_store_id
......@@ -1220,14 +1221,15 @@ onUnload:function(){
return
}else{
obj['box_sn'] = me.data.orderNum;
me.saveSaleTaskAjax(obj)
me.saveSaleTaskAjax(obj,type)
}
}
}
}
},
saveSaleTaskAjax:function(obj){
saveSaleTaskAjax:function(obj,type){
let me = this;
getData(apis.save_sale_task, 'post', {...obj}, function(res) {
if (res.errcode === 0) {
wx.showToast({
......@@ -1235,6 +1237,10 @@ onUnload:function(){
icon: 'none',
duration: 2000
});
if(type == 2){
console.log('打印数据')
me.initBlue(type,data)
}
}else{
wx.showToast({
title: res.errmsg,
......
......@@ -4,7 +4,7 @@
<view class="view-top Bflex aic">
<text class="desc">入仓单号</text>
<input class="input input-border"></input>
<input class="input input-border" bindconfirm="getMaskList"></input>
<text class="error-text" wx:if="{{errorText}}">入仓号不存在</text>
<view class="number">
入仓号:
......
......@@ -21,6 +21,22 @@ Page({
onLoad: function (options) {
},
cancelCk:function(e){
let {id} = e.currentTarget.dataset;
let me = this;
getData(apis.cancel_out_store, 'post', {"pick_task_detail_id":id}, function(res) {
if (res.errcode === 0) {
me.getList()
} else {
wx.showToast({
title: res.errmsg,
icon: 'none',
duration: 2000
});
}
}, true,true)
},
inputConfirm:function(e){
let {value} = e.detail ;
this.setData({
......@@ -53,7 +69,9 @@ Page({
for(let i=0;i<arr.length;i++){
idArr.push(arr[i]['pick_task_detail_id'])
}
}
this.faAjax(idArr)
};
},
faAjax:function(arr){
......
......@@ -29,15 +29,12 @@
</block>
<block wx:else>
<view class="body-data Bflex" wx:for="{{listArr}}" wx:key="index">
<view class="td-1 td borderBox Iflex jcc aic"><text class="underline-text">
<block wx:if="{{item.confirm_time_cn == 1}}">取消确认</block>
<!-- <block wx:elif="{{item.confirm_time_cn == 1}}">
</block> -->
<view class="td-1 td borderBox Iflex jcc aic"><text class="underline-text" bindtap="cancelCk" data-id="{{item.pick_task_detail_id}}">
<block wx:if="{{item.is_confirm == 1}}">取消确认</block>
</text></view>
<view class="td-2 td borderBox Iflex jcc aic"><text>
<block wx:if="{{item.confirm_time_cn == 0}}">未确认</block>
<block wx:elif="{{item.confirm_time_cn == 1}}">已确认</block>
<block wx:if="{{item.is_confirm == 0}}">未确认</block>
<block wx:elif="{{item.is_confirm == 1}}">已确认</block>
</text></view>
<view class="td-2 td borderBox Iflex jcc aic td-119"><text>{{item.pallet_id_cn}}</text></view>
<view class="td-2 td borderBox Iflex jcc aic td-119"><text>{{item.box_id_cn}}</text></view>
......
......@@ -18,9 +18,10 @@ export const apis = {
store_printer_list:in_store_url+'/printer/store_printer_list',//添加打印机绑定列表
printer_list:in_store_url+"/printer/printer_list",//获取打印机列表
pallet_in_box_list:in_store_url+"/in_store/pallet_in_box_list",//根据卡板号查找箱子
get_box_info:in_store_url+"//get_box_info",//根据箱号查找箱子
get_box_info:in_store_url+"/in_store/get_box_info",//根据箱号查找箱子
put_on_pallet:in_store_url+"/in_store/put_on_pallet",//装卡板
inquire_stock:in_store_url+"/stock/inquire_stock",//查询实时库存
location_list:in_store_url+"/location/location_list",//获取货位列表
// 入库结束
//出库开始
pick_task_list:out_store_url+'/out_store/pick_task_list',//api_拣货任务明细
......@@ -31,6 +32,7 @@ export const apis = {
confirm_out_store:out_store_url+"/out_store/confirm_out_store",//qpi_确认出库
cancel_out_store:out_store_url+"/out_store/cancel_out_store",//api_取消出库
deliver_goods:out_store_url+"/out_store/deliver_goods",//api_发货
cancel_pick:out_store_url+"/out_store/cancel_pick",//api_拣货任务取消
//出库结束
get_store_list:in_store_url+"/store_account/get_store_list",//获取仓库列表
change_store:in_store_url+'/store_account/change_store',//变更仓库
......
......@@ -85,12 +85,12 @@ const getData = (url, type, param, callBack, loading, istoken,isheader) => {
//是否启用请求头token
if (isheader) {
header = {
"Content-Type": "application/x-www-form-urlencoded",
"Content-Type": "application/json",
"Authorization": 'Bearer ' + token
}
} else {
header = {
"Content-Type": "application/x-www-form-urlencoded"
"Content-Type": "application/json"
}
}
wx.getNetworkType({
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment