// 汽车调度
<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>
           任务编号
        </h2>
        <ws-info-table>
          <!-- 任务编号 -->
          <ws-form-item label="任务编号" span="1" prop="grossWeight">
            <ws-input
              @input="grossWeightchange"
              v-model="deptBudgetList.grossWeight"
              placeholder="请输入任务编号"
              maxlength="20"
              size="small"
            />
          </ws-form-item>
        <!-- 货名 -->
          <ws-form-item label="货名" span="1">
            <ws-input
              @input="grossWeightchange"
              v-model="deptBudgetList.grossWeight"
              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"
              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 label="发货人" span="1" prop="agent">
            <ws-input
              v-model="deptBudgetList.agent"
              placeholder="请输入发货人姓名"
              maxlength="100"
              size="small"
          />
          </ws-form-item>

          <!--发货人电话-->
          <ws-form-item label="发货人电话" span="1" prop="agent">
            <ws-input
              v-model="deptBudgetList.agent"
              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 label="收货人" span="1" prop="agent">
            <ws-input
              v-model="deptBudgetList.agent"
              placeholder="请输入发货人"
              maxlength="100"
              size="small"
          />
          </ws-form-item>

          <!--收货人电话-->
          <ws-form-item label="收货人电话" span="1" prop="agent">
            <ws-input
              v-model="deptBudgetList.agent"
              placeholder="请输入收货人电话"
              maxlength="100"
              size="small"
            />
          </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"
            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" prop="contractNo">
            <ws-input
              v-model="deptBudgetList.contractNo"
              placeholder="请输入合同编号"
              maxlength="100"
              size="small"
            />
          </ws-form-item>
          
        </ws-info-table>
      </div>
      <div class="small-title"><h2>派车</h2></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>
      </div>  -->

      <div class="neifor">
        <ws-info-table>
          <!--司机-->
          <ws-form-item label="司机" span="1" prop="waterContent">
            <ws-select
                v-model="deptBudgetList.waterContent"
                placeholder="请选择司机"
                @class="typeselect"
                @change="selectwaterContent"
            ></ws-select>
          </ws-form-item>
          <!--司机电话-->
          <ws-form-item label="司机电话" span="1" prop="impurity">
            <ws-select
                v-model="deptBudgetList.impurity"
                placeholder="请选择司机司机电话"
            ></ws-select>
          </ws-form-item>
          <!--车牌号-->
          <ws-form-item label="车牌号" span="1" prop="bulkDensity">
            <ws-input
              v-model="deptBudgetList.bulkDensity"
              placeholder=""
              maxlength="120"
              size="small"
            />
          </ws-form-item>
          <!--车型-->
          <ws-form-item label="车型" span="1" prop="mildewGrain">
            <ws-input
              v-model="deptBudgetList.mildewGrain"
              placeholder="请输入高栏"
              maxlength="120"
              size="small"
            />
          </ws-form-item>
          <!--车长-->
          <ws-form-item label="车长" span="1" prop="jiaorenli">
            <ws-input
              v-model="deptBudgetList.jiaorenli"
              placeholder="请输入车长"
              maxlength="120"
              size="small"
            />
          </ws-form-item>
          <!--载重吨-->
          <ws-form-item label="载重（吨）" span="1" prop="imperfectGrain">
            <ws-input
              v-model="deptBudgetList.warehouseInOutDetail.imperfectGrain"
              placeholder="请输入载重（吨）"
              maxlength="120"
              size="small"
            />
            
          </ws-form-item>
          
        </ws-info-table>
        <img
            width="22"
            height="22"
            class="del"
            @click="del(index)"
            src="../../../public/img/del.png"
            alt=""
          />
      </div>
      
      <el-button
          class="add"
          type="primary"
          size="small"
          @click="add1"
          >添加司机</el-button
        >
      <div style="text-align: right; padding: 10px">
        
        <el-button
          class="bg-bottom-up"
          type="primary"
          size="small"
          @click="submit()"
          >提交</el-button
        >
      </div>
    </ws-form>
  </div>
</template>
<script>
import { pullDown, addstorageputList } 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 {
      //弹出框
      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,
      goodnameList: {},
      // 提交类型
      submitType: true,
      storageType: [],
      readonly: true,
      appendixIdsAdd: '',
      uploadSuccess: {},
      onChange: {},
      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: [],
      deptBudgetList: {
        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.getList()
    this.deptBudgetList.goodsName = '玉米'
    this.deptBudgetList.goodsNameKey = '1'
    this.deptBudgetList.grade = '一等品'
    this.deptBudgetList.gradeKey = '1'
    this.deptBudgetList.inOutType = '采购入库'
    this.deptBudgetList.inOutTypeKey = '1'
  },
  activated() {
    //   //cg.viewBudget
    //   //cg.viewSpareMoney
    //   // this.getVesselData();
    //   console.log(2222)
    //   this.getList()
    //   console.log(1111)
    //   this.showType = this.isShow
    // this.getList(this.$route.query.baseId,)
  },
  methods: {
    //返回按钮
    revert() {
      this.$router.push({ path: 'tranManagementVehicle' })
    },
    del(index){
        if(this.freightspace.length > 1 ){
            this.freightspace.splice(index,1)
        }
    },
    //提交按钮
    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.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
      }
      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 = 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.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.netWeight > this.$route.query.capacity){
        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
              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.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].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
        })
      // 类型
      pullDown({ constId: 'CON5' })
        .toPromise()
        .then((response) => {
          this.storageType = 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) {
    //   billoperatehis({ id: row.id })
    //     .toPromise()
    //     .then((response) => {
    //       this.historyList = response
    //     })
    // },
    // deletecontract(){},
    //删除
    approve() {},
    listQuery() {},
  },
}
</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{
background: #AFB5CB;
border-radius: 2px;
font-size: 12px;
color: #FFFFFF;
line-height: 20px;
display: inline-grid;
padding: 2px 4px;
}
// .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;
  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%;
}
.ws-info-table[data-v-850a44a6] .el-form-item {
    width: 16.66%;
}
</style>
