Explorar o código

- 进度跟踪表基础功能代码修改
- 进度跟踪表字段添加、字段修改
- 定期会议表字段修改
- 开项管理表字段修改

wangggziwen hai 10 meses
pai
achega
8e12f1dfd0

+ 12 - 15
rc-buisness/src/main/java/com/ruoyi/rc/domain/TMeeting.java

@@ -1,7 +1,5 @@
 package com.ruoyi.rc.domain;
 
-import java.util.Date;
-import com.fasterxml.jackson.annotation.JsonFormat;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 import com.ruoyi.common.annotation.Excel;
@@ -11,7 +9,7 @@ import com.ruoyi.common.core.domain.BaseEntity;
  * 会议对象 t_meeting
  * 
  * @author ruoyi
- * @date 2024-07-19
+ * @date 2024-07-26
  */
 public class TMeeting extends BaseEntity
 {
@@ -21,12 +19,12 @@ public class TMeeting extends BaseEntity
     private Long id;
 
     /** 年份 */
-    @Excel(name = "年份", width = 30)
+    @Excel(name = "年份")
     private String year;
 
     /** 涉及code */
     @Excel(name = "涉及code")
-    private Long secSubChapId;
+    private Long questionnaireId;
 
     /** 负责人 */
     @Excel(name = "负责人")
@@ -51,7 +49,6 @@ public class TMeeting extends BaseEntity
     public void setDeptName(String deptName) {
         this.deptName = deptName;
     }
-
     public void setId(Long id) 
     {
         this.id = id;
@@ -61,23 +58,23 @@ public class TMeeting extends BaseEntity
     {
         return id;
     }
-    public void setYear(String year)
+    public void setYear(String year) 
     {
         this.year = year;
     }
 
-    public String getYear()
+    public String getYear() 
     {
         return year;
     }
-    public void setSecSubChapId(Long secSubChapId) 
+    public void setQuestionnaireId(Long questionnaireId) 
     {
-        this.secSubChapId = secSubChapId;
+        this.questionnaireId = questionnaireId;
     }
 
-    public Long getSecSubChapId() 
+    public Long getQuestionnaireId() 
     {
-        return secSubChapId;
+        return questionnaireId;
     }
     public void setPersonInCharge(Long personInCharge) 
     {
@@ -97,12 +94,12 @@ public class TMeeting extends BaseEntity
     {
         return remarks;
     }
-    public void setDeptId(String deptId)
+    public void setDeptId(String deptId) 
     {
         this.deptId = deptId;
     }
 
-    public String getDeptId()
+    public String getDeptId() 
     {
         return deptId;
     }
@@ -112,7 +109,7 @@ public class TMeeting extends BaseEntity
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
             .append("id", getId())
             .append("year", getYear())
-            .append("secSubChapId", getSecSubChapId())
+            .append("questionnaireId", getQuestionnaireId())
             .append("personInCharge", getPersonInCharge())
             .append("remarks", getRemarks())
             .append("deptId", getDeptId())

+ 9 - 10
rc-buisness/src/main/java/com/ruoyi/rc/domain/TOpenItem.java

@@ -11,7 +11,7 @@ import com.ruoyi.common.core.domain.BaseEntity;
  * 开项对象 t_open_item
  * 
  * @author ruoyi
- * @date 2024-07-19
+ * @date 2024-07-26
  */
 public class TOpenItem extends BaseEntity
 {
@@ -26,7 +26,7 @@ public class TOpenItem extends BaseEntity
 
     /** 涉及整改code */
     @Excel(name = "涉及整改code")
-    private Long secSubChapId;
+    private Long questionnaireId;
 
     /** 存在问题描述 */
     @Excel(name = "存在问题描述")
@@ -86,7 +86,6 @@ public class TOpenItem extends BaseEntity
     public void setDeptName(String deptName) {
         this.deptName = deptName;
     }
-
     public void setId(Long id) 
     {
         this.id = id;
@@ -105,14 +104,14 @@ public class TOpenItem extends BaseEntity
     {
         return type;
     }
-    public void setSecSubChapId(Long secSubChapId) 
+    public void setQuestionnaireId(Long questionnaireId) 
     {
-        this.secSubChapId = secSubChapId;
+        this.questionnaireId = questionnaireId;
     }
 
-    public Long getSecSubChapId() 
+    public Long getQuestionnaireId() 
     {
-        return secSubChapId;
+        return questionnaireId;
     }
     public void setDescription(String description) 
     {
@@ -204,12 +203,12 @@ public class TOpenItem extends BaseEntity
     {
         return remarks;
     }
-    public void setDeptId(String deptId)
+    public void setDeptId(String deptId) 
     {
         this.deptId = deptId;
     }
 
-    public String getDeptId()
+    public String getDeptId() 
     {
         return deptId;
     }
@@ -219,7 +218,7 @@ public class TOpenItem extends BaseEntity
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
             .append("id", getId())
             .append("type", getType())
-            .append("secSubChapId", getSecSubChapId())
+            .append("questionnaireId", getQuestionnaireId())
             .append("description", getDescription())
             .append("level", getLevel())
             .append("openTime", getOpenTime())

+ 71 - 18
rc-buisness/src/main/java/com/ruoyi/rc/domain/TProgress.java

@@ -11,7 +11,7 @@ import com.ruoyi.common.core.domain.BaseEntity;
  * 进度对象 t_progress
  * 
  * @author ruoyi
- * @date 2024-07-19
+ * @date 2024-07-26
  */
 public class TProgress extends BaseEntity
 {
@@ -20,9 +20,9 @@ public class TProgress extends BaseEntity
     /** id */
     private Long id;
 
-    /** 二级细分章节id */
-    @Excel(name = "二级细分章节id")
-    private Long secSubChapId;
+    /** 问卷id */
+    @Excel(name = "问卷id")
+    private Long questionnaireId;
 
     /** 章节 */
     @Excel(name = "章节")
@@ -69,7 +69,7 @@ public class TProgress extends BaseEntity
 
     /** 进度描述 */
     @Excel(name = "进度描述")
-    private String description;
+    private String progress;
 
     /** 审批状态 */
     @Excel(name = "审批状态")
@@ -83,10 +83,54 @@ public class TProgress extends BaseEntity
     @Excel(name = "装置id")
     private String deptId;
 
+    /** 审计记录id */
+    @Excel(name = "审计记录id")
+    private Long auditId;
+
     /** 装置 */
     @Excel(name = "装置")
     private String deptName;
 
+    private String personInChargeName;
+
+    private String supporterName;
+
+    private String code;
+
+    private String name;
+
+    public String getPersonInChargeName() {
+        return personInChargeName;
+    }
+
+    public void setPersonInChargeName(String personInChargeName) {
+        this.personInChargeName = personInChargeName;
+    }
+
+    public String getSupporterName() {
+        return supporterName;
+    }
+
+    public void setSupporterName(String supporterName) {
+        this.supporterName = supporterName;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
     public String getDeptName() {
         return deptName;
     }
@@ -94,7 +138,6 @@ public class TProgress extends BaseEntity
     public void setDeptName(String deptName) {
         this.deptName = deptName;
     }
-
     public void setId(Long id) 
     {
         this.id = id;
@@ -104,14 +147,14 @@ public class TProgress extends BaseEntity
     {
         return id;
     }
-    public void setSecSubChapId(Long secSubChapId) 
+    public void setQuestionnaireId(Long questionnaireId) 
     {
-        this.secSubChapId = secSubChapId;
+        this.questionnaireId = questionnaireId;
     }
 
-    public Long getSecSubChapId() 
+    public Long getQuestionnaireId() 
     {
-        return secSubChapId;
+        return questionnaireId;
     }
     public void setChapName(String chapName) 
     {
@@ -203,14 +246,14 @@ public class TProgress extends BaseEntity
     {
         return preparation;
     }
-    public void setDescription(String description)
+    public void setProgress(String progress) 
     {
-        this.description = description;
+        this.progress = progress;
     }
 
-    public String getDescription()
+    public String getProgress() 
     {
-        return description;
+        return progress;
     }
     public void setApplyStatus(String applyStatus) 
     {
@@ -230,21 +273,30 @@ public class TProgress extends BaseEntity
     {
         return remarks;
     }
-    public void setDeptId(String deptId)
+    public void setDeptId(String deptId) 
     {
         this.deptId = deptId;
     }
 
-    public String getDeptId()
+    public String getDeptId() 
     {
         return deptId;
     }
+    public void setAuditId(Long auditId) 
+    {
+        this.auditId = auditId;
+    }
+
+    public Long getAuditId() 
+    {
+        return auditId;
+    }
 
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
             .append("id", getId())
-            .append("secSubChapId", getSecSubChapId())
+            .append("questionnaireId", getQuestionnaireId())
             .append("chapName", getChapName())
             .append("subChapName", getSubChapName())
             .append("secSubChapName", getSecSubChapName())
@@ -255,10 +307,11 @@ public class TProgress extends BaseEntity
             .append("targetDate", getTargetDate())
             .append("finishDate", getFinishDate())
             .append("preparation", getPreparation())
-            .append("description", getDescription())
+            .append("progress", getProgress())
             .append("applyStatus", getApplyStatus())
             .append("remarks", getRemarks())
             .append("deptId", getDeptId())
+            .append("auditId", getAuditId())
             .toString();
     }
 }

+ 7 - 7
rc-buisness/src/main/resources/mapper/rc/TMeetingMapper.xml

@@ -7,24 +7,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <resultMap type="TMeeting" id="TMeetingResult">
         <result property="id"    column="id"    />
         <result property="year"    column="year"    />
-        <result property="secSubChapId"    column="sec_sub_chap_id"    />
+        <result property="questionnaireId"    column="questionnaire_id"    />
         <result property="personInCharge"    column="person_in_charge"    />
         <result property="remarks"    column="remarks"    />
         <result property="deptId"    column="dept_id"    />
     </resultMap>
 
     <sql id="selectTMeetingVo">
-        select id, year, sec_sub_chap_id, person_in_charge, remarks, dept_id from t_meeting
+        select id, year, questionnaire_id, person_in_charge, remarks, dept_id from t_meeting
     </sql>
 
     <select id="selectTMeetingList" parameterType="TMeeting" resultMap="TMeetingResult">
         <include refid="selectTMeetingVo"/>
         <where>  
             <if test="year != null  and year != ''"> and year = #{year}</if>
-            <if test="secSubChapId != null "> and sec_sub_chap_id = #{secSubChapId}</if>
+            <if test="questionnaireId != null "> and questionnaire_id = #{questionnaireId}</if>
             <if test="personInCharge != null "> and person_in_charge = #{personInCharge}</if>
             <if test="remarks != null  and remarks != ''"> and remarks = #{remarks}</if>
-            <if test="deptId != null "> and dept_id like concat(concat('%', #{deptId}), '%')</if>
+            <if test="deptId != null  and deptId != ''"> and dept_id = #{deptId}</if>
         </where>
     </select>
     
@@ -37,14 +37,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         insert into t_meeting
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="year != null">year,</if>
-            <if test="secSubChapId != null">sec_sub_chap_id,</if>
+            <if test="questionnaireId != null">questionnaire_id,</if>
             <if test="personInCharge != null">person_in_charge,</if>
             <if test="remarks != null">remarks,</if>
             <if test="deptId != null">dept_id,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="year != null">#{year},</if>
-            <if test="secSubChapId != null">#{secSubChapId},</if>
+            <if test="questionnaireId != null">#{questionnaireId},</if>
             <if test="personInCharge != null">#{personInCharge},</if>
             <if test="remarks != null">#{remarks},</if>
             <if test="deptId != null">#{deptId},</if>
@@ -55,7 +55,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         update t_meeting
         <trim prefix="SET" suffixOverrides=",">
             <if test="year != null">year = #{year},</if>
-            <if test="secSubChapId != null">sec_sub_chap_id = #{secSubChapId},</if>
+            <if test="questionnaireId != null">questionnaire_id = #{questionnaireId},</if>
             <if test="personInCharge != null">person_in_charge = #{personInCharge},</if>
             <if test="remarks != null">remarks = #{remarks},</if>
             <if test="deptId != null">dept_id = #{deptId},</if>

+ 7 - 7
rc-buisness/src/main/resources/mapper/rc/TOpenItemMapper.xml

@@ -7,7 +7,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <resultMap type="TOpenItem" id="TOpenItemResult">
         <result property="id"    column="id"    />
         <result property="type"    column="type"    />
-        <result property="secSubChapId"    column="sec_sub_chap_id"    />
+        <result property="questionnaireId"    column="questionnaire_id"    />
         <result property="description"    column="description"    />
         <result property="level"    column="level"    />
         <result property="openTime"    column="open_time"    />
@@ -22,14 +22,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </resultMap>
 
     <sql id="selectTOpenItemVo">
-        select id, type, sec_sub_chap_id, description, level, open_time, close_time, status, person_in_charge, reviewer, result, deadline, remarks, dept_id from t_open_item
+        select id, type, questionnaire_id, description, level, open_time, close_time, status, person_in_charge, reviewer, result, deadline, remarks, dept_id from t_open_item
     </sql>
 
     <select id="selectTOpenItemList" parameterType="TOpenItem" resultMap="TOpenItemResult">
         <include refid="selectTOpenItemVo"/>
         <where>  
             <if test="type != null  and type != ''"> and type = #{type}</if>
-            <if test="secSubChapId != null "> and sec_sub_chap_id = #{secSubChapId}</if>
+            <if test="questionnaireId != null "> and questionnaire_id = #{questionnaireId}</if>
             <if test="description != null  and description != ''"> and description = #{description}</if>
             <if test="level != null  and level != ''"> and level = #{level}</if>
             <if test="openTime != null "> and open_time = #{openTime}</if>
@@ -40,7 +40,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="result != null  and result != ''"> and result = #{result}</if>
             <if test="deadline != null "> and deadline = #{deadline}</if>
             <if test="remarks != null  and remarks != ''"> and remarks = #{remarks}</if>
-            <if test="deptId != null "> and dept_id like concat(concat('%', #{deptId}), '%')</if>
+            <if test="deptId != null  and deptId != ''"> and dept_id = #{deptId}</if>
         </where>
     </select>
     
@@ -53,7 +53,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         insert into t_open_item
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="type != null">type,</if>
-            <if test="secSubChapId != null">sec_sub_chap_id,</if>
+            <if test="questionnaireId != null">questionnaire_id,</if>
             <if test="description != null">description,</if>
             <if test="level != null">level,</if>
             <if test="openTime != null">open_time,</if>
@@ -68,7 +68,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="type != null">#{type},</if>
-            <if test="secSubChapId != null">#{secSubChapId},</if>
+            <if test="questionnaireId != null">#{questionnaireId},</if>
             <if test="description != null">#{description},</if>
             <if test="level != null">#{level},</if>
             <if test="openTime != null">#{openTime},</if>
@@ -87,7 +87,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         update t_open_item
         <trim prefix="SET" suffixOverrides=",">
             <if test="type != null">type = #{type},</if>
-            <if test="secSubChapId != null">sec_sub_chap_id = #{secSubChapId},</if>
+            <if test="questionnaireId != null">questionnaire_id = #{questionnaireId},</if>
             <if test="description != null">description = #{description},</if>
             <if test="level != null">level = #{level},</if>
             <if test="openTime != null">open_time = #{openTime},</if>

+ 29 - 14
rc-buisness/src/main/resources/mapper/rc/TProgressMapper.xml

@@ -6,7 +6,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     
     <resultMap type="TProgress" id="TProgressResult">
         <result property="id"    column="id"    />
-        <result property="secSubChapId"    column="sec_sub_chap_id"    />
+        <result property="questionnaireId"    column="questionnaire_id"    />
         <result property="chapName"    column="chap_name"    />
         <result property="subChapName"    column="sub_chap_name"    />
         <result property="secSubChapName"    column="sec_sub_chap_name"    />
@@ -17,20 +17,31 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="targetDate"    column="target_date"    />
         <result property="finishDate"    column="finish_date"    />
         <result property="preparation"    column="preparation"    />
-        <result property="description"    column="description"    />
+        <result property="progress"    column="progress"    />
         <result property="applyStatus"    column="apply_status"    />
         <result property="remarks"    column="remarks"    />
         <result property="deptId"    column="dept_id"    />
+        <result property="auditId"    column="audit_id"    />
+        <result property="personInChargeName"    column="person_in_charge_name"    />
+        <result property="supporterName"    column="supporter_name"    />
+        <result property="code"    column="code"    />
+        <result property="name"    column="name"    />
     </resultMap>
 
     <sql id="selectTProgressVo">
-        select id, sec_sub_chap_id, chap_name, sub_chap_name, sec_sub_chap_name, content, person_in_charge, supporter, start_date, target_date, finish_date, preparation, description, apply_status, remarks, dept_id from t_progress
+        select p.id, questionnaire_id, chap_name, sub_chap_name, sec_sub_chap_name, content, p.person_in_charge, supporter, start_date, target_date, finish_date, preparation, progress, apply_status, p.remarks, p.dept_id, p.audit_id,
+        u1.nick_name as person_in_charge_name, u2.nick_name as supporter_name,
+        q.code as code, q.name as name
+        from t_progress p
+        left join sys_user u1 on p.person_in_charge = u1.user_id
+        left join sys_user u2 on p.supporter = u2.user_id
+        inner join t_questionnaire q on p.questionnaire_id = q.id
     </sql>
 
     <select id="selectTProgressList" parameterType="TProgress" resultMap="TProgressResult">
         <include refid="selectTProgressVo"/>
         <where>  
-            <if test="secSubChapId != null "> and sec_sub_chap_id = #{secSubChapId}</if>
+            <if test="questionnaireId != null "> and questionnaire_id = #{questionnaireId}</if>
             <if test="chapName != null  and chapName != ''"> and chap_name like concat('%', #{chapName}, '%')</if>
             <if test="subChapName != null  and subChapName != ''"> and sub_chap_name like concat('%', #{subChapName}, '%')</if>
             <if test="secSubChapName != null  and secSubChapName != ''"> and sec_sub_chap_name like concat('%', #{secSubChapName}, '%')</if>
@@ -41,22 +52,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="targetDate != null "> and target_date = #{targetDate}</if>
             <if test="finishDate != null "> and finish_date = #{finishDate}</if>
             <if test="preparation != null  and preparation != ''"> and preparation = #{preparation}</if>
-            <if test="description != null  and description != ''"> and description = #{description}</if>
+            <if test="progress != null  and progress != ''"> and progress = #{progress}</if>
             <if test="applyStatus != null  and applyStatus != ''"> and apply_status = #{applyStatus}</if>
             <if test="remarks != null  and remarks != ''"> and remarks = #{remarks}</if>
-            <if test="deptId != null "> and dept_id like concat(concat('%', #{deptId}), '%')</if>
+            <if test="deptId != null  and deptId != ''"> and p.dept_id = #{deptId}</if>
+            <if test="auditId != null "> and p.audit_id = #{auditId}</if>
         </where>
     </select>
     
     <select id="selectTProgressById" parameterType="Long" resultMap="TProgressResult">
         <include refid="selectTProgressVo"/>
-        where id = #{id}
+        where p.id = #{id}
     </select>
 
     <insert id="insertTProgress" parameterType="TProgress" useGeneratedKeys="true" keyProperty="id">
         insert into t_progress
         <trim prefix="(" suffix=")" suffixOverrides=",">
-            <if test="secSubChapId != null">sec_sub_chap_id,</if>
+            <if test="questionnaireId != null">questionnaire_id,</if>
             <if test="chapName != null">chap_name,</if>
             <if test="subChapName != null">sub_chap_name,</if>
             <if test="secSubChapName != null">sec_sub_chap_name,</if>
@@ -67,13 +79,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="targetDate != null">target_date,</if>
             <if test="finishDate != null">finish_date,</if>
             <if test="preparation != null">preparation,</if>
-            <if test="description != null">description,</if>
+            <if test="progress != null">progress,</if>
             <if test="applyStatus != null">apply_status,</if>
             <if test="remarks != null">remarks,</if>
             <if test="deptId != null">dept_id,</if>
+            <if test="auditId != null">audit_id,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
-            <if test="secSubChapId != null">#{secSubChapId},</if>
+            <if test="questionnaireId != null">#{questionnaireId},</if>
             <if test="chapName != null">#{chapName},</if>
             <if test="subChapName != null">#{subChapName},</if>
             <if test="secSubChapName != null">#{secSubChapName},</if>
@@ -84,17 +97,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="targetDate != null">#{targetDate},</if>
             <if test="finishDate != null">#{finishDate},</if>
             <if test="preparation != null">#{preparation},</if>
-            <if test="description != null">#{description},</if>
+            <if test="progress != null">#{progress},</if>
             <if test="applyStatus != null">#{applyStatus},</if>
             <if test="remarks != null">#{remarks},</if>
             <if test="deptId != null">#{deptId},</if>
+            <if test="auditId != null">#{auditId},</if>
          </trim>
     </insert>
 
     <update id="updateTProgress" parameterType="TProgress">
         update t_progress
         <trim prefix="SET" suffixOverrides=",">
-            <if test="secSubChapId != null">sec_sub_chap_id = #{secSubChapId},</if>
+            <if test="questionnaireId != null">questionnaire_id = #{questionnaireId},</if>
             <if test="chapName != null">chap_name = #{chapName},</if>
             <if test="subChapName != null">sub_chap_name = #{subChapName},</if>
             <if test="secSubChapName != null">sec_sub_chap_name = #{secSubChapName},</if>
@@ -105,10 +119,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="targetDate != null">target_date = #{targetDate},</if>
             <if test="finishDate != null">finish_date = #{finishDate},</if>
             <if test="preparation != null">preparation = #{preparation},</if>
-            <if test="description != null">description = #{description},</if>
+            <if test="progress != null">progress = #{progress},</if>
             <if test="applyStatus != null">apply_status = #{applyStatus},</if>
             <if test="remarks != null">remarks = #{remarks},</if>
             <if test="deptId != null">dept_id = #{deptId},</if>
+            <if test="auditId != null">audit_id = #{auditId},</if>
         </trim>
         where id = #{id}
     </update>
@@ -118,7 +133,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </delete>
 
     <delete id="deleteTProgressByIds" parameterType="String">
-        delete from t_progress where id in
+        delete from t_progress where id in 
         <foreach item="id" collection="array" open="(" separator="," close=")">
             #{id}
         </foreach>

+ 15 - 2
ruoyi-ui/src/router/index.js

@@ -97,7 +97,7 @@ export const constantRoutes = [
         path: 'auditinfo',
         component: (resolve) => require(['@/views/rc/auditinfo/index'], resolve),
         name: 'AuditInfo',
-        meta: { title: '装置审计记录详情' }
+        meta: { title: '问卷详情' }
       }
     ]
   },
@@ -110,7 +110,20 @@ export const constantRoutes = [
         path: 'editchapter',
         component: (resolve) => require(['@/views/rc/editchapter/index'], resolve),
         name: 'EditChapter',
-        meta: { title: '编辑左侧章节' }
+        meta: { title: '编辑章节' }
+      }
+    ]
+  },
+  {
+    path: '/rc',
+    component: Layout,
+    hidden: true,
+    children: [
+      {
+        path: 'progress',
+        component: (resolve) => require(['@/views/rc/progress/index'], resolve),
+        name: 'Progress',
+        meta: { title: '进度跟踪' }
       }
     ]
   },

+ 19 - 3
ruoyi-ui/src/views/rc/audit/index.vue

@@ -107,7 +107,7 @@
       </el-table-column>
       <el-table-column label="审计结果" align="center" prop="auditResult" />
       <el-table-column label="备注" align="center" prop="remarks" />
-      <el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
+      <el-table-column label="操作" align="center" width="180" fixed="right" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button
             size="mini"
@@ -126,8 +126,15 @@
           <el-button
             size="mini"
             type="text"
+            icon="el-icon-view"
             @click="handleInfo(scope.row)"
-          >详情</el-button>
+          >问卷详情</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-time"
+            @click="handleProgress(scope.row)"
+          >进度跟踪</el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -243,7 +250,7 @@ export default {
     this.getDeptList();
   },
   methods: {
-    /** 详情 */
+    /** 问卷详情 */
     handleInfo(row) {
       this.$router.push({
         path: "/rc/auditinfo",
@@ -252,6 +259,15 @@ export default {
         }
       });
     },
+    /** 进度跟踪 */
+    handleProgress(row) {
+      this.$router.push({
+        path: "/rc/progress",
+        query: {
+          auditId: row.id
+        }
+      });
+    },
     /** 查询审计记录列表 */
     getList() {
       this.loading = true;

+ 8 - 0
ruoyi-ui/src/views/rc/editchapter/index.vue

@@ -9,6 +9,14 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
+      <el-form-item label="名称" prop="name">
+        <el-input
+          v-model="queryParams.name"
+          placeholder="请输入名称"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>

+ 58 - 30
ruoyi-ui/src/views/rc/meeting/index.vue

@@ -1,17 +1,9 @@
 <template>
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="年份" prop="year">
-        <el-date-picker clearable
-                        v-model="queryParams.year"
-                        type="year"
-                        value-format="yyyy"
-                        placeholder="请选择年份">
-        </el-date-picker>
-      </el-form-item>
-      <el-form-item label="涉及code" prop="secSubChapId">
+      <el-form-item label="涉及code" prop="questionnaireId">
         <el-input
-          v-model="queryParams.secSubChapId"
+          v-model="queryParams.questionnaireId"
           placeholder="请输入涉及code"
           clearable
           @keyup.enter.native="handleQuery"
@@ -33,6 +25,17 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
+
+      <el-form-item label="装置" prop="deptId">
+        <el-select clearable v-model="queryParams.deptId" placeholder="请选择装置">
+          <el-option
+            v-for="dict in deptOptions"
+            :key="dict.dictValue"
+            :label="dict.dictLabel"
+            :value="dict.dictValue"
+          ></el-option>
+        </el-select>
+      </el-form-item>
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@@ -88,16 +91,12 @@
     <el-table border v-loading="loading" :data="meetingList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="id" align="center" prop="id" />
-      <el-table-column label="年份" align="center" prop="year" width="180">
-        <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.year, '{y}') }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column label="涉及code" align="center" prop="secSubChapId" />
+      <el-table-column label="年份" align="center" prop="year" />
+      <el-table-column label="涉及code" align="center" prop="questionnaireId" />
       <el-table-column label="负责人" align="center" prop="personInCharge" />
       <el-table-column label="备注" align="center" prop="remarks" />
       <el-table-column label="装置id" align="center" prop="deptId" />
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+      <el-table-column label="操作" align="center" width="120" fixed="right" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button
             size="mini"
@@ -128,16 +127,8 @@
     <!-- 添加或修改会议对话框 -->
     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-        <el-form-item label="年份" prop="year">
-          <el-date-picker clearable
-                          v-model="form.year"
-                          type="year"
-                          value-format="yyyy"
-                          placeholder="请选择年份">
-          </el-date-picker>
-        </el-form-item>
-        <el-form-item label="涉及code" prop="secSubChapId">
-          <el-input v-model="form.secSubChapId" placeholder="请输入涉及code" />
+        <el-form-item label="涉及code" prop="questionnaireId">
+          <el-input v-model="form.questionnaireId" placeholder="请输入涉及code" />
         </el-form-item>
         <el-form-item label="负责人" prop="personInCharge">
           <el-input v-model="form.personInCharge" placeholder="请输入负责人" />
@@ -148,6 +139,16 @@
         <el-form-item label="装置id" prop="deptId">
           <el-input v-model="form.deptId" placeholder="请输入装置id" />
         </el-form-item>
+        <el-form-item label="装置" prop="deptId">
+          <el-select clearable multiple v-model="form.deptId" placeholder="请选择装置">
+            <el-option
+              v-for="dict in deptOptions"
+              :key="dict.dictValue"
+              :label="dict.dictLabel"
+              :value="dict.dictValue"
+            ></el-option>
+          </el-select>
+        </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm">确 定</el-button>
@@ -159,6 +160,7 @@
 
 <script>
 import { listMeeting, getMeeting, delMeeting, addMeeting, updateMeeting } from "@/api/rc/meeting";
+import { listDept } from "@/api/system/dept";
 
 export default {
   name: "Meeting",
@@ -187,7 +189,7 @@ export default {
         pageNum: 1,
         pageSize: 10,
         year: null,
-        secSubChapId: null,
+        questionnaireId: null,
         personInCharge: null,
         remarks: null,
         deptId: null
@@ -196,11 +198,14 @@ export default {
       form: {},
       // 表单校验
       rules: {
-      }
+      },
+      // 装置列表
+      deptOptions: [],
     };
   },
   created() {
     this.getList();
+    this.getDeptList();
   },
   methods: {
     /** 查询会议列表 */
@@ -212,6 +217,19 @@ export default {
         this.loading = false;
       });
     },
+    /** 查询装置列表 */
+    getDeptList() {
+      listDept().then(response => {
+        let data = response.data;
+        for (let i = 0; i < data.length; i++) {
+          // 非顶级节点
+          if (data[i].parentId !== 0) {
+            // 插入装置列表
+            this.deptOptions.push({"dictLabel": data[i].deptName, "dictValue": data[i].deptId});
+          }
+        }
+      });
+    },
     // 取消按钮
     cancel() {
       this.open = false;
@@ -222,7 +240,7 @@ export default {
       this.form = {
         id: null,
         year: null,
-        secSubChapId: null,
+        questionnaireId: null,
         personInCharge: null,
         remarks: null,
         deptId: null
@@ -256,6 +274,12 @@ export default {
       this.reset();
       const id = row.id || this.ids
       getMeeting(id).then(response => {
+        // 字符串转数组
+        if (response.data.deptId != null && response.data.deptId != "") {
+            response.data.deptId = response.data.deptId.split(",").map(Number);
+        } else {
+            response.data.deptId = [];
+        }
         this.form = response.data;
         this.open = true;
         this.title = "修改会议";
@@ -265,6 +289,10 @@ export default {
     submitForm() {
       this.$refs["form"].validate(valid => {
         if (valid) {
+          // 数组转字符串
+          if (this.form.deptId != null) {
+              this.form.deptId = this.form.deptId.toString();
+          }
           if (this.form.id != null) {
             updateMeeting(this.form).then(response => {
               this.$modal.msgSuccess("修改成功");

+ 104 - 18
ruoyi-ui/src/views/rc/openitem/index.vue

@@ -1,9 +1,19 @@
 <template>
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="涉及整改code" prop="secSubChapId">
+      <el-form-item label="问题类型" prop="type">
+        <el-select v-model="queryParams.type" placeholder="请选择问题类型" clearable>
+          <el-option
+            v-for="dict in dict.type.t_open_item_type"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="涉及整改code" prop="questionnaireId">
         <el-input
-          v-model="queryParams.secSubChapId"
+          v-model="queryParams.questionnaireId"
           placeholder="请输入涉及整改code"
           clearable
           @keyup.enter.native="handleQuery"
@@ -50,12 +60,14 @@
         />
       </el-form-item>
       <el-form-item label="责任人确认" prop="result">
-        <el-input
-          v-model="queryParams.result"
-          placeholder="请输入责任人确认"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+        <el-select v-model="queryParams.result" placeholder="请选择责任人确认" clearable>
+          <el-option
+            v-for="dict in dict.type.t_open_item_result"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
       </el-form-item>
       <el-form-item label="截至时间" prop="deadline">
         <el-date-picker clearable
@@ -73,6 +85,17 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
+
+      <el-form-item label="装置" prop="deptId">
+        <el-select clearable v-model="queryParams.deptId" placeholder="请选择装置">
+          <el-option
+            v-for="dict in deptOptions"
+            :key="dict.dictValue"
+            :label="dict.dictLabel"
+            :value="dict.dictValue"
+          ></el-option>
+        </el-select>
+      </el-form-item>
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@@ -128,8 +151,12 @@
     <el-table border v-loading="loading" :data="openitemList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="id" align="center" prop="id" />
-      <el-table-column label="问题类型" align="center" prop="type" />
-      <el-table-column label="涉及整改code" align="center" prop="secSubChapId" />
+      <el-table-column label="问题类型" align="center" prop="type">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.t_open_item_type" :value="scope.row.type"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="涉及整改code" align="center" prop="questionnaireId" />
       <el-table-column label="存在问题描述" align="center" prop="description" />
       <el-table-column label="开项级别" align="center" prop="level" />
       <el-table-column label="开项时间" align="center" prop="openTime" width="180">
@@ -145,7 +172,11 @@
       <el-table-column label="问题处理状态" align="center" prop="status" />
       <el-table-column label="负责人" align="center" prop="personInCharge" />
       <el-table-column label="审核人" align="center" prop="reviewer" />
-      <el-table-column label="责任人确认" align="center" prop="result" />
+      <el-table-column label="责任人确认" align="center" prop="result">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.t_open_item_result" :value="scope.row.result"/>
+        </template>
+      </el-table-column>
       <el-table-column label="截至时间" align="center" prop="deadline" width="180">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.deadline, '{y}-{m}-{d}') }}</span>
@@ -153,7 +184,7 @@
       </el-table-column>
       <el-table-column label="备注" align="center" prop="remarks" />
       <el-table-column label="装置id" align="center" prop="deptId" />
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+      <el-table-column label="操作" align="center" width="120" fixed="right" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button
             size="mini"
@@ -184,8 +215,18 @@
     <!-- 添加或修改开项对话框 -->
     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-        <el-form-item label="涉及整改code" prop="secSubChapId">
-          <el-input v-model="form.secSubChapId" placeholder="请输入涉及整改code" />
+        <el-form-item label="问题类型" prop="type">
+          <el-select v-model="form.type" placeholder="请选择问题类型">
+            <el-option
+              v-for="dict in dict.type.t_open_item_type"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="涉及整改code" prop="questionnaireId">
+          <el-input v-model="form.questionnaireId" placeholder="请输入涉及整改code" />
         </el-form-item>
         <el-form-item label="存在问题描述" prop="description">
           <el-input v-model="form.description" type="textarea" placeholder="请输入内容" />
@@ -216,7 +257,14 @@
           <el-input v-model="form.reviewer" placeholder="请输入审核人" />
         </el-form-item>
         <el-form-item label="责任人确认" prop="result">
-          <el-input v-model="form.result" placeholder="请输入责任人确认" />
+          <el-select v-model="form.result" placeholder="请选择责任人确认">
+            <el-option
+              v-for="dict in dict.type.t_open_item_result"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            ></el-option>
+          </el-select>
         </el-form-item>
         <el-form-item label="截至时间" prop="deadline">
           <el-date-picker clearable
@@ -232,6 +280,16 @@
         <el-form-item label="装置id" prop="deptId">
           <el-input v-model="form.deptId" placeholder="请输入装置id" />
         </el-form-item>
+        <el-form-item label="装置" prop="deptId">
+          <el-select clearable multiple v-model="form.deptId" placeholder="请选择装置">
+            <el-option
+              v-for="dict in deptOptions"
+              :key="dict.dictValue"
+              :label="dict.dictLabel"
+              :value="dict.dictValue"
+            ></el-option>
+          </el-select>
+        </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm">确 定</el-button>
@@ -243,9 +301,11 @@
 
 <script>
 import { listOpenitem, getOpenitem, delOpenitem, addOpenitem, updateOpenitem } from "@/api/rc/openitem";
+import { listDept } from "@/api/system/dept";
 
 export default {
   name: "Openitem",
+  dicts: ['t_open_item_result', 't_open_item_type'],
   data() {
     return {
       // 遮罩层
@@ -271,7 +331,7 @@ export default {
         pageNum: 1,
         pageSize: 10,
         type: null,
-        secSubChapId: null,
+        questionnaireId: null,
         description: null,
         level: null,
         openTime: null,
@@ -288,11 +348,14 @@ export default {
       form: {},
       // 表单校验
       rules: {
-      }
+      },
+      // 装置列表
+      deptOptions: [],
     };
   },
   created() {
     this.getList();
+    this.getDeptList();
   },
   methods: {
     /** 查询开项列表 */
@@ -304,6 +367,19 @@ export default {
         this.loading = false;
       });
     },
+    /** 查询装置列表 */
+    getDeptList() {
+      listDept().then(response => {
+        let data = response.data;
+        for (let i = 0; i < data.length; i++) {
+          // 非顶级节点
+          if (data[i].parentId !== 0) {
+            // 插入装置列表
+            this.deptOptions.push({"dictLabel": data[i].deptName, "dictValue": data[i].deptId});
+          }
+        }
+      });
+    },
     // 取消按钮
     cancel() {
       this.open = false;
@@ -314,7 +390,7 @@ export default {
       this.form = {
         id: null,
         type: null,
-        secSubChapId: null,
+        questionnaireId: null,
         description: null,
         level: null,
         openTime: null,
@@ -356,6 +432,12 @@ export default {
       this.reset();
       const id = row.id || this.ids
       getOpenitem(id).then(response => {
+        // 字符串转数组
+        if (response.data.deptId != null && response.data.deptId != "") {
+            response.data.deptId = response.data.deptId.split(",").map(Number);
+        } else {
+            response.data.deptId = [];
+        }
         this.form = response.data;
         this.open = true;
         this.title = "修改开项";
@@ -365,6 +447,10 @@ export default {
     submitForm() {
       this.$refs["form"].validate(valid => {
         if (valid) {
+          // 数组转字符串
+          if (this.form.deptId != null) {
+              this.form.deptId = this.form.deptId.toString();
+          }
           if (this.form.id != null) {
             updateOpenitem(this.form).then(response => {
               this.$modal.msgSuccess("修改成功");

+ 128 - 82
ruoyi-ui/src/views/rc/progress/index.vue

@@ -1,29 +1,27 @@
 <template>
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="二级细分章节id" prop="secSubChapId">
-        <el-input
-          v-model="queryParams.secSubChapId"
-          placeholder="请输入二级细分章节id"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
       <el-form-item label="负责人" prop="personInCharge">
-        <el-input
-          v-model="queryParams.personInCharge"
-          placeholder="请输入负责人"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+        <el-select clearable v-model="queryParams.personInCharge" placeholder="请选择负责人"
+                   @keyup.enter.native="handleQuery">
+          <el-option
+            v-for="dict in userOptions"
+            :key="dict.dictValue"
+            :label="dict.dictLabel"
+            :value="dict.dictValue"
+          ></el-option>
+        </el-select>
       </el-form-item>
-      <el-form-item label="支持人" prop="supporter">
-        <el-input
-          v-model="queryParams.supporter"
-          placeholder="请输入支持人"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+      <el-form-item label="支持人" prop="supporter"
+                    @keyup.enter.native="handleQuery">
+        <el-select clearable v-model="queryParams.supporter" placeholder="请选择支持人">
+          <el-option
+            v-for="dict in userOptions"
+            :key="dict.dictValue"
+            :label="dict.dictLabel"
+            :value="dict.dictValue"
+          ></el-option>
+        </el-select>
       </el-form-item>
       <el-form-item label="开始日期" prop="startDate">
         <el-date-picker clearable
@@ -50,28 +48,34 @@
         </el-date-picker>
       </el-form-item>
       <el-form-item label="准备情况" prop="preparation">
-        <el-input
-          v-model="queryParams.preparation"
-          placeholder="请输入准备情况"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+        <el-select v-model="queryParams.preparation" placeholder="请选择准备情况" clearable>
+          <el-option
+            v-for="dict in dict.type.t_progress_preparation"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
       </el-form-item>
-      <el-form-item label="进度描述" prop="description">
-        <el-input
-          v-model="queryParams.description"
-          placeholder="请输入进度描述"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+      <el-form-item label="进度描述" prop="progress">
+        <el-select v-model="queryParams.progress" placeholder="请选择进度描述" clearable>
+          <el-option
+            v-for="dict in dict.type.t_progress_description"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
       </el-form-item>
-      <el-form-item label="装置id" prop="deptId">
-        <el-input
-          v-model="queryParams.deptId"
-          placeholder="请输入装置id"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+      <el-form-item label="审批状态" prop="applyStatus">
+        <el-select v-model="queryParams.applyStatus" placeholder="请选择审批状态" clearable>
+          <el-option
+            v-for="dict in dict.type.t_progress_apply_status"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
       </el-form-item>
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
@@ -80,16 +84,6 @@
     </el-form>
 
     <el-row :gutter="10" class="mb8">
-      <el-col :span="1.5">
-        <el-button
-          type="primary"
-          plain
-          icon="el-icon-plus"
-          size="mini"
-          @click="handleAdd"
-          v-hasPermi="['rc:progress:add']"
-        >新增</el-button>
-      </el-col>
       <el-col :span="1.5">
         <el-button
           type="success"
@@ -127,19 +121,19 @@
 
     <el-table border v-loading="loading" :data="progressList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="id" align="center" prop="id" />
-      <el-table-column label="二级细分章节id" align="center" prop="secSubChapId" />
-      <el-table-column label="章节" align="center" prop="chapName" />
-      <el-table-column label="细分章节" align="center" prop="subChapName" />
-      <el-table-column label="二级细分章节" align="center" prop="secSubChapName" />
-      <el-table-column label="内容" align="center" prop="content" />
-      <el-table-column label="负责人" align="center" prop="personInCharge" />
-      <el-table-column label="支持人" align="center" prop="supporter" />
+      <el-table-column label="章节" align="center" prop="chapName" width="200" />
+      <el-table-column label="细分章节" align="center" prop="subChapName" width="200" />
+      <el-table-column label="二级细分章节" align="center" prop="secSubChapName" width="200" />
+      <el-table-column label="序号" align="center" prop="code" width="80" />
+      <el-table-column label="名称" align="center" prop="name" width="350" />
+      <el-table-column label="内容" align="center" prop="content" width="200" />
+      <el-table-column label="负责人" align="center" prop="personInChargeName" width="100" />
+      <el-table-column label="支持人" align="center" prop="supporterName" width="100" />
       <el-table-column label="开始日期" align="center" prop="startDate" width="180">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.startDate, '{y}-{m}-{d}') }}</span>
         </template>
-      </el-table-column>
+      </el-table-column>Search
       <el-table-column label="目标日期" align="center" prop="targetDate" width="180">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.targetDate, '{y}-{m}-{d}') }}</span>
@@ -150,12 +144,23 @@
           <span>{{ parseTime(scope.row.finishDate, '{y}-{m}-{d}') }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="准备情况" align="center" prop="preparation" />
-      <el-table-column label="进度描述" align="center" prop="description" />
-      <el-table-column label="审批状态" align="center" prop="applyStatus" />
-      <el-table-column label="备注" align="center" prop="remarks" />
-      <el-table-column label="装置id" align="center" prop="deptId" />
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+      <el-table-column label="准备情况" align="center" prop="preparation" width="100">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.t_progress_preparation" :value="scope.row.preparation"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="进度描述" align="center" prop="progress" width="100">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.t_progress_description" :value="scope.row.progress"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="审批状态" align="center" prop="applyStatus" width="100">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.t_progress_apply_status" :value="scope.row.applyStatus"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="备注" align="center" prop="remarks" width="200" />
+      <el-table-column label="操作" align="center" width="180" fixed="right" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button
             size="mini"
@@ -186,9 +191,6 @@
     <!-- 添加或修改进度对话框 -->
     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-        <el-form-item label="二级细分章节id" prop="secSubChapId">
-          <el-input v-model="form.secSubChapId" placeholder="请输入二级细分章节id" />
-        </el-form-item>
         <el-form-item label="章节" prop="chapName">
           <el-input v-model="form.chapName" type="textarea" placeholder="请输入内容" />
         </el-form-item>
@@ -202,10 +204,24 @@
           <el-input v-model="form.content" type="textarea" placeholder="请输入内容" />
         </el-form-item>
         <el-form-item label="负责人" prop="personInCharge">
-          <el-input v-model="form.personInCharge" placeholder="请输入负责人" />
+          <el-select clearable v-model="form.personInCharge" placeholder="请选择负责人">
+            <el-option
+              v-for="dict in userOptions"
+              :key="dict.dictValue"
+              :label="dict.dictLabel"
+              :value="dict.dictValue"
+            ></el-option>
+          </el-select>
         </el-form-item>
         <el-form-item label="支持人" prop="supporter">
-          <el-input v-model="form.supporter" placeholder="请输入支持人" />
+          <el-select clearable v-model="form.supporter" placeholder="请选择支持人">
+            <el-option
+              v-for="dict in userOptions"
+              :key="dict.dictValue"
+              :label="dict.dictLabel"
+              :value="dict.dictValue"
+            ></el-option>
+          </el-select>
         </el-form-item>
         <el-form-item label="开始日期" prop="startDate">
           <el-date-picker clearable
@@ -232,17 +248,28 @@
           </el-date-picker>
         </el-form-item>
         <el-form-item label="准备情况" prop="preparation">
-          <el-input v-model="form.preparation" placeholder="请输入准备情况" />
+          <el-select v-model="form.preparation" placeholder="请选择准备情况">
+            <el-option
+              v-for="dict in dict.type.t_progress_preparation"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            ></el-option>
+          </el-select>
         </el-form-item>
-        <el-form-item label="进度描述" prop="description">
-          <el-input v-model="form.description" placeholder="请输入进度描述" />
+        <el-form-item label="进度描述" prop="progress">
+          <el-select v-model="form.progress" placeholder="请选择进度描述">
+            <el-option
+              v-for="dict in dict.type.t_progress_description"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            ></el-option>
+          </el-select>
         </el-form-item>
         <el-form-item label="备注" prop="remarks">
           <el-input v-model="form.remarks" type="textarea" placeholder="请输入内容" />
         </el-form-item>
-        <el-form-item label="装置id" prop="deptId">
-          <el-input v-model="form.deptId" placeholder="请输入装置id" />
-        </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm">确 定</el-button>
@@ -254,9 +281,11 @@
 
 <script>
 import { listProgress, getProgress, delProgress, addProgress, updateProgress } from "@/api/rc/progress";
+import { listAllUser } from "@/api/system/user";
 
 export default {
   name: "Progress",
+  dicts: ['t_progress_preparation', 't_progress_description', 't_progress_apply_status'],
   data() {
     return {
       // 遮罩层
@@ -268,7 +297,7 @@ export default {
       // 非多个禁用
       multiple: true,
       // 显示搜索条件
-      showSearch: true,
+      showSearch: false,
       // 总条数
       total: 0,
       // 进度表格数据
@@ -281,7 +310,6 @@ export default {
       queryParams: {
         pageNum: 1,
         pageSize: 10,
-        secSubChapId: null,
         chapName: null,
         subChapName: null,
         secSubChapName: null,
@@ -295,23 +323,42 @@ export default {
         description: null,
         applyStatus: null,
         remarks: null,
-        deptId: null
+        deptId: null,
+        auditId: null
       },
       // 表单参数
       form: {},
       // 表单校验
       rules: {
-      }
+      },
+      // 用户列表
+      userOptions: [],
     };
   },
   created() {
     this.getList();
+    this.getUserList();
   },
   methods: {
+    /** 查询用户列表 */
+    getUserList() {
+      listAllUser().then(response => {
+        let data = response.data;
+        for (let i = 0; i < data.length; i++) {
+          // 非顶级节点
+          if (data[i].parentId !== 0) {
+            // 插入装置列表
+            this.userOptions.push({"dictLabel": data[i].nickName, "dictValue": data[i].userId});
+          }
+        }
+      });
+    },
     /** 查询进度列表 */
     getList() {
       this.loading = true;
+      this.queryParams.auditId = this.$route.query.auditId;
       listProgress(this.queryParams).then(response => {
+        console.log(response)
         this.progressList = response.rows;
         this.total = response.total;
         this.loading = false;
@@ -326,7 +373,6 @@ export default {
     reset() {
       this.form = {
         id: null,
-        secSubChapId: null,
         chapName: null,
         subChapName: null,
         secSubChapName: null,

+ 4 - 3
sql/create.sql

@@ -65,7 +65,7 @@ create table t_questionnaire (
 -- ----------------------------
 create table t_progress (
   id                bigint(20)    comment 'id'  not null  auto_increment,
-  sec_sub_chap_id   bigint(20)    comment '二级细分章节id',
+  questionnaire_id   bigint(20)   comment '问卷id',
   chap_name         varchar(500)  comment '章节',
   sub_chap_name     varchar(500)  comment '细分章节',
   sec_sub_chap_name varchar(500)  comment '二级细分章节',
@@ -80,6 +80,7 @@ create table t_progress (
   apply_status      char(1)       comment '审批状态',
   remarks           varchar(500)  comment '备注',
   dept_id           varchar(255)  comment '装置id',
+  audit_id          bigint(20)    comment '审计记录id',
   primary key (id)
 ) engine=innodb auto_increment=100 comment = '进度表';
 
@@ -89,7 +90,7 @@ create table t_progress (
 create table t_meeting (
   id                bigint(20)    comment 'id'  not null  auto_increment,
   year              year          comment '年份',
-  sec_sub_chap_id   bigint(20)    comment '涉及code',
+  questionnaire_id   bigint(20)   comment '涉及code',
   person_in_charge  bigint(20)    comment '负责人',
   remarks           varchar(500)  comment '备注',
   dept_id           varchar(255)  comment '装置id',
@@ -102,7 +103,7 @@ create table t_meeting (
 create table t_open_item (
   id                bigint(20)    comment 'id'  not null  auto_increment,
   type              char(1)       comment '问题类型',
-  sec_sub_chap_id   bigint(20)    comment '涉及整改code',
+  questionnaire_id   bigint(20)   comment '涉及整改code',
   description       varchar(500)  comment '存在问题描述',
   level             char(1)       comment '开项级别',
   open_time         datetime      comment '开项时间',