Browse Source

打印优化

ymy 1 năm trước cách đây
mục cha
commit
aee1b3da42

+ 15 - 0
src/benyun/components/byBill/byBill.vue

@@ -202,6 +202,21 @@
 			param.templateData = data;
 			param.outType = 'PDF';
 			this.$emit('printBefore',param);
+			for(const key in param.templateData){
+				if(!param.templateData[key] && param.templateData[key] != 0){
+					delete param.templateData[key];
+				}else{
+					if(param.templateData[key].constructor == Array){
+						for(const item of param.templateData[key]){
+							for(const itKey in item){
+								if(!item[itKey] && item[itKey] != 0){
+									delete item[itKey];
+								}
+							}
+						}
+					}
+				}
+			}
 			try{
 				param.templateData = JSON.stringify(param.templateData);
 			}catch(e){

+ 4 - 1
src/components/userModal/userModal.vue

@@ -193,10 +193,13 @@ export default class UserModal extends VueViews {
     if(this.parentValue){
       this.userValue.userId = this.parentValue.userId;
     }
+    this.$forceUpdate();
   }
   // 清空数据
   clearValue(){
-    this.userValue = {};
+    this.userValue.userName='';
+    this.userValue.userId='';
+    this.onChange();
   }
 }
 </script>

+ 1 - 1
src/views/print/printCount/index.vue

@@ -54,7 +54,7 @@ export default class PrintCount extends Vue {
       },
       columns:[{
         title:'外部用户标识',
-        field:'userName',
+        field:'userId',
         width:130
       },{
         title:'模板名称',

+ 1 - 1
src/views/print/printLog/index.vue

@@ -36,7 +36,7 @@ export default class PrintLog extends Vue {
         },{
           span:8,
           label:'外部用户标识',
-          prop:'userId',
+          prop:'userName',
           component:'user-modal'
         }]
       ]

+ 64 - 0
src/views/print/printPermission/components/permissionSelect.vue

@@ -0,0 +1,64 @@
+<template>
+  <el-select
+    v-model="value"
+    multiple
+    collapse-tags
+    @change="onChange"
+    placeholder="请选择">
+    <el-option
+      v-for="item in options"
+      :key="item.value"
+      :label="item.label"
+      :value="item.value">
+    </el-option>
+  </el-select>
+</template>
+<script lang="ts">
+import { Component, Prop, Vue, Watch } from "vue-property-decorator";
+import VueViews from '@/benyun/compVue/VueViews'
+@Component
+export default class PermissionSelect extends VueViews {
+  value:Array<any>=[]
+  options:Array<any>=[{
+    label:'新增模板',
+    value:'add'
+  },{
+    label:'编辑模板',
+    value:'edit'
+  },{
+    label:'删除模板',
+    value:'del'
+  },{
+    label:'打印模板',
+    value:'print'
+  }]
+  
+  @Watch('propValue')
+  propValueChange(v:any){
+    this.setValue(v);
+  }
+
+  setValue(v:any){
+    this.value = v ? v.split(',') : [];
+  }
+  getValue(){
+    let n:string='';
+    if(this.value && this.value.length > 0){
+      for(const item of this.value){
+        if(n){
+          n = n + ','+item;
+        }else{
+          n=item;
+        }
+      }
+    }
+    return n;
+  }
+  onChange(){
+    this.$emit('onChange',this.getValue());
+  }
+}
+</script>
+<style lang="scss" scoped>
+
+</style>

+ 26 - 42
src/views/print/printPermission/index.vue

@@ -6,8 +6,9 @@
 </template>
 <script lang="ts">
 import { Component, Prop, Vue, Watch } from "vue-property-decorator";
-import {query,add,update,del} from '@/api/printPermission'
-@Component({components:{}})
+import {query,add,update,del} from '@/api/printPermission';
+import permissionSelect from "./components/permissionSelect.vue";
+@Component({components:{permissionSelect}})
 export default class PrintPermission extends Vue {
   load=false;
   isSearch=false
@@ -23,28 +24,29 @@ export default class PrintPermission extends Vue {
       columns:[
         [{
           span:8,
-          label:'模板名称',
-          prop:'templateName',
-          component:'by-input',
-          compConfig:{
-            attr:{
-              clearable:true
-            }
-          }
+          label:'外部用户标识',
+          prop:'userName',
+          component:'user-modal'
         },{
           span:8,
-          label:'模板引擎',
-          prop:'templateEngine',
+          label:'角色',
+          prop:'role',
           component:'by-select',
           compConfig:{
             attr:{
               clearable:true,
               data:[{
-                label:'freemarker',
-                value:'freemarker'
+                label:'超级管理员',
+                value:'admin'
+              },{
+                label:'操作用户',
+                value:'oper_user'
               },{
-                label:'thymeleaf',
-                value:'thymeleaf'
+                label:'打印用户',
+                value:'print_user'
+              },{
+                label:'自定义用户',
+                value:'custom_user'
               }]
             }
           }
@@ -68,7 +70,7 @@ export default class PrintPermission extends Vue {
       columns:[{
         title:'外部用户标识',
         isDetail:true,
-        field:'userId'
+        field:'userName'
       },{
         title:'角色',
         field:'role',
@@ -118,12 +120,12 @@ export default class PrintPermission extends Vue {
             role:[
               {required: true, message: '角色不能为空!', trigger: 'change'}
             ],
-            customPermission:[
-              {required: true, message: '自定义权限不能为空!', trigger: 'change'}
-            ],
-            customLimit:[
-              {required: true, message: '自定义打印次数限制不能为空!', trigger: 'blur'}
-            ]
+            // customPermission:[
+            //   {required: true, message: '自定义权限不能为空!', trigger: 'change'}
+            // ],
+            // customLimit:[
+            //   {required: true, message: '自定义打印次数限制不能为空!', trigger: 'blur'}
+            // ]
           }
         },
         columns:[
@@ -158,25 +160,7 @@ export default class PrintPermission extends Vue {
           [{
             label:'自定义权限',
             prop:'customPermission',
-            component:'by-select',
-            compConfig:{
-              attr:{
-                clearable:true,
-                data:[{
-                  label:'新增模板',
-                  value:'add'
-                },{
-                  label:'编辑模板',
-                  value:'edit'
-                },{
-                  label:'删除模板',
-                  value:'del'
-                },{
-                  label:'打印模板',
-                  value:'print'
-                }]
-              }
-            }
+            component:permissionSelect
           }],
           [{
             label:'自定义打印次数限制',

+ 1 - 1
src/views/print/printTemplate/index.vue

@@ -200,7 +200,7 @@ export default class PrintTemplate extends Vue {
               attr:{
                 defaultValue:'{}',
                 type:'textarea',
-                rows:3
+                rows:8
               }
             }
           }]