ソースを参照

20220606_sun#711联合惩戒纳入认定

15143018065 2 年 前
コミット
f49e81c5c7
19 ファイル変更1689 行追加28 行削除
  1. 2 2
      ruoyi-api/ruoyi-api-ext/src/main/java/com/ruoyi/ext/api/enums/PunishmentsStatus.java
  2. 162 0
      ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/controller/ZwywLhcjNrrdController.java
  3. 3 0
      ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/domain/ZwywCyrySxxx.java
  4. 113 0
      ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/domain/ZwywLhcjNrrd.java
  5. 3 0
      ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/domain/ZwywYljgSxxx.java
  6. 21 0
      ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/mapper/ZwywLhcjNrrdMapper.java
  7. 2 0
      ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/service/IZwywCyrySxxxService.java
  8. 65 0
      ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/service/IZwywLhcjNrrdService.java
  9. 3 0
      ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/service/IZwywYljgSxxxService.java
  10. 35 4
      ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/service/impl/ZwywCyrySxxxServiceImpl.java
  11. 195 0
      ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/service/impl/ZwywLhcjNrrdServiceImpl.java
  12. 32 6
      ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/service/impl/ZwywYljgSxxxServiceImpl.java
  13. 38 0
      ruoyi-modules/mz-business/src/main/resources/mapper/business/ZwywLhcjNrrdMapper.xml
  14. 0 12
      ruoyi-modules/mz-organization/src/main/java/com/ruoyi/organization/service/impl/YljgKhJbxxServiceImpl.java
  15. 79 0
      ruoyi-ui/src/api/business/lhcj/mdgl/lhcjNrrd.js
  16. 462 0
      ruoyi-ui/src/views/business/lhcj/jgLhcj/lhcjNrrd/index.vue
  17. 470 0
      ruoyi-ui/src/views/business/lhcj/ryLhcj/lhcjNrrd/index.vue
  18. 2 2
      ruoyi-ui/src/views/business/lhcj/zdgz/cyryZdgz/index.vue
  19. 2 2
      ruoyi-ui/src/views/business/lhcj/zdgz/yljgZdgz/index.vue

+ 2 - 2
ruoyi-api/ruoyi-api-ext/src/main/java/com/ruoyi/ext/api/enums/PunishmentsStatus.java

@@ -9,8 +9,8 @@ public enum PunishmentsStatus {
     TJ("00", "待提交"), RD("01", "待认定"), ZDGZ("02", "进入重点关注名单")
     , GZ("03", "待下发告知书"), FK("04", "待反馈"), GS("05", "待公示")
     , SB("06", "待申辩"), SBCG("07", "申辩成功"), MD("08", "进入联合惩戒名单")
-    , OMD("09", "不进入名单"), SBZ("10", "申辩中"), YC("20", "已移出重点关注名单");
-
+    , OMD("09", "不进入名单(重点关注名单名单)"), SBZ("10", "申辩中"), YC("20", "已移出重点关注名单")
+    , OLMD("11", "不进入名单(联合惩戒名单)");
     private final String code;
     private final String info;
 

+ 162 - 0
ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/controller/ZwywLhcjNrrdController.java

@@ -0,0 +1,162 @@
+package com.ruoyi.business.controller;
+
+import java.util.List;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+
+import com.ruoyi.business.domain.ZwywCyrySxxx;
+import com.ruoyi.business.domain.ZwywYljgSxxx;
+import com.ruoyi.business.service.IZwywCyrySxxxService;
+import com.ruoyi.business.service.IZwywYljgSxxxService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.security.annotation.RequiresPermissions;
+import com.ruoyi.ext.api.validate.group.AddGroup;
+import com.ruoyi.business.domain.ZwywLhcjNrrd;
+import com.ruoyi.business.service.IZwywLhcjNrrdService;
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.web.page.TableDataInfo;
+
+/**
+ * 联合惩戒纳入认定信息Controller
+ * 
+ * @author sun
+ * @date 2022-06-06
+ */
+@RestController
+@RequestMapping("/lhcjNrrd")
+public class ZwywLhcjNrrdController extends BaseController
+{
+    @Autowired
+    private IZwywLhcjNrrdService zwywLhcjNrrdService;
+
+    @Autowired
+    private IZwywYljgSxxxService zwywYljgSxxxService;
+
+    @Autowired
+    private IZwywCyrySxxxService zwywCyrySxxxService;
+
+    /**
+     * 查询联合惩戒纳入认定信息列表
+     */
+    @RequiresPermissions("business:jgLhcjNrrd:list")
+    @GetMapping("/jg/list")
+    public TableDataInfo jgList(ZwywYljgSxxx sxxx)
+    {
+        startPage();
+        List<ZwywYljgSxxx> list = zwywYljgSxxxService.selectZwywYljgSxxxByNrrdList(sxxx);
+        return getDataTable(list);
+    }
+
+    /**
+     * 查询联合惩戒纳入认定信息列表
+     */
+    @RequiresPermissions("business:ryLhcjNrrd:list")
+    @GetMapping("/ry/list")
+    public TableDataInfo ryList(ZwywCyrySxxx sxxx)
+    {
+        startPage();
+        List<ZwywCyrySxxx> list = zwywCyrySxxxService.selectZwywCyrySxxxByNrrdList(sxxx);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出联合惩戒纳入认定信息列表
+     */
+    @RequiresPermissions("business:lhcjNrrd:export")
+    @Log(title = "联合惩戒纳入认定信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, ZwywLhcjNrrd zwywLhcjNrrd)
+    {
+        List<ZwywLhcjNrrd> list = zwywLhcjNrrdService.selectZwywLhcjNrrdList(zwywLhcjNrrd);
+        ExcelUtil<ZwywLhcjNrrd> util = new ExcelUtil<ZwywLhcjNrrd>(ZwywLhcjNrrd.class);
+        util.exportExcel(response, list, "联合惩戒纳入认定信息数据");
+    }
+
+    /**
+     * 获取联合惩戒纳入认定信息详细信息
+     */
+    @RequiresPermissions("business:lhcjNrrd:query")
+    @GetMapping(value = "/jg/{id}")
+    public AjaxResult getJgInfo(@PathVariable("id") String id)
+    {
+        return AjaxResult.success(zwywLhcjNrrdService.selectZwywJgLhcjNrrdById(id));
+    }
+
+    /**
+     * 获取联合惩戒纳入认定信息详细信息
+     */
+    @RequiresPermissions("business:lhcjNrrd:query")
+    @GetMapping(value = "/ry/{id}")
+    public AjaxResult getRyInfo(@PathVariable("id") String id)
+    {
+        return AjaxResult.success(zwywLhcjNrrdService.selectZwywRyLhcjNrrdById(id));
+    }
+
+    /**
+     * 新增联合惩戒纳入认定信息
+     */
+    @RequiresPermissions("business:lhcjNrrd:add")
+    @Log(title = "联合惩戒纳入认定信息", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@Validated({AddGroup.class}) @RequestBody ZwywLhcjNrrd zwywLhcjNrrd)
+    {
+        return toAjax(zwywLhcjNrrdService.insertZwywLhcjNrrd(zwywLhcjNrrd),zwywLhcjNrrd.getId());
+    }
+
+    /**
+     * 新增联合惩戒纳入认定信息
+     */
+    @RequiresPermissions("business:lhcjNrrd:add")
+    @Log(title = "联合惩戒纳入认定信息", businessType = BusinessType.INSERT)
+    @PostMapping(value = "/jg")
+    public AjaxResult jgAdd(@Validated({AddGroup.class}) @RequestBody ZwywLhcjNrrd zwywLhcjNrrd)
+    {
+        return toAjax(zwywLhcjNrrdService.insertZwywJgLhcjNrrd(zwywLhcjNrrd),zwywLhcjNrrd.getId());
+    }
+
+    /**
+     * 新增联合惩戒纳入认定信息
+     */
+    @RequiresPermissions("business:lhcjNrrd:add")
+    @Log(title = "联合惩戒纳入认定信息", businessType = BusinessType.INSERT)
+    @PostMapping(value = "/ry")
+    public AjaxResult ryAdd(@Validated({AddGroup.class}) @RequestBody ZwywLhcjNrrd zwywLhcjNrrd)
+    {
+        return toAjax(zwywLhcjNrrdService.insertZwywRyLhcjNrrd(zwywLhcjNrrd),zwywLhcjNrrd.getId());
+    }
+
+    /**
+     * 修改联合惩戒纳入认定信息
+     */
+    @RequiresPermissions("business:lhcjNrrd:edit")
+    @Log(title = "联合惩戒纳入认定信息", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@Validated @RequestBody ZwywLhcjNrrd zwywLhcjNrrd)
+    {
+        return toAjax(zwywLhcjNrrdService.updateZwywLhcjNrrd(zwywLhcjNrrd));
+    }
+
+    /**
+     * 删除联合惩戒纳入认定信息
+     */
+    @RequiresPermissions("business:lhcjNrrd:remove")
+    @Log(title = "联合惩戒纳入认定信息", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable String[] ids)
+    {
+        return toAjax(zwywLhcjNrrdService.deleteZwywLhcjNrrdByIds(ids));
+    }
+}

+ 3 - 0
ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/domain/ZwywCyrySxxx.java

@@ -194,4 +194,7 @@ public class ZwywCyrySxxx extends BaseEntity
 
     @TableField(exist = false)
     private String szxzqhNames;
+
+    @TableField(exist = false)
+    private ZwywLhcjNrrd nrrd;
 }

+ 113 - 0
ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/domain/ZwywLhcjNrrd.java

@@ -0,0 +1,113 @@
+package com.ruoyi.business.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.ruoyi.ext.api.validate.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.core.annotation.Excel;
+import com.ruoyi.ext.api.validate.group.AddGroup;
+import com.ruoyi.common.core.web.domain.BaseEntity;
+import org.hibernate.validator.constraints.Range;
+import com.ruoyi.ext.api.validate.DictV;
+import com.ruoyi.ext.api.validate.DateV;
+import com.ruoyi.ext.api.validate.MobileV;
+import com.ruoyi.ext.api.validate.PhoneV;
+import com.ruoyi.ext.api.validate.IdCardV;
+import com.ruoyi.ext.api.validate.NumberV;
+
+import javax.validation.constraints.Digits;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.Size;
+
+/**
+ * 联合惩戒纳入认定信息对象 zwyw_lhcj_nrrd
+ *
+ * @author sun
+ * @date 2022-06-06
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
+@TableName("zwyw_lhcj_nrrd")
+@ApiModel("联合惩戒纳入认定信息")
+public class ZwywLhcjNrrd extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 主键标识 */
+    @Excel(name = "主键标识")
+    @TableId(value = "id",type = IdType.ASSIGN_UUID)
+    @ApiModelProperty(value = "主键标识")
+    private String id;
+
+    /** 失信信息主键标识 */
+    @Excel(name = "失信信息主键标识")
+    @ApiModelProperty(value = "失信信息主键标识")
+    private String sxxxId;
+
+    /** 流程实例主键标识 */
+    @Excel(name = "流程实例主键标识")
+    @ApiModelProperty(value = "流程实例主键标识")
+    private String instanceId;
+
+    /** 处理结果(CZ024) */
+    @Excel(name = "处理结果", dictType = "CZ024")
+    @ApiModelProperty(value = "处理结果(CZ024)", required = true)
+    @NotBlank(message = "{处理结果}",groups = AddGroup.class)
+    @DictV(type = "CZ024",message = "{处理结果}")
+    private String cljg;
+
+    /** 认定依据 */
+    @Excel(name = "认定依据")
+    @ApiModelProperty(value = "认定依据")
+    @DictV(type = "XZ054",message = "{认定依据}")
+    private String rdyj;
+
+    /** 适用条款 */
+    @Excel(name = "适用条款")
+    @ApiModelProperty(value = "适用条款")
+    @DictV(type = "XZ058",message = "{适用条款}")
+    private String sytk;
+
+    /** 条款内容(CH037) */
+    @Excel(name = "条款内容", dictType = "CH037")
+    @ApiModelProperty(value = "条款内容(CH037)")
+    @DictV(type = "CH037", isMuti = true, message = "{条款内容}")
+    private String tknr;
+
+    /** 认定部门 */
+    @Excel(name = "认定部门")
+    @ApiModelProperty(value = "认定部门", required = true)
+    @NotBlank(message = "{认定部门}",groups = AddGroup.class)
+    @DictV(type = "XZ053",message = "{认定部门}")
+    private String rdbm;
+
+    /** 认定日期 */
+    @Excel(name = "认定日期")
+    @ApiModelProperty(value = "认定日期", required = true)
+    @NotBlank(message = "{认定日期}",groups = AddGroup.class)
+    @DateV(pattern = "yyyyMMdd", message = "{认定日期}")
+    private String rdrq;
+
+    /** 不纳入原因 */
+    @Excel(name = "不纳入原因")
+    @ApiModelProperty(value = "不纳入原因")
+    @Size(max = 500, message = "{不纳入原因}")
+
+    private String bnryy;
+
+    /** 相关材料 */
+    @Excel(name = "相关材料")
+    @ApiModelProperty(value = "相关材料")
+    @Size(max = 400, message = "{相关材料}")
+
+    private String xgcl;
+
+}

+ 3 - 0
ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/domain/ZwywYljgSxxx.java

@@ -188,4 +188,7 @@ public class ZwywYljgSxxx extends BaseEntity
 
     @TableField(exist = false)
     private String szxzqhNames;
+
+    @TableField(exist = false)
+    private ZwywLhcjNrrd nrrd;
 }

+ 21 - 0
ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/mapper/ZwywLhcjNrrdMapper.java

@@ -0,0 +1,21 @@
+package com.ruoyi.business.mapper;
+
+import java.util.List;
+import com.ruoyi.business.domain.ZwywLhcjNrrd;
+import com.ruoyi.common.datascope.handler.DataColumn;
+import com.ruoyi.common.datascope.handler.DataPermission;
+import com.ruoyi.common.datascope.utils.BaseMapperPlus;
+
+/**
+ * 联合惩戒纳入认定信息Mapper接口
+ * 
+ * @author sun
+ * @date 2022-06-06
+ */
+@DataPermission({
+        @DataColumn(key = "deptName", value = "create_unit")
+})
+public interface ZwywLhcjNrrdMapper extends BaseMapperPlus<ZwywLhcjNrrd> {
+
+    public ZwywLhcjNrrd selectNrrdBySxxxId(String id);
+}

+ 2 - 0
ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/service/IZwywCyrySxxxService.java

@@ -29,6 +29,8 @@ public interface IZwywCyrySxxxService
 
     public List<ZwywCyrySxxx> selectZwywCyrySxxxByLzztList(ZwywCyrySxxx zwywCyrySxxx);
 
+    public List<ZwywCyrySxxx> selectZwywCyrySxxxByNrrdList(ZwywCyrySxxx zwywCyrySxxx);
+
     /**
      * 新增从业人员失信信息
      *

+ 65 - 0
ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/service/IZwywLhcjNrrdService.java

@@ -0,0 +1,65 @@
+package com.ruoyi.business.service;
+
+import java.util.List;
+
+import com.ruoyi.business.domain.ZwywCyrySxxx;
+import com.ruoyi.business.domain.ZwywLhcjNrrd;
+import com.ruoyi.business.domain.ZwywYljgSxxx;
+
+/**
+ * 联合惩戒纳入认定信息Service接口
+ * 
+ * @author sun
+ * @date 2022-06-06
+ */
+public interface IZwywLhcjNrrdService 
+{
+    /**
+     * 查询联合惩戒纳入认定信息
+     * 
+     * @param id 联合惩戒纳入认定信息主键
+     * @return 联合惩戒纳入认定信息
+     */
+    public ZwywLhcjNrrd selectZwywLhcjNrrdById(String id);
+
+    public ZwywYljgSxxx selectZwywJgLhcjNrrdById(String id);
+
+    public ZwywCyrySxxx selectZwywRyLhcjNrrdById(String id);
+
+    /**
+     * 查询联合惩戒纳入认定信息列表
+     * 
+     * @param zwywLhcjNrrd 联合惩戒纳入认定信息
+     * @return 联合惩戒纳入认定信息集合
+     */
+    public List<ZwywLhcjNrrd> selectZwywLhcjNrrdList(ZwywLhcjNrrd zwywLhcjNrrd);
+
+    /**
+     * 新增联合惩戒纳入认定信息
+     * 
+     * @param zwywLhcjNrrd 联合惩戒纳入认定信息
+     * @return 结果
+     */
+    public int insertZwywLhcjNrrd(ZwywLhcjNrrd zwywLhcjNrrd);
+
+    public int insertZwywJgLhcjNrrd(ZwywLhcjNrrd zwywLhcjNrrd);
+
+    public int insertZwywRyLhcjNrrd(ZwywLhcjNrrd zwywLhcjNrrd);
+
+    /**
+     * 修改联合惩戒纳入认定信息
+     * 
+     * @param zwywLhcjNrrd 联合惩戒纳入认定信息
+     * @return 结果
+     */
+    public int updateZwywLhcjNrrd(ZwywLhcjNrrd zwywLhcjNrrd);
+
+    /**
+     * 批量删除联合惩戒纳入认定信息
+     * 
+     * @param ids 需要删除的联合惩戒纳入认定信息主键集合
+     * @return 结果
+     */
+    public int deleteZwywLhcjNrrdByIds(String[] ids);
+
+}

+ 3 - 0
ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/service/IZwywYljgSxxxService.java

@@ -28,6 +28,9 @@ public interface IZwywYljgSxxxService
     public List<ZwywYljgSxxx> selectZwywYljgSxxxList(ZwywYljgSxxx zwywYljgSxxx);
 
     public List<ZwywYljgSxxx> selectZwywYljgSxxxByLzztList(ZwywYljgSxxx zwywYljgSxxx);
+
+    public List<ZwywYljgSxxx> selectZwywYljgSxxxByNrrdList(ZwywYljgSxxx zwywYljgSxxx);
+
     /**
      * 新增养老机构失信信息
      *

+ 35 - 4
ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/service/impl/ZwywCyrySxxxServiceImpl.java

@@ -3,15 +3,15 @@ package com.ruoyi.business.service.impl;
 import java.util.*;
 
 import com.ruoyi.business.domain.DjpdSq;
+import com.ruoyi.business.domain.ZwywYljgSxxx;
 import com.ruoyi.business.mapper.SysDeptJlMapper;
+import com.ruoyi.business.mapper.ZwywLhcjNrrdMapper;
+import com.ruoyi.business.service.IZwywLhcjNrrdService;
 import com.ruoyi.common.core.exception.ServiceException;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.core.utils.uuid.IdUtils;
 import com.ruoyi.common.security.utils.SecurityUtils;
-import com.ruoyi.ext.api.enums.ApplicationStatus;
-import com.ruoyi.ext.api.enums.EstimationStatus;
-import com.ruoyi.ext.api.enums.PunishmentsStatus;
-import com.ruoyi.ext.api.enums.SysDeptJlStatus;
+import com.ruoyi.ext.api.enums.*;
 import com.ruoyi.system.api.domain.SysDept;
 import org.activiti.engine.runtime.ProcessInstance;
 import org.apache.commons.lang3.ObjectUtils;
@@ -40,6 +40,9 @@ public class ZwywCyrySxxxServiceImpl implements IZwywCyrySxxxService
     @Autowired
     private SysDeptJlMapper sysDeptJlMapper;
 
+    @Autowired
+    private ZwywLhcjNrrdMapper zwywLhcjNrrdMapper;
+
     /**
      * 查询从业人员失信信息
      *
@@ -101,6 +104,34 @@ public class ZwywCyrySxxxServiceImpl implements IZwywCyrySxxxService
         return zwywCyrySxxxMapper.selectZwywCyrySxxxByLzztList(zwywCyrySxxx);
     }
 
+    @Override
+    public List<ZwywCyrySxxx> selectZwywCyrySxxxByNrrdList(ZwywCyrySxxx zwywCyrySxxx)
+    {
+//        List<String> lzztList = new ArrayList<>();
+//        lzztList.add(PunishmentsStatus.RD.getCode());
+//        lzztList.add(PunishmentsStatus.ZDGZ.getCode());
+//        lzztList.add(PunishmentsStatus.GZ.getCode());
+//        lzztList.add(PunishmentsStatus.FK.getCode());
+//        lzztList.add(PunishmentsStatus.GS.getCode());
+//        lzztList.add(PunishmentsStatus.SB.getCode());
+//        lzztList.add(PunishmentsStatus.SBCG.getCode());
+//        lzztList.add(PunishmentsStatus.MD.getCode());
+//        lzztList.add(PunishmentsStatus.OMD.getCode());
+//        lzztList.add(PunishmentsStatus.SBZ.getCode());
+        LambdaQueryWrapper<ZwywCyrySxxx> lqw = new LambdaQueryWrapper<>(zwywCyrySxxx)
+                .like(ObjectUtils.isNotEmpty(zwywCyrySxxx.getXm()), ZwywCyrySxxx::getXm, zwywCyrySxxx.getXm())
+                .like(ObjectUtils.isNotEmpty(zwywCyrySxxx.getZjhm()), ZwywCyrySxxx::getZjhm, zwywCyrySxxx.getZjhm())
+                .eq(ObjectUtils.isNotEmpty(zwywCyrySxxx.getSzxzqh()), ZwywCyrySxxx::getSzxzqh, zwywCyrySxxx.getSzxzqh())
+                .eq(ObjectUtils.isNotEmpty(zwywCyrySxxx.getSjly()), ZwywCyrySxxx::getSjly, zwywCyrySxxx.getSjly())
+                .eq(ObjectUtils.isNotEmpty(zwywCyrySxxx.getLzzt()), ZwywCyrySxxx::getLzzt, zwywCyrySxxx.getLzzt())
+                .eq(ObjectUtils.isNotEmpty(zwywCyrySxxx.getLxdh()), ZwywCyrySxxx::getLxdh, zwywCyrySxxx.getLxdh())
+                .eq(ZwywCyrySxxx::getState, StateStatus.NORMAL.getCode());
+//                .in(ZwywCyrySxxx::getLzzt, lzztList);
+        List<ZwywCyrySxxx> res = zwywCyrySxxxMapper.selectList(lqw);
+        res.forEach(r -> r.setNrrd(zwywLhcjNrrdMapper.selectNrrdBySxxxId(r.getId())));
+        return res;
+    }
+
     /**
      * 新增从业人员失信信息
      *

+ 195 - 0
ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/service/impl/ZwywLhcjNrrdServiceImpl.java

@@ -0,0 +1,195 @@
+package com.ruoyi.business.service.impl;
+
+import java.util.List;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.bean.copier.CopyOptions;
+import com.ruoyi.business.domain.*;
+import com.ruoyi.business.mapper.*;
+import com.ruoyi.common.core.exception.ServiceException;
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.ext.api.enums.ProcessStatus;
+import com.ruoyi.ext.api.enums.PunishmentsStatus;
+import com.ruoyi.ext.api.enums.StateStatus;
+import org.apache.commons.lang3.ObjectUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import java.util.Arrays;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.ruoyi.business.service.IZwywLhcjNrrdService;
+
+/**
+ * 联合惩戒纳入认定信息Service业务层处理
+ * 
+ * @author sun
+ * @date 2022-06-06
+ */
+@Service
+public class ZwywLhcjNrrdServiceImpl implements IZwywLhcjNrrdService 
+{
+    @Autowired
+    private ZwywLhcjNrrdMapper zwywLhcjNrrdMapper;
+
+    @Autowired
+    private ZwywYljgSxxxMapper zwywYljgSxxxMapper;
+
+    @Autowired
+    private ZwywCyrySxxxMapper zwywCyrySxxxMapper;
+
+    @Autowired
+    private ZwywYljgZdgzMapper zwywYljgZdgzMapper;
+
+    @Autowired
+    private ZwywCyryZdgzMapper zwywCyryZdgzMapper;
+
+    @Autowired
+    private ZwywYljgSxxxServiceImpl zwywYljgSxxxServiceImpl;
+
+    @Autowired
+    private ZwywCyrySxxxServiceImpl zwywCyrySxxxServiceImpl;
+    /**
+     * 查询联合惩戒纳入认定信息
+     * 
+     * @param id 联合惩戒纳入认定信息主键
+     * @return 联合惩戒纳入认定信息
+     */
+    @Override
+    public ZwywLhcjNrrd selectZwywLhcjNrrdById(String id)
+    {
+        return zwywLhcjNrrdMapper.selectById(id);
+    }
+
+    @Override
+    public ZwywYljgSxxx selectZwywJgLhcjNrrdById(String id)
+    {
+        ZwywYljgSxxx res = zwywYljgSxxxServiceImpl.selectZwywYljgSxxxById(id);
+        if (ObjectUtils.isNotEmpty(res)) {
+            if (StringUtils.equals(res.getLzzt(), PunishmentsStatus.ZDGZ.getCode())
+                || StringUtils.equals(res.getLzzt(), PunishmentsStatus.YC.getCode())
+                    || StringUtils.equals(res.getLzzt(), PunishmentsStatus.OMD.getCode())) {
+                LambdaQueryWrapper<ZwywYljgZdgz> lqw = new LambdaQueryWrapper<ZwywYljgZdgz>()
+                        .eq(ZwywYljgZdgz::getSxxxId, id)
+                        .eq(ZwywYljgZdgz::getState, StateStatus.NORMAL.getCode());
+                ZwywYljgZdgz zdgz = zwywYljgZdgzMapper.selectList(lqw).stream().findFirst().orElse(null);
+                if (ObjectUtils.isNotEmpty(zdgz)) {
+                    ZwywLhcjNrrd nrrd = new ZwywLhcjNrrd();
+                    BeanUtil.copyProperties(zdgz, nrrd, new CopyOptions().ignoreNullValue());
+                    nrrd.setXgcl(zdgz.getRdxxXgcl());
+                    res.setNrrd(nrrd);
+                }
+            } else {
+                res.setNrrd(zwywLhcjNrrdMapper.selectNrrdBySxxxId(res.getId()));
+            }
+        }
+        return res;
+    }
+
+    @Override
+    public ZwywCyrySxxx selectZwywRyLhcjNrrdById(String id)
+    {
+        ZwywCyrySxxx res = zwywCyrySxxxServiceImpl.selectZwywCyrySxxxById(id);
+        if (ObjectUtils.isNotEmpty(res)) {
+            if (StringUtils.equals(res.getLzzt(), PunishmentsStatus.ZDGZ.getCode())
+                    || StringUtils.equals(res.getLzzt(), PunishmentsStatus.YC.getCode())
+                    || StringUtils.equals(res.getLzzt(), PunishmentsStatus.OMD.getCode())) {
+                LambdaQueryWrapper<ZwywCyryZdgz> lqw = new LambdaQueryWrapper<ZwywCyryZdgz>()
+                        .eq(ZwywCyryZdgz::getSxxxId, id)
+                        .eq(ZwywCyryZdgz::getState, StateStatus.NORMAL.getCode());
+                ZwywCyryZdgz zdgz = zwywCyryZdgzMapper.selectList(lqw).stream().findFirst().orElse(null);
+                if (ObjectUtils.isNotEmpty(zdgz)) {
+                    ZwywLhcjNrrd nrrd = new ZwywLhcjNrrd();
+                    BeanUtil.copyProperties(zdgz, nrrd, new CopyOptions().ignoreNullValue());
+                    nrrd.setXgcl(zdgz.getRdxxXgcl());
+                    res.setNrrd(nrrd);
+                }
+            } else {
+                res.setNrrd(zwywLhcjNrrdMapper.selectNrrdBySxxxId(res.getId()));
+            }
+        }
+        return res;
+    }
+
+    /**
+     * 查询联合惩戒纳入认定信息列表
+     * 
+     * @param zwywLhcjNrrd 联合惩戒纳入认定信息
+     * @return 联合惩戒纳入认定信息
+     */
+    @Override
+    public List<ZwywLhcjNrrd> selectZwywLhcjNrrdList(ZwywLhcjNrrd zwywLhcjNrrd)
+    {
+        return zwywLhcjNrrdMapper.selectList(new LambdaQueryWrapper<>(zwywLhcjNrrd));
+    }
+
+    /**
+     * 新增联合惩戒纳入认定信息
+     * 
+     * @param zwywLhcjNrrd 联合惩戒纳入认定信息
+     * @return 结果
+     */
+    @Override
+    public int insertZwywLhcjNrrd(ZwywLhcjNrrd zwywLhcjNrrd)
+    {
+        return zwywLhcjNrrdMapper.insert(zwywLhcjNrrd);
+    }
+
+    @Override
+    public int insertZwywJgLhcjNrrd(ZwywLhcjNrrd zwywLhcjNrrd)
+    {
+        zwywLhcjNrrd.setId(null);
+        ZwywYljgSxxx sxxx = zwywYljgSxxxMapper.selectById(zwywLhcjNrrd.getSxxxId());
+        if (ObjectUtils.isEmpty(sxxx)) {
+            throw new ServiceException("无效的失信信息");
+        }
+        if (StringUtils.equals(zwywLhcjNrrd.getCljg(), ProcessStatus.BRING.getCode())) {
+            sxxx.setLzzt(PunishmentsStatus.GZ.getCode());
+        } else {
+            sxxx.setLzzt(PunishmentsStatus.OLMD.getCode());
+        }
+        zwywYljgSxxxMapper.updateById(sxxx);
+        return zwywLhcjNrrdMapper.insert(zwywLhcjNrrd);
+    }
+
+    @Override
+    public int insertZwywRyLhcjNrrd(ZwywLhcjNrrd zwywLhcjNrrd)
+    {
+        zwywLhcjNrrd.setId(null);
+        ZwywCyrySxxx sxxx = zwywCyrySxxxMapper.selectById(zwywLhcjNrrd.getSxxxId());
+        if (ObjectUtils.isEmpty(sxxx)) {
+            throw new ServiceException("无效的失信信息");
+        }
+        if (StringUtils.equals(zwywLhcjNrrd.getCljg(), ProcessStatus.BRING.getCode())) {
+            sxxx.setLzzt(PunishmentsStatus.GZ.getCode());
+        } else {
+            sxxx.setLzzt(PunishmentsStatus.OLMD.getCode());
+        }
+        zwywCyrySxxxMapper.updateById(sxxx);
+        return zwywLhcjNrrdMapper.insert(zwywLhcjNrrd);
+    }
+
+    /**
+     * 修改联合惩戒纳入认定信息
+     * 
+     * @param zwywLhcjNrrd 联合惩戒纳入认定信息
+     * @return 结果
+     */
+    @Override
+    public int updateZwywLhcjNrrd(ZwywLhcjNrrd zwywLhcjNrrd)
+    {
+        return zwywLhcjNrrdMapper.updateById(zwywLhcjNrrd);
+    }
+
+    /**
+     * 批量删除联合惩戒纳入认定信息
+     * 
+     * @param ids 需要删除的联合惩戒纳入认定信息主键
+     * @return 结果
+     */
+    @Override
+    public int deleteZwywLhcjNrrdByIds(String[] ids)
+    {
+        return zwywLhcjNrrdMapper.deleteBatchIds(Arrays.asList(ids));
+    }
+
+}

+ 32 - 6
ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/service/impl/ZwywYljgSxxxServiceImpl.java

@@ -6,6 +6,7 @@ import cn.hutool.core.util.ObjectUtil;
 import com.ruoyi.business.domain.ZwywCyrySxxx;
 import com.ruoyi.business.domain.ZwywLrJbxx;
 import com.ruoyi.business.mapper.SysDeptJlMapper;
+import com.ruoyi.business.mapper.ZwywLhcjNrrdMapper;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.core.utils.uuid.IdUtils;
 import com.ruoyi.ext.api.enums.PunishmentsStatus;
@@ -35,6 +36,9 @@ public class ZwywYljgSxxxServiceImpl implements IZwywYljgSxxxService
     @Autowired
     private SysDeptJlMapper sysDeptJlMapper;
 
+    @Autowired
+    private ZwywLhcjNrrdMapper zwywLhcjNrrdMapper;
+
     /**
      * 查询养老机构失信信息
      *
@@ -93,15 +97,37 @@ public class ZwywYljgSxxxServiceImpl implements IZwywYljgSxxxService
     @Override
     public List<ZwywYljgSxxx> selectZwywYljgSxxxByLzztList(ZwywYljgSxxx zwywYljgSxxx)
     {
-        List<String> lzztList = new ArrayList<>();
-        lzztList.add(PunishmentsStatus.RD.getCode());
-        lzztList.add(PunishmentsStatus.ZDGZ.getCode());
-        LambdaQueryWrapper<ZwywYljgSxxx> lqw = new LambdaQueryWrapper<ZwywYljgSxxx>()
-                .eq(ZwywYljgSxxx::getState, StateStatus.NORMAL.getCode())
-                .in(ZwywYljgSxxx::getLzzt, lzztList);
         return zwywYljgSxxxMapper.selectZwywYljgSxxxByLzztList(zwywYljgSxxx);
     }
 
+    @Override
+    public List<ZwywYljgSxxx> selectZwywYljgSxxxByNrrdList(ZwywYljgSxxx zwywYljgSxxx)
+    {
+//        List<String> lzztList = new ArrayList<>();
+//        lzztList.add(PunishmentsStatus.RD.getCode());
+//        lzztList.add(PunishmentsStatus.ZDGZ.getCode());
+//        lzztList.add(PunishmentsStatus.GZ.getCode());
+//        lzztList.add(PunishmentsStatus.FK.getCode());
+//        lzztList.add(PunishmentsStatus.GS.getCode());
+//        lzztList.add(PunishmentsStatus.SB.getCode());
+//        lzztList.add(PunishmentsStatus.SBCG.getCode());
+//        lzztList.add(PunishmentsStatus.MD.getCode());
+//        lzztList.add(PunishmentsStatus.OMD.getCode());
+//        lzztList.add(PunishmentsStatus.SBZ.getCode());
+        LambdaQueryWrapper<ZwywYljgSxxx> lqw = new LambdaQueryWrapper<>(zwywYljgSxxx)
+                .like(ObjectUtils.isNotEmpty(zwywYljgSxxx.getJgmc()), ZwywYljgSxxx::getJgmc, zwywYljgSxxx.getJgmc())
+                .like(ObjectUtils.isNotEmpty(zwywYljgSxxx.getTyshxydm()), ZwywYljgSxxx::getTyshxydm, zwywYljgSxxx.getTyshxydm())
+                .eq(ObjectUtils.isNotEmpty(zwywYljgSxxx.getSzxzqh()), ZwywYljgSxxx::getSzxzqh, zwywYljgSxxx.getSzxzqh())
+                .eq(ObjectUtils.isNotEmpty(zwywYljgSxxx.getSjly()), ZwywYljgSxxx::getSjly, zwywYljgSxxx.getSjly())
+                .eq(ObjectUtils.isNotEmpty(zwywYljgSxxx.getLzzt()), ZwywYljgSxxx::getLzzt, zwywYljgSxxx.getLzzt())
+                .eq(ObjectUtils.isNotEmpty(zwywYljgSxxx.getLxdh()), ZwywYljgSxxx::getLxdh, zwywYljgSxxx.getLxdh())
+                .eq(ZwywYljgSxxx::getState, StateStatus.NORMAL.getCode());
+//                .in(ZwywYljgSxxx::getLzzt, lzztList);
+        List<ZwywYljgSxxx> res = zwywYljgSxxxMapper.selectList(lqw);
+        res.forEach(r -> r.setNrrd(zwywLhcjNrrdMapper.selectNrrdBySxxxId(r.getId())));
+        return res;
+    }
+
     /**
      * 新增养老机构失信信息
      *

+ 38 - 0
ruoyi-modules/mz-business/src/main/resources/mapper/business/ZwywLhcjNrrdMapper.xml

@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.business.mapper.ZwywLhcjNrrdMapper">
+    
+    <resultMap type="ZwywLhcjNrrd" id="ZwywLhcjNrrdResult">
+        <result property="id"    column="id"    />
+        <result property="sxxxId"    column="sxxx_id"    />
+        <result property="instanceId"    column="instance_id"    />
+        <result property="cljg"    column="cljg"    />
+        <result property="rdyj"    column="rdyj"    />
+        <result property="sytk"    column="sytk"    />
+        <result property="tknr"    column="tknr"    />
+        <result property="rdbm"    column="rdbm"    />
+        <result property="rdrq"    column="rdrq"    />
+        <result property="bnryy"    column="bnryy"    />
+        <result property="xgcl"    column="xgcl"    />
+        <result property="createTimeStr"    column="create_time_str"    />
+        <result property="createUserId"    column="create_user_id"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createUserType"    column="create_user_type"    />
+        <result property="createUnit"    column="create_unit"    />
+        <result property="createUnitName"    column="create_unit_name"    />
+        <result property="updateTimeStr"    column="update_time_str"    />
+        <result property="updateUserId"    column="update_user_id"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateUnit"    column="update_unit"    />
+        <result property="updateUnitName"    column="update_unit_name"    />
+        <result property="state"    column="state"    />
+    </resultMap>
+
+    <select id="selectNrrdBySxxxId" parameterType="String" resultMap="ZwywLhcjNrrdResult">
+        select * from zwyw_lhcj_nrrd
+        where sxxx_id = #{id} and state = '0'
+        limit 1
+    </select>
+</mapper>

+ 0 - 12
ruoyi-modules/mz-organization/src/main/java/com/ruoyi/organization/service/impl/YljgKhJbxxServiceImpl.java

@@ -35,18 +35,6 @@ import static com.ruoyi.common.core.utils.DateUtils.YYYYMMDD;
 @Validated
 public class YljgKhJbxxServiceImpl implements IYljgKhJbxxService
 {
-    @Autowired
-    private RepositoryService repositoryService;
-    @Autowired
-    private RuntimeService runtimeService;
-    @Autowired
-    private TaskService taskService;
-    @Autowired
-    private ManagementService managementService;
-    @Autowired
-    private HistoryService historyService;
-
-
     @Autowired
     private YljgKhJbxxMapper yljgKhJbxxMapper;
 

+ 79 - 0
ruoyi-ui/src/api/business/lhcj/mdgl/lhcjNrrd.js

@@ -0,0 +1,79 @@
+import request from '@/utils/request'
+
+// 查询联合惩戒纳入认定信息列表
+export function listJgLhcjNrrd(query) {
+  return request({
+    url: '/business/lhcjNrrd/jg/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询联合惩戒纳入认定信息列表
+export function listRyLhcjNrrd(query) {
+  return request({
+    url: '/business/lhcjNrrd/ry/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询联合惩戒纳入认定信息详细
+export function getJgLhcjNrrd(id) {
+  return request({
+    url: '/business/lhcjNrrd/jg/' + id,
+    method: 'get'
+  })
+}
+
+// 查询联合惩戒纳入认定信息详细
+export function getRyLhcjNrrd(id) {
+  return request({
+    url: '/business/lhcjNrrd/ry/' + id,
+    method: 'get'
+  })
+}
+
+// 新增联合惩戒纳入认定信息
+export function addLhcjNrrd(data) {
+  return request({
+    url: '/business/lhcjNrrd',
+    method: 'post',
+    data: data
+  })
+}
+
+// 新增联合惩戒纳入认定信息
+export function addYljgLhcjNrrd(data) {
+  return request({
+    url: '/business/lhcjNrrd/jg',
+    method: 'post',
+    data: data
+  })
+}
+
+// 新增联合惩戒纳入认定信息
+export function addCyryLhcjNrrd(data) {
+  return request({
+    url: '/business/lhcjNrrd/ry',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改联合惩戒纳入认定信息
+export function updateLhcjNrrd(data) {
+  return request({
+    url: '/business/lhcjNrrd',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除联合惩戒纳入认定信息
+export function delLhcjNrrd(id) {
+  return request({
+    url: '/business/lhcjNrrd/' + id,
+    method: 'delete'
+  })
+}

+ 462 - 0
ruoyi-ui/src/views/business/lhcj/jgLhcj/lhcjNrrd/index.vue

@@ -0,0 +1,462 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="136px">
+      <el-form-item label="机构名称" prop="jgmc">
+        <el-input v-model="queryParams.jgmc" placeholder="请输入机构名称" clearable @keyup.enter.native="handleQuery" />
+      </el-form-item>
+      <el-form-item label="统一社会信用代码" prop="tyshxydm">
+        <el-input v-model="queryParams.tyshxydm" placeholder="请输入统一社会信用代码" clearable
+          @keyup.enter.native="handleQuery" />
+      </el-form-item>
+      <el-form-item label="所在区划" prop="xzqh">
+        <RegionCascaderSelect v-model="xzqh" style="width: 100%" endLevel="2" valueProp="code" :isDataRoot="true">
+        </RegionCascaderSelect>
+      </el-form-item>
+      <el-form-item label="数据来源" prop="sjly">
+        <el-select v-model="queryParams.sjly" placeholder="请选择数据来源" clearable>
+          <el-option v-for="dict in dict.type.CH042" :key="dict.value" :label="dict.label" :value="dict.value" />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="流转状态" prop="lzzt">
+        <el-select v-model="queryParams.lzzt" placeholder="请选择流转状态" clearable>
+          <el-option v-for="dict in dict.type.CZ023" :key="dict.value" :label="dict.label" :value="dict.value" />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="联系电话" prop="lxdh">
+        <el-input v-model="queryParams.lxdh" placeholder="请输入联系电话" clearable @keyup.enter.native="handleQuery" />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="lhcjNrrdList">
+      <el-table-column label="序号" align="center">
+        <template slot-scope="scope">
+          {{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}
+        </template>
+      </el-table-column>
+      <el-table-column label="机构名称" align="center" prop="jgmc" />
+      <el-table-column label="统一社会信用代码" align="center" prop="tyshxydm" />
+      <el-table-column label="数据来源" align="center" prop="sjly">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.CH042" :value="scope.row.sjly" />
+        </template>
+      </el-table-column>
+      <el-table-column label="流转状态" align="center" prop="lzzt">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.CZ023" :value="scope.row.lzzt" />
+        </template>
+      </el-table-column>
+      <el-table-column label="联系电话" align="center" prop="lxdh" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right">
+        <template slot-scope="scope">
+          <el-button v-if="scope.row.lzzt == '01'" size="mini" type="text" icon="el-icon-edit"
+            @click="handleAdd(scope.row)" v-hasPermi="['business:lhcjNrrd:add']">认定</el-button>
+          <el-button v-else size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
+            v-hasPermi="['business:lhcjNrrd:query']">详情</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
+      @pagination="getList" />
+
+    <!-- 添加或修改联合惩戒纳入认定信息对话框 -->
+    <el-dialog v-dialog-drag :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+
+        <el-form-item label="失信信息主键标识" prop="sxxxId" style="display: none">
+          <el-input v-model="form.sxxxId" placeholder="请输入失信信息主键标识" />
+        </el-form-item>
+
+        <el-form-item label="流程实例主键" prop="instanceId" style="display:none">
+          <el-input v-model="form.instanceId" placeholder="请输入流程实例主键" />
+        </el-form-item>
+
+        <el-form-item label="单位名称" prop="jgmc">
+          <el-input v-model="form.jgmc" placeholder="请输入单位名称" />
+        </el-form-item>
+
+        <el-form-item label="统一社会信用代码" prop="tyshxydm">
+          <el-input v-model="form.tyshxydm" placeholder="请输入统一社会信用代码" />
+        </el-form-item>
+
+        <el-form-item label="数据来源" prop="sjly">
+          <el-select v-model="form.sjly" placeholder="请选择数据来源">
+            <el-option v-for="dict in dict.type.CH042" :key="dict.value" :label="dict.label" :value="dict.value">
+            </el-option>
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="流转状态" prop="lzzt">
+          <el-select v-model="form.lzzt" placeholder="请选择流转状态">
+            <el-option v-for="dict in dict.type.CZ023" :key="dict.value" :label="dict.label" :value="dict.value">
+            </el-option>
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="联系电话" prop="lxdh">
+          <el-input v-model="form.lxdh" placeholder="请输入联系电话" />
+        </el-form-item>
+
+        <el-form-item label="法定代表人姓名" prop="frxm">
+          <el-input v-model="form.frxm" placeholder="请输入法定代表人姓名" />
+        </el-form-item>
+
+        <el-form-item label="法定代表人证件类型" prop="frzjlx">
+          <el-select v-model="form.frzjlx" placeholder="请选择法定代表人证件类型">
+            <el-option v-for="dict in dict.type.C0015" :key="dict.value" :label="dict.label" :value="dict.value">
+            </el-option>
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="法定代表人公民身份号码" prop="frzjhm">
+          <el-input v-model="form.frzjhm" placeholder="请输入法定代表人公民身份号码" />
+        </el-form-item>
+
+        <el-form-item label="行政区划" prop="szxzqh">
+          <RegionCascaderSelect v-model="form.szxzqh" style="width: 100%" valueProp="code"></RegionCascaderSelect>
+        </el-form-item>
+
+        <el-form-item label="通信地址描述" prop="txdzms">
+          <el-input v-model="form.txdzms" placeholder="请输入通信地址描述" />
+        </el-form-item>
+
+        <el-form-item label="失信信息描述" prop="ms">
+          <el-input v-model="form.ms" type="textarea" maxlength="500" show-word-limit placeholder="请输入失信信息描述" />
+        </el-form-item>
+
+        <el-form-item label="是否被处罚" prop="isCf">
+          <el-radio-group v-model="form.isCf">
+            <el-radio v-for="dict in dict.type.CZ035" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio>
+          </el-radio-group>
+        </el-form-item>
+
+        <el-form-item label="失信信息相关材料" prop="sxxxXgcl">
+          <file-upload v-model="form.sxxxXgcl" />
+        </el-form-item>
+
+        <el-form-item label="处罚部门" prop="cfbm" v-if="form.isCf == '1'">
+          <el-select v-model="form.cfbm" placeholder="请选择处罚部门">
+            <el-option v-for="dict in dict.type.CH036" :key="dict.value" :label="dict.label" :value="dict.value">
+            </el-option>
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="处罚日期" prop="cfrq" v-if="form.isCf == '1'">
+          <el-date-picker clearable v-model="form.cfrq" type="date" value-format="yyyyMMdd" placeholder="请选择处罚日期">
+          </el-date-picker>
+        </el-form-item>
+
+        <el-form-item label="处罚依据" prop="cfyj" v-if="form.isCf == '1'">
+          <el-input v-model="form.cfyj" type="textarea" maxlength="200" show-word-limit placeholder="请输入处罚依据" />
+        </el-form-item>
+
+        <el-form-item label="处罚内容" prop="cfnr" v-if="form.isCf == '1'">
+          <el-input v-model="form.cfnr" type="textarea" maxlength="500" show-word-limit placeholder="请输入处罚内容" />
+        </el-form-item>
+
+        <el-form-item v-if="['02', '09', '20'].includes(form.lzzt)" label="处理结果" prop="cljg">
+          <el-radio-group v-model="form.cljg">
+            <el-radio v-for="dict in dict.type.XZ080" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio>
+          </el-radio-group>
+        </el-form-item>
+
+        <el-form-item v-if="!['02', '09', '20'].includes(form.lzzt)" label="处理结果" prop="cljg">
+          <el-radio-group v-model="form.cljg">
+            <el-radio v-for="dict in dict.type.CZ024" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio>
+          </el-radio-group>
+        </el-form-item>
+
+        <el-form-item label="认定依据" prop="rdyj" v-if="form.cljg == '1'">
+          <el-select v-model="form.rdyj" placeholder="请选择认定依据">
+            <el-option v-for="dict in dict.type.XZ054" :key="dict.value" :label="dict.label" :value="dict.value">
+            </el-option>
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="适用条款" prop="sytk" v-if="form.cljg == '1'">
+          <el-select v-model="form.sytk" placeholder="请选择适用条款">
+            <el-option v-for="dict in dict.type.XZ058" :key="dict.value" :label="dict.label" :value="dict.value">
+            </el-option>
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="条款内容" prop="tknr" v-if="form.cljg == '1'">
+          <el-select multiple collapse-tags v-model="form.tknr" placeholder="请选择条款内容">
+            <el-option v-for="dict in dict.type.CH037" :key="dict.value" :label="dict.label" :value="dict.value">
+            </el-option>
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="不纳入原因" prop="bnryy" v-if="form.cljg == '2'">
+          <el-input v-model="form.bnryy" type="textarea" maxlength="500" show-word-limit placeholder="请输入不纳入原因" />
+        </el-form-item>
+
+        <el-form-item label="认定部门" prop="rdbm">
+          <el-select v-model="form.rdbm" placeholder="请选择认定部门">
+            <el-option v-for="dict in dict.type.XZ053" :key="dict.value" :label="dict.label" :value="dict.value">
+            </el-option>
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="认定日期" prop="rdrq">
+          <el-date-picker clearable v-model="form.rdrq" type="date" value-format="yyyyMMdd" placeholder="请选择认定日期">
+          </el-date-picker>
+        </el-form-item>
+
+        <el-form-item label="相关材料" prop="xgcl">
+          <file-upload v-model="form.xgcl" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm" :loading="submitFormLoading">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listJgLhcjNrrd, getJgLhcjNrrd, delLhcjNrrd, addYljgLhcjNrrd, updateLhcjNrrd } from "@/api/business/lhcj/mdgl/lhcjNrrd";
+import { Regular, chineseOne, idCard } from '@/utils/regular'
+
+export default {
+  name: "LhcjNrrd",
+  dicts: ['C0015', 'CZ035', 'CH036', 'CZ024', 'XZ080', 'XZ058', 'CH042', 'CZ023', 'XZ054', 'XZ053', 'CH037'],
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      submitFormLoading: false,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      xzqh: [],
+      // 总条数
+      total: 0,
+      // 联合惩戒纳入认定信息表格数据
+      lhcjNrrdList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        cljg: [
+          { required: true, message: "处理结果不能为空", trigger: "blur" },
+        ],
+        rdbm: [
+          { required: true, message: "认定部门不能为空", trigger: "change" },
+        ],
+        rdrq: [
+          { required: true, message: "认定日期不能为空", trigger: "blur" },
+        ],
+        bnryy: [
+          { required: true, message: "不纳入原因不能为空", trigger: "blur" },
+        ],
+        rdyj: [
+          { required: true, message: "认定依据不能为空", trigger: "blur" },
+        ],
+        sytk: [
+          { required: true, message: "适用条款不能为空", trigger: "blur" },
+        ],
+        tknr: [
+          { required: true, message: "条款内容不能为空", trigger: "blur" },
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询联合惩戒纳入认定信息列表 */
+    getList() {
+      this.loading = true;
+      listJgLhcjNrrd(this.queryParams).then(response => {
+        this.lhcjNrrdList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.submitFormLoading = false;
+      this.form = {
+        id: null,
+        sxxxId: null,
+        instanceId: null,
+        cljg: "1",
+        rdyj: null,
+        sytk: null,
+        tknr: [],
+        rdbm: null,
+        rdrq: null,
+        bnryy: null,
+        xgcl: null,
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      if (this.xzqh) {
+        this.queryParams.szxzqh = this.xzqh[this.xzqh.length - 1];
+      } else {
+        this.queryParams.szxzqh = null;
+      }
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.xzqh = [];
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length !== 1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getJgLhcjNrrd(id).then(response => {
+        this.form = response.data;
+        if (this.form.szxzqhIds) {
+          this.form.szxzqh = JSON.stringify(this.form.szxzqhIds.split(","));
+        } else {
+          this.form.szxzqh = "";
+        }
+        /****** sks 需要改动的地方 start ******/
+        // this.copyForm = this.deepCopy(response.data)
+        /****** sks 需要改动的地方 end ******/
+        this.open = true;
+        this.title = "联合惩戒纳入认定信息";
+      });
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getJgLhcjNrrd(id).then(response => {
+        this.form = response.data;
+        if (response.data.nrrd) {
+          this.form.cljg = response.data.nrrd.cljg;
+          this.form.rdyj = response.data.nrrd.rdyj;
+          this.form.sytk = response.data.nrrd.sytk;
+          this.form.tknr = response.data.nrrd.tknr;
+          this.form.bnryy = response.data.nrrd.bnryy;
+          this.form.rdbm = response.data.nrrd.rdbm;
+          this.form.rdrq = response.data.nrrd.rdrq;
+          this.form.xgcl = response.data.nrrd.xgcl;
+          this.form.tknr = response.data.nrrd.tknr.split(",");
+        }
+        if (this.form.szxzqhIds) {
+          this.form.szxzqh = JSON.stringify(this.form.szxzqhIds.split(","));
+        } else {
+          this.form.szxzqh = "";
+        }
+        /****** sks 需要改动的地方 start ******/
+        // this.copyForm = this.deepCopy(response.data)
+        /****** sks 需要改动的地方 end ******/
+        this.open = true;
+        this.title = "联合惩戒纳入认定信息";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          this.submitFormLoading = true;
+          const param = {
+            sxxxId: this.form.id,
+            tknr: this.form.tknr ? this.form.tknr.join(',') : "",
+          }
+          // if (this.form.id != null) {
+          //   /****** sks 需要改动的地方 start ******/
+          //   let formData = this.comparisonObject(this.form, this.copyForm);
+          //   if (formData) {
+          //     updateLhcjNrrd({ ...formData, id: this.form.id }).then(response => {
+          //       this.$modal.msgSuccess("修改成功");
+          //       this.open = false;
+          //       this.lhcjNrrdList = this.dataReplacement(this.lhcjNrrdList, this.form.id, formData);
+          //       // this.getList();
+          //     }).finally(() => this.submitFormLoading = false);
+          //   } else {
+          //     this.$modal.msgSuccess("修改成功");
+          //     this.open = false;
+          //     this.submitFormLoading = false;
+          //   }
+          //   /****** sks 需要改动的地方 end ******/
+          // } else {
+          addYljgLhcjNrrd({ ...this.form, ...param }).then(response => {
+            this.$modal.msgSuccess("认定成功");
+            this.open = false;
+            this.getList();
+            /****** sks 需要改动的地方 start ******/
+            // if (this.queryParams.pageSize === this.lhcjNrrdList.length) {
+            //   this.lhcjNrrdList.pop();
+            // }
+            // this.lhcjNrrdList.unshift({ ...this.form, id: response.data });
+            // this.total++;
+            /****** sks 需要改动的地方 end ******/
+          }).finally(() => this.submitFormLoading = false);
+          // }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row, index) {
+      const ids = row.id || this.ids;
+      const xh = (this.queryParams.pageNum - 1) * this.queryParams.pageSize + index + 1;
+      this.$modal.confirm('确认删除' + this.changeDelData(row, 'id', 'ID值', xh) + '的记录?').then(function () {
+        return delLhcjNrrd(ids);
+      }).then(() => {
+        // this.getList();
+        /****** sks 需要改动的地方 ind参数需要传进来 start ******/
+        this.lhcjNrrdList.splice(index, 1);
+        if (this.lhcjNrrdList.length === 0) {
+          this.getList();
+        } else {
+          this.total--;
+        }
+        this.$modal.msgSuccess("删除成功");
+        /****** sks 需要改动的地方 end ******/
+      }).catch(() => { });
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('business/lhcjNrrd/export', {
+        ...this.queryParams
+      }, `lhcjNrrd_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

+ 470 - 0
ruoyi-ui/src/views/business/lhcj/ryLhcj/lhcjNrrd/index.vue

@@ -0,0 +1,470 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="136px">
+      <el-form-item label="人员名称" prop="xm">
+        <el-input v-model="queryParams.xm" placeholder="请输入人员名称" clearable @keyup.enter.native="handleQuery" />
+      </el-form-item>
+      <el-form-item label="证件号码" prop="zjhm">
+        <el-input v-model="queryParams.zjhm" placeholder="请输入证件号码" clearable
+          @keyup.enter.native="handleQuery" />
+      </el-form-item>
+      <el-form-item label="所在区划" prop="xzqh">
+        <RegionCascaderSelect v-model="xzqh" style="width: 100%" endLevel="2" valueProp="code" :isDataRoot="true">
+        </RegionCascaderSelect>
+      </el-form-item>
+      <el-form-item label="数据来源" prop="sjly">
+        <el-select v-model="queryParams.sjly" placeholder="请选择数据来源" clearable>
+          <el-option v-for="dict in dict.type.CH042" :key="dict.value" :label="dict.label" :value="dict.value" />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="流转状态" prop="lzzt">
+        <el-select v-model="queryParams.lzzt" placeholder="请选择流转状态" clearable>
+          <el-option v-for="dict in dict.type.CZ023" :key="dict.value" :label="dict.label" :value="dict.value" />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="联系电话" prop="lxdh">
+        <el-input v-model="queryParams.lxdh" placeholder="请输入联系电话" clearable @keyup.enter.native="handleQuery" />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="lhcjNrrdList">
+      <el-table-column label="序号" align="center">
+        <template slot-scope="scope">
+          {{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}
+        </template>
+      </el-table-column>
+      <el-table-column label="人员姓名" align="center" prop="xm" />
+      <el-table-column label="证件号码" align="center" prop="zjhm" />
+      <el-table-column label="数据来源" align="center" prop="sjly">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.CH042" :value="scope.row.sjly" />
+        </template>
+      </el-table-column>
+      <el-table-column label="流转状态" align="center" prop="lzzt">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.CZ023" :value="scope.row.lzzt" />
+        </template>
+      </el-table-column>
+      <el-table-column label="联系电话" align="center" prop="lxdh" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right">
+        <template slot-scope="scope">
+          <el-button v-if="scope.row.lzzt == '01'" size="mini" type="text" icon="el-icon-edit"
+            @click="handleAdd(scope.row)" v-hasPermi="['business:lhcjNrrd:add']">认定</el-button>
+          <el-button v-else size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
+            v-hasPermi="['business:lhcjNrrd:query']">详情</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
+      @pagination="getList" />
+
+    <!-- 添加或修改联合惩戒纳入认定信息对话框 -->
+    <el-dialog v-dialog-drag :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+
+        <el-form-item label="失信信息主键标识" prop="sxxxId" style="display: none">
+          <el-input v-model="form.sxxxId" placeholder="请输入失信信息主键标识" />
+        </el-form-item>
+
+        <el-form-item label="流程实例主键" prop="instanceId" style="display:none">
+          <el-input v-model="form.instanceId" placeholder="请输入流程实例主键" />
+        </el-form-item>
+
+        <el-form-item label="姓名" prop="xm">
+          <el-input v-model="form.xm" placeholder="请输入姓名" />
+        </el-form-item>
+
+        <el-form-item label="数据来源" prop="sjly">
+          <el-select v-model="form.sjly" placeholder="请选择数据来源">
+            <el-option v-for="dict in dict.type.CH042" :key="dict.value" :label="dict.label" :value="dict.value">
+            </el-option>
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="流转状态" prop="lzzt">
+          <el-select v-model="form.lzzt" placeholder="请选择流转状态">
+            <el-option v-for="dict in dict.type.CZ023" :key="dict.value" :label="dict.label" :value="dict.value">
+            </el-option>
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="联系电话" prop="lxdh">
+          <el-input v-model="form.lxdh" placeholder="请输入联系电话" />
+        </el-form-item>
+
+        <el-form-item label="人员类别" prop="rylb">
+          <el-select v-model="form.rylb" placeholder="请选择人员类别">
+            <el-option v-for="dict in dict.type.CH044" :key="dict.value" :label="dict.label" :value="dict.value">
+            </el-option>
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="身份证件类型" prop="zjlx">
+          <el-select v-model="form.zjlx" placeholder="请选择身份证件类型">
+            <el-option v-for="dict in dict.type.C0015" :key="dict.value" :label="dict.label" :value="dict.value">
+            </el-option>
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="公民身份证件号码" prop="zjhm">
+          <el-input v-model="form.zjhm" placeholder="请输入公民身份证件号码" />
+        </el-form-item>
+
+        <el-form-item label="当前所在工作单位" prop="gzdw">
+          <el-input v-model="form.gzdw" placeholder="请输入当前所在工作单位" />
+        </el-form-item>
+
+        <el-form-item label="行政区划" prop="szxzqh">
+          <RegionCascaderSelect v-model="form.szxzqh" style="width: 100%" valueProp="code"></RegionCascaderSelect>
+        </el-form-item>
+
+        <el-form-item label="通信地址描述" prop="txdz">
+          <el-input v-model="form.txdz" placeholder="请输入通信地址描述" />
+        </el-form-item>
+
+        <el-form-item label="失信信息描述" prop="ms">
+          <el-input v-model="form.ms" type="textarea" maxlength="500" show-word-limit placeholder="请输入失信信息描述" />
+        </el-form-item>
+
+        <el-form-item label="是否被处罚" prop="isCf">
+          <el-radio-group v-model="form.isCf">
+            <el-radio v-for="dict in dict.type.CZ035" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio>
+          </el-radio-group>
+        </el-form-item>
+
+        <el-form-item label="失信信息相关材料" prop="sxxxXgcl">
+          <file-upload v-model="form.sxxxXgcl" />
+        </el-form-item>
+
+        <el-form-item label="处罚部门" prop="cfbm" v-if="form.isCf == '1'">
+          <el-select v-model="form.cfbm" placeholder="请选择处罚部门">
+            <el-option v-for="dict in dict.type.CH036" :key="dict.value" :label="dict.label" :value="dict.value">
+            </el-option>
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="处罚日期" prop="cfrq" v-if="form.isCf == '1'">
+          <el-date-picker clearable v-model="form.cfrq" type="date" value-format="yyyyMMdd" placeholder="请选择处罚日期">
+          </el-date-picker>
+        </el-form-item>
+
+        <el-form-item label="处罚依据" prop="cfyj" v-if="form.isCf == '1'">
+          <el-input v-model="form.cfyj" type="textarea" maxlength="200" show-word-limit placeholder="请输入处罚依据" />
+        </el-form-item>
+
+        <el-form-item label="处罚内容" prop="cfnr" v-if="form.isCf == '1'">
+          <el-input v-model="form.cfnr" type="textarea" maxlength="500" show-word-limit placeholder="请输入处罚内容" />
+        </el-form-item>
+
+        <el-form-item v-if="['02', '09', '20'].includes(form.lzzt)" label="处理结果" prop="cljg">
+          <el-radio-group v-model="form.cljg">
+            <el-radio v-for="dict in dict.type.XZ080" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio>
+          </el-radio-group>
+        </el-form-item>
+
+        <el-form-item v-if="!['02', '09', '20'].includes(form.lzzt)" label="处理结果" prop="cljg">
+          <el-radio-group v-model="form.cljg">
+            <el-radio v-for="dict in dict.type.CZ024" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio>
+          </el-radio-group>
+        </el-form-item>
+
+        <el-form-item label="认定依据" prop="rdyj" v-if="form.cljg == '1'">
+          <el-select v-model="form.rdyj" placeholder="请选择认定依据">
+            <el-option v-for="dict in dict.type.XZ054" :key="dict.value" :label="dict.label" :value="dict.value">
+            </el-option>
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="适用条款" prop="sytk" v-if="form.cljg == '1'">
+          <el-select v-model="form.sytk" placeholder="请选择适用条款">
+            <el-option v-for="dict in dict.type.XZ058" :key="dict.value" :label="dict.label" :value="dict.value">
+            </el-option>
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="条款内容" prop="tknr" v-if="form.cljg == '1'">
+          <el-select multiple collapse-tags v-model="form.tknr" placeholder="请选择条款内容">
+            <el-option v-for="dict in dict.type.CH037" :key="dict.value" :label="dict.label" :value="dict.value">
+            </el-option>
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="不纳入原因" prop="bnryy" v-if="form.cljg == '2'">
+          <el-input v-model="form.bnryy" type="textarea" maxlength="500" show-word-limit placeholder="请输入不纳入原因" />
+        </el-form-item>
+
+        <el-form-item label="认定部门" prop="rdbm">
+          <el-select v-model="form.rdbm" placeholder="请选择认定部门">
+            <el-option v-for="dict in dict.type.XZ053" :key="dict.value" :label="dict.label" :value="dict.value">
+            </el-option>
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="认定日期" prop="rdrq">
+          <el-date-picker clearable v-model="form.rdrq" type="date" value-format="yyyyMMdd" placeholder="请选择认定日期">
+          </el-date-picker>
+        </el-form-item>
+
+        <el-form-item label="相关材料" prop="xgcl">
+          <file-upload v-model="form.xgcl" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm" :loading="submitFormLoading">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listRyLhcjNrrd, getRyLhcjNrrd, delLhcjNrrd, addCyryLhcjNrrd, updateLhcjNrrd } from "@/api/business/lhcj/mdgl/lhcjNrrd";
+import { Regular, chineseOne, idCard } from '@/utils/regular'
+
+export default {
+  name: "LhcjNrrd",
+  dicts: ['C0015', 'CZ035', 'CH036', 'CZ024', 'XZ080', 'XZ058', 'CH042', 'CZ023', 'XZ054', 'XZ053', 'CH037'],
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      submitFormLoading: false,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      xzqh: [],
+      // 总条数
+      total: 0,
+      // 联合惩戒纳入认定信息表格数据
+      lhcjNrrdList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        xm: null,
+        zjhm: null,
+        sjly: null,
+        lzzt: null,
+        lxdh: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        cljg: [
+          { required: true, message: "处理结果不能为空", trigger: "blur" },
+        ],
+        rdbm: [
+          { required: true, message: "认定部门不能为空", trigger: "change" },
+        ],
+        rdrq: [
+          { required: true, message: "认定日期不能为空", trigger: "blur" },
+        ],
+        bnryy: [
+          { required: true, message: "不纳入原因不能为空", trigger: "blur" },
+        ],
+        rdyj: [
+          { required: true, message: "认定依据不能为空", trigger: "blur" },
+        ],
+        sytk: [
+          { required: true, message: "适用条款不能为空", trigger: "blur" },
+        ],
+        tknr: [
+          { required: true, message: "条款内容不能为空", trigger: "blur" },
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询联合惩戒纳入认定信息列表 */
+    getList() {
+      this.loading = true;
+      listRyLhcjNrrd(this.queryParams).then(response => {
+        this.lhcjNrrdList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.submitFormLoading = false;
+      this.form = {
+        id: null,
+        sxxxId: null,
+        instanceId: null,
+        cljg: "1",
+        rdyj: null,
+        sytk: null,
+        tknr: [],
+        rdbm: null,
+        rdrq: null,
+        bnryy: null,
+        xgcl: null,
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      if (this.xzqh) {
+        this.queryParams.szxzqh = this.xzqh[this.xzqh.length - 1];
+      } else {
+        this.queryParams.szxzqh = null;
+      }
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.xzqh = [];
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length !== 1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getRyLhcjNrrd(id).then(response => {
+        this.form = response.data;
+        if (this.form.szxzqhIds) {
+          this.form.szxzqh = JSON.stringify(this.form.szxzqhIds.split(","));
+        } else {
+          this.form.szxzqh = "";
+        }
+        /****** sks 需要改动的地方 start ******/
+        // this.copyForm = this.deepCopy(response.data)
+        /****** sks 需要改动的地方 end ******/
+        this.open = true;
+        this.title = "联合惩戒纳入认定信息";
+      });
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getRyLhcjNrrd(id).then(response => {
+        this.form = response.data;
+        if (response.data.nrrd) {
+          this.form.cljg = response.data.nrrd.cljg;
+          this.form.rdyj = response.data.nrrd.rdyj;
+          this.form.sytk = response.data.nrrd.sytk;
+          this.form.tknr = response.data.nrrd.tknr;
+          this.form.bnryy = response.data.nrrd.bnryy;
+          this.form.rdbm = response.data.nrrd.rdbm;
+          this.form.rdrq = response.data.nrrd.rdrq;
+          this.form.xgcl = response.data.nrrd.xgcl;
+          this.form.tknr = response.data.nrrd.tknr.split(",");
+        }
+        if (this.form.szxzqhIds) {
+          this.form.szxzqh = JSON.stringify(this.form.szxzqhIds.split(","));
+        } else {
+          this.form.szxzqh = "";
+        }
+        /****** sks 需要改动的地方 start ******/
+        // this.copyForm = this.deepCopy(response.data)
+        /****** sks 需要改动的地方 end ******/
+        this.open = true;
+        this.title = "联合惩戒纳入认定信息";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          this.submitFormLoading = true;
+          const param = {
+            sxxxId: this.form.id,
+            tknr: this.form.tknr ? this.form.tknr.join(',') : "",
+          }
+          // if (this.form.id != null) {
+          //   /****** sks 需要改动的地方 start ******/
+          //   let formData = this.comparisonObject(this.form, this.copyForm);
+          //   if (formData) {
+          //     updateLhcjNrrd({ ...formData, id: this.form.id }).then(response => {
+          //       this.$modal.msgSuccess("修改成功");
+          //       this.open = false;
+          //       this.lhcjNrrdList = this.dataReplacement(this.lhcjNrrdList, this.form.id, formData);
+          //       // this.getList();
+          //     }).finally(() => this.submitFormLoading = false);
+          //   } else {
+          //     this.$modal.msgSuccess("修改成功");
+          //     this.open = false;
+          //     this.submitFormLoading = false;
+          //   }
+          //   /****** sks 需要改动的地方 end ******/
+          // } else {
+          addCyryLhcjNrrd({ ...this.form, ...param }).then(response => {
+            this.$modal.msgSuccess("认定成功");
+            this.open = false;
+            this.getList();
+            /****** sks 需要改动的地方 start ******/
+            // if (this.queryParams.pageSize === this.lhcjNrrdList.length) {
+            //   this.lhcjNrrdList.pop();
+            // }
+            // this.lhcjNrrdList.unshift({ ...this.form, id: response.data });
+            // this.total++;
+            /****** sks 需要改动的地方 end ******/
+          }).finally(() => this.submitFormLoading = false);
+          // }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row, index) {
+      const ids = row.id || this.ids;
+      const xh = (this.queryParams.pageNum - 1) * this.queryParams.pageSize + index + 1;
+      this.$modal.confirm('确认删除' + this.changeDelData(row, 'id', 'ID值', xh) + '的记录?').then(function () {
+        return delLhcjNrrd(ids);
+      }).then(() => {
+        // this.getList();
+        /****** sks 需要改动的地方 ind参数需要传进来 start ******/
+        this.lhcjNrrdList.splice(index, 1);
+        if (this.lhcjNrrdList.length === 0) {
+          this.getList();
+        } else {
+          this.total--;
+        }
+        this.$modal.msgSuccess("删除成功");
+        /****** sks 需要改动的地方 end ******/
+      }).catch(() => { });
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('business/lhcjNrrd/export', {
+        ...this.queryParams
+      }, `lhcjNrrd_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

+ 2 - 2
ruoyi-ui/src/views/business/lhcj/zdgz/cyryZdgz/index.vue

@@ -169,7 +169,7 @@
 
         <el-form-item label="处理结果" prop="cljg">
           <el-radio-group v-model="form.cljg">
-            <el-radio v-for="dict in dict.type.CZ024" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio>
+            <el-radio v-for="dict in dict.type.XZ080" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio>
           </el-radio-group>
         </el-form-item>
 
@@ -271,7 +271,7 @@ import { Regular, chineseOne, idCard } from '@/utils/regular'
 
 export default {
   name: "CyryZdgz",
-  dicts: ['CH043', 'XZ053', 'XZ054', 'XZ058', 'CZ025', 'CH042', 'CZ035', 'CZ024', 'CH036', 'C0015', 'CZ023', 'CH044', 'CH037'],
+  dicts: ['CH043', 'XZ053', 'XZ054', 'XZ058', 'CZ025', 'CH042', 'CZ035', 'CZ024', 'XZ080', 'CH036', 'C0015', 'CZ023', 'CH044', 'CH037'],
   props: {
     isNr: {
       type: Boolean,

+ 2 - 2
ruoyi-ui/src/views/business/lhcj/zdgz/yljgZdgz/index.vue

@@ -167,7 +167,7 @@
 
         <el-form-item label="处理结果" prop="cljg">
           <el-radio-group v-model="form.cljg">
-            <el-radio v-for="dict in dict.type.CZ024" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio>
+            <el-radio v-for="dict in dict.type.XZ080" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio>
           </el-radio-group>
         </el-form-item>
 
@@ -267,7 +267,7 @@ import { Regular, chineseOne, idCard } from '@/utils/regular'
 
 export default {
   name: "YljgZdgz",
-  dicts: ['CH043', 'XZ053', 'XZ054', 'XZ058', 'CH042', 'CZ035', 'CZ024', 'CZ025', 'CH036', 'C0015', 'CZ023', 'CH039', 'CH037'],
+  dicts: ['CH043', 'XZ053', 'XZ054', 'XZ058', 'CH042', 'CZ035', 'CZ024', 'XZ080', 'CZ025', 'CH036', 'C0015', 'CZ023', 'CH039', 'CH037'],
   props: {
     isNr: {
       type: Boolean,