|  | @@ -55,13 +55,18 @@
 | 
	
		
			
				|  |  |                </el-col>
 | 
	
		
			
				|  |  |                <el-col :span="5">
 | 
	
		
			
				|  |  |                  <span style="color: #AAA; font-size: 12px;"
 | 
	
		
			
				|  |  | -                  >{{ item.num }}({{ item.period | unitFormat }})</span
 | 
	
		
			
				|  |  | +                  >{{ item.num | unitFormatMonth(item.period) }}个月</span
 | 
	
		
			
				|  |  |                  >
 | 
	
		
			
				|  |  |                </el-col>
 | 
	
		
			
				|  |  |                <el-col :span="7" style="text-align: right;">
 | 
	
		
			
				|  |  |                  <del style="color: #1A1A1A; font-size: 14px;width: 100%"
 | 
	
		
			
				|  |  |                    >¥{{
 | 
	
		
			
				|  |  | -                    child.monthPrice | unitFormatPrice(item.period, item.num)
 | 
	
		
			
				|  |  | +                    child.monthPrice
 | 
	
		
			
				|  |  | +                      | unitFormatPrice(
 | 
	
		
			
				|  |  | +                        item.period,
 | 
	
		
			
				|  |  | +                        item.num,
 | 
	
		
			
				|  |  | +                        child.halfYearPrice
 | 
	
		
			
				|  |  | +                      )
 | 
	
		
			
				|  |  |                    }}</del
 | 
	
		
			
				|  |  |                  >
 | 
	
		
			
				|  |  |                </el-col>
 | 
	
	
		
			
				|  | @@ -294,25 +299,36 @@ export default {
 | 
	
		
			
				|  |  |        formatList: [
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |            title: "声部云练",
 | 
	
		
			
				|  |  | -          monthPrice: 240
 | 
	
		
			
				|  |  | +          monthPrice: 240,
 | 
	
		
			
				|  |  | +          halfYearPrice: 980
 | 
	
		
			
				|  |  |          },
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |            title: "合奏云练",
 | 
	
		
			
				|  |  | -          monthPrice: 160
 | 
	
		
			
				|  |  | +          monthPrice: 160,
 | 
	
		
			
				|  |  | +          halfYearPrice: 580
 | 
	
		
			
				|  |  |          },
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |            title: "独奏云练",
 | 
	
		
			
				|  |  | -          monthPrice: 160
 | 
	
		
			
				|  |  | +          monthPrice: 160,
 | 
	
		
			
				|  |  | +          halfYearPrice: 580
 | 
	
		
			
				|  |  |          },
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |            title: "考级云练",
 | 
	
		
			
				|  |  | -          monthPrice: 160
 | 
	
		
			
				|  |  | +          monthPrice: 160,
 | 
	
		
			
				|  |  | +          halfYearPrice: 580
 | 
	
		
			
				|  |  |          },
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |            title: "云课程",
 | 
	
		
			
				|  |  | -          monthPrice: 240
 | 
	
		
			
				|  |  | +          monthPrice: 240,
 | 
	
		
			
				|  |  | +          halfYearPrice: 980
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -      ]
 | 
	
		
			
				|  |  | +      ],
 | 
	
		
			
				|  |  | +      tempNum: {
 | 
	
		
			
				|  |  | +        YEAR: 12,
 | 
	
		
			
				|  |  | +        MONTH: 1,
 | 
	
		
			
				|  |  | +        QUARTERLY: 3,
 | 
	
		
			
				|  |  | +        YEAR_HALF: 6
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  |      };
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    mounted() {
 | 
	
	
		
			
				|  | @@ -902,9 +918,16 @@ export default {
 | 
	
		
			
				|  |  |        };
 | 
	
		
			
				|  |  |        const num = (tempNum[item.period] || 1) * item.num;
 | 
	
		
			
				|  |  |        let price = 0;
 | 
	
		
			
				|  |  | -      this.formatList.forEach(format => {
 | 
	
		
			
				|  |  | -        price += Number(format.monthPrice * num);
 | 
	
		
			
				|  |  | -      });
 | 
	
		
			
				|  |  | +      if (num % 6 === 0) {
 | 
	
		
			
				|  |  | +        const halfYearNum = Number(num / 6);
 | 
	
		
			
				|  |  | +        this.formatList.forEach(format => {
 | 
	
		
			
				|  |  | +          price += Number(format.halfYearPrice * halfYearNum);
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +      } else {
 | 
	
		
			
				|  |  | +        this.formatList.forEach(format => {
 | 
	
		
			
				|  |  | +          price += Number(format.monthPrice * num);
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |        return numeral(Number(price)).format("0,0.00");
 | 
	
		
			
				|  |  |      }
 | 
	
	
		
			
				|  | @@ -919,7 +942,16 @@ export default {
 | 
	
		
			
				|  |  |        };
 | 
	
		
			
				|  |  |        return template[val];
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    unitFormatPrice(val, type, nums) {
 | 
	
		
			
				|  |  | +    unitFormatMonth(val, period) {
 | 
	
		
			
				|  |  | +      const tempNum = {
 | 
	
		
			
				|  |  | +        YEAR: 12,
 | 
	
		
			
				|  |  | +        MONTH: 1,
 | 
	
		
			
				|  |  | +        QUARTERLY: 3,
 | 
	
		
			
				|  |  | +        YEAR_HALF: 6
 | 
	
		
			
				|  |  | +      };
 | 
	
		
			
				|  |  | +      return val * (tempNum[period] || 1);
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    unitFormatPrice(val, type, nums, halfYearPrice) {
 | 
	
		
			
				|  |  |        const tempNum = {
 | 
	
		
			
				|  |  |          YEAR: 12,
 | 
	
		
			
				|  |  |          MONTH: 1,
 | 
	
	
		
			
				|  | @@ -927,7 +959,14 @@ export default {
 | 
	
		
			
				|  |  |          YEAR_HALF: 6
 | 
	
		
			
				|  |  |        };
 | 
	
		
			
				|  |  |        const num = (tempNum[type] || 1) * nums;
 | 
	
		
			
				|  |  | -      return numeral(Number(val * num)).format("0,0.00");
 | 
	
		
			
				|  |  | +      let price = 0;
 | 
	
		
			
				|  |  | +      if (num % 6 === 0) {
 | 
	
		
			
				|  |  | +        const halfYearNum = Number(num / 6);
 | 
	
		
			
				|  |  | +        price += Number(halfYearPrice * halfYearNum);
 | 
	
		
			
				|  |  | +      } else {
 | 
	
		
			
				|  |  | +        price += Number(val * num);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      return numeral(price).format("0,0.00");
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  };
 |