ソースを参照

上传养老金excel文件解析

lzj 1 年間 前
コミット
7a89c9e197
共有2 個のファイルを変更した115 個の追加20 個の削除を含む
  1. 7 0
      src/api/user.js
  2. 108 20
      src/views/mvGzcLog/index.vue

+ 7 - 0
src/api/user.js

@@ -94,6 +94,13 @@ export function createMerchant(data) {
94 94
   return request.post(`/mv-merchant/createObj`, data)
95 95
 }
96 96
 /**
97
+ * @description 上传养老金excel
98
+ */
99
+export function uploadPension(data) {
100
+  return request.post(`/mv-gzc-logs/uploadPension`, data , {timeout:24*60*60*1000});
101
+  // return request.post(`/mv-gzc-logs/uploadPension`, data);
102
+}
103
+/**
97 104
  * @description 查询入账公证处明细列表
98 105
  */
99 106
 export function getMvGzcLogsList(data) {

+ 108 - 20
src/views/mvGzcLog/index.vue

@@ -44,8 +44,17 @@
44 44
          >
45 45
             搜索
46 46
          </el-button>
47
+
48
+              <el-button
49
+                class="filter-item"
50
+                type="primary"
51
+                icon="el-icon-upload"
52
+                @click="onUpload()"
53
+              >
54
+                养老金excel文件上传
55
+              </el-button>
47 56
             </el-form-item>
48
-            
57
+
49 58
           </el-form>
50 59
         </div>
51 60
       </div>
@@ -87,7 +96,7 @@
87 96
                <span>{{ row.password }}</span>
88 97
             </template>
89 98
          </el-table-column> -->
90
-         
99
+
91 100
          <el-table-column label="单号"  align="center">
92 101
             <template slot-scope="{ row }">
93 102
                <span>{{ row.outTradeNo }}</span>
@@ -158,11 +167,11 @@
158 167
                <span>{{ row.wxpayAccount }}</span>
159 168
             </template>
160 169
          </el-table-column>
161
-        
162
-         
170
+
171
+
163 172
         <el-table-column prop="createTime" label="创建时间" min-width="150" />
164 173
         <el-table-column prop="updateTime" label="修改时间" min-width="100" />
165
-        
174
+
166 175
          <!-- <el-table-column label="最后登录时间" width="150px" align="center">
167 176
             <template slot-scope="{ row }">
168 177
                <span>{{
@@ -179,7 +188,7 @@
179 188
             fixed="right"
180 189
          >
181 190
             <template slot-scope="{ row }">
182
-              
191
+
183 192
 
184 193
                <el-button
185 194
                   type="primary"
@@ -204,7 +213,7 @@
204 213
                      </el-button>
205 214
                   </el-popconfirm>
206 215
                </template>
207
-               
216
+
208 217
             </template>
209 218
          </el-table-column>     -->
210 219
             </el-table>
@@ -230,7 +239,7 @@
230 239
             label-width="120px"
231 240
             style="width: 400px; margin-left: 50px"
232 241
          >
233
-            
242
+
234 243
             <el-form-item label="姓名" prop="realname">
235 244
                <el-input v-model="temp.realname" />
236 245
             </el-form-item>
@@ -267,13 +276,60 @@
267 276
             </el-button>
268 277
          </div>
269 278
       </el-dialog>
279
+
280
+      <!-- 上传页面 -->
281
+      <el-dialog :title="'养老金excel文件上传'" :visible.sync="dialogUploadFormVisible">
282
+        <el-form
283
+          ref="dataUploadForm"
284
+          :model="temp"
285
+          label-position="left"
286
+          label-width="120px"
287
+          style="width: 400px; margin-left: 50px"
288
+        >
289
+          <el-form-item label="文件" prop="fileList">
290
+            <el-upload
291
+              ref="upload"
292
+              action="/admin/mv-gzc-logs/uploadPension"
293
+              :file-list="fileList"
294
+              :auto-upload="false"
295
+              :on-change="handleChange"
296
+              :limit="1"
297
+              :accept="'.xlsx,.xls'"
298
+            >
299
+              <el-button slot="trigger" size="small" type="primary">选择文件</el-button>
300
+              <div slot="tip" class="el-upload__tip">只能上传.xlsx和.xls文件</div>
301
+            </el-upload>
302
+          </el-form-item>
303
+        </el-form>
304
+
305
+        <!-- 弹窗底部按钮 -->
306
+        <div slot="footer" class="dialog-footer">
307
+          <el-button @click="dialogUploadFormVisible = false">
308
+            取消
309
+          </el-button>
310
+          <el-button
311
+            type="primary"
312
+            @click="submitUpload()"
313
+          >
314
+            确定
315
+          </el-button>
316
+        </div>
317
+      </el-dialog>
270 318
     </div>
271 319
   </template>
272
-  
320
+
273 321
   <script>
274
-  import { getMvMerchantList,getMvMerchantDetail,delMerchant,createMerchant,getMvGzcLogsList } from "@/api/user";
322
+  import {
323
+    getMvMerchantList,
324
+    getMvMerchantDetail,
325
+    delMerchant,
326
+    createMerchant,
327
+    getMvGzcLogsList,
328
+    uploadPension
329
+  } from "@/api/user";
275 330
   import { roterPre } from "@/settings";
276
-  
331
+  import { Loading } from 'element-ui';
332
+
277 333
   export default {
278 334
     filters: {
279 335
       showAccountType(e){
@@ -286,13 +342,16 @@
286 342
          } else {
287 343
           return "";
288 344
          }
289
-      },    
345
+      },
290 346
     },
291 347
     data() {
292 348
       return {
293 349
         temp:{},
294 350
         dialogStatus:'add',
295 351
         dialogFormVisible:false,
352
+        dialogUploadFormVisible:false,
353
+        loadingInstance:null,
354
+        fileList: [],
296 355
         //  日期选择限制
297 356
         pickerOptions0: {
298 357
             disabledDate: (time) => {
@@ -359,7 +418,7 @@
359 418
       };
360 419
     },
361 420
     mounted() {
362
-        
421
+
363 422
 
364 423
         // this.getUserList();
365 424
         // this.getRefundData();
@@ -401,7 +460,7 @@
401 460
         this.$message.info(res.message);
402 461
       }).catch(res => {
403 462
             this.$message.error(res.message);
404
-           
463
+
405 464
       });
406 465
     },
407 466
       // 表格退货
@@ -475,6 +534,36 @@
475 534
             this.listLoading = false;
476 535
           });
477 536
       },
537
+      // 上传
538
+      onUpload() {
539
+        this.fileList = [];
540
+        this.dialogUploadFormVisible = true;
541
+      },
542
+      handleChange(file, fileList) {
543
+        this.fileList = fileList;
544
+      },
545
+      submitUpload() {
546
+       // console.log('submitUpload',this.fileList);
547
+        // 显示加载状态
548
+        this.loadingInstance = Loading.service({
549
+          lock: true,
550
+          text: '正在解析中...',
551
+          background: 'rgba(0, 0, 0, 0.7)'
552
+        });
553
+        const formData = new FormData();
554
+        formData.append('file', this.fileList[0].raw); // 假设 `file` 是你的文件对象
555
+        uploadPension(formData).then(() => {
556
+          this.dialogUploadFormVisible = false;
557
+          this.$notify({
558
+            title: "成功",
559
+            message: "上传成功",
560
+            type: "success",
561
+            duration: 2000,
562
+          });
563
+          // 文件处理完成后,隐藏加载状态
564
+          this.loadingInstance.close();
565
+        });
566
+      },
478 567
       pageChange(page) {
479 568
         this.tableFrom.pageNum = page;
480 569
         this.getList();
@@ -486,18 +575,18 @@
486 575
     }
487 576
   };
488 577
   </script>
489
-  
578
+
490 579
   <style lang="scss" scoped>
491
-     
580
+
492 581
   p{
493 582
     margin: 0;
494 583
     padding: 0;
495 584
   }
496 585
   .daada{
497
-   
586
+
498 587
   margin-bottom: 30px;
499 588
     display: flex;
500
-   
589
+
501 590
   }
502 591
   .contain-count{
503 592
     display: flex;
@@ -511,7 +600,7 @@
511 600
   /deep/ .el-table tr{
512 601
     height: 50px;
513 602
   }
514
-  
603
+
515 604
   .all_box {
516 605
     margin-left: 30px;
517 606
     width: 240px;
@@ -705,4 +794,3 @@
705 794
     max-width: 180px;
706 795
   }
707 796
   </style>
708
-