<!--仓库管理-->
<template>
  <div>
      <el-row>
      <el-col :span="12">
        <h2 class="bg-left title">加权明细</h2>
      </el-col>
      <el-col :span="12" class="bg-right">
        <el-button
          class="bg-bottom"
          type="primary"
          size="small"
          @click="returnsales()"
          ><img
            width="6"
            height="10"
            style="vertical-align: bottom; margin-right: 3px"
            src="../../../public/img/lujing.png"
            alt=""
          />返回</el-button
        >
      </el-col>
    </el-row>
    <el-row>
      <el-col class='bg-left' :span="12">
        <div style='align-items:center;' class='flex'>
          <div style='align-items:center;' class='flex'>
              <div :class='{"forbidden":forbidden==true}' @click='minus'><i class="el-icon-arrow-left"></i></div>
              <ws-select
                v-model="year"
                placeholder=""
                @change="yearChange"
                :value="searchType"
                style="margin: 0 10px"
                >
                <ws-option
                    v-for="item in yearList"
                    :key="item.value"
                    :label="item.value"
                    :value="item.value"
                    style="color: #8890b1"
                />
                </ws-select>
              <div :class='{"forbidden":forbidden1==true}' @click='add'><i class="el-icon-arrow-right"></i></div>
          </div>
        </div>
      </el-col>
      <el-col :span="12" class="bg-right">
       <ws-select
          v-model="warehouseName"
          placeholder=""
          @change="warehouseNameChange"
          :value="searchType"
          style="margin: 0 10px"
        >
          <ws-option
            v-for="item in warehouseList1"
            :key="item.value"
            :label="item.value"
            :value="item.value"
            style="color: #8890b1"
          />
        </ws-select>
        <ws-select
            v-model="goodsName"
            placeholder=""
            class="typeselect"
            @change="selectgoodsName"
          >
            <ws-option
              v-for="item in goodnameList"
              :key="item.constKey"
              :label="item.goodsName"
              :value="item.goodsName"
            />
          </ws-select>
        <!-- v-hasPermission="'procurement.sparepart.directShip'" -->
        <ws-button class="find" type="primary" @click="find()"
          ><img
            width="16"
            height="16"
            style="
              vertical-align: text-top;
              position: relative;
              top: 0px;
              left: -8px;
            "
            src="../../../public/img/sousuo.png"
            alt=""
        /></ws-button>
     </el-col>
    </el-row>
      <el-table
        class="wenzi"
        :data="warehouseList.records"
        style="width: 100%; margin-top: 20px"
        height="780"
      >
      <el-table-column label="序号" type="index" show-overflow-tooltip width="50">
      </el-table-column>
        <el-table-column prop="goodsName" label="货名" >
        </el-table-column>
        <el-table-column prop="grainType" label="粮食类型" >
        </el-table-column>
        <el-table-column prop="inType" label="入库类型" >
        </el-table-column>
        <el-table-column prop="netWeight" label="净重（吨）" >
        </el-table-column>
        <el-table-column prop="pureWeight" label="纯重（吨）" >
        </el-table-column>
        <el-table-column prop="unitPrice" label="价格（元/吨）" >
        </el-table-column> 
        <el-table-column prop="deductionAmount" label="扣款（元/吨）" >
        </el-table-column>
        <el-table-column prop="freight" label="运费（元/吨）" >
        </el-table-column>
        <el-table-column prop="originalStock" label="原库存量（吨）" >
        </el-table-column>
        <el-table-column prop="costBefore" label="入库前加权成本" >
        </el-table-column>
        <el-table-column prop="costAfter" label="入库后加权成本" >
        </el-table-column>
        <el-table-column  prop="createDate" label="更新日期">
        </el-table-column>
      </el-table>
      <el-pagination
      @size-change="handleSizeChange"
      @current-change="handleCurrentChange"
      :current-page="currentPage"
      :page-size="pageSize"
      layout="total, sizes, prev, pager, next, jumper"
      :total="deptBudgetTotal"
    >
    </el-pagination>
  </div>
</template>
<script>
import {
  selectWarehouseSelf
} from '@/model/houseSelfCollect/index'
import {
  weighteddetails,
  editcost,
  export1,
  editstatus,
  billoperatehis,
} from '@/model/warehouse/index'
import {
  packList,
} from '@/model/contarct/index'
import { downloadFile } from '@/utils/batchDown'
import Pagination from '@/components/Pagination'
import WsUpload from '@/components/WsUpload'
import { EventBus } from 'base-core-lib'
export default {
  name: 'viewSpareMoney',
  components: {
    WsUpload,
    Pagination,
  },
  watch: {
    vesselId(val) {
      this.getList()
    },
    isShow(val) {
      this.showType = val
    },
  },
  data() {
    return {
        currectPage:1,
        pageSize:10,
      //弹出框
      dialogViewSpareMoney: false,
      dialogApproveFormVisible: false,
      // 船舶类型
      monetaryKey: null,
      // 表格显示数据
      tableDate: [],
      goodnameList:[],
      goodsName:'玉米',
      goodsNameKey:1,
      expenseName:'',
      yearList:[],
      dialogtitle:'',
      appendixIdss:[],
      amount:'',
      applUrl:'',
      price:'',
      costDate:'',
      // 是否显示
      showType: true,
      // 年
      year: '',

      searchType: 1,
      searchTypeText: '未完成',
      searchKeyWord: '',
      contractType: 2,
      currentPage:1,
      warehouseType: '1',
      // 提交类型
      submitType: true,
      size: 10,
      limit:1,
      spanArr: [],
      id:0,
      warehouseName: '',
      warehouseId:'',
      forbidden:false,
      forbidden1:false,
      start:2021,
      addvisible:false,
      compId: sessionStorage.getItem('ws-pf_compId'),
      deptCircularPage: {},
      warehouseList: [],
      warehouseList1: [],
      deptBudgetList: {},
      historyList: [],
      count:0,
      deptBudgetTotal: 0,
      pickerBeginDateBefore: {
        disabledDate: (time) => {
          return time.getTime() > Date.now()
        },
      },
      accessoryTFs: false,
    }
  },
  activated() {
    this.cangid=this.$route.query.cangId
// 货名
      // packList({ constId: 'CON2' })
      //   .toPromise()
      //   .then((response) => {
      //     this.goodnameList = response
      //   })
      this.year=new Date().getFullYear()
      for(var i=this.start;i<=this.year;i++){
          this.yearList.push({value:i})
      }
      if(this.year>=new Date().getFullYear()){
          this.forbidden1=true
      }
      if(this.year<=this.start){
          this.forbidden=true
      }
    this.selectWarehouse()
    // this.getList()

    this.showType = this.isShow
  },
  methods: {
      selectgoodsName(e) {
      for (var i = 0; i < this.goodnameList.length; i++) {
        if (this.goodnameList[i].goodsName == e) {
          this.goodsNameKey = this.goodnameList[i].goodsNameKey
        }
      }
    },
      returnsales(){
          this.$router.go(-1)
      },
    counttotal(){
        for (let i = 0; i < this.warehouseList.records.length; i++) {
            this.count+=this.warehouseList.records[i].amount
        }
    },
    minus(){

        if(this.year<=this.start){
            this.forbidden=true
        }else{
            this.year--
        }
    },
    add(){

        if(this.year>=new Date().getFullYear()){
            this.forbidden1=true
        }else{
            this.year++
        }
    },
    yearChange(){

    },
    warehouseNameChange(e) {
      for(let i = 0 ; i < this.warehouseList1.length; i++){
        if(this.warehouseList1[i].value == e){
           this.warehouseName = this.warehouseList1[i].value
          this.warehouseCount = this.warehouseList1[i].count
          this.warehouseNo = this.warehouseList1[i].No
          this.cangid = this.warehouseList1[i].id
          this.WAREHOUSE[1].payname = this.warehouseList1[i].value
          this.purchasePriceList = this.warehouseList1[i].purchasePriceList
        }
      }
      this.getList()
    },
    edit(item){
      this.price=item.cost
      this.editvisible=true
      this.id=item.id
    },
    //查看
    handleClose() {
      this.accessoryTFs = false
    },
    handleSizeChange(val) {
      console.log(`每页 ${val} 条`)
      this.pageSize = val
      this.getList()
    },
    handleCurrentChange(val) {
      this.currentPage = val
      console.log(`当前页: ${val}`)
      this.getList()
    },
    selectWarehouse(){
       selectWarehouseSelf({
        compId: sessionStorage.getItem('ws-pf_compId'),
      })
        .toPromise()
        .then((response) => {
          this.warehouseList1 = []
          for (let i = 0; i < response.length; i++) {
            this.warehouseList1.push({
              value: response[i].warehouseName,
              id: response[i].id,
              count: response[i].count,
              purchasePriceList: response[i].purchasePriceList,
              No:response[i].commonWarehouseNo,
              goodsNameInfos:response[i].goodsNameInfos
            })
            if (this.cangid&&this.cangid == response[i].id) {
              this.warehouseName = response[i].warehouseName
              this.warehouseCount =  response[i].count
              this.warehouseNo =  response[i].commonWarehouseNo
              this.purchasePriceList =  response[i].purchasePriceList
              this.goodnameList=response[i].goodsNameInfos
              if(this.goodnameList){
              this.goodsName=this.goodnameList[0].goodsName
              this.goodsNameKey=this.goodnameList[0].goodsNameKey
            }
            } 
          }
          if(this.warehouseList1.length > 0 && !this.cangid){
            this.warehouseName = this.warehouseList1[0].value
            this.warehouseCount =  this.warehouseList1[0].count
            this.warehouseNo =  this.warehouseList1[0].No
            this.cangid =  this.warehouseList1[0].id
            this.purchasePriceList =  this.warehouseList1[0].purchasePriceList
            this.WAREHOUSE[1].payname = this.warehouseList1[0].value
            this.goodnameList=this.warehouseList1[0].goodsNameInfos
            if(this.goodnameList){
              this.goodsName=this.goodnameList[0].goodsName
              this.goodsNameKey=this.goodnameList[0].goodsNameKey
            }
          }
          this.getList()
        })
    },
    getList() {
      weighteddetails({
        compId: sessionStorage.getItem('ws-pf_compId'),
        warehouseId: this.cangid,
        goodsNameKey:this.goodsNameKey,
        year: this.year,
        currectPage:this.currectPage,
        pageSize:this.pageSize
      })
        .toPromise()
        .then((response) => {
          this.warehouseList = response
          this.deptBudgetTotal=response.total
          this.counttotal()
        })
    },
    selecttaskType(e) {
      for (var i = 0; i < this.taskTypeList.length; i++) {
        if (this.taskTypeList[i].value == e) {
          this.searchType = this.taskTypeList[i].type
        }
      }
    },
    handleExamine(row) {
      this.$router.push({
        name: 'salesContractExamine',
        query: { id: row.id },
      })
    },
    // 关闭 dialog时 处理文件url 初始化upload组件
    handleCloe() {
      this.dialogViewSpareMoney = false
    },

    history(row) {
      billoperatehis({ id: row.id })
        .toPromise()
        .then((response) => {
          this.historyList = response
        })
    },
    find() {
      this.currentPage = 1
      this.getList()
    },
    async exportlist() {
      const { data } = await export1(
        {
          compId: sessionStorage.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>
.connert {
  width: 90%;
  margin: 0 auto;
}
.bg-left {
  padding-left: 30px;
}
.bg-right {
  text-align: right;
  padding: 16px 20px;
}
.el-icon-arrow-left,.el-icon-arrow-right{
    font-size:24px;
}
.vertical-text-left {
  width: 62px;
  text-align: right;
}
.el-button--primary {
  background-color: #5878e8;
  border-color: #5878e8;
}
.el-button--default {
  color: #8890b1;
  border-color: #e8eaf1;
}
/deep/.base_header_layout .grid-content.right .find.el-button--primary {
  width: 30px;
  margin-left: 0;
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
}
/deep/.findValue .el-input__inner {
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
}
.completed.el-button--default {
  border-color: #5878e8;
  background-color: #f6f7fc;
  color: #5878e8;
}
.putstorage.el-button--default,
.deliverystorage.el-button--default {
  border-color: #8890b1;
  background-color: #fff;
  color: #8890b1;
}
/deep/.el-table td,
/deep/.el-table th.is-leaf {
  border-right: 1px solid #e9ecf7;
  text-align: center;
}
/deep/.el-table tr td:first-child,
/deep/.el-table tr th.is-leaf:first-child {
  border-left: 1px solid #e9ecf7;
}
/deep/.el-table .el-table__header .cell,
/deep/.el-table .el-table__body .cell {
  -webkit-line-clamp: 10;
  max-height: 400px;
}
.record,
.adjustment {
  display: inline-block;
  color: #5878e8;
  padding: 0 4px !important;
  position: relative;
}
.record:after {
  position: absolute;
  content: '';
  display: block;
  top: 5px;
  right: -2px;
  width: 1px;
  height: 12px;
  background: #e9ecf7;
}
/deep/.el-radio-button:first-child .el-radio-button__inner {
  margin-left: 10px;
}
//分页
.el-pagination {
  text-align: center;
    white-space: nowrap;
    padding: 2px 5px;
    color: #303133;
    font-weight: 700;
    margin-bottom: 20px;
}
.forbidden{
    cursor: not-allowed;
}
 .avatar-uploader .el-upload {
    border: 1px dashed #d9d9d9;
    border-radius: 6px;
    cursor: pointer;
    position: relative;
    overflow: hidden;
  }
  .avatar-uploader .el-upload:hover {
    border-color: #409EFF;
  }
  .avatar-uploader-icon {
    font-size: 28px;
    color: #8c939d;
    width: 178px;
    height: 178px;
    line-height: 178px;
    text-align: center;
  }
  .avatar {
    width: 178px;
    height: 178px;
    display: block;
  }
</style>
