Bladeren bron

修改承接合同流程表单

余思翰 1 jaar geleden
bovenliggende
commit
e792f0b32a

+ 12
- 7
oa-ui/src/components/FileUpload/index.vue Bestand weergeven

20
       <!-- 上传提示 -->
20
       <!-- 上传提示 -->
21
       <div class="el-upload__tip" slot="tip" v-if="showTip">
21
       <div class="el-upload__tip" slot="tip" v-if="showTip">
22
         请上传
22
         请上传
23
-        <template v-if="fileSize">
23
+        <!-- <template v-if="fileSize">
24
           大小不超过 <b style="color: #f56c6c">{{ fileSize }}MB</b>
24
           大小不超过 <b style="color: #f56c6c">{{ fileSize }}MB</b>
25
-        </template>
25
+        </template> -->
26
         <template v-if="fileType">
26
         <template v-if="fileType">
27
           格式为 <b style="color: #f56c6c">{{ fileType.join("/") }}</b>
27
           格式为 <b style="color: #f56c6c">{{ fileType.join("/") }}</b>
28
         </template>
28
         </template>
83
       type: Boolean,
83
       type: Boolean,
84
       default: true,
84
       default: true,
85
     },
85
     },
86
-    isModify:{
86
+    isModify: {
87
       type: Boolean,
87
       type: Boolean,
88
       default: false,
88
       default: false,
89
+    },
90
+    filePathName:{
91
+      type: String,
92
+      default: '',
89
     }
93
     }
90
   },
94
   },
95
+  created(){
96
+    this.additionalData.fileType = this.filePathName
97
+  },
91
   data() {
98
   data() {
92
     return {
99
     return {
93
       number: 0,
100
       number: 0,
98
         Authorization: "Bearer " + getToken(),
105
         Authorization: "Bearer " + getToken(),
99
       },
106
       },
100
       additionalData: {
107
       additionalData: {
101
-        fileType: "投标文件",
108
+        fileType: '',
102
       },
109
       },
103
       fileList: [],
110
       fileList: [],
104
     };
111
     };
161
       return true;
168
       return true;
162
     },
169
     },
163
     // 文件个数超出
170
     // 文件个数超出
164
-    handleExceed() {
171
+    handleExceed(files, fileList) {
165
       this.$modal.msgError(`上传文件数量不能超过 ${this.limit} 个!`);
172
       this.$modal.msgError(`上传文件数量不能超过 ${this.limit} 个!`);
166
     },
173
     },
167
     // 上传失败
174
     // 上传失败
172
     // 上传成功回调
179
     // 上传成功回调
173
     handleUploadSuccess(res, file) {
180
     handleUploadSuccess(res, file) {
174
       if (res.code === 200) {
181
       if (res.code === 200) {
175
-        console.log(res);
176
         this.uploadList.push({ name: res.fileName, url: res.fileName });
182
         this.uploadList.push({ name: res.fileName, url: res.fileName });
177
         this.uploadedSuccessfully();
183
         this.uploadedSuccessfully();
178
       } else {
184
       } else {
210
     // 对象转成指定字符串分隔
216
     // 对象转成指定字符串分隔
211
     listToString(list, separator) {
217
     listToString(list, separator) {
212
       let strs = "";
218
       let strs = "";
213
-      debugger
214
       separator = separator || ",";
219
       separator = separator || ",";
215
       for (let i in list) {
220
       for (let i in list) {
216
         strs += list[i].url + separator;
221
         strs += list[i].url + separator;

+ 108
- 87
oa-ui/src/views/flowable/form/business/contractForm.vue Bestand weergeven

1
+<!--
2
+ * @Author: ysh
3
+ * @Date: 2024-05-10 15:31:57
4
+ * @LastEditors: Please set LastEditors
5
+ * @LastEditTime: 2024-05-13 18:58:07
6
+-->
1
 <template>
7
 <template>
2
   <div class="app-container">
8
   <div class="app-container">
3
     <el-row :gutter="20">
9
     <el-row :gutter="20">
8
           <el-row :gutter="20">
14
           <el-row :gutter="20">
9
             <el-col :span="12" :xs="24">
15
             <el-col :span="12" :xs="24">
10
               <el-form-item label="投标项目名称:" prop="tenderId">
16
               <el-form-item label="投标项目名称:" prop="tenderId">
11
-                <el-select v-model="form.tenderId" filterable placeholder="请选择" @change="handleSelectTender"
17
+                <el-button type="primary" size="mini" @click="tbOpen = true">选择投标项目</el-button>
18
+                <!-- <el-select v-model="form.tenderId" filterable placeholder="请选择" @change="handleSelectTender"
12
                   :disabled="taskName != '合同拟稿'" clearable>
19
                   :disabled="taskName != '合同拟稿'" clearable>
13
                   <el-option v-for="item in tenderList" :key="item.value" :label="item.projectName"
20
                   <el-option v-for="item in tenderList" :key="item.value" :label="item.projectName"
14
                     :value="item.tenderId">
21
                     :value="item.tenderId">
15
                   </el-option>
22
                   </el-option>
16
-                </el-select>
23
+                </el-select> -->
17
                 <el-descriptions border v-if="isSelect" style="margin-top: 10px;" :column="2" direction="vertical">
24
                 <el-descriptions border v-if="isSelect" style="margin-top: 10px;" :column="2" direction="vertical">
18
-                  <el-descriptions-item label="项目名称" label-class-name="my-label" :span="2">{{ chooseTender.projectName
19
-                  }}</el-descriptions-item>
25
+                  <el-descriptions-item label="投标项目名称" label-class-name="my-label" :span="2">{{ chooseTender.projectName
26
+                    }}</el-descriptions-item>
20
                   <el-descriptions-item label="项目来源" label-class-name="my-label">{{ getProjectSource(chooseTender)
27
                   <el-descriptions-item label="项目来源" label-class-name="my-label">{{ getProjectSource(chooseTender)
21
-                  }}</el-descriptions-item>
22
-                  <el-descriptions-item label="甲方单位" label-class-name="my-label">{{ chooseTender.partyA
23
-                  }}</el-descriptions-item>
28
+                    }}</el-descriptions-item>
29
+                  <el-descriptions-item label="招标业主" label-class-name="my-label">{{ chooseTender.partyA
30
+                    }}</el-descriptions-item>
24
                   <el-descriptions-item label="联系人" label-class-name="my-label">{{ chooseTender.aPerson
31
                   <el-descriptions-item label="联系人" label-class-name="my-label">{{ chooseTender.aPerson
25
-                  }}</el-descriptions-item>
32
+                    }}</el-descriptions-item>
26
                   <el-descriptions-item label="联系电话" label-class-name="my-label">{{ chooseTender.aPhone
33
                   <el-descriptions-item label="联系电话" label-class-name="my-label">{{ chooseTender.aPhone
27
-                  }}</el-descriptions-item>
34
+                    }}</el-descriptions-item>
28
                 </el-descriptions>
35
                 </el-descriptions>
29
               </el-form-item>
36
               </el-form-item>
30
 
37
 
31
               <el-row :gutter="20">
38
               <el-row :gutter="20">
32
                 <el-col :span="12" :xs="24">
39
                 <el-col :span="12" :xs="24">
33
                   <el-form-item label="合同编码" prop="contractCode">
40
                   <el-form-item label="合同编码" prop="contractCode">
34
-                    <el-input v-model="form.contractCode" placeholder="请输入合同编码" :disabled="taskName != '合同拟稿'"></el-input>
41
+                    <el-input v-model="form.contractCode" placeholder="请输入合同编码"
42
+                      :disabled="taskName != '合同拟稿'"></el-input>
35
                   </el-form-item>
43
                   </el-form-item>
36
                 </el-col>
44
                 </el-col>
37
                 <el-col :span="12" :xs="24">
45
                 <el-col :span="12" :xs="24">
57
 
65
 
58
             <el-col :span="12" :xs="24">
66
             <el-col :span="12" :xs="24">
59
               <el-form-item label="关联项目编号:" prop="projectIds">
67
               <el-form-item label="关联项目编号:" prop="projectIds">
60
-                <el-select v-model="projectContractForm.projectIds" multiple filterable placeholder="请选择"
68
+                <!-- <el-select v-model="projectContractForm.projectIds" multiple filterable placeholder="请选择"
61
                   @change="handleSelectProject" :disabled="taskName != '合同拟稿'" clearable>
69
                   @change="handleSelectProject" :disabled="taskName != '合同拟稿'" clearable>
62
-                  <el-option v-for="item in projectList" :key="item.value" :label="item.projectNumber + item.projectName"
63
-                    :value="item.projectId">
70
+                  <el-option v-for="item in projectList" :key="item.value"
71
+                    :label="item.projectNumber + item.projectName" :value="item.projectId">
64
                   </el-option>
72
                   </el-option>
65
-                </el-select>
73
+                </el-select> -->
74
+                <el-button type="primary" size="mini" @click="open = true">选择项目</el-button>
66
               </el-form-item>
75
               </el-form-item>
67
               <el-table v-loading="loading" :data="chooseProjectList">
76
               <el-table v-loading="loading" :data="chooseProjectList">
68
                 <el-table-column label="项目编号" align="center" prop="projectNumber"></el-table-column>
77
                 <el-table-column label="项目编号" align="center" prop="projectNumber"></el-table-column>
74
 
83
 
75
           </el-row>
84
           </el-row>
76
           <el-form-item label="合同文件" prop="contractDocument">
85
           <el-form-item label="合同文件" prop="contractDocument">
77
-            <el-input v-model="form.contractDocument" placeholder="请输入合同文件" :disabled="taskName != '合同拟稿'" />
86
+            <FileUpload v-if="form.tenderId == null" ref="contractFile" :limit="1" :filePathName="'合同文件'"
87
+              :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf']" @input="getContractPath"></FileUpload>
88
+            <div v-if="form.tenderId != null">
89
+              <transition-group class="upload-file-list el-upload-list el-upload-list--text" name="el-fade-in-linear"
90
+                tag="ul">
91
+                <li key="li01" class="el-upload-list__item ele-upload-list__item-content">
92
+                  <el-link :href="`${baseUrl}${'/profile/upload' + form.contractDocument}`" :underline="false"
93
+                    target="_blank">
94
+                    <span class="el-icon-document" style="color:#0011ff;text-decoration: underline;"> {{
95
+      getFileName(form.contractDocument) }} </span>
96
+                  </el-link>
97
+                </li>
98
+              </transition-group>
99
+            </div>
78
           </el-form-item>
100
           </el-form-item>
79
           <el-divider></el-divider>
101
           <el-divider></el-divider>
80
           <el-form-item label="合同计划工作量:">
102
           <el-form-item label="合同计划工作量:">
115
                     :disabled="taskName != '合同拟稿'"></el-input>
137
                     :disabled="taskName != '合同拟稿'"></el-input>
116
                 </td>
138
                 </td>
117
                 <td>
139
                 <td>
118
-                  <el-button type="danger" icon="el-icon-minus" size="mini" circle
119
-                    @click="deletWorkItem(index)" :disabled="taskName != '合同拟稿'"></el-button>
140
+                  <el-button type="danger" icon="el-icon-minus" size="mini" circle @click="deletWorkItem(index)"
141
+                    :disabled="taskName != '合同拟稿'"></el-button>
120
                 </td>
142
                 </td>
121
               </tr>
143
               </tr>
122
             </table>
144
             </table>
123
-            <el-button icon="el-icon-plus" size="mini" @click="addWorkList()" type="primary" plain :disabled="taskName != '合同拟稿'"></el-button>
145
+            <el-button icon="el-icon-plus" size="mini" @click="addWorkList()" type="primary" plain
146
+              :disabled="taskName != '合同拟稿'"></el-button>
124
           </el-form-item>
147
           </el-form-item>
125
           <el-form-item label="合同回款计划:">
148
           <el-form-item label="合同回款计划:">
126
             <table border="1">
149
             <table border="1">
147
                   <el-input v-model="payment.paymentAmount" clearable :disabled="taskName != '合同拟稿'"></el-input>
170
                   <el-input v-model="payment.paymentAmount" clearable :disabled="taskName != '合同拟稿'"></el-input>
148
                 </td>
171
                 </td>
149
                 <td>
172
                 <td>
150
-                  <el-date-picker style="width: 140px" v-model="payment.paymentTime" value-format="yyyy-MM-dd" type="date"
151
-                    placeholder="选择日期" :disabled="taskName != '合同拟稿'">
173
+                  <el-date-picker style="width: 140px" v-model="payment.paymentTime" value-format="yyyy-MM-dd"
174
+                    type="date" placeholder="选择日期" :disabled="taskName != '合同拟稿'">
152
                   </el-date-picker>
175
                   </el-date-picker>
153
                 </td>
176
                 </td>
154
                 <td>
177
                 <td>
156
                     :disabled="taskName != '合同拟稿'"></el-input>
179
                     :disabled="taskName != '合同拟稿'"></el-input>
157
                 </td>
180
                 </td>
158
                 <td>
181
                 <td>
159
-                  <el-button type="danger" icon="el-icon-minus" size="mini" circle
160
-                    @click="deletPaymentItem(index)" :disabled="taskName != '合同拟稿'"></el-button>
182
+                  <el-button type="danger" icon="el-icon-minus" size="mini" circle @click="deletPaymentItem(index)"
183
+                    :disabled="taskName != '合同拟稿'"></el-button>
161
                 </td>
184
                 </td>
162
               </tr>
185
               </tr>
163
             </table>
186
             </table>
164
-            <el-button icon="el-icon-plus" size="mini" @click="addPaymentList()" type="primary" plain :disabled="taskName != '合同拟稿'"></el-button>
187
+            <el-button icon="el-icon-plus" size="mini" @click="addPaymentList()" type="primary" plain
188
+              :disabled="taskName != '合同拟稿'"></el-button>
165
           </el-form-item>
189
           </el-form-item>
166
           <el-form-item label="合同备注" prop="remark">
190
           <el-form-item label="合同备注" prop="remark">
167
             <el-input v-model="form.remark" placeholder="请输入合同备注" :disabled="taskName != '合同拟稿'" />
191
             <el-input v-model="form.remark" placeholder="请输入合同备注" :disabled="taskName != '合同拟稿'" />
189
           <el-form-item label="线上会审:" v-if="commentOpen">
213
           <el-form-item label="线上会审:" v-if="commentOpen">
190
             <table border="1">
214
             <table border="1">
191
               <tr>
215
               <tr>
192
-                <td>序号</td>
216
+                <td style="width: 50px;">序号</td>
193
                 <td>会审部门</td>
217
                 <td>会审部门</td>
194
                 <td>会审人</td>
218
                 <td>会审人</td>
195
                 <td>会审意见</td>
219
                 <td>会审意见</td>
196
                 <td>会审附件</td>
220
                 <td>会审附件</td>
197
-                <td>签名</td>
221
+                <td style="width: 90px;">签名</td>
198
                 <td>日期</td>
222
                 <td>日期</td>
199
               </tr>
223
               </tr>
200
               <tr v-for="(comment, index) in commentList" :key="index">
224
               <tr v-for="(comment, index) in commentList" :key="index">
219
                   <el-input v-model="comment.comment" type="textarea" clearable :autosize="{ minRows: 4, maxRows: 10 }"
243
                   <el-input v-model="comment.comment" type="textarea" clearable :autosize="{ minRows: 4, maxRows: 10 }"
220
                     :disabled="taskName != '线上会审' || (taskName == '线上会审' && !comment.commentUser)"></el-input>
244
                     :disabled="taskName != '线上会审' || (taskName == '线上会审' && !comment.commentUser)"></el-input>
221
                 </td>
245
                 </td>
222
-                <td>
223
-                  <el-input v-model="comment.document" clearable
224
-                    :disabled="taskName != '线上会审' || (taskName == '线上会审' && !comment.commentUser)"></el-input>
246
+                <td style="text-align:left;">
247
+                  <FileUpload :limit="1" :filePathName="'合同文件'"
248
+                    :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf']" @input=""></FileUpload>
249
+                  <!-- <el-input v-model="comment.document" clearable
250
+                    :disabled="taskName != '线上会审' || (taskName == '线上会审' && !comment.commentUser)"></el-input> -->
251
+
225
                 </td>
252
                 </td>
226
                 <td>
253
                 <td>
227
                   <span class="auditor"> {{ comment.commentUser ? comment.commentUser.nickName : '' }} </span>
254
                   <span class="auditor"> {{ comment.commentUser ? comment.commentUser.nickName : '' }} </span>
230
                   <span> {{ comment.commentTime }} </span>
257
                   <span> {{ comment.commentTime }} </span>
231
                 </td>
258
                 </td>
232
                 <td>
259
                 <td>
233
-                  <el-button type="danger" icon="el-icon-minus" size="mini" circle
234
-                    @click="deletCommentItem(index)" :disabled="taskName != '合同拟稿'"></el-button>
260
+                  <el-button type="danger" icon="el-icon-minus" size="mini" circle @click="deletCommentItem(index)"
261
+                    :disabled="taskName != '合同拟稿'"></el-button>
235
                 </td>
262
                 </td>
236
               </tr>
263
               </tr>
237
             </table>
264
             </table>
238
-            <el-button icon="el-icon-plus" size="mini" @click="addCommentList()" type="primary" plain :disabled="taskName != '合同拟稿'"></el-button>
265
+            <el-button icon="el-icon-plus" size="mini" @click="addCommentList()" type="primary" plain
266
+              :disabled="taskName != '合同拟稿'"></el-button>
239
           </el-form-item>
267
           </el-form-item>
240
           <el-form-item label="会议评审:" v-if="meetingOpen">
268
           <el-form-item label="会议评审:" v-if="meetingOpen">
241
             <table border="1">
269
             <table border="1">
314
           </el-row>
342
           </el-row>
315
           <el-divider></el-divider>
343
           <el-divider></el-divider>
316
           <el-form-item label="签订日期" prop="signDate">
344
           <el-form-item label="签订日期" prop="signDate">
317
-            <el-date-picker clearable v-model="form.signDate" type="date" value-format="yyyy-MM-dd" placeholder="请选择签订日期"
318
-              :disabled="taskName != '合同签订'">
345
+            <el-date-picker clearable v-model="form.signDate" type="date" value-format="yyyy-MM-dd"
346
+              placeholder="请选择签订日期" :disabled="taskName != '合同签订'">
319
             </el-date-picker>
347
             </el-date-picker>
320
           </el-form-item>
348
           </el-form-item>
321
           <el-form-item label="签订备注" prop="signRemark">
349
           <el-form-item label="签订备注" prop="signRemark">
329
           <el-button type="primary" @click="submitForm">确 定</el-button>
357
           <el-button type="primary" @click="submitForm">确 定</el-button>
330
           <el-button @click="cancel">取 消</el-button>
358
           <el-button @click="cancel">取 消</el-button>
331
         </div>
359
         </div>
332
-      </el-col>
360
+      </el-col>` `
333
       <el-col :span="6" :xs="24">
361
       <el-col :span="6" :xs="24">
334
         <el-card>
362
         <el-card>
335
           <h2 style="text-align: center;">流程进度</h2>
363
           <h2 style="text-align: center;">流程进度</h2>
339
         </el-card>
367
         </el-card>
340
       </el-col>
368
       </el-col>
341
     </el-row>
369
     </el-row>
370
+
371
+    <el-dialog title="选择项目" :visible.sync="open" width="70%" append-to-body>
372
+      <choose-project @chooseProject="confirmProject" :chooseList="chooseProjectList"></choose-project>
373
+    </el-dialog>
374
+    <el-dialog title="选择投标项目" :visible.sync="tbOpen" width="70%" append-to-body>
375
+      <choose-tender @choose="confirmTender"></choose-tender>
376
+    </el-dialog>
342
   </div>
377
   </div>
343
 </template>
378
 </template>
344
 
379
 
358
 import { getUsersDeptLeader, getUsersManageLeader, getUsersDeptLeaderByDept } from '@/api/system/post.js'
393
 import { getUsersDeptLeader, getUsersManageLeader, getUsersDeptLeaderByDept } from '@/api/system/post.js'
359
 import flow from '@/views/flowable/task/todo/detail/flow'
394
 import flow from '@/views/flowable/task/todo/detail/flow'
360
 import { flowXmlAndNode } from "@/api/flowable/definition";
395
 import { flowXmlAndNode } from "@/api/flowable/definition";
396
+import ChooseProject from '../components/chooseProject.vue';
397
+import ChooseTender from '../components/chooseTender.vue';
361
 export default {
398
 export default {
362
   components: {
399
   components: {
363
-    flow
400
+    flow,
401
+    ChooseProject,
402
+    ChooseTender
364
   },
403
   },
365
   props: {
404
   props: {
366
     taskName: {
405
     taskName: {
375
   name: "Contract",
414
   name: "Contract",
376
   data() {
415
   data() {
377
     return {
416
     return {
417
+      baseUrl: process.env.VUE_APP_BASE_API,
378
       draftUser: '',
418
       draftUser: '',
379
       draftTime: undefined,
419
       draftTime: undefined,
380
       managerUser: '',
420
       managerUser: '',
399
       title: "",
439
       title: "",
400
       // 是否显示弹出层
440
       // 是否显示弹出层
401
       open: false,
441
       open: false,
442
+      tbOpen: false,
402
       // 查询参数
443
       // 查询参数
403
       queryParams: {
444
       queryParams: {
404
         pageNum: 1,
445
         pageNum: 1,
548
               this.isSelect = true
589
               this.isSelect = true
549
             })
590
             })
550
           }
591
           }
551
-          listContractWork({contractId: this.taskForm.formId}).then(res => {
592
+          listContractWork({ contractId: this.taskForm.formId }).then(res => {
552
             if (res.rows)
593
             if (res.rows)
553
               this.workList = res.rows;
594
               this.workList = res.rows;
554
           });
595
           });
555
-          listContractPayment({contractId: this.taskForm.formId}).then(res => {
596
+          listContractPayment({ contractId: this.taskForm.formId }).then(res => {
556
             if (res.rows)
597
             if (res.rows)
557
               this.paymentList = res.rows;
598
               this.paymentList = res.rows;
558
           });
599
           });
559
-          listContractComment({contractId: this.taskForm.formId}).then(res => {
600
+          listContractComment({ contractId: this.taskForm.formId }).then(res => {
560
             if (res.rows)
601
             if (res.rows)
561
               this.commentList = res.rows;
602
               this.commentList = res.rows;
562
             for (let comment of this.commentList) {
603
             for (let comment of this.commentList) {
774
       };
815
       };
775
       this.resetForm("form");
816
       this.resetForm("form");
776
     },
817
     },
777
-    /** 搜索按钮操作 */
778
-    handleQuery() {
779
-      this.queryParams.pageNum = 1;
780
-      this.getList();
781
-    },
782
-    /** 重置按钮操作 */
783
-    resetQuery() {
784
-      this.resetForm("queryForm");
785
-      this.handleQuery();
786
-    },
787
-    // 多选框选中数据
788
-    handleSelectionChange(selection) {
789
-      this.ids = selection.map(item => item.contractId)
790
-      this.single = selection.length !== 1
791
-      this.multiple = !selection.length
792
-    },
793
-    /** 新增按钮操作 */
794
-    handleAdd() {
795
-      this.reset();
796
-      this.open = true;
797
-      this.title = "添加cmc合同评审";
798
-    },
799
-    /** 修改按钮操作 */
800
-    handleUpdate(row) {
801
-      this.reset();
802
-      const contractId = row.contractId || this.ids
803
-      getContract(contractId).then(response => {
804
-        this.form = response.data;
805
-        this.open = true;
806
-        this.title = "修改cmc合同评审";
807
-      });
808
-    },
809
     /** 提交按钮 */
818
     /** 提交按钮 */
810
     submitForm() {
819
     submitForm() {
811
       this.$refs["form"].validate(valid => {
820
       this.$refs["form"].validate(valid => {
875
               addContractPayment(payment);
884
               addContractPayment(payment);
876
             }
885
             }
877
             for (let projectId of this.projectContractForm.projectIds) {
886
             for (let projectId of this.projectContractForm.projectIds) {
878
-              addProjectContract({projectId: projectId, contractId: this.form.contractId});
887
+              addProjectContract({ projectId: projectId, contractId: this.form.contractId });
879
             }
888
             }
880
             const params = { taskId: this.taskForm.taskId };
889
             const params = { taskId: this.taskForm.taskId };
881
             getNextFlowNode(params).then(res => {
890
             getNextFlowNode(params).then(res => {
922
         }
931
         }
923
       });
932
       });
924
     },
933
     },
925
-    /** 删除按钮操作 */
926
-    handleDelete(row) {
927
-      const contractIds = row.contractId || this.ids;
928
-      this.$modal.confirm('是否确认删除cmc合同评审编号为"' + contractIds + '"的数据项?').then(function () {
929
-        return delContract(contractIds);
930
-      }).then(() => {
931
-        this.getList();
932
-        this.$modal.msgSuccess("删除成功");
933
-      }).catch(() => { });
934
+    getContractPath(val) {
935
+      let arr = val.split('/upload')
936
+      this.form.contractDocument = arr[1]
937
+      if (val == "") {
938
+        this.form.contractDocument = ""
939
+      }
940
+    },
941
+    getFileName(name) {
942
+      let arr = name.split('/')
943
+      return arr[arr.length - 1];
934
     },
944
     },
935
-    /** 导出按钮操作 */
936
-    handleExport() {
937
-      this.download('oa/contract/export', {
938
-        ...this.queryParams
939
-      }, `contract_${new Date().getTime()}.xlsx`)
945
+    confirmProject(val) {
946
+      this.open = false
947
+      for (let v of val) {
948
+        this.projectContractForm.projectIds.push(v.projectId);
949
+      }
950
+      this.chooseProjectList = val
951
+    },
952
+    confirmTender(val) {
953
+      this.tbOpen = false
954
+      this.form.tenderId = val.tenderId
955
+      this.chooseTender = val
956
+      this.isSelect = true
940
     }
957
     }
941
   }
958
   }
942
 }
959
 }
943
 </script>
960
 </script>
944
 
961
 
945
 <style lang="scss" scoped>
962
 <style lang="scss" scoped>
963
+@import "@/assets/styles/element-reset.scss";
964
+
946
 table {
965
 table {
947
-  /*居中*/
948
-  margin: 0 auto;
949
   /*边框*/
966
   /*边框*/
950
   /* border: 1px solid black; */
967
   /* border: 1px solid black; */
951
   text-align: center;
968
   text-align: center;
952
   border-collapse: collapse;
969
   border-collapse: collapse;
970
+
953
   /*设置背景颜色*/
971
   /*设置背景颜色*/
954
   /* background-color: #bfa; */
972
   /* background-color: #bfa; */
973
+  td {
974
+    padding: 5px;
975
+  }
955
 }
976
 }
956
 </style>
977
 </style>

+ 119
- 0
oa-ui/src/views/flowable/form/components/chooseProject.vue Bestand weergeven

1
+<template>
2
+  <div>
3
+    <el-row>
4
+      <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="88px">
5
+        <el-form-item label="项目编号" prop="projectNumber">
6
+          <el-input v-model="queryParams.projectNumber" placeholder="请输入项目编号" clearable
7
+            @keyup.enter.native="handleQuery()" />
8
+        </el-form-item>
9
+        <el-form-item label="项目名称" prop="projectName">
10
+          <el-input v-model="queryParams.projectName" placeholder="请输入项目名称" clearable
11
+            @keyup.enter.native="handleQuery()" />
12
+        </el-form-item>
13
+        <el-form-item label="项目负责人" prop="projectLeader">
14
+          <el-select v-model="queryParams.projectLeader" clearable filterable placeholder="请输入项目负责人" size="large"
15
+            style="width: 240px" @keyup.enter.native="handleQuery()">
16
+            <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId" />
17
+          </el-select>
18
+        </el-form-item>
19
+        <el-form-item>
20
+          <el-button type="primary" icon="el-icon-search" @click="handleQuery()">搜索</el-button>
21
+        </el-form-item>
22
+      </el-form>
23
+    </el-row>
24
+
25
+    <el-table ref="chooseProject" v-loading="loading" :data="projectList" @selection-change="handleSelectionChange"
26
+      :row-key="getRowKeys">
27
+      <el-table-column type="selection" width="50" align="center" :reserve-selection="true" />
28
+      <el-table-column label="项目编号" align="center" key="projectNumber" prop="projectNumber" />
29
+      <el-table-column label="项目名称" align="center" key="projectName" prop="projectName" :show-overflow-tooltip="true" />
30
+      <el-table-column label="项目负责人" align="center" key="projectLeader" prop="projectLeader"
31
+        :show-overflow-tooltip="true" />
32
+      <el-table-column label="甲方公司" align="center" key="partyA" prop="partyA" :show-overflow-tooltip="true" />
33
+      <el-table-column label="项目类型" align="center" key="projectType" prop="projectType" />
34
+    </el-table>
35
+    <div style="text-align: right;" class="mt20 mr20">
36
+      <el-pagination @current-change="getList" :current-page.sync="queryParams.pageNum"
37
+        :page-size="queryParams.pageSize" layout="total, prev, pager, next" :total="total">
38
+      </el-pagination>
39
+    </div>
40
+    <div>
41
+      已选项目:<el-tag v-for="item in chooseProject" style="margin: 5px;" :key="item.projectId">{{ item.projectNumber + '-'
42
+        + item.projectName }}</el-tag>
43
+    </div>
44
+    <div style="text-align: center;margin-top: 20px;">
45
+      <el-button type="primary" @click="confirmChoose">确认选择</el-button>
46
+      <el-button @click="clearChoose">清空选择</el-button>
47
+    </div>
48
+  </div>
49
+</template>
50
+
51
+<script>
52
+import { listProject, submitProject, modifyProject, delProject } from "@/api/oa/project/project";
53
+import { listUser, getUser } from '@/api/system/user'
54
+export default {
55
+  props: {
56
+    chooseList: {
57
+      type: Array,
58
+      default: []
59
+    }
60
+  },
61
+  data() {
62
+    return {
63
+      // 查询参数
64
+      queryParams: {
65
+        pageNum: 1,
66
+        pageSize: 10,
67
+        projectNumber: '',
68
+        projectLeader: undefined,
69
+        projectName: '',
70
+      },
71
+      projectList: [],
72
+      userList: [],
73
+      total: 0,
74
+      loading: true,
75
+      chooseProject: []
76
+    }
77
+  },
78
+  created() {
79
+    this.getList();
80
+    this.getUserList();
81
+    this.chooseProject = this.chooseList;
82
+  },
83
+  methods: {
84
+    // 查询项目列表
85
+    getList() {
86
+      this.loading = true
87
+      listProject(this.queryParams).then(response => {
88
+        this.projectList = response.rows;
89
+        this.total = response.total;
90
+        this.loading = false;
91
+      })
92
+    },
93
+    /** 查询用户列表 */
94
+    getUserList() {
95
+      listUser({ pageNum: 1, pageSize: 9999 }).then(res => {
96
+        this.userList = res.rows
97
+      })
98
+    },
99
+    handleQuery() {
100
+      this.queryParams.pageNum = 1;
101
+      this.getList();
102
+    },
103
+    handleSelectionChange(val) {
104
+      this.chooseProject = val
105
+    },
106
+    getRowKeys(row) {
107
+      return row.projectId;
108
+    },
109
+    confirmChoose() {
110
+      this.$emit('chooseProject', this.chooseProject)
111
+    },
112
+    clearChoose() {
113
+      this.$refs.chooseProject.clearSelection();
114
+    }
115
+  },
116
+}
117
+</script>
118
+
119
+<style lang="scss" scoped></style>

+ 110
- 0
oa-ui/src/views/flowable/form/components/chooseTender.vue Bestand weergeven

1
+<template>
2
+  <div>
3
+    <el-row>
4
+      <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="88px">
5
+        <el-form-item label="投标项目名称" prop="projectName">
6
+          <el-input v-model="queryParams.projectName" placeholder="请输入项目名称" clearable
7
+            @keyup.enter.native="handleQuery()" />
8
+        </el-form-item>
9
+        <el-form-item label="招标业主" prop="partyA">
10
+          <el-input v-model="queryParams.partyA" placeholder="请输入招标业主" clearable @keyup.enter.native="handleQuery" />
11
+        </el-form-item>
12
+        <el-form-item label="投标时间" prop="tenderTime">
13
+          <el-date-picker clearable v-model="queryParams.tenderTime" type="date" value-format="yyyy-MM-dd"
14
+            placeholder="请选择投标时间">
15
+          </el-date-picker>
16
+        </el-form-item>
17
+        <el-form-item>
18
+          <el-button type="primary" icon="el-icon-search" @click="handleQuery()">搜索</el-button>
19
+        </el-form-item>
20
+      </el-form>
21
+    </el-row>
22
+
23
+    <el-table ref="choosePTender" v-loading="loading" :data="tenderList" highlight-current-row
24
+      @current-change="handleCurrentChange" :row-key="getRowKeys" @row-dblclick="confirmChoose">
25
+      <el-table-column label="投标项目名称" align="center" key="projectName" prop="projectName"
26
+        :show-overflow-tooltip="true" />
27
+      <el-table-column label="招标业主" align="center" prop="partyA" min-width="100px" />
28
+      <el-table-column label="招标代理" align="center" prop="agent" min-width="100px" />
29
+      <el-table-column label="招标地点" align="center" prop="place" min-width="100px" />
30
+      <el-table-column label="业主预算" align="center" prop="budget" min-width="100px" />
31
+    </el-table>
32
+    <div style="text-align: right;" class="mt20 mr20">
33
+      <el-pagination @current-change="getList" :current-page.sync="queryParams.pageNum"
34
+        :page-size="queryParams.pageSize" layout="total, prev, pager, next" :total="total">
35
+      </el-pagination>
36
+    </div>
37
+    <div>
38
+      已选项目:<el-tag>{{ choosePTender.projectName }}</el-tag>
39
+    </div>
40
+    <div style="text-align: center;margin-top: 20px;">
41
+      <el-button type="primary" @click="confirmChoose">确认选择</el-button>
42
+      <el-button @click="clearChoose">清空选择</el-button>
43
+    </div>
44
+  </div>
45
+</template>
46
+
47
+<script>
48
+import { listProject, submitProject, modifyProject, delProject } from "@/api/oa/project/project";
49
+import { listUser, getUser } from '@/api/system/user'
50
+import { listTender, getTender } from "@/api/oa/tender/tender";
51
+export default {
52
+  props: {
53
+  },
54
+  data() {
55
+    return {
56
+      // 查询参数
57
+      queryParams: {
58
+        pageNum: 1,
59
+        pageSize: 10
60
+      },
61
+      tenderList: [],
62
+      userList: [],
63
+      total: 0,
64
+      loading: true,
65
+      choosePTender: {
66
+        projectName: ''
67
+      }
68
+    }
69
+  },
70
+  created() {
71
+    this.getList();
72
+    this.getUserList();
73
+  },
74
+  methods: {
75
+    // 查询项目列表
76
+    getList() {
77
+      this.loading = true
78
+      listTender(this.queryParams).then(response => {
79
+        this.tenderList = response.rows;
80
+        this.total = response.total;
81
+        this.loading = false;
82
+      })
83
+    },
84
+    /** 查询用户列表 */
85
+    getUserList() {
86
+      listUser({ pageNum: 1, pageSize: 9999 }).then(res => {
87
+        this.userList = res.rows
88
+      })
89
+    },
90
+    handleQuery() {
91
+      this.queryParams.pageNum = 1;
92
+      this.getList();
93
+    },
94
+    handleCurrentChange(val) {
95
+      this.choosePTender = val
96
+    },
97
+    getRowKeys(row) {
98
+      return row.tenderId;
99
+    },
100
+    confirmChoose() {
101
+      this.$emit('choose', this.choosePTender)
102
+    },
103
+    clearChoose() {
104
+      this.$refs.choosePTender.clearSelection();
105
+    }
106
+  },
107
+}
108
+</script>
109
+
110
+<style lang="scss" scoped></style>

+ 77
- 22
oa-ui/src/views/oa/tender/index.vue Bestand weergeven

24
         <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
24
         <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
25
           v-hasPermi="['oa:tender:add']">新增</el-button>
25
           v-hasPermi="['oa:tender:add']">新增</el-button>
26
       </el-col>
26
       </el-col>
27
-      <el-col :span="1.5">
28
-        <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
29
-          v-hasPermi="['oa:tender:edit']">修改</el-button>
30
-      </el-col>
31
       <el-col :span="1.5">
27
       <el-col :span="1.5">
32
         <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
28
         <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
33
           v-hasPermi="['oa:tender:remove']">删除</el-button>
29
           v-hasPermi="['oa:tender:remove']">删除</el-button>
34
       </el-col>
30
       </el-col>
35
-      <el-col :span="1.5">
31
+      <!-- <el-col :span="1.5">
36
         <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
32
         <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
37
           v-hasPermi="['oa:tender:export']">导出</el-button>
33
           v-hasPermi="['oa:tender:export']">导出</el-button>
38
-      </el-col>
34
+      </el-col> -->
39
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
35
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
40
     </el-row>
36
     </el-row>
41
 
37
 
42
     <el-table v-loading="loading" :data="tenderList" @selection-change="handleSelectionChange">
38
     <el-table v-loading="loading" :data="tenderList" @selection-change="handleSelectionChange">
43
       <el-table-column type="selection" width="55" align="center" min-width="100px" />
39
       <el-table-column type="selection" width="55" align="center" min-width="100px" />
40
+      <el-table-column type="index" label="序号" width="55" align="center" min-width="100px" />
44
       <!-- <el-table-column label="投标id" align="center" prop="tenderId" min-width="100px" /> -->
41
       <!-- <el-table-column label="投标id" align="center" prop="tenderId" min-width="100px" /> -->
45
       <el-table-column label="投标项目名称" align="center" prop="projectName" min-width="100px" />
42
       <el-table-column label="投标项目名称" align="center" prop="projectName" min-width="100px" />
46
       <el-table-column label="招标业主" align="center" prop="partyA" min-width="100px" />
43
       <el-table-column label="招标业主" align="center" prop="partyA" min-width="100px" />
47
-      <el-table-column label="业主联系人" align="center" prop="aPerson" min-width="100px" />
48
-      <el-table-column label="业主联系电话" align="center" prop="aPhone" min-width="100px" />
44
+      <!-- <el-table-column label="业主联系人" align="center" prop="aPerson" min-width="100px" /> -->
45
+      <!-- <el-table-column label="业主联系电话" align="center" prop="aPhone" min-width="100px" /> -->
49
       <el-table-column label="招标代理" align="center" prop="agent" min-width="100px" />
46
       <el-table-column label="招标代理" align="center" prop="agent" min-width="100px" />
50
-      <el-table-column label="代理联系人" align="center" prop="agentPerson" min-width="100px" />
51
-      <el-table-column label="代理联系电话" align="center" prop="agentPhone" min-width="100px" />
47
+      <!-- <el-table-column label="代理联系人" align="center" prop="agentPerson" min-width="100px" /> -->
48
+      <!-- <el-table-column label="代理联系电话" align="center" prop="agentPhone" min-width="100px" /> -->
52
       <el-table-column label="招标地点" align="center" prop="place" min-width="100px" />
49
       <el-table-column label="招标地点" align="center" prop="place" min-width="100px" />
53
-      <el-table-column label="投标部门" align="center" prop="dept" min-width="100px">
50
+      <!-- <el-table-column label="投标部门" align="center" prop="dept" min-width="100px">
54
         <template slot-scope="scope">
51
         <template slot-scope="scope">
55
           {{ getNameByDeptId(scope.row.dept) }}
52
           {{ getNameByDeptId(scope.row.dept) }}
56
         </template>
53
         </template>
57
-      </el-table-column>
54
+</el-table-column> -->
58
       <el-table-column label="投标委托人" align="center" prop="trustee" min-width="100px">
55
       <el-table-column label="投标委托人" align="center" prop="trustee" min-width="100px">
59
         <template slot-scope="scope">
56
         <template slot-scope="scope">
60
           {{ getNameByUserId(scope.row.trustee) }}
57
           {{ getNameByUserId(scope.row.trustee) }}
94
       <!-- <el-table-column label="标书文件" align="center" prop="tenderDocument" /> -->
91
       <!-- <el-table-column label="标书文件" align="center" prop="tenderDocument" /> -->
95
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right">
92
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right">
96
         <template slot-scope="scope">
93
         <template slot-scope="scope">
94
+          <el-button size="mini" type="text" icon="el-icon-view" @click="handleView(scope.row)"
95
+            v-hasPermi="['oa:tender:view']">查看</el-button>
97
           <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
96
           <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
98
             v-hasPermi="['oa:tender:edit']">修改</el-button>
97
             v-hasPermi="['oa:tender:edit']">修改</el-button>
99
           <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
98
           <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
108
     <!-- 添加或修改投标管理对话框 -->
107
     <!-- 添加或修改投标管理对话框 -->
109
     <el-dialog :title="title" :visible.sync="open" :width="dialogProperty.dialogWidth" append-to-body
108
     <el-dialog :title="title" :visible.sync="open" :width="dialogProperty.dialogWidth" append-to-body
110
       :close-on-click-modal="false">
109
       :close-on-click-modal="false">
111
-      <el-form ref="form" :rules="rules" :model="form">
110
+      <el-form ref="form" :rules="rules" :model="form" :disabled="formDisabled">
112
         <el-descriptions class="margin-top" :column="dialogProperty.column" border>
111
         <el-descriptions class="margin-top" :column="dialogProperty.column" border>
113
           <el-descriptions-item :span="3">
112
           <el-descriptions-item :span="3">
114
             <template slot="label">
113
             <template slot="label">
252
             <template slot="label">
251
             <template slot="label">
253
               招标文件
252
               招标文件
254
             </template>
253
             </template>
255
-            <FileUpload v-if="form.tenderId == null" ref="zbFile" :limit="1"
254
+            <FileUpload v-if="form.tenderId == null" ref="zbFile" :limit="1" :filePathName="'投标文件'"
256
               :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf']" @input="getUploadPathBidDocument"></FileUpload>
255
               :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf']" @input="getUploadPathBidDocument"></FileUpload>
257
             <div v-if="form.tenderId != null">
256
             <div v-if="form.tenderId != null">
257
+
258
+              <FileUpload ref="zb" :limit="1" :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf']" :isShowTip="false"
259
+              :filePathName="'投标文件'" :isModify="true" @input="getUploadPathBidDocument"></FileUpload>
258
               <transition-group class="upload-file-list el-upload-list el-upload-list--text" name="el-fade-in-linear"
260
               <transition-group class="upload-file-list el-upload-list el-upload-list--text" name="el-fade-in-linear"
259
                 tag="ul">
261
                 tag="ul">
260
                 <li key="li01" class="el-upload-list__item ele-upload-list__item-content">
262
                 <li key="li01" class="el-upload-list__item ele-upload-list__item-content">
262
                     target="_blank">
264
                     target="_blank">
263
                     <span class="el-icon-document"> {{ getFileName(form.bidDocument) }} </span>
265
                     <span class="el-icon-document"> {{ getFileName(form.bidDocument) }} </span>
264
                   </el-link>
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>
265
                 </li>
270
                 </li>
266
               </transition-group>
271
               </transition-group>
267
             </div>
272
             </div>
353
             <template slot="label">
358
             <template slot="label">
354
               标书文件
359
               标书文件
355
             </template>
360
             </template>
356
-            <FileUpload v-if="form.tenderId == null" ref="bsFile" :limit="1" :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf']"
357
-              @input="getUploadPathTenderDocument"></FileUpload>
361
+            <FileUpload v-if="form.tenderId == null" ref="bsFile" :limit="1" :filePathName="'投标文件'"
362
+              :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf']" @input="getUploadPathTenderDocument"></FileUpload>
358
             <div v-if="form.tenderId != null">
363
             <div v-if="form.tenderId != null">
364
+              <FileUpload ref="bs" :limit="1" :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf']" :isShowTip="false"  :filePathName="'投标文件'"
365
+                :isModify="true" @input="getUploadPathTenderDocument"></FileUpload>
359
               <transition-group class="upload-file-list el-upload-list el-upload-list--text" name="el-fade-in-linear"
366
               <transition-group class="upload-file-list el-upload-list el-upload-list--text" name="el-fade-in-linear"
360
                 tag="ul">
367
                 tag="ul">
361
                 <li key="li02" class="el-upload-list__item ele-upload-list__item-content">
368
                 <li key="li02" class="el-upload-list__item ele-upload-list__item-content">
363
                     target="_blank">
370
                     target="_blank">
364
                     <span class="el-icon-document"> {{ getFileName(form.tenderDocument) }} </span>
371
                     <span class="el-icon-document"> {{ getFileName(form.tenderDocument) }} </span>
365
                   </el-link>
372
                   </el-link>
366
-                  <FileUpload :limit="1" :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf']" :isShowTip="false" :isModify="true"
367
-                    @input="getUploadPathTenderDocument"></FileUpload>
373
+                  <div class="ele-upload-list__item-content-action">
374
+                    <el-link :underline="false" @click="handleFileDelete('bs')" type="danger">删除</el-link>
375
+                  </div>
368
                 </li>
376
                 </li>
369
               </transition-group>
377
               </transition-group>
370
             </div>
378
             </div>
372
         </el-descriptions>
380
         </el-descriptions>
373
       </el-form>
381
       </el-form>
374
       <div slot="footer" class="dialog-footer" style="text-align: center;">
382
       <div slot="footer" class="dialog-footer" style="text-align: center;">
375
-        <el-button type="primary" @click="submitForm">确 定</el-button>
383
+        <el-button :disabled="formDisabled" type="primary" @click="submitForm">确 定</el-button>
376
         <el-button @click="cancel">取 消</el-button>
384
         <el-button @click="cancel">取 消</el-button>
377
       </div>
385
       </div>
378
     </el-dialog>
386
     </el-dialog>
412
         dialogWidth: '1200px',
420
         dialogWidth: '1200px',
413
         column: 3,
421
         column: 3,
414
       },
422
       },
423
+      formDisabled: false,
415
       // 查询参数
424
       // 查询参数
416
       queryParams: {
425
       queryParams: {
417
         pageNum: 1,
426
         pageNum: 1,
520
     getUserList() {
529
     getUserList() {
521
       listUser({ pageNum: 1, pageSize: 99999, deptId: this.form.dept }).then(response => {
530
       listUser({ pageNum: 1, pageSize: 99999, deptId: this.form.dept }).then(response => {
522
         this.userList = response.rows;
531
         this.userList = response.rows;
523
-        console.log(response.rows);
524
       }
532
       }
525
       );
533
       );
526
     },
534
     },
606
       this.form.dept = 105
614
       this.form.dept = 105
607
       this.open = true;
615
       this.open = true;
608
       this.title = "添加投标信息";
616
       this.title = "添加投标信息";
617
+      this.formDisabled = false;
618
+    },
619
+    handleView(row) {
620
+      const tenderId = row.tenderId || this.ids
621
+      getTender(tenderId).then(response => {
622
+        this.form = response.data;
623
+        this.open = true;
624
+        this.formDisabled = true;
625
+        this.title = "查看投标信息";
626
+      });
609
     },
627
     },
610
     /** 修改按钮操作 */
628
     /** 修改按钮操作 */
611
     handleUpdate(row) {
629
     handleUpdate(row) {
614
       getTender(tenderId).then(response => {
632
       getTender(tenderId).then(response => {
615
         this.form = response.data;
633
         this.form = response.data;
616
         this.open = true;
634
         this.open = true;
635
+        this.formDisabled = false;
617
         this.title = "修改投标信息";
636
         this.title = "修改投标信息";
618
       });
637
       });
619
     },
638
     },
639
       });
658
       });
640
     },
659
     },
641
     getUploadPathBidDocument(val) {
660
     getUploadPathBidDocument(val) {
642
-      console.log(val);
643
       let arr = val.split('/upload')
661
       let arr = val.split('/upload')
644
       this.form.bidDocument = arr[1]
662
       this.form.bidDocument = arr[1]
663
+      if (val == "") {
664
+        this.form.bidDocument = ""
665
+      }
645
     },
666
     },
646
     getUploadPathTenderDocument(val) {
667
     getUploadPathTenderDocument(val) {
647
       let arr = val.split('/upload')
668
       let arr = val.split('/upload')
648
       this.form.tenderDocument = arr[1]
669
       this.form.tenderDocument = arr[1]
670
+      if (val == "") {
671
+        this.form.tenderDocument = ""
672
+      }
649
     },
673
     },
650
     getFileName(name) {
674
     getFileName(name) {
651
       let arr = name.split('/')
675
       let arr = name.split('/')
652
       return arr[arr.length - 1];
676
       return arr[arr.length - 1];
653
     },
677
     },
678
+    handleFileDelete(name) {
679
+      if (name == 'zb')
680
+        this.$refs.zb.handleDelete(0);
681
+      else
682
+        this.$refs.bs.handleDelete(0);
683
+    },
654
     /** 删除按钮操作 */
684
     /** 删除按钮操作 */
655
     handleDelete(row) {
685
     handleDelete(row) {
656
       const tenderIds = row.tenderId || this.ids;
686
       const tenderIds = row.tenderId || this.ids;
657
-      this.$modal.confirm('是否确认删除投标管理编号为"' + tenderIds + '"的数据项?').then(function () {
687
+      this.$modal.confirm('删除后不可恢复,是否确认删除?').then(function () {
658
         return delTender(tenderIds);
688
         return delTender(tenderIds);
659
       }).then(() => {
689
       }).then(() => {
660
         this.getList();
690
         this.getList();
675
 };
705
 };
676
 </script>
706
 </script>
677
 <style lang="scss" scoped>
707
 <style lang="scss" scoped>
708
+@import "@/assets/styles/element-reset.scss";
709
+
678
 ::v-deep .el-descriptions-item__label.is-bordered-label {
710
 ::v-deep .el-descriptions-item__label.is-bordered-label {
679
   color: #121212;
711
   color: #121212;
680
   // background: rgba($color: #46a6ff, $alpha: 0.1);
712
   // background: rgba($color: #46a6ff, $alpha: 0.1);
700
   font-weight: bold;
732
   font-weight: bold;
701
   display: inline-block;
733
   display: inline-block;
702
 }
734
 }
735
+
736
+
737
+.upload-file-uploader {
738
+  margin-bottom: 5px;
739
+}
740
+
741
+.upload-file-list .el-upload-list__item {
742
+  border: 1px solid #e4e7ed;
743
+  line-height: 2;
744
+  margin-bottom: 10px;
745
+  position: relative;
746
+}
747
+
748
+.upload-file-list .ele-upload-list__item-content {
749
+  display: flex;
750
+  justify-content: space-between;
751
+  align-items: center;
752
+  color: inherit;
753
+}
754
+
755
+.ele-upload-list__item-content-action .el-link {
756
+  margin-right: 10px;
757
+}
703
 </style>
758
 </style>

Laden…
Annuleren
Opslaan