|
@@ -1,17 +1,16 @@
|
|
<template>
|
|
<template>
|
|
<div class="m-container">
|
|
<div class="m-container">
|
|
- <h2>
|
|
|
|
|
|
+ <!-- <h2>
|
|
<div class="squrt"></div>
|
|
<div class="squrt"></div>
|
|
教学伴奏
|
|
教学伴奏
|
|
- </h2>
|
|
|
|
|
|
+ </h2> -->
|
|
<div class="m-core">
|
|
<div class="m-core">
|
|
<el-button
|
|
<el-button
|
|
@click="open('COMMON')"
|
|
@click="open('COMMON')"
|
|
type="primary"
|
|
type="primary"
|
|
v-permission="'sysMusicScore/add'"
|
|
v-permission="'sysMusicScore/add'"
|
|
- >添加公用伴奏</el-button
|
|
|
|
|
|
+ >添加曲目</el-button
|
|
>
|
|
>
|
|
- <!-- <el-button @click="open('PERSON')" type="primary" v-permission="'sysMusicScore/add'">添加个人伴奏</el-button> -->
|
|
|
|
<saveform
|
|
<saveform
|
|
ref="searchForm"
|
|
ref="searchForm"
|
|
:model.sync="searchForm"
|
|
:model.sync="searchForm"
|
|
@@ -21,75 +20,30 @@
|
|
<el-form-item prop="search">
|
|
<el-form-item prop="search">
|
|
<el-input
|
|
<el-input
|
|
v-model="searchForm.search"
|
|
v-model="searchForm.search"
|
|
- @submit="submit"
|
|
|
|
- @reset="reset"
|
|
|
|
- @keyup.enter.native="
|
|
|
|
- (e) => {
|
|
|
|
|
|
+ @submit="submit"
|
|
|
|
+ @reset="reset"
|
|
|
|
+ @keyup.enter.native="
|
|
|
|
+ e => {
|
|
e.target.blur();
|
|
e.target.blur();
|
|
$refs.searchForm.save();
|
|
$refs.searchForm.save();
|
|
- submit()
|
|
|
|
|
|
+ submit();
|
|
}
|
|
}
|
|
"
|
|
"
|
|
clearable
|
|
clearable
|
|
placeholder="伴奏编号/伴奏名称"
|
|
placeholder="伴奏编号/伴奏名称"
|
|
/>
|
|
/>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <!-- <el-form-item prop="organId">
|
|
|
|
- <el-select
|
|
|
|
- class="multiple"
|
|
|
|
- v-model.trim="searchForm.organId"
|
|
|
|
- filterable
|
|
|
|
- multiple
|
|
|
|
- collapse-tags
|
|
|
|
- clearable
|
|
|
|
- placeholder="请选择分部"
|
|
|
|
- >
|
|
|
|
- <el-option
|
|
|
|
- v-for="(item, index) in selects.branchs"
|
|
|
|
- :key="index"
|
|
|
|
- :label="item.name"
|
|
|
|
- :value="item.id"
|
|
|
|
- ></el-option>
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item> -->
|
|
|
|
- <!-- 勇哥说没事 -->
|
|
|
|
- <!-- <el-form-item prop="type">
|
|
|
|
- <el-select
|
|
|
|
- v-model="searchForm.type"
|
|
|
|
- clearable
|
|
|
|
- placeholder="请选择类型"
|
|
|
|
- >
|
|
|
|
- <el-option
|
|
|
|
- v-for="(item, key) in songUseType"
|
|
|
|
- :key="key"
|
|
|
|
- :label="item"
|
|
|
|
- :value="key"
|
|
|
|
- ></el-option>
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item> -->
|
|
|
|
- <!-- <el-form-item prop="clientType">
|
|
|
|
- <el-select
|
|
|
|
- v-model="searchForm.clientType"
|
|
|
|
- clearable
|
|
|
|
- filterable
|
|
|
|
- placeholder="请选择客户端类型"
|
|
|
|
- >
|
|
|
|
- <el-option value="NETWORK_ROOM" label="网络教室"></el-option>
|
|
|
|
- <el-option value="SMART_PRACTICE" label="云练习"></el-option>
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item> -->
|
|
|
|
<el-form-item prop="categoriesId">
|
|
<el-form-item prop="categoriesId">
|
|
<el-cascader
|
|
<el-cascader
|
|
ref="myCascader"
|
|
ref="myCascader"
|
|
popper-class="myCascader"
|
|
popper-class="myCascader"
|
|
@change="changeCategor"
|
|
@change="changeCategor"
|
|
:show-all-levels="true"
|
|
:show-all-levels="true"
|
|
- clearable
|
|
|
|
|
|
+ clearable
|
|
v-model="searchForm.categoriesId"
|
|
v-model="searchForm.categoriesId"
|
|
style="width: 100%"
|
|
style="width: 100%"
|
|
:options="tree"
|
|
:options="tree"
|
|
placeholder="请选择分类"
|
|
placeholder="请选择分类"
|
|
-
|
|
|
|
:props="treeProps"
|
|
:props="treeProps"
|
|
></el-cascader>
|
|
></el-cascader>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
@@ -118,7 +72,7 @@
|
|
<el-option :value="1" label="收费"></el-option>
|
|
<el-option :value="1" label="收费"></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item prop="showFlag">
|
|
|
|
|
|
+ <!-- <el-form-item prop="showFlag">
|
|
<el-select
|
|
<el-select
|
|
v-model="searchForm.showFlag"
|
|
v-model="searchForm.showFlag"
|
|
clearable
|
|
clearable
|
|
@@ -128,16 +82,16 @@
|
|
<el-option :value="1" label="启用"></el-option>
|
|
<el-option :value="1" label="启用"></el-option>
|
|
<el-option :value="0" label="停用"></el-option>
|
|
<el-option :value="0" label="停用"></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
- </el-form-item>
|
|
|
|
|
|
+ </el-form-item> -->
|
|
<el-form-item>
|
|
<el-form-item>
|
|
<el-button @click="submit" type="primary">搜索</el-button>
|
|
<el-button @click="submit" type="primary">搜索</el-button>
|
|
<el-button @click="reset" type="danger">重置</el-button>
|
|
<el-button @click="reset" type="danger">重置</el-button>
|
|
- <el-button
|
|
|
|
|
|
+ <!-- <el-button
|
|
@click="onExport"
|
|
@click="onExport"
|
|
type="primary"
|
|
type="primary"
|
|
v-permission="'export/exportMusicScoreList'"
|
|
v-permission="'export/exportMusicScoreList'"
|
|
>导出</el-button
|
|
>导出</el-button
|
|
- >
|
|
|
|
|
|
+ > -->
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</saveform>
|
|
</saveform>
|
|
|
|
|
|
@@ -146,7 +100,7 @@
|
|
:header-cell-style="{ background: '#EDEEF0', color: '#444' }"
|
|
:header-cell-style="{ background: '#EDEEF0', color: '#444' }"
|
|
:data="tableList"
|
|
:data="tableList"
|
|
>
|
|
>
|
|
- <el-table-column align="center" prop="id" label="编号" width="80px">
|
|
|
|
|
|
+ <el-table-column align="center" prop="id" label="编号" width="120px">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
<div>
|
|
<div>
|
|
<copy-text>{{ scope.row.id }}</copy-text>
|
|
<copy-text>{{ scope.row.id }}</copy-text>
|
|
@@ -160,18 +114,6 @@
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <!-- <el-table-column
|
|
|
|
- align="center"
|
|
|
|
- prop="organName"
|
|
|
|
- label="所属分部"
|
|
|
|
- width="180px"
|
|
|
|
- >
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
- <div>
|
|
|
|
- <Tooltip :content="scope.row.organName" />
|
|
|
|
- </div>
|
|
|
|
- </template>
|
|
|
|
- </el-table-column> -->
|
|
|
|
<el-table-column
|
|
<el-table-column
|
|
align="center"
|
|
align="center"
|
|
prop="subjectName"
|
|
prop="subjectName"
|
|
@@ -189,73 +131,24 @@
|
|
{{ scope.row.type | songUseTypeFormat }}
|
|
{{ scope.row.type | songUseTypeFormat }}
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
-
|
|
|
|
- <!-- <el-table-column
|
|
|
|
- align="center"
|
|
|
|
- prop="speed"
|
|
|
|
- label="速度"
|
|
|
|
- /> -->
|
|
|
|
<el-table-column
|
|
<el-table-column
|
|
align="center"
|
|
align="center"
|
|
prop="categoriesName"
|
|
prop="categoriesName"
|
|
label="分类"
|
|
label="分类"
|
|
width="180px"
|
|
width="180px"
|
|
/>
|
|
/>
|
|
- <el-table-column align="center" label="是否收费" width="180px">
|
|
|
|
|
|
+ <el-table-column align="center" label="是否收费">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
{{ scope.row.rankIds ? "收费" : "免费" }}
|
|
{{ scope.row.rankIds ? "收费" : "免费" }}
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column align="center" label="节拍器" width="180px">
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
- {{ scope.row.isOpenMetronome ? "播放" : "不播放" }}
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column
|
|
|
|
- align="center"
|
|
|
|
- prop="subjectNames"
|
|
|
|
- label="是否上传伴奏"
|
|
|
|
- width="120px"
|
|
|
|
- >
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
- <div>
|
|
|
|
- <p>
|
|
|
|
- 含节拍器:{{ scope.row.accompanimentMetronomeUrl ? "是" : "否" }}
|
|
|
|
- </p>
|
|
|
|
- <p>不含节拍器:{{ scope.row.accompanimentUrl ? "是" : "否" }}</p>
|
|
|
|
- </div>
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column align="center" label="伴奏状态" width="180px">
|
|
|
|
|
|
+ <el-table-column align="center" label="状态">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
{{ scope.row.showFlag ? "启用" : "停用" }}
|
|
{{ scope.row.showFlag ? "启用" : "停用" }}
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <!-- <el-table-column
|
|
|
|
- align="center"
|
|
|
|
- prop="categoriesName"
|
|
|
|
- label="客户端类型"
|
|
|
|
- width="180px"
|
|
|
|
- >
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
- <div>
|
|
|
|
- {{ scope.row.clientType | clientType }}
|
|
|
|
- </div>
|
|
|
|
- </template>
|
|
|
|
- </el-table-column> -->
|
|
|
|
- <!-- clientType -->
|
|
|
|
- <el-table-column
|
|
|
|
- align="center"
|
|
|
|
- prop="createUserName"
|
|
|
|
- label="上传人"
|
|
|
|
- width="180px"
|
|
|
|
- />
|
|
|
|
- <el-table-column
|
|
|
|
- align="center"
|
|
|
|
- prop="createTime"
|
|
|
|
- label="上传时间"
|
|
|
|
- width="180px"
|
|
|
|
- />
|
|
|
|
|
|
+ <el-table-column align="center" prop="createUserName" label="上传人" />
|
|
|
|
+ <el-table-column align="center" prop="createTime" label="上传时间" />
|
|
<el-table-column
|
|
<el-table-column
|
|
align="center"
|
|
align="center"
|
|
width="180px"
|
|
width="180px"
|
|
@@ -263,45 +156,19 @@
|
|
fixed="right"
|
|
fixed="right"
|
|
>
|
|
>
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <!-- <el-button
|
|
|
|
- type="text"
|
|
|
|
- @click="looker(scope.row)"
|
|
|
|
- :disabled="
|
|
|
|
- (scope.row.isOpenMetronome
|
|
|
|
- ? !scope.row.url
|
|
|
|
- : !scope.row.metronomeUrl) ||
|
|
|
|
- scope.row.clientType != 'SMART_PRACTICE'
|
|
|
|
- "
|
|
|
|
|
|
+ <el-button type="text" @click="looker(scope.row, 1)"
|
|
>预览</el-button
|
|
>预览</el-button
|
|
- > -->
|
|
|
|
- <el-dropdown :disabled="scope.row.clientType != 'SMART_PRACTICE'">
|
|
|
|
- <span class="el-dropdown-link">
|
|
|
|
- 预览<i class="el-icon-arrow-down el-icon--right"></i>
|
|
|
|
- </span>
|
|
|
|
- <el-dropdown-menu slot="dropdown">
|
|
|
|
- <el-dropdown-item>
|
|
|
|
- <el-button type="text" @click="looker(scope.row, 1)" >系统自带节拍器</el-button></el-dropdown-item>
|
|
|
|
- </el-dropdown-item>
|
|
|
|
- <el-dropdown-item>
|
|
|
|
- <el-button type="text" @click="looker(scope.row, 0)" >原音自带节拍器</el-button></el-dropdown-item>
|
|
|
|
- </el-dropdown-menu>
|
|
|
|
- </el-dropdown>
|
|
|
|
- <el-button
|
|
|
|
- type="text"
|
|
|
|
- @click="player(scope.row)"
|
|
|
|
- :disabled="!scope.row.url"
|
|
|
|
- >播放</el-button
|
|
|
|
>
|
|
>
|
|
<el-button type="text" @click="changeStatus(scope.row)">{{
|
|
<el-button type="text" @click="changeStatus(scope.row)">{{
|
|
scope.row.showFlag ? "停用" : "启用"
|
|
scope.row.showFlag ? "停用" : "启用"
|
|
}}</el-button>
|
|
}}</el-button>
|
|
- <el-button
|
|
|
|
|
|
+ <!-- <el-button
|
|
type="text"
|
|
type="text"
|
|
@click="transcod(scope.row)"
|
|
@click="transcod(scope.row)"
|
|
:disabled="!!scope.row.showFlag"
|
|
:disabled="!!scope.row.showFlag"
|
|
v-permission="'sysMusicScore/transcod'"
|
|
v-permission="'sysMusicScore/transcod'"
|
|
>转码</el-button
|
|
>转码</el-button
|
|
- >
|
|
|
|
|
|
+ > -->
|
|
<el-button
|
|
<el-button
|
|
type="text"
|
|
type="text"
|
|
@click="edit(scope.row)"
|
|
@click="edit(scope.row)"
|
|
@@ -309,12 +176,12 @@
|
|
v-permission="'sysMusicScore/update'"
|
|
v-permission="'sysMusicScore/update'"
|
|
>修改</el-button
|
|
>修改</el-button
|
|
>
|
|
>
|
|
- <el-button
|
|
|
|
|
|
+ <!-- <el-button
|
|
type="text"
|
|
type="text"
|
|
@click="remove(scope.row)"
|
|
@click="remove(scope.row)"
|
|
v-permission="'sysMusicScore/del'"
|
|
v-permission="'sysMusicScore/del'"
|
|
>删除</el-button
|
|
>删除</el-button
|
|
- >
|
|
|
|
|
|
+ > -->
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
@@ -327,27 +194,26 @@
|
|
@pagination="FetchList"
|
|
@pagination="FetchList"
|
|
/>
|
|
/>
|
|
</div>
|
|
</div>
|
|
- <el-dialog
|
|
|
|
- v-if="audioVisible"
|
|
|
|
- width="400px"
|
|
|
|
- :visible.sync="audioVisible"
|
|
|
|
- title="播放伴奏"
|
|
|
|
- >
|
|
|
|
- <audio style="display: block; margin: auto" controls :src="activeUrl" />
|
|
|
|
|
|
+
|
|
|
|
+ <el-dialog :title="title" :visible.sync="visible" width="1100px">
|
|
|
|
+ <EditMusic
|
|
|
|
+ v-if="visible"
|
|
|
|
+ :tree="this.tree"
|
|
|
|
+ @close="visible = false"
|
|
|
|
+ @getList="FetchList"
|
|
|
|
+ />
|
|
</el-dialog>
|
|
</el-dialog>
|
|
- <el-dialog
|
|
|
|
- :title="title"
|
|
|
|
- :visible.sync="visible"
|
|
|
|
- width="740px"
|
|
|
|
- v-if="visible"
|
|
|
|
- >
|
|
|
|
- <submit-form
|
|
|
|
|
|
+
|
|
|
|
+ <el-dialog title="修改曲谱" :visible.sync="muiscVisible" width="500px">
|
|
|
|
+ <EditExtra
|
|
|
|
+ v-if="muiscVisible"
|
|
|
|
+ :tree="this.tree"
|
|
:detail="detail"
|
|
:detail="detail"
|
|
- :type="type"
|
|
|
|
- @submited="FetchList"
|
|
|
|
- @close="visible = false"
|
|
|
|
|
|
+ @close="muiscVisible = false"
|
|
|
|
+ @getList="FetchList"
|
|
/>
|
|
/>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
+
|
|
<el-dialog
|
|
<el-dialog
|
|
v-if="lookVisible"
|
|
v-if="lookVisible"
|
|
width="667px"
|
|
width="667px"
|
|
@@ -357,12 +223,17 @@
|
|
>
|
|
>
|
|
<template slot="title">
|
|
<template slot="title">
|
|
<span style="color: #fff;">预览</span>
|
|
<span style="color: #fff;">预览</span>
|
|
- <el-select v-model="selectPart" placeholder="请选择分谱" @change="onPartChange">
|
|
|
|
|
|
+ <el-select
|
|
|
|
+ v-model="selectPart"
|
|
|
|
+ placeholder="请选择分谱"
|
|
|
|
+ @change="onPartChange"
|
|
|
|
+ >
|
|
<el-option
|
|
<el-option
|
|
v-for="(item, index) in parts"
|
|
v-for="(item, index) in parts"
|
|
:key="item"
|
|
:key="item"
|
|
:label="item"
|
|
:label="item"
|
|
- :value="index">
|
|
|
|
|
|
+ :value="index"
|
|
|
|
+ >
|
|
</el-option>
|
|
</el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</template>
|
|
</template>
|
|
@@ -383,8 +254,17 @@
|
|
import saveform from "@/components/save-form";
|
|
import saveform from "@/components/save-form";
|
|
import pagination from "@/components/Pagination/index";
|
|
import pagination from "@/components/Pagination/index";
|
|
import { songUseType } from "@/constant";
|
|
import { songUseType } from "@/constant";
|
|
-import { QueryPage, Del, Show, queryTree, Transcod } from "./api";
|
|
|
|
|
|
+import {
|
|
|
|
+ QueryPage,
|
|
|
|
+ Del,
|
|
|
|
+ api_sysMusicScoreState,
|
|
|
|
+ queryTree,
|
|
|
|
+ Transcod,
|
|
|
|
+ musicSheetApplicationExtendStatus
|
|
|
|
+} from "./api";
|
|
import form from "./modals/form";
|
|
import form from "./modals/form";
|
|
|
|
+import EditMusic from "./modals/edit-music";
|
|
|
|
+import EditExtra from "./modals/edit-extra";
|
|
import { vaildTeachingUrl } from "@/utils/validate";
|
|
import { vaildTeachingUrl } from "@/utils/validate";
|
|
import { getToken } from "@/utils/auth";
|
|
import { getToken } from "@/utils/auth";
|
|
import deepClone from "@/helpers/deep-clone/";
|
|
import deepClone from "@/helpers/deep-clone/";
|
|
@@ -399,6 +279,8 @@ export default {
|
|
pagination,
|
|
pagination,
|
|
"submit-form": form,
|
|
"submit-form": form,
|
|
Tooltip,
|
|
Tooltip,
|
|
|
|
+ EditMusic,
|
|
|
|
+ EditExtra
|
|
},
|
|
},
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
@@ -413,7 +295,6 @@ export default {
|
|
lookRow: {},
|
|
lookRow: {},
|
|
accompanyUrl: null, // 预览地址
|
|
accompanyUrl: null, // 预览地址
|
|
accompanyUrl2: null, // 预览地址
|
|
accompanyUrl2: null, // 预览地址
|
|
- audioVisible: false,
|
|
|
|
tableList: [],
|
|
tableList: [],
|
|
searchForm: {
|
|
searchForm: {
|
|
search: "",
|
|
search: "",
|
|
@@ -422,36 +303,37 @@ export default {
|
|
categoriesId: [],
|
|
categoriesId: [],
|
|
clientType: "",
|
|
clientType: "",
|
|
rankType: null,
|
|
rankType: null,
|
|
- showFlag: null,
|
|
|
|
|
|
+ showFlag: null
|
|
},
|
|
},
|
|
rules: {
|
|
rules: {
|
|
// 分页规则
|
|
// 分页规则
|
|
limit: 10, // 限制显示条数
|
|
limit: 10, // 限制显示条数
|
|
page: 1, // 当前页
|
|
page: 1, // 当前页
|
|
total: 0, // 总条数
|
|
total: 0, // 总条数
|
|
- page_size: [10, 20, 40, 50], // 选择限制显示条数
|
|
|
|
|
|
+ page_size: [10, 20, 40, 50] // 选择限制显示条数
|
|
},
|
|
},
|
|
detail: null,
|
|
detail: null,
|
|
visible: false,
|
|
visible: false,
|
|
|
|
+ muiscVisible: false,
|
|
tree: [],
|
|
tree: [],
|
|
treeProps: {
|
|
treeProps: {
|
|
value: "id",
|
|
value: "id",
|
|
label: "name",
|
|
label: "name",
|
|
children: "sysMusicScoreCategoriesList",
|
|
children: "sysMusicScoreCategoriesList",
|
|
checkStrictly: true,
|
|
checkStrictly: true,
|
|
- expandTrigger: "hover",
|
|
|
|
- },
|
|
|
|
|
|
+ expandTrigger: "hover"
|
|
|
|
+ }
|
|
};
|
|
};
|
|
},
|
|
},
|
|
computed: {
|
|
computed: {
|
|
title() {
|
|
title() {
|
|
const t1 = this.detail ? "修改" : "添加";
|
|
const t1 = this.detail ? "修改" : "添加";
|
|
- let t2 = this.type === "COMMON" ? "公用" : "个人";
|
|
|
|
- if (this.detail) {
|
|
|
|
- t2 = this.detail.type === "COMMON" ? "公用" : "个人";
|
|
|
|
- }
|
|
|
|
- return t1 + t2 + "伴奏";
|
|
|
|
- },
|
|
|
|
|
|
+ // let t2 = this.type === "COMMON" ? "公用" : "个人";
|
|
|
|
+ // if (this.detail) {
|
|
|
|
+ // t2 = this.detail.type === "COMMON" ? "公用" : "个人";
|
|
|
|
+ // }
|
|
|
|
+ return t1 + "曲目";
|
|
|
|
+ }
|
|
},
|
|
},
|
|
async mounted() {
|
|
async mounted() {
|
|
const { query, params } = this.$route;
|
|
const { query, params } = this.$route;
|
|
@@ -516,7 +398,7 @@ export default {
|
|
categoriesId:
|
|
categoriesId:
|
|
categoriesId && categoriesId.length > 0 ? categoriesId.pop() : null,
|
|
categoriesId && categoriesId.length > 0 ? categoriesId.pop() : null,
|
|
page: this.rules.page,
|
|
page: this.rules.page,
|
|
- rows: this.rules.limit,
|
|
|
|
|
|
+ rows: this.rules.limit
|
|
});
|
|
});
|
|
this.tableList = res.data.rows;
|
|
this.tableList = res.data.rows;
|
|
this.$set(this.rules, "total", res.data.total);
|
|
this.$set(this.rules, "total", res.data.total);
|
|
@@ -524,7 +406,7 @@ export default {
|
|
},
|
|
},
|
|
submit() {
|
|
submit() {
|
|
this.$set(this.rules, "page", 1);
|
|
this.$set(this.rules, "page", 1);
|
|
- this.$refs.searchForm.validate((valid) => {
|
|
|
|
|
|
+ this.$refs.searchForm.validate(valid => {
|
|
if (valid) {
|
|
if (valid) {
|
|
this.FetchList();
|
|
this.FetchList();
|
|
}
|
|
}
|
|
@@ -542,11 +424,13 @@ export default {
|
|
.getElementsByTagName("part-list")?.[0]
|
|
.getElementsByTagName("part-list")?.[0]
|
|
?.getElementsByTagName("score-part") || [];
|
|
?.getElementsByTagName("score-part") || [];
|
|
const partListNames = Array.from(partList).map(
|
|
const partListNames = Array.from(partList).map(
|
|
- (item) => item.getElementsByTagName("part-name")?.[0].textContent || ""
|
|
|
|
|
|
+ item => item.getElementsByTagName("part-name")?.[0].textContent || ""
|
|
);
|
|
);
|
|
this.xmlFirstSpeed =
|
|
this.xmlFirstSpeed =
|
|
xmlParse.getElementsByTagName("per-minute")?.[0]?.textContent || "";
|
|
xmlParse.getElementsByTagName("per-minute")?.[0]?.textContent || "";
|
|
- return partListNames.filter(text => text.toLocaleUpperCase() !== 'COMMON');
|
|
|
|
|
|
+ return partListNames.filter(
|
|
|
|
+ text => text.toLocaleUpperCase() !== "COMMON"
|
|
|
|
+ );
|
|
},
|
|
},
|
|
async looker(row, num) {
|
|
async looker(row, num) {
|
|
try {
|
|
try {
|
|
@@ -558,24 +442,26 @@ export default {
|
|
this.parts = [];
|
|
this.parts = [];
|
|
this.selectPart = 0;
|
|
this.selectPart = 0;
|
|
}
|
|
}
|
|
- let url = location.origin +
|
|
|
|
- "/accompany-web/"
|
|
|
|
- if(/dayaedu.com/.test(location.origin)) {
|
|
|
|
- url = location.origin +
|
|
|
|
- "/accompany/"
|
|
|
|
|
|
+ let url = location.origin + "/accompany-web/";
|
|
|
|
+ if (/dayaedu.com/.test(location.origin)) {
|
|
|
|
+ url = location.origin + "/accompany/";
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ url = "https://test.gym.lexiaoya.cn/accompany-web/";
|
|
|
|
+
|
|
this.accompanyUrl =
|
|
this.accompanyUrl =
|
|
url +
|
|
url +
|
|
"?Authorization=" +
|
|
"?Authorization=" +
|
|
getToken() +
|
|
getToken() +
|
|
- "&platform=web&isOpenMetronome=" +
|
|
|
|
- num +
|
|
|
|
|
|
+ "&platform=web" +
|
|
"#/detail/" +
|
|
"#/detail/" +
|
|
- row.id + '?part-index=' + this.selectPart + '&isMove=1';
|
|
|
|
|
|
+ row.id +
|
|
|
|
+ "?part-index=" +
|
|
|
|
+ this.selectPart +
|
|
|
|
+ "&isMove=1";
|
|
this.lookVisible = true;
|
|
this.lookVisible = true;
|
|
- this.lookNum = num
|
|
|
|
- this.lookRow = row
|
|
|
|
|
|
+ this.lookNum = num;
|
|
|
|
+ this.lookRow = row;
|
|
|
|
|
|
// this.$nextTick(() => {
|
|
// this.$nextTick(() => {
|
|
// console.log(this.$refs.iframe)
|
|
// console.log(this.$refs.iframe)
|
|
@@ -587,12 +473,9 @@ export default {
|
|
// })
|
|
// })
|
|
},
|
|
},
|
|
onPartChange(val) {
|
|
onPartChange(val) {
|
|
- console.log(val, 'val', this.$refs.iframe)
|
|
|
|
- let url = location.origin +
|
|
|
|
- "/accompany-web/"
|
|
|
|
- if(/dayaedu.com/.test(location.origin)) {
|
|
|
|
- url = location.origin +
|
|
|
|
- "/accompany/"
|
|
|
|
|
|
+ let url = location.origin + "/accompany-web/";
|
|
|
|
+ if (/dayaedu.com/.test(location.origin)) {
|
|
|
|
+ url = location.origin + "/accompany/";
|
|
}
|
|
}
|
|
// url +
|
|
// url +
|
|
this.accompanyUrl =
|
|
this.accompanyUrl =
|
|
@@ -600,31 +483,29 @@ export default {
|
|
"?Authorization=" +
|
|
"?Authorization=" +
|
|
getToken() +
|
|
getToken() +
|
|
"&platform=web&isOpenMetronome=" +
|
|
"&platform=web&isOpenMetronome=" +
|
|
- this.lookNum + '&t=' + new Date().getTime() +
|
|
|
|
|
|
+ this.lookNum +
|
|
|
|
+ "&t=" +
|
|
|
|
+ new Date().getTime() +
|
|
"#/detail/" +
|
|
"#/detail/" +
|
|
- this.lookRow.id + '?part-index=' + val + '&isMove=1';
|
|
|
|
- },
|
|
|
|
- player(row) {
|
|
|
|
- this.activeUrl = row.url;
|
|
|
|
- this.audioVisible = true;
|
|
|
|
|
|
+ this.lookRow.id +
|
|
|
|
+ "?part-index=" +
|
|
|
|
+ val +
|
|
|
|
+ "&isMove=1";
|
|
},
|
|
},
|
|
async changeStatus(row) {
|
|
async changeStatus(row) {
|
|
try {
|
|
try {
|
|
let status = row.showFlag ? "停用" : "启用";
|
|
let status = row.showFlag ? "停用" : "启用";
|
|
- await this.$confirm("是否确认" + status + "此伴奏?", "提示", {
|
|
|
|
- type: "warning",
|
|
|
|
- });
|
|
|
|
- await Show({
|
|
|
|
- sysMusicScoreId: row.id,
|
|
|
|
- showFlag: row.showFlag ? 0 : 1,
|
|
|
|
|
|
+ await this.$confirm("是否确认" + status + "此曲目?", "提示", {
|
|
|
|
+ type: "warning"
|
|
});
|
|
});
|
|
|
|
+ await api_sysMusicScoreState(row.id);
|
|
this.$message.success(status + "成功");
|
|
this.$message.success(status + "成功");
|
|
this.FetchList();
|
|
this.FetchList();
|
|
} catch (error) {}
|
|
} catch (error) {}
|
|
},
|
|
},
|
|
edit(row) {
|
|
edit(row) {
|
|
this.detail = row;
|
|
this.detail = row;
|
|
- this.visible = true;
|
|
|
|
|
|
+ this.muiscVisible = true;
|
|
},
|
|
},
|
|
async transcod(row) {
|
|
async transcod(row) {
|
|
try {
|
|
try {
|
|
@@ -640,7 +521,7 @@ export default {
|
|
async remove(row) {
|
|
async remove(row) {
|
|
try {
|
|
try {
|
|
await this.$confirm("是否确认删除此伴奏?", "提示", {
|
|
await this.$confirm("是否确认删除此伴奏?", "提示", {
|
|
- type: "warning",
|
|
|
|
|
|
+ type: "warning"
|
|
});
|
|
});
|
|
await Del(row.id);
|
|
await Del(row.id);
|
|
this.$message.success("删除成功");
|
|
this.$message.success("删除成功");
|
|
@@ -661,18 +542,18 @@ export default {
|
|
categoriesId:
|
|
categoriesId:
|
|
categoriesId && categoriesId.length > 0
|
|
categoriesId && categoriesId.length > 0
|
|
? categoriesId.pop()
|
|
? categoriesId.pop()
|
|
- : null,
|
|
|
|
|
|
+ : null
|
|
},
|
|
},
|
|
fileName: `教学伴奏导出.xls`,
|
|
fileName: `教学伴奏导出.xls`,
|
|
- method: "get",
|
|
|
|
|
|
+ method: "get"
|
|
},
|
|
},
|
|
"确定导出教学伴奏"
|
|
"确定导出教学伴奏"
|
|
);
|
|
);
|
|
- },
|
|
|
|
- },
|
|
|
|
|
|
+ }
|
|
|
|
+ }
|
|
};
|
|
};
|
|
</script>
|
|
</script>
|
|
-<style lang="less">
|
|
|
|
|
|
+<style lang="less" scoped>
|
|
.myCascader {
|
|
.myCascader {
|
|
.el-radio {
|
|
.el-radio {
|
|
width: 100%;
|
|
width: 100%;
|
|
@@ -689,8 +570,6 @@ export default {
|
|
top: 10px;
|
|
top: 10px;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-</style>
|
|
|
|
-<style lang="less" scoped>
|
|
|
|
::v-deep .el-dropdown {
|
|
::v-deep .el-dropdown {
|
|
margin-right: 10px;
|
|
margin-right: 10px;
|
|
color: #14928a;
|
|
color: #14928a;
|