Explorar el Código

LY 调度会议

ly hace 1 año
padre
commit
38ec397db0
Se han modificado 17 ficheros con 487 adiciones y 287 borrados
  1. 6 2
      master/src/main/java/com/ruoyi/project/plant/controller/TMtMeetingController.java
  2. 12 10
      master/src/main/java/com/ruoyi/project/plant/controller/TMtdConfigController.java
  3. 58 9
      master/src/main/java/com/ruoyi/project/plant/controller/TMtdDailyController.java
  4. 3 0
      master/src/main/java/com/ruoyi/project/plant/controller/weekMeeting/TMtActionlistController.java
  5. 3 0
      master/src/main/java/com/ruoyi/project/plant/controller/weekMeeting/TMtEhsopenitemController.java
  6. 3 0
      master/src/main/java/com/ruoyi/project/plant/controller/weekMeeting/TMtInterlockController.java
  7. 3 0
      master/src/main/java/com/ruoyi/project/plant/controller/weekMeeting/TMtKeymaintenanceController.java
  8. 3 0
      master/src/main/java/com/ruoyi/project/plant/controller/weekMeeting/TMtMessageattentionController.java
  9. 3 0
      master/src/main/java/com/ruoyi/project/plant/controller/weekMeeting/TMtOpextrackController.java
  10. 3 0
      master/src/main/java/com/ruoyi/project/plant/controller/weekMeeting/TMtPersonController.java
  11. 3 0
      master/src/main/java/com/ruoyi/project/plant/controller/weekMeeting/TMtRiskreminderController.java
  12. 4 0
      master/src/main/java/com/ruoyi/project/plant/mapper/TMtdDailyMapper.java
  13. 9 2
      master/src/main/resources/mybatis/plant/TMtdDailyMapper.xml
  14. BIN
      master/src/main/resources/static/word/plant/dailymeeting.docx
  15. 9 0
      ui/src/api/plant/dailyMeeting.js
  16. 347 263
      ui/src/views/plant/dailyMeeting/detail.vue
  17. 18 1
      ui/src/views/plant/dailyMeeting/index.vue

+ 6 - 2
master/src/main/java/com/ruoyi/project/plant/controller/TMtMeetingController.java

@@ -10,6 +10,7 @@ import com.ruoyi.common.sendEmail.IMailService;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.file.FileUploadUtils;
 import com.ruoyi.framework.config.RuoYiConfig;
+import com.ruoyi.framework.interceptor.annotation.RepeatSubmit;
 import com.ruoyi.project.plant.domain.*;
 import com.ruoyi.project.plant.mapper.TMtOpextrackMapper;
 import com.ruoyi.project.plant.mapper.TMtPersonMapper;
@@ -119,6 +120,7 @@ public class TMtMeetingController extends BaseController {
      */
     @PreAuthorize("@ss.hasPermi('plant:meeting:edit')")
     @Log(title = "装置会议", businessType = BusinessType.INSERT)
+    @RepeatSubmit
     @PostMapping
     public AjaxResult add(@RequestBody TMtMeeting tMtMeeting) {
         tMtMeetingService.insertTMtMeeting(tMtMeeting);
@@ -133,6 +135,7 @@ public class TMtMeetingController extends BaseController {
      */
     @PreAuthorize("@ss.hasPermi('plant:meeting:edit')")
     @Log(title = "装置会议", businessType = BusinessType.UPDATE)
+    @RepeatSubmit
     @PutMapping
     public AjaxResult edit(@RequestBody TMtMeeting tMtMeeting) {
         tMtMeetingService.updateTMtMeeting(tMtMeeting);
@@ -349,10 +352,11 @@ public class TMtMeetingController extends BaseController {
     }
 
     /**
-     * 发送调度会议邮件
+     * 发送会议邮件
      */
     @PreAuthorize("@ss.hasPermi('plant:dailyMeeting:edit')")
-    @Log(title = "发送调度会议邮件", businessType = BusinessType.OTHER)
+    @Log(title = "发送周会议邮件", businessType = BusinessType.OTHER)
+    @RepeatSubmit
     @GetMapping("/sendMail")
     public AjaxResult sendMail(TMtMeeting tMtMeeting) {
         TMtMeeting mtMeeting = tMtMeetingService.selectTMtMeetingById(tMtMeeting.getId());

+ 12 - 10
master/src/main/java/com/ruoyi/project/plant/controller/TMtdConfigController.java

@@ -97,17 +97,19 @@ public class TMtdConfigController extends BaseController
             tMtdConfig.setDictList(dictList);
         }
         if (tMtdConfig.getConfigType() == 1) {
-            String[] arr = tMtdConfig.getConfigValue().split(",");
-            List<SysDictData> dictList = new ArrayList<>();
-            for (int i = 0; i < arr.length; i++) {
-                SysUser sysUser =  userMapper.selectUserByStaffId(arr[i]);
-                SysDictData dict = new SysDictData();
-                dict.setDictLabel(sysUser.getNickName());
-                dict.setDictValue(sysUser.getStaffId());
-                dict.setDictType(tMtdConfig.getConfigKey());
-                dictList.add(dict);
+            if (tMtdConfig.getConfigValue() != null) {
+                String[] arr = tMtdConfig.getConfigValue().split(",");
+                List<SysDictData> dictList = new ArrayList<>();
+                for (int i = 0; i < arr.length; i++) {
+                    SysUser sysUser =  userMapper.selectUserByStaffId(arr[i]);
+                    SysDictData dict = new SysDictData();
+                    dict.setDictLabel(sysUser.getNickName());
+                    dict.setDictValue(sysUser.getStaffId());
+                    dict.setDictType(tMtdConfig.getConfigKey());
+                    dictList.add(dict);
+                }
+                tMtdConfig.setDictList(dictList);
             }
-            tMtdConfig.setDictList(dictList);
         }
         return AjaxResult.success(tMtdConfig);
     }

+ 58 - 9
master/src/main/java/com/ruoyi/project/plant/controller/TMtdDailyController.java

@@ -18,8 +18,10 @@ import com.ruoyi.common.sendEmail.IMailService;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.file.FileUploadUtils;
 import com.ruoyi.framework.config.RuoYiConfig;
+import com.ruoyi.framework.interceptor.annotation.RepeatSubmit;
 import com.ruoyi.project.plant.domain.TMtdEmail;
 import com.ruoyi.project.plant.domain.TMtdItem;
+import com.ruoyi.project.plant.mapper.TMtdDailyMapper;
 import com.ruoyi.project.plant.mapper.TMtdItemMapper;
 import com.ruoyi.project.plant.service.ITMtdEmailService;
 import com.ruoyi.project.sems.safecheck.domain.TSpecWeekcheck;
@@ -74,6 +76,9 @@ public class TMtdDailyController extends BaseController
     private ITMtdEmailService tMtdEmailService;
     @Autowired
     private ISysUserService sysUserService;
+    @Resource
+    private TMtdDailyMapper tMtdDailyMapper;
+
     /**
      * 查询调度会议列表
      */
@@ -141,11 +146,51 @@ public class TMtdDailyController extends BaseController
         return AjaxResult.success(tMtdDaily);
     }
 
+    /**
+     * 获取调度会议详细信息
+     */
+    @GetMapping(value = "/last")
+    public AjaxResult getLast(TMtdDaily mtdDaily)
+    {
+
+        TMtdDaily tMtdDaily = tMtdDailyMapper.selectTMtdDailyLast(mtdDaily);
+        //获取item列表
+        TMtdItem item = new TMtdItem();
+        item.setDailyId(tMtdDaily.getId());
+        item.setItemType(0);
+        List<TMtdItem> item0 = tMtdItemMapper.selectTMtdItemList(item);
+
+        tMtdDaily.setItems0(item0);
+
+        item.setItemType(1);
+        List<TMtdItem> item1 = tMtdItemMapper.selectTMtdItemList(item);
+        tMtdDaily.setItems1(item1);
+
+        item.setItemType(2);
+        List<TMtdItem> item2 = tMtdItemMapper.selectTMtdItemList(item);
+        tMtdDaily.setItems2(item2);
+
+        item.setItemType(3);
+        List<TMtdItem> item3 = tMtdItemMapper.selectTMtdItemList(item);
+        tMtdDaily.setItems3(item3);
+
+        item.setItemType(4);
+        List<TMtdItem> item4 = tMtdItemMapper.selectTMtdItemList(item);
+        tMtdDaily.setItems4(item4);
+
+        item.setItemType(5);
+        List<TMtdItem> item5 = tMtdItemMapper.selectTMtdItemList(item);
+        tMtdDaily.setItems5(item5);
+        tMtdDaily.setId(null);
+        return AjaxResult.success(tMtdDaily);
+    }
+
     /**
      * 新增调度会议
      */
     @PreAuthorize("@ss.hasPermi('plant:dailyMeeting:add')")
     @Log(title = "调度会议", businessType = BusinessType.INSERT)
+    @RepeatSubmit
     @PostMapping
     public AjaxResult add(@RequestBody TMtdDaily tMtdDaily) throws IOException {
         logger.info(JSON.toJSONString(tMtdDaily));
@@ -160,6 +205,7 @@ public class TMtdDailyController extends BaseController
      */
     @PreAuthorize("@ss.hasPermi('plant:dailyMeeting:edit')")
     @Log(title = "调度会议", businessType = BusinessType.UPDATE)
+    @RepeatSubmit
     @PutMapping
     public AjaxResult edit(@RequestBody TMtdDaily tMtdDaily) throws IOException {
         logger.info(JSON.toJSONString(tMtdDaily));
@@ -185,6 +231,7 @@ public class TMtdDailyController extends BaseController
      */
     @PreAuthorize("@ss.hasPermi('plant:dailyMeeting:edit')")
     @Log(title = "发送调度会议邮件", businessType = BusinessType.OTHER)
+    @RepeatSubmit
     @GetMapping("/sendMail")
     public AjaxResult sendMail(TMtdDaily tMtdDaily)
     {
@@ -311,10 +358,11 @@ public class TMtdDailyController extends BaseController
         for (TMtdItem t: items
         ) {
             t.setItem(itemNum + "." + num);
-            if (StringUtils.isNotEmpty(t.getActionby())){
-                SysUser sysUser = sysUserMapper.selectUserByStaffId(t.getActionby());
-                t.setActionName(sysUser.getNickName());
-            }
+//            if (StringUtils.isNotEmpty(t.getActionby())){
+//                SysUser sysUser = sysUserMapper.selectUserByStaffId(t.getActionby());
+//                t.setActionName(sysUser.getNickName());
+//            }
+            t.setActionName(t.getActionby());
             if (tMtdDaily.getMeetingDate() != null) {
                 t.setBeginTime(DateUtils.parseDateToStr("MM-dd",tMtdDaily.getMeetingDate()));
             }
@@ -358,11 +406,12 @@ public class TMtdDailyController extends BaseController
         params.put("pgu", tMtdDaily.getPgu());
         params.put("aeu", tMtdDaily.getAeu());
 
-        logger.info("tMtdDaily.getRecorder()" + tMtdDaily.getRecorder());
-        if (StringUtils.isNotEmpty(tMtdDaily.getRecorder())) {
-            SysUser recorder = sysUserMapper.selectUserByStaffId(tMtdDaily.getRecorder());
-            params.put("recorder", recorder.getNickName());
-        }
+//        logger.info("tMtdDaily.getRecorder()" + tMtdDaily.getRecorder());
+//        if (StringUtils.isNotEmpty(tMtdDaily.getRecorder())) {
+//            SysUser recorder = sysUserMapper.selectUserByStaffId(tMtdDaily.getRecorder());
+//            params.put("recorder", recorder.getNickName());
+//        }
+        params.put("recorder", tMtdDaily.getRecorder());
         params.put("cracker",tMtdDaily.getAttendCracker());
         params.put("ctm",tMtdDaily.getAttendCtm());
         params.put("cta",tMtdDaily.getAttendCta());

+ 3 - 0
master/src/main/java/com/ruoyi/project/plant/controller/weekMeeting/TMtActionlistController.java

@@ -4,6 +4,7 @@ import java.util.*;
 
 import com.alibaba.fastjson.JSON;
 import com.ruoyi.common.utils.DictUtils;
+import com.ruoyi.framework.interceptor.annotation.RepeatSubmit;
 import com.ruoyi.framework.security.service.SysPermissionService;
 import com.ruoyi.project.common.domain.DataEntity;
 import com.ruoyi.project.plant.controller.TMtMeetingController;
@@ -168,6 +169,7 @@ public class TMtActionlistController extends BaseController {
      * 新增装置会议执行
      */
     @Log(title = "装置会议执行", businessType = BusinessType.INSERT)
+    @RepeatSubmit
     @PostMapping
     public AjaxResult add(@RequestBody TMtActionlist tMtActionlist) {
         tMtActionlist.setUpdatedate(new Date());
@@ -200,6 +202,7 @@ public class TMtActionlistController extends BaseController {
      * 修改装置会议执行
      */
     @Log(title = "装置会议执行", businessType = BusinessType.UPDATE)
+    @RepeatSubmit
     @PutMapping
     public AjaxResult edit(@RequestBody TMtActionlist tMtActionlist) {
         tMtActionlist.setUpdatedate(new Date());

+ 3 - 0
master/src/main/java/com/ruoyi/project/plant/controller/weekMeeting/TMtEhsopenitemController.java

@@ -4,6 +4,7 @@ import java.util.Date;
 import java.util.List;
 
 import com.ruoyi.common.utils.DictUtils;
+import com.ruoyi.framework.interceptor.annotation.RepeatSubmit;
 import com.ruoyi.project.plant.controller.TMtMeetingController;
 import com.ruoyi.project.plant.domain.TMtKeymaintenance;
 import com.ruoyi.project.system.domain.SysUser;
@@ -98,6 +99,7 @@ public class TMtEhsopenitemController extends BaseController {
      */
     @PreAuthorize("@ss.hasPermi('plant:ehsopenitem:edit')")
     @Log(title = "EHS开项跟踪", businessType = BusinessType.INSERT)
+    @RepeatSubmit
     @PostMapping
     public AjaxResult add(@RequestBody TMtEhsopenitem tMtEhsopenitem) {
         tMtEhsopenitem.setUpdatedate(new Date());
@@ -115,6 +117,7 @@ public class TMtEhsopenitemController extends BaseController {
      */
     @PreAuthorize("@ss.hasPermi('plant:ehsopenitem:edit')")
     @Log(title = "EHS开项跟踪", businessType = BusinessType.UPDATE)
+    @RepeatSubmit
     @PutMapping
     public AjaxResult edit(@RequestBody TMtEhsopenitem tMtEhsopenitem) {
         tMtEhsopenitem.setUpdatedate(new Date());

+ 3 - 0
master/src/main/java/com/ruoyi/project/plant/controller/weekMeeting/TMtInterlockController.java

@@ -3,6 +3,7 @@ package com.ruoyi.project.plant.controller.weekMeeting;
 import java.util.Date;
 import java.util.List;
 
+import com.ruoyi.framework.interceptor.annotation.RepeatSubmit;
 import com.ruoyi.project.plant.controller.TMtMeetingController;
 import com.ruoyi.project.plant.domain.TMtEhsopenitem;
 import com.ruoyi.project.system.domain.SysUser;
@@ -89,6 +90,7 @@ public class TMtInterlockController extends BaseController
      */
     @PreAuthorize("@ss.hasPermi('plant:interlock:edit')")
     @Log(title = "关键机组联锁旁路", businessType = BusinessType.INSERT)
+    @RepeatSubmit
     @PostMapping
     public AjaxResult add(@RequestBody TMtInterlock tMtInterlock)
     {
@@ -107,6 +109,7 @@ public class TMtInterlockController extends BaseController
      */
     @PreAuthorize("@ss.hasPermi('plant:interlock:edit')")
     @Log(title = "关键机组联锁旁路", businessType = BusinessType.UPDATE)
+    @RepeatSubmit
     @PutMapping
     public AjaxResult edit(@RequestBody TMtInterlock tMtInterlock)
     {

+ 3 - 0
master/src/main/java/com/ruoyi/project/plant/controller/weekMeeting/TMtKeymaintenanceController.java

@@ -4,6 +4,7 @@ import java.util.*;
 
 import com.alibaba.fastjson.JSON;
 import com.ruoyi.common.utils.DictUtils;
+import com.ruoyi.framework.interceptor.annotation.RepeatSubmit;
 import com.ruoyi.framework.security.service.SysPermissionService;
 import com.ruoyi.project.common.domain.DataEntity;
 import com.ruoyi.project.plant.controller.TMtMeetingController;
@@ -160,6 +161,7 @@ public class TMtKeymaintenanceController extends BaseController
      * 新增下周关键维修工作
      */
     @Log(title = "下周关键维修工作", businessType = BusinessType.INSERT)
+    @RepeatSubmit
     @PostMapping
     public AjaxResult add(@RequestBody TMtKeymaintenance tMtKeymaintenance)
     {
@@ -191,6 +193,7 @@ public class TMtKeymaintenanceController extends BaseController
      * 修改下周关键维修工作
      */
     @Log(title = "下周关键维修工作", businessType = BusinessType.UPDATE)
+    @RepeatSubmit
     @PutMapping
     public AjaxResult edit(@RequestBody TMtKeymaintenance tMtKeymaintenance)
     {

+ 3 - 0
master/src/main/java/com/ruoyi/project/plant/controller/weekMeeting/TMtMessageattentionController.java

@@ -5,6 +5,7 @@ import java.util.List;
 import java.util.Set;
 
 import com.ruoyi.common.utils.DictUtils;
+import com.ruoyi.framework.interceptor.annotation.RepeatSubmit;
 import com.ruoyi.framework.security.service.SysPermissionService;
 import com.ruoyi.project.plant.controller.TMtMeetingController;
 import com.ruoyi.project.plant.domain.TMtKeymaintenance;
@@ -136,6 +137,7 @@ public class TMtMessageattentionController extends BaseController {
      * 新增信息提醒
      */
     @Log(title = "信息提醒", businessType = BusinessType.INSERT)
+    @RepeatSubmit
     @PostMapping
     public AjaxResult add(@RequestBody TMtMessageattention tMtMessageattention) {
         tMtMessageattention.setUpdatedate(new Date());
@@ -166,6 +168,7 @@ public class TMtMessageattentionController extends BaseController {
      * 修改信息提醒
      */
     @Log(title = "信息提醒", businessType = BusinessType.UPDATE)
+    @RepeatSubmit
     @PutMapping
     public AjaxResult edit(@RequestBody TMtMessageattention tMtMessageattention) {
         tMtMessageattention.setUpdatedate(new Date());

+ 3 - 0
master/src/main/java/com/ruoyi/project/plant/controller/weekMeeting/TMtOpextrackController.java

@@ -3,6 +3,7 @@ package com.ruoyi.project.plant.controller.weekMeeting;
 import java.util.Date;
 import java.util.List;
 
+import com.ruoyi.framework.interceptor.annotation.RepeatSubmit;
 import com.ruoyi.project.plant.controller.TMtMeetingController;
 import com.ruoyi.project.plant.domain.TMtInterlock;
 import com.ruoyi.project.system.domain.SysUser;
@@ -89,6 +90,7 @@ public class TMtOpextrackController extends BaseController
      */
     @PreAuthorize("@ss.hasPermi('plant:opextrack:edit')")
     @Log(title = "OpEx项目跟踪", businessType = BusinessType.INSERT)
+    @RepeatSubmit
     @PostMapping
     public AjaxResult add(@RequestBody TMtOpextrack tMtOpextrack)
     {
@@ -107,6 +109,7 @@ public class TMtOpextrackController extends BaseController
      */
     @PreAuthorize("@ss.hasPermi('plant:opextrack:edit')")
     @Log(title = "OpEx项目跟踪", businessType = BusinessType.UPDATE)
+    @RepeatSubmit
     @PutMapping
     public AjaxResult edit(@RequestBody TMtOpextrack tMtOpextrack)
     {

+ 3 - 0
master/src/main/java/com/ruoyi/project/plant/controller/weekMeeting/TMtPersonController.java

@@ -4,6 +4,7 @@ import java.util.Date;
 import java.util.List;
 
 import com.alibaba.fastjson.JSON;
+import com.ruoyi.framework.interceptor.annotation.RepeatSubmit;
 import com.ruoyi.project.plant.controller.TMtMeetingController;
 import com.ruoyi.project.plant.domain.TMtdEmail;
 import com.ruoyi.project.plant.domain.TStaffmgr;
@@ -99,6 +100,7 @@ public class TMtPersonController extends BaseController
      */
     @PreAuthorize("@ss.hasPermi('plant:meeting:add')")
     @Log(title = "会议人员", businessType = BusinessType.INSERT)
+    @RepeatSubmit
     @PostMapping
     public AjaxResult add(@RequestBody TMtPerson tMtPerson)
     {
@@ -117,6 +119,7 @@ public class TMtPersonController extends BaseController
      */
     @PreAuthorize("@ss.hasPermi('plant:meeting:edit')")
     @Log(title = "会议人员", businessType = BusinessType.UPDATE)
+    @RepeatSubmit
     @PutMapping
     public AjaxResult edit(@RequestBody TMtPerson tMtPerson)
     {

+ 3 - 0
master/src/main/java/com/ruoyi/project/plant/controller/weekMeeting/TMtRiskreminderController.java

@@ -3,6 +3,7 @@ package com.ruoyi.project.plant.controller.weekMeeting;
 import java.util.Date;
 import java.util.List;
 
+import com.ruoyi.framework.interceptor.annotation.RepeatSubmit;
 import com.ruoyi.project.plant.controller.TMtMeetingController;
 import com.ruoyi.project.plant.domain.TMtOpextrack;
 import com.ruoyi.project.system.domain.SysUser;
@@ -89,6 +90,7 @@ public class TMtRiskreminderController extends BaseController
      */
     @PreAuthorize("@ss.hasPermi('plant:riskreminder:edit')")
     @Log(title = "风险提醒", businessType = BusinessType.INSERT)
+    @RepeatSubmit
     @PostMapping
     public AjaxResult add(@RequestBody TMtRiskreminder tMtRiskreminder)
     {
@@ -106,6 +108,7 @@ public class TMtRiskreminderController extends BaseController
      */
     @PreAuthorize("@ss.hasPermi('plant:riskreminder:edit')")
     @Log(title = "风险提醒", businessType = BusinessType.UPDATE)
+    @RepeatSubmit
     @PutMapping
     public AjaxResult edit(@RequestBody TMtRiskreminder tMtRiskreminder)
     {

+ 4 - 0
master/src/main/java/com/ruoyi/project/plant/mapper/TMtdDailyMapper.java

@@ -20,6 +20,8 @@ public interface TMtdDailyMapper
      */
     public TMtdDaily selectTMtdDailyById(Long id);
 
+    TMtdDaily selectTMtdDailyLast(TMtdDaily mtdDaily);
+
     /**
      * 查询调度会议列表
      *
@@ -60,4 +62,6 @@ public interface TMtdDailyMapper
      * @return 结果
      */
     public int deleteTMtdDailyByIds(Long[] ids);
+
+
 }

+ 9 - 2
master/src/main/resources/mybatis/plant/TMtdDailyMapper.xml

@@ -32,9 +32,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </resultMap>
 
     <sql id="selectTMtdDailyVo">
-        select d.id, d.recorder,su.nick_name as recorderName, d.meeting_no, d.meeting_date, d.venue, d.subject, d.attend_cracker, d.attend_ctm, d.attend_cta, d.attend_lab, d.safety_topic, d.del_flag, d.creater_code, d.createdate, d.updater_code, d.updatedate, d.dept_id , d.opt_mode, d.opt_item, d.split, d.pgu, d.aeu,d.word_url ,s.dept_name from t_mtd_daily d
+        select d.id, d.recorder, d.meeting_no, d.meeting_date, d.venue, d.subject, d.attend_cracker, d.attend_ctm, d.attend_cta, d.attend_lab, d.safety_topic, d.del_flag, d.creater_code, d.createdate, d.updater_code, d.updatedate, d.dept_id , d.opt_mode, d.opt_item, d.split, d.pgu, d.aeu,d.word_url ,s.dept_name from t_mtd_daily d
       left join sys_dept s on s.dept_id = d.dept_id
-      left join sys_user su on su.staffid = d.recorder and su.del_flag = 0
     </sql>
 
     <select id="selectTMtdDailyList" parameterType="TMtdDaily" resultMap="TMtdDailyResult">
@@ -63,6 +62,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         where id = #{id}
     </select>
 
+    <select id="selectTMtdDailyLast" parameterType="TMtdDaily" resultMap="TMtdDailyResult">
+        <include refid="selectTMtdDailyVo"/>
+        where d.DEL_FLAG = 0
+        ORDER BY d.id DESC
+        FETCH FIRST 1 ROW ONLY
+    </select>
+
+
     <insert id="insertTMtdDaily" parameterType="TMtdDaily">
         <selectKey keyProperty="id" resultType="long" order="BEFORE">
             SELECT seq_t_mtd_daily.NEXTVAL as id FROM DUAL

BIN
master/src/main/resources/static/word/plant/dailymeeting.docx


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

@@ -26,6 +26,15 @@ export function getDailyMeeting(id) {
   })
 }
 
+// 查询最新会议详细
+export function getDailyMeetingLast(query) {
+  return request({
+    url: '/plant/dailyMeeting/last',
+    method: 'get',
+    params: query
+  })
+}
+
 // 新增调度会议
 export function addDailyMeeting(data) {
   return request({

+ 347 - 263
ui/src/views/plant/dailyMeeting/detail.vue

@@ -1,13 +1,16 @@
 <template>
-    <div>
-      <el-form label-width="100px">
-        <el-row class="meetingbg">
-          <el-col :span="12">
-            <el-form-item label="会议时间"><el-date-picker v-model="form.meetingDate"  type="date"
-                                                       value-format="yyyy-MM-dd" /></el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="会议地点"><el-select v-model="form.venue">
+  <div>
+    <el-form label-width="100px">
+      <el-row class="meetingbg">
+        <el-col :span="12">
+          <el-form-item label="会议时间">
+            <el-date-picker v-model="form.meetingDate" type="date"
+                            value-format="yyyy-MM-dd"/>
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="会议地点">
+            <el-select v-model="form.venue">
               <el-option
                 v-for="dict in venueOptions"
                 :key="dict.dictValue"
@@ -15,230 +18,286 @@
                 :value="dict.dictValue"
               ></el-option>
 
-            </el-select></el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="会议名称">裂解装置调度</el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="记录人"><el-select v-model="form.recorder">
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="会议名称">裂解装置调度</el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="记录人">
+            <el-select v-model="form.recorder">
               <el-option
                 v-for="dict in recorderOptions"
                 :key="dict.dictValue"
                 :label="dict.dictLabel"
-                :value="dict.dictValue"
+                :value="dict.dictLabel"
               ></el-option>
 
-            </el-select></el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="主题">Daily Production</el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="参会人">
-              <el-col :span="2">Cracker:</el-col>
-              <el-col :span="22">
-                <el-checkbox-group v-model="attendCrackerList">
-                  <el-checkbox v-for="dict in attendCrackerOptions" :label="dict.dictLabel"></el-checkbox>
-                </el-checkbox-group>
-              </el-col>
-              <el-col :span="2">CTM:</el-col>
-              <el-col :span="22">
-                <el-checkbox-group v-model="attendCtmList">
-                  <el-checkbox v-for="dict in attendCtmOptions" :label="dict.dictLabel"></el-checkbox>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="24">
+          <el-form-item label="主题">Daily Production</el-form-item>
+        </el-col>
+        <el-col :span="24">
+          <el-form-item label="参会人">
+            <el-col :span="2">Cracker:</el-col>
+            <el-col :span="22">
+              <el-checkbox-group v-model="attendCrackerList">
+                <el-checkbox v-for="dict in attendCrackerOptions" :label="dict.dictLabel"></el-checkbox>
+              </el-checkbox-group>
+            </el-col>
+            <el-col :span="2">CTM:</el-col>
+            <el-col :span="22">
+              <el-checkbox-group v-model="attendCtmList">
+                <el-checkbox v-for="dict in attendCtmOptions" :label="dict.dictLabel"></el-checkbox>
 
-                </el-checkbox-group>
-              </el-col>
-              <el-col :span="2">CTA:</el-col>
-              <el-col :span="22">
-                <el-checkbox-group v-model="attendCtaList">
-                  <el-checkbox v-for="dict in attendCtaOptions" :label="dict.dictLabel"></el-checkbox>
+              </el-checkbox-group>
+            </el-col>
+            <el-col :span="2">CTA:</el-col>
+            <el-col :span="22">
+              <el-checkbox-group v-model="attendCtaList">
+                <el-checkbox v-for="dict in attendCtaOptions" :label="dict.dictLabel"></el-checkbox>
 
-                </el-checkbox-group>
-              </el-col>
-              <el-col :span="2">LAB:</el-col>
-              <el-col :span="22">
-                <el-checkbox-group v-model="attendLabList">
-                  <el-checkbox v-for="dict in attendLabOptions" :label="dict.dictLabel"></el-checkbox>
+              </el-checkbox-group>
+            </el-col>
+            <el-col :span="2">LAB:</el-col>
+            <el-col :span="22">
+              <el-checkbox-group v-model="attendLabList">
+                <el-checkbox v-for="dict in attendLabOptions" :label="dict.dictLabel"></el-checkbox>
 
-                </el-checkbox-group>
-              </el-col>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="Safety Topic">
-              <el-input type="textarea" style="width: 360px"  v-model="form.safetyTopic"></el-input>
-              </el-form-item>
-          </el-col>
-        </el-row>
+              </el-checkbox-group>
+            </el-col>
+          </el-form-item>
+        </el-col>
+        <el-col :span="24">
+          <el-form-item label="Safety Topic">
+            <el-input type="textarea" style="width: 360px" v-model="form.safetyTopic"></el-input>
+          </el-form-item>
+        </el-col>
+      </el-row>
 
-        <table class="color-table" width="100%" border="0" cellspacing="0">
-          <tr class="meetingbg">
-            <th>Item</th>
-            <th>Description</th>
-            <th>Action by</th>
-            <td></td>
-          </tr>
-          <!-- item1 -->
-          <tr class="yellowbg">
-            <td>1、</td>
-            <td>Production Activities</td>
-            <td></td>
-            <td></td>
-          </tr>
-          <tr class="yellowbg">
-            <td>1.1</td>
-            <td>裂解炉运行模式:
-              <el-input v-model="optModeData" style="width: 360px"></el-input>
+      <table class="color-table" width="100%" border="0" cellspacing="0">
+        <tr class="meetingbg">
+          <th>Item</th>
+          <th>Description</th>
+          <th>Action by</th>
+          <td></td>
+        </tr>
+        <!-- item1 -->
+        <tr class="yellowbg">
+          <td>1、</td>
+          <td>Production Activities</td>
+          <td></td>
+          <td></td>
+        </tr>
+        <tr class="yellowbg">
+          <td>1.1</td>
+          <td>裂解炉运行模式:
+            <el-input v-model="optModeData" style="width: 360px"></el-input>
 
-              <el-checkbox-group style="margin-top: 5px" v-model="optItemList" @change="changeOpt" >
-                <el-checkbox v-for="dict in optItemOptions" style="margin-left: 0px;margin-right: 5px;" :label="dict.dictLabel" border >
+            <el-checkbox-group style="margin-top: 5px" v-model="optItemList" @change="changeOpt">
+              <el-checkbox v-for="dict in optItemOptions" style="margin-left: 0px;margin-right: 5px;"
+                           :label="dict.dictLabel" border>
 
-                </el-checkbox>
-              </el-checkbox-group>
-            </td>
-            <td>ss</td>
-            <td></td>
-          </tr>
-          <tr class="yellowbg">
-            <td>1.2</td>
-            <td>负荷(t/hr):裂解:<el-input v-model="form.split" style="width: 160px"></el-input>
-              PGU:<el-input v-model="form.pgu" style="width: 160px"></el-input>
-              AEU:<el-input v-model="form.aeu" style="width: 160px"></el-input>
-            </td>
-            <td>ss</td>
-            <td></td>
-          </tr>
-          <tr class="yellowbg" v-for="(item1, index) in form.items1" :key="'item1'+index">
-            <td>1.{{ 3 + index}}</td>
-            <td><el-input type="textarea" :autosize="{ minRows: 1}" v-model="item1.description"></el-input></td>
-            <td><el-select v-model="item1.actionby">
+              </el-checkbox>
+            </el-checkbox-group>
+          </td>
+          <td>ss</td>
+          <td></td>
+        </tr>
+        <tr class="yellowbg">
+          <td>1.2</td>
+          <td>负荷(t/hr):裂解:
+            <el-input v-model="form.split" style="width: 160px"></el-input>
+            PGU:
+            <el-input v-model="form.pgu" style="width: 160px"></el-input>
+            AEU:
+            <el-input v-model="form.aeu" style="width: 160px"></el-input>
+          </td>
+          <td>ss</td>
+          <td></td>
+        </tr>
+        <tr class="yellowbg" v-for="(item1, index) in form.items1" :key="'item1'+index">
+          <td>1.{{ 3 + index }}</td>
+          <td>
+            <el-input type="textarea" :autosize="{ minRows: 1}" v-model="item1.description"></el-input>
+          </td>
+          <td>
+            <el-select multiple filterable allow-create v-model="item1.actionby">
               <el-option
                 v-for="dict in actionOptions"
                 :key="dict.dictValue"
                 :label="dict.dictLabel"
-                :value="dict.dictValue"
+                :value="dict.dictLabel"
               ></el-option>
-            </el-select></td>
-            <td><el-button type="text" @click="deleteItem(1, index)">移除</el-button></td>
-          </tr>
-          <tr class="yellowbg">
-            <td colspan="4" style="text-align: right"><el-button @click="addItem(1)">新增</el-button></td>
-          </tr>
+            </el-select>
+          </td>
+          <td>
+            <el-button type="text" @click="deleteItem(1, index)">移除</el-button>
+          </td>
+        </tr>
+        <tr class="yellowbg">
+          <td colspan="4" style="text-align: right">
+            <el-button @click="addItem(1)">新增</el-button>
+          </td>
+        </tr>
 
-          <!-- item2 -->
-          <tr class="greenbg">
-            <td>2、</td>
-            <td>CTM Activities</td>
-            <td></td>
-            <td></td>
-          </tr>
-          <tr class="greenbg" v-for="(item2, index) in form.items2" :key="'item2'+index">
-            <td>2.{{ 1 + index}}</td>
-            <td><el-input type="textarea" :autosize="{ minRows: 1}" v-model="item2.description"></el-input></td>
-            <td><el-select v-model="item2.actionby">
+        <!-- item2 -->
+        <tr class="greenbg">
+          <td>2、</td>
+          <td>CTM Activities</td>
+          <td></td>
+          <td></td>
+        </tr>
+        <tr class="greenbg" v-for="(item2, index) in form.items2" :key="'item2'+index">
+          <td>2.{{ 1 + index }}</td>
+          <td>
+            <el-input type="textarea" :autosize="{ minRows: 1}" v-model="item2.description"></el-input>
+          </td>
+          <td>
+            <el-select filterable multiple allow-create v-model="item2.actionby">
               <el-option
                 v-for="dict in actionOptions"
                 :key="dict.dictValue"
                 :label="dict.dictLabel"
-                :value="dict.dictValue"
+                :value="dict.dictLabel"
               ></el-option>
-            </el-select></td>
-            <td><el-button type="text" @click="deleteItem(2, index)">移除</el-button></td>
-          </tr>
-          <tr class="greenbg" style="text-align: right">
-            <td colspan="4"><el-button @click="addItem(2)">新增</el-button></td>
-          </tr>
+            </el-select>
+          </td>
+          <td>
+            <el-button type="text" @click="deleteItem(2, index)">移除</el-button>
+          </td>
+        </tr>
+        <tr class="greenbg" style="text-align: right">
+          <td colspan="4">
+            <el-button @click="addItem(2)">新增</el-button>
+          </td>
+        </tr>
 
-          <!-- item3 -->
-          <tr class="yellowbg">
-            <td>3、</td>
-            <td>CTA Activities</td>
-            <td></td>
-            <td></td>
-          </tr>
-          <tr class="yellowbg" v-for="(item3, index) in form.items3" :key="'item3'+index">
-            <td>3.{{ 1 + index}}</td>
-            <td><el-input type="textarea" :autosize="{ minRows: 1}" v-model="item3.description"></el-input></td>
-            <td><el-select v-model="item3.actionby">
+        <!-- item3 -->
+        <tr class="yellowbg">
+          <td>3、</td>
+          <td>CTA Activities</td>
+          <td></td>
+          <td></td>
+        </tr>
+        <tr class="yellowbg" v-for="(item3, index) in form.items3" :key="'item3'+index">
+          <td>3.{{ 1 + index }}</td>
+          <td>
+            <el-input type="textarea" :autosize="{ minRows: 1}" v-model="item3.description"></el-input>
+          </td>
+          <td>
+            <el-select filterable multiple allow-create v-model="item3.actionby">
               <el-option
                 v-for="dict in actionOptions"
                 :key="dict.dictValue"
                 :label="dict.dictLabel"
-                :value="dict.dictValue"
+                :value="dict.dictLabel"
               ></el-option>
-            </el-select></td>
-            <td><el-button type="text" @click="deleteItem(3, index)">移除</el-button></td>
-          </tr>
-          <tr class="yellowbg" style="text-align: right">
-            <td colspan="4"><el-button @click="addItem(3)">新增</el-button></td>
-          </tr>
-          <!-- item4 -->
-          <tr class="greenbg">
-            <td>4、</td>
-            <td>高危作业</td>
-            <td></td>
-            <td></td>
-          </tr>
-          <tr class="greenbg" v-for="(item4, index) in form.items4" :key="'item4'+index">
-            <td>4.{{ 1 + index}}</td>
-            <td><el-input type="textarea" :autosize="{ minRows: 1}" v-model="item4.description"></el-input></td>
-            <td><el-select v-model="item4.actionby">
+            </el-select>
+          </td>
+          <td>
+            <el-button type="text" @click="deleteItem(3, index)">移除</el-button>
+          </td>
+        </tr>
+        <tr class="yellowbg" style="text-align: right">
+          <td colspan="4">
+            <el-button @click="addItem(3)">新增</el-button>
+          </td>
+        </tr>
+        <!-- item4 -->
+        <tr class="greenbg">
+          <td>4、</td>
+          <td>高危作业</td>
+          <td></td>
+          <td></td>
+        </tr>
+        <tr class="greenbg" v-for="(item4, index) in form.items4" :key="'item4'+index">
+          <td>4.{{ 1 + index }}</td>
+          <td>
+            <el-input type="textarea" :autosize="{ minRows: 1}" v-model="item4.description"></el-input>
+          </td>
+          <td>
+            <el-select filterable multiple allow-create v-model="item4.actionby">
               <el-option
                 v-for="dict in actionOptions"
                 :key="dict.dictValue"
                 :label="dict.dictLabel"
-                :value="dict.dictValue"
+                :value="dict.dictLabel"
               ></el-option>
-            </el-select></td>
-            <td><el-button type="text" @click="deleteItem(4, index)">移除</el-button></td>
-          </tr>
-          <tr class="greenbg" style="text-align: right">
-            <td colspan="4"><el-button @click="addItem(4)">新增</el-button></td>
-          </tr>
-          <!-- item5 -->
-          <tr class="yellowbg">
-            <td>5、</td>
-            <td>其他</td>
-            <td></td>
-            <td></td>
-          </tr>
-          <tr class="yellowbg" v-for="(item5, index) in form.items5" :key="'item5'+index">
-            <td>5.{{ 1 + index}}</td>
-            <td><el-input type="textarea" :autosize="{ minRows: 1}" v-model="item5.description">
+            </el-select>
+          </td>
+          <td>
+            <el-button type="text" @click="deleteItem(4, index)">移除</el-button>
+          </td>
+        </tr>
+        <tr class="greenbg" style="text-align: right">
+          <td colspan="4">
+            <el-button @click="addItem(4)">新增</el-button>
+          </td>
+        </tr>
+        <!-- item5 -->
+        <tr class="yellowbg">
+          <td>5、</td>
+          <td>其他</td>
+          <td></td>
+          <td></td>
+        </tr>
+        <tr class="yellowbg" v-for="(item5, index) in form.items5" :key="'item5'+index">
+          <td>5.{{ 1 + index }}</td>
+          <td>
+            <el-input type="textarea" :autosize="{ minRows: 1}" v-model="item5.description">
 
-            </el-input></td>
-            <td><el-select v-model="item5.actionby">
+            </el-input>
+          </td>
+          <td>
+            <el-select filterable multiple allow-create v-model="item5.actionby">
               <el-option
                 v-for="dict in actionOptions"
                 :key="dict.dictValue"
                 :label="dict.dictLabel"
-                :value="dict.dictValue"
+                :value="dict.dictLabel"
               ></el-option>
-            </el-select></td>
-            <td><el-button type="text" @click="deleteItem(5, index)">移除</el-button></td>
-          </tr>
-          <tr class="yellowbg" style="text-align: right">
-            <td colspan="4"><el-button @click="addItem(5)">新增</el-button></td>
-          </tr>
-        </table>
-      </el-form>
-      <el-form label-width="100px">
-        <el-form-item style="text-align: center;margin-left:-100px;margin-top:10px;">
-          <el-button v-hasPermi="['plant:dailyMeeting:edit']" type="primary" @click="submitForm()">提交</el-button>
-          <el-button @click="close()">返回</el-button>
-        </el-form-item>
-      </el-form>
-    </div>
+            </el-select>
+          </td>
+          <td>
+            <el-button type="text" @click="deleteItem(5, index)">移除</el-button>
+          </td>
+        </tr>
+        <tr class="yellowbg" style="text-align: right">
+          <td colspan="4">
+            <el-button @click="addItem(5)">新增</el-button>
+          </td>
+        </tr>
+      </table>
+    </el-form>
+    <el-form label-width="100px">
+      <el-form-item style="text-align: center;margin-left:-100px;margin-top:10px;">
+        <el-button v-hasPermi="['plant:dailyMeeting:edit']" type="primary" @click="submitForm()">提交</el-button>
+        <el-button @click="close()">返回</el-button>
+      </el-form-item>
+    </el-form>
+  </div>
 </template>
 
 <script>
-import { listDailyMeeting, getDailyMeeting, delDailyMeeting, addDailyMeeting, updateDailyMeeting, exportDailyMeeting, importTemplate} from "@/api/plant/dailyMeeting";
-import { listDailyMeetingConfig, getDailyMeetingConfig} from "@/api/plant/dailyMeetingConfig";
+import {
+  listDailyMeeting,
+  getDailyMeetingLast,
+  getDailyMeeting,
+  delDailyMeeting,
+  addDailyMeeting,
+  updateDailyMeeting,
+  exportDailyMeeting,
+  importTemplate
+} from "@/api/plant/dailyMeeting";
+import {listDailyMeetingConfig, getDailyMeetingConfig} from "@/api/plant/dailyMeetingConfig";
 
 export default {
   name: "dailyMeetingDetail",
-  data () {
+  data() {
     return {
       optModeData: null,
       venueOptions: null,
@@ -272,7 +331,6 @@ export default {
         createdate: null,
         updaterCode: null,
         updatedate: null,
-
         optItem: null,
         deptId: null,
         val1: '',
@@ -281,21 +339,11 @@ export default {
         val4: '',
         val5: '',
         val6: '',
-        items1: [{
-
-        }],
-        items2: [{
-
-        }],
-        items3: [{
-
-        }],
-        items4: [{
-
-        }],
-        items5: [{
-
-        }]
+        items1: [{}],
+        items2: [{}],
+        items3: [{}],
+        items4: [{}],
+        items5: [{}]
       }
     }
   },
@@ -304,7 +352,8 @@ export default {
     getDailyMeetingConfig(1).then(response => { // 地点
       this.venueOptions = response.data.dictList;
       if (pId == 0) {
-        this.form.venue = this.venueOptions[0].dictValue      }
+        this.form.venue = this.venueOptions[0].dictValue
+      }
     });
 
     getDailyMeetingConfig(3).then(response => { // 运行明细
@@ -347,92 +396,124 @@ export default {
     if (pId != 0) {
       getDailyMeeting(pId).then(response => {
         this.form = response.data
-        this.optItemList=  response.data.optItem.split(",")
-        this.attendCrackerList= response.data.attendCracker.split(",")
-        this.attendCtmList= response.data.attendCtm.split(",")
-        this.attendCtaList= response.data.attendCta.split(",")
-        this.attendLabList= response.data.attendLab.split(",")
+        this.optItemList = response.data.optItem.split(",")
+        this.attendCrackerList = response.data.attendCracker.split(",")
+        this.attendCtmList = response.data.attendCtm.split(",")
+        this.attendCtaList = response.data.attendCta.split(",")
+        this.attendLabList = response.data.attendLab.split(",")
         this.optModeData = response.data.optMode
+        this.getSelectVal(this.form.items1)
+        this.getSelectVal(this.form.items2)
+        this.getSelectVal(this.form.items3)
+        this.getSelectVal(this.form.items4)
+        this.getSelectVal(this.form.items5)
       });
-    }else {
-      this.form.safetyTopic =  "1、现场动火安全 \n" +
-        "2、环保注意事项"
-      this.attendCrackerList = this.attendCrackerOptions;
-      this.optModeData = "9+1+A+B"
-      this.form.meetingDate = new Date()
-      console.log(this.$store.state.user.staffId)
-      this.form.recorder = this.$store.state.user.staffId
+    } else {
+      let param = {}
+      getDailyMeetingLast(param).then(response => {
+        this.form = response.data
+        this.optItemList = response.data.optItem.split(",")
+        this.attendCrackerList = response.data.attendCracker.split(",")
+        this.attendCtmList = response.data.attendCtm.split(",")
+        this.attendCtaList = response.data.attendCta.split(",")
+        this.attendLabList = response.data.attendLab.split(",")
+        this.optModeData = response.data.optMode
+        this.getSelectVal(this.form.items1)
+        this.getSelectVal(this.form.items2)
+        this.getSelectVal(this.form.items3)
+        this.getSelectVal(this.form.items4)
+        this.getSelectVal(this.form.items5)
+        this.form.safetyTopic = "1、现场动火安全 \n" +
+          "2、环保注意事项"
+        // this.attendCrackerList = this.attendCrackerOptions;
+        // this.optModeData = "9+1+A+B"
+        this.form.meetingDate = new Date()
+        console.log(this.$store.state.user.staffId)
+        this.form.recorder = this.$store.state.user.nickName
+      });
+
     }
   },
   methods: {
-    addItem (type) {
+    addItem(type) {
       if (type === 1) {
         this.form.items1.push({description: '', actionby: ''})
       } else if (type === 2) {
         this.form.items2.push({description: '', actionby: ''})
-      }else if (type === 3) {
+      } else if (type === 3) {
         this.form.items3.push({description: '', actionby: ''})
-      }else if (type === 4) {
+      } else if (type === 4) {
         this.form.items4.push({description: '', actionby: ''})
-      }else if (type === 5) {
+      } else if (type === 5) {
         this.form.items5.push({description: '', actionby: ''})
       }
     },
-    deleteItem (type, index) {
+    deleteItem(type, index) {
       if (type === 1) {
         this.form.items1.splice(index, 1)
       } else if (type === 2) {
         this.form.items2.splice(index, 1)
-      }else if (type === 3) {
+      } else if (type === 3) {
         this.form.items3.splice(index, 1)
-      }else if (type === 4) {
+      } else if (type === 4) {
         this.form.items4.splice(index, 1)
-      }else if (type === 5) {
+      } else if (type === 5) {
         this.form.items5.splice(index, 1)
       }
     },
+    getSelectVal(item) {
+      for (let i = 0; i < item.length; i++) {
+        if (item[i].actionby)
+          item[i].actionby = item[i].actionby.split(",")
+      }
+    },
+    setSelectVal(item) {
+      for (let i = 0; i < item.length; i++) {
+        if (item[i].actionby)
+          item[i].actionby = item[i].actionby.join(",")
+      }
+    },
     /** 提交按钮 */
     submitForm() {
+      this.form.optItem = this.optItemList.join(",")
+      this.form.attendCracker = this.attendCrackerList.join(",")
+      this.form.attendCtm = this.attendCtmList.join(",")
+      this.form.attendCta = this.attendCtaList.join(",")
+      this.form.attendLab = this.attendLabList.join(",")
+      this.form.optMode = this.optModeData
+      this.setSelectVal(this.form.items1)
+      this.setSelectVal(this.form.items2)
+      this.setSelectVal(this.form.items3)
+      this.setSelectVal(this.form.items4)
+      this.setSelectVal(this.form.items5)
       if (this.form.id != null) {
-        this.form.optItem = this.optItemList.join(",")
-        this.form.attendCracker = this.attendCrackerList.join(",")
-        this.form.attendCtm = this.attendCtmList.join(",")
-        this.form.attendCta = this.attendCtaList.join(",")
-        this.form.attendLab = this.attendLabList.join(",")
-        this.form.optMode = this.optModeData
         updateDailyMeeting(this.form).then(response => {
           this.msgSuccess("修改成功");
           this.close()
         });
       } else {
-        this.form.optItem = this.optItemList.join(",")
-        this.form.attendCracker = this.attendCrackerList.join(",")
-        this.form.attendCtm = this.attendCtmList.join(",")
-        this.form.attendCta = this.attendCtaList.join(",")
-        this.form.attendLab = this.attendLabList.join(",")
-        this.form.optMode = this.optModeData
         addDailyMeeting(this.form).then(response => {
           this.msgSuccess("新增成功");
           this.close()
         });
       }
     },
-    changeOpt(data){
+    changeOpt(data) {
       console.log(data)
-      let arr1 = ["H110","H112","H113","H115","H116","H118","H111","H114","H117"]
+      let arr1 = ["H110", "H112", "H113", "H115", "H116", "H118", "H111", "H114", "H117"]
       let arr2 = ["H130"]
       let arr3 = ["H109A"]
       let arr4 = ["H109B"]
-      let val1 = this.countDupVal(data,arr1)
-      if (this.countDupVal(data,arr2) > 0) {
+      let val1 = this.countDupVal(data, arr1)
+      if (this.countDupVal(data, arr2) > 0) {
         val1 = val1 + "+1"
-      }else {
+      } else {
         val1 = val1 + "+0"
       }
-      if (this.countDupVal(data,arr3) > 0) {
+      if (this.countDupVal(data, arr3) > 0) {
         val1 = val1 + "+A"
       }
-      if (this.countDupVal(data,arr4) > 0) {
+      if (this.countDupVal(data, arr4) > 0) {
         val1 = val1 + "+B"
       }
       console.log(val1)
@@ -441,32 +522,35 @@ export default {
     },
 
     countDupVal(array1, array2) {
-    // 找到两个数组的交集
-    const intersection = array1.filter(value => array2.includes(value));
-    // 返回交集中元素的个数
-    return intersection.length;
-},
+      // 找到两个数组的交集
+      const intersection = array1.filter(value => array2.includes(value));
+      // 返回交集中元素的个数
+      return intersection.length;
+    },
 
-/** 关闭按钮 */
+    /** 关闭按钮 */
     close() {
       this.$store.dispatch("tagsView/delView", this.$route);
-      this.$router.push({ path: "/plant/meeting/dailyMeeting", query: { t: Date.now()}})
+      this.$router.push({path: "/plant/meeting/dailyMeeting", query: {t: Date.now()}})
     },
   },
 
 }
 </script>
 <style lang="scss" scoped>
-  .meetingbg{
-    background-color: #D9E2F3;
-  }
-  .yellowbg{
-    background-color: #FFF3CB;
-  }
-  .greenbg{
-    background-color: #E2EFD9;
-  }
-  .color-table td, .color-table th{
-    padding: 10px 12px;
-  }
+.meetingbg {
+  background-color: #D9E2F3;
+}
+
+.yellowbg {
+  background-color: #FFF3CB;
+}
+
+.greenbg {
+  background-color: #E2EFD9;
+}
+
+.color-table td, .color-table th {
+  padding: 10px 12px;
+}
 </style>

+ 18 - 1
ui/src/views/plant/dailyMeeting/index.vue

@@ -100,7 +100,7 @@
           <span>{{ parseTime(scope.row.meetingDate, '{y}-{m}-{d}') }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="记录人" align="center" prop="recorderName" :show-overflow-tooltip="true"/>
+      <el-table-column label="记录人" align="center" prop="recorder" :show-overflow-tooltip="true"/>
       <el-table-column label="会议地点" align="center" prop="venue" :show-overflow-tooltip="true"/>
       <el-table-column label="主题" align="center" prop="subject" :show-overflow-tooltip="true"/>
       <el-table-column label="所属部门" align="center" prop="deptName" :show-overflow-tooltip="true"/>
@@ -112,6 +112,12 @@
             icon="el-icon-view"
             @click="wordView(scope.row.wordUrl)"
           >预览</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-download"
+            @click="handleDownload(scope.row)"
+          >{{ $t('下载') }}</el-button>
           <el-button
             size="mini"
             type="text"
@@ -408,6 +414,17 @@ export default {
           this.msgSuccess("删除成功");
         })
     },
+    /** 文件下载处理 */
+    handleDownload(row) {
+      var name = row.wordUrl;
+      var url = row.wordUrl;
+      var suffix = url.substring(url.lastIndexOf("."), url.length);
+      const a = document.createElement('a')
+      a.setAttribute('download', name)
+      a.setAttribute('target', '_blank')
+      a.setAttribute('href', process.env.VUE_APP_BASE_API + url)
+      a.click()
+    },
     /** 导出按钮操作 */
     handleExport() {
       const queryParams = this.queryParams;