// 分派计划
<template>
  <div class="inwardOrder">
    <div class="sache">
      <el-input placeholder="请输入内容" v-model="inputText" clearable>
      </el-input>
      <el-button type="primary" class="btn">
        <i class="el-icon-search"></i>查询
      </el-button>
      <el-button type="primary" class="btn" @click="cancel">
        返回
      </el-button>
    </div>
     <!-- 车辆信息 -->
    <el-dialog
        title="车辆信息"
        :visible.sync="dialogTableVisible"
        :before-close="handleClose"
    >
      <el-input v-model="truckInput" style="width:250px"></el-input>
      <el-button type="primary" @click="clickTruck">查询</el-button>
      <dilTable
        v-bind.sync="truck"
        @radio-change="currentRadioChange1"
        >
      </dilTable>
      <span slot="footer" class="dialog-footer">
      <el-button @click="cancelUpdate()">取 消</el-button>
      <el-button type="primary" @click="updateTruckCapacity()"
      >确 定</el-button>
      </span>
    </el-dialog>
    <template>
      <div>
        <el-tabs v-model="activeName" @tab-click="handleClick">
          <el-tab-pane label="待接收" name="first">
            <dilTable v-bind.sync="first" ref="table">
              <el-table-column fixed="right" label="操作" width="180">
                <template slot-scope="scope">
                  <el-button
                    type="text"
                    size="mini"
                    @click="getRequirementMaterial(scope.row)"
                  >
                    物资详情
                  </el-button>
                  <el-button type="text" size="mini" @click="updatePlan(scope)">
                    修改
                  </el-button>
                  <el-button type="text" size="mini" @click="deleteClick(scope)">
                    删除
                  </el-button>
                </template>
              </el-table-column>
              <!-- 物资详情抽屉 -->
              <el-table-column type="expand" width="1">
                <template slot-scope="props">
                  <el-form
                    label-position="center"
                    inline
                    class="demo-table-expand"
                  >
                    <div v-if="false">{{ props }}</div>
                    <div>
                      <el-table :data="tableData" border>
                        <el-table-column
                          v-for="(item, i) in tableHead"
                          :key="i"
                          :prop="item.prop"
                          :label="item.label"
                          :width="item.width"
                        ></el-table-column>
                      </el-table>
                    </div>
                  </el-form>
                </template>
              </el-table-column>
            </dilTable>
          </el-tab-pane>
          <el-tab-pane label="已接收" name="second">
            <dilTable v-bind.sync="second"> </dilTable>
          </el-tab-pane>
          <el-tab-pane label="已完成" name="third">
            <dilTable v-bind.sync="third"> </dilTable>
          </el-tab-pane>
        </el-tabs>
      </div>
    </template>
  </div>
</template>
<script>
import { getCookie } from "@/utils/util.js";
export default {
  data() {
    return {
      inputText: "",
      truckInput:null,
      userCarrierId: "",
      //是否弹出对话框
      dialogTableVisible: false,
      first: {
        //
        requestUrl:""
      },
      //车辆信息的表格
      truck: {
        requestUrl:
          "/api/v1/oms/getCapacityAndDriverList?apiId=246&carrierId=" + "",
        // 控制显示当选列
        selectionType: "radio",
      },
      //选中的运力id
      capacityId: null,
      activeName: "first",
      second: {
        requestUrl: "",
      },
      third: {
        requestUrl: "",
      },
    };
  },
  created() {
      this.first.requestUrl =
        "/api/v1/ams/getPlanOrder?apiId=260&orderStatus=4" + "&planId=" + this.$route.params.planId
      this.second.requestUrl =
        "/api/v1/ams/getPlanOrder?apiId=260&orderStatus=5" + "&planId=" + this.$route.params.planId
      this.third.requestUrl =
        "/api/v1/ams/getPlanOrder?apiId=260&orderStatus=2" + "&planId=" + this.$route.params.planId
  },
  methods: {
    getRequest() {
      this.first.requestUrl =
        "/api/v1/ams/getPlanOrder?apiId=260&orderStatus=4" + "&i=" + new Date() + "&planId=" + this.$route.params.planId
      this.second.requestUrl =
        "/api/v1/ams/getPlanOrder?apiId=260&orderStatus=5" + "&i=" + new Date() + "&planId=" + this.$route.params.planId
    },
    cancel(){
        this.$router.go(-1)
    },
    handleClick() {
      this.getRequirementMaterial();
      this.getRequest()
    },
    handleClose(done){
      done()
      this.$message.info("取消修改运力")
    },
    currentRadioChange1(row){
      console.log(row)
      this.capacityId = row.capacityId
    },
    getTruckRequestUrl(){
      if (getCookie("orgCode") == "chengyunshang") {
      this.truck.requestUrl =
        "/api/v1/uc/getAllCapacityByCarrierLike?apiId=429&carrierSsoId=" +
        getCookie("userId") + "&test=" + new Date();
      } else {
      this.truck.requestUrl =
        "/api/v1/uc/getAllCapacityByCarrierLike?apiId=429&carrierSsoId=" + null +  "&test=" + new Date();
      }
    },
    //修改运输订单
    updatePlan(scope){
      this.getTruckRequestUrl()
      this.orderId = scope.row.orderId
      this.dialogTableVisible = true
      console.log(scope.row.orderId)
    },
    updateTruckCapacity(){
        if(this.capacityId == null){
            this.$message.error("未选中运力")
            return
        }
        this.axios.post("/api/v1/oms/updateCapacityId",{
          capacityId:this.capacityId,
          orderId :this.orderId
        }).then((res) =>{
          if(res.data.code == "200"){
            this.$message.success("修改运力成功")
            this.dialogTableVisible = false
            this.getRequest()
            
          }else{
            this.$message.error("修改运力失败")
            this.dialogTableVisible = false
            this.getRequest()
          }
        })
    },
    clickTruck(){
      this.truck.requestUrl = "/api/v1/uc/getAllCapacityByCarrierLike?apiId=429&carrierSsoId=" + null + "&index=" + this.truckInput
    },
    getRequirementMaterial(row) {
      // 记录重复点击次数
      if (this.oldRow === row) {
        this.oldRowCount += 1;
      }
      // 切换当前详情表
      this.$refs.table.toggleRowExpansion(row);
      // 打开前关闭上一个详情表
      if (this.oldRow != "") {
        if (this.oldRow != row) {
          if (this.oldRowCount % 2 === 1) {
            this.$refs.table.toggleRowExpansion(this.oldRow);
          } else {
            this.oldRowCount = 1;
          }
        } else {
          this.oldRow = null;
          return;
        }
      }
      // 重置上一个点击对象
      this.oldRow = row;
      this.getMaterial(row.requirementId);
    },
    getMaterial(requirementId) {
      console.log(requirementId);
      this.axios
        .post("/api/v1/ams/getRequirementMaterial/" + requirementId)
        .then((res) => {
          this.tableData = res.data.data;
          console.log(res.data.data);
        });
    },
      //删除运输订单
    deleteClick(scope){
      this.$confirm('是否删除?', '提示', {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'warning',
        }).then(() => {
            this.axios
            .post("/api/v1/oms/closeOmstruckOrder?orderId=" + scope.row.orderId)
            .then((res) => {
              if (res.data.code == 200) {
                this.$message({
                  type: "success",
                  message: "删除成功!",
                });     
                this.getRequest()
              } else {
                this.$message({
                  message: "删除失败",
                  type: "warning",
                });
              }
            });
        }).catch(() => {
          this.$message({
            type: 'info',
            message: '已取消删除'
          });          
        });
    },
  },
};
</script>
<style lang="scss">
.inwardOrder {
  margin-top: 20px;
  margin-left: 20px;
  .sache {
    padding: 1.25rem 0.375rem;
    .el-input {
      width: 20%;
      margin-right: 1.25rem;
    }
  }
}
</style>
