mo 4 年之前
父節點
當前提交
81234dc8c5
共有 4 個文件被更改,包括 202 次插入4 次删除
  1. 2 1
      src/router/index.js
  2. 5 2
      src/utils/searchArray.js
  3. 11 0
      src/views/returnVisitManager/api.js
  4. 184 1
      src/views/returnVisitManager/returnVisitList.vue

+ 2 - 1
src/router/index.js

@@ -310,6 +310,7 @@ export const asyncRoutes = {
   adapayManager: () => import('@/views/adapayAccount/index'),
   adapayOperation: () => import('@/views/adapayAccount/form'),
   // 日历课表
-  calendarList: () => import('@/views/teacherManager/teacherDetail/components/calendarList')
+  calendarList: () => import('@/views/teacherManager/teacherDetail/components/calendarList'),
+  returnVisitList: () => import('@/views/returnVisitManager/returnVisitList')
 }
 export default router

+ 5 - 2
src/utils/searchArray.js

@@ -128,7 +128,9 @@ const practiceGroupType = [
   { value: "CHARGE", label: "收费" },
   { value: "TRIAL", label: "试听课" },
 ]
-
+const visitChiose = [
+  { value: '课程推荐', label: '课程推荐', children: [{ value: '新课推荐', label: '新课推荐' }, { value: '续费提醒', label: '续费提醒' }] },
+  { value: '常规回访', label: '常规回访', children: [{ value: '课后及作业回访', label: '课后及作业回访' }, { value: '联系及乐团表现', label: '联系及乐团表现' }] }]
 export {
   courseType,
   attendance,
@@ -144,5 +146,6 @@ export {
   courseGroupStatus,
   commGroupStatus,
   courseListType,
-  practiceGroupType
+  practiceGroupType,
+  visitChiose
 }

+ 11 - 0
src/views/returnVisitManager/api.js

@@ -0,0 +1,11 @@
+import request from '@/utils/request'
+import qs from 'qs'
+let api = '/api-web'
+
+export function getVisitList (data) {
+  return request({
+    url: api + '/visit/queryPage',
+    method: 'get',
+    params: data
+  })
+}

+ 184 - 1
src/views/returnVisitManager/returnVisitList.vue

@@ -1,11 +1,194 @@
 <template>
   <div class="m-container">
-
+    <h2>
+      <div class="squrt"></div>
+      回访记录
+    </h2>
+    <div class="m-core">
+      <el-form :inline="true"
+               :model="searchForm">
+        <el-form-item>
+          <el-input placeholder="请输入老师姓名"
+                    v-model.trim="searchForm.search"></el-input>
+        </el-form-item>
+        <el-form-item>
+          <el-select v-model.trim="searchForm.organId"
+                     placeholder='请选择分部'
+                     clearable
+                     filterable>
+            <el-option v-for='(item,index) in organList'
+                       :key="index"
+                       :value="item.id"
+                       :label="item.name"></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item>
+          <el-select v-model.trim="searchForm.visiterType"
+                     placeholder='请选择角色'
+                     clearable
+                     filterable>
+            <el-option value="TEACHER"
+                       label="指导老师"></el-option>
+            <el-option value="EDU_TEACHER"
+                       label="教务老师"></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item>
+          <el-cascader expand-trigger="hover"
+                       placeholder="请选择回访类型"
+                       :options="visitChiose"
+                       @change="handleChange"
+                       v-model="type">
+          </el-cascader>
+        </el-form-item>
+        <el-form-item>
+          <el-date-picker v-model.trim="timer"
+                          style="width:420px;"
+                          type="daterange"
+                          value-format="yyyy-MM-dd"
+                          range-separator="至"
+                          start-placeholder="开始日期"
+                          end-placeholder="结束日期"
+                          :picker-options="{
+                            firstDayOfWeek: 1
+                          }">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item>
+          <el-button type="danger"
+                     @click="search">搜索</el-button>
+          <el-button @click="onReSet"
+                     type="primary">重置</el-button>
+        </el-form-item>
+      </el-form>
+      <div class="tableWrap">
+        <el-table :data='tableList'
+                  :header-cell-style="{background:'#EDEEF0',color:'#444'}">
+          <el-table-column align='center'
+                           label="老师姓名">
+          </el-table-column>
+          <el-table-column align='center'
+                           prop="classGroupName"
+                           label="所属分部">
+          </el-table-column>
+          <el-table-column align='center'
+                           prop="courseScheduleType"
+                           label="角色">
+          </el-table-column>
+          <el-table-column align='center'
+                           prop="masterTeacherName"
+                           label="乐团编号">
+          </el-table-column>
+          <el-table-column align='center'
+                           prop="masterTeacherName"
+                           label="乐团名称">
+          </el-table-column>
+          <el-table-column align='center'
+                           prop="masterTeacherName"
+                           label="学生ID">
+          </el-table-column>
+          <el-table-column align='center'
+                           prop="masterTeacherName"
+                           label="学生姓名">
+          </el-table-column>
+          <el-table-column align='center'
+                           prop="masterTeacherName"
+                           label="回访类型">
+          </el-table-column>
+          <el-table-column align='center'
+                           prop="masterTeacherName"
+                           label="回访目的">
+          </el-table-column>
+          <el-table-column align='center'
+                           prop="masterTeacherName"
+                           label="回访时间">
+          </el-table-column>
+          <el-table-column align='center'
+                           prop="masterTeacherName"
+                           label="操作">
+            <template slot-scope="scope">
+              <div>
+                <el-button type="text">操作</el-button>
+              </div>
+            </template>
+          </el-table-column>
+        </el-table>
+        <pagination :total="rules.total"
+                    :page.sync="rules.page"
+                    :limit.sync="rules.limit"
+                    :page-sizes="rules.page_size"
+                    @pagination="getList" />
+      </div>
+    </div>
   </div>
 </template>
 <script>
+import { visitChiose } from '@/utils/searchArray'
+import pagination from '@/components/Pagination/index'
+import { getEmployeeOrgan } from '@/api/buildTeam'
+import { getVisitList } from './api.js'
+import cleanDeep from 'clean-deep'
 export default {
+  components: { pagination },
+  data () {
+    return {
+      searchForm: {
+        search: '',
+        organId: '',
+        visiterType: '',
+        type: '',
+        purpose: ''
+      },
+      type: [],
+      timer: [],
+      visitChiose,
+      organList: [],
+      rules: {
+        // 分页规则
+        limit: 10, // 限制显示条数
+        page: 1, // 当前页
+        total: 0, // 总条数
+        page_size: [10, 20, 40, 50] // 选择限制显示条数
+      },
+      tableList: [],
+
 
+    }
+  },
+  mounted () {
+    getEmployeeOrgan().then(res => {
+      if (res.code == 200) {
+        this.organList = res.data;
+      }
+    })
+    this.getList()
+  },
+  methods: {
+    handleChange (val) {
+      this.searchForm.type = val[0]
+      this.searchForm.purpose = val[1]
+    },
+    search () {
+      this.rules.page = 1;
+      this.getList()
+    },
+    onReSet () { },
+    getList () {
+      // cleanDeep
+      if (this.timer && this.timer.length > 0) {
+        this.searchForm.startTime = this.timer[0];
+        this.searchForm.endTime = this.timer[1];
+      }
+      this.searchForm.page = this.rules.page;
+      this.searchForm.rows = this.rules.limit
+      getVisitList(cleanDeep(this.searchForm)).then(res => {
+        if (res.code == 200) {
+          this.tableList = res.data.rows;
+          this.rules.total = res.data.total
+        }
+      })
+    }
+  }
 }
 </script>
 <style lang="scss">