Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/master'

jiangbiao 2 gadi atpakaļ
vecāks
revīzija
9a73840872

+ 7 - 7
master/src/main/java/com/ruoyi/project/production/controller/TSaiApplyController.java

@@ -116,7 +116,7 @@ public class TSaiApplyController extends BaseController
         tSaiApply.setCreateTime(new Date());
         tSaiApply.setCreateBy(userId);
         tSaiApply.setDeptId(103L);
-        tSaiApply.setApplyStatus("0");
+        tSaiApply.setApplyStatus(0);
         return toAjax(tSaiApplyService.insertTSaiApply(tSaiApply));
     }
 
@@ -142,7 +142,7 @@ public class TSaiApplyController extends BaseController
         variables.put("executor", "20276");
         variables.put("inspectors", "20276");
         // 修改状态为待评估
-        tSaiApply.setApplyStatus("1");
+        tSaiApply.setApplyStatus(1);
         //采用key来启动流程定义并设置流程变量,返回流程实例
         ProcessInstance pi = runtimeService.startProcessInstanceByKey("saiApplyProcess", String.valueOf(businessKey), variables);
         logger.info("流程定义id:" + pi.getProcessDefinitionId());
@@ -193,10 +193,10 @@ public class TSaiApplyController extends BaseController
                     // 指定执行人
 //                    param.put("executor", form.getExecutor());
                     // 修改状态为进行中
-                    form.setApplyStatus("2");
+                    form.setApplyStatus(2);
                 } else {
                     // 修改状态为已中止
-                    form.setApplyStatus("5");
+                    form.setApplyStatus(5);
                     form.setTaskId(null);
                     form.setTaskName(null);
                 }
@@ -205,17 +205,17 @@ public class TSaiApplyController extends BaseController
                 // 指定验收人
 //                param.put("inspectors", form.getInspectors());
                 // 修改状态为待验收
-                form.setApplyStatus("3");
+                form.setApplyStatus(3);
                 break;
             case "验收":
                 if ("1".equals(condition)) {
                     // 修改状态为已完成
-                    form.setApplyStatus("4");
+                    form.setApplyStatus(4);
                     form.setTaskId(null);
                     form.setTaskName(null);
                 } else {
                     // 修改状态为进行中
-                    form.setApplyStatus("2");
+                    form.setApplyStatus(2);
                 }
                 break;
         }

+ 180 - 46
master/src/main/java/com/ruoyi/project/production/domain/TSaiApply.java

@@ -11,7 +11,7 @@ import org.apache.commons.lang3.builder.ToStringStyle;
  * SAI开项管理对象 t_sai_apply
  *
  * @author ruoyi
- * @date 2023-03-17
+ * @date 2023-03-21
  */
 public class TSaiApply extends BaseEntity
 {
@@ -30,7 +30,7 @@ public class TSaiApply extends BaseEntity
 
     /** 申请状态 */
     @Excel(name = "申请状态")
-    private String applyStatus;
+    private long applyStatus;
 
     /** 申请编号 */
     @Excel(name = "申请编号")
@@ -40,14 +40,6 @@ public class TSaiApply extends BaseEntity
     @Excel(name = "流程id")
     private String processId;
 
-    /** 是否通过评估 */
-    @Excel(name = "是否通过评估")
-    private String isPassAssess;
-
-    /** 是否通过验收 */
-    @Excel(name = "是否通过验收")
-    private String isPassInspect;
-
     /** 申请人 */
     @Excel(name = "申请人")
     private String applicant;
@@ -89,27 +81,59 @@ public class TSaiApply extends BaseEntity
     @Excel(name = "记录日期", width = 30, dateFormat = "yyyy-MM-dd")
     private Date applyDate;
 
-    /** 待办任务ID */
+    /** 当前处理人 */
+    @Excel(name = "当前处理人")
+    private String handler;
+
+    /** 任务编号 */
+    @Excel(name = "任务编号")
     private String taskId;
 
-    /** 待办任务name */
+    /** 任务名称 */
+    @Excel(name = "任务名称")
     private String taskName;
 
-    public String getTaskId() {
-        return taskId;
-    }
+    /** 预计完成时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "预计完成时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date estimateFinishDate;
 
-    public void setTaskId(String taskId) {
-        this.taskId = taskId;
-    }
+    /** 实际完成时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "实际完成时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date actualFinishDate;
 
-    public String getTaskName() {
-        return taskName;
-    }
+    /** 是否录入开项系统 */
+    @Excel(name = "是否录入开项系统")
+    private Long isRecorded;
 
-    public void setTaskName(String taskName) {
-        this.taskName = taskName;
-    }
+    /** 开项编号 */
+    @Excel(name = "开项编号")
+    private String recordNo;
+
+    /** 采取的措施 */
+    @Excel(name = "采取的措施")
+    private String reaction;
+
+    /** 是否需要VE验证 */
+    @Excel(name = "是否需要VE验证")
+    private Long needVe;
+
+    /** VE验证条款 */
+    @Excel(name = "VE验证条款")
+    private String veItems;
+
+    /** VC/VE验证成果 */
+    @Excel(name = "VC/VE验证成果")
+    private String veResult;
+
+    /** 备注 */
+    @Excel(name = "备注")
+    private String remarks;
+
+    /** VC/VE验证条款(其它) */
+    @Excel(name = "VC/VE验证条款", readConverterExp = "其=它")
+    private String veItemOther;
 
     public void setSaiApplyId(Long saiApplyId)
     {
@@ -138,12 +162,12 @@ public class TSaiApply extends BaseEntity
     {
         return deptId;
     }
-    public void setApplyStatus(String applyStatus)
+    public void setApplyStatus(long applyStatus)
     {
         this.applyStatus = applyStatus;
     }
 
-    public String getApplyStatus()
+    public long getApplyStatus()
     {
         return applyStatus;
     }
@@ -165,24 +189,6 @@ public class TSaiApply extends BaseEntity
     {
         return processId;
     }
-    public void setIsPassAssess(String isPassAssess)
-    {
-        this.isPassAssess = isPassAssess;
-    }
-
-    public String getIsPassAssess()
-    {
-        return isPassAssess;
-    }
-    public void setIsPassInspect(String isPassInspect)
-    {
-        this.isPassInspect = isPassInspect;
-    }
-
-    public String getIsPassInspect()
-    {
-        return isPassInspect;
-    }
     public void setApplicant(String applicant)
     {
         this.applicant = applicant;
@@ -273,6 +279,123 @@ public class TSaiApply extends BaseEntity
     {
         return applyDate;
     }
+    public void setHandler(String handler)
+    {
+        this.handler = handler;
+    }
+
+    public String getHandler()
+    {
+        return handler;
+    }
+    public void setTaskId(String taskId)
+    {
+        this.taskId = taskId;
+    }
+
+    public String getTaskId()
+    {
+        return taskId;
+    }
+    public void setTaskName(String taskName)
+    {
+        this.taskName = taskName;
+    }
+
+    public String getTaskName()
+    {
+        return taskName;
+    }
+    public void setEstimateFinishDate(Date estimateFinishDate)
+    {
+        this.estimateFinishDate = estimateFinishDate;
+    }
+
+    public Date getEstimateFinishDate()
+    {
+        return estimateFinishDate;
+    }
+    public void setActualFinishDate(Date actualFinishDate)
+    {
+        this.actualFinishDate = actualFinishDate;
+    }
+
+    public Date getActualFinishDate()
+    {
+        return actualFinishDate;
+    }
+    public void setIsRecorded(Long isRecorded)
+    {
+        this.isRecorded = isRecorded;
+    }
+
+    public Long getIsRecorded()
+    {
+        return isRecorded;
+    }
+    public void setRecordNo(String recordNo)
+    {
+        this.recordNo = recordNo;
+    }
+
+    public String getRecordNo()
+    {
+        return recordNo;
+    }
+    public void setReaction(String reaction)
+    {
+        this.reaction = reaction;
+    }
+
+    public String getReaction()
+    {
+        return reaction;
+    }
+    public void setNeedVe(Long needVe)
+    {
+        this.needVe = needVe;
+    }
+
+    public Long getNeedVe()
+    {
+        return needVe;
+    }
+    public void setVeItems(String veItems)
+    {
+        this.veItems = veItems;
+    }
+
+    public String getVeItems()
+    {
+        return veItems;
+    }
+    public void setVeResult(String veResult)
+    {
+        this.veResult = veResult;
+    }
+
+    public String getVeResult()
+    {
+        return veResult;
+    }
+    public void setRemarks(String remarks)
+    {
+        this.remarks = remarks;
+    }
+
+    public String getRemarks()
+    {
+        return remarks;
+    }
+    public void setVeItemOther(String veItemOther)
+    {
+        this.veItemOther = veItemOther;
+    }
+
+    public String getVeItemOther()
+    {
+        return veItemOther;
+    }
 
     @Override
     public String toString() {
@@ -287,8 +410,6 @@ public class TSaiApply extends BaseEntity
             .append("applyStatus", getApplyStatus())
             .append("apNo", getApNo())
             .append("processId", getProcessId())
-            .append("isPassAssess", getIsPassAssess())
-            .append("isPassInspect", getIsPassInspect())
             .append("applicant", getApplicant())
             .append("assessor", getAssessor())
             .append("executor", getExecutor())
@@ -299,6 +420,19 @@ public class TSaiApply extends BaseEntity
             .append("unsafeStatus", getUnsafeStatus())
             .append("unsafeAction", getUnsafeAction())
             .append("applyDate", getApplyDate())
+            .append("handler", getHandler())
+            .append("taskId", getTaskId())
+            .append("taskName", getTaskName())
+            .append("estimateFinishDate", getEstimateFinishDate())
+            .append("actualFinishDate", getActualFinishDate())
+            .append("isRecorded", getIsRecorded())
+            .append("recordNo", getRecordNo())
+            .append("reaction", getReaction())
+            .append("needVe", getNeedVe())
+            .append("veItems", getVeItems())
+            .append("veResult", getVeResult())
+            .append("remarks", getRemarks())
+            .append("veItemOther", getVeItemOther())
             .toString();
     }
 }

+ 58 - 12
master/src/main/resources/mybatis/production/TSaiApplyMapper.xml

@@ -15,8 +15,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="applyStatus"    column="apply_status"    />
         <result property="apNo"    column="ap_no"    />
         <result property="processId"    column="process_id"    />
-        <result property="isPassAssess"    column="is_pass_assess"    />
-        <result property="isPassInspect"    column="is_pass_inspect"    />
         <result property="applicant"    column="applicant"    />
         <result property="assessor"    column="assessor"    />
         <result property="executor"    column="executor"    />
@@ -29,12 +27,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="applyDate"    column="apply_date"    />
         <result property="taskId"    column="task_id"    />
         <result property="taskName"    column="task_name"    />
+        <result property="handler"    column="handler"    />
+        <result property="estimateFinishDate"    column="estimate_finish_date"    />
+        <result property="actualFinishDate"    column="actual_finish_date"    />
+        <result property="isRecorded"    column="is_recorded"    />
+        <result property="recordNo"    column="record_no"    />
+        <result property="reaction"    column="reaction"    />
+        <result property="needVe"    column="need_ve"    />
+        <result property="veItems"    column="ve_items"    />
+        <result property="veResult"    column="ve_result"    />
+        <result property="remarks"    column="remarks"    />
+        <result property="veItemOther"    column="ve_item_other"    />
     </resultMap>
 
     <sql id="selectTSaiApplyVo">
         select d.sai_apply_id, d.del_flag, d.create_by, d.create_time, d.update_by, d.update_time, d.dept_id, d.apply_status, d.ap_no, d.process_id,
-        d.is_pass_assess, d.is_pass_inspect, d.applicant, d.assessor, d.executor, d.inspectors, d.applicant_dept, d.applicant_team, d.description,
-        d.unsafe_status, d.unsafe_action, d.apply_date, d.task_id, d.task_name
+        d.applicant, d.assessor, d.executor, d.inspectors, d.applicant_dept, d.applicant_team, d.description,
+        d.unsafe_status, d.unsafe_action, d.apply_date, d.task_id, d.task_name,d.remarks, d.ve_item_other,
+        d.handler, d.estimate_finish_date, d.actual_finish_date, d.is_recorded, d.record_no, d.reaction, d.need_ve, d.ve_items, d.ve_result
         from t_sai_apply d
         left join sys_dept s on s.dept_id = d.dept_id
     </sql>
@@ -47,8 +57,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="applyStatus != null  and applyStatus != ''"> and apply_status = #{applyStatus}</if>
             <if test="apNo != null  and apNo != ''"> and ap_no = #{apNo}</if>
             <if test="processId != null  and processId != ''"> and process_id = #{processId}</if>
-            <if test="isPassAssess != null  and isPassAssess != ''"> and is_pass_assess = #{isPassAssess}</if>
-            <if test="isPassInspect != null  and isPassInspect != ''"> and is_pass_inspect = #{isPassInspect}</if>
             <if test="applicant != null  and applicant != ''"> and applicant = #{applicant}</if>
             <if test="assessor != null  and assessor != ''"> and assessor = #{assessor}</if>
             <if test="executor != null  and executor != ''"> and executor = #{executor}</if>
@@ -61,6 +69,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="applyDate != null "> and apply_date = #{applyDate}</if>
             <if test="taskId != null  and taskId != ''"> and task_id = #{taskId}</if>
             <if test="taskName != null  and taskName != ''"> and task_name like concat(concat('%', #{taskName}), '%')</if>
+            <if test="handler != null  and handler != ''"> and handler = #{handler}</if>
+            <if test="estimateFinishDate != null "> and estimate_finish_date = #{estimateFinishDate}</if>
+            <if test="actualFinishDate != null "> and actual_finish_date = #{actualFinishDate}</if>
+            <if test="isRecorded != null "> and is_recorded = #{isRecorded}</if>
+            <if test="recordNo != null  and recordNo != ''"> and record_no = #{recordNo}</if>
+            <if test="reaction != null  and reaction != ''"> and reaction = #{reaction}</if>
+            <if test="needVe != null "> and need_ve = #{needVe}</if>
+            <if test="veItems != null  and veItems != ''"> and ve_items = #{veItems}</if>
+            <if test="veResult != null  and veResult != ''"> and ve_result = #{veResult}</if>
+            <if test="remarks != null  and remarks != ''"> and remarks = #{remarks}</if>
+            <if test="veItemOther != null  and veItemOther != ''"> and ve_item_other = #{veItemOther}</if>
             and d.del_flag = 0
         </where>
         <!-- 数据范围过滤 -->
@@ -88,8 +107,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="applyStatus != null">apply_status,</if>
             <if test="apNo != null">ap_no,</if>
             <if test="processId != null">process_id,</if>
-            <if test="isPassAssess != null">is_pass_assess,</if>
-            <if test="isPassInspect != null">is_pass_inspect,</if>
             <if test="applicant != null">applicant,</if>
             <if test="assessor != null">assessor,</if>
             <if test="executor != null">executor,</if>
@@ -102,6 +119,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="applyDate != null">apply_date,</if>
             <if test="taskId != null">task_id,</if>
             <if test="taskName != null">task_name,</if>
+            <if test="handler != null">handler,</if>
+            <if test="estimateFinishDate != null">estimate_finish_date,</if>
+            <if test="actualFinishDate != null">actual_finish_date,</if>
+            <if test="isRecorded != null">is_recorded,</if>
+            <if test="recordNo != null">record_no,</if>
+            <if test="reaction != null">reaction,</if>
+            <if test="needVe != null">need_ve,</if>
+            <if test="veItems != null">ve_items,</if>
+            <if test="veResult != null">ve_result,</if>
+            <if test="remarks != null">remarks,</if>
+            <if test="veItemOther != null">ve_item_other,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="saiApplyId != null">#{saiApplyId},</if>
@@ -114,8 +142,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="applyStatus != null">#{applyStatus},</if>
             <if test="apNo != null">#{apNo},</if>
             <if test="processId != null">#{processId},</if>
-            <if test="isPassAssess != null">#{isPassAssess},</if>
-            <if test="isPassInspect != null">#{isPassInspect},</if>
             <if test="applicant != null">#{applicant},</if>
             <if test="assessor != null">#{assessor},</if>
             <if test="executor != null">#{executor},</if>
@@ -128,6 +154,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="applyDate != null">#{applyDate},</if>
             <if test="taskId != null">#{taskId},</if>
             <if test="taskName != null">#{taskName},</if>
+            <if test="handler != null">#{handler},</if>
+            <if test="estimateFinishDate != null">#{estimateFinishDate},</if>
+            <if test="actualFinishDate != null">#{actualFinishDate},</if>
+            <if test="isRecorded != null">#{isRecorded},</if>
+            <if test="recordNo != null">#{recordNo},</if>
+            <if test="reaction != null">#{reaction},</if>
+            <if test="needVe != null">#{needVe},</if>
+            <if test="veItems != null">#{veItems},</if>
+            <if test="veResult != null">#{veResult},</if>
+            <if test="remarks != null">#{remarks},</if>
+            <if test="veItemOther != null">#{veItemOther},</if>
          </trim>
     </insert>
 
@@ -143,8 +180,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="applyStatus != null">apply_status = #{applyStatus},</if>
             <if test="apNo != null">ap_no = #{apNo},</if>
             <if test="processId != null">process_id = #{processId},</if>
-            <if test="isPassAssess != null">is_pass_assess = #{isPassAssess},</if>
-            <if test="isPassInspect != null">is_pass_inspect = #{isPassInspect},</if>
             <if test="applicant != null">applicant = #{applicant},</if>
             <if test="assessor != null">assessor = #{assessor},</if>
             <if test="executor != null">executor = #{executor},</if>
@@ -159,6 +194,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="taskId == null">task_id = null,</if>
             <if test="taskName != null">task_name = #{taskName},</if>
             <if test="taskName == null">task_name = null,</if>
+            <if test="handler != null">handler = #{handler},</if>
+            <if test="estimateFinishDate != null">estimate_finish_date = #{estimateFinishDate},</if>
+            <if test="actualFinishDate != null">actual_finish_date = #{actualFinishDate},</if>
+            <if test="isRecorded != null">is_recorded = #{isRecorded},</if>
+            <if test="recordNo != null">record_no = #{recordNo},</if>
+            <if test="reaction != null">reaction = #{reaction},</if>
+            <if test="needVe != null">need_ve = #{needVe},</if>
+            <if test="veItems != null">ve_items = #{veItems},</if>
+            <if test="veResult != null">ve_result = #{veResult},</if>
+            <if test="remarks != null">remarks = #{remarks},</if>
+            <if test="veItemOther != null">ve_item_other = #{veItemOther},</if>
         </trim>
         where sai_apply_id = #{saiApplyId}
     </update>

+ 208 - 13
ui/src/views/approve/approveDetail/sai-apply-detail.vue

@@ -1,14 +1,141 @@
 <template>
   <el-dialog
-    :title="!this.taskForm.taskId == '' ? $t('处理') : $t('详情')"
+    :title="!this.taskForm.taskId == '' ? $t('SAI开项管理申请单处理') : $t('SAI开项管理申请单详情')"
     :close-on-click-modal="false"
     :visible.sync="visible"
     :append-to-body="true"
     width="60%">
     <!-- SAI开项管理详细 -->
+    <el-form ref="form" :model="dataForm" :rules="rules" label-width="0px">
+      <div>
+        <h4>申请详情</h4>
+        <el-descriptions title="" :column="3" border>
+          <el-descriptions-item label="登记人部门">
+            <el-form-item label="" prop="applicantDept">
+              <el-input v-model="dataForm.applicantDept" placeholder="请输入登记人部门" />
+            </el-form-item>
+          </el-descriptions-item>
+          <el-descriptions-item label="登记人班组">
+            <el-form-item label="" prop="applicantTeam">
+              <el-input v-model="dataForm.applicantTeam" placeholder="请输入登记人班组" />
+            </el-form-item>
+          </el-descriptions-item>
+          <el-descriptions-item label="登记人">
+            <el-form-item label="" prop="applicant">
+              <el-input v-model="dataForm.applicant" placeholder="请输入登记人" />
+            </el-form-item>
+          </el-descriptions-item>
+          <el-descriptions-item label="问题描述" :span="3">
+            <el-form-item label="" prop="description">
+              <el-input v-model="dataForm.description" placeholder="请输入问题描述" />
+            </el-form-item>
+          </el-descriptions-item>
+          <el-descriptions-item label="附件" :span="3">
 
+          </el-descriptions-item>
+          <el-descriptions-item label="隐患" :span="3">
+            <el-form-item label="" prop="unsafeStatus">
+              <el-input v-model="dataForm.unsafeStatus" placeholder="请输入不安全状态" />
+            </el-form-item>
+            <el-form-item label="" prop="unsafeAction">
+              <el-input v-model="dataForm.unsafeAction" placeholder="请输入不安全行为" />
+            </el-form-item>
+          </el-descriptions-item>
+          <el-descriptions-item label="记录日期">
+            <el-form-item label="" prop="applyDate">
+              <el-date-picker clearable size="small" style="width: 200px"
+                              v-model="dataForm.applyDate"
+                              type="date"
+                              value-format="yyyy-MM-dd"
+                              placeholder="选择记录日期">
+              </el-date-picker>
+            </el-form-item>
+          </el-descriptions-item>
+        </el-descriptions>
+      </div>
+      <div v-if="showAssess">
+        <h4>评估详情</h4>
+        <el-descriptions title="" :column="3" border>
+          <el-descriptions-item label="预计完成时间" :span="3">
+            <el-form-item label="" prop="estimateFinishDate">
+              <el-date-picker clearable size="small" style="width: 200px"
+                              v-model="dataForm.estimateFinishDate"
+                              type="date"
+                              value-format="yyyy-MM-dd"
+                              placeholder="选择预计完成时间">
+              </el-date-picker>
+            </el-form-item>
+          </el-descriptions-item>
+          <el-descriptions-item label="是否录入开项系统">
+            <el-form-item label="" prop="isRecorded">
+              <el-input v-model="dataForm.isRecorded" placeholder="请输入是否录入开项系统" />
+            </el-form-item>
+          </el-descriptions-item>
+          <el-descriptions-item label="开项编号" :span="2">
+            <el-form-item label="" prop="recordNo">
+              <el-input v-model="dataForm.recordNo" placeholder="请输入开项编号" />
+            </el-form-item>
+          </el-descriptions-item>
+          <el-descriptions-item label="采取的措施" :span="3">
+            <el-form-item label="" prop="reaction">
+              <el-input v-model="dataForm.reaction" placeholder="请输入采取的措施" />
+            </el-form-item>
+          </el-descriptions-item>
+          <el-descriptions-item label="整改负责人" :span="3">
+            <el-form-item label="" prop="executor">
+              <el-input v-model="dataForm.executor" placeholder="请输入整改负责人" />
+            </el-form-item>
+          </el-descriptions-item>
+          <el-descriptions-item label="验证人" :span="3">
+            <el-form-item label="" prop="inspectors">
+              <el-input v-model="dataForm.inspectors" placeholder="请输入验证人" />
+            </el-form-item>
+          </el-descriptions-item>
+          <el-descriptions-item label="是否需要VE验证" :span="3">
+            <el-form-item label="" prop="needVe">
+              <el-input v-model="dataForm.needVe" placeholder="请输入是否需要VE验证" />
+            </el-form-item>
+          </el-descriptions-item>
+          <el-descriptions-item label="VE验证条款" :span="3">
+            <el-form-item label="" prop="veItems">
+              <el-input v-model="dataForm.veItems" placeholder="请输入VE验证条款" />
+            </el-form-item>
+            <el-form-item label="" prop="veItemOther">
+              <el-input v-model="dataForm.veItemOther" placeholder="请输入VE验证条款" />
+            </el-form-item>
+          </el-descriptions-item>
+        </el-descriptions>
+      </div>
+      <div v-if="showExecute">
+        <h4>执行详情</h4>
+        <el-descriptions title="" :column="3" border>
+          <el-descriptions-item label="附件">
+
+          </el-descriptions-item>
+        </el-descriptions>
+      </div>
+      <div v-if="showInspect">
+        <h4>验收详情</h4>
+        <el-descriptions title="" :column="3" border>
+          <el-descriptions-item label="VC/VE验证成果" :span="3">
+            <el-form-item label="" prop="applicantDept">
+              <el-input v-model="dataForm.veResult" placeholder="请输入VC/VE验证成果" />
+            </el-form-item>
+          </el-descriptions-item>
+          <el-descriptions-item label="备注" :span="3">
+            <el-form-item label="" prop="remarks">
+              <el-input v-model="dataForm.remarks" placeholder="请输入备注" />
+            </el-form-item>
+          </el-descriptions-item>
+          <el-descriptions-item label="附件" :span="3">
+
+          </el-descriptions-item>
+        </el-descriptions>
+      </div>
+    </el-form>
     <!-- 流转详情 -->
     <div>
+      <h4>流转详情</h4>
       <el-table :data="historyList" border v-loading="historyLoading" style="width: 100%;">
         <el-table-column prop="taskName" header-align="center" align="center"
                          :label="$t('流程进度')"></el-table-column>
@@ -32,7 +159,6 @@
 </template>
 
 <script>
-
 import { getApply, handleApply } from "@/api/production/apply";
 import { getHistorylist } from "@/api/ehs/approvedanger";
 import { listUserPost } from "@/api/system/user";
@@ -41,7 +167,6 @@ export default {
   name: "sai-apply-detail",
   data() {
     return {
-      labelStyle: {'width': '200px'},
       visible: false,
       //流转列表
       historyList: [],
@@ -54,17 +179,40 @@ export default {
         deptId: null,
         applyStatus: null,
         apNo: null,
-        processId: null
+        processId: null,
+        applicant: null,
+        assessor: null,
+        executor: null,
+        inspectors: null,
+        applicantDept: null,
+        applicantTeam: null,
+        description: null,
+        unsafeStatus: null,
+        unsafeAction: null,
+        applyDate: null,
+        taskId: null,
+        handler: null,
+        taskName: null,
+        estimateFinishDate: null,
+        actualFinishDate: null,
+        isRecorded: null,
+        recordNo: null,
+        reaction: null,
+        needVe: null,
+        veItems: null,
+        veResult: null,
+        veItemOther: null,
       },
       taskForm: {
         comment: '',
         taskId: '',
         files: '',
-        govDate: '',
-        govFileList: [],
         businessKey: '',
         saiApply: null,
       },
+      showAssess: false,
+      showExecute: false,
+      showInspect: false,
     }
   },
   methods: {
@@ -84,6 +232,29 @@ export default {
       // 查询SAI开项管理详细
       getApply(id).then(response => {
         this.dataForm = response.data;
+        let applyStatus = this.dataForm.applyStatus;
+        switch (applyStatus) {
+          case 1:
+            this.showAssess = true;
+            break;
+          case 2:
+            this.showAssess = true;
+            this.showExecute = true;
+            break;
+          case 3:
+            this.showAssess = true;
+            this.showExecute = true;
+            this.showInspect = true;
+            break;
+          case 4:
+            this.showAssess = true;
+            this.showExecute = true;
+            this.showInspect = true;
+            break;
+          case 5:
+            this.showAssess = true;
+            break;
+        }
       });
       // 查询流转详情
       getHistorylist({processId: processId}).then(response => {
@@ -91,8 +262,11 @@ export default {
         this.historyLoading = false
       });
     },
-    // 表单重置
+    // 重置
     reset() {
+      this.showAssess = false;
+      this.showExecute = false;
+      this.showInspect = false;
       this.form = {
         saiApplyId: null,
         deptId: null,
@@ -105,21 +279,40 @@ export default {
         deptId: null,
         applyStatus: null,
         apNo: null,
-        processId: null
+        processId: null,
+        applicant: null,
+        assessor: null,
+        executor: null,
+        inspectors: null,
+        applicantDept: null,
+        applicantTeam: null,
+        description: null,
+        unsafeStatus: null,
+        unsafeAction: null,
+        applyDate: null,
+        taskId: null,
+        handler: null,
+        taskName: null,
+        estimateFinishDate: null,
+        actualFinishDate: null,
+        isRecorded: null,
+        recordNo: null,
+        reaction: null,
+        needVe: null,
+        veItems: null,
+        veResult: null,
+        veItemOther: null,
       };
       this.taskForm =  {
         comment: '',
         taskId: '',
         files: '',
-        govDate: '',
-        govFileList: [],
         businessKey: '',
         saiApply: null,
       };
     },
     /**
      * 处理流程操作按钮点击事件
-     * @param operation 操作:1通过,2驳回,3中止
      */
     dataFormSubmit(condition) {
       // this.$refs["form"].validate(valid => {
@@ -139,6 +332,8 @@ export default {
 }
 </script>
 
-<style scoped>
-
+<style scoped lang="scss">
+  h4{
+    margin: 20px 0px 10px 0px;
+  }
 </style>

+ 138 - 29
ui/src/views/production/apply/all/index.vue

@@ -1,13 +1,76 @@
 <template>
   <div class="app-container">
+    <!-- 搜索条件 -->
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
-
+      <el-form-item label="登记人部门" prop="xxx">
+        <el-input
+          v-model="queryParams.xxx"
+          placeholder="请输入登记人部门"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="登记人班组" prop="xxx">
+        <el-input
+          v-model="queryParams.xxx"
+          placeholder="请输入登记人班组"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="不安全状态" prop="xxx">
+        <el-input
+          v-model="queryParams.xxx"
+          placeholder="请输入不安全状态"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="不安全行为" prop="xxx">
+        <el-input
+          v-model="queryParams.xxx"
+          placeholder="请输入不安全行为"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="问题描述" prop="xxx">
+        <el-input
+          v-model="queryParams.xxx"
+          placeholder="请输入问题描述"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="登记时间" prop="xxx">
+        <el-input
+          v-model="queryParams.xxx"
+          placeholder="请输入登记时间"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="计划完成时间" prop="xxx">
+        <el-input
+          v-model="queryParams.xxx"
+          placeholder="请输入计划完成时间"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
       <el-form-item>
         <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
       </el-form-item>
     </el-form>
-
+    <!-- 操作按钮 -->
     <el-row :gutter="10" class="mb8">
       <el-col :span="1.5">
         <el-button
@@ -38,14 +101,12 @@
       </el-col>
 	  <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
-
+    <!-- 总表 -->
     <el-table v-loading="loading" :data="applyList" @selection-change="handleSelectionChange" :height="clientHeight" border>
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="申请状态" align="center" prop="applyStatus" :show-overflow-tooltip="true" :formatter="applyStatusFormat"/>
       <el-table-column label="申请编号" align="center" prop="apNo" :show-overflow-tooltip="true"/>
       <el-table-column label="流程id" align="center" prop="processId" :show-overflow-tooltip="true"/>
-      <el-table-column label="是否通过评估" align="center" prop="isPassAssess" :show-overflow-tooltip="true"/>
-      <el-table-column label="是否通过验收" align="center" prop="isPassInspect" :show-overflow-tooltip="true"/>
       <el-table-column label="登记人" align="center" prop="applicant" :show-overflow-tooltip="true"/>
       <el-table-column label="评估人" align="center" prop="assessor" :show-overflow-tooltip="true"/>
       <el-table-column label="执行人" align="center" prop="executor" :show-overflow-tooltip="true"/>
@@ -60,6 +121,23 @@
           <span>{{ parseTime(scope.row.applyDate, '{y}-{m}-{d}') }}</span>
         </template>
       </el-table-column>
+      <el-table-column label="当前处理人" align="center" prop="handler" :show-overflow-tooltip="true"/>
+      <el-table-column label="预计完成时间" align="center" prop="estimateFinishDate" width="100">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.estimateFinishDate, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="实际完成时间" align="center" prop="actualFinishDate" width="100">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.actualFinishDate, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="是否录入开项系统" align="center" prop="isRecorded" :show-overflow-tooltip="true"/>
+      <el-table-column label="开项编号" align="center" prop="recordNo" :show-overflow-tooltip="true"/>
+      <el-table-column label="采取的措施" align="center" prop="reaction" :show-overflow-tooltip="true"/>
+      <el-table-column label="是否需要VE验证" align="center" prop="needVe" :show-overflow-tooltip="true"/>
+      <el-table-column label="VE验证条款" align="center" prop="veItems" :show-overflow-tooltip="true"/>
+      <el-table-column label="VC/VE验证成果" align="center" prop="veResult" :show-overflow-tooltip="true"/>
       <el-table-column label="操作" align="center" fixed="right" width="120" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button
@@ -109,7 +187,7 @@
         </template>
       </el-table-column>
     </el-table>
-
+    <!-- 分页 -->
     <pagination
       v-show="total>0"
       :total="total"
@@ -117,11 +195,10 @@
       :limit.sync="queryParams.pageSize"
       @pagination="getList"
     />
-
     <!-- 添加或修改SAI开项管理对话框 -->
-    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+    <el-dialog :title="title" :visible.sync="open" width="60%" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="0px">
-        <el-descriptions title="" direction="vertical" :column="3" border>
+        <el-descriptions title="" :column="3" border>
           <el-descriptions-item label="登记人部门">
             <el-form-item label="" prop="applicantDept">
               <el-input v-model="form.applicantDept" placeholder="请输入登记人部门" />
@@ -142,9 +219,11 @@
               <el-input v-model="form.description" placeholder="请输入问题描述" />
             </el-form-item>
           </el-descriptions-item>
-          <el-descriptions-item label="附件" :span="3"></el-descriptions-item>
+          <el-descriptions-item label="附件" :span="3">
+
+          </el-descriptions-item>
           <el-descriptions-item label="隐患" :span="3">
-            <el-form-item label="">
+            <el-form-item label="" prop="unsafeStatus">
               <el-input v-model="form.unsafeStatus" placeholder="请输入不安全状态" />
             </el-form-item>
             <el-form-item label="" prop="unsafeAction">
@@ -168,7 +247,6 @@
         <el-button @click="cancel">取 消</el-button>
       </div>
     </el-dialog>
-
     <!-- 用户导入对话框 -->
     <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
           <el-upload
@@ -199,10 +277,8 @@
               <el-button @click="upload.open = false">取 消</el-button>
           </div>
       </el-dialog>
-
     <!-- SAI开项管理流转详情对话框 -->
     <sai-apply-detail v-if="saiApplyVisible" ref="saiApplyDetail" @refreshDataList="getList"></sai-apply-detail>
-
     <!-- 流程图对话框 -->
     <process-img v-if="processImgVisible" ref="processImg" @refreshDataList="getList"></process-img>
   </div>
@@ -267,12 +343,28 @@ export default {
         applyStatus: null,
         apNo: null,
         processId: null,
-        isPassAssess: null,
-        isPassInspect: null,
         applicant: null,
         assessor: null,
         executor: null,
-        inspectors: null
+        inspectors: null,
+        applicantDept: null,
+        applicantTeam: null,
+        description: null,
+        unsafeStatus: null,
+        unsafeAction: null,
+        applyDate: null,
+        taskId: null,
+        handler: null,
+        taskName: null,
+        estimateFinishDate: null,
+        actualFinishDate: null,
+        isRecorded: null,
+        recordNo: null,
+        reaction: null,
+        needVe: null,
+        veItems: null,
+        veResult: null,
+        veItemOther: null,
       },
       // 表单参数
       form: {},
@@ -288,18 +380,19 @@ export default {
     };
   },
   watch: {
-        // 根据名称筛选部门树
-        deptName(val) {
-            this.$refs.tree.filter(val);
-        }
+    // 根据名称筛选部门树
+    deptName(val) {
+        this.$refs.tree.filter(val);
+    }
    },
   created() {
-      //设置表格高度对应屏幕高度
-      this.$nextTick(() => {
-          this.clientHeight = document.body.clientHeight -250
-      })
+    //设置表格高度对应屏幕高度
+    this.$nextTick(() => {
+        this.clientHeight = document.body.clientHeight -250
+    })
     this.getList();
     this.getTreeselect();
+    // 加载申请状态字典
     this.getDicts("SAI_APPLY_STATUS").then(response => {
       this.applyStatusOptions = response.data;
     });
@@ -366,15 +459,31 @@ export default {
         updateBy: null,
         updateTime: null,
         deptId: null,
-        applyStatus: "0",
+        applyStatus: null,
         apNo: null,
         processId: null,
-        isPassAssess: null,
-        isPassInspect: null,
         applicant: null,
         assessor: null,
         executor: null,
-        inspectors: null
+        inspectors: null,
+        applicantDept: null,
+        applicantTeam: null,
+        description: null,
+        unsafeStatus: null,
+        unsafeAction: null,
+        applyDate: null,
+        taskId: null,
+        handler: null,
+        taskName: null,
+        estimateFinishDate: null,
+        actualFinishDate: null,
+        isRecorded: null,
+        recordNo: null,
+        reaction: null,
+        needVe: null,
+        veItems: null,
+        veResult: null,
+        veItemOther: null,
       };
       this.resetForm("form");
     },

+ 2 - 0
ui/src/views/production/apply/index.vue

@@ -2,9 +2,11 @@
   <div class="app-container">
     <el-tabs type="border-card"v-model="activeName" @tab-click="handleClick">
       <el-tab-pane label="待处理" name="first">
+        页面开发中……
         <!--<all item="1" typename="" v-if="isFirst"></all>-->
       </el-tab-pane>
       <el-tab-pane label="与我相关" name="second">
+        页面开发中……
         <!--<all item="2" typename="" v-if="isSecond"></all>-->
       </el-tab-pane>
       <el-tab-pane label="总数据" name="third">

+ 3 - 18
ui/src/views/production/check/index.vue

@@ -10,15 +10,6 @@
           @change="handleQuery">
         </el-date-picker>
       </el-form-item>
-      <!--<el-form-item label="数据来源" prop="source">-->
-        <!--<el-input-->
-          <!--v-model="queryParams.source"-->
-          <!--placeholder="请输入数据来源"-->
-          <!--clearable-->
-          <!--size="small"-->
-          <!--@keyup.enter.native="handleQuery"-->
-        <!--/>-->
-      <!--</el-form-item>-->
       <el-form-item :label="$t('数据来源')" prop="source">
         <el-select v-model="queryParams.source" :placeholder="$t('请选择') + $t('数据来源')">
           <el-option key="公司" label="公司" value="公司"></el-option>
@@ -89,11 +80,11 @@
         安全行为指数:{{score}}
       </span>
       <svg-icon icon-class="rectangleGreen" class="rectangleGreen"></svg-icon>
-      <span>范围1</span>
+      <span>合格</span>
       <svg-icon icon-class="rectangleYellow" class="rectangleYellow"></svg-icon>
-      <span>范围2</span>
+      <span>预警</span>
       <svg-icon icon-class="rectanglered" class="rectangleRed"></svg-icon>
-      <span>范围3</span>
+      <span>报警</span>
     </el-row>
 
     <el-table v-loading="loading" :data="saiList" @selection-change="handleSelectionChange" :height="clientHeight" border>
@@ -144,9 +135,6 @@
         <el-form-item label="检查的装置/设施" prop="plantId">
           <treeselect v-model="form.plantId" :options="deptOptions" :show-count="true" placeholder="请选择检查的装置/设施" />
         </el-form-item>
-        <!--<el-form-item label="检查的装置/设施" prop="plantId">-->
-          <!--<el-input v-model="form.plantId" placeholder="请输入检查的装置/设施" />-->
-        <!--</el-form-item>-->
         <el-form-item label="检查日期/时间" prop="inspectionDate">
           <el-date-picker clearable size="small" style="width: 200px"
             v-model="form.inspectionDate"
@@ -170,9 +158,6 @@
         <el-form-item label="用户" prop="userDept">
           <treeselect v-model="form.userDept" :options="deptOptions" :show-count="true" placeholder="请选择用户" />
         </el-form-item>
-        <!--<el-form-item label="用户" prop="userDept">-->
-          <!--<el-input v-model="form.userDept" placeholder="请输入用户" />-->
-        <!--</el-form-item>-->
         <el-form-item :label="$t('数据来源')" prop="source">
           <el-select v-model="form.source" :placeholder="$t('请选择') + $t('数据来源')">
             <el-option key="公司" label="公司" value="公司"></el-option>