Browse Source

完善项目实际工作量

余思翰 10 months ago
parent
commit
dbae239d0d

+ 5
- 5
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcProjectWorkloadMapper.xml View File

16
     </resultMap>
16
     </resultMap>
17
 
17
 
18
     <sql id="selectCmcProjectWorkloadVo">
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
     </sql>
20
     </sql>
21
 
21
 
22
     <select id="selectCmcProjectWorkloadList" parameterType="CmcProjectWorkload" resultMap="CmcProjectWorkloadResult">
22
     <select id="selectCmcProjectWorkloadList" parameterType="CmcProjectWorkload" resultMap="CmcProjectWorkloadResult">
38
     </select>
38
     </select>
39
         
39
         
40
     <insert id="insertCmcProjectWorkload" parameterType="CmcProjectWorkload">
40
     <insert id="insertCmcProjectWorkload" parameterType="CmcProjectWorkload">
41
-        insert into cmc_project_work
41
+        insert into cmc_project_workload
42
         <trim prefix="(" suffix=")" suffixOverrides=",">
42
         <trim prefix="(" suffix=")" suffixOverrides=",">
43
             <if test="workloadId != null">workload_id,</if>
43
             <if test="workloadId != null">workload_id,</if>
44
             <if test="projectId != null">project_id,</if>
44
             <if test="projectId != null">project_id,</if>
62
     </insert>
62
     </insert>
63
 
63
 
64
     <update id="updateCmcProjectWorkload" parameterType="CmcProjectWorkload">
64
     <update id="updateCmcProjectWorkload" parameterType="CmcProjectWorkload">
65
-        update cmc_project_work
65
+        update cmc_project_workload
66
         <trim prefix="SET" suffixOverrides=",">
66
         <trim prefix="SET" suffixOverrides=",">
67
             <if test="projectId != null">project_id = #{projectId},</if>
67
             <if test="projectId != null">project_id = #{projectId},</if>
68
             <if test="content != null">content = #{content},</if>
68
             <if test="content != null">content = #{content},</if>
76
     </update>
76
     </update>
77
 
77
 
78
     <delete id="deleteCmcProjectWorkloadByProjectId" parameterType="String">
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
     </delete>
80
     </delete>
81
 
81
 
82
     <delete id="deleteCmcProjectWorkloadByProjectIds" parameterType="String">
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
         <foreach item="projectId" collection="array" open="(" separator="," close=")">
84
         <foreach item="projectId" collection="array" open="(" separator="," close=")">
85
             #{projectId}
85
             #{projectId}
86
         </foreach>
86
         </foreach>

+ 1
- 20
oa-ui/src/views/flowable/form/business/subContract.vue View File

2
  * @Author: ysh
2
  * @Author: ysh
3
  * @Date: 2024-05-10 15:31:57
3
  * @Date: 2024-05-10 15:31:57
4
  * @LastEditors: Please set LastEditors
4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-09-04 17:29:54
5
+ * @LastEditTime: 2024-09-05 10:39:05
6
 -->
6
 -->
7
 <template>
7
 <template>
8
   <div class="app-container">
8
   <div class="app-container">
817
       this.workList = this.$refs.workTableRef.workList;
817
       this.workList = this.$refs.workTableRef.workList;
818
       this.paymentList = this.$refs.paymentRef.paymentList;
818
       this.paymentList = this.$refs.paymentRef.paymentList;
819
       if (this.formTotal != 0) {
819
       if (this.formTotal != 0) {
820
-        console.log(this.form.partnerId);
821
         if (this.form.partnerId && this.form.partnerId instanceof Array)
820
         if (this.form.partnerId && this.form.partnerId instanceof Array)
822
           this.form.partnerId = this.form.partnerId.join(',')
821
           this.form.partnerId = this.form.partnerId.join(',')
823
         updateSubContract(this.form).then(response => {
822
         updateSubContract(this.form).then(response => {
1031
     },
1030
     },
1032
     confirmProject(val) {
1031
     confirmProject(val) {
1033
       this.open = false
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
       if (val) {
1033
       if (val) {
1053
         this.chooseProjectList = val;
1034
         this.chooseProjectList = val;
1054
         this.isSelect = true
1035
         this.isSelect = true

+ 16
- 4
oa-ui/src/views/flowable/form/components/actualWork.vue View File

42
           <el-input v-model="work.remark" type="textarea" clearable :autosize="{ minRows: 4, maxRows: 10 }"></el-input>
42
           <el-input v-model="work.remark" type="textarea" clearable :autosize="{ minRows: 4, maxRows: 10 }"></el-input>
43
         </td>
43
         </td>
44
         <td>
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
         </td>
48
         </td>
47
       </tr>
49
       </tr>
48
     </table>
50
     </table>
49
     <el-button icon="el-icon-plus" type="primary" plain size="mini" @click="addWorkList"></el-button>
51
     <el-button icon="el-icon-plus" type="primary" plain size="mini" @click="addWorkList"></el-button>
50
-
51
   </div>
52
   </div>
52
 </template>
53
 </template>
53
 
54
 
74
     }
75
     }
75
   },
76
   },
76
   created() {
77
   created() {
77
-
78
+    this.getList();
78
   },
79
   },
79
   methods: {
80
   methods: {
80
     getList() {
81
     getList() {
84
         projectId: this.projectId
85
         projectId: this.projectId
85
       }
86
       }
86
       listProjectWorkload(queryParams).then(res => {
87
       listProjectWorkload(queryParams).then(res => {
87
-
88
+        if (res.total > 0) {
89
+          this.workList = res.rows;
90
+        }
88
       })
91
       })
89
     },
92
     },
90
     addWorkList() {
93
     addWorkList() {
127
 .title {
130
 .title {
128
   background-color: #f5f7fa;
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
 </style>
142
 </style>

+ 29
- 5
oa-ui/src/views/flowable/form/projectProcess/inProgress.vue View File

2
  * @Author: ysh
2
  * @Author: ysh
3
  * @Date: 2024-06-21 18:51:54
3
  * @Date: 2024-06-21 18:51:54
4
  * @LastEditors: Please set LastEditors
4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-09-04 17:06:39
5
+ * @LastEditTime: 2024-09-05 10:30:20
6
 -->
6
 -->
7
 <template>
7
 <template>
8
   <div>
8
   <div>
88
                 <el-input v-model="progress.situation" type="textarea"></el-input>
88
                 <el-input v-model="progress.situation" type="textarea"></el-input>
89
               </td>
89
               </td>
90
               <td>
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
               </td>
94
               </td>
94
             </tr>
95
             </tr>
95
           </table>
96
           </table>
96
           <el-button icon="el-icon-plus" size="mini" @click="addProgressList()" type="primary" plain></el-button>
97
           <el-button icon="el-icon-plus" size="mini" @click="addProgressList()" type="primary" plain></el-button>
97
         </el-form-item>
98
         </el-form-item>
98
         <el-divider></el-divider>
99
         <el-divider></el-divider>
99
-        <actual-work :projectId="taskForm.formId"></actual-work>
100
+        <actual-work ref="actualRef" :projectId="taskForm.formId"></actual-work>
100
       </el-form>
101
       </el-form>
101
-        <el-divider></el-divider>
102
+      <el-divider></el-divider>
102
       <div class="headers">
103
       <div class="headers">
103
         项目借款
104
         项目借款
104
         <div class="line"></div>
105
         <div class="line"></div>
140
 import { parseTime } from "@/utils/ruoyi";
141
 import { parseTime } from "@/utils/ruoyi";
141
 import { complete, rejectTask, returnList, returnTask, getNextFlowNode, delegate, flowTaskForm } from "@/api/flowable/todo";
142
 import { complete, rejectTask, returnList, returnTask, getNextFlowNode, delegate, flowTaskForm } from "@/api/flowable/todo";
142
 import { listProjectProgress, getProjectProgress, addProjectProgress, delProjectProgress } from "@/api/oa/project/projectProgress";
143
 import { listProjectProgress, getProjectProgress, addProjectProgress, delProjectProgress } from "@/api/oa/project/projectProgress";
144
+import { listProjectWorkload, getProjectWorkload, addProjectWorkload, updateProjectWorkload, delProjectWorkload } from '@/api/oa/project/projectWorkload'
143
 import { getProject, updateProject } from "@/api/oa/project/project";
145
 import { getProject, updateProject } from "@/api/oa/project/project";
144
 import { getCar } from "@/api/oa/car/car";
146
 import { getCar } from "@/api/oa/car/car";
145
 import { listCarApproval, getCarApproval } from '@/api/oa/car/carApproval';
147
 import { listCarApproval, getCarApproval } from '@/api/oa/car/carApproval';
348
           addProjectProgress(progress);
350
           addProjectProgress(progress);
349
         }
351
         }
350
       }
352
       }
353
+      this.updateActualWorkList();
351
       this.form.projectId = this.taskForm.formId;
354
       this.form.projectId = this.taskForm.formId;
352
       this.form.cars = this.form.cars.length != 0 ? this.form.cars.join(',') : null;
355
       this.form.cars = this.form.cars.length != 0 ? this.form.cars.join(',') : null;
353
       this.form.drivers = this.form.drivers.length != 0 ? this.form.drivers.join(',') : null;
356
       this.form.drivers = this.form.drivers.length != 0 ? this.form.drivers.join(',') : null;
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
     getCarList() {
387
     getCarList() {
373
       listCar({ pageSize: 9999, pageNum: 1 }).then(res => {
388
       listCar({ pageSize: 9999, pageNum: 1 }).then(res => {
447
   background-color: #f5f7fa;
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
 ::v-deep .el-textarea.is-disabled .el-textarea__inner {
474
 ::v-deep .el-textarea.is-disabled .el-textarea__inner {
451
   color: #121212 !important;
475
   color: #121212 !important;
452
 }
476
 }

Loading…
Cancel
Save