Explorar o código

百科V1.3.3百科词条,供应商词条功能开发

JiangChongBo %!s(int64=2) %!d(string=hai) anos
pai
achega
21e6f20609

+ 18 - 4
src/main/java/com/caimei/modules/baike/dao/CmBaikeProductDao.java

@@ -1,12 +1,9 @@
 package com.caimei.modules.baike.dao;
 
-import com.caimei.modules.baike.entity.CmBaikeProductFile;
-import com.caimei.modules.baike.entity.CmBaikeProductParam;
-import com.caimei.modules.baike.entity.CmBaikeProductQuestion;
+import com.caimei.modules.baike.entity.*;
 import com.caimei.modules.user.entity.NewCmShop;
 import com.thinkgem.jeesite.common.persistence.CrudDao;
 import com.thinkgem.jeesite.common.persistence.annotation.MyBatisDao;
-import com.caimei.modules.baike.entity.CmBaikeProduct;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.Date;
@@ -43,6 +40,9 @@ public interface CmBaikeProductDao extends CrudDao<CmBaikeProduct> {
 
     void deleteQuestionsByProductId(String id);
 
+    void delMaterialinfoBYProductId(String id);
+
+
     void insertProductImage(@Param("authImage") String authImage, @Param("produtId") String productId, @Param("imageType") int imageType);
 
     void insertProductParam(@Param("name") String name,@Param("content") String content,@Param("productId") String productId);
@@ -73,4 +73,18 @@ public interface CmBaikeProductDao extends CrudDao<CmBaikeProduct> {
 
     void updateRecommendType(@Param("productId") String productId, @Param("recommendType") Integer recommendType);
 
+    List<CmBaikeTextInfo> getTextInfo(@Param("productId") String productId);
+
+    void saveMaterialinfo(CmBaikeReferenceInfo cmBaikeReferenceInfo);
+
+    void upMaterialinfo(CmBaikeReferenceInfo cmBaikeReferenceInfo);
+
+
+    List<CmBaikeReferenceInfo> getMaterialInfo(@Param("productId") Integer productId);
+
+    void delMaterialinfo(CmBaikeReferenceInfo cmBaikeReferenceInfo);
+
+    CmBaikeReferenceInfo getMaterialinfo(CmBaikeReferenceInfo cmBaikeReferenceInfo);
+
+
 }

+ 45 - 0
src/main/java/com/caimei/modules/baike/entity/CmBaikeProduct.java

@@ -52,10 +52,46 @@ public class CmBaikeProduct extends DataEntity<CmBaikeProduct> {
 	private Integer emptyNum;	//空数据条数
 	private Date addTime;		// 添加时间
 
+	private String  referenceList;
+
+	public String getReferenceList() {
+		return referenceList;
+	}
+
+	public void setReferenceList(String referenceList) {
+		this.referenceList = referenceList;
+	}
+	private List<CmBaikeReferenceInfo> materialInfo;
+
+	public List<CmBaikeReferenceInfo> getMaterialInfo() {
+		return materialInfo;
+	}
+
+	public void setMaterialInfo(List<CmBaikeReferenceInfo> materialInfo) {
+		this.materialInfo = materialInfo;
+	}
 
 	private Integer topFlag;	//是否置顶标识:0否,1是
 	private String typeName;	//分类名称
 	private List<CmBaikeProductParam> paramList;	// 参数列表
+	private List<CmBaikeTextInfo> textInfo;
+
+	public List<CmBaikeTextInfo> getTextInfo() {
+		return textInfo;
+	}
+
+	public void setTextInfo(List<CmBaikeTextInfo> textInfo) {
+		this.textInfo = textInfo;
+	}
+
+	private List<CmBaikeTextInfo> paramListall;//正文列表
+	public void setParamListall(List<CmBaikeTextInfo> paramListall) {
+		this.paramListall = paramListall;
+	}
+
+	public List<CmBaikeTextInfo> getParamListall() {
+		return paramListall;
+	}
 	private List<String> authImageList;			// 产品认证图片列表
 	private List<String> displayImageList;		// 效果展示图片列表
 	private List<CmBaikeProductQuestion> questionList;		//问题列表
@@ -72,6 +108,15 @@ public class CmBaikeProduct extends DataEntity<CmBaikeProduct> {
 	private String fileIds;			// 文件id,以,隔开
 	private String productIds;		// 产品/仪器id,以,隔开
 	private String[] recommendParams;	// 相关推荐产品/仪器json数据
+    private String entryId;//词条id
+
+	public String getEntryId() {
+		return entryId;
+	}
+
+	public void setEntryId(String entryId) {
+		this.entryId = entryId;
+	}
 
 	public CmBaikeProduct() {
 		super();

+ 108 - 0
src/main/java/com/caimei/modules/baike/entity/CmBaikeReferenceInfo.java

@@ -0,0 +1,108 @@
+package com.caimei.modules.baike.entity;
+
+import lombok.Data;
+
+import java.sql.Timestamp;
+
+@Data
+public class CmBaikeReferenceInfo {
+    private Integer id;
+    /**
+     * 参考类型资料(1.网络;2.著作;3.其他)
+     */
+    private Integer referenceType;
+    /**
+     * 网址
+     */
+    private String website;
+    /**
+     * 文章名字
+     */
+    private String articleName;
+    /**
+     * 网址名称
+     */
+    private String websiteName;
+    /**
+     * 发表时间
+     */
+    private Timestamp publishTime;
+
+    /**
+     * 发表时间
+     */
+    private String publishTimeStr;
+
+    /**
+     * 引文时间
+     */
+    private Timestamp acitationTime;
+
+    /**
+     * 引文时间
+     */
+    private String acitationTimeStr;
+    /**
+    /**
+     * 作者
+     */
+    private String author;
+    /**
+     * 著作名
+     */
+    private String workName;
+    /**
+     * 出版地
+     */
+    private String publicationPlace;
+    /**
+     * 出版社
+     */
+    private String press;
+    /**
+     * 出版年
+     */
+    private Timestamp publicationYear;
+
+    /**
+     * 出版年
+     */
+    private String publicationYearStr;
+    /**
+     * 引文页码
+     */
+    private String acitationWeb;
+    /**
+     * 参考资料说明
+     */
+    private String referenceDescription;
+    /**
+     * 图片描述
+     */
+    private String imageDescription;
+    /**
+     * 图片地址
+     */
+    private String imageUrl;
+    /**
+     * 词条id
+     */
+    private Integer productId;
+    /**
+     * 词条内容(1:义项名;2:词条概述;3:信息栏;4:正文)
+     */
+    private String productType;
+    /**
+     * 1:添加;2编辑
+     */
+    private String flagId;
+    /**
+     * 资料id用于前端传值修改
+     */
+    private String  zlId;
+
+    /**
+     * 关联id
+     */
+    private String ctrlId;
+}

+ 32 - 0
src/main/java/com/caimei/modules/baike/entity/CmBaikeTextInfo.java

@@ -0,0 +1,32 @@
+package com.caimei.modules.baike.entity;
+
+import lombok.Data;
+
+@Data
+public class CmBaikeTextInfo {
+    private Integer id;
+    /**
+     * 信息类型(1:定义;2:原理;3:特点;4:应用)
+     */
+    private Integer textType;
+    /**
+     * 目录内容
+     */
+    private String dictionaryContent;
+    /**
+     * 词条id
+     */
+    private String productId;
+    /**
+     * 参考资料id
+     */
+    private Integer referenceId;
+    /**
+     * 父级id
+     */
+    private Integer parentId;
+    /**
+     * 目录类型(1:一级目录;2:二级目录;3:内容
+     */
+    private Integer dictionaryType;
+}

+ 77 - 25
src/main/java/com/caimei/modules/baike/service/CmBaikeProductService.java

@@ -86,27 +86,51 @@ public class CmBaikeProductService extends CrudService<CmBaikeProductDao, CmBaik
 	public Page<CmBaikeProduct> findPage(Page<CmBaikeProduct> page, CmBaikeProduct cmBaikeProduct) {
 		return super.findPage(page, cmBaikeProduct);
 	}
-	
+	@Transactional(readOnly = false)
+	public void saveMaterialinfo(CmBaikeReferenceInfo cmBaikeReferenceInfo) {
+		cmBaikeProductDao.saveMaterialinfo(cmBaikeReferenceInfo);
+
+	}
+	@Transactional(readOnly = false)
+	public void upMaterialinfo(CmBaikeReferenceInfo cmBaikeReferenceInfo) {
+		cmBaikeProductDao.upMaterialinfo(cmBaikeReferenceInfo);
+
+	}
+
+	@Transactional(readOnly = false)
+	public void delMaterialinfo(CmBaikeReferenceInfo cmBaikeReferenceInfo) {
+		cmBaikeProductDao.delMaterialinfo(cmBaikeReferenceInfo);
+
+	}
+	@Transactional(readOnly = false)
+	public CmBaikeReferenceInfo getMaterialinfo(CmBaikeReferenceInfo cmBaikeReferenceInfo) {
+		return cmBaikeProductDao.getMaterialinfo(cmBaikeReferenceInfo);
+
+	}
+
+
 	@Transactional(readOnly = false)
 	public void save(CmBaikeProduct cmBaikeProduct) {
 		// 保存商品图片
-		String mainImage = cmBaikeProduct.getImage();
-		if (StringUtils.isNotEmpty(mainImage) && !mainImage.startsWith("http:")) {
-			cmBaikeProduct.setImage(UploadPicUtils.saveImageToServer(mainImage));
-		}
+//		String mainImage = cmBaikeProduct.getImage();
+//		if (StringUtils.isNotEmpty(mainImage) && !mainImage.startsWith("http:")) {
+//			cmBaikeProduct.setImage(UploadPicUtils.saveImageToServer(mainImage));
+//		}
 		// 保存正品认证二维码
-		String authQrCode = cmBaikeProduct.getAuthQrCode();
-		if (StringUtils.isNotEmpty(authQrCode) && !authQrCode.startsWith("http:")) {
-			cmBaikeProduct.setAuthQrCode(UploadPicUtils.saveImageToServer(authQrCode));
-		}
+//		String authQrCode = cmBaikeProduct.getAuthQrCode();
+//		if (StringUtils.isNotEmpty(authQrCode) && !authQrCode.startsWith("http:")) {
+//			cmBaikeProduct.setAuthQrCode(UploadPicUtils.saveImageToServer(authQrCode));
+//		}
 		// 删除原先的图片/参数/问题数据
 		if (!cmBaikeProduct.getIsNewRecord()) {
 			cmBaikeProductDao.deleteParamsByProductId(cmBaikeProduct.getId());
 			cmBaikeProductDao.deleteImagesByProductId(cmBaikeProduct.getId());
 			cmBaikeProductDao.deleteQuestionsByProductId(cmBaikeProduct.getId());
+			cmBaikeProductDao.delMaterialinfoBYProductId(cmBaikeProduct.getId());
+
 		}
 		// 保存上市时间和nmpa时间
-		saveTime(cmBaikeProduct);
+//		saveTime(cmBaikeProduct);
 
 		// 管理员审核百科
 		if (null != cmBaikeProduct.getAuditFlag() && 1 == cmBaikeProduct.getAuditFlag()) {
@@ -131,16 +155,16 @@ public class CmBaikeProductService extends CrudService<CmBaikeProductDao, CmBaik
 			cmBaikeProductDao.updateEmptyNum(cmBaikeProduct.getId(), emptyNum);
 		}
 		String productId = cmBaikeProduct.getId();
-		// 保存产品认证图片
-		List<String> authImageList = cmBaikeProduct.getAuthImageList();
-		authImageList.forEach(authImage->{
-			if (StringUtils.isNotEmpty(authImage)) {
-				if (!authImage.startsWith("http:")) {
-					authImage = UploadPicUtils.saveImageToServer(authImage);
-				}
-				cmBaikeProductDao.insertProductImage(authImage, productId, 1);
-			}
-		});
+//		// 保存产品认证图片
+//		List<String> authImageList = cmBaikeProduct.getAuthImageList();
+//		authImageList.forEach(authImage->{
+//			if (StringUtils.isNotEmpty(authImage)) {
+//				if (!authImage.startsWith("http:")) {
+//					authImage = UploadPicUtils.saveImageToServer(authImage);
+//				}
+//				cmBaikeProductDao.insertProductImage(authImage, productId, 1);
+//			}
+//		});
 		// 保存效果展示图片
 		List<String> displayImageList = cmBaikeProduct.getDisplayImageList();
 		displayImageList.forEach(displayImage->{
@@ -158,13 +182,41 @@ public class CmBaikeProductService extends CrudService<CmBaikeProductDao, CmBaik
 				cmBaikeProductDao.insertProductParam(param.getName(), param.getContent(), productId);
 			}
 		});
-		// 保存问题
-		List<CmBaikeProductQuestion> questionList = cmBaikeProduct.getQuestionList();
-		questionList.forEach(question->{
-			if (StringUtils.isNotEmpty(question.getQuestion()) && StringUtils.isNotEmpty(question.getAnswer())) {
-				cmBaikeProductDao.insertProductQuestion(question.getQuestion(), question.getAnswer(), productId);
+		//保存资料
+		List<CmBaikeReferenceInfo> cmBaikeReferenceInfo = cmBaikeProduct.getMaterialInfo();
+		if(null!=cmBaikeReferenceInfo&&cmBaikeReferenceInfo.size()>0){
+		cmBaikeReferenceInfo.forEach(param->{
+			if(null!=param){
+				if(null==param.getPublicationYear()){
+					param.setPublicationYear(null);
+				}
+				if(org.apache.commons.lang.StringUtils.isEmpty(param.getPublicationYearStr())){
+					param.setPublicationYearStr(null);
+				}
+				if(null==param.getPublishTime()){
+					param.setPublishTime(null);
+				}
+				if(org.apache.commons.lang.StringUtils.isEmpty(param.getPublishTimeStr())){
+					param.setPublishTimeStr(null);
+				}
+				if(null==param.getAcitationTime()){
+					param.setAcitationTime(null);
+				}
+				if(org.apache.commons.lang.StringUtils.isEmpty(param.getAcitationTimeStr())){
+					param.setAcitationTimeStr(null);
+				}
 			}
+				param.setProductId(Integer.valueOf(productId));
+				cmBaikeProductDao.saveMaterialinfo(param);
 		});
+		}
+		// 保存问题
+//		List<CmBaikeProductQuestion> questionList = cmBaikeProduct.getQuestionList();
+//		questionList.forEach(question->{
+//			if (StringUtils.isNotEmpty(question.getQuestion()) && StringUtils.isNotEmpty(question.getAnswer())) {
+//				cmBaikeProductDao.insertProductQuestion(question.getQuestion(), question.getAnswer(), productId);
+//			}
+//		});
 	}
 
 	private void saveTime(CmBaikeProduct cmBaikeProduct) {

+ 116 - 7
src/main/java/com/caimei/modules/baike/web/CmBaikeProductController.java

@@ -5,6 +5,7 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.caimei.modules.baike.dao.CmBaikeProductDao;
 import com.caimei.modules.baike.dao.CmBaikeProductRecommendDao;
 import com.caimei.modules.baike.dao.CmBaikeTypeDao;
@@ -25,10 +26,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
-import org.springframework.web.bind.annotation.ModelAttribute;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.servlet.mvc.support.RedirectAttributes;
 
@@ -38,6 +36,7 @@ import com.thinkgem.jeesite.common.web.BaseController;
 import com.thinkgem.jeesite.common.utils.StringUtils;
 import com.caimei.modules.baike.service.CmBaikeProductService;
 
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -142,6 +141,14 @@ public class CmBaikeProductController extends BaseController {
 		cmBaikeProduct.setShopList(shopList);
 		// 敏感词
 		String sensitiveWords = infoDao.getSensitiveWords(4);
+		//正文
+		List<CmBaikeTextInfo> textInfo = cmBaikeProductDao.getTextInfo(cmBaikeProduct.getId());
+		cmBaikeProduct.setTextInfo(textInfo);
+		//参考资料
+		if(StringUtils.isNotEmpty(cmBaikeProduct.getId())){
+			List<CmBaikeReferenceInfo> materialInfo = cmBaikeProductDao.getMaterialInfo(Integer.valueOf(cmBaikeProduct.getId()));
+			cmBaikeProduct.setMaterialInfo(materialInfo);
+		}
 		//先从reids中获取keyword值,不存在时在查询数据库
 		List<SearchFrequencyVo> searchFrequencyVos=new ArrayList<>();
 		if(redisService.getExpireTime("keyword")>0){
@@ -154,17 +161,102 @@ public class CmBaikeProductController extends BaseController {
 		model.addAttribute("commodityType", commodityType);
 		model.addAttribute("sensitiveWords", sensitiveWords);
 		model.addAttribute("SearchFrequencyVo",searchFrequencyVos);
+		model.addAttribute("textInfo",textInfo);
+//		model.addAttribute("materialInfo",materialInfo);
 		return "modules/baikePage/cmBaikeProductForm";
 	}
 
+	@RequestMapping(value = "entry")
+	public String entryGuidance(){
+		return "modules/baikePage/entryGuidance";
+   }
+	/**
+	 *添加资料
+	 * @return
+	 */
+	@RequestMapping(value = "saveMaterialinfo")
+	@ResponseBody
+	public String saveMaterialinfo(CmBaikeReferenceInfo cmBaikeReferenceInfo){
+		if(null!=cmBaikeReferenceInfo){
+			if(cmBaikeReferenceInfo.getReferenceType()==1){
+				cmBaikeReferenceInfo.setPublicationYear(null);
+				cmBaikeReferenceInfo.setPublicationYearStr(null);
+			}else if(cmBaikeReferenceInfo.getReferenceType()==3){
+				cmBaikeReferenceInfo.setPublicationYear(null);
+				cmBaikeReferenceInfo.setPublicationYearStr(null);
+				cmBaikeReferenceInfo.setAcitationTime(null);
+				cmBaikeReferenceInfo.setAcitationTimeStr(null);
+				cmBaikeReferenceInfo.setPublishTime(null);
+				cmBaikeReferenceInfo.setPublishTimeStr(null);
+			} else{
+				cmBaikeReferenceInfo.setAcitationTime(null);
+				cmBaikeReferenceInfo.setAcitationTimeStr(null);
+				cmBaikeReferenceInfo.setPublishTime(null);
+				cmBaikeReferenceInfo.setPublishTimeStr(null);
+			}
+		}
+		if(StringUtils.isNotEmpty(cmBaikeReferenceInfo.getZlId())){
+			cmBaikeReferenceInfo.setId(Integer.valueOf(cmBaikeReferenceInfo.getZlId()));
+		}
+		if("2".equals(cmBaikeReferenceInfo.getFlagId())){
+			cmBaikeProductService.upMaterialinfo(cmBaikeReferenceInfo);
+
+		}else{
+			cmBaikeProductService.saveMaterialinfo(cmBaikeReferenceInfo);
+		}
+		return "modules/baikePage/entryGuidance";
+	}
+
+	/**
+	 * 删除资料
+	 * @return
+	 */
+	@RequestMapping(value = "delMaterialinfo")
+	@ResponseBody
+	public String delMaterialinfo(Integer mid){
+		CmBaikeReferenceInfo cmBaikeReferenceInfo=new CmBaikeReferenceInfo();
+		cmBaikeReferenceInfo.setId(mid);
+		cmBaikeProductService.delMaterialinfo(cmBaikeReferenceInfo);
+		return "modules/baikePage/entryGuidance";
+	}
+	@RequestMapping(value = "getMaterialinfo")
+	@ResponseBody
+	public CmBaikeReferenceInfo getMaterialinfo(Integer mid, Model model){
+		CmBaikeReferenceInfo cmBaikeReferenceInfo=new CmBaikeReferenceInfo();
+		cmBaikeReferenceInfo.setId(mid);
+		CmBaikeReferenceInfo material= cmBaikeProductService.getMaterialinfo(cmBaikeReferenceInfo);
+		SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+		//时间格式转换(引文时间)
+		if(null!=material.getAcitationTime()){
+			String acitationTimeStr=simpleDateFormat.format(material.getAcitationTime());
+			material.setAcitationTimeStr(acitationTimeStr);
+		}
+		//时间格式转换(发表时间)
+		if(null!=material.getPublishTime()){
+			String publishTimeStr=simpleDateFormat.format(material.getPublishTime());
+			material.setPublishTimeStr(publishTimeStr);
+		}
+		//时间格式转换(出版年)
+		if(null!=material.getPublicationYear()){
+			String publicationYearStr=simpleDateFormat.format(material.getPublicationYear());
+			material.setPublicationYearStr(publicationYearStr);
+		}
+		return material;
+	}
 	@RequestMapping(value = "save")
 	public String save(CmBaikeProduct cmBaikeProduct, Model model, RedirectAttributes redirectAttributes) {
 		if (!beanValidator(model, cmBaikeProduct)){
 			return form(cmBaikeProduct, model);
 		}
+		//资料格式转换  string --->集合
+		if(null!=cmBaikeProduct&&StringUtils.isNotEmpty(cmBaikeProduct.getReferenceList())){
+			String referenceListStr =cmBaikeProduct.getReferenceList();
+			List<CmBaikeReferenceInfo> referenceList = JSONArray.parseArray(referenceListStr, CmBaikeReferenceInfo.class);
+			cmBaikeProduct.setMaterialInfo(referenceList);
+		}
 		cmBaikeProductService.save(cmBaikeProduct);
-        String commodityType = cmBaikeProduct.getCommodityType() == 1 ? "产品" : "仪器";
-        addMessage(redirectAttributes, "保存" + commodityType + "成功");
+//        String commodityType = cmBaikeProduct.getCommodityType() == 1 ? "产品" : "仪器";
+        addMessage(redirectAttributes, "保存成功");
 		cleanRedisCache();
 		cmBaikeProduct.setPublishSource(null == cmBaikeProduct.getPublishSource() ? 1 : cmBaikeProduct.getPublishSource());
 		return "redirect:" + Global.getAdminPath() + "/baike/cmBaikeProduct/?repage&commodityType=" + cmBaikeProduct.getCommodityType() + "&publishSource="+cmBaikeProduct.getPublishSource();
@@ -269,7 +361,15 @@ public class CmBaikeProductController extends BaseController {
 		videoList.forEach(video->{
 			video.setOssUrl(OSSUtils.getOssUrl(video.getOssName()));
 		});
+		//正文
+		List<CmBaikeTextInfo> textInfo = cmBaikeProductDao.getTextInfo(cmBaikeProduct.getId());
+		//参考资料
+		List<CmBaikeReferenceInfo> materialInfo=null;
+		if(StringUtils.isNotEmpty(cmBaikeProduct.getId())){
+			materialInfo = cmBaikeProductDao.getMaterialInfo(Integer.valueOf(cmBaikeProduct.getId()));
+		}
 		cmBaikeProduct.setVideoList(videoList);
+		model.addAttribute("materialInfo", materialInfo);
 		model.addAttribute("commodityType", commodityType);
 		return "modules/baikePage/checkBaikePage";
 	}
@@ -327,8 +427,17 @@ public class CmBaikeProductController extends BaseController {
 		model.addAttribute("typeList", typeList);
 		// 敏感词
 		String sensitiveWords = infoDao.getSensitiveWords(4);
+		//正文
+		List<CmBaikeTextInfo> textInfo = cmBaikeProductDao.getTextInfo(cmBaikeProduct.getId());
+		//参考资料
+		List<CmBaikeReferenceInfo> materialInfo=null;
+		if(StringUtils.isNotEmpty(cmBaikeProduct.getId())){
+			materialInfo = cmBaikeProductDao.getMaterialInfo(Integer.valueOf(cmBaikeProduct.getId()));
+		}
 		model.addAttribute("sensitiveWords", sensitiveWords);
-        return "modules/baikePage/auditBaikeProductPage";
+		model.addAttribute("materialInfo", materialInfo);
+
+		return "modules/baikePage/auditBaikeProductPage";
 	}
 
 	@RequestMapping(value = "auditBaike")

+ 46 - 3
src/main/resources/mappings/modules/baike/CmBaikeProductMapper.xml

@@ -89,9 +89,9 @@
 			<if test="status != null">
 				AND a.status = #{status}
 			</if>
-			<if test="commodityType != null">
-				and a.commodityType = #{commodityType}
-			</if>
+<!--			<if test="commodityType != null">-->
+<!--				and a.commodityType = #{commodityType}-->
+<!--			</if>-->
 			<if test="publishSource != null">
 				and a.publishSource = #{publishSource}
 			</if>
@@ -350,8 +350,51 @@
 	<delete id="deleteQuestionsByProductId">
 		delete from cm_baike_product_question where productId = #{id}
 	</delete>
+	<delete id="delMaterialinfoBYProductId">
+		delete from cm_baike_reference_info where productId=#{id}
+	</delete>
 	<delete id="deleteProductFile">
 		delete from cm_baike_product_file where id = #{fileId}
 	</delete>
+	<select id="getTextInfo" resultType="com.caimei.modules.baike.entity.CmBaikeTextInfo">
+		select * from cm_baike_text_info where productId=#{productId}
+	</select>
+
+	<insert id="saveMaterialinfo">
+		insert into
+		    cm_baike_reference_info(referenceType, website, articleName,websiteName,publishTime,acitationTime,author,workName,publicationPlace,press,publicationYear,acitationWeb,referenceDescription,imageDescription,imageUrl,productId,productType,ctrlId)
+		values (#{referenceType}, #{website}, #{articleName},#{websiteName},#{publishTimeStr},#{acitationTimeStr},#{author},#{workName},#{publicationPlace},#{press},#{publicationYearStr},#{acitationWeb},#{referenceDescription},#{imageDescription},#{imageUrl},#{productId},#{productType},#{ctrlId})
+	</insert>
+	<update id="upMaterialinfo">
+		update cm_baike_reference_info
+		set
+			referenceType=#{referenceType},
+			website=#{website},
+			articleName=#{articleName},
+			websiteName=#{websiteName},
+			publishTime=#{publishTimeStr},
+			acitationTime=#{acitationTimeStr},
+			author=#{author},
+			workName=#{workName},
+			publicationPlace=#{publicationPlace},
+			press=#{press},
+			publicationYear=#{publicationYearStr},
+			acitationWeb=#{acitationWeb},
+			referenceDescription=#{referenceDescription},
+			imageDescription=#{imageDescription},
+			imageUrl=#{imageUrl}
+			where id=#{id}
+	</update>
+	<select id="getMaterialInfo" resultType="com.caimei.modules.baike.entity.CmBaikeReferenceInfo">
+		select * from cm_baike_reference_info where productId=#{productId}
+	</select>
+
+	<delete id="delMaterialinfo">
+		delete from cm_baike_reference_info where id=#{id}
+	</delete>
+	<select id="getMaterialinfo" resultType="com.caimei.modules.baike.entity.CmBaikeReferenceInfo">
+		select * from cm_baike_reference_info
 
+		where id=#{id}
+	</select>
 </mapper>

+ 4 - 4
src/main/resources/mappings/modules/baike/CmBaikeTypeMapper.xml

@@ -47,9 +47,9 @@
 			<if test="status != null">
 				AND a.status = #{status}
 			</if>
-			<if test="typeSort != null">
-				and a.typeSort = #{typeSort}
-			</if>
+<!--			<if test="typeSort != null">-->
+<!--				and a.typeSort = #{typeSort}-->
+<!--			</if>-->
 		</where>
 		<choose>
 			<when test="page !=null and page.orderBy != null and page.orderBy != ''">
@@ -88,7 +88,7 @@
 			addBy,
 			pcBanner,
 			appBanner,
-			bannerLink,
+			bannerLink
 		) VALUES (
 			#{typeSort},
 			#{name},

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1306 - 368
src/main/webapp/WEB-INF/views/modules/baikePage/auditBaikeProductPage.jsp


+ 1950 - 156
src/main/webapp/WEB-INF/views/modules/baikePage/checkBaikePage.jsp

@@ -3,7 +3,7 @@
 <%@ include file="/WEB-INF/views/include/taglib.jsp"%>
 <html>
 <head>
-	<title>产品管理</title>
+	<title>采美词条</title>
 	<meta name="decorator" content="default"/>
 	<style>
 		.titleClass{
@@ -148,222 +148,2016 @@
 		.hide-pic {
 			display: none !important;
 		}
+		.select2-choice{
+			width: 200px
+		}
+
+		.red {
+			color: red;
+		}
+
+
+
+		.upload {
+			position: relative;
+			display: inline-block;
+			background: #D0EEFF;
+			border: 1px solid #99D3F5;
+			border-radius: 4px;
+			padding: 4px 12px;
+			color: #1E88C7;
+			text-decoration: none;
+			text-indent: 0;
+			line-height: 20px;
+			margin-left: 20px;
+			cursor: pointer;
+			width: 52px;
+			height: 20px;
+		}
+
+		.upload input {
+			position: absolute;
+			width: 170px;
+			font-size: 20px;
+			right: 0;
+			top: 0;
+			opacity: 0;
+			cursor: pointer;
+		}
+
+		.upload:hover {
+			background: #AADFFD;
+			border-color: #78C3F3;
+			color: #004974;
+			text-decoration: none;
+		}
+
+		.add-submit {
+			position: relative;
+			display: inline;
+			background: #D0EEFF;
+			border: 1px solid #99D3F5;
+			border-radius: 4px;
+			padding: 4px 12px;
+			color: #1E88C7;
+			text-decoration: none;
+			text-indent: 0;
+			line-height: 20px;
+			margin-left: 20px;
+			cursor: pointer;
+			width: 52px;
+			height: 30px;
+		}
+
+		.add-submit input {
+			position: absolute;
+			width: 50px;
+			font-size: 20px;
+			right: 0;
+			top: 0;
+			opacity: 0;
+			cursor: pointer;
+		}
+
+		.add-submit:hover {
+			background: #AADFFD;
+			border-color: #78C3F3;
+			color: #004974;
+			text-decoration: none;
+		}
+
+		.upload-loading{
+			display: none;
+			width: 32px;
+			height: 32px;
+			margin-left: 10px;
+		}
+		.upload-loading img{
+			width: 16px;
+			height: 16px;
+			margin: 0 auto 0;
+		}
+
+		#file-list-display {
+			width: 600px;
+			height: auto;
+			float: left;
+			margin-left: 20px;
+		}
+
+		#file-list-display p {
+			line-height: 30px;
+			font-size: 14px;
+			color: #333333;
+			margin: 0;
+		}
+
+		#file-list-display p .del {
+			color: #2fa4e7;
+			font-size: 12px;
+			cursor: pointer;
+			margin-left: 20px;
+		}
+
+		.Main-content{
+			height: 100px;
+		}
+		.dialogmask {
+			position: fixed;
+			top: 0px;
+			height: 100%;
+			width: 100%;
+			z-index: 80;
+			display: none;
+
+		}
+
+		.opacity { /*遮罩浑浊处理*/
+			opacity: 0.3;
+			filter: alpha(opacity=30);
+			background-color: #000;
+		}
+
+		.box {
+			overflow: hidden;
+			position: absolute;
+			width: 55%;
+			height: 60%;
+			z-index: 100; /*值越大,和其他层层叠时越在上面*/
+			left: 20%;
+			top: 15%;
+			background-color: #fff;
+			border: 1px solid rgb(0, 153, 153);
+		}
+		.ckzl {
+			overflow: hidden;
+			position: absolute;
+			width: 60%;
+			height: 80%;
+			z-index: 100; /*值越大,和其他层层叠时越在上面*/
+			left: 20%;
+			top: 15%;
+			background-color: #fff;
+			border: 1px solid rgb(0, 153, 153);
+		}
+
+		.dialogtitle {
+			width: 100%;
+			height: 30px;
+			line-height: 30px;
+			position: absolute;
+			font-size: 18px;
+			top: 0px;
+			background-color: lightgrey;
+		}
+
+		.dialogcontent {
+			padding-top: 20px;
+			OVERFLOW: scroll;
+			height: calc(100% - 20px);
+			height: -webkit-calc(100% - 20px);
+		}
+
+		.logcontent {
+			padding: 10px;
+		}
+		.pla::-webkit-input-placeholder{
+			color: green;
+		}
 	</style>
 	<script type="text/javascript">
+		//显示弹框,并且根据结果是true或false来更改标题部分的颜色
+		function showlog_result(result, info) {//展示具体弹框内容,以及根据结果是否正确变更title的颜色
+			$("#dialog").css({display: "block"});//通过Jquery的css()更改样式
+			$("#dialogmask").css({display: "block"});
+			// var s=document.getElementById("logcontent").innerHTML;
+			// $("#logcontent").html(s);
+		}
+		//关闭弹窗
+		function dialog(){
+			document.getElementById("dialog").style.display='none';
+			document.getElementById("dialogmask").style.display='none';
+		}
+		//显示资料弹窗
+		function digCk(type){
+			document.getElementById("dig").style.display='block';
+			document.getElementById("dig").title=type;
+		}
+		//隐藏资料弹窗
+		function cantral(){
+			document.getElementById("dig").style.display='none';
+		}
+		//添加资料
+		function addZl(){
+			document.getElementById("zl").style.display='block';
+			document.getElementById("yyzl").style.display='none';
+
+		}
+		function removeZl(){
+			document.getElementById("zl").style.display='none';
+			document.getElementById("yyzl").style.display='block';
+
+		}
+		//不同资料显示不同的内容
+		function ckzl_change(){
+			var content=$("#info").val();
+			if(2 == content){
+				document.getElementById("wlzl").style.display='none';
+				document.getElementById("zzzl").style.display='block';
+				document.getElementById("qtzl").style.display='none';
+			}else if(3 == content){
+				document.getElementById("wlzl").style.display='none';
+				document.getElementById("zzzl").style.display='none';
+				document.getElementById("qtzl").style.display='block';
+			}else{
+				document.getElementById("wlzl").style.display='block';
+				document.getElementById("zzzl").style.display='none';
+				document.getElementById("qtzl").style.display='none';
+			}
+		}
+		//信息栏只读设置
+		function readflag(index){
+			var info=document.getElementById("name["+index+"]").value;
+			//标题为空则内容只读
+			if(undefined != info && null!=info && '' !=info){
+				document.getElementById("content["+index+"]").readOnly=false;
+			}else{
+				document.getElementById("content["+index+"]").readOnly=true;
+			}
+		}
+		$(document).ready(function() {
+			//添加词条时弹出创建词条须知窗口
+			<%--window.showModalDialog("${ctx}/baike/cmBaikeProduct/entry",'window','dialogWidth:504px;dialogHeight:310px;status:no;help:no;scroll:no;status:0;help:0;scroll:0;');--%>
+			<%--window.open("${ctx}/baike/cmBaikeProduct/entry", "window","height=100, width=400,toolbar=yes,menubar=yes,scrollbars=yes,resizable=yes, location=yes,status=yes");--%>
+			//$("#name").focus();
+			<c:forEach items="${materialInfo}" var="videoFile" varStatus="statusIndex">
+			var productType=""+${videoFile.productType};
+			if(productType.indexOf("1")>-1){
+				var n=${statusIndex.index}+1;
+				var h="";
+				if(n==1){
+					h="①";
+				}else if(n==2){
+					h="②";
+
+				}else if(n==3){
+					h="③";
+
+				}else if(n==4){
+					h="④";
+
+				}else if(n==5){
+					h="⑤";
+
+				}else if(n==6){
+					h="⑥";
+
+				}else if(n==7){
+					h="⑦";
+
+				}else if(n==8){
+					h="⑧";
+				}
+
+				document.getElementById("yixiandiv").innerHTML=h;
+				document.getElementById("yixiandiv").style.display='block';
+			}
+			</c:forEach>
+			var flag=document.getElementById("createEntryGuidance").innerHTML;
+			if('添加'==flag){
+				showlog_result(null,null);
+			}
+			$("#inputForm").validate({
+				submitHandler: function(form){
+					var status = $("input[name='status']:checked").val();
+					var commodityType = $("#commodityType").val();
+					// 计算空数据条数
+					var propertyArr = [];
+					var name = $("#name").val();
+					var alias = $("#alias").val();
+					var discription = $("#discription").val();
+					// var shopId = $("#shopId").val();
+					// var productLink = $("#productLink").val();
+					var image = $("#image").val();
+					var authLink = $("#authLink").val();
+					var authQrCode = $("#authQrCode").val();
+					var param0 = $('input[name="paramList[0].name"]').val();
+					// var advantage = $("#advantage").val();
+					// var disadvantage = $("#disadvantage").val();
+					// var principle = $("#principle").val();
+					var seoKeyword = $("#seoKeyword").val();
+					// var brand = $("#brand").val();
+					// var producePlace = $("#producePlace").val();
+					// var marketYear = $("#marketYear").val();
+					var company = $("#company").val();
+					// var nmpaYear = $("#nmpaYear").val();
+					// var authImage0 = $("#authImage0").val();
+					// var adaptiveMan = $("#adaptiveMan").val();
+					// var unAdaptiveMan = $("#unAdaptiveMan").val();
+					// var aroundOperation = $("#aroundOperation").val();
+					// var displayImage0 = $("#displayImage0").val();
+					// var question0 = $('input[name="questionList[0].question"]').val();
+					var publishTime = $('input[name="publishTime"]').val();
+					var basePv = $("#basePv").val();
+					var typeId = $("#typeId").val();
+					propertyArr[0] = name;
+					propertyArr[1] = alias;
+					propertyArr[2] = discription;
+					// propertyArr[3] = shopId;
+					// propertyArr[4] = productLink;
+					propertyArr[3] = param0;
+					// propertyArr[6] = advantage;
+					// propertyArr[7] = disadvantage;
+					// propertyArr[8] = principle;
+					propertyArr[4] = seoKeyword;
+					// propertyArr[10] = brand;
+					// propertyArr[11] = producePlace;
+					// propertyArr[12] = marketYear;
+					propertyArr[5] = company;
+					// propertyArr[14] = nmpaYear;
+					// propertyArr[15] = authImage0;
+					// propertyArr[16] = adaptiveMan;
+					// propertyArr[17] = unAdaptiveMan;
+					// propertyArr[18] = aroundOperation;
+					// propertyArr[19] = displayImage0;
+					// propertyArr[6] = question0;
+					propertyArr[6] = publishTime;
+					propertyArr[7] = basePv;
+					propertyArr[8] = typeId;
+					propertyArr[9] = image;
+					alert("1111111111111111");
+					var emptyNum = 0;
+					for (var i = 0; i < propertyArr.length; i++) {
+						var property = propertyArr[i].trim();
+						if ("" === property) {
+							emptyNum++;
+						}
+					}
+					$("#emptyNum").val(emptyNum);
+
+					// 检测敏感词
+					var propertyMap = new Map();
+					propertyMap.set("name", name);
+					propertyMap.set("alias", alias);
+					propertyMap.set("discription", discription);
+					// propertyMap.set("productLink", productLink);
+					for (var i = 0; i <= 9; i++) {
+						var paramName = "\"paramList[" + i + "].name\"";
+						var contentName = "\"paramList[" + i + "].content\"";
+						var param = $('input[name=' + paramName + ']').val();
+						var content = $('input[name=' + contentName + ']').val();
+						if ( param === undefined || param === '') {
+							break;
+						} else {
+							propertyMap.set("param" + i, param);
+							propertyMap.set("content" + i, content);
+						}
+					}
+					// propertyMap.set("advantage", advantage);
+					// propertyMap.set("disadvantage", disadvantage);
+					// propertyMap.set("principle", principle);
+					propertyMap.set("seoKeyword", seoKeyword);
+					// propertyMap.set("brand", brand);
+					// propertyMap.set("producePlace", producePlace);
+					propertyMap.set("company", company);
+					// propertyMap.set("adaptiveMan", adaptiveMan);
+					// propertyMap.set("unAdaptiveMan", unAdaptiveMan);
+					// propertyMap.set("aroundOperation", aroundOperation);
+					// if (2 == commodityType) {
+					//     propertyMap.set("authLink", authLink);
+					// }
+					<%--for (var i = 0; i <= 20; i++) {--%>
+					<%--	var questionName = "\"questionList[" + i + "].question\"";--%>
+					<%--	var answerName = "\"questionList[" + i + "].answer\"";--%>
+					<%--	var question = $('input[name=' + questionName + ']').val();--%>
+					<%--	var answer = $('input[name=' + answerName + ']').val();--%>
+					<%--	if (question === undefined || question === '') {--%>
+					<%--		break;--%>
+					<%--	} else {--%>
+					<%--		propertyMap.set("question" + i, question);--%>
+					<%--		propertyMap.set("answer" + i, answer);--%>
+					<%--	}--%>
+					<%--}--%>
+					var sensitiveWords = '${sensitiveWords}';
+					const mint = new MintFilter(sensitiveWords.split('|'));
+					var filterSync = '';
+					var touchWords = '';
+					var touchNum = 0;
+					<%--debugger--%>
+					propertyMap.forEach(function (value,key,map) {
+						filterSync = mint.filterSync(value);
+						filterSync.words.forEach(word=>{
+							touchWords += touchWords === '' ? word : "," + word;
+						})
+						if (touchWords !== '') {
+							// 增加敏感词触发数量
+							touchNum++;
+							// 设置敏感词提示
+							$("#" + key + "SensitiveWords").text("敏感词:" + touchWords);
+							touchWords = '';
+						}
+					});
+					if (1 == status && emptyNum > 0) {
+						var msg = "您还剩余" + emptyNum + "项未完善,将会导致用户对您产品/仪器的认识度不够,确认是否提交?";
+						top.$.jBox.confirm(msg, '系统提示', function (v, h, f) {
+							if (v == 'ok') {
+								if (touchNum > 0) {
+									var msg = 1 == status?"当前发布内容存在敏感词,已为您标记在输入框下方," +
+											"请修改后,再进行保存发布,强行保存发布将会导致审核不通过!":
+											"当前内容存在敏感词,已为您标记在输入框下方,建议修改后再进行保存!否则," +
+											"将会影响发布时审核不通过!";
+									top.$.jBox.confirm(msg, '系统提示', function (v, h, f) {
+										if (v == 'ok') {
+											loading('正在提交,请稍等...');
+											form.submit();
+										}
+									}, {buttonsFocus: 1, persistent: true});
+								} else{
+									loading('正在提交,请稍等...');
+									form.submit();
+								}
+							}
+						}, {buttonsFocus: 1, persistent: true});
+					} else {
+						if (touchNum > 0) {
+							var msg = 1 == status?"当前发布内容存在敏感词,已为您标记在输入框下方," +
+									"请修改后,再进行保存发布,强行保存发布将会导致审核不通过!":
+									"当前内容存在敏感词,已为您标记在输入框下方,建议修改后再进行保存!否则," +
+									"将会影响发布时审核不通过!";
+							top.$.jBox.confirm(msg, '系统提示', function (v, h, f) {
+								if (v == 'ok') {
+									loading('正在提交,请稍等...');
+									form.submit();
+								}
+							}, {buttonsFocus: 1, persistent: true});
+						} else{
+							loading('正在提交,请稍等...');
+							form.submit();
+						}
+					}
+				},
+				errorContainer: "#messageBox",
+				errorPlacement: function(error, element) {
+					$("#messageBox").text("输入有误,请先更正。");
+					if (element.is(":checkbox")||element.is(":radio")||element.parent().is(".input-append")){
+						error.appendTo(element.parent().parent());
+					} else {
+						error.insertAfter(element);
+					}
+				}
+			});
+		});
+		function saveInfo(){
+			var content=$("#info").val();//参考资料类型
+			var website=$("#website").val();//网址
+			var articleName=$("#articleName").val();//文章名字
+			var websiteName=$("#websiteName").val();//网站名称
+			var publishTimeStr=$("#publishTimeStr").val();//发布日期
+			var acitationTimeStr=$("#acitationTimeStr").val();//引文日期
+			var productId="";
+			<c:if test="${cmBaikeProduct.entryId eq 2}">
+			productId=${cmBaikeProduct.id}
+			</c:if>
+			var zlid=document.getElementById("dig").lang;
+			var params={}
+			if(content==1){
+				params={
+					//网络资料
+					"referenceType":content,
+					"website":website,
+					"articleName":articleName,
+					"websiteName":websiteName,
+					"publishTimeStr":publishTimeStr,
+					"acitationTimeStr":acitationTimeStr,
+					//公共
+					"productId":productId,//词条id
+					"productType":document.getElementById("dig").title,//词条内容
+					"flagId":document.getElementById("dig").tabIndex,//添加修改标识  1添加 2修改
+					"zlId":zlid//资料id 用于修改
+				}
+			}else if(content=2){
+				params={
+					"referenceType":content,
+					"author":$("#author").val(),//作者
+					"workName":$("#workName").val(),//著作名
+					"publicationPlace":$("#publicationPlace").val(),//出版地
+					"press":$("#press").val(),//出版社
+					"publicationYearStr":$("#publicationYearStr").val(),//出版年
+					"acitationWeb":$("#acitationWeb").val(),//引文页码
+					//公共
+					"productId":productId,//词条id
+					"productType":document.getElementById("dig").title,//词条内容
+					"flagId":document.getElementById("dig").tabIndex,//添加修改标识  1添加 2修改
+					"zlId":zlid//资料id 用于修改
+				}
+			}else if(content=3){
+				params={
+					//其他资料
+					"referenceDescription":$("#referenceDescription").val(),//参考资料说明
+					"imageDescription":$("#imageDescription").val(),//图片描述
+					"imageUrl":$("#image").val(),//图片地址
+					//公共
+					"productId":productId,//词条id
+					"productType":document.getElementById("dig").title,//词条内容
+					"flagId":document.getElementById("dig").tabIndex,//添加修改标识  1添加 2修改
+					"zlId":zlid//资料id 用于修改
+				}
+			}
+			// alert(content+"---"+website+"---"+articleName+"---"+websiteName+"---"+publishTime+"---"+acitationTime);
+			// var params={
+			// 	//网络资料
+			// 	"referenceType":content,
+			// 	"website":website,
+			// 	"articleName":articleName,
+			// 	"websiteName":websiteName,
+			// 	"publishTimeStr":publishTimeStr,
+			// 	"acitationTimeStr":acitationTimeStr,
+			// 	//著作资料
+			// 	"author":$("#author").val(),//作者
+			// 	"workName":$("#workName").val(),//著作名
+			// 	"publicationPlace":$("#publicationPlace").val(),//出版地
+			// 	"press":$("#press").val(),//出版社
+			// 	"publicationYearStr":$("#publicationYearStr").val(),//出版年
+			// 	"acitationWeb":$("#acitationWeb").val(),//引文页码
+			// 	//其他资料
+			// 	"referenceDescription":$("#referenceDescription").val(),//参考资料说明
+			// 	"imageDescription":$("#imageDescription").val(),//图片描述
+			// 	"imageUrl":$("#image").val(),//图片地址
+			//     //公共
+			// 	"productId":productId,//词条id
+			//     "productType":document.getElementById("dig").title,//词条内容
+			// 	"flagId":document.getElementById("dig").tabIndex,//添加修改标识  1添加 2修改
+			// 	"zlId":zlid//资料id 用于修改
+			// }
+			$.ajax({
+				url : "${ctx}/baike/cmBaikeProduct/saveMaterialinfo",
+				data : params,
+				type : 'post',
+				success : function(data){
+					document.getElementById("dig").style.display='none';
+					alert("保存资料成功");
+					$("#dig").load(location.href+" #dig>*","");
+					<%--window.location.href = "${ctx}/baike/cmBaikeProduct/form?commodityType=1";--%>
+
+				},
+				error : function(){
+					alert(222);
+				}
+			})
+		}
+		function saveMataInfo(){
+
+		}
+
+		function imgSizeChange(){
+			// if($("#img"+size).width==){
+			//
+			// }
+			// alert();
+			// document.getElementById("imgaa").style.width=100px;
+			parent.location.href = "https://zp.caimei365.com/12/ross/activity/challenge";
+		}
+		//删除资料
+		function delMaterial(mid){
+			var msg='确定删除该资料?';
+			top.$.jBox.confirm(msg,'系统提示',function(v,h,f){
+				if(v=='ok'){
+					$.ajax({
+						url : "${ctx}/baike/cmBaikeProduct/delMaterialinfo",
+						data : {"mid":mid},
+						type : 'post',
+						success : function(data){
+							top.$.jBox.tip('删除资料成功', 'success');
+							$("#mata").load(location.href+" #mata>*","");
+							<%--window.location.href = "${ctx}/baike/cmBaikeProduct/form?commodityType=1";--%>
+						},
+						error : function(){
+							alert(222);
+						}
+					})
+				}
+				// top.$.jBox.tip('删除成功', 'success');
+				// window.location.reload();
+				return;
+			},{buttonsFocus:1,persistent: true});
+		}
+		//编辑资料
+		function upMaterial(mid){
+			$.ajax({
+				url : "${ctx}/baike/cmBaikeProduct/getMaterialinfo",
+				data : {"mid":mid},
+				type : 'post',
+				success : function(data){
+					$("#info").val(data.referenceType);
+					var content=$("#info").val();
+					// $("#info option[value='3']").prop("selected",true);
+					if(2 == content){
+						document.getElementById("wlzl").style.display='none';
+						document.getElementById("zzzl").style.display='block';
+						document.getElementById("qtzl").style.display='none';
+					}else if(3 == content){
+						document.getElementById("wlzl").style.display='none';
+						document.getElementById("zzzl").style.display='none';
+						document.getElementById("qtzl").style.display='block';
+					}else{
+						document.getElementById("wlzl").style.display='block';
+						document.getElementById("zzzl").style.display='none';
+						document.getElementById("qtzl").style.display='none';
+					}
+					//判断是编辑还是添加 1添加 2编辑
+					if(data.referenceType==1){
+						$("#website").val(data.website);
+						$("#articleName").val(data.articleName);
+						$("#websiteName").val(data.websiteName);
+						$("#publishTimeStr").val(data.publishTimeStr);
+						$("#acitationTimeStr").val(data.acitationTimeStr);
+						document.getElementById("dig").style.display='block';
+					}
+					if(data.referenceType==2){
+						$("#author").val(data.author);
+						$("#workName").val(data.workName);
+						$("#publicationPlace").val(data.publicationPlace);
+						$("#press").val(data.press);
+						$("#publicationYearStr").val(data.publicationYearStr);
+						$("#acitationWeb").val(data.acitationWeb);
+						document.getElementById("dig").style.display='block';
+					}
+					document.getElementById("dig").tabIndex=2;
+					document.getElementById("dig").lang=mid;
+				},
+				error : function(){
+					alert(222);
+				}
+			})
+		}
 	</script>
 </head>
 <body>
-	<ul class="nav nav-tabs">
-		<li><a href="${ctx}/baike/cmBaikeProduct/?commodityType=${cmBaikeProduct.commodityType}&publishSource=${cmBaikeProduct.publishSource}">${commodityType}</a></li>
-		<li class="active"><a href="${ctx}/baike/cmBaikeProduct/check?id=${cmBaikeProduct.id}">查看</a></li>
-	</ul><br/>
-	<form:form id="inputForm" modelAttribute="cmBaikeProduct" action="${ctx}/baike/cmBaikeProduct/save" method="post" class="form-horizontal">
-		<div class="control-group">
-			<label class="control-label titleClass">${commodityType}简述</label>
+<ul class="nav nav-tabs">
+	<li><a href="${ctx}/baike/cmBaikeProduct/?commodityType=${cmBaikeProduct.commodityType}">采美词条</a></li>
+	<li class="active"><a id="createEntryGuidance"  href="${ctx}/baike/cmBaikeProduct/form?id=${cmBaikeProduct.id}&commodityType=${cmBaikeProduct.commodityType}">${not empty cmBaikeProduct.id?'编辑':'添加'}</a></li>
+</ul><br/>
+<%--	<div>--%>
+<%--		<button onclick="showlog_result(true,'展示正确内容的弹框')">展示正确弹框</button>--%>
+<%--	</div>--%>
+<%--<div><input type="button" onclick="digCk()" value="参考资料"></div>--%>
+<div id="dialogmask" class="dialogmask opacity"></div>
+<div id="dig" class="ckzl" style="display: none"> 
+	<div id="dig_content" class="digcontent">
+		<div>
+			<a onclick="addZl()">添加参考资料</a>
+			<a onclick="removeZl()">引用已有资料</a>
 		</div>
-		<div class="control-group">
-			<label class="control-label">${commodityType}名称:</label>
-			<div class="controls">
-				${cmBaikeProduct.name}
-			</div>
+		<%--已有资料--%>
+		<div class="control-group" id="yyzl" style="display: none">
+			<label class="control-label titleClass">参考资料</label>
+			<c:forEach items="${materialInfo}" var="videoFile" varStatus="statusIndex">
+				<c:if test="${videoFile.referenceType eq '1'}">
+					<div class="controls applicationsan" style="margin-top: 5px">
+						<span class="del">[${statusIndex.index}]</span>
+						<span class="del"><a href="${videoFile.website}" target="_blank">${videoFile.articleName}(文章名称)</a></span>
+						<span class="del">${videoFile.websiteName}(网站名称)</span>
+						<span class="del">${videoFile.publishTime}(发表日期)</span>
+						<span class="del">${videoFile.acitationTime}(引文日期)</span>
+						<a onclick="saveMataInfo(${videoFile.id})">引用资料</a>
+					</div>
+				</c:if>
+				<c:if test="${videoFile.referenceType eq '2'}">
+					<div class="controls applicationsan" style="margin-top: 5px">
+						<span class="del">[${statusIndex.index}]</span>
+						<span class="del">${videoFile.author}(作者)</span>
+						<span class="del">${videoFile.workName}(著作名)</span>
+						<span class="del">${videoFile.publicationPlace}(出版地)</span>
+						<span class="del">${videoFile.press}(出版社)</span>
+						<span class="del">${videoFile.publicationYear}(出版年)</span>
+						<span class="del">${videoFile.acitationWeb}(引文页码)</span>
+						<a onclick="saveMataInfo(${videoFile.id})">引用资料</a>
+
+					</div>
+				</c:if>
+				<c:if test="${videoFile.referenceType eq '3'}">
+					<div class="controls applicationsan" style="margin-top: 5px">
+						<span class="del">[${statusIndex.index}]</span>
+						<span class="del">${videoFile.referenceDescription}(参考资料说明)</span>
+						<span class="del">${videoFile.imageDescription}(图片描述)</span>
+						<div class="conList">
+								<%--							onclick="imgSizeChange()"--%>
+							<img id="imgaa"  src="${videoFile.imageUrl}" height="50px" width="50px" >(图片)</input>
+						</div>
+						<a onclick="saveMataInfo(${videoFile.id})">引用资料</a>
+
+					</div>
+				</c:if>
+			</c:forEach>
 		</div>
-		<div class="control-group">
-			<label class="control-label">${commodityType}别名:</label>
-			<div class="controls">
-				${cmBaikeProduct.alias}
+
+
+		<div id="zl" style="margin-top: 10px">
+			<div class="control-group" style="margin-left: 100px">
+				<label id="" class="red">*</label>
+				<label class="control-label">参考资料类型:</label>
+				<select id="info" style="margin-left: 20px" onchange="ckzl_change()">
+					<option id="zllx1" value="1">网络资料</option>
+					<option id="zllx2" value="2">著作资料</option>
+					<option id="zllx3" value="3">其他资料</option>
+				</select>
+			</div>
+			<%--网络资料--%>
+			<div class="wlzl" style="display: block" id="wlzl">
+				<div class="control-group" style="margin-left: 100px;margin-top: 30px">
+					<label id="" class="red">*</label>
+					<label class="control-label keyClass">输入网址:</label>
+					<input id="website" style="margin-left: 45px" htmlEscape="false" class="input-xlarge " placeholder="请以http(s)开头"/>
+				</div>
+				<div class="control-group" style="margin-left: 100px;margin-top: 30px">
+					<label id="" class="red">*</label>
+					<label class="control-label keyClass">文章名字:</label>
+					<input id="articleName" style="margin-left: 45px" htmlEscape="false" class="input-xlarge " placeholder="请输入文章名字"/>
+				</div>
+				<div class="control-group" style="margin-left: 100px;margin-top: 30px">
+					<label id="" class="red">*</label>
+					<label class="control-label keyClass">网站名称:</label>
+					<input  id="websiteName" style="margin-left: 45px" htmlEscape="false" class="input-xlarge " placeholder="请输入网站名称 如:新华网"/>
+				</div>
+				<div class="control-group" style="margin-left: 100px;margin-top: 30px">
+					<label class="control-label keyClass">发表日期:</label>
+					<input id="publishTimeStr" name="publishTime" style="margin-left: 55px" type="text" readonly="readonly" maxlength="20" class="input-medium Wdate "
+						   value="<fmt:formatDate value="${cmBaikeProduct.publishTime}" pattern="yyyy-MM-dd HH:mm:ss"/>"
+						   onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:false});"/>
+				</div>
+				<div class="control-group" style="margin-left: 100px;margin-top: 30px">
+					<label class="control-label keyClass">引文日期:</label>
+					<input id="acitationTimeStr" name="publishTime" style="margin-left: 55px" type="text" readonly="readonly" maxlength="20" class="input-medium Wdate "
+						   value="<fmt:formatDate value="${cmBaikeProduct.publishTime}" pattern="yyyy-MM-dd HH:mm:ss"/>"
+						   onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:false});"/>
+				</div>
+				<div class="form-actions" align="center">
+					<%--			onclick="checkInfo()"--%>
+					<input id="" onclick="saveInfo()" class="btn btn-primary" type="submit" value="确 定"/>&nbsp;
+					<input id="" class="btn" type="button" value="取 消" onclick="cantral()"/>
+				</div>
+			</div>
+			<%--著作资料--%>
+			<div class="zzzl" style="display: none" id="zzzl">
+				<div class="control-group" style="margin-left: 100px;margin-top: 30px">
+					<label id="" class="red">*</label>
+					<label class="control-label keyClass">作者:</label>
+					<input id="author" style="margin-left: 70px" htmlEscape="false" class="input-xlarge " placeholder="请输入作者名称 多个作者使用英文都好隔开"/>
+				</div>
+				<div class="control-group" style="margin-left: 100px;margin-top: 30px">
+					<label id="" class="red">*</label>
+					<label class="control-label keyClass">著作名:</label>
+					<input id="workName" style="margin-left: 60px" htmlEscape="false" class="input-xlarge " placeholder="请输入著作名"/>
+				</div>
+				<div class="control-group" style="margin-left: 100px;margin-top: 30px">
+					<label class="control-label keyClass">出版地:</label>
+					<input id="publicationPlace" style="margin-left: 70px" htmlEscape="false" class="input-xlarge " placeholder="请输入出版地信息"/>
+				</div>
+				<div class="control-group" style="margin-left: 100px;margin-top: 30px">
+					<label id="" class="red">*</label>
+					<label class="control-label keyClass">出版社:</label>
+					<input id="press" style="margin-left: 60px" htmlEscape="false" class="input-xlarge " placeholder="请输入出版社名称"/>
+				</div>
+				<div class="control-group" style="margin-left: 100px;margin-top: 30px">
+					<label class="control-label keyClass">出版年:</label>
+					<input id="publicationYearStr" name="publishTime" style="margin-left: 65px" type="text" readonly="readonly" maxlength="20" class="input-medium Wdate "
+						   value="<fmt:formatDate value="${cmBaikeProduct.publishTime}" pattern="yyyy-MM-dd HH:mm:ss"/>"
+						   onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:false});"/>
+				</div>
+				<div class="control-group" style="margin-left: 100px;margin-top: 30px">
+					<label class="control-label keyClass">引文编码:</label>
+					<input id="acitationWeb" style="margin-left: 60px" htmlEscape="false" class="input-xlarge " placeholder="请输入引用著作的页码 如 100 121"/>
+				</div>
+				<div class="form-actions" align="center">
+					<%--			onclick="checkInfo()"--%>
+					<input id="" onclick="saveInfo()" class="btn btn-primary" type="submit" value="确 定"/>&nbsp;
+					<input id="" class="btn" type="button" value="取 消" onclick="cantral()"/>
+				</div>
+			</div>
+			<%--其他资料--%>
+			<div class="qtzl" style="display:none;" id="qtzl">
+				<div class="control-group" style="margin-left: 20px">
+					<label id="" class="red">*</label>
+					<label class="control-label keyClass">参考资料说明:</label>
+					<textarea id="referenceDescription" type="text"  style="position: relative;height: 100px; width: 450px;" maxlength="50" ></textarea>
+					<label style="margin-left: 150px">其他类型参考资料,填写格式请参阅<a href="">《信息与文献 参考文献著录规则 GB/T 7714-2015》</a></label>
+				</div>
+				<div class="control-group" style="margin-left: 20px">
+					<label class="control-label keyClass">图片描述:</label>
+					<input id="imageDescription" style="margin-left: 45px" htmlEscape="false" class="input-xlarge " placeholder="请输入其他参考资料的具体描述"/>
+				</div>
+				<div class="control-group" style="margin-top: 28px">
+					<label class="control-label">图片上传:</label>
+					<div class="main-image-list" style="display: flex;flex-wrap: wrap">
+						<div class="controls upload-content iconBox mainImageBox" id="mainImageBox">
+							<div class="conList">
+								<hidden id="image" path="image" htmlEscape="false" maxlength="255" class="input-xlarge "/>
+								<sys:ckfinder input="image" type="images" uploadPath="/photo" selectMultiple="false" maxWidth="100"
+											  maxHeight="100"/>
+								<br>
+								<label style="margin-left: 150px">请上传引用的图片资源,需同时上传资料的封面、以及含有对应具体内容的图片;注意:图片需要保证完整、不可遮挡且清晰</label>
+							</div>
+						</div>
+					</div>
+				</div>
+				<div class="form-actions" align="center">
+					<%--			onclick="checkInfo()"--%>
+					<input id="" onclick="saveInfo()" class="btn btn-primary" type="submit" value="确 定"/>&nbsp;
+					<input id="" class="btn" type="button" value="取 消" onclick="cantral()"/>
+				</div>
 			</div>
 		</div>
-		<div class="control-group">
-			<label class="control-label">${commodityType}概述:</label>
-			<div class="controls" style="width:812px">
-				${cmBaikeProduct.discription}
-            </div>
+	</div>
+</div>
+<%--	<div id="dialogmask" class="dialogmask opacity"></div>--%>
+<div id="dialog" class="box" style="display: none"> 
+	<div id="dialog_content" class="dialogcontent">
+		<%--			<div id="logcontent" class="logcontent"><a herf="https://www.baidu.com">三生三世</a></div>--%>
+		<%--			<a herf="https://www.baidu.com">十里桃花</a>--%>
+		<div><h4>创建词条引导</h4></div>
+		<br>
+		<div>欢迎进入创建词条引导,为便于您更好的通过审核,请务必确保您已知晓百科词条的<a href="${ctx}/baike/cmBaikeProduct/entry">编辑须知</a>,如有疑问,您可以<a>点此</a>求助采美工作人员。</div>
+		<br>
+		<div><h5>声明</h5></div>
+		<br>
+		<div>在正式创建词条前,首先请你承诺:</div>
+
+		<div>1.不在百科添加广告性质的内容, 如联系方式,官方网站链接等;</div>
+
+		<div>2.不在百科编写涉及反动,违法犯罪,色情,暴力的内容;</div>
+
+		<div>3.不在百科编写虚假的、捏造的、恶搞的、缺乏根据的内容;</div>
+
+		<div>4.不侵犯他人合理权益;</div>
+
+		<div>5.接受违反以上规则时,百科账号会被封禁的结果。</div>
+		<br>
+		<div><h5>词条名</h5></div>
+		<br>
+		<div>成功创建词条的首要条件是了解一些基础知识!</div>
+		<br>
+		<div><h5>■什么是词条?</h5></div>
+		<br>
+		<div>词条指的是对于单一事物内容的介绍,例如技术,成分等。每个词条都有属于自己的名称,你可以通过搜索词条的名称来找到它们。</div>
+		<div>已有词条重名?创建多义词!</div>
+		<div>与已有词条意义相同?反馈同义词!</div>
+		<br>
+		<div><h5>■什么是规范的词条名?</h5></div>	<br>
+
+		<div>采美百科规范的词条名是一个专有名词,请使用正式的全称或最广为人知的常见名。</div>
+		<div>例如:皮秒激光美容、光子嫩肤、线粒体、葡聚糖等</div>
+		<br>
+		<div><h5>主题</h5></div>	<br>
+		<div>恭喜你已经完成了创建词条的第一步!现在想一想你要创建的词条属于什么类型?</div>
+		<div>选择正确的类型,精确定位你的创建难点所在!</div>
+
+
+		<br>
+		<div><h5>产品成分类词条</h5></div>	<br>
+		<div>如玻尿酸钠、葡聚糖、虎杖等</div>
+
+
+		<br>
+		<div><h5>产品技术词条</h5></div>	<br>
+		<div>如射频、皮秒、808半导体激光技术、透热疗法、448KHz、LDM水滴提升等</div>
+		<br>
+		<div><h5>词条创建要求</h5></div>	<br>
+		<div><h6>1.描述客观</h6></div>
+		<div>描述事物时以事实为依
+			据不加入感情色彩,不掺杂个人的好恶。百科词条
+			是客观内容的集合,只站在第三方立场,以事实说话。例如,
+			某篮球运动员某一场的投篮命中率较差,一般的表述是命中率低,
+			甚至使用“打铁”之类的贬义词。而这样的表述模糊不清,多少算低,多
+			少算高各有标准;同时也会造成支持者和反对者的口水战。所以直接把赛事数据
+			列出,是高是低各自评说即可。另外在筛选内容时,也要保证公正客观,尤其对于争
+			议性内容,保留多方观点并附以可靠的参考资料,是处理争议内容较为可取的做法。</div>
+		<br>
+		<div><h6>2.修饰适当</h6></div>	<br>
+		<div>百科词条提倡用语“客观”,在一般性的叙述中(区别于引用原文的引述)尽量少的使用形容词和程度副词(最XXXX、十分XXX……)。</div>
+		<br>
+		<div><h6>3.参考资料要有效</h6></div>	<br>
+
+
+		<div>参考资料是正文内容客观的另一种表现形式。词条某条内容,光靠“说”自己客观是不够的,应以可信有效的参考资料作为佐证来源,才能证明该内容是否已获得公众知晓或认可。
+			特色词条应该保证一半以上的信息点都是有可靠来源的(由科学百科权威认证的特色词条,应确保词条正文中(含概述)每个目录模块中都有至少一条权威参考资料)。
+			这里的有来源不是要求一字一句的复制粘贴,而是“内容虽经必要提炼、整理,但却不失原意”。例如前述的两个姜文词条中的文段,整理后的内容要素和观点依然来自参考资料,并没有增减其原意。
 		</div>
-		<div class="control-group">
-			<label class="control-label">${commodityType}概述:</label>
-			<div class="controls">
-				${cmBaikeProduct.productLink}
-            </div>
+
+		<br>
+		<div>可靠的来源一般包括文献、书籍等出版物、主流媒体发布的消息、政府或公众机构官网发布的内容等。关于可靠的来源的具体定义,请参阅百度百科:参考资料。</div>
+		<br>
+
+
+		<div>如,“<a>牛顿第一运动定律</a>”词条中,定律内容、发现者、适用范围等都是必不可少的重要内容,这些部分的缺失会导致读者对词条内容的错误认识。</div>
+		<div align="center"><input class="btn btn-primary" type="button" onclick="dialog()" value="我已阅读并知晓"></div>  
+	</div>
+</div>
+<form:form id="inputForm" modelAttribute="cmBaikeProduct" action="${ctx}/baike/cmBaikeProduct/save" method="post" class="form-horizontal">
+	<form:hidden path="id"/>
+	<form:hidden path="fileIds"/>
+	<form:hidden path="commodityType"/>
+	<form:hidden path="emptyNum"/>
+	<sys:message content="${message}"/>
+	<%--		<div class="control-group">--%>
+	<%--			<label class="control-label titleClass">${commodityType}简述</label>--%>
+	<%--		</div>--%>
+	<div class="control-group">
+		<label class="control-label">词条名称:</label>
+		<div class="controls">
+			<form:input path="name" htmlEscape="false" class="input-xlarge "/>
+			<label id="nameSensitiveWords" class="red"></label>
 		</div>
-		<div class="control-group">
-			<label class="control-label">${commodityType}图片:</label>
-			<div class="controls">
-				<a href="${cmBaikeProduct.image}" style="cursor: pointer;margin-left: 20px" target="_blank"><img src="${cmBaikeProduct.image}" style="width: 120px"></a>
-			</div>
+	</div>
+	<div class="control-group">
+		<label class="control-label">义项名:</label>
+		<div class="controls">
+			<form:input path="alias" htmlEscape="false" class="input-xlarge " placeholder="输入英文名或者其他名称" maxlength="50" readonly="true"/>
+<%--			<label id="yixian" onclick="digCk(1)">[1]</label>--%>
+<%--			<div style="display:none;" id="yixiandiv"><label>①</label><br></div>--%>
+		</div>
+	</div>
+	<div class="control-group">
+		<label class="control-label">词条概述:</label>
+		<div class="controls" style="width:812px">
+			<textarea type="text" id="discription" name="discription" style="position: relative;height: 100px; width: 450px;" maxlength="50" >${cmBaikeProduct.discription}</textarea>
+			<label id="discriptionSensitiveWords" class="red"></label>
 		</div>
-        <div style="${cmBaikeProduct.commodityType eq 2?'':'display:none'}" >
-            <div class="control-group">
-                <label class="control-label titleClass">正品识别</label>
-            </div>
-            <div class="control-group">
-                <label class="control-label">认证链接:</label>
-                <div class="controls">
-					${cmBaikeProduct.authLink}
-                </div>
-            </div>
-			<div class="control-group">
-				<label class="control-label">认证二维码:</label>
-				<div class="controls">
-					<a href="${cmBaikeProduct.authQrCode}" style="cursor: pointer;margin-left: 20px" target="_blank"><img src="${cmBaikeProduct.authQrCode}" style="width: 120px"></a>
+	</div>
+	<%--		<div class="control-group">--%>
+	<%--			<label class="control-label">供应商链接:</label>--%>
+	<%--			<div class="controls">--%>
+	<%--				<form:select path="shopId" class="input-xlarge ">--%>
+	<%--					<form:option value="" label="选择供应商"/>--%>
+	<%--					<form:options items="${cmBaikeProduct.shopList}" class="input-xlarge" itemLabel="name" itemValue="shopID" htmlEscape="false"/>--%>
+	<%--				</form:select>--%>
+	<%--			</div>--%>
+	<%--		</div>--%>
+	<%--		<div class="control-group" style="position: relative">--%>
+	<%--			<label class="control-label">${commodityType}链接:</label>--%>
+	<%--			<div class="controls">--%>
+	<%--				<form:input path="productLink" htmlEscape="false" class="input-xxlarge " placeholder="输入采美商城的相关商品详情链接,便于用户精准找到"/>--%>
+	<%--                <label id="productLinkSensitiveWords" class="red"></label>--%>
+	<%--			</div>--%>
+	<%--		</div>--%>
+	<div class="control-group" style="width: 1000px">
+		<label class="control-label keyClass">概述图册:</label>
+		<div class="display-image-list" style="display: flex;flex-wrap: wrap">
+			<c:forEach items="${cmBaikeProduct.displayImageList}" var="displayImage" varStatus="index">
+				<div class="controls upload-content iconBox" id="displayImageBox${index.index}">
+					<div class="conList">
+						<form:hidden id="displayImage${index.index}" path="displayImageList[${index.index}]" htmlEscape="false"
+									 maxlength="255"
+									 class="input-xlarge "/>
+						<sys:ckfinder input="displayImage${index.index}" type="images" uploadPath="/photo"
+									  selectMultiple="false"
+									  maxWidth="100" maxHeight="100"/><br>
+					</div>
 				</div>
-			</div>
-        </div>
-		<div class="paramList">
-			<div class="control-group">
-				<label class="control-label titleClass">${commodityType}参数</label>
-			</div>
-			<c:forEach items="${cmBaikeProduct.paramList}" var="productParam" varStatus="index">
-				<div class="control-group">
-					<label class="control-label">${productParam.name}:</label>
-					<div class="controls">
-						${productParam.content}
+			</c:forEach>
+			<c:set var="size" value="${empty cmBaikeProduct.displayImageList?0:cmBaikeProduct.displayImageList.size()}"/>
+			<c:forEach var="emptyIndex" begin="${size}" end="${5}">
+				<div class="controls upload-content iconBox conList ${emptyIndex eq 0?'':'hide-pic'}" id="displayImageBox${emptyIndex}" >
+					<div class="conList">
+						<form:hidden id="displayImage${emptyIndex}" path="displayImageList[${emptyIndex}]" htmlEscape="false"
+									 maxlength="255"
+									 class="input-xlarge "/>
+						<sys:ckfinder input="displayImage${emptyIndex}" type="images" uploadPath="/photo"
+									  selectMultiple="false"
+									  maxWidth="100" maxHeight="100"/><br>
 					</div>
 				</div>
 			</c:forEach>
 		</div>
+	</div>
+
+	<div class="control-group">
+<%--		<div class="control-group">--%>
+<%--			<label class="control-label keyClass">相关视频(各视频大小不超过50M,最多上传6个)</label>--%>
+<%--		</div>--%>
+<%--		<div class="control-group">--%>
+<%--			<label class="control-label">标题:</label>--%>
+<%--			<div class="controls">--%>
+<%--				<input id="fileTitle" style="width: 457px" htmlEscape="false" >--%>
+<%--			</div>--%>
+<%--			<label class="control-label" style="margin-top:10px">视频路径:</label>--%>
+<%--			<div class="controls" style="margin-top:10px">--%>
+<%--				<input id="uploadFileName" type="text" style="display: inline;" placeholder="支持mp4" disabled="true" class="input-xlarge required" />--%>
+<%--				<div class="upload">--%>
+<%--					<input type="file" name="file" id="productFile" accept=".mp4" >选择文件--%>
+<%--				</div>--%>
+<%--				<div class="add-submit">--%>
+<%--					<input id="addSubmit" type="button" value="上传"/>上传&nbsp;--%>
+<%--				</div>--%>
+<%--				<div class="upload-loading">--%>
+<%--					<img alt="gif" src="/static/images/upload.gif" width="32px" border="none">--%>
+<%--				</div>--%>
+<%--			</div>--%>
+<%--		</div>--%>
 		<div class="control-group">
-			<label class="control-label keyClass">${commodityType}优点:</label>
-			<div class="controls" style="width:812px">
-				${cmBaikeProduct.advantage}
+						<div class="control-group">
+							<label class="control-label keyClass">相关视频</label>
+						</div>
+			<div id='file-list-display' style="margin-left:180px">
+				<c:if test="${not empty cmBaikeProduct.videoList}">
+					<c:forEach items="${cmBaikeProduct.videoList}" var="videoFile" varStatus="statusIndex">
+						<p>${videoFile.fileTitle}
+							<span class="del"><a onclick="previewVideo('${videoFile.ossUrl}')">预览</a></span>
+<%--							<span class="del" onclick="dataDelete(this,'${videoFile.id}')">删除</span>--%>
+						</p>
+					</c:forEach>
+				</c:if>
 			</div>
 		</div>
+	</div>
+	<%--		${cmBaikeProduct.commodityType eq 2?'':}--%>
+	<div style="display:none" >
 		<div class="control-group">
-			<label class="control-label keyClass">${commodityType}缺点:</label>
-			<div class="controls" style="width:812px">
-				${cmBaikeProduct.disadvantage}
-			</div>
+			<label class="control-label titleClass">正品识别</label>
 		</div>
 		<div class="control-group">
-			<label class="control-label keyClass">${commodityType}原理:</label>
-			<div class="controls" style="width:812px">
-				${cmBaikeProduct.principle}
+			<label class="control-label">认证链接:</label>
+			<div class="controls">
+				<form:input path="authLink" htmlEscape="false" class="input-xxlarge " cssStyle="position: relative"/>
+				<label id="authLinkSensitiveWords" class="red"></label>
 			</div>
 		</div>
 		<div class="control-group">
-			<label class="control-label">SEO关键词:</label>
-			<div class="controls">
-					${cmBaikeProduct.seoKeyword}
+			<label class="control-label">认证二维码:</label>
+			<div class="auth-qrCode-list" style="display: flex;flex-wrap: wrap">
+				<div class="controls upload-content iconBox authQrCodeBox" id="authQrCodeBox">
+					<div class="conList">
+						<form:hidden id="authQrCode" path="authQrCode" htmlEscape="false" maxlength="255" class="input-xlarge "/>
+						<sys:ckfinder input="authQrCode" type="images" uploadPath="/photo" selectMultiple="false" maxWidth="100"
+									  maxHeight="100"/>
+						<br>
+						<label style="margin-left: 150px">建议图片尺寸210px*210px,并上传白底图片</label>
+					</div>
+				</div>
 			</div>
 		</div>
-		<div class="control-group">
-			<label class="control-label titleClass">${commodityType}档案</label>
+	</div>
+	<div class="control-group paramList">
+		<label class="control-label titleClass">信息栏:</label>
+		<label>(注:未填写的信息将不会显示在词条页上)</label>
+		<div class="controls paramRow" id="paramRow0">
+			<input id="name[0]" name="paramList[0].name" htmlEscape="false" class="input-small "
+				   placeholder="例如:型号" onblur="readflag(0)">
+			<label id="param0SensitiveWords" class="red"></label>
+			<input id="content[0]" name="paramList[0].content" htmlEscape="false" class="input-xlarge "
+				   placeholder="请输入内容" readonly>
+			<label id="content0SensitiveWords" class="red"></label>
 		</div>
-		<div class="control-group">
-			<label class="control-label">品牌:</label>
-			<div class="controls">
-				${cmBaikeProduct.brand}
-			</div>
+		<div class="controls paramRow" id="paramRow1">
+			<input id="name[1]" name="paramList[1].name" htmlEscape="false" class="input-small "
+				   placeholder="例如:性质类型" onblur="readflag(1)">
+			<label id="param1SensitiveWords" class="red"></label>
+			<input id="content[1]" name="paramList[1].content" htmlEscape="false" class="input-xlarge "
+				   placeholder="请输入内容" readonly>
+			<label id="content1SensitiveWords" class="red"></label>
+<%--			<a onclick="deleteParam(1)" style="cursor: pointer">删除</a>--%>
 		</div>
-		<div class="control-group">
-			<label class="control-label">产地:</label>
-			<div class="controls">
-				${cmBaikeProduct.producePlace}
-			</div>
+		<div class="controls paramRow" id="paramRow2">
+			<input id="name[2]" name="paramList[2].name" htmlEscape="false" class="input-small "
+				   placeholder="例如:成分" onblur="readflag(2)">
+			<label id="param2SensitiveWords" class="red"></label>
+			<input id="content[2]" name="paramList[2].content" htmlEscape="false" class="input-xlarge "
+				   placeholder="请输入内容" readonly>
+			<label id="content2SensitiveWords" class="red"></label>
+<%--			<a onclick="deleteParam(2)" style="cursor: pointer">删除</a>--%>
 		</div>
+			<%--			<div class="controls paramRow" id="paramRow3">--%>
+			<%--				<input name="paramList[3].name" htmlEscape="false" class="input-small "--%>
+			<%--					   placeholder="例如:规格">--%>
+			<%--                <label id="param3SensitiveWords" class="red"></label>--%>
+			<%--				<input name="paramList[3].content" htmlEscape="false" class="input-xlarge "--%>
+			<%--					   placeholder="输入参数信息">--%>
+			<%--                <label id="content3SensitiveWords" class="red"></label>--%>
+			<%--				<a onclick="deleteParam(3)" style="cursor: pointer">删除</a>--%>
+			<%--			</div>--%>
+			<%--			<div class="controls paramRow" id="paramRow4">--%>
+			<%--				<input name="paramList[4].name" htmlEscape="false" class="input-small "--%>
+			<%--					   placeholder="例如:性质类型">--%>
+			<%--                <label id="param4SensitiveWords" class="red"></label>--%>
+			<%--				<input name="paramList[4].content" htmlEscape="false" class="input-xlarge "--%>
+			<%--					   placeholder="输入参数信息">--%>
+			<%--                <label id="content4SensitiveWords" class="red"></label>--%>
+			<%--				<a onclick="deleteParam(4)" style="cursor: pointer">删除</a>--%>
+			<%--			</div>--%>
+			<%--			<div class="controls paramRow" id="paramRow5">--%>
+			<%--				<input name="paramList[5].name" htmlEscape="false" class="input-small "--%>
+			<%--					   placeholder="例如:性质类型">--%>
+			<%--                <label id="param5SensitiveWords" class="red"></label>--%>
+			<%--				<input name="paramList[5].content" htmlEscape="false" class="input-xlarge "--%>
+			<%--					   placeholder="输入参数信息">--%>
+			<%--                <label id="content5SensitiveWords" class="red"></label>--%>
+			<%--				<a onclick="deleteParam(5)" style="cursor: pointer">删除</a>--%>
+			<%--			</div>--%>
+	</div>
+<%--	<div class="control-group"><button class="btn btn-primary" type="button" style="margin-left: 500px" onclick="addParam()">增加信息项</button></div>--%>
+	<div class="control-group paramListall">
+		<label class="control-label titleClass">正文:</label><hr>
 		<div class="control-group">
-			<label class="control-label">上市时间:</label>
-			<div class="controls">
-				${cmBaikeProduct.marketTime}
+			<label class="control-label">定义:</label>
+			<div class="controls definitionyi">
+				<input  htmlEscape="false" class="input-xlarge pla" placeholder="(定义)一级目录" value="${textInfo[0].dictionaryContent}"/>
+<%--				<button class="btn btn-primary" id="yidefinitionyi" type="button" style="margin-left: 10px" onclick="addDiction(1,'一级目录','definitionyi',0,0,this.id)">一级目录</button>--%>
+<%--				<button class="btn btn-primary" id="erdefinitionyi" type="button" style="margin-left: 10px" onclick="addDiction(1,'二级目录','definitionyi',1,0,this.id)">二级目录</button>--%>
+<%--				<button class="btn btn-primary" id="sandefinitionyi" type="button" style="margin-left: 10px" onclick="addDiction(1,'内容','definitionyi',2,0,this.id)">内容</button>--%>
+			</div>
+			<div class="controls definitioner" style="margin-top: 5px">
+				<input  htmlEscape="false" class="input-xlarge pla" placeholder="(定义)二级目录"/>
+<%--				<button class="btn btn-primary" id="yidefinitioner" type="button" style="margin-left: 10px" onclick="addDiction(1,'一级目录','definitioner',0,0,this.id)">一级目录</button>--%>
+<%--				<button class="btn btn-primary" id="erdefinitioner" type="button" style="margin-left: 10px" onclick="addDiction(1,'二级目录','definitioner',1,0,this.id)">二级目录</button>--%>
+<%--				<button class="btn btn-primary" id="sandefinitioner" type="button" style="margin-left: 10px" onclick="addDiction(1,'内容','definitioner',2,0,this.id)">内容</button>--%>
+			</div>
+			<div class="controls definitionsan" style="margin-top: 5px">
+				<textarea class="pla" placeholder="(定义)内容" type="text" style="position: relative;height: 100px; width: 450px;"  ></textarea>
+<%--				<button class="btn btn-primary" id="yidefinitionsan" type="button" style="margin-left: 10px" onclick="addDiction(1,'一级目录','definitionsan',0,0,this.id)">一级目录</button>--%>
+<%--				<button class="btn btn-primary" id="erdefinitionsan" type="button" style="margin-left: 10px" onclick="addDiction(1,'二级目录','definitionsan',1,0,this.id)">二级目录</button>--%>
+<%--				<button class="btn btn-primary" id="sandefinitionsan" type="button" style="margin-left: 10px" onclick="addDiction(1,'内容','definitionsan',2,0,this.id)">内容</button>--%>
 			</div>
 		</div>
+
 		<div class="control-group">
-			<label class="control-label">供应商:</label>
-			<div class="controls">
-				${cmBaikeProduct.company}
+			<label class="control-label">原理:</label>
+			<div class="controls principleyi">
+				<input  htmlEscape="false" class="input-xlarge pla" placeholder="(原理)一级目录"/>
+<%--				<button class="btn btn-primary" id="yiprincipleyi" type="button" style="margin-left: 10px" onclick="addDiction(2,'一级目录','principleyi',0,0,this.id)">一级目录</button>--%>
+<%--				<button class="btn btn-primary" id="erprincipleyi" type="button" style="margin-left: 10px" onclick="addDiction(2,'二级目录','principleyi',1,0,this.id)">二级目录</button>--%>
+<%--				<button class="btn btn-primary" id="sanprincipleyi" type="button" style="margin-left: 10px" onclick="addDiction(2,'内容','principleyi',2,0,this.id)">内容</button>--%>
+
 			</div>
-		</div>
-		<div class="control-group" style="position: relative">
-			<label class="control-label">NMPA认证时间:</label>
-			<div class="controls">
-				${cmBaikeProduct.nmpaTime}
+			<div class="controls principleer" style="margin-top: 5px">
+				<input  htmlEscape="false" class="input-xlarge pla" placeholder="(原理)二级目录"/>
+<%--				<button class="btn btn-primary" id="yiprincipleer" type="button" style="margin-left: 10px" onclick="addDiction(2,'一级目录','principleer',0,0,this.id)">一级目录</button>--%>
+<%--				<button class="btn btn-primary" id="erprincipleer" type="button" style="margin-left: 10px" onclick="addDiction(2,'二级目录','principleer',1,0,this.id)">二级目录</button>--%>
+<%--				<button class="btn btn-primary" id="sanprincipleer" type="button" style="margin-left: 10px" onclick="addDiction(2,'内容','principleer',2,0,this.id)">内容</button>--%>
 			</div>
-		</div>
-		<div class="control-group" style="width: 1000px">
-			<label class="control-label keyClass">${commodityType}认证:</label>
-			<div class="controls">
-				<c:forEach items="${cmBaikeProduct.authImageList}" var="authImage" varStatus="index">
-					<a href="${authImage}" style="cursor: pointer;margin-left: 20px" target="_blank"><img src="${authImage}" style="width: 120px"></a>
-				</c:forEach>
+			<div class="controls principlesan" style="margin-top: 5px">
+				<textarea class="pla" placeholder="(原理)内容" type="text" style="position: relative;height: 100px; width: 450px;"  ></textarea>
+<%--				<button class="btn btn-primary" id="yiprinciplesan" type="button" style="margin-left: 10px" onclick="addDiction(2,'一级目录','principlesan',0,0,this.id)">一级目录</button>--%>
+<%--				<button class="btn btn-primary" id="erprinciplesan" type="button" style="margin-left: 10px" onclick="addDiction(2,'二级目录','principlesan',1,0,this.id)">二级目录</button>--%>
+<%--				<button class="btn btn-primary" id="sanprinciplesan" type="button" style="margin-left: 10px" onclick="addDiction(2,'内容','principlesan',2,0,this.id)">内容</button>--%>
 			</div>
 		</div>
+
 		<div class="control-group">
-			<label class="control-label keyClass">适应症:</label>
-			<div class="controls" style="width:812px">
-				${cmBaikeProduct.adaptiveMan}
+			<label class="control-label">特点:</label>
+			<div class="controls characteristicyi">
+				<input  htmlEscape="false" class="input-xlarge pla" placeholder="(特点)一级目录"/>
+<%--				<button class="btn btn-primary" id="yicharacteristicyi" type="button" style="margin-left: 10px" onclick="addDiction(3,'一级目录','characteristicyi',0,0,this.id)">一级目录</button>--%>
+<%--				<button class="btn btn-primary" id="ercharacteristicyi" type="button" style="margin-left: 10px" onclick="addDiction(3,'二级目录','characteristicyi',1,0,this.id)">二级目录</button>--%>
+<%--				<button class="btn btn-primary" id="sancharacteristicyi" type="button" style="margin-left: 10px" onclick="addDiction(3,'内容','characteristicyi',2,0,this.id)">内容</button>--%>
+
 			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label keyClass">不适应人群:</label>
-			<div class="controls" style="width:812px">
-				${cmBaikeProduct.unAdaptiveMan}
+			<div class="controls characteristicer" style="margin-top: 5px">
+				<input  htmlEscape="false" class="input-xlarge pla" placeholder="(特点)二级目录"/>
+<%--				<button class="btn btn-primary" id="yicharacteristicer" type="button" style="margin-left: 10px" onclick="addDiction(3,'一级目录','characteristicer',0,0,this.id)">一级目录</button>--%>
+<%--				<button class="btn btn-primary" id="ercharacteristicer" type="button" style="margin-left: 10px" onclick="addDiction(3,'二级目录','characteristicer',1,0,this.id)">二级目录</button>--%>
+<%--				<button class="btn btn-primary" id="sancharacteristicer" type="button" style="margin-left: 10px" onclick="addDiction(3,'内容','characteristicer',2,0,this.id)">内容</button>--%>
+			</div>
+			<div class="controls characteristicsan" style="margin-top: 5px">
+				<textarea class="pla" placeholder="(特点)内容" type="text" style="position: relative;height: 100px; width: 450px;"  ></textarea>
+				<label id="3" class="red"></label>
+<%--				<button class="btn btn-primary" id="yicharacteristicsan" type="button" style="margin-left: 10px" onclick="addDiction(3,'一级目录','characteristicsan',0,0,this.id)">一级目录</button>--%>
+<%--				<button class="btn btn-primary" id="ercharacteristicsan" type="button" style="margin-left: 10px" onclick="addDiction(3,'二级目录','characteristicsan',1,0,this.id)">二级目录</button>--%>
+<%--				<button class="btn btn-primary" id="sancharacteristicsan" type="button" style="margin-left: 10px" onclick="addDiction(3,'内容','characteristicsan',2,0,this.id)">内容</button>--%>
 			</div>
 		</div>
+
 		<div class="control-group">
-			<label class="control-label keyClass">注意事项:</label>
-			<div class="controls" style="width:812px">
-				${cmBaikeProduct.aroundOperation}
+			<label class="control-label">应用:</label>
+			<div class="controls applicationyi">
+				<input  htmlEscape="false" class="input-xlarge pla" placeholder="(应用)一级目录"/>
+<%--				<button class="btn btn-primary" id="yiapplicationyi" type="button" style="margin-left: 10px" onclick="addDiction(4,'一级目录','applicationyi',0,0,this.id)">一级目录</button>--%>
+<%--				<button class="btn btn-primary" id="erapplicationyi" type="button" style="margin-left: 10px" onclick="addDiction(4,'二级目录','applicationyi',1,0,this.id)">二级目录</button>--%>
+<%--				<button class="btn btn-primary" id="sanapplicationyi" type="button" style="margin-left: 10px" onclick="addDiction(4,'内容','applicationyi',2,0,this.id)">内容</button>--%>
+
 			</div>
-		</div>
-		<div class="control-group" style="width: 1000px">
-			<label class="control-label keyClass">效果展示:</label>
-			<div class="controls">
-				<c:forEach items="${cmBaikeProduct.displayImageList}" var="displayImage" varStatus="index">
-					<a href="${displayImage}" style="cursor: pointer;margin-left: 20px" target="_blank"><img src="${displayImage}" style="width: 120px"></a>
-				</c:forEach>
+			<div class="controls applicationer" style="margin-top: 5px">
+				<input  htmlEscape="false" class="input-xlarge pla" placeholder="(应用)二级目录"/>
+<%--				<button class="btn btn-primary" id="yiapplicationer" type="button" style="margin-left: 10px" onclick="addDiction(4,'一级目录','applicationer',0,0,this.id)">一级目录</button>--%>
+<%--				<button class="btn btn-primary" id="erapplicationer" type="button" style="margin-left: 10px" onclick="addDiction(4,'二级目录','applicationer',1,0,this.id)">二级目录</button>--%>
+<%--				<button class="btn btn-primary" id="sanapplicationer" type="button" style="margin-left: 10px" onclick="addDiction(4,'内容','applicationer',2,0,this.id)">内容</button>--%>
+			</div>
+			<div class="controls applicationsan" style="margin-top: 5px">
+				<textarea class="pla" placeholder="(应用)内容" type="text" style="position: relative;height: 100px; width: 450px;"  ></textarea>
+<%--				<button class="btn btn-primary" id="yiapplicationsan" type="button" style="margin-left: 10px" onclick="addDiction(4,'一级目录','applicationsan',0,0,this.id)">一级目录</button>--%>
+<%--				<button class="btn btn-primary" id="erapplicationsan" type="button" style="margin-left: 10px" onclick="addDiction(4,'二级目录','applicationsan',1,0,this.id)">二级目录</button>--%>
+<%--				<button class="btn btn-primary" id="sanapplicationsan" type="button" style="margin-left: 10px" onclick="addDiction(4,'内容','applicationsan',2,0,this.id)">内容</button>--%>
 			</div>
 		</div>
-        <div class="questionList">
-            <div class="control-group">
-                <label class="control-label keyClass">常见问题:</label>
-            </div>
-			<c:forEach items="${cmBaikeProduct.questionList}" var="question" varStatus="index">
-				<div class="control-group">
-					<label class="control-label">问题${index.index+1}:</label>
-					<div class="controls">
-						${question.question}
-					</div>
+	</div>
+	<div class="control-group" id="mata">
+		<label class="control-label titleClass">参考资料</label>
+		<c:forEach items="${materialInfo}" var="videoFile" varStatus="statusIndex">
+			<c:if test="${videoFile.referenceType eq '1'}">
+				<div class="controls applicationsan" style="margin-top: 5px">
+					<span class="del">[${statusIndex.index+1}]</span>
+					<span class="del"><a href="${videoFile.website}" target="_blank">${videoFile.articleName}(文章名称)</a></span>
+					<span class="del">${videoFile.websiteName}(网站名称)</span>
+					<span class="del">${videoFile.publishTime}(发表日期)</span>
+					<span class="del">${videoFile.acitationTime}(引文日期)</span>
+					<a class="del" style="margin-left: 100px" onclick="upMaterial(${videoFile.id})">编辑</a>
+					<a onclick="delMaterial(${videoFile.id})">删除</a>
 				</div>
-				<div class="control-group">
-					<label class="control-label">答:</label>
-					<div class="controls">
-						${question.answer}
+			</c:if>
+			<c:if test="${videoFile.referenceType eq '2'}">
+				<div class="controls applicationsan" style="margin-top: 5px">
+					<span class="del">[${statusIndex.index+1}]</span>
+					<span class="del">${videoFile.author}(作者)</span>
+					<span class="del">${videoFile.workName}(著作名)</span>
+					<span class="del">${videoFile.publicationPlace}(出版地)</span>
+					<span class="del">${videoFile.press}(出版社)</span>
+					<span class="del">${videoFile.publicationYear}(出版年)</span>
+					<span class="del">${videoFile.acitationWeb}(引文页码)</span>
+					<a class="del" style="margin-left: 100px" onclick="upMaterial(${videoFile.id})">编辑</a>
+						<%--						<span class="del" onclick="delMaterial(${videoFile.id})">删除</span>--%>
+					<a onclick="delMaterial(${videoFile.id})">删除</a>
+
+				</div>
+			</c:if>
+			<c:if test="${videoFile.referenceType eq '3'}">
+				<div class="controls applicationsan" style="margin-top: 5px">
+					<span class="del">[${statusIndex.index+1}]</span>
+					<span class="del">${videoFile.referenceDescription}(参考资料说明)</span>
+					<span class="del">${videoFile.imageDescription}(图片描述)</span>
+					<div class="conList">
+							<%--							onclick="imgSizeChange()"--%>
+						<img id="imgaa"  src="${videoFile.imageUrl}" height="50px" width="50px" >(图片)</input>
 					</div>
+					<a class="del" style="margin-left: 100px" onclick="upMaterial(${videoFile.id})">编辑</a>
+						<%--						<span class="del" onclick="delMaterial(${videoFile.id})">删除</span>--%>
+					<a onclick="delMaterial(${videoFile.id})">删除</a>
+
 				</div>
-			</c:forEach>
-        </div>
+			</c:if>
+		</c:forEach>
+	</div>
+	<%--		<div class="control-group">--%>
+	<%--			<label class="control-label keyClass">${commodityType}优点:</label>--%>
+	<%--			<div class="controls" style="width:812px">--%>
+	<%--				<form:textarea path="advantage" htmlEscape="false" class="input-xlarge  hide" />--%>
+	<%--				<div id="advantageEditor" class="contentEditor">${cmBaikeProduct.advantage}</div>--%>
+	<%--                <label id="advantageSensitiveWords" class="red"></label>--%>
+	<%--			</div>--%>
+	<%--		</div>--%>
+	<%--		<div class="control-group">--%>
+	<%--			<label class="control-label keyClass">${commodityType}缺点:</label>--%>
+	<%--			<div class="controls" style="width:812px">--%>
+	<%--				<form:textarea path="disadvantage" htmlEscape="false" class="input-xlarge  hide" />--%>
+	<%--				<div id="disadvantageEditor" class="contentEditor">${cmBaikeProduct.disadvantage}</div>--%>
+	<%--                <label id="disadvantageSensitiveWords" class="red"></label>--%>
+	<%--			</div>--%>
+	<%--		</div>--%>
+	<%--		<div class="control-group">--%>
+	<%--			<label class="control-label keyClass">${commodityType}原理:</label>--%>
+	<%--			<div class="controls" style="width:812px">--%>
+	<%--				<form:textarea path="principle" htmlEscape="false" class="input-xlarge  hide" />--%>
+	<%--				<div id="principleEditor" class="contentEditor">${cmBaikeProduct.principle}</div>--%>
+	<%--                <label id="principleSensitiveWords" class="red"></label>--%>
+	<%--			</div>--%>
+	<%--		</div>--%>
 
-		<div class="control-group">
-			<label class="control-label keyClass">发布时间:</label>
-			<div class="controls">
-				<fmt:formatDate value="${cmBaikeProduct.publishTime}" pattern="yyyy-MM-dd HH:mm"/>
+	<div class="control-group" style="margin-top: 100px">
+		<label class="control-label">头图:</label>
+		<div class="main-image-list" style="display: flex;flex-wrap: wrap">
+			<div class="controls upload-content iconBox mainImageBox" id="mainImageBox">
+				<div class="conList">
+					<form:hidden id="" path="" htmlEscape="false" maxlength="255" class="input-xlarge "/>
+					<sys:ckfinder input="image" type="images" uploadPath="/photo" selectMultiple="false" maxWidth="100"
+								  maxHeight="100"/>
+					<br>
+					<label style="margin-left: 150px">建议图片尺寸210px*210px,并上传白底图片</label>
+				</div>
 			</div>
 		</div>
-		<div class="control-group">
-			<label class="control-label keyClass">基础浏览量:</label>
-			<div class="controls">
-				${cmBaikeProduct.basePv}
-			</div>
+	</div>
+
+	<div class="control-group">
+		<label class="control-label keyClass">分类:</label>
+		<div class="controls">
+			<form:select path="typeId" class="input-xlarge ">
+				<form:options items="${typeList}" itemLabel="name" itemValue="id" htmlEscape="false"/>
+			</form:select>
 		</div>
-		<div class="control-group">
-			<label class="control-label keyClass">产品类别:</label>
-			<div class="controls">
-				${cmBaikeProduct.typeName}
-			</div>
+	</div>
+	<div class="control-group">
+		<label class="control-label">SEO关键词:</label>
+		<div class="auto-input">
+			<form:input path="seoKeyword" htmlEscape="false" style="position: relative" class="input-xlarge"/>
+			<label id="seoKeywordSensitiveWords" class="red"></label>
 		</div>
-		<div class="control-group">
-			<label class="control-label keyClass">供应商名称:</label>
-			<div class="controls">
-				${cmBaikeProduct.shopName}
-			</div>
+	</div>
+	<%--		<div class="control-group">--%>
+	<%--			<label class="control-label titleClass">${commodityType}档案</label>--%>
+	<%--		</div>--%>
+	<%--		<div class="control-group">--%>
+	<%--			<label class="control-label">品牌:</label>--%>
+	<%--			<div class="controls">--%>
+	<%--				<form:input path="brand" htmlEscape="false" class="input-xlarge "/>--%>
+	<%--                <label id="brandSensitiveWords" class="red"></label>--%>
+	<%--			</div>--%>
+	<%--		</div>--%>
+	<%--		<div class="control-group">--%>
+	<%--			<label class="control-label">产地:</label>--%>
+	<%--			<div class="controls">--%>
+	<%--				<form:input path="producePlace" htmlEscape="false" class="input-xlarge "/>--%>
+	<%--                <label id="producePlaceSensitiveWords" class="red"></label>--%>
+	<%--			</div>--%>
+	<%--		</div>--%>
+	<%--		<div class="control-group">--%>
+	<%--			<label class="control-label">上市时间:</label>--%>
+	<%--			<div class="controls">--%>
+	<%--				<form:input path="marketYear" htmlEscape="false" placeholder="年" class="input-medium" maxlength="4" onkeyup="onlynum(this)"/>---%>
+	<%--				<form:input path="marketMonth" htmlEscape="false" placeholder="月" class="input-medium" maxlength="2" onkeyup="onlynum(this)"/>---%>
+	<%--				<form:input path="marketDay" htmlEscape="false" placeholder="日" class="input-medium" maxlength="2" onkeyup="onlynum(this)"/>--%>
+	<%--			</div>--%>
+	<%--		</div>--%>
+	<div class="control-group">
+		<label class="control-label">关联供应商:</label>
+		<div class="controls">
+			<form:input path="company" htmlEscape="false" class="input-xlarge "/>
+			<label id="companySensitiveWords" class="red"></label>
+		</div>
+	</div>
+	<%--		<div class="control-group" style="position: relative">--%>
+	<%--			<label class="control-label">NMPA认证时间:</label>--%>
+	<%--			<div class="controls">--%>
+	<%--				<form:input path="nmpaYear" htmlEscape="false" placeholder="年" class="input-medium" maxlength="4" onkeyup="onlynum(this)"/>---%>
+	<%--				<form:input path="nmpaMonth" htmlEscape="false" placeholder="月" class="input-medium" maxlength="2" onkeyup="onlynum(this)"/>---%>
+	<%--				<form:input path="nmpaDay" htmlEscape="false" placeholder="日" class="input-medium" maxlength="2" onkeyup="onlynum(this)"/>--%>
+	<%--			</div>--%>
+	<%--		</div>--%>
+	<%--		<div class="control-group" style="width: 1000px">--%>
+	<%--			<label class="control-label keyClass">${commodityType}认证:</label>--%>
+	<%--			<div class="auth-image-list" style="display: flex;flex-wrap: wrap">--%>
+	<%--				<c:forEach items="${cmBaikeProduct.authImageList}" var="authImage" varStatus="index">--%>
+	<%--					<div class="controls upload-content iconBox" id="authImageBox${index.index}">--%>
+	<%--						<div class="conList">--%>
+	<%--							<form:hidden id="authImage${index.index}" path="authImageList[${index.index}]" htmlEscape="false"--%>
+	<%--										 maxlength="255"--%>
+	<%--										 class="input-xlarge "/>--%>
+	<%--							<sys:ckfinder input="authImage${index.index}" type="images" uploadPath="/photo"--%>
+	<%--										  selectMultiple="false"--%>
+	<%--										  maxWidth="100" maxHeight="100"/><br>--%>
+	<%--						</div>--%>
+	<%--					</div>--%>
+	<%--				</c:forEach>--%>
+	<%--				<c:set var="size" value="${empty cmBaikeProduct.authImageList?0:cmBaikeProduct.authImageList.size()}"/>--%>
+	<%--				<c:forEach var="emptyIndex" begin="${size}" end="${7}">--%>
+	<%--					<div class="controls upload-content iconBox conList ${emptyIndex eq 0?'':'hide-pic'}" id="authImageBox${emptyIndex}" >--%>
+	<%--						<div class="conList">--%>
+	<%--							<form:hidden id="authImage${emptyIndex}" path="authImageList[${emptyIndex}]" htmlEscape="false"--%>
+	<%--										 maxlength="255"--%>
+	<%--										 class="input-xlarge "/>--%>
+	<%--							<sys:ckfinder input="authImage${emptyIndex}" type="images" uploadPath="/photo"--%>
+	<%--										  selectMultiple="false"--%>
+	<%--										  maxWidth="100" maxHeight="100"/><br>--%>
+	<%--						</div>--%>
+	<%--					</div>--%>
+	<%--				</c:forEach>--%>
+	<%--			</div>--%>
+	<%--		</div>--%>
+	<%--		<div class="control-group">--%>
+	<%--			<label class="control-label keyClass">适应症:</label>--%>
+	<%--			<div class="controls" style="width:812px">--%>
+	<%--				<form:textarea path="adaptiveMan" htmlEscape="false" class="input-xlarge  hide" />--%>
+	<%--				<div id="adaptiveManEditor" class="contentEditor">${cmBaikeProduct.adaptiveMan}</div>--%>
+	<%--                <label id="adaptiveManSensitiveWords" class="red"></label>--%>
+	<%--			</div>--%>
+	<%--		</div>--%>
+	<%--		<div class="control-group">--%>
+	<%--			<label class="control-label keyClass">不适应人群:</label>--%>
+	<%--			<div class="controls" style="width:812px">--%>
+	<%--				<form:textarea path="unAdaptiveMan" htmlEscape="false" class="input-xlarge  hide" />--%>
+	<%--				<div id="unAdaptiveManEditor" class="contentEditor">${cmBaikeProduct.unAdaptiveMan}</div>--%>
+	<%--                <label id="unAdaptiveManSensitiveWords" class="red"></label>--%>
+	<%--			</div>--%>
+	<%--		</div>--%>
+	<%--		<div class="control-group">--%>
+	<%--			<label class="control-label keyClass">注意事项:</label>--%>
+	<%--			<div class="controls" style="width:812px">--%>
+	<%--				<form:textarea path="aroundOperation" htmlEscape="false" class="input-xlarge  hide" />--%>
+	<%--				<div id="aroundOperationEditor" class="contentEditor">${cmBaikeProduct.aroundOperation}</div>--%>
+	<%--                <label id="aroundOperationSensitiveWords" class="red"></label>--%>
+	<%--			</div>--%>
+	<%--		</div>--%>
+	<%--		<div class="control-group" style="width: 1000px">--%>
+	<%--			<label class="control-label keyClass">效果展示:</label>--%>
+	<%--			<div class="display-image-list" style="display: flex;flex-wrap: wrap">--%>
+	<%--				<c:forEach items="${cmBaikeProduct.displayImageList}" var="displayImage" varStatus="index">--%>
+	<%--					<div class="controls upload-content iconBox" id="displayImageBox${index.index}">--%>
+	<%--						<div class="conList">--%>
+	<%--							<form:hidden id="displayImage${index.index}" path="displayImageList[${index.index}]" htmlEscape="false"--%>
+	<%--										 maxlength="255"--%>
+	<%--										 class="input-xlarge "/>--%>
+	<%--							<sys:ckfinder input="displayImage${index.index}" type="images" uploadPath="/photo"--%>
+	<%--										  selectMultiple="false"--%>
+	<%--										  maxWidth="100" maxHeight="100"/><br>--%>
+	<%--						</div>--%>
+	<%--					</div>--%>
+	<%--				</c:forEach>--%>
+	<%--				<c:set var="size" value="${empty cmBaikeProduct.displayImageList?0:cmBaikeProduct.displayImageList.size()}"/>--%>
+	<%--				<c:forEach var="emptyIndex" begin="${size}" end="${5}">--%>
+	<%--					<div class="controls upload-content iconBox conList ${emptyIndex eq 0?'':'hide-pic'}" id="displayImageBox${emptyIndex}" >--%>
+	<%--						<div class="conList">--%>
+	<%--							<form:hidden id="displayImage${emptyIndex}" path="displayImageList[${emptyIndex}]" htmlEscape="false"--%>
+	<%--										 maxlength="255"--%>
+	<%--										 class="input-xlarge "/>--%>
+	<%--							<sys:ckfinder input="displayImage${emptyIndex}" type="images" uploadPath="/photo"--%>
+	<%--										  selectMultiple="false"--%>
+	<%--										  maxWidth="100" maxHeight="100"/><br>--%>
+	<%--						</div>--%>
+	<%--					</div>--%>
+	<%--				</c:forEach>--%>
+	<%--			</div>--%>
+	<%--		</div>--%>
+	<%--        <div class="questionList">--%>
+	<%--            <div class="control-group">--%>
+	<%--                <label class="control-label keyClass">常见问题:</label>--%>
+	<%--                <button class="btn btn-primary" type="button" style="margin-left: 500px" onclick="addQuestion()">添加问题</button>--%>
+	<%--            </div>--%>
+	<%--            <div class="control-group" id="questionRow0">--%>
+	<%--                <label class="control-label">问题1:</label>--%>
+	<%--                <div class="controls">--%>
+	<%--                    <input name="questionList[0].question" style="width: 550px" htmlEscape="false" class="input-xlarge ">--%>
+	<%--                    <label id="question0SensitiveWords" class="red"></label>--%>
+	<%--                </div>--%>
+	<%--            </div>--%>
+	<%--            <div class="control-group" id="answerRow0">--%>
+	<%--                <label class="control-label">答:</label>--%>
+	<%--                <div class="controls">--%>
+	<%--                    <input name="questionList[0].answer" style="width: 550px" htmlEscape="false" class="input-xlarge ">--%>
+	<%--                    <label id="answer0SensitiveWords" class="red"></label>--%>
+	<%--                </div>--%>
+	<%--            </div>--%>
+	<%--            <div class="control-group" id="questionRow1">--%>
+	<%--                <label class="control-label">问题2:</label>--%>
+	<%--                <div class="controls">--%>
+	<%--                    <input name="questionList[1].question" style="width: 550px" htmlEscape="false" class="input-xlarge  questionInput">--%>
+	<%--                    <label id="question1SensitiveWords" class="red"></label>--%>
+	<%--                    <a id="questionDelBtn1" onclick="deleteQuestion(1)" style="cursor: pointer">删除</a>--%>
+	<%--                </div>--%>
+	<%--            </div>--%>
+	<%--            <div class="control-group" id="answerRow1">--%>
+	<%--                <label class="control-label">答:</label>--%>
+	<%--                <div class="controls">--%>
+	<%--                    <input name="questionList[1].answer" style="width: 550px" htmlEscape="false" class="input-xlarge  questionInput">--%>
+	<%--                    <label id="answer1SensitiveWords" class="red"></label>--%>
+	<%--                </div>--%>
+	<%--            </div>--%>
+	<%--        </div>--%>
+
+	<div class="control-group">
+		<label class="control-label keyClass">发布时间:</label>
+		<div class="controls">
+			<input name="publishTime" type="text" readonly="readonly" maxlength="20" class="input-medium Wdate "
+				   value="<fmt:formatDate value="${cmBaikeProduct.publishTime}" pattern="yyyy-MM-dd HH:mm:ss"/>"
+				   onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm',isShowClear:false});"/>
+		</div>
+	</div>
+	<div class="control-group">
+		<label class="control-label keyClass">基础浏览量:</label>
+		<div class="controls">
+			<form:input path="basePv" htmlEscape="false" onkeyup="onlynum(this)" class="input-xlarge  digits "/>
 		</div>
-		<div class="form-actions">
-			<input id="btnCancel" class="btn" type="button" value="返 回" onclick="history.go(-1)"/>
+	</div>
+	<div class="control-group">
+		<label class="control-label keyClass">状态:</label>
+		<div class="controls">
+			<form:radiobutton path="status" label="发布" value="1" checked="${empty cmBaikeProduct.status?'checked':''}"/>
+			<form:radiobutton path="status" label="保存草稿箱" value="0"/>
 		</div>
-	</form:form>
+	</div>
+
+	<div class="form-actions">
+		<input id="btnCancel" class="btn" type="button" value="返 回" onclick="history.go(-1)"/>
+	</div>
+</form:form>
 
 <% request.setAttribute("caimeiCore", Global.getConfig("caimei.core"));%>
 <script type="text/javascript" src="${ctxStatic}/ckeditor5-new/ckeditor.js"></script>
+<script type="text/javascript" src="${ctxStatic}/sensitiveWords/mint-filter.umd.js"></script>
+<script type="text/javascript" src="${ctxStatic}/auto-input.js"></script>
 <script>
+	var paramIndex = 3;
+	var questionIndex = 2;
+	$(function () {
+		$('.upload-content .conList .btn:nth-of-type(1)').html('<div><span>+</span><h5>选择图片</h5></div>');
+		$('.upload-content .conList .btn:nth-of-type(2)').after('<img class="cancel-upload" src="/static/images/close-btn1.png">').remove();
+		$('.upload-content .conList').find('.cancel-upload').hide();
+		var MutationObserver = window.MutationObserver || window.WebKitMutationObserver;
+		var MutationObserverConfig = {
+			childList: true,
+			subtree: true,
+			characterData: true
+		};
+		var observer = new MutationObserver(function (mutations) {
+			$.each(mutations, function (index, item) {
+				if (item.type === 'childList') {
+					// 在创建新的 element 时调用
+					var target = $(item.target),
+							thisWrapper = target.closest('.conList'),
+							nextEle = thisWrapper.parents('.controls').next();
+					thisWrapper.find('li').css('z-index', 99);
+					thisWrapper.find('.cancel-upload').show();
+					if (nextEle.hasClass('hide-pic')) {
+						nextEle.removeClass('hide-pic');
+					}
+				}
+			})
+		});
+		var observeEle1 = document.getElementsByClassName('main-image-list')[0];
+		var observeEle2 = document.getElementsByClassName('auth-qrCode-list')[0];
+		// var observeEle3 = document.getElementsByClassName('auth-image-list')[0];
+		var observeEle4 = document.getElementsByClassName('display-image-list')[0];
+		observer.observe(observeEle1, MutationObserverConfig);
+		observer.observe(observeEle2, MutationObserverConfig);
+		// observer.observe(observeEle3, MutationObserverConfig);
+		observer.observe(observeEle4, MutationObserverConfig);
+
+		$('body').on('click', '.cancel-upload',function() {
+			var wrapper = $(this).closest('.controls');
+			var controlsId = wrapper.attr('id');
+			wrapper.find('li').css('z-index','-1');
+			wrapper.find('input').val('');
+			$(this).hide();
+			if (controlsId == 'mainImageBox' || controlsId == 'authQrCodeBox') {
+				wrapper.removeClass("hide-pic");
+			}
+					// else if (controlsId.indexOf('authImageBox') != -1) {
+					// 	if ($('.auth-image-list .cancel-upload:visible').length < 8) {
+					// 		wrapper.addClass("hide-pic");
+					// 	}else{
+					// 		wrapper.removeClass("hide-pic");
+					// 	}
+			// }
+			else if (controlsId.indexOf('displayImageBox') != -1) {
+				if ($('.display-image-list .cancel-upload:visible').length < 6) {
+					wrapper.addClass("hide-pic");
+				}else{
+					wrapper.removeClass("hide-pic");
+				}
+			}
+			wrapper.parent().append(wrapper.clone());
+			wrapper.remove();
+			$(".controls").each(function(i,ele){
+				if($(ele).find("input.input-xlarge").val()){
+					$(ele).next().removeClass("hide-pic")
+				}
+			})
+		});
+
+		$('body').on('click','.upload-content li',function() {
+			var index = $(this).closest('.conList').index() + 1,
+					str = 'image'+index+'FinderOpen';
+			eval(str+'()');
+		});
+
+		$(window).on("load", function () {
+			setTimeout(function () {
+				$("#authQrCodeBox").find("input.input-xlarge").each(function (i, ele) {
+					if ($(ele).val()) {
+						$(ele).next().find("li").css("z-index", "99");
+						$(ele).parents(".conList").find(".cancel-upload").show();
+						$(ele).parent().parents(".controls").next().removeClass("hide-pic")
+					}
+				})
+				$("#mainImageBox").find("input.input-xlarge").each(function (i, ele) {
+					if ($(ele).val()) {
+						$(ele).next().find("li").css("z-index", "99");
+						$(ele).parents(".conList").find(".cancel-upload").show();
+						$(ele).parent().parents(".controls").next().removeClass("hide-pic")
+					}
+				})
+				for (var i = 0; i < 8; i++) {
+					$("#authImageBox"+i).find("input.input-xlarge").each(function (i, ele) {
+						if ($(ele).val()) {
+							$(ele).next().find("li").css("z-index", "99");
+							$(ele).parents(".conList").find(".cancel-upload").show();
+							$(ele).parent().parents(".controls").next().removeClass("hide-pic")
+						}
+					})
+				}
+				for (var i = 0; i < 6; i++) {
+					$("#displayImageBox"+i).find("input.input-xlarge").each(function (i, ele) {
+						if ($(ele).val()) {
+							$(ele).next().find("li").css("z-index", "99");
+							$(ele).parents(".conList").find(".cancel-upload").show();
+							$(ele).parent().parents(".controls").next().removeClass("hide-pic")
+						}
+					})
+				}
+			}, 200);
+		});
+
+
+		// 初始化参数
+		var paramListSize = ${empty cmBaikeProduct.paramList.size() ? 0: cmBaikeProduct.paramList.size()};
+		paramIndex = paramListSize > 0 ? paramListSize : paramIndex;
+		if (paramListSize > 3) {
+			var index = 3;
+			while (index < paramListSize) {
+				$(".paramList").append("<div class=\"controls paramRow\" id=\"paramRow" + index + "\">\n" +
+						"\t\t\t\t<input id=\"name[" + index + "]\" name=\"paramList[" + index + "].name\" htmlEscape=\"false\" class=\"input-small \" placeholder=\"请输入名称\" onblur=\"readflag(" + index + ")\">\n" +
+						"\t\t\t\t<label id=\"param" + index + "SensitiveWords\" class=\"red\"></label>\n" +
+						"\t\t\t\t<input id=\"content[" + index + "]\" name=\"paramList[" + index + "].content\" htmlEscape=\"false\" class=\"input-xlarge \" placeholder=\"请输入内容\" readonly>\n" +
+						"\t\t\t\t<label id=\"content" + index + "SensitiveWords\" class=\"red\"></label>\n" +
+						"\t\t\t\t<a onclick=\"deleteParam(" + index + ")\" style=\"cursor: pointer\">删除</a>\n" +
+						"            </div>");
+				index = index + 1;
+			}
+		}
+		if (paramListSize > 0 && paramListSize < 3) {
+			for (var i = paramListSize; i < 3; i++) {
+				deleteParam(i);
+			}
+		}
+
+		var nameArray = new Array();
+		var contentArray = new Array();
+		<c:forEach items="${cmBaikeProduct.paramList}" var="item">
+		nameArray.push('${item.name}')
+		contentArray.push('${item.content}')
+		</c:forEach>
+		for (var i = 0; i < nameArray.length; i++) {
+			var nameInput = "paramList[" + i + "].name";
+			var contentInput = "paramList[" + i + "].content";
+			$('input[name="' + nameInput + '"]').val(nameArray[i]);
+			$('input[name="' + contentInput + '"]').val(contentArray[i]);
+			if(undefined !=contentArray[i]&&null!=contentArray[i]&& '' !=contentArray[i]){
+				$('input[name="' + contentInput + '"]').readOnly=false;
+			}else{
+				$('input[name="' + contentInput + '"]').readOnly=true;
+			}
+		}
+
+		// 初始化问题
+		var questionListSize = ${empty cmBaikeProduct.questionList.size() ? 0: cmBaikeProduct.questionList.size()};
+		questionIndex = questionListSize > 0 ? questionListSize : questionIndex;
+		if (questionListSize > 2) {
+			var index = 2;
+			while (index < questionListSize) {
+				$(".questionList").append("" +
+						"<div class=\"control-group\" id=\"questionRow" + index + "\">\n" +
+						"                <label class=\"control-label\">问题" + (index+1) + ":</label>\n" +
+						"                <div class=\"controls\">\n" +
+						"                    <input name=\"questionList[" + index + "].question\" style=\"width: 550px\" htmlEscape=\"false\" class=\"input-xlarge \">\n" +
+						"\t\t\t\t<label id=\"question" + index + "SensitiveWords\" class=\"red\"></label>\n" +
+						"\t\t\t\t<a id=\"questionDelBtn" + index + "\" onclick=\"deleteQuestion(" + index + ")\" style=\"cursor: pointer\">删除</a>\n" +
+						"                </div>\n" +
+						"            </div>\n" +
+						"            <div class=\"control-group\" id=\"answerRow" + index + "\">\n" +
+						"                <label class=\"control-label\">答:</label>\n" +
+						"                <div class=\"controls\">\n" +
+						"                    <input name=\"questionList[" + index + "].answer\" style=\"width: 550px\" htmlEscape=\"false\" class=\"input-xlarge \">\n" +
+						"\t\t\t\t<label id=\"answer" + index + "SensitiveWords\" class=\"red\"></label>\n" +
+						"                </div>\n" +
+						"            </div>");
+				index = index + 1;
+			}
+		}
+
+		if (questionListSize > 0 && questionListSize < 2) {
+			for (var i = questionListSize; i < 2; i++) {
+				deleteQuestion(i);
+			}
+		}
+		var questionArray = new Array();
+		var answerArray = new Array();
+		<c:forEach items="${cmBaikeProduct.questionList}" var="item">
+		questionArray.push('${item.question}')
+		answerArray.push('${item.answer}')
+		</c:forEach>
+		for (var i = 0; i < questionArray.length; i++) {
+			var questionInput = "questionList[" + i + "].question";
+			var answerInput = "questionList[" + i + "].answer";
+			$('input[name="' + questionInput + '"]').val(questionArray[i]);
+			$('input[name="' + answerInput + '"]').val(answerArray[i]);
+		}
+
+		var fileIds = $("#fileIds").val();
+		//点击上传按钮后上传文件
+		$('#addSubmit').click(function () {
+			var fileIdArr = fileIds.split(',');
+			if (fileIdArr.length >= 7) {
+				alertx('最多上传6个视频');
+				return;
+			}
+			var filesById = document.getElementById('productFile');
+			var files = $('#productFile');
+			var fileList = files.prop('files');
+			var fileTitle = $('#fileTitle').val();
+			var fileName = $('#uploadFileName').val();
+			if (fileTitle == '') {
+				alertx('请输入视频标题')
+				return;
+			}
+			if (files === '' || files.length == 0 || fileName == '') {
+				alertx('请选择上传文件');
+				return;
+			}
+			$("#fileTitle").val("");
+			$("#uploadFileName").val("");
+			var data = new FormData();
+			var productId = $("#id").val();
+			data.append('file', fileList[0]);
+			data.append('fileTitle', fileTitle);
+			data.append('fileName', fileName);
+			data.append('productId', productId);
+			data.append('fileIds', fileIds);
+			$('.upload-loading').css("display", "inline");
+			$.ajax({
+				url: "${ctx}/baike/cmBaikeProduct/upload",
+				data: data,
+				type: "POST",
+				processData: false,
+				contentType: false,
+				dataType: "json",
+				success: function (res) {
+					if (res.success) {
+						filesById.value = '';
+						renderFileList(res.productFile);
+						$('.upload-loading').hide();
+					} else {
+						$.jBox.tip(res.msg, 'error');
+						$("#uploadFileName").val(fileName);
+						$('.upload-loading').hide();
+					}
+
+				},
+				error: function (json) {
+
+				}
+			});
+		})
+
+		var fileList = [];
+		var files = document.getElementById("productFile"), renderFileList;
+		//选择上传文件后显示文件名称
+		files.addEventListener("change", function (event) {
+			var name = event.target.files[0].name;
+			console.log(name)
+			$('#uploadFileName').val(name);
+		});
+		var fileListDisplay = document.getElementById('file-list-display');
+		renderFileList = function (data) {
+			fileIds += data.id + ',';
+			console.log(fileIds);
+			$('#fileIds').val(fileIds);
+			fileList.push({fileTitle: data.fileTitle, id: data.id, ossUrl: data.ossUrl});
+			fileList.forEach(function (file, index) {
+				var fileDisplayEl = document.createElement("p");
+				var deleteFile = document.createElement("span");
+				var viewFile = document.createElement("span");
+				var viewFileUrl = document.createElement("a");
+				//预览链接
+				viewFileUrl.innerHTML = '预览';
+				viewFileUrl.setAttribute("onclick", "previewVideo('" + file.ossUrl + "')");
+				viewFileUrl.setAttribute("target", "_blank");
+				//预览按钮
+				viewFile.className = 'viewFile';
+				console.log(viewFile);
+				viewFile.setAttribute("class","del");
+				viewFile.appendChild(viewFileUrl);
+				//删除按钮
+				deleteFile.innerHTML = '删除';
+				deleteFile.className = 'deleteFile';
+				console.log(deleteFile);
+				deleteFile.setAttribute("class","del");
+				deleteFile.setAttribute("onclick", "dataDelete(this, " + file.id + ")");
+
+				fileDisplayEl.setAttribute("id", file.id);
+				fileDisplayEl.innerHTML = file.fileTitle;
+				fileDisplayEl.appendChild(viewFile);
+				fileDisplayEl.appendChild(deleteFile);
+				fileListDisplay.appendChild(fileDisplayEl);
+			});
+			fileList.splice(0, fileList.length);
+		};
+	})
+
+	//删除参数
+	function deleteParam(index) {
+		$("#paramRow" + index).remove();
+	}
+
+	//添加参数
+	function addParam() {
+		$(".paramList").append("<div class=\"controls paramRow\" id=\"paramRow" + paramIndex + "\">\n" +
+				"\t\t\t\t<input id=\"name[" + paramIndex + "]\" name=\"paramList[" + paramIndex + "].name\" htmlEscape=\"false\" class=\"input-small \" placeholder=\"例如:性质类型\" onblur=\"readflag(" + paramIndex + ")\">\n" +
+				"\t\t\t\t<label id=\"param" + paramIndex + "SensitiveWords\" class=\"red\"></label>\n" +
+				"\t\t\t\t<input id=\"content[" + paramIndex + "]\" name=\"paramList[" + paramIndex + "].content\" htmlEscape=\"false\" class=\"input-xlarge \" placeholder=\"请输入内容\" readonly>\n" +
+				"\t\t\t\t<label id=\"content" + paramIndex + "SensitiveWords\" class=\"red\"></label>\n" +
+				// "\t\t\t\t<a onclick=\"deleteParam(" + paramIndex + ")\" style=\"cursor: pointer\">删除</a>\n" +
+				"            </div>")
+		paramIndex = paramIndex + 1;
+	}
+	var content=10;
+	addDiction =function(dicType,buttType,aa,bb,ff,dicId){// 控制输入框显示名称,控制显示文本域,控制目录显示(一级,二级,内容),参与控制按钮隐藏,控制是否根目录,控制隐藏
+		var dic="";
+		if(dicType ==1){
+			dic="定义";
+		}else if(dicType ==2){
+			dic="原理";
+		}else if(dicType ==3){
+			dic="特点";
+		}else if(dicType ==4){
+			dic="应用";
+		}
+		content=content+5;
+		var yi=content-1;
+		var er=content;
+		var san=content+1;
+		// "+dicType+","+this.name+"
+		var num=bb+1;//111
+		var cc=aa+num;//definitionyi111
+		var dd=cc;
+		if(ff==0){
+			//第一个
+			dd=aa;
+		}else{
+			//新建
+			dd=ff;//definitionyi11
+		}
+		if("内容"==buttType){
+			$("."+dd).append("<div class=\"controls "+cc+"\" style=\"margin-left: 0px;margin-top: 5px \">" +
+					"<textarea type=\"text\" style=\"position: relative;height: 100px; width: 450px;\" placeholder=\"("+dic+") "+buttType+"\"/>" +
+					"<button class=\"btn btn-primary\" id=\"yi"+aa+num+"\" type=\"button\" name=\"一级目录\"  style=\"margin-left: 15px\" onclick=\"addDiction('"+dicType+"','一级目录','"+aa+"','"+yi+"','"+cc+"','yi"+aa+num+"')\">一级目录</button>"+
+					"<button class=\"btn btn-primary\" id=\"er"+aa+num+"\" type=\"button\" name=\"二级目录\"  style=\"margin-left: 10px\" onclick=\"addDiction('"+dicType+"','二级目录','"+aa+"','"+er+"','"+cc+"','er"+aa+num+"')\">二级目录</button>"+
+					"<button class=\"btn btn-primary\" id=\"san"+aa+num+"\" type=\"button\" name=\"内容\" style=\"margin-left: 10px\" onclick=\"addDiction('"+dicType+"','内容','"+aa+"','"+san+"','"+cc+"','san"+aa+num+"')\">内容</button>"+
+					"</div>")
+
+		}else{
+			$("."+dd).append("<div class=\"controls "+cc+"\" style=\"margin-left: 0px;margin-top: 5px \">" +
+					"<input  htmlEscape=\"false\" class=\"input-xlarge \" placeholder=\"("+dic+") "+buttType+"\"/>" +
+					"<button class=\"btn btn-primary\" id=\"yi"+aa+num+"\" type=\"button\" name=\"一级目录\"  style=\"margin-left: 15px\" onclick=\"addDiction('"+dicType+"','一级目录','"+aa+"','"+yi+"','"+cc+"','yi"+aa+num+"')\">一级目录</button>"+
+					"<button class=\"btn btn-primary\" id=\"er"+aa+num+"\"  type=\"button\" name=\"二级目录\"  style=\"margin-left: 10px\" onclick=\"addDiction('"+dicType+"','二级目录','"+aa+"','"+er+"','"+cc+"','er"+aa+num+"')\">二级目录</button>"+
+					"<button class=\"btn btn-primary\" id=\"san"+aa+num+"\"  type=\"button\" name=\"内容\" style=\"margin-left: 10px\" onclick=\"addDiction('"+dicType+"','内容','"+aa+"','"+san+"','"+cc+"','san"+aa+num+"')\">内容</button>"+
+					"</div>")
+		}
+		document.getElementById(""+dicId).style.display="none";
+	}
+	//删除问题
+	// function deleteQuestion(index) {
+	// 	$("#questionRow" + index).remove();
+	// 	$("#answerRow" + index).remove();
+	// 	questionIndex--;
+	//     $("#questionDelBtn" + (questionIndex - 1)).attr("style", "cursor: pointer");
+	// }
+
+	//添加问题
+	// function addQuestion() {
+	// 	$(".questionList").append("" +
+	//         "<div class=\"control-group\" id=\"questionRow" + questionIndex + "\">\n" +
+	//         "                <label class=\"control-label\">问题" + (questionIndex+1) + ":</label>\n" +
+	//         "                <div class=\"controls\">\n" +
+	//         "                    <input name=\"questionList[" + questionIndex + "].question\" style=\"width: 550px\" htmlEscape=\"false\" class=\"input-xlarge \">\n" +
+	// 			"\t\t\t\t<label id=\"question" + questionIndex + "SensitiveWords\" class=\"red\"></label>\n" +
+	//         "\t\t\t\t<a id=\"questionDelBtn" + questionIndex + "\" onclick=\"deleteQuestion(" + questionIndex + ")\" style=\"cursor: pointer\">删除</a>\n" +
+	//         "                </div>\n" +
+	//         "            </div>\n" +
+	//         "            <div class=\"control-group\" id=\"answerRow" + questionIndex + "\">\n" +
+	//         "                <label class=\"control-label\">答:</label>\n" +
+	//         "                <div class=\"controls\">\n" +
+	//         "                    <input name=\"questionList[" + questionIndex + "].answer\" style=\"width: 550px\" htmlEscape=\"false\" class=\"input-xlarge \">\n" +
+	// 			"\t\t\t\t<label id=\"answer" + questionIndex + "SensitiveWords\" class=\"red\"></label>\n" +
+	//         "                </div>\n" +
+	//         "            </div>")
+	//     $("#questionDelBtn" + (questionIndex - 1)).attr("style", "display:none;cursor: pointer");
+	// 	questionIndex = questionIndex + 1;
+	// }
+
+	<%--$(document).ready(function () {--%>
+	<%--	ClassicEditor.create(document.querySelector('#advantageEditor'), {--%>
+	<%--		ckfinder: {--%>
+	<%--			uploadUrl: '${caimeiCore}/tools/image/upload/ckeditor'--%>
+	<%--		}--%>
+	<%--	}).then(function (editor) {--%>
+	<%--		window.advantageEditor = editor;--%>
+	<%--	}).catch(function (error) {--%>
+	<%--		console.log(error);--%>
+	<%--	});--%>
+	<%--	ClassicEditor.create(document.querySelector('#disadvantageEditor'), {--%>
+	<%--		ckfinder: {--%>
+	<%--			uploadUrl: '${caimeiCore}/tools/image/upload/ckeditor'--%>
+	<%--		}--%>
+	<%--	}).then(function (editor) {--%>
+	<%--		window.disadvantageEditor = editor;--%>
+	<%--	}).catch(function (error) {--%>
+	<%--		console.log(error);--%>
+	<%--	});--%>
+	<%--	ClassicEditor.create(document.querySelector('#principleEditor'), {--%>
+	<%--		ckfinder: {--%>
+	<%--			uploadUrl: '${caimeiCore}/tools/image/upload/ckeditor'--%>
+	<%--		}--%>
+	<%--	}).then(function (editor) {--%>
+	<%--		window.principleEditor = editor;--%>
+	<%--	}).catch(function (error) {--%>
+	<%--		console.log(error);--%>
+	<%--	});--%>
+	<%--	ClassicEditor.create(document.querySelector('#adaptiveManEditor'), {--%>
+	<%--		ckfinder: {--%>
+	<%--			uploadUrl: '${caimeiCore}/tools/image/upload/ckeditor'--%>
+	<%--		}--%>
+	<%--	}).then(function (editor) {--%>
+	<%--		window.adaptiveManEditor = editor;--%>
+	<%--	}).catch(function (error) {--%>
+	<%--		console.log(error);--%>
+	<%--	});--%>
+	<%--	ClassicEditor.create(document.querySelector('#unAdaptiveManEditor'), {--%>
+	<%--		ckfinder: {--%>
+	<%--			uploadUrl: '${caimeiCore}/tools/image/upload/ckeditor'--%>
+	<%--		}--%>
+	<%--	}).then(function (editor) {--%>
+	<%--		window.unAdaptiveManEditor = editor;--%>
+	<%--	}).catch(function (error) {--%>
+	<%--		console.log(error);--%>
+	<%--	});--%>
+	<%--	ClassicEditor.create(document.querySelector('#aroundOperationEditor'), {--%>
+	<%--		ckfinder: {--%>
+	<%--			uploadUrl: '${caimeiCore}/tools/image/upload/ckeditor'--%>
+	<%--		}--%>
+	<%--	}).then(function (editor) {--%>
+	<%--		window.aroundOperationEditor = editor;--%>
+	<%--	}).catch(function (error) {--%>
+	<%--		console.log(error);--%>
+	<%--	});--%>
+	<%--});--%>
+
+	//富文本框编辑
+	// function checkInfo(){
+	// 	var advantage=advantageEditor.getData();
+	// 	var disadvantage=disadvantageEditor.getData();
+	// 	var principle=principleEditor.getData();
+	// 	var adaptiveMan=adaptiveManEditor.getData();
+	// 	var unAdaptiveMan=unAdaptiveManEditor.getData();
+	// 	var aroundOperation=aroundOperationEditor.getData();
+	// 	$("#advantage").val(advantage);
+	// 	$("#disadvantage").val(disadvantage);
+	// 	$("#principle").val(principle);
+	// 	$("#adaptiveMan").val(adaptiveMan);
+	// 	$("#unAdaptiveMan").val(unAdaptiveMan);
+	// 	$("#aroundOperation").val(aroundOperation);
+	// }
+
+	/**
+	 * @param obj
+	 * jquery控制input只能输入数字
+	 */
+	function onlynum(obj) {
+		obj.value = obj.value.replace(/[^\d]/g, ""); //清除"数字"以外的字符
+	}
+
+	//删除文件
+	function dataDelete(that, id) {
+		console.log($(that).text());
+		$(that).parent().remove();
+		var fileIds = $("#fileIds").val();
+		if (fileIds.indexOf(id)) {
+			fileIds = fileIds.replace(id + ',', '');
+			$("#fileIds").val(fileIds);
+		}
+		$.ajax({
+			url: "${ctx}/baike/cmBaikeProduct/deleteFile",
+			data: {"fileId": id},
+			async: false,
+			type: "POST"
+		});
+	}
+
+	function previewVideo(url) {
+		var url = "${ctx}/archive/cmProductArchiveContent/preview?url=" + encodeURIComponent(url);
+		var title = "视频播放";
+		top.$.jBox("iframe:" + url, {
+			iframeScrolling: 'yes',
+			width: 1000,
+			height: 750,
+			persistent: true,
+			title: title,
+			buttons: {"关闭": '-1'}
+		});
+	}
+	//关键词联动
+	function autocomplete(text) {
+		// return ['三全鲜食(北新泾店)', 'Hot honey 首尔炸鸡(仙霞路)', '新旺角茶餐厅', '泷千家(天山西路店)', '胖仙女纸杯蛋糕(上海凌空店)', '贡茶', '豪大大香鸡排超级奶爸', '茶芝兰(奶茶,手抓饼)', '十二泷町', '星移浓缩咖啡', '阿姨奶茶/豪大大', '新麦甜四季甜品炸鸡', 'Monica摩托主题咖啡店', '浮生若茶(凌空soho店)', 'NONO JUICE  鲜榨果汁', 'CoCo都可(北新泾店)', '快乐柠檬(神州智慧店)', 'Merci Paul cafe', '猫山王(西郊百联店)', '枪会山', '纵食', '钱记', '壹杯加', '唦哇嘀咖', '爱茜茜里(西郊百联)', '爱茜茜里(近铁广场)', '鲜果榨汁(金沙江路和美广店)', '开心丽果(缤谷店)', '超级鸡车(丰庄路店)', '妙生活果园(北新泾店)', '香宜度麻辣香锅', '凡仔汉堡(老真北路店)', '港式小铺', '蜀香源麻辣香锅(剑河路店)', '北京饺子馆', '饭典*新简餐(凌空SOHO店)', '焦耳·川式快餐(金钟路店)', '动力鸡车', '浏阳蒸菜', '四海游龙(天山西路店)', '樱花食堂(凌空店)', '壹分米客家传统调制米粉(天山店)', '福荣祥烧腊(平溪路店)', '速记黄焖鸡米饭', '红辣椒麻辣烫', '(小杨生煎)西郊百联餐厅', '阳阳麻辣烫', '南拳妈妈龙虾盖浇饭'].filter(function (item) {
+		//     return text && item.indexOf(text) > -1;
+		// });
+		var keywordlist=new Array();
+		<c:forEach items="${SearchFrequencyVo}" var="search">
+		keywordlist.push("${search.keyword}")
+		</c:forEach>
+		return keywordlist.filter(function (item) {
+			return text && item.indexOf(text) > -1;
+		});
+	}
+
+	new AutoComplete({
+		el: '.auto-input',
+		callback: autocomplete,
+		offsetLeft: -25
+	});
 </script>
 </body>
 </html>

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 817 - 116
src/main/webapp/WEB-INF/views/modules/baikePage/cmBaikeProductForm.jsp


+ 2361 - 0
src/main/webapp/WEB-INF/views/modules/baikePage/cmBaikeProductForm.old.jsp

@@ -0,0 +1,2361 @@
+<%@ page import="com.thinkgem.jeesite.common.config.Global" %>
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/WEB-INF/views/include/taglib.jsp"%>
+<html>
+<head>
+	<title>采美词条</title>
+	<meta name="decorator" content="default"/>
+	<style>
+		.controls.not-overflow{
+			overflow: initial !important;
+		}
+		.content-edit{
+			position: relative;
+			width: 100%;
+			z-index: 10;
+		}
+		.content-edit .bk-input{
+			line-height: 30px;
+			border: 1px solid #ddd;
+			box-sizing: border-box;
+			padding: 0 16px;
+			border-radius: 4px;
+			font-size: 16px;
+		}
+		.content-edit .bk-toolbar{
+			position: absolute;
+			padding: 6px 12px;
+			border: 1px solid #f1f1f1;
+			left: 0;
+			top: 0;
+			transform: translateY(-100%);
+			font-size: 14px;
+			text-align: center;
+			background: #fff;
+			color: #999;
+			cursor: pointer;
+		}
+		.content-edit .bk-bubble{
+			font-size: 14px;
+			padding: 0 4px;
+			line-height: 18px;
+			border-radius: 12px;
+			position: absolute;
+			right: 0;
+			top: 0;
+			transform: translate(50%, -50%);
+			background: #ddd;
+			color: #fff;
+			box-sizing: border-box;
+			min-width: 18px;
+			text-align: center;
+		}
+		.content-edit .bk-literature{
+			position: absolute;
+			bottom: 0;
+			left: 0;
+			transform: translateY(100%);
+			background: #fff;
+			border: 1px solid #ddd;
+			padding: 0;
+			margin: 0;
+			width: 100%;
+			box-sizing: border-box;
+		}
+		.content-edit .bk-literature li{
+			list-style-type: none;
+			padding: 8px 16px;
+			display: flex;
+			justify-content: space-between;
+		}
+		.content-edit .bk-literature .bk-control{
+			max-width: 80%;
+			overflow: hidden;
+			white-space: nowrap;
+			text-overflow: ellipsis;
+		}
+		.content-edit .bk-literature .bk-control span{
+			cursor: pointer;
+		}
+		.content-edit .bk-literature .bk-control span:hover{
+			text-decoration: underline;
+		}
+	</style>
+	<style>
+		.titleClass{
+			font-weight: bolder;
+			margin-left: -40px;
+		}
+		.keyClass{
+			font-weight: bolder;
+		}
+		.paramRow {
+			margin-top: 10px;
+		}
+	</style>
+	<style>
+		.clearfix::after{
+			content: "";
+			display: block;
+			clear: both;
+		}
+		.iconBox{
+			font-size: 0;
+		}/*
+		.controls{
+			margin-left: 0 !important;
+		}*/
+		.controls .conList{
+			display: inline-block;
+			margin-right: 15px;
+		}
+		.conList .btn:nth-of-type(1){
+			margin-left: 25px;
+		}
+		.select2-choice{
+			width: 100px;
+		}
+		.upload-content {
+			float: left;
+			margin-top: -100px;
+			margin-right: -40px;
+		}
+		.upload-content .conList .btn:nth-of-type(1) {
+			width: 90px;
+			height: 100px;
+			border: 2px solid #eee;
+			background: #fff;
+			position: relative;
+		}
+		.upload-content .conList .btn:nth-of-type(1)>div {
+			position: absolute;
+			top: 50%;
+			left: 50%;
+			transform: translate(-50%, -50%);
+			color: #666;
+		}
+		.upload-content .conList .btn:nth-of-type(1) span {
+			font-size: 35px;
+		}
+		.upload-content .conList .btn:nth-of-type(1) h5 {
+			color: #666;
+		}
+		.cancel-upload {
+			background: transparent;
+			border: none;
+			box-shadow: none;
+			position: relative;
+			top: -38px;
+			left: -25px;
+			cursor: pointer;
+			z-index: 100;
+		}
+		.upload-content .conList ol li {
+			width: 114px;
+			min-height: 80px;
+			text-align: center;
+			background: #fff;
+			position: relative;
+			top: 120px;
+			margin-left: 2px;
+			height: 100px;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			box-sizing: border-box;
+		}
+		.hide-pic {
+			display: none !important;
+		}
+		.upload-image-list{
+			width: 660px;
+			float: left;
+		}
+	</style>
+	<style>
+		.iconBox{
+			font-size: 0;
+		}
+		.controls .conList{
+			display: inline-block;
+			margin-right: 15px;
+		}
+		.conList .btn:nth-of-type(1){
+			margin-left: 25px;
+		}
+		.select2-choice{
+			width: 100px;
+		}
+		.upload-content {
+			float: left;
+			margin-top: -70px;
+			margin-left: 20px !important;
+		}
+		.upload-content .conList .btn:nth-of-type(1) {
+			width: 90px;
+			height: 100px;
+			border: 2px solid #eee;
+			background: #fff;
+			position: relative;
+		}
+		.upload-content .conList .btn:nth-of-type(1)>div {
+			position: absolute;
+			top: 50%;
+			left: 50%;
+			transform: translate(-50%, -50%);
+			color: #666;
+		}
+		.upload-content .conList .btn:nth-of-type(1) span {
+			font-size: 35px;
+		}
+		.upload-content .conList .btn:nth-of-type(1) h5 {
+			color: #666;
+		}
+		.cancel-upload {
+			background: transparent;
+			border: none;
+			box-shadow: none;
+			position: relative;
+			top: -38px;
+			left: -25px;
+			cursor: pointer;
+			z-index: 100;
+		}
+		.hide-pic {
+			display: none !important;
+		}
+		.select2-choice{
+			width: 200px
+		}
+
+		.red {
+			color: red;
+		}
+
+
+
+		.upload {
+			position: relative;
+			display: inline-block;
+			background: #D0EEFF;
+			border: 1px solid #99D3F5;
+			border-radius: 4px;
+			padding: 4px 12px;
+			color: #1E88C7;
+			text-decoration: none;
+			text-indent: 0;
+			line-height: 20px;
+			margin-left: 20px;
+			cursor: pointer;
+			width: 52px;
+			height: 20px;
+		}
+
+		.upload input {
+			position: absolute;
+			width: 170px;
+			font-size: 20px;
+			right: 0;
+			top: 0;
+			opacity: 0;
+			cursor: pointer;
+		}
+
+		.upload:hover {
+			background: #AADFFD;
+			border-color: #78C3F3;
+			color: #004974;
+			text-decoration: none;
+		}
+
+		.add-submit {
+			position: relative;
+			display: inline;
+			background: #D0EEFF;
+			border: 1px solid #99D3F5;
+			border-radius: 4px;
+			padding: 4px 12px;
+			color: #1E88C7;
+			text-decoration: none;
+			text-indent: 0;
+			line-height: 20px;
+			margin-left: 20px;
+			cursor: pointer;
+			width: 52px;
+			height: 30px;
+		}
+
+		.add-submit input {
+			position: absolute;
+			width: 50px;
+			font-size: 20px;
+			right: 0;
+			top: 0;
+			opacity: 0;
+			cursor: pointer;
+		}
+
+		.add-submit:hover {
+			background: #AADFFD;
+			border-color: #78C3F3;
+			color: #004974;
+			text-decoration: none;
+		}
+
+		.upload-loading{
+			 display: none;
+			 width: 32px;
+			 height: 32px;
+			 margin-left: 10px;
+		 }
+		.upload-loading img{
+			width: 16px;
+			height: 16px;
+			margin: 0 auto 0;
+		}
+
+		#file-list-display {
+			 width: 600px;
+			 height: auto;
+			 float: left;
+			 margin-left: 20px;
+		 }
+
+		#file-list-display p {
+			line-height: 30px;
+			font-size: 14px;
+			color: #333333;
+			margin: 0;
+		}
+
+		#file-list-display p .del {
+			color: #2fa4e7;
+			font-size: 12px;
+			cursor: pointer;
+			margin-left: 20px;
+		}
+
+		.Main-content{
+			height: 100px;
+		}
+		.dialogmask {
+			position: fixed;
+			top: 0px;
+			height: 100%;
+			width: 100%;
+			z-index: 80;
+			display: none;
+
+		}
+
+		.opacity { /*遮罩浑浊处理*/
+			opacity: 0.3;
+			filter: alpha(opacity=30);
+			background-color: #000;
+		}
+
+		.box {
+			overflow: hidden;
+			position: absolute;
+			width: 55%;
+			height: 60%;
+			z-index: 100; /*值越大,和其他层层叠时越在上面*/
+			left: 20%;
+			top: 15%;
+			background-color: #fff;
+			border: 1px solid rgb(0, 153, 153);
+		}
+		.ckzl {
+			overflow: hidden;
+			position: absolute;
+			width: 60%;
+			height: 80%;
+			z-index: 100; /*值越大,和其他层层叠时越在上面*/
+			left: 20%;
+			top: 15%;
+			background-color: #fff;
+			border: 1px solid rgb(0, 153, 153);
+		}
+
+		.dialogtitle {
+			width: 100%;
+			height: 30px;
+			line-height: 30px;
+			position: absolute;
+			font-size: 18px;
+			top: 0px;
+			background-color: lightgrey;
+		}
+
+		.dialogcontent {
+			padding-top: 20px;
+			OVERFLOW: scroll;
+			height: calc(100% - 20px);
+			height: -webkit-calc(100% - 20px);
+		}
+
+		.logcontent {
+			padding: 10px;
+		}
+		.pla::-webkit-input-placeholder{
+			color: green;
+		}
+	</style>
+	<script type="text/javascript">
+		//显示弹框,并且根据结果是true或false来更改标题部分的颜色
+		function showlog_result(result, info) {//展示具体弹框内容,以及根据结果是否正确变更title的颜色
+			$("#dialog").css({display: "block"});//通过Jquery的css()更改样式
+			$("#dialogmask").css({display: "block"});
+			// var s=document.getElementById("logcontent").innerHTML;
+			// $("#logcontent").html(s);
+		}
+		//关闭弹窗
+		function dialog(){
+			document.getElementById("dialog").style.display='none';
+			document.getElementById("dialogmask").style.display='none';
+		}
+		//显示资料弹窗
+		function digCk(type){
+			document.getElementById("dig").style.display='block';
+             document.getElementById("dig").title=type;
+		}
+		//隐藏资料弹窗
+		function cantral(){
+			document.getElementById("dig").style.display='none';
+		}
+		//添加资料
+		function addZl(){
+			document.getElementById("zl").style.display='block';
+			document.getElementById("yyzl").style.display='none';
+
+		}
+		function removeZl(){
+			document.getElementById("zl").style.display='none';
+			document.getElementById("yyzl").style.display='block';
+
+		}
+		//不同资料显示不同的内容
+		function ckzl_change(){
+			var content=$("#info").val();
+			if(2 == content){
+				document.getElementById("wlzl").style.display='none';
+				document.getElementById("zzzl").style.display='block';
+				document.getElementById("qtzl").style.display='none';
+			}else if(3 == content){
+				document.getElementById("wlzl").style.display='none';
+				document.getElementById("zzzl").style.display='none';
+				document.getElementById("qtzl").style.display='block';
+			}else{
+				document.getElementById("wlzl").style.display='block';
+				document.getElementById("zzzl").style.display='none';
+				document.getElementById("qtzl").style.display='none';
+			}
+		}
+		//信息栏只读设置
+		function readflag(index){
+			var info=document.getElementById("name["+index+"]").value;
+			//标题为空则内容只读
+			if(undefined != info && null!=info && '' !=info){
+				document.getElementById("content["+index+"]").readOnly=false;
+			}else{
+				document.getElementById("content["+index+"]").readOnly=true;
+			}
+		}
+		$(document).ready(function() {
+			//添加词条时弹出创建词条须知窗口
+			<%--window.showModalDialog("${ctx}/baike/cmBaikeProduct/entry",'window','dialogWidth:504px;dialogHeight:310px;status:no;help:no;scroll:no;status:0;help:0;scroll:0;');--%>
+            <%--window.open("${ctx}/baike/cmBaikeProduct/entry", "window","height=100, width=400,toolbar=yes,menubar=yes,scrollbars=yes,resizable=yes, location=yes,status=yes");--%>
+			//$("#name").focus();
+			<c:forEach items="${materialInfo}" var="videoFile" varStatus="statusIndex">
+			  var productType=""+${videoFile.productType};
+				if(productType.indexOf("1")>-1){
+					var n=${statusIndex.index}+1;
+                    var h="";
+					if(n==1){
+						h="①";
+					}else if(n==2){
+						h="②";
+
+					}else if(n==3){
+						h="③";
+
+					}else if(n==4){
+						h="④";
+
+					}else if(n==5){
+						h="⑤";
+
+					}else if(n==6){
+						h="⑥";
+
+					}else if(n==7){
+						h="⑦";
+
+					}else if(n==8){
+						h="⑧";
+					}
+					// document.getElementById("yixiandiv").innerHTML=h;
+					// document.getElementById("yixiandiv").style.display='block';
+				}
+			</c:forEach>
+			var flag=document.getElementById("createEntryGuidance").innerHTML;
+            if('添加'==flag){
+					showlog_result(null,null);
+					}
+			$("#inputForm").validate({
+				submitHandler: function(form){
+					var status = $("input[name='status']:checked").val();
+					var commodityType = $("#commodityType").val();
+					// 计算空数据条数
+					var propertyArr = [];
+					var name = $("#name").val();
+					var alias = $("#alias").val();
+					var discription = $("#discription").val();
+					var shopId = $("#shopId").val();
+					// var productLink = $("#productLink").val();
+					var image = $("#image").val();
+					var authLink = $("#authLink").val();
+					var authQrCode = $("#authQrCode").val();
+					var param0 = $('input[name="paramList[0].name"]').val();
+					// var advantage = $("#advantage").val();
+					// var disadvantage = $("#disadvantage").val();
+					// var principle = $("#principle").val();
+					var seoKeyword = $("#seoKeyword").val();
+					// var brand = $("#brand").val();
+					// var producePlace = $("#producePlace").val();
+					// var marketYear = $("#marketYear").val();
+					var company = $("#company").val();
+					// var nmpaYear = $("#nmpaYear").val();
+					// var authImage0 = $("#authImage0").val();
+					// var adaptiveMan = $("#adaptiveMan").val();
+					// var unAdaptiveMan = $("#unAdaptiveMan").val();
+					// var aroundOperation = $("#aroundOperation").val();
+					// var displayImage0 = $("#displayImage0").val();
+					// var question0 = $('input[name="questionList[0].question"]').val();
+					var publishTime = $('input[name="publishTime"]').val();
+					var basePv = $("#basePv").val();
+					var typeId = $("#typeId").val();
+					propertyArr[0] = name;
+					propertyArr[1] = alias;
+					propertyArr[2] = discription;
+					// propertyArr[3] = shopId;
+					// propertyArr[4] = productLink;
+					propertyArr[3] = param0;
+					// propertyArr[6] = advantage;
+					// propertyArr[7] = disadvantage;
+					// propertyArr[8] = principle;
+					propertyArr[4] = seoKeyword;
+					// propertyArr[10] = brand;
+					// propertyArr[11] = producePlace;
+					// propertyArr[12] = marketYear;
+					propertyArr[5] = company;
+					// propertyArr[14] = nmpaYear;
+					// propertyArr[15] = authImage0;
+					// propertyArr[16] = adaptiveMan;
+					// propertyArr[17] = unAdaptiveMan;
+					// propertyArr[18] = aroundOperation;
+					// propertyArr[19] = displayImage0;
+					// propertyArr[6] = question0;
+					propertyArr[6] = publishTime;
+					propertyArr[7] = basePv;
+					propertyArr[8] = typeId;
+					propertyArr[9] = image;
+					alert("1111111111111111");
+					var emptyNum = 0;
+					for (var i = 0; i < propertyArr.length; i++) {
+						var property = propertyArr[i].trim();
+						if ("" === property) {
+							emptyNum++;
+						}
+					}
+					$("#emptyNum").val(emptyNum);
+
+					// 检测敏感词
+					var propertyMap = new Map();
+					propertyMap.set("name", name);
+					propertyMap.set("alias", alias);
+					propertyMap.set("discription", discription);
+					// propertyMap.set("productLink", productLink);
+					for (var i = 0; i <= 9; i++) {
+						var paramName = "\"paramList[" + i + "].name\"";
+						var contentName = "\"paramList[" + i + "].content\"";
+						var param = $('input[name=' + paramName + ']').val();
+						var content = $('input[name=' + contentName + ']').val();
+						if ( param === undefined || param === '') {
+							break;
+						} else {
+							propertyMap.set("param" + i, param);
+							propertyMap.set("content" + i, content);
+						}
+					}
+					// propertyMap.set("advantage", advantage);
+					// propertyMap.set("disadvantage", disadvantage);
+					// propertyMap.set("principle", principle);
+					propertyMap.set("seoKeyword", seoKeyword);
+					// propertyMap.set("brand", brand);
+					// propertyMap.set("producePlace", producePlace);
+					propertyMap.set("company", company);
+					// propertyMap.set("adaptiveMan", adaptiveMan);
+					// propertyMap.set("unAdaptiveMan", unAdaptiveMan);
+					// propertyMap.set("aroundOperation", aroundOperation);
+                    // if (2 == commodityType) {
+                    //     propertyMap.set("authLink", authLink);
+                    // }
+					<%--for (var i = 0; i <= 20; i++) {--%>
+					<%--	var questionName = "\"questionList[" + i + "].question\"";--%>
+					<%--	var answerName = "\"questionList[" + i + "].answer\"";--%>
+					<%--	var question = $('input[name=' + questionName + ']').val();--%>
+					<%--	var answer = $('input[name=' + answerName + ']').val();--%>
+					<%--	if (question === undefined || question === '') {--%>
+					<%--		break;--%>
+					<%--	} else {--%>
+					<%--		propertyMap.set("question" + i, question);--%>
+					<%--		propertyMap.set("answer" + i, answer);--%>
+					<%--	}--%>
+					<%--}--%>
+					var sensitiveWords = '${sensitiveWords}';
+					const mint = new MintFilter(sensitiveWords.split('|'));
+					var filterSync = '';
+					var touchWords = '';
+					var touchNum = 0;
+					<%--debugger--%>
+					propertyMap.forEach(function (value,key,map) {
+						filterSync = mint.filterSync(value);
+						filterSync.words.forEach(word=>{
+							touchWords += touchWords === '' ? word : "," + word;
+						})
+						if (touchWords !== '') {
+							// 增加敏感词触发数量
+							touchNum++;
+							// 设置敏感词提示
+							$("#" + key + "SensitiveWords").text("敏感词:" + touchWords);
+							touchWords = '';
+						}
+					});
+					if (1 == status && emptyNum > 0) {
+						var msg = "您还剩余" + emptyNum + "项未完善,将会导致用户对您产品/仪器的认识度不够,确认是否提交?";
+						top.$.jBox.confirm(msg, '系统提示', function (v, h, f) {
+							if (v == 'ok') {
+								if (touchNum > 0) {
+									var msg = 1 == status?"当前发布内容存在敏感词,已为您标记在输入框下方," +
+											"请修改后,再进行保存发布,强行保存发布将会导致审核不通过!":
+											"当前内容存在敏感词,已为您标记在输入框下方,建议修改后再进行保存!否则," +
+											"将会影响发布时审核不通过!";
+									top.$.jBox.confirm(msg, '系统提示', function (v, h, f) {
+										if (v == 'ok') {
+                                            loading('正在提交,请稍等...');
+                                            form.submit();
+										}
+									}, {buttonsFocus: 1, persistent: true});
+								} else{
+                                    loading('正在提交,请稍等...');
+                                    form.submit();
+                                }
+							}
+						}, {buttonsFocus: 1, persistent: true});
+					} else {
+						if (touchNum > 0) {
+							var msg = 1 == status?"当前发布内容存在敏感词,已为您标记在输入框下方," +
+									"请修改后,再进行保存发布,强行保存发布将会导致审核不通过!":
+									"当前内容存在敏感词,已为您标记在输入框下方,建议修改后再进行保存!否则," +
+									"将会影响发布时审核不通过!";
+							top.$.jBox.confirm(msg, '系统提示', function (v, h, f) {
+								if (v == 'ok') {
+									loading('正在提交,请稍等...');
+									form.submit();
+								}
+							}, {buttonsFocus: 1, persistent: true});
+						} else{
+							loading('正在提交,请稍等...');
+							form.submit();
+						}
+					}
+				},
+				errorContainer: "#messageBox",
+				errorPlacement: function(error, element) {
+					$("#messageBox").text("输入有误,请先更正。");
+					if (element.is(":checkbox")||element.is(":radio")||element.parent().is(".input-append")){
+						error.appendTo(element.parent().parent());
+					} else {
+						error.insertAfter(element);
+					}
+				}
+			});
+		});
+        function saveInfo(){
+			var content=$("#info").val();//参考资料类型
+			var website=$("#website").val();//网址
+			var articleName=$("#articleName").val();//文章名字
+			var websiteName=$("#websiteName").val();//网站名称
+			var publishTimeStr=$("#publishTimeStr").val();//发布日期
+			var acitationTimeStr=$("#acitationTimeStr").val();//引文日期
+			var productId="";
+			<c:if test="${cmBaikeProduct.entryId eq 2}">
+			productId=${cmBaikeProduct.id}
+			</c:if>
+			var zlid=document.getElementById("dig").lang;
+			var params={}
+			if(content==1){
+				params={
+					//网络资料
+					"referenceType":content,
+					"website":website,
+					"articleName":articleName,
+					"websiteName":websiteName,
+					"publishTimeStr":publishTimeStr,
+					"acitationTimeStr":acitationTimeStr,
+					//公共
+					"productId":productId,//词条id
+					"productType":document.getElementById("dig").title,//词条内容
+					"flagId":document.getElementById("dig").tabIndex,//添加修改标识  1添加 2修改
+					"zlId":zlid//资料id 用于修改
+				}
+			}else if(content=2){
+				params={
+				"referenceType":content,
+				"author":$("#author").val(),//作者
+				"workName":$("#workName").val(),//著作名
+				"publicationPlace":$("#publicationPlace").val(),//出版地
+				"press":$("#press").val(),//出版社
+				"publicationYearStr":$("#publicationYearStr").val(),//出版年
+				"acitationWeb":$("#acitationWeb").val(),//引文页码
+				//公共
+				"productId":productId,//词条id
+				"productType":document.getElementById("dig").title,//词条内容
+				"flagId":document.getElementById("dig").tabIndex,//添加修改标识  1添加 2修改
+				"zlId":zlid//资料id 用于修改
+				}
+			}else if(content=3){
+				params={
+				//其他资料
+				"referenceDescription":$("#referenceDescription").val(),//参考资料说明
+				"imageDescription":$("#imageDescription").val(),//图片描述
+				"imageUrl":$("#image").val(),//图片地址
+				//公共
+				"productId":productId,//词条id
+				"productType":document.getElementById("dig").title,//词条内容
+				"flagId":document.getElementById("dig").tabIndex,//添加修改标识  1添加 2修改
+				"zlId":zlid//资料id 用于修改
+				}
+			}
+			// alert(content+"---"+website+"---"+articleName+"---"+websiteName+"---"+publishTime+"---"+acitationTime);
+			// var params={
+			// 	//网络资料
+			// 	"referenceType":content,
+			// 	"website":website,
+			// 	"articleName":articleName,
+			// 	"websiteName":websiteName,
+			// 	"publishTimeStr":publishTimeStr,
+			// 	"acitationTimeStr":acitationTimeStr,
+			// 	//著作资料
+			// 	"author":$("#author").val(),//作者
+			// 	"workName":$("#workName").val(),//著作名
+			// 	"publicationPlace":$("#publicationPlace").val(),//出版地
+			// 	"press":$("#press").val(),//出版社
+			// 	"publicationYearStr":$("#publicationYearStr").val(),//出版年
+			// 	"acitationWeb":$("#acitationWeb").val(),//引文页码
+			// 	//其他资料
+			// 	"referenceDescription":$("#referenceDescription").val(),//参考资料说明
+			// 	"imageDescription":$("#imageDescription").val(),//图片描述
+			// 	"imageUrl":$("#image").val(),//图片地址
+            //     //公共
+			// 	"productId":productId,//词条id
+            //     "productType":document.getElementById("dig").title,//词条内容
+			// 	"flagId":document.getElementById("dig").tabIndex,//添加修改标识  1添加 2修改
+			// 	"zlId":zlid//资料id 用于修改
+			// }
+            $.ajax({
+				url : "${ctx}/baike/cmBaikeProduct/saveMaterialinfo",
+				data : params,
+				type : 'post',
+				success : function(data){
+					document.getElementById("dig").style.display='none';
+					alert("保存资料成功");
+					$("#dig").load(location.href+" #dig>*","");
+					<%--window.location.href = "${ctx}/baike/cmBaikeProduct/form?commodityType=1";--%>
+
+				},
+				error : function(){
+					alert(222);
+				}
+			})
+		}
+		function saveMataInfo(){
+
+		}
+
+		function imgSizeChange(){
+			// if($("#img"+size).width==){
+			//
+			// }
+			// alert();
+			// document.getElementById("imgaa").style.width=100px;
+			parent.location.href = "https://zp.caimei365.com/12/ross/activity/challenge";
+		}
+		//删除资料
+		function delMaterial(mid){
+			var msg='确定删除该资料?';
+			top.$.jBox.confirm(msg,'系统提示',function(v,h,f){
+				if(v=='ok'){
+					$.ajax({
+						url : "${ctx}/baike/cmBaikeProduct/delMaterialinfo",
+						data : {"mid":mid},
+						type : 'post',
+						success : function(data){
+							top.$.jBox.tip('删除资料成功', 'success');
+							$("#mata").load(location.href+" #mata>*","");
+							<%--window.location.href = "${ctx}/baike/cmBaikeProduct/form?commodityType=1";--%>
+						},
+						error : function(){
+							alert(222);
+						}
+					})
+				}
+				// top.$.jBox.tip('删除成功', 'success');
+				// window.location.reload();
+				return;
+			},{buttonsFocus:1,persistent: true});
+		}
+		//编辑资料
+		function upMaterial(mid){
+			$.ajax({
+				url : "${ctx}/baike/cmBaikeProduct/getMaterialinfo",
+				data : {"mid":mid},
+				type : 'post',
+				success : function(data){
+					$("#info").val(data.referenceType);
+					var content=$("#info").val();
+					// $("#info option[value='3']").prop("selected",true);
+					if(2 == content){
+						document.getElementById("wlzl").style.display='none';
+						document.getElementById("zzzl").style.display='block';
+						document.getElementById("qtzl").style.display='none';
+					}else if(3 == content){
+						document.getElementById("wlzl").style.display='none';
+						document.getElementById("zzzl").style.display='none';
+						document.getElementById("qtzl").style.display='block';
+					}else{
+						document.getElementById("wlzl").style.display='block';
+						document.getElementById("zzzl").style.display='none';
+						document.getElementById("qtzl").style.display='none';
+					}
+					//判断是编辑还是添加 1添加 2编辑
+					if(data.referenceType==1){
+						$("#website").val(data.website);
+						$("#articleName").val(data.articleName);
+						$("#websiteName").val(data.websiteName);
+						$("#publishTimeStr").val(data.publishTimeStr);
+						$("#acitationTimeStr").val(data.acitationTimeStr);
+						document.getElementById("dig").style.display='block';
+					}
+					if(data.referenceType==2){
+						$("#author").val(data.author);
+						$("#workName").val(data.workName);
+						$("#publicationPlace").val(data.publicationPlace);
+						$("#press").val(data.press);
+						$("#publicationYearStr").val(data.publicationYearStr);
+						$("#acitationWeb").val(data.acitationWeb);
+						document.getElementById("dig").style.display='block';
+					}
+					document.getElementById("dig").tabIndex=2;
+					document.getElementById("dig").lang=mid;
+				},
+				error : function(){
+					alert(222);
+				}
+			})
+		}
+	</script>
+</head>
+<body>
+	<ul class="nav nav-tabs">
+		<li><a href="${ctx}/baike/cmBaikeProduct/?commodityType=${cmBaikeProduct.commodityType}">采美词条</a></li>
+		<li class="active"><a id="createEntryGuidance"  href="${ctx}/baike/cmBaikeProduct/form?id=${cmBaikeProduct.id}&commodityType=${cmBaikeProduct.commodityType}">${not empty cmBaikeProduct.id?'编辑':'添加'}</a></li>
+	</ul><br/>
+<%--	<div>--%>
+<%--		<button onclick="showlog_result(true,'展示正确内容的弹框')">展示正确弹框</button>--%>
+<%--	</div>--%>
+	<div><input type="button" onclick="digCk()" value="参考资料"></div>
+	<div id="dialogmask" class="dialogmask opacity"></div>
+	<div id="dig" class="ckzl" style="display: none"> 
+		<div id="dig_content" class="digcontent">
+			<div>
+				<a onclick="addZl()">添加参考资料</a>
+				<a onclick="removeZl()">引用已有资料</a>
+			</div>
+			<%--已有资料--%>
+			<div class="control-group" id="yyzl" style="display: none">
+				<label class="control-label titleClass">参考资料</label>
+				<c:forEach items="${materialInfo}" var="videoFile" varStatus="statusIndex">
+					<c:if test="${videoFile.referenceType eq '1'}">
+						<div class="controls applicationsan" style="margin-top: 5px">
+							<span class="del">[${statusIndex.index}]</span>
+							<span class="del"><a href="${videoFile.website}" target="_blank">${videoFile.articleName}(文章名称)</a></span>
+							<span class="del">${videoFile.websiteName}(网站名称)</span>
+							<span class="del">${videoFile.publishTime}(发表日期)</span>
+							<span class="del">${videoFile.acitationTime}(引文日期)</span>
+							<a onclick="saveMataInfo(${videoFile.id})">引用资料</a>
+						</div>
+					</c:if>
+					<c:if test="${videoFile.referenceType eq '2'}">
+						<div class="controls applicationsan" style="margin-top: 5px">
+							<span class="del">[${statusIndex.index}]</span>
+							<span class="del">${videoFile.author}(作者)</span>
+							<span class="del">${videoFile.workName}(著作名)</span>
+							<span class="del">${videoFile.publicationPlace}(出版地)</span>
+							<span class="del">${videoFile.press}(出版社)</span>
+							<span class="del">${videoFile.publicationYear}(出版年)</span>
+							<span class="del">${videoFile.acitationWeb}(引文页码)</span>
+							<a onclick="saveMataInfo(${videoFile.id})">引用资料</a>
+
+						</div>
+					</c:if>
+					<c:if test="${videoFile.referenceType eq '3'}">
+						<div class="controls applicationsan" style="margin-top: 5px">
+							<span class="del">[${statusIndex.index}]</span>
+							<span class="del">${videoFile.referenceDescription}(参考资料说明)</span>
+							<span class="del">${videoFile.imageDescription}(图片描述)</span>
+							<div class="conList">
+									<%--							onclick="imgSizeChange()"--%>
+								<img id="imgaa"  src="${videoFile.imageUrl}" height="50px" width="50px" >(图片)</input>
+							</div>
+							<a onclick="saveMataInfo(${videoFile.id})">引用资料</a>
+
+						</div>
+					</c:if>
+				</c:forEach>
+			</div>
+
+
+			<div id="zl" style="margin-top: 10px">
+			<div class="control-group" style="margin-left: 100px">
+				<label id="" class="red">*</label>
+				<label class="control-label">参考资料类型:</label>
+				<select id="info" style="margin-left: 20px" onchange="ckzl_change()">
+					<option id="zllx1" value="1">网络资料</option>
+					<option id="zllx2" value="2">著作资料</option>
+					<option id="zllx3" value="3">其他资料</option>
+				</select>
+			</div>
+			<%--网络资料--%>
+			<div class="wlzl" style="display: block" id="wlzl">
+			<div class="control-group" style="margin-left: 100px;margin-top: 30px">
+				<label id="" class="red">*</label>
+				<label class="control-label keyClass">输入网址:</label>
+				<input id="website" style="margin-left: 45px" htmlEscape="false" class="input-xlarge " placeholder="请以http(s)开头"/>
+			</div>
+			<div class="control-group" style="margin-left: 100px;margin-top: 30px">
+				<label id="" class="red">*</label>
+				<label class="control-label keyClass">文章名字:</label>
+				<input id="articleName" style="margin-left: 45px" htmlEscape="false" class="input-xlarge " placeholder="请输入文章名字"/>
+			</div>
+			<div class="control-group" style="margin-left: 100px;margin-top: 30px">
+				<label id="" class="red">*</label>
+				<label class="control-label keyClass">网站名称:</label>
+					<input  id="websiteName" style="margin-left: 45px" htmlEscape="false" class="input-xlarge " placeholder="请输入网站名称 如:新华网"/>
+			</div>
+			<div class="control-group" style="margin-left: 100px;margin-top: 30px">
+				<label class="control-label keyClass">发表日期:</label>
+					<input id="publishTimeStr" name="publishTime" style="margin-left: 55px" type="text" readonly="readonly" maxlength="20" class="input-medium Wdate "
+						   value="<fmt:formatDate value="${cmBaikeProduct.publishTime}" pattern="yyyy-MM-dd HH:mm:ss"/>"
+						   onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:false});"/>
+			</div>
+			<div class="control-group" style="margin-left: 100px;margin-top: 30px">
+				<label class="control-label keyClass">引文日期:</label>
+					<input id="acitationTimeStr" name="publishTime" style="margin-left: 55px" type="text" readonly="readonly" maxlength="20" class="input-medium Wdate "
+						   value="<fmt:formatDate value="${cmBaikeProduct.publishTime}" pattern="yyyy-MM-dd HH:mm:ss"/>"
+						   onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:false});"/>
+			</div>
+			<div class="form-actions" align="center">
+				<%--			onclick="checkInfo()"--%>
+				<input id="" onclick="saveInfo()" class="btn btn-primary" type="submit" value="确 定"/>&nbsp;
+				<input id="" class="btn" type="button" value="取 消" onclick="cantral()"/>
+			</div>
+			</div>
+            <%--著作资料--%>
+			<div class="zzzl" style="display: none" id="zzzl">
+				<div class="control-group" style="margin-left: 100px;margin-top: 30px">
+					<label id="" class="red">*</label>
+					<label class="control-label keyClass">作者:</label>
+					<input id="author" style="margin-left: 70px" htmlEscape="false" class="input-xlarge " placeholder="请输入作者名称 多个作者使用英文都好隔开"/>
+				</div>
+				<div class="control-group" style="margin-left: 100px;margin-top: 30px">
+					<label id="" class="red">*</label>
+					<label class="control-label keyClass">著作名:</label>
+					<input id="workName" style="margin-left: 60px" htmlEscape="false" class="input-xlarge " placeholder="请输入著作名"/>
+				</div>
+				<div class="control-group" style="margin-left: 100px;margin-top: 30px">
+					<label class="control-label keyClass">出版地:</label>
+					<input id="publicationPlace" style="margin-left: 70px" htmlEscape="false" class="input-xlarge " placeholder="请输入出版地信息"/>
+				</div>
+				<div class="control-group" style="margin-left: 100px;margin-top: 30px">
+					<label id="" class="red">*</label>
+					<label class="control-label keyClass">出版社:</label>
+					<input id="press" style="margin-left: 60px" htmlEscape="false" class="input-xlarge " placeholder="请输入出版社名称"/>
+				</div>
+				<div class="control-group" style="margin-left: 100px;margin-top: 30px">
+					<label class="control-label keyClass">出版年:</label>
+					<input id="publicationYearStr" name="publishTime" style="margin-left: 65px" type="text" readonly="readonly" maxlength="20" class="input-medium Wdate "
+						   value="<fmt:formatDate value="${cmBaikeProduct.publishTime}" pattern="yyyy-MM-dd HH:mm:ss"/>"
+						   onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:false});"/>
+				</div>
+				<div class="control-group" style="margin-left: 100px;margin-top: 30px">
+					<label class="control-label keyClass">引文编码:</label>
+					<input id="acitationWeb" style="margin-left: 60px" htmlEscape="false" class="input-xlarge " placeholder="请输入引用著作的页码 如 100 121"/>
+				</div>
+				<div class="form-actions" align="center">
+					<%--			onclick="checkInfo()"--%>
+					<input id="" onclick="saveInfo()" class="btn btn-primary" type="submit" value="确 定"/>&nbsp;
+					<input id="" class="btn" type="button" value="取 消" onclick="cantral()"/>
+				</div>
+			</div>
+			<%--其他资料--%>
+			<div class="qtzl" style="display:none;" id="qtzl">
+				<div class="control-group" style="margin-left: 20px">
+					<label id="" class="red">*</label>
+					<label class="control-label keyClass">参考资料说明:</label>
+					<textarea id="referenceDescription" type="text"  style="position: relative;height: 100px; width: 450px;" maxlength="50" ></textarea>
+					<label style="margin-left: 150px">其他类型参考资料,填写格式请参阅<a href="">《信息与文献 参考文献著录规则 GB/T 7714-2015》</a></label>
+				</div>
+				<div class="control-group" style="margin-left: 20px">
+					<label class="control-label keyClass">图片描述:</label>
+					<input id="imageDescription" style="margin-left: 45px" htmlEscape="false" class="input-xlarge " placeholder="请输入其他参考资料的具体描述"/>
+				</div>
+				<div class="control-group" style="margin-top: 28px">
+					<label class="control-label">图片上传:</label>
+					<div class="main-image-list" style="display: flex;flex-wrap: wrap">
+						<div class="controls upload-content iconBox mainImageBox" id="mainImageBox">
+							<div class="conList">
+								<hidden id="image" path="image" htmlEscape="false" maxlength="255" class="input-xlarge "/>
+								<sys:ckfinder input="image" type="images" uploadPath="/photo" selectMultiple="false" maxWidth="100"
+											  maxHeight="100"/>
+								<br>
+								<label style="margin-left: 150px">请上传引用的图片资源,需同时上传资料的封面、以及含有对应具体内容的图片;注意:图片需要保证完整、不可遮挡且清晰</label>
+							</div>
+						</div>
+					</div>
+				</div>
+				<div class="form-actions" align="center">
+					<%--			onclick="checkInfo()"--%>
+					<input id="" onclick="saveInfo()" class="btn btn-primary" type="submit" value="确 定"/>&nbsp;
+					<input id="" class="btn" type="button" value="取 消" onclick="cantral()"/>
+				</div>
+			</div>
+			</div>
+		</div>
+	</div>
+<%--	<div id="dialogmask" class="dialogmask opacity"></div>--%>
+	<div id="dialog" class="box" style="display: none"> 
+		<div id="dialog_content" class="dialogcontent">
+<%--			<div id="logcontent" class="logcontent"><a herf="https://www.baidu.com">三生三世</a></div>--%>
+<%--			<a herf="https://www.baidu.com">十里桃花</a>--%>
+	<div><h4>创建词条引导</h4></div>
+	<br>
+	<div>欢迎进入创建词条引导,为便于您更好的通过审核,请务必确保您已知晓百科词条的<a href="${ctx}/baike/cmBaikeProduct/entry">编辑须知</a>,如有疑问,您可以<a>点此</a>求助采美工作人员。</div>
+	<br>
+	<div><h5>声明</h5></div>
+	<br>
+	<div>在正式创建词条前,首先请你承诺:</div>
+
+		<div>1.不在百科添加广告性质的内容, 如联系方式,官方网站链接等;</div>
+
+	    <div>2.不在百科编写涉及反动,违法犯罪,色情,暴力的内容;</div>
+
+		<div>3.不在百科编写虚假的、捏造的、恶搞的、缺乏根据的内容;</div>
+
+		<div>4.不侵犯他人合理权益;</div>
+
+		<div>5.接受违反以上规则时,百科账号会被封禁的结果。</div>
+	<br>
+	<div><h5>词条名</h5></div>
+	<br>
+	<div>成功创建词条的首要条件是了解一些基础知识!</div>
+	<br>
+	<div><h5>■什么是词条?</h5></div>
+	<br>
+	<div>词条指的是对于单一事物内容的介绍,例如技术,成分等。每个词条都有属于自己的名称,你可以通过搜索词条的名称来找到它们。</div>
+	<div>已有词条重名?创建多义词!</div>
+	<div>与已有词条意义相同?反馈同义词!</div>
+	<br>
+	<div><h5>■什么是规范的词条名?</h5></div>	<br>
+
+	<div>采美百科规范的词条名是一个专有名词,请使用正式的全称或最广为人知的常见名。</div>
+	<div>例如:皮秒激光美容、光子嫩肤、线粒体、葡聚糖等</div>
+	<br>
+	<div><h5>主题</h5></div>	<br>
+	<div>恭喜你已经完成了创建词条的第一步!现在想一想你要创建的词条属于什么类型?</div>
+	<div>选择正确的类型,精确定位你的创建难点所在!</div>
+
+
+	<br>
+	<div><h5>产品成分类词条</h5></div>	<br>
+	<div>如玻尿酸钠、葡聚糖、虎杖等</div>
+
+
+	<br>
+	<div><h5>产品技术词条</h5></div>	<br>
+	<div>如射频、皮秒、808半导体激光技术、透热疗法、448KHz、LDM水滴提升等</div>
+	<br>
+	<div><h5>词条创建要求</h5></div>	<br>
+	<div><h6>1.描述客观</h6></div>
+	<div>描述事物时以事实为依
+	据不加入感情色彩,不掺杂个人的好恶。百科词条
+	是客观内容的集合,只站在第三方立场,以事实说话。例如,
+	某篮球运动员某一场的投篮命中率较差,一般的表述是命中率低,
+	甚至使用“打铁”之类的贬义词。而这样的表述模糊不清,多少算低,多
+	少算高各有标准;同时也会造成支持者和反对者的口水战。所以直接把赛事数据
+	列出,是高是低各自评说即可。另外在筛选内容时,也要保证公正客观,尤其对于争
+	议性内容,保留多方观点并附以可靠的参考资料,是处理争议内容较为可取的做法。</div>
+	<br>
+	<div><h6>2.修饰适当</h6></div>	<br>
+	<div>百科词条提倡用语“客观”,在一般性的叙述中(区别于引用原文的引述)尽量少的使用形容词和程度副词(最XXXX、十分XXX……)。</div>
+	<br>
+	<div><h6>3.参考资料要有效</h6></div>	<br>
+
+
+	<div>参考资料是正文内容客观的另一种表现形式。词条某条内容,光靠“说”自己客观是不够的,应以可信有效的参考资料作为佐证来源,才能证明该内容是否已获得公众知晓或认可。
+	特色词条应该保证一半以上的信息点都是有可靠来源的(由科学百科权威认证的特色词条,应确保词条正文中(含概述)每个目录模块中都有至少一条权威参考资料)。
+	这里的有来源不是要求一字一句的复制粘贴,而是“内容虽经必要提炼、整理,但却不失原意”。例如前述的两个姜文词条中的文段,整理后的内容要素和观点依然来自参考资料,并没有增减其原意。
+	</div>
+
+	<br>
+	<div>可靠的来源一般包括文献、书籍等出版物、主流媒体发布的消息、政府或公众机构官网发布的内容等。关于可靠的来源的具体定义,请参阅百度百科:参考资料。</div>
+	<br>
+
+
+	<div>如,“<a>牛顿第一运动定律</a>”词条中,定律内容、发现者、适用范围等都是必不可少的重要内容,这些部分的缺失会导致读者对词条内容的错误认识。</div>
+	<div align="center"><input class="btn btn-primary" type="button" onclick="dialog()" value="我已阅读并知晓"></div>  
+		</div>
+	</div>
+
+	<form:form id="inputForm" modelAttribute="cmBaikeProduct" action="${ctx}/baike/cmBaikeProduct/save" method="post" class="form-horizontal">
+		<form:hidden path="id"/>
+		<form:hidden path="fileIds"/>
+		<form:hidden path="commodityType"/>
+		<form:hidden path="emptyNum"/>
+		<sys:message content="${message}"/>
+<%--		<div class="control-group">--%>
+<%--			<label class="control-label titleClass">${commodityType}简述</label>--%>
+<%--		</div>--%>
+		<div class="control-group">
+			<label class="control-label">词条名称:</label>
+			<div class="controls">
+				<form:input path="name" htmlEscape="false" class="input-xlarge "/>
+				<label id="nameSensitiveWords" class="red"></label>
+			</div>
+		</div>
+		<div class="control-group">
+			<label class="control-label">义项名:</label>
+			<div class="controls not-overflow">
+				<div class="content-edit" id="bk-name">
+					<div class="bk-toolbar">[&nbsp;|&nbsp;]</div>
+					<div class="bk-bubble">1</div>
+					<div class="bk-input" contenteditable="true"></div>
+					<ul class="bk-literature">
+						<li>
+							<div class="bk-content">参考资料1</div>
+							<div class="bk-control">
+								<span class="bk-edit">编辑</span>
+								<span class="bk-delete">删除</span>
+							</div>
+						</li>
+					</ul>
+				</div>
+			</div>
+		</div>
+		<div class="control-group">
+			<label class="control-label">词条概述:</label>
+			<div class="controls" style="width:812px">
+                <textarea type="text" id="discription" name="discription" style="position: relative;height: 100px; width: 450px;" maxlength="50" >${cmBaikeProduct.discription}</textarea>
+                <label id="discriptionSensitiveWords" class="red"></label>
+            </div>
+		</div>
+<%--		<div class="control-group">--%>
+<%--			<label class="control-label">供应商链接:</label>--%>
+<%--			<div class="controls">--%>
+<%--				<form:select path="shopId" class="input-xlarge ">--%>
+<%--					<form:option value="" label="选择供应商"/>--%>
+<%--					<form:options items="${cmBaikeProduct.shopList}" class="input-xlarge" itemLabel="name" itemValue="shopID" htmlEscape="false"/>--%>
+<%--				</form:select>--%>
+<%--			</div>--%>
+<%--		</div>--%>
+<%--		<div class="control-group" style="position: relative">--%>
+<%--			<label class="control-label">${commodityType}链接:</label>--%>
+<%--			<div class="controls">--%>
+<%--				<form:input path="productLink" htmlEscape="false" class="input-xxlarge " placeholder="输入采美商城的相关商品详情链接,便于用户精准找到"/>--%>
+<%--                <label id="productLinkSensitiveWords" class="red"></label>--%>
+<%--			</div>--%>
+<%--		</div>--%>
+		<div class="control-group" style="width: 1000px">
+			<label class="control-label keyClass">概述图册:</label>
+			<div class="display-image-list" style="display: flex;flex-wrap: wrap">
+				<c:forEach items="${cmBaikeProduct.displayImageList}" var="displayImage" varStatus="index">
+					<div class="controls upload-content iconBox" id="displayImageBox${index.index}">
+						<div class="conList">
+							<form:hidden id="displayImage${index.index}" path="displayImageList[${index.index}]" htmlEscape="false"
+										 maxlength="255"
+										 class="input-xlarge "/>
+							<sys:ckfinder input="displayImage${index.index}" type="images" uploadPath="/photo"
+										  selectMultiple="false"
+										  maxWidth="100" maxHeight="100"/><br>
+						</div>
+					</div>
+				</c:forEach>
+				<c:set var="size" value="${empty cmBaikeProduct.displayImageList?0:cmBaikeProduct.displayImageList.size()}"/>
+				<c:forEach var="emptyIndex" begin="${size}" end="${5}">
+					<div class="controls upload-content iconBox conList ${emptyIndex eq 0?'':'hide-pic'}" id="displayImageBox${emptyIndex}" >
+						<div class="conList">
+							<form:hidden id="displayImage${emptyIndex}" path="displayImageList[${emptyIndex}]" htmlEscape="false"
+										 maxlength="255"
+										 class="input-xlarge "/>
+							<sys:ckfinder input="displayImage${emptyIndex}" type="images" uploadPath="/photo"
+										  selectMultiple="false"
+										  maxWidth="100" maxHeight="100"/><br>
+						</div>
+					</div>
+				</c:forEach>
+			</div>
+		</div>
+
+		<div class="control-group">
+			<div class="control-group">
+				<label class="control-label keyClass">相关视频(各视频大小不超过50M,最多上传6个)</label>
+			</div>
+			<div class="control-group">
+				<label class="control-label">标题:</label>
+				<div class="controls">
+					<input id="fileTitle" style="width: 457px" htmlEscape="false" >
+				</div>
+				<label class="control-label" style="margin-top:10px">视频路径:</label>
+				<div class="controls" style="margin-top:10px">
+					<input id="uploadFileName" type="text" style="display: inline;" placeholder="支持mp4" disabled="true" class="input-xlarge required" />
+					<div class="upload">
+						<input type="file" name="file" id="productFile" accept=".mp4" >选择文件
+					</div>
+					<div class="add-submit">
+						<input id="addSubmit" type="button" value="上传"/>上传&nbsp;
+					</div>
+					<div class="upload-loading">
+						<img alt="gif" src="/static/images/upload.gif" width="32px" border="none">
+					</div>
+				</div>
+			</div>
+			<div class="control-group">
+				<div id='file-list-display' style="margin-left:180px">
+					<c:if test="${not empty cmBaikeProduct.videoList}">
+						<c:forEach items="${cmBaikeProduct.videoList}" var="videoFile" varStatus="statusIndex">
+							<p>${videoFile.fileTitle}
+								<span class="del"><a onclick="previewVideo('${videoFile.ossUrl}')">预览</a></span>
+								<span class="del" onclick="dataDelete(this,'${videoFile.id}')">删除</span>
+							</p>
+						</c:forEach>
+					</c:if>
+				</div>
+			</div>
+		</div>
+<%--		${cmBaikeProduct.commodityType eq 2?'':}--%>
+        <div style="display:none" >
+            <div class="control-group">
+                <label class="control-label titleClass">正品识别</label>
+            </div>
+            <div class="control-group">
+                <label class="control-label">认证链接:</label>
+                <div class="controls">
+                    <form:input path="authLink" htmlEscape="false" class="input-xxlarge " cssStyle="position: relative"/>
+                    <label id="authLinkSensitiveWords" class="red"></label>
+                </div>
+            </div>
+			<div class="control-group">
+				<label class="control-label">认证二维码:</label>
+				<div class="auth-qrCode-list" style="display: flex;flex-wrap: wrap">
+					<div class="controls upload-content iconBox authQrCodeBox" id="authQrCodeBox">
+						<div class="conList">
+							<form:hidden id="authQrCode" path="authQrCode" htmlEscape="false" maxlength="255" class="input-xlarge "/>
+							<sys:ckfinder input="authQrCode" type="images" uploadPath="/photo" selectMultiple="false" maxWidth="100"
+										  maxHeight="100"/>
+							<br>
+							<label style="margin-left: 150px">建议图片尺寸210px*210px,并上传白底图片</label>
+						</div>
+					</div>
+				</div>
+			</div>
+        </div>
+		<div class="control-group paramList">
+			<label class="control-label titleClass">信息栏:</label>
+			<label>(注:未填写的信息将不会显示在词条页上)</label>
+			<div class="controls paramRow" id="paramRow0">
+				<input id="name[0]" name="paramList[0].name" htmlEscape="false" class="input-small "
+					   placeholder="例如:型号" onblur="readflag(0)">
+                <label id="param0SensitiveWords" class="red"></label>
+				<input id="content[0]" name="paramList[0].content" htmlEscape="false" class="input-xlarge "
+					   placeholder="请输入内容" readonly>
+                <label id="content0SensitiveWords" class="red"></label>
+			</div>
+			<div class="controls paramRow" id="paramRow1">
+				<input id="name[1]" name="paramList[1].name" htmlEscape="false" class="input-small "
+					   placeholder="例如:性质类型" onblur="readflag(1)">
+                <label id="param1SensitiveWords" class="red"></label>
+				<input id="content[1]" name="paramList[1].content" htmlEscape="false" class="input-xlarge "
+					   placeholder="请输入内容" readonly>
+                <label id="content1SensitiveWords" class="red"></label>
+				<a onclick="deleteParam(1)" style="cursor: pointer">删除</a>
+			</div>
+			<div class="controls paramRow" id="paramRow2">
+				<input id="name[2]" name="paramList[2].name" htmlEscape="false" class="input-small "
+					   placeholder="例如:成分" onblur="readflag(2)">
+                <label id="param2SensitiveWords" class="red"></label>
+				<input id="content[2]" name="paramList[2].content" htmlEscape="false" class="input-xlarge "
+					   placeholder="请输入内容" readonly>
+                <label id="content2SensitiveWords" class="red"></label>
+				<a onclick="deleteParam(2)" style="cursor: pointer">删除</a>
+			</div>
+<%--			<div class="controls paramRow" id="paramRow3">--%>
+<%--				<input name="paramList[3].name" htmlEscape="false" class="input-small "--%>
+<%--					   placeholder="例如:规格">--%>
+<%--                <label id="param3SensitiveWords" class="red"></label>--%>
+<%--				<input name="paramList[3].content" htmlEscape="false" class="input-xlarge "--%>
+<%--					   placeholder="输入参数信息">--%>
+<%--                <label id="content3SensitiveWords" class="red"></label>--%>
+<%--				<a onclick="deleteParam(3)" style="cursor: pointer">删除</a>--%>
+<%--			</div>--%>
+<%--			<div class="controls paramRow" id="paramRow4">--%>
+<%--				<input name="paramList[4].name" htmlEscape="false" class="input-small "--%>
+<%--					   placeholder="例如:性质类型">--%>
+<%--                <label id="param4SensitiveWords" class="red"></label>--%>
+<%--				<input name="paramList[4].content" htmlEscape="false" class="input-xlarge "--%>
+<%--					   placeholder="输入参数信息">--%>
+<%--                <label id="content4SensitiveWords" class="red"></label>--%>
+<%--				<a onclick="deleteParam(4)" style="cursor: pointer">删除</a>--%>
+<%--			</div>--%>
+<%--			<div class="controls paramRow" id="paramRow5">--%>
+<%--				<input name="paramList[5].name" htmlEscape="false" class="input-small "--%>
+<%--					   placeholder="例如:性质类型">--%>
+<%--                <label id="param5SensitiveWords" class="red"></label>--%>
+<%--				<input name="paramList[5].content" htmlEscape="false" class="input-xlarge "--%>
+<%--					   placeholder="输入参数信息">--%>
+<%--                <label id="content5SensitiveWords" class="red"></label>--%>
+<%--				<a onclick="deleteParam(5)" style="cursor: pointer">删除</a>--%>
+<%--			</div>--%>
+		</div>
+		<div class="control-group"><button class="btn btn-primary" type="button" style="margin-left: 500px" onclick="addParam()">增加信息项</button></div>
+		<div class="control-group paramListall">
+			<label class="control-label titleClass">正文:</label><hr>
+			<div class="control-group">
+				<label class="control-label">定义:</label>
+				<div class="controls definitionyi0">
+					<input  name="textInfo[0].textType" value ="1" type="hidden"/>
+					<input  id="dy1" htmlEscape="false" name="textInfo[0].dictionaryContent" class="input-xlarge pla" placeholder="(定义)一级目录"/>
+					<button class="btn btn-primary" id="yidefinitionyi" type="button" style="margin-left: 10px" onclick="addDiction('definitionyi',0,'一级目录')">一级目录</button>
+					<button class="btn btn-primary" id="erdefinitionyi" type="button" style="margin-left: 10px" onclick="addDiction('definitionyi',0,'二级目录')">二级目录</button>
+					<button class="btn btn-primary" id="sandefinitionyi" type="button" style="margin-left: 10px" onclick="addDiction('definitionyi',0,'内容')">内容</button>
+				</div>
+				<div class="controls definitioner0" style="margin-top: 5px">
+					<input  id="dy2"  htmlEscape="false" name="textInfo[1].dictionaryContent" class="input-xlarge pla" placeholder="(定义)二级目录"/>
+					<button class="btn btn-primary" id="yidefinitioner" type="button" style="margin-left: 10px" onclick="addDiction('definitioner',0,'一级目录')">一级目录</button>
+					<button class="btn btn-primary" id="erdefinitioner" type="button" style="margin-left: 10px" onclick="addDiction('definitioner',0,'二级目录')">二级目录</button>
+					<button class="btn btn-primary" id="sandefinitioner" type="button" style="margin-left: 10px" onclick="addDiction('definitioner',0,'内容')">内容</button>
+				</div>
+				<div class="controls definitionsan0" style="margin-top: 5px">
+					<textarea id="dy3"  class="pla" name="textInfo[2].dictionaryContent" placeholder="(定义)内容" type="text" style="position: relative;height: 100px; width: 450px;"  ></textarea>
+					<button class="btn btn-primary" id="yidefinitionsan" type="button" style="margin-left: 10px" onclick="addDiction('definitionsan',0,'一级目录')">一级目录</button>
+					<button class="btn btn-primary" id="erdefinitionsan" type="button" style="margin-left: 10px" onclick="addDiction('definitionsan',0,'二级目录')">二级目录</button>
+					<button class="btn btn-primary" id="sandefinitionsan" type="button" style="margin-left: 10px" onclick="addDiction('definitionsan',0,'内容')">内容</button>
+				</div>
+			</div>
+			<div class="control-group">
+				<label class="control-label">原理:</label>
+				<div class="controls principleyi">
+					<input id="yl1"  htmlEscape="false" name="textInfo[4].dictionaryContent" class="input-xlarge pla" placeholder="(原理)一级目录"/>
+					<button class="btn btn-primary" id="yiprincipleyi" type="button" style="margin-left: 10px" onclick="addDiction(2,'一级目录','principleyi',0,0,this.id)">一级目录</button>
+					<button class="btn btn-primary" id="erprincipleyi" type="button" style="margin-left: 10px" onclick="addDiction(2,'二级目录','principleyi',1,0,this.id)">二级目录</button>
+					<button class="btn btn-primary" id="sanprincipleyi" type="button" style="margin-left: 10px" onclick="addDiction(2,'内容','principleyi',2,0,this.id)">内容</button>
+
+				</div>
+				<div class="controls principleer" style="margin-top: 5px">
+					<input id="yl2"  htmlEscape="false" name="textInfo[5].dictionaryContent"  class="input-xlarge pla" placeholder="(原理)二级目录"/>
+					<button class="btn btn-primary" id="yiprincipleer" type="button" style="margin-left: 10px" onclick="addDiction(2,'一级目录','principleer',0,0,this.id)">一级目录</button>
+					<button class="btn btn-primary" id="erprincipleer" type="button" style="margin-left: 10px" onclick="addDiction(2,'二级目录','principleer',1,0,this.id)">二级目录</button>
+					<button class="btn btn-primary" id="sanprincipleer" type="button" style="margin-left: 10px" onclick="addDiction(2,'内容','principleer',2,0,this.id)">内容</button>
+				</div>
+				<div class="controls principlesan" style="margin-top: 5px">
+					<textarea id="yl3" class="pla" name="textInfo[6].dictionaryContent"  placeholder="(原理)内容" type="text" style="position: relative;height: 100px; width: 450px;"  ></textarea>
+					<button class="btn btn-primary" id="yiprinciplesan" type="button" style="margin-left: 10px" onclick="addDiction(2,'一级目录','principlesan',0,0,this.id)">一级目录</button>
+					<button class="btn btn-primary" id="erprinciplesan" type="button" style="margin-left: 10px" onclick="addDiction(2,'二级目录','principlesan',1,0,this.id)">二级目录</button>
+					<button class="btn btn-primary" id="sanprinciplesan" type="button" style="margin-left: 10px" onclick="addDiction(2,'内容','principlesan',2,0,this.id)">内容</button>
+				</div>
+			</div>
+
+			<div class="control-group">
+				<label class="control-label">特点:</label>
+				<div class="controls characteristicyi">
+					<input id="td1"  htmlEscape="false" name="textInfo[7].dictionaryContent" class="input-xlarge pla" placeholder="(特点)一级目录"/>
+					<button class="btn btn-primary" id="yicharacteristicyi" type="button" style="margin-left: 10px" onclick="addDiction(3,'一级目录','characteristicyi',0,0,this.id)">一级目录</button>
+					<button class="btn btn-primary" id="ercharacteristicyi" type="button" style="margin-left: 10px" onclick="addDiction(3,'二级目录','characteristicyi',1,0,this.id)">二级目录</button>
+					<button class="btn btn-primary" id="sancharacteristicyi" type="button" style="margin-left: 10px" onclick="addDiction(3,'内容','characteristicyi',2,0,this.id)">内容</button>
+
+				</div>
+				<div class="controls characteristicer" style="margin-top: 5px">
+					<input  id="td2"  htmlEscape="false" name="textInfo[8].dictionaryContent" class="input-xlarge pla" placeholder="(特点)二级目录"/>
+					<button class="btn btn-primary" id="yicharacteristicer" type="button" style="margin-left: 10px" onclick="addDiction(3,'一级目录','characteristicer',0,0,this.id)">一级目录</button>
+					<button class="btn btn-primary" id="ercharacteristicer" type="button" style="margin-left: 10px" onclick="addDiction(3,'二级目录','characteristicer',1,0,this.id)">二级目录</button>
+					<button class="btn btn-primary" id="sancharacteristicer" type="button" style="margin-left: 10px" onclick="addDiction(3,'内容','characteristicer',2,0,this.id)">内容</button>
+				</div>
+				<div class="controls characteristicsan" style="margin-top: 5px">
+					<textarea id="td3"   class="pla" name="textInfo[9].dictionaryContent" placeholder="(特点)内容" type="text" style="position: relative;height: 100px; width: 450px;"  ></textarea>
+					<label id="3" class="red"></label>
+					<button class="btn btn-primary" id="yicharacteristicsan" type="button" style="margin-left: 10px" onclick="addDiction(3,'一级目录','characteristicsan',0,0,this.id)">一级目录</button>
+					<button class="btn btn-primary" id="ercharacteristicsan" type="button" style="margin-left: 10px" onclick="addDiction(3,'二级目录','characteristicsan',1,0,this.id)">二级目录</button>
+					<button class="btn btn-primary" id="sancharacteristicsan" type="button" style="margin-left: 10px" onclick="addDiction(3,'内容','characteristicsan',2,0,this.id)">内容</button>
+				</div>
+			</div>
+
+			<div class="control-group">
+				<label class="control-label">应用:</label>
+				<div class="controls applicationyi">
+					<input  id="yy1"  htmlEscape="false" name="textInfo[10].dictionaryContent" class="input-xlarge pla" placeholder="(应用)一级目录"/>
+					<button class="btn btn-primary" id="yiapplicationyi" type="button" style="margin-left: 10px" onclick="addDiction(4,'一级目录','applicationyi',0,0,this.id)">一级目录</button>
+					<button class="btn btn-primary" id="erapplicationyi" type="button" style="margin-left: 10px" onclick="addDiction(4,'二级目录','applicationyi',1,0,this.id)">二级目录</button>
+					<button class="btn btn-primary" id="sanapplicationyi" type="button" style="margin-left: 10px" onclick="addDiction(4,'内容','applicationyi',2,0,this.id)">内容</button>
+
+				</div>
+				<div class="controls applicationer" style="margin-top: 5px">
+					<input  id="yy2"  htmlEscape="false" name="textInfo[11].dictionaryContent" class="input-xlarge pla" placeholder="(应用)二级目录"/>
+					<button class="btn btn-primary" id="yiapplicationer" type="button" style="margin-left: 10px" onclick="addDiction(4,'一级目录','applicationer',0,0,this.id)">一级目录</button>
+					<button class="btn btn-primary" id="erapplicationer" type="button" style="margin-left: 10px" onclick="addDiction(4,'二级目录','applicationer',1,0,this.id)">二级目录</button>
+					<button class="btn btn-primary" id="sanapplicationer" type="button" style="margin-left: 10px" onclick="addDiction(4,'内容','applicationer',2,0,this.id)">内容</button>
+				</div>
+				<div class="controls applicationsan" style="margin-top: 5px">
+					<textarea id="yy3"  class="pla" name="textInfo[12].dictionaryContent" placeholder="(应用)内容" type="text" style="position: relative;height: 100px; width: 450px;"  ></textarea>
+					<button class="btn btn-primary" id="yiapplicationsan" type="button" style="margin-left: 10px" onclick="addDiction(4,'一级目录','applicationsan',0,0,this.id)">一级目录</button>
+					<button class="btn btn-primary" id="erapplicationsan" type="button" style="margin-left: 10px" onclick="addDiction(4,'二级目录','applicationsan',1,0,this.id)">二级目录</button>
+					<button class="btn btn-primary" id="sanapplicationsan" type="button" style="margin-left: 10px" onclick="addDiction(4,'内容','applicationsan',2,0,this.id)">内容</button>
+				</div>
+			</div>
+		</div>
+		<div class="control-group" id="mata">
+			<label class="control-label titleClass">参考资料</label>
+			<c:forEach items="${materialInfo}" var="videoFile" varStatus="statusIndex">
+				<c:if test="${videoFile.referenceType eq '1'}">
+					<div class="controls applicationsan" style="margin-top: 5px">
+						<span class="del">[${statusIndex.index+1}]</span>
+						<span class="del"><a href="${videoFile.website}" target="_blank">${videoFile.articleName}(文章名称)</a></span>
+						<span class="del">${videoFile.websiteName}(网站名称)</span>
+						<span class="del">${videoFile.publishTime}(发表日期)</span>
+						<span class="del">${videoFile.acitationTime}(引文日期)</span>
+						<a class="del" style="margin-left: 100px" onclick="upMaterial(${videoFile.id})">编辑</a>
+						<a onclick="delMaterial(${videoFile.id})">删除</a>
+					</div>
+				</c:if>
+				<c:if test="${videoFile.referenceType eq '2'}">
+					<div class="controls applicationsan" style="margin-top: 5px">
+						<span class="del">[${statusIndex.index+1}]</span>
+						<span class="del">${videoFile.author}(作者)</span>
+						<span class="del">${videoFile.workName}(著作名)</span>
+						<span class="del">${videoFile.publicationPlace}(出版地)</span>
+						<span class="del">${videoFile.press}(出版社)</span>
+						<span class="del">${videoFile.publicationYear}(出版年)</span>
+						<span class="del">${videoFile.acitationWeb}(引文页码)</span>
+						<a class="del" style="margin-left: 100px" onclick="upMaterial(${videoFile.id})">编辑</a>
+<%--						<span class="del" onclick="delMaterial(${videoFile.id})">删除</span>--%>
+						<a onclick="delMaterial(${videoFile.id})">删除</a>
+
+					</div>
+				</c:if>
+				<c:if test="${videoFile.referenceType eq '3'}">
+					<div class="controls applicationsan" style="margin-top: 5px">
+						<span class="del">[${statusIndex.index+1}]</span>
+						<span class="del">${videoFile.referenceDescription}(参考资料说明)</span>
+						<span class="del">${videoFile.imageDescription}(图片描述)</span>
+						<div class="conList">
+<%--							onclick="imgSizeChange()"--%>
+						<img id="imgaa"  src="${videoFile.imageUrl}" height="50px" width="50px" >(图片)</input>
+						</div>
+						<a class="del" style="margin-left: 100px" onclick="upMaterial(${videoFile.id})">编辑</a>
+<%--						<span class="del" onclick="delMaterial(${videoFile.id})">删除</span>--%>
+						<a onclick="delMaterial(${videoFile.id})">删除</a>
+
+					</div>
+				</c:if>
+			</c:forEach>
+		</div>
+<%--		<div class="control-group">--%>
+<%--			<label class="control-label keyClass">${commodityType}优点:</label>--%>
+<%--			<div class="controls" style="width:812px">--%>
+<%--				<form:textarea path="advantage" htmlEscape="false" class="input-xlarge  hide" />--%>
+<%--				<div id="advantageEditor" class="contentEditor">${cmBaikeProduct.advantage}</div>--%>
+<%--                <label id="advantageSensitiveWords" class="red"></label>--%>
+<%--			</div>--%>
+<%--		</div>--%>
+<%--		<div class="control-group">--%>
+<%--			<label class="control-label keyClass">${commodityType}缺点:</label>--%>
+<%--			<div class="controls" style="width:812px">--%>
+<%--				<form:textarea path="disadvantage" htmlEscape="false" class="input-xlarge  hide" />--%>
+<%--				<div id="disadvantageEditor" class="contentEditor">${cmBaikeProduct.disadvantage}</div>--%>
+<%--                <label id="disadvantageSensitiveWords" class="red"></label>--%>
+<%--			</div>--%>
+<%--		</div>--%>
+<%--		<div class="control-group">--%>
+<%--			<label class="control-label keyClass">${commodityType}原理:</label>--%>
+<%--			<div class="controls" style="width:812px">--%>
+<%--				<form:textarea path="principle" htmlEscape="false" class="input-xlarge  hide" />--%>
+<%--				<div id="principleEditor" class="contentEditor">${cmBaikeProduct.principle}</div>--%>
+<%--                <label id="principleSensitiveWords" class="red"></label>--%>
+<%--			</div>--%>
+<%--		</div>--%>
+
+		<div class="control-group" style="margin-top: 100px">
+			<label class="control-label">头图:</label>
+			<div class="main-image-list" style="display: flex;flex-wrap: wrap">
+				<div class="controls upload-content iconBox mainImageBox" id="mainImageBox">
+					<div class="conList">
+						<form:hidden id="" path="" htmlEscape="false" maxlength="255" class="input-xlarge "/>
+						<sys:ckfinder input="image" type="images" uploadPath="/photo" selectMultiple="false" maxWidth="100"
+									  maxHeight="100"/>
+						<br>
+						<label style="margin-left: 150px">建议图片尺寸210px*210px,并上传白底图片</label>
+					</div>
+				</div>
+			</div>
+		</div>
+
+		<div class="control-group">
+			<label class="control-label keyClass">分类:</label>
+			<div class="controls">
+				<form:select path="typeId" class="input-xlarge ">
+					<form:options items="${typeList}" itemLabel="name" itemValue="id" htmlEscape="false"/>
+				</form:select>
+			</div>
+		</div>
+		<div class="control-group">
+			<label class="control-label">SEO关键词:</label>
+			<div class="auto-input">
+				<form:input path="seoKeyword" htmlEscape="false" style="position: relative" class="input-xlarge"/>
+                <label id="seoKeywordSensitiveWords" class="red"></label>
+			</div>
+		</div>
+<%--		<div class="control-group">--%>
+<%--			<label class="control-label titleClass">${commodityType}档案</label>--%>
+<%--		</div>--%>
+<%--		<div class="control-group">--%>
+<%--			<label class="control-label">品牌:</label>--%>
+<%--			<div class="controls">--%>
+<%--				<form:input path="brand" htmlEscape="false" class="input-xlarge "/>--%>
+<%--                <label id="brandSensitiveWords" class="red"></label>--%>
+<%--			</div>--%>
+<%--		</div>--%>
+<%--		<div class="control-group">--%>
+<%--			<label class="control-label">产地:</label>--%>
+<%--			<div class="controls">--%>
+<%--				<form:input path="producePlace" htmlEscape="false" class="input-xlarge "/>--%>
+<%--                <label id="producePlaceSensitiveWords" class="red"></label>--%>
+<%--			</div>--%>
+<%--		</div>--%>
+<%--		<div class="control-group">--%>
+<%--			<label class="control-label">上市时间:</label>--%>
+<%--			<div class="controls">--%>
+<%--				<form:input path="marketYear" htmlEscape="false" placeholder="年" class="input-medium" maxlength="4" onkeyup="onlynum(this)"/>---%>
+<%--				<form:input path="marketMonth" htmlEscape="false" placeholder="月" class="input-medium" maxlength="2" onkeyup="onlynum(this)"/>---%>
+<%--				<form:input path="marketDay" htmlEscape="false" placeholder="日" class="input-medium" maxlength="2" onkeyup="onlynum(this)"/>--%>
+<%--			</div>--%>
+<%--		</div>--%>
+		<div class="control-group">
+			<label class="control-label">关联供应商:</label>
+			<div class="controls">
+				<form:select path="shopId" class="input-xlarge ">
+					<form:option value="" label="请选择供应商"/>
+					<form:options items="${cmBaikeProduct.shopList}" class="input-xlarge" itemLabel="name" itemValue="shopID" htmlEscape="false"/>
+				</form:select>
+			</div>
+		</div>
+<%--		<div class="control-group" style="position: relative">--%>
+<%--			<label class="control-label">NMPA认证时间:</label>--%>
+<%--			<div class="controls">--%>
+<%--				<form:input path="nmpaYear" htmlEscape="false" placeholder="年" class="input-medium" maxlength="4" onkeyup="onlynum(this)"/>---%>
+<%--				<form:input path="nmpaMonth" htmlEscape="false" placeholder="月" class="input-medium" maxlength="2" onkeyup="onlynum(this)"/>---%>
+<%--				<form:input path="nmpaDay" htmlEscape="false" placeholder="日" class="input-medium" maxlength="2" onkeyup="onlynum(this)"/>--%>
+<%--			</div>--%>
+<%--		</div>--%>
+<%--		<div class="control-group" style="width: 1000px">--%>
+<%--			<label class="control-label keyClass">${commodityType}认证:</label>--%>
+<%--			<div class="auth-image-list" style="display: flex;flex-wrap: wrap">--%>
+<%--				<c:forEach items="${cmBaikeProduct.authImageList}" var="authImage" varStatus="index">--%>
+<%--					<div class="controls upload-content iconBox" id="authImageBox${index.index}">--%>
+<%--						<div class="conList">--%>
+<%--							<form:hidden id="authImage${index.index}" path="authImageList[${index.index}]" htmlEscape="false"--%>
+<%--										 maxlength="255"--%>
+<%--										 class="input-xlarge "/>--%>
+<%--							<sys:ckfinder input="authImage${index.index}" type="images" uploadPath="/photo"--%>
+<%--										  selectMultiple="false"--%>
+<%--										  maxWidth="100" maxHeight="100"/><br>--%>
+<%--						</div>--%>
+<%--					</div>--%>
+<%--				</c:forEach>--%>
+<%--				<c:set var="size" value="${empty cmBaikeProduct.authImageList?0:cmBaikeProduct.authImageList.size()}"/>--%>
+<%--				<c:forEach var="emptyIndex" begin="${size}" end="${7}">--%>
+<%--					<div class="controls upload-content iconBox conList ${emptyIndex eq 0?'':'hide-pic'}" id="authImageBox${emptyIndex}" >--%>
+<%--						<div class="conList">--%>
+<%--							<form:hidden id="authImage${emptyIndex}" path="authImageList[${emptyIndex}]" htmlEscape="false"--%>
+<%--										 maxlength="255"--%>
+<%--										 class="input-xlarge "/>--%>
+<%--							<sys:ckfinder input="authImage${emptyIndex}" type="images" uploadPath="/photo"--%>
+<%--										  selectMultiple="false"--%>
+<%--										  maxWidth="100" maxHeight="100"/><br>--%>
+<%--						</div>--%>
+<%--					</div>--%>
+<%--				</c:forEach>--%>
+<%--			</div>--%>
+<%--		</div>--%>
+<%--		<div class="control-group">--%>
+<%--			<label class="control-label keyClass">适应症:</label>--%>
+<%--			<div class="controls" style="width:812px">--%>
+<%--				<form:textarea path="adaptiveMan" htmlEscape="false" class="input-xlarge  hide" />--%>
+<%--				<div id="adaptiveManEditor" class="contentEditor">${cmBaikeProduct.adaptiveMan}</div>--%>
+<%--                <label id="adaptiveManSensitiveWords" class="red"></label>--%>
+<%--			</div>--%>
+<%--		</div>--%>
+<%--		<div class="control-group">--%>
+<%--			<label class="control-label keyClass">不适应人群:</label>--%>
+<%--			<div class="controls" style="width:812px">--%>
+<%--				<form:textarea path="unAdaptiveMan" htmlEscape="false" class="input-xlarge  hide" />--%>
+<%--				<div id="unAdaptiveManEditor" class="contentEditor">${cmBaikeProduct.unAdaptiveMan}</div>--%>
+<%--                <label id="unAdaptiveManSensitiveWords" class="red"></label>--%>
+<%--			</div>--%>
+<%--		</div>--%>
+<%--		<div class="control-group">--%>
+<%--			<label class="control-label keyClass">注意事项:</label>--%>
+<%--			<div class="controls" style="width:812px">--%>
+<%--				<form:textarea path="aroundOperation" htmlEscape="false" class="input-xlarge  hide" />--%>
+<%--				<div id="aroundOperationEditor" class="contentEditor">${cmBaikeProduct.aroundOperation}</div>--%>
+<%--                <label id="aroundOperationSensitiveWords" class="red"></label>--%>
+<%--			</div>--%>
+<%--		</div>--%>
+<%--		<div class="control-group" style="width: 1000px">--%>
+<%--			<label class="control-label keyClass">效果展示:</label>--%>
+<%--			<div class="display-image-list" style="display: flex;flex-wrap: wrap">--%>
+<%--				<c:forEach items="${cmBaikeProduct.displayImageList}" var="displayImage" varStatus="index">--%>
+<%--					<div class="controls upload-content iconBox" id="displayImageBox${index.index}">--%>
+<%--						<div class="conList">--%>
+<%--							<form:hidden id="displayImage${index.index}" path="displayImageList[${index.index}]" htmlEscape="false"--%>
+<%--										 maxlength="255"--%>
+<%--										 class="input-xlarge "/>--%>
+<%--							<sys:ckfinder input="displayImage${index.index}" type="images" uploadPath="/photo"--%>
+<%--										  selectMultiple="false"--%>
+<%--										  maxWidth="100" maxHeight="100"/><br>--%>
+<%--						</div>--%>
+<%--					</div>--%>
+<%--				</c:forEach>--%>
+<%--				<c:set var="size" value="${empty cmBaikeProduct.displayImageList?0:cmBaikeProduct.displayImageList.size()}"/>--%>
+<%--				<c:forEach var="emptyIndex" begin="${size}" end="${5}">--%>
+<%--					<div class="controls upload-content iconBox conList ${emptyIndex eq 0?'':'hide-pic'}" id="displayImageBox${emptyIndex}" >--%>
+<%--						<div class="conList">--%>
+<%--							<form:hidden id="displayImage${emptyIndex}" path="displayImageList[${emptyIndex}]" htmlEscape="false"--%>
+<%--										 maxlength="255"--%>
+<%--										 class="input-xlarge "/>--%>
+<%--							<sys:ckfinder input="displayImage${emptyIndex}" type="images" uploadPath="/photo"--%>
+<%--										  selectMultiple="false"--%>
+<%--										  maxWidth="100" maxHeight="100"/><br>--%>
+<%--						</div>--%>
+<%--					</div>--%>
+<%--				</c:forEach>--%>
+<%--			</div>--%>
+<%--		</div>--%>
+<%--        <div class="questionList">--%>
+<%--            <div class="control-group">--%>
+<%--                <label class="control-label keyClass">常见问题:</label>--%>
+<%--                <button class="btn btn-primary" type="button" style="margin-left: 500px" onclick="addQuestion()">添加问题</button>--%>
+<%--            </div>--%>
+<%--            <div class="control-group" id="questionRow0">--%>
+<%--                <label class="control-label">问题1:</label>--%>
+<%--                <div class="controls">--%>
+<%--                    <input name="questionList[0].question" style="width: 550px" htmlEscape="false" class="input-xlarge ">--%>
+<%--                    <label id="question0SensitiveWords" class="red"></label>--%>
+<%--                </div>--%>
+<%--            </div>--%>
+<%--            <div class="control-group" id="answerRow0">--%>
+<%--                <label class="control-label">答:</label>--%>
+<%--                <div class="controls">--%>
+<%--                    <input name="questionList[0].answer" style="width: 550px" htmlEscape="false" class="input-xlarge ">--%>
+<%--                    <label id="answer0SensitiveWords" class="red"></label>--%>
+<%--                </div>--%>
+<%--            </div>--%>
+<%--            <div class="control-group" id="questionRow1">--%>
+<%--                <label class="control-label">问题2:</label>--%>
+<%--                <div class="controls">--%>
+<%--                    <input name="questionList[1].question" style="width: 550px" htmlEscape="false" class="input-xlarge  questionInput">--%>
+<%--                    <label id="question1SensitiveWords" class="red"></label>--%>
+<%--                    <a id="questionDelBtn1" onclick="deleteQuestion(1)" style="cursor: pointer">删除</a>--%>
+<%--                </div>--%>
+<%--            </div>--%>
+<%--            <div class="control-group" id="answerRow1">--%>
+<%--                <label class="control-label">答:</label>--%>
+<%--                <div class="controls">--%>
+<%--                    <input name="questionList[1].answer" style="width: 550px" htmlEscape="false" class="input-xlarge  questionInput">--%>
+<%--                    <label id="answer1SensitiveWords" class="red"></label>--%>
+<%--                </div>--%>
+<%--            </div>--%>
+<%--        </div>--%>
+
+		<div class="control-group">
+			<label class="control-label keyClass">发布时间:</label>
+			<div class="controls">
+				<input name="publishTime" type="text" readonly="readonly" maxlength="20" class="input-medium Wdate "
+					value="<fmt:formatDate value="${cmBaikeProduct.publishTime}" pattern="yyyy-MM-dd HH:mm:ss"/>"
+					onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm',isShowClear:false});"/>
+			</div>
+		</div>
+		<div class="control-group">
+			<label class="control-label keyClass">基础浏览量:</label>
+			<div class="controls">
+				<form:input path="basePv" htmlEscape="false" onkeyup="onlynum(this)" class="input-xlarge  digits "/>
+			</div>
+		</div>
+		<div class="control-group">
+			<label class="control-label keyClass">状态:</label>
+			<div class="controls">
+				<form:radiobutton path="status" label="发布" value="1" checked="${empty cmBaikeProduct.status?'checked':''}"/>
+				<form:radiobutton path="status" label="保存草稿箱" value="0"/>
+			</div>
+		</div>
+		<div class="form-actions">
+<%--			onclick="checkInfo()"--%>
+			<input id="btnSubmit" class="btn btn-primary" type="submit" value="保 存"/>&nbsp;
+			<input id="btnCancel" class="btn" type="button" value="返 回" onclick="history.go(-1)"/>
+		</div>
+	</form:form>
+
+<% request.setAttribute("caimeiCore", Global.getConfig("caimei.core"));%>
+<script type="text/javascript" src="${ctxStatic}/ckeditor5-new/ckeditor.js"></script>
+<script type="text/javascript" src="${ctxStatic}/sensitiveWords/mint-filter.umd.js"></script>
+<script type="text/javascript" src="${ctxStatic}/auto-input.js"></script>
+<script type="text/javascript" src="${ctxStatic}/content-edit.js"></script>
+<script>
+	$(function(){
+		console.log(123)
+	})
+	var contentEditMap = new Map()
+	function createContentEdit(el){
+		contentEditMap.set(el, new ContentEdit({
+			el: el + ' .bk-input',
+			hiddenMark: false,
+			markCountKey: 'markCount',
+			change: (html) => {
+				console.log(html)
+			}
+		}))
+	}
+	createContentEdit('#bk-name')
+	$('.content-edit .bk-input').on('blur', function(){
+		console.log('失去焦点')
+		var self = $(this)
+		setTimeout(function(){
+			self.siblings('.bk-toolbar').hide()
+		},200)
+	})
+	$('.content-edit .bk-input').on('focus', function(){
+		console.log('获取焦点')
+		$(this).siblings('.bk-toolbar').show()
+	})
+	$('.content-edit .bk-toolbar').on('click', function(){
+		console.log('工具栏点击')
+		$('#dig').show()
+	})
+	$('.content-edit .bk-bubble').on('click', function(){
+		console.log('气泡点击')
+	})
+	$('.content-edit .bk-literature .bk-edit').on('click', function(){
+		console.log('编辑资料')
+		$(this).siblings('.bk-toolbar').show()
+	})
+	$('.content-edit .bk-literature .bk-delete').on('click', function(){
+		console.log('删除引用资料')
+	})
+</script>
+
+<script>
+	var paramIndex = 3;
+	var questionIndex = 2;
+	$(function () {
+		$('.upload-content .conList .btn:nth-of-type(1)').html('<div><span>+</span><h5>选择图片</h5></div>');
+		$('.upload-content .conList .btn:nth-of-type(2)').after('<img class="cancel-upload" src="/static/images/close-btn1.png">').remove();
+		$('.upload-content .conList').find('.cancel-upload').hide();
+		var MutationObserver = window.MutationObserver || window.WebKitMutationObserver;
+		var MutationObserverConfig = {
+			childList: true,
+			subtree: true,
+			characterData: true
+		};
+		var observer = new MutationObserver(function (mutations) {
+			$.each(mutations, function (index, item) {
+				if (item.type === 'childList') {
+					// 在创建新的 element 时调用
+					var target = $(item.target),
+							thisWrapper = target.closest('.conList'),
+							nextEle = thisWrapper.parents('.controls').next();
+					thisWrapper.find('li').css('z-index', 99);
+					thisWrapper.find('.cancel-upload').show();
+					if (nextEle.hasClass('hide-pic')) {
+						nextEle.removeClass('hide-pic');
+					}
+				}
+			})
+		});
+		var observeEle1 = document.getElementsByClassName('main-image-list')[0];
+		var observeEle2 = document.getElementsByClassName('auth-qrCode-list')[0];
+		// var observeEle3 = document.getElementsByClassName('auth-image-list')[0];
+		var observeEle4 = document.getElementsByClassName('display-image-list')[0];
+		observer.observe(observeEle1, MutationObserverConfig);
+		observer.observe(observeEle2, MutationObserverConfig);
+		// observer.observe(observeEle3, MutationObserverConfig);
+		observer.observe(observeEle4, MutationObserverConfig);
+
+		$('body').on('click', '.cancel-upload',function() {
+			var wrapper = $(this).closest('.controls');
+			var controlsId = wrapper.attr('id');
+			wrapper.find('li').css('z-index','-1');
+			wrapper.find('input').val('');
+			$(this).hide();
+			if (controlsId == 'mainImageBox' || controlsId == 'authQrCodeBox') {
+				wrapper.removeClass("hide-pic");
+			}
+			// else if (controlsId.indexOf('authImageBox') != -1) {
+			// 	if ($('.auth-image-list .cancel-upload:visible').length < 8) {
+			// 		wrapper.addClass("hide-pic");
+			// 	}else{
+			// 		wrapper.removeClass("hide-pic");
+			// 	}
+			// }
+			else if (controlsId.indexOf('displayImageBox') != -1) {
+				if ($('.display-image-list .cancel-upload:visible').length < 6) {
+					wrapper.addClass("hide-pic");
+				}else{
+					wrapper.removeClass("hide-pic");
+				}
+			}
+			wrapper.parent().append(wrapper.clone());
+			wrapper.remove();
+			$(".controls").each(function(i,ele){
+				if($(ele).find("input.input-xlarge").val()){
+					$(ele).next().removeClass("hide-pic")
+				}
+			})
+		});
+
+		$('body').on('click','.upload-content li',function() {
+			var index = $(this).closest('.conList').index() + 1,
+					str = 'image'+index+'FinderOpen';
+			eval(str+'()');
+		});
+
+		$(window).on("load", function () {
+			setTimeout(function () {
+				$("#authQrCodeBox").find("input.input-xlarge").each(function (i, ele) {
+					if ($(ele).val()) {
+						$(ele).next().find("li").css("z-index", "99");
+						$(ele).parents(".conList").find(".cancel-upload").show();
+						$(ele).parent().parents(".controls").next().removeClass("hide-pic")
+					}
+				})
+				$("#mainImageBox").find("input.input-xlarge").each(function (i, ele) {
+					if ($(ele).val()) {
+						$(ele).next().find("li").css("z-index", "99");
+						$(ele).parents(".conList").find(".cancel-upload").show();
+						$(ele).parent().parents(".controls").next().removeClass("hide-pic")
+					}
+				})
+				for (var i = 0; i < 8; i++) {
+					$("#authImageBox"+i).find("input.input-xlarge").each(function (i, ele) {
+						if ($(ele).val()) {
+							$(ele).next().find("li").css("z-index", "99");
+							$(ele).parents(".conList").find(".cancel-upload").show();
+							$(ele).parent().parents(".controls").next().removeClass("hide-pic")
+						}
+					})
+				}
+				for (var i = 0; i < 6; i++) {
+					$("#displayImageBox"+i).find("input.input-xlarge").each(function (i, ele) {
+						if ($(ele).val()) {
+							$(ele).next().find("li").css("z-index", "99");
+							$(ele).parents(".conList").find(".cancel-upload").show();
+							$(ele).parent().parents(".controls").next().removeClass("hide-pic")
+						}
+					})
+				}
+			}, 200);
+		});
+
+
+		// 初始化参数
+		var paramListSize = ${empty cmBaikeProduct.paramList.size() ? 0: cmBaikeProduct.paramList.size()};
+		paramIndex = paramListSize > 0 ? paramListSize : paramIndex;
+		if (paramListSize > 3) {
+			var index = 3;
+			while (index < paramListSize) {
+				$(".paramList").append("<div class=\"controls paramRow\" id=\"paramRow" + index + "\">\n" +
+						"\t\t\t\t<input id=\"name[" + index + "]\" name=\"paramList[" + index + "].name\" htmlEscape=\"false\" class=\"input-small \" placeholder=\"请输入名称\" onblur=\"readflag(" + index + ")\">\n" +
+						"\t\t\t\t<label id=\"param" + index + "SensitiveWords\" class=\"red\"></label>\n" +
+						"\t\t\t\t<input id=\"content[" + index + "]\" name=\"paramList[" + index + "].content\" htmlEscape=\"false\" class=\"input-xlarge \" placeholder=\"请输入内容\" readonly>\n" +
+						"\t\t\t\t<label id=\"content" + index + "SensitiveWords\" class=\"red\"></label>\n" +
+						"\t\t\t\t<a onclick=\"deleteParam(" + index + ")\" style=\"cursor: pointer\">删除</a>\n" +
+						"            </div>");
+				index = index + 1;
+			}
+		}
+        if (paramListSize > 0 && paramListSize < 3) {
+            for (var i = paramListSize; i < 3; i++) {
+                deleteParam(i);
+            }
+        }
+
+        var nameArray = new Array();
+		var contentArray = new Array();
+		<c:forEach items="${cmBaikeProduct.paramList}" var="item">
+		nameArray.push('${item.name}')
+		contentArray.push('${item.content}')
+		</c:forEach>
+		for (var i = 0; i < nameArray.length; i++) {
+			var nameInput = "paramList[" + i + "].name";
+			var contentInput = "paramList[" + i + "].content";
+			$('input[name="' + nameInput + '"]').val(nameArray[i]);
+			$('input[name="' + contentInput + '"]').val(contentArray[i]);
+			if(undefined !=contentArray[i]&&null!=contentArray[i]&& '' !=contentArray[i]){
+				$('input[name="' + contentInput + '"]').readOnly=false;
+			}else{
+				$('input[name="' + contentInput + '"]').readOnly=true;
+			}
+		}
+
+		// 初始化问题
+		<%--var questionListSize = ${empty cmBaikeProduct.questionList.size() ? 0: cmBaikeProduct.questionList.size()};--%>
+		<%--questionIndex = questionListSize > 0 ? questionListSize : questionIndex;--%>
+		<%--if (questionListSize > 2) {--%>
+		<%--	var index = 2;--%>
+		<%--	while (index < questionListSize) {--%>
+		<%--		$(".questionList").append("" +--%>
+		<%--				"<div class=\"control-group\" id=\"questionRow" + index + "\">\n" +--%>
+		<%--				"                <label class=\"control-label\">问题" + (index+1) + ":</label>\n" +--%>
+		<%--				"                <div class=\"controls\">\n" +--%>
+		<%--				"                    <input name=\"questionList[" + index + "].question\" style=\"width: 550px\" htmlEscape=\"false\" class=\"input-xlarge \">\n" +--%>
+		<%--				"\t\t\t\t<label id=\"question" + index + "SensitiveWords\" class=\"red\"></label>\n" +--%>
+		<%--				"\t\t\t\t<a id=\"questionDelBtn" + index + "\" onclick=\"deleteQuestion(" + index + ")\" style=\"cursor: pointer\">删除</a>\n" +--%>
+		<%--				"                </div>\n" +--%>
+		<%--				"            </div>\n" +--%>
+		<%--				"            <div class=\"control-group\" id=\"answerRow" + index + "\">\n" +--%>
+		<%--				"                <label class=\"control-label\">答:</label>\n" +--%>
+		<%--				"                <div class=\"controls\">\n" +--%>
+		<%--				"                    <input name=\"questionList[" + index + "].answer\" style=\"width: 550px\" htmlEscape=\"false\" class=\"input-xlarge \">\n" +--%>
+		<%--				"\t\t\t\t<label id=\"answer" + index + "SensitiveWords\" class=\"red\"></label>\n" +--%>
+		<%--				"                </div>\n" +--%>
+		<%--				"            </div>");--%>
+		<%--		index = index + 1;--%>
+		<%--	}--%>
+		<%--}--%>
+
+        // if (questionListSize > 0 && questionListSize < 2) {
+        //     for (var i = questionListSize; i < 2; i++) {
+        //         deleteQuestion(i);
+        //     }
+        // }
+		// 初始化正文
+		<c:forEach items="${cmBaikeProduct.textInfo}" var="tex">
+		//定义
+		<c:if test="${tex.textType eq 1}">
+			<c:if test="${tex.dictionaryType eq 1}">
+			$("#dy1").val('${tex.dictionaryContent}')
+			</c:if>
+			<c:if test="${tex.dictionaryType eq 2}">
+			$("#dy2").val('${tex.dictionaryContent}')
+			</c:if>
+			<c:if test="${tex.dictionaryType eq 3}">
+			$("#dy3").val('${tex.dictionaryContent}')
+			</c:if>
+		</c:if>
+
+		//原理
+		<c:if test="${tex.textType eq 2}">
+			<c:if test="${tex.dictionaryType eq 1}">
+			$("#yl1").val('${tex.dictionaryContent}')
+			</c:if>
+			<c:if test="${tex.dictionaryType eq 2}">
+			$("#yl2").val('${tex.dictionaryContent}')
+			</c:if>
+			<c:if test="${tex.dictionaryType eq 3}">
+			$("#yl3").val('${tex.dictionaryContent}')
+			</c:if>
+		</c:if>
+
+		//特点
+		<c:if test="${tex.textType eq 3}">
+			<c:if test="${tex.dictionaryType eq 1}">
+			$("#td1").val('${tex.dictionaryContent}')
+			</c:if>
+			<c:if test="${tex.dictionaryType eq 2}">
+			$("#td2").val('${tex.dictionaryContent}')
+			</c:if>
+			<c:if test="${tex.dictionaryType eq 3}">
+			$("#td3").val('${tex.dictionaryContent}')
+			</c:if>
+		</c:if>
+
+		//应用
+		<c:if test="${tex.textType eq 4}">
+			<c:if test="${tex.dictionaryType eq 1}">
+			$("#yy1").val('${tex.dictionaryContent}')
+			</c:if>
+			<c:if test="${tex.dictionaryType eq 2}">
+			$("#yy2").val('${tex.dictionaryContent}')
+			</c:if>
+			<c:if test="${tex.dictionaryType eq 3}">
+			$("#yy1").val('${tex.dictionaryContent}')
+			</c:if>
+		</c:if>
+		</c:forEach>
+		var questionArray = new Array();
+		var answerArray = new Array();
+		<c:forEach items="${cmBaikeProduct.questionList}" var="item">
+        questionArray.push('${item.question}')
+        answerArray.push('${item.answer}')
+		</c:forEach>
+		for (var i = 0; i < questionArray.length; i++) {
+			var questionInput = "questionList[" + i + "].question";
+			var answerInput = "questionList[" + i + "].answer";
+			$('input[name="' + questionInput + '"]').val(questionArray[i]);
+			$('input[name="' + answerInput + '"]').val(answerArray[i]);
+		}
+
+		var fileIds = $("#fileIds").val();
+		//点击上传按钮后上传文件
+		$('#addSubmit').click(function () {
+			var fileIdArr = fileIds.split(',');
+			if (fileIdArr.length >= 7) {
+				alertx('最多上传6个视频');
+				return;
+			}
+			var filesById = document.getElementById('productFile');
+			var files = $('#productFile');
+			var fileList = files.prop('files');
+			var fileTitle = $('#fileTitle').val();
+			var fileName = $('#uploadFileName').val();
+			if (fileTitle == '') {
+				alertx('请输入视频标题')
+				return;
+			}
+			if (files === '' || files.length == 0 || fileName == '') {
+				alertx('请选择上传文件');
+				return;
+			}
+			$("#fileTitle").val("");
+			$("#uploadFileName").val("");
+			var data = new FormData();
+			var productId = $("#id").val();
+			data.append('file', fileList[0]);
+			data.append('fileTitle', fileTitle);
+			data.append('fileName', fileName);
+			data.append('productId', productId);
+			data.append('fileIds', fileIds);
+			$('.upload-loading').css("display", "inline");
+			$.ajax({
+				url: "${ctx}/baike/cmBaikeProduct/upload",
+				data: data,
+				type: "POST",
+				processData: false,
+				contentType: false,
+				dataType: "json",
+				success: function (res) {
+					if (res.success) {
+						filesById.value = '';
+						renderFileList(res.productFile);
+						$('.upload-loading').hide();
+					} else {
+						$.jBox.tip(res.msg, 'error');
+						$("#uploadFileName").val(fileName);
+						$('.upload-loading').hide();
+					}
+
+				},
+				error: function (json) {
+
+				}
+			});
+		})
+
+		var fileList = [];
+		var files = document.getElementById("productFile"), renderFileList;
+		//选择上传文件后显示文件名称
+		files.addEventListener("change", function (event) {
+			var name = event.target.files[0].name;
+			console.log(name)
+			$('#uploadFileName').val(name);
+		});
+		var fileListDisplay = document.getElementById('file-list-display');
+		renderFileList = function (data) {
+			fileIds += data.id + ',';
+			console.log(fileIds);
+			$('#fileIds').val(fileIds);
+			fileList.push({fileTitle: data.fileTitle, id: data.id, ossUrl: data.ossUrl});
+			fileList.forEach(function (file, index) {
+				var fileDisplayEl = document.createElement("p");
+				var deleteFile = document.createElement("span");
+				var viewFile = document.createElement("span");
+				var viewFileUrl = document.createElement("a");
+				//预览链接
+				viewFileUrl.innerHTML = '预览';
+				viewFileUrl.setAttribute("onclick", "previewVideo('" + file.ossUrl + "')");
+				viewFileUrl.setAttribute("target", "_blank");
+				//预览按钮
+				viewFile.className = 'viewFile';
+				console.log(viewFile);
+				viewFile.setAttribute("class","del");
+				viewFile.appendChild(viewFileUrl);
+				//删除按钮
+				deleteFile.innerHTML = '删除';
+				deleteFile.className = 'deleteFile';
+				console.log(deleteFile);
+				deleteFile.setAttribute("class","del");
+				deleteFile.setAttribute("onclick", "dataDelete(this, " + file.id + ")");
+
+				fileDisplayEl.setAttribute("id", file.id);
+				fileDisplayEl.innerHTML = file.fileTitle;
+				fileDisplayEl.appendChild(viewFile);
+				fileDisplayEl.appendChild(deleteFile);
+				fileListDisplay.appendChild(fileDisplayEl);
+			});
+			fileList.splice(0, fileList.length);
+		};
+	})
+
+	//删除参数
+	function deleteParam(index) {
+		$("#paramRow" + index).remove();
+	}
+
+	//添加参数
+	function addParam() {
+		$(".paramList").append("<div class=\"controls paramRow\" id=\"paramRow" + paramIndex + "\">\n" +
+				"\t\t\t\t<input id=\"name[" + paramIndex + "]\" name=\"paramList[" + paramIndex + "].name\" htmlEscape=\"false\" class=\"input-small \" placeholder=\"例如:性质类型\" onblur=\"readflag(" + paramIndex + ")\">\n" +
+				"\t\t\t\t<label id=\"param" + paramIndex + "SensitiveWords\" class=\"red\"></label>\n" +
+				"\t\t\t\t<input id=\"content[" + paramIndex + "]\" name=\"paramList[" + paramIndex + "].content\" htmlEscape=\"false\" class=\"input-xlarge \" placeholder=\"请输入内容\" readonly>\n" +
+				"\t\t\t\t<label id=\"content" + paramIndex + "SensitiveWords\" class=\"red\"></label>\n" +
+				"\t\t\t\t<a onclick=\"deleteParam(" + paramIndex + ")\" style=\"cursor: pointer\">删除</a>\n" +
+				"            </div>")
+		paramIndex = paramIndex + 1;
+	}
+	var content=10;
+	// addDiction =function(dicType,buttType,aa,bb,ff,dicId){// 控制输入框显示名称,控制显示文本域,控制目录显示(一级,二级,内容),参与控制按钮隐藏,控制是否根目录,控制隐藏
+	// 	var dic="";
+	// 	if(dicType ==1){
+	// 		dic="定义";
+	// 	}else if(dicType ==2){
+	// 		dic="原理";
+	// 	}else if(dicType ==3){
+	// 		dic="特点";
+	// 	}else if(dicType ==4){
+	// 		dic="应用";
+	// 	}
+	// 	content=content+5;
+	// 	var yi=content-1;
+	// 	var er=content;
+	// 	var san=content+1;
+	// 	// "+dicType+","+this.name+"
+	// 	var num=bb+1;//111
+	// 	var cc=aa+num;//definitionyi111
+	// 	var dd=cc;
+	// 	if(ff==0){
+	// 		//第一个
+	// 		dd=aa;
+	// 	}else{
+	// 		//新建
+	// 		dd=ff;//definitionyi11
+	// 	}
+	// 	if("内容"==buttType){
+	// 		$("."+dd).append("<div class=\"controls "+cc+"\" style=\"margin-left: 0px;margin-top: 5px \">" +
+	// 				"<textarea type=\"text\" style=\"position: relative;height: 100px; width: 450px;\" placeholder=\"("+dic+") "+buttType+"\"/>" +
+	// 				"<button class=\"btn btn-primary\" id=\"yi"+aa+num+"\" type=\"button\" name=\"一级目录\"  style=\"margin-left: 15px\" onclick=\"addDiction('"+dicType+"','一级目录','"+aa+"','"+yi+"','"+cc+"','yi"+aa+num+"')\">一级目录</button>"+
+	// 				"<button class=\"btn btn-primary\" id=\"er"+aa+num+"\" type=\"button\" name=\"二级目录\"  style=\"margin-left: 10px\" onclick=\"addDiction('"+dicType+"','二级目录','"+aa+"','"+er+"','"+cc+"','er"+aa+num+"')\">二级目录</button>"+
+	// 				"<button class=\"btn btn-primary\" id=\"san"+aa+num+"\" type=\"button\" name=\"内容\" style=\"margin-left: 10px\" onclick=\"addDiction('"+dicType+"','内容','"+aa+"','"+san+"','"+cc+"','san"+aa+num+"')\">内容</button>"+
+	// 				"</div>")
+	//
+	// 	}else{
+	// 		$("."+dd).append("<div class=\"controls "+cc+"\" style=\"margin-left: 0px;margin-top: 5px \">" +
+	// 				"<input  htmlEscape=\"false\" class=\"input-xlarge \" placeholder=\"("+dic+") "+buttType+"\"/>" +
+	// 				"<button class=\"btn btn-primary\" id=\"yi"+aa+num+"\" type=\"button\" name=\"一级目录\"  style=\"margin-left: 15px\" onclick=\"addDiction('"+dicType+"','一级目录','"+aa+"','"+yi+"','"+cc+"','yi"+aa+num+"')\">一级目录</button>"+
+	// 				"<button class=\"btn btn-primary\" id=\"er"+aa+num+"\"  type=\"button\" name=\"二级目录\"  style=\"margin-left: 10px\" onclick=\"addDiction('"+dicType+"','二级目录','"+aa+"','"+er+"','"+cc+"','er"+aa+num+"')\">二级目录</button>"+
+	// 				"<button class=\"btn btn-primary\" id=\"san"+aa+num+"\"  type=\"button\" name=\"内容\" style=\"margin-left: 10px\" onclick=\"addDiction('"+dicType+"','内容','"+aa+"','"+san+"','"+cc+"','san"+aa+num+"')\">内容</button>"+
+	// 				"</div>")
+	// 	}
+	// 	document.getElementById(""+dicId).style.display="none";
+	// }
+	//添加正文
+	var d=1;
+	addDiction =function(dicname,diny,dicTyp){//输入框类型  输入框个数  按钮类型
+		$("."+dicname+diny).append("<div class=\"controls "+dicname+d+"\" style=\"margin-left: 0px;margin-top: 5px \">" +
+						"<input  name=\"textInfo[0].textType\" value =\"1\" type=\"hidden\"/>"+
+						"<input  htmlEscape=\"false\" class=\"input-xlarge \" placeholder=\"(请输入"+dicTyp+")\"/>" +
+						"<button class=\"btn btn-primary\" id=\"1\" type=\"button\" name=\"一级目录\"  style=\"margin-left: 15px\" onclick=\"addDiction('"+dicname+"',"+d+",'一级目录'"+")\">一级目录</button>"+
+						"<button class=\"btn btn-primary\" id=\"1\"  type=\"button\" name=\"二级目录\"  style=\"margin-left: 10px\" onclick=\"addDiction('"+dicname+"',"+d+",'二级目录'"+")\">二级目录</button>"+
+						"<button class=\"btn btn-primary\" id=\"1\"  type=\"button\" name=\"内容\" style=\"margin-left: 10px\" onclick=\"addDiction('"+dicname+"',"+d+",'内容'"+")\">内容</button>"+
+						"</div>")
+		d=d+1;
+	}
+
+	//删除问题
+	// function deleteQuestion(index) {
+	// 	$("#questionRow" + index).remove();
+	// 	$("#answerRow" + index).remove();
+	// 	questionIndex--;
+    //     $("#questionDelBtn" + (questionIndex - 1)).attr("style", "cursor: pointer");
+    // }
+
+	//添加问题
+	// function addQuestion() {
+	// 	$(".questionList").append("" +
+    //         "<div class=\"control-group\" id=\"questionRow" + questionIndex + "\">\n" +
+    //         "                <label class=\"control-label\">问题" + (questionIndex+1) + ":</label>\n" +
+    //         "                <div class=\"controls\">\n" +
+    //         "                    <input name=\"questionList[" + questionIndex + "].question\" style=\"width: 550px\" htmlEscape=\"false\" class=\"input-xlarge \">\n" +
+	// 			"\t\t\t\t<label id=\"question" + questionIndex + "SensitiveWords\" class=\"red\"></label>\n" +
+    //         "\t\t\t\t<a id=\"questionDelBtn" + questionIndex + "\" onclick=\"deleteQuestion(" + questionIndex + ")\" style=\"cursor: pointer\">删除</a>\n" +
+    //         "                </div>\n" +
+    //         "            </div>\n" +
+    //         "            <div class=\"control-group\" id=\"answerRow" + questionIndex + "\">\n" +
+    //         "                <label class=\"control-label\">答:</label>\n" +
+    //         "                <div class=\"controls\">\n" +
+    //         "                    <input name=\"questionList[" + questionIndex + "].answer\" style=\"width: 550px\" htmlEscape=\"false\" class=\"input-xlarge \">\n" +
+	// 			"\t\t\t\t<label id=\"answer" + questionIndex + "SensitiveWords\" class=\"red\"></label>\n" +
+    //         "                </div>\n" +
+    //         "            </div>")
+    //     $("#questionDelBtn" + (questionIndex - 1)).attr("style", "display:none;cursor: pointer");
+	// 	questionIndex = questionIndex + 1;
+	// }
+
+	<%--$(document).ready(function () {--%>
+	<%--	ClassicEditor.create(document.querySelector('#advantageEditor'), {--%>
+	<%--		ckfinder: {--%>
+	<%--			uploadUrl: '${caimeiCore}/tools/image/upload/ckeditor'--%>
+	<%--		}--%>
+	<%--	}).then(function (editor) {--%>
+	<%--		window.advantageEditor = editor;--%>
+	<%--	}).catch(function (error) {--%>
+	<%--		console.log(error);--%>
+	<%--	});--%>
+	<%--	ClassicEditor.create(document.querySelector('#disadvantageEditor'), {--%>
+	<%--		ckfinder: {--%>
+	<%--			uploadUrl: '${caimeiCore}/tools/image/upload/ckeditor'--%>
+	<%--		}--%>
+	<%--	}).then(function (editor) {--%>
+	<%--		window.disadvantageEditor = editor;--%>
+	<%--	}).catch(function (error) {--%>
+	<%--		console.log(error);--%>
+	<%--	});--%>
+	<%--	ClassicEditor.create(document.querySelector('#principleEditor'), {--%>
+	<%--		ckfinder: {--%>
+	<%--			uploadUrl: '${caimeiCore}/tools/image/upload/ckeditor'--%>
+	<%--		}--%>
+	<%--	}).then(function (editor) {--%>
+	<%--		window.principleEditor = editor;--%>
+	<%--	}).catch(function (error) {--%>
+	<%--		console.log(error);--%>
+	<%--	});--%>
+	<%--	ClassicEditor.create(document.querySelector('#adaptiveManEditor'), {--%>
+	<%--		ckfinder: {--%>
+	<%--			uploadUrl: '${caimeiCore}/tools/image/upload/ckeditor'--%>
+	<%--		}--%>
+	<%--	}).then(function (editor) {--%>
+	<%--		window.adaptiveManEditor = editor;--%>
+	<%--	}).catch(function (error) {--%>
+	<%--		console.log(error);--%>
+	<%--	});--%>
+	<%--	ClassicEditor.create(document.querySelector('#unAdaptiveManEditor'), {--%>
+	<%--		ckfinder: {--%>
+	<%--			uploadUrl: '${caimeiCore}/tools/image/upload/ckeditor'--%>
+	<%--		}--%>
+	<%--	}).then(function (editor) {--%>
+	<%--		window.unAdaptiveManEditor = editor;--%>
+	<%--	}).catch(function (error) {--%>
+	<%--		console.log(error);--%>
+	<%--	});--%>
+	<%--	ClassicEditor.create(document.querySelector('#aroundOperationEditor'), {--%>
+	<%--		ckfinder: {--%>
+	<%--			uploadUrl: '${caimeiCore}/tools/image/upload/ckeditor'--%>
+	<%--		}--%>
+	<%--	}).then(function (editor) {--%>
+	<%--		window.aroundOperationEditor = editor;--%>
+	<%--	}).catch(function (error) {--%>
+	<%--		console.log(error);--%>
+	<%--	});--%>
+	<%--});--%>
+
+	//富文本框编辑
+	// function checkInfo(){
+	// 	var advantage=advantageEditor.getData();
+	// 	var disadvantage=disadvantageEditor.getData();
+	// 	var principle=principleEditor.getData();
+	// 	var adaptiveMan=adaptiveManEditor.getData();
+	// 	var unAdaptiveMan=unAdaptiveManEditor.getData();
+	// 	var aroundOperation=aroundOperationEditor.getData();
+	// 	$("#advantage").val(advantage);
+	// 	$("#disadvantage").val(disadvantage);
+	// 	$("#principle").val(principle);
+	// 	$("#adaptiveMan").val(adaptiveMan);
+	// 	$("#unAdaptiveMan").val(unAdaptiveMan);
+	// 	$("#aroundOperation").val(aroundOperation);
+	// }
+
+	/**
+	 * @param obj
+	 * jquery控制input只能输入数字
+	 */
+	function onlynum(obj) {
+		obj.value = obj.value.replace(/[^\d]/g, ""); //清除"数字"以外的字符
+	}
+
+	//删除文件
+	function dataDelete(that, id) {
+		console.log($(that).text());
+		$(that).parent().remove();
+		var fileIds = $("#fileIds").val();
+		if (fileIds.indexOf(id)) {
+			fileIds = fileIds.replace(id + ',', '');
+			$("#fileIds").val(fileIds);
+		}
+		$.ajax({
+			url: "${ctx}/baike/cmBaikeProduct/deleteFile",
+			data: {"fileId": id},
+			async: false,
+			type: "POST"
+		});
+	}
+
+	function previewVideo(url) {
+		var url = "${ctx}/archive/cmProductArchiveContent/preview?url=" + encodeURIComponent(url);
+		var title = "视频播放";
+		top.$.jBox("iframe:" + url, {
+			iframeScrolling: 'yes',
+			width: 1000,
+			height: 750,
+			persistent: true,
+			title: title,
+			buttons: {"关闭": '-1'}
+		});
+	}
+	//关键词联动
+	function autocomplete(text) {
+		// return ['三全鲜食(北新泾店)', 'Hot honey 首尔炸鸡(仙霞路)', '新旺角茶餐厅', '泷千家(天山西路店)', '胖仙女纸杯蛋糕(上海凌空店)', '贡茶', '豪大大香鸡排超级奶爸', '茶芝兰(奶茶,手抓饼)', '十二泷町', '星移浓缩咖啡', '阿姨奶茶/豪大大', '新麦甜四季甜品炸鸡', 'Monica摩托主题咖啡店', '浮生若茶(凌空soho店)', 'NONO JUICE  鲜榨果汁', 'CoCo都可(北新泾店)', '快乐柠檬(神州智慧店)', 'Merci Paul cafe', '猫山王(西郊百联店)', '枪会山', '纵食', '钱记', '壹杯加', '唦哇嘀咖', '爱茜茜里(西郊百联)', '爱茜茜里(近铁广场)', '鲜果榨汁(金沙江路和美广店)', '开心丽果(缤谷店)', '超级鸡车(丰庄路店)', '妙生活果园(北新泾店)', '香宜度麻辣香锅', '凡仔汉堡(老真北路店)', '港式小铺', '蜀香源麻辣香锅(剑河路店)', '北京饺子馆', '饭典*新简餐(凌空SOHO店)', '焦耳·川式快餐(金钟路店)', '动力鸡车', '浏阳蒸菜', '四海游龙(天山西路店)', '樱花食堂(凌空店)', '壹分米客家传统调制米粉(天山店)', '福荣祥烧腊(平溪路店)', '速记黄焖鸡米饭', '红辣椒麻辣烫', '(小杨生煎)西郊百联餐厅', '阳阳麻辣烫', '南拳妈妈龙虾盖浇饭'].filter(function (item) {
+		//     return text && item.indexOf(text) > -1;
+		// });
+		var keywordlist=new Array();
+		<c:forEach items="${SearchFrequencyVo}" var="search">
+		keywordlist.push("${search.keyword}")
+		</c:forEach>
+		return keywordlist.filter(function (item) {
+			return text && item.indexOf(text) > -1;
+		});
+	}
+
+	new AutoComplete({
+		el: '.auto-input',
+		callback: autocomplete,
+		offsetLeft: -25
+	});
+</script>
+</body>
+</html>

+ 39 - 39
src/main/webapp/WEB-INF/views/modules/baikePage/cmBaikeProductList.jsp

@@ -2,7 +2,7 @@
 <%@ include file="/WEB-INF/views/include/taglib.jsp"%>
 <html>
 <head>
-	<title>产品管理</title>
+	<title>采美词条</title>
 	<meta name="decorator" content="default"/>
 	<style type="text/css">
 		.table th{text-align: center;}
@@ -28,8 +28,8 @@
 </head>
 <body>
 	<ul class="nav nav-tabs">
-		<li class=${cmBaikeProduct.commodityType eq 1?"active":""}><a href="${ctx}/baike/cmBaikeProduct/?commodityType=1&publishSource=1">产品</a></li>
-		<li class=${cmBaikeProduct.commodityType eq 2?"active":""}><a href="${ctx}/baike/cmBaikeProduct/?commodityType=2&publishSource=1">仪器</a></li>
+		<li class=${cmBaikeProduct.commodityType eq 1?"active":""}><a href="${ctx}/baike/cmBaikeProduct/?commodityType=1&publishSource=1">采美词条</a></li>
+<%--		<li class=${cmBaikeProduct.commodityType eq 2?"active":""}><a href="${ctx}/baike/cmBaikeProduct/?commodityType=2&publishSource=1">仪器</a></li>--%>
 	</ul>
 	<form:form id="searchForm" modelAttribute="cmBaikeProduct" action="${ctx}/baike/cmBaikeProduct/" method="post" class="breadcrumb form-search">
 		<form:hidden path="commodityType"/>
@@ -39,15 +39,15 @@
 		<div class="ul-form">
 			 <label>ID:</label>
 				<form:input path="id" htmlEscape="false" class="input-medium"/>
-			 <label>${commodityType}名称:</label>
+			 <label>词条名称:</label>
 				<form:input path="name" htmlEscape="false" maxlength="50" class="input-medium"/>
-			 <label>首页置顶:</label>
-			 <form:select path="topFlag" class="input-medium">
-				<form:option value="" label="全部"/>
-				<form:option value="1" label="是"/>
-				<form:option value="0" label="否"/>
-			 </form:select>
-			 <label>${commodityType}分类:</label>
+<%--			 <label>首页置顶:</label>--%>
+<%--			 <form:select path="topFlag" class="input-medium">--%>
+<%--				<form:option value="" label="全部"/>--%>
+<%--				<form:option value="1" label="是"/>--%>
+<%--				<form:option value="0" label="否"/>--%>
+<%--			 </form:select>--%>
+			 <label>分类:</label>
 				<form:select path="typeId" class="input-medium">
 					<form:option value="" label="全部"/>
 					<form:options items="${typeList}" itemLabel="name" itemValue="id" htmlEscape="false"/>
@@ -59,7 +59,7 @@
 					<form:option value="0" label="停用"/>
 				</form:select>
 			&nbsp;&nbsp;<input id="btnSubmit" class="btn btn-primary" type="submit" value="查询"/>
-			&nbsp;&nbsp;<a class="btn btn-primary" style="width: 50px" href="${ctx}/baike/cmBaikeProduct/form?commodityType=${cmBaikeProduct.commodityType}">添加</a>
+			&nbsp;&nbsp;<a class="btn btn-primary" style="width: 50px" href="${ctx}/baike/cmBaikeProduct/form?commodityType=${cmBaikeProduct.commodityType}&entryId=1">添加</a>
 			<div class="clearfix"></div>
 		</div>
 	</form:form>
@@ -68,11 +68,11 @@
 		<thead>
 			<tr>
 				<th>ID</th>
-				<th>${commodityType}名称</th>
-				<th>${commodityType}分类</th>
+				<th>词条名称</th>
+				<th>分类</th>
 				<th>基础浏览量</th>
 				<th>实际浏览量</th>
-				<th>首页置顶位</th>
+<%--				<th>首页置顶位</th>--%>
 				<th>发布时间</th>
 				<th>添加时间</th>
 				<th>状态</th>
@@ -97,9 +97,9 @@
 				<td>
 					${cmBaikeProduct.actualPv}
 				</td>
-				<td>
-					${cmBaikeProduct.topPosition eq 1?'第一位':cmBaikeProduct.topPosition eq 2?'第二位':cmBaikeProduct.topPosition eq 3?'第三位':''}
-				</td>
+<%--				<td>--%>
+<%--					${cmBaikeProduct.topPosition eq 1?'第一位':cmBaikeProduct.topPosition eq 2?'第二位':cmBaikeProduct.topPosition eq 3?'第三位':''}--%>
+<%--				</td>--%>
 				<td>
 					<fmt:formatDate value="${cmBaikeProduct.publishTime}" pattern="yyyy-MM-dd HH:mm:ss"/>
 				</td>
@@ -122,28 +122,28 @@
 				</td>
 				<td>
 					<a target="_blank" href="${fns:getConfig('wwwServer')}encyclopedia/${cmBaikeProduct.commodityType eq 1?'product':'instrument'}-${cmBaikeProduct.id}.html">查看</a>
-    				<a href="${ctx}/baike/cmBaikeProduct/form?id=${cmBaikeProduct.id}">编辑</a>
+    				<a href="${ctx}/baike/cmBaikeProduct/form?id=${cmBaikeProduct.id}&entryId=2">编辑</a>
 					<a href="${ctx}/baike/cmBaikeProduct/delete?id=${cmBaikeProduct.id}" onclick="return confirmx('确认要删除该产品吗?', this.href)">删除</a>
-					<a onclick="showTopSelect(${index.index},'open')" href="javascript:void(0)">首页置顶</a>
-					<c:if test="${cmBaikeProduct.topPosition ne null}">
-						<a onclick="updateTopPosition('','${cmBaikeProduct.id}','clearTopPosition')" href="javascript:void(0)">清除置顶</a>
-					</c:if>
-					<div style="display: none" class="topSelect" id="topSelect${index.index}" onmouseleave="showTopSelect(${index.index},'close')">
-						<table style="border: 2px solid #000000;" cellpadding="0" cellspacing="0">
-							<tbody>
-							<tr>
-								<td><a onclick="updateTopPosition('1',${cmBaikeProduct.id},'setTopPosition')" href="javascript:void(0)">置顶第一位</a></td>
-							</tr>
-							<tr>
-								<td><a onclick="updateTopPosition('2',${cmBaikeProduct.id},'setTopPosition')" href="javascript:void(0)">置顶第二位</a></td>
-							</tr>
-							<tr>
-								<td><a onclick="updateTopPosition('3',${cmBaikeProduct.id},'setTopPosition')" href="javascript:void(0)">置顶第三位</a></td>
-							</tr>
-							</tbody>
-						</table>
-					</div>
-					<a href="${ctx}/baike/cmBaikeProduct/recommend/form?id=${cmBaikeProduct.id}">相关推荐</a>
+<%--					<a onclick="showTopSelect(${index.index},'open')" href="javascript:void(0)">首页置顶</a>--%>
+<%--					<c:if test="${cmBaikeProduct.topPosition ne null}">--%>
+<%--						<a onclick="updateTopPosition('','${cmBaikeProduct.id}','clearTopPosition')" href="javascript:void(0)">清除置顶</a>--%>
+<%--					</c:if>--%>
+<%--					<div style="display: none" class="topSelect" id="topSelect${index.index}" onmouseleave="showTopSelect(${index.index},'close')">--%>
+<%--						<table style="border: 2px solid #000000;" cellpadding="0" cellspacing="0">--%>
+<%--							<tbody>--%>
+<%--							<tr>--%>
+<%--								<td><a onclick="updateTopPosition('1',${cmBaikeProduct.id},'setTopPosition')" href="javascript:void(0)">置顶第一位</a></td>--%>
+<%--							</tr>--%>
+<%--							<tr>--%>
+<%--								<td><a onclick="updateTopPosition('2',${cmBaikeProduct.id},'setTopPosition')" href="javascript:void(0)">置顶第二位</a></td>--%>
+<%--							</tr>--%>
+<%--							<tr>--%>
+<%--								<td><a onclick="updateTopPosition('3',${cmBaikeProduct.id},'setTopPosition')" href="javascript:void(0)">置顶第三位</a></td>--%>
+<%--							</tr>--%>
+<%--							</tbody>--%>
+<%--						</table>--%>
+<%--					</div>--%>
+<%--					<a href="${ctx}/baike/cmBaikeProduct/recommend/form?id=${cmBaikeProduct.id}">相关推荐</a>--%>
 				</td>
 			</tr>
 		</c:forEach>

+ 4 - 4
src/main/webapp/WEB-INF/views/modules/baikePage/cmBaikeTypeForm.jsp

@@ -144,9 +144,9 @@
 			width: 114px;
 			min-height: 80px;
 			text-align: center;
-			background: #fff;
+			background: #fff;s
 			position: relative;
-			top: 50px;
+			top: 120px;
 			margin-left: 2px;
 		}
 
@@ -180,7 +180,7 @@
 				<div class="conList">
 					<form:hidden id="pcBanner" path="pcBanner" htmlEscape="false" maxlength="255" class="input-xlarge required"/>
 					<sys:ckfinder input="pcBanner" type="images" uploadPath="/photo" selectMultiple="false" maxWidth="100"
-								  maxHeight="100"/>
+								  maxHeight="500"/>
 					<br>
 					<label style="margin-left: 150px">建议图片分辨率1920px*510px</label>
 				</div>
@@ -193,7 +193,7 @@
 					<form:hidden id="appBanner" path="appBanner" htmlEscape="false" maxlength="255"
 								 class="input-xlarge required"/>
 					<sys:ckfinder input="appBanner" type="images" uploadPath="/photo" selectMultiple="false"
-								  maxWidth="100" maxHeight="100"/>
+								  maxWidth="100" maxHeight="200"/>
 					<br>
 					<label style="margin-left: 150px">建议图片分辨率750px*366px</label>
 				</div>

+ 16 - 0
src/main/webapp/WEB-INF/views/modules/baikePage/entryGuidance.jsp

@@ -0,0 +1,16 @@
+<%--
+  Created by IntelliJ IDEA.
+  User: Administrator
+  Date: 2022/12/15
+  Time: 10:37
+  To change this template use File | Settings | File Templates.
+--%>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<html>
+<head>
+    <title>创建词条引导</title>
+</head>
+<body>
+        范德萨范德萨发生的
+</body>
+</html>

+ 7 - 7
src/main/webapp/WEB-INF/views/modules/baikePage/shopBaikeProductList.jsp

@@ -2,7 +2,7 @@
 <%@ include file="/WEB-INF/views/include/taglib.jsp"%>
 <html>
 <head>
-	<title>产品管理</title>
+	<title>供应商词条</title>
 	<meta name="decorator" content="default"/>
 	<style type="text/css">
 		.table th{text-align: center;}
@@ -28,8 +28,8 @@
 </head>
 <body>
 	<ul class="nav nav-tabs">
-		<li class=${cmBaikeProduct.commodityType eq 1?"active":""}><a href="${ctx}/baike/cmBaikeProduct/?commodityType=1&publishSource=2">产品</a></li>
-		<li class=${cmBaikeProduct.commodityType eq 2?"active":""}><a href="${ctx}/baike/cmBaikeProduct/?commodityType=2&publishSource=2">仪器</a></li>
+		<li class=${cmBaikeProduct.commodityType eq 1?"active":""}><a href="${ctx}/baike/cmBaikeProduct/?commodityType=1&publishSource=2">供应商词条</a></li>
+<%--		<li class=${cmBaikeProduct.commodityType eq 2?"active":""}><a href="${ctx}/baike/cmBaikeProduct/?commodityType=2&publishSource=2">仪器</a></li>--%>
 	</ul>
 	<form:form id="searchForm" modelAttribute="cmBaikeProduct" action="${ctx}/baike/cmBaikeProduct/" method="post" class="breadcrumb form-search">
 		<form:hidden path="commodityType"/>
@@ -39,7 +39,7 @@
 		<div class="ul-form">
 			 <label>ID:</label>
 				<form:input path="id" htmlEscape="false" class="input-medium"/>
-			 <label>${commodityType}名称:</label>
+			 <label>词条名称:</label>
 				<form:input path="name" htmlEscape="false" maxlength="50" class="input-medium"/>
 			 <label>${commodityType}分类:</label>
 				<form:select path="typeId" class="input-medium">
@@ -71,8 +71,8 @@
 		<thead>
 			<tr>
 				<th>ID</th>
-				<th>${commodityType}名称</th>
-				<th>${commodityType}分类</th>
+				<th>词条名称</th>
+				<th>分类</th>
 				<th>浏览量</th>
 				<th>审核状态</th>
 				<th>上线状态</th>
@@ -118,7 +118,7 @@
 					<fmt:formatDate value="${cmBaikeProduct.addTime}" pattern="yyyy-MM-dd HH:mm:ss"/>
 				</td>
 				<td>
-					<a href="${ctx}/baike/cmBaikeProduct/toAuditPage?id=${cmBaikeProduct.id}&commodityType=${cmBaikeProduct.commodityType}"
+					<a href="${ctx}/baike/cmBaikeProduct/toAuditPage?id=${cmBaikeProduct.id}&commodityType=${cmBaikeProduct.commodityType}&entryId=2"
 					   style="display: ${cmBaikeProduct.auditStatus eq 1 or cmBaikeProduct.auditStatus eq 3?'':'none'}">审核</a>
 					<a href="${ctx}/baike/cmBaikeProduct/check?id=${cmBaikeProduct.id}
 					&commodityType=${cmBaikeProduct.commodityType}&publishSource=2">查看</a>

+ 400 - 0
src/main/webapp/static/content-edit.js

@@ -0,0 +1,400 @@
+/** 生成uuid的方法 */
+function uuid(len = 16, radix = 16) {
+  const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('')
+  const value = []
+  let i = 0
+  radix = radix || chars.length
+  if (len) {
+      for (i = 0; i < len; i++) value[i] = chars[0 | (Math.random() * radix)]
+  } else {
+      let r
+      value[8] = value[13] = value[18] = value[23] = '-'
+      value[14] = '4'
+      for (i = 0; i < 36; i++) {
+          if (!value[i]) {
+              r = 0 | (Math.random() * 16)
+              value[i] = chars[i === 19 ? (r & 0x3) | 0x8 : r]
+          }
+      }
+  }
+  return value.join('')
+}
+
+class ContentEdit {
+  constructor(options) {
+      this.options = {
+          markCountKey: 'markCount',
+          ...options
+      }
+      this.container = document.querySelector(options.el)
+      this.hiddenMark = options.hiddenMark
+      this.selection = null
+      this.range = null
+      this.ctrid = '' // 当前标记id
+      this.ctridList = []
+      this.registEventListener()
+  }
+
+  get innerHTML() {
+      return this.container.innerHTML
+  }
+
+  /** 开始节点 */
+  get startContainer() {
+      return this.isTextNode(this.range.startContainer) ? this.range.startContainer : this.range.endContainer
+  }
+
+  /** 结束节点 */
+  get endContainer() {
+      return this.isTextNode(this.range.endContainer) ? this.range.endContainer : this.range.startContainer
+  }
+
+  /** 选中文本类容 */
+  get selectionText() {
+      return this.selection.toString()
+  }
+
+  /** 开始节点与结束接单公共父节点 */
+  get commonNode() {
+      return this.isTextNode(this.range.commonAncestorContainer)
+          ? this.range.commonAncestorContainer.parentNode
+          : this.range.commonAncestorContainer
+  }
+
+  /** 开始节点的最外层节点 */
+  get startNode() {
+      return this.getTopNode(this.commonNode, this.startContainer)
+  }
+
+  /** 结束节点的最外层节点 */
+  get endNode() {
+      return this.getTopNode(this.commonNode, this.endContainer)
+  }
+
+  /** 开始节点与结束节点之间的节点列表 */
+  get centerNodes() {
+      if (this.startNode === this.endNode) return []
+      if (this.startNode.nextSibling === this.endNode) return []
+      return this.nextUntil(this.startNode, this.endNode)
+  }
+
+  initCtridList(){
+      const nodeList = this.container.querySelectorAll('.scapegoat')
+      nodeList.forEach((node) => {
+          const id = node.getAttribute('data-ctrid')
+          if (!this.ctridList.includes(id)){
+              this.ctridList.push(id)
+          }
+      })
+  }
+
+  /** 文本选中变动 */
+  selectionChange() {
+      this.selection = document.getSelection()
+      if (this.selection.type.toLowerCase() !== 'range') return
+      this.range = this.selection.getRangeAt(0)
+  }
+
+  /** 包裹 */
+  parcel(ctrid, index) {
+      this.ctrid = ctrid ? ctrid : uuid()
+      this.markNum = index
+      this.ctridList.push(this.ctrid)
+      try {
+          this.parcelNode(this.commonNode, this.centerNodes)
+          this.parcelStartNode(this.startContainer)
+          this.parcelEndNode(this.endContainer)
+          this.parcelNodeContent()
+          this.selection.removeAllRanges()
+          this.options.change && this.options.change(this.innerHTML)
+          return this.ctrid
+      } catch (e) {
+          return this.ctrid
+      }
+  }
+
+  /** 包裹元素 */
+  parcelNode(container, nodeList = []) {
+      if (nodeList.length === 0) return
+      const parcel = this.createParcel()
+      container.insertBefore(parcel, nodeList[0])
+      nodeList.forEach((node) => {
+          container.removeChild(node)
+          parcel.appendChild(node)
+      })
+  }
+
+  /** 包裹开始元素 */
+  parcelStartNode(node) {
+      if (node === this.commonNode) return
+      if (node === this.startNode) return
+      this.parcelNode(node.parentNode, this.nextAll(node))
+      this.parcelStartNode(node.parentNode)
+  }
+
+  /** 包裹结束元素 */
+  parcelEndNode(node) {
+      if (node === this.commonNode) return
+      if (node === this.endNode) return
+      this.parcelNode(node.parentNode, this.prevAll(node))
+      this.parcelEndNode(node.parentNode)
+  }
+
+  /** 包裹开始结束节点内容 */
+  parcelNodeContent() {
+      const mark = this.createMark()
+      // 开始节点与结束节点相同
+      if (this.startContainer === this.endContainer) {
+          const prefixText = this.startContainer.nodeValue.substring(0, this.range.startOffset)
+          const centerText = this.startContainer.nodeValue.substring(this.range.startOffset, this.range.endOffset)
+          const suffixText = this.startContainer.nodeValue.substring(this.range.endOffset)
+          const prefix = document.createTextNode(prefixText)
+          const suffix = document.createTextNode(suffixText)
+          const parcel = this.createParcel()
+          parcel.innerText = centerText
+          const fragment = this.createFragment([prefix, parcel, mark, suffix])
+          this.startContainer.parentNode.replaceChild(fragment, this.startContainer)
+      } else {
+          // 开始节点
+          const prefixText = this.startContainer.nodeValue.substring(0, this.range.startOffset)
+          const startText = this.startContainer.nodeValue.substring(this.range.startOffset)
+          const prefix = document.createTextNode(prefixText)
+          const startSpan = this.createParcel()
+          startSpan.innerText = startText
+          const startFragment = this.createFragment([prefix, startSpan])
+          this.startContainer.parentNode.replaceChild(startFragment, this.startContainer)
+          // 结束节点
+          const endText = this.endContainer.nodeValue.substring(0, this.range.endOffset)
+          const suffixText = this.endContainer.nodeValue.substring(this.range.endOffset)
+          const suffix = document.createTextNode(suffixText)
+          const endSpan = this.createParcel()
+          endSpan.innerText = endText
+          const endFragment = this.createFragment([endSpan, mark, suffix])
+          this.endContainer.parentNode.replaceChild(endFragment, this.endContainer)
+      }
+  }
+
+  /** 标记清除 */
+  unParcel(ctrid) {
+      this.ctridList = this.ctridList.filter((item) => item !== ctrid)
+      const nodeList = this.container.querySelectorAll('.scapegoat')
+      nodeList.forEach((node) => {
+          const id = node.getAttribute('data-ctrid')
+          if (id !== ctrid) return
+          const parentNode = node.parentNode
+          if (node.nodeName === 'IMG') {
+              parentNode.removeChild(node)
+          } else if (node.nodeName === 'SPAN') {
+              const fragment = this.createFragment(node.childNodes)
+              parentNode.replaceChild(fragment, node)
+          }
+          // 清除空节点
+          parentNode.normalize()
+      })
+      this.options.change && this.options.change(this.innerHTML)
+      this.ctridList = this.ctridList.filter(item => item !== ctrid)
+  }
+
+  /** 创建标记 */
+  createMark() {
+      if (this.hiddenMark) return document.createDocumentFragment()
+      const img = document.createElement('img')
+      const index = this.markNum || window[this.options.markCountKey]
+      img.classList.add('scapegoat')
+      img.setAttribute('height', 20)
+      img.setAttribute('data-ctrid', this.ctrid)
+      img.setAttribute('src', `https://baikebcs.bdimg.com/cms/wiki-react-editor/ref/${index}.svg`)
+      img.addEventListener('mouseover', (e) => this.markMouseOver(e))
+      img.addEventListener('mouseleave', (e) => this.markMouseLeave(e))
+      // img.addEventListener('click', (e) => this.markMouseClick(e))
+      return img
+  }
+
+  /** 创建片段 */
+  createFragment(chidlren = []) {
+      const fragment = document.createDocumentFragment()
+      chidlren.forEach((node) => {
+          fragment.appendChild(node)
+      })
+      return fragment
+  }
+
+  /** 鼠标放在标记上 */
+  markMouseOver(e) {
+      const ctrid = e.target.getAttribute('data-ctrid')
+      const nodeList = document.querySelectorAll('.scapegoat')
+      nodeList.forEach((node) => {
+          const id = node.getAttribute('data-ctrid')
+          if (id === ctrid) {
+              node.classList.add('hover')
+          }
+      })
+  }
+
+  /** 鼠标从标记上移开 */
+  markMouseLeave(e) {
+      const ctrid = e.target.getAttribute('data-ctrid')
+      const nodeList = document.querySelectorAll('.scapegoat')
+      nodeList.forEach((node) => {
+          const id = node.getAttribute('data-ctrid')
+          if (id === ctrid) {
+              node.classList.remove('hover')
+          }
+      })
+  }
+
+  /* 注册事件监听 */
+  registEventListener() {
+      // 获取文本选中
+      this.container.addEventListener('focus', () => {
+          document.addEventListener('selectionchange', () => this.selectionChange())
+      })
+      this.container.addEventListener('blur', () => {
+          this.options.change && this.options.change(this.innerHTML)
+          document.removeEventListener('selectionchange', () => this.selectionChange())
+      })
+  }
+
+  /** 获取节点元素 */
+  getTopNode(parent, node) {
+      if (parent === node.parentNode) return node
+      return this.getTopNode(parent, node.parentNode)
+  }
+
+  /** 开始节点与结束节点之间的节点列表 */
+  nextUntil(startNode, endNode) {
+      if (startNode.nextSibling === endNode) return []
+      return [startNode.nextSibling, ...this.nextUntil(startNode.nextSibling, endNode)]
+  }
+
+  /** 获取紧接着之后兄弟节点 */
+  nextAll(node) {
+      if (!node.nextSibling) return []
+      return [node.nextSibling, ...this.nextAll(node.nextSibling)]
+  }
+
+  /** 获取紧接着之前的兄弟节点 */
+  prevAll(node) {
+      if (!node.previousSibling) return []
+      return [node.previousSibling, ...this.prevAll(node.previousSibling)]
+  }
+
+  /** 是文本节点 */
+  isTextNode(node) {
+      return node.nodeType === 3
+  }
+
+  /** 创建包裹元素 */
+  createParcel() {
+      const parcel = document.createElement('span')
+      parcel.classList.add('scapegoat')
+      parcel.setAttribute('data-ctrid', this.ctrid)
+      return parcel
+  }
+}
+
+class ContentEditInput {
+    constructor(options) {
+        this.options = {
+            el: '.content-edit',
+            markCountKey: 'markCount',
+            bubbleSize: options.bubbleSize || 0,
+            initValue: options.initValue || '',
+            toolbarClick: () => {},
+            referenceEdit: () => {},
+            ...options,
+        }
+        this.createElement()
+        this.addEventListener()
+        this.edit = new ContentEdit({
+            el: this.input[0],
+            change: (html) => {
+                this.realInput.attr('value', html)
+            },
+        })
+    }
+
+    setBubbleNum(num) {
+        this.options.bubbleSize = num
+        this.options.bubbleSize > 0 ? this.bubble.show() : this.bubble.hide()
+        this.bubble.text(this.options.bubbleSize)
+    }
+
+    createElement() {
+        this.container = $(this.options.el)
+        this.toolbar = $('<div class="bk-toolbar">[&nbsp;|&nbsp;]</div>')
+        this.toolbar.hide()
+        this.bubble = $('<div class="bk-bubble"></div>')
+        this.setBubbleNum(this.options.bubbleSize)
+        this.input = $('<div class="bk-input" contenteditable="true"></div>')
+        this.realInput = $('<input type="text"/>')
+        if (this.container.attr('name')) {
+            this.realInput.attr('name', this.container.attr('name'))
+            this.container.attr('name', '')
+        }
+        this.realInput.hide()
+        if (this.options.initValue) {
+            this.input.html(this.options.initValue)
+            this.realInput.attr('value', this.options.initValue)
+        }
+        this.literature = $('<ul class="bk-literature"></ul>')
+        this.literature.hide()
+        this.container.append([this.toolbar, this.bubble, this.input, this.realInput, this.literature])
+    }
+
+    addLiteratureItem(ctrid, text) {
+        const literatureItem = $('<li></li>')
+        const content = $('<div class="bk-literature-content"></div>')
+        content.append(text)
+        const control = $('<div class="bk-literature-control"></div>')
+        const editBtn = $('<span>编辑</span>')
+        editBtn.attr('data-id', ctrid)
+        const deleteBtn = $('<span>删除</span>')
+        deleteBtn.attr('data-id', ctrid)
+        control.append([editBtn, deleteBtn])
+        literatureItem.append([content, control])
+        this.literature.append(literatureItem)
+        editBtn.on('click', () => {
+            this.options.referenceEdit(editBtn.attr('data-id'))
+        })
+        deleteBtn.on('click', () => {
+            this.edit.unParcel(editBtn.attr('data-id'))
+            literatureItem.remove()
+            this.setBubbleNum(this.edit.ctridList.length)
+        })
+    }
+
+    confirm(text) {
+        const ctrid = this.edit.parcel()
+        this.addLiteratureItem(ctrid, text)
+        this.setBubbleNum(this.edit.ctridList.length)
+        return ctrid
+    }
+
+    addEventListener() {
+        this.toolbar.on('click', this.toolbarClick)
+        this.bubble.on('click', this.bubbleClick)
+        this.input.on('focus', this.inputFocus)
+        this.input.on('blur', this.inputBlur)
+        $(window).on('click', (e) => {
+            if (this.literature[0].contains(e.target) || this.bubble[0].contains(e.target)) return
+            this.literature.hide()
+        })
+    }
+
+    inputFocus = () => {
+        this.toolbar.fadeIn(200)
+    }
+
+    inputBlur = () => {
+        this.toolbar.fadeOut(200)
+    }
+
+    toolbarClick = () => {
+        this.options.toolbarClick(this)
+    }
+
+    bubbleClick = () => {
+        this.literature.toggle()
+    }
+}

Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio