|
@@ -0,0 +1,773 @@
|
|
|
|
+<template>
|
|
|
|
+ <view class="container">
|
|
|
|
+ <view class="center">
|
|
|
|
+ <view class="title_b ">发运信息</view>
|
|
|
|
+ <view class="c-row ">
|
|
|
|
+ <text class="tit">合同编号</text>
|
|
|
|
+ <view class="con-list">
|
|
|
|
+ <text>{{WarehouseInOutInfo.contractNo}}</text>
|
|
|
|
+ </view>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="c-row ">
|
|
|
|
+ <text class="tit">货名</text>
|
|
|
|
+ <view class="con-list">
|
|
|
|
+ <text>{{WarehouseInOutInfo.goodsName}}</text>
|
|
|
|
+ </view>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="c-row ">
|
|
|
|
+ <text class="tit">发车净重(吨)</text>
|
|
|
|
+ <view class="con-list">
|
|
|
|
+ <text>{{WarehouseInOutInfo.startWeight}}</text>
|
|
|
|
+ </view>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="c-row ">
|
|
|
|
+ <text class="tit">车牌号</text>
|
|
|
|
+ <view class="con-list">
|
|
|
|
+ <text>{{WarehouseInOutInfo1.carNo}}</text>
|
|
|
|
+ </view>
|
|
|
|
+ </view>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="center">
|
|
|
|
+ <view class="title_c ">出库信息</view>
|
|
|
|
+ <view class="c-list">
|
|
|
|
+ <view class="c-row b-b">
|
|
|
|
+ <text class="tit">毛重(吨)</text>
|
|
|
|
+ <view style="color: #ff0000; padding-left: 10rpx;">*</view>
|
|
|
|
+ <view class="con-list">
|
|
|
|
+ <input placeholder-style="font-size:14px" placeholder="请输入毛重" name="input" v-model="WarehouseInOutInfo.grossWeight" @input="grossWeightInput"></input>
|
|
|
|
+ </view>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="c-row b-b">
|
|
|
|
+ <view class="tit">皮重(吨)</view>
|
|
|
|
+ <view style="color: #ff0000; padding-left: 10rpx;">*</view>
|
|
|
|
+ <view class="con-list">
|
|
|
|
+ <input placeholder-style="font-size:14px" placeholder="请输入皮重" name="input" v-model="WarehouseInOutInfo.tare"
|
|
|
|
+ @input="tareInput"></input>
|
|
|
|
+ </view>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="c-row b-b">
|
|
|
|
+ <text class="tit">净重(吨)</text>
|
|
|
|
+ <view class="con-list">
|
|
|
|
+ <text>{{numFilter(WarehouseInOutInfo.netWeight)}}</text>
|
|
|
|
+ </view>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="c-row b-b">
|
|
|
|
+ <text class="tit">仓库</text>
|
|
|
|
+ <view style="color: #ff0000; padding-left: 10rpx;">*</view>
|
|
|
|
+ <view class="con-list">
|
|
|
|
+ <text @click=''>{{WarehouseInOutInfo.warehouseName}}</text>
|
|
|
|
+ </view>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="c-row b-b">
|
|
|
|
+ <view class="title">仓位号</view>
|
|
|
|
+ <view style="color: #ff0000; padding-left: 10rpx;">*</view>
|
|
|
|
+ <view class="con-list">
|
|
|
|
+ <input placeholder-style="font-size:14px" placeholder="请输入仓位号" name="input" v-model="WarehouseInOutInfo.binNumber"></input>
|
|
|
|
+ </view>
|
|
|
|
+ </view>
|
|
|
|
+
|
|
|
|
+ <view class="c-row b-b">
|
|
|
|
+ <text class="tit">入库类型 </text>
|
|
|
|
+ <picker @change="ruChange" :value="ruIndex" :range="ruType" class="con-list">
|
|
|
|
+ <view >
|
|
|
|
+ {{ruIndex>-1?ruType[ruIndex]:'请选择入库类型'}}
|
|
|
|
+ </view>
|
|
|
|
+ </picker>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="c-row b-b">
|
|
|
|
+ <view class="title">扣款金额</view>
|
|
|
|
+ <view class="con-list">
|
|
|
|
+ <input placeholder-style="font-size:14px" placeholder="请输入扣款金额" name="input" v-model="WarehouseInOutInfo.deductionAmount"></input>
|
|
|
|
+ </view>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="c-row b-b">
|
|
|
|
+ <view class="title">扣款项</view>
|
|
|
|
+ <view class="con-list">
|
|
|
|
+ <input maxlength='16' placeholder="请输入扣款项" name="input" v-model="WarehouseInOutInfo.deductionItems"></input>
|
|
|
|
+ </view>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="c-row b-b">
|
|
|
|
+ <text class="tit">入库日期</text>
|
|
|
|
+
|
|
|
|
+ <view class="con-list" @click="show = true">{{WarehouseInOutInfo.inOutDate!=''?WarehouseInOutInfo.inOutDate:time}}</view>
|
|
|
|
+ <u-picker :params='params' :default-time='time' @confirm="DateChange" v-model="show" mode="time"></u-picker>
|
|
|
|
+
|
|
|
|
+ </view>
|
|
|
|
+ <view class="c-row ">
|
|
|
|
+ <text class="tit">上传磅单照片</text>
|
|
|
|
+ </view>
|
|
|
|
+ <upload
|
|
|
|
+ class="upload"
|
|
|
|
+ ref="upload"
|
|
|
|
+ :action="action"
|
|
|
|
+ :max-size="maxSize"
|
|
|
|
+ :max-count="1"
|
|
|
|
+ :size-type="['compressed']"
|
|
|
|
+ @on-success="getImgUrl"
|
|
|
|
+ @on-remove="onRemove"
|
|
|
|
+ @on-uploaded="isAdd = true"
|
|
|
|
+ :before-upload="filterFileType"
|
|
|
|
+ ></upload>
|
|
|
|
+ </view>
|
|
|
|
+ </view>
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ <view class="center">
|
|
|
|
+ <view class="title_c ">化验信息</view>
|
|
|
|
+ <view class="c-list">
|
|
|
|
+ <view class="c-row b-b">
|
|
|
|
+ <view class="title">质检员</view>
|
|
|
|
+ <view class="con-list">
|
|
|
|
+ <input maxlength='10' minlength='2' placeholder-style="font-size:14px" placeholder="请输入质检员姓名" name="input" v-model="list.qualityInspector"></input>
|
|
|
|
+ </view>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="c-row b-b">
|
|
|
|
+ <view class="title">蛋白(%)>=</view>
|
|
|
|
+ <view class="con-list">
|
|
|
|
+ <input placeholder-style="font-size:14px" placeholder="请输入蛋白占比" name="input" v-model="list.protein"></input>
|
|
|
|
+ </view>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="c-row b-b">
|
|
|
|
+ <view class="title">水分(%)<= </view>
|
|
|
|
+ <view class="con-list">
|
|
|
|
+ <input placeholder-style="font-size:14px" placeholder="请输入水分占比" name="input" v-model="list.waterContent"></input>
|
|
|
|
+ </view>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="c-row b-b">
|
|
|
|
+ <view class="title">容重(克/升)>= </view>
|
|
|
|
+ <view class="con-list">
|
|
|
|
+ <input placeholder-style="font-size:14px" placeholder="请输入容重" name="input" v-model="list.bulkDensity"></input>
|
|
|
|
+ </view>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="c-row b-b">
|
|
|
|
+ <view class="title">热损伤(%)<= </view>
|
|
|
|
+ <view class="con-list">
|
|
|
|
+ <input placeholder-style="font-size:14px" placeholder="请输入热损伤占比" name="input" v-model="list.jiaorenli"></input>
|
|
|
|
+ </view>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="c-row b-b">
|
|
|
|
+ <view class="title">杂质(%)<= </view>
|
|
|
|
+ <view class="con-list">
|
|
|
|
+ <input placeholder-style="font-size:14px" placeholder="请输入杂质占比" name="input" v-model="list.impurity"></input>
|
|
|
|
+ </view>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="c-row b-b">
|
|
|
|
+ <view class="title">霉变粒(%)<= </view>
|
|
|
|
+ <view class="con-list">
|
|
|
|
+ <input placeholder-style="font-size:14px" placeholder="请输入霉变粒占比" name="input" v-model="list.mildewGrain"></input>
|
|
|
|
+ </view>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="c-row b-b">
|
|
|
|
+ <view class="title">不完整粒(%)<= </view>
|
|
|
|
+ <view class="con-list">
|
|
|
|
+ <input placeholder-style="font-size:14px" placeholder="请输入不完整粒占比" name="input"
|
|
|
|
+ v-model="list.imperfectGrain"></input>
|
|
|
|
+ </view>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="c-row b-b">
|
|
|
|
+ <text class="tit">品级 </text>
|
|
|
|
+ <picker @change="pinChange" :value="pinIndex" :range="pinType" class="con-list">
|
|
|
|
+ <view >
|
|
|
|
+ {{pinIndex>-1?pinType[pinIndex]:'请选择品级'}}
|
|
|
|
+ </view>
|
|
|
|
+ </picker>
|
|
|
|
+ </view>
|
|
|
|
+ </view>
|
|
|
|
+ </view>
|
|
|
|
+ <!-- 底部操作菜单 -->
|
|
|
|
+ <view class="page-bottom1">
|
|
|
|
+ <view>
|
|
|
|
+ <button type="primary" @click="commit1">暂 存</button>
|
|
|
|
+ <button @click="commit" type="primary" class=" action-btn no-border add-cart-btn" >提 交</button>
|
|
|
|
+ </view>
|
|
|
|
+ </view>
|
|
|
|
+</view>
|
|
|
|
+
|
|
|
|
+</template>
|
|
|
|
+<script>
|
|
|
|
+import upload from '@/components/upload.vue';
|
|
|
|
+ export default {
|
|
|
|
+ components:{upload},
|
|
|
|
+ data() {
|
|
|
|
+ return {
|
|
|
|
+ packingType: [],
|
|
|
|
+ packingIndex: "",
|
|
|
|
+ goods: {},
|
|
|
|
+ list: {},
|
|
|
|
+ WarehouseInOutInfo: {
|
|
|
|
+ inOutDate:'',
|
|
|
|
+ warehouseInOutDetail: {},
|
|
|
|
+ pcFlag: 0,
|
|
|
|
+ contractNo: {},
|
|
|
|
+ carNo: {},
|
|
|
|
+ },
|
|
|
|
+ WarehouseInOutInfo1: {
|
|
|
|
+ contractNo: {},
|
|
|
|
+ carNo: {},
|
|
|
|
+ },
|
|
|
|
+ pinIndex: '不限(默认)',
|
|
|
|
+ pinTypes: '',
|
|
|
|
+ pinType: ['不限(默认)', '一等品', '二等品', '三等品', '等外'],
|
|
|
|
+ ruIndex: '采购入库',
|
|
|
|
+ rutypes: '',
|
|
|
|
+ ruType: ['采购入库', '移库入库', '暂存入库', '贸易服务入库', '退库'],
|
|
|
|
+ action: this.$uploadUrl,
|
|
|
|
+ maxSize: 5 * 1024 * 1024,//限制文件大小 5M
|
|
|
|
+ btnLoading: false, //防止重复点击
|
|
|
|
+ imgUrls: [],
|
|
|
|
+ isAdd: true,
|
|
|
|
+ params:{
|
|
|
|
+ year: true,
|
|
|
|
+ month: true,
|
|
|
|
+ day: true,
|
|
|
|
+ },
|
|
|
|
+ show:false
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ computed: {
|
|
|
|
+ time() {
|
|
|
|
+ var date=new Date()
|
|
|
|
+ var year=date.getFullYear()
|
|
|
|
+ var month=date.getMonth()
|
|
|
|
+ var date1=date.getDate()
|
|
|
|
+ if(month+1<10){
|
|
|
|
+ month="0"+(month+1)
|
|
|
|
+ }
|
|
|
|
+ if(date1+1<10){
|
|
|
|
+ date1="0"+date1
|
|
|
|
+ }
|
|
|
|
+ return year+'-'+month+"-"+date1
|
|
|
|
+ },
|
|
|
|
+ startDate() {
|
|
|
|
+ //限制开始时间;
|
|
|
|
+ //也可以直接限定为当天日期 var date= new Date(); return date
|
|
|
|
+ return new Date(new Date(new Date().toLocaleDateString()).getTime()-(1*60*60*1000))
|
|
|
|
+ },
|
|
|
|
+ endDate() {
|
|
|
|
+ return new Date()
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ onShow(){
|
|
|
|
+ this.$api.doRequest('get', '/warehouseBaseInfo/selectWarehouse', {compId:'2710b21efc1e4393930c5dc800010dc4',warehouseType:1,}).then(res => {
|
|
|
|
+ console.log(res)
|
|
|
|
+ })
|
|
|
|
+ this.$api.doRequest('get', '/warehouseBaseInfo/getWarehouse', {compId:'',warehouseType:1,}).then(res => {
|
|
|
|
+ console.log(res)
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ onLoad(option) {
|
|
|
|
+ this.WarehouseInOutInfo.contractNo = option.contractNo
|
|
|
|
+ this.WarehouseInOutInfo.goodsName = option.goodsName
|
|
|
|
+ this.WarehouseInOutInfo.startWeight = option.startWeight
|
|
|
|
+ this.WarehouseInOutInfo1.carNo = option.carNo + '(' + option.tranCarNo + ')'
|
|
|
|
+ this.WarehouseInOutInfo.warehouseName = option.warehouseName
|
|
|
|
+ this.WarehouseInOutInfo.id = option.id
|
|
|
|
+ this.WarehouseInOutInfo.carNo = option.carNo
|
|
|
|
+ var date=new Date()
|
|
|
|
+ var year=date.getFullYear()
|
|
|
|
+ var month=date.getMonth()
|
|
|
|
+ var date1=date.getDate()
|
|
|
|
+ if(month+1<10){
|
|
|
|
+ month="0"+(month+1)
|
|
|
|
+ }
|
|
|
|
+ this.time = year+'-'+month+"-"+date1
|
|
|
|
+ },
|
|
|
|
+ methods: {
|
|
|
|
+
|
|
|
|
+ DateChange(e) {
|
|
|
|
+ this.WarehouseInOutInfo.inOutDate=e.year+'-'+e.month+'-'+e.day
|
|
|
|
+ },
|
|
|
|
+ filterFileType(index, lists) {
|
|
|
|
+ if (lists[index].fileType != 'jpg' && lists[index].fileType != 'png' && lists[index].fileType != 'gif') {
|
|
|
|
+ lists.splice(index, 1);
|
|
|
|
+ // 当前文件不支持
|
|
|
|
+ uni.showModal({
|
|
|
|
+ title: '暂不支持当前图片类型',
|
|
|
|
+ showCancel: false
|
|
|
|
+ });
|
|
|
|
+ } else {
|
|
|
|
+ this.isAdd = false;
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ getImgUrl(res) {
|
|
|
|
+ this.imgUrls.push(res.data);
|
|
|
|
+ },
|
|
|
|
+ onRemove(index) {
|
|
|
|
+ this.imgUrls.splice(index, 1);
|
|
|
|
+ },
|
|
|
|
+ commit1() {
|
|
|
|
+ if(this.WarehouseInOutInfo.grossWeight>100||this.WarehouseInOutInfo.grossWeight<1){
|
|
|
|
+ this.$api.msg('毛重输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if(this.WarehouseInOutInfo.grossWeight.indexOf('.')!=-1){
|
|
|
|
+ if(this.WarehouseInOutInfo.grossWeight.split('.')[1].length>2){
|
|
|
|
+ this.$api.msg('毛重输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if(this.WarehouseInOutInfo.tare>50||this.WarehouseInOutInfo.tare<1){
|
|
|
|
+ this.$api.msg('皮重输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if(this.WarehouseInOutInfo.tare.indexOf('.')!=-1){
|
|
|
|
+ if(this.WarehouseInOutInfo.tare.split('.')[1].length>2){
|
|
|
|
+ this.$api.msg('皮重输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if(this.WarehouseInOutInfo.deductionAmount&&this.WarehouseInOutInfo.deductionAmount>10000||this.WarehouseInOutInfo.deductionAmount&&this.WarehouseInOutInfo.deductionAmount<0){
|
|
|
|
+ this.$api.msg('扣款金额输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if(this.WarehouseInOutInfo.deductionAmount&&this.WarehouseInOutInfo.deductionAmount.indexOf('.')!=-1){
|
|
|
|
+ if(this.WarehouseInOutInfo.deductionAmount.split('.')[1].length>2){
|
|
|
|
+ this.$api.msg('扣款金额输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if(this.list.qualityInspector&&this.list.qualityInspector<2||this.list.qualityInspector&&this.list.qualityInspector>10){
|
|
|
|
+ this.$api.msg('质检员姓名输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if(this.list.protein&&this.list.protein<1||this.list.protein&&this.list.protein>80){
|
|
|
|
+ this.$api.msg('蛋白占比输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if(this.list.protein&&this.list.protein.indexOf('.')!=-1){
|
|
|
|
+ if(this.list.protein.split('.')[1].length>2){
|
|
|
|
+ this.$api.msg('蛋白占比输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if(this.list.waterContent&&this.list.waterContent<1||this.list.waterContent&&this.list.waterContent>40){
|
|
|
|
+ this.$api.msg('水分输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if(this.list.waterContent&&this.list.waterContent.indexOf('.')!=-1){
|
|
|
|
+ if(this.list.waterContent.split('.')[1].length>2){
|
|
|
|
+ this.$api.msg('水分输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if(this.list.bulkDensity&&this.list.bulkDensity<1||this.list.bulkDensity&&this.list.bulkDensity>40){
|
|
|
|
+ this.$api.msg('容重输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if(this.list.bulkDensity&&this.list.bulkDensity.indexOf('.')!=-1){
|
|
|
|
+ if(this.list.bulkDensity.split('.')[1].length>2){
|
|
|
|
+ this.$api.msg('容重输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if(this.list.jiaorenli&&this.list.jiaorenli<1||this.list.jiaorenli&&this.list.jiaorenli>40){
|
|
|
|
+ this.$api.msg('热损伤输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if(this.list.jiaorenli&&this.list.jiaorenli.indexOf('.')!=-1){
|
|
|
|
+ if(this.list.jiaorenli.split('.')[1].length>2){
|
|
|
|
+ this.$api.msg('热损伤输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if(this.list.impurity&&this.list.impurity<1||this.list.impurity&&this.list.impurity>40){
|
|
|
|
+ this.$api.msg('杂质输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if(this.list.impurity&&this.list.impurity.indexOf('.')!=-1){
|
|
|
|
+ if(this.list.impurity.split('.')[1].length>2){
|
|
|
|
+ this.$api.msg('杂质输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if(this.list.mildewGrain&&this.list.mildewGrain<1||this.list.mildewGrain&&this.list.mildewGrain>40){
|
|
|
|
+ this.$api.msg('霉变粒输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if(this.list.mildewGrain&&this.list.mildewGrain.indexOf('.')!=-1){
|
|
|
|
+ if(this.list.mildewGrain.split('.')[1].length>2){
|
|
|
|
+ this.$api.msg('霉变粒输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if(this.list.imperfectGrain&&this.list.imperfectGrain<1||this.list.imperfectGrain&&this.list.imperfectGrain>40){
|
|
|
|
+ this.$api.msg('不完整粒输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if(this.list.imperfectGrain&&this.list.imperfectGrain.indexOf('.')!=-1){
|
|
|
|
+ if(this.list.imperfectGrain.split('.')[1].length>2){
|
|
|
|
+ this.$api.msg('不完整粒输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ uni.showLoading({
|
|
|
|
+ title:"正在暂存"
|
|
|
|
+ })
|
|
|
|
+ this.WarehouseInOutInfo.deductionAmount=-this.WarehouseInOutInfo.deductionAmount
|
|
|
|
+ this.WarehouseInOutInfo.warehouseInOutDetail = this.list
|
|
|
|
+ this.WarehouseInOutInfo.statusFlag = 1
|
|
|
|
+ if(this.imgUrls.length > 0){
|
|
|
|
+ this.WarehouseInOutInfo.addressUrl = this.imgUrls[0]
|
|
|
|
+ }
|
|
|
|
+ this.$api.doRequest('post', '/warehouseInOutInfo/InOutWarehouse', this.WarehouseInOutInfo).then(res => {
|
|
|
|
+ if(res.data.code==200){
|
|
|
|
+ uni.showToast({
|
|
|
|
+ title: '暂存成功',
|
|
|
|
+ icon: 'none',
|
|
|
|
+ duration: 2000
|
|
|
|
+ })
|
|
|
|
+ uni.navigateBack({})
|
|
|
|
+ }else{
|
|
|
|
+ uni.showToast({
|
|
|
|
+ title: res.data.message,
|
|
|
|
+ icon: 'none',
|
|
|
|
+ duration: 2000
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ uni.hideLoading()
|
|
|
|
+
|
|
|
|
+ }).catch(res => {
|
|
|
|
+ uni.showToast({
|
|
|
|
+ title: res.data.message,
|
|
|
|
+ icon: 'none',
|
|
|
|
+ duration: 2000
|
|
|
|
+ })
|
|
|
|
+ uni.hideLoading()
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ commit() {
|
|
|
|
+ if(!this.WarehouseInOutInfo.grossWeight){
|
|
|
|
+ this.$api.msg('毛重不能为空')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if(!this.WarehouseInOutInfo.tare){
|
|
|
|
+ this.$api.msg('皮重不能为空')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if(!this.WarehouseInOutInfo.warehouseName){
|
|
|
|
+ this.$api.msg('仓库不能为空')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if(!this.WarehouseInOutInfo.binNumber){
|
|
|
|
+ this.$api.msg('仓库不能为空')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if(this.WarehouseInOutInfo.grossWeight>100||this.WarehouseInOutInfo.grossWeight<1){
|
|
|
|
+ this.$api.msg('毛重输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if(this.WarehouseInOutInfo.grossWeight.indexOf('.')!=-1){
|
|
|
|
+ if(this.WarehouseInOutInfo.grossWeight.split('.')[1].length>2){
|
|
|
|
+ this.$api.msg('毛重输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if(this.WarehouseInOutInfo.tare>50||this.WarehouseInOutInfo.tare<1){
|
|
|
|
+ this.$api.msg('皮重输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if(this.WarehouseInOutInfo.tare.indexOf('.')!=-1){
|
|
|
|
+ if(this.WarehouseInOutInfo.tare.split('.')[1].length>2){
|
|
|
|
+ this.$api.msg('皮重输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if(this.WarehouseInOutInfo.deductionAmount&&this.WarehouseInOutInfo.deductionAmount>10000||this.WarehouseInOutInfo.deductionAmount&&this.WarehouseInOutInfo.deductionAmount<0){
|
|
|
|
+ this.$api.msg('扣款金额输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if(this.WarehouseInOutInfo.deductionAmount&&this.WarehouseInOutInfo.deductionAmount.indexOf('.')!=-1){
|
|
|
|
+ if(this.WarehouseInOutInfo.deductionAmount.split('.')[1].length>2){
|
|
|
|
+ this.$api.msg('扣款金额输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if(this.list.qualityInspector&&this.list.qualityInspector<2||this.list.qualityInspector&&this.list.qualityInspector>10){
|
|
|
|
+ this.$api.msg('质检员姓名输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if(this.list.protein&&this.list.protein<1||this.list.protein&&this.list.protein>80){
|
|
|
|
+ this.$api.msg('蛋白占比输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if(this.list.protein&&this.list.protein.indexOf('.')!=-1){
|
|
|
|
+ if(this.list.protein.split('.')[1].length>2){
|
|
|
|
+ this.$api.msg('蛋白占比输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if(this.list.waterContent&&this.list.waterContent<1||this.list.waterContent&&this.list.waterContent>40){
|
|
|
|
+ this.$api.msg('水分输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if(this.list.waterContent&&this.list.waterContent.indexOf('.')!=-1){
|
|
|
|
+ if(this.list.waterContent.split('.')[1].length>2){
|
|
|
|
+ this.$api.msg('水分输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if(this.list.bulkDensity&&this.list.bulkDensity<1||this.list.bulkDensity&&this.list.bulkDensity>40){
|
|
|
|
+ this.$api.msg('容重输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if(this.list.bulkDensity&&this.list.bulkDensity.indexOf('.')!=-1){
|
|
|
|
+ if(this.list.bulkDensity.split('.')[1].length>2){
|
|
|
|
+ this.$api.msg('容重输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if(this.list.jiaorenli&&this.list.jiaorenli<1||this.list.jiaorenli&&this.list.jiaorenli>40){
|
|
|
|
+ this.$api.msg('热损伤输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if(this.list.jiaorenli&&this.list.jiaorenli.indexOf('.')!=-1){
|
|
|
|
+ if(this.list.jiaorenli.split('.')[1].length>2){
|
|
|
|
+ this.$api.msg('热损伤输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if(this.list.impurity&&this.list.impurity<1||this.list.impurity&&this.list.impurity>40){
|
|
|
|
+ this.$api.msg('杂质输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if(this.list.impurity&&this.list.impurity.indexOf('.')!=-1){
|
|
|
|
+ if(this.list.impurity.split('.')[1].length>2){
|
|
|
|
+ this.$api.msg('杂质输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if(this.list.mildewGrain&&this.list.mildewGrain<1||this.list.mildewGrain&&this.list.mildewGrain>40){
|
|
|
|
+ this.$api.msg('霉变粒输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if(this.list.mildewGrain&&this.list.mildewGrain.indexOf('.')!=-1){
|
|
|
|
+ if(this.list.mildewGrain.split('.')[1].length>2){
|
|
|
|
+ this.$api.msg('霉变粒输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if(this.list.imperfectGrain&&this.list.imperfectGrain<1||this.list.imperfectGrain&&this.list.imperfectGrain>40){
|
|
|
|
+ this.$api.msg('不完整粒输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if(this.list.imperfectGrain&&this.list.imperfectGrain.indexOf('.')!=-1){
|
|
|
|
+ if(this.list.imperfectGrain.split('.')[1].length>2){
|
|
|
|
+ this.$api.msg('不完整粒输入错误')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ this.WarehouseInOutInfo.deductionAmount=-this.WarehouseInOutInfo.deductionAmount
|
|
|
|
+ if(this.imgUrls.length > 0){
|
|
|
|
+ this.WarehouseInOutInfo.addressUrl = this.imgUrls[0]
|
|
|
|
+ }
|
|
|
|
+ this.WarehouseInOutInfo.warehouseInOutDetail = this.list
|
|
|
|
+ this.WarehouseInOutInfo.statusFlag = 3
|
|
|
|
+ uni.showLoading({
|
|
|
|
+ title:"正在提交"
|
|
|
|
+ })
|
|
|
|
+
|
|
|
|
+ this.$api.doRequest('post', '/warehouseInOutInfo/InOutWarehouse', this.WarehouseInOutInfo).then(res => {
|
|
|
|
+ if(res.data.code==200){
|
|
|
|
+ uni.showToast({
|
|
|
|
+ title: '提交成功',
|
|
|
|
+ icon: 'none'
|
|
|
|
+ })
|
|
|
|
+ setTimeout(() => {
|
|
|
|
+ uni.navigateBack({})
|
|
|
|
+ }, 200)
|
|
|
|
+ }else{
|
|
|
|
+ uni.showToast({
|
|
|
|
+ title: res.data.message,
|
|
|
|
+ icon: 'none',
|
|
|
|
+ duration: 2000
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ uni.hideLoading()
|
|
|
|
+
|
|
|
|
+ }).catch(res => {
|
|
|
|
+ uni.showToast({
|
|
|
|
+ title: res.data.message,
|
|
|
|
+ icon: 'none',
|
|
|
|
+ duration: 2000
|
|
|
|
+ })
|
|
|
|
+ uni.hideLoading()
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ numFilter(value) {
|
|
|
|
+ if (!value) {
|
|
|
|
+ return 0
|
|
|
|
+ }
|
|
|
|
+ // 截取当前数据到小数点后两位
|
|
|
|
+ let realVal = parseFloat(value).toFixed(2)
|
|
|
|
+ return realVal
|
|
|
|
+ },
|
|
|
|
+ grossWeightInput(e) {
|
|
|
|
+ this.WarehouseInOutInfo.grossWeight = e.detail.value
|
|
|
|
+ if (this.WarehouseInOutInfo.grossWeight && this.WarehouseInOutInfo.tare) {
|
|
|
|
+ this.WarehouseInOutInfo.netWeight = this.WarehouseInOutInfo.grossWeight - this.WarehouseInOutInfo.tare
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ tareInput(e) {
|
|
|
|
+ this.WarehouseInOutInfo.tare = e.detail.value
|
|
|
|
+ if (this.WarehouseInOutInfo.grossWeight && this.WarehouseInOutInfo.tare) {
|
|
|
|
+ this.WarehouseInOutInfo.netWeight = this.WarehouseInOutInfo.grossWeight - this.WarehouseInOutInfo.tare
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ ruChange(e) {
|
|
|
|
+ this.WarehouseInOutInfo.inOutTypeKey = e.detail.value
|
|
|
|
+ this.WarehouseInOutInfo.inOutType = this.ruType[this.ruIndex];
|
|
|
|
+ },
|
|
|
|
+ pinChange(e) {
|
|
|
|
+ this.WarehouseInOutInfo.gradeKey = e.detail.value
|
|
|
|
+ this.WarehouseInOutInfo.grade = this.pinType[this.pinIndex];
|
|
|
|
+ },
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+</script>
|
|
|
|
+<style scoped lang='scss'>
|
|
|
|
+ .upload {
|
|
|
|
+ /deep/.u-list-item,
|
|
|
|
+ .u-add-wrap {
|
|
|
|
+ background-color: #eceae8;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ .center{
|
|
|
|
+ margin: 15rpx 15rpx 10rpx 15rpx;
|
|
|
|
+ padding:0rpx 10rpx 30rpx 10rpx;
|
|
|
|
+ background-color: #FFFFFF;
|
|
|
|
+ border-radius: 15px;
|
|
|
|
+ }
|
|
|
|
+ .title_b{
|
|
|
|
+ margin: 20rpx 20rpx 0rpx 20rpx;
|
|
|
|
+ padding:20rpx 10rpx 20rpx 10rpx;
|
|
|
|
+ font-size: 18px;
|
|
|
|
+ font-weight: 550;
|
|
|
|
+ border-bottom: 1px solid #d6d6d6;
|
|
|
|
+ }
|
|
|
|
+ .title_c{
|
|
|
|
+ margin: 20rpx 20rpx 0rpx 20rpx;
|
|
|
|
+ padding:20rpx 10rpx 20rpx 10rpx;
|
|
|
|
+ font-size: 18px;
|
|
|
|
+ font-weight: 550;
|
|
|
|
+ }
|
|
|
|
+ .c-row {
|
|
|
|
+ display: -webkit-box;
|
|
|
|
+ display: -webkit-flex;
|
|
|
|
+ display: flex;
|
|
|
|
+ -webkit-box-align: center;
|
|
|
|
+ -webkit-align-items: center;
|
|
|
|
+ align-items: center;
|
|
|
|
+ padding: 20rpx 30rpx;
|
|
|
|
+ position: relative;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .con-list {
|
|
|
|
+ -webkit-box-flex: 1;
|
|
|
|
+ -webkit-flex: 1;
|
|
|
|
+ flex: 1;
|
|
|
|
+ display: -webkit-box;
|
|
|
|
+ display: -webkit-flex;
|
|
|
|
+ display: flex;
|
|
|
|
+ -webkit-box-orient: vertical;
|
|
|
|
+ -webkit-box-direction: normal;
|
|
|
|
+ -webkit-flex-direction: column;
|
|
|
|
+ flex-direction: column;
|
|
|
|
+ color: #303133;
|
|
|
|
+ line-height: 40rpx;
|
|
|
|
+ text-align: right;
|
|
|
|
+ padding-right: 20rpx;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .d-header {
|
|
|
|
+ display: flex;
|
|
|
|
+ justify-content: center;
|
|
|
|
+ align-items: center;
|
|
|
|
+ height: 80upx;
|
|
|
|
+ font-size: $font-base + 2upx;
|
|
|
|
+ color: $font-color-dark;
|
|
|
|
+ position: relative;
|
|
|
|
+
|
|
|
|
+ text {
|
|
|
|
+ padding: 0 20upx;
|
|
|
|
+ background: #fff;
|
|
|
|
+ position: relative;
|
|
|
|
+ z-index: 1;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ &:after {
|
|
|
|
+ position: absolute;
|
|
|
|
+ left: 50%;
|
|
|
|
+ top: 50%;
|
|
|
|
+ transform: translateX(-50%);
|
|
|
|
+ width: 300upx;
|
|
|
|
+ height: 0;
|
|
|
|
+ content: '';
|
|
|
|
+ border-bottom: 1px solid #ccc;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ /* 底部操作菜单 */
|
|
|
|
+ .page-bottom1 {
|
|
|
|
+ position: fixed;
|
|
|
|
+ left: 0;
|
|
|
|
+ bottom: 0;
|
|
|
|
+ z-index: 95;
|
|
|
|
+ width:100%;
|
|
|
|
+ height: 70px;
|
|
|
|
+ background: rgba(255, 255, 255, .9);
|
|
|
|
+ padding:15px;
|
|
|
|
+ border-radius: 0;
|
|
|
|
+ text-align:right;
|
|
|
|
+ button{
|
|
|
|
+ display:inline-block;
|
|
|
|
+ border-radius:18px;
|
|
|
|
+ margin:0 10px;
|
|
|
|
+ font-size:14px;background:#fff;
|
|
|
|
+ color:#333;
|
|
|
|
+ border:1px solid #333;
|
|
|
|
+ padding-left: 50rpx;
|
|
|
|
+ padding-right: 50rpx;
|
|
|
|
+ }
|
|
|
|
+ .action-btn{
|
|
|
|
+ background:#22C572;
|
|
|
|
+ color:#fff;
|
|
|
|
+ border:1px solid #22C572;
|
|
|
|
+ }
|
|
|
|
+ .p-b-btn {
|
|
|
|
+ display: flex;
|
|
|
|
+ flex-direction: column;
|
|
|
|
+ align-items: center;
|
|
|
|
+ justify-content: center;
|
|
|
|
+ font-size: $font-sm;
|
|
|
|
+ color: $font-color-base;
|
|
|
|
+ width: 96upx;
|
|
|
|
+ height: 80upx;
|
|
|
|
+
|
|
|
|
+ .yticon {
|
|
|
|
+ font-size: 40upx;
|
|
|
|
+ line-height: 48upx;
|
|
|
|
+ color: $font-color-light;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ &.active,
|
|
|
|
+ &.active .yticon {
|
|
|
|
+ color: $uni-color-primary;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .icon-fenxiang2 {
|
|
|
|
+ font-size: 42upx;
|
|
|
|
+ transform: translateY(-2upx);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .icon-shoucang {
|
|
|
|
+ font-size: 46upx;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ .container{
|
|
|
|
+ padding-bottom: 160upx;
|
|
|
|
+ }
|
|
|
|
+</style>
|
|
|
|
+
|