|
|
|
import {
|
|
|
|
Action,
|
|
|
|
getModule,
|
|
|
|
Module,
|
|
|
|
Mutation,
|
|
|
|
MutationAction,
|
|
|
|
VuexModule,
|
|
|
|
} from "vuex-module-decorators";
|
|
|
|
import store from "@/store";
|
|
|
|
import http from "@/utils/request";
|
|
|
|
import { url } from "@/utils/url";
|
|
|
|
import { session } from "@/store/modules/session";
|
|
|
|
|
|
|
|
class OrderInInfo {
|
|
|
|
checked?: boolean;
|
|
|
|
kdOrderNo?: string;
|
|
|
|
kw?: string;
|
|
|
|
userDefined10?: string;
|
|
|
|
orderStatus?: string;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Module({
|
|
|
|
namespaced: true,
|
|
|
|
dynamic: true,
|
|
|
|
store,
|
|
|
|
name: "raw.ingoods.receipt",
|
|
|
|
})
|
|
|
|
export class ReceiptModule extends VuexModule {
|
|
|
|
/**
|
|
|
|
* sap库存地点列表
|
|
|
|
*/
|
|
|
|
cboPlaceList = [];
|
|
|
|
/**
|
|
|
|
* 隐藏看单号
|
|
|
|
*/
|
|
|
|
hideKdOrderNo = "";
|
|
|
|
/**
|
|
|
|
* 看单号查询结果
|
|
|
|
*/
|
|
|
|
orderInInfo: OrderInInfo = new OrderInInfo();
|
|
|
|
/**
|
|
|
|
* 看单明细
|
|
|
|
*/
|
|
|
|
orderInInfoList: OrderInInfo[] = [];
|
|
|
|
/**
|
|
|
|
* 看单明细未通过明细
|
|
|
|
*/
|
|
|
|
orderInInfoListEx: OrderInInfo[] = [];
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 是否已查询看单号
|
|
|
|
*/
|
|
|
|
get hasOrderInInfo() {
|
|
|
|
return !!this.orderInInfo.kdOrderNo;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 是否全选
|
|
|
|
*/
|
|
|
|
get isCheckedAll() {
|
|
|
|
return !this.orderInInfoList.filter((_) => !_.checked).length;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 是否有选择项
|
|
|
|
*/
|
|
|
|
get hasChecked() {
|
|
|
|
return this.orderInInfoList.filter((_) => _.checked).length > 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 更新看单明细库位
|
|
|
|
* @param kw 库位
|
|
|
|
*/
|
|
|
|
@Mutation
|
|
|
|
updateOrderInInfoListKw(kw: string) {
|
|
|
|
this.orderInInfoList = this.orderInInfoList.map((item) => {
|
|
|
|
item.kw = kw;
|
|
|
|
return item;
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 更新选中的看单明细库位
|
|
|
|
* @param kw 库位
|
|
|
|
*/
|
|
|
|
@Mutation
|
|
|
|
updateCheckedOrderInInfoListKw(kw: string) {
|
|
|
|
this.orderInInfoList = this.orderInInfoList.map((item) => {
|
|
|
|
if (item.checked) {
|
|
|
|
item.kw = kw;
|
|
|
|
}
|
|
|
|
return item;
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 看单明细全选/全不选
|
|
|
|
*/
|
|
|
|
@Mutation
|
|
|
|
checkAllOrderInInfoList(checked: boolean) {
|
|
|
|
this.orderInInfoList = this.orderInInfoList.map((item) => {
|
|
|
|
item.checked = checked;
|
|
|
|
return item;
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 查询库位列表
|
|
|
|
*/
|
|
|
|
@MutationAction
|
|
|
|
async queryLocation() {
|
|
|
|
const result: any = await http.post(url.auth.query.location, {
|
|
|
|
factoryCode: session.factoryCode,
|
|
|
|
loginName: session.loginName,
|
|
|
|
workareaCode: session.workareaCode,
|
|
|
|
});
|
|
|
|
const cboPlaceList = result.list.map((_: any) => ({
|
|
|
|
label: _.locationCode,
|
|
|
|
value: _.locationCode,
|
|
|
|
}));
|
|
|
|
return { cboPlaceList };
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 查询看单号
|
|
|
|
* @param hideKdOrderNo
|
|
|
|
*/
|
|
|
|
@MutationAction
|
|
|
|
async queryOrderInInfo(hideKdOrderNo: string) {
|
|
|
|
const { list }: any = await http.post(url.material.POorderin.info, {
|
|
|
|
hideKdOrderNo,
|
|
|
|
factoryCode: session.factoryCode,
|
|
|
|
loginName: session.loginName,
|
|
|
|
});
|
|
|
|
const orderInInfo = list[0] || {};
|
|
|
|
const orderInInfoList = list.filter(
|
|
|
|
(_: OrderInInfo) => _.userDefined10 === "1"
|
|
|
|
);
|
|
|
|
const orderInInfoListEx = list.filter(
|
|
|
|
(_: OrderInInfo) => _.userDefined10 === "0"
|
|
|
|
);
|
|
|
|
return { hideKdOrderNo, orderInInfo, orderInInfoList, orderInInfoListEx };
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 提交看单明细
|
|
|
|
*/
|
|
|
|
@MutationAction
|
|
|
|
async submitOrderInEnter() {
|
|
|
|
const list = (this.state as any).orderInInfoList.map((item: any) => {
|
|
|
|
item.orderStatus = item.checked ? "2" : "1";
|
|
|
|
item.requestAmount = item.checked ? item.y : "0";
|
|
|
|
return item;
|
|
|
|
});
|
|
|
|
const result: any = await http.post(url.material.POorderin.enter, {
|
|
|
|
hideKdOrderNo: this.hideKdOrderNo,
|
|
|
|
factoryCode: session.factoryCode,
|
|
|
|
loginName: session.loginName,
|
|
|
|
list,
|
|
|
|
});
|
|
|
|
uni.showToast({
|
|
|
|
icon: "none",
|
|
|
|
title: result.msg,
|
|
|
|
});
|
|
|
|
const orderInInfoList = result.list.sort(
|
|
|
|
(a: any, b: any) =>
|
|
|
|
Number(a.accountingStatus) - Number(b.accountingStatus)
|
|
|
|
);
|
|
|
|
return { orderInInfoList };
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 修改库位
|
|
|
|
*/
|
|
|
|
@Action({ commit: "updateCheckedOrderInInfoListKw" })
|
|
|
|
async changeOrderInLocation(kw: string) {
|
|
|
|
await http.post("/wmspda/material/orderin/enter", {
|
|
|
|
loginName: session.loginName,
|
|
|
|
warehouseCode: "",
|
|
|
|
factoryCode: session.factoryCode,
|
|
|
|
locationCode: kw,
|
|
|
|
});
|
|
|
|
return kw;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
export default getModule(ReceiptModule);
|