到货登记,质量检验来料合并,不合格记录添加时间筛选
parent
60d0181c7a
commit
5216a337f8
@ -0,0 +1,304 @@
|
||||
<template>
|
||||
<view class="page-product-receipt">
|
||||
<view class="header" :style="{ backgroundColor: `rgba(250, 53, 52, ${scrollTop / 100})` }">
|
||||
<view class="left">
|
||||
<u-icon class="icon" name="arrow-left" @click="uni.navigateBack({})" />
|
||||
</view>
|
||||
<view class="title">采购收获(SRM)详细</view>
|
||||
<view class="right"></view>
|
||||
</view>
|
||||
|
||||
<view class="scroll">
|
||||
<view v-for="item in orderNoItemListdes" :key="item.id">
|
||||
<u-form style="margin-top: 10rpx" class="form2">
|
||||
<view class="list">
|
||||
<view class="row-list">
|
||||
<view class="list-item"> 物资编码: </view>
|
||||
<view>{{ item.materialCode }} </view>
|
||||
</view>
|
||||
<view class="row-list">
|
||||
<view class="list-item"> 物料描述: </view>
|
||||
<view> {{ item.materialDesc }} </view>
|
||||
</view>
|
||||
<view class="row-list">
|
||||
<view class="row-list-item">
|
||||
<view class="list-item">数量: </view>
|
||||
<view> {{ item.amount }} </view>
|
||||
</view>
|
||||
<view class="row-list-item">
|
||||
<view class="list-item"> 单位: </view>
|
||||
<view>{{ item.userDefined4 }} </view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="row-list">
|
||||
<view class="list-item"> 托盘号: </view>
|
||||
<view>{{ item.sn }} </view>
|
||||
</view>
|
||||
</view>
|
||||
</u-form>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
<script lang="ts">
|
||||
import { Component } from 'vue-property-decorator';
|
||||
import { BasePage } from '@/components/base/page';
|
||||
import jPicker from '@/components/J-Picker/jPicker.vue';
|
||||
import model from './model';
|
||||
//import { session } from '@/store/modules/session';
|
||||
@Component({
|
||||
components: {
|
||||
jPicker,
|
||||
},
|
||||
})
|
||||
export default class ArrivalRegistration extends BasePage {
|
||||
model = model;
|
||||
list: any = [{ id: 1 }, { id: 2 }, { id: 3 }, { id: 4 }];
|
||||
form3: any = {};
|
||||
// remove: any = {};
|
||||
// async onReady() {
|
||||
// await this.model.queryLocation();
|
||||
// this.remove = this.model.WlList[0];
|
||||
// }
|
||||
// selectItem(e: any) {
|
||||
// this.remove = e.pickerName;
|
||||
// }
|
||||
orderNo: any = '';
|
||||
border = true;
|
||||
height = 100;
|
||||
autoHeight = true;
|
||||
imgList: any = [];
|
||||
imgUrlList: any = [];
|
||||
isqualified = [
|
||||
{
|
||||
label: '合格',
|
||||
value: '1',
|
||||
},
|
||||
{
|
||||
label: '不合格',
|
||||
value: '0',
|
||||
},
|
||||
];
|
||||
detailsinfo: any = '';
|
||||
orderNoItemListdes: any = '';
|
||||
productCodeList: any = {};
|
||||
histroyItem: any = {};
|
||||
async onLoad(options) {
|
||||
let str = decodeURIComponent(options.listitem);
|
||||
if (str) {
|
||||
this.detailsinfo = JSON.parse(str);
|
||||
let query = {
|
||||
id: this.detailsinfo.id,
|
||||
factoryCode: this.session.FactoryCode,
|
||||
};
|
||||
await this.model.PurchaseOrderdetailPda(query);
|
||||
this.orderNoItemListdes = this.model.orderNoItemListdes;
|
||||
}
|
||||
}
|
||||
selectProductCode(e: any) {
|
||||
this.model.orderNoItemList.forEach((item: any) => {
|
||||
if (item.productCode == e.pickerName.value) {
|
||||
this.histroyItem = item;
|
||||
}
|
||||
});
|
||||
}
|
||||
barcode: any = '';
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.page-product-receipt {
|
||||
background: #f2f2f2 linear-gradient(0deg, #f2f2f2 0%, #f8262c 51%, #d9001b 100%) no-repeat;
|
||||
background-size: 100% 600rpx;
|
||||
padding: 118rpx 30rpx 162rpx;
|
||||
min-height: 100%;
|
||||
|
||||
.header {
|
||||
position: fixed;
|
||||
top: 0rpx;
|
||||
left: 0;
|
||||
right: 0;
|
||||
z-index: 99;
|
||||
display: flex;
|
||||
height: 120rpx;
|
||||
line-height: 88rpx;
|
||||
color: #fff;
|
||||
font-size: 34rpx;
|
||||
font-weight: 500;
|
||||
text-align: center;
|
||||
padding: 45rpx 0rpx 0rpx;
|
||||
|
||||
.title {
|
||||
flex: 3;
|
||||
}
|
||||
|
||||
.left,
|
||||
.right {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.icon {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 88rpx;
|
||||
height: 88rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.scroll {
|
||||
// margin-top: 120rpx;
|
||||
// padding-left: 30rpx;
|
||||
// padding-right: 16rpx;
|
||||
// margin-bottom: 20rpx;
|
||||
// overflow: scroll;
|
||||
// padding-top: 20rpx;
|
||||
.form2 {
|
||||
background-color: #fff;
|
||||
padding: 25rpx 25rpx 25rpx;
|
||||
border-radius: 10rpx;
|
||||
box-shadow: 0 0 20rpx 0 rgba(128, 128, 128, 0.2);
|
||||
|
||||
.row-list {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
.row-list-item {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
width: 40%;
|
||||
}
|
||||
.list-item {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.righttitle {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
|
||||
.boder-icon-rigth {
|
||||
border: 1rpx solid #fa3534;
|
||||
width: 130rpx;
|
||||
text-align: center;
|
||||
background: #fa3534;
|
||||
color: #ffffff;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.zhuangtai {
|
||||
background: #a7a0a04a;
|
||||
width: 224rpx;
|
||||
margin-right: -27rpx;
|
||||
border: 2rpx solid #a7a0a04a;
|
||||
border-radius: 12rpx;
|
||||
text-align: center;
|
||||
margin-bottom: 10rpx;
|
||||
}
|
||||
|
||||
.zhuangtai[data-state='1'] {
|
||||
color: green;
|
||||
}
|
||||
|
||||
.zhuangtai[data-state='0'] {
|
||||
color: blue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.bottom-bar {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
z-index: 99;
|
||||
background: #ffffff;
|
||||
box-shadow: 0 1rpx 20rpx 0 rgba(128, 128, 128, 0.2);
|
||||
padding: 20rpx;
|
||||
}
|
||||
|
||||
.button-bar {
|
||||
}
|
||||
|
||||
.photoList {
|
||||
display: flex;
|
||||
padding-top: 12rpx;
|
||||
|
||||
.chooseBtn {
|
||||
width: 202rpx;
|
||||
height: 202rpx;
|
||||
background: #fafafa;
|
||||
border-radius: 12rpx;
|
||||
border: 2rpx dashed #e2e2e2;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
||||
.inner {
|
||||
text-align: center;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.desc {
|
||||
font-size: 28rpx;
|
||||
font-weight: 400;
|
||||
color: #24252a;
|
||||
line-height: 40rpx;
|
||||
}
|
||||
|
||||
.img {
|
||||
width: 50rpx;
|
||||
height: 50rpx;
|
||||
margin-bottom: 6rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.photoBox {
|
||||
width: 202rpx;
|
||||
height: 202rpx;
|
||||
background: #fafafa;
|
||||
border-radius: 12rpx;
|
||||
position: relative;
|
||||
|
||||
.closeBtn {
|
||||
position: absolute;
|
||||
top: -12rpx;
|
||||
right: -12rpx;
|
||||
z-index: 2;
|
||||
width: 36rpx;
|
||||
height: 36rpx;
|
||||
|
||||
.img {
|
||||
width: 36rpx;
|
||||
height: 36rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.img {
|
||||
width: 202rpx;
|
||||
height: 202rpx;
|
||||
border-radius: 12rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.itemBox {
|
||||
flex: 0 0 202rpx;
|
||||
margin-right: 20rpx;
|
||||
|
||||
&:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
// /deep/ .remarksBox textarea {
|
||||
// font-size: 24rpx;
|
||||
// }
|
||||
}
|
||||
}
|
||||
</style>
|
@ -0,0 +1,130 @@
|
||||
import { 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';
|
||||
@Module({
|
||||
namespaced: true,
|
||||
dynamic: true,
|
||||
store,
|
||||
name: 'page.raw.ArrivalRegistration',
|
||||
})
|
||||
export class ArrivalRegistration extends VuexModule {
|
||||
WlList = [];
|
||||
orderNoItemList: any = [];
|
||||
orderNoItemListdes: any = [];
|
||||
@MutationAction
|
||||
async PurchaseOrderPda(data: any) {
|
||||
const result: any = await http.post(url.lanjuwms.raw.ReceiveSRM.PurchaseOrderPda, data);
|
||||
let orderNoItemList: any = [];
|
||||
if (result.data.length) {
|
||||
orderNoItemList = result.data.map((item: any) => ({
|
||||
label: item.materialDesc,
|
||||
value: item.materialCode,
|
||||
...item,
|
||||
}));
|
||||
} else {
|
||||
orderNoItemList = [];
|
||||
}
|
||||
return { orderNoItemList };
|
||||
}
|
||||
Alreadycode: any = '';
|
||||
ProcureOrderAlreadylist: any = '';
|
||||
@MutationAction
|
||||
async selectOdsProcureOrderAlready(data: any) {
|
||||
const result: any = await http.post(url.lanjuwms.raw.ReceiveSRM.selectOdsProcureOrderAlready, data);
|
||||
const Alreadycode = result.code;
|
||||
const ProcureOrderAlreadylist = result.data;
|
||||
return { Alreadycode, ProcureOrderAlreadylist };
|
||||
}
|
||||
sapPurchasecode: any = '';
|
||||
@MutationAction
|
||||
async sapPurchaseOrderSync(data: any) {
|
||||
const result: any = await http.post(url.lanjuwms.raw.ReceiveSRM.sapPurchaseOrderSync, data);
|
||||
const sapPurchasecode = result.code;
|
||||
return { sapPurchasecode };
|
||||
}
|
||||
deliverycode: any = '';
|
||||
@MutationAction
|
||||
async getDeliveryNoteDetail(data: any) {
|
||||
const result: any = await http.post(url.lanjuwms.raw.ReceiveSRM.getDeliveryNoteDetail, data);
|
||||
const deliverycode = result.code;
|
||||
return { deliverycode };
|
||||
}
|
||||
SubmitCode: any = '';
|
||||
@MutationAction
|
||||
async PurchaseOrderdeliPda(data: any) {
|
||||
const result: any = await http.post(url.lanjuwms.raw.ReceiveSRM.PurchaseOrderdeliPda, data);
|
||||
const SubmitCode: [] = result;
|
||||
return { SubmitCode };
|
||||
}
|
||||
|
||||
@MutationAction
|
||||
async PurchaseOrderdetailPda(data: any) {
|
||||
const result: any = await http.post(url.lanjuwms.raw.ReceiveSRM.PurchaseOrderdetailPda, data);
|
||||
const orderNoItemListdes = result.data;
|
||||
return { orderNoItemListdes };
|
||||
}
|
||||
DictTypeList: any = [];
|
||||
@MutationAction
|
||||
async Stashlist() {
|
||||
const result: any = await http.post(url.lanjuwms.raw.ReceiveSRM.list, {
|
||||
factoryCode: session.FactoryCode,
|
||||
});
|
||||
const DictTypeListoild: [] = result.data;
|
||||
const DictTypeList = DictTypeListoild.map((item: any) => ({
|
||||
label: item.warehouseName,
|
||||
value: item.warehouseCode,
|
||||
...item,
|
||||
}));
|
||||
return { DictTypeList };
|
||||
}
|
||||
//库区查询
|
||||
wacodelist: any = [];
|
||||
@MutationAction
|
||||
async WarehouseList(data: any) {
|
||||
const result: any = await http.post(url.lanjuwms.raw.ReceiveSRM.WarehouseList, data);
|
||||
const oldwacode = result.data;
|
||||
let wacodelist = oldwacode.map((item: any) => ({
|
||||
label: item.areaDesc,
|
||||
value: item.areaCode,
|
||||
...item,
|
||||
}));
|
||||
if (!wacodelist.length) {
|
||||
wacodelist = [];
|
||||
}
|
||||
return { wacodelist };
|
||||
}
|
||||
submitcode: any = '';
|
||||
@MutationAction
|
||||
async OnSubmit(data: any) {
|
||||
const result: any = await http.post(url.lanjuwms.raw.ReceiveSRM.PurchaseOrderdeliPdaConfirm, data);
|
||||
const submitcode = result.code;
|
||||
return {
|
||||
submitcode,
|
||||
};
|
||||
}
|
||||
Arrivalcode: any = '';
|
||||
Arrivalmsg: any = '';
|
||||
@MutationAction
|
||||
async ArrivalRegistration(data: any) {
|
||||
const result: any = await http.post(url.lanjuwms.raw.ReceiveSRM.ArrivalRegistration, data);
|
||||
const Arrivalcode = result.code;
|
||||
const Arrivalmsg = result.msg;
|
||||
return {
|
||||
Arrivalcode,
|
||||
Arrivalmsg,
|
||||
};
|
||||
}
|
||||
singcode: any = '';
|
||||
singobj: any = {};
|
||||
@MutationAction
|
||||
async selectArrivalRegistration(data: any) {
|
||||
const result: any = await http.post(url.lanjuwms.raw.ReceiveSRM.selectArrivalRegistration, data);
|
||||
const singcode = result.code;
|
||||
const singobj = result.data;
|
||||
return { singcode, singobj };
|
||||
}
|
||||
}
|
||||
|
||||
export default getModule(ArrivalRegistration);
|
Loading…
Reference in New Issue