ccjgmwz 3 năm trước cách đây
mục cha
commit
0bf535142e

+ 3 - 3
public/static/weightCheck.html

@@ -122,7 +122,7 @@
   <body>
     <div id="app">
       <div class="content" v-if="bigContent">
-        <div class="title">{{tableData.compName}}粮食检斤单</div>
+        <div class="title">{{tableData.compName}}</div>
         <div class="title">入库检斤单</div>
         <div class="number">{{tableData.number}}</div>
         <table class="table">
@@ -159,8 +159,8 @@
             <td class="col">{{tableData.qualityInspectionManagement.waterContent}}</td>
             <td class="col col-bgc">热损伤(%)</td>
             <td class="col">{{tableData.qualityInspectionManagement.jiaorenli}}</td>
-            <td class="col col-bgc" colspan="1">质检时间</td>
-            <td class="col" colspan="1">{{tableData.qualityInspectionManagement.qualityDate}}</td>
+            <td class="col col-bgc">质检时间</td>
+            <td class="col" >{{tableData.qualityInspectionManagement.qualityDate}}</td>
           </tr>
           <tr class="row">
             <td class="col col-bgc">杂质(%)</td>

+ 231 - 0
public/static/weightCheckInOut.html

@@ -0,0 +1,231 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
+    <title></title>
+    <style>
+      table,
+      table tr th,
+      table tr td {
+        border: 2px solid #333333;
+        padding: 5px 0;
+        height: 55px;
+      }
+
+      #app {
+        /* height: 98vh;
+        position: relative; */
+      }
+
+      .content {
+        width: 1000px;
+        padding: 70px 20px 20px 20px;
+        font-size: 22px;
+        position: absolute;
+        top: 0;
+        bottom: 0;
+        left: 0;
+        right: 0;
+      }
+
+      table {
+        width: 100%;
+        text-align: center;
+        border-collapse: collapse;
+        border: 3px solid #333333;
+      }
+
+      .col-bgc {
+        background: #f6f7fb;
+      }
+
+      .bottom-row1 {
+        display: flex;
+        /* justify-content: space-between; */
+        margin-top: 5px 0;
+      }
+
+      .bottom-row2 {
+        display: flex;
+      }
+
+      img {
+        width: 41px;
+        height: 41px;
+        margin-right: 118px;
+      }
+
+      .config {
+        margin-top: 10px;
+        margin-right: 240px;
+      }
+      .autograph{
+    margin-top: 10px;
+     }
+      .bottom-row3 {
+        margin: 10px 0;
+      }
+
+      .title {
+        text-align: center;
+        font-size: 36px;
+        font-weight: 500;
+        margin-bottom: 20px;
+      }
+
+      .number {
+        text-align: right;
+        margin-bottom: 10px;
+        margin-top: 20px;
+      }
+
+      .small-row {
+        display: flex;
+      }
+
+      .small-content {
+        width: 400px;
+        margin: 0 auto;
+        border: 1px solid #ccc;
+        padding: 20px 20px 160px 20px;
+        position: absolute;
+        top: 0;
+        bottom: 0;
+        left: 0;
+        right: 0;
+        margin: auto;
+        height: 450px;
+      }
+
+      .small-title {
+        text-align: center;
+        font-size: 18px;
+        display: flex;
+        justify-content: space-between;
+        align-items: center;
+      }
+
+      .small-row {
+        display: flex;
+        justify-content: space-between;
+        margin: 10px;
+      }
+
+      .small-img {
+        margin-right: 0;
+      }
+      .sign{
+        margin-right: 100px;
+      }
+    </style>
+  </head>
+  <body>
+    <div id="app">
+      <div class="content" v-if="true">
+        <div v-if="tableData.inOutFlag == '2'"  class="title">{{tableData.companyName}}</div>
+        <div v-else  class="title">{{tableData.contractManagementInfo.seller}}</div>
+        <div v-if="tableData.inOutFlag == '2'" class="title">入库检斤单</div>
+        <div v-else class="title">出库检斤单</div>
+        <table class="table">
+          <tr class="row">
+            <td class="col col-bgc">送货单位</td>
+            <td class="col" colspan="4">{{tableData.contractManagementInfo.seller}}</td>
+            <td class="col col-bgc">车牌号</td>
+            <td class="col" colspan="1">{{tableData.carNo}}</td>
+            <td class="col col-bgc">货名</td>
+            <td class="col" colspan="1">{{tableData.goodsName}}</td>
+          </tr>
+          <tr class="row">
+            <td class="col col-bgc">收货单位</td>
+            <td class="col" colspan="4">{{tableData.contractManagementInfo.buyer}}</td>
+            <td class="col col-bgc">类型</td>
+            <td class="col"colspan="1">{{tableData.type}}</td>
+            <td class="col col-bgc">检斤时间</td>
+            <td class="col" colspan="1">{{tableData.updateDate}}</td>
+          </tr>
+          <tr class="row">
+            <td class="col col-bgc">毛重(公斤)</td>
+            <td class="col" colspan="2">{{tableData.grossWeight*1000}}</td>
+            <td class="col col-bgc">皮重(公斤)</td>
+            <td class="col" colspan="2">{{tableData.tare*1000}}</td>
+            <td class="col col-bgc">净重(公斤)</td>
+            <td class="col" colspan="2">{{tableData.netWeight*1000}}</td>
+          </tr>
+        </table>
+        <div class="bottom">
+          <div class="bottom-row1">
+            <div>检斤员:{{tableData.backOffice}}</div>
+          </div>
+          <div class="bottom-row2">
+            <div class="config">收货单位签名或盖章:</div>
+            <div class="autograph">客户签名:</div>
+          </div>
+        </div>
+      </div>
+    </div>
+  </body>
+  <script src="https://cdn.jsdelivr.net/npm/vue@2"></script>
+  <script src="https://unpkg.com/element-ui/lib/index.js"></script>
+  <script type="text/javascript">
+    new Vue({
+      el: '#app',
+      data: {
+        tableData: {
+          // qualityInspectionManagement:{}
+        },
+        name: "",
+        bigContent: false,
+        smallContent: false
+      },
+      computed: {},
+      methods: {
+        tableRowClassName({
+          row,
+          rowIndex
+        }) {
+          if (rowIndex === 1) {
+            return 'warning-row';
+          } else if (rowIndex === 3) {
+            return 'success-row';
+          }
+          return '';
+        },
+        getQueryVariable(variable) {
+          var query = window.location.search.substring(1);
+          var vars = query.split("&");
+          for (var i = 0; i < vars.length; i++) {
+            var pair = vars[i].split("=");
+            if (pair[0] == variable) {
+              return pair[1];
+            }
+          }
+          return (false);
+        },
+        printSmall() {},
+        printBig() {},
+      },
+      mounted() {
+        let _data = decodeURIComponent(this.getQueryVariable("tableData"))
+        let _type = decodeURIComponent(this.getQueryVariable("type"))
+        if (_type == 2) {
+          this.bigContent = true
+          this.smallContent = false
+        } else {
+          this.smallContent = true
+          this.bigContent = false
+        }
+        console.log(_data,"sddsd")
+        this.tableData = JSON.parse(_data)
+        console.log(this.tableData)
+        document.title = "粮食检斤单"
+        window.print()
+        window.onafterprint = function(event) {
+          window.history.back(-1)
+        };
+      },
+      watch: {}
+    })
+  </script>
+
+</html>

+ 3 - 0
src/api/V2/warehouse/index.js

@@ -44,6 +44,9 @@ export const API_POST_WAREHOUSE_CLEARANCEE = '/warehouseBaseInfo/api/editCleared
 
 //临时出入库合同编号下拉
 export const API_GET_WAREHOUSE_NO = '/warehouseBaseInfo/selectContractNoList'
+
+//获取检斤打印数据
+export const API_GET_PRINT_INFO = '/warehouseBaseInfo/getPrintInfo'
 // 获取负责人
 export const API_GET_STAFF = '/staff/query/getStaffListByCompIdAndWarehouseId'
 //临时仓库记录

+ 10 - 0
src/lang/zh.js

@@ -508,6 +508,9 @@ export default {
     warehouseManagementAdd: '仓库管理添加',
     warehouseManagementEdit: '仓库管理编辑',
     warehouseManagementPut: '入库',
+    warehouseManagementNoWeight: '检斤待完成',
+    warehouseManagementGross: '入库检斤',
+    warehouseManagementTare: '出库检斤',
     warehouseManagementDelivery: '出库',
     warehouseManagementIossRecord: '盘损详情',
     warehouseManagementLook: '仓库管理查看',
@@ -554,6 +557,8 @@ export default {
     tranManagementDriverAdd: '添加司机',
     tranManagementDriverLook: '查看司机',
     warehouseManagementPerfectDelivery: '编辑',
+    warehouseManagementNoWeightIn: '入库检斤',
+    warehouseManagementNoWeightOut: '出库检斤',
     tranManagementTransport: '运输任务',
     tranManagementDriverEdit: '编辑司机',
     // 任务管理
@@ -4811,6 +4816,9 @@ export default {
     warehouseManagementAdd: '仓库管理添加',
     warehouseManagementEdit: '仓库管理编辑',
     warehouseManagementPut: '入库',
+    warehouseManagementNoWeight: '检斤待完成',
+    warehouseManagementGross: '毛重检斤',
+    warehouseManagementTare: '皮重检斤',
     warehouseManagementDelivery: '出库',
     warehouseManagementLook: '仓库管理查看',
     warehouseManagementDelete: '仓库管理删除',
@@ -4820,6 +4828,8 @@ export default {
     warehouseManagementNoComplete: '待完成',
     warehouseManagementPerfectput: '编辑',
     warehouseManagementPerfectDelivery: '编辑',
+    warehouseManagementNoWeightOut: '出库检斤',
+    warehouseManagementNoWeightIn: '入库检斤',
     warehouseManagementPutOut: '任务',
     warehouseManagementPutOutLook: '查看',
 

+ 3 - 0
src/model/warehouse/index.js

@@ -22,6 +22,7 @@ import {
     API_POST_WAREHOUSE_ADD,
     API_POST_WAREHOUSE_CLEARANCEE,
     API_GET_WAREHOUSE_NO,
+    API_GET_PRINT_INFO,
     API_GET_STAFF,
     API_GET_WAREHOUSE_RECORDSS,
     API_GET_GOODSNAME_XIALA,
@@ -87,6 +88,8 @@ export const goodsnameXiala = appRx.get(API_GET_GOODSNAME_XIALA, errorCatcher, e
 export const completeList = appRx.get(API_GET_WAREHOUSE_LIST, errorCatcher, errorHandle, filter)
 //临时出入库合同编号下拉
 export const xialaNo = appRx.get(API_GET_WAREHOUSE_NO, errorCatcher, errorHandle, filter)
+//获取检斤打印数据
+export const getPrintInfo = appRx.get(API_GET_PRINT_INFO, errorCatcher, errorHandle, filter)
 //任务列表
 export const taskList = appRx.get(API_GET_WAREHOUSE_TASKLIST,errorCatcher, errorHandle, filter)
 // 成本管理

+ 10 - 0
src/views/houseSelfCollect/weightCheck.vue

@@ -168,6 +168,16 @@
     components: {
       weightCheckPrint,
     },
+    watch:{
+      weighingList:{//深度监听,可监听到对象、数组的变化
+         handler(val, oldVal){
+           if(val.tare){
+             this.weighingList.netWeight = this.weighingList.grossWeight - val.tare
+           }
+         },
+         deep:true //true 深度监听
+     }
+    },
     data() {
       return {
         currentPage: 1,

+ 18 - 28
src/views/outboundManagement/weighing.vue

@@ -46,13 +46,13 @@
 									:value="item.value" />
 							</ws-select>
 						</ws-form-item>
-						<ws-form-item label="毛重(公斤)" span="1" prop="grossWeight" v-if="this.types == 1">
+						<ws-form-item label="毛重(公斤)" span="1" prop="grossWeight" v-if="this.types == 1 || this.types == 4">
 							<ws-input v-model="weighingList.grossWeight" @input="calculation" placeholder="未获取到毛重"
 								maxlength="100" size="small"  />
 						</ws-form-item>
-						<el-button type="primary" v-if="this.types == 1" @click="openPort">重新获取</el-button>
+						<el-button type="primary" v-if="this.types == 1|| this.types == 4" @click="openPort">重新获取</el-button>
 
-						<ws-form-item label="皮重(公斤)" span="1" prop="tare">
+						<ws-form-item label="皮重(公斤)"  v-if="this.types == 2|| this.types == 3" span="1" prop="tare">
 							<!-- <ws-input v-model="weighingList.tare" placeholder="未获取到皮重" maxlength="100" size="small"
 								disabled /> -->
 								<ws-input @input="calculation" v-model="weighingList.tare" placeholder="未获取到皮重" 
@@ -60,29 +60,13 @@
 								<!-- <ws-input @input="calculation" v-model="weighingList.tare" placeholder="未获取到皮重" 
 								maxlength="100" size="small"/> -->
 						</ws-form-item>
-						<el-button type="primary" v-if="this.types == 2 || this.types == null" @click="openPort">重新获取</el-button>
+						<el-button type="primary" v-if="this.types == 2 || this.types == 3" @click="openPort">重新获取</el-button>
 						<!-- <div class="formItem"> -->
-						<ws-form-item label="净重(公斤)" span="1" prop="netWeight" v-if="this.types == 1">
+						<ws-form-item label="净重(公斤)" span="1" prop="netWeight" v-if="(this.types == 1&&this.weighingList.tare)||(this.types == 2&&this.weighingList.grossWeight)">
 							<ws-input v-model="weighingList.netWeight" placeholder="请输入净重" maxlength="100" size="small"
 								disabled />
 						</ws-form-item>
 						<!-- </div> -->
-						<div class="bangdan">
-							<el-form-item label="上传磅单" v-if="this.types == 1">
-							</el-form-item>
-							<!-- <el-upload action="https://www.zthymaoyi.com/upload/admin" 
-								list-type="picture-card"
-								:on-success="(res, file) => {handlePictureCardPreview1(res)}"
-								:on-remove="handleRemove" class="photo2" v-if="this.types == 1">
-								<i class="el-icon-plus"></i>
-							</el-upload> -->
-							<ws-upload ref="upload" :comp-id="compId" :appendix-ids="weighingList.addressUrl"
-								:size-limit="size" @onChange="onChange" v-if="this.types == 1"
-								accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar" />
-							<el-dialog :visible.sync="dialogVisible" v-if="this.types == 1">
-								<img width="100%" :src="weighingList.addressUrl" alt="" />
-							</el-dialog>
-						</div>
 					</ws-info-table>
 					<div class="but">
 						<el-button @click="cancel" type="primary">取消</el-button>
@@ -112,7 +96,7 @@
 			return {
 				inspect: {},
 				types: 3,
-				information: '添加皮重',
+				information: '',
 				weighingList: {
 					carNumber: '',
 					storageNumber: '',
@@ -167,7 +151,7 @@
 			this.relationId = this.$route.query.relationId
 			this.warehouseId = this.$route.query.warehouseId
 			if (this.types == 1) {
-				this.information = '毛重'
+				this.information = '编辑毛重'
 				this.disabled = true
 				this.disabled1 = true
 				this.disabled2 = true
@@ -175,8 +159,14 @@
 				this.information = '编辑皮重'
 				this.disabled1 = true
 				this.disabled2 = true
-			} else {
+			} else if(this.types == 3) {
+				this.information = '添加皮重'
 				this.disabled2 = true
+				this.disabled1 = false
+			}else if(this.types == 4) {
+				this.information = '添加毛重'
+				this.disabled2 = true
+				this.disabled1 = false
 			}
 			this.getList(id)
 		},
@@ -203,17 +193,17 @@
 					this.reader.releaseLock();
 					break;
 				}
-				var result="";
+				var result='';
 				//2。获取16进制字符串
 				// var receData = HexConvert.ByteToString(value);
 				// console.log("receData",receData);
 				var flag = false;
 				for(var i=0;i<value.length;i++){
 					var tmp = String.fromCharCode(value[i])
-					if(tmp == "+"){
+					if(tmp == '+'){
 					flag = true
 					}
-					if(flag && result.length <6 && tmp != "+"){
+					if(flag && result.length <6 && tmp != '+'){
 					result += tmp
 					}
 				}
@@ -301,7 +291,7 @@
 					})
 			},
 			print() {
-				if (this.types == null || this.types == 2) {
+				if (this.types == 1 || this.types == 2) {
 					if (!this.weighingList.contractNo) {
 						this.$message({
 							message: '合同编号不能为空',

+ 2 - 1
src/views/outboundManagement/weighingManagement.vue

@@ -3,7 +3,8 @@
 	<div>
 		<BaseHeaderLayout :leftSpan="12">
 			<template slot="left">
-				<ws-button type="primary" @click="weighing(3)" v-hasPermission=" `outbound.acquisitionWeightOut.new`">添加</ws-button>
+				<ws-button type="primary" @click="weighing(3)" v-hasPermission=" `outbound.acquisitionWeightOut.new`">添加皮重</ws-button>
+				<ws-button type="primary" @click="weighing(4)" v-hasPermission=" `outbound.acquisitionWeightOut.new`">添加毛重</ws-button>
 			</template>
 			<!-- <template slot="left"> </template> -->
 			<template slot="right">

+ 71 - 1
src/views/warehouse/component/router/index.js

@@ -130,6 +130,33 @@ const warehouseManagementRouter = {
       },
       hidden: true
     },
+    
+    {
+
+      path: 'warehouseManagementGross',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/warehouse/warehouseManagementGross'),
+      name: 'warehouseManagementGross',
+      meta: {
+        title: 'warehouseManagementGross',
+        shortcutEntrance: 'warehouseManagementGross',
+        module: 'warehouseManagement.warehouse.warehouseInfo.in',
+      },
+      hidden: true
+    },
+    {
+
+      path: 'warehouseManagementTare',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/warehouse/warehouseManagementTare'),
+      name: 'warehouseManagementTare',
+      meta: {
+        title: 'warehouseManagementTare',
+        shortcutEntrance: 'warehouseManagementTare',
+        module: 'warehouseManagement.warehouse.warehouseInfo.in',
+      },
+      hidden: true
+    },
     {
       path: 'warehouseManagementDelete',
       component: () =>
@@ -208,7 +235,20 @@ const warehouseManagementRouter = {
       },
       hidden: true
     },
-
+    {
+      path: 'warehouseManagementNoWeight',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/warehouse/warehouseManagementNoWeight'),
+      name: 'warehouseManagementNoWeight',
+      meta: {
+        title: 'warehouseManagementNoWeight',
+        shortcutEntrance: 'warehouseManagementNoWeight',
+        module: 'warehouseManagement.warehouse.warehouseInfo.view',
+        permissicon: [],
+        keepAlive: true
+      },
+      hidden:true
+    },
     {
       path: 'warehouseManagementNoComplete',
             
@@ -239,6 +279,21 @@ const warehouseManagementRouter = {
       },
       hidden: true
     },
+    {
+      path: 'warehouseManagementNoWeightIn',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/warehouse/warehouseManagementNoWeightIn'),
+      name: 'warehouseManagementNoWeightIn',
+      meta: {
+        title: 'warehouseManagementNoWeightIn',
+        shortcutEntrance: 'warehouseManagementNoWeightIn',
+        module: 'warehouseManagement.warehouse.warehouseInfo.in',
+        permissicon: [],
+        keepAlive: true
+        // module: 'procurement.sparepart.applDetail'
+      },
+      hidden: true
+    },
     {
       path: 'warehouseManagementPerfectDelivery',
       component: () =>
@@ -254,6 +309,21 @@ const warehouseManagementRouter = {
       },
       hidden: true
     },
+    {
+      path: 'warehouseManagementNoWeightOut',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/warehouse/warehouseManagementNoWeightOut'),
+      name: 'warehouseManagementNoWeightOut',
+      meta: {
+        title: 'warehouseManagementNoWeightOut',
+        shortcutEntrance: 'warehouseManagementNoWeightOut',
+        module: 'warehouseManagement.warehouse.warehouseInfo.out',
+        permissicon: [],
+        keepAlive: true
+        // module: 'procurement.sparepart.applDetail'
+      },
+      hidden: true
+    },
     // 出入库任务
     {
       path: 'warehouseManagementPutOut',

+ 2203 - 0
src/views/warehouse/warehouseManagementGross.vue

@@ -0,0 +1,2203 @@
+// 入库登记
+<template>
+  <div class="container">
+    <el-row>
+      <el-col :span="20">
+        <h2 class="bg-left title">{{information}}</h2>
+      </el-col>
+      <el-col :span="4" class="bg-right">
+        <el-button
+          class="bg-bottom"
+          type="primary"
+          size="small"
+          @click="revert()"
+        >
+          <img
+            width="6"
+            height="10"
+            style="vertical-align: bottom; margin-right: 3px"
+            src="../../../public/img/lujing.png"
+            alt
+          />返回
+        </el-button>
+      </el-col>
+    </el-row>
+
+    <ws-form ref="deptBudgetList" :model="deptBudgetList" :rules="rules">
+      <div class="basicInformation">
+        <h2>
+          <img
+            style="position: relative; top: 2px"
+            width="19"
+            height="19"
+            src="../../../public/img/cangku.png"
+            alt
+          />
+          {{ deptBudgetList.warehouseName }}
+          <span class="position" v-show="this.$route.query.warehouseType == 1"
+            >{{ deptBudgetList.binNumber }}仓位</span
+          >
+          <span v-show="this.$route.query.warehouseType == 2">(临)</span>
+        </h2>
+        <ws-info-table>
+          <!--合同编号-->
+          <ws-form-item label="合同编号" span="1" prop="contractNo">
+            <el-select
+              filterable
+              :filter-method="dataFilter1"
+              v-model="deptBudgetList.contractNo"
+              placeholder="请选择合同编号或移库任务编号"
+              class="typeselect"
+              @change="contractNoChange"
+            >
+              <el-option
+                v-for="item in options1"
+                :key="item.constKey"
+                :label="item.contractNo"
+                :value="item.contractNo"
+              />
+            </el-select>
+          </ws-form-item>
+          <!-- 货名 -->
+          <ws-form-item label="货名" span="1">
+            <ws-select
+              disabled
+              v-model="deptBudgetList.goodsName"
+              placeholder
+              class="typeselect"
+              @change="selectgoodsName"
+            >
+              <ws-option
+                v-for="item in goodnameList"
+                :key="item.constKey"
+                :label="item.constValue"
+                :value="item.constValue"
+              />
+            </ws-select>
+          </ws-form-item>
+          <ws-form-item label="类型" span="1" prop="type">
+            <ws-select v-model="deptBudgetList.type" @change="typeChange">
+              <ws-option
+                v-for="item in typeList"
+                :key="item"
+                :label="item"
+                :value="item"
+              />
+            </ws-select>
+          </ws-form-item>
+          <!--毛重(公斤)-->
+          <ws-form-item label="毛重(公斤)" span="1" prop="grossWeight">
+            <ws-input
+              :disabled="allowEdit"
+              @input="grossWeightchange"
+              v-model="deptBudgetList.grossWeight"
+              placeholder="请输入毛重"
+              maxlength="20"
+              type="number"
+              @mousewheel.native.prevent
+              size="small"
+            />
+              <el-button type="primary" v-if="information == '毛重检斤'" @click="openPort">重新获取</el-button>
+
+          </ws-form-item>
+
+          <!--皮重(公斤)-->
+          <ws-form-item
+            label="皮重(公斤)"
+            span="1"
+            prop="tare"
+            class="readonly"
+
+          >
+            <ws-input
+              :disabled="allowEdit"
+              @input="tarechange"
+              v-model="deptBudgetList.tare"
+              placeholder="请输入皮重"
+              type="number"
+              @mousewheel.native.prevent
+              maxlength="100"
+              size="small"
+            />
+              <el-button type="primary" v-if="information == '皮重检斤'" @click="openPort">重新获取</el-button>
+          </ws-form-item>
+          <ws-form-item
+            label="扣重(公斤)"
+            span="1"
+            prop="deductionWeight"
+            class="readonly"
+          >
+            <ws-input
+              @input="tarechange"
+              v-model="deptBudgetList.deductionWeight"
+              placeholder="请输入扣重"
+              type="number"
+              @mousewheel.native.prevent
+              maxlength="100"
+              size="small"
+            />
+          </ws-form-item>
+          <!--净重(公斤)-->
+          <ws-form-item label="净重(公斤)" span="1" prop="netWeight">
+            <ws-input
+              disabled
+              v-model="deptBudgetList.netWeight"
+              placeholder="不可编辑,自动计算"
+              maxlength="120"
+              size="small"
+            />
+          </ws-form-item>
+          <ws-form-item
+            v-if="deptBudgetList.type == '潮粮'"
+            label="扣重比"
+            span="1"
+            prop="buckleWeightRatio"
+            class="readonly"
+          >
+            <ws-input
+              @input="pureweight"
+              v-model="deptBudgetList.buckleWeightRatio"
+              placeholder="请输入扣重比"
+              type="number"
+              @mousewheel.native.prevent
+              maxlength="100"
+              size="small"
+            />
+          </ws-form-item>
+          <ws-form-item
+            v-if="deptBudgetList.type == '潮粮'"
+            label="干粮水分占比"
+            span="1"
+            prop="solidGrainWater"
+            class="readonly"
+          >
+            <ws-input
+              @input="pureweight"
+              v-model="deptBudgetList.solidGrainWater"
+              placeholder="请输入干粮水分占比"
+              maxlength="100"
+              type="number"
+              @mousewheel.native.prevent
+              size="small"
+            />
+          </ws-form-item>
+          <ws-form-item
+            v-if="deptBudgetList.type == '潮粮'"
+            label="潮粮水分占比"
+            span="1"
+            prop="tidalGrainWater"
+            class="readonly"
+          >
+            <ws-input
+              @input="pureweight(1)"
+              v-model="deptBudgetList.tidalGrainWater"
+              placeholder="请输入潮粮水分占比"
+              maxlength="100"
+              type="number"
+              @mousewheel.native.prevent
+              size="small"
+            />
+          </ws-form-item>
+          <ws-form-item
+            v-if="deptBudgetList.type == '潮粮'"
+            label="纯重"
+            span="1"
+            prop="pureWeight"
+            class="readonly"
+          >
+            <ws-input
+              disabled
+              v-model="deptBudgetList.pureWeight"
+              placeholder="不可编辑,自动计算"
+              maxlength="100"
+              size="small"
+            />
+          </ws-form-item>
+          <!--净重(公斤)-->
+          <ws-form-item label="扣款(元/公斤)" span="1" prop="deductionAmount">
+            <ws-input
+            @input="kkInput(deptBudgetList.deductionAmount)"
+              v-model="deptBudgetList.deductionAmount"
+              placeholder="请输入扣款金额"
+              maxlength="120"
+              size="small"
+            />
+          </ws-form-item>
+          <!-- 品级 -->
+          <ws-form-item label="品级" span="1" class="readonly">
+            <ws-select
+              v-model="deptBudgetList.grade"
+              placeholder
+              class="typeselect"
+              @change="selectpackingMethod"
+            >
+              <ws-option
+                v-for="item in gradeList"
+                :key="item.constKey"
+                :label="item.constValue"
+                :value="item.constValue"
+              />
+            </ws-select>
+          </ws-form-item>
+
+          <!--经办人-->
+          <ws-form-item label="经办人" span="1" prop="agent">
+            <el-select
+              v-model="deptBudgetList.agent"
+              placeholder="请选择经办人"
+              filterable
+              clearable
+              :filter-method="dataFilter"
+              @change="selectstaff"
+            >
+              <el-option
+                v-for="item in options"
+                :key="item.value"
+                :label="item.staffName"
+                :value="item.staffName"
+              />
+            </el-select>
+          </ws-form-item>
+          <!--出库日期-->
+          <ws-form-item
+            label="入库日期"
+            span="1"
+            prop="inOutDate"
+            class="deliverydate"
+          >
+            <el-date-picker
+              v-model="deptBudgetList.inOutDate"
+              placeholder="请选择入库日期"
+              type="date"
+              value-format="yyyy-MM-dd"
+            ></el-date-picker>
+          </ws-form-item>
+          <!-- 入库类型 -->
+          <ws-form-item label="入库类型" span="1">
+            <ws-select
+              v-model="deptBudgetList.inOutType"
+              placeholder
+              class="typeselect"
+              @change="selectstorageType"
+              :disabled="isSelectType"
+            >
+              <ws-option
+                v-for="item in storageType"
+                :key="item.constKey"
+                :label="item.constValue"
+                :value="item.constValue"
+              />
+            </ws-select>
+          </ws-form-item>
+
+          <!--车牌号  -->
+          <ws-form-item label="车牌号" span="1" prop="carNo">
+            <ws-input
+              v-if="!carstatus"
+              v-model="deptBudgetList.carNo"
+              placeholder="请输入车牌号"
+              maxlength="7"
+              size="small"
+            />
+            <el-select
+              v-if="carstatus"
+              filterable
+              :filter-method="dataFilter2"
+              v-model="deptBudgetList.carNo"
+              placeholder="请选择车牌号"
+              class="typeselect"
+              @change="carChange"
+            >
+              <el-option
+                v-for="item in options2"
+                :key="item.constKey"
+                :label="item.carNo + '(' + item.tranCarNo + ')'"
+                :value="item.carNo"
+              />
+            </el-select>
+          </ws-form-item>
+          <ws-form-item label="成本" span="1" prop="cost">
+            <ws-input
+              :disabled="disabled1"
+              v-model="deptBudgetList.cost"
+              placeholder="请输入成本"
+              size="small"
+              type="number"
+              @mousewheel.native.prevent
+            />
+            <img
+              width="17"
+              height="18"
+              style="vertical-align: text-top; position: relative; top: -1px"
+              src="../../../public/img/edit.png"
+              @click="editClick(1)"
+              alt=""
+            />
+          </ws-form-item>
+          <ws-form-item label="运费" span="1" prop="freight">
+            <ws-input
+              :disabled="disabled2"
+              v-model="deptBudgetList.freight"
+              placeholder="请输入运费"
+              size="small"
+              type="number"
+              @mousewheel.native.prevent
+            />
+            <img
+              width="17"
+              height="18"
+              style="vertical-align: text-top; position: relative; top: -1px"
+              src="../../../public/img/edit.png"
+              @click="editClick(2)"
+              alt=""
+            />
+          </ws-form-item>
+          <!-- onkeyup="value=value.replace(/[^\A-\Z0-9\u4E00-\u9FA5\.]/g,'')" -->
+        </ws-info-table>
+        <div
+          v-show="
+            this.$route.query.warehouseType == 2 &&
+            this.deptBudgetList.createType == 2
+          "
+        >
+          <el-checkbox v-model="checked" checked>退库并出库</el-checkbox>
+          <ws-info-table
+            v-show="checked == true && this.deptBudgetList.createType == 2"
+          >
+            <!-- 出库类型 -->
+            <ws-form-item label="出库类型" span="1" prop="temporaryOutType">
+              <!-- v-model="deptBudgetList.deliveryType" -->
+              <ws-select
+                v-model="deptBudgetList.temporaryOutType"
+                placeholder
+                class="typeselect"
+              >
+                <ws-option
+                  v-for="item in deliveryType"
+                  :key="item.constKey"
+                  :label="item.constValue"
+                  :value="item.constValue"
+                />
+              </ws-select>
+            </ws-form-item>
+            <!-- 出库合同编号 -->
+            <ws-form-item label="出库合同编号" span="1">
+              <ws-select
+                v-model="deptBudgetList.outContractNo"
+                placeholder="请选择合同编号或移库任务编号"
+                class="typeselect"
+              >
+                <ws-option
+                  v-for="item in outContractNo"
+                  :key="item.constKey"
+                  :label="item.contractNo"
+                  :value="item.contractNo"
+                />
+              </ws-select>
+            </ws-form-item>
+          </ws-info-table>
+        </div>
+      </div>
+      <!-- <div class="small-title">上传磅单照片</div>
+      <el-upload
+        action="https://www.zthymaoyi.com/upload/admin"
+        :show-file-list="false"
+        :on-success="
+          (res) => {
+            uploadSuccessHandle1(res)
+          }
+        "
+        class="avatar-uploader"
+        accept=".jpg, .jpeg, .png, .gif"
+      >
+      <el-button size="small" type="primary">点击上传</el-button>
+      </el-upload> -->
+      <div v-if='deptBudgetList.addressUrl!=""'>
+        <img
+          style="width: 100px; height: 100px"
+          :src="deptBudgetList.addressUrl"
+          alt=""
+        />
+      </div>
+      <div class="small-title">化验数据(选填)</div>
+      <div class="inspector">
+        <!--自检员-->
+        <!-- <ws-form-item label="质检员" span="1" prop="qualityInspector">
+          <ws-input
+            v-model="deptBudgetList.warehouseInOutDetail.qualityInspector"
+            placeholder="请输入质检员姓名"
+            maxlength="10"
+            size="small"
+          />
+        </ws-form-item> -->
+                 
+        <ws-form-item label="质检员" span="1" prop="qualityInspector">
+            <el-select
+              v-model="deptBudgetList.warehouseInOutDetail.qualityInspector"
+              placeholder="请选择质检员"
+              filterable
+              clearable
+              @change="qualityInspectorChange"
+            >
+              <el-option
+                v-for="item in qualityInspectorList"
+                :key="item.value"
+                :label="item.staffName"
+                :value="item.staffName"
+              />
+            </el-select>
+          </ws-form-item>
+      </div>
+
+      <div class="neifor">
+        <ws-info-table>
+          <!--水分(%)<=-->
+          <ws-form-item label="水分(%)" span="1" prop="waterContent">
+            <ws-input
+              v-model="deptBudgetList.warehouseInOutDetail.waterContent"
+              type="number"
+              @mousewheel.native.prevent
+              placeholder="请输入水分占比"
+              maxlength="40"
+              size="small"
+            />
+          </ws-form-item>
+          <!--杂质(%)<=-->
+          <ws-form-item label="杂质(%)" span="1" prop="impurity">
+            <ws-input
+              v-model="deptBudgetList.warehouseInOutDetail.impurity"
+              type="number"
+              @mousewheel.native.prevent
+              placeholder="请输入杂质占比"
+              maxlength="40"
+              size="small"
+            />
+          </ws-form-item>
+          <!--容重(克/升)-->
+          <ws-form-item label="容重(克/升)" span="1" prop="bulkDensity">
+            <ws-input
+              v-model="deptBudgetList.warehouseInOutDetail.bulkDensity"
+              type="number"
+              @mousewheel.native.prevent
+              placeholder="请输入容重"
+              maxlength="40"
+              size="small"
+            />
+          </ws-form-item>
+          <!--霉变粒(%)<=-->
+          <ws-form-item label="霉变粒(%)" span="1" prop="mildewGrain">
+            <ws-input
+              v-model="deptBudgetList.warehouseInOutDetail.mildewGrain"
+              type="number"
+              @mousewheel.native.prevent
+              placeholder="请输入霉变粒占比"
+              maxlength="40"
+              size="small"
+            />
+          </ws-form-item>
+          <!--热损伤(%)<=-->
+          <ws-form-item label="热损伤(%)" span="1" prop="jiaorenli">
+            <ws-input
+              v-model="deptBudgetList.warehouseInOutDetail.jiaorenli"
+              type="number"
+              @mousewheel.native.prevent
+              placeholder="请输入热损伤占比"
+              maxlength="40"
+              size="small"
+            />
+          </ws-form-item>
+          <!--不完善粒(%)<=-->
+          <ws-form-item label="不完善粒(%)" span="1" prop="imperfectGrain">
+            <ws-input
+              v-model="deptBudgetList.warehouseInOutDetail.imperfectGrain"
+              type="number"
+              @mousewheel.native.prevent
+              placeholder="请输入不完善粒占比"
+              maxlength="40"
+              size="small"
+            />
+          </ws-form-item>
+        </ws-info-table>
+      </div>
+      <div style="text-align: right; padding: 10px">
+        <el-button
+        v-if="information == '毛重检斤'"
+          class="bg-bottom-up"
+          type="primary"
+          size="small"
+          @click="temporaryStorage()"
+          >保存</el-button
+        >
+        <el-button
+        v-else
+          class="bg-bottom-up"
+          type="primary"
+          size="small"
+          @click="submit()"
+          >提交</el-button
+        >
+      </div>
+    </ws-form>
+  </div>
+</template>
+<script>
+import {
+  pullDown,
+  addstorageputList,
+  xialaNo,
+  getstaff,
+} from '@/model/warehouse/index'
+import Pagination from '@/components/Pagination'
+import WsUpload from '@/components/WsUpload'
+// import { dayjs, fmoney, EventBus } from 'base-core-lib'
+import { dayjs, EventBus } from 'base-core-lib'
+export default {
+  name: 'viewSpareMoney',
+  components: {
+    WsUpload,
+    Pagination,
+  },
+  watch: {
+    // vesselId(val) {
+    //   this.getList()
+    // },
+    isShow(val) {
+      this.showType = val
+    },
+  },
+  data() {
+    return {
+      qualityInspectorList:[],
+      isGetCost:false,
+      isSelectType:true,
+      //弹出框
+      dialogViewSpareMoney: false,
+      dialogApproveFormVisible: false,
+      // 船舶类型
+      monetaryKey: null,
+      // 表格显示数据
+      tableDate: [],
+      // 是否显示
+      showType: true,
+      typeList: ['干粮', '潮粮'],
+      // 年
+      year: '',
+      carstatus: false,
+      deptBudgetTotal: 0,
+      currentPage: 1,
+      pageSize: 10,
+      searchType: 1,
+      searchKeyWord: '',
+      contractType: 2,
+      startDate: null,
+      endDate: null,
+      goodnameList: {},
+      checked: true,
+      agent: [],
+      staffList: [],
+      options: [],
+      options1: [],
+      options2: [],
+      outContractNo1: [],
+      outContractNo: [],
+
+      // 提交类型
+      submitType: true,
+      storageType: [],
+      deliveryType: [],
+      readonly: true,
+      appendixIdsAdd: '',
+      uploadSuccess: {},
+      onChange: {},
+      gradeList: [],
+      rules: {
+        
+      },
+      size: 10,
+      disabled1: true,
+      disabled2: true,
+      tranCarInfoList: [],
+      compId: sessionStorage.getItem('ws-pf_compId'),
+      deptCircularPage: {},
+      packtypeList: {},
+      date: {
+        year: dayjs().format('YYYY'),
+        month: dayjs().format('MM'),
+      },
+      contractList: [],
+      deptBudgetList: {
+        type: '干粮',
+        freight: 0,
+        cost: '',
+        addressUrl:'',
+        warehouseInOutDetail: {},
+        deductionAmount:0,
+      },
+      historyList: [],
+      cost:'',
+      pickerBeginDateBefore: {
+        disabledDate: (time) => {
+          return time.getTime() > Date.now()
+        },
+      },
+      accessoryTFs: false,
+      allowEdit: true,
+      information:''
+    }
+  },
+  mounted() {
+    this.information = this.$route.query.information
+    if(this.$route.query.allowEdit == 1){
+      this.allowEdit = false
+    }
+    else{
+      this.allowEdit = true
+    }
+    this.deptBudgetList.baseId = this.$route.query.baseId
+    this.deptBudgetList.positionId = this.$route.query.positionId
+    this.deptBudgetList.warehouseName = this.$route.query.warehouseName
+    this.deptBudgetList.binNumber = this.$route.query.binNumber
+    this.deptBudgetList.warehouseType = this.$route.query.warehouseType
+    this.deptBudgetList.createType = this.$route.query.createType
+    this.getList()
+    this.deptBudgetList.grade = '一等品'
+    this.deptBudgetList.gradeKey = '1'
+    this.deptBudgetList.inOutTypeFlag=1
+       if(this.deptBudgetList.cost){
+        if(this.deptBudgetList.cost>this.deptBudgetList.deductionAmount){
+           this.deptBudgetList.cost = this.cost - this.deptBudgetList.deductionAmount
+          }
+       else{
+         
+       }
+      }
+    // if (this.deptBudgetList.warehouseType == 1) {
+    //   // this.deptBudgetList.inOutType = '采购入库'
+    //   this.deptBudgetList.inOutTypeKey = '1'
+    // } else {
+    //   // this.deptBudgetList.inOutType = '退库'
+    //   this.deptBudgetList.inOutTypeKey = '1'
+    // }
+  },
+  methods: {
+    async closePort() {
+      console.log('closePort');
+      this.reader.cancel()
+    },
+    async openPort() {
+      console.log('openPort', navigator);
+      if ('serial' in navigator) {
+        // The Web Serial API is supported.
+        console.log('the Web Serial API is supported.');
+        console.log(this.param);
+        const port = await navigator.serial.requestPort();
+        await port.open({
+          baudRate: this.param
+        }); // set baud rate
+        this.reader = port.readable.getReader();
+        // 监听来自串行设备的数据
+        while (true) {
+          const {
+            value,
+            done
+          } = await this.reader.read();
+          // console.log("value",value);
+          if (done) {
+            // 允许稍后关闭串口。
+            this.reader.releaseLock();
+            break;
+          }
+          var result = '';
+          //2。获取16进制字符串
+          // var receData = HexConvert.ByteToString(value);
+          // console.log("receData",receData);
+          var flag = false;
+          for (var i = 0; i < value.length; i++) {
+            var tmp = String.fromCharCode(value[i])
+            if (tmp == '+') {
+              flag = true
+            }
+            if (flag && result.length < 6 && tmp != '+') {
+              result += tmp
+            }
+          }
+          if (this.information != '毛重检斤') {
+            if(parseInt(result)){
+              this.deptBudgetList.grossWeight = parseInt(result)
+            }
+          } else {
+            if(parseInt(result)){
+              this.deptBudgetList.tare = parseInt(result)
+            }
+          }
+          setTimeout(1000)
+          // value 是一个 Uint8Array
+        }
+        await port.close();
+      } else {
+        console.log('the Web Serial API is not supported.', navigator);
+      }
+    },
+    qualityInspectorChange(e){
+      console.log(e)
+    },
+    kkInput(val){
+      console.log(val)
+      if(this.isGetCost){
+        if(this.deptBudgetList.cost>val){
+           this.deptBudgetList.cost = this.cost - this.deptBudgetList.deductionAmount
+          }
+      }
+    },
+    uploadSuccessHandle1(res) {
+      this.deptBudgetList.addressUrl = res.url
+      console.log(this.deptBudgetList.addressUrl)
+    },
+    dataFilter1(val) {
+      console.log(val)
+      this.deptBudgetList.contractNo = val
+      if (val) {
+        //val存在
+        this.options1 = this.outContractNo1.filter((item) => {
+          if (
+            !!~item.contractNo.indexOf(val) ||
+            !!~item.contractNo.toUpperCase().indexOf(val.toUpperCase())
+          ) {
+            return true
+          }
+        })
+      } else {
+        //val为空时,还原数组
+        this.options1 = this.outContractNo
+      }
+    },
+    dataFilter2(val) {
+      this.deptBudgetList.carNo = val
+      if (val) {
+        //val存在
+        this.options1 = this.outContractNo1.filter((item) => {
+          if (
+            !!~item.carNo.indexOf(val) ||
+            !!~item.carNo.toUpperCase().indexOf(val.toUpperCase())
+          ) {
+            return true
+          }
+        })
+      } else {
+        //val为空时,还原数组
+        this.options2 = this.tranCarInfoList
+      }
+    },
+    editClick(status) {
+      this.isGetCost = false
+      if (status == 1) {
+        this.disabled1 = !this.disabled1
+      } else {
+        this.disabled2 = !this.disabled2
+      }
+    },
+    //返回按钮
+    revert() {
+      this.$router.push({ path: 'warehouseManagementList' })
+    },
+    carChange(e) {
+      for (let i = 0; i < this.tranCarInfoList.length; i++) {
+        if (this.tranCarInfoList[i].carNo == this.deptBudgetList.carNo) {
+          this.deptBudgetList.tranCarNo=this.tranCarInfoList[i].tranCarNo
+          this.deptBudgetList.freight = this.tranCarInfoList[i].tranPrice
+        }
+      }
+    },
+    dataFilter(val) {
+      // console.log(val,"名")
+      this.deptBudgetList.staffList = val
+      if (val) {
+        //val存在
+        this.options = this.staffList.filter((item) => {
+          if (
+            !!~item.staffName.indexOf(val) ||
+            !!~item.staffName.toUpperCase().indexOf(val.toUpperCase())
+          ) {
+            return true
+          }
+        })
+      } else {
+        //val为空时,还原数组
+        this.options = this.staffList
+      }
+    },
+    selectstaff(e) {
+      for (var i = 0; i < this.staffList.length; i++) {
+        if (this.staffList[i].staffName == e) {
+          this.deptBudgetList.personChargeKey = this.staffList[i].staffId
+        }
+      }
+    },
+    //提交按钮
+    submit() {
+      if (!this.deptBudgetList.goodsName) {
+        this.$message({
+          message: '货名不能为空',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.deptBudgetList.grossWeight) {
+        this.$message({
+          message: '毛重不能为空',
+          type: 'warning',
+        })
+        return
+      }
+      if (
+        this.deptBudgetList.grossWeight < 0 ||
+        this.deptBudgetList.grossWeight > 10000 ||
+        (String(this.deptBudgetList.grossWeight).indexOf('.') != -1 &&
+          String(this.deptBudgetList.grossWeight).length -
+            (String(this.deptBudgetList.grossWeight).indexOf('.') + 1) >
+            3)
+      ) {
+        this.$message({
+          message: '毛重输入错误',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.deptBudgetList.tare) {
+        this.$message({
+          message: '皮重不能为空',
+          type: 'warning',
+        })
+        return
+      }
+      if (
+        this.deptBudgetList.tare < 0 ||
+        this.deptBudgetList.tare > 10000 ||
+        (String(this.deptBudgetList.tare).indexOf('.') != -1 &&
+          String(this.deptBudgetList.tare).length -
+            (String(this.deptBudgetList.tare).indexOf('.') + 1) >
+            3)
+      ) {
+        this.$message({
+          message: '皮重输入错误',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.deptBudgetList.deductionWeight) {
+        this.$message({
+          message: '扣重不能为空',
+          type: 'warning',
+        })
+        return
+      }
+      if (
+        this.deptBudgetList.deductionWeight < 0 ||
+        this.deptBudgetList.deductionWeight > 10 ||
+        (String(this.deptBudgetList.deductionWeight).indexOf('.') != -1 &&
+          String(this.deptBudgetList.deductionWeight).length -
+            (String(this.deptBudgetList.deductionWeight).indexOf('.') + 1) >
+            3)
+      ) {
+        this.$message({
+          message: '扣重输入错误',
+          type: 'warning',
+        })
+        return
+      }
+      if (
+        this.deptBudgetList.type == '潮粮' &&
+        !this.deptBudgetList.buckleWeightRatio
+      ) {
+        this.$message({
+          message: '扣重比不能为空',
+          type: 'warning',
+        })
+        return
+      }
+      if (
+        (this.deptBudgetList.type == '潮粮' &&
+          this.deptBudgetList.buckleWeightRatio < 0) ||
+        (this.deptBudgetList.type == '潮粮' &&
+          this.deptBudgetList.buckleWeightRatio > 3) ||
+        (this.deptBudgetList.type == '潮粮' &&
+          String(this.deptBudgetList.buckleWeightRatio).indexOf('.') != -1 &&
+          String(this.deptBudgetList.buckleWeightRatio).length -
+            (String(this.deptBudgetList.buckleWeightRatio).indexOf('.') + 1) >
+            2)
+      ) {
+        this.$message({
+          message: '扣重比输入错误',
+          type: 'warning',
+        })
+        return
+      }
+      if (
+        this.deptBudgetList.type == '潮粮' &&
+        !this.deptBudgetList.tidalGrainWater
+      ) {
+        this.$message({
+          message: '潮粮水分不能为空',
+          type: 'warning',
+        })
+        return
+      }
+      if (
+        (this.deptBudgetList.type == '潮粮' &&
+          this.deptBudgetList.tidalGrainWater < 1) ||
+        (this.deptBudgetList.type == '潮粮' &&
+          this.deptBudgetList.tidalGrainWater > 40) ||
+        (this.deptBudgetList.type == '潮粮' &&
+          String(this.deptBudgetList.tidalGrainWater).indexOf('.') != -1 &&
+          String(this.deptBudgetList.tidalGrainWater).length -
+            (String(this.deptBudgetList.tidalGrainWater).indexOf('.') + 1) >
+            2)
+      ) {
+        this.$message({
+          message: '潮粮水分输入错误',
+          type: 'warning',
+        })
+        return
+      }
+      if (
+        this.deptBudgetList.type == '潮粮' &&
+        !this.deptBudgetList.solidGrainWater
+      ) {
+        this.$message({
+          message: '干粮水分不能为空',
+          type: 'warning',
+        })
+        return
+      }
+      if (
+        (this.deptBudgetList.type == '潮粮' &&
+          this.deptBudgetList.solidGrainWater < 1) ||
+        (this.deptBudgetList.type == '潮粮' &&
+          this.deptBudgetList.solidGrainWater > 40) ||
+        (this.deptBudgetList.type == '潮粮' &&
+          String(this.deptBudgetList.solidGrainWater).indexOf('.') != -1 &&
+          String(this.deptBudgetList.solidGrainWater).length -
+            (String(this.deptBudgetList.solidGrainWater).indexOf('.') + 1) >
+            1)
+      ) {
+        this.$message({
+          message: '干粮水分输入错误',
+          type: 'warning',
+        })
+        return
+      }
+      if (!String(this.deptBudgetList.deductionAmount)) {
+        this.$message({
+          message: '扣款不能为空',
+          type: 'warning',
+        })
+        return
+      }
+      if (
+        this.deptBudgetList.deductionAmount < 0 ||
+        this.deptBudgetList.deductionAmount > 10000 ||
+        (String(this.deptBudgetList.deductionAmount).indexOf('.') != -1 &&
+          String(this.deptBudgetList.deductionAmount).length -
+            (String(this.deptBudgetList.deductionAmount).indexOf('.') + 1) >
+            2)
+      ) {
+        this.$message({
+          message: '扣款输入错误',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.deptBudgetList.cost) {
+        this.$message({
+          message: '未获取到成本,请编辑后提交',
+          type: 'warning',
+        })
+        return
+      }
+      if (
+        this.deptBudgetList.cost < 0 ||
+        this.deptBudgetList.cost > 20000 ||
+        (String(this.deptBudgetList.cost).indexOf('.') != -1 &&
+          String(this.deptBudgetList.cost).length -
+            (String(this.deptBudgetList.cost).indexOf('.') + 1) >
+            2)
+      ) {
+        this.$message({
+          message: '成本输入错误',
+          type: 'warning',
+        })
+        return
+      }
+      if (!String(this.deptBudgetList.freight)) {
+        this.$message({
+          message: '运费不能为空',
+          type: 'warning',
+        })
+        return
+      }
+      if (
+        this.deptBudgetList.freight < 0 ||
+        this.deptBudgetList.freight > 100000 ||
+        (String(this.deptBudgetList.freight).indexOf('.') != -1 &&
+          String(this.deptBudgetList.freight).length -
+            (String(this.deptBudgetList.freight).indexOf('.') + 1) >
+            2)
+      ) {
+        this.$message({
+          message: '运费输入错误',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.deptBudgetList.agent) {
+        this.$message({
+          message: '经办人不能为空',
+          type: 'warning',
+        })
+        return
+      }
+      if (
+        this.deptBudgetList.agent.length < 2 ||
+        this.deptBudgetList.agent.length > 10
+      ) {
+        this.$message({
+          message: '经办人输入有误',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.deptBudgetList.grade) {
+        this.$message({
+          message: '品级不能为空!',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.deptBudgetList.inOutDate) {
+        this.$message({
+          message: '入库日期不能为空!',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.deptBudgetList.inOutType) {
+        this.$message({
+          message: '入库类型不能为空!',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.deptBudgetList.carNo) {
+        this.$message({
+          message: '车牌号不能为空',
+          type: 'warning',
+        })
+        return
+      }
+      if (this.deptBudgetList.carNo.length > 7) {
+        this.$message({
+          message: '车牌号输入错误,请输入7个字符之内',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.deptBudgetList.contractNo) {
+        this.$message({
+          message: '合同编号不能为空',
+          type: 'warning',
+        })
+        return
+      }
+      if (
+        this.deptBudgetList.contractNo.length < 6 ||
+        this.deptBudgetList.contractNo.length > 20
+      ) {
+        this.$message({
+          message: '合同编号长度不符合要求,请输入6-20个字符之内',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.deptBudgetList.addressUrl) {
+        this.$message({
+          message: '附件不能为空',
+          type: 'warning',
+        })
+        return
+      }
+      //自检员
+      if (this.deptBudgetList.warehouseInOutDetail.qualityInspector) {
+        if (
+          this.deptBudgetList.warehouseInOutDetail.qualityInspector.length <
+            2 ||
+          this.deptBudgetList.warehouseInOutDetail.qualityInspector.length > 10
+        ) {
+          this.$message({
+            message: '质检员姓名长度错误!',
+            type: 'warning',
+          })
+          return
+        }
+      }
+      if (this.deptBudgetList.warehouseInOutDetail.waterContent) {
+        if (isNaN(this.deptBudgetList.warehouseInOutDetail.waterContent)) {
+          this.$message({
+            message: '水分(%)非数字!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.warehouseInOutDetail.waterContent < 1 ||
+          this.deptBudgetList.warehouseInOutDetail.waterContent > 40 ||
+          (String(
+            this.deptBudgetList.warehouseInOutDetail.waterContent
+          ).indexOf('.') != -1 &&
+            String(this.deptBudgetList.warehouseInOutDetail.waterContent)
+              .length -
+              (String(
+                this.deptBudgetList.warehouseInOutDetail.waterContent
+              ).indexOf('.') +
+                1) >
+              2)
+        ) {
+          this.$message({
+            message: '水分(%)输入错误! 取值范围1-40之间且可以保留2小数',
+            type: 'warning',
+          })
+          return
+        }
+      }
+
+      //杂质
+      if (this.deptBudgetList.warehouseInOutDetail.impurity) {
+        if (isNaN(this.deptBudgetList.warehouseInOutDetail.impurity)) {
+          this.$message({
+            message: '杂质(%)非数字!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.warehouseInOutDetail.impurity < 1 ||
+          this.deptBudgetList.warehouseInOutDetail.impurity > 40 ||
+          (String(this.deptBudgetList.warehouseInOutDetail.impurity).indexOf(
+            '.'
+          ) != -1 &&
+            String(this.deptBudgetList.warehouseInOutDetail.impurity).length -
+              (String(
+                this.deptBudgetList.warehouseInOutDetail.impurity
+              ).indexOf('.') +
+                1) >
+              2)
+        ) {
+          this.$message({
+            message: '杂质(%)输入错误! 取值范围1-40之间且可以保留2小数',
+            type: 'warning',
+          })
+          return
+        }
+      }
+      //霉变
+      if (this.deptBudgetList.warehouseInOutDetail.mildewGrain) {
+        if (isNaN(this.deptBudgetList.warehouseInOutDetail.mildewGrain)) {
+          this.$message({
+            message: '霉变粒(%)非数字!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.warehouseInOutDetail.mildewGrain < 1 ||
+          this.deptBudgetList.warehouseInOutDetail.mildewGrain > 40 ||
+          (String(this.deptBudgetList.warehouseInOutDetail.mildewGrain).indexOf(
+            '.'
+          ) != -1 &&
+            String(this.deptBudgetList.warehouseInOutDetail.mildewGrain)
+              .length -
+              (String(
+                this.deptBudgetList.warehouseInOutDetail.mildewGrain
+              ).indexOf('.') +
+                1) >
+              2)
+        ) {
+          this.$message({
+            message: '霉变粒(%)输入错误! 取值范围1-40之间且可以保留2小数',
+            type: 'warning',
+          })
+          return
+        }
+      }
+
+      //热损伤
+      if (this.deptBudgetList.warehouseInOutDetail.jiaorenli) {
+        if (isNaN(this.deptBudgetList.warehouseInOutDetail.jiaorenli)) {
+          this.$message({
+            message: '热损伤(%)非数字!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.warehouseInOutDetail.jiaorenli < 1 ||
+          this.deptBudgetList.warehouseInOutDetail.jiaorenli > 40 ||
+          (String(this.deptBudgetList.warehouseInOutDetail.jiaorenli).indexOf(
+            '.'
+          ) != -1 &&
+            String(this.deptBudgetList.warehouseInOutDetail.jiaorenli).length -
+              (String(
+                this.deptBudgetList.warehouseInOutDetail.jiaorenli
+              ).indexOf('.') +
+                1) >
+              2)
+        ) {
+          this.$message({
+            message: '热损伤(%)输入错误! 取值范围1-40之间且可以保留2小数',
+            type: 'warning',
+          })
+          return
+        }
+      }
+
+      //不完善粒(%)
+      if (this.deptBudgetList.warehouseInOutDetail.imperfectGrain) {
+        if (isNaN(this.deptBudgetList.warehouseInOutDetail.imperfectGrain)) {
+          this.$message({
+            message: '不完善粒(%)非数字!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.warehouseInOutDetail.imperfectGrain < 1 ||
+          this.deptBudgetList.warehouseInOutDetail.imperfectGrain > 40 ||
+          (String(
+            this.deptBudgetList.warehouseInOutDetail.imperfectGrain
+          ).indexOf('.') != -1 &&
+            String(this.deptBudgetList.warehouseInOutDetail.imperfectGrain)
+              .length -
+              (String(
+                this.deptBudgetList.warehouseInOutDetail.imperfectGrain
+              ).indexOf('.') +
+                1) >
+              2)
+        ) {
+          this.$message({
+            message: '不完善粒(%)输入错误! 取值范围1-40之间且可以保留2小数',
+            type: 'warning',
+          })
+          return
+        }
+      }
+      //容重
+      if (this.deptBudgetList.warehouseInOutDetail.bulkDensity) {
+        if (isNaN(this.deptBudgetList.warehouseInOutDetail.bulkDensity)) {
+          this.$message({
+            message: '容重(克/升)非数字!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          (this.deptBudgetList.warehouseInOutDetail.bulkDensity &&
+            String(
+              this.deptBudgetList.warehouseInOutDetail.bulkDensity
+            ).indexOf('.') != -1 &&
+            String(this.deptBudgetList.warehouseInOutDetail.bulkDensity)
+              .length -
+              (String(
+                this.deptBudgetList.warehouseInOutDetail.bulkDensity
+              ).indexOf('.') +
+                1) >
+              2) ||
+          this.deptBudgetList.warehouseInOutDetail.bulkDensity > 1000 ||
+          this.deptBudgetList.warehouseInOutDetail.bulkDensity < 0
+        ) {
+          this.$message({
+            message: '容重输入错误',
+            type: 'warning',
+          })
+          return
+        }
+      }
+      console.log(this.deptBudgetList, '入库对象')
+      this.deptBudgetList.id = this.$route.query.id
+      this.$confirm(`确定提交入库信息`, {
+        cancelButtonText: '取消',
+        confirmButtonText: '确定',
+        type: 'warning',
+      })
+        .then(() => {
+          this.$refs.deptBudgetList.validate((valid) => {
+            if (valid) {
+              this.deptBudgetList.compId =
+                sessionStorage.getItem('ws-pf_compId')
+              this.deptBudgetList.inOutFlag = 2
+              this.deptBudgetList.pcFlag = 1
+              this.deptBudgetList.statusFlag = 3
+              addstorageputList(this.deptBudgetList)
+                .toPromise()
+                .then((response) => {
+                  this.$message.success('添加成功')
+                  this.$router.push({ path: 'warehouseManagementList' })
+                })
+            } else {
+              EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+              return false
+            }
+          })
+        })
+        .catch(() => {
+          return false
+        })
+    },
+    temporaryStorage() {
+      if (!this.deptBudgetList.goodsName) {
+        this.$message({
+          message: '货名不能为空',
+          type: 'warning',
+        })
+        return
+      }
+      if (this.information == '毛重检斤'&&!this.deptBudgetList.grossWeight) {
+        this.$message({
+          message: '毛重不能为空',
+          type: 'warning',
+        })
+        return
+      }
+      if (
+        this.information == '毛重检斤'&&(
+        this.deptBudgetList.grossWeight < 0 ||
+        this.deptBudgetList.grossWeight > 2000000 ||
+        (String(this.deptBudgetList.grossWeight).indexOf('.') != -1 &&
+          String(this.deptBudgetList.grossWeight).length -
+            (String(this.deptBudgetList.grossWeight).indexOf('.') + 1) >
+            3))
+      ) {
+        this.$message({
+          message: '毛重输入错误',
+          type: 'warning',
+        })
+        return
+      }
+      if (this.information == '皮重检斤'&&!this.deptBudgetList.tare) {
+        this.$message({
+          message: '皮重不能为空',
+          type: 'warning',
+        })
+        return
+      }
+      if (
+        this.information == '皮重检斤'&&(
+        this.deptBudgetList.tare < 0 ||
+        this.deptBudgetList.tare > 1000000 ||
+        (String(this.deptBudgetList.tare).indexOf('.') != -1 &&
+          String(this.deptBudgetList.tare).length -
+            (String(this.deptBudgetList.tare).indexOf('.') + 1) >
+            3))
+      ) {
+        this.$message({
+          message: '皮重输入错误',
+          type: 'warning',
+        })
+        return
+      }
+      // if (!this.deptBudgetList.deductionWeight) {
+      //   this.$message({
+      //     message: '扣重不能为空',
+      //     type: 'warning',
+      //   })
+      //   return
+      // }
+      // if (
+      //   this.deptBudgetList.deductionWeight < 0 ||
+      //   this.deptBudgetList.deductionWeight > 10 ||
+      //   (String(this.deptBudgetList.deductionWeight).indexOf('.') != -1 &&
+      //     String(this.deptBudgetList.deductionWeight).length -
+      //       (String(this.deptBudgetList.deductionWeight).indexOf('.') + 1) >
+      //       3)
+      // ) {
+      //   this.$message({
+      //     message: '扣重输入错误',
+      //     type: 'warning',
+      //   })
+      //   return
+      // }
+      // if (
+      //   this.deptBudgetList.type == '潮粮' &&
+      //   !this.deptBudgetList.buckleWeightRatio
+      // ) {
+      //   this.$message({
+      //     message: '扣重比不能为空',
+      //     type: 'warning',
+      //   })
+      //   return
+      // }
+      // if (
+      //   (this.deptBudgetList.type == '潮粮' &&
+      //     this.deptBudgetList.buckleWeightRatio < 0) ||
+      //   (this.deptBudgetList.type == '潮粮' &&
+      //     this.deptBudgetList.buckleWeightRatio > 3) ||
+      //   (this.deptBudgetList.type == '潮粮' &&
+      //     String(this.deptBudgetList.buckleWeightRatio).indexOf('.') != -1 &&
+      //     String(this.deptBudgetList.buckleWeightRatio).length -
+      //       (String(this.deptBudgetList.buckleWeightRatio).indexOf('.') + 1) >
+      //       2)
+      // ) {
+      //   this.$message({
+      //     message: '扣重比输入错误',
+      //     type: 'warning',
+      //   })
+      //   return
+      // }
+      // if (
+      //   this.deptBudgetList.type == '潮粮' &&
+      //   !this.deptBudgetList.tidalGrainWater
+      // ) {
+      //   this.$message({
+      //     message: '潮粮水分不能为空',
+      //     type: 'warning',
+      //   })
+      //   return
+      // }
+      // if (
+      //   (this.deptBudgetList.type == '潮粮' &&
+      //     this.deptBudgetList.tidalGrainWater < 1) ||
+      //   (this.deptBudgetList.type == '潮粮' &&
+      //     this.deptBudgetList.tidalGrainWater > 40) ||
+      //   (this.deptBudgetList.type == '潮粮' &&
+      //     String(this.deptBudgetList.tidalGrainWater).indexOf('.') != -1 &&
+      //     String(this.deptBudgetList.tidalGrainWater).length -
+      //       (String(this.deptBudgetList.tidalGrainWater).indexOf('.') + 1) >
+      //       2)
+      // ) {
+      //   this.$message({
+      //     message: '潮粮水分输入错误',
+      //     type: 'warning',
+      //   })
+      //   return
+      // }
+      // if (
+      //   this.deptBudgetList.type == '潮粮' &&
+      //   !this.deptBudgetList.solidGrainWater
+      // ) {
+      //   this.$message({
+      //     message: '干粮水分不能为空',
+      //     type: 'warning',
+      //   })
+      //   return
+      // }
+      // if (
+      //   (this.deptBudgetList.type == '潮粮' &&
+      //     this.deptBudgetList.solidGrainWater < 1) ||
+      //   (this.deptBudgetList.type == '潮粮' &&
+      //     this.deptBudgetList.solidGrainWater > 40) ||
+      //   (this.deptBudgetList.type == '潮粮' &&
+      //     String(this.deptBudgetList.solidGrainWater).indexOf('.') != -1 &&
+      //     String(this.deptBudgetList.solidGrainWater).length -
+      //       (String(this.deptBudgetList.solidGrainWater).indexOf('.') + 1) >
+      //       1)
+      // ) {
+      //   this.$message({
+      //     message: '干粮水分输入错误',
+      //     type: 'warning',
+      //   })
+      //   return
+      // }
+      // if (!this.deptBudgetList.deductionAmount) {
+      //   this.$message({
+      //     message: '扣款不能为空',
+      //     type: 'warning',
+      //   })
+      //   return
+      // }
+      // if (
+      //   this.deptBudgetList.deductionAmount < 0 ||
+      //   this.deptBudgetList.deductionAmount > 10000 ||
+      //   (String(this.deptBudgetList.deductionAmount).indexOf('.') != -1 &&
+      //     String(this.deptBudgetList.deductionAmount).length -
+      //       (String(this.deptBudgetList.deductionAmount).indexOf('.') + 1) >
+      //       2)
+      // ) {
+      //   this.$message({
+      //     message: '扣款输入错误',
+      //     type: 'warning',
+      //   })
+      //   return
+      // }
+      // if (!this.deptBudgetList.cost) {
+      //   this.$message({
+      //     message: '未获取到成本,请编辑后提交',
+      //     type: 'warning',
+      //   })
+      //   return
+      // }
+      // if (
+      //   this.deptBudgetList.cost < 0 ||
+      //   this.deptBudgetList.cost > 20000 ||
+      //   (String(this.deptBudgetList.cost).indexOf('.') != -1 &&
+      //     String(this.deptBudgetList.cost).length -
+      //       (String(this.deptBudgetList.cost).indexOf('.') + 1) >
+      //       2)
+      // ) {
+      //   this.$message({
+      //     message: '成本输入错误',
+      //     type: 'warning',
+      //   })
+      //   return
+      // }
+      // if (!this.deptBudgetList.freight) {
+      //   this.$message({
+      //     message: '运费不能为空',
+      //     type: 'warning',
+      //   })
+      //   return
+      // }
+      
+      // if (
+      //   this.deptBudgetList.freight < 0 ||
+      //   this.deptBudgetList.freight > 100000 ||
+      //   (String(this.deptBudgetList.freight).indexOf('.') != -1 &&
+      //     String(this.deptBudgetList.freight).length -
+      //       (String(this.deptBudgetList.freight).indexOf('.') + 1) >
+      //       2)
+      // ) {
+      //   this.$message({
+      //     message: '运费输入错误',
+      //     type: 'warning',
+      //   })
+      //   return
+      // }
+      // if (!this.deptBudgetList.agent) {
+      //   this.$message({
+      //     message: '经办人不能为空',
+      //     type: 'warning',
+      //   })
+      //   return
+      // }
+      // if (
+      //   this.deptBudgetList.agent.length < 2 ||
+      //   this.deptBudgetList.agent.length > 10
+      // ) {
+      //   this.$message({
+      //     message: '经办人输入有误',
+      //     type: 'warning',
+      //   })
+      //   return
+      // }
+      // if (!this.deptBudgetList.carNo) {
+      //   this.$message({
+      //     message: '车牌号不能为空',
+      //     type: 'warning'
+      //   })
+      //   return
+      // }
+      // if (this.deptBudgetList.carNo.length > 7) {
+      //   this.$message({
+      //     message: '车牌号输入错误,请输入7个字符之内',
+      //     type: 'warning'
+      //   })
+      //   return
+      // }
+      if (!this.deptBudgetList.contractNo) {
+        this.$message({
+          message: '合同编号不能为空',
+          type: 'warning',
+        })
+        return
+      }
+      if (
+        this.deptBudgetList.contractNo.length < 6 ||
+        this.deptBudgetList.contractNo.length > 20
+      ) {
+        this.$message({
+          message: '合同编号长度不符合要求,请输入6-20个字符之内',
+          type: 'warning',
+        })
+        return
+      }
+      // if (this.deptBudgetList.netWeight > this.$route.query.capacity) {
+      //   this.$message({
+      //     message: '入库量大于该仓库容量!',
+      //     type: 'warning',
+      //   })
+      //   return
+      // }
+      //自检员
+      if (this.deptBudgetList.warehouseInOutDetail.qualityInspector) {
+        if (
+          this.deptBudgetList.warehouseInOutDetail.qualityInspector.length <
+            2 ||
+          this.deptBudgetList.warehouseInOutDetail.qualityInspector.length > 10
+        ) {
+          this.$message({
+            message: '质检员姓名长度错误!',
+            type: 'warning',
+          })
+          return
+        }
+      }
+      if (this.deptBudgetList.warehouseInOutDetail.waterContent) {
+        if (isNaN(this.deptBudgetList.warehouseInOutDetail.waterContent)) {
+          this.$message({
+            message: '水分(%)非数字!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.warehouseInOutDetail.waterContent < 1 ||
+          this.deptBudgetList.warehouseInOutDetail.waterContent > 40 ||
+          (String(
+            this.deptBudgetList.warehouseInOutDetail.waterContent
+          ).indexOf('.') != -1 &&
+            String(this.deptBudgetList.warehouseInOutDetail.waterContent)
+              .length -
+              (String(
+                this.deptBudgetList.warehouseInOutDetail.waterContent
+              ).indexOf('.') +
+                1) >
+              2)
+        ) {
+          this.$message({
+            message: '水分(%)输入错误! 取值范围1-40之间且可以保留2小数',
+            type: 'warning',
+          })
+          return
+        }
+      }
+
+      //杂质
+      if (this.deptBudgetList.warehouseInOutDetail.impurity) {
+        if (isNaN(this.deptBudgetList.warehouseInOutDetail.impurity)) {
+          this.$message({
+            message: '杂质(%)非数字!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.warehouseInOutDetail.impurity < 1 ||
+          this.deptBudgetList.warehouseInOutDetail.impurity > 40 ||
+          (String(this.deptBudgetList.warehouseInOutDetail.impurity).indexOf(
+            '.'
+          ) != -1 &&
+            String(this.deptBudgetList.warehouseInOutDetail.impurity).length -
+              (String(
+                this.deptBudgetList.warehouseInOutDetail.impurity
+              ).indexOf('.') +
+                1) >
+              2)
+        ) {
+          this.$message({
+            message: '杂质(%)输入错误! 取值范围1-40之间且可以保留2小数',
+            type: 'warning',
+          })
+          return
+        }
+      }
+      //霉变
+      if (this.deptBudgetList.warehouseInOutDetail.mildewGrain) {
+        if (isNaN(this.deptBudgetList.warehouseInOutDetail.mildewGrain)) {
+          this.$message({
+            message: '霉变粒(%)非数字!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.warehouseInOutDetail.mildewGrain < 1 ||
+          this.deptBudgetList.warehouseInOutDetail.mildewGrain > 40 ||
+          (String(this.deptBudgetList.warehouseInOutDetail.mildewGrain).indexOf(
+            '.'
+          ) != -1 &&
+            String(this.deptBudgetList.warehouseInOutDetail.mildewGrain)
+              .length -
+              (String(
+                this.deptBudgetList.warehouseInOutDetail.mildewGrain
+              ).indexOf('.') +
+                1) >
+              2)
+        ) {
+          this.$message({
+            message: '霉变粒(%)输入错误! 取值范围1-40之间且可以保留2小数',
+            type: 'warning',
+          })
+          return
+        }
+      }
+
+      //热损伤
+      if (this.deptBudgetList.warehouseInOutDetail.jiaorenli) {
+        if (isNaN(this.deptBudgetList.warehouseInOutDetail.jiaorenli)) {
+          this.$message({
+            message: '热损伤(%)非数字!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.warehouseInOutDetail.jiaorenli < 1 ||
+          this.deptBudgetList.warehouseInOutDetail.jiaorenli > 40 ||
+          (String(this.deptBudgetList.warehouseInOutDetail.jiaorenli).indexOf(
+            '.'
+          ) != -1 &&
+            String(this.deptBudgetList.warehouseInOutDetail.jiaorenli).length -
+              (String(
+                this.deptBudgetList.warehouseInOutDetail.jiaorenli
+              ).indexOf('.') +
+                1) >
+              2)
+        ) {
+          this.$message({
+            message: '热损伤(%)输入错误! 取值范围1-40之间且可以保留2小数',
+            type: 'warning',
+          })
+          return
+        }
+      }
+
+      //不完善粒(%)
+      if (this.deptBudgetList.warehouseInOutDetail.imperfectGrain) {
+        if (isNaN(this.deptBudgetList.warehouseInOutDetail.imperfectGrain)) {
+          this.$message({
+            message: '不完善粒(%)非数字!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.warehouseInOutDetail.imperfectGrain < 1 ||
+          this.deptBudgetList.warehouseInOutDetail.imperfectGrain > 40 ||
+          (String(
+            this.deptBudgetList.warehouseInOutDetail.imperfectGrain
+          ).indexOf('.') != -1 &&
+            String(this.deptBudgetList.warehouseInOutDetail.imperfectGrain)
+              .length -
+              (String(
+                this.deptBudgetList.warehouseInOutDetail.imperfectGrain
+              ).indexOf('.') +
+                1) >
+              2)
+        ) {
+          this.$message({
+            message: '不完善粒(%)输入错误! 取值范围1-40之间且可以保留2小数',
+            type: 'warning',
+          })
+          return
+        }
+      }
+      //容重
+      if (this.deptBudgetList.warehouseInOutDetail.bulkDensity) {
+        if (isNaN(this.deptBudgetList.warehouseInOutDetail.bulkDensity)) {
+          this.$message({
+            message: '容重(克/升)非数字!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          (this.deptBudgetList.warehouseInOutDetail.bulkDensity &&
+            String(
+              this.deptBudgetList.warehouseInOutDetail.bulkDensity
+            ).indexOf('.') != -1 &&
+            String(this.deptBudgetList.warehouseInOutDetail.bulkDensity)
+              .length -
+              (String(
+                this.deptBudgetList.warehouseInOutDetail.bulkDensity
+              ).indexOf('.') +
+                1) >
+              2) ||
+          this.deptBudgetList.warehouseInOutDetail.bulkDensity > 1000 ||
+          this.deptBudgetList.warehouseInOutDetail.bulkDensity < 0
+        ) {
+          this.$message({
+            message: '容重输入错误',
+            type: 'warning',
+          })
+          return
+        }
+      }
+      this.$confirm(`是否保存毛重检斤`, {
+        cancelButtonText: '取消',
+        confirmButtonText: '确定',
+        type: 'warning',
+      })
+        .then(() => {
+          this.$refs.deptBudgetList.validate((valid) => {
+            if (valid) {
+              this.deptBudgetList.compId =
+                sessionStorage.getItem('ws-pf_compId')
+              this.deptBudgetList.inOutFlag = 2
+              this.deptBudgetList.statusFlag = 1
+              let _data = JSON.parse(sessionStorage.getItem('winseaview-userInfo'))
+                this.deptBudgetList.backOffice  = _data.content.showCompName+'-' +_data.content.staffName
+                this.deptBudgetList.grossWeight /= 1000
+                this.deptBudgetList.tare /= 1000
+                this.deptBudgetList.netWeight /= 1000
+                this.deptBudgetList.pureWeight /= 1000
+                this.deptBudgetList.deductionAmount *= 1000
+                this.deptBudgetList.deductionWeight *= 1000
+              addstorageputList(this.deptBudgetList)
+                .toPromise()
+                .then((response) => {
+                  this.$message.success('保存成功')
+                  this.$router.push({ path: 'warehouseManagementList' })
+                })
+            } else {
+              EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+              return false
+            }
+          })
+        })
+        .catch(() => {
+          return false
+        })
+    },
+    tarechange(e) {
+      if (
+        this.deptBudgetList.grossWeight &&
+        this.deptBudgetList.tare &&
+        this.deptBudgetList.deductionWeight
+      ) {
+        this.deptBudgetList.netWeight = Number(
+          this.deptBudgetList.grossWeight -
+            this.deptBudgetList.tare -
+            this.deptBudgetList.deductionWeight
+        )
+      }
+    },
+    grossWeightchange(e) {
+      if (
+        this.deptBudgetList.grossWeight &&
+        this.deptBudgetList.tare &&
+        this.deptBudgetList.deductionWeight
+      ) {
+        this.deptBudgetList.netWeight = Number(
+          this.deptBudgetList.grossWeight -
+            this.deptBudgetList.tare -
+            this.deptBudgetList.deductionWeight
+        )
+      }
+    },
+    contractNoChange(e) {
+      for (var i = 0; i < this.outContractNo.length; i++) {
+        if (this.outContractNo[i].contractNo == e) {
+          if (this.outContractNo[i].inOutType == '采购入库') {
+              this.deptBudgetList.inOutTypeKey = 1
+            } else if (this.outContractNo[i].inOutType == '移库入库') {
+              this.deptBudgetList.inOutTypeKey = 3
+            } else if (this.outContractNo[i].inOutType == '暂存入库') {
+              this.deptBudgetList.inOutTypeKey = 4
+            } else if (this.outContractNo[i].inOutType == '贸易服务入库') {
+              this.deptBudgetList.inOutTypeKey = 5
+            } else if (this.detailData.inOutType == '退库') {
+              this.deptBudgetList.inOutTypeKey = 6
+            }
+          this.deptBudgetList.goodsName = this.outContractNo[i].goodsName
+          this.deptBudgetList.goodsNameKey = this.outContractNo[i].goodsNameKey
+          // this.deptBudgetList.cost = this.outContractNo[i].contractPrice
+          this.cost = this.outContractNo[i].contractPrice
+          if(this.cost){
+            this.isGetCost = true
+              this.deptBudgetList.cost = this.cost - this.deptBudgetList.deductionAmount
+          }else{
+             this.isGetCost = false
+             this.deptBudgetList.cost = this.deptBudgetList.cost
+          }
+          this.deptBudgetList.inOutType = this.outContractNo[i].inOutType
+          if(this.outContractNo[i].inOutType=='移库入库'){
+            this.isSelectType = false
+          }else{
+            this.isSelectType = true
+          }
+          if (this.outContractNo[i].tranCarInfoList) {
+            this.options2 = this.outContractNo[i].tranCarInfoList
+            this.tranCarInfoList = this.outContractNo[i].tranCarInfoList
+            this.carstatus = true
+          }
+        }
+      }
+    },
+    typeChange(e) {},
+    pureweight(status) {
+      console.log(this.deptBudgetList)
+      if (
+        this.deptBudgetList.netWeight &&
+        this.deptBudgetList.tidalGrainWater &&
+        this.deptBudgetList.solidGrainWater &&
+        this.deptBudgetList.buckleWeightRatio
+      ) {
+        this.deptBudgetList.pureWeight =
+          (this.deptBudgetList.netWeight *
+            (100 -
+              (this.deptBudgetList.tidalGrainWater -
+                this.deptBudgetList.solidGrainWater) *
+                this.deptBudgetList.buckleWeightRatio)) /
+          100
+      }
+    },
+    selectgoodsName(e) {
+      for (var i = 0; i < this.goodnameList.length; i++) {
+        if (this.goodnameList[i].constValue == e) {
+          this.deptBudgetList.goodsNameKey = this.goodnameList[i].constKey
+        }
+      }
+    },
+    selectpackingMethod(e) {
+      for (var i = 0; i < this.packtypeList.length; i++) {
+        if (this.packtypeList[i].constValue == e) {
+          this.deptBudgetList.packingMethodKey = this.packtypeList[i].constKey
+        }
+      }
+    },
+    selectstorageType(e) {
+      for (var i = 0; i < this.storageType.length; i++) {
+        if (this.storageType[i].constValue == e) {
+          this.deptBudgetList.inOutTypeKey = this.storageType[i].constKey
+        }
+      }
+    },
+    handleClose() {
+      this.accessoryTFs = false
+    },
+    handleSizeChange(val) {
+      console.log(`每页 ${val} 条`)
+      this.pageSize = val
+      this.getList()
+    },
+    handleCurrentChange(val) {
+      this.currentPage = val
+      console.log(`当前页: ${val}`)
+      this.getList()
+    },
+    getList() {
+      // 货名
+      pullDown({ constId: 'CON2' })
+        .toPromise()
+        .then((response) => {
+          this.goodnameList = response
+        })
+      // 品级
+      pullDown({ constId: 'CON3' })
+        .toPromise()
+        .then((response) => {
+          this.gradeList = response
+        })
+      // 类型
+      if (this.deptBudgetList.warehouseType == '1') {
+        this.storageType = []
+        pullDown({ constId: 'CON5' })
+          .toPromise()
+          .then((response) => {
+            // this.storageType = response
+            for(let i = 0;i<response.length;i++){
+                if(response[i].constValue=='移库入库'||response[i].constValue=='退库'){
+                  this.storageType.push(response[i])
+                }
+            }
+          })
+      } else if (this.deptBudgetList.warehouseType == '2') {
+        pullDown({ constId: 'WARE1' })
+          .toPromise()
+          .then((response) => {
+            this.storageType = response
+          })
+
+        pullDown({ constId: 'WARE2' })
+          .toPromise()
+          .then((response) => {
+            this.deliveryType = response
+          })
+      }
+      //合同编号
+      xialaNo({ compId: sessionStorage.getItem('ws-pf_compId'), flag: 6 })
+        .toPromise()
+        .then((response) => {
+          this.options1 = response
+          this.outContractNo = response
+        })
+      //合同编号2
+      xialaNo({ compId: sessionStorage.getItem('ws-pf_compId'), flag: 7 })
+        .toPromise()
+        .then((response) => {
+          this.outContractNo1 = response
+        })
+      //经办人
+      getstaff({
+        compId: sessionStorage.getItem('ws-pf_compId'),
+        warehouseId: this.deptBudgetList.baseId,
+      })
+        .toPromise()
+        .then((response) => {
+          this.options = response
+          this.qualityInspectorList = response
+          this.staffList = response
+          //  this.agent = response
+        })
+    },
+    selecttaskType(e) {
+      for (var i = 0; i < this.taskTypeList.length; i++) {
+        if (this.taskTypeList[i].value == e) {
+          this.searchType = this.taskTypeList[i].type
+        }
+      }
+    },
+    fujian(row) {
+      if (
+        row.receiveAttachmentPath === null ||
+        row.receiveAttachmentPath === ''
+      ) {
+        EventBus.$emit(
+          'warning',
+          this.$t('system.noticeCircular.NoInformation')
+        )
+      } else {
+        this.accessoryTFs = true
+      }
+      this.appendixIdss = row.receiveAttachmentPath
+    },
+    handleExamine(row) {
+      this.$router.push({
+        name: 'salesContractExamine',
+        query: { id: row.id },
+      })
+    },
+  },
+}
+</script>
+<style lang="scss" scoped>
+/deep/.basicInformation {
+  .ws-info-table {
+    border: none;
+  }
+  .el-form-item {
+    width: 33.3333%;
+    border: none;
+    .el-form-item__label {
+      background: transparent;
+      border: none;
+    }
+    .el-form-item__content {
+      border: none;
+    }
+  }
+}
+
+.title {
+  position: relative;
+  padding-left: 10px;
+}
+.title::before {
+  content: '';
+  display: inline-block;
+  width: 5px;
+  height: 30px;
+  background: #5473e8;
+  position: absolute;
+  left: 0;
+}
+.el-form {
+  padding: 0 10%;
+}
+.el-button--primary {
+  background-color: #5878e8;
+  border-color: #5878e8;
+}
+.el-col {
+  background: #f6f7fc;
+}
+.bg-right {
+  text-align: right;
+  padding: 16px 20px;
+}
+.center {
+  position: relative;
+  top: 50px;
+  width: 40%;
+  height: 2000px;
+  margin: 0 auto;
+}
+
+//选填
+/deep/.el-form-item {
+  width: 50%;
+}
+.container {
+  overflow: scroll;
+  height: 120vh;
+}
+/deep/.ws-info-table .el-form-item .el-form-item__label {
+  text-align: center;
+}
+.deliverydate {
+  display: inline-block;
+  width: 10%;
+}
+.center {
+  margin-top: -60px;
+  width: 80%;
+}
+//仓位
+
+.position {
+  background: #afb5cb;
+  border-radius: 2px;
+  font-size: 12px;
+  color: #ffffff;
+  line-height: 20px;
+  display: inline-grid;
+  padding: 2px 4px;
+}
+//表格文字
+/deep/.ws-info-table .el-form-item .el-form-item__label {
+  text-align: left;
+  font-size: 14px;
+  font-family: PingFangSC-Regular, PingFang SC;
+  font-weight: 400;
+  color: #8890b1;
+  line-height: 16px;
+}
+.inspector {
+  width: 50%;
+}
+//质检员
+.inspector .el-form-item__content {
+  text-align: left;
+  margin-left: 0px;
+}
+.small-title {
+  position: relative;
+  padding: 10px;
+  font-weight: 600;
+}
+.small-title::before {
+  position: absolute;
+  content: '';
+  display: block;
+  background: #5473e8;
+  width: 4px;
+  height: 14px;
+  left: 0px;
+  top: 13px;
+  padding: 4px 2px;
+}
+//下面列表
+.neifor {
+  width: 80%;
+  background-color: #f6f7fc;
+}
+/deep/.neifor .ws-info-table .el-form-item .el-form-item__label {
+  width: 35%;
+  text-align: center;
+}
+/deep/.neifor .ws-info-table .el-form-item .el-form-item__content {
+  width: 60%;
+  background-color: #f6f7fc;
+}
+
+/deep/.neifor .el-input--small .el-input__inner {
+  width: 100%;
+}
+</style>

+ 80 - 8
src/views/warehouse/warehouseManagementList.vue

@@ -127,23 +127,42 @@
             </div>
           </template>
         </el-table-column>
-        <el-table-column prop="seller" label="入库" width="300">
+        <el-table-column prop="seller" label="入库" width="300">
           <template slot-scope="scope">
             <ws-button v-hasPermission="
+           `warehouseManagement.warehouse.warehouseInfo.in`
+          " class="putstorage" @click="warehousing1(scope.row)">
+              毛检
+            </ws-button>
+             <ws-button v-hasPermission="
+           `warehouseManagement.warehouse.warehouseInfo.in`
+          " class="putstorage" @click="nocomplete1(scope.row)">
+              皮检
+            </ws-button>
+            <!-- <ws-button v-hasPermission="
            `warehouseManagement.warehouse.warehouseInfo.view`
           " class="completed" @click="nocomplete(scope.row)">
-              待完成({{ scope.row.number }})
-            </ws-button>
+              待皮检({{ scope.row.number }})
+            </ws-button> -->
+          </template>
+        </el-table-column>
+        <el-table-column prop="seller" label="出库" width="300">
+          <template slot-scope="scope">
             <ws-button v-hasPermission="
-           `warehouseManagement.warehouse.warehouseInfo.in`
-          " class="putstorage" @click="warehousing(scope.row)">
-              入库
+           `warehouseManagement.warehouse.warehouseInfo.out`
+          " class="deliverystorage" @click="delivery1(scope.row)">
+              皮检
             </ws-button>
             <ws-button v-hasPermission="
            `warehouseManagement.warehouse.warehouseInfo.out`
-          " class="deliverystorage" @click="delivery(scope.row)">
-              出库
+          " class="deliverystorage" @click="nocomplete1(scope.row)">
+              毛检
             </ws-button>
+            <!-- <ws-button v-hasPermission="
+           `warehouseManagement.warehouse.warehouseInfo.view`
+          " class="completed" @click="nocomplete(scope.row)">
+              待毛检({{ scope.row.number }})
+            </ws-button> -->
           </template>
         </el-table-column>
         <el-table-column prop="address" label="操作" width="200">
@@ -398,6 +417,45 @@ export default {
         },
       })
     },
+    //毛检
+    warehousing1(item) {
+      var free = 0
+      for (var i = 0; i < item.warehouseNumViewList.length; i++) {
+        free += Number(item.warehouseNumViewList[i].storage)
+      }
+      this.$router.push({
+        path: 'warehouseManagementGross',
+        query: {
+          baseId: item.warehouseId,
+          positionId: item.binNumberId,
+          warehouseName: item.warehouseName,
+          binNumber: item.binNumber,
+          capacity: item.capacity - free,
+          id: item.id,
+          warehouseType: this.warehouseType,
+          createType: item.createType,
+          information:'毛重检斤',
+          allowEdit:item.allowEdit
+        },
+      })
+    },
+    //皮检
+    delivery1(item) {
+      this.$router.push({
+        path: 'warehouseManagementTare',
+        query: {
+          baseId: item.warehouseId,
+          positionId: item.binNumberId,
+          warehouseName: item.warehouseName,
+          binNumber: item.binNumber,
+          capacity: item.capacity,
+          warehouseType: this.warehouseType,
+          warehouseId: item.warehouseId,
+          information:'皮重检斤',
+          allowEdit:item.allowEdit
+        },
+      })
+    },
     getSpanArr(data) {
       let that = this
 
@@ -445,6 +503,20 @@ export default {
         })
       }
     },
+    //检斤待完成
+    nocomplete1(row) {
+      this.$router.push({
+        path: 'warehouseManagementNoWeight',
+        query: {
+          baseId: row.warehouseId,
+          positionId: row.binNumberId,
+          warehouseName: row.warehouseName,
+          binNumber: row.binNumber,
+          warehouseType: this.warehouseType,
+          createType: row.createType,
+        },
+      })
+    },
     //记录
     record(item) {
       this.$router.push({

+ 551 - 0
src/views/warehouse/warehouseManagementNoWeight.vue

@@ -0,0 +1,551 @@
+<template>
+  <div class="container">
+    <el-row>
+      <el-col :span="20">
+        <h2 class="bg-left title">检斤待完成</h2>
+      </el-col>
+      <el-col :span="4" class="bg-right">
+        <el-button
+          class="bg-bottom"
+          type="primary"
+          size="small"
+          @click="returnWarehouse()"
+          ><img
+            width="6"
+            height="10"
+            style="vertical-align: bottom; margin-right: 3px"
+            src="../../../public/img/lujing.png"
+            alt=""
+          />返回</el-button
+        >
+      </el-col>
+    </el-row>
+    <ws-form ref="deptBudgetList" :v-model="deptBudgetList">
+      <div class="center">
+        <h2 style="padding-left: 20px">
+          <img
+            style="position: relative; top: 2px"
+            width="19"
+            height="19"
+            src="../../../public/img/cangku.png"
+            alt=""
+          />
+          {{ this.$route.query.warehouseName }}
+          <span class="position" v-show="this.$route.query.warehouseType == 1">
+            {{ this.$route.query.binNumber }}仓位
+          </span>
+          <span v-show="this.$route.query.warehouseType == 2">(临)</span>
+        </h2>
+        <el-table :data="improved.records">
+          <el-table-column type="index" label="序号">
+            <template scope="scope">
+              <span v-if="scope.$index < 9">0{{ scope.$index + 1 }}</span>
+              <span v-else>{{ scope.$index + 1 }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column prop="goodsName" label="货名"> </el-table-column>
+          <el-table-column
+            prop="grossWeight"
+            label="毛重(吨)"
+          ></el-table-column>
+          <el-table-column prop="tare" label="皮重(吨)"> </el-table-column>
+          <el-table-column
+            prop="netWeight"
+            label="净重(吨)"
+          ></el-table-column>
+          <el-table-column prop="grade" label="品级">
+            <template slot-scope="scope">
+              <span v-if="scope.row.grade == '一等品'" class="top-grade">{{
+                scope.row.grade
+              }}</span>
+              <span v-if="scope.row.grade == '二等品'" class="second-class">{{
+                scope.row.grade
+              }}</span>
+              <span v-if="scope.row.grade == '三等品'" class="third-class">{{
+                scope.row.grade
+              }}</span>
+              <span v-if="scope.row.grade == '等外'" class="substandard">{{
+                scope.row.grade
+              }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column prop="inOutDate" label="出入库日期">
+          </el-table-column>
+          <el-table-column prop="inOutType" label="类型"> </el-table-column>
+          <el-table-column prop="contractNo" label="合同编号">
+          </el-table-column>
+          <el-table-column prop="carNo" label="车牌号"> </el-table-column>
+          <el-table-column prop="agent" label="经办人"> </el-table-column>
+          <el-table-column prop="backOffice" label="内勤"> </el-table-column>
+          <el-table-column prop="updateDate" label="保存时间">
+          </el-table-column>
+          <el-table-column prop="address" label="操作" width="200">
+            <template  slot-scope="scope">
+              <ws-button v-if="scope.row.inOutFlag =='2' " v-hasPermission="
+           `warehouseManagement.warehouse.warehouseInfo.in`
+          " class="deliverystorage" @click="edits(scope.row)">
+              皮检
+            </ws-button>
+            <ws-button v-else v-hasPermission="
+           `warehouseManagement.warehouse.warehouseInfo.out`
+          " class="putstorage" @click="edits(scope.row)">
+              毛检
+            </ws-button>
+          <!-- <el-button @click="print(scope.row)"  v-hasPermission="`acquisitionManagement.acquisitionWeight.print`">打印</el-button > -->
+
+              <!-- <div class="record" @click="edits(scope.row)">编辑</div>
+              <div class="adjustment" @click="handleDelete(scope.row)">
+                删除
+              </div> -->
+            </template>
+          </el-table-column>
+        </el-table>
+<div style='text-align:center;'>
+   <el-pagination
+      @size-change="handleSizeChange"
+      @current-change="handleCurrentChange"
+      :current-page="currentPage"
+      :page-size="pageSize"
+      layout="total, sizes, prev, pager, next, jumper"
+      :total="deptBudgetTotal"
+    >
+    </el-pagination>
+</div>
+       
+      </div>
+    </ws-form>
+  </div>
+</template>
+<script>
+import {
+  complete,
+  delInOut,
+  completeList,
+  getPrintInfo,
+  // deletewarehouse,
+  // warehouseName,
+  // addstorageputList,
+} from '@/model/warehouse/index'
+// import { downloadFile } from '@/utils/batchDown'
+import Pagination from '@/components/Pagination'
+import WsUpload from '@/components/WsUpload'
+import { dayjs } from 'base-core-lib'
+export default {
+  name: 'viewSpareMoney',
+  components: {
+    WsUpload,
+    Pagination,
+  },
+  watch: {
+    vesselId(val) {
+      this.getList()
+    },
+    isShow(val) {
+      this.showType = val
+    },
+  },
+  data() {
+    return {
+      //弹出框
+      dialogViewSpareMoney: false,
+      dialogApproveFormVisible: false,
+      // 船舶类型
+      monetaryKey: null,
+      // 表格显示数据
+      tableDate: [],
+      // 是否显示
+      showType: true,
+      // 年
+      year: '',
+      deptBudgetTotal: 0,
+      currentPage: 1,
+      pageSize: 10,
+      searchType: 1,
+      searchKeyWord: '',
+      contractType: 2,
+      startDate: null,
+      endDate: null,
+      deletewarehouse: [],
+      improved: [],
+      row: [],
+      deptBudgetList1: [],
+      // 提交类型
+      submitType: true,
+      selectpackingMethod: {},
+      size: 10,
+      compId: sessionStorage.getItem('ws-pf_compId'),
+      deptCircularPage: {},
+      packtypeList: {},
+      date: {
+        year: dayjs().format('YYYY'),
+        month: dayjs().format('MM'),
+      },
+      contractList: [],
+      deptBudgetList: {},
+      historyList: [],
+      // inOutDate:null,
+      pickerBeginDateBefore: {
+        disabledDate: (time) => {
+          return time.getTime() > Date.now()
+        },
+      },
+      accessoryTFs: false,
+    }
+  },
+  activated() {
+    //cg.viewBudget
+    //cg.viewSpareMoney
+    // this.getVesselData();
+    this.deptBudgetList1.warehouseName = this.$route.query.warehouseName
+    this.binNumber = this.$route.params.binNumber
+    this.deptBudgetList.warehouseType = this.$route.query.warehouseType
+    this.createType=this.$route.query.createType,
+    //接参
+    this.getList(
+      this.$route.query.baseId,
+      this.$route.query.positionId,
+      this.$route.query.warehouseType
+    )
+    this.showType = this.isShow
+  },
+  methods: {
+    //返回按钮
+    returnWarehouse() {
+      this.$router.push({ path: 'warehouseManagementList' })
+    },
+    
+    //编辑
+    edits(row) {
+            debugger
+      if (row.inOutFlag == 2) {
+        this.$store.dispatch('app/setdeptBudgetList', row)
+        this.$router.push({
+          path: 'warehouseManagementNoWeightIn',
+          query: {
+            id: row.id,
+            agent: row.agent,
+            baseId: row.baseId,
+            binNumber: row.binNumber,
+            carNo: row.carNo,
+            compId: row.compId,
+            contractNo: row.contractNo,
+            goodsName: row.goodsName,
+            goodsNameKey: row.goodsNameKey,
+            grade: row.grade,
+            grossWeight: row.grossWeight,
+            inOutDate: row.inOutDate,
+            inOutFlag: row.inOutFlag,
+            inOutType: row.inOutType,
+            inOutTypeKey: row.inOutTypeKey,
+            netWeight: row.netWeight,
+            positionId: row.positionId,
+            statusFlag: row.statusFlag,
+            tare: row.tare,
+            warehouseName: row.warehouseName,
+            warehouseInOutDetail: row.warehouseInOutDetail,
+            warehouseType: this.deptBudgetList.warehouseType,
+            createType: this.createType,
+            temporaryOutType : row.temporaryOutType,
+            cost:row.cost,
+            freight:row.freight,
+            type:row.type,
+            buckleWeightRatio:row.buckleWeightRatio,
+            tidalGrainWater:row.tidalGrainWater,
+            solidGrainWater:row.solidGrainWater,
+            pureWeight:row.pureWeight,
+            deductionAmount:row.deductionAmount,
+            deductionWeight:row.deductionWeight
+          },
+        })
+      } else if (row.inOutFlag == 1) {
+        this.$store.dispatch('app/setdeptBudgetList', row)
+        // this.$store.commit('deptBudgetList',row)
+        this.$router.push({
+          path: 'warehouseManagementNoWeightOut',
+          query: {
+            id: row.id,
+            agent: row.agent,
+            baseId: row.baseId,
+            binNumber: row.binNumber,
+            carNo: row.carNo,
+            compId: row.compId,
+            contractNo: row.contractNo,
+            goodsName: row.goodsName,
+            goodsNameKey: row.goodsNameKey,
+            grade: row.grade,
+            grossWeight: row.grossWeight,
+            inOutDate: row.inOutDate,
+            inOutFlag: row.inOutFlag,
+            inOutType: row.inOutType,
+            inOutTypeKey: row.inOutTypeKey,
+            netWeight: row.netWeight,
+            positionId: row.positionId,
+            statusFlag: row.statusFlag,
+            tare: row.tare,
+            warehouseName: row.warehouseName,
+            warehouseInOutDetail: row.warehouseInOutDetail,
+            warehouseType: this.deptBudgetList.warehouseType,
+            temporaryOutType : this.temporaryOutType,
+            cost:row.cost,
+            freight:row.freight,
+            type:row.type,
+            buckleWeightRatio:row.buckleWeightRatio,
+            tidalGrainWater:row.tidalGrainWater,
+            solidGrainWater:row.solidGrainWater,
+            pureWeight:row.pureWeight,
+            deductionAmount:row.deductionAmount,
+            deductionWeight:row.deductionWeight
+          },
+        })
+      }
+    },
+    dateFormat(fmt, date) {
+      let ret
+      const opt = {
+        'Y+': date.getFullYear().toString(), // 年
+        'm+': (date.getMonth() + 1).toString(), // 月
+        'd+': date.getDate().toString(), // 日
+        'H+': date.getHours().toString(), // 时
+        // "M+": date.getMinutes().toString(),         // 分
+        // "S+": date.getSeconds().toString()          // 秒
+        // 有其他格式化字符需求可以继续添加,必须转化成字符串
+      }
+      for (let k in opt) {
+        ret = new RegExp('(' + k + ')').exec(fmt)
+        if (ret) {
+          fmt = fmt.replace(
+            ret[1],
+            ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
+          )
+        }
+      }
+      return fmt
+    },
+    print(row) {
+      
+      
+    },
+    handleClose() {
+      this.accessoryTFs = false
+    },
+    handleSizeChange(val) {
+      console.log(`每页 ${val} 条`)
+      this.pageSize = val
+      this.getList()
+    },
+    handleCurrentChange(val) {
+      this.currentPage = val
+      console.log(`当前页: ${val}`)
+      this.getList()
+    },
+    //收
+    getList(id, id1, id2) {
+      if (id2 == 1) {
+        complete({
+          // compId: sessionStorage.getItem('ws-pf_compId'),
+          baseId: id,
+          positionId: id1,
+          pageSize: this.pageSize,
+          currentPage: this.currentPage,
+          // inOutDate:this.inOutDate
+        })
+          .toPromise()
+          .then((response) => {
+            this.deptBudgetTotal=response.total
+            this.improved = response
+          })
+      } else if (id2 == 2) {
+        completeList({
+          baseId: id,
+          positionId: id1,
+          pageSize: this.pageSize,
+          currentPage: this.currentPage,
+        })
+          .toPromise()
+          .then((response) => {
+            this.improved = response
+          })
+      }
+    },
+    handleExamine(row) {
+      this.$router.push({
+        name: 'salesContractExamine',
+        query: { id: row.id },
+      })
+    },
+    //删除
+    handleDelete(row) {
+      this.$confirm(`删除后不可恢复,确认删除?`, {
+        cancelButtonText: '取消',
+        confirmButtonText: '确定',
+        type: 'warning',
+      })
+        .then(() => {
+          delInOut({ id: row.id })
+            .toPromise()
+            .then((response) => {
+              this.$notify.success({
+                title: '成功',
+                message: '删除成功',
+              })
+              this.getList(
+                row.baseId,
+                row.positionId,
+                this.$route.query.warehouseType
+              )
+            })
+            .catch((response) => {})
+        })
+        .catch(() => {
+          return false
+        })
+    },
+  },
+  find() {
+    this.startDate = this.dateFormat('YYYY-mm-dd', this.value2[0])
+    this.endDate = this.dateFormat('YYYY-mm-dd', this.value2[1])
+    this.currentPage = 1
+    this.getList()
+  },
+  // deletecontract(){},
+  //删除
+  approve() {},
+  listQuery() {},
+  total() {},
+  clearfiltQuery() {},
+  selectCrtDuty() {},
+}
+</script>
+<style lang="scss" scoped>
+.center {
+  position: relative;
+  top: 50px;
+  width: 90%;
+  height: 500px;
+  margin: 0 auto;
+}
+.container .bg-left {
+  margin-left: 40px;
+}
+.container .bg-bottom {
+  position: absolute;
+  float: right;
+  top: 15px;
+  right: 20px;
+}
+.vertical-text-left {
+  width: 62px;
+  text-align: right;
+}
+/deep/.el-form-item {
+  width: 33%;
+}
+.el-row {
+  background: #f6f7fc;
+  // box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.5);
+  border-radius: 4px 4px 1px 1px;
+}
+.container .bg-bottom {
+  width: 74px;
+  height: 32px;
+  background: #5473e8;
+  border-radius: 4px;
+}
+.bg-bottom {
+  margin-top: 5px 0px;
+}
+.el-table .el-table__header tr {
+  width: 1091px;
+  height: 50px;
+  background: #f6f7fc;
+  border: 1px solid #e8ecf6;
+  text-align: center;
+}
+.el-table .cell {
+  text-align: center;
+  width: 29px;
+  height: 20px;
+  font-size: 14px;
+  font-family: PingFangSC-Regular, PingFang SC;
+  font-weight: 400;
+  color: #5878e8;
+  line-height: 20px;
+}
+.default .winseaview-main .el-table th > .cell {
+  color: #8890b1;
+}
+.record,
+.adjustment {
+  display: inline-block;
+  color: #5878e8;
+  padding: 0 4px !important;
+  position: relative;
+}
+/deep/.el-table td,
+.el-table th {
+  text-align: center;
+}
+/deep/.el-table .el-table__header th {
+  border-bottom-width: 0px;
+  text-align: center;
+}
+.top-grade {
+  background: linear-gradient(90deg, #5678e9, #7993f6);
+  color: #fff;
+  padding: 3px;
+  border-radius: 2px;
+}
+.second-class {
+  background: linear-gradient(90deg, #50cdd9, #82e2ea);
+  color: #fff;
+  padding: 3px;
+  border-radius: 2px;
+}
+.third-class {
+  background: linear-gradient(90deg, #ffa735, #ffbf70);
+  color: #fff;
+  padding: 3px;
+  border-radius: 2px;
+}
+.substandard {
+  background: linear-gradient(90deg, #b2b4bb, #ced0d5);
+  color: #fff;
+  padding: 3px;
+  border-radius: 2px;
+}
+// .container .bg-left{
+// width: 663px;
+// height: 28px;
+// font-size: 18px;
+// font-family: PingFangSC-Medium, PingFang SC;
+// font-weight: 500;
+// color: #262626;
+// line-height: 28px;
+// text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.5);
+// }
+.a {
+  width: 19px;
+  height: 19px;
+  background: #afb5cb;
+  margin-left: 10px;
+}
+.container .bg-left {
+  width: 140px;
+  height: 29px;
+  font-size: 21px;
+  font-family: PingFangSC-Semibold, PingFang SC;
+  font-weight: 600;
+  color: #323233;
+  line-height: 29px;
+}
+.position {
+  width: 52px;
+  height: 20px;
+  background: #afb5cb;
+  border-radius: 2px;
+  font-size: 12px;
+  font-family: PingFangSC-Medium, PingFang SC;
+  color: #ffffff;
+  line-height: 20px;
+}
+</style>

+ 1691 - 0
src/views/warehouse/warehouseManagementNoWeightIn.vue

@@ -0,0 +1,1691 @@
+// 完善入库信息
+<template>
+  <div class="container">
+    <el-row>
+      <el-col :span="20">
+        <h2 class="bg-left title">入库皮重检斤</h2>
+      </el-col>
+      <el-col :span="4" class="bg-right">
+        <el-button
+          class="bg-bottom"
+          type="primary"
+          size="small"
+          @click="revert()"
+          ><img
+            width="6"
+            height="10"
+            style="vertical-align: bottom; margin-right: 3px"
+            src="../../../public/img/lujing.png"
+            alt=""
+          />返回</el-button
+        >
+      </el-col>
+    </el-row>
+
+    <ws-form ref="dataList" :model="dataList" :rules="rules">
+      <div class="basicInformation">
+        <h2>
+          {{ deptBudgetList1.warehouseName }}
+          <span class="position" v-show="this.$route.query.warehouseType == 1">
+            {{ deptBudgetList1.binNumber }}仓位
+          </span>
+          <span v-show="this.$route.query.warehouseType == 2">(临)</span>
+        </h2>
+        <div class="small-title">基本信息</div>
+        <ws-info-table>
+          <ws-form-item label="合同编号" span="1" prop="contractNo">
+            <el-select
+            filterable
+            :filter-method="dataFilter1"
+              v-model="dataList.contractNo"
+              placeholder="请选择合同编号或移库任务编号"
+              class="typeselect"
+              @change='contractNoChange'
+            >
+              <el-option
+                v-for="item in options1"
+                :key="item.constKey"
+                :label="item.contractNo"
+                :value="item.contractNo"
+              />
+            </el-select>
+          </ws-form-item>
+          <!-- 货名 -->
+          <ws-form-item label="货名" span="1">
+            <ws-select
+            disabled
+              v-model="dataList.goodsName"
+              placeholder
+              class="typeselect"
+              @change="selectgoodsName"
+            >
+              <ws-option
+                v-for="item in goodnameList"
+                :key="item.constKey"
+                :label="item.constValue"
+                :value="item.constValue"
+              />
+            </ws-select>
+          </ws-form-item>
+          <ws-form-item label="类型" span="1" prop="type">
+              <ws-select v-model="dataList.type"  @change="typeChange">
+                <ws-option v-for="item in typeList" :key="item" :label="item" :value="item" />
+              </ws-select>
+            </ws-form-item>
+          <!--毛重(公斤)-->
+          <ws-form-item label="毛重(公斤)" span="1" prop="grossWeight">
+            <ws-input
+              :disabled="allowEdit"
+              @input="grossWeightchange"
+              v-model="dataList.grossWeight"
+              placeholder="请输入毛重"
+              maxlength="20"
+              size="small"
+            />
+          </ws-form-item>
+
+          <!--皮重(公斤)-->
+          <ws-form-item label="皮重(公斤)" span="1" prop="tare" class="readonly">
+            <ws-input
+              :disabled="allowEdit"
+              @input="tarechange"
+              v-model="dataList.tare"
+              placeholder="请输入皮重"
+              maxlength="100"
+              size="small"
+            />
+              <el-button type="primary"  @click="openPort">重新获取</el-button>
+          </ws-form-item>
+          <ws-form-item label="扣重(公斤)" span="1" prop="deductionWeight" class="readonly">
+            <ws-input
+            @input="tarechange"
+              v-model="dataList.deductionWeight"
+              placeholder="请输入扣重"
+              maxlength="100"
+              size="small"
+            />
+          </ws-form-item>
+          <!--净重(公斤)-->
+          <ws-form-item label="净重(公斤)" span="1" prop="netWeight">
+            <ws-input
+              disabled
+              v-model="dataList.netWeight"
+              placeholder="不可编辑,自动计算"
+              maxlength="120"
+              size="small"
+            />
+          </ws-form-item>
+          <ws-form-item v-if='dataList.type=="潮粮"' label="扣重比" span="1" prop="buckleWeightRatio" class="readonly">
+            <ws-input
+              @input='pureweight'
+              v-model="dataList.buckleWeightRatio"
+              placeholder="请输入扣重比"
+              maxlength="100"
+              size="small"
+            />
+          </ws-form-item>
+          <ws-form-item v-if='dataList.type=="潮粮"' label="干粮水分占比" span="1" prop="solidGrainWater" class="readonly">
+            <ws-input
+            @input='pureweight'
+              v-model="dataList.solidGrainWater"
+              placeholder="请输入干粮水分占比"
+              maxlength="100"
+              size="small"
+            />
+          </ws-form-item>
+          <ws-form-item v-if='dataList.type=="潮粮"' label="潮粮水分占比" span="1" prop="tidalGrainWater" class="readonly">
+            <ws-input
+            @input='pureweight'
+              v-model="dataList.tidalGrainWater"
+              placeholder="请输入潮粮水分占比"
+              maxlength="100"
+              size="small"
+            />
+          </ws-form-item>
+          <ws-form-item v-if='dataList.type=="潮粮"' label="纯重" span="1" prop="pureWeight" class="readonly">
+            <ws-input
+              disabled
+              v-model="dataList.pureWeight"
+              placeholder="不可编辑,自动计算"
+              maxlength="100"
+              size="small"
+            />
+          </ws-form-item>
+          <!--净重(公斤)-->
+          <ws-form-item label="扣款(元/公斤)" span="1" prop="deductionAmount">
+            <ws-input
+            @input="kkInput(dataList.deductionAmount)"
+              v-model="dataList.deductionAmount"
+              placeholder="请输入扣款金额"
+              maxlength="120"
+              size="small"
+            />
+          </ws-form-item>
+          <!-- 品级 -->
+          <ws-form-item label="品级" span="1" class="readonly">
+            <ws-select
+              v-model="dataList.grade"
+              placeholder
+              class="typeselect"
+              @change="selectpackingMethod"
+            >
+              <ws-option
+                v-for="item in gradeList"
+                :key="item.constKey"
+                :label="item.constValue"
+                :value="item.constValue"
+              />
+            </ws-select>
+          </ws-form-item>
+
+          <!--经办人-->
+          <ws-form-item label="经办人" span="1" prop="agent">
+            <el-select
+              v-model="dataList.agent"
+              placeholder="请选择经办人"
+              filterable
+              :filter-method="dataFilter"
+              @change="selectstaff"
+            >
+              <el-option
+                v-for="item in options"
+                :key="item.value"
+                :label="item.staffName"
+                :value="item.staffName"
+              />
+            </el-select>
+          </ws-form-item>
+          <!--出库日期-->
+          <ws-form-item label="入库日期" span="1" prop="inOutDate" class="deliverydate">
+            <el-date-picker
+              v-model="dataList.inOutDate"
+              placeholder="请选择入库日期"
+              type="date"
+              value-format="yyyy-MM-dd"
+            ></el-date-picker>
+          </ws-form-item>
+          <!-- 入库类型 -->
+          <ws-form-item label="入库类型" span="1">
+            <ws-select
+              v-model="dataList.inOutType"
+              placeholder
+              class="typeselect"
+              @change="selectstorageType"
+               :disabled="isSelectType"
+            >
+              <ws-option
+                v-for="item in storageType"
+                :key="item.constKey"
+                :label="item.constValue"
+                :value="item.constValue"
+              />
+            </ws-select>
+          </ws-form-item>
+
+          <!--车牌号  -->
+          <ws-form-item label="车牌号" span="1" prop="carNo">
+            <ws-input
+            v-if='!carstatus'
+              v-model="dataList.carNo"
+              placeholder="请输入车牌号"
+              maxlength="7"
+              size="small"
+            />
+            <el-select
+            v-if='carstatus'
+            filterable
+            :filter-method="dataFilter2"
+              v-model="dataList.carNo"
+              placeholder="请选择车牌号"
+              class="typeselect"
+              @change='carChange'
+            >
+              <el-option
+                v-for="item in options2"
+                :key="item.constKey"
+                :label="item.carNo+'('+item.tranCarNo+')'"
+                :value="item.carNo"
+              />
+            </el-select>
+          </ws-form-item>
+          <ws-form-item label="成本" span="1" prop="cost">
+            <ws-input
+            :disabled='disabled1'
+              v-model="dataList.cost"
+              placeholder="请输入成本"
+              size="small"
+            />
+            <img
+            width="17"
+            height="18"
+            style="vertical-align: text-top; position: relative; top: -1px"
+            src="../../../public/img/edit.png"
+            @click="editClick(1)"
+            alt=""
+          />
+          </ws-form-item>
+          <ws-form-item label="运费" span="1" prop="freight">
+            <ws-input
+            :disabled='disabled2'
+              v-model="dataList.freight"
+              placeholder="请输入运费"
+              size="small"
+            />
+            <img
+            width="17"
+            height="18"
+            style="vertical-align: text-top; position: relative; top: -1px"
+            src="../../../public/img/edit.png"
+            @click="editClick(2)"
+            alt=""
+          />
+          </ws-form-item>
+        </ws-info-table>
+        <div  v-show="this.$route.query.warehouseType == 2 && this.$route.query.createType == 2">
+          <el-checkbox v-model="checked" checked>退库并出库</el-checkbox>
+          <ws-info-table v-show="checked == true">
+            <!-- 出库类型 -->
+            <ws-form-item label="出库类型" span="1">
+              <ws-select
+                v-model="dataList.temporaryOutType"
+                placeholder=""
+                class="typeselect"
+              >
+                <ws-option
+                  v-for="item in deliveryType"
+                  :key="item.constKey"
+                  :label="item.constValue"
+                  :value="item.constValue"
+                />
+              </ws-select>
+            </ws-form-item>
+            <!-- 出库合同编号 -->
+            <ws-form-item label="出库合同编号" span="1">
+              <ws-select
+                v-model="dataList.contractNo"
+                placeholder="请选择合同编号或移库任务编号"
+                class="typeselect"
+              >
+                <ws-option
+                  v-for="item in outContractNo"
+                  :key="item.constKey"
+                  :label="item.contractNo"
+                  :value="item.contractNo"
+                />
+              </ws-select>
+            </ws-form-item>
+          </ws-info-table>
+        </div>
+      </div>
+      <!-- <div class="small-title">上传磅单照片</div>
+       <el-upload
+            action="https://www.zthymaoyi.com/upload/admin"
+            :show-file-list="false"
+            :on-success="
+              (res) => {
+                uploadSuccessHandle1(res)
+              }
+            "
+            class="avatar-uploader"
+            accept=".jpg, .jpeg, .png, .gif"
+            ><el-button size="small" type="primary">点击上传</el-button>
+          </el-upload>
+          <div>
+            <img v-if='dataList.addressUrl' style='width:100px;height:100px;' :src="dataList.addressUrl" alt="">
+          </div> -->
+      <div class="small-title">化验数据(选填)</div>
+      <div class="inspector">
+        <!--质检员-->
+        <!-- <ws-form-item label="质检员" span="1" prop="qualityInspector">
+          <ws-input
+            v-model="dataList.warehouseInOutDetail.qualityInspector"
+            placeholder="请输入质检员姓名"
+            maxlength="120"
+            size="small"
+          />
+        </ws-form-item> -->
+           <ws-form-item label="质检员" span="1" prop="qualityInspector">
+            <el-select
+              v-model="dataList.warehouseInOutDetail.qualityInspector"
+              placeholder="请选择质检员"
+              filterable
+              clearable
+               :filter-method="dataFilter"
+              @change="qualityInspectorChange"
+            >
+              <el-option
+                v-for="item in qualityInspectorList"
+                :key="item.value"
+                :label="item.staffName"
+                :value="item.staffName"
+              />
+            </el-select>
+          </ws-form-item>
+      </div>
+      <div class="neifor">
+        <ws-info-table>
+          <!--水分(%)<=-->
+          <ws-form-item label="水分(%)<=" span="1" prop="waterContent">
+            <ws-input
+              v-model="dataList.warehouseInOutDetail.waterContent"
+              placeholder="请输入水分占比"
+              maxlength="120"
+              size="small"
+            />
+          </ws-form-item>
+          <!--杂质(%)<=-->
+          <ws-form-item label="杂质(%)<=" span="1" prop="impurity">
+            <ws-input
+              v-model="dataList.warehouseInOutDetail.impurity"
+              placeholder="请输入杂质占比"
+              maxlength="120"
+              size="small"
+            />
+          </ws-form-item>
+          <!--容重(克/升)>=-->
+          <ws-form-item label="容重(克/升)>=" span="1" prop="bulkDensity">
+            <ws-input
+              v-model="dataList.warehouseInOutDetail.bulkDensity"
+              placeholder="请输入容重"
+              maxlength="120"
+              size="small"
+            />
+          </ws-form-item>
+          <!--霉变粒(%)<=-->
+          <ws-form-item label="霉变粒(%)<=" span="1" prop="mildewGrain">
+            <ws-input
+              v-model="dataList.warehouseInOutDetail.mildewGrain"
+              placeholder="请输入霉变粒占比"
+              maxlength="120"
+              size="small"
+            />
+          </ws-form-item>
+          <!--热损伤(%)<=-->
+          <ws-form-item label="热损伤(%)<=" span="1" prop="jiaorenli">
+            <ws-input
+              v-model="dataList.warehouseInOutDetail.jiaorenli"
+              placeholder="请输入热损伤占比"
+              maxlength="120"
+              size="small"
+            />
+          </ws-form-item>
+          <!--不完善粒(%)<=-->
+          <ws-form-item label="不完善粒(%)<=" span="1" prop="imperfectGrain">
+            <ws-input
+              v-model="dataList.warehouseInOutDetail.imperfectGrain"
+              placeholder="请输入不完善粒占比"
+              maxlength="120"
+              size="small"
+            />
+          </ws-form-item>
+        </ws-info-table>
+      </div>
+      <div style="text-align: right; padding: 10px">
+        <!-- <el-button
+          class="bg-bottom-up"
+          type="primary"
+          size="small"
+          @click="temporaryStorage()"
+          >暂存</el-button
+        > -->
+        <el-button
+          class="bg-bottom-up"
+          type="primary"
+          size="small"
+          @click="submit()"
+          >提交</el-button
+        >
+      </div>
+    </ws-form>
+  </div>
+</template>
+<script>
+import {
+  pullDown,
+  addstorageputList,
+  xialaNo,
+  getstaff,
+  getPrintInfo
+} from '@/model/warehouse/index'
+import { downloadFile } from '@/utils/batchDown'
+import Pagination from '@/components/Pagination'
+import { mapActions, mapGetters, mapState } from 'vuex'
+import WsUpload from '@/components/WsUpload'
+// import { dayjs, fmoney, EventBus } from 'base-core-lib'
+import { dayjs, EventBus } from 'base-core-lib'
+export default {
+  name: 'viewSpareMoney',
+  components: {
+    WsUpload,
+    Pagination,
+  },
+  watch: {
+    // vesselId(val) {
+    //   this.getList()
+    // },
+    isShow(val) {
+      this.showType = val
+    },
+    dataList:{//深度监听,可监听到对象、数组的变化
+         handler(val, oldVal){
+           if(val.tare){
+             this.dataList.netWeight = this.dataList.grossWeight - val.tare
+           }
+         },
+         deep:true //true 深度监听
+     }
+  },
+  computed: {
+    ...mapGetters(['deptBudgetList']),
+  },
+  data() {
+    return {
+      isSelectType:true,
+      isGetCost:false,
+      qualityInspectorList:[],
+      //弹出框
+      dialogViewSpareMoney: false,
+      dialogApproveFormVisible: false,
+      // 船舶类型
+      monetaryKey: null,
+      // 表格显示数据
+      tableDate: [],
+      // 是否显示
+      showType: true,
+      // 年
+      year: '',
+      deptBudgetTotal: 0,
+      readonly: true,
+      currentPage: 1,
+      pageSize: 10,
+      searchType: 1,
+      searchKeyWord: '',
+      contractType: 2,
+      startDate: null,
+      endDate: null,
+      goodnameList: {},
+      checked: true,
+      disabled1:true,
+      disabled2:true,
+      staffList: [],
+      options: [],
+      storageType: [],
+      deliveryType: [],
+      outContractNo: [],
+      outContractNo1: [],
+      // 提交类型
+      submitType: true,
+      typeList:['干粮','潮粮'],
+      appendixIdsAdd: '',
+      uploadSuccess: {},
+      warehouseInOutDetail: {},
+      onChange: {},
+      deptBudgetList1: [],
+      gradeList: [],
+      rules: {
+        netWeight: [
+          {
+            required: true,
+            type: 'number',
+            message: '请输入活动名称',
+            trigger: 'blur',
+          },
+        ],
+      },
+      size: 10,
+      compId: sessionStorage.getItem('ws-pf_compId'),
+      deptCircularPage: {},
+      packtypeList: {},
+      date: {
+        year: dayjs().format('YYYY'),
+        month: dayjs().format('MM'),
+      },
+      options1: [],
+      options2: [],
+      carstatus:false,
+      contractList: [],
+      dataList: {
+        id: '',
+        grossWeight: '',
+        contractNo: '',
+        tare: '',
+        netWeight: '',
+        grade: '',
+        agent: '',
+        carNo: '',
+        inOutDate: '',
+        
+        inOutType: '',
+        goodsName: '',
+        warehouseInOutDetail: {},
+        cost:'',
+        freight:0,
+        type:'',
+        buckleWeightRatio:'',
+        tidalGrainWater:'',
+        solidGrainWater:'',
+        pureWeight:'',
+        deductionAmount:'',
+        deductionWeigh:'',
+      },
+      historyList: [],
+      pickerBeginDateBefore: {
+        disabledDate: (time) => {
+          return time.getTime() > Date.now()
+        },
+      },
+      accessoryTFs: false,
+      allowEdit:true
+    }
+  },
+  activated() {
+    
+    if(this.$route.query.allowEdit == 1){
+      this.allowEdit = false
+    }
+    else{
+      this.allowEdit = true
+    }
+    this.deptBudgetList1.warehouseName = this.$route.query.warehouseName
+    this.deptBudgetList1.binNumber = this.$route.query.binNumber
+    this.getList()
+    this.dataList.id = this.$route.query.id
+    this.dataList.grossWeight = this.$route.query.grossWeight*1000
+    this.dataList.contractNo = this.$route.query.contractNo
+    this.dataList.baseId = this.$route.query.baseId
+    this.dataList.positionId = this.$route.query.positionId
+    this.dataList.warehouseName = this.$route.query.warehouseName
+    this.dataList.binNumber = this.$route.query.binNumber
+    this.dataList.tare = this.$route.query.tare*1000
+    this.dataList.netWeight = this.$route.query.netWeight*1000
+    this.dataList.grade = this.$route.query.grade
+    this.dataList.agent = this.$route.query.agent
+    this.dataList.carNo = this.$route.query.carNo
+    this.dataList.inOutDate = this.$route.query.inOutDate
+    this.dataList.contractNo = this.$route.query.contractNo
+    this.dataList.inOutType = this.$route.query.inOutType
+    this.dataList.compId = this.$route.query.compId
+    this.dataList.goodsName = this.$route.query.goodsName
+    this.dataList.goodsNameKey = Number(this.$route.query.goodsNameKey)
+    this.dataList.inOutFlag = this.$route.inOutFlag
+    this.dataList.inOutTypeKey = Number(this.$route.query.inOutTypeKey)
+    this.dataList.statusFlag = this.$route.statusFlag
+    this.dataList.warehouseInOutDetail = this.$route.query.warehouseInOutDetail
+    this.dataList.warehouseType = this.$route.query.warehouseType
+    this.dataList.createType = this.$route.query.createType
+    this.dataList.temporaryOutType = this.$route.query.temporaryOutType
+    this.dataList.cost=this.$route.query.cost
+    this.dataList.freight=this.$route.query.freight
+    this.dataList.type=this.$route.query.type
+    this.dataList.buckleWeightRatio=this.$route.query.buckleWeightRatio
+    this.dataList.tidalGrainWater=this.$route.query.tidalGrainWater
+    this.dataList.solidGrainWater=this.$route.query.solidGrainWater
+    this.dataList.pureWeight=this.$route.query.pureWeight*1000
+    this.dataList.deductionAmount=this.$route.query.deductionAmount/1000
+    this.dataList.deductionWeight=this.$route.query.deductionWeight/1000
+    this.dataList.inOutTypeFlag=1
+    if(this.dataList.cost){
+      this.isGetCost = true
+      this.cost = this.dataList.cost 
+    }
+
+  },
+  methods: {
+    async closePort() {
+      console.log('closePort');
+      this.reader.cancel()
+    },
+    async openPort() {
+      console.log('openPort', navigator);
+      if ('serial' in navigator) {
+        // The Web Serial API is supported.
+        console.log('the Web Serial API is supported.');
+        console.log(this.param);
+        const port = await navigator.serial.requestPort();
+        await port.open({
+          baudRate: this.param
+        }); // set baud rate
+        this.reader = port.readable.getReader();
+        // 监听来自串行设备的数据
+        while (true) {
+          const {
+            value,
+            done
+          } = await this.reader.read();
+          // console.log("value",value);
+          if (done) {
+            // 允许稍后关闭串口。
+            this.reader.releaseLock();
+            break;
+          }
+          var result = '';
+          //2。获取16进制字符串
+          // var receData = HexConvert.ByteToString(value);
+          // console.log("receData",receData);
+          var flag = false;
+          for (var i = 0; i < value.length; i++) {
+            var tmp = String.fromCharCode(value[i])
+            if (tmp == '+') {
+              flag = true
+            }
+            if (flag && result.length < 6 && tmp != '+') {
+              result += tmp
+            }
+          }
+          if(parseInt(result)){
+              this.dataList.grossWeight = parseInt(result)
+          }
+          setTimeout(1000)
+          // value 是一个 Uint8Array
+        }
+        await port.close();
+      } else {
+        console.log('the Web Serial API is not supported.', navigator);
+      }
+    },
+    kkInput(val){
+      console.log(val)
+      if(this.isGetCost){
+        if(this.dataList.cost>val){
+           this.dataList.cost = this.cost - this.dataList.deductionAmount
+          }
+      }
+    },
+       qualityInspectorChange(e){
+      console.log(e)
+    },
+    uploadSuccessHandle1(res){
+      this.dataList.addressUrl=res.url
+    },
+    pureweight(status){
+      console.log(this.dataList)
+      if(this.dataList.netWeight&&this.dataList.tidalGrainWater&&this.dataList.solidGrainWater&&this.dataList.buckleWeightRatio){
+        this.dataList.pureWeight=(this.dataList.netWeight*(100-(this.dataList.tidalGrainWater-this.dataList.solidGrainWater)*this.dataList.buckleWeightRatio))/100
+      }
+    },
+    //返回按钮
+    revert() {
+      this.$router.go(-1)
+    },
+    carChange(e){
+        for (let i = 0; i < this.tranCarInfoList.length; i++) {
+          if(this.tranCarInfoList[i].carNo==this.dataList.carNo){
+            this.dataList.tranCarNo=this.tranCarInfoList[i].tranCarNo
+            this.dataList.freight=this.tranCarInfoList[i].tranPrice
+          }
+          
+        }
+    },
+    typeChange(e){
+
+    },
+    contractNoChange(e){
+      for (var i = 0; i < this.outContractNo.length; i++) {
+        if (this.outContractNo[i].contractNo == e) {
+            if (this.outContractNo[i].inOutType == '采购入库') {
+              this.dataList.inOutTypeKey = 1
+            } else if (this.outContractNo[i].inOutType == '移库入库') {
+              this.dataList.inOutTypeKey = 3
+            } else if (this.outContractNo[i].inOutType == '暂存入库') {
+              this.dataList.inOutTypeKey = 4
+            } else if (this.outContractNo[i].inOutType == '贸易服务入库') {
+              this.dataList.inOutTypeKey = 5
+            } else if (this.detailData.inOutType == '退库') {
+              this.dataList.inOutTypeKey = 6
+            }
+          this.dataList.goodsName = this.outContractNo[i].goodsName
+          this.dataList.goodsNameKey = this.outContractNo[i].goodsNameKey
+            this.cost = this.outContractNo[i].contractPrice
+          if(this.cost){
+            this.isGetCost = true
+              this.dataList.cost = this.cost - this.dataList.deductionAmount
+          }else{
+             this.isGetCost = false
+             this.dataList.cost = this.dataList.cost
+          }
+          this.dataList.inOutType = this.outContractNo[i].inOutType
+          if(this.outContractNo[i].inOutType=='移库入库'){
+            this.isSelectType = false
+          }else{
+            this.isSelectType = true
+          }
+          if(this.outContractNo[i].tranCarInfoList){
+            this.options2=this.outContractNo[i].tranCarInfoList
+            this.tranCarInfoList=this.outContractNo[i].tranCarInfoList
+            this.carstatus=true
+          }
+        }
+      }
+    },
+    dataFilter1(val) {
+       console.log(val)
+        this.dataList.contractNo = val;
+        if (val) { //val存在
+          this.options1 = this.outContractNo1.filter((item) => {
+            if (!!~item.contractNo.indexOf(val) || !!~item.contractNo.toUpperCase().indexOf(val.toUpperCase())) {
+              return true
+            }
+          })
+        } else { //val为空时,还原数组
+          this.options1 = this.outContractNo;
+        }
+      },
+      dataFilter2(val) {
+        this.dataList.carNo = val;
+        if (val) { //val存在
+          this.options1 = this.outContractNo1.filter((item) => {
+            if (!!~item.carNo.indexOf(val) || !!~item.carNo.toUpperCase().indexOf(val.toUpperCase())) {
+              return true
+            }
+          })
+        } else { //val为空时,还原数组
+          this.options2 = this.tranCarInfoList;
+        }
+      },
+    dataFilter(val) {
+      // console.log(val,"名")
+      this.dataList.staffList = val
+      if (val) {
+        //val存在
+        this.options = this.staffList.filter((item) => {
+          if (
+            !!~item.staffName.indexOf(val) ||
+            !!~item.staffName.toUpperCase().indexOf(val.toUpperCase())
+          ) {
+            return true
+          }
+        })
+      } else {
+        //val为空时,还原数组
+        this.options = this.staffList
+      }
+    },
+    editClick(status){
+       this.isGetCost = false
+      if(status==1){
+        this.disabled1=!this.disabled1
+      }else{
+        this.disabled2=!this.disabled2
+      }
+    },
+    selectstaff(e) {
+      for (var i = 0; i < this.staffList.length; i++) {
+        if (this.staffList[i].staffName == e) {
+          this.dataList.personChargeKey = this.staffList[i].staffId
+        }
+      }
+    },
+    //暂存按钮
+    temporaryStorage() {
+      this.$confirm(`暂存后可在待完成页面查看,确定暂存`, {
+        cancelButtonText: '取消',
+        confirmButtonText: '确定',
+        type: 'warning',
+      })
+        .then(() => {
+          this.$refs.dataList.validate((valid) => {
+            if (valid) {
+              this.dataList.compId = sessionStorage.getItem('ws-pf_compId')
+              this.dataList.inOutFlag = 2
+              this.dataList.statusFlag = 1
+              let _data = JSON.parse(sessionStorage.getItem('winseaview-userInfo'))
+              this.dataList.backOffice  = _data.content.showCompName+'-' +_data.content.staffName
+              addstorageputList(this.dataList)
+                .toPromise()
+                .then((response) => {
+                  this.$message.success('暂存成功')
+                  this.$router.push({ path: 'warehouseManagementList' })
+                })
+            } else {
+              EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+              return false
+            }
+          })
+        })
+        .catch(() => {
+          return false
+        })
+    },
+    //提交按钮
+    submit() {
+      if (!this.dataList.goodsName) {
+        this.$message({
+          message: '货名不能为空',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.dataList.grossWeight) {
+        this.$message({
+          message: '毛重不能为空',
+          type: 'warning',
+        })
+        return
+      }
+      if (
+        this.dataList.grossWeight <= 0 ||
+        this.dataList.grossWeight > 300000 ||
+        (String(this.dataList.grossWeight).indexOf('.') != -1 &&
+          String(this.dataList.grossWeight).length -
+            (String(this.dataList.grossWeight).indexOf('.') + 1) >
+            3)
+      ) {
+        this.$message({
+          message: '毛重输入错误',
+          type: 'warning',
+        })
+        return
+      }
+
+      if (
+        this.dataList.tare < 0 ||
+        this.dataList.tare > 200000 ||
+        (String(this.dataList.tare).indexOf('.') != -1 &&
+          String(this.dataList.tare).length -
+            (String(this.dataList.tare).indexOf('.') + 1) >
+            3)
+      ) {
+        this.$message({
+          message: '皮重输入错误',
+          type: 'warning',
+        })
+        return
+      }
+      
+      if (
+        this.dataList.deductionWeight < 0 ||
+        this.dataList.deductionWeight > 10000 ||
+        (String(this.dataList.deductionWeight).indexOf('.') != -1 &&
+          String(this.dataList.deductionWeight).length -
+            (String(this.dataList.deductionWeight).indexOf('.') + 1) >
+            3)
+      ) {
+        this.$message({
+          message: '扣重输入错误',
+          type: 'warning'
+        })
+        return
+      }
+      if (this.dataList.type=='潮粮'&&!this.dataList.buckleWeightRatio) {
+        this.$message({
+          message: '扣重比不能为空',
+          type: 'warning'
+        })
+        return
+      }
+      if (
+        this.dataList.type=='潮粮'&&this.dataList.buckleWeightRatio < 0 ||
+        this.dataList.type=='潮粮'&&this.dataList.buckleWeightRatio > 3 ||
+        (this.dataList.type=='潮粮'&&String(this.dataList.buckleWeightRatio).indexOf('.') != -1 &&
+          String(this.dataList.buckleWeightRatio).length -
+            (String(this.dataList.buckleWeightRatio).indexOf('.') + 1) >
+            2)
+      ) {
+        this.$message({
+          message: '扣重比输入错误',
+          type: 'warning'
+        })
+        return
+      }
+      if (this.dataList.type=='潮粮'&&!this.dataList.tidalGrainWater) {
+        this.$message({
+          message: '潮粮水分不能为空',
+          type: 'warning'
+        })
+        return
+      }
+      if (
+        this.dataList.type=='潮粮'&&this.dataList.tidalGrainWater < 1 ||
+        this.dataList.type=='潮粮'&&this.dataList.tidalGrainWater > 40 ||
+        (this.dataList.type=='潮粮'&&String(this.dataList.tidalGrainWater).indexOf('.') != -1 &&
+          String(this.dataList.tidalGrainWater).length -
+            (String(this.dataList.tidalGrainWater).indexOf('.') + 1) >
+            2)
+      ) {
+        this.$message({
+          message: '潮粮水分输入错误',
+          type: 'warning'
+        })
+        return
+      }
+      if (this.dataList.type=='潮粮'&&!this.dataList.solidGrainWater) {
+        this.$message({
+          message: '干粮水分不能为空',
+          type: 'warning'
+        })
+        return
+      }
+      if (
+        this.dataList.type=='潮粮'&&this.dataList.solidGrainWater < 1 ||
+        this.dataList.type=='潮粮'&&this.dataList.solidGrainWater > 40 ||
+        (this.dataList.type=='潮粮'&&String(this.dataList.solidGrainWater).indexOf('.') != -1 &&
+          String(this.dataList.solidGrainWater).length -
+            (String(this.dataList.solidGrainWater).indexOf('.') + 1) >
+            1)
+      ) {
+        this.$message({
+          message: '干粮水分输入错误',
+          type: 'warning'
+        })
+        return
+      }
+      if (
+        this.dataList.deductionAmount < 0 ||
+        this.dataList.deductionAmount > 10000 ||
+        (String(this.dataList.deductionAmount).indexOf('.') != -1 &&
+          String(this.dataList.deductionAmount).length -
+            (String(this.dataList.deductionAmount).indexOf('.') + 1) >
+            2)
+      ) {
+        this.$message({
+          message: '扣款输入错误',
+          type: 'warning'
+        })
+        return
+      }
+      if (!this.dataList.cost) {
+        this.$message({
+          message: '未获取到成本,请编辑后提交',
+          type: 'warning'
+        })
+        return
+      }
+      if (
+        this.dataList.cost < 0 ||
+        this.dataList.cost > 20000 ||
+        (String(this.dataList.cost).indexOf('.') != -1 &&
+          String(this.dataList.cost).length -
+            (String(this.dataList.cost).indexOf('.') + 1) >
+            2)
+      ) {
+        this.$message({
+          message: '成本输入错误',
+          type: 'warning'
+        })
+        return
+      }
+      if (!this.dataList.freight&&this.dataList.freight!=0) {
+        this.$message({
+          message: '运费不能为空',
+          type: 'warning'
+        })
+        return
+      }
+      if (
+        this.dataList.freight < 0 ||
+        this.dataList.freight > 100000 ||
+        (String(this.dataList.freight).indexOf('.') != -1 &&
+          String(this.dataList.freight).length -
+            (String(this.dataList.freight).indexOf('.') + 1) >
+            2)
+      ) {
+        this.$message({
+          message: '运费输入错误',
+          type: 'warning'
+        })
+        return
+      }
+      if (!this.dataList.agent) {
+        this.$message({
+          message: '经办人不能为空',
+          type: 'warning',
+        })
+        return
+      }
+      if (this.dataList.agent.length < 2 || this.dataList.agent.length > 10) {
+        this.$message({
+          message: '经办人输入有误',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.dataList.grade) {
+        this.$message({
+          message: '品级不能为空!',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.dataList.inOutDate) {
+        this.$message({
+          message: '入库日期不能为空!',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.dataList.inOutType) {
+        this.$message({
+          message: '入库类型不能为空!',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.dataList.carNo) {
+        this.$message({
+          message: '车牌号不能为空',
+          type: 'warning',
+        })
+        return
+      }
+      if (this.dataList.carNo.length > 7) {
+        this.$message({
+          message: '车牌号输入错误,请输入7个字符之内',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.dataList.contractNo) {
+        this.$message({
+          message: '合同编号不能为空',
+          type: 'warning',
+        })
+        return
+      }
+      if (
+        this.dataList.contractNo.length < 6 ||
+        this.dataList.contractNo.length > 20
+      ) {
+        this.$message({
+          message: '合同编号长度不符合要求,请输入6-20个字符之内',
+          type: 'warning',
+        })
+        return
+      }
+
+      if (this.dataList.netWeight > this.$route.query.capacity) {
+        this.$message({
+          message: '入库量大于该仓库容量!',
+          type: 'warning',
+        })
+        return
+      }
+      //自检员
+      if (this.dataList.warehouseInOutDetail.qualityInspector) {
+        if (
+          this.dataList.warehouseInOutDetail.qualityInspector.length < 2 ||
+          this.dataList.warehouseInOutDetail.qualityInspector.length > 10
+        ) {
+          this.$message({
+            message: '质检员姓名长度错误!',
+            type: 'warning',
+          })
+          return
+        }
+      }
+      if (this.dataList.warehouseInOutDetail.waterContent) {
+        if (isNaN(this.dataList.warehouseInOutDetail.waterContent)) {
+          this.$message({
+            message: '水分(%)非数字!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.dataList.warehouseInOutDetail.waterContent < 1 ||
+          this.dataList.warehouseInOutDetail.waterContent > 40 ||
+          (String(this.dataList.warehouseInOutDetail.waterContent).indexOf(
+            '.'
+          ) != -1 &&
+            String(this.dataList.warehouseInOutDetail.waterContent).length -
+              (String(this.dataList.warehouseInOutDetail.waterContent).indexOf(
+                '.'
+              ) +
+                1) >
+              2)
+        ) {
+          this.$message({
+            message: '水分(%)输入错误! 取值范围1-40之间且可以保留2小数',
+            type: 'warning',
+          })
+          return
+        }
+      }
+
+      //杂质
+      if (this.dataList.warehouseInOutDetail.impurity) {
+        if (isNaN(this.dataList.warehouseInOutDetail.impurity)) {
+          this.$message({
+            message: '杂质(%)非数字!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.dataList.warehouseInOutDetail.impurity < 1 ||
+          this.dataList.warehouseInOutDetail.impurity > 40 ||
+          (String(this.dataList.warehouseInOutDetail.impurity).indexOf('.') !=
+            -1 &&
+            String(this.dataList.warehouseInOutDetail.impurity).length -
+              (String(this.dataList.warehouseInOutDetail.impurity).indexOf(
+                '.'
+              ) +
+                1) >
+              2)
+        ) {
+          this.$message({
+            message: '杂质(%)输入错误! 取值范围1-40之间且可以保留2小数',
+            type: 'warning',
+          })
+          return
+        }
+      }
+      //霉变
+      if (this.dataList.warehouseInOutDetail.mildewGrain) {
+        if (isNaN(this.dataList.warehouseInOutDetail.mildewGrain)) {
+          this.$message({
+            message: '霉变粒(%)非数字!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.dataList.warehouseInOutDetail.mildewGrain < 1 ||
+          this.dataList.warehouseInOutDetail.mildewGrain > 40 ||
+          (String(this.dataList.warehouseInOutDetail.mildewGrain).indexOf(
+            '.'
+          ) != -1 &&
+            String(this.dataList.warehouseInOutDetail.mildewGrain).length -
+              (String(this.dataList.warehouseInOutDetail.mildewGrain).indexOf(
+                '.'
+              ) +
+                1) >
+              2)
+        ) {
+          this.$message({
+            message: '霉变粒(%)输入错误! 取值范围1-40之间且可以保留2小数',
+            type: 'warning',
+          })
+          return
+        }
+      }
+
+      //热损伤
+      if (this.dataList.warehouseInOutDetail.jiaorenli) {
+        if (isNaN(this.dataList.warehouseInOutDetail.jiaorenli)) {
+          this.$message({
+            message: '热损伤(%)非数字!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.dataList.warehouseInOutDetail.jiaorenli < 1 ||
+          this.dataList.warehouseInOutDetail.jiaorenli > 40 ||
+          (String(this.dataList.warehouseInOutDetail.jiaorenli).indexOf('.') !=
+            -1 &&
+            String(this.dataList.warehouseInOutDetail.jiaorenli).length -
+              (String(this.dataList.warehouseInOutDetail.jiaorenli).indexOf(
+                '.'
+              ) +
+                1) >
+              2)
+        ) {
+          this.$message({
+            message: '热损伤(%)输入错误! 取值范围1-40之间且可以保留2小数',
+            type: 'warning',
+          })
+          return
+        }
+      }
+
+      //不完善粒(%)
+      if (this.dataList.warehouseInOutDetail.imperfectGrain) {
+        if (isNaN(this.dataList.warehouseInOutDetail.imperfectGrain)) {
+          this.$message({
+            message: '不完善粒(%)非数字!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.dataList.warehouseInOutDetail.imperfectGrain < 1 ||
+          this.dataList.warehouseInOutDetail.imperfectGrain > 40 ||
+          (String(this.dataList.warehouseInOutDetail.imperfectGrain).indexOf(
+            '.'
+          ) != -1 &&
+            String(this.dataList.warehouseInOutDetail.imperfectGrain).length -
+              (String(
+                this.dataList.warehouseInOutDetail.imperfectGrain
+              ).indexOf('.') +
+                1) >
+              2)
+        ) {
+          this.$message({
+            message: '不完善粒(%)输入错误! 取值范围1-40之间且可以保留2小数',
+            type: 'warning',
+          })
+          return
+        }
+      }
+      //容重
+      if (this.dataList.warehouseInOutDetail.bulkDensity) {
+        if (isNaN(this.dataList.warehouseInOutDetail.bulkDensity)) {
+          this.$message({
+            message: '容重(克/升)非数字!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.dataList.warehouseInOutDetail.bulkDensity > 1000 ||
+          this.dataList.warehouseInOutDetail.bulkDensity < 0||
+          (String(this.dataList.warehouseInOutDetail.bulkDensity).indexOf(
+            '.'
+          ) != -1 &&
+            String(this.dataList.warehouseInOutDetail.bulkDensity).length -
+              (String(this.dataList.warehouseInOutDetail.bulkDensity).indexOf(
+                '.'
+              ) +
+                1) >
+              0)
+        ) {
+          this.$message({
+            message: '容重(克/升)输入错误! 取值范围1-40之间且是整数',
+            type: 'warning',
+          })
+          return
+        }
+      }
+      this.$confirm(`确定提交皮重检斤`, {
+        cancelButtonText: '取消',
+        confirmButtonText: '确定',
+        type: 'warning',
+      })
+        .then(() => {
+          this.$refs.dataList.validate((valid) => {
+            if (valid) {
+              this.dataList.compId = sessionStorage.getItem('ws-pf_compId')
+              this.dataList.inOutFlag = 2
+              this.dataList.statusFlag = 3
+              this.dataList.grossWeight /= 1000
+              this.dataList.tare /= 1000
+              this.dataList.netWeight /= 1000
+              this.dataList.pureWeight /= 1000
+              if(!this.dataList.deductionWeight){
+                this.dataList.deductionWeight = 0
+              }
+              if(!this.dataList.deductionAmount){
+                this.dataList.deductionAmount = 0
+              }
+              this.dataList.deductionWeight *= 1000
+              this.dataList.deductionAmount *= 1000
+              addstorageputList(this.dataList)
+                .toPromise()
+                .then((response) => {
+                  this.$message.success('提交成功')
+                  this.$confirm(`是否打印磅单`, {
+                    cancelButtonText: '取消',
+                    confirmButtonText: '确定',
+                    type: 'warning',
+                  })
+                    .then(() => {
+                      getPrintInfo({
+                        id: this.dataList.id
+                      })
+                        .toPromise()
+                        .then((response) => {
+                            window.open( '../../../../static/weightCheckInOut.html?type=2&tableData=' +JSON.stringify(response))
+                        })
+                      this.$router.push({ path: 'warehouseManagementList' })
+                    })
+                    .catch(() => {
+                      return false
+                    })
+                })
+            } else {
+              EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+              return false
+            }
+          })
+        })
+        .catch(() => {
+          return false
+        })
+    },
+    //暂存按钮
+    returnWarehouse() {
+      this.$refs.dataList.validate((valid) => {
+        if (valid) {
+          this.dataList.compId = sessionStorage.getItem('ws-pf_compId')
+          this.dataList.statusFlag = 1
+          addstorageputList(this.dataList)
+            .toPromise()
+            .then((response) => {
+              this.$message.success('添加成功')
+              this.$router.push({ path: 'warehouseManagementList' })
+            })
+        } else {
+          EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+          return false
+        }
+      })
+    },
+    tarechange(e) {
+      if (this.dataList.grossWeight && this.dataList.tare) {
+        this.dataList.netWeight = Number(
+          this.dataList.grossWeight - this.dataList.tare
+        )
+      }
+    },
+    grossWeightchange(e) {
+      if (this.dataList.grossWeight && this.dataList.tare) {
+        this.dataList.netWeight = Number(
+          this.dataList.grossWeight - this.dataList.tare
+        )
+      }
+    },
+    selectgoodsName(e) {
+      for (var i = 0; i < this.goodnameList.length; i++) {
+        if (this.goodnameList[i].constValue == e) {
+          this.dataList.goodsNameKey = this.goodnameList[i].constKey
+        }
+      }
+    },
+    selectpackingMethod(e) {
+      for (var i = 0; i < this.packtypeList.length; i++) {
+        if (this.packtypeList[i].constValue == e) {
+          this.dataList.packingMethodKey = this.packtypeList[i].constKey
+        }
+      }
+    },
+    selectstorageType(e) {
+      for (var i = 0; i < this.storageType.length; i++) {
+        if (this.storageType[i].constValue == e) {
+          this.dataList.inOutTypeKey = this.storageType[i].constKey
+        }
+      }
+    },
+    handleClose() {
+      this.accessoryTFs = false
+    },
+    handleSizeChange(val) {
+      console.log(`每页 ${val} 条`)
+      this.pageSize = val
+      this.getList()
+    },
+    handleCurrentChange(val) {
+      this.currentPage = val
+      console.log(`当前页: ${val}`)
+      this.getList()
+    },
+    getList() {
+      // 货名
+      pullDown({ constId: 'CON2' })
+        .toPromise()
+        .then((response) => {
+          this.goodnameList = response
+        })
+      // 品级
+      pullDown({ constId: 'CON3' })
+        .toPromise()
+        .then((response) => {
+          this.gradeList = response
+        })
+      // 类型
+      if (this.$route.query.warehouseType == '1') {
+        this.storageType = []
+        pullDown({ constId: 'CON5' })
+          .toPromise()
+          .then((response) => {
+            // this.storageType = response
+               for(let i = 0;i<response.length;i++){
+                if(response[i].constValue=='移库入库'||response[i].constValue=='退库'){
+                  this.storageType.push(response[i])
+                }
+            }
+          })
+      } else if (this.$route.query.warehouseType == '2') {
+        //临时仓库入库类型
+        pullDown({ constId: 'WARE1' })
+          .toPromise()
+          .then((response) => {
+            this.storageType = response
+          })
+        //临时仓库出库类型
+        pullDown({ constId: 'WARE2' })
+          .toPromise()
+          .then((response) => {
+            this.deliveryType = response
+          })
+      }
+      //合同编号
+      xialaNo({ compId: sessionStorage.getItem('ws-pf_compId'), flag: 6 })
+        .toPromise()
+        .then((response) => {
+          this.options1 = response
+          this.outContractNo = response
+        })
+      //合同编号2
+      xialaNo({ compId: sessionStorage.getItem('ws-pf_compId'), flag: 7 })
+        .toPromise()
+        .then((response) => {
+          this.outContractNo1 = response
+        })
+      //经办人
+      getstaff({ compId: sessionStorage.getItem('ws-pf_compId'),warehouseId:this.dataList.id })
+        .toPromise()
+        .then((response) => {
+          this.options = response
+          this.qualityInspectorList = response
+          this.staffList = response
+          //  this.agent = response
+        })
+    },
+    selecttaskType(e) {
+      for (var i = 0; i < this.taskTypeList.length; i++) {
+        if (this.taskTypeList[i].value == e) {
+          this.searchType = this.taskTypeList[i].type
+        }
+      }
+    },
+    fujian(row) {
+      if (
+        row.receiveAttachmentPath === null ||
+        row.receiveAttachmentPath === ''
+      ) {
+        EventBus.$emit(
+          'warning',
+          this.$t('system.noticeCircular.NoInformation')
+        )
+      } else {
+        this.accessoryTFs = true
+      }
+      this.appendixIdss = row.receiveAttachmentPath
+    },
+    handleExamine(row) {
+      this.$router.push({
+        name: 'salesContractExamine',
+        query: { id: row.id },
+      })
+    },
+
+    // 关闭 dialog时 处理文件url 初始化upload组件
+    handleCloe() {
+      this.dialogViewSpareMoney = false
+    },
+    history(row) {
+      console.log(row)
+      billoperatehis({ id: row.id })
+        .toPromise()
+        .then((response) => {
+          this.historyList = response
+        })
+    },
+
+    async exportlist() {
+      const { data } = await export1(
+        {
+          compId: sessionStorage.getItem('ws-pf_compId'),
+          contractType: this.contractType,
+          currentPage: this.currentPage,
+          pageSize: this.pageSize,
+          searchType: this.searchType,
+          searchKeyWord: this.searchKeyWord,
+          startDate: this.startDate,
+          endDate: this.endDate,
+        },
+        {},
+        { responseType: 'blob' }
+      ).toPromise()
+      downloadFile({
+        res: data,
+        fileName: `${
+          this.date.year + (this.date.month ? `-${this.date.month}` : '')
+        }_采购合同`,
+        type: 'xls',
+      })
+    },
+
+    // deletecontract(){},
+    //删除
+    approve() {},
+    listQuery() {},
+    total() {},
+    clearfiltQuery() {},
+    selectCrtDuty() {},
+  },
+}
+</script>
+<style lang="scss" scoped>
+/deep/.basicInformation {
+  .ws-info-table {
+    border: none;
+  }
+  .el-form-item {
+    width: 33.3333%;
+    border: none;
+    .el-form-item__label {
+      background: transparent;
+      border: none;
+    }
+    .el-form-item__content {
+      border: none;
+    }
+  }
+}
+.title {
+  position: relative;
+  padding-left: 10px;
+}
+.title::before {
+  content: '';
+  display: inline-block;
+  width: 5px;
+  height: 30px;
+  background: #5473e8;
+  position: absolute;
+  left: 0;
+}
+.el-form {
+  padding: 0 10%;
+}
+.el-button--primary {
+  background-color: #5878e8;
+  border-color: #5878e8;
+}
+.el-col {
+  background: #f6f7fc;
+}
+.bg-right {
+  text-align: right;
+  padding: 16px 20px;
+}
+.center {
+  position: relative;
+  top: 50px;
+  width: 40%;
+  height: 2000px;
+  margin: 0 auto;
+}
+/deep/.el-form-item__label {
+  width: 160px;
+}
+.inspector {
+  width: 50%;
+}
+//质检员
+/deep/[data-v-58803672] .el-form-item__label {
+  width: 60px;
+}
+[data-v-58803672] .el-form-item__label {
+  width: 60px;
+}
+//选填
+/deep/.el-form-item {
+  width: 50%;
+}
+.container {
+  overflow: scroll;
+  height: 120vh;
+}
+/deep/.ws-info-table .el-form-item .el-form-item__label {
+  text-align: center;
+}
+.deliverydate {
+  display: inline-block;
+  width: 10%;
+}
+.center {
+  margin-top: -60px;
+  width: 80%;
+}
+//仓位
+.position {
+  width: 52px;
+  height: 20px;
+  background: #afb5cb;
+  border-radius: 2px;
+  font-size: 12px;
+  font-family: PingFangSC-Medium, PingFang SC;
+  color: #ffffff;
+  line-height: 20px;
+}
+//表格文字
+/deep/.ws-info-table .el-form-item .el-form-item__label {
+  text-align: left;
+  font-size: 14px;
+  font-family: PingFangSC-Regular, PingFang SC;
+  font-weight: 400;
+  color: #8890b1;
+  line-height: 16px;
+}
+//质检员
+.inspector .el-form-item__content {
+  text-align: left;
+  margin-left: 0px;
+}
+.small-title {
+  position: relative;
+  padding: 10px;
+  font-weight: 600;
+}
+.small-title::before {
+  position: absolute;
+  content: '';
+  display: block;
+  background: #5473e8;
+  width: 4px;
+  height: 14px;
+  left: 0px;
+  top: 13px;
+}
+//下面列表
+.neifor {
+  width: 80%;
+  background-color: #f6f7fc;
+}
+/deep/.neifor .ws-info-table .el-form-item .el-form-item__label {
+  width: 35%;
+  text-align: center;
+}
+/deep/.neifor .ws-info-table .el-form-item .el-form-item__content {
+  width: 60%;
+  background-color: #f6f7fc;
+}
+/deep/.neifor .el-input--small .el-input__inner {
+  width: 100%;
+}
+.el-input__inner {
+  width: 150px;
+}
+</style>

+ 1363 - 0
src/views/warehouse/warehouseManagementNoWeightOut.vue

@@ -0,0 +1,1363 @@
+
+// 完善出库信息
+<template>
+  <div class="container">
+    <el-row>
+      <el-col :span="20">
+        <h2 class="bg-left title">出库毛重检斤</h2>
+      </el-col>
+      <el-col :span="4" class="bg-right">
+        <el-button
+          class="bg-bottom"
+          type="primary"
+          size="small"
+          @click="revert()"
+          ><img
+            width="6"
+            height="10"
+            style="vertical-align: bottom; margin-right: 3px"
+            src="../../../public/img/lujing.png"
+            alt=""
+          />返回</el-button
+        >
+      </el-col>
+    </el-row>
+
+    <ws-form ref="dataList" :model="dataList" :rules="rules">
+      <div class="basicInformation">
+        <h2>
+          {{ this.deptBudgetList1.warehouseName }}库
+          <span class="position" v-show="this.$route.query.warehouseType == 1">
+            {{ this.deptBudgetList1.binNumber }}仓位
+          </span>
+          <span v-show="this.$route.query.warehouseType == 2"> (临) </span>
+        </h2>
+        <div class="small-title">基本信息</div>
+        <ws-info-table>
+         <ws-form-item label="合同编号" span="1" prop="contractNo">
+            <ws-select
+              v-model="dataList.contractNo"
+              placeholder="请选择合同编号或移库任务编号"
+              class="typeselect"
+              @change='contractNoChange'
+            >
+              <ws-option
+                v-for="item in outContractNo"
+                :key="item.constKey"
+                :label="item.contractNo"
+                :value="item.contractNo"
+              />
+            </ws-select>
+          </ws-form-item>
+          <!-- 货名 -->
+          <ws-form-item label="货名" span="1">
+            <ws-select
+            disabled
+              v-model="dataList.goodsName"
+              placeholder
+              class="typeselect"
+              @change="selectgoodsName"
+            >
+              <ws-option
+                v-for="item in goodnameList"
+                :key="item.constKey"
+                :label="item.constValue"
+                :value="item.constValue"
+              />
+            </ws-select>
+          </ws-form-item>
+          <ws-form-item label="类型" span="1" prop="type">
+              <ws-select v-model="dataList.type"  @change="typeChange">
+                <ws-option v-for="item in typeList" :key="item" :label="item" :value="item" />
+              </ws-select>
+            </ws-form-item>
+          <!--毛重(公斤)-->
+          <ws-form-item label="毛重(公斤)" span="1" prop="grossWeight">
+            <ws-input
+              :disabled="allowEdit"
+              @input="grossWeightchange"
+              v-model="dataList.grossWeight"
+              placeholder="请输入毛重"
+              maxlength="20"
+              size="small"
+            />
+              <el-button type="primary"  @click="openPort">重新获取</el-button>
+          </ws-form-item>
+
+          <!--皮重(公斤)-->
+          <ws-form-item label="皮重(公斤)" span="1" prop="tare" class="readonly">
+            <ws-input
+              :disabled="allowEdit"
+              @input="tarechange"
+              v-model="dataList.tare"
+              placeholder="请输入皮重"
+              maxlength="100"
+              size="small"
+            />
+          </ws-form-item>
+          <!--净重(公斤)-->
+          <ws-form-item label="净重(公斤)" span="1" prop="netWeight">
+            <ws-input
+              readonly="readonly"
+              v-model="dataList.netWeight"
+              placeholder="不可编辑,自动计算"
+              maxlength="120"
+              size="small"
+            />
+          </ws-form-item>
+          <ws-form-item v-if='dataList.type=="潮粮"' label="扣重比" span="1" prop="buckleWeightRatio" class="readonly">
+            <ws-input
+              @input='pureweight'
+              v-model="dataList.buckleWeightRatio"
+              placeholder="请输入扣重比"
+              maxlength="100"
+              size="small"
+            />
+          </ws-form-item>
+          <ws-form-item v-if='dataList.type=="潮粮"' label="干粮水分占比" span="1" prop="solidGrainWater" class="readonly">
+            <ws-input
+            @input='pureweight'
+              v-model="dataList.solidGrainWater"
+              placeholder="请输入干粮水分占比"
+              maxlength="100"
+              size="small"
+            />
+          </ws-form-item>
+          <ws-form-item v-if='dataList.type=="潮粮"' label="潮粮水分占比" span="1" prop="tidalGrainWater" class="readonly">
+            <ws-input
+            @input='pureweight'
+              v-model="dataList.tidalGrainWater"
+              placeholder="请输入潮粮水分占比"
+              maxlength="100"
+              size="small"
+            />
+          </ws-form-item>
+          <ws-form-item v-if='dataList.type=="潮粮"' label="纯重" span="1" prop="pureWeight" class="readonly">
+            <ws-input
+              disabled
+              v-model="dataList.pureWeight"
+              placeholder="不可编辑,自动计算"
+              maxlength="100"
+              size="small"
+            />
+          </ws-form-item>
+          <!-- 品级 -->
+          <ws-form-item label="品级" span="1" class="readonly">
+            <ws-select
+              v-model="dataList.grade"
+              placeholder=""
+              class="typeselect"
+              @change="selectpackingMethod"
+            >
+              <ws-option
+                v-for="item in gradeList"
+                :key="item.constKey"
+                :label="item.constValue"
+                :value="item.constValue"
+              />
+            </ws-select>
+          </ws-form-item>
+          <!--经办人-->
+          <ws-form-item label="经办人" span="1" prop="agent">
+            <el-select
+              v-model="dataList.agent"
+              placeholder="请选择经办人"
+              filterable
+              :filter-method="dataFilter"
+              @change="selectstaff"
+            >
+              <el-option
+                v-for="item in options"
+                :key="item.value"
+                :label="item.staffName"
+                :value="item.staffName"
+              />
+            </el-select>
+          </ws-form-item>
+          <!--出库日期-->
+          <ws-form-item
+            label="出库日期"
+            span="1"
+            prop="inOutDate"
+            class="deliverydate"
+          >
+            <ws-date-picker
+              v-model="dataList.inOutDate"
+              type="date"
+              placeholder="请选择出库日期"
+              value-format="yyyy-MM-dd"
+            />
+          </ws-form-item>
+          <!-- 出库类型 -->
+          <ws-form-item label="出库类型" span="1">
+            <ws-select
+              v-model="dataList.inOutType"
+              placeholder=""
+              class="typeselect"
+              @change="selectstorageType"
+            >
+              <ws-option
+                v-for="item in deliveryType"
+                :key="item.constKey"
+                :label="item.constValue"
+                :value="item.constValue"
+              />
+            </ws-select>
+          </ws-form-item>
+
+          <!--车牌号-->
+          <ws-form-item label="车牌号" span="1" prop="carNo">
+            <ws-input
+              v-if="!carstatus"
+              v-model="dataList.carNo"
+              placeholder="请输入车牌号"
+              maxlength="20"
+              size="small"
+            />
+             <el-select
+              v-if="carstatus"
+              filterable
+              :filter-method="dataFilter2"
+              v-model="deptBudgetList.carNo"
+              placeholder="请选择车牌号"
+              class="typeselect"
+              @change="carChange"
+            >
+              <el-option
+                v-for="item in options2"
+                :key="item.constKey"
+                :label="item.carNo + '(' + item.tranCarNo + ')'"
+                :value="item.carNo"
+              />
+            </el-select>
+          </ws-form-item>
+        </ws-info-table>
+      </div>
+      <!-- <div class="small-title">上传磅单照片</div>
+      <el-upload
+            action="https://www.zthymaoyi.com/upload/admin"
+            :show-file-list="false"
+            :on-success="
+              (res) => {
+                uploadSuccessHandle1(res)
+              }
+            "
+            class="avatar-uploader"
+            accept=".jpg, .jpeg, .png, .gif"
+            ><el-button size="small" type="primary">点击上传</el-button>
+          </el-upload>
+          <div v-if='dataList.addressUrl!=""'>
+            <img style='width:100px;height:100px;' :src="dataList.addressUrl" alt="">
+          </div> -->
+      <div class="small-title">化验数据(选填)</div>
+      <div class="inspector">
+        <!--质检员-->
+        <!-- <ws-form-item label="质检员" span="1" prop="qualityInspector">
+          <ws-input
+            v-model="dataList.warehouseInOutDetail.qualityInspector"
+            placeholder="请输入质检员姓名"
+            maxlength="120"
+            size="small"
+          />
+        </ws-form-item> -->
+        <ws-form-item label="质检员" span="1" prop="qualityInspector">
+            <el-select
+              v-model="dataList.warehouseInOutDetail.qualityInspector"
+              placeholder="请选择质检员"
+              filterable
+              clearable
+               :filter-method="dataFilter"
+            >
+              <el-option
+                v-for="item in qualityInspectorList"
+                :key="item.value"
+                :label="item.staffName"
+                :value="item.staffName"
+              />
+            </el-select>
+          </ws-form-item>
+      </div>
+      <div class="neifor">
+        <ws-info-table>
+          <!--水分(%)<=-->
+          <ws-form-item label="水分(%)<=" span="1" prop="waterContent">
+            <ws-input
+              v-model="dataList.warehouseInOutDetail.waterContent"
+              placeholder="请输入水分占比"
+              maxlength="120"
+              size="small"
+            />
+          </ws-form-item>
+          <!--杂质(%)<=-->
+          <ws-form-item label="杂质(%)<=" span="1" prop="impurity">
+            <ws-input
+              v-model="dataList.warehouseInOutDetail.impurity"
+              placeholder="请输入杂质占比"
+              maxlength="120"
+              size="small"
+            />
+          </ws-form-item>
+          <!--容重(克/升)>=-->
+          <ws-form-item label="容重(克/升)>=" span="1" prop="bulkDensity">
+            <ws-input
+              v-model="dataList.warehouseInOutDetail.bulkDensity"
+              placeholder="请输入容重"
+              maxlength="120"
+              size="small"
+            />
+          </ws-form-item>
+          <!--霉变粒(%)<=-->
+          <ws-form-item label="霉变粒(%)<=" span="1" prop="mildewGrain">
+            <ws-input
+              v-model="dataList.warehouseInOutDetail.mildewGrain"
+              placeholder="请输入霉变粒占比"
+              maxlength="120"
+              size="small"
+            />
+          </ws-form-item>
+          <!--热损伤(%)<=-->
+          <ws-form-item label="热损伤(%)<=" span="1" prop="jiaorenli">
+            <ws-input
+              v-model="dataList.warehouseInOutDetail.jiaorenli"
+              placeholder="请输入热损伤占比"
+              maxlength="120"
+              size="small"
+            />
+          </ws-form-item>
+          <!--不完善粒(%)<=-->
+          <ws-form-item label="不完善粒(%)<=" span="1" prop="imperfectGrain">
+            <ws-input
+              v-model="dataList.warehouseInOutDetail.imperfectGrain"
+              placeholder="请输入不完善粒占比"
+              maxlength="120"
+              size="small"
+            />
+          </ws-form-item>
+        </ws-info-table>
+      </div>
+      <div style="text-align: right; padding: 10px">
+        <!-- <el-button
+          class="bg-bottom-up"
+          type="primary"
+          size="small"
+          @click="temporaryStorage()"
+          >暂存</el-button
+        > -->
+        <el-button
+          class="bg-bottom-up"
+          type="primary"
+          size="small"
+          @click="submit()"
+          >提交</el-button
+        >
+      </div>
+    </ws-form>
+  </div>
+</template>
+<script>
+import {
+  pullDown,
+  addstorageputList,
+  xialaNo,
+  getstaff,
+  getPrintInfo
+} from '@/model/warehouse/index'
+import { downloadFile } from '@/utils/batchDown'
+import Pagination from '@/components/Pagination'
+import WsUpload from '@/components/WsUpload'
+import { mapActions, mapGetters, mapState } from 'vuex'
+// import { dayjs, fmoney, EventBus } from 'base-core-lib'
+import { dayjs, EventBus } from 'base-core-lib'
+export default {
+  name: 'viewSpareMoney',
+  components: {
+    WsUpload,
+    Pagination,
+  },
+  watch: {
+    isShow(val) {
+      this.showType = val
+    },
+    dataList:{//深度监听,可监听到对象、数组的变化
+         handler(val, oldVal){
+           if(val.grossWeight){
+             this.dataList.netWeight = val.grossWeight - this.dataList.tare
+           }
+         },
+         deep:true //true 深度监听
+     }
+  },
+  computed: {
+    ...mapGetters(['deptBudgetList']),
+  },
+  data() {
+    return {
+      //弹出框
+      dialogViewSpareMoney: false,
+      dialogApproveFormVisible: false,
+      // 船舶类型
+      monetaryKey: null,
+      // 表格显示数据
+      tableDate: [],
+      // 是否显示
+      showType: true,
+      // 年
+      year: '',
+      readonly: true,
+      typeList:['干粮','潮粮'],
+      qualityInspectorList:[],
+      deptBudgetTotal: 0,
+      currentPage: 1,
+      pageSize: 10,
+      searchType: 1,
+      searchKeyWord: '',
+      contractType: 2,
+      startDate: null,
+      endDate: null,
+      goodnameList: {},
+      tranCarInfoList:[],
+      staffList: [],
+      options: [],
+      options1: [],
+      options2: [],
+      carstatus:false,
+      storageType: [],
+      deliveryType: [],
+      outContractNo: [],
+      // 提交类型
+      submitType: true,
+      storageType: [],
+      appendixIdsAdd: '',
+      uploadSuccess: {},
+      onChange: {},
+      deptBudgetList1: [],
+      gradeList: [],
+      rules: {
+        netWeight: [
+          {
+            required: true,
+            type: 'number',
+            message: '请输入活动名称',
+            trigger: 'blur',
+          },
+        ],
+      },
+      size: 10,
+      compId: sessionStorage.getItem('ws-pf_compId'),
+      deptCircularPage: {},
+      packtypeList: {},
+      date: {
+        year: dayjs().format('YYYY'),
+        month: dayjs().format('MM'),
+      },
+      contractList: [],
+      dataList: {
+        id: '',
+        grossWeight: '',
+        contractNo: '',
+        tare: '',
+        netWeight: '',
+        grade: '',
+        agent: '',
+        carNo: '',
+        inOutDate: '',
+        inOutType: '',
+        goodsName: '',
+        warehouseInOutDetail: {
+          qualityInspector:''
+        },
+        cost:'',
+        freight:0,
+        type:'',
+        addressUrl:'',
+        buckleWeightRatio:'',
+        tidalGrainWater:'',
+        solidGrainWater:'',
+        pureWeight:'',
+        deductionAmount:'',
+        deductionWeigh:'',
+      },
+      historyList: [],
+
+      pickerBeginDateBefore: {
+        disabledDate: (time) => {
+          return time.getTime() > Date.now()
+        },
+      },
+      accessoryTFs: false,
+      allowEdit:true
+    }
+  },
+  activated() {
+    if(this.$route.query.allowEdit == 1){
+      this.allowEdit = false
+    }
+    else{
+      this.allowEdit = true
+    }
+    this.deptBudgetList1.warehouseName = this.$route.query.warehouseName
+    this.deptBudgetList1.binNumber = this.$route.query.binNumber
+    this.getList()
+    this.dataList.id = this.$route.query.id
+    this.dataList.grossWeight = this.$route.query.grossWeight*1000
+    this.dataList.contractNo = this.$route.query.contractNo
+    this.dataList.baseId = this.$route.query.baseId
+    this.dataList.positionId = this.$route.query.positionId
+    this.dataList.warehouseName = this.$route.query.warehouseName
+    this.dataList.binNumber = this.$route.query.binNumber
+    this.dataList.tare = this.$route.query.tare*1000
+    this.dataList.netWeight = this.$route.query.netWeight*1000
+    this.dataList.grade = this.$route.query.grade
+    this.dataList.agent = this.$route.query.agent
+    this.dataList.carNo = this.$route.query.carNo
+    this.dataList.inOutDate = this.$route.query.inOutDate
+    this.dataList.contractNo = this.$route.query.contractNo
+    this.dataList.inOutType = this.$route.query.inOutType
+    this.dataList.compId = this.$route.query.compId
+    this.dataList.goodsName = this.$route.query.goodsName
+    this.dataList.goodsNameKey = Number(this.$route.query.goodsNameKey)
+    this.dataList.inOutFlag = this.$route.inOutFlag
+    this.dataList.inOutTypeKey = Number(this.$route.query.inOutTypeKey)
+    this.dataList.statusFlag = this.$route.statusFlag
+    this.dataList.warehouseInOutDetail = this.$route.query.warehouseInOutDetail
+    console.log(this.dataList)
+  },
+  methods: {
+    async closePort() {
+      console.log('closePort');
+      this.reader.cancel()
+    },
+    async openPort() {
+      console.log('openPort', navigator);
+      if ('serial' in navigator) {
+        // The Web Serial API is supported.
+        console.log('the Web Serial API is supported.');
+        console.log(this.param);
+        const port = await navigator.serial.requestPort();
+        await port.open({
+          baudRate: this.param
+        }); // set baud rate
+        this.reader = port.readable.getReader();
+        // 监听来自串行设备的数据
+        while (true) {
+          const {
+            value,
+            done
+          } = await this.reader.read();
+          // console.log("value",value);
+          if (done) {
+            // 允许稍后关闭串口。
+            this.reader.releaseLock();
+            break;
+          }
+          var result = '';
+          //2。获取16进制字符串
+          // var receData = HexConvert.ByteToString(value);
+          // console.log("receData",receData);
+          var flag = false;
+          for (var i = 0; i < value.length; i++) {
+            var tmp = String.fromCharCode(value[i])
+            if (tmp == '+') {
+              flag = true
+            }
+            if (flag && result.length < 6 && tmp != '+') {
+              result += tmp
+            }
+          }
+          if(parseInt(result)){
+              this.dataList.tare = parseInt(result)
+          }
+          setTimeout(1000)
+          // value 是一个 Uint8Array
+        }
+        await port.close();
+      } else {
+        console.log('the Web Serial API is not supported.', navigator);
+      }
+    },
+    pureweight(status){
+      console.log(this.deptBudgetList)
+      if(this.deptBudgetList.netWeight&&this.deptBudgetList.tidalGrainWater&&this.deptBudgetList.solidGrainWater&&this.deptBudgetList.buckleWeightRatio){
+        this.deptBudgetList.pureWeight=(this.deptBudgetList.netWeight*(100-(this.deptBudgetList.tidalGrainWater-this.deptBudgetList.solidGrainWater)*this.deptBudgetList.buckleWeightRatio))/100
+      }
+    },
+    uploadSuccessHandle1(res){
+      this.dataList.addressUrl=res.url
+    },
+    //返回按钮
+    revert() {
+      this.$router.go(-1)
+    },
+    dataFilter(val) {
+      // console.log(val,"名")
+      this.deptBudgetList.staffList = val
+      if (val) {
+        //val存在
+        this.options = this.staffList.filter((item) => {
+          if (
+            !!~item.staffName.indexOf(val) ||
+            !!~item.staffName.toUpperCase().indexOf(val.toUpperCase())
+          ) {
+            return true
+          }
+        })
+      } else {
+        //val为空时,还原数组
+        this.options = this.staffList
+      }
+    },
+
+    selectstaff(e) {
+      for (var i = 0; i < this.staffList.length; i++) {
+        if (this.staffList[i].staffName == e) {
+          this.deptBudgetList.personChargeKey = this.staffList[i].staffId
+        }
+      }
+    },
+    //暂存按钮
+    temporaryStorage() {
+      this.$confirm(`暂存后可在待完成页面查看,确定暂存`, {
+        cancelButtonText: '取消',
+        confirmButtonText: '确定',
+        type: 'warning',
+      })
+        .then(() => {
+          this.$refs.dataList.validate((valid) => {
+            if (valid) {
+              this.dataList.compId = sessionStorage.getItem('ws-pf_compId')
+              this.dataList.inOutFlag = 1
+              this.dataList.statusFlag = 1
+              addstorageputList(this.dataList)
+                .toPromise()
+                .then((response) => {
+                  this.$message.success('暂存成功')
+                  this.$router.push({ path: 'warehouseManagementList' })
+                })
+            } else {
+              EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+              return false
+            }
+          })
+        })
+        .catch(() => {
+          return false
+        })
+    },
+    contractNoChange(e){
+      for (var i = 0; i < this.outContractNo.length; i++) {
+        if (this.outContractNo[i].contractNo == e) {
+            if (this.outContractNo[i].inOutType == '销售出库') {
+              this.deptBudgetList.inOutTypeKey = 1
+            } else if (this.outContractNo[i].inOutType == '移库出库') {
+              this.deptBudgetList.inOutTypeKey = 3
+            } else if (this.outContractNo[i].inOutType == '暂存入库') {
+              this.deptBudgetList.inOutTypeKey = 4
+            } else if (this.outContractNo[i].inOutType == '贸易服务出库') {
+              this.deptBudgetList.inOutTypeKey = 5
+            } else if (this.detailData.inOutType == '采购出库') {
+              this.deptBudgetList.inOutTypeKey = 6
+            }
+          this.dataList.goodsName = this.outContractNo[i].goodsName
+          this.dataList.goodsNameKey = this.outContractNo[i].goodsNameKey
+          if(this.outContractNo[i].tranCarInfoList){
+            this.options2=this.outContractNo[i].tranCarInfoList
+            this.tranCarInfoList=this.outContractNo[i].tranCarInfoList
+            this.carstatus=true
+          }
+        }
+      }
+    },
+    typeChange(e){
+
+    },
+    //提交按钮
+    submit() {
+      if (!this.dataList.goodsName) {
+        this.$message({
+          message: '货名不能为空',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.dataList.grossWeight) {
+        this.$message({
+          message: '毛重不能为空',
+          type: 'warning',
+        })
+        return
+      }
+      if (
+        this.dataList.grossWeight <= 0 ||
+        this.dataList.grossWeight > 200000 ||
+        (String(this.dataList.grossWeight).indexOf('.') != -1 &&
+          String(this.dataList.grossWeight).length -
+            (String(this.dataList.grossWeight).indexOf('.') + 1) >
+            3)
+      ) {
+        this.$message({
+          message: '毛重输入错误',
+          type: 'warning',
+        })
+        return
+      }
+      if (
+        this.dataList.tare < 0 ||
+        this.dataList.tare > 200000 ||
+        (String(this.dataList.tare).indexOf('.') != -1 &&
+          String(this.dataList.tare).length -
+            (String(this.dataList.tare).indexOf('.') + 1) >
+            3)
+      ) {
+        this.$message({
+          message: '皮重输入错误',
+          type: 'warning',
+        })
+        return
+      }
+      if (this.dataList.type=='潮粮'&&!this.dataList.buckleWeightRatio) {
+        this.$message({
+          message: '扣重比不能为空',
+          type: 'warning'
+        })
+        return
+      }
+      if (
+        this.dataList.type=='潮粮'&&this.dataList.buckleWeightRatio < 0 ||
+        this.dataList.type=='潮粮'&&this.dataList.buckleWeightRatio > 3 ||
+        (this.dataList.type=='潮粮'&&String(this.dataList.buckleWeightRatio).indexOf('.') != -1 &&
+          String(this.dataList.buckleWeightRatio).length -
+            (String(this.dataList.buckleWeightRatio).indexOf('.') + 1) >
+            2)
+      ) {
+        this.$message({
+          message: '扣重比输入错误',
+          type: 'warning'
+        })
+        return
+      }
+      if (this.dataList.type=='潮粮'&&!this.dataList.tidalGrainWater) {
+        this.$message({
+          message: '潮粮水分不能为空',
+          type: 'warning'
+        })
+        return
+      }
+      if (
+        this.dataList.type=='潮粮'&&this.dataList.tidalGrainWater < 1 ||
+        this.dataList.type=='潮粮'&&this.dataList.tidalGrainWater > 40 ||
+        (this.dataList.type=='潮粮'&&String(this.dataList.tidalGrainWater).indexOf('.') != -1 &&
+          String(this.dataList.tidalGrainWater).length -
+            (String(this.dataList.tidalGrainWater).indexOf('.') + 1) >
+            2)
+      ) {
+        this.$message({
+          message: '潮粮水分输入错误',
+          type: 'warning'
+        })
+        return
+      }
+      if (this.dataList.type=='潮粮'&&!this.dataList.solidGrainWater) {
+        this.$message({
+          message: '干粮水分不能为空',
+          type: 'warning'
+        })
+        return
+      }
+      if (
+        this.dataList.type=='潮粮'&&this.dataList.solidGrainWater < 1 ||
+        this.dataList.type=='潮粮'&&this.dataList.solidGrainWater > 40 ||
+        (this.dataList.type=='潮粮'&&String(this.dataList.solidGrainWater).indexOf('.') != -1 &&
+          String(this.dataList.solidGrainWater).length -
+            (String(this.dataList.solidGrainWater).indexOf('.') + 1) >
+            1)
+      ) {
+        this.$message({
+          message: '干粮水分输入错误',
+          type: 'warning'
+        })
+        return
+      }
+      if (!this.dataList.agent) {
+        this.$message({
+          message: '经办人不能为空',
+          type: 'warning',
+        })
+        return
+      }
+      if (this.dataList.agent.length < 2 || this.dataList.agent.length > 10) {
+        this.$message({
+          message: '经办人输入有误',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.dataList.grade) {
+        this.$message({
+          message: '品级不能为空!',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.dataList.inOutDate) {
+        this.$message({
+          message: '入库日期不能为空!',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.dataList.inOutType) {
+        this.$message({
+          message: '出库类型不能为空!',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.dataList.carNo) {
+        this.$message({
+          message: '车牌号不能为空',
+          type: 'warning',
+        })
+        return
+      }
+      if (this.dataList.carNo.length > 7) {
+        this.$message({
+          message: '车牌号输入错误,请输入7个字符之内',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.dataList.contractNo) {
+        this.$message({
+          message: '合同编号不能为空',
+          type: 'warning',
+        })
+        return
+      }
+      if (
+        this.dataList.contractNo.length < 6 ||
+        this.dataList.contractNo.length > 20
+      ) {
+        this.$message({
+          message: '合同编号长度不符合要求,请输入6-20个字符之内',
+          type: 'warning',
+        })
+        return
+      }
+
+      if (this.dataList.netWeight > this.$route.query.capacity) {
+        this.$message({
+          message: '入库量大于该仓库容量!',
+          type: 'warning',
+        })
+        return
+      }
+      //自检员
+      if (this.dataList.warehouseInOutDetail.qualityInspector) {
+        if (
+          this.dataList.warehouseInOutDetail.qualityInspector.length < 2 ||
+          this.dataList.warehouseInOutDetail.qualityInspector.length > 10
+        ) {
+          this.$message({
+            message: '质检员姓名长度错误!',
+            type: 'warning',
+          })
+          return
+        }
+      }
+      if (this.dataList.warehouseInOutDetail.waterContent) {
+        if (isNaN(this.dataList.warehouseInOutDetail.waterContent)) {
+          this.$message({
+            message: '水分(%)非数字!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.dataList.warehouseInOutDetail.waterContent < 1 ||
+          this.dataList.warehouseInOutDetail.waterContent > 40 ||
+          (String(this.dataList.warehouseInOutDetail.waterContent).indexOf(
+            '.'
+          ) != -1 &&
+            String(this.dataList.warehouseInOutDetail.waterContent).length -
+              (String(this.dataList.warehouseInOutDetail.waterContent).indexOf(
+                '.'
+              ) +
+                1) >
+              2)
+        ) {
+          this.$message({
+            message: '水分(%)输入错误! 取值范围1-40之间且可以保留2小数',
+            type: 'warning',
+          })
+          return
+        }
+      }
+
+      //杂质
+      if (this.dataList.warehouseInOutDetail.impurity) {
+        if (isNaN(this.dataList.warehouseInOutDetail.impurity)) {
+          this.$message({
+            message: '杂质(%)非数字!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.dataList.warehouseInOutDetail.impurity < 1 ||
+          this.dataList.warehouseInOutDetail.impurity > 40 ||
+          (String(this.dataList.warehouseInOutDetail.impurity).indexOf('.') !=
+            -1 &&
+            String(this.dataList.warehouseInOutDetail.impurity).length -
+              (String(this.dataList.warehouseInOutDetail.impurity).indexOf(
+                '.'
+              ) +
+                1) >
+              2)
+        ) {
+          this.$message({
+            message: '杂质(%)输入错误! 取值范围1-40之间且可以保留2小数',
+            type: 'warning',
+          })
+          return
+        }
+      }
+      //霉变
+      if (this.dataList.warehouseInOutDetail.mildewGrain) {
+        if (isNaN(this.dataList.warehouseInOutDetail.mildewGrain)) {
+          this.$message({
+            message: '霉变粒(%)非数字!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.dataList.warehouseInOutDetail.mildewGrain < 1 ||
+          this.dataList.warehouseInOutDetail.mildewGrain > 40 ||
+          (String(this.dataList.warehouseInOutDetail.mildewGrain).indexOf(
+            '.'
+          ) != -1 &&
+            String(this.dataList.warehouseInOutDetail.mildewGrain).length -
+              (String(this.dataList.warehouseInOutDetail.mildewGrain).indexOf(
+                '.'
+              ) +
+                1) >
+              2)
+        ) {
+          this.$message({
+            message: '霉变粒(%)输入错误! 取值范围1-40之间且可以保留2小数',
+            type: 'warning',
+          })
+          return
+        }
+      }
+
+      //热损伤
+      if (this.dataList.warehouseInOutDetail.jiaorenli) {
+        if (isNaN(this.dataList.warehouseInOutDetail.jiaorenli)) {
+          this.$message({
+            message: '热损伤(%)非数字!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.dataList.warehouseInOutDetail.jiaorenli < 1 ||
+          this.dataList.warehouseInOutDetail.jiaorenli > 40 ||
+          (String(this.dataList.warehouseInOutDetail.jiaorenli).indexOf('.') !=
+            -1 &&
+            String(this.dataList.warehouseInOutDetail.jiaorenli).length -
+              (String(this.dataList.warehouseInOutDetail.jiaorenli).indexOf(
+                '.'
+              ) +
+                1) >
+              2)
+        ) {
+          this.$message({
+            message: '热损伤(%)输入错误! 取值范围1-40之间且可以保留2小数',
+            type: 'warning',
+          })
+          return
+        }
+      }
+
+      //不完善粒(%)
+      if (this.dataList.warehouseInOutDetail.imperfectGrain) {
+        if (isNaN(this.dataList.warehouseInOutDetail.imperfectGrain)) {
+          this.$message({
+            message: '不完善粒(%)非数字!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.dataList.warehouseInOutDetail.imperfectGrain < 1 ||
+          this.dataList.warehouseInOutDetail.imperfectGrain > 40 ||
+          (String(this.dataList.warehouseInOutDetail.imperfectGrain).indexOf(
+            '.'
+          ) != -1 &&
+            String(this.dataList.warehouseInOutDetail.imperfectGrain).length -
+              (String(
+                this.dataList.warehouseInOutDetail.imperfectGrain
+              ).indexOf('.') +
+                1) >
+              2)
+        ) {
+          this.$message({
+            message: '不完善粒(%)输入错误! 取值范围1-40之间且可以保留2小数',
+            type: 'warning',
+          })
+          return
+        }
+      }
+      //容重
+      if (this.dataList.warehouseInOutDetail.bulkDensity) {
+        if (isNaN(this.dataList.warehouseInOutDetail.bulkDensity)) {
+          this.$message({
+            message: '容重(克/升)非数字!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          (this.dataList.warehouseInOutDetail.bulkDensity &&
+            String(this.dataList.warehouseInOutDetail.bulkDensity).indexOf('.') != -1 &&
+            String(this.dataList.warehouseInOutDetail.bulkDensity).length -
+              (String(this.dataList.warehouseInOutDetail.bulkDensity).indexOf('.') + 1) >
+              2) || this.dataList.warehouseInOutDetail.bulkDensity > 1000 || this.dataList.warehouseInOutDetail.bulkDensity < 0
+        ) {
+          this.$message({
+            message: '容重输入错误',
+            type: 'warning',
+          })
+          return
+        }
+      }
+      this.$confirm(`确定提交毛重检斤`, {
+        cancelButtonText: '取消',
+        confirmButtonText: '确定',
+        type: 'warning',
+      })
+        .then(() => {
+          this.$refs.dataList.validate((valid) => {
+            if (valid) {
+              this.dataList.compId = sessionStorage.getItem('ws-pf_compId')
+              this.dataList.inOutFlag = 1
+              this.dataList.statusFlag = 3
+              this.dataList.grossWeight /= 1000
+              this.dataList.tare /= 1000
+              this.dataList.netWeight /= 1000
+              this.dataList.pureWeight /= 1000
+              addstorageputList(this.dataList)
+                .toPromise()
+                .then((response) => {
+                  this.$message.success('提交成功')
+                  this.$confirm(`是否打印磅单`, {
+                    cancelButtonText: '取消',
+                    confirmButtonText: '确定',
+                    type: 'warning',
+                  })
+                    .then(() => {
+                      getPrintInfo({
+                        id: this.dataList.id
+                      })
+                        .toPromise()
+                        .then((response) => {
+                            window.open( '../../../../static/weightCheckInOut.html?type=2&tableData=' +JSON.stringify(response))
+                        })
+                      this.$router.push({ path: 'warehouseManagementList' })
+                    })
+                    .catch(() => {
+                      return false
+                    })
+                })
+            } else {
+              EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+              return false
+            }
+          })
+        })
+        .catch(() => {
+          return false
+        })
+      
+    },
+    tarechange(e) {
+      if (this.dataList.grossWeight && this.dataList.tare) {
+        this.dataList.netWeight = Number(
+          this.dataList.grossWeight - this.dataList.tare
+        )
+      }
+    },
+    grossWeightchange(e) {
+      if (this.dataList.grossWeight && this.dataList.tare) {
+        this.dataList.netWeight = Number(
+          this.dataList.grossWeight - this.dataList.tare
+        )
+      }
+    },
+    selectgoodsName(e) {
+      for (var i = 0; i < this.goodnameList.length; i++) {
+        if (this.goodnameList[i].constValue == e) {
+          this.dataList.goodsNameKey = this.goodnameList[i].constKey
+        }
+      }
+    },
+    selectpackingMethod(e) {
+      for (var i = 0; i < this.packtypeList.length; i++) {
+        if (this.packtypeList[i].constValue == e) {
+          this.dataList.packingMethodKey = this.packtypeList[i].constKey
+        }
+      }
+    },
+    selectstorageType(e) {
+      for (var i = 0; i < this.deliveryType.length; i++) {
+        if (this.deliveryType[i].constValue == e) {
+          this.dataList.inOutTypeKey = this.deliveryType[i].constKey
+        }
+      }
+    },
+    handleClose() {
+      this.accessoryTFs = false
+    },
+    handleSizeChange(val) {
+      console.log(`每页 ${val} 条`)
+      this.pageSize = val
+      this.getList()
+    },
+    handleCurrentChange(val) {
+      this.currentPage = val
+      console.log(`当前页: ${val}`)
+      this.getList()
+    },
+    getList() {
+      // 货名
+      pullDown({ constId: 'CON2' })
+        .toPromise()
+        .then((response) => {
+          this.goodnameList = response
+        })
+      // 品级
+      pullDown({ constId: 'CON3' })
+        .toPromise()
+        .then((response) => {
+          this.gradeList = response
+        })
+      // 类型
+      if (this.$route.query.warehouseType == '1') {
+        pullDown({ constId: 'CON6' })
+          .toPromise()
+          .then((response) => {
+            this.deliveryType = response
+          })
+      } else if (this.$route.query.warehouseType == '2') {
+        //临时仓库出库类型
+        pullDown({ constId: 'WARE2' })
+          .toPromise()
+          .then((response) => {
+            this.deliveryType = response
+          })
+      }
+      //合同编号
+      xialaNo({ compId: sessionStorage.getItem('ws-pf_compId'),flag:5 })
+        .toPromise()
+        .then((response) => {
+          this.outContractNo = response
+        })
+      //经办人
+      getstaff({ compId: sessionStorage.getItem('ws-pf_compId'),warehouseId:this.dataList.baseId })
+        .toPromise()
+        .then((response) => {
+          this.options = response
+          this.qualityInspectorList = response
+          this.staffList = response
+          //  this.agent = response
+        })
+    },
+    selecttaskType(e) {
+      for (var i = 0; i < this.taskTypeList.length; i++) {
+        if (this.taskTypeList[i].value == e) {
+          this.searchType = this.taskTypeList[i].type
+        }
+      }
+    },
+    fujian(row) {
+      if (
+        row.receiveAttachmentPath === null ||
+        row.receiveAttachmentPath === ''
+      ) {
+        EventBus.$emit(
+          'warning',
+          this.$t('system.noticeCircular.NoInformation')
+        )
+      } else {
+        this.accessoryTFs = true
+      }
+      this.appendixIdss = row.receiveAttachmentPath
+    },
+    handleExamine(row) {
+      this.$router.push({
+        name: 'salesContractExamine',
+        query: { id: row.id },
+      })
+    },
+
+    // 关闭 dialog时 处理文件url 初始化upload组件
+    handleCloe() {
+      this.dialogViewSpareMoney = false
+    },
+    history(row) {
+      console.log(row)
+      billoperatehis({ id: row.id })
+        .toPromise()
+        .then((response) => {
+          this.historyList = response
+        })
+    },
+    //删除
+    approve() {},
+    listQuery() {},
+    total() {},
+    clearfiltQuery() {},
+    selectCrtDuty() {},
+  },
+}
+</script>
+<style lang="scss" scoped>
+/deep/.basicInformation {
+  .ws-info-table {
+    border: none;
+  }
+  .el-form-item {
+    width: 33.3333%;
+    border: none;
+    .el-form-item__label {
+      background: transparent;
+      border: none;
+    }
+    .el-form-item__content {
+      border: none;
+    }
+  }
+}
+.title {
+  position: relative;
+  padding-left: 10px;
+}
+.title::before {
+  content: '';
+  display: inline-block;
+  width: 5px;
+  height: 30px;
+  background: #5473e8;
+  position: absolute;
+  left: 0;
+}
+.el-form {
+  padding: 0 10%;
+}
+.el-button--primary {
+  background-color: #5878e8;
+  border-color: #5878e8;
+}
+.el-col {
+  background: #f6f7fc;
+}
+.bg-right {
+  text-align: right;
+  padding: 16px 20px;
+}
+.center {
+  position: relative;
+  top: 50px;
+  width: 40%;
+  height: 2000px;
+  margin: 0 auto;
+}
+/deep/.el-form-item__label {
+  width: 160px;
+}
+//选填
+/deep/.el-form-item {
+  width: 50%;
+}
+.container {
+  overflow: scroll;
+  height: 120vh;
+}
+/deep/.ws-info-table .el-form-item .el-form-item__label {
+  text-align: center;
+}
+.deliverydate {
+  display: inline-block;
+  width: 10%;
+}
+.center {
+  margin-top: -60px;
+  width: 80%;
+}
+//仓位
+.position {
+  width: 52px;
+  height: 20px;
+  background: #afb5cb;
+  border-radius: 2px;
+  font-size: 12px;
+  font-family: PingFangSC-Medium, PingFang SC;
+  color: #ffffff;
+  line-height: 20px;
+}
+//表格文字
+/deep/.ws-info-table .el-form-item .el-form-item__label {
+  text-align: left;
+  font-size: 14px;
+  font-family: PingFangSC-Regular, PingFang SC;
+  font-weight: 400;
+  color: #8890b1;
+  line-height: 16px;
+}
+.inspector {
+  width: 50%;
+}
+//质检员
+.inspector .el-form-item__content {
+  text-align: left;
+  margin-left: 0px;
+}
+/deep/[data-v-d228e17e] .el-form-item__label {
+  width: 60px;
+}
+.small-title {
+  position: relative;
+  padding: 10px;
+  font-weight: 600;
+}
+.small-title::before {
+  position: absolute;
+  content: '';
+  display: block;
+  background: #5473e8;
+  width: 4px;
+  height: 14px;
+  left: 0px;
+  top: 13px;
+}
+//下面列表
+.neifor {
+  width: 80%;
+  background-color: #f6f7fc;
+}
+/deep/.neifor .ws-info-table .el-form-item .el-form-item__label {
+  width: 35%;
+  text-align: center;
+}
+/deep/.neifor .ws-info-table .el-form-item .el-form-item__content {
+  width: 60%;
+  background-color: #f6f7fc;
+}
+/deep/.neifor .el-input--small .el-input__inner {
+  width: 100%;
+}
+.el-input__inner {
+  width: 150px;
+}
+</style>

+ 16 - 9
src/views/warehouse/warehouseManagementRecord.vue

@@ -129,14 +129,12 @@
 					</el-table-column>
 					<el-table-column prop="backOffice" label="操作人" width="120px">
 					</el-table-column>
-					<el-table-column prop="addressUrl" label="附件" width="50px">
+					<el-table-column prop="addressUrl" label="操作" width="100px">
 						<template slot-scope="scope">
-							<img width="18" height="20" style="vertical-align: text-top; position: relative; top: -1px"
-								src="../../../public/img/fujian.png" @click="fujian(scope.row)" alt="" />
-							<!-- <span v-if="scope.row.addressUrlArray.length > 0">{{
-                scope.row.addressUrlArray.length
-              }}</span> -->
-							<!-- <i @click="fujian(scope.row)" class="el-icon-paperclip iconCss"></i> -->
+							<!-- <img width="18" height="20" style="vertical-align: text-top; position: relative; top: -1px"
+								src="../../../public/img/fujian.png" @click="fujian(scope.row)" alt="" /> -->
+          					<el-button @click="print(scope.row)"  v-hasPermission="`acquisitionManagement.acquisitionWeight.print`">打印</el-button >
+
 						</template>
 					</el-table-column>
 					<el-table-column prop="createDate" label="录入时间">
@@ -262,7 +260,8 @@
 <script>
 	import {
 		addselectinfoList,
-		recordss
+		recordss,
+		getPrintInfo
 	} from '@/model/warehouse/index'
 	import {
 		downloadFile
@@ -355,7 +354,15 @@
 			this.showType = this.isShow
 		},
 		methods: {
-
+			print(row){
+				getPrintInfo({
+                        id: row.id
+                      })
+                        .toPromise()
+                        .then((response) => {
+                            window.open( '../../../../static/weightCheckInOut.html?type=2&tableData=' +JSON.stringify(response))
+                        })
+			},
 			//返回按钮
 			returnWarehouse() {
 				this.$router.push({

+ 1634 - 0
src/views/warehouse/warehouseManagementTare.vue

@@ -0,0 +1,1634 @@
+// 出库登记
+<template>
+  <div class="container">
+    <el-row>
+      <el-col :span="20">
+        <h2 class="bg-left title">{{information}}</h2>
+      </el-col>
+      <el-col :span="4" class="bg-right">
+        <el-button
+          class="bg-bottom"
+          type="primary"
+          size="small"
+          @click="revert()"
+          ><img
+            width="6"
+            height="10"
+            style="vertical-align: bottom; margin-right: 3px"
+            src="../../../public/img/lujing.png"
+            alt=""
+          />返回</el-button
+        >
+      </el-col>
+    </el-row>
+    <ws-form ref="deptBudgetList" :model="deptBudgetList" :rules="rules">
+      <div class="basicInformation">
+        <h2>
+          {{ deptBudgetList.warehouseName }}
+          <span
+            class="position"
+            v-show="this.deptBudgetList.warehouseType == 1"
+          >
+            {{ deptBudgetList.binNumber }}仓位
+          </span>
+          <span v-show="this.deptBudgetList.warehouseType == 2">(临)</span>
+        </h2>
+        <div class="small-title">基本信息</div>
+        <ws-info-table>
+          <ws-form-item label="合同编号" span="1" prop="contractNo">
+            <ws-select
+              v-model="deptBudgetList.contractNo"
+              placeholder="请选择合同编号或移库任务编号"
+              class="typeselect"
+              @change='contractNoChange'
+            >
+              <ws-option
+                v-for="item in outContractNo"
+                :key="item.constKey"
+                :label="item.contractNo"
+                :value="item.contractNo"
+              />
+            </ws-select>
+          </ws-form-item>
+          <!-- 货名 -->
+          <ws-form-item label="货名" span="1">
+            <ws-select
+            disabled
+              v-model="deptBudgetList.goodsName"
+              placeholder
+              class="typeselect"
+              @change="selectgoodsName"
+            >
+              <ws-option
+                v-for="item in goodnameList"
+                :key="item.constKey"
+                :label="item.constValue"
+                :value="item.constValue"
+              />
+            </ws-select>
+          </ws-form-item>
+          <ws-form-item label="类型" span="1" prop="type">
+              <ws-select v-model="deptBudgetList.type"  @change="typeChange">
+                <ws-option v-for="item in typeList" :key="item" :label="item" :value="item" />
+              </ws-select>
+            </ws-form-item>
+          <!--毛重(公斤)-->
+          <ws-form-item label="毛重(公斤)" span="1" prop="grossWeight">
+            <ws-input
+              :disabled="allowEdit"
+              @input="grossWeightchange"
+              v-model="deptBudgetList.grossWeight"
+              type="number" @mousewheel.native.prevent
+              placeholder="请输入毛重"
+              maxlength="20"
+              size="small"
+            />
+              <el-button type="primary" v-if="information == '毛重检斤'" @click="openPort">重新获取</el-button>
+          </ws-form-item>
+
+          <!--皮重(公斤)-->
+          <ws-form-item label="皮重(公斤)" span="1" prop="tare" class="readonly">
+            <ws-input
+              :disabled="allowEdit"
+              @input="tarechange"
+              v-model="deptBudgetList.tare"
+              type="number" @mousewheel.native.prevent
+              placeholder="请输入皮重"
+              maxlength="100"
+              size="small"
+            />
+              <el-button type="primary" v-if="information == '皮重检斤'" @click="openPort">重新获取</el-button>
+          </ws-form-item>
+          <!--净重(公斤)-->
+          <ws-form-item label="净重(公斤)" span="1" prop="netWeight">
+            <ws-input
+              disabled
+              v-model="deptBudgetList.netWeight"
+              placeholder="不可编辑,自动计算"
+              maxlength="120"
+              size="small"
+            />
+          </ws-form-item>
+          <ws-form-item v-if='deptBudgetList.type=="潮粮"' label="扣重比" span="1" prop="buckleWeightRatio" class="readonly">
+            <ws-input
+              @input='pureweight'
+              v-model="deptBudgetList.buckleWeightRatio"
+              type="number" @mousewheel.native.prevent
+              placeholder="请输入扣重比"
+              maxlength="100"
+              size="small"
+            />
+          </ws-form-item>
+          <ws-form-item v-if='deptBudgetList.type=="潮粮"' label="干粮水分占比" span="1" prop="solidGrainWater" class="readonly">
+            <ws-input
+            @input='pureweight'
+              v-model="deptBudgetList.solidGrainWater"
+              type="number" @mousewheel.native.prevent
+              placeholder="请输入干粮水分占比"
+              maxlength="100"
+              size="small"
+            />
+          </ws-form-item>
+          <ws-form-item v-if='deptBudgetList.type=="潮粮"' label="潮粮水分占比" span="1" prop="tidalGrainWater" class="readonly">
+            <ws-input
+            @input='pureweight'
+              v-model="deptBudgetList.tidalGrainWater"
+              type="number" @mousewheel.native.prevent
+              placeholder="请输入潮粮水分占比"
+              maxlength="100"
+              size="small"
+            />
+          </ws-form-item>
+          <ws-form-item v-if='deptBudgetList.type=="潮粮"' label="纯重" span="1" prop="pureWeight" class="readonly">
+            <ws-input
+              disabled
+              v-model="deptBudgetList.pureWeight"
+              type="number" @mousewheel.native.prevent
+              placeholder="不可编辑,自动计算"
+              maxlength="100"
+              size="small"
+            />
+          </ws-form-item>
+          <!-- 品级 -->
+          <ws-form-item label="品级" span="1" class="readonly">
+            <ws-select
+              v-model="deptBudgetList.grade"
+              placeholder=""
+              class="typeselect"
+              @change="selectpackingMethod"
+            >
+              <ws-option
+                v-for="item in gradeList"
+                :key="item.constKey"
+                :label="item.constValue"
+                :value="item.constValue"
+              />
+            </ws-select>
+          </ws-form-item>
+          <!--经办人-->
+          <ws-form-item label="经办人" span="1" prop="agent">
+           <el-select
+              v-model="deptBudgetList.agent"
+              placeholder="请选择经办人"
+              filterable
+              :filter-method="dataFilter"
+              @change="selectstaff"
+            >
+              <el-option
+                v-for="item in options"
+                :key="item.value"
+                :label="item.staffName"
+                :value="item.staffName"
+              />
+            </el-select>
+          </ws-form-item>
+          <!--出库日期-->
+          <ws-form-item
+            label="出库日期"
+            span="1"
+            prop="inOutDate"
+            class="deliverydate"
+          >
+            <ws-date-picker
+              v-model="deptBudgetList.inOutDate"
+              type="date"
+              placeholder="请选择出库日期"
+              value-format="yyyy-MM-dd"
+            />
+          </ws-form-item>
+          <!-- 出库类型 -->
+          <ws-form-item label="出库类型" span="1">
+            <ws-input v-model='deptBudgetList.inOutType' class="right-bottom" :disabled="isSelectType" placeholder='暂无' />
+            <!-- <ws-select
+              v-model="deptBudgetList.deliveryType"
+              placeholder=""
+              class="typeselect"
+              @change="selectstorageType"
+            >
+              <ws-option
+                v-for="item in deliveryType"
+                :key="item.constKey"
+                :label="item.constValue"
+                :value="item.constValue"
+              />
+            </ws-select> -->
+          </ws-form-item>
+          <!--车牌号-->
+         <ws-form-item label="车牌号" span="1" prop="carNo">
+            <ws-input
+              v-if="!carstatus"
+              v-model="deptBudgetList.carNo"
+              placeholder="请输入车牌号"
+              maxlength="7"
+              size="small"
+            />
+            <el-select
+              v-if="carstatus"
+              filterable
+              :filter-method="dataFilter2"
+              v-model="deptBudgetList.carNo"
+              placeholder="请选择车牌号"
+              class="typeselect"
+              @change="carChange"
+            >
+              <el-option
+                v-for="item in options2"
+                :key="item.constKey"
+                :label="item.carNo + '(' + item.tranCarNo + ')'"
+                :value="item.carNo"
+              />
+            </el-select>
+          </ws-form-item>
+        </ws-info-table>
+      </div>
+      <div class="small-title">上传磅单照片</div>
+      <el-upload
+            action="https://www.zthymaoyi.com/upload/admin"
+            :show-file-list="false"
+            :on-success="
+              (res) => {
+                uploadSuccessHandle1(res)
+              }
+            "
+            class="avatar-uploader"
+            accept=".jpg, .jpeg, .png, .gif"
+            ><el-button size="small" type="primary">点击上传</el-button>
+          </el-upload>
+          <div v-if='deptBudgetList.addressUrl!=""'>
+            <img style='width:100px;height:100px;' :src="deptBudgetList.addressUrl" alt="">
+          </div>
+      <div class="small-title">化验数据(选填)</div>
+      <div class="inspector">
+        <!--自检员-->
+        <!-- <ws-form-item label="质检员" span="1" prop="qualityInspector">
+          <ws-input
+            v-model="deptBudgetList.warehouseInOutDetail.qualityInspector"
+            placeholder="请输入质检员姓名"
+            maxlength="120"
+            size="small"
+          />
+        </ws-form-item> -->
+             <ws-form-item label="质检员" span="1" prop="qualityInspector">
+            <el-select
+              v-model="deptBudgetList.warehouseInOutDetail.qualityInspector"
+              placeholder="请选择质检员"
+              filterable
+              clearable
+              @change="qualityInspectorChange"
+            >
+              <el-option
+                v-for="item in qualityInspectorList"
+                :key="item.value"
+                :label="item.staffName"
+                :value="item.staffName"
+              />
+            </el-select>
+          </ws-form-item>
+      </div>
+      <div class="neifor">
+        <ws-info-table>
+          <!--水分(%)<=-->
+          <ws-form-item label="水分(%)" span="1" prop="waterContent">
+            <ws-input
+              v-model="deptBudgetList.warehouseInOutDetail.waterContent"
+              placeholder="请输入水分占比"
+              maxlength="120"
+              type="number" @mousewheel.native.prevent
+              size="small"
+            />
+          </ws-form-item>
+          <!--杂质(%)<=-->
+          <ws-form-item label="杂质(%)" span="1" prop="impurity">
+            <ws-input
+              v-model="deptBudgetList.warehouseInOutDetail.impurity"
+              placeholder="请输入杂质占比"
+              type="number" @mousewheel.native.prevent
+              maxlength="120"
+              size="small"
+            />
+          </ws-form-item>
+          <!--容重(克/升)>=-->
+          <ws-form-item label="容重(克/升)" span="1" prop="bulkDensity">
+            <ws-input
+              v-model="deptBudgetList.warehouseInOutDetail.bulkDensity"
+              placeholder="请输入容重"
+              type="number" @mousewheel.native.prevent
+              maxlength="120"
+              size="small"
+            />
+          </ws-form-item>
+          <!--霉变粒(%)<=-->
+          <ws-form-item label="霉变粒(%)" span="1" prop="mildewGrain">
+            <ws-input
+              v-model="deptBudgetList.warehouseInOutDetail.mildewGrain"
+              placeholder="请输入霉变粒占比"
+              maxlength="120"
+              type="number" @mousewheel.native.prevent
+              size="small"
+            />
+          </ws-form-item>
+          <!--热损伤(%)<=-->
+          <ws-form-item label="热损伤(%)" span="1" prop="jiaorenli">
+            <ws-input
+              v-model="deptBudgetList.warehouseInOutDetail.jiaorenli"
+              placeholder="请输入热损伤占比"
+              type="number" @mousewheel.native.prevent
+              maxlength="120"
+              size="small"
+            />
+          </ws-form-item>
+          <!--不完善粒(%)<=-->
+          <ws-form-item label="不完善粒(%)" span="1" prop="imperfectGrain">
+            <ws-input
+              v-model="deptBudgetList.warehouseInOutDetail.imperfectGrain"
+              placeholder="请输入不完善粒占比"
+              type="number" @mousewheel.native.prevent
+              maxlength="120"
+              size="small"
+            />
+          </ws-form-item>
+        </ws-info-table>
+      </div>
+      <div style="text-align: right; padding: 10px">
+        <el-button v-if="information == '皮重检斤'" class="bg-bottom-up" size="small" @click="temporaryStorage()"
+          >保存</el-button
+        >
+        <el-button
+        v-else
+          class="bg-bottom-up"
+          type="primary"
+          size="small"
+          @click="submit()"
+          >提交</el-button
+        >
+      </div>
+    </ws-form>
+  </div>
+</template>
+<script>
+import {
+  pullDown,
+  addstorageputList,
+  goodsname,
+  xialaNo,
+  getstaff,
+  goodsnameXiala,
+} from '@/model/warehouse/index'
+import Pagination from '@/components/Pagination'
+import WsUpload from '@/components/WsUpload'
+// import { dayjs, fmoney, EventBus } from 'base-core-lib'
+import { dayjs, EventBus } from 'base-core-lib'
+export default {
+  name: 'viewSpareMoney',
+  components: {
+    WsUpload,
+    Pagination,
+  },
+  watch: {
+    isShow(val) {
+      this.showType = val
+    },
+  },
+  data() {
+    return {
+      isSelectType:true,
+       carstatus: false,
+       qualityInspectorList:[],
+      //弹出框
+      dialogViewSpareMoney: false,
+      dialogApproveFormVisible: false,
+      // 船舶类型
+      monetaryKey: null,
+      // 表格显示数据
+      tableDate: [],
+      // 是否显示
+      showType: true,
+      readonly: true,
+      // 年
+      year: '',
+      deptBudgetTotal: 0,
+      currentPage: 1,
+      pageSize: 10,
+      searchType: 1,
+      searchKeyWord: '',
+      contractType: 2,
+      startDate: null,
+      endDate: null,
+      goodnameList: {},
+      // 提交类型
+      submitType: true,
+      deliveryType: [],
+      typeList:['干粮','潮粮'],
+      outContractNo: [],
+      appendixIdsAdd: '',
+      uploadSuccess: {},
+      gradeList: [],
+      agent: [],
+       staffList: [],
+      options: [],
+      value:'',
+      rules: {
+        netWeight: [
+          {
+            required: true,
+            type: 'number',
+            message: '请输入活动名称',
+            trigger: 'blur',
+          },
+        ],
+      },
+      size: 10,
+      compId: sessionStorage.getItem('ws-pf_compId'),
+      deptCircularPage: {},
+      packtypeList: {},
+      date: {
+        year: dayjs().format('YYYY'),
+        month: dayjs().format('MM'),
+      },
+      contractList: [],
+      deptBudgetList: {
+        type:'干粮',
+        addressUrl:'',
+        warehouseInOutDetail: {},
+      },
+      historyList: [],
+
+      pickerBeginDateBefore: {
+        disabledDate: (time) => {
+          return time.getTime() > Date.now()
+        },
+      },
+      accessoryTFs: false,
+      allowEdit: true,
+      information:''
+    }
+  },
+  mounted() {
+    this.information = this.$route.query.information
+    if(this.$route.query.allowEdit == 1){
+      this.allowEdit = false
+    }
+    else{
+      this.allowEdit = true
+    }
+    this.deptBudgetList.baseId = this.$route.query.baseId
+    this.deptBudgetList.positionId = this.$route.query.positionId
+    this.deptBudgetList.warehouseName = this.$route.query.warehouseName
+    this.deptBudgetList.binNumber = this.$route.query.binNumber
+    this.deptBudgetList.warehouseType = this.$route.query.warehouseType
+    this.deptBudgetList.warehouseId = this.$route.query.warehouseId
+    this.getList()
+  
+  },
+  methods: {
+    async closePort() {
+      console.log('closePort');
+      this.reader.cancel()
+    },
+    async openPort() {
+      console.log('openPort', navigator);
+      if ('serial' in navigator) {
+        // The Web Serial API is supported.
+        console.log('the Web Serial API is supported.');
+        console.log(this.param);
+        const port = await navigator.serial.requestPort();
+        await port.open({
+          baudRate: this.param
+        }); // set baud rate
+        this.reader = port.readable.getReader();
+        // 监听来自串行设备的数据
+        while (true) {
+          const {
+            value,
+            done
+          } = await this.reader.read();
+          // console.log("value",value);
+          if (done) {
+            // 允许稍后关闭串口。
+            this.reader.releaseLock();
+            break;
+          }
+          var result = '';
+          //2。获取16进制字符串
+          // var receData = HexConvert.ByteToString(value);
+          // console.log("receData",receData);
+          var flag = false;
+          for (var i = 0; i < value.length; i++) {
+            var tmp = String.fromCharCode(value[i])
+            if (tmp == '+') {
+              flag = true
+            }
+            if (flag && result.length < 6 && tmp != '+') {
+              result += tmp
+            }
+          }
+          if (this.information != '毛重检斤') {
+            if(parseInt(result)){
+              this.deptBudgetList.grossWeight = parseInt(result)
+            }
+          } else {
+            if(parseInt(result)){
+              this.deptBudgetList.tare = parseInt(result)
+            }
+          }
+          setTimeout(1000)
+          // value 是一个 Uint8Array
+        }
+        await port.close();
+      } else {
+        console.log('the Web Serial API is not supported.', navigator);
+      }
+    },
+    qualityInspectorChange(e){
+      console.log(e)
+    },
+    uploadSuccessHandle1(res){
+      this.deptBudgetList.addressUrl=res.url
+    },
+    //返回按钮
+    revert() {
+      this.$router.push({ path: 'warehouseManagementList' })
+    },
+        carChange(e) {
+      for (let i = 0; i < this.tranCarInfoList.length; i++) {
+        if (this.tranCarInfoList[i].carNo == this.deptBudgetList.carNo) {
+          this.deptBudgetList.tranCarNo=this.tranCarInfoList[i].tranCarNo
+        }
+      }
+    },
+    typeChange(e){
+
+    },
+    contractNoChange(e){
+      for (var i = 0; i < this.outContractNo.length; i++) {
+        if (this.outContractNo[i].contractNo == e) {
+             if (this.outContractNo[i].inOutType == '销售出库') {
+              this.deptBudgetList.inOutTypeKey = 1
+            } else if (this.outContractNo[i].inOutType == '移库出库') {
+              this.deptBudgetList.inOutTypeKey = 3
+            } else if (this.outContractNo[i].inOutType == '暂存入库') {
+              this.deptBudgetList.inOutTypeKey = 4
+            } else if (this.outContractNo[i].inOutType == '贸易服务出库') {
+              this.deptBudgetList.inOutTypeKey = 5
+            } else if (this.detailData.inOutType == '采购出库') {
+              this.deptBudgetList.inOutTypeKey = 6
+            }
+          this.deptBudgetList.goodsName = this.outContractNo[i].goodsName
+          this.deptBudgetList.goodsNameKey = this.outContractNo[i].goodsNameKey
+          this.deptBudgetList.inOutType = this.outContractNo[i].inOutType
+          if(this.outContractNo[i].tranCarInfoList){
+            this.options2=this.outContractNo[i].tranCarInfoList
+            this.tranCarInfoList=this.outContractNo[i].tranCarInfoList
+            this.carstatus=true
+          }
+        }
+      }
+    },
+    dataFilter2(val) {
+      this.deptBudgetList.carNo = val
+      if (val) {
+        //val存在
+        this.options1 = this.outContractNo1.filter((item) => {
+          if (
+            !!~item.carNo.indexOf(val) ||
+            !!~item.carNo.toUpperCase().indexOf(val.toUpperCase())
+          ) {
+            return true
+          }
+        })
+      } else {
+        //val为空时,还原数组
+        this.options2 = this.tranCarInfoList
+      }
+    },
+    dataFilter(val) {
+      // console.log(val,"名")
+      this.deptBudgetList.staffList = val
+      if (val) {
+        //val存在
+        this.options = this.staffList.filter((item) => {
+          if (
+            !!~item.staffName.indexOf(val) ||
+            !!~item.staffName.toUpperCase().indexOf(val.toUpperCase())
+          ) {
+            return true
+          }
+        })
+      } else {
+        //val为空时,还原数组
+        this.options = this.staffList
+      }
+    },
+    selectstaff(e) {
+      for (var i = 0; i < this.staffList.length; i++) {
+        if (this.staffList[i].staffName == e) {
+          this.deptBudgetList.personChargeKey = this.staffList[i].staffId
+        }
+      }
+    },
+    pureweight(e){
+      console.log(this.deptBudgetList)
+      if(this.deptBudgetList.netWeight&&this.deptBudgetList.tidalGrainWater&&this.deptBudgetList.solidGrainWater&&this.deptBudgetList.buckleWeightRatio){
+        this.deptBudgetList.pureWeight=(this.deptBudgetList.netWeight*(100-(this.deptBudgetList.tidalGrainWater-this.deptBudgetList.solidGrainWater)*this.deptBudgetList.buckleWeightRatio))/100
+      }
+    },
+    temporaryStorage() {
+      if (!this.deptBudgetList.goodsName) {
+        this.$message({
+          message: '货名不能为空',
+          type: 'warning',
+        })
+        return
+      }
+      if (this.information == '毛重检斤'&&!this.deptBudgetList.grossWeight) {
+        this.$message({
+          message: '毛重不能为空',
+          type: 'warning',
+        })
+        return
+      }
+      if (this.information == '毛重检斤'&&(
+        this.deptBudgetList.grossWeight <= 0 ||
+        this.deptBudgetList.grossWeight > 200000 ||
+        (String(this.deptBudgetList.grossWeight).indexOf('.') != -1 &&
+          String(this.deptBudgetList.grossWeight).length -
+            (String(this.deptBudgetList.grossWeight).indexOf('.') + 1) >
+            3))
+      ) {
+        this.$message({
+          message: '毛重输入错误',
+          type: 'warning',
+        })
+        return
+      }
+      if (this.information == '皮重检斤'&&!this.deptBudgetList.tare) {
+        this.$message({
+          message: '皮重不能为空',
+          type: 'warning',
+        })
+        return
+      }
+      if (this.information == '皮重检斤'&&(
+        this.deptBudgetList.tare < 0 ||
+        this.deptBudgetList.tare > 10000 ||
+        (String(this.deptBudgetList.tare).indexOf('.') != -1 &&
+          String(this.deptBudgetList.tare).length -
+            (String(this.deptBudgetList.tare).indexOf('.') + 1) >
+            3))
+      ) {
+        this.$message({
+          message: '皮重输入错误',
+          type: 'warning',
+        })
+        return
+      }
+      
+      if (!this.deptBudgetList.carNo) {
+        this.$message({
+          message: '车牌号不能为空',
+          type: 'warning',
+        })
+        return
+      }
+      if (this.deptBudgetList.carNo.length > 7) {
+        this.$message({
+          message: '车牌号输入错误,请输入7个字符之内',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.deptBudgetList.contractNo) {
+        this.$message({
+          message: '合同编号不能为空',
+          type: 'warning',
+        })
+        return
+      }
+      if (
+        this.deptBudgetList.contractNo.length < 6 ||
+        this.deptBudgetList.contractNo.length > 20
+      ) {
+        this.$message({
+          message: '合同编号长度不符合要求,请输入6-20个字符之内',
+          type: 'warning',
+        })
+        return
+      }
+      //自检员
+      if (this.deptBudgetList.warehouseInOutDetail.qualityInspector) {
+        if (
+          this.deptBudgetList.warehouseInOutDetail.qualityInspector.length <
+            2 ||
+          this.deptBudgetList.warehouseInOutDetail.qualityInspector.length > 10
+        ) {
+          this.$message({
+            message: '质检员姓名长度错误!',
+            type: 'warning',
+          })
+          return
+        }
+      }
+      if (this.deptBudgetList.warehouseInOutDetail.waterContent) {
+        if (isNaN(this.deptBudgetList.warehouseInOutDetail.waterContent)) {
+          this.$message({
+            message: '水分(%)非数字!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.warehouseInOutDetail.waterContent < 1 ||
+          this.deptBudgetList.warehouseInOutDetail.waterContent > 40 ||
+          (String(
+            this.deptBudgetList.warehouseInOutDetail.waterContent
+          ).indexOf('.') != -1 &&
+            String(this.deptBudgetList.warehouseInOutDetail.waterContent)
+              .length -
+              (String(
+                this.deptBudgetList.warehouseInOutDetail.waterContent
+              ).indexOf('.') +
+                1) >
+              2)
+        ) {
+          this.$message({
+            message: '水分(%)输入错误! 取值范围1-40之间且可以保留2小数',
+            type: 'warning',
+          })
+          return
+        }
+      }
+
+      //杂质
+      if (this.deptBudgetList.warehouseInOutDetail.impurity) {
+        if (isNaN(this.deptBudgetList.warehouseInOutDetail.impurity)) {
+          this.$message({
+            message: '杂质(%)非数字!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.warehouseInOutDetail.impurity < 1 ||
+          this.deptBudgetList.warehouseInOutDetail.impurity > 40 ||
+          (String(this.deptBudgetList.warehouseInOutDetail.impurity).indexOf(
+            '.'
+          ) != -1 &&
+            String(this.deptBudgetList.warehouseInOutDetail.impurity).length -
+              (String(
+                this.deptBudgetList.warehouseInOutDetail.impurity
+              ).indexOf('.') +
+                1) >
+              2)
+        ) {
+          this.$message({
+            message: '杂质(%)输入错误! 取值范围1-40之间且可以保留2小数',
+            type: 'warning',
+          })
+          return
+        }
+      }
+      //霉变
+      if (this.deptBudgetList.warehouseInOutDetail.mildewGrain) {
+        if (isNaN(this.deptBudgetList.warehouseInOutDetail.mildewGrain)) {
+          this.$message({
+            message: '霉变粒(%)非数字!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.warehouseInOutDetail.mildewGrain < 1 ||
+          this.deptBudgetList.warehouseInOutDetail.mildewGrain > 40 ||
+          (String(this.deptBudgetList.warehouseInOutDetail.mildewGrain).indexOf(
+            '.'
+          ) != -1 &&
+            String(this.deptBudgetList.warehouseInOutDetail.mildewGrain)
+              .length -
+              (String(
+                this.deptBudgetList.warehouseInOutDetail.mildewGrain
+              ).indexOf('.') +
+                1) >
+              2)
+        ) {
+          this.$message({
+            message: '霉变粒(%)输入错误! 取值范围1-40之间且可以保留2小数',
+            type: 'warning',
+          })
+          return
+        }
+      }
+
+      //热损伤
+      if (this.deptBudgetList.warehouseInOutDetail.jiaorenli) {
+        if (isNaN(this.deptBudgetList.warehouseInOutDetail.jiaorenli)) {
+          this.$message({
+            message: '热损伤(%)非数字!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.warehouseInOutDetail.jiaorenli < 1 ||
+          this.deptBudgetList.warehouseInOutDetail.jiaorenli > 40 ||
+          (String(this.deptBudgetList.warehouseInOutDetail.jiaorenli).indexOf(
+            '.'
+          ) != -1 &&
+            String(this.deptBudgetList.warehouseInOutDetail.jiaorenli).length -
+              (String(
+                this.deptBudgetList.warehouseInOutDetail.jiaorenli
+              ).indexOf('.') +
+                1) >
+              2)
+        ) {
+          this.$message({
+            message: '热损伤(%)输入错误! 取值范围1-40之间且可以保留2小数',
+            type: 'warning',
+          })
+          return
+        }
+      }
+
+      //不完善粒(%)
+      if (this.deptBudgetList.warehouseInOutDetail.imperfectGrain) {
+        if (isNaN(this.deptBudgetList.warehouseInOutDetail.imperfectGrain)) {
+          this.$message({
+            message: '不完善粒(%)非数字!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.warehouseInOutDetail.imperfectGrain < 1 ||
+          this.deptBudgetList.warehouseInOutDetail.imperfectGrain > 40 ||
+          (String(
+            this.deptBudgetList.warehouseInOutDetail.imperfectGrain
+          ).indexOf('.') != -1 &&
+            String(this.deptBudgetList.warehouseInOutDetail.imperfectGrain)
+              .length -
+              (String(
+                this.deptBudgetList.warehouseInOutDetail.imperfectGrain
+              ).indexOf('.') +
+                1) >
+              2)
+        ) {
+          this.$message({
+            message: '不完善粒(%)输入错误! 取值范围1-40之间且可以保留2小数',
+            type: 'warning',
+          })
+          return
+        }
+      }
+      //容重
+      if (this.deptBudgetList.warehouseInOutDetail.bulkDensity) {
+        if (isNaN(this.deptBudgetList.warehouseInOutDetail.bulkDensity)) {
+          this.$message({
+            message: '容重(克/升)非数字!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          (this.deptBudgetList.warehouseInOutDetail.bulkDensity &&
+            String(this.deptBudgetList.warehouseInOutDetail.bulkDensity).indexOf('.') != -1 &&
+            String(this.deptBudgetList.warehouseInOutDetail.bulkDensity).length -
+              (String(this.deptBudgetList.warehouseInOutDetail.bulkDensity).indexOf('.') + 1) >
+              2) || this.deptBudgetList.warehouseInOutDetail.bulkDensity > 1000 || this.deptBudgetList.warehouseInOutDetail.bulkDensity < 0
+        ) {
+          this.$message({
+            message: '容重输入错误',
+            type: 'warning',
+          })
+          return
+        }
+      }
+      console.log(this.deptBudgetList,'出库!!!!!')
+      this.$confirm(`是否保存皮重检斤`, {
+        cancelButtonText: '取消',
+        confirmButtonText: '确定',
+        type: 'warning',
+      })
+        .then(() => {
+          this.$refs.deptBudgetList.validate((valid) => {
+            if (valid) {
+              this.deptBudgetList.compId =
+                sessionStorage.getItem('ws-pf_compId')
+              this.deptBudgetList.inOutFlag = 1
+              this.deptBudgetList.pcFlag = 1
+              this.deptBudgetList.statusFlag = 1
+              this.deptBudgetList.grossWeight /= 1000
+              this.deptBudgetList.tare /= 1000
+              this.deptBudgetList.netWeight /= 1000
+              this.deptBudgetList.pureWeight /= 1000
+              addstorageputList(this.deptBudgetList)
+                .toPromise()
+                .then((response) => {
+                  this.$message.success('保存成功')
+                  this.$router.push({ path: 'warehouseManagementList' })
+                })
+            } else {
+              EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+              return false
+            }
+          })
+        })
+        .catch(() => {
+          return false
+        })
+    },
+    //提交按钮
+    submit() {
+      if (!this.deptBudgetList.goodsName) {
+        this.$message({
+          message: '货名不能为空!',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.deptBudgetList.grossWeight) {
+        this.$message({
+          message: '毛重不能为空!',
+          type: 'warning',
+        })
+        return
+      }
+      if (
+        this.deptBudgetList.grossWeight <= 0 ||
+        this.deptBudgetList.grossWeight > 10000 ||
+        (String(this.deptBudgetList.grossWeight).indexOf('.') != -1 &&
+          String(this.deptBudgetList.grossWeight).length -
+            (String(this.deptBudgetList.grossWeight).indexOf('.') + 1) >
+            3)
+      ) {
+        this.$message({
+          message: '毛重输入错误',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.deptBudgetList.tare) {
+        this.$message({
+          message: '皮重不能为空!',
+          type: 'warning',
+        })
+        return
+      }
+      if (
+        this.deptBudgetList.tare < 0 ||
+        this.deptBudgetList.tare > 10000 ||
+        (String(this.deptBudgetList.tare).indexOf('.') != -1 &&
+          String(this.deptBudgetList.tare).length -
+            (String(this.deptBudgetList.tare).indexOf('.') + 1) >
+            3)
+      ) {
+        this.$message({
+          message: '皮重输入错误',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.deptBudgetList.netWeight) {
+        this.$message({
+          message: '净重不能为空!',
+          type: 'warning',
+        })
+        return
+      }
+      if (
+        this.deptBudgetList.netWeight <= 0 ||
+        this.deptBudgetList.netWeight >= 10000
+      ) {
+        this.$message({
+          message: '净重输入错误!',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.deptBudgetList.grade) {
+        this.$message({
+          message: '品级不能为空!',
+          type: 'warning',
+        })
+        return
+      }
+      if (this.deptBudgetList.type=='潮粮'&&!this.deptBudgetList.buckleWeightRatio) {
+        this.$message({
+          message: '扣重比不能为空',
+          type: 'warning'
+        })
+        return
+      }
+      if (
+        this.deptBudgetList.type=='潮粮'&&this.deptBudgetList.buckleWeightRatio < 0 ||
+        this.deptBudgetList.type=='潮粮'&&this.deptBudgetList.buckleWeightRatio > 3 ||
+        (this.deptBudgetList.type=='潮粮'&&String(this.deptBudgetList.buckleWeightRatio).indexOf('.') != -1 &&
+          String(this.deptBudgetList.buckleWeightRatio).length -
+            (String(this.deptBudgetList.buckleWeightRatio).indexOf('.') + 1) >
+            2)
+      ) {
+        this.$message({
+          message: '扣重比输入错误',
+          type: 'warning'
+        })
+        return
+      }
+      if (this.deptBudgetList.type=='潮粮'&&!this.deptBudgetList.tidalGrainWater) {
+        this.$message({
+          message: '潮粮水分不能为空',
+          type: 'warning'
+        })
+        return
+      }
+      if (
+        this.deptBudgetList.type=='潮粮'&&this.deptBudgetList.tidalGrainWater < 1 ||
+        this.deptBudgetList.type=='潮粮'&&this.deptBudgetList.tidalGrainWater > 40 ||
+        (this.deptBudgetList.type=='潮粮'&&String(this.deptBudgetList.tidalGrainWater).indexOf('.') != -1 &&
+          String(this.deptBudgetList.tidalGrainWater).length -
+            (String(this.deptBudgetList.tidalGrainWater).indexOf('.') + 1) >
+            2)
+      ) {
+        this.$message({
+          message: '潮粮水分输入错误',
+          type: 'warning'
+        })
+        return
+      }
+      if (this.deptBudgetList.type=='潮粮'&&!this.deptBudgetList.solidGrainWater) {
+        this.$message({
+          message: '干粮水分不能为空',
+          type: 'warning'
+        })
+        return
+      }
+      if (
+        this.deptBudgetList.type=='潮粮'&&this.deptBudgetList.solidGrainWater < 1 ||
+        this.deptBudgetList.type=='潮粮'&&this.deptBudgetList.solidGrainWater > 40 ||
+        (this.deptBudgetList.type=='潮粮'&&String(this.deptBudgetList.solidGrainWater).indexOf('.') != -1 &&
+          String(this.deptBudgetList.solidGrainWater).length -
+            (String(this.deptBudgetList.solidGrainWater).indexOf('.') + 1) >
+            1)
+      ) {
+        this.$message({
+          message: '干粮水分输入错误',
+          type: 'warning'
+        })
+        return
+      }
+
+      if (!this.deptBudgetList.agent) {
+        this.$message({
+          message: '经办人不能为空!',
+          type: 'warning',
+        })
+        return
+      }
+      if (
+        this.deptBudgetList.agent.length < 2 ||
+        this.deptBudgetList.agent.length > 10
+      ) {
+        this.$message({
+          message: '经办人姓名输入有误!',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.deptBudgetList.inOutDate) {
+        this.$message({
+          message: '出库日期不能为空!',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.deptBudgetList.inOutType) {
+        this.$message({
+          message: '出库类型不能为空!',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.deptBudgetList.carNo) {
+        this.$message({
+          message: '车牌号不能为空!',
+          type: 'warning',
+        })
+        return
+      }
+      if (
+        this.deptBudgetList.carNo.length < 6 &&
+        this.deptBudgetList.carNo.length <= 8
+      ) {
+        this.$message({
+          message: '车牌号输入有误!',
+          type: 'warning',
+        })
+        return
+      }
+      if (!this.deptBudgetList.contractNo) {
+        this.$message({
+          message: '合同编号不能为空!',
+          type: 'warning',
+        })
+        return
+      }
+      if (
+        this.deptBudgetList.contractNo.length < 6 ||
+        this.deptBudgetList.contractNo.length > 20
+      ) {
+        this.$message({
+          message: '合同编号输入有误!',
+          type: 'warning',
+        })
+        return
+      }
+      //自检员
+      if (this.deptBudgetList.warehouseInOutDetail.qualityInspector) {
+        if (
+          this.deptBudgetList.warehouseInOutDetail.qualityInspector.length <
+            2 ||
+          this.deptBudgetList.warehouseInOutDetail.qualityInspector.length > 10
+        ) {
+          this.$message({
+            message: '质检员姓名长度错误!',
+            type: 'warning',
+          })
+          return
+        }
+      }
+      if (this.deptBudgetList.warehouseInOutDetail.waterContent) {
+        if (isNaN(this.deptBudgetList.warehouseInOutDetail.waterContent)) {
+          this.$message({
+            message: '水分(%)非数字!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.warehouseInOutDetail.waterContent < 1 ||
+          this.deptBudgetList.warehouseInOutDetail.waterContent > 40 ||
+          (String(
+            this.deptBudgetList.warehouseInOutDetail.waterContent
+          ).indexOf('.') != -1 &&
+            String(this.deptBudgetList.warehouseInOutDetail.waterContent)
+              .length -
+              (String(
+                this.deptBudgetList.warehouseInOutDetail.waterContent
+              ).indexOf('.') +
+                1) >
+              2)
+        ) {
+          this.$message({
+            message: '水分(%)输入错误! 取值范围1-40之间且可以保留2小数',
+            type: 'warning',
+          })
+          return
+        }
+      }
+
+      //杂质
+      if (this.deptBudgetList.warehouseInOutDetail.impurity) {
+        if (isNaN(this.deptBudgetList.warehouseInOutDetail.impurity)) {
+          this.$message({
+            message: '杂质(%)非数字!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.warehouseInOutDetail.impurity < 1 ||
+          this.deptBudgetList.warehouseInOutDetail.impurity > 40 ||
+          (String(this.deptBudgetList.warehouseInOutDetail.impurity).indexOf(
+            '.'
+          ) != -1 &&
+            String(this.deptBudgetList.warehouseInOutDetail.impurity).length -
+              (String(
+                this.deptBudgetList.warehouseInOutDetail.impurity
+              ).indexOf('.') +
+                1) >
+              2)
+        ) {
+          this.$message({
+            message: '杂质(%)输入错误! 取值范围1-40之间且可以保留2小数',
+            type: 'warning',
+          })
+          return
+        }
+      }
+      //霉变
+      if (this.deptBudgetList.warehouseInOutDetail.mildewGrain) {
+        if (isNaN(this.deptBudgetList.warehouseInOutDetail.mildewGrain)) {
+          this.$message({
+            message: '霉变粒(%)非数字!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.warehouseInOutDetail.mildewGrain < 1 ||
+          this.deptBudgetList.warehouseInOutDetail.mildewGrain > 40 ||
+          (String(this.deptBudgetList.warehouseInOutDetail.mildewGrain).indexOf(
+            '.'
+          ) != -1 &&
+            String(this.deptBudgetList.warehouseInOutDetail.mildewGrain)
+              .length -
+              (String(
+                this.deptBudgetList.warehouseInOutDetail.mildewGrain
+              ).indexOf('.') +
+                1) >
+              2)
+        ) {
+          this.$message({
+            message: '霉变粒(%)输入错误! 取值范围1-40之间且可以保留2小数',
+            type: 'warning',
+          })
+          return
+        }
+      }
+
+      //热损伤
+      if (this.deptBudgetList.warehouseInOutDetail.jiaorenli) {
+        if (isNaN(this.deptBudgetList.warehouseInOutDetail.jiaorenli)) {
+          this.$message({
+            message: '热损伤(%)非数字!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.warehouseInOutDetail.jiaorenli < 1 ||
+          this.deptBudgetList.warehouseInOutDetail.jiaorenli > 40 ||
+          (String(this.deptBudgetList.warehouseInOutDetail.jiaorenli).indexOf(
+            '.'
+          ) != -1 &&
+            String(this.deptBudgetList.warehouseInOutDetail.jiaorenli).length -
+              (String(
+                this.deptBudgetList.warehouseInOutDetail.jiaorenli
+              ).indexOf('.') +
+                1) >
+              2)
+        ) {
+          this.$message({
+            message: '热损伤(%)输入错误! 取值范围1-40之间且可以保留2小数',
+            type: 'warning',
+          })
+          return
+        }
+      }
+
+      //不完善粒(%)
+      if (this.deptBudgetList.warehouseInOutDetail.imperfectGrain) {
+        if (isNaN(this.deptBudgetList.warehouseInOutDetail.imperfectGrain)) {
+          this.$message({
+            message: '不完善粒(%)非数字!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.warehouseInOutDetail.imperfectGrain < 1 ||
+          this.deptBudgetList.warehouseInOutDetail.imperfectGrain > 40 ||
+          (String(
+            this.deptBudgetList.warehouseInOutDetail.imperfectGrain
+          ).indexOf('.') != -1 &&
+            String(this.deptBudgetList.warehouseInOutDetail.imperfectGrain)
+              .length -
+              (String(
+                this.deptBudgetList.warehouseInOutDetail.imperfectGrain
+              ).indexOf('.') +
+                1) >
+              2)
+        ) {
+          this.$message({
+            message: '不完善粒(%)输入错误! 取值范围1-40之间且可以保留2小数',
+            type: 'warning',
+          })
+          return
+        }
+      }
+      //容重
+      if (this.deptBudgetList.warehouseInOutDetail.bulkDensity) {
+        if (isNaN(this.deptBudgetList.warehouseInOutDetail.bulkDensity)) {
+          this.$message({
+            message: '容重(克/升)非数字!',
+            type: 'warning',
+          })
+          return
+        }
+          if (
+          (this.deptBudgetList.warehouseInOutDetail.bulkDensity &&
+            String(this.deptBudgetList.warehouseInOutDetail.bulkDensity).indexOf('.') != -1 &&
+            String(this.deptBudgetList.warehouseInOutDetail.bulkDensity).length -
+              (String(this.deptBudgetList.warehouseInOutDetail.bulkDensity).indexOf('.') + 1) >
+              2) || this.deptBudgetList.warehouseInOutDetail.bulkDensity > 1000 || this.deptBudgetList.warehouseInOutDetail.bulkDensity < 0
+        ) {
+          this.$message({
+            message: '容重输入错误',
+            type: 'warning',
+          })
+          return
+        }
+      }
+      this.$confirm(`确定提交出库信息`, {
+        cancelButtonText: '取消',
+        confirmButtonText: '确定',
+        type: 'warning',
+      }).then(() => {
+        this.$refs.deptBudgetList.validate((valid) => {
+          if (valid) {
+            this.deptBudgetList.compId = sessionStorage.getItem('ws-pf_compId')
+            this.deptBudgetList.inOutFlag = 1
+            this.deptBudgetList.statusFlag = 3
+            addstorageputList(this.deptBudgetList)
+              .toPromise()
+              .then((response) => {
+                this.$message.success('添加成功')
+                this.$router.push({ path: 'warehouseManagementList' })
+              })
+          } else {
+            EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+            return false
+          }
+        })
+      })
+    },
+    tarechange(e) {
+      if (this.deptBudgetList.grossWeight && this.deptBudgetList.tare) {
+        this.deptBudgetList.netWeight = Number(
+          this.deptBudgetList.grossWeight - this.deptBudgetList.tare
+        )
+      }
+    },
+    grossWeightchange(e) {
+      if (this.deptBudgetList.grossWeight && this.deptBudgetList.tare) {
+        this.deptBudgetList.netWeight = Number(
+          this.deptBudgetList.grossWeight - this.deptBudgetList.tare
+        )
+      }
+    },
+    selectgoodsName(e) {
+      for (var i = 0; i < this.goodnameList.length; i++) {
+        if (this.goodnameList[i].goodsName == e) {
+          this.deptBudgetList.goodsNameKey = this.goodnameList[i].goodsNameKey
+        }
+      }
+    },
+    selectpackingMethod(e) {
+      for (var i = 0; i < this.packtypeList.length; i++) {
+        if (this.packtypeList[i].constValue == e) {
+          this.deptBudgetList.packingMethodKey = this.packtypeList[i].constKey
+        }
+      }
+    },
+    selectstorageType(e) {
+      for (var i = 0; i < this.deliveryType.length; i++) {
+        if (this.deliveryType[i].constValue == e) {
+          this.deptBudgetList.inOutTypeKey = this.deliveryType[i].constKey
+        }
+      }
+    },
+    handleClose() {
+      this.accessoryTFs = false
+    },
+    handleSizeChange(val) {
+      console.log(`每页 ${val} 条`)
+      this.pageSize = val
+      this.getList()
+    },
+    handleCurrentChange(val) {
+      this.currentPage = val
+      console.log(`当前页: ${val}`)
+      this.getList()
+    },
+    getList() {
+      // 品级
+      pullDown({ constId: 'CON3' })
+        .toPromise()
+        .then((response) => {
+          this.gradeList = response
+        })
+
+      // 类型
+      if (this.deptBudgetList.warehouseType == 1) {
+        // 货名
+        goodsname({ positionId: this.$route.query.positionId })
+          .toPromise()
+          .then((response) => {
+            this.goodnameList = response
+          })
+        //类型
+        pullDown({ constId: 'CON6' })
+          .toPromise()
+          .then((response) => {
+            this.deliveryType = response
+          })
+      } else if (this.deptBudgetList.warehouseType == 2) {
+        goodsnameXiala({ baseId: this.deptBudgetList.warehouseId })
+          .toPromise()
+          .then((response) => {
+            this.goodnameList = response
+          })
+        pullDown({ constId: 'WARE2' })
+          .toPromise()
+          .then((response) => {
+            this.deliveryType = response
+          })
+      }
+      //合同编号
+      xialaNo({ compId: sessionStorage.getItem('ws-pf_compId'),flag:5  })
+        .toPromise()
+        .then((response) => {
+          this.outContractNo = response
+        })
+      //经办人
+      getstaff({ compId: sessionStorage.getItem('ws-pf_compId'),warehouseId:this.deptBudgetList.baseId })
+        .toPromise()
+        .then((response) => {
+          // this.agent = response
+          this.qualityInspectorList = response
+          this.options = response
+           this.staffList = response
+        })
+    },
+    selecttaskType(e) {
+      for (var i = 0; i < this.taskTypeList.length; i++) {
+        if (this.taskTypeList[i].value == e) {
+          this.searchType = this.taskTypeList[i].type
+        }
+      }
+    },
+    fujian(row) {
+      if (
+        row.receiveAttachmentPath === null ||
+        row.receiveAttachmentPath === ''
+      ) {
+        EventBus.$emit(
+          'warning',
+          this.$t('system.noticeCircular.NoInformation')
+        )
+      } else {
+        this.accessoryTFs = true
+      }
+      this.appendixIdss = row.receiveAttachmentPath
+    },
+    handleExamine(row) {
+      this.$router.push({
+        name: 'salesContractExamine',
+        query: { id: row.id },
+      })
+    },
+    //删除
+    approve() {},
+    listQuery() {},
+    total() {},
+    clearfiltQuery() {},
+    selectCrtDuty() {},
+  },
+}
+</script>
+<style lang="scss" scoped>
+/deep/.basicInformation {
+  .ws-info-table {
+    border: none;
+  }
+  .el-form-item {
+    width: 33.3333%;
+    border: none;
+    .el-form-item__label {
+      background: transparent;
+      border: none;
+    }
+    .el-form-item__content {
+      border: none;
+    }
+  }
+}
+.el-button--default {
+  color: #5473e8;
+  border-color: #5473e8;
+}
+.title {
+  position: relative;
+  padding-left: 10px;
+}
+.title::before {
+  content: '';
+  display: inline-block;
+  width: 5px;
+  height: 30px;
+  background: #5473e8;
+  position: absolute;
+  left: 0;
+}
+.el-form {
+  padding: 0 10%;
+}
+.el-button--primary {
+  background-color: #5878e8;
+  border-color: #5878e8;
+}
+.el-col {
+  background: #f6f7fc;
+}
+.bg-right {
+  text-align: right;
+  padding: 16px 20px;
+}
+.center {
+  position: relative;
+  top: 50px;
+  width: 40%;
+  height: 2000px;
+  margin: 0 auto;
+}
+//选填
+/deep/.el-form-item {
+  width: 50%;
+}
+.container {
+  overflow: scroll;
+  height: 120vh;
+}
+/deep/.ws-info-table .el-form-item .el-form-item__label {
+  text-align: center;
+}
+.deliverydate {
+  display: inline-block;
+  width: 10%;
+}
+.center {
+  margin-top: -60px;
+  width: 80%;
+}
+//仓位
+.position {
+  background: #afb5cb;
+  border-radius: 2px;
+  font-size: 12px;
+  color: #ffffff;
+  line-height: 20px;
+  padding: 2px 4px;
+  position: relative;
+  top: -2px;
+}
+.neifor /deep/.ws-info-table .el-form-item .el-form-item__label {
+  background: #f6f7fc;
+}
+.neifor .ws-info-table {
+  border-left: 1px solid #cdd2dc;
+  border-top: 1px solid #cdd2dc;
+}
+.neifor .ws-info-table .el-form-item {
+  border-right: 1px solid #cdd2dc;
+  border-bottom: 1px solid #cdd2dc;
+}
+.inspector /deep/.ws-info-table .el-form-item .el-form-item__label {
+  width: 59px;
+}
+//表格文字
+/deep/.ws-info-table .el-form-item .el-form-item__label {
+  text-align: center;
+  font-size: 14px;
+  font-family: PingFangSC-Regular, PingFang SC;
+  font-weight: 400;
+  color: #8890b1;
+  line-height: 16px;
+}
+.inspector {
+  width: 50%;
+}
+//质检员
+.inspector .el-form-item__content {
+  text-align: left;
+  margin-left: 0px;
+}
+
+.small-title {
+  position: relative;
+  padding: 10px;
+  font-weight: 600;
+}
+.small-title::before {
+  position: absolute;
+  content: '';
+  display: block;
+  background: #5473e8;
+  width: 4px;
+  height: 14px;
+  left: 0px;
+  top: 13px;
+}
+//下面列表
+.neifor {
+  width: 80%;
+  background-color: #f6f7fc;
+}
+/deep/.neifor .ws-info-table .el-form-item .el-form-item__label {
+  width: 35%;
+  text-align: center;
+}
+/deep/.neifor .ws-info-table .el-form-item .el-form-item__content {
+  width: 60%;
+  background-color: #f6f7fc;
+}
+/deep/.neifor .el-input--small .el-input__inner {
+  width: 100%;
+}
+</style>