lex-xin 5 years ago
parent
commit
8e1155f486

File diff suppressed because it is too large
+ 0 - 0
dist/css/app.79322404.css


File diff suppressed because it is too large
+ 0 - 0
dist/css/chunk-0fdda2f0.0729b0c7.css


+ 0 - 1
dist/css/chunk-6410c4a3.14808612.css

@@ -1 +0,0 @@
-header[data-v-7e459193]{height:.4rem;line-height:.4rem;color:#000;font-size:.17rem;background:#fff;-webkit-box-shadow:0 1px 8px 0 rgba(0,0,0,.07);box-shadow:0 1px 8px 0 rgba(0,0,0,.07);text-align:center}header .back[data-v-7e459193]{width:.2rem;height:.2rem;position:absolute;left:.12rem;top:.1rem}.container[data-v-7e459193]{padding:.22rem .2rem .8rem;font-size:.14rem}.container h1[data-v-7e459193]{font-size:.16rem;text-align:center}.container h2[data-v-7e459193]{font-size:.14rem;font-weight:700;padding-top:.15rem}.container .signature[data-v-7e459193]{display:-webkit-box;display:-ms-flexbox;display:flex;padding-top:.5rem}.container .signature span[data-v-7e459193]{-webkit-box-flex:1;-ms-flex:1;flex:1;position:relative}.container .signature .cachet[data-v-7e459193]{position:absolute;top:-.6rem;left:0;width:1.5rem;height:1.5rem}

+ 0 - 1
dist/css/chunk-68f47906.0d381701.css

@@ -1 +0,0 @@
-.register[data-v-828278fe]{margin-bottom:.3rem}header[data-v-828278fe]{height:.4rem;line-height:.4rem;color:#000;font-size:.17rem;background:#fff;-webkit-box-shadow:0 1px 8px 0 rgba(0,0,0,.07);box-shadow:0 1px 8px 0 rgba(0,0,0,.07);text-align:center;margin-bottom:.06rem}.banner[data-v-828278fe]{font-size:0}.banner img[data-v-828278fe]{width:100%}.reg-title[data-v-828278fe]{padding:0 .12rem;position:relative;height:.4rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#666;font-size:.14rem}.reg-title span[data-v-828278fe]{color:#9b9b9b}.reg-title .card_icon[data-v-828278fe]{display:inline-block;width:.23rem;height:.2rem;margin-right:.1rem;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAUCAYAAABmvqYOAAACFUlEQVRIS72TP2gTYRjGn+eOYKSm6uXUIbYglM7+WdxEHEVHwYKCOAnmNJqkLSjGQdqLreSSZtDBohQUxMlOKoog6OIoOghqGxThYhqkFM3dvZKUSpDr3Uml3/i+v/f5ft8LHxHh6Nb4kECZpoKaCDXXdfYsZEY/hY0yDGj3k1ZxjESfnc6d0CvXv0LkuH1u+HnYLLVyoVdVe7cHgeI6WQBDELyAwsMCnFQU9fVqM79cR5obPswxWSnWKEgFhgNfCPn2hxEOgEgEzginqZeLEvY8ADepKjMrnLieBWBviNBjJq1ii5QnES6IjAi4BcCPtnnTNvKbI09GALWyuZ/g1fUL7yld2xFn7FiQnKNwtpnOfQxifM21srmT4JnAl7syU88Mv2szWnWyj647BpG5emPpEgoFr1P/H2tJWuZtkqeWZXjUNnKPVg3fWhrvVxT1op+557kPGudHXnb3tIp5msJbAJoOuW9lXb7miYkJPRZzj/iFU1Ff1dPZ9+2ebpoJbGSGas8NcRYvC+Whq6hxel6qYeTvrWktumUeBPlMiFF6OADwjlCuAIjXjfwu33B9anIQnlPqNhfwft3I3+2uJafMQ/T4FAJbiFkhbEWQFWC+buT7fcO3VaubgKXd3UEtwfzC2exn3/BOUWoQEkQqMDzC5+sgyxKLA3/z7k+v9f3CyNs17TxMYt3C3wAyGGbzb31SiOpvlWIPRlUdpeMAAAAASUVORK5CYII=) no-repeat 50%;background-size:contain}.btn-group[data-v-828278fe]{margin:.3rem .3rem 0}.btn-group .btn-submit[data-v-828278fe]{background:#14928a;border-radius:1rem;color:#fff;font-size:.18rem}.van-cell[data-v-828278fe]{font-size:.16rem;padding:.13rem .11rem}.van-field__controll[data-v-828278fe]{color:#323233}

File diff suppressed because it is too large
+ 0 - 0
dist/css/chunk-73057ef4.ff7e01af.css


File diff suppressed because it is too large
+ 0 - 0
dist/css/chunk-vendors.b61bf38e.css


BIN
dist/favicon.ico


BIN
dist/img/cachet.221665cb.png


BIN
dist/img/logo.2e9164b9.png


BIN
dist/img/register_banner.2c5526d1.png


BIN
dist/img/wx_bg.74659bff.png


File diff suppressed because it is too large
+ 0 - 0
dist/index.html


File diff suppressed because it is too large
+ 0 - 0
dist/js/app.1c34d2c9.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/app.1c34d2c9.js.map


File diff suppressed because it is too large
+ 0 - 0
dist/js/chunk-0fdda2f0.1cbe7052.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/chunk-0fdda2f0.1cbe7052.js.map


File diff suppressed because it is too large
+ 0 - 0
dist/js/chunk-6410c4a3.4c4eb1f5.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/chunk-6410c4a3.4c4eb1f5.js.map


File diff suppressed because it is too large
+ 0 - 0
dist/js/chunk-68f47906.264cb20a.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/chunk-68f47906.264cb20a.js.map


File diff suppressed because it is too large
+ 0 - 0
dist/js/chunk-73057ef4.10572c61.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/chunk-73057ef4.10572c61.js.map


File diff suppressed because it is too large
+ 0 - 0
dist/js/chunk-vendors.182a6dbf.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/chunk-vendors.182a6dbf.js.map


+ 25 - 1
src/views/Home.vue

@@ -204,6 +204,8 @@ export default {
             let r = res.data.data
             this.result = {
                 payMethod: r.fee_type_,
+                subName: r.sub_name_,
+                grade: r.grade_,
                 voicyPart: r.sub_name_.split('.')[1],
                 isCopperPipe: r.isCopperPipe,
                 patriarchName: r.patriarch_name_,
@@ -298,7 +300,29 @@ export default {
         },
         protocol() {
             // 协议
-            this.$router.push({ path: 'protocol' })
+            let r = this.result
+            let protocol = {
+                patriarchName: r.patriarchName,
+                patriarchPhone: r.patriarchPhone,
+                stuName: r.stuName,
+                grade: r.grade,
+                subName: r.subName,
+                voicyPart: r.voicyPart,
+                payMethod: r.payMethod, // 缴费类型
+                isCopperPipe: r.isCopperPipe // 是否为铜管
+            }
+            let c = this.instrument.config
+            for(let i = 0; i < c.length; i++) {
+                if(c[i].default) {
+                    protocol.name = c[i].name
+                    protocol.referencePrice = c[i].referencePrice
+                    protocol.marketPrice = c[i].marketPrice
+                }
+            }
+            
+            this.$router.push({ path: 'protocol', query: {
+                protocol: JSON.stringify(protocol)
+            }})
         },
         cnToEn(type) {
             let arr = {

+ 62 - 90
src/views/payment.vue

@@ -4,68 +4,66 @@
 
         <div class="section">
             <h2 class="title line_bottom">课程</h2>
-            <p class="indate line_bottom" v-if="!type">有效期至:2019年9月1号 <span>现价:¥580</span></p>
-            <div class="options"  v-if="type" key="yuetuan">
-                <div class="option">
-                    <div class="0_hd"><i class="check_default check_active"></i></div>
-                    <div class="o_bd">乐团课(32次)</div>
-                    <span class="o_ft">
-                        <del>原价:990¥</del> 现价:900¥
-                    </span>
+            <div v-for="s in mainSubject" :key="s.courseId">
+                <p class="indate line_bottom" v-if="s.chargeMode >= 26"><span>现价:¥580</span></p>
+                <div class="options"  v-if="s.chargeMode < 26" key="yuetuan">
+                    <div class="option">
+                        <div class="0_hd"><i class="check_default check_active"></i></div>
+                        <div class="o_bd">乐团课</div>
+                        <span class="o_ft">
+                            <del>原价:¥23520</del> 现价:¥{{ s.buyCount * s.price }}
+                        </span>
+                    </div>
                 </div>
-            </div>
 
-            <div class="options"  v-else key="yuetuan">
-                <div class="option">
-                    <div class="0_hd"><i class="check_default check_active"></i></div>
-                    <div class="o_bd">乐团声部训练</div>
-                </div>
-                <div class="option">
-                    <div class="0_hd"><i class="check_default check_active"></i></div>
-                    <div class="o_bd">乐团合奏训练</div>
-                </div>
-                <div class="option">
-                    <div class="0_hd"><i class="check_default check_active"></i></div>
-                    <div class="o_bd">基础技能训练</div>
-                </div>
-                <div class="option">
-                    <div class="0_hd"><i class="check_default check_active"></i></div>
-                    <div class="o_bd">假期集中训练</div>
+                <div class="options"  v-else key="yuetuan">
+                    <div class="option">
+                        <div class="0_hd"><i class="check_default check_active"></i></div>
+                        <div class="o_bd">乐团声部训练</div>
+                    </div>
+                    <div class="option">
+                        <div class="0_hd"><i class="check_default check_active"></i></div>
+                        <div class="o_bd">乐团合奏训练</div>
+                    </div>
+                    <div class="option">
+                        <div class="0_hd"><i class="check_default check_active"></i></div>
+                        <div class="o_bd">基础技能训练</div>
+                    </div>
+                    <div class="option">
+                        <div class="0_hd"><i class="check_default check_active"></i></div>
+                        <div class="o_bd">假期集中训练</div>
+                    </div>
                 </div>
-            </div>
-
-            <div class="coutInfo" v-if="type" key="type">
-                有效期至:2019年9月1号
-            </div>
 
-            <div class="coutInfo n" v-else key="type">
-                <i class="trumpet_icon"></i>年度安排十个月训练,共计168课时,120元/课时,原价20160元,现仅支付560元/月(约合34.5元/课时)
+                <div class="coutInfo n" v-if="s.chargeMode >= 26">
+                    <i class="trumpet_icon"></i>年度安排十个月训练,共计168课时,120元/课时,原价20160元,现仅支付560元/月(约合34.5元/课时)
+                </div>
             </div>
         </div>
 
 
-        <div class="section">
+        <div class="section" v-for="c in classInfo" :key="c.courseId">
             <div class="options">
                 <div class="option">
                     <div class="0_hd"><i class="check_default check_active"></i></div>
-                    <div class="o_bd">提高课(10次)</div>
+                    <div class="o_bd">提高课({{ c.buyCount }}次)</div>
                     <span class="o_ft">
-                        <del>原价:¥23520</del> 现价:¥900
+                        <del>原价:¥23520</del> 现价:¥{{ c.buyCount * c.price }}
                     </span>
                 </div>
             </div>
 
             <div class="classInfo">
                 <div class="class">
-                    <p>课程名称:{{ classInfo.className }} </p>
-                    <p>学习科目:{{ classInfo.voicyPart }}</p>
-                    <p>每课时长:{{ classInfo.duration }}分钟  </p>
+                    <p>课程名称:{{ c.className }} </p>
+                    <p>学习科目:{{ c.subNames }}</p>
+                    <p>每课时长:{{ c.duration }}分钟  </p>
                 </div>
                 <div class="class">
 
-                    <p>指导老师:{{ classInfo.teaName }}</p>
-                    <p>计划开课时间:{{ classInfo.planStartDate }}</p>
-                    <p>计划开课周期:{{ classInfo.planCycle }}</p>
+                    <p>指导老师:{{ c.teaNames }}</p>
+                    <p>计划开课时间:{{ c.planBegin }}</p>
+                    <p>计划开课周期:{{ c.planCycle }}</p>
                 </div>
             </div>
         </div>
@@ -89,12 +87,14 @@
 
 <script>
 import { payment } from '../mockjs/payment.js'
+import qs from 'qs'
 export default {
     name: 'payment',
     data() {
         return {
-            type: '',
-            classInfo: {},
+            type: true,
+            classInfo: [], // 小课信息
+            mainSubject: [], // 主课程
             // 金额列表,金额计算
             orderInfo: {
                 marketPrice: 0, // 原价总金额
@@ -103,58 +103,30 @@ export default {
         }
     },
     mounted() {
-        let result = payment
-
-        if(result.poOrderInfo && result.poOrderInfo.payMethod < '3.0') {
-            this.type = true
+        // let result = payment
 
-            // 小于3.0
-            this.orderInfo = {
-                marketPrice: 23520 + 900,
-                referencePrice: 900 + 900,
-                class: {
-                    className: '乐团课',
-                    marketPrice: 23520,
-                    referencePrice: 900
-                },
-                dataList: [{
-                    name: '提高课',
-                    marketPrice: 900,
-                    referencePrice: 900
-                }]
+        let userId = this.$route.query.userId
+        axios.post('/user/queryUserCourse', qs.stringify({ userId: userId })).then((res) => {
+            console.log(res)
+            let data = res.data.data
+            if(!res.data.data) {
+                throw '数据为空'
             }
-
-        } else {
-            this.type = false
-
-            // 大于3.0时
-            this.orderInfo = {
-                marketPrice: 20160 + 900,
-                referencePrice: 580 + 900,
-                class: {
-                    classList: ['乐团声部训练', '乐团合奏训练', '基础技能训练', '假期集中训练'],
-                    marketPrice: 20160,
-                    referencePrice: 580
-                },
-                dataList: [{
-                    name: '提高课',
-                    marketPrice: 900,
-                    referencePrice: 900
-                }]
-            }
-        }
-        this.classInfo = result.lessOrderInfo ? result.lessOrderInfo : {}
-        this.classInfo.voicyPart = result.baseInfo.voicyPart
-
+            data.forEach(el => {
+                this.orderInfo.referencePrice += el.buyCount * el.price
+                if(el.classType == 2) {
+                    this.mainSubject.push(el)
+                    this.orderInfo.marketPrice += 23520
+                } else {
+                    this.classInfo.push(el)
+                    this.orderInfo.marketPrice += 0
+                }
+            })
+        })
     },
     methods: {
         buy() {
-            this.$router.push({
-                path: '/alipay',
-                query: {
-                    orderInfo: JSON.stringify(this.orderInfo)
-                }
-            })
+            alert('请不要购买了')
         }
     }
 }

+ 42 - 36
src/views/protocol.vue

@@ -5,40 +5,28 @@
         <div class="container">
             <h1>《乐器借用协议》</h1>
 
-            出借方:<br />
-
-            借用方:<br />
-
-            根据《中华人民共和国经济合同法》,为明确出借方(甲方)与借用方(乙方)权利义务关系。经双方协商一致,订立本协议。<br />
-
-            <h2>第一条 借用期限</h2>
-
-            甲方将(默认为初级型号) 原价价值**元<br />
-            从本协议签订后,乐团开课前交付给乙方使用至其退团日时止收回。<br />
-
-
-            <h2>第二条  押金费用</h2>
-            1.申请领用乐器时缴纳押金,费用共计人民币捌佰元(大写)¥800元(小写),<br />
-            2.待交还所借用乐器时,由我方维修技师检查完毕,乐器符合归还要求时押金原额退回。<br />
-
-
-            <h2>第三条甲方责任</h2>
-            1.向乙方提供的乐器状况必须良好;<br />
-            2.如购置乐器保养服务,则需借用期间协助乙方处理使用问题;<br />
-
-            <h2>第四条借用人责任</h2>
-            1.借用期间不得将乐器转租、出售、典当、抵押、不得将贵重乐器交于非专业人士使用。<br />
-            2. 借用期间有义务爱护所借乐器,每次用完后内外擦干净、装进盒子,自行保存。如有损坏或遗失需照价赔偿(正常使用下的磨损除外)。<br />
-            3. 在借用期限内可以使用该乐器参加学习、排练、演出。<br />
-            4.如至退团日借用方应及时返还所借物品,如超过退团日七日,则按违约需买下此物品处理,押金不退还;<br />
-
-            <h2>第五条</h2>
-            1.甲方未按规定履行责任,应当承担乙方受到的损失。<br />
-            2.乙方未按规定履行责任,应当承担甲方受到的损失外,还应承担自身损失的部分。<br />
-
-            <h2>第六条补充条款</h2>
-            1.如需变更或解除合同需提前7天通知对方。<br />
-            2.因本合同发生纠纷,由当事人协商解决。<br />
+            甲方:    <br />                                 
+            乙方(家长)姓名 {{ protocol.patriarchName }} <br /> 电话:{{ protocol.patriarchPhone }}<br/>
+            学生姓名:{{ protocol.stuName }} <br /> 所在班级:{{ protocol.grade }} <br />所在声部:{{ protocol.subName }}<br/> 
+            为了促进学校乐团健康、持续发展,让更多的学生在校园拥有良好的器乐学习机会,甲方基于公益普惠的原则,决定提供价值{{ protocol.marketPrice }}元的KEY品牌全新乐器供乙方在学校乐团期间免费使用。现根据《中华人民共和国经济合同法》,为明确甲乙双方权利义务,经协商一致,就乙方领用乐器事宜达成如下协议:
+            <h2>一、甲方权责:</h2>
+            1、乙方所领用乐器为甲方资产,乐器所有权归属甲方所有;<br />
+            2、甲方所提供乐器为全新的KEY品牌乐器。在乙方签订领用协议、交纳乐器使用押金后,即交付供乙方在学校乐团期间免费使用;<br />
+            3、乙方归还乐器时,双方当面验收,经甲方维修技师检验确认乐器无人为损坏、可正常使用后,甲方在七个工作日内全额退还押金;<br />
+            4、如乙方已购买甲方乐器保养服务,甲方需在领用期间协助乙方处理乐器维修和保养问题。<br />
+            <h2>二、乙方权责:</h2>
+            1、乙方在签订领用协议、交纳乐器使用押金¥{{ protocol.isCopperPipe ? 800 : 0 }}元(大写人民币捌佰元)后,享有所领用乐器在学校乐团期间的免费使用权。乙方不得将该乐器转租、出售、典当、抵押,不得将乐器交于非专业人士使用。上述乐器领用政策,每位团员仅可享受一次,退团后再次加入将不享受。<br />
+            2、乐器日常维护由乙方自行完成,每次练习完毕后需按老师要求对乐器进行擦拭并装箱保管。如因人为原因(主要指磕碰摔)造成乐器损坏,乙方需自行承担维修费用。如导致乐器不能正常使用(正常使用磨损除外)或乐器遗失,乙方须按乐器团购价格进行赔付。<br />
+            3、当乙方决定不再继续乐团学习时,应及时将乐器归还甲方。如果乙方中断乐团学习2个月内,仍未办理乐器归还手续,则视为乙方违约,所交押金将不予退还,同时乙方须按乐器团购价格进行赔付。<br />
+            <h2>三、乐器标准:</h2>
+            名称:{{ protocol.voicyPart }}       品牌:key      型号:{{ protocol.name }}       团购价格:{{ protocol.referencePrice }}     
+            <h2>四、违约责任  </h2>
+            当事人一方不履行合同义务或者履行合同义务不符合约定的,违约方应赔偿守约方所有实际损失,承担继续履行、采取补救措施或者赔偿损失等违约责任;<br />
+            <h2>五、其他</h2>
+            1、甲乙双方均有义务对本合同所规定的条款保密,不得向任何第三方透露;<br />
+            2、本合同未尽事宜,双方另有约定的从约定;双方没有约定的,遵照相关法律、法规、规章执行;法律、法规、规章没有规定的,双方应当遵循平等自愿、协商一致的原则,另行签订协议作为本合同的补充协议;双方在履行本合同过程中发生争议,协商不成的,任何一方均有权向原告所在地有管辖权的人民法院提起诉讼;<br />
+            3、双方确认,本协议的电子版本与纸质版本具有同等法律效力。发生争议时,电子合同打印件将作为证据提交,各方对其真实性、合法性、关联性无异议。各方如以网络方式签订本协议,则各方以点击“确认”等相关按钮或以电子签名的方式作为对合同内容的同意及确认。<br />
+            4、甲方因履行本协议而相互发出或者提供的所有通知、文件、资料,均以本协议中所列明的电话、APP推送消息送达,乙方如果变更电话,应当自变更前3日内书面通知到对方且获得甲方书面认可方可变更。
 
 
             <div class="signature">
@@ -53,11 +41,29 @@
 export default {
     name: 'protocol',
     data() {
-        return {}
+        return {
+            protocol: {
+                patriarchName: '',
+                patriarchPhone: '',
+                stuName: '',
+                grade: '',
+                subName: '',
+                voicyPart: '',
+                payMethod: '', // 缴费类型
+                isCopperPipe: '', // 是否为铜管
+                name: '',
+                referencePrice: '',
+                marketPrice: ''
+            }
+        }
+    },
+    mounted() {
+        this.protocol = JSON.parse(this.$route.query.protocol)
     },
     methods: {
         goBack() {
-            this.$router.push({ path: '/home' })
+            // this.$router.push({ path: '/home' })
+            history.go(-1)
         }
     }
 }

Some files were not shown because too many files changed in this diff