Преглед на файлове

定期会议表基础功能代码修改

wangggziwen преди 10 месеца
родител
ревизия
69be0cbd49

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

@@ -5,6 +5,7 @@ import javax.servlet.http.HttpServletResponse;
 
 import com.ruoyi.common.core.domain.entity.SysDept;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.rc.domain.TAudit;
 import com.ruoyi.rc.domain.TDeptInfo;
 import com.ruoyi.system.service.ISysDeptService;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -90,7 +91,13 @@ public class TMeetingController extends BaseController
     @GetMapping(value = "/{id}")
     public AjaxResult getInfo(@PathVariable("id") Long id)
     {
-        return success(tMeetingService.selectTMeetingById(id));
+
+        TMeeting tMeeting = tMeetingService.selectTMeetingById(id);
+        String year = tMeeting.getYear();
+        if (year.length() > 4) {
+            tMeeting.setYear(year.substring(0, year.indexOf("-")));
+        }
+        return success(tMeeting);
     }
 
     /**

+ 10 - 0
rc-buisness/src/main/java/com/ruoyi/rc/domain/TMeeting.java

@@ -30,6 +30,8 @@ public class TMeeting extends BaseEntity
     @Excel(name = "负责人")
     private Long personInCharge;
 
+    private String personInChargeName;
+
     /** 备注 */
     @Excel(name = "备注")
     private String remarks;
@@ -42,6 +44,14 @@ public class TMeeting extends BaseEntity
     @Excel(name = "装置")
     private String deptName;
 
+    public String getPersonInChargeName() {
+        return personInChargeName;
+    }
+
+    public void setPersonInChargeName(String personInChargeName) {
+        this.personInChargeName = personInChargeName;
+    }
+
     public String getDeptName() {
         return deptName;
     }

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

@@ -11,10 +11,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="personInCharge"    column="person_in_charge"    />
         <result property="remarks"    column="remarks"    />
         <result property="deptId"    column="dept_id"    />
+        <result property="personInChargeName"    column="person_in_charge_name"    />
     </resultMap>
 
     <sql id="selectTMeetingVo">
-        select id, year, questionnaire_id, person_in_charge, remarks, dept_id from t_meeting
+        select m.id, year, questionnaire_id, person_in_charge, remarks, m.dept_id,
+        u.nick_name as person_in_charge_name
+        from t_meeting m
+        left join sys_user u on m.person_in_charge = u.user_id
     </sql>
 
     <select id="selectTMeetingList" parameterType="TMeeting" resultMap="TMeetingResult">
@@ -24,7 +28,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <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 deptId != ''"> and dept_id = #{deptId}</if>
+            <if test="deptId != null  and deptId != ''"> and m.dept_id = #{deptId}</if>
         </where>
     </select>
     

+ 60 - 25
ruoyi-ui/src/views/rc/meeting/index.vue

@@ -1,6 +1,14 @@
 <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="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="questionnaireId">
         <el-input
           v-model="queryParams.questionnaireId"
@@ -10,22 +18,16 @@
         />
       </el-form-item>
       <el-form-item label="负责人" prop="personInCharge">
-        <el-input
-          v-model="queryParams.personInCharge"
-          placeholder="请输入负责人"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="装置id" prop="deptId">
-        <el-input
-          v-model="queryParams.deptId"
-          placeholder="请输入装置id"
-          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="deptId">
         <el-select clearable v-model="queryParams.deptId" placeholder="请选择装置">
           <el-option
@@ -90,13 +92,16 @@
 
     <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" />
+      <el-table-column label="年份" align="center" prop="year">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.year, '{y}') }}</span>
+        </template>
+      </el-table-column>
       <el-table-column label="涉及code" align="center" prop="questionnaireId" />
-      <el-table-column label="负责人" align="center" prop="personInCharge" />
+      <el-table-column label="负责人" align="center" prop="personInChargeName" width="100" />
       <el-table-column label="备注" align="center" prop="remarks" />
-      <el-table-column label="装置id" align="center" prop="deptId" />
-      <el-table-column label="操作" align="center" width="120" fixed="right" class-name="small-padding fixed-width">
+      <el-table-column label="装置" align="center" prop="deptName" />
+      <el-table-column label="操作" align="center" width="180" fixed="right" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button
             size="mini"
@@ -127,18 +132,30 @@
     <!-- 添加或修改会议对话框 -->
     <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="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="请输入负责人" />
+          <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="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
@@ -161,6 +178,7 @@
 <script>
 import { listMeeting, getMeeting, delMeeting, addMeeting, updateMeeting } from "@/api/rc/meeting";
 import { listDept } from "@/api/system/dept";
+import { listAllUser } from "@/api/system/user";
 
 export default {
   name: "Meeting",
@@ -201,17 +219,34 @@ 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;
       listMeeting(this.queryParams).then(response => {
+        console.log(response)
         this.meetingList = response.rows;
         this.total = response.total;
         this.loading = false;

+ 1 - 1
ruoyi-ui/src/views/rc/questionnaire/index.vue

@@ -289,7 +289,7 @@ export default {
       // 非多个禁用
       multiple: true,
       // 显示搜索条件
-      showSearch: false,
+      showSearch: true,
       // 总条数
       total: 0,
       // 问卷表格数据