人大新闻从通知公告中独立成一个单独的模块,政务信息去除改为外链;通知公告分成通知和公告两类;

This commit is contained in:
周源 2022-07-14 11:56:40 +08:00
parent 3848ecd2ee
commit 774eb1a1eb
160 changed files with 1082 additions and 120 deletions

View File

@ -1,5 +1,6 @@
package com.ydool.boot.api.controller; 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.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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 = "pageNo", value = "当前页", dataType = "int", defaultValue = "1"),
@ApiImplicitParam(name = "pageSize", value = "显示条数", dataType = "int", defaultValue = "10"), @ApiImplicitParam(name = "pageSize", value = "显示条数", dataType = "int", defaultValue = "10"),
@ApiImplicitParam(name = "title", value = "标题"), @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") @ApiImplicitParam(name = "top", value = "是否置顶0不置顶1置顶", dataType = "int")
}) })
@DynamicResponseParameters(properties = { @DynamicResponseParameters(properties = {
@ -44,10 +46,29 @@ public class ApiNoticeController extends ApiBaseController {
}) })
@ApiOperation("通知公告列表") @ApiOperation("通知公告列表")
@GetMapping("/list") @GetMapping("/list")
public void noticeList(@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, public void list(@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
String title, Integer top,String type) { String title, Integer top, String type, String platform) {
QueryWrapper<Notice> qw = getQueryWrapper(title, top,type); 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); IPage<Notice> paged = noticeService.page(new Page<>(pageNo, pageSize), qw);
render(Ret.ok().paged(NoticeWrapper.build().pageVO(paged))); render(Ret.ok().paged(NoticeWrapper.build().pageVO(paged)));
} }
@ -60,7 +81,7 @@ public class ApiNoticeController extends ApiBaseController {
@ApiOperation("通知公告详情") @ApiOperation("通知公告详情")
@ApiImplicitParam(name = "id", value = "id", paramType = "path", required = true) @ApiImplicitParam(name = "id", value = "id", paramType = "path", required = true)
@GetMapping("/{id}") @GetMapping("/{id}")
public void notice(@PathVariable("id") String id) { public void detail(@PathVariable("id") String id) {
Notice bean = noticeService.getById(id); Notice bean = noticeService.getById(id);
if (bean == null) { if (bean == null) {
render(Ret.fail("未找到该通知")); render(Ret.fail("未找到该通知"));
@ -75,33 +96,26 @@ public class ApiNoticeController extends ApiBaseController {
@ApiImplicitParam(name = "content", value = "内容", required = true), @ApiImplicitParam(name = "content", value = "内容", required = true),
@ApiImplicitParam(name = "noticeDate", value = "通知日期"), @ApiImplicitParam(name = "noticeDate", value = "通知日期"),
@ApiImplicitParam(name = "top", value = "是否置顶0不置顶1置顶"), @ApiImplicitParam(name = "top", value = "是否置顶0不置顶1置顶"),
@ApiImplicitParam(name = "uploadPersonnel", value = "上传人员"),
@ApiImplicitParam(name = "coverNames", value = "封面名,多个英文逗号间隔"), @ApiImplicitParam(name = "coverNames", value = "封面名,多个英文逗号间隔"),
@ApiImplicitParam(name = "coverPaths", 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("发布公告") @ApiOperation("发布公告")
@PostMapping("/save") @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(); Notice bean = new Notice();
bean.setTitle(title); bean.setTitle(title);
bean.setContent(content); bean.setContent(content);
bean.setNoticeDate(noticeDate); bean.setNoticeDate(noticeDate);
bean.setTop(top); bean.setTop(top);
bean.setUploadPersonnel(uploadPersonnel); bean.setUploadPersonnel(getApiUserId());
bean.setCreatedId(getApiUserId()); bean.setCreatedId(getApiUserId());
bean.setType(type); bean.setType(type);
bean.setObj(obj);
boolean flag = noticeService.apiSave(bean, coverNames, coverPaths, getApiUser()); boolean flag = noticeService.apiSave(bean, coverNames, coverPaths, getApiUser());
render(!flag ? Ret.fail("操作失败") : Ret.ok()); 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;
}
} }

View File

@ -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;
}
}

View File

@ -86,4 +86,7 @@ public class Notice implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private boolean newRecord; private boolean newRecord;
@NotBlank(message = "公告对象")
@ApiModelProperty(value = "公告对象")
private String obj;
} }

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -20,7 +20,7 @@ public class MyGenerator {
public static void main(String[] args) { public static void main(String[] args) {
//表名 //表名
String tableName = "t_notice_attachment"; String tableName = "t_rd_notice_attachment";
//表前缀 //表前缀
String tablePrefix = "t_"; String tablePrefix = "t_";

View File

@ -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> {
}

View File

@ -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> {
}

View File

@ -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>

View File

@ -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>

View File

@ -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> {
}

View File

@ -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;
}
}

View File

@ -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> {
}

View File

@ -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> {
}

View File

@ -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;
}

View File

@ -24,7 +24,6 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import javax.annotation.Resource;
import java.util.List; import java.util.List;
/** /**
@ -35,8 +34,8 @@ import java.util.List;
@RequestMapping("${ydool.path}/rddb/notice") @RequestMapping("${ydool.path}/rddb/notice")
public class NoticeController extends BaseAdminController { public class NoticeController extends BaseAdminController {
@Resource @Autowired
private NoticeService noticeService; NoticeService noticeService;
@Autowired @Autowired
NoticeAttachmentService noticeAttachmentService; NoticeAttachmentService noticeAttachmentService;
@ -55,7 +54,7 @@ public class NoticeController extends BaseAdminController {
} }
@GetMapping("/form") @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(); Notice bean = new Notice();
bean.setNewRecord(true); bean.setNewRecord(true);
if (StrUtil.isNotBlank(id)) { if (StrUtil.isNotBlank(id)) {
@ -66,9 +65,13 @@ public class NoticeController extends BaseAdminController {
.eq(NoticeAttachment::getNoticeId, id) .eq(NoticeAttachment::getNoticeId, id)
.orderByDesc(NoticeAttachment::getCreatedAt)); .orderByDesc(NoticeAttachment::getCreatedAt));
model.addAttribute("coverAttachmentListStr", JsonMapper.getInstance().writeValueAsString(coverAttachmentList)); model.addAttribute("coverAttachmentListStr", JsonMapper.getInstance().writeValueAsString(coverAttachmentList));
if(StrUtil.isBlank(type)) type= bean.getType();
} }
NoticeVO noticeVO = NoticeWrapper.build().entityVO(bean); NoticeVO noticeVO = NoticeWrapper.build().entityVO(bean);
model.addAttribute("bean", noticeVO); model.addAttribute("bean", noticeVO);
if("gg".equals(type)){
return "modules/rddb/notice/form_gg.html";
}
return "modules/rddb/notice/form.html"; return "modules/rddb/notice/form.html";
} }

View File

@ -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 {
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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}

View File

@ -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

View File

@ -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}

View File

@ -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}

View File

@ -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}

View File

@ -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}

View File

@ -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}

View File

@ -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}

View File

@ -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}

View File

@ -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

View File

@ -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}

View File

@ -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}

View File

@ -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}

View File

@ -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}

View File

@ -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}

View File

@ -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

Some files were not shown because too many files have changed in this diff Show More