瀏覽代碼

开项管理表基础功能代码修改

wangggziwen 10 月之前
父節點
當前提交
aa3b42ab36

+ 0 - 1
rc-admin/src/main/java/com/ruoyi/web/controller/rc/TMeetingController.java

@@ -91,7 +91,6 @@ public class TMeetingController extends BaseController
     @GetMapping(value = "/{id}")
     public AjaxResult getInfo(@PathVariable("id") Long id)
     {
-
         TMeeting tMeeting = tMeetingService.selectTMeetingById(id);
         String year = tMeeting.getYear();
         if (year.length() > 4) {

+ 20 - 0
rc-buisness/src/main/java/com/ruoyi/rc/domain/TOpenItem.java

@@ -54,10 +54,14 @@ public class TOpenItem extends BaseEntity
     @Excel(name = "负责人")
     private Long personInCharge;
 
+    private String personInChargeName;
+
     /** 审核人 */
     @Excel(name = "审核人")
     private Long reviewer;
 
+    private String reviewerName;
+
     /** 责任人确认 */
     @Excel(name = "责任人确认")
     private String result;
@@ -79,6 +83,22 @@ public class TOpenItem extends BaseEntity
     @Excel(name = "装置")
     private String deptName;
 
+    public String getPersonInChargeName() {
+        return personInChargeName;
+    }
+
+    public void setPersonInChargeName(String personInChargeName) {
+        this.personInChargeName = personInChargeName;
+    }
+
+    public String getReviewerName() {
+        return reviewerName;
+    }
+
+    public void setReviewerName(String reviewerName) {
+        this.reviewerName = reviewerName;
+    }
+
     public String getDeptName() {
         return deptName;
     }

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

@@ -19,10 +19,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="deadline"    column="deadline"    />
         <result property="remarks"    column="remarks"    />
         <result property="deptId"    column="dept_id"    />
+        <result property="personInChargeName"    column="person_in_charge_name"    />
+        <result property="reviewerName"    column="reviewer_name"    />
     </resultMap>
 
     <sql id="selectTOpenItemVo">
-        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
+        select id, type, questionnaire_id, description, level, open_time, close_time, o.status, person_in_charge, reviewer, result, deadline, remarks, o.dept_id,
+        u1.nick_name as person_in_charge_name, u2.nick_name as reviewer_name
+        from t_open_item as o
+        left join sys_user u1 on o.person_in_charge = u1.user_id
+        left join sys_user u2 on o.reviewer = u2.user_id
     </sql>
 
     <select id="selectTOpenItemList" parameterType="TOpenItem" resultMap="TOpenItemResult">
@@ -34,19 +40,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="level != null  and level != ''"> and level = #{level}</if>
             <if test="openTime != null "> and open_time = #{openTime}</if>
             <if test="closeTime != null "> and close_time = #{closeTime}</if>
-            <if test="status != null  and status != ''"> and status = #{status}</if>
+            <if test="status != null  and status != ''"> and o.status = #{status}</if>
             <if test="personInCharge != null "> and person_in_charge = #{personInCharge}</if>
             <if test="reviewer != null "> and reviewer = #{reviewer}</if>
             <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 deptId != ''"> and dept_id = #{deptId}</if>
+            <if test="deptId != null  and deptId != ''"> and o.dept_id = #{deptId}</if>
         </where>
     </select>
     
     <select id="selectTOpenItemById" parameterType="Long" resultMap="TOpenItemResult">
         <include refid="selectTOpenItemVo"/>
-        where id = #{id}
+        where o.id = #{id}
     </select>
 
     <insert id="insertTOpenItem" parameterType="TOpenItem" useGeneratedKeys="true" keyProperty="id">

+ 98 - 43
ruoyi-ui/src/views/rc/openitem/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
       <el-form-item label="问题类型" prop="type">
         <el-select v-model="queryParams.type" placeholder="请选择问题类型" clearable>
           <el-option
@@ -11,7 +11,7 @@
           />
         </el-select>
       </el-form-item>
-      <el-form-item label="涉及整改code" prop="questionnaireId">
+      <el-form-item label="涉及code" prop="questionnaireId">
         <el-input
           v-model="queryParams.questionnaireId"
           placeholder="请输入涉及整改code"
@@ -20,12 +20,14 @@
         />
       </el-form-item>
       <el-form-item label="开项级别" prop="level">
-        <el-input
-          v-model="queryParams.level"
-          placeholder="请输入开项级别"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+        <el-select v-model="queryParams.level" placeholder="请选择开项级别" clearable>
+          <el-option
+            v-for="dict in dict.type.t_open_item_level"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
       </el-form-item>
       <el-form-item label="开项时间" prop="openTime">
         <el-date-picker clearable
@@ -43,23 +45,37 @@
           placeholder="请选择闭项时间">
         </el-date-picker>
       </el-form-item>
+      <el-form-item label="处理状态" prop="result">
+        <el-select v-model="queryParams.status" placeholder="请选择开项问题处理状态">
+          <el-option
+            v-for="dict in dict.type.t_open_item_status"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          ></el-option>
+        </el-select>
+      </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="请选择负责人">
+          <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="reviewer">
-        <el-input
-          v-model="queryParams.reviewer"
-          placeholder="请输入审核人"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+        <el-select clearable v-model="queryParams.reviewer" 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="result">
+      <el-form-item label="责任人" prop="result">
         <el-select v-model="queryParams.result" placeholder="请选择责任人确认" clearable>
           <el-option
             v-for="dict in dict.type.t_open_item_result"
@@ -77,15 +93,6 @@
           placeholder="请选择截至时间">
         </el-date-picker>
       </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>
-
       <el-form-item label="装置" prop="deptId">
         <el-select clearable v-model="queryParams.deptId" placeholder="请选择装置">
           <el-option
@@ -150,7 +157,6 @@
 
     <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">
         <template slot-scope="scope">
           <dict-tag :options="dict.type.t_open_item_type" :value="scope.row.type"/>
@@ -158,7 +164,11 @@
       </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="level">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.t_open_item_level" :value="scope.row.level"/>
+        </template>
+      </el-table-column>
       <el-table-column label="开项时间" align="center" prop="openTime" width="180">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.openTime, '{y}-{m}-{d}') }}</span>
@@ -170,8 +180,8 @@
         </template>
       </el-table-column>
       <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="personInChargeName" />
+      <el-table-column label="审核人" align="center" prop="reviewerName" />
       <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"/>
@@ -183,7 +193,7 @@
         </template>
       </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" prop="deptName" />
       <el-table-column label="操作" align="center" width="120" fixed="right" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button
@@ -214,7 +224,7 @@
 
     <!-- 添加或修改开项对话框 -->
     <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 ref="form" :model="form" :rules="rules" label-width="120px">
         <el-form-item label="问题类型" prop="type">
           <el-select v-model="form.type" placeholder="请选择问题类型">
             <el-option
@@ -232,7 +242,14 @@
           <el-input v-model="form.description" type="textarea" placeholder="请输入内容" />
         </el-form-item>
         <el-form-item label="开项级别" prop="level">
-          <el-input v-model="form.level" placeholder="请输入开项级别" />
+          <el-select v-model="form.level" placeholder="请选择开项级别">
+            <el-option
+              v-for="dict in dict.type.t_open_item_level"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            ></el-option>
+          </el-select>
         </el-form-item>
         <el-form-item label="开项时间" prop="openTime">
           <el-date-picker clearable
@@ -250,11 +267,35 @@
             placeholder="请选择闭项时间">
           </el-date-picker>
         </el-form-item>
+        <el-form-item label="问题处理状态" prop="result">
+          <el-select v-model="form.status" placeholder="请选择问题处理状态">
+            <el-option
+              v-for="dict in dict.type.t_open_item_status"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            ></el-option>
+          </el-select>
+        </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="reviewer">
-          <el-input v-model="form.reviewer" placeholder="请输入审核人" />
+          <el-select clearable v-model="form.reviewer" 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="result">
           <el-select v-model="form.result" placeholder="请选择责任人确认">
@@ -277,9 +318,6 @@
         <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-item label="装置" prop="deptId">
           <el-select clearable multiple v-model="form.deptId" placeholder="请选择装置">
             <el-option
@@ -302,10 +340,11 @@
 <script>
 import { listOpenitem, getOpenitem, delOpenitem, addOpenitem, updateOpenitem } from "@/api/rc/openitem";
 import { listDept } from "@/api/system/dept";
+import { listAllUser } from "@/api/system/user";
 
 export default {
   name: "Openitem",
-  dicts: ['t_open_item_result', 't_open_item_type'],
+  dicts: ['t_open_item_result', 't_open_item_type', 't_open_item_level', 't_open_item_status'],
   data() {
     return {
       // 遮罩层
@@ -351,13 +390,29 @@ export default {
       },
       // 装置列表
       deptOptions: [],
+      // 用户列表
+      userOptions: [],
     };
   },
   created() {
     this.getList();
     this.getDeptList();
+    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;