From 9540ef3a58ed9b9c643db8dc45aa18c1a9f26a01 Mon Sep 17 00:00:00 2001 From: "[li_she]" <[li.she@xujiesoft.com]> Date: Thu, 9 Dec 2021 17:25:01 +0800 Subject: [PATCH] =?UTF-8?q?pdf=20=E9=A2=84=E8=A7=88=20sxm=202021-12-9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 127 +++++++- package.json | 1 + src/main.js | 3 +- .../factory/tblbasedata-add-or-update.vue | 36 +-- .../purchaseorder/procurementReview.vue | 24 +- src/views/modules/sys/language/common.vue | 278 ++++++------------ 6 files changed, 246 insertions(+), 223 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5a78c50..b73a7d1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,6 +4,11 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@types/json-schema": { + "version": "7.0.9", + "resolved": "https://rg.cnpmjs.org/@types/json-schema/download/@types/json-schema-7.0.9.tgz", + "integrity": "sha1-l+3JA36gw4WFMgsolk3eOznkZg0=" + }, "@types/node": { "version": "8.10.48", "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.48.tgz", @@ -1076,8 +1081,7 @@ "babel-plugin-syntax-dynamic-import": { "version": "6.18.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", - "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=", - "dev": true + "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=" }, "babel-plugin-syntax-exponentiation-operator": { "version": "6.13.0", @@ -3526,11 +3530,6 @@ "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", "dev": true }, - "dayjs": { - "version": "1.10.7", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.7.tgz", - "integrity": "sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig==" - }, "dayjs": { "version": "1.10.7", "resolved": "https://r.cnpmjs.org/dayjs/download/dayjs-1.10.7.tgz", @@ -15185,6 +15184,11 @@ "sha.js": "^2.4.8" } }, + "pdfjs-dist": { + "version": "2.6.347", + "resolved": "https://rg.cnpmjs.org/pdfjs-dist/download/pdfjs-dist-2.6.347.tgz", + "integrity": "sha1-8lftZug76QDND9KFJKIYf7niXNU=" + }, "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", @@ -19681,6 +19685,90 @@ } } }, + "vue-pdf": { + "version": "4.3.0", + "resolved": "https://rg.cnpmjs.org/vue-pdf/download/vue-pdf-4.3.0.tgz", + "integrity": "sha1-1feQ7nln57eqkIm5exGrFo4Z29A=", + "requires": { + "babel-plugin-syntax-dynamic-import": "^6.18.0", + "loader-utils": "^1.4.0", + "pdfjs-dist": "2.6.347", + "raw-loader": "^4.0.2", + "vue-resize-sensor": "^2.0.0", + "worker-loader": "^2.0.0" + }, + "dependencies": { + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://rg.cnpmjs.org/ajv-keywords/download/ajv-keywords-3.5.2.tgz", + "integrity": "sha1-MfKdpatuANHC0yms97WSlhTVAU0=" + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://r.cnpmjs.org/emojis-list/download/emojis-list-3.0.0.tgz", + "integrity": "sha1-VXBmIEatKeLpFucariYKvf9Pang=" + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://rg.cnpmjs.org/loader-utils/download/loader-utils-1.4.0.tgz", + "integrity": "sha1-xXm140yzSxp07cbB+za/o3HVphM=", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://r.cnpmjs.org/minimist/download/minimist-1.2.5.tgz", + "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=" + }, + "raw-loader": { + "version": "4.0.2", + "resolved": "https://r.cnpmjs.org/raw-loader/download/raw-loader-4.0.2.tgz", + "integrity": "sha1-GqxrfRrRUB5m79rBUixz5ZpYTrY=", + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "dependencies": { + "json5": { + "version": "2.2.0", + "resolved": "https://r.cnpmjs.org/json5/download/json5-2.2.0.tgz", + "integrity": "sha1-Lf7+cgxrpSXZ69kJlQ8FFTFsiaM=", + "requires": { + "minimist": "^1.2.5" + } + }, + "loader-utils": { + "version": "2.0.2", + "resolved": "https://rg.cnpmjs.org/loader-utils/download/loader-utils-2.0.2.tgz", + "integrity": "sha1-1uO0+4GHByGuTghoqxHdY4NowSk=", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + } + } + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://rg.cnpmjs.org/schema-utils/download/schema-utils-3.1.1.tgz", + "integrity": "sha1-vHTEtraZXB2I92qLd76nIZ4MgoE=", + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "vue-resize-sensor": { + "version": "2.0.0", + "resolved": "https://rg.cnpmjs.org/vue-resize-sensor/download/vue-resize-sensor-2.0.0.tgz", + "integrity": "sha1-Olh/1oAuFohwnPLFqtrnoAdZUr8=" + }, "vue-router": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.0.1.tgz", @@ -20497,6 +20585,31 @@ "errno": "~0.1.7" } }, + "worker-loader": { + "version": "2.0.0", + "resolved": "https://rg.cnpmjs.org/worker-loader/download/worker-loader-2.0.0.tgz", + "integrity": "sha1-Rf2j73asqBV3GokQc5nuQRm0MKw=", + "requires": { + "loader-utils": "^1.0.0", + "schema-utils": "^0.4.0" + }, + "dependencies": { + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://rg.cnpmjs.org/ajv-keywords/download/ajv-keywords-3.5.2.tgz", + "integrity": "sha1-MfKdpatuANHC0yms97WSlhTVAU0=" + }, + "schema-utils": { + "version": "0.4.7", + "resolved": "https://rg.cnpmjs.org/schema-utils/download/schema-utils-0.4.7.tgz", + "integrity": "sha1-unT1l9K+LqiAExdG7hfQoJPGgYc=", + "requires": { + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, "wrap-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", diff --git a/package.json b/package.json index 7ffbaf7..5334dfe 100644 --- a/package.json +++ b/package.json @@ -36,6 +36,7 @@ "vue-cookie": "1.1.4", "vue-i18n": "^8.25.0", "vue-json-excel": "^0.3.0", + "vue-pdf": "^4.3.0", "vue-router": "3.0.1", "vuex": "3.0.1", "xlsx": "^0.17.0" diff --git a/src/main.js b/src/main.js index 9ee8001..145258e 100644 --- a/src/main.js +++ b/src/main.js @@ -15,9 +15,10 @@ import JsonExcel from 'vue-json-excel' import i18n from '@/i18n/i18n' import './directives' import decimalUtil from '@/utils/decimalUtil.js' - +import pdf from 'vue-pdf' Vue.component('downloadExcel', JsonExcel) +Vue.component('pdf', pdf) Vue.use(VueCookie) Vue.config.productionTip = false diff --git a/src/views/modules/factory/tblbasedata-add-or-update.vue b/src/views/modules/factory/tblbasedata-add-or-update.vue index 1b5b639..208bd9c 100644 --- a/src/views/modules/factory/tblbasedata-add-or-update.vue +++ b/src/views/modules/factory/tblbasedata-add-or-update.vue @@ -1,23 +1,12 @@ @@ -226,6 +235,8 @@ }, data() { return { + pdfUrl: '', + pdfVisible: false, fileList: [], active: 0, currentReviewStepData :{}, @@ -739,14 +750,14 @@ methods: { // 文件下载 fileDownload(row) { - axios.get('/api/ftp/file/downFtpFile/' + row.id, { + this.pdfVisible = true + axios.get('/proxyApi/ftp/file/downFtpFile/' + row.id, { responseType: 'blob', headers: { 'Content-Type': 'application/json', 'token':Vue.cookie.get('token') } }).then(({data}) => { - // 不限制文件下载类型 const blob = new Blob([data], {type: "application/octet-stream"}) // 下载文件名称 @@ -756,10 +767,11 @@ linkNode.download = fileName // a标签的download属性规定下载文件的名称 linkNode.style.display = 'none' linkNode.href = URL.createObjectURL(blob) // 生成一个Blob URL - document.body.appendChild(linkNode) - linkNode.click() // 模拟在按钮上的一次鼠标单击 - URL.revokeObjectURL(linkNode.href) // 释放URL 对象 - document.body.removeChild(linkNode) + this.pdfUrl = linkNode.href + // document.body.appendChild(linkNode) + // linkNode.click() // 模拟在按钮上的一次鼠标单击 + // URL.revokeObjectURL(linkNode.href) // 释放URL 对象 + // document.body.removeChild(linkNode) }) }, initFileModel(row){ diff --git a/src/views/modules/sys/language/common.vue b/src/views/modules/sys/language/common.vue index ce7dfd2..bc65e9b 100644 --- a/src/views/modules/sys/language/common.vue +++ b/src/views/modules/sys/language/common.vue @@ -12,7 +12,7 @@ {{buttons.search}} - {{buttons.defaultTable}} + {{buttons.defaultTable}} {{ buttons.settingTable}} {{buttons.add}} - 打印报表 ' + document.getElementById('commmon').innerHTML + '' //获取打印内容 - // - // LODOP.PRINT_INIT('') //初始化 - // LODOP.PRINT_DESIGN(); - // //LODOP.PREVIEW(); - // //LODOP.PRINT(); - // - // LODOP.SET_PRINT_PAGESIZE(2, 0, 0, 'A4') //设置横向 - // LODOP.ADD_PRINT_HTM('1%', '1%', '98%', '98%', strFormHtml) //设置打印内容 - // LODOP.SET_PREVIEW_WINDOW(2, 0, 0, 800, 600, '') //设置预览窗口模式和大小 - // LODOP.PREVIEW() - // } }, // 校验用户是否收藏 favoriteIsOk(){ @@ -574,14 +493,13 @@ import column from "../../common/column"; this.languageList = data.rows }) }, - // 获取页面提示信息 + // 获取页面多语言 getMsgLanguage(){ let queryLang = { functionId: 9001, table_id: 'common1001', languageCode: this.$i18n.locale } - searchPageLanguageData(queryLang).then((data)=>{ if (JSON.stringify(data.data) != '{}' ) { this.pageLanguageData = data.data @@ -633,16 +551,10 @@ import column from "../../common/column"; }, // 保存 默认配置 列 saveColumnList() { - - saveTableDefaultList(this.columnList).then(({data}) => { - if (data.code == 0) { - this.$message.success(data.msg) - this.showDefault = false - } else { - this.$message.error(data.msg) - } - }) - saveTableDefaultList(this.columnList1).then(({data}) => { + // 保存页面 button label title 属性 + // 保存页面 table属性 + let sumColumnList = this.columnList.concat(this.columnList1); + saveTableDefaultList(sumColumnList).then(({data}) => { if (data.code == 0) { this.$message.success(data.msg) this.showDefault = false @@ -650,6 +562,7 @@ import column from "../../common/column"; this.$message.error(data.msg) } }) + let pageData = saveButtonList(this.buttonList).then(({data}) => { }) this.getFunctionButtonList() @@ -764,6 +677,7 @@ import column from "../../common/column"; this.getSysLanguageParamList() this.getFunctionButtonList() this.favoriteIsOk() + this.getMsgLanguage() } }