From 38e6f27a8082e1173e3c02a33da5da39b6c6872c Mon Sep 17 00:00:00 2001
From: gaoluyang <gaoluyang@rengu.cc>
Date: 星期三, 31 七月 2024 13:33:04 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/components/view/b1-report-preparation.vue |  127 +++++++++++++++++++++++++++--------------
 1 files changed, 83 insertions(+), 44 deletions(-)

diff --git a/src/components/view/b1-report-preparation.vue b/src/components/view/b1-report-preparation.vue
index 97addd9..25f4170 100644
--- a/src/components/view/b1-report-preparation.vue
+++ b/src/components/view/b1-report-preparation.vue
@@ -61,7 +61,7 @@
     <div style="width: 100%;height: 100%;">
       <div>
         <el-row class="title">
-          <el-col :span="12" style="padding-left: 20px;">鎶ュ憡缂栧埗</el-col>
+          <el-col :span="12" style="padding-left: 20px;text-align: left;">鎶ュ憡缂栧埗</el-col>
         </el-row>
       </div>
       <div class="search">
@@ -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>
@@ -155,15 +153,11 @@
 
 <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,9 +174,9 @@
           showSelect: false,
           select: false,
           do: [
-              {
+            {
               id: 'handleWeave',
-              font: '鍦ㄧ嚎缂栧埗',
+              font: '缂栧埗',
               type: 'text',
               method: 'handleWeave',
               disabFun: (row, index) => {
@@ -283,6 +277,7 @@
           },
           selectField: {},
           requiredAdd: [],
+          needSort: ['createTime', 'state', 'writeTime', 'isExamine', 'examineTime', 'ratifyTime'],
           requiredUp: []
         },
         entityCopy: {},
@@ -301,6 +296,7 @@
         value: ``,
         reason: '',
         currentInfo: null,
+        option:null
       }
     },
     mounted() {
@@ -335,27 +331,30 @@
       // }
     },
     methods: {
-      refreshTable() {
-        this.$refs['ValueTable'].selectList()
+      refreshTable(e) {
+        this.$refs['ValueTable'].selectList(e)
       },
       refresh() {
         this.componentData.entity = this.HaveJson(this.entityCopy)
         this.upIndex++
       },
       async handleWeave(row) {
+        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/" + row.entrustCode + ".docx",
+            url: this.javaApi + "/word/" + fileName,
             isEdit: true,
             fileType: "docx",
-            title: row.entrustCode + ".docx",
+            title: fileName,
             lang: 'zh-CN',
             isPrint: true,
-            user:  { id: 1, name: userName},
-            editUrl: this.javaApi + "/insReport/onlyOffice/save?fileName=" + row.entrustCode + ".docx"
+            user_id: 1,
+            user_name: userName,
+            editUrl: this.javaApi + "/insReport/onlyOffice/save?fileName=" + fileName
           }
         })
         window.open(href, '_blank');
@@ -382,25 +381,31 @@
           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())
@@ -432,20 +437,36 @@
         document.body.appendChild(link);
         link.click();
       },
+      // 杩樺師鎿嶄綔
       handleRestore(row) {
         this.$axios.post(this.$api.insReport.upReportUrl, {
           id: row.id
         }).then(res => {
           if (res.code === 200) {
             this.$message.success('鎿嶄綔鎴愬姛')
-            this.refreshTable()
+            this.refreshTable('page')
           }
         })
       },
       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;
         this.$axios.post(this.$api.insReport.examineReport, {
@@ -457,7 +478,7 @@
             return
           }
           this.$message.success('鎻愪氦鎴愬姛')
-          this.refreshTable()
+          this.refreshTable('page')
           this.currentInfo = null;
           this.issuedVisible = false;
         }).catch(e => {
@@ -467,8 +488,23 @@
       },
       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() {
         this.loadingApprove = true;
         this.$axios.post(this.$api.insReport.ratifyReport, {
@@ -481,11 +517,12 @@
             return
           }
           this.$message.success('宸叉壒鍑�')
-          this.refreshTable()
+          this.refreshTable('page')
           this.currentInfo = null;
           this.approveVisible = false;
         })
       },
+      // 鎻愪氦鎿嶄綔
       handleSubmit(row) {
         this.$confirm('鏄惁鎻愪氦褰撳墠鎶ュ憡?', "鎻愪氦", {
           confirmButtonText: "鎻愪氦",
@@ -499,12 +536,13 @@
               return
             }
             this.$message.success('鎻愪氦鎴愬姛')
-            this.refreshTable()
+            this.refreshTable('page')
           }).catch(e => {
             this.$message.error('鎻愪氦澶辫触')
           })
         }).catch(() => {})
       },
+      // 瀹℃牳涓嶉�氳繃鍘熷洜鎻愪氦
       handleIssuedReason() {
         if (!this.reason) {
           return this.$message.error('璇疯緭鍏ュ師鍥�')
@@ -520,7 +558,7 @@
             return
           }
           this.$message.success('鎿嶄綔鎴愬姛')
-          this.refreshTable()
+          this.refreshTable('page')
           this.currentInfo = null;
           this.reason = '';
           this.issuedVisible = false;
@@ -530,6 +568,7 @@
           this.loadingIssuedReason = false;
         })
       },
+      // 涓嶆壒鍑嗗師鍥犳彁浜�
       handleApproveReason() {
         if (!this.reason) {
           return this.$message.error('璇疯緭鍏ュ師鍥�')
@@ -545,7 +584,7 @@
             return
           }
           this.$message.success('鎿嶄綔鎴愬姛')
-          this.refreshTable()
+          this.refreshTable('page')
           this.currentInfo = null;
           this.reason = '';
           this.issuedVisible = false;

--
Gitblit v1.9.3