From 0406078b52bc6b5e6eed97ca7e42e559f786289b Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期二, 22 十月 2024 15:56:51 +0800 Subject: [PATCH] 报告编制预览功能修改 --- src/components/view/b1-report-preparation.vue | 115 +++++++++++++++++++++++---------------------------------- 1 files changed, 47 insertions(+), 68 deletions(-) diff --git a/src/components/view/b1-report-preparation.vue b/src/components/view/b1-report-preparation.vue index 9ee34de..74f279d 100644 --- a/src/components/view/b1-report-preparation.vue +++ b/src/components/view/b1-report-preparation.vue @@ -156,8 +156,10 @@ <i class="el-icon-full-screen" style="cursor: pointer;font-size: 18px" @click="fullscreen=true;" v-if="!fullscreen"></i> <img src="../../../static/img/no-full.svg" alt="" v-else style="cursor: pointer;" @click="fullscreen=false;" > </div> - <div style="height: 80vh;" v-if="issuedVisible"> - <onlyoffice ref="onlyoffice" :options="option" style="width: 100%;height: 100%;" /> + <div style="height: 78vh;" v-if="issuedVisible"> + <!-- <onlyoffice ref="onlyoffice" :options="option" style="width: 100%;height: 100%;" /> --> + <filePreview v-if="issuedVisible" :fileUrl="currentFile.url" + :currentFile="currentFile" style="max-height: 100%;overflow-y: auto;"/> </div> <span slot="footer" class="dialog-footer"> <el-button @click="issuedReasonVisible=true" :disabled="loadingIssued">涓嶉�氳繃</el-button> @@ -179,8 +181,10 @@ <i class="el-icon-full-screen" style="cursor: pointer;font-size: 18px" @click="fullscreen=true;" v-if="!fullscreen"></i> <img src="../../../static/img/no-full.svg" alt="" v-else style="cursor: pointer;" @click="fullscreen=false;" > </div> - <div style="height: 80vh;" v-if="approveVisible"> - <onlyoffice ref="onlyoffice" :options="option" style="width: 100%;height: 100%;" /> + <div style="height: 78vh;" v-if="approveVisible"> + <!-- <onlyoffice ref="onlyoffice" :options="option" style="width: 100%;height: 100%;" /> --> + <filePreview v-if="approveVisible" :fileUrl="currentFile.url" + :currentFile="currentFile" style="max-height: 100%;overflow-y: auto;"/> </div> <span slot="footer" class="dialog-footer"> <el-button @click="approveReasonVisible=true" :disabled="loadingApprove">涓嶆壒鍑�</el-button> @@ -212,6 +216,13 @@ <el-button type="primary" @click="handleApproveReason" :loading="loadingApproveReason">纭畾</el-button> </span> </el-dialog> + <el-dialog + title="鏂囦欢棰勮" + :visible.sync="lookFileVisible" + fullscreen :modal="false"> + <filePreview v-if="lookFileVisible" :fileUrl="currentFile.url" + :currentFile="currentFile" style="max-height: 87vh;overflow-y: auto;"/> + </el-dialog> </div> </template> @@ -219,14 +230,20 @@ import ValueTable from '../tool/value-table.vue' import onlyoffice from '../tool/onlyoffice.vue' import Order from '../do/b1-report-preparation/order.vue' + import filePreview from '../tool/file-preview.vue' export default { components: { ValueTable, onlyoffice, - Order + Order, + filePreview }, data() { return { + lookFileVisible:false, + currentFile:{ + url:'' + }, radio:0, componentData: { entity: { @@ -242,15 +259,15 @@ select: true, selectMethod: 'handleChange', do: [ - { - id: 'handleWeave', - font: '缂栧埗', - type: 'text', - method: 'handleWeave', - disabFun: (row, index) => { - return row.isExamine != null - } - }, + // { + // id: 'handleWeave', + // font: '缂栧埗', + // type: 'text', + // method: 'handleWeave', + // disabFun: (row, index) => { + // return row.isExamine != null + // } + // }, { id: 'download', font: '涓嬭浇', @@ -547,45 +564,31 @@ } } if (!approve) { - this.componentData.do.splice(6, 1) - } - if (!issued) { this.componentData.do.splice(5, 1) } - if (!sub) { + if (!issued) { this.componentData.do.splice(4, 1) } - if (!res) { + if (!sub) { this.componentData.do.splice(3, 1) } - if (!up) { + if (!res) { this.componentData.do.splice(2, 1) } - if (!edit) { - this.componentData.do.splice(0, 1) + if (!up) { + this.componentData.do.splice(1, 1) } + // if (!edit) { + // this.componentData.do.splice(0, 1) + // } }, confirmClaim() { // console.log(this.$refs.Word.getValue()) }, async selectAllByOne(row) { - const userName = JSON.parse(localStorage.getItem("user")).name; - //鍙傝�僾abOnlyOffice缁勪欢鍙傛暟閰嶇疆 - const { href } = this.$router.resolve({ - path: `/wordEdit`, - query: { - url: this.javaApi + "/word/" + row.entrustCode + ".docx", - isEdit: "false", - fileType: "docx", - title: row.entrustCode + ".docx", - lang: 'zh-CN', - isPrint: true, - user_id: 1, - user_name: userName - } - }) - window.open(href, '_blank'); - console.log(`output->row`,row) + let url = row.urlS ? row.urlS : row.url; + this.currentFile.url = this.javaApi + url; + this.lookFileVisible = true }, download(row) { let url = row.urlS ? row.urlS : row.url; @@ -608,21 +611,9 @@ }, handleIssued(row) { this.currentInfo = row; - let fileName = (row.urlS===null||row.urlS==='')?row.url:row.urlS - fileName = fileName.replace('/word/','') - const userName = JSON.parse(localStorage.getItem("user")).name; - this.option = { - url: this.javaApi + "/word/" + fileName, - isEdit: false, - fileType: "docx", - title: fileName, - lang: 'zh-CN', - isPrint: false, - user_id: 1, - user_name: userName, - editUrl: this.javaApi + "/insReport/onlyOffice/save?fileName=" + fileName - } - this.issuedVisible = true; + let url = row.urlS ? row.urlS : row.url; + this.currentFile.url = this.javaApi + url; + this.issuedVisible = true; }, // 瀹℃牳閫氳繃 subIssued() { @@ -646,20 +637,8 @@ }, handleApprove(row) { this.currentInfo = row; - let fileName = (row.urlS===null||row.urlS==='')?row.url:row.urlS - fileName = fileName.replace('/word/','') - const userName = JSON.parse(localStorage.getItem("user")).name; - this.option = { - url: this.javaApi + "/word/" + fileName, - isEdit: false, - fileType: "docx", - title: fileName, - lang: 'zh-CN', - isPrint: false, - user_id: 1, - user_name: userName, - editUrl: this.javaApi + "/insReport/onlyOffice/save?fileName=" + fileName - } + let url = row.urlS ? row.urlS : row.url; + this.currentFile.url = this.javaApi + url; this.approveVisible = true; }, // 鎵瑰噯閫氳繃 -- Gitblit v1.9.3