2025-03-11 09:45:29 +08:00

406 lines
9.8 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<!--
add by 胡传文 2021-01-06
供应商退货
-->
<uni-base-page>
<view slot="page">
<uni-input-row title="日期" type="date"
:isTime="false" labelWidth="50px"
v-model="ruKuDate" @change="onRuKuDateChange($event)"
showButton buttonVal="选单" buttonWidth="100px" buttonType="default" buttonColor="#4cd964" buttonlabColor="#fff" @buttonClick="onRuKuDateClick"/>
<uni-input-row title="单号" labelWidth="50px" type="combox" v-model="cmbBillNoSelValue" :range="cmbBillNoGroup" rangeKey="value" rangeVal="text"
@change="onBillNoChange($event)" :clearable="true" placeholder="请选择单号"
showButton buttonVal="拆" buttonWidth="75px" buttonlabColor="#fff" @buttonClick="onSplitBarcodeClick"/>
<uni-lr-row :layout="70">
<uni-input-row slot="left" labelWidth="50px" title="条码" v-model="BarCode" canScan="true"
:focus="focusBarCode" @resetFocus="e=>{focusBarCode=e}"
@confirm="onBarCodeConfirm($event)" placeholder="请扫描条码"/>
<uni-input-row slot="right" type="switch" v-model="switchResults" :range="switchType" rangeKey="value" rangeVal="name"/>
</uni-lr-row>
<uni-segmented-control :isBadge="true" :badge="badge" :current="current" :values="items" @clickItem="onClickItem"></uni-segmented-control>
<view v-show="current === 0">
<uni-z-table :style="{'height': tabH+'px'}"
:tableData="matTableData"
:columns="matColumns"
:showBottomSum="true"
:rowNumbers="true"
:pagination="true"
@onSelect="onSelectMatTb">
</uni-z-table>
</view>
<view v-show="current === 1">
<uni-z-table :style="{'height': tabH+'px'}"
:tableData="KwTableData"
:columns="KwColumns"
:rowNumbers="true"
:pagination="true">
</uni-z-table>
</view>
<view v-show="current === 2">
<uni-z-table :style="{'height': tabH+'px'}"
:tableData="SmTableData"
:columns="SmColumns"
:rowNumbers="true"
:pagination="true">
</uni-z-table>
</view>
</view>
</uni-base-page>
</template>
<script>
export default {
data() {
//这里是我们要存放的变量
return {
tabH: 800,
current: 0,
badge:[0,0,0],//分段器标签值
ruKuDate:"", //日期
cmbBillNoSelValue: {}, //单号选择项
cmbBillNoGroup: [], //单号集合
BarCode: "", //条码
focusBarCode: true,
waitySendQty: 0,
IsOutProcess: '0', //1-委外加工0-不委外加工
materialId: "", //物料编号
BillType: "", //单据类型
switchResults:{},//开关选择结果
switchType:[
{value:'Y',name:"取消"},
{value:'N',name:"使用"},
],//开关数据源
items: ['物料明细','库位列表','已扫描列表'],//分段器集合
matColumns: [
{
title:'物料编号',
field: "DKB003",
width: 200,
sort: true,
},
{
title:'应退数量',
field: "DKB006",
width: 120,
sort: true,
align: "right"
},
{
title:'实退数量',
field: "DKB007",
width: 120,
sort: true,
align: "right"
},
{
title:'物料名称',
field: "DKB004",
width: 200,
sort: true,
},
{
title:'物料规格',
field: "DKB005",
width: 200,
sort: true,
}
],//物料明细--表格列数据
matTableData: [],//物料明细--表格数据源
KwColumns: [
{
title:'仓库',
field: "DAB002",
width: 200,
sort: true,
},
{
title:'库位',
field: "DAB003",
width: 300,
sort: true,
}
],//库位列表--表格列数据
KwTableData: [],//库位列表--表格数据源
SmColumns: [
{
title:'条码',
field: "DKC004",
width: 250,
sort: true,
},
{
title:'物料编码',
field: "DKC005",
width: 200,
sort: true,
},
{
title:'数量',
field: "DKC008",
width: 100,
sort: true,
align: "right"
},
{
title:'物料名称',
field: "DKC006",
width: 200,
sort: true,
},
{
title:'物料规格',
field: "DKC007",
width: 350,
sort: true,
},
{
title:'扫描人员',
field: "DKC009",
width: 150,
sort: true,
},
{
title:'扫描时间',
field: "DKC010",
width: 300,
sort: true,
}
],//库位列表--表格列数据
SmTableData: [],//库位列表--表格数据源
}
},
//页面加载后默认执行的固定方法
mounted() {
this.tabH = this.$GetRemainingHeight(4,0); //定义表格的高度
this.init();
},
methods: {
//页面初始化方法
init() {
this.badge.splice(0,1,0);
this.badge.splice(1,1,0);
this.badge.splice(2,1,0);
this.GetBillNoList();
},
onClickItem(e) {
if (this.current !== e.currentIndex) {
this.current = e.currentIndex;
if (this.current==0) {
}
else if (this.current==1) {
}
}
},
//获取单号
GetBillNoList() {
// console.log('日期'+this.ruKuDate+'日期');
// console.log(this.IsOutProcess);
this.$uni_request({
url: '/PURDKA/GetBillNo',
data: {
date: this.ruKuDate,
IsWW: this.IsOutProcess
},
success: (res)=>{
// console.log(JSON.stringify(res.data));
this.cmbBillNoGroup = res.data;
this.BarCode = "";
this.focusBarCode = true;
},
fail:(res)=>{
this.cmbBillNoGroup = [];
this.cmbBillNoSelValue.index = -1;
this.$showMessage(res.message);
}
});
},
//日期选择
onRuKuDateChange() {
this.GetBillNoList();
},
//选单按钮点击
onRuKuDateClick() {
this.GetBillNoList();
},
//获取物料明细
GetMaterialData() {
this.$uni_request({
url: '/PURDKA/GetMaterialData',
data: {
DKB001: this.cmbBillNoSelValue.key,
IsWW: this.IsOutProcess
},
success: (res)=>{
// console.log(JSON.stringify(res.data));
this.matTableData = res.data.tbData;
if (this.matTableData.length>0) {
this.materialId = this.matTableData[0].DKB003;
}
else {
this.materialId = '';
}
this.BillType = res.data.BillType;
this.GetKuWeiData(this.materialId);
},
fail:(res)=>{
this.matTableData = [];
this.$showMessage(res.message);
}
});
},
//获取库位信息
GetKuWeiData(matId) {
this.$uni_request({
url: '/PURDKA/GetKuWeiData',
data: {
materialId: matId,
BillType: this.BillType
},
success: (res)=>{
// console.log(JSON.stringify(res.data));
this.KwTableData = res.data;
},
fail:(res)=>{
this.KwTableData = [];
this.$showMessage(res.message);
}
});
},
//获取已扫描条码列表
GetBarCodeList() {
this.$uni_request({
url: '/PURDKA/GetBarCodeList',
data: {
BillNo: this.cmbBillNoSelValue.key
},
success: (res)=>{
// console.log(JSON.stringify(res.data));
this.SmTableData = res.data;
},
fail:(res)=>{
this.$showMessage(res.message);
}
});
},
//获取相关数据
GetData() {
this.GetMaterialData();
this.GetBarCodeList();
},
//单号选择
onBillNoChange() {
if (this.cmbBillNoSelValue.key != '') {
this.matTableData = [];
this.KwTableData = [];
this.GetData();
}
},
//扫描条码
onBarCodeConfirm() {
this.BarCode = this.BarCode.toUpperCase();
if (this.cmbBillNoSelValue.key=='') {
this.$play("NG");
this.$showMessage("请先选择单号");
return;
}
if (this.BarCode=='') {
this.$play("NG");
this.$showMessage("请扫码条码");
this.focusBarCode = true;
return;
}
if (this.switchResults.value=="Y") {
uni.showModal({
title: "提示",
content: "是否确定取消退货!",
success:(conf)=>{
if(!conf.confirm) {
return;
}
}
});
}
this.$uni_request({
url: '/PURDKA/GetBarInfo',
data: {
barCode: this.BarCode,
billNo: this.cmbBillNoSelValue.key,
userid: this.$loginInfo.account,
billtype: this.BillType,
quXiao: this.switchResults.value=="Y"?"true":"false"
},
success: (res)=>{
// console.log(JSON.stringify(res.data));
if (this.switchResults.value=="Y") {
this.$showMessage("取消退货成功!");
}
else {
this.$showMessage("退货成功!");
}
this.GetData();
this.BarCode = '';
this.focusBarCode = true;
},
fail:(res)=>{
this.waitySendQty=res.data;
if(this.waitySendQty=='') {
this.waitySendQty=0;
this.BarCode = '';
this.focusBarCode = true;
}
this.$showMessage(res.message);
}
});
},
//选择物料明细行
onSelectMatTb(e) {
var matId = e.row.DKB003;
this.GetKuWeiData(matId);
},
//拆按钮点击--跳转到条码拆分模块中
onSplitBarcodeClick() {
if (this.BarCode == "") {
this.$play("NG");
this.$showMessage("请先扫描条码,再拆分操作~");
return;
}
if (this.waitySendQty == "") {
this.$play("NG");
this.$showMessage("无待发数量,不需要拆分操作~");
return;
}
uni.navigateTo({
url: 'WARBCF',
events: { },
success: function(res) {
//通过eventChannel向被打开页面传送数据
let item={BarCode:this.BarCode,waitySendQty:this.waitySendQty};
res.eventChannel.emit('acceptDataFromOpenerPage', item)
}
});
this.BarCode = '';
}
},
onLoad(option) {
//设置标题-这个方法一般不要动它,套用即可
this.$setTitle(option);
this.ruKuDate = '2019-11-21'; //this.$GetLocalDateTime(0);
}
}
</script>
<style>
</style>