mo 4 years ago
parent
commit
424b104375

BIN
src/assets/images/base/archices.png


+ 14 - 0
src/store/modules/permission.js

@@ -281,6 +281,20 @@ function setDetailRoute(accessedRoutes) {
           }
         },
         {
+          name: '乐团档案',
+          path: 'musicArchices',
+          component: () => import('@/views/resetTeaming/components/musicArchices'),
+          hidden: true,
+          meta: {
+            noCache: '1',
+            title: '乐团档案',
+            belongTopMenu: "/business",
+            activeMenu: '/teamList',
+            id:'xx4'
+          }
+        },
+        //musicArchices
+        {
           name: '会员排课列表',
           path: 'memberClassList',
           component: () => import('@/views/teamDetail/components/memberClassList'),

+ 8 - 2
src/views/resetTeaming/components/archicesComponents/studentAndTeacher.vue

@@ -5,8 +5,8 @@
         <div class="shapeWrap">
           <span class="shape"></span>
           <p style="margin-right:5px">学员分布</p>
-          <span style="color: red; font-weight: bold"
-            >该乐团当前有 8 名学员在毕业年级</span
+          <span v-if="graduateNums>0" style="color: red; font-weight: bold"
+            >该乐团当前有{{graduateNums}}名学员在毕业年级</span
           >
         </div>
       </template>
@@ -91,6 +91,7 @@ import { getStudentAndTeacher } from "./api";
 import studentMaster from "./modals/studentMaster";
 import { getMusicGroupGradeList, findSound } from "@/api/buildTeam";
 export default {
+  props:['graduateNum'],
   components: { studentMaster },
   data() {
     return {
@@ -158,6 +159,11 @@ export default {
       this.studentVisible = true;
     },
   },
+  computed: {
+    graduateNums(){
+      return this.graduateNum
+    }
+  },
 };
 </script>
 <style lang="scss" scoped="scoped">

+ 2 - 2
src/views/resetTeaming/components/archicesComponents/survey.vue

@@ -34,14 +34,14 @@
       <el-table-column align="center" prop="id" label="操作">
         <template slot-scope="scope">
           <div>
-            <auth auths="getMusicGroupQuestionnaireDetail">
+            <auth auths="musicGroupQuestionnaire/get">
               <el-button type="text" @click="lookSurvey(scope.row)"
                 >详情</el-button
               >
             </auth>
             <auth
               :auths="[
-                'getMusicGroupQuestionnaireDetail',
+                'musicGroupQuestionnaire/get',
                 'musicGroupQuestionnaire/update',
               ]"
               mulit

+ 2 - 2
src/views/resetTeaming/components/archicesComponents/trainPlan.vue

@@ -217,8 +217,8 @@ export default {
   computed: {
     exceptionPlan() {
       let str = "该乐团当前学期";
-      this.planDtosList.forEach((index,plan) => {
-        str += `${(index+1)}.${plan.classGroupName}班${filterCourseType[plan.scheduleType]}${
+      this.planDtosList.forEach((plan,index) => {
+        str += `${index+1}.${plan.classGroupName}班${filterCourseType[plan.scheduleType]}${
           plan.num
         }次未进行教学规划; `;
       });

+ 21 - 9
src/views/resetTeaming/components/archicesComponents/trainTimer.vue

@@ -4,9 +4,11 @@
       <template slot="title">
         <div class="shapeWrap">
           <span class="shape"></span>
-          <p style="margin-right:5px">训练时长</p>
+          <p style="margin-right: 5px">训练时长</p>
           <el-tooltip placement="top" popper-class="mTooltip">
-            <div slot="content">声部课包括:声部课、集训声部课;合奏课包括:合奏课、集训合奏课</div>
+            <div slot="content">
+              声部课包括:声部课、集训声部课;合奏课包括:合奏课、集训合奏课
+            </div>
             <i
               class="el-icon-question micon el-tooltip"
               style="font-size: 18px; color: #f56c6c"
@@ -52,24 +54,34 @@
       </el-form-item>
     </save-form>
     <div v-if="dataList.length > 0">
-      <el-row class="row">
+      <!--  {{ item.name }}{{item.type | classType}}: -->
+      <!-- <el-row class="row">
         <el-col
           class="col"
           :span="6"
           v-for="(item, index) in dataList"
           :key="index"
         >
-        <!--  {{ item.name }}{{item.type | classType}}: -->
+
           <span class="col-title">
              <overflow-text :text="item.name+':'" width="100%"></overflow-text
       >
            </span>
           <span> {{ item.currentClassTimes }}/{{item.totalClassTimes}}课时</span>
         </el-col>
-      </el-row>
+      </el-row> -->
+      <descriptions :column="4">
+        <descriptions-item
+          :label="item.name"
+          :key="index"
+          v-for="(item, index) in dataList"
+        >
+          {{ item.currentClassTimes }}/{{ item.totalClassTimes }}课时
+        </descriptions-item>
+      </descriptions>
     </div>
     <div v-else>
-        <empty desc="暂无数据" />
+      <empty desc="暂无数据" />
     </div>
   </div>
 </template>
@@ -101,10 +113,10 @@ export default {
   },
   methods: {
     changeYear(val) {
-      this.getList()
+      this.getList();
     },
     changeTerm(val) {
-       this.getList()
+      this.getList();
     },
     async getList() {
       try {
@@ -144,7 +156,7 @@ export default {
       overflow: hidden;
     }
     .col-value {
-        display: inline-block;
+      display: inline-block;
       // color: #14928a;
       // cursor: pointer;
     }

+ 14 - 4
src/views/resetTeaming/components/musicArchices.vue

@@ -1,5 +1,8 @@
 <template>
-  <div>
+  <div   class="m-container">
+    <h2>
+       <el-page-header @back="onCancel" :content="$route.query.name"></el-page-header>
+    </h2>
     <tab-router v-model="activeIndex" ref="tab" searchKey="musicArchices">
       <el-tab-pane
         label="基本信息"
@@ -14,10 +17,10 @@
           slot="label"
           class="badge"
           is-dot
-          :hidden="!planDtosList.length>0"
+          :hidden="graduateNum<=0"
           >学员&师资</el-badge
         >
-        <studentAndTeacher v-if="activeIndex == 2" />
+        <studentAndTeacher v-if="activeIndex == 2" :graduateNum="graduateNum"/>
       </el-tab-pane>
       <el-tab-pane lazy v-if="permission('/archicesTrainPlan')" name="3">
         <el-badge
@@ -112,7 +115,9 @@ export default {
       activeIndex: "training-photos",
     planDtosList:[],
     year:'',
-    term:''
+    term:'',
+    graduateNum:0,
+    teamName:''
     };
   },
   mounted() {
@@ -139,11 +144,16 @@ export default {
      try{
        const res = await getExceptionPlan({musicGroupId:this.$route.query.id,year:this.year,term:this.term})
        this.planDtosList = res.data.waitCourseTrainPlanDtos
+       this.graduateNum = res.data.graduateNum
      }catch(e){
        console.log(e)
      }
 
    },
+   onCancel(){
+        this.$store.dispatch("delVisitedViews", this.$route);
+      this.$router.push({ path: "/business/resetTeaming",query:{...this.$route.query} });
+   }
   },
 };
 </script>

+ 27 - 5
src/views/resetTeaming/index.vue

@@ -2,6 +2,9 @@
   <div class="m-container">
     <h2>
       <el-page-header @back="onCancel" :content="teamName"></el-page-header>
+      <auth :auths="'/musicArchices'" v-if="team_status=='PROGRESS' || team_status=='CLOSE'">
+        <img :src="archices" alt="" @click="gotoArchices" class="archices" />
+      </auth>
     </h2>
     <div class="m-core">
       <el-popover
@@ -170,14 +173,14 @@
         </el-tab-pane>
 
         <!--   v-if="permission('/resetTeaming/coursePlan')" -->
-        <el-tab-pane
+        <!-- <el-tab-pane
           label="乐团档案"
           :disabled="!teamid"
           name="13"
           v-if="permission('/teamJournal')"
         >
           <musicArchives :teamid="teamid" v-if="activeIndex == 13" />
-        </el-tab-pane>
+        </el-tab-pane> -->
       </tab-router>
     </div>
   </div>
@@ -223,7 +226,7 @@ export default {
     teamJournal,
     teamRemainTime,
     teamSignupList,
-    musicArchives
+    musicArchives,
   },
   name: "resetTeaming",
   data() {
@@ -243,6 +246,7 @@ export default {
       musicGroupInfo: null,
       musicGroupType,
       team_status: "",
+      archices: require("@/assets/images/base/archices.png"),
       stepImgs: {
         AUDIT_FAILED: require("@/assets/images/base/end.png"),
         CANCELED: require("@/assets/images/base/end.png"),
@@ -320,8 +324,13 @@ export default {
         //                     id: res.data,
         //                     team_status: "DRAFT",
         //                   }),
-        this.$router.push({ query: merge(this.$route.query, {...this.$route.query,team_status:this.musicGroupInfo.status}) });
-         this.team_status = this.$route.query.team_status;
+        this.$router.push({
+          query: merge(this.$route.query, {
+            ...this.$route.query,
+            team_status: this.musicGroupInfo.status,
+          }),
+        });
+        this.team_status = this.$route.query.team_status;
         // console.log(this.musicGroupInfo.status);
       } else {
         this.__init();
@@ -366,6 +375,13 @@ export default {
       console.log("调整位置");
       this.$refs.popover.updatePopper();
     },
+    gotoArchices() {
+      console.log("跳转");
+      this.$router.push({
+        path: "/business/musicArchices",
+        query: { ...this.$route.query },
+      });
+    },
   },
   watch: {
     //  async activeIndex(val){
@@ -422,4 +438,10 @@ export default {
     margin-right: 8px;
   }
 }
+.archices {
+  width: 24px;
+  height: 24px;
+  margin-left: 10px;
+  cursor: pointer;
+}
 </style>