|  | @@ -1,7 +1,13 @@
 | 
	
		
			
				|  |  |  <template>
 | 
	
		
			
				|  |  |    <div class="m-container">
 | 
	
		
			
				|  |  |      <h2>
 | 
	
		
			
				|  |  | -      <div class="squrt"></div>退团申请 <filter-search @reload="reloadSearch" :keys="['visitFlag']" :moreKeys="['organId']"/>
 | 
	
		
			
				|  |  | +      <div class="squrt"></div>
 | 
	
		
			
				|  |  | +      退团申请
 | 
	
		
			
				|  |  | +      <filter-search
 | 
	
		
			
				|  |  | +        @reload="reloadSearch"
 | 
	
		
			
				|  |  | +        :keys="['visitFlag']"
 | 
	
		
			
				|  |  | +        :moreKeys="['organId']"
 | 
	
		
			
				|  |  | +      />
 | 
	
		
			
				|  |  |      </h2>
 | 
	
		
			
				|  |  |      <div class="m-core">
 | 
	
		
			
				|  |  |        <save-form
 | 
	
	
		
			
				|  | @@ -19,7 +25,11 @@
 | 
	
		
			
				|  |  |            ></el-input>
 | 
	
		
			
				|  |  |          </el-form-item>
 | 
	
		
			
				|  |  |          <el-form-item>
 | 
	
		
			
				|  |  | -          <el-select v-model="searchForm.status" clearable placeholder="请选择状态">
 | 
	
		
			
				|  |  | +          <el-select
 | 
	
		
			
				|  |  | +            v-model="searchForm.status"
 | 
	
		
			
				|  |  | +            clearable
 | 
	
		
			
				|  |  | +            placeholder="请选择状态"
 | 
	
		
			
				|  |  | +          >
 | 
	
		
			
				|  |  |              <el-option
 | 
	
		
			
				|  |  |                v-for="(item, key) in withdrawalStatus"
 | 
	
		
			
				|  |  |                :key="key"
 | 
	
	
		
			
				|  | @@ -31,7 +41,12 @@
 | 
	
		
			
				|  |  |          <el-form-item>
 | 
	
		
			
				|  |  |            <el-button native-type="submit" type="danger">搜索</el-button>
 | 
	
		
			
				|  |  |            <el-button native-type="reset" type="primary">重置</el-button>
 | 
	
		
			
				|  |  | -          <el-button @click="onExport" type="primary" v-permission="'export/musicGroupQuit'">导出</el-button>
 | 
	
		
			
				|  |  | +          <el-button
 | 
	
		
			
				|  |  | +            @click="onExport"
 | 
	
		
			
				|  |  | +            type="primary"
 | 
	
		
			
				|  |  | +            v-permission="'export/musicGroupQuit'"
 | 
	
		
			
				|  |  | +            >导出</el-button
 | 
	
		
			
				|  |  | +          >
 | 
	
		
			
				|  |  |          </el-form-item>
 | 
	
		
			
				|  |  |        </save-form>
 | 
	
		
			
				|  |  |        <el-table
 | 
	
	
		
			
				|  | @@ -39,23 +54,46 @@
 | 
	
		
			
				|  |  |          style="width: 100%"
 | 
	
		
			
				|  |  |          :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
 | 
	
		
			
				|  |  |        >
 | 
	
		
			
				|  |  | -        <el-table-column
 | 
	
		
			
				|  |  | -          prop="userId"
 | 
	
		
			
				|  |  | -          label="学员编号"
 | 
	
		
			
				|  |  | -        >
 | 
	
		
			
				|  |  | -          <copy-text slot-scope="scope">{{scope.row.userId}}</copy-text>
 | 
	
		
			
				|  |  | +        <el-table-column prop="userId" label="学员编号">
 | 
	
		
			
				|  |  | +          <copy-text slot-scope="scope">{{ scope.row.userId }}</copy-text>
 | 
	
		
			
				|  |  |          </el-table-column>
 | 
	
		
			
				|  |  | -        <el-table-column
 | 
	
		
			
				|  |  | -          prop="userId"
 | 
	
		
			
				|  |  | -          label="学员姓名"
 | 
	
		
			
				|  |  | -        >
 | 
	
		
			
				|  |  | -          <copy-text slot-scope="scope">{{scope.row.user.username}}</copy-text>
 | 
	
		
			
				|  |  | +        <el-table-column prop="userId" label="学员姓名">
 | 
	
		
			
				|  |  | +          <copy-text slot-scope="scope">{{
 | 
	
		
			
				|  |  | +            scope.row.user.username
 | 
	
		
			
				|  |  | +          }}</copy-text>
 | 
	
		
			
				|  |  |          </el-table-column>
 | 
	
		
			
				|  |  | -        <el-table-column
 | 
	
		
			
				|  |  | -          prop="musicGroupId"
 | 
	
		
			
				|  |  | -          label="所属乐团"
 | 
	
		
			
				|  |  | -        >
 | 
	
		
			
				|  |  | -          <copy-text slot-scope="scope">{{scope.row.musicGroup.name}}</copy-text>
 | 
	
		
			
				|  |  | +        <el-table-column prop="musicGroupId" label="所属乐团">
 | 
	
		
			
				|  |  | +          <copy-text slot-scope="scope">{{
 | 
	
		
			
				|  |  | +            scope.row.musicGroup.name
 | 
	
		
			
				|  |  | +          }}</copy-text>
 | 
	
		
			
				|  |  | +        </el-table-column>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        <el-table-column prop="createTime" label="申请时间">
 | 
	
		
			
				|  |  | +          <template slot-scope="scope">
 | 
	
		
			
				|  |  | +            <div>
 | 
	
		
			
				|  |  | +              {{ scope.row.createTime|dateForMinFormat}}
 | 
	
		
			
				|  |  | +            </div>
 | 
	
		
			
				|  |  | +          </template>
 | 
	
		
			
				|  |  | +        </el-table-column>
 | 
	
		
			
				|  |  | +        <el-table-column prop="createTime" label="申请人"></el-table-column>
 | 
	
		
			
				|  |  | +        <el-table-column prop="createTime" label="退费金额">
 | 
	
		
			
				|  |  | +                 <template slot-scope="scope">
 | 
	
		
			
				|  |  | +            <div>
 | 
	
		
			
				|  |  | +              <p v-if="scope.row.status=='PROCESSING'">
 | 
	
		
			
				|  |  | +                --
 | 
	
		
			
				|  |  | +              </p>
 | 
	
		
			
				|  |  | +              <p v-else>
 | 
	
		
			
				|  |  | +                 {{ scope.row.returnTotalFee|moneyFormat}}
 | 
	
		
			
				|  |  | +              </p>
 | 
	
		
			
				|  |  | +            </div>
 | 
	
		
			
				|  |  | +          </template>
 | 
	
		
			
				|  |  | +        </el-table-column>
 | 
	
		
			
				|  |  | +        <el-table-column prop="userComment" label="退团原因">
 | 
	
		
			
				|  |  | +          <overflow-text
 | 
	
		
			
				|  |  | +            width="100%"
 | 
	
		
			
				|  |  | +            slot-scope="scope"
 | 
	
		
			
				|  |  | +            :text="scope.row.userComment"
 | 
	
		
			
				|  |  | +          ></overflow-text>
 | 
	
		
			
				|  |  |          </el-table-column>
 | 
	
		
			
				|  |  |          <el-table-column label="状态">
 | 
	
		
			
				|  |  |            <template slot-scope="scope">
 | 
	
	
		
			
				|  | @@ -63,21 +101,15 @@
 | 
	
		
			
				|  |  |            </template>
 | 
	
		
			
				|  |  |          </el-table-column>
 | 
	
		
			
				|  |  |          <el-table-column
 | 
	
		
			
				|  |  | -          prop="createTime"
 | 
	
		
			
				|  |  | -          label="申请时间"
 | 
	
		
			
				|  |  | -        ></el-table-column>
 | 
	
		
			
				|  |  | -        <el-table-column
 | 
	
		
			
				|  |  | -          prop="userComment"
 | 
	
		
			
				|  |  | -          label="退团原因"
 | 
	
		
			
				|  |  | -        >
 | 
	
		
			
				|  |  | -          <overflow-text width="100%" slot-scope="scope" :text="scope.row.userComment"></overflow-text>
 | 
	
		
			
				|  |  | -        </el-table-column>
 | 
	
		
			
				|  |  | -        <el-table-column
 | 
	
		
			
				|  |  |            align="center"
 | 
	
		
			
				|  |  |            fixed="right"
 | 
	
		
			
				|  |  |            width="200px;"
 | 
	
		
			
				|  |  |            label="操作"
 | 
	
		
			
				|  |  | -          v-if="permission('musicGroupQuit/quitMusicGroup/quit') || permission('musicGroupQuit/quitMusicGroup/quit-only') || permission('visit/add/tuituanliebiao')"
 | 
	
		
			
				|  |  | +          v-if="
 | 
	
		
			
				|  |  | +            permission('musicGroupQuit/quitMusicGroup/quit') ||
 | 
	
		
			
				|  |  | +            permission('musicGroupQuit/quitMusicGroup/quit-only') ||
 | 
	
		
			
				|  |  | +            permission('visit/add/tuituanliebiao')
 | 
	
		
			
				|  |  | +          "
 | 
	
		
			
				|  |  |          >
 | 
	
		
			
				|  |  |            <template slot-scope="scope">
 | 
	
		
			
				|  |  |              <el-button
 | 
	
	
		
			
				|  | @@ -85,7 +117,8 @@
 | 
	
		
			
				|  |  |                v-if="permission('musicGroupQuit/quitMusicGroup/quit')"
 | 
	
		
			
				|  |  |                :disabled="scope.row.status != 'PROCESSING'"
 | 
	
		
			
				|  |  |                @click="quieTeamMask(scope.row)"
 | 
	
		
			
				|  |  | -            >审核</el-button>
 | 
	
		
			
				|  |  | +              >审核</el-button
 | 
	
		
			
				|  |  | +            >
 | 
	
		
			
				|  |  |              <!-- <el-button
 | 
	
		
			
				|  |  |                type="text"
 | 
	
		
			
				|  |  |                v-if="permission('musicGroupQuit/quitMusicGroup/quit-only')"
 | 
	
	
		
			
				|  | @@ -96,7 +129,8 @@
 | 
	
		
			
				|  |  |                type="text"
 | 
	
		
			
				|  |  |                v-if="permission('visit/add/tuituanliebiao')"
 | 
	
		
			
				|  |  |                @click="addVisit(scope.row)"
 | 
	
		
			
				|  |  | -            >新增回访</el-button>
 | 
	
		
			
				|  |  | +              >新增回访</el-button
 | 
	
		
			
				|  |  | +            >
 | 
	
		
			
				|  |  |            </template>
 | 
	
		
			
				|  |  |          </el-table-column>
 | 
	
		
			
				|  |  |        </el-table>
 | 
	
	
		
			
				|  | @@ -109,13 +143,39 @@
 | 
	
		
			
				|  |  |          @pagination="FetchList"
 | 
	
		
			
				|  |  |        />
 | 
	
		
			
				|  |  |      </div>
 | 
	
		
			
				|  |  | -    <el-dialog title="审核" width="640px" :visible.sync="quitVisible">
 | 
	
		
			
				|  |  | +    <el-dialog title="审核" width="700px" :visible.sync="quitVisible">
 | 
	
		
			
				|  |  |        <quitModal
 | 
	
		
			
				|  |  |          v-if="quitVisible && detail"
 | 
	
		
			
				|  |  | -        :detail="detail"
 | 
	
		
			
				|  |  | +        :activeRow="detail"
 | 
	
		
			
				|  |  | +        :quitForm="quitForm"
 | 
	
		
			
				|  |  |          @close="quitVisible = false"
 | 
	
		
			
				|  |  |          @submited="FetchList"
 | 
	
		
			
				|  |  |        />
 | 
	
		
			
				|  |  | +      <span slot="footer" class="dialog-footer question">
 | 
	
		
			
				|  |  | +        <div>
 | 
	
		
			
				|  |  | +          <el-popover placement="right" width="500" trigger="click">
 | 
	
		
			
				|  |  | +            <div class="popoverWrap">
 | 
	
		
			
				|  |  | +              <p>乐团退团退费规则:</p>
 | 
	
		
			
				|  |  | +              <p>退还乐器练习云教练费用:报名缴费时缴费的乐器练习云教练费用</p>
 | 
	
		
			
				|  |  | +              <p>退还课程费用:缴费总额-已结束课时单价之和</p>
 | 
	
		
			
				|  |  | +              <p>退还乐器费用:报名缴费时缴纳的乐器费用(团购、租金)</p>
 | 
	
		
			
				|  |  | +              <p>退还教辅费用:报名缴费时缴费的教辅费用</p>
 | 
	
		
			
				|  |  | +              <p>退还乐保费用:报名缴费时缴费的乐保费用</p>
 | 
	
		
			
				|  |  | +            </div>
 | 
	
		
			
				|  |  | +            <el-button
 | 
	
		
			
				|  |  | +              type="text"
 | 
	
		
			
				|  |  | +              icon="el-icon-question"
 | 
	
		
			
				|  |  | +              slot="reference"
 | 
	
		
			
				|  |  | +              style="color: red"
 | 
	
		
			
				|  |  | +              >退团退费说明</el-button
 | 
	
		
			
				|  |  | +            >
 | 
	
		
			
				|  |  | +          </el-popover>
 | 
	
		
			
				|  |  | +        </div>
 | 
	
		
			
				|  |  | +        <div>
 | 
	
		
			
				|  |  | +          <el-button @click="quitVisible = false">取 消</el-button>
 | 
	
		
			
				|  |  | +          <el-button type="primary" @click="submitInfo">确 定</el-button>
 | 
	
		
			
				|  |  | +        </div>
 | 
	
		
			
				|  |  | +      </span>
 | 
	
		
			
				|  |  |      </el-dialog>
 | 
	
		
			
				|  |  |      <!-- <el-dialog title="退团" width="500px" :visible.sync="quitOnlyVisible">
 | 
	
		
			
				|  |  |        <quitOnlyModal
 | 
	
	
		
			
				|  | @@ -137,18 +197,18 @@
 | 
	
		
			
				|  |  |  </template>
 | 
	
		
			
				|  |  |  <script>
 | 
	
		
			
				|  |  |  import pagination from "@/components/Pagination/index";
 | 
	
		
			
				|  |  | -import { permission } from '@/utils/directivePage'
 | 
	
		
			
				|  |  | -import quitModal from './modals/quit'
 | 
	
		
			
				|  |  | -import quitOnlyModal from './modals/quitOnly'
 | 
	
		
			
				|  |  | -import visit from './modals/visit'
 | 
	
		
			
				|  |  | -import { Export } from '@/utils/downLoadFile'
 | 
	
		
			
				|  |  | -import qs from 'qs'
 | 
	
		
			
				|  |  | -import { musicGroupQuitQeryPage } from './api'
 | 
	
		
			
				|  |  | -import { withdrawalStatus } from '@/constant'
 | 
	
		
			
				|  |  | +import { permission } from "@/utils/directivePage";
 | 
	
		
			
				|  |  | +import quitModal from "@/views/teamDetail/components/modals/quite-team";
 | 
	
		
			
				|  |  | +import quitOnlyModal from "./modals/quitOnly";
 | 
	
		
			
				|  |  | +import visit from "./modals/visit";
 | 
	
		
			
				|  |  | +import { Export } from "@/utils/downLoadFile";
 | 
	
		
			
				|  |  | +import qs from "qs";
 | 
	
		
			
				|  |  | +import { musicGroupQuitQeryPage } from "./api";
 | 
	
		
			
				|  |  | +import { withdrawalStatus } from "@/constant";
 | 
	
		
			
				|  |  |  const initSearch = {
 | 
	
		
			
				|  |  | -  search: '',
 | 
	
		
			
				|  |  | -  status: null
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  | +  search: "",
 | 
	
		
			
				|  |  | +  status: null,
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  |  export default {
 | 
	
		
			
				|  |  |    components: { pagination, quitModal, quitOnlyModal, visit },
 | 
	
		
			
				|  |  |    data() {
 | 
	
	
		
			
				|  | @@ -160,7 +220,7 @@ export default {
 | 
	
		
			
				|  |  |        detail: null,
 | 
	
		
			
				|  |  |        list: [],
 | 
	
		
			
				|  |  |        searchForm: {
 | 
	
		
			
				|  |  | -        ...initSearch
 | 
	
		
			
				|  |  | +        ...initSearch,
 | 
	
		
			
				|  |  |        },
 | 
	
		
			
				|  |  |        rules: {
 | 
	
		
			
				|  |  |          // 分页规则
 | 
	
	
		
			
				|  | @@ -169,10 +229,22 @@ export default {
 | 
	
		
			
				|  |  |          total: 0, // 总条数
 | 
	
		
			
				|  |  |          page_size: [10, 20, 40, 50], // 选择限制显示条数
 | 
	
		
			
				|  |  |        },
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | +      quitForm: {
 | 
	
		
			
				|  |  | +        // 退团信息确认
 | 
	
		
			
				|  |  | +        isRefundCourseFee: null,
 | 
	
		
			
				|  |  | +        isRefundInstrumentFee: null,
 | 
	
		
			
				|  |  | +        isRefundTeachingAssistantsFee: null,
 | 
	
		
			
				|  |  | +        isMaintenanceFee: null,
 | 
	
		
			
				|  |  | +        cloudTeacherAmount: null,
 | 
	
		
			
				|  |  | +        isCloudTeacherAmount: null,
 | 
	
		
			
				|  |  | +        isRefundMemberFee: null,
 | 
	
		
			
				|  |  | +        maintenanceFee: 0,
 | 
	
		
			
				|  |  | +        reason: "",
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +    };
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    mounted() {
 | 
	
		
			
				|  |  | -    this.FetchList()
 | 
	
		
			
				|  |  | +    this.FetchList();
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    methods: {
 | 
	
		
			
				|  |  |      permission,
 | 
	
	
		
			
				|  | @@ -181,24 +253,24 @@ export default {
 | 
	
		
			
				|  |  |        this.FetchList();
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      submit() {
 | 
	
		
			
				|  |  | -      this.rules.page = 1
 | 
	
		
			
				|  |  | -      this.FetchList()
 | 
	
		
			
				|  |  | +      this.rules.page = 1;
 | 
	
		
			
				|  |  | +      this.FetchList();
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      onReSet() {
 | 
	
		
			
				|  |  | -      this.searchForm = {...initSearch}
 | 
	
		
			
				|  |  | +      this.searchForm = { ...initSearch };
 | 
	
		
			
				|  |  |        this.submit();
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      quieTeamMask(row) {
 | 
	
		
			
				|  |  | -      this.quitVisible = true
 | 
	
		
			
				|  |  | -      this.detail = row
 | 
	
		
			
				|  |  | +      this.quitVisible = true;
 | 
	
		
			
				|  |  | +      this.detail = row;
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      quieTeam(row) {
 | 
	
		
			
				|  |  | -      this.quitOnlyVisible = true
 | 
	
		
			
				|  |  | -      this.detail = row
 | 
	
		
			
				|  |  | +      this.quitOnlyVisible = true;
 | 
	
		
			
				|  |  | +      this.detail = row;
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      addVisit(row) {
 | 
	
		
			
				|  |  | -      this.visitVisible = true
 | 
	
		
			
				|  |  | -      this.detail = row
 | 
	
		
			
				|  |  | +      this.visitVisible = true;
 | 
	
		
			
				|  |  | +      this.detail = row;
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      async FetchList() {
 | 
	
		
			
				|  |  |        try {
 | 
	
	
		
			
				|  | @@ -207,20 +279,28 @@ export default {
 | 
	
		
			
				|  |  |            rows: this.rules.limit,
 | 
	
		
			
				|  |  |            visitFlag: this.$route.query.visitFlag,
 | 
	
		
			
				|  |  |            ...this.searchForm,
 | 
	
		
			
				|  |  | -        })
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  |          this.rules.total = res.data.total;
 | 
	
		
			
				|  |  | -        this.list = res.data.rows
 | 
	
		
			
				|  |  | +        this.list = res.data.rows;
 | 
	
		
			
				|  |  |        } catch (error) {}
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      onExport() {
 | 
	
		
			
				|  |  | -      const { ...rest} = this.searchForm
 | 
	
		
			
				|  |  | -      Export(this, {
 | 
	
		
			
				|  |  | -        url: '/api-web/export/musicGroupQuit',
 | 
	
		
			
				|  |  | -        fileName: '退团申请.xls',
 | 
	
		
			
				|  |  | -        method: 'post',
 | 
	
		
			
				|  |  | -        params: qs.stringify({ visitFlag: this.$route.query.visitFlag, ...rest })
 | 
	
		
			
				|  |  | -      }, '您确定导出退团申请列表?')
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  | +      const { ...rest } = this.searchForm;
 | 
	
		
			
				|  |  | +      Export(
 | 
	
		
			
				|  |  | +        this,
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +          url: "/api-web/export/musicGroupQuit",
 | 
	
		
			
				|  |  | +          fileName: "退团申请.xls",
 | 
	
		
			
				|  |  | +          method: "post",
 | 
	
		
			
				|  |  | +          params: qs.stringify({
 | 
	
		
			
				|  |  | +            visitFlag: this.$route.query.visitFlag,
 | 
	
		
			
				|  |  | +            ...rest,
 | 
	
		
			
				|  |  | +          }),
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        "您确定导出退团申请列表?"
 | 
	
		
			
				|  |  | +      );
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    submitInfo() {},
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  |  </script>
 |