diff --git a/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/static/project/smallProgram/css/carousel.css b/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/static/project/smallProgram/css/carousel.css new file mode 100755 index 00000000..1ebc0e97 --- /dev/null +++ b/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/static/project/smallProgram/css/carousel.css @@ -0,0 +1,54 @@ +/*定义css变量*/ +:root{ + --mywidth: 500px; + --myheight: 100%; +} + +*{ + margin: 0; + padding: 0; +} +ul{ + list-style: none; +} +.carousel-content{ + width: var(--mywidth); + height: var(--myheight); + position: relative; + overflow: hidden; + border-radius:10px; +} +.carousel{ + height: var(--myheight); + position: absolute; +} +.carousel li{ + float: left; +} +.carousel li,.carousel li img{ + width: var(--mywidth); + height: var(--myheight); +} +.img-index{ + position: absolute; + bottom: 8px; + width: 100%; + display: flex; + justify-content: center; +} +.img-index li{ + float: left; + width: 18px; + height: 18px; + line-height: 18px; + text-align: center; + border-radius: 10px; + background-color: rgba(0,0,0,0.2); + font-size: 12px; + cursor: pointer; + margin: 0 3px; + color: #fff; +} +.img-index li.js_index,.img-index li:hover{ + background-color: rgba(0,0,0,0.7); +} \ No newline at end of file diff --git a/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/static/project/smallProgram/js/carousel.js b/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/static/project/smallProgram/js/carousel.js new file mode 100755 index 00000000..f4da6aac --- /dev/null +++ b/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/static/project/smallProgram/js/carousel.js @@ -0,0 +1,168 @@ +;(function($){ + $.fn.carousel = function(param){ + var carousel = param.carousel,//轮播框架 + indexContainer = param.indexContainer,//下标框架 + list = $(carousel).children("li"),//轮播内容 + len = list.length,//轮播内容数量 + prev = param.prev,//上翻按钮 + next = param.next,//下翻按钮 + timing = param.timing,//自动轮播间隔时间 + animateTime = param.animateTime,//动画时间 + autoPlay = param.autoPlay,//自动播放 true/false + timer,//定时器 + index = 1,//索引值 + indexList,//下标列表 + indexClassName = "js_index",//下标高亮类名 + action = true,//开始滚动 true/false + totalWidtn = list.width()*(list.length+2),//轮播框架总宽度 + direction = param.direction;//滚动方向 + + /*初始化*/ + for(var i = 1;i <= list.length;i++){ + $(indexContainer).append("
  • "+i+"
  • ") + } + $(carousel).width(totalWidtn) + .append($(list[0]).clone()) + .prepend($(list[list.length-1]).clone()) + .css("left","-"+list.width()+"px"); + list = $(carousel).children("li"); + indexList = $(indexContainer).children("li"); + $(indexList[index-1]).addClass(indexClassName); + + /*判断是否自动播放*/ + if (autoPlay) { + startTiming(); + $(carousel+","+prev+","+next+","+indexContainer).hover(function(){ + window.clearInterval(timer); + },function(){ + startTiming(); + }); + } + + /*计时方法*/ + function startTiming(){ + /*判断方向*/ + switch (direction) { + case "right" : + timer = window.setInterval("$.rightChangeImg();",timing); + break; + case "left" : + timer = window.setInterval("$.leftChangeImg();",timing); + break; + default: + timer = window.setInterval("$.leftChangeImg();",timing); + } + }; + + /*切换高亮下标*/ + $.extend({changeIndex:function(index){ + $(indexList).removeClass(indexClassName); + $(indexList[index]).addClass(indexClassName); + }}); + + + /*向左切换图片*/ + $.extend({leftChangeImg:function(){ + action = false; + if (index==len) { + index = 0; + $(carousel).stop(true,true).css("left","0px"); + } + index++; + $(carousel).stop(true,true).animate({ + left : "-="+list.width()+"px" + },animateTime); + setTimeout(function(){ + if (index==len) { + index = 0; + $(carousel).stop(true,true).css("left","0px"); + } + action = true; + },animateTime); + $.changeIndex(index-1); + }}); + + /*向右切换图片*/ + $.extend({rightChangeImg:function(){ + action = false; + if (index==0) { + index = len; + $(carousel).stop(true,true).css("left","-"+left+"px"); + } + index--; + var left = totalWidtn-list.width()*2; + $(carousel).stop(true,true).animate({ + left : "+="+list.width()+"px" + },animateTime); + setTimeout(function(){ + if (index==0) { + index = len; + $(carousel).stop(true,true).css("left","-"+left+"px"); + } + action = true; + },animateTime); + if (index == 0) { + $.changeIndex(len-1); + }else{ + $.changeIndex(index-1); + } + }}); + + /*下翻点击处理*/ + $(next).on("click",function(){ + var nowLeft = Math.abs(parseInt($(carousel).css("left"))); + var left = totalWidtn-list.width()*2; + if (action) { + if (nowLeft == left) { + index = 0; + $(carousel).stop(true,true).css("left","0px"); + } + $.leftChangeImg(); + } + }); + + /*上翻点击处理*/ + $(prev).on("click",function(){ + var nowLeft = Math.abs(parseInt($(carousel).css("left"))); + var left = totalWidtn-list.width()*2; + if (action) { + if (nowLeft == 0) { + index = len; + $(carousel).stop(true,true).css("left","-"+left+"px"); + } + $.rightChangeImg(); + } + }); + + /*下标点击处理*/ + indexList.on("click",function(){ + var no = $(this).index()+1; + if (action) { + if (no > index) { + $.changeIndex(no-1); + action = false; + var left = (no - index)*list.width(); + index = no; + $(carousel).stop(true,true).animate({ + left : "-="+left+"px" + },animateTime); + setTimeout(function(){ + action = true; + },animateTime); + }else if (no < index) { + $.changeIndex(no-1); + action = false; + var left = (index - no)*list.width(); + index = no; + $(carousel).stop(true,true).animate({ + left : "+="+left+"px" + },animateTime); + setTimeout(function(){ + action = true; + },animateTime); + } + + } + }); + } +})(jQuery); \ No newline at end of file diff --git a/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/smallProgram/image/settings.html b/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/smallProgram/image/settings.html new file mode 100644 index 00000000..c5a039b8 --- /dev/null +++ b/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/smallProgram/image/settings.html @@ -0,0 +1,307 @@ + + + + + + + + +
    +
    + +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    +
    +
    + +
    + +
    +
    + +
    + + + + + + + + + + + +
    +
    +
    + +
    + +
    +
    + +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    + +
    +
    + +
    +
    +
    +
    + +
    + +
    +
    + +
    +
    +
    + +
    + +
    +
    + +
    +
    +
    +
    + +
    + +
    +
    + +
    +
    +
    + +
    + +
    +
    + +
    +
    +
    +
    + +
    + +
    +
    + +
    +
    +
    + +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + +
    +
    + + +
    +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    > +
    +
    +
    2-left
    +
    2-midden
    +
    2-right
    +
    +
    +
    3-left
    +
    3-midden
    +
    3-right
    +
    +
    +
    4-left
    +
    4-midden
    +
    4-right
    +
    +
    +
    +
    + + + + + \ No newline at end of file diff --git a/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/CustomImageController.java b/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/CustomImageController.java index 842d37f1..a6d46943 100755 --- a/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/CustomImageController.java +++ b/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/CustomImageController.java @@ -12,8 +12,10 @@ import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletRequest; import java.util.HashMap; import java.util.List; +import java.util.Map; /** * 自定义图片管理Controller @@ -29,6 +31,12 @@ public class CustomImageController extends BaseController { @Autowired private ICustomImageService customImageService; + @RequiresPermissions("custom:image:view") + @GetMapping("/settings") + public String settings() { + return prefix + "/settings"; + } + @RequiresPermissions("custom:image:view") @GetMapping() public String image() { @@ -76,6 +84,31 @@ public class CustomImageController extends BaseController { return resNum > 0 ? ZDResponse.success("操作成功", resNum) : ZDResponse.error("操作失败", resNum); } + /** + * 新增保存自定义图片管理 + */ + @RequiresPermissions("custom:image:add") + @PostMapping("/addSettings") + @ResponseBody + public ZDResponse addSettings(@RequestParam("file") MultipartFile file, HttpServletRequest request) { + String imgId = request.getParameter("imgId"); + String page = imgId.substring(0, imgId.indexOf('-')); + String position = imgId.substring(imgId.indexOf('-')+1, imgId.length()); + String sortTmp = imgId.substring(imgId.length()-1, imgId.length()); + Long sort = 0l; + try { + sort = Long.valueOf(sortTmp); + } catch (Exception e) {} + CustomImage customImage = new CustomImage(); + customImage.setTitle(imgId); + customImage.setPage(page); + customImage.setPosition(position); + customImage.setSrot(sort); + System.out.println(file); + int resNum = customImageService.insertCustomImage(customImage, file); + return resNum > 0 ? ZDResponse.success("操作成功", resNum) : ZDResponse.error("操作失败", resNum); + } + /** * 修改自定义图片管理 */ diff --git a/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/ICustomImageService.java b/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/ICustomImageService.java index b13b82ba..8cfd33e0 100755 --- a/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/ICustomImageService.java +++ b/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/ICustomImageService.java @@ -44,6 +44,7 @@ public interface ICustomImageService * @param customImage 自定义图片管理 * @return 结果 */ + public int insertCustomImage(CustomImage customImage, MultipartFile file); public int insertCustomImage(CustomImage customImage, MultipartFile[] files); /** diff --git a/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/impl/CustomImageServiceImpl.java b/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/impl/CustomImageServiceImpl.java index 997b7ae4..8613e465 100755 --- a/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/impl/CustomImageServiceImpl.java +++ b/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/impl/CustomImageServiceImpl.java @@ -80,6 +80,29 @@ public class CustomImageServiceImpl implements ICustomImageService * @return 结果 */ @Override + public int insertCustomImage(CustomImage customImage, MultipartFile file) + { + // 先根据title查出之前的数据删除数据和附件 + CustomImage params = new CustomImage(); + params.setTitle(customImage.getTitle()); + List oldList = customImageMapper.selectCustomImageList(params); + if (null != oldList && oldList.size() > 0) { + for (CustomImage old : oldList) { + zdxtFileCommonApi.deleteZdxtFileByIds(old.getGuid()); + this.deleteCustomImageById(old.getGuid()); + } + } + customImage.setGuid(StringUtils.getUUID()); + customImage.setCreator(userApi.getCurrentUser().getUserName()); + int resNum = customImageMapper.insertCustomImage(customImage); + + // 上传文件,并在附件表中添加记录 + if (resNum > 0 && ObjectUtil.isNotEmpty(file)) { + zdxtFileCommonApi.insertZdxtFile(file, customImage.getGuid(), fileUploadApi.upload(file)); + } + return resNum; + } + @Override public int insertCustomImage(CustomImage customImage, MultipartFile[] files) { customImage.setGuid(StringUtils.getUUID()); diff --git a/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/resources/mapper/CustomImageMapper.xml b/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/resources/mapper/CustomImageMapper.xml index 757ac031..455cbe30 100755 --- a/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/resources/mapper/CustomImageMapper.xml +++ b/lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/resources/mapper/CustomImageMapper.xml @@ -76,7 +76,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{createTime}, #{updator}, #{updateTime}, - (select IFNULL((max(srot)+1), 1) as srot from custom_image tmp), + #{srot},