<!--仓库管理-->
<template>
  <div class="container">
    <el-row>
      <el-col :span="20">
        <h2 class="bg-left title">盘损详情</h2>
      </el-col>
      <el-col :span="4" class="bg-right">
        <el-button
          class="bg-bottom"
          type="primary"
          size="small"
          @click="returnWarehouse()"
          ><img
            width="6"
            height="10"
            style="vertical-align: bottom; margin-right: 3px"
            src="../../../public/img/lujing.png"
            alt=""
          />返回</el-button
        >
      </el-col>
    </el-row>
    <div class="connert">
      <h2>
        <img
          style="position: relative; top: 2px"
          width="19"
          height="19"
          src="../../../public/img/cangku.png"
          alt=""
        />
        <span style="color: #323233">{{ deptBudgetList.warehouseName }}</span>
        <span class="ware">{{ binNumber }}仓位</span>
      </h2>
      <el-table
        class="wenzi"
        :data="contractList.records"
        style="width: 100%; margin-top: 20px"
        height="630"
      >
        <el-table-column type="index" label="序号">
          <template scope="scope">
            <span v-if="scope.$index < 9">0{{ scope.$index + 1 }}</span>
            <span v-else>{{ scope.$index + 1 }}</span>
          </template>
        </el-table-column>
        <el-table-column prop="goodsName" label="货名"> </el-table-column>
        <el-table-column prop="cumulativeStockIn" label="当前累计入库（吨）">
        </el-table-column>
        <el-table-column prop="cumulativeStockOut" label="当前累计出库（吨）">
        </el-table-column>
        <el-table-column prop="surplusInventory" label="应余库存">
        </el-table-column>
        <el-table-column prop="physicalInventory" label="实际库存（吨）">
          <template slot-scope="scope">
            <span style="color: #5473e8">{{
              scope.row.physicalInventory
            }}</span>
          </template>
        </el-table-column>
        <el-table-column prop="loss" label="损耗量（吨）">
          <template slot-scope="scope">
            <span style="color: #ff9f24">{{ scope.row.loss }}</span>
          </template>
        </el-table-column>
        <el-table-column prop="inventoryRatio" label="库损比例（‰）">
          <template slot-scope="scope">
            <span v-if="scope.row.inventoryRatio < 3" style="color: #8890b1">{{
              scope.row.inventoryRatio
            }}</span>
            <span v-if="scope.row.inventoryRatio > 3" style="color: #fc5061">{{
              scope.row.inventoryRatio
            }}</span>
          </template>
        </el-table-column>
        <el-table-column prop="qualityInspector" label="操作人">
        </el-table-column>
        <el-table-column prop="createDate" label="录入时间"> </el-table-column>
      </el-table>
      <div style="text-align: center; padding: 10px">
        <el-pagination
          @size-change="handleSizeChange"
          @current-change="handleCurrentChange"
          :current-page="currentPage"
          :page-size="deptCircularPage.pageSize"
          layout="total, sizes, prev, pager, next, jumper"
          :total="deptBudgetTotal"
        >
        </el-pagination>
      </div>
    </div>
  </div>
</template>
<script>
import { adjustmentrecordList } from '@/model/warehouse/index'
import { downloadFile } from '@/utils/batchDown'
import Pagination from '@/components/Pagination'
import WsUpload from '@/components/WsUpload'
//import { dayjs, fmoney, EventBus } from 'base-core-lib'
import { dayjs, EventBus } from 'base-core-lib'
export default {
  name: 'viewSpareMoney',
  components: {
    WsUpload,
    Pagination,
  },
  watch: {
    vesselId(val) {
      this.getList()
    },
    isShow(val) {
      this.showType = val
    },
  },
  data() {
    return {
      //弹出框
      dialogViewSpareMoney: false,
      dialogApproveFormVisible: false,
      // 船舶类型
      monetaryKey: null,
      // 表格显示数据
      tableDate: [],

      // 是否显示
      showType: true,
      // 年
      year: '',
      currentPage: 1,
      pageSize: 10,
      searchType: '',
      searchTypeText: '未完成',
      searchKeyWord: '',
      contractType: 2,
      startDate: null,
      endDate: null,
      // 提交类型
      submitType: true,
      size: 10,
      compId: localStorage.getItem('ws-pf_compId'),
      deptCircularPage: {},
      date: {
        year: dayjs().format('YYYY'),
        month: dayjs().format('MM'),
      },
      contractList: [],
      deptBudgetList: {},
      historyList: [],
      binNumber: '',
      deptBudgetTotal: 0,
      currentPage: 1,
      pageSize: 10,
      accessoryTFs: false,
    }
  },
  activated() {
    //cg.viewBudget
    //cg.viewSpareMoney
    // this.getVesselData();
    this.deptBudgetList.baseId = this.$route.query.baseId
    this.deptBudgetList.positionId = this.$route.query.positionId
    this.deptBudgetList.warehouseName = this.$route.query.warehouseName
    this.binNumber = this.$route.query.binNumber
    this.getList()
    this.showType = this.isShow
  },
  methods: {
    returnWarehouse() {
      
      this.$router.go(-1)
    },
    dateFormat(fmt, date) {
      let ret
      const opt = {
        'Y+': date.getFullYear().toString(), // 年
        'm+': (date.getMonth() + 1).toString(), // 月
        'd+': date.getDate().toString(), // 日
        'H+': date.getHours().toString(), // 时
        // "M+": date.getMinutes().toString(),         // 分
        // "S+": date.getSeconds().toString()          // 秒
        // 有其他格式化字符需求可以继续添加，必须转化成字符串
      }
      for (let k in opt) {
        ret = new RegExp('(' + k + ')').exec(fmt)
        if (ret) {
          fmt = fmt.replace(
            ret[1],
            ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
          )
        }
      }
      return fmt
    },
    handleClose() {
      this.accessoryTFs = false
    },
    handleSizeChange(val) {
      console.log(`每页 ${val} 条`)
      this.pageSize = val
      this.getList()
    },
    handleCurrentChange(val) {
      this.currentPage = val
      console.log(`当前页: ${val}`)
      this.getList()
    },
    getList() {
      adjustmentrecordList({
        compId: localStorage.getItem('ws-pf_compId'),
        baseId: this.deptBudgetList.baseId,
        positionId: this.deptBudgetList.positionId,
        warehouseName: this.deptBudgetList.warehouseName,
        searchType: this.searchType,
        currentPage: this.currentPage,
        pageSize: this.pageSize,
      })
        .toPromise()
        .then((response) => {
          for (var i = 0; i < response.records.length; i++) {
            if (response.records[i].addressUrl != null) {
              response.records[i].addressUrlArray = response.records[
                i
              ].addressUrl.split(',')
            } else {
              response.records[i].addressUrlArray = []
            }
          }
          this.deptCircularPage.currentPage = response.current
          this.deptCircularPage.pageSize = response.size
          this.deptBudgetTotal = response.total
          this.contractList = response
        })
    },
    editClick(row) {
      var status = ''
      if (row.status == '待执行' || row.status == '已完成') {
        status = '执行中'
      } else if (row.status == '执行中') {
        status = '已完成'
      }
      //cancelButtonClass: "btn-custom-cancel"
      this.$confirm(`是否将状态改为${status}`, {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning',
      })
        .then(() => {
          editstatus({ id: row.id })
            .toPromise()
            .then((response) => {
              this.$notify.success({
                title: '成功',
                message: '状态修改成功',
              })
              this.getList()
            })
            .catch((response) => {
              // EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
            })
        })
        .catch(() => {
          return false
        })
    },
    selecttaskType(e) {
      for (var i = 0; i < this.taskTypeList.length; i++) {
        if (this.taskTypeList[i].value == e) {
          this.searchType = this.taskTypeList[i].type
        }
      }
    },
    fujian(row) {
      if (
        row.receiveAttachmentPath === null ||
        row.receiveAttachmentPath === ''
      ) {
        EventBus.$emit(
          'warning',
          this.$t('system.noticeCircular.NoInformation')
        )
      } else {
        this.accessoryTFs = true
      }
      this.appendixIdss = row.receiveAttachmentPath
    },
    handleExamine(row) {
      this.$router.push({
        name: 'salesContractExamine',
        query: { id: row.id },
      })
    },
    // 关闭 dialog时 处理文件url 初始化upload组件
    handleCloe() {
      this.dialogViewSpareMoney = false
    },
    history(row) {
      console.log(row)
      billoperatehis({ id: row.id })
        .toPromise()
        .then((response) => {
          this.historyList = response
        })
    },
    find() {
      this.startDate = this.dateFormat('YYYY-mm-dd', this.value2[0])
      this.endDate = this.dateFormat('YYYY-mm-dd', this.value2[1])
      this.currentPage = 1
      this.getList()
    },
    async exportlist() {
      const { data } = await export1(
        {
          compId: localStorage.getItem('ws-pf_compId'),
          contractType: this.contractType,
          currentPage: this.currentPage,
          pageSize: this.pageSize,
          searchType: this.searchType,
          searchKeyWord: this.searchKeyWord,
          startDate: this.startDate,
          endDate: this.endDate,
        },
        {},
        { responseType: 'blob' }
      ).toPromise()
      downloadFile({
        res: data,
        fileName: `${
          this.date.year + (this.date.month ? `-${this.date.month}` : '')
        }_采购合同`,
        type: 'xls',
      })
    },
  },
}
</script>
<style lang="scss" scoped>
.bg-left {
  padding-left: 10px;
}
.bg-right {
  padding: 16px;
  text-align: right;
}
.connert {
  width: 90%;
  margin: 0 auto;
}
.vertical-text-left {
  width: 62px;
  text-align: right;
}
.ware {
  font-size: 12px;
  color: rgb(255, 255, 255);
  background: rgb(175, 181, 203);
  padding: 3px;
  position: relative;
  top: -1px;
  border-radius: 3px;
  text-align: center;
}
.title {
  position: relative;
}
.title::before {
  content: '';
  display: inline-block;
  width: 5px;
  height: 30px;
  background: #5473e8;
  position: absolute;
  left: 0;
}
.ws-info-table {
  border-left: 1px solid transparent;
  border-top: 1px solid transparent;
}
.el-button--primary {
  background-color: #5878e8;
  border-color: #5878e8;
}
.el-col {
  background: #f6f7fc;
}
</style>
