盘点功能提交

master
zhoulei 4 years ago
parent 57fbc39721
commit 908d8a2f17

@ -1,3 +0,0 @@
# 复制本文件并重命名为.env.development.local
# 本地开发版本
VUE_APP_BASE_URL=http://localhost:8181

@ -200,6 +200,7 @@ export default {
InventoryMateriel:'物料名', InventoryMateriel:'物料名',
InventoryTotalNumber:'盘点总数', InventoryTotalNumber:'盘点总数',
InventoryPleaseScan: "请扫描单号", InventoryPleaseScan: "请扫描单号",
InventoryFinish: "完成",
// 委外-入库 // 委外-入库
CommissionEntrant:'委外入库', CommissionEntrant:'委外入库',

@ -204,6 +204,7 @@ export default {
InventoryMateriel:'MAT name', InventoryMateriel:'MAT name',
InventoryTotalNumber:'Total', InventoryTotalNumber:'Total',
InventoryPleaseScan: "Please scan No.", InventoryPleaseScan: "Please scan No.",
InventoryFinish: "Finish",
// 委外-入库 // 委外-入库
CommissionEntrant:'委外入库', CommissionEntrant:'委外入库',

@ -13,43 +13,51 @@
<u-form class="form" ref="form" :model="form" label-width="180rpx"> <u-form class="form" ref="form" :model="form" label-width="180rpx">
<u-form-item <u-form-item
:required="true" :required="true"
:label="this.$t('message.InventoryOrderNo')" :label="$t('message.InventoryOrderNo')"
prop="documentNo" prop="pddNo"
> >
<u-search <u-search
:placeholder="this.$t('message.InventoryPleaseScan')" :placeholder="$t('message.InventoryPleaseScan')"
v-model="form.documentNo" v-model="form.pddNo"
@search="model.queryOrderInInfo"
@search="model.rawMaterialInventoryCheckRaw"
:show-action="false" :show-action="false"
></u-search> ></u-search>
</u-form-item> </u-form-item>
<u-form-item :label="this.$t('message.InventoryMaterielNo')"> <u-form-item :label="$t('message.InventoryMaterielNo')" prop="productCode">
<u-search
:placeholder="$t('message.po_PleaseInput')"
v-model="form.productCode"
@search="checkRawProductCode"
:show-action="false"
></u-search>
</u-form-item>
<u-form-item :label="$t('message.InventoryMateriel')" prop="productDescZh">
<u-input <u-input
v-model="model.orderInInfo.carNo" v-model="form.productDescZh"
:placeholder="this.$t('message.po_PleaseInput')" :placeholder="$t('message.po_PleaseInput')"
/> />
</u-form-item> </u-form-item>
<u-form-item :label="this.$t('message.InventoryMateriel')"> <u-form-item :label="$t('message.InventoryTotalNumber')" prop="spQty">
<u-input <u-input
v-model="model.orderInInfo.bookingTime" v-model="form.spQty"
:placeholder="this.$t('message.po_PleaseInput')" :placeholder="$t('message.po_PleaseInput')"
/>
</u-form-item>
<u-form-item :label="this.$t('message.InventoryTotalNumber')">
<u-input
v-model="model.orderInInfo.supplyCode"
:placeholder="this.$t('message.po_PleaseInput')"
/> />
</u-form-item> </u-form-item>
</u-form> </u-form>
<view class="bottom-bar"> <view class="bottom-bar">
<u-row class="button-bar"> <u-row class="button-bar">
<u-col :span="6"> <u-col :span="4">
<u-button type="primary" @click="onSubmit">{{ <u-button type="primary" @click="checkRawCreateInfo">{{
$t("message.workArea_Confirm") $t("message.workArea_Confirm")
}}</u-button> }}</u-button>
</u-col> </u-col>
<u-col :span="6"> <u-col :span="4">
<u-button type="primary" @click="checkRawOrderComplete">{{
$t("message.InventoryFinish")
}}</u-button>
</u-col>
<u-col :span="4">
<u-button type="error" @click="back">{{ <u-button type="error" @click="back">{{
$t("message.po_Return") $t("message.po_Return")
}}</u-button> }}</u-button>
@ -65,13 +73,13 @@ import { BasePage } from "@/components/base/page";
import { VForm, VFormRules } from "vue/types/form"; import { VForm, VFormRules } from "vue/types/form";
import model from "./model"; import model from "./model";
interface OptionType { // interface OptionType {
label: string; // label: string;
value: string; // value: string;
} // }
@Component @Component
export default class dnReceiptDom extends BasePage { export default class rawMaterialInventory extends BasePage {
/** /**
* 表单引用 * 表单引用
*/ */
@ -84,17 +92,26 @@ export default class dnReceiptDom extends BasePage {
index() { index() {
this.toPage(this.page.raw.index); this.toPage(this.page.raw.index);
} }
status = false;
/** /**
* 表单数据 * 表单数据
*/ */
form = { form = {
documentNo: null, //
cboPlace: {} as OptionType, pddNo: null,
//
productCode: null,
productDescZh: null,
//
spQty: null,
// cboPlace: {} as OptionType,
}; };
cboPlaceSelect = false; cboPlaceSelect = false;
rules: VFormRules<any> = { rules: VFormRules<any> = {
documentNo: [ pddNo: [
{ required: true, message: this.$t("message.dn_PleaseScan") as string }, { required: true, message: this.$t("message.dn_PleaseScan") as string },
], ],
// cboPlace: [{ required: true, message: this.$t('message.Warehouse_Tip10') as string }], // cboPlace: [{ required: true, message: this.$t('message.Warehouse_Tip10') as string }],
@ -103,6 +120,27 @@ export default class dnReceiptDom extends BasePage {
value = ""; value = "";
show = false; show = false;
//
async checkRawProductCode(productCode:string){
let result = await model.checkRawProductCode({
productCode,pddNo:this.form.pddNo
})
console.log('result:::',result)
this.status = result.isState
}
checkRawCreateInfo(){
if(this.status){
model.checkRawProductComplete(this.form)
}else{
model.checkRawCreateInfo(this.form)
}
}
//
async checkRawOrderComplete(){
await model.checkRawOrderComplete(this.form.pddNo)
}
// onReadyonLoad // onReadyonLoad
onReady() { onReady() {
this.$form.setRules(this.rules); this.$form.setRules(this.rules);
@ -118,22 +156,24 @@ export default class dnReceiptDom extends BasePage {
back() { back() {
uni.navigateBack({ delta: 1 }); uni.navigateBack({ delta: 1 });
} }
onSubmit() { async onSubmit() {
this.$form.validate((valid: boolean) => { this.$form.validate((valid: boolean) => {
if (!valid) return; if (!valid) return;
// if (!this.model.hasDnInfo) { if (!this.model.hasDnInfo) {
// uni.showToast({ uni.showToast({
// icon: 'none', icon: 'none',
// title: this.$t('message.dn_PleaseScan') as string, title: this.$t('message.dn_PleaseScan') as string,
// });
// return;
// }
sessionStorage.setItem(
"dnNo",
JSON.stringify(this.form.documentNo) as any
);
this.toPage(this.page.raw.ingoods.dnReceipt.detail);
}); });
return;
}
// sessionStorage.setItem(
// "dnNo",
// JSON.stringify(this.form.pddNo) as any
// );
// this.toPage(this.page.raw.ingoods.dnReceipt.detail);
});
await this.model.submitOrderInEnter();
} }
} }
</script> </script>

@ -32,6 +32,9 @@ class OrderInInfo {
name: "raw.ingoods.dnReceipt", name: "raw.ingoods.dnReceipt",
}) })
export class ReceiptModule extends VuexModule { export class ReceiptModule extends VuexModule {
// 是否有
isState = true;
sendSpot = ""; sendSpot = "";
/** /**
* sap * sap
@ -161,6 +164,114 @@ export class ReceiptModule extends VuexModule {
return { dnNo, orderInInfo, orderInInfoList, orderInInfoListEx }; return { dnNo, orderInInfo, orderInInfoList, orderInInfoListEx };
} }
/**
*
*
* @param pddNo
*/
@Action
async rawMaterialInventoryCheckRaw(pddNo: string) {
const { msg }: any = await http.post(url.material.rawMaterialInventory.checkRaw, {
pddNo,
factoryCode: session.factoryCode,
loginName: session.loginName,
});
uni.showToast({
icon: "none",
title: msg,
});
}
/**
*
*
* @param {string} productCode
* @param {string} pddNo
* @memberof ReceiptModule
*/
@Action
async checkRawProductCode(form:any) {
const { code,msg }: any = await http.post(url.material.rawMaterialInventory.productCode, {
productCode:form.productCode,
pddNo:form.pddNo,
factoryCode: session.factoryCode,
loginName: session.loginName,
});
uni.showToast({
icon: "none",
title: msg,
});
console.log('code:::',code,msg)
const isState = !!+code
return {isState}
}
/**
*
*
* @param {string} productCode
* @param {string} pddNo
* @memberof ReceiptModule
*/
@Action
async checkRawCreateInfo(form:any) {
const { msg }: any = await http.post(url.material.rawMaterialInventory.createInfo, {
...form,
factoryCode: session.factoryCode,
loginName: session.loginName,
});
uni.showToast({
icon: "none",
title: msg,
});
}
/**
*
*
* @param {string} productCode
* @param {string} pddNo
* @memberof ReceiptModule
*/
@Action
async checkRawProductComplete(form:any) {
const { msg }: any = await http.post(url.material.rawMaterialInventory.productComplete, {
...form,
factoryCode: session.factoryCode,
loginName: session.loginName,
});
uni.showToast({
icon: "none",
title: msg,
});
}
/**
*
*
* @param {string} productCode
* @param {string} pddNo
* @memberof ReceiptModule
*/
@Action
async checkRawOrderComplete(pddNo?: string|null) {
const { msg }: any = await http.post(url.material.rawMaterialInventory.orderComplete, {
pddNo,
factoryCode: session.factoryCode,
loginName: session.loginName,
});
uni.showToast({
icon: "none",
title: msg,
});
}
/** /**
* *
*/ */

@ -71,6 +71,19 @@ export const url = {
unlock: "/material/orderout/unlock", unlock: "/material/orderout/unlock",
takeout: "/material/orderout/takeout", takeout: "/material/orderout/takeout",
}, },
// 原材料盘点
rawMaterialInventory: {
// 盘点单号查询检查
checkRaw: "/product/finished/checkRaw/order",
// 扫描物料号检查
productCode: "/product/finished/checkRaw/productCode",
// 3.盘点单中不存在该物料但继续盘点,需要新增单号和物料信息
createInfo: "/product/finished/checkRaw/createInfo",
// 4.物料盘点确定
productComplete: "/product/finished/checkRaw/productComplete",
// 5.盘点完成
orderComplete: "/product/finished/checkRaw/orderComplete",
},
}, },
SFG: { SFG: {
DumpListFH: { DumpListFH: {

Loading…
Cancel
Save