From 0ce807b0c807547f86e23e4e2d73d422d0ba89a4 Mon Sep 17 00:00:00 2001
From: hou <1601990943@qq.com>
Date: Mon, 6 Dec 2021 18:04:49 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20=20=E8=AF=B7=E6=B1=82url?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/i18n/lang/cn.ts | 10 +-
src/i18n/lang/en.ts | 4 +
src/pages.json | 8 +
.../outbound/stoOutbound/DN-delivergoods.vue | 122 +++++++-----
.../product/outbound/stoOutbound/model.ts | 101 ++++++++--
.../warehouse/wholeLnventory/index.vue | 95 +++++----
.../raw/handover/returning/Time-filter.vue | 186 ++++++++++++++++++
src/pages/raw/handover/returning/config.ts | 21 ++
src/pages/raw/handover/returning/index.vue | 11 +-
src/pages/raw/handover/returning/model.ts | 23 ++-
.../raw/warehouse/rowInventory/index.vue | 2 +-
src/uni.scss | 1 +
src/utils/page.ts | 1 +
src/utils/url.ts | 160 +++++++--------
vue.config.js | 1 +
15 files changed, 559 insertions(+), 187 deletions(-)
create mode 100644 src/pages/raw/handover/returning/Time-filter.vue
create mode 100644 src/pages/raw/handover/returning/config.ts
diff --git a/src/i18n/lang/cn.ts b/src/i18n/lang/cn.ts
index 95cd9d1..6305fc8 100644
--- a/src/i18n/lang/cn.ts
+++ b/src/i18n/lang/cn.ts
@@ -99,6 +99,7 @@ export default {
dn_Tip: "实际收货数量不能大于需求数量",
dn_Tip2: "实际退货数量不能大于需求数量",
dn_Tip3: "实际收货数量小于需求数量",
+ Line: "行项目",
//交接菜单页
Handover: "交接",
Picking: "拣配",
@@ -114,6 +115,7 @@ export default {
Pi_materielNo: "物料号",
Pi_order: "订单查询",
Query: "查询",
+ time: "请先选择时间",
Pi_InputMrp: "请输入MRP",
Pi_InputFactory: "请输入工厂代码",
Pi_OrderNoNotSelected: "未选中订单号",
@@ -161,6 +163,7 @@ export default {
Summary_Number: "数量",
Summary_Receiver: "接收人",
Summary_Password: "口令",
+ screen: "筛选",
Summary_PleaseInputNumber: "请输入数量",
Summary_PleaseInputReceiver: "请输入接收人",
Summary_PleaseInputPassword: "请输入口令",
@@ -244,9 +247,9 @@ export default {
Warehouse_OriginalLocation: "原库位",
Warehouse_TargetLocation: "目标库位",
Warehouse_Tip: "请输入移库单号",
- transfer_barcode:'移库批次',
- Product_code:'产品编码',
- Access_type:'出入类型',
+ transfer_barcode: "移库批次",
+ Product_code: "产品编码",
+ Access_type: "出入类型",
//报废
Scrap_ScrapNo: "报废单号",
@@ -270,6 +273,7 @@ export default {
DumpListFHMX: "转储单发货明细",
DumpListSH: "转储单收货",
DumpListSHMX: "转储单收货明细",
+ deliver: "DN发货",
//成品入库主菜单
product_item1: "成品下线",
diff --git a/src/i18n/lang/en.ts b/src/i18n/lang/en.ts
index d1b380a..8d1437a 100644
--- a/src/i18n/lang/en.ts
+++ b/src/i18n/lang/en.ts
@@ -282,6 +282,10 @@ export default {
DumpListFHMX: "SFG delivery detail",
DumpListSH: "SFG receive",
DumpListSHMX: "SFG receive detail",
+ deliver: "DN deliver goods",
+ Line: "rowItem",
+ screen: "screen",
+ time: "Please select the time first",
//成品入库主菜单
product_item1: "FG inward",
product_item2: "Transfer vehicle offline",
diff --git a/src/pages.json b/src/pages.json
index 01fb4ce..6f35ab7 100644
--- a/src/pages.json
+++ b/src/pages.json
@@ -481,6 +481,14 @@
"navigationBarTextStyle": "white" // 状态栏字体为白色,只能为 white-白色,black-黑色 二选一
}
},
+ {
+ "path": "pages/raw/handover/returning/Time-filter",
+ "style": {
+ "navigationBarTitleText": "筛选",
+ "navigationStyle": "custom", // 隐藏系统导航栏
+ "navigationBarTextStyle": "white" // 状态栏字体为白色,只能为 white-白色,black-黑色 二选一
+ }
+ },
{
"path": "pages/raw/appointment/checkin/list",
"style": {
diff --git a/src/pages/product/outbound/stoOutbound/DN-delivergoods.vue b/src/pages/product/outbound/stoOutbound/DN-delivergoods.vue
index a0e1a39..100fffa 100644
--- a/src/pages/product/outbound/stoOutbound/DN-delivergoods.vue
+++ b/src/pages/product/outbound/stoOutbound/DN-delivergoods.vue
@@ -7,7 +7,7 @@
- {{ $t("message.dn_ReceivingGoods") }}
+ {{ $t("message.deliver") }}
-
+
-
+
-
+
+
+
+
-
+
-
+
-
+
{{ $t("message.product_PickingDetails") }}{{ $t("message.detailed") }}
@@ -168,7 +168,7 @@ export default class stoOutboundDom extends BasePage {
orderAmount: "",
productCode: "", // 物料类型name
productDescZh: "",
- scanAmount: "",
+ scanAmount: 0,
barCode: "",
};
materialList: any = []; //物料列表
@@ -216,12 +216,22 @@ export default class stoOutboundDom extends BasePage {
materialConfirm(v: any) {
console.log("v[0].value", v[0]);
// this.form.productCode = v[0].value;
+ // this.model.materielList.forEach((item: any) => {
+ // if (v[0].value == item.stoItem) {
+ // this.form.productCode = item.materialCode;
+ // this.form.productDescZh = item.materialDesc;
+ // this.form.orderAmount = item.orderAmount;
+ // this.form.scanAmount = item.scanAmount;
+ // return;
+ // }
+ // });
this.model.materielList.forEach((item: any) => {
- if (v[0].value == item.stoItem) {
+ if (v[0].label == item.materialCode) {
this.form.productCode = item.materialCode;
this.form.productDescZh = item.materialDesc;
this.form.orderAmount = item.orderAmount;
- this.form.scanAmount = item.scanAmount;
+ this.form.scanAmount = parseFloat(item.scanAmount);
+ return;
}
});
console.log("this.form", this.form);
@@ -246,36 +256,43 @@ export default class stoOutboundDom extends BasePage {
onSubmit() {
this.$form.validate(async (valid: boolean) => {
- if (this.form.productCode.slice(0, 9) != this.form.barCode.slice(0, 9)) {
- uni.showToast({
- icon: "none",
- title: this.$t("message.product_Tip5") as string,
- });
- return;
- }
- if (parseInt(this.form.orderAmount) <= parseInt(this.form.scanAmount)) {
+ // if (this.form.productCode.slice(0, 9) != this.form.barCode.slice(0, 9)) {
+ // uni.showToast({
+ // icon: "none",
+ // title: this.$t("message.product_Tip5") as string,
+ // });
+ // return;
+ // }
+ if (parseInt(this.form.orderAmount) <= this.form.scanAmount) {
uni.showToast({
icon: "none",
title: this.$t("message.product_Tip6") as string,
});
return;
}
- let list = [
- {
- order3: this.form.orderNo,
- productCode: this.form.productCode,
- productDescZh: this.form.productDescZh,
- barCode: this.form.barCode,
- dockCode: this.form.dockCode,
- dockName: this.form.dockName,
- orderType: 3,
- type: 0,
- keepBy: session.loginName as string,
- loginName: session.loginName as string,
- },
- ];
+ // let list = [
+ // {
+ // order3: this.form.orderNo,
+ // productCode: this.form.productCode,
+ // productDescZh: this.form.productDescZh,
+ // barCode: this.form.barCode,
+ // dockCode: this.form.dockCode,
+ // dockName: this.form.dockName,
+ // // orderType: 3,
+ // orderType: 4,
+ // type: 0,
+ // keepBy: session.loginName as string,
+ // loginName: session.loginName as string,
+ // },
+ // ];
if (valid) {
- const res = await this.model.tluSubmit(list);
+ let list: any = {
+ productCode: this.form.productCode,
+ barcode: this.form.barCode,
+ loginName: session.loginName,
+ factoryCode: session.factoryCode,
+ };
+ const res = await this.model.getMaterialByCode(list);
console.log("fanhui ", res);
// if (res.barcode) {
// // this.materialList.push(res);
@@ -332,7 +349,8 @@ export default class stoOutboundDom extends BasePage {
keepBy: session.loginName,
loginName: session.loginName,
order3: this.form.orderNo,
- orderType: 3,
+ // orderType: 3,
+ orderType: 4,
type: 0,
productCode: item.productCode,
productDescZh: item.productDescZh,
@@ -343,7 +361,7 @@ export default class stoOutboundDom extends BasePage {
regionCode: item.regionCode,
};
});
- await this.model.confirm(selctlist);
+ await this.model.confirmMove(selctlist);
// this.$form.resetFields();
// // this.form.barCode = '';
// this.selectMaterielList = [];
@@ -358,7 +376,7 @@ export default class stoOutboundDom extends BasePage {
this.form.barCode = "";
this.form.productCode = "";
// this.form.orderNo = null;
- this.form.scanAmount = "";
+ this.form.scanAmount = 0;
this.form.orderAmount = "";
this.form.productDescZh = "";
this.selectMaterielList = [];
@@ -428,7 +446,7 @@ export default class stoOutboundDom extends BasePage {
padding: 20rpx;
}
- .button-bar {
- }
+ // .button-bar {
+ // }
}
diff --git a/src/pages/product/outbound/stoOutbound/model.ts b/src/pages/product/outbound/stoOutbound/model.ts
index f8d0098..bf35924 100644
--- a/src/pages/product/outbound/stoOutbound/model.ts
+++ b/src/pages/product/outbound/stoOutbound/model.ts
@@ -1,8 +1,14 @@
-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 {
+ 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';
class OrderInInfo {
@@ -17,7 +23,7 @@ class OrderInInfo {
namespaced: true,
dynamic: true,
store,
- name: 'product.outbound.stoOutbound',
+ name: "product.outbound.stoOutbound",
})
export class ReturningModule extends VuexModule {
/**
@@ -36,7 +42,7 @@ export class ReturningModule extends VuexModule {
*/
orderInInfo: OrderInInfo = new OrderInInfo();
//记账按钮的code码
- code = '';
+ code = "";
/**
* 查询月台列表
*/
@@ -59,9 +65,9 @@ export class ReturningModule extends VuexModule {
* @param orderNo
*/
@MutationAction
- async queryOrderInInfo(stoNo: string) {
+ async queryOrderInInfo(nxOutCode: string) {
const result = await http.post(url.outbound.stoOutbound.info, {
- stoNo,
+ nxOutCode,
deleteFlag: 2,
finalState: 3,
loginName: session.loginName,
@@ -75,13 +81,40 @@ export class ReturningModule extends VuexModule {
value: item.stoItem,
...item,
}));
- console.log('materielList', materielList);
+ console.log("materielList", materielList);
if (result.data.records[0]) {
result.data.records[0].stoAmount = stoAmount;
}
const orderInInfo = result.data.records[0] || {};
return { orderInInfo, materielList };
}
+ /**
+ * 查询订单号
+ * @param nxOutCode
+ */
+ @MutationAction
+ async findProdInfoByDN(nxOutCode: string) {
+ const result = await http.post(url.outbound.stoOutbound.findProdInfoByDN, {
+ nxOutCode,
+ loginName: session.loginName,
+ factoryCode: session.factoryCode,
+ });
+ let stoAmount = 0;
+ result.data.forEach((item: any) => {
+ stoAmount += item.orderAmount;
+ });
+ const materielList = result.data.map((item: any) => ({
+ label: item.materialCode,
+ value: item.stoItem,
+ ...item,
+ }));
+ console.log("materielList", materielList);
+ if (result.data[0]) {
+ result.data[0].stoAmount = stoAmount;
+ }
+ const orderInInfo = result.data[0] || {};
+ return { orderInInfo, materielList };
+ }
/**
* 扫条码
@@ -93,12 +126,28 @@ export class ReturningModule extends VuexModule {
loginName: session.loginName,
};
let oneMaterielDetail: any = {};
- const { data }: any = await http.post(url.outbound.stoOutbound.checkScan, obj);
- console.log('shneme a ', data.records);
+ const { data }: any = await http.post(
+ url.outbound.stoOutbound.checkScan,
+ obj
+ );
+ console.log("shneme a ", data.records);
oneMaterielDetail = data.records[0];
data.records[0].materialCode = list[0].productCode;
data.records[0].materialDesc = list[0].productDescZh;
- console.log('aaaaa', oneMaterielDetail);
+ console.log("aaaaa", oneMaterielDetail);
+ return oneMaterielDetail;
+ }
+ /**
+ * 扫条码
+ */
+ @Action
+ async getMaterialByCode(list: any = {}) {
+ let oneMaterielDetail: any = {};
+ const { data }: any = await http.post(
+ url.outbound.stoOutbound.getMaterialByCode,
+ list
+ );
+ oneMaterielDetail = data.records[0];
return oneMaterielDetail;
}
/**
@@ -107,8 +156,30 @@ export class ReturningModule extends VuexModule {
*/
@MutationAction
async confirm(list: any[]) {
- const { code, data } = await http.post(url.outbound.stoOutbound.Bookkeeping, list);
- console.log('res数据', data, code);
+ const { code, data } = await http.post(
+ url.outbound.stoOutbound.Bookkeeping,
+ list
+ );
+ console.log("res数据", data, code);
+ // if (code == '1') {
+ // uni.showToast({ icon: 'success', title: msg });
+ // } else {
+ // uni.showToast({ icon: 'none', title: msg });
+ // }
+ const materielList: any = [];
+ return { code, materielList };
+ }
+ /**
+ * 确认按钮
+ * @param orderNo
+ */
+ @MutationAction
+ async confirmMove(list: any[]) {
+ const { code, data } = await http.post(
+ url.outbound.stoOutbound.Bookkeeping,
+ list
+ );
+ console.log("res数据", data, code);
// if (code == '1') {
// uni.showToast({ icon: 'success', title: msg });
// } else {
diff --git a/src/pages/product/warehouse/wholeLnventory/index.vue b/src/pages/product/warehouse/wholeLnventory/index.vue
index 4714dd3..8e45dc3 100644
--- a/src/pages/product/warehouse/wholeLnventory/index.vue
+++ b/src/pages/product/warehouse/wholeLnventory/index.vue
@@ -1,14 +1,21 @@
-
+
diff --git a/src/pages/raw/handover/returning/config.ts b/src/pages/raw/handover/returning/config.ts
new file mode 100644
index 0000000..1d45ca0
--- /dev/null
+++ b/src/pages/raw/handover/returning/config.ts
@@ -0,0 +1,21 @@
+/**
+ * 看单明细表格列
+ */
+import vm from '@/main';
+export const headers = [
+ {
+ label: vm.$t('message.product_barCode'),
+ key: 'barcode',
+ width: 300,
+ },
+ {
+ label: vm.$t('message.product_FGCode'),
+ key: 'materialCode',
+ width: 300,
+ },
+ {
+ label: vm.$t('message.product_FGDes'),
+ key: 'materialDesc',
+ width: 300,
+ },
+];
diff --git a/src/pages/raw/handover/returning/index.vue b/src/pages/raw/handover/returning/index.vue
index 1930dc2..6b2b91a 100644
--- a/src/pages/raw/handover/returning/index.vue
+++ b/src/pages/raw/handover/returning/index.vue
@@ -34,6 +34,13 @@
@search="model.queryOrderInInfo"
:show-action="false"
>
+ 筛选