<template>
    <div class="page">
        <div class="title">{{ title }}</div>
        <div class="tabs">
            <div class="t_pre" :class="{'active':tidx===1}" @click="handleChangeTab(1)">活动项目</div>
            <div class="t_pre" :class="{'active':tidx===2}" @click="handleChangeTab(2)">项目进展</div>
            <template v-if="tidx===1">
                <div class="t_add" @click="handleAddProgram" v-hasPermi="['core:project:add']">+ 创建项目</div>
            </template>
            <template v-else-if="tidx===2">
                <div class="t_add" @click="handleAddJZ">+ 添加项目进展</div>
            </template>
        </div>
        <template v-if="tidx===1">
            <div class="query adfacjb">
                <el-input placeholder="请输入项目名称" prefix-icon="el-icon-search" v-model="queryParams.programName" style="width: 100%" @keyup.enter.native="getProgramListFn"></el-input>
            </div>
            <div class="content">
                <template v-if="programList.length">
                    <el-table :data="programList" border cell-class-name="vertical-top-cell" v-loading="loading" empty-text="暂无项目" max-height="578px">
                        <el-table-column label="序号" width="50">
                            <template #default="scope">
                                {{ scope.$index + 1 }}
                            </template>
                        </el-table-column>
                        <el-table-column label="项目编号" prop="programNo" width="150"></el-table-column>
                        <el-table-column label="项目名称" prop="programName"></el-table-column>
                        <el-table-column label="公司名称" prop="enterpriseName"></el-table-column>
                        <el-table-column label="团队名称" prop="teamName"></el-table-column>
                        <el-table-column label="教练" prop="coachNames"></el-table-column>
                        <el-table-column label="备注" prop="remark" width="300" show-overflow-tooltip></el-table-column>
                        <el-table-column label="操作" width="150">
                            <template #default="scope">
                                <el-button link type="text" size="mini" @click="handleEdit(scope.row)">编辑</el-button>
                                <el-button link type="text" size="mini" @click="handleDelete(scope.row)" v-hasPermi="['core:program:delete']">删除</el-button>
                            </template>
                        </el-table-column>
                    </el-table>
                    <el-row style="display: flex;justify-content: center;">
                        <el-pagination
                            @size-change="handleSizeChange"
                            @current-change="handleCurrentChange"
                            :current-page="queryParams.page"
                            :page-sizes="[5, 10, 20, 50]"
                            :page-size="10"
                            layout="total, sizes, prev, pager, next, jumper"
                            :total="total"
                            v-show="total > 0">
                        </el-pagination>
                    </el-row>
                </template>
                <template v-else>
                    <div class="empty">
                        <img src="@/assets/images/agent/team.png">
                        <p>您还没有添加过任何项目</p>
                        <div class="e_add" @click="handleAddProgram">+ 添加项目</div>
                    </div>
                </template>
            </div>
        </template>
        <template v-else-if="tidx===2">
            <div class="query adfacjb">
                <el-input placeholder="请输入项目名称" prefix-icon="el-icon-search" v-model="programName2" style="width: 100%" @keyup.enter.native="getProgramProgressData"></el-input>
            </div>
            <div class="content">
                <template v-if="programList2.length">
                    <el-table :data="programList2" border cell-class-name="vertical-top-cell" v-loading="loading2" empty-text="暂无项目进展" max-height="578px">
                        \<el-table-column label="序号" width="50">
                            <template #default="scope">
                                {{ scope.$index + 1 }}
                            </template>
                        </el-table-column>
                        <el-table-column label="项目编号" prop="programNo"></el-table-column>
                        <el-table-column label="项目名称" prop="programName"></el-table-column>
                        <el-table-column label="公司名称" prop="enterpriseName"></el-table-column>
                        <el-table-column label="更新时间" prop="updateDate"></el-table-column>
                        <el-table-column label="项目的阶段及状态" prop="progress" width="400" show-overflow-tooltip></el-table-column>
                        <el-table-column label="操作" width="150">
                            <template #default="scope">
                                <el-button link type="text" size="mini" @click="handleEdit2(scope.row)" v-hasPermi="['core:projectprogress:update']">编辑</el-button>
                                <el-button link type="text" size="mini" @click="handleDelete2(scope.row)" v-hasPermi="['core:projectprogress:delete']">删除</el-button>
                            </template>
                        </el-table-column>
                    </el-table>
                </template>
                <template v-else>
                    <div class="empty">
                        <img src="@/assets/images/agent/team.png">
                        <p>您还没有添加过任何项目进展</p>
                        <div class="e_add" @click="handleAddJZ">+ 添加项目进展</div>
                    </div>
                </template>
            </div>
        </template>
        <el-drawer :title="programTitle" :visible.sync="programShow" append-to-body size="50%" @close="cancel">
            <el-form ref="programRef" :model="programForm" :rules="programRules" label-width="100px" style="width: 90%;margin: 0 auto;">
                <el-form-item label="项目编号" prop="programNo">
                    <el-input v-model="programForm.programNo"disabled />
                </el-form-item>
                <el-form-item label="项目名称" prop="programName">
                    <el-input v-model="programForm.programName" placeholder="请输入项目名称" />
                </el-form-item>
                <el-form-item label="公司名称" prop="enterpriseId">
                    <el-select v-model="programForm.enterpriseId" placeholder="请选择公司" filterable clearable style="width: 100%;" @change="handleChangeCompany">
                        <el-option v-for="item in useAgentStore().companyList" :key="item.id" :label="item.enterpriseName" :value="item.id"></el-option>
                    </el-select>
                </el-form-item>
                <el-form-item label="团队名称" prop="teamId">
                    <el-select v-model="programForm.teamId" placeholder="请选择团队" filterable clearable style="width: 100%;" :disabled="!programForm.enterpriseId">
                        <el-option v-for="item in teamList" :key="item.id" :label="item.teamName" :value="item.id"></el-option>
                    </el-select>
                </el-form-item>
                <el-form-item label="项目教练" prop="">
                    <el-popover
                        placement="top-start"
                        title="选择教练"
                        width="790"
                        trigger="click"
                        v-model="coachShow"
                        @show="hangleSelectCoach">
                        <div class="ed_coach adf">
                            <div class="ec_l">
                                <el-input placeholder="请输入教练名搜索" suffix-icon="el-icon-search" v-model="coachName" style="width: 100%;" @keyup.enter.native="handleQueryCoach"></el-input>
                                <el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange" style="margin-top: 65px;">全选</el-checkbox>
                                <div class="ecl_cbs">
                                    <el-checkbox v-model="coach.checked" v-for="(coach,index) in coachList" :key="coach.id" @change="handleChangeCoach" style="margin-top: 24px;display: block;">{{ coach.realName }}</el-checkbox>
                                </div>
                            </div>
                            <div class="ec_r">
                                <div class="ecr_text">已选择（{{ coachSelecteds.length }}/<span>{{ coachList.length }}</span>）</div>
                                <div class="ecr_names">
                                    <div class="en_pre adfacjc" v-for="(item,index) in coachSelecteds" :key="index">
                                        <span>{{ item.realName }}</span>
                                        <img src="@/assets/images/agent/delete_mini.png" @click="handleDeleteCoach(item,index)">
                                    </div>
                                </div>
                            </div>
                        </div>
                        <div class="demo-drawer__footer" style="display: flex;justify-content: end;margin-top: 20px;">
                            <el-button type="primary" @click="submitForm2">确 认</el-button>
                            <el-button @click="cancel2" style="margin-right: 5%;">取 消</el-button>
                        </div>
                        <div slot="reference">
                            <div class="f_s adfacjb" v-if="programForm.coachList.length===0">
                                <div class="fs_text" :class="{'active':coachs!=='请选择'}">{{ coachs }}</div>
                                <i class="el-icon-arrow-down" style="color: #C0C4CC;"></i>
                            </div>
                            <div class="f_s adfacjb" v-else>
                                <p>{{ cocahNames }}</p>
                                <i class="el-icon-arrow-down" style="color: #C0C4CC;"></i>
                            </div>
                        </div>
                    </el-popover>
                </el-form-item>
                <el-form-item label="项目备注" prop="remark">
                    <el-input type="textarea" :rows="2" v-model="programForm.remark" placeholder="请输入项目概述" />
                </el-form-item>
            </el-form>
            <div class="demo-drawer__footer" style="display: flex;justify-content: end;">
                <el-button :loading="buttonLoading" type="primary" @click="submitForm" v-hasPermi="['core:program:save']">保 存</el-button>
                <el-button @click="cancel" style="margin-right: 5%;">取 消</el-button>
            </div>
        </el-drawer>
        <el-drawer :title="progressTitle" :visible.sync="progressShow" append-to-body size="50%" @close="cancel">
            <el-form ref="progressRef" :model="progressForm" :rules="progressRules" label-width="140px" style="width: 90%;margin: 0 auto;">
                <el-form-item label="项目名称" prop="programId">
                    <el-select v-model="progressForm.programId" placeholder="请选择项目名称" filterable clearable style="width: 100%;" @change="handleChangeProgram">
                        <el-option v-for="item in useAgentStore().programList" :key="item.id" :label="item.programName" :value="item.id"></el-option>
                    </el-select>
                </el-form-item>
                <el-form-item label="公司名称">
                    <el-select v-model="progressForm.enterpriseId" placeholder="请选择公司" filterable clearable style="width: 100%;" disabled>
                        <el-option v-for="item in useAgentStore().companyList" :key="item.id" :label="item.enterpriseName" :value="item.id"></el-option>
                    </el-select>
                </el-form-item>
                <el-form-item label="团队名称">
                    <el-select v-model="progressForm.teamId" placeholder="请选择团队" filterable clearable style="width: 100%;" disabled>
                        <el-option v-for="item in teamList" :key="item.id" :label="item.teamName" :value="item.id"></el-option>
                    </el-select>
                </el-form-item>
                <el-form-item label="项目教练" prop="">
                    <el-input v-model="progressForm.cocahNames" disabled></el-input>
                </el-form-item>
                <el-form-item label="项目的阶段及状态" prop="progress">
                    <el-input type="textarea" :rows="2" v-model="progressForm.progress" placeholder="请输入项目的阶段及状态" />
                </el-form-item>
            </el-form>
            <div class="demo-drawer__footer" style="display: flex;justify-content: end;">
                <el-button :loading="buttonLoading3" type="primary" @click="submitForm3" v-hasPermi="['core:projectprogress:save']">保 存</el-button>
                <el-button @click="cancel3" style="margin-right: 5%;">取 消</el-button>
            </div>
        </el-drawer>
    </div>
</template>

<script setup name="">
    import { generateNo } from '@/utils/ruoyi'
    import { ref, getCurrentInstance, onMounted } from 'vue'
    const { proxy } = getCurrentInstance();
    import { useAgentStore } from '@/store_v3/modules/agent';
    useAgentStore().getCompanyData();
    useAgentStore().getProgramData();
    import { 
        getProgramList,
        addProgram,
        updateProgram,
        getProgramInfo,
        deleteProgram,
        getCoachList,
        getTeamListById,
        getProgramProgressList,
        addProgramProgress,
        updateProgramProgress,
        getProgramProgressInfo,
        deleteProgramProgress,
    } from '@/api/agent/index.js'
    
    const title = ref('项目管理')
    const tidx = ref(1)
    const programName2 = ref('')
    const programList = ref([])
    const total = ref(0)
    const programList2 = ref([])
    const teamList = ref([])
    const loading = ref(false)
    const loading2 = ref(false)
    const coachs = ref('请选择')
    const coachName = ref('')
    const coachShow = ref(false)
    const coachSelecteds = ref([])
    const coachList = ref([])
    const isIndeterminate = ref(false)
    const checkAll = ref(false)
    const cocahNames = ref('')
    const queryParams = ref({
        page: 1,
        limit: 10,
        programName: ''
    })
    const programTitle = ref('添加项目')
    const programShow = ref(false)
    const programRef = ref(null)
    const programForm = ref({
        id: '',
        programNo: '',
        programName: '',
        enterpriseId: '',
        enterpriseName: '',
        teamId: '',
        teamName: '',
        coachList: [],
        remark: ''
    })
    const programRules = ref({
        programNo: [
            { required: true, message: '请输入项目编号', trigger: 'blur' }
        ],
        programName: [
            { required: true, message: '请输入项目名称', trigger: 'blur' }
        ],
        enterpriseId: [
            { required: true, message: '请选择公司', trigger: 'change' }
        ],
        teamId: [
            { required: true, message: '请选择团队', trigger: 'change' }
        ]
    })
    const buttonLoading = ref(false)

    const progressTitle = ref('添加项目阶段及进展')
    const progressShow = ref(false)
    const progressRef = ref(null)
    const progressForm = ref({
        id: '',
        programId: '',
        enterpriseId: '',
        teamId: '',
        cocahNames: '',
        progress: ''
    })
    const progressRules = ref({
        programId: [
            { required: true, message: '请选择项目', trigger: 'change' }
        ],
        progress: [
            { required: true, message: '请输入项目的阶段及状态', trigger: 'blur' }
        ]
    })
    const buttonLoading3 = ref(false)

    const getProgramListFn = async () => {
        loading.value = true;
        const res = await getProgramList(queryParams.value);
        if(res.code!==0) return proxy.$message.error(res.msg);
        programList.value = res.data.list;
        programList.value.forEach(p=>{
            p.coachNames = p.coachList.map(c=>c.coachName).join('、');
        })
        total.value = res.data.total;
        loading.value = false;
    }
    const handleSizeChange = (val) => {
        queryParams.value.limit = val
        getProgramListFn()
    }
    const handleCurrentChange = (val) => {
        queryParams.value.page = val
        getProgramListFn()
    }
    const handleChangeTab = (idx) => {
        tidx.value = idx;
        if(idx===2){
            getProgramProgressData();
        }
    }
    const handleAddProgram = () => {
        reset();
        programTitle.value = '添加项目';
        programForm.value.programNo = generateNo();
        programShow.value = true;
    }
    const handleEdit = (row) => {
        programTitle.value = '编辑项目';
        getProgramInfo(row.id).then(res=>{
            if(res.code!==0) return proxy.$message.error(res.msg);
            programForm.value = {...programForm.value,...res.data};
            if(programForm.value.coachList===null) programForm.value.coachList = [];
            cocahNames.value = programForm.value.coachList.map(item => item.coachName).join(';');
            getTeamListById({enterpriseId: res.data.enterpriseId}).then(r=>{
                if(r.code!==0) return proxy.$message.error(r.msg);
                teamList.value = r.data;
            })
            programShow.value = true;
        });
    }
    const handleDelete = async (row) => {
        await proxy.$modal.confirm('确认删除项目【' + row.programName + '】吗？');
        deleteProgram([row.id]).then(res=>{
            if(res.code === 0) proxy?.$modal.msgSuccess("删除成功");
            else return proxy?.$modal.msgError(res.msg);
            getProgramListFn();
        });
    }
    const handleChangeCompany = (e) => {
        getTeamListById({enterpriseId: e}).then(res=>{
            if(res.code!==0) proxy.$message.error(res.msg);
            teamList.value = res.data;
        })
    }

    const submitForm = () => {
        proxy.$refs.programRef.validate((valid) => {
            if (valid) {
                let dto = JSON.parse(JSON.stringify(programForm.value));
                if(dto.coachList.length===0) return proxy.$message.warning('请至少选择一位教练');
                if(dto.id){
                    updateProgram(dto).then((res)=>{
                        if(res.code!==0) return proxy.$message.error(res.msg);
                        buttonLoading.value = false;
                        programShow.value = false;
                        getProgramListFn();
                    })
                }else{
                    addProgram(dto).then((res)=>{
                        if(res.code!==0) return proxy.$message.error(res.msg);
                        buttonLoading.value = false;
                        programShow.value = false;
                        getProgramListFn();
                    })
                }
            }else return false
        })
    }
    const reset = () => {
        programForm.value = {
            id: '',
            programNo: '',
            programName: '',
            enterpriseId: '',
            enterpriseName: '',
            teamId: '',
            teamName: '',
            coachList: [],
            remark: ''
        };
        proxy.resetForm("programRef");
    }

    const cancel = () => {
        programShow.value = false;
        reset();
    }
    
    const hangleSelectCoach = () => {
        getCoachList({page:1,limit:-1,realName:coachName.value}).then(res => {
            if(res.code!==0) return proxy.$message.error(res.msg);
            coachList.value = res.data.list.filter(d=>d.userType=='1');
            coachList.value.forEach(item => {
                item.checked = false;
            })
            coachShow.value = true;
        })
    }
    const handleQueryCoach = e =>{
        coachList.value = [];
        getCoachList({page:1,limit:-1,realName:e.target.value}).then(res => {
            if(res.code!==0) return proxy.$message.error(res.msg);
            coachList.value = res.data.list.filter(d=>d.userType=='1');
            coachList.value.forEach(item => {
                item.checked = false;
            })
            checkAll.value = false;
            isIndeterminate.value = false;
            coachSelecteds.value = [];
        })
    }
    const handleCheckAllChange = (val) => {
        coachSelecteds.value = val ? JSON.parse(JSON.stringify(coachList.value)) : [];
        isIndeterminate.value = false;
        coachList.value.forEach(item => item.checked = val)
    }
    const handleChangeCoach = () => {
        let trues = coachList.value.filter(item => item.checked).length;
        if(trues>0&&trues<coachList.value.length) isIndeterminate.value = true;
        else isIndeterminate.value = false;
        if(trues===coachList.value.length) checkAll.value = true;
        else checkAll.value = false;

        coachSelecteds.value = coachList.value.filter(item => item.checked);
    }
    const handleDeleteCoach = (item,index) => {
        let i = coachList.value.findIndex(c => c.id === item.id);
        if(i>-1) coachList.value[i].checked = false;
        coachSelecteds.value.splice(index,1);

        let trues = coachList.value.filter(item => item.checked).length;
        if(trues>0&&trues<coachList.value.length) isIndeterminate.value = true;
        else isIndeterminate.value = false;
        if(trues===coachList.value.length) checkAll.value = true;
        else checkAll.value = false;
    }
    const submitForm2 = () => {
        if(coachSelecteds.value.length===0) return proxy.$message.warning('请至少选择一位教练')
        programForm.value.coachList = JSON.parse(JSON.stringify(coachSelecteds.value)).map(c=>{return {coachId:c.id,coachName:c.realName}});
        cocahNames.value = programForm.value.coachList.map(c=>c.coachName).join(';');
        checkAll.value = false;
        isIndeterminate.value = false;
        coachSelecteds.value = [];
        coachList.value = [];
        coachName.value = '';
        coachShow.value = false;
    }
    const cancel2 = () => {
        checkAll.value = false;
        isIndeterminate.value = false;
        coachSelecteds.value = [];
        coachList.value = [];
        coachName.value = '';
        coachShow.value = false;
    }


    const getProgramProgressData = async () => {
        loading2.value = true;
        const res = await getProgramProgressList({programName:programName2.value});
        if(res.code!==0) return proxy.$message.error(res.msg);
        programList2.value = res.data;
        loading2.value = false;
    }
    const handleAddJZ = () => {
        reset2();
        progressTitle.value = '添加项目阶段及进展';
        progressShow.value = true;
    }
    const reset2 = () => {
        progressForm.value = {
            id: '',
            programId: '',
            enterpriseId: '',
            teamId: '',
            cocahNames: '',
            progress: ''
        };
        proxy.resetForm("progressRef");
    }
    const handleChangeProgram = e =>{
        getProgramInfo(e).then(res=>{
            if(res.code!==0) return proxy.$message.error(res.msg);
            progressForm.value = {...progressForm.value,...res.data};
            progressForm.value.id = '';
            getTeamListById({enterpriseId: res.data.enterpriseId}).then(res=>{
                if(res.code!==0) proxy.$message.error(res.msg);
                teamList.value = res.data;
            })
            progressForm.value.cocahNames = res.data.coachList.map(item => item.coachName).join('、');
        })
    }
    const submitForm3 = () => {
        proxy.$refs.progressRef.validate((valid) => {
            if (valid) {
                let dto = JSON.parse(JSON.stringify(progressForm.value));
                if(dto.id){
                    updateProgramProgress(dto).then((res)=>{
                        if(res.code!==0) return proxy.$message.error(res.msg);
                        buttonLoading3.value = false;
                        progressShow.value = false;
                        getProgramProgressData();
                    })
                }else{
                    addProgramProgress(dto).then((res)=>{
                        if(res.code!==0) return proxy.$message.error(res.msg);
                        buttonLoading3.value = false;
                        progressShow.value = false;
                        getProgramProgressData();
                    })
                }
            }else return false
        })
    }
    const cancel3 = () => {
        progressShow.value = false;
        reset2();
    }
    const handleEdit2 = (item) => {
        reset2();
        progressTitle.value = '编辑项目阶段及进展';
        getProgramProgressInfo(item.id).then(res=>{
            if(res.code!==0) return proxy.$message.error(res.msg);
            progressForm.value = {...progressForm.value,...res.data};
            getProgramInfo(res.data.programId).then(res2=>{
                if(res.code!==0) return proxy.$message.error(res2.msg);
                progressForm.value.enterpriseId = res2.data.enterpriseId;
                progressForm.value.teamId = res2.data.teamId;
                getTeamListById({enterpriseId: res2.data.enterpriseId}).then(res3=>{
                    if(res.code!==0) proxy.$message.error(res3.msg);
                    teamList.value = res3.data;
                })
                progressForm.value.cocahNames = res2.data.coachList.map(item => item.coachName).join('、');
            })
            progressShow.value = true;
        })
    }
    const handleDelete2 = async (row) => {
        await proxy.$modal.confirm('确认删除项目进展【' + row.programName + '】吗？');
        deleteProgramProgress([row.id]).then(res=>{
            if(res.code === 0) proxy?.$modal.msgSuccess("删除成功");
            else return proxy?.$modal.msgError(res.msg);
            getProgramProgressData();
        });
    }

    onMounted(()=>{
        getProgramListFn();
    })
</script>

<style scoped lang="scss">
    ::v-deep .queryInput .el-input__inner{
        border: none !important;
        height: 30px !important;
        line-height: 30px !important;
        padding: 0 !important;
        width: 200px !important;
    }
    
    :v-deep .el-dialog__wrapper{
        background: rgba(0,0,0,.3) !important;
    }
    ::v-deep .el-dialog__title{
        font-weight: bold !important;
    }
    ::v-deep .el-dialog{
        margin-top: 15vh !important;
    }
    ::v-deep .el-drawer__header span{
        font-weight: bold;
        font-size: 16px;
        color: #1D2129;
        line-height: 22px;
    }

    .query{
        width: 100%;
        padding: 16px 20px;
        box-sizing: border-box;
        background: #FFFFFF;
        border-radius: 6px;
        border: 1px solid #F3F4F6;
        margin-top: 11px;
    }

    .page{
        padding: 28px 16px 12px;
        background: #FAFAFA;
        
        .title{
            font-family: PingFang-SC, PingFang-SC;
            font-weight: bold;
            font-size: 16px;
            color: #111111;
            line-height: 16px;
        }

        .tabs{
            position: relative;
            display: flex;
            align-items: center;
            border-bottom: 1px solid #E5E7EB;
            padding-bottom: 18px;
            margin-top: 32px;
            .t_pre{
                width: 116px;
                font-family: PingFangSC, PingFang SC;
                font-weight: 400;
                font-size: 14px;
                color: #111111;
                line-height: 16px;
                text-align: center;
                position: relative;
                cursor: pointer;
                &.active{
                    font-weight: bold;
                    color: #761E6A;
                    &::after{
                        content: '';
                        position: absolute;
                        bottom: -18px;
                        left: 0;
                        width: 100%;
                        height: 2px;
                        background: #761E6A;
                    }
                }
            }
            .t_add{
                width: 112px;
                height: 30px;
                background: #761E6A;
                border-radius: 6px;
                font-family: PingFangSC, PingFang SC;
                font-weight: 400;
                font-size: 14px;
                color: #FFFFFF;
                line-height: 26px;
                text-align: center;
                position: absolute;
                top: -10px;
                right: 0;
                cursor: pointer;
                border: 1px solid #833478;
                &.t_add2{
                    background: #FFFFFF;
                    color: #833478;
                    right: 130px;
                }
            }
        }
        
        .content{
            width: 100%;
            height: calc(100vh - 220px);
            background: #FFFFFF;
            border: 1px solid #F3F4F6;
            margin-top: 5px;

            
            .empty{
                width: 100%;
                height: 100%;
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                img{
                    width: 90px;
                    height: 76px;
                }
                p{
                    font-family: PingFangSC, PingFang SC;
                    font-weight: 400;
                    font-size: 14px;
                    color: #1D2129;
                    line-height: 20px;
                    margin-top: 20px;
                }
                .e_add{
                    width: 114px;
                    height: 32px;
                    background: #761E6A;
                    border-radius: 6px;
                    font-family: PingFangSC, PingFang SC;
                    font-weight: 400;
                    font-size: 14px;
                    color: #FFFFFF;
                    line-height: 32px;
                    text-align: center;
                    margin-top: 36px;
                    cursor: pointer;
                }
            }
        }
    }


    .f_s{
        width: 100%;
        height: 42px;
        border-radius: 6px;
        border: 1px solid #dcdfe6;
        padding: 11px 11px 11px 16px;
        box-sizing: border-box;
        cursor: pointer;
        .fs_text{
            font-family: PingFangSC, PingFang SC;
            font-weight: 400;
            font-size: 14px;
            color: #C0C4CC;
            line-height: 20px;
            &.active{
                color: #606266;
            }
        }
    }

    .f_title{
        font-family: PingFangSC, PingFang SC;
        font-weight: 600;
        font-size: 16px;
        color: #0D162A;
        line-height: 16px;
        margin-bottom: 20px;
    }

    .f_pldr{
        margin-top: 20px;
        .fp_box{
            display: flex;
            width: 526px;
            height: 125px;
            border-radius: 4px;
            border: 1px solid #EDEEF0;
            position: relative;
            .fpb_pre{
                width: calc(50% - 1px);
                height: 100%;
                display: flex;
                align-items: center;
                justify-content: center;
                .fpbp_btn{
                    width: 140px;
                    height: 36px;
                    border-radius: 6px;
                    border: 1px solid #E5E7EB;
                    font-family: PingFangSC, PingFang SC;
                    font-weight: 400;
                    font-size: 12px;
                    color: #761E6A;
                    line-height: 32px;
                    text-align: center;
                    cursor: pointer;
                }
                &.sc{
                    border-left: 1px solid #EDEEF0;
                    .fpbp_btn{
                        background: #761E6A;
                        border: 1px solid #761E6A;
                        color: #FFFFFF;
                    }
                }
            }
            img{
                width: 50px;
                height: 20px;
                position: absolute;
                left: 50%;
                margin-left: -25px;
                top: 50%;
                margin-top: -10px;
            }
        }
        p{
            margin-top: 11px;
            font-family: PingFangSC, PingFang SC;
            font-weight: 400;
            font-size: 12px;
            color: #C1C7D2;
            line-height: 20px;
            text-align: justify;
        }
    }

    .f_sdlr{
        padding-top: 10px;

        .fs_add{
            width: 80px;
            height: 32px;
            background: #761E6A;
            border-radius: 6px;
            font-family: PingFangSC, PingFang SC;
            font-weight: 400;
            font-size: 14px;
            color: #FFFFFF;
            line-height: 32px;
            text-align: center;
            margin-top: 20px;
            cursor: pointer;
            &.del{
                background: rgb(212, 96, 96);
                margin: 0;
                margin-top: 5px;
            }
        }
    }

    .ed_coach{
        .ec_l{
            width: calc(50% - 1px);
            height: 100%;
            padding-right: 30px;
            box-sizing: border-box;
            border-right: 1px solid #ECEEF5;
            .ecl_cbs{
                width: 100%;
                // height: calc(100% - 143px);
                max-height: 376px;
                overflow-y: auto;
            }
        }
        .ec_r{
            width: 50%;
            padding-left: 30px;
            box-sizing: border-box;
            .ecr_text{
                font-family: PingFang-SC, PingFang-SC;
                font-weight: bold;
                font-size: 16px;
                color: #252525;
                line-height: 22px;
                span{
                    color: #B9B9B9;
                }
            }
            .ecr_names{
                margin-left: -16px;
                overflow: hidden;
                .en_pre{
                    float: left;
                    padding: 10px;
                    background: #F9FAFB;
                    border-radius: 6px;
                    margin: 19px 0 0 16px;
                    span{
                        font-family: PingFangSC, PingFang SC;
                        font-weight: 400;
                        font-size: 14px;
                        color: #252525;
                        line-height: 14px;
                    }
                    img{
                        width: 16px;
                        height: 16px;
                        margin-left: 10px;
                        cursor: pointer;
                    }
                }
            }
        }
    }
</style>