Commit 228ef18a by LJM

入库理货

parent 2f35dc51
......@@ -11,6 +11,10 @@
-moz-osx-font-smoothing: grayscale;
}
.icon-jinggao31:before {
content: "\e762";
}
.icon-jianshao:before {
content: "\e8c5";
}
......@@ -111,6 +115,10 @@
content: "\e77c";
}
.icon-a-Fill3-copy:before {
content: "\e8c6";
}
.icon-xingzhuangjiehe:before {
content: "\e74f";
}
......
.abnormalTally {
height: 100vh;
padding: 0 24rpx;
overflow: hidden;
.head-text {
height: 80rpx;
.t1 {
font-size: 24rpx;
color: #6e767a;
}
.t2 {
font-size: 24rpx;
color: #197adb;
}
}
.input-box {
height: 88rpx;
background: #ffffff;
border-radius: 4rpx;
padding: 0 24rpx;
.uni-input {
font-weight: bold;
font-size: 28rpx;
color: #404547;
}
.btn {
width: 144rpx;
height: 48rpx;
background: #197adb;
border-radius: 4rpx;
font-size: 24rpx;
color: #ffffff;
}
.btn1 {
width: 144rpx;
height: 48rpx;
background: #ffffff;
border-radius: 4rpx;
border: 1rpx solid #197adb;
font-size: 24rpx;
color: #197adb;
}
}
.tab {
height: 106rpx;
.box {
position: relative;
font-size: 26rpx;
color: #404547;
transition: all 0.4s ease;
margin-right: 44rpx;
&:last-child {
margin-right: 0;
}
&.curr {
color: #1e2021;
font-weight: bold;
&:before {
position: absolute;
bottom: -13rpx;
left: 0;
right: 0;
width: 100%;
height: 6rpx;
background: #197adb;
border-radius: 3rpx;
content: '';
}
}
}
}
.list {
height: calc(100% - 420rpx);
.scroll-Y {
height: 100%;
.num {
position: absolute;
left: 24rpx;
top: 39rpx;
width: 40rpx;
height: 28rpx;
border-radius: 4rpx;
border: 1rpx solid #197adb;
font-size: 22rpx;
color: #197adb;
}
.box {
position: relative;
padding: 24rpx 24rpx 24rpx 72rpx;
background: #ffffff;
border-radius: 4rpx;
margin-bottom: 16rpx;
.mb16 {
margin-bottom: 16rpx;
}
.t1 {
font-size: 22rpx;
color: #404547;
font-weight: bold;
}
.t2 {
font-size: 22rpx;
color: #6e767a;
}
.t3 {
font-size: 22rpx;
color: #404547;
}
.t4 {
font-size: 22rpx;
color: #f39d18;
}
.icon-jinggao31 {
font-size: 28rpx;
color: #f39d18;
margin-left: 10rpx;
}
}
.btn-wrap {
justify-content: flex-end;
border-top: 1px solid #e6edf0;
margin-top: 23rpx;
.btn {
margin-top: 23rpx;
width: 144rpx;
height: 48rpx;
background: #197adb;
border-radius: 4rpx;
font-size: 24rpx;
color: #ffffff;
}
}
}
}
}
.tally-fixBox {
height: 100vh;
padding: 0 24rpx;
overflow: hidden;
.text {
height: 80rpx;
.t1 {
font-size: 24rpx;
color: #6e767a;
}
.t2 {
font-size: 24rpx;
color: #197adb;
}
}
.input-box {
height: 88rpx;
background: #ffffff;
border-radius: 4rpx;
padding: 0 24rpx;
.uni-input {
font-weight: bold;
font-size: 28rpx;
color: #404547;
}
.btn {
width: 144rpx;
height: 48rpx;
background: #197adb;
border-radius: 4rpx;
font-size: 24rpx;
color: #ffffff;
}
}
.list {
height: calc(100% - 350rpx);
margin-top: 24rpx;
padding: 24rpx 24rpx 0 24rpx;
background-color: #ffffff;
.title {
font-size: 22rpx;
color: #6e767a;
}
.scroll-Y {
height: 100%;
}
.box {
height: 84rpx;
border-bottom: 1px solid #e6edf0;
&:last-child {
border-bottom: none;
}
.t1 {
font-size: 26rpx;
color: #6e767a;
}
.t2 {
font-size: 26rpx;
color: #1e2021;
margin-left: 22rpx;
}
.tt {
font-size: 26rpx;
color: #197adb;
}
}
}
.fix-btn {
position: fixed;
bottom: 20rpx;
left: 0;
right: 0;
margin: 0 24rpx;
height: 88rpx;
background: #197adb;
border-radius: 4rpx;
font-size: 28rpx;
color: #ffffff;
}
}
.tally-index {
height: 100vh;
padding: 0 24rpx;
overflow: hidden;
.fix-box {
margin-top: 24rpx;
}
.column-box {
padding: 0 24rpx;
height: 88rpx;
background: #ffffff;
border-radius: 4rpx;
margin-bottom: 16rpx;
.action-bar {
.btn {
width: 144rpx;
height: 48rpx;
background: #197adb;
border-radius: 4rpx;
font-size: 24rpx;
color: #ffffff;
}
.btn1 {
width: 144rpx;
height: 48rpx;
background: #ffffff;
border-radius: 4rpx;
border: 1rpx solid #197adb;
font-size: 24rpx;
color: #197adb;
}
}
.select-box {
width: 129rpx;
margin-right: 22rpx;
.wrap {
.uni-input {
font-weight: bold;
font-size: 28rpx;
color: #404547;
}
}
.uni-arrow {
font-size: 17rpx;
color: #9ca8ad;
}
}
.input-box {
.uni-input {
font-weight: bold;
font-size: 28rpx;
color: #404547;
&.disabled {
opacity: 0.8;
}
}
}
}
.info {
display: grid;
grid-template-columns: 46% auto auto;
grid-gap: 12rpx;
padding: 24rpx 0;
.grid-item {
.t1 {
font-size: 24rpx;
color: #6e767a;
}
.t2 {
font-size: 24rpx;
color: #404547;
font-weight: bold;
}
.t3 {
font-size: 24rpx;
color: #197adb;
font-weight: bold;
}
}
}
.list {
height: calc(100% - 470rpx);
.box {
background: #ffffff;
border-radius: 4rpx;
margin-bottom: 16rpx;
padding: 24rpx;
.pb16 {
padding-bottom: 16rpx;
}
.w130 {
width: 130rpx;
}
.t1 {
font-size: 28rpx;
color: #404547;
font-weight: bold;
}
.t2 {
width: 48rpx;
height: 36rpx;
border-radius: 4rpx;
border: 1rpx solid #197adb;
font-size: 24rpx;
color: #197adb;
margin-left: 16rpx;
}
.t3 {
font-size: 26rpx;
color: #6e767a;
}
.t4 {
font-size: 26rpx;
color: 404547;
}
.input-text {
.uni-input {
width: 190rpx;
height: 48rpx;
background: #e6edf0;
border-radius: 4rpx;
padding-left: 20rpx;
font-size: 26rpx;
color: #404547;
font-weight: bold;
}
}
.upload-list {
.default {
width: 88rpx;
height: 88rpx;
background-color: #f1f4f6;
border: 1rpx solid #e6edf0;
.iconfont {
font-size: 48rpx;
color: #d8d8d8;
}
}
.pic-box {
position: relative;
width: 88rpx;
height: 88rpx;
margin-right: 10rpx;
&:nth-of-type(4n) {
margin-right: 0;
}
image {
width: 88rpx;
height: 88rpx;
}
.delete {
position: absolute;
right: 10rpx;
top: -13rpx;
width: 30rpx;
height: 30rpx;
border-radius: 50%;
background-color: #bb3434;
z-index: 999;
.iconfont {
font-size: 20rpx;
color: #ffffff;
}
}
}
}
.btn {
width: 190rpx;
height: 88rpx;
background: #197adb;
border-radius: 4rpx;
font-size: 26rpx;
color: #ffffff;
}
}
}
.btn-list {
margin-top: 30%;
flex-wrap: wrap;
.box {
width: 220rpx;
height: 88rpx;
background: #197adb;
border-radius: 4rpx;
font-size: 28rpx;
color: #ffffff;
margin-right: 20rpx;
margin-bottom: 20rpx;
&:nth-child(3) {
margin-right: 0;
}
}
}
.scroll-Y {
height: 100%;
background-color: #f00;
}
}
......@@ -189,6 +189,26 @@
"style": {
"navigationBarTitleText": "入库理货"
}
}, {
"path": "pages/tally/fixBox",
"style": {
"navigationBarTitleText": "合箱"
}
}, {
"path": "pages/tally/unboxing",
"style": {
"navigationBarTitleText": "重新开箱"
}
}, {
"path": "pages/tally/printBox",
"style": {
"navigationBarTitleText": "打印箱号"
}
}, {
"path": "pages/tally/abnormalTally",
"style": {
"navigationBarTitleText": "理货异常处理"
}
}],
"globalStyle": {
"navigationBarTextStyle": "black",
......
<template>
<view class="abnormalTally">
<view class="head-text row verCenter">
<view style="width: 50%;margin-left: 25rpx;">
<text class="t1">异常待处理:</text>
<text class="t2">88</text>
</view>
<view style="width: 50%;">
</view>
</view>
<view class="input-box row bothSide verCenter" style="margin-bottom: 16rpx;">
<input class="uni-input" placeholder="请取箱号" placeholder-style="color:#000;font-weight: bold;" />
<view class="btn row rowCenter verCenter">取箱号</view>
</view>
<view class="input-box row bothSide verCenter">
<input class="uni-input" placeholder="请输入或扫描异常批次" placeholder-style="color:#000;font-weight: bold;" />
<view class="btn1 row rowCenter verCenter">确 认</view>
</view>
<view class="tab row verCenter">
<view class="box" v-for="(item,index) in arr" :key="index" :class="{curr:curr==index}" @click="tab(index)">{{item}} (5)</view>
</view>
<view class="list">
<scroll-view scroll-y="true" class="scroll-Y">
<view class="box" v-for="(item,index) in 10" :key="index">
<view class="text row bothSide verCenter">
<text class="num row rowCenter verCenter">{{index+1}}</text>
<!-- 左侧 -->
<view class="bar" style="width: 60%;">
<view class="t1 mb16">YC0424001</view>
<view class="row verCenter mb16">
<text class="t2">型号:</text>
<text class="t3">BLM15KD200SN1D</text>
</view>
<view class="row verCenter">
<text class="t2">品牌:</text>
<text class="t3">NEXPERIA</text>
</view>
</view>
<!-- 右侧 -->
<view class="bar" style="width: 40%;">
<view class="row verCenter mb16">
<text class="t2">数量:</text>
<text class="t3">1,000,000</text>
</view>
<view class="row verCenter mb16">
<text class="t2">产地:</text>
<text class="t3">美国</text>
<text class="iconfont icon-jinggao31"></text>
<text class="t4" style="margin-left: 2rpx;">未确认</text>
</view>
<view class="row verCenter mb16">
<text class="t2">商检:</text>
<text class="t3"></text>
</view>
</view>
</view>
<view class="btn-wrap row" v-if="index == 0">
<view class="btn row rowCenter verCenter">装 箱</view>
</view>
</view>
</scroll-view>
</view>
</view>
</template>
<script>
import { API } from '@/util/api.js';
import debounce from 'lodash/debounce';
export default {
data() {
return {
curr: 0,
arr: ['美产', '商检', '已装箱']
};
},
methods: {
tab(index) {
this.curr = index;
}
}
};
</script>
<style scoped lang="scss">
@import '@/assets/css/tally/abnormalTally.scss';
</style>
\ No newline at end of file
<template>
<view class="tally-fixBox">
<view class="text row verCenter">
<view style="width: 50%;margin-left: 25rpx;">
<text class="t1">待装载箱数:</text>
<text class="t2">88</text>
</view>
<view style="width: 50%;">
<text class="t1">入仓号数:</text>
<text class="t2">88</text>
</view>
</view>
<view class="input-box row bothSide verCenter">
<input class="uni-input" placeholder="输入或扫描入箱号" placeholder-style="color:#000;font-weight: bold;" />
<view class="btn row rowCenter verCenter">添 加</view>
</view>
<view class="list">
<scroll-view scroll-y="true" class="scroll-Y">
<view class="title">合箱结果:</view>
<view class="box row bothSide verCenter" v-for="(item,index) in 20" :key="index">
<view class="row verCenter">
<text class="t1">{{index + 1}}.</text>
<text class="t2">X0422001</text>
</view>
<view class="tt">删除</view>
</view>
</scroll-view>
</view>
<view class="fix-btn row rowCenter verCenter">合 箱</view>
</view>
</template>
<script>
import { API } from '@/util/api.js';
import debounce from 'lodash/debounce';
export default {
data() {
return {
};
},
methods: {
}
};
</script>
<style scoped lang="scss">
@import '@/assets/css/tally/fixBox.scss';
</style>
\ No newline at end of file
<template>
<view class="tally-index">
<view class="fix-box">
<view class="column-box row bothSide verCenter">
<view class="input-box row verCenter">
<input disabled class="uni-input" placeholder="当前箱号" placeholder-style="color:#000;font-weight: bold;" v-model="box_sn" />
</view>
<view class="action-bar">
<template v-if="box_sn">
<view class="btn1 row rowCenter verCenter">打印箱号</view>
</template>
<template v-else>
<view class="btn row rowCenter verCenter" @click="getBoxSn()">取箱号</view>
</template>
</view>
</view>
<view class="column-box row bothSide verCenter">
<view class="input-box row verCenter">
<input class="uni-input" :disabled="tallyData.customer_name" :class="{ 'disabled': tallyData.customer_name }" placeholder="输入或扫描入仓号" placeholder-style="color:#000;font-weight: bold;" v-model="erp_order_sn" />
</view>
<view class="action-bar row verCenter">
<template v-if="tallyData.detail && tallyData.detail.length > 0">
<view class="btn1 row rowCenter verCenter" style="margin-right: 8rpx;">取消释放</view>
<view class="btn row rowCenter verCenter">关单封箱</view>
</template>
<template v-else>
<view class="btn row rowCenter verCenter" @click="getTallyData()">锁定理货</view>
</template>
</view>
</view>
<view class="column-box row bothSide verCenter" style="margin-bottom: 0;">
<view class="row verCenter">
<view class="select-box">
<picker @change="bindPickerChange" :value="index" :range="item">
<view class="wrap row verCenter bothSide">
<view class="uni-input">{{ item[index] }}</view>
<text class="iconfont icon-sanjiaoxing1 uni-arrow"></text>
</view>
</picker>
</view>
<view class="input-box row verCenter">
<input class="uni-input" placeholder="输入或扫描" placeholder-style="color:#000;font-weight: bold;" />
</view>
</view>
<view class="action-bar">
<view class="btn1 row rowCenter verCenter">扫 描</view>
</view>
</view>
<view class="info row verCenter" v-if="tallyData && tallyData.detail">
<view class="grid-item row verCenter">
<view class="t1">业务日期:</view>
<view class="t2">{{tallyData.create_time_sn}}</view>
</view>
<view class="grid-item row verCenter">
<view class="t1">型号总数:</view>
<view class="t3">{{tallyData.goods_sn_num}}</view>
</view>
<view class="grid-item row verCenter">
<view class="t1">总箱数:</view>
<view class="t3">{{tallyData.box_sum}}</view>
</view>
<view class="grid-item row verCenter">
<view class="t1">处理人:</view>
<view class="t2">{{tallyData.tally_user_name}}</view>
</view>
<view class="grid-item row verCenter">
<view class="t1">未扫描:</view>
<view class="t3">{{tallyData.no_scan_num}}</view>
</view>
<view class="grid-item row verCenter">
<view class="t1">已扫描:</view>
<view class="t3">{{tallyData.have_scan_num}}</view>
</view>
</view>
</view>
<view class="list" v-if="tallyData && tallyData.detail">
<scroll-view scroll-y="true" class="scroll-Y">
<view class="box" v-for="(item,index) in tallyData.detail" :key="index">
<view class="title pb16 row verCenter">
<text class="t1">{{item.goods_type}}</text>
<text class="t2 row rowCenter verCenter" v-if="item.is_goods_check_cn"></text>
</view>
<view class="pb16 row">
<text class="t3 w130">物料名称:</text>
<text class="t4">{{item.goods_title}}</text>
</view>
<view class="pb16 row">
<text class="t3 w130">品牌:</text>
<text class="t4">{{item.brand}}</text>
</view>
<view class="pb16 row">
<view class="row" style="width: 50%;">
<text class="t3 w130">单价:</text>
<text class="t4">{{item.unit_price}}</text>
</view>
<view class="row" style="width: 50%;">
<text class="t3 w130">金额:</text>
<text class="t4">{{item.total_price}}</text>
</view>
</view>
<view class="pb16 row" style="border-bottom: 1px solid #E6EDF0;padding-bottom: 24rpx;">
<view class="row" style="width: 50%;">
<text class="t3 w130">待收数量:</text>
<text class="t4">{{item.wait_tally_num}}</text>
</view>
<view class="row" style="width: 50%;">
<text class="t3 w130">总数量:</text>
<text class="t4">{{item.order_numbers}}</text>
</view>
</view>
<view class="pb16 row verCenter bothSide" style="margin-top: 24rpx;">
<view class="row verCenter" style="width: 50%;">
<text class="t3 w130">入库数量:</text>
<view class="input-text">
<input class="uni-input" type="number" placeholder="输入" placeholder-style="color:#000;font-weight: bold;" />
</view>
</view>
<view class="row verCenter" style="width: 50%;">
<text class="t3 w130">原产地:</text>
<view class="input-text">
<input class="uni-input" placeholder="输入" placeholder-style="color:#000;font-weight: bold;" disabled="" />
</view>
</view>
</view>
<view class="pb16 row verCenter bothSide" style="margin-top: 24rpx;">
<view class="row verCenter" style="width: 50%;">
<text class="t3 w130">净重:</text>
<view class="input-text">
<input class="uni-input" placeholder="输入" placeholder-style="color:#000;font-weight: bold;" />
</view>
</view>
</view>
<view class="row bothSide verCenter">
<view class="upload-list row verCenter">
<template v-if="image_list.length > 0">
<view class="pic-box" v-for="(v, index) in image_list" :key="index">
<image :src="v" mode="aspectFill" lazy-load="true" @click="previewChange(image_list, index)"></image>
<view class="delete row rowCenter verCenter" @click="deletePic(index)"><text class="iconfont icon-shanchu"></text></view>
</view>
</template>
<view class="default row rowCenter verCenter" @click="chooseImageChange()" v-if="image_list.length < 5"><text class="iconfont icon-xingzhuangjiehe"></text></view>
</view>
<view class="btn row rowCenter verCenter">提 交</view>
</view>
</view>
</scroll-view>
</view>
<view class="btn-list row verCenter bothSide" v-if="!tallyData.detail">
<navigator url="/pages/tally/fixBox" class="box row rowCenter verCenter" hover-class="none">合 箱</navigator>
<navigator url="/pages/tally/unboxing" class="box row rowCenter verCenter" hover-class="none">重新开箱</navigator>
<navigator url="/pages/tally/printBox" class="box row rowCenter verCenter" hover-class="none">打印箱号</navigator>
<navigator url="/pages/tally/abnormalTally" class="box row rowCenter verCenter" hover-class="none">理货异常处理</navigator>
</view>
</view>
</template>
<script>
import { API } from '@/util/api.js';
import debounce from 'lodash/debounce';
export default {
data() {
return {
fixBoxStyle: '',
noexebshowFalg: true, //控制是否会触发生命周期
img_upload_url: 'http://hk.image.semour.com',
index: 0,
item: ['其他', 'digikey', 'mouser', 'future', 'TI'],
box_sn: '', //箱号信息
erp_order_sn: '', //入仓号
goods_type: '', //商品型号
tallyData: {}, //理货信息
image_list: [], //图片列表
form: {
tally_num: '', //入库数量
origin: '', //原产地
net_weight: '', //净重
wstydl_id: '', //理货明细ID
erp_order_sn: '', //入仓号
wsty_id: '', //箱子id
goods_check_pic: '' //商检的必须上传图片
}
};
},
onLoad(option) {
methods: {
bindPickerChange: function(e) {
console.log('picker发送选择改变,携带值为', e.detail.value);
this.index = e.detail.value;
},
onShow() {
/**
* 选择图片
*/
chooseImageChange() {
this.noexebshowFalg = false;
// 使用 chooseImage选择图片
uni.chooseMedia({
count: 5,
mediaType: ['image'],
sizeType: ['original', 'compressed'],
sourceType: ['album', 'camera'],
success: chooseImageRes => {
console.log('选择图片成功:', chooseImageRes);
// 显示loading
uni.showLoading({
title: '上传中...'
});
// 获取选择的图片路径数组
const imagePaths = chooseImageRes.tempFiles;
// 判断选择的图片数量是否超过最大限制数量
let maxNum = Number(imagePaths.length) + Number(this.image_list.length); //当前上传的+已经上传的
if (maxNum > 5) {
uni.hideLoading();
uni.showToast({
title: '图片不超过5张',
icon: 'none'
});
return false;
}
// 遍历图片路径数组,对每张图片进行压缩
imagePaths.forEach((imagePath, index) => {
// 使用compressImage 压缩图片
uni.compressImage({
src: imagePaths[index].tempFilePath,
quality: 60, //压缩质量,范围0~100,数值越小,质量越低,压缩率越高
success: compressedRes => {
console.log('压缩图片成功:', compressedRes);
// 获取压缩后的图片路径
const compressedImagePath = compressedRes.tempFilePath;
// 在这里处理压缩后的图片,上传到服务器
uni.uploadFile({
url: this.img_upload_url + '/uploadImage?sys_type=4',
filePath: compressedImagePath,
name: 'file',
timeout: 10000,
header: {
'Content-Type': 'multipart/form-data'
},
methods: {
success: uploadFileRes => {
console.log('服务器上传图片成功:', uploadFileRes);
uni.hideLoading();
let data = JSON.parse(uploadFileRes.data);
if (data.code === 0) {
this.image_list.push(data.data.oss_image_url);
} else {
uni.showToast({
title: data.msg,
icon: 'none'
});
}
},
fail: error => {
uni.showToast({
title: '上传图片失败',
icon: 'none'
});
uni.hideLoading();
}
});
},
fail: err => {
console.log('压缩图片失败:', err);
}
});
});
}
});
},
/**
* 预览图片
* @param {Object} img
* @param {Object} index
*/
previewChange(img, index) {
this.noexebshowFalg = false;
uni.previewImage({
current: index,
urls: img
});
},
/**
* 删除图片
* @param {Object} index
*/
deletePic(index) {
this.image_list.splice(index, 1);
},
/**
* 获取箱号
*/
getBoxSn() {
this.request(API.getBoxSn, 'POST', {}, true).then(res => {
if (res.err_code === 0) {
this.box_sn = res.data.box_sn;
} else {
uni.showToast({
title: res.err_msg,
icon: 'none'
});
}
});
},
/**
* 获取锁定理货信息
*/
getTallyData() {
if (!this.box_sn) {
uni.showModal({
title: '',
content: '请先取箱号!并将打印的箱号贴于外箱上',
showCancel: false
});
return false;
}
if (!this.erp_order_sn) {
uni.showToast({
title: '请输入入仓号',
icon: 'none'
});
return false;
}
this.request(API.getTallyData, 'POST', { erp_order_sn: this.erp_order_sn, goods_type: this.goods_type }, true).then(res => {
if (res.err_code === 0) {
this.tallyData = res.data;
} else {
uni.showToast({
title: res.err_msg,
icon: 'none'
});
}
});
}
}
};
</script>
......
<template>
<view class="printBox">
<view class="input-box row bothSide verCenter">
<input class="uni-input" placeholder="输入或扫描入箱号" placeholder-style="color:#000;font-weight: bold;" />
<view class="btn row rowCenter verCenter">打印箱号</view>
</view>
</view>
</template>
<script>
import { API } from '@/util/api.js';
import debounce from 'lodash/debounce';
export default {
data() {
return {
};
},
methods: {
}
};
</script>
<style scoped lang="scss">
.printBox {
margin-top: 24rpx;
height: 100vh;
padding: 0 24rpx;
overflow: hidden;
.input-box {
height: 88rpx;
background: #ffffff;
border-radius: 4rpx;
padding: 0 24rpx;
.uni-input {
font-weight: bold;
font-size: 28rpx;
color: #404547;
}
.btn {
width: 144rpx;
height: 48rpx;
background: #197adb;
border-radius: 4rpx;
font-size: 24rpx;
color: #ffffff;
}
}
}
</style>
\ No newline at end of file
<template>
<view class="unboxing">
<view class="input-box row bothSide verCenter">
<input class="uni-input" placeholder="输入或扫描入箱号" placeholder-style="color:#000;font-weight: bold;" />
<view class="btn row rowCenter verCenter">开 箱</view>
</view>
</view>
</template>
<script>
import { API } from '@/util/api.js';
import debounce from 'lodash/debounce';
export default {
data() {
return {
};
},
methods: {
}
};
</script>
<style scoped lang="scss">
.unboxing {
margin-top: 24rpx;
height: 100vh;
padding: 0 24rpx;
overflow: hidden;
.input-box {
height: 88rpx;
background: #ffffff;
border-radius: 4rpx;
padding: 0 24rpx;
.uni-input {
font-weight: bold;
font-size: 28rpx;
color: #404547;
}
.btn {
width: 144rpx;
height: 48rpx;
background: #197adb;
border-radius: 4rpx;
font-size: 24rpx;
color: #ffffff;
}
}
}
</style>
\ No newline at end of file
No preview for this file type
......@@ -250,7 +250,39 @@ const API = {
/**
* 标签打印
*/
addSupplyChainData: API_BASE_WMS + '/open/label/addSupplyChainData'
addSupplyChainData: API_BASE_WMS + '/open/label/addSupplyChainData',
/**
* 获取箱号
*/
getBoxSn: API_BASE + '/supplywechatwms/getBoxSn',
/**
* 获取锁定理货信息
*/
getTallyData: API_BASE + '/supplywechatwms/getTallyData',
/**
* 理货明细提交
*/
submitTallyDetail: API_BASE + '/supplywechatwms/submitTallyDetail',
/**
* 关单封箱
*/
closeBox: API_BASE + '/supplywechatwms/closeBox',
/**
* 理货明细撤销
*/
cancelTallyDetail: API_BASE + '/supplywechatwms/cancelTallyDetail',
/**
* 获取异常理货明细
*/
getAbnormalTallyDetail: API_BASE + '/supplywechatwms/getAbnormalTallyDetail',
/**
* 异常型号装箱
*/
getAbnormalTallyDetail: API_BASE + '/supplywechatwms/closeAbnormalBox',
/**
* 合箱
*/
fixBox: API_BASE + '/supplywechatwms/fixBox'
}
......
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