<template>
  <div class="contractDetails">
    <page-title>返回</page-title>

    <div class="form">
      <div class="form_box">
        <dil-form :formId="117" 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="button_box">
      <el-button @click="onClickCancel">返回</el-button>
      <el-button type="primary" @click="onClickConfirm">确认</el-button>
    </div>
  </div>
</template>

<script>
import PageTitle from "@/components/Page/Title";
import { sjTime,isNumber } from "@/utils/sharedJsFile";
export default {
  components: { PageTitle },
  data() {
    return {
      form1: {},
      supplierId: null,
      supplierName: "",
      stateSupplier: "",
    };
  },
  mounted() {
    this.information();
  },
  methods: {
    information() {
      //编辑请车作业
      this.axios
        .post("/api/v1/tms/getWagonPleaseById/" + this.$route.params.resultId)
        .then((res) => {
          res.data.data.forEach((e) => {
            this.form1 = e;
          });
          this.stateSupplier = res.data.data[0].supplierName;
          this.supplierId = res.data.data[0].supplierId;
        });
    },
    // 返回
    onClickCancel() {
      this.$router.go(-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);
        };
      },


    // 确认
    onClickConfirm() {
      let tmstrainPleaseApproveResult = {
        resultId: this.$route.params.resultId,
        resultPlanDate: sjTime(this.form1.resultPlanDate),
        resultCategory: this.form1.resultCategory,
        supplierId: this.supplierId,
        sendStationId: this.form1.sendStationId,
        toTheStationId: this.form1.toTheStationId,
        resultPleaseNumber: this.form1.resultPleaseNumber,
      };
      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/updateApproveWagonPlease",
            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;
  }
}
</style>