shi'sen'yuan 3 lat temu
rodzic
commit
571212a0c3

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

@@ -110,7 +110,7 @@ public class TStaffmgrController extends BaseController
     {
         ServletUtils.getParameter("sexs");
         startPage();
-        List<TStaffmgr> list = tStaffmgrService.selectTStaffmgrList(tStaffmgr);
+        List<TStaffmgr> list = tStaffmgrService.selectRecordList(tStaffmgr);
         List<TTrainingParticipants> tTrainingParticipants = tTrainingParticipantsService.selectTTrainingParticipantsList(new TTrainingParticipants());
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
         for (int i = 0; i < list.size(); i++) {

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

@@ -48,6 +48,14 @@ public interface TStaffmgrMapper
      */
     public List<TStaffmgr> selectList(TStaffmgr tStaffmgr);
 
+    /**
+     * 培训查询人员管理列表
+     *
+     * @param tStaffmgr 人员管理
+     * @return 人员管理集合
+     */
+    public List<TStaffmgr> selectRecordList(TStaffmgr tStaffmgr);
+
     /**
      * 新增人员管理
      *

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

@@ -43,6 +43,14 @@ public interface ITStaffmgrService
      */
     public List<TStaffmgr> selectList(TStaffmgr tStaffmgr);
 
+    /**
+     * 培训查询人员管理列表
+     *
+     * @param tStaffmgr 人员管理
+     * @return 人员管理集合
+     */
+    public List<TStaffmgr> selectRecordList(TStaffmgr tStaffmgr);
+
     /**
      * 新增人员管理
      *

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

@@ -65,6 +65,17 @@ public class TStaffmgrServiceImpl implements ITStaffmgrService
         return tStaffmgrMapper.selectList(tStaffmgr);
     }
 
+    /**
+     * 培训查询人员管理列表
+     *
+     * @param tStaffmgr 人员管理
+     * @return 人员管理集合
+     */
+    @Override
+    public List<TStaffmgr> selectRecordList(TStaffmgr tStaffmgr) {
+        return tStaffmgrMapper.selectRecordList(tStaffmgr);
+    }
+
     /**
      * 新增人员管理
      *

+ 0 - 1
master/src/main/java/com/ruoyi/project/training/controller/TTrainingController.java

@@ -98,7 +98,6 @@ public class TTrainingController extends BaseController
             TTrainingNon tTrainingNon = new TTrainingNon();
             tTrainingNon.setTrainingId(t.getId());
             List<TTrainingNon> tTrainingNons = t.gettTrainingNons();
-            logger.info("tTrainingNons:" + tTrainingNons);
             int i = 0;
             for (TTrainingNon n : tTrainingNons) {
                 if (n.getTrainingDate() == null || n.getTrainingStaff() == null) {

+ 7 - 3
master/src/main/java/com/ruoyi/project/training/controller/TTrainingDeviceController.java

@@ -75,7 +75,7 @@ public class TTrainingDeviceController extends BaseController
         List<TTraining> tTrainings = tTrainingService.selectTTrainingList(tTraining);
 
         List<List> deviceLevelList = new ArrayList<>();
-        List<TStaffmgr> staffmgrs = tStaffmgrService.selectTStaffmgrList(new TStaffmgr());
+        List<TStaffmgr> staffmgrs = tStaffmgrService.selectRecordList(new TStaffmgr());
         for (int i = 0; i < tTrainings.size(); i++) {
             //每一类装置级培训数据
             List<String> device = new ArrayList<>();
@@ -103,19 +103,23 @@ public class TTrainingDeviceController extends BaseController
                     device.add("⚪");
                     deviceDate.add("N.A");
                 }else {
-                    device.add("╳");
                     if (d.getSupplementary().equals("1")) {
+                        device.add("╳");
                         if (d.getStartDate() != null) {
                             deviceDate.add(sdf.format(d.getStartDate()));
                         }else {
                             deviceDate.add("-");
                         }
-                    }else {
+                    }else if (d.getSupplementary().equals("0")){
+                        device.add("╳");
                         if (tTrainings.get(i).getRegularId() != null) {
                             deviceDate.add(sdf1.format(d.getStartDate()));
                         }else {
                             deviceDate.add(sdf.format(d.getStartDate()));
                         }
+                    }else if (d.getSupplementary().equals("2")){
+                        device.add("新员工");
+                        deviceDate.add(sdf.format(d.getStartDate()));
                     }
                 }
             }

+ 233 - 177
master/src/main/java/com/ruoyi/project/training/controller/TTrainingNonController.java

@@ -56,7 +56,6 @@ public class TTrainingNonController extends BaseController
     {
         startPage();
         List<TTrainingNon> list = tTrainingNonService.selectTTrainingNonList(tTrainingNon);
-        logger.info("list:" + list);
         return getDataTable(list);
     }
 
@@ -88,57 +87,91 @@ public class TTrainingNonController extends BaseController
     @PostMapping
     public AjaxResult add(@RequestBody TTrainingNon tTrainingNon)
     {
+        logger.info("trainingNon:" + tTrainingNon);
         List<TTrainingNon> list = tTrainingNonService.selectTTrainingNonList(tTrainingNon);
         TTraining tTraining = tTrainingService.selectTTrainingById(tTrainingNon.getTrainingId());
         TStaffmgr staffmgr = tStaffmgrService.selectTStaffmgrByStaffId(tTrainingNon.getStaffId());
-        String nonParticipants = null;
-        //O为所有未参会人员都参加过补培,1为存在未补培的未参会人员
-        int isFinish = 0;
-        //判断新增的这条数据信息是否完整,缺失数据则变成1
-        if (tTrainingNon.getTrainingDate() == null || tTrainingNon.getTrainingStaff() == null) {
-            logger.info("新增数据缺失");
-            isFinish = 1;
-            if (tTraining.getNonParticipants() == null) {
-                logger.info("此前没有未参会人员尚未参加补培");
-                nonParticipants = staffmgr.getName();
+        //为参培需补培人员
+        if (tTrainingNon.getIsNew().equals("0")) {
+            String nonParticipants = null;
+            //O为所有未参会人员都参加过补培,1为存在未补培的未参会人员
+            int isFinish = 0;
+            //判断新增的这条数据信息是否完整,缺失数据则变成1
+            if (tTrainingNon.getTrainingDate() == null || tTrainingNon.getTrainingStaff() == null) {
+                logger.info("新增数据缺失");
+                isFinish = 1;
+                if (tTraining.getNonParticipants() == null) {
+                    logger.info("此前没有未参会人员尚未参加补培");
+                    nonParticipants = staffmgr.getName();
+                }else {
+                    logger.info("此前存在未参会人员尚未参加补培");
+                    nonParticipants = tTraining.getNonParticipants() + "," + staffmgr.getName();
+                }
             }else {
-                logger.info("此前存在未参会人员尚未参加补培");
-                nonParticipants = tTraining.getNonParticipants() + "," + staffmgr.getName();
+                //新增数据信息完整情况下,遍历之前的数据,判断数据信息是否完整,缺失数据则变成1
+                if (list.size() > 0) {
+                    for (TTrainingNon non : list) {
+                        if (non.getTrainingDate() == null || non.getTrainingStaff() == null) {
+                            isFinish = 1;
+                        }
+                    }
+                    nonParticipants = tTraining.getNonParticipants();
+                }
             }
-         }else {
-            //新增数据信息完整情况下,遍历之前的数据,判断数据信息是否完整,缺失数据则变成1
-            if (list.size() > 0) {
-                for (TTrainingNon non : list) {
-                    if (non.getTrainingDate() == null || non.getTrainingStaff() == null) {
-                        isFinish = 1;
+            if (isFinish == 0) {
+                //字段isFinish中1为YES,0为NO
+                tTraining.setIsfinish(Long.parseLong("1"));
+            }else {
+                tTraining.setIsfinish(Long.parseLong("0"));
+            }
+            tTraining.setNonParticipants(nonParticipants);
+            logger.info("isFinish:" + isFinish);
+            logger.info("nonParticipants:" + nonParticipants);
+            tTrainingService.updateTTraining(tTraining);
+            //定期类-关联培训成绩
+            TTrainingDevice tTrainingDevice = new TTrainingDevice();
+            tTrainingDevice.setRegularId(tTraining.getId());
+            List<TTrainingDevice> tTrainingDevices = tTrainingDeviceService.selectTTrainingDeviceList(tTrainingDevice);
+            for (TTrainingDevice d : tTrainingDevices) {
+                if (d.getStaffId().equals(tTrainingNon.getStaffId())) {
+                    if (tTrainingNon.getTrainingDate() != null) {
+                        d.setStartDate(tTrainingNon.getTrainingDate());
+                    }else {
+                        d.setStartDate(null);
                     }
+                    d.setSupplementary("1");
+                    tTrainingDeviceService.updateTTrainingDevice(d);
                 }
-                nonParticipants = tTraining.getNonParticipants();
             }
-        }
-        if (isFinish == 0) {
-            //字段isFinish中1为YES,0为NO
-            tTraining.setIsfinish(Long.parseLong("1"));
         }else {
-            tTraining.setIsfinish(Long.parseLong("0"));
-        }
-        tTraining.setNonParticipants(nonParticipants);
-        logger.info("isFinish:" + isFinish);
-        logger.info("nonParticipants:" + nonParticipants);
-        tTrainingService.updateTTraining(tTraining);
-        //定期类-关联培训成绩
-        TTrainingDevice tTrainingDevice = new TTrainingDevice();
-        tTrainingDevice.setRegularId(tTraining.getId());
-        List<TTrainingDevice> tTrainingDevices = tTrainingDeviceService.selectTTrainingDeviceList(tTrainingDevice);
-        for (TTrainingDevice d : tTrainingDevices) {
-            if (d.getStaffId().equals(tTrainingNon.getStaffId())) {
-                if (tTrainingNon.getTrainingDate() != null) {
-                    d.setStartDate(tTrainingNon.getTrainingDate());
-                }else {
-                    d.setStartDate(null);
+            //新员工补培
+            TTrainingDevice tTrainingDevice = new TTrainingDevice();
+            tTrainingDevice.setRegularId(tTraining.getId());
+            List<TTrainingDevice> tTrainingDevices = tTrainingDeviceService.selectTTrainingDeviceList(tTrainingDevice);
+            //确定之前没有此人对应培训数据,0为没有,1为有
+            int neverHave = 0;
+            for (TTrainingDevice d : tTrainingDevices) {
+                if (d.getStaffId().equals(tTrainingNon.getStaffId())) {
+                    neverHave = 1;
+                }
+            }
+            logger.info("是否之前有此人数据:" + neverHave);
+            if (neverHave == 0) {
+                TTrainingDevice newDevice = new TTrainingDevice();
+                newDevice.setStaffId(staffmgr.getStaffid());
+                newDevice.setRegularId(tTraining.getId());
+                newDevice.setStartDate(tTrainingNon.getTrainingDate());
+                //新员工标识为2
+                newDevice.setSupplementary("2");
+                tTrainingDeviceService.insertTTrainingDevice(newDevice);
+            }else {
+                for (TTrainingDevice d : tTrainingDevices) {
+                    if (d.getStaffId().equals(tTrainingNon.getStaffId())) {
+                        d.setStartDate(tTrainingNon.getTrainingDate());
+                        d.setSupplementary("2");
+                        tTrainingDeviceService.updateTTrainingDevice(d);
+                    }
                 }
-                d.setSupplementary("1");
-                tTrainingDeviceService.updateTTrainingDevice(d);
             }
         }
         return toAjax(tTrainingNonService.insertTTrainingNon(tTrainingNon));
@@ -155,107 +188,118 @@ public class TTrainingNonController extends BaseController
         List<TTrainingNon> list = tTrainingNonService.selectTTrainingNonList(tTrainingNon);
         TTraining tTraining = tTrainingService.selectTTrainingById(tTrainingNon.getTrainingId());
         TStaffmgr staffmgr = tStaffmgrService.selectTStaffmgrByStaffId(tTrainingNon.getStaffId());
-        //查询此前是否存在未参会人员尚未参加补培
-        String[] nons = null;
-        if (tTraining.getNonParticipants() != null) {
-            nons = tTraining.getNonParticipants().split(",");
-        }
-        String nonParticipants = null;
-        int isFinish = 0;
-        for (TTrainingNon non : list) {
-            if (non.getStaffId().equals(tTrainingNon.getStaffId())) {
-                logger.info("循环数据循环到修改的人员信息");
-                if (tTrainingNon.getTrainingDate() == null || tTrainingNon.getTrainingStaff() == null) {
-                    logger.info("该条修改数据缺失");
-                    isFinish = 1;
-                    //此前更改人员是否在要尚未参加补培人员名单中,0为没有,1为有
-                    int haveNon = 0;
-                    if (nons == null) {
-                        logger.info("此前没有未参会人员尚未参加补培");
-                        nonParticipants = staffmgr.getName();
-                    }else {
-                        logger.info("此前存在未参会人员尚未参加补培");
-                        for (String n : nons) {
-                            if (n.equals(staffmgr.getName())) {
-                                haveNon = 1;
-                            }
-                        }
-                        if (haveNon == 0) {
-                            logger.info("此前未参加补培人员不包括更改人员");
-                            nonParticipants = tTraining.getNonParticipants() + "," + staffmgr.getName();
+        //为参培需补培人员
+        if (tTrainingNon.getIsNew().equals("0")) {
+            //查询此前是否存在未参会人员尚未参加补培
+            String[] nons = null;
+            if (tTraining.getNonParticipants() != null) {
+                nons = tTraining.getNonParticipants().split(",");
+            }
+            String nonParticipants = null;
+            int isFinish = 0;
+            for (TTrainingNon non : list) {
+                if (non.getStaffId().equals(tTrainingNon.getStaffId())) {
+                    logger.info("循环数据循环到修改的人员信息");
+                    if (tTrainingNon.getTrainingDate() == null || tTrainingNon.getTrainingStaff() == null) {
+                        logger.info("该条修改数据缺失");
+                        isFinish = 1;
+                        //此前更改人员是否在要尚未参加补培人员名单中,0为没有,1为有
+                        int haveNon = 0;
+                        if (nons == null) {
+                            logger.info("此前没有未参会人员尚未参加补培");
+                            nonParticipants = staffmgr.getName();
                         }else {
-                            logger.info("此前未参加补培人员包括更改人员");
-                            nonParticipants = tTraining.getNonParticipants();
-                        }
-                    }
-                }else {
-                    logger.info("该条修改数据完整");
-                    if (nons != null) {
-                        logger.info("此前存在未参会人员尚未参加补培");
-                        //此前未补培人员列表循环index
-                        int m = 0;
-                        //是否需要更改未补培人员名单,0为不需要,1为需要
-                        int t = 0;
-                        String[] newNons = new String[nons.length - 1];
-                        for (String n : nons) {
-                            if (n.equals(staffmgr.getName())) {
+                            logger.info("此前存在未参会人员尚未参加补培");
+                            for (String n : nons) {
+                                if (n.equals(staffmgr.getName())) {
+                                    haveNon = 1;
+                                }
+                            }
+                            if (haveNon == 0) {
+                                logger.info("此前未参加补培人员不包括更改人员");
+                                nonParticipants = tTraining.getNonParticipants() + "," + staffmgr.getName();
+                            }else {
                                 logger.info("此前未参加补培人员包括更改人员");
-                                t = 1;
-                                //删除该人员的名称
-                                int j = m;
-                                for(int i = 0, k = 0; i < nons.length; i++){
-                                    if(i != j){
-                                        newNons[k] = nons[i];
-                                        k++;
+                                nonParticipants = tTraining.getNonParticipants();
+                            }
+                        }
+                    }else {
+                        logger.info("该条修改数据完整");
+                        if (nons != null) {
+                            logger.info("此前存在未参会人员尚未参加补培");
+                            //此前未补培人员列表循环index
+                            int m = 0;
+                            //是否需要更改未补培人员名单,0为不需要,1为需要
+                            int t = 0;
+                            String[] newNons = new String[nons.length - 1];
+                            for (String n : nons) {
+                                if (n.equals(staffmgr.getName())) {
+                                    logger.info("此前未参加补培人员包括更改人员");
+                                    t = 1;
+                                    //删除该人员的名称
+                                    int j = m;
+                                    for(int i = 0, k = 0; i < nons.length; i++){
+                                        if(i != j){
+                                            newNons[k] = nons[i];
+                                            k++;
+                                        }
                                     }
                                 }
+                                m++;
                             }
-                            m++;
-                        }
-                        logger.info("删除前人员名单:" + nons.toString());
-                        logger.info("删除后人员名单:" + newNons.toString());
-                        if (t == 1) {
-                            for (int i = 0; i < newNons.length; i++) {
-                                if (i == 0) {
-                                    nonParticipants = newNons[i];
-                                }else {
-                                    nonParticipants = nonParticipants + "," + newNons[i];
+                            logger.info("删除前人员名单:" + nons.toString());
+                            logger.info("删除后人员名单:" + newNons.toString());
+                            if (t == 1) {
+                                for (int i = 0; i < newNons.length; i++) {
+                                    if (i == 0) {
+                                        nonParticipants = newNons[i];
+                                    }else {
+                                        nonParticipants = nonParticipants + "," + newNons[i];
+                                    }
                                 }
+                            }else {
+                                nonParticipants = tTraining.getNonParticipants();
                             }
-                        }else {
-                            nonParticipants = tTraining.getNonParticipants();
                         }
                     }
+                }else {
+                    if (non.getTrainingDate() == null || non.getTrainingStaff() == null) {
+                        isFinish = 1;
+                    }
                 }
+            }
+            if (isFinish == 0) {
+                tTraining.setIsfinish(Long.parseLong("1"));
             }else {
-                if (non.getTrainingDate() == null || non.getTrainingStaff() == null) {
-                    isFinish = 1;
-                }
+                tTraining.setIsfinish(Long.parseLong("0"));
             }
-        }
-        if (isFinish == 0) {
-            tTraining.setIsfinish(Long.parseLong("1"));
-        }else {
-            tTraining.setIsfinish(Long.parseLong("0"));
-        }
-        tTraining.setNonParticipants(nonParticipants);
-        logger.info("isFinish:" + isFinish);
-        logger.info("nonParticipants:" + nonParticipants);
-        tTrainingService.updateTTraining(tTraining);
-        //定期类-关联培训成绩
-        TTrainingDevice tTrainingDevice = new TTrainingDevice();
-        tTrainingDevice.setRegularId(tTraining.getId());
-        List<TTrainingDevice> tTrainingDevices = tTrainingDeviceService.selectTTrainingDeviceList(tTrainingDevice);
-        for (TTrainingDevice d : tTrainingDevices) {
-            if (d.getStaffId().equals(tTrainingNon.getStaffId())) {
-                if (tTrainingNon.getTrainingDate() != null) {
-                    d.setStartDate(tTrainingNon.getTrainingDate());
-                }else {
-                    d.setStartDate(null);
+            tTraining.setNonParticipants(nonParticipants);
+            logger.info("isFinish:" + isFinish);
+            logger.info("nonParticipants:" + nonParticipants);
+            tTrainingService.updateTTraining(tTraining);
+            //定期类-关联培训成绩
+            TTrainingDevice tTrainingDevice = new TTrainingDevice();
+            tTrainingDevice.setRegularId(tTraining.getId());
+            List<TTrainingDevice> tTrainingDevices = tTrainingDeviceService.selectTTrainingDeviceList(tTrainingDevice);
+            for (TTrainingDevice d : tTrainingDevices) {
+                if (d.getStaffId().equals(tTrainingNon.getStaffId())) {
+                    if (tTrainingNon.getTrainingDate() != null) {
+                        d.setStartDate(tTrainingNon.getTrainingDate());
+                    }else {
+                        d.setStartDate(null);
+                    }
+                    d.setSupplementary("1");
+                    tTrainingDeviceService.updateTTrainingDevice(d);
                 }
-                d.setSupplementary("1");
-                tTrainingDeviceService.updateTTrainingDevice(d);
             }
+        }else {
+            //新员工补培
+            TTrainingDevice tTrainingDevice = new TTrainingDevice();
+            tTrainingDevice.setRegularId(tTraining.getId());
+            tTrainingDevice.setStaffId(tTrainingNon.getStaffId());
+            List<TTrainingDevice> tTrainingDevices = tTrainingDeviceService.selectTTrainingDeviceList(tTrainingDevice);
+            tTrainingDevices.get(0).setStartDate(tTrainingNon.getTrainingDate());
+            tTrainingDeviceService.updateTTrainingDevice(tTrainingDevices.get(0));
         }
         return toAjax(tTrainingNonService.updateTTrainingNon(tTrainingNon));
     }
@@ -272,64 +316,76 @@ public class TTrainingNonController extends BaseController
             List<TTrainingNon> list = tTrainingNonService.selectTTrainingNonList(tTrainingNon);
             TTraining tTraining = tTrainingService.selectTTrainingById(tTrainingNon.getTrainingId());
             TStaffmgr staffmgr = tStaffmgrService.selectTStaffmgrByStaffId(tTrainingNon.getStaffId());
-            String nonParticipants = null;
-            int isFinish = 0;
-            for (TTrainingNon non : list) {
-                if (non.getStaffId().equals(tTrainingNon.getStaffId())) {
-                    if (tTrainingNon.getTrainingDate() == null || tTrainingNon.getTrainingStaff() == null) {
-                        logger.info("删除的该人员存在未补培人员名单中");
-                        String[] nons = tTraining.getNonParticipants().split(",");
-                        //此前未补培人员列表循环index
-                        int m = 0;
-                        String[] newNons = new String[nons.length - 1];
-                        for (String n : nons) {
-                            if (n.equals(staffmgr.getName())) {
-                                //删除该人员的名称
-                                int j = m;
-                                for(int i = 0, k = 0; i < nons.length; i++){
-                                    if(i != j){
-                                        newNons[k] = nons[i];
-                                        k++;
+            //为参培需补培人员
+            if (tTrainingNon.getIsNew().equals("0")) {
+                String nonParticipants = null;
+                int isFinish = 0;
+                for (TTrainingNon non : list) {
+                    if (non.getStaffId().equals(tTrainingNon.getStaffId())) {
+                        if (tTrainingNon.getTrainingDate() == null || tTrainingNon.getTrainingStaff() == null) {
+                            logger.info("删除的该人员存在未补培人员名单中");
+                            String[] nons = tTraining.getNonParticipants().split(",");
+                            //此前未补培人员列表循环index
+                            int m = 0;
+                            String[] newNons = new String[nons.length - 1];
+                            for (String n : nons) {
+                                if (n.equals(staffmgr.getName())) {
+                                    //删除该人员的名称
+                                    int j = m;
+                                    for(int i = 0, k = 0; i < nons.length; i++){
+                                        if(i != j){
+                                            newNons[k] = nons[i];
+                                            k++;
+                                        }
                                     }
                                 }
+                                m++;
                             }
-                            m++;
-                        }
-                        for (int i = 0; i < newNons.length; i++) {
-                            if (i == 0) {
-                                nonParticipants = newNons[i];
-                            }else {
-                                nonParticipants = nonParticipants + "," + newNons[i];
+                            for (int i = 0; i < newNons.length; i++) {
+                                if (i == 0) {
+                                    nonParticipants = newNons[i];
+                                }else {
+                                    nonParticipants = nonParticipants + "," + newNons[i];
+                                }
                             }
+                        }else {
+                            logger.info("删除的该人员不在未补培人员名单中");
+                            nonParticipants = tTraining.getNonParticipants();
                         }
                     }else {
-                        logger.info("删除的该人员不在未补培人员名单中");
-                        nonParticipants = tTraining.getNonParticipants();
+                        if (non.getTrainingDate() == null || non.getTrainingStaff() == null) {
+                            isFinish = 1;
+                        }
                     }
+                }
+                if (isFinish == 0) {
+                    tTraining.setIsfinish(Long.parseLong("1"));
                 }else {
-                    if (non.getTrainingDate() == null || non.getTrainingStaff() == null) {
-                        isFinish = 1;
-                    }
+                    tTraining.setIsfinish(Long.parseLong("0"));
+                }
+                tTraining.setNonParticipants(nonParticipants);
+                logger.info("isFinish:" + isFinish);
+                logger.info("nonParticipants:" + nonParticipants);
+                tTrainingService.updateTTraining(tTraining);
+                //定期类-关联培训成绩
+                TTrainingDevice tTrainingDevice = new TTrainingDevice();
+                tTrainingDevice.setRegularId(tTraining.getId());
+                tTrainingDevice.setStaffId(tTrainingNon.getStaffId());
+                List<TTrainingDevice> tTrainingDevices = tTrainingDeviceService.selectTTrainingDeviceList(tTrainingDevice);
+                if (tTrainingDevices.get(0).getStaffId().equals(tTrainingNon.getStaffId())) {
+                    tTrainingDevices.get(0).setStartDate(tTraining.getStartDate());
+                    tTrainingDevices.get(0).setSupplementary("0");
+                    tTrainingDeviceService.updateTTrainingDevice(tTrainingDevices.get(0));
                 }
-            }
-            if (isFinish == 0) {
-                tTraining.setIsfinish(Long.parseLong("1"));
             }else {
-                tTraining.setIsfinish(Long.parseLong("0"));
-            }
-            tTraining.setNonParticipants(nonParticipants);
-            logger.info("isFinish:" + isFinish);
-            logger.info("nonParticipants:" + nonParticipants);
-            tTrainingService.updateTTraining(tTraining);
-            //定期类-关联培训成绩
-            TTrainingDevice tTrainingDevice = new TTrainingDevice();
-            tTrainingDevice.setRegularId(tTraining.getId());
-            tTrainingDevice.setStaffId(tTrainingNon.getStaffId());
-            List<TTrainingDevice> tTrainingDevices = tTrainingDeviceService.selectTTrainingDeviceList(tTrainingDevice);
-            if (tTrainingDevices.get(0).getStaffId().equals(tTrainingNon.getStaffId())) {
-                tTrainingDevices.get(0).setStartDate(tTraining.getStartDate());
-                tTrainingDevices.get(0).setSupplementary("0");
-                tTrainingDeviceService.updateTTrainingDevice(tTrainingDevices.get(0));
+                //新员工补培
+                TTrainingDevice tTrainingDevice = new TTrainingDevice();
+                tTrainingDevice.setRegularId(tTraining.getId());
+                tTrainingDevice.setStaffId(tTrainingNon.getStaffId());
+                List<TTrainingDevice> tTrainingDevices = tTrainingDeviceService.selectTTrainingDeviceList(tTrainingDevice);
+                if (tTrainingDevices.get(0).getStaffId().equals(tTrainingNon.getStaffId())) {
+                    tTrainingDeviceService.deleteTTrainingDeviceById(tTrainingDevices.get(0).getId());
+                }
             }
         }
         return toAjax(tTrainingNonService.deleteTTrainingNonByIds(ids));

+ 1 - 1
master/src/main/java/com/ruoyi/project/training/controller/TTrainingParticipantsController.java

@@ -75,7 +75,7 @@ public class TTrainingParticipantsController extends BaseController
         List<TTrainingCompanylevel> tTrainingCompanylevels = tTrainingCompanylevelService.selectTTrainingCompanylevelList(new TTrainingCompanylevel());
         TStaffmgr staffmgr = new TStaffmgr();
         staffmgr.setUnits("10,18");
-        List<TStaffmgr> staffmgrs = tStaffmgrService.selectTStaffmgrList(staffmgr);
+        List<TStaffmgr> staffmgrs = tStaffmgrService.selectRecordList(staffmgr);
         for (int i = 0; i < tTrainingCompanylevels.size(); i++) {
             //每一类公司级培训数据
             List<String> company = new ArrayList<>();

+ 20 - 15
master/src/main/java/com/ruoyi/project/training/domain/TTrainingNon.java

@@ -59,6 +59,9 @@ public class TTrainingNon extends BaseEntity
     @Excel(name = "补培讲师id")
     private String trainingStaff;
 
+    /** 是否为新员工补培(0为未参培,1为新员工) */
+    private String isNew;
+
     /** 补培讲师姓名 */
     private String staffName;
 
@@ -161,23 +164,25 @@ public class TTrainingNon extends BaseEntity
     public String getStaffName() { return staffName; }
 
     public void setStaffName(String staffName) { this.staffName = staffName; }
+    public String getIsNew() { return isNew; }
+
+    public void setIsNew(String isNew) { this.isNew = isNew; }
 
     @Override
     public String toString() {
-        return "TTrainingNon{" +
-                "id=" + id +
-                ", delFlag=" + delFlag +
-                ", createrCode='" + createrCode + '\'' +
-                ", createdate=" + createdate +
-                ", updaterCode='" + updaterCode + '\'' +
-                ", updatedate=" + updatedate +
-                ", remarks='" + remarks + '\'' +
-                ", trainingDate=" + trainingDate +
-                ", staffId='" + staffId + '\'' +
-                ", name='" + name + '\'' +
-                ", trainingId=" + trainingId +
-                ", trainingStaff='" + trainingStaff + '\'' +
-                ", staffName='" + staffName + '\'' +
-                '}';
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+                .append("id", getId())
+                .append("delFlag", getDelFlag())
+                .append("createrCode", getCreaterCode())
+                .append("createdate", getCreatedate())
+                .append("updaterCode", getUpdaterCode())
+                .append("updatedate", getUpdatedate())
+                .append("remarks", getRemarks())
+                .append("trainingDate", getTrainingDate())
+                .append("staffId", getStaffId())
+                .append("trainingId", getTrainingId())
+                .append("trainingStaff", getTrainingStaff())
+                .append("isNew", getIsNew())
+                .toString();
     }
 }

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

@@ -106,6 +106,25 @@
         ORDER BY s0.DICT_SORT, s1.DICT_SORT ,s.DICT_SORT
     </select>
 
+    <select id="selectRecordList" parameterType="TStaffmgr" resultMap="TStaffmgrResult">
+        <include refid="selectTStaffmgrVo"/>
+        LEFT JOIN SYS_DICT_DATA s on d.ACTUALPOST = s.DICT_VALUE and s.DICT_TYPE = 'ACTUALPOST'
+        <where>
+            <if test="units != null  and units != ''">
+                and
+                unit in
+                <foreach collection="units.split(',')" item="item" index="index"
+                         open="(" close=")" separator=",">
+                    #{item}
+                </foreach>
+            </if>
+            and d.del_flag = 0
+        </where>
+        <!-- 数据范围过滤 -->
+        ${params.dataScope}
+        ORDER BY s.DICT_SORT, d.id
+    </select>
+
     <select id="selectList" parameterType="TStaffmgr" resultMap="TStaffmgrResult">
         <include refid="selectTStaffmgrVo"/>
         <where>

+ 6 - 1
master/src/main/resources/mybatis/training/TTrainingNonMapper.xml

@@ -16,12 +16,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="staffId"    column="staff_id"    />
         <result property="trainingId"    column="training_id"    />
         <result property="trainingStaff"    column="training_staff"    />
+        <result property="isNew"    column="is_new"    />
         <result property="name"    column="name"    />
         <result property="staffName"    column="staffName"    />
     </resultMap>
 
     <sql id="selectTTrainingNonVo">
-        select d.id, d.del_flag, t.name, m.name as staffName, d.creater_code, d.createdate, d.updater_code, d.updatedate, d.remarks, d.training_date, d.staff_id, d.training_id, d.training_staff from t_training_non d
+        select d.id, d.del_flag, t.name, m.name as staffName, d.creater_code, d.createdate, d.updater_code, d.updatedate, d.remarks, d.training_date, d.staff_id, d.training_id, d.training_staff, d.is_new from t_training_non d
         left join t_staffmgr t on t.staffid = d.staff_id
         left join t_staffmgr m on m.staffid = d.training_staff
     </sql>
@@ -30,6 +31,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <include refid="selectTTrainingNonVo"/>
         <where>
             <if test="trainingId != null "> and training_id = #{trainingId}</if>
+            <if test="isNew != null  and isNew != ''"> and is_new = #{isNew}</if>
             and d.del_flag = 0
         </where>
     </select>
@@ -56,6 +58,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="staffId != null">staff_id,</if>
             <if test="trainingId != null">training_id,</if>
             <if test="trainingStaff != null">training_staff,</if>
+            <if test="isNew != null">is_new,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="id != null">#{id},</if>
@@ -69,6 +72,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="staffId != null">#{staffId},</if>
             <if test="trainingId != null">#{trainingId},</if>
             <if test="trainingStaff != null">#{trainingStaff},</if>
+            <if test="isNew != null">#{isNew},</if>
          </trim>
     </insert>
 
@@ -87,6 +91,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="staffId == null">staff_id = NULL,</if>
             <if test="trainingId != null">training_id = #{trainingId},</if>
             <if test="trainingStaff != null">training_staff = #{trainingStaff},</if>
+            <if test="isNew != null">is_new = #{isNew},</if>
         </trim>
         where id = #{id}
     </update>

+ 1 - 0
ui/src/lang/en.js

@@ -564,6 +564,7 @@ export default {
   培训课程: 'Course',
   是否完成: 'Is Finish',
   未参培人员名单: 'Non-participants',
+  新员工补培: 'New employee',
   参会人员名单: 'Participants',
   培训开始日期: 'Training Start Date',
   培训结束日期: 'Training End Date',

+ 1 - 0
ui/src/lang/zh.js

@@ -564,6 +564,7 @@ export default {
   培训课程: '培训课程',
   是否完成: '是否完成',
   未参培人员名单: '未参培人员名单',
+  新员工补培: '新员工补培',
   参会人员名单: '参培人员名单',
   培训开始日期: '培训开始日期',
   培训结束日期: '培训结束日期',

+ 19 - 2
ui/src/views/training/training/index.vue

@@ -152,7 +152,7 @@
       </el-table-column>
       <el-table-column :label="$t('未参培人员名单')" align="center" prop="nonParticipants" width="200" :show-overflow-tooltip="true" />
       <el-table-column :label="$t('备注')" align="center" prop="remarks" :show-overflow-tooltip="true"/>
-      <el-table-column :label="$t('操作')" align="center" fixed="right" width="210" class-name="small-padding fixed-width">
+      <el-table-column :label="$t('操作')" align="center" fixed="right" width="270" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button
             size="mini"
@@ -174,6 +174,12 @@
             icon="el-icon-document"
             @click="getReport(scope.row)"
           >{{ $t('签名表') }}</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-news"
+            @click="handleNew(scope.row)"
+          >{{ $t('新员工补培') }}</el-button>
           <el-button
             size="mini"
             type="text"
@@ -202,6 +208,7 @@
     </form>
     <!-- 弹窗, 新增 / 修改 -->
     <non-add v-if="nonVisible" ref="nonAdd" @refreshDataList="getList" :showFlag="showFlag" @closeChildDialog="closeChildDialog"></non-add>
+    <new-add v-if="newVisible" ref="newAdd" @refreshDataList="getList" :showFlag="showFlag" @closeChildDialog="closeChildDialog"></new-add>
 
     <!-- 添加或修改培训计划对话框 -->
     <el-dialog v-dialogDrag :title="title" :visible.sync="open" width="800px" append-to-body>
@@ -510,6 +517,7 @@
 <script>
 import { listTraining, getTraining, delTraining, addTraining, updateTraining, exportTraining } from "@/api/training/training";
 import nonAdd from './trainingNon'
+import newAdd from './trainingNew'
 import { listStaffmgr } from "@/api/plant/staffmgr";
 import { treeselect } from "@/api/system/dept";
 import { getToken } from "@/utils/auth";
@@ -520,7 +528,7 @@ import { allFileList, listCommonfile, getCommonfile, delCommonfile, addCommonfil
 
 export default {
   name: "Training",
-  components: { Treeselect, nonAdd},
+  components: { Treeselect, nonAdd, newAdd},
   data() {
     return {
       // 遮罩层
@@ -591,6 +599,8 @@ export default {
       },
       //未参会人员弹窗是否打开
       nonVisible: false,
+      //新员工弹窗是否打开
+      newVisible: false,
       // 报告附件参数
       doc: {
         file: "",
@@ -1246,6 +1256,13 @@ export default {
         this.$refs.nonAdd.init(row)
       })
     },
+    /** 新员工补培按钮操作 */
+    handleNew(row) {
+      this.newVisible = true
+      this.$nextTick(() => {
+        this.$refs.newAdd.init(row)
+      })
+    },
     getFileList (){
       allFileList(this.doc.queryParams).then(response => {
         this.doc.commonfileList = response;

+ 259 - 0
ui/src/views/training/training/trainingNew.vue

@@ -0,0 +1,259 @@
+<template>
+  <el-dialog v-dialogDrag
+    :title="$t('新员工补培')"
+    :close-on-click-modal="false"
+    :visible.sync="visible"
+    @close="closeDialog">
+    <el-form :inline="true" :model="queryParams" @keyup.enter.native="getDataList()">
+      <el-form-item>
+        <el-button v-hasPermi="['training:training:trainingNon']" type="primary" @click="add()">{{ $t('新增') }}</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-table :data="trainingNonList" border>
+      <el-table-column :label="$t('新员工补培')" align="center" header-align="center" prop="staffId" :show-overflow-tooltip="true">
+        <template slot-scope="scope">
+          <el-select v-model="scope.row.staffId" v-if="scope.row.isEdit" filterable :placeholder="$t('请选择') + $t('未参会人员名单')">
+            <el-option
+              v-for="dict in stffmgrOptions"
+              :key="dict.staffid"
+              :label="dict.name"
+              :value="dict.staffid">
+              <span style="float: left">{{ dict.name }}</span>
+              <span style="float: right; color: #8492a6; font-size: 13px">{{ dict.staffid }}</span>
+            </el-option>
+          </el-select>
+          <span v-else>{{scope.row.name}}</span>
+        </template>
+      </el-table-column>
+      <el-table-column :label="$t('培训日期')" align="center" header-align="center" prop="trainingDate">
+        <template slot-scope="scope">
+          <el-date-picker
+            v-if="scope.row.isEdit"
+            v-model="scope.row.trainingDate"
+            type="date"
+            value-format="yyyy-MM-dd"
+            :placeholder="$t('日期')">
+          </el-date-picker>
+          <span v-else>{{ parseTime(scope.row.trainingDate, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column :label="$t('补培讲师')" align="center" header-align="center" prop="trainingStaff" :show-overflow-tooltip="true">
+        <template slot-scope="scope">
+          <el-select v-model="scope.row.trainingStaff" v-if="scope.row.isEdit" filterable :placeholder="$t('请选择') + $t('补培讲师')">
+            <el-option
+              v-for="dict in trainingstaffOptions"
+              :key="dict.staffid"
+              :label="dict.name"
+              :value="dict.staffid">
+              <span style="float: left">{{ dict.name }}</span>
+              <span style="float: right; color: #8492a6; font-size: 13px">{{ dict.staffid }}</span>
+            </el-option>
+          </el-select>
+          <span v-else>{{scope.row.staffName}}</span>
+        </template>
+      </el-table-column>
+      <el-table-column :label="$t('备注')" align="center" header-align="center" prop="remarks" :show-overflow-tooltip="true">
+        <template slot-scope="scope">
+          <el-input v-if="scope.row.isEdit" v-model="scope.row.remarks"></el-input>
+          <span v-else>{{scope.row.remarks}}</span>
+        </template>
+      </el-table-column>
+      <el-table-column :label="$t('操作')" align="center" fixed="right" width="120" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button v-hasPermi="['training:training:trainingNon']" type="text" size="small" v-if="scope.row.isEdit" @click="save(scope.row)">{{ $t('保存') }}</el-button>
+          <el-button type="text" size="small" v-if="scope.row.isEdit" @click="cancel(scope.row, scope.$index)">{{ $t('取消') }}</el-button>
+          <el-button v-hasPermi="['training:training:trainingNon']" v-if="!scope.row.isEdit" @click="edit(scope.row)" type="text" size="mini">{{ $t('编辑') }}</el-button>
+          <el-button v-hasPermi="['training:training:trainingNon']" v-if="!scope.row.isEdit" type="text" size="small" @click="deleteHandle(scope.row)">{{ $t('删除') }}</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+  </el-dialog>
+</template>
+
+<script>
+import { listTrainingNon, getTrainingNon, delTrainingNon, addTrainingNon, updateTrainingNon, exportTrainingNon, importTemplate} from "@/api/training/trainingNon";
+import { listStaffmgr, selectByStaffId } from "@/api/plant/staffmgr";
+
+export default {
+  name: "TrainingNew",
+  props: {
+    // 接受父级组件的显示标记,用于被watch
+    showFlag: {
+      type: Boolean
+    }
+  },
+  data() {
+    return {
+      visible: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 20,
+        trainingId: '',
+        isNew: 1
+      },
+      //人员表查询参数
+      staffmgrQueryParams: {
+        staffid: null,
+        unit: null,
+        actualposts: null
+      },
+      trainingStaffQueryParams: {},
+      // 培训计划未参加人员表格数据
+      trainingNonList: [],
+      //人员表联查
+      stffmgrOptions: undefined,
+      trainingstaffOptions: undefined,
+      //指定人员名单
+      designatedStaffs: [],
+      // 总条数
+      total: 0,
+      // 表单参数
+      form: {},
+    }
+  },
+  watch: {
+    // 观察父级组件的showFlag,并将showFlag的最新值设置给dialogVisible
+    showFlag (newVal, oldVal) {
+      this.visible = newVal
+    }
+  },
+  methods: {
+    init (row) {
+      this.queryParams.trainingId = row.id || 0
+      this.staffmgrQueryParams.units = row.unitid
+      this.staffmgrQueryParams.actualposts = row.positionid
+      if (row.designatedStaff != null) {
+        this.designatedStaffs = row.designatedStaff.split(',')
+      }else {
+        this.designatedStaffs = []
+      }
+      this.getStaffmar()
+      this.visible = true
+    },
+    //获取人员表
+    getStaffmar() {
+      listStaffmgr(this.staffmgrQueryParams).then(response => {
+        this.stffmgrOptions = response.rows;
+        if (this.designatedStaffs.length > 0) {
+          selectByStaffId(this.designatedStaffs).then(response => {
+            this.stffmgrOptions = this.stffmgrOptions.concat(response.data)
+          })
+        }
+      });
+      listStaffmgr(this.trainingStaffQueryParams).then(response => {
+        this.trainingstaffOptions = response.rows;
+      });
+      this.$nextTick(() => {
+        this.getList();
+      })
+    },
+    /** 查询培训计划未参加人员列表 */
+    getList() {
+      this.loading = true;
+      listTrainingNon(this.queryParams).then(response => {
+        this.total = response.total;
+          response.rows.forEach(element => {
+            element["isEdit"] = false
+          });
+          response.rows.forEach(element => {
+            element["isAdd"] = false
+          });
+          this.trainingNonList = response.rows;
+
+        this.loading = false;
+      });
+    },
+    /**
+     * 关闭弹出框事件,触发父级组件的getList方法
+     */
+    closeDialog () {
+      this.$emit('closeChildDialog')
+    },
+      // 取消
+    cancel(row, index) {
+      // 如果是新增的数据
+      if (row.isAdd) {
+        this.trainingNonList.splice(index, 1)
+      } else {
+        // 不是新增的数据  还原数据
+        for (const i in row.oldRow) {
+          row[i] = row.oldRow[i]
+        }
+        row.isEdit = false
+      }
+    },
+    edit(row) {
+      // 备份原始数据
+      row['oldRow'] = JSON.parse(JSON.stringify(row));
+      this.$nextTick(() => {
+        row.isEdit = true;
+      })
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        delFlag: null,
+        createrCode: null,
+        createdate: null,
+        updaterCode: null,
+        updatedate: null,
+        remarks: null,
+        trainingDate: null,
+        staffId: null,
+        trainingId: null,
+        trainingStaff: null,
+        isNew: 1
+      };
+      this.resetForm("form");
+    },
+    add() {
+      this.trainingNonList.push({
+        trainingId: this.queryParams.trainingId,
+        staffId: '',
+        trainingDate: '',
+        isNew: 1,
+        isEdit: true,
+        isAdd: true
+      });
+    },
+    save(row) {
+      row.isEdit = false;
+      var that = this;
+      that.loading = true;
+      this.form = row;
+      this.form.trainingId = this.queryParams.trainingId;
+      this.form.isNew = 1;
+      if (row.isAdd == true) {
+        addTrainingNon(this.form).then(response => {
+          this.msgSuccess(this.$t('新增成功'));
+          this.open = false;
+          this.getList();
+        });
+      }else {
+        updateTrainingNon(this.form).then(response => {
+          this.msgSuccess(this.$t('修改成功'));
+          this.open = false;
+          this.getList();
+        });
+      }
+    },
+    /** 删除按钮操作 */
+    deleteHandle(row) {
+      const ids = row.id || this.ids;
+      this.$confirm(this.$t('是否确认删除?'), this.$t('警告'), {
+        confirmButtonText: this.$t('确定'),
+        cancelButtonText: this.$t('取消'),
+        type: "warning"
+        }).then(function() {
+          return delTrainingNon(ids);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess(this.$t('删除成功'));
+        })
+    },
+  }
+};
+</script>

+ 6 - 22
ui/src/views/training/training/trainingNon.vue

@@ -90,7 +90,8 @@ export default {
       queryParams: {
         pageNum: 1,
         pageSize: 20,
-        trainingId: ''
+        trainingId: '',
+        isNew: 0
       },
       //人员表查询参数
       staffmgrQueryParams: {
@@ -203,7 +204,8 @@ export default {
         trainingDate: null,
         staffId: null,
         trainingId: null,
-        trainingStaff: null
+        trainingStaff: null,
+        isNew: 0
       };
       this.resetForm("form");
     },
@@ -212,6 +214,7 @@ export default {
         trainingId: this.queryParams.trainingId,
         staffId: '',
         trainingDate: '',
+        isNew: 0,
         isEdit: true,
         isAdd: true
       });
@@ -222,6 +225,7 @@ export default {
       that.loading = true;
       this.form = row;
       this.form.trainingId = this.queryParams.trainingId;
+      this.form.isNew = 0;
       if (row.isAdd == true) {
         addTrainingNon(this.form).then(response => {
           this.msgSuccess(this.$t('新增成功'));
@@ -236,26 +240,6 @@ export default {
         });
       }
     },
-    /** 提交按钮 */
-    submitForm() {
-      this.$refs["form"].validate(valid => {
-        if (valid) {
-          if (this.form.id != null) {
-            updateTrainingNon(this.form).then(response => {
-              this.msgSuccess(this.$t('修改成功'));
-              this.open = false;
-              this.getList();
-            });
-          } else {
-            addTrainingNon(this.form).then(response => {
-              this.msgSuccess(this.$t('新增成功'));
-              this.open = false;
-              this.getList();
-            });
-          }
-        }
-      });
-    },
     /** 删除按钮操作 */
     deleteHandle(row) {
       const ids = row.id || this.ids;

+ 6 - 6
ui/src/views/training/trainingrecords/index.vue

@@ -365,7 +365,7 @@
         </div>
     </el-dialog>
     <!-- 公司级培训跟踪矩阵对话框 -->
-    <el-dialog v-dialogDrag :title="companyTrainingTitle" :visible.sync="companyTrainingOpen" width="1500px" append-to-body @close="closeDialog()">
+    <el-dialog v-dialogDrag :title="companyTrainingTitle" :visible.sync="companyTrainingOpen" width="1400px" append-to-body @close="closeDialog()">
       <div>
         <svg-icon icon-class="rectangleGreen" class="rectangleGreen"></svg-icon>
         <span>{{ $t('需参加培训,已经完成培训人员') }}</span>
@@ -400,7 +400,7 @@
       </el-table>
     </el-dialog>
     <!-- 装置级培训跟踪矩阵对话框 -->
-    <el-dialog v-dialogDrag :title="deviceTrainingTitle" :visible.sync="deviceTrainingOpen" width="1500px" append-to-body @close="closeDialog()">
+    <el-dialog v-dialogDrag :title="deviceTrainingTitle" :visible.sync="deviceTrainingOpen" width="1400px" append-to-body @close="closeDialog()">
       <el-form :model="deviceParams" ref="queryRegularForm" label-width="68px" :inline="true">
         <el-form-item :label="$t('年份')" prop="year">
           <el-date-picker clearable size="small" style="width: 200px"
@@ -436,12 +436,12 @@
                 :row-style="{height:'40px'}"
                 ref="deviceTable"
       >
-        <el-table-column :label="$t('课程代码')" align="center" width="120" fixed>
+        <el-table-column :label="$t('课程代码')" align="center" width="100" fixed>
           <template slot-scope="scope">
             {{scope.row[0]}}
           </template>
         </el-table-column>
-        <el-table-column :label="$t('装置级') +$t('空格') + $t('培训课程')+$t('空格') + $t('名称')" align="center" width="350" fixed>
+        <el-table-column :label="$t('装置级') +$t('空格') + $t('培训课程')+$t('空格') + $t('名称')" align="center" width="250" fixed>
           <template slot-scope="scope">
             {{scope.row[1]}}
           </template>
@@ -481,7 +481,7 @@
       </el-table>
     </el-dialog>
     <!-- 公司级培训对话框 -->
-    <el-dialog v-dialogDrag :title="companyTitle" :visible.sync="companyOpen" width="1500px" append-to-body>
+    <el-dialog v-dialogDrag :title="companyTitle" :visible.sync="companyOpen" width="1400px" append-to-body>
       <el-table v-loading="loading" :data="participantsList" border>
         <el-table-column :label="$t('课程代码')" align="center" prop="courseCode" width="150" :show-overflow-tooltip="true"/>
         <el-table-column :label="$t('公司级') + $t('空格') + $t('培训课程') + $t('空格') + $t('名称')" align="center" prop="companyItem" width="400" :show-overflow-tooltip="true"/>
@@ -511,7 +511,7 @@
       </el-table>
     </el-dialog>
     <!-- 装置级培训对话框 -->
-    <el-dialog v-dialogDrag :title="deviceTitle" :visible.sync="deviceOpen" width="1500px" append-to-body>
+    <el-dialog v-dialogDrag :title="deviceTitle" :visible.sync="deviceOpen" width="1400px" append-to-body>
       <el-form :model="queryDeviceParams" ref="queryRegularForm" label-width="68px" :inline="true">
         <el-form-item :label="$t('年份')" prop="year">
           <el-date-picker clearable size="small" style="width: 200px"