<template>
  <div id="unit" class="flex-row">
    <div class="basic-main" @keyup.enter="search">
      <div class="flex" v-if="!show">
        <criteria-paged :model="model" v-ref:paged>
          <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
            <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
              <div class="row">
                <div class="col-sm-2 form-group">

                  <label for="startDate" class="font_normal_body color-red" style="color: red;"
                         title="归属日期">开始日期</label>
                  <datepicker id="startDate" placeholder="开始日期" style="width:60%"
                              v-model="model.startDate"
                              :value.sync="model.startDate"
                              :format="'yyyy-MM-dd HH:mm:ss'"
                              :show-reset-button="true"
                  >
                  </datepicker>
                </div>
                <div class="col-sm-2 form-group">
                  <label for="endDate" class="font_normal_body color-red" style="color: red;"
                         title="归属日期">结束日期</label>
                  <datepicker id="endDate" placeholder="结束日期" style="width:60%"
                              v-model="model.endDate"
                              :value.sync="model.endDate"
                              :format="'yyyy-MM-dd HH:mm:ss'"
                              :show-reset-button="true"
                  >
                  </datepicker>
                </div>
                <div class="col-sm-2 form-group">
                  <label class="font_normal_body">客户编号</label>
                  <input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
                         condition="f_userinfo_code = '{}' " placeholder="客户编号">
                </div>
                <div class="col-sm-2 form-group">
                  <label class="font_normal_body" title="旧客户编号">档案编号</label>
                  <input type="text" style="width:60%" class="input_search" v-model="model.f_olduserinfo_code"
                         condition="f_olduserinfo_code = '{}' " placeholder="档案编号">
                </div>

                <div class="span" style="float:right;">
                  <button class="button_search button_spacing" @click="search()">查询</button>
                  <button class="button_clear  button_spacing" @click="$parent.$parent.clear()">清空</button>

                  <export-excel :data="$parent.$parent.getCondition"
                                :field="$parent.$parent.getfield"
                                :footer="$parent.$parent.footer"
                                :header="$parent.$parent.other"
                                sqlurl="api/af-revenue/logic/openapi/exportfile"
                                sql-name="arrearsQuery"
                                template-name='用户欠费查询导出'
                                :choose-col="true"></export-excel>

                  <print-data :sum-field="$parent.$parent.getfield" :model="$parent.model"
                              :field="$parent.$parent.getfield"
                              :defaultfield="$parent.$parent.defaultfield"
                              titletable="用户欠费查询导出"
                              :sumsmodel="$parent.$parent.sumsmodel"></print-data>
                  <div style="float: right" class="button_spacing" :class="{'button_shrink_top':$parent.$parent.criteriaShow,
                  'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.hidden()"></div>

                </div>
              </div>

              <div class="row" v-show="$parent.$parent.criteriaShow">
                <res-select-group :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes"
                                  v-ref:sel></res-select-group>

                <div class="col-sm-2 form-group">
                  <label class="font_normal_body">客户名称</label>
                  <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
                         condition="f_user_name like '%{}%'" placeholder="客户名称">
                </div>
                <div class="col-sm-2 form-group">
                  <label class="font_normal_body">用户证号</label>
                  <input type="text" style="width:60%" class="input_search" v-model="model.f_book_no"
                         condition="f_book_no = '{}'" placeholder="用户证号">
                </div>
                <div class="col-sm-2 form-group">
                  <label class="font_normal_body">册内序号</label>
                  <input type="text" style="width:60%" class="input_search" v-model="model.f_meter_book_sort"
                         condition="f_meter_book_sort = '{}'" placeholder="册内序号">
                </div>
                <div class="col-sm-2 form-group">

                  <label for="inputstartDate" class="font_normal_body color-red" style="color: red;">抄表日期</label>
                  <datepicker id="inputstartDate" placeholder="开始日期" style="width:60%"
                              v-model="model.inputstartDate"
                              :value.sync="model.inputstartDate"
                              :format="'yyyy-MM-dd 00:00:00'"
                              :show-reset-button="true"
                  >
                  </datepicker>
                </div>
                <div class="col-sm-2 form-group">
                  <label for="inputendDate" class="font_normal_body color-red" style="color: red;">&nbsp;&nbsp;&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label>
                  <datepicker id="inputendDate" placeholder="结束日期" style="width:60%"
                              v-model="model.inputendDate"
                              :value.sync="model.inputendDate"
                              :format="'yyyy-MM-dd 23:59:59'"
                              :show-reset-button="true"
                  >
                  </datepicker>
                </div>


                <!--<div class="col-sm-2 form-group">-->
                <!--<label class="font_normal_body">收费编号</label>-->
                <!--<input type="text" style="width:60%" class="input_search" v-model="model.id"-->
                <!--condition="id = '{}'" placeholder="收费编号">-->
                <!--</div>-->
                <div class="col-sm-2 form-group">
                  <label class="font_normal_body">客户电话</label>
                  <input type="text" style="width:60%" class="input_search" v-model="model.f_user_phone"
                         condition="f_user_phone like '%{}%'" placeholder="客户电话">
                </div>
                <!--<div class="col-sm-2 form-group">-->
                <!--<label class="font_normal_body">身份证号</label>-->
                <!--<input type="text" style="width:60%" class="input_search" v-model="model.f_idnumber"-->
                <!--condition="f_idnumber like '%{}%'" placeholder="身份证号">-->
                <!--</div>-->
                <div class="col-sm-2 form-group">
                  <label class="font_normal_body">客户地址</label>
                  <input type="text" style="width:60%" class="input_search" v-model="model.f_address"
                         condition="f_address like '%{}%'" placeholder='客户地址'>
                </div>
                <div class="col-sm-2 form-group">
                  <label class="font_normal_body">&nbsp;&nbsp;&nbsp;小区&nbsp;&nbsp;&nbsp;</label>
                  <v-select :value.sync="model.f_residential_area"
                            class="select_list select"
                            enter-push
                            multiple
                            condition="f_residential_area in {}"
                            v-model="model.f_residential_area"
                            style="width: 60%"
                            :options='$parent.$parent.residentialArea' placeholder='选择小区'
                            close-on-select>

                  </v-select>
                </div>
                <div class="col-sm-2 form-group">
                  <label class="font_normal_body">缴费类型</label>
                  <v-select :value.sync="model.f_payment" multiple
                            v-model="model.f_payment"
                            :options='$parent.$parent.dypayment' placeholder='请选择'
                            condition="f_cost_type in {}"
                            close-on-select></v-select>
                </div>
                <!--<div class="col-sm-2 form-group">-->
                <!--<label class="font_normal_body" title="参数:付款方式查询">付款方式</label>-->
                <!--<v-select :value.sync="model.f_payment" multiple-->
                <!--v-model="model.f_payment"-->
                <!--:options='$parent.$parent.payment' placeholder='请选择'-->
                <!--condition="f_payment in {}"-->
                <!--close-on-select></v-select>-->
                <!--</div>-->
                <!--<div class="col-sm-2 form-group">-->
                <!--<label class="font_normal_body">收费类型</label>-->
                <!--&lt;!&ndash; <v-select :value.sync="model.f_type"-->
                <!--v-model="model.f_type"-->
                <!--:options='$parent.$parent.chargetype' placeholder='请选择'-->
                <!--condition="f_type = '{}'"-->
                <!--close-on-select></v-select>&ndash;&gt;-->
                <!--<v-select :value.sync="model.f_type" multiple-->
                <!--:options='$parent.$parent.chargetype' placeholder='请选择'-->
                <!--close-on-select clear-button-->
                <!--condition="f_type in {}"-->
                <!--v-model="model.f_type"></v-select>-->
                <!--</div>-->
                <div class="col-sm-2 form-group">
                  <label class="font_normal_body">客户类型</label>
                  <v-select :value.sync="model.f_user_type"
                            @change="$parent.$parent.userTypeChange()"
                            :options='$parent.$parent.usertypes' placeholder='请选择' v-model="model.f_user_type"
                            condition="f_user_type = '{}'"
                            close-on-select></v-select>
                </div>
                <div class="col-sm-2 form-group">
                  <label class="font_normal_body">气表类型</label>
                  <v-select :value.sync="model.f_meter_type" multiple
                            :options='$parent.$parent.metertypes' placeholder='请选择' v-model="model.f_meter_type"
                            condition="f_meter_type in {}"
                            close-on-select></v-select>
                </div>
                <div class="col-sm-2 form-group">
                  <label class="font_normal_body">用气性质</label>
                  <v-select :value.sync="model.f_gasproperties" v-model="model.f_gasproperties"
                            :options='$parent.$parent.gasproperties' placeholder='请选择'
                            condition="f_gasproperties = '{}'"
                            close-on-select></v-select>
                </div>
                <div class="col-sm-2 form-group">
                  <label class="font_normal_body">气价类型</label>
                  <v-select :value.sync="model.pricetype" v-model="model.pricetype"
                            placeholder='气价类型' :options="$parent.$parent.pricetypes"
                            close-on-select v-ref:type>
                  </v-select>
                </div>
                <div class="col-sm-2 form-group">
                  <label class="font_normal_body">气价名称</label>
                  <v-select :value.sync="model.f_price_name"
                            v-model="model.f_price_name"
                            :options="$parent.$parent.getPricenames"
                            condition="f_price_name = '{}'"
                            close-on-select></v-select>
                </div>
                <div class="col-sm-2 form-group">
                  <label class="font_normal_body" title="欠费气量大于">欠费气量</label>
                  <input type="text" style="width:60%" class="input_search" v-model="model.f_oughtamount"
                         condition="f_oughtamount > '{}'" placeholder="欠费气量大于">
                </div>
                <div class="col-sm-2 form-group">
                  <label class="font_normal_body" title="气费金额大于">气费金额</label>
                  <input type="text" style="width:60%" class="input_search" v-model="model.f_oughtfee_new"
                         condition="f_oughtfee_new > '{}'" placeholder="气费金额大于">
                </div>
                <div class="col-sm-2 form-group">
                  <label class="font_normal_body" title="欠费金额大于">欠费金额</label>
                  <input type="text" style="width:60%" class="input_search" v-model="model.f_oughtfee_all"
                         condition="f_oughtfee_all > '{}'" placeholder="欠费金额大于">
                </div>
                <div class="col-sm-2 form-group">
                  <label class="font_normal_body">欠费期数</label>
                  <input type="text" style="width:60%" class="input_search" v-model="model.c"
                         condition="c > '{}'" placeholder='欠费期数大于'>
                </div>
                <div class="col-sm-2 form-group">
                  <label class="font_normal_body">抄&nbsp;&nbsp;表&nbsp;员</label>
                  <v-select :value.sync="model.f_inputtor"
                            v-model="model.f_inputtor"
                            :options='$parent.$parent.inputtores' placeholder='请选择'
                            condition="f_inputtor = '{}'"
                            @change="$parent.$parent.inputtorchange"
                            close-on-select :search="false">
                  </v-select>
                </div>
                <div class="col-sm-2 form-group">
                  <label class="font_normal_body">抄&ensp;表&ensp;册</label>
                  <v-select :value.sync="model.f_meter_book" v-model="model.f_meter_book"
                            :options='$parent.$parent.meterbooks' placeholder='抄表册'
                            style="width:60%"
                            close-on-select
                            condition="f_meter_book_num = '{}'"></v-select>
                </div>
                <div class="col-sm-2 form-group">
                  <label class="font_normal_body">档案抄表员</label>
                  <v-select :value.sync="model.f_dainputtores"
                            v-model="model.f_dainputtores"
                            :options='$parent.$parent.dainputtores' placeholder='请选择'
                            condition="f_dainputtores = '{}'"
                            close-on-select>
                  </v-select>
                </div>
                <!--<div class="col-sm-2 form-group">-->
                <!--<label class="font_normal_body">气价类型</label>-->
                <!--<v-select :value.sync="model.pricetype" v-model="model.pricetype"-->
                <!--placeholder='气价类型' :options="$parent.$parent.pricetypes"-->
                <!--close-on-select v-ref:type>-->
                <!--</v-select>-->
                <!--</div>-->
                <!--<div class="col-sm-2 form-group">-->
                <!--<label class="font_normal_body">气价名称</label>-->
                <!--<v-select :value.sync="model.f_price_name"-->
                <!--v-model="model.f_price_name"-->
                <!--:options="$parent.$parent.getPricenames"-->
                <!--condition="f_price_name = '{}'"-->
                <!--close-on-select></v-select>-->
                <!--</div>-->
                <!--<div class="col-sm-2 form-group">-->
                <!--<label class="font_normal_body">&nbsp;&nbsp;&nbsp;表编号</label>-->
                <!--<input type="text" style="width:60%" class="input_search" v-model="model.f_user_id"-->
                <!--condition="f_user_id = '{}'" placeholder='表编号'>-->
                <!--</div>-->
              </div>
            </div>
          </criteria>

          <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
            <template partial='head'>
              <tr>
                <th>
                  <nobr>序号</nobr>
                </th>
                <th>
                  <nobr>客户编号</nobr>
                </th>
                <th>
                  <nobr>客户姓名</nobr>
                </th>
                <th>
                  <nobr>档案编号</nobr>
                </th>
                <th>
                  <nobr>用户证号</nobr>
                </th>
                <th>
                  <nobr>身份证号</nobr>
                </th>
                <th>
                  <nobr>册内序号</nobr>
                </th>
                <th>
                  <nobr>小区名称</nobr>
                </th>
                <th>
                  <nobr>地址</nobr>
                </th>
                <th>
                  <nobr>客户电话</nobr>
                </th>
                <th>
                  <nobr>表号</nobr>
                </th>
                <th>
                  <nobr>备用电话</nobr>
                </th>
                <th>
                  <nobr>气表类型</nobr>
                </th>

                <th>
                  <nobr>欠费期数</nobr>
                </th>
                <th>
                  <nobr>欠费区间</nobr>
                </th>
                <th>
                  <nobr>上期抄表底数</nobr>
                </th>
                <th>
                  <nobr>本期抄表底数</nobr>
                </th>
                <th>
                  <nobr>用气量</nobr>
                </th>
                <th>
                  <nobr>用气金额</nobr>
                </th>
                <!--                <th>-->
                <!--                  <nobr>缴费时间</nobr>-->
                <!--                </th>-->
                <th>
                  <nobr>已交金额</nobr>
                </th>
                <!--<th>-->
                <!--<nobr>回收率</nobr>-->
                <!--</th>-->
                <th>
                  <nobr>应交气费</nobr>
                </th>
                <th>
                  <nobr>违约金</nobr>
                </th>
                <th>
                  <nobr>附加费</nobr>
                </th>
                <!--                <th>-->
                <!--                  <nobr>上期余额</nobr>-->
                <!--                </th>-->
                <th>
                  <nobr>合计欠费</nobr>
                </th>
<!--                <th title="实际欠费=合计欠费-上期结余">-->
<!--                  <nobr>实际欠费</nobr>-->
<!--                </th>-->
                <th>
                  <nobr>抄表员</nobr>
                </th>
                <th>
                  <nobr>抄表册</nobr>
                </th>
                <th>
                  <nobr>档案抄表员</nobr>
                </th>
                <th>
                  <nobr>客户类型</nobr>
                </th>
                <th>
                  <nobr>缴费类型</nobr>
                </th>
                <th>
                  <nobr>用气性质</nobr>
                </th>
                <th>
                  <nobr>备&nbsp;&nbsp;&nbsp;&nbsp;注</nobr>
                </th>
              </tr>
            </template>
            <template partial='body'>
              <td style="text-align:center">
                <nobr>{{ $index + 1 }}</nobr>
              </td>
              <td style="text-align: center;">
                <nobr>{{ row.f_userinfo_code }}</nobr>
              </td>
              <td style="text-align: center;">
                <nobr>{{ row.f_user_name }}</nobr>
              </td>
              <td style="text-align: center;">
                <nobr>{{ row.f_olduserinfo_code }}</nobr>
              </td>
              <td style="text-align: center;">
                <nobr>{{ row.f_book_no }}</nobr>
              </td>
              <td style="text-align: center;">
                <nobr>{{ row.f_idnumber }}</nobr>
              </td>
              <td style="text-align: center;">
                <nobr>{{ row.f_meter_book_sort }}</nobr>
              </td>
              <td style="text-align: center;">
                <nobr>{{ row.f_residential_area }}</nobr>
              </td>
              <td style="text-align: center;">
                <nobr>{{ row.f_address }}</nobr>
              </td>
              <td style="text-align: center;">
                <nobr>{{ row.f_user_phone }}</nobr>
              </td>
              <td style="text-align: center;">
                <nobr>{{ row.f_meternumber }}</nobr>
              </td>
              <td style="text-align: center;">
                <nobr>{{ row.f_rent_phone }}</nobr>
              </td>
              <td style="text-align: center;">
                <nobr>{{ row.f_meter_classify }}</nobr>
              </td>

              <td style="text-align: center;">
                <nobr>{{ row.c }}</nobr>
              </td>
              <td style="text-align: center;">
                <nobr>{{ row.f_hand_date }}</nobr>
              </td>
              <td style="text-align: center;">
                <nobr>{{ row.f_last_tablebase }}</nobr>
              </td>
              <td style="text-align: center;">
                <nobr>{{ row.f_tablebase }}</nobr>
              </td>
              <td style="text-align: center;">
                <nobr>{{ row.f_oughtamount }}</nobr>
              </td>
              <td style="text-align: center;">
                <nobr>{{ row.f_oughtfee }}</nobr>
              </td>
              <!--              <td style="text-align: center;">-->
              <!--                <nobr>{{row.f_operate_date}}</nobr>-->
              <!--              </td>-->
              <td style="text-align: center;">
                <nobr>{{ row.f_debt_money }}</nobr>
              </td>
              <!--<td style="text-align: center;">-->
              <!--<nobr>{{row.f_hand_bv}}</nobr>-->
              <!--</td>-->
              <td style="text-align: center;">
                <nobr>{{ row.f_oughtfee_new }}</nobr>
              </td>
              <td style="text-align: center;">
                <nobr>{{ row.overdue }}</nobr>
              </td>
              <td style="text-align: center;">
                <nobr>{{ row.f_garbage_fee }}</nobr>
              </td>
              <!--              <td style="text-align: center;">-->
              <!--                <nobr>{{row.f_balance}}</nobr>-->
              <!--              </td>-->
              <td style="text-align: center;">
                <nobr>{{ row.f_oughtfee_all }}</nobr>
              </td>
<!--              <td style="text-align: center;">-->
<!--                <nobr>{{ row.f_oughtfee_col }}</nobr>-->
<!--              </td>-->
              <td style="text-align: center;">
                <nobr>{{ row.f_inputtor }}</nobr>
              </td>
              <td style="text-align: center;">
                <nobr>{{ row.f_book_name }}</nobr>
              </td>
              <td style="text-align: center;">
                <nobr>{{ row.f_dainputtores }}</nobr>
              </td>
              <td style="text-align: center;">
                <nobr>{{ row.f_user_type }}</nobr>
              </td>
              <td style="text-align: center;">
                <nobr>{{ row.f_gasproperties }}</nobr>
              </td>
              <td style="text-align: center;">
                <nobr>{{ row.f_cost_type }}</nobr>
              </td>
              <td style="text-align: center;">
                <nobr>{{ row.f_comments }}</nobr>
              </td>
            </template>
            <template partial='foot'></template>
          </data-grid>
        </criteria-paged>
        <table class="table-hover">
          <tr style="position: relative" class="table-bordered">
            <td
              style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
              汇总信息
            </td>
            <td
              style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
              用气量合计:&emsp;{{ sumsmodel.f_oughtamount }}
            </td>
            <td
              style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
              用气金额合计:&emsp;{{ sumsmodel.f_oughtfee }}
            </td>
            <td
              style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
              已交金额合计:&emsp;{{ sumsmodel.f_debt_money }}
            </td>
            <td
              style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
              气费金额合计:&emsp;{{ sumsmodel.f_oughtfee_new }}
            </td>
            <td
              style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
              违约金合计:&emsp;{{ sumsmodel.overdue }}
            </td>
            <td
              style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
              附加费合计:&emsp;{{ sumsmodel.f_garbage_fee }}
            </td>
            <!--            <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">-->
            <!--              上期余额合计:&emsp;{{sumsmodel.f_balance}}-->
            <!--            </td>-->
            <td
              style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
              合计欠费:&emsp;{{ sumsmodel.f_oughtfee_all }}
            </td>
            <td
              style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
              实际欠费:&emsp;{{ sumsmodel.f_oughtfee_col }}
            </td>
          </tr>
        </table>
      </div>
      <div v-if="show">
        <user-info-detail-manage-new :f_userinfo_id="rowdata.f_userinfo_id"
                                     @cancel-main="cancel"></user-info-detail-manage-new>
      </div>
    </div>
  </div>
</template>

<script>
import {HttpResetClass, PagedList} from 'vue-client'
import exportConfig from '../config/exportConfig'

let readySomething = async function (self) {
  self.$MagGetSaleParam.initinputtor();
  self.getinputtores();
  //加载抄表册
  self.initmeterbook();
  self.$refs.paged.$refs.cri.model.startDate = self.$login.toStartAndEndDateString()[0] + ' 00:00:00'
  self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString() + ' 23:59:59'

  self.$refs.paged.$refs.cri.model.inputstartDate = self.$login.toStartAndEndDateString()[0] + ' 00:00:00'
  self.$refs.paged.$refs.cri.model.inputendDate = self.$login.toStandardDateString() + ' 23:59:59'
  // self.$refs.paged.$refs.cri.search()
  self.defaultfield = [...self.defaultfield, ...self.config.defaultPrint]
  await self.$MagLoadParams.loadParam()
  self.initParams()
  self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
}
export default {
  title: '欠费查询',
  data() {
    return {
      config: {
        defaultPrint: ['f_userinfo_code', 'f_address']
      },
      other: [],
      footer: [],
      //f_price_name:[],
      gasproperties: [],
      showinfo: false,
      data: {},
      show: false,
      rowdata: {},
      initres: {
        org: [this.$login.f.orgid],
        dep: [],
        user: []
      },
      model: new PagedList('api/af-revenue/sql/arrearsQuery', 20, {
        startDate: 'this.model.inputstartDate',
        endDate: 'this.model.inputendDate',
        startDate1: 'this.model.startDate',
        endDate1: 'this.model.endDate'
      }, {
        f_oughtamount: 0,
        f_oughtfee: 0,
        f_debt_money: 0,
        f_oughtfee_new: 0,
        overdue: 0,
        f_garbage_fee: 0,
        f_oughtfee_all: 0
      }),
      criteriaShow: false,
      orgCondtionStr: '',
      // 下拉框
      meterbrands: [],
      pricenames: [],
      prices: [],
      area: [],
      //合计数据
      defaultfield: [],
      //小区
      residentialArea: [],
      sumsmodel: {},
      f_filialeid: this.$login.f.f_orgid,
      meterbooks: [{label: '全部', value: ''}],  //抄表册
      inputtores: [{label: '全部', value: ''}],
      dainputtores: [{label: '全部', value: ''}],
      allorgid: [],
      tempfalg: false,
      lastorgstr: '',
      dypayment: [{label: "全部", value: ""}, {label: "银行代扣", value: "银行代扣",}, {
        label: "现金缴费",
        value: "现金缴费",
      }],
    }
  },
  ready() {
    this.hqdainputtores()
    this.getaddress()
    readySomething(this).then(() => {
      this.$emit('ready')
    }).catch((error) => {
      this.$emit('error', error)
    })
  },
  methods: {

    async hqdainputtores() {
      let param = {
        items: 'DISTINCT f_inputtor',
        tablename: 't_userfiles',
        condition: `  f_inputtor is NOT null`,
      }
      let getDainputtores = await new HttpResetClass().load("POST", 'api/af-revenue/sql/singleTableParam', {data: param}, {
        resolveMsg: null,
        rejectMsg: null
      });
      if (getDainputtores.data.length > 0) {
        let rs = [];
        getDainputtores.data.forEach((item) => {
          if (item.f_inputtor.length > 0) {
            let temp = {
              label: item.f_inputtor,
              value: item.f_inputtor
            };
            rs.push(temp);
          }
        })
        this.dainputtores = [{label: '全部', value: ''}, ...rs];
      } else {
        this.dainputtores = [{label: '全部', value: ''}];
      }
    },
    async inputtorchange() {
      let val = this.$refs.paged.$refs.cri.model.f_inputtor;
      if (val != null && val != "") {
        let param = {
          items: '*',
          tablename: 't_meter_book',
          condition: ` 1=1 and f_inputtor = '${val}' and f_orgid ='${this.f_filialeid}' and f_book_state='有效' `,
          orderitem: 'id'

        }
        let getMeterBooks = await this.$resetpost('api/af-revenue/sql/manage_singleTable', {data: param}, {
          resolveMsg: null,
          rejectMsg: '获取营收参数出错！！！'
        })
        if (getMeterBooks.data) {
          if (getMeterBooks.data.length > 0) {
            let rs = [];
            getMeterBooks.data.forEach((item) => {
              let temp = {
                label: item.f_book_name,
                value: item.id
              };
              rs.push(temp);

            })
            this.meterbooks = [{label: '全部', value: ''}, ...rs];
            this.$set('$refs.paged.$refs.cri.model.f_meter_book', [getMeterBooks.data[0].id]);
          } else {
            this.$set('$refs.paged.$refs.cri.model.f_meter_book', '');
            this.meterbooks = [{label: '全部', value: ''}];
          }
        }
      } else {
        this.$set('$refs.paged.$refs.cri.model.f_meter_book', '');
        this.meterbooks = [{label: '全部', value: ''}];
        this.initmeterbook();
      }
    },
    async initmeterbook(orgstr) {
      if (orgstr == null) {
        orgstr = this.f_filialeid;
      }
      //获取新的抄表册,先去清理所有的抄表册
      this.$GetSaleParam.meterbooks = [];
      //开始加载新的抄表册
      await this.$LoadParams.loadMeterBook(orgstr)
      this.meterbooks = [{label: '全部', value: ''}, ...this.$GetSaleParam.getMeterBooks()]
    },
    getinputtores() {
      // 获取抄表员
      let rs = []
      if (this.$login.f.f_gasman.length > 0) {
        for (let i = 0; i < this.$login.f.f_gasman.length; i++) {
          let temp = {
            label: this.$login.f.f_gasman[i].name,
            value: this.$login.f.f_gasman[i].name
          }
          rs.push(temp)
        }
      }
      return [{label: '全部', value: ''}, ...rs]
    },
    //加载抄表册
    loadMeterBooks() {
      this.meterbooks = [{label: '全部', value: ''}, ...this.$GetSaleParam.getMeterBooks()]
    },
    getotherfooter() {
      // this.$refs.paged.$refs.cri.$refs.exports.otherData=[];
      // this.$refs.paged.$refs.cri.$refs.exports.footerData=[];
      this.other = [];
      this.footer = [];
      let exportdata = this.getCondition;
      let otherInData = [];
      otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`);
      let footerData = [], exportfield = this.getfield;
      footerData.push("合计");
      let self = this;
      for (var field in self.sumsmodel) {
        footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`);
      }
      this.footer.push(footerData);
      this.other.push(otherInData);
      let date = []
      date.push(`起始时间:${this.$refs.paged.$refs.cri.model.startDate}`)
      date.push(`终止时间:${this.$refs.paged.$refs.cri.model.endDate}`)
      this.other.push(date)
    },
    async getaddress() {
      console.log('开始获取小区')
      let HttpReset = new HttpResetClass()
      var data = await HttpReset.load('POST', 'api/af-revenue/sql/manage_getarealist', {
        data: {
          condition: `1=1 and s.f_filialeid = '${this.$login.f.orgid}'`
        }
      }, {resolveMsg: null, rejectMsg: '获取小区失败!'})
      console.log('小区', data)
      let house = [{label: '全部', value: ''}]
      for (let row of data.data) {
        console.log('开始保存小区')
        house.push({label: row.f_residential_area, value: row.f_residential_area})
      }
      this.residentialArea = house
    },
    //把数据库查询数据转换为下拉数据
    calculate(rows) {
      let data = []
      rows.forEach((row, n) => {
        data[n] = {label: row.f_residential_area, value: row.id}
      })
      return data
    },

    search() {
      this.$refs.paged.$refs.cri.search()
    },
    cancel() {
      this.show = false
    },
    showmsg(obj) {
      this.rowdata = obj
      this.show = true
    },
    userTypeChange() {
      this.gasproperties = []
      if (this.$refs.paged.$refs.cri.model !== null) {
        this.$refs.paged.$refs.cri.model.f_gasproperties = ''

        console.log("查看客户类型是什么", this.$refs.paged.$refs.cri.model.f_user_type[0])
        this.gasproperties = this.$appdata.getParam(this.$refs.paged.$refs.cri.model.f_user_type[0])
        // this.gasproperties.push({label: '全部', value: ''})
      } else {
        this.gasproperties = [{label: '全部', value: ''}]
      }
    },
    initParams() {
      // 初始化气表品牌
      let brandArr = []
      this.$MagGetSaleParam.getGasbrand().forEach((item) => {
        let temp = {}
        temp.label = item.label
        temp.value = item.value.f_meter_brand
        brandArr.push(temp)
      })
      this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
      //初始化气表价格
      this.prices = this.$MagGetSaleParam.getPrices();
    },
    selfSearch(args) {
      console.log('开始时间', this.$refs.paged.$refs.cri.model.startDate)
      if (this.$refs.paged.$refs.cri.model.startDate === '' || this.$refs.paged.$refs.cri.model.endDate === '') {
        this.$showAlert('请先选择开始时间、结束时间，再进行查询操作！', 'warning', 3000)
      } else if (this.$refs.paged.$refs.cri.model.inputstartDate === '' || this.$refs.paged.$refs.cri.model.inputendDate === '') {
        this.$showAlert('请先选择抄表开始时间、抄表结束时间，再进行查询操作！', 'warning', 3000)
      } else {
        //小区查询条件
        let f_orgstr = this.orgCondtionStr
        let str = '1=1 '
        if (this.$refs.paged.$refs.cri.model.inputstartDate !== '') {
          str += `and f_input_date>='${this.$refs.paged.$refs.cri.model.inputstartDate}'`
        }
        if (this.$refs.paged.$refs.cri.model.inputendDate !== '') {
          str += `and f_input_date<='${this.$refs.paged.$refs.cri.model.inputendDate}'`
        }
        args.condition = `${args.condition} ` + f_orgstr
        this.model.search(args.condition, args.model, str)
        this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
      }
    },
    clear() {
      //清空部门和人员
      this.$refs.paged.$refs.cri.$refs.sel.$children[1].selectres = []
      //部门和人员变为全选
      this.$refs.paged.$refs.cri.$refs.sel.$children[1].$children[0].isSelectAll = false
      this.$refs.paged.$refs.cri.$refs.sel.$children[2].$children[0].isSelectAll = false
      Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
        this.$refs.paged.$refs.cri.model[key] = []
      })

    },
    dealmsg(val) {
      val.model = this.model.model
      this.$dispatch('deal-msg', val)
    },
    show() {
      this.criteriaShow = true
    },
    hidden() {
      this.criteriaShow = !this.criteriaShow
    },
    async getRes(condition, obj) {
      this.orgCondtionStr = condition
      this.orgname = obj.orgnames[0]
      this.depname = obj.depnames[0]

    },
    async updateParams() {
      await this.$MagLoadParams.loadParam(this.f_filialeid)
      this.inputtores = [];
      this.inputtores.push({label: "全部", value: ""})
      if (this.allorgid != null) {
        this.allorgid.forEach((res) => {
          this.inputtores = this.inputtores.concat(this.$MagGetSaleParam.getresinputtor(res));
        })
      }
      this.initParams()
    },
  },
  events: {
    'getidcard'(IdCard) {
      this.$refs.paged.$refs.cri.model.f_info_idnumber = IdCard.strID
    }
  },
  watch: {
    'model'(val) {
    },
    async 'orgCondtionStr'(val) {
      this.$refs.paged.$refs.cri.model.f_book_slice_area = []
      this.$refs.paged.$refs.cri.model.f_meter_book = []
      this.meterbooks = [{label: '全部', value: ''}];
      if (this.lastorgstr != val) {
        this.tempfalg = true;
        this.lastorgstr = val;
      }
      if (this.tempfalg && val != null && val != '' && val.indexOf("(") > -1) {
        this.tempfalg = false;
        let a = val.substring(val.indexOf("(") + 2)
        await this.initmeterbook(a.substring(0, a.indexOf(")") - 1));
      }
      let res = val.match(/'(.*?)'/)
      if (res) {
        this.f_filialeid = res[1]
        if (res.input != null) {
          let resorgid = res.input.substring(res.input.indexOf("'"));
          if (resorgid != null && resorgid != '') {
            resorgid = resorgid.substring(0, resorgid.lastIndexOf("'") + 1);
            // resorgid = resorgid.replaceAll("'","");
            resorgid = resorgid.replace(/'/g, "");
            this.allorgid = resorgid.split(",")
          }
        }
        this.updateParams()
      }
    },
    sumsmodel: {
      handler: function (val) {
        this.getotherfooter();
      },
      deep: true
    }
  },
  computed: {
    pricetypes() {
      return [{label: '全部', value: ''}, ...this.$appdata.getParam('气价类型')]
    },

    getPricenames() {
      let f_user_type = this.$refs.paged.model.model.f_user_type;
      let f_gasproperties = this.$refs.paged.model.model.f_gasproperties;
      let pricetype = this.$refs.paged.model.model.pricetype;
      if (this.$refs.paged.model.model !== null) {
        let rs = []
        let priceArr = []
        if (f_user_type.length > 0 && f_gasproperties.length > 0 && pricetype.length > 0) {
          let params = {
            f_user_type: f_user_type[0],
            f_gasproperties: f_gasproperties[0],
            f_price_type: pricetype[0],
            filter: this.f_filialeid,
            prices: this.prices
          }
          this.$MagGetSaleParam.getPrice(params).forEach((item) => {
            let temp = {}
            temp.label = item.label
            temp.value = item.value.f_price_name
            priceArr.push(temp)
          })
          rs = [{label: '全部', value: ''}, ...priceArr]
        }
        if (rs.length === 0) {
          this.$refs.paged.model.model.f_price_name = ''
        }
        return rs
      }
    },
    getCondition() {
      return {
        startDate: this.$refs.paged.$refs.cri.model.inputstartDate,
        endDate: this.$refs.paged.$refs.cri.model.inputendDate,
        startDate1: this.$refs.paged.$refs.cri.model.startDate,
        endDate1: this.$refs.paged.$refs.cri.model.endDate,
        condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgCondtionStr,
        condValue: `${this.model.condValue}`
      }
    },
    getfield() {
      return exportConfig.arrearsConfig
    },
    usertypes() {
      return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('用户类型')]
    },
    metertypes() {
      return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('气表类型')]
    },
    chargetype() {
      return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('收费类型')]
    }
  }
}
</script>
<style lang="less">
.color-red {
  color: red;
}
</style>
