{"remainingRequest":"/data/jenkins/workspace/badp-bcxin-web-5.x-vue/node_modules/vue-loader/lib/index.js??vue-loader-options!/data/jenkins/workspace/badp-bcxin-web-5.x-vue/src/components/excel_upload.vue?vue&type=script&lang=js&","dependencies":[{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-vue/src/components/excel_upload.vue","mtime":1725957645720},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-vue/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-vue/node_modules/thread-loader/dist/cjs.js","mtime":499162500000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-vue/node_modules/babel-loader/lib/index.js","mtime":315532800000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-vue/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-vue/node_modules/vue-loader/lib/index.js","mtime":1655715099000}],"contextDependencies":[],"result":["\nimport Constant from \"@/Constant.js\";\nexport default {\n props: [\n \"viewId\", \n \"act\",\n \"view\",\n \"openParams\"\n ],\n beforeDestroy(){\n window.clearInterval(this.task)\n },\n data: function() {\n return {\n Constant,\n excelPath:'',\n loading: false,\n isShowProgress: false,//是否显示导入excell进度条\n importProgress: 0,\n uploading:false,\n task:'',\n\t hiddenImport:true,\n };\n },\n\n methods: {\n downloadFile() {\n let path = this.act.excelTemplate\n let name = path.split(\"/\")[path.split(\"/\").length-1];\n this.$api.getFileExisted(\n encodeURIComponent(name),\n encodeURIComponent(path),\n {\n onSucess: res => {\n if(res.data.errcode == 500) {\n this.$message({\n message: this.$t('msg.no_moudules'),\n type: 'warning'\n });\n }else {\n this.$api.templateDownload(\n name,\n path,\n {\n onSucess: response => {\n let fileName = \"\";\n let type = response.headers['content-type'];\n if(response.headers['content-disposition']) {\n //fileName = decodeURIComponent(response.headers['content-disposition'].split(\"=\")[1]);\n fileName = name;\n }else {\n fileName=this.$t('msg.no_moudules');\n }\n this.download(response, type, fileName)\n }\n }\n )\n }\n }\n }\n )\n },\n\n download(res, type, filename){\n const blob = new Blob([res.data], {\n // 如果后端没返回下载文件类型,则需要手动设置:type: 'application/pdf;chartset=UTF-8' 表示下载文档为pdf,如果是word则设置为msword,excel为excel\n type: type\n });\n const a = document.createElement('a');\n const herf = window.URL.createObjectURL(blob);\n // 下载链接\n a.href = herf;\n // 下载文件名,如果后端没有返回,可以自己写a.download = '文件.pdf'\n a.download = filename;\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n window.URL.revokeObjectURL(herf);\n },\n\n\n importExcel(val) {\n if(!this.excelPath) {\n this.$message.error(this.$t('msg.select_excel'));\n }else {\n\t\tthis.hiddenImport = false\n this.runBeforeAction(val);\n }\n },\n\n uploadImg(e){\n this.uploading = true;\n this.loading = true;\n\t\t\tlet fileArray = e.file;\n\t\t\tlet file = fileArray;\n\t\t\tlet that = this;\n let form = new FormData();\n let id = 'WU_FILE_0',\n name = e.file.name,\n type = e.file.type,\n lastModifiedDate = e.file.lastModifiedDate,\n size = e.file.size;\n form.append(\"id\", id);\n form.append(\"name\", name);\n form.append(\"type\", type);\n form.append(\"lastModifiedDate\", lastModifiedDate);\n form.append(\"size\", size);\n form.append(\"file\", file);\n let allowedTypes = \"xls;xlsx\",\n fieldid = null,\n fileSaveMode = undefined,\n nullpath = \"IMPORTEXCEL_PATH\";\n this.$api.importFile(\n form,\n nullpath,\n fileSaveMode,\n fieldid,\n allowedTypes,\n this.openParams.appId,\n {\n onSucess: res => {\n if(res.data){\n setTimeout(() => {\n this.loading = false;\n this.uploading = false;\n }, 3000)\n let path = res.data.split(\"|\")[1];\n //that.$emit(\"getExcelPath\", path); \n that.excelPath = path;\n }\n }\n }\n )\n },\n \n //执行脚本前\n runBeforeAction(val){\n let op = this.openParams;\n let act = this.act;\n let formData = {\n docId: \"\",\n document: {},\n formId: this.view.relatedForm,\n parentId: op.parentId ? op.parentId : \"\",\n templateForm: this.view.templateForm,\n viewId: op.actionContent,\n _selects: [],\n }\n if(op.isRelate) {\n formData.isRelate = op.isRelate;\n }\n let divId = act.id;\n let actType = act.type;\n this.$api.runBeforeActionScript(\n op.appId, \n divId, \n formData, \n actType,\n '', //treedocid\n '', //flowType\n {\n onSucess: response => {\n if(response.data.errcode == 0 && response.data.data) {\n let errmsg = response.data.data.content;\n this.$notify.error({\n title: errmsg,\n message: ''\n });\n }else if(response.data.errcode == 0){\n this.performExport(val);\n }\n }\n });\n },\n\n //执行脚本后\n runAfterAction() {\n let op = this.openParams;\n let act = this.act;\n let formData = {\n docId: \"\",\n document: {},\n formId: this.view.relatedForm,\n parentId: op.parentId ? op.parentId : \"\",\n templateForm: \"\",\n viewId: op.actionContent,\n _selects: [],\n }\n let appId = op.appId;\n let divId = act.id;\n let docId = '';\n let parentId = op.parentId ? op.parentId : \"\";\n let _templateForm = '';\n let _ = '';\n this.$api.runAfterActionScript(\n appId,\n divId,\n docId,\n this.openParams.actionContent,\n this.view.relatedForm,\n _templateForm,\n parentId,\n _,\n formData,\n act.type,\n '', //treedocid\n {\n onSucess: response => {\n if(response.data.errcode == 0) {\n if(response.data.data.content) {\n let errmsg = response.data.data.content.content;\n this.$notify({\n title: errmsg,\n message: '',\n type: 'warning'\n });\n }\n }\n }\n }\n );\n },\n\n performExport(val) {\n let op = this.openParams;\n let data = { \n impmappingconfigid: this.act.impmappingconfigid,\n path: this.excelPath,\n actId: this.act.id,\n parentId: \"\",\n isRelate: undefined,\n type : val \n };\n if(val == 'validation') {\n this.loading = true;\n this.$api.importExcel(\n op.appId, \n this.viewId, \n data,\n {\n onSucess: response => {\n this.loading = false;\n if(response.data.errcode==0) {\n this.$msgbox({\n title: this.$t('tip'),\n message: this.$t('msg.import_data'),\n showCancelButton: true,\n confirmButtonText: this.$t('msg.confirm'),\n cancelButtonText: this.$t('btns.cancel'),\n }).then(() => {\n this.importExcel('excelimport');\n }).catch(() => {\n this.$emit(\"event\");\n this.$message({\n type: 'info',\n message: this.$t('msg.cancel_upload')\n });\n });\n }else {\n if(response.data.errmsg) {\n let arr = response.data.data;\n let errMessage = '';\n errMessage = arr.join('
');\n this.$message.error({\n title:response.data.errmsg,\n dangerouslyUseHTMLString: true,\n message: errMessage,\n });\n }else {\n this.$message.error(this.$t('msg.err'));\n }\n this.$emit(\"event\");\n }\n }\n }\n );\n }else {\n if(op.parentId) {\n data.parentId = op.parentId;\n }\n if(op.isRelate) {\n data.isRelate = \"true\";\n }else if(op.isRelate === false) {\n data.isRelate = \"false\";\n }\n let exparams = {\n appId: op.appId,\n docid: op.parentId,\n field: \"\",\n formId: op.formId,\n isRelate: op.isRelate,\n parentId: op.parentId\n }\n data.exparams = exparams\n this.task = setInterval(() => {\n this.$api.importExcelProgress({\n onSucess: res => {\n this.isShowProgress = true;\n let excelImportCount = res.data.data.excelImportCount//获取已经导入的条数\n let excelRowCount = res.data.data.excelRowCount//需要导入的总条数\n let process = Math.floor(((excelImportCount / excelRowCount) * 100))\n if(process) {\n this.importProgress = process\n }else {\n this.importProgress = 0\n }\n if(process == 100) {\n this.importProgress = process\n window.clearInterval(this.task)\n this.$notify.success({\n title: \"导入成功\",\n message: \"导入成功\"\n });\n }\n if(res.data.data.importExcelResult){//导入出错提示信息--统一在轮询这边提示\n res.data.data.importExcelResult.data.forEach(item=>{\n this.$notify.error({\n title: res.data.data.importExcelResult.errmsg,\n message: item,\n duration: 0\n });\n }) \n window.clearInterval(this.task) \n }\n\n }\n })\n }, 500);\n this.$api.importExcel(\n op.appId, \n this.viewId, \n data,\n {\n onSucess: response => {\n if(response.data.errcode==0) {\n //导入轮询\n // this.$notify({\n // title: this.$t('success'),\n // message: '',\n // type: 'success'\n // });\n //this.$emit(\"update:visible\", false);\n this.$emit(\"event\");\n this.runAfterAction();\n \n }else {\n if(response.data.errcode == 4001) {\n let arr = response.data.data\n let errMessage = ''\n for(let i=0; i\",errMessage)\n // this.$notify.error({\n // title: response.data.errmsg,\n // message: `${errMessage}`\n // });\n // this.$message.error(response.data.errmsg);\n }else {\n // this.$message.error(this.$t('msg.err'));\n }\n this.$emit(\"event\");\n }\n }\n }\n );\n }\n },\n\n\n\t\thandlePreview(file) {\n \n\t\t},\n\t\thandleExceed(files, fileList) {\n\t\t\t\n\t\t},\n\t\tbeforeUpload(file) {\n\t\t\t\n\t\t},\n\t\tbeforeRemove(file) {\n\t\t\t\n\t\t},\n\t\thandleRemove(file) {\n\t\t\t\n\t\t},\n\n\n\n }\n};\n",null]}