<template>
  <!-- 新增请作业页面 -->
 <div class="contractDetails">
    <page-title>返回</page-title>

    <div class="form">
      <div class="form_box">
         <dil-form :formId="122" v-model="form1" ></dil-form>
      </div>
    </div>

     <div class="fromOther">
          <el-form
        :inline="true"
        class="demo-form-inline"
        label-width="80px"
        >
        <el-form-item label="发货单位">
         <el-autocomplete
          class="inline-input"
          v-model="stateSupplier"
          :fetch-suggestions="querySearchSupplier"
          placeholder="请输入发货单位名称"
          :trigger-on-focus="false"
          @select="handleSelectSupplier"
        >
        <template slot-scope="{ item }">
          <div class="name">{{ item.supplierName }}</div>
        </template>
        </el-autocomplete>
        </el-form-item>
        </el-form>
    </div>
  <div class="trainTransport">
    <!-- 确定和取消 -->
    <div class="button_box">
      <el-button @click="onClickCancel">返回</el-button>
      <el-button type="primary" @click="onClickConfirm">确认</el-button>
    </div>
  </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 {
      // 表单
      form1: {},
      supplierId: null,
      supplierName: "",
      stateSupplier: "",
    };
  },
  mounted() {
    // this.unit();
  },
  methods: {
    handleCheckedCitiesChange(value) {
      console.log(value);
    },
    //发货单位弹出层
    handleSelectSupplier(item) {
      this.supplierId = item.supplierId;
      item.supplierName = this.supplierName;
    },
    //以下是发货单位边输边查搜索
    querySearchSupplier(queryString, cb) {
      this.axios
        .post("/api/v1/uc/getSupplierMesByLike?index=" + this.stateSupplier)
        .then((res) => {
          if (res.data.code == "200") {
            var restaurantsSupplier = res.data.data;
            var results = queryString
              ? restaurantsSupplier.filter(
                  this.createFilterSupplier(queryString)
                )
              : restaurantsSupplier;
            // 调用 callback 返回建议列表的数据
            cb(results);
          }
        });
    },
    createFilterSupplier(queryString) {
      return (restaurantsSupplier) => {
        return (
          restaurantsSupplier.value
            .toLowerCase()
            .indexOf(queryString.toLowerCase()) > -1
        );
      };
    },
    // 返回
    onClickCancel() {
      this.$router.go(-1);
    },
    // 确认
    onClickConfirm() {
      let tmstrainPleaseApproveResult = {
        resultPlanDate: sjTime(this.form1.resultPlanDate),
        resultCategory: this.form1.resultCategory,
        supplierId: this.supplierId,
        sendStationId: this.form1.sendStationId,
        toTheStationId: this.form1.toTheStationId,
        resultPleaseNumber: this.form1.resultPleaseNumber,
        userId: getCookie("orgCode"),
        resultType: 1,
      };
      function isNumber() {
        var value = tmstrainPleaseApproveResult.resultPleaseNumber;
        //验证是否为数字
        var patrn = /^(-)?\d+(\.\d+)?$/;
        if (patrn.exec(value) == null || value == "") {
          return false;
        } else {
          return true;
        }
      }
      var val = this.value;
      if (
        tmstrainPleaseApproveResult.resultPlanDate == null ||
        tmstrainPleaseApproveResult.resultCategory == null ||
        tmstrainPleaseApproveResult.supplierId == null ||
        tmstrainPleaseApproveResult.sendStationId == null ||
        tmstrainPleaseApproveResult.toTheStationId == null ||
        tmstrainPleaseApproveResult.resultPleaseNumber == null
      )
        this.$message.error("存在空值！");
      else if (!isNumber(val)) this.$message.error("请车数量必须是数字！");
      else
        this.axios
          .post("/api/v1/tms/addWagonPlease", tmstrainPleaseApproveResult)
          .then(() => {
            this.$message({
              type: "success",
              message: "新增成功!",
            });
            this.$router.go(-1);
          });
    },
  },
};
</script>
<style lang="scss">
.contractDetails {
  .form {
    display: flex;
    .form_box {
      width: 340px;
      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;
              }
            }
            .button_box {
              margin-left: 42%;
              margin-top: 55px;
            }
          }
          .fromOther {
            margin-left: 34.5%;
            width: 50%;
            .inline-input {
              width: 300px;
              .button_box {
                margin-left: 45%;
              }
            }
          }
        }
      }
    }
  }
}
</style>