mo преди 4 години
родител
ревизия
0a4431871f

+ 6 - 0
src/constant/index.js

@@ -277,3 +277,9 @@ export const clientStatus = {
   NETWORK_ROOM:'网络教室',
   SMART_PRACTICE:'智能陪练'
 }
+
+export const conclusion = {
+  0:'未提交',
+  1:'正常',
+  2:'异常'
+}

+ 2 - 1
src/utils/searchArray.js

@@ -1,5 +1,5 @@
 // 搜索用的下拉数据列表
-import { payOrderType, auditType, auditPaymentType, orderServerType, orderAuditType, rewardModeType,classTime,musicClassType,ProbationPeriodStatus,downListType,musicGroupType } from '../constant'
+import { payOrderType, auditType, auditPaymentType, orderServerType, orderAuditType, rewardModeType,classTime,musicClassType,ProbationPeriodStatus,downListType,musicGroupType,conclusion } from '../constant'
 // 课程类型
 export const courseType = [
   { label: "声部课", value: "SINGLE" },
@@ -226,6 +226,7 @@ export const rewardModeTypeList = getValueForKey(rewardModeType)
 export const musicClassTypeList =  getValueForKey(musicClassType)
 export const ProbationPeriodList = getValueForKey(ProbationPeriodStatus)
 export const downTypeList = getValueForKey(downListType)
+export const conclusionList = getValueForKey(conclusion)
 //downListType
 function getValueForKey (obj) {
   let arr = []

+ 4 - 0
src/utils/vueFilter.js

@@ -758,3 +758,7 @@ Vue.filter('downListType', value => {
 Vue.filter('withdrawalStatus', value => {
   return constant.withdrawalStatus[value]
 })
+//
+Vue.filter('conclusionStatus', value => {
+  return constant.conclusion[value]
+})

+ 8 - 5
src/views/musicInspection/index.vue

@@ -98,10 +98,10 @@
             class="multiple"
             v-model.trim="searchForm.conclusionStatus"
             clearable
-            placeholder="巡查项目是否异常"
+            placeholder="巡查项目"
           >
-            <el-option label="是" :value="1"></el-option>
-            <el-option label="否" :value="0"></el-option>
+            <el-option :label="item.label" :value="item.value" v-for="item in conclusionList" :key="item.value"></el-option>
+
           </el-select>
         </el-form-item>
         <el-form-item prop="createTimer">
@@ -167,9 +167,9 @@
               >)
             </template>
           </el-table-column>
-          <el-table-column align="center" label="巡查项目异常">
+          <el-table-column align="center" label="巡查项目">
             <template slot-scope="scope">
-              {{ scope.row.conclusionStatus ? "异常" : "正常" }}
+              {{ scope.row.conclusionStatus | conclusionStatus}}
             </template>
           </el-table-column>
           <el-table-column align="center" prop="subject" label="巡查时间">
@@ -289,6 +289,7 @@ import pagination from "@/components/Pagination/index";
 import LookDetail from "./modals/lookDetail";
 import dayjs from "dayjs";
 import { inspectionItemPlan, updateMemo } from "./api";
+import {conclusionList} from "@/utils/searchArray"
 import { findEducationUsers } from "@/api/buildTeam";
 import { queryByOrganId } from "@/api/systemManage";
 import { getTeamList } from "@/api/teamServer";
@@ -299,6 +300,7 @@ export default {
   components: { pagination, LookDetail, gpsLoction },
   data() {
     return {
+      conclusionList:conclusionList,
       educationList: [],
       cooperationList: [],
       musicGroupList: [],
@@ -331,6 +333,7 @@ export default {
     };
   },
   async mounted() {
+    console.log(this.conclusionList)
     const { query } = this.$route;
     if (query.organId) {
       this.searchForm.organId = query.organId;

+ 5 - 1
src/views/studentManager/studentList.vue

@@ -684,7 +684,7 @@ import { getToken } from "@/utils/auth";
 import load from "@/utils/loading";
 import { permission } from "@/utils/directivePage";
 export default {
-  name: "studentList",
+  name: "studentManagerList",
   components: { pagination, qrCode },
   data() {
     return {
@@ -766,6 +766,10 @@ export default {
     };
   },
   mounted() {
+    console.log(this.$route)
+    if(this.$route.params.search){
+      this.searchForm.search = this.$route.params.search
+    }
     this.$store.dispatch("setBranchs");
     this.$store.dispatch("setTeachers");
     this.getList();

+ 162 - 132
src/views/teamDetail/components/classList.vue

@@ -15,56 +15,66 @@
     <!-- 列表 -->
     <!-- <div class="newBand"
          @click="resetClass">班级调整</div> -->
-    <div class="newBand"
-         v-permission="'courseSchedule/coursePostpone'"
-         @click="postpone">课程顺延</div>
+    <div
+      class="newBand"
+      v-permission="'courseSchedule/coursePostpone'"
+      @click="postpone"
+    >
+      课程顺延
+    </div>
     <div class="tableWrap">
-      <el-table :data='tableList'
-                :header-cell-style="{background:'#EDEEF0',color:'#444'}"
-                @selection-change="handleSelectionChange">
-        <el-table-column type="selection"
-                         width="55">
-        </el-table-column>
-        <el-table-column align='center'
-                         prop="classGroupName"
-                         label="班级名称">
+      <el-table
+        :data="tableList"
+        :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
+        @selection-change="handleSelectionChange"
+      >
+        <el-table-column type="selection" width="55"> </el-table-column>
+        <el-table-column align="center" prop="classGroupName" label="班级名称">
+          <template slot-scope="scope">
+            <div
+              @click="gotoClassList(scope.row.classGroupName)"
+              style="color: #14928a; cursor: pointer"
+            >
+              {{ scope.row.classGroupName }}
+            </div>
+          </template>
         </el-table-column>
-        <el-table-column align='center'
-                         label="班级类型">
+        <el-table-column align="center" label="班级类型">
           <template slot-scope="scope">
             <div>
-              {{ scope.row.classGroupType | classType}}
+              {{ scope.row.classGroupType | classType }}
             </div>
           </template>
         </el-table-column>
-        <el-table-column align='center'
-                         prop="masterTeacher"
-                         label="主教老师">
+        <el-table-column align="center" prop="masterTeacher" label="主教老师">
         </el-table-column>
-        <el-table-column align='center'
-                         prop='subTeacher'
-                         label="助教老师">
+        <el-table-column align="center" prop="subTeacher" label="助教老师">
         </el-table-column>
-        <el-table-column align='center'
-                         prop="currentClassTimes"
-                         label="当前课次">
+        <el-table-column
+          align="center"
+          prop="currentClassTimes"
+          label="当前课次"
+        >
           <template slot-scope="scope">
             <div>
-              {{ scope.row.currentClassTimes+'/'+scope.row.totalClassTimes}}
+              {{
+                scope.row.currentClassTimes + "/" + scope.row.totalClassTimes
+              }}
             </div>
           </template>
         </el-table-column>
-        <el-table-column align='center'
-                         prop="studyNum"
-                         label="在读人数">
+        <el-table-column align="center" prop="studyNum" label="在读人数">
         </el-table-column>
-        <el-table-column align='center'
-                         v-if="permission('courseSchedule/coursePostpone')"
-                         label="操作">
+        <el-table-column
+          align="center"
+          v-if="permission('courseSchedule/coursePostpone')"
+          label="操作"
+        >
           <template slot-scope="scope">
             <div>
-              <el-button type='text'
-                         @click="signPostpone(scope.row)">顺延课程</el-button>
+              <el-button type="text" @click="signPostpone(scope.row)"
+                >顺延课程</el-button
+              >
             </div>
           </template>
         </el-table-column>
@@ -87,67 +97,70 @@
         </el-table-column> -->
       </el-table>
       <pagination
-      sync
-      save-key='teamDetails-classList'
-      :total.sync="rules.total"
-                  :page.sync="rules.page"
-                  :limit.sync="rules.limit"
-                  :page-sizes="rules.page_size"
-                  @pagination="getList" />
+        sync
+        save-key="teamDetails-classList"
+        :total.sync="rules.total"
+        :page.sync="rules.page"
+        :limit.sync="rules.limit"
+        :page-sizes="rules.page_size"
+        @pagination="getList"
+      />
     </div>
-    <el-dialog title="课程顺延"
-               :visible.sync="postponeVisible"
-               width="600px"
-               :before-close="handleClose">
-      <el-form :model="postponeForm"
-               ref="postponeForm"
-               :rules='postponeRules'>
-        <el-form-item label="开始日期"
-                      prop="stopTime">
-          <el-date-picker v-model.trim="postponeForm.stopTime"
-                          type="date"
-                          :picker-options="bigin"
-                          value-format="yyyy-MM-dd"
-                          placeholder="选择日期">
+    <el-dialog
+      title="课程顺延"
+      :visible.sync="postponeVisible"
+      width="600px"
+      :before-close="handleClose"
+    >
+      <el-form :model="postponeForm" ref="postponeForm" :rules="postponeRules">
+        <el-form-item label="开始日期" prop="stopTime">
+          <el-date-picker
+            v-model.trim="postponeForm.stopTime"
+            type="date"
+            :picker-options="bigin"
+            value-format="yyyy-MM-dd"
+            placeholder="选择日期"
+          >
           </el-date-picker>
         </el-form-item>
-        <el-form-item label="顺延日期"
-                      prop="resetTime">
-          <el-date-picker v-model.trim="postponeForm.resetTime"
-                          type="date"
-                          :picker-options="options"
-                          value-format="yyyy-MM-dd"
-                          placeholder="选择日期">
+        <el-form-item label="顺延日期" prop="resetTime">
+          <el-date-picker
+            v-model.trim="postponeForm.resetTime"
+            type="date"
+            :picker-options="options"
+            value-format="yyyy-MM-dd"
+            placeholder="选择日期"
+          >
           </el-date-picker>
         </el-form-item>
         <el-form-item label="跳过节假日">
           <el-checkbox v-model.trim="postponeForm.holiday"></el-checkbox>
         </el-form-item>
       </el-form>
-      <span style='color:#F56C6C;'>注意:将会把所选班级的课表,「开始日期」之后的全部未开始课程;
-        调整到「顺延日期」之后重新排课,可以勾选跳过节假日;</span>
-      <span slot="footer"
-            class="dialog-footer">
+      <span style="color: #f56c6c"
+        >注意:将会把所选班级的课表,「开始日期」之后的全部未开始课程;
+        调整到「顺延日期」之后重新排课,可以勾选跳过节假日;</span
+      >
+      <span slot="footer" class="dialog-footer">
         <el-button @click="postponeVisible = false">取 消</el-button>
-        <el-button type="primary"
-                   @click="submitInfo">确 定</el-button>
+        <el-button type="primary" @click="submitInfo">确 定</el-button>
       </span>
     </el-dialog>
   </div>
 </template>
 <script>
-import pagination from '@/components/Pagination/index'
-import { getClassList, coursePostpone } from '@/api/buildTeam'
-import { permission } from '@/utils/directivePage'
+import pagination from "@/components/Pagination/index";
+import { getClassList, coursePostpone } from "@/api/buildTeam";
+import { permission } from "@/utils/directivePage";
 export default {
-  name: 'tclassList',
-  data () {
+  name: "tclassList",
+  data() {
     return {
       postponeVisible: false,
       searchLsit: [],
       searchForm: {
-        name: '',
-        status: ''
+        name: "",
+        status: "",
       },
       tableList: [],
       rules: {
@@ -155,78 +168,87 @@ export default {
         limit: 10, // 限制显示条数
         page: 1, // 当前页
         total: 0, // 总条数
-        page_size: [10, 20, 40, 50] // 选择限制显示条数
+        page_size: [10, 20, 40, 50], // 选择限制显示条数
       },
       postponeForm: {
-        stopTime: '',
-        resetTime: '',
-        holiday: false
+        stopTime: "",
+        resetTime: "",
+        holiday: false,
       },
       postponeRules: {
-        stopTime: [{ required: true, message: '请选择开始日期', trigger: 'blur' },],
-        resetTime: [{ required: true, message: '请选择顺延日期', trigger: 'blur' },],
+        stopTime: [
+          { required: true, message: "请选择开始日期", trigger: "blur" },
+        ],
+        resetTime: [
+          { required: true, message: "请选择顺延日期", trigger: "blur" },
+        ],
       },
-      activeClass: '',
+      activeClass: "",
       activeList: [],
       options: this.processDate(),
-      bigin: this.beginDate()
-    }
+      bigin: this.beginDate(),
+    };
   },
   components: {
-    pagination
-  },
-  created () {
-
+    pagination,
   },
-  mounted () {
+  created() {},
+  mounted() {
     this.getList();
   },
-  activated () {
+  activated() {
     this.getList();
   },
   methods: {
-    permission (str) {
-      return permission(str)
+    permission(str) {
+      return permission(str);
     },
-    getList () {
+    getList() {
       this.teamid = this.$route.query.id;
       // search: this.teamid
-      getClassList({ search: this.teamid, page: this.rules.page, rows: this.rules.limit }).then(res => {
+      getClassList({
+        search: this.teamid,
+        page: this.rules.page,
+        rows: this.rules.limit,
+      }).then((res) => {
         if (res.code == 200) {
           this.tableList = res.data.rows;
-          this.rules.total = res.data.total
+          this.rules.total = res.data.total;
         }
-      })
+      });
     },
-    resetClass () {
+    resetClass() {
       // 跳转到班级详情页
-      this.$router.push({ path: '/business/resetClass', query: { id: this.teamid } })
+      this.$router.push({
+        path: "/business/resetClass",
+        query: { id: this.teamid },
+      });
     },
-    postpone () {
+    postpone() {
       if (this.activeList.length <= 0) {
-        this.$message.error('请至少选择一个班级');
-        return
+        this.$message.error("请至少选择一个班级");
+        return;
       }
       this.postponeVisible = true;
     },
-    signPostpone (row) {
+    signPostpone(row) {
       this.activeClass = row.classGroupId;
       this.postponeVisible = true;
     },
-    handleClose () {
+    handleClose() {
       // 弹窗关闭之前
       this.postponeVisible = false;
-      this.$refs['postponeForm'].resetFields();
+      this.$refs["postponeForm"].resetFields();
     },
-    handleSelectionChange (val) {
+    handleSelectionChange(val) {
       this.activeList = val;
-      let arr = val.map(item => {
-        return item.classGroupId
-      })
-      this.activeClass = arr.join(',')
+      let arr = val.map((item) => {
+        return item.classGroupId;
+      });
+      this.activeClass = arr.join(",");
     },
-    submitInfo () {
-      this.$refs['postponeForm'].validate(res => {
+    submitInfo() {
+      this.$refs["postponeForm"].validate((res) => {
         if (res) {
           let classGroupIds = this.activeClass;
           let pauseDate = this.postponeForm.stopTime;
@@ -236,42 +258,50 @@ export default {
             classGroupIds,
             pauseDate,
             recoveryDate,
-            skipHoliday
-          }
-          coursePostpone(obj).then(res => {
+            skipHoliday,
+          };
+          coursePostpone(obj).then((res) => {
             if (res.code == 200) {
-              this.$message.success('修改成功')
+              this.$message.success("修改成功");
             }
-          })
+          });
         }
-      })
-
+      });
     },
-    processDate () {//提出结束时间必须大于提出开始时间
-      let self = this
+    processDate() {
+      //提出结束时间必须大于提出开始时间
+      let self = this;
       return {
         firstDayOfWeek: 1,
-        disabledDate (time) {
+        disabledDate(time) {
           if (self.postponeForm.stopTime) {
-            return new Date(self.postponeForm.stopTime).getTime() > time.getTime()
+            return (
+              new Date(self.postponeForm.stopTime).getTime() > time.getTime()
+            );
           } else {
-            return time.getTime() > Date.now()
+            return time.getTime() > Date.now();
             //开始时间不选时,结束时间最大值小于等于当天
           }
-        }
-      }
+        },
+      };
     },
-    beginDate () {
-      let self = this
+    beginDate() {
+      let self = this;
       return {
         firstDayOfWeek: 1,
-        disabledDate (time) {
-          return time.getTime() + 86400000 <= new Date().getTime()//开始时间不选时,结束时间最大值小于等于当天
-        }
-      }
+        disabledDate(time) {
+          return time.getTime() + 86400000 <= new Date().getTime(); //开始时间不选时,结束时间最大值小于等于当天
+        },
+      };
+    },
+    gotoClassList(search) {
+      this.$router.push({
+        name: "teamCLassList",
+        params: { search: search },
+      });
     },
-  }
-}
+  },
+};
 </script>
 <style lang="scss" scope>
 </style>

+ 55 - 35
src/views/teamDetail/components/studentList.vue

@@ -201,16 +201,20 @@
         ></el-table-column>
         <el-table-column label="学员编号" width="120px;" prop="userId">
           <template slot-scope="scope">
-            <copy-text>
-              {{ scope.row.userId }}
-            </copy-text>
+            <div @click="gotoStudent(scope.row.userId)" style="color:#14928A;cursor: pointer;">
+              <copy-text>
+                {{ scope.row.userId }}
+              </copy-text>
+            </div>
           </template>
         </el-table-column>
         <el-table-column label="学员姓名" width="120px;" prop="realName">
           <template slot-scope="scope">
-            <copy-text>
-              {{ scope.row.realName }}
-            </copy-text>
+            <div @click="gotoStudent(scope.row.realName)" style="color:#14928A;cursor: pointer;">
+              <copy-text>
+                {{ scope.row.realName }}
+              </copy-text>
+            </div>
           </template>
         </el-table-column>
         <el-table-column
@@ -538,7 +542,12 @@
     </el-dialog>
     <!-- 退团弹窗 -->
     <el-dialog title="退团信息确认" width="640px" :visible.sync="quitVisible">
-      <el-form :model="quitForm" ref="quitForm" label-width="150px" :rules="quitRules">
+      <el-form
+        :model="quitForm"
+        ref="quitForm"
+        label-width="150px"
+        :rules="quitRules"
+      >
         <el-form-item
           label="退还云教练费用"
           prop="isCloudTeacherAmount"
@@ -952,7 +961,9 @@ export default {
       classList: [],
       quitRules: {
         isCloudTeacherAmount: [{ required: true, message: "请输入云教练费用" }],
-        cloudTeacherAmount: [{ required: true, message: "请输入云教练金额", trigger: 'blur' }],
+        cloudTeacherAmount: [
+          { required: true, message: "请输入云教练金额", trigger: "blur" },
+        ],
         isRefundCourseFee: [
           { required: true, message: "请选择是否退还课程费用" },
         ],
@@ -1133,16 +1144,15 @@ export default {
           this.soundList = res.data;
         }
       });
-    // this.getMusicClass()
+      // this.getMusicClass()
       // 获取乐团基本信息
       getMusicGroup({ musicGroupId: this.teamid }).then(
         (res) => (this.baseInfo = res.data)
       );
       // 获取乐团所有合奏课
-
     },
-    getMusicClass(){
-            getMusicGroupAllClass({ musicGroupId: this.teamid }).then((res) => {
+    getMusicClass() {
+      getMusicGroupAllClass({ musicGroupId: this.teamid }).then((res) => {
         if (res.code == 200) {
           this.classList = res.data;
           this.signList = [];
@@ -1157,13 +1167,11 @@ export default {
               this.mixList.push(item);
             } else if (item.type == "HIGH") {
               this.highList.push(item);
-            }
-            else if (item.type == "HIGH_ONLINE"&&item.studentNum<6) {
-             this.highonlineList.push(item);
-           }
-            else if (item.type == "SNAP") {
+            } else if (item.type == "HIGH_ONLINE" && item.studentNum < 6) {
+              this.highonlineList.push(item);
+            } else if (item.type == "SNAP") {
               this.snapList.push(item);
-            }  else if (item.type == "MUSIC_NETWORK") {
+            } else if (item.type == "MUSIC_NETWORK") {
               this.muiscnetworkList.push(item);
             }
           });
@@ -1337,14 +1345,15 @@ export default {
                 reason: this.quitForm.reason,
                 isRefundCourseFee: this.quitForm.isRefundCourseFee,
                 isRefundInstrumentFee: this.quitForm.isRefundInstrumentFee,
-                isRefundTeachingAssistantsFee: this.quitForm.isRefundTeachingAssistantsFee,
+                isRefundTeachingAssistantsFee: this.quitForm
+                  .isRefundTeachingAssistantsFee,
                 maintenanceFee: this.quitForm.maintenanceFee,
-              }
+              };
               // 退还乐器练习云教练费用
-              if(this.quitForm.isCloudTeacherAmount) {
-                params.cloudTeacherAmount = this.quitForm.cloudTeacherAmount
+              if (this.quitForm.isCloudTeacherAmount) {
+                params.cloudTeacherAmount = this.quitForm.cloudTeacherAmount;
               } else {
-                params.cloudTeacherAmount = 0
+                params.cloudTeacherAmount = 0;
               }
               // 发请求 退团
               StudentQuit(params).then((res) => {
@@ -1548,7 +1557,7 @@ export default {
     quieTeamMask(row) {
       this.activeRow = row;
       this.quitVisible = true;
-      this.quitForm.cloudTeacherAmount = row.cloudTeacherAmount
+      this.quitForm.cloudTeacherAmount = row.cloudTeacherAmount;
     },
     quieTeam(row) {
       this.$prompt("请输入退团原因", "提示", {
@@ -1570,14 +1579,14 @@ export default {
           }).then((res) => {
             this.quitForm = {
               // 退团信息确认
-                isRefundCourseFee: null,
-                isRefundInstrumentFee: null,
-                isRefundTeachingAssistantsFee: null,
-                isMaintenanceFee: null,
-                cloudTeacherAmount: null,
-                isCloudTeacherAmount: null,
-                maintenanceFee: 0,
-                reason: "",
+              isRefundCourseFee: null,
+              isRefundInstrumentFee: null,
+              isRefundTeachingAssistantsFee: null,
+              isMaintenanceFee: null,
+              cloudTeacherAmount: null,
+              isCloudTeacherAmount: null,
+              maintenanceFee: 0,
+              reason: "",
             };
             if (res.code == 200) {
               this.$message.success("退团成功");
@@ -1740,11 +1749,22 @@ export default {
     checkboxSelect(row) {
       return row.paymentStatus == 0;
     },
+    gotoStudent(search) {
+      // this.$router.push({
+      //   name: "teamCourseList",
+      //   params: { courseIdSearch: row.id },
+      // });
+
+      this.$router.push({
+        name: "studentList",
+        params: { search: search },
+      });
+    },
   },
   watch: {
-    createUserPayVisible(val){
-      if(val){
-        this.getMusicClass()
+    createUserPayVisible(val) {
+      if (val) {
+        this.getMusicClass();
       }
     },
     "quitForm.isMaintenanceFee"(val) {

+ 4 - 1
src/views/teamDetail/teamClassList.vue

@@ -278,7 +278,10 @@ export default {
   created() {},
   //生命周期 - 挂载完成(可以访问DOM元素)
   mounted() {
-    const { query } = this.$route;
+    const { query,params } = this.$route;
+    if(params.search){
+       this.searchForm.search = params.search;
+    }
     if (query.type) {
       this.searchForm.type = query.type;
     }