You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

176 lines
4.3 KiB
TypeScript

import {
Action,
getModule,
Module,
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";
import vm from "@/main";
// import { page } from '@/utils/page';
class OrderInInfo {
productDescZh?: string;
qty?: string;
custCode?: string;
custCodeName?: string;
productCode?: string;
locCode?: string;
barcode?: string;
costCenter?: string;
}
@Module({
namespaced: true,
dynamic: true,
store,
name: "product.warehouse.wholeScrap",
})
export class wholeScrap extends VuexModule {
/**
*
*/
WlList = [];
/**
*
*/
// modelType = [
// { label: '内销', value: '0' },
// { label: '外销', value: '1' },
// { label: '样机', value: '2' },
// { label: '半成品', value: '4' },
// ];
/**
*
*/
dnNo = "";
/**
*
*/
orderInInfo: OrderInInfo = new OrderInInfo();
// /**
// * 更新看单明细库位
// * @param kw 库位
// */
// @Mutation
// updateOrderInInfoListKw(kw: string) {
// this.orderInInfoList = this.orderInInfoList.map((item) => {
// item.kw = kw;
// return item;
// });
// }
/**
*
*/
@MutationAction
async queryLocation() {
const result: any = await http.get(url.warehouse.wholeTransfer.list, {
params: {
// factoryCode: '1999',
factoryCode: session.factoryCode,
loginName: session.loginName,
// loginName: '1999',
},
});
// console.log('库位数据',result)
const WlList = result.data.map((_: any) => ({
label: _.locationCode,
value: _.locationCode,
}));
return { WlList };
}
/**
*
* DN
* @param dnNo
*/
@MutationAction
async getProductCode(barcode: string) {
const res: any = await http.post(url.warehouse.wholeTransfer.content, {
barcode,
factoryCode: session.factoryCode,
// factoryCode: '1999',
loginName: session.loginName,
// loginName: '1999',
});
console.log("获取来的数据", res.data.records);
const orderInInfo = res.data.records[0];
if (orderInInfo.custCode == "0") {
orderInInfo.custCodeName = vm.$t("message.Warehouse_NX") as any;
} else if (orderInInfo.custCode == "1") {
orderInInfo.custCodeName = vm.$t("message.Warehouse_WX") as any;
} else if (orderInInfo.custCode == "2") {
orderInInfo.custCodeName = vm.$t("message.Warehouse_YJ") as any;
} else if (orderInInfo.custCode == "4") {
orderInInfo.custCodeName = vm.$t("message.Warehouse_BCP") as any;
}
return { orderInInfo };
}
@MutationAction
async onTakeoutConfirm(list: any) {
const records: any = await http.post(
url.warehouse.rowTransfer.commit,
list
);
if (records.code == 1) {
uni.showToast({
icon: "success",
title: "success",
});
// uni.navigateTo({ url: page.product.warehouse.index });
}
return {};
}
// /**
// * 提交看单明细
// */
// @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.DNorderin.enter, {
// dnNo: this.dnNo,
// factoryCode: '1999',
// loginName: '1999',
// 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,
// loginName: '1999',
warehouseCode: "",
factoryCode: session.factoryCode,
// factoryCode: '1999',
locationCode: kw,
});
return kw;
}
}
export default getModule(wholeScrap);