成品报废,领用借用明细

master
guoshuang 4 years ago
parent 449d5ed8b4
commit b6e9078d1b

@ -288,11 +288,14 @@ export default {
Scrap_ScrapNo: '报废单',
Scrap_Tip: '请输入报废单号',
Scrap_ScrapDetails: '报废明细',
operatingTime: '操作时间',
finishedProductReport: '报废明细',
//领用借用
borrow_OrderNo: '单号',
borrow_Tip: '请输入单号',
borrow_CollectionAndBorrowingDetails: '领用借用明细',
usingDetail: '领用借用明细',
//成品主菜单
EnterTheWarehouse: '入库',

@ -288,11 +288,14 @@ export default {
Scrap_ScrapNo: 'Scrap No',
Scrap_Tip: 'Please input scrap No',
Scrap_ScrapDetails: 'Scrap detail',
operatingTime: 'operatingTime',
finishedProductReport: 'Scrap details',
//领用借用
borrow_OrderNo: 'Order No',
borrow_Tip: 'Please input order No',
borrow_CollectionAndBorrowingDetails: 'Cost center detail',
usingDetail: 'borrowing details',
//成品主菜单
// EnterTheWarehouse: 'Enter The Warehouse',

@ -770,6 +770,22 @@
"navigationBarTextStyle": "white" // white-black-
}
},
{
"path": "pages/product/warehouse/wholeScrap/detail",
"style": {
"navigationBarTitleText": "成品报废明细",
"navigationStyle": "custom", //
"navigationBarTextStyle": "white" // white-black-
}
},
{
"path": "pages/product/warehouse/wholeCollect/detail",
"style": {
"navigationBarTitleText": "成品领用借用明细",
"navigationStyle": "custom", //
"navigationBarTextStyle": "white" // white-black-
}
},
{
"path": "pages/demo/index",
"style": {

@ -0,0 +1,48 @@
/**
*
*/
import vm from "@/main";
export const headers = [
//条码号
{
label: vm.$t("message.product_barCode"),
key: "barCode",
width: 300,
},
//单号
{
label: vm.$t("message.borrow_OrderNo"),
key: "proMoveCode",
width: 300,
},
//型号编码
{
label: vm.$t("message.ModelCode"),
key: "materialCode",
width: 300,
},
//型号名称
{
label: vm.$t("message.ModelName"),
key: "materialDesc",
width: 300,
},
//源库位
{
label: vm.$t("message.SourceLocation"),
key: "wlFromCode",
width: 300,
},
//目标库位
{
label: vm.$t("message.Warehouse_TargetLocation"),
key: "wlToCode",
width: 300,
},
// //操作时间
{
label: vm.$t("message.operatingTime"),
key: "moveTime",
width: 300,
},
];

@ -0,0 +1,182 @@
<template>
<view class="page-receipt-detail">
<view class="header">
<view class="left">
<u-icon class="icon" name="arrow-left" @click="uni.navigateBack()" />
</view>
<view class="title">{{ $t('message.usingDetail') }}</view>
<view class="right"></view>
</view>
<view class="table-wrapper">
<wyb-table
class="table"
ref="table"
width="100%"
enable-check="multiple"
show-left-and-right-border
:headers="headers"
:contents="model.materielList"
:show-vert-border="false"
></wyb-table>
</view>
<view class="bottom-bar">
<div class="extra">
<u-row class="bottom-info">
<u-col :span="12"
>{{ $t('message.po_Total') }} {{ model.materielList.length }}
{{ $t('message.po_Records') }}</u-col
>
<!-- <u-col :span="2">数量</u-col>-->
<!-- <u-col :span="4"><u-input v-model="locationCode"></u-input></u-col>-->
<!-- <u-col :span="3">-->
<!-- <u-button-->
<!-- size="mini"-->
<!-- type="warning"-->
<!-- :loading="$wait.is('*changeOrderInLocation')"-->
<!-- @click="changeLocation"-->
<!-- >-->
<!-- 拒收-->
<!-- </u-button>-->
<!-- </u-col>-->
</u-row>
</div>
<!-- <div class="container">-->
<!-- <u-row>-->
<!-- <u-col :span="4">-->
<!-- <u-button type="primary" @click="model.checkAllOrderInInfoList(!model.isCheckedAll)">-->
<!-- {{-->
<!-- model.isCheckedAll-->
<!-- ? this.$t('message.po_noSelectAll')-->
<!-- : this.$t('message.po_SelectAll')-->
<!-- }}-->
<!-- </u-button>-->
<!-- </u-col>-->
<!-- <u-col :span="4">-->
<!-- <u-button type="success" :loading="$wait.is('*submitOrderInEnter')" @click="onSubmit">-->
<!-- {{ $t('message.po_Submit') }}-->
<!-- </u-button>-->
<!-- </u-col>-->
<!-- <u-col :span="4">-->
<!-- <u-button @click="uni.navigateBack()">{{ $t('message.po_Return') }}</u-button>-->
<!-- </u-col>-->
<!-- </u-row>-->
<!-- </div>-->
</view>
</view>
</template>
<script lang="ts">
import { Component } from 'vue-property-decorator';
import { BasePage } from '@/components/base/page';
import model from './model';
import { headers } from './config';
@Component
export default class RawReceiptDetail extends BasePage {
/**
* 页面Module
*/
model = model;
/**
* 库位
*/
locationCode = '';
/**
* 表头
*/
headers = headers;
/**
* 逐条修改
*/
// changeLocation() {
// if (!this.model.hasChecked) {
// uni.showToast({
// icon: 'none',
// title: '',
// });
// return;
// }
// this.model.changeOrderInLocation(this.locationCode);
// }
/**
* 提交
*/
// async onSubmit() {
// await this.model.submitOrderInEnter();
// this.locationCode = '';
// }
}
</script>
<style lang="scss" scoped>
.page-receipt-detail {
background: #f2f2f2 linear-gradient(0deg, #f2f2f2 0%, #4a78ea 51%, #1753ea 100%) no-repeat;
background-size: 100% 600rpx;
padding: 30rpx;
min-height: 100%;
padding-top: 118rpx;
.header {
position: fixed;
top: 36rpx;
left: 0;
right: 0;
display: flex;
height: 88rpx;
line-height: 88rpx;
color: #fff;
font-size: 34rpx;
font-weight: 500;
text-align: center;
.title {
flex: 3;
}
.left,
.right {
flex: 1;
}
.icon {
display: flex;
justify-content: center;
align-items: center;
width: 88rpx;
height: 88rpx;
}
}
.table-wrapper {
background-color: #fff;
}
.form {
background-color: #fff;
padding: 40rpx;
border-radius: 10rpx;
}
.bottom-bar {
z-index: 21;
position: fixed;
bottom: 0;
left: 0;
right: 0;
.container {
background: #ffffff;
box-shadow: 0 1rpx 20rpx 0 rgba(128, 128, 128, 0.2);
padding: 20rpx;
}
.extra {
background-color: #fff;
margin: 5px;
border-radius: 5px;
padding: 0 10px;
}
}
}
</style>

@ -46,7 +46,7 @@
<view class="bottom-bar">
<u-row class="button-bar">
<u-col :span="4">
<u-button type="primary" @click="onSubmit">{{ $t('message.detailed') }}</u-button>
<u-button type="primary" @click="bill">{{ $t('message.detailed') }}</u-button>
</u-col>
<u-col :span="4">
<u-button type="primary" @click="onSubmit">{{ $t('message.InventoryFinish') }}</u-button>
@ -192,6 +192,18 @@ export default class ProductCheckReceipt extends BasePage {
this.form.order3 = '';
this.form.barcode = '';
}
//
async bill() {
if (!this.form.order3) {
uni.showToast({
icon: 'none',
title: this.$t('message.Commission_tips1') as string,
});
return;
}
await this.model.queryDetailed(this.form.order3);
this.toPage(this.page.product.warehouse.wholeCollect.stoOutboundDetail);
}
}
</script>
<style lang="scss" scoped>

@ -30,6 +30,7 @@ export class wholeCollect extends VuexModule {
code: any = '';
recordsList: any = [];
choiceCodeList: any = [];
materielList: any = [];
/**
*
*/
@ -152,6 +153,21 @@ export class wholeCollect extends VuexModule {
});
return kw;
}
/**
*
* 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 };
}
}
export default getModule(wholeCollect);

@ -0,0 +1,48 @@
/**
*
*/
import vm from "@/main";
export const headers = [
//条码号
{
label: vm.$t("message.product_barCode"),
key: "barCode",
width: 300,
},
//单号
{
label: vm.$t("message.Scrap_ScrapNo"),
key: "proMoveCode",
width: 300,
},
//型号编码
{
label: vm.$t("message.ModelCode"),
key: "materialCode",
width: 300,
},
//型号名称
{
label: vm.$t("message.ModelName"),
key: "materialDesc",
width: 300,
},
//源库位
{
label: vm.$t("message.SourceLocation"),
key: "wlFromCode",
width: 300,
},
//目标库位
{
label: vm.$t("message.Warehouse_TargetLocation"),
key: "wlToCode",
width: 300,
},
// //操作时间
{
label: vm.$t("message.operatingTime"),
key: "moveTime",
width: 300,
},
];

@ -0,0 +1,182 @@
<template>
<view class="page-receipt-detail">
<view class="header">
<view class="left">
<u-icon class="icon" name="arrow-left" @click="uni.navigateBack()" />
</view>
<view class="title">{{ $t('message.finishedProductReport') }}</view>
<view class="right"></view>
</view>
<view class="table-wrapper">
<wyb-table
class="table"
ref="table"
width="100%"
enable-check="multiple"
show-left-and-right-border
:headers="headers"
:contents="model.materielList"
:show-vert-border="false"
></wyb-table>
</view>
<view class="bottom-bar">
<div class="extra">
<u-row class="bottom-info">
<u-col :span="12"
>{{ $t('message.po_Total') }} {{ model.materielList.length }}
{{ $t('message.po_Records') }}</u-col
>
<!-- <u-col :span="2">数量</u-col>-->
<!-- <u-col :span="4"><u-input v-model="locationCode"></u-input></u-col>-->
<!-- <u-col :span="3">-->
<!-- <u-button-->
<!-- size="mini"-->
<!-- type="warning"-->
<!-- :loading="$wait.is('*changeOrderInLocation')"-->
<!-- @click="changeLocation"-->
<!-- >-->
<!-- 拒收-->
<!-- </u-button>-->
<!-- </u-col>-->
</u-row>
</div>
<!-- <div class="container">-->
<!-- <u-row>-->
<!-- <u-col :span="4">-->
<!-- <u-button type="primary" @click="model.checkAllOrderInInfoList(!model.isCheckedAll)">-->
<!-- {{-->
<!-- model.isCheckedAll-->
<!-- ? this.$t('message.po_noSelectAll')-->
<!-- : this.$t('message.po_SelectAll')-->
<!-- }}-->
<!-- </u-button>-->
<!-- </u-col>-->
<!-- <u-col :span="4">-->
<!-- <u-button type="success" :loading="$wait.is('*submitOrderInEnter')" @click="onSubmit">-->
<!-- {{ $t('message.po_Submit') }}-->
<!-- </u-button>-->
<!-- </u-col>-->
<!-- <u-col :span="4">-->
<!-- <u-button @click="uni.navigateBack()">{{ $t('message.po_Return') }}</u-button>-->
<!-- </u-col>-->
<!-- </u-row>-->
<!-- </div>-->
</view>
</view>
</template>
<script lang="ts">
import { Component } from 'vue-property-decorator';
import { BasePage } from '@/components/base/page';
import model from './model';
import { headers } from './config';
@Component
export default class RawReceiptDetail extends BasePage {
/**
* 页面Module
*/
model = model;
/**
* 库位
*/
locationCode = '';
/**
* 表头
*/
headers = headers;
/**
* 逐条修改
*/
// changeLocation() {
// if (!this.model.hasChecked) {
// uni.showToast({
// icon: 'none',
// title: '',
// });
// return;
// }
// this.model.changeOrderInLocation(this.locationCode);
// }
/**
* 提交
*/
// async onSubmit() {
// await this.model.submitOrderInEnter();
// this.locationCode = '';
// }
}
</script>
<style lang="scss" scoped>
.page-receipt-detail {
background: #f2f2f2 linear-gradient(0deg, #f2f2f2 0%, #4a78ea 51%, #1753ea 100%) no-repeat;
background-size: 100% 600rpx;
padding: 30rpx;
min-height: 100%;
padding-top: 118rpx;
.header {
position: fixed;
top: 36rpx;
left: 0;
right: 0;
display: flex;
height: 88rpx;
line-height: 88rpx;
color: #fff;
font-size: 34rpx;
font-weight: 500;
text-align: center;
.title {
flex: 3;
}
.left,
.right {
flex: 1;
}
.icon {
display: flex;
justify-content: center;
align-items: center;
width: 88rpx;
height: 88rpx;
}
}
.table-wrapper {
background-color: #fff;
}
.form {
background-color: #fff;
padding: 40rpx;
border-radius: 10rpx;
}
.bottom-bar {
z-index: 21;
position: fixed;
bottom: 0;
left: 0;
right: 0;
.container {
background: #ffffff;
box-shadow: 0 1rpx 20rpx 0 rgba(128, 128, 128, 0.2);
padding: 20rpx;
}
.extra {
background-color: #fff;
margin: 5px;
border-radius: 5px;
padding: 0 10px;
}
}
}
</style>

@ -54,7 +54,7 @@
<view class="bottom-bar">
<u-row class="button-bar">
<u-col :span="4">
<u-button type="primary">{{ $t('message.detailed') }}</u-button>
<u-button type="primary" @click="bill">{{ $t('message.detailed') }}</u-button>
</u-col>
<u-col :span="4">
<u-button type="primary" @click="onSubmit">{{ $t('message.InventoryFinish') }}</u-button>
@ -205,6 +205,18 @@ export default class productCheckReceipt extends BasePage {
this.form.order3 = '';
this.form.barcode = '';
}
//
async bill() {
if (!this.form.order3) {
uni.showToast({
icon: 'none',
title: this.$t('message.Commission_tips1') as string,
});
return;
}
await this.model.queryDetailed(this.form.order3);
this.toPage(this.page.product.warehouse.wholeScrap.stoOutboundDetail);
}
}
</script>

@ -31,6 +31,7 @@ export class wholeScrap extends VuexModule {
code: any = '';
recordsList: any = [];
choiceCodeList: any = [];
materielList: any = [];
/**
*
*/
@ -101,6 +102,21 @@ export class wholeScrap extends VuexModule {
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 };
}
@MutationAction
async queryScrapList(param: any) {

@ -419,6 +419,9 @@ export default class dnReceiptDom extends BasePage {
.material-right-code {
width: 80%;
height: 100%;
line-height: 100rpx;
text-align: left;
padding-left: 10px;
// line-height: 100rpx;
}
}

@ -420,6 +420,9 @@ export default class dnReceiptDom extends BasePage {
.material-right-code {
width: 80%;
height: 100%;
line-height: 100rpx;
text-align: left;
padding-left: 10px;
// line-height: 100rpx;
}
}

@ -40,9 +40,11 @@ export const page = {
},
wholeScrap: {
index: '/pages/product/warehouse/wholeScrap/index',
stoOutboundDetail: '/pages/product/warehouse/wholeScrap/detail',
},
wholeCollect: {
index: '/pages/product/warehouse/wholeCollect/index',
stoOutboundDetail: '/pages/product/warehouse/wholeCollect/detail',
},
MaterialInventory: {
index: '/pages/product/warehouse/MaterialInventory/index',

@ -192,6 +192,8 @@ export const url = {
list: '/wmspda/fg/listByOrder',
commit: '/wmspda/fg/confirmMove',
getCode: '/wmspda/fg/getCpMoveBatchNo',
//查询明细
queryListByMoveCode: '/wmspda/fg/queryListByMoveCode',
},
rowScrap: {
list: '/wmspda/fg/listByOrder',

Loading…
Cancel
Save