Selaa lähdekoodia

下载文件修改

wangtao 3 vuotta sitten
vanhempi
commit
44aea5fe06

+ 24 - 24
src/views/recharge/cash/index.vue

@@ -158,32 +158,32 @@ export default {
 
     /** 提交按钮 */
     submitForm(row) {
-      // this.form.payType = 1
-      // if(this.form.money == 0){
-      //   this.msgError("充值金额不能为0元")
-      // }else{
-      //   this.$refs["form"].validate(valid => {
-      //     if (valid) {
+      this.form.payType = 1
+      if(this.form.money == 0){
+        this.msgError("充值金额不能为0元")
+      }else{
+        this.$refs["form"].validate(valid => {
+          if (valid) {
 
-      //       this.loading = true
+            this.loading = true
 
-      //       this.formSubmit.userPhone = this.form.userPhone
-      //       this.formSubmit.userName = this.form.userName
-      //       this.formSubmit.money = Number(this.form.money).toFixed(2)
-      //       this.formSubmit.payType = this.form.payType
-      //       this.formSubmit.userId = this.form.userId
-      //       this.formSubmit.userId = this.form.userId
-      //       if (this.form.payType === 1) { //后台现金
-      //         order(this.formSubmit).then(response => {
-      //           this.msgSuccess("已生成支付订单");
-      //           this.codeUrl = '';
-      //           this.loading = false
-      //         });
-      //       }
-      //       this.reset()
-      //     }
-      //   })
-      // }
+            this.formSubmit.userPhone = this.form.userPhone
+            this.formSubmit.userName = this.form.userName
+            this.formSubmit.money = Number(this.form.money).toFixed(2)
+            this.formSubmit.payType = this.form.payType
+            this.formSubmit.userId = this.form.userId
+            this.formSubmit.userId = this.form.userId
+            if (this.form.payType === 1) { //后台现金
+              order(this.formSubmit).then(response => {
+                this.msgSuccess("已生成支付订单");
+                this.codeUrl = '';
+                this.loading = false
+              });
+            }
+            this.reset()
+          }
+        })
+      }
     },
     // 表单重置
     reset() {

+ 2 - 43
src/views/recharge/detailed/index.vue

@@ -180,6 +180,8 @@ export default {
         topChannelName: undefined,
         startMoney: undefined,
         endMoney: undefined,
+        startTime:undefined,
+        endTime:undefined,
       },
       // 表单参数
       form: {},
@@ -264,50 +266,7 @@ export default {
         localStorage.setItem('fileExportId', response.data)
         this.$router.push({path:'/recharge/fileExport'})
       })
-      // this.$confirm('是否确认导出数据?', "警告", {
-      //   confirmButtonText: "确定",
-      //   cancelButtonText: "取消",
-      //   type: "warning"
-      // }).then(() => {
-      //   this.exportLoading = true;
-      //   return exportDetail(queryParams);
-      // }).then(res => {
-      //   this.downloadBlob(res)
-      //   this.exportLoading = false;
-      // }).catch(() => {
-      //   this.exportLoading = false;
-      // });
     }
-
-    //   exportDetail(queryParams).then(res => {
-    //       this.$router.push({path:'/recharge/detailed'})
-    //       localStorage.setItem('fileExportId', msg)
-    //       // // this.downloadBlob(res)
-    //       // this.exportLoading = false;
-    //     }).catch(() => {
-    //       // this.exportLoading = false;
-    //     });
-    //     // exportDetail(queryParams).then(response =>{
-    //     //   this.$router.push({path:'/recharge/detailed'})
-    //     //   localStorage.setItem('fileExportId', msg)
-    //     // }).catch(err =>{
-
-    //     // })
-    //     // localStorage.setItem("timeout","大于10s")
-    //   //  this.$confirm('是否确认导出数据?', "警告", {
-    //   //     confirmButtonText: "确定",
-    //   //     cancelButtonText: "取消",
-    //   //     type: "warning"
-    //   //   }).then(() => {
-    //   //     this.exportLoading = true;
-    //   //     return exportDetail(queryParams);
-    //   //   }).then(res => {
-    //   //     // this.downloadBlob(res)
-    //   //     this.exportLoading = false;
-    //   //   }).catch(() => {
-    //   //     this.exportLoading = false;
-    //   //   });
-    // },
   }
 };
 </script>

+ 45 - 87
src/views/recharge/fileExport/index.vue

@@ -29,27 +29,38 @@
 
     <el-table v-loading="loading" :data="adminList" height="calc(100vh - 10vh - 120px)">
       <el-table-column label="id" align="center" prop="id"  show-overflow-tooltip />
-      <el-table-column label="类别" align="center" prop="resultType"  show-overflow-tooltip />
       <el-table-column label="文件名称" align="center" prop="funcType"  show-overflow-tooltip />
-      <el-table-column label="开始时间" align="center" prop="startTime"  show-overflow-tooltip />
-      <el-table-column label="结束时间" align="center" prop="endTime"  show-overflow-tooltip />
+      <el-table-column label="文件大小" align="center" prop="fileSize"  show-overflow-tooltip >
+        <template slot-scope="scope">
+          <span v-if = "scope.row.fileSize">{{(scope.row.fileSize / 1024).toFixed(2)}}Kb</span>
+          <span v-if = "!scope.row.fileSize"></span>
+        </template>
+      </el-table-column>
+      <el-table-column label="任务开始时间" align="center" prop="startTime"  show-overflow-tooltip />
+      <el-table-column label="任务结束时间" align="center" prop="endTime"  show-overflow-tooltip />
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width"  show-overflow-tooltip >
         <template slot-scope="scope">
-          <el-button v-if ="scope.row.isSuccess == true"
+          <el-button v-if ="scope.row.isSuccess && scope.row.url && scope.row.activeFlag == '1' && scope.row.delFlag == '0'"
             size="mini"
             type="text"
             icon="el-icon-bottom"
             @click="handleExport(scope.row)"
+            :loading="exportLoading"
           >下载</el-button>
           <span v-if="scope.row.isSuccess == false">
             <span v-if="scope.row.result == '' || scope.row.result == null">文件整理中...请稍后查看</span>
             <span else>{{scope.row.result}}</span>
           </span>
-
+          <el-button else-if
+            size="mini"
+            type="text"
+            icon="el-icon-bottom"
+            disabled
+            @click="handleExport(scope.row)"
+          >下载</el-button>
         </template>
       </el-table-column>
     </el-table>
-
     <pagination
       v-show="total>0"
       :total="total"
@@ -113,90 +124,35 @@ export default {
     getList() {
         this.loading = true;
         filelist(this.addDateRange(this.queryParams,this.dateRange,'section')).then(response => {
-            if(response.data.records.length>0){
-                this.total = response.data.total;
-                let arrBig = response.data.records
-                let arr = []
-                arr = response.data.records.map(item =>{
-                    return {
-                        batchNos:[item.result]
-                    }
-                })
-                for(let i=1;i<response.data.records.length; i++){
-                    arr[0].batchNos.push(response.data.records[i].result)
-                }
-                getFile(arr[0]).then(response =>{
-                    const reverse = response.data.reverse()
-                    for(let i=0;i<response.data.length;i++){
-                        arrBig[i].url = reverse[i].url
-                    }
-                })
-                    this.loading = false;
-                    this.adminList = arrBig;
-                    this.total = response.data.total;
-                }
-            // let has = response.data.records
-            // this.total = response.data.total;
-            // if(has.length>0){
-            //     let arr = has
-            //     let a = []
-            //     for(let i = 0;i<has.length;i++){
-            //         if(has[i].isSuccess == true){
-            //             a.push(has[i].result)
-            //         }
-            //     }
-            //     a = a.map(item =>{
-            //         return {
-            //             batchNos:[item]
-            //         }
-            //     })
-            //     // for(let i=1;i<response.data.records.length; i++){
-            //     //     arr[0].batchNos.push(response.data.records[i].result)
-            //     // }
-            //     getFile(a).then(response =>{
-            //         const reverse = response.data.reverse()
-            //         for(let i=0;i<response.data.length;i++){
-            //             arr[i] = reverse[i]
-            //         }
-            //         this.adminList = arr;
-            //         this.loading = false;
-            //     })
-
-            // }
+          this.total = response.data.total;
+          if(response.data.records.length>0){
+              let arrBig = response.data.records
+              let arr = []
+              arr = response.data.records.map(item =>{
+                  return {
+                      batchNos:[item.result]
+                  }
+              })
+              for(let i=1;i<response.data.records.length; i++){
+                  arr[0].batchNos.push(response.data.records[i].result)
+              }
+              getFile(arr[0]).then(response =>{
+                  const reverse = response.data
+                  for(let i=0;i<response.data.length;i++){
+                      arrBig[i].url = reverse[i].url
+                      arrBig[i].delFlag = reverse[i].delFlag
+                      arrBig[i].activeFlag = reverse[i].activeFlag
+                      arrBig[i].expriceAt = reverse[i].expriceAt
+                      arrBig[i].fileSize = reverse[i].fileSize
+                  }
+                  this.adminList = arrBig;
+                  this.loading = false;
+              })
+            }
         }).catch(err =>{
             this.loading = false;
         })
-        // filelist(this.addDateRange(this.queryParams,this.dateRange)).then(response => {
-        //     // let has = response.data.records
-        //     // this.total = response.data.total;
-        //     // if(has.length>0){
-        //     //     let arr = []
-        //     //     for(let i = 0;i<has.length;i++){
-        //     //         if(has[i].isSuccess == true){
-        //     //             arr.push(has[i].result)
-        //     //         }
-        //     //     }
-        //     //     arr = arr.map(item =>{
-        //     //         return {
-        //     //             batchNos:[item]
-        //     //         }
-        //     //     })
-        //     //     for(let i=1;i<response.data.records.length; i++){
-        //     //         arr[0].batchNos.push(response.data.records[i].result)
-        //     //     }
-        //     //     getFile(arr[0]).then(response =>{
-        //     //         const reverse = response.data.reverse()
-        //     //         for(let i=0;i<response.data.length;i++){
-        //     //             arr[i] = reverse[i]
-        //     //         }
-        //     //         this.adminList = arr;
-        //     //         this.loading = false;
-        //     //     })
 
-        //     // }
-        // }).catch(err =>{
-        //     this.loading = false;
-        // })
     },
     /** 搜索按钮操作 */
     handleQuery() {
@@ -208,7 +164,8 @@ export default {
       this.queryParams.startTime = undefined;
       this.queryParams.endTime = undefined;
       this.queryParams.endTime = undefined;
-      this.queryParams.type = 1
+      this.queryParams.asyncTaskId = undefined;
+      this.queryParams.userName = undefined;
       this.dateRange = [];
       this.resetForm("queryForm");
       this.handleQuery();
@@ -223,6 +180,7 @@ export default {
         a.click(); // 模拟点击了a标签,会触发a标签的href的读取,浏览器就会自动下载了
         a.remove();
     },
+
   }
 };
 </script>

+ 23 - 31
src/views/recharge/fileManagement/index.vue

@@ -41,43 +41,41 @@
       </el-form-item>
     </el-form>
 
-    <el-table v-loading="loading" :data="adminList" >
+    <el-table v-loading="loading" :data="adminList" height="calc(100vh - 10vh - 120px)">
       <el-table-column label="id" align="center" prop="id"  show-overflow-tooltip />
-      <el-table-column label="文件类别" align="center" prop="businessType"  show-overflow-tooltip />
       <el-table-column label="文件名称" align="center" prop="oriName"  show-overflow-tooltip />
       <el-table-column label="文件大小" align="center" prop="fileSize"  show-overflow-tooltip >
         <template slot-scope="scope">
-          {{scope.row.fileSize / 1024}}Kb
+          {{(scope.row.fileSize / 1024).toFixed(2)}}Kb
         </template>
       </el-table-column>
       <el-table-column label="上传时间" align="center" prop="createTime"  show-overflow-tooltip />
       <el-table-column label="文件失效时间" align="center" prop="expriceAt"  show-overflow-tooltip />
-      <el-table-column label="文件是否生效" align="center" prop="activeFlag"  show-overflow-tooltip >
+      <!-- <el-table-column label="文件是否生效" align="center" prop="activeFlag"  show-overflow-tooltip >
         <template slot-scope="scope">
-          <span :class="scope.row.activeFlag == '1' ? 'success' :  'danger'">{{scope.row.activeFlag == '1' ? '未生效' :  '生效'}}</span>
+          <span :class="scope.row.activeFlag == '0' ? 'danger' :  'success'">{{scope.row.activeFlag == '0' ? '未生效' :  '生效'}}</span>
         </template>
       </el-table-column>
       <el-table-column label="文件状态" align="center" prop="delFlag"  show-overflow-tooltip >
         <template slot-scope="scope">
-          <span :class="scope.row.delFlag == '1' ? 'success' :  'danger'">{{scope.row.delFlag == '1' ? '未删除' :  '删除'}}</span>
+          <span :class="scope.row.delFlag == '0' ? 'success' :  'danger'">{{scope.row.delFlag == '0' ? '未删除' :  '删除'}}</span>
         </template>
-      </el-table-column>
+      </el-table-column> -->
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width"  show-overflow-tooltip >
         <template slot-scope="scope">
-          <el-button v-if ="scope.row.url && scope.row.delFlag == '1'"
+          <el-button v-if ="scope.row.url && scope.row.delFlag == '0' && scope.row.activeFlag == '1'"
             size="mini"
             type="text"
             icon="el-icon-bottom"
             @click="handleExport(scope.row)"
           >下载</el-button>
-          <el-button v-if ="scope.row.url && scope.row.delFlag == '0'"
+          <el-button else-if
             size="mini"
             type="text"
             icon="el-icon-bottom"
             disabled
             @click="handleExport(scope.row)"
           >下载</el-button>
-
         </template>
       </el-table-column>
     </el-table>
@@ -146,6 +144,7 @@ export default {
       formData:undefined,
       limit:100,
       num:0,
+      form:{}
     };
   },
   created() {
@@ -164,31 +163,14 @@ export default {
     /** 查询参数列表 */
     getList() {
       this.loading = true;
-      console.log(this.dateRange)
       if(this.dateRange.length>0){
         this.queryParams.startTime = this.dateRange[0]
         this.queryParams.endTime = this.dateRange[1]
       }
-      console.log(this.queryParams)
       listRecharge(this.queryParams).then(response => {
-        if(response.data.records.length>0){
-          let arrBig = response.data.records
-          let arrr = []
-          for(let i =0;i<arrBig.length;i++){
-            if(arrBig[i].businessType == "充值表格"){
-              arrr.push(arrBig[i])
-            }
-          }
-          // setTimeout(()=>{
-            this.loading = false;
-            this.adminList = arrr;
-            this.total = response.data.total;
-          // },1000)
-
-        }else{
-          this.adminList = []
-          this.loading = false;
-        }
+        this.total = response.data.total;
+        this.adminList = response.data.records
+        this.loading = false;
       })
     },
 
@@ -337,7 +319,17 @@ export default {
       refreshCache().then(() => {
         this.msgSuccess("刷新成功");
       });
-    }
+    },
+    /** 导出按钮操作 */
+    handleExport(row) {
+        var a = document.createElement("a"); //创建一个<a></a>标签
+        a.href = row.url; // 给a标签的href属性值加上地址,注意,这里是绝对路径,不用加 点.
+        a.download = row.oriName; //设置下载文件文件名,这里加上.xlsx指定文件类型,pdf文件就指定.fpd即可
+        a.style.display = "none"; // 障眼法藏起来a标签
+        document.body.appendChild(a); // 将a标签追加到文档对象中
+        a.click(); // 模拟点击了a标签,会触发a标签的href的读取,浏览器就会自动下载了
+        a.remove();
+    },
   }
 };
 </script>

+ 36 - 30
src/views/recharge/personnel/index.vue

@@ -33,7 +33,11 @@
       </el-form-item>
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
-        <!-- <el-upload
+        <el-button type="primary" icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+        <el-button type="primary" icon="el-icon-refresh" size="mini" @click="synchroPersonnel" v-hasPermi="['recharge:batch:synchro']">人员信息同步</el-button>
+        <el-button type="primary" icon="el-icon-circle-plus-outline" size="mini" @click="batchChange(1)" v-hasPermi="['recharge:batch:binding']">批量绑定</el-button>
+        <el-button type="warning" icon="el-icon-remove-outline" size="mini" @click="batchChange(0)" v-hasPermi="['recharge:batch:relieve']">批量解除</el-button>
+        <el-upload
           ref="upload"
           class="upload-demo"
           action="#"
@@ -42,16 +46,10 @@
           :auto-upload="false"
           accept=".xlsx,.xls"
           style="display:inline-block;margin-left:10px;vertical-align: top;"
+          v-hasPermi="['recharge:batch:recharge']"
           >
-          <el-button size="mini" type="primary">上传充值文件</el-button>
-        </el-upload> -->
-      </el-form-item>
-      <el-form-item>
-        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
-        <el-button type="primary" icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
-        <el-button type="primary" icon="el-icon-refresh" size="mini" @click="synchroPersonnel">人员信息同步</el-button>
-        <el-button type="primary" icon="el-icon-circle-plus-outline" size="mini" @click="batchChange(1)">批量绑定</el-button>
-        <el-button type="warning" icon="el-icon-remove-outline" size="mini" @click="batchChange(0)">批量解除</el-button>
+          <el-button size="mini" type="warning">上传充值文件</el-button>
+        </el-upload>
       </el-form-item>
     </el-form>
     <el-table  :data="adminList" @selection-change="handleSelectionChange" height="calc(100vh - 10vh - 120px)">
@@ -85,20 +83,23 @@
         </template>
       </el-table-column>
     </el-table>
-    <!-- 添加或修改参数配置对话框 -->
-    <el-dialog   :title="title" :visible.sync="open" width="600px" append-to-body :before-close="cancel" :close-on-click-modal="false"  >
-      <el-form ref="queryParams" :model="queryParams"  :rules="rules" label-width="120px" >
-        <el-form-item label="到账比例:" prop="id">
-          <el-select v-model="queryParams.id" style="width: 240px" placeholder="请选择到账比例" clearable size="small" >
-            <el-option :label="`${item.identity}:${item.proportion}`"  :value="item.id" v-for="(item, index) in radioList" :key="index" />
-          </el-select>
-        </el-form-item>
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitForm" v-if="!loading">确 定</el-button>
-        <el-button :loading="loading" type="primary" @click="submitForm" v-else>提交中...</el-button>
-        <el-button @click="cancel">取 消</el-button>
-      </div>
+    <!-- 报表异常信息-->
+    <el-dialog   :title="title" :visible.sync="open" width="700px" append-to-body :before-close="cancel" :close-on-click-modal="false"  >
+      <el-table  :data="errList" @selection-change="handleSelectionChange" height="500px">
+      <el-table-column label="序号" align="left"  show-overflow-tooltip min-width="50px">
+        <template slot-scope="scop">
+          {{scop.$index+1}}
+        </template>
+      </el-table-column>
+      <el-table-column label="姓名" align="center" prop="userName"  show-overflow-tooltip />
+      <el-table-column label="手机号" align="center" prop="userPhone"  show-overflow-tooltip />
+      <el-table-column label="订单金额(元)" align="center" prop="money"  show-overflow-tooltip />
+      <el-table-column label="异常提示" align="center" prop="errorMessage"  show-overflow-tooltip min-width="150%">
+        <template slot-scope="scop">
+          <span class="danger ">{{scop.row.errorMessage}}</span>
+        </template>
+      </el-table-column>
+    </el-table>
     </el-dialog>
     <pagination
       v-show="total>0"
@@ -136,7 +137,7 @@ export default {
       // 参数表格数据
       adminList: [],
       // 弹出层标题
-      title: "",
+      title: "异常信息",
       // 是否显示弹出层
       open: false,
       // 类型数据字典
@@ -179,6 +180,7 @@ export default {
       num:0,
        // 文件显示
       fileList:[{"url":''}],
+      errList:[],//异常信息
     };
   },
   created() {
@@ -188,7 +190,6 @@ export default {
   methods: {
     //上传文件
     handleChange(param){
-      console.log(param)
       this.limit = 1
       this.num++
       if(this.num>1){
@@ -198,13 +199,18 @@ export default {
         let  data = new FormData()// FormData 对象
         data.append('file', param.raw)
         uploadFile(data).then(res=>{
-          if(res.status == "SUCCESS"){
+          if(res.status == "SUCCESS" && res.data.length>0){
+            this.msgSuccess('充值文件上传成功')
+            this.errList = res.data
+            this.open = true
+          }else if(res.status == "SUCCESS"){
             this.msgSuccess('充值文件上传成功')
-            this.$refs.upload.submit();
           }else{
-            this.$message.error(res.msg)
-          }
 
+          }
+          this.$refs.upload.submit();
+        }).catch(err=>{
+          this.$refs.upload.submit();
         })
       }
     },

BIN
项目文件/场地预约场景及功能原型设计.20220616.pdf