瀏覽代碼

交易管理到订单管理

mo 4 年之前
父節點
當前提交
db9336d3f7

+ 4 - 0
src/router/notKeepAliveList.js

@@ -59,4 +59,8 @@ export default [
   '/shopManager/shopCategory',
   '/operateManager/operationalList', // 运营预警
   '/operateManager/sporadicManager', //零星收费
+  '/operateManager/recodeList', // 老师考勤列表
+  '/operateManager/HumanResources', //人力资源表
+  '/operateManager/commentManager', // 评论管理
+  '/orderList/income', // 订单管理
 ]

文件差異過大導致無法顯示
+ 441 - 344
src/views/HumanResources/index.vue


+ 4 - 2
src/views/app/suggestion.vue

@@ -48,7 +48,9 @@
             </template>
           </el-table-column> -->
         </el-table>
-        <pagination :total="pageInfo.total"
+        <pagination
+        sync
+        :total.sync="pageInfo.total"
                     :page.sync="pageInfo.page"
                     :limit.sync="pageInfo.limit"
                     :page-sizes="pageInfo.page_size"
@@ -130,4 +132,4 @@ export default {
 /deep/.el-table {
   display: inline-block;
 }
-</style>
+</style>

+ 332 - 237
src/views/businessManager/orderManager/income.vue

@@ -1,124 +1,162 @@
 <template>
   <div class="m-container">
     <h2>
-      <div class="squrt"></div>订单管理
+      <div class="squrt"></div>
+      订单管理
     </h2>
     <div class="m-core">
-      <div class="newBand"
-           @click="onOrderExport"
-           v-permission="{child: 'export/orderList', parent: '/income'}">报表导出</div>
+      <div
+        class="newBand"
+        @click="onOrderExport"
+        v-permission="{ child: 'export/orderList', parent: '/income' }"
+      >
+        报表导出
+      </div>
       <!-- 搜索类型 -->
-      <el-form :inline="true"
-               class="searchForm"
-               v-model.trim="searchForm">
+      <save-form
+        :inline="true"
+        class="searchForm"
+        v-model.trim="searchForm"
+        @submit="search"
+        @reset="onReSet"
+      >
         <el-form-item>
-          <el-input placeholder="学生编号/姓名/手机号"
-                    type="text"
-                    v-model.trim="searchForm.search"></el-input>
+          <el-input
+            placeholder="学生编号/姓名/手机号"
+            type="text"
+            clearable
+            v-model.trim="searchForm.search"
+          ></el-input>
         </el-form-item>
         <el-form-item>
-          <el-input placeholder="交易流水号"
-                    type="text"
-                    v-model.trim="searchForm.transNo"></el-input>
+          <el-input
+            placeholder="交易流水号"
+            type="text"
+            v-model.trim="searchForm.transNo"
+          ></el-input>
         </el-form-item>
         <el-form-item>
-          <el-input placeholder="订单号"
-                    type="text"
-                    v-model.trim="searchForm.orderNo"></el-input>
+          <el-input
+            placeholder="订单号"
+            type="text"
+            v-model.trim="searchForm.orderNo"
+          ></el-input>
         </el-form-item>
         <el-form-item>
-          <el-input placeholder="收款账户"
-                    type="text"
-                    v-model.trim="searchForm.merNos"></el-input>
+          <el-input
+            placeholder="收款账户"
+            type="text"
+            v-model.trim="searchForm.merNos"
+          ></el-input>
         </el-form-item>
         <el-form-item>
-          <el-input placeholder="余额支付大于等于"
-                    type="number"
-                    @mousewheel.native.prevent
-                    v-model.trim="searchForm.balancePaymentAmount"></el-input>
+          <el-input
+            placeholder="余额支付大于等于"
+            type="number"
+            @mousewheel.native.prevent
+            v-model.trim="searchForm.balancePaymentAmount"
+          ></el-input>
         </el-form-item>
         <el-form-item>
-          <el-input placeholder="现金支付大于等于"
-                    type="number"
-                    @mousewheel.native.prevent
-                    v-model.trim="searchForm.actualAmount"></el-input>
+          <el-input
+            placeholder="现金支付大于等于"
+            type="number"
+            @mousewheel.native.prevent
+            v-model.trim="searchForm.actualAmount"
+          ></el-input>
         </el-form-item>
         <el-form-item>
-          <el-input placeholder="余额支付小于等于"
-                    type="number"
-                    @mousewheel.native.prevent
-                    v-model.trim="searchForm.lessBalancePaymentAmount"></el-input>
+          <el-input
+            placeholder="余额支付小于等于"
+            type="number"
+            @mousewheel.native.prevent
+            v-model.trim="searchForm.lessBalancePaymentAmount"
+          ></el-input>
         </el-form-item>
         <el-form-item>
-          <el-input placeholder="现金支付小于等于"
-                    type="number"
-                    @mousewheel.native.prevent
-                    v-model.trim="searchForm.lessActualAmount"></el-input>
+          <el-input
+            placeholder="现金支付小于等于"
+            type="number"
+            @mousewheel.native.prevent
+            v-model.trim="searchForm.lessActualAmount"
+          ></el-input>
         </el-form-item>
         <el-form-item prop="organId">
-          <el-select class="multiple"
-                     v-model.trim="searchForm.organId"
-                     filterable
-                     clearable
-                     @clear="onClear('organId')"
-                     placeholder="请选择分部">
-            <el-option v-for="(item,index) in organList"
-                       :key="index"
-                       :label="item.name"
-                       :value="item.id"></el-option>
+          <el-select
+            class="multiple"
+            v-model.trim="searchForm.organId"
+            filterable
+            clearable
+            @clear="onClear('organId')"
+            placeholder="请选择分部"
+          >
+            <el-option
+              v-for="(item, index) in organList"
+              :key="index"
+              :label="item.name"
+              :value="item.id"
+            ></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-date-picker v-model.trim="orderDate"
-                          style="width:410px;"
-                          type="daterange"
-                          value-format="yyyy-MM-dd"
-                          @change="searchOrderDate"
-                          range-separator="至"
-                          :picker-options="{
-        firstDayOfWeek: 1
-    }"
-                          start-placeholder="订单开始日期"
-                          end-placeholder="订单结束日期"></el-date-picker>
+          <el-date-picker
+            v-model.trim="orderDate"
+            style="width: 410px"
+            type="daterange"
+            value-format="yyyy-MM-dd"
+            @change="searchOrderDate"
+            range-separator="至"
+            :picker-options="{
+              firstDayOfWeek: 1,
+            }"
+            start-placeholder="订单开始日期"
+            end-placeholder="订单结束日期"
+          ></el-date-picker>
         </el-form-item>
         <el-form-item>
-          <el-select v-model.trim="searchForm.paymentType"
-                     clearable
-                     filterable
-                     @clear="onClear('paymentType')"
-                     placeholder="交易类型">
-            <el-option v-for="(item, index) in orderStatus"
-                       :key="index"
-                       :label="item.label"
-                       :value="item.value"></el-option>
+          <el-select
+            v-model.trim="searchForm.paymentType"
+            clearable
+            filterable
+            @clear="onClear('paymentType')"
+            placeholder="交易类型"
+          >
+            <el-option
+              v-for="(item, index) in orderStatus"
+              :key="index"
+              :label="item.label"
+              :value="item.value"
+            ></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-select v-model.trim="searchForm.paymentStatus"
-                     clearable
-                     filterable
-                     @clear="onClear('paymentStatus')"
-                     placeholder="交易状态">
-            <el-option v-for="(item, index) in dealStatus"
-                       :key="index"
-                       :label="item.label"
-                       :value="item.value"></el-option>
+          <el-select
+            v-model.trim="searchForm.paymentStatus"
+            clearable
+            filterable
+            @clear="onClear('paymentStatus')"
+            placeholder="交易状态"
+          >
+            <el-option
+              v-for="(item, index) in dealStatus"
+              :key="index"
+              :label="item.label"
+              :value="item.value"
+            ></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-button @click="search"
-                     type="danger">搜索</el-button>
-          <el-button @click="onReSet"
-                     type="primary">重置</el-button>
+          <el-button native-type="submit" type="danger">搜索</el-button>
+          <el-button native-type="reset" type="primary">重置</el-button>
         </el-form-item>
-      </el-form>
+      </save-form>
       <!-- 列表 -->
       <!-- totalUserBalance: 20452784.02
       totalExpectAmount: 0
       totalActualAmount: 0
       totalAdvanceAmount: 0
       totalRevenueAmount: 0 -->
-      <div style="font-size: 14px; color: #F85043; padding-bottom: 10px;">
+      <div style="font-size: 14px; color: #f85043; padding-bottom: 10px">
         <!-- 应收总金额:{{ totalExpectAmount }}元 &nbsp;&nbsp;&nbsp;&nbsp;
         现金实收总额:{{ totalActualAmount }}元 &nbsp;&nbsp;&nbsp;&nbsp;
         余额实收总额:{{ Number((totalExpectAmount - totalActualAmount).toFixed(2)) }}元 -->
@@ -126,120 +164,161 @@
         实收金额=应收总额(包含余额支付)
         预收金额=充值总额(发生消费,记负数)
         预收余额=充值总余额 -->
-        营收金额:{{ totalRevenueAmount | moneyFormat }}元<i style="width: 10px; display: inline-block"></i>
-        实收金额:{{ totalActualAmount | moneyFormat}}元<i style="width: 10px; display: inline-block"></i>
-        预收金额:{{ totalAdvanceAmount | moneyFormat }}元<i style="width: 10px; display: inline-block"></i>
-        预收余额:{{ totalUserBalance |moneyFormat}}元
+        营收金额:{{ totalRevenueAmount | moneyFormat }}元<i
+          style="width: 10px; display: inline-block"
+        ></i>
+        实收金额:{{ totalActualAmount | moneyFormat }}元<i
+          style="width: 10px; display: inline-block"
+        ></i>
+        预收金额:{{ totalAdvanceAmount | moneyFormat }}元<i
+          style="width: 10px; display: inline-block"
+        ></i>
+        预收余额:{{ totalUserBalance | moneyFormat }}元
       </div>
       <div class="tableWrap">
-        <el-table :data="tableList"
-                  :header-cell-style="{background:'#EDEEF0',color:'#444'}">
-          <el-table-column align="center"
-                           width="180px"
-                           prop="transNo"
-                           label="交易流水号"></el-table-column>
-          <el-table-column align="center"
-                           width="210px"
-                           prop="orderNo"
-                           label="订单号"></el-table-column>
-          <el-table-column align="center"
-                           width="150"
-                           prop="createTime"
-                           label="订单日期">
-            <template slot-scope="scope">{{ scope.row.createTime | dateForMinFormat }}</template>
+        <el-table
+          :data="tableList"
+          :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
+        >
+          <el-table-column
+            align="center"
+            width="180px"
+            prop="transNo"
+            label="交易流水号"
+          >
+            <template slot-scope="scope">
+              <div>
+                <copy-text>{{ scope.row.transNo }}</copy-text>
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="center"
+            width="210px"
+            prop="orderNo"
+            label="订单号"
+          >
+            <template slot-scope="scope">
+              <div>
+                <copy-text>{{ scope.row.orderNo }}</copy-text>
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="center"
+            width="150"
+            prop="createTime"
+            label="订单日期"
+          >
+            <template slot-scope="scope">{{
+              scope.row.createTime | dateForMinFormat
+            }}</template>
           </el-table-column>
-          <el-table-column align="center"
-                           width="100px"
-                           label="交易类型">
-            <template slot-scope="scope">{{ scope.row.type | orderType }}</template>
+          <el-table-column align="center" width="100px" label="交易类型">
+            <template slot-scope="scope">{{
+              scope.row.type | orderType
+            }}</template>
           </el-table-column>
-          <el-table-column align="center"
-                           prop="expectAmount"
-                           label="应付金额">
+          <el-table-column align="center" prop="expectAmount" label="应付金额">
             <template slot-scope="scope">
               <div>
-                {{scope.row.expectAmount | moneyFormat}}
+                {{ scope.row.expectAmount | moneyFormat }}
               </div>
             </template>
           </el-table-column>
-          <el-table-column align="center"
-                           prop="balancePaymentAmount"
-                           label="余额支付">
+          <el-table-column
+            align="center"
+            prop="balancePaymentAmount"
+            label="余额支付"
+          >
             <template slot-scope="scope">
               <div>
-                {{scope.row.balancePaymentAmount | moneyFormat}}
+                {{ scope.row.balancePaymentAmount | moneyFormat }}
               </div>
             </template>
           </el-table-column>
-          <el-table-column align="center"
-                           prop="actualAmount"
-                           label="现金支付">
+          <el-table-column align="center" prop="actualAmount" label="现金支付">
             <template slot-scope="scope">
               <div>
-                {{scope.row.actualAmount | moneyFormat}}
+                {{ scope.row.actualAmount | moneyFormat }}
               </div>
             </template>
           </el-table-column>
-          <el-table-column align="center"
-                           label="学员姓名">
+          <el-table-column align="center" label="学员姓名">
             <template slot-scope="scope">
-              {{ scope.row.user.username }}
-              <span v-if="scope.row.user.username && scope.row.user.phone">/</span>
-              {{ scope.row.user.phone }}
+              <copy-text> {{ scope.row.user.username }}</copy-text>
+              <span v-if="scope.row.user.username && scope.row.user.phone"
+                >/</span
+              >
+              <copy-text>
+                {{ scope.row.user.phone }}
+              </copy-text>
             </template>
           </el-table-column>
-          <el-table-column align="center"
-                           prop="paymentChannel"
-                           label="交易方式">
-            <template slot-scope="scope">{{ scope.row.paymentChannel | paymentChannelStatus }}</template>
+          <el-table-column
+            align="center"
+            prop="paymentChannel"
+            label="交易方式"
+          >
+            <template slot-scope="scope">{{
+              scope.row.paymentChannel | paymentChannelStatus
+            }}</template>
           </el-table-column>
           <!-- <el-table-column align="center"
                            label="收款账户">
             <template slot-scope="scope">{{ scope.row.merNos }}</template>
           </el-table-column> -->
-          <el-table-column align="center"
-                           label="交易状态">
-            <template slot-scope="scope">{{ scope.row.status | dealStatus }}</template>
+          <el-table-column align="center" label="交易状态">
+            <template slot-scope="scope">{{
+              scope.row.status | dealStatus
+            }}</template>
           </el-table-column>
-          <el-table-column align="center"
-                           label="备注">
-            <template slot-scope="scope">{{ scope.row.memo ? scope.row.memo : '-' }}</template>
+          <el-table-column align="center" label="备注">
+            <template slot-scope="scope">{{
+              scope.row.memo ? scope.row.memo : "-"
+            }}</template>
           </el-table-column>
-          <el-table-column align="center"
-                           width="150px"
-                           label="操作">
+          <el-table-column align="center" width="150px" label="操作">
             <template slot-scope="scope">
-              <el-button v-if="scope.row.status != 'SUCCESS' && scope.row.actualAmount > 0"
-                         v-permission="'order/getOrderStatus'"
-                         @click="onGetOrderStatus(scope.row)"
-                         type="text">查询订单状态</el-button>
+              <el-button
+                v-if="
+                  scope.row.status != 'SUCCESS' && scope.row.actualAmount > 0
+                "
+                v-permission="'order/getOrderStatus'"
+                @click="onGetOrderStatus(scope.row)"
+                type="text"
+                >查询订单状态</el-button
+              >
             </template>
           </el-table-column>
         </el-table>
-        <pagination :total="pageInfo.total"
-                    :page.sync="pageInfo.page"
-                    :limit.sync="pageInfo.limit"
-                    :page-sizes="pageInfo.page_size"
-                    @pagination="getList" />
+        <pagination
+          sync
+          :total.sync="pageInfo.total"
+          :page.sync="pageInfo.page"
+          :limit.sync="pageInfo.limit"
+          :page-sizes="pageInfo.page_size"
+          @pagination="getList"
+        />
       </div>
     </div>
   </div>
 </template>
 <script>
-import pagination from '@/components/Pagination/index'
-import { orderQueryPage, getOrderStatus } from '@/api/orderManager'
-import { getEmployeeOrgan } from '@/api/buildTeam'
-import store from '@/store'
-import cleanDeep from 'clean-deep'
-import { orderStatus, dealStatus } from '@/utils/searchArray'
-import axios from 'axios'
-import qs from 'qs'
-import { getToken } from '@/utils/auth'
-import load from '@/utils/loading'
+import pagination from "@/components/Pagination/index";
+import { orderQueryPage, getOrderStatus } from "@/api/orderManager";
+import { getEmployeeOrgan } from "@/api/buildTeam";
+import store from "@/store";
+import cleanDeep from "clean-deep";
+import { orderStatus, dealStatus } from "@/utils/searchArray";
+import axios from "axios";
+import qs from "qs";
+import { getToken } from "@/utils/auth";
+import load from "@/utils/loading";
 export default {
   components: { pagination },
   name: "income",
-  data () {
+  data() {
     return {
       orderStatus: orderStatus,
       dealStatus: dealStatus,
@@ -257,7 +336,7 @@ export default {
         transNo: null,
         merNos: null,
         lessBalancePaymentAmount: null,
-        lessActualAmount: null
+        lessActualAmount: null,
       },
       tableList: [],
       organList: [],
@@ -266,7 +345,7 @@ export default {
         limit: 10, // 限制显示条数
         page: 1, // 当前页
         total: 0, // 总条数
-        page_size: [10, 20, 40, 50] // 选择限制显示条数
+        page_size: [10, 20, 40, 50], // 选择限制显示条数
       },
       totalUserBalance: 0,
       totalActualAmount: 0,
@@ -274,30 +353,32 @@ export default {
       totalRevenueAmount: 0,
     };
   },
-  mounted () {
-    getEmployeeOrgan().then(res => {
+  mounted() {
+    getEmployeeOrgan().then((res) => {
       if (res.code == 200) {
         this.organList = res.data;
       }
     });
     var now = new Date();
 
-    var startDate =
-      new Date(Date.UTC(now.getFullYear(), now.getMonth(), now.getDate()))
-        .toISOString()
-        .slice(0, 10);
+    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);
+    var endDate = new Date(
+      Date.UTC(now.getFullYear(), now.getMonth(), now.getDate())
+    )
+      .toISOString()
+      .slice(0, 10);
     this.orderDate = [];
     this.orderDate.push(startDate);
     this.orderDate.push(endDate);
     this.getList();
   },
   methods: {
-    onClear (type) {
+    onClear(type) {
       if (type == "paymentType") {
         this.searchForm.paymentType = null;
       } else if (type == "paymentStatus") {
@@ -306,7 +387,7 @@ export default {
         this.searchForm.organId = null;
       }
     },
-    onOrderExport () {
+    onOrderExport() {
       // 报表导出
       let url = "/api-web/export/orderList";
       let searchForm = this.searchForm;
@@ -322,8 +403,8 @@ export default {
         paymentType: searchForm.paymentType,
         organId: searchForm.organId,
         lessBalancePaymentAmount: searchForm.lessBalancePaymentAmount,
-        lessActualAmount: searchForm.lessActualAmount
-      }
+        lessActualAmount: searchForm.lessActualAmount,
+      };
       if (this.orderDate && this.orderDate.length > 0) {
         data.orderStartDate = this.orderDate[0];
         data.orderEndDate = this.orderDate[1];
@@ -334,74 +415,78 @@ export default {
       const options = {
         method: "POST",
         headers: {
-          Authorization: getToken()
+          Authorization: getToken(),
         },
         data: qs.stringify(cleanDeep(data)),
         url,
-        responseType: "blob"
+        responseType: "blob",
       };
       this.$confirm("您确定导出报表", "提示", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
-        type: "warning"
+        type: "warning",
       })
         .then(() => {
-          load.startLoading()
-          axios(options).then(res => {
-            let blob = new Blob([res.data], {
-              // type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8'
-              type: "application/vnd.ms-excel;charset=utf-8"
-              //word文档为application/msword,pdf文档为application/pdf,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8
-            });
-            let text = (new Response(blob)).text()
-            text.then(res => {
-              // 判断是否报错
-              if (res.indexOf('code') != -1) {
-                let json = JSON.parse(res)
-                this.$message.error(json.msg)
-              } else {
-                let objectUrl = URL.createObjectURL(blob);
-                let link = document.createElement("a");
-                let nowTime = new Date();
-                let ymd =
-                  nowTime.getFullYear() +
-                  "" +
-                  (nowTime.getMonth() + 1) +
-                  "" +
-                  nowTime.getDate() +
-                  "" +
-                  nowTime.getHours() +
-                  "" +
-                  nowTime.getMinutes();
-                let fname = "报表导出" + new Date().getTime(); //下载文件的名字
-                link.href = objectUrl;
-                link.setAttribute("download", fname);
-                document.body.appendChild(link);
-                link.click();
-              }
-            })
+          load.startLoading();
+          axios(options)
+            .then((res) => {
+              let blob = new Blob([res.data], {
+                // type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8'
+                type: "application/vnd.ms-excel;charset=utf-8",
+                //word文档为application/msword,pdf文档为application/pdf,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8
+              });
+              let text = new Response(blob).text();
+              text.then((res) => {
+                // 判断是否报错
+                if (res.indexOf("code") != -1) {
+                  let json = JSON.parse(res);
+                  this.$message.error(json.msg);
+                } else {
+                  let objectUrl = URL.createObjectURL(blob);
+                  let link = document.createElement("a");
+                  let nowTime = new Date();
+                  let ymd =
+                    nowTime.getFullYear() +
+                    "" +
+                    (nowTime.getMonth() + 1) +
+                    "" +
+                    nowTime.getDate() +
+                    "" +
+                    nowTime.getHours() +
+                    "" +
+                    nowTime.getMinutes();
+                  let fname = "报表导出" + new Date().getTime(); //下载文件的名字
+                  link.href = objectUrl;
+                  link.setAttribute("download", fname);
+                  document.body.appendChild(link);
+                  link.click();
+                }
+              });
 
-            load.endLoading();
-          }).catch(error => {
-            this.$message.error('导出数据失败,请联系管理员');
-            load.endLoading();
-          });
+              load.endLoading();
+            })
+            .catch((error) => {
+              this.$message.error("导出数据失败,请联系管理员");
+              load.endLoading();
+            });
         })
-        .catch(() => { });
+        .catch(() => {});
     },
-    search () {
+    search() {
       this.pageInfo.page = 1;
       this.getList();
     },
-    getList () {
-      let params = JSON.parse(JSON.stringify(this.searchForm))
+    getList() {
+      let params = JSON.parse(JSON.stringify(this.searchForm));
       params.rows = this.pageInfo.limit;
       params.page = this.pageInfo.page;
-      params.orderNo = params.orderNo ? params.orderNo : null
-      params.transNo = params.transNo ? params.transNo : null
-      params.merNos = params.merNos ? params.merNos : null
-      params.actualAmount = params.actualAmount ? params.actualAmount : null
-      params.balancePaymentAmount = params.balancePaymentAmount ? params.balancePaymentAmount : null
+      params.orderNo = params.orderNo ? params.orderNo : null;
+      params.transNo = params.transNo ? params.transNo : null;
+      params.merNos = params.merNos ? params.merNos : null;
+      params.actualAmount = params.actualAmount ? params.actualAmount : null;
+      params.balancePaymentAmount = params.balancePaymentAmount
+        ? params.balancePaymentAmount
+        : null;
       if (this.orderDate && this.orderDate.length > 0) {
         params.orderStartDate = this.orderDate[0];
         params.orderEndDate = this.orderDate[1];
@@ -409,30 +494,40 @@ export default {
         params.orderStartDate = null;
         params.orderEndDate = null;
       }
-      orderQueryPage(cleanDeep(params)).then(res => {
+      orderQueryPage(cleanDeep(params)).then((res) => {
         let result = res.data;
         if (res.code == 200) {
           this.tableList = result.rows;
           this.pageInfo.total = result.total;
-          this.totalUserBalance = result.totalUserBalance ? result.totalUserBalance : 0
-          this.totalActualAmount = result.totalActualAmount ? result.totalActualAmount : 0
-          this.totalAdvanceAmount = result.totalAdvanceAmount ? result.totalAdvanceAmount : 0
-          this.totalRevenueAmount = result.totalRevenueAmount ? result.totalRevenueAmount : 0
+          this.totalUserBalance = result.totalUserBalance
+            ? result.totalUserBalance
+            : 0;
+          this.totalActualAmount = result.totalActualAmount
+            ? result.totalActualAmount
+            : 0;
+          this.totalAdvanceAmount = result.totalAdvanceAmount
+            ? result.totalAdvanceAmount
+            : 0;
+          this.totalRevenueAmount = result.totalRevenueAmount
+            ? result.totalRevenueAmount
+            : 0;
         }
       });
     },
-    onGetOrderStatus (row) {
+    onGetOrderStatus(row) {
       this.$confirm("您确定查询该订单状态", "提示", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
-        type: "warning"
-      }).then(() => {
-        getOrderStatus({ id: row.id }).then(res => {
-          this.getList()
+        type: "warning",
+      })
+        .then(() => {
+          getOrderStatus({ id: row.id }).then((res) => {
+            this.getList();
+          });
         })
-      }).catch(err => { })
+        .catch((err) => {});
     },
-    searchOrderDate (value) {
+    searchOrderDate(value) {
       if (value) {
         this.searchForm.orderStartDate = value[0];
         this.searchForm.orderEndDate = value[1];
@@ -441,7 +536,7 @@ export default {
         this.searchForm.orderEndDate = null;
       }
     },
-    onReSet () {
+    onReSet() {
       // 重置搜索
       this.orderDate = null;
       this.searchForm = {
@@ -457,12 +552,12 @@ export default {
         transNo: null,
         merNos: null,
         lessBalancePaymentAmount: null,
-        lessActualAmount: null
+        lessActualAmount: null,
       };
       this.getList();
-    }
-  }
+    },
+  },
 };
 </script>
 <style lang="scss">
-</style>
+</style>

+ 169 - 123
src/views/businessManager/orderManager/orderAudit/index.vue

@@ -2,78 +2,112 @@
 <template>
   <div class="m-container">
     <h2>
-      <div class="squrt"></div>订单审核
+      <div class="squrt"></div>
+      订单审核
     </h2>
     <div class="m-core">
-
-      <saveform ref="searchForm" :model.sync="searchForm" inline style="margin-top: 20px" >
+      <saveform
+        ref="searchForm"
+        :model.sync="searchForm"
+        inline
+        style="margin-top: 20px"
+      >
         <el-form-item>
-          <el-input v-model.trim="searchForm.transNo"
-                    @keyup.enter.native="transNo"
-                    placeholder='交易流水号'></el-input>
+          <el-input
+            v-model.trim="searchForm.transNo"
+            @keyup.enter.native="transNo"
+            clearable
+            placeholder="交易流水号"
+          ></el-input>
         </el-form-item>
 
         <el-form-item prop="organId">
-          <el-select class="multiple"
-                     v-model.trim="searchForm.organId"
-                     filterable
-                     clearable
-                     placeholder="请选择分部">
-            <el-option v-for="(item,index) in organList"
-                       :key="index"
-                       :label="item.name"
-                       :value="item.id"></el-option>
+          <el-select
+            class="multiple"
+            v-model.trim="searchForm.organId"
+            filterable
+            clearable
+            placeholder="请选择分部"
+          >
+            <el-option
+              v-for="(item, index) in selects.branchs"
+              :key="index"
+              :label="item.name"
+              :value="item.id"
+            ></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-select class="multiple"
-                     v-model.trim="searchForm.type"
-                     filterable
-                     clearable
-                     placeholder="请选择申请类型">
-            <el-option v-for="(item,index) in orderServerList"
-                       :key="index"
-                       :label="item.label"
-                       :value="item.value"></el-option>
+          <el-select
+            class="multiple"
+            v-model.trim="searchForm.type"
+            filterable
+            clearable
+            placeholder="请选择申请类型"
+          >
+            <el-option
+              v-for="(item, index) in orderServerList"
+              :key="index"
+              :label="item.label"
+              :value="item.value"
+            ></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-select class="multiple"
-                     v-model.trim="searchForm.auditStatus"
-                     placeholder="请选择审核状态">
-            <el-option v-for="(item,index) in orderAuditTypeList"
-                       :key="index"
-                       :label="item.label"
-                       :value="item.value"></el-option>
+          <el-select
+            class="multiple"
+            v-model.trim="searchForm.auditStatus"
+            placeholder="请选择审核状态"
+          >
+            <el-option
+              v-for="(item, index) in orderAuditTypeList"
+              :key="index"
+              :label="item.label"
+              :value="item.value"
+            ></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-button @click="search"
-                     type="danger">搜索</el-button>
-          <el-button @click="onReSet"
-                     type="primary">重置</el-button>
+          <el-button @click="search" type="danger">搜索</el-button>
+          <el-button @click="onReSet" type="primary">重置</el-button>
         </el-form-item>
       </saveform>
       <div class="tableWrap">
-        <el-table style="width: 100%"
-                  :header-cell-style="{background:'#EDEEF0',color:'#444'}"
-                  :data="tableList">
-          <el-table-column align="center"
-                           prop="transNo"
-                           label="交易流水号"></el-table-column>
-          <el-table-column align="center"
-                           prop="organ.name"
-                           label="分部"></el-table-column>
-          <el-table-column align="center"
-                           prop="cooperationOrgan.name"
-                           label="学校名称"></el-table-column>
-          <el-table-column align="center"
-                           prop="serviceAmount"
-                           label="服务收入">
+        <el-table
+          style="width: 100%"
+          :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
+          :data="tableList"
+        >
+          <el-table-column align="center" prop="transNo" label="交易流水号">
+            <template slot-scope="scope">
+              <div>
+                <copy-text>{{ scope.row.transNo }}</copy-text>
+              </div>
+            </template>
           </el-table-column>
-          <el-table-column align="center"
-                           prop="saleAmount"
-                           label="销售收入"></el-table-column>
+          <el-table-column
+            align="center"
+            prop="organ.name"
+            label="分部"
+          >
+ <template slot-scope="scope">
+              <div>
+                <copy-text>{{ scope.row.organ.name }}</copy-text>
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="center"
+            prop="cooperationOrgan.name"
+            label="学校名称"
+          ></el-table-column>
+          <el-table-column align="center" prop="serviceAmount" label="服务收入">
+          </el-table-column>
+          <el-table-column
+            align="center"
+            prop="saleAmount"
+            label="销售收入"
+          ></el-table-column>
           <!-- <el-table-column align="center"
                            prop="memo"
                            label="备注">
@@ -81,90 +115,101 @@
               <Tooltip :content="scope.row.memo?scope.row.memo:''" />
             </template>
           </el-table-column> -->
-          <el-table-column align="center"
-                           prop="operator.username"
-                           label="申请人"></el-table-column>
-          <el-table-column align="center"
-                           prop="auditStatus"
-                           label="状态">
+          <el-table-column
+            align="center"
+            prop="operator.username"
+            label="申请人"
+          ></el-table-column>
+          <el-table-column align="center" prop="auditStatus" label="状态">
             <template slot-scope="scope">
               <div>
-                <p v-if="scope.row.auditStatus">{{scope.row.auditStatus| orderAuditType}}</p>
-                <p v-else>{{'审核通过'}}</p>
+                <p v-if="scope.row.auditStatus">
+                  {{ scope.row.auditStatus | orderAuditType }}
+                </p>
+                <p v-else>{{ "审核通过" }}</p>
               </div>
             </template>
           </el-table-column>
-          <el-table-column align="center"
-                           prop="payTime"
-                           label="交易日期">
+          <el-table-column align="center" prop="payTime" label="交易日期">
             <template slot-scope="scope">
               <div>
-                {{scope.row.payTime | dateForMinFormat}}
+                {{ scope.row.payTime | dateForMinFormat }}
               </div>
             </template>
           </el-table-column>
-          <el-table-column align="center"
-                           prop="createTime"
-                           label="申请时间">
-
+          <el-table-column align="center" prop="createTime" label="申请时间">
             <template slot-scope="scope">
               <div>
-                {{scope.row.createTime | dateForMinFormat}}
+                {{ scope.row.createTime | dateForMinFormat }}
               </div>
             </template>
           </el-table-column>
-          <el-table-column align="center"
-                           prop="studentId"
-                           label="操作">
+          <el-table-column align="center" prop="studentId" label="操作">
             <template slot-scope="scope">
               <div>
-                <el-button type="text"
-                v-permission="'routeOrder/query'"
-                           @click="lookDetail(scope.row)">查看</el-button>
-                <el-button type="text"
-                v-permission="'routeOrder/update'"
-                           v-if="scope.row.auditStatus == 'REJECT'"
-                           @click="resetDetail(scope.row)">修改</el-button>
+                <el-button
+                  type="text"
+                  v-permission="'routeOrder/query'"
+                  @click="lookDetail(scope.row)"
+                  >查看</el-button
+                >
+                <el-button
+                  type="text"
+                  v-permission="'routeOrder/update'"
+                  v-if="scope.row.auditStatus == 'REJECT'"
+                  @click="resetDetail(scope.row)"
+                  >修改</el-button
+                >
               </div>
             </template>
           </el-table-column>
         </el-table>
         <pagination
-        sync
-        :total.sync="rules.total"
-                    :page.sync="rules.page"
-                    :limit.sync="rules.limit"
-                    :page-sizes="rules.page_size"
-                    @pagination="getList" />
-
+          sync
+          :total.sync="rules.total"
+          :page.sync="rules.page"
+          :limit.sync="rules.limit"
+          :page-sizes="rules.page_size"
+          @pagination="getList"
+        />
       </div>
     </div>
-    <el-dialog title="审核详情"
-               :visible.sync="orderVisible"
-               width="600px">
-      <orderAuditDetail :orderId='activceId'
-                        :shopList="shopList"
-                        :organList="organList"
-                        :isLook='isLook'
-                        ref="orderAuditDetail"
-                        v-if="orderVisible"
-                        @getList="getList" />
-      <span slot="footer"
-            class="dialog-footer" >
-        <el-button v-if="activeRow&&activeRow.auditStatus == 'ING'"
-         v-permission="'routeOrder/auditOutOrder'"
-                   @click="submit('REJECT')">驳回</el-button>
-        <el-button v-if="activeRow&&activeRow.auditStatus == 'ING'"
-         v-permission="'routeOrder/auditOutOrder'"
-                   @click="submit('PASS')"
-                   type="primary">审核通过</el-button>
-        <el-button @click="orderVisible = false"
-
-                   v-if="activeRow&&activeRow.auditStatus == 'REJECT'&&!isLook">取 消</el-button>
-        <el-button v-if="activeRow&&activeRow.auditStatus == 'REJECT'&&!isLook"
-         v-permission="'routeOrder/update'"
-                   @click="submitReaet"
-                   type="primary">确 定</el-button>
+    <el-dialog title="审核详情" :visible.sync="orderVisible" width="600px">
+      <orderAuditDetail
+        :orderId="activceId"
+        :shopList="shopList"
+        :organList="organList"
+        :isLook="isLook"
+        ref="orderAuditDetail"
+        v-if="orderVisible"
+        @getList="getList"
+      />
+      <span slot="footer" class="dialog-footer">
+        <el-button
+          v-if="activeRow && activeRow.auditStatus == 'ING'"
+          v-permission="'routeOrder/auditOutOrder'"
+          @click="submit('REJECT')"
+          >驳回</el-button
+        >
+        <el-button
+          v-if="activeRow && activeRow.auditStatus == 'ING'"
+          v-permission="'routeOrder/auditOutOrder'"
+          @click="submit('PASS')"
+          type="primary"
+          >审核通过</el-button
+        >
+        <el-button
+          @click="orderVisible = false"
+          v-if="activeRow && activeRow.auditStatus == 'REJECT' && !isLook"
+          >取 消</el-button
+        >
+        <el-button
+          v-if="activeRow && activeRow.auditStatus == 'REJECT' && !isLook"
+          v-permission="'routeOrder/update'"
+          @click="submitReaet"
+          type="primary"
+          >确 定</el-button
+        >
       </span>
     </el-dialog>
   </div>
@@ -182,15 +227,15 @@ import { getRouteOrderList } from "@/api/orderManager";
 import { goodsQuery } from "@/api/businessManager";
 import { formatData } from "@/utils/utils";
 import Tooltip from "@/components/Tooltip/index";
-import saveform from '@/components/save-form'
+import saveform from "@/components/save-form";
 export default {
-  components: { pagination, orderAuditDetail, Tooltip,saveform },
+  components: { pagination, orderAuditDetail, Tooltip, saveform },
   data() {
     return {
       searchForm: {
         transNo: null,
         organId: null,
-        auditStatus: 'ING',
+        auditStatus: "ING",
         type: null,
       },
       tableList: [],
@@ -214,12 +259,13 @@ export default {
   created() {},
   //生命周期 - 挂载完成(可以访问DOM元素)
   mounted() {
-    getEmployeeOrgan().then((res) => {
-      if (res.code == 200) {
-        this.organList = res.data;
-      }
-    });
+    // getEmployeeOrgan().then((res) => {
+    //   if (res.code == 200) {
+    //     this.organList = res.data;
+    //   }
+    // });
     // 获取分部
+     this.$store.dispatch("setBranchs");
     goodsQuery({ status: 1, rows: 99999 }).then((res) => {
       if (res.code === 200) {
         this.shopList = res.data.rows;
@@ -236,7 +282,7 @@ export default {
       this.getList();
     },
     search() {
-      this.$refs.searchForm.save( this.searchForm)
+      this.$refs.searchForm.save(this.searchForm);
       this.rules.page = 1;
       this.getList();
     },
@@ -244,7 +290,7 @@ export default {
       this.searchForm = {
         transNo: null,
         organId: null,
-        auditStatus: 'ING',
+        auditStatus: "ING",
         type: null,
       };
       this.search();

+ 8 - 3
src/views/evaluateManager/index.vue

@@ -4,6 +4,7 @@
       <div class="squrt"></div>评论管理
     </h2>
     <div class="m-core">
+       <location-hash v-model="activeIndex" @change="handleClick">
       <el-tabs v-model.trim="activeIndex"
                type="card"
                @tab-click="handleClick">
@@ -24,6 +25,7 @@
           </vipEvaluateList>
         </el-tab-pane>
       </el-tabs>
+       </location-hash>
     </div>
   </div>
 </template>
@@ -39,8 +41,9 @@ export default {
     vipEvaluateList
   },
   data () {
+     const query = this.$route.query
     return {
-      activeIndex: "1",
+      activeIndex:query.opt|| "1",
       permissionList: {
         evaluateList: permission("/commentManager/evaluateList"),
         networkList: permission("/commentManager/networkList"),
@@ -59,9 +62,11 @@ export default {
     init () {
       this.$route.query.activeIndex ? this.activeIndex = this.$route.query.activeIndex : this.activeIndex;
     },
-    handleClick () { }
+    handleClick (val) {
+      this.activeIndex = val.name
+     }
   }
 };
 </script>
 <style lang="scss" scoped>
-</style>
+</style>

+ 233 - 181
src/views/recodeManager/recodeList.vue

@@ -2,171 +2,221 @@
 <template>
   <div class="m-container">
     <h2>
-      <div class="squrt"></div>老师考勤列表
+      <div class="squrt"></div>
+      老师考勤列表
     </h2>
     <div class="m-core">
-      <el-form :inline="true"
-               ref='searchForm'
-               :model="searchForm">
+      <save-form
+        :inline="true"
+        @submit="search"
+        @reset="onReSet"
+        ref="searchForm"
+        :model="searchForm"
+      >
         <el-form-item>
-          <el-input v-model.trim="searchForm.search"
-                    style="width:260px"
-                    @keyup.enter.native="search"
-                    placeholder='老师编号,姓名,课程编号,课程名'></el-input>
+          <el-input
+            v-model.trim="searchForm.search"
+            clearable
+            @keyup.enter.native="search"
+            placeholder="关键字搜索"
+          ></el-input>
         </el-form-item>
         <el-form-item prop="organId">
-          <el-select class="multiple"
-                     v-model.trim="searchForm.organId"
-                     filterable
-                     clearable
-                     placeholder="请选择分部">
-            <el-option v-for="(item,index) in organList"
-                       :key="index"
-                       :label="item.name"
-                       :value="item.id"></el-option>
+          <el-select
+            class="multiple"
+            v-model.trim="searchForm.organId"
+            filterable
+            clearable
+            placeholder="请选择分部"
+          >
+            <el-option
+              v-for="(item, index) in selects.branchs"
+              :key="index"
+              :label="item.name"
+              :value="item.id"
+            ></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-select v-model.trim="searchForm.courseScheduleType"
-                     clearable
-                     placeholder="请选择课程类型">
-            <el-option v-for='(item,index) in courseType'
-                       :key="index"
-                       :value="item.value"
-                       :label="item.label"></el-option>
+          <el-select
+            v-model.trim="searchForm.courseScheduleType"
+            clearable
+            placeholder="请选择课程类型"
+          >
+            <el-option
+              v-for="(item, index) in courseType"
+              :key="index"
+              :value="item.value"
+              :label="item.label"
+            ></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-select v-model.trim="searchForm.signInStatus"
-                     clearable
-                     placeholder="签到状态">
-            <el-option :value="1"
-                       label="正常签到"></el-option>
-            <el-option :value="0"
-                       label="异常签到"></el-option>
-            <el-option :value="3"
-                       label="未签到"></el-option>
+          <el-select
+            v-model.trim="searchForm.signInStatus"
+            clearable
+            placeholder="签到状态"
+          >
+            <el-option :value="1" label="正常签到"></el-option>
+            <el-option :value="0" label="异常签到"></el-option>
+            <el-option :value="3" label="未签到"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-select v-model.trim="searchForm.signOutStatus"
-                     clearable
-                     placeholder="签退状态">
-            <el-option :value="1"
-                       label="正常签退"></el-option>
-            <el-option :value="0"
-                       label="异常签退"></el-option>
-            <el-option :value="3"
-                       label="未签退"></el-option>
+          <el-select
+            v-model.trim="searchForm.signOutStatus"
+            clearable
+            placeholder="签退状态"
+          >
+            <el-option :value="1" label="正常签退"></el-option>
+            <el-option :value="0" label="异常签退"></el-option>
+            <el-option :value="3" label="未签退"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-date-picker v-model.trim="courseTime"
-                          style="width:410px;"
-                          type="daterange"
-                          value-format="yyyy-MM-dd"
-                          range-separator="至"
-                          start-placeholder="考勤开始日期"
-                          :picker-options="{
-        firstDayOfWeek: 1
-    }"
-                          end-placeholder="考勤结束日期">
+          <el-date-picker
+            v-model.trim="courseTime"
+            style="width: 410px"
+            type="daterange"
+            value-format="yyyy-MM-dd"
+            range-separator="至"
+            start-placeholder="考勤开始日期"
+            :picker-options="{
+              firstDayOfWeek: 1,
+            }"
+            end-placeholder="考勤结束日期"
+          >
           </el-date-picker>
         </el-form-item>
         <el-form-item>
-          <el-button @click="search"
-                     type="danger">搜索</el-button>
-          <el-button @click="onReSet"
-                     type="primary">重置</el-button>
+          <el-button native-type="submit" type="danger">搜索</el-button>
+          <el-button native-type="reset" type="primary">重置</el-button>
         </el-form-item>
         <el-form-item>
           <!-- <div class="newBand" @click="onExport">导出</div> -->
-          <el-button @click="onExport"
-                     type="primary"
-                     v-permission="'export/queryTeacherAttendances'"
-                     style="background-color: #14928a; border: 1px solid #14928a;">导出</el-button>
+          <el-button
+            @click="onExport"
+            type="primary"
+            v-permission="'export/queryTeacherAttendances'"
+            style="background-color: #14928a; border: 1px solid #14928a"
+            >导出</el-button
+          >
         </el-form-item>
-      </el-form>
+      </save-form>
       <div class="tableWrap">
-        <el-table style="width: 100%"
-                  :header-cell-style="{background:'#EDEEF0',color:'#444'}"
-                  :data="tableList">
-          <el-table-column align="center"
-                           prop="organName"
-                           label="分部"></el-table-column>
-          <el-table-column align="center"
-                           prop="teacherName"
-                           label="老师名称"></el-table-column>
-          <el-table-column align="center"
-                           prop="courseScheduleId"
-                           label="课程编号"></el-table-column>
-          <el-table-column align="center"
-                           prop="courseScheduleName"
-                           label="课程名称"></el-table-column>
-          <el-table-column align="center"
-                           prop="classDate"
-                           label="上课日期"></el-table-column>
-          <el-table-column align="center"
-                           prop="startClassTime"
-                           label="上课时间">
+        <el-table
+          style="width: 100%"
+          :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
+          :data="tableList"
+        >
+          <el-table-column
+            align="center"
+            prop="organName"
+            label="分部"
+          ></el-table-column>
+          <el-table-column align="center" prop="teacherName" label="老师名称">
             <template slot-scope="scope">
               <div>
-                {{scope.row.startClassTime+'-'+scope.row.endClassTime}}
+                <copy-text>{{ scope.row.teacherName }}</copy-text>
               </div>
             </template>
           </el-table-column>
-          <el-table-column align="center"
-                           prop="startClassTime"
-                           label="课程类型">
+          <el-table-column
+            align="center"
+            prop="courseScheduleId"
+            label="课程编号"
+          >
             <template slot-scope="scope">
               <div>
-                {{scope.row.courseScheduleType | coursesType}}
+                <copy-text>{{ scope.row.courseScheduleId }}</copy-text>
               </div>
             </template>
           </el-table-column>
-          <el-table-column align="center"
-                           label="签到时间">
+          <el-table-column
+            align="center"
+            prop="courseScheduleName"
+            label="课程名称"
+          >
             <template slot-scope="scope">
               <div>
-                {{scope.row.signInTime }}
+                <copy-text>{{ scope.row.courseScheduleName }}</copy-text>
               </div>
             </template>
           </el-table-column>
-          <el-table-column align="center"
-                           label="签到状态">
+          <el-table-column
+            align="center"
+            prop="classDate"
+            label="上课日期"
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            prop="startClassTime"
+            label="上课时间"
+          >
             <template slot-scope="scope">
               <div>
-                {{scope.row.signInStatus | attendanceType}}
+                {{ scope.row.startClassTime + "-" + scope.row.endClassTime }}
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="center"
+            prop="startClassTime"
+            label="课程类型"
+          >
+            <template slot-scope="scope">
+              <div>
+                {{ scope.row.courseScheduleType | coursesType }}
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column align="center" label="签到时间">
+            <template slot-scope="scope">
+              <div>
+                {{ scope.row.signInTime }}
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column align="center" label="签到状态">
+            <template slot-scope="scope">
+              <div>
+                {{ scope.row.signInStatus | attendanceType }}
               </div>
             </template>
           </el-table-column>
 
-          <el-table-column align="center"
-                           prop="startClassTime"
-                           label="签退时间">
+          <el-table-column
+            align="center"
+            prop="startClassTime"
+            label="签退时间"
+          >
             <template slot-scope="scope">
               <div>
-                {{scope.row.signOutTime}}
+                {{ scope.row.signOutTime }}
               </div>
             </template>
           </el-table-column>
-          <el-table-column align="center"
-                           label="签退状态">
+          <el-table-column align="center" label="签退状态">
             <template slot-scope="scope">
               <div>
-                {{scope.row.signOutStatus | attendanceOutType}}
+                {{ scope.row.signOutStatus | attendanceOutType }}
               </div>
             </template>
           </el-table-column>
-          <el-table-column align="center"
-                           prop="remark"
-                           label="备注"></el-table-column>
+          <el-table-column
+            align="center"
+            prop="remark"
+            label="备注"
+          ></el-table-column>
         </el-table>
-        <pagination :total="rules.total"
-                    :page.sync="rules.page"
-                    :limit.sync="rules.limit"
-                    :page-sizes="rules.page_size"
-                    @pagination="getList" />
+        <pagination
+          sync
+          :total.sync="rules.total"
+          :page.sync="rules.page"
+          :limit.sync="rules.limit"
+          :page-sizes="rules.page_size"
+          @pagination="getList"
+        />
       </div>
     </div>
   </div>
@@ -177,10 +227,10 @@ import axios from "axios";
 import { getToken } from "@/utils/auth";
 import pagination from "@/components/Pagination/index";
 import load from "@/utils/loading";
-import qs from 'qs'
+import qs from "qs";
 import { getTeacher, getEmployeeOrgan } from "@/api/buildTeam";
 import { queryTeacherAttendances } from "@/api/recodeManager";
-import { courseType } from '@/utils/searchArray'
+import { courseType } from "@/utils/searchArray";
 let nowTime = new Date();
 nowTime =
   nowTime.getFullYear() +
@@ -190,13 +240,13 @@ nowTime =
   nowTime.getDate();
 export default {
   components: { pagination },
-  data () {
+  data() {
     return {
       searchForm: {
         search: null,
         organId: null,
         signInStatus: null,
-        signOutStatus: null
+        signOutStatus: null,
       },
       courseTime: [nowTime, nowTime],
       courseType,
@@ -208,126 +258,128 @@ export default {
         limit: 10, // 限制显示条数
         page: 1, // 当前页
         total: 0, // 总条数
-        page_size: [10, 20, 40, 50] // 选择限制显示条数
+        page_size: [10, 20, 40, 50], // 选择限制显示条数
       },
     };
   },
   //生命周期 - 创建完成(可以访问当前this实例)
-  created () { },
+  created() {},
   //生命周期 - 挂载完成(可以访问DOM元素)
-  mounted () {
+  mounted() {
     // getTeacher().then(res => {
     //   if (res.code == 200) {
     //     this.teacherList = res.data;
     //   }
     // });
     // 获取分部
-    getEmployeeOrgan().then(res => {
-      if (res.code == 200) {
-        this.organList = res.data;
-      }
-    });
+    // getEmployeeOrgan().then(res => {
+    //   if (res.code == 200) {
+    //     this.organList = res.data;
+    //   }
+    // });
+    this.$store.dispatch("setBranchs");
     this.init();
-
-
   },
-  activated () {
+  activated() {
     this.init();
   },
   methods: {
-    init () {
-      this.getList()
+    init() {
+      this.getList();
     },
-    getList () {
-      let obj = { page: this.rules.page, rows: this.rules.limit }
-      Object.assign(obj, this.searchForm)
+    getList() {
+      let obj = { page: this.rules.page, rows: this.rules.limit };
+      Object.assign(obj, this.searchForm);
       if (this.courseTime && this.courseTime.length > 0) {
-        obj.courseStartDate = this.courseTime[0]
-        obj.courseEndDate = this.courseTime[1]
+        obj.courseStartDate = this.courseTime[0];
+        obj.courseEndDate = this.courseTime[1];
       } else {
-        this.$message.error('请选择搜索时间')
-        return
+        this.$message.error("请选择搜索时间");
+        return;
       }
-      queryTeacherAttendances(obj).then(res => {
+      queryTeacherAttendances(obj).then((res) => {
         if (res.code == 200) {
           this.tableList = res.data.rows;
           this.rules.total = res.data.total;
         }
-      })
+      });
     },
-    search () {
+    search() {
       this.rules.page = 1;
-      this.getList()
+      this.getList();
     },
-    onReSet () {
+    onReSet() {
       this.searchForm = {
         search: null,
         organIdList: null,
         signInStatus: null,
-        signOutStatus: null
-      }
+        signOutStatus: null,
+      };
       this.courseTime = [nowTime, nowTime];
-      this.$refs['searchForm'].resetFields();
-      this.search()
+      this.$refs["searchForm"].resetFields();
+      this.search();
     },
-    onExport () {
-      let obj = { page: this.rules.page, rows: this.rules.limit }
-      Object.assign(obj, this.searchForm)
+    onExport() {
+      let obj = { page: this.rules.page, rows: this.rules.limit };
+      Object.assign(obj, this.searchForm);
       if (this.courseTime && this.courseTime.length > 0) {
-        obj.courseStartDate = this.courseTime[0]
-        obj.courseEndDate = this.courseTime[1]
+        obj.courseStartDate = this.courseTime[0];
+        obj.courseEndDate = this.courseTime[1];
       } else {
-        this.$message.error('请选择搜索时间')
-        return
+        this.$message.error("请选择搜索时间");
+        return;
       }
       let url = "/api-web/export/queryTeacherAttendances";
       const options = {
         method: "POST",
         headers: {
-          Authorization: getToken()
+          Authorization: getToken(),
         },
         params: obj,
         url,
-        responseType: "blob"
+        responseType: "blob",
       };
       this.$confirm("您确定导出考勤列表", "提示", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
-        type: "warning"
+        type: "warning",
       })
         .then(() => {
-          load.startLoading()
-          axios(options).then(res => {
-            let blob = new Blob([res.data], {
-              // type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8'
-              type: "application/vnd.ms-excel;charset=utf-8"
-              //word文档为application/msword,pdf文档为application/pdf,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8
-            });
+          load.startLoading();
+          axios(options)
+            .then((res) => {
+              let blob = new Blob([res.data], {
+                // type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8'
+                type: "application/vnd.ms-excel;charset=utf-8",
+                //word文档为application/msword,pdf文档为application/pdf,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8
+              });
 
-            let text = (new Response(blob)).text()
-            text.then(res => {
-              // 判断是否报错
-              if (res.indexOf('code') != -1) {
-                let json = JSON.parse(res)
-                this.$message.error(json.msg)
-              } else {
-                let objectUrl = URL.createObjectURL(blob);
-                let link = document.createElement("a");
-                let fname = "考勤列表" + new Date().getTime(); //下载文件的名字
-                link.href = objectUrl;
-                link.setAttribute("download", fname);
-                document.body.appendChild(link);
-                link.click();
-              }
+              let text = new Response(blob).text();
+              text.then((res) => {
+                // 判断是否报错
+                if (res.indexOf("code") != -1) {
+                  let json = JSON.parse(res);
+                  this.$message.error(json.msg);
+                } else {
+                  let objectUrl = URL.createObjectURL(blob);
+                  let link = document.createElement("a");
+                  let fname = "考勤列表" + new Date().getTime(); //下载文件的名字
+                  link.href = objectUrl;
+                  link.setAttribute("download", fname);
+                  document.body.appendChild(link);
+                  link.click();
+                }
+              });
+              load.endLoading();
             })
-            load.endLoading();
-          }).catch(error => {
-            this.$message.error('导出数据失败,请联系管理员');
-            load.endLoading();
-          });
-        }).catch(() => { });
-    }
-  }
+            .catch((error) => {
+              this.$message.error("导出数据失败,请联系管理员");
+              load.endLoading();
+            });
+        })
+        .catch(() => {});
+    },
+  },
 };
 </script>
 <style lang='scss' scoped>

部分文件因文件數量過多而無法顯示