Selaa lähdekoodia

实现安全交底流程

lamphua 1 vuosi sitten
vanhempi
commit
ca58911b03

+ 6
- 6
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcBudgetStaff.java Näytä tiedosto

@@ -33,7 +33,7 @@ public class CmcBudgetStaff extends BaseEntity
33 33
 
34 34
     /** 固定成本 */
35 35
     @Excel(name = "固定成本")
36
-    private BigDecimal fixCost;
36
+    private BigDecimal staffCost;
37 37
 
38 38
     /** 进出场单价 */
39 39
     @Excel(name = "进出场单价")
@@ -79,14 +79,14 @@ public class CmcBudgetStaff extends BaseEntity
79 79
     {
80 80
         return days;
81 81
     }
82
-    public void setFixCost(BigDecimal fixCost) 
82
+    public void setStaffCost(BigDecimal staffCost) 
83 83
     {
84
-        this.fixCost = fixCost;
84
+        this.staffCost = staffCost;
85 85
     }
86 86
 
87
-    public BigDecimal getFixCost() 
87
+    public BigDecimal getStaffCost() 
88 88
     {
89
-        return fixCost;
89
+        return staffCost;
90 90
     }
91 91
     public void setInOutPrice(BigDecimal inOutPrice) 
92 92
     {
@@ -114,7 +114,7 @@ public class CmcBudgetStaff extends BaseEntity
114 114
             .append("budgetId", getBudgetId())
115 115
             .append("userId", getUserId())
116 116
             .append("days", getDays())
117
-            .append("fixCost", getFixCost())
117
+            .append("staffCost", getStaffCost())
118 118
             .append("inOutPrice", getInOutPrice())
119 119
             .append("inOutExpense", getInOutExpense())
120 120
             .toString();

+ 24
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcSafe.java Näytä tiedosto

@@ -2,6 +2,7 @@ package com.ruoyi.oa.domain;
2 2
 
3 3
 import java.util.Date;
4 4
 import com.fasterxml.jackson.annotation.JsonFormat;
5
+import com.ruoyi.common.core.domain.entity.SysUser;
5 6
 import org.apache.commons.lang3.builder.ToStringBuilder;
6 7
 import org.apache.commons.lang3.builder.ToStringStyle;
7 8
 import com.ruoyi.common.annotation.Excel;
@@ -28,10 +29,14 @@ public class CmcSafe extends BaseEntity
28 29
     @Excel(name = "接受交底人")
29 30
     private Long disclosureAccepter;
30 31
 
32
+    private SysUser disclosureAccepterUser;
33
+
31 34
     /** 安全交底人 */
32 35
     @Excel(name = "安全交底人")
33 36
     private Long disclosurer;
34 37
 
38
+    private SysUser disclosurerUser;
39
+
35 40
     /** 环境要求 */
36 41
     @Excel(name = "环境要求")
37 42
     private String environmentComment;
@@ -85,6 +90,15 @@ public class CmcSafe extends BaseEntity
85 90
     {
86 91
         return disclosureAccepter;
87 92
     }
93
+    public void setDisclosureAccepterUser(SysUser disclosureAccepterUser)
94
+    {
95
+        this.disclosureAccepterUser = disclosureAccepterUser;
96
+    }
97
+
98
+    public SysUser getDisclosureAccepterUser()
99
+    {
100
+        return disclosureAccepterUser;
101
+    }
88 102
     public void setDisclosurer(Long disclosurer) 
89 103
     {
90 104
         this.disclosurer = disclosurer;
@@ -94,6 +108,16 @@ public class CmcSafe extends BaseEntity
94 108
     {
95 109
         return disclosurer;
96 110
     }
111
+
112
+    public void setDisclosurerUser(SysUser disclosurerUser)
113
+    {
114
+        this.disclosurerUser = disclosurerUser;
115
+    }
116
+
117
+    public SysUser getDisclosurerUser()
118
+    {
119
+        return disclosurerUser;
120
+    }
97 121
     public void setEnvironmentComment(String environmentComment) 
98 122
     {
99 123
         this.environmentComment = environmentComment;

+ 6
- 6
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcBudgetStaffMapper.xml Näytä tiedosto

@@ -9,13 +9,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
9 9
         <result property="budgetId"    column="budget_id"    />
10 10
         <result property="userId"    column="user_id"    />
11 11
         <result property="days"    column="days"    />
12
-        <result property="fixCost"    column="fix_cost"    />
12
+        <result property="staffCost"    column="staff_cost"    />
13 13
         <result property="inOutPrice"    column="in_out_price"    />
14 14
         <result property="inOutExpense"    column="in_out_expense"    />
15 15
     </resultMap>
16 16
 
17 17
     <sql id="selectCmcBudgetStaffVo">
18
-        select budget_staff_id, budget_id, user_id, days, fix_cost, in_out_price, in_out_expense from cmc_budget_staff
18
+        select budget_staff_id, budget_id, user_id, days, staff_cost, in_out_price, in_out_expense from cmc_budget_staff
19 19
     </sql>
20 20
 
21 21
     <select id="selectCmcBudgetStaffList" parameterType="CmcBudgetStaff" resultMap="CmcBudgetStaffResult">
@@ -24,7 +24,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
24 24
             <if test="budgetId != null  and budgetId != ''"> and budget_id = #{budgetId}</if>
25 25
             <if test="userId != null "> and user_id = #{userId}</if>
26 26
             <if test="days != null "> and days = #{days}</if>
27
-            <if test="fixCost != null "> and fix_cost = #{fixCost}</if>
27
+            <if test="staffCost != null "> and staff_cost = #{staffCost}</if>
28 28
             <if test="inOutPrice != null "> and in_out_price = #{inOutPrice}</if>
29 29
             <if test="inOutExpense != null "> and in_out_expense = #{inOutExpense}</if>
30 30
         </where>
@@ -42,7 +42,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
42 42
             <if test="budgetId != null">budget_id,</if>
43 43
             <if test="userId != null">user_id,</if>
44 44
             <if test="days != null">days,</if>
45
-            <if test="fixCost != null">fix_cost,</if>
45
+            <if test="staffCost != null">staff_cost,</if>
46 46
             <if test="inOutPrice != null">in_out_price,</if>
47 47
             <if test="inOutExpense != null">in_out_expense,</if>
48 48
          </trim>
@@ -51,7 +51,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
51 51
             <if test="budgetId != null">#{budgetId},</if>
52 52
             <if test="userId != null">#{userId},</if>
53 53
             <if test="days != null">#{days},</if>
54
-            <if test="fixCost != null">#{fixCost},</if>
54
+            <if test="staffCost != null">#{staffCost},</if>
55 55
             <if test="inOutPrice != null">#{inOutPrice},</if>
56 56
             <if test="inOutExpense != null">#{inOutExpense},</if>
57 57
          </trim>
@@ -63,7 +63,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
63 63
             <if test="budgetId != null">budget_id = #{budgetId},</if>
64 64
             <if test="userId != null">user_id = #{userId},</if>
65 65
             <if test="days != null">days = #{days},</if>
66
-            <if test="fixCost != null">fix_cost = #{fixCost},</if>
66
+            <if test="staffCost != null">staff_cost = #{staffCost},</if>
67 67
             <if test="inOutPrice != null">in_out_price = #{inOutPrice},</if>
68 68
             <if test="inOutExpense != null">in_out_expense = #{inOutExpense},</if>
69 69
         </trim>

+ 25
- 11
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcSafeMapper.xml Näytä tiedosto

@@ -15,30 +15,44 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
15 15
         <result property="disclosureComment"    column="disclosure_comment"    />
16 16
         <result property="disclosureTime"    column="disclosure_time"    />
17 17
         <result property="acceptTime"    column="accept_time"    />
18
+        <association property="disclosureAccepterUser"    javaType="SysUser"         resultMap="DisclosureAccepterUserResult" />
19
+        <association property="disclosurerUser"    javaType="SysUser"         resultMap="DisclosurerUserResult" />
20
+    </resultMap>
21
+
22
+    <resultMap type="SysUser" id="DisclosureAccepterUserResult">
23
+        <result property="userId"    column="user_id"    />
24
+        <result property="nickName"    column="accepter_nick_name"    />
25
+    </resultMap>
26
+
27
+    <resultMap type="SysUser" id="DisclosurerUserResult">
28
+        <result property="userId"    column="user_id"    />
29
+        <result property="nickName"    column="disclosurer_nick_name"    />
18 30
     </resultMap>
19 31
 
20 32
     <sql id="selectCmcSafeVo">
21
-        select safe_id, project_id, disclosure_accepter, disclosurer, environment_comment, outside_comment, inside_comment, disclosure_comment, disclosure_time, accept_time from cmc_safe
33
+        select s.safe_id, s.project_id, s.disclosure_accepter, u.nick_name as accepter_nick_name, s.disclosurer, u1.nick_name as disclosurer_nick_name, s.environment_comment, s.outside_comment, s.inside_comment, s.disclosure_comment, s.disclosure_time, s.accept_time from cmc_safe as s
34
+        left join sys_user as u on u.user_id = s.disclosure_accepter
35
+        left join sys_user as u1 on u1.user_id = s.disclosurer
22 36
     </sql>
23 37
 
24 38
     <select id="selectCmcSafeList" parameterType="CmcSafe" resultMap="CmcSafeResult">
25 39
         <include refid="selectCmcSafeVo"/>
26 40
         <where>  
27
-            <if test="projectId != null  and projectId != ''"> and project_id = #{projectId}</if>
28
-            <if test="disclosureAccepter != null "> and disclosure_accepter = #{disclosureAccepter}</if>
29
-            <if test="disclosurer != null "> and disclosurer = #{disclosurer}</if>
30
-            <if test="environmentComment != null  and environmentComment != ''"> and environment_comment = #{environmentComment}</if>
31
-            <if test="outsideComment != null  and outsideComment != ''"> and outside_comment = #{outsideComment}</if>
32
-            <if test="insideComment != null  and insideComment != ''"> and inside_comment = #{insideComment}</if>
33
-            <if test="disclosureComment != null  and disclosureComment != ''"> and disclosure_comment = #{disclosureComment}</if>
34
-            <if test="disclosureTime != null "> and disclosure_time = #{disclosureTime}</if>
35
-            <if test="acceptTime != null "> and accept_time = #{acceptTime}</if>
41
+            <if test="projectId != null  and projectId != ''"> and s.project_id = #{projectId}</if>
42
+            <if test="disclosureAccepter != null "> and s.disclosure_accepter = #{disclosureAccepter}</if>
43
+            <if test="disclosurer != null "> and s.disclosurer = #{disclosurer}</if>
44
+            <if test="environmentComment != null  and environmentComment != ''"> and s.environment_comment = #{environmentComment}</if>
45
+            <if test="outsideComment != null  and outsideComment != ''"> and s.outside_comment = #{outsideComment}</if>
46
+            <if test="insideComment != null  and insideComment != ''"> and s.inside_comment = #{insideComment}</if>
47
+            <if test="disclosureComment != null  and disclosureComment != ''"> and s.disclosure_comment = #{disclosureComment}</if>
48
+            <if test="disclosureTime != null "> and s.disclosure_time = #{disclosureTime}</if>
49
+            <if test="acceptTime != null "> and s.accept_time = #{acceptTime}</if>
36 50
         </where>
37 51
     </select>
38 52
     
39 53
     <select id="selectCmcSafeBySafeId" parameterType="String" resultMap="CmcSafeResult">
40 54
         <include refid="selectCmcSafeVo"/>
41
-        where safe_id = #{safeId}
55
+        where s.safe_id = #{safeId}
42 56
     </select>
43 57
         
44 58
     <insert id="insertCmcSafe" parameterType="CmcSafe">

+ 3
- 3
oa-back/sql/sql.sql Näytä tiedosto

@@ -3852,9 +3852,9 @@ create table `cmc_safe`  (
3852 3852
   `project_id` 			char(19)  		default null comment '项目id',
3853 3853
   `disclosure_accepter` bigint  		default null comment '接受交底人',
3854 3854
   `disclosurer` 		bigint  		default null comment '安全交底人',
3855
-  `environment_comment` varchar(255)  	default null comment '环境要求',
3856
-  `outside_comment` 	varchar(255)  	default null comment '外业要求',
3857
-  `inside_comment` 		varchar(255)  	default null comment '内业要求',
3855
+  `environment_comment` text  			default null comment '环境要求',
3856
+  `outside_comment` 	text		  	default null comment '外业要求',
3857
+  `inside_comment` 		text		  	default null comment '内业要求',
3858 3858
   `disclosure_comment` 	varchar(255)  	default null comment '安全交底意见',
3859 3859
   `disclosure_time` 	datetime  		default null comment '安全交底时间',
3860 3860
   `accept_time` 		datetime  		default null comment '接受交底时间',

+ 125
- 99
oa-ui/src/views/flowable/form/borrowForm.vue Näytä tiedosto

@@ -1,111 +1,133 @@
1 1
 <template>
2 2
   <div class="app-container">
3
-    <el-form ref="form" :model="form" :rules="rules" label-width="80px">
4
-      <el-form-item label="项目编号:" prop="projectId" v-if="taskForm.procDefName == '借款审批'">
5
-                <el-select v-model="form.projectId" filterable placeholder="请选择" @change="handleSelectProject"
6
-                  :disabled="taskName != '借款申请'" clearable>
7
-                  <el-option v-for="item in projectList" :key="item.value" :label="item.projectNumber"
8
-                    :value="item.projectId">
9
-                  </el-option>
10
-                </el-select>
11
-                <el-descriptions border v-if="isSelect" style="margin-top: 10px;" :column="1">
12
-                  <el-descriptions-item label="项目编号" label-class-name="my-label">{{ chooseProject.projectNumber
13
-                  }}</el-descriptions-item>
14
-                  <el-descriptions-item label="项目名称" label-class-name="my-label">{{ chooseProject.projectName
15
-                  }}</el-descriptions-item>
16
-                  <el-descriptions-item label="项目负责人" label-class-name="my-label">{{ chooseProject.projectLeaderUser ? chooseProject.projectLeaderUser.nickName : ''
17
-                  }}</el-descriptions-item>
18
-                  <el-descriptions-item label="承担部门" label-class-name="my-label">
19
-                    <el-tag size="small">{{ chooseProject.undertakingDeptName }}</el-tag>
20
-                  </el-descriptions-item>
21
-                  <el-descriptions-item label="项目类型" label-class-name="my-label">{{ chooseProject.projectType
22
-                  }}</el-descriptions-item>
23
-                </el-descriptions>
24
-              </el-form-item>
25
-      <el-form-item label="借款事由" prop="applyReason">
26
-        <el-input v-model="form.applyReason" placeholder="请输入借款事由" />
27
-      </el-form-item>
28
-      <el-form-item label="申请人" prop="user.nickName">
29
-        {{ form.applierUser ? form.applierUser.nickName : form.user.nickName }}
30
-      </el-form-item>
31
-      <el-form-item label="申请部门" prop="dept.deptName">
32
-        {{ form.dept.deptName }}
33
-      </el-form-item>
34
-      <el-form-item label="申请时间:" prop="date">
35
-                    <el-date-picker style="width:140px;" v-model="form.applyDate" value-format="yyyy-MM-dd" type="date"
36
-                      placeholder="选择日期" :disabled="taskName != '借款申请'">
37
-                    </el-date-picker>
38
-                  </el-form-item>
39
-      <el-form-item label="申请金额" prop="applyAmount">
40
-        <el-input v-model="form.applyAmount" placeholder="请输入申请金额" />
41
-      </el-form-item>
42
-      <el-form-item label="核准金额" prop="managerAmount">
43
-        <el-input v-model="form.managerAmount" placeholder="请输入核准金额" />
44
-      </el-form-item>
45
-      <el-form-item label="部门意见" prop="deptComment">
46
-        <el-input v-model="form.deptComment" placeholder="请输入部门意见" />
47
-      </el-form-item>
48
-      <el-form-item label="部门审批人" prop="deptUserId">
49
-        <el-input v-model="form.deptUserId" placeholder="请输入部门审批人" />
50
-      </el-form-item>
51
-      <el-form-item label="项目部审批人" prop="xmUserId">
52
-        <el-input v-model="form.xmUserId" placeholder="请输入项目部审批人" />
53
-      </el-form-item>
54
-      <el-form-item label="项目部审批意见" prop="xmComment">
55
-        <el-input v-model="form.xmComment" placeholder="请输入项目部审批意见" />
56
-      </el-form-item>
57
-      <el-form-item label="分管审批意见" prop="managerComment">
58
-        <el-input v-model="form.managerComment" placeholder="请输入分管审批意见" />
59
-      </el-form-item>
60
-      <el-form-item label="分管审批人" prop="managerUserId">
61
-        <el-input v-model="form.managerUserId" placeholder="请输入分管审批人" />
62
-      </el-form-item>
63
-      <el-form-item label="总经理审批人" prop="zjlUserId">
64
-        <el-input v-model="form.zjlUserId" placeholder="请输入总经理审批人" />
65
-      </el-form-item>
66
-      <el-form-item label="总经理审批意见" prop="zjlComment">
67
-        <el-input v-model="form.zjlComment" placeholder="请输入总经理审批意见" />
68
-      </el-form-item>
69
-      <el-form-item label="财务部经办人" prop="cwUserId">
70
-        <el-input v-model="form.cwUserId" placeholder="请输入财务部经办人" />
71
-      </el-form-item>
72
-      <el-form-item label="财务部支付备注" prop="cwComment">
73
-        <el-input v-model="form.cwComment" placeholder="请输入财务部支付备注" />
74
-      </el-form-item>
75
-      <el-form-item label="部门审批时间" prop="deptTime">
76
-        <el-date-picker clearable v-model="form.deptTime" type="date" value-format="yyyy-MM-dd" placeholder="请选择部门审批时间">
77
-        </el-date-picker>
78
-      </el-form-item>
79
-      <el-form-item label="项目部审批时间" prop="xmTime">
80
-        <el-date-picker clearable v-model="form.xmTime" type="date" value-format="yyyy-MM-dd" placeholder="请选择项目部审批时间">
81
-        </el-date-picker>
82
-      </el-form-item>
83
-      <el-form-item label="分管审批时间" prop="managerTime">
84
-        <el-date-picker clearable v-model="form.managerTime" type="date" value-format="yyyy-MM-dd"
85
-          placeholder="请选择分管审批时间">
86
-        </el-date-picker>
87
-      </el-form-item>
88
-      <el-form-item label="总经理审批时间" prop="zjlTime">
89
-        <el-date-picker clearable v-model="form.zjlTime" type="date" value-format="yyyy-MM-dd" placeholder="请选择总经理审批时间">
90
-        </el-date-picker>
91
-      </el-form-item>
92
-      <el-form-item label="借款支付时间" prop="lendTime">
93
-        <el-date-picker clearable v-model="form.lendTime" type="date" value-format="yyyy-MM-dd" placeholder="请选择借款支付时间">
94
-        </el-date-picker>
95
-      </el-form-item>
96
-    </el-form>
97
-    <div slot="footer" class="dialog-footer">
98
-      <el-button type="primary" @click="submitForm">确 定</el-button>
99
-      <el-button @click="cancel">取 消</el-button>
100
-    </div>
3
+    <el-row>
4
+      <el-col :span="18" :xs="24">
5
+        <el-form ref="form" :model="form" :rules="rules" label-width="80px">
6
+          <el-form-item label="项目编号:" prop="projectId" v-if="taskForm.procDefName == '借款审批'">
7
+            <el-select v-model="form.projectId" filterable placeholder="请选择" @change="handleSelectProject"
8
+              :disabled="taskName != '借款申请'" clearable>
9
+              <el-option v-for="item in projectList" :key="item.value" :label="item.projectNumber"
10
+                :value="item.projectId">
11
+              </el-option>
12
+            </el-select>
13
+            <el-descriptions border v-if="isSelect" style="margin-top: 10px;" :column="1">
14
+              <el-descriptions-item label="项目编号" label-class-name="my-label">{{ chooseProject.projectNumber
15
+              }}</el-descriptions-item>
16
+              <el-descriptions-item label="项目名称" label-class-name="my-label">{{ chooseProject.projectName
17
+              }}</el-descriptions-item>
18
+              <el-descriptions-item label="项目负责人" label-class-name="my-label">{{ chooseProject.projectLeaderUser ?
19
+                chooseProject.projectLeaderUser.nickName : ''
20
+              }}</el-descriptions-item>
21
+              <el-descriptions-item label="承担部门" label-class-name="my-label">
22
+                <el-tag size="small">{{ chooseProject.undertakingDeptName }}</el-tag>
23
+              </el-descriptions-item>
24
+              <el-descriptions-item label="项目类型" label-class-name="my-label">{{ chooseProject.projectType
25
+              }}</el-descriptions-item>
26
+            </el-descriptions>
27
+          </el-form-item>
28
+          <el-form-item label="借款事由" prop="applyReason">
29
+            <el-input v-model="form.applyReason" placeholder="请输入借款事由" />
30
+          </el-form-item>
31
+          <el-form-item label="申请人" prop="user.nickName">
32
+            {{ form.applierUser ? form.applierUser.nickName : form.user.nickName }}
33
+          </el-form-item>
34
+          <el-form-item label="申请部门" prop="dept.deptName">
35
+            {{ form.dept.deptName }}
36
+          </el-form-item>
37
+          <el-form-item label="申请时间:" prop="date">
38
+            <el-date-picker style="width:140px;" v-model="form.applyDate" value-format="yyyy-MM-dd" type="date"
39
+              placeholder="选择日期" :disabled="taskName != '借款申请'">
40
+            </el-date-picker>
41
+          </el-form-item>
42
+          <el-form-item label="申请金额" prop="applyAmount">
43
+            <el-input v-model="form.applyAmount" placeholder="请输入申请金额" />
44
+          </el-form-item>
45
+          <el-form-item label="核准金额" prop="managerAmount">
46
+            <el-input v-model="form.managerAmount" placeholder="请输入核准金额" />
47
+          </el-form-item>
48
+          <el-form-item label="部门意见" prop="deptComment">
49
+            <el-input v-model="form.deptComment" placeholder="请输入部门意见" />
50
+          </el-form-item>
51
+          <el-form-item label="部门审批人" prop="deptUserId">
52
+            <el-input v-model="form.deptUserId" placeholder="请输入部门审批人" />
53
+          </el-form-item>
54
+          <el-form-item label="项目部审批人" prop="xmUserId">
55
+            <el-input v-model="form.xmUserId" placeholder="请输入项目部审批人" />
56
+          </el-form-item>
57
+          <el-form-item label="项目部审批意见" prop="xmComment">
58
+            <el-input v-model="form.xmComment" placeholder="请输入项目部审批意见" />
59
+          </el-form-item>
60
+          <el-form-item label="分管审批意见" prop="managerComment">
61
+            <el-input v-model="form.managerComment" placeholder="请输入分管审批意见" />
62
+          </el-form-item>
63
+          <el-form-item label="分管审批人" prop="managerUserId">
64
+            <el-input v-model="form.managerUserId" placeholder="请输入分管审批人" />
65
+          </el-form-item>
66
+          <el-form-item label="总经理审批人" prop="zjlUserId">
67
+            <el-input v-model="form.zjlUserId" placeholder="请输入总经理审批人" />
68
+          </el-form-item>
69
+          <el-form-item label="总经理审批意见" prop="zjlComment">
70
+            <el-input v-model="form.zjlComment" placeholder="请输入总经理审批意见" />
71
+          </el-form-item>
72
+          <el-form-item label="财务部经办人" prop="cwUserId">
73
+            <el-input v-model="form.cwUserId" placeholder="请输入财务部经办人" />
74
+          </el-form-item>
75
+          <el-form-item label="财务部支付备注" prop="cwComment">
76
+            <el-input v-model="form.cwComment" placeholder="请输入财务部支付备注" />
77
+          </el-form-item>
78
+          <el-form-item label="部门审批时间" prop="deptTime">
79
+            <el-date-picker clearable v-model="form.deptTime" type="date" value-format="yyyy-MM-dd"
80
+              placeholder="请选择部门审批时间">
81
+            </el-date-picker>
82
+          </el-form-item>
83
+          <el-form-item label="项目部审批时间" prop="xmTime">
84
+            <el-date-picker clearable v-model="form.xmTime" type="date" value-format="yyyy-MM-dd"
85
+              placeholder="请选择项目部审批时间">
86
+            </el-date-picker>
87
+          </el-form-item>
88
+          <el-form-item label="分管审批时间" prop="managerTime">
89
+            <el-date-picker clearable v-model="form.managerTime" type="date" value-format="yyyy-MM-dd"
90
+              placeholder="请选择分管审批时间">
91
+            </el-date-picker>
92
+          </el-form-item>
93
+          <el-form-item label="总经理审批时间" prop="zjlTime">
94
+            <el-date-picker clearable v-model="form.zjlTime" type="date" value-format="yyyy-MM-dd"
95
+              placeholder="请选择总经理审批时间">
96
+            </el-date-picker>
97
+          </el-form-item>
98
+          <el-form-item label="借款支付时间" prop="lendTime">
99
+            <el-date-picker clearable v-model="form.lendTime" type="date" value-format="yyyy-MM-dd"
100
+              placeholder="请选择借款支付时间">
101
+            </el-date-picker>
102
+          </el-form-item>
103
+        </el-form>
104
+        <div slot="footer" class="dialog-footer">
105
+          <el-button type="primary" @click="submitForm">确 定</el-button>
106
+          <el-button @click="cancel">取 消</el-button>
107
+        </div>
108
+      </el-col>
109
+      <el-col :span="6" :xs="24">
110
+        <el-card>
111
+          <h2 style="text-align: center;">流程进度</h2>
112
+          <div>
113
+            <flow :flowData="flowData" />
114
+          </div>
115
+        </el-card>
116
+      </el-col>
117
+    </el-row>
101 118
   </div>
102 119
 </template>
103 120
 
104 121
 <script>
105 122
 import { listBorrow, getBorrow, delBorrow, addBorrow, updateBorrow } from "@/api/oa/borrow/borrow";
106 123
 import { listProject, getProject } from "@/api/oa/project/project";
124
+import flow from '@/views/flowable/task/todo/detail/flow'
125
+import { flowXmlAndNode } from "@/api/flowable/definition";
107 126
 
108 127
 export default {
128
+  components: {
129
+    flow
130
+  },
109 131
   name: "Borrow",
110 132
   props: {
111 133
     taskName: {
@@ -179,7 +201,8 @@ export default {
179 201
       },
180 202
       // 表单校验
181 203
       rules: {
182
-      }
204
+      },
205
+      flowData: {}
183 206
     };
184 207
   },
185 208
   created() {
@@ -188,6 +211,9 @@ export default {
188 211
     this.form.dept.deptName = this.$store.getters.deptName;
189 212
     this.getProjectList();
190 213
     this.getList();
214
+    flowXmlAndNode({ procInsId: this.taskForm.procInsId, deployId: this.taskForm.deployId }).then(res => {
215
+      this.flowData = res.data;
216
+    })
191 217
   },
192 218
   methods: {
193 219
     /** 查询cmc借款申请列表 */

+ 315
- 0
oa-ui/src/views/flowable/form/safeForm.vue Näytä tiedosto

@@ -0,0 +1,315 @@
1
+<template>
2
+  <div class="app-container">
3
+    <el-row>
4
+      <el-col :span="18" :xs="24">
5
+        <el-form ref="form" :model="form" :rules="rules" label-width="80px">
6
+          <el-form-item label="项目编号:" prop="projectId" v-if="taskForm.procDefName == '安全交底'">
7
+            <el-input v-model="chooseProject.projectNumber" placeholder="请输入项目编号" disabled style="width: 300px" />
8
+            <el-descriptions border v-if="isSelect" style="margin-top: 10px;" :column="1">
9
+              <el-descriptions-item label="项目编号" label-class-name="my-label">{{ chooseProject.projectNumber
10
+              }}</el-descriptions-item>
11
+              <el-descriptions-item label="项目名称" label-class-name="my-label">{{ chooseProject.projectName
12
+              }}</el-descriptions-item>
13
+              <el-descriptions-item label="项目负责人" label-class-name="my-label">{{ chooseProject.projectLeaderUser ?
14
+                chooseProject.projectLeaderUser.nickName : ''
15
+              }}</el-descriptions-item>
16
+              <el-descriptions-item label="承担部门" label-class-name="my-label">
17
+                <el-tag size="small">{{ chooseProject.undertakingDeptName }}</el-tag>
18
+              </el-descriptions-item>
19
+              <el-descriptions-item label="项目类型" label-class-name="my-label">{{ chooseProject.projectType
20
+              }}</el-descriptions-item>
21
+            </el-descriptions>
22
+          </el-form-item>
23
+          <el-form-item label="接受交底人" prop="disclosureAccepter">
24
+            <el-select v-model="form.disclosureAccepter" filterable clearable style="width:120px"
25
+              :disabled="taskName != '安全交底'">
26
+              <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId"
27
+                v-if="item.nickName != 'admin'">
28
+              </el-option>
29
+            </el-select>
30
+          </el-form-item>
31
+          <el-form-item label="环境管理要求" prop="environmentComment" :disabled="taskName != '安全交底'">
32
+            <el-input v-model="form.environmentComment" placeholder="请输入环境管理要求" type="textarea"/>
33
+          </el-form-item>
34
+          <el-form-item label="安全生产与职业健康要求" prop="outsideComment" :disabled="taskName != '安全交底'">
35
+            <el-input v-model="form.outsideComment" placeholder="请输入安全生产与职业健康要求" type="textarea"/>
36
+          </el-form-item>
37
+          <el-form-item label="信息安全管理要求" prop="insideComment" :disabled="taskName != '安全交底'">
38
+            <el-input v-model="form.insideComment" placeholder="请输入信息安全管理要求" type="textarea"/>
39
+          </el-form-item>
40
+          <el-form-item label="安全交底意见" prop="disclosureComment" :disabled="taskName != '安全交底'">
41
+            <el-input v-model="form.disclosureComment" placeholder="请输入安全交底意见" />
42
+          </el-form-item>
43
+          <el-form-item label="安全交底人" prop="disclosurer">
44
+            {{ form.disclosurerUser ? form.disclosurerUser.nickName : form.user.nickName }}
45
+          </el-form-item>
46
+          <el-form-item label="安全交底时间" prop="disclosureTime">
47
+            <el-date-picker clearable v-model="form.disclosureTime" type="date" value-format="yyyy-MM-dd"
48
+              placeholder="选择日期" :disabled="taskName != '安全交底'">
49
+            </el-date-picker>
50
+          </el-form-item>
51
+          <el-form-item label="接受交底意见" prop="disclosureComment" v-if="taskName == '接受交底'">
52
+            <el-input :disabled="true" placeholder="按要求进行作业" />
53
+          </el-form-item>
54
+          <el-form-item label="接受交底时间" prop="acceptTime" v-if="taskName == '接受交底'">
55
+            <el-date-picker clearable v-model="form.acceptTime" type="date" value-format="yyyy-MM-dd" placeholder="选择日期"
56
+              :disabled="taskName != '接受交底'">
57
+            </el-date-picker>
58
+          </el-form-item>
59
+        </el-form>
60
+        <div style="text-align: center;">
61
+          <el-button type="primary" @click="submitForm">确 定</el-button>
62
+          <el-button @click="cancel">取 消</el-button>
63
+        </div>
64
+      </el-col>
65
+      <el-col :span="6" :xs="24">
66
+        <el-card>
67
+          <h2 style="text-align: center;">流程进度</h2>
68
+          <div>
69
+            <flow :flowData="flowData" />
70
+          </div>
71
+        </el-card>
72
+      </el-col>
73
+    </el-row>
74
+  </div>
75
+</template>
76
+
77
+<script>
78
+import { listSafe, getSafe, delSafe, addSafe, updateSafe } from "@/api/oa/safe/safe";
79
+import { getProject } from "@/api/oa/project/project";
80
+import { listUser } from '@/api/system/user';
81
+import flow from '@/views/flowable/task/todo/detail/flow';
82
+import { complete, getNextFlowNode } from "@/api/flowable/todo";
83
+import { flowXmlAndNode } from "@/api/flowable/definition";
84
+
85
+export default {
86
+  components: {
87
+    flow
88
+  },
89
+  name: "Safe",
90
+  props: {
91
+    taskName: {
92
+      type: String,
93
+      required: true
94
+    },
95
+    taskForm: {
96
+      type: Object,
97
+      required: true
98
+    }
99
+  },
100
+  data() {
101
+    return {
102
+      // 遮罩层
103
+      loading: true,
104
+      // 选中数组
105
+      ids: [],
106
+      // 非单个禁用
107
+      single: true,
108
+      // 非多个禁用
109
+      multiple: true,
110
+      // 显示搜索条件
111
+      showSearch: true,
112
+      // 总条数
113
+      total: 0,
114
+      // cmc安全交底表格数据
115
+      safeList: [],
116
+      // 弹出层标题
117
+      title: "",
118
+      // 是否显示弹出层
119
+      open: false,
120
+      // 查询参数
121
+      queryParams: {
122
+        pageNum: 1,
123
+        pageSize: 10,
124
+        projectId: null,
125
+        disclosureAccepter: null,
126
+        disclosurer: null,
127
+        environmentComment: null,
128
+        outsideComment: null,
129
+        insideComment: null,
130
+        disclosureComment: null,
131
+        disclosureTime: null,
132
+        acceptTime: null
133
+      },
134
+      disclosureTime: undefined,
135
+      acceptTime: undefined,
136
+      userList: [],
137
+      chooseProject: {},
138
+      isSelect: false,
139
+      // 表单参数
140
+      form: {
141
+        user: {
142
+          nickName: '',
143
+        }
144
+      },
145
+      // 表单校验
146
+      rules: {
147
+      },
148
+      flowData: {}
149
+    };
150
+  },
151
+  created() {
152
+    this.form.disclosureTime = new Date();
153
+    this.form.acceptTime = new Date();
154
+    this.form.user.nickName = this.$store.getters.name;
155
+    this.getProjectById();
156
+    this.getUserList();
157
+    this.getList();
158
+    flowXmlAndNode({ procInsId: this.taskForm.procInsId, deployId: this.taskForm.deployId }).then(res => {
159
+      this.flowData = res.data;
160
+    })
161
+  },
162
+  mounted() {
163
+    this.initForm();
164
+  },
165
+  methods: {
166
+    initForm() {
167
+      getSafe(this.taskForm.formId).then(res => {
168
+        if (this.isEmptyObject(res.data)) {
169
+          this.form.disclosurer = this.$store.getters.userId;
170
+          this.form.disclosureTime = new Date();
171
+        }
172
+        else {
173
+          this.form = res.data;
174
+        }
175
+      })
176
+    },
177
+    // 查询项目
178
+    getProjectById() {
179
+      getProject(this.$route.query.formId).then(response => {
180
+        this.chooseProject = response.data;
181
+        this.isSelect = true
182
+      });
183
+    },
184
+    // 查询用户列表
185
+    getUserList() {
186
+      listUser({ pageSize: 9999, pageNum: 1 }).then(res => {
187
+        this.userList = res.rows
188
+      })
189
+    },
190
+    /** 查询cmc安全交底列表 */
191
+    getList() {
192
+      this.loading = true;
193
+      listSafe(this.queryParams).then(response => {
194
+        this.safeList = response.rows;
195
+        this.total = response.total;
196
+        this.loading = false;
197
+      });
198
+    },
199
+    // 取消按钮
200
+    cancel() {
201
+      this.open = false;
202
+      this.reset();
203
+    },
204
+    isEmptyObject(obj) {
205
+      for (var key in obj) {
206
+        if (obj.hasOwnProperty(key)) {
207
+          return false;
208
+        }
209
+      }
210
+      return true;
211
+    },
212
+    // 表单重置
213
+    reset() {
214
+      this.form = {
215
+        safeId: null,
216
+        projectId: null,
217
+        disclosureAccepter: null,
218
+        disclosurer: null,
219
+        environmentComment: null,
220
+        outsideComment: null,
221
+        insideComment: null,
222
+        disclosureComment: null,
223
+        disclosureTime: null,
224
+        acceptTime: null
225
+      };
226
+      this.resetForm("form");
227
+    },
228
+    /** 搜索按钮操作 */
229
+    handleQuery() {
230
+      this.queryParams.pageNum = 1;
231
+      this.getList();
232
+    },
233
+    /** 重置按钮操作 */
234
+    resetQuery() {
235
+      this.resetForm("queryForm");
236
+      this.handleQuery();
237
+    },
238
+    // 多选框选中数据
239
+    handleSelectionChange(selection) {
240
+      this.ids = selection.map(item => item.safeId)
241
+      this.single = selection.length !== 1
242
+      this.multiple = !selection.length
243
+    },
244
+    /** 新增按钮操作 */
245
+    handleAdd() {
246
+      this.reset();
247
+      this.open = true;
248
+      this.title = "添加cmc安全交底";
249
+    },
250
+    /** 修改按钮操作 */
251
+    handleUpdate(row) {
252
+      this.reset();
253
+      const safeId = row.safeId || this.ids
254
+      getSafe(safeId).then(response => {
255
+        this.form = response.data;
256
+        this.open = true;
257
+        this.title = "修改cmc安全交底";
258
+      });
259
+    },
260
+    /** 提交按钮 */
261
+    submitForm() {
262
+      this.$refs["form"].validate(valid => {
263
+        if (valid) {
264
+          if (this.form.safeId != null) {
265
+            updateSafe(this.form).then(response => {
266
+              this.$modal.msgSuccess("修改成功");
267
+              this.open = false;
268
+              this.getList();
269
+            });
270
+            const params = { taskId: this.taskForm.taskId };
271
+            getNextFlowNode(params).then(res => {
272
+              complete(this.taskForm).then(response => {
273
+                this.$modal.msgSuccess(response.msg);
274
+                this.$emit('goBack')
275
+              });
276
+            })
277
+          } else {
278
+            this.form.safeId = this.taskForm.formId;
279
+            addSafe(this.form).then(response => {
280
+              this.$modal.msgSuccess("新增成功");
281
+              this.open = false;
282
+              this.getList();
283
+            });
284
+            const params = { taskId: this.taskForm.taskId };
285
+            getNextFlowNode(params).then(res => {
286
+              this.$set(this.taskForm.variables, "formId", this.taskForm.formId);
287
+              this.$set(this.taskForm.variables, "approval", this.form.disclosureAccepter);
288
+              complete(this.taskForm).then(response => {
289
+                this.$modal.msgSuccess(response.msg);
290
+                this.$emit('goBack')
291
+              });
292
+            })
293
+          }
294
+        }
295
+      });
296
+    },
297
+    /** 删除按钮操作 */
298
+    handleDelete(row) {
299
+      const safeIds = row.safeId || this.ids;
300
+      this.$modal.confirm('是否确认删除cmc安全交底编号为"' + safeIds + '"的数据项?').then(function () {
301
+        return delSafe(safeIds);
302
+      }).then(() => {
303
+        this.getList();
304
+        this.$modal.msgSuccess("删除成功");
305
+      }).catch(() => { });
306
+    },
307
+    /** 导出按钮操作 */
308
+    handleExport() {
309
+      this.download('oa/safe/export', {
310
+        ...this.queryParams
311
+      }, `safe_${new Date().getTime()}.xlsx`)
312
+    }
313
+  }
314
+};
315
+</script>

+ 6
- 3
oa-ui/src/views/flowable/task/todo/detail/index.vue Näytä tiedosto

@@ -31,7 +31,8 @@
31 31
           <project-process :taskName="taskName" :taskForm="taskForm" v-else-if="taskForm.procDefName == '项目流转'"
32 32
             @goBack="goBack"></project-process>
33 33
           <add-budget :taskName="taskName" :taskForm="taskForm" v-else-if="taskForm.procDefName == '项目预算'" @goBack="goBack"></add-budget>
34
-          <borrow-form :taskName="taskName" :taskForm="taskForm" v-else-if="taskForm.procDefName == '借款审批'" @goBack="goBack"></borrow-form>          
34
+          <borrow-form :taskName="taskName" :taskForm="taskForm" v-else-if="taskForm.procDefName == '借款审批'" @goBack="goBack"></borrow-form>
35
+          <safe-form :taskName="taskName" :taskForm="taskForm" v-else-if="taskForm.procDefName == '安全交底'" @goBack="goBack"></safe-form>
35 36
           <el-row type="flex" justify="center" v-show="isShowApprove()">
36 37
             <el-button v-if="!formKeyExist" icon="el-icon-edit-outline" type="success" size="mini"
37 38
               @click="handleComplete">审核通过
@@ -181,6 +182,7 @@ import deviceForm from "@/views/flowable/form/deviceForm";
181 182
 import projectProcess from "@/views/flowable/form/projectProcess/index.vue"
182 183
 import AddBudget from '@/views/oa/budget/addBudget.vue';
183 184
 import borrowForm from '@/views/flowable/form/borrowForm.vue';
185
+import safeForm from '@/views/flowable/form/safeForm.vue';
184 186
 
185 187
 export default {
186 188
   name: "Record",
@@ -199,7 +201,8 @@ export default {
199 201
     deviceForm,
200 202
     projectProcess,
201 203
     AddBudget,
202
-    borrowForm
204
+    borrowForm,
205
+    safeForm
203 206
   },
204 207
   props: {},
205 208
   data() {
@@ -557,7 +560,7 @@ export default {
557 560
     isShowApprove() {
558 561
       if (this.taskName == '员工填报' || this.taskForm.procDefName == '用车审批'
559 562
        || this.taskForm.procDefName == '用车审批(工会)' || this.taskForm.procDefName == '设备审批'|| this.taskForm.procDefName == '项目流转'
560
-       || this.taskForm.procDefName == '项目预算') {
563
+       || this.taskForm.procDefName == '项目预算'|| this.taskForm.procDefName == '借款审批'|| this.taskForm.procDefName == '安全交底') {
561 564
         return false
562 565
       } else {
563 566
         return true

Loading…
Peruuta
Tallenna