<template>
  <!-- 添加发货通知 -->
  <div class="shipTransport">
    <page-title>返回</page-title>
    <div class="mofrom">
      <span class="motext">物资</span>
      <el-input class="moinput" v-model="materialName" disabled> </el-input>
      <el-button class="mobutton" type="primary" @click="ondrawer(1)">浏览</el-button>
    </div>
    <!-- 货权转移送达单位 -->
    <div class="mofrom">
      <span class="motext">货权转移送达单位</span>
      <el-input class="moinput" v-model="cargo" disabled> </el-input>
      <el-button class="mobutton" type="primary" @click="ondrawer(2)">浏览</el-button>
    </div>

    <!--大品类 -->
    <div class="mofrom">
      <span class="motext">大品类</span>
      <el-input class="moinput" v-model="materialType" disabled> </el-input>
      <el-button class="mobutton" type="primary" @click="ondrawer(4)">浏览</el-button>
    </div>

    <!-- 货权转移送达单位 -->
    <div class="mofrom">
      <span class="motext">收货人</span>
      <el-input class="moinput" v-model="receiver" disabled> </el-input>
      <el-button class="mobutton" type="primary" @click="ondrawer(3)">浏览</el-button>
    </div>
    <div class="form">
      <div class="form_box">
        <dil-form :formId="112" v-model="form1" ref="from1" @change="onchange"></dil-form>
      </div>
      <!-- <div class="liulan">
        <el-button type="primary" class="btn" @click="ondrawer(4)">浏览</el-button>
      </div> -->
    </div>

    <!-- 模态框 -->
    <el-drawer :visible.sync="drawer" :direction="direction" :before-close="handleClose" size="50%">
      <el-input placeholder="请输入内容" v-model="input" style="margin-top: 10px; margin-left: 20px; width: 250px" clearable>
      </el-input>
      <el-button type="primary" class="btn" @click="onclick(a)" style="margin-bottom: 15px">
        <i class="el-icon-search"></i>查询
      </el-button>
      <!-- <div v-show="a == 4">
        <dilTable v-bind.sync="options" @radio-change="currentRadioChange6"></dilTable>
      </div> -->
      <div v-show="a == 1">
        <dilTable v-bind.sync="second" @radio-change="currentRadioChange1"></dilTable>
      </div>
      <div v-show="a == 2">
        <dilTable v-bind.sync="second1" @radio-change="currentRadioChange2"></dilTable>
      </div>
      <div v-show="a == 3">
        <dilTable v-bind.sync="second2" @radio-change="currentRadioChange3"></dilTable>
      </div>
      <div v-show="a == 4">
        <dilTable v-bind.sync="second3" @radio-change="currentRadioChange4"></dilTable>
      </div>
    </el-drawer>
    <el-form :inline="true" class="demo-form-inline" label-width="80px" style="margin-left:450px;display:flex;">
      <el-form-item label="上传货权转移附件">
        <el-upload class="upload-demo" style="width:270px;" ref="upload1" action="/api/v1/rms/uploadCarrier1"
          :before-upload="beforeUpload" :multiple="false" list-type="picture" :show-file-list="false"
          :on-success="handleAvatarSuccess" :on-error="onError(1)">
          <span class="span"></span>
          <el-input class="shippingCertificate" style="width:270px;display:flex;" placeholder="请选择货权附件(必填项)"
            v-model="shippingCertificate" disabled>
          </el-input>
          <el-button size="small" type="primary"
            style="width:115px;height:35px;margin-left: 275px;margin-top:-35px;display:flex;" @click="upCLick(1)">
            点击上传附件</el-button>
        </el-upload>
      </el-form-item>
    </el-form>
    <!-- 确定和取消 -->
    <div class="button_box">
      <el-button @click="cancel">取消</el-button>
      <el-button type="primary" @click="makeSure">确定</el-button>
    </div>
  </div>
</template>

<script>
import PageTitle from "@/components/Page/Title";
import { sjTime, isNumber } from "@/utils/sharedJsFile";
import { getCookie } from "@/utils/util.js";
export default {
  components: { PageTitle },
  data() {
    return {
      a: 1,
      cargoPictureUrl: "",
      shippingCertificate: "",
      materialName: "",
      materialType: "",
      cargo: "",
      receiver: "",
      input: "",
      drawer: false,
      direction: "rtl",
      batchId: null,
      form1: {},
      second: {
        requestUrl: "/api/v1/uc/queryMaterialByLike?apiId=244",
        selectionType: "radio",
        mapList1: [],
      },
      second1: {
        requestUrl: "/api/v1/tms/selectShippeByName?apiId=215",
        selectionType: "radio",
        mapList2: [],
      },
      second2: {
        requestUrl: "/api/v1/tms/getGroupList?apiId=217",
        selectionType: "radio",
        mapList3: [],
      },
      second3: {
        requestUrl: "/api/v1/rms/getMaterialTypeList?apiId=376",
        selectionType: "radio",
        mapList4: [],
      },

      value: undefined,
      value2: undefined,
      value4: undefined,
      value5: undefined,
      value6: undefined,
      value7: undefined,
      value8: undefined,

    };
  },
  mounted() {
    this.$set(this.form1, "requesterGroupId", 1);
    this.$set(this.form1, "carrierId", 11);
  },
  methods: {
    upCLick(val) {
      this.num = val;
    },
    beforeUpload(file) {
      this.upBool = true;
      const isLt2M = file.size < 1024 * 1024 * 0.5;
      if (!isLt2M) {
        this.$message.error("上传文件大小不能超过500kb!");
      } else {
        let size = file.size / 1024;
        let _URL = window.URL || window.webkitURL;
        let img = new Image();
        img.src = _URL.createObjectURL(file);
      }
      return isLt2M;
    },
    onError(err) {
      if (this.upBool) {
        if (this.num == 1) {
          this.shippingCertificate = null;
          this.cargoPictureUrl = null;
          // this.$message.error("上传失败");
        }
      }
    },
    handleAvatarSuccess(res, file) {
      // console.log("res",res.data)
      if (res.code) {
        this.upBool = false;
        if (this.num == 1) {
          this.cargoPictureUrl = res.data;
          this.shippingCertificate = file.name;
        }
        this.$message.success("上传成功");
      }
    },

    currentRadioChange() {
      console.log(1);
    },

    ondrawer(num) {
      this.drawer = true;
      this.a = num;
      // 清空当前输入框中的数据
      this.input = "";
    },
    currentRadioChange1(selection) {
      (this.second.mapList1 = selection),
        (this.materialName = selection.materialName);
    },
    currentRadioChange2(selection) {
      (this.second1.mapList2 = selection), (this.cargo = selection.cargoName);
    },
    currentRadioChange3(selection) {
      (this.second2.mapList3 = selection), (this.receiver = selection.pierName);
    },
    currentRadioChange4(selection) {
      (this.second3.mapList4 = selection), (this.materialType = selection.materialTypeName);
    },
    onchange(val) { },
    onclick(a) {
      if (a == 1) {
        this.second.requestUrl =
          "/api/v1/uc/queryMaterialByLike?apiId=244&index=" + this.input;
      } else if (a == 2) {
        this.second1.requestUrl =
          "/api/v1/tms/selectShippeByName?apiId=215&con=" + this.input;
      } else if (a == 3) {
        this.second2.requestUrl =
          "/api/v1/tms/getGroupList?apiId=217&con=" + this.input;
      } else if (a == 4) {
        // console.log("aaaa");
        this.second3.requestUrl =
          "/api/v1/rms/getMaterialTypeList?apiId=376&con=" + this.input;
      }
    },
    // currentRadioChange6(selection) {
    //   this.maplist = selection;
    //   if (JSON.stringify(this.maplist).length > 2) {
    //     this.$set(
    //       this.form1,
    //       "batchId",
    //       selection.resultForeignShipName + selection.materialName
    //     );
    //     this.batchId = selection.batchId;
    //   }
    // },
    handleClose(done) {
      done();
    },
    makeSure() {
      if (this.second.mapList1.length == 0) {
        this.$message.warning("请选择物资")
        return
      }
      if (this.second1.mapList2.length == 0) {
        this.$message.warning("请选择送达单位")
        return
      }
      if (this.second2.mapList3.length == 0) {
        this.$message.warning("请选择收货人")
        return
      }
      if (this.second3.mapList4.length == 0) {
        this.$message.warning("请选择物资品类")
        return
      }

      //判断是否为电话号码
      function isTelePhone() {
        var value2 = map.resultTelephoneFax;
        //验证是否为数字
        var patrn = /^1[3-9]\d{9}$/;
        // var patrn2 = /^(\d{3,4}-)?\d{7,8}$/;
        if (patrn.exec(value2) == null || value2 == "") {
          return false;
        } else {
          return true;
        }
      }
      //电话号码赋值
      var val2 = this.value2;
      let map = {
        carrierId: this.form1.carrierId,
        requesterGroupId: this.form1.requesterGroupId,
        noticeCommerceMethod: this.form1.noticeCommerceMethod,
        noticeHandoverMethod: this.form1.noticeHandoverMethod,
        portId: this.form1.portId,
        noticePortConstructionFee: this.form1.noticePortConstructionFee,
        noticeDeliveryTime: sjTime(this.form1.noticeDeliveryTime),
        noticePileFreeDays: this.form1.noticePileFreeDays,
        // batchId: this.batchId,
        purchaseContractUnitPrice: this.form1.purchaseContractUnitPrice,
        purchaseContractMoisture: this.form1.purchaseContractMoisture,
        //微元素含量
        tfeContent: this.form1.tfeContent,
        silicaContent: this.form1.silicaContent,
        aluminaContent: this.form1.aluminaContent,
        phosphorusContent: this.form1.phosphorusContent,
        manganeseContent: this.form1.manganeseContent,
        resultContactPerson: this.form1.resultContactPerson,
        resultTelephoneFax: this.form1.resultTelephoneFax,
        resultFreightForwardingInfo: this.form1.resultFreightForwardingInfo,
        resultMemo: this.form1.resultMemo,
        resultNumberOfLoans: this.form1.resultNumberOfLoans,
        cargoId: this.second1.mapList2.cargoId,
        groupId: this.second2.mapList3.id,
        inFactoryShipName: this.form1.inFactoryShipName,
        foreignShipName: this.form1.foreignShipName,
        materialId: this.second.mapList1.materialId,
        materialTypeId: this.second3.mapList4.materialTypeId,
        isNeedPortDisCharge: this.form1.isNeedPortDisCharge,
        isNeedPortFee: this.form1.isNeedPortFee,
        cargoPictureUrl: this.cargoPictureUrl,
        userId: getCookie("userId")
      };
      console.log("mapaaa" +map);
      //判断放货数量是否为数字
      if (
        map.noticeCommerceMethod == null ||
        map.noticeHandoverMethod == null ||
        map.noticePortConstructionFee == null ||
        map.noticeDeliveryTime == null ||
        map.noticePileFreeDays == null ||
        map.purchaseContractUnitPrice == null ||
        map.purchaseContractMoisture == null ||
        map.tfeContent == null ||
        map.silicaContent == null ||
        map.aluminaContent == null ||
        map.phosphorusContent == null ||
        map.manganeseContent == null ||
        map.resultContactPerson == null ||
        map.resultTelephoneFax == null ||
        map.resultNumberOfLoans == null ||
        map.carrierId == null ||
        map.groupId == null ||
        map.inFactoryShipName == null ||
        map.isNeedPortDisCharge == null ||
        map.isNeedPortFee == null
        // map.foreignShipName==null||
        // map.materialId==null
      ) {
        this.$message.error("存在空值！");
        return;
      }
      if (!isTelePhone(val2)) {
        this.$message.warning("电话号码或传真格式不正确");
        return;
      }
      if (
        typeof map.noticePileFreeDays != "undefined" &&
        !isNumber(map.noticePileFreeDays)
      ) {
        this.$message.error("免堆天数得为数字");
        return;
      }


      if (
        typeof map.purchaseContractUnitPrice != "undefined" &&
        !isNumber(map.purchaseContractUnitPrice)
      ) {
        this.$message.error("单价得为数字");
        return;
      } if (
        typeof map.tfeContent != "undefined" &&
        !isNumber(map.tfeContent)
      ) {
        this.$message.error("tfe含量得为数字");
        return;
      }
      if (
        typeof map.silicaContent != "undefined" &&
        !isNumber(map.silicaContent)
      ) {
        this.$message.error("二氧化硅含量得为数字");
        return;
      }
      if (
        typeof map.aluminaContent != "undefined" &&
        !isNumber(map.aluminaContent)
      ) {
        this.$message.error("氧化铝含量得为数字");
        return;
      }
      if (
        typeof map.phosphorusContent != "undefined" &&
        !isNumber(map.phosphorusContent)
      ) {
        this.$message.error("含磷量得为数字");
        return;
      }
      if (
        typeof map.resultNumberOfLoans != "undefined" &&
        !isNumber(map.resultNumberOfLoans)
      ) {
        this.$message.error("放货数量得为数字");
        return;
      }
      else
        this.axios.post("/api/v1/tms/insertDeliveryNotice", map).then(res => {
          if (res.data.code == 200) {
            this.$message({
              type: "success",
              message: "新增成功"
            });
          } else {
            this.$message({
              type: "warning",
              message: res.data.data
            });
          }
          this.$router.go(-1);
        });
    },
    // 取消
    cancel() {
      this.$router.go(-1);
    }
  }
};
</script>
<style lang="scss">
.shipTransport {
  .form {
    display: flex;

    .form_box {
      width: 320px;
      margin-left: 35%;
      margin-top: 30px;
      margin-right: 20px;

      .el-form {
        .preview-group {
          .el-form-item {
            .el-form-item__label {
              display: inline-block;
              width: 70px !important;
            }

            .el-form-item__content {
              .el-select {
                width: 250px;
              }

              .el-input {
                width: 250px;
              }
            }
          }
        }
      }
    }
  }

  .mofrom {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 5px;
    margin-right: 10px;

    .motext {
      width: 70px;
    }

    .moinput {
      width: 250px;
    }

    .mobutton {
      margin-left: 6px;
    }
  }

  .button_box {
    margin-left: 35%;
  }

  .liulan {
    margin-left: -4px;
    width: 120px;
    margin-top: 30px;

    .el-button {

      margin: auto;
    }

    .btn {
      margin-top: 0px;
    }

    .btn1 {
      margin-top: 13px;
    }

    .btn2 {
      margin-top: 67px;
    }
  }

  .button_box {
    margin-left: 45%;
  }
}
</style>
