Ver código fonte

附件预览

zhuqingsong 1 ano atrás
pai
commit
d20285148a

+ 2 - 2
src/views/dataStatistics/components/detailedTable.vue

@@ -475,11 +475,11 @@ const cellStyle = () => {
475 475
 }
476 476
 
477 477
 ::v-deep .color1 {
478
-  background: rgba(251, 248, 156, 0.8) !important;
478
+  background: rgba(201, 90, 79, 0.8) !important;
479 479
 }
480 480
 
481 481
 ::v-deep .color2 {
482
-  background: rgba(201, 90, 79, 0.8) !important;
482
+  background: rgba(251, 248, 156, 0.8) !important;
483 483
 }
484 484
 
485 485
 ::v-deep .color3 {

+ 58 - 24
src/views/upkeep/Auditing/detail.vue

@@ -13,27 +13,30 @@
13 13
       <el-table-column prop="maintenanceTime" label="维护保养时间" align="center" width="140" />
14 14
       <el-table-column prop="fileName" label="附件上传" align="center" width="114">
15 15
         <template #default="scope">
16
-          <el-upload
17
-            :disabled="props.type == 'look'"
18
-            v-model:file-list="scope.row.filePartList"
19
-            class="upload-demo"
20
-            style="width: 100%"
21
-            :action="fileUrl"
22
-            :data="paramsData"
23
-            :headers="myHeader"
24
-            multiple
25
-            :on-preview="handlePreview"
26
-            :on-remove="handleRemove"
27
-            :before-remove="beforeRemove"
28
-            :on-success="(response, file, index) => getFileInfo(response, file, scope.$index)"
29
-            :on-error="errorUpload"
30
-            :before-upload="beforeUpload"
31
-            :limit="1"
32
-            :on-exceed="handleExceed"
33
-          >
34
-            <el-button v-if="props.type != 'look'" size="small" type="primary">选择文件</el-button>
35
-          </el-upload>
36
-          <!-- <span v-else>{{ scope.row.fileName }}</span> -->
16
+          <!-- <el-form-item v-if="props.type != 'look'" :prop="'materialMaintenanceStatuses.' + scope.$index + '.fileName'">
17
+            <el-upload
18
+              :disabled="props.type == 'look'"
19
+              v-model:file-list="scope.row.filePartList"
20
+              class="upload-demo"
21
+              style="width: 100%"
22
+              :action="fileUrl"
23
+              :data="paramsData"
24
+              :headers="myHeader"
25
+              multiple
26
+              :on-remove="handleRemove"
27
+              :before-remove="beforeRemove"
28
+              :on-success="(response, file, index) => getFileInfo(response, file, scope.$index)"
29
+              :on-error="errorUpload"
30
+              :before-upload="beforeUpload"
31
+              :limit="1"
32
+              :on-exceed="handleExceed"
33
+            >
34
+              <el-button v-if="props.type != 'look'" size="small" type="primary">选择文件</el-button>
35
+            </el-upload>
36
+          </el-form-item> -->
37
+          <p @click="handlePreview(scope.row.filePart)" style="cursor: pointer; color: #409eff">
38
+            {{ scope.row.fileName }}
39
+          </p>
37 40
         </template>
38 41
       </el-table-column>
39 42
     </el-table>
@@ -53,6 +56,34 @@
53 56
           {{ scope.row.status ? showCh(scope.row.status, maintenance_auditing_status) : scope.row.status }}
54 57
         </template>
55 58
       </el-table-column>
59
+      <el-table-column prop="fileName" label="附件" align="center">
60
+        <template #default="scope">
61
+          <!-- <el-form-item v-if="props.type != 'look'" :prop="'materialMaintenanceStatuses.' + scope.$index + '.fileName'">
62
+            <el-upload
63
+              :disabled="props.type == 'look'"
64
+              v-model:file-list="scope.row.filePartList"
65
+              class="upload-demo"
66
+              style="width: 100%"
67
+              :action="fileUrl"
68
+              :data="paramsData"
69
+              :headers="myHeader"
70
+              multiple
71
+              :on-remove="handleRemove"
72
+              :before-remove="beforeRemove"
73
+              :on-success="(response, file, index) => getFileInfo(response, file, scope.$index)"
74
+              :on-error="errorUpload"
75
+              :before-upload="beforeUpload"
76
+              :limit="1"
77
+              :on-exceed="handleExceed"
78
+            >
79
+              <el-button v-if="props.type != 'look'" size="small" type="primary">选择文件</el-button>
80
+            </el-upload>
81
+          </el-form-item> -->
82
+          <p @click="handlePreview(scope.row.filePart)" style="cursor: pointer; color: #409eff">
83
+            {{ scope.row.fileName }}
84
+          </p>
85
+        </template>
86
+      </el-table-column>
56 87
     </el-table>
57 88
     <el-row v-else>
58 89
       <el-col :span="24" style="margin-top: 30px">
@@ -162,7 +193,10 @@ const lookData = () => {
162 193
         entryDate: res.data.entryDate,
163 194
         unitPrice: res.data.unitPrice
164 195
       }));
165
-      materialMaintenanceStatuses.value = res.data.materialMaintenanceStatuses;
196
+      materialMaintenanceStatuses.value = res.data.materialMaintenanceStatuses.map((item: any) => ({
197
+        ...item,
198
+        filePartList: [{ url: item.filePart, name: item.fileName }]
199
+      }));
166 200
     }
167 201
   });
168 202
 };
@@ -227,8 +261,8 @@ const getFileInfo = (res: any, file: any) => {
227 261
 const handleRemove = (file: any, uploadFiles: any) => {
228 262
   console.log(file, uploadFiles);
229 263
 };
230
-const handlePreview = (uploadFile: any) => {
231
-  sysFile(uploadFile.url).then((res: any) => {
264
+const handlePreview = (url) => {
265
+  sysFile(url).then((res: any) => {
232 266
     const blob = new Blob([res], { type: "application/pdf;charset=UTF-8" });
233 267
     const bFile = URL.createObjectURL(blob);
234 268
     window.open(bFile);

+ 37 - 5
src/views/upkeep/report/detail.vue

@@ -109,7 +109,10 @@
109 109
         </el-table-column>
110 110
         <el-table-column prop="fileName" label="附件上传" align="center">
111 111
           <template #default="scope">
112
-            <el-form-item :prop="'tableData.' + scope.$index + '.fileName'" :rules="formRules1.fileName">
112
+            <el-form-item
113
+              v-if="props.type != 'look'"
114
+              :prop="'materialMaintenanceStatuses.' + scope.$index + '.fileName'"
115
+            >
113 116
               <el-upload
114 117
                 :disabled="props.type == 'look'"
115 118
                 v-model:file-list="scope.row.filePartList"
@@ -119,7 +122,6 @@
119 122
                 :data="paramsData"
120 123
                 :headers="myHeader"
121 124
                 multiple
122
-                :on-preview="handlePreview"
123 125
                 :on-remove="handleRemove"
124 126
                 :before-remove="beforeRemove"
125 127
                 :on-success="(response, file, index) => getFileInfo(response, file, scope.$index)"
@@ -131,7 +133,9 @@
131 133
                 <el-button v-if="props.type != 'look'" size="small" type="primary">选择文件</el-button>
132 134
               </el-upload>
133 135
             </el-form-item>
134
-            <!-- <span v-else>{{ scope.row.fileName }}</span> -->
136
+            <p v-else @click="handlePreview(scope.row.filePart)" style="cursor: pointer; color: #409eff">
137
+              {{ scope.row.fileName }}
138
+            </p>
135 139
           </template>
136 140
         </el-table-column>
137 141
         <el-table-column v-if="props.type != 'look'" label="操作" align="center" fixed="right" width="102">
@@ -158,6 +162,34 @@
158 162
           {{ scope.row.status ? showCh(scope.row.status, maintenance_auditing_status) : scope.row.status }}
159 163
         </template>
160 164
       </el-table-column>
165
+      <el-table-column prop="fileName" :label="props.type == 'look' ? '附件' : '附件上传'" align="center">
166
+        <template #default="scope">
167
+          <el-form-item v-if="props.type != 'look'" :prop="'materialMaintenanceStatuses.' + scope.$index + '.fileName'">
168
+            <el-upload
169
+              :disabled="props.type == 'look'"
170
+              v-model:file-list="scope.row.filePartList"
171
+              class="upload-demo"
172
+              style="width: 100%"
173
+              :action="fileUrl"
174
+              :data="paramsData"
175
+              :headers="myHeader"
176
+              multiple
177
+              :on-remove="handleRemove"
178
+              :before-remove="beforeRemove"
179
+              :on-success="(response, file, index) => getFileInfo(response, file, scope.$index)"
180
+              :on-error="errorUpload"
181
+              :before-upload="beforeUpload"
182
+              :limit="1"
183
+              :on-exceed="handleExceed"
184
+            >
185
+              <el-button v-if="props.type != 'look'" size="small" type="primary">选择文件</el-button>
186
+            </el-upload>
187
+          </el-form-item>
188
+          <p v-else @click="handlePreview(scope.row.filePart)" style="cursor: pointer; color: #409eff">
189
+            {{ scope.row.fileName }}
190
+          </p>
191
+        </template>
192
+      </el-table-column>
161 193
     </el-table>
162 194
     <div class="operationbox">
163 195
       <el-button type="success" @click="saveSubmit('1')" v-if="props.type != 'look'">保存</el-button>
@@ -403,8 +435,8 @@ const getFileInfo = (res: any, file: any, index: number) => {
403 435
 const handleRemove = (file: any, uploadFiles: any) => {
404 436
   console.log(file, uploadFiles);
405 437
 };
406
-const handlePreview = (uploadFile: any) => {
407
-  sysFile(uploadFile.url).then((res: any) => {
438
+const handlePreview = (url) => {
439
+  sysFile(url).then((res: any) => {
408 440
     const blob = new Blob([res], { type: "application/pdf;charset=UTF-8" });
409 441
     const bFile = URL.createObjectURL(blob);
410 442
     window.open(bFile);

+ 7 - 5
src/views/upkeep/statistics/detail.vue

@@ -21,7 +21,7 @@
21 21
       <el-table-column prop="maintenancePerson" label="维护保养人" align="center"> </el-table-column>
22 22
       <el-table-column prop="fileName" label="附件" align="center">
23 23
         <template #default="scope">
24
-          <el-form-item :prop="'tableData.' + scope.$index + '.fileName'" :rules="formRules1.fileName">
24
+          <el-form-item v-if="props.type != 'look'" :prop="'materialMaintenanceStatuses.' + scope.$index + '.fileName'">
25 25
             <el-upload
26 26
               :disabled="props.type == 'look'"
27 27
               v-model:file-list="scope.row.filePartList"
@@ -31,7 +31,6 @@
31 31
               :data="paramsData"
32 32
               :headers="myHeader"
33 33
               multiple
34
-              :on-preview="handlePreview"
35 34
               :on-remove="handleRemove"
36 35
               :before-remove="beforeRemove"
37 36
               :on-success="(response, file, index) => getFileInfo(response, file, scope.$index)"
@@ -43,7 +42,9 @@
43 42
               <el-button v-if="props.type != 'look'" size="small" type="primary">选择文件</el-button>
44 43
             </el-upload>
45 44
           </el-form-item>
46
-          <!-- <span v-else>{{ scope.row.fileName }}</span> -->
45
+          <p v-else @click="handlePreview(scope.row.filePart)" style="cursor: pointer; color: #409eff">
46
+            {{ scope.row.fileName }}
47
+          </p>
47 48
         </template>
48 49
       </el-table-column>
49 50
     </el-table>
@@ -65,6 +66,7 @@ import { getQuery } from "@/hooks/detailQuery/index";
65 66
 const props = getQuery("/upkeep/StatisticsDetail");
66 67
 const deptType = ref("");
67 68
 const { userInfo } = useGetters(["userInfo"]);
69
+import { dictTree, sysFile } from "@/api/inAndOut/formationFilling/in";
68 70
 const tableData: any = ref([]);
69 71
 /** 列表数据获取 */
70 72
 const getList = () => {
@@ -100,8 +102,8 @@ const getFileInfo = (res: any, file: any) => {
100 102
 const handleRemove = (file: any, uploadFiles: any) => {
101 103
   console.log(file, uploadFiles);
102 104
 };
103
-const handlePreview = (uploadFile: any) => {
104
-  sysFile(uploadFile.url).then((res: any) => {
105
+const handlePreview = (url: string) => {
106
+  sysFile(url).then((res: any) => {
105 107
     const blob = new Blob([res], { type: "application/pdf;charset=UTF-8" });
106 108
     const bFile = URL.createObjectURL(blob);
107 109
     window.open(bFile);