//现货采购入库报表
<template>
  <div class="container">
    <el-scrollbar style="height: 100%">
      <el-row>
        <el-col style="padding-left: 15px; width:48%" :span="16">
          <ws-button :type="searchType == '' ? 'primary' : ''" @click="handlestatus('')">全部</ws-button>
          <!-- <ws-button :type="searchType == 1 ? 'primary' : ''" @click="handlestatus(1)">待审核</ws-button> -->
          <ws-button :type="searchType == 2 ? 'primary' : ''" @click="handlestatus(2)">待结算</ws-button>
          <ws-button :type="searchType == 3 ? 'primary' : ''" @click="handlestatus(3)">已结算</ws-button>
          <!-- <ws-button type="primary" v-hasPermission="`report.goodsProcurementInReport.view`" @click="handleAudit()">通过
          </ws-button>
          <ws-button type="primary" v-hasPermission="`report.goodsProcurementInReport.view`" @click="handlereject()">驳回
          </ws-button> -->
          <ws-button type="primary" v-hasPermission="`report.goodsProcurementInReport.payment`" @click="handlepayment">
            付款</ws-button>
          <ws-button type="primary" v-hasPermission="`report.goodsProcurementInReport.view`" @click="addRemarks()">备注
          </ws-button>
          <ws-button type="primary" v-hasPermission="`report.goodsProcurementInReport.carry`" @click="dis()">定金
          </ws-button>
        </el-col>
        <el-col style="text-align: right; line-height: 60px;  width:300px" :span="8">
          <el-date-picker value-format="yyyy-MM-dd" v-model="value2" type="daterange" align="right" unlink-panels :clearable="false"
            range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions"
            class="data_css" @change="datechange">
          </el-date-picker>
        </el-col>
        <el-col style="text-align: right; line-height: 60px; padding-right: 10px" :span="8">
          <el-select v-model="contractNo" placeholder="请选择合同" clearable filterable @change="contractchange"
            maxlength="500" type="input" class="findValue">
            <el-option v-if="item.reportStatus" v-for="item in option" :key="item.constKey"
              :label="item.contractNo + '(' + item.reportStatus + ')'" :value="item.contractNo" />
            <el-option v-for="item in option" v-if="!item.reportStatus" :key="item.constKey" :label="item.contractNo"
              :value="item.contractNo" />
          </el-select>
        </el-col>
      </el-row>
      <el-row v-if="contractNo != ''" class="content2">
        <div class="content2-item">
          <span v-if="orderList.seller" class="seller">卖方: {{ orderList.seller }} </span>
          <span v-else>卖方:--</span>
          <div class="row2">
            <span v-if="orderList.goodsName">货名: {{ orderList.goodsName }}</span>
            <span v-else>货名:--</span>

            <span v-if="orderList.weight">合同重量: {{ orderList.weight }} 吨</span>
            <span v-else>合同重量: 0 吨</span>

            <span v-if="settlementWeight1">入库量: {{ settlementWeight1 }} 吨</span>
            <span v-else>入库量: 0 吨</span>

            <span v-if="orderList.unitContractPrice">合同单价: {{ orderList.unitContractPrice }} 元/吨</span>
            <span v-else>合同单价: 0 元/吨</span>

            <span v-if="payingMoney">应付: {{ payingMoney }} 元</span>
            <span v-else>应付: 0 元</span>

            <span v-if="payedMoney">已付: {{ payedMoney }} 元</span>
            <span v-else>已付: 0 元</span>

            <span v-if="payNotMoney">未付: {{ payNotMoney }} 元</span>
            <span v-else>未付: 0 元</span>

            <span v-if="orderList.deposit">定金: {{ orderList.deposit }} 元
              <!-- {{ orderList.depositUrl }} -->
              <img width="18" height="20" style="vertical-align: text-top; position: relative; top: -1px"
                src="../../../public/img/fujian.png" @click="fujian()" alt="" />
            </span>
            <span v-else>定金: 0 元</span>
          </div>
        </div>
      </el-row>
      <el-table class="wenzi" :data="warehouseList" style="width: 100%; margin-top: 20px" ref="warehouseList"
        border :summary-method="getSummaries" show-summary @row-click="handleRowClick"
        @selection-change="handleSelectionChange">
        <el-table-column :selectable="selectInit" type="selection" width="55"></el-table-column>
        <el-table-column type="index" label="序号"></el-table-column>
        <el-table-column class="table_td" prop="warehouseName" label="仓库"></el-table-column>
        <el-table-column class="table_td" prop="carNo" label="车牌号"></el-table-column>
        <el-table-column class="table_td" prop="warehousingDate" label="入库日期"></el-table-column>
        <el-table-column class="table_td" prop="grossWeight" label="毛重"></el-table-column>
        <el-table-column class="table_td" prop="tare" label="皮重"></el-table-column>
        <el-table-column class="table_td" prop="deductionWeight" label="扣重"></el-table-column>
        <el-table-column class="table_td" prop="netWeight" label="净重">
          <template slot-scope="scope">
            <div @click.stop='fujian1(scope.row)'>{{scope.row.netWeight}}</div>
          </template>
        </el-table-column>
        <el-table-column width="120" class="table_td" prop="settlementWeight" label="结算重量(吨)">
          <template slot-scope="scope">
            <div class="inputChenge">
              <!-- readonly -->
              <el-input v-model="scope.row.settlementWeight" v-if="scope.row.identification == 'true'"></el-input>
              <div v-if="scope.row.identification == 'false'" class="inputs">
                {{ scope.row.settlementWeight }}
              </div>
            </div>
            <img width="17" height="18" style="vertical-align: text-top; position: relative; top: -1px"
              src="../../../public/img/edit.png" @click="whether(scope.row,1)"
              v-if="scope.row.identification == 'false'" alt="" />
            <i class="el-icon-check" style="line-height: 29px; margin-left: 10px"
              v-if="scope.row.identification == 'true'" @click="varietyClick(scope.row)"></i>
            <!-- <div>—</div> -->
          </template>
        </el-table-column>
        <el-table-column class="table_td" prop="settlementPrice" width='150' label="结算单价（元/吨）">
          <template slot-scope="scope">
            <div class="inputChenge">
              <el-input v-model="scope.row.settlementPrice" v-if="scope.row.identification1 == 'true'">
              </el-input>
              <div v-if="scope.row.identification1 == 'false'" class="inputs">
                <span>{{scope.row.settlementPrice}}</span>
              </div>
            </div>
            <div style='display:inline-block;' v-if="scope.row.identification1 == 'false'">
              <img v-hasPermission="`report.goodsSaleOutReport.edit`" width="17" height="18"
                style="vertical-align: text-top; position: relative; top: -1px" src="../../../public/img/edit.png"
                @click="whether(scope.row,2)" alt="" />
            </div>

            <i class="el-icon-check" style="line-height: 29px; margin-left: 10px"
              v-if="scope.row.identification1 == 'true'" @click="weightClick(scope.row,2)"></i>
          </template>
        </el-table-column>
        <el-table-column width="100" class="table_td" label="应付金额(元)" prop="amountIngPayable"></el-table-column>
        <el-table-column width="100" class="table_td" label="已付金额(元)" prop="amountEdPayable"></el-table-column>
        <el-table-column width="100" class="table_td" label="未付金额(元)" prop="amountNotPayable"></el-table-column>
        <el-table-column class="table_td" label="付款日期" prop="paymentDate"></el-table-column>
        <!-- <el-table-column label="状态" prop="status">
          <template slot-scope="scope">
            <span v-if="scope.row.approveStatus != null">{{
              scope.row.approveStatus
            }}</span>
            <span v-else>{{ scope.row.status }}</span>
          </template>
        </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>
      <WinseaContentModal v-model="accessoryTFs" :title="$t('system.noticeCircular.information')"
        @on-cancel="handleClose">
        <div v-for="(item,index) in addressUrlArray" :key="index">
          <img width="100" height="100" :src="item" alt="">
        </div>
      </WinseaContentModal>
      <WinseaContentModal v-model="accessoryTFs1" :title="$t('system.noticeCircular.information')"
        @on-cancel="handleClose">
        <img width="100" height="100" :src="appendixIdss1" alt="">
      </WinseaContentModal>
    </el-scrollbar>
    <el-dialog width="25%" title="付款" :visible.sync="dialogFormVisible1" :append-to-body="true">
      <el-form :model="form">
        <el-form-item label="未付金额（元）" :label-width="formLabelWidth">
          <template>
            <span>{{ amountNotPayable }}</span>
          </template>
        </el-form-item>
        <el-form-item label="本次付款金额" :label-width="formLabelWidth">
          <el-input type='number' v-model="money" autocomplete="off" placeholder="请输入本次付款金额" class="deal"></el-input>
        </el-form-item>
        <el-form-item label="付款日期" prop="paymentDate" :label-width="formLabelWidth" class="deal">
          <ws-date-picker v-model="paymentDate" type="date" placeholder="请选择付款日期" value-format="yyyy-MM-dd"
            class="deal" />
        </el-form-item>
        <el-form-item label="上传付款截图" :label-width="formLabelWidth">
          <el-upload :action="global.uploadPath" list-type="picture-card"
            :on-success="handlePictureCardPreview" :on-remove="handleRemove" class="photo2">
            <i class="el-icon-plus"></i>
          </el-upload>
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button @click="dialogFormVisible1 = false">取 消</el-button>
        <el-button type="primary" @click="submitMoney()">提 交</el-button>
      </div>
    </el-dialog>
    <!--备注-->
    <el-dialog width="25%" title="备注" :visible.sync="dialogFormVisible11" :append-to-body="true">
      <el-form :model="form">
        <div class="beizhu">
          <el-input v-model="remark" autocomplete="off" placeholder="备注信息,不超过1000字" class="deal"></el-input>
        </div>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <span v-if="roleFlag == 1 ">
          <el-button @click="dialogFormVisible11 = false">取 消</el-button>
          <el-button type="primary" v-hasPermission="`report.goodsProcurementInReport.edit`" @click="remarksSubmit()">保存
          </el-button>
        </span>
        <span v-else>
          <el-button @click="dialogFormVisible11 = false">关 闭</el-button>
        </span>
      </div>
    </el-dialog>
    <!--定金-->
    <el-dialog width="30%" title="定金" :visible.sync="dialogFormVisible5" :append-to-body="true">
      <el-form>
        <el-form-item label="已付定金" :label-width="formLabelWidth">
          <el-input v-model="orderList.deposit" autocomplete="off" class="deal" placeholder="输入定金金额"></el-input>

        </el-form-item>
        <el-form-item label="上传定金截图" :label-width="formLabelWidth">
          <el-upload :action="global.uploadPath" list-type="picture-card"
            :on-success="handlePictureCardPreviewDis" :on-remove="handleRemoveDis" class="photo2">
            <i class="el-icon-plus"></i>
          </el-upload>
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button @click="dialogFormVisible5 = false">取 消</el-button>
        <el-button type="primary" @click="amendconfirm">提 交</el-button>
      </div>
    </el-dialog>
  </div>
  <!-- </div> -->
</template>
<script>
  import {
    getStockPurchaseReceiptList,
    getStockPurchaseContractNoList,
    editSettlementWeight,
    addDisOrRemarks,
    stockPurchasePayMoney,
  } from '@/model/statisticalReport/index'
  import {workflowcontent} from '@/model/houseSelfCollect/index'
  import {downloadFile} from '@/utils/batchDown'
  import {posthandle} from '@/model/purchasingManagement/index'
  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 {
        checked: true,
        needReapply: true,
        dialogFormVisible1: false,
        dialogFormVisible5: false,
        dialogFormVisible11: false,
        dialogVisible: false,

        form: {
          transactionPrice: '',
          transactionsNumber: '',
          basis: '',
        },
        currect: true,
        formLabelWidth: '120px',
        barWidth: 0,
        barHeight: 0,
        retioX: 1,
        ratioY: 1,
        isTaped: false,
        isHover: false,
        isShow: !this.autohide,
        //弹出框
        dialogViewSpareMoney: false,
        contractNoList: [],
        // 是否显示
        showType: true,
        // 年
        year: '',
        option: [],
        pickerOptions: {},
        value2: [],
        startDate: '',
        endDate: '',
        deptBudgetTotal: 0,
        currentPage: 1,
        pageSize: 10,
        searchType: '',
        searchTypeText: '未完成',
        searchKeyWord: '',
        contractType: 2,
        enter: {
          closePositionList: [],
        },

        // 提交类型
        submitType: true,
        size: 10,
        spanArr: [],
        contractNo: '',
        inOutTaskNo: '',
        compId: localStorage.getItem('ws-pf_compId'),
        roleId: localStorage.getItem('ws-pf_roleId'),
        deptCircularPage: {},
        warehouseList: [],
        orderList: {},
        deptBudgetList: {},
        id: '',
        pcFlag: 1,
        deposit: '0',
        stockPurchaseInfo: {
          id: '',
          settlementWeight: '',
        },
        payingMoney: '',
        payedMoney: '',
        payNotMoney: '',
        settlementWeight: '',
        settlementWeight1: '',
        modification: [],
        contractManagementInfoList: {},
        contractManagementInfo: {
          contractManagementInfoList: [],
          deposit: '',
          depositUrl: '',
          remark: '',
          id: '',
        },
        remark: '',
        // depositUrls: [],
        roleFlag: 1,
        money: '',
        paymentDate: '',
        stockPurchaseReceiptReportList: [],
        stockPurchaseReceiptReport: {
          stockPurchaseReceiptReportList: [],
          money: '',
          amountNotPayable: 0,
          amountEdPayable: 0,
          paymentDate: '',
          paymentScreenshot: '',
          id: '',

        },
        addressUrlArray: [],

        amountNotPayable: 0,
        amountEdPayable: 0,
        paymentScreenshotUrls: [],
        carryovercontractnolist: [],
        pickerBeginDateBefore: {
          disabledDate: (time) => {
            return time.getTime() > Date.now()
          },
        },
        accessoryTFs: false,
        accessoryTFs1: false,
        appendixIdss: [],
        appendixIdss1: '',
      }
    },
    activated() {
      this.getPassYearFormatDate()
      this.getContractList()
      this.showType = this.isShow
    },
    methods: {
      //修改结算重量
      varietyClick(row) {
        if (
          row.settlementWeight < 0 ||
          row.settlementWeight > 200 ||
          (String(row.settlementWeight).indexOf('.') != -1 &&
            String(row.settlementWeight).length -
            (String(row.settlementWeight).indexOf('.') + 1) >
            3)
        ) {
          this.$message({
            message: '结算重量输入错误',
            type: 'warning',
          })
          return
        }
        if (row.settlementWeight) {
          if (isNaN(row.settlementWeight)) {
            this.$message({
              message: '结算重量非数字!',
              type: 'warning',
            })
            return
          }
        }
        if (!row.settlementWeight) {
          this.$message({
            message: '结算重量不能为空！',
            type: 'warning',
          })
          return
        }
        this.$confirm(`确定要修改结算重量？`, {
            confirmButtonText: '确定',
            cancelButtonText: '取消',
            type: 'warning',
          })
          .then(() => {
            this.stockPurchaseInfo.id = row.id
            this.stockPurchaseInfo.settlementWeight = row.settlementWeight
            this.stockPurchaseInfo.flag = 1
            editSettlementWeight(this.stockPurchaseInfo)
              .toPromise()
              .then((response) => {
                this.$notify.success({
                  title: '成功',
                  message: '修改成功',
                })
                this.getList()
              })
              .catch((response) => {})
          })
          .catch(() => {
            return false
          })
      },
      //修改结算单价
      weightClick(row, flag) {
        var title = ''
        var data = {}
        title = '确定要修改结算单价？'
        data = {
          settlementPrice: row.settlementPrice,
          id: row.id,
          flag: flag
        }
        this.$confirm(title, {
            confirmButtonText: '确定',
            cancelButtonText: '取消',
            type: 'warning',
          })
          .then(() => {
            editSettlementWeight(data)
              .toPromise()
              .then((response) => {
                this.$notify.success({
                  title: '成功',
                  message: '结算单价修改成功',
                })
                this.getList()
              })
              .catch(() => {
                return false
              })
          })
      },
      whether(row, flag) {
        if (flag == 1) {
          row.identification = 'true'
        } else {
          row.identification1 = 'true'
        }
      },
      handleRowClick(row) {
        if (row.approveStatus == null) {
          this.$refs.warehouseList.toggleRowSelection(row)
          return true
        } else if (row.approveStatus != null) {
          if (row.taskId == null) {
            return false
          } else {
            this.$refs.warehouseList.toggleRowSelection(row)
            return true
          }
        }
      },
      selectInit(row) {
        //在这里一定要记得类型匹配的上。
        if (row.approveStatus == null) {
          return true
        } else if (row.approveStatus != null) {
          if (row.taskId == null) {
            return false
          } else {
            return true
          }
        }
      },
      //添加定金信息
      dis() {
        this.dialogFormVisible5 = true
      },
      //定金
      amendconfirm() {
        this.$confirm(`确定提交定金信息？`, {
          cancelButtonText: '取消',
          confirmButtonText: '确定',
          type: 'warning',
        }).then(() => {
          for (var i = 0; i < this.contractNoList.length; i++) {
            if (this.contractNoList[i].contractNo == this.contractNo) {
              this.contractManagementInfoList.id = this.contractNoList[i].id
            }
          }
          this.contractManagementInfoList.deposit = this.orderList.deposit
          this.contractManagementInfoList.depositUrl = this.depositUrl
          addDisOrRemarks(this.contractManagementInfoList)
            .toPromise()
            .then((response) => {
              this.$message.success('修改成功')
              this.dialogFormVisible5 = false
              this.getList()

            })
        })
      },
      //定金附件
      fujian() {
        if (this.orderList.depositUrl === null || this.orderList.depositUrl === '') {
          EventBus.$emit(
            'warning',
            this.$t('system.noticeCircular.NoInformation')
          )
        } else {
          this.accessoryTFs = true
          this.appendixIdss = this.orderList.depositUrl
        }
      },
      //定金附件
      fujian1(item) {
        if (this.orderList.poundImg === null || this.orderList.poundImg === '') {
          EventBus.$emit(
            'warning',
            this.$t('system.noticeCircular.NoInformation')
          )
        }
        this.appendixIdss1 = item.poundImg

        this.accessoryTFs1 = true
      },
      //备注
      addRemarks() {
        this.dialogFormVisible11 = true
      },
      remarksSubmit() {
        this.contractManagementInfo.remark = this.remark
        this.$confirm(`确定要保存备注信息？`, {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'warning',
        }).then(() => {
          for (var i = 0; i < this.contractNoList.length; i++) {
            if (this.contractNoList[i].contractNo == this.contractNo) {
              this.contractManagementInfoList.id = this.contractNoList[i].id
            }
          }
          this.contractManagementInfoList.remark = this.remark
          addDisOrRemarks(this.contractManagementInfoList)
            .toPromise()
            .then(() => {
              this.dialogFormVisible11 = false
              this.$message.success('添加备注信息成功')
              this.paymentManagementList = {}
              this.getList()
            })
            .catch(() => {
              return false
            })
        })
      },
      //付款
      handlepayment() {
        this.amountNotPayable = 0
        this.money = this.money
        this.stockPurchaseReceiptReportList =
          this.warehouseList[0].stockPurchaseReceiptReportList
        this.amountEdPayable = this.warehouseList[0].amountEdPayable
        this.paymentDate = this.paymentDate
        if (this.modification.length == 0) {
          this.$message.warning('请选择一条要付款的条目')
        } else {
          for (var i = 0; i < this.modification.length; i++) {
            if (
              this.modification[i].status != '已通过' &&
              this.modification[i].status != '部分付款'
            ) {
              this.$message.warning('只有已通过或部分付款的条目才可进行付款操作')
              return
            }
            this.amountNotPayable += this.modification[i].amountNotPayable
          }
          this.amountNotPayable = this.amountNotPayable.toFixed(3)
          this.dialogFormVisible1 = true
        }
      },
      submitMoney() {
        this.stockPurchaseReceiptReport.money = this.money
        this.stockPurchaseReceiptReport.paymentDate = this.paymentDate
        if (this.modification.length == 0) {
          this.$message.warning('请选择一条要付款的条目')
        } else {
          this.money = Number(this.money).toFixed(2)
          if (
            this.money < 0 ||
            (String(this.money).indexOf('.') != -1 &&
              String(this.money).length - (String(this.money).indexOf('.') + 1) >
              2)
          ) {
            this.$message({
              message: '付款金额输入错误',
              type: 'warning',
            })
            return
          }
          if (this.money) {
            if (isNaN(this.money)) {
              this.$message({
                message: '付款金额非数字!',
                type: 'warning',
              })
              return
            }
          }
          if (!this.money) {
            this.$message({
              message: '付款金额不能为空！',
              type: 'warning',
            })
            return
          }
          if (Number(this.money) > Number(this.modification[0].amountNotPayable)) {
            this.$message({
              message: '付款金额不能大于未付金额！',
              type: 'warning',
            })
            return
          }
          this.$confirm(`确定提交付款信息？`, {
            cancelButtonText: '取消',
            confirmButtonText: '确定',
            type: 'warning',
          }).then(() => {
            stockPurchasePayMoney({
                stockPurchaseReceiptReportList: this.modification,
                amountEdPayable: this.modification[0].amountEdPayable,
                amountNotPayable: this.modification[0].amountNotPayable,
                money: this.money,
                paymentDate: this.paymentDate,
                paymentScreenshot: this.paymentScreenshot,
              })
              .toPromise()
              .then((response) => {
                this.$notify.success({
                  title: '成功',
                  message: '付款成功',
                })
                this.stockPurchaseReceiptReportList = {}
                this.money = ''
                // this.paymentScreenshot = ''
                this.paymentDate = ''
                this.dialogFormVisible1 = false
                this.getList()
              })
              .catch((response) => {
                console.log(response)
                EventBus.$emit('error', response.message)
              })
          })
        }
      },
      datechange() {
        if (this.value2) {
          this.startDate = this.value2[0]
          this.endDate = this.value2[1]
        } else {
          this.startDate = ''
          this.endDate = ''
        }
        this.getContractList()
        this.getList()
      },
      //审核
      handleAudit() {
        var that = this
        if (this.modification.length == 0) {
          this.$message.warning('请选择一条要审核的条目')
        } else {
          this.$confirm(`审核通过后，任务将发送给下一级，是否确定通过？`, {
            cancelButtonText: '取消',
            confirmButtonText: '确定',
            type: 'warning',
          }).then(() => {
            that.audit(this.modification[0], 0, true)
          })
        }
      },
      audit(item, index, status, status2, reason) {
        if (index < this.modification.length) {
          posthandle({
              taskId: item.taskId,
              approved: status,
              auditMind: reason != undefined ? '已驳回' : '无',
              needReapply: status2 != undefined ? true : false,
            })
            .toPromise()
            .then((response) => {
              if (index == 0) {
                workflowcontent({
                    workflowId: item.workflowId,
                    businessKey: item.id,
                    type: '现货采购入库报表'
                  }).toPromise()
                  .then((response1) => {

                  })
              }
              this.audit(
                this.modification[index + 1],
                index + 1,
                status,
                status2,
                reason
              )
            })
            .catch((req) => {
              this.$message.warning(req.message)
            })
        } else {
          if (status == true) {
            this.$message.success('通过成功')
            this.getList()
          } else if (status == false) {
            this.$message.success('驳回成功')
            this.getList()
          }
        }
      },
      handlereject(status) {
        var that = this
        if (this.modification.length == 0) {
          this.$message.warning('请选择要驳回的条目')
        } else {
          this.$confirm(`是否确定驳回？`, {
            cancelButtonText: '取消',
            confirmButtonText: '确定',
            type: 'warning',
          }).then(() => {
            that.audit(this.modification[0], 0, false, true, '已驳回')
          })
        }
      },
      dataFilter(val) {
        // console.log(val,"名")
        this.contractNo = val
        // if (val) {
        //   //val存在
        //   this.options = this.contractNoList.filter((item) => {
        //     if (
        //       !!~item.contractNo.indexOf(val) ||
        //       !!~item.contractNo.toUpperCase().indexOf(val.toUpperCase())
        //     ) {
        //       return true
        //     }
        //   })
        // } else {
        //   //val为空时，还原数组
        //   this.options = this.contractNoList
        // }
      },
      handleSelectionChange(val) {
        this.modification = val
      },
      handlestatus(status) {
        this.searchType = status
        this.getList()
      },
      contractchange(e) {
        for (var i = 0; i < this.contractNoList.length; i++) {
          if (this.contractNoList[i].contractNo == e) {
            this.orderList = this.contractNoList[i]
            if (this.contractNoList[i].depositUrl) {
              this.addressUrlArray = this.contractNoList[i].depositUrl.split(',')
            } else {
              this.addressUrlArray = []
            }
          }
        }
        this.contractNo = e
        this.currentPage = 1
        this.getList()
      },

      updated() {
        this.$nextTick(() => {
          this.$refs.warehouseList.doLayout()
        })
      },
      //合计
      getSummaries(param) {
        const {
          columns,
          data
        } = param
        const sums = []
        columns.forEach((column, index) => {
          if (index === 0) {
            sums[index] = '合计'
          } else if (
            index === 12 ||
            index === 11 ||
            index === 13 ||
            index === 9
          ) {
            const values = data.map((item) => Number(item[column.property]))
            console.log(values)
            // console.log(values)
            if (values.length > 0) {
              sums[index] = values.reduce((prev, curr) => {
                const value = Number(curr)
                if (!isNaN(value)) {
                  return prev + curr
                } else {
                  return prev
                }
              }, 0)
            } else {
              sums[index] = 0
            }
          } else {
            sums[index] = '--'
          }
        })
        if (typeof sums[sums.length - 3] == 'number') {
          sums[sums.length - 3] = sums[sums.length - 3].toFixed(2)
        }
        if (typeof sums[sums.length - 4] == 'number') {
          sums[sums.length - 4] = sums[sums.length - 4].toFixed(2)
        }
        if (typeof sums[sums.length - 5] == 'number') {
          sums[sums.length - 5] = sums[sums.length - 5].toFixed(2)
        }
        if (typeof sums[sums.length - 7] == 'number') {
          sums[sums.length - 7] = sums[sums.length - 7].toFixed(2)
        }
        return sums
      },
      getList() {
        // if(this.roleId=='4c2d50d8ff2943c1b7a1e947feefe048'){
        //   this.roleFlag=1
        // }else if(this.roleId=='cca3cf0ca2814d1e918f5b0a4380fe69'){
        //   this.roleFlag=2
        // }else if(this.roleId=='9ad8abb997714ef29068f23c2ad3b125'){
        //   this.roleFlag=3
        // }else if(this.roleId=='3d7b9179552b4c3e9c2d7af43962e2e4'){
        //   this.roleFlag=4
        // }else if(this.roleId=="4ef070439cd64784bce8844fd3f0f8e1"){
        //   this.roleFlag=''
        // }

        getStockPurchaseReceiptList({
            compId: localStorage.getItem('ws-pf_compId'),
            currentPage: this.currentPage,
            pageSize: this.pageSize,
            startDate: this.startDate,
            endDate: this.endDate,
            searchType: this.searchType,
            contractNo: this.contractNo,
            // roleFlag: this.roleFlag,
          })
          .toPromise()
          .then((response) => {
            this.payingMoney = 0
            this.payedMoney = 0
            this.payNotMoney = 0
            this.settlementWeight1 = 0
            for (var i = 0; i < response.records.length; i++) {
              response.records[i].identification = 'false'
              response.records[i].identification1 = 'false'
              this.payingMoney += response.records[i].amountIngPayable
              this.payedMoney += response.records[i].amountEdPayable
              this.payNotMoney += response.records[i].amountNotPayable
              this.settlementWeight1 += response.records[i].settlementWeight
            }
            this.payingMoney = this.payingMoney.toFixed(2)
            this.payedMoney = this.payedMoney.toFixed(2)
            this.payNotMoney = this.payNotMoney.toFixed(2)
            this.settlementWeight1 = this.settlementWeight1.toFixed(2)
            this.deptBudgetTotal = response.total
            this.warehouseList = response.records
          })
      },
      getContractList() {
        getStockPurchaseContractNoList({
            compId: localStorage.getItem('ws-pf_compId'),
            startDate: this.startDate,
            endDate: this.endDate,
            // currentPage: this.currentPage,
            // pageSize: this.pageSize,
            // roleFlag: this.roleFlag,
            // contractNo: this.contractNo,
          })
          .toPromise()
          .then((response) => {
            this.contractNoList = response
            this.option = this.contractNoList
            this.contractNo = this.option[0].contractNo
            this.contractchange(this.contractNo)
            // this.getList()
          })
      },
      handleRemove(file) {
        console.log(file)
      },
      handlePictureCardPreview(file) {
        this.paymentScreenshot = file.data.url
        this.dialogVisible = true
      },
      // handleDownload(file) {
      //   console.log(file)
      // },
    getPassYearFormatDate() {
      if (!localStorage.getItem('startDate') && !localStorage.getItem('endDate')) {
        var nowDate = new Date()
        var _date = new Date()
        nowDate.setTime(nowDate.getTime() - 24 * 60 * 60 * 1000 * 30)
        var year = nowDate.getFullYear()
        var year1 = _date.getFullYear()
        var month = nowDate.getMonth() + 1
        var month1 = _date.getMonth() + 1
        var strDate = nowDate.getDate()
        var strDate1 = _date.getDate()
        if (month >= 1 && month <= 9) {
          month = '0' + month
        }
        if (month1 >= 1 && month1 <= 9) {
          month1 = '0' + month1
        }

        if (strDate >= 0 && strDate <= 9) {
          strDate = '0' + strDate
        }
        if (strDate1 >= 0 && strDate1 <= 9) {
          strDate1 = '0' + strDate1
        }
        this.startDate = year + '-' + month + '-' + strDate
        this.endDate = year1 + '-' + month1 + '-' + strDate1
      } else {
        this.startDate = localStorage.getItem('startDate')
        this.endDate = localStorage.getItem('endDate')
      }
      this.value2 = [this.startDate, this.endDate]
    },
      handlePictureCardPreviewDis(file) {
        this.depositUrl = file.data.url
        this.dialogVisible = true
      },
      handleRemoveDis(file) {
        console.log(file)
      },
      getSpanArr(data) {
        let that = this

        //页面展示的数据，不一定是全部的数据，所以每次都清空之前存储的 保证遍历的数据是最新的数据。以免造成数据渲染混乱

        that.spanArr = []

        that.pos = 0

        // //遍历数据

        data.forEach((item, index) => {
          //判断是否是第一项

          if (index === 0) {
            this.spanArr.push(1)
            this.pos = 0
          } else {
            //不是第一项时，就根据标识去存储
            if (data[index].warehouseNumViewList.length > 1) {
              查找到符合条件的数据时每次要把之前存储的数据 + 1
              this.spanArr[this.pos] = data[index].warehouseNumViewList.length
              this.spanArr.push(0)
            } else {
              // 没有符合的数据时，要记住当前的index
              this.spanArr.push(1)
              this.pos = index
            }
          }
        })
      },
      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()
      },
      // handleExamine(row) {
      //   this.$router.push({
      //     name: 'salesContractExamine',
      //     query: { id: row.id },
      //   })
      // },
      // 关闭 dialog时 处理文件url 初始化upload组件
      handleCloe() {
        this.dialogViewSpareMoney = false
      },
      //查找
      find() {
        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',
        })
      },
      total() {},
    },
  }
</script>
<style lang="scss" scoped>
  .connert {
    width: 90%;
    margin: 0 auto;
  }

  .vertical-text-left {
    width: 62px;
    text-align: right;
  }

  //分页
  .el-pagination {
    padding: 10px 15px;
    margin-bottom: 0;
    text-align: center;
  }

  /deep/.el-pager li.active {
    color: #5878e8;
    cursor: default;
  }

  /deep/.el-pager li:hover {
    color: #5878e8;
    cursor: default;
  }

  .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;
    width: 385px;
  }

  .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;
  }

  .record,
  .adjustment {
    display: inline-block;
    color: #5878e8;
    padding: 0 4px !important;
    position: relative;
  }

  .content2-item {
    padding: 10px;
  }

  .content2 {
    margin-top: 10px;
    border-radius: 5px;
    background: #F0F3FE;
  }

  .record:after {
    position: absolute;
    content: '';
    display: block;
    top: 5px;
    right: -2px;
    width: 1px;
    height: 12px;
    background: #e9ecf7;
  }

  // .el-row{
  //     height: 150px;
  // }
  .base_header_layout .grid-content {
    margin-top: 80px;
  }

  .el-input--small .el-input__inner {
    margin-left: 20px;
  }

  .el-range-editor--small.el-input__inner {
    height: 32px;
    margin-left: -20%;
  }

  //执行样式
  .executory,
  .inExecution,
  .done {
    width: 6px;
    height: 6px;
    display: inline-block;
    border-radius: 50%;
    position: relative;
    top: -1px;
    font-size: 14px;
  }

  .executory {
    background: #ff9f24;
  }

  .inExecution {
    background: #5878e8;
  }

  .done {
    background: #50cad4;
  }

  .record,
  .adjustment {
    display: inline-block;
    color: #5878e8;
    padding: 0 4px !important;
    position: relative;
    font-size: 14px;
  }

  .container {
    overflow: scroll;
    height: 93vh;
  }

  .button-container {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    background-color: #fff;
    width: 100%;
    height: 50px;
    padding: 0 10px;

    &>div {
      margin-left: 10px;
      display: flex;
      flex-wrap: nowrap;
      flex-direction: row;

      &>span {
        line-height: 50px;
      }
    }

    /deep/.auditFlow-box {
      position: unset;
      margin-left: 10px;

      &/deep/.auditFlow-icon {
        width: auto;
        padding-right: 30px;
      }

      &/deep/.auditFlow-main {
        position: absolute;
      }
    }
  }

  .bg-left {
    padding-left: 30px;
  }

  .title {
    position: relative;
  }

  .title::before {
    content: '';
    display: inline-block;
    width: 5px;
    height: 30px;
    background: #5473e8;
    position: absolute;
    left: 0;
  }

  .seller {
    font-size: 16px;
    font-weight: 600;
    color: #323233;
    line-height: 24px;
  }

  .row2>span {
    margin-right: 20px;
  }

  .el-button--primary {
    background-color: #5878e8;
    border-color: #5878e8;
    // margin-left: 85%;
    margin-top: 13px;
  }

  //导航条样式
  .el-col-12 {
    width: 50%;
    height: 60px;
    background: #f6f7fc;
    border-radius: 4px 4px 1px 1px;
  }

  .el-input--small .el-input__inner {
    height: 32px;
    line-height: 32px;
    width: 385px;
    margin-top: 10px;
  }

  .bg-bottom {
    margin-left: 85%;
  }

  .but {
    margin-left: 30%;
    /* margin-top: -32px; */
    overflow: auto;
    /* float: left; */
    /* margin-left: 1px; */
    margin-left: -10px;
  }

  .el-input--small {
    font-size: 13px;
    width: 390px;
    margin-left: 38%;
  }

  /deep/.el-table .el-table__header .cell,
  .el-table .el-table__body .cell {
    text-align: center;
  }

  .el-scrollbar__wrap {
    overflow-y: hidden;
  }

  /deep/.deal {
    margin-left: 0%;
    width: 64%;
  }

  .photo {
    padding: 0% 34%;
  }

  .photo1 {
    padding: 0 10%;
  }

  .photo2 {
    padding: 0 12%;
  }

  /deep/.el-form-item--small .el-form-item__label,
  .el-form-item--small .el-form-item__content {
    text-align: center;
  }

  hr {
    width: 91%;
  }

  /deep/.deaal {
    width: 66%;
    margin-left: 9%;
  }

  .el-date-editor.el-input,
  .el-date-editor.el-input__inner,
  .el-input-number--small {
    width: 123% !important;
  }

  /deep/.el-table td,
  .el-table th.is-leaf {
    border-right: 1px solid #e9ecf7;
    text-align: center;
    height: 40px;
  }

  .inputChenge {
    width: 100%;
    display: inline-flex;
    margin-left: -28%;
  }

  .inputs {
    margin: 0 auto;
  }

  /deep/.beizhu .el-input--small .el-input__inner {
    height: 220px;
    line-height: 28px;
    width: 430px;
    margin-left: 15px;
  }
</style>
