<template>
  <div class="app-container">
    <el-form
      :model="tablefilter"
      ref="queryParams_s"
      :inline="true"
      v-show="showSearch"
      label-width="68px"
    >
      <el-form-item label="货权方" prop="fCtrlcorpid">
        <el-input
          v-model="tablefilter.fCtrlcorpid"
          placeholder="请输入客户名称"
          filterable
          remote
          clearable
          size="small"
          style="width:200px"
          @keyup.enter.native="handleQuery"
          :remote-method="corpsRemoteMethod"
          />

      </el-form-item>

      <el-form-item label="结算单位" prop="fCorpid">
        <el-select
          v-model="tablefilter.fCorpid"
          placeholder="请选择结算单位"
          filterable
          remote
          clearable
          size="small"
          style="width: 200px"
          @keyup.enter.native="handleQuery"
          :remote-method="corpsRemoteMethod"
        >
          <el-option
            v-for="(dict, index) in fMblnoOptions"
            :key="index.fId"
            :label="dict.fName"
            :value="dict.fId"
          ></el-option>
        </el-select>
      </el-form-item>


      <el-form-item label="对账日期" prop="timeInterval">
        <el-date-picker
          v-model="tablefilter.timeInterval"
          size="small"
          style="width: 240px"
          value-format="yyyy-MM-dd"
          type="daterange"
          range-separator="-"
          start-placeholder="开始日期"
          end-placeholder="结束日期"
        ></el-date-picker>
      </el-form-item>

      <el-form-item label="系统编号" prop="fBillno">
        <el-input
          v-model="tablefilter.fBillno"
          placeholder="请输入系统编号"
          clearable
          size="small"
          style="width:200px"
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>

      <el-form-item>
        <el-button
          type="cyan"
          icon="el-icon-search"
          size="mini"
          @click="handleQuery"
          >搜索</el-button
        >
        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
          >重置</el-button
        >
      </el-form-item>
    </el-form>

    <el-row :gutter="10" class="mb8">
      <el-col :span="1.5">
        <el-button
          type="primary"
          icon="el-icon-plus"
          size="mini"
          @click="handleAdd"
          v-hasPermi="['finance:contrast:add']"
          >新增</el-button
        >
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="success"
          icon="el-icon-edit"
          size="mini"
          :disabled="single"
          @click="handleUpdate"
          v-hasPermi="['warehouse:contrast:edit']"
          >修改</el-button
        >
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="warning"
          icon="el-icon-download"
          size="mini"
          @click="handleExport"
          v-hasPermi="['finance:contrast:export']"
          >导出</el-button
        >
      </el-col>
      <right-toolbar
        :showSearch.sync="showSearch"
        @queryTable="getList"
      ></right-toolbar>
    </el-row>

    <el-table
      v-loading="loading"
      :data="contrastList"
      @selection-change="handleSelectionChange"
      show-summary
      :summary-method="listTotal"
    >
      <el-table-column width="60" align="center" type="selection"/>
      <!-- <el-table-column label="制单部门" align="center" prop="fId" /> -->
      <el-table-column label="行号" align="center" type="index"/>
      <el-table-column label="系统编号" align="center" prop="fBillno" show-overflow-tooltip width="120"/>
      <el-table-column label="货权方" sortable align="center" show-overflow-tooltip prop="fCtrlcorpid" width="220"/>
      <el-table-column label="结算单位" sortable align="center" prop="fCorpidName" show-overflow-tooltip width="220"/>
      <el-table-column label="账单日期" sortable align="center" prop="fAccbilldate" width="120">
        <template slot-scope="scope">
          <span>{{ parseTime(scope.row.fAccbilldate, "{y}-{m}-{d}") }}</span>
        </template>
      </el-table-column>
      <el-table-column label="提单号" sortable align="center" prop="tMblno" width="216"/>
      <el-table-column label="金额" align="center" prop="fAmtdr" width="120"/>
      <el-table-column label="对账金额" align="center" prop="fAmtcr" width="120"/>
      <!--       <el-table-column label="单据类型" align="center" prop="fBilltype" />-->
      <el-table-column label="备注" align="center" show-overflow-tooltip prop="fRemarks" width="120"/>
      <el-table-column label="状态" align="center" prop="fBillstatus" width="120">
        <template slot-scope="scope">
          <span v-if="scope.row.fBillstatus == '1'">保存</span>
          <span v-else-if="scope.row.fBillstatus == '2'">暂存</span>
          <span v-else-if="scope.row.fBillstatus == '3'">审批驳回</span>
          <span v-else-if="scope.row.fBillstatus == '4'">提交审核</span>
          <span v-else-if="scope.row.fBillstatus == '5'">审核中</span>
          <span v-else-if="scope.row.fBillstatus == '6'">审核完成</span>
        </template>
      </el-table-column>

      <!-- <el-table-column label="制单部门" align="center" prop="fDeptid" /> -->
      <el-table-column
        label="操作"
        align="center"
        class-name="small-padding fixed-width"

      >
        <template slot-scope="scope">
          <el-button
            size="mini"
            type="text"
            icon="el-icon-view"
            @click="check(scope.row,0)"
            v-hasPermi="['finance:contrast:edit']"
          >查看</el-button
          >
          <el-button
            size="mini"
            type="text"
            icon="el-icon-view"
            @click="check(scope.row,1)"
            v-hasPermi="['finance:contrast:edit']"
            v-if="scope.row.fBillstatus == 4 || scope.row.fBillstatus == 5"
          >审批进度</el-button>
          <el-button
            size="mini"
            type="text"
            icon="el-icon-edit"
            @click="handleUpdate(scope.row)"
            v-hasPermi="['finance:contrast:edit']"
            v-if="scope.row.fBillstatus <= 3">
            修改</el-button>

          <el-button
            size="mini"
            type="text"
            icon="el-icon-delete"
            @click="handleDelete(scope.row)"
            v-hasPermi="['finance:contrast:remove']"
            v-if="scope.row.fBillstatus <= 3"
            >删除</el-button
          >
        </template>
      </el-table-column>
    </el-table>

    <pagination
      v-show="total > 0"
      :total="total"
      :page.sync="queryParams.pageNum"
      :limit.sync="queryParams.pageSize"
      @pagination="getList"
    />

    <!-- 对账表 -->
    <el-dialog
      :visible.sync="open"
      width="70%"
      append-to-body
      :close-on-click-modal="false"
      :show-close="colseButton"
    >
      <el-form
        ref="ruless"
        :model="queryParams"
        :rules="ruless"
        label-width="68px"
        :inline="true"
        v-show="showSearch"
      >
        <el-form-item label="货权方" prop="fCtrlcorpid">
          <el-input
            v-model="queryParams.fCtrlcorpid"
            clearable
            size="small"
            style="width:200px"
            @keyup.enter.native="handleQuery"
            :disabled="notChange"
            placeholder="请输入客户名称"
          />
        </el-form-item>

        <el-form-item label="结算单位" label-width="78px" prop="fCorpid">
          <el-select
            v-model="queryParams.fCorpid"
            placeholder="请选择结算单位"
            filterable
            remote
            clearable
            :disabled="doNot"
            style="width: 200px"
            size="small"
            @keyup.enter.native="handleQuery"
            :remote-method="corpsRemoteMethod"
          >
            <el-option
              v-for="(dict, index) in fMblnoOptions"
              :key="index.fId"
              :label="dict.fName"
              :value="dict.fId"
            ></el-option>
          </el-select>
        </el-form-item>

        <!-- <el-form-item label="提单号" prop="tMblno">
          <el-input v-model="TWareHouseFees.tMblno" placeholder="" :disabled="true"/>
      </el-form-item> -->

        <el-form-item label="对账日期" prop="fAccbilldate" label-width="78px">
          <el-date-picker
            v-model="queryParams.fAccbilldate"
            size="small"
            style="width: 200px"
            value-format="yyyy-MM-dd"
            type="date"
            :disabled="notChange"
            placeholder="选择账单日期"
          >
          </el-date-picker>
        </el-form-item>


        <el-form-item label="系统编号" prop="fBillno">
          <el-input
            v-model="queryParams.fBillno"
            placeholder=""
            clearable
            size="small"
            :disabled="true"
            style="width: 200px"
            @keyup.enter.native="handleQuery"
          />
        </el-form-item>

        <el-form-item label="录入人" prop="createBy">
          <el-input v-model="queryParams.createBy" disabled/>
        </el-form-item>

        <el-form-item label="备注" prop="fRemarks">
          <el-input v-model="queryParams.fRemarks" size="small" style="width:200px" :disabled="notChange"/>
        </el-form-item>

        <div style="width: 100%">
          <el-button type="warning" size="small" @click="reconciliation" :disabled="notChange" v-if="queryParams.fBillstatus < '4'"
            >对账</el-button>
          <el-button type="primary" size="small" @click="confirmReconciliation" :disabled="notChange" v-if="queryParams.fBillstatus < '4'">确认对账</el-button>
          <el-button type="warning" size="small" @click="handleExportItems">导出</el-button>
          <el-button type="success" size="small" @click="backrRconciliation" v-if="queryParams.fBillstatus === '6'">撤销对账</el-button>
<!--          <el-button type="info" size="small" @click="exportData">导出</el-button>-->
          <el-button type="danger" size="small" :disabled="disappear" v-if="queryParams.fBillstatus === '4'" @click="backApproval">撤销审批</el-button>
        </div>

        <!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> -->
      </el-form>

      <el-table
        v-loading="loading"
        :data="DzfeeList"
        @selection-change="handleSelectionChange_s"
      >
        <el-table-column label="行号" align="center" type="index" />
        <el-table-column label="提单号" align="center" prop="fMblno" />
        <el-table-column label="业务日期" align="center" prop="fBsdate">
          <template slot-scope="scope">
            <span v-if="scope.row.fBsdate === undefined">无</span>
            <span v-else>{{scope.row.fBsdate.slice(0, 10)}}</span>
          </template>
        </el-table-column>
        <el-table-column label="费用名称" align="center" prop="fFeeName" />
        <el-table-column label="收/付" align="center" prop="fSrcdc">
          <template slot-scope="scope">
            <span v-if="scope.row.fSrcdc == 'D'">收</span>
            <span v-else-if="scope.row.fSrcdc == 'C'">付</span>
          </template>
        </el-table-column>
        <el-table-column label="金额" align="center" prop="fAmtdr" />
        <el-table-column label="计价单位" align="center" prop="fFeeunitid" />
        <el-table-column label="数量" align="center" prop="fQty" />
        <el-table-column label="单价" align="center" prop="fUnitprice" />
        <el-table-column label="本次金额" align="center" prop="fAmt" />
        <el-table-column label="作业类型" align="center" prop="fBusinessType" />

        <el-table-column label="业务类型" align="center" prop="fBilltype">
          <template slot-scope="scope">
            <span v-if="scope.row.fBilltype == 'SJRK'">入库</span>
            <span v-else-if="scope.row.fBilltype == 'SJCK'">出库</span>
            <span v-else-if="scope.row.fBilltype == 'CKDB'">调拨</span>
            <span v-else-if="scope.row.fBilltype == 'HQZY'">货权转移</span>
            <span v-else-if="scope.row.fBilltype == 'JSCCF'">仓储费</span>
            <span v-else>{{scope.row.fBilltype}}</span>
          </template>
        </el-table-column>
        <el-table-column label="来源编号" align="center" prop="srcBillNo" />
        <el-table-column label="提单号" align="center" prop="fMblno" />
        <el-table-column label="货物品名" align="center" prop="fProductName" />
        <el-table-column label="品牌" align="center" prop="fMarks" />
        <el-table-column label="计费起始日期" align="center" prop="fChargedate">
          <template slot-scope="scope">
            <span v-if="scope.row.fChargedate === undefined">无</span>
            <span v-else>{{scope.row.fChargedate.slice(0, 10)}}</span>
          </template>
        </el-table-column>
        <el-table-column label="计费截止日期" align="center" prop="fBillingDeadline">
          <template slot-scope="scope">
            <span v-if="scope.row.fBillingDeadline === undefined">无</span>
            <span v-else>{{scope.row.fBillingDeadline.slice(0, 10)}}</span>
          </template>
        </el-table-column>
        <el-table-column label="计费天数" align="center" prop="fBillingDays" />
        <el-table-column label="库存天数" align="center" prop="fInventoryDays" />
        <el-table-column label="备注" align="center" prop="fRemarks"/>
        <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
          <template slot-scope="scope">
            <el-button
              size="mini"
              type="text"
              icon="el-icon-delete"
              :disabled="notChange"
              @click.native.prevent="deleteRow(scope.$index,DzfeeList)"
            >删除
            </el-button>
          </template>
        </el-table-column>
      </el-table>

      <div slot="footer" class="dialog-footer">
        <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
        <approval-comments v-if="addOrUpdateVisib" ref="ApprovalComments" @refreshDataList="returnData"></approval-comments>
          <el-button v-if="approve === true" @click="goApproval">审批</el-button>
          <el-button type="primary" v-if="queryParams.fBillstatus >= '3'"@click="addOrUpdateHandle()">查看审批流</el-button>
          <el-button type="primary" @click="submitForm" :disabled="notChange">保 存</el-button>
          <el-button v-if="cancelButton === true" @click="cancel">取 消</el-button>
          <el-button v-if="cancelButton === false" @click="homePage">取消</el-button>
      </div>

      <!-- 添加或修改财务数据主对话框 -->
      <el-dialog
        :close-on-click-modal="false"
        width="70%"
        :title="title"
        :visible.sync="innerVisible"
        append-to-body
      >
        <el-form
          :model="TWareHouseFees"
          ref="feeListRules"
          :rules="feeListRules"
          label-width="80px"
          :inline="true"
        >

          <el-form-item
            label="货权方"
            prop="fCorpid"
          >
            <el-select
              v-model="TWareHouseFees.fCorpid"
              filterable
              remote
              clearable
              size="small"
              style="width: 200px"
              @keyup.enter.native="handleQuery"
              :remote-method="corpsRemoteMethod"
              placeholder="请输入客户名称"
            >
              <el-option
                v-for="(dict, index) in fMblnoOptions"
                :key="index.fId"
                :label="dict.fName"
                :value="dict.fId"
              ></el-option>
            </el-select>
          </el-form-item>

          <el-form-item label="结算单位" prop="fToCorpid">
            <el-select
              v-model="TWareHouseFees.fToCorpid"
              placeholder="请选择结算单位"
              :disabled="doNot"
              filterable
              remote
              clearable
              style="width: 200px"
              size="small"
              @keyup.enter.native="handleQuery"
              :remote-method="corpsRemoteMethod"
            >
              <el-option
                v-for="(dict, index) in fMblnoOptions"
                :key="index.fId"
                :label="dict.fName"
                :value="dict.fId"
              ></el-option>
            </el-select>
          </el-form-item>

          <el-form-item label="提单号" prop="fMblno">
            <el-input
              clearable
              v-model="TWareHouseFees.fMblno"
              placeholder="请输入提单号"
              style="width: 200px"
              size="small"
            />
          </el-form-item>
          <el-form-item label="收付" prop="fDc">
            <el-col :span="8">
              <el-select v-model="TWareHouseFees.fDc" size="small" style="width: 200px">
                <el-option label="收" value="D" />
                <el-option label="付" value="C" />
              </el-select>
            </el-col>
          </el-form-item>
          <el-form-item label="是否对账" prop="fReconciliation">
            <el-col :span="8">
              <el-select
                v-model="TWareHouseFees.fReconciliation"
                size="small"
                style="width: 200px"
              >
                <el-option label="是" value="1" />
                <el-option label="否" value="0" />
              </el-select>
            </el-col>
          </el-form-item>

          <el-form-item label="费用名称" prop="fFeeid">
            <template>
              <el-select
                v-model="TWareHouseFees.fFeeid"
                filterable
                :disabled="browseStatus"
                remote
                size="small"
                style="width:200px"
                :remote-method="fWRemoteMethod"
                placeholder="费用名称"
                multiple
              >
                <el-option
                  v-for="item in fWbuOptions"
                  :key="item.fId"
                  :label="item.fName"
                  :value="item.fId"
                >
                </el-option>
              </el-select>
            </template>
          </el-form-item>
          <el-form-item label="仓储业务" prop="fFeeid">
            <el-select
              v-model="TWareHouseFees.fBilltype"
              size="small"
              style="width:200px"
              @change="changefBilltype"
              placeholder="请选择仓储业务"
            >
              <el-option label="入库" value="SJRK"></el-option>
              <el-option label="出库" value="SJCK"></el-option>
              <el-option label="货权转移" value="HQZY"></el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="作业类型" prop="fBusinessType">
            <el-select
              v-model="TWareHouseFees.fBusinessType"
              filterable
              :disabled="browseStatus"
              remote
              size="small"
              style="width:200px"
              placeholder="作业类型"
              multiple
            >
              <el-option
                v-for="dict in businessTypeOption"
                :key="dict.dictValue"
                :label="dict.dictLabel"
                :value="dict.dictValue"
              >
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="审核日期" prop="timeExamine">
            <el-date-picker
              style="width: 240px"
              size="small"
              v-model="TWareHouseFees.timeExamine"
              type="daterange"
              start-placeholder="开始日期"
              end-placeholder="结束日期"
              value-format="yyyy-MM-dd"
              :default-time="['00:00:00', '23:59:59']"
            >
            </el-date-picker>
          </el-form-item>
          <el-form-item label="对账日期" label-width="85px" prop="timeReconci" v-if="TWareHouseFees.fReconciliation == '1'">
            <el-date-picker
              v-model="TWareHouseFees.timeReconci"
              size="small"
              style="width: 240px"
              value-format="yyyy-MM-dd"
              type="daterange"
              start-placeholder="开始日期"
              end-placeholder="结束日期"
              :default-time="['00:00:00', '23:59:59']"
            ></el-date-picker>
          </el-form-item>
          <el-form-item>
            <!-- <el-button class="btnColor" type="info" size="mini">导入</el-button> -->
            <el-button
              type="cyan"
              size="mini"
              @click="searchFee"
              >搜索</el-button
            >
            <el-button
              type="info"
              size="mini"
              @click="resetQuery_s"
              >重置</el-button
            >
          </el-form-item>

          <el-table
            v-loading="loading"
            :data="feeList"
            ref="feeList"
            show-summary
            :summary-method="getSum"
            @selection-change="handleSelectionChange_s"
          >
            <el-table-column type="selection" width="55" align="center" />
            <!-- <el-table-column label="制单部门" align="center" prop="fId" /> -->
            <el-table-column label="行号" align="center" type="index"/>
            <el-table-column label="货权方" align="center" prop="fName" show-overflow-tooltip/>
            <el-table-column label="结算单位" align="center" prop="fFeesName" show-overflow-tooltip/>
            <!-- <el-table-column label="账单日期" align="center" prop="fAccbilldate"/> -->
            <el-table-column label="提单号" align="center" prop="fMblno" />
            <el-table-column label="品名" align="center" prop="fProductName" />
            <el-table-column label="业务日期" align="center" prop="fBsdate" />
            <el-table-column label="业务类型" align="center" prop="fBilltype">
              <template slot-scope="scope">
                <span v-if="scope.row.fBilltype == 'SJRK'">入库</span>
                <span v-else-if="scope.row.fBilltype == 'SJCK'">出库</span>
                <span v-else-if="scope.row.fBilltype == 'CKDB'">调拨</span>
                <span v-else-if="scope.row.fBilltype == 'HQZY'">货权转移</span>
                <span v-else-if="scope.row.fBilltype == 'JSCCF'">仓储费</span>
              </template>
            </el-table-column>
            <el-table-column label="作业类型" align="center" prop="fBusinessType" />
            <!--       <el-table-column label="单据类型" align="center" prop="fBilltype" />-->
            <el-table-column
              label="审核日期"
              align="center"
              prop="fReviewDate"
            />
            <el-table-column label="金额" align="center" prop="fAmtdr" />
            <el-table-column label="本次金额" align="center" prop="fAmt"  width="100">
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.fAmt"
                  placeholder="请输入本次金额"
                  clearable
                  size="small"
                  oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
                  @change="imgChangeI(scope.row)"
                />
              </template>
            </el-table-column>
            <el-table-column label="费用名称" align="center" prop="fFeeName" />
            <el-table-column label="备注" align="center" prop="fRemarks">
              <template slot-scope="scope">
              <el-input
                v-model="scope.row.fRemarks"
                placeholder="请输入备注"
                clearable
                size="small"
                width="100"
              />
            </template>
            </el-table-column>
          </el-table>

        </el-form>
        <div slot="footer" class="dialog-footer">
          <el-button type="primary" @click="confirmImport">确 定</el-button>
          <el-button @click="signOut">取 消</el-button>
        </div>
      </el-dialog>
    </el-dialog>

    <!-- 打印页面 -->
<!--    <el-dialog-->
<!--      :visible.sync="openPrint"-->
<!--      width="80%"-->
<!--      append-to-body-->
<!--      :close-on-click-modal="false"-->
<!--      title="对账单"-->
<!--    >-->
<!--      <el-table-->
<!--        ref="table"-->
<!--        id="print_area2"-->
<!--        v-loading="loading"-->
<!--        :data="printObject"-->
<!--        @selection-change="handleSelectionChange_s">-->

<!--        <el-table-column label="行号" align="center" type="index" width="70"/>-->
<!--        <el-table-column label="提单号" align="center" prop="fMblno" />-->
<!--        <el-table-column label="业务日期" align="center" prop="fBsdate">-->
<!--          <template slot-scope="scope">-->
<!--            <span>{{scope.row.fBsdate.slice(0,10)}}</span>-->
<!--          </template>-->
<!--        </el-table-column>-->
<!--        <el-table-column label="费用名称" align="center" prop="fFeeName" />-->
<!--        <el-table-column label="收/付" align="center" prop="fSrcdc">-->
<!--          <template slot-scope="scope">-->
<!--            <span v-if="scope.row.fSrcdc == 'D'">收</span>-->
<!--            <span v-else-if="scope.row.fSrcdc == 'C'">付</span>-->
<!--          </template>-->
<!--        </el-table-column>-->
<!--        <el-table-column label="金额" align="center" prop="fAmtdr" />-->
<!--        <el-table-column label="本次金额" align="center" prop="fAmt"/>-->
<!--        <el-table-column label="业务类型" align="center" prop="fBilltype">-->
<!--          <template slot-scope="scope">-->
<!--            <span v-if="scope.row.fBilltype == 'SJRK'">入库</span>-->
<!--            <span v-else-if="scope.row.fBilltype == 'SJCK'">出库</span>-->
<!--            <span v-else-if="scope.row.fBilltype == 'CKDB'">调拨</span>-->
<!--            <span v-else-if="scope.row.fBilltype == 'HQZY'">货权转移</span>-->
<!--            <span v-else>{{scope.row.fBilltype}}</span>-->
<!--          </template>-->
<!--        </el-table-column>-->
<!--      </el-table>-->
<!--      <span slot="footer" class="dialog-footer">-->
<!--        <el-button type="primary" style="marginTop:10px"  @click="printSomething">打印</el-button>-->
<!--        <el-button @click="openPrint = false">取消</el-button>-->
<!--      </span>-->
<!--    </el-dialog>-->
  </div>
</template>

<script>
import { RevocationApproval, backFee, detailFee, Cfee, listFee, getFee, delFee, addFee, updateFee, exportFee, importFee,exportWarehousebillsitems} from "@/api/finance/contrast";
import { listCorps } from '@/api/basicdata/corps'
import { listFees } from '@/api/basicdata/fees'
import AddOrUpdate from '@/views/viewApproval'
import { queryUserVal } from '@/api/warehouseBusiness/agreement'
import moment from 'moment'
import print from "print-js"
import ApprovalComments from '@/views/startApproval'
import Global from '@/layout/components/global'
export default {
  name: "Fee",

  data() {
    return {
      //控制结算单位是否可操作
      doNot:false,
      jFeetunitOptions:[],
      // 总条数
      total: 0,
      totAL:0,
      Ttime:0,
      colseButton:true,
      approval:[],
      disappear:false,
      addIndex:[],
      addOrUpdateVisible: false,
      addOrUpdateVisib:false,
      contrastId:210,
      // 审批状态
      approve:false,
      // 打印表
      printObject:[],
      //登陆人
      Lander:'',
      openPrint:false,
      statrGo:true,
      state_s: true,
      notChange:false,
      browseStatus:false,
      options:'',
      dateRange:"",
      // 遮罩层
      loading: true,
      fAccbilldate: '',
      // 选中数组
      ids: [],
      // 非单个禁用
      single: true,
      // 非多个禁用
      multiple: true,
      // 显示搜索条件
      showSearch: true,
      // 财务数据主表格数据
      feeList: [],
      // 客户(客户数据)
      fMblnoOptions: [],
      fFeeunitidOptions: [],
      fWbuOptions: [],
      KHblnoOptions: [],
      //打开内部弹窗
      innerVisible: false,
      selection: '',
      // 弹出层标题
      title: "",
      // 操作人
      Operator:'',
      // 是否显示弹出层
      open: false,
      dialogVisible: false,
      // 财务对账表格
      DzfeeList: [],
      // 财务主页面表格
      contrastList: [],
      empty:[],
      nothing:[],
      Fee:[],
      //导入从表传主表
      pass:{
        fAmtdr:'',    //应收合计
        fAmtcr:'',    //应付合计
        fMblno:'',    //提单号
        fName:'',      //货权方
        fFeesName:'',   //结算单位
        fCorpid:''     //结算单位ID
      },
      hide:false,
      cancelButton:true,
      businessTypeOption:[],
      // 传值对象
      TWareHouseFees:{
        fCorpid:'',
        fToCorpid:'',
        fMblno:'',
        fStatementNo:'',
        fFeeid :'',
        timeExamine:'',
        timeInterval:'',
        fDc:'D',
        fReconciliation:'0',
        timeReconci:'',
        fBusinessType:'',
        fBilltype:'SJRK'
      },
      // 查询参数
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        fBillno: null,
        fCtrlcorpid: null,
        fCorpid: null,
        tMblno: null,
        fAmtdr: null,
        fAmtcr: null,
        fId:null,
        fBilltype: null,
        fBillstatus: null,
        fRemarks: null,
        fAccbilldate: null,
        fDeptid: null,
        createBy: null,
        timeReconci: null
      },
      // 主表查询参数
      tablefilter: {
        pageNum: 1,
        pageSize: 10,
        fBillno: null,
        fCtrlcorpid: null,
        fId:null,
        fCorpid: null,
        tMblno: null,
        fAmtdr: null,
        fAmtcr: null,
        fBilltype: null,
        fBillstatus: null,
        fRemarks: null,
        fAccbilldate: null,
        fDeptid: null
      },
      // 表单参数
      form: {},
      // 表单校验
      ruless:{
        fCtrlcorpid: [
          { required: true, message: ' ', trigger: 'blur' }
        ],
        fCorpid: [
          { required: true, message: ' ', trigger: 'blur' }
        ],
        fAccbilldate: [
          { required: true, message: ' ', trigger: 'blur' }
        ]
      },
      feeListRules: {
        fDc: [
          { required:true,message: ' ', trigger:'blur' }
        ],
        fToCorpid: [
          { required:true,message:' ', trigger:'blur'}
        ],
        fReconciliation: [
          { required:true,message:' ', trigger:'blur'}
        ],
        timeExamine: [
          { required: true, message: ' ', trigger: 'blur' }
        ]
      }
    };
  },
  components: {
    AddOrUpdate,
    ApprovalComments
  },
  created() {
    this.getList()
    this.register()
    this.getDicts("data_unitfees").then((response) => {
      this.jFeetunitOptions = response.data;
    });
    this.getDicts("st_in_type").then((response) => {
      this.businessTypeOption = response.data;
    });
  },
  activated(){
    this.Jump()
  },
  methods: {
    //对账页面合计
    listTotal(param){
      const { columns, data } = param
      const sums = []
      columns.forEach((column, index) => {
        if (index === 0) {
          sums[index] = '合计'
        } else if (index ===7  || index ===8 ) {
          const values = data.map(item => Number(item[column.property]))
          if (!values.every(value => isNaN(value))) {
            sums[index] = values.reduce((prev, curr) => {
              const value = Number(curr)
              if (!isNaN(value)) {
                return prev + curr
              } else {
                return prev
              }
            }, 0)
          }
        }
      })
      return sums
    },
    //财务主取消
    signOut(){
      if(this.DzfeeList.length == 0){
        this.doNot = false
      }else{
        this.doNot = true
      }
      this.innerVisible = false
      this.feeList = []
    },
    // 审批跳转
    Jump(){
      this.approval = this.$route.query.data
      if(this.approval){
        this.colseButton = false
        this.approval = JSON.parse(this.approval)
        this.hide = false
        this.doNot = true
        this.notChange = true
        this.approve = true
        this.disappear = true
        this.cancelButton = false
        this.reset()
        this.pass = {
          fAmtdr: '',    //应收合计
          fAmtcr: '',    //应付合计
          fMblno: '',    //提单号
          fName: '',      //货权方
          fFeesName: '',   //结算单位
          fCorpid: ''     //结算单位ID
        }
        getFee(this.approval.billId).then(response => {
          this.Operator = response.data.tFee.createBy
          this.DzfeeList = response.data.feeDoList
          this.fWbuOptions = response.data.feesList
          this.queryParams = response.data.tFee
          this.fWbuOptions = response.data.feesList
          this.fMblnoOptions = response.data.corps
          this.open = true;
          this.title = "修改财务数据主"
        })
      }
    },
    homepaGe(){
      let view = {
        fullPath: "/finance/contrast",
        hash: "",
        matched: Array(2),
        meta: Object,
        name: "Contrast",
        params: Object,
        path: "/finance/contrast",
        query: Object,
        title: "对账"
      }
      this.$router.push({ path: '/index'})
      this.$store.dispatch('tagsView/delView', view).then(({ visitedViews }) => {
        if (this.isActive(view)) {
          this.toLastView(visitedViews, view)
        }
      })
      Global.$emit("removeCache", "closeSelectedTag", view);
    },
    homePage() {
      this.open = false
      let view = {
        fullPath: "/finance/contrast",
        hash: "",
        matched: Array(2),
        meta: Object,
        name: "Contrast",
        params: Object,
        path: "/finance/contrast",
        query: Object,
        title: "对账"
      }
      this.$router.push({ path: '/index' })
      this.$store.dispatch('tagsView/delView', view).then(({ visitedViews }) => {
        if (this.isActive(view)) {
          this.toLastView(visitedViews, view)
        }
      })
      Global.$emit("removeCache", "closeSelectedTag", view);
    },
    // 撤销审批
    backApproval(){
      let data = {
        id:this.queryParams.fId,
        actId:this.contrastId,
        billId:this.queryParams.fId
      }
      RevocationApproval(data).then(response => {
        this.msgSuccess("撤销审批成功")
        this.disappear = true
        this.open = false
        this.getList()
      })
    },
    returnData(){
      this.addOrUpdateVisib = false
      this.open = false
      this.homepaGe()
    },
    getDataList(){
    this.addOrUpdateVisible = false
  },
    // 审批按钮
    goApproval(){
      this.addOrUpdateVisib = true
      this.$nextTick(() => {
        this.$refs.ApprovalComments.init(this.queryParams.fId,this.contrastId)
      })
    },
    // 查看审批流
    addOrUpdateHandle(){
      this.addOrUpdateVisible = true
      this.addOrUpdateVisib = false
      let id = '448'
      let actId = '110'
      this.$nextTick(() => {
        this.$refs.addOrUpdate.init(this.queryParams.fId,this.contrastId)
      })
    },
    // 撤销对账
    backrRconciliation(){
        this.queryParams.fBillstatus = '1'
        let formDate = new window.FormData()
        formDate.append('tFee',JSON.stringify(this.queryParams))
        formDate.append("tFeeDo", JSON.stringify(this.DzfeeList))
        backFee(formDate).then(response=>{
          this.msgSuccess("撤回成功")
          this.open = false
          this.reset()
          this.getList()
        })
    },

    // 打印功能
    printing() {
      if(this.DzfeeList.length !== 0){
        this.openPrint = true
        this.printObject = this.DzfeeList
      }else {
        this.$message.error('无数据，请检查是否有数据');
      }
    },
    // 确认打印
    printSomething() {
      // 此处的style即为打印时的样式
      const style ='table tr td,th { border-collapse: collapse;padding:15px;border:.5px #000 solid;text-align:center;}'
        // "@media print {} }";
      print({
        printable: "print_area2",
        type: "html",
        header:"对账表",
        headerStyle: 'text-align:center;color:#000;width:100%;',
        style: style,// 亦可使用引入的外部css;
        scanStyles: false,
      });
    },
    // 确认对账按钮功能
    confirmReconciliation(){
      this.$refs['ruless'].validate(valid => {
        if(valid){
          if(this.DzfeeList.length){
            // this.queryParams.fBillstatus = '4'
            let formDate = new window.FormData()
            formDate.append('tFee',JSON.stringify(this.queryParams))
            formDate.append("tFeeDo", JSON.stringify(this.DzfeeList))

            Cfee(formDate).then(response=>{
            this.open = false
            this.msgSuccess("操作成功")
            this.getList()
          })
        }else{
            this.$message.error('表单为空不允许操作');
          }
        }
      })
    },
    //导出
    handleExportItems() {
      const fIds = this.queryParams.fId
      if(fIds !== null){
        this.$confirm("是否确认导出所有计费物资明细数据?", "警告", {
          confirmButtonText: "确定",
          cancelButtonText: "取消",
          type: "warning",
        })
          .then(function () {
            return exportWarehousebillsitems(fIds);
          })
          .then((response) => {
            this.download(response.msg);
          });
      }else{
        this.$message("请先保存")
      }

    },
    // 对账按钮功能
    reconciliation(){
      this.queryParameter = {
        fToCorpid: this.queryParams.fCorpid,
      }
      this.innerVisible = true
      this.feeList = []
      this.TWareHouseFees = {
        fCorpid:'',
        fToCorpid:this.queryParams.fCorpid,
        fMblno:'',
        fStatementNo:'',
        fFeeid :'',
        timeExamine:'',
        timeInterval:'',
        fSrcdc:'',
        fReconciliation:'0',
        timeReconci: '',
        fDc:'D',
        fBilltype:''
      }
      if(this.queryParams.fCorpid){
        this.doNot = true
      }
    },
    // 默认录入人
    register() {
      queryUserVal().then((response)=>{
        this.Lander = response.user.userName
      })
    },
    // 合计
    getSum(param){
      const {columns,data} = param;
      const sums = [];
      columns.forEach((column, index) => {
        sums[0] = '合计'
        sums[10] = this.totAL.toFixed(2)
        sums[9] = this.Ttime.toFixed(2)
      });
      return sums;
    },
    // 导入多选框
    handleSelectionChange_s(selection) {
      this.totAL = 0
      this.Ttime = 0
      this.selection = selection
      if(this.selection.length == 0){
        for (let item in this.feeList){
          this.totAL += Number(this.feeList[item].fAmt)
          this.Ttime += Number(this.feeList[item].fAmtdr)
        }
      }else{
        for (let index in selection){
          this.totAL += Number(selection[index].fAmt)
          this.Ttime += Number(selection[index].fAmtdr)
        }
      }
    },
    // 多选框选中数据
    handleSelectionChange(selection) {
      this.totAL = 0
      this.ids = selection.map(item => item.fId)
      this.single = selection.length !== 1
      this.multiple = !selection.length
    },
       // 金额筛选
    imgChangeI(row){
      if (row.fAmt && Number(row.fAmt) > Number(row.fAmtdr)){
        this.$set(row, 'fAmt', row.fAmtdr)
        this.state_s = true
      }
      if (this.selection.length !== 0){
        this.totAL = 0
        this.Ttime = 0
        for (let item in this.selection){
          this.totAL += Number(this.selection[item].fAmt)
          this.Ttime += Number(this.selection[item].fAmtdr)
        }
      }else {
        this.totAL = 0
        this.Ttime = 0
        for (let item in this.feeList){
          this.totAL += Number(this.feeList[item].fAmt)
          this.Ttime += Number(this.feeList[item].fAmtdr)
        }
      }
    },

    /* 添加财务数据主 导入*/
    confirmImport(){
      this.doNot = true
      this.hide = true
      this.pass.fAmtdr = 0
      this.pass.fAmtcr = 0
      for (let item in this.selection) {
        this.pass.fAmtcr = Number(this.pass.fAmtcr)
        this.pass.fAmtdr = Number(this.pass.fAmtdr)
        this.pass.fAmtcr += Number(this.selection[item].fAmt)
        this.pass.fAmtdr += Number(this.selection[item].fAmtdr.toFixed(2))
      }
      this.pass.fAmtcr.toFixed(2)
      if(this.state_s == true) {
        if (this.selection.length == '0') {
          this.$message.error('未选择导入行');
        } else {
          for (let item in this.selection){
            this.empty.push(this.selection[item].fMblno)
            this.nothing.push(this.selection[item].fName)
            if(this.DzfeeList.length === 0) {
                this.DzfeeList = this.DzfeeList.concat(this.selection)

              //去重提单号
              this.empty = new Set(this.empty)
              this.empty = Array.from(this.empty)
              //去重货权方
              this.nothing = new Set(this.nothing)
              this.nothing = Array.from(this.nothing)
              if(this.empty.length <= 1){
                this.pass.fMblno = this.empty[0]
              }else {
                this.pass.fMblno = this.empty[0] + "..."
              }
              if (this.nothing.length <= 1){
                this.pass.fName = this.nothing[0]
              }else {
                this.pass.fName = this.nothing[0] + "..."
              }
              // this.DzfeeList = this.DzfeeList.concat(this.Fee)
              this.queryParams.tMblno = this.pass.fMblno //提单号
              this.queryParams.fCorpid = this.TWareHouseFees.fToCorpid
              this.queryParams.fCtrlcorpid = this.pass.fName
              this.queryParams.fAmtcr = this.pass.fAmtcr
              this.queryParams.fAmtdr = this.pass.fAmtdr
              this.innerVisible = false
              this.feeList = []
              //  this.feeList = this.DzfeeList
              this.TWareHouseFees = {
                fCorpid:'',
                fToCorpid:'',
                fMblno:'',
                fStatementNo:'',
                fFeeid :'',
                timeExamine:'',
                timeInterval:'',
                fSrcdc:'',
                fReconciliation:'0',
                timeReconci: '',
                fDc:'D'
              }
              return
            }else{
              for(let li in this.DzfeeList){
                if(this.selection[item].fSrcid !== this.DzfeeList[li].fSrcid){
                  this.Fee = this.DzfeeList.concat(this.selection)
                  console.log(this.Fee)
                  let result = [];
                  let obj = {};
                  for(let lis in this.Fee){
                    if(!obj[this.Fee[lis].fSrcid]){
                      result.push(this.Fee[lis]);
                      obj[this.Fee[lis].fSrcid] = true;
                    }
                  }
                  //去重提单号
                  this.empty = new Set(this.empty)
                  this.empty = Array.from(this.empty)
                  //去重货权方
                  this.nothing = new Set(this.nothing)
                  this.nothing = Array.from(this.nothing)
                  if(this.empty.length <= 1){
                    this.pass.fMblno = this.empty[0]
                  }else {
                    this.pass.fMblno = this.empty[0] + "..."
                  }
                  if (this.nothing.length <= 1){
                    this.pass.fName = this.nothing[0]
                  }else {
                    this.pass.fName = this.nothing[0] + "..."
                  }
                  // this.DzfeeList = this.DzfeeList.concat(this.Fee)
                  this.queryParams.tMblno = this.pass.fMblno //提单号
                  this.queryParams.fCorpid = this.TWareHouseFees.fToCorpid
                  this.queryParams.fCtrlcorpid = this.pass.fName
                  this.queryParams.fAmtcr = this.pass.fAmtcr
                  this.queryParams.fAmtdr = this.pass.fAmtdr
                  this.innerVisible = false
                  this.feeList = []
                  //  this.feeList = this.DzfeeList
                  this.TWareHouseFees = {
                    fCorpid:'',
                    fToCorpid:'',
                    fMblno:'',
                    fStatementNo:'',
                    fFeeid :'',
                    timeExamine:'',
                    timeInterval:'',
                    fSrcdc:'',
                    fReconciliation:'0',
                    timeReconci: '',
                    fDc:'D'
                  }
                  this.DzfeeList = result
                }else{
                  let i = Number(item)+1
                  this.$message.error('行号为'+ i +'重复')

                }
              }
            }
          }
        }
      }else if(this.state_s == false){
        this.$message.error('本次金额不能大于原定金额');
      }
    },
    // imgChangeI(fAmtdr,fAmt){
    //   if (fAmt <= fAmtdr){
    //     this.state_s = true
    //   }else if(fAmt > fAmtdr){
    //     this.$message.error('本次金额不能大于原定金额');
    //     this.state_s = false
    //   }
    // },
    // 导入搜索
      searchFee() {
      this.feeList = []
      this.$refs['feeListRules'].validate(valid => {
        if (valid){
          importFee(this.TWareHouseFees).then(response =>{
          this.feeList = response.rows
            if(this.feeList.length !== 0){
              this.$message.success("查询成功")
              this.totAL = 0
              this.Ttime = 0
              for (let item in this.feeList){
                this.totAL += Number(this.feeList[item].fAmt)
                this.Ttime += Number(this.feeList[item].fAmtdr)
              }
            }else{
              this.$message.error("暂无数据")
            }
         })
        }
      })
    },

     /** 打开导入表弹窗 */
    openImportTable() {
      this.$refs.import.show();
    },
    /** 查询财务数据主列表 */
    getList() {
      this.loading = true;
       this.getDicts("approval_process").then(response => {
        // this.feeList = response.rows;
        this.options = response.data
      });
       console.log(this.tablefilter)
      listFee(this.tablefilter).then(response => {
        this.contrastList = response.rows
        this.total = response.total
        this.loading = false
      })
    },

    // 取消按钮
    cancel() {
      this.open = false;
      // this.feeList = []
      this.reset();
      this.getList()
    },
    // 表单重置
    reset() {
      this.form = {
        fId: null,
        fBillno: null,
        fCtrlcorpid: null,
        fCorpid: null,
        tMblno: null,
        fAmtdr: null,
        fAmtcr: null,
        fBilltype: null,
        fBillstatus: "0",
        fRemarks: null,
        fAccbilldate: null,
        delFlag: null,
        createBy: null,
        fDeptid: null,
        createTime: null,
        updateBy: null,
        updateTime: null
      };
      this.resetForm("form");
    },
    /** 搜索按钮操作 */
    handleQuery() {
      this.queryParams.pageNum = 1;
      this.getList();
      // this.searchFee()
    },
    changefBilltype(){
      this.businessTypeOption = []
      if (this.TWareHouseFees.fBilltype == 'SJRK'){
        this.getDicts("st_in_type").then((response) => {
          this.businessTypeOption = response.data;
        });
      }else if (this.TWareHouseFees.fBilltype == 'SJCK'){
        this.getDicts("st_out_type").then((response) => {
          this.businessTypeOption = response.data;
        });
      }else if(this.TWareHouseFees.fBilltype == 'HQZY'){
        this.getDicts("st_trans_type").then((response) => {
          this.businessTypeOption = response.data;
        });
      }
    },
    /** 重置按钮操作 */
    resetQuery() {
      // this.resetForm("queryParams_s");
      this.tablefilter = {
        pageNum: 1,
        pageSize: 10,
        fBillno: null,
        fCtrlcorpid: null,
        fCorpid: null,
        timeInterval:null,
      }

      this.handleQuery();
      this.TWareHouseFees={
        fCorpid:'',
        fToCorpid:'',
        fMblno:'',
        fStatementNo:'',
        fFeeid :'',
        timeExamine:'',
        timeInterval:'',
        fSrcdc:'',
        fReconciliation:'0'
      }
    },
    //导入重置按钮
    resetQuery_s() {
      this.TWareHouseFees = {
        fCorpid: '',
        fToCorpid: '',
        fMblno: '',
        fStatementNo: '',
        fFeeid: '',
        timeExamine: '',
        timeInterval: '',
        fDc:'D',
        fReconciliation:'0'
      }
    },
    // 多选框选中数据
    // handleSelectionChange(selection) {
    //   this.ids = selection.map(item => item.fId)
    //   this.single = selection.length!==1
    //   this.multiple = !selection.length
    // },

    // handleSelectionChanGe(selection){
    //   if(selection.length > 0) {
    //     this.statrGo = false
    //   }else{
    //     this.statrGo = true
    //   }
    // },
    /** 新增按钮操作 */
    handleAdd() {
      queryUserVal().then((response) => {
        this.queryParams.createBy = response.user.userName
      })
      this.doNot = false
      this.notChange = false
      this.hide = true
      this.reset()
      this.DzfeeList = []
      this.pass = {
        fAmtdr: '',    //应收合计
        fAmtcr: '',    //应付合计
        fMblno: '',    //提单号
        fName: '',      //货权方
        fFeesName: '',   //结算单位
        fCorpid: ''     //结算单位ID
      }
      this.open = true
      this.title = '添加财务数据主'
      this.queryParams = {
        pageNum: 1,
        pageSize: 10,
        fBillno: null,
        fCtrlcorpid: null,
        fCorpid: null,
        tMblno: null,
        fAmtdr: null,
        fId: null,
        fAmtcr: null,
        fBilltype: null,
        fBillstatus: null,
        fRemarks: null,
        fAccbilldate: null,
        fDeptid: null,
        createBy: null,
        timeReconci: null
      }
    },
    // 查看按钮
    check(row, res) {
      this.doNot = true
      this.notChange = true
      getFee(row.fId).then(response => {
        this.Operator = response.data.tFee.createBy
        this.DzfeeList = response.data.feeDoList
        this.fWbuOptions = response.data.feesList
        this.queryParams = response.data.tFee
        this.fWbuOptions = response.data.feesList
        this.fMblnoOptions = response.data.corps
        this.open = true
        this.disappear = true
        this.title = '修改财务数据主'
        if (res == 1) {
          this.notChange = true
          if (this.Operator == this.Lander) {
            this.disappear = false
            this.reset()
            this.pass = {
              fAmtdr: '',    //应收合计
              fAmtcr: '',    //应付合计
              fMblno: '',    //提单号
              fName: '',      //货权方
              fFeesName: '',   //结算单位
              fCorpid: ''     //结算单位ID
            }
            const fId = row.fId || this.ids
            getFee(fId).then(response => {
              this.DzfeeList = response.data.feeDoList
              this.fWbuOptions = response.data.feesList
              this.queryParams = response.data.tFee
              this.fWbuOptions = response.data.feesList
              this.fMblnoOptions = response.data.corps
              this.open = true
            })
          } else {
            this.notChange = true
          }
        } else {
          this.notChange = true
          this.reset()
          this.pass = {
            fAmtdr: '',    //应收合计
            fAmtcr: '',    //应付合计
            fMblno: '',    //提单号
            fName: '',      //货权方
            fFeesName: '',   //结算单位
            fCorpid: ''     //结算单位ID
          }
          const fId = row.fId || this.ids
          getFee(fId).then(response => {
            this.DzfeeList = response.data.feeDoList
            this.fWbuOptions = response.data.feesList
            this.queryParams = response.data.tFee
            this.fWbuOptions = response.data.feesList
            this.fMblnoOptions = response.data.corps
            this.open = true
            this.open = true
          })
        }
      })
    },
    /** 修改按钮操作 */
    handleUpdate(row) {
      this.notChange = false
      this.hide = false
      this.reset();
      this.pass={
        fAmtdr:'',    //应收合计
        fAmtcr:'',    //应付合计
        fMblno:'',    //提单号
        fName:'',      //货权方
        fFeesName:'',   //结算单位
        fCorpid:''     //结算单位ID
      }
      const fId = row.fId || this.ids
      getFee(fId).then(response => {
        this.Operator = response.data.tFee.createBy
        this.DzfeeList = response.data.feeDoList
        this.fWbuOptions = response.data.feesList
        this.queryParams = response.data.tFee
        this.fMblnoOptions = response.data.corps
        this.open = true;
        this.title = "修改财务数据主";
        if(this.DzfeeList){
          this.doNot = true
        }else{
          this.doNot = false
        }
      });
    },
    /** 远程模糊查询用户 */
    corpsRemoteMethod(name) {
      if (name == null || name === "") {
        return false;
      }
      let queryParams = { pageNum: 1, pageSize: 10, fName: name, type: 1 };
      listCorps(queryParams).then((response) => {
        this.fMblnoOptions = response.rows;
        this.KHblnoOptions = response.rows;
      });
    },
    /** 提交按钮 */
    submitForm() {
      this.$refs['ruless'].validate(valid => {
        if (valid) {
          if (!this.queryParams.fId) {
            this.queryParams.fBillstatus = '1'
            let formData = new window.FormData()
            formData.append('tFee', JSON.stringify(this.queryParams))
            formData.append('tFeeDo', JSON.stringify(this.DzfeeList))
            updateFee(formData).then(response => {
              console.log(response)
              this.queryParams = response.data.tFee
              this.msgSuccess('新增成功')
              // this.DzfeeList = []
              // this.open = false;
              this.getList()
            })
          } else {
            this.pass.fAmtcr = 0
            this.pass.fAmtdr = 0

            for (let item in this.DzfeeList) {
              this.pass.fAmtcr += Number(this.DzfeeList[item].fAmt)
              this.pass.fAmtdr += Number(this.DzfeeList[item].fAmtdr)
            }
            this.queryParams.fAmtcr = Number(this.pass.fAmtcr.toFixed(2))
            this.queryParams.fAmtdr = Number(this.pass.fAmtdr.toFixed(2))
            this.pass.fAmtcr.toFixed(2)
            this.queryParams.fBillstatus = '1'
            let formData = new window.FormData()
            formData.append('tFee', JSON.stringify(this.queryParams))
            formData.append('tFeeDo', JSON.stringify(this.DzfeeList))
            addFee(formData).then(response => {
              this.msgSuccess('修改成功')
              // this.DzfeeList = []
              // this.open = false;
              this.getList()
            })
          }
        }
      })
    },
    /** 删除按钮操作 */
    handleDelete(row) {
      const fIds = row.fId || this.ids
      let tips = ''
      detailFee(fIds).then(res => {
        switch (res.msg) {
          case '0': {
            this.$message.error('当前数据已被其他操作员操作，请刷新页面')
            break
          }
          case '1': {
            tips = '当前主表有数据，从表无数据，确认是否删除？'
            this.delete_s(fIds, tips)
            break
          }
          case '2': {
            tips = '当前主表有数据，从表有数据，确认是否删除？'
            this.delete_s(fIds, tips)
            break
          }
          default: {
            return this.$message.error('未知错误，无状态')
          }
        }
      })
    },
    delete_s(fIds, tips) {
      this.$confirm(tips, '警告', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(function() {
        return delFee(fIds)
      }).then(() => {
        this.getList()
        this.msgSuccess('删除成功')
      })
    },
    // 远程模糊查询费用名称
    fWRemoteMethod(name) {
      this.fWbuOptions = []
      if (name == null || name === "") {
        return false;
      }
      let queryParams = { pageNum: 1, pageSize: 10, fName: name };
      listFees(queryParams).then((response) => {
       this.fWbuOptions = response.rows
      });
    },

    /** 导出按钮操作 */
    handleExport() {
      const queryParams = this.queryParams;
      this.$confirm('是否确认导出所有财务数据主数据项?', "警告", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      }).then(function() {
        return exportFee(queryParams);
      }).then(response => {
        this.download(response.msg);
      })
    },
    exportData(){
      // 在这里判断筛选DzfeeList={}
      const DzfeeList = this.DzfeeList
      this.$confirm('是否确认导出所有财务数据主数据项?', "警告", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      }).then(function(){
        return
      }).then(function(){
        this.download(response.msg);
      })
    },
    //清空一行
    deleteRow(index, rows) {
      this.queryParams.fAmtdr = 0
      this.queryParams.fAmtcr = 0
      rows.splice(index, 1)
      for(let item in this.DzfeeList) {
        this.queryParams.fAmtcr = this.DzfeeList[item].fAmt
        this.queryParams.fAmtdr = this.DzfeeList[item].fAmtdr
      }
      if(this.DzfeeList == 0){
        console.log("111")
        this.doNot = false
      }else{
        this.doNot = true
      }
    },
  },
};
</script>
<style lang="scss" scoped>

</style>
