Browse Source

增加excel导出功能

MSY 3 years ago
parent
commit
2d5c8ca9cc

+ 116 - 0
package-lock.json

@@ -210,6 +210,15 @@
         }
       }
     },
+    "adler-32": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.2.0.tgz",
+      "integrity": "sha1-aj5r8KY5ALoVZSgIyxXGgT0aXyU=",
+      "requires": {
+        "exit-on-epipe": "~1.0.1",
+        "printj": "~1.1.0"
+      }
+    },
     "ajv": {
       "version": "5.5.2",
       "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
@@ -1805,6 +1814,16 @@
         "lazy-cache": "^1.0.3"
       }
     },
+    "cfb": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/cfb/-/cfb-1.2.0.tgz",
+      "integrity": "sha512-sXMvHsKCICVR3Naq+J556K+ExBo9n50iKl6LGarlnvuA2035uMlGA/qVrc0wQtow5P1vJEw9UyrKLCbtIKz+TQ==",
+      "requires": {
+        "adler-32": "~1.2.0",
+        "crc-32": "~1.2.0",
+        "printj": "~1.1.2"
+      }
+    },
     "chalk": {
       "version": "2.4.1",
       "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
@@ -2014,6 +2033,22 @@
       "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
       "dev": true
     },
+    "codepage": {
+      "version": "1.14.0",
+      "resolved": "https://registry.npmjs.org/codepage/-/codepage-1.14.0.tgz",
+      "integrity": "sha1-jL4lSBMjVZ19MHVxsP/5HnodL5k=",
+      "requires": {
+        "commander": "~2.14.1",
+        "exit-on-epipe": "~1.0.1"
+      },
+      "dependencies": {
+        "commander": {
+          "version": "2.14.1",
+          "resolved": "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz",
+          "integrity": "sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw=="
+        }
+      }
+    },
     "collection-visit": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
@@ -2288,6 +2323,15 @@
         }
       }
     },
+    "crc-32": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.0.tgz",
+      "integrity": "sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==",
+      "requires": {
+        "exit-on-epipe": "~1.0.1",
+        "printj": "~1.1.0"
+      }
+    },
     "create-ecdh": {
       "version": "4.0.3",
       "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz",
@@ -3636,6 +3680,11 @@
         "strip-eof": "^1.0.0"
       }
     },
+    "exit-on-epipe": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz",
+      "integrity": "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw=="
+    },
     "expand-brackets": {
       "version": "2.1.4",
       "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
@@ -3912,6 +3961,11 @@
         "websocket-driver": ">=0.5.1"
       }
     },
+    "fflate": {
+      "version": "0.3.11",
+      "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.3.11.tgz",
+      "integrity": "sha512-Rr5QlUeGN1mbOHlaqcSYMKVpPbgLy0AWT/W0EHxA6NGI12yO1jpoui2zBBvU2G824ltM6Ut8BFgfHSBGfkmS0A=="
+    },
     "figures": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
@@ -3983,6 +4037,11 @@
         }
       }
     },
+    "file-saver": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz",
+      "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA=="
+    },
     "filename-regex": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
@@ -4134,6 +4193,11 @@
       "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=",
       "dev": true
     },
+    "frac": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/frac/-/frac-1.1.2.tgz",
+      "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA=="
+    },
     "fragment-cache": {
       "version": "0.2.1",
       "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
@@ -5797,6 +5861,11 @@
       "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
       "dev": true
     },
+    "jquery": {
+      "version": "3.6.0",
+      "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz",
+      "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw=="
+    },
     "js-base64": {
       "version": "2.4.8",
       "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.8.tgz",
@@ -9228,6 +9297,11 @@
         "utila": "~0.4"
       }
     },
+    "printj": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz",
+      "integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ=="
+    },
     "private": {
       "version": "0.1.8",
       "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
@@ -10451,6 +10525,14 @@
       "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
       "dev": true
     },
+    "ssf": {
+      "version": "0.11.2",
+      "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.11.2.tgz",
+      "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==",
+      "requires": {
+        "frac": "~1.1.2"
+      }
+    },
     "ssri": {
       "version": "5.3.0",
       "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz",
@@ -11774,6 +11856,16 @@
       "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
       "dev": true
     },
+    "wmf": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/wmf/-/wmf-1.0.2.tgz",
+      "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw=="
+    },
+    "word": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/word/-/word-0.3.0.tgz",
+      "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA=="
+    },
     "wordwrap": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
@@ -11845,6 +11937,30 @@
         "safe-buffer": "~5.1.0"
       }
     },
+    "xlsx": {
+      "version": "0.17.0",
+      "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.17.0.tgz",
+      "integrity": "sha512-bZ36FSACiAyjoldey1+7it50PMlDp1pcAJrZKcVZHzKd8BC/z6TQ/QAN8onuqcepifqSznR6uKnjPhaGt6ig9A==",
+      "requires": {
+        "adler-32": "~1.2.0",
+        "cfb": "^1.1.4",
+        "codepage": "~1.14.0",
+        "commander": "~2.17.1",
+        "crc-32": "~1.2.0",
+        "exit-on-epipe": "~1.0.1",
+        "fflate": "^0.3.8",
+        "ssf": "~0.11.2",
+        "wmf": "~1.0.1",
+        "word": "~0.3.0"
+      },
+      "dependencies": {
+        "commander": {
+          "version": "2.17.1",
+          "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz",
+          "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg=="
+        }
+      }
+    },
     "xtend": {
       "version": "4.0.1",
       "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",

+ 4 - 1
package.json

@@ -15,10 +15,13 @@
     "axios": "^0.18.0",
     "babel-polyfill": "^6.26.0",
     "element-ui": "^2.8.2",
+    "file-saver": "^2.0.5",
+    "jquery": "^3.6.0",
     "moment": "^2.24.0",
     "px2rem-loader": "^0.1.9",
     "vue": "^2.5.2",
-    "vue-router": "^3.0.1"
+    "vue-router": "^3.0.1",
+    "xlsx": "^0.17.0"
   },
   "devDependencies": {
     "autoprefixer": "^7.1.2",

+ 36 - 2
src/views/customer/Customer.vue

@@ -7,6 +7,8 @@
               <el-input  placeholder="客户名称" class="input-demo" v-model="formCondition.customName"></el-input>
                <el-button type="success" style="margin-left: 1%;" @click="loadData">查询</el-button>
                 <el-button type="success" style="margin-left: 1%;" @click="addCustomerShow = true">添加</el-button>
+                <el-button type="primary" style="margin-left: 1%;" @click="exportExcel">导出报表</el-button>
+
             </div>
           </el-col>
         </el-row>
@@ -14,6 +16,7 @@
       <!-- 表格部分 -->
        <template>
         <el-table
+         class="table"
           v-loading="loading"
           ref="multipleTable"
           :data="coustomerTable"
@@ -83,7 +86,7 @@
         @size-change="handleSizeChange"
         @current-change="handleCurrentChange"
         :current-page="current"
-        :page-sizes="[6, 8, 10]"
+        :page-sizes="[6, 8, 10 , 20, 50, 100]"
         :page-size="pagesize"
         layout="total, sizes, prev, pager, next, jumper"
         :total="total">
@@ -593,6 +596,8 @@
     </div>
 </template>
 <script type="text/javascript">
+import FileSaver from "file-saver";
+import XLSX from "xlsx";
       export default {
         data(){
           return{
@@ -931,7 +936,36 @@
             this.current = val;
               this.loadData();
             // console.log(`当前页: ${val}`);
-          }
+          },
+           exportExcel() {
+      // 设置当前日期
+      let time = new Date();
+      //console.log(time);
+      let year = time.getFullYear();
+      let month = time.getMonth() + 1;
+      let day = time.getDate();
+      let name = "客户管理查询列表_"+year + "" + month + "" + day;
+      // console.log(name)
+      /* generate workbook object from table */
+      //  .table要导出的是哪一个表格
+      var wb = XLSX.utils.table_to_book(document.querySelector(".table"));
+      /* 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);
+      }
+      return wbout;
+    },
         }
       };
 </script>

+ 35 - 2
src/views/customer/custRecTime.vue

@@ -7,6 +7,7 @@
                <el-input  placeholder="客户名称" class="input-demo" v-model="formCondition.customName"></el-input>
                <el-input  placeholder="到期日" class="input-demo" v-model="formCondition.endTime"></el-input>
                <el-button type="success" style="margin-left: 1%;" @click="loadData">查询</el-button>
+               <el-button type="primary" style="margin-left: 1%;" @click="exportExcel">导出报表</el-button>
             </div>
           </el-col>
         </el-row>
@@ -14,6 +15,7 @@
       <!-- 表格部分 -->
         <template>
         <el-table
+         class="table"
           v-loading="loading"
           ref="multipleTable"
           :data="customeRecTimeListTable"
@@ -65,7 +67,7 @@
         @size-change="handleSizeChange"
         @current-change="handleCurrentChange"
         :current-page="current"
-        :page-sizes="[6, 8, 10]"
+        :page-sizes="[6, 8, 10, 20, 50, 100]"
         :page-size="pagesize"
         layout="total, sizes, prev, pager, next, jumper"
         :total="total">
@@ -74,6 +76,8 @@
     </div>
 </template>
 <script type="text/javascript">
+import FileSaver from "file-saver";
+import XLSX from "xlsx";
       export default {
         data(){
           return{
@@ -113,7 +117,36 @@
             this.current = val;
               this.loadData();
             // console.log(`当前页: ${val}`);
-          }
+          },
+           exportExcel() {
+      // 设置当前日期
+      let time = new Date();
+      //console.log(time);
+      let year = time.getFullYear();
+      let month = time.getMonth() + 1;
+      let day = time.getDate();
+      let name = "客户备案预警查询查询列表_"+year + "" + month + "" + day;
+      // console.log(name)
+      /* generate workbook object from table */
+      //  .table要导出的是哪一个表格
+      var wb = XLSX.utils.table_to_book(document.querySelector(".table"));
+      /* 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);
+      }
+      return wbout;
+    },
         }
       };
 </script>

+ 36 - 2
src/views/customer/customerRecharge.vue

@@ -6,6 +6,8 @@
             <div class="top">
                <el-input  placeholder="用户" class="input-demo" v-model="formCondition.customName"></el-input>
                <el-button type="success" style="margin-left: 1%;" @click="loadData">查询</el-button>
+               <el-button type="primary" style="margin-left: 1%;" @click="exportExcel">导出报表</el-button>
+
             </div>
           </el-col>
         </el-row>
@@ -13,6 +15,7 @@
       <!-- 表格部分 -->
         <template>
         <el-table
+          class="table"
           v-loading="loading"
           ref="multipleTable"
           :data="customerRechargeList"
@@ -42,7 +45,7 @@
         @size-change="handleSizeChange"
         @current-change="handleCurrentChange"
         :current-page="current"
-        :page-sizes="[6, 8, 10]"
+        :page-sizes="[6, 8, 10, 20, 50, 100]"
         :page-size="pagesize"
         layout="total, sizes, prev, pager, next, jumper"
         :total="total">
@@ -51,6 +54,8 @@
     </div>
 </template>
 <script type="text/javascript">
+import FileSaver from "file-saver";
+import XLSX from "xlsx";
       export default {
         data(){
           return{
@@ -89,7 +94,36 @@
             this.current = val;
               this.loadData();
             // console.log(`当前页: ${val}`);
-          }
+          },
+            exportExcel() {
+      // 设置当前日期
+      let time = new Date();
+      //console.log(time);
+      let year = time.getFullYear();
+      let month = time.getMonth() + 1;
+      let day = time.getDate();
+      let name = "客户充值记录查询列表_"+year + "" + month + "" + day;
+      // console.log(name)
+      /* generate workbook object from table */
+      //  .table要导出的是哪一个表格
+      var wb = XLSX.utils.table_to_book(document.querySelector(".table"));
+      /* 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);
+      }
+      return wbout;
+    },
         }
       };
 </script>

+ 35 - 2
src/views/noCar/billway.vue

@@ -18,6 +18,7 @@
                 <el-date-picker v-model="noCarWayBill.endEnd" type="date" placeholder="结束指令上传时间止"></el-date-picker> -->
                <el-button type="success" style="margin-left: 1%;" @click="loadData">查询</el-button>
                <el-button type="success" style="margin-left: 1%;" @click="updateStatus">更新状态</el-button>
+               <el-button type="primary" style="margin-left: 1%;" @click="exportExcel">导出报表</el-button>
               </div>
             </div>
           </el-col>
@@ -26,6 +27,7 @@
       <!-- 表格部分 -->
         <template>
         <el-table
+         class="table"
           v-loading="loading"
           ref="multipleTable"
           :data="billWayTable"
@@ -128,7 +130,7 @@
         @size-change="handleSizeChange"
         @current-change="handleCurrentChange"
         :current-page="current"
-        :page-sizes="[6, 8, 10]"
+        :page-sizes="[6, 8, 10, 20, 50, 100]"
         :page-size="pagesize"
         layout="total, sizes, prev, pager, next, jumper"
         :total="total">
@@ -137,6 +139,8 @@
     </div>
 </template>
 <script type="text/javascript">
+import FileSaver from "file-saver";
+import XLSX from "xlsx";
       export default {
         data(){
           return{
@@ -199,7 +203,36 @@
             this.current = val;
               this.loadData();
             // console.log(`当前页: ${val}`);
-          }
+          },
+          exportExcel() {
+      // 设置当前日期
+      let time = new Date();
+      //console.log(time);
+      let year = time.getFullYear();
+      let month = time.getMonth() + 1;
+      let day = time.getDate();
+      let name = "无车运单查询列表_"+year + "" + month + "" + day;
+      // console.log(name)
+      /* generate workbook object from table */
+      //  .table要导出的是哪一个表格
+      var wb = XLSX.utils.table_to_book(document.querySelector(".table"));
+      /* 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);
+      }
+      return wbout;
+    },
         }
       };
 </script>

+ 35 - 2
src/views/noCar/billwayException.vue

@@ -17,6 +17,7 @@
                 <el-date-picker v-model="noCarWayBill.endEnd" type="date" placeholder="结束指令上传时间止"></el-date-picker> -->
                <el-button type="success" style="margin-left: 1%;" @click="loadData">查询</el-button>
                <el-button type="success" style="margin-left: 1%;" @click="updateStatus">更新状态</el-button>
+               <el-button type="primary" style="margin-left: 1%;" @click="exportExcel">导出报表</el-button>
               </div>
             </div>
           </el-col>
@@ -25,6 +26,7 @@
       <!-- 表格部分 -->
         <template>
         <el-table
+         class="table"
           v-loading="loading"
           ref="multipleTable"
           :data="billWayTable"
@@ -98,7 +100,7 @@
         @size-change="handleSizeChange"
         @current-change="handleCurrentChange"
         :current-page="current"
-        :page-sizes="[6, 8, 10]"
+        :page-sizes="[6, 8, 10, 20, 50, 100]"
         :page-size="pagesize"
         layout="total, sizes, prev, pager, next, jumper"
         :total="total">
@@ -107,6 +109,8 @@
     </div>
 </template>
 <script type="text/javascript">
+import FileSaver from "file-saver";
+import XLSX from "xlsx";
       export default {
         data(){
           return{
@@ -169,7 +173,36 @@
             this.current = val;
               this.loadData();
             // console.log(`当前页: ${val}`);
-          }
+          },
+           exportExcel() {
+      // 设置当前日期
+      let time = new Date();
+      //console.log(time);
+      let year = time.getFullYear();
+      let month = time.getMonth() + 1;
+      let day = time.getDate();
+      let name = "无车异常运单查询列表_"+year + "" + month + "" + day;
+      // console.log(name)
+      /* generate workbook object from table */
+      //  .table要导出的是哪一个表格
+      var wb = XLSX.utils.table_to_book(document.querySelector(".table"));
+      /* 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);
+      }
+      return wbout;
+    },
         }
       };
 </script>

+ 35 - 2
src/views/noCar/calculateInfo.vue

@@ -8,6 +8,7 @@
                <el-input  placeholder="开始时间" class="input-demo" v-model="formCondition.satrtTime"></el-input>
                <el-input  placeholder="结束时间" class="input-demo" v-model="formCondition.endTime"></el-input>
                <el-button type="success" style="margin-left: 1%;" @click="loadData">查询</el-button>
+               <el-button type="primary" style="margin-left: 1%;" @click="exportExcel">导出报表</el-button>
             </div>
           </el-col>
         </el-row>
@@ -15,6 +16,7 @@
       <!-- 表格部分 -->
         <template>
         <el-table
+          class="table"
           v-loading="loading"
           ref="multipleTable"
           :data="calculateInfo"
@@ -54,7 +56,7 @@
         @size-change="handleSizeChange"
         @current-change="handleCurrentChange"
         :current-page="current"
-        :page-sizes="[6, 8, 10]"
+        :page-sizes="[6, 8, 10, 20, 50, 100]"
         :page-size="pagesize"
         layout="total, sizes, prev, pager, next, jumper"
         :total="total">
@@ -63,6 +65,8 @@
     </div>
 </template>
 <script type="text/javascript">
+import FileSaver from "file-saver";
+import XLSX from "xlsx";
       export default {
         data(){
           return{
@@ -102,7 +106,36 @@
             this.current = val;
               this.loadData();
             // console.log(`当前页: ${val}`);
-          }
+          },
+          exportExcel() {
+      // 设置当前日期
+      let time = new Date();
+      //console.log(time);
+      let year = time.getFullYear();
+      let month = time.getMonth() + 1;
+      let day = time.getDate();
+      let name = "无车计费查询列表_"+year + "" + month + "" + day;
+      // console.log(name)
+      /* generate workbook object from table */
+      //  .table要导出的是哪一个表格
+      var wb = XLSX.utils.table_to_book(document.querySelector(".table"));
+      /* 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);
+      }
+      return wbout;
+    },
         }
       };
 </script>

+ 34 - 1
src/views/noCar/hcInvoice.vue

@@ -8,6 +8,7 @@
               <el-input  placeholder="企业编号" class="input-demo" v-model="formCondition.companyNum"></el-input>
               <el-date-picker v-model="formCondition.month" type="month" placeholder="选择月份"> </el-date-picker>
                <el-button type="success" style="margin-left: 1%;" @click="loadData">查询</el-button>
+               <el-button type="primary" style="margin-left: 1%;" @click="exportExcel">导出报表</el-button>
             </div>
           </el-col>
         </el-row>
@@ -15,6 +16,7 @@
       <!-- 表格部分 -->
         <template>
         <el-table
+        class="table"
           v-loading="loading"
           ref="multipleTable"
           :data="invoiceTable"
@@ -68,6 +70,8 @@
     </div>
 </template>
 <script type="text/javascript">
+import FileSaver from "file-saver";
+import XLSX from "xlsx";
       export default {
         data(){
           return{
@@ -106,7 +110,36 @@
             this.current = val;
               this.loadData();
             // console.log(`当前页: ${val}`);
-          }
+          },
+           exportExcel() {
+      // 设置当前日期
+      let time = new Date();
+      //console.log(time);
+      let year = time.getFullYear();
+      let month = time.getMonth() + 1;
+      let day = time.getDate();
+      let name = "无车红冲发票查询列表_"+year + "" + month + "" + day;
+      // console.log(name)
+      /* generate workbook object from table */
+      //  .table要导出的是哪一个表格
+      var wb = XLSX.utils.table_to_book(document.querySelector(".table"));
+      /* 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);
+      }
+      return wbout;
+    },
         }
       };
 </script>

+ 35 - 2
src/views/noCar/invoice.vue

@@ -15,6 +15,7 @@
                 <el-input  placeholder="发票代码" class="input-demo" v-model="formCondition.invoiceCode"></el-input>
                 <el-input  placeholder="发票号码" class="input-demo" v-model="formCondition.invoiceNum"></el-input>
                 <el-button type="success" style="margin-left: 1%;" @click="loadData">查询</el-button>
+                <el-button type="primary" style="margin-left: 1%;" @click="exportExcel">导出报表</el-button>
               </div>
             </div>
           </el-col>
@@ -23,6 +24,7 @@
       <!-- 表格部分 -->
         <template>
         <el-table
+          class="table"
           v-loading="loading"
           ref="multipleTable"
           :data="invoiceTable"
@@ -147,7 +149,7 @@
         @size-change="handleSizeChange"
         @current-change="handleCurrentChange"
         :current-page="current"
-        :page-sizes="[6, 8, 10]"
+        :page-sizes="[6, 8, 10, 20, 50, 100]"
         :page-size="pagesize"
         layout="total, sizes, prev, pager, next, jumper"
         :total="total">
@@ -156,6 +158,8 @@
     </div>
 </template>
 <script type="text/javascript">
+import FileSaver from "file-saver";
+import XLSX from "xlsx";
       export default {
         data(){
           return{
@@ -195,7 +199,36 @@
             this.current = val;
               this.loadData();
             // console.log(`当前页: ${val}`);
-          }
+          },
+          exportExcel() {
+      // 设置当前日期
+      let time = new Date();
+      //console.log(time);
+      let year = time.getFullYear();
+      let month = time.getMonth() + 1;
+      let day = time.getDate();
+      let name = "无车发票查询列表_"+year + "" + month + "" + day;
+      // console.log(name)
+      /* generate workbook object from table */
+      //  .table要导出的是哪一个表格
+      var wb = XLSX.utils.table_to_book(document.querySelector(".table"));
+      /* 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);
+      }
+      return wbout;
+    },
         }
       };
 </script>

+ 35 - 2
src/views/noCar/nocarRec.vue

@@ -7,6 +7,7 @@
               <el-input  placeholder="公司名称" class="input-demo" v-model="companyName"></el-input>
               <el-input  placeholder="车牌号" class="input-demo" v-model="carNum"></el-input>
                <el-button type="success" style="margin-left: 1%;" @click="loadData">查询</el-button>
+               <el-button type="primary" style="margin-left: 1%;" @click="exportExcel">导出报表</el-button>
             </div>
           </el-col>
         </el-row>
@@ -14,6 +15,7 @@
       <!-- 表格部分 -->
         <template>
         <el-table
+          class="table"
           v-loading="loading"
           ref="multipleTable"
           :data="nocarRecCarTable"
@@ -105,7 +107,7 @@
         @size-change="handleSizeChange"
         @current-change="handleCurrentChange"
         :current-page="current"
-        :page-sizes="[6, 8, 10]"
+        :page-sizes="[6, 8, 10, 20, 50, 100]"
         :page-size="pagesize"
         layout="total, sizes, prev, pager, next, jumper"
         :total="total">
@@ -114,6 +116,8 @@
     </div>
 </template>
 <script type="text/javascript">
+import FileSaver from "file-saver";
+import XLSX from "xlsx";
       export default {
         data(){
           return{
@@ -153,7 +157,36 @@
             this.current = val;
               this.loadData();
             // console.log(`当前页: ${val}`);
-          }
+          },
+          exportExcel() {
+      // 设置当前日期
+      let time = new Date();
+      //console.log(time);
+      let year = time.getFullYear();
+      let month = time.getMonth() + 1;
+      let day = time.getDate();
+      let name = "无车车辆备案查询列表_"+year + "" + month + "" + day;
+      // console.log(name)
+      /* generate workbook object from table */
+      //  .table要导出的是哪一个表格
+      var wb = XLSX.utils.table_to_book(document.querySelector(".table"));
+      /* 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);
+      }
+      return wbout;
+    },
         }
       };
 </script>

+ 37 - 2
src/views/selfCar/calculateInfo.vue

@@ -8,7 +8,10 @@
                <el-input  placeholder="ETC" class="input-demo" v-model="formCondition.etcNum"></el-input>
                <el-input  placeholder="开始年月" class="input-demo" v-model="formCondition.satrtTime"></el-input>
                <el-input  placeholder="截止年月" class="input-demo" v-model="formCondition.endTime"></el-input>
+            </div>
+            <div class="top">
                <el-button type="success" style="margin-left: 1%;" @click="loadData">查询</el-button>
+               <el-button type="primary" style="margin-left: 1%;" @click="exportExcel">导出报表</el-button>
             </div>
           </el-col>
         </el-row>
@@ -16,6 +19,7 @@
       <!-- 表格部分 -->
         <template>
         <el-table
+        class="table"
           v-loading="loading"
           ref="multipleTable"
           :data="calculateInfo"
@@ -55,7 +59,7 @@
         @size-change="handleSizeChange"
         @current-change="handleCurrentChange"
         :current-page="current"
-        :page-sizes="[6, 8, 10]"
+        :page-sizes="[6, 8, 10, 20, 50, 100]"
         :page-size="pagesize"
         layout="total, sizes, prev, pager, next, jumper"
         :total="total">
@@ -64,6 +68,8 @@
     </div>
 </template>
 <script type="text/javascript">
+import FileSaver from "file-saver";
+import XLSX from "xlsx";
       export default {
         data(){
           return{
@@ -103,7 +109,36 @@
             this.current = val;
               this.loadData();
             // console.log(`当前页: ${val}`);
-          }
+          },
+           exportExcel() {
+      // 设置当前日期
+      let time = new Date();
+      //console.log(time);
+      let year = time.getFullYear();
+      let month = time.getMonth() + 1;
+      let day = time.getDate();
+      let name = "自有车计费查询列表_"+year + "" + month + "" + day;
+      // console.log(name)
+      /* generate workbook object from table */
+      //  .table要导出的是哪一个表格
+      var wb = XLSX.utils.table_to_book(document.querySelector(".table"));
+      /* 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);
+      }
+      return wbout;
+    },
         }
       };
 </script>

+ 35 - 2
src/views/selfCar/invoice.vue

@@ -6,6 +6,7 @@
             <div class="top">
               <el-input  placeholder="企业" class="input-demo" v-model="formCondition.companyName"></el-input>
                <el-button type="success" style="margin-left: 1%;" @click="loadData">查询</el-button>
+               <el-button type="primary" style="margin-left: 1%;" @click="exportExcel">导出报表</el-button>
             </div>
           </el-col>
         </el-row>
@@ -13,6 +14,7 @@
       <!-- 表格部分 -->
         <template>
         <el-table
+          class="table"
           v-loading="loading"
           ref="multipleTable"
           :data="invoiceTable"
@@ -119,7 +121,7 @@
         @size-change="handleSizeChange"
         @current-change="handleCurrentChange"
         :current-page="current"
-        :page-sizes="[6, 8, 10]"
+        :page-sizes="[6, 8, 10, 20, 50, 100]"
         :page-size="pagesize"
         layout="total, sizes, prev, pager, next, jumper"
         :total="total">
@@ -128,6 +130,8 @@
     </div>
 </template>
 <script type="text/javascript">
+import FileSaver from "file-saver";
+import XLSX from "xlsx";
       export default {
         data(){
           return{
@@ -166,7 +170,36 @@
             this.current = val;
               this.loadData();
             // console.log(`当前页: ${val}`);
-          }
+          },
+           exportExcel() {
+      // 设置当前日期
+      let time = new Date();
+      //console.log(time);
+      let year = time.getFullYear();
+      let month = time.getMonth() + 1;
+      let day = time.getDate();
+      let name = "自有车发票查询列表_"+year + "" + month + "" + day;
+      // console.log(name)
+      /* generate workbook object from table */
+      //  .table要导出的是哪一个表格
+      var wb = XLSX.utils.table_to_book(document.querySelector(".table"));
+      /* 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);
+      }
+      return wbout;
+    },
         }
       };
 </script>

+ 35 - 2
src/views/selfCar/selfCarTrade.vue

@@ -6,6 +6,7 @@
             <div class="top">
                <el-input  placeholder="企业" class="input-demo" v-model="formCondition.companyName"></el-input>
                <el-button type="success" style="margin-left: 1%;" @click="loadData">查询</el-button>
+               <el-button type="primary" style="margin-left: 1%;" @click="exportExcel">导出报表</el-button>
             </div>
           </el-col>
         </el-row>
@@ -13,6 +14,7 @@
       <!-- 表格部分 -->
         <template>
         <el-table
+          class="table"
           v-loading="loading"
           ref="multipleTable"
           :data="selfcarTrade"
@@ -78,7 +80,7 @@
         @size-change="handleSizeChange"
         @current-change="handleCurrentChange"
         :current-page="current"
-        :page-sizes="[6, 8, 10]"
+        :page-sizes="[6, 8, 10, 20, 50, 100]"
         :page-size="pagesize"
         layout="total, sizes, prev, pager, next, jumper"
         :total="total">
@@ -87,6 +89,8 @@
     </div>
 </template>
 <script type="text/javascript">
+import FileSaver from "file-saver";
+import XLSX from "xlsx";
       export default {
         data(){
           return{
@@ -125,7 +129,36 @@
             this.current = val;
               this.loadData();
             // console.log(`当前页: ${val}`);
-          }
+          },
+           exportExcel() {
+      // 设置当前日期
+      let time = new Date();
+      //console.log(time);
+      let year = time.getFullYear();
+      let month = time.getMonth() + 1;
+      let day = time.getDate();
+      let name = "自有车交易查询列表_"+year + "" + month + "" + day;
+      // console.log(name)
+      /* generate workbook object from table */
+      //  .table要导出的是哪一个表格
+      var wb = XLSX.utils.table_to_book(document.querySelector(".table"));
+      /* 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);
+      }
+      return wbout;
+    },
         }
       };
 </script>

+ 35 - 2
src/views/selfCar/selfCarTradeException.vue

@@ -6,6 +6,7 @@
             <div class="top">
                <el-input  placeholder="企业" class="input-demo" v-model="formCondition.companyName"></el-input>
                <el-button type="success" style="margin-left: 1%;" @click="loadData">查询</el-button>
+               <el-button type="primary" style="margin-left: 1%;" @click="exportExcel">导出报表</el-button>
             </div>
           </el-col>
         </el-row>
@@ -13,6 +14,7 @@
       <!-- 表格部分 -->
         <template>
         <el-table
+          class="table"
           v-loading="loading"
           ref="multipleTable"
           :data="nocarTrade"
@@ -74,7 +76,7 @@
         @size-change="handleSizeChange"
         @current-change="handleCurrentChange"
         :current-page="current"
-        :page-sizes="[6, 8, 10]"
+        :page-sizes="[6, 8, 10, 20, 50, 100]"
         :page-size="pagesize"
         layout="total, sizes, prev, pager, next, jumper"
         :total="total">
@@ -83,6 +85,8 @@
     </div>
 </template>
 <script type="text/javascript">
+import FileSaver from "file-saver";
+import XLSX from "xlsx";
       export default {
         data(){
           return{
@@ -121,7 +125,36 @@
             this.current = val;
               this.loadData();
             // console.log(`当前页: ${val}`);
-          }
+          },
+           exportExcel() {
+      // 设置当前日期
+      let time = new Date();
+      //console.log(time);
+      let year = time.getFullYear();
+      let month = time.getMonth() + 1;
+      let day = time.getDate();
+      let name = "自有车异常交易查询列表_"+year + "" + month + "" + day;
+      // console.log(name)
+      /* generate workbook object from table */
+      //  .table要导出的是哪一个表格
+      var wb = XLSX.utils.table_to_book(document.querySelector(".table"));
+      /* 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);
+      }
+      return wbout;
+    },
         }
       };
 </script>

+ 35 - 2
src/views/selfCar/selfcarRec.vue

@@ -21,6 +21,7 @@
                       </el-option>
                 </el-select>
                  <el-button type="success" style="margin-left: 1%;" @click="loadData">查询</el-button>
+                 <el-button type="primary" style="margin-left: 1%;" @click="exportExcel">导出报表</el-button>
                 </div>
             </div>
           </el-col>
@@ -29,6 +30,7 @@
       <!-- 表格部分 -->
         <template>
         <el-table
+        class="table"
           v-loading="loading"
           ref="multipleTable"
           :data="selfcarRecCarTable"
@@ -127,7 +129,7 @@
         @size-change="handleSizeChange"
         @current-change="handleCurrentChange"
         :current-page="current"
-        :page-sizes="[6, 8, 10]"
+        :page-sizes="[6, 8, 10, 20, 50, 100]"
         :page-size="pagesize"
         layout="total, sizes, prev, pager, next, jumper"
         :total="total">
@@ -136,6 +138,8 @@
     </div>
 </template>
 <script type="text/javascript">
+import FileSaver from "file-saver";
+import XLSX from "xlsx";
       export default {
         data(){
           return{
@@ -207,7 +211,36 @@
             this.current = val;
               this.loadData();
             // console.log(`当前页: ${val}`);
-          }
+          },
+           exportExcel() {
+      // 设置当前日期
+      let time = new Date();
+      //console.log(time);
+      let year = time.getFullYear();
+      let month = time.getMonth() + 1;
+      let day = time.getDate();
+      let name = "自有车ETC备案查询列表_"+year + "" + month + "" + day;
+      // console.log(name)
+      /* generate workbook object from table */
+      //  .table要导出的是哪一个表格
+      var wb = XLSX.utils.table_to_book(document.querySelector(".table"));
+      /* 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);
+      }
+      return wbout;
+    },
         }
       };
 </script>

+ 36 - 1
src/views/sys/user.vue

@@ -9,6 +9,8 @@
               <el-input  placeholder="部门" class="input-demo" v-model="company"></el-input>
                <el-button type="success" style="margin-left: 1%;" @click="queryLook">查询</el-button>
                 <el-button type="success" style="margin-left: 1%;" @click="addUserList = true">添加</el-button>
+                               <el-button type="primary" style="margin-left: 1%;" @click="exportExcel">导出报表</el-button>
+
             </div>
           </el-col>
         </el-row>
@@ -27,6 +29,7 @@
     <!-- 表格部分 -->
       <template>
         <el-table
+         class="table"
           v-loading="loading"
           ref="multipleTable"
           :data="usertable"
@@ -129,7 +132,7 @@
         @size-change="handleSizeChange"
         @current-change="handleCurrentChange"
         :current-page="current"
-        :page-sizes="[6, 8, 10]"
+        :page-sizes="[6, 8, 10, 20, 50 ,100]"
         :page-size="pagesize"
         layout="total, sizes, prev, pager, next, jumper"
         :total="total">
@@ -328,6 +331,8 @@
 
 <script type="text/javascript">
 import axios from 'axios';
+import FileSaver from "file-saver";
+import XLSX from "xlsx";
 export default{
   data() {
     return {
@@ -658,6 +663,36 @@ export default{
       };
       console.log(`当前页: ${val}`);
     },
+        // 导出表格所用
+    exportExcel() {
+      // 设置当前日期
+      let time = new Date();
+      //console.log(time);
+      let year = time.getFullYear();
+      let month = time.getMonth() + 1;
+      let day = time.getDate();
+      let name = "用户列表_"+year + "" + month + "" + day;
+      // console.log(name)
+      /* generate workbook object from table */
+      //  .table要导出的是哪一个表格
+      var wb = XLSX.utils.table_to_book(document.querySelector(".table"));
+      /* 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);
+      }
+      return wbout;
+    },
 
   }
 };