Преглед изворни кода

完善项目实际工作量

余思翰 пре 9 месеци
родитељ
комит
dbae239d0d

+ 5
- 5
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcProjectWorkloadMapper.xml Прегледај датотеку

@@ -16,7 +16,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
16 16
     </resultMap>
17 17
 
18 18
     <sql id="selectCmcProjectWorkloadVo">
19
-        select workload_id, project_id, content, scale, unit, workload, finish_time, remark from cmc_project_work
19
+        select workload_id, project_id, content, scale, unit, workload, finish_time, remark from cmc_project_workload
20 20
     </sql>
21 21
 
22 22
     <select id="selectCmcProjectWorkloadList" parameterType="CmcProjectWorkload" resultMap="CmcProjectWorkloadResult">
@@ -38,7 +38,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
38 38
     </select>
39 39
         
40 40
     <insert id="insertCmcProjectWorkload" parameterType="CmcProjectWorkload">
41
-        insert into cmc_project_work
41
+        insert into cmc_project_workload
42 42
         <trim prefix="(" suffix=")" suffixOverrides=",">
43 43
             <if test="workloadId != null">workload_id,</if>
44 44
             <if test="projectId != null">project_id,</if>
@@ -62,7 +62,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
62 62
     </insert>
63 63
 
64 64
     <update id="updateCmcProjectWorkload" parameterType="CmcProjectWorkload">
65
-        update cmc_project_work
65
+        update cmc_project_workload
66 66
         <trim prefix="SET" suffixOverrides=",">
67 67
             <if test="projectId != null">project_id = #{projectId},</if>
68 68
             <if test="content != null">content = #{content},</if>
@@ -76,11 +76,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
76 76
     </update>
77 77
 
78 78
     <delete id="deleteCmcProjectWorkloadByProjectId" parameterType="String">
79
-        delete from cmc_project_work where project_id = #{projectId}
79
+        delete from cmc_project_workload where project_id = #{projectId}
80 80
     </delete>
81 81
 
82 82
     <delete id="deleteCmcProjectWorkloadByProjectIds" parameterType="String">
83
-        delete from cmc_project_work where project_id in
83
+        delete from cmc_project_workload where project_id in
84 84
         <foreach item="projectId" collection="array" open="(" separator="," close=")">
85 85
             #{projectId}
86 86
         </foreach>

+ 1
- 20
oa-ui/src/views/flowable/form/business/subContract.vue Прегледај датотеку

@@ -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-09-04 17:29:54
5
+ * @LastEditTime: 2024-09-05 10:39:05
6 6
 -->
7 7
 <template>
8 8
   <div class="app-container">
@@ -817,7 +817,6 @@ export default {
817 817
       this.workList = this.$refs.workTableRef.workList;
818 818
       this.paymentList = this.$refs.paymentRef.paymentList;
819 819
       if (this.formTotal != 0) {
820
-        console.log(this.form.partnerId);
821 820
         if (this.form.partnerId && this.form.partnerId instanceof Array)
822 821
           this.form.partnerId = this.form.partnerId.join(',')
823 822
         updateSubContract(this.form).then(response => {
@@ -1031,24 +1030,6 @@ export default {
1031 1030
     },
1032 1031
     confirmProject(val) {
1033 1032
       this.open = false
1034
-      // if (val.length > 1) {
1035
-      //   this.$message.error('请选择一个项目');
1036
-      //   return;
1037
-      // }
1038
-      // if (val.length === 1) {
1039
-      //   this.chooseProject = val[0];
1040
-      //   this.isSelect = true;
1041
-      //   this.form.projectId = val[0].projectId;
1042
-
1043
-      //   this.fetchContracts(this.form.projectId)
1044
-      //     .then(contractData => {
1045
-      //       this.processContractData(contractData);
1046
-      //     })
1047
-      //     .catch(error => {
1048
-      //       console.error('获取合同列表时出错:', error);
1049
-      //       this.$message.error('获取合同列表时出错');
1050
-      //     });
1051
-      // }
1052 1033
       if (val) {
1053 1034
         this.chooseProjectList = val;
1054 1035
         this.isSelect = true

+ 16
- 4
oa-ui/src/views/flowable/form/components/actualWork.vue Прегледај датотеку

@@ -42,12 +42,13 @@
42 42
           <el-input v-model="work.remark" type="textarea" clearable :autosize="{ minRows: 4, maxRows: 10 }"></el-input>
43 43
         </td>
44 44
         <td>
45
-          <el-button type="text" style="color:#F56C6C" size="mini" @click="deletWorkItem(index)">删除行</el-button>
45
+          <div class="delete-btn" @click="deletWorkItem(index)">
46
+            <i class="el-icon-circle-close"></i>
47
+          </div>
46 48
         </td>
47 49
       </tr>
48 50
     </table>
49 51
     <el-button icon="el-icon-plus" type="primary" plain size="mini" @click="addWorkList"></el-button>
50
-
51 52
   </div>
52 53
 </template>
53 54
 
@@ -74,7 +75,7 @@ export default {
74 75
     }
75 76
   },
76 77
   created() {
77
-
78
+    this.getList();
78 79
   },
79 80
   methods: {
80 81
     getList() {
@@ -84,7 +85,9 @@ export default {
84 85
         projectId: this.projectId
85 86
       }
86 87
       listProjectWorkload(queryParams).then(res => {
87
-
88
+        if (res.total > 0) {
89
+          this.workList = res.rows;
90
+        }
88 91
       })
89 92
     },
90 93
     addWorkList() {
@@ -127,4 +130,13 @@ table {
127 130
 .title {
128 131
   background-color: #f5f7fa;
129 132
 }
133
+
134
+.delete-btn {
135
+  color: #F56C6C;
136
+  cursor: pointer;
137
+
138
+  i {
139
+    font-size: 25px;
140
+  }
141
+}
130 142
 </style>

+ 29
- 5
oa-ui/src/views/flowable/form/projectProcess/inProgress.vue Прегледај датотеку

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-06-21 18:51:54
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-09-04 17:06:39
5
+ * @LastEditTime: 2024-09-05 10:30:20
6 6
 -->
7 7
 <template>
8 8
   <div>
@@ -88,17 +88,18 @@
88 88
                 <el-input v-model="progress.situation" type="textarea"></el-input>
89 89
               </td>
90 90
               <td>
91
-                <el-button type="text" icon="el-icon-delete" style="color:#F56C6C" size="mini"
92
-                  @click="deleProgressItem(index)">删除行</el-button>
91
+                <div class="delete-btn" @click="deleProgressItem(index)">
92
+                  <i class="el-icon-circle-close"></i>
93
+                </div>
93 94
               </td>
94 95
             </tr>
95 96
           </table>
96 97
           <el-button icon="el-icon-plus" size="mini" @click="addProgressList()" type="primary" plain></el-button>
97 98
         </el-form-item>
98 99
         <el-divider></el-divider>
99
-        <actual-work :projectId="taskForm.formId"></actual-work>
100
+        <actual-work ref="actualRef" :projectId="taskForm.formId"></actual-work>
100 101
       </el-form>
101
-        <el-divider></el-divider>
102
+      <el-divider></el-divider>
102 103
       <div class="headers">
103 104
         项目借款
104 105
         <div class="line"></div>
@@ -140,6 +141,7 @@ import { mapGetters } from "vuex";
140 141
 import { parseTime } from "@/utils/ruoyi";
141 142
 import { complete, rejectTask, returnList, returnTask, getNextFlowNode, delegate, flowTaskForm } from "@/api/flowable/todo";
142 143
 import { listProjectProgress, getProjectProgress, addProjectProgress, delProjectProgress } from "@/api/oa/project/projectProgress";
144
+import { listProjectWorkload, getProjectWorkload, addProjectWorkload, updateProjectWorkload, delProjectWorkload } from '@/api/oa/project/projectWorkload'
143 145
 import { getProject, updateProject } from "@/api/oa/project/project";
144 146
 import { getCar } from "@/api/oa/car/car";
145 147
 import { listCarApproval, getCarApproval } from '@/api/oa/car/carApproval';
@@ -348,6 +350,7 @@ export default {
348 350
           addProjectProgress(progress);
349 351
         }
350 352
       }
353
+      this.updateActualWorkList();
351 354
       this.form.projectId = this.taskForm.formId;
352 355
       this.form.cars = this.form.cars.length != 0 ? this.form.cars.join(',') : null;
353 356
       this.form.drivers = this.form.drivers.length != 0 ? this.form.drivers.join(',') : null;
@@ -368,6 +371,18 @@ export default {
368 371
         }
369 372
       });
370 373
     },
374
+    updateActualWorkList() {
375
+      const list = this.$refs.actualRef.workList;
376
+      const projectId = this.taskForm.formId
377
+      delProjectWorkload(projectId).then(async () => {
378
+        if (list.length > 0) {
379
+          for (let l of list) {
380
+            l.projectId = projectId
381
+            await addProjectWorkload(l)
382
+          }
383
+        }
384
+      })
385
+    },
371 386
     // 查询车辆列表
372 387
     getCarList() {
373 388
       listCar({ pageSize: 9999, pageNum: 1 }).then(res => {
@@ -447,6 +462,15 @@ table {
447 462
   background-color: #f5f7fa;
448 463
 }
449 464
 
465
+.delete-btn {
466
+  color: #F56C6C;
467
+  cursor: pointer;
468
+
469
+  i {
470
+    font-size: 25px;
471
+  }
472
+}
473
+
450 474
 ::v-deep .el-textarea.is-disabled .el-textarea__inner {
451 475
   color: #121212 !important;
452 476
 }

Loading…
Откажи
Сачувај