// 提出需求
<template>
  <div class="inwardRequirement">
    <div class="sache">
      <el-select v-model="condition1" placeholder="请选择筛选条件"  style="width:150px" clearable>
          <el-option
          v-for="item in options"
          :key="item.value"
          :label="item.label"
          :value="item.value">
          </el-option>
      </el-select>
      <el-input
          placeholder="请输入内容"
          v-model="input1"
          style="width:200px"
          clearable
      >
      </el-input>
      <el-select v-model="condition2" placeholder="请选择筛选条件" style="width:150px" clearable>
          <el-option
          v-for="item in options"
          :key="item.value"
          :label="item.label"
          :value="item.value">
          </el-option>
      </el-select>
      <el-input
          placeholder="请输入内容"
          v-model="input2"
          style="width:200px"
          clearable
      >
      </el-input>
      <span>需求时间：</span>
      <el-date-picker
        v-model="startTime"
        type="datetime"
        placeholder="选择日期"
        style="width:220px"
      >
      </el-date-picker>
      <span>至</span>
      <el-date-picker
        v-model="endTime"
        type="datetime"
        placeholder="选择日期"
        style="width:220px"
      >
      </el-date-picker>
      <el-button type="primary" class="btn" @click="onclick">
        <i class="el-icon-search"></i>查询
      </el-button>
      <el-button
        type="primary"
        class="btn"
        @click="toInsert2"
        v-if="activeName == 'first'"
      >
        <i class="el-icon-plus"></i>新增
      </el-button>
      <el-button
        type="primary"
        class="btn"
        @click="Issue"
        v-if="activeName == 'first'"
      >
        <i class="el-icon-download"></i>下发
      </el-button>
    </div>
    <template>
      <div>
        <el-tabs v-model="activeName" @tab-click="handleClick">
          <el-tab-pane label="未下发" name="first">
            <mergeRowTable
              v-bind.sync="first"
              @selection-change="selectionChange"
              ref="table1"
              max-height="300"
            >
              <el-table-column fixed="right" label="操作" width="90">
                <template slot-scope="scope">
                  <el-button
                    type="text"
                    size="mini"
                    @click="deleteRequirement(scope)"
                  >
                    删除
                  </el-button>
                </template>
              </el-table-column>
            </mergeRowTable>
          </el-tab-pane>
          <el-tab-pane label="已下发" name="second">
            <mergeRowTable v-bind.sync="second" ref="table" max-height="300">
              <el-table-column fixed="right" label="操作" width="80">
                <template slot-scope="scope">
                  <el-button
                    type="text"
                    size="mini"
                    @click="getRequirementOrder(scope)"
                    >运单</el-button
                  >
                </template>
              </el-table-column>
            </mergeRowTable>
          </el-tab-pane>
        </el-tabs>
      </div>
    </template>
  </div>
</template>
<script>
import { getCookie } from "@/utils/util.js";
import { sjTime } from "@/utils/sharedJsFile";
export default {
  data() {
    return {
      condition1:null,
      condition2:null,
      input1:null,
      input2:null,
      options:[
          {
          label:"物资名称",
          value:"materialName"
          },
          {
          label:"用车单位",
          value:"shipperName"
          },
          {
          label:"装货点",
          value:"loadName"
          },
          {
          label:"卸货点",
          value:"unloadName"
          },
          {
          label:"需求类型",
          value:"requirementType"
          }
      ],
      inputText: null,
      orgCode: null,
      endTime: null,
      startTime: null,
      first: {
        // first请求数据的地址
        requestUrl: "",
        selectionType: "select",
        columnIndexs:[0,1,2,6,7,8,9,22],
        comparison: "requirementNumber",
        mapList: []
      },
      second: {
        // second请求数据的地址
        columnIndexs:[0,1,5,6,7,8,9,21],
        comparison: "requirementNumber",
        requestUrl: ""
      },
      tableData: [],
      tableData1: [
        {
          materialCount: 100
        }
      ],
      activeName: "first"
    };
  },
  created() {
    if (
      getCookie("orgCode") == "dagangadmin" ||
      getCookie("orgCode") == "zidonghuabu"
    ) {
      this.first.requestUrl =
        "/api/v1/ams/getTruckRequirementList?apiId=207&requirementStatus=0";
      this.second.requestUrl =
        "/api/v1/ams/getTruckRequirementList?apiId=207&requirementStatus=1";
    } else {
      this.first.requestUrl =
        "/api/v1/ams/getTruckRequirementList?apiId=207&requirementStatus=0&orgCode=" +
        getCookie("orgCode");
      this.second.requestUrl =
        "/api/v1/ams/getTruckRequirementList?apiId=207&requirementStatus=1&orgCode=" +
        getCookie("orgCode");
    }
  },
  methods: {
    onclick() {
      let orgCode = null;
      let startTime = null;
      let endTime = null;
      if (this.startTime && this.endTime) {
        startTime = sjTime(this.startTime);
        endTime = sjTime(this.endTime);
      }
      if (
        getCookie("orgCode") != "dagangadmin" &&
        getCookie("orgCode") != "zidonghuabu"
      ) {
        orgCode = getCookie("orgCode");
      }
       let requestQuery={}
      if(this.condition1 == this.condition2){
            requestQuery[this.condition1]=[this.input1,this.input2]
        }else{
            requestQuery[this.condition1]=[this.input1+'']
            requestQuery[this.condition2]=[this.input2+'']
        }
      if (this.activeName == "first") {
        this.first.requestUrl =
          "/api/v1/ams/getTruckRequirementList?apiId=207&requirementStatus=0&orgCode=" +
          orgCode +
          "&startTime=" +
          startTime +
          "&endTime=" +
          endTime +
          "&i=" +
          new Date();
          this.first.requestQuery=requestQuery;
      } else {
        this.second.requestUrl =
          "/api/v1/ams/getTruckRequirementList?apiId=207&requirementStatus=1&orgCode=" +
          orgCode +
          "&startTime=" +
          startTime +
          "&endTime=" +
          endTime +
          "&i=" +
          new Date();
          this.second.requestQuery=requestQuery;
      }
      this.$forceUpdate();
    },
    //查看需求下面的运单
    getRequirementOrder(scope) {
      this.$router.push("/getRequirementOrder/" + scope.row.requirementId);
    },
    handleClick(tab, event) {
      this.getRequestUrl();
    },
    getRequestUrl() {
      if (
        getCookie("orgCode") == "dagangadmin" ||
        getCookie("orgCode") == "zidonghuabu"
      ) {
        this.first.requestUrl =
          "/api/v1/ams/getTruckRequirementList?apiId=207&requirementStatus=0&i=" +
          new Date();
        this.second.requestUrl =
          "/api/v1/ams/getTruckRequirementList?apiId=207&requirementStatus=1&i=" +
          new Date();
      } else {
        this.first.requestUrl =
          "/api/v1/ams/getTruckRequirementList?apiId=207&requirementStatus=0&orgCode=" +
          getCookie("orgCode") +
          "&i=" +
          new Date();
        this.second.requestUrl =
          "/api/v1/ams/getTruckRequirementList?apiId=207&requirementStatus=1&orgCode=" +
          getCookie("orgCode") +
          "&i=" +
          new Date();
      }
    },
    selectionChange(selection) {
      this.first.mapList = selection;
    },
    toInsert2() {
      this.$router.push("/addRequirement2");
    },
    updateRequirement(scope) {
      this.$router.push("/updateRequirement/" + scope.row.requirementId);
    },
    deleteRequirement(scope) {
      this.$confirm("是否删除", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        center: true
      })
        .then(() => {
          this.axios
            .post(
              "/api/v1/ams/deleteTruckRequirement/" + scope.row.requirementId
            )
            .then(res => {
              if (res.data.code == 200) {
                this.$message({
                  type: "success",
                  message: "删除成功!"
                });
                this.getRequestUrl();
              } else {
                this.$message({
                  message: "删除失败",
                  type: "warning"
                });
              }
            });
        })
        .catch(() => {
          this.$message({
            type: "info",
            message: "删除操作已取消!"
          });
        });
    },
    Issue() {
      console.log(this.first.mapList);
      if (this.first.mapList.length == 0) {
        this.$message.warning("请选择需求");
        return;
      }
      // 权限控制，判断用户是否属于炼铁厂下面的车间
      for (let i = 0; i < this.first.mapList.length; i++) {
        if (
          this.first.mapList[i].requirementType == "计时" &&
          (getCookie("orgCode") == "liantiechang-yuanliaochejian" ||
            getCookie("orgCode") == "liantiechang-shaojiechejian" ||
            getCookie("orgCode") == "liantiechang-dagaoluchejian" ||
            getCookie("orgCode") == "liantiechang-xiaogaoluchejian" ||
            getCookie("orgCode") == "liantiechang-rongjichejian" ||
            getCookie("orgCode") == "liantiechang-weijianchejian")
        ) {
          this.$message.warning("请选择联系炼铁厂相关负责人完成计时作业下发");
          return;
        }
      }
      this.$confirm("是否下发", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        center: true
      })
        .then(() => {
          this.axios
            .post("/api/v1/ams/downRequirement", this.first.mapList)
            .then(res => {
              if (res.data.code == 200) {
                this.$message({
                  type: "success",
                  message: "下发成功!"
                });
                this.getRequestUrl();
                this.activeName = "second";
              } else {
                this.$message({
                  message: "下发失败",
                  type: "warning"
                });
              }
            });
        })
        .catch(() => {
          this.$message({
            type: "info",
            message: "取消下发!"
          });
        });
    }
  }
};
</script>
<style lang="scss" scoped>
.inwardRequirement {
  margin-top: 20px;
  margin-left: 20px;
  .sache {
    margin-top: 30px;
    padding-bottom: 10px;
    .el-input {
      width: 20%;
    }
  }
}
</style>
