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.

167 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('/material/orderin/enter', {
loginName: session.loginName,
// loginName: '1999',
warehouseCode: '',
factoryCode: session.factoryCode,
// factoryCode: '1999',
locationCode: kw,
});
return kw;
}
}
export default getModule(wholeScrap);