交接(汇总交接&&按单交接)优化

master
hou 4 years ago
parent 1afca0deeb
commit 7e20f0017d

@ -8,62 +8,29 @@
<view class="right"></view> <view class="right"></view>
</view> </view>
<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 :required="true" :label="this.$t('message.product_barCode')" prop="productCode"> <!-- 条码 -->
<u-search <u-form-item :required="true" :label="$t('message.product_barCode')" prop="productCode">
:placeholder="this.$t('message.po_PleaseInput')" <u-search :placeholder="$t('message.po_PleaseInput')" v-model="form.productCode" @search="model.getProductCode" :show-action="false"></u-search>
v-model="form.productCode"
@search="model.getProductCode"
:show-action="false"
></u-search>
</u-form-item> </u-form-item>
<u-form-item :label="this.$t('message.product_FGCode')"> <!-- 成品编码 -->
<u-form-item :label="$t('message.product_FGCode')">
<u-input :disabled="true" v-model="model.orderInInfo.productCode" placeholder="" /> <u-input :disabled="true" v-model="model.orderInInfo.productCode" placeholder="" />
</u-form-item> </u-form-item>
<u-form-item :label="this.$t('message.product_FGDes')"> <!-- 成品描述 -->
<u-form-item :label="$t('message.product_FGDes')">
<u-input :disabled="true" v-model="model.orderInInfo.productDescZh" placeholder="" /> <u-input :disabled="true" v-model="model.orderInInfo.productDescZh" placeholder="" />
</u-form-item> </u-form-item>
<u-form-item :label="this.$t('message.product_Number')"> <!-- 数量 -->
<u-form-item :label="$t('message.product_Number')">
<u-input :disabled="true" v-model="model.orderInInfo.qty" placeholder="" /> <u-input :disabled="true" v-model="model.orderInInfo.qty" placeholder="" />
</u-form-item> </u-form-item>
<!-- <u-form-item label="类型:" prop="cboPlace"> <!-- 库位 -->
<u-input <u-form-item :label="$t('message.product_Location')">
v-model="model.orderInInfo.custCode"
type="select"
@click="cboPlaceSelect = true"
/>
<u-select
v-model="cboPlaceSelect"
:list="model.modelType"
@confirm="(v) => (form.cboPlace = v[0])"
></u-select>
</u-form-item> -->
<u-form-item :label="this.$t('message.product_Location')">
<u-input :disabled="true" v-model="model.orderInInfo.locCode" placeholder="" /> <u-input :disabled="true" v-model="model.orderInInfo.locCode" placeholder="" />
</u-form-item> </u-form-item>
<!-- <u-form-item label="类型"> <!-- 成本中心 -->
<u-input v-model="model.orderInInfo.custCodeName" /> <u-form-item :required="true" :label="$t('message.product_costCenter')">
</u-form-item> <u-input v-model="model.orderInInfo.costCenter" :placeholder="$t('message.po_PleaseInput')" />
<u-form-item label="库位:" prop="originWl">
<u-input v-model="form.originWl.label" type="select" @click="originWlSelect = true" />
<u-select
v-model="originWlSelect"
:list="model.WlList"
@confirm="(v) => (form.originWl = v[0])"
></u-select>
</u-form-item> -->
<!-- <u-form-item label="目标库位:" prop="aimWl">
<u-input v-model="form.aimWl.label" type="select" @click="aimWlSelect = true" />
<u-select
v-model="aimWlSelect"
:list="model.WlList"
@confirm="(v) => (form.aimWl = v[0])"
></u-select>
</u-form-item> -->
<u-form-item :required="true" :label="this.$t('message.product_costCenter')">
<u-input
v-model="model.orderInInfo.costCenter"
:placeholder="this.$t('message.po_PleaseInput')"
/>
</u-form-item> </u-form-item>
</u-form> </u-form>
<view class="bottom-bar"> <view class="bottom-bar">
@ -72,42 +39,27 @@
<u-button type="primary" @click="onSubmit">{{ $t('message.workArea_Confirm') }}</u-button> <u-button type="primary" @click="onSubmit">{{ $t('message.workArea_Confirm') }}</u-button>
</u-col> </u-col>
<u-col :span="6"> <u-col :span="6">
<u-button type="error" @click="uni.navigateBack({ delta: 1 })">{{ <u-button type="error" @click="uni.navigateBack({ delta: 1 })">{{ $t('message.po_Return') }}</u-button>
$t('message.po_Return')
}}</u-button>
</u-col> </u-col>
</u-row> </u-row>
</view> </view>
</view> </view>
</template> </template>
<script lang="ts"> <script lang="ts">
import { Component, Ref } from 'vue-property-decorator'; import { Component, Ref } from 'vue-property-decorator';
import { BasePage } from '@/components/base/page'; 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';
import { session } from '@/store/modules/session'; import { session } from '@/store/modules/session';
interface OptionType { interface OptionType {
label: string; label: string;
value: string; value: string;
} }
@Component @Component
export default class ProductCheckReceipt extends BasePage { export default class ProductCheckReceipt extends BasePage {
/**
* 表单引用
*/
@Ref('form') readonly $form!: VForm; @Ref('form') readonly $form!: VForm;
/**
* 页面Module
*/
model = model; model = model;
//
/**
* 表单数据
*/
form = { form = {
...this.model.orderInInfo, ...this.model.orderInInfo,
originWl: {} as OptionType, originWl: {} as OptionType,
@ -117,17 +69,14 @@ export default class ProductCheckReceipt extends BasePage {
originWlSelect = false; originWlSelect = false;
aimWlSelect = false; aimWlSelect = false;
cboPlaceSelect = false; cboPlaceSelect = false;
rules: VFormRules<any> = { rules: VFormRules<any> = {
documentNo: [{ required: true, message: this.$t('message.Warehouse_Tip1') as string }], documentNo: [{ required: true, message: this.$t('message.Warehouse_Tip1') as string }],
originWl: [{ required: true, message: this.$t('message.Warehouse_Tip2') as string }], originWl: [{ required: true, message: this.$t('message.Warehouse_Tip2') as string }],
aimWl: [{ required: true, message: this.$t('message.Warehouse_Tip3') as string }], aimWl: [{ required: true, message: this.$t('message.Warehouse_Tip3') as string }],
cboPlace: [{ required: true, message: this.$t('message.Warehouse_Tip4') as string }], cboPlace: [{ required: true, message: this.$t('message.Warehouse_Tip4') as string }],
}; };
value = ''; value = '';
show = false; show = false;
// onReadyonLoad // onReadyonLoad
onReady() { onReady() {
this.model.orderInInfo.productDescZh = ''; this.model.orderInInfo.productDescZh = '';
@ -138,10 +87,6 @@ export default class ProductCheckReceipt extends BasePage {
this.$form.setRules(this.rules); this.$form.setRules(this.rules);
this.model.queryLocation(); this.model.queryLocation();
} }
// warck() {
// uni.navigateBack({ delta: 1 });
// this.form.productDescZh = '';
// }
onSubmit() { onSubmit() {
this.$form.validate((valid: boolean) => { this.$form.validate((valid: boolean) => {
if (!valid) return; if (!valid) return;
@ -184,7 +129,6 @@ export default class ProductCheckReceipt extends BasePage {
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.page-product-receipt { .page-product-receipt {
background: #f2f2f2 linear-gradient(0deg, #f2f2f2 0%, #4a78ea 51%, #1753ea 100%) no-repeat; background: #f2f2f2 linear-gradient(0deg, #f2f2f2 0%, #4a78ea 51%, #1753ea 100%) no-repeat;

@ -1,16 +1,10 @@
import { import { Action, getModule, Module, MutationAction, VuexModule } from 'vuex-module-decorators';
Action, import store from '@/store';
getModule, import http from '@/utils/request';
Module, import { url } from '@/utils/url';
MutationAction, import { session } from '@/store/modules/session';
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 { page } from '@/utils/page'; // import { page } from '@/utils/page';
import vm from "@/main"; import vm from '@/main';
class OrderInInfo { class OrderInInfo {
productDescZh?: string; productDescZh?: string;
@ -26,7 +20,7 @@ class OrderInInfo {
namespaced: true, namespaced: true,
dynamic: true, dynamic: true,
store, store,
name: "product.warehouse.wholeCollect", name: 'product.warehouse.wholeCollect',
}) })
export class wholeCollect extends VuexModule { export class wholeCollect extends VuexModule {
/** /**
@ -46,7 +40,7 @@ export class wholeCollect extends VuexModule {
/** /**
* *
*/ */
dnNo = ""; dnNo = '';
/** /**
* *
*/ */
@ -95,28 +89,25 @@ export class wholeCollect extends VuexModule {
factoryCode: session.factoryCode, factoryCode: session.factoryCode,
loginName: session.loginName, loginName: session.loginName,
}); });
console.log("获取来的数据", res.data.records); console.log('获取来的数据', res.data.records);
const orderInInfo = res.data.records[0] || {}; const orderInInfo = res.data.records[0] || {};
if (orderInInfo.custCode == "0") { if (orderInInfo.custCode == '0') {
orderInInfo.custCodeName = vm.$t("message.Warehouse_NX") as any; orderInInfo.custCodeName = vm.$t('message.Warehouse_NX') as any;
} else if (orderInInfo.custCode == "1") { } else if (orderInInfo.custCode == '1') {
orderInInfo.custCodeName = vm.$t("message.Warehouse_WX") as any; orderInInfo.custCodeName = vm.$t('message.Warehouse_WX') as any;
} else if (orderInInfo.custCode == "2") { } else if (orderInInfo.custCode == '2') {
orderInInfo.custCodeName = vm.$t("message.Warehouse_YJ") as any; orderInInfo.custCodeName = vm.$t('message.Warehouse_YJ') as any;
} else if (orderInInfo.custCode == "4") { } else if (orderInInfo.custCode == '4') {
orderInInfo.custCodeName = vm.$t("message.Warehouse_BCP") as any; orderInInfo.custCodeName = vm.$t('message.Warehouse_BCP') as any;
} }
return { orderInInfo }; return { orderInInfo };
} }
@MutationAction @MutationAction
async onTakeoutConfirm(list: any[]) { async onTakeoutConfirm(list: any[]) {
const records: any = await http.post( const records: any = await http.post(url.warehouse.rowTransfer.commit, list);
url.warehouse.rowTransfer.commit,
list
);
if (records.code == 1) { if (records.code == 1) {
uni.showToast({ icon: "success", title: "success" }); uni.showToast({ icon: 'success', title: 'success' });
// uni.navigateTo({ url: page.product.warehouse.index }); // uni.navigateTo({ url: page.product.warehouse.index });
} }
return {}; return {};
@ -150,11 +141,11 @@ export class wholeCollect extends VuexModule {
/** /**
* *
*/ */
@Action({ commit: "updateCheckedOrderInInfoListKw" }) @Action({ commit: 'updateCheckedOrderInInfoListKw' })
async changeOrderInLocation(kw: string) { async changeOrderInLocation(kw: string) {
await http.post("/wmspda/material/orderin/enter", { await http.post('/wmspda/material/orderin/enter', {
loginName: session.loginName, loginName: session.loginName,
warehouseCode: "", warehouseCode: '',
factoryCode: session.factoryCode, factoryCode: session.factoryCode,
locationCode: kw, locationCode: kw,
}); });

@ -11,7 +11,7 @@
<u-row> <u-row>
<u-col :span="12"> <u-col :span="12">
<u-form-item :required="true" label-width="120rpx" label="MRP" prop="mrpScope"> <u-form-item :required="true" label-width="120rpx" label="MRP" prop="mrpScope">
<u-input v-model="form.mrpScope" :placeholder="this.$t('message.po_PleaseInput')" /> <u-input v-model="form.mrpScope" :placeholder="$t('message.po_PleaseInput')" />
</u-form-item> </u-form-item>
</u-col> </u-col>
<!-- <u-col :span="6"> <!-- <u-col :span="6">
@ -35,18 +35,18 @@
<!-- </u-row> <!-- </u-row>
<u-row align="top"> --> <u-row align="top"> -->
<u-col :span="12"> <u-col :span="12">
<u-form-item label-width="120rpx" :required="true" :label="this.$t('message.Pi_factory')" prop="sapFactoryCode"> <u-form-item label-width="120rpx" :required="true" :label="$t('message.Pi_factory')" prop="sapFactoryCode">
<u-input v-model="form.sapFactoryCode" :placeholder="this.$t('message.po_PleaseInput')" /> <u-input v-model="form.sapFactoryCode" :placeholder="$t('message.po_PleaseInput')" />
</u-form-item> </u-form-item>
</u-col> </u-col>
<u-col :span="6"> <u-col :span="6">
<u-form-item label-width="120rpx" :label="this.$t('message.Pi_OrderNo')"> <u-form-item label-width="120rpx" :label="$t('message.Pi_OrderNo')">
<u-input v-model="form.orderNoStart" :placeholder="this.$t('message.po_PleaseInput')" /> <u-input v-model="form.orderNoStart" :placeholder="$t('message.po_PleaseInput')" />
</u-form-item> </u-form-item>
</u-col> </u-col>
<u-col :span="6"> <u-col :span="6">
<u-form-item label-width="120rpx" :label="this.$t('message.Summary_To')"> <u-form-item label-width="120rpx" :label="$t('message.Summary_To')">
<u-input v-model="form.orderNoEnd" :placeholder="this.$t('message.po_PleaseInput')" /> <u-input v-model="form.orderNoEnd" :placeholder="$t('message.po_PleaseInput')" />
</u-form-item> </u-form-item>
</u-col> </u-col>
<!-- <u-col :span="6"> <!-- <u-col :span="6">
@ -113,8 +113,8 @@
</u-form-item> </u-form-item>
</u-col> --> </u-col> -->
<u-col :span="12"> <u-col :span="12">
<u-form-item label-width="120rpx" :label="this.$t('message.po_MaterielNo')"> <u-form-item label-width="120rpx" :label="$t('message.po_MaterielNo')">
<u-input v-model="form.materialCodeList" :placeholder="this.$t('message.po_PleaseInput')" style="margin-left: 12px" /> <u-input v-model="form.materialCodeList" :placeholder="$t('message.po_PleaseInput')" style="margin-left: 12px" />
</u-form-item> </u-form-item>
</u-col> </u-col>
</u-row> </u-row>
@ -141,7 +141,6 @@
</view> </view>
</view> </view>
</template> </template>
<script lang="ts"> <script lang="ts">
import { Component, Ref, Watch } from 'vue-property-decorator'; import { Component, Ref, Watch } from 'vue-property-decorator';
import { BasePage } from '@/components/base/page'; import { BasePage } from '@/components/base/page';
@ -149,29 +148,24 @@ import { VForm } from 'vue/types/form';
import model from './model'; import model from './model';
import { headers } from './config'; import { headers } from './config';
import { session } from '@/store/modules/session'; import { session } from '@/store/modules/session';
@Component @Component
export default class Aggregating extends BasePage { export default class Aggregating extends BasePage {
/** /**
* 表单引用 * 表单引用
*/ */
@Ref('form') readonly $form!: VForm; @Ref('form') readonly $form!: VForm;
@Watch('form', { immediate: true, deep: true }) @Watch('form', { immediate: true, deep: true })
onPersonChanged() { onPersonChanged() {
this.isFormChange = true; this.isFormChange = true;
} }
/** /**
* 页面Module * 页面Module
*/ */
model = model; model = model;
/** /**
* 表头 * 表头
*/ */
headers = headers; headers = headers;
/** /**
* 表单数据 * 表单数据
*/ */
@ -187,18 +181,15 @@ export default class Aggregating extends BasePage {
materialCodeList: '', materialCodeList: '',
sendSpotList: '', sendSpotList: '',
}; };
/** /**
* 表单是否改变 * 表单是否改变
*/ */
isFormChange = false; isFormChange = false;
/** /**
* 选择项显示 * 选择项显示
*/ */
requestTimeSelect = false; requestTimeSelect = false;
productDateSelect = false; productDateSelect = false;
/** /**
* 表单校验 * 表单校验
*/ */
@ -206,7 +197,6 @@ export default class Aggregating extends BasePage {
mrpScope: [{ required: true, message: this.$t('message.Pi_InputMrp') as string }], mrpScope: [{ required: true, message: this.$t('message.Pi_InputMrp') as string }],
sapFactoryCode: [{ required: true, message: this.$t('message.Pi_InputFactory') as string }], sapFactoryCode: [{ required: true, message: this.$t('message.Pi_InputFactory') as string }],
}; };
/** /**
* 生成表单参数 * 生成表单参数
*/ */
@ -243,7 +233,6 @@ export default class Aggregating extends BasePage {
} }
return params; return params;
} }
// onReadyonLoad // onReadyonLoad
async onReady() { async onReady() {
this.$form.setRules(this.rules); this.$form.setRules(this.rules);
@ -251,7 +240,6 @@ export default class Aggregating extends BasePage {
//guoshuang //guoshuang
// this.form.sapFactoryCode = session.factoryCode; // this.form.sapFactoryCode = session.factoryCode;
} }
/** /**
* 确认 * 确认
*/ */
@ -277,11 +265,10 @@ export default class Aggregating extends BasePage {
orderNoList: orderNoList, orderNoList: orderNoList,
}; };
await this.model.queryProOrderResult(params); await this.model.queryProOrderResult(params);
model.param = params; this.model.param = params;
this.toPage(this.page.raw.handover.aggregating.result); this.toPage(this.page.raw.handover.aggregating.result);
}); });
} }
/** /**
* 定单查询 * 定单查询
*/ */
@ -290,11 +277,11 @@ export default class Aggregating extends BasePage {
if (!valid) return; if (!valid) return;
this.model.queryProOrder(this.formParams); this.model.queryProOrder(this.formParams);
this.isFormChange = false; this.isFormChange = false;
this.model.isFormChange = this.formParams;
}); });
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.page-raw-receipt { .page-raw-receipt {
background: #f2f2f2 linear-gradient(0deg, #f2f2f2 0%, #4a78ea 51%, #1753ea 100%) no-repeat; background: #f2f2f2 linear-gradient(0deg, #f2f2f2 0%, #4a78ea 51%, #1753ea 100%) no-repeat;

@ -16,11 +16,13 @@ export class AggregatingModule extends VuexModule {
*/ */
proOrderList = []; proOrderList = [];
param: any; param: any;
orderOutIdListParams: any;
/** /**
* *
*/ */
proOrderResultList = []; proOrderResultList = [];
isFormChange: any = '';
/** /**
* *
@ -195,11 +197,6 @@ export class AggregatingModule extends VuexModule {
const { list: proOrderResultList }: any = await http.post(url.sumscan.query.ordoutlist, params); const { list: proOrderResultList }: any = await http.post(url.sumscan.query.ordoutlist, params);
return { proOrderResultList }; return { proOrderResultList };
} }
@MutationAction
async queryProOrders() {
const { list: proOrderResultList }: any = await http.post(url.sumscan.query.ordoutlist, this.param);
return { proOrderResultList };
}
/** /**
* - * -

@ -185,13 +185,6 @@ export default class AggregatingOrder extends BasePage {
const totalHvAmount = parseFloat(firstSelection.totalHvAmount); const totalHvAmount = parseFloat(firstSelection.totalHvAmount);
// //
const totalMoAmount = parseFloat(firstSelection.totalMoAmount); const totalMoAmount = parseFloat(firstSelection.totalMoAmount);
// if (currentPickNum <= 0) {
// uni.showToast({
// icon: 'none',
// title: this.$t('message.Pi_tip2') as string,
// });
// return;
// }
if (currentPickNum != totalMoAmount) { if (currentPickNum != totalMoAmount) {
uni.showToast({ uni.showToast({
icon: 'none', icon: 'none',
@ -203,35 +196,9 @@ export default class AggregatingOrder extends BasePage {
index: this.model.orderList.findIndex((_) => _.checked), index: this.model.orderList.findIndex((_) => _.checked),
hvAmount: currentPickNum, hvAmount: currentPickNum,
}); });
// if (currentPickNum + totalHvAmount - totalMoAmount > 0.000001) {
// uni.showModal({
// title: 'Tip',
// content: this.$t('message.Pi_tip11') as string,
// confirmText: this.$t('message.workArea_Confirm') as string,
// cancelText: this.$t('message.Cancel') as string,
// showCancel: true,
// success: (res) => {
// if (res.confirm) {
// model.setOrderListItemHvAmount({
// index: this.model.orderList.findIndex((_) => _.checked),
// hvAmount: currentPickNum,
// });
// }
// },
// });
// } else {
// model.setOrderListItemHvAmount({
// index: this.model.orderList.findIndex((_) => _.checked),
// hvAmount: currentPickNum,
// });
// }
} }
}); });
} }
/**
* 上传
*/
onSubmit() { onSubmit() {
this.$submitForm.validate(async (valid) => { this.$submitForm.validate(async (valid) => {
if (valid) { if (valid) {
@ -310,29 +277,25 @@ export default class AggregatingOrder extends BasePage {
factoryCode: session.factoryCode, factoryCode: session.factoryCode,
})), })),
}); });
this.submitForm.receiver = ''; setTimeout(() => {
this.submitForm.receiverName = ''; this.onAggregate();
this.submitForm.password = ''; }, 2000);
await this.model.queryProOrders();
this.toPage(this.page.raw.handover.aggregating.order);
// setTimeout(() => {
// uni.navigateBack({ delta: 2 });
// }, 2000);
// uni.navigateBack({ delta: 2 });
// uni.showModal({
// title: this.$t('message.Pi_tip') as string,
// content: this.$t('message.Warehouse_Tip9') as string,
// confirmText: this.$t('message.workArea_Confirm') as string,
// showCancel: false,
// success: () => {
// this.toPage(this.page.raw.handover.aggregating.index);
// },
// });
} }
} }
}); });
} }
async onAggregate() {
this.submitForm.receiver = '';
this.submitForm.receiverName = '';
this.submitForm.password = '';
this.amountForm.amount = '';
await this.model.queryProOrder(this.model.isFormChange);
await this.model.queryProOrderResult(this.model.param);
await this.model.queryOrderList({
queryParams: this.model.orderOutIdListParams,
proOrderResultList: this.model.proOrderResultList,
});
}
/** /**
* 解锁 * 解锁
*/ */

@ -4,40 +4,30 @@
<view class="left"> <view class="left">
<u-icon class="icon" name="arrow-left" @click="uni.navigateBack()" /> <u-icon class="icon" name="arrow-left" @click="uni.navigateBack()" />
</view> </view>
<view class="title">{{ $t("message.Summary_Result") }}</view> <view class="title">{{ $t('message.Summary_Result') }}</view>
<view class="right"></view> <view class="right"></view>
</view> </view>
<view class="table-wrapper"> <view class="table-wrapper">
<wyb-table <wyb-table class="table" ref="table" width="100%" show-left-and-right-border :headers="headers" :contents="model.proOrderResultList" :show-vert-border="false"></wyb-table>
class="table"
ref="table"
width="100%"
show-left-and-right-border
:headers="headers"
:contents="model.proOrderResultList"
:show-vert-border="false"
></wyb-table>
</view> </view>
<view class="bottom-bar"> <view class="bottom-bar">
<div class="container"> <div class="container">
<u-row> <u-row>
<u-col :span="4"> <u-col :span="4">
<u-button type="primary" @click="onAggregate"> <u-button type="primary" @click="onAggregate">
{{ $t("message.Pi_Summary") }} {{ $t('message.Pi_Summary') }}
</u-button> </u-button>
</u-col> </u-col>
<u-col :span="4"> <u-col :span="4">
<u-button type="success" @click="onOrder"> <u-button type="success" @click="onOrder">
{{ $t("message.Pi_ByOrder") }} {{ $t('message.Pi_ByOrder') }}
</u-button> </u-button>
</u-col> </u-col>
<!-- <u-col :span="3">--> <!-- <u-col :span="3">-->
<!-- <u-button type="warning"> 辅料 </u-button>--> <!-- <u-button type="warning"> 辅料 </u-button>-->
<!-- </u-col>--> <!-- </u-col>-->
<u-col :span="4"> <u-col :span="4">
<u-button type="error" @click="uni.navigateBack()">{{ <u-button type="error" @click="uni.navigateBack()">{{ $t('message.po_Return') }}</u-button>
$t("message.po_Return")
}}</u-button>
</u-col> </u-col>
</u-row> </u-row>
</div> </div>
@ -46,11 +36,11 @@
</template> </template>
<script lang="ts"> <script lang="ts">
import { Component } from "vue-property-decorator"; import { Component } from 'vue-property-decorator';
import { BasePage } from "@/components/base/page"; import { BasePage } from '@/components/base/page';
import model from "./model"; import model from './model';
import { resultHeaders } from "./config"; import { resultHeaders } from './config';
import { session } from "@/store/modules/session"; import { session } from '@/store/modules/session';
@Component @Component
export default class AggregatingResult extends BasePage { export default class AggregatingResult extends BasePage {
@ -68,15 +58,14 @@ export default class AggregatingResult extends BasePage {
* 汇总 * 汇总
*/ */
async onAggregate() { async onAggregate() {
const orderOutIdList = this.model.proOrderResultList.map( const orderOutIdList = this.model.proOrderResultList.map((_: any) => _.orderOutId);
(_: any) => _.orderOutId
);
const params = { const params = {
factoryCode: session.factoryCode, factoryCode: session.factoryCode,
loginName: session.loginName, loginName: session.loginName,
orderOutIdList, orderOutIdList,
}; };
await this.model.queryAggregateList(params); await this.model.queryAggregateList(params);
this.model.orderOutIdListParams = params;
this.toPage(this.page.raw.handover.aggregating.summary); this.toPage(this.page.raw.handover.aggregating.summary);
} }
@ -84,9 +73,7 @@ export default class AggregatingResult extends BasePage {
* 按单 * 按单
*/ */
async onOrder() { async onOrder() {
const orderOutIdList = this.model.proOrderResultList.map( const orderOutIdList = this.model.proOrderResultList.map((_: any) => _.orderOutId);
(_: any) => _.orderOutId
);
const params = { const params = {
factoryCode: session.factoryCode, factoryCode: session.factoryCode,
loginName: session.loginName, loginName: session.loginName,
@ -96,6 +83,7 @@ export default class AggregatingResult extends BasePage {
queryParams: params, queryParams: params,
proOrderResultList: this.model.proOrderResultList, proOrderResultList: this.model.proOrderResultList,
}); });
this.model.orderOutIdListParams = params;
this.toPage(this.page.raw.handover.aggregating.order); this.toPage(this.page.raw.handover.aggregating.order);
} }
@ -103,9 +91,7 @@ export default class AggregatingResult extends BasePage {
* 辅料 * 辅料
*/ */
async onAccessory() { async onAccessory() {
const orderOutIdList = this.model.proOrderResultList.map( const orderOutIdList = this.model.proOrderResultList.map((_: any) => _.orderOutId);
(_: any) => _.orderOutId
);
const params = { const params = {
factoryCode: session.factoryCode, factoryCode: session.factoryCode,
loginName: session.loginName, loginName: session.loginName,
@ -119,8 +105,7 @@ export default class AggregatingResult extends BasePage {
<style lang="scss" scoped> <style lang="scss" scoped>
.page-receipt-detail { .page-receipt-detail {
background: #f2f2f2 background: #f2f2f2 linear-gradient(0deg, #f2f2f2 0%, #4a78ea 51%, #1753ea 100%) no-repeat;
linear-gradient(0deg, #f2f2f2 0%, #4a78ea 51%, #1753ea 100%) no-repeat;
background-size: 100% 600rpx; background-size: 100% 600rpx;
padding: 30rpx; padding: 30rpx;
min-height: 100%; min-height: 100%;

@ -184,16 +184,6 @@ export default class AggregatingSummary extends BasePage {
const totalHvAmount = parseFloat(firstSelection.totalHvAmount); const totalHvAmount = parseFloat(firstSelection.totalHvAmount);
// //
const totalMoAmount = parseFloat(firstSelection.totalMoAmount); const totalMoAmount = parseFloat(firstSelection.totalMoAmount);
// if (
// currentPickNum <= 0 ||
// currentPickNum.toString().split(".")[1].length > 3
// ) {
// uni.showToast({
// icon: "none",
// title: this.$t("message.Pi_tip2") as string,
// });
// return;
// }
if (currentPickNum != totalMoAmount) { if (currentPickNum != totalMoAmount) {
uni.showToast({ uni.showToast({
icon: 'none', icon: 'none',
@ -205,28 +195,6 @@ export default class AggregatingSummary extends BasePage {
index: this.model.aggregateList.findIndex((_) => _.checked), index: this.model.aggregateList.findIndex((_) => _.checked),
hvAmount: currentPickNum, hvAmount: currentPickNum,
}); });
// if (currentPickNum + totalHvAmount - totalMoAmount > 0.000001) {
// uni.showModal({
// title: 'Tip',
// content: this.$t('message.Pi_tip11') as string,
// confirmText: this.$t('message.workArea_Confirm') as string,
// cancelText: this.$t('message.Cancel') as string,
// showCancel: true,
// success: (res) => {
// if (res.confirm) {
// model.setAggregateListItemHvAmount({
// index: this.model.aggregateList.findIndex((_) => _.checked),
// hvAmount: currentPickNum,
// });
// }
// },
// });
// } else {
// model.setAggregateListItemHvAmount({
// index: this.model.aggregateList.findIndex((_) => _.checked),
// hvAmount: currentPickNum,
// });
// }
} }
}); });
} }
@ -246,7 +214,6 @@ export default class AggregatingSummary extends BasePage {
await auth.checkPassword({ await auth.checkPassword({
rfPwd: this.submitForm.password, rfPwd: this.submitForm.password,
factoryCode: session.factoryCode as string, factoryCode: session.factoryCode as string,
// loginName: this.submitForm.receiver,
loginName: this.submitForm.receiverName, loginName: this.submitForm.receiverName,
}); });
let submit = false; let submit = false;
@ -290,10 +257,6 @@ export default class AggregatingSummary extends BasePage {
return; return;
} }
List.forEach((item: any) => { List.forEach((item: any) => {
// console.log("111");
// console.log(item.totalMoAmount);//
// console.log(item.totalHvAmount);//
// console.log(item.hvAmount);
if (parseFloat(item.totalMoAmount) - parseFloat(item.totalHvAmount) != parseFloat(item.hvAmount)) { if (parseFloat(item.totalMoAmount) - parseFloat(item.totalHvAmount) != parseFloat(item.hvAmount)) {
isTrue = false; isTrue = false;
return; return;
@ -321,32 +284,23 @@ export default class AggregatingSummary extends BasePage {
})), })),
includeOrderOutIdList: model.proOrderResultList.map((item: any) => item.orderOutId), includeOrderOutIdList: model.proOrderResultList.map((item: any) => item.orderOutId),
}); });
this.submitForm.receiver = ''; setTimeout(() => {
this.submitForm.receiverName = ''; this.onAggregate();
this.submitForm.password = ''; }, 2000);
this.isBusinessFinished = true;
await this.model.queryProOrders();
this.toPage(this.page.raw.handover.aggregating.summary);
// uni.navigateBack({ delta: 2 });
// setTimeout(() => {
// uni.navigateBack({ delta: 2 });
// }, 2000);
// uni.showModal({
// title: this.$t('message.Pi_tip') as string,
// content: this.$t('message.Warehouse_Tip9') as string,
// confirmText: this.$t('message.workArea_Confirm') as string,
// showCancel: false,
// success: () => {
// this.toPage(this.page.raw.handover.aggregating.index);
// },
// });
// uni.navigateBack({ delta: 1 });
// model.clearProOrderResultList();
} }
} }
}); });
} }
async onAggregate() {
this.amountForm.amount = '';
this.submitForm.receiver = '';
this.submitForm.receiverName = '';
this.submitForm.password = '';
this.isBusinessFinished = true;
await this.model.queryProOrder(this.model.isFormChange);
await this.model.queryProOrderResult(this.model.param);
await this.model.queryAggregateList(this.model.orderOutIdListParams);
}
/** /**
* 解锁 * 解锁
*/ */

Loading…
Cancel
Save