<template>
  <!-- 发货通知页面 -->
  <div class="shipTransport">
    <div class="top">
      <el-input placeholder="请输入内容" v-model="input" clearable> </el-input>
      <el-date-picker
        v-model="startTime"
        type="datetime"
        placeholder="选择日期"
      >
      </el-date-picker>
      <span>至</span>
      <el-date-picker v-model="endTime" type="datetime" placeholder="选择日期">
      </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="addClick">
        <i class="el-icon-circle-plus-outline"></i>新增
      </el-button>
      <el-button type="primary" @click="refresh()">
        <i class="el-icon-refresh"></i>刷新
      </el-button>
      <el-button type="primary" @click="exportData()" v-if="activeName == 'second'">
        <i class="el-icon-download"></i>导出(Excel)
      </el-button>
    </div>
    <el-tabs v-model="activeName" @tab-click="handleClick">
      <!-- 未下发 -->
      <el-tab-pane label="未下发" name="first">
        <dilTable v-bind.sync="option1" ref="table">
          <el-table-column
            fixed="right"
            align="center"
            label="操作"
            width="120"
          >
            <template slot-scope="scope">
              <el-button
                @click="sendClick(scope.row.noticeId)"
                type="text"
                size="small"
              >
                下发
              </el-button>
              <el-button
                @click="modifyclick(scope.row.noticeId)"
                type="text"
                size="small"
              >
                修改
              </el-button>
              <el-button
                @click="deleteclick(scope.row.noticeId)"
                type="text"
                size="small"
              >
                删除
              </el-button>
              <el-button
                @click="toPhotoClick(scope.row.noticeId)"
                type="text"
                size="small"
              >
                货权转移图片</el-button
              >
            </template>
          </el-table-column>
        </dilTable>
      </el-tab-pane>
      <!-- 已下发 -->
      <el-tab-pane label="已下发" name="second">
        <dilTable v-bind.sync="option2"  ref="excelDom">
          <el-table-column
            fixed="right"
            align="center"
            label="操作"
            width="120"
          >
            <template slot-scope="scope">
              <el-button
                @click="toPhotoClick(scope.row.noticeId)"
                type="text"
                size="small"
              >
                货权转移图片</el-button
              >
            </template>
          </el-table-column>
        </dilTable>
      </el-tab-pane>
    </el-tabs>
    <vxe-modal width="549px" height="731px" v-model="isShow" show-footer>
      <div class="demo-image__preview">
        <div
          class="href"
          style="
            margin-left: 80px;
            text-align: center;
            font-family: fangsong;
            font-weight: 300;
            font-size:18px;
          "
        >
          如果加载失败,请尝试<a
            style="color: red"
            :href="src"
            download="货权转移.pdf"
            >点此下载pdf</a
          >
        </div>
        <el-image
          style="height: 731px; text-align: center"
          :src="src"
          :preview-src-list="srcList"
        >
        </el-image>
      </div>
    </vxe-modal>
  </div>
</template>
<script>
import { sjTime } from "@/utils/sharedJsFile";
import { getCookie } from "@/utils/util.js";
export default {
  name: "homeworkPath",
  data() {
    return {
      srcList: [],
      isShow: false,
      src: "",
      startTime: null,
      endTime: null,
      tableTitle: "发货通知",
      // restaurants: [],
      input: "",
      activeName: "first",
      option1: {
        // 表格请求数据的地址
        requestUrl: "/api/v1/tms/getshipDeliveryNoticeList?apiId=69&status=0",
      },
      option2: {
        // 表格请求数据的地址
        requestUrl: "/api/v1/tms/getshipDeliveryNoticeList?apiId=69&status=1",
      },
    };
  },
  mounted(){
    this.initDate();
    this.onclick();
  },
  methods: {
    initDate(){
      this.startTime=new Date();
      this.endTime=new Date();
      this.startTime.setDate(1);
      this.startTime.setHours(0);
      this.startTime.setMinutes(0);
      this.startTime.setSeconds(0);
    },
    onclick() {
      let startTime = null;
      let endTime = null;
      if (this.startTime) {
        startTime = sjTime(this.startTime);
      }
      if (this.endTime) {
        endTime = sjTime(this.endTime);
      }
      if (startTime && endTime && startTime < endTime) {

          this.option1.requestUrl =
            "/api/v1/tms/getshipDeliveryNoticeList?apiId=69&status=0&carrierSSOId=" +
            getCookie("userId") +
            "&con=" +
            this.input +
            "&startTime=" +
            startTime +
            "&endTime=" +
            endTime;
       
          this.option2.requestUrl =
            "/api/v1/tms/getshipDeliveryNoticeList?apiId=69&status=1&carrierSSOId=" +
            getCookie("userId") +
            "&con=" +
            this.input +
            "&startTime=" +
            startTime +
            "&endTime=" +
            endTime;
      } else {
        
          this.option1.requestUrl =
            "/api/v1/tms/getshipDeliveryNoticeList?apiId=69&status=0&carrierSSOId=" +
            getCookie("userId") +
            "&con=" +
            this.input;
       
          this.option2.requestUrl =
            "/api/v1/tms/getshipDeliveryNoticeList?apiId=69&status=1&carrierSSOId=" +
            getCookie("userId") +
            "&con=" +
            this.input;
      }
    },
    addClick() {
      this.$router.push("/addDeliveryNotice/");
    },
    modifyclick(noticeId) {
      this.$router.push("/modifyDeliveryNotice/" + noticeId);
    },
    deleteclick(scope) {
      let noticeId = scope;
      this.$confirm("是否删除", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        center: true,
      })
        .then(() => {
          this.axios
            .post("/api/v1/tms/deleteByNoticeId/" + noticeId)
            .then(() => {
              this.$message({
                type: "success",
                message: "删除成功!",
              });
              this.option1.requestUrl =
                "/api/v1/tms/getshipDeliveryNoticeList?apiId=69&status=0&i=" +
                new Date();
            });
        })
        .catch(() => {
          this.$message({
            type: "info",
            message: "取消删除!",
          });
        });
    },

    toPhotoClick(noticeId) {
      this.axios
        .post("/api/v1/tms/downLoadDeilveryNotice?noticeId=" + noticeId)
        .then((res) => {
          this.srcList = [];
          this.src = res.data.data;
          this.isShow = true;
          this.srcList.push(res.data.data);
        });
    },

    handleClick(tab, event) {
      console.log(tab, event);
    },
    sendClick(scope) {
      let noticeId = scope;
      this.$confirm("是否下发", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        center: true,
      })
        .then(() => {
          this.axios
            .post("/api/v1/tms/sendDeliveryNotice/" + noticeId)
            .then(() => {
              this.$message({
                type: "success",
                message: "下发成功!",
              });
              this.option1.requestUrl =
                "/api/v1/tms/getshipDeliveryNoticeList?apiId=69&status=0&i=" +
                new Date();
              this.option2.requestUrl =
                "/api/v1/tms/getshipDeliveryNoticeList?apiId=69&status=1&i=" +
                new Date();
            });
        })
        .catch(() => {
          this.$message({
            type: "info",
            message: "取消下发!",
          });
        });
    },
    refresh() {
      this.$router.go(0);
    },
  },
};
</script>
<style lang="scss" scoped>
.shipTransport {
  .top {
    padding: 1.25rem 0.375rem;

    .el-input {
      width: 20%;
      margin-right: 40rpx;
    }
  }
}
</style>
