{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\bizComponents\\control\\HtFile.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\bizComponents\\control\\HtFile.vue","mtime":1675071991335},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\r\nimport utils from \"@/components/bizComponents/utils.js\";\r\nimport req from \"@/request.js\";\r\nimport FileUpload from \"@/components/bizComponents/common/fileUploadFlow.vue\";\r\nimport Pdf from \"@/components/bizComponents/common/pdf.vue\";\r\nimport IframeSrc from \"@/components/bizComponents/common/iframeSrc.vue\";\r\nimport FileTree from \"@/components/bizComponents/common/fileTree.vue\";\r\nexport default {\r\n  name: \"ht-file\",\r\n  props: [\"validate\", \"value\", \"name\", \"permission\",\"multiple\",\"accept\",\"limit\",\"propConf\",\"tooltipplacement\",\"allowPreview\",\"allowDownload\"],\r\n  data() {\r\n    return {\r\n      src:\"\",\r\n      iframeSrc:\"\",\r\n      inputVal: \"\",\r\n      val:\"\",\r\n      uploadVal:[],\r\n      fileId:\"\",\r\n      fileTree:\"\",\r\n      filesData:[],\r\n      propConfList:[],\r\n      extraProps:[]\r\n    };\r\n  },\r\n  watch: {\r\n    inputVal: function(newVal, oldVal) {\r\n      this.val = newVal;\r\n      this.$emit(\"input\", this.val);\r\n    }\r\n  },\r\n  computed: {\r\n    inputWriteable: function() {\r\n      return utils.getWriteable(this.permission);\r\n    },\r\n    inputValidate: function() {\r\n      var validateObj= this.$store.state.index.validate;\r\n      return utils.addRequiredOrNot(this.permission, this.validate ,validateObj ,this);\r\n    },\r\n    inputName: function() {\r\n      let labeldesc = \"\";\r\n      if(this.$slots && this.$slots.labeldesc && this.$slots.labeldesc[0].children && this.$slots.labeldesc[0].children[0].text){\r\n        labeldesc = this.$slots.labeldesc[0].children[0].text;\r\n        return this.name ? this.name : utils.getName()+ \"-\" +labeldesc;\r\n      }else{\r\n        return this.name ? this.name : utils.getName();\r\n      }\r\n    },\r\n    canPreview: function(){\r\n      if(this.permission=='r' && !this.allowPreview){\r\n        return false;\r\n      }\r\n      return true;\r\n    },\r\n    canDownload: function(){\r\n      if(this.permission=='r' && !this.allowDownload){\r\n        return false;\r\n      }\r\n      return true;\r\n    },\r\n  },\r\n  created() {\r\n     if (this.propConf) {\r\n      let list = JSON.parse(this.propConf);\r\n      list.forEach(element => {\r\n         if(element.desc){\r\n           if(element.requried){\r\n               element.inputValidate='required:true';\r\n           }\r\n           this.propConfList.push(element);\r\n           this.extraProps.push(element.name);\r\n         }\r\n      });\r\n    }\r\n\r\n    if(this.value){\r\n       this.inputVal= this.value;\r\n       this.uploadVal=JSON.parse(this.value);\r\n       if(this.uploadVal){\r\n          for(let i=0;i<this.uploadVal.length;i++ ){\r\n            let file ={id:this.uploadVal[i].id,name:this.uploadVal[i].name,size:this.uploadVal[i].size,type:utils.substringType(this.uploadVal[i].name,\".\"),bytes:utils.bigDecimal(this.uploadVal[i].size),username:this.uploadVal[i].username};\r\n            this.extraProps.forEach(prop => {\r\n               file[prop] = this.uploadVal[i][prop];\r\n            });\r\n            this.filesData.push(file);\r\n          }\r\n       }\r\n    }\r\n   \r\n    this.$validator = this.$root.$validator;\r\n  },\r\n  mounted() {\r\n  },\r\n  methods: {\r\n    //附件下载\r\n    downloadFile(file){\r\n      this.$store.dispatch(\"menu/downloadFile\",file.id);\r\n    },\r\n    previewFile(files){\r\n        var id = files.id;\r\n        this.$store.dispatch(\"menu/onlinePreview\",id).then(data=>{ \r\n                this.fileId = id;\r\n                if(data.result==\"html\"){\r\n                    this.iframeSrc=window.context.portal+data.pdfUrl;\r\n                    this.$refs.iframeSrcSearch.handleOpen();\r\n                }else if(data.result==\"txt\"){\r\n                    this.iframeSrc=window.context.portal+data.TxtUrl;\r\n                    this.$refs.iframeSrcSearch.handleOpen();\r\n                }else if(data.result==\"picture\"){\r\n                    this.iframeSrc=window.context.portal+data.currentUrl;\r\n                    this.$refs.iframeSrcSearch.handleOpen();\r\n                }else if(data.result==\"compress\"){\r\n                    this.fileTree=JSON.parse(data.fileTree).childList;\r\n                    this.$refs.fileTreeSearch.handleOpen();\r\n                }else{\r\n                    this.src = window.context.portal+data.pdfUrl;\r\n                    this.$refs.pdfSearch.handleOpen();\r\n                }\r\n            });\r\n    },\r\n    select() {\r\n      this.$message.success(\"打开选择器对话框\");\r\n    }\r\n  },\r\n  components: {Pdf,IframeSrc,FileUpload,FileTree }\r\n};\r\n",null]}