| | |
| | | <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"> |
| | | <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> |
| | |
| | | <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;"> |
| | | <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> |
| | |
| | | <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> |
| | | <!--报告查看--> |
| | | <el-dialog :fullscreen="fullscreen" top="5vh" :modal-append-to-body="false" :visible.sync="viewIssuedVisible" title="报告查看" |
| | | width="80vw"> |
| | | <div class="full-screen"> |
| | | <i v-if="!fullscreen" class="el-icon-full-screen" style="cursor: pointer;font-size: 18px" @click="fullscreen=true;"></i> |
| | | <img v-else alt="" src="../../../static/img/no-full.svg" style="cursor: pointer;" @click="fullscreen=false;" > |
| | | </div> |
| | | <div v-if="viewIssuedVisible" style="height: 80vh;"> |
| | | <onlyoffice ref="onlyoffice" :options="option" style="width: 100%;height: 100%;" /> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | 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: { |
| | |
| | | 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: '下载', |
| | |
| | | inLoading:false, |
| | | imgList:[], |
| | | imgVisible:false, |
| | | currentImg:null |
| | | currentImg:null, |
| | | viewIssuedVisible:false |
| | | } |
| | | }, |
| | | computed: { |
| | |
| | | } |
| | | } |
| | | 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) { |
| | | // let url = row.urlS ? row.urlS : row.url; |
| | | // this.currentFile.url = this.javaApi + url; |
| | | // let fileName = (row.urlS===null||row.urlS==='')?row.url:row.urlS |
| | | // fileName = fileName.replace('/word/','') |
| | | // const userName = JSON.parse(localStorage.getItem("user")).name; |
| | | // //参考vabOnlyOffice组件参数配置 |
| | | // const { href } = this.$router.resolve({ |
| | | // path: `/wordEdit`, |
| | | // query: { |
| | | // url: this.javaApi + "/word/" + fileName, |
| | | // isEdit: false, |
| | | // fileType: "docx", |
| | | // title: fileName, |
| | | // lang: 'zh-CN', |
| | | // isPrint: true, |
| | | // user_id: 1, |
| | | // user_name: userName, |
| | | // } |
| | | // }) |
| | | // window.open(href, '_blank'); |
| | | // this.lookFileVisible = true |
| | | this.currentInfo = row; |
| | | console.log(`output->row`,row); |
| | | let fileName = (row.urlS===null||row.urlS==='')?row.url:row.urlS |
| | | let fileType = "docx" |
| | | if (row.tempUrlPdf != null || row.tempUrlPdf === '') { |
| | | fileName = row.tempUrlPdf |
| | | fileType = "pdf" |
| | | } |
| | | fileName = fileName.replace('/word/','') |
| | | const userName = JSON.parse(localStorage.getItem("user")).name; |
| | | //参考vabOnlyOffice组件参数配置 |
| | | 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) |
| | | this.option = { |
| | | url: this.javaApi + "/word/" + fileName, |
| | | isEdit: false, |
| | | fileType: fileType, |
| | | title: fileName, |
| | | lang: 'zh-CN', |
| | | isPrint: false, |
| | | user_id: 1, |
| | | user_name: userName, |
| | | editUrl: this.javaApi + "/insReport/onlyOffice/save?fileName=" + fileName |
| | | } |
| | | // console.log(this.javaApi + "/word/" + fileName); |
| | | this.viewIssuedVisible = true; |
| | | }, |
| | | download(row) { |
| | | // 判断row对象中是否存在urlS属性,若存在则使用urlS,否则使用url |
| | | let url = row.urlS ? row.urlS : row.url; |
| | | |
| | | // 创建一个<a>标签元素 |
| | | const link = document.createElement('a'); |
| | | |
| | | // 设置<a>标签的href属性,为javaApi和url的组合 |
| | | link.href = this.javaApi + url; |
| | | |
| | | // 设置<a>标签的target属性为'_blank',表示在新窗口中打开链接 |
| | | link.target = '_blank'; |
| | | |
| | | // 将<a>标签添加到文档的主体中 |
| | | document.body.appendChild(link); |
| | | |
| | | link.click(); |
| | | }, |
| | | // 还原操作 |
| | |
| | | }, |
| | | handleIssued(row) { |
| | | this.currentInfo = row; |
| | | // let url = row.urlS ? row.urlS : row.url; |
| | | // this.currentFile.url = this.javaApi + url; |
| | | let fileName = (row.urlS===null||row.urlS==='')?row.url:row.urlS |
| | | fileName = fileName.replace('/word/','') |
| | | const userName = JSON.parse(localStorage.getItem("user")).name; |
| | | //参考vabOnlyOffice组件参数配置 |
| | | 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; |
| | | url: this.javaApi + "/word/" + fileName, |
| | | isEdit: false, |
| | | fileType: "docx", |
| | | title: fileName, |
| | | lang: 'zh-CN', |
| | | isPrint: true, |
| | | user_id: 1, |
| | | user_name: userName, |
| | | } |
| | | this.issuedVisible = true; |
| | | }, |
| | | // 审核通过 |
| | | subIssued() { |
| | |
| | | }, |
| | | handleApprove(row) { |
| | | this.currentInfo = row; |
| | | // let url = row.urlS ? row.urlS : row.url; |
| | | // this.currentFile.url = this.javaApi + url; |
| | | let fileName = (row.urlS===null||row.urlS==='')?row.url:row.urlS |
| | | fileName = fileName.replace('/word/','') |
| | | const userName = JSON.parse(localStorage.getItem("user")).name; |
| | | //参考vabOnlyOffice组件参数配置 |
| | | 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 |
| | | } |
| | | url: this.javaApi + "/word/" + fileName, |
| | | isEdit: false, |
| | | fileType: "docx", |
| | | title: fileName, |
| | | lang: 'zh-CN', |
| | | isPrint: true, |
| | | user_id: 1, |
| | | user_name: userName, |
| | | } |
| | | this.approveVisible = true; |
| | | }, |
| | | // 批准通过 |