Commit ac389712 by 西瓜

上级下发模块,线索通知添加word文档下载

parent 21d75151
......@@ -1888,7 +1888,7 @@
"dev": true
},
"vue-loader-v16": {
"version": "npm:vue-loader@16.2.0",
"version": "npm:vue-loader-v16@16.2.0",
"resolved": "https://registry.nlark.com/vue-loader/download/vue-loader-16.2.0.tgz",
"integrity": "sha1-BGpTMI3Ufljv4g3ewe3sAnzjtG4=",
"dev": true,
......@@ -4926,6 +4926,21 @@
"esutils": "^2.0.2"
}
},
"docxtemplater": {
"version": "3.22.5",
"resolved": "https://registry.nlark.com/docxtemplater/download/docxtemplater-3.22.5.tgz",
"integrity": "sha1-Cq/IUL+g/1UU7HlEy8mBeuIbERA=",
"requires": {
"xmldom": "^0.6.0"
},
"dependencies": {
"xmldom": {
"version": "0.6.0",
"resolved": "https://registry.nlark.com/xmldom/download/xmldom-0.6.0.tgz",
"integrity": "sha1-Q6luy4vuzpkc7zgsCDl9gtTQxG8="
}
}
},
"dom-converter": {
"version": "0.2.0",
"resolved": "https://registry.npm.taobao.org/dom-converter/download/dom-converter-0.2.0.tgz",
......@@ -5823,9 +5838,9 @@
}
},
"file-saver": {
"version": "2.0.2",
"resolved": "https://registry.npm.taobao.org/file-saver/download/file-saver-2.0.2.tgz",
"integrity": "sha1-BtbnKKnqLfLM4vjZ6E383DOOwXo="
"version": "2.0.5",
"resolved": "https://registry.npm.taobao.org/file-saver/download/file-saver-2.0.5.tgz?cache=0&sync_timestamp=1605790845476&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffile-saver%2Fdownload%2Ffile-saver-2.0.5.tgz",
"integrity": "sha1-1hz+LOBZ9BTYmendbUEH7iVnDDg="
},
"file-uri-to-path": {
"version": "1.0.0",
......@@ -7414,6 +7429,11 @@
"verror": "1.10.0"
}
},
"jszip-utils": {
"version": "0.1.0",
"resolved": "https://registry.npm.taobao.org/jszip-utils/download/jszip-utils-0.1.0.tgz",
"integrity": "sha1-jATN7c2ykeg/BV9bJhs6MYjOygs="
},
"keycode": {
"version": "2.2.0",
"resolved": "https://registry.npm.taobao.org/keycode/download/keycode-2.2.0.tgz",
......@@ -8827,8 +8847,7 @@
"pako": {
"version": "1.0.11",
"resolved": "https://registry.npm.taobao.org/pako/download/pako-1.0.11.tgz",
"integrity": "sha1-bJWZ00DVTf05RjgCUqNXBaa5kr8=",
"dev": true
"integrity": "sha1-bJWZ00DVTf05RjgCUqNXBaa5kr8="
},
"parallel-transform": {
"version": "1.2.0",
......@@ -9028,6 +9047,14 @@
"pinkie": "^2.0.0"
}
},
"pizzip": {
"version": "3.0.6",
"resolved": "https://registry.npm.taobao.org/pizzip/download/pizzip-3.0.6.tgz",
"integrity": "sha1-IjSFUR+eI6u7KIj9Z3NOEvx4Yag=",
"requires": {
"pako": "~1.0.2"
}
},
"pkcs7": {
"version": "1.0.4",
"resolved": "https://registry.npm.taobao.org/pkcs7/download/pkcs7-1.0.4.tgz",
......
......@@ -9,11 +9,14 @@
},
"dependencies": {
"core-js": "^3.6.5",
"docxtemplater": "^3.22.5",
"echarts": "^4.9.0",
"element-ui": "^2.14.1",
"file-saver": "^2.0.2",
"file-saver": "^2.0.5",
"js-cookie": "^2.2.1",
"jszip-utils": "^0.1.0",
"kindeditor": "^4.1.10",
"pizzip": "^3.0.6",
"qs": "^6.9.4",
"sass-resources-loader": "^2.1.1",
"vue": "^2.6.11",
......
......@@ -210,6 +210,7 @@
<div class="tz_top">
<div class="tz_wh">{{ item.xstz.zlwh }}</div>
<div class="tz_title">{{ item.xstz.zllxdm }}</div>
<div @click="exportWord" style="cursor:pointer;display: inline-block;float: right;background-color:rgb(54 155 250);color: #fff;margin-top: 10px;padding: 2px 10px;">Word下载</div>
</div>
<div class="tz_bottom">
<div class="tz_jsdw">{{ item.xstz.jsdwGajgjgdmStr }}:</div>
......@@ -2197,6 +2198,12 @@
</template>
<script>
// 导出word依赖
import PizZip from 'pizzip'
import docxtemplater from 'docxtemplater'
import JSZipUtils from 'jszip-utils'
import { saveAs } from 'file-saver'
import { mapGetters } from 'vuex'
import axios from 'axios'
import utilTool from '@/utils/util.js'
......@@ -3623,7 +3630,8 @@ export default {
//codeTree预设
props: [],
isNf: false
}
},
wordList: ''
}
},
computed: {
......@@ -3639,6 +3647,7 @@ export default {
this.inputmiy2 = ''
},
mounted () {
// alert("porpsfyjmbz:"+this.porpsfyjmbz);
// alert("porpsfxsjman:"+this.porpsfxsjman);
// if (this.porpsfyjmbz == '0') {
......@@ -5714,7 +5723,52 @@ export default {
},
handleClose () {
this.dialogVisible = false
}
},
// word文档导出
exportWord() {
debugger
this.xsDetails[0].xstzFj.forEach(item => {
console.log(item, '内容数据');
this.wordList = item.fjName
})
// alert('导出word文档!')
const _this = this
JSZipUtils.getBinaryContent('./file/input.docx', function(error, content) {
// 抛出异常
if (error) {
throw error
}
// 创建一个JSZip实例,内容为模板的内容
let zip = new PizZip(content)
// 创建并加载docxtemplater实例对象
let doc = new docxtemplater().loadZip(zip)
// 设置模板变量的值
doc.setData({
// ..._this.wordList,
..._this.xsDetails[0].xstz,
fjName: _this.wordList
// ..._this.xsDetails[0].xstzFj[0].
// ..._this.types,
// question: _this.question,
})
try {
// 用模板变量的值替换所有模板变量
doc.render()
} catch (error) {
this.$message.error('导出报表失败')
throw error
}
// 生成一个代表docxtemplater对象的zip文件(不是一个真实的文件,而是在内存中的表示)
let out = doc.getZip().generate({
type: 'blob',
mimeType:
'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
})
// 将目标文件对象保存为目标类型的文件,并命名
saveAs(out, `${_this.xsDetails[0].xstz.zllxdm}.docx`)
})
}
},
watch: {
filterText (val) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment