// 出库登记
<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="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
              @input="grossWeightchange"
              v-model="deptBudgetList.grossWeight"
              type="number" @mousewheel.native.prevent
              placeholder="请输入毛重"
              maxlength="20"
              size="small"
            />
          </ws-form-item>

          <!--皮重（吨）-->
          <ws-form-item label="皮重（吨）" span="1" prop="tare" class="readonly">
            <ws-input
              @input="tarechange"
              v-model="deptBudgetList.tare"
              type="number" @mousewheel.native.prevent
              placeholder="请输入皮重"
              maxlength="100"
              size="small"
            />
          </ws-form-item>
          <!--净重（吨）-->
          <ws-form-item label="净重（吨）" span="1" prop="netWeight">
            <ws-input
              readonly="readonly"
              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 class="bg-bottom-up" 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,
  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,
    }
  },
  mounted() {
    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: {
      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.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.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.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
              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.deliveryType) {
        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>