htc 5 天之前
父節點
當前提交
91147e3421

+ 17 - 1
src/store_v3/modules/agent.js

@@ -1,7 +1,7 @@
 import {defineStore} from "pinia";
 import {ref} from "vue";
 
-import { getCoachList,getQuestionnaireList,getCoachProgramList } from '@/api/agent/index.js'
+import { getCoachList,getQuestionnaireList,getCoachProgramList,getTeamListById } from '@/api/agent/index.js'
 
 export const useAgentStore = defineStore('agent', () => {
     const companyList = ref([]);
@@ -17,6 +17,19 @@ export const useAgentStore = defineStore('agent', () => {
         });
     };
 
+    const teamList = ref([]);
+    const teamMap = ref(new Map());
+    const getTeamData = () => {
+        getTeamListById({enterpriseId:''}).then((res) => {
+            teamList.value = res.data;
+            const map = new Map();
+            teamList.value.forEach((supplier) => {
+                map.set(supplier.id, supplier);
+            });
+            teamMap.value = map;
+        });
+    };
+
     const coachList = ref([]);
     const coachMap = ref(new Map());
     const getCoachData = () => {
@@ -47,6 +60,9 @@ export const useAgentStore = defineStore('agent', () => {
         companyList,
         companyMap,
         getCompanyData,
+        teamList,
+        teamMap,
+        getTeamData,
         coachList,
         coachMap,
         getCoachData,

+ 2 - 6
src/views/modules/agent/program.vue

@@ -14,9 +14,7 @@
         </div>
         <template v-if="tidx===1">
             <div class="query adfacjb">
-                <el-input placeholder="请输入内容" prefix-icon="el-icon-search" v-model="programName" style="width: calc(100% - 448px);" @keyup.enter.native="getProgramList"></el-input>
-                <el-select v-model="queryParams.team" placeholder="所有团队" style="width: 200px;"></el-select>
-                <el-select v-model="queryParams.sort" placeholder="排序方式" style="width: 200px;"></el-select>
+                <el-input placeholder="请输入内容" prefix-icon="el-icon-search" v-model="programName" style="width: 100%" @keyup.enter.native="getProgramList"></el-input>
             </div>
             <div class="content">
                 <template v-if="companyList.length">
@@ -77,9 +75,7 @@
         </template>
         <template v-else-if="tidx===2">
             <div class="query adfacjb">
-                <el-input placeholder="请输入内容" prefix-icon="el-icon-search" v-model="programName2" style="width: calc(100% - 448px);" @keyup.enter.native="getProgramList2"></el-input>
-                <el-select v-model="queryParams2.team" placeholder="所有团队" style="width: 200px;"></el-select>
-                <el-select v-model="queryParams2.sort" placeholder="排序方式" style="width: 200px;"></el-select>
+                <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="companyList2.length">

+ 27 - 1
src/views/modules/agent/questionnaire.vue

@@ -50,6 +50,18 @@
                     <span>{{ ((item.finishNum/item.userNum)*100).toFixed(0) }}%</span>
                 </div>
             </div>
+            <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>
     </div>
 </template>
@@ -62,9 +74,12 @@
     useAgentStore().getQuestionnaireData();
     
     const queryParams = ref({
+        page:1,
+        limit:2,
         questionnaireId: '',
         status: '',
     })
+    const total = ref(0)
     const dataList = ref([])
 
     const handleSchedule = (item) => {
@@ -85,12 +100,23 @@
     }
 
     const getList = () => {
-        getTeamQuestionnaireList(queryParams.value).then(res=>{
+        let query = {...queryParams.value};
+        getTeamQuestionnaireList(query).then(res=>{
             if(res.code!==0) return proxy.$message.error(res.msg)
             dataList.value = res.data.list;
+            total.value = res.data.total;
         })
     }
 
+    const handleSizeChange = (e)=>{
+        queryParams.value.limit = e;
+        getList();
+    }
+    const handleCurrentChange = (e)=>{
+        queryParams.value.page = e;
+        getList();
+    }
+
     onMounted(()=>{
         getList()
     })

+ 38 - 10
src/views/modules/agent/report.vue

@@ -13,12 +13,12 @@
             <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>
-        <div class="query adfacjb">
-            <el-input placeholder="请输入内容" prefix-icon="el-icon-search" v-model="queryParams.name" style="width: calc(100% - 448px);"></el-input>
-            <el-select v-model="queryParams.team" placeholder="所有团队" style="width: 200px;"></el-select>
-            <el-select v-model="queryParams.sort" placeholder="排序方式" style="width: 200px;"></el-select>
-        </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"
@@ -28,9 +28,27 @@
                     @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"
@@ -58,15 +76,23 @@
         reCreateReport,
         getPersonQueList 
      } from "@/api/agent/index.js";
+    import {useAgentStore} from "@/store_v3/modules/agent";
+    useAgentStore().getQuestionnaireData();
+    useAgentStore().getTeamData();
     
     const tidx = ref(1)
     const queryParams = ref({
+        page:1,
+        limit:2,
+        questionnaireId: '',
+        status: '',
+    })
+    const queryParams2 = ref({
         name: '',
-        team: '',
-        sort: ''
+        teamId: '',
     })
+    const total = ref(0)
     const teamList = ref([])
-
     const personList = ref([])
 
     const handleChangeTab = (idx) => {
@@ -98,6 +124,7 @@
         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,
@@ -110,9 +137,10 @@
         })
     }
     const getPersonList = (callback) => {
-        getPersonQueList({teamId:''}).then(res=>{
+        let params = {...queryParams2.value}
+        getPersonQueList(params).then(res=>{
             if(res.code!==0) return proxy.$message.error(res.msg)
-            personList.value = res.data;
+            personList.value = res.data.filter(d=>d.enterpriseName.indexOf(params.name)>-1);
             personList.value = personList.value.map(item=>{
                 return {
                     ...item,