|  | @@ -10,7 +10,7 @@
 | 
	
		
			
				|  |  |        <save-form
 | 
	
		
			
				|  |  |          :inline="true"
 | 
	
		
			
				|  |  |          :model="searchForm"
 | 
	
		
			
				|  |  | -        ref='searchForm'
 | 
	
		
			
				|  |  | +        ref="searchForm"
 | 
	
		
			
				|  |  |          @submit="search"
 | 
	
		
			
				|  |  |          @reset="onReSet"
 | 
	
		
			
				|  |  |        >
 | 
	
	
		
			
				|  | @@ -73,35 +73,43 @@
 | 
	
		
			
				|  |  |          <el-button type="primary" @click="onCreateQRCode('placeholder')"
 | 
	
		
			
				|  |  |            >占位链接</el-button
 | 
	
		
			
				|  |  |          >
 | 
	
		
			
				|  |  | -        <el-button type="primary">器乐考级链接</el-button>
 | 
	
		
			
				|  |  | -        <el-button type="primary">VIP课程链接</el-button>
 | 
	
		
			
				|  |  | -        <el-button type="primary">乐理考级链接</el-button>
 | 
	
		
			
				|  |  | -        <el-button type="primary">导出</el-button>
 | 
	
		
			
				|  |  | +        <el-button type="primary" @click="onCreateQRCode('music')">器乐考级链接</el-button>
 | 
	
		
			
				|  |  | +        <el-button type="primary" @click="onCreateQRCode('vip')">VIP课程链接</el-button>
 | 
	
		
			
				|  |  | +        <el-button type="primary" @click="onCreateQRCode('theory')">乐理考级链接</el-button>
 | 
	
		
			
				|  |  | +        <el-button type="primary" >导出</el-button>
 | 
	
		
			
				|  |  |        </div>
 | 
	
		
			
				|  |  | -      <statistic :col="6" class="statistic" :cols="0">
 | 
	
		
			
				|  |  | +      <statistic :col="4" class="statistic" :cols="0">
 | 
	
		
			
				|  |  |          <statistic-item>
 | 
	
		
			
				|  |  | -          <span><count-to :endVal="3000" /></span>
 | 
	
		
			
				|  |  | +          <span><count-to :endVal="statInfo.instrumentalMusicNum" /></span>
 | 
	
		
			
				|  |  |            <span>器乐考级人次</span>
 | 
	
		
			
				|  |  |          </statistic-item>
 | 
	
		
			
				|  |  |          <statistic-item>
 | 
	
		
			
				|  |  | -          <span><count-to :endVal="3000" /></span>
 | 
	
		
			
				|  |  | -          <span>器乐考级人次</span>
 | 
	
		
			
				|  |  | +          <span><count-to :endVal="statInfo.musicTheoryNum" /></span>
 | 
	
		
			
				|  |  | +          <span>乐理考级人次</span>
 | 
	
		
			
				|  |  |          </statistic-item>
 | 
	
		
			
				|  |  |          <statistic-item>
 | 
	
		
			
				|  |  | -          <span><count-to :endVal="3000" /></span>
 | 
	
		
			
				|  |  | -          <span>器乐考级人次</span>
 | 
	
		
			
				|  |  | +          <span><count-to :endVal="statInfo.buyMusicTheoryNum" /></span>
 | 
	
		
			
				|  |  | +          <span>乐理课购买人数</span>
 | 
	
		
			
				|  |  |          </statistic-item>
 | 
	
		
			
				|  |  |          <statistic-item>
 | 
	
		
			
				|  |  | -          <span><count-to :endVal="3000" /></span>
 | 
	
		
			
				|  |  | -          <span>器乐考级人次</span>
 | 
	
		
			
				|  |  | +          <span><count-to :endVal="statInfo.buyMusicTheoryAmount" /></span>
 | 
	
		
			
				|  |  | +          <span>乐理课成交金额</span>
 | 
	
		
			
				|  |  |          </statistic-item>
 | 
	
		
			
				|  |  |          <statistic-item>
 | 
	
		
			
				|  |  | -          <span><count-to :endVal="3000" /></span>
 | 
	
		
			
				|  |  | -          <span>器乐考级人次</span>
 | 
	
		
			
				|  |  | +          <span><count-to :endVal="statInfo.buyVip1Num" /></span>
 | 
	
		
			
				|  |  | +          <span>1v1VIP课购买人数</span>
 | 
	
		
			
				|  |  |          </statistic-item>
 | 
	
		
			
				|  |  |          <statistic-item>
 | 
	
		
			
				|  |  | -          <span><count-to :endVal="3000" /></span>
 | 
	
		
			
				|  |  | -          <span>器乐考级人次</span>
 | 
	
		
			
				|  |  | +          <span><count-to :endVal="statInfo.buyVip1Amount" /></span>
 | 
	
		
			
				|  |  | +          <span>1v1VIP课购成交金额</span>
 | 
	
		
			
				|  |  | +        </statistic-item>
 | 
	
		
			
				|  |  | +        <statistic-item>
 | 
	
		
			
				|  |  | +          <span><count-to :endVal="statInfo.buyVip2Num" /></span>
 | 
	
		
			
				|  |  | +          <span>1v2VIP课购买人数</span>
 | 
	
		
			
				|  |  | +        </statistic-item>
 | 
	
		
			
				|  |  | +        <statistic-item>
 | 
	
		
			
				|  |  | +          <span><count-to :endVal="statInfo.buyVip2Amount" /></span>
 | 
	
		
			
				|  |  | +          <span>1v2VIP课购成交金额</span>
 | 
	
		
			
				|  |  |          </statistic-item>
 | 
	
		
			
				|  |  |        </statistic>
 | 
	
		
			
				|  |  |        <div class="tableWrap">
 | 
	
	
		
			
				|  | @@ -152,16 +160,39 @@
 | 
	
		
			
				|  |  |            ></el-table-column>
 | 
	
		
			
				|  |  |            <el-table-column
 | 
	
		
			
				|  |  |              align="center"
 | 
	
		
			
				|  |  | -            prop="buyVipNum"
 | 
	
		
			
				|  |  | -            label="vip课购买人数"
 | 
	
		
			
				|  |  | +            prop="buyVip1Num"
 | 
	
		
			
				|  |  | +            label="1v1VIP课购买人数"
 | 
	
		
			
				|  |  |            ></el-table-column>
 | 
	
		
			
				|  |  |            <el-table-column
 | 
	
		
			
				|  |  |              align="center"
 | 
	
		
			
				|  |  | -            prop="buyVipAmount"
 | 
	
		
			
				|  |  | -            label="vip课成交金额"
 | 
	
		
			
				|  |  | +            prop="buyVip1Amount"
 | 
	
		
			
				|  |  | +            label="1v1VIP课成交金额"
 | 
	
		
			
				|  |  | +          >
 | 
	
		
			
				|  |  | +           <template slot-scope="scope">
 | 
	
		
			
				|  |  | +              <div>
 | 
	
		
			
				|  |  | +                {{ scope.row.buyVip1Amount |moneyFormat }}
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +            </template>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +          </el-table-column>
 | 
	
		
			
				|  |  | +          <el-table-column
 | 
	
		
			
				|  |  | +            align="center"
 | 
	
		
			
				|  |  | +            prop="buyVip2Num"
 | 
	
		
			
				|  |  | +            label="1v2VIP课购买人数"
 | 
	
		
			
				|  |  |            ></el-table-column>
 | 
	
		
			
				|  |  |            <el-table-column
 | 
	
		
			
				|  |  |              align="center"
 | 
	
		
			
				|  |  | +            prop="buyVip2Amount"
 | 
	
		
			
				|  |  | +            label="1v2VIP课成交金额"
 | 
	
		
			
				|  |  | +          >
 | 
	
		
			
				|  |  | +             <template slot-scope="scope">
 | 
	
		
			
				|  |  | +              <div>
 | 
	
		
			
				|  |  | +                {{ scope.row.buyVip2Amount |moneyFormat }}
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +            </template>
 | 
	
		
			
				|  |  | +          </el-table-column>
 | 
	
		
			
				|  |  | +          <el-table-column
 | 
	
		
			
				|  |  | +            align="center"
 | 
	
		
			
				|  |  |              prop="buyMusicTheoryNum"
 | 
	
		
			
				|  |  |              label="乐理课购买人数"
 | 
	
		
			
				|  |  |            ></el-table-column>
 | 
	
	
		
			
				|  | @@ -169,7 +200,13 @@
 | 
	
		
			
				|  |  |              align="center"
 | 
	
		
			
				|  |  |              prop="buyMusicTheoryAmount"
 | 
	
		
			
				|  |  |              label="乐理课成交金额"
 | 
	
		
			
				|  |  | -          ></el-table-column>
 | 
	
		
			
				|  |  | +          >
 | 
	
		
			
				|  |  | +            <template slot-scope="scope">
 | 
	
		
			
				|  |  | +              <div>
 | 
	
		
			
				|  |  | +                {{ scope.row.buyMusicTheoryAmount |moneyFormat }}
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +            </template>
 | 
	
		
			
				|  |  | +          </el-table-column>
 | 
	
		
			
				|  |  |            <el-table-column align="center" prop="studentId" label="操作">
 | 
	
		
			
				|  |  |              <template slot-scope="scope">
 | 
	
		
			
				|  |  |                <div>
 | 
	
	
		
			
				|  | @@ -204,6 +241,26 @@ import load from "@/utils/loading";
 | 
	
		
			
				|  |  |  import { queryByOrganId, getSchool, getMusicGroup } from "@/api/systemManage";
 | 
	
		
			
				|  |  |  import { getMusicGroupGradeList } from "./api";
 | 
	
		
			
				|  |  |  import countTo from "vue-count-to";
 | 
	
		
			
				|  |  | +const baseStatusInfo = {
 | 
	
		
			
				|  |  | +  buyMusicTheoryAmount: 0,
 | 
	
		
			
				|  |  | +  buyMusicTheoryNum: 0,
 | 
	
		
			
				|  |  | +  buyVip1Amount: 0,
 | 
	
		
			
				|  |  | +  buyVip1Num: 0,
 | 
	
		
			
				|  |  | +  buyVip2Amount: 0,
 | 
	
		
			
				|  |  | +  buyVip2Num: 0,
 | 
	
		
			
				|  |  | +  cooperationOrganId: 0,
 | 
	
		
			
				|  |  | +  cooperationOrganName: "",
 | 
	
		
			
				|  |  | +  instrumentalMusicNum: 0,
 | 
	
		
			
				|  |  | +  musicGroupId: "",
 | 
	
		
			
				|  |  | +  musicGroupName: "",
 | 
	
		
			
				|  |  | +  musicTheoryNum: 0,
 | 
	
		
			
				|  |  | +  noReserveNum: 0,
 | 
	
		
			
				|  |  | +  normalNum: 0,
 | 
	
		
			
				|  |  | +  organId: 0,
 | 
	
		
			
				|  |  | +  organName: "",
 | 
	
		
			
				|  |  | +  reserveNum: 0,
 | 
	
		
			
				|  |  | +  totalAmount: 0,
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  |  export default {
 | 
	
		
			
				|  |  |    components: { pagination, "count-to": countTo, qrCode },
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -228,6 +285,9 @@ export default {
 | 
	
		
			
				|  |  |          total: 0, // 总条数
 | 
	
		
			
				|  |  |          page_size: [10, 20, 40, 50], // 选择限制显示条数
 | 
	
		
			
				|  |  |        },
 | 
	
		
			
				|  |  | +      statInfo: {
 | 
	
		
			
				|  |  | +        ...baseStatusInfo,
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  |      };
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    //生命周期 - 创建完成(可以访问当前this实例)
 | 
	
	
		
			
				|  | @@ -251,6 +311,11 @@ export default {
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |          this.tableList = res.data.rows;
 | 
	
		
			
				|  |  |          this.rules.total = res.data.total;
 | 
	
		
			
				|  |  | +        if (res?.data?.statInfo) {
 | 
	
		
			
				|  |  | +          this.statInfo = { ...res.data.statInfo };
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +          this.statInfo = { ...baseStatusInfo };
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |        } catch (e) {}
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      search() {
 | 
	
	
		
			
				|  | @@ -270,11 +335,41 @@ export default {
 | 
	
		
			
				|  |  |          this.codeTitle = "占位链接";
 | 
	
		
			
				|  |  |          this.qrCodeUrl = vaildStudentUrl() + "/#/childrenSeat";
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | +      if(status == "theory"){
 | 
	
		
			
				|  |  | +         this.codeTitle = "乐理考级链接";
 | 
	
		
			
				|  |  | +        this.qrCodeUrl = vaildStudentUrl() + "/#/childrenPayment?dHlwZT0y";
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      if(status == "music"){
 | 
	
		
			
				|  |  | +          this.codeTitle = "器乐考级链接";
 | 
	
		
			
				|  |  | +        this.qrCodeUrl = vaildStudentUrl() + "/#/childrenPayment?dHlwZT0x";
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      if(status == "vip"){
 | 
	
		
			
				|  |  | +            this.codeTitle = "VIP课程链接";
 | 
	
		
			
				|  |  | +        this.qrCodeUrl = vaildStudentUrl() + "/#/childrenPayment";
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  |        this.codeStatus = true;
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      changeOrgan(val) {
 | 
	
		
			
				|  |  |        this.searchForm.cooperationId = null;
 | 
	
		
			
				|  |  |        this.searchForm.musicGroupId = null;
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    changeCooper(val) {
 | 
	
		
			
				|  |  | +      this.searchForm.musicGroupId = null;
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    gotoDetail(row) {
 | 
	
		
			
				|  |  | +      // query:{'musicGroupId':}
 | 
	
		
			
				|  |  | +      this.$router.push({
 | 
	
		
			
				|  |  | +        path: "/business/childrensdayDetail",
 | 
	
		
			
				|  |  | +        query: {
 | 
	
		
			
				|  |  | +          musicGroupId: row.musicGroupId,
 | 
	
		
			
				|  |  | +          musicGroupName: row.musicGroupName,
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  watch: {
 | 
	
		
			
				|  |  | +    "searchForm.organId"(val) {
 | 
	
		
			
				|  |  |        if (val) {
 | 
	
		
			
				|  |  |          queryByOrganId({ organId: val }).then((res) => {
 | 
	
		
			
				|  |  |            if (res.code == 200) {
 | 
	
	
		
			
				|  | @@ -283,18 +378,13 @@ export default {
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    changeCooper(val) {
 | 
	
		
			
				|  |  | -      this.searchForm.musicGroupId = null;
 | 
	
		
			
				|  |  | +    "searchForm.cooperationId"(val) {
 | 
	
		
			
				|  |  |        if (val) {
 | 
	
		
			
				|  |  |          getMusicGroup({ cooperationId: val }).then((res) => {
 | 
	
		
			
				|  |  |            this.musicList = res.data;
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    gotoDetail(row) {
 | 
	
		
			
				|  |  | -      // query:{'musicGroupId':}
 | 
	
		
			
				|  |  | -      this.$router.push({ path: "/business/childrensdayDetail",query:{'musicGroupId':row.musicGroupId,'musicGroupName':row.musicGroupName} });
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  |  </script>
 |