浏览代码

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

lamphua 10 个月前
父节点
当前提交
989843eb11

+ 1
- 1
oa-back/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java 查看文件

35
         if (!file.exists()) {
35
         if (!file.exists()) {
36
             file.mkdir();
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
         File datafile = new File(file + File.separator + sqlName + ".sql");
39
         File datafile = new File(file + File.separator + sqlName + ".sql");
40
         if (datafile.exists()) {
40
         if (datafile.exists()) {
41
             System.out.println(sqlName + "文件名已存在,请更换");
41
             System.out.println(sqlName + "文件名已存在,请更换");

+ 48
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcProject.java 查看文件

157
     @Excel(name = "项目提交要求")
157
     @Excel(name = "项目提交要求")
158
     private String projectRequest;
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
     private SysUser projectLeaderUser;
172
     private SysUser projectLeaderUser;
161
 
173
 
162
     private SysUser technicalDirectorUser;
174
     private SysUser technicalDirectorUser;
516
     {
528
     {
517
         return projectRequest;
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
     @Override
568
     @Override
521
     public String toString() {
569
     public String toString() {

+ 9
- 1
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcProjectMapper.xml 查看文件

38
         <result property="participates"    column="participates"    />
38
         <result property="participates"    column="participates"    />
39
         <result property="taskDocument"    column="task_document"    />
39
         <result property="taskDocument"    column="task_document"    />
40
         <result property="projectRequest"    column="project_request"    />
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
         <association property="projectLeaderUser"    javaType="SysUser"         resultMap="ProjectLeaderResult" />
45
         <association property="projectLeaderUser"    javaType="SysUser"         resultMap="ProjectLeaderResult" />
42
         <association property="projectRegistrantUser"    javaType="SysUser"         resultMap="ProjectRegistrantResult" />
46
         <association property="projectRegistrantUser"    javaType="SysUser"         resultMap="ProjectRegistrantResult" />
43
         <association property="technicalDirectorUser"    javaType="SysUser"         resultMap="TechnicalDirectorResult" />
47
         <association property="technicalDirectorUser"    javaType="SysUser"         resultMap="TechnicalDirectorResult" />
74
         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,
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
                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,
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
                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,
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
         left join sys_user as u on u.user_id = p.project_leader
82
         left join sys_user as u on u.user_id = p.project_leader
79
         left join sys_user as u1 on u1.user_id = p.project_registrant
83
         left join sys_user as u1 on u1.user_id = p.project_registrant
80
         left join cmc_technical_plan as tp on tp.project_id = p.project_id
84
         left join cmc_technical_plan as tp on tp.project_id = p.project_id
227
             <if test="participates != null">participates = #{participates},</if>
231
             <if test="participates != null">participates = #{participates},</if>
228
             <if test="taskDocument != null">task_document = #{taskDocument},</if>
232
             <if test="taskDocument != null">task_document = #{taskDocument},</if>
229
             <if test="projectRequest != null">project_request = #{projectRequest},</if>
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
         </trim>
238
         </trim>
231
         where project_id = #{projectId}
239
         where project_id = #{projectId}
232
     </update>
240
     </update>

+ 3
- 2
oa-ui/src/views/flowable/form/business/contractForm.vue 查看文件

1
 <!--
1
 <!--
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
5
- * @LastEditTime: 2024-08-05 16:28:56
4
+ * @LastEditors: wrh
5
+ * @LastEditTime: 2024-08-13 13:57:33
6
 -->
6
 -->
7
 <template>
7
 <template>
8
   <div class="app-container">
8
   <div class="app-container">
1218
         return this.$message.error('请选择一个甲方单位')
1218
         return this.$message.error('请选择一个甲方单位')
1219
       }
1219
       }
1220
       if (val) {
1220
       if (val) {
1221
+        this.getPartyAList();
1221
         this.$set(this.form, 'partyAId', val[0].partyAId)
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
 <!--
1
 <!--
2
  * @Author: ysh
2
  * @Author: ysh
3
  * @Date: 2024-03-18 11:00:04
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
 <template>
7
 <template>
8
   <div class="project-wrapper">
8
   <div class="project-wrapper">
36
       <el-form-item label="合同编号:">
36
       <el-form-item label="合同编号:">
37
         <el-input v-model="chooseContractInfo.contractNumber" disabled></el-input>
37
         <el-input v-model="chooseContractInfo.contractNumber" disabled></el-input>
38
       </el-form-item>
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
           </el-option>
43
           </el-option>
43
         </el-select>
44
         </el-select>
45
+        <el-button type="primary" @click="partyAOpen = true" size="mini"
46
+          v-if="$route.query.taskName == '项目登记'" >选择单位</el-button>
44
       </el-form-item>
47
       </el-form-item>
45
       <el-form-item label="联系人:" prop="contactPerson">
48
       <el-form-item label="联系人:" prop="contactPerson">
46
         <el-input v-model="addForm.contactPerson"></el-input>
49
         <el-input v-model="addForm.contactPerson"></el-input>
90
     <el-dialog title="选择合同" :visible.sync="openContract" width="70%" append-to-body>
93
     <el-dialog title="选择合同" :visible.sync="openContract" width="70%" append-to-body>
91
       <choose-contract @choose="setContract" @close="openContract = false"></choose-contract>
94
       <choose-contract @choose="setContract" @close="openContract = false"></choose-contract>
92
     </el-dialog>
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
   </div>
100
   </div>
94
 </template>
101
 </template>
95
 
102
 
105
 import { listContract, getContract, delContract, addContract, updateContract } from "@/api/oa/contract/contract";
112
 import { listContract, getContract, delContract, addContract, updateContract } from "@/api/oa/contract/contract";
106
 import { listPartyA } from "@/api/oa/partyA/partyA";
113
 import { listPartyA } from "@/api/oa/partyA/partyA";
107
 import chooseContract from '../components/chooseContract.vue';
114
 import chooseContract from '../components/chooseContract.vue';
115
+import ChoosePartyA from '@/views/flowable/form/components/choosePartyA.vue';
108
 import ArrangeProject from './arrangeProject.vue';
116
 import ArrangeProject from './arrangeProject.vue';
109
 export default {
117
 export default {
110
-  components: { chooseContract, ArrangeProject },
118
+  components: { chooseContract, ArrangeProject, ChoosePartyA },
111
   dicts: ['cmc_scale_grade', 'cmc_unit'],
119
   dicts: ['cmc_scale_grade', 'cmc_unit'],
112
   props: {
120
   props: {
113
     disabled: {
121
     disabled: {
142
       total: 0,
150
       total: 0,
143
       loading: true,
151
       loading: true,
144
       modifyOpen: false,
152
       modifyOpen: false,
153
+      partyAOpen: false,
145
       addForm: {
154
       addForm: {
146
         registerTime: undefined,
155
         registerTime: undefined,
147
         projectRegistrant: "",
156
         projectRegistrant: "",
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
     getPartyAList() {
336
     getPartyAList() {
318
       this.loading = true
337
       this.loading = true

+ 4
- 2
oa-ui/src/views/oa/project/info.vue 查看文件

602
           if (this.project.projectLeader == this.$store.state.user.id) {
602
           if (this.project.projectLeader == this.$store.state.user.id) {
603
             this.isProjectLeader = true;
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
           for (let dept of deptArr) {
609
           for (let dept of deptArr) {
608
             getUsersDeptLeaderByDept({ deptId: Number(dept) }).then(res => {
610
             getUsersDeptLeaderByDept({ deptId: Number(dept) }).then(res => {
609
               this.deptLeaderList.push(res.data.nickName);
611
               this.deptLeaderList.push(res.data.nickName);

正在加载...
取消
保存