Prechádzať zdrojové kódy

党员学习教育-党组织风采

lizeyu 4 mesiacov pred
rodič
commit
9fce11ae2a

+ 31 - 0
lib/数据更新脚本.txt

@@ -157,3 +157,34 @@ INSERT INTO `cf_menu` (`MENUID`, `APPLICATIONID`, `PARENTMENUID`, `MNUSYSTEM`, `
 
 
 
+-- 2024.7.15 党员学习教育-党组织风采
+DROP TABLE IF EXISTS `pub_dzzfc`;
+CREATE TABLE `pub_dzzfc`  (
+  `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'id',
+  `dzzdm` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '所在组织',
+  `ztmc` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '主题名称',
+  `fc_type` int NULL DEFAULT NULL COMMENT '类型 fcType',
+  `jj` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '简介',
+  `nr` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '内容',
+  `sj` varchar(24) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '时间',
+  `lj` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '链接',
+  `remark` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
+  `create_time` datetime NULL  DEFAULT NULL COMMENT '创建时间',
+  `create_userid` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人',
+  `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
+  `update_userid` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '修改人',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC COMMENT'党组织风采';
+SET FOREIGN_KEY_CHECKS = 1;
+
+INSERT INTO `cf_menu` (`MENUID`, `APPLICATIONID`, `PARENTMENUID`, `MNUSYSTEM`, `MENUORDER`, `MENUNO`, `MENUNAME`, `MENUPROGRAM`, `MENUPIC`, `MENUDESC`, `ISVISIBLE`, `ISLEAF`, `ISBLANK`) VALUES ('1b7e571e-0000-4475-9e24-98636ba0bd76', 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', '70958848-d81c-4679-9d89-11b5a5998060', NULL, 4, 'home.pub_dzzfcList', '党组织风采', '', '', '', 1, 1, NULL);
+INSERT INTO `cf_menu` (`MENUID`, `APPLICATIONID`, `PARENTMENUID`, `MNUSYSTEM`, `MENUORDER`, `MENUNO`, `MENUNAME`, `MENUPROGRAM`, `MENUPIC`, `MENUDESC`, `ISVISIBLE`, `ISLEAF`, `ISBLANK`) VALUES ('15c3ea7a-0000-4914-a17d-c985164e9428', 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', '1b7e571e-0000-4475-9e24-98636ba0bd76', NULL, 1, 'pub_dzzfcList.btnAdd', '新增', NULL, NULL, NULL, 0, 1, NULL);
+INSERT INTO `cf_menu` (`MENUID`, `APPLICATIONID`, `PARENTMENUID`, `MNUSYSTEM`, `MENUORDER`, `MENUNO`, `MENUNAME`, `MENUPROGRAM`, `MENUPIC`, `MENUDESC`, `ISVISIBLE`, `ISLEAF`, `ISBLANK`) VALUES ('cb3e03df-0000-4e66-b8d8-93f707dbdaa1', 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', '1b7e571e-0000-4475-9e24-98636ba0bd76', NULL, 2, 'pub_dzzfcList.btnUpdate', '编辑', NULL, NULL, NULL, 0, 1, NULL);
+INSERT INTO `cf_menu` (`MENUID`, `APPLICATIONID`, `PARENTMENUID`, `MNUSYSTEM`, `MENUORDER`, `MENUNO`, `MENUNAME`, `MENUPROGRAM`, `MENUPIC`, `MENUDESC`, `ISVISIBLE`, `ISLEAF`, `ISBLANK`) VALUES ('2067919a-0000-4a95-ba14-b84bf6100ced', 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', '1b7e571e-0000-4475-9e24-98636ba0bd76', NULL, 3, 'pub_dzzfcList.btnDelete', '删除', NULL, NULL, NULL, 0, 1, NULL);
+INSERT INTO `cf_menu` (`MENUID`, `APPLICATIONID`, `PARENTMENUID`, `MNUSYSTEM`, `MENUORDER`, `MENUNO`, `MENUNAME`, `MENUPROGRAM`, `MENUPIC`, `MENUDESC`, `ISVISIBLE`, `ISLEAF`, `ISBLANK`) VALUES ('cd7e7a09-0000-4bbc-8246-36f7b0f62bcd', 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', '1b7e571e-0000-4475-9e24-98636ba0bd76', NULL, 11, 'home.pub_dzzfcAdd', '新增党组织风采信息', NULL, NULL, NULL, 0, 0, NULL);
+INSERT INTO `cf_menu` (`MENUID`, `APPLICATIONID`, `PARENTMENUID`, `MNUSYSTEM`, `MENUORDER`, `MENUNO`, `MENUNAME`, `MENUPROGRAM`, `MENUPIC`, `MENUDESC`, `ISVISIBLE`, `ISLEAF`, `ISBLANK`) VALUES ('8638ba30-0000-4487-8c78-2e953857e6d4', 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', '1b7e571e-0000-4475-9e24-98636ba0bd76', NULL, 12, 'home.pub_dzzfcEdit', '修改党组织风采信息', NULL, NULL, NULL, 0, 0, NULL);
+INSERT INTO `cf_menu` (`MENUID`, `APPLICATIONID`, `PARENTMENUID`, `MNUSYSTEM`, `MENUORDER`, `MENUNO`, `MENUNAME`, `MENUPROGRAM`, `MENUPIC`, `MENUDESC`, `ISVISIBLE`, `ISLEAF`, `ISBLANK`) VALUES ('f6ec1d5a-0000-47c0-bb7e-ce03f7eaf575', 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', '1b7e571e-0000-4475-9e24-98636ba0bd76', NULL, 13, 'home.pub_dzzfcDetail', '查看党组织风采信息', NULL, NULL, NULL, 0, 0, NULL);
+
+INSERT INTO `cf_dictionary` (`DICTIONARYID`, `DICKEY`, `DICVALUE`, `DICTYPEKEY`, `DICTYPE`, `APPLICATIONID`, `DICNOTE`, `OPERATETIME`, `OPERATESTATE`, `SYNCSTATE`) VALUES ('058a7fc0-0000-0001-9999-bdb74a278a72', 1, '媒体报道', 'fcType', 2, 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', '风采类型', '2019-09-26 15:13:15', 'M', 'N');
+INSERT INTO `cf_dictionary` (`DICTIONARYID`, `DICKEY`, `DICVALUE`, `DICTYPEKEY`, `DICTYPE`, `APPLICATIONID`, `DICNOTE`, `OPERATETIME`, `OPERATESTATE`, `SYNCSTATE`) VALUES ('058a7fc0-0000-0002-9999-bdb74a278a72', 2, '其他', 'fcType', 2, 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', '风采类型', '2019-09-26 15:13:15', 'M', 'N');
+

+ 105 - 0
src/main/java/com/ghsc/partybuild/controller/publicity/PubDzzfcController.java

@@ -0,0 +1,105 @@
+package com.ghsc.partybuild.controller.publicity;
+
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.ghsc.partybuild.controller.jsonmodel.RequsetData;
+import com.ghsc.partybuild.service.UserService;
+import com.ghsc.partybuild.service.impl.PubDzzfcService;
+import com.ghsc.partybuild.util.DateUtils;
+import com.ghsc.partybuild.util.JsonMapper;
+import com.ghsc.partybuild.vo.publicity.PubDzzfcVo;
+import com.github.pagehelper.PageInfo;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+
+@Slf4j
+@RestController
+@RequestMapping(value = "/api/publicity/dzzfc")
+public class PubDzzfcController {
+    @Autowired
+    private PubDzzfcService pubDzzfcService;
+    @Autowired
+    private UserService userService;
+    @Autowired
+    private DateUtils dateUtils;
+
+    @ResponseBody
+    @GetMapping("/getList")
+    public RequsetData<PageInfo<PubDzzfcVo>> getList(int pageindex, int pagesize, @RequestParam(required = false) String dzzdm, 
+                                                             @RequestParam(required = false) String ztmc, @RequestParam(required = false) String fcType) {
+
+        RequsetData<PageInfo<PubDzzfcVo>> result = new RequsetData<>();
+        result.setItem(pubDzzfcService.getList(pageindex, pagesize, null, dzzdm, ztmc, fcType));
+        return result;
+    }
+
+    @ResponseBody
+    @GetMapping("/get")
+    public RequsetData<PubDzzfcVo> get(@RequestParam(required = false) String id) {
+        RequsetData<PubDzzfcVo> res = new RequsetData<>();
+
+        PubDzzfcVo model = pubDzzfcService.getPubDzzfcById(id);
+        if (model == null) {
+            model = new PubDzzfcVo();
+            model.setId(UUID.randomUUID().toString());
+        }
+
+        res.setItem(model);
+        return res;
+    }
+
+    @ResponseBody
+    @PostMapping("/save")
+    public RequsetData<String> save(@RequestBody PubDzzfcVo data) {
+        RequsetData<String> result = new RequsetData<String>();
+        int count = 0;
+        String message = "";
+
+        try {
+            count = pubDzzfcService.save(data, userService.getLoginUser().getUserid());
+        } catch (Exception e) {
+            e.printStackTrace();
+            message = e.toString();
+        }
+
+        if (count > 0) {
+            result.setSuccess(true);
+            result.setMsg("保存成功!");
+        } else {
+            result.setSuccess(false);
+            result.setMsg("保存失败!" + message);
+        }
+        return result;
+    }
+
+    @ResponseBody
+    @PostMapping("/delete")
+    public RequsetData<Integer> delete(@RequestBody Map<String, Object> reqMap) {
+        RequsetData<Integer> result = new RequsetData<>();
+        int count = 0;
+        String message = "";
+
+        try {
+            List<String> idList = JsonMapper.jsonToObject(reqMap.get("ids").toString(), new TypeReference<List<String>>() {
+            });
+            count = pubDzzfcService.delete(idList);
+        } catch (Exception e) {
+            e.printStackTrace();
+            message = e.toString();
+        }
+
+        if (count > 0) {
+            result.setItem(count);
+            result.setSuccess(true);
+            result.setMsg("删除成功!");
+        } else {
+            result.setSuccess(false);
+            result.setMsg("删除失败!" + message);
+        }
+        return result;
+    }
+}

+ 12 - 0
src/main/java/com/ghsc/partybuild/mapper/PubDzzfcCQuery.java

@@ -0,0 +1,12 @@
+package com.ghsc.partybuild.mapper;
+
+import com.ghsc.partybuild.vo.publicity.PubDzzfcVo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface PubDzzfcCQuery {
+    List<PubDzzfcVo> selectPubDzzfcList(@Param("id") String id, @Param("dzzdm") String dzzdm,
+                                        @Param("ztmc") String ztmc, @Param("fcType") String fcType);
+
+}

+ 30 - 0
src/main/java/com/ghsc/partybuild/mapper/PubDzzfcMapper.java

@@ -0,0 +1,30 @@
+package com.ghsc.partybuild.mapper;
+
+import com.ghsc.partybuild.model.PubDzzfc;
+import com.ghsc.partybuild.model.PubDzzfcExample;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface PubDzzfcMapper {
+    long countByExample(PubDzzfcExample example);
+
+    int deleteByExample(PubDzzfcExample example);
+
+    int deleteByPrimaryKey(String id);
+
+    int insert(PubDzzfc record);
+
+    int insertSelective(PubDzzfc record);
+
+    List<PubDzzfc> selectByExample(PubDzzfcExample example);
+
+    PubDzzfc selectByPrimaryKey(String id);
+
+    int updateByExampleSelective(@Param("record") PubDzzfc record, @Param("example") PubDzzfcExample example);
+
+    int updateByExample(@Param("record") PubDzzfc record, @Param("example") PubDzzfcExample example);
+
+    int updateByPrimaryKeySelective(PubDzzfc record);
+
+    int updateByPrimaryKey(PubDzzfc record);
+}

+ 135 - 0
src/main/java/com/ghsc/partybuild/model/PubDzzfc.java

@@ -0,0 +1,135 @@
+package com.ghsc.partybuild.model;
+
+import java.util.Date;
+
+public class PubDzzfc {
+    private String id;
+
+    private String dzzdm;
+
+    private String ztmc;
+
+    private Integer fcType;
+
+    private String jj;
+
+    private String nr;
+
+    private String sj;
+
+    private String lj;
+
+    private String remark;
+
+    private Date createTime;
+
+    private String createUserid;
+
+    private Date updateTime;
+
+    private String updateUserid;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id == null ? null : id.trim();
+    }
+
+    public String getDzzdm() {
+        return dzzdm;
+    }
+
+    public void setDzzdm(String dzzdm) {
+        this.dzzdm = dzzdm == null ? null : dzzdm.trim();
+    }
+
+    public String getZtmc() {
+        return ztmc;
+    }
+
+    public void setZtmc(String ztmc) {
+        this.ztmc = ztmc == null ? null : ztmc.trim();
+    }
+
+    public Integer getFcType() {
+        return fcType;
+    }
+
+    public void setFcType(Integer fcType) {
+        this.fcType = fcType;
+    }
+
+    public String getJj() {
+        return jj;
+    }
+
+    public void setJj(String jj) {
+        this.jj = jj == null ? null : jj.trim();
+    }
+
+    public String getNr() {
+        return nr;
+    }
+
+    public void setNr(String nr) {
+        this.nr = nr == null ? null : nr.trim();
+    }
+
+    public String getSj() {
+        return sj;
+    }
+
+    public void setSj(String sj) {
+        this.sj = sj == null ? null : sj.trim();
+    }
+
+    public String getLj() {
+        return lj;
+    }
+
+    public void setLj(String lj) {
+        this.lj = lj == null ? null : lj.trim();
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark == null ? null : remark.trim();
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getCreateUserid() {
+        return createUserid;
+    }
+
+    public void setCreateUserid(String createUserid) {
+        this.createUserid = createUserid == null ? null : createUserid.trim();
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getUpdateUserid() {
+        return updateUserid;
+    }
+
+    public void setUpdateUserid(String updateUserid) {
+        this.updateUserid = updateUserid == null ? null : updateUserid.trim();
+    }
+}

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1081 - 0
src/main/java/com/ghsc/partybuild/model/PubDzzfcExample.java


+ 16 - 0
src/main/java/com/ghsc/partybuild/service/impl/PubDzzfcService.java

@@ -0,0 +1,16 @@
+package com.ghsc.partybuild.service.impl;
+
+import com.ghsc.partybuild.vo.publicity.PubDzzfcVo;
+import com.github.pagehelper.PageInfo;
+
+import java.util.List;
+
+public interface PubDzzfcService {
+    PageInfo<PubDzzfcVo> getList(int pageIndex, int pageSize, String id, String dzzdm, String ztmc, String fcType);
+
+    PubDzzfcVo getPubDzzfcById(String id);
+
+    int save(PubDzzfcVo data, String userId);
+
+    int delete(List<String> idList);
+}

+ 101 - 0
src/main/java/com/ghsc/partybuild/service/impl/publicity/PubDzzfcServiceImpl.java

@@ -0,0 +1,101 @@
+package com.ghsc.partybuild.service.impl.publicity;
+
+import com.ghsc.partybuild.mapper.PubDzzfcCQuery;
+import com.ghsc.partybuild.mapper.PubDzzfcMapper;
+import com.ghsc.partybuild.model.CfDictionary;
+import com.ghsc.partybuild.model.PubDzzfc;
+import com.ghsc.partybuild.model.PubDzzfcExample;
+import com.ghsc.partybuild.service.DictionaryService;
+import com.ghsc.partybuild.service.impl.PubDzzfcService;
+import com.ghsc.partybuild.util.StringUtils;
+import com.ghsc.partybuild.vo.publicity.PubDzzfcVo;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+@Service("PubDzzfcService")
+public class PubDzzfcServiceImpl implements PubDzzfcService {
+    @Autowired
+    private PubDzzfcMapper pubDzzfcMapper;
+    @Autowired
+    private PubDzzfcCQuery pubDzzfcCQuery;
+    @Autowired
+    private StringUtils stringUtils;
+    @Autowired
+    private DictionaryService dictionaryService;
+
+    @Override
+    public PageInfo<PubDzzfcVo> getList(int pageIndex, int pageSize, String id, String dzzdm, String ztmc, String fcType){
+        List<CfDictionary> fcTypeList = dictionaryService.getDictionaryListByDicTypeKey("fcType");
+
+        PageHelper.startPage(pageIndex, pageSize);
+        List<PubDzzfcVo> list = pubDzzfcCQuery.selectPubDzzfcList(id, dzzdm, ztmc, fcType);
+
+        list.forEach(item->{
+            item.setFctypename(dictionaryService.getDicByKey(item.getFcType(), fcTypeList).getDicvalue());
+        });
+
+        PageInfo<PubDzzfcVo> result = new PageInfo(list);
+        return result;
+    }
+
+    @Override
+    public PubDzzfcVo getPubDzzfcById(String id) {
+        if (stringUtils.IsNullOrEmpty(id))
+            return null;
+
+        List<PubDzzfcVo> list = getList(1,999999, id, null, null, null).getList();
+        return list.size() > 0 ? list.get(0) : null;
+    }
+
+    @Override
+    public int save(PubDzzfcVo data, String userId) {
+        int result = 0;
+        PubDzzfc dbModel = pubDzzfcMapper.selectByPrimaryKey(data.getId());
+        if (dbModel == null) {
+            dbModel = new PubDzzfc();
+            dbModel.setId(data.getId());
+            dbModel.setDzzdm(data.getDzzdm());
+            dbModel.setZtmc(data.getZtmc());
+            dbModel.setFcType(data.getFcType());
+            dbModel.setJj(data.getJj());
+            dbModel.setNr(data.getNr());
+            dbModel.setSj(data.getSj());
+            dbModel.setLj(data.getLj());
+            dbModel.setRemark(data.getRemark());
+            dbModel.setCreateTime(new Date());
+            dbModel.setCreateUserid(userId);
+            dbModel.setUpdateTime(new Date());
+            dbModel.setUpdateUserid(userId);
+
+            result = pubDzzfcMapper.insert(dbModel);
+        } else {
+            dbModel.setDzzdm(data.getDzzdm());
+            dbModel.setZtmc(data.getZtmc());
+            dbModel.setFcType(data.getFcType());
+            dbModel.setJj(data.getJj());
+            dbModel.setNr(data.getNr());
+            dbModel.setSj(data.getSj());
+            dbModel.setLj(data.getLj());
+            dbModel.setRemark(data.getRemark());
+            dbModel.setUpdateTime(new Date());
+            dbModel.setUpdateUserid(userId);
+
+            result = pubDzzfcMapper.updateByPrimaryKey(dbModel);
+        }
+        
+        return result;
+    }
+
+    @Override
+    public int delete(List<String> idList) {
+        PubDzzfcExample exp = new PubDzzfcExample();
+        exp.or().andIdIn(idList);
+
+        return pubDzzfcMapper.deleteByExample(exp);
+    }
+}

+ 11 - 0
src/main/java/com/ghsc/partybuild/vo/publicity/PubDzzfcVo.java

@@ -0,0 +1,11 @@
+package com.ghsc.partybuild.vo.publicity;
+
+import com.ghsc.partybuild.model.PubDzzfc;
+import lombok.Data;
+
+
+@Data
+public class PubDzzfcVo extends PubDzzfc {
+    private String dzzmc;
+    private String fctypename;
+}

+ 1 - 0
src/main/resources/generatorConfig.xml

@@ -281,6 +281,7 @@
         <table schema="" tableName="pf_djscgz"></table>
         <table schema="" tableName="pf_jljyxxyhd"></table>
         <table schema="" tableName="pf_jljyxxyhd_fb"></table>
+        <table schema="" tableName="pub_dzzfc"></table>
 
         -->
     </context>

+ 0 - 3
src/main/resources/mapping/PartyLifeMeetingCQuery.xml

@@ -21,9 +21,6 @@
         <if test="partyLifeMeetingType != null">
             and pfm.partyLifeMeetingType = #{partyLifeMeetingType}
         </if>
-        <if test="id != null and id != ''">
-            and pfm.partyLifeMeetingId = #{id}
-        </if>
         <if test="title != null and title != ''">
             and pfm.title like concat('%',#{title},'%')
         </if>

+ 41 - 0
src/main/resources/mapping/PubDzzfcCQuery.xml

@@ -0,0 +1,41 @@
+<?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.ghsc.partybuild.mapper.PubDzzfcCQuery">
+    <resultMap id="BaseResultMap" type="com.ghsc.partybuild.vo.publicity.PubDzzfcVo">
+        <id column="id" jdbcType="VARCHAR" property="id" />
+        <result column="dzzdm" jdbcType="VARCHAR" property="dzzdm" />
+        <result column="ztmc" jdbcType="VARCHAR" property="ztmc" />
+        <result column="fc_type" jdbcType="VARCHAR" property="fcType" />
+        <result column="jj" jdbcType="VARCHAR" property="jj" />
+        <result column="nr" jdbcType="VARCHAR" property="nr" />
+        <result column="sj" jdbcType="VARCHAR" property="sj" />
+        <result column="lj" jdbcType="VARCHAR" property="lj" />
+        <result column="remark" jdbcType="VARCHAR" property="remark" />
+        <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
+        <result column="create_userid" jdbcType="VARCHAR" property="createUserid" />
+        <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
+        <result column="update_userid" jdbcType="VARCHAR" property="updateUserid" />
+        <result column="dzzmc" jdbcType="VARCHAR" property="dzzmc" />
+    </resultMap>
+    <select id="selectPubDzzfcList" resultMap="BaseResultMap">
+        select pd.id, pd.dzzdm, pd.ztmc, pd.fc_type, pd.jj, pd.nr, pd.sj, pd.lj, pd.remark,
+        pd.create_time, pd.create_userid, pd.update_time, pd.update_userid,
+        zz.dzzmc
+        from pub_dzzfc pd
+        left join zz_zzqkxx zz on pd.dzzdm = zz.dzzdm
+        where 1=1
+        <if test="id != null and id != ''">
+            and pd.id = #{id}
+        </if>
+        <if test="dzzdm != null and dzzdm != ''">
+            and pd.dzzdm like concat('%',#{dzzdm},'%')
+        </if>
+        <if test="ztmc != null and ztmc != ''">
+            and pd.ztmc like concat('%',#{ztmc},'%')
+        </if>
+        <if test="fcType != null and fcType != ''">
+            and pd.fc_type = #{fcType}
+        </if>
+        order by pd.create_time desc
+    </select>
+</mapper>

+ 338 - 0
src/main/resources/mapping/PubDzzfcMapper.xml

@@ -0,0 +1,338 @@
+<?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.ghsc.partybuild.mapper.PubDzzfcMapper">
+  <resultMap id="BaseResultMap" type="com.ghsc.partybuild.model.PubDzzfc">
+    <id column="id" jdbcType="VARCHAR" property="id" />
+    <result column="dzzdm" jdbcType="VARCHAR" property="dzzdm" />
+    <result column="ztmc" jdbcType="VARCHAR" property="ztmc" />
+    <result column="fc_type" jdbcType="INTEGER" property="fcType" />
+    <result column="jj" jdbcType="VARCHAR" property="jj" />
+    <result column="nr" jdbcType="VARCHAR" property="nr" />
+    <result column="sj" jdbcType="VARCHAR" property="sj" />
+    <result column="lj" jdbcType="VARCHAR" property="lj" />
+    <result column="remark" jdbcType="VARCHAR" property="remark" />
+    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
+    <result column="create_userid" jdbcType="VARCHAR" property="createUserid" />
+    <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
+    <result column="update_userid" jdbcType="VARCHAR" property="updateUserid" />
+  </resultMap>
+  <sql id="Example_Where_Clause">
+    <where>
+      <foreach collection="oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Update_By_Example_Where_Clause">
+    <where>
+      <foreach collection="example.oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Base_Column_List">
+    id, dzzdm, ztmc, fc_type, jj, nr, sj, lj, remark, create_time, create_userid, update_time, 
+    update_userid
+  </sql>
+  <select id="selectByExample" parameterType="com.ghsc.partybuild.model.PubDzzfcExample" resultMap="BaseResultMap">
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    from pub_dzzfc
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+  </select>
+  <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
+    select 
+    <include refid="Base_Column_List" />
+    from pub_dzzfc
+    where id = #{id,jdbcType=VARCHAR}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
+    delete from pub_dzzfc
+    where id = #{id,jdbcType=VARCHAR}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.ghsc.partybuild.model.PubDzzfcExample">
+    delete from pub_dzzfc
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.ghsc.partybuild.model.PubDzzfc">
+    insert into pub_dzzfc (id, dzzdm, ztmc, 
+      fc_type, jj, nr, sj, 
+      lj, remark, create_time, 
+      create_userid, update_time, update_userid
+      )
+    values (#{id,jdbcType=VARCHAR}, #{dzzdm,jdbcType=VARCHAR}, #{ztmc,jdbcType=VARCHAR}, 
+      #{fcType,jdbcType=INTEGER}, #{jj,jdbcType=VARCHAR}, #{nr,jdbcType=VARCHAR}, #{sj,jdbcType=VARCHAR}, 
+      #{lj,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, 
+      #{createUserid,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, #{updateUserid,jdbcType=VARCHAR}
+      )
+  </insert>
+  <insert id="insertSelective" parameterType="com.ghsc.partybuild.model.PubDzzfc">
+    insert into pub_dzzfc
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        id,
+      </if>
+      <if test="dzzdm != null">
+        dzzdm,
+      </if>
+      <if test="ztmc != null">
+        ztmc,
+      </if>
+      <if test="fcType != null">
+        fc_type,
+      </if>
+      <if test="jj != null">
+        jj,
+      </if>
+      <if test="nr != null">
+        nr,
+      </if>
+      <if test="sj != null">
+        sj,
+      </if>
+      <if test="lj != null">
+        lj,
+      </if>
+      <if test="remark != null">
+        remark,
+      </if>
+      <if test="createTime != null">
+        create_time,
+      </if>
+      <if test="createUserid != null">
+        create_userid,
+      </if>
+      <if test="updateTime != null">
+        update_time,
+      </if>
+      <if test="updateUserid != null">
+        update_userid,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=VARCHAR},
+      </if>
+      <if test="dzzdm != null">
+        #{dzzdm,jdbcType=VARCHAR},
+      </if>
+      <if test="ztmc != null">
+        #{ztmc,jdbcType=VARCHAR},
+      </if>
+      <if test="fcType != null">
+        #{fcType,jdbcType=INTEGER},
+      </if>
+      <if test="jj != null">
+        #{jj,jdbcType=VARCHAR},
+      </if>
+      <if test="nr != null">
+        #{nr,jdbcType=VARCHAR},
+      </if>
+      <if test="sj != null">
+        #{sj,jdbcType=VARCHAR},
+      </if>
+      <if test="lj != null">
+        #{lj,jdbcType=VARCHAR},
+      </if>
+      <if test="remark != null">
+        #{remark,jdbcType=VARCHAR},
+      </if>
+      <if test="createTime != null">
+        #{createTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="createUserid != null">
+        #{createUserid,jdbcType=VARCHAR},
+      </if>
+      <if test="updateTime != null">
+        #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateUserid != null">
+        #{updateUserid,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.ghsc.partybuild.model.PubDzzfcExample" resultType="java.lang.Long">
+    select count(*) from pub_dzzfc
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <update id="updateByExampleSelective" parameterType="map">
+    update pub_dzzfc
+    <set>
+      <if test="record.id != null">
+        id = #{record.id,jdbcType=VARCHAR},
+      </if>
+      <if test="record.dzzdm != null">
+        dzzdm = #{record.dzzdm,jdbcType=VARCHAR},
+      </if>
+      <if test="record.ztmc != null">
+        ztmc = #{record.ztmc,jdbcType=VARCHAR},
+      </if>
+      <if test="record.fcType != null">
+        fc_type = #{record.fcType,jdbcType=INTEGER},
+      </if>
+      <if test="record.jj != null">
+        jj = #{record.jj,jdbcType=VARCHAR},
+      </if>
+      <if test="record.nr != null">
+        nr = #{record.nr,jdbcType=VARCHAR},
+      </if>
+      <if test="record.sj != null">
+        sj = #{record.sj,jdbcType=VARCHAR},
+      </if>
+      <if test="record.lj != null">
+        lj = #{record.lj,jdbcType=VARCHAR},
+      </if>
+      <if test="record.remark != null">
+        remark = #{record.remark,jdbcType=VARCHAR},
+      </if>
+      <if test="record.createTime != null">
+        create_time = #{record.createTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="record.createUserid != null">
+        create_userid = #{record.createUserid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.updateTime != null">
+        update_time = #{record.updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="record.updateUserid != null">
+        update_userid = #{record.updateUserid,jdbcType=VARCHAR},
+      </if>
+    </set>
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByExample" parameterType="map">
+    update pub_dzzfc
+    set id = #{record.id,jdbcType=VARCHAR},
+      dzzdm = #{record.dzzdm,jdbcType=VARCHAR},
+      ztmc = #{record.ztmc,jdbcType=VARCHAR},
+      fc_type = #{record.fcType,jdbcType=INTEGER},
+      jj = #{record.jj,jdbcType=VARCHAR},
+      nr = #{record.nr,jdbcType=VARCHAR},
+      sj = #{record.sj,jdbcType=VARCHAR},
+      lj = #{record.lj,jdbcType=VARCHAR},
+      remark = #{record.remark,jdbcType=VARCHAR},
+      create_time = #{record.createTime,jdbcType=TIMESTAMP},
+      create_userid = #{record.createUserid,jdbcType=VARCHAR},
+      update_time = #{record.updateTime,jdbcType=TIMESTAMP},
+      update_userid = #{record.updateUserid,jdbcType=VARCHAR}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.ghsc.partybuild.model.PubDzzfc">
+    update pub_dzzfc
+    <set>
+      <if test="dzzdm != null">
+        dzzdm = #{dzzdm,jdbcType=VARCHAR},
+      </if>
+      <if test="ztmc != null">
+        ztmc = #{ztmc,jdbcType=VARCHAR},
+      </if>
+      <if test="fcType != null">
+        fc_type = #{fcType,jdbcType=INTEGER},
+      </if>
+      <if test="jj != null">
+        jj = #{jj,jdbcType=VARCHAR},
+      </if>
+      <if test="nr != null">
+        nr = #{nr,jdbcType=VARCHAR},
+      </if>
+      <if test="sj != null">
+        sj = #{sj,jdbcType=VARCHAR},
+      </if>
+      <if test="lj != null">
+        lj = #{lj,jdbcType=VARCHAR},
+      </if>
+      <if test="remark != null">
+        remark = #{remark,jdbcType=VARCHAR},
+      </if>
+      <if test="createTime != null">
+        create_time = #{createTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="createUserid != null">
+        create_userid = #{createUserid,jdbcType=VARCHAR},
+      </if>
+      <if test="updateTime != null">
+        update_time = #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateUserid != null">
+        update_userid = #{updateUserid,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.ghsc.partybuild.model.PubDzzfc">
+    update pub_dzzfc
+    set dzzdm = #{dzzdm,jdbcType=VARCHAR},
+      ztmc = #{ztmc,jdbcType=VARCHAR},
+      fc_type = #{fcType,jdbcType=INTEGER},
+      jj = #{jj,jdbcType=VARCHAR},
+      nr = #{nr,jdbcType=VARCHAR},
+      sj = #{sj,jdbcType=VARCHAR},
+      lj = #{lj,jdbcType=VARCHAR},
+      remark = #{remark,jdbcType=VARCHAR},
+      create_time = #{createTime,jdbcType=TIMESTAMP},
+      create_userid = #{createUserid,jdbcType=VARCHAR},
+      update_time = #{updateTime,jdbcType=TIMESTAMP},
+      update_userid = #{updateUserid,jdbcType=VARCHAR}
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+</mapper>

+ 37 - 0
src/main/resources/static/app/main/app.js

@@ -1521,6 +1521,43 @@
                     $ocLazyLoad.load(['../main/publicity/position/panelEdit.js?' + window.sysVersion]);
                     return $ocLazyLoad.load(['../main/publicity/position/edit.js?' + window.sysVersion]);
                 }]
+            }
+		        }).state("home.pub_dzzfcList", {
+            url: "pub_dzzfcList",
+            templateUrl: "../main/publicity/pubdzzfc/list.html?" + window.sysVersion,
+            controller: "pub_dzzfcListCtrl",
+            resolve: {
+                load: ['$ocLazyLoad', function ($ocLazyLoad) {
+
+                    return $ocLazyLoad.load(['../main/publicity/pubdzzfc/list.js?' + window.sysVersion]);
+                }]
+            }
+        }).state("home.pub_dzzfcAdd", {
+            url: "pub_dzzfcAdd?id&op",
+            templateUrl: "../main/publicity/pubdzzfc/edit.html?" + window.sysVersion,
+            controller: "pub_dzzfcEditCtrl",
+            resolve: {
+                load: ['$ocLazyLoad', function ($ocLazyLoad) {
+                    return $ocLazyLoad.load(['../main/publicity/pubdzzfc/edit.js?' + window.sysVersion]);
+                }]
+            }
+        }).state("home.pub_dzzfcEdit", {
+            url: "pub_dzzfcEdit?id&op",
+            templateUrl: "../main/publicity/pubdzzfc/edit.html?" + window.sysVersion,
+            controller: "pub_dzzfcEditCtrl",
+            resolve: {
+                load: ['$ocLazyLoad', function ($ocLazyLoad) {
+                    return $ocLazyLoad.load(['../main/publicity/pubdzzfc/edit.js?' + window.sysVersion]);
+                }]
+            }
+        }).state("home.pub_dzzfcDetail", {
+            url: "pub_dzzfcShow?id&op",
+            templateUrl: "../main/publicity/pubdzzfc/edit.html?" + window.sysVersion,
+            controller: "pub_dzzfcEditCtrl",
+            resolve: {
+                load: ['$ocLazyLoad', function ($ocLazyLoad) {
+                    return $ocLazyLoad.load(['../main/publicity/pubdzzfc/edit.js?' + window.sysVersion]);
+                }]
             }
         }).state("home.dnpxxx", {
             url: "dnpxxx",

+ 1 - 4
src/main/resources/static/app/main/partylife/djscgz/list.html

@@ -176,10 +176,7 @@
                                     <td>{{it.pxjbtypename}}</td>
                                     <td>{{it.pxlbtypename}}</td>
                                     <td style="min-width: 150px !important;word-wrap: break-word;word-break: break-all;white-space: normal;">{{it.zygzbz}}</td>
-                                    <td>{{it.createusername}}
-                                        <img ng-src="../../api/home/showDbImg/127687" onerror="this.src='images/man.jpg'" width="48" height="48"
-                                             alt="User" style="width: 100px;height: 120px;"/>
-                                    </td>
+                                    <td>{{it.createusername}}</td>
                                     <td>{{it.createTime | date:'yyyy-MM-dd'}}</td>
                                 </tr>
                                 <tr ng-if="dataList.length<=0">

+ 2 - 2
src/main/resources/static/app/main/publicity/position/list.html

@@ -200,8 +200,8 @@
                                     </td>
                                     <td style="width: 120px;">
                                         <img-component data-filerefid="it.PANELID" data-filetypeid="4"
-                                                       data-ismulti="true" data-height="40"
-                                                       data-width="60" data-readonly="false"></img-component>
+                                                       data-ismulti="false" data-height="40"
+                                                       data-width="60" data-readonly="true"></img-component>
                                         <img ng-if="it.PANELID==null || it.PANELID==''" src="images/nopic.png" width="120" height="80"/>
                                     </td>
                                     <td>{{it.POSITIONNAME}}</td>

+ 170 - 0
src/main/resources/static/app/main/publicity/pubdzzfc/edit.html

@@ -0,0 +1,170 @@
+<titlemenu></titlemenu>
+<div class="dj-card">
+    <div class="dj-body" activate-input activate-select>
+        <div class="card">
+            <form class="form-horizontal" role="form" id="dzzfcform"
+                  name="dzzfcform" ng-submit="save(dzzfcform.$valid)" novalidate>
+                <div class="dj-formtable">
+                    <table class="dj-table dj-table3">
+                    <tr>
+                        <th>所属党组织<span style="color:red;">*</span></th>
+                        <td>
+                            <div class="input-group input-group-search"
+                                 title="选择党组织" ng-click="selectParty()">
+                                <input name="dzzmc" type="text" ng-model="dataModel.dzzmc"
+                                       class="form-control" ng-required="true"
+                                       ng-disabled="true"/>
+                                <span class="input-group-addon"><i class="material-icons">search</i></span>
+                            </div>
+                            <span ng-show="this.dzzfcform.partyname.$invalid &&  this.dzzfcform.$submitted"
+                                  class="error">必填.</span>
+                        </td>
+                        <th>主题名称<span style="color:red;">*</span></th>
+                        <td ng-class="{ 'has-error' : this.dzzfcform.ztmc.$invalid &&  this.dzzfcform.$submitted}">
+                            <input type="text" name="ztmc" ng-model="dataModel.ztmc"
+                                   autocomplete="off" autoclose="true"
+                                   class="form-control" ng-required="true"/>
+                            <span ng-show="this.dzzfcform.ztmc.$invalid &&  this.dzzfcform.$submitted"
+                                  class="error">必填.</span>
+                        </td>
+                        <th>类别<span style="color:red;">*</span></th>
+                        <td ng-class="{ 'has-error' : this.dzzfcform.fcType.$invalid &&  this.dzzfcform.$submitted}">
+                            <select class="form-control show-tick"
+                                    ng-model="dataModel.fcType"
+                                    ng-options="type.dickey as type.dicvalue for type in fcTypeList"
+                                    class="form-control"
+                                    name="fcType" ng-required="true">
+                                <option value="" selected>--请选择--</option>
+                            </select>
+                            <span ng-show="this.dzzfcform.fcType.$invalid &&  this.dzzfcform.$submitted"
+                                  class="error">必填.</span>
+                        </td>
+                    </tr>
+                    <tr>
+                        <th>时间<span style="color:red;">*</span></th>
+                        <td ng-class="{ 'has-error' : this.dzzfcform.sj.$invalid &&  this.dzzfcform.$submitted}">
+                            <input name="sj" class="form-control"
+                                   autocomplete="off" autoclose="true"
+                                   data-date-format="yyyy-MM-dd" data-date-type="string"
+                                   ng-model="dataModel.sj"
+                                   ng-required="true"
+                                   placeholder="" bs-datepicker/>
+                            <span ng-show="this.dzzfcform.sj.$invalid &&  this.dzzfcform.$submitted"
+                                  class="error">必填.</span>
+                        </td>
+                        <th>链接</th>
+                        <td>
+                            <input type="text" name="lj" ng-model="dataModel.lj"
+                                   maxlength="500" autocomplete="off" autoclose="true"
+                                   class="form-control" ng-required="true"/>
+                        </td>
+                        <td colspan="2"></td>
+                    </tr>
+                    <tr>
+                        <th>简介</th>
+                        <td colspan="5">
+                            <textarea name="jj" ng-model="dataModel.jj" class="form-control" rows="2"></textarea>
+                        </td>
+                    </tr>
+                    <tr>
+                        <th>内容</th>
+                        <td colspan="5">
+                            <textarea name="nr" ng-model="dataModel.nr" class="form-control" rows="3"></textarea>
+                        </td>
+                    </tr>
+                    <tr>
+                        <th>备注</th>
+                        <td colspan="5">
+                            <textarea name="remark" ng-model="dataModel.remark" class="form-control" rows="3"></textarea>
+                        </td>
+                    </tr>
+                    <tr>
+                        <th>照片</th>
+                        <td colspan="5">
+                            <img-component data-filerefid="dataModel.id" data-filetypeid="4"
+                                           data-ismulti="true" data-height="80"
+                                           data-width="120" data-readonly="false"></img-component>
+                        </td>
+                    </tr>
+                </table>
+            </div>
+            <div class="form_foot">
+                <button type="button" class="btn btn-default" ng-click="pagechange();">取消</button>
+                <button type="submit"
+                        class="btn btn-primary"
+                        ng-click="submitData(this.dzzfcform.$valid)">提交
+                </button>
+            </div>
+        </form>
+        </div>
+    </div>
+</div>
+
+<div ng-if="op==2" class="dj-card">
+    <div class="dj-body" activate-input activate-select>
+        <div class="card">
+            <form role="form" name="dzzfcform" novalidate>
+            <div class="dj-formtable">
+                <table class="dj-table">
+                    <tr>
+                        <th>所属党组织</th>
+                        <td>
+                            {{dataModel.dzzmc}}
+                        </td>
+                        <th>主题名称</th>
+                        <td>
+                            {{dataModel.ztmc}}
+                        </td>
+                    </tr>
+                    <tr>
+                        <th>类别</th>
+                        <td>
+                            {{dataModel.fctypename}}
+                        </td>
+                        <th>时间</th>
+                        <td>
+                            {{dataModel.sj }}
+                        </td>
+                    </tr>
+                    <tr>
+                        <th>链接</th>
+                        <td>
+                            {{dataModel.lj}}
+                        </td>
+                        <th colspan="2"></th>
+                    </tr>
+                    <tr>
+                        <th>简介</th>
+                        <td colspan="5">
+                            {{dataModel.jj}}
+                        </td>
+                    </tr>
+                    <tr>
+                        <th>内容</th>
+                        <td colspan="5">
+                            {{dataModel.nr}}
+                        </td>
+                    </tr>
+                    <tr>
+                        <th>备注</th>
+                        <td colspan="5">
+                            {{dataModel.remark}}
+                        </td>
+                    </tr>
+                    <tr>
+                        <th>图片</th>
+                        <td colspan="5">
+                            <img-component data-filerefid="it.id" data-filetypeid="4"
+                                           data-ismulti="true" data-height="80"
+                                           data-width="120" data-readonly="true"></img-component>
+                        </td>
+                    </tr>
+                </table>
+            </div>
+            <div class="form_foot">
+                <button type="button" class="btn btn-default" ng-click="pagechange();">取消</button>
+            </div>
+        </form>
+        </div>
+    </div>
+</div>

+ 115 - 0
src/main/resources/static/app/main/publicity/pubdzzfc/edit.js

@@ -0,0 +1,115 @@
+(function ($app) {
+    $app.module('gtPartyApp').controller('pub_dzzfcEditCtrl', function ($scope, $http, $modal, $ocLazyLoad, $alert, $loading, $state, $partySelect, $stateParams, $bsRouterState, AuthUser) {
+        $stateParams = $bsRouterState.$params($scope);
+        // $scope.maxDate = moment(new Date()).format("YYYY-MM-DD");
+        $scope.op = $stateParams.op;
+        //定义数据集合
+        $scope.dataModel = {
+            id: $stateParams.id == undefined ? "" : $stateParams.id
+        };
+        $scope.fcTypeList = [];
+
+        //选择党支部begin
+        $scope.partyTreeConfig = {
+            scope: $scope,
+            selectedKey: '',
+            selectedText: '',
+            selectedData: [],
+            isMulti: false,
+            isshowxz: 0
+        };
+        $partySelect.initServer($scope.partyTreeConfig);
+        $scope.selectParty = function () {
+            $partySelect.showModal();
+        };
+        $scope.$watch("partyTreeConfig.selectedKey", function (newVal, oldVal) {
+            if (newVal) {
+                $scope.dataModel.dzzdm = $scope.partyTreeConfig.selectedKey;
+                $scope.dataModel.dzzmc = $scope.partyTreeConfig.selectedText;
+            }
+        }, true);
+
+        $scope.loadData = function () {
+            $http.get("../../api/publicity/dzzfc/get", {
+                params: {
+                    'id': $scope.dataModel.id
+                }
+            }).then(function (result) {
+                $scope.dataModel = result.data.item;
+                if(!$scope.dataModel.dzzdm){
+                    $scope.dataModel.dzzdm = AuthUser.getUser().DPCode;
+                    $scope.dataModel.dzzmc = AuthUser.getUser().DPName;
+                }
+                $scope.getFcTypeList();
+            }, function () {
+                $scope.showMsg('错误', '服务器错误');
+            });
+        };
+
+        //保存
+        $scope.submitData = function (isflag) {
+            if (!isflag) {
+                $scope.showMsg('提示', '请填写相关信息');
+                return false;
+            }
+
+            if (isflag) {
+                $loading.show();
+                $http({
+                    method: "post",
+                    url: "../../api/publicity/dzzfc/save",
+                    data: $scope.dataModel
+                }).then(function (result) {
+                    $loading.hide();
+                    $scope.showMsg('成功', result.data.msg);
+                    //重新刷新列表
+                    $scope.pagechange();
+
+                    $scope.$emit("tabReloadData", {name: 'pub_dzzfcListCtrl', data: 1});
+
+                }, function (resp) {
+                    $loading.hide();
+                    $scope.showMsg('错误', '服务器错误,' + resp.data.message);
+                })
+            }
+        };
+
+        $scope.getFcTypeList = function () {
+            $http({
+                method: 'get',
+                url: '../../api/dictionary/getDictionaryListByDicTypeKey',
+                params: {
+                    dicTypeKey: 'fcType'
+                }
+            }).then(function (result) {
+                $scope.fcTypeList = result.data;
+            }, function (resp) {
+
+            });
+        };
+
+        $scope.loadData();
+
+        $scope.pagechange = function () {
+            var inTab = $bsRouterState.$getRouteType() == 'tab';
+            if (inTab) {
+                $bsRouterState.$closeTab($scope);
+            } else {
+                window.history.back();
+            }
+        };
+
+        $scope.showMsg = function (title, content) {
+            $alert({
+                title: title + ':',
+                content: content,
+                placement: 'top',
+                type: 'info',
+                show: true,
+                duration: 3
+            });
+
+        };
+
+    });
+})(angular);

+ 168 - 0
src/main/resources/static/app/main/publicity/pubdzzfc/list.html

@@ -0,0 +1,168 @@
+<titlemenu></titlemenu>
+<div class="dj-list">
+    <div class="dj-list-body">
+        <div party-tree data-selectdzzdm="treeparams.selectdzzdm" data-selectdzzmc="treeparams.selectdzzmc"
+             data-defaultselected="treeparams.defaultselected" data-isunfold="treeparams.isunfold"></div>
+        <div class="dj-list-content">
+            <div class="card">
+                <div activate-input activate-select class="header search-header">
+                    <div fold-partytree data-isunfold="treeparams.isunfold"></div>
+                    <div class="search-param-panel">
+                        <div class="search-input">
+                            <form class="form-horizontal">
+                                <div class="row clearfix form-inline">
+                                    <div class="col-lg-2 col-md-2 dj-label">
+                                        <label>当前选中组织</label>
+                                    </div>
+                                    <div class="col-lg-2 col-md-2">
+                                        <div class="form-group">
+                                            <div class="form-line">
+                                                <div class="input-group input-group-search">
+                                                    <input name="treeparams" type="text" style="min-width: 90px"
+                                                           ng-model="treeparams.selectdzzmc" class="form-control"
+                                                           ng-disabled="true"/>
+                                                    <span class="input-group-addon"
+                                                          ng-click="setisunfold()">选择</span>
+                                                </div>
+                                            </div>
+                                        </div>
+                                    </div>
+                                    <div class="col-lg-2 col-md-2 dj-label">
+                                        <label>主题名称</label>
+                                    </div>
+                                    <div class="col-lg-2 col-md-2">
+                                        <div class="form-group">
+                                            <div class="form-line">
+                                                <input name="ztmc" class="form-control" type="text" ng-keypress="($event.which === 13)?search():0"
+                                                       ng-model="selectparams.ztmc"
+                                                       placeholder=""/>
+                                            </div>
+                                        </div>
+                                    </div>
+                                    <div class="col-lg-2 col-md-2 dj-label">
+                                        <label>类别</label>
+                                    </div>
+                                    <div class="col-lg-2 col-md-2">
+                                        <div class="form-group">
+                                            <div class="form-line">
+                                                <select class="form-control show-tick" ng-change="search()"
+                                                        ng-model="selectparams.fcType"
+                                                        ng-options="type.dickey as type.dicvalue for type in fcTypeList"
+                                                        class="form-control"
+                                                        name="fcType">
+                                                    <option value="">--全部--</option>
+                                                </select>
+                                            </div>
+                                        </div>
+                                    </div>
+                                </div>
+                            </form>
+                        </div>
+                        <div class="search-btn" style="margin-right: 20px;">
+                            <div style="min-width: 13em">
+                                <button
+                                        class="btn btn-default1"
+                                        ng-click="search()">查询
+                                </button>
+                                <button  class="btn btn-default1 btn-reset"
+                                        ng-click="reset()">重置
+                                </button>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="search-btn" style="margin-right: 20px;">
+                        <div style="float: right">
+                            <button role-permission-code="pub_dzzfcList.btnAdd" class="btn btn-default1"
+                                    ng-click="add()">新增
+                            </button>
+<!--                            <button role-permission-code="pub_dzzfcList.btnExport" class="btn btn-default1"-->
+<!--                                    ng-click="exportData()">导出-->
+<!--                            </button>-->
+                        </div>
+                    </div>
+                </div>
+                <div class="body">
+                    <div class="zero-list-table-panel">
+                        <div class="zero-source-table-div">
+                            <table class="table table-bordered table-striped table-hover js-basic-example dataTable text-nowrap">
+                                <thead>
+                                <tr>
+                                    <th>序号</th>
+                                    <th>所在组织</th>
+                                    <th>主题名称</th>
+                                    <th>类型</th>
+                                    <th>简介</th>
+                                    <th>时间</th>
+                                    <th>照片</th>
+                                    <th>链接</th>
+                                    <th>备注</th>
+                                </tr>
+                                </thead>
+                                <tbody>
+                                <tr ng-repeat="it in dataList">
+                                    <td scope="row" class="text-center">
+                                        {{selectparams.pagesize*(selectparams.pageindex-1)+$index+1}}
+                                    </td>
+                                    <td>{{it.dzzmc}}</td>
+                                    <td>{{it.ztmc}}</td>
+                                    <td>{{it.fctypename}}</td>
+                                    <td style="min-width: 150px !important;word-wrap: break-word;word-break: break-all;white-space: normal;">{{it.jj}}</td>
+                                    <td>{{it.sj}}</td>
+                                    <td style="width: 150px;">
+                                        <img-component data-filerefid="it.id" data-filetypeid="4"
+                                                       data-ismulti="false" data-height="40"
+                                                       data-width="60" data-readonly="true"></img-component>
+                                        <img ng-if="it.id==null || it.id==''" src="images/nopic.png" width="120" height="80"/>
+                                    </td>
+                                    <td style="min-width: 150px !important;word-wrap: break-word;word-break: break-all;white-space: normal;">{{it.lj}}</td>
+                                    <td style="min-width: 150px !important;word-wrap: break-word;word-break: break-all;white-space: normal;">{{it.remark}}</td>
+                                </tr>
+                                <tr ng-if="pageInfo.ptotal==0">
+                                    <td colspan="12" style="text-align:center">暂无数据</td>
+                                </tr>
+                                </tbody>
+                            </table>
+                        </div>
+                        <div class="zero-target-table-div">
+                            <table class="table table-bordered table-striped table-hover js-basic-example dataTable text-nowrap">
+                                <thead>
+                                <tr>
+                                    <th>操作</th>
+                                </tr>
+                                </thead>
+                                <tbody>
+                                <tr ng-repeat="it in dataList" zero-table-height>
+                                    <td class="text-center">
+                                        <button class="btn td-btn bg-light-green waves-effect"
+                                                ng-click="show(it.id)"
+                                                title="查看">
+                                            查看
+                                        </button>
+                                        <button
+                                                role-permission-code="pub_dzzfcList.btnUpdate"
+                                                class="btn td-btn bg-light-green waves-effect"
+                                                ng-click="edit(it.id)"
+                                                title="编辑">
+                                            编辑
+                                        </button>
+                                        <button class="btn td-btn bg-light-green waves-effect"
+                                                ng-click="delete(it.id)"
+                                                title="删除">
+                                            删除
+                                        </button>
+                                    </td>
+                                </tr>
+                                <tr ng-if="pageInfo.ptotal==0">
+                                    <td colspan="1" style="text-align:center">无</td>
+                                </tr>
+                                </tbody>
+                            </table>
+                        </div>
+                    </div>
+                    <pagination data-pageindex="selectparams.pageindex" data-pagesize="selectparams.pagesize"
+                                data-ptotal="pageInfo.ptotal"></pagination>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>

+ 172 - 0
src/main/resources/static/app/main/publicity/pubdzzfc/list.js

@@ -0,0 +1,172 @@
+(function ($app) {
+    $app.module('gtPartyApp').controller('pub_dzzfcListCtrl', function ($scope, $http, $modal, $ocLazyLoad, $alert, $loading, $state, $bsRouterState, AuthUser, $timeout, $excel, $partySelect, $filter) {
+        $scope.loginUserId = AuthUser.getUser().Id;
+        $scope.isAll = false;
+        $scope.tabNameAdd = "home.pub_dzzfcAdd";
+        $scope.tabNameEdit = "home.pub_dzzfcEdit";
+        $scope.tabNameDetail = "home.pub_dzzfcDetail";
+
+        //定义数据集合
+        $scope.dataList = []; //列表数据
+        $scope.fcTypeList = [];
+        //组织树参数
+        $scope.treeparams = {
+            isunfold: false,//组织结构树展开收缩
+            selectdzzdm: "",
+            selectdzzmc: "",
+            defaultselected: ''
+        };
+        $scope.resetTreeparams = angular.copy($scope.treeparams);
+
+        //查询条件
+        $scope.selectparams = {
+            pageindex: 1,
+            pagesize: 10,
+            dzzdm: '',
+            ztmc: '',
+            fcType: ''
+        };
+        $scope.resetSelectparams = angular.copy($scope.selectparams);
+        $scope.pageInfo = {ptotal: 0};
+
+        $scope.$on('tabChildReloadData', function (event, data) {
+            if (data.name == 'pub_dzzfcListCtrl') {
+                $scope.loadData();
+            }
+        });
+
+        $scope.loadFcTypes=function(){
+
+            $http({
+                method: 'get',
+                url: '../../api/dictionary/getDictionaryListByDicTypeKey',
+                params: {dicTypeKey: 'fcType'}
+            }).then(function (result) {
+                $scope.fcTypeList = result.data;
+            }, function (resp) {
+
+            });
+        };
+        $scope.loadFcTypes();
+
+        //加载列表数据
+        $scope.loadData = function () {
+            $http
+            ({
+                method: 'get', url: '../../api/publicity/dzzfc/getList', params: $scope.selectparams
+            }).then(function (result) {
+                $scope.dataList = result.data.item.list;
+                $scope.pageInfo.ptotal = result.data.item.total;
+            }, function (res) {
+                $scope.showMsg('错误', '服务器错误');
+            });
+        };
+
+        $scope.search = function () {
+            $scope.loadData();
+        };
+
+        $scope.selectAll = function () {
+            $scope.isAll = !$scope.isAll;
+            angular.forEach($scope.dataList, function (item) {
+                item.checked = $scope.isAll ? 1 : 0;
+            });
+        };
+
+        //查看
+        $scope.show = function (id) {
+            $bsRouterState.$closeTabName($scope.tabNameDetail);
+            $timeout(function () {
+                $bsRouterState.go($scope.tabNameDetail, {
+                    id: id,
+                    op:3
+                });
+            }, 100);
+        };
+
+        //新增
+        $scope.add = function () {
+            $bsRouterState.$closeTabName($scope.tabNameAdd);
+            $timeout(function () {
+                $bsRouterState.go($scope.tabNameAdd, {
+                    id: "",
+                    op:0
+                });
+            }, 100);
+        };
+
+        //修改
+        $scope.edit = function (id) {
+            $bsRouterState.$closeTabName($scope.tabNameEdit);
+            $timeout(function () {
+                $bsRouterState.go($scope.tabNameEdit, {
+                    id: id,
+                    op:1
+                });
+            }, 100);
+        };
+
+        $scope.delete = function (id) {
+            var ids = [];
+            if (id)
+                ids.push(id);
+            else
+                ids = $scope.dataList.filter(it => it.checked == true).map(it => it.id);
+
+            if (ids.length == 0) {
+                $scope.showMsg('消息', "请选择需要删除的数据");
+                return false;
+            }
+
+            if (confirm("确定删除?")) {
+                $loading.show();
+                $http({
+                    method: "post",
+                    url: "../../api/publicity/dzzfc/delete",
+                    data: {
+                        ids: JSON.stringify(ids)
+                    }
+                }).then(function (result) {
+                    $loading.hide();
+                    if (result.data.success) {
+                        $scope.showMsg('成功', result.data.msg);
+                        //重新刷新列表
+                        $scope.loadData();
+                    } else {
+                        $scope.showMsg('失败', result.data.msg);
+                    }
+                }, function (resp) {
+                    $scope.showMsg('错误', '服务器错误');
+                });
+            }
+        };
+
+        $scope.$watch("selectparams.pageindex", function (newVal, oldVal) {
+            if ($scope.pageInfo.ptotal > 0) {
+                $scope.loadData();
+            }
+        });
+        $scope.$watch("treeparams.selectdzzdm", function (newVal, oldVal) {
+            if (newVal != "") {
+                if ($scope.treeparams.defaultselected != "" && $scope.treeparams.defaultselected != null &&
+                    $scope.treeparams.defaultselected != $scope.treeparams.selectdzzdm)
+                    return;
+
+                $scope.selectparams.dzzdm = $scope.treeparams.selectdzzdm;
+
+                $scope.loadData();
+            }
+        });
+        $scope.setisunfold = function () {
+            $scope.treeparams.isunfold = !$scope.treeparams.isunfold;
+            $scope.$emit('menudatas.toggle', !$scope.treeparams.isunfold);
+        };
+        $scope.reset = function () {
+            $scope.selectparams = angular.copy($scope.resetSelectparams);
+            $scope.treeparams = angular.copy($scope.resetTreeparams);
+            $scope.loadData();
+        };
+
+        $scope.loadData();
+    });
+})(angular);