Commit c07a19a2 by LJM

css

parent 6454d6ee
......@@ -169,7 +169,7 @@ export default {
array: ['物流单号', '入库单号', '入仓号'],
list: [],
filter_list: [], //筛选已选中的列表
filter_id: [], //入库单列表的入库登记
filter_id: [], //过滤处理的id
detail: {}, //详情的数据
searchParams: {
stock_in_sn: '', //入库单号
......
......@@ -299,9 +299,10 @@ export default {
this.filter_id = [];
}, 2000);
} else {
uni.showToast({
title: res.msg,
icon: 'error'
uni.showModal({
title: '提示',
content: res.msg,
showCancel: false
});
}
});
......
......@@ -12,16 +12,16 @@
<view class="search-bar row bothSide verCenter">
<view class="row verCenter">
<text class="iconfont icon-juxing1"></text>
<input class="uni-input" placeholder="请扫描或输入号码" placeholder-style="color:#919399" />
<input class="uni-input" placeholder="请扫描出库单号" placeholder-style="color:#919399" @input="handleInput" v-model="searchParams.stock_out_sn" />
</view>
<text class="iconfont icon-a-juxing11"></text>
<text class="iconfont icon-a-juxing11" @click="clearInput()" v-if="input_flag"></text>
</view>
</view>
<view class="list row bothSide">
<navigator class="box" v-for="(item, index) in 10" :key="index" url="/pages/picking/sort" hover-class="none">
<view class="list row bothSide" v-if="list.length > 0">
<navigator class="box" v-for="(item, index) in list" :key="index" url="/pages/picking/sort" hover-class="none">
<view class="text-item row verCenter">
<text class="label">出库单号:</text>
<text class="t1">ASN2201010001</text>
<text class="t1"></text>
</view>
<view class="text-item row verCenter">
<text class="label">状 态:</text>
......@@ -47,16 +47,34 @@
<view class="btn-box row"><view class="btn row rowCenter verCenter">领取</view></view>
</navigator>
</view>
<!-- 无数据展示 -->
<view class="no-date column rowCenter verCenter" v-else>
<text class="iconfont icon-a-juxing21"></text>
<text class="text">查不到当前数据</text>
</view>
</view>
</template>
<script>
import { API } from '@/util/api.js';
import { createArray } from '@/util/util.js';
import debounce from 'lodash/debounce';
export default {
data() {
return {
input_flag: false,
index: 0,
array: ['出库单号']
page: 1,
limit: 1000,
array: ['出库单号'],
list: [],
filter_list: [], //筛选已选中的列表
filter_id: [], //过滤处理的id
searchParams: {
stock_out_sn: '',
stock_out_id: 4
}
};
},
onLoad() {},
......@@ -71,7 +89,44 @@ export default {
bindPickerChange: function(e) {
console.log('picker发送选择改变,携带值为', e.detail.value);
this.index = e.detail.value;
},
/**
* 获取列表数据
*/
getData() {
this.request(API.getPickedList, 'POST', { page: this.page, limit: this.limit, ...this.searchParams }, false).then(res => {
if (res.code === 0) {
this.list = res.data.list;
this.filter_list = createArray(this.list.length, false);
} else {
uni.showToast({
title: res.msg,
icon: 'error'
});
}
});
},
/**
* 清空数据
*/
clearInput() {
this.input_flag = false;
this.searchParams.stock_out_sn = '';
this.getData();
},
/**
* 单号搜索
* @param {Object} event
*/
handleInput: debounce(function(event) {
var val = event.target.value;
if (val) {
this.input_flag = true;
} else {
this.input_flag = false;
}
this.getData();
}, 500)
}
};
</script>
......
......@@ -12,47 +12,63 @@
<view class="search-bar row bothSide verCenter">
<view class="row verCenter">
<text class="iconfont icon-juxing1"></text>
<input class="uni-input" placeholder="请扫描或输入号码" placeholder-style="color:#919399" />
<input class="uni-input" placeholder="请扫描或输入号码" placeholder-style="color:#919399" focus v-model="searchParams.transfer_sn" @input="handleInput" />
</view>
<text class="iconfont icon-a-juxing11"></text>
<text class="iconfont icon-a-juxing11" @click="clearInput()" v-if="input_flag"></text>
</view>
</view>
<view class="list row bothSide">
<view class="box" v-for="(item, index) in 10" :key="index">
<view class="list row bothSide" v-if="list.length > 0">
<view class="box" v-for="(item, index) in list" :key="index">
<view class="text-item row verCenter">
<text class="label">移位单号:</text>
<text class="t1">L-YW2201010001</text>
<text class="t1">{{ item.transfer_sn }}</text>
</view>
<view class="text-item row verCenter">
<text class="label">状 态:</text>
<text class="t1">任务生成</text>
<text class="t1">{{ item.transfer_status_val }}</text>
</view>
<view class="bor row"></view>
<view class="text-item row verCenter">
<text class="label">任 务 数:</text>
<text class="tt">8</text>
<text class="tt">{{ item.task_num }}</text>
</view>
<view class="text-item row verCenter">
<text class="label">总 数 量:</text>
<text class="tt">5000</text>
<text class="tt">{{ item.trans_qty }}</text>
</view>
<view class="text-item row verCenter">
<text class="label">创建时间:</text>
<text class="tt">2023-04-01 11:28:59</text>
<text class="tt">{{ item.create_time }}</text>
</view>
<navigator class="btn-box row" url="/pages/transfer/task" hover-class="none"><view class="btn row rowCenter verCenter">选择</view></navigator>
<navigator class="btn-box row" :url="'/pages/transfer/task?transfer_id=' + item.transfer_id" hover-class="none"><view class="btn row rowCenter verCenter">选择</view></navigator>
</view>
</view>
<!-- 无数据展示 -->
<view class="no-date column rowCenter verCenter" v-else>
<text class="iconfont icon-a-juxing21"></text>
<text class="text">查不到当前数据</text>
</view>
</view>
</template>
<script>
import { API } from '@/util/api.js';
import { createArray } from '@/util/util.js';
import debounce from 'lodash/debounce';
export default {
data() {
return {
input_flag: false,
page: 1,
limit: 1000,
index: 0,
array: ['移位单号']
array: ['移位单号'],
list: [],
filter_list: [], //筛选已选中的列表
searchParams: {
transfer_sn: '' //移位单号
}
};
},
onLoad() {},
......@@ -60,6 +76,51 @@ export default {
bindPickerChange: function(e) {
console.log('picker发送选择改变,携带值为', e.detail.value);
this.index = e.detail.value;
},
/**
* 获取列表数据
*/
getData() {
this.request(API.getTransferList, 'GET', { page: this.page, limit: this.limit, ...this.searchParams }, false).then(res => {
if (res.code === 0) {
this.list = res.data.list;
this.filter_list = createArray(this.list.length, false);
} else {
uni.showToast({
title: res.msg,
icon: 'error'
});
}
});
},
/**
* 单号搜索
* @param {Object} event
*/
handleInput: debounce(function(event) {
var val = event.target.value;
if (val) {
this.input_flag = true;
} else {
this.input_flag = false;
}
this.getData();
}, 500),
/**
* 筛选过滤出选中的元素
*/
filterChange(index) {
this.$set(this.filter_list, index, (this.filter_list[index] = !this.filter_list[index]));
let filter_arr = this.findIndex(this.filter_list, true);
this.filter_id = filter_arr.map(i => this.list[i].stock_in_id);
},
/**
* 清空数据
*/
clearInput() {
this.input_flag = false;
this.searchParams.transfer_sn = '';
this.getData();
}
}
};
......
......@@ -6,9 +6,9 @@
<view class="search-bar row bothSide verCenter">
<view class="row verCenter">
<text class="iconfont icon-juxing1"></text>
<input class="uni-input" placeholder="请扫描或输入源库位" placeholder-style="color:#919399" />
<input class="uni-input" placeholder="请扫描或输入源库位" placeholder-style="color:#919399" v-model="searchParams.origin_pos_code" @input="handleInput(1, searchParams.origin_pos_code)" />
</view>
<text class="iconfont icon-a-juxing11"></text>
<text class="iconfont icon-a-juxing11" @click="clearInput(1)" v-if="input_flag_origin_pos_code"></text>
</view>
</view>
<view class="right">
......@@ -16,73 +16,78 @@
<view class="search-bar row bothSide verCenter">
<view class="row verCenter">
<text class="iconfont icon-juxing1"></text>
<input class="uni-input" placeholder="请扫描或输入入库批次号" placeholder-style="color:#919399" />
<input class="uni-input" placeholder="请扫描或输入入库批次号" placeholder-style="color:#919399" v-model="searchParams.stock_in_batch_sn" @input="handleInput(2, searchParams.stock_in_batch_sn)" />
</view>
<text class="iconfont icon-a-juxing11"></text>
<text class="iconfont icon-a-juxing11" @click="clearInput(2)" v-if="input_flag_stock_in_batch_sn"></text>
</view>
</view>
</view>
<view class="list">
<view class="box row" v-for="(item, index) in 15">
<view class="list" v-if="list.length > 0">
<view class="box row" v-for="(item, index) in list" :key="index">
<view class="input-box row verCenter" style="flex: 0 0 100%;">
<text class="label">源 库 位:</text>
<text class="tt">A65512</text>
<text class="tt">{{ item.origin_pos_val }}</text>
</view>
<view class="input-box row verCenter">
<text class="label">入库批次号:</text>
<text class="tt">L-ASN2201010001</text>
<text class="tt">{{ item.stock_in_batch_sn }}</text>
</view>
<view class="input-box row verCenter">
<text class="label">容 器:</text>
<text class="tt">A65512</text>
<text class="tt">{{ item.container_name }}</text>
</view>
<view class="bor" style="flex: 0 0 100%;"></view>
<view class="input-box row verCenter">
<text class="label">货品编码:</text>
<text class="text">TI</text>
<text class="text">{{ item.goods_sn }}</text>
</view>
<view class="input-box row verCenter">
<text class="label">货品名称:</text>
<text class="text">TI</text>
<text class="text">{{ item.goods_name }}</text>
</view>
<view class="input-box row verCenter">
<text class="label">标准品牌:</text>
<text class="text">TI</text>
<text class="text">{{ item.brand_name }}</text>
</view>
<view class="input-box row verCenter">
<text class="label">D / C:</text>
<text class="text">22+</text>
<text class="text">{{ item.date_code }}</text>
</view>
<view class="input-box row verCenter">
<text class="label">产 地:</text>
<text class="text">美国</text>
<text class="text">{{ item.coo }}</text>
</view>
<view class="input-box row verCenter">
<text class="label">货品品质:</text>
<text class="text">良品</text>
<text class="text">{{ item.quality_val }}</text>
</view>
<view class="input-box row verCenter">
<text class="label">其他批次属性:</text>
<text class="text">-</text>
<text class="text">{{ item.other_batch_attr }}</text>
</view>
<view class="input-box row verCenter">
<text class="label">计划数量:</text>
<text class="text" style="color: #F98119;">2121</text>
<text class="text" style="color: #F98119;">{{ item.plan_trans_qty }}</text>
</view>
<view class="input-box row verCenter">
<text class="label">已位移数:</text>
<text class="text" style="color: #F98119;">2121</text>
<text class="text" style="color: #F98119;">{{ item.transfered_qty }}</text>
</view>
<view class="input-box row verCenter">
<text class="label">待位移数:</text>
<text class="text" style="color: #F98119;">2121</text>
<text class="text" style="color: #F98119;">{{ Number(item.plan_trans_qty) - Number(item.transfered_qty) }}</text>
</view>
<view class="btn row rowCenter verCenter" @click="showDrawer()">移位</view>
<view class="btn row rowCenter verCenter" @click="showDrawer(item)">移位</view>
</view>
</view>
<!-- 无数据展示 -->
<view class="no-date column rowCenter verCenter" v-else>
<text class="iconfont icon-a-juxing21"></text>
<text class="text">查不到当前数据</text>
</view>
<!-- 位移操作弹窗 -->
<uni-drawer ref="showRight" mode="right">
<view class="uni-drawer-tally-receive-detail">
<view class="uni-drawer-tally-receive-detail" v-if="detail">
<view class="title row rowCenter verCenter">
<text class="iconfont icon-juxing2" @click="closeDrawer()"></text>
<text class="text">位移操作</text>
......@@ -90,15 +95,15 @@
<view class="field-item row" style="margin-top: 39rpx;">
<view class="item row verCenter" style="flex: 0 0 100%;">
<text class="label">源 库 位:</text>
<text class="text">ASN2201010001</text>
<text class="text">{{ detail.origin_pos_val }}</text>
</view>
<view class="item row verCenter">
<text class="label">入库批次号:</text>
<text class="text">SF2135661465161</text>
<text class="text">{{ detail.stock_in_batch_sn }}</text>
</view>
<view class="item row verCenter">
<text class="label">容 器:</text>
<text class="text">A00001</text>
<text class="text">{{ detail.container_name }}</text>
</view>
</view>
<view class="bor"></view>
......@@ -106,46 +111,46 @@
<view class="field-item row">
<view class="item row verCenter" style="flex: 0 0 100%;">
<text class="label">货品编码:</text>
<text class="tt" style="max-width: 100%;">6546546416541654665</text>
<text class="tt" style="max-width: 100%;">{{ detail.goods_sn }}</text>
</view>
<view class="item row verCenter" style="flex: 0 0 100%;">
<text class="label">货品名称:</text>
<text class="tt" style="max-width: 100%;">ASD3DAADS22</text>
<text class="tt" style="max-width: 100%;">{{ detail.goods_name }}</text>
</view>
<view class="item row verCenter" style="flex: 0 0 100%;">
<text class="label">标准品牌:</text>
<text class="tt" style="max-width: 100%;">Nexperia</text>
<text class="tt" style="max-width: 100%;">{{ detail.goods_name }}</text>
</view>
<view class="item row verCenter">
<text class="label">D / C:</text>
<text class="tt">22+</text>
<text class="tt">{{ detail.date_code }}</text>
</view>
<view class="item row verCenter">
<text class="label">产 地:</text>
<text class="tt">美国</text>
<text class="tt">{{ detail.coo }}</text>
</view>
<view class="item row verCenter" style="flex: 0 0 100%;">
<text class="label">货品品质:</text>
<text class="tt">良品</text>
<text class="tt">{{ detail.quality_val }}</text>
</view>
<view class="item row verCenter" style="flex: 0 0 100%;margin-bottom: 17rpx;">
<text class="label">其他批次属性:</text>
<text class="tt">-</text>
<text class="tt">{{ detail.other_batch_attr }}</text>
</view>
</view>
<view class="bor"></view>
<view class="field-item row">
<view class="item row verCenter" style="flex: 0 0 100%;">
<text class="label">计划数量:</text>
<text class="tt">100000</text>
<text class="tt">{{ detail.plan_trans_qty }}</text>
</view>
<view class="item row verCenter">
<text class="label">已位移数:</text>
<text class="tt" style="color: #F98119;">5000</text>
<text class="tt" style="color: #F98119;">{{ detail.transfered_qty }}</text>
</view>
<view class="item row verCenter">
<text class="label">待位移数:</text>
<text class="tt" style="color: #F98119;">1212</text>
<text class="tt" style="color: #F98119;">{{ Number(detail.plan_trans_qty) - Number(detail.transfered_qty) }}</text>
</view>
</view>
<view class="form-input">
......@@ -153,7 +158,7 @@
<text class="arrow">*</text>
<text class="input-title-t1">移位数量:</text>
</view>
<view class="input-box"><input type="text" class="uni-input" placeholder-style="color:#919399" placeholder="请输入" /></view>
<view class="input-box"><input type="text" class="uni-input" placeholder-style="color:#919399" placeholder="请输入" v-model="formParams.transfer_qty" /></view>
</view>
<view class="form-input">
<view class="input-title">
......@@ -163,9 +168,9 @@
<view class="input-box-search row bothSide verCenter">
<view class="row verCenter">
<text class="iconfont icon-juxing1"></text>
<input class="uni-input" placeholder="请扫描或输入" placeholder-style="color:#919399" />
<input class="uni-input" placeholder="请扫描或输入" placeholder-style="color:#919399" v-model="formParams.position_code" @input="handleInput(3, formParams.position_code)" />
</view>
<text class="iconfont icon-a-juxing11"></text>
<text class="iconfont icon-a-juxing11" v-if="input_flag_position_code" @click="clearInput(3)"></text>
</view>
</view>
<view class="form-input">
......@@ -176,14 +181,14 @@
<view class="input-box-search row bothSide verCenter">
<view class="row verCenter">
<text class="iconfont icon-juxing1"></text>
<input class="uni-input" placeholder="请扫描或输入" placeholder-style="color:#919399" />
<input class="uni-input" placeholder="请扫描或输入" placeholder-style="color:#919399" v-model="formParams.container_sn" @input="handleInput(4, formParams.container_sn)" />
</view>
<text class="iconfont icon-a-juxing11"></text>
<text class="iconfont icon-a-juxing11" v-if="input_flag_container_sn" @click="clearInput(4)"></text>
</view>
</view>
<view class="btn row verCenter bothSide">
<view class="btn1 row rowCenter verCenter" @click="closeDrawer()">取 消</view>
<view class="btn2 row rowCenter verCenter">移 位</view>
<view class="btn2 row rowCenter verCenter" @click="confirmTransfer()">移 位</view>
</view>
</view>
</uni-drawer>
......@@ -192,18 +197,157 @@
<script>
import { API } from '@/util/api.js';
import debounce from 'lodash/debounce';
export default {
data() {
return {};
return {
transfer_id: '',
input_flag_origin_pos_code: false,
input_flag_stock_in_batch_sn: false,
input_flag_position_code: false,
input_flag_container_sn: false,
page: 1,
limit: 1000,
index: 0,
list: [],
detail: {},
searchParams: {
transfer_id: '',
origin_pos_code: '', //源库位编码
stock_in_batch_sn: '' //入库批次号
},
formParams: {
transfer_item_id: '',
transfer_qty: '',
position_code: '',
container_sn: ''
}
};
},
onLoad(options) {
this.searchParams.transfer_id = options.transfer_id || '';
},
onShow() {
this.getData();
},
onLoad() {},
methods: {
showDrawer() {
showDrawer(val) {
this.detail = val;
this.formParams.transfer_item_id = val.transfer_item_id;
this.$refs.showRight.open();
},
closeDrawer() {
this.$refs.showRight.close();
},
/**
* 确认移位
*/
confirmTransfer() {
if (!this.formParams.transfer_qty) {
uni.showToast({
title: '请输入移位数量',
icon: 'error'
});
return false;
}
if (!this.formParams.position_code) {
uni.showToast({
title: '请输入目标库位',
icon: 'error'
});
return false;
}
if (!this.formParams.container_sn) {
uni.showToast({
title: '请输入目标容器s',
icon: 'error'
});
return false;
}
this.request(API.confirmTransfer, 'POST', { ...this.formParams }, true).then(res => {
if (res.code === 0) {
uni.showToast({
title: '移位成功',
icon: 'success'
});
setTimeout(() => {
this.getData();
this.closeDrawer();
}, 2000);
} else {
uni.showModal({
title: '提示',
content: res.msg,
showCancel: false
});
}
});
},
/**
* 获取列表数据
*/
getData() {
this.request(API.getTransferDetail, 'GET', { page: this.page, limit: this.limit, ...this.searchParams }, false).then(res => {
if (res.code === 0) {
this.list = res.data.trans_items;
} else {
uni.showToast({
title: res.msg,
icon: 'error'
});
}
});
},
/**
* 清空数据
*/
clearInput(type) {
if (type == 1) {
this.searchParams.origin_pos_code = '';
this.input_flag_origin_pos_code = false;
this.getData();
} else if (type == 2) {
this.searchParams.stock_in_batch_sn = '';
this.input_flag_stock_in_batch_sn = false;
this.getData();
} else if (type == 3) {
this.formParams.position_code = '';
this.input_flag_position_code = false;
} else if (type == 4) {
this.formParams.container_sn = '';
this.input_flag_container_sn = false;
}
},
/**
* 单号搜索
* @param {Object} event
*/
handleInput: debounce(function(type, val) {
if (val) {
if (type == 1) {
this.input_flag_origin_pos_code = true;
} else if (type == 2) {
this.input_flag_stock_in_batch_sn = true;
} else if (type == 3) {
this.input_flag_position_code = true;
} else if (type == 4) {
this.input_flag_container_sn = true;
}
} else {
if (type == 1) {
this.input_flag_origin_pos_code = false;
} else if (type == 2) {
this.input_flag_stock_in_batch_sn = false;
} else if (type == 3) {
this.input_flag_position_code = false;
} else if (type == 4) {
this.input_flag_container_sn = false;
}
}
this.getData();
}, 500)
}
};
</script>
......
......@@ -48,6 +48,22 @@ const API = {
* */
createTallyReceive: API_BASE + '/api/stockIn/tallyReceive/createTallyReceive',
/**
* 拣货明细
* */
getPickedList: API_BASE + '/api/stockOut/getPickedList',
/**
* 移位列表
* */
getTransferList: API_BASE + '/api/transfer/getTransferList',
/**
* 移位详情
* */
getTransferDetail: API_BASE + '/api/transfer/getTransferDetail',
/**
* 移位-确认移位
* */
confirmTransfer: API_BASE + '/api/transfer/confirmTransfer',
/**
* 上传文件
* */
upload: API_BASE_LIEXIN + '/oss/upload',
......
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