需求:房源退租时,需要退款。有违约退款和正常退款。
当付完钱后,但未住满时退租。需要计算剩下租期时间的租金,进行退款。

目前有押一付三等付款方式。
场景:付了三个月的钱,但我第二个月还剩最后3天退租。

后端测试数据结构:先返回多期的账单,每一期里有3个月的子账单。

思路:

1、先判断账单是否支付,且返回的账单是租金账单。
2、判断退租日期,在那个账单的子账单里。(将当前退租日期转换成时间戳,把账单的开始日期和结束日期也转换成时间戳) 开始日期<=退租日期<=结束日期
3、根据时间戳判断,在退租日期前的账单不要(已住),要大于退租日期以后的账单。
4、通过moment计算还剩几天没住,要退款(moment(endTime).diff(moment(startTime), ‘days’))
5、计算结果要向上取整(退租不能少退)Math.ceil()

代码参考:

   let a=new Date();  //退租日期let ss = a.getTime();   //退租日期时间戳let chargeData=[]; //if(List[i].billType.includes('租金')&&List[i].status!=0){      //已支付的周期for (var j = 0; j < List[i].itemList.length; j++) {   //循环子账单月let x1=new Date(List[i].itemList[j].startTime)const time1=x1.getTime()  //账单开始日期let x2=new Date(List[i].itemList[j].endTime)const time2=x2.getTime()   //账单结束日期if(time1<=ss&&time2>=ss){   //获取的是退租的那个月   也就是退租时间在两个时间戳之间let cc=List[i].itemList[j];   //先赋值给cc,然后修改账单cc.itemAmount=1000;let time3=moment(cc.endTime).diff(moment(a), 'days')cc.startTime=a;cc.itemAmount=Math.ceil(((cc.itemAmount*12)/365)*time3)chargeData.push(cc)     //需要的未住满的退租数据}else if(time1>ss){      //要大于退租日期以后的账单,之前的不要(因为已经住过了)chargeData.push(List[i].itemList[j])}}}

效果图:

js房源退租(违约合同退款),已付但未住满退款。相关推荐

  1. 房源租赁签约管理系统、租房系统、退租、续租、换租、转租、房源管理、招租系统、租期账单、合同管理、营销推广、租客系统、业主系统、web原型、业务流程 、门禁系统、Axure原型、rp源文件

    房源租赁签约管理系统.租房系统.退租.续租.换租.转租.房源管理.招租系统.租期账单.合同管理.营销推广.租客系统.门禁系统.业主系统.web原型.业务流程 .Axure原型.rp源文件 Axure原 ...

  2. 互联网晚报 | 1月11日 星期二 | 恒大集团退租深圳总部大楼;荣耀发布首款折叠旗舰手机;虎牙拿下5年LPL独播权...

    今日看点 ✦ 菜鸟春节保障300城照常收货,3亿补贴直接发给一线员工 ✦ 荣耀首款折叠屏旗舰手机Magic V正式发布,售价9999元起 ✦ 恒大集团:为节约成本搬迁至深圳自有物业办公,注册地仍在深圳 ...

  3. 互联网日报 | 1/18 星期三 | 网易否决暴雪顺延六个月提案;腾讯回应退租朗科办公楼;苹果发布新款MacBook Pro...

    暴雪中国:上周与网易的顺延谈判失败,将于1月23日中止国服游戏服务 暴雪中国官微发文称,上周再次与网易接触并寻求协助,以探讨将现有的,基于网易于2019年已同意既定条款的协议,顺延六个月.但网易并未在 ...

  4. 武汉坚守第六十三天——七九已满疫未退,印度大法上棍棒

    摘要:七九已满疫未退,传统中医又失败,不要说我中医黑,西医我也曾骂过.中医西医不重要,当代科技才重要.印度大法上棍棒,民主国家倡肉刑.泰国老兄真可爱,活泼孩子眼泪多.疫情尚未全退却,还有隐患在民间. ...

  5. js禁用退格键(BackSpace)

    js禁用退格键(BackSpace) 在TextBox中设置 contentEditable="false" 或者 ReadOnly="true" 那么该文本框 ...

  6. MATLAB闪退,无法打开(已解决)

    MATLAB闪退,无法打开(已解决) 可能是 Windows系统预设文件(preferences)被损坏,需要清除并重设. a) 首先,进入Application Data文件夹.由于此文件夹是一个隐 ...

  7. 微信退款服务器系统失败怎么办,微信退款多久到账?微信退款不成功怎么办?...

    Hi商学院消息,微信退款多久到账?微信退款不成功怎么办?各位微信用户,如果你在微信上进行了金钱的交易,如果交易失败了是会微信退款给您的哦,但是微信退款需要一点时间才会到您的账户,那么微信退款多久到账呢 ...

  8. app里未读消息已读、未读是怎么设计的?

    也不知道大家目前都用的java编程软件有哪些,毕竟在应用程序中,未读和已读消息的设计取决于应用程序的需求和目标.下面是一些常见的设计模式: 一.简单的未读/已读标记 简单的未读/已读标记:这是最常见的 ...

  9. IPhone手机只需十分钟即可从App Store申请退款,非常简单,附退款理由

    大家平时应该多多少少会遇到在App Store买错东西的体验,比如手快买了付费应用,或者订阅无意间扣费,这些情况都是可以退款的!今天就教大家最简单的退款方式,帮助大家要回不必要的花费~ 首先说明退款条 ...

最新文章

  1. 读书笔记 effective c++ Item 5 了解c++默认生成并调用的函数
  2. 蓄电池及直流电源装置的运行维护——Fluke 345 多用途钳表的应用
  3. spring配置详解-属性注入(构造函数)
  4. 轻量级3d模型查看器_你该试试这样来管理你的3D资产了 Connecter
  5. 消息中间件系列(六):什么是流量削峰?如何解决秒杀业务的削峰场景
  6. 在Eclipse中搭建Python开发环境
  7. float right不生效_【工具篇】程序员不愿意写 PPT 是姿势不对?
  8. 调用赋码远程服务异常_Remoting远程访问的这个异常怎么处理???
  9. 【JAVA】doc,excel,等转pdf,swf
  10. 北航计算机学院考研英语一还是二,2020北京航空航天大学计算机考研考试科目知多少?...
  11. 【算法】【感悟】LCP 03. 机器人大冒险
  12. 加群android代码那个是,QQ加群组件-iPhone、Android、网页上加入QQ群
  13. 搭建nexus私服:nexus-3.19.1-01
  14. U盘启动安装Windows7 系统
  15. Python之路第一课Day2--随堂笔记
  16. js模拟小球重力回弹效果
  17. 动画包bootanimation的制作及内置
  18. 【数学分析笔记02】最大数和最小数
  19. 今天偶遇win10的CTRL+c和CTRL+v,失灵。不知道为什么,也试验了各种帖子什么clip不行。发现有一个简单粗暴的方法
  20. DNS域名解析服务配置与测试

热门文章

  1. QCon北京2018,PPT资源下载。人工智能/大数据/软件结构/高并发架构/区块链/k8s等相关技术以及解决方案应有尽有
  2. 网站功能大全 需求分析
  3. 力扣刷题记录-单调栈相关题目
  4. 未转变者服务器关服指令,未转变者死亡不掉落服务器指令 | 手游网游页游攻略大全...
  5. JAVASE-01-java入门
  6. ubuntu有些版本默认安装好了Qt(要注意,打包so文件)
  7. matlab模拟高斯光束波前相位分布,光束波前校正与信标研究
  8. HMI-54-【多媒体】音乐播放器 3
  9. 项目记录:基于QT的简易音乐播放器
  10. 网络基础(布线系统概述)