|  | @@ -114,12 +114,15 @@
 | 
	
		
			
				|  |  |        <el-form-item>
 | 
	
		
			
				|  |  |          <el-button native-type="submit" type="danger">搜索</el-button>
 | 
	
		
			
				|  |  |          <el-button native-type="reset" type="primary">重置</el-button>
 | 
	
		
			
				|  |  | -               <el-button
 | 
	
		
			
				|  |  | +        <el-button
 | 
	
		
			
				|  |  |            type="primary"
 | 
	
		
			
				|  |  |            v-if="tableList.length > 0"
 | 
	
		
			
				|  |  | -          v-permission="'studentStatistics/exportStudentSmallClassStatisticsSum'"
 | 
	
		
			
				|  |  | +          v-permission="
 | 
	
		
			
				|  |  | +            'studentStatistics/exportStudentSmallClassStatisticsSum'
 | 
	
		
			
				|  |  | +          "
 | 
	
		
			
				|  |  |            @click="smallStudentExport"
 | 
	
		
			
				|  |  | -          >导出</el-button>
 | 
	
		
			
				|  |  | +          >导出</el-button
 | 
	
		
			
				|  |  | +        >
 | 
	
		
			
				|  |  |        </el-form-item>
 | 
	
		
			
				|  |  |      </save-form>
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -201,9 +204,10 @@
 | 
	
		
			
				|  |  |                  <el-col :span="6">
 | 
	
		
			
				|  |  |                    <el-form-item label="回访日期">
 | 
	
		
			
				|  |  |                      <div class="schoolWrap" v-if="props.row.lastVisitTime">
 | 
	
		
			
				|  |  | -                      {{props.row.lastVisitTime | dayjsFormat}}
 | 
	
		
			
				|  |  | -                    </div> </el-form-item
 | 
	
		
			
				|  |  | -                ></el-col>
 | 
	
		
			
				|  |  | +                      {{ props.row.lastVisitTime | dayjsFormat }}
 | 
	
		
			
				|  |  | +                    </div>
 | 
	
		
			
				|  |  | +                  </el-form-item></el-col
 | 
	
		
			
				|  |  | +                >
 | 
	
		
			
				|  |  |                </el-row>
 | 
	
		
			
				|  |  |                <el-row>
 | 
	
		
			
				|  |  |                  <el-col :span="6">
 | 
	
	
		
			
				|  | @@ -285,13 +289,36 @@
 | 
	
		
			
				|  |  |          >
 | 
	
		
			
				|  |  |          </el-table-column>
 | 
	
		
			
				|  |  |          <el-table-column align="center" prop="organName" label="学员状态">
 | 
	
		
			
				|  |  | -               <template slot-scope="scope">
 | 
	
		
			
				|  |  | -                 <div>
 | 
	
		
			
				|  |  | -                   <p v-if="(scope.row.noScheduleNum || scope.row.subCourseNum)&&(scope.row.latelyYearCourseConsumer || !scope.row.overCourseNum)">在读</p>
 | 
	
		
			
				|  |  | -                   <p v-if="(scope.row.overCourseNum && (scope.row.subCourseNum || scope.row.noScheduleNum)&&!scope.row.latelyYearCourseConsumer)">沉睡</p>
 | 
	
		
			
				|  |  | -                    <p v-if="( scope.row.overCourseNum&&!scope.row.noScheduleNum&&!scope.row.subCourseNum)">流失</p>
 | 
	
		
			
				|  |  | -                 </div>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +          <template slot-scope="scope">
 | 
	
		
			
				|  |  | +            <div>
 | 
	
		
			
				|  |  | +              <p
 | 
	
		
			
				|  |  | +                v-if="
 | 
	
		
			
				|  |  | +                  (scope.row.noScheduleNum || scope.row.subCourseNum) &&
 | 
	
		
			
				|  |  | +                  (scope.row.latelyYearCourseConsumer ||
 | 
	
		
			
				|  |  | +                    !scope.row.overCourseNum)
 | 
	
		
			
				|  |  | +                "
 | 
	
		
			
				|  |  | +              >
 | 
	
		
			
				|  |  | +                在读
 | 
	
		
			
				|  |  | +              </p>
 | 
	
		
			
				|  |  | +              <p
 | 
	
		
			
				|  |  | +                v-if="
 | 
	
		
			
				|  |  | +                  scope.row.overCourseNum &&
 | 
	
		
			
				|  |  | +                  (scope.row.subCourseNum || scope.row.noScheduleNum) &&
 | 
	
		
			
				|  |  | +                  !scope.row.latelyYearCourseConsumer
 | 
	
		
			
				|  |  | +                "
 | 
	
		
			
				|  |  | +              >
 | 
	
		
			
				|  |  | +                沉睡
 | 
	
		
			
				|  |  | +              </p>
 | 
	
		
			
				|  |  | +              <p
 | 
	
		
			
				|  |  | +                v-if="
 | 
	
		
			
				|  |  | +                  scope.row.overCourseNum &&
 | 
	
		
			
				|  |  | +                  !scope.row.noScheduleNum &&
 | 
	
		
			
				|  |  | +                  !scope.row.subCourseNum
 | 
	
		
			
				|  |  | +                "
 | 
	
		
			
				|  |  | +              >
 | 
	
		
			
				|  |  | +                流失
 | 
	
		
			
				|  |  | +              </p>
 | 
	
		
			
				|  |  | +            </div>
 | 
	
		
			
				|  |  |            </template>
 | 
	
		
			
				|  |  |          </el-table-column>
 | 
	
		
			
				|  |  |          <el-table-column align="center" prop="noScheduleNum" label="未排课时">
 | 
	
	
		
			
				|  | @@ -336,14 +363,18 @@
 | 
	
		
			
				|  |  |          @pagination="getList"
 | 
	
		
			
				|  |  |        />
 | 
	
		
			
				|  |  |      </div>
 | 
	
		
			
				|  |  | -     <el-dialog
 | 
	
		
			
				|  |  | +    <el-dialog
 | 
	
		
			
				|  |  |        title="回访记录"
 | 
	
		
			
				|  |  |        width="1000px"
 | 
	
		
			
				|  |  |        v-if="visitVisiable"
 | 
	
		
			
				|  |  |        :close-on-click-modal="false"
 | 
	
		
			
				|  |  |        :visible.sync="visitVisiable"
 | 
	
		
			
				|  |  |      >
 | 
	
		
			
				|  |  | -      <visiList  :studentId='activeRow.userId' :studentName="activeRow.studentBasicInfo.userName" :groupType="groupType"/>
 | 
	
		
			
				|  |  | +      <visiList
 | 
	
		
			
				|  |  | +        :studentId="activeRow.userId"
 | 
	
		
			
				|  |  | +        :studentName="activeRow.studentBasicInfo.userName"
 | 
	
		
			
				|  |  | +        :groupType="groupType"
 | 
	
		
			
				|  |  | +      />
 | 
	
		
			
				|  |  |      </el-dialog>
 | 
	
		
			
				|  |  |    </div>
 | 
	
		
			
				|  |  |  </template>
 | 
	
	
		
			
				|  | @@ -354,15 +385,15 @@ import { queryPage } from "../api";
 | 
	
		
			
				|  |  |  import { feedbackTypeList } from "@/utils/searchArray";
 | 
	
		
			
				|  |  |  import { getTimes } from "@/utils";
 | 
	
		
			
				|  |  |  import { Export } from "@/utils/downLoadFile";
 | 
	
		
			
				|  |  | -import cleanDeep from 'clean-deep'
 | 
	
		
			
				|  |  | -import visiList from './visiList.vue'
 | 
	
		
			
				|  |  | -import qs from 'qs'
 | 
	
		
			
				|  |  | +import cleanDeep from "clean-deep";
 | 
	
		
			
				|  |  | +import visiList from "./visiList.vue";
 | 
	
		
			
				|  |  | +import qs from "qs";
 | 
	
		
			
				|  |  |  export default {
 | 
	
		
			
				|  |  |    name: "tableList",
 | 
	
		
			
				|  |  |    props: ["groupType"],
 | 
	
		
			
				|  |  |    components: {
 | 
	
		
			
				|  |  |      pagination,
 | 
	
		
			
				|  |  | -    visiList
 | 
	
		
			
				|  |  | +    visiList,
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    data() {
 | 
	
		
			
				|  |  |      return {
 | 
	
	
		
			
				|  | @@ -376,11 +407,9 @@ export default {
 | 
	
		
			
				|  |  |          teacherId: "",
 | 
	
		
			
				|  |  |          musicDirectorId: "",
 | 
	
		
			
				|  |  |          courseConsumerError: "",
 | 
	
		
			
				|  |  | -        timer: "",
 | 
	
		
			
				|  |  | +        timer:[],
 | 
	
		
			
				|  |  |        },
 | 
	
		
			
				|  |  | -      tableList: [
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -      ],
 | 
	
		
			
				|  |  | +      tableList: [],
 | 
	
		
			
				|  |  |        feedbackTypeList,
 | 
	
		
			
				|  |  |        pageInfo: {
 | 
	
		
			
				|  |  |          // 分页规则
 | 
	
	
		
			
				|  | @@ -389,8 +418,8 @@ export default {
 | 
	
		
			
				|  |  |          total: 0, // 总条数
 | 
	
		
			
				|  |  |          page_size: [10, 20, 40, 50], // 选择限制显示条数
 | 
	
		
			
				|  |  |        },
 | 
	
		
			
				|  |  | -      visitVisiable:false,
 | 
	
		
			
				|  |  | -      activeRow:null
 | 
	
		
			
				|  |  | +      visitVisiable: false,
 | 
	
		
			
				|  |  | +      activeRow: null,
 | 
	
		
			
				|  |  |      };
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    async mounted() {
 | 
	
	
		
			
				|  | @@ -412,14 +441,18 @@ export default {
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      async getList() {
 | 
	
		
			
				|  |  |        const { timer, ...rest } = this.searchForm;
 | 
	
		
			
				|  |  | +      console.log(timer)
 | 
	
		
			
				|  |  |        try {
 | 
	
		
			
				|  |  | -        let res = await queryPage({
 | 
	
		
			
				|  |  | +        let obj = {
 | 
	
		
			
				|  |  |            groupType: this.groupType,
 | 
	
		
			
				|  |  |            ...rest,
 | 
	
		
			
				|  |  |            ...getTimes(timer, ["firstCourseStartTime", "firstCourseEndTime"]),
 | 
	
		
			
				|  |  |            rows: this.pageInfo.limit,
 | 
	
		
			
				|  |  |            page: this.pageInfo.page,
 | 
	
		
			
				|  |  |            organId: this.searchForm.organId.join(","),
 | 
	
		
			
				|  |  | +        };
 | 
	
		
			
				|  |  | +        let res = await queryPage({
 | 
	
		
			
				|  |  | +          ...obj,
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |          this.tableList = res.data.rows || [];
 | 
	
		
			
				|  |  |          this.pageInfo.total = res.data.total;
 | 
	
	
		
			
				|  | @@ -431,44 +464,49 @@ export default {
 | 
	
		
			
				|  |  |          params: { search: search },
 | 
	
		
			
				|  |  |        });
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    gototeacher(search){
 | 
	
		
			
				|  |  | -        this.$router.push({
 | 
	
		
			
				|  |  | +    gototeacher(search) {
 | 
	
		
			
				|  |  | +      this.$router.push({
 | 
	
		
			
				|  |  |          name: "teacherList",
 | 
	
		
			
				|  |  |          params: { search: search },
 | 
	
		
			
				|  |  |        });
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    recordVisit(row){
 | 
	
		
			
				|  |  | +    recordVisit(row) {
 | 
	
		
			
				|  |  |        this.activeRow = row;
 | 
	
		
			
				|  |  | -      this.visitVisiable = true
 | 
	
		
			
				|  |  | +      this.visitVisiable = true;
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    smallStudentExport(){
 | 
	
		
			
				|  |  | -         const { timer, ...rest } = this.searchForm;
 | 
	
		
			
				|  |  | -         let str = ''
 | 
	
		
			
				|  |  | -         if(this.groupType === 'PRACTICE'){
 | 
	
		
			
				|  |  | -           str='网管课'
 | 
	
		
			
				|  |  | -         }else if(this.groupType === 'VIP'){
 | 
	
		
			
				|  |  | -            str='VIP课'
 | 
	
		
			
				|  |  | -         }else{
 | 
	
		
			
				|  |  | -           str='乐理课'
 | 
	
		
			
				|  |  | -         }
 | 
	
		
			
				|  |  | +    smallStudentExport() {
 | 
	
		
			
				|  |  | +      const { timer, ...rest } = this.searchForm;
 | 
	
		
			
				|  |  | +      let str = "";
 | 
	
		
			
				|  |  | +      if (this.groupType === "PRACTICE") {
 | 
	
		
			
				|  |  | +        str = "网管课";
 | 
	
		
			
				|  |  | +      } else if (this.groupType === "VIP") {
 | 
	
		
			
				|  |  | +        str = "VIP课";
 | 
	
		
			
				|  |  | +      } else {
 | 
	
		
			
				|  |  | +        str = "乐理课";
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  |        Export(
 | 
	
		
			
				|  |  |          this,
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |            url: "/api-web/studentStatistics/exportStudentSmallClassStatisticsSum",
 | 
	
		
			
				|  |  |            fileName: `${str}学员管理.xls`,
 | 
	
		
			
				|  |  |            method: "post",
 | 
	
		
			
				|  |  | -          params: qs.stringify(cleanDeep({
 | 
	
		
			
				|  |  | -             groupType: this.groupType,
 | 
	
		
			
				|  |  | -          ...rest,
 | 
	
		
			
				|  |  | -          ...getTimes(timer, ["firstCourseStartTime", "firstCourseEndTime"]),
 | 
	
		
			
				|  |  | -          rows: this.pageInfo.limit,
 | 
	
		
			
				|  |  | -          page: this.pageInfo.page,
 | 
	
		
			
				|  |  | -          organId: this.searchForm.organId.join(","),
 | 
	
		
			
				|  |  | -          })),
 | 
	
		
			
				|  |  | +          params: qs.stringify(
 | 
	
		
			
				|  |  | +            cleanDeep({
 | 
	
		
			
				|  |  | +              groupType: this.groupType,
 | 
	
		
			
				|  |  | +              ...rest,
 | 
	
		
			
				|  |  | +              ...getTimes(timer, [
 | 
	
		
			
				|  |  | +                "firstCourseStartTime",
 | 
	
		
			
				|  |  | +                "firstCourseEndTime",
 | 
	
		
			
				|  |  | +              ]),
 | 
	
		
			
				|  |  | +              rows: this.pageInfo.limit,
 | 
	
		
			
				|  |  | +              page: this.pageInfo.page,
 | 
	
		
			
				|  |  | +              organId: this.searchForm.organId.join(","),
 | 
	
		
			
				|  |  | +            })
 | 
	
		
			
				|  |  | +          ),
 | 
	
		
			
				|  |  |          },
 | 
	
		
			
				|  |  |          `您确定导出${str}学员管理?`
 | 
	
		
			
				|  |  |        );
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  |  </script>
 |