采购收货确认收货改为103暂收、新增105过账功能

master
FCD 2 weeks ago
parent 0d7c9208ab
commit b8093a2bc3

@ -137,11 +137,14 @@
<view class="bottom-bar"> <view class="bottom-bar">
<u-row class="button-bar"> <u-row class="button-bar">
<!-- 确定 --> <!-- 确定 -->
<u-col :span="6"> <u-col :span="4">
<u-button @click="onSubmit" type="primary">确认收货</u-button> <u-button @click="onSubmit" type="primary">103暂收</u-button>
</u-col>
<u-col :span="4">
<u-button :disabled="isDisabled105" @click="handelSubmit105" type="success">105过账</u-button>
</u-col> </u-col>
<!-- 返回 --> <!-- 返回 -->
<u-col :span="6"> <u-col :span="4">
<u-button type="error" @click="uni.navigateBack()"></u-button> <u-button type="error" @click="uni.navigateBack()"></u-button>
</u-col> </u-col>
</u-row> </u-row>
@ -157,6 +160,7 @@ import jPicker from '@/components/J-Picker/jPicker.vue';
import model from './model'; import model from './model';
import { session } from '@/store/modules/session'; import { session } from '@/store/modules/session';
import dayjs from 'dayjs'; import dayjs from 'dayjs';
import { removeLeadingZeros } from '@/utils/tool';
interface OptionType { interface OptionType {
label: string; label: string;
value: string; value: string;
@ -233,6 +237,13 @@ export default class receivePO extends BasePage {
oldprodlist: any = []; oldprodlist: any = [];
oncefouces = true; oncefouces = true;
twofouces = false; twofouces = false;
isDisabled105 = false;
showStatus105 = false;
contentStatus150 = '';
qualityStatusCo = {
Y: '检验合格',
N: '检验不合格',
};
async onReady() { async onReady() {
//await this.model.Stashlist(); //await this.model.Stashlist();
//this.whList = model.DictTypeList; //this.whList = model.DictTypeList;
@ -516,6 +527,71 @@ export default class receivePO extends BasePage {
type: 'success', type: 'success',
}); });
} }
/**
* 105过账按钮
* **/
async handelSubmit105() {
this.isDisabled105 = true;
const list = this.list;
let params: any = [];
if (list.length > 0) {
for (const item of list) {
if (!item.orderStatus || item.orderStatus === '0') {
(this.$refs.uToast as any).show({
title: '请先完成收货!',
type: 'default',
duration: 3000,
});
this.isDisabled105 = false;
return;
}
//
if (!item.qualityStatus || item.qualityStatus === 'N') {
this.contentStatus150 = '采购单号:' + item.procureCode + ',物料编码:' + removeLeadingZeros(item.materialCode) + '' + (this.qualityStatusCo[item.qualityStatus] || '未检验');
this.showStatus105 = true;
this.isDisabled105 = false;
return;
}
//rawOrderInId
if (item.rawOrderInId) {
params.push({ id: item.rawOrderInId });
}
}
if (params.length > 0) {
//
params = params.filter((item: any, index: any, self: any) => self.findIndex((t: { [x: string]: any }) => t['id'] === item['id']) === index);
await this.model.sap105temporarilyCollected(params);
this.isDisabled105 = false;
if (this.model.sap105code + '' === '200') {
(this.$refs.uToast as any).show({
title: this.model.sap105msg,
type: 'primary',
duration: 6000,
});
}
await this.query();
} else {
this.isDisabled105 = false;
(this.$refs.uToast as any).show({
title: '无可过账数据',
type: 'default',
duration: 3000,
});
}
} else {
this.isDisabled105 = false;
(this.$refs.uToast as any).show({
title: '未选择数据',
type: 'default',
duration: 3000,
});
}
}
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>

@ -151,6 +151,19 @@ export class receivePO extends VuexModule {
const byidcardobj = result.data; const byidcardobj = result.data;
return { getidcardcode, byidcardobj }; return { getidcardcode, byidcardobj };
} }
sap105code: any = '';
sap105msg: any = '';
@MutationAction
async sap105temporarilyCollected(data: any) {
const result: any = await http.post(url.lanjuwms.raw.ReceivePO.sap105temporarilyCollected, data);
const sap105code = result.code;
const sap105msg = result.msg;
return {
sap105code,
sap105msg,
};
}
} }
export default getModule(receivePO); export default getModule(receivePO);

@ -136,11 +136,14 @@
<view class="bottom-bar"> <view class="bottom-bar">
<u-row class="button-bar"> <u-row class="button-bar">
<!-- 确定 --> <!-- 确定 -->
<u-col :span="6"> <u-col :span="4">
<u-button :disabled="isdisabled" @click="onSubmit" type="primary">确认收货</u-button> <u-button :disabled="isdisabled" @click="onSubmit" type="primary">103暂收</u-button>
</u-col>
<u-col :span="4">
<u-button :disabled="isDisabled105" @click="handelSubmit105" type="success">105过账</u-button>
</u-col> </u-col>
<!-- 返回 --> <!-- 返回 -->
<u-col :span="6"> <u-col :span="4">
<u-button type="error" @click="uni.navigateBack()"></u-button> <u-button type="error" @click="uni.navigateBack()"></u-button>
</u-col> </u-col>
</u-row> </u-row>
@ -152,6 +155,8 @@
<u-button @click="submiteditor"></u-button> <u-button @click="submiteditor"></u-button>
</u-popup> </u-popup>
<u-toast ref="uToast" /> <u-toast ref="uToast" />
<u-modal v-model="showStatus105" :content="contentStatus150" title="105过账失败"></u-modal>
</view> </view>
</template> </template>
<script lang="ts"> <script lang="ts">
@ -161,6 +166,8 @@ import jPicker from '@/components/J-Picker/jPicker.vue';
import model from './model'; import model from './model';
import { session } from '@/store/modules/session'; import { session } from '@/store/modules/session';
import { removeLeadingZeros } from '@/utils/tool'; import { removeLeadingZeros } from '@/utils/tool';
import LjListRow from '@/components/lanju/lj-list-row/index.vue';
import ljPagination from '@/components/lanju/lj-pagination/index.vue';
interface OptionType { interface OptionType {
label: string; label: string;
@ -168,6 +175,8 @@ interface OptionType {
} }
@Component({ @Component({
components: { components: {
ljPagination,
LjListRow,
jPicker, jPicker,
}, },
}) })
@ -239,7 +248,13 @@ export default class receiveSRM extends BasePage {
temNumber = ''; temNumber = '';
editoritem: any = {}; editoritem: any = {};
isdisabled = false; isdisabled = false;
isDisabled105 = false;
showStatus105 = false;
contentStatus150 = '';
qualityStatusCo = {
Y: '检验合格',
N: '检验不合格',
};
// //
async onFormDoubleClick(item) { async onFormDoubleClick(item) {
console.log('双击', item); console.log('双击', item);
@ -261,7 +276,6 @@ export default class receiveSRM extends BasePage {
} }
// //
async query() { async query() {
console.log(session);
if (this.userDefined5 == '' || this.userDefined5.length == 0) { if (this.userDefined5 == '' || this.userDefined5.length == 0) {
(this.$refs.uToast as any).show({ (this.$refs.uToast as any).show({
title: '请输入送货单', title: '请输入送货单',
@ -413,6 +427,70 @@ export default class receiveSRM extends BasePage {
return removeLeadingZeros(item.materialCode) == this.bimWl.value; return removeLeadingZeros(item.materialCode) == this.bimWl.value;
}); });
} }
/**
* 105过账按钮
* **/
async handelSubmit105() {
this.isDisabled105 = true;
const list = this.list;
let params: any = [];
if (list.length > 0) {
for (const item of list) {
if (!item.orderStatus || item.orderStatus === '0') {
(this.$refs.uToast as any).show({
title: '请先完成收货!',
type: 'default',
duration: 3000,
});
this.isDisabled105 = false;
return;
}
//
if (!item.qualityStatus || item.qualityStatus === 'N') {
this.contentStatus150 = '采购单号:' + item.procureCode + ',物料编码:' + removeLeadingZeros(item.materialCode) + '' + (this.qualityStatusCo[item.qualityStatus] || '未检验');
this.showStatus105 = true;
this.isDisabled105 = false;
return;
}
//rawOrderInId
if (item.rawOrderInId) {
params.push({ id: item.rawOrderInId });
}
}
if (params.length > 0) {
//
params = params.filter((item: any, index: any, self: any) => self.findIndex((t: { [x: string]: any }) => t['id'] === item['id']) === index);
await this.model.sap105temporarilyCollected(params);
this.isDisabled105 = false;
if (this.model.sap105code + '' === '200') {
(this.$refs.uToast as any).show({
title: this.model.sap105msg,
type: 'primary',
duration: 6000,
});
}
await this.query();
} else {
this.isDisabled105 = false;
(this.$refs.uToast as any).show({
title: '无可过账数据',
type: 'default',
duration: 3000,
});
}
} else {
this.isDisabled105 = false;
(this.$refs.uToast as any).show({
title: '未选择数据',
type: 'default',
duration: 3000,
});
}
}
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>

@ -168,6 +168,19 @@ export class receiveSRM extends VuexModule {
const editorcode = result.code; const editorcode = result.code;
return { editorcode }; return { editorcode };
} }
sap105code: any = '';
sap105msg: any = '';
@MutationAction
async sap105temporarilyCollected(data: any) {
const result: any = await http.post(url.lanjuwms.raw.ReceiveSRM.sap105temporarilyCollected, data);
const sap105code = result.code;
const sap105msg = result.msg;
return {
sap105code,
sap105msg,
};
}
} }
export default getModule(receiveSRM); export default getModule(receiveSRM);

@ -122,6 +122,7 @@ export const url = {
listTableCK: qianzhuione + '/wms/WmsToWCSmission/listTableCK', listTableCK: qianzhuione + '/wms/WmsToWCSmission/listTableCK',
SweepMaterialCardSC: qianzhuione + '/wms/WmsToWCSmission/SweepMaterialCardSC', SweepMaterialCardSC: qianzhuione + '/wms/WmsToWCSmission/SweepMaterialCardSC',
addOrderCardX: qianzhuione + '/wms/WmsToWCSmission/addOrderCardX', addOrderCardX: qianzhuione + '/wms/WmsToWCSmission/addOrderCardX',
sap105temporarilyCollected: qianzhuione + '/wms/odsRawOrderIn/sap105temporarilyCollected',
}, },
ReceiveSRM: { ReceiveSRM: {
// 手持 --包材采购单采购收货查询 // 手持 --包材采购单采购收货查询
@ -150,6 +151,7 @@ export const url = {
selectCardList: qianzhuione + '/wms/WmsToWCSmission/selectCardList', selectCardList: qianzhuione + '/wms/WmsToWCSmission/selectCardList',
addOrderCardXnew: qianzhuione + '/wms/WmsToWCSmission/addOrderCardXNew', addOrderCardXnew: qianzhuione + '/wms/WmsToWCSmission/addOrderCardXNew',
upbatCardXNew: qianzhuione + '/wms/WmsToWCSmission/upbatCardXNew', upbatCardXNew: qianzhuione + '/wms/WmsToWCSmission/upbatCardXNew',
sap105temporarilyCollected: qianzhuione + '/wms/odsRawOrderIn/sap105temporarilyCollected',
}, },
PurchaseWHPO: { PurchaseWHPO: {
// 手持 --包材采购单采购收货查询 // 手持 --包材采购单采购收货查询

Loading…
Cancel
Save