From 771699a2a85aecde95a4393ef6016b28f73a551e Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期五, 28 六月 2024 14:11:46 +0800
Subject: [PATCH] 检验任务bug修复
---
src/components/view/b1-report-preparation.vue | 158 ++++++++++++++++++++++++++++++++++------------------
1 files changed, 104 insertions(+), 54 deletions(-)
diff --git a/src/components/view/b1-report-preparation.vue b/src/components/view/b1-report-preparation.vue
index 3a85cb3..7d50577 100644
--- a/src/components/view/b1-report-preparation.vue
+++ b/src/components/view/b1-report-preparation.vue
@@ -101,16 +101,15 @@
<el-button type="primary" @click="confirmClaim">纭� 瀹�</el-button>
</span>
</el-dialog>
- <el-dialog title="鎶ュ憡瀹℃牳" :visible.sync="issuedVisible" width="400px" :modal-append-to-body="false"
+ <el-dialog title="鎶ュ憡瀹℃牳" :visible.sync="issuedVisible" width="80vw" :modal-append-to-body="false"
:fullscreen="fullscreen">
- <!-- <div class="full-screen">
+ <div class="full-screen">
<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 class="btns">
- <el-button type="primary" size="small">閫氳繃</el-button>
- <el-button size="small">涓嶉�氳繃</el-button>
- </div> -->
+ </div>
+ <div style="height: 80vh;">
+ <onlyoffice ref="onlyoffice" :options="option" style="width: 100%;height: 100%;" />
+ </div>
<span slot="footer" class="dialog-footer">
<el-button @click="issuedReasonVisible=true" :disabled="loadingIssued">涓嶉�氳繃</el-button>
<el-button type="primary" @click="subIssued" :loading="loadingIssued">閫� 杩�</el-button>
@@ -126,15 +125,14 @@
<el-button type="primary" @click="handleIssuedReason" :loading="loadingIssuedReason">纭畾</el-button>
</span>
</el-dialog>
- <el-dialog title="鎶ュ憡鎵瑰噯" :visible.sync="approveVisible" width="400px" :modal-append-to-body="false" :fullscreen="fullscreen">
- <!-- <div class="full-screen">
+ <el-dialog title="鎶ュ憡鎵瑰噯" :visible.sync="approveVisible" width="80vw" :modal-append-to-body="false" :fullscreen="fullscreen">
+ <div class="full-screen">
<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 class="btns">
- <el-button type="primary" size="small">鎵瑰噯</el-button>
- <el-button size="small">涓嶆壒鍑�</el-button>
- </div> -->
+ </div>
+ <div style="height: 80vh;">
+ <onlyoffice ref="onlyoffice" :options="option" style="width: 100%;height: 100%;" />
+ </div>
<span slot="footer" class="dialog-footer">
<el-button @click="approveReasonVisible=true" :disabled="loadingApprove">涓嶆壒鍑�</el-button>
<el-button type="primary" @click="subApprove" :loading="loadingApprove">鎵� 鍑�</el-button>
@@ -156,14 +154,12 @@
<script>
import ValueTable from '../tool/value-table.vue'
import Word from '../tool/word.vue'
- import file from '../../util/file';
- import {
- convertToHtml
- } from 'mammoth';
+ import onlyoffice from '../tool/onlyoffice.vue'
export default {
components: {
ValueTable,
Word,
+ onlyoffice
},
data() {
return {
@@ -180,15 +176,15 @@
showSelect: false,
select: false,
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: '涓嬭浇',
@@ -242,9 +238,9 @@
}
],
linkEvent: {
- // code: {
- // method: 'selectAllByOne'
- // }
+ code: {
+ method: 'selectAllByOne'
+ }
},
tagField: {
isRatify: {
@@ -301,6 +297,7 @@
value: ``,
reason: '',
currentInfo: null,
+ option:null
}
},
mounted() {
@@ -343,22 +340,25 @@
this.upIndex++
},
async handleWeave(row) {
- // this.value = await file.convertFileToHtml(row.url)
- // this.claimVisible = true;
- this.$axios.post(this.$api.insReport.wordToHtml, {
- path: row.urlS ? row.urlS : row.url
- }).then(res => {
- if (res.code === 200) {
- // console.log(11111111,res.data)
- this.value = res.data
- .replace(/<a [^>]*>/g, "")
- .replace(/<\/a>/g, "")
- .replace(/ /g, " ");
- this.claimVisible = true;
+ let fileName = (row.urlS===null||row.urlS==='')?row.url:row.urlS
+ fileName = fileName.replace('/word/','')
+ const userName = JSON.parse(localStorage.getItem("user")).name;
+ //鍙傝�僾abOnlyOffice缁勪欢鍙傛暟閰嶇疆
+ const { href } = this.$router.resolve({
+ path: `/wordEdit`,
+ query: {
+ url: this.javaApi + "/word/" + fileName,
+ isEdit: true,
+ fileType: "docx",
+ title: fileName,
+ lang: 'zh-CN',
+ isPrint: true,
+ user_id: 1,
+ user_name: userName,
+ editUrl: this.javaApi + "/insReport/onlyOffice/save?fileName=" + fileName
}
- }).catch(error => {
- console.error(error)
})
+ window.open(href, '_blank');
},
// 鏉冮檺鍒嗛厤
getPower(radio) {
@@ -382,31 +382,53 @@
if (power[i].menuMethod == 'writeReport') {
sub = true
}
+ if (power[i].menuMethod == 'ratifyReport') {
+ approve = true
+ }
+ if (power[i].menuMethod == 'examineReport') {
+ issued = true
+ }
}
if (!approve) {
- this.componentData.do.splice(5, 1)
+ this.componentData.do.splice(6, 1)
}
if (!issued) {
- this.componentData.do.splice(4, 1)
+ this.componentData.do.splice(5, 1)
}
if (!sub) {
- this.componentData.do.splice(3, 1)
+ this.componentData.do.splice(4, 1)
}
if (!res) {
- this.componentData.do.splice(2, 1)
+ this.componentData.do.splice(3, 1)
}
if (!up) {
- this.componentData.do.splice(1, 1)
+ this.componentData.do.splice(2, 1)
}
- // if (!edit) {
- // this.componentData.do.splice(0, 1)
- // }
+ if (!edit) {
+ this.componentData.do.splice(0, 1)
+ }
},
confirmClaim() {
// console.log(this.$refs.Word.getValue())
},
async selectAllByOne(row) {
- console.log(row, await file.convertFileToHtml(row.url));
+ 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)
},
download(row) {
let url = row.urlS ? row.urlS : row.url;
@@ -428,7 +450,21 @@
},
handleIssued(row) {
this.currentInfo = row;
- this.issuedVisible = true;
+ 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;
},
subIssued() {
this.loadingIssued = true;
@@ -451,6 +487,20 @@
},
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
+ }
this.approveVisible = true;
},
subApprove() {
--
Gitblit v1.9.3