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.

102 lines
2.6 KiB
TypeScript

import { 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 { order } from '@/pages/raw/handover/kan-dan/model';
class OrderInInfo {
stoAmount?: number;
stoNo?: string; //STO采购单号
orderAmount?: string; //单据总数
productDescEn?: string; //物料描述
primaryUom?: string; //单位
}
@Module({
namespaced: true,
dynamic: true,
store,
name: 'SemiProduct.inbound',
})
export class PickingModule extends VuexModule {
/**
* 库位列表
*/
returningTypeList: any[] = [];
/**
* 物料列表
*/
materielList: any = [];
/**
* 条码查询结果
*/
orderInInfo: OrderInInfo = new OrderInInfo();
//确认按钮的code码
code = '';
//data
data: any = {};
/**
* 查询库位列表
*/
@MutationAction
async queryReturningTypeList() {
const data: any = await http.get(url.inbound.semiFinishProductOfflineRefrigerator.kuwei, {
params: {
factoryCode: session.factoryCode,
loginName: session.loginName,
warehouseCode: session.warehouseCode, //仓库编码
},
});
console.log('data', data.data);
const returningTypeList = data.data.map((item: any) => ({
label: item.locationCode,
value: item.locationCode,
}));
return { returningTypeList };
}
/**
* 查询条码号
* @param orderNo
*/
@MutationAction
async queryOrderInInfo(barcode: string) {
// const productCode = barcode.substring(0, 9);
const productCode = barcode;
const { data, code, msg }: any = await http.post(
url.inbound.semiFinishProductOfflineRefrigerator.materialCode,
{
productCode,
loginName: session.loginName,
},
);
if (code == '1') {
uni.showToast({ icon: 'success', title: msg });
} else {
uni.showToast({ icon: 'none', title: msg });
}
const materielList2 = [];
materielList2.push(data);
const materielList = materielList2;
const orderInInfo = data || {};
return { materielList, orderInInfo };
}
/**
* 确认按钮
* @param orderNo
*/
@MutationAction
async confirm(list: any[]) {
const { code, data, msg }: any = await http.post(
url.inbound.semiFinishProductOfflineRefrigerator.confirm,
list,
);
if (code == '1') {
uni.showToast({ icon: 'success', title: msg });
} else {
uni.showToast({ icon: 'none', title: msg });
}
return { code, data };
}
}
export default getModule(PickingModule);