| 
					
				 | 
			
			
				@@ -0,0 +1,361 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<template>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <div class="page">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="top adfacjb">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class="t_l">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <p>报告管理</p>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <p class="tip">访问和分析PERILL评估报告</p>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class="t_r">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <!-- <el-button type="primary" icon="el-icon-upload2">导出报告</el-button> -->
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="tabs adfac">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class="t_pre" :class="{'active':tidx===1}" @click="handleChangeTab(1)">团队报告</div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class="t_pre" :class="{'active':tidx===2}" @click="handleChangeTab(2)">个人报告</div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <template v-if="tidx===1">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class="query adfacjb">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <el-select v-model="queryParams.questionnaireId" placeholder="问卷" style="width: 100%" @change="getTeamList(callback)" clearable>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <el-option v-for="item in useAgentStore().questionnaireList" :key="item.id" :label="item.title" :value="item.id"/>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </el-select>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class="list">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <reportList :item="item" :reportList="item.reportList" :showMore="item.showMore"
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    v-for="(item, index) in teamList" :key="index"
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    @toggleReport="e=>toggleReportTeam(e,index)" 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    @deleteReport="e=>deleteTeamReport(e,index,item)"
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    @sendReport="e=>sendReportTeam(e,index,item)"
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    @reCreateReport="e=>reCreateReportTeam(e,index,item)"
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    @refreshReportList="e=>refreshReportTeamList(e,index)">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </reportList>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <el-row style="display: flex;justify-content: center;">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <el-pagination
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        @size-change="handleSizeChange"
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        @current-change="handleCurrentChange"
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        :current-page="queryParams.page"
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        :page-sizes="[2, 5, 10]"
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        :page-size="2"
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        layout="total, sizes, prev, pager, next, jumper"
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        :total="total"
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        v-show="total > 0">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    </el-pagination>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </el-row>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </template>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <template v-else-if="tidx===2">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class="query adfacjb">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <el-input placeholder="请输入公司名" prefix-icon="el-icon-search" v-model="queryParams2.name" style="width: calc(100% - 424px);" @keyup.enter.native="getPersonList(callback)"></el-input>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <el-select v-model="queryParams2.teamId" placeholder="所属团队" style="width: 400px;" @change="getPersonList(callback)">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <el-option v-for="item in useAgentStore().teamList" :key="item.id" :label="item.teamName" :value="item.id"></el-option>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </el-select>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class="list">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <reportList :item="item" :reportList="item.reportList" :showMore="item.showMore" :isTeam="false"
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    v-for="(item, index) in personList" :key="index"
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    @toggleReport="e=>toggleReportPerson(e,index)"
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    @deleteReport="e=>deletePersonReport(e,index,item)"
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    @sendReport="e=>sendReportPerson(e,index,item)"
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    @reCreateReport="e=>reCreateReportPerson(e,index,item)"
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    @refreshReportList="e=>refreshReportPersonList(e,index)">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </reportList>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </template>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</template>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<script setup name="">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    import reportList from '@/components/reportList/index.vue'
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    import { ref, getCurrentInstance, onMounted, provide } from 'vue'
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const { proxy } = getCurrentInstance();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    import { 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        getTeamQuestionnaireList,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        getTeamReportWjList,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        getPersonReportWjList,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        deleteTeamReportWj,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sendReportById,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sendReportUserById,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        reCreateReport,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        getPersonQueList 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     } from "@/api/agent/index.js";
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    import {useAgentStore} from "@/store_v3/modules/agent";
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    import useCommonStore from "@/store_v3/modules/common";
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    useAgentStore().getQuestionnaireData();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    useAgentStore().getTeamData();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const tidx = ref(1)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const queryParams = ref({
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        page:1,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        limit:2,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        questionnaireId: '',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        status: '',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    })
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const queryParams2 = ref({
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name: '',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        teamId: '',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    })
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const total = ref(0)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const teamList = ref([])
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const personList = ref([])
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const handleChangeTab = (idx) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tidx.value = idx;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(idx===1) getTeamList()
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        else if(idx===2) getPersonList()
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const toggleReportTeam = (e,idx) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        useCommonStore().$state.teamIndex = idx;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        teamList.value[idx].showMore = !teamList.value[idx].showMore;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(teamList.value[idx].showMore){
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            getTeamReportWjList(e.id).then(res=>{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(res.code!==0) return proxy.$message.error(res.msg)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                teamList.value[idx].reportList = res.data;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            })
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }else teamList.value[idx].reportList = [];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const toggleReportPerson = (e,idx) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        useCommonStore().$state.personIndex = idx;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        personList.value[idx].showMore = !personList.value[idx].showMore;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(personList.value[idx].showMore){
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            getPersonReportWjList(e.teamQuestionnaireId).then(res=>{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(res.code!==0) return proxy.$message.error(res.msg)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                personList.value[idx].reportList = res.data;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            })
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }else personList.value[idx].reportList = [];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const getTeamList = (callback) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        teamList.value = [];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // total.value = 0;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        getTeamQuestionnaireList(queryParams.value).then(res=>{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(res.code!==0) return proxy.$message.error(res.msg)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            teamList.value = res.data.list;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            total.value = res.data.total;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            teamList.value = teamList.value.map(item=>{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ...item,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    showMore:false,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    reportList:[]
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                };
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            })
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            callback && callback()
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        })
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const handleSizeChange = e =>{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        queryParams.value.limit = e;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        getTeamList();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const handleCurrentChange = e =>{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        queryParams.value.page = e;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        getTeamList();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const getPersonList = (callback) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        personList.value = [];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let params = {...queryParams2.value}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        getPersonQueList(params).then(res=>{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(res.code!==0) return proxy.$message.error(res.msg)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            personList.value = res.data.filter(d=>d.enterpriseName.indexOf(params.name)>-1);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            personList.value = personList.value.map(item=>{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ...item,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    showMore:false,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    reportList:[]
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                };
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            })
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            callback && callback()
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        })
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const deleteTeamReport = (e,idx,item) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        proxy.$modal.confirm('确认删除该报告吗?如确认会立即执行!').then(async function () {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let res = await deleteTeamReportWj([e]);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(res.code===0){
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            proxy.$message.success('删除成功!');
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            getTeamReportWjData(useCommonStore().$state.relationId,idx)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else proxy.$message.error(res.msg)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }).then(() => {}).finally(() => {});
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const deletePersonReport = (e,idx,item) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        proxy.$modal.confirm('确认删除该报告吗?如确认会立即执行!').then(async function () {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let res = await deleteTeamReportWj([e]);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(res.code===0){
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            proxy.$message.success('删除成功!');
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            getPersonReportWjData(useCommonStore().$state.teamQuestionnaireId,idx)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else proxy.$message.error(res.msg)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }).then(() => {}).finally(() => {});
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const sendReportTeam = (e,idx,item) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sendReportById(e).then(res=>{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(res.code!==0) return proxy.$message.error(res.msg)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            proxy.$message.success('发送成功!')
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            getTeamReportWjData(useCommonStore().$state.relationId,idx)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        })
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const sendReportPerson = (e,idx,item) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sendReportUserById(e,useCommonStore().$state.reportUserId).then(res=>{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(res.code!==0) return proxy.$message.error(res.msg)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            proxy.$message.success('发送成功!')
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            getPersonReportWjData(useCommonStore().$state.teamQuestionnaireId,idx)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        })
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const reCreateReportTeam = (e,idx,item) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        reCreateReport(e).then(res=>{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(res.code!==0) return proxy.$message.error(res.msg)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            proxy.$message.success('重新生成成功!')
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            getTeamReportWjData(useCommonStore().$state.relationId,idx)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        })
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const reCreateReportPerson = (e,idx,item) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        reCreateReport(e).then(res=>{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(res.code!==0) return proxy.$message.error(res.msg)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            proxy.$message.success('重新生成成功!')
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            getPersonReportWjData(useCommonStore().$state.teamQuestionnaireId,idx)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        })
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const refreshReportTeamList = (e,idx) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        getTeamReportWjData(e,idx)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const refreshReportPersonList = (e,idx) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        getPersonReportWjData(e,idx)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    provide('refreshTeamList', refreshReportTeamList)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    provide('refreshPersonList', refreshReportPersonList)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const getTeamReportWjData = (id,idx) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        getTeamReportWjList(id).then(res=>{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(res.code!==0) return proxy.$message.error(res.msg)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            teamList.value[idx].reportList = res.data;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        })
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const getPersonReportWjData = (id,idx) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        getPersonReportWjList(id).then(res=>{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(res.code!==0) return proxy.$message.error(res.msg)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            personList.value[idx].reportList = res.data;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        })
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onMounted(async ()=>{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let type = proxy.$route.query?.type;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let relationId = proxy.$route.query?.relationId;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(!type) return getTeamList()
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(type==1){
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            getTeamList(()=>{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                let idx = teamList.value.findIndex(item=>item.id==relationId)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(idx>-1) toggleReportTeam(teamList.value[idx],idx)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            })
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }else if(type==2){
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            tidx.value = 2;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            getPersonList(()=>{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                let idx = personList.value.findIndex(item=>item.id==relationId)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(idx>-1) toggleReportPerson(personList.value[idx],idx)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            })
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    })
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</script>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<style scoped lang="scss">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .page{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        padding: 28px 20px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        background: #FAFAFA;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        .top{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            .t_l{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                p{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    font-family: PingFang-SC, PingFang-SC;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    font-weight: bold;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    font-size: 16px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    color: #252525;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    line-height: 16px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    &.tip{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        font-family: PingFangSC, PingFang SC;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        font-weight: 400;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        font-size: 14px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        color: #6B7280;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        line-height: 14px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        margin-top: 16px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        .tabs{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            width: 100%;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            margin-top: 28px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            border-bottom: 1px solid #E5E7EB;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            .t_pre{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                width: 116px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                padding-bottom: 18px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                position: relative;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                font-family: PingFangSC, PingFang SC;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                font-weight: 400;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                font-size: 14px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                color: #252525;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                line-height: 16px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                text-align: center;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                cursor: pointer;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                &.active{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    font-weight: bold;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    color: #761E6A;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    &::after{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        content: '';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        width: 116px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        height: 2px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        background: #761E6A;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        position: absolute;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        left: 0;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        bottom: 0;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        .query{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            width: 100%;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            padding: 16px 20px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            box-sizing: border-box;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            background: #FFFFFF;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            border-radius: 6px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            border: 1px solid #F3F4F6;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            margin-top: 31px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        .list{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            .l_item{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                margin-top: 10px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                width: 100%;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                padding: 24px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                box-sizing: border-box;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                background: #FFFFFF;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                border-radius: 6px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                border: 1px solid #F3F4F6;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .li_l{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    .li_pre{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        width: 335px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .lit_text{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            font-family: PingFang-SC, PingFang-SC;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            font-weight: bold;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            font-size: 14px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            color: #252525;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            line-height: 14px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            text-align: left;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            overflow: hidden;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            text-overflow: ellipsis;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            white-space: nowrap;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .lit_tip{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            font-family: PingFangSC, PingFang SC;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            font-weight: 400;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            font-size: 14px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            color: #6B7280;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            line-height: 14px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            text-align: left;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            margin-top: 16px;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</style> 
			 |