Commit 03c4aa91bd842695468c05332057270cb0e00433

Authored by yangfei
1 parent 40110feb70
Exists in master

内容管理

Showing 17 changed files with 434 additions and 172 deletions

parent/base.common/src/main/java/com/lyms/base/common/dao/content/ContentMessageTemplateMapper.xml View file @ 03c4aa9
... ... @@ -27,7 +27,7 @@
27 27  
28 28  
29 29 <select id="getContentMessageTemplate" resultType="com.lyms.base.common.vo.content.ContentMessageTemplateDTO" parameterType="com.lyms.base.common.vo.content.MsgTempSerachDTO">
30   - select m.id as id,m.CONTENT as content,t.TAGS_IDS as contentTagIds from CONTENT_MESSAGE_TEMPLATE m left join CONTENT_TEMPLATE_MESSAGE_TAGS t on m.ID = t.MESSAGE_TEMPLATE
  30 + select m.KEY_CODE as keyCode,m.IFDEL as ifdel,m.ENABLE as enable, m.IS_RICH as isRich,m.RICH_TITLE as richTitle,m.RICH_TEXT as richText,m.id as id,m.CONTENT as content,group_concat(t.TAGS_IDS ) as contentTagIds from CONTENT_MESSAGE_TEMPLATE m left join CONTENT_TEMPLATE_MESSAGE_TAGS t on m.ID = t.MESSAGE_TEMPLATE
31 31 <where>
32 32 <if test="verId!=null">
33 33 and m.TEMPLATE_VERSION_ID =#{verId}
... ... @@ -39,8 +39,7 @@
39 39 and t.TAGS_IDS LIKE concat("%,",#{tagId},",%")
40 40 </if>
41 41 </where>
42   -
43   -
  42 + GROUP BY m.ID
44 43 </select>
45 44  
46 45 </mapper>
parent/base.common/src/main/java/com/lyms/base/common/dao/content/ContentTagsMapper.java View file @ 03c4aa9
... ... @@ -19,9 +19,8 @@
19 19 */
20 20 @Repository
21 21 public interface ContentTagsMapper extends BaseMapper<ContentTags> {
22   -
23   - public Integer deleteLogicById(Serializable id);
24   -
  22 + public Integer deleteLogicById(Serializable id);
25 23 public List<ContentTags> getTags(Page<ContentTags> page, @Param("name") String name);
  24 + public List<ContentTags> getTags();
26 25 }
parent/base.common/src/main/java/com/lyms/base/common/dao/content/ContentTagsMapper.xml View file @ 03c4aa9
... ... @@ -25,11 +25,12 @@
25 25 </sql>
26 26  
27 27 <select id="getTags" resultMap="BaseResultMap" parameterType="java.lang.String">
28   - select ID,TAG_NAME,TAG_DESC,`LEVEL`,PERENT_ID from CONTENT_TAGS
  28 + select ID,TAG_NAME,TAG_DESC,`LEVEL`,PERENT_ID,ENABLE from CONTENT_TAGS
29 29 <where>
30 30 <if test="name !=null">
31   - and `TAG_NAME` LIKE concat('%',#{name},"%");
  31 + AND `TAG_NAME` LIKE concat('%',#{name},"%")
32 32 </if>
  33 + AND IFDEL = 0
33 34 </where>
34 35 </select>
35 36 </mapper>
parent/base.common/src/main/java/com/lyms/base/common/entity/content/ContentMessageTemplate.java View file @ 03c4aa9
... ... @@ -38,7 +38,8 @@
38 38 /**
39 39 * 是否图文
40 40 */
41   - private String isRich;
  41 + @TableField(value="IS_RICH")
  42 + private int isRich;
42 43 /**
43 44 * 富文本标题
44 45 */
45 46  
... ... @@ -143,11 +144,11 @@
143 144 this.keyCode = keyCode;
144 145 }
145 146  
146   - public String getIsRich() {
  147 + public int getIsRich() {
147 148 return isRich;
148 149 }
149 150  
150   - public void setIsRich(String isRich) {
  151 + public void setIsRich(int isRich) {
151 152 this.isRich = isRich;
152 153 }
153 154  
parent/base.common/src/main/java/com/lyms/base/common/entity/content/ContentTags.java View file @ 03c4aa9
... ... @@ -86,6 +86,24 @@
86 86 @TableField(value="ENABLE")
87 87 private Integer enable;
88 88  
  89 + @Override
  90 + public String toString() {
  91 + return "ContentTags{" +
  92 + "id='" + id + '\'' +
  93 + ", tagName='" + tagName + '\'' +
  94 + ", tagDesc='" + tagDesc + '\'' +
  95 + ", level=" + level +
  96 + ", perentId='" + perentId + '\'' +
  97 + ", createTime=" + createTime +
  98 + ", createId='" + createId + '\'' +
  99 + ", createName='" + createName + '\'' +
  100 + ", modifyId='" + modifyId + '\'' +
  101 + ", modifyName='" + modifyName + '\'' +
  102 + ", modifyTime=" + modifyTime +
  103 + ", ifdel=" + ifdel +
  104 + ", enable=" + enable +
  105 + '}';
  106 + }
89 107  
90 108 public String getId() {
91 109 return id;
parent/base.common/src/main/java/com/lyms/base/common/service/content/ContentMessageTemplateService.java View file @ 03c4aa9
... ... @@ -27,7 +27,7 @@
27 27 */
28 28 public Integer deleteLogicById(Serializable id);
29 29  
30   - public Page<ContentMessageTemplateDTO> getContentMessageTemplate(Page<ContentMessageTemplateDTO> page, MsgTempSerachDTO msgTemp);
  30 + public List<ContentMessageTemplateDTO> getContentMessageTemplate(Page<ContentMessageTemplateDTO> page, MsgTempSerachDTO msgTemp);
31 31  
32 32 public List<ContentMessageTemplateDTO> getContentMessageTemplate(MsgTempSerachDTO msgTemp);
33 33  
parent/base.common/src/main/java/com/lyms/base/common/service/content/ContentTagsService.java View file @ 03c4aa9
... ... @@ -5,6 +5,7 @@
5 5 import com.lyms.web.service.BaseService;
6 6  
7 7 import java.io.Serializable;
  8 +import java.util.List;
8 9  
9 10 /**
10 11 * <p>
... ... @@ -24,5 +25,7 @@
24 25 public Integer deleteLogicById(Serializable id);
25 26  
26 27 public Page<ContentTags> getTags(Page<ContentTags> page, String name);
  28 +
  29 + public List<ContentTags> getTags();
27 30 }
parent/base.common/src/main/java/com/lyms/base/common/service/content/impl/ContentMessageTemplateServiceImpl.java View file @ 03c4aa9
... ... @@ -28,10 +28,9 @@
28 28 }
29 29  
30 30 @Override
31   - public Page<ContentMessageTemplateDTO> getContentMessageTemplate(Page<ContentMessageTemplateDTO> page, MsgTempSerachDTO msgTemp) {
  31 + public List<ContentMessageTemplateDTO> getContentMessageTemplate(Page<ContentMessageTemplateDTO> page, MsgTempSerachDTO msgTemp) {
32 32 List<ContentMessageTemplateDTO> lists = baseMapper.getContentMessageTemplate(page, msgTemp);
33   - page.setRecords(lists);
34   - return page;
  33 + return lists;
35 34 }
36 35  
37 36 @Override
parent/base.common/src/main/java/com/lyms/base/common/service/content/impl/ContentTagsServiceImpl.java View file @ 03c4aa9
... ... @@ -5,9 +5,12 @@
5 5 import com.lyms.base.common.dao.content.ContentTagsMapper;
6 6 import com.lyms.base.common.entity.content.ContentTags;
7 7 import com.lyms.base.common.service.content.ContentTagsService;
  8 +import com.lyms.util.StrUtils;
8 9 import org.springframework.stereotype.Service;
9 10  
  11 +import javax.annotation.PostConstruct;
10 12 import java.io.Serializable;
  13 +import java.util.HashMap;
11 14 import java.util.List;
12 15  
13 16 /**
14 17  
... ... @@ -25,11 +28,45 @@
25 28 return baseMapper.deleteLogicById(id);
26 29 }
27 30  
  31 + public static HashMap<String,String> tagsMap = new HashMap<>();
  32 +
  33 + @PostConstruct
  34 + public void initData(){
  35 + List<ContentTags> tagsList = baseMapper.getTags();
  36 + for(ContentTags conTag:tagsList){
  37 + tagsMap.put(conTag.getId(),conTag.getTagName());
  38 + }
  39 + }
  40 +
  41 + public static String getValue(String key){
  42 + if(StrUtils.isEmpty(key)){
  43 + return "";
  44 + }else{
  45 + return tagsMap.get(key);
  46 + }
  47 + }
  48 +
  49 + public static void setValue(String key,String value){
  50 + tagsMap.put(key,value);
  51 + }
  52 +
  53 + public static void updateValues(List<ContentTags> tagsList){
  54 + for(ContentTags conTag:tagsList){
  55 + tagsMap.put(conTag.getId(),conTag.getTagName());
  56 + }
  57 + }
  58 +
28 59 @Override
29 60 public Page<ContentTags> getTags(Page<ContentTags> page, String name) {
30 61 List<ContentTags> lists = baseMapper.getTags(page, name);
31 62 page.setRecords(lists);
32 63 return page;
  64 + }
  65 +
  66 + @Override
  67 + public List<ContentTags> getTags() {
  68 + List<ContentTags> lists = baseMapper.getTags();
  69 + return lists;
33 70 }
34 71 }
parent/base.common/src/main/java/com/lyms/base/common/service/content/impl/ContentTemplateVersionServiceImpl.java View file @ 03c4aa9
1 1 package com.lyms.base.common.service.content.impl;
2 2  
3   -import java.io.Serializable;
4   -import java.util.Date;
5   -
6   -import org.springframework.stereotype.Service;
7   -import org.springframework.transaction.annotation.Transactional;
8   -
9 3 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
10 4 import com.lyms.base.common.dao.content.ContentTemplateVersionMapper;
11 5 import com.lyms.base.common.entity.content.ContentTemplateVersion;
12 6 import com.lyms.base.common.service.content.ContentTemplateVersionService;
13 7 import com.lyms.exception.SystemException;
14   -import com.lyms.util.StrUtils;
  8 +import org.springframework.stereotype.Service;
  9 +import org.springframework.transaction.annotation.Transactional;
15 10  
  11 +import java.io.Serializable;
  12 +import java.util.Date;
  13 +
16 14 /**
17 15 * <p>
18 16 * 消息模板版本 服务实现类
... ... @@ -33,7 +31,6 @@
33 31 public boolean create(ContentTemplateVersion templateVersion) throws SystemException {
34 32 if (templateVersion == null)
35 33 return false;
36   - templateVersion.setId(StrUtils.uuid());
37 34 templateVersion.setCreateTime(new Date());
38 35 Integer tag = baseMapper.insert(templateVersion);
39 36  
parent/base.common/src/main/java/com/lyms/base/common/vo/content/ContentMessageTemplateDTO.java View file @ 03c4aa9
1 1 package com.lyms.base.common.vo.content;
2 2  
  3 +import com.baomidou.mybatisplus.annotations.TableField;
  4 +
3 5 public class ContentMessageTemplateDTO {
4 6 /**
5 7 * 主键ID
6 8  
7 9  
... ... @@ -14,10 +16,18 @@
14 16 */
15 17 private String content;
16 18 /**
17   - * 图文信息ID
  19 + * 富文本标题
18 20 */
19   - private String articlesId;
  21 + private String richTitle;
20 22 /**
  23 + * 富文本内容
  24 + */
  25 + private String richText;
  26 + /**
  27 + * 是否图文
  28 + */
  29 + private int isRich;
  30 + /**
21 31 * 标志键
22 32 */
23 33 private String keyCode;
24 34  
... ... @@ -25,7 +35,57 @@
25 35 * 标签集合
26 36 */
27 37 private String contentTagIds;
  38 + /**
  39 + * 是否删除
  40 + */
  41 + @TableField(value="IFDEL")
  42 + private Integer ifdel;
  43 + /**
  44 + * 是否启用
  45 + */
  46 + @TableField(value="ENABLE")
  47 + private Integer enable;
28 48  
  49 + public Integer getIfdel() {
  50 + return ifdel;
  51 + }
  52 +
  53 + public void setIfdel(Integer ifdel) {
  54 + this.ifdel = ifdel;
  55 + }
  56 +
  57 + public Integer getEnable() {
  58 + return enable;
  59 + }
  60 +
  61 + public void setEnable(Integer enable) {
  62 + this.enable = enable;
  63 + }
  64 +
  65 + public String getRichTitle() {
  66 + return richTitle;
  67 + }
  68 +
  69 + public void setRichTitle(String richTitle) {
  70 + this.richTitle = richTitle;
  71 + }
  72 +
  73 + public String getRichText() {
  74 + return richText;
  75 + }
  76 +
  77 + public void setRichText(String richText) {
  78 + this.richText = richText;
  79 + }
  80 +
  81 + public int getIsRich() {
  82 + return isRich;
  83 + }
  84 +
  85 + public void setIsRich(int isRich) {
  86 + this.isRich = isRich;
  87 + }
  88 +
29 89 public String getId() {
30 90 return id;
31 91 }
... ... @@ -48,14 +108,6 @@
48 108  
49 109 public void setContent(String content) {
50 110 this.content = content;
51   - }
52   -
53   - public String getArticlesId() {
54   - return articlesId;
55   - }
56   -
57   - public void setArticlesId(String articlesId) {
58   - this.articlesId = articlesId;
59 111 }
60 112  
61 113 public String getKeyCode() {
parent/base.common/src/main/java/com/lyms/base/common/vo/content/InContentMessageTemplateDTO.java View file @ 03c4aa9
1 1 package com.lyms.base.common.vo.content;
2 2  
  3 +import org.springframework.web.util.HtmlUtils;
  4 +
3 5 import java.util.List;
4 6  
5 7 public class InContentMessageTemplateDTO {
... ... @@ -24,6 +26,10 @@
24 26 */
25 27 private String richText;
26 28 /**
  29 + * 是否图文
  30 + */
  31 + private int isRich;
  32 + /**
27 33 * 标志键
28 34 */
29 35 private String keyCode;
... ... @@ -40,6 +46,14 @@
40 46 this.id = id;
41 47 }
42 48  
  49 + public int getIsRich() {
  50 + return isRich;
  51 + }
  52 +
  53 + public void setIsRich(int isRich) {
  54 + this.isRich = isRich;
  55 + }
  56 +
43 57 public String getTemplateVersionId() {
44 58 return templateVersionId;
45 59 }
... ... @@ -65,7 +79,7 @@
65 79 }
66 80  
67 81 public String getRichText() {
68   - return richText;
  82 + return HtmlUtils.htmlUnescape(richText);
69 83 }
70 84  
71 85 public void setRichText(String richText) {
parent/center.manager/src/main/java/com/lyms/cm/controller/content/ContentMessageTemplateController.java View file @ 03c4aa9
... ... @@ -2,8 +2,10 @@
2 2  
3 3 import com.baomidou.mybatisplus.plugins.Page;
4 4 import com.lyms.base.common.entity.content.ContentMessageTemplate;
  5 +import com.lyms.base.common.entity.content.ContentTemplateMessageTags;
5 6 import com.lyms.base.common.service.content.ContentMessageTemplateService;
6 7 import com.lyms.base.common.service.content.ContentTemplateMessageTagsService;
  8 +import com.lyms.base.common.service.content.impl.ContentTagsServiceImpl;
7 9 import com.lyms.base.common.vo.content.ContentMessageTemplateDTO;
8 10 import com.lyms.base.common.vo.content.InContentMessageTemplateDTO;
9 11 import com.lyms.base.common.vo.content.MsgTempSerachDTO;
... ... @@ -17,6 +19,7 @@
17 19 import org.springframework.web.bind.annotation.*;
18 20  
19 21 import java.util.Date;
  22 +import java.util.List;
20 23 import java.util.Map;
21 24  
22 25 /**
23 26  
... ... @@ -52,9 +55,15 @@
52 55 * @return
53 56 */
54 57 @RequestMapping(value = { "/{verId}/toEdit" }, method = RequestMethod.GET)
55   - public String toEdit(@PathVariable String verId, Model model) {
  58 + public String toEdit(@PathVariable String verId,String id,String vName, Model model) {
56 59 model.addAttribute("verId", verId);
57   - return "/content/template_edit";
  60 + model.addAttribute("vName", vName);
  61 + model.addAttribute("id", id);
  62 + if(StrUtils.isNotEmpty(id)){//查询
  63 + ContentMessageTemplate tempInfo = messageTemplateService.selectById(id);
  64 + model.addAttribute("tempInfo",tempInfo);
  65 + }
  66 + return "/content/template_edit";
58 67 }
59 68  
60 69 /**
... ... @@ -66,7 +75,21 @@
66 75 @RequestMapping(value = "/list", method = { RequestMethod.GET, RequestMethod.POST })
67 76 public Map<String, Object> list(MsgTempSerachDTO msgTemp) {
68 77 Page<ContentMessageTemplateDTO> page = getPage();
69   - page = messageTemplateService.getContentMessageTemplate(page,msgTemp);
  78 + List<ContentMessageTemplateDTO> cmtdList = messageTemplateService.getContentMessageTemplate(page,msgTemp);
  79 + for(ContentMessageTemplateDTO ct : cmtdList){
  80 + StringBuffer tagsBf = new StringBuffer();
  81 + String[] contentTags = ct.getContentTagIds().split(",");
  82 + for(String s:contentTags){
  83 + if(StrUtils.isEmpty(s)){
  84 + continue;
  85 + }
  86 + tagsBf.append(ContentTagsServiceImpl.getValue(s)+",");
  87 + }
  88 + ct.setContentTagIds(tagsBf.substring(0,tagsBf.length()-1).toString());
  89 + System.out.println("标签名:--------------->"+ct.getContentTagIds());
  90 + }
  91 +
  92 + page.setRecords(cmtdList);
70 93 return toGridData(page);
71 94 }
72 95  
73 96  
74 97  
75 98  
... ... @@ -82,18 +105,25 @@
82 105 public AjaxResult create(@ModelAttribute InContentMessageTemplateDTO contentMessage, AjaxResult ajaxResult) {
83 106 ContentMessageTemplate messTemp = new ContentMessageTemplate();
84 107 messTemp.setId(StrUtils.uuid());
  108 + messTemp.setEnable(0);
  109 + messTemp.setIfdel(0);
85 110 messTemp.setCreateTime(new Date());
86   - messTemp.setEnable(0);
87   - messTemp.setIfdel(0);
88 111 messTemp.setKeyCode(messTemp.getId());
89 112 messTemp.setContent(contentMessage.getContent());
90 113 messTemp.setRichTitle(contentMessage.getRichTitle());
91 114 messTemp.setRichText(contentMessage.getRichText());
92 115 messTemp.setTemplateVersionId(contentMessage.getTemplateVersionId());
  116 + messTemp.setIsRich(contentMessage.getIsRich());
  117 + for(String tags : contentMessage.getContentTagIds()){
  118 + ContentTemplateMessageTags ctmt = new ContentTemplateMessageTags();
  119 + ctmt.setId(StrUtils.uuid());
  120 + ctmt.setMessageTemplate(messTemp.getId());
  121 + ctmt.setTagsIds(tags);
  122 + messageTagsService.insert(ctmt);
  123 + }
93 124 boolean tag = messageTemplateService.insert(messTemp);
94 125 return handleAjaxResult(ajaxResult, tag, OperationName.CREATE);
95 126 }
96 127  
97 128 }
98   -
parent/center.manager/src/main/java/com/lyms/cm/controller/content/ContentTagsController.java View file @ 03c4aa9
... ... @@ -3,6 +3,7 @@
3 3 import com.baomidou.mybatisplus.plugins.Page;
4 4 import com.lyms.base.common.entity.content.ContentTags;
5 5 import com.lyms.base.common.service.content.ContentTagsService;
  6 +import com.lyms.base.common.service.content.impl.ContentTagsServiceImpl;
6 7 import com.lyms.base.common.vo.content.ContentTagsDTO;
7 8 import com.lyms.constants.OperationName;
8 9 import com.lyms.util.StrUtils;
... ... @@ -96,6 +97,9 @@
96 97 cts.setTagDesc(ctd.getTagDesc());
97 98 cts.setPerentId(ctd.getPerentId());
98 99 boolean tag = contentTagsService.insert(cts);
  100 + if(tag){
  101 + ContentTagsServiceImpl.setValue(cts.getId(),cts.getTagName());
  102 + }
99 103 return handleAjaxResult(ajaxResult, tag, OperationName.CREATE);
100 104 }
101 105  
parent/center.manager/src/main/java/com/lyms/cm/controller/content/ContentTemplateVersionController.java View file @ 03c4aa9
... ... @@ -2,8 +2,11 @@
2 2  
3 3 import com.baomidou.mybatisplus.mapper.EntityWrapper;
4 4 import com.baomidou.mybatisplus.plugins.Page;
  5 +import com.lyms.base.common.entity.content.ContentMessageTemplate;
  6 +import com.lyms.base.common.entity.content.ContentTemplateMessageTags;
5 7 import com.lyms.base.common.entity.content.ContentTemplateVersion;
6 8 import com.lyms.base.common.service.content.ContentMessageTemplateService;
  9 +import com.lyms.base.common.service.content.ContentTemplateMessageTagsService;
7 10 import com.lyms.base.common.service.content.ContentTemplateVersionService;
8 11 import com.lyms.base.common.vo.content.ContentMessageTemplateDTO;
9 12 import com.lyms.base.common.vo.content.MsgTempSerachDTO;
... ... @@ -18,6 +21,7 @@
18 21 import org.springframework.web.bind.annotation.RequestMethod;
19 22 import org.springframework.web.bind.annotation.ResponseBody;
20 23  
  24 +import java.util.Date;
21 25 import java.util.List;
22 26 import java.util.Map;
23 27  
... ... @@ -37,6 +41,9 @@
37 41 //模板信息
38 42 @Autowired
39 43 private ContentMessageTemplateService messageTemplateService;
  44 + //模板信息标签
  45 + @Autowired
  46 + private ContentTemplateMessageTagsService messageTagsService;
40 47 /**
41 48 * 列表
42 49 * @param model
43 50  
... ... @@ -65,12 +72,42 @@
65 72 @RequestMapping(value = "/create", method = { RequestMethod.POST })
66 73 public AjaxResult create(ContentTemplateVersion templateVersion,String perId, AjaxResult ajaxResult) {
67 74 boolean tag = false;
  75 + templateVersion.setId(StrUtils.uuid());
  76 +
68 77 if(StrUtils.isNotEmpty(perId)){//复制版本
69 78 MsgTempSerachDTO msgTemp = new MsgTempSerachDTO();
70 79 msgTemp.setVerId(perId);
71 80 List<ContentMessageTemplateDTO> messageList = messageTemplateService.getContentMessageTemplate(msgTemp);
72 81 for(ContentMessageTemplateDTO ctd : messageList){
73   - System.out.println("tagsId:"+ctd.getContentTagIds());
  82 + String[] tagIds = ctd.getContentTagIds().split(",,,");
  83 + ContentMessageTemplate messTemp = new ContentMessageTemplate();
  84 + messTemp.setId(StrUtils.uuid());
  85 + messTemp.setCreateTime(new Date());
  86 + messTemp.setKeyCode(ctd.getKeyCode());
  87 + messTemp.setContent(ctd.getContent());
  88 + messTemp.setRichTitle(ctd.getRichTitle());
  89 + messTemp.setRichText(ctd.getRichText());
  90 + messTemp.setIsRich(ctd.getIsRich());
  91 + messTemp.setTemplateVersionId(templateVersion.getId());
  92 + messTemp.setEnable(ctd.getEnable());
  93 + messTemp.setIfdel(ctd.getIfdel());
  94 + for(int i =0;i<tagIds.length;i++) {
  95 + String tagId = tagIds[i];
  96 + System.out.println("tagsId前---------------->:" + tagId);
  97 + if(tagId.indexOf(",")!=0){
  98 + tagId = ","+tagId;
  99 + }
  100 + if(tagId.lastIndexOf(",")!=tagId.length()-1){
  101 + tagId = tagId+",";
  102 + }
  103 + ContentTemplateMessageTags ctmt = new ContentTemplateMessageTags();
  104 + ctmt.setId(StrUtils.uuid());
  105 + ctmt.setMessageTemplate(messTemp.getId());
  106 + ctmt.setTagsIds(tagId);
  107 + messageTagsService.insert(ctmt);
  108 + System.out.println("tagsId后---------------->:" + tagId);
  109 + }
  110 + messageTemplateService.insert(messTemp);
74 111 }
75 112 }
76 113 tag = templateVersionService.create(templateVersion);
parent/center.manager/src/main/webapp/WEB-INF/views/content/template_edit.html View file @ 03c4aa9
... ... @@ -7,42 +7,50 @@
7 7 <div class="ibox-content">
8 8 <div class="col-sm-12">
9 9 <form id="validForm" class="form-horizontal m-t" novalidate="novalidate">
  10 + <div class="form-group">
  11 + <label class="col-sm-2 control-label">版本库名称:</label>
  12 + <div class="col-sm-9">
  13 + <input type="text" name="vName" value="$!vName" disabled class="form-control">
  14 + <input type="hidden" name="id" value="$!id" disabled class="form-control">
  15 + </div>
  16 + </div>
  17 +
10 18 <div class="form-group">
11 19 <label class="col-sm-2 control-label">*短信内容:</label>
12   - <div class="col-sm-5">
13   - <textarea class="form-control" rows="4" cols="12" name="content" required placeholder="请输入短信内容"></textarea>
  20 + <div class="col-sm-9">
  21 + <textarea class="form-control" rows="4" cols="12" name="content" id="content" required placeholder="请输入短信内容">$!tempInfo.content</textarea>
14 22 </div>
15 23 </div>
16 24 <div class="form-group">
17 25 <label class="col-sm-2 control-label">标签:</label><button type="button" onclick="addSeleTags()" class="glyphicon glyphicon-plus btn glyphicon btn-primary btn-sm"></button>
18   - <div class="col-sm-5" id="seleTagArrs">
  26 + <div class="col-sm-9" id="seleTagArrs">
19 27 </div>
20 28 </div>
21 29  
22 30 <div class="form-group">
23 31 <label class="col-sm-2 control-label">图文指导:</label>
24   - <div class="col-sm-5">
  32 + <div class="col-sm-9">
25 33 <label class="checkbox-inline i-checks">
26 34 <div class="icheckbox_square-green" style="position: relative;">
27   - <input type="checkbox" class="i-checks" id="multChe" style="position: absolute; opacity: 0;" >
  35 + <input type="checkbox" #if($!tempInfo.isRich==1) checked="checked" #end class="i-checks" id="multChe" style="position: absolute; opacity: 0;" >
28 36 </div>
29 37 </label>
30 38 </div>
31 39 <div class="form-group">
32 40 <label class="col-sm-2 control-label"></label>
33   - <div class="col-sm-5">
  41 + <div class="col-sm-10">
34 42 <input type="hidden" class="i-checks" value="$!verId" name="templateVersionId">
35 43 </div>
36 44 </div>
37 45 <div class="form-group hidden" id="imageTitle">
38 46 <label class="col-sm-2 control-label">标题:</label>
39   - <div class="col-sm-5">
40   - <input type="text" name="richTitle" class="form-control" placeholder="请输入图文指导标题">
  47 + <div class="col-sm-9">
  48 + <input type="text" name="richTitle" id="richTitle" value="$!tempInfo.richTitle" class="form-control" placeholder="请输入图文指导标题">
41 49 </div>
42 50 </div>
43 51 <div class="form-group hidden" id="imageContext">
44 52 <label class="col-sm-2 control-label">正文:</label>
45   - <div class="col-sm-5">
  53 + <div class="col-sm-9">
46 54 <script id="editor" name="richText" type="text/plain"></script>
47 55 </div>
48 56 </div>
... ... @@ -53,6 +61,7 @@
53 61 <button type="button" class="btn btn-white" onclick="parent.closeAll();"><i class="fa fa-close"></i>&nbsp;取消</button>
54 62 </div>
55 63 </div>
  64 + </div>
56 65 </form>
57 66 </div>
58 67 </div>
... ... @@ -96,8 +105,6 @@
96 105 data.data.forEach(function(d, i) {
97 106 optionTagHtml += '<option value="'+d.id+'">' + d.tagName + '</option>';
98 107 });
99   -
100   -
101 108 //默认一个选择标签
102 109 addSeleTags();
103 110 }
104 111  
105 112  
106 113  
107 114  
108 115  
109 116  
110 117  
... ... @@ -113,33 +120,49 @@
113 120 var ue = UE.getEditor('editor',{initialFrameHeight:200,initialFrameWidth:"100%" });
114 121 });
115 122  
116   - $(function(){
117   -
118   - setTimeout(function(){
  123 +
  124 + $(function(){
  125 + setTimeout(function(){
119 126 initTagsData();
120 127 },500);
121   -
  128 +
  129 + if("$!id"!=""&&"$!tempInfo.isRich"==1){
  130 + $("#imageTitle").toggleClass("hidden");
  131 + $("#imageContext").toggleClass("hidden");
  132 + $("#imageTitle").toggleClass("show");
  133 + $("#imageContext").toggleClass("show");
  134 + var ue = UE.getEditor('editor',{initialFrameHeight:200,initialFrameWidth:"100%" });
  135 + ue.ready(function(){
  136 + //设置编辑器的内容
  137 + ue.setContent('$!tempInfo.richText');
  138 + });
  139 +
  140 + }
122 141 });
123   -
  142 +
124 143 function save(){
125   - var content = UE.getEditor('editor').getContent();
126 144 if($('#validForm').valid()){
127   - var data = $('#validForm').serialize();
128   - for(var i=1;i<seleTagNum;i++){
129   - data+="&contentTagIds="+$("#select"+i).val();
130   - }
131   - if($("#multChe:checked").val() == "on"){
132   - data+="&isRich=1";
133   - }else{
134   - data+="&isRich=0";
135   - }
136   - ajaxPost(APP.PATH + "/contentMessageTemplate/create",data);
137   - parent.reloadGrid('dataTable');
138 145  
139   -// $('#validForm')[0].reset();
140   -// UE.getEditor('editor').setContent("");
  146 + var data = $('#validForm').serialize();
  147 + if($("#multChe:checked").val() == "on"){//图文指导
  148 + data+="&isRich=1";
  149 + }else{
  150 + data+="&isRich=0";
  151 + }
141 152  
  153 + for(var i=1;i<seleTagNum;i++){
  154 + data+="&contentTagIds["+(i-1)+"]=,"+$("#select"+i).val()+",";
  155 + }
  156 + if("$!id" == ""){
  157 + data.id = $("#id").val();
  158 + ajaxPost(APP.PATH + "/contentMessageTemplate/create",data);
  159 + }else{
  160 + ajaxPost(APP.PATH + "/contentMessageTemplate/update",data);
  161 + }
  162 + parent.reloadGrid('dataTable');
142 163  
  164 +// $('#validForm')[0].reset();
  165 +// UE.getEditor('editor').setContent("");
143 166 }
144 167 }
145 168 </script>
parent/center.manager/src/main/webapp/WEB-INF/views/content/template_list.html View file @ 03c4aa9
... ... @@ -80,6 +80,21 @@
80 80 });
81 81 }
82 82  
  83 + function del(){
  84 +
  85 + var seleions = $('#dataTable').bootstrapTable("getSelections","");
  86 +// alert(JSON.stringify(seleions));
  87 + layer.confirm('确定删除选中的短信吗?', {
  88 + btn: ['确定','取消'], //按钮
  89 + shade: false //不显示遮罩
  90 + }, function(){
  91 + layer.msg('删除成功', {icon: 1});
  92 + }, function(){
  93 + layer.msg('取消删除', {shift: 6});
  94 + });
  95 +
  96 + }
  97 +
83 98 function search(){
84 99 var msgContent = $("#msgContent").val();
85 100 var searchTags = $("#searchTags").val();
... ... @@ -119,7 +134,8 @@
119 134 layer.msg('请先选择消息模板版本');
120 135 return;
121 136 }
122   - fullWindow("新增信息模板", APP.PATH + controllerRequestMappint + verId+"/toEdit");
  137 + var vName = version.versionName;
  138 + popWindow("新增信息模板", APP.PATH + controllerRequestMappint + verId+"/toEdit?vName="+vName,850,800);
123 139 }
124 140  
125 141 var templateVer = [];
... ... @@ -149,6 +165,12 @@
149 165 pageSize: 50, //每页的记录行数(*)
150 166 pageList: [200], //可供选择的每页的行数(*)
151 167 strictSearch: true,
  168 + onDblClickRow:function(row,ev){
  169 + //alert(JSON.stringify(row));
  170 +// var id = row.id;
  171 +// alert(id)
  172 + popWindow("修改信息模板", APP.PATH + controllerRequestMappint + version.id+"/toEdit?id="+row.id+"&vName="+version.versionName,850,800);
  173 + },
152 174 queryParams:{
153 175 verId:0
154 176 },
155 177  
156 178  
157 179  
158 180  
... ... @@ -163,24 +185,50 @@
163 185 checkbox: true
164 186 },{
165 187 field: 'id',
166   - title: '序号',
167   - visible: false
168   - }, {
  188 + title: '',
  189 + visible:false
  190 + },{
169 191 field: 'content',
170 192 title: '短信内容'
  193 + },{
  194 + field:'contentTagIds',
  195 + title:'标签',
  196 + formatter:function(value,row,index){
  197 + var tagsNames = value.split(",");
  198 + var tagsHtml = "";
  199 + for(var i =0;i<tagsNames.length;i++){
  200 + if((i+1)%5==1){
  201 + tagsHtml+='<span class="badge badge-primary" style="margin: 3px;">'+tagsNames[i]+'</span>';
  202 + }else if((i+1)%5==2){
  203 + tagsHtml+='<span class="badge label-info" style="margin: 3px;">'+tagsNames[i]+'</span>';
  204 + }else if((i+1)%5==3){
  205 + tagsHtml+='<span class="badge label-success" style="margin: 3px;">'+tagsNames[i]+'</span>';
  206 + }else if((i+1)%5==4){
  207 + tagsHtml+='<span class="badge label-warning" style="margin: 3px;">'+tagsNames[i]+'</span>';
  208 + }else{
  209 + tagsHtml+='<span class="badge label-danger" style="margin: 3px;">'+tagsNames[i]+'</span>';
  210 + }
  211 + }
  212 + return tagsHtml;
  213 + }
171 214 }]});
172 215 }
173 216  
174   - function copyVer(ver){
  217 + function copyVer(ver,name){
175 218 layer.open({
176 219 type: 1 //Page层类型
177 220 ,area: ['530px', '300px']
178   - ,title: '新增消息模板版本'
  221 + ,title: '复制消息模板版本'
179 222 ,shade: 0.6 //遮罩透明度
180 223 ,maxmin: true //允许全屏最小化
181 224 ,anim: 2 //0-6的动画形式,-1不开启
182   - ,content: "<div class='col-sm-9 col-sm-offset-1'><form class='form-horizontal m-t navbar-form navbar-left' id='validForm'><div class='form-group'><label class='col-sm-4 control-label'>版本名称:</label><div class='col-sm-5'><input type='hidden' name='perId' value='"+ver+"'/>" +
183   - "<input type='text' class='form-control w-lg' placeholder='版本名称' name='versionName' required></div></div><div class='col-sm-offset-12'><a onclick='saveVersion()' class='btn btn-primary navbar-btn'>提交</a></div></form></div>"
  225 + ,content: "<div class='col-sm-11 col-sm-offset-1'>" +
  226 + "<form class='form-horizontal m-t navbar-form navbar-left' id='validForm'>" +
  227 + "<div class='form-group'><label class='col-sm-5 control-label'>将要复制的版本名称:</label><div class='col-sm-5'><input type='hidden' name='perId' value='"+ver+"'/>" +
  228 + "<input type='text' class='form-control w-lg' value='"+name+"' disabled></div></div>" +
  229 + "<div class='form-group'><label class='col-sm-6 control-label'>版本名称:</label><div class='col-sm-5'>" +
  230 + "<input type='text' class='form-control w-lg' placeholder='版本名称' name='versionName' required></div></div>" +
  231 + "<div class='col-sm-offset-9'><a onclick='saveVersion()' class='btn btn-primary navbar-btn'>提交</a></div></form></div>"
184 232 });
185 233 }
186 234  
... ... @@ -198,7 +246,7 @@
198 246 if(data){
199 247 templateVer = data;
200 248 data.forEach(function(i,d){
201   - versionHtml+="<li onclick='showMessageList("+d+")' class='list-group-item col-sm-9'>"+i.versionName+"</li><button onclick=copyVer('"+i.id+"') class='col-sm-3 btn'>复制</button>";
  249 + versionHtml+="<li onclick='showMessageList("+d+")' class='list-group-item col-sm-9'>"+i.versionName+"</li><button onclick=copyVer('"+i.id+"','"+i.versionName+"') class='col-sm-3 btn'>复制</button>";
202 250 });
203 251 $("#temp_version").append(versionHtml);
204 252 }