zhuliu vor 2 Jahren
Ursprung
Commit
a16234ab40

+ 1 - 1
RMS-FrontEnd/src/views/layout/index.vue

@@ -130,7 +130,7 @@ export default {
           }
   },
   getPermissionList(){
-    var code = "6a8d3f4d1d5f11eda41c00163e2f0200;5051395c24e311eda41c00163e2f0200;2ca26abd37e211eda41c00163e2f0200"
+    var code = "6a8d3f4d1d5f11eda41c00163e2f0200;5051395c24e311eda41c00163e2f0200;a97c468b924111ed905500163e2f0200"
    this.$api.getPermissionList({code:code}).then(response=>{
         // localStorage.permission =JSON.stringify(JSON.parse(response.data).data) 
         this.$store.commit('SET_ADMIN_PERMISSION', response.data)

+ 60 - 8
RMS-FrontEnd/src/views/report/components/mixins.js

@@ -38,26 +38,77 @@ export const explain = {
         this.innerhtml = ''
       }
     },
+    //图片路径转64位编码
+    getBase64Image(img) {
+      console.log(img)
+      var canvas = document.createElement("canvas");
+      canvas.width = img.width;
+      canvas.height = img.height;
+      var ctx = canvas.getContext("2d");
+      ctx.drawImage(img, 0, 0, img.width, img.height);
+      var ext = img.src.substring(img.src.lastIndexOf(".")+1).toLowerCase();
+      var dataURL = canvas.toDataURL("image/"+ext);
+      return dataURL;
+    },
     handlePaste(event, row,name) {//图片的处理(剪切板方法clipboard)//row本行数据,name是传过来的row里面每一个属性
       // console.log("handleP",event,row);
       var e = event || window.event
       e.preventDefault();
       const items = (event.clipboardData || window.clipboardData).items;
-      // console.log((event.clipboardData || window.clipboardData).getData('Html'))
+      console.log(items)
       let file = null;
       if (!items || items.length === 0) {//?
         this.$message.error("当前浏览器不支持本地");
         return;
       }
       for (let i = 0; i < items.length; i++) {
-        // console.log(items[i].type)
+        // console.log(items[i])
         if (items[i].type.indexOf("text") !== -1) {
-          var text =  (e.originalEvent || e).clipboardData.getData('text/plain') || prompt('在这里输入文本');
-          //清除回车
-          text = text.replace(/\[\d+\]|\n|\r/ig,"")
-          let str = row[name]?row[name]:''
-          this.$set(row,name,str +text)
-          this.saveValue(row[name])
+          // if(items[i].type == 'text/plain'){
+            var text =  (e.originalEvent || e).clipboardData.getData('text/plain') || prompt('在这里输入文本');
+            //清除回车
+            text = text.replace(/\[\d+\]|\n|\r/ig,"")
+            let str = row[name]?row[name]:''
+            this.$set(row,name,str +text)
+            this.saveValue(row[name])
+          // }else{
+          //   var text =  (e.originalEvent || e).clipboardData.getData('text/html')
+          //   console.log(text)
+          //   let reg =/<img.*?src=[\"|\']?(.*?)[\"|\']?\s.*?>/g
+          //   console.log(text.match(reg))
+          //   var arr = text.match(reg)
+          //   // var text2 = []
+          //   // arr.forEach(item=>{
+          //   //   // text2 = text2+item
+          //   //  var url = /\bsrc\b\s*=\s*[\'\"]?([^\'\"]*)[\'\"]?/i
+          //   //  console.log(item.match(url)[1])
+          //   //  var image = new Image();
+          //   //   image.src = item.match(url)[1]+ "?v=" + Math.random();;
+          //   //   // image.crossOrigin = "*";
+          //   //   image.onload= function(){
+          //   //     var base64 = getBase64Image(image);
+          //   //     console.log(base64);
+          //   //     var new_img = '<img src="' + base64 + '" style="width:80px;height: 80px;border: 1px solid #f9f6f675;vertical-align:middle" >';
+          //   //     let str = row[name]?row[name]:''
+          //   //     this.$set(row,name,str +new_img)
+          //   //   }
+          //   // //  var img = this.getBase64Image(item.match(url)[1])
+          //   // //  text2.push(img)
+          //   // //  console.log(item.match(url))
+             
+          //   // })
+          //   var text2 = ''
+          // arr.forEach(item => {
+          //   text2 = text2 + item
+          // });
+          // let str = row[name]?row[name]:''
+          //   this.$set(row,name,str +text2)
+          // console.log(row[name])
+          //     this.saveValue(row[name])
+            
+            
+          // }
+          
           // this.$forceUpdate()
           // if(this.tableHeight){
           //   this.setHeight()
@@ -76,6 +127,7 @@ export const explain = {
       const reader = new FileReader();
       reader.onload = (event) => {
         var blobUrl = event.target.result
+        console.log(blobUrl)
         var new_img = '<img src="' + blobUrl + '" style="width:80px;height: 80px;border: 1px solid #f9f6f675;vertical-align:middle" >';
         
         let str = row[name]?row[name]:''

+ 19 - 3
RMS-FrontEnd/src/views/report/index.vue

@@ -2,13 +2,13 @@
     <div style="background:white;">
         <div style="height:50px">
             <div style="display:inline-block;margin-left:20px">
-                <el-dropdown size="medium" style="margin-top:10px;margin-right:20px">
+                <el-dropdown size="medium" style="margin-top:10px;margin-right:20px" v-if="$permission('/pcs/report/add')">
                 <el-button type="primary" size="small" >
                     创建报告<i class="el-icon-arrow-down el-icon--right"></i>
                 </el-button>
                    <el-dropdown-menu slot="dropdown" style="margin-top:0px" v-if="dictMessage.REPORT_TYPE">
                     <!-- 遍历按钮 -->
-                      <el-dropdown-item v-for="item in dictMessage.REPORT_TYPE.filter(item=>!['5','6'].includes(item.dictChildValue))" :key="item.dictChildLabel"  @click.native="handleAnalyse(item.dictChildValue)">{{item.dictChildLabel}}</el-dropdown-item>
+                      <el-dropdown-item v-for="item in dictMessage.REPORT_TYPE.filter(item=>!['5','6'].includes(item.dictChildValue))" :key="item.dictChildLabel"  @click.native="handleAnalyse(item.dictChildValue)" v-if="$permission('/pcs/report/add/'+item.permission)">{{item.dictChildLabel}}</el-dropdown-item>
                     </el-dropdown-menu>
                 </el-dropdown>
 
@@ -114,7 +114,23 @@ export default {
   computed: {
     dictMessage() {
       // console.log(111,this.$store.state.dictMessage.dictMessage);
-      return this.$store.state.dictMessage.dictMessage
+      var a = this.$store.state.dictMessage.dictMessage
+      if(a.REPORT_TYPE){
+        a.REPORT_TYPE.forEach(item=>{
+          if(['0','1','2'].includes(item.dictChildValue)){
+            item.permission = 'invalid'
+          }else if(item.dictChildValue == 3){
+            item.permission = 'FTO'
+          }else if(item.dictChildValue == 4){
+            item.permission = 'tort'
+          }else if(item.dictChildValue == 5){
+            item.permission = 'avoidDesign'
+          }
+        })
+      }
+      
+
+      return a
     },
     state(){
       var a = this.$store.state.dictMessage.dictMessage.REPORT_STATE