<template>
  <div>
    <el-row type="flex" style="margin-top: 15px;margin-bottom: 15px" justify="center">
      <el-col :xs="24" :sm="24" :md="24" :lg="20" :xl="16">
        <div style="display: flex;justify-content: space-between;align-items: flex-end;">
          <h2>{{$t('查看')}}</h2>
          <div>
            <el-button type="primary" size="small" @click="$router.push('/customer/editIndirect?id=' + id)">{{$t('编辑')}}</el-button>
<!--            <el-button @click="$router.push('/offer/create')" type="primary" size="small">{{$t('报价')}}</el-button>
            <el-button type="primary" size="small" @click="$refs['customerFollow'].customerFollow.dialogVisible = true">{{$t('跟进')}}</el-button>
            <el-button type="primary" size="small" @click="$refs['customerComplaint'].handleAdd()">{{$t('客诉')}}</el-button> -->
            <!-- <el-button  type="danger" @click="delCustomer" size="small">{{$t('删除')}}</el-button> -->
             <el-button v-hasPermi="['ecw:indirectCustomer:delete']" type="danger" @click="delCustomer" size="small">{{$t('删除')}}</el-button>
          </div>
        </div>
        <el-card style="margin-top: 15px;">
          <el-descriptions :column="4" border>
            <el-descriptions-item :label="$t('客户编号')">{{ customer.number }}</el-descriptions-item>
            <el-descriptions-item :label="$t('客户名称')">{{ customer.name }}</el-descriptions-item>
            <el-descriptions-item :label="$t('结算方式')">{{ getDictDataLabel(DICT_TYPE.CUSTOMER_BALANCE, customer.balance) }}</el-descriptions-item>
            <el-descriptions-item :label="$t('客户生日')">{{ parseTime(customer.birthday, '{y}-{m}-{d}') }}</el-descriptions-item>
            <el-descriptions-item :label="$t('客户等级')">{{ getDictDataLabel(DICT_TYPE.CUSTOMER_LEVEL, customer.level) }}</el-descriptions-item>
            <el-descriptions-item :label="$t('国家')">{{ country }}</el-descriptions-item>
<!--            <el-descriptions-item :label="$t('业务员')">{{ customer }}</el-descriptions-item>-->
            <el-descriptions-item :label="$t('客户来源')">{{ getDictDataLabel(DICT_TYPE.CUSTOMER_SOURCE, customer.source) }}</el-descriptions-item>
            <el-descriptions-item :label="$t('客户类别')">{{ getDictDatas2(DICT_TYPE.CUSTOMER_TYPE, (customer.type||'').split(',')).map(e => e.label).join(', ') }}</el-descriptions-item>
<!--            <el-descriptions-item :label="$t('联系方式')">{{ customer }}</el-descriptions-item>-->
            <el-descriptions-item :label="$t('推介人')">{{ promoter  }}</el-descriptions-item>
            <el-descriptions-item :label="$t('客户经理')">{{ customerService }}</el-descriptions-item>
            <el-descriptions-item :label="$t('公司名称')">{{ customer.company }}</el-descriptions-item>
            <el-descriptions-item :label="$t('联系地址')">{{ customer.address }}</el-descriptions-item>
            <el-descriptions-item :label="$t('创建时间')">{{ parseTime(customer.createTime) }}</el-descriptions-item>
            <el-descriptions-item :label="$t('状态')">{{ getDictDataLabel(DICT_TYPE.CUSTOMER_STATUS, customer.status) }}</el-descriptions-item>
            <el-descriptions-item :label="$t('主营类别')">{{ productType }}</el-descriptions-item>
            <el-descriptions-item :label="$t('常提货网点')">{{ pickupPoint }}</el-descriptions-item>
            <el-descriptions-item :label="$t('图片')">
              <el-image v-show="!!customer.picture" :src="customer.picture" style="width: 100px;height: 100px"></el-image>
            </el-descriptions-item>
            <el-descriptions-item :label="$t('备注')">{{ customer.remarks }}</el-descriptions-item>
<!--            <el-descriptions-item :label="$t('信用等级')">{{ customer }}</el-descriptions-item>-->
          </el-descriptions>
        </el-card>

        <el-card style="margin-top: 15px">
          <h3>{{$t('联系人')}}</h3>

          <el-table
            :data="customerContacts"
            style="width: 100%"
            border
          >
            <el-table-column
              prop="department"
              :label="$t('部门')"
            >
            </el-table-column>
            <el-table-column
              prop="position"
              :label="$t('职位')"
            >
            </el-table-column>
            <el-table-column
              prop="name"
              :label="$t('联系人')"
            >
            </el-table-column>
            <el-table-column
              prop="phoneNew"
              :label="$t('联系方式')"
            >
              <template v-slot="{row}">
                {{ row.areaCode + row.phoneNew }}
              </template>
            </el-table-column>
            <el-table-column
              prop="userid"
              :label="$t('关联账号')"
              :formatter="userIdFormatter"
            >
            </el-table-column>
            <el-table-column
              prop="social"
              :label="$t('社交软件')"
              :formatter="(row, column, cellValue) => getDictDataLabel(DICT_TYPE.SOCIAL, cellValue)"
            >
            </el-table-column>
            <el-table-column
              prop="socialNumber"
              :label="$t('社交软件号码')"
            >
            </el-table-column>
            <el-table-column
              prop="email"
              :label="$t('邮箱')"
            >
            </el-table-column>
          </el-table>
        </el-card>

       <!-- <el-tabs style="margin-top: 15px" type="border-card">
          <el-tab-pane :label="$t('订单')">
            <el-card class="box-card">
              <div slot="header" class="clearfix">
                <el-form :inline="true">
                  <el-form-item :label="$t('运输方式:')">
                    <dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="queryParams.transportType" formatter="number" />
                  </el-form-item>
                  <el-form-item :label="$t('订单状态:')">
                    <dict-selector :type="DICT_TYPE.ORDER_STATUS" v-model="queryParams.status"/>
                  </el-form-item>
                  <el-form-item :label="$t('报关方式:')">
                    <dict-selector
                      :type="DICT_TYPE.ECW_CUSTOMS_TYPE"
                      v-model="queryParams.customerType"
                    />
                  </el-form-item>
                  <el-form-item :label="$t('控货')">
                    <dict-selector
                      :type="DICT_TYPE.INFRA_BOOLEAN_STRING"
                      v-model="queryParams.isCargoControl"
                    />
                  </el-form-item>
                  <el-form-item :label="$t('入仓时间:')">
                    <el-date-picker v-model="rucangtime"
                                    @change="changeDate"
                                    style="width: 240px"
                                    value-format="yyyy-MM-dd HH:mm:ss"
                                    type="daterange"
                                    range-separator="-"
                                    :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
                  </el-form-item>
                  <el-form-item>
                    <el-button type="primary" @click="getorderList">{{$t('搜索')}}</el-button>
                    <el-button type="primary" @click="()=>{
                         queryParams = { rows:10,page:1}; getorderList()
                    }">{{$t('重置')}}</el-button>
                  </el-form-item>
                </el-form>
              </div>
              <el-table :data="orderList">
                <el-table-column :label="$t('订单编号')" width="120px" align="center" prop="orderNo" >
                  <template slot-scope="scope">
                    <router-link :to="{path: '/order/detail',query: {orderId: scope.row.orderId}}" class="link-type">
                      <span>{{ scope.row.orderNo }}</span>
                    </router-link>
                  </template>
                </el-table-column>
                <el-table-column :label="$t('唛头')" align="center" prop="marks" />
                <el-table-column :label="$t('总箱数/入仓箱数')" align="center" prop="sumNum">
                  <template slot-scope="{row}">
                    {{row.totalNum}}{{$t('箱')}}/{{row.sumNum}}{{$t('箱')}}
                  </template>
                </el-table-column>
                <el-table-column :label="$t('体积/重量')" align="center" prop="sumWeight">
                  <template slot-scope="{row}">
                    //入仓前是填单数据,入仓后是入仓数据
                    <template v-if="row.inWarehouseState <= 1">{{row.costVO.totalVolume}}m³ /{{row.costVO.totalWeight}}Kg</template>
                    <template v-else>{{row.sumVolume}}m³ /{{row.sumWeight}}Kg</template>
                  </template>
                </el-table-column>
                <el-table-column :label="$t('始发仓')" align="center" prop="departureName" />
                <el-table-column :label="$t('运输方式/目的地')" align="center" prop="transportId">
                  <template slot-scope="{row}">
                    <dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="row.transportId" /> / {{row.objectiveName}}
                  </template>
                </el-table-column>
                <el-table-column :label="$t('控货')" align="center" prop="transportId">
                  <template slot-scope="{row}">
                    <dict-tag :type="DICT_TYPE.INFRA_BOOLEAN_STRING" :value="row.isCargoControl" />
                  </template>
                </el-table-column>
                <el-table-column :label="$t('订单状态')" align="center" prop="status">
                  <template slot-scope="scope">
                    <dict-tag :type="DICT_TYPE.ORDER_STATUS" :value="scope.row.status" />
                  </template>
                </el-table-column>
                </el-table>
              <pagination @pagination="getorderList" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"  :total="orderTotal" ></pagination>
            </el-card>
          </el-tab-pane>
          <el-tab-pane :label="$t('报价')">
            <el-table
              :data="infoListOfferList"
              style="width: 100%"
            >
              <el-table-column
                type="index"
                :label="$t('序号')"
              >
              </el-table-column>
              <el-table-column
                prop="number"
                :label="$t('报价单号')"
              >
              </el-table-column>
              <el-table-column
                prop="orderNo"
                :label="$t('订单号')"
              >
              </el-table-column>
              <el-table-column
                prop="consignorName"
                :label="$t('客户名称')"
              >
              </el-table-column>
              <el-table-column
                prop="objectiveName"
                :label="$t('目的地')"
              >
              </el-table-column>
              <el-table-column
                :label="$t('销售阶段')"
              >
                <template v-slot="{row}">
                  {{STATUS[row.status]}}
                </template>
              </el-table-column>
              <el-table-column
                prop="stopTime"
                :label="$t('预计结束时间')"
              >
              </el-table-column>
              <el-table-column
                prop="businessManagerName"
                :label="$t('负责人')"
              >
              </el-table-column>
            </el-table>
            <pagination @pagination="getInfoListOfferPage" :page.sync="infoListOfferFrom.pageNo" :limit.sync="infoListOfferFrom.pageSize"  :total="infoListOfferTotal" ></pagination>
          </el-tab-pane>
          <el-tab-pane :label="$t('跟进')">
            <customer-follow ref="customerFollow" :id="id" :customer-id="id"></customer-follow>
          </el-tab-pane>
          <el-tab-pane :label="$t('客户投诉')">
            <customer-complaint ref="customerComplaint" :customer-id="id" hidden-search></customer-complaint>
          </el-tab-pane>
          <el-tab-pane :label="$t('账单')">
            <el-table style="width: 100%" :data="infoListReceiptList">
              <el-table-column :label="$t('序号')" type="index"></el-table-column>
              <el-table-column :label="$t('账单')" prop="receiptNo"></el-table-column>
              <el-table-column :label="$t('订单号')" prop="orderNo"></el-table-column>
              <el-table-column :label="$t('箱数')" prop="num"></el-table-column>
              <el-table-column :label="$t('方数')" prop="volume" ></el-table-column>
              <el-table-column :label="$t('重量')" prop="weight" ></el-table-column>
              <el-table-column :label="$t('类型')">
                <template v-slot="{row}">
                  <dict-tag :type="DICT_TYPE.PAYMENT_TYPE" :value="row.collectionType" />
                </template>
              </el-table-column>
              <el-table-column :label="$t('费用类型')">
                <template v-slot="{row}">
                  <dict-tag :type="DICT_TYPE.FEE_TYPE" :value="row.feeType" />
                </template>
              </el-table-column>
              <el-table-column :label="$t('金额')" prop="totalAmount">
              </el-table-column>
              <el-table-column :label="$t('已核销比例')" prop="writeOffScale"></el-table-column>
              <el-table-column :label="$t('实收日期')" prop="writeOffAt"></el-table-column>
              <el-table-column :label="$t('业务员')" prop="salesmanName"></el-table-column>
            </el-table>
          </el-tab-pane>
          <el-tab-pane :label="$t('数据')">
            <el-descriptions :column="2">
              <el-descriptions-item :label="$t('海空联运/海运拼柜/海运整柜/专线空运')">{{orderStatisticsObj.hklyTotal || 0}}/{{orderStatisticsObj.hypgTotal  || 0 }}/{{orderStatisticsObj.hyzgTotal  || 0}}/{{orderStatisticsObj.zxkyTotal  || 0}}</el-descriptions-item>
              <el-descriptions-item :label="$t('最后交易日期')">{{orderStatisticsObj.lastBusinessDate}}</el-descriptions-item>
              <el-descriptions-item :label="$t('全部订单/控货订单')">{{orderStatisticsObj.allOrderTotal  || 0}}/{{orderStatisticsObj.controlOrderTotal  || 0}}</el-descriptions-item>
              <el-descriptions-item :label="$t('最后交易单号')">{{orderStatisticsObj.lastBusinessOrderNo}}</el-descriptions-item>
              <el-descriptions-item :label="$t('报价/下单/入仓')">{{orderStatisticsObj.offerOrderTotal  || 0}}/{{orderStatisticsObj.pickOrderTotal  || 0}}/{{orderStatisticsObj.wareHousingTotal  || 0}}</el-descriptions-item>
              <el-descriptions-item :label="$t('储存量')">{{orderStatisticsObj.stock  || 0}}</el-descriptions-item>
              <el-descriptions-item :label="$t('已出货订单')">{{orderStatisticsObj.shipmentTotal  || 0}}</el-descriptions-item>
            </el-descriptions>
          </el-tab-pane>
          <el-tab-pane :label="$t('品牌授权')">
              <el-table  border style="width:100%" :data="brandAuthorizationList">
                <el-table-column   type="index" :prop="$t('序号')"></el-table-column>
                <el-table-column  :label="$t('中文标题')" prop="titleZh" ></el-table-column>
                <el-table-column prop="titleEn" :label="$t('英文标题')"></el-table-column>
                <el-table-column :label="$t('有无备案')">
                 <template v-slot="{row}">
                   <dict-tag :type="DICT_TYPE.BRAND_REG_TYPE" :value="row.filing" />
                 </template>
                </el-table-column>
                <el-table-column :label="$t('授权开始')">
                  <template v-slot="{row}">
                    {{parseTime(row.startTime)}}
                  </template>
                </el-table-column>
                <el-table-column :label="$t('授权结束')">
                  <template v-slot="{row}">
                    {{parseTime(row.endTime)}}
                  </template>
                </el-table-column>
                <el-table-column :label="$t('授权证明')">
                  <template v-slot="{row}">
                    <div v-if="!!row.fileUrl && row.fileUrl.length > 0">
                  <span v-for="(item, index) in (row.fileUrl||'').split(',')">
                    <a :href="item" target="_blank">{{$t('附件')}}{{ index + 1 }}</a>,
                  </span>
                    </div>
                  </template>
                </el-table-column>
                <el-table-column
                  prop="feeScale"
                  :formatter="(row) => getDictDataLabel(DICT_TYPE.BRAND_CUSTOMER_CHARGING_MODEL, row.feeScale)"
                  :label="$t('收费标准')">
                </el-table-column>
                <el-table-column
                  prop="createUsername"
                  :label="$t('添加人')">
                </el-table-column>
                <el-table-column :label="$t('创建时间')">
                  <template v-slot="{row}">
                    {{parseTime(row.createTime)}}
                  </template>
                </el-table-column>
              </el-table>
            <pagination v-show="brandAuthorizationTotal > 0" :total="brandAuthorizationTotal" :page.sync="brandAuthorizationFrom.pageNo" :limit.sync="brandAuthorizationFrom.pageSize"
                        @pagination="getBrankByCustomerList"/>
          </el-tab-pane>
          <el-tab-pane :label="$t('信用日志')">
            <el-card class="box-card">
              <div slot="header" class="clearfix">
                <el-button style="float: right;" type="primary" @click="dialogVisible = true" >{{$t('添加信用日志')}}</el-button>
                <el-descriptions :column="5" border>
                  <el-descriptions-item v-for="(item,index) in creditScoreStatisticObj" :key="index" :label="creditScoreCalculation(item.type)">{{item.score}}</el-descriptions-item>
                </el-descriptions>
              </div>
              <el-table :data="customerCreditLogList">
                <el-table-column :label="$t('序号')" type="index"></el-table-column>
                <el-table-column  prop="name" :label="$t('规则名称')"></el-table-column>
                <el-table-column prop="type" :label="$t('规则分类')">
                  <template v-slot="{row}">
                    <dict-tag :type="DICT_TYPE.CUSTOMER_CREDIT_RULE_TYPE" :value="row.type" />
                  </template>
                </el-table-column>
                <el-table-column prop="score" :label="$t('规则得分')"></el-table-column>
                <el-table-column prop="remark" :label="$t('备注')"></el-table-column>
                <el-table-column :label="$t('添加人')" prop="createName"></el-table-column>
                <el-table-column :label="$t('时间')">
                  <template v-slot="{row}">
                    {{parseTime(row.createTime)}}
                  </template>
                </el-table-column>
              </el-table>
              <pagination @pagination="creditLogPage" :page.sync="customerCreditLogFrom.pageNo" :limit.sync="customerCreditLogFrom.pageSize"  :total="customerCreditLogFrom.total" ></pagination>
            </el-card>
          </el-tab-pane>
          <el-tab-pane :label="$t('等级日志')">
           <el-table style="width: 100%"  :data="getCustomerGradeList">
             <el-table-column  :label="$t('序号')" type="index"></el-table-column>
             <el-table-column :label="$t('规则名称')" prop="name"></el-table-column>
             <el-table-column :label="$t('规则分类')" prop="type">
               <template v-slot="{row}">
                 <dict-tag :type="DICT_TYPE.CUSTOMER_LEVEL_RULE_TYPE" :value="row.type" />
               </template>
             </el-table-column>
             <el-table-column :label="$t('规则得分')" prop="score"></el-table-column>
             <el-table-column :label="$t('备注')" prop="remark"></el-table-column>
             <el-table-column :label="$t('时间')">
               <template v-slot="{row}">
                 {{parseTime(row.createTime)}}
               </template>
             </el-table-column>
           </el-table>
            <pagination @pagination="getCustomerGrade" :page.sync="getCustomerGradeFrom.pageNo" :limit.sync="getCustomerGradeFrom.pageSize"  :total="getCustomerGradeFrom.total" ></pagination>
          </el-tab-pane>
        </el-tabs>-->
      </el-col>
    </el-row>
    <el-dialog
      :visible.sync="dialogVisible"
      width="30%"
      >
      <h1 slot="title">
        {{$t('给客户')}}【{{customer.name}}】{{$t('添加信用日志')}}
      </h1>
      <el-form label-width="100">
        <el-form-item :label="$t('客户编号:')">{{customer.number}}</el-form-item>
        <el-form-item :label="$t('信用类别')">
          <el-select v-model="creditFrom.ruleId">
            <el-option v-for="(item,index) in creditTypeList" :key="index" :value="item.id"  :label="item.name"></el-option>
          </el-select>
        </el-form-item>
        <el-form-item v-if="creditTypeList.length > 0" :label="$t('信用分')">{{(creditTypeList.find(r=>creditFrom.ruleId === r.id) || {}).score }}{{$t('分')}}</el-form-item>
        <el-form-item :label="$t('备注')">
          <el-input type="textarea" v-model="creditFrom.remark"> </el-input>
        </el-form-item>
      </el-form>
      <span slot="footer" class="dialog-footer">
       <el-button @click="submit">{{$t('提交')}}</el-button>
       <el-button @click="dialogVisible = false" >{{$t('取消')}}</el-button>
  </span>
    </el-dialog>
  </div>
</template>

<script>
import {
  getCustomerSelect,
  getBrankByCustomer,
  levelLogPage,
  customerCreditLogPage,
  infoListOrderPage,
  infoListOfferPage,
  orderStatistics,
  creditLogCreate,
  creditScoreStatistic,
  infoListReceiptPage, memberUserList
} from '@/api/ecw/customer'
import { DICT_TYPE, getDictDataLabel, getDictDatas2 } from '@/utils/dict'
import { getProductTypeList } from '@/api/ecw/productType'
import { getNodeList } from '@/api/ecw/node'
import CustomerFollow from "@/components/CustomerFollow"
import { parseTime } from '@/utils/ruoyi'
import CustomerComplaint from '@/views/ecw/customerComplaint'
import { listServiceUser } from '@/api/system/user'
import { getCustomerContactsListByCustomer,getCustomer,deleteIndirectCustomer } from '@/api/ecw/indirectCustomer'
import {getOrderPage} from "@/api/ecw/order";
import Template from "@/views/cms/template";
import {getCreditRulePage} from "@/api/customer/creditRule";
import {getCountry} from "@/api/ecw/country"

export default {
  name: 'IndirectInfo',
  components: {
    Template,
    CustomerFollow,
    CustomerComplaint
  },
  created() {
    //获取信用类型
    if(this.$route.query && this.$route.query.id){
      this.id = this.$route.query.id
    }
    getCreditRulePage({page:1,rows:999,type:2}).then(r => {
     this.creditTypeList = r.data.list
    })
    getNodeList().then(r => {
      this.nodeList = r.data
    })
    if(this.$route.query && this.id){
      getCustomer(this.id).then(response => {
        this.customer = { ...this.customer, ...response.data }
      if(this.$route.query && this.$route.query.id){
        getCustomerContactsListByCustomer({customerId: this.$route.query.id}).then(r => {
          if(r.data&&r.data.length>0){
            this.customerContacts = r.data
            let list =  this.customerContacts.map(r => r.userid)
            memberUserList({ids:list.join(',')}).then(r => {
              this.memberList = r.data
            })
          }

        })
      }

        getCountry(this.customer.country ? this.customer.country : 0 ).then(r => {
          this.country = r.data?r.data.nameZh:''
        })
      })
    }
    getProductTypeList().then(r => {
      this.productTypeList = r.data
    })

    getCustomerSelect().then(r => {
      this.customerSelect = r.data.list
    })
    listServiceUser().then(r => {
      this.serviceUserList = r.data
    })
    this.getBrankByCustomerList()
    this.getCustomerGrade()
    this.creditLogPage()
    this.getorderList()
    this.getInfoListOfferPage()
    this.getOrderStatistics()
    this.creditScoreStatisticFn()
    this.infoListReceiptFn()


  },
  data() {
    return {
      customerId:'',
      STATUS:{
        0:this.$t('取消报价'),
        1:this.$t('特价审批中'),
        2:this.$t('需求确认'),
        3:this.$t('跟进中'),
        4:this.$t('赢单'),
        5:this.$t('输单'),
        6:this.$t('报价完成')
      },
      dialogVisible:false,
      DICT_TYPE,
      getDictDataLabel,
      getDictDatas2,
      parseTime,
      nodeList: [],
      id:0,
      productTypeList: [],
      customerSelect: [],
      serviceUserList: [],
      customerContacts: [],
      memberList: [],
      customer: {
        id: undefined,
        number: undefined,
        name: undefined,
        level: undefined,
        country: undefined,
        type: undefined,
        agentId: undefined,
        company: undefined,
        address: undefined,
        productType: undefined,
        productId: undefined,
        pickupPoint: undefined,
        memberId: undefined,
        birthday: undefined,
        balance: undefined,
        source: undefined,
        picture: undefined,
        customerService: undefined,
        customerLines: [],
        promoter: undefined,
        status: undefined,
        founder: undefined,
        department: undefined,
        invoiceTitle: undefined,
        licenseNumber: undefined,
        bank: undefined,
        bankNumber: undefined,
        project: undefined,
        billingAddress: undefined,
        billingTell: undefined,
        taxRate: undefined,
        remarks: undefined,
        arrivalConfirm: undefined,
        weightUnit: undefined,
        createTime: undefined
      },
      brandAuthorizationFrom:{
        pageNo:1,
        pageSize:10,
      },
      brandAuthorizationList:[],
      brandAuthorizationTotal:0,
      getCustomerGradeFrom:{
        pageNo:1,
        pageSize:10,
        total:0
    },
      getCustomerGradeList:[],
      customerCreditLogFrom:{
        pageNo:1,
        pageSize:10,
        total:0
      },
      customerCreditLogList:[],
      rucangtime:[],
      queryParams:{
        pageSize:10,
        pageNo:1
      },
      orderList:[],
      orderTotal:0,
      infoListOfferFrom:{
        pageNo:1,
        pageSize:10,
      },
      infoListOfferTotal:0,
      infoListOfferList:[],
      orderStatisticsObj:{},
      creditTypeList:[],
      creditFrom:{},//添加信用 日志
      creditScoreStatisticObj:[],
      infoListReceiptList:[],
      infoListReceiptFrom:{
        pageNo:1,
        pageSize:10,
      },
      infoListReceiptTotal:0,
      country: ''
    }
  },
  computed: {
    productType(){
      const productType = this.productTypeList.find(p => p.id === parseInt(this.customer.productType))
      return productType ? productType.titleZh : ''
    },
    pickupPoint(){
      const pickupPoint = this.nodeList.find(p => p.id === parseInt(this.customer.pickupPoint))
      return pickupPoint ? pickupPoint.titleZh : ''
    },
    promoter() {
      console.log(this.customerSelect,'this.customerSelect.find');
      return this.customerSelect.find(e => e.id === this.customer.promoter)?.name || ''
    },
    customerService() {
      return this.serviceUserList.find(e => e.id === this.customer.customerService)?.nickname || ''
    },
    // id() {
    //     return this.customerId ? parseInt(this.customerId) : undefined
    // },
    creditScoreCalculation(){
      return (val)=>{
        if(val === 'all'){
          return this.$t('信用分')
        }else{
          return (this.getDictDatas(DICT_TYPE.CUSTOMER_CREDIT_RULE_TYPE).find(i => i.value === val)||{}).label
        }
      }
    }
  },
  methods:{
    userIdFormatter(row, column, cellValue){
      const member = this.memberList.find(e => e.id === cellValue)
      if (member) {
        return member.nickname + '(' + member.mobile + ')'
      } else {
        return ''
      }
    },
    delCustomer(){
      this.$confirm(`${this.$t('是否要删除当前客户')}《${this.customer.name}》?`, `${this.$t('提示')}`, {
        confirmButtonText: this.$t('确定'),
        cancelButtonText: this.$t('取消'),
        type: 'warning'
      }).then(() => {
        deleteIndirectCustomer(this.id).then(r => {
          this.$modal.msgSuccess(this.$t('删除成功'));
          this.$router.back()
        })
      })
    },
    changeDate(val){
     if(val){
        this.queryParams.houseStartDate =  val[0];
       this.queryParams.houseEndDate =  val[1];
     }else {
       this.queryParams.houseStartDate = undefined;
       this.queryParams.houseEndDate =  undefined;
     }
    },
    //品牌授权
    getBrankByCustomerList(){
      getBrankByCustomer({...this.brandAuthorizationFrom,customerId:this.id}).then(r => {this.brandAuthorizationList = r.data.list; this.brandAuthorizationTotal = r.data.total})
    },
    getCustomerGrade(){
      levelLogPage({...this.getCustomerGradeFrom,customerId:this.id,total:undefined}).then(r => {
        console.log(r,'客户等级');
        if(r.code === 0){
          this.getCustomerGradeList = r.data.list;
          this.getCustomerGradeFrom.total = r.data.total;
        }
      })
    },
   // 获取信用等级日志列表
   creditLogPage(){
     customerCreditLogPage({...this.customerCreditLogFrom,customerId:this.id}).then(r => {
         if(r.code === 0){
           console.log(r,'r');
           this.customerCreditLogList = r.data.list;
           this.customerCreditLogFrom.total = r.data.total;
         }
     })
   },
    //订单
    getorderList(){
      infoListOrderPage({customerId:this.id,...this.queryParams}).then(r => {
        console.log(r)
        if(r.code === 0){
          this.orderList = r.data.list
          this.orderTotal = r.data.total
        }
      })
    },
  // 客户报价
    getInfoListOfferPage(){
      infoListOfferPage({...this.infoListOfferFrom,customerId:this.id}).then(r => {
        this.infoListOfferList = r.data.list;
        this.infoListOfferTotal = r.data.total;
      }).catch(r => {
      })
    },
  //  数据
    getOrderStatistics(){
      orderStatistics({customerId:this.id}).then(r => {
        console.log(r,'数据')
        if(r.code === 0){
          this.orderStatisticsObj = r.data
        }
      })
    },
    submit(){
      creditLogCreate({customerId:this.id,...this.creditFrom}).then(r => {
      if(r.code === 0){
        this.creditLogPage();
        this.creditFrom = {};
        this.dialogVisible = false;
      }
      })
    },
    //获得信用客户统计
    creditScoreStatisticFn(){
      creditScoreStatistic({customerId:this.id}).then(r => {
        console.log(r)
        if(r.code === 0) this.creditScoreStatisticObj = r.data
      })
    },
  //  获取账单数据
    infoListReceiptFn(){
      infoListReceiptPage({...this.infoListReceiptFrom,customerId:this.id}).then(r => {
        console.log(r)
        if(r.code === 0){
          this.infoListReceiptList = r.data.list;
          this.infoListReceiptTotal = r.data.total;
        }
      })
    }
  }
}
</script>

<style scoped>

</style>