import server from '@/utils/request'

//新增
interface Addobj{
  orderType:String|Number	                          //类型：1-换电，2-充电
  plateNum:String	                                  //车牌号
  orderTime?:String	                                //订单时间,示例值(yyyy-MM-dd HH:mm:ss)
  stationCode:String	                              //换电站编码
  stationName:String	                              //换电站名称
  accountCode?:String	                              //金额账号
  amount?:String|Number	                            //订单金额
  status?:String|Number	                            //订单状态：1-已创建，2-换电中，3-换电完成，4-充电中，5-充电完成，6-待结算，7-已完成，9-已取消 //1-等待受理，2-换电中，3-换电完成，4-出现异常，5-未结算，6-订单取消，7-已结算
  feeType?:String	                                  //计算费用方式：1-ODO，2-SOC，3-按电量
  basicFee?:String	                                //基础费用
  serviceTimeBegin?:String|Number	                  //服务开始时间
  serviceTimeEnd?:String	                          //服务结束时间
  serviceFee?:String|Number	                        //服务费
  lastRentBatCarOdo?:String	                        //上次租赁电池时车辆里程
  nowReturnBatCarOdo?:String	                      //归还电池时车辆里程
  odoAmount?:String|Number	                        //按ODO换电费
  electAmount?:String|Number	                      //总充电量
  rentBatNo?:String|Number	                        //租借电池包仓位
  rentBatCode?:String	                              //租用电池包编码
  rentBatSoc?:String	                              //租用电池包SOC
  returnBatCode?:String	                            //归还电池包编码
  returnBatNo?:String|Number	                      //归还电池包仓位
  returnBatSoc?:String	                            //归还电池包SOC
  returnBatRentSoc?:String	                        //归还电池租出时soc
  returnBatRentStationCode?:String	                //归还电池租出的换电站编码
  returnBatRentStationName?:String	                //归还电池租出的换电站
  changeMode?:String|Number	                        //换电模式：1-全自动，2-半自动，3-人工干预
  changeLane?:String|Number	                        //换电车道 1-A 车道;2-B 车道
  userId?:String	                                  //换电车主ID
  tradeNo?:String	                                  //交易编码
}

export function addhdz(data:Addobj) {
  return server.request({
    url: '/cloud/order/swap/add',
    method: 'post',
    data
  })
}

//修改
export function update(data:Addobj) {
  return server.request({
    url: '/cloud/order/swap/update',
    method: 'post',
    data
  })
}

//查询
interface Querydata{
  pageSize:String|Number	    //每页条数
  pageNo:String|Number	      //页数
  orderNo?:String	            //订单编码
  plateNum?:String	            //车牌号
  orderTimeBegin?:String	      //订单时间开始,示例值(yyyy-MM-dd HH:mm:ss)
  orderTimeEnd?:String	        //订单时间结束
  stationCode?:String	        //换电站编码
  stationName?:String	        //换电站名称
  userId?:String	              //换电车主ID
  tradeNo?:String              //交易编码
  status?:String                //订单状态
  ccode?:String                 //公司编码
}
export function getjqrlist(params:Querydata) {
  return server.request({
    url: '/cloud/order/swap/list',
    method: 'get',
    params
  })
}

//删除
export function delhdz(id:string) {
  return server.request({
    url: '/cloud/order/swap/del',
    method: 'post',
    data:{
      id
    }
  })
}

//换电步骤
export function gethdbz(orderNo:string) {
  return server.request({
    url: '/cloud/order/swap/step/list',
    method: 'get',
    params:{
      orderNo
    }
  })
}

//计算费用
export function jsfeiy(orderNo:string) {
  return server.request({
    url: '/cloud/order/swap/cost',
    method: 'post',
    data:{
      orderNo
    }
  })
}


//批量支付
export function batchpayment(data:string) {
  return server.request({
    headers: {
      'Content-Type': 'application/json',
    },
    url: '/cloud/order/swap/wechat/nativepay',
    method: 'post',
    data
  })
}

//获取ip
export function getip() {
  return server.request({
    url: '/resource/util/ip',
    method: 'get'
  })
}

//查询支付订单状态
export function paystatus(outTradeNo:string) {
  return server.request({
    url: '/cloud/order/swap/paystatus/query',
    method: 'get',
    params:{
      outTradeNo
    }
  },false)
}


//订单详情
export function oderdetails(orderNo:string) {
  return server.request({
    url: '/cloud/order/swap/'+orderNo,
    method: 'get',
  
    
  },false)
}

//电子对账单
export function dzdzd(params:any) {
  return server.request({
    url: '/cloud/order/swap/bill/list',
    method: 'get',
    params
  })
}

//下载电子对账单
export function downdzdz(params:any) {
  return server.download('/cloud/order/swap/bill/download',params,'电子对账单.xlsx')
}

//导出订单
export function orderept(params:any) {
  return server.download('/cloud/order/swap/export',params,'订单.xlsx')
}
