drew %!s(int64=5) %!d(string=hai) anos
pai
achega
7afc15ad15

+ 6 - 0
project.config.json

@@ -140,6 +140,12 @@
                     "name": "视频",
                     "pathName": "pages/video",
                     "scene": null
+                },
+                {
+                    "id": -1,
+                    "name": "选配",
+                    "pathName": "pages/coupe",
+                    "scene": null
                 }
             ]
         }

+ 148 - 0
src/agree.js

@@ -0,0 +1,148 @@
+export default `<div class="content" id="vehicleReservationAgreement"><p class="MsoNormal" align="center" style="mso-char-indent-count:2.0000;text-align:center;
+line-height:20.0000pt;mso-line-height-rule:exactly;"><span style="font-family: 微软雅黑; font-size: 12pt;">条款和条件</span><br></p><p class="MsoNormal" style="text-indent:24.0000pt;mso-char-indent-count:2.0000;line-height:20.0000pt;
+mso-line-height-rule:exactly;"><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">一、您作为买方同意依据本协议中的条款和条件向选定的提车经销商(即</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">本</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">协议</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">项下</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">,由</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">其承担本协议项下甲方的权利与义务,以下简称</font>“</span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">甲方</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;">”</span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">)购买您在订单详情中描述的汽车。</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><o:p></o:p></span></p><p class="MsoNormal" style="text-indent:24.0000pt;mso-char-indent-count:2.0000;line-height:20.0000pt;
+mso-line-height-rule:exactly;"><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">二、订单</font> </span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><o:p></o:p></span></p><p class="MsoNormal" style="text-indent:24.0000pt;mso-char-indent-count:2.0000;line-height:20.0000pt;
+mso-line-height-rule:exactly;"><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">您的在线订车订单(以下简称</font>“订单”)包括以下信息:</span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><o:p></o:p></span></p><p class="MsoNormal" style="text-indent:24.0000pt;mso-char-indent-count:2.0000;line-height:20.0000pt;
+mso-line-height-rule:exactly;"><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;">1. 车辆配置方案:车辆配置方案对您订购的汽车进行描述,包括但不限于该汽车的价格、颜色、配置、内饰、订金等。</span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><o:p></o:p></span></p><p class="MsoNormal" style="text-indent:24.0000pt;mso-char-indent-count:2.0000;line-height:20.0000pt;
+mso-line-height-rule:exactly;"><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;">2. 生产和物流信息:您可以在您的订单详情中查看您订购的汽车的生产信息、物流信息,生产、物流信息将会随着状态的改变而改变。 </span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><o:p></o:p></span></p><p class="MsoNormal" style="text-indent:24.0000pt;mso-char-indent-count:2.0000;line-height:20.0000pt;
+mso-line-height-rule:exactly;"><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;">3. 条款和条件:这些条款和条件在您下订单之日起生效并适用于本次交易。</span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><o:p></o:p></span></p><p class="MsoNormal" style="text-indent:24.0000pt;mso-char-indent-count:2.0000;line-height:20.0000pt;
+mso-line-height-rule:exactly;"><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">三、购买价格,税款和官方费用。</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><o:p></o:p></span></p><p class="MsoNormal" style="text-indent:24.0000pt;mso-char-indent-count:2.0000;line-height:20.0000pt;
+mso-line-height-rule:exactly;"><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">本协议所附车辆配置方案中显示的汽车购买价格在车辆交付之前不会被改变。但如果在汽车交付之前您对当初的车辆配置方案做出改变,请您在下达订单后</font>72小时内取消订单终止本次交易后再重新下单。</span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><o:p></o:p></span></p><p class="MsoNormal" style="text-indent:24.0000pt;mso-char-indent-count:2.0000;line-height:20.0000pt;
+mso-line-height-rule:exactly;"><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">经甲方向您发出支付要求,您应在车辆交付日当天或之前全额支付所购车辆尾款。</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><o:p></o:p></span></p><p class="MsoNormal" style="text-indent:24.0000pt;mso-char-indent-count:2.0000;line-height:20.0000pt;
+mso-line-height-rule:exactly;"><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">四、订购汽车</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><o:p></o:p></span></p><p class="MsoNormal" style="text-indent:24.0000pt;mso-char-indent-count:2.0000;line-height:20.0000pt;
+mso-line-height-rule:exactly;"><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;">1.在您支付订金后,72小时内可无条件取消订单,如</span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">订单</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">超过</font>72小时您未采取</span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">任何操作,视为您</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">接受订单</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">,</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">订单将锁定并安排生产,届时订金将不可退,订金用于抵扣车款。若您需要修改订单,请付款前取消订单或</font>72小时内申请退款后重新下单。您申请退款后,支付的订金将原路退回,该笔订单所享有的所有权益将会失效;</span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><o:p></o:p></span></p><p class="MsoNormal" style="text-indent:24.0000pt;mso-char-indent-count:2.0000;line-height:20.0000pt;
+mso-line-height-rule:exactly;"><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;">2.关于选择贷款购车的客户,在线上提交贷款申请验证通过后,请尽快前往甲方提车经销商处办理贷款资格线下审核,若无法通过线下贷款审核,造成您不能在交付期(包括甲方同意的延期期间)内收货,您将被视为违约,该订单将被取消,在这种情况下,您的订金将只可退还50%并原路退回,且甲方有权将合同项下汽车出售给其他客户。</span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><o:p></o:p></span></p><p class="MsoNormal" style="text-indent:24.0000pt;mso-char-indent-count:2.0000;line-height:20.0000pt;
+mso-line-height-rule:exactly;"><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">五、后续付款</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><o:p></o:p></span></p><p class="MsoNormal" style="text-indent:24.0000pt;mso-char-indent-count:2.0000;line-height:20.0000pt;
+mso-line-height-rule:exactly;"><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">后续付款的数额为汽车的任何应付而未付款项,您应在甲方交付汽车当天或之前支付。您应在收到甲方书面、邮件或电话通知后在约定的交付日期内完成该笔付款;否则甲方有权将您订购的汽车另行处理,且您已付的订金不予退还。</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><o:p></o:p></span></p><p class="MsoNormal" style="text-indent:24.0000pt;mso-char-indent-count:2.0000;line-height:20.0000pt;
+mso-line-height-rule:exactly;"><i><u><span style="font-family: 微软雅黑; font-size: 12pt;"><font face="微软雅黑">为保证您的资金安全,您同意如发生退款,均通过支付款项的账户(支付宝、微信或银行卡)原路退回。如通过第三方账户支付款项,原路退回退款时有可能您不是该账户的授权可使用</font></span></u></i><i><u><span style="font-family: Meiryo; font-size: 12pt;"><font face="Meiryo">⼈</font></span></u></i><i><u><span style="font-family: 微软雅黑; font-size: 12pt;"><font face="微软雅黑">,您明知此风险并自愿承担该风险。如您不同意原路退回款项,您可以向甲方申请退款退至您指定的您本</font></span></u></i><i><u><span style="font-family: Meiryo; font-size: 12pt;"><font face="Meiryo">⼈</font></span></u></i><i><u><span style="font-family: 微软雅黑; font-size: 12pt;"><font face="微软雅黑">当时有效身份证件开立的银行卡账户。</font></span></u></i><i><u><span style="font-family: 微软雅黑; font-size: 12pt;"><o:p></o:p></span></u></i></p><p class="MsoNormal" style="text-indent:24.0000pt;mso-char-indent-count:2.0000;line-height:20.0000pt;
+mso-line-height-rule:exactly;"><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">为保证您的资金安全,您同意您申请时应当向甲方提供您是买方及付款</font></span><span style="mso-spacerun:'yes';font-family:Meiryo;font-size:12.0000pt;
+mso-font-kerning:1.0000pt;"><font face="Meiryo">⼈</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:宋体;
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">的所有证据及相关材料(包括但不限于申请书、捷途的账户及密码、与原件核对</font></span><span style="mso-spacerun:'yes';font-family:Meiryo;font-size:12.0000pt;
+mso-font-kerning:1.0000pt;"><font face="Meiryo">⼀</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:宋体;
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">致的身份证复印件、所有代付款授权委托书、承诺书、与原件核对</font></span><span style="mso-spacerun:'yes';font-family:Meiryo;font-size:12.0000pt;
+mso-font-kerning:1.0000pt;"><font face="Meiryo">⼀</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:宋体;
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">致的本</font></span><span style="mso-spacerun:'yes';font-family:Meiryo;font-size:12.0000pt;
+mso-font-kerning:1.0000pt;"><font face="Meiryo">⼈</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:宋体;
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">有效身份</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">证件开立的银行卡复印件)并且甲方有权根据您提供的材料自行决定是否接受申请。</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><o:p></o:p></span></p><p class="MsoNormal" style="text-indent:24.0000pt;mso-char-indent-count:2.0000;line-height:20.0000pt;
+mso-line-height-rule:exactly;"><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">六、交付</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><o:p></o:p></span></p><p class="MsoNormal" style="text-indent:24.0000pt;mso-char-indent-count:2.0000;line-height:20.0000pt;
+mso-line-height-rule:exactly;"><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">在车辆到店后,甲方将会以电话、短信或者邮件的形式通知您,并与您约定交付时间(交付地在您下单时选择的经销商、服务中心或其他另外双方约定的地点)。同意在约定的交付日期内接受您下单时选择的交付地点接收您的所购汽车。如果您不能在交付期内收货,请联系甲方以要求延期收货,您有一次无条件延期的权力,但若您提出第二次延期收货申请,甲方有权决定是否同意您的要求。延期期间由您和甲方协商确定。</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><o:p></o:p></span></p><p class="MsoNormal" style="text-indent:24.0000pt;mso-char-indent-count:2.0000;line-height:20.0000pt;
+mso-line-height-rule:exactly;"><i><span style="font-family: 微软雅黑; font-size: 12pt;"><font face="微软雅黑">如果您不能在交付期(包括甲方同意的延期期间)内收货,您将被视为违约。在这种情况下,您的订金将不会被退还,且甲方有权将合同项下汽车出售给其他客户。</font></span></i><i><span style="font-family: 微软雅黑; font-size: 12pt;"><o:p></o:p></span></i></p><p class="MsoNormal" style="text-indent:24.0000pt;mso-char-indent-count:2.0000;line-height:20.0000pt;
+mso-line-height-rule:exactly;"><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">七、验收</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><o:p></o:p></span></p><p class="MsoNormal" style="text-indent:24.0000pt;mso-char-indent-count:2.0000;line-height:20.0000pt;
+mso-line-height-rule:exactly;"><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">您同意在接收所购汽车时完成对该汽车的验收,且</font></span><span style="mso-spacerun:'yes';font-family:Meiryo;font-size:12.0000pt;
+mso-font-kerning:1.0000pt;"><font face="Meiryo">⼀</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:宋体;
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">旦完成提车,将视为您已经完成对汽车的验收,认可车况。</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><o:p></o:p></span></p><p class="MsoNormal" style="text-indent:24.0000pt;mso-char-indent-count:2.0000;line-height:20.0000pt;
+mso-line-height-rule:exactly;"><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">甲方也会向您提供</font></span><span style="mso-spacerun:'yes';font-family:Meiryo;font-size:12.0000pt;
+mso-font-kerning:1.0000pt;"><font face="Meiryo">⼀</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:宋体;
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">份适用于您所购汽车的用户手册及其他随车文件,您在使用车辆以前应仔细阅读该用户手册。您应严格按照其内容操作、使用车辆。</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><o:p></o:p></span></p><p class="MsoNormal" style="text-indent:24.0000pt;mso-char-indent-count:2.0000;line-height:20.0000pt;
+mso-line-height-rule:exactly;"><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">八、汽车登记</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><o:p></o:p></span></p><p class="MsoNormal" style="text-indent:24.0000pt;mso-char-indent-count:2.0000;line-height:20.0000pt;
+mso-line-height-rule:exactly;"><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">若甲方承诺对您所购汽车完成登记提供协助,您须按照相关法律的规定提供登记所需的所有文件、证件、批准、许可等,并承担与此相关的税费、开销及费用。国家或车辆登记地的法律、法规、规章或政策有可能发生变化,甲方不能保证您一定能按照签订合同时的相关规定享有权利、享受各种优惠、福利。您同意独立承担由于这些对车辆购置、登记或使用的限制性规定、禁止性规定导致的所购汽车不能登记、不被准予在我国境内道路上行驶和由于国家法律、法规、规章或政策变化导致的所有不利、损失或损害,包括各项权利、优惠、福利的丧失。</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><o:p></o:p></span></p><p class="MsoNormal" style="text-indent:24.0000pt;mso-char-indent-count:2.0000;line-height:20.0000pt;
+mso-line-height-rule:exactly;"><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">九、质量保证</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><o:p></o:p></span></p><p class="MsoNormal" style="text-indent:24.0000pt;mso-char-indent-count:2.0000;line-height:20.0000pt;
+mso-line-height-rule:exactly;"><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">您将在汽车交付之日或之前收到由甲方提供的汽车有限质量保证的书面文本。另外,本条款项下的质量保证还应包括依据法律产生的质量保证要求。</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><o:p></o:p></span></p><p class="MsoNormal" style="text-indent:24.0000pt;mso-char-indent-count:2.0000;line-height:20.0000pt;
+mso-line-height-rule:exactly;"><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">十、责任限制</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><o:p></o:p></span></p><p class="MsoNormal" style="text-indent:24.0000pt;mso-char-indent-count:2.0000;line-height:20.0000pt;
+mso-line-height-rule:exactly;"><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">在任何情况下(除非可适用法律另有规定),甲方都不会对产生于本协议的任何附带损失、特殊损失或间接损失承担责任。如果甲方应对这些损失承担责任,则您唯</font></span><span style="mso-spacerun:'yes';font-family:Meiryo;font-size:12.0000pt;
+mso-font-kerning:1.0000pt;"><font face="Meiryo">⼀</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:宋体;
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">的救济是获得订金的返还以及甲方最高不超过</font></span><span style="mso-spacerun:'yes';font-family:Meiryo;font-size:12.0000pt;
+mso-font-kerning:1.0000pt;"><font face="Meiryo">⼀</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:宋体;
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">倍的订金金额的款项支付。该责任限制条款不应适用于甲方的任何故意不端行为、欺诈或重</font></span><span style="mso-spacerun:'yes';font-family:Meiryo;font-size:12.0000pt;
+mso-font-kerning:1.0000pt;"><font face="Meiryo">⼤</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:宋体;
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">过失,也不适用于</font></span><span style="mso-spacerun:'yes';font-family:Meiryo;font-size:12.0000pt;
+mso-font-kerning:1.0000pt;"><font face="Meiryo">⼈</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:宋体;
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">身伤害或死亡的情形</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><o:p></o:p></span></p><p class="MsoNormal" style="text-indent:24.0000pt;mso-char-indent-count:2.0000;line-height:20.0000pt;
+mso-line-height-rule:exactly;"><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">十一、注册条款及隐私权政策</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><o:p></o:p></span></p><p class="MsoNormal" style="text-indent:24.0000pt;mso-char-indent-count:2.0000;line-height:20.0000pt;
+mso-line-height-rule:exactly;"><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">捷途的客户注册条款及隐私权政策包含在本协议中,可以通过</font>shop.jetour.</span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><o:p></o:p></span></p><p class="MsoNormal" style="line-height:20.0000pt;mso-line-height-rule:exactly;"><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;">com.cn网站浏览该政策,您同意捷途的客户注册条款及隐私权政策。</span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><o:p></o:p></span></p><p class="MsoNormal" style="text-indent:24.0000pt;mso-char-indent-count:2.0000;line-height:20.0000pt;
+mso-line-height-rule:exactly;"><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">十二、适用法律,完整合同,转让</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><o:p></o:p></span></p><p class="MsoNormal" style="text-indent:24.0000pt;mso-char-indent-count:2.0000;line-height:20.0000pt;
+mso-line-height-rule:exactly;"><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">本协议及其解释应适用中华</font></span><span style="mso-spacerun:'yes';font-family:Meiryo;font-size:12.0000pt;
+mso-font-kerning:1.0000pt;"><font face="Meiryo">⼈</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:宋体;
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">民共和国法律(出于本协议之目的,中华</font></span><span style="mso-spacerun:'yes';font-family:Meiryo;font-size:12.0000pt;
+mso-font-kerning:1.0000pt;"><font face="Meiryo">⼈</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:宋体;
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">民共和国法律不包括台湾、香港特别行政区及澳门特别行政区的法律),且不适用其冲突法规则。</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><o:p></o:p></span></p><p class="MsoNormal" style="text-indent:24.0000pt;mso-char-indent-count:2.0000;line-height:20.0000pt;
+mso-line-height-rule:exactly;"><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">本协议取代本协议签订之前的关于本协议项下所售汽车的协议、</font></span><span style="mso-spacerun:'yes';font-family:Meiryo;font-size:12.0000pt;
+mso-font-kerning:1.0000pt;"><font face="Meiryo">⼝</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:宋体;
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">头声明、谈判、交流或声明。没有明确包含在本协议中的关于购买的条款不具有约束</font></span><span style="mso-spacerun:'yes';font-family:Meiryo;font-size:12.0000pt;
+mso-font-kerning:1.0000pt;"><font face="Meiryo">⼒</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:宋体;
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">。</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><o:p></o:p></span></p><p class="MsoNormal" style="text-indent:24.0000pt;mso-char-indent-count:2.0000;line-height:20.0000pt;
+mso-line-height-rule:exactly;"><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">甲方可以自行决定将甲方在本协议项下的权利和义务转让给甲方的任一关联机构。</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><o:p></o:p></span></p><p class="MsoNormal" style="text-indent:24.0000pt;mso-char-indent-count:2.0000;line-height:20.0000pt;
+mso-line-height-rule:exactly;"><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:12.0000pt;mso-font-kerning:1.0000pt;"><font face="微软雅黑">如协议双方对本协议项下条款产生争议的,双方应友好协商解决。协商不成的,双方共同提交至甲方所在地有管辖权的人民法院诉讼解决。</font></span><span style="mso-spacerun:'yes';font-family:微软雅黑;mso-bidi-font-family:'Times New Roman';
+font-size:10.5000pt;mso-font-kerning:1.0000pt;"><o:p></o:p></span></p></div>`;

+ 2 - 1
src/main.js

@@ -63,7 +63,8 @@ export default {
             'pages/order/backMoney',
             'pages/order/logistics',
             'pages/order/transparent',
-            'pages/video'
+            'pages/video',
+            'pages/coupe'
         ],
         tabBar: {
             color: '#6F6E77',

+ 59 - 2
src/pages/car.vue

@@ -143,7 +143,7 @@
                     <div class="price">¥{{ deposit }}</div>
                 </div>
             </div>
-            <div class="btn">生成配置单</div>
+            <div class="btn" @click="submit">生成配置单</div>
         </div>
     </div>
 </template>
@@ -161,7 +161,9 @@ export default {
             currentCaliper: null,
             optionalPackage: [],
             carPrice: 0,
-            deposit: 0
+            deposit: 0,
+            carId: null,
+            carDesc: ''
         };
     },
     computed: {
@@ -207,6 +209,8 @@ export default {
                 console.log(res);
             });
         this.$http.get('/applets/custom/querycarlistforpick').then(res => {
+            this.carId = res[0].id;
+            this.carDesc = res[0].carDesc;
             this.carPrice = res[0].price;
             this.deposit = res[0].deposit;
             this.colorList = res[0].carColorList;
@@ -267,6 +271,59 @@ export default {
                 });
                 this.$set(this.optionalPackage[i].carOptionalPackageList[j], 'selected', true);
             }
+        },
+        submit() {
+            let bookForm = {
+                carId: this.carId,
+                carDesc: this.carDesc,
+                image: this.currentColor.mobileUrl,
+                color: {
+                    id: this.currentColor.id,
+                    name: this.currentColor.name,
+                    material: this.currentColor.carColorMaterialList[0].name,
+                    price: this.currentColor.carColorMaterialList[0].price,
+                    materialId: this.currentColor.carColorMaterialList[0].id
+                },
+                seat: {
+                    id: this.currentSeat.id,
+                    name: this.currentSeat.name,
+                    price: this.currentSeat.price
+                },
+                upholstery: {
+                    id: this.currentUpholstery.id,
+                    name: this.currentUpholstery.name,
+                    price: this.currentUpholstery.price
+                },
+                wheelHub: {
+                    id: this.currentWheelHub.id,
+                    name: this.currentWheelHub.name,
+                    price: this.currentWheelHub.price
+                },
+                caliper: {
+                    id: this.currentCaliper.id,
+                    name: this.currentCaliper.name,
+                    price: this.currentCaliper.price
+                },
+                optionalPackage: this.optionalPackage
+                    .map(parent => {
+                        return parent.carOptionalPackageList
+                            .filter(i => i.selected)
+                            .map(i => {
+                                i.parentName = parent.name;
+                                return i;
+                            });
+                    })
+                    .reduce((a, b) => a.concat(b)),
+                totalPrice: this.totalPrice,
+                deposit: this.deposit
+            };
+            console.log(bookForm);
+            wx.navigateTo({
+                url: '/pages/coupe',
+                success: function(res) {
+                    res.eventChannel.emit('bookForm', bookForm);
+                }
+            });
         }
     }
 };

+ 843 - 0
src/pages/coupe.vue

@@ -0,0 +1,843 @@
+<config>
+{
+    "navigationBarTitleText": "提交选配"
+}
+</config>
+<template>
+    <div class="container">
+        <div class="card" style="padding-bottom: 20px;">
+            <img :src="bookForm.image" mode="aspectFill" class="cover" />
+            <div class="title">恭喜您完成定制</div>
+            <div class="sub-title">{{ bookForm.color.name }}</div>
+            <div class="divider"></div>
+            <div class="small-title">全部选择配置</div>
+            <div class="param" style="margin-top: 14px;">
+                <div class="name">动力:{{ bookForm.carDesc }}</div>
+                <div class="value">¥0</div>
+            </div>
+            <div class="param">
+                <div class="name">座椅:{{ bookForm.seat.name }}</div>
+                <div class="value">¥{{ bookForm.seat.price }}</div>
+            </div>
+            <div class="param">
+                <div class="name">颜色:{{ bookForm.color.name }}/{{ bookForm.color.material }}</div>
+                <div class="value">¥{{ bookForm.color.price }}</div>
+            </div>
+            <!-- <div class="param">
+                <div class="name">材质:{{ bookForm.color.material }}</div>
+                <div class="value">¥{{ bookForm.color.price }}</div>
+            </div> -->
+            <div class="param">
+                <div class="name">内饰:{{ bookForm.upholstery.name }}</div>
+                <div class="value">¥{{ bookForm.upholstery.price }}</div>
+            </div>
+            <div class="param">
+                <div class="name">轮毂:{{ bookForm.wheelHub.name }}</div>
+                <div class="value">¥{{ bookForm.wheelHub.price }}</div>
+            </div>
+            <div class="param">
+                <div class="name">卡钳:{{ bookForm.caliper.name }}</div>
+                <div class="value">¥{{ bookForm.caliper.price }}</div>
+            </div>
+            <div class="param" v-for="(item, i) in bookForm.optionalPackage" :key="i">
+                <div class="name">{{ item.name }}</div>
+                <div class="value">¥{{ item.price }}</div>
+            </div>
+            <div class="sum" style="margin-top: 14px;">
+                <div class="name">总价</div>
+                <div class="value">¥{{ bookForm.totalPrice }}</div>
+            </div>
+            <div class="divider"></div>
+            <div class="sum" style="margin-top: 14px;">
+                <div class="name">订金</div>
+                <div class="value prim">¥{{ bookForm.deposit }}</div>
+            </div>
+        </div>
+        <div class="card" style="padding-bottom: 24px;">
+            <div class="title">填写个人信息</div>
+            <div class="field" style="margin-top: 28px;">
+                <div class="label">姓名</div>
+                <input v-model="name" class="input" placeholder-class="placeholder" placeholder="请输入姓名" />
+            </div>
+            <div class="field">
+                <div class="label">身份证号</div>
+                <input
+                    v-model="idCard"
+                    class="input"
+                    type="idcard"
+                    placeholder-class="placeholder"
+                    placeholder="请输入身份证号"
+                />
+            </div>
+            <div class="field">
+                <div class="label">手机号</div>
+                <input
+                    v-model="mobile"
+                    class="input"
+                    type="number"
+                    placeholder-class="placeholder"
+                    placeholder="请输入手机号"
+                />
+                <!-- <div class="input" v-if="mobile"></div>
+                <button class="input placeholder" v-else open-type="getPhoneNumber" @getphonenumber="getphonenumber">
+                    请输入手机号
+                </button> -->
+            </div>
+            <div class="field" @click="showCityPicker = true">
+                <div class="label">提车城市</div>
+                <div class="input" v-if="cityId">{{ cityName }}</div>
+                <div class="input placeholder" v-else>请选择城市</div>
+                <img src="../static/imgs/icon_arrow_right.png" class="arrow" />
+            </div>
+            <div class="field" @click="chooseDealer">
+                <div class="label">提车经销商</div>
+                <div class="input" v-if="dealerId">{{ dealerName }}</div>
+                <div class="input placeholder" v-else>请选经销商</div>
+                <img src="../static/imgs/icon_arrow_right.png" class="arrow" />
+            </div>
+        </div>
+        <div class="card">
+            <div class="title">选择支付方式</div>
+            <div class="btns">
+                <div class="btn" @click="type = 1" :class="{ active: type === 1 }">
+                    <img
+                        :src="
+                            type === 1
+                                ? require('../static/imgs/btn_icon_check.png')
+                                : require('../static/imgs/btn_icon_uncheck.png')
+                        "
+                    />
+                    <div>全款购车</div>
+                </div>
+                <div class="btn" style="margin-left: 18px;" @click="type = 2" :class="{ active: type === 2 }">
+                    <img
+                        :src="
+                            type === 2
+                                ? require('../static/imgs/btn_icon_check.png')
+                                : require('../static/imgs/btn_icon_uncheck.png')
+                        "
+                    />
+                    <div>贷款购车</div>
+                </div>
+            </div>
+            <div v-if="type === 1" style="height: 28px;"></div>
+            <div v-else>
+                <div class="slider-title">
+                    <div style="flex-grow: 1;">首付比例</div>
+                    <div>{{ percent }}%</div>
+                </div>
+                <div class="slider-wrapper">
+                    <img src="../static/imgs/minus.png" class="icon" @click="addPercent(-1)" />
+                    <div class="slider" id="slider">
+                        <div class="progress" :style="{ width: percent + '%' }"></div>
+                        <div
+                            class="dot"
+                            :style="{ left: percent + '%' }"
+                            @touchstart="touchstart"
+                            @touchmove.stop="touchmove"
+                            @touchend="touchend"
+                            @touchcancel="touchend"
+                        ></div>
+                    </div>
+                    <img src="../static/imgs/plus.png" class="icon" @click="addPercent(1)" />
+                </div>
+                <div class="tabs">
+                    <div class="tab" :class="{ active: tab === 0 }" @click="tab = 0">
+                        <div class="name">{{ loanOptions[0].month }}期</div>
+                        <div class="desc">利率{{ loanOptions[0].rate * 100 }}%</div>
+                    </div>
+                    <div class="tab" :class="{ active: tab === 1 }" @click="tab = 1">
+                        <div class="name">{{ loanOptions[1].month }}期</div>
+                        <div class="desc">利率{{ loanOptions[1].rate * 100 }}%</div>
+                    </div>
+                    <div class="tab" :class="{ active: tab === 2 }" @click="tab = 2">
+                        <div class="name">{{ loanOptions[2].month }}期</div>
+                        <div class="desc">利率{{ loanOptions[2].rate * 100 }}%</div>
+                    </div>
+                </div>
+                <div class="moneys">
+                    <div class="row">
+                        <div class="label">首付款</div>
+                        <div class="value">¥{{ num(downPayment) }}</div>
+                    </div>
+                    <div class="row">
+                        <div class="label">贷款总额</div>
+                        <div class="value">¥{{ num(loan) }}</div>
+                    </div>
+                    <div class="row">
+                        <div class="label">月供金额</div>
+                        <div class="value">¥{{ num(monthly) }}</div>
+                    </div>
+                </div>
+                <div class="tip">此方案仅限参考,实际情况请咨询当地经销商</div>
+            </div>
+        </div>
+        <div class="bottom">
+            <div class="agree" @click="agree = !agree">
+                <img :src="agree ? require('../static/imgs/check.png') : require('../static/imgs/uncheck.png')" />
+                <div>已阅读并同意</div>
+                <div class="prim" @click.stop="showAgree = true">《在线订车协议》</div>
+            </div>
+            <van-button class="btn" block :color="$colors.prim" @click="submit">立即下订</van-button>
+        </div>
+
+        <van-dialog
+            use-slot
+            title="预定协议"
+            :show="showAgree"
+            :confirm-button-color="$colors.prim"
+            confirm-button-text="关闭"
+            @close="showAgree = false"
+        >
+            <div class="agree-content">
+                <rich-text :nodes="agreeContent"></rich-text>
+            </div>
+        </van-dialog>
+
+        <van-action-sheet :show="showCityPicker">
+            <!-- eslint-disable -->
+            <van-picker
+                :columns="[
+                    { values: [], className: 'column1' },
+                    { values: [], className: 'column2' },
+                ]"
+                value-key="name"
+                show-toolbar
+                title="选择城市"
+                @cancel="showCityPicker = false"
+                @confirm="confirmCity"
+                @change="pickerChange"
+                id="cityPicker"
+            />
+            <!-- eslint-enable -->
+        </van-action-sheet>
+
+        <van-action-sheet :show="showDealerPicker">
+            <van-picker
+                :columns="dealerList"
+                value-key="name"
+                show-toolbar
+                title="选择经销商"
+                @cancel="showDealerPicker = false"
+                @confirm="confirmDealer"
+                id="dealerPicker"
+            />
+        </van-action-sheet>
+    </div>
+</template>
+<script>
+export default {
+    data() {
+        return {
+            type: 1,
+            tab: 0,
+            loanOptions: [
+                {
+                    month: 12,
+                    rate: 0.0388
+                },
+                {
+                    month: 24,
+                    rate: 0.0488
+                },
+                {
+                    month: 36,
+                    rate: 0.0588
+                }
+            ],
+            percent: 30,
+            touch: false,
+            sliderRect: {
+                left: 0,
+                width: 0
+            },
+            agree: false,
+            agreeContent: require('../agree.js').default,
+            showAgree: false,
+            name: '',
+            mobile: '',
+            idCard: '',
+            provinceId: null,
+            provinceName: null,
+            cityId: null,
+            cityName: null,
+            showCityPicker: null,
+            picker: null,
+            dealerName: '',
+            dealerCode: '',
+            dealerId: null,
+            spNo: null,
+            dealerList: [],
+            showDealerPicker: false,
+            bookForm: {
+                carId: null,
+                carDesc: null,
+                image: '',
+                color: {
+                    id: null,
+                    name: null,
+                    material: null,
+                    price: null
+                },
+                seat: {
+                    id: null,
+                    name: null,
+                    price: null
+                },
+                upholstery: {
+                    id: null,
+                    name: null,
+                    price: null
+                },
+                wheelHub: {
+                    id: null,
+                    name: null,
+                    price: null
+                },
+                caliper: {
+                    id: null,
+                    name: null,
+                    price: null
+                },
+                optionalPackage: [],
+                totalPrice: 0,
+                deposit: 0
+            }
+        };
+    },
+    onShow() {
+        this.picker = this.$mp.page.selectComponent('#cityPicker');
+        this.$http
+            .get(
+                'https://dealer.jetour.com.cn/api-basic/api/region/findAllProvinces',
+                {},
+                {
+                    header: {
+                        Authorization: ''
+                    }
+                }
+            )
+            .then(res => {
+                this.picker.setColumnValues(0, res);
+                if (res[0]) {
+                    this.pickerChange({
+                        detail: {
+                            index: 0,
+                            value: [res[0]]
+                        }
+                    });
+                }
+            });
+        let eventChannel = this.$mp.page.getOpenerEventChannel();
+        if (eventChannel.on) {
+            eventChannel.on('bookForm', data => {
+                this.bookForm = data;
+            });
+        }
+    },
+    computed: {
+        downPayment() {
+            return ((this.bookForm.totalPrice || 0) * this.percent) / 100;
+        },
+        loan() {
+            return (this.bookForm.totalPrice || 0) - this.downPayment;
+        },
+        monthly() {
+            let monthly = 0;
+            switch (this.tab) {
+                case 0:
+                    monthly = (this.loan / 12) * 1.0388;
+                    break;
+                case 1:
+                    monthly = (this.loan / 24) * 1.0488;
+                    break;
+                case 2:
+                    monthly = (this.loan / 36) * 1.0588;
+                    break;
+            }
+            return Math.ceil(monthly);
+        }
+    },
+    methods: {
+        num(x) {
+            return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
+        },
+        addPercent(d) {
+            this.percent = Math.min(Math.max(this.percent + d, 30), 100);
+        },
+        touchstart() {
+            const query = wx.createSelectorQuery();
+            query.select('#slider').boundingClientRect();
+            query.exec(res => {
+                console.log(res[0]);
+                this.sliderRect = res[0];
+                this.touch = true;
+            });
+        },
+        touchmove(e) {
+            let progress = parseInt(((e.touches[0].clientX - this.sliderRect.left) / this.sliderRect.width) * 100);
+            this.percent = Math.min(Math.max(progress, 30), 100);
+        },
+        touchend() {
+            this.touch = false;
+        },
+        confirmCity() {
+            this.provinceId = this.picker.getColumnValue(0).id;
+            this.provinceName = this.picker.getColumnValue(0).name;
+            this.cityId = this.picker.getColumnValue(1).id;
+            this.cityName = this.picker.getColumnValue(1).name;
+            this.showCityPicker = false;
+            this.dealerName = '';
+            this.dealerId = null;
+            this.getDealer();
+        },
+        pickerChange(e) {
+            if (e.detail.index === 0) {
+                this.$http
+                    .get(
+                        // eslint-disable-next-line prettier/prettier
+                        `https://dealer.jetour.com.cn/api-basic/api/region/findCityByProvinceId/${e.detail.value[0].id}`,
+                        {},
+                        {
+                            header: {
+                                Authorization: ''
+                            }
+                        }
+                    )
+                    .then(res => {
+                        this.picker.setColumnValues(1, res);
+                    });
+            }
+        },
+        getDealer() {
+            this.$http
+                .post(
+                    'https://dealer.jetour.com.cn/api-dealer/dealer-info/searchDealerListByCondition',
+                    {
+                        brandId: '0cbe50af-c29a-4eb0-91cc-4a05c5f05c57',
+                        provinceId: this.provinceId,
+                        cityId: this.cityId,
+                        enabledFlag: 1,
+                        type: 1
+                    },
+                    {
+                        header: {
+                            Authorization: '',
+                            'Content-Type': 'application/json'
+                        }
+                    }
+                )
+                .then(res => {
+                    res.data = res.data.filter(
+                        i => i.showWebsiteFlag == 1 && !(typeof i.code === 'string' && i.code.startsWith('99999'))
+                    );
+                    this.dealerList = res.data;
+                });
+        },
+        chooseDealer() {
+            if (!this.cityId) {
+                wx.showToast({
+                    icon: 'none',
+                    title: '请先选择城市'
+                });
+                return;
+            }
+            this.showDealerPicker = true;
+        },
+        confirmDealer() {
+            let value = this.$mp.page.selectComponent('#dealerPicker').getColumnValue(0);
+            this.dealerName = value.name;
+            this.dealerId = value.id;
+            this.dealerCode = value.code;
+            this.spNo = value.spNo;
+            this.showDealerPicker = false;
+        },
+        getphonenumber(e) {
+            console.log(e);
+        },
+        submit() {
+            if (!this.name) {
+                wx.showToast({
+                    icon: 'none',
+                    title: '请输入姓名'
+                });
+                return;
+            }
+            if (!/^1[3-9]\d{9}$/.test(this.mobile)) {
+                wx.showToast({
+                    icon: 'none',
+                    title: '请输入正确的手机号'
+                });
+                return;
+            }
+            if (
+                !/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X|x)$/.test(
+                    this.idCard
+                )
+            ) {
+                wx.showToast({
+                    icon: 'none',
+                    title: '请输入正确的身份证号'
+                });
+                return;
+            }
+            if (!this.cityId) {
+                wx.showToast({
+                    icon: 'none',
+                    title: '请选择城市'
+                });
+                return;
+            }
+            if (!this.dealerId) {
+                wx.showToast({
+                    icon: 'none',
+                    title: '请选择经销商'
+                });
+                return;
+            }
+            if (!this.agree) {
+                wx.showToast({
+                    icon: 'none',
+                    title: '请阅读并同意《在线订车协议》'
+                });
+                return;
+            }
+            let data = {
+                carId: this.bookForm.carId,
+                carSeatId: this.bookForm.seat.id,
+                carColorId: this.bookForm.color.id,
+                carColorMaterialId: this.bookForm.color.materialId,
+                carUpholsteryId: this.bookForm.upholstery.id,
+                carWheelHubId: this.bookForm.wheelHub.id,
+                carCaliperId: this.bookForm.caliper.id,
+                carPackageIdList: this.bookForm.optionalPackage.map(i => i.id)
+            };
+            this.$http
+                .post('/applets/checkValidMaterielCode', data, {
+                    header: {
+                        'Content-Type': 'application/json'
+                    }
+                })
+                .then(res => {
+                    console.log('checkValidMaterielCode::', res);
+                    if (res.code === 200 && res.data) {
+                        data.materielCode = res.data;
+                        // return this.$http.post('/applets/querycarsettlement', data, {
+                        //     header: {
+                        //         'Content-Type': 'application/json'
+                        //     }
+                        // });
+                        return Promise.resolve();
+                    } else {
+                        return Promise.reject(res.message);
+                    }
+                })
+                .then(res => {
+                    console.log('querycarsettlement::', res);
+                    return this.$http.post(
+                        '/applets/carsubmit/submitcarorder',
+                        {
+                            dealerCode: this.dealerCode,
+                            dealerId: this.dealerId,
+                            pickedCarIds: data,
+                            payType: this.type,
+                            loanInstalmentCount: this.loanOptions[this.tab].month,
+                            incomingUrl: this.$http.parseUrl('/applets/'),
+                            loanRate: this.loanOptions[this.tab].rate,
+                            idCard: this.idCard,
+                            name: this.name,
+                            mobile: this.mobile,
+                            pickCity: this.provinceName + ' ' + this.cityName,
+                            carSupplier: this.dealerName,
+                            carSupplierNo: this.type === 1 ? '100109999999' : this.spNo,
+                            downPaymentRate: this.percent / 100,
+                            materielCode: data.materielCode
+                        },
+                        {
+                            header: {
+                                'Content-Type': 'application/json'
+                            }
+                        }
+                    );
+                });
+        }
+    }
+};
+</script>
+<style lang="less">
+page {
+    background: @bg;
+}
+.card {
+    box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.08);
+    border-radius: 5px;
+    margin: 15px 15px 0 15px;
+    overflow: hidden;
+    background: white;
+}
+.cover {
+    width: 100%;
+    height: calc(464 / 800 * (100vw - 30px));
+}
+.title {
+    margin: 30px 15px 0 15px;
+    text-align: center;
+    font-size: 21px;
+    color: @text1;
+}
+.sub-title {
+    margin: 16px 15px 0 15px;
+    font-size: 14px;
+    color: @text2;
+    text-align: center;
+}
+.divider {
+    margin: 14px 10px 0 10px;
+    height: 1px;
+    background: #ebebeb;
+}
+.small-title {
+    margin-top: 15px;
+    color: @text3;
+    font-size: 12px;
+    text-align: center;
+}
+.param {
+    font-size: 14px;
+    height: 33px;
+    .flex();
+    padding: 0 30px 0 20px;
+    .name {
+        color: @text1;
+        flex-grow: 1;
+    }
+    .value {
+        color: @text2;
+    }
+}
+.sum {
+    color: @text1;
+    .flex();
+    padding: 0 30px 0 20px;
+    .name {
+        font-size: 18px;
+        flex-grow: 1;
+    }
+    .value {
+        font-size: 21px;
+    }
+    .prim {
+        color: @prim;
+    }
+}
+.field {
+    margin: 5px 20px 0 20px;
+    .flex();
+    height: 39px;
+    background: #fdfcfc;
+    border: 1px solid #dde6ef;
+    border-radius: 2px;
+    padding: 0 14px 0 16px;
+    .label {
+        color: @text1;
+        font-size: 14px;
+    }
+    .input {
+        margin: 0;
+        margin-left: 14px;
+        flex-basis: 0;
+        flex-grow: 1;
+        font-size: 16px;
+        color: @text2;
+        text-align: right;
+        border: none;
+        padding: 0;
+        outline: none;
+        -webkit-tap-highlight-color: transparent;
+        background: none;
+        .ellipsis();
+        &::after {
+            display: none;
+        }
+        &.placeholder {
+            color: @text3;
+            font-size: 14px;
+        }
+    }
+    .arrow {
+        width: 7px;
+        height: 13px;
+        margin-left: 12px;
+    }
+}
+.placeholder {
+    color: @text3;
+    font-size: 14px;
+}
+.btns {
+    .flex();
+    justify-content: center;
+    margin-top: 28px;
+    .btn {
+        width: 100px;
+        height: 30px;
+        border-radius: 50px;
+        border: 1px solid #959595;
+        color: #959595;
+        .flex();
+        justify-content: center;
+        font-size: 12px;
+        box-sizing: border-box;
+        line-height: 1;
+        img {
+            width: 14px;
+            height: 14px;
+            margin-right: 6px;
+        }
+        &.active {
+            background: @prim;
+            border: none;
+            color: white;
+        }
+    }
+}
+.tabs {
+    margin-top: 23px;
+    margin-left: 20px;
+    margin-right: 20px;
+    .flex();
+    justify-content: space-around;
+    border-bottom: 1px solid #dde5ef;
+    .tab {
+        width: 60px;
+        .flex-col();
+        justify-content: center;
+        color: @text2;
+        line-height: 1;
+        padding-bottom: 12px;
+        position: relative;
+        .name {
+            font-size: 15px;
+            text-align: center;
+        }
+        .desc {
+            font-size: 11px;
+            margin-top: 6px;
+            text-align: center;
+        }
+        &.active {
+            color: @prim;
+            &::after {
+                content: '';
+                position: absolute;
+                left: 0;
+                bottom: -1px;
+                right: 0;
+                height: 2px;
+                width: 32px;
+                background: @prim;
+                margin: auto;
+            }
+        }
+    }
+}
+.moneys {
+    .flex-col();
+    justify-content: space-between;
+    margin: 28px 64px 0 64px;
+    height: 86px;
+    .row {
+        .flex();
+        .label {
+            font-size: 13px;
+            color: @text1;
+            flex-grow: 1;
+        }
+        .value {
+            font-size: 16px;
+            color: @text1;
+        }
+    }
+}
+.tip {
+    color: @text3;
+    font-size: 12px;
+    padding: 24px 0 21px 0;
+    text-align: center;
+}
+.slider-title {
+    margin: 19px 20px 0 20px;
+    font-size: 12px;
+    color: @text2;
+    .flex();
+}
+.slider-wrapper {
+    .flex();
+    margin: 11px 25px 0 25px;
+    .icon {
+        width: 15px;
+        height: 15px;
+    }
+    .slider {
+        flex-grow: 1;
+        margin: 0;
+        background: fade(@prim, 10%);
+        height: 8px;
+        font-size: 0;
+        position: relative;
+        .progress {
+            background: fade(@prim, 80%);
+            height: 8px;
+        }
+        .dot {
+            width: 15px;
+            height: 15px;
+            background: @prim;
+            border-radius: 50%;
+            position: absolute;
+            left: 0;
+            top: 0;
+            bottom: 0;
+            margin: auto;
+            transform: translateX(-50%);
+        }
+    }
+}
+.bottom {
+    position: fixed;
+    left: 0;
+    right: 0;
+    bottom: 0;
+    background: white;
+    .agree {
+        .flex();
+        color: @text2;
+        font-size: 12px;
+        padding: 0 20px;
+        height: 35px;
+        img {
+            width: 20px;
+            height: 20px;
+            margin-right: 6px;
+        }
+    }
+    .btn {
+        .van-button {
+            border-radius: 0;
+            padding-bottom: calc(env(safe-area-inset-bottom) / 2) !important;
+            height: calc(52px + env(safe-area-inset-bottom) / 2) !important;
+            font-size: 15px;
+        }
+    }
+}
+.container {
+    padding-bottom: 100px;
+    padding-bottom: calc(100px + env(safe-area-inset-bottom));
+}
+.agree-content {
+    height: 60vh;
+    padding: 20px;
+    overflow: auto;
+    font-size: 14px;
+}
+</style>

BIN=BIN
src/static/imgs/btn_icon_check.png


BIN=BIN
src/static/imgs/btn_icon_uncheck.png


BIN=BIN
src/static/imgs/buttondaikuan.png


BIN=BIN
src/static/imgs/buttonquankuan.png