liujq 3 лет назад
Родитель
Сommit
02f840e685

+ 1 - 1
example/index.html

@@ -1 +1 @@
-<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,user-scalable=0"><title>房贷税费计算工具-小程序</title><link href=./static/css/app.f993ede2d1d3fb69040b2de914ff3a81.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.40ce5801e49d597d4dcc.js></script><script type=text/javascript src=./static/js/vendor.12ff3cfac001ad07362e.js></script><script type=text/javascript src=./static/js/app.bc032b806f1ec29bef34.js></script></body></html>
+<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,user-scalable=0"><title>房贷税费计算工具-小程序</title><link href=./static/css/app.f993ede2d1d3fb69040b2de914ff3a81.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.b1520085bc05d751548f.js></script><script type=text/javascript src=./static/js/vendor.12ff3cfac001ad07362e.js></script><script type=text/javascript src=./static/js/app.bc032b806f1ec29bef34.js></script></body></html>

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
example/static/js/0.44dde09c66458856f086.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
example/static/js/0.44dde09c66458856f086.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
example/static/js/0.f8df53905ac277e00701.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
example/static/js/0.f8df53905ac277e00701.js.map


+ 2 - 2
example/static/js/manifest.40ce5801e49d597d4dcc.js → example/static/js/manifest.b1520085bc05d751548f.js

@@ -1,2 +1,2 @@
-!function(e){function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}var r=window.webpackJsonp;window.webpackJsonp=function(t,c,a){for(var f,i,u,d=0,s=[];d<t.length;d++)i=t[d],o[i]&&s.push(o[i][0]),o[i]=0;for(f in c)Object.prototype.hasOwnProperty.call(c,f)&&(e[f]=c[f]);for(r&&r(t,c,a);s.length;)s.shift()();if(a)for(d=0;d<a.length;d++)u=n(n.s=a[d]);return u};var t={},o={8:0};n.e=function(e){function r(){f.onerror=f.onload=null,clearTimeout(i);var n=o[e];0!==n&&(n&&n[1](new Error("Loading chunk "+e+" failed.")),o[e]=void 0)}var t=o[e];if(0===t)return new Promise(function(e){e()});if(t)return t[2];var c=new Promise(function(n,r){t=o[e]=[n,r]});t[2]=c;var a=document.getElementsByTagName("head")[0],f=document.createElement("script");f.type="text/javascript",f.charset="utf-8",f.async=!0,f.timeout=12e4,n.nc&&f.setAttribute("nonce",n.nc),f.src=n.p+"static/js/"+e+"."+{0:"44dde09c66458856f086",1:"e7ae89e19ffde13ef42a",2:"efe04b941fbfa6e1bd80",3:"e05b3b95f59713e90801",4:"6da7dc96d81de18cf989",5:"72fe3741fca16123d834",6:"12ff3cfac001ad07362e",7:"bc032b806f1ec29bef34"}[e]+".js";var i=setTimeout(r,12e4);return f.onerror=f.onload=r,a.appendChild(f),c},n.m=e,n.c=t,n.d=function(e,r,t){n.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:t})},n.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(r,"a",r),r},n.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},n.p="./",n.oe=function(e){throw console.error(e),e}}([]);
-//# sourceMappingURL=manifest.40ce5801e49d597d4dcc.js.map
+!function(e){function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}var r=window.webpackJsonp;window.webpackJsonp=function(t,c,a){for(var f,i,u,s=0,d=[];s<t.length;s++)i=t[s],o[i]&&d.push(o[i][0]),o[i]=0;for(f in c)Object.prototype.hasOwnProperty.call(c,f)&&(e[f]=c[f]);for(r&&r(t,c,a);d.length;)d.shift()();if(a)for(s=0;s<a.length;s++)u=n(n.s=a[s]);return u};var t={},o={8:0};n.e=function(e){function r(){f.onerror=f.onload=null,clearTimeout(i);var n=o[e];0!==n&&(n&&n[1](new Error("Loading chunk "+e+" failed.")),o[e]=void 0)}var t=o[e];if(0===t)return new Promise(function(e){e()});if(t)return t[2];var c=new Promise(function(n,r){t=o[e]=[n,r]});t[2]=c;var a=document.getElementsByTagName("head")[0],f=document.createElement("script");f.type="text/javascript",f.charset="utf-8",f.async=!0,f.timeout=12e4,n.nc&&f.setAttribute("nonce",n.nc),f.src=n.p+"static/js/"+e+"."+{0:"f8df53905ac277e00701",1:"e7ae89e19ffde13ef42a",2:"efe04b941fbfa6e1bd80",3:"e05b3b95f59713e90801",4:"6da7dc96d81de18cf989",5:"72fe3741fca16123d834",6:"12ff3cfac001ad07362e",7:"bc032b806f1ec29bef34"}[e]+".js";var i=setTimeout(r,12e4);return f.onerror=f.onload=r,a.appendChild(f),c},n.m=e,n.c=t,n.d=function(e,r,t){n.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:t})},n.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(r,"a",r),r},n.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},n.p="./",n.oe=function(e){throw console.error(e),e}}([]);
+//# sourceMappingURL=manifest.b1520085bc05d751548f.js.map

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
example/static/js/manifest.b1520085bc05d751548f.js.map


+ 44 - 10
src/views/GongJiJinPage.vue

@@ -2,15 +2,37 @@
   <div>
     <group v-show="!showPayPage">
 
-      <x-input type="number" title="房款总价" v-model="totalPrice">
-        <span slot="right">万元</span>
-      </x-input>
-      <cell is-link @click.native="showPayPage=true">
-        <span slot="title"><span>首付比例</span>&nbsp;&nbsp;&nbsp;&nbsp;<span>{{payPercent}}</span></span>
-      </cell>
-      <cell value="万元">
-         <span slot="title"><span>贷款总额</span>&nbsp;&nbsp;&nbsp;&nbsp;<span>{{loanMoney}}</span></span>
+
+      <cell >
+         <span slot="title">计算方式
+           <div class="scoped-ops">
+             <div :class="curType === 'totalPrice' ? 'op cur' : 'op'" @click="tpyeHandle('totalPrice')">按房屋总价</div>
+             <div :class="curType === 'loanPrice' ? 'op cur' : 'op'" @click="tpyeHandle('loanPrice')">按贷款总额</div>
+           </div>
+         </span>
       </cell>
+
+
+
+
+      <div v-if="curType === 'totalPrice' ">
+        <x-input type="number" title="房款总价" v-model="totalPrice">
+          <span slot="right">万元</span>
+        </x-input>
+        <cell is-link @click.native="showPayPage=true">
+          <span slot="title"><span>首付比例</span>&nbsp;&nbsp;&nbsp;&nbsp;<span>{{payPercent}}</span></span>
+        </cell>
+        <cell value="万元">
+          <span slot="title"><span>贷款总额</span>&nbsp;&nbsp;&nbsp;&nbsp;<span>{{loanMoney}}</span></span>
+        </cell>
+      </div>
+      <div class="v-else">
+        <x-input type="number" title="贷款总额" v-model="loanPrice">
+          <span slot="right">万元</span>
+        </x-input>
+      </div>
+
+
       <popup-picker title="按揭年数" :data="loanYearsList"  v-model="loanYear" value-text-align="left">
 
       </popup-picker>
@@ -46,6 +68,8 @@ export default {
   },
   data() {
     return {
+      curType: 'totalPrice',
+      loanPrice: 70,
       isUnique: true,
       loanYearsList: [],
       loanYear: ["20年(240期)"],
@@ -96,17 +120,27 @@ export default {
       }
     }
   },
+  watch: {
+    loanPrice: function () {
+      this.totalPrice = (this.loanPrice / (1 - this.payRate)).toFixed(2)
+      console.log(this.loanPrice / (1 - this.payRate))
+    }
+  },
   methods: {
+    tpyeHandle (str) {
+      console.log(str)
+      this.curType = str
+    },
     caculateLoan() {
       let month = this.loanYear[0].match(/\((\S*)\)/);
       let months = month[1].substr(0,month[1].length-1);
       this.$router.push({
         path: "/payment",
         query: { totalPrice: this.totalPrice,
-        loanMoney:this.loanMoney,
+        loanMoney: this.curType === 'totalPrice' ? this.loanMoney : this.loanPrice,
         months:months,
         rate:this.actRate,
-        payMoney:this.payMoney }
+        payMoney:this.curType === 'totalPrice' ? this.payMoney : '-' }
       });
     },
     submit(payRate, label) {

+ 58 - 12
src/views/ShangDaiPage.vue

@@ -2,15 +2,33 @@
   <div>
     <group v-show="!showPayPage">
 
-      <x-input type="number" title="房款总价" v-model="totalPrice">
-        <span slot="right">万元</span>
-      </x-input>
-      <cell is-link @click.native="showPayPage=true">
-        <span slot="title"><span>首付比例</span>&nbsp;&nbsp;&nbsp;&nbsp;<span>{{payPercent}}</span></span>
-      </cell>
-      <cell value="万元">
-         <span slot="title"><span>贷款总额</span>&nbsp;&nbsp;&nbsp;&nbsp;<span>{{loanMoney}}</span></span>
+
+
+      <cell >
+         <span slot="title">计算方式
+           <div class="scoped-ops">
+             <div :class="curType === 'totalPrice' ? 'op cur' : 'op'" @click="tpyeHandle('totalPrice')">按房屋总价</div>
+             <div :class="curType === 'loanPrice' ? 'op cur' : 'op'" @click="tpyeHandle('loanPrice')">按贷款总额</div>
+           </div>
+         </span>
       </cell>
+
+      <div v-if="curType === 'totalPrice' ">
+        <x-input type="number" title="房款总价" v-model="totalPrice">
+          <span slot="right">万元</span>
+        </x-input>
+        <cell is-link @click.native="showPayPage=true">
+          <span slot="title"><span>首付比例</span>&nbsp;&nbsp;&nbsp;&nbsp;<span>{{payPercent}}</span></span>
+        </cell>
+        <cell value="万元">
+          <span slot="title"><span>贷款总额</span>&nbsp;&nbsp;&nbsp;&nbsp;<span>{{loanMoney}}</span></span>
+        </cell>
+      </div>
+      <div class="v-else">
+        <x-input type="number" title="贷款总额" v-model="loanPrice">
+          <span slot="right">万元</span>
+        </x-input>
+      </div>
       <popup-picker title="按揭年数" :data="loanYearsList"  v-model="loanYear" value-text-align="left">
 
       </popup-picker>
@@ -46,6 +64,8 @@ export default {
   },
   data() {
     return {
+      curType: 'totalPrice',
+      loanPrice: 70,
       isUnique: true,
       loanYearsList: [],
       loanYear: ["20年(240期)"],
@@ -55,7 +75,7 @@ export default {
       loanYears: "",
       moneyRate: "",
       // baseRate: 4.9 / 100,
-      actRate: 4.9 / 100,
+      actRate: 4.25 / 100,
       // showRate: "4.9%",
       payRateLabel: "三成",
       showPayPage: false,
@@ -70,7 +90,7 @@ export default {
         return 4.75 / 100
       }
 
-      return 4.9 / 100
+      return 4.25 / 100
     },
     years () {
       const month = this.loanYear[0].match(/\((\S*)\)/);
@@ -98,17 +118,27 @@ export default {
       }
     }
   },
+  watch: {
+    loanPrice: function () {
+      this.totalPrice = (this.loanPrice / (1 - this.payRate)).toFixed(2)
+      console.log(this.loanPrice / (1 - this.payRate))
+    }
+  },
   methods: {
+    tpyeHandle (str) {
+      console.log(str)
+      this.curType = str
+    },
     caculateLoan() {
       let month = this.loanYear[0].match(/\((\S*)\)/);
       let months = month[1].substr(0,month[1].length-1);
       this.$router.push({
         path: "/payment",
         query: { totalPrice: this.totalPrice,
-        loanMoney:this.loanMoney,
+        loanMoney: this.curType === 'totalPrice' ? this.loanMoney : this.loanPrice,
         months:months,
         rate:this.actRate,
-        payMoney:this.payMoney }
+        payMoney:this.curType === 'totalPrice' ? this.payMoney : '-' }
       });
     },
     submit(payRate, label) {
@@ -134,4 +164,20 @@ export default {
 .vux-popup-picker-value{
   padding-left:20px!important;
 }
+
+.scoped-ops {
+  display: inline-block;
+}
+.scoped-ops .op {
+  display: inline-block;
+  vertical-align: middle;
+  margin-left: 10px;
+  font-size: 14px;
+  padding: 4px 10px;
+  border-radius: 6px;
+}
+.scoped-ops .op.cur {
+  background: #0259e7;
+  color: #fff;
+}
 </style>

Некоторые файлы не были показаны из-за большого количества измененных файлов