ソースを参照

新增全局deptList,修改文件在线预览

余思翰 1年前
コミット
97b0b29690

+ 4
- 2
oa-ui/src/main.js ファイルの表示

2
  * @Author: ysh
2
  * @Author: ysh
3
  * @Date: 2024-01-03 09:23:11
3
  * @Date: 2024-01-03 09:23:11
4
  * @LastEditors: Please set LastEditors
4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-06-04 15:11:48
5
+ * @LastEditTime: 2024-06-05 09:39:10
6
  */
6
  */
7
 import Vue from 'vue'
7
 import Vue from 'vue'
8
 
8
 
24
 import './permission' // permission control
24
 import './permission' // permission control
25
 import { getDicts } from "@/api/system/dict/data";
25
 import { getDicts } from "@/api/system/dict/data";
26
 import { getConfigKey } from "@/api/system/config";
26
 import { getConfigKey } from "@/api/system/config";
27
-import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, handleTree, getUserName, getFileName, reviewWord } from "@/utils/ruoyi";
27
+import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, 
28
+  handleTree, getUserName, getFileName, reviewWord,getDeptName } from "@/utils/ruoyi";
28
 // 标题组件
29
 // 标题组件
29
 import RowTitle from '@/components/RowTitle'
30
 import RowTitle from '@/components/RowTitle'
30
 
31
 
65
 Vue.prototype.handleTree = handleTree
66
 Vue.prototype.handleTree = handleTree
66
 Vue.prototype.publicData = publicData
67
 Vue.prototype.publicData = publicData
67
 Vue.prototype.getUserName = getUserName
68
 Vue.prototype.getUserName = getUserName
69
+Vue.prototype.getDeptName = getDeptName
68
 Vue.prototype.getFileName = getFileName
70
 Vue.prototype.getFileName = getFileName
69
 Vue.prototype.reviewWord = reviewWord
71
 Vue.prototype.reviewWord = reviewWord
70
 // 全局组件挂载
72
 // 全局组件挂载

+ 18
- 10
oa-ui/src/store/modules/user.js ファイルの表示

1
 import { login, logout, getInfo } from '@/api/login'
1
 import { login, logout, getInfo } from '@/api/login'
2
-import { listUser} from '@/api/system/user'
2
+import { listUser } from '@/api/system/user'
3
+import { listDept } from '@/api/system/dept'
3
 import { getToken, setToken, removeToken } from '@/utils/auth'
4
 import { getToken, setToken, removeToken } from '@/utils/auth'
4
 
5
 
5
 const user = {
6
 const user = {
8
     id: '',
9
     id: '',
9
     name: '',
10
     name: '',
10
     avatar: '',
11
     avatar: '',
11
-    deptId:'',
12
-    deptName:'',
12
+    deptId: '',
13
+    deptName: '',
13
     roles: [],
14
     roles: [],
14
     permissions: [],
15
     permissions: [],
15
-    userList:[],
16
+    userList: [],
17
+    deptList: []
16
   },
18
   },
17
 
19
 
18
   mutations: {
20
   mutations: {
25
     SET_NAME: (state, name) => {
27
     SET_NAME: (state, name) => {
26
       state.name = name
28
       state.name = name
27
     },
29
     },
28
-    SET_DEPTID:(state, deptId) => {
30
+    SET_DEPTID: (state, deptId) => {
29
       state.deptId = deptId
31
       state.deptId = deptId
30
     },
32
     },
31
-    SET_DEPTNAME:(state, deptName) => {
33
+    SET_DEPTNAME: (state, deptName) => {
32
       state.deptName = deptName
34
       state.deptName = deptName
33
     },
35
     },
34
     SET_AVATAR: (state, avatar) => {
36
     SET_AVATAR: (state, avatar) => {
40
     SET_PERMISSIONS: (state, permissions) => {
42
     SET_PERMISSIONS: (state, permissions) => {
41
       state.permissions = permissions
43
       state.permissions = permissions
42
     },
44
     },
43
-    SET_USERLIST:(state, userList) => {
45
+    SET_USERLIST: (state, userList) => {
44
       state.userList = userList
46
       state.userList = userList
45
     },
47
     },
48
+    SET_DEPTLIST: (state, deptList) => {
49
+      state.deptList = deptList
50
+    },
46
   },
51
   },
47
 
52
 
48
   actions: {
53
   actions: {
77
           }
82
           }
78
           commit('SET_ID', user.userId)
83
           commit('SET_ID', user.userId)
79
           commit('SET_NAME', user.nickName)
84
           commit('SET_NAME', user.nickName)
80
-          commit('SET_DEPTID',user.deptId)
81
-          commit('SET_DEPTNAME',user.dept.deptName)
85
+          commit('SET_DEPTID', user.deptId)
86
+          commit('SET_DEPTNAME', user.dept.deptName)
82
           commit('SET_AVATAR', avatar)
87
           commit('SET_AVATAR', avatar)
83
-          listUser({pageNum:1,pageSize:9999}).then(result=>{
88
+          listUser({ pageNum: 1, pageSize: 9999 }).then(result => {
84
             commit('SET_USERLIST', result.rows)
89
             commit('SET_USERLIST', result.rows)
90
+            listDept({ pageNum: 1, pageSize: 9999 }).then(response => {
91
+              commit('SET_DEPTLIST', response.data)
92
+            })
85
           })
93
           })
86
           resolve(res)
94
           resolve(res)
87
         }).catch(error => {
95
         }).catch(error => {

+ 10
- 0
oa-ui/src/utils/ruoyi.js ファイルの表示

258
   }
258
   }
259
 }
259
 }
260
 
260
 
261
+export function getDeptName(deptId) {
262
+  if (deptId) {
263
+    let arr = this.$store.state.user.deptList.filter(item => item.deptId == deptId)
264
+    if (arr.length == 1) {
265
+      let name = arr[0].deptName
266
+      return name
267
+    }
268
+  }
269
+}
270
+
261
 export function getFileName(name) {
271
 export function getFileName(name) {
262
   if (name) {
272
   if (name) {
263
     let arr = name.split("/");
273
     let arr = name.split("/");

+ 2
- 2
oa-ui/src/views/flowable/form/budget/budget.vue ファイルの表示

2
  * @Author: ysh
2
  * @Author: ysh
3
  * @Date: 2024-04-08 16:08:33
3
  * @Date: 2024-04-08 16:08:33
4
  * @LastEditors: Please set LastEditors
4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-05-27 15:13:37
5
+ * @LastEditTime: 2024-06-05 10:16:54
6
 -->
6
 -->
7
 <template>
7
 <template>
8
   <div>
8
   <div>
9
     <add-budget :taskName="taskName" :taskForm="taskForm" @goBack="goBack" v-if="taskName == '预算编制'"></add-budget>
9
     <add-budget :taskName="taskName" :taskForm="taskForm" @goBack="goBack" v-if="taskName == '预算编制'"></add-budget>
10
-    <budget-info :taskName="taskName" :taskForm="taskForm" @goBack="goBack" v-if="taskName == '预算审核'"></budget-info>
10
+    <budget-info :taskName="taskName" :taskForm="taskForm" @goBack="goBack" v-if="taskName == '预算审核' || taskName == '预算批准'"></budget-info>
11
   </div>
11
   </div>
12
 </template>
12
 </template>
13
 
13
 

+ 20
- 10
oa-ui/src/views/flowable/form/budget/budgetInfo.vue ファイルの表示

2
  * @Author: ysh
2
  * @Author: ysh
3
  * @Date: 2024-04-03 16:28:09
3
  * @Date: 2024-04-03 16:28:09
4
  * @LastEditors: Please set LastEditors
4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-06-04 16:48:47
5
+ * @LastEditTime: 2024-06-05 10:27:53
6
 -->
6
 -->
7
 <template>
7
 <template>
8
   <div class="main">
8
   <div class="main">
140
         <td colspan="1" class="head">{{ contract.contractId ? contract.amount : '' }}</td>
140
         <td colspan="1" class="head">{{ contract.contractId ? contract.amount : '' }}</td>
141
       </tr>
141
       </tr>
142
     </table>
142
     </table>
143
-    <el-row v-if="taskName == '预算审核'" class="text-center mt20 mb20">
144
-      <el-button type="success" size="mini" @click="confirmSucess">审批通过</el-button>
143
+    <el-row v-if="taskName == '预算审核' || taskName == '预算批准'" class="text-center mt20 mb20">
144
+      <el-button type="success" size="mini" @click="confirmSucess(taskName)">审批通过</el-button>
145
     </el-row>
145
     </el-row>
146
   </div>
146
   </div>
147
 </template>
147
 </template>
250
         this.workContentList = res.rows;
250
         this.workContentList = res.rows;
251
       })
251
       })
252
     },
252
     },
253
-    confirmSucess() {
253
+    confirmSucess(taskName) {
254
       const params = { taskId: this.taskForm.taskId };
254
       const params = { taskId: this.taskForm.taskId };
255
-      getNextFlowNode(params).then(res => {
256
-        getUsersManageLeader({ userId: this.budgetForm.compiler }).then(res => {
257
-          let userId = res.data.userId;
258
-          this.$set(this.taskForm.variables, "approval", userId);
255
+      if (taskName == '预算审核') {
256
+        getNextFlowNode(params).then(res => {
257
+          getUsersManageLeader({ userId: this.budgetForm.compiler }).then(res => {
258
+            let userId = res.data.userId;
259
+            this.$set(this.taskForm.variables, "approval", userId);
260
+            complete(this.taskForm).then(response => {
261
+              this.$modal.msgSuccess(response.msg);
262
+              this.$emit("goBack");
263
+            });
264
+          });
265
+        });
266
+      } else if (taskName == '预算批准') {
267
+        getNextFlowNode(params).then(res => {
259
           complete(this.taskForm).then(response => {
268
           complete(this.taskForm).then(response => {
260
             this.$modal.msgSuccess(response.msg);
269
             this.$modal.msgSuccess(response.msg);
261
             this.$emit("goBack");
270
             this.$emit("goBack");
262
           });
271
           });
263
-        });
264
-      });
272
+        })
273
+      }
274
+
265
     }
275
     }
266
   },
276
   },
267
 };
277
 };

+ 17
- 10
oa-ui/src/views/flowable/form/oa/carForm.vue ファイルの表示

1
 <!--
1
 <!--
2
  * @Author: ysh
2
  * @Author: ysh
3
  * @Date: 2024-02-29 11:44:28
3
  * @Date: 2024-02-29 11:44:28
4
- * @LastEditors: wrh
5
- * @LastEditTime: 2024-06-04 10:41:18
4
+ * @LastEditors: Please set LastEditors
5
+ * @LastEditTime: 2024-06-05 16:05:20
6
 -->
6
 -->
7
 
7
 
8
 <template>
8
 <template>
12
         <el-card>
12
         <el-card>
13
           <h2 style="text-align: center;">用车申请表</h2>
13
           <h2 style="text-align: center;">用车申请表</h2>
14
           <div>
14
           <div>
15
-            <el-form ref="carForm" :model="form" label-width="100px" :rules="rules">
15
+            <el-form ref="carForm" :model="form" label-width="120px" :rules="rules">
16
               <!-- 申请人填写 -->
16
               <!-- 申请人填写 -->
17
               <el-divider></el-divider>
17
               <el-divider></el-divider>
18
               <el-row :gutter="20">
18
               <el-row :gutter="20">
56
                 </el-select> -->
56
                 </el-select> -->
57
                 <el-descriptions border v-if="isSelect" style="margin-top: 10px;" :column="1">
57
                 <el-descriptions border v-if="isSelect" style="margin-top: 10px;" :column="1">
58
                   <el-descriptions-item label="项目编号" label-class-name="my-label">{{ chooseProject.projectNumber
58
                   <el-descriptions-item label="项目编号" label-class-name="my-label">{{ chooseProject.projectNumber
59
-                  }}</el-descriptions-item>
59
+                    }}</el-descriptions-item>
60
                   <el-descriptions-item label="项目名称" label-class-name="my-label">{{ chooseProject.projectName
60
                   <el-descriptions-item label="项目名称" label-class-name="my-label">{{ chooseProject.projectName
61
-                  }}</el-descriptions-item>
61
+                    }}</el-descriptions-item>
62
                   <el-descriptions-item label="项目负责人" label-class-name="my-label">{{ chooseProject.projectLeaderUser ?
62
                   <el-descriptions-item label="项目负责人" label-class-name="my-label">{{ chooseProject.projectLeaderUser ?
63
-                    chooseProject.projectLeaderUser.nickName : ''
64
-                  }}</el-descriptions-item>
63
+    chooseProject.projectLeaderUser.nickName : ''
64
+                    }}</el-descriptions-item>
65
                   <el-descriptions-item label="承担部门" label-class-name="my-label">
65
                   <el-descriptions-item label="承担部门" label-class-name="my-label">
66
                     <el-tag size="small">{{ chooseProject.undertakingDeptName }}</el-tag>
66
                     <el-tag size="small">{{ chooseProject.undertakingDeptName }}</el-tag>
67
                   </el-descriptions-item>
67
                   </el-descriptions-item>
68
                   <el-descriptions-item label="项目类型" label-class-name="my-label">{{ chooseProject.projectType
68
                   <el-descriptions-item label="项目类型" label-class-name="my-label">{{ chooseProject.projectType
69
-                  }}</el-descriptions-item>
69
+                    }}</el-descriptions-item>
70
                 </el-descriptions>
70
                 </el-descriptions>
71
               </el-form-item>
71
               </el-form-item>
72
               <el-form-item label="用车事由:" prop="applyReason">
72
               <el-form-item label="用车事由:" prop="applyReason">
215
             </el-row>
215
             </el-row>
216
             <el-row style="text-align: center;" v-else>
216
             <el-row style="text-align: center;" v-else>
217
               <el-button type="primary" :disabled="taskName == ''" @click="completeApply">{{ taskName == '申请确认' ? "确认" :
217
               <el-button type="primary" :disabled="taskName == ''" @click="completeApply">{{ taskName == '申请确认' ? "确认" :
218
-                "完成审批" }}</el-button>
218
+    "完成审批" }}</el-button>
219
             </el-row>
219
             </el-row>
220
           </div>
220
           </div>
221
         </el-card>
221
         </el-card>
447
             data.cars = arr;
447
             data.cars = arr;
448
           }
448
           }
449
           this.form = data;
449
           this.form = data;
450
-          console.log(this.form);
451
           if (data.projectId) {
450
           if (data.projectId) {
452
             getProject(data.projectId).then(response => {
451
             getProject(data.projectId).then(response => {
453
               this.chooseProject = response.data;
452
               this.chooseProject = response.data;
629
         return
628
         return
630
       } else if (val.length == 1) {
629
       } else if (val.length == 1) {
631
         this.chooseProject = val[0]
630
         this.chooseProject = val[0]
631
+        let undertakingDeptName = []
632
+        if (val[0].undertakingDept) {
633
+          let deptArr = val[0].undertakingDept.split(',');
634
+          for (let dept of deptArr) {
635
+            undertakingDeptName.push(this.getDeptName(dept))
636
+          }
637
+        }
638
+        this.chooseProject.undertakingDeptName = undertakingDeptName.join(',');
632
         this.isSelect = true
639
         this.isSelect = true
633
         this.form.projectId = val[0].projectId
640
         this.form.projectId = val[0].projectId
634
       }
641
       }

+ 18
- 9
oa-ui/src/views/oa/contract/index.vue ファイルの表示

7
       </el-form-item>
7
       </el-form-item>
8
       <el-form-item label="拟稿人" prop="drafter">
8
       <el-form-item label="拟稿人" prop="drafter">
9
         <el-select v-model="queryParams.drafter" filterable>
9
         <el-select v-model="queryParams.drafter" filterable>
10
-          <el-option v-for="item of $store.state.user.userList" :label="item.nickName" :value="item.userId"></el-option>
10
+          <el-option :key="item.userId" v-for="item of $store.state.user.userList" :label="item.nickName"
11
+            :value="item.userId"></el-option>
11
         </el-select>
12
         </el-select>
12
       </el-form-item>
13
       </el-form-item>
13
       <el-form-item label="拟稿日期" prop="draftTime">
14
       <el-form-item label="拟稿日期" prop="draftTime">
147
     </el-dialog>
148
     </el-dialog>
148
     <!-- 查看详情 -->
149
     <!-- 查看详情 -->
149
     <el-dialog :title="title" :visible.sync="openInfo" width="600px" append-to-body>
150
     <el-dialog :title="title" :visible.sync="openInfo" width="600px" append-to-body>
150
-
151
+      <transition-group class="upload-file-list el-upload-list el-upload-list--text" name="el-fade-in-linear" tag="ul">
152
+        <li key="li01" class="el-upload-list__item ele-upload-list__item-content">
153
+          <el-link :href="`${baseUrl}${'/profile/upload' + form.contractDocument}`" :underline="false" target="_blank">
154
+            <span class="el-icon-document"> {{ getFileName(form.contractDocument) }} </span>
155
+          </el-link>
156
+        </li>
157
+      </transition-group>
158
+      <el-button class="ml20" type="primary" size="mini" plain
159
+        @click="reviewWord(`${baseUrl}${'/profile/upload' + form.contractDocument}`)">在线预览</el-button>
151
     </el-dialog>
160
     </el-dialog>
152
   </div>
161
   </div>
153
 </template>
162
 </template>
177
       title: "",
186
       title: "",
178
       // 是否显示弹出层
187
       // 是否显示弹出层
179
       open: false,
188
       open: false,
180
-      openInfo:false,
189
+      openInfo: false,
181
       // 查询参数
190
       // 查询参数
182
       queryParams: {
191
       queryParams: {
183
         pageNum: 1,
192
         pageNum: 1,
198
       // 表单校验
207
       // 表单校验
199
       rules: {
208
       rules: {
200
       },
209
       },
201
-      project:{}
210
+      project: {}
202
     };
211
     };
203
   },
212
   },
204
   created() {
213
   created() {
219
       this.open = false;
228
       this.open = false;
220
       this.reset();
229
       this.reset();
221
     },
230
     },
222
-    getCommentType(row){
231
+    getCommentType(row) {
223
       let name = '';
232
       let name = '';
224
-      if(row == '0'){
233
+      if (row == '0') {
225
         name = '无须评审'
234
         name = '无须评审'
226
-      }else if(row == '1'){
235
+      } else if (row == '1') {
227
         name = '会议评审'
236
         name = '会议评审'
228
-      }else{
237
+      } else {
229
         name = '线上评审'
238
         name = '线上评审'
230
       }
239
       }
231
       return name
240
       return name
270
       this.open = true;
279
       this.open = true;
271
       this.title = "添加cmc合同评审";
280
       this.title = "添加cmc合同评审";
272
     },
281
     },
273
-    handleView(row){
282
+    handleView(row) {
274
       this.openInfo = true;
283
       this.openInfo = true;
275
       this.title = "合同详情";
284
       this.title = "合同详情";
276
       this.form = row
285
       this.form = row

+ 22
- 15
oa-ui/src/views/oa/project/info.vue ファイルの表示

112
                 <svg-icon slot="prefix" icon-class="file" />
112
                 <svg-icon slot="prefix" icon-class="file" />
113
                 项目任务书
113
                 项目任务书
114
               </template>
114
               </template>
115
-              <el-link type="primary" :href="`${baseUrl}${'/profile/upload' + project.taskDocument}`" :underline="false"
116
-                target="_blank">
117
-                <span class="el-icon-document"> {{ getFileName(project.taskDocument) }} </span>
118
-              </el-link>
119
-              <el-button class="ml20" type="primary" size="mini" plain @click="reviewWord(`${baseUrl}${'/profile/upload' + project.taskDocument}`)">在线预览</el-button>
120
-              <!-- <vue-office-docx style="width:80%;height:100vh" :src="`${baseUrl}${'/profile/upload' + project.taskDocument}`" @rendered="rendered" /> -->
115
+              <div v-if="project.taskDocument">
116
+                <el-link type="primary" @click="reviewWord(`${baseUrl}${'/profile/upload' + project.taskDocument}`)">
117
+                  {{ getFileName(project.taskDocument) }}
118
+                </el-link>
119
+                <el-link class="ml20" type="warning" :href="`${baseUrl}${'/profile/upload' + project.taskDocument}`"
120
+                  :underline="false" target="_blank">
121
+                  <span class="el-icon-download">下载文件</span>
122
+                </el-link>
123
+              </div>
121
             </el-descriptions-item>
124
             </el-descriptions-item>
122
             <el-descriptions-item :span="3">
125
             <el-descriptions-item :span="3">
123
               <template slot="label">
126
               <template slot="label">
200
                 <svg-icon slot="prefix" icon-class="documentation" />
203
                 <svg-icon slot="prefix" icon-class="documentation" />
201
                 组织交底文档
204
                 组织交底文档
202
               </template>
205
               </template>
203
-              <el-link type="primary" :href="`${baseUrl}${'/profile/upload' + project.organizeDocument}`"
204
-                :underline="false" target="_blank">
205
-                <span class="el-icon-document"> {{ getFileName(project.organizeDocument) }} </span>
206
-              </el-link>
207
-              <el-button class="ml20" type="primary" size="mini" plain @click="reviewWord(`${baseUrl}${'/profile/upload' + project.organizeDocument}`)">在线预览</el-button>
206
+              <div v-if="project.organizeDocument">
207
+                <el-link type="primary" @click="reviewWord(`${baseUrl}${'/profile/upload' + project.organizeDocument}`)">
208
+                  {{ getFileName(project.organizeDocument) }}
209
+                </el-link>
210
+                <el-link class="ml20" type="warning" :href="`${baseUrl}${'/profile/upload' + project.organizeDocument}`"
211
+                  :underline="false" target="_blank">
212
+                  <span class="el-icon-download">下载文件</span>
213
+                </el-link>
214
+              </div>
208
             </el-descriptions-item>
215
             </el-descriptions-item>
209
           </el-descriptions>
216
           </el-descriptions>
210
         </div>
217
         </div>
582
       this.$tab.closeOpenPage(obj);
589
       this.$tab.closeOpenPage(obj);
583
       this.$router.push({ path: '/project' });
590
       this.$router.push({ path: '/project' });
584
     },
591
     },
585
-    reviewWord(url){
592
+    reviewWord(url) {
586
       this.$router.push({
593
       this.$router.push({
587
-        path:'/preview',
588
-        query:{
589
-          url:url
594
+        path: '/preview',
595
+        query: {
596
+          url: url
590
         }
597
         }
591
       })
598
       })
592
     }
599
     }

+ 24
- 29
oa-ui/src/views/oa/tender/index.vue ファイルの表示

105
       @pagination="getList" />
105
       @pagination="getList" />
106
 
106
 
107
     <!-- 添加或修改投标管理对话框 -->
107
     <!-- 添加或修改投标管理对话框 -->
108
-    <el-dialog :title="title" :visible.sync="open" :width="dialogProperty.dialogWidth" append-to-body
109
-      :close-on-click-modal="false">
108
+    <el-dialog :title="title" :visible.sync="open" :width="dialogProperty.dialogWidth" append-to-body>
110
       <el-form ref="form" :rules="rules" :model="form" :disabled="formDisabled">
109
       <el-form ref="form" :rules="rules" :model="form" :disabled="formDisabled">
111
         <el-descriptions class="margin-top" :column="dialogProperty.column" border>
110
         <el-descriptions class="margin-top" :column="dialogProperty.column" border>
112
           <el-descriptions-item :span="3">
111
           <el-descriptions-item :span="3">
254
             <FileUpload v-if="form.tenderId == null" ref="zbFile" :limit="1" :filePathName="'投标文件'"
253
             <FileUpload v-if="form.tenderId == null" ref="zbFile" :limit="1" :filePathName="'投标文件'"
255
               :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf']" @input="getUploadPathBidDocument"></FileUpload>
254
               :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf']" @input="getUploadPathBidDocument"></FileUpload>
256
             <div v-if="form.tenderId != null">
255
             <div v-if="form.tenderId != null">
257
-
258
-              <FileUpload ref="zb" :limit="1" :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf']" :isShowTip="false"
256
+              <FileUpload v-if="!isView" ref="zb" :limit="1" :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf']" :isShowTip="false"
259
                 :filePathName="'投标文件'" :isModify="true" @input="getUploadPathBidDocument"></FileUpload>
257
                 :filePathName="'投标文件'" :isModify="true" @input="getUploadPathBidDocument"></FileUpload>
260
-              <transition-group class="upload-file-list el-upload-list el-upload-list--text" name="el-fade-in-linear"
261
-                tag="ul">
262
-                <li key="li01" class="el-upload-list__item ele-upload-list__item-content">
263
-                  <el-link :href="`${baseUrl}${'/profile/upload' + form.bidDocument}`" :underline="false"
264
-                    target="_blank">
265
-                    <span class="el-icon-document"> {{ getFileName(form.bidDocument) }} </span>
266
-                  </el-link>
267
-                  <div class="ele-upload-list__item-content-action">
268
-                    <el-link :underline="false" @click="handleFileDelete('zb')" type="danger">删除</el-link>
269
-                  </div>
270
-                </li>
271
-              </transition-group>
258
+              <el-link type="primary" @click="toPath(`${baseUrl}${'/profile/upload' + form.bidDocument}`)">
259
+                {{ getFileName(form.bidDocument) }}
260
+              </el-link>
261
+              <el-link class="ml20" type="warning" :href="`${baseUrl}${'/profile/upload' + form.bidDocument}`"
262
+                :underline="false" target="_blank">
263
+                <span class="el-icon-download">下载文件</span>
264
+              </el-link>
272
             </div>
265
             </div>
273
           </el-descriptions-item>
266
           </el-descriptions-item>
274
           <el-descriptions-item :span="3">
267
           <el-descriptions-item :span="3">
361
             <FileUpload v-if="form.tenderId == null" ref="bsFile" :limit="1" :filePathName="'投标文件'"
354
             <FileUpload v-if="form.tenderId == null" ref="bsFile" :limit="1" :filePathName="'投标文件'"
362
               :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf']" @input="getUploadPathTenderDocument"></FileUpload>
355
               :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf']" @input="getUploadPathTenderDocument"></FileUpload>
363
             <div v-if="form.tenderId != null">
356
             <div v-if="form.tenderId != null">
364
-              <FileUpload ref="bs" :limit="1" :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf']" :isShowTip="false"
357
+              <FileUpload v-if="!isView" ref="bs" :limit="1" :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf']" :isShowTip="false"
365
                 :filePathName="'投标文件'" :isModify="true" @input="getUploadPathTenderDocument"></FileUpload>
358
                 :filePathName="'投标文件'" :isModify="true" @input="getUploadPathTenderDocument"></FileUpload>
366
-              <transition-group class="upload-file-list el-upload-list el-upload-list--text" name="el-fade-in-linear"
367
-                tag="ul">
368
-                <li key="li02" class="el-upload-list__item ele-upload-list__item-content">
369
-                  <el-link :href="`${baseUrl}${'/profile/upload' + form.tenderDocument}`" :underline="false"
370
-                    target="_blank">
371
-                    <span class="el-icon-document"> {{ getFileName(form.tenderDocument) }} </span>
372
-                  </el-link>
373
-                  <div class="ele-upload-list__item-content-action">
374
-                    <el-link :underline="false" @click="handleFileDelete('bs')" type="danger">删除</el-link>
375
-                  </div>
376
-                </li>
377
-              </transition-group>
359
+              <el-link type="primary" @click="toPath(`${baseUrl}${'/profile/upload' + form.tenderDocument}`)">
360
+                {{ getFileName(form.tenderDocument) }}
361
+              </el-link>
362
+              <el-link class="ml20" type="warning" :href="`${baseUrl}${'/profile/upload' + form.tenderDocument}`"
363
+                :underline="false" target="_blank">
364
+                <span class="el-icon-download">下载文件</span>
365
+              </el-link>
378
             </div>
366
             </div>
379
           </el-descriptions-item>
367
           </el-descriptions-item>
380
         </el-descriptions>
368
         </el-descriptions>
415
       title: "",
403
       title: "",
416
       // 是否显示弹出层
404
       // 是否显示弹出层
417
       open: false,
405
       open: false,
406
+      isView:true,
418
       // 对话框属性
407
       // 对话框属性
419
       dialogProperty: {
408
       dialogProperty: {
420
         dialogWidth: '1200px',
409
         dialogWidth: '1200px',
617
       this.formDisabled = false;
606
       this.formDisabled = false;
618
     },
607
     },
619
     handleView(row) {
608
     handleView(row) {
609
+      this.isView = true;
620
       const tenderId = row.tenderId || this.ids
610
       const tenderId = row.tenderId || this.ids
621
       getTender(tenderId).then(response => {
611
       getTender(tenderId).then(response => {
622
         this.form = response.data;
612
         this.form = response.data;
628
     /** 修改按钮操作 */
618
     /** 修改按钮操作 */
629
     handleUpdate(row) {
619
     handleUpdate(row) {
630
       this.reset();
620
       this.reset();
621
+      this.isView = false;
631
       const tenderId = row.tenderId || this.ids
622
       const tenderId = row.tenderId || this.ids
632
       getTender(tenderId).then(response => {
623
       getTender(tenderId).then(response => {
633
         this.form = response.data;
624
         this.form = response.data;
702
     // 修改投标部门
693
     // 修改投标部门
703
     changeDept() {
694
     changeDept() {
704
       this.getUserList();
695
       this.getUserList();
696
+    },
697
+    toPath(url) {
698
+      this.open = false
699
+      this.reviewWord(url)
705
     }
700
     }
706
   }
701
   }
707
 };
702
 };

読み込み中…
キャンセル
保存