Преглед изворни кода

裂解炉炉管测压 - H109-H130现场照片文件预览

wangggziwen пре 1 година
родитељ
комит
baf49a46d6

+ 282 - 0
ui/src/views/production/pressure/h109.vue

@@ -561,6 +561,18 @@
           <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
           <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
             <template slot-scope="scope">
+              <el-button
+                v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                size="mini"
+                type="text"
+                icon="el-icon-view"
+                @click="handleSee(scope.row)"
+              > {{ $t('预览') }}</el-button>
               <el-button
                 size="mini"
                 type="text"
@@ -606,6 +618,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -651,6 +675,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -696,6 +732,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -741,6 +789,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -786,6 +846,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -831,6 +903,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -876,6 +960,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -921,6 +1017,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -966,6 +1074,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -1011,6 +1131,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -1056,6 +1188,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -1101,6 +1245,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -1146,6 +1302,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -1191,6 +1359,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -1236,6 +1416,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -1257,6 +1449,13 @@
         <el-button @click="doc.open = false">{{ $t('返 回') }}</el-button>
       </div>
     </el-dialog>
+
+    <!-- 预览对话框 -->
+    <el-dialog :close-on-click-modal="false" v-loading="loadingFlash" element-loading-background="rgba(0,0,0,0.2)" v-dialogDrag :title="pdf.title" :visible.sync="pdf.open" width="1200px" :center="true" append-to-body>
+      <div style="text-align: center;">
+        <el-image :src="pdf.pdfUrl" fit="contain" width="100%"/>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -1274,6 +1473,17 @@
     components: { Treeselect },
     data() {
       return {
+        loadingFlash:false,
+        // pdf文件参数
+        pdf : {
+          title: '',
+          pdfUrl: '',
+          numPages: null,
+          open: false,
+          pageNum: 1,
+          pageTotalNum: 1,
+          loadedRatio: 0,
+        },
         // 遮罩层
         loading: true,
         // 选中数组
@@ -1433,6 +1643,78 @@
       this.alphabetsO = ['O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'B', 'A'];
     },
     methods: {
+      handleSee (row){
+        //office预览
+        this.loadingFlash=true
+        this.pdf.open =true
+        this.pdf.title = row.fileName
+        this.pdf.pdfUrl =""
+
+        this.pptView=false
+        this.ppt=true
+        //如果是PDF等直接可以打开的就不调接口,否则调用接口
+        if(row.fileName.endsWith('pdf')){
+          this.pdf.pdfUrl = process.env.VUE_APP_BASE_API + '/pdf/web/viewer.html?file=' + process.env.VUE_APP_BASE_API + row.fileUrl
+          this.loadingFlash=false
+        }
+        else{
+          const formatDate =new FormData();
+          formatDate.append("filepath",row.fileUrl)
+
+          //调用文件预览api
+          let res= this.officeConvert.officeConvertCommon(formatDate)
+
+
+          //查看接受的全局方法的返回结果 console.log(res)
+          //利用.then方法接受Promise对象
+          res.then((result)=>{
+            //关闭加载中
+            this.loadingFlash=false
+
+            if(result.msg.includes("csv")){
+              this.pdf.pdfUrl =process.env.VUE_APP_BASE_API+ result.data
+              this.$alert(result.msg, this.$t('检查乱码'), { dangerouslyUseHTMLString: true });
+              //    this.$message({message: result.msg, center: true,type:'warning',  offset:400, });
+
+            }else if(result.msg.includes("不存在")){
+              //文件不存在时提示
+              this.pdf.pdfUrl =""
+              this.$alert(result.msg, this.$t('预览失败'), { dangerouslyUseHTMLString: true });
+              //    this.$message({message: result.msg, center: true,type:'warning',  offset:400, });
+              this.pdf.open =false
+            }else if(result.msg.includes("不支持此格式")){
+
+              this.pdf.pdfUrl =""
+              this.$alert(result.msg, this.$t('预览失败'), { dangerouslyUseHTMLString: true });
+              //    this.$message({message: result.msg, center: true,type:'warning',  offset:400, });
+              this.pdf.open =false
+            } else{
+              //成功时直接给地址
+              this.pdf.pdfUrl =process.env.VUE_APP_BASE_API+ result.data
+            }
+            // this.$nextTick(() => {
+            //   const iframe = window.frames['iFrame']
+            //   const handleLoad = () => {
+            //     setTimeout(() => {
+            //       const Do = (iframe.contentWindow || iframe.contentDocument)
+            //       console.log(Do.document.getElementsByTagName('table')[0])
+            //       Do.document.getElementsByTagName('table')[0].style.width = "100%"
+            //       Do.document.getElementsByTagName('table')[0].setAttribute("class","table")
+            //     }, 500)
+            //   }
+            //   iframe.addEventListener('load', handleLoad, true)
+            // })
+          }).catch(result => {
+
+            //请求失败,关闭loading,pdf地址直接为为空,不显示
+            this.pdf.pdfUrl =""
+            this.loadingFlash = false;
+
+          })
+        }
+
+
+      },
       init() {
         let date = new Date();
         this.queryParams.recordTime = date.getFullYear() + "-" + Number(date.getMonth() + 1);

+ 186 - 0
ui/src/views/production/pressure/h110.vue

@@ -408,6 +408,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -453,6 +465,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -498,6 +522,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -543,6 +579,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -588,6 +636,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -633,6 +693,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -678,6 +750,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -723,6 +807,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -744,6 +840,13 @@
         <el-button @click="doc.open = false">{{ $t('返 回') }}</el-button>
       </div>
     </el-dialog>
+
+    <!-- 预览对话框 -->
+    <el-dialog :close-on-click-modal="false" v-loading="loadingFlash" element-loading-background="rgba(0,0,0,0.2)" v-dialogDrag :title="pdf.title" :visible.sync="pdf.open" width="1200px" :center="true" append-to-body>
+      <div style="text-align: center;">
+        <el-image :src="pdf.pdfUrl" fit="contain" width="100%"/>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -761,6 +864,17 @@
     components: { Treeselect },
     data() {
       return {
+        loadingFlash:false,
+        // pdf文件参数
+        pdf : {
+          title: '',
+          pdfUrl: '',
+          numPages: null,
+          open: false,
+          pageNum: 1,
+          pageTotalNum: 1,
+          loadedRatio: 0,
+        },
         // 遮罩层
         loading: true,
         // 选中数组
@@ -909,6 +1023,78 @@
       this.alphabets = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N'];
     },
     methods: {
+      handleSee (row){
+        //office预览
+        this.loadingFlash=true
+        this.pdf.open =true
+        this.pdf.title = row.fileName
+        this.pdf.pdfUrl =""
+
+        this.pptView=false
+        this.ppt=true
+        //如果是PDF等直接可以打开的就不调接口,否则调用接口
+        if(row.fileName.endsWith('pdf')){
+          this.pdf.pdfUrl = process.env.VUE_APP_BASE_API + '/pdf/web/viewer.html?file=' + process.env.VUE_APP_BASE_API + row.fileUrl
+          this.loadingFlash=false
+        }
+        else{
+          const formatDate =new FormData();
+          formatDate.append("filepath",row.fileUrl)
+
+          //调用文件预览api
+          let res= this.officeConvert.officeConvertCommon(formatDate)
+
+
+          //查看接受的全局方法的返回结果 console.log(res)
+          //利用.then方法接受Promise对象
+          res.then((result)=>{
+            //关闭加载中
+            this.loadingFlash=false
+
+            if(result.msg.includes("csv")){
+              this.pdf.pdfUrl =process.env.VUE_APP_BASE_API+ result.data
+              this.$alert(result.msg, this.$t('检查乱码'), { dangerouslyUseHTMLString: true });
+              //    this.$message({message: result.msg, center: true,type:'warning',  offset:400, });
+
+            }else if(result.msg.includes("不存在")){
+              //文件不存在时提示
+              this.pdf.pdfUrl =""
+              this.$alert(result.msg, this.$t('预览失败'), { dangerouslyUseHTMLString: true });
+              //    this.$message({message: result.msg, center: true,type:'warning',  offset:400, });
+              this.pdf.open =false
+            }else if(result.msg.includes("不支持此格式")){
+
+              this.pdf.pdfUrl =""
+              this.$alert(result.msg, this.$t('预览失败'), { dangerouslyUseHTMLString: true });
+              //    this.$message({message: result.msg, center: true,type:'warning',  offset:400, });
+              this.pdf.open =false
+            } else{
+              //成功时直接给地址
+              this.pdf.pdfUrl =process.env.VUE_APP_BASE_API+ result.data
+            }
+            // this.$nextTick(() => {
+            //   const iframe = window.frames['iFrame']
+            //   const handleLoad = () => {
+            //     setTimeout(() => {
+            //       const Do = (iframe.contentWindow || iframe.contentDocument)
+            //       console.log(Do.document.getElementsByTagName('table')[0])
+            //       Do.document.getElementsByTagName('table')[0].style.width = "100%"
+            //       Do.document.getElementsByTagName('table')[0].setAttribute("class","table")
+            //     }, 500)
+            //   }
+            //   iframe.addEventListener('load', handleLoad, true)
+            // })
+          }).catch(result => {
+
+            //请求失败,关闭loading,pdf地址直接为为空,不显示
+            this.pdf.pdfUrl =""
+            this.loadingFlash = false;
+
+          })
+        }
+
+
+      },
       init() {
         let date = new Date();
         this.queryParams.recordTime = date.getFullYear() + "-" + Number(date.getMonth() + 1);

+ 186 - 0
ui/src/views/production/pressure/h111.vue

@@ -408,6 +408,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -453,6 +465,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -498,6 +522,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -543,6 +579,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -588,6 +636,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -633,6 +693,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -678,6 +750,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -723,6 +807,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -744,6 +840,13 @@
         <el-button @click="doc.open = false">{{ $t('返 回') }}</el-button>
       </div>
     </el-dialog>
+
+    <!-- 预览对话框 -->
+    <el-dialog :close-on-click-modal="false" v-loading="loadingFlash" element-loading-background="rgba(0,0,0,0.2)" v-dialogDrag :title="pdf.title" :visible.sync="pdf.open" width="1200px" :center="true" append-to-body>
+      <div style="text-align: center;">
+        <el-image :src="pdf.pdfUrl" fit="contain" width="100%"/>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -761,6 +864,17 @@
     components: { Treeselect },
     data() {
       return {
+        loadingFlash:false,
+        // pdf文件参数
+        pdf : {
+          title: '',
+          pdfUrl: '',
+          numPages: null,
+          open: false,
+          pageNum: 1,
+          pageTotalNum: 1,
+          loadedRatio: 0,
+        },
         // 遮罩层
         loading: true,
         // 选中数组
@@ -909,6 +1023,78 @@
       this.alphabets = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N'];
     },
     methods: {
+      handleSee (row){
+        //office预览
+        this.loadingFlash=true
+        this.pdf.open =true
+        this.pdf.title = row.fileName
+        this.pdf.pdfUrl =""
+
+        this.pptView=false
+        this.ppt=true
+        //如果是PDF等直接可以打开的就不调接口,否则调用接口
+        if(row.fileName.endsWith('pdf')){
+          this.pdf.pdfUrl = process.env.VUE_APP_BASE_API + '/pdf/web/viewer.html?file=' + process.env.VUE_APP_BASE_API + row.fileUrl
+          this.loadingFlash=false
+        }
+        else{
+          const formatDate =new FormData();
+          formatDate.append("filepath",row.fileUrl)
+
+          //调用文件预览api
+          let res= this.officeConvert.officeConvertCommon(formatDate)
+
+
+          //查看接受的全局方法的返回结果 console.log(res)
+          //利用.then方法接受Promise对象
+          res.then((result)=>{
+            //关闭加载中
+            this.loadingFlash=false
+
+            if(result.msg.includes("csv")){
+              this.pdf.pdfUrl =process.env.VUE_APP_BASE_API+ result.data
+              this.$alert(result.msg, this.$t('检查乱码'), { dangerouslyUseHTMLString: true });
+              //    this.$message({message: result.msg, center: true,type:'warning',  offset:400, });
+
+            }else if(result.msg.includes("不存在")){
+              //文件不存在时提示
+              this.pdf.pdfUrl =""
+              this.$alert(result.msg, this.$t('预览失败'), { dangerouslyUseHTMLString: true });
+              //    this.$message({message: result.msg, center: true,type:'warning',  offset:400, });
+              this.pdf.open =false
+            }else if(result.msg.includes("不支持此格式")){
+
+              this.pdf.pdfUrl =""
+              this.$alert(result.msg, this.$t('预览失败'), { dangerouslyUseHTMLString: true });
+              //    this.$message({message: result.msg, center: true,type:'warning',  offset:400, });
+              this.pdf.open =false
+            } else{
+              //成功时直接给地址
+              this.pdf.pdfUrl =process.env.VUE_APP_BASE_API+ result.data
+            }
+            // this.$nextTick(() => {
+            //   const iframe = window.frames['iFrame']
+            //   const handleLoad = () => {
+            //     setTimeout(() => {
+            //       const Do = (iframe.contentWindow || iframe.contentDocument)
+            //       console.log(Do.document.getElementsByTagName('table')[0])
+            //       Do.document.getElementsByTagName('table')[0].style.width = "100%"
+            //       Do.document.getElementsByTagName('table')[0].setAttribute("class","table")
+            //     }, 500)
+            //   }
+            //   iframe.addEventListener('load', handleLoad, true)
+            // })
+          }).catch(result => {
+
+            //请求失败,关闭loading,pdf地址直接为为空,不显示
+            this.pdf.pdfUrl =""
+            this.loadingFlash = false;
+
+          })
+        }
+
+
+      },
       init() {
         let date = new Date();
         this.queryParams.recordTime = date.getFullYear() + "-" + Number(date.getMonth() + 1);

+ 186 - 0
ui/src/views/production/pressure/h112.vue

@@ -408,6 +408,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -453,6 +465,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -498,6 +522,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -543,6 +579,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -588,6 +636,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -633,6 +693,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -678,6 +750,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -723,6 +807,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -744,6 +840,13 @@
         <el-button @click="doc.open = false">{{ $t('返 回') }}</el-button>
       </div>
     </el-dialog>
+
+    <!-- 预览对话框 -->
+    <el-dialog :close-on-click-modal="false" v-loading="loadingFlash" element-loading-background="rgba(0,0,0,0.2)" v-dialogDrag :title="pdf.title" :visible.sync="pdf.open" width="1200px" :center="true" append-to-body>
+      <div style="text-align: center;">
+        <el-image :src="pdf.pdfUrl" fit="contain" width="100%"/>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -761,6 +864,17 @@
     components: { Treeselect },
     data() {
       return {
+        loadingFlash:false,
+        // pdf文件参数
+        pdf : {
+          title: '',
+          pdfUrl: '',
+          numPages: null,
+          open: false,
+          pageNum: 1,
+          pageTotalNum: 1,
+          loadedRatio: 0,
+        },
         // 遮罩层
         loading: true,
         // 选中数组
@@ -909,6 +1023,78 @@
       this.alphabets = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N'];
     },
     methods: {
+      handleSee (row){
+        //office预览
+        this.loadingFlash=true
+        this.pdf.open =true
+        this.pdf.title = row.fileName
+        this.pdf.pdfUrl =""
+
+        this.pptView=false
+        this.ppt=true
+        //如果是PDF等直接可以打开的就不调接口,否则调用接口
+        if(row.fileName.endsWith('pdf')){
+          this.pdf.pdfUrl = process.env.VUE_APP_BASE_API + '/pdf/web/viewer.html?file=' + process.env.VUE_APP_BASE_API + row.fileUrl
+          this.loadingFlash=false
+        }
+        else{
+          const formatDate =new FormData();
+          formatDate.append("filepath",row.fileUrl)
+
+          //调用文件预览api
+          let res= this.officeConvert.officeConvertCommon(formatDate)
+
+
+          //查看接受的全局方法的返回结果 console.log(res)
+          //利用.then方法接受Promise对象
+          res.then((result)=>{
+            //关闭加载中
+            this.loadingFlash=false
+
+            if(result.msg.includes("csv")){
+              this.pdf.pdfUrl =process.env.VUE_APP_BASE_API+ result.data
+              this.$alert(result.msg, this.$t('检查乱码'), { dangerouslyUseHTMLString: true });
+              //    this.$message({message: result.msg, center: true,type:'warning',  offset:400, });
+
+            }else if(result.msg.includes("不存在")){
+              //文件不存在时提示
+              this.pdf.pdfUrl =""
+              this.$alert(result.msg, this.$t('预览失败'), { dangerouslyUseHTMLString: true });
+              //    this.$message({message: result.msg, center: true,type:'warning',  offset:400, });
+              this.pdf.open =false
+            }else if(result.msg.includes("不支持此格式")){
+
+              this.pdf.pdfUrl =""
+              this.$alert(result.msg, this.$t('预览失败'), { dangerouslyUseHTMLString: true });
+              //    this.$message({message: result.msg, center: true,type:'warning',  offset:400, });
+              this.pdf.open =false
+            } else{
+              //成功时直接给地址
+              this.pdf.pdfUrl =process.env.VUE_APP_BASE_API+ result.data
+            }
+            // this.$nextTick(() => {
+            //   const iframe = window.frames['iFrame']
+            //   const handleLoad = () => {
+            //     setTimeout(() => {
+            //       const Do = (iframe.contentWindow || iframe.contentDocument)
+            //       console.log(Do.document.getElementsByTagName('table')[0])
+            //       Do.document.getElementsByTagName('table')[0].style.width = "100%"
+            //       Do.document.getElementsByTagName('table')[0].setAttribute("class","table")
+            //     }, 500)
+            //   }
+            //   iframe.addEventListener('load', handleLoad, true)
+            // })
+          }).catch(result => {
+
+            //请求失败,关闭loading,pdf地址直接为为空,不显示
+            this.pdf.pdfUrl =""
+            this.loadingFlash = false;
+
+          })
+        }
+
+
+      },
       init() {
         let date = new Date();
         this.queryParams.recordTime = date.getFullYear() + "-" + Number(date.getMonth() + 1);

+ 186 - 0
ui/src/views/production/pressure/h113.vue

@@ -408,6 +408,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -453,6 +465,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -498,6 +522,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -543,6 +579,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -588,6 +636,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -633,6 +693,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -678,6 +750,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -723,6 +807,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -744,6 +840,13 @@
         <el-button @click="doc.open = false">{{ $t('返 回') }}</el-button>
       </div>
     </el-dialog>
+
+    <!-- 预览对话框 -->
+    <el-dialog :close-on-click-modal="false" v-loading="loadingFlash" element-loading-background="rgba(0,0,0,0.2)" v-dialogDrag :title="pdf.title" :visible.sync="pdf.open" width="1200px" :center="true" append-to-body>
+      <div style="text-align: center;">
+        <el-image :src="pdf.pdfUrl" fit="contain" width="100%"/>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -761,6 +864,17 @@
     components: { Treeselect },
     data() {
       return {
+        loadingFlash:false,
+        // pdf文件参数
+        pdf : {
+          title: '',
+          pdfUrl: '',
+          numPages: null,
+          open: false,
+          pageNum: 1,
+          pageTotalNum: 1,
+          loadedRatio: 0,
+        },
         // 遮罩层
         loading: true,
         // 选中数组
@@ -909,6 +1023,78 @@
       this.alphabets = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N'];
     },
     methods: {
+      handleSee (row){
+        //office预览
+        this.loadingFlash=true
+        this.pdf.open =true
+        this.pdf.title = row.fileName
+        this.pdf.pdfUrl =""
+
+        this.pptView=false
+        this.ppt=true
+        //如果是PDF等直接可以打开的就不调接口,否则调用接口
+        if(row.fileName.endsWith('pdf')){
+          this.pdf.pdfUrl = process.env.VUE_APP_BASE_API + '/pdf/web/viewer.html?file=' + process.env.VUE_APP_BASE_API + row.fileUrl
+          this.loadingFlash=false
+        }
+        else{
+          const formatDate =new FormData();
+          formatDate.append("filepath",row.fileUrl)
+
+          //调用文件预览api
+          let res= this.officeConvert.officeConvertCommon(formatDate)
+
+
+          //查看接受的全局方法的返回结果 console.log(res)
+          //利用.then方法接受Promise对象
+          res.then((result)=>{
+            //关闭加载中
+            this.loadingFlash=false
+
+            if(result.msg.includes("csv")){
+              this.pdf.pdfUrl =process.env.VUE_APP_BASE_API+ result.data
+              this.$alert(result.msg, this.$t('检查乱码'), { dangerouslyUseHTMLString: true });
+              //    this.$message({message: result.msg, center: true,type:'warning',  offset:400, });
+
+            }else if(result.msg.includes("不存在")){
+              //文件不存在时提示
+              this.pdf.pdfUrl =""
+              this.$alert(result.msg, this.$t('预览失败'), { dangerouslyUseHTMLString: true });
+              //    this.$message({message: result.msg, center: true,type:'warning',  offset:400, });
+              this.pdf.open =false
+            }else if(result.msg.includes("不支持此格式")){
+
+              this.pdf.pdfUrl =""
+              this.$alert(result.msg, this.$t('预览失败'), { dangerouslyUseHTMLString: true });
+              //    this.$message({message: result.msg, center: true,type:'warning',  offset:400, });
+              this.pdf.open =false
+            } else{
+              //成功时直接给地址
+              this.pdf.pdfUrl =process.env.VUE_APP_BASE_API+ result.data
+            }
+            // this.$nextTick(() => {
+            //   const iframe = window.frames['iFrame']
+            //   const handleLoad = () => {
+            //     setTimeout(() => {
+            //       const Do = (iframe.contentWindow || iframe.contentDocument)
+            //       console.log(Do.document.getElementsByTagName('table')[0])
+            //       Do.document.getElementsByTagName('table')[0].style.width = "100%"
+            //       Do.document.getElementsByTagName('table')[0].setAttribute("class","table")
+            //     }, 500)
+            //   }
+            //   iframe.addEventListener('load', handleLoad, true)
+            // })
+          }).catch(result => {
+
+            //请求失败,关闭loading,pdf地址直接为为空,不显示
+            this.pdf.pdfUrl =""
+            this.loadingFlash = false;
+
+          })
+        }
+
+
+      },
       init() {
         let date = new Date();
         this.queryParams.recordTime = date.getFullYear() + "-" + Number(date.getMonth() + 1);

+ 186 - 0
ui/src/views/production/pressure/h114.vue

@@ -408,6 +408,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -453,6 +465,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -498,6 +522,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -543,6 +579,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -588,6 +636,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -633,6 +693,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -678,6 +750,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -723,6 +807,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -744,6 +840,13 @@
         <el-button @click="doc.open = false">{{ $t('返 回') }}</el-button>
       </div>
     </el-dialog>
+
+    <!-- 预览对话框 -->
+    <el-dialog :close-on-click-modal="false" v-loading="loadingFlash" element-loading-background="rgba(0,0,0,0.2)" v-dialogDrag :title="pdf.title" :visible.sync="pdf.open" width="1200px" :center="true" append-to-body>
+      <div style="text-align: center;">
+        <el-image :src="pdf.pdfUrl" fit="contain" width="100%"/>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -761,6 +864,17 @@
     components: { Treeselect },
     data() {
       return {
+        loadingFlash:false,
+        // pdf文件参数
+        pdf : {
+          title: '',
+          pdfUrl: '',
+          numPages: null,
+          open: false,
+          pageNum: 1,
+          pageTotalNum: 1,
+          loadedRatio: 0,
+        },
         // 遮罩层
         loading: true,
         // 选中数组
@@ -909,6 +1023,78 @@
       this.alphabets = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N'];
     },
     methods: {
+      handleSee (row){
+        //office预览
+        this.loadingFlash=true
+        this.pdf.open =true
+        this.pdf.title = row.fileName
+        this.pdf.pdfUrl =""
+
+        this.pptView=false
+        this.ppt=true
+        //如果是PDF等直接可以打开的就不调接口,否则调用接口
+        if(row.fileName.endsWith('pdf')){
+          this.pdf.pdfUrl = process.env.VUE_APP_BASE_API + '/pdf/web/viewer.html?file=' + process.env.VUE_APP_BASE_API + row.fileUrl
+          this.loadingFlash=false
+        }
+        else{
+          const formatDate =new FormData();
+          formatDate.append("filepath",row.fileUrl)
+
+          //调用文件预览api
+          let res= this.officeConvert.officeConvertCommon(formatDate)
+
+
+          //查看接受的全局方法的返回结果 console.log(res)
+          //利用.then方法接受Promise对象
+          res.then((result)=>{
+            //关闭加载中
+            this.loadingFlash=false
+
+            if(result.msg.includes("csv")){
+              this.pdf.pdfUrl =process.env.VUE_APP_BASE_API+ result.data
+              this.$alert(result.msg, this.$t('检查乱码'), { dangerouslyUseHTMLString: true });
+              //    this.$message({message: result.msg, center: true,type:'warning',  offset:400, });
+
+            }else if(result.msg.includes("不存在")){
+              //文件不存在时提示
+              this.pdf.pdfUrl =""
+              this.$alert(result.msg, this.$t('预览失败'), { dangerouslyUseHTMLString: true });
+              //    this.$message({message: result.msg, center: true,type:'warning',  offset:400, });
+              this.pdf.open =false
+            }else if(result.msg.includes("不支持此格式")){
+
+              this.pdf.pdfUrl =""
+              this.$alert(result.msg, this.$t('预览失败'), { dangerouslyUseHTMLString: true });
+              //    this.$message({message: result.msg, center: true,type:'warning',  offset:400, });
+              this.pdf.open =false
+            } else{
+              //成功时直接给地址
+              this.pdf.pdfUrl =process.env.VUE_APP_BASE_API+ result.data
+            }
+            // this.$nextTick(() => {
+            //   const iframe = window.frames['iFrame']
+            //   const handleLoad = () => {
+            //     setTimeout(() => {
+            //       const Do = (iframe.contentWindow || iframe.contentDocument)
+            //       console.log(Do.document.getElementsByTagName('table')[0])
+            //       Do.document.getElementsByTagName('table')[0].style.width = "100%"
+            //       Do.document.getElementsByTagName('table')[0].setAttribute("class","table")
+            //     }, 500)
+            //   }
+            //   iframe.addEventListener('load', handleLoad, true)
+            // })
+          }).catch(result => {
+
+            //请求失败,关闭loading,pdf地址直接为为空,不显示
+            this.pdf.pdfUrl =""
+            this.loadingFlash = false;
+
+          })
+        }
+
+
+      },
       init() {
         let date = new Date();
         this.queryParams.recordTime = date.getFullYear() + "-" + Number(date.getMonth() + 1);

+ 186 - 0
ui/src/views/production/pressure/h115.vue

@@ -408,6 +408,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -453,6 +465,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -498,6 +522,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -543,6 +579,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -588,6 +636,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -633,6 +693,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -678,6 +750,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -723,6 +807,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -744,6 +840,13 @@
         <el-button @click="doc.open = false">{{ $t('返 回') }}</el-button>
       </div>
     </el-dialog>
+
+    <!-- 预览对话框 -->
+    <el-dialog :close-on-click-modal="false" v-loading="loadingFlash" element-loading-background="rgba(0,0,0,0.2)" v-dialogDrag :title="pdf.title" :visible.sync="pdf.open" width="1200px" :center="true" append-to-body>
+      <div style="text-align: center;">
+        <el-image :src="pdf.pdfUrl" fit="contain" width="100%"/>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -761,6 +864,17 @@
     components: { Treeselect },
     data() {
       return {
+        loadingFlash:false,
+        // pdf文件参数
+        pdf : {
+          title: '',
+          pdfUrl: '',
+          numPages: null,
+          open: false,
+          pageNum: 1,
+          pageTotalNum: 1,
+          loadedRatio: 0,
+        },
         // 遮罩层
         loading: true,
         // 选中数组
@@ -909,6 +1023,78 @@
       this.alphabets = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N'];
     },
     methods: {
+      handleSee (row){
+        //office预览
+        this.loadingFlash=true
+        this.pdf.open =true
+        this.pdf.title = row.fileName
+        this.pdf.pdfUrl =""
+
+        this.pptView=false
+        this.ppt=true
+        //如果是PDF等直接可以打开的就不调接口,否则调用接口
+        if(row.fileName.endsWith('pdf')){
+          this.pdf.pdfUrl = process.env.VUE_APP_BASE_API + '/pdf/web/viewer.html?file=' + process.env.VUE_APP_BASE_API + row.fileUrl
+          this.loadingFlash=false
+        }
+        else{
+          const formatDate =new FormData();
+          formatDate.append("filepath",row.fileUrl)
+
+          //调用文件预览api
+          let res= this.officeConvert.officeConvertCommon(formatDate)
+
+
+          //查看接受的全局方法的返回结果 console.log(res)
+          //利用.then方法接受Promise对象
+          res.then((result)=>{
+            //关闭加载中
+            this.loadingFlash=false
+
+            if(result.msg.includes("csv")){
+              this.pdf.pdfUrl =process.env.VUE_APP_BASE_API+ result.data
+              this.$alert(result.msg, this.$t('检查乱码'), { dangerouslyUseHTMLString: true });
+              //    this.$message({message: result.msg, center: true,type:'warning',  offset:400, });
+
+            }else if(result.msg.includes("不存在")){
+              //文件不存在时提示
+              this.pdf.pdfUrl =""
+              this.$alert(result.msg, this.$t('预览失败'), { dangerouslyUseHTMLString: true });
+              //    this.$message({message: result.msg, center: true,type:'warning',  offset:400, });
+              this.pdf.open =false
+            }else if(result.msg.includes("不支持此格式")){
+
+              this.pdf.pdfUrl =""
+              this.$alert(result.msg, this.$t('预览失败'), { dangerouslyUseHTMLString: true });
+              //    this.$message({message: result.msg, center: true,type:'warning',  offset:400, });
+              this.pdf.open =false
+            } else{
+              //成功时直接给地址
+              this.pdf.pdfUrl =process.env.VUE_APP_BASE_API+ result.data
+            }
+            // this.$nextTick(() => {
+            //   const iframe = window.frames['iFrame']
+            //   const handleLoad = () => {
+            //     setTimeout(() => {
+            //       const Do = (iframe.contentWindow || iframe.contentDocument)
+            //       console.log(Do.document.getElementsByTagName('table')[0])
+            //       Do.document.getElementsByTagName('table')[0].style.width = "100%"
+            //       Do.document.getElementsByTagName('table')[0].setAttribute("class","table")
+            //     }, 500)
+            //   }
+            //   iframe.addEventListener('load', handleLoad, true)
+            // })
+          }).catch(result => {
+
+            //请求失败,关闭loading,pdf地址直接为为空,不显示
+            this.pdf.pdfUrl =""
+            this.loadingFlash = false;
+
+          })
+        }
+
+
+      },
       init() {
         let date = new Date();
         this.queryParams.recordTime = date.getFullYear() + "-" + Number(date.getMonth() + 1);

+ 186 - 0
ui/src/views/production/pressure/h116.vue

@@ -408,6 +408,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -453,6 +465,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -498,6 +522,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -543,6 +579,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -588,6 +636,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -633,6 +693,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -678,6 +750,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -723,6 +807,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -744,6 +840,13 @@
         <el-button @click="doc.open = false">{{ $t('返 回') }}</el-button>
       </div>
     </el-dialog>
+
+    <!-- 预览对话框 -->
+    <el-dialog :close-on-click-modal="false" v-loading="loadingFlash" element-loading-background="rgba(0,0,0,0.2)" v-dialogDrag :title="pdf.title" :visible.sync="pdf.open" width="1200px" :center="true" append-to-body>
+      <div style="text-align: center;">
+        <el-image :src="pdf.pdfUrl" fit="contain" width="100%"/>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -761,6 +864,17 @@
     components: { Treeselect },
     data() {
       return {
+        loadingFlash:false,
+        // pdf文件参数
+        pdf : {
+          title: '',
+          pdfUrl: '',
+          numPages: null,
+          open: false,
+          pageNum: 1,
+          pageTotalNum: 1,
+          loadedRatio: 0,
+        },
         // 遮罩层
         loading: true,
         // 选中数组
@@ -909,6 +1023,78 @@
       this.alphabets = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N'];
     },
     methods: {
+      handleSee (row){
+        //office预览
+        this.loadingFlash=true
+        this.pdf.open =true
+        this.pdf.title = row.fileName
+        this.pdf.pdfUrl =""
+
+        this.pptView=false
+        this.ppt=true
+        //如果是PDF等直接可以打开的就不调接口,否则调用接口
+        if(row.fileName.endsWith('pdf')){
+          this.pdf.pdfUrl = process.env.VUE_APP_BASE_API + '/pdf/web/viewer.html?file=' + process.env.VUE_APP_BASE_API + row.fileUrl
+          this.loadingFlash=false
+        }
+        else{
+          const formatDate =new FormData();
+          formatDate.append("filepath",row.fileUrl)
+
+          //调用文件预览api
+          let res= this.officeConvert.officeConvertCommon(formatDate)
+
+
+          //查看接受的全局方法的返回结果 console.log(res)
+          //利用.then方法接受Promise对象
+          res.then((result)=>{
+            //关闭加载中
+            this.loadingFlash=false
+
+            if(result.msg.includes("csv")){
+              this.pdf.pdfUrl =process.env.VUE_APP_BASE_API+ result.data
+              this.$alert(result.msg, this.$t('检查乱码'), { dangerouslyUseHTMLString: true });
+              //    this.$message({message: result.msg, center: true,type:'warning',  offset:400, });
+
+            }else if(result.msg.includes("不存在")){
+              //文件不存在时提示
+              this.pdf.pdfUrl =""
+              this.$alert(result.msg, this.$t('预览失败'), { dangerouslyUseHTMLString: true });
+              //    this.$message({message: result.msg, center: true,type:'warning',  offset:400, });
+              this.pdf.open =false
+            }else if(result.msg.includes("不支持此格式")){
+
+              this.pdf.pdfUrl =""
+              this.$alert(result.msg, this.$t('预览失败'), { dangerouslyUseHTMLString: true });
+              //    this.$message({message: result.msg, center: true,type:'warning',  offset:400, });
+              this.pdf.open =false
+            } else{
+              //成功时直接给地址
+              this.pdf.pdfUrl =process.env.VUE_APP_BASE_API+ result.data
+            }
+            // this.$nextTick(() => {
+            //   const iframe = window.frames['iFrame']
+            //   const handleLoad = () => {
+            //     setTimeout(() => {
+            //       const Do = (iframe.contentWindow || iframe.contentDocument)
+            //       console.log(Do.document.getElementsByTagName('table')[0])
+            //       Do.document.getElementsByTagName('table')[0].style.width = "100%"
+            //       Do.document.getElementsByTagName('table')[0].setAttribute("class","table")
+            //     }, 500)
+            //   }
+            //   iframe.addEventListener('load', handleLoad, true)
+            // })
+          }).catch(result => {
+
+            //请求失败,关闭loading,pdf地址直接为为空,不显示
+            this.pdf.pdfUrl =""
+            this.loadingFlash = false;
+
+          })
+        }
+
+
+      },
       init() {
         let date = new Date();
         this.queryParams.recordTime = date.getFullYear() + "-" + Number(date.getMonth() + 1);

+ 186 - 0
ui/src/views/production/pressure/h117.vue

@@ -408,6 +408,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -453,6 +465,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -498,6 +522,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -543,6 +579,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -588,6 +636,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -633,6 +693,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -678,6 +750,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -723,6 +807,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -744,6 +840,13 @@
         <el-button @click="doc.open = false">{{ $t('返 回') }}</el-button>
       </div>
     </el-dialog>
+
+    <!-- 预览对话框 -->
+    <el-dialog :close-on-click-modal="false" v-loading="loadingFlash" element-loading-background="rgba(0,0,0,0.2)" v-dialogDrag :title="pdf.title" :visible.sync="pdf.open" width="1200px" :center="true" append-to-body>
+      <div style="text-align: center;">
+        <el-image :src="pdf.pdfUrl" fit="contain" width="100%"/>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -761,6 +864,17 @@
     components: { Treeselect },
     data() {
       return {
+        loadingFlash:false,
+        // pdf文件参数
+        pdf : {
+          title: '',
+          pdfUrl: '',
+          numPages: null,
+          open: false,
+          pageNum: 1,
+          pageTotalNum: 1,
+          loadedRatio: 0,
+        },
         // 遮罩层
         loading: true,
         // 选中数组
@@ -909,6 +1023,78 @@
       this.alphabets = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N'];
     },
     methods: {
+      handleSee (row){
+        //office预览
+        this.loadingFlash=true
+        this.pdf.open =true
+        this.pdf.title = row.fileName
+        this.pdf.pdfUrl =""
+
+        this.pptView=false
+        this.ppt=true
+        //如果是PDF等直接可以打开的就不调接口,否则调用接口
+        if(row.fileName.endsWith('pdf')){
+          this.pdf.pdfUrl = process.env.VUE_APP_BASE_API + '/pdf/web/viewer.html?file=' + process.env.VUE_APP_BASE_API + row.fileUrl
+          this.loadingFlash=false
+        }
+        else{
+          const formatDate =new FormData();
+          formatDate.append("filepath",row.fileUrl)
+
+          //调用文件预览api
+          let res= this.officeConvert.officeConvertCommon(formatDate)
+
+
+          //查看接受的全局方法的返回结果 console.log(res)
+          //利用.then方法接受Promise对象
+          res.then((result)=>{
+            //关闭加载中
+            this.loadingFlash=false
+
+            if(result.msg.includes("csv")){
+              this.pdf.pdfUrl =process.env.VUE_APP_BASE_API+ result.data
+              this.$alert(result.msg, this.$t('检查乱码'), { dangerouslyUseHTMLString: true });
+              //    this.$message({message: result.msg, center: true,type:'warning',  offset:400, });
+
+            }else if(result.msg.includes("不存在")){
+              //文件不存在时提示
+              this.pdf.pdfUrl =""
+              this.$alert(result.msg, this.$t('预览失败'), { dangerouslyUseHTMLString: true });
+              //    this.$message({message: result.msg, center: true,type:'warning',  offset:400, });
+              this.pdf.open =false
+            }else if(result.msg.includes("不支持此格式")){
+
+              this.pdf.pdfUrl =""
+              this.$alert(result.msg, this.$t('预览失败'), { dangerouslyUseHTMLString: true });
+              //    this.$message({message: result.msg, center: true,type:'warning',  offset:400, });
+              this.pdf.open =false
+            } else{
+              //成功时直接给地址
+              this.pdf.pdfUrl =process.env.VUE_APP_BASE_API+ result.data
+            }
+            // this.$nextTick(() => {
+            //   const iframe = window.frames['iFrame']
+            //   const handleLoad = () => {
+            //     setTimeout(() => {
+            //       const Do = (iframe.contentWindow || iframe.contentDocument)
+            //       console.log(Do.document.getElementsByTagName('table')[0])
+            //       Do.document.getElementsByTagName('table')[0].style.width = "100%"
+            //       Do.document.getElementsByTagName('table')[0].setAttribute("class","table")
+            //     }, 500)
+            //   }
+            //   iframe.addEventListener('load', handleLoad, true)
+            // })
+          }).catch(result => {
+
+            //请求失败,关闭loading,pdf地址直接为为空,不显示
+            this.pdf.pdfUrl =""
+            this.loadingFlash = false;
+
+          })
+        }
+
+
+      },
       init() {
         let date = new Date();
         this.queryParams.recordTime = date.getFullYear() + "-" + Number(date.getMonth() + 1);

+ 186 - 0
ui/src/views/production/pressure/h118.vue

@@ -408,6 +408,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -453,6 +465,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -498,6 +522,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -543,6 +579,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -588,6 +636,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -633,6 +693,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -678,6 +750,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -723,6 +807,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -744,6 +840,13 @@
         <el-button @click="doc.open = false">{{ $t('返 回') }}</el-button>
       </div>
     </el-dialog>
+
+    <!-- 预览对话框 -->
+    <el-dialog :close-on-click-modal="false" v-loading="loadingFlash" element-loading-background="rgba(0,0,0,0.2)" v-dialogDrag :title="pdf.title" :visible.sync="pdf.open" width="1200px" :center="true" append-to-body>
+      <div style="text-align: center;">
+        <el-image :src="pdf.pdfUrl" fit="contain" width="100%"/>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -761,6 +864,17 @@
     components: { Treeselect },
     data() {
       return {
+        loadingFlash:false,
+        // pdf文件参数
+        pdf : {
+          title: '',
+          pdfUrl: '',
+          numPages: null,
+          open: false,
+          pageNum: 1,
+          pageTotalNum: 1,
+          loadedRatio: 0,
+        },
         // 遮罩层
         loading: true,
         // 选中数组
@@ -909,6 +1023,78 @@
       this.alphabets = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N'];
     },
     methods: {
+      handleSee (row){
+        //office预览
+        this.loadingFlash=true
+        this.pdf.open =true
+        this.pdf.title = row.fileName
+        this.pdf.pdfUrl =""
+
+        this.pptView=false
+        this.ppt=true
+        //如果是PDF等直接可以打开的就不调接口,否则调用接口
+        if(row.fileName.endsWith('pdf')){
+          this.pdf.pdfUrl = process.env.VUE_APP_BASE_API + '/pdf/web/viewer.html?file=' + process.env.VUE_APP_BASE_API + row.fileUrl
+          this.loadingFlash=false
+        }
+        else{
+          const formatDate =new FormData();
+          formatDate.append("filepath",row.fileUrl)
+
+          //调用文件预览api
+          let res= this.officeConvert.officeConvertCommon(formatDate)
+
+
+          //查看接受的全局方法的返回结果 console.log(res)
+          //利用.then方法接受Promise对象
+          res.then((result)=>{
+            //关闭加载中
+            this.loadingFlash=false
+
+            if(result.msg.includes("csv")){
+              this.pdf.pdfUrl =process.env.VUE_APP_BASE_API+ result.data
+              this.$alert(result.msg, this.$t('检查乱码'), { dangerouslyUseHTMLString: true });
+              //    this.$message({message: result.msg, center: true,type:'warning',  offset:400, });
+
+            }else if(result.msg.includes("不存在")){
+              //文件不存在时提示
+              this.pdf.pdfUrl =""
+              this.$alert(result.msg, this.$t('预览失败'), { dangerouslyUseHTMLString: true });
+              //    this.$message({message: result.msg, center: true,type:'warning',  offset:400, });
+              this.pdf.open =false
+            }else if(result.msg.includes("不支持此格式")){
+
+              this.pdf.pdfUrl =""
+              this.$alert(result.msg, this.$t('预览失败'), { dangerouslyUseHTMLString: true });
+              //    this.$message({message: result.msg, center: true,type:'warning',  offset:400, });
+              this.pdf.open =false
+            } else{
+              //成功时直接给地址
+              this.pdf.pdfUrl =process.env.VUE_APP_BASE_API+ result.data
+            }
+            // this.$nextTick(() => {
+            //   const iframe = window.frames['iFrame']
+            //   const handleLoad = () => {
+            //     setTimeout(() => {
+            //       const Do = (iframe.contentWindow || iframe.contentDocument)
+            //       console.log(Do.document.getElementsByTagName('table')[0])
+            //       Do.document.getElementsByTagName('table')[0].style.width = "100%"
+            //       Do.document.getElementsByTagName('table')[0].setAttribute("class","table")
+            //     }, 500)
+            //   }
+            //   iframe.addEventListener('load', handleLoad, true)
+            // })
+          }).catch(result => {
+
+            //请求失败,关闭loading,pdf地址直接为为空,不显示
+            this.pdf.pdfUrl =""
+            this.loadingFlash = false;
+
+          })
+        }
+
+
+      },
       init() {
         let date = new Date();
         this.queryParams.recordTime = date.getFullYear() + "-" + Number(date.getMonth() + 1);

+ 139 - 0
ui/src/views/production/pressure/h130.vue

@@ -512,6 +512,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -557,6 +569,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -602,6 +626,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -647,6 +683,18 @@
             <el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
             <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
               <template slot-scope="scope">
+                <el-button
+                  v-if="scope.row.fileName.endsWith('pdf')||scope.row.fileName.endsWith('xlsx')||scope.row.fileName.endsWith('md')
+                 ||scope.row.fileName.endsWith('docx')||scope.row.fileName.endsWith('doc')||scope.row.fileName.endsWith('txt')
+                 ||scope.row.fileName.endsWith('jpg')||scope.row.fileName.endsWith('png')||scope.row.fileName.endsWith('csv')
+                 ||scope.row.fileName.endsWith('mp4')||scope.row.fileName.endsWith('svg')||scope.row.fileName.endsWith('dwg')
+                 ||scope.row.fileName.endsWith('flv')||scope.row.fileName.endsWith('swf')||scope.row.fileName.endsWith('gif')
+                 ||scope.row.fileName.endsWith('3gp')||scope.row.fileName.endsWith('mkv')||scope.row.fileName.endsWith('tif')"
+                  size="mini"
+                  type="text"
+                  icon="el-icon-view"
+                  @click="handleSee(scope.row)"
+                > {{ $t('预览') }}</el-button>
                 <el-button
                   size="mini"
                   type="text"
@@ -668,6 +716,14 @@
         <el-button @click="doc.open = false">{{ $t('返 回') }}</el-button>
       </div>
     </el-dialog>
+
+
+    <!-- 预览对话框 -->
+    <el-dialog :close-on-click-modal="false" v-loading="loadingFlash" element-loading-background="rgba(0,0,0,0.2)" v-dialogDrag :title="pdf.title" :visible.sync="pdf.open" width="1200px" :center="true" append-to-body>
+      <div style="text-align: center;">
+        <el-image :src="pdf.pdfUrl" fit="contain" width="100%"/>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -685,6 +741,17 @@
     components: { Treeselect },
     data() {
       return {
+        loadingFlash:false,
+        // pdf文件参数
+        pdf : {
+          title: '',
+          pdfUrl: '',
+          numPages: null,
+          open: false,
+          pageNum: 1,
+          pageTotalNum: 1,
+          loadedRatio: 0,
+        },
         // 遮罩层
         loading: true,
         // 选中数组
@@ -829,6 +896,78 @@
       this.alphabets = ['A', 'D', 'B', 'E', 'C', 'F'];
     },
     methods: {
+      handleSee (row){
+        //office预览
+        this.loadingFlash=true
+        this.pdf.open =true
+        this.pdf.title = row.fileName
+        this.pdf.pdfUrl =""
+
+        this.pptView=false
+        this.ppt=true
+        //如果是PDF等直接可以打开的就不调接口,否则调用接口
+        if(row.fileName.endsWith('pdf')){
+          this.pdf.pdfUrl = process.env.VUE_APP_BASE_API + '/pdf/web/viewer.html?file=' + process.env.VUE_APP_BASE_API + row.fileUrl
+          this.loadingFlash=false
+        }
+        else{
+          const formatDate =new FormData();
+          formatDate.append("filepath",row.fileUrl)
+
+          //调用文件预览api
+          let res= this.officeConvert.officeConvertCommon(formatDate)
+
+
+          //查看接受的全局方法的返回结果 console.log(res)
+          //利用.then方法接受Promise对象
+          res.then((result)=>{
+            //关闭加载中
+            this.loadingFlash=false
+
+            if(result.msg.includes("csv")){
+              this.pdf.pdfUrl =process.env.VUE_APP_BASE_API+ result.data
+              this.$alert(result.msg, this.$t('检查乱码'), { dangerouslyUseHTMLString: true });
+              //    this.$message({message: result.msg, center: true,type:'warning',  offset:400, });
+
+            }else if(result.msg.includes("不存在")){
+              //文件不存在时提示
+              this.pdf.pdfUrl =""
+              this.$alert(result.msg, this.$t('预览失败'), { dangerouslyUseHTMLString: true });
+              //    this.$message({message: result.msg, center: true,type:'warning',  offset:400, });
+              this.pdf.open =false
+            }else if(result.msg.includes("不支持此格式")){
+
+              this.pdf.pdfUrl =""
+              this.$alert(result.msg, this.$t('预览失败'), { dangerouslyUseHTMLString: true });
+              //    this.$message({message: result.msg, center: true,type:'warning',  offset:400, });
+              this.pdf.open =false
+            } else{
+              //成功时直接给地址
+              this.pdf.pdfUrl =process.env.VUE_APP_BASE_API+ result.data
+            }
+            // this.$nextTick(() => {
+            //   const iframe = window.frames['iFrame']
+            //   const handleLoad = () => {
+            //     setTimeout(() => {
+            //       const Do = (iframe.contentWindow || iframe.contentDocument)
+            //       console.log(Do.document.getElementsByTagName('table')[0])
+            //       Do.document.getElementsByTagName('table')[0].style.width = "100%"
+            //       Do.document.getElementsByTagName('table')[0].setAttribute("class","table")
+            //     }, 500)
+            //   }
+            //   iframe.addEventListener('load', handleLoad, true)
+            // })
+          }).catch(result => {
+
+            //请求失败,关闭loading,pdf地址直接为为空,不显示
+            this.pdf.pdfUrl =""
+            this.loadingFlash = false;
+
+          })
+        }
+
+
+      },
       init() {
         let date = new Date();
         this.queryParams.recordTime = date.getFullYear() + "-" + Number(date.getMonth() + 1);