HZH-PC\HZH 3 роки тому
батько
коміт
bb7e8bb6ba
4 змінених файлів з 122 додано та 15 видалено
  1. 37 15
      package-lock.json
  2. 80 0
      src/components/Report.vue
  3. BIN
      src/images/report2/back.jpg
  4. 5 0
      src/router/index.js

+ 37 - 15
package-lock.json

@@ -2746,7 +2746,8 @@
       "version": "4.6.0",
       "resolved": "http://192.168.80.51:7001/co/download/co-4.6.0.tgz",
       "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
-      "dev": true
+      "dev": true,
+      "optional": true
     },
     "coa": {
       "version": "2.0.2",
@@ -5035,7 +5036,8 @@
         "ansi-regex": {
           "version": "2.1.1",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "aproba": {
           "version": "1.2.0",
@@ -5056,12 +5058,14 @@
         "balanced-match": {
           "version": "1.0.0",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "brace-expansion": {
           "version": "1.1.11",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "balanced-match": "^1.0.0",
             "concat-map": "0.0.1"
@@ -5076,17 +5080,20 @@
         "code-point-at": {
           "version": "1.1.0",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "concat-map": {
           "version": "0.0.1",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "console-control-strings": {
           "version": "1.1.0",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "core-util-is": {
           "version": "1.0.2",
@@ -5203,7 +5210,8 @@
         "inherits": {
           "version": "2.0.3",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "ini": {
           "version": "1.3.5",
@@ -5215,6 +5223,7 @@
           "version": "1.0.0",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "number-is-nan": "^1.0.0"
           }
@@ -5229,6 +5238,7 @@
           "version": "3.0.4",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "brace-expansion": "^1.1.7"
           }
@@ -5236,12 +5246,14 @@
         "minimist": {
           "version": "0.0.8",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "minipass": {
           "version": "2.3.5",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "safe-buffer": "^5.1.2",
             "yallist": "^3.0.0"
@@ -5260,6 +5272,7 @@
           "version": "0.5.1",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "minimist": "0.0.8"
           }
@@ -5340,7 +5353,8 @@
         "number-is-nan": {
           "version": "1.0.1",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "object-assign": {
           "version": "4.1.1",
@@ -5352,6 +5366,7 @@
           "version": "1.4.0",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "wrappy": "1"
           }
@@ -5437,7 +5452,8 @@
         "safe-buffer": {
           "version": "5.1.2",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "safer-buffer": {
           "version": "2.1.2",
@@ -5473,6 +5489,7 @@
           "version": "1.0.2",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "code-point-at": "^1.0.0",
             "is-fullwidth-code-point": "^1.0.0",
@@ -5492,6 +5509,7 @@
           "version": "3.0.1",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "ansi-regex": "^2.0.0"
           }
@@ -5535,12 +5553,14 @@
         "wrappy": {
           "version": "1.0.2",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "yallist": {
           "version": "3.0.3",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         }
       }
     },
@@ -6910,7 +6930,7 @@
       "integrity": "sha512-J9X76xnncMw+wIqb15HeWfPMqPwYxSpPY8yWPJ7rAZN/ZDzFkjCSZObryCyUe8zbrVRNiuCnIeQteCzMn7GnWw==",
       "requires": {
         "canvg": "1.5.3",
-        "file-saver": "github:eligrey/FileSaver.js#e865e37af9f9947ddcced76b549e27dc45c1cb2e",
+        "file-saver": "file-saver@github:eligrey/FileSaver.js#e865e37af9f9947ddcced76b549e27dc45c1cb2e",
         "html2canvas": "1.0.0-alpha.12",
         "omggif": "1.0.7",
         "promise-polyfill": "8.1.0",
@@ -8343,7 +8363,8 @@
       "version": "2.2.2",
       "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
       "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
-      "dev": true
+      "dev": true,
+      "optional": true
     },
     "pify": {
       "version": "4.0.1",
@@ -9715,7 +9736,8 @@
       "version": "4.0.8",
       "resolved": "http://192.168.80.51:7001/rx-lite/download/rx-lite-4.0.8.tgz",
       "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=",
-      "dev": true
+      "dev": true,
+      "optional": true
     },
     "rx-lite-aggregates": {
       "version": "4.0.8",

+ 80 - 0
src/components/Report.vue

@@ -0,0 +1,80 @@
+<style lang="scss" scoped>
+#print-part{
+  width: 2480px;
+  .page{
+    width: 100%;
+    height: 3508px;
+    background: url("../images/report2/back.jpg")no-repeat center;
+    background-size: cover;
+  }
+}
+</style>
+<template>
+<div class="report">
+  <button @click="down">导出</button>
+  <div id="print-part">
+    <div class="page">
+    
+    </div>
+    <div class="page">
+    
+    </div>
+  </div>
+</div>
+</template>
+
+<script>
+import html2Canvas from 'html2canvas'
+import JsPDF from 'jspdf'
+
+export default {
+  name: 'Report',
+  components: {
+  },
+  data () {
+      return {
+        PDF: new JsPDF('', 'pt', 'a4')
+      }
+  },
+  created() {
+    
+  },
+  mounted(){
+  },
+  methods: {
+    down(){
+      html2Canvas(document.getElementById('print-part'), {
+          allowTaint: true
+      })
+      .then(canvas => {
+          let contentWidth = canvas.width;
+          let contentHeight = canvas.height;
+          let pageData = canvas.toDataURL('image/jpeg', 1.0);
+          this.PDF.addImage(pageData, 'JPEG', 0, 0, contentWidth, contentHeight);
+          this.PDF.addPage();
+          // let pageHeight = contentWidth / 592.28 * 841.89;
+          // let imgWidth = 595.28;
+          // let imgHeight = imgWidth / contentWidth * contentHeight;
+          // let leftHeight = contentHeight;
+          // let position = 0;
+          // let pageData = canvas.toDataURL('image/jpeg', 1.0);
+          // let PDF = new JsPDF('', 'pt', 'a4');
+          // if (leftHeight < pageHeight) {
+          //     PDF.addImage(pageData, 'JPEG', 0, 0, imgWidth, imgHeight);
+          // } else {
+          //     while (leftHeight > 0) {
+          //         PDF.addImage(pageData, 'JPEG', 0, position, imgWidth, imgHeight);
+          //         leftHeight -= pageHeight;
+          //         position -= 841.89;
+          //         if (leftHeight > 0) {
+          //             PDF.addPage();
+          //         }
+          //     }
+          // }
+          
+          this.PDF.save('title' + '.pdf');
+      });
+    }
+  }
+}
+</script>

BIN
src/images/report2/back.jpg


+ 5 - 0
src/router/index.js

@@ -36,6 +36,7 @@ const SimpleReport = () => import(/* webpackChunkName: "group-controlApp"*/'@/co
 const ControlLogin = () => import(/* webpackChunkName: "group-controlApp"*/'@/login/ControlLogin');
 const VoiceTest = () => import(/* webpackChunkName: "group-controlApp"*/'@/components/VoiceTest');
 const UserTest = () => import(/* webpackChunkName: "group-controlApp"*/'@/components/UserTest');
+const Report = () => import(/* webpackChunkName: "group-controlApp"*/'@/components/Report');
 
 import store from '@/store/index';
 import { getLoginUser } from '@/api/login'
@@ -184,5 +185,9 @@ export default new Router({
         path: '/xxx',
         name: 'UserTest',
         component: UserTest,
+    },{
+        path: '/report',
+        name: 'Report',
+        component: Report,
     }]
 });