Browse Source

更新代码

lex-xin 4 years ago
parent
commit
7cfc45f960

+ 1 - 0
src/components/remote-search/index.vue

@@ -3,6 +3,7 @@
     <el-select
     :value="value"
       filterable
+      clearable
       remote
       reserve-keyword
       :placeholder="placeholder"

+ 4 - 0
src/router/notKeepAliveList.js

@@ -33,4 +33,8 @@ export default [
   '/specialSetup/globalConfig', // 全局配置
   '/specialSetup/adminManager', // 系统角色权限管理
   '/specialSetup/adminoperation',
+  '/reportForm/index', // 报表中心
+  '/business/repairList', // 维修单列表
+  '/business/afterSchoolManager', // 课外训练
+  '/business/afterSchoolDetail', // 课外训练详情
 ]

+ 1 - 16
src/views/afterSchoolManager/afterSchoolDetail.vue

@@ -22,32 +22,17 @@ export default {
       id: null
     };
   },
-  //生命周期 - 创建完成(可以访问当前this实例)
-  // created() {
-  //   this.init();
-  // },
   //生命周期 - 挂载完成(可以访问DOM元素)
   mounted () {
     this.init();
   },
-  activated () {
-    this.init();
-  },
   methods: {
     init () {
-      if (this.$route.query.searchForm) {
-        this.FsearchForm = this.$route.query.searchForm;
-      }
-      if (this.$route.query.rules) {
-        this.Frules = this.$route.query.rules;
-      }
       this.title = this.$route.query.title
       this.id = this.$route.query.extracurricularExercisesId
-      // console.log(this.id)
-      //   console.log(this.$router.query)
     },
     goBack () {
-      this.$router.push({ path: "/business/afterSchoolManager", query: { rules: this.Frules, searchForm: this.FsearchForm } });
+      this.$router.push({ path: "/business/afterSchoolManager"});
     }
   }
 };

+ 25 - 70
src/views/afterSchoolManager/afterSchoolList.vue

@@ -5,23 +5,18 @@
       <div class="squrt"></div>课外训练
     </h2> -->
     <div class="m-core">
-      <el-form :inline="true"
+      <save-form :inline="true"
+               @submit="search"
+               @reset="onReSet"
+               :saveKey="'afterSchoolList'"
                :model="searchForm">
         <el-form-item>
           <el-input v-model.trim="searchForm.listSearch"
-                    @keyup.enter.native="search"
+                    @keyup.enter.native="search" clearable
                     placeholder="请输入标题"></el-input>
         </el-form-item>
         <el-form-item>
-          <el-select placeholder="老师姓名"
-                     v-model="searchForm.teacherId"
-                     clearable
-                     filterable>
-            <el-option v-for="(item,index) in teacherList"
-                       :label="item.realName"
-                       :value="item.id"
-                       :key="index"></el-option>
-          </el-select>
+          <remoteSearch :commit='"setTeachers"'  v-model='searchForm.teacherId' />
         </el-form-item>
         <el-form-item prop="organIdList">
           <el-select class="multiple"
@@ -29,7 +24,7 @@
                      filterable
                      clearable
                      placeholder="请选择分部">
-            <el-option v-for="(item,index) in organList"
+            <el-option v-for="(item,index) in selects.branchs"
                        :key="index"
                        :label="item.name"
                        :value="item.id"></el-option>
@@ -48,12 +43,10 @@
     }"></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-button type="danger" native-type="submit">搜索</el-button>
+          <el-button native-type="reset" type="primary">重置</el-button>
         </el-form-item>
-      </el-form>
+      </save-form>
       <div class="tableWrap">
         <el-table style="width: 100%"
                   :header-cell-style="{background:'#EDEEF0',color:'#444'}"
@@ -106,7 +99,7 @@
                     @pagination="getList" />
       </div>
     </div>
-    <el-dialog title="课外训练详情"
+    <!-- <el-dialog title="课外训练详情"
                :visible.sync="afterSchoolVisible"
                width="600px">
       <el-form :model="visibleForm">
@@ -144,16 +137,16 @@
                     style="width:400px"></el-input>
         </el-form-item>
       </el-form>
-    </el-dialog>
+    </el-dialog> -->
   </div>
 </template>
 
 <script>
 import pagination from "@/components/Pagination/index";
+import remoteSearch from '@/components/remote-search'
 import { queryPageList } from "@/api/afterSchool";
-import { getTeacher, getEmployeeOrgan } from "@/api/buildTeam";
 export default {
-  components: { pagination },
+  components: { pagination, remoteSearch },
   data () {
     return {
       searchForm: {
@@ -169,62 +162,29 @@ export default {
         total: 0, // 总条数
         page_size: [10, 20, 40, 50] // 选择限制显示条数
       },
-      teacherList: [],
       tableList: [],
-      organList: [],
       visibleForm: {
-        createTime:
-          "啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦"
+        createTime: null
       },
-      afterSchoolVisible: false
     };
   },
   //生命周期 - 创建完成(可以访问当前this实例)
   created () { },
   //生命周期 - 挂载完成(可以访问DOM元素)
   mounted () {
-    getTeacher().then(res => {
-      if (res.code == 200) {
-        this.teacherList = res.data;
-      }
-    });
-    getEmployeeOrgan().then(res => {
-      if (res.code == 200) {
-        this.organList = res.data;
-      }
-    });
+    this.$store.dispatch('setBranchs')
     // 获取分部
     this.init();
   },
-  activated () {
-    this.init();
-  },
   methods: {
     init () {
-      var now = new Date();
-      var startDate = new Date(
-        Date.UTC(now.getFullYear(), now.getMonth(), now.getDate())
-      )
-        .toISOString()
-        .slice(0, 10);
-      //  + " 00:00:00"  + " 23:59:59"
-      var endDate = new Date(
-        Date.UTC(now.getFullYear(), now.getMonth(), now.getDate())
-      )
-        .toISOString()
-        .slice(0, 10);
-      this.searchForm.listTimer = [];
-      this.searchForm.listTimer.push(startDate);
-      this.searchForm.listTimer.push(endDate);
-      if (this.$route.query.searchForm) {
-        this.$route.query.searchForm instanceof Object
-          ? (this.searchForm = this.$route.query.searchForm)
-          : (this.searchForm = JSON.parse(this.$route.query.searchForm));
-      }
-      if (this.$route.query.rules) {
-        this.$route.query.rules instanceof Object
-          ? (this.rules = this.$route.query.rules)
-          : (this.rules = JSON.parse(this.$route.query.rules));
+      if(this.searchForm.listTimer.length <= 0) {
+        let now = new Date();
+        let startDate = new Date(Date.UTC(now.getFullYear(), now.getMonth(), now.getDate())).toISOString().slice(0, 10);
+        let endDate = new Date(Date.UTC(now.getFullYear(), now.getMonth(), now.getDate())).toISOString().slice(0, 10);
+        this.searchForm.listTimer = [];
+        this.searchForm.listTimer.push(startDate);
+        this.searchForm.listTimer.push(endDate);
       }
       this.getList();
     },
@@ -237,7 +197,7 @@ export default {
       }
       obj.page = this.rules.page;
       obj.rows = this.rules.limit,
-        this.searchForm.teacherId ? obj.teacherId = this.searchForm.teacherId : null;
+      this.searchForm.teacherId ? obj.teacherId = this.searchForm.teacherId : null;
       this.searchForm.listSearch ? obj.title = this.searchForm.listSearch : null;
       this.searchForm.organIdList ? obj.organIdList = this.searchForm.organIdList : null;
       queryPageList(obj).then(res => {
@@ -261,12 +221,7 @@ export default {
       this.search();
     },
     lookDetail (row) {
-      // this.afterSchoolVisible = true;
-
-      let rules = JSON.stringify(this.rules);
-      let searchForm = JSON.stringify(this.searchForm);
-      this.$router.push({ path: '/business/afterSchoolDetail', query: { extracurricularExercisesId: row.id, rules, searchForm, title: row.title } })
-
+      this.$router.push({ path: '/business/afterSchoolDetail', query: { extracurricularExercisesId: row.id, title: row.title } })
     }
   }
 };

+ 15 - 41
src/views/afterSchoolManager/afterWorkList.vue

@@ -5,12 +5,15 @@
       <div class="squrt"></div>课外作业
     </h2>-->
     <div class="m-core">
-      <el-form :inline="true"
+      <save-form :inline="true"
                :model="searchForm"
+               @submit="search"
+               :saveKey="'afterWorkList'"
+               @reset="onReSet"
                v-if="show">
         <el-form-item>
           <el-input v-model.trim="searchForm.search"
-                    @keyup.enter.native="search"
+                    @keyup.enter.native="search" clearable
                     placeholder="请输入标题 学生姓名"></el-input>
         </el-form-item>
         <el-form-item prop="organId">
@@ -19,7 +22,7 @@
                      filterable
                      clearable
                      placeholder="请选择分部">
-            <el-option v-for="(item,index) in organList"
+            <el-option v-for="(item,index) in selects.branchs"
                        :key="index"
                        :label="item.name"
                        :value="item.id"></el-option>
@@ -94,16 +97,13 @@
         </el-form-item>
 
         <el-form-item>
-          <el-button type="danger"
-                     @click="search">搜索</el-button>
-          <el-button @click="onReSet"
-                     type="primary">重置</el-button>
+          <el-button type="danger" native-type="submit">搜索</el-button>
+          <el-button type="primary" native-type="reset">重置</el-button>
           <el-button @click="onExport"
                      type="primary"
-                     v-permission="'export/extraExercisesReplys'"
-                     style=" background: #14928a; border:1px solid #14928a;">导出</el-button>
+                     v-permission="'export/extraExercisesReplys'">导出</el-button>
         </el-form-item>
-      </el-form>
+      </save-form>
       <div class="tableWrap">
         <el-table style="width: 100%"
                   :header-cell-style="{background:'#EDEEF0',color:'#444'}"
@@ -218,13 +218,7 @@
           <p class="schoolCell">{{visibleForm.teacherName}}</p>
         </el-form-item>
         <el-form-item label="学生姓名">
-          <el-popover placement="top-start"
-                      width="400"
-                      trigger="hover"
-                      :content="visibleForm.studentName">
-            <p class="schoolCell"
-               slot="reference">{{visibleForm.studentName}}</p>
-          </el-popover>
+          <p class="schoolCell" >{{visibleForm.studentName}}</p>
         </el-form-item>
         <el-form-item label="截止时间">
           <p class="schoolCell">{{visibleForm.expiryDate | dateForMinFormat}}</p>
@@ -280,6 +274,7 @@ export default {
         search: null,
         timer: [],
         status: null,
+        isReplied: null,
         isRepliedTimely: null,
         isView: null,
         organIdList: null,
@@ -297,7 +292,7 @@ export default {
       tableList: [],
       organList: [],
       visibleForm: {
-        expiryDate: "啦啦啦啦",
+        expiryDate: "",
         teacherName: "",
         title: "",
         studentName: "",
@@ -315,33 +310,11 @@ export default {
   created () { },
   //生命周期 - 挂载完成(可以访问DOM元素)
   mounted () {
-    getEmployeeOrgan().then(res => {
-      if (res.code == 200) {
-        this.organList = res.data;
-      }
-    });
-    this.init();
-  },
-  activated () {
+    this.$store.dispatch('setBranchs')
     this.init();
   },
   methods: {
     init () {
-      //   var now = new Date();
-      //   var startDate = new Date(
-      //     Date.UTC(now.getFullYear(), now.getMonth(), now.getDate())
-      //   )
-      //     .toISOString()
-      //     .slice(0, 10);
-      //   //  + " 00:00:00"  + " 23:59:59"
-      //   var endDate = new Date(
-      //     Date.UTC(now.getFullYear(), now.getMonth(), now.getDate())
-      //   )
-      //     .toISOString()
-      //     .slice(0, 10);
-      //   this.searchForm.timer = [];
-      //   this.searchForm.timer.push(startDate);
-      //   this.searchForm.timer.push(endDate);
 
       this.extracurricularExercisesId = this.$route.query.extracurricularExercisesId;
       if (this.extracurricularExercisesId) {
@@ -460,6 +433,7 @@ export default {
         timer: [],
         status: null,
         isReplied: null,
+        isRepliedTimely: null,
         isView: null,
         organId: null,
         expireDate: [],

+ 21 - 26
src/views/afterSchoolManager/index.vue

@@ -5,23 +5,25 @@
       <div class="squrt"></div>课外训练
     </h2>
     <div class="m-core">
-      <el-tabs v-model.trim="activeIndex"
+      <location-hash v-model="activeIndex" @change="handleClick">
+        <el-tabs v-model.trim="activeIndex"
                type="card"
                @tab-click="handleClick">
-        <el-tab-pane label="课外训练"
-                     name="1">
-          <afterSchoolList v-if="activeStatus[0]"></afterSchoolList>
-        </el-tab-pane>
-        <!-- <el-tab-pane label="课外训练(教学)" name="2">
-          <afterSchoolTeach
-            v-if="activeIndex == 2"
-          ></afterSchoolTeach>
-        </el-tab-pane> -->
-        <el-tab-pane label="课外训练(学员)"
-                     name="2">
-          <afterWorkList v-if="activeStatus[1]"></afterWorkList>
-        </el-tab-pane>
-      </el-tabs>
+          <el-tab-pane lazy label="课外训练"
+                      name="1">
+            <afterSchoolList v-if="activeIndex == 1"></afterSchoolList>
+          </el-tab-pane>
+          <!-- <el-tab-pane label="课外训练(教学)" name="2">
+            <afterSchoolTeach
+              v-if="activeIndex == 2"
+            ></afterSchoolTeach>
+          </el-tab-pane> -->
+          <el-tab-pane lazy label="课外训练(学员)"
+                      name="2">
+            <afterWorkList v-if="activeIndex == 2"></afterWorkList>
+          </el-tab-pane>
+        </el-tabs>
+      </location-hash>
     </div>
   </div>
 </template>
@@ -33,10 +35,9 @@ import afterSchoolTeach from "@/views/afterSchoolManager/afterSchoolTeach";
 export default {
   components: { afterSchoolList, afterWorkList, afterSchoolTeach },
   data () {
+    const query = this.$route.query
     return {
-      activeIndex: "1",
-      extracurricularExercisesId: null,
-      activeStatus: [true, false],
+      activeIndex: query.opt || "1",
     };
   },
   //生命周期 - 创建完成(可以访问当前this实例)
@@ -45,9 +46,6 @@ export default {
   mounted () {
     this.init();
   },
-  activated () {
-    this.init()
-  },
   methods: {
     init () {
       this.$route.query.activeIndex
@@ -55,12 +53,9 @@ export default {
         : this.activeIndex;
 
     },
-    handleClick (val, event) {
+    handleClick (val) {
       this.activeIndex = val.name
-      this.activeStatus[val.name - 1] = true
     }
   }
 };
-</script>
-<style lang='scss' scoped>
-</style>
+</script>

+ 12 - 24
src/views/levelManager/levelManager.vue

@@ -13,15 +13,15 @@
                @reset="onReSet"
                :model="searchForm">
         <el-form-item prop="name">
-          <el-input v-model.trim="searchForm.name"
+          <el-input v-model.trim="searchForm.name" clearable
                     placeholder="请输入姓名"></el-input>
         </el-form-item>
         <el-form-item prop="orderNo">
-          <el-input v-model.trim="searchForm.orderNo"
+          <el-input v-model.trim="searchForm.orderNo" clearable
                     placeholder="请输入订单编号"></el-input>
         </el-form-item>
         <el-form-item prop="transNo">
-          <el-input v-model.trim="searchForm.transNo"
+          <el-input v-model.trim="searchForm.transNo" clearable
                     placeholder="请输入交易流水号"></el-input>
         </el-form-item>
         <!-- <el-form-item>
@@ -34,10 +34,10 @@
                      filterable
                      clearable
                      placeholder="请选择分部">
-            <el-option v-for="item in branchList"
+            <el-option v-for="item in selects.branchs"
                        :key="item.id"
-                       :label="item.label"
-                       :value="item.value"></el-option>
+                       :label="item.name"
+                       :value="item.id"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item >
@@ -92,7 +92,11 @@
                            label="姓名"></el-table-column>
           <el-table-column align="center"
                            prop="orderNo"
-                           label="订单编号"></el-table-column>
+                           label="订单编号">
+            <template slot-scope="scope">
+              <copy-text>{{scope.row.orderNo}}</copy-text>
+            </template>
+          </el-table-column>
           <el-table-column align="center"
                            prop="transNo"
                            label="交易流水号">
@@ -184,7 +188,6 @@ import cleandeep from 'clean-deep'
 // import store from '@/store'
 import { degreeQueryPage } from "./levelManageApi";
 import { getToken } from "@/utils/auth";
-import { getEmployeeOrgan } from "@/api/buildTeam";
 import load from "@/utils/loading";
 export default {
   components: { pagination },
@@ -205,7 +208,6 @@ export default {
       totalNumber: 0,
       totalAmount: 0,
       tableList: [],
-      branchList: [], // 分部列表
       pageInfo: {
         // 分页规则
         limit: 10, // 限制显示条数
@@ -216,27 +218,13 @@ export default {
       tempTreeList: [],
     };
   },
-  activated () {
-    this.getList();
-    this.__init();
-  },
   mounted () {
     this.getList();
     this.__init();
   },
   methods: {
     __init () {
-      getEmployeeOrgan().then((res) => {
-        if (res.code == 200) {
-          this.branchList = [];
-          res.data.forEach((item) => {
-            this.branchList.push({
-              label: item.name,
-              value: item.id,
-            });
-          });
-        }
-      });
+      this.$store.dispatch('setBranchs')
     },
     onSearch () {
       this.pageInfo.page = 1;

+ 23 - 24
src/views/repairManager/repairList.vue

@@ -5,10 +5,12 @@
       <div class="squrt"></div>维修单列表
     </h2>
     <div class="m-core">
-      <el-form :inline="true"
+      <save-form :inline="true"
+               @submit="search"
+               @reset="onReSet"
                :model="searchForm">
         <el-form-item>
-          <el-input v-model.trim="searchForm.search"
+          <el-input v-model.trim="searchForm.search" clearable
                     @keyup.enter.native="search"
                     placeholder='维修单号/学生姓名/编号'></el-input>
         </el-form-item>
@@ -27,7 +29,7 @@
           <el-select placeholder="请选择分部"
                      v-model="searchForm.organIdList"
                      clearable>
-            <el-option v-for="(item,index) in organList"
+            <el-option v-for="(item,index) in selects.branchs"
                        :label="item.name"
                        :value="item.id"
                        :key="index"></el-option>
@@ -71,19 +73,17 @@
                           type="daterange"
                           value-format="yyyy-MM-dd"
                           :picker-options="{
-        firstDayOfWeek: 1
-    }"
+                              firstDayOfWeek: 1
+                          }"
                           range-separator="至"
                           start-placeholder="送修开始日期"
                           end-placeholder="送修结束日期"></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-button type="danger" native-type="submit">搜索</el-button>
+          <el-button native-type="reset" type="primary">重置</el-button>
         </el-form-item>
-      </el-form>
+      </save-form>
       <div class="tableWrap">
         <el-table style="width: 100%"
                   :header-cell-style="{background:'#EDEEF0',color:'#444'}"
@@ -94,13 +94,21 @@
           <el-table-column align="center"
                            prop="transNo"
                            label="维修单号"
-                           width="160"></el-table-column>
+                           width="175">
+            <template slot-scope="scope">
+              <copy-text>{{scope.row.transNo}}</copy-text>
+            </template>
+          </el-table-column>
           <el-table-column align="center"
                            prop="studentName"
                            label="学生姓名"></el-table-column>
           <el-table-column align="center"
                            prop="studentId"
-                           label="学生编号"></el-table-column>
+                           label="学生编号">
+            <template slot-scope="scope">
+              <copy-text>{{scope.row.studentId}}</copy-text>
+            </template>
+          </el-table-column>
           <el-table-column align="center"
                            prop="employeeName"
                            label="维修技师"></el-table-column>
@@ -138,7 +146,7 @@
             </template>
           </el-table-column>
         </el-table>
-        <pagination :total="rules.total"
+        <pagination sync :total.sync="rules.total"
                     :page.sync="rules.page"
                     :limit.sync="rules.limit"
                     :page-sizes="rules.page_size"
@@ -272,7 +280,7 @@ import axios from "axios";
 import { getToken } from "@/utils/auth";
 import pagination from "@/components/Pagination/index";
 import load from "@/utils/loading";
-import { getEmployeeOrgan, getSoundTree } from "@/api/buildTeam";
+import { getSoundTree } from "@/api/buildTeam";
 import { findTechnician, studentRepairList, repairSuccess } from "@/api/repairManager"
 export default {
   components: { pagination },
@@ -289,7 +297,6 @@ export default {
       repairVisible: false,
       employeeList: [],
       tableList: [],
-      organList: [],
       rules: {
         // 分页规则
         limit: 10, // 限制显示条数
@@ -313,11 +320,7 @@ export default {
         this.employeeList = res.data;
       }
     });
-    getEmployeeOrgan().then(res => {
-      if (res.code == 200) {
-        this.organList = res.data;
-      }
-    });
+    this.$store.dispatch('setBranchs')
     // 获取声部
     getSoundTree({ tenantId: 1, rows: 9999 }).then(res => {
       if (res.code == 200) {
@@ -332,9 +335,6 @@ export default {
     // }
 
   },
-  activated () {
-    this.init();
-  },
   methods: {
     init () {
       this.isInit = true;
@@ -387,7 +387,6 @@ export default {
       let goodsList = row.goodsJson ? JSON.parse(row.goodsJson) : []
       row.goodsList = goodsList
       this.activeRow = row;
-      console.log(row)
       this.repairVisible = true;
     },
     repairEnd (str, row) {

+ 20 - 37
src/views/reportForm/index.vue

@@ -21,16 +21,12 @@
                      :label="item.label"
                      :value="item.value"></el-option>
         </el-select> -->
-
-        <div class="newBand"
-             @click="exportSalar"
-             v-permission="'export/teacherSalary'">导出</div>
+        <el-button style="margin-left: 10px;" type="primary" @click="exportSalar"  v-permission="'export/teacherSalary'">导出</el-button>
         <el-tooltip placement="top"
                     popper-class="mTooltip">
           <div slot="content">
             将只导出当前选择月份已结算的课程课酬。
           </div>
-          <!-- <img :src="imageIcon" class="micon el-tooltip" style="width:8px height:8px" alt /> -->
           <i class="el-icon-question micon el-tooltip"
              style="font-size: 18px; color: #F56C6C"
              v-permission="'export/teacherSalary'"></i>
@@ -48,15 +44,13 @@
                      placeholder="请选择分部"
                      multiple
                      clearable>
-            <el-option v-for="(item,index) in organList"
+            <el-option v-for="(item,index) in selects.branchs"
                        :key="index"
                        :label="item.name"
                        :value="item.id"></el-option>
           </select-all>
-
-          <div class="newBand"
-               @click="exportMusicGroup"
-               v-permission="'export/musicGroupRegister'">导出</div>
+          <el-button style="margin-left: 10px;" type="primary"  @click="exportMusicGroup"
+               v-permission="'export/musicGroupRegister'">导出</el-button>
           <el-tooltip placement="top"
                       popper-class="mTooltip">
             <div slot="content">
@@ -80,15 +74,14 @@
                      placeholder="请选择分部"
                      multiple
                      clearable>
-            <el-option v-for="(item,index) in organList"
+            <el-option v-for="(item,index) in selects.branchs"
                        :key="index"
                        :label="item.name"
                        :value="item.id"></el-option>
           </select-all>
 
-          <div class="newBand"
-               @click="exportDefaultSalary"
-               v-permission="'export/teacherDefaultSalary'">导出</div>
+          <el-button style="margin-left: 10px;" type="primary"  @click="exportDefaultSalary"
+               v-permission="'export/teacherDefaultSalary'">导出</el-button>
           <el-tooltip placement="top"
                       popper-class="mTooltip">
             <div slot="content">
@@ -112,15 +105,13 @@
                      multiple
                      placeholder="请选择分部"
                      clearable>
-            <el-option v-for="(item,index) in organList"
+            <el-option v-for="(item,index) in selects.branchs"
                        :key="index"
                        :label="item.name"
                        :value="item.id"></el-option>
           </select-all>
-          <div class="newBand"
-               @click="exportMusicTeamNum"
-               v-permission="'export/musicGroupNormalStudentNum'">导出
-          </div>
+          <el-button style="margin-left: 10px;" type="primary"  @click="exportMusicTeamNum"
+               v-permission="'export/musicGroupNormalStudentNum'">导出</el-button>
           <el-tooltip placement="top"
                       popper-class="mTooltip">
             <div slot="content">
@@ -144,7 +135,7 @@
                      placeholder="请选择分部"
                      multiple
                      clearable>
-            <el-option v-for="(item,index) in organList"
+            <el-option v-for="(item,index) in selects.branchs"
                        :key="index"
                        :label="item.name"
                        :value="item.id"></el-option>
@@ -154,9 +145,8 @@
                           type="month"
                           placeholder="选择月"
                           value-format="yyyy-MM-dd"></el-date-picker>
-          <div class="newBand"
-               @click="exportStudent"
-               v-permission="'export/studentOrder'">导出</div>
+          <el-button style="margin-left: 10px;" type="primary" @click="exportStudent"
+               v-permission="'export/studentOrder'">导出</el-button>
           <el-tooltip placement="top"
                       popper-class="mTooltip">
             <div slot="content">
@@ -180,7 +170,7 @@
                      multiple
                      placeholder="请选择分部"
                      clearable>
-            <el-option v-for="(item,index) in organList"
+            <el-option v-for="(item,index) in selects.branchs"
                        :key="index"
                        :label="item.name"
                        :value="item.id"></el-option>
@@ -203,11 +193,11 @@
                           start-placeholder="上课开始日期"
                           end-placeholder="上课结束日期"
                           :picker-options="{
-        firstDayOfWeek: 1
-    }"></el-date-picker>
-          <div class="newBand"
-               @click="exportAttendance"
-               v-permission="'export/exportStudentAttendances'">导出</div>
+                            firstDayOfWeek: 1
+                          }"
+          ></el-date-picker>
+          <el-button style="margin-left: 10px;" type="primary" @click="exportAttendance"
+               v-permission="'export/exportStudentAttendances'">导出</el-button>
           <!-- <el-tooltip placement="top"
                       popper-class="mTooltip">
             <div slot="content">
@@ -224,7 +214,6 @@
 </template>
 <script>
 import { exportTeacherSalary } from '@/api/generalSettings'
-import { getEmployeeOrgan } from "@/api/buildTeam";
 import { courseType, courseListType } from '@/utils/searchArray'
 import { Export } from '@/utils/downLoadFile'
 import cleanDeep from 'clean-deep'
@@ -239,7 +228,6 @@ export default {
   data () {
     return {
       mouth: "",
-      organList: [],
       organIdList: [],
       teacherDefaultSalaryOrganId: '',
       courseArray: courseType,
@@ -251,15 +239,10 @@ export default {
       attendanceOrganId: [],
       attendanceCourseType: 'MUSIC',
       timer: []
-      // imageIcon: require("@/assets/images/base/warning.png")
     };
   },
   mounted () {
-    getEmployeeOrgan().then(res => {
-      if (res.code == 200) {
-        this.organList = res.data;
-      }
-    });
+    this.$store.dispatch('setBranchs')
   },
   methods: {
     exportSalar () {

+ 70 - 51
src/views/workBenchManager/journal/index.vue

@@ -1,71 +1,90 @@
 <template>
   <div class="m-container">
     <h2>
-      <div class="squrt"></div>系统日志
+      <div class="squrt"></div>
+      系统日志
     </h2>
     <div class="m-core">
-      <el-tabs type="border-card"
-               v-model.trim="activeIndex"
-               @tab-click="handleClick">
-        <el-tab-pane label="系统通知"
-                     v-if="permissionList.journalItem"
-                     name='0'>
-          <item v-if="activeIndex == 0" />
-        </el-tab-pane>
-        <el-tab-pane label="学员申诉"
-                     v-if="permissionList.studentComplain"
-                     name='1'>
-          <studentComplain v-if="activeIndex == 1" />
-        </el-tab-pane>
-        <el-tab-pane label="退团退课"
-                     v-if="permissionList.musicGroupCourse"
-                     name='2'>
-          <musicGroup v-if="activeIndex == 2" />
-        </el-tab-pane>
-        <el-tab-pane label="请假处理"
-                     v-if="permissionList.leaveOperation"
-                     name='3'>
-          <leaveOperation v-if="activeIndex == 3" />
-        </el-tab-pane>
-        <el-tab-pane label="VIP申请审核"
-                     v-if="permissionList.vipApply"
-                     name='4'>
-          <vipApply v-if="activeIndex == 4" />
-        </el-tab-pane>
-      </el-tabs>
+      <location-hash v-model="activeIndex" @change="handleClick">
+        <el-tabs
+          type="border-card"
+          v-model.trim="activeIndex"
+          @tab-click="handleClick"
+        >
+          <el-tab-pane
+            label="系统通知" lazy
+            v-if="permissionList.journalItem"
+            name="0"
+          >
+            <item v-if="activeIndex == 0" />
+          </el-tab-pane>
+          <el-tab-pane
+            label="学员申诉" lazy
+            v-if="permissionList.studentComplain"
+            name="1"
+          >
+            <studentComplain v-if="activeIndex == 1" />
+          </el-tab-pane>
+          <el-tab-pane
+            label="退团退课" lazy
+            v-if="permissionList.musicGroupCourse"
+            name="2"
+          >
+            <musicGroup v-if="activeIndex == 2" />
+          </el-tab-pane>
+          <el-tab-pane
+            label="请假处理" lazy
+            v-if="permissionList.leaveOperation"
+            name="3"
+          >
+            <leaveOperation v-if="activeIndex == 3" />
+          </el-tab-pane>
+          <el-tab-pane
+            label="VIP申请审核" lazy
+            v-if="permissionList.vipApply"
+            name="4"
+          >
+            <vipApply v-if="activeIndex == 4" />
+          </el-tab-pane>
+        </el-tabs>
+      </location-hash>
     </div>
   </div>
 </template>
 <script>
-import item from './journalItem'
-import studentComplain from './studentComplain'
-import musicGroup from './musicGroup'
-import leaveOperation from './leaveOperation'
-import vipApply from './vipApply'
-import { permission } from '@/utils/directivePage'
+import item from "./journalItem";
+import studentComplain from "./studentComplain";
+import musicGroup from "./musicGroup";
+import leaveOperation from "./leaveOperation";
+import vipApply from "./vipApply";
+import { permission } from "@/utils/directivePage";
 export default {
   components: {
-    item, studentComplain, musicGroup, leaveOperation, vipApply
+    item,
+    studentComplain,
+    musicGroup,
+    leaveOperation,
+    vipApply
   },
-  name: 'journal',
-  data () {
+  name: "journal",
+  data() {
+    const query = this.$route.query
     return {
-      activeIndex: '0',
+      activeIndex: query.opt || "0",
       permissionList: {
-        journalItem: permission('/journalItem'),
-        studentComplain: permission('/studentComplain'),
-        musicGroupCourse: permission('/musicGroupCourse'),
-        leaveOperation: permission('/leaveOperation'),
-        vipApply: permission('/vipApply')
+        journalItem: permission("/journalItem"),
+        studentComplain: permission("/studentComplain"),
+        musicGroupCourse: permission("/musicGroupCourse"),
+        leaveOperation: permission("/leaveOperation"),
+        vipApply: permission("/vipApply")
       }
-    }
+    };
   },
   methods: {
-    handleClick (val) {
-      this.activeIndex = val.name
+    handleClick(val) {
+      this.activeIndex = val.name;
     }
   }
-}
+};
 </script>
-<style lang="scss" scoped>
-</style>
+<style lang="scss" scoped></style>