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

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

    <div class="formOther">
      <div class="form_box">
        <el-form   label-width="70px"> 
          <div class="preview-group">
            <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-item label="发站">
            <el-autocomplete
              class="inline-input"
              v-model="sendStation"
              :fetch-suggestions="querySearchSendStation"
              placeholder="请输入发站名称"
              :trigger-on-focus="false"
              @select="handleSelectSendStation"
            >
              <template slot-scope="{ item }">
                <div class="name">{{ item.arrivalName }}</div>
              </template>
            </el-autocomplete>
          </el-form-item>
          <el-form-item label="到站">
            <el-autocomplete
              class="inline-input"
              v-model="toTheStation"
              :fetch-suggestions="querySearchToTheStation"
              placeholder="请输入到站名称"
              :trigger-on-focus="false"
              @select="handleSelectToTheStation"
            >
              <template slot-scope="{ item }">
                <div class="name">{{ item.arrivalName }}</div>
              </template>
            </el-autocomplete>
          </el-form-item>
        </div>
      </el-form>
    
      </div>
    </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: "",
      sendStationId:null,
      toTheStationId:1,
      sendStation:null,
      toTheStation:"老区轨道衡"
    };
  },
  mounted() {
    // this.unit();
  },
  created() {
    this.form1 = {
      toTheStationId: 1,
    };
  },
  methods: {
    handleCheckedCitiesChange(value) {
      console.log(value);
    },
    //发站弹出层
    handleSelectSendStation(item) {
      this.sendStationId = item.arrivalId;
      this.sendStation = item.arrivalName;
    },
    //以下是发站边输边查搜索
    querySearchSendStation(queryString, cb) {
      this.axios
        .get("/api/v1/uc/getArrivalByLike?index=" + this.sendStation)
        .then((res) => {
          if (res.data.code == "200") {
            var restaurantsSupplier = res.data.data;
            console.log(restaurantsSupplier)
            var results = queryString
              ? restaurantsSupplier.filter(
                  this.createFilterSendStation(queryString)
                )
              : restaurantsSupplier;
            // 调用 callback 返回建议列表的数据
            cb(results);
          }
        });
    },
    //发站
    createFilterSendStation(queryString) {
      return (restaurantsSupplier) => {
        return (
          restaurantsSupplier.arrivalName
            .toLowerCase()
            .indexOf(queryString.toLowerCase()) > -1
        );
      };
    },
    //到站弹出层
    handleSelectToTheStation(item) {
      this.toTheStationId = item.arrivalId;
      this.toTheStation = item.arrivalName;
    },
    //以下是到站边输边查搜索
    querySearchToTheStation(queryString, cb) {
      this.axios
        .get("/api/v1/uc/getArrivalByLike?index=" + this.toTheStation)
        .then((res) => {
          if (res.data.code == "200") {
            var restaurantsSupplier = res.data.data;
            console.log(restaurantsSupplier)
            var results = queryString
              ? restaurantsSupplier.filter(
                  this.createFilterToTheStation(queryString)
                )
              : restaurantsSupplier;
            // 调用 callback 返回建议列表的数据
            cb(results);
          }
        });
    },
    //到站
    createFilterToTheStation(queryString) {
      return (restaurantsSupplier) => {
        return (
          restaurantsSupplier.arrivalName
            .toLowerCase()
            .indexOf(queryString.toLowerCase()) > -1
        );
      };
    },
    //发货单位弹出层
    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.sendStationId,
        toTheStationId: this.toTheStationId,
        resultPleaseNumber: this.form1.resultPleaseNumber,
        userId: getCookie("orgCode"),
        resultType: 3,
      };
      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.$router.go(-1);
            this.$message({
              type: "success",
              message: "新增成功!",
            });
          });
    },
  },
};
</script>
<style lang="scss" scoped>
.contractDetails {
  .form {
    display: flex;
    .form_box {
      width: 340px;
      margin-left: 36%;
      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 {
              .inline-input{
                width:270px;
              }
            }
            .button_box {
              margin-left: 42%;
              margin-top: 55px;
            }
          }
        }
      }
    }
  }
}
.trainTransport {
  margin-left: 41.25%;
  margin-top: 30px;
  width: 300px;
  .inline-input {
    width: 300px;
    .button_box {
      margin-left: 52.5%;
    }
  }
}

 .formOther {
    display: flex;
    .form_box {
      width: 340px;
      margin-left: 36%;
      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 {
              .inline-input{
                width:250px;
              }
            }
          }
        }
      }
    }
  }
</style>