Browse Source

修改分包合同评审

余思翰 1 year ago
parent
commit
1c28b49bc3

+ 5
- 1
oa-ui/src/components/FileUpload/index.vue View File

@@ -16,7 +16,7 @@
16 16
       accept=".doc,.docx,.xls,.xlsx,.pdf"
17 17
     >
18 18
       <!-- 上传按钮 -->
19
-      <el-button size="mini" type="primary">选取文件</el-button>
19
+      <el-button size="mini" type="primary" :disabled="disabled">选取文件</el-button>
20 20
       <!-- 上传提示 -->
21 21
       <div class="el-upload__tip" slot="tip" v-if="showTip">
22 22
         请上传
@@ -90,6 +90,10 @@ export default {
90 90
     filePathName:{
91 91
       type: String,
92 92
       default: '',
93
+    },
94
+    disabled:{
95
+      type: Boolean,
96
+      default:false,
93 97
     }
94 98
   },
95 99
   created(){

+ 134
- 31
oa-ui/src/views/flowable/form/business/contractForm.vue View File

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-05-10 15:31:57
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-05-13 18:58:07
5
+ * @LastEditTime: 2024-05-14 17:46:47
6 6
 -->
7 7
 <template>
8 8
   <div class="app-container">
@@ -10,11 +10,12 @@
10 10
       <el-col :span="18" :xs="24">
11 11
         <h2 class="text-center">承接合同评审表</h2>
12 12
         <el-divider></el-divider>
13
-        <el-form ref="form" :model="form" :rules="rules" label-width="130px">
13
+        <el-form ref="form" :model="form" :rules="rules" label-width="130px" :disabled="formDisabled">
14 14
           <el-row :gutter="20">
15 15
             <el-col :span="12" :xs="24">
16 16
               <el-form-item label="投标项目名称:" prop="tenderId">
17
-                <el-button type="primary" size="mini" @click="tbOpen = true">选择投标项目</el-button>
17
+                <el-button type="primary" size="mini" @click="tbOpen = true"
18
+                  v-if="taskName == '合同拟稿'">选择投标项目</el-button>
18 19
                 <!-- <el-select v-model="form.tenderId" filterable placeholder="请选择" @change="handleSelectTender"
19 20
                   :disabled="taskName != '合同拟稿'" clearable>
20 21
                   <el-option v-for="item in tenderList" :key="item.value" :label="item.projectName"
@@ -64,14 +65,14 @@
64 65
             </el-col>
65 66
 
66 67
             <el-col :span="12" :xs="24">
67
-              <el-form-item label="关联项目编号:" prop="projectIds">
68
+              <el-form-item label="关联项目:" prop="projectIds">
68 69
                 <!-- <el-select v-model="projectContractForm.projectIds" multiple filterable placeholder="请选择"
69 70
                   @change="handleSelectProject" :disabled="taskName != '合同拟稿'" clearable>
70 71
                   <el-option v-for="item in projectList" :key="item.value"
71 72
                     :label="item.projectNumber + item.projectName" :value="item.projectId">
72 73
                   </el-option>
73 74
                 </el-select> -->
74
-                <el-button type="primary" size="mini" @click="open = true">选择项目</el-button>
75
+                <el-button type="primary" size="mini" @click="open = true" v-if="taskName == '合同拟稿'">选择项目</el-button>
75 76
               </el-form-item>
76 77
               <el-table v-loading="loading" :data="chooseProjectList">
77 78
                 <el-table-column label="项目编号" align="center" prop="projectNumber"></el-table-column>
@@ -83,16 +84,17 @@
83 84
 
84 85
           </el-row>
85 86
           <el-form-item label="合同文件" prop="contractDocument">
86
-            <FileUpload v-if="form.tenderId == null" ref="contractFile" :limit="1" :filePathName="'合同文件'"
87
+            <FileUpload v-if="taskName == '合同拟稿'" ref="contractFile" :limit="1" :filePathName="'合同文件'"
87 88
               :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf']" @input="getContractPath"></FileUpload>
88
-            <div v-if="form.tenderId != null">
89
+            <div v-if="taskName != '合同拟稿'">
89 90
               <transition-group class="upload-file-list el-upload-list el-upload-list--text" name="el-fade-in-linear"
90 91
                 tag="ul">
91 92
                 <li key="li01" class="el-upload-list__item ele-upload-list__item-content">
92 93
                   <el-link :href="`${baseUrl}${'/profile/upload' + form.contractDocument}`" :underline="false"
93 94
                     target="_blank">
94
-                    <span class="el-icon-document" style="color:#0011ff;text-decoration: underline;"> {{
95
-      getFileName(form.contractDocument) }} </span>
95
+                    <span class="el-icon-document" style="color:#0011ff;text-decoration: underline;">
96
+                      {{ getFileName(form.contractDocument) }}
97
+                    </span>
96 98
                   </el-link>
97 99
                 </li>
98 100
               </transition-group>
@@ -102,7 +104,7 @@
102 104
           <el-form-item label="合同计划工作量:">
103 105
             <table border="1">
104 106
               <tr>
105
-                <td>序号</td>
107
+                <td style="width: 50px;">序号</td>
106 108
                 <td>工作内容</td>
107 109
                 <td>等级或比例尺</td>
108 110
                 <td>单位</td>
@@ -119,10 +121,16 @@
119 121
                     :disabled="taskName != '合同拟稿'"></el-input>
120 122
                 </td>
121 123
                 <td>
122
-                  <el-input v-model="work.scale" clearable :disabled="taskName != '合同拟稿'"></el-input>
124
+                  <el-select v-model="work.scale" placeholder="请选择" clearable :disabled="taskName != '合同拟稿'">
125
+                    <el-option v-for="dict in dict.type.cmc_scale_grade" :key="dict.value" :label="dict.label"
126
+                      :value="dict.label" />
127
+                  </el-select>
123 128
                 </td>
124 129
                 <td>
125
-                  <el-input v-model="work.unit" clearable :disabled="taskName != '合同拟稿'"></el-input>
130
+                  <el-select v-model="work.unit" placeholder="请选择" clearable :disabled="taskName != '合同拟稿'">
131
+                    <el-option v-for="dict in dict.type.cmc_unit" :key="dict.value" :label="dict.label"
132
+                      :value="dict.label" />
133
+                  </el-select>
126 134
                 </td>
127 135
                 <td>
128 136
                   <el-input v-model="work.workload" clearable :disabled="taskName != '合同拟稿'"></el-input>
@@ -148,7 +156,7 @@
148 156
           <el-form-item label="合同回款计划:">
149 157
             <table border="1">
150 158
               <tr>
151
-                <td>序号</td>
159
+                <td style="width: 50px;">序号</td>
152 160
                 <td>回款条件</td>
153 161
                 <td>回款比例(%)</td>
154 162
                 <td>回款金额(元)</td>
@@ -188,7 +196,7 @@
188 196
               :disabled="taskName != '合同拟稿'"></el-button>
189 197
           </el-form-item>
190 198
           <el-form-item label="合同备注" prop="remark">
191
-            <el-input v-model="form.remark" placeholder="请输入合同备注" :disabled="taskName != '合同拟稿'" />
199
+            <el-input v-model="form.remark" type="textarea" placeholder="请输入合同备注" :disabled="taskName != '合同拟稿'" />
192 200
           </el-form-item>
193 201
           <el-row>
194 202
             <el-col :span="6" :xs="24" :offset="12">
@@ -217,9 +225,9 @@
217 225
                 <td>会审部门</td>
218 226
                 <td>会审人</td>
219 227
                 <td>会审意见</td>
220
-                <td>会审附件</td>
228
+                <td style="width: 200px;">会审附件</td>
221 229
                 <td style="width: 90px;">签名</td>
222
-                <td>日期</td>
230
+                <td style="width: 100px;">日期</td>
223 231
               </tr>
224 232
               <tr v-for="(comment, index) in commentList" :key="index">
225 233
                 <td>
@@ -241,14 +249,33 @@
241 249
                 </td>
242 250
                 <td>
243 251
                   <el-input v-model="comment.comment" type="textarea" clearable :autosize="{ minRows: 4, maxRows: 10 }"
244
-                    :disabled="taskName != '线上会审' || (taskName == '线上会审' && !comment.commentUser)"></el-input>
252
+                    :disabled="taskName != '线上会审' || (taskName == '线上会审' && comment.userId != userId)"></el-input>
245 253
                 </td>
246
-                <td style="text-align:left;">
247
-                  <FileUpload :limit="1" :filePathName="'合同文件'"
248
-                    :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf']" @input=""></FileUpload>
254
+                <td style="text-align:left;" @click="clickFile(comment)">
255
+                  <FileUpload v-if="comment.document == ''" ref="hs" :limit="1" :filePathName="'合同文件'"
256
+                    :disabled="taskName != '线上会审' || (taskName == '线上会审' && !comment.commentUser)"
257
+                    :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf']" @input="setCommentDocument">
258
+                  </FileUpload>
259
+
249 260
                   <!-- <el-input v-model="comment.document" clearable
250 261
                     :disabled="taskName != '线上会审' || (taskName == '线上会审' && !comment.commentUser)"></el-input> -->
251
-
262
+                  <div v-if="comment.document != ''">
263
+                    <transition-group class="upload-file-list el-upload-list el-upload-list--text"
264
+                      name="el-fade-in-linear" tag="ul">
265
+                      <li key="li01" class="el-upload-list__item ele-upload-list__item-content">
266
+                        <el-link :href="`${baseUrl}${'/profile/upload' + comment.document}`" :underline="false"
267
+                          target="_blank">
268
+                          <span class="el-icon-document" style="color:#0011ff;text-decoration: underline;">
269
+                            {{ getFileName(comment.document) }}
270
+                          </span>
271
+                        </el-link>
272
+                        <div class="ele-upload-list__item-content-action" v-if="comment.userId == userId">
273
+                          <el-link :underline="false" @click="handleFileDelete(comment, 'document')"
274
+                            type="danger">删除</el-link>
275
+                        </div>
276
+                      </li>
277
+                    </transition-group>
278
+                  </div>
252 279
                 </td>
253 280
                 <td>
254 281
                   <span class="auditor"> {{ comment.commentUser ? comment.commentUser.nickName : '' }} </span>
@@ -302,7 +329,9 @@
302 329
               <tr>
303 330
                 <td>评审意见表</td>
304 331
                 <td colspan="5">
305
-                  <el-input v-model="meetingForm.document" clearable :disabled="taskName != '会议评审'"></el-input>
332
+                  <FileUpload v-if="taskName == '会议评审'" ref="contractFile" :limit="1" :filePathName="'合同文件'"
333
+                    :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf']" @input="getMeetingPath"></FileUpload>
334
+                  <!-- <el-input v-model="meetingForm.document" clearable :disabled="taskName != '会议评审'"></el-input> -->
306 335
                 </td>
307 336
               </tr>
308 337
               <tr>
@@ -326,7 +355,8 @@
326 355
             </table>
327 356
           </el-form-item>
328 357
           <el-form-item label="分管审批意见" prop="remark">
329
-            <el-input v-model="form.managerComment" placeholder="请输入分管审批意见" :disabled="taskName != '分管审核'" />
358
+            <el-input v-model="form.managerComment" type="textarea" placeholder="请输入审批意见"
359
+              :disabled="taskName != '分管审核'" />
330 360
           </el-form-item>
331 361
           <el-row>
332 362
             <el-col :span="6" :xs="24" :offset="12">
@@ -347,15 +377,33 @@
347 377
             </el-date-picker>
348 378
           </el-form-item>
349 379
           <el-form-item label="签订备注" prop="signRemark">
350
-            <el-input v-model="form.signRemark" placeholder="请输入签订备注" :disabled="taskName != '合同签订'" />
380
+            <el-input v-model="form.signRemark" type="textarea" placeholder="请输入签订备注" :disabled="taskName != '合同签订'" />
351 381
           </el-form-item>
352 382
           <el-form-item label="签订扫描件" prop="signScan">
353
-            <el-input v-model="form.signScan" placeholder="请输入签订扫描件" :disabled="taskName != '合同签订'" />
383
+            <!-- <el-input v-model="form.signScan" placeholder="请输入签订扫描件" :disabled="taskName != '合同签订'" /> -->
384
+            <FileUpload v-if="form.signScan == null || form.signScan == ''" ref="contractFile" :limit="1"
385
+              :filePathName="'合同文件'" :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf']" @input="getSignScanPath">
386
+            </FileUpload>
387
+            <div v-if="form.signScan != null && form.signScan != ''">
388
+              <transition-group class="upload-file-list el-upload-list el-upload-list--text" name="el-fade-in-linear"
389
+                tag="ul">
390
+                <li key="li01" class="el-upload-list__item ele-upload-list__item-content">
391
+                  <el-link :href="`${baseUrl}${'/profile/upload' + form.signScan}`" :underline="false" target="_blank">
392
+                    <span class="el-icon-document" style="color:#0011ff;text-decoration: underline;">
393
+                      {{ getFileName(form.signScan) }}
394
+                    </span>
395
+                  </el-link>
396
+                  <div class="ele-upload-list__item-content-action" v-if="taskName != ''">
397
+                    <el-link :underline="false" @click="handleFileDelete(form, 'signScan')" type="danger">删除</el-link>
398
+                  </div>
399
+                </li>
400
+              </transition-group>
401
+            </div>
354 402
           </el-form-item>
355 403
         </el-form>
356 404
         <div style="text-align: center;">
357
-          <el-button type="primary" @click="submitForm">确 定</el-button>
358
-          <el-button @click="cancel">取 消</el-button>
405
+          <el-button type="primary" @click="submitForm" :disabled="formDisabled">提 交</el-button>
406
+          <!-- <el-button @click="cancel">取 消</el-button> -->
359 407
         </div>
360 408
       </el-col>` `
361 409
       <el-col :span="6" :xs="24">
@@ -369,7 +417,7 @@
369 417
     </el-row>
370 418
 
371 419
     <el-dialog title="选择项目" :visible.sync="open" width="70%" append-to-body>
372
-      <choose-project @chooseProject="confirmProject" :chooseList="chooseProjectList"></choose-project>
420
+      <choose-project @chooseProject="confirmProject"></choose-project>
373 421
     </el-dialog>
374 422
     <el-dialog title="选择投标项目" :visible.sync="tbOpen" width="70%" append-to-body>
375 423
       <choose-tender @choose="confirmTender"></choose-tender>
@@ -395,7 +443,9 @@ import flow from '@/views/flowable/task/todo/detail/flow'
395 443
 import { flowXmlAndNode } from "@/api/flowable/definition";
396 444
 import ChooseProject from '../components/chooseProject.vue';
397 445
 import ChooseTender from '../components/chooseTender.vue';
446
+import { mapGetters } from "vuex";
398 447
 export default {
448
+  dicts: ['cmc_scale_grade', 'cmc_unit'],
399 449
   components: {
400 450
     flow,
401 451
     ChooseProject,
@@ -409,8 +459,15 @@ export default {
409 459
     taskForm: {
410 460
       type: Object,
411 461
       required: true
462
+    },
463
+    formDisabled: {
464
+      type: Boolean,
465
+      default: false
412 466
     }
413 467
   },
468
+  computed: {
469
+    ...mapGetters(["userId"]),
470
+  },
414 471
   name: "Contract",
415 472
   data() {
416 473
     return {
@@ -533,6 +590,7 @@ export default {
533 590
       isSelect: false,
534 591
       formTotal: 0,
535 592
       flowData: {},
593
+      clickTd: {},
536 594
     };
537 595
   },
538 596
   created() {
@@ -752,6 +810,16 @@ export default {
752 810
         arr.splice(index, 1);
753 811
       }
754 812
     },
813
+    setCommentDocument(val) {
814
+      let arr = val.split('/upload');
815
+      this.clickTd.document = arr[1];
816
+    },
817
+    handleFileDelete(key, val) {
818
+      key[val] = ''
819
+    },
820
+    clickFile(val) {
821
+      this.clickTd = val
822
+    },
755 823
     deletCommentItem(index) {
756 824
       let arr = this.commentList;
757 825
       if (arr.length == 1) {
@@ -937,12 +1005,25 @@ export default {
937 1005
       if (val == "") {
938 1006
         this.form.contractDocument = ""
939 1007
       }
1008
+    },
1009
+    getSignScanPath(val) {
1010
+      let arr = val.split('/upload')
1011
+      this.form.signScan = arr[1]
1012
+      if (val == "") {
1013
+        this.form.signScan = ""
1014
+      }
1015
+    },
1016
+    getMeetingPath(val){
1017
+      
940 1018
     },
941 1019
     getFileName(name) {
942
-      let arr = name.split('/')
943
-      return arr[arr.length - 1];
1020
+      if (name) {
1021
+        let arr = name.split('/')
1022
+        return arr[arr.length - 1];
1023
+      }
1024
+
944 1025
     },
945
-    confirmProject(val) {
1026
+    confirmProject(val) { 
946 1027
       this.open = false
947 1028
       for (let v of val) {
948 1029
         this.projectContractForm.projectIds.push(v.projectId);
@@ -974,4 +1055,26 @@ table {
974 1055
     padding: 5px;
975 1056
   }
976 1057
 }
1058
+
1059
+.upload-file-uploader {
1060
+  margin-bottom: 5px;
1061
+}
1062
+
1063
+.upload-file-list .el-upload-list__item {
1064
+  border: 1px solid #e4e7ed;
1065
+  line-height: 2;
1066
+  margin-bottom: 10px;
1067
+  position: relative;
1068
+}
1069
+
1070
+.upload-file-list .ele-upload-list__item-content {
1071
+  display: flex;
1072
+  justify-content: space-between;
1073
+  align-items: center;
1074
+  color: inherit;
1075
+}
1076
+
1077
+.ele-upload-list__item-content-action .el-link {
1078
+  margin-right: 10px;
1079
+}
977 1080
 </style>

+ 75
- 71
oa-ui/src/views/flowable/form/business/subContract.vue View File

@@ -6,24 +6,25 @@
6 6
         <el-form ref="form" :model="form" :rules="rules" label-width="130px">
7 7
           <el-divider></el-divider>
8 8
           <el-form-item label="项目编号:" prop="projectId">
9
-            <el-select v-model="form.projectId" filterable placeholder="请选择" @change="handleSelectProject"
9
+            <el-button type="primary" size="mini" @click="open = true" v-if="taskName == '合同拟稿'">选择项目</el-button>
10
+            <!-- <el-select v-model="form.projectId" filterable placeholder="请选择" @change="handleSelectProject"
10 11
               :disabled="taskName != '合同拟稿'" clearable>
11 12
               <el-option v-for="item in projectList" :key="item.value" :label="item.projectNumber + item.projectName"
12 13
                 :value="item.projectId">
13 14
               </el-option>
14
-            </el-select>
15
+            </el-select> -->
15 16
             <el-descriptions border v-if="isSelect" style="margin-top: 10px;" :column="1">
16
-              <el-descriptions-item label="项目编号" label-class-name="my-label">{{ chooseProject.projectNumber
17
-              }}</el-descriptions-item>
17
+              <el-descriptions-item label="项目编号" label-class-name="my-label">
18
+                {{ chooseProject.projectNumber }}</el-descriptions-item>
18 19
               <el-descriptions-item label="项目名称" label-class-name="my-label">{{ chooseProject.projectName
19
-              }}</el-descriptions-item>
20
+                }}</el-descriptions-item>
20 21
               <el-descriptions-item label="甲方单位" label-class-name="my-label">{{ chooseProject.partyA
21
-              }}</el-descriptions-item>
22
+                }}</el-descriptions-item>
22 23
               <el-descriptions-item label="承担部门" label-class-name="my-label">
23 24
                 <el-tag size="small">{{ chooseProject.undertakingDeptName }}</el-tag>
24 25
               </el-descriptions-item>
25 26
               <el-descriptions-item label="项目类型" label-class-name="my-label">{{ chooseProject.projectType
26
-              }}</el-descriptions-item>
27
+                }}</el-descriptions-item>
27 28
             </el-descriptions>
28 29
           </el-form-item>
29 30
           <el-row :gutter="20">
@@ -51,7 +52,7 @@
51 52
               </el-form-item>
52 53
             </el-col>
53 54
             <el-col :span="8" :xs="24">
54
-              <el-form-item label="分包合同金额" prop="subAmount">
55
+              <el-form-item label="分包合同金额(元)" prop="subAmount" label-width="160px">
55 56
                 <el-input v-model="form.subAmount" placeholder="请输入分包合同金额" :disabled="taskName != '合同拟稿'" />
56 57
               </el-form-item>
57 58
             </el-col>
@@ -59,7 +60,8 @@
59 60
           <el-row :gutter="20">
60 61
             <el-col :span="16" :xs="24">
61 62
               <el-form-item label="承接单位" prop="partnerId">
62
-                <el-select v-model="form.partnerId" filterable placeholder="请选择" :disabled="taskName != '合同拟稿'" clearable>
63
+                <el-select v-model="form.partnerId" filterable placeholder="请选择" :disabled="taskName != '合同拟稿'"
64
+                  clearable>
63 65
                   <el-option v-for="item in partnerList" :key="item.value" :label="item.partnerName"
64 66
                     :value="item.partnerId">
65 67
                   </el-option>
@@ -76,7 +78,7 @@
76 78
           <el-form-item label="合同计划工作量:">
77 79
             <table border="1">
78 80
               <tr>
79
-                <td>序号</td>
81
+                <td style="width:50px;">序号</td>
80 82
                 <td>工作内容</td>
81 83
                 <td>等级或比例尺</td>
82 84
                 <td>单位</td>
@@ -93,10 +95,16 @@
93 95
                     :disabled="taskName != '合同拟稿'"></el-input>
94 96
                 </td>
95 97
                 <td>
96
-                  <el-input v-model="work.scale" clearable :disabled="taskName != '合同拟稿'"></el-input>
98
+                  <el-select v-model="work.scale" placeholder="请选择" clearable :disabled="taskName != '合同拟稿'">
99
+                    <el-option v-for="dict in dict.type.cmc_scale_grade" :key="dict.value" :label="dict.label"
100
+                      :value="dict.label" />
101
+                  </el-select>
97 102
                 </td>
98 103
                 <td>
99
-                  <el-input v-model="work.unit" clearable :disabled="taskName != '合同拟稿'"></el-input>
104
+                  <el-select v-model="work.unit" placeholder="请选择" clearable :disabled="taskName != '合同拟稿'">
105
+                    <el-option v-for="dict in dict.type.cmc_unit" :key="dict.value" :label="dict.label"
106
+                      :value="dict.label" />
107
+                  </el-select>
100 108
                 </td>
101 109
                 <td>
102 110
                   <el-input v-model="work.workload" clearable :disabled="taskName != '合同拟稿'"></el-input>
@@ -122,7 +130,7 @@
122 130
           <el-form-item label="合同付款计划:">
123 131
             <table border="1">
124 132
               <tr>
125
-                <td>序号</td>
133
+                <td style="width:50px;">序号</td>
126 134
                 <td>付款条件</td>
127 135
                 <td>付款比例(%)</td>
128 136
                 <td>付款金额(元)</td>
@@ -144,8 +152,8 @@
144 152
                   <el-input v-model="payment.paymentAmount" clearable :disabled="taskName != '合同拟稿'"></el-input>
145 153
                 </td>
146 154
                 <td>
147
-                  <el-date-picker style="width: 140px" v-model="payment.paymentTime" value-format="yyyy-MM-dd" type="date"
148
-                    placeholder="选择日期" :disabled="taskName != '合同拟稿'">
155
+                  <el-date-picker style="width: 140px" v-model="payment.paymentTime" value-format="yyyy-MM-dd"
156
+                    type="date" placeholder="选择日期" :disabled="taskName != '合同拟稿'">
149 157
                   </el-date-picker>
150 158
                 </td>
151 159
                 <td>
@@ -272,7 +280,9 @@
272 280
               <tr>
273 281
                 <td>评审意见表</td>
274 282
                 <td colspan="5">
275
-                  <el-input v-model="meetingForm.document" clearable :disabled="taskName != '会议评审'"></el-input>
283
+                  <!-- <el-input v-model="meetingForm.document" clearable :disabled="taskName != '会议评审'"></el-input> -->
284
+                  <FileUpload v-if="taskName == '会议评审'" ref="contractFile" :limit="1" :filePathName="'合同文件'"
285
+                    :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf']" @input="getMeetingPath"></FileUpload>
276 286
                 </td>
277 287
               </tr>
278 288
               <tr>
@@ -312,8 +322,8 @@
312 322
           </el-row>
313 323
           <el-divider></el-divider>
314 324
           <el-form-item label="签订日期" prop="signDate">
315
-            <el-date-picker clearable v-model="form.signDate" type="date" value-format="yyyy-MM-dd" placeholder="请选择签订日期"
316
-              :disabled="taskName != '合同签订'">
325
+            <el-date-picker clearable v-model="form.signDate" type="date" value-format="yyyy-MM-dd"
326
+              placeholder="请选择签订日期" :disabled="taskName != '合同签订'">
317 327
             </el-date-picker>
318 328
           </el-form-item>
319 329
           <el-form-item label="签订备注" prop="signRemark">
@@ -324,8 +334,7 @@
324 334
           </el-form-item>
325 335
         </el-form>
326 336
         <div style="text-align: center;">
327
-          <el-button type="primary" @click="submitForm">确 定</el-button>
328
-          <el-button @click="cancel">取 消</el-button>
337
+          <el-button type="primary" @click="submitForm">提 交</el-button>
329 338
         </div>
330 339
       </el-col>
331 340
       <el-col :span="6" :xs="24">
@@ -337,6 +346,10 @@
337 346
         </el-card>
338 347
       </el-col>
339 348
     </el-row>
349
+
350
+    <el-dialog title="选择项目" :visible.sync="open" width="70%" append-to-body>
351
+      <project-choose @chooseProject="confirmProject"></project-choose>
352
+    </el-dialog>
340 353
   </div>
341 354
 </template>
342 355
 
@@ -357,9 +370,12 @@ import { getUsersDeptLeader, getUsersManageLeader, getUsersDeptLeaderByDept } fr
357 370
 import flow from '@/views/flowable/task/todo/detail/flow'
358 371
 import { flowXmlAndNode } from "@/api/flowable/definition";
359 372
 import { complete, rejectTask, returnList, returnTask, getNextFlowNode, delegate, flowTaskForm, } from "@/api/flowable/todo";
373
+import projectChoose from '../components/chooseProject.vue';
360 374
 export default {
375
+  dicts: ['cmc_scale_grade', 'cmc_unit'],
361 376
   components: {
362
-    flow
377
+    flow,
378
+    projectChoose
363 379
   },
364 380
   props: {
365 381
     taskName: {
@@ -574,15 +590,15 @@ export default {
574 590
               })
575 591
             })
576 592
           }
577
-          listContractWork({contractId: this.taskForm.formId}).then(res => {
593
+          listContractWork({ contractId: this.taskForm.formId }).then(res => {
578 594
             if (res.rows)
579 595
               this.workList = res.rows;
580 596
           });
581
-          listContractPayment({contractId: this.taskForm.formId}).then(res => {
597
+          listContractPayment({ contractId: this.taskForm.formId }).then(res => {
582 598
             if (res.rows)
583 599
               this.paymentList = res.rows;
584 600
           });
585
-          listContractComment({contractId: this.taskForm.formId}).then(res => {
601
+          listContractComment({ contractId: this.taskForm.formId }).then(res => {
586 602
             if (res.rows)
587 603
               this.commentList = res.rows;
588 604
             for (let comment of this.commentList) {
@@ -795,42 +811,12 @@ export default {
795 811
       };
796 812
       this.resetForm("form");
797 813
     },
798
-    /** 搜索按钮操作 */
799
-    handleQuery() {
800
-      this.queryParams.pageNum = 1;
801
-      this.getList();
802
-    },
803
-    /** 重置按钮操作 */
804
-    resetQuery() {
805
-      this.resetForm("queryForm");
806
-      this.handleQuery();
807
-    },
808
-    // 多选框选中数据
809
-    handleSelectionChange(selection) {
810
-      this.ids = selection.map(item => item.subContractId)
811
-      this.single = selection.length !== 1
812
-      this.multiple = !selection.length
813
-    },
814
-    /** 新增按钮操作 */
815
-    handleAdd() {
816
-      this.reset();
817
-      this.open = true;
818
-      this.title = "添加cmc分包合同评审";
819
-    },
820
-    /** 修改按钮操作 */
821
-    handleUpdate(row) {
822
-      this.reset();
823
-      const subContractId = row.subContractId || this.ids
824
-      getSubContract(subContractId).then(response => {
825
-        this.form = response.data;
826
-        this.open = true;
827
-        this.title = "修改cmc分包合同评审";
828
-      });
829
-    },
830 814
     /** 提交按钮 */
831 815
     submitForm() {
816
+      console.log(this.form);
832 817
       this.$refs["form"].validate(valid => {
833 818
         if (valid) {
819
+          debugger
834 820
           if (this.formTotal != 0) {
835 821
             updateSubContract(this.form).then(response => {
836 822
               this.$modal.msgSuccess("修改成功");
@@ -839,6 +825,7 @@ export default {
839 825
             });
840 826
             const params = { taskId: this.taskForm.taskId };
841 827
             getNextFlowNode(params).then(res => {
828
+          debugger
842 829
               if (this.taskName == '分管审核') {
843 830
                 complete(this.taskForm).then(response => {
844 831
                   this.$modal.msgSuccess(response.msg);
@@ -859,6 +846,7 @@ export default {
859 846
                 })
860 847
               }
861 848
               else if (this.taskName == '会议评审') {
849
+                debugger
862 850
                 this.meetingForm.contractId = this.form.subContractId;
863 851
                 let formData = new FormData();
864 852
                 let jsonForm = JSON.stringify(this.meetingForm);
@@ -940,27 +928,43 @@ export default {
940 928
         }
941 929
       });
942 930
     },
943
-    /** 删除按钮操作 */
944
-    handleDelete(row) {
945
-      const subContractIds = row.subContractId || this.ids;
946
-      this.$modal.confirm('是否确认删除cmc分包合同评审编号为"' + subContractIds + '"的数据项?').then(function () {
947
-        return delSubContract(subContractIds);
948
-      }).then(() => {
949
-        this.getList();
950
-        this.$modal.msgSuccess("删除成功");
951
-      }).catch(() => { });
931
+    confirmProject(val) {
932
+      this.open = false
933
+      if (val.length > 1) {
934
+        this.$message.error('请选择一个项目');
935
+        return
936
+      } else if (val.length == 1) {
937
+        this.chooseProject = val[0]
938
+        this.isSelect = true
939
+        this.form.projectId = val[0].projectId
940
+        listProjectContract({ projectId: val.projectId }).then(response => {
941
+          if (response.rows) {
942
+            for (let row of response.rows) {
943
+              getContract(row.contractId).then(r => {
944
+                this.chooseContract.amount.push(r.data.amount);
945
+                this.chooseContract.contractCode.push(r.data.contractCode);
946
+                this.chooseContract.contractNumber.push(r.data.contractNumber);
947
+                this.amount = this.chooseContract.amount.join('、');
948
+                this.contractCode = this.chooseContract.contractCode.join('、');
949
+                this.contractNumber = this.chooseContract.contractNumber.join('、');
950
+              });
951
+            }
952
+          }
953
+          else
954
+            this.chooseContract = {};
955
+        })
956
+      }
957
+    },
958
+    getMeetingPath(val) {
959
+
952 960
     },
953
-    /** 导出按钮操作 */
954
-    handleExport() {
955
-      this.download('oa/subContract/export', {
956
-        ...this.queryParams
957
-      }, `subContract_${new Date().getTime()}.xlsx`)
958
-    }
959 961
   }
960 962
 };
961 963
 </script>
962 964
 
963 965
 <style lang="scss" scoped>
966
+@import "@/assets/styles/element-reset.scss";
967
+
964 968
 table {
965 969
   /*居中*/
966 970
   margin: 0 auto;

+ 1
- 5
oa-ui/src/views/flowable/form/components/chooseProject.vue View File

@@ -53,10 +53,7 @@ import { listProject, submitProject, modifyProject, delProject } from "@/api/oa/
53 53
 import { listUser, getUser } from '@/api/system/user'
54 54
 export default {
55 55
   props: {
56
-    chooseList: {
57
-      type: Array,
58
-      default: []
59
-    }
56
+    
60 57
   },
61 58
   data() {
62 59
     return {
@@ -78,7 +75,6 @@ export default {
78 75
   created() {
79 76
     this.getList();
80 77
     this.getUserList();
81
-    this.chooseProject = this.chooseList;
82 78
   },
83 79
   methods: {
84 80
     // 查询项目列表

+ 6
- 2
oa-ui/src/views/flowable/form/components/conditionDisplay.vue View File

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-04-23 17:08:16
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-05-10 16:29:22
5
+ * @LastEditTime: 2024-05-14 13:45:45
6 6
 -->
7 7
 <template>
8 8
   <div>
@@ -18,6 +18,7 @@
18 18
     <safe-form :taskForm="taskForm" v-else-if="taskForm.procDefName == '安全交底'"></safe-form>
19 19
     <settle-form :taskForm="taskForm" :taskName="''" :disabled="true" v-else-if="taskForm.procDefName == '项目结算'"></settle-form>
20 20
     <budget-info :taskForm="taskForm" v-else-if="taskForm.procDefName == '项目预算'"></budget-info>
21
+    <contract-form :taskForm="taskForm" :taskName="''" :formDisabled="true" v-else-if="taskForm.procDefName == '承接合同评审'"></contract-form>
21 22
   </div>
22 23
 </template>
23 24
 
@@ -34,6 +35,7 @@ import TechnicalForm from '@/views/flowable/form/technicalForm.vue';
34 35
 import SafeForm from '@/views/flowable/form/safeForm.vue';
35 36
 import SettleForm from '@/views/flowable/form/settleForm.vue';
36 37
 import BudgetInfo from '../budget/budgetInfo.vue';
38
+import ContractForm from '../business/contractForm.vue';
37 39
 export default {
38 40
   props: {
39 41
     passingParam: {
@@ -57,7 +59,8 @@ export default {
57 59
     TechnicalForm,
58 60
     SafeForm,
59 61
     SettleForm,
60
-    BudgetInfo
62
+    BudgetInfo,
63
+    ContractForm
61 64
   },
62 65
   data() {
63 66
     return {
@@ -71,6 +74,7 @@ export default {
71 74
   },
72 75
   methods: {
73 76
     init(val) {
77
+      console.log(val);
74 78
       this.taskForm = val
75 79
       this.taskName = val.taskName
76 80
       this.procDefName = val.procDefName

+ 9
- 5
oa-ui/src/views/flowable/task/finished/detail/index.vue View File

@@ -15,7 +15,7 @@
15 15
           </el-col>
16 16
         </el-tab-pane> -->
17 17
         <el-tab-pane label="表单信息" name="1">
18
-          <sc-table :taskForm="taskForm" :tableForm="tableForm" v-if="taskForm.procDefName == '生产部门考核'"></sc-table>
18
+          <!-- <sc-table :taskForm="taskForm" :tableForm="tableForm" v-if="taskForm.procDefName == '生产部门考核'"></sc-table>
19 19
           <jy-table :taskForm="taskForm" :tableForm="tableForm" v-else-if="taskForm.procDefName == '经营发展部考核'"></jy-table>
20 20
           <js-table :taskForm="taskForm" :tableForm="tableForm" v-else-if="taskForm.procDefName == '技术质量部考核'"></js-table>
21 21
           <xm-table :taskForm="taskForm" :tableForm="tableForm" v-else-if="taskForm.procDefName == '项目管理部考核'"></xm-table>
@@ -29,7 +29,8 @@
29 29
             <div class="test-form">
30 30
               <parser :key="new Date().getTime()" :form-conf="variablesData" />
31 31
             </div>
32
-          </el-col>
32
+          </el-col> -->
33
+          <conditionDisplay :passingParam="taskForm"></conditionDisplay>
33 34
         </el-tab-pane>
34 35
         <!--流程流转记录-->
35 36
         <el-tab-pane label="流转记录" name="2">
@@ -98,7 +99,7 @@ import CarForm from '@/views/flowable/form/oa/carForm.vue';
98 99
 import projectProcess from '@/views/flowable/form/projectProcess/index'
99 100
 import TechnicalForm from '../../../form/technicalForm.vue';
100 101
 import SafeForm from '../../../form/safeForm.vue';
101
-
102
+import conditionDisplay from '@/views/flowable/form/components/conditionDisplay.vue'
102 103
 export default {
103 104
   name: "Record",
104 105
   components: {
@@ -113,7 +114,8 @@ export default {
113 114
     CarForm,
114 115
     projectProcess,
115 116
     TechnicalForm,
116
-    SafeForm
117
+    SafeForm,
118
+    conditionDisplay
117 119
   },
118 120
   props: {},
119 121
   data() {
@@ -151,7 +153,8 @@ export default {
151 153
       variablesData: {}, // 流程变量数据
152 154
       variableOpen: false, // 是否加载流程变量数据
153 155
       // 表单信息
154
-      tableForm: {}
156
+      tableForm: {},
157
+      passingParam: {},
155 158
     };
156 159
   },
157 160
   created() {
@@ -160,6 +163,7 @@ export default {
160 163
     this.taskForm.procInsId = this.$route.query && this.$route.query.procInsId;
161 164
     this.taskForm.formId = this.$route.query.formId;
162 165
     this.taskForm.procDefName = this.$route.query.procDefName;
166
+    this.taskForm.taskName = ''
163 167
     // 回显流程记录
164 168
     // 流程任务重获取变量表单
165 169
     if (this.taskForm.taskId) {

Loading…
Cancel
Save