|
@@ -367,6 +367,13 @@
|
|
|
</el-dropdown-item>
|
|
|
</template>
|
|
|
</template>
|
|
|
+ <template v-if="columnData?.word?.isWord">
|
|
|
+ <el-dropdown-item>
|
|
|
+ <el-button size="mini" type="text" plain :key="i" @click="columnBtnsHandel('wordExport', scope)">
|
|
|
+ {{ columnData?.word?.wordTitle }}
|
|
|
+ </el-button>
|
|
|
+ </el-dropdown-item>
|
|
|
+ </template>
|
|
|
<el-dropdown-item v-if="columnData.isQrcode">
|
|
|
<el-button size="mini" type="text" @click="getQrcode(scope.row, scope.row)">下载二维码</el-button>
|
|
|
</el-dropdown-item>
|
|
@@ -417,6 +424,9 @@
|
|
|
</el-dropdown-menu>
|
|
|
</el-dropdown>
|
|
|
</div>
|
|
|
+ <template v-if="columnData.word.isWord">
|
|
|
+ <el-button size="mini" type="text" plain @click="headBtnsHandel('batchWord')"> 批量{{ columnData.word.wordTitle }} </el-button>
|
|
|
+ </template>
|
|
|
<template>
|
|
|
<div v-for="(item, i) in customBtns.filter((o) => o.buttonLocation === 1)" :key="i">
|
|
|
<el-button size="mini" type="text" :icon="item.icon" @click="customBtnsBatchHandel(item)">
|
|
@@ -557,7 +567,11 @@
|
|
|
<el-button size="mini" v-if="item.value !== 'journal'" :type="i === 0 ? 'primary' : 'text'" :icon="item.icon" @click="headBtnsHandel(item.value, item.importStatus)" :key="i">
|
|
|
{{ item.label }}
|
|
|
</el-button>
|
|
|
-
|
|
|
+ <template v-if="item.value == 'wordExport'">
|
|
|
+ <el-button size="mini" type="text" plain :key="i" @click="columnBtnsHandel(item.value, { row: itemRow }, item)">
|
|
|
+ {{ item.label }}
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
<!-- <el-dropdown v-else @command="handleCommand">
|
|
|
<span class="el-dropdown-link">操作日志<i class="el-icon-arrow-down el-icon--right"></i></span>
|
|
|
<el-dropdown-menu slot="dropdown">
|
|
@@ -859,7 +873,7 @@ import { getAPIData, getTreeAPIData } from '@/components/Dataset-filter/util'
|
|
|
import AmisSdk from '@/components/AmisSdk.vue'
|
|
|
import { userInfo } from '@/api/user'
|
|
|
import { getFileById } from '@/api/common'
|
|
|
-import { comUrl } from '@/utils/define'
|
|
|
+import { APIURl, comUrl, imgurl } from '@/utils/define'
|
|
|
import QRCode from 'qrcodejs2'
|
|
|
import CardTemplate from '@/components/CardTemplate/index.vue'
|
|
|
import { getDataPermLabel } from '@/components/Dataset-filter/report'
|
|
@@ -2060,6 +2074,10 @@ export default {
|
|
|
})
|
|
|
this.batchEdit()
|
|
|
}
|
|
|
+
|
|
|
+ if (key === 'batchWord') {
|
|
|
+ this.batchWord()
|
|
|
+ }
|
|
|
},
|
|
|
handleCommand(command) {
|
|
|
if (command === 'exportList') {
|
|
@@ -2309,8 +2327,12 @@ export default {
|
|
|
})
|
|
|
}
|
|
|
if (key == 'wordExport') {
|
|
|
+ let amisScoped = ''
|
|
|
this.isWordShow = true
|
|
|
console.log(this.columnData.word)
|
|
|
+
|
|
|
+ const wordPath = process.env.NODE_ENV === 'development' ? imgurl + '/' : '/'
|
|
|
+
|
|
|
setTimeout(() => {
|
|
|
const amis = amisRequire('amis/embed')
|
|
|
const list = {}
|
|
@@ -2324,7 +2346,7 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
const word = document.getElementById('word')
|
|
|
- const amisScoped = amis.embed(word, {
|
|
|
+ amisScoped = amis.embed(word, {
|
|
|
type: 'page',
|
|
|
data: obj,
|
|
|
body: [
|
|
@@ -2359,7 +2381,7 @@ export default {
|
|
|
{
|
|
|
type: 'office-viewer',
|
|
|
id: 'office-viewer-print',
|
|
|
- src: 'info.docx',
|
|
|
+ src: wordPath + this.columnData.word.wordPath,
|
|
|
wordOptions: {
|
|
|
padding: 0,
|
|
|
enableVar: true
|
|
@@ -2369,12 +2391,17 @@ export default {
|
|
|
})
|
|
|
}, 500)
|
|
|
// 模拟点击word下的button按钮
|
|
|
- // setTimeout(() => {
|
|
|
- // const button = word.querySelectorAll('button')
|
|
|
- // button[0].click()
|
|
|
- // }, 1000)
|
|
|
+ setTimeout(() => {
|
|
|
+ const wordBuffer = amisScoped.getComponentById('office-viewer-print').document
|
|
|
+ // 上传blob
|
|
|
+ const file = new File([wordBuffer], 'word.docx', { type: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document;charset=utf-8' })
|
|
|
+ console.log(file)
|
|
|
+ // const blob = new Blob([wordBuffer], { type: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document;charset=utf-8' })
|
|
|
+ // 打印blob
|
|
|
+ }, 1000)
|
|
|
}
|
|
|
},
|
|
|
+ batchWord() {},
|
|
|
//回收站点击行显示详情数据
|
|
|
recycleDetail(columnData) {
|
|
|
let key = Object.keys(columnData)
|