瀏覽代碼

Merge branch '20220606_sun#711联合惩戒下发告知书' of sckj/mz-cloud into master

sckj 2 年之前
父節點
當前提交
b4300f025d

+ 188 - 0
ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/controller/ZwywLhcjGzsController.java

@@ -0,0 +1,188 @@
+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.IZwywLhcjNrrdService;
+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.ZwywLhcjGzs;
+import com.ruoyi.business.service.IZwywLhcjGzsService;
+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("/lhcjGzs")
+public class ZwywLhcjGzsController extends BaseController
+{
+    @Autowired
+    private IZwywLhcjGzsService zwywLhcjGzsService;
+
+    @Autowired
+    private IZwywYljgSxxxService zwywYljgSxxxService;
+
+    @Autowired
+    private IZwywCyrySxxxService zwywCyrySxxxService;
+
+    @Autowired
+    private IZwywLhcjNrrdService zwywLhcjNrrdService;
+
+    /**
+     * 查询联合惩戒告知书信息列表
+     */
+    @RequiresPermissions("business:lhcjGzs:list")
+    @GetMapping("/list")
+    public TableDataInfo list(ZwywLhcjGzs zwywLhcjGzs)
+    {
+        startPage();
+        List<ZwywLhcjGzs> list = zwywLhcjGzsService.selectZwywLhcjGzsList(zwywLhcjGzs);
+        return getDataTable(list);
+    }
+
+    /**
+     * 查询联合惩戒告知书信息列表
+     */
+    @RequiresPermissions("business:jgLhcjGzs:list")
+    @GetMapping("/jg/list")
+    public TableDataInfo jgList(ZwywYljgSxxx sxxx)
+    {
+        startPage();
+        List<ZwywYljgSxxx> list = zwywYljgSxxxService.selectZwywYljgSxxxByNrrdList(sxxx);
+        return getDataTable(list);
+    }
+
+    /**
+     * 查询联合惩戒告知书信息列表
+     */
+    @RequiresPermissions("business:ryLhcjGzs:list")
+    @GetMapping("/ry/list")
+    public TableDataInfo ryList(ZwywCyrySxxx sxxx)
+    {
+        startPage();
+        List<ZwywCyrySxxx> list = zwywCyrySxxxService.selectZwywCyrySxxxByNrrdList(sxxx);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出联合惩戒告知书信息列表
+     */
+    @RequiresPermissions("business:lhcjGzs:export")
+    @Log(title = "联合惩戒告知书信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, ZwywLhcjGzs zwywLhcjGzs)
+    {
+        List<ZwywLhcjGzs> list = zwywLhcjGzsService.selectZwywLhcjGzsList(zwywLhcjGzs);
+        ExcelUtil<ZwywLhcjGzs> util = new ExcelUtil<ZwywLhcjGzs>(ZwywLhcjGzs.class);
+        util.exportExcel(response, list, "联合惩戒告知书信息数据");
+    }
+
+    /**
+     * 获取联合惩戒告知书信息详细信息
+     */
+    @RequiresPermissions("business:lhcjGzs:query")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") String id)
+    {
+        return AjaxResult.success(zwywLhcjGzsService.selectZwywLhcjGzsById(id));
+    }
+
+    /**
+     * 获取联合惩戒告知书信息详细信息
+     */
+    @RequiresPermissions("business:jgLhcjGzs:query")
+    @GetMapping(value = "/jg/{id}")
+    public AjaxResult getJgInfo(@PathVariable("id") String id)
+    {
+        return AjaxResult.success(zwywLhcjNrrdService.selectZwywJgLhcjNrrdById(id));
+    }
+
+    /**
+     * 获取联合惩戒告知书信息详细信息
+     */
+    @RequiresPermissions("business:ryLhcjGzs:query")
+    @GetMapping(value = "/ry/{id}")
+    public AjaxResult getRyInfo(@PathVariable("id") String id)
+    {
+        return AjaxResult.success(zwywLhcjNrrdService.selectZwywRyLhcjNrrdById(id));
+    }
+
+    /**
+     * 新增联合惩戒告知书信息
+     */
+    @RequiresPermissions("business:lhcjGzs:add")
+    @Log(title = "联合惩戒告知书信息", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@Validated({AddGroup.class}) @RequestBody ZwywLhcjGzs zwywLhcjGzs)
+    {
+        return toAjax(zwywLhcjGzsService.insertZwywLhcjGzs(zwywLhcjGzs),zwywLhcjGzs.getId());
+    }
+
+    /**
+     * 新增联合惩戒告知书信息
+     */
+    @RequiresPermissions("business:jgLhcjGzs:add")
+    @Log(title = "联合惩戒告知书信息", businessType = BusinessType.INSERT)
+    @PostMapping(value = "/jg")
+    public AjaxResult addJg(@Validated @RequestBody ZwywLhcjGzs zwywLhcjGzs)
+    {
+        return toAjax(zwywLhcjGzsService.insertZwywJgLhcjGzs(zwywLhcjGzs),zwywLhcjGzs.getId());
+    }
+
+    /**
+     * 新增联合惩戒告知书信息
+     */
+    @RequiresPermissions("business:ryLhcjGzs:add")
+    @Log(title = "联合惩戒告知书信息", businessType = BusinessType.INSERT)
+    @PostMapping(value = "/ry")
+    public AjaxResult addRy(@Validated @RequestBody ZwywLhcjGzs zwywLhcjGzs)
+    {
+        return toAjax(zwywLhcjGzsService.insertZwywRyLhcjGzs(zwywLhcjGzs),zwywLhcjGzs.getId());
+    }
+
+    /**
+     * 修改联合惩戒告知书信息
+     */
+    @RequiresPermissions("business:lhcjGzs:edit")
+    @Log(title = "联合惩戒告知书信息", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@Validated @RequestBody ZwywLhcjGzs zwywLhcjGzs)
+    {
+        return toAjax(zwywLhcjGzsService.updateZwywLhcjGzs(zwywLhcjGzs));
+    }
+
+    /**
+     * 删除联合惩戒告知书信息
+     */
+    @RequiresPermissions("business:lhcjGzs:remove")
+    @Log(title = "联合惩戒告知书信息", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable String[] ids)
+    {
+        return toAjax(zwywLhcjGzsService.deleteZwywLhcjGzsByIds(ids));
+    }
+}

+ 97 - 0
ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/domain/ZwywLhcjGzs.java

@@ -0,0 +1,97 @@
+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_gzs
+ *
+ * @author sun
+ * @date 2022-06-06
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
+@TableName("zwyw_lhcj_gzs")
+@ApiModel("联合惩戒告知书信息")
+public class ZwywLhcjGzs 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 = "失信信息主键标识", required = true)
+    @NotBlank(message = "{失信信息主键标识}",groups = AddGroup.class)
+    private String sxxxId;
+
+    /** 流程实例主键标识 */
+    @Excel(name = "流程实例主键标识")
+    @ApiModelProperty(value = "流程实例主键标识", required = true)
+    @NotBlank(message = "{流程实例主键标识}",groups = AddGroup.class)
+    private String instanceId;
+
+    /** 邮寄方式(CZ026) */
+    @Excel(name = "邮寄方式", dictType = "CZ026")
+    @ApiModelProperty(value = "邮寄方式(CZ026)", required = true)
+    @NotBlank(message = "{邮寄方式}",groups = AddGroup.class)
+    @DictV(type = "CZ026",message = "{邮寄方式}")
+    private String yjfs;
+
+    /** 邮寄时间 */
+    @Excel(name = "邮寄时间")
+    @ApiModelProperty(value = "邮寄时间", required = true)
+    @NotBlank(message = "{邮寄时间}",groups = AddGroup.class)
+    @DateV(message = "{邮寄时间}")
+    private String yjsj;
+
+    /** 是否收到告知书(CZ035) */
+    @Excel(name = "是否收到告知书", dictType = "CZ035")
+    @ApiModelProperty(value = "是否收到告知书(CZ035)", required = true)
+    @NotBlank(message = "{是否收到告知书}",groups = AddGroup.class)
+    @DictV(type = "CZ035",message = "{是否收到告知书}")
+    private String isSd;
+
+    /** 接收时间 */
+    @Excel(name = "接收时间")
+    @ApiModelProperty(value = "接收时间", required = true)
+    @NotBlank(message = "{接收时间}",groups = AddGroup.class)
+    @DateV(message = "{接收时间}")
+    private String jssj;
+
+    /** 未收到原因 */
+    @Excel(name = "未收到原因")
+    @ApiModelProperty(value = "未收到原因")
+    @Size(max = 500, message = "{未收到原因}")
+
+    private String wsdyy;
+
+}

+ 15 - 0
ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/mapper/ZwywLhcjGzsMapper.java

@@ -0,0 +1,15 @@
+package com.ruoyi.business.mapper;
+
+import java.util.List;
+import com.ruoyi.business.domain.ZwywLhcjGzs;
+import com.ruoyi.common.datascope.utils.BaseMapperPlus;
+
+/**
+ * 联合惩戒告知书信息Mapper接口
+ * 
+ * @author sun
+ * @date 2022-06-06
+ */
+public interface ZwywLhcjGzsMapper extends BaseMapperPlus<ZwywLhcjGzs> {
+
+}

+ 58 - 0
ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/service/IZwywLhcjGzsService.java

@@ -0,0 +1,58 @@
+package com.ruoyi.business.service;
+
+import java.util.List;
+import com.ruoyi.business.domain.ZwywLhcjGzs;
+
+/**
+ * 联合惩戒告知书信息Service接口
+ * 
+ * @author sun
+ * @date 2022-06-06
+ */
+public interface IZwywLhcjGzsService 
+{
+    /**
+     * 查询联合惩戒告知书信息
+     * 
+     * @param id 联合惩戒告知书信息主键
+     * @return 联合惩戒告知书信息
+     */
+    public ZwywLhcjGzs selectZwywLhcjGzsById(String id);
+
+    /**
+     * 查询联合惩戒告知书信息列表
+     * 
+     * @param zwywLhcjGzs 联合惩戒告知书信息
+     * @return 联合惩戒告知书信息集合
+     */
+    public List<ZwywLhcjGzs> selectZwywLhcjGzsList(ZwywLhcjGzs zwywLhcjGzs);
+
+    /**
+     * 新增联合惩戒告知书信息
+     * 
+     * @param zwywLhcjGzs 联合惩戒告知书信息
+     * @return 结果
+     */
+    public int insertZwywLhcjGzs(ZwywLhcjGzs zwywLhcjGzs);
+
+    public int insertZwywJgLhcjGzs(ZwywLhcjGzs zwywLhcjGzs);
+
+    public int insertZwywRyLhcjGzs(ZwywLhcjGzs zwywLhcjGzs);
+
+    /**
+     * 修改联合惩戒告知书信息
+     * 
+     * @param zwywLhcjGzs 联合惩戒告知书信息
+     * @return 结果
+     */
+    public int updateZwywLhcjGzs(ZwywLhcjGzs zwywLhcjGzs);
+
+    /**
+     * 批量删除联合惩戒告知书信息
+     * 
+     * @param ids 需要删除的联合惩戒告知书信息主键集合
+     * @return 结果
+     */
+    public int deleteZwywLhcjGzsByIds(String[] ids);
+
+}

+ 132 - 0
ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/service/impl/ZwywLhcjGzsServiceImpl.java

@@ -0,0 +1,132 @@
+package com.ruoyi.business.service.impl;
+
+import java.util.List;
+
+import com.ruoyi.business.domain.ZwywCyrySxxx;
+import com.ruoyi.business.domain.ZwywYljgSxxx;
+import com.ruoyi.business.mapper.ZwywCyrySxxxMapper;
+import com.ruoyi.business.mapper.ZwywYljgSxxxMapper;
+import com.ruoyi.ext.api.enums.PunishmentsStatus;
+import org.apache.commons.lang3.ObjectUtils;
+import org.apache.commons.lang3.StringUtils;
+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.mapper.ZwywLhcjGzsMapper;
+import com.ruoyi.business.domain.ZwywLhcjGzs;
+import com.ruoyi.business.service.IZwywLhcjGzsService;
+
+/**
+ * 联合惩戒告知书信息Service业务层处理
+ * 
+ * @author sun
+ * @date 2022-06-06
+ */
+@Service
+public class ZwywLhcjGzsServiceImpl implements IZwywLhcjGzsService 
+{
+    @Autowired
+    private ZwywLhcjGzsMapper zwywLhcjGzsMapper;
+
+    @Autowired
+    private ZwywYljgSxxxMapper zwywYljgSxxxMapper;
+
+    @Autowired
+    private ZwywCyrySxxxMapper zwywCyrySxxxMapper;
+
+    /**
+     * 查询联合惩戒告知书信息
+     * 
+     * @param id 联合惩戒告知书信息主键
+     * @return 联合惩戒告知书信息
+     */
+    @Override
+    public ZwywLhcjGzs selectZwywLhcjGzsById(String id)
+    {
+        return zwywLhcjGzsMapper.selectById(id);
+    }
+
+    /**
+     * 查询联合惩戒告知书信息列表
+     * 
+     * @param zwywLhcjGzs 联合惩戒告知书信息
+     * @return 联合惩戒告知书信息
+     */
+    @Override
+    public List<ZwywLhcjGzs> selectZwywLhcjGzsList(ZwywLhcjGzs zwywLhcjGzs)
+    {
+        return zwywLhcjGzsMapper.selectList(new LambdaQueryWrapper<>(zwywLhcjGzs));
+    }
+
+    /**
+     * 新增联合惩戒告知书信息
+     * 
+     * @param zwywLhcjGzs 联合惩戒告知书信息
+     * @return 结果
+     */
+    @Override
+    public int insertZwywLhcjGzs(ZwywLhcjGzs zwywLhcjGzs)
+    {
+        return zwywLhcjGzsMapper.insert(zwywLhcjGzs);
+    }
+
+    @Override
+    public int insertZwywJgLhcjGzs(ZwywLhcjGzs zwywLhcjGzs)
+    {
+        int res = 0;
+        ZwywYljgSxxx sxxx = zwywYljgSxxxMapper.selectById(zwywLhcjGzs.getSxxxId());
+        if (ObjectUtils.isNotEmpty(sxxx)) {
+            if (StringUtils.equals(sxxx.getLzzt(), PunishmentsStatus.GZ.getCode())) {
+                sxxx.setLzzt(PunishmentsStatus.FK.getCode());
+                res += zwywYljgSxxxMapper.updateById(sxxx);
+            }
+            if (StringUtils.equals(sxxx.getLzzt(), PunishmentsStatus.FK.getCode())) {
+                res += 1;
+            }
+        }
+        return res;
+    }
+
+    @Override
+    public int insertZwywRyLhcjGzs(ZwywLhcjGzs zwywLhcjGzs)
+    {
+        int res = 0;
+        ZwywCyrySxxx sxxx = zwywCyrySxxxMapper.selectById(zwywLhcjGzs.getSxxxId());
+        if (ObjectUtils.isNotEmpty(sxxx)) {
+            if (StringUtils.equals(sxxx.getLzzt(), PunishmentsStatus.GZ.getCode())) {
+                sxxx.setLzzt(PunishmentsStatus.FK.getCode());
+                res += zwywCyrySxxxMapper.updateById(sxxx);
+            }
+            if (StringUtils.equals(sxxx.getLzzt(), PunishmentsStatus.FK.getCode())) {
+                res += 1;
+            }
+        }
+        return res;
+    }
+
+    /**
+     * 修改联合惩戒告知书信息
+     * 
+     * @param zwywLhcjGzs 联合惩戒告知书信息
+     * @return 结果
+     */
+    @Override
+    public int updateZwywLhcjGzs(ZwywLhcjGzs zwywLhcjGzs)
+    {
+        return zwywLhcjGzsMapper.updateById(zwywLhcjGzs);
+    }
+
+    /**
+     * 批量删除联合惩戒告知书信息
+     * 
+     * @param ids 需要删除的联合惩戒告知书信息主键
+     * @return 结果
+     */
+    @Override
+    public int deleteZwywLhcjGzsByIds(String[] ids)
+    {
+        return zwywLhcjGzsMapper.deleteBatchIds(Arrays.asList(ids));
+    }
+
+}

+ 30 - 0
ruoyi-modules/mz-business/src/main/resources/mapper/business/ZwywLhcjGzsMapper.xml

@@ -0,0 +1,30 @@
+<?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.ZwywLhcjGzsMapper">
+    
+    <resultMap type="ZwywLhcjGzs" id="ZwywLhcjGzsResult">
+        <result property="id"    column="id"    />
+        <result property="sxxxId"    column="sxxx_id"    />
+        <result property="instanceId"    column="instance_id"    />
+        <result property="yjfs"    column="yjfs"    />
+        <result property="yjsj"    column="yjsj"    />
+        <result property="isSd"    column="is_sd"    />
+        <result property="jssj"    column="jssj"    />
+        <result property="wsdyy"    column="wsdyy"    />
+        <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>
+
+</mapper>

+ 96 - 0
ruoyi-ui/src/api/business/lhcj/mdgl/lhcjGzs.js

@@ -0,0 +1,96 @@
+import request from '@/utils/request'
+
+// 查询联合惩戒告知书信息列表
+export function listLhcjGzs(query) {
+  return request({
+    url: '/business/lhcjGzs/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询联合惩戒告知书信息详细
+export function getLhcjGzs(id) {
+  return request({
+    url: '/business/lhcjGzs/' + id,
+    method: 'get'
+  })
+}
+
+// 新增联合惩戒告知书信息
+export function addLhcjGzs(data) {
+  return request({
+    url: '/business/lhcjGzs',
+    method: 'post',
+    data: data
+  })
+}
+
+// 新增联合惩戒告知书信息
+export function addJgLhcjGzs(data) {
+  return request({
+    url: '/business/lhcjGzs/jg',
+    method: 'post',
+    data: data
+  })
+}
+
+// 新增联合惩戒告知书信息
+export function addRyLhcjGzs(data) {
+  return request({
+    url: '/business/lhcjGzs/ry',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改联合惩戒告知书信息
+export function updateLhcjGzs(data) {
+  return request({
+    url: '/business/lhcjGzs',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除联合惩戒告知书信息
+export function delLhcjGzs(id) {
+  return request({
+    url: '/business/lhcjGzs/' + id,
+    method: 'delete'
+  })
+}
+
+// 查询联合惩戒纳入认定信息列表
+export function listJgLhcjGzs(query) {
+  return request({
+    url: '/business/lhcjGzs/jg/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询联合惩戒纳入认定信息列表
+export function listRyLhcjGzs(query) {
+  return request({
+    url: '/business/lhcjGzs/ry/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询联合惩戒纳入认定信息详细
+export function getJgLhcjGzs(id) {
+  return request({
+    url: '/business/lhcjGzs/jg/' + id,
+    method: 'get'
+  })
+}
+
+// 查询联合惩戒纳入认定信息详细
+export function getRyLhcjGzs(id) {
+  return request({
+    url: '/business/lhcjGzs/ry/' + id,
+    method: 'get'
+  })
+}

+ 282 - 0
ruoyi-ui/src/views/business/lhcj/index.vue

@@ -0,0 +1,282 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <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">
+      <el-col :span="1.5">
+        <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
+          v-hasPermi="['business:lhcjGzs:add']">新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
+          v-hasPermi="['business:lhcjGzs:export']">导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="lhcjGzsList">
+      <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" class-name="small-padding fixed-width" fixed="right">
+        <template slot-scope="scope">
+          <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
+            v-hasPermi="['business:lhcjGzs:edit']">修改</el-button>
+          <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row, scope.$index)"
+            v-hasPermi="['business:lhcjGzs:remove']">删除</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">
+          <el-input v-model="form.sxxxId" placeholder="请输入失信信息主键标识" />
+        </el-form-item>
+
+        <el-form-item label="流程实例主键标识" prop="instanceId">
+          <el-input v-model="form.instanceId" placeholder="请输入流程实例主键标识" />
+        </el-form-item>
+
+        <el-form-item label="邮寄方式" prop="yjfs">
+          <el-select v-model="form.yjfs" placeholder="请选择邮寄方式">
+            <el-option v-for="dict in dict.type.CZ026" :key="dict.value" :label="dict.label" :value="dict.value">
+            </el-option>
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="邮寄时间" prop="yjsj">
+          <el-date-picker clearable v-model="form.yjsj" type="datetime" value-format="yyyyMMddHHmmss"
+            placeholder="请选择邮寄时间">
+          </el-date-picker>
+        </el-form-item>
+
+        <el-form-item label="是否收到告知书" prop="isSd">
+          <el-select v-model="form.isSd" placeholder="请选择是否收到告知书">
+            <el-option v-for="dict in dict.type.CZ035" :key="dict.value" :label="dict.label"
+              :value="parseInt(dict.value)"></el-option>
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="接收时间" prop="jssj">
+          <el-date-picker clearable v-model="form.jssj" type="datetime" value-format="yyyyMMddHHmmss"
+            placeholder="请选择接收时间">
+          </el-date-picker>
+        </el-form-item>
+
+        <el-form-item label="未收到原因" prop="wsdyy">
+          <el-input v-model="form.wsdyy" type="textarea" maxlength="500" show-word-limit placeholder="请输入未收到原因" />
+        </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 { listLhcjGzs, getLhcjGzs, delLhcjGzs, addLhcjGzs, updateLhcjGzs } from "@/api/business/lhcj/mdgl/lhcjGzs";
+import { Regular, chineseOne, idCard } from '@/utils/regular'
+
+export default {
+  name: "LhcjGzs",
+  dicts: ['CZ035', 'CZ026'],
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      submitFormLoading: false,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 联合惩戒告知书信息表格数据
+      lhcjGzsList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        sxxxId: [
+          { required: true, message: "失信信息主键标识不能为空", trigger: "blur" },
+        ],
+        instanceId: [
+          { required: true, message: "流程实例主键标识不能为空", trigger: "blur" },
+        ],
+        yjfs: [
+          { required: true, message: "邮寄方式不能为空", trigger: "change" },
+        ],
+        yjsj: [
+          { required: true, message: "邮寄时间不能为空", trigger: "blur" },
+        ],
+        isSd: [
+          { required: true, message: "是否收到告知书不能为空", trigger: "change" },
+        ],
+        jssj: [
+          { required: true, message: "接收时间不能为空", trigger: "blur" },
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询联合惩戒告知书信息列表 */
+    getList() {
+      this.loading = true;
+      listLhcjGzs(this.queryParams).then(response => {
+        this.lhcjGzsList = 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,
+        yjfs: null,
+        yjsj: null,
+        isSd: null,
+        jssj: null,
+        wsdyy: null,
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length !== 1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加联合惩戒告知书信息";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getLhcjGzs(id).then(response => {
+        this.form = response.data;
+        /****** 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;
+          if (this.form.id != null) {
+            /****** sks 需要改动的地方 start ******/
+            let formData = this.comparisonObject(this.form, this.copyForm);
+            if (formData) {
+              updateLhcjGzs({ ...formData, id: this.form.id }).then(response => {
+                this.$modal.msgSuccess("修改成功");
+                this.open = false;
+                this.lhcjGzsList = this.dataReplacement(this.lhcjGzsList, this.form.id, formData);
+                // this.getList();
+              }).finally(() => this.submitFormLoading = false);
+            } else {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.submitFormLoading = false;
+            }
+            /****** sks 需要改动的地方 end ******/
+          } else {
+            addLhcjGzs(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              // this.getList();
+              /****** sks 需要改动的地方 start ******/
+              if (this.queryParams.pageSize === this.lhcjGzsList.length) {
+                this.lhcjGzsList.pop();
+              }
+              this.lhcjGzsList.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 delLhcjGzs(ids);
+      }).then(() => {
+        // this.getList();
+        /****** sks 需要改动的地方 ind参数需要传进来 start ******/
+        this.lhcjGzsList.splice(index, 1);
+        if (this.lhcjGzsList.length === 0) {
+          this.getList();
+        } else {
+          this.total--;
+        }
+        this.$modal.msgSuccess("删除成功");
+        /****** sks 需要改动的地方 end ******/
+      }).catch(() => { });
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('business/lhcjGzs/export', {
+        ...this.queryParams
+      }, `lhcjGzs_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

+ 480 - 0
ruoyi-ui/src/views/business/lhcj/jgLhcj/gzs/index.vue

@@ -0,0 +1,480 @@
+<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 == '03'" size="mini" type="text" icon="el-icon-edit"
+            @click="handleAdd(scope.row)" v-hasPermi="['business:jgLhcjGzs:add']">打印</el-button>
+          <el-button v-if="scope.row.lzzt == '04'" size="mini" type="text" icon="el-icon-edit"
+            @click="handleAdd(scope.row)" v-hasPermi="['business:jgLhcjGzs:add']">再次打印</el-button>
+          <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
+            v-hasPermi="['business:jgLhcjGzs: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 { listJgLhcjGzs, getJgLhcjGzs, addJgLhcjGzs } from "@/api/business/lhcj/mdgl/lhcjGzs";
+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,
+        jgmc: null,
+        tyshxydm: 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;
+      listJgLhcjGzs(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
+      getJgLhcjGzs(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 = "联合惩戒纳入认定信息";
+      });
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getJgLhcjGzs(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 {
+          addJgLhcjGzs({ ...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>

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

@@ -58,7 +58,7 @@
         <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)"
+          <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
             v-hasPermi="['business:lhcjNrrd:query']">详情</el-button>
         </template>
       </el-table-column>

+ 483 - 0
ruoyi-ui/src/views/business/lhcj/ryLhcj/gzs/index.vue

@@ -0,0 +1,483 @@
+<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 == '03'" size="mini" type="text" icon="el-icon-edit"
+            @click="handleAdd(scope.row)" v-hasPermi="['business:ryLhcjGzs:add']">打印</el-button>
+          <el-button v-if="scope.row.lzzt == '04'" size="mini" type="text" icon="el-icon-edit"
+            @click="handleAdd(scope.row)" v-hasPermi="['business:ryLhcjGzs:add']">再次打印</el-button>
+          <el-button v-else size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
+            v-hasPermi="['business:ryLhcjGzs: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 { listRyLhcjGzs, getRyLhcjGzs, addRyLhcjGzs } from "@/api/business/lhcj/mdgl/lhcjGzs";
+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;
+      listRyLhcjGzs(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
+      getRyLhcjGzs(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 = "联合惩戒纳入认定信息";
+      });
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getRyLhcjGzs(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 {
+          addRyLhcjGzs({ ...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>