瀏覽代碼

实现安全交底流程

lamphua 1 年之前
父節點
當前提交
ca58911b03

+ 6
- 6
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcBudgetStaff.java 查看文件

33
 
33
 
34
     /** 固定成本 */
34
     /** 固定成本 */
35
     @Excel(name = "固定成本")
35
     @Excel(name = "固定成本")
36
-    private BigDecimal fixCost;
36
+    private BigDecimal staffCost;
37
 
37
 
38
     /** 进出场单价 */
38
     /** 进出场单价 */
39
     @Excel(name = "进出场单价")
39
     @Excel(name = "进出场单价")
79
     {
79
     {
80
         return days;
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
     public void setInOutPrice(BigDecimal inOutPrice) 
91
     public void setInOutPrice(BigDecimal inOutPrice) 
92
     {
92
     {
114
             .append("budgetId", getBudgetId())
114
             .append("budgetId", getBudgetId())
115
             .append("userId", getUserId())
115
             .append("userId", getUserId())
116
             .append("days", getDays())
116
             .append("days", getDays())
117
-            .append("fixCost", getFixCost())
117
+            .append("staffCost", getStaffCost())
118
             .append("inOutPrice", getInOutPrice())
118
             .append("inOutPrice", getInOutPrice())
119
             .append("inOutExpense", getInOutExpense())
119
             .append("inOutExpense", getInOutExpense())
120
             .toString();
120
             .toString();

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

2
 
2
 
3
 import java.util.Date;
3
 import java.util.Date;
4
 import com.fasterxml.jackson.annotation.JsonFormat;
4
 import com.fasterxml.jackson.annotation.JsonFormat;
5
+import com.ruoyi.common.core.domain.entity.SysUser;
5
 import org.apache.commons.lang3.builder.ToStringBuilder;
6
 import org.apache.commons.lang3.builder.ToStringBuilder;
6
 import org.apache.commons.lang3.builder.ToStringStyle;
7
 import org.apache.commons.lang3.builder.ToStringStyle;
7
 import com.ruoyi.common.annotation.Excel;
8
 import com.ruoyi.common.annotation.Excel;
28
     @Excel(name = "接受交底人")
29
     @Excel(name = "接受交底人")
29
     private Long disclosureAccepter;
30
     private Long disclosureAccepter;
30
 
31
 
32
+    private SysUser disclosureAccepterUser;
33
+
31
     /** 安全交底人 */
34
     /** 安全交底人 */
32
     @Excel(name = "安全交底人")
35
     @Excel(name = "安全交底人")
33
     private Long disclosurer;
36
     private Long disclosurer;
34
 
37
 
38
+    private SysUser disclosurerUser;
39
+
35
     /** 环境要求 */
40
     /** 环境要求 */
36
     @Excel(name = "环境要求")
41
     @Excel(name = "环境要求")
37
     private String environmentComment;
42
     private String environmentComment;
85
     {
90
     {
86
         return disclosureAccepter;
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
     public void setDisclosurer(Long disclosurer) 
102
     public void setDisclosurer(Long disclosurer) 
89
     {
103
     {
90
         this.disclosurer = disclosurer;
104
         this.disclosurer = disclosurer;
94
     {
108
     {
95
         return disclosurer;
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
     public void setEnvironmentComment(String environmentComment) 
121
     public void setEnvironmentComment(String environmentComment) 
98
     {
122
     {
99
         this.environmentComment = environmentComment;
123
         this.environmentComment = environmentComment;

+ 6
- 6
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcBudgetStaffMapper.xml 查看文件

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

+ 25
- 11
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcSafeMapper.xml 查看文件

15
         <result property="disclosureComment"    column="disclosure_comment"    />
15
         <result property="disclosureComment"    column="disclosure_comment"    />
16
         <result property="disclosureTime"    column="disclosure_time"    />
16
         <result property="disclosureTime"    column="disclosure_time"    />
17
         <result property="acceptTime"    column="accept_time"    />
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
     </resultMap>
30
     </resultMap>
19
 
31
 
20
     <sql id="selectCmcSafeVo">
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
     </sql>
36
     </sql>
23
 
37
 
24
     <select id="selectCmcSafeList" parameterType="CmcSafe" resultMap="CmcSafeResult">
38
     <select id="selectCmcSafeList" parameterType="CmcSafe" resultMap="CmcSafeResult">
25
         <include refid="selectCmcSafeVo"/>
39
         <include refid="selectCmcSafeVo"/>
26
         <where>  
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
         </where>
50
         </where>
37
     </select>
51
     </select>
38
     
52
     
39
     <select id="selectCmcSafeBySafeId" parameterType="String" resultMap="CmcSafeResult">
53
     <select id="selectCmcSafeBySafeId" parameterType="String" resultMap="CmcSafeResult">
40
         <include refid="selectCmcSafeVo"/>
54
         <include refid="selectCmcSafeVo"/>
41
-        where safe_id = #{safeId}
55
+        where s.safe_id = #{safeId}
42
     </select>
56
     </select>
43
         
57
         
44
     <insert id="insertCmcSafe" parameterType="CmcSafe">
58
     <insert id="insertCmcSafe" parameterType="CmcSafe">

+ 3
- 3
oa-back/sql/sql.sql 查看文件

3852
   `project_id` 			char(19)  		default null comment '项目id',
3852
   `project_id` 			char(19)  		default null comment '项目id',
3853
   `disclosure_accepter` bigint  		default null comment '接受交底人',
3853
   `disclosure_accepter` bigint  		default null comment '接受交底人',
3854
   `disclosurer` 		bigint  		default null comment '安全交底人',
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
   `disclosure_comment` 	varchar(255)  	default null comment '安全交底意见',
3858
   `disclosure_comment` 	varchar(255)  	default null comment '安全交底意见',
3859
   `disclosure_time` 	datetime  		default null comment '安全交底时间',
3859
   `disclosure_time` 	datetime  		default null comment '安全交底时间',
3860
   `accept_time` 		datetime  		default null comment '接受交底时间',
3860
   `accept_time` 		datetime  		default null comment '接受交底时间',

+ 125
- 99
oa-ui/src/views/flowable/form/borrowForm.vue 查看文件

1
 <template>
1
 <template>
2
   <div class="app-container">
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
   </div>
118
   </div>
102
 </template>
119
 </template>
103
 
120
 
104
 <script>
121
 <script>
105
 import { listBorrow, getBorrow, delBorrow, addBorrow, updateBorrow } from "@/api/oa/borrow/borrow";
122
 import { listBorrow, getBorrow, delBorrow, addBorrow, updateBorrow } from "@/api/oa/borrow/borrow";
106
 import { listProject, getProject } from "@/api/oa/project/project";
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
 export default {
127
 export default {
128
+  components: {
129
+    flow
130
+  },
109
   name: "Borrow",
131
   name: "Borrow",
110
   props: {
132
   props: {
111
     taskName: {
133
     taskName: {
179
       },
201
       },
180
       // 表单校验
202
       // 表单校验
181
       rules: {
203
       rules: {
182
-      }
204
+      },
205
+      flowData: {}
183
     };
206
     };
184
   },
207
   },
185
   created() {
208
   created() {
188
     this.form.dept.deptName = this.$store.getters.deptName;
211
     this.form.dept.deptName = this.$store.getters.deptName;
189
     this.getProjectList();
212
     this.getProjectList();
190
     this.getList();
213
     this.getList();
214
+    flowXmlAndNode({ procInsId: this.taskForm.procInsId, deployId: this.taskForm.deployId }).then(res => {
215
+      this.flowData = res.data;
216
+    })
191
   },
217
   },
192
   methods: {
218
   methods: {
193
     /** 查询cmc借款申请列表 */
219
     /** 查询cmc借款申请列表 */

+ 315
- 0
oa-ui/src/views/flowable/form/safeForm.vue 查看文件

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 查看文件

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

Loading…
取消
儲存