Browse Source

20221025_sun新增项目申报模块页面

15143018065 2 years ago
parent
commit
769b2ac24e
48 changed files with 4971 additions and 0 deletions
  1. 68 0
      ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/domain/ZwywXmsbBaxx.java
  2. 189 0
      ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/domain/ZwywXmsbCommon.java
  3. 84 0
      ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/domain/ZwywXmsbFj.java
  4. 60 0
      ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/domain/ZwywXmsbFjlx.java
  5. 76 0
      ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/domain/ZwywXmsbXmbdpz.java
  6. 55 0
      ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/domain/ZwywXmsbXmlx.java
  7. 15 0
      ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/mapper/ZwywXmsbBaxxMapper.java
  8. 15 0
      ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/mapper/ZwywXmsbCommonMapper.java
  9. 15 0
      ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/mapper/ZwywXmsbFjMapper.java
  10. 15 0
      ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/mapper/ZwywXmsbFjlxMapper.java
  11. 15 0
      ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/mapper/ZwywXmsbXmbdpzMapper.java
  12. 15 0
      ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/mapper/ZwywXmsbXmlxMapper.java
  13. 54 0
      ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/service/IZwywXmsbBaxxService.java
  14. 54 0
      ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/service/IZwywXmsbCommonService.java
  15. 54 0
      ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/service/IZwywXmsbFjService.java
  16. 54 0
      ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/service/IZwywXmsbFjlxService.java
  17. 54 0
      ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/service/IZwywXmsbXmbdpzService.java
  18. 54 0
      ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/service/IZwywXmsbXmlxService.java
  19. 84 0
      ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/service/impl/ZwywXmsbBaxxServiceImpl.java
  20. 84 0
      ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/service/impl/ZwywXmsbCommonServiceImpl.java
  21. 84 0
      ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/service/impl/ZwywXmsbFjServiceImpl.java
  22. 84 0
      ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/service/impl/ZwywXmsbFjlxServiceImpl.java
  23. 84 0
      ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/service/impl/ZwywXmsbXmbdpzServiceImpl.java
  24. 84 0
      ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/service/impl/ZwywXmsbXmlxServiceImpl.java
  25. 28 0
      ruoyi-modules/mz-business-xmsb/src/main/resources/mapper/business/ZwywXmsbBaxxMapper.xml
  26. 43 0
      ruoyi-modules/mz-business-xmsb/src/main/resources/mapper/business/ZwywXmsbCommonMapper.xml
  27. 30 0
      ruoyi-modules/mz-business-xmsb/src/main/resources/mapper/business/ZwywXmsbFjMapper.xml
  28. 27 0
      ruoyi-modules/mz-business-xmsb/src/main/resources/mapper/business/ZwywXmsbFjlxMapper.xml
  29. 29 0
      ruoyi-modules/mz-business-xmsb/src/main/resources/mapper/business/ZwywXmsbXmbdpzMapper.xml
  30. 26 0
      ruoyi-modules/mz-business-xmsb/src/main/resources/mapper/business/ZwywXmsbXmlxMapper.xml
  31. 106 0
      ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/controller/ZwywXmsbBaxxController.java
  32. 100 0
      ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/controller/ZwywXmsbCommonController.java
  33. 106 0
      ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/controller/ZwywXmsbFjController.java
  34. 108 0
      ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/controller/ZwywXmsbFjlxController.java
  35. 100 0
      ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/controller/ZwywXmsbXmbdpzController.java
  36. 108 0
      ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/controller/ZwywXmsbXmlxController.java
  37. 44 0
      ruoyi-ui/src/api/business/xmsb/baxx.js
  38. 44 0
      ruoyi-ui/src/api/business/xmsb/xmbdpz.js
  39. 44 0
      ruoyi-ui/src/api/business/xmsb/xmsbCommon.js
  40. 44 0
      ruoyi-ui/src/api/business/xmsb/xmsbFj.js
  41. 56 0
      ruoyi-ui/src/api/business/xmsb/xmsbFjlx.js
  42. 56 0
      ruoyi-ui/src/api/business/xmsb/xmsbXmlx.js
  43. 313 0
      ruoyi-ui/src/views/business/xmsb/baxx/index.vue
  44. 314 0
      ruoyi-ui/src/views/business/xmsb/xmbdpz/index.vue
  45. 592 0
      ruoyi-ui/src/views/business/xmsb/xmsbCommon/index.vue
  46. 313 0
      ruoyi-ui/src/views/business/xmsb/xmsbFj/index.vue
  47. 304 0
      ruoyi-ui/src/views/business/xmsb/xmsbFjlx/index.vue
  48. 586 0
      ruoyi-ui/src/views/business/xmsb/xmsbXmlx/index.vue

+ 68 - 0
ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/domain/ZwywXmsbBaxx.java

@@ -0,0 +1,68 @@
+package com.ruoyi.business.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.annotation.Excel;
+import com.ruoyi.common.core.web.domain.BaseEntity;
+import com.ruoyi.system.validate.DictV;
+import com.ruoyi.system.validate.group.AddGroup;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.Size;
+
+/**
+ * 项目申报备案信息对象 zwyw_xmsb_baxx
+ *
+ * @author sun
+ * @date 2022-10-25
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
+@TableName("zwyw_xmsb_baxx")
+@ApiModel("项目申报备案信息")
+public class ZwywXmsbBaxx extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 主键标识 */
+    @Excel(name = "主键标识")
+    @ApiModelProperty(value = "主键标识")
+    @TableId(value = "id",type = IdType.ASSIGN_UUID)
+    private String id;
+
+    /** 主键标识 */
+    @Excel(name = "主键标识")
+    @ApiModelProperty(value = "主键标识", required = true)
+    @NotBlank(message = "{主键标识}",groups = AddGroup.class)
+    private String sbId;
+
+    /** 备案状态(XZ108) */
+    @Excel(name = "备案状态", dictType = "XZ108")
+    @ApiModelProperty(value = "备案状态(XZ108)", required = true)
+    @NotBlank(message = "{备案状态}",groups = AddGroup.class)
+    @DictV(type = "XZ108",message = "{备案状态}")
+    private String bazt;
+
+    /** 审核意见 */
+    @Excel(name = "审核意见")
+    @ApiModelProperty(value = "审核意见", required = true)
+    @NotBlank(message = "{审核意见}",groups = AddGroup.class)
+    @Size(min = 1, max = 100, message = "{审核意见}")
+
+    private String shyj;
+
+    /** 备注 */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    @Size(max = 1000, message = "{备注}")
+
+    private String bz;
+
+}

+ 189 - 0
ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/domain/ZwywXmsbCommon.java

@@ -0,0 +1,189 @@
+package com.ruoyi.business.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.annotation.Excel;
+import com.ruoyi.common.core.web.domain.BaseEntity;
+import com.ruoyi.system.validate.DateV;
+import com.ruoyi.system.validate.DictV;
+import com.ruoyi.system.validate.group.AddGroup;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import org.hibernate.validator.constraints.Range;
+
+import javax.validation.constraints.Digits;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.Size;
+
+/**
+ * 项目申报信息对象 zwyw_xmsb_common
+ *
+ * @author sun
+ * @date 2022-10-25
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
+@TableName("zwyw_xmsb_common")
+@ApiModel("项目申报信息")
+public class ZwywXmsbCommon extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 主键标识 */
+    @Excel(name = "主键标识")
+    @ApiModelProperty(value = "主键标识")
+    @TableId(value = "id",type = IdType.ASSIGN_UUID)
+    private String id;
+
+    /** 项目名称 */
+    @Excel(name = "项目名称")
+    @ApiModelProperty(value = "项目名称", required = true)
+    @NotBlank(message = "{项目名称}",groups = AddGroup.class)
+    @Size(min = 1, max = 100, message = "{项目名称}")
+
+    private String xmmc;
+
+    /** 所在地区 */
+    @Excel(name = "所在地区")
+    @ApiModelProperty(value = "所在地区", required = true)
+    @NotBlank(message = "{所在地区}",groups = AddGroup.class)
+    @Size(min = 1, max = 12, message = "{所在地区}")
+
+    private String szdq;
+
+    /** 项目类型 */
+    @Excel(name = "项目类型")
+    @ApiModelProperty(value = "项目类型", required = true)
+    @NotBlank(message = "{项目类型}",groups = AddGroup.class)
+    @Size(min = 1, max = 32, message = "{项目类型}")
+
+    private String xmlx;
+
+    /** 申报日期 */
+    @Excel(name = "申报日期")
+    @ApiModelProperty(value = "申报日期", required = true)
+    @NotBlank(message = "{申报日期}",groups = AddGroup.class)
+    @DateV(pattern = "yyyyMMdd", message = "{申报日期}")
+    private String sbrq;
+
+    /** 申报年度 */
+    @Excel(name = "申报年度")
+    @ApiModelProperty(value = "申报年度", required = true)
+    @NotBlank(message = "{申报年度}",groups = AddGroup.class)
+    @Size(min = 1, max = 8, message = "{申报年度}")
+
+    private String sbnd;
+
+    /** 申报状态(XZ108) */
+    @Excel(name = "申报状态", dictType = "XZ108")
+    @ApiModelProperty(value = "申报状态(XZ108)", required = true)
+    @NotBlank(message = "{申报状态}",groups = AddGroup.class)
+    @DictV(type = "XZ108",message = "{申报状态}")
+    private String sbzt;
+
+    /** 申报机构 */
+    @Excel(name = "申报机构")
+    @ApiModelProperty(value = "申报机构", required = true)
+    @NotBlank(message = "{申报机构}",groups = AddGroup.class)
+    @Size(min = 1, max = 100, message = "{申报机构}")
+
+    private String sbjg;
+
+    /** 申报人 */
+    @Excel(name = "申报人")
+    @ApiModelProperty(value = "申报人", required = true)
+    @NotBlank(message = "{申报人}",groups = AddGroup.class)
+    @Size(min = 1, max = 100, message = "{申报人}")
+
+    private String sbr;
+
+    /** 申报人电话 */
+    @Excel(name = "申报人电话")
+    @ApiModelProperty(value = "申报人电话", required = true)
+    @NotBlank(message = "{申报人电话}",groups = AddGroup.class)
+    @Size(min = 1, max = 18, message = "{申报人电话}")
+
+    private String sbrdh;
+
+    /** 申报人邮箱 */
+    @Excel(name = "申报人邮箱")
+    @ApiModelProperty(value = "申报人邮箱")
+    @Size(max = 100, message = "{申报人邮箱}")
+
+    private String sbryx;
+
+    /** 预算总金额(万元) */
+    @Excel(name = "预算总金额(万元)")
+    @ApiModelProperty(value = "预算总金额(万元)", required = true)
+    @NotBlank(message = "{预算总金额(万元)}",groups = AddGroup.class)
+    @Range(min=0,max=10000000000L,message = "{预算总金额(万元)}")
+    @Digits(integer = 10,fraction = 2,message = "{预算总金额(万元)}")
+    private String yszje;
+
+    /** 政府配套金额(万元) */
+    @Excel(name = "政府配套金额(万元)")
+    @ApiModelProperty(value = "政府配套金额(万元)", required = true)
+    @NotBlank(message = "{政府配套金额(万元)}",groups = AddGroup.class)
+    @Range(min=0,max=10000000000L,message = "{政府配套金额(万元)}")
+    @Digits(integer = 10,fraction = 2,message = "{政府配套金额(万元)}")
+    private String zfptje;
+
+    /** 申请金额(万元) */
+    @Excel(name = "申请金额(万元)")
+    @ApiModelProperty(value = "申请金额(万元)", required = true)
+    @NotBlank(message = "{申请金额(万元)}",groups = AddGroup.class)
+    @Range(min=0,max=10000000000L,message = "{申请金额(万元)}")
+    @Digits(integer = 10,fraction = 2,message = "{申请金额(万元)}")
+    private String sqje;
+
+    /** 项目联系人 */
+    @Excel(name = "项目联系人")
+    @ApiModelProperty(value = "项目联系人", required = true)
+    @NotBlank(message = "{项目联系人}",groups = AddGroup.class)
+    @Size(min = 1, max = 100, message = "{项目联系人}")
+
+    private String xmlxr;
+
+    /** 项目联系人电话 */
+    @Excel(name = "项目联系人电话")
+    @ApiModelProperty(value = "项目联系人电话", required = true)
+    @NotBlank(message = "{项目联系人电话}",groups = AddGroup.class)
+    @Size(min = 1, max = 18, message = "{项目联系人电话}")
+
+    private String xmlxrdh;
+
+    /** 项目联系人邮箱 */
+    @Excel(name = "项目联系人邮箱")
+    @ApiModelProperty(value = "项目联系人邮箱")
+    @Size(max = 100, message = "{项目联系人邮箱}")
+
+    private String xmlxryx;
+
+    /** 项目实施单位 */
+    @Excel(name = "项目实施单位")
+    @ApiModelProperty(value = "项目实施单位", required = true)
+    @NotBlank(message = "{项目实施单位}",groups = AddGroup.class)
+    @Size(min = 1, max = 100, message = "{项目实施单位}")
+
+    private String xmssdw;
+
+    /** 备注 */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    @Size(max = 1000, message = "{备注}")
+
+    private String bz;
+
+    /** 扩展项 */
+    @Excel(name = "扩展项")
+    @ApiModelProperty(value = "扩展项")
+    @Size(max = -1, message = "{扩展项}")
+
+    private String kz;
+
+}

+ 84 - 0
ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/domain/ZwywXmsbFj.java

@@ -0,0 +1,84 @@
+package com.ruoyi.business.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.annotation.Excel;
+import com.ruoyi.common.core.web.domain.BaseEntity;
+import com.ruoyi.system.validate.group.AddGroup;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.Size;
+
+/**
+ * 项目申报附件信息对象 zwyw_xmsb_fj
+ *
+ * @author sun
+ * @date 2022-10-25
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
+@TableName("zwyw_xmsb_fj")
+@ApiModel("项目申报附件信息")
+public class ZwywXmsbFj extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 主键标识 */
+    @Excel(name = "主键标识")
+    @ApiModelProperty(value = "主键标识")
+    @TableId(value = "id",type = IdType.ASSIGN_UUID)
+    private String id;
+
+    /** 主键标识 */
+    @Excel(name = "主键标识")
+    @ApiModelProperty(value = "主键标识", required = true)
+    @NotBlank(message = "{主键标识}",groups = AddGroup.class)
+    private String sbId;
+
+    /** 材料类型 */
+    @Excel(name = "材料类型")
+    @ApiModelProperty(value = "材料类型", required = true)
+    @NotBlank(message = "{材料类型}",groups = AddGroup.class)
+    @Size(min = 1, max = 32, message = "{材料类型}")
+
+    private String fjlx;
+
+    /** 材料简称 */
+    @Excel(name = "材料简称")
+    @ApiModelProperty(value = "材料简称", required = true)
+    @NotBlank(message = "{材料简称}",groups = AddGroup.class)
+    @Size(min = 1, max = 100, message = "{材料简称}")
+
+    private String fjmc;
+
+    /** 内附文件说明 */
+    @Excel(name = "内附文件说明")
+    @ApiModelProperty(value = "内附文件说明", required = true)
+    @NotBlank(message = "{内附文件说明}",groups = AddGroup.class)
+    @Size(min = 1, max = 100, message = "{内附文件说明}")
+
+    private String nfwjsm;
+
+    /** 备注 */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    @Size(max = 1000, message = "{备注}")
+
+    private String bz;
+
+    /** 附件地址 */
+    @Excel(name = "附件地址")
+    @ApiModelProperty(value = "附件地址", required = true)
+    @NotBlank(message = "{附件地址}",groups = AddGroup.class)
+    @Size(min = 1, max = 300, message = "{附件地址}")
+
+    private String fj;
+
+}

+ 60 - 0
ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/domain/ZwywXmsbFjlx.java

@@ -0,0 +1,60 @@
+package com.ruoyi.business.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.annotation.Excel;
+import com.ruoyi.common.core.web.domain.BaseEntity;
+import com.ruoyi.system.validate.group.AddGroup;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.Size;
+
+/**
+ * 项目申报附件类型信息对象 zwyw_xmsb_fjlx
+ *
+ * @author sun
+ * @date 2022-10-25
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
+@TableName("zwyw_xmsb_fjlx")
+@ApiModel("项目申报附件类型信息")
+public class ZwywXmsbFjlx extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 主键标识 */
+    @Excel(name = "主键标识")
+    @ApiModelProperty(value = "主键标识")
+    @TableId(value = "id",type = IdType.ASSIGN_UUID)
+    private String id;
+
+    @Excel(name = "项目类型主键")
+    @ApiModelProperty(value = "项目类型主键")
+    @NotBlank(message = "{项目类型主键}",groups = AddGroup.class)
+    private String xmlxId;
+
+    /** 类型名称 */
+    @Excel(name = "类型名称")
+    @ApiModelProperty(value = "类型名称", required = true)
+    @NotBlank(message = "{类型名称}",groups = AddGroup.class)
+    @Size(min = 1, max = 100, message = "{类型名称}")
+
+    private String lxmc;
+
+    /** 数据状态 */
+    @Excel(name = "数据状态")
+    @ApiModelProperty(value = "数据状态", required = true)
+    @NotBlank(message = "{数据状态}",groups = AddGroup.class)
+    @Size(min = 1, max = 2, message = "{数据状态}")
+
+    private String status;
+
+}

+ 76 - 0
ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/domain/ZwywXmsbXmbdpz.java

@@ -0,0 +1,76 @@
+package com.ruoyi.business.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.annotation.Excel;
+import com.ruoyi.common.core.web.domain.BaseEntity;
+import com.ruoyi.system.validate.DictV;
+import com.ruoyi.system.validate.group.AddGroup;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.Size;
+
+/**
+ * 项目申报项目类型单配置信息对象 zwyw_xmsb_xmbdpz
+ *
+ * @author sun
+ * @date 2022-10-25
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
+@TableName("zwyw_xmsb_xmbdpz")
+@ApiModel("项目申报项目类型单配置信息")
+public class ZwywXmsbXmbdpz extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 主键标识 */
+    @Excel(name = "主键标识")
+    @ApiModelProperty(value = "主键标识")
+    @TableId(value = "id",type = IdType.ASSIGN_UUID)
+    private String id;
+
+    /** 主键标识 */
+    @Excel(name = "主键标识")
+    @ApiModelProperty(value = "主键标识", required = true)
+    @NotBlank(message = "{主键标识}",groups = AddGroup.class)
+    private String xmlxId;
+
+    /** 表单项标签 */
+    @Excel(name = "表单项标签")
+    @ApiModelProperty(value = "表单项标签", required = true)
+    @NotBlank(message = "{表单项标签}",groups = AddGroup.class)
+    @Size(min = 1, max = 18, message = "{表单项标签}")
+
+    private String label;
+
+    /** 表单项类型(XZ109) */
+    @Excel(name = "表单项类型", dictType = "XZ109")
+    @ApiModelProperty(value = "表单项类型(XZ109)", required = true)
+    @NotBlank(message = "{表单项类型}",groups = AddGroup.class)
+    @Size(min = 1, max = 2, message = "{表单项类型}")
+
+    private String type;
+
+    /** 是否必填(CZ035) */
+    @Excel(name = "是否必填", dictType = "CZ035")
+    @ApiModelProperty(value = "是否必填(CZ035)", required = true)
+    @NotBlank(message = "{是否必填}",groups = AddGroup.class)
+    @DictV(type = "CZ035",message = "{是否必填}")
+    private String required;
+
+    /** 字典类型 */
+    @Excel(name = "字典类型")
+    @ApiModelProperty(value = "字典类型")
+    @Size(max = 12, message = "{字典类型}")
+
+    private String dictType;
+
+}

+ 55 - 0
ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/domain/ZwywXmsbXmlx.java

@@ -0,0 +1,55 @@
+package com.ruoyi.business.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.annotation.Excel;
+import com.ruoyi.common.core.web.domain.BaseEntity;
+import com.ruoyi.system.validate.group.AddGroup;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.Size;
+
+/**
+ * 项目申报项目类型信息对象 zwyw_xmsb_xmlx
+ *
+ * @author sun
+ * @date 2022-10-25
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
+@TableName("zwyw_xmsb_xmlx")
+@ApiModel("项目申报项目类型信息")
+public class ZwywXmsbXmlx extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 主键标识 */
+    @Excel(name = "主键标识")
+    @ApiModelProperty(value = "主键标识")
+    @TableId(value = "id",type = IdType.ASSIGN_UUID)
+    private String id;
+
+    /** 类型名称 */
+    @Excel(name = "类型名称")
+    @ApiModelProperty(value = "类型名称", required = true)
+    @NotBlank(message = "{类型名称}",groups = AddGroup.class)
+    @Size(min = 1, max = 72, message = "{类型名称}")
+
+    private String lxmc;
+
+    /** 数据状态 */
+    @Excel(name = "数据状态")
+    @ApiModelProperty(value = "数据状态", required = true)
+    @NotBlank(message = "{数据状态}",groups = AddGroup.class)
+    @Size(min = 1, max = 2, message = "{数据状态}")
+
+    private String status;
+
+}

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

@@ -0,0 +1,15 @@
+package com.ruoyi.business.mapper;
+
+import java.util.List;
+import com.ruoyi.business.domain.ZwywXmsbBaxx;
+import com.ruoyi.common.datascope.utils.BaseMapperPlus;
+
+/**
+ * 项目申报备案信息Mapper接口
+ * 
+ * @author sun
+ * @date 2022-10-25
+ */
+public interface ZwywXmsbBaxxMapper extends BaseMapperPlus<ZwywXmsbBaxx> {
+
+}

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

@@ -0,0 +1,15 @@
+package com.ruoyi.business.mapper;
+
+import java.util.List;
+import com.ruoyi.business.domain.ZwywXmsbCommon;
+import com.ruoyi.common.datascope.utils.BaseMapperPlus;
+
+/**
+ * 项目申报信息Mapper接口
+ * 
+ * @author sun
+ * @date 2022-10-25
+ */
+public interface ZwywXmsbCommonMapper extends BaseMapperPlus<ZwywXmsbCommon> {
+
+}

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

@@ -0,0 +1,15 @@
+package com.ruoyi.business.mapper;
+
+import java.util.List;
+import com.ruoyi.business.domain.ZwywXmsbFj;
+import com.ruoyi.common.datascope.utils.BaseMapperPlus;
+
+/**
+ * 项目申报附件信息Mapper接口
+ * 
+ * @author sun
+ * @date 2022-10-25
+ */
+public interface ZwywXmsbFjMapper extends BaseMapperPlus<ZwywXmsbFj> {
+
+}

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

@@ -0,0 +1,15 @@
+package com.ruoyi.business.mapper;
+
+import java.util.List;
+import com.ruoyi.business.domain.ZwywXmsbFjlx;
+import com.ruoyi.common.datascope.utils.BaseMapperPlus;
+
+/**
+ * 项目申报附件类型信息Mapper接口
+ * 
+ * @author sun
+ * @date 2022-10-25
+ */
+public interface ZwywXmsbFjlxMapper extends BaseMapperPlus<ZwywXmsbFjlx> {
+
+}

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

@@ -0,0 +1,15 @@
+package com.ruoyi.business.mapper;
+
+import java.util.List;
+import com.ruoyi.business.domain.ZwywXmsbXmbdpz;
+import com.ruoyi.common.datascope.utils.BaseMapperPlus;
+
+/**
+ * 项目申报项目类型单配置信息Mapper接口
+ * 
+ * @author sun
+ * @date 2022-10-25
+ */
+public interface ZwywXmsbXmbdpzMapper extends BaseMapperPlus<ZwywXmsbXmbdpz> {
+
+}

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

@@ -0,0 +1,15 @@
+package com.ruoyi.business.mapper;
+
+import java.util.List;
+import com.ruoyi.business.domain.ZwywXmsbXmlx;
+import com.ruoyi.common.datascope.utils.BaseMapperPlus;
+
+/**
+ * 项目申报项目类型信息Mapper接口
+ * 
+ * @author sun
+ * @date 2022-10-25
+ */
+public interface ZwywXmsbXmlxMapper extends BaseMapperPlus<ZwywXmsbXmlx> {
+
+}

+ 54 - 0
ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/service/IZwywXmsbBaxxService.java

@@ -0,0 +1,54 @@
+package com.ruoyi.business.service;
+
+import java.util.List;
+import com.ruoyi.business.domain.ZwywXmsbBaxx;
+
+/**
+ * 项目申报备案信息Service接口
+ * 
+ * @author sun
+ * @date 2022-10-25
+ */
+public interface IZwywXmsbBaxxService 
+{
+    /**
+     * 查询项目申报备案信息
+     * 
+     * @param id 项目申报备案信息主键
+     * @return 项目申报备案信息
+     */
+    public ZwywXmsbBaxx selectZwywXmsbBaxxById(String id);
+
+    /**
+     * 查询项目申报备案信息列表
+     * 
+     * @param zwywXmsbBaxx 项目申报备案信息
+     * @return 项目申报备案信息集合
+     */
+    public List<ZwywXmsbBaxx> selectZwywXmsbBaxxList(ZwywXmsbBaxx zwywXmsbBaxx);
+
+    /**
+     * 新增项目申报备案信息
+     * 
+     * @param zwywXmsbBaxx 项目申报备案信息
+     * @return 结果
+     */
+    public int insertZwywXmsbBaxx(ZwywXmsbBaxx zwywXmsbBaxx);
+
+    /**
+     * 修改项目申报备案信息
+     * 
+     * @param zwywXmsbBaxx 项目申报备案信息
+     * @return 结果
+     */
+    public int updateZwywXmsbBaxx(ZwywXmsbBaxx zwywXmsbBaxx);
+
+    /**
+     * 批量删除项目申报备案信息
+     * 
+     * @param ids 需要删除的项目申报备案信息主键集合
+     * @return 结果
+     */
+    public int deleteZwywXmsbBaxxByIds(String[] ids);
+
+}

+ 54 - 0
ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/service/IZwywXmsbCommonService.java

@@ -0,0 +1,54 @@
+package com.ruoyi.business.service;
+
+import java.util.List;
+import com.ruoyi.business.domain.ZwywXmsbCommon;
+
+/**
+ * 项目申报信息Service接口
+ * 
+ * @author sun
+ * @date 2022-10-25
+ */
+public interface IZwywXmsbCommonService 
+{
+    /**
+     * 查询项目申报信息
+     * 
+     * @param id 项目申报信息主键
+     * @return 项目申报信息
+     */
+    public ZwywXmsbCommon selectZwywXmsbCommonById(String id);
+
+    /**
+     * 查询项目申报信息列表
+     * 
+     * @param zwywXmsbCommon 项目申报信息
+     * @return 项目申报信息集合
+     */
+    public List<ZwywXmsbCommon> selectZwywXmsbCommonList(ZwywXmsbCommon zwywXmsbCommon);
+
+    /**
+     * 新增项目申报信息
+     * 
+     * @param zwywXmsbCommon 项目申报信息
+     * @return 结果
+     */
+    public int insertZwywXmsbCommon(ZwywXmsbCommon zwywXmsbCommon);
+
+    /**
+     * 修改项目申报信息
+     * 
+     * @param zwywXmsbCommon 项目申报信息
+     * @return 结果
+     */
+    public int updateZwywXmsbCommon(ZwywXmsbCommon zwywXmsbCommon);
+
+    /**
+     * 批量删除项目申报信息
+     * 
+     * @param ids 需要删除的项目申报信息主键集合
+     * @return 结果
+     */
+    public int deleteZwywXmsbCommonByIds(String[] ids);
+
+}

+ 54 - 0
ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/service/IZwywXmsbFjService.java

@@ -0,0 +1,54 @@
+package com.ruoyi.business.service;
+
+import java.util.List;
+import com.ruoyi.business.domain.ZwywXmsbFj;
+
+/**
+ * 项目申报附件信息Service接口
+ * 
+ * @author sun
+ * @date 2022-10-25
+ */
+public interface IZwywXmsbFjService 
+{
+    /**
+     * 查询项目申报附件信息
+     * 
+     * @param id 项目申报附件信息主键
+     * @return 项目申报附件信息
+     */
+    public ZwywXmsbFj selectZwywXmsbFjById(String id);
+
+    /**
+     * 查询项目申报附件信息列表
+     * 
+     * @param zwywXmsbFj 项目申报附件信息
+     * @return 项目申报附件信息集合
+     */
+    public List<ZwywXmsbFj> selectZwywXmsbFjList(ZwywXmsbFj zwywXmsbFj);
+
+    /**
+     * 新增项目申报附件信息
+     * 
+     * @param zwywXmsbFj 项目申报附件信息
+     * @return 结果
+     */
+    public int insertZwywXmsbFj(ZwywXmsbFj zwywXmsbFj);
+
+    /**
+     * 修改项目申报附件信息
+     * 
+     * @param zwywXmsbFj 项目申报附件信息
+     * @return 结果
+     */
+    public int updateZwywXmsbFj(ZwywXmsbFj zwywXmsbFj);
+
+    /**
+     * 批量删除项目申报附件信息
+     * 
+     * @param ids 需要删除的项目申报附件信息主键集合
+     * @return 结果
+     */
+    public int deleteZwywXmsbFjByIds(String[] ids);
+
+}

+ 54 - 0
ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/service/IZwywXmsbFjlxService.java

@@ -0,0 +1,54 @@
+package com.ruoyi.business.service;
+
+import java.util.List;
+import com.ruoyi.business.domain.ZwywXmsbFjlx;
+
+/**
+ * 项目申报附件类型信息Service接口
+ * 
+ * @author sun
+ * @date 2022-10-25
+ */
+public interface IZwywXmsbFjlxService 
+{
+    /**
+     * 查询项目申报附件类型信息
+     * 
+     * @param id 项目申报附件类型信息主键
+     * @return 项目申报附件类型信息
+     */
+    public ZwywXmsbFjlx selectZwywXmsbFjlxById(String id);
+
+    /**
+     * 查询项目申报附件类型信息列表
+     * 
+     * @param zwywXmsbFjlx 项目申报附件类型信息
+     * @return 项目申报附件类型信息集合
+     */
+    public List<ZwywXmsbFjlx> selectZwywXmsbFjlxList(ZwywXmsbFjlx zwywXmsbFjlx);
+
+    /**
+     * 新增项目申报附件类型信息
+     * 
+     * @param zwywXmsbFjlx 项目申报附件类型信息
+     * @return 结果
+     */
+    public int insertZwywXmsbFjlx(ZwywXmsbFjlx zwywXmsbFjlx);
+
+    /**
+     * 修改项目申报附件类型信息
+     * 
+     * @param zwywXmsbFjlx 项目申报附件类型信息
+     * @return 结果
+     */
+    public int updateZwywXmsbFjlx(ZwywXmsbFjlx zwywXmsbFjlx);
+
+    /**
+     * 批量删除项目申报附件类型信息
+     * 
+     * @param ids 需要删除的项目申报附件类型信息主键集合
+     * @return 结果
+     */
+    public int deleteZwywXmsbFjlxByIds(String[] ids);
+
+}

+ 54 - 0
ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/service/IZwywXmsbXmbdpzService.java

@@ -0,0 +1,54 @@
+package com.ruoyi.business.service;
+
+import java.util.List;
+import com.ruoyi.business.domain.ZwywXmsbXmbdpz;
+
+/**
+ * 项目申报项目类型单配置信息Service接口
+ * 
+ * @author sun
+ * @date 2022-10-25
+ */
+public interface IZwywXmsbXmbdpzService 
+{
+    /**
+     * 查询项目申报项目类型单配置信息
+     * 
+     * @param id 项目申报项目类型单配置信息主键
+     * @return 项目申报项目类型单配置信息
+     */
+    public ZwywXmsbXmbdpz selectZwywXmsbXmbdpzById(String id);
+
+    /**
+     * 查询项目申报项目类型单配置信息列表
+     * 
+     * @param zwywXmsbXmbdpz 项目申报项目类型单配置信息
+     * @return 项目申报项目类型单配置信息集合
+     */
+    public List<ZwywXmsbXmbdpz> selectZwywXmsbXmbdpzList(ZwywXmsbXmbdpz zwywXmsbXmbdpz);
+
+    /**
+     * 新增项目申报项目类型单配置信息
+     * 
+     * @param zwywXmsbXmbdpz 项目申报项目类型单配置信息
+     * @return 结果
+     */
+    public int insertZwywXmsbXmbdpz(ZwywXmsbXmbdpz zwywXmsbXmbdpz);
+
+    /**
+     * 修改项目申报项目类型单配置信息
+     * 
+     * @param zwywXmsbXmbdpz 项目申报项目类型单配置信息
+     * @return 结果
+     */
+    public int updateZwywXmsbXmbdpz(ZwywXmsbXmbdpz zwywXmsbXmbdpz);
+
+    /**
+     * 批量删除项目申报项目类型单配置信息
+     * 
+     * @param ids 需要删除的项目申报项目类型单配置信息主键集合
+     * @return 结果
+     */
+    public int deleteZwywXmsbXmbdpzByIds(String[] ids);
+
+}

+ 54 - 0
ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/service/IZwywXmsbXmlxService.java

@@ -0,0 +1,54 @@
+package com.ruoyi.business.service;
+
+import java.util.List;
+import com.ruoyi.business.domain.ZwywXmsbXmlx;
+
+/**
+ * 项目申报项目类型信息Service接口
+ * 
+ * @author sun
+ * @date 2022-10-25
+ */
+public interface IZwywXmsbXmlxService 
+{
+    /**
+     * 查询项目申报项目类型信息
+     * 
+     * @param id 项目申报项目类型信息主键
+     * @return 项目申报项目类型信息
+     */
+    public ZwywXmsbXmlx selectZwywXmsbXmlxById(String id);
+
+    /**
+     * 查询项目申报项目类型信息列表
+     * 
+     * @param zwywXmsbXmlx 项目申报项目类型信息
+     * @return 项目申报项目类型信息集合
+     */
+    public List<ZwywXmsbXmlx> selectZwywXmsbXmlxList(ZwywXmsbXmlx zwywXmsbXmlx);
+
+    /**
+     * 新增项目申报项目类型信息
+     * 
+     * @param zwywXmsbXmlx 项目申报项目类型信息
+     * @return 结果
+     */
+    public int insertZwywXmsbXmlx(ZwywXmsbXmlx zwywXmsbXmlx);
+
+    /**
+     * 修改项目申报项目类型信息
+     * 
+     * @param zwywXmsbXmlx 项目申报项目类型信息
+     * @return 结果
+     */
+    public int updateZwywXmsbXmlx(ZwywXmsbXmlx zwywXmsbXmlx);
+
+    /**
+     * 批量删除项目申报项目类型信息
+     * 
+     * @param ids 需要删除的项目申报项目类型信息主键集合
+     * @return 结果
+     */
+    public int deleteZwywXmsbXmlxByIds(String[] ids);
+
+}

+ 84 - 0
ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/service/impl/ZwywXmsbBaxxServiceImpl.java

@@ -0,0 +1,84 @@
+package com.ruoyi.business.service.impl;
+
+import java.util.List;
+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.ZwywXmsbBaxxMapper;
+import com.ruoyi.business.domain.ZwywXmsbBaxx;
+import com.ruoyi.business.service.IZwywXmsbBaxxService;
+
+/**
+ * 项目申报备案信息Service业务层处理
+ * 
+ * @author sun
+ * @date 2022-10-25
+ */
+@Service
+public class ZwywXmsbBaxxServiceImpl implements IZwywXmsbBaxxService 
+{
+    @Autowired
+    private ZwywXmsbBaxxMapper zwywXmsbBaxxMapper;
+
+    /**
+     * 查询项目申报备案信息
+     * 
+     * @param id 项目申报备案信息主键
+     * @return 项目申报备案信息
+     */
+    @Override
+    public ZwywXmsbBaxx selectZwywXmsbBaxxById(String id)
+    {
+        return zwywXmsbBaxxMapper.selectById(id);
+    }
+
+    /**
+     * 查询项目申报备案信息列表
+     * 
+     * @param zwywXmsbBaxx 项目申报备案信息
+     * @return 项目申报备案信息
+     */
+    @Override
+    public List<ZwywXmsbBaxx> selectZwywXmsbBaxxList(ZwywXmsbBaxx zwywXmsbBaxx)
+    {
+        return zwywXmsbBaxxMapper.selectList(new LambdaQueryWrapper<>(zwywXmsbBaxx));
+    }
+
+    /**
+     * 新增项目申报备案信息
+     * 
+     * @param zwywXmsbBaxx 项目申报备案信息
+     * @return 结果
+     */
+    @Override
+    public int insertZwywXmsbBaxx(ZwywXmsbBaxx zwywXmsbBaxx)
+    {
+        return zwywXmsbBaxxMapper.insert(zwywXmsbBaxx);
+    }
+
+    /**
+     * 修改项目申报备案信息
+     * 
+     * @param zwywXmsbBaxx 项目申报备案信息
+     * @return 结果
+     */
+    @Override
+    public int updateZwywXmsbBaxx(ZwywXmsbBaxx zwywXmsbBaxx)
+    {
+        return zwywXmsbBaxxMapper.updateById(zwywXmsbBaxx);
+    }
+
+    /**
+     * 批量删除项目申报备案信息
+     * 
+     * @param ids 需要删除的项目申报备案信息主键
+     * @return 结果
+     */
+    @Override
+    public int deleteZwywXmsbBaxxByIds(String[] ids)
+    {
+        return zwywXmsbBaxxMapper.deleteBatchIds(Arrays.asList(ids));
+    }
+
+}

+ 84 - 0
ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/service/impl/ZwywXmsbCommonServiceImpl.java

@@ -0,0 +1,84 @@
+package com.ruoyi.business.service.impl;
+
+import java.util.List;
+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.ZwywXmsbCommonMapper;
+import com.ruoyi.business.domain.ZwywXmsbCommon;
+import com.ruoyi.business.service.IZwywXmsbCommonService;
+
+/**
+ * 项目申报信息Service业务层处理
+ * 
+ * @author sun
+ * @date 2022-10-25
+ */
+@Service
+public class ZwywXmsbCommonServiceImpl implements IZwywXmsbCommonService 
+{
+    @Autowired
+    private ZwywXmsbCommonMapper zwywXmsbCommonMapper;
+
+    /**
+     * 查询项目申报信息
+     * 
+     * @param id 项目申报信息主键
+     * @return 项目申报信息
+     */
+    @Override
+    public ZwywXmsbCommon selectZwywXmsbCommonById(String id)
+    {
+        return zwywXmsbCommonMapper.selectById(id);
+    }
+
+    /**
+     * 查询项目申报信息列表
+     * 
+     * @param zwywXmsbCommon 项目申报信息
+     * @return 项目申报信息
+     */
+    @Override
+    public List<ZwywXmsbCommon> selectZwywXmsbCommonList(ZwywXmsbCommon zwywXmsbCommon)
+    {
+        return zwywXmsbCommonMapper.selectList(new LambdaQueryWrapper<>(zwywXmsbCommon));
+    }
+
+    /**
+     * 新增项目申报信息
+     * 
+     * @param zwywXmsbCommon 项目申报信息
+     * @return 结果
+     */
+    @Override
+    public int insertZwywXmsbCommon(ZwywXmsbCommon zwywXmsbCommon)
+    {
+        return zwywXmsbCommonMapper.insert(zwywXmsbCommon);
+    }
+
+    /**
+     * 修改项目申报信息
+     * 
+     * @param zwywXmsbCommon 项目申报信息
+     * @return 结果
+     */
+    @Override
+    public int updateZwywXmsbCommon(ZwywXmsbCommon zwywXmsbCommon)
+    {
+        return zwywXmsbCommonMapper.updateById(zwywXmsbCommon);
+    }
+
+    /**
+     * 批量删除项目申报信息
+     * 
+     * @param ids 需要删除的项目申报信息主键
+     * @return 结果
+     */
+    @Override
+    public int deleteZwywXmsbCommonByIds(String[] ids)
+    {
+        return zwywXmsbCommonMapper.deleteBatchIds(Arrays.asList(ids));
+    }
+
+}

+ 84 - 0
ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/service/impl/ZwywXmsbFjServiceImpl.java

@@ -0,0 +1,84 @@
+package com.ruoyi.business.service.impl;
+
+import java.util.List;
+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.ZwywXmsbFjMapper;
+import com.ruoyi.business.domain.ZwywXmsbFj;
+import com.ruoyi.business.service.IZwywXmsbFjService;
+
+/**
+ * 项目申报附件信息Service业务层处理
+ * 
+ * @author sun
+ * @date 2022-10-25
+ */
+@Service
+public class ZwywXmsbFjServiceImpl implements IZwywXmsbFjService 
+{
+    @Autowired
+    private ZwywXmsbFjMapper zwywXmsbFjMapper;
+
+    /**
+     * 查询项目申报附件信息
+     * 
+     * @param id 项目申报附件信息主键
+     * @return 项目申报附件信息
+     */
+    @Override
+    public ZwywXmsbFj selectZwywXmsbFjById(String id)
+    {
+        return zwywXmsbFjMapper.selectById(id);
+    }
+
+    /**
+     * 查询项目申报附件信息列表
+     * 
+     * @param zwywXmsbFj 项目申报附件信息
+     * @return 项目申报附件信息
+     */
+    @Override
+    public List<ZwywXmsbFj> selectZwywXmsbFjList(ZwywXmsbFj zwywXmsbFj)
+    {
+        return zwywXmsbFjMapper.selectList(new LambdaQueryWrapper<>(zwywXmsbFj));
+    }
+
+    /**
+     * 新增项目申报附件信息
+     * 
+     * @param zwywXmsbFj 项目申报附件信息
+     * @return 结果
+     */
+    @Override
+    public int insertZwywXmsbFj(ZwywXmsbFj zwywXmsbFj)
+    {
+        return zwywXmsbFjMapper.insert(zwywXmsbFj);
+    }
+
+    /**
+     * 修改项目申报附件信息
+     * 
+     * @param zwywXmsbFj 项目申报附件信息
+     * @return 结果
+     */
+    @Override
+    public int updateZwywXmsbFj(ZwywXmsbFj zwywXmsbFj)
+    {
+        return zwywXmsbFjMapper.updateById(zwywXmsbFj);
+    }
+
+    /**
+     * 批量删除项目申报附件信息
+     * 
+     * @param ids 需要删除的项目申报附件信息主键
+     * @return 结果
+     */
+    @Override
+    public int deleteZwywXmsbFjByIds(String[] ids)
+    {
+        return zwywXmsbFjMapper.deleteBatchIds(Arrays.asList(ids));
+    }
+
+}

+ 84 - 0
ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/service/impl/ZwywXmsbFjlxServiceImpl.java

@@ -0,0 +1,84 @@
+package com.ruoyi.business.service.impl;
+
+import java.util.List;
+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.ZwywXmsbFjlxMapper;
+import com.ruoyi.business.domain.ZwywXmsbFjlx;
+import com.ruoyi.business.service.IZwywXmsbFjlxService;
+
+/**
+ * 项目申报附件类型信息Service业务层处理
+ * 
+ * @author sun
+ * @date 2022-10-25
+ */
+@Service
+public class ZwywXmsbFjlxServiceImpl implements IZwywXmsbFjlxService 
+{
+    @Autowired
+    private ZwywXmsbFjlxMapper zwywXmsbFjlxMapper;
+
+    /**
+     * 查询项目申报附件类型信息
+     * 
+     * @param id 项目申报附件类型信息主键
+     * @return 项目申报附件类型信息
+     */
+    @Override
+    public ZwywXmsbFjlx selectZwywXmsbFjlxById(String id)
+    {
+        return zwywXmsbFjlxMapper.selectById(id);
+    }
+
+    /**
+     * 查询项目申报附件类型信息列表
+     * 
+     * @param zwywXmsbFjlx 项目申报附件类型信息
+     * @return 项目申报附件类型信息
+     */
+    @Override
+    public List<ZwywXmsbFjlx> selectZwywXmsbFjlxList(ZwywXmsbFjlx zwywXmsbFjlx)
+    {
+        return zwywXmsbFjlxMapper.selectList(new LambdaQueryWrapper<>(zwywXmsbFjlx));
+    }
+
+    /**
+     * 新增项目申报附件类型信息
+     * 
+     * @param zwywXmsbFjlx 项目申报附件类型信息
+     * @return 结果
+     */
+    @Override
+    public int insertZwywXmsbFjlx(ZwywXmsbFjlx zwywXmsbFjlx)
+    {
+        return zwywXmsbFjlxMapper.insert(zwywXmsbFjlx);
+    }
+
+    /**
+     * 修改项目申报附件类型信息
+     * 
+     * @param zwywXmsbFjlx 项目申报附件类型信息
+     * @return 结果
+     */
+    @Override
+    public int updateZwywXmsbFjlx(ZwywXmsbFjlx zwywXmsbFjlx)
+    {
+        return zwywXmsbFjlxMapper.updateById(zwywXmsbFjlx);
+    }
+
+    /**
+     * 批量删除项目申报附件类型信息
+     * 
+     * @param ids 需要删除的项目申报附件类型信息主键
+     * @return 结果
+     */
+    @Override
+    public int deleteZwywXmsbFjlxByIds(String[] ids)
+    {
+        return zwywXmsbFjlxMapper.deleteBatchIds(Arrays.asList(ids));
+    }
+
+}

+ 84 - 0
ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/service/impl/ZwywXmsbXmbdpzServiceImpl.java

@@ -0,0 +1,84 @@
+package com.ruoyi.business.service.impl;
+
+import java.util.List;
+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.ZwywXmsbXmbdpzMapper;
+import com.ruoyi.business.domain.ZwywXmsbXmbdpz;
+import com.ruoyi.business.service.IZwywXmsbXmbdpzService;
+
+/**
+ * 项目申报项目类型单配置信息Service业务层处理
+ * 
+ * @author sun
+ * @date 2022-10-25
+ */
+@Service
+public class ZwywXmsbXmbdpzServiceImpl implements IZwywXmsbXmbdpzService 
+{
+    @Autowired
+    private ZwywXmsbXmbdpzMapper zwywXmsbXmbdpzMapper;
+
+    /**
+     * 查询项目申报项目类型单配置信息
+     * 
+     * @param id 项目申报项目类型单配置信息主键
+     * @return 项目申报项目类型单配置信息
+     */
+    @Override
+    public ZwywXmsbXmbdpz selectZwywXmsbXmbdpzById(String id)
+    {
+        return zwywXmsbXmbdpzMapper.selectById(id);
+    }
+
+    /**
+     * 查询项目申报项目类型单配置信息列表
+     * 
+     * @param zwywXmsbXmbdpz 项目申报项目类型单配置信息
+     * @return 项目申报项目类型单配置信息
+     */
+    @Override
+    public List<ZwywXmsbXmbdpz> selectZwywXmsbXmbdpzList(ZwywXmsbXmbdpz zwywXmsbXmbdpz)
+    {
+        return zwywXmsbXmbdpzMapper.selectList(new LambdaQueryWrapper<>(zwywXmsbXmbdpz));
+    }
+
+    /**
+     * 新增项目申报项目类型单配置信息
+     * 
+     * @param zwywXmsbXmbdpz 项目申报项目类型单配置信息
+     * @return 结果
+     */
+    @Override
+    public int insertZwywXmsbXmbdpz(ZwywXmsbXmbdpz zwywXmsbXmbdpz)
+    {
+        return zwywXmsbXmbdpzMapper.insert(zwywXmsbXmbdpz);
+    }
+
+    /**
+     * 修改项目申报项目类型单配置信息
+     * 
+     * @param zwywXmsbXmbdpz 项目申报项目类型单配置信息
+     * @return 结果
+     */
+    @Override
+    public int updateZwywXmsbXmbdpz(ZwywXmsbXmbdpz zwywXmsbXmbdpz)
+    {
+        return zwywXmsbXmbdpzMapper.updateById(zwywXmsbXmbdpz);
+    }
+
+    /**
+     * 批量删除项目申报项目类型单配置信息
+     * 
+     * @param ids 需要删除的项目申报项目类型单配置信息主键
+     * @return 结果
+     */
+    @Override
+    public int deleteZwywXmsbXmbdpzByIds(String[] ids)
+    {
+        return zwywXmsbXmbdpzMapper.deleteBatchIds(Arrays.asList(ids));
+    }
+
+}

+ 84 - 0
ruoyi-modules/mz-business-xmsb/src/main/java/com/ruoyi/business/service/impl/ZwywXmsbXmlxServiceImpl.java

@@ -0,0 +1,84 @@
+package com.ruoyi.business.service.impl;
+
+import java.util.List;
+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.ZwywXmsbXmlxMapper;
+import com.ruoyi.business.domain.ZwywXmsbXmlx;
+import com.ruoyi.business.service.IZwywXmsbXmlxService;
+
+/**
+ * 项目申报项目类型信息Service业务层处理
+ * 
+ * @author sun
+ * @date 2022-10-25
+ */
+@Service
+public class ZwywXmsbXmlxServiceImpl implements IZwywXmsbXmlxService 
+{
+    @Autowired
+    private ZwywXmsbXmlxMapper zwywXmsbXmlxMapper;
+
+    /**
+     * 查询项目申报项目类型信息
+     * 
+     * @param id 项目申报项目类型信息主键
+     * @return 项目申报项目类型信息
+     */
+    @Override
+    public ZwywXmsbXmlx selectZwywXmsbXmlxById(String id)
+    {
+        return zwywXmsbXmlxMapper.selectById(id);
+    }
+
+    /**
+     * 查询项目申报项目类型信息列表
+     * 
+     * @param zwywXmsbXmlx 项目申报项目类型信息
+     * @return 项目申报项目类型信息
+     */
+    @Override
+    public List<ZwywXmsbXmlx> selectZwywXmsbXmlxList(ZwywXmsbXmlx zwywXmsbXmlx)
+    {
+        return zwywXmsbXmlxMapper.selectList(new LambdaQueryWrapper<>(zwywXmsbXmlx));
+    }
+
+    /**
+     * 新增项目申报项目类型信息
+     * 
+     * @param zwywXmsbXmlx 项目申报项目类型信息
+     * @return 结果
+     */
+    @Override
+    public int insertZwywXmsbXmlx(ZwywXmsbXmlx zwywXmsbXmlx)
+    {
+        return zwywXmsbXmlxMapper.insert(zwywXmsbXmlx);
+    }
+
+    /**
+     * 修改项目申报项目类型信息
+     * 
+     * @param zwywXmsbXmlx 项目申报项目类型信息
+     * @return 结果
+     */
+    @Override
+    public int updateZwywXmsbXmlx(ZwywXmsbXmlx zwywXmsbXmlx)
+    {
+        return zwywXmsbXmlxMapper.updateById(zwywXmsbXmlx);
+    }
+
+    /**
+     * 批量删除项目申报项目类型信息
+     * 
+     * @param ids 需要删除的项目申报项目类型信息主键
+     * @return 结果
+     */
+    @Override
+    public int deleteZwywXmsbXmlxByIds(String[] ids)
+    {
+        return zwywXmsbXmlxMapper.deleteBatchIds(Arrays.asList(ids));
+    }
+
+}

+ 28 - 0
ruoyi-modules/mz-business-xmsb/src/main/resources/mapper/business/ZwywXmsbBaxxMapper.xml

@@ -0,0 +1,28 @@
+<?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.ZwywXmsbBaxxMapper">
+    
+    <resultMap type="ZwywXmsbBaxx" id="ZwywXmsbBaxxResult">
+        <result property="id"    column="id"    />
+        <result property="sbId"    column="sb_id"    />
+        <result property="bazt"    column="bazt"    />
+        <result property="shyj"    column="shyj"    />
+        <result property="bz"    column="bz"    />
+        <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="createAreaCode"    column="create_area_code"    />
+        <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>

+ 43 - 0
ruoyi-modules/mz-business-xmsb/src/main/resources/mapper/business/ZwywXmsbCommonMapper.xml

@@ -0,0 +1,43 @@
+<?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.ZwywXmsbCommonMapper">
+    
+    <resultMap type="ZwywXmsbCommon" id="ZwywXmsbCommonResult">
+        <result property="id"    column="id"    />
+        <result property="xmmc"    column="xmmc"    />
+        <result property="szdq"    column="szdq"    />
+        <result property="xmlx"    column="xmlx"    />
+        <result property="sbrq"    column="sbrq"    />
+        <result property="sbnd"    column="sbnd"    />
+        <result property="sbzt"    column="sbzt"    />
+        <result property="sbjg"    column="sbjg"    />
+        <result property="sbr"    column="sbr"    />
+        <result property="sbrdh"    column="sbrdh"    />
+        <result property="sbryx"    column="sbryx"    />
+        <result property="yszje"    column="yszje"    />
+        <result property="zfptje"    column="zfptje"    />
+        <result property="sqje"    column="sqje"    />
+        <result property="xmlxr"    column="xmlxr"    />
+        <result property="xmlxrdh"    column="xmlxrdh"    />
+        <result property="xmlxryx"    column="xmlxryx"    />
+        <result property="xmssdw"    column="xmssdw"    />
+        <result property="bz"    column="bz"    />
+        <result property="kz"    column="kz"    />
+        <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="createAreaCode"    column="create_area_code"    />
+        <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>

+ 30 - 0
ruoyi-modules/mz-business-xmsb/src/main/resources/mapper/business/ZwywXmsbFjMapper.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.ZwywXmsbFjMapper">
+    
+    <resultMap type="ZwywXmsbFj" id="ZwywXmsbFjResult">
+        <result property="id"    column="id"    />
+        <result property="sbId"    column="sb_id"    />
+        <result property="fjlx"    column="fjlx"    />
+        <result property="fjmc"    column="fjmc"    />
+        <result property="nfwjsm"    column="nfwjsm"    />
+        <result property="bz"    column="bz"    />
+        <result property="fj"    column="fj"    />
+        <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="createAreaCode"    column="create_area_code"    />
+        <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>

+ 27 - 0
ruoyi-modules/mz-business-xmsb/src/main/resources/mapper/business/ZwywXmsbFjlxMapper.xml

@@ -0,0 +1,27 @@
+<?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.ZwywXmsbFjlxMapper">
+    
+    <resultMap type="ZwywXmsbFjlx" id="ZwywXmsbFjlxResult">
+        <result property="id"    column="id"    />
+        <result property="xmlxId"    column="xmlx_id"    />
+        <result property="lxmc"    column="lxmc"    />
+        <result property="status"    column="status"    />
+        <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="createAreaCode"    column="create_area_code"    />
+        <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>

+ 29 - 0
ruoyi-modules/mz-business-xmsb/src/main/resources/mapper/business/ZwywXmsbXmbdpzMapper.xml

@@ -0,0 +1,29 @@
+<?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.ZwywXmsbXmbdpzMapper">
+    
+    <resultMap type="ZwywXmsbXmbdpz" id="ZwywXmsbXmbdpzResult">
+        <result property="id"    column="id"    />
+        <result property="xmlxId"    column="xmlx_id"    />
+        <result property="label"    column="label"    />
+        <result property="type"    column="type"    />
+        <result property="required"    column="required"    />
+        <result property="dictType"    column="dict_type"    />
+        <result property="createTimeStr"    column="create_time_str"    />
+        <result property="createUserId"    column="create_user_id"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createAreaCode"    column="create_area_code"    />
+        <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>

+ 26 - 0
ruoyi-modules/mz-business-xmsb/src/main/resources/mapper/business/ZwywXmsbXmlxMapper.xml

@@ -0,0 +1,26 @@
+<?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.ZwywXmsbXmlxMapper">
+    
+    <resultMap type="ZwywXmsbXmlx" id="ZwywXmsbXmlxResult">
+        <result property="id"    column="id"    />
+        <result property="lxmc"    column="lxmc"    />
+        <result property="status"    column="status"    />
+        <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="createAreaCode"    column="create_area_code"    />
+        <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>

+ 106 - 0
ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/controller/ZwywXmsbBaxxController.java

@@ -0,0 +1,106 @@
+package com.ruoyi.business.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+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.system.validate.group.AddGroup;
+import com.ruoyi.business.domain.ZwywXmsbBaxx;
+import com.ruoyi.business.service.IZwywXmsbBaxxService;
+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-10-25
+ */
+@RestController
+@RequestMapping("/baxx")
+public class ZwywXmsbBaxxController extends BaseController
+{
+    @Autowired
+    private IZwywXmsbBaxxService zwywXmsbBaxxService;
+
+    /**
+     * 查询项目申报备案信息列表
+     */
+    @RequiresPermissions("business:baxx:list")
+    @GetMapping("/list")
+    public TableDataInfo list(ZwywXmsbBaxx zwywXmsbBaxx)
+    {
+        startPage();
+        List<ZwywXmsbBaxx> list = zwywXmsbBaxxService.selectZwywXmsbBaxxList(zwywXmsbBaxx);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出项目申报备案信息列表
+     */
+    @RequiresPermissions("business:baxx:export")
+    @Log(title = "项目申报备案信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, ZwywXmsbBaxx zwywXmsbBaxx)
+    {
+        List<ZwywXmsbBaxx> list = zwywXmsbBaxxService.selectZwywXmsbBaxxList(zwywXmsbBaxx);
+        ExcelUtil<ZwywXmsbBaxx> util = new ExcelUtil<ZwywXmsbBaxx>(ZwywXmsbBaxx.class);
+        util.exportExcel(response, list, "项目申报备案信息数据");
+    }
+
+    /**
+     * 获取项目申报备案信息详细信息
+     */
+    @RequiresPermissions("business:baxx:query")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") String id)
+    {
+        return AjaxResult.success(zwywXmsbBaxxService.selectZwywXmsbBaxxById(id));
+    }
+
+    /**
+     * 新增项目申报备案信息
+     */
+    @RequiresPermissions("business:baxx:add")
+    @Log(title = "项目申报备案信息", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@Validated({AddGroup.class}) @RequestBody ZwywXmsbBaxx zwywXmsbBaxx)
+    {
+        return toAjax(zwywXmsbBaxxService.insertZwywXmsbBaxx(zwywXmsbBaxx),zwywXmsbBaxx.getId());
+    }
+
+    /**
+     * 修改项目申报备案信息
+     */
+    @RequiresPermissions("business:baxx:edit")
+    @Log(title = "项目申报备案信息", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@Validated @RequestBody ZwywXmsbBaxx zwywXmsbBaxx)
+    {
+        return toAjax(zwywXmsbBaxxService.updateZwywXmsbBaxx(zwywXmsbBaxx));
+    }
+
+    /**
+     * 删除项目申报备案信息
+     */
+    @RequiresPermissions("business:baxx:remove")
+    @Log(title = "项目申报备案信息", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable String[] ids)
+    {
+        return toAjax(zwywXmsbBaxxService.deleteZwywXmsbBaxxByIds(ids));
+    }
+}

+ 100 - 0
ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/controller/ZwywXmsbCommonController.java

@@ -0,0 +1,100 @@
+package com.ruoyi.business.controller;
+
+import com.ruoyi.business.domain.ZwywXmsbCommon;
+import com.ruoyi.business.service.IZwywXmsbCommonService;
+import com.ruoyi.common.core.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.TableDataInfo;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.security.annotation.RequiresPermissions;
+import com.ruoyi.system.validate.group.AddGroup;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * 项目申报信息Controller
+ * 
+ * @author sun
+ * @date 2022-10-25
+ */
+@RestController
+@RequestMapping("/xmsbCommon")
+public class ZwywXmsbCommonController extends BaseController
+{
+    @Autowired
+    private IZwywXmsbCommonService zwywXmsbCommonService;
+
+    /**
+     * 查询项目申报信息列表
+     */
+    @RequiresPermissions("business:xmsbCommon:list")
+    @GetMapping("/list")
+    public TableDataInfo list(ZwywXmsbCommon zwywXmsbCommon)
+    {
+        startPage();
+        List<ZwywXmsbCommon> list = zwywXmsbCommonService.selectZwywXmsbCommonList(zwywXmsbCommon);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出项目申报信息列表
+     */
+    @RequiresPermissions("business:xmsbCommon:export")
+    @Log(title = "项目申报信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, ZwywXmsbCommon zwywXmsbCommon)
+    {
+        List<ZwywXmsbCommon> list = zwywXmsbCommonService.selectZwywXmsbCommonList(zwywXmsbCommon);
+        ExcelUtil<ZwywXmsbCommon> util = new ExcelUtil<ZwywXmsbCommon>(ZwywXmsbCommon.class);
+        util.exportExcel(response, list, "项目申报信息数据");
+    }
+
+    /**
+     * 获取项目申报信息详细信息
+     */
+    @RequiresPermissions("business:xmsbCommon:query")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") String id)
+    {
+        return AjaxResult.success(zwywXmsbCommonService.selectZwywXmsbCommonById(id));
+    }
+
+    /**
+     * 新增项目申报信息
+     */
+    @RequiresPermissions("business:xmsbCommon:add")
+    @Log(title = "项目申报信息", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@Validated({AddGroup.class}) @RequestBody ZwywXmsbCommon zwywXmsbCommon)
+    {
+        return toAjax(zwywXmsbCommonService.insertZwywXmsbCommon(zwywXmsbCommon),zwywXmsbCommon.getId());
+    }
+
+    /**
+     * 修改项目申报信息
+     */
+    @RequiresPermissions("business:xmsbCommon:edit")
+    @Log(title = "项目申报信息", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@Validated @RequestBody ZwywXmsbCommon zwywXmsbCommon)
+    {
+        return toAjax(zwywXmsbCommonService.updateZwywXmsbCommon(zwywXmsbCommon));
+    }
+
+    /**
+     * 删除项目申报信息
+     */
+    @RequiresPermissions("business:xmsbCommon:remove")
+    @Log(title = "项目申报信息", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable String[] ids)
+    {
+        return toAjax(zwywXmsbCommonService.deleteZwywXmsbCommonByIds(ids));
+    }
+}

+ 106 - 0
ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/controller/ZwywXmsbFjController.java

@@ -0,0 +1,106 @@
+package com.ruoyi.business.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+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.system.validate.group.AddGroup;
+import com.ruoyi.business.domain.ZwywXmsbFj;
+import com.ruoyi.business.service.IZwywXmsbFjService;
+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-10-25
+ */
+@RestController
+@RequestMapping("/xmsbFj")
+public class ZwywXmsbFjController extends BaseController
+{
+    @Autowired
+    private IZwywXmsbFjService zwywXmsbFjService;
+
+    /**
+     * 查询项目申报附件信息列表
+     */
+    @RequiresPermissions("business:xmsbFj:list")
+    @GetMapping("/list")
+    public TableDataInfo list(ZwywXmsbFj zwywXmsbFj)
+    {
+        startPage();
+        List<ZwywXmsbFj> list = zwywXmsbFjService.selectZwywXmsbFjList(zwywXmsbFj);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出项目申报附件信息列表
+     */
+    @RequiresPermissions("business:xmsbFj:export")
+    @Log(title = "项目申报附件信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, ZwywXmsbFj zwywXmsbFj)
+    {
+        List<ZwywXmsbFj> list = zwywXmsbFjService.selectZwywXmsbFjList(zwywXmsbFj);
+        ExcelUtil<ZwywXmsbFj> util = new ExcelUtil<ZwywXmsbFj>(ZwywXmsbFj.class);
+        util.exportExcel(response, list, "项目申报附件信息数据");
+    }
+
+    /**
+     * 获取项目申报附件信息详细信息
+     */
+    @RequiresPermissions("business:xmsbFj:query")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") String id)
+    {
+        return AjaxResult.success(zwywXmsbFjService.selectZwywXmsbFjById(id));
+    }
+
+    /**
+     * 新增项目申报附件信息
+     */
+    @RequiresPermissions("business:xmsbFj:add")
+    @Log(title = "项目申报附件信息", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@Validated({AddGroup.class}) @RequestBody ZwywXmsbFj zwywXmsbFj)
+    {
+        return toAjax(zwywXmsbFjService.insertZwywXmsbFj(zwywXmsbFj),zwywXmsbFj.getId());
+    }
+
+    /**
+     * 修改项目申报附件信息
+     */
+    @RequiresPermissions("business:xmsbFj:edit")
+    @Log(title = "项目申报附件信息", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@Validated @RequestBody ZwywXmsbFj zwywXmsbFj)
+    {
+        return toAjax(zwywXmsbFjService.updateZwywXmsbFj(zwywXmsbFj));
+    }
+
+    /**
+     * 删除项目申报附件信息
+     */
+    @RequiresPermissions("business:xmsbFj:remove")
+    @Log(title = "项目申报附件信息", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable String[] ids)
+    {
+        return toAjax(zwywXmsbFjService.deleteZwywXmsbFjByIds(ids));
+    }
+}

+ 108 - 0
ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/controller/ZwywXmsbFjlxController.java

@@ -0,0 +1,108 @@
+package com.ruoyi.business.controller;
+
+import com.ruoyi.business.domain.ZwywXmsbFjlx;
+import com.ruoyi.business.service.IZwywXmsbFjlxService;
+import com.ruoyi.common.core.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.TableDataInfo;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.security.annotation.RequiresPermissions;
+import com.ruoyi.system.validate.group.AddGroup;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * 项目申报附件类型信息Controller
+ * 
+ * @author sun
+ * @date 2022-10-25
+ */
+@RestController
+@RequestMapping("/xmsbFjlx")
+public class ZwywXmsbFjlxController extends BaseController
+{
+    @Autowired
+    private IZwywXmsbFjlxService zwywXmsbFjlxService;
+
+    /**
+     * 查询项目申报附件类型信息列表
+     */
+    @RequiresPermissions("business:xmsbFjlx:list")
+    @GetMapping("/list")
+    public TableDataInfo list(ZwywXmsbFjlx zwywXmsbFjlx)
+    {
+        startPage();
+        List<ZwywXmsbFjlx> list = zwywXmsbFjlxService.selectZwywXmsbFjlxList(zwywXmsbFjlx);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出项目申报附件类型信息列表
+     */
+    @RequiresPermissions("business:xmsbFjlx:export")
+    @Log(title = "项目申报附件类型信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, ZwywXmsbFjlx zwywXmsbFjlx)
+    {
+        List<ZwywXmsbFjlx> list = zwywXmsbFjlxService.selectZwywXmsbFjlxList(zwywXmsbFjlx);
+        ExcelUtil<ZwywXmsbFjlx> util = new ExcelUtil<ZwywXmsbFjlx>(ZwywXmsbFjlx.class);
+        util.exportExcel(response, list, "项目申报附件类型信息数据");
+    }
+
+    /**
+     * 获取项目申报附件类型信息详细信息
+     */
+    @RequiresPermissions("business:xmsbFjlx:query")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") String id)
+    {
+        return AjaxResult.success(zwywXmsbFjlxService.selectZwywXmsbFjlxById(id));
+    }
+
+    /**
+     * 新增项目申报附件类型信息
+     */
+    @RequiresPermissions("business:xmsbFjlx:add")
+    @Log(title = "项目申报附件类型信息", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@Validated({AddGroup.class}) @RequestBody ZwywXmsbFjlx zwywXmsbFjlx)
+    {
+        return toAjax(zwywXmsbFjlxService.insertZwywXmsbFjlx(zwywXmsbFjlx),zwywXmsbFjlx.getId());
+    }
+
+    /**
+     * 修改项目申报附件类型信息
+     */
+    @RequiresPermissions("business:xmsbFjlx:edit")
+    @Log(title = "项目申报附件类型信息", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@Validated @RequestBody ZwywXmsbFjlx zwywXmsbFjlx)
+    {
+        return toAjax(zwywXmsbFjlxService.updateZwywXmsbFjlx(zwywXmsbFjlx));
+    }
+
+    @RequiresPermissions("business:xmsbFjlx:edit")
+    @Log(title = "项目申报附件类型信息", businessType = BusinessType.UPDATE)
+    @PutMapping(value = "/changeStatus")
+    public AjaxResult changeStatus(@Validated @RequestBody ZwywXmsbFjlx zwywXmsbFjlx)
+    {
+        return toAjax(zwywXmsbFjlxService.updateZwywXmsbFjlx(zwywXmsbFjlx));
+    }
+
+    /**
+     * 删除项目申报附件类型信息
+     */
+    @RequiresPermissions("business:xmsbFjlx:remove")
+    @Log(title = "项目申报附件类型信息", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable String[] ids)
+    {
+        return toAjax(zwywXmsbFjlxService.deleteZwywXmsbFjlxByIds(ids));
+    }
+}

+ 100 - 0
ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/controller/ZwywXmsbXmbdpzController.java

@@ -0,0 +1,100 @@
+package com.ruoyi.business.controller;
+
+import com.ruoyi.business.domain.ZwywXmsbXmbdpz;
+import com.ruoyi.business.service.IZwywXmsbXmbdpzService;
+import com.ruoyi.common.core.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.TableDataInfo;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.security.annotation.RequiresPermissions;
+import com.ruoyi.system.validate.group.AddGroup;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * 项目申报项目类型单配置信息Controller
+ * 
+ * @author sun
+ * @date 2022-10-25
+ */
+@RestController
+@RequestMapping("/xmbdpz")
+public class ZwywXmsbXmbdpzController extends BaseController
+{
+    @Autowired
+    private IZwywXmsbXmbdpzService zwywXmsbXmbdpzService;
+
+    /**
+     * 查询项目申报项目类型单配置信息列表
+     */
+    @RequiresPermissions("business:xmbdpz:list")
+    @GetMapping("/list")
+    public TableDataInfo list(ZwywXmsbXmbdpz zwywXmsbXmbdpz)
+    {
+        startPage();
+        List<ZwywXmsbXmbdpz> list = zwywXmsbXmbdpzService.selectZwywXmsbXmbdpzList(zwywXmsbXmbdpz);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出项目申报项目类型单配置信息列表
+     */
+    @RequiresPermissions("business:xmbdpz:export")
+    @Log(title = "项目申报项目类型单配置信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, ZwywXmsbXmbdpz zwywXmsbXmbdpz)
+    {
+        List<ZwywXmsbXmbdpz> list = zwywXmsbXmbdpzService.selectZwywXmsbXmbdpzList(zwywXmsbXmbdpz);
+        ExcelUtil<ZwywXmsbXmbdpz> util = new ExcelUtil<ZwywXmsbXmbdpz>(ZwywXmsbXmbdpz.class);
+        util.exportExcel(response, list, "项目申报项目类型单配置信息数据");
+    }
+
+    /**
+     * 获取项目申报项目类型单配置信息详细信息
+     */
+    @RequiresPermissions("business:xmbdpz:query")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") String id)
+    {
+        return AjaxResult.success(zwywXmsbXmbdpzService.selectZwywXmsbXmbdpzById(id));
+    }
+
+    /**
+     * 新增项目申报项目类型单配置信息
+     */
+    @RequiresPermissions("business:xmbdpz:add")
+    @Log(title = "项目申报项目类型单配置信息", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@Validated({AddGroup.class}) @RequestBody ZwywXmsbXmbdpz zwywXmsbXmbdpz)
+    {
+        return toAjax(zwywXmsbXmbdpzService.insertZwywXmsbXmbdpz(zwywXmsbXmbdpz),zwywXmsbXmbdpz.getId());
+    }
+
+    /**
+     * 修改项目申报项目类型单配置信息
+     */
+    @RequiresPermissions("business:xmbdpz:edit")
+    @Log(title = "项目申报项目类型单配置信息", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@Validated @RequestBody ZwywXmsbXmbdpz zwywXmsbXmbdpz)
+    {
+        return toAjax(zwywXmsbXmbdpzService.updateZwywXmsbXmbdpz(zwywXmsbXmbdpz));
+    }
+
+    /**
+     * 删除项目申报项目类型单配置信息
+     */
+    @RequiresPermissions("business:xmbdpz:remove")
+    @Log(title = "项目申报项目类型单配置信息", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable String[] ids)
+    {
+        return toAjax(zwywXmsbXmbdpzService.deleteZwywXmsbXmbdpzByIds(ids));
+    }
+}

+ 108 - 0
ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/controller/ZwywXmsbXmlxController.java

@@ -0,0 +1,108 @@
+package com.ruoyi.business.controller;
+
+import com.ruoyi.business.domain.ZwywXmsbXmlx;
+import com.ruoyi.business.service.IZwywXmsbXmlxService;
+import com.ruoyi.common.core.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.TableDataInfo;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.security.annotation.RequiresPermissions;
+import com.ruoyi.system.validate.group.AddGroup;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * 项目申报项目类型信息Controller
+ * 
+ * @author sun
+ * @date 2022-10-25
+ */
+@RestController
+@RequestMapping("/xmsbXmlx")
+public class ZwywXmsbXmlxController extends BaseController
+{
+    @Autowired
+    private IZwywXmsbXmlxService zwywXmsbXmlxService;
+
+    /**
+     * 查询项目申报项目类型信息列表
+     */
+    @RequiresPermissions("business:xmsbXmlx:list")
+    @GetMapping("/list")
+    public TableDataInfo list(ZwywXmsbXmlx zwywXmsbXmlx)
+    {
+        startPage();
+        List<ZwywXmsbXmlx> list = zwywXmsbXmlxService.selectZwywXmsbXmlxList(zwywXmsbXmlx);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出项目申报项目类型信息列表
+     */
+    @RequiresPermissions("business:xmsbXmlx:export")
+    @Log(title = "项目申报项目类型信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, ZwywXmsbXmlx zwywXmsbXmlx)
+    {
+        List<ZwywXmsbXmlx> list = zwywXmsbXmlxService.selectZwywXmsbXmlxList(zwywXmsbXmlx);
+        ExcelUtil<ZwywXmsbXmlx> util = new ExcelUtil<ZwywXmsbXmlx>(ZwywXmsbXmlx.class);
+        util.exportExcel(response, list, "项目申报项目类型信息数据");
+    }
+
+    /**
+     * 获取项目申报项目类型信息详细信息
+     */
+    @RequiresPermissions("business:xmsbXmlx:query")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") String id)
+    {
+        return AjaxResult.success(zwywXmsbXmlxService.selectZwywXmsbXmlxById(id));
+    }
+
+    /**
+     * 新增项目申报项目类型信息
+     */
+    @RequiresPermissions("business:xmsbXmlx:add")
+    @Log(title = "项目申报项目类型信息", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@Validated({AddGroup.class}) @RequestBody ZwywXmsbXmlx zwywXmsbXmlx)
+    {
+        return toAjax(zwywXmsbXmlxService.insertZwywXmsbXmlx(zwywXmsbXmlx),zwywXmsbXmlx.getId());
+    }
+
+    /**
+     * 修改项目申报项目类型信息
+     */
+    @RequiresPermissions("business:xmsbXmlx:edit")
+    @Log(title = "项目申报项目类型信息", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@Validated @RequestBody ZwywXmsbXmlx zwywXmsbXmlx)
+    {
+        return toAjax(zwywXmsbXmlxService.updateZwywXmsbXmlx(zwywXmsbXmlx));
+    }
+
+    @RequiresPermissions("business:xmsbXmlx:edit")
+    @Log(title = "项目申报项目类型信息", businessType = BusinessType.UPDATE)
+    @PutMapping("/changeStatus")
+    public AjaxResult changeStatus(@Validated @RequestBody ZwywXmsbXmlx zwywXmsbXmlx)
+    {
+        return toAjax(zwywXmsbXmlxService.updateZwywXmsbXmlx(zwywXmsbXmlx));
+    }
+
+    /**
+     * 删除项目申报项目类型信息
+     */
+    @RequiresPermissions("business:xmsbXmlx:remove")
+    @Log(title = "项目申报项目类型信息", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable String[] ids)
+    {
+        return toAjax(zwywXmsbXmlxService.deleteZwywXmsbXmlxByIds(ids));
+    }
+}

+ 44 - 0
ruoyi-ui/src/api/business/xmsb/baxx.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询项目申报备案信息列表
+export function listBaxx(query) {
+  return request({
+    url: '/business/baxx/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询项目申报备案信息详细
+export function getBaxx(id) {
+  return request({
+    url: '/business/baxx/' + id,
+    method: 'get'
+  })
+}
+
+// 新增项目申报备案信息
+export function addBaxx(data) {
+  return request({
+    url: '/business/baxx',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改项目申报备案信息
+export function updateBaxx(data) {
+  return request({
+    url: '/business/baxx',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除项目申报备案信息
+export function delBaxx(id) {
+  return request({
+    url: '/business/baxx/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
ruoyi-ui/src/api/business/xmsb/xmbdpz.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询项目申报项目类型单配置信息列表
+export function listXmbdpz(query) {
+  return request({
+    url: '/business/xmbdpz/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询项目申报项目类型单配置信息详细
+export function getXmbdpz(id) {
+  return request({
+    url: '/business/xmbdpz/' + id,
+    method: 'get'
+  })
+}
+
+// 新增项目申报项目类型单配置信息
+export function addXmbdpz(data) {
+  return request({
+    url: '/business/xmbdpz',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改项目申报项目类型单配置信息
+export function updateXmbdpz(data) {
+  return request({
+    url: '/business/xmbdpz',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除项目申报项目类型单配置信息
+export function delXmbdpz(id) {
+  return request({
+    url: '/business/xmbdpz/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
ruoyi-ui/src/api/business/xmsb/xmsbCommon.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询项目申报信息列表
+export function listXmsbCommon(query) {
+  return request({
+    url: '/business/xmsbCommon/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询项目申报信息详细
+export function getXmsbCommon(id) {
+  return request({
+    url: '/business/xmsbCommon/' + id,
+    method: 'get'
+  })
+}
+
+// 新增项目申报信息
+export function addXmsbCommon(data) {
+  return request({
+    url: '/business/xmsbCommon',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改项目申报信息
+export function updateXmsbCommon(data) {
+  return request({
+    url: '/business/xmsbCommon',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除项目申报信息
+export function delXmsbCommon(id) {
+  return request({
+    url: '/business/xmsbCommon/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
ruoyi-ui/src/api/business/xmsb/xmsbFj.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询项目申报附件信息列表
+export function listXmsbFj(query) {
+  return request({
+    url: '/business/xmsbFj/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询项目申报附件信息详细
+export function getXmsbFj(id) {
+  return request({
+    url: '/business/xmsbFj/' + id,
+    method: 'get'
+  })
+}
+
+// 新增项目申报附件信息
+export function addXmsbFj(data) {
+  return request({
+    url: '/business/xmsbFj',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改项目申报附件信息
+export function updateXmsbFj(data) {
+  return request({
+    url: '/business/xmsbFj',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除项目申报附件信息
+export function delXmsbFj(id) {
+  return request({
+    url: '/business/xmsbFj/' + id,
+    method: 'delete'
+  })
+}

+ 56 - 0
ruoyi-ui/src/api/business/xmsb/xmsbFjlx.js

@@ -0,0 +1,56 @@
+import request from '@/utils/request'
+
+// 查询项目申报附件类型信息列表
+export function listXmsbFjlx(query) {
+  return request({
+    url: '/business/xmsbFjlx/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询项目申报附件类型信息详细
+export function getXmsbFjlx(id) {
+  return request({
+    url: '/business/xmsbFjlx/' + id,
+    method: 'get'
+  })
+}
+
+// 新增项目申报附件类型信息
+export function addXmsbFjlx(data) {
+  return request({
+    url: '/business/xmsbFjlx',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改项目申报附件类型信息
+export function updateXmsbFjlx(data) {
+  return request({
+    url: '/business/xmsbFjlx',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除项目申报附件类型信息
+export function delXmsbFjlx(id) {
+  return request({
+    url: '/business/xmsbFjlx/' + id,
+    method: 'delete'
+  })
+}
+
+export function changeFjStatus(id, status) {
+  const data = {
+    id,
+    status
+  }
+  return request({
+    url: '/business/xmsbFjlx/changeStatus',
+    method: 'put',
+    data: data
+  })
+}

+ 56 - 0
ruoyi-ui/src/api/business/xmsb/xmsbXmlx.js

@@ -0,0 +1,56 @@
+import request from '@/utils/request'
+
+// 查询项目申报项目类型信息列表
+export function listXmsbXmlx(query) {
+  return request({
+    url: '/business/xmsbXmlx/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询项目申报项目类型信息详细
+export function getXmsbXmlx(id) {
+  return request({
+    url: '/business/xmsbXmlx/' + id,
+    method: 'get'
+  })
+}
+
+// 新增项目申报项目类型信息
+export function addXmsbXmlx(data) {
+  return request({
+    url: '/business/xmsbXmlx',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改项目申报项目类型信息
+export function updateXmsbXmlx(data) {
+  return request({
+    url: '/business/xmsbXmlx',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除项目申报项目类型信息
+export function delXmsbXmlx(id) {
+  return request({
+    url: '/business/xmsbXmlx/' + id,
+    method: 'delete'
+  })
+}
+
+export function changeXmStatus(id, status) {
+  const data = {
+    id,
+    status
+  }
+  return request({
+    url: '/business/xmsbXmlx/changeStatus',
+    method: 'put',
+    data: data
+  })
+}

+ 313 - 0
ruoyi-ui/src/views/business/xmsb/baxx/index.vue

@@ -0,0 +1,313 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="备案状态" prop="bazt">
+        <el-select v-model="queryParams.bazt" placeholder="请选择备案状态" clearable>
+          <el-option
+            v-for="dict in dict.type.XZ108"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="审核意见" prop="shyj">
+        <el-input
+          v-model="queryParams.shyj"
+          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">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['business:baxx: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:baxx:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="baxxList" >
+      <el-table-column label="备案状态" align="center" prop="bazt">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.XZ108" :value="scope.row.bazt"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="审核意见" align="center" prop="shyj" />
+      <el-table-column label="备注" align="center" prop="bz" />
+      <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:baxx:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row,scope.$index)"
+            v-hasPermi="['business:baxx: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="id">
+          <el-input v-model="form.id" placeholder="请输入主键标识" />
+        </el-form-item>
+
+        <el-form-item label="主键标识" prop="sbId">
+          <el-input v-model="form.sbId" placeholder="请输入主键标识" />
+        </el-form-item>
+
+        <el-form-item label="备案状态" prop="bazt">
+          <el-select v-model="form.bazt" placeholder="请选择备案状态">
+            <el-option
+              v-for="dict in dict.type.XZ108"
+              :key="dict.value"
+              :label="dict.label"
+:value="dict.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="审核意见" prop="shyj">
+          <el-input v-model="form.shyj" placeholder="请输入审核意见" />
+        </el-form-item>
+
+        <el-form-item label="备注" prop="bz">
+          <el-input v-model="form.bz" type="textarea" maxlength="1000" 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 {addBaxx, delBaxx, getBaxx, listBaxx, updateBaxx} from "@/api/business/xmsb/baxx";
+  import {chineseOne, idCard, Regular} from '@/utils/regular'
+
+  export default {
+  name: "Baxx",
+  dicts: ['XZ108'],
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      submitFormLoading: false,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 项目申报备案信息表格数据
+      baxxList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        id: [
+          { required: true, message: "主键标识不能为空", trigger: "blur" },
+        ],
+        sbId: [
+          { required: true, message: "主键标识不能为空", trigger: "blur" },
+        ],
+        bazt: [
+          { required: true, message: "备案状态不能为空", trigger: "change" },
+        ],
+        shyj: [
+          { required: true, message: "审核意见不能为空", trigger: "blur" },
+          { max: 100, message: '审核意见不能超过100个字符', trigger: 'blur'},
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询项目申报备案信息列表 */
+    getList() {
+      this.loading = true;
+      listBaxx(this.queryParams).then(response => {
+        this.baxxList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.submitFormLoading =false;
+      this.form = {
+        id: null,
+        sbId: null,
+        bazt: null,
+        shyj: null,
+        bz: null,
+        state: 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
+      getBaxx(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) {
+              updateBaxx({...formData,id:this.form.id}).then(response => {
+                this.$modal.msgSuccess("修改成功");
+                this.open = false;
+                this.baxxList=this.dataReplacement(this.baxxList,this.form.id,formData);
+                // this.getList();
+              }).finally(()=>this.submitFormLoading =false);
+            }else{
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.submitFormLoading = false;
+            }
+            /****** sks 需要改动的地方 end ******/
+          } else {
+            addBaxx(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              // this.getList();
+              /****** sks 需要改动的地方 start ******/
+              if (this.queryParams.pageSize===this.baxxList.length)
+              {
+                this.baxxList.pop();
+              }
+              this.baxxList.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 delBaxx(ids);
+      }).then(() => {
+        // this.getList();
+        /****** sks 需要改动的地方 ind参数需要传进来 start ******/
+        this.baxxList.splice(index,1);
+        if(this.baxxList.length===0)
+        {
+          this.getList();
+        }else {
+          this.total--;
+        }
+        this.$modal.msgSuccess("删除成功");
+        /****** sks 需要改动的地方 end ******/
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('business/baxx/export', {
+        ...this.queryParams
+      }, `baxx_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

+ 314 - 0
ruoyi-ui/src/views/business/xmsb/xmbdpz/index.vue

@@ -0,0 +1,314 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="表单项标签" prop="label">
+        <el-input
+          v-model="queryParams.label"
+          placeholder="请输入表单项标签"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="是否必填" prop="required">
+        <el-select v-model="queryParams.required" placeholder="请选择是否必填" clearable>
+          <el-option
+            v-for="dict in dict.type.CZ035"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
+      </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">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['business:xmbdpz: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:xmbdpz:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="xmbdpzList" >
+      <el-table-column label="表单项标签" align="center" prop="label" />
+      <el-table-column label="表单项类型" align="center" prop="type" >
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.XZ109" :value="scope.row.type"/>
+        </template>
+      </el-table-column>>  
+      <el-table-column label="是否必填" align="center" prop="required">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.CZ035" :value="scope.row.required"/>
+        </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:xmbdpz:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row,scope.$index)"
+            v-hasPermi="['business:xmbdpz: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="xmlxId">
+          <el-input v-model="form.xmlxId" placeholder="请输入主键标识" />
+        </el-form-item>
+
+        <el-form-item label="表单项标签" prop="label">
+          <el-input v-model="form.label" placeholder="请输入表单项标签" />
+        </el-form-item>
+
+
+        <el-form-item label="是否必填" prop="required">
+          <el-radio-group v-model="form.required">
+            <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>
+      <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 {addXmbdpz, delXmbdpz, getXmbdpz, listXmbdpz, updateXmbdpz} from "@/api/business/xmsb/xmbdpz";
+  import {chineseOne, idCard, Regular} from '@/utils/regular'
+
+  export default {
+  name: "Xmbdpz",
+  dicts: ['CZ035', 'XZ109'],
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      submitFormLoading: false,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 项目申报项目类型单配置信息表格数据
+      xmbdpzList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        id: [
+          { required: true, message: "主键标识不能为空", trigger: "blur" },
+        ],
+        xmlxId: [
+          { required: true, message: "主键标识不能为空", trigger: "blur" },
+        ],
+        label: [
+          { required: true, message: "表单项标签不能为空", trigger: "blur" },
+          { max: 18, message: '表单项标签不能超过18个字符', trigger: 'blur'},
+        ],
+        type: [
+          { required: true, message: "表单项类型不能为空", trigger: "change" },
+        ],
+        required: [
+          { required: true, message: "是否必填不能为空", trigger: "blur" },
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询项目申报项目类型单配置信息列表 */
+    getList() {
+      this.loading = true;
+      listXmbdpz(this.queryParams).then(response => {
+        this.xmbdpzList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.submitFormLoading =false;
+      this.form = {
+        id: null,
+        xmlxId: null,
+        label: null,
+        type: null,
+        required: "0",
+        dictType: null,
+        state: 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
+      getXmbdpz(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) {
+              updateXmbdpz({...formData,id:this.form.id}).then(response => {
+                this.$modal.msgSuccess("修改成功");
+                this.open = false;
+                this.xmbdpzList=this.dataReplacement(this.xmbdpzList,this.form.id,formData);
+                // this.getList();
+              }).finally(()=>this.submitFormLoading =false);
+            }else{
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.submitFormLoading = false;
+            }
+            /****** sks 需要改动的地方 end ******/
+          } else {
+            addXmbdpz(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              // this.getList();
+              /****** sks 需要改动的地方 start ******/
+              if (this.queryParams.pageSize===this.xmbdpzList.length)
+              {
+                this.xmbdpzList.pop();
+              }
+              this.xmbdpzList.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 delXmbdpz(ids);
+      }).then(() => {
+        // this.getList();
+        /****** sks 需要改动的地方 ind参数需要传进来 start ******/
+        this.xmbdpzList.splice(index,1);
+        if(this.xmbdpzList.length===0)
+        {
+          this.getList();
+        }else {
+          this.total--;
+        }
+        this.$modal.msgSuccess("删除成功");
+        /****** sks 需要改动的地方 end ******/
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('business/xmbdpz/export', {
+        ...this.queryParams
+      }, `xmbdpz_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

+ 592 - 0
ruoyi-ui/src/views/business/xmsb/xmsbCommon/index.vue

@@ -0,0 +1,592 @@
+<template>
+  <div class="app-container">
+    <el-form
+      :model="queryParams"
+      ref="queryForm"
+      size="small"
+      :inline="true"
+      v-show="showSearch"
+      label-width="68px"
+    >
+      <el-form-item label="项目名称" prop="xmmc">
+        <el-input
+          v-model="queryParams.xmmc"
+          placeholder="请输入项目名称"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="所在地区" prop="szdq">
+        <el-input
+          v-model="queryParams.szdq"
+          placeholder="请输入所在地区"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="项目类型" prop="xmlx">
+        <el-input
+          v-model="queryParams.xmlx"
+          placeholder="请输入项目类型"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="申报日期" prop="sbrq">
+        <el-date-picker
+          v-model="daterangeSbrq"
+          style="width: 240px"
+          value-format="yyyyMMdd"
+          type="daterange"
+          range-separator="-"
+          start-placeholder="开始日期"
+          end-placeholder="结束日期"
+        ></el-date-picker>
+        <!-- 一般情况不需要选择到时间,如果需要使用日期时间范围搜索,修改value-format="yyyyMMddHHmmss"  type="datetimerange"即可 -->
+      </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">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['business:xmsbCommon: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:xmsbCommon:export']"
+          >导出</el-button
+        >
+      </el-col> -->
+      <right-toolbar
+        :showSearch.sync="showSearch"
+        @queryTable="getList"
+      ></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="xmsbCommonList">
+      <el-table-column label="项目名称" align="center" prop="xmmc" />
+      <el-table-column label="所在地区" align="center" prop="szdq" />
+      <el-table-column label="项目类型" align="center" prop="xmlx" />
+      <el-table-column label="申报日期" align="center" prop="sbrq" width="180">
+        <template slot-scope="scope">
+          <span>{{ special(scope.row.sbrq) }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="申报年度" align="center" prop="sbnd" />
+      <el-table-column label="申报状态" align="center" prop="sbzt">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.XZ108" :value="scope.row.sbzt" />
+        </template>
+      </el-table-column>
+      <el-table-column label="申报机构" align="center" prop="sbjg" />
+      <el-table-column label="申报人" align="center" prop="sbr" />
+      <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:xmsbCommon:edit']"
+            >修改</el-button
+          >
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row, scope.$index)"
+            v-hasPermi="['business:xmsbCommon: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="xmmc">
+          <el-input v-model="form.xmmc" placeholder="请输入项目名称" />
+        </el-form-item>
+
+        <el-form-item label="所在地区" prop="szdq">
+          <el-input v-model="form.szdq" placeholder="请输入所在地区" />
+        </el-form-item>
+
+        <el-form-item label="项目类型" prop="xmlx">
+          <el-input v-model="form.xmlx" placeholder="请输入项目类型" />
+        </el-form-item>
+
+        <el-form-item label="申报日期" prop="sbrq">
+          <el-date-picker
+            clearable
+            v-model="form.sbrq"
+            type="date"
+            value-format="yyyyMMdd"
+            placeholder="请选择申报日期"
+          >
+          </el-date-picker>
+        </el-form-item>
+
+        <el-form-item label="申报年度" prop="sbnd">
+          <number
+            placeholder="申报年度"
+            v-model.sync="form.sbnd"
+            :min="0"
+            :max="9999"
+            :precision="0"
+          />
+        </el-form-item>
+
+        <el-form-item label="申报状态" prop="sbzt">
+          <el-select v-model="form.sbzt" placeholder="请选择申报状态">
+            <el-option
+              v-for="dict in dict.type.XZ108"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="申报机构" prop="sbjg">
+          <el-input v-model="form.sbjg" placeholder="请输入申报机构" />
+        </el-form-item>
+
+        <el-form-item label="申报人" prop="sbr">
+          <el-input v-model="form.sbr" placeholder="请输入申报人" />
+        </el-form-item>
+
+        <el-form-item label="申报人电话" prop="sbrdh">
+          <el-input v-model="form.sbrdh" placeholder="请输入申报人电话" />
+        </el-form-item>
+
+        <el-form-item label="申报人邮箱" prop="sbryx">
+          <el-input v-model="form.sbryx" placeholder="请输入申报人邮箱" />
+        </el-form-item>
+
+        <el-form-item label="预算总金额(万元)" prop="yszje">
+          <number
+            placeholder="预算总金额(万元)"
+            v-model.sync="form.yszje"
+            :min="0"
+            :max="10000000000"
+            :precision="2"
+          />
+        </el-form-item>
+
+        <el-form-item label="政府配套金额(万元)" prop="zfptje">
+          <number
+            placeholder="政府配套金额(万元)"
+            v-model.sync="form.zfptje"
+            :min="0"
+            :max="10000000000"
+            :precision="2"
+          />
+        </el-form-item>
+
+        <el-form-item label="申请金额(万元)" prop="sqje">
+          <number
+            placeholder="申请金额(万元)"
+            v-model.sync="form.sqje"
+            :min="0"
+            :max="10000000000"
+            :precision="2"
+          />
+        </el-form-item>
+
+        <el-form-item label="项目联系人" prop="xmlxr">
+          <el-input v-model="form.xmlxr" placeholder="请输入项目联系人" />
+        </el-form-item>
+
+        <el-form-item label="项目联系人电话" prop="xmlxrdh">
+          <el-input v-model="form.xmlxrdh" placeholder="请输入项目联系人电话" />
+        </el-form-item>
+
+        <el-form-item label="项目联系人邮箱" prop="xmlxryx">
+          <el-input v-model="form.xmlxryx" placeholder="请输入项目联系人邮箱" />
+        </el-form-item>
+
+        <el-form-item label="项目实施单位" prop="xmssdw">
+          <el-input v-model="form.xmssdw" placeholder="请输入项目实施单位" />
+        </el-form-item>
+
+        <el-form-item label="备注" prop="bz">
+          <el-input
+            v-model="form.bz"
+            type="textarea"
+            maxlength="1000"
+            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 {
+  addXmsbCommon,
+  delXmsbCommon,
+  getXmsbCommon,
+  listXmsbCommon,
+  updateXmsbCommon,
+} from "@/api/business/xmsb/xmsbCommon";
+import { chineseOne, idCard, Regular } from "@/utils/regular";
+
+export default {
+  name: "XmsbCommon",
+  dicts: ["XZ108"],
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      submitFormLoading: false,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 项目申报信息表格数据
+      xmsbCommonList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 备注时间范围
+      daterangeSbrq: [],
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        id: [{ required: true, message: "主键标识不能为空", trigger: "blur" }],
+        xmmc: [
+          { required: true, message: "项目名称不能为空", trigger: "blur" },
+          { max: 100, message: "项目名称不能超过100个字符", trigger: "blur" },
+        ],
+        szdq: [
+          { required: true, message: "所在地区不能为空", trigger: "blur" },
+          { max: 12, message: "所在地区不能超过12个字符", trigger: "blur" },
+        ],
+        xmlx: [
+          { required: true, message: "项目类型不能为空", trigger: "blur" },
+          { max: 32, message: "项目类型不能超过32个字符", trigger: "blur" },
+        ],
+        sbrq: [
+          { required: true, message: "申报日期不能为空", trigger: "blur" },
+        ],
+        sbnd: [
+          { required: true, message: "申报年度不能为空", trigger: "blur" },
+          { max: 8, message: "申报年度不能超过8个字符", trigger: "blur" },
+        ],
+        sbzt: [
+          { required: true, message: "申报状态不能为空", trigger: "change" },
+        ],
+        sbjg: [
+          { required: true, message: "申报机构不能为空", trigger: "blur" },
+          { max: 100, message: "申报机构不能超过100个字符", trigger: "blur" },
+        ],
+        sbr: [
+          { required: true, message: "申报人不能为空", trigger: "blur" },
+          { max: 100, message: "申报人不能超过100个字符", trigger: "blur" },
+        ],
+        sbrdh: [
+          { required: true, message: "申报人电话不能为空", trigger: "blur" },
+          { max: 18, message: "申报人电话不能超过18个字符", trigger: "blur" },
+        ],
+        sbryx: [
+          { max: 100, message: "申报人邮箱不能超过100个字符", trigger: "blur" },
+        ],
+        yszje: [
+          {
+            required: true,
+            message: "预算总金额(万元)不能为空",
+            trigger: "blur",
+          },
+        ],
+        zfptje: [
+          {
+            required: true,
+            message: "政府配套金额(万元)不能为空",
+            trigger: "blur",
+          },
+        ],
+        sqje: [
+          {
+            required: true,
+            message: "申请金额(万元)不能为空",
+            trigger: "blur",
+          },
+        ],
+        xmlxr: [
+          { required: true, message: "项目联系人不能为空", trigger: "blur" },
+          { max: 100, message: "项目联系人不能超过100个字符", trigger: "blur" },
+        ],
+        xmlxrdh: [
+          {
+            required: true,
+            message: "项目联系人电话不能为空",
+            trigger: "blur",
+          },
+          {
+            max: 18,
+            message: "项目联系人电话不能超过18个字符",
+            trigger: "blur",
+          },
+        ],
+        xmlxryx: [
+          {
+            max: 100,
+            message: "项目联系人邮箱不能超过100个字符",
+            trigger: "blur",
+          },
+        ],
+        xmssdw: [
+          { required: true, message: "项目实施单位不能为空", trigger: "blur" },
+          {
+            max: 100,
+            message: "项目实施单位不能超过100个字符",
+            trigger: "blur",
+          },
+        ],
+      },
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询项目申报信息列表 */
+    getList() {
+      this.loading = true;
+      this.queryParams.params = {};
+      if (null != this.daterangeSbrq && "" != this.daterangeSbrq) {
+        this.queryParams.params["beginSbrq"] = this.daterangeSbrq[0];
+        this.queryParams.params["endSbrq"] = this.daterangeSbrq[1];
+      }
+      listXmsbCommon(this.queryParams).then((response) => {
+        this.xmsbCommonList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.submitFormLoading = false;
+      this.form = {
+        id: null,
+        xmmc: null,
+        szdq: null,
+        xmlx: null,
+        sbrq: null,
+        sbnd: null,
+        sbzt: null,
+        sbjg: null,
+        sbr: null,
+        sbrdh: null,
+        sbryx: null,
+        yszje: null,
+        zfptje: null,
+        sqje: null,
+        xmlxr: null,
+        xmlxrdh: null,
+        xmlxryx: null,
+        xmssdw: null,
+        bz: null,
+        kz: null,
+        state: null,
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.daterangeSbrq = [];
+      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;
+      getXmsbCommon(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) {
+              updateXmsbCommon({ ...formData, id: this.form.id })
+                .then((response) => {
+                  this.$modal.msgSuccess("修改成功");
+                  this.open = false;
+                  this.xmsbCommonList = this.dataReplacement(
+                    this.xmsbCommonList,
+                    this.form.id,
+                    formData
+                  );
+                  // this.getList();
+                })
+                .finally(() => (this.submitFormLoading = false));
+            } else {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.submitFormLoading = false;
+            }
+            /****** sks 需要改动的地方 end ******/
+          } else {
+            addXmsbCommon(this.form)
+              .then((response) => {
+                this.$modal.msgSuccess("新增成功");
+                this.open = false;
+                // this.getList();
+                /****** sks 需要改动的地方 start ******/
+                if (this.queryParams.pageSize === this.xmsbCommonList.length) {
+                  this.xmsbCommonList.pop();
+                }
+                this.xmsbCommonList.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 delXmsbCommon(ids);
+        })
+        .then(() => {
+          // this.getList();
+          /****** sks 需要改动的地方 ind参数需要传进来 start ******/
+          this.xmsbCommonList.splice(index, 1);
+          if (this.xmsbCommonList.length === 0) {
+            this.getList();
+          } else {
+            this.total--;
+          }
+          this.$modal.msgSuccess("删除成功");
+          /****** sks 需要改动的地方 end ******/
+        })
+        .catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download(
+        "business/xmsbCommon/export",
+        {
+          ...this.queryParams,
+        },
+        `xmsbCommon_${new Date().getTime()}.xlsx`
+      );
+    },
+  },
+};
+</script>

+ 313 - 0
ruoyi-ui/src/views/business/xmsb/xmsbFj/index.vue

@@ -0,0 +1,313 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="材料简称" prop="fjmc">
+        <el-input
+          v-model="queryParams.fjmc"
+          placeholder="请输入材料简称"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="内附文件说明" prop="nfwjsm">
+        <el-input
+          v-model="queryParams.nfwjsm"
+          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">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['business:xmsbFj: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:xmsbFj:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="xmsbFjList" >
+      <el-table-column label="材料类型" align="center" prop="fjlx" />
+      <el-table-column label="材料简称" align="center" prop="fjmc" />
+      <el-table-column label="内附文件说明" align="center" prop="nfwjsm" />
+      <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:xmsbFj:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row,scope.$index)"
+            v-hasPermi="['business:xmsbFj: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="id">
+          <el-input v-model="form.id" placeholder="请输入主键标识" />
+        </el-form-item>
+
+        <el-form-item label="主键标识" prop="sbId">
+          <el-input v-model="form.sbId" placeholder="请输入主键标识" />
+        </el-form-item>
+
+
+        <el-form-item label="材料简称" prop="fjmc">
+          <el-input v-model="form.fjmc" placeholder="请输入材料简称" />
+        </el-form-item>
+
+        <el-form-item label="内附文件说明" prop="nfwjsm">
+          <el-input v-model="form.nfwjsm" placeholder="请输入内附文件说明" />
+        </el-form-item>
+
+        <el-form-item label="备注" prop="bz">
+          <el-input v-model="form.bz" type="textarea" maxlength="1000" show-word-limit placeholder="请输入备注" />
+        </el-form-item>
+
+        <el-form-item label="附件地址" prop="fj">
+          <file-upload v-model="form.fj"/>
+        </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 {addXmsbFj, delXmsbFj, getXmsbFj, listXmsbFj, updateXmsbFj} from "@/api/business/xmsb/xmsbFj";
+  import {chineseOne, idCard, Regular} from '@/utils/regular'
+
+  export default {
+  name: "XmsbFj",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      submitFormLoading: false,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 项目申报附件信息表格数据
+      xmsbFjList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        id: [
+          { required: true, message: "主键标识不能为空", trigger: "blur" },
+        ],
+        sbId: [
+          { required: true, message: "主键标识不能为空", trigger: "blur" },
+        ],
+        fjlx: [
+          { required: true, message: "材料类型不能为空", trigger: "change" },
+        ],
+        fjmc: [
+          { required: true, message: "材料简称不能为空", trigger: "blur" },
+          { max: 100, message: '材料简称不能超过100个字符', trigger: 'blur'},
+        ],
+        nfwjsm: [
+          { required: true, message: "内附文件说明不能为空", trigger: "blur" },
+          { max: 100, message: '内附文件说明不能超过100个字符', trigger: 'blur'},
+        ],
+        fj: [
+          { required: true, message: "附件地址不能为空", trigger: "blur" },
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询项目申报附件信息列表 */
+    getList() {
+      this.loading = true;
+      listXmsbFj(this.queryParams).then(response => {
+        this.xmsbFjList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.submitFormLoading =false;
+      this.form = {
+        id: null,
+        sbId: null,
+        fjlx: null,
+        fjmc: null,
+        nfwjsm: null,
+        bz: null,
+        fj: null,
+        state: 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
+      getXmsbFj(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) {
+              updateXmsbFj({...formData,id:this.form.id}).then(response => {
+                this.$modal.msgSuccess("修改成功");
+                this.open = false;
+                this.xmsbFjList=this.dataReplacement(this.xmsbFjList,this.form.id,formData);
+                // this.getList();
+              }).finally(()=>this.submitFormLoading =false);
+            }else{
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.submitFormLoading = false;
+            }
+            /****** sks 需要改动的地方 end ******/
+          } else {
+            addXmsbFj(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              // this.getList();
+              /****** sks 需要改动的地方 start ******/
+              if (this.queryParams.pageSize===this.xmsbFjList.length)
+              {
+                this.xmsbFjList.pop();
+              }
+              this.xmsbFjList.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 delXmsbFj(ids);
+      }).then(() => {
+        // this.getList();
+        /****** sks 需要改动的地方 ind参数需要传进来 start ******/
+        this.xmsbFjList.splice(index,1);
+        if(this.xmsbFjList.length===0)
+        {
+          this.getList();
+        }else {
+          this.total--;
+        }
+        this.$modal.msgSuccess("删除成功");
+        /****** sks 需要改动的地方 end ******/
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('business/xmsbFj/export', {
+        ...this.queryParams
+      }, `xmsbFj_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

+ 304 - 0
ruoyi-ui/src/views/business/xmsb/xmsbFjlx/index.vue

@@ -0,0 +1,304 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="类型名称" prop="lxmc">
+        <el-input
+          v-model="queryParams.lxmc"
+          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">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['business:xmsbFjlx: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:xmsbFjlx:export']"
+        >导出</el-button>
+      </el-col> -->
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="xmsbFjlxList" >
+      <el-table-column label="类型名称" align="center" prop="lxmc" />
+      <el-table-column label="数据状态" align="center" prop="status">
+        <template slot-scope="scope">
+          <el-switch
+            v-model="scope.row.status"
+            active-value="0"
+            inactive-value="99"
+            @change="handleStatusChange(scope.row)"
+          ></el-switch>
+        </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:xmsbFjlx:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row,scope.$index)"
+            v-hasPermi="['business:xmsbFjlx: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="xmlxId">
+          <BizDict :value="form.xmlxId" :parmar="parmar" @changeData="changeDataForm" ></BizDict>
+        </el-form-item>
+
+        <el-form-item label="附件类型名称" prop="lxmc">
+          <el-input v-model="form.lxmc" 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 {addXmsbFjlx, delXmsbFjlx, changeStatus, getXmsbFjlx, listXmsbFjlx, updateXmsbFjlx} from "@/api/business/xmsb/xmsbFjlx";
+  import {chineseOne, idCard, Regular} from '@/utils/regular'
+  import {mapState} from "vuex";
+
+  export default {
+  name: "XmsbFjlx",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      submitFormLoading: false,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 项目申报附件类型信息表格数据
+      xmsbFjlxList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+      },
+      parmar: {
+        dictType: 'xmsbXmlx',
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        id: [
+          { required: true, message: "主键标识不能为空", trigger: "blur" },
+        ],
+        lxmc: [
+          { required: true, message: "类型名称不能为空", trigger: "blur" },
+          { max: 100, message: '类型名称不能超过100个字符', trigger: 'blur'},
+        ],
+        status: [
+          { required: true, message: "数据状态不能为空", trigger: "blur" },
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  computed: {
+    ...mapState(["user"]),
+  },
+  methods: {
+    /** 查询项目申报附件类型信息列表 */
+    getList() {
+      console.log(this.user.userData.deptId);
+      this.loading = true;
+      listXmsbFjlx(this.queryParams).then(response => {
+        this.xmsbFjlxList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.submitFormLoading =false;
+      this.form = {
+        id: null,
+        lxmc: null,
+        status: "0",
+        state: 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
+      getXmsbFjlx(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) {
+              updateXmsbFjlx({...formData,id:this.form.id}).then(response => {
+                this.$modal.msgSuccess("修改成功");
+                this.open = false;
+                this.xmsbFjlxList=this.dataReplacement(this.xmsbFjlxList,this.form.id,formData);
+                // this.getList();
+              }).finally(()=>this.submitFormLoading =false);
+            }else{
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.submitFormLoading = false;
+            }
+            /****** sks 需要改动的地方 end ******/
+          } else {
+            addXmsbFjlx(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              // this.getList();
+              /****** sks 需要改动的地方 start ******/
+              if (this.queryParams.pageSize===this.xmsbFjlxList.length)
+              {
+                this.xmsbFjlxList.pop();
+              }
+              this.xmsbFjlxList.unshift({...this.form,id:response.data});
+              this.total++;
+              /****** sks 需要改动的地方 end ******/
+            }).finally(()=>this.submitFormLoading =false);
+          }
+        }
+      });
+    },
+    changeDataForm(value, list) {
+      this.form.xmlxId = value;
+    },
+    handleStatusChange(row) {
+      let text = row.status === "0" ? "启用" : "停用";
+      this.$modal.confirm('确认要"' + text + '""' + row.lxmc + '"项目吗?').then(function() {
+        return changeStatus(row.id, row.status);
+      }).then(() => {
+        this.$modal.msgSuccess(text + "成功");
+      }).catch(function() {
+        row.status = row.status === "0" ? "99" : "0";
+      });
+    },
+    /** 删除按钮操作 */
+    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 delXmsbFjlx(ids);
+      }).then(() => {
+        // this.getList();
+        /****** sks 需要改动的地方 ind参数需要传进来 start ******/
+        this.xmsbFjlxList.splice(index,1);
+        if(this.xmsbFjlxList.length===0)
+        {
+          this.getList();
+        }else {
+          this.total--;
+        }
+        this.$modal.msgSuccess("删除成功");
+        /****** sks 需要改动的地方 end ******/
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('business/xmsbFjlx/export', {
+        ...this.queryParams
+      }, `xmsbFjlx_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

+ 586 - 0
ruoyi-ui/src/views/business/xmsb/xmsbXmlx/index.vue

@@ -0,0 +1,586 @@
+<template>
+  <div class="app-container">
+    <el-form
+      :model="queryParams"
+      ref="queryForm"
+      size="small"
+      :inline="true"
+      v-show="showSearch"
+      label-width="68px"
+    >
+      <el-form-item label="类型名称" prop="lxmc">
+        <el-input
+          v-model="queryParams.lxmc"
+          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">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['business:xmsbXmlx: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:xmsbXmlx:export']"
+        >导出</el-button>
+      </el-col> -->
+      <right-toolbar
+        :showSearch.sync="showSearch"
+        @queryTable="getList"
+      ></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="xmsbXmlxList">
+      <el-table-column label="类型名称" align="center" prop="lxmc" />
+      <el-table-column label="数据状态" align="center" prop="status">
+        <template slot-scope="scope">
+          <el-switch
+            v-model="scope.row.status"
+            active-value="0"
+            inactive-value="99"
+            @change="handleStatusChange(scope.row)"
+          ></el-switch>
+        </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:xmsbXmlx:edit']"
+            >修改</el-button
+          >
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row, scope.$index)"
+            v-hasPermi="['business:xmsbXmlx:remove']"
+            >删除</el-button
+          >
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleView(scope.row, scope.$index)"
+            v-hasPermi="['business:xmsbFjlx:list']"
+            >附件类型</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="lxmc">
+          <el-input v-model="form.lxmc" 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>
+
+    <!-- 项目附件类型信息对话框 -->
+    <el-dialog
+      v-dialog-drag
+      :title="viewTitle"
+      :visible.sync="openView"
+      width="800px"
+      append-to-body
+    >
+      <el-form :model="viewQueryParams" ref="viewQueryForm" size="small" :inline="true" v-show="viewShowSearch" label-width="68px">
+        <el-form-item label="类型名称" prop="lxmc">
+          <el-input
+            v-model="viewQueryParams.lxmc"
+            placeholder="请输入类型名称"
+            clearable
+            @keyup.enter.native="handleViewQuery"
+          />
+        </el-form-item>
+        <el-form-item>
+          <el-button type="primary" icon="el-icon-search" size="mini" @click="handleViewQuery">搜索</el-button>
+          <el-button icon="el-icon-refresh" size="mini" @click="resetViewQuery">重置</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="handleViewAdd"
+            v-hasPermi="['business:xmsbFjlx:add']"
+          >新增</el-button>
+        </el-col>
+        <right-toolbar :showSearch.sync="viewShowSearch" @queryTable="getFjList"></right-toolbar>
+      </el-row>
+
+      <el-table v-loading="viewLoading" :data="fjList">
+        <el-table-column label="类型名称" align="center" prop="lxmc" />
+        <el-table-column label="数据状态" align="center" prop="status">
+          <template slot-scope="scope">
+            <el-switch
+              v-model="scope.row.status"
+              active-value="0"
+              inactive-value="99"
+              @change="handleViewStatusChange(scope.row)"
+            ></el-switch>
+          </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="handleViewUpdate(scope.row)"
+              v-hasPermi="['business:xmsbFjlx:edit']"
+              >修改</el-button
+            >
+            <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-delete"
+              @click="handleViewDelete(scope.row, scope.$index)"
+              v-hasPermi="['business:xmsbFjlx:remove']"
+              >删除</el-button
+            >
+          </template>
+        </el-table-column>
+      </el-table>
+
+      <pagination
+        v-show="viewTotal > 0"
+        :total="viewTotal"
+        :page.sync="viewQueryParams.pageNum"
+        :limit.sync="viewQueryParams.pageSize"
+        @pagination="getFjList"
+      />
+
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="cancelView">确 定</el-button>
+      </div>
+    </el-dialog>
+
+    <!-- 添加或修改项目申报附件类型信息对话框 -->
+    <el-dialog v-dialog-drag :title="viewTitleAdd" :visible.sync="openViewInOrUp" width="500px" append-to-body>
+      <el-form ref="viewForm" :model="viewForm" :rules="rules" label-width="80px">
+
+        <el-form-item label="项目类型" prop="xmlxId" style="display: none">
+          <el-input v-model="viewForm.xmlxId" placeholder="请输入项目类型" />
+        </el-form-item>
+
+        <el-form-item label="附件类型名称" prop="lxmc">
+          <el-input v-model="viewForm.lxmc" placeholder="请输入附件类型名称" />
+        </el-form-item>
+
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitViewForm" :loading="submitViewFormLoading">确 定</el-button>
+        <el-button @click="cancelViewAdd">取 消</el-button>
+      </div>
+    </el-dialog>
+
+  </div>
+</template>
+
+<script>
+import {
+  addXmsbXmlx,
+  delXmsbXmlx,
+  getXmsbXmlx,
+  changeXmStatus,
+  listXmsbXmlx,
+  updateXmsbXmlx,
+} from "@/api/business/xmsb/xmsbXmlx";
+import {addXmsbFjlx, delXmsbFjlx, changeFjStatus, getXmsbFjlx, listXmsbFjlx, updateXmsbFjlx} from "@/api/business/xmsb/xmsbFjlx";
+import { chineseOne, idCard, Regular } from "@/utils/regular";
+
+export default {
+  name: "XmsbXmlx",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      viewLoading: true,
+      submitFormLoading: false,
+      submitViewFormLoading: false,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      rowId: "",
+      // 显示搜索条件
+      showSearch: true,
+      viewShowSearch: true,
+      // 总条数
+      total: 0,
+      viewTotal: 0,
+      // 项目申报项目类型信息表格数据
+      xmsbXmlxList: [],
+      fjList: [],
+      // 弹出层标题
+      title: "",
+      viewTitle: "",
+      viewTitleAdd: "",
+      // 是否显示弹出层
+      open: false,
+      openView: false,
+      openViewInOrUp: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        lxmc: null,
+      },
+      viewQueryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        lxmc: null,
+      },
+      // 表单参数
+      form: {},
+      viewForm: {},
+      // 表单校验
+      rules: {
+        id: [{ required: true, message: "主键标识不能为空", trigger: "blur" }],
+        lxmc: [
+          { required: true, message: "类型名称不能为空", trigger: "blur" },
+          { max: 72, message: "类型名称不能超过72个字符", trigger: "blur" },
+        ],
+        status: [
+          { required: true, message: "数据状态不能为空", trigger: "blur" },
+        ],
+      },
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询项目申报项目类型信息列表 */
+    getList() {
+      this.loading = true;
+      listXmsbXmlx(this.queryParams).then((response) => {
+        this.xmsbXmlxList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    getFjList() {
+      this.viewLoading = true;
+      listXmsbFjlx({...this.viewQueryParams, xmlxId: this.rowId}).then((response) => {
+        this.fjList = response.rows;
+        this.viewTotal = response.total;
+        this.viewLoading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    cancelView() {
+      this.openView = false;
+      this.resetView();
+    },
+    cancelViewAdd() {
+      this.openViewInOrUp = false;
+      this.resetView();
+    },
+    // 表单重置
+    reset() {
+      this.submitFormLoading = false;
+      this.form = {
+        id: null,
+        lxmc: null,
+        status: "0",
+        state: null,
+      };
+      this.resetForm("form");
+    },
+    resetView() {
+      this.submitViewFormLoading = false;
+      this.viewForm = {
+        id: null,
+        xmId: null,
+        lxmc: null,
+        status: "0",
+        state: null,
+      };
+      this.resetForm("viewForm");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 搜索按钮操作 */
+    handleViewQuery() {
+      this.viewQueryParams.pageNum = 1;
+      this.getFjList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    /** 重置按钮操作 */
+    resetViewQuery() {
+      this.resetForm("viewQueryForm");
+      this.handleViewQuery();
+    },
+    // 多选框选中数据
+    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;
+      getXmsbXmlx(id).then((response) => {
+        this.form = response.data;
+        /****** sks 需要改动的地方 start ******/
+        this.copyForm = this.deepCopy(response.data);
+        /****** sks 需要改动的地方 end ******/
+        this.open = true;
+        this.title = "项目申报项目类型信息";
+      });
+    },
+    /** 该项目附件类型 */
+    handleView(row) {
+      this.reset();
+      this.rowId = row.id;
+      this.openView = true;
+      this.viewTitle = "项目附件类型信息";
+      this.getFjList();
+    },
+    /** 附件新增按钮操作 */
+    handleViewAdd() {
+      this.resetView();
+      this.openViewInOrUp = true;
+      this.viewTitleAdd = "添加项目申报附件类型信息";
+    },
+    /** 附件修改按钮操作 */
+    handleViewUpdate(row) {
+      this.resetView();
+      const id = row.id || this.ids
+      getXmsbFjlx(id).then(response => {
+        this.viewForm = response.data;
+        this.openViewInOrUp = true;
+        this.viewTitleAdd = "修改项目申报附件类型信息";
+      });
+    },
+    /** 提交按钮 */
+    submitViewForm() {
+      this.$refs["viewForm"].validate(valid => {
+        if (valid) {
+          this.submitFormLoading = true;
+          if (this.viewForm.id != null) {
+              updateXmsbFjlx(this.viewForm).then(response => {
+                this.$modal.msgSuccess("修改成功");
+                this.openViewInOrUp = false;
+                this.getFjList();
+              }).finally(()=>this.submitFormLoading =false);
+          } else {
+            addXmsbFjlx(this.viewForm).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.openViewInOrUp = false;
+              this.getFjList();
+            }).finally(()=>this.submitFormLoading =false);
+          }
+        }
+      });
+    },
+    /** 提交按钮 */
+    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) {
+              updateXmsbXmlx({ ...formData, id: this.form.id })
+                .then((response) => {
+                  this.$modal.msgSuccess("修改成功");
+                  this.open = false;
+                  this.xmsbXmlxList = this.dataReplacement(
+                    this.xmsbXmlxList,
+                    this.form.id,
+                    formData
+                  );
+                  // this.getList();
+                })
+                .finally(() => (this.submitFormLoading = false));
+            } else {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.submitFormLoading = false;
+            }
+            /****** sks 需要改动的地方 end ******/
+          } else {
+            addXmsbXmlx(this.form)
+              .then((response) => {
+                this.$modal.msgSuccess("新增成功");
+                this.open = false;
+                // this.getList();
+                /****** sks 需要改动的地方 start ******/
+                if (this.queryParams.pageSize === this.xmsbXmlxList.length) {
+                  this.xmsbXmlxList.pop();
+                }
+                this.xmsbXmlxList.unshift({ ...this.form, id: response.data });
+                this.total++;
+                /****** sks 需要改动的地方 end ******/
+              })
+              .finally(() => (this.submitFormLoading = false));
+          }
+        }
+      });
+    },
+    handleStatusChange(row) {
+      let text = row.status === "0" ? "启用" : "停用";
+      this.$modal.confirm('确认要"' + text + '""' + row.lxmc + '"项目吗?').then(function() {
+        return changeXmStatus(row.id, row.status);
+      }).then(() => {
+        this.$modal.msgSuccess(text + "成功");
+      }).catch(function() {
+        row.status = row.status === "0" ? "99" : "0";
+      });
+    },
+    handleViewStatusChange(row) {
+      let text = row.status === "0" ? "启用" : "停用";
+      this.$modal.confirm('确认要"' + text + '""' + row.lxmc + '"附件类型吗?').then(function() {
+        return changeFjStatus(row.id, row.status);
+      }).then(() => {
+        this.$modal.msgSuccess(text + "成功");
+      }).catch(function() {
+        row.status = row.status === "0" ? "99" : "0";
+      });
+    },
+    /** 删除按钮操作 */
+    handleViewDelete(row,index) {
+      const ids = row.id || this.ids;
+      const xh = (this.viewQueryParams.pageNum-1)*this.viewQueryParams.pageSize + index + 1;
+      this.$modal.confirm('确认删除' + this.changeDelData(row,'id','ID值',xh) + '的记录?').then(function() {
+        return delXmsbFjlx(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 删除按钮操作 */
+    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 delXmsbXmlx(ids);
+        })
+        .then(() => {
+          // this.getList();
+          /****** sks 需要改动的地方 ind参数需要传进来 start ******/
+          this.xmsbXmlxList.splice(index, 1);
+          if (this.xmsbXmlxList.length === 0) {
+            this.getList();
+          } else {
+            this.total--;
+          }
+          this.$modal.msgSuccess("删除成功");
+          /****** sks 需要改动的地方 end ******/
+        })
+        .catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download(
+        "business/xmsbXmlx/export",
+        {
+          ...this.queryParams,
+        },
+        `xmsbXmlx_${new Date().getTime()}.xlsx`
+      );
+    },
+  },
+};
+</script>