Browse Source

前端代码合并提交

Administrator 3 years ago
parent
commit
cb50450029

+ 3 - 0
src/views/Home.vue

@@ -451,6 +451,9 @@ export default {
   methods: {
     // 退出登录
     Logout() {
+      const formData = new FormData();
+      formData.append("token",sessionStorage.getItem('token'));
+      this.$http.post('auth/login/loginOut', formData);
       // 提示退出成功
       this.$message.success('退出成功');
       // 1 清除token

+ 24 - 0
src/views/platform/apply/selfCarTrade.vue

@@ -30,6 +30,7 @@
                  <el-date-picker v-model="formCondition.exTimeBegin" type="datetimerange" value-format="yyyy-MM-dd HH:mm:SS" range-separator="至" start-placeholder="交易时间始" end-placeholder="交易时间止"></el-date-picker>
                  <el-date-picker v-model="formCondition.aclTimeBegin" type="datetimerange" value-format="yyyy-MM-dd HH:mm:SS" range-separator="至" start-placeholder="申请开票时间始" end-placeholder="申请开票时间止"></el-date-picker>
                <el-button type="success" style="margin-left: 1%;" @click="firstLoadData">查询</el-button>
+                <el-button type="success" style="margin-left: 1%;" @click="loadDataUpper">查询上游</el-button>
                               <el-button type="primary" style="margin-left: 1%;" @click="exportExcel">导出报表</el-button>
               </div>
             </div>
@@ -152,6 +153,29 @@ import XLSX from "xlsx";
             this.pagesize = 8;
             this.loadData();
           },
+          loadDataUpper(){
+            this.current = 1;
+            this.pagesize = 8;
+            this.loadDataUpper();
+          },
+           // 列表展示
+          async loadDataUpper() {
+            const formData = new FormData();
+            formData.append('current', this.current);
+            formData.append('size', this.pagesize);
+            for(var i in this.formCondition){
+                formData.append(i,this.formCondition[i]);
+            }
+            const response = await this.$http.post(`selfCar/findTradesUpper`, formData);
+            if (response.data.code === 0) {
+              this.selfcarTrade = response.data.data.records;
+              this.total = response.data.data.total;
+            }else{
+              debugger
+               this.$message(response.data.msg);
+   
+            }
+          },
           // 列表展示
           async loadData() {
             const formData = new FormData();

+ 99 - 43
src/views/selfCar/invoice.vue

@@ -214,6 +214,7 @@
 </template>
 <script type="text/javascript">
 import FileSaver from "file-saver";
+import CsvExportor from "csv-exportor";
 import XLSX from "xlsx";
       export default {
         data(){
@@ -401,49 +402,104 @@ importExcel (content) {
               }
             }
           },
-       async     exportExcel() {
-       const loading = this.$loading({
-                             lock: true,
-                             text: '系统正在努力接收中,过程大概需要几分钟的时间,请您耐心等待...',
-                             spinner: 'el-icon-loading',
-                             background: 'rgba(0, 0, 0, 0.7)'
-                           });
-         let curr = this.current;
-      let pagesize1 = this.pagesize;
-      this.current = 1;
-      this.pagesize = this.total;
-      await this.loadData();
-      // 设置当前日期
-      let time = new Date();
-      let year = time.getFullYear();
-      let month = time.getMonth() + 1;
-      let day = time.getDate();
-      let name = "自有车发票查询列表_"+year + "" + month + "" + day;
-      /* generate workbook object from table */
-      //  .table要导出的是哪一个表格
-      var wb = XLSX.utils.table_to_book(document.querySelector(".table"),{ raw: true });
-      this.formartNum(wb);
-      /* get binary string as output */
-      var wbout = XLSX.write(wb, {
-        bookType: "xlsx",
-        bookSST: true,
-        type: "array"
-      });
-      try {
-        //  name+'.xlsx'表示导出的excel表格名字
-        FileSaver.saveAs(
-          new Blob([wbout], { type: "application/octet-stream" }),
-          name + ".xlsx"
-        );
-      } catch (e) {
-        if (typeof console !== "undefined") console.log(e, wbout);
-      }
-       this.current = curr;
-      this.pagesize = pagesize1;
-      this.loadData();
-      loading.close();
-      return wbout;
-    },
+    async  exportExcel() {
+            const loading = this.$loading({
+                               lock: true,
+                               text: '系统正在努力接收中,过程大概需要几分钟的时间,请您耐心等待...',
+                               spinner: 'el-icon-loading',
+                               background: 'rgba(0, 0, 0, 0.7)'
+                             });
+            var recodes = [];  
+            debugger;               
+            for(var j=1;j<=this.total/10000+1;j++){ 
+              
+              const formData = new FormData();
+              formData.append('current', j);
+              formData.append('size', 10000);
+              for(var i in this.formCondition){
+                  formData.append(i,this.formCondition[i]);
+              }
+              const response = await this.$http.post('selfCar/findSelfCarInvoices', formData);
+               if (response.data.code === 0) {
+                recodes = recodes.concat(response.data.data.records);
+                }
+            }
+           
+               // 设置当前日期
+                    let time = new Date();
+                    let year = time.getFullYear();
+                    let month = time.getMonth() + 1;
+                    let day = time.getDate();
+                    let name = "自有车发票查询列表_"+year + "" + month + "" + day;
+                    let cloums = [
+                     {"title":"企业编号","key":"companyNum"},
+                      {"title":"公司名称","key":"buyerName"},
+                      {"title":"购方税号","key":"buyerTaxpayerCode"},
+                      {"title":"车牌号码","key":"plateNum"},
+                      {"title":"etc卡号","key":"cardId"},
+					            {"title":"交易Id","key":"tradeId"},
+                      {"title":"销方税号","key":"sellerTaxpayerCode"},
+                      {"title":"销方名称","key":"sellerName"},
+                      {"title":"入口收费站","key":"enStation"},
+                      {"title":"出口收费站","key":"exStation"},
+                      {"title":"发票代码","key":"invoiceCode"},
+                      {"title":"发票号码","key":"invoiceNum"},
+                      {"title":"开票时间","key":"invoiceMakeTime"},      
+                      {"title":"交易时间","key":"exTime"},
+                      {"title":"交易金额(元)","key":"fee"},
+                      {"title":"价税合计(元)","key":"totalAmount"},
+                      {"title":"税额(元)","key":"totalTaxAmount"},
+                      {"title":"金额(元)","key":"amount"},
+                      {"title":"税率","key":"taxRate"},
+                      {"title":"扣费时间","key":"calculateTime"},
+                      {"title":"交易状态","key":"tradeStatus"},
+                      {"title":"预览地址","key":"invoiceHtmlUrl"},
+                      {"title":"下载地址","key":"invoiceUrl"}  
+                         
+                    ];
+                    this.exportExcelComm(cloums,recodes,name,loading)
+            
+          },
+          formatJson (filterVal, jsonData) {
+            return jsonData.map(v => filterVal.map(j => {
+             if(j == 'tradeStatus'){
+                 if(v[j] == 1){
+                   return "待开票";
+                 } else if(v[j] == 2){
+                   return "开票中";
+                 }else if(v[j] == 3){
+                   return "开票完成";
+                 }
+              }else if(j =='fee'){
+                  return v[j]/100;
+              }else if(j =='totalAmount'){
+                  return v[j]/100;
+              }else if(j =='totalTaxAmount'){
+                  return v[j]/100;
+              }else if(j =='amount'){
+                  return v[j]/100;
+              }else if(j=='sellerTaxpayerCode' || j=='cardId' ){
+                 return v[j]+'\t';
+              }else{
+                  return v[j];
+              }
+              
+              }));
+          },
+          // 导出Excel
+          exportExcelComm(columns,list,excelName,loading){
+                  let tHeader = []
+                      let filterVal = []
+                      columns.forEach(item =>{
+                          tHeader.push(item.title)
+                          filterVal.push(item.key)
+                      })
+                     
+                     const data = this.formatJson(filterVal,list);
+                      data.unshift(tHeader);
+                     CsvExportor.downloadCsv(data, { tHeader }, excelName+".csv");
+                      loading.close();
+            }
         }
       };
 </script>

+ 12 - 1
src/views/selfCar/selfCarTrade.vue

@@ -171,10 +171,21 @@ import XLSX from "xlsx";
             this.loadData();
           },
           async update(){
-            if(this.multipleSelection.length == 0){return};
+            var loading = null;
+            if(this.multipleSelection.length == 0){
+                loading = this.$loading({
+                          lock: true,
+                          text: '全量更新中,速度较慢,请您耐心等待...',
+                          spinner: 'el-icon-loading',
+                          background: 'rgba(0, 0, 0, 0.7)'
+                        });
+            };
              const formData = new FormData();
             formData.append('selfCarTradesStr', JSON.stringify(this.multipleSelection));
                const response = await this.$http.post(`selfCar/updateTrades`, formData);
+            if(this.multipleSelection.length == 0){
+                loading.close();
+            };
                this.loadData();
                 this.$message({
                       type: 'success',

+ 12 - 1
src/views/selfCar/selfCarTradeException.vue

@@ -170,8 +170,19 @@ import XLSX from "xlsx";
                        this.multipleSelection = value;
            },
             async update(){
-            if(this.multipleSelection.length == 0){return};
+               var loading = null;
+            if(this.multipleSelection.length == 0){
+                loading = this.$loading({
+                          lock: true,
+                          text: '全量更新中,速度较慢,请您耐心等待...',
+                          spinner: 'el-icon-loading',
+                          background: 'rgba(0, 0, 0, 0.7)'
+                        });
+            };
                const response = await this.$http.post(`selfCar/updateTrades`, this.multipleSelection);
+               if(this.multipleSelection.length == 0){
+                loading.close();
+            };
                this.loadData();
                 this.$message({
                       type: 'success',