Browse Source

修改相关bug

余思翰 1 year ago
parent
commit
466930a582

+ 926
- 1732
oa-back/sql/cmc_oa(小余测试数据).sql
File diff suppressed because it is too large
View File


+ 0
- 1
oa-ui/src/views/flowable/form/archiveForm.vue View File

@@ -571,7 +571,6 @@ export default {
571 571
             })
572 572
           } else {
573 573
             this.form.archiveId = this.taskForm.formId;
574
-            console.log(this.form);
575 574
             addArchive(this.form).then(response => {
576 575
               this.$modal.msgSuccess("新增成功");
577 576
               this.open = false;

+ 5
- 6
oa-ui/src/views/flowable/form/budget/addBudget.vue View File

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-03-25 15:05:59
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-05-23 17:40:09
5
+ * @LastEditTime: 2024-06-11 18:20:03
6 6
 -->
7 7
 <template>
8 8
   <div>
@@ -193,7 +193,7 @@
193 193
                   <td>
194 194
                     <el-input v-model="car.days" placeholder="请输入天数" @change="calculateCarTotal(car)"></el-input>
195 195
                   </td>
196
-                  <td class="carCost">{{ (car.expense).toFixed(2) }}</td>
196
+                  <td class="carCost">{{ car.expense }}</td>
197 197
                 </tr>
198 198
                 <tr>
199 199
                   <td colspan="5">合计</td>
@@ -232,7 +232,7 @@
232 232
                     <el-input v-model="device.days" placeholder="请输入天数"
233 233
                       @change="calculateDeviceTotal(device)"></el-input>
234 234
                   </td>
235
-                  <td class="deviceCost">{{ (device.depreciation).toFixed(2) }}</td>
235
+                  <td class="deviceCost">{{ device.depreciation }}</td>
236 236
                 </tr>
237 237
                 <tr>
238 238
                   <td colspan="5">合计</td>
@@ -556,7 +556,6 @@ export default {
556 556
     getProjectContract() {
557 557
       listProjectContract({ projectId: this.taskForm.formId }).then(res => {
558 558
         if (res.rows) {
559
-          console.log(res.rows);
560 559
           if(res.rows.length == 1){
561 560
             getContract(res.rows[0].contractId).then(result=>{
562 561
               if (result.data) {
@@ -646,14 +645,14 @@ export default {
646 645
       let total1 = Number(car.mileage) * Number(car.distance);
647 646
       let total2 = Number(car.dayCost) * Number(car.days);
648 647
       let sum = (total1 + total2).toFixed(2);
649
-      this.$set(car, "depreciation", total2);
648
+      this.$set(car, "depreciation", total2.toFixed(2));
650 649
       this.$set(car, "expense", sum);
651 650
       this.getCost("expense", "carCost", this.chooseCar);
652 651
       this.getFixCost();
653 652
     },
654 653
     calculateDeviceTotal(device) {
655 654
       let total = Number(device.dayCost) * Number(device.days);
656
-      this.$set(device, "depreciation", total);
655
+      this.$set(device, "depreciation", total.toFixed(2));
657 656
       this.getCost("depreciation", "deviceCost", this.chooseDevice);
658 657
       this.getFixCost();
659 658
     },

+ 0
- 1
oa-ui/src/views/flowable/form/budget/components/budgetTable.vue View File

@@ -170,7 +170,6 @@ export default {
170 170
     }
171 171
   },
172 172
   created() {
173
-    console.log(this.budgetForm);
174 173
     this.userLen = this.budgetForm.chooseUser.length + 1;
175 174
     this.carLen = this.budgetForm.chooseCar.length + 1;
176 175
     this.deviceLen = this.budgetForm.chooseDevice.length + 1;

+ 55
- 3
oa-ui/src/views/flowable/form/budget/components/chooseDevice.vue View File

@@ -2,11 +2,20 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-03-27 11:10:26
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-04-10 14:20:42
5
+ * @LastEditTime: 2024-06-11 10:54:16
6 6
 -->
7 7
 <template>
8 8
   <div>
9 9
     <el-form :inline="true">
10
+      <el-form-item label="设备状态:">
11
+        <el-select v-model="queryParams.status" filterable clearable @change="getList">
12
+          <el-option :value="'0'" label="被领用"></el-option>
13
+          <el-option :value="'1'" label="可领用"></el-option>
14
+          <el-option :value="'2'" label="维修中"></el-option>
15
+          <el-option :value="'3'" label="已停用"></el-option>
16
+          <el-option :value="'4'" label="已报废"></el-option>
17
+        </el-select>
18
+      </el-form-item>
10 19
       <el-form-item label="设备名称:">
11 20
         <el-select v-model="queryParams.name" filterable @change="getList" clearable>
12 21
           <el-option v-for="item in nameList" :key="item.name" :label="item.name" :value="item.name">
@@ -23,10 +32,18 @@
23 32
     </el-form>
24 33
     <el-table ref="chooseCar" :data="list" @selection-change="handleSelectionChange" :row-key="getRowKeys">
25 34
       <el-table-column type="selection" width="50" align="center" :reserve-selection="true" />
35
+      <el-table-column label="设备状态" align="center" prop="status">
36
+        <template slot-scope="scope">
37
+          <el-tag :type="statusType(scope.row.status)">
38
+            {{ statusTypeText(scope.row.status) }}
39
+          </el-tag>
40
+        </template>
41
+      </el-table-column>
26 42
       <el-table-column label="出厂编号" align="center" prop="code" />
43
+      <el-table-column label="设备品牌" align="center" prop="brand" />
27 44
       <el-table-column label="设备名称" align="center" prop="name" />
28 45
       <el-table-column label="规格型号" align="center" prop="series" />
29
-      <el-table-column label="设备品牌" align="center" prop="brand" />
46
+      <el-table-column label="存放地址" align="center" prop="place" />
30 47
       <el-table-column label="单日成本" align="center" prop="dayCost" />
31 48
     </el-table>
32 49
     <div style="text-align: right;">
@@ -54,7 +71,8 @@ export default {
54 71
     return {
55 72
       queryParams: {
56 73
         pageNum: 1,
57
-        pageSize: 10
74
+        pageSize: 10,
75
+        type: '仪器设备'
58 76
       },
59 77
       list: [],
60 78
       form: {},
@@ -93,6 +111,40 @@ export default {
93 111
     },
94 112
     clearChoose() {
95 113
       this.$refs.chooseCar.clearSelection();
114
+    },
115
+    statusTypeText(row) {
116
+      if (row == '0') {
117
+        return '被领用'
118
+      }
119
+      if (row == '1') {
120
+        return '可领用'
121
+      }
122
+      if (row == '2') {
123
+        return '维修中'
124
+      }
125
+      if (row == '3') {
126
+        return '已停用'
127
+      }
128
+      if (row == '4') {
129
+        return '已报废'
130
+      }
131
+    },
132
+    statusType(row){
133
+      if (row == '0') {
134
+        return 'warning'
135
+      }
136
+      if (row == '1') {
137
+        return 'success'
138
+      }
139
+      if (row == '2') {
140
+        return 'info'
141
+      }
142
+      if (row == '3') {
143
+        return 'danger'
144
+      }
145
+      if (row == '4') {
146
+        return 'info'
147
+      }
96 148
     }
97 149
   }
98 150
 }

+ 40
- 22
oa-ui/src/views/flowable/form/business/contractForm.vue View File

@@ -2,13 +2,13 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-05-10 15:31:57
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-06-07 10:43:03
5
+ * @LastEditTime: 2024-06-11 17:11:58
6 6
 -->
7 7
 <template>
8 8
   <div class="app-container">
9 9
     <el-row :gutter="20">
10 10
       <el-col :span="18" :xs="24">
11
-        <h2 class="text-center">承接合同评审表</h2>
11
+        <h2 class="text-center"><b>承接合同评审表</b></h2>
12 12
         <el-divider></el-divider>
13 13
         <el-form ref="form" :model="form" :rules="rules" label-width="130px" :disabled="formDisabled">
14 14
           <el-row :gutter="20">
@@ -85,7 +85,7 @@
85 85
             <table border="1">
86 86
               <tr>
87 87
                 <td style="width: 50px;">序号</td>
88
-                <td>工作内容</td>
88
+                <td style="width:180px">工作内容</td>
89 89
                 <td>等级或比例尺</td>
90 90
                 <td>单位</td>
91 91
                 <td>工作量</td>
@@ -97,7 +97,7 @@
97 97
                   {{ index + 1 }}
98 98
                 </td>
99 99
                 <td>
100
-                  <el-input v-model="work.content" type="textarea" clearable :autosize="{ minRows: 4, maxRows: 10 }"
100
+                  <el-input v-model="work.content" type="textarea" clearable :autosize="{ minRows: 4 }"
101 101
                     :disabled="taskName != '合同拟稿'"></el-input>
102 102
                 </td>
103 103
                 <td>
@@ -113,7 +113,7 @@
113 113
                   </el-select>
114 114
                 </td>
115 115
                 <td>
116
-                  <el-input v-model="work.workload" clearable :disabled="taskName != '合同拟稿'"></el-input>
116
+                  <el-input-number :controls="false" style="width: 60px" v-model="work.workload" clearable :disabled="taskName != '合同拟稿'"></el-input-number>
117 117
                 </td>
118 118
                 <td>
119 119
                   <el-date-picker style="width: 140px" v-model="work.deadline" value-format="yyyy-MM-dd" type="date"
@@ -121,7 +121,7 @@
121 121
                   </el-date-picker>
122 122
                 </td>
123 123
                 <td>
124
-                  <el-input v-model="work.remark" type="textarea" clearable :autosize="{ minRows: 4, maxRows: 10 }"
124
+                  <el-input v-model="work.remark" type="textarea" clearable :autosize="{ minRows: 4 }"
125 125
                     :disabled="taskName != '合同拟稿'"></el-input>
126 126
                 </td>
127 127
                 <td>
@@ -137,7 +137,7 @@
137 137
             <table border="1">
138 138
               <tr>
139 139
                 <td style="width: 50px;">序号</td>
140
-                <td>回款条件</td>
140
+                <td style="width: 250px;">回款条件</td>
141 141
                 <td>回款比例(%)</td>
142 142
                 <td>回款金额(元)</td>
143 143
                 <td>预计时间</td>
@@ -149,14 +149,14 @@
149 149
                 </td>
150 150
                 <td>
151 151
                   <el-input v-model="payment.paymentCondition" type="textarea" clearable
152
-                    :autosize="{ minRows: 4, maxRows: 10 }" :disabled="taskName != '合同拟稿'"></el-input>
152
+                    :autosize="{ minRows: 4 }" :disabled="taskName != '合同拟稿'"></el-input>
153 153
                 </td>
154 154
                 <td>
155
-                  <el-input-number :controls="false" v-model="payment.paymentPercentage" clearable
155
+                  <el-input-number style="width:100px" :controls="false" v-model="payment.paymentPercentage" clearable
156 156
                     :disabled="taskName != '合同拟稿'" @change="calculatePaymentAmount(payment)"></el-input-number>
157 157
                 </td>
158 158
                 <td>
159
-                  <el-input-number :controls="false" :precision="2" v-model="payment.paymentAmount" clearable
159
+                  <el-input-number style="width:150px" :controls="false" :precision="2" v-model="payment.paymentAmount" clearable
160 160
                     :disabled="taskName != '合同拟稿'"></el-input-number>
161 161
                 </td>
162 162
                 <td>
@@ -165,7 +165,7 @@
165 165
                   </el-date-picker>
166 166
                 </td>
167 167
                 <td>
168
-                  <el-input v-model="payment.remark" type="textarea" clearable :autosize="{ minRows: 4, maxRows: 10 }"
168
+                  <el-input v-model="payment.remark" type="textarea" clearable :autosize="{ minRows: 4 }"
169 169
                     :disabled="taskName != '合同拟稿'"></el-input>
170 170
                 </td>
171 171
                 <td>
@@ -178,7 +178,7 @@
178 178
               :disabled="taskName != '合同拟稿'"></el-button>
179 179
           </el-form-item>
180 180
           <el-form-item label="合同备注" prop="remark">
181
-            <el-input v-model="form.remark" type="textarea" placeholder="请输入合同备注" :disabled="taskName != '合同拟稿'" />
181
+            <el-input v-model="form.remark" :autosize="{ minRows: 4 }" type="textarea" placeholder="请输入合同备注" :disabled="taskName != '合同拟稿'" />
182 182
           </el-form-item>
183 183
           <el-row>
184 184
             <el-col :span="6" :xs="24" :offset="12">
@@ -229,7 +229,7 @@
229 229
                   </el-select>
230 230
                 </td>
231 231
                 <td>
232
-                  <el-input v-model="comment.comment" type="textarea" clearable :autosize="{ minRows: 4, maxRows: 10 }"
232
+                  <el-input v-model="comment.comment" type="textarea" clearable :autosize="{ minRows: 4 }"
233 233
                     :disabled="taskName != '线上会审' || (taskName == '线上会审' && comment.userId != userId)"></el-input>
234 234
                 </td>
235 235
                 <td style="text-align:left;" @click="clickFile(comment)">
@@ -303,7 +303,7 @@
303 303
               <tr>
304 304
                 <td>参与评审人员</td>
305 305
                 <td colspan="5">
306
-                  <el-select v-model="meetingForm.users" multiple clearable style="width:600px"
306
+                  <el-select v-model="meetingForm.users" multiple filterable clearable style="width:600px"
307 307
                     :disabled="taskName != '合同拟稿'">
308 308
                     <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId">
309 309
                     </el-option>
@@ -345,7 +345,7 @@
345 345
           </el-form-item>
346 346
           <el-divider></el-divider>
347 347
           <el-form-item label="分管审批意见" prop="remark">
348
-            <el-input v-model="form.managerComment" type="textarea" placeholder="请输入审批意见"
348
+            <el-input v-model="form.managerComment" type="textarea" :autosize="{ minRows: 4 }" placeholder="请输入审批意见"
349 349
               :disabled="taskName != '分管审核'" />
350 350
           </el-form-item>
351 351
           <el-row>
@@ -367,7 +367,7 @@
367 367
             </el-date-picker>
368 368
           </el-form-item>
369 369
           <el-form-item label="签订备注" prop="signRemark">
370
-            <el-input v-model="form.signRemark" type="textarea" placeholder="请输入签订备注" :disabled="taskName != '合同签订'" />
370
+            <el-input v-model="form.signRemark" type="textarea" :autosize="{ minRows: 4 }" placeholder="请输入签订备注" :disabled="taskName != '合同签订'" />
371 371
           </el-form-item>
372 372
           <el-form-item label="签订扫描件" prop="signScan">
373 373
             <!-- <el-input v-model="form.signScan" placeholder="请输入签订扫描件" :disabled="taskName != '合同签订'" /> -->
@@ -401,11 +401,11 @@
401 401
             </div>
402 402
           </el-form-item>
403 403
         </el-form>
404
-        <div style="text-align: center;">
404
+        <div style="text-align: center;" v-if="taskName">
405 405
           <el-button type="primary" @click="submitForm" :disabled="formDisabled">提 交</el-button>
406 406
         </div>
407 407
       </el-col>` `
408
-      <el-col :span="6" :xs="24">
408
+      <el-col :span="6" :xs="24" v-if="flowDisabled">
409 409
         <el-card>
410 410
           <h2 style="text-align: center;">流程进度</h2>
411 411
           <div>
@@ -464,11 +464,25 @@ export default {
464 464
     formDisabled: {
465 465
       type: Boolean,
466 466
       default: false
467
+    },
468
+    flowDisabled:{
469
+      type: Boolean,
470
+      default: true
467 471
     }
468 472
   },
469 473
   computed: {
470 474
     ...mapGetters(["userId"]),
471 475
   },
476
+  watch: {
477
+    'taskForm.formId'(newval) {
478
+      this.projectloading = true
479
+      this.getProjectList();
480
+      this.getDeptList();
481
+      this.getTenderList();
482
+      this.getUserList();
483
+      this.initForm();
484
+    }
485
+  },
472 486
   name: "Contract",
473 487
   data() {
474 488
     return {
@@ -580,9 +594,11 @@ export default {
580 594
     this.getDeptList();
581 595
     this.getTenderList();
582 596
     this.getUserList();
583
-    flowXmlAndNode({ procInsId: this.taskForm.procInsId, deployId: this.taskForm.deployId }).then(res => {
584
-      this.flowData = res.data;
585
-    })
597
+    if(this.flowDisabled){
598
+      flowXmlAndNode({ procInsId: this.taskForm.procInsId, deployId: this.taskForm.deployId }).then(res => {
599
+        this.flowData = res.data;
600
+      })
601
+    }
586 602
   },
587 603
   mounted() {
588 604
     this.initRules();
@@ -676,12 +692,14 @@ export default {
676 692
           });
677 693
           listProjectContract({ contractId: this.taskForm.formId }).then(res => {
678 694
             if (res.rows) {
695
+              let list = []
679 696
               for (let row of res.rows) {
680 697
                 this.projectContractForm.projectIds.push(row.projectId);
681 698
                 getProject(row.projectId).then(response => {
682
-                  this.chooseProjectList.push(response.data)
699
+                  list.push(response.data)
683 700
                 })
684 701
               }
702
+              this.chooseProjectList = list;
685 703
               this.projectloading = false;
686 704
             }
687 705
           })

+ 0
- 2
oa-ui/src/views/flowable/form/components/chooseContract.vue View File

@@ -68,7 +68,6 @@ export default {
68 68
   methods: {
69 69
     getList() {
70 70
       listContract(this.queryParams).then(response => {
71
-        console.log(response);
72 71
         this.contractList = response.rows;
73 72
         this.total = response.total;
74 73
         this.loading = false;
@@ -85,7 +84,6 @@ export default {
85 84
       return row.contractId;
86 85
     },
87 86
     confirmChoose() {
88
-      console.log(this.choosePContract);
89 87
       this.$emit('choose', this.choosePContract)
90 88
     },
91 89
   },

+ 0
- 1
oa-ui/src/views/flowable/form/finance/borrowForm.vue View File

@@ -628,7 +628,6 @@ export default {
628 628
             const params = { taskId: this.taskForm.taskId };
629 629
             getNextFlowNode(params).then(res => {
630 630
               let userId;
631
-              console.log(this.deptId);
632 631
               if (this.deptId == 0) {
633 632
                 if (this.form.borrowUsage == 2 || this.form.borrowUsage == 3) {
634 633
                   userId = this.publicData.partySecretary

+ 0
- 1
oa-ui/src/views/flowable/form/inProgress/achiData.vue View File

@@ -149,7 +149,6 @@ export default {
149 149
       });
150 150
     },
151 151
     handleLook(row) {
152
-      console.log(row);
153 152
       this.form= row
154 153
       this.openObj.formId = row.archiveId
155 154
       getProject(row.projectId).then(res=>{

+ 54
- 30
oa-ui/src/views/flowable/form/oa/deviceForm.vue View File

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-03-07 13:44:39
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-06-07 14:14:52
5
+ * @LastEditTime: 2024-06-11 14:15:49
6 6
 -->
7 7
 
8 8
 <template>
@@ -12,7 +12,7 @@
12 12
         <el-card>
13 13
           <h2 style="text-align: center;">设备申请表</h2>
14 14
           <div>
15
-            <el-form ref="deviceForm" :model="form" label-width="100px" :rules="rules">
15
+            <el-form ref="deviceForm" :model="form" label-width="120px" :rules="rules">
16 16
               <!-- 申请人填写 -->
17 17
               <el-divider></el-divider>
18 18
               <el-row :gutter="20">
@@ -47,30 +47,31 @@
47 47
                 </el-select> -->
48 48
                 <el-descriptions border v-if="isSelect" style="margin-top: 10px;" :column="1">
49 49
                   <el-descriptions-item label="项目编号" label-class-name="my-label">{{ chooseProject.projectNumber
50
-                  }}</el-descriptions-item>
50
+                    }}</el-descriptions-item>
51 51
                   <el-descriptions-item label="项目名称" label-class-name="my-label">{{ chooseProject.projectName
52
-                  }}</el-descriptions-item>
52
+                    }}</el-descriptions-item>
53 53
                   <el-descriptions-item label="项目负责人" label-class-name="my-label">{{ chooseProject.projectLeaderUser ?
54
-                    chooseProject.projectLeaderUser.nickName : ''
55
-                  }}</el-descriptions-item>
54
+      chooseProject.projectLeaderUser.nickName : ''
55
+                    }}</el-descriptions-item>
56 56
                   <el-descriptions-item label="承担部门" label-class-name="my-label">
57 57
                     <el-tag size="small">{{ chooseProject.undertakingDeptName }}</el-tag>
58 58
                   </el-descriptions-item>
59 59
                   <el-descriptions-item label="项目类型" label-class-name="my-label">{{ chooseProject.projectType
60
-                  }}</el-descriptions-item>
60
+                    }}</el-descriptions-item>
61 61
                 </el-descriptions>
62 62
               </el-form-item>
63 63
               <el-form-item label="设备选择:">
64
-                <el-select style="width: 100%;" v-model="form.devices" filterable multiple placeholder="请选择" clearable
65
-                  :disabled="taskName != '设备申请'">
64
+                <el-select style="width: 90%;" v-model="form.devices" filterable multiple placeholder="请选择" clearable
65
+                  disabled>
66 66
                   <el-option v-for="item in deviceList" :key="item.deviceId" :disabled="item.status != 1" :label="item.name + '【' + (item.brand != null ? item.brand : '') + (item.series != null ? '-' + item.series + '】' : '')
67
-                    + (item.code != null ? '(设备编号:' + item.code + ')' : '') + '📍' + item.place"
68
-                    :value="item.deviceId">
67
+      + (item.code != null ? '(设备编号:' + item.code + ')' : '') + '📍' + item.place" :value="item.deviceId">
69 68
                   </el-option>
70 69
                 </el-select>
70
+                <el-button type="primary" icon="el-icon-plus" size="mini" @click="openDevice = true"
71
+                  :disabled="taskName != '设备申请'">选择设备</el-button>
71 72
               </el-form-item>
72 73
               <el-form-item label="申领事由:" prop="applyReason">
73
-                <el-input type="textarea" :rows="2" placeholder="请输入申领事由" v-model="form.applyReason"
74
+                <el-input type="textarea" :rows="3" placeholder="请输入申领事由" v-model="form.applyReason"
74 75
                   :disabled="taskName != '设备申请'">
75 76
                 </el-input>
76 77
               </el-form-item>
@@ -98,48 +99,49 @@
98 99
               <!-- 安排设备意见 -->
99 100
               <el-divider></el-divider>
100 101
               <el-form-item label-width="120px" label="拟发放设备:">
101
-                <el-select style="width: 100%;" v-model="form.modifyDevices" filterable multiple placeholder="请选择"
102
-                  clearable :disabled="taskName != '安排设备'">
102
+                <el-select style="width: 90%;" v-model="form.modifyDevices" filterable multiple placeholder="请选择"
103
+                  clearable disabled>
103 104
                   <el-option v-for="item in deviceList" :key="item.deviceId" :disabled="item.status != 1" :label="item.name + '【' + (item.brand != null ? item.brand : '') + (item.series != null ? '-' + item.series + '】' : '')
104
-                    + (item.code != null ? '(设备编号:' + item.code + ')' : '') + '📍' + item.place"
105
-                    :value="item.deviceId">
105
+      + (item.code != null ? '(设备编号:' + item.code + ')' : '') + '📍' + item.place" :value="item.deviceId">
106 106
                   </el-option>
107 107
                 </el-select>
108
+                <el-button type="primary" icon="el-icon-plus" size="mini" @click="openDevice = true"
109
+                  :disabled="taskName != '安排设备'">选择设备</el-button>
108 110
               </el-form-item>
109
-              <el-form-item label="安排设备意见:" prop="dispatchComment" label-width="120px">
110
-                <el-input type="textarea" :rows="2" placeholder="请输入安排设备意见" v-model="form.dispatchComment"
111
+              <el-form-item label="安排设备意见:" prop="dispatchComment" label-width="125px">
112
+                <el-input type="textarea" :rows="3" placeholder="请输入安排设备意见" v-model="form.dispatchComment"
111 113
                   :disabled="taskName != '安排设备'">
112 114
                 </el-input>
113 115
               </el-form-item>
114 116
               <el-row>
115 117
                 <el-col :span="6" :xs="24" :offset="12">
116 118
                   <el-form-item label="签名:" label-width="120px"
117
-                    v-if="taskName == '安排设备' || taskName == '申请确认' || taskName == '归还确认'">
119
+                    v-if="taskName != '设备申请'">
118 120
                     <span class="auditor"> {{ form.dispatchUser ? form.dispatchUser.nickName : dispatchUser }} </span>
119 121
                   </el-form-item>
120 122
                 </el-col>
121 123
                 <el-col :span="6">
122 124
                   <el-form-item label="日期:" label-width="120px"
123
-                    v-if="taskName == '安排设备' || taskName == '申请确认' || taskName == '归还确认'">
125
+                    v-if="taskName != '设备申请'">
124 126
                     <span> {{ form.dispatchTime ? form.dispatchTime : dispatchTime }} </span>
125 127
                   </el-form-item>
126 128
                 </el-col>
127 129
               </el-row>
128 130
               <!-- 分管审核意见 -->
129 131
               <el-divider></el-divider>
130
-              <el-form-item label="分管审核意见:" prop="managerComment" label-width="120px" v-if="showFormItem('分管审核')">
131
-                <el-input type="textarea" :rows="2" placeholder="请输入分管审核意见" v-model="form.managerComment"
132
+              <el-form-item label="分管审核意见:" prop="managerComment" label-width="125px">
133
+                <el-input type="textarea" :rows="3" placeholder="请输入分管审核意见" v-model="form.managerComment"
132 134
                   :disabled="taskName != '分管审核'">
133 135
                 </el-input>
134 136
               </el-form-item>
135 137
               <el-row>
136 138
                 <el-col :span="6" :xs="24" :offset="12">
137
-                  <el-form-item label="签名:" label-width="120px" v-if="showFormItem('分管审核签名')">
139
+                  <el-form-item label="签名:" label-width="120px">
138 140
                     <span class="auditor"> {{ form.managerUser ? form.managerUser.nickName : managerUser }} </span>
139 141
                   </el-form-item>
140 142
                 </el-col>
141 143
                 <el-col :span="6">
142
-                  <el-form-item label="日期:" label-width="120px" v-if="showFormItem('分管审核签名')">
144
+                  <el-form-item label="日期:" label-width="120px">
143 145
                     <span> {{ form.managerTime ? form.managerTime : managerTime }} </span>
144 146
                   </el-form-item>
145 147
                 </el-col>
@@ -150,13 +152,12 @@
150 152
                 <el-select style="width: 100%;" v-model="form.repairDevices" filterable multiple placeholder="请选择"
151 153
                   clearable :disabled="taskName != '归还确认'">
152 154
                   <el-option v-for="item in modifyDeviceList" :key="item.deviceId" :label="item.name + '【' + (item.brand != null ? item.brand : '') + (item.series != null ? '-' + item.series + '】' : '')
153
-                    + (item.code != null ? '(设备编号:' + item.code + ')' : '') + '📍' + item.place"
154
-                    :value="item.deviceId">
155
+      + (item.code != null ? '(设备编号:' + item.code + ')' : '') + '📍' + item.place" :value="item.deviceId">
155 156
                   </el-option>
156 157
                 </el-select>
157 158
               </el-form-item>
158 159
               <el-form-item label="备注:" prop="remark" label-width="120px">
159
-                <el-input type="textarea" :rows="2" placeholder="请输入备注" v-model="form.remark"
160
+                <el-input type="textarea" :rows="3" placeholder="请输入备注" v-model="form.remark"
160 161
                   :disabled="taskName != '归还确认'">
161 162
                 </el-input>
162 163
               </el-form-item>
@@ -170,7 +171,8 @@
170 171
               <el-button type="primary" @click="submit">提交申请</el-button>
171 172
             </el-row>
172 173
             <el-row style="text-align: center;" v-else>
173
-              <el-button type="primary" @click="completeApply">{{ taskName == '申请确认' ? "确认" : "完成审批" }}</el-button>
174
+              <el-button type="primary" @click="completeApply" v-if="taskName">{{ taskName == '申请确认' ? "确认" : "完成审批"
175
+                }}</el-button>
174 176
             </el-row>
175 177
           </div>
176 178
         </el-card>
@@ -189,6 +191,9 @@
189 191
     <el-dialog title="选择项目" :visible.sync="openProject" width="70%" append-to-body>
190 192
       <project-choose @chooseProject="confirmProject"></project-choose>
191 193
     </el-dialog>
194
+    <el-dialog title="选择仪器" :visible.sync="openDevice" width="70%" append-to-body>
195
+      <choose-device @chooseList="confirmDevice"></choose-device>
196
+    </el-dialog>
192 197
   </div>
193 198
 </template>
194 199
 
@@ -205,12 +210,15 @@ import flow from '@/views/flowable/task/todo/detail/flow'
205 210
 import { flowXmlAndNode } from "@/api/flowable/definition";
206 211
 import { getUserByRole } from "@/api/system/role";
207 212
 import projectChoose from '@/views/flowable/form/components/chooseProject.vue';
213
+import ChooseDevice from '../budget/components/chooseDevice.vue';
208 214
 export default {
209 215
   components: {
210 216
     flow,
211
-    projectChoose
217
+    projectChoose,
218
+    ChooseDevice
212 219
   },
213
-  props: {
220
+  props:
221
+  {
214 222
     taskName: {
215 223
       type: String,
216 224
       required: true
@@ -260,6 +268,7 @@ export default {
260 268
       flowData: {},
261 269
       isSelect: false,
262 270
       openProject: false,
271
+      openDevice: false,
263 272
       rules: {
264 273
       },
265 274
       deviceList: [],
@@ -512,6 +521,21 @@ export default {
512 521
       }
513 522
       this.openProject = false
514 523
     },
524
+    confirmDevice(val) {
525
+      if (val) {
526
+        let list = []
527
+        for (let v of val) {
528
+          list.push(v.deviceId)
529
+        }
530
+
531
+        if (this.taskName == '设备申请') {
532
+          this.form.devices = list
533
+        } else if (this.taskName == '安排设备') {
534
+          this.form.modifyDevices = list
535
+        }
536
+      }
537
+      this.openDevice = false;
538
+    }
515 539
   },
516 540
 }
517 541
 </script>

+ 0
- 1
oa-ui/src/views/flowable/form/projectProcess/safeTab.vue View File

@@ -102,7 +102,6 @@ export default {
102 102
             this.$set(this.form, "projectName", this.projectName);
103 103
           } else {
104 104
             getProject(this.taskForm.formId).then(res => {
105
-              console.log(res);
106 105
               if (res.data) {
107 106
                 this.$set(this.form, "projectNumber", res.data.projectNumber);
108 107
                 this.$set(this.form, "projectName", res.data.projectName);

+ 0
- 1
oa-ui/src/views/flowable/form/projectProcess/technicalTab.vue View File

@@ -177,7 +177,6 @@ export default {
177 177
             this.$set(this.form, "projectName", this.projectName);
178 178
           } else {
179 179
             getProject(this.taskForm.formId).then(res => {
180
-              console.log(res);
181 180
               if (res.data) {
182 181
                 this.$set(this.form, "projectNumber", res.data.projectNumber);
183 182
                 this.$set(this.form, "projectName", res.data.projectName);

+ 0
- 1
oa-ui/src/views/flowable/form/settleForm.vue View File

@@ -1069,7 +1069,6 @@ export default {
1069 1069
       if (val.length == 1) {
1070 1070
         this.prOpen = false;
1071 1071
         this.chooseProject = val[0];
1072
-        console.log(val[0]);
1073 1072
         let undertakingDeptName = []
1074 1073
         if (val[0].undertakingDept) {
1075 1074
           let deptArr = val[0].undertakingDept.split(',');

+ 2
- 3
oa-ui/src/views/flowable/form/technicalForm.vue View File

@@ -170,9 +170,8 @@
170 170
             </el-col>
171 171
           </el-row>
172 172
         </el-form>
173
-        <div style="text-align: center;">
174
-          <el-button type="primary" @click="submitForm">确 定</el-button>
175
-          <el-button @click="cancel">取 消</el-button>
173
+        <div style="text-align: center;" v-if="taskName">
174
+          <el-button type="primary" @click="submitForm">提 交</el-button>
176 175
         </div>
177 176
       </el-col>
178 177
       <el-col :span="6" :xs="24">

+ 48
- 15
oa-ui/src/views/flowable/task/finished/index.vue View File

@@ -32,17 +32,21 @@
32 32
       <el-table-column label="任务节点" align="center" prop="taskName" />
33 33
       <el-table-column label="流程发起人" align="center">
34 34
         <template slot-scope="scope">
35
-          <label>{{ scope.row.startUserName }} <el-tag type="info" size="mini">{{ scope.row.startDeptName
36
-              }}</el-tag></label>
35
+          <label>{{ scope.row.startUserName }}
36
+            <el-tag type="info" size="mini">
37
+              {{ scope.row.startDeptName }}
38
+            </el-tag>
39
+          </label>
37 40
         </template>
38 41
       </el-table-column>
39 42
       <el-table-column label="接收时间" align="center" prop="createTime" width="180" />
40 43
       <el-table-column label="审批时间" align="center" prop="finishTime" width="180" />
41 44
       <el-table-column label="耗时" align="center" prop="duration" width="180" />
42
-      <el-table-column label="操作" width="150" fixed="right" class-name="small-padding fixed-width">
45
+      <el-table-column label="操作" align="center" width="220" fixed="right" class-name="small-padding fixed-width">
43 46
         <template slot-scope="scope">
44 47
           <el-button size="mini" type="text" icon="el-icon-tickets"
45
-            @click="handleFlowRecord(scope.row)">流转记录</el-button>
48
+            @click="handleFlowRecord(scope.row)">办理进度</el-button>
49
+          <el-button size="mini" type="text" icon="el-icon-tickets" @click="handleFlowNote(scope.row)">表单信息</el-button>
46 50
           <el-button size="mini" type="text" icon="el-icon-refresh-left" @click="handleRevoke(scope.row)">撤回
47 51
           </el-button>
48 52
         </template>
@@ -51,15 +55,27 @@
51 55
 
52 56
     <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
53 57
       @pagination="getList" />
58
+    <el-dialog title="表单信息" :visible.sync="formOpen" append-to-body width="80%">
59
+      <condition-display :passingParam="passingParam"></condition-display>
60
+    </el-dialog>
61
+    <el-dialog title="流程进度" :visible.sync="detailsOpen" append-to-body width="600px">
62
+      <el-scrollbar style="height: 600px;">
63
+        <row-detail :rows="clickRow"></row-detail>
64
+      </el-scrollbar>
65
+    </el-dialog>
54 66
   </div>
55 67
 </template>
56 68
 
57 69
 <script>
58 70
 import { finishedList, getDeployment, delDeployment, addDeployment, updateDeployment, exportDeployment, revokeProcess } from "@/api/flowable/finished";
59 71
 import { getProcessVariables } from "@/api/flowable/definition";
72
+import ConditionDisplay from '@/views/flowable/form/components/conditionDisplay.vue';
73
+import RowDetail from '../myProcess/send/rowDetail.vue';
60 74
 export default {
61 75
   name: "Deploy",
62 76
   components: {
77
+    ConditionDisplay,
78
+    RowDetail
63 79
   },
64 80
   data() {
65 81
     return {
@@ -100,7 +116,12 @@ export default {
100 116
       form: {},
101 117
       // 表单校验
102 118
       rules: {
103
-      }
119
+      },
120
+      passingParam: {},
121
+      formOpen: false,
122
+      // 当前点击的行数据
123
+      clickRow: {},
124
+      detailsOpen:false
104 125
     };
105 126
   },
106 127
   created() {
@@ -177,17 +198,29 @@ export default {
177 198
     },
178 199
     /** 流程流转记录 */
179 200
     handleFlowRecord(row) {
201
+      // getProcessVariables(row.taskId).then(res => {
202
+      //   this.$router.push({
203
+      //     path: '/flowable/task/finished/detail/index',
204
+      //     query: {
205
+      //       procInsId: row.procInsId,
206
+      //       deployId: row.deployId,
207
+      //       taskId: row.taskId,
208
+      //       formId: res.data.formId,
209
+      //       procDefName: row.procDefName
210
+      //     }
211
+      //   })
212
+      // })
213
+      this.clickRow = row;
214
+      this.detailsOpen = true;
215
+    },
216
+    // 表单信息
217
+    handleFlowNote(row) {
180 218
       getProcessVariables(row.taskId).then(res => {
181
-        this.$router.push({
182
-          path: '/flowable/task/finished/detail/index',
183
-          query: {
184
-            procInsId: row.procInsId,
185
-            deployId: row.deployId,
186
-            taskId: row.taskId,
187
-            formId: res.data.formId,
188
-            procDefName: row.procDefName
189
-          }
190
-        })
219
+        if (res.data) {
220
+          this.passingParam = row
221
+          this.passingParam.formId = res.data.formId
222
+          this.formOpen = true
223
+        }
191 224
       })
192 225
     },
193 226
     /** 撤回任务 */

+ 0
- 1
oa-ui/src/views/flowable/task/myProcess/index.vue View File

@@ -451,7 +451,6 @@ export default {
451 451
     },
452 452
     /** 删除按钮操作 */
453 453
     handleDelete(row) {
454
-        console.log(row);
455 454
       const ids = row.procInsId || this.ids;// 暂不支持删除多个流程
456 455
       this.$confirm('删除后,流程将会取消,是否确定删除?', "警告", {
457 456
         confirmButtonText: "确定",

+ 0
- 1
oa-ui/src/views/flowable/task/todo/index.vue View File

@@ -120,7 +120,6 @@ export default {
120 120
                  this.$set(item,'project',name)
121 121
                 }
122 122
               })
123
-              console.log(this.todoList);
124 123
             }
125 124
           })
126 125
         }

+ 210
- 0
oa-ui/src/views/oa/contract/contractInfo.vue View File

@@ -0,0 +1,210 @@
1
+<template>
2
+  <div>
3
+    <div class="box1">
4
+      <div class="title">合同信息
5
+        <div class="line"></div>
6
+      </div>
7
+      <div class="info">
8
+        <el-descriptions border style="margin-top: 10px;" :column="3">
9
+          <el-descriptions-item label="合同编码" label-class-name="my-label">
10
+            {{ form.contractCode }}
11
+          </el-descriptions-item>
12
+          <el-descriptions-item label="合同编号" label-class-name="my-label">
13
+            {{ form.contractNumber }}
14
+          </el-descriptions-item>
15
+          <el-descriptions-item label="合同金额" label-class-name="my-label">
16
+            {{ form.amount }}
17
+          </el-descriptions-item>
18
+          <el-descriptions-item label="履约保证金" label-class-name="my-label">
19
+            {{ form.deposit }}
20
+          </el-descriptions-item>
21
+          <el-descriptions-item label="拟稿人" label-class-name="my-label">
22
+            {{ getUserName(form.drafter) }}
23
+          </el-descriptions-item>
24
+          <el-descriptions-item label="拟稿日期" label-class-name="my-label">
25
+            {{ form.draftTime }}
26
+          </el-descriptions-item>
27
+          <el-descriptions-item label="合同文件" label-class-name="my-label" :span="3">
28
+            <div v-if="form.contractDocument">
29
+              <el-link type="primary" @click="reviewWord(`${baseUrl}${'/profile/upload' + form.contractDocument}`)">
30
+                {{ getFileName(form.contractDocument) }}
31
+              </el-link>
32
+              <el-link class="ml20" type="warning" :href="`${baseUrl}${'/profile/upload' + form.contractDocument}`"
33
+                :underline="false" target="_blank">
34
+                <span class="el-icon-download">下载文件</span>
35
+              </el-link>
36
+            </div>
37
+          </el-descriptions-item>
38
+          <el-descriptions-item label="合同备注" label-class-name="my-label">
39
+            {{ form.remark }}
40
+          </el-descriptions-item>
41
+          <el-descriptions-item label="签订日期" label-class-name="my-label">
42
+            {{ form.signDate }}
43
+          </el-descriptions-item>
44
+          <el-descriptions-item label="签订备注" label-class-name="my-label">
45
+            {{ form.signRemark }}
46
+          </el-descriptions-item>
47
+          <el-descriptions-item label="签订扫描件" label-class-name="my-label" :span="3">
48
+            <div v-if="form.signScan">
49
+              <el-link type="primary" @click="reviewWord(`${baseUrl}${'/profile/upload' + form.signScan}`)">
50
+                {{ getFileName(form.signScan) }}
51
+              </el-link>
52
+              <el-link class="ml20" type="warning" :href="`${baseUrl}${'/profile/upload' + form.signScan}`"
53
+                :underline="false" target="_blank">
54
+                <span class="el-icon-download">下载文件</span>
55
+              </el-link>
56
+            </div>
57
+          </el-descriptions-item>
58
+        </el-descriptions>
59
+      </div>
60
+    </div>
61
+    <div class="box1">
62
+      <div class="title">投标项目信息
63
+        <div class="line"></div>
64
+      </div>
65
+      <div class="info">
66
+        <el-descriptions border style="margin-top: 10px;" :column="3">
67
+          <el-descriptions-item label="投标项目名称" label-class-name="my-label" :span="3">
68
+            {{ tender.projectName }}
69
+          </el-descriptions-item>
70
+          <el-descriptions-item label="招标业主" label-class-name="my-label">
71
+            {{ tender.partyA }}</el-descriptions-item>
72
+          <el-descriptions-item label="代理联系人" label-class-name="my-label">
73
+            {{ tender.aPerson }}</el-descriptions-item>
74
+          <el-descriptions-item label="代理联系电话" label-class-name="my-label">
75
+            {{ tender.aPhone }}
76
+          </el-descriptions-item>
77
+          <el-descriptions-item label="投标委托人" label-class-name="my-label">
78
+            {{ getUserName(tender.trustee) }}
79
+          </el-descriptions-item>
80
+          <el-descriptions-item label="业主预算" label-class-name="my-label">
81
+            {{ tender.budget }}
82
+          </el-descriptions-item>
83
+          <el-descriptions-item label="拟报价金额" label-class-name="my-label">
84
+            {{ tender.quote }}
85
+          </el-descriptions-item>
86
+          <el-descriptions-item label="保证金" label-class-name="my-label">
87
+            {{ tender.deposit }}
88
+          </el-descriptions-item>
89
+          <el-descriptions-item label="招标文件" label-class-name="my-label" :span="2">
90
+            <div v-if="tender.bidDocument">
91
+              <el-link type="primary" @click="reviewWord(`${baseUrl}${'/profile/upload' + tender.bidDocument}`)">
92
+                {{ getFileName(tender.bidDocument) }}
93
+              </el-link>
94
+              <el-link class="ml20" type="warning" :href="`${baseUrl}${'/profile/upload' + tender.bidDocument}`"
95
+                :underline="false" target="_blank">
96
+                <span class="el-icon-download">下载文件</span>
97
+              </el-link>
98
+            </div>
99
+          </el-descriptions-item>
100
+          <el-descriptions-item label="项目内容简述" label-class-name="my-label" :span="3">
101
+            {{ tender.projectBriefly }}
102
+          </el-descriptions-item>
103
+          <el-descriptions-item label="标书文件" label-class-name="my-label" :span="3">
104
+            <div v-if="tender.tenderDocument">
105
+              <el-link type="primary" @click="reviewWord(`${baseUrl}${'/profile/upload' + tender.tenderDocument}`)">
106
+                {{ getFileName(tender.tenderDocument) }}
107
+              </el-link>
108
+              <el-link class="ml20" type="warning" :href="`${baseUrl}${'/profile/upload' + tender.tenderDocument}`"
109
+                :underline="false" target="_blank">
110
+                <span class="el-icon-download">下载文件</span>
111
+              </el-link>
112
+            </div>
113
+          </el-descriptions-item>
114
+        </el-descriptions>
115
+      </div>
116
+    </div>
117
+    <div class="box1">
118
+      <div class="title">关联项目
119
+        <div class="line"></div>
120
+      </div>
121
+      <div class="info">
122
+        
123
+      </div>
124
+    </div>
125
+  </div>
126
+</template>
127
+
128
+<script>
129
+import { listTender, getTender } from "@/api/oa/tender/tender";
130
+import { listContract, getContract } from "@/api/oa/contract/contract";
131
+import { getContractComment } from "@/api/oa/contract/contractComment";
132
+import { getContractMeeting } from "@/api/oa/contract/contractMeeting";
133
+import { getContractPayment } from "@/api/oa/contract/contractPayment";
134
+import { getContractWork } from "@/api/oa/contract/contractWork";
135
+export default {
136
+  props: {
137
+    form: {
138
+      type: Object,
139
+      require: true
140
+    }
141
+  },
142
+  watch: {
143
+    'form.contractId'() {
144
+      this.init()
145
+    }
146
+  },
147
+  mounted() {
148
+    this.init();
149
+  },
150
+  data() {
151
+    return {
152
+      baseUrl: process.env.VUE_APP_BASE_API,
153
+      tender: {}
154
+    }
155
+  },
156
+  methods: {
157
+    init() {
158
+      let contractId = this.form.contractId;
159
+      let tenderId = this.form.tenderId;
160
+      getTender(tenderId).then(response => {
161
+        this.tender = response.data;
162
+      })
163
+      getContractMeeting(contractId).then(res => {
164
+      })
165
+
166
+    },
167
+  }
168
+}
169
+</script>
170
+
171
+<style lang="scss" scoped>
172
+@import "@/assets/styles/element-reset.scss";
173
+
174
+.box1 {
175
+  width: 100%;
176
+  background-color: #ffffff;
177
+}
178
+
179
+.info {
180
+  padding: 20px;
181
+}
182
+
183
+.title {
184
+  font-size: 18px;
185
+  font-weight: bold;
186
+  padding: 20px 35px 0px;
187
+  position: relative;
188
+
189
+  .line {
190
+    position: absolute;
191
+    top: 22px;
192
+    left: 20px;
193
+    width: 4px;
194
+    height: 20px;
195
+    border-radius: 20px;
196
+    background-color: #409EFF;
197
+  }
198
+}
199
+
200
+::v-deep .el-descriptions-item__label.is-bordered-label {
201
+  color: #5a5757;
202
+  background: rgba($color: #a9adb3, $alpha: 0.1);
203
+  width: 150px;
204
+  min-width: 150px;
205
+}
206
+
207
+::v-deep .el-descriptions .is-bordered .el-descriptions-item__cell {
208
+  border: 1px solid #cdd0d3;
209
+}
210
+</style>

+ 17
- 13
oa-ui/src/views/oa/contract/index.vue View File

@@ -1,3 +1,9 @@
1
+<!--
2
+ * @Author: ysh
3
+ * @Date: 2024-03-18 09:05:41
4
+ * @LastEditors: Please set LastEditors
5
+ * @LastEditTime: 2024-06-11 16:35:10
6
+-->
1 7
 <template>
2 8
   <div class="app-container">
3 9
     <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
@@ -47,7 +53,7 @@
47 53
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
48 54
     </el-row> -->
49 55
 
50
-    <el-table v-loading="loading" :data="contractList" @selection-change="handleSelectionChange">
56
+    <el-table v-loading="loading" border :data="contractList" @selection-change="handleSelectionChange">
51 57
       <el-table-column type="selection" width="55" align="center" />
52 58
       <!-- <el-table-column label="合同id" align="center" prop="contractId" /> -->
53 59
       <el-table-column label="合同编号" align="center" prop="contractNumber" />
@@ -147,23 +153,19 @@
147 153
       </div>
148 154
     </el-dialog>
149 155
     <!-- 查看详情 -->
150
-    <el-dialog :title="title" :visible.sync="openInfo" width="600px" append-to-body>
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>
156
+    <el-dialog :title="title" :visible.sync="openInfo" width="80%" append-to-body>
157
+      <!-- <contract-info :form="form"></contract-info> -->
158
+      <contract-form :taskForm="taskForm" :taskName="''" :flowDisabled="false"></contract-form>
160 159
     </el-dialog>
161 160
   </div>
162 161
 </template>
163 162
 
164 163
 <script>
165 164
 import { listContract, getContract, delContract, addContract, updateContract } from "@/api/oa/contract/contract";
165
+import contractInfo from './contractInfo.vue';
166
+import ContractForm from '../../flowable/form/business/contractForm.vue';
166 167
 export default {
168
+  components: { contractInfo, ContractForm },
167 169
   name: "Contract",
168 170
   data() {
169 171
     return {
@@ -207,7 +209,8 @@ export default {
207 209
       // 表单校验
208 210
       rules: {
209 211
       },
210
-      project: {}
212
+      project: {},
213
+      taskForm:{}
211 214
     };
212 215
   },
213 216
   created() {
@@ -282,7 +285,8 @@ export default {
282 285
     handleView(row) {
283 286
       this.openInfo = true;
284 287
       this.title = "合同详情";
285
-      this.form = row
288
+      this.form = row;
289
+      this.$set(this.taskForm,'formId',row.contractId)
286 290
     },
287 291
     /** 修改按钮操作 */
288 292
     handleUpdate(row) {

+ 1
- 3
oa-ui/src/views/oa/project/index.vue View File

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-02-27 14:49:15
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-06-04 15:49:07
5
+ * @LastEditTime: 2024-06-11 16:37:26
6 6
 -->
7 7
 <template>
8 8
   <div class="project-wrapper">
@@ -311,8 +311,6 @@ export default {
311 311
               } else {
312 312
                 this.$set(project, 'percentage', 0)
313 313
               }
314
-
315
-              console.log(this.projectList);
316 314
             }
317 315
           })
318 316
         }

+ 12
- 6
oa-ui/src/views/oa/tender/index.vue View File

@@ -204,7 +204,7 @@
204 204
           </el-descriptions-item>
205 205
           <el-descriptions-item>
206 206
             <template slot="label">
207
-              拟报价金额
207
+              <span class="require_input">* </span>拟报价金额
208 208
             </template>
209 209
             <el-form-item prop="quote">
210 210
               <el-input-number :controls="false" v-model="form.quote"></el-input-number><span> 元</span>
@@ -212,7 +212,7 @@
212 212
           </el-descriptions-item>
213 213
           <el-descriptions-item>
214 214
             <template slot="label">
215
-              保证金
215
+              <span class="require_input">* </span>保证金
216 216
             </template>
217 217
             <el-form-item prop="deposit">
218 218
               <el-input-number :controls="false" v-model="form.deposit"></el-input-number><span> 元</span>
@@ -286,7 +286,7 @@
286 286
               </el-select>
287 287
             </el-form-item>
288 288
           </el-descriptions-item>
289
-          <el-descriptions-item>
289
+          <el-descriptions-item :span="2">
290 290
             <template slot="label">
291 291
               <span class="require_input">* </span>商务标书要求提交时间
292 292
             </template>
@@ -307,7 +307,7 @@
307 307
               </el-select>
308 308
             </el-form-item>
309 309
           </el-descriptions-item>
310
-          <el-descriptions-item>
310
+          <el-descriptions-item :span="2">
311 311
             <template slot="label">
312 312
               <span class="require_input">* </span>技术标书要求提交时间
313 313
             </template>
@@ -350,7 +350,7 @@
350 350
               </el-select>
351 351
             </el-form-item>
352 352
           </el-descriptions-item>
353
-          <el-descriptions-item>
353
+          <el-descriptions-item :span="3">
354 354
             <template slot="label">
355 355
               标书文件
356 356
             </template>
@@ -463,7 +463,13 @@ export default {
463 463
           { required: true, message: '业主预算不能为空', trigger: 'blur' }
464 464
         ],
465 465
         agent: [
466
-          { required: true, message: '招标代理不能忘为空', trigger: 'blur' }
466
+          { required: true, message: '招标代理不能为空', trigger: 'blur' }
467
+        ],
468
+        quote: [
469
+          { required: true, message: '拟保价金额不能为空', trigger: 'blur' }
470
+        ],
471
+        deposit: [
472
+          { required: true, message: '保证金不能为空', trigger: 'blur' }
467 473
         ],
468 474
         place: [
469 475
           { required: true, message: '投标地点不能为空', trigger: 'blur' }

Loading…
Cancel
Save