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.

196 lines
4.9 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 = [];
code: any = '';
recordsList: any = [];
choiceCodeList: any = [];
materielList: any = [];
/**
* 物料型号类型
*/
// 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(params: any) {
const res: any = await http.post(url.warehouse.wholeTransfer.content, params);
const orderInInfo = res.data.records[0];
const code = res.code;
return { code, orderInInfo };
}
@MutationAction
async onTakeoutConfirm(list: any) {
const records: any = await http.post(url.warehouse.rowTransfer.commit, list);
const code = records.code;
return { code };
}
/**
* 查询明细
* 查询DN单号
* @param dnNo
*/
@MutationAction
async queryDetailed(proMoveCode: any) {
const { code, data } = await http.post(url.warehouse.rowTransfer.queryListByMoveCode, {
proMoveCode,
factoryCode: session.factoryCode as string,
loginName: session.loginName as string,
});
const materielList = data;
return { materielList, code };
}
/**
* 关单
* 查询DN单号
* @param dnNo
*/
@MutationAction
async close(proMoveCode: any) {
const { code } = await http.post(url.warehouse.rowTransfer.close, {
factoryCode: session.factoryCode as string,
loginName: session.loginName as string,
proMoveCode,
});
//const materielList = data;
return { code };
}
@MutationAction
async queryScrapList(param: any) {
const res: any = await http.post(url.warehouse.rowTransfer.list, param);
const code = res.code;
console.log('res', res);
const recordsList = res.data.records;
const choiceCodeList = [];
recordsList.forEach((item: any) => {
let arr: any = {};
arr.label = item.productCode;
arr.value = item.productCode;
choiceCodeList.push(arr);
});
console.log('choiceCodeList', choiceCodeList);
return { code, recordsList, choiceCodeList };
}
// /**
// * 提交看单明细
// */
// @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);