Browse Source

教学点加导出

1
mo 2 năm trước cách đây
mục cha
commit
f03a8896b5

+ 84 - 82
src/views/categroyManager/insideSetting/addressManager.vue

@@ -4,7 +4,17 @@
       <div class="squrt"></div>
       教学点管理
     </h2>
-    <div class="m-core" v-if="(tableList.length>0 || pageInfo.page>1)&&contextFlag">
+    <div
+      class="m-core"
+      v-if="
+        (tableList.length > 0 ||
+          pageInfo.page > 1 ||
+          searchForm.search ||
+          searchForm.organId ||
+          searchForm.publicFlag) &&
+        contextFlag
+      "
+    >
       <save-form
         :inline="true"
         class="searchForm"
@@ -49,6 +59,12 @@
         <el-form-item>
           <el-button native-type="submit" type="danger">搜索</el-button>
           <el-button native-type="reset" type="primary">重置</el-button>
+          <el-button
+            @click="onExport"
+            type="primary"
+            v-permission="'export/exportSchoolList'"
+            >导出</el-button
+          >
         </el-form-item>
       </save-form>
       <el-button
@@ -116,19 +132,13 @@
                 >修改</el-button
               >
               <el-button
-                v-if="
-                  scope.row.delFlag == 0 &&
-                  $helpers.permission('school/update/stop')
-                "
+                v-if="scope.row.delFlag == 0 && $helpers.permission('school/update/stop')"
                 @click="onUpdateSubmit(scope.row, 2)"
                 type="text"
                 >停用</el-button
               >
               <el-button
-                v-if="
-                  scope.row.delFlag == 2 &&
-                  $helpers.permission('school/update/open')
-                "
+                v-if="scope.row.delFlag == 2 && $helpers.permission('school/update/open')"
                 @click="onUpdateSubmit(scope.row, 0)"
                 type="text"
                 >启用</el-button
@@ -152,7 +162,21 @@
         />
       </div>
     </div>
-       <emptyPage @submit="openTeaching('create')" title='教学点管理' btnTitle='新建教学点' :context='context' v-if="!(tableList.length>0 || pageInfo.page>1)&&contextFlag" />
+    <emptyPage
+      @submit="openTeaching('create')"
+      title="教学点管理"
+      btnTitle="新建教学点"
+      :context="context"
+      v-if="
+        !(
+          tableList.length > 0 ||
+          pageInfo.page > 1 ||
+          searchForm.search ||
+          searchForm.organId ||
+          searchForm.publicFlag
+        ) && contextFlag
+      "
+    />
     <el-dialog
       :title="formTitle[formActionTitle]"
       :visible.sync="teachingStatus"
@@ -160,18 +184,10 @@
       width="500px"
     >
       <el-form :model="form" :rules="rules" ref="ruleForm">
-        <el-form-item
-          label="教学点名称"
-          prop="name"
-          :label-width="formLabelWidth"
-        >
+        <el-form-item label="教学点名称" prop="name" :label-width="formLabelWidth">
           <el-input v-model.trim="form.name" autocomplete="off"></el-input>
         </el-form-item>
-        <el-form-item
-          label="教学点来源"
-          prop="source"
-          :label-width="formLabelWidth"
-        >
+        <el-form-item label="教学点来源" prop="source" :label-width="formLabelWidth">
           <template v-if="formActionTitle == 'update'">
             <el-select
               v-model.trim="form.source"
@@ -238,11 +254,7 @@
           ></el-input>
         </el-form-item>
         <!--    v-if="form.source == 2" -->
-        <el-form-item
-          prop="organId"
-          label="所属分部"
-          :label-width="formLabelWidth"
-        >
+        <el-form-item prop="organId" label="所属分部" :label-width="formLabelWidth">
           <el-select
             :disabled="form.source != 2"
             v-model.trim="form.organId"
@@ -259,26 +271,17 @@
           </el-select>
         </el-form-item>
         <!-- :show-message="addressMessage" -->
-        <el-form-item
-          prop="address"
-          label="上课地点"
-          :label-width="formLabelWidth"
-        >
-          <el-input
-            class="text-address"
-            v-model.trim="form.address"
-            :disabled="true"
-          >
-          <template   slot="append">
-             <el-button
-              class="addMapBtn"
-              @click="addMap"
-              type="primary"
-              icon="el-icon-plus"
-              >选择</el-button
-            >
-          </template>
-
+        <el-form-item prop="address" label="上课地点" :label-width="formLabelWidth">
+          <el-input class="text-address" v-model.trim="form.address" :disabled="true">
+            <template slot="append">
+              <el-button
+                class="addMapBtn"
+                @click="addMap"
+                type="primary"
+                icon="el-icon-plus"
+                >选择</el-button
+              >
+            </template>
           </el-input>
         </el-form-item>
         <!-- <el-form-item
@@ -295,9 +298,7 @@
       </el-form>
       <span slot="footer" class="dialog-footer">
         <el-button @click="onTeachingCancel('ruleForm')">取 消</el-button>
-        <el-button type="primary" @click="onTeachingSubmit('ruleForm')"
-          >确 定</el-button
-        >
+        <el-button type="primary" @click="onTeachingSubmit('ruleForm')">确 定</el-button>
       </span>
     </el-dialog>
     <el-dialog
@@ -322,12 +323,7 @@
           :search-option="searchOption"
           :on-search-result="onSearchResult"
         ></el-amap-search-box>
-        <el-amap
-          :zoom="zoom"
-          :plugin="plugin"
-          :center="center"
-          :events="events"
-        >
+        <el-amap :zoom="zoom" :plugin="plugin" :center="center" :events="events">
           <el-amap-marker
             :events="markerEvents()"
             v-for="(marker, index) in markers"
@@ -346,6 +342,8 @@
 </template>
 <script>
 import pagination from "@/components/Pagination/index";
+import { Export } from "@/utils/downLoadFile";
+import qs from "qs";
 // 地图
 (function () {
   let func = EventTarget.prototype.addEventListener;
@@ -383,10 +381,10 @@ VueAMap.initAMapApiLoader({
   plugin: ["AMap.Geolocation", "AMap.PlaceSearch", "AMap.Geocoder", "Geocoder"],
   v: "1.4.4",
 });
-import emptyPage from '@/components/emptyPage'
+import emptyPage from "@/components/emptyPage";
 export default {
   name: "addressManager",
-  components: { pagination,emptyPage },
+  components: { pagination, emptyPage },
   data() {
     let self = this;
     return {
@@ -423,27 +421,15 @@ export default {
       },
       selectOrganId: null, // 选中的分部编号
       rules: {
-        name: [
-          { required: true, message: "请输入教学点名称", trigger: "blur" },
-        ],
-        source: [
-          { required: true, message: "请选择教学点来源", trigger: "change" },
-        ],
-        remark: [
-          { required: true, message: "请输入租赁费用", trigger: "blur" },
-        ],
-        address: [
-          { required: true, message: "请选择上课地点", trigger: "blur" },
-        ],
+        name: [{ required: true, message: "请输入教学点名称", trigger: "blur" }],
+        source: [{ required: true, message: "请选择教学点来源", trigger: "change" }],
+        remark: [{ required: true, message: "请输入租赁费用", trigger: "blur" }],
+        address: [{ required: true, message: "请选择上课地点", trigger: "blur" }],
         cooperationOrganId: [
           { required: true, message: "请选择合作单位", trigger: "change" },
         ],
-        organId: [
-          { required: true, message: "请选择所属分部", trigger: "change" },
-        ],
-        subsidy: [
-          { type: "number", message: "课酬补贴只能为数字", trigger: "blur" },
-        ],
+        organId: [{ required: true, message: "请选择所属分部", trigger: "change" }],
+        subsidy: [{ type: "number", message: "课酬补贴只能为数字", trigger: "blur" }],
       },
       events: {
         init(o) {},
@@ -475,8 +461,9 @@ export default {
       cooperationList: [], // 合作单位列表
       searchValue: "测试",
       activeAddress: {},
-      context:'教学点是乐团、VIP课线下课的教学位置,不同分部可创建不同的教学点,线下课排课时需选择教学点,老师需在课程教学点的定位范围内完成考勤。教学点可设置合作单位提供、租赁两种方式。',
-      contextFlag:false
+      context:
+        "教学点是乐团、VIP课线下课的教学位置,不同分部可创建不同的教学点,线下课排课时需选择教学点,老师需在课程教学点的定位范围内完成考勤。教学点可设置合作单位提供、租赁两种方式。",
+      contextFlag: false,
     };
   },
   mounted() {
@@ -585,7 +572,7 @@ export default {
       AMap.plugin(["AMap.Geocoder"], function () {
         geocoder = new AMap.Geocoder();
       });
-           let that = this;
+      let that = this;
       geocoder.getAddress(pois[0].location, function (status, result) {
         if (status === "complete" && result.regeocode) {
           result.regeocode.lnglat = pois[0].location;
@@ -615,8 +602,7 @@ export default {
     },
     getpoient(e) {
       // let geocoder = new AMap.Geocoder()
-      this.onSearchResult([{ location:e.lnglat}]);
-
+      this.onSearchResult([{ location: e.lnglat }]);
     },
     markerEvents() {
       // marker 事件添加
@@ -644,7 +630,7 @@ export default {
       };
       schoolQueryPage(params).then((res) => {
         if (res.code == 200 && res.data) {
-          this.contextFlag = true
+          this.contextFlag = true;
           this.tableList = res.data.rows;
           this.pageInfo.total = res.data.total;
         }
@@ -777,6 +763,22 @@ export default {
       };
       this.search();
     },
+    onExport() {
+      const { ...rest } = this.searchForm;
+      Export(
+        this,
+        {
+          url: "/api-web/export/exportSchoolList",
+          fileName: "教学点.xls",
+          method: "post",
+          params: qs.stringify({
+            visitFlag: this.$route.query.visitFlag,
+            ...rest,
+          }),
+        },
+        "您确定导出教学点?"
+      );
+    },
   },
 };
 </script>
@@ -798,8 +800,8 @@ export default {
   }
 }
 .addMapBtn {
-    background-color: var(--color-primary)!important;
-    color: #fff!important;
+  background-color: var(--color-primary) !important;
+  color: #fff !important;
 }
 .el-input-group__append {
   background: #f5f7fa;

+ 10 - 30
src/views/withdrawal-application/index.vue

@@ -45,11 +45,7 @@
         </el-form-item>
 
         <el-form-item>
-          <el-select
-            v-model="searchForm.status"
-            clearable
-            placeholder="请选择状态"
-          >
+          <el-select v-model="searchForm.status" clearable placeholder="请选择状态">
             <el-option
               v-for="(item, key) in withdrawalStatus"
               :key="key"
@@ -90,27 +86,19 @@
         :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
         @selection-change="handleSelectionChange"
       >
-        <el-table-column
-          type="selection"
-          width="55"
-          :selectable="checkSeleabled"
-        >
+        <el-table-column type="selection" width="55" :selectable="checkSeleabled">
         </el-table-column>
         <el-table-column prop="userId" label="学员编号">
           <copy-text slot-scope="scope">{{ scope.row.userId }}</copy-text>
         </el-table-column>
         <el-table-column prop="userId" label="学员姓名">
-          <copy-text slot-scope="scope">{{
-            scope.row.user.username
-          }}</copy-text>
+          <copy-text slot-scope="scope">{{ scope.row.user.username }}</copy-text>
         </el-table-column>
         <el-table-column prop="organName" label="所属分部">
           <div slot-scope="scope">{{ scope.row.musicGroup.organName }}</div>
         </el-table-column>
         <el-table-column prop="musicGroupId" label="所属乐团">
-          <copy-text slot-scope="scope">{{
-            scope.row.musicGroup.name
-          }}</copy-text>
+          <copy-text slot-scope="scope">{{ scope.row.musicGroup.name }}</copy-text>
         </el-table-column>
 
         <el-table-column prop="createTime" label="申请时间">
@@ -148,9 +136,7 @@
             <div>
               {{ scope.row.status | withdrawalStatus }}
               <span v-if="scope.row.status == 'PROCESSING'"
-                >({{
-                  scope.row.currentApproveRole == 1 ? "分部经理" : "乐团主管"
-                }})</span
+                >({{ scope.row.currentApproveRole == 1 ? "分部经理" : "乐团主管" }})</span
               >
             </div>
           </template>
@@ -170,9 +156,7 @@
             <div>
               <el-button
                 type="text"
-                v-if="
-                  permission('musicGroupQuit/quitMusicGroup/quit') && isManage
-                "
+                v-if="permission('musicGroupQuit/quitMusicGroup/quit') && isManage"
                 :disabled="
                   scope.row.status != 'PROCESSING' ||
                   scope.row.status == 'DENIED' ||
@@ -189,9 +173,7 @@
               >
               <el-button
                 type="text"
-                v-if="
-                  permission('musicGroupQuit/quitMusicGroup/quit') && isManage
-                "
+                v-if="permission('musicGroupQuit/quitMusicGroup/quit') && isManage"
                 :disabled="
                   !(
                     scope.row.status != 'PROCESSING' ||
@@ -256,9 +238,7 @@
               <p>退还课程费用:缴费总额-已结束课时单价之和</p>
               <p>退还乐器费用:报名缴费时缴纳的乐器费用(团购、租金)</p>
               <p>退还教辅费用:报名缴费时缴费的教辅费用</p>
-              <p v-if="$helpers.tenantId == 1">
-                退还乐保费用:报名缴费时缴费的乐保费用
-              </p>
+              <p v-if="$helpers.tenantId == 1">退还乐保费用:报名缴费时缴费的乐保费用</p>
             </div>
             <el-button
               type="text"
@@ -373,10 +353,10 @@ export default {
     that = this;
     let isSuperAdmin = this.$store.getters.isSuperAdmin;
     let roles = this.$store.getters.roles; // 岗位
-    let newRoles = this.$store.getters.newRoles  // 角色  这里判断一半岗位 一半角色 深水炸弹!!!!!  危险 危险 危险
+    let newRoles = this.$store.getters.newRoles; // 角色  这里判断一半岗位 一半角色 深水炸弹!!!!!  危险 危险 危险
     await this.$store.dispatch("setBranchs");
     if (isSuperAdmin || newRoles.indexOf(150) != -1) {
-      console.log('isSuperAdmin')
+      console.log("isSuperAdmin");
       this.isManage = "super";
     } else {
       if (roles.indexOf("1") != -1) {