Explorar o código

导入导出

1
mo %!s(int64=3) %!d(string=hai) anos
pai
achega
1dffdd0c16
Modificáronse 1 ficheiros con 61 adicións e 2 borrados
  1. 61 2
      src/views/teamBuild/signupList.vue

+ 61 - 2
src/views/teamBuild/signupList.vue

@@ -78,7 +78,7 @@
           </auth>
           <div
             class="newBand"
-              style="background-color: #f97215; border: 1px solid #f97215"
+            style="background-color: #f97215; border: 1px solid #f97215"
             @click="onCreateQRCode('payment')"
             v-show="
               (status == 'PAY' ||
@@ -90,7 +90,7 @@
           >
             报名链接
           </div>
-               <div
+          <div
             class="newBand"
             style="background-color: #f97215; border: 1px solid #f97215"
             @click="onCreateQRCode('rePayment')"
@@ -520,6 +520,22 @@
         </el-form-item>
       </save-form>
     </div>
+    <div class="btnList" style="margin-bottom: 20px"   v-if="status == 'PAY'">
+      <el-button type="primary" @click="onDownload" v-permission="'import/downloadTemplate4907'">下载模板</el-button>
+      <el-upload
+        v-permission="'import/routeOrder/taoqi'"
+        style="display: inline-block; margin-left: 10px"
+        :action="`/api-web/import/studentToMusicGroup?musicGroupId=${id}`"
+        :show-file-list="false"
+        :before-upload="beforeUpload"
+        accept=".xlsx,.xls"
+        :headers="headers"
+        :on-error="handleError"
+        :on-success="handleSuccess"
+      >
+        <el-button type="primary"> 学员导入 </el-button>
+      </el-upload>
+    </div>
     <div>
       <el-table
         :data="rightList"
@@ -1142,6 +1158,7 @@ import visit from "@/views/withdrawal-application/modals/visit";
 import quiteTeam from "@/views/teamDetail/components/modals/quite-team";
 import { courseType } from "@/constant/index";
 import parentsMeeting from "./modals/parentsMeeting";
+import { Export } from "@/utils/downLoadFile";
 export default {
   name: "signupList",
   components: {
@@ -1157,6 +1174,10 @@ export default {
   },
   data() {
     return {
+      headers: {
+        Authorization: getToken(),
+        tenantId: getTenantId(),
+      },
       multipleSelection: [], //
       forecastVisible: false, // 预报名状态
       newForecastVisible: false,
@@ -1395,6 +1416,44 @@ export default {
       // 通过乐团id获取乐团学生列表
       this.getList();
     },
+    onDownload() {
+      // 下载模板
+      // // 报表导出
+      Export(this, {
+        url: "/api-web/import/downloadTemplate",
+        params: {
+          templateType: "EXTERNAL_STUDENT_IMPORT_MUSIC_GROUP",
+        },
+        fileName: "学员导入模板.xls",
+      });
+    },
+    beforeUpload(file) {
+      load.startLoading();
+    },
+    handleError(err, file, fileList) {
+      load.endLoading();
+    },
+    handleSuccess(response, file, fileList) {
+      // 导入商品
+      // 报表导出
+      load.endLoading();
+      if (response.code == 200) {
+        this.$message.success("导入成功");
+        this.getList()
+      } else if (response.code == 0) {
+        let str = this.fomatStr(response.msg);
+        this.$alert(str, "导入结果", {
+          confirmButtonText: "确定",
+          dangerouslyUseHTMLString: true,
+          callback: (action) => {
+            this.getList()
+          },
+        });
+      } else {
+        console.log('response',response)
+        this.$message.error(response.msg);
+      }
+    },
     async getAgreement() {
       try {
         const res = await getAgreement();