|
@@ -20,6 +20,7 @@
|
|
|
v-model.trim="searchForm.organId"
|
|
|
clearable
|
|
|
placeholder="请选择分部"
|
|
|
+ @change="changeOrgan"
|
|
|
>
|
|
|
<el-option
|
|
|
v-for="(item, index) in selects.branchs"
|
|
@@ -31,11 +32,12 @@
|
|
|
</el-form-item>
|
|
|
<el-form-item prop="school">
|
|
|
<el-select
|
|
|
- v-model.trim="searchForm.school"
|
|
|
+ v-model.trim="searchForm.cooperationId"
|
|
|
:disabled="!searchForm.organId"
|
|
|
filterable
|
|
|
clearable
|
|
|
placeholder="请选择合作单位"
|
|
|
+ @change="changeCooper"
|
|
|
>
|
|
|
<el-option
|
|
|
v-for="(item, index) in cooperationList"
|
|
@@ -51,7 +53,7 @@
|
|
|
clearable
|
|
|
filterable
|
|
|
placeholder="请选择乐团"
|
|
|
- :disabled="!searchForm.school"
|
|
|
+ :disabled="!searchForm.cooperationId"
|
|
|
>
|
|
|
<el-option
|
|
|
v-for="(item, index) in musicList"
|
|
@@ -67,7 +69,9 @@
|
|
|
</el-form-item>
|
|
|
</save-form>
|
|
|
<div class="btnList">
|
|
|
- <el-button type="primary">占位链接</el-button>
|
|
|
+ <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>
|
|
@@ -107,74 +111,70 @@
|
|
|
>
|
|
|
<el-table-column
|
|
|
align="center"
|
|
|
- prop="studentId"
|
|
|
+ prop="organName"
|
|
|
label="分部"
|
|
|
></el-table-column>
|
|
|
<el-table-column
|
|
|
align="center"
|
|
|
- prop="studentId"
|
|
|
+ prop="cooperationOrganName"
|
|
|
label="合作单位"
|
|
|
></el-table-column>
|
|
|
<el-table-column
|
|
|
align="center"
|
|
|
- prop="studentId"
|
|
|
+ prop="musicGroupName"
|
|
|
label="乐团名称"
|
|
|
></el-table-column>
|
|
|
<el-table-column
|
|
|
align="center"
|
|
|
- prop="studentId"
|
|
|
+ prop="normalNum"
|
|
|
label="在读人数"
|
|
|
></el-table-column>
|
|
|
<el-table-column
|
|
|
align="center"
|
|
|
- prop="studentId"
|
|
|
+ prop="reserveNum"
|
|
|
label="预约人数"
|
|
|
></el-table-column>
|
|
|
<el-table-column
|
|
|
align="center"
|
|
|
- prop="studentId"
|
|
|
+ prop="noReserveNum"
|
|
|
label="未预约人数"
|
|
|
></el-table-column>
|
|
|
<el-table-column
|
|
|
align="center"
|
|
|
- prop="studentId"
|
|
|
+ prop="instrumentalMusicNum"
|
|
|
label="器乐考级人次"
|
|
|
></el-table-column>
|
|
|
<el-table-column
|
|
|
align="center"
|
|
|
- prop="studentId"
|
|
|
+ prop="musicTheoryNum"
|
|
|
label="乐理考级人次"
|
|
|
></el-table-column>
|
|
|
<el-table-column
|
|
|
align="center"
|
|
|
- prop="studentId"
|
|
|
+ prop="buyVipNum"
|
|
|
label="vip课购买人数"
|
|
|
></el-table-column>
|
|
|
<el-table-column
|
|
|
align="center"
|
|
|
- prop="studentId"
|
|
|
+ prop="buyVipAmount"
|
|
|
label="vip课成交金额"
|
|
|
></el-table-column>
|
|
|
<el-table-column
|
|
|
align="center"
|
|
|
- prop="studentId"
|
|
|
+ prop="buyMusicTheoryNum"
|
|
|
label="乐理课购买人数"
|
|
|
></el-table-column>
|
|
|
<el-table-column
|
|
|
align="center"
|
|
|
- prop="studentId"
|
|
|
+ prop="buyMusicTheoryAmount"
|
|
|
label="乐理课成交金额"
|
|
|
></el-table-column>
|
|
|
- <el-table-column
|
|
|
- align="center"
|
|
|
- prop="studentId"
|
|
|
- label="操作"
|
|
|
- >
|
|
|
- <template slot-scope="scope">
|
|
|
- <div>
|
|
|
- <el-button type="text">详情</el-button>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
+ <el-table-column align="center" prop="studentId" label="操作">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>
|
|
|
+ <el-button type="text" @click="gotoDetail(scope.row)">详情</el-button>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
<pagination
|
|
@@ -187,6 +187,7 @@
|
|
|
/>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <qr-code v-model="codeStatus" :title="codeTitle" :codeUrl="qrCodeUrl" />
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -194,21 +195,27 @@
|
|
|
import axios from "axios";
|
|
|
import { getToken } from "@/utils/auth";
|
|
|
import pagination from "@/components/Pagination/index";
|
|
|
+import qrCode from "@/components/QrCode/index";
|
|
|
+import { vaildStudentUrl } from "@/utils/validate";
|
|
|
import load from "@/utils/loading";
|
|
|
-import { queryByOrganId, getSchool } from "@/api/systemManage";
|
|
|
+import { queryByOrganId, getSchool,getMusicGroup } from "@/api/systemManage";
|
|
|
+import { getMusicGroupGradeList } from './api'
|
|
|
import countTo from "vue-count-to";
|
|
|
export default {
|
|
|
- components: { pagination, "count-to": countTo },
|
|
|
+ components: { pagination, "count-to": countTo, qrCode },
|
|
|
|
|
|
data() {
|
|
|
return {
|
|
|
searchForm: {
|
|
|
search: null,
|
|
|
organId: null,
|
|
|
- school: null,
|
|
|
+ cooperationId: null,
|
|
|
+ musicGroupId: null,
|
|
|
},
|
|
|
-
|
|
|
- tableList: [{}],
|
|
|
+ codeStatus: false,
|
|
|
+ codeTitle: null,
|
|
|
+ qrCodeUrl: null,
|
|
|
+ tableList: [],
|
|
|
cooperationList: [],
|
|
|
musicList: [],
|
|
|
rules: {
|
|
@@ -229,13 +236,54 @@ export default {
|
|
|
this.init();
|
|
|
},
|
|
|
methods: {
|
|
|
- init() {},
|
|
|
- getList() {},
|
|
|
+ init() {
|
|
|
+ this.getList()
|
|
|
+ },
|
|
|
+ async getList() {
|
|
|
+ try {
|
|
|
+ const res = await getMusicGroupGradeList({page:this.rules.page,rows:this.rules.limit,...this.searchForm})
|
|
|
+ this.tableList = res.data.rows
|
|
|
+ this.rules.total = res.data.total
|
|
|
+
|
|
|
+ }catch(e){
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ },
|
|
|
search() {
|
|
|
this.rules.page = 1;
|
|
|
this.getList();
|
|
|
},
|
|
|
onReSet() {},
|
|
|
+ onCreateQRCode(status) {
|
|
|
+ if (status == "placeholder") {
|
|
|
+ this.codeTitle = "占位链接";
|
|
|
+ this.qrCodeUrl = vaildStudentUrl() + "/#/childrenSeat";
|
|
|
+ }
|
|
|
+ this.codeStatus = true;
|
|
|
+ },
|
|
|
+ changeOrgan(val) {
|
|
|
+ this.searchForm.cooperationId = null;
|
|
|
+ this.searchForm.musicGroupId = null;
|
|
|
+ if (val) {
|
|
|
+ queryByOrganId({ organId: val }).then((res) => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.cooperationList = res.data;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ changeCooper(val){
|
|
|
+ this.searchForm.musicGroupId = null;
|
|
|
+ if(val){
|
|
|
+ getMusicGroup({cooperationId:val}).then(res=>{
|
|
|
+ this.musicList = res.data;
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ gotoDetail(row){
|
|
|
+ this.$router.push({path:'/business/childrensdayDetail',query:{'musicGroupId':}})
|
|
|
+ }
|
|
|
},
|
|
|
};
|
|
|
</script>
|