소스 검색

登记项目选择甲方单位,项目增加牵头、参与部门,内业、外业负责人

lamphua 10 달 전
부모
커밋
989843eb11

+ 1
- 1
oa-back/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java 파일 보기

@@ -35,7 +35,7 @@ public class RyTask
35 35
         if (!file.exists()) {
36 36
             file.mkdir();
37 37
         }
38
-        String sqlName = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
38
+        String sqlName = new SimpleDateFormat("yyyyMMdd").format(new Date());
39 39
         File datafile = new File(file + File.separator + sqlName + ".sql");
40 40
         if (datafile.exists()) {
41 41
             System.out.println(sqlName + "文件名已存在,请更换");

+ 48
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcProject.java 파일 보기

@@ -157,6 +157,18 @@ public class CmcProject extends BaseEntity
157 157
     @Excel(name = "项目提交要求")
158 158
     private String projectRequest;
159 159
 
160
+    /** 内业负责人 */
161
+    private String inLeader;
162
+
163
+    /** 外业负责人 */
164
+    private String outLeader;
165
+
166
+    /** 牵头部门 */
167
+    private String leadDept;
168
+
169
+    /** 参与部门 */
170
+    private String joinDept;
171
+
160 172
     private SysUser projectLeaderUser;
161 173
 
162 174
     private SysUser technicalDirectorUser;
@@ -516,6 +528,42 @@ public class CmcProject extends BaseEntity
516 528
     {
517 529
         return projectRequest;
518 530
     }
531
+    public void setInLeader(String inLeader)
532
+    {
533
+        this.inLeader = inLeader;
534
+    }
535
+
536
+    public String getInLeader()
537
+    {
538
+        return inLeader;
539
+    }
540
+    public void setOutLeader(String outLeader)
541
+    {
542
+        this.outLeader = outLeader;
543
+    }
544
+
545
+    public String getOutLeader()
546
+    {
547
+        return outLeader;
548
+    }
549
+    public void setLeadDept(String leadDept)
550
+    {
551
+        this.leadDept = leadDept;
552
+    }
553
+
554
+    public String getLeadDept()
555
+    {
556
+        return leadDept;
557
+    }
558
+    public void setJoinDept(String joinDept)
559
+    {
560
+        this.joinDept = joinDept;
561
+    }
562
+
563
+    public String getJoinDept()
564
+    {
565
+        return joinDept;
566
+    }
519 567
 
520 568
     @Override
521 569
     public String toString() {

+ 9
- 1
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcProjectMapper.xml 파일 보기

@@ -38,6 +38,10 @@
38 38
         <result property="participates"    column="participates"    />
39 39
         <result property="taskDocument"    column="task_document"    />
40 40
         <result property="projectRequest"    column="project_request"    />
41
+        <result property="inLeader"    column="in_leader"    />
42
+        <result property="outLeader"    column="out_leader"    />
43
+        <result property="leadDept"    column="lead_dept"    />
44
+        <result property="joinDept"    column="join_dept"    />
41 45
         <association property="projectLeaderUser"    javaType="SysUser"         resultMap="ProjectLeaderResult" />
42 46
         <association property="projectRegistrantUser"    javaType="SysUser"         resultMap="ProjectRegistrantResult" />
43 47
         <association property="technicalDirectorUser"    javaType="SysUser"         resultMap="TechnicalDirectorResult" />
@@ -74,7 +78,7 @@
74 78
         select p.project_id, p.project_number, p.project_name, p.project_leader, u.nick_name as leader_nick_name, p.is_finished, p.project_source, p.party_a_id, pa.party_a_name, p.contact_person, p.telephone,
75 79
                p.project_type, p.project_level, p.project_registrant, u1.nick_name as registrant_nick_name, p.undertaking_dept, p.project_planner, p.site_leader, p.organize_document, p.organize_time,
76 80
                p.register_time, p.plan_time, p.entry_time, p.exit_time, p.remark, tp.technical_director, u2.nick_name as director_nick_name, tp.quality_inspector, p.project_kml, p.project_cp, p.kml_lng, p.kml_lat,
77
-               p.cars, p.drivers, p.devices, p.participates, p.task_document, p.project_request, tp.technical_designer, u3.nick_name as design_nick_name from cmc_project as p
81
+               p.cars, p.drivers, p.devices, p.participates, p.task_document, p.project_request, tp.technical_designer, u3.nick_name as design_nick_name, p.in_leader, p.out_leader, p.lead_dept, p.join_dept from cmc_project as p
78 82
         left join sys_user as u on u.user_id = p.project_leader
79 83
         left join sys_user as u1 on u1.user_id = p.project_registrant
80 84
         left join cmc_technical_plan as tp on tp.project_id = p.project_id
@@ -227,6 +231,10 @@
227 231
             <if test="participates != null">participates = #{participates},</if>
228 232
             <if test="taskDocument != null">task_document = #{taskDocument},</if>
229 233
             <if test="projectRequest != null">project_request = #{projectRequest},</if>
234
+            <if test="inLeader != null">in_leader = #{inLeader},</if>
235
+            <if test="outLeader != null">out_leader = #{outLeader},</if>
236
+            <if test="leadDept != null">lead_dept = #{leadDept},</if>
237
+            <if test="joinDept != null">join_dept = #{joinDept},</if>
230 238
         </trim>
231 239
         where project_id = #{projectId}
232 240
     </update>

+ 3
- 2
oa-ui/src/views/flowable/form/business/contractForm.vue 파일 보기

@@ -1,8 +1,8 @@
1 1
 <!--
2 2
  * @Author: ysh
3 3
  * @Date: 2024-05-10 15:31:57
4
- * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-08-05 16:28:56
4
+ * @LastEditors: wrh
5
+ * @LastEditTime: 2024-08-13 13:57:33
6 6
 -->
7 7
 <template>
8 8
   <div class="app-container">
@@ -1218,6 +1218,7 @@ export default {
1218 1218
         return this.$message.error('请选择一个甲方单位')
1219 1219
       }
1220 1220
       if (val) {
1221
+        this.getPartyAList();
1221 1222
         this.$set(this.form, 'partyAId', val[0].partyAId)
1222 1223
       }
1223 1224
     },

+ 25
- 6
oa-ui/src/views/flowable/form/projectProcess/addproject.vue 파일 보기

@@ -1,8 +1,8 @@
1 1
 <!--
2 2
  * @Author: ysh
3 3
  * @Date: 2024-03-18 11:00:04
4
- * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-07-30 17:43:08
4
+ * @LastEditors: wrh
5
+ * @LastEditTime: 2024-08-13 13:56:20
6 6
 -->
7 7
 <template>
8 8
   <div class="project-wrapper">
@@ -36,11 +36,14 @@
36 36
       <el-form-item label="合同编号:">
37 37
         <el-input v-model="chooseContractInfo.contractNumber" disabled></el-input>
38 38
       </el-form-item>
39
-      <el-form-item label="甲方单位:" prop="partyAId">
40
-        <el-select allow-create v-model="addForm.partyAId" filterable placeholder="请选择" style="width: 100%;" clearable>
41
-          <el-option v-for="item in partyAList" :key="item.value" :label="item.partyAName" :value="item.partyAId">
39
+      <el-form-item label="甲方单位" prop="partyAId">
40
+        <el-select v-model="addForm.partyAId" filterable placeholder="请选择" disabled style="width: 100%;">
41
+          <el-option v-for="item in partyAList" :key="item.value" :label="item.partyAName"
42
+            :value="item.partyAId" :disabled="disabled">
42 43
           </el-option>
43 44
         </el-select>
45
+        <el-button type="primary" @click="partyAOpen = true" size="mini"
46
+          v-if="$route.query.taskName == '项目登记'" >选择单位</el-button>
44 47
       </el-form-item>
45 48
       <el-form-item label="联系人:" prop="contactPerson">
46 49
         <el-input v-model="addForm.contactPerson"></el-input>
@@ -90,6 +93,10 @@
90 93
     <el-dialog title="选择合同" :visible.sync="openContract" width="70%" append-to-body>
91 94
       <choose-contract @choose="setContract" @close="openContract = false"></choose-contract>
92 95
     </el-dialog>
96
+    
97
+    <el-dialog title="选择甲方单位" :visible.sync="partyAOpen" width="70%" append-to-body>
98
+      <choose-party-a @confirm="confirmPartyA"></choose-party-a>
99
+    </el-dialog>
93 100
   </div>
94 101
 </template>
95 102
 
@@ -105,9 +112,10 @@ import { listProjectContract, addProjectContract } from "@/api/oa/contract/proje
105 112
 import { listContract, getContract, delContract, addContract, updateContract } from "@/api/oa/contract/contract";
106 113
 import { listPartyA } from "@/api/oa/partyA/partyA";
107 114
 import chooseContract from '../components/chooseContract.vue';
115
+import ChoosePartyA from '@/views/flowable/form/components/choosePartyA.vue';
108 116
 import ArrangeProject from './arrangeProject.vue';
109 117
 export default {
110
-  components: { chooseContract, ArrangeProject },
118
+  components: { chooseContract, ArrangeProject, ChoosePartyA },
111 119
   dicts: ['cmc_scale_grade', 'cmc_unit'],
112 120
   props: {
113 121
     disabled: {
@@ -142,6 +150,7 @@ export default {
142 150
       total: 0,
143 151
       loading: true,
144 152
       modifyOpen: false,
153
+      partyAOpen: false,
145 154
       addForm: {
146 155
         registerTime: undefined,
147 156
         projectRegistrant: "",
@@ -313,6 +322,16 @@ export default {
313 322
       })
314 323
 
315 324
     },
325
+    confirmPartyA(val) {
326
+      this.partyAOpen = false
327
+      if (val && val.length > 1) {
328
+        return this.$message.error('请选择一个甲方单位')
329
+      }
330
+      if (val) {
331
+        this.getPartyAList();
332
+        this.$set(this.addForm, 'partyAId', val[0].partyAId)
333
+      }
334
+    },
316 335
     // 查询业主单位列表
317 336
     getPartyAList() {
318 337
       this.loading = true

+ 4
- 2
oa-ui/src/views/oa/project/info.vue 파일 보기

@@ -602,8 +602,10 @@ export default {
602 602
           if (this.project.projectLeader == this.$store.state.user.id) {
603 603
             this.isProjectLeader = true;
604 604
           }
605
-          let deptArr = this.project.undertakingDept.split(',');
606
-          let undertakingDept = []
605
+          let deptArr =  [];
606
+          if (this.project.undertakingDept && this.project.undertakingDept.trim() !== '') {
607
+            deptArr = (this.project.undertakingDept.split(',')).map(Number)
608
+          }
607 609
           for (let dept of deptArr) {
608 610
             getUsersDeptLeaderByDept({ deptId: Number(dept) }).then(res => {
609 611
               this.deptLeaderList.push(res.data.nickName);

Loading…
취소
저장