Selaa lähdekoodia

王子文 专项培养 季度反馈
1) 所有导师下拉带出数据:主管、工程师、副经理、经理
2) 所有导师的Comment 均有一周时效性(自会议开始起),在时效范围内导师可修改

wangggziwen 3 vuotta sitten
vanhempi
commit
a8de7f9368

+ 11 - 0
master/src/main/java/com/ruoyi/project/plant/controller/TStaffmgrController.java

@@ -79,6 +79,17 @@ public class TStaffmgrController extends BaseController
     @Autowired
     private ITTrainingNonService tTrainingNonService;
 
+    /**
+     * 查询导师下拉列表
+     */
+    @PreAuthorize("@ss.hasPermi('plant:staffmgr:list')")
+    @GetMapping("/listMentors")
+    public AjaxResult listMentors(TStaffmgr tStaffmgr)
+    {
+        ServletUtils.getParameter("sexs");
+        return AjaxResult.success(tStaffmgrService.selectMentorList(tStaffmgr));
+    }
+
     /**
      * 查询人员管理列表
      */

+ 9 - 0
master/src/main/java/com/ruoyi/project/plant/mapper/TStaffmgrMapper.java

@@ -15,6 +15,15 @@ import com.ruoyi.project.plant.domain.TStaffmgr;
  */
 public interface TStaffmgrMapper
 {
+    /**
+     * 查询导师下拉列表
+     *
+     * @param tStaffmgr 人员管理
+     * @return 人员管理集合
+     */
+    @DataScope(deptAlias = "d")
+    public List<TStaffmgr> selectMentorList(TStaffmgr tStaffmgr);
+
     /**
      * 查询人员管理
      *

+ 11 - 0
master/src/main/java/com/ruoyi/project/plant/service/ITStaffmgrService.java

@@ -1,6 +1,8 @@
 package com.ruoyi.project.plant.service;
 
 import java.util.List;
+
+import com.ruoyi.framework.aspectj.lang.annotation.DataScope;
 import com.ruoyi.project.plant.domain.TStaffmgr;
 
 /**
@@ -11,6 +13,15 @@ import com.ruoyi.project.plant.domain.TStaffmgr;
  */
 public interface ITStaffmgrService
 {
+    /**
+     * 查询导师下拉列表
+     *
+     * @param tStaffmgr 人员管理
+     * @return 人员管理集合
+     */
+    @DataScope(deptAlias = "d")
+    public List<TStaffmgr> selectMentorList(TStaffmgr tStaffmgr);
+
     /**
      * 查询人员管理
      *

+ 5 - 0
master/src/main/java/com/ruoyi/project/plant/service/impl/TStaffmgrServiceImpl.java

@@ -21,6 +21,11 @@ public class TStaffmgrServiceImpl implements ITStaffmgrService
     @Resource
     private TStaffmgrMapper tStaffmgrMapper;
 
+    @Override
+    public List<TStaffmgr> selectMentorList(TStaffmgr tStaffmgr) {
+        return tStaffmgrMapper.selectMentorList(tStaffmgr);
+    }
+
     /**
      * 查询人员管理
      *

+ 18 - 0
master/src/main/resources/mybatis/plant/TStaffmgrMapper.xml

@@ -38,6 +38,24 @@
       left join sys_dept s on s.dept_id = d.dept_id
     </sql>
 
+    <!-- 查询导师下拉列表 -->
+    <select id="selectMentorList" parameterType="TStaffmgr" resultMap="TStaffmgrResult">
+        select d.id, s.DICT_LABEL,d.plant_code, d.staffid, d.name, d.photo, d.sex, d.birthday, d.unit,
+               d.team, d.actualpost, d.contact, d.del_flag, d.creater_code, d.createdate, d.updater_code,
+               d.updatedate, d.dept_id, d.remarks, d.education, d.en_ability, d.accident_num, d.mail,
+               d.skill_score, d.p_id , d.special_duty, s.dept_name
+
+        from t_staffmgr d
+        left join sys_dept s on s.dept_id = d.dept_id
+        Left join SYS_DICT_DATA s0 on d.UNIT = s0.DICT_VALUE and s0.DICT_TYPE ='STAFF_UNIT'
+        LEFT JOIN SYS_DICT_DATA s on d.ACTUALPOST = s.DICT_VALUE and s.DICT_TYPE = 'ACTUALPOST'
+        LEFT JOIN SYS_DICT_DATA s1 on d.team = s1.DICT_VALUE and s1.DICT_TYPE = 'TEAM_DIVIDE'
+
+        where s.DICT_LABEL like '%主管%'
+        or s.DICT_LABEL like '%经理%'
+        or s.DICT_LABEL like '%工程师%'
+    </select>
+
     <select id="selectTStaffmgrList" parameterType="TStaffmgr" resultMap="TStaffmgrResult">
         <include refid="selectTStaffmgrVo"/>
         Left join SYS_DICT_DATA s0 on d.UNIT = s0.DICT_VALUE and s0.DICT_TYPE ='STAFF_UNIT'

+ 9 - 0
ui/src/api/plant/staffmgr.js

@@ -1,5 +1,14 @@
 import request from '@/utils/request'
 
+// 查询导师下拉列表
+export function listMentors2(query) {
+  return request({
+    url: '/plant/staffmgr/listMentors',
+    method: 'get',
+    params: query
+  })
+}
+
 // 查询人员管理列表
 export function listStaffmgr(query) {
   return request({

+ 1 - 1
ui/src/views/plant/staffmgr/index.vue

@@ -45,7 +45,7 @@
           <el-option
             v-for="dict in actualpostOptions"
             :key="dict.dictValue"
-            :label="dict.dictLabel"
+            :label="dict.dictValue+dict.dictLabel"
             :value="dict.dictValue"
           />
         </el-select>

+ 6 - 0
ui/src/views/training/spec/monthlyfeedback/index.vue

@@ -97,6 +97,12 @@
         <div>
           <h3>导师反馈</h3>
           <editor :min-height="300" v-model="mentorFeedback"/>
+          <span 
+            v-if="!showSaveButton"
+            v-html="mentorFeedback" 
+            style="overflow:scroll; display:block; border:1px solid #CCCCCC; height: 300px; padding:15px;font-family: Helvetica, Arial, sans-serif; font-size: 13px;"
+          >
+          </span>
         </div>
         <!-- 保存按钮 -->
         <div style="text-align:center;margin: 20px auto;">

+ 38 - 5
ui/src/views/training/spec/seasonalfeedback/index.vue

@@ -337,8 +337,14 @@
         </div>
         <!-- 导师反馈 -->
         <div>
-          <h3 style="margin-top:0px;">导师反馈</h3>
-          <editor :min-height="300" v-model="mentorFeedback"/>
+          <h3>导师反馈</h3>
+          <editor :min-height="300" v-model="mentorFeedback" v-if="showSaveButton"/>
+          <span 
+            v-if="!showSaveButton"
+            v-html="mentorFeedback" 
+            style="overflow:scroll; display:block; border:1px solid #CCCCCC; height: 300px; padding:15px;font-family: Helvetica, Arial, sans-serif; font-size: 13px;"
+          >
+          </span>
         </div>
         <!-- 保存按钮 -->
         <div style="text-align:center;margin: 20px auto;">
@@ -346,6 +352,7 @@
             size="medium" 
             type="success" 
             @click="handleSave"
+            v-if="showSaveButton"
           >
             保存
           </el-button>
@@ -410,12 +417,15 @@ import { getToken } from "@/utils/auth";
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 import Editor from '@/components/Editor';
+import { listMentors2 } from "@/api/plant/staffmgr";
 
 export default {
   name: "SeasonalFeedback",
   components: { Treeselect, Editor },
   data() {
     return {
+      // 显示保存按钮
+      showSaveButton: false,
       // 导师标签
       mentorTabs: [],
       // 详情对话框表格数据
@@ -652,6 +662,25 @@ export default {
     this.initPageData();
   },
   methods: {
+    /** 设置最后截止日期 */
+    resetLastDay() {
+      // 最后截止日期
+      let lastDay = new Date(this.meetingDate);
+      lastDay.setTime(lastDay.getTime() + 3600 * 1000 * 24 * 7);
+      // 当前日期
+      let now = new Date();
+      if (lastDay > now) {
+        // 导师可修改反馈内容
+        this.showSaveButton = true;
+        // 学员可查看导师反馈内容
+
+      } else {
+        // 导师不可修改反馈内容
+        this.showSaveButton = false;
+        // 学员不可查看导师反馈内容
+        
+      }
+    },
     /** 标签页切换事件 */
     handleTabClick(tab) {
       // 清空问卷
@@ -703,6 +732,7 @@ export default {
             if (data[i].questionId == "16") { this.radio13 = data[i].answer; }
             if (data[i].questionId == "17") { this.radio14 = data[i].answer; }
           }
+          window.scrollTo(0, 0);
         });
       });
     },
@@ -715,12 +745,12 @@ export default {
       this.queryParams.feedbackYearTemp = date.getFullYear().toString();
       this.queryParams.feedbackSeason = ( ( date.getMonth() + 2 ) / 3 ).toString();
       // ====================获取导师下拉列表====================
-      listMentors().then(response => {
+      listMentors2().then(response => {
         let mentorList = response.data;
         for (let i = 0; i < mentorList.length; i++) {
           let mentor = {};
-          mentor.key = mentorList[i].mentorStaffId;
-          mentor.value = mentorList[i].mentorStaffName;
+          mentor.key = mentorList[i].staffid;
+          mentor.value = mentorList[i].name;
           this.mentorOptions.push(mentor);
         }
       });
@@ -745,6 +775,7 @@ export default {
           this.feedbackId = data.id;
           this.parentId = data.id;
           this.meetingDate = data.meetingDate;
+          this.resetLastDay();
           this.mentorFeedback = data.mentorFeedback;
           // 初始化汇报附件
           this.initFileList(data.id);
@@ -776,6 +807,7 @@ export default {
               if (data[i].questionId == "16") { this.radio13 = data[i].answer; }
               if (data[i].questionId == "17") { this.radio14 = data[i].answer; }
             }
+          window.scrollTo(0, 0);
           });
         });
       });
@@ -1139,6 +1171,7 @@ export default {
         this.feedbackId = data.id;
         this.parentId = data.id;
         this.meetingDate = data.meetingDate;
+        this.resetLastDay();
         this.mentorFeedback = data.mentorFeedback;
         // 刷新汇报附件
         this.initFileList(data.id);