| | |
| | | <view>物料名称:</view> |
| | | <view>物料规格:</view> |
| | | <view>采购订单:</view> |
| | | <view v-show='item.children.length===0'>入库数量:</view> |
| | | |
| | | <view>入库进度:</view> |
| | | <view>任务数量:</view> |
| | | <view>到货进度:</view> |
| | | <!-- <view>物料标签:</view> --> |
| | | <view v-show="!item.arrowType">物料数量:</view> |
| | | <view v-show="!item.arrowType">供方信息:</view> |
| | | <view v-show="!item.arrowType">采购批次:</view> |
| | | <view v-show="!item.arrowType">质量状态:</view> |
| | | </view> |
| | | <view class="flex_column contentFont"> |
| | | <view>{{item.partcode}}</view> |
| | |
| | | <view class="ellipsis" style="width: 460rpx;"> |
| | | {{item.partspec?item.partspec:'/'}} |
| | | </view> |
| | | <view>{{item.ordercode}}</view> |
| | | <view>{{ordercode}}</view> |
| | | |
| | | <view v-show='item.children.length===0'> |
| | | <u--input placeholder="请输入" border="surround" min='1' |
| | | v-model="item.countInquantity2"></u--input> |
| | | </view> |
| | | |
| | | |
| | | <view style="height: 50rpx;display: flex;align-items: center;"> |
| | | <u-line-progress :percentage="(item.hqty/item.hplanqty)*100" |
| | | {{parseFloat(item.countInquantity)}} |
| | | </view> |
| | | |
| | | <view>{{ parseFloat(item.quantity)}}</view> |
| | | |
| | | <view style="height: 50rpx;display: flex;align-items: center;"> |
| | | <u-line-progress |
| | | :percentage="(item.countarrivalquantity/item.quantity)*100" |
| | | height="12" :showText='false'></u-line-progress> |
| | | <view style="margin-left: 6rpx; color:#2979FF"> |
| | | {{item.hqty}} |
| | | {{parseFloat(item.countarrivalquantity)}} |
| | | </view> |
| | | <view> |
| | | / |
| | | </view> |
| | | <view> |
| | | {{item.hplanqty}} PCS |
| | | </view> |
| | | </view> |
| | | <!-- <view>还像还没返回</view> --> |
| | | <view v-show="!item.arrowType">{{item.hqty}}</view> |
| | | <view v-show="!item.arrowType">{{item.customername}}</view> |
| | | <view v-show="!item.arrowType">/</view> |
| | | <view v-show="!item.arrowType"> |
| | | <view v-if="!item.qualitystatus">/</view> |
| | | <view v-else style="display: flex;align-items: center;"> |
| | | |
| | | <u-icon name="tags-fill" color="green" size="20" |
| | | v-if="item.qualitystatus==='CS'"></u-icon> |
| | | <view style="margin-left: 10rpx;" |
| | | v-if="item.qualitystatus==='CS'">免检</view> |
| | | |
| | | <u-icon name="checkmark-circle-fill" color="#55ff00" size="20" |
| | | v-if="item.qualitystatus==='OK'"></u-icon> |
| | | <view style="margin-left: 10rpx;" |
| | | v-if="item.qualitystatus==='OK'">合格</view> |
| | | |
| | | <u-icon name="close-circle-fill" color="#FF0000" size="20" |
| | | v-if="item.qualitystatus==='NG'"></u-icon> |
| | | <view style="margin-left: 10rpx;" |
| | | v-if="item.qualitystatus==='NG'">不合格</view> |
| | | |
| | | <u-icon name="more-circle-fill" color="#55aaff" size="20" |
| | | v-if="item.qualitystatus==='TS'"></u-icon> |
| | | <view style="margin-left: 10rpx;" |
| | | v-if="item.qualitystatus==='TS'">待检</view> |
| | | |
| | | {{parseFloat(item.quantity)}} PCS |
| | | </view> |
| | | </view> |
| | | |
| | |
| | | </view> |
| | | |
| | | |
| | | <view class="head_block" v-show="!item.arrowType"> |
| | | <view class="head_block"> |
| | | <view class="head_left"> |
| | | <view class="head_bar"></view> |
| | | <view class="head_title" style="font-weight: bold;"> |
| | |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="flex_between marginBottom20 marginLeft20 marginTop20" |
| | | v-show="!item.arrowType"> |
| | | <view class="flex_between marginBottom20 marginLeft20 marginTop20"> |
| | | <view style="display: flex;"> |
| | | <view class="flex_column titleFont"> |
| | | <view>库位信息:</view> |
| | |
| | | </view> |
| | | |
| | | |
| | | <view style="display: flex;justify-content: center;margin : 10rpx; 0"> |
| | | |
| | | |
| | | |
| | | <view class="flex_column borderSet" v-if='item.children.length>0' |
| | | :style="{'borderBottom':ind===item.children.length-1?' 1px blue dotted':'none'}" |
| | | v-for="(it,ind) in item.children" :key="item.hbarcode" v-show="!item.arrowType"> |
| | | |
| | | <!-- <u-gap height="2" style="width: 90%;margin: auto;" bgColor="#eff0f1"></u-gap> --> |
| | | |
| | | <view class="head_block" style="position: absolute;margin: 38rpx 0 0 0;"> |
| | | <view class="head_left"> |
| | | <view class="head_bar"></view> |
| | | <view class="head_title" style="font-weight: bold;"> |
| | | 标签信息 |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | |
| | | <view class="orderNumber" style="width: 80rpx;margin-left:0" :key="it.hbarcode"> |
| | | {{(index+1).toString().padStart(2,0)}}-{{ind+1}} |
| | | </view> |
| | | |
| | | <!-- v-show="item.children.length>1" --> |
| | | <view class="trash" @click="trashChildrenClick(index,ind)"> |
| | | <u-icon name="trash" size='20'></u-icon> |
| | | </view> |
| | | |
| | | <view v-show="item.children.length===1" style="width: 48rpx;height: 48rpx;"> |
| | | </view> |
| | | |
| | | |
| | | |
| | | <view class="flex_between marginBottom20 marginLeft20 marginTop20"> |
| | | <view style="display: flex;"> |
| | | <view class="flex_column titleFont"> |
| | | |
| | | <view>物料标签:</view> |
| | | <view>到货单号:</view> |
| | | <view>物料数量:</view> |
| | | <view>供方信息:</view> |
| | | <view>采购批次:</view> |
| | | <view>质量状态:</view> |
| | | </view> |
| | | <view class="flex_column contentFont"> |
| | | |
| | | <view>{{it.hbarcode?it.hbarcode:'/'}}</view> |
| | | <view>{{it.hbillno?it.hbillno:'/'}}</view> |
| | | <view>{{it.hqty}}</view> |
| | | <view>{{it.hcustomername}}</view> |
| | | <view>/</view> |
| | | <view> |
| | | <view v-if="!it.qstatus">/</view> |
| | | <view v-else style="display: flex;align-items: center;"> |
| | | |
| | | <u-icon name="tags-fill" color="green" size="20" |
| | | v-if="it.qstatus==='CS'"></u-icon> |
| | | <view style="margin-left: 10rpx;" v-if="it.qstatus==='CS'"> |
| | | 免检</view> |
| | | |
| | | <u-icon name="checkmark-circle-fill" color="#55ff00" |
| | | size="20" v-if="it.qstatus==='OK'"></u-icon> |
| | | <view style="margin-left: 10rpx;" v-if="it.qstatus==='OK'"> |
| | | 合格</view> |
| | | |
| | | <u-icon name="close-circle-fill" color="#FF0000" size="20" |
| | | v-if="it.qstatus==='NG'"></u-icon> |
| | | <view style="margin-left: 10rpx;" v-if="it.qstatus==='NG'"> |
| | | 不合格</view> |
| | | |
| | | <u-icon name="more-circle-fill" color="#55aaff" size="20" |
| | | v-if="it.qstatus==='TS'"></u-icon> |
| | | <view style="margin-left: 10rpx;" v-if="it.qstatus==='TS'"> |
| | | 待检</view> |
| | | |
| | | </view> |
| | | </view> |
| | | |
| | | </view> |
| | | </view> |
| | | |
| | | </view> |
| | | |
| | | </view> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | <view v-show='item.children.length>0' |
| | | style="display: flex;justify-content: center;margin : 10rpx; 0"> |
| | | <view class="arrowClass" |
| | | @click="item.arrowType?arrowDownClick(item):arrowUpClick(item)"> |
| | | <u-icon :name="item.arrowType?'arrow-down':'arrow-up'" color="#c8c8c8" |
| | |
| | | </view> |
| | | |
| | | <u-gap height="10" v-if="index!==purchorderArr.length-1" bgColor="#eff0f1"></u-gap> |
| | | |
| | | |
| | | |
| | | </view> |
| | |
| | | |
| | | onLoad(option) { |
| | | this.getMesAppPurchInStorSelectCGOrderPart(option.ordercode) |
| | | this.ordercode = option.ordercode |
| | | }, |
| | | |
| | | onPullDownRefresh() { |
| | |
| | | columns: [], |
| | | columnsData: [], |
| | | wareHouseLocationArr: [], //仓库库位数组 |
| | | isDisabledSubmitButton: false |
| | | isDisabledSubmitButton: false, |
| | | ordercode: '', //采购订单 |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | i.arrowType = ind !== 0 |
| | | i.lcationcode = '' //库位 |
| | | i.stockcode = '' //仓库 |
| | | i.countInquantity2 = parseFloat(i.quantity) - parseFloat(i.countInquantity) + |
| | | parseFloat(i.countreturnquantity) |
| | | |
| | | console.log(i.countInquantity) |
| | | }) |
| | | this.purchorderArr = res.data |
| | | this.purchorderObj = this.purchorderArr[0] |
| | |
| | | val.arrowType = true |
| | | this.$forceUpdate() |
| | | }, |
| | | trashChildrenClick(index, ind) { |
| | | this.purchorderArr[index].children.splice(ind, 1) |
| | | if (this.purchorderArr[index].children.length > 0) { |
| | | let sum = 0 |
| | | this.purchorderArr[index].children.forEach(i => { |
| | | sum += parseFloat(i.hqty) |
| | | }) |
| | | this.purchorderArr[index].countInquantity2 = sum |
| | | } |
| | | }, |
| | | async submit() { |
| | | const data1 = { |
| | | username: uni.getStorageSync("username") |
| | |
| | | if (ind > -1) { //说明有未填写的库位信息 |
| | | return this.$u.toast('第' + (ind + 1) + '个的库位信息未填写') |
| | | } |
| | | console.log(this.wareHouseLocationArr.flat()) |
| | | |
| | | this.purchorderArr.forEach(i => { |
| | | |
| | | let count = 0 |
| | | |
| | | this.purchorderArr.forEach((i, index) => { |
| | | |
| | | if (parseFloat(i.countInquantity2) <= 0) { |
| | | return count = index + 1 |
| | | } |
| | | if (parseFloat(i.countInquantity2) > parseFloat(i.quantity) - parseFloat(i |
| | | .countInquantity) + |
| | | parseFloat(i.countreturnquantity)) { |
| | | return count = index + 1 |
| | | } |
| | | |
| | | |
| | | if (i.children) { |
| | | i.children.forEach(j => { |
| | | j.lactioncode = this.purchorderObj.lcationname2 |
| | | j.housecode = this.purchorderObj.stockname2 |
| | | j.harcodelocation = 'IN' |
| | | }) |
| | | } |
| | | |
| | | data2.push({ |
| | | "hbarcode": "", |
| | | "hbillno": "", |
| | | "hqty": i.hqty, |
| | | "hcustomercode": i.customercode, |
| | | "hdeptcode": i.departmentcode, |
| | | "hsourceid": i.hsourceid, |
| | | "hsourcebillno": i.hsourcebillno, |
| | | "sbid": i.sbid, |
| | | "partcode": i.partcode, |
| | | "partname": i.partname, |
| | | "partspec": i.partspec, |
| | | "unitcode": i.unitcode, |
| | | "hsourceid": i.orderid, |
| | | "hsourcebillno": i.ordercode, |
| | | "unitname": i.unitname, |
| | | "quantity": i.quantity, |
| | | "countarrivalquantity": i.countarrivalquantity, |
| | | "countInquantity": i.countInquantity2, |
| | | "countreturnquantity": i.countreturnquantity, |
| | | "lactioncode": this.purchorderObj.lcationname2, |
| | | "lactionname": this.purchorderObj.lcationcode, |
| | | "housecode": this.purchorderObj.stockname2, |
| | | "housename": this.purchorderObj.stockcode, |
| | | "deptcode": i.deptcode, |
| | | "deptname": i.deptname, |
| | | children: i.children |
| | | |
| | | "stockcode": this.purchorderObj.stockname2, |
| | | "lcationcode": this.purchorderObj.lcationname2 |
| | | // "hbarcode": "", |
| | | // "hbillno": "", |
| | | // "hqty": i.hqty, |
| | | // "hcustomercode": i.customercode, |
| | | // "hdeptcode": i.departmentcode, |
| | | // "partcode": i.partcode, |
| | | // "unitcode": i.unitcode, |
| | | // "hsourceid": i.orderid, |
| | | // "hsourcebillno": i.ordercode, |
| | | |
| | | // "stockcode": this.purchorderObj.stockname2, |
| | | // "lcationcode": this.purchorderObj.lcationname2 |
| | | }) |
| | | }) |
| | | |
| | | // console.log(JSON.stringify(data2)) |
| | | if (count > 0) { |
| | | return this.$u.toast('第' + count + '个物料的入库数量错误!') |
| | | } |
| | | |
| | | console.log(JSON.stringify(data2)) |
| | | |
| | | const res = await MesAppPurchInStorSave(this.global.formatData( |
| | | data1), data2) |
| | |
| | | display: block; |
| | | } |
| | | |
| | | .borderSet { |
| | | width: 100%; |
| | | border-top: 1px blue dotted; |
| | | border-left: 1px blue dotted; |
| | | border-right: 1px blue dotted; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | .orderNumber { |
| | | width: 60rpx; |
| | | height: 40rpx; |
| | | // margin: -22rpx 0 0 -30rpx; |
| | | background-color: #d3daf9; |
| | | color: #2979FF; |
| | | // background-color: #d3daf9; |
| | | background-color: #2979FF; |
| | | color: #fff; |
| | | font-size: 26rpx; |
| | | padding: 4rpx 0 0 10rpx; |
| | | border-radius: 0 0 90% 0; |
| | | // padding: 4rpx 0 0 10rpx; |
| | | border-radius: 8rpx; |
| | | margin-left: calc(100% - 60rpx); |
| | | display: flex; |
| | | justify-content: center; |
| | | } |
| | | |
| | | .trash { |
| | | width: 48rpx; |
| | | height: 48rpx; |
| | | margin: -26rpx 0 0 646rpx; |
| | | margin: 20rpx 0rpx -40rpx 646rpx; |
| | | background-color: #d3daf9; |
| | | font-size: 26rpx; |
| | | padding: 6rpx 0 0 10rpx; |
| | |
| | | // border-radius: 10rpx; |
| | | height: 56rpx; |
| | | } |
| | | |
| | | |
| | | |
| | | ::v-deep .u-input--radius { |
| | | padding: 0 !important; |
| | | border-bottom: 2rpx #ccc solid; |
| | | } |
| | | </style> |