人大新闻从通知公告中独立成一个单独的模块,政务信息去除改为外链;通知公告分成通知和公告两类;
This commit is contained in:
parent
3848ecd2ee
commit
774eb1a1eb
|
@ -1,5 +1,6 @@
|
|||
package com.ydool.boot.api.controller;
|
||||
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
|
@ -36,7 +37,8 @@ public class ApiNoticeController extends ApiBaseController {
|
|||
@ApiImplicitParam(name = "pageNo", value = "当前页", dataType = "int", defaultValue = "1"),
|
||||
@ApiImplicitParam(name = "pageSize", value = "显示条数", dataType = "int", defaultValue = "10"),
|
||||
@ApiImplicitParam(name = "title", value = "标题"),
|
||||
@ApiImplicitParam(name = "type", value = "分类zwxx / rdxw"),
|
||||
@ApiImplicitParam(name = "type", value = "分类tz / gg"),
|
||||
@ApiImplicitParam(name = "platform", value = "当前登录的是哪个端 admin机关办公/ rddb代表/ voter选民 "),
|
||||
@ApiImplicitParam(name = "top", value = "是否置顶0:不置顶;1:置顶", dataType = "int")
|
||||
})
|
||||
@DynamicResponseParameters(properties = {
|
||||
|
@ -44,10 +46,29 @@ public class ApiNoticeController extends ApiBaseController {
|
|||
})
|
||||
@ApiOperation("通知公告列表")
|
||||
@GetMapping("/list")
|
||||
public void noticeList(@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
|
||||
String title, Integer top,String type) {
|
||||
QueryWrapper<Notice> qw = getQueryWrapper(title, top,type);
|
||||
public void list(@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
|
||||
String title, Integer top, String type, String platform) {
|
||||
QueryWrapper<Notice> qw = new QueryWrapper<>();
|
||||
Condition.appendIfNotEmpty(title, "title#like", qw);
|
||||
|
||||
if ("gg".equals(type)) {
|
||||
Assert.notNull(platform, "请填入当前端参数");
|
||||
qw.eq("type", type);
|
||||
qw.like("obj", platform);
|
||||
} else if ("tz".equals(type)) {
|
||||
qw.eq("type", type);
|
||||
} else {
|
||||
Assert.notNull(platform, "请填入当前端参数");
|
||||
qw.and(_qw -> {
|
||||
_qw.and(__qw -> {
|
||||
__qw.eq("type", "gg").like("obj", platform);
|
||||
}
|
||||
).or().eq("type", "tz");
|
||||
});
|
||||
}
|
||||
qw.orderByDesc("top", "created_at");
|
||||
|
||||
IPage<Notice> paged = noticeService.page(new Page<>(pageNo, pageSize), qw);
|
||||
render(Ret.ok().paged(NoticeWrapper.build().pageVO(paged)));
|
||||
}
|
||||
|
@ -60,7 +81,7 @@ public class ApiNoticeController extends ApiBaseController {
|
|||
@ApiOperation("通知公告详情")
|
||||
@ApiImplicitParam(name = "id", value = "id", paramType = "path", required = true)
|
||||
@GetMapping("/{id}")
|
||||
public void notice(@PathVariable("id") String id) {
|
||||
public void detail(@PathVariable("id") String id) {
|
||||
Notice bean = noticeService.getById(id);
|
||||
if (bean == null) {
|
||||
render(Ret.fail("未找到该通知"));
|
||||
|
@ -75,33 +96,26 @@ public class ApiNoticeController extends ApiBaseController {
|
|||
@ApiImplicitParam(name = "content", value = "内容", required = true),
|
||||
@ApiImplicitParam(name = "noticeDate", value = "通知日期"),
|
||||
@ApiImplicitParam(name = "top", value = "是否置顶0:不置顶;1:置顶"),
|
||||
@ApiImplicitParam(name = "uploadPersonnel", value = "上传人员"),
|
||||
@ApiImplicitParam(name = "coverNames", value = "封面名,多个英文逗号间隔"),
|
||||
@ApiImplicitParam(name = "coverPaths", value = "封面路径,多个英文逗号间隔"),
|
||||
@ApiImplicitParam(name = "type", value = "分类zwxx / rdxw")
|
||||
@ApiImplicitParam(name = "type", value = "分类tz / gg"),
|
||||
@ApiImplicitParam(name = "obj", value = "公告对象 admin机关办公/ rddb代表/ voter选民 多个用英文逗号间隔 ")
|
||||
})
|
||||
@ApiOperation("发布公告")
|
||||
@PostMapping("/save")
|
||||
public void save(String title, String content, String noticeDate, Integer top, String uploadPersonnel,String coverNames,String coverPaths,String type) {
|
||||
public void save(String title, String content, String noticeDate, Integer top, String coverNames, String coverPaths, String type, String obj) {
|
||||
Notice bean = new Notice();
|
||||
bean.setTitle(title);
|
||||
bean.setContent(content);
|
||||
bean.setNoticeDate(noticeDate);
|
||||
bean.setTop(top);
|
||||
bean.setUploadPersonnel(uploadPersonnel);
|
||||
bean.setUploadPersonnel(getApiUserId());
|
||||
bean.setCreatedId(getApiUserId());
|
||||
bean.setType(type);
|
||||
|
||||
boolean flag = noticeService.apiSave(bean,coverNames,coverPaths,getApiUser());
|
||||
bean.setObj(obj);
|
||||
boolean flag = noticeService.apiSave(bean, coverNames, coverPaths, getApiUser());
|
||||
render(!flag ? Ret.fail("操作失败") : Ret.ok());
|
||||
}
|
||||
|
||||
private QueryWrapper<Notice> getQueryWrapper(String title, Integer top,String type) {
|
||||
QueryWrapper<Notice> qw = new QueryWrapper<>();
|
||||
Condition.appendIfNotEmpty(title, "title#like", qw);
|
||||
Condition.appendIfNotEmpty(type, "type", qw);
|
||||
qw.orderByDesc("top", "created_at");
|
||||
return qw;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,102 @@
|
|||
package com.ydool.boot.api.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
||||
import com.github.xiaoymin.knife4j.annotations.DynamicParameter;
|
||||
import com.github.xiaoymin.knife4j.annotations.DynamicResponseParameters;
|
||||
import com.ydool.boot.common.result.Ret;
|
||||
import com.ydool.boot.core.mybatis.Condition;
|
||||
import com.ydool.boot.modules.rddb.entity.RdNotice;
|
||||
import com.ydool.boot.modules.rddb.service.RdNoticeService;
|
||||
import com.ydool.boot.modules.rddb.vo.RdNoticeVO;
|
||||
import com.ydool.boot.modules.rddb.wrapper.RdNoticeWrapper;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiImplicitParams;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
* @author zhouyuan
|
||||
* @date 2022/7/13
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("/api/rd_notice")
|
||||
@Api(value = "A人大新闻", tags = "A人大新闻")
|
||||
public class ApiRdNoticeController extends ApiBaseController {
|
||||
|
||||
@Autowired
|
||||
private RdNoticeService rdNoticeService;
|
||||
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "pageNo", value = "当前页", dataType = "int", defaultValue = "1"),
|
||||
@ApiImplicitParam(name = "pageSize", value = "显示条数", dataType = "int", defaultValue = "10"),
|
||||
@ApiImplicitParam(name = "title", value = "标题"),
|
||||
@ApiImplicitParam(name = "top", value = "是否置顶0:不置顶;1:置顶", dataType = "int")
|
||||
})
|
||||
@DynamicResponseParameters(properties = {
|
||||
@DynamicParameter(value = "数据", name = "data", dataTypeClass = RdNoticeVO.class)
|
||||
})
|
||||
@ApiOperation("列表")
|
||||
@GetMapping("/list")
|
||||
public void noticeList(@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
|
||||
String title, Integer top) {
|
||||
QueryWrapper<RdNotice> qw = getQueryWrapper(title, top);
|
||||
IPage<RdNotice> paged = rdNoticeService.page(new Page<>(pageNo, pageSize), qw);
|
||||
render(Ret.ok().paged(RdNoticeWrapper.build().pageVO(paged)));
|
||||
}
|
||||
|
||||
@ApiOperationSupport(
|
||||
responses = @DynamicResponseParameters(properties = {
|
||||
@DynamicParameter(value = "数据", name = "data", dataTypeClass = RdNoticeVO.class)
|
||||
})
|
||||
)
|
||||
@ApiOperation("详情")
|
||||
@ApiImplicitParam(name = "id", value = "id", paramType = "path", required = true)
|
||||
@GetMapping("/{id}")
|
||||
public void notice(@PathVariable("id") String id) {
|
||||
RdNotice bean = rdNoticeService.getById(id);
|
||||
if (bean == null) {
|
||||
render(Ret.fail("未找到该通知"));
|
||||
return;
|
||||
}
|
||||
RdNoticeVO rdNoticeVO = RdNoticeWrapper.build().entityVO(bean);
|
||||
render(Ret.ok().data(rdNoticeVO));
|
||||
}
|
||||
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "title", value = "标题", required = true),
|
||||
@ApiImplicitParam(name = "content", value = "内容", required = true),
|
||||
@ApiImplicitParam(name = "noticeDate", value = "通知日期"),
|
||||
@ApiImplicitParam(name = "top", value = "是否置顶0:不置顶;1:置顶"),
|
||||
@ApiImplicitParam(name = "coverNames", value = "封面名,多个英文逗号间隔"),
|
||||
@ApiImplicitParam(name = "coverPaths", value = "封面路径,多个英文逗号间隔"),
|
||||
})
|
||||
@ApiOperation("发布")
|
||||
@PostMapping("/save")
|
||||
public void save(String title, String content, String noticeDate, Integer top,String coverNames,String coverPaths) {
|
||||
RdNotice bean = new RdNotice();
|
||||
bean.setTitle(title);
|
||||
bean.setContent(content);
|
||||
bean.setNoticeDate(noticeDate);
|
||||
bean.setTop(top);
|
||||
bean.setUploadPersonnel(getApiUserId());
|
||||
bean.setCreatedId(getApiUserId());
|
||||
|
||||
boolean flag = rdNoticeService.apiSave(bean,coverNames,coverPaths,getApiUser());
|
||||
render(!flag ? Ret.fail("操作失败") : Ret.ok());
|
||||
}
|
||||
|
||||
private QueryWrapper<RdNotice> getQueryWrapper(String title, Integer top) {
|
||||
QueryWrapper<RdNotice> qw = new QueryWrapper<>();
|
||||
Condition.appendIfNotEmpty(title, "title#like", qw);
|
||||
qw.orderByDesc("top", "created_at");
|
||||
return qw;
|
||||
}
|
||||
|
||||
}
|
|
@ -86,4 +86,7 @@ public class Notice implements Serializable {
|
|||
@TableField(exist = false)
|
||||
private boolean newRecord;
|
||||
|
||||
@NotBlank(message = "公告对象")
|
||||
@ApiModelProperty(value = "公告对象")
|
||||
private String obj;
|
||||
}
|
|
@ -0,0 +1,70 @@
|
|||
package com.ydool.boot.modules.rddb.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ydool.boot.core.entity.BaseEntity;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 人大新闻
|
||||
* </p>
|
||||
*
|
||||
* @author zhouyuan
|
||||
* @since 2022-07-13
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("t_rd_notice")
|
||||
public class RdNotice extends BaseEntity{
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
private String createdId;
|
||||
|
||||
/**
|
||||
* 更新者
|
||||
*/
|
||||
private String updatedId;
|
||||
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 内容
|
||||
*/
|
||||
private String content;
|
||||
|
||||
/**
|
||||
* 通知日期
|
||||
*/
|
||||
@DateTimeFormat(
|
||||
pattern = "yyyy-MM-dd HH:mm:ss"
|
||||
)
|
||||
@JsonFormat(
|
||||
pattern = "yyyy-MM-dd HH:mm:ss"
|
||||
)
|
||||
@ApiModelProperty(value = "计划时间")
|
||||
private String noticeDate;
|
||||
|
||||
/**
|
||||
* 上传人员
|
||||
*/
|
||||
private String uploadPersonnel;
|
||||
|
||||
/**
|
||||
* 0:不置顶;1:置顶
|
||||
*/
|
||||
private Integer top;
|
||||
@TableField(exist = false)
|
||||
private boolean newRecord;
|
||||
}
|
|
@ -0,0 +1,54 @@
|
|||
package com.ydool.boot.modules.rddb.entity;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.ydool.boot.core.entity.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 人大新闻附件
|
||||
* </p>
|
||||
*
|
||||
* @author zhouyuan
|
||||
* @since 2022-07-13
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("t_rd_notice_attachment")
|
||||
@Accessors(chain = true)
|
||||
public class RdNoticeAttachment extends BaseEntity{
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
private String createdId;
|
||||
|
||||
/**
|
||||
* 更新者
|
||||
*/
|
||||
private String updatedId;
|
||||
|
||||
/**
|
||||
* 人大新闻id
|
||||
*/
|
||||
private String rdNoticeId;
|
||||
|
||||
/**
|
||||
* 附件名
|
||||
*/
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 附件路径
|
||||
*/
|
||||
private String attachment;
|
||||
|
||||
/**
|
||||
* 文件大小
|
||||
*/
|
||||
private String size;
|
||||
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
package com.ydool.boot.modules.rddb.entity.bo;
|
||||
|
||||
import com.ydool.boot.modules.rddb.entity.RdNotice;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author zhouyuan
|
||||
* @date 2022/6/16 15:52
|
||||
*/
|
||||
@Data
|
||||
public class RdNoticeBo extends RdNotice {
|
||||
String coverAttachmentArrStr;
|
||||
}
|
|
@ -20,7 +20,7 @@ public class MyGenerator {
|
|||
public static void main(String[] args) {
|
||||
|
||||
//表名
|
||||
String tableName = "t_notice_attachment";
|
||||
String tableName = "t_rd_notice_attachment";
|
||||
//表前缀
|
||||
String tablePrefix = "t_";
|
||||
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
package com.ydool.boot.modules.rddb.mapper;
|
||||
|
||||
import com.ydool.boot.modules.rddb.entity.RdNoticeAttachment;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 人大新闻附件 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author zhouyuan
|
||||
* @since 2022-07-13
|
||||
*/
|
||||
public interface RdNoticeAttachmentMapper extends BaseMapper<RdNoticeAttachment> {
|
||||
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
package com.ydool.boot.modules.rddb.mapper;
|
||||
|
||||
import com.ydool.boot.modules.rddb.entity.RdNotice;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 人大新闻 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author zhouyuan
|
||||
* @since 2022-07-13
|
||||
*/
|
||||
public interface RdNoticeMapper extends BaseMapper<RdNotice> {
|
||||
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.ydool.boot.modules.rddb.mapper.RdNoticeAttachmentMapper">
|
||||
|
||||
</mapper>
|
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.ydool.boot.modules.rddb.mapper.RdNoticeMapper">
|
||||
|
||||
</mapper>
|
|
@ -0,0 +1,19 @@
|
|||
package com.ydool.boot.modules.rddb.service;
|
||||
|
||||
import com.ydool.boot.core.service.BaseService;
|
||||
import com.ydool.boot.modules.rddb.entity.RdNoticeAttachment;
|
||||
import com.ydool.boot.modules.rddb.mapper.RdNoticeAttachmentMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 人大新闻附件 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author zhouyuan
|
||||
* @since 2022-07-13
|
||||
*/
|
||||
@Service
|
||||
public class RdNoticeAttachmentService extends BaseService<RdNoticeAttachmentMapper, RdNoticeAttachment> {
|
||||
|
||||
}
|
|
@ -0,0 +1,113 @@
|
|||
package com.ydool.boot.modules.rddb.service;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.ydool.boot.core.service.BaseService;
|
||||
import com.ydool.boot.modules.rddb.entity.RdNotice;
|
||||
import com.ydool.boot.modules.rddb.entity.RdNoticeAttachment;
|
||||
import com.ydool.boot.modules.rddb.entity.bo.RdNoticeBo;
|
||||
import com.ydool.boot.modules.rddb.mapper.RdNoticeMapper;
|
||||
import com.ydool.boot.modules.sys.entity.User;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 人大新闻 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author zhouyuan
|
||||
* @since 2022-07-13
|
||||
*/
|
||||
@Service
|
||||
public class RdNoticeService extends BaseService<RdNoticeMapper, RdNotice> {
|
||||
|
||||
@Autowired
|
||||
RdNoticeAttachmentService rdNoticeAttachmentService;
|
||||
|
||||
@Transactional
|
||||
public boolean saveOrUpdate(RdNoticeBo rdNoticeBo, User loginUser) {
|
||||
boolean flag;
|
||||
RdNotice entity = BeanUtil.copyProperties(rdNoticeBo, RdNotice.class);
|
||||
if (StrUtil.isBlank(entity.getId())) {
|
||||
//新增
|
||||
entity.setCreatedId(loginUser.getId());
|
||||
entity.setCreatedAt(LocalDateTime.now());
|
||||
entity.setUpdatedAt(LocalDateTime.now());
|
||||
if (entity.getTop() == null) {
|
||||
entity.setTop(0);
|
||||
}
|
||||
flag = this.save(entity);
|
||||
} else {
|
||||
//修改
|
||||
entity.setUpdatedId(loginUser.getId());
|
||||
entity.setUpdatedAt(LocalDateTime.now());
|
||||
if (entity.getTop() == null) {
|
||||
entity.setTop(0);
|
||||
}
|
||||
flag = this.updateById(entity);
|
||||
}
|
||||
//附件
|
||||
String coverAttachmentArrStr = rdNoticeBo.getCoverAttachmentArrStr();
|
||||
saveAttachment(entity.getId(), coverAttachmentArrStr, loginUser);
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param noticeId
|
||||
* @param attachmentArrStr
|
||||
* @param loginUser
|
||||
*/
|
||||
private void saveAttachment(String noticeId, String attachmentArrStr, User loginUser) {
|
||||
rdNoticeAttachmentService.remove(new LambdaQueryWrapper<RdNoticeAttachment>()
|
||||
.eq(RdNoticeAttachment::getRdNoticeId, noticeId)
|
||||
);
|
||||
if (StrUtil.isNotBlank(attachmentArrStr)) {
|
||||
List<RdNoticeAttachment> attachmentList = JSONObject.parseArray(attachmentArrStr, RdNoticeAttachment.class);
|
||||
attachmentList.forEach(item -> {
|
||||
item.setRdNoticeId(noticeId);
|
||||
item.setCreatedId(loginUser.getId());
|
||||
item.setCreatedAt(LocalDateTime.now());
|
||||
});
|
||||
rdNoticeAttachmentService.saveBatch(attachmentList);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param noticeId
|
||||
* @param attachmentName
|
||||
* @param attachmentPath
|
||||
* @param loginUser
|
||||
*/
|
||||
private void saveAttachment(String noticeId, String attachmentName, String attachmentPath, User loginUser) {
|
||||
rdNoticeAttachmentService.remove(new LambdaQueryWrapper<RdNoticeAttachment>()
|
||||
.eq(RdNoticeAttachment::getRdNoticeId, noticeId)
|
||||
);
|
||||
if (StrUtil.isNotBlank(attachmentName)) {
|
||||
String[] nameArr = attachmentName.split(",");
|
||||
String[] pathArr = attachmentPath.split(",");
|
||||
for (int i = 0; i < nameArr.length; i++) {
|
||||
RdNoticeAttachment rdNoticeAttachment = new RdNoticeAttachment();
|
||||
rdNoticeAttachment.setRdNoticeId(noticeId)
|
||||
.setTitle(nameArr[i])
|
||||
.setAttachment(pathArr[i])
|
||||
.setCreatedId(loginUser.getId())
|
||||
.setCreatedAt(LocalDateTime.now());
|
||||
rdNoticeAttachmentService.save(rdNoticeAttachment);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public boolean apiSave(RdNotice rdNotice, String coverNames, String coverPaths, User loginUser) {
|
||||
boolean flag = saveOrUpdate(rdNotice);
|
||||
saveAttachment(rdNotice.getId(), coverNames, coverPaths, loginUser);
|
||||
return flag;
|
||||
}
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
package com.ydool.boot.modules.rddb.service.inter;
|
||||
|
||||
import com.ydool.boot.modules.rddb.entity.NoticeAttachment;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 通知公告附件 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author zhouyuan
|
||||
* @since 2022-06-16
|
||||
*/
|
||||
public interface INoticeAttachmentService extends IService<NoticeAttachment> {
|
||||
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
package com.ydool.boot.modules.rddb.service.inter;
|
||||
|
||||
import com.ydool.boot.modules.rddb.entity.RdNoticeAttachment;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 人大新闻附件 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author zhouyuan
|
||||
* @since 2022-07-13
|
||||
*/
|
||||
public interface IRdNoticeAttachmentService extends IService<RdNoticeAttachment> {
|
||||
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
package com.ydool.boot.modules.rddb.vo;
|
||||
|
||||
import com.ydool.boot.modules.rddb.entity.RdNotice;
|
||||
import com.ydool.boot.modules.rddb.entity.RdNoticeAttachment;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author chenchen
|
||||
* @date 2020/07/28
|
||||
*/
|
||||
@Data
|
||||
public class RdNoticeVO extends RdNotice {
|
||||
|
||||
/**
|
||||
* 创建者姓名
|
||||
*/
|
||||
private String createdName;
|
||||
|
||||
@ApiModelProperty(value = "封面附件 一个在右边,多个在下边,最多显示三张")
|
||||
List<RdNoticeAttachment> coverAttachmentList;
|
||||
}
|
|
@ -24,7 +24,6 @@ import org.springframework.web.bind.annotation.GetMapping;
|
|||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
@ -35,8 +34,8 @@ import java.util.List;
|
|||
@RequestMapping("${ydool.path}/rddb/notice")
|
||||
public class NoticeController extends BaseAdminController {
|
||||
|
||||
@Resource
|
||||
private NoticeService noticeService;
|
||||
@Autowired
|
||||
NoticeService noticeService;
|
||||
|
||||
@Autowired
|
||||
NoticeAttachmentService noticeAttachmentService;
|
||||
|
@ -55,7 +54,7 @@ public class NoticeController extends BaseAdminController {
|
|||
}
|
||||
|
||||
@GetMapping("/form")
|
||||
public String form(String id, Model model) throws Exception{
|
||||
public String form(String id, Model model,String type) throws Exception {
|
||||
Notice bean = new Notice();
|
||||
bean.setNewRecord(true);
|
||||
if (StrUtil.isNotBlank(id)) {
|
||||
|
@ -66,16 +65,20 @@ public class NoticeController extends BaseAdminController {
|
|||
.eq(NoticeAttachment::getNoticeId, id)
|
||||
.orderByDesc(NoticeAttachment::getCreatedAt));
|
||||
model.addAttribute("coverAttachmentListStr", JsonMapper.getInstance().writeValueAsString(coverAttachmentList));
|
||||
if(StrUtil.isBlank(type)) type= bean.getType();
|
||||
}
|
||||
NoticeVO noticeVO = NoticeWrapper.build().entityVO(bean);
|
||||
model.addAttribute("bean", noticeVO);
|
||||
if("gg".equals(type)){
|
||||
return "modules/rddb/notice/form_gg.html";
|
||||
}
|
||||
return "modules/rddb/notice/form.html";
|
||||
}
|
||||
|
||||
@PreAuth("rddb:policy:save")
|
||||
@PostMapping("/save")
|
||||
public void save(@Validated NoticeBo noticeBo) {
|
||||
boolean flag = noticeService.saveOrUpdate(noticeBo,getLoginUser());
|
||||
boolean flag = noticeService.saveOrUpdate(noticeBo, getLoginUser());
|
||||
render(flag ? Ret.ok() : Ret.fail("操作失败"));
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
package com.ydool.boot.modules.rddb.web;
|
||||
|
||||
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import org.springframework.stereotype.Controller;
|
||||
import com.ydool.boot.core.web.BaseController;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 人大新闻附件 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author zhouyuan
|
||||
* @since 2022-07-13
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("/rddb/rdNoticeAttachment")
|
||||
public class RdNoticeAttachmentController extends BaseController {
|
||||
|
||||
}
|
|
@ -0,0 +1,101 @@
|
|||
package com.ydool.boot.modules.rddb.web;
|
||||
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ydool.boot.common.json.JsonMapper;
|
||||
import com.ydool.boot.common.result.Ret;
|
||||
import com.ydool.boot.core.auth.PreAuth;
|
||||
import com.ydool.boot.modules.rddb.entity.RdNotice;
|
||||
import com.ydool.boot.modules.rddb.entity.RdNoticeAttachment;
|
||||
import com.ydool.boot.modules.rddb.entity.bo.RdNoticeBo;
|
||||
import com.ydool.boot.modules.rddb.service.RdNoticeAttachmentService;
|
||||
import com.ydool.boot.modules.rddb.service.RdNoticeService;
|
||||
import com.ydool.boot.modules.rddb.vo.RdNoticeVO;
|
||||
import com.ydool.boot.modules.rddb.wrapper.RdNoticeWrapper;
|
||||
import com.ydool.boot.modules.sys.web.BaseAdminController;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 人大新闻 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author zhouyuan
|
||||
* @since 2022-07-13
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("${ydool.path}/rddb/rd_notice")
|
||||
public class RdNoticeController extends BaseAdminController {
|
||||
|
||||
@Autowired
|
||||
RdNoticeService rdNoticeService;
|
||||
|
||||
@Autowired
|
||||
RdNoticeAttachmentService rdNoticeAttachmentService;
|
||||
|
||||
@GetMapping("")
|
||||
public String index() {
|
||||
return "modules/rddb/rd_notice/index.html";
|
||||
}
|
||||
|
||||
@PreAuth("rddb:rd_notice:list")
|
||||
@PostMapping("/list")
|
||||
public void list(RdNotice rdNotice) {
|
||||
QueryWrapper<RdNotice> qw = getQueryWrapper(rdNotice.getTitle());
|
||||
IPage<RdNotice> paged = rdNoticeService.page(new Page<>(getPageNum(), getPageSize()), qw);
|
||||
render(Ret.ok().paged(RdNoticeWrapper.build().pageVO(paged)));
|
||||
}
|
||||
|
||||
@GetMapping("/form")
|
||||
public String form(String id, Model model) throws Exception{
|
||||
RdNotice bean = new RdNotice();
|
||||
bean.setNewRecord(true);
|
||||
if (StrUtil.isNotBlank(id)) {
|
||||
bean = rdNoticeService.getById(id);
|
||||
bean.setNewRecord(false);
|
||||
|
||||
List<RdNoticeAttachment> coverAttachmentList = rdNoticeAttachmentService.list(new LambdaQueryWrapper<RdNoticeAttachment>()
|
||||
.eq(RdNoticeAttachment::getRdNoticeId, id)
|
||||
.orderByDesc(RdNoticeAttachment::getCreatedAt));
|
||||
model.addAttribute("coverAttachmentListStr", JsonMapper.getInstance().writeValueAsString(coverAttachmentList));
|
||||
}
|
||||
RdNoticeVO rdNoticeVO = RdNoticeWrapper.build().entityVO(bean);
|
||||
model.addAttribute("bean", rdNoticeVO);
|
||||
return "modules/rddb/rd_notice/form.html";
|
||||
}
|
||||
|
||||
@PreAuth("rddb:rd_notice:save")
|
||||
@PostMapping("/save")
|
||||
public void save(@Validated RdNoticeBo rdNoticeBo) {
|
||||
boolean flag = rdNoticeService.saveOrUpdate(rdNoticeBo,getLoginUser());
|
||||
render(flag ? Ret.ok() : Ret.fail("操作失败"));
|
||||
}
|
||||
|
||||
@PostMapping("/delete")
|
||||
public void delete(String id) {
|
||||
boolean flag = rdNoticeService.removeById(id);
|
||||
renderJson(!flag ? Ret.fail("操作失败") : Ret.ok());
|
||||
}
|
||||
|
||||
private QueryWrapper<RdNotice> getQueryWrapper(String keywords) {
|
||||
QueryWrapper<RdNotice> queryWrapper = new QueryWrapper<>();
|
||||
if (!StrUtil.isBlankOrUndefined(keywords)) {
|
||||
queryWrapper.like("title", keywords);
|
||||
}
|
||||
queryWrapper.orderByDesc("created_at");
|
||||
return queryWrapper;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,42 @@
|
|||
package com.ydool.boot.modules.rddb.wrapper;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.ydool.boot.common.utils.SpringUtils;
|
||||
import com.ydool.boot.core.wrapper.BaseWrapper;
|
||||
import com.ydool.boot.modules.rddb.entity.RdNotice;
|
||||
import com.ydool.boot.modules.rddb.entity.RdNoticeAttachment;
|
||||
import com.ydool.boot.modules.rddb.service.RdNoticeAttachmentService;
|
||||
import com.ydool.boot.modules.rddb.vo.RdNoticeVO;
|
||||
import com.ydool.boot.modules.sys.entity.User;
|
||||
import com.ydool.boot.modules.sys.service.UserService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author zhouyuan
|
||||
* @date 2022/07/13
|
||||
*/
|
||||
public class RdNoticeWrapper extends BaseWrapper<RdNotice, RdNoticeVO> {
|
||||
|
||||
public static RdNoticeWrapper build() {
|
||||
return new RdNoticeWrapper();
|
||||
}
|
||||
|
||||
@Override
|
||||
public RdNoticeVO entityVO(RdNotice rdNotice) {
|
||||
RdNoticeVO rdNoticeVO = BeanUtil.copyProperties(rdNotice, RdNoticeVO.class);
|
||||
UserService userService = SpringUtils.getBean(UserService.class);
|
||||
RdNoticeAttachmentService rdNoticeAttachmentService = SpringUtils.getBean(RdNoticeAttachmentService.class);
|
||||
User createUser = userService.getById(rdNotice.getCreatedId());
|
||||
if (createUser != null) {
|
||||
rdNoticeVO.setCreatedName(createUser.getUserName());
|
||||
}
|
||||
List<RdNoticeAttachment> coverAttachmentList = rdNoticeAttachmentService.list(new LambdaQueryWrapper<RdNoticeAttachment>()
|
||||
.eq(RdNoticeAttachment::getRdNoticeId, rdNotice.getId())
|
||||
.orderByDesc(RdNoticeAttachment::getCreatedAt));
|
||||
rdNoticeVO.setCoverAttachmentList(coverAttachmentList);
|
||||
return rdNoticeVO;
|
||||
}
|
||||
|
||||
}
|
|
@ -1 +1 @@
|
|||
*{box-sizing:border-box}body{background-color:#f8f8f8}body,button,input,select,textarea{font-family:PingFang SC,PingFang SC-Bold!important}img{max-width:100%}table{width:100%!important}#app{height:100%;display:flex;flex-direction:column}.van-tabs__line{background-color:#d03a29}.van-pagination{min-height:1.06667rem}.van-search{min-height:1.44rem}.van-tabs--line .van-tabs__wrap{min-height:1.17333rem}.navVar-box[data-v-fe379062]{min-height:1.22667rem}.navVar-box .van-nav-bar[data-v-fe379062]{background-color:#d03a29}.navVar-box .van-nav-bar[data-v-fe379062] .van-icon,.navVar-box .van-nav-bar[data-v-fe379062] .van-nav-bar__left,.navVar-box .van-nav-bar[data-v-fe379062] .van-nav-bar__right,.navVar-box .van-nav-bar[data-v-fe379062] .van-nav-bar__title{font-size:.42667rem;color:#fff}.navVar-box .van-nav-bar[data-v-fe379062] .van-nav-bar__title{font-weight:700}.navVar-box .van-nav-bar[data-v-fe379062] .van-nav-bar__right .right{display:flex;align-items:center}.tabbar[data-v-d1a81e0c]{min-height:1.33333rem}blockquote,body,button,dd,dl,dt,fieldset,h1,h2,h3,h4,h5,h6,hr,input,lengend,li,ol,p,pre,td,textarea,th,ul{margin:0;padding:0}body,button,input,select,textarea{font:.32rem/1 Tahoma,Helvetica,Arial,"\5b8b\4f53",sans-serif}h1{font-size:.48rem}h2{font-size:.42667rem}h3{font-size:.37333rem}h4,h5,h6{font-size:100%}address,cite,dfn,em,var{font-style:normal}code,kbd,pre,samp,tt{font-family:Courier New,Courier,monospace}small{font-size:.32rem}ol,ul{list-style:none}a{text-decoration:none}a:hover{text-decoration:underline}abbr[title],acronym[title]{border-bottom:.02667rem dotted;cursor:help}q:after,q:before{content:""}legend{color:#000}fieldset,img{border:none}button,input,select,textarea{font-size:100%}table{border-collapse:collapse;border-spacing:0}hr{border:none;height:.02667rem}body,html{height:100%}.w-100{width:100%}.h-100{height:100%}.text-overflow{white-space:nowrap}.more-overflow,.text-overflow{overflow:hidden;text-overflow:ellipsis}.more-overflow{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
|
||||
*{box-sizing:border-box}body{background-color:#f8f8f8}body,button,input,select,textarea{font-family:PingFang SC,PingFang SC-Bold!important}img{max-width:100%}table{width:100%!important}#app{height:100%;display:flex;flex-direction:column}.van-tabs__line{background-color:#d03a29}.van-pagination{min-height:1.06667rem}.van-search{min-height:1.44rem}.van-tabs--line .van-tabs__wrap{min-height:1.17333rem}.navVar-box[data-v-fe379062]{min-height:1.22667rem}.navVar-box .van-nav-bar[data-v-fe379062]{background-color:#d03a29}.navVar-box .van-nav-bar[data-v-fe379062] .van-icon,.navVar-box .van-nav-bar[data-v-fe379062] .van-nav-bar__left,.navVar-box .van-nav-bar[data-v-fe379062] .van-nav-bar__right,.navVar-box .van-nav-bar[data-v-fe379062] .van-nav-bar__title{font-size:.42667rem;color:#fff}.navVar-box .van-nav-bar[data-v-fe379062] .van-nav-bar__title{font-weight:700}.navVar-box .van-nav-bar[data-v-fe379062] .van-nav-bar__right .right{display:flex;align-items:center}.tabbar[data-v-3ee714f8]{min-height:1.33333rem}blockquote,body,button,dd,dl,dt,fieldset,h1,h2,h3,h4,h5,h6,hr,input,lengend,li,ol,p,pre,td,textarea,th,ul{margin:0;padding:0}body,button,input,select,textarea{font:.32rem/1 Tahoma,Helvetica,Arial,"\5b8b\4f53",sans-serif}h1{font-size:.48rem}h2{font-size:.42667rem}h3{font-size:.37333rem}h4,h5,h6{font-size:100%}address,cite,dfn,em,var{font-style:normal}code,kbd,pre,samp,tt{font-family:Courier New,Courier,monospace}small{font-size:.32rem}ol,ul{list-style:none}a{text-decoration:none}a:hover{text-decoration:underline}abbr[title],acronym[title]{border-bottom:.02667rem dotted;cursor:help}q:after,q:before{content:""}legend{color:#000}fieldset,img{border:none}button,input,select,textarea{font-size:100%}table{border-collapse:collapse;border-spacing:0}hr{border:none;height:.02667rem}body,html{height:100%}.w-100{width:100%}.h-100{height:100%}.text-overflow{white-space:nowrap}.more-overflow,.text-overflow{overflow:hidden;text-overflow:ellipsis}.more-overflow{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
|
|
@ -0,0 +1 @@
|
|||
.news[data-v-481c0c76]{margin:0 .42667rem;border-bottom:.02667rem solid #f3f3f3}.news[data-v-481c0c76]:last-of-type{border-bottom:none}.news .newList2[data-v-481c0c76]{padding:.42667rem 0}.news .newList2 .top[data-v-481c0c76]{font-size:.37333rem;color:#333;line-height:.58667rem;font-weight:700}.news .newList2 .imgarr[data-v-481c0c76]{display:flex;margin-top:.21333rem}.news .newList2 .imgarr img[data-v-481c0c76]{width:30%;margin-right:3%;height:auto;-o-object-fit:cover;object-fit:cover}.news .newList2 .newdate[data-v-481c0c76]{font-size:.32rem;color:#999;line-height:.45333rem;margin-top:.21333rem}.news .newList[data-v-481c0c76]{display:flex;justify-content:space-between;padding:.42667rem 0}.news .newList .newleft[data-v-481c0c76]{display:flex;flex-direction:column;justify-content:space-between}.news .newList .newleft .newtitle[data-v-481c0c76]{font-size:.37333rem;color:#333;line-height:.58667rem;font-weight:700}.news .newList .newleft .newdate[data-v-481c0c76]{font-size:.32rem;color:#999;line-height:.45333rem;margin-top:.10667rem}.news .newList .newimg[data-v-481c0c76]{margin-left:.26667rem;width:3.33333rem;height:2.24rem;-o-object-fit:cover;object-fit:cover}.muloverellipse[data-v-481c0c76]{word-break:break-all;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.notice[data-v-481c0c76]{min-height:100%;background-color:#fff;display:flex;flex-direction:column;overflow:auto}.list[data-v-481c0c76]{flex:1}.list .item[data-v-481c0c76]{position:relative;padding:.53333rem .42667rem;display:flex;align-items:center}.list .item[data-v-481c0c76]:not(:last-child):after{content:"";position:absolute;bottom:0;left:.42667rem;right:.42667rem;height:.02667rem;background-color:#f3f3f3}.list .item .tag[data-v-481c0c76]{margin-right:.10667rem;border-radius:.21333rem;font-size:.26667rem;vertical-align:middle}.list .item .title[data-v-481c0c76]{flex:1;font-size:.37333rem;color:#333;line-height:.53333rem;font-weight:700}.list .item .icon[data-v-481c0c76]{margin-left:.8rem;font-size:.32rem}.add[data-v-481c0c76]{position:fixed;bottom:26%;right:0;width:2.72rem;z-index:999}
|
File diff suppressed because one or more lines are too long
|
@ -1 +0,0 @@
|
|||
.list[data-v-2cbaa788]{padding:.34667rem .42667rem}.list .item[data-v-2cbaa788]{display:flex;align-items:center;padding:.69333rem .42667rem;background-color:#fff;border-radius:.10667rem;margin-bottom:.32rem}.list .item .icon[data-v-2cbaa788]{width:.53333rem;margin-right:.26667rem}.list .item .title[data-v-2cbaa788]{flex:1;font-size:.42667rem;color:#333;line-height:.58667rem}.list .item .van-icon[data-v-2cbaa788]{font-size:.37333rem}
|
|
@ -0,0 +1 @@
|
|||
.onlyImg[data-v-67b089e7]{display:flex;justify-content:space-between}.onlyImg .img[data-v-67b089e7]{margin-left:.32rem;width:2.13333rem;height:2.13333rem;-o-object-fit:cover;object-fit:cover}.mulimg .imglist[data-v-67b089e7]{margin-top:.16rem;display:flex;flex-wrap:wrap}.mulimg .imglist img[data-v-67b089e7]{width:30%;margin-right:2%;height:auto}.page[data-v-67b089e7]{min-height:100%;background-color:#fff}.notice[data-v-67b089e7]{padding:.42667rem}.title[data-v-67b089e7]{font-size:.4rem;color:#333;line-height:.53333rem;font-weight:700}.date[data-v-67b089e7]{margin-top:.16rem;font-size:.32rem;color:#999;line-height:.45333rem}.content[data-v-67b089e7]{font-size:.37333rem;color:#333;line-height:.64rem;margin-top:.21333rem}
|
|
@ -0,0 +1 @@
|
|||
.news[data-v-6da506b6]{margin:0 .42667rem;border-bottom:.02667rem solid #f3f3f3}.news[data-v-6da506b6]:last-of-type{border-bottom:none}.news .newList2[data-v-6da506b6]{padding:.42667rem 0}.news .newList2 .top[data-v-6da506b6]{font-size:.37333rem;color:#333;line-height:.58667rem;font-weight:700}.news .newList2 .imgarr[data-v-6da506b6]{display:flex;margin-top:.21333rem}.news .newList2 .imgarr img[data-v-6da506b6]{width:30%;margin-right:3%;height:auto;-o-object-fit:cover;object-fit:cover}.news .newList2 .newdate[data-v-6da506b6]{font-size:.32rem;color:#999;line-height:.45333rem;margin-top:.21333rem}.news .newList[data-v-6da506b6]{display:flex;justify-content:space-between;padding:.42667rem 0}.news .newList .newleft[data-v-6da506b6]{display:flex;flex-direction:column;justify-content:space-between}.news .newList .newleft .newtitle[data-v-6da506b6]{font-size:.37333rem;color:#333;line-height:.58667rem;font-weight:700}.news .newList .newleft .newdate[data-v-6da506b6]{font-size:.32rem;color:#999;line-height:.45333rem;margin-top:.10667rem}.news .newList .newimg[data-v-6da506b6]{margin-left:.26667rem;width:3.33333rem;height:2.24rem;-o-object-fit:cover;object-fit:cover}.muloverellipse[data-v-6da506b6]{word-break:break-all;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.notice[data-v-6da506b6]{min-height:100%;background-color:#fff;display:flex;flex-direction:column;overflow:auto}.list[data-v-6da506b6]{flex:1}.list .item[data-v-6da506b6]{position:relative;padding:.53333rem .42667rem;display:flex;align-items:center}.list .item[data-v-6da506b6]:not(:last-child):after{content:"";position:absolute;bottom:0;left:.42667rem;right:.42667rem;height:.02667rem;background-color:#f3f3f3}.list .item .tag[data-v-6da506b6]{margin-right:.10667rem;border-radius:.21333rem;font-size:.26667rem;vertical-align:middle}.list .item .title[data-v-6da506b6]{flex:1;font-size:.37333rem;color:#333;line-height:.53333rem;font-weight:700}.list .item .icon[data-v-6da506b6]{margin-left:.8rem;font-size:.32rem}.add[data-v-6da506b6]{position:fixed;bottom:26%;right:0;width:2.72rem;z-index:999}
|
|
@ -1 +0,0 @@
|
|||
.news[data-v-21b5e9dc]{margin:0 .42667rem;border-bottom:.02667rem solid #f3f3f3}.news[data-v-21b5e9dc]:last-of-type{border-bottom:none}.news .newList2[data-v-21b5e9dc]{padding:.42667rem 0}.news .newList2 .top[data-v-21b5e9dc]{font-size:.37333rem;color:#333;line-height:.58667rem;font-weight:700}.news .newList2 .imgarr[data-v-21b5e9dc]{display:flex;margin-top:.21333rem}.news .newList2 .imgarr img[data-v-21b5e9dc]{width:30%;margin-right:3%;height:auto;-o-object-fit:cover;object-fit:cover}.news .newList2 .newdate[data-v-21b5e9dc]{font-size:.32rem;color:#999;line-height:.45333rem;margin-top:.21333rem}.news .newList[data-v-21b5e9dc]{display:flex;justify-content:space-between;padding:.42667rem 0}.news .newList .newleft[data-v-21b5e9dc]{display:flex;flex-direction:column;justify-content:space-between}.news .newList .newleft .newtitle[data-v-21b5e9dc]{font-size:.37333rem;color:#333;line-height:.58667rem;font-weight:700}.news .newList .newleft .newdate[data-v-21b5e9dc]{font-size:.32rem;color:#999;line-height:.45333rem;margin-top:.10667rem}.news .newList .newimg[data-v-21b5e9dc]{margin-left:.26667rem;width:3.33333rem;height:2.24rem;-o-object-fit:cover;object-fit:cover}.muloverellipse[data-v-21b5e9dc]{word-break:break-all;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.box-item[data-v-21b5e9dc]{background-color:#fff;margin-bottom:.32rem}.box-item .boxtitle[data-v-21b5e9dc]{display:flex;align-items:center;padding:.53333rem .42667rem}.box-item .boxtitle[data-v-21b5e9dc]:before{content:"";display:block;width:.10667rem;height:.42667rem;background-color:#d03a29;margin-right:.21333rem}.box-item .boxtitle .title_text[data-v-21b5e9dc]{font-size:.48rem;color:#333;font-weight:700}.box-item .boxtitle .more[data-v-21b5e9dc]{margin-left:auto;font-size:.37333rem;color:#999}.box-item .notice .item[data-v-21b5e9dc]{position:relative;padding:.50667rem .42667rem;display:flex;align-items:center}.box-item .notice .item[data-v-21b5e9dc]:not(:last-child):after{content:"";position:absolute;bottom:0;left:.42667rem;right:0;height:.02667rem;background-color:#f3f3f3}.box-item .notice .item .title[data-v-21b5e9dc]{flex:1;font-size:.37333rem;color:#333;line-height:.58667rem;font-weight:700}.box-item .notice .item .title .tag[data-v-21b5e9dc]{color:#d03a29;margin-right:.10667rem;border-radius:.26667rem;padding:.02667rem .16rem;font-size:.32rem;vertical-align:middle}.box-item .notice .item .icon[data-v-21b5e9dc]{margin-left:.8rem;font-size:.32rem}.box-item .grassrootsNews .item[data-v-21b5e9dc]{position:relative;padding:.4rem .42667rem;display:flex}.box-item .grassrootsNews .item[data-v-21b5e9dc]:not(:last-child):after{content:"";position:absolute;bottom:0;left:.42667rem;right:.42667rem;height:.02667rem;background-color:#f3f3f3}.box-item .grassrootsNews .item .info[data-v-21b5e9dc]{width:0;flex:1}.box-item .grassrootsNews .item .info .title[data-v-21b5e9dc]{flex:1;font-size:.37333rem;color:#333;line-height:.58667rem;font-weight:700}.box-item .grassrootsNews .item .info .text[data-v-21b5e9dc]{font-size:.32rem;color:#999;line-height:.45333rem;margin-top:.10667rem}.box-item .grassrootsNews .item .img[data-v-21b5e9dc]{margin-left:.26667rem;width:3.33333rem;height:2.24rem;-o-object-fit:cover;object-fit:cover}
|
|
@ -1 +0,0 @@
|
|||
.filecontent[data-v-26533e13]{margin:.32rem 0;padding:.42667rem;background:#fff}.filecontent[data-v-26533e13] .van-cell{background-color:#f8f8f8}.filecontent .p1[data-v-26533e13]{font-size:.42667rem;font-family:PingFang SC,PingFang SC-Bold;font-weight:700;color:#333;line-height:.53333rem;margin-bottom:.32rem}.form .van-cell[data-v-26533e13]{margin-bottom:.32rem}.form .van-cell[data-v-26533e13] .van-cell__title{font-size:.42667rem;color:#333;font-weight:700}.form .van-cell[data-v-26533e13] .van-cell__value{font-size:.37333rem}.form .van-cell .van-icon[data-v-26533e13]:before{vertical-align:middle;margin-left:.21333rem}.form .textarea[data-v-26533e13]{flex-direction:column}.form .textarea[data-v-26533e13] .van-cell__value{margin-top:.32rem;background-color:#f8f8f8;padding:.32rem}.form .van-button[data-v-26533e13]{display:block;width:8.50667rem;height:1.06667rem;margin:1.38667rem auto .42667rem;background-color:#d03a29;border-color:#d03a29;font-size:.37333rem;color:#fff;line-height:1.06667rem;font-weight:700;border-radius:.10667rem}
|
|
@ -0,0 +1 @@
|
|||
.filecontent[data-v-126f3bdf]{margin:.32rem 0;padding:.42667rem;background:#fff}.filecontent[data-v-126f3bdf] .van-cell{background-color:#f8f8f8}.filecontent .p1[data-v-126f3bdf]{font-size:.42667rem;font-family:PingFang SC,PingFang SC-Bold;font-weight:700;color:#333;line-height:.53333rem;margin-bottom:.32rem}.form .van-cell[data-v-126f3bdf]{margin-bottom:.32rem}.form .van-cell[data-v-126f3bdf] .van-cell__title{font-size:.42667rem;color:#333;font-weight:700}.form .van-cell[data-v-126f3bdf] .van-cell__value{font-size:.37333rem}.form .van-cell .van-icon[data-v-126f3bdf]:before{vertical-align:middle;margin-left:.21333rem}.form .textarea[data-v-126f3bdf]{flex-direction:column}.form .textarea[data-v-126f3bdf] .van-cell__value{margin-top:.32rem;background-color:#f8f8f8;padding:.32rem}.form .van-button[data-v-126f3bdf]{display:block;width:8.50667rem;height:1.06667rem;margin:1.38667rem auto .42667rem;background-color:#d03a29;border-color:#d03a29;font-size:.37333rem;color:#fff;line-height:1.06667rem;font-weight:700;border-radius:.10667rem}
|
|
@ -0,0 +1 @@
|
|||
.list[data-v-789b3e4a]{padding:.34667rem .42667rem 0}.list .item[data-v-789b3e4a]{display:flex;align-items:center;padding:.69333rem .42667rem;background-color:#fff;border-radius:.10667rem;margin-bottom:.32rem}.list .item .icon[data-v-789b3e4a]{width:.53333rem;margin-right:.26667rem}.list .item .title[data-v-789b3e4a]{flex:1;font-size:.42667rem;color:#333;line-height:.58667rem}.list .item .van-icon[data-v-789b3e4a]{font-size:.37333rem}
|
|
@ -0,0 +1 @@
|
|||
.filecontent[data-v-0ae74f24]{margin:.32rem 0;padding:.42667rem;background:#fff}.filecontent[data-v-0ae74f24] .van-cell{background-color:#f8f8f8}.filecontent .p1[data-v-0ae74f24]{font-size:.42667rem;font-family:PingFang SC,PingFang SC-Bold;font-weight:700;color:#333;line-height:.53333rem;margin-bottom:.32rem}.form .van-cell[data-v-0ae74f24]{margin-bottom:.32rem}.form .van-cell[data-v-0ae74f24] .van-cell__title{font-size:.42667rem;color:#333;font-weight:700}.form .van-cell[data-v-0ae74f24] .van-cell__value{font-size:.37333rem}.form .van-cell .van-icon[data-v-0ae74f24]:before{vertical-align:middle;margin-left:.21333rem}.form .textarea[data-v-0ae74f24]{flex-direction:column}.form .textarea[data-v-0ae74f24] .van-cell__value{margin-top:.32rem;background-color:#f8f8f8;padding:.32rem}.form .van-button[data-v-0ae74f24]{display:block;width:8.50667rem;height:1.06667rem;margin:1.38667rem auto .42667rem;background-color:#d03a29;border-color:#d03a29;font-size:.37333rem;color:#fff;line-height:1.06667rem;font-weight:700;border-radius:.10667rem}
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1 @@
|
|||
.list[data-v-699c19fa]{padding:.34667rem .42667rem}.list .item[data-v-699c19fa]{display:flex;align-items:center;padding:.69333rem .42667rem;background-color:#fff;border-radius:.10667rem;margin-bottom:.32rem}.list .item .icon[data-v-699c19fa]{width:.53333rem;margin-right:.26667rem}.list .item .title[data-v-699c19fa]{flex:1;font-size:.42667rem;color:#333;line-height:.58667rem}.list .item .van-icon[data-v-699c19fa]{font-size:.37333rem}
|
|
@ -0,0 +1 @@
|
|||
.list[data-v-2d27edcc]{padding:.34667rem .42667rem}.list .item[data-v-2d27edcc]{display:flex;align-items:center;padding:.69333rem .42667rem;background-color:#fff;border-radius:.10667rem;margin-bottom:.32rem}.list .item .icon[data-v-2d27edcc]{width:.53333rem;margin-right:.26667rem}.list .item .title[data-v-2d27edcc]{flex:1;font-size:.42667rem;color:#333;line-height:.58667rem}.list .item .van-icon[data-v-2d27edcc]{font-size:.37333rem}
|
|
@ -0,0 +1 @@
|
|||
.box-item[data-v-998c0238]{background-color:#fff;margin-bottom:.32rem}.box-item .boxtitle[data-v-998c0238]{display:flex;align-items:center;padding:.53333rem .42667rem}.box-item .boxtitle[data-v-998c0238]:before{content:"";display:block;width:.10667rem;height:.42667rem;background-color:#d03a29;margin-right:.21333rem}.box-item .boxtitle .title_text[data-v-998c0238]{font-size:.48rem;color:#333;font-weight:700}.box-item .boxtitle .more[data-v-998c0238]{margin-left:auto;font-size:.37333rem;color:#999}.box-item .notice .item[data-v-998c0238]{position:relative;padding:.50667rem .42667rem;display:flex;align-items:center}.box-item .notice .item[data-v-998c0238]:not(:last-child):after{content:"";position:absolute;bottom:0;left:.42667rem;right:0;height:.02667rem;background-color:#f3f3f3}.box-item .notice .item .title[data-v-998c0238]{flex:1;font-size:.37333rem;color:#333;line-height:.58667rem;font-weight:700}.box-item .notice .item .title .tag[data-v-998c0238]{color:#d03a29;margin-right:.10667rem;border-radius:.26667rem;padding:.02667rem .16rem;font-size:.32rem;vertical-align:middle}.box-item .notice .item .icon[data-v-998c0238]{margin-left:.8rem;font-size:.32rem}.box-item .grassrootsNews .item[data-v-998c0238]{position:relative;padding:.4rem .42667rem;display:flex}.box-item .grassrootsNews .item[data-v-998c0238]:not(:last-child):after{content:"";position:absolute;bottom:0;left:.42667rem;right:.42667rem;height:.02667rem;background-color:#f3f3f3}.box-item .grassrootsNews .item .info[data-v-998c0238]{width:0;flex:1}.box-item .grassrootsNews .item .info .title[data-v-998c0238]{flex:1;font-size:.37333rem;color:#333;line-height:.58667rem;font-weight:700}.box-item .grassrootsNews .item .info .text[data-v-998c0238]{font-size:.32rem;color:#999;line-height:.45333rem;margin-top:.10667rem}.box-item .grassrootsNews .item .img[data-v-998c0238]{margin-left:.26667rem;width:3.33333rem;height:2.24rem;-o-object-fit:cover;object-fit:cover}
|
|
@ -1 +0,0 @@
|
|||
.news[data-v-45e03b10]{margin:0 .42667rem;border-bottom:.02667rem solid #f3f3f3}.news[data-v-45e03b10]:last-of-type{border-bottom:none}.news .newList2[data-v-45e03b10]{padding:.42667rem 0}.news .newList2 .top[data-v-45e03b10]{font-size:.37333rem;color:#333;line-height:.58667rem;font-weight:700}.news .newList2 .imgarr[data-v-45e03b10]{display:flex;margin-top:.21333rem}.news .newList2 .imgarr img[data-v-45e03b10]{width:30%;margin-right:3%;height:auto;-o-object-fit:cover;object-fit:cover}.news .newList2 .newdate[data-v-45e03b10]{font-size:.32rem;color:#999;line-height:.45333rem;margin-top:.21333rem}.news .newList[data-v-45e03b10]{display:flex;justify-content:space-between;padding:.42667rem 0}.news .newList .newleft[data-v-45e03b10]{display:flex;flex-direction:column;justify-content:space-between}.news .newList .newleft .newtitle[data-v-45e03b10]{font-size:.37333rem;color:#333;line-height:.58667rem;font-weight:700}.news .newList .newleft .newdate[data-v-45e03b10]{font-size:.32rem;color:#999;line-height:.45333rem;margin-top:.10667rem}.news .newList .newimg[data-v-45e03b10]{margin-left:.26667rem;width:3.33333rem;height:2.24rem;-o-object-fit:cover;object-fit:cover}.muloverellipse[data-v-45e03b10]{word-break:break-all;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.notice[data-v-45e03b10]{min-height:100%;background-color:#fff;display:flex;flex-direction:column;overflow:auto}.list[data-v-45e03b10]{flex:1}.list .item[data-v-45e03b10]{position:relative;padding:.53333rem .42667rem;display:flex;align-items:center}.list .item[data-v-45e03b10]:not(:last-child):after{content:"";position:absolute;bottom:0;left:.42667rem;right:.42667rem;height:.02667rem;background-color:#f3f3f3}.list .item .tag[data-v-45e03b10]{margin-right:.10667rem;border-radius:.21333rem;font-size:.26667rem;vertical-align:middle}.list .item .title[data-v-45e03b10]{flex:1;font-size:.37333rem;color:#333;line-height:.53333rem;font-weight:700}.list .item .icon[data-v-45e03b10]{margin-left:.8rem;font-size:.32rem}.add[data-v-45e03b10]{position:fixed;bottom:26%;right:0;width:2.72rem;z-index:999}
|
|
@ -1 +0,0 @@
|
|||
.onlyImg[data-v-522b68ae]{display:flex;justify-content:space-between}.onlyImg .img[data-v-522b68ae]{margin-left:.32rem;width:2.13333rem;height:2.13333rem;-o-object-fit:cover;object-fit:cover}.mulimg .imglist[data-v-522b68ae]{margin-top:.16rem;display:flex;flex-wrap:wrap}.mulimg .imglist img[data-v-522b68ae]{width:30%;margin-right:2%;height:auto}.page[data-v-522b68ae]{min-height:100%;background-color:#fff}.notice[data-v-522b68ae]{padding:.42667rem}.title[data-v-522b68ae]{font-size:.4rem;color:#333;line-height:.53333rem;font-weight:700}.date[data-v-522b68ae]{margin-top:.16rem;font-size:.32rem;color:#999;line-height:.45333rem}.content[data-v-522b68ae]{font-size:.37333rem;color:#333;line-height:.64rem;margin-top:.21333rem}
|
|
@ -0,0 +1 @@
|
|||
.onlyImg[data-v-2086fbce]{display:flex;justify-content:space-between}.onlyImg .img[data-v-2086fbce]{margin-left:.32rem;width:2.13333rem;height:2.13333rem;-o-object-fit:cover;object-fit:cover}.mulimg .imglist[data-v-2086fbce]{margin-top:.16rem;display:flex;flex-wrap:wrap}.mulimg .imglist img[data-v-2086fbce]{width:30%;margin-right:2%;height:auto}.page[data-v-2086fbce]{min-height:100%;background-color:#fff}.notice[data-v-2086fbce]{padding:.42667rem}.title[data-v-2086fbce]{font-size:.4rem;color:#333;line-height:.53333rem;font-weight:700}.date[data-v-2086fbce]{margin-top:.16rem;font-size:.32rem;color:#999;line-height:.45333rem}.content[data-v-2086fbce]{font-size:.37333rem;color:#333;line-height:.64rem;margin-top:.21333rem}
|
Binary file not shown.
After Width: | Height: | Size: 19 KiB |
Binary file not shown.
After Width: | Height: | Size: 18 KiB |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue