teamList.vue 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677
  1. <template>
  2. <div class="m-container">
  3. <h2>
  4. <div class="squrt"></div>乐团列表
  5. </h2>
  6. <div class="m-core">
  7. <div class="btnList">
  8. <div class='newBand'
  9. v-permission="'/teamBuild'"
  10. @click="createNewTeam">新建乐团</div>
  11. <!-- <div class='newBand'
  12. v-permission="'/teamBuild/trimming'"
  13. @click="resetTeam">乐团调整</div> -->
  14. </div>
  15. <save-form :inline="true"
  16. @submit='search'
  17. @reset='reset'
  18. class="topForm"
  19. ref="topForm"
  20. :model="topForm">
  21. <el-form-item prop='teamName'>
  22. <el-input v-model.trim="topForm.teamName"
  23. clearable
  24. @keyup.enter.native='search'
  25. placeholder="请输入乐团名称"></el-input>
  26. </el-form-item>
  27. <el-form-item prop='orgin'>
  28. <el-select class='multiple'
  29. v-model.trim="topForm.orgin"
  30. filterable
  31. clearable
  32. placeholder="请选择分部">
  33. <el-option v-for="(item,index) in organList"
  34. :key="index"
  35. :label="item.name"
  36. :value="item.id"></el-option>
  37. </el-select>
  38. </el-form-item>
  39. <el-form-item prop='status'>
  40. <el-select class='multiple'
  41. v-model.trim="topForm.status"
  42. filterable
  43. clearable
  44. placeholder="请选择乐团状态">
  45. <el-option v-for="(item,index) in nowStatus"
  46. :key="index"
  47. :label="item.text"
  48. :value="item.value"></el-option>
  49. </el-select>
  50. </el-form-item>
  51. <!-- 收费类型 -->
  52. <el-form-item prop='payType'>
  53. <el-select v-model.trim="topForm.payType"
  54. filterable
  55. placeholder="请选择收费类型"
  56. clearable>
  57. <el-option v-for="(item,index) in typeList"
  58. :key='index'
  59. :label="item.name"
  60. :value="item.id"></el-option>
  61. </el-select>
  62. </el-form-item>
  63. <el-form-item>
  64. <el-button type='danger'
  65. native-type="submit"
  66. >搜索</el-button>
  67. </el-form-item>
  68. <el-form-item>
  69. <el-button type='primary'
  70. native-type="reset"
  71. >重置</el-button>
  72. </el-form-item>
  73. </save-form>
  74. <div class="tableWrap">
  75. <el-table style="width: 100%"
  76. @selection-change="handleSelectionChange"
  77. :header-cell-style="{background:'#EDEEF0',color:'#444'}"
  78. :data='tableData'>
  79. <!-- <el-table-column type="selection"
  80. :selectable="checkSelectable"
  81. width="50">
  82. </el-table-column> -->
  83. <el-table-column prop="id"
  84. width="100"
  85. align='center'
  86. label="乐团编号">
  87. <template slot-scope="scope">
  88. <copy-text>{{scope.row.id}}</copy-text>
  89. </template>
  90. </el-table-column>
  91. <el-table-column prop="name"
  92. width="200px"
  93. align='center'
  94. label="乐团名称">
  95. <template slot-scope="scope">
  96. <copy-text>{{scope.row.name}}</copy-text>
  97. </template>
  98. </el-table-column>
  99. <el-table-column align='center'
  100. width="200px"
  101. prop="cooperationOrganName"
  102. max-width='274'
  103. label="合作单位">
  104. </el-table-column>
  105. <el-table-column prop="status"
  106. align='center'
  107. label="乐团状态">
  108. <template slot-scope="scope">
  109. <div>
  110. {{ scope.row.status | teamStatus }}
  111. </div>
  112. </template>
  113. </el-table-column>
  114. <el-table-column align='center'
  115. prop="chargeTypeName"
  116. label="收费类型">
  117. </el-table-column>
  118. <el-table-column prop="educationalTeacherName"
  119. align='center'
  120. label="乐团主管">
  121. </el-table-column>
  122. <el-table-column prop="teamTeacherName"
  123. align='center'
  124. label="运营主管">
  125. </el-table-column>
  126. <el-table-column prop="groupMemberNum"
  127. align='center'
  128. label="成团人数">
  129. </el-table-column>
  130. <el-table-column prop="payNum"
  131. align='center'
  132. label="在读人数">
  133. </el-table-column>
  134. <!-- <el-table-column prop="course"
  135. align='center'
  136. label="当前课时">
  137. </el-table-column> -->
  138. <el-table-column prop="createTime"
  139. width='100px'
  140. align='center'
  141. label="申请时间">
  142. <template slot-scope="scope">
  143. <div>
  144. {{ scope.row.createTime | formatTimer}}
  145. </div>
  146. </template>
  147. </el-table-column>
  148. <el-table-column align='center'
  149. width='100px'
  150. label="成团时间">
  151. <template slot-scope="scope">
  152. <div>
  153. {{ scope.row.billStartDate | formatTimer}}
  154. </div>
  155. </template>
  156. </el-table-column>
  157. <el-table-column align='center'
  158. width='100px'
  159. label="清单状况">
  160. <template slot-scope="scope">
  161. <div>
  162. {{ scope.row.hasVerifyMusicalList?'已确认':'未确认'}}
  163. </div>
  164. </template>
  165. </el-table-column>
  166. <el-table-column align='center'
  167. width='220px'
  168. fixed="right"
  169. label="操作">
  170. <template slot-scope="scope">
  171. <div>
  172. <!-- <el-button type="text"
  173. v-if="scope.row.status == 'PREPARE' && permission('/setImprovement')"
  174. @click="gotoImprovement(scope.row)">基础技能班</el-button> -->
  175. <el-button type="text"
  176. v-if="scope.row.status == 'PREPARE' && permission('/teamDetailedList')"
  177. @click="gotodetailList(scope.row)">发放清单</el-button>
  178. <!-- <el-button type="text"
  179. v-if="scope.row.status == 'PREPARE'"
  180. @click="lookTeamCourse(scope.row)">查看课表</el-button> -->
  181. <!-- 报名中&缴费中 查看 -->
  182. <el-button type="text"
  183. v-if="(scope.row.status == 'APPLY'|| scope.row.status == 'PAY') && permission('/signupList')"
  184. @click="lookTeamDetail(scope.row)">查看</el-button>
  185. <!-- 报名中缴费中筹备中查看乐团 -->
  186. <el-button type="text"
  187. v-if="(scope.row.status == 'APPLY'|| scope.row.status == 'PAY' || scope.row.status == 'PREPARE') && permission('/teamLookBase')"
  188. @click="lookTeamInfo(scope.row)">乐团信息</el-button>
  189. <el-button v-if="permission('recharge/findAll')"
  190. type="text"
  191. @click="lookSteam(scope.row)">乐团日志</el-button>
  192. <!-- 进行中 关闭 -->
  193. <el-button type="text"
  194. v-if="scope.row.status == 'PROGRESS' && permission('musicGroup/closeMusicGroup')"
  195. @click="closeTeamDetail(scope.row)">关闭乐团</el-button>
  196. <!-- 进行中 查看 -->
  197. <el-button type="text"
  198. v-if="scope.row.status == 'PROGRESS' && permission('/teamDetails')"
  199. @click="lookTeamDetail(scope.row)">查看</el-button>
  200. <!-- 暂停中 查看 -->
  201. <el-button type="text"
  202. v-if="scope.row.status == 'PAUSE' && permission('musicGroup/pauseMusicGroup/look')"
  203. @click="lookTeamDetail(scope.row)">查看</el-button>
  204. <!-- <el-button type="text"
  205. v-if="scope.row.status != 'PROGRESS' && scope.row.status != 'CANCELED' && scope.row.status != 'PAUSE' && scope.row.status != 'APPLY'&& scope.row.status != 'PAY'"
  206. @click="lookTeamDetail(scope.row)">编辑</el-button> -->
  207. <!-- 筹备中 编辑 -->
  208. <el-button type="text"
  209. v-if="scope.row.status == 'PREPARE' && permission('teamDetail/teamSeting/update')"
  210. @click="lookTeamDetail(scope.row)">班级列表</el-button>
  211. <!-- 审核中 编辑 -->
  212. <el-button type="text"
  213. v-if="(scope.row.status == 'AUDIT')&& permission('teamDetail/audit/update')"
  214. @click="lookTeamDetail(scope.row)">审核</el-button>
  215. <!-- 费用审核中 -->
  216. <el-button type="text"
  217. v-if="( scope.row.status == 'FEE_AUDIT')&& permission('teamDetail/audit/update')"
  218. @click="lookTeamDetail(scope.row)">查看</el-button>
  219. <!-- 编辑中 编辑 -->
  220. <el-button type="text"
  221. v-if="scope.row.status == 'DRAFT' && permission('teamDetail/draft/update')"
  222. @click="lookTeamDetail(scope.row)">编辑</el-button>
  223. <el-button type="text"
  224. v-if="(scope.row.status == 'DRAFT' || scope.row.status == 'AUDIT'|| scope.row.status == 'FEE_AUDIT' || (scope.row.status == 'APPLY'|| scope.row.status == 'PAY') && permission('musicGroup/cancelMusicGroup'))"
  225. @click="stopTeam(scope.row)">取消乐团</el-button>
  226. <!-- 审核失败 编辑 -->
  227. <el-button type="text"
  228. v-if="scope.row.status == 'AUDIT_FAILED' && permission('teamDetail/aduitFailed/update')"
  229. @click="lookTeamDetail(scope.row)">编辑</el-button>
  230. <el-button v-if="scope.row.status == 'PREPARE' && permission('musicGroup/action')"
  231. @click="startTeam(scope.row)"
  232. type="text">确认成团</el-button>
  233. <!-- <el-button type="text"
  234. v-if="scope.row.status == 'AUDIT' && permission('musicGroup/cancelMusicGroup')"
  235. @click="stopTeam(scope.row)">取消乐团</el-button> -->
  236. <el-button v-if="scope.row.status == 'PAUSE' && permission('musicGroup/resumeMusicGroup')"
  237. @click="onTeamOpeation('start', scope.row)"
  238. type="text">启动</el-button>
  239. <el-button v-if="scope.row.status == 'PROGRESS' && permission('musicGroup/pauseMusicGroup')"
  240. @click="onTeamOpeation('pause', scope.row)"
  241. type="text">暂停</el-button>
  242. <el-button v-if="scope.row.status == 'PROGRESS' && permission('/resetTeaming')"
  243. @click="resetTeaming(scope.row)"
  244. type="text">修改</el-button>
  245. <el-button v-if="scope.row.status == 'CANCELED' && permission('musicGroup/deleteMusicGroup')"
  246. @click="deteleTeaming(scope.row)"
  247. type="text">删除</el-button>
  248. </div>
  249. </template>
  250. </el-table-column>
  251. </el-table>
  252. <!-- 分页器 -->
  253. <!-- 分页 -->
  254. <pagination
  255. sync
  256. :total.sync="rules.total"
  257. :page.sync="rules.page"
  258. :limit.sync="rules.limit"
  259. :page-sizes="rules.page_size"
  260. @pagination="getList" />
  261. </div>
  262. <el-dialog :visible.sync="showSteam"
  263. width="500px"
  264. title="乐团流程">
  265. <teamSteam :activeId='activeId' />
  266. <div slot="footer"
  267. class="dialog-footer">
  268. <el-button type="primary"
  269. @click="showSteam=false">确 定</el-button>
  270. </div>
  271. </el-dialog>
  272. <el-dialog :visible.sync="closeVisible" title="确认学员" width="800px">
  273. <closeStudens v-if="closeVisible" :detail="closeDetail" @close="closeVisible = false" @submited="getList"/>
  274. </el-dialog>
  275. </div>
  276. </div>
  277. </template>
  278. <script>
  279. import pagination from '@/components/Pagination/index'
  280. import { getTeamList, getPayType } from '@/api/teamServer'
  281. import { getCooperation, cancelMusicGroup, startTeam, getEmployeeOrgan, pauseMusicGroup, resumeMusicGroup, deleteMusicGroup } from '@/api/buildTeam'
  282. import { musicGroupStatus } from '@/utils/searchArray'
  283. import { isObject } from 'util'
  284. import { permission } from '@/utils/directivePage'
  285. import teamSteam from './teamListComponent/teamSteam'
  286. import closeStudens from '../teamBuild/modals/close-studens'
  287. export default {
  288. name: "teamList",
  289. data () {
  290. return {
  291. closeDetail: {},
  292. closeVisible: false,
  293. topForm: {
  294. teamName: '',
  295. status: '',
  296. payType: '',
  297. word: '',
  298. orgin: ''
  299. },
  300. organList: [],
  301. typeList: [], // 收费类型
  302. nowStatus: musicGroupStatus,
  303. searchLsit: [], // 存储选择后的数组
  304. tableData: [], // table数据
  305. rules: {
  306. // 分页规则
  307. limit: 10, // 限制显示条数
  308. page: 1, // 当前页
  309. total: 0, // 总条数
  310. page_size: [10, 20, 40, 50] // 选择限制显示条数
  311. },
  312. passed: [], // 传递的参数
  313. showSteam: false,
  314. activeId: null
  315. }
  316. },
  317. components: {
  318. pagination,
  319. teamSteam,
  320. closeStudens
  321. },
  322. mounted () {
  323. this.init();
  324. },
  325. activated () {
  326. this.init();
  327. },
  328. methods: {
  329. init () {
  330. sessionStorage.setItem('resetCode', '1')
  331. getEmployeeOrgan().then(res => {
  332. if (res.code == 200) {
  333. this.organList = res.data;
  334. }
  335. })
  336. // 获取乐团收费类型
  337. getPayType().then(res => {
  338. if (res.code == 200) {
  339. this.typeList = res.data.rows;
  340. }
  341. })
  342. // 获取乐团合作单位(学校)
  343. // getCooperation().then(res => {
  344. // })
  345. this.getList();
  346. },
  347. permission (str) {
  348. return permission(str)
  349. },
  350. reset () {
  351. this.rules.page = 1;
  352. this.$refs['topForm'].resetFields();
  353. this.getList()
  354. },
  355. search () {
  356. this.rules.page = 1;
  357. console.log(this.rules)
  358. this.getList();
  359. },
  360. getList () {
  361. getTeamList({
  362. rows: this.rules.limit,
  363. page: this.rules.page,
  364. organId: this.topForm.orgin || null,
  365. chargeTypeId: this.topForm.payType || null,
  366. musicGroupName: this.topForm.teamName || null,
  367. musicGroupStatus: this.topForm.status || null,
  368. }).then(res => {
  369. if (res.code == 200) {
  370. this.tableData = res.data.rows
  371. this.rules.total = res.data.total
  372. }
  373. })
  374. },
  375. createNewTeam () {
  376. let search = JSON.stringify(this.topForm)
  377. let rules = JSON.stringify(this.rules)
  378. this.$router.push({ path: '/business/teamBuild', query: { type: 'newTeam', } })
  379. },
  380. resetTeam () {
  381. // 这里还有勾选的乐团信息
  382. if (this.passed && this.passed.length <= 0) {
  383. this.$message.error('请至少选择一个乐团进行调整')
  384. return
  385. }
  386. let search = JSON.stringify(this.topForm)
  387. let rules = JSON.stringify(this.rules)
  388. this.$router.push({ path: '/business/teamBuild', query: { type: 'teamList', teamList: this.passed, } })
  389. },
  390. resetTeaming (row) {
  391. // 修改进行中的乐团
  392. let search = JSON.stringify(this.topForm)
  393. let rules = JSON.stringify(this.rules)
  394. this.$router.push({ path: '/business/resetTeaming', query: { type: 'resetTeam', id: row.id,} })
  395. },
  396. setSearchList (obj) {
  397. //
  398. // 没有相同的key=>添加这个对象
  399. // 有相同的key => 替换这个对象
  400. if (obj.type == 1) {
  401. let flag = false;
  402. this.searchLsit = this.searchLsit.map(item => {
  403. if (item.id == obj.id) {
  404. item = obj;
  405. flag = true;
  406. }
  407. return item;
  408. })
  409. if (!flag) {
  410. this.searchLsit.push(obj)
  411. }
  412. } else {
  413. let flag = false;
  414. this.searchLsit = this.searchLsit.map(item => {
  415. if (item.key == obj.key) {
  416. // 多选框的再次点击=> 等于 就是删除
  417. item = obj;
  418. flag = true;
  419. }
  420. return item;
  421. })
  422. if (!flag) {
  423. this.searchLsit.push(obj)
  424. }
  425. }
  426. },
  427. closeSearch (item) {
  428. // 1.删除search里的元素
  429. if (item.type == 1) {
  430. for (let some in this.searchLsit) {
  431. if (this.searchLsit[some].id == item.id) {
  432. this.searchLsit.splice(some, 1);
  433. }
  434. }
  435. // 2.清空对应元素所对应的的值
  436. this.topForm[item.id] = '';
  437. } else {
  438. for (let i = 0; i < this.topForm[item.id].length; i++) {
  439. if (this.topForm[item.id][i] == item.value) {
  440. this.topForm[item.id].splice(i, 1);
  441. }
  442. }
  443. // 处理search
  444. for (let some in this.searchLsit) {
  445. if (this.searchLsit[some].value == item.value && this.searchLsit[some].id == item.id) {
  446. this.searchLsit.splice(some, 1);
  447. }
  448. // id: 'school', key: this.schools[item].text, value: val, type: 1
  449. }
  450. }
  451. },
  452. closeTeamDetail(row) {
  453. this.closeVisible = true
  454. this.closeDetail = {...row}
  455. },
  456. onTeamOpeation (type, row) {
  457. if (type == 'start') {
  458. this.$confirm('是否确定开启乐团?', '提示', {
  459. confirmButtonText: '确定',
  460. cancelButtonText: '取消',
  461. type: 'warning'
  462. }).then(() => {
  463. resumeMusicGroup({ musicGroupId: row.id }).then(res => {
  464. if (res.code == 200) {
  465. this.$message.success('开启成功')
  466. this.getList()
  467. } else {
  468. this.$message.error(res.msg)
  469. }
  470. })
  471. }).catch(() => { })
  472. } else if (type == 'pause') {
  473. this.$confirm('是否确定暂停乐团?', '提示', {
  474. confirmButtonText: '确定',
  475. cancelButtonText: '取消',
  476. type: 'warning'
  477. }).then(() => {
  478. pauseMusicGroup({ musicGroupId: row.id }).then(res => {
  479. if (res.code == 200) {
  480. this.$message.success('暂停成功')
  481. this.getList()
  482. } else {
  483. this.$message.error(res.msg)
  484. }
  485. })
  486. }).catch(() => { })
  487. }
  488. },
  489. gotoSearch () {
  490. this.$refs['topForm'].resetFields();
  491. this.searchLsit = [];
  492. },
  493. lookTeamCourse (row) {
  494. // 查看课表
  495. let search = JSON.stringify(this.topForm)
  496. let rules = JSON.stringify(this.rules)
  497. this.$router.push({ path: '/business/teamDetailCourse', query: { id: row.id, name: row.name, } })
  498. },
  499. lookTeamDetail (row) {
  500. let search = JSON.stringify(this.topForm)
  501. let rules = JSON.stringify(this.rules)
  502. switch (row.status) {
  503. case 'DRAFT': {
  504. // 编辑中
  505. this.$router.push({ path: '/business/teamBuild', query: { type: 'teamDraft', id: row.id, } })
  506. break;
  507. }
  508. case 'AUDIT': {
  509. // 审核中
  510. this.$router.push({ path: '/business/teamBuild', query: { type: 'teamAudit', id: row.id, } })
  511. break;
  512. }
  513. case 'FEE_AUDIT': {
  514. // 费用审核中
  515. this.$router.push({ path: '/business/teamBuild', query: { type: 'feeAudit', id: row.id, } })
  516. break;
  517. }
  518. case 'AUDIT_FAILED': {
  519. // 审核失败
  520. this.$router.push({ path: '/business/teamBuild', query: { type: 'teamDraft', id: row.id, } })
  521. break;
  522. }
  523. case 'APPLY': {
  524. // 报名中
  525. this.$router.push({ path: `/business/signupList`, query: { status: row.status, id: row.id, name: row.name, } })
  526. break;
  527. }
  528. case 'PAY': {
  529. // 缴费中
  530. this.$router.push({ path: `/business/signupList`, query: { status: row.status, id: row.id, name: row.name, } })
  531. break;
  532. }
  533. case 'PREPARE': {
  534. // 筹备中 跳转到乐团设置界面
  535. this.$router.push({ path: `/business/teamSeting`, query: { status: row.status, id: row.id, name: row.name, } })
  536. break;
  537. }
  538. case 'PROGRESS': {
  539. // 进行中
  540. // 调到乐团详情 teamDetails
  541. this.$router.push({ path: `/business/teamDetails`, query: { status: row.status, id: row.id, name: row.name, organId: row.organId ,type:'look' } })
  542. break
  543. }
  544. case 'CANCELED': {
  545. // 取消
  546. break
  547. }
  548. case 'PAUSE': {
  549. // 暂停
  550. this.$router.push({ path: `/business/teamDetails`, query: { status: row.status, id: row.id, name: row.name, } })
  551. break;
  552. }
  553. }
  554. },
  555. checkSelectable (row) {
  556. return row.status == 'PROGRESS'
  557. },
  558. handleSelectionChange (arr) {
  559. this.passed = [];
  560. for (let i in arr) {
  561. let obj = {};
  562. obj.id = arr[i].id;
  563. obj.name = arr[i].name;
  564. this.passed.push(obj)
  565. }
  566. },
  567. gotodetailList (row) {
  568. let search = JSON.stringify(this.topForm)
  569. let rules = JSON.stringify(this.rules)
  570. this.$router.push({ path: '/business/teamDetailedList', query: { id: row.id, } })
  571. },
  572. //
  573. lookTeamInfo (row) {
  574. let search = JSON.stringify(this.topForm)
  575. let rules = JSON.stringify(this.rules)
  576. this.$router.push({ path: '/business/teamLookBase', query: { type: 'look', id: row.id, name: row.name } })
  577. },
  578. // setImprovement 设置基础技能班
  579. gotoImprovement (row) {
  580. let search = JSON.stringify(this.topForm)
  581. let rules = JSON.stringify(this.rules)
  582. this.$router.push({ path: '/business/setImprovement', query: { id: row.id, } })
  583. },
  584. // 停止乐团
  585. stopTeam (row) {
  586. this.$confirm('您确定取消申请乐团?', '提示', {
  587. confirmButtonText: '确定',
  588. cancelButtonText: '取消',
  589. type: 'warning'
  590. }).then(() => {
  591. cancelMusicGroup({
  592. musicGroupId: row.id
  593. }).then(res => {
  594. if (res.code == 200) {
  595. this.$message.success('停止成功')
  596. this.getList()
  597. }
  598. })
  599. }).catch(() => {
  600. })
  601. },
  602. // 确认成团
  603. startTeam (row) {
  604. this.$confirm('是否确定成团?', '提示', {
  605. confirmButtonText: '确定',
  606. cancelButtonText: '取消',
  607. type: 'warning'
  608. }).then(() => {
  609. startTeam({ musicGroupId: row.id }).then(res => {
  610. if (res.code == 200) {
  611. this.$message.success('开启乐团成功')
  612. this.getList();
  613. }
  614. })
  615. }).catch(() => { })
  616. },
  617. deteleTeaming (row) {
  618. this.$confirm('您确定删除该乐团?', '提示', {
  619. confirmButtonText: '确定',
  620. cancelButtonText: '取消',
  621. type: 'warning'
  622. }).then(() => {
  623. deleteMusicGroup({
  624. musicGroupId: row.id
  625. }).then(res => {
  626. if (res.code == 200) {
  627. this.$message.success('删除成功')
  628. this.getList()
  629. }
  630. })
  631. }).catch(() => {
  632. })
  633. },
  634. lookSteam (row) {
  635. this.activeId = row.id
  636. this.showSteam = true
  637. }
  638. },
  639. watch: {
  640. showSteam (val) {
  641. if (!val) {
  642. this.activeId = null
  643. }
  644. }
  645. }
  646. }
  647. </script>
  648. <style lang="scss" scoped>
  649. .select {
  650. font-size: 14px;
  651. }
  652. .btnList {
  653. display: flex;
  654. flex-direction: row;
  655. justify-content: flex-start;
  656. align-items: center;
  657. div {
  658. margin-right: 15px;
  659. }
  660. }
  661. </style>