ymy 1 vuosi sitten
vanhempi
säilyke
942b7220a6

+ 1 - 1
src/api/print.ts

@@ -18,7 +18,7 @@ export function preview(data:any){
 		url: '/print/preview',
 		method: 'POST',
     data:data,
-    responseType:'blob',
+    // responseType:'blob',
     headers:{
       'Print-User':'admin'
     }

+ 3 - 2
src/views/print/printCount/index.vue

@@ -18,7 +18,8 @@ export default class PrintCount extends Vue {
     },
     search:{
       attr:{
-        size:'small'
+        size:'small',
+        labelWidth:'130px'
       },
       columns:[
         [{
@@ -49,7 +50,7 @@ export default class PrintCount extends Vue {
       attr:{
         size:'mini',
         seq:true,
-        checkbox:true
+        // checkbox:true
       },
       columns:[{
         title:'外部用户标识',

+ 3 - 2
src/views/print/printLog/index.vue

@@ -19,7 +19,8 @@ export default class PrintLog extends Vue {
     },
     search:{
       attr:{
-        size:'small'
+        size:'small',
+        labelWidth:'130px'
       },
       columns:[
         [{
@@ -50,7 +51,7 @@ export default class PrintLog extends Vue {
       attr:{
         size:'mini',
         seq:true,
-        checkbox:true
+        // checkbox:true
       },
       columns:[{
         title:'外部用户标识',

+ 75 - 0
src/views/print/printTemplate/components/editInput.vue

@@ -0,0 +1,75 @@
+<template>
+  <el-input
+    class="editCode"
+    type="textarea"
+    rows="25"
+    placeholder="请输入内容"
+    @input="onChange"
+    v-model="value">
+  </el-input>
+</template>
+
+<script lang="ts">
+import { Component, Prop, Vue, Watch } from "vue-property-decorator";
+import VueViews from '@/benyun/compVue/VueViews'
+@Component
+export default class EditInput extends VueViews {
+  @Watch('propValue')
+  propValueChange(v:any){
+    this.setValue(v);
+  }
+
+  created(){
+    this.initValue();
+    if(this.propConfig){
+      this.setConfig(this.propConfig)
+    }
+    if(this.propValue){
+      this.setValue(this.propValue)
+    }
+  }
+  initValue(){
+    this.value=`<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
+    <title></title>
+</head>
+<body>
+	
+</body>
+</html> `
+  }
+  setValue(data:any){
+    if(data){
+      this.value = (this as any).$lodash.cloneDeep(data);
+      
+    }else{
+      this.initValue();
+    }
+  }
+
+  getValue(){
+    return (this as any).$lodash.cloneDeep(this.value);
+  }
+
+  // 清空数据
+  clearValue(){
+    this.initValue();
+  }
+
+  onChange(){
+    this.$emit('onChange',this.value);
+  }
+}
+</script>
+<style lang="scss">
+.editCode{
+  textarea.el-textarea__inner{
+    color: #FFF;
+    background-color: #042a33 !important;
+    font-family: 'Courier New', Courier, monospace;
+  }
+}
+</style>

+ 26 - 10
src/views/print/printTemplate/index.vue

@@ -8,9 +8,10 @@
 <script lang="ts">
 import { Component, Prop, Vue, Watch } from "vue-property-decorator";
 import {query,add,update,del} from '@/api/printTemplate'
-import byMonacoEditor  from '@/benyun/components/byMonacoEditor/byMonacoEditor.vue'
-
+// import byMonacoEditor  from '@/benyun/components/byMonacoEditor/byMonacoEditor.vue'
 import {preview} from '@/api/print'
+import EditInput from "./components/editInput.vue";
+
 @Component({components:{}})
 export default class PrintTemplate extends Vue {
   load=false;
@@ -189,7 +190,7 @@ export default class PrintTemplate extends Vue {
           [{
             label:'模板内容',
             prop:'templateHtml',
-            component:byMonacoEditor,
+            component:EditInput,
           }],
           [{
             label:'示例数据',
@@ -235,13 +236,28 @@ export default class PrintTemplate extends Vue {
       outType:'PDF'
     }).then((res:any) => {
       this.load=false;
-      const blob = new Blob([res],{
-        type: "application/pdf;chartset=UTF-8"
-      })
-      const qrUrl:any =(window as any).URL.createObjectURL(blob);
-      (window as any).open(qrUrl);
-      // const myWindow =(window as any).open(qrUrl);
-      // myWindow.print();
+      // console.log(res);
+      if(res.code && res.code != 200){
+        this.$message({message:res.msg?res.msg:'预览出错',type:'error'});
+      }else{
+        const reader = new FileReader()
+        reader.onload = function() {
+          const content = reader.result 
+          console.log(content)
+        }
+
+        reader.readAsDataURL(res) 
+        // const blob = new Blob([res],{
+        //   type: "application/pdf;chartset=UTF-8"
+        // })
+        // const qrUrl:any =(window as any).URL.createObjectURL(blob);
+        // (window as any).open(qrUrl);
+
+        // const myWindow =(window as any).open(qrUrl);
+        // myWindow.print();
+      }
+      
+     
 
     }).catch((err:any)=>{
       this.load=false;