合并分支 'dev_third_stage' 到 'master'
Dev third stage 查看合并请求 laws-nio/laws-weilai!135
@@ -855,18 +855,17 @@ CREATE TABLE `laws_weilai`.`country_national_flag` (
|
|||||||
`national_flag_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '国旗url',
|
`national_flag_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '国旗url',
|
||||||
PRIMARY KEY (`id`) USING BTREE
|
PRIMARY KEY (`id`) USING BTREE
|
||||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '国家与国旗中间表' ROW_FORMAT = Dynamic;
|
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '国家与国旗中间表' ROW_FORMAT = Dynamic;
|
||||||
-- 初始化数据 2022-08-09
|
-- 初始化数据 2022-08-10
|
||||||
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('11', NULL, NULL, NULL, NULL, NULL, '澳大利亚', 'Australia', NULL, '澳大利亚.jpg');
|
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('1', NULL, NULL, NULL, NULL, NULL, '欧盟', 'EU', NULL, '/jero-boot/nationalFlag/EU.png');
|
||||||
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('12', NULL, NULL, NULL, NULL, NULL, '新西兰', 'New Zealand', NULL, '新西兰.jpg');
|
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('10', NULL, NULL, NULL, NULL, NULL, '美国', 'US', NULL, '/jero-boot/nationalFlag/US.png');
|
||||||
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('13', NULL, NULL, NULL, NULL, NULL, '英国', 'UK', NULL, '英国.jpg');
|
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('11', NULL, NULL, NULL, NULL, NULL, '澳大利亚', 'Australia', NULL, '/jero-boot/nationalFlag/Australia.png');
|
||||||
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('2', NULL, NULL, NULL, NULL, NULL, '中国', 'China', NULL, '中国.jpg');
|
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('12', NULL, NULL, NULL, NULL, NULL, '新西兰', 'New Zealand', NULL, '/jero-boot/nationalFlag/NewZealand.png');
|
||||||
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('3', NULL, NULL, NULL, NULL, NULL, '中国香港', 'Hong Kong China', NULL, '中国香港.jpg');
|
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('13', NULL, NULL, NULL, NULL, NULL, '英国', 'UK', NULL, '/jero-boot/nationalFlag/UK.png');
|
||||||
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('4', NULL, NULL, NULL, NULL, NULL, '韩国', 'South Korea', NULL, '韩国.jpg');
|
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('2', NULL, NULL, NULL, NULL, NULL, '中国', 'China', NULL, '/jero-boot/nationalFlag/China.png');
|
||||||
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('5', NULL, NULL, NULL, NULL, NULL, '日本', 'Japan', NULL, '日本.jpg');
|
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('3', NULL, NULL, NULL, NULL, NULL, '中国香港', 'Hong Kong China', NULL, '/jero-boot/nationalFlag/China.png');
|
||||||
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('6', NULL, NULL, NULL, NULL, NULL, '新加坡', 'Singapore', NULL, '新加坡.jpg');
|
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('4', NULL, NULL, NULL, NULL, NULL, '韩国', 'South Korea', NULL, '/jero-boot/nationalFlag/SouthKorea.png');
|
||||||
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('7', NULL, NULL, NULL, NULL, NULL, '马来西亚', 'Malaysia', NULL, '马来西亚.jpg');
|
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('5', NULL, NULL, NULL, NULL, NULL, '日本', 'Japan', NULL, '/jero-boot/nationalFlag/Japan.png');
|
||||||
|
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('6', NULL, NULL, NULL, NULL, NULL, '新加坡', 'Singapore', NULL, '/jero-boot/nationalFlag/Singapore.png');
|
||||||
|
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('7', NULL, NULL, NULL, NULL, NULL, '马来西亚', 'Malaysia', NULL, '/jero-boot/nationalFlag/Malaysia.png');
|
||||||
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('8', NULL, NULL, NULL, NULL, NULL, '海湾地区', 'GCC', NULL, '海湾地区.jpg');
|
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('8', NULL, NULL, NULL, NULL, NULL, '海湾地区', 'GCC', NULL, '海湾地区.jpg');
|
||||||
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('9', NULL, NULL, NULL, NULL, NULL, '阿联酋', 'UAE', NULL, '阿联酋.jpg');
|
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('9', NULL, NULL, NULL, NULL, NULL, '阿联酋', 'UAE', NULL, '/jero-boot/nationalFlag/UAE.png');
|
||||||
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('1', NULL, NULL, NULL, NULL, NULL, '欧盟', 'EU', NULL, '欧盟.jpg');
|
|
||||||
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('10', NULL, NULL, NULL, NULL, NULL, '美国', 'US', NULL, '美国.jpg');
|
|
||||||
|
|
||||||
|
|||||||
@@ -85,11 +85,11 @@ public class JeroBootExceptionHandler {
|
|||||||
/**
|
/**
|
||||||
* spring默认上传大小100MB 超出大小捕获异常MaxUploadSizeExceededException
|
* spring默认上传大小100MB 超出大小捕获异常MaxUploadSizeExceededException
|
||||||
*/
|
*/
|
||||||
@ExceptionHandler(MaxUploadSizeExceededException.class)
|
// @ExceptionHandler(MaxUploadSizeExceededException.class)
|
||||||
public Result<?> handleMaxUploadSizeExceededException(MaxUploadSizeExceededException e) {
|
// public Result<?> handleMaxUploadSizeExceededException(MaxUploadSizeExceededException e) {
|
||||||
log.error(e.getMessage(), e);
|
// log.error(e.getMessage(), e);
|
||||||
return Result.error("文件大小超出10MB限制, 请压缩或降低文件质量! ");
|
// return Result.error("文件大小超出100MB限制, 请压缩或降低文件质量! ");
|
||||||
}
|
// }
|
||||||
|
|
||||||
@ExceptionHandler(DataIntegrityViolationException.class)
|
@ExceptionHandler(DataIntegrityViolationException.class)
|
||||||
public Result<?> handleDataIntegrityViolationException(DataIntegrityViolationException e) {
|
public Result<?> handleDataIntegrityViolationException(DataIntegrityViolationException e) {
|
||||||
|
|||||||
@@ -72,15 +72,15 @@ public class OSSFileServiceImpl extends ServiceImpl<OSSFileMapper, OSSFile> impl
|
|||||||
public OSSFile uploadLocal(MultipartFile mf, String bizPath, String state, String cut) {
|
public OSSFile uploadLocal(MultipartFile mf, String bizPath, String state, String cut) {
|
||||||
|
|
||||||
//处理文件大小,大于100M抛出异常
|
//处理文件大小,大于100M抛出异常
|
||||||
long fileSize = mf.getSize() / 1024 / 1024;
|
// long fileSize = mf.getSize() / 1024 / 1024;
|
||||||
String originalFilename = mf.getOriginalFilename();
|
// String originalFilename = mf.getOriginalFilename();
|
||||||
if (fileSize >= 100) {
|
// if (fileSize >= 100) {
|
||||||
if (cut.equals(CutEnum.CN.getValue())) {
|
// if (cut.equals(CutEnum.CN.getValue())) {
|
||||||
throw new JeroBootException(originalFilename + "文件大小超出100MB, 请压缩或降低文件质量!");
|
// throw new JeroBootException(originalFilename + "文件大小超出100MB, 请压缩或降低文件质量!");
|
||||||
} else {
|
// } else {
|
||||||
throw new JeroBootException(originalFilename + "File size out 100MB, Please compress or reduce file quality!");
|
// throw new JeroBootException(originalFilename + "File size out 100MB, Please compress or reduce file quality!");
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
OSSFile oSSFile = new OSSFile();
|
OSSFile oSSFile = new OSSFile();
|
||||||
try {
|
try {
|
||||||
@@ -191,15 +191,15 @@ public class OSSFileServiceImpl extends ServiceImpl<OSSFileMapper, OSSFile> impl
|
|||||||
public OSSFile uploadLocalOfCos(MultipartFile mf, String bizPath, String state, String cut) {
|
public OSSFile uploadLocalOfCos(MultipartFile mf, String bizPath, String state, String cut) {
|
||||||
|
|
||||||
//处理文件大小,大于100M抛出异常
|
//处理文件大小,大于100M抛出异常
|
||||||
long fileSize = mf.getSize() / 1024 / 1024;
|
// long fileSize = mf.getSize() / 1024 / 1024;
|
||||||
String originalFilename = mf.getOriginalFilename();
|
// String originalFilename = mf.getOriginalFilename();
|
||||||
if (fileSize >= 100) {
|
// if (fileSize >= 100) {
|
||||||
if (cut.equals(CutEnum.CN.getValue())) {
|
// if (cut.equals(CutEnum.CN.getValue())) {
|
||||||
throw new JeroBootException(originalFilename + "文件大小超出100MB, 请压缩或降低文件质量!");
|
// throw new JeroBootException(originalFilename + "文件大小超出100MB, 请压缩或降低文件质量!");
|
||||||
} else {
|
// } else {
|
||||||
throw new JeroBootException(originalFilename + "File size out 100MB, Please compress or reduce file quality!");
|
// throw new JeroBootException(originalFilename + "File size out 100MB, Please compress or reduce file quality!");
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
OSSFile oSSFile = new OSSFile();
|
OSSFile oSSFile = new OSSFile();
|
||||||
String ctxPath = uploadCospath;
|
String ctxPath = uploadCospath;
|
||||||
@@ -296,15 +296,15 @@ public class OSSFileServiceImpl extends ServiceImpl<OSSFileMapper, OSSFile> impl
|
|||||||
public OSSFile uploadLocalForSplit(MultipartFile mf, String bizPath, String state, String cut) {
|
public OSSFile uploadLocalForSplit(MultipartFile mf, String bizPath, String state, String cut) {
|
||||||
|
|
||||||
//处理文件大小,大于100M抛出异常
|
//处理文件大小,大于100M抛出异常
|
||||||
long fileSize = mf.getSize() / 1024 / 1024;
|
// long fileSize = mf.getSize() / 1024 / 1024;
|
||||||
String originalFilename = mf.getOriginalFilename();
|
// String originalFilename = mf.getOriginalFilename();
|
||||||
if (fileSize >= 100) {
|
// if (fileSize >= 100) {
|
||||||
if (cut.equals(CutEnum.CN.getValue())) {
|
// if (cut.equals(CutEnum.CN.getValue())) {
|
||||||
throw new JeroBootException(originalFilename + "文件大小超出100MB, 请压缩或降低文件质量!");
|
// throw new JeroBootException(originalFilename + "文件大小超出100MB, 请压缩或降低文件质量!");
|
||||||
} else {
|
// } else {
|
||||||
throw new JeroBootException(originalFilename + "File size out 100MB, Please compress or reduce file quality!");
|
// throw new JeroBootException(originalFilename + "File size out 100MB, Please compress or reduce file quality!");
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
OSSFile oSSFile = new OSSFile();
|
OSSFile oSSFile = new OSSFile();
|
||||||
String ctxPath = uploadCospath;
|
String ctxPath = uploadCospath;
|
||||||
|
|||||||
@@ -293,7 +293,11 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
//文档动态信息添加
|
//文档动态信息添加
|
||||||
if(StringUtils.isNotBlank(sbTemp)){
|
if(StringUtils.isNotBlank(sbTemp)){
|
||||||
HomeDocumentDynamicEO homeDocumentDynamicEO = new HomeDocumentDynamicEO();
|
HomeDocumentDynamicEO homeDocumentDynamicEO = new HomeDocumentDynamicEO();
|
||||||
String msgContent = "The " + StringUtils.join(serialNumberListTemp,",") + " has been deleted from the document library.";
|
String msgEndStr = " has been deleted from the document library.";
|
||||||
|
if (serialNumberListTemp.size() > 1) {
|
||||||
|
msgEndStr = " have been deleted from the document library.";
|
||||||
|
}
|
||||||
|
String msgContent = "The standard " + StringUtils.join(serialNumberListTemp,",") + msgEndStr;
|
||||||
homeDocumentDynamicEO.setMsgContent(msgContent);
|
homeDocumentDynamicEO.setMsgContent(msgContent);
|
||||||
homeDocumentDynamicEO.setMsgContentInfo(msgContent);
|
homeDocumentDynamicEO.setMsgContentInfo(msgContent);
|
||||||
homeDocumentDynamicEOService.save(homeDocumentDynamicEO);
|
homeDocumentDynamicEOService.save(homeDocumentDynamicEO);
|
||||||
@@ -2143,8 +2147,8 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
//文档动态, 文档库中新增了标准XXXX homeDocumentDynamicEOService
|
//文档动态, 文档库中新增了标准XXXX homeDocumentDynamicEOService
|
||||||
//The standard GB 7258-2017 Technical specifications has been added to the document library.
|
//The standard GB 7258-2017 Technical specifications has been added to the document library.
|
||||||
HomeDocumentDynamicEO homeDocumentDynamicEO = new HomeDocumentDynamicEO();
|
HomeDocumentDynamicEO homeDocumentDynamicEO = new HomeDocumentDynamicEO();
|
||||||
homeDocumentDynamicEO.setMsgContent("The " + category + " " + serialNumber + " " + titleEn + " has been added to the document library.");
|
homeDocumentDynamicEO.setMsgContent("The standard " + category + " " + serialNumber + " " + titleEn + " has been added to the document library.");
|
||||||
homeDocumentDynamicEO.setMsgContentInfo("The " + href + " has been added to the document library.");
|
homeDocumentDynamicEO.setMsgContentInfo("The standard " + href + " has been added to the document library.");
|
||||||
homeDocumentDynamicEOService.save(homeDocumentDynamicEO);
|
homeDocumentDynamicEOService.save(homeDocumentDynamicEO);
|
||||||
|
|
||||||
|
|
||||||
@@ -2596,11 +2600,11 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
StringBuilder msgContentSb = new StringBuilder();
|
StringBuilder msgContentSb = new StringBuilder();
|
||||||
StringBuilder msgContentInfoSb = new StringBuilder();
|
StringBuilder msgContentInfoSb = new StringBuilder();
|
||||||
//适用车型
|
//适用车型
|
||||||
StringBuilder msgContentSbCarType = new StringBuilder("Vehicle Type of the " + category + " " + serialNumber + " " + titleEn);
|
StringBuilder msgContentSbCarType = new StringBuilder("Vehicle Type of the standard " + category + " " + serialNumber + " " + titleEn);
|
||||||
StringBuilder msgContentInfoSbCarType = new StringBuilder("Vehicle Type of the " + category + " " + href);
|
StringBuilder msgContentInfoSbCarType = new StringBuilder("Vehicle Type of the standard " + category + " " + href);
|
||||||
//状态
|
//状态
|
||||||
StringBuilder msgContentSbStatus = new StringBuilder("The Status of the " + category + " " + serialNumber + " " + titleEn);
|
StringBuilder msgContentSbStatus = new StringBuilder("The Status of the standard " + category + " " + serialNumber + " " + titleEn);
|
||||||
StringBuilder msgContentInfoSbStatus = new StringBuilder("The Status of the " + category + " " + href);
|
StringBuilder msgContentInfoSbStatus = new StringBuilder("The Status of the standard " + category + " " + href);
|
||||||
|
|
||||||
|
|
||||||
List<String> fileIdLIstTemp = new ArrayList<>();
|
List<String> fileIdLIstTemp = new ArrayList<>();
|
||||||
@@ -2634,8 +2638,8 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
}
|
}
|
||||||
//
|
//
|
||||||
if(StringUtils.isBlank(value)){
|
if(StringUtils.isBlank(value)){
|
||||||
msgContentSbStatus.append(" has been modified to be null ,");
|
msgContentSbStatus.append(" has been modified to be null,");
|
||||||
msgContentInfoSbStatus.append(" has been modified to be null ,");
|
msgContentInfoSbStatus.append(" has been modified to be null,");
|
||||||
msgContentSb.append(msgContentSbStatus);
|
msgContentSb.append(msgContentSbStatus);
|
||||||
msgContentInfoSb.append(msgContentInfoSbStatus);
|
msgContentInfoSb.append(msgContentInfoSbStatus);
|
||||||
}else{
|
}else{
|
||||||
@@ -2670,8 +2674,8 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
value = substring;
|
value = substring;
|
||||||
}
|
}
|
||||||
if(StringUtils.isBlank(value)){
|
if(StringUtils.isBlank(value)){
|
||||||
msgContentSbCarType.append(" has been modified to be null ,");
|
msgContentSbCarType.append(" has been modified to be null,");
|
||||||
msgContentInfoSbCarType.append(" has been modified to be null ,");
|
msgContentInfoSbCarType.append(" has been modified to be null,");
|
||||||
msgContentSb.append(msgContentSbCarType);
|
msgContentSb.append(msgContentSbCarType);
|
||||||
msgContentInfoSb.append(msgContentInfoSbCarType);
|
msgContentInfoSb.append(msgContentInfoSbCarType);
|
||||||
}else{
|
}else{
|
||||||
@@ -2691,8 +2695,8 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
msgContentInfoSb.append(contentInfoFile);
|
msgContentInfoSb.append(contentInfoFile);
|
||||||
}
|
}
|
||||||
if(count > 0){
|
if(count > 0){
|
||||||
String msgContent = msgContentSb.substring(0, msgContentSb.length() - 1);
|
String msgContent = msgContentSb.substring(0, msgContentSb.length() - 1) + ".";
|
||||||
String msgContentInfo = msgContentInfoSb.substring(0, msgContentInfoSb.length() - 1);
|
String msgContentInfo = msgContentInfoSb.substring(0, msgContentInfoSb.length() - 1) + ".";
|
||||||
HomeDocumentDynamicEO homeDocumentDynamicEO = new HomeDocumentDynamicEO();
|
HomeDocumentDynamicEO homeDocumentDynamicEO = new HomeDocumentDynamicEO();
|
||||||
homeDocumentDynamicEO.setMsgContent(msgContent);
|
homeDocumentDynamicEO.setMsgContent(msgContent);
|
||||||
homeDocumentDynamicEO.setMsgContentInfo(msgContentInfo);
|
homeDocumentDynamicEO.setMsgContentInfo(msgContentInfo);
|
||||||
|
|||||||
@@ -74,11 +74,13 @@ public class ExtRepoDataController extends JeroController<ExtRepoData, IExtRepoD
|
|||||||
// 文件名称模糊查询
|
// 文件名称模糊查询
|
||||||
String fileName = req.getParameter("fileName");
|
String fileName = req.getParameter("fileName");
|
||||||
if (StringUtils.isNotBlank(fileName)) {
|
if (StringUtils.isNotBlank(fileName)) {
|
||||||
|
fileName = fileName.replace("%","\\%");
|
||||||
queryWrapper.like(ExtRepoData::getFileName, fileName);
|
queryWrapper.like(ExtRepoData::getFileName, fileName);
|
||||||
}
|
}
|
||||||
// 上传人模糊查询
|
// 上传人模糊查询
|
||||||
String createBy = req.getParameter("createBy");
|
String createBy = req.getParameter("createBy");
|
||||||
if (StringUtils.isNotBlank(createBy)) {
|
if (StringUtils.isNotBlank(createBy)) {
|
||||||
|
createBy = createBy.replace("%","\\%");
|
||||||
queryWrapper.like(ExtRepoData::getCreateBy, createBy);
|
queryWrapper.like(ExtRepoData::getCreateBy, createBy);
|
||||||
}
|
}
|
||||||
// 更新时间查询
|
// 更新时间查询
|
||||||
@@ -185,7 +187,7 @@ public class ExtRepoDataController extends JeroController<ExtRepoData, IExtRepoD
|
|||||||
ExtRepoData erd = extRepoDataService.queryById(id);
|
ExtRepoData erd = extRepoDataService.queryById(id);
|
||||||
if (null != erd) {
|
if (null != erd) {
|
||||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
if (extRepoFolderService.isManager() || sysUser.getUsername().equals(erd.getCreateBy())) {
|
if (sysUser.getUsername().equals(erd.getCreateBy())) {
|
||||||
extRepoDataService.deleteById(id);
|
extRepoDataService.deleteById(id);
|
||||||
CosBootUtil.delete(erd.getFileKey());
|
CosBootUtil.delete(erd.getFileKey());
|
||||||
if (CutEnum.CN.getValue().equals(cut)) {
|
if (CutEnum.CN.getValue().equals(cut)) {
|
||||||
|
|||||||
@@ -359,7 +359,7 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl<ExtRepoFolderMapper, E
|
|||||||
res = res || getStringList(erf.getAuthManageIds()).contains(sysUser.getId())
|
res = res || getStringList(erf.getAuthManageIds()).contains(sysUser.getId())
|
||||||
|| getStringList(erf.getAuthViewIds()).contains(sysUser.getId());
|
|| getStringList(erf.getAuthViewIds()).contains(sysUser.getId());
|
||||||
}
|
}
|
||||||
return false;
|
return res;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -84,6 +84,10 @@ public class CountryCardManageReleaseDetailEO implements Serializable {
|
|||||||
@ApiModelProperty(value = "内容")
|
@ApiModelProperty(value = "内容")
|
||||||
private java.lang.String content;
|
private java.lang.String content;
|
||||||
|
|
||||||
|
/**如果是下拉选的话,把翻译后的值放到此字段中。*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
private java.lang.String contentDropDownValue;
|
||||||
|
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private String cut;
|
private String cut;
|
||||||
|
|
||||||
|
|||||||
@@ -72,12 +72,19 @@ public class ProblemKnowledgeBaseEO implements Serializable {
|
|||||||
/**问题分类展示名称*/
|
/**问题分类展示名称*/
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private java.lang.String problemTypeName;
|
private java.lang.String problemTypeName;
|
||||||
|
/**问题分类查询条件字段 多个*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
private java.lang.String problemTypes;
|
||||||
|
|
||||||
/**市场*/
|
|
||||||
@Dict(dicCode = "region")
|
/**市场*/
|
||||||
|
//@Dict(dicCode = "region")
|
||||||
@Excel(name = "市场", width = 15)
|
@Excel(name = "市场", width = 15)
|
||||||
@ApiModelProperty(value = "市场")
|
@ApiModelProperty(value = "市场")
|
||||||
private java.lang.String targetMarket;
|
private java.lang.String targetMarket;
|
||||||
|
/**市场展示字段**/
|
||||||
|
@TableField(exist = false)
|
||||||
|
private java.lang.String targetMarket_dicText;
|
||||||
|
|
||||||
/**文档库id*/
|
/**文档库id*/
|
||||||
@Excel(name = "文档库id", width = 15)
|
@Excel(name = "文档库id", width = 15)
|
||||||
|
|||||||
@@ -148,6 +148,19 @@ public class CountryCardManageReleaseDetailEOServiceImpl extends ServiceImpl<Cou
|
|||||||
}).collect(Collectors.toList());
|
}).collect(Collectors.toList());
|
||||||
|
|
||||||
data.setCountryCardTempItemEOList(collect);
|
data.setCountryCardTempItemEOList(collect);
|
||||||
|
|
||||||
|
if(StringUtils.isNotEmpty(data.getContent())){
|
||||||
|
String contentDropDownValue = countryCardTempItemEOList.stream().filter(countryCardTempItemEO -> {
|
||||||
|
boolean flag = false;
|
||||||
|
if (StringUtils.equals(data.getContent(), countryCardTempItemEO.getId())) {
|
||||||
|
flag = true;
|
||||||
|
}
|
||||||
|
return flag;
|
||||||
|
}).map(CountryCardTempItemEO::getItemText).collect(Collectors.joining(","));
|
||||||
|
|
||||||
|
//设置下拉框的value
|
||||||
|
data.setContentDropDownValue(contentDropDownValue);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -235,7 +235,8 @@ public class CountryCardManageReleaseEOServiceImpl extends ServiceImpl<CountryCa
|
|||||||
for (DictModel dictModel : dictModelList) {
|
for (DictModel dictModel : dictModelList) {
|
||||||
boolean flag = false;
|
boolean flag = false;
|
||||||
for (CountryCardManageReleaseEO countryCardManageReleaseEO : countryCardManageReleaseEOList) {
|
for (CountryCardManageReleaseEO countryCardManageReleaseEO : countryCardManageReleaseEOList) {
|
||||||
if(StringUtils.equals(dictModel.getValue(),countryCardManageReleaseEO.getApplyMarket())){
|
if(StringUtils.equals(dictModel.getValue(),countryCardManageReleaseEO.getApplyMarket())
|
||||||
|
&&StringUtils.equals(countryCardManageReleaseEO.getReleaseStatus(),ReleaseStatusEnum.HAVE_RELEASED.getValue())){
|
||||||
flag = true;
|
flag = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -70,6 +70,7 @@ public class CountryCardTempEOServiceImpl extends ServiceImpl<CountryCardTempEOM
|
|||||||
CountryCardManageReleaseDetailEO countryCardManageReleaseDetailEO = new CountryCardManageReleaseDetailEO();
|
CountryCardManageReleaseDetailEO countryCardManageReleaseDetailEO = new CountryCardManageReleaseDetailEO();
|
||||||
countryCardManageReleaseDetailEO.setCountryCardTempId(countryCardTempEO.getId());
|
countryCardManageReleaseDetailEO.setCountryCardTempId(countryCardTempEO.getId());
|
||||||
countryCardManageReleaseDetailEO.setCountryCardManageReleaseId(manageReleaseEO.getId());
|
countryCardManageReleaseDetailEO.setCountryCardManageReleaseId(manageReleaseEO.getId());
|
||||||
|
releaseDetailEOList.add(countryCardManageReleaseDetailEO);
|
||||||
});
|
});
|
||||||
this.countryCardManageReleaseDetailEOService.saveBatch(releaseDetailEOList);
|
this.countryCardManageReleaseDetailEOService.saveBatch(releaseDetailEOList);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
package com.jero.modules.problemKnowledgeBase.service.impl;
|
package com.jero.modules.problemKnowledgeBase.service.impl;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.jero.common.constant.enums.CutEnum;
|
||||||
import com.jero.common.system.query.QueryGenerator;
|
import com.jero.common.system.query.QueryGenerator;
|
||||||
|
import com.jero.common.system.vo.DictModel;
|
||||||
import com.jero.common.system.vo.LoginUser;
|
import com.jero.common.system.vo.LoginUser;
|
||||||
import com.jero.modules.problemKnowledgeBase.entity.*;
|
import com.jero.modules.problemKnowledgeBase.entity.*;
|
||||||
import com.jero.modules.problemKnowledgeBase.enums.CollectStatusEnum;
|
import com.jero.modules.problemKnowledgeBase.enums.CollectStatusEnum;
|
||||||
@@ -9,6 +11,8 @@ import com.jero.modules.problemKnowledgeBase.enums.PraiseStatusEnum;
|
|||||||
import com.jero.modules.problemKnowledgeBase.enums.ShowPermissionsEnum;
|
import com.jero.modules.problemKnowledgeBase.enums.ShowPermissionsEnum;
|
||||||
import com.jero.modules.problemKnowledgeBase.mapper.ProblemKnowledgeBaseEOMapper;
|
import com.jero.modules.problemKnowledgeBase.mapper.ProblemKnowledgeBaseEOMapper;
|
||||||
import com.jero.modules.problemKnowledgeBase.service.*;
|
import com.jero.modules.problemKnowledgeBase.service.*;
|
||||||
|
import com.jero.modules.system.enums.DicCodeEnum;
|
||||||
|
import com.jero.modules.system.service.ISysDictService;
|
||||||
import com.jero.modules.system.util.StringUtils;
|
import com.jero.modules.system.util.StringUtils;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.apache.shiro.SecurityUtils;
|
import org.apache.shiro.SecurityUtils;
|
||||||
@@ -44,6 +48,8 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl<ProblemKnowle
|
|||||||
private IProblemKnowledgeBaseBrowsingHistoryEOService problemKnowledgeBaseBrowsingHistoryEOService;
|
private IProblemKnowledgeBaseBrowsingHistoryEOService problemKnowledgeBaseBrowsingHistoryEOService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IProblemKnowledgeBaseClassifyEOService problemKnowledgeBaseClassifyEOService;
|
private IProblemKnowledgeBaseClassifyEOService problemKnowledgeBaseClassifyEOService;
|
||||||
|
@Autowired
|
||||||
|
private ISysDictService sysDictService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保存
|
* 保存
|
||||||
@@ -209,6 +215,7 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl<ProblemKnowle
|
|||||||
problemKnowledgeBaseClassifyEOList = this.problemKnowledgeBaseClassifyEOService.list(classifyEOQueryWrapper);
|
problemKnowledgeBaseClassifyEOList = this.problemKnowledgeBaseClassifyEOService.list(classifyEOQueryWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
List<DictModel> regionList = sysDictService.queryDictItemsByCode(DicCodeEnum.REGION.getCode());
|
||||||
|
|
||||||
List<ProblemKnowledgeBaseClassifyEO> finalProblemKnowledgeBaseClassifyEOList = problemKnowledgeBaseClassifyEOList;
|
List<ProblemKnowledgeBaseClassifyEO> finalProblemKnowledgeBaseClassifyEOList = problemKnowledgeBaseClassifyEOList;
|
||||||
datas.forEach(data -> {
|
datas.forEach(data -> {
|
||||||
@@ -298,6 +305,30 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl<ProblemKnowle
|
|||||||
|
|
||||||
data.setProblemTypeName(problemTypeName);
|
data.setProblemTypeName(problemTypeName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String targetMarket = data.getTargetMarket();
|
||||||
|
if(StringUtils.isNotEmpty(targetMarket) && CollectionUtils.isNotEmpty(regionList)){
|
||||||
|
String targetMarket_dicText = "";
|
||||||
|
if(StringUtils.equals(cut, CutEnum.CN.getValue())){
|
||||||
|
targetMarket_dicText = regionList.stream().filter(region -> {
|
||||||
|
boolean flag = false;
|
||||||
|
if (StringUtils.equals(targetMarket, region.getValue())) {
|
||||||
|
flag = true;
|
||||||
|
}
|
||||||
|
return flag;
|
||||||
|
}).map(DictModel::getText).collect(Collectors.joining(","));
|
||||||
|
}else if(StringUtils.equals(cut, CutEnum.EN.getValue())){
|
||||||
|
targetMarket_dicText = regionList.stream().filter(region -> {
|
||||||
|
boolean flag = false;
|
||||||
|
if (StringUtils.equals(targetMarket, region.getValue())) {
|
||||||
|
flag = true;
|
||||||
|
}
|
||||||
|
return flag;
|
||||||
|
}).map(DictModel::getTextEn).collect(Collectors.joining(","));
|
||||||
|
}
|
||||||
|
|
||||||
|
data.setTargetMarket_dicText(targetMarket_dicText);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -335,5 +366,21 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl<ProblemKnowle
|
|||||||
query.or().like(ProblemKnowledgeBaseEO::getContent,searchStr);
|
query.or().like(ProblemKnowledgeBaseEO::getContent,searchStr);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//根据分类查询 ,包含就查出来。
|
||||||
|
String problemTypes = problemKnowledgeBaseEO.getProblemTypes();
|
||||||
|
if(StringUtils.isNotEmpty(problemTypes)){
|
||||||
|
List<String> problemTypeList = Arrays.asList(problemTypes.split(","));
|
||||||
|
queryWrapper.and(query -> {
|
||||||
|
query.lambda().like(ProblemKnowledgeBaseEO::getProblemType,problemTypes);
|
||||||
|
if(CollectionUtils.isNotEmpty(problemTypeList)){
|
||||||
|
problemTypeList.forEach(type -> {
|
||||||
|
query.or(q -> {
|
||||||
|
q.lambda().like(ProblemKnowledgeBaseEO::getProblemType,type);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,9 @@ public enum JumpLinkEnum {
|
|||||||
DESIGN_AFFIRM_LINK("设计符合性确认链接","4","/ProjectDetails?id=","&type=103"),
|
DESIGN_AFFIRM_LINK("设计符合性确认链接","4","/ProjectDetails?id=","&type=103"),
|
||||||
TASK_AFFIRM_LINK("任务确认链接","2","/ProcessCenter",""),
|
TASK_AFFIRM_LINK("任务确认链接","2","/ProcessCenter",""),
|
||||||
COMPLIANCE_PROCESS_DETAIL_LINK("符合性流程明细页路由","2","/taskListProcess",""),
|
COMPLIANCE_PROCESS_DETAIL_LINK("符合性流程明细页路由","2","/taskListProcess",""),
|
||||||
|
|
||||||
|
PROBLEM_KNOWLEDGE_BASE_DETAIL("问题知识库,详情页","","/problemKnowledgeBaseView",""),
|
||||||
|
PROBLEM_KNOWLEDGE_BASE("问题知识库,列表页","","/problemknowledgeBase",""),
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -138,17 +138,17 @@ public class InventoryAffirmJob implements Job {
|
|||||||
|
|
||||||
/*String msgContentCN = "您" + projectLibraryBase.getProjectName() + "(项目名称)法规清单的任务确认剩余处理时间还有3天,请及时查看处理";*/
|
/*String msgContentCN = "您" + projectLibraryBase.getProjectName() + "(项目名称)法规清单的任务确认剩余处理时间还有3天,请及时查看处理";*/
|
||||||
// XXX .
|
// XXX .
|
||||||
String msgContentEN = "The remaining processing time for the regulation list confirmation for "
|
String msgContentEN = "The remaining processing time for the regulation task confirmation for "
|
||||||
+ projectNameInfoEO.getProjectName() + "-"
|
+ projectNameInfoEO.getProjectName() + "-"
|
||||||
+ projectYearNameInfoEO.getYearName()+ " "
|
+ projectYearNameInfoEO.getYearName()+ " "
|
||||||
+ projectLibraryBase.getTargetMarket()
|
+ projectLibraryBase.getTargetMarket()
|
||||||
+ " are 3 days. Please check and handle it in time.";
|
+ " are 3 days. Please check and address it in a timely manner.";
|
||||||
String msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName()+ " " + projectLibraryBase.getTargetMarket()
|
String msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName()+ " " + projectLibraryBase.getTargetMarket()
|
||||||
+ ": You have a regulation list confirmation task to complete";
|
+ ": You have a regulation task confirmation to complete";
|
||||||
|
|
||||||
FeishuMsgVo feishuMsgVo = new FeishuMsgVo();
|
FeishuMsgVo feishuMsgVo = new FeishuMsgVo();
|
||||||
feishuMsgVo.setContent("Hello! The remaining processing time for the task are 3 days. Please check and address it in a timely manner.");
|
feishuMsgVo.setContent("Hello! The remaining processing time for the task are 3 days. Please check and address it in a timely manner.");
|
||||||
feishuMsgVo.setTaskType("Regulation List Confirmation");
|
feishuMsgVo.setTaskType("Regulation Task Confirmation");
|
||||||
feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket());
|
feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket());
|
||||||
|
|
||||||
//飞书跳转链接
|
//飞书跳转链接
|
||||||
@@ -172,22 +172,22 @@ public class InventoryAffirmJob implements Job {
|
|||||||
sendMessageMap.put("contentInfo",contentInfo);
|
sendMessageMap.put("contentInfo",contentInfo);
|
||||||
|
|
||||||
//发送消息
|
//发送消息
|
||||||
projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN, threeDaysUserIdList, projectLibraryBase.getId(), sendMessageMap, feishuMsgVo, MessageTypeEnum.LIST_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName());
|
projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN, threeDaysUserIdList, projectLibraryBase.getId(), sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
if(CollectionUtils.isNotEmpty(currentDaysUserIdList)){
|
if(CollectionUtils.isNotEmpty(currentDaysUserIdList)){
|
||||||
currentDaysUserIdList = currentDaysUserIdList.stream().distinct().collect(Collectors.toList());
|
currentDaysUserIdList = currentDaysUserIdList.stream().distinct().collect(Collectors.toList());
|
||||||
|
|
||||||
/*String msgContentCN = "您" + projectLibraryBase.getProjectName() + "(项目名称)法规清单的任务今天即将结束,请及时查看处理*/
|
/*String msgContentCN = "您" + projectLibraryBase.getProjectName() + "(项目名称)法规清单的任务今天即将结束,请及时查看处理*/
|
||||||
String msgContentEN = "The regulation list confirmation for "
|
String msgContentEN = "The regulation task confirmation for "
|
||||||
+ projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
|
+ projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
|
||||||
+ " will expire today. Please check and address it in a timely manner.";
|
+ " will expire today. Please check and address it in a timely manner.";
|
||||||
String msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName()+ " " + projectLibraryBase.getTargetMarket()
|
String msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName()+ " " + projectLibraryBase.getTargetMarket()
|
||||||
+ ": You have a regulation list confirmation task to complete";
|
+ ": You have a regulation task confirmation to complete";
|
||||||
|
|
||||||
FeishuMsgVo feishuMsgVo = new FeishuMsgVo();
|
FeishuMsgVo feishuMsgVo = new FeishuMsgVo();
|
||||||
feishuMsgVo.setContent("Hello! The task will expire today. Please check and address it in a timely manner.");
|
feishuMsgVo.setContent("Hello! The task will expire today. Please check and address it in a timely manner.");
|
||||||
feishuMsgVo.setTaskType("Regulation List Confirmation");
|
feishuMsgVo.setTaskType("Regulation Task Confirmation");
|
||||||
feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket());
|
feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket());
|
||||||
|
|
||||||
//飞书跳转链接
|
//飞书跳转链接
|
||||||
@@ -210,7 +210,7 @@ public class InventoryAffirmJob implements Job {
|
|||||||
sendMessageMap.put("hrefFeishu",hrefFeishu);
|
sendMessageMap.put("hrefFeishu",hrefFeishu);
|
||||||
sendMessageMap.put("contentInfo",contentInfo);
|
sendMessageMap.put("contentInfo",contentInfo);
|
||||||
//发送消息
|
//发送消息
|
||||||
projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN, currentDaysUserIdList, projectLibraryBase.getId(), sendMessageMap, feishuMsgVo, MessageTypeEnum.LIST_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName());
|
projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN, currentDaysUserIdList, projectLibraryBase.getId(), sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1350,7 +1350,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
//消息内容
|
//消息内容
|
||||||
String msgContentEN = currentUser.getUsername() + " initiated the regulation list confirmation for "
|
String msgContentEN = currentUser.getUsername() + " initiated the regulation list confirmation for "
|
||||||
+ projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
|
+ projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
|
||||||
+ ". The due date is:" +inventoryAffirmDueDate+ " .Please check and address it in a timely manner.";
|
+ ". The due date is " + inventoryAffirmDueDate+ ". Please check and address it in a timely manner.";
|
||||||
String msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
|
String msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
|
||||||
+ ": You have a regulation list confirmation task to complete";
|
+ ": You have a regulation list confirmation task to complete";
|
||||||
|
|
||||||
@@ -2117,11 +2117,12 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
String taskType = "";
|
String taskType = "";
|
||||||
String initiator = "";
|
String initiator = "";
|
||||||
String initiatorLark = "";
|
String initiatorLark = "";
|
||||||
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
|
|
||||||
if (StringUtils.equals(msgType, MsgTypeEnum.TASK_AFFIRM_START_MSG.getValue())) {
|
if (StringUtils.equals(msgType, MsgTypeEnum.TASK_AFFIRM_START_MSG.getValue())) {
|
||||||
userIdList.add(engineeringInterfacePerson);
|
userIdList.add(engineeringInterfacePerson);
|
||||||
msgContentEN = sysUser.getUsername() + " initiated the regulation task confirmation of " + projectNameInfoEO.getProjectName()
|
msgContentEN = sysUser.getUsername() + " initiated the regulation task confirmation of " + projectNameInfoEO.getProjectName()
|
||||||
+ ".The due date is:" +taskAffirmDueDate+ " Please check and address it in a timely manner.";
|
+ ". The due date is " + taskAffirmDueDate + ". Please check and address it in a timely manner.";
|
||||||
msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
|
msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
|
||||||
+ ": You have a regulation task confirmation to complete";
|
+ ": You have a regulation task confirmation to complete";
|
||||||
|
|
||||||
@@ -2136,7 +2137,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
String dreUserId = jsonObject.getString("dreUserId"); //dre用户id
|
String dreUserId = jsonObject.getString("dreUserId"); //dre用户id
|
||||||
userIdList.add(dreUserId);
|
userIdList.add(dreUserId);
|
||||||
msgContentEN = sysUser.getUsername() + " has assigned the regulation task confirmation of " + serialNumber + " in "+ projectNameInfoEO.getProjectName()
|
msgContentEN = sysUser.getUsername() + " has assigned the regulation task confirmation of " + serialNumber + " in "+ projectNameInfoEO.getProjectName()
|
||||||
+ ".to you. the due date is " +taskAffirmDueDate+ " Please check and handle it in time.";
|
+ " to you. The due date is " +taskAffirmDueDate+ ". Please check and handle it in time.";
|
||||||
msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
|
msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
|
||||||
+ ": You have a regulation task confirmation to complete";
|
+ ": You have a regulation task confirmation to complete";
|
||||||
|
|
||||||
@@ -2150,7 +2151,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
} else if (StringUtils.equals(msgType, MsgTypeEnum.TASK_AFFIRM_DRE_REJECTED.getValue())) {
|
} else if (StringUtils.equals(msgType, MsgTypeEnum.TASK_AFFIRM_DRE_REJECTED.getValue())) {
|
||||||
userIdList.add(engineeringInterfacePerson);
|
userIdList.add(engineeringInterfacePerson);
|
||||||
msgContentEN = sysUser.getUsername() + " has rejected the regulation task confirmation of " + serialNumber +" in "+ projectNameInfoEO.getProjectName()
|
msgContentEN = sysUser.getUsername() + " has rejected the regulation task confirmation of " + serialNumber +" in "+ projectNameInfoEO.getProjectName()
|
||||||
+ ".The due date is " +taskAffirmDueDate+ " Please check and handle it in time.";
|
+ ". The due date is " +taskAffirmDueDate+ ". Please check and handle it in time.";
|
||||||
msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
|
msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
|
||||||
+ ": You have a regulation task confirmation to complete";
|
+ ": You have a regulation task confirmation to complete";
|
||||||
|
|
||||||
@@ -2164,7 +2165,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
} else if (StringUtils.equals(msgType, MsgTypeEnum.TASK_AFFIRM_DRE_ACCEPTED.getValue())) {
|
} else if (StringUtils.equals(msgType, MsgTypeEnum.TASK_AFFIRM_DRE_ACCEPTED.getValue())) {
|
||||||
userIdList.add(engineeringInterfacePerson);
|
userIdList.add(engineeringInterfacePerson);
|
||||||
msgContentEN = sysUser.getUsername() + " has submitted the regulation task confirmation of " + serialNumber +" in "+ projectNameInfoEO.getProjectName()
|
msgContentEN = sysUser.getUsername() + " has submitted the regulation task confirmation of " + serialNumber +" in "+ projectNameInfoEO.getProjectName()
|
||||||
+ ".The due date is " +taskAffirmDueDate+ " Please check and handle it in time.";
|
+ ". The due date is " +taskAffirmDueDate+ ". Please check and handle it in time.";
|
||||||
msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
|
msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
|
||||||
+ ": You have a regulation task confirmation to complete";
|
+ ": You have a regulation task confirmation to complete";
|
||||||
|
|
||||||
@@ -2207,7 +2208,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
String designDutyId = jsonObject.getString("designDutyId"); //设计符合性责任人id
|
String designDutyId = jsonObject.getString("designDutyId"); //设计符合性责任人id
|
||||||
userIdList.add(designDutyId);
|
userIdList.add(designDutyId);
|
||||||
msgContentEN = "You recieved the design compliance task of " + serialNumber +" in "+ projectNameInfoEO.getProjectName()
|
msgContentEN = "You recieved the design compliance task of " + serialNumber +" in "+ projectNameInfoEO.getProjectName()
|
||||||
+ ". The due date is XXXX. Please check and address it in a timely manner.";
|
+ ". The due date is " + sdf.format(projectLawsInventoryEO.getDesignDueDate()) + ". Please check and address it in a timely manner.";
|
||||||
msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
|
msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
|
||||||
+ ": You have a design compliance task to complete";
|
+ ": You have a design compliance task to complete";
|
||||||
|
|
||||||
@@ -2225,7 +2226,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
String prehomoDutyId = jsonObject.getString("prehomoDutyId"); //pre-Home责任人id
|
String prehomoDutyId = jsonObject.getString("prehomoDutyId"); //pre-Home责任人id
|
||||||
userIdList.add(prehomoDutyId);
|
userIdList.add(prehomoDutyId);
|
||||||
msgContentEN = "You recieved the Pre-Homo task of " + serialNumber +" in "+ projectNameInfoEO.getProjectName()
|
msgContentEN = "You recieved the Pre-Homo task of " + serialNumber +" in "+ projectNameInfoEO.getProjectName()
|
||||||
+ ". The due date is XXXX. Please check and address it in a timely manner.";
|
+ ". The due date is " + sdf.format(projectLawsInventoryEO.getPrehomoDueDate()) + ". Please check and address it in a timely manner.";
|
||||||
msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
|
msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
|
||||||
+ ": You have a Pre-Homo task to complete";
|
+ ": You have a Pre-Homo task to complete";
|
||||||
|
|
||||||
@@ -2244,7 +2245,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
String verifyDutyId = jsonObject.getString("verifyDutyId"); //验证符合性责任人id
|
String verifyDutyId = jsonObject.getString("verifyDutyId"); //验证符合性责任人id
|
||||||
userIdList.add(verifyDutyId);
|
userIdList.add(verifyDutyId);
|
||||||
msgContentEN = "You recieved the validation compliance task of " + serialNumber +" in "+ projectNameInfoEO.getProjectName()
|
msgContentEN = "You recieved the validation compliance task of " + serialNumber +" in "+ projectNameInfoEO.getProjectName()
|
||||||
+ ". The due date is XXXX. Please check and address it in a timely manner.";
|
+ ". The due date is " + sdf.format(projectLawsInventoryEO.getVerifyDueDate()) + ". Please check and address it in a timely manner.";
|
||||||
msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
|
msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
|
||||||
+ ": You have a validation compliance task to complete";
|
+ ": You have a validation compliance task to complete";
|
||||||
|
|
||||||
|
|||||||
@@ -251,6 +251,10 @@ public class WordUtil {
|
|||||||
paragraph.setAlignment(ParagraphAlignment.CENTER);
|
paragraph.setAlignment(ParagraphAlignment.CENTER);
|
||||||
XWPFRun run = paragraph.createRun();
|
XWPFRun run = paragraph.createRun();
|
||||||
run.setText("NIO Internal");
|
run.setText("NIO Internal");
|
||||||
|
run.setFontSize(18);
|
||||||
|
run.setFontFamily("Blue Sky Standard Regular");
|
||||||
|
// run.setFontFamily("Blue Sky Noto Regular");
|
||||||
|
run.setBold(true);
|
||||||
|
|
||||||
|
|
||||||
CTSectPr sectPr = document.getDocument().getBody().getSectPr();
|
CTSectPr sectPr = document.getDocument().getBody().getSectPr();
|
||||||
|
|||||||
@@ -214,4 +214,11 @@ public class workFlowController {
|
|||||||
public Result startTaskToConfirmProcess(@RequestBody JSONObject jsonObject){
|
public Result startTaskToConfirmProcess(@RequestBody JSONObject jsonObject){
|
||||||
return workFlowFeignClient.startTaskToConfirmProcess(jsonObject);
|
return workFlowFeignClient.startTaskToConfirmProcess(jsonObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@AutoLog(value = "根据taskId删除流程")
|
||||||
|
@ApiOperation(value="根据taskId删除流程", notes="根据taskId删除流程")
|
||||||
|
@GetMapping("/deleteProcessInstanceByTaskId")
|
||||||
|
public Result<String> deleteProcessInstanceByTaskId(@RequestParam("taskId")String taskId){
|
||||||
|
return workFlowFeignClient.deleteProcessInstance(taskId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -156,4 +156,12 @@ public interface WorkFlowFeignClient {
|
|||||||
|
|
||||||
@RequestMapping(value = "/bat-wkflow/task/completeLawsTechnologyEvaluationTaskByPids",method = RequestMethod.GET)
|
@RequestMapping(value = "/bat-wkflow/task/completeLawsTechnologyEvaluationTaskByPids",method = RequestMethod.GET)
|
||||||
Result<String> completeLawsTechnologyEvaluationTaskByPids(@RequestParam("actiProcInstIds") String actiProcInstIds);
|
Result<String> completeLawsTechnologyEvaluationTaskByPids(@RequestParam("actiProcInstIds") String actiProcInstIds);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据待办id删除流程
|
||||||
|
* @param taskId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@RequestMapping(value = "/bat-wkflow/deleteProcessInstanceByTaskId",method = RequestMethod.GET)
|
||||||
|
Result<String> deleteProcessInstanceByTaskId(@RequestParam("taskId") String taskId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -177,4 +177,13 @@ public class WorkFlowFeignClientImpl{
|
|||||||
Result<String> stringWrapper = workFlowFeignClient.startTaskToConfirmProcess(jsonObject.toString());
|
Result<String> stringWrapper = workFlowFeignClient.startTaskToConfirmProcess(jsonObject.toString());
|
||||||
return Result.OK(stringWrapper.getResult());
|
return Result.OK(stringWrapper.getResult());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据待办id删除流程
|
||||||
|
* @param taskId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public Result<String> deleteProcessInstanceByTaskId(@RequestParam("taskId")String taskId){
|
||||||
|
return workFlowFeignClient.deleteProcessInstance(taskId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -92,7 +92,7 @@ spring:
|
|||||||
mvc:
|
mvc:
|
||||||
static-path-pattern: /**
|
static-path-pattern: /**
|
||||||
resource:
|
resource:
|
||||||
static-locations: classpath:/static/,classpath:/public/,classpath:/home/
|
static-locations: classpath:/static/,classpath:/public/,classpath:/home,/classpath:/nationalFlag/
|
||||||
autoconfigure:
|
autoconfigure:
|
||||||
exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
|
exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
|
||||||
datasource:
|
datasource:
|
||||||
|
|||||||
|
After Width: | Height: | Size: 153 KiB |
|
After Width: | Height: | Size: 305 KiB |
|
After Width: | Height: | Size: 129 KiB |
|
After Width: | Height: | Size: 65 KiB |
|
After Width: | Height: | Size: 78 KiB |
|
After Width: | Height: | Size: 198 KiB |
|
After Width: | Height: | Size: 66 KiB |
|
After Width: | Height: | Size: 117 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 85 KiB |
|
After Width: | Height: | Size: 127 KiB |
@@ -1252,7 +1252,8 @@ module.exports = {
|
|||||||
optionDropDownBox:'Option drop - down box',
|
optionDropDownBox:'Option drop - down box',
|
||||||
attachmentUpload:'file',
|
attachmentUpload:'file',
|
||||||
textInput:'Text Input',
|
textInput:'Text Input',
|
||||||
deleteNode:'If any file information exists, it will be deleted',
|
deleteNode:'If there is any file information, the file will be deleted. Are you sure to delete this data?',
|
||||||
HaveReleased:'Have released',
|
HaveReleased:'Have released',
|
||||||
forward:'Forward',
|
forward:'Forward',
|
||||||
|
issuedBy:'Issued by',
|
||||||
}
|
}
|
||||||
@@ -1355,7 +1355,8 @@ module.exports = {
|
|||||||
Paraname: '参数名称',
|
Paraname: '参数名称',
|
||||||
Parabatch: '参数批次',
|
Parabatch: '参数批次',
|
||||||
freeze:'请选择冻结配置',
|
freeze:'请选择冻结配置',
|
||||||
deleteNode:'若有文件信息将同步删除',
|
deleteNode:'若有文件信息将同步删除,确认删除该条数据?',
|
||||||
HaveReleased:'已发布',
|
HaveReleased:'已发布',
|
||||||
forward:'转发',
|
forward:'转发',
|
||||||
|
issuedBy:'发布人',
|
||||||
}
|
}
|
||||||
@@ -40,7 +40,7 @@
|
|||||||
:dataSource='areaTable'
|
:dataSource='areaTable'
|
||||||
:pagination='false'
|
:pagination='false'
|
||||||
:loading='loading'
|
:loading='loading'
|
||||||
:scroll="{x: '100%',y:'calc(100vh - 130px)'}"
|
:scroll="{x: '100%',y:600}"
|
||||||
:rowSelection='{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}'
|
:rowSelection='{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}'
|
||||||
@change='handleTableChange'>
|
@change='handleTableChange'>
|
||||||
|
|
||||||
|
|||||||
@@ -350,13 +350,23 @@
|
|||||||
}
|
}
|
||||||
postAction('/workFlow/startProcess', query).then((res) => {
|
postAction('/workFlow/startProcess', query).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
this.completeTask(value, res.result)
|
this.completeTask(value, res.result, true)
|
||||||
} else {
|
} else {
|
||||||
this.JLoading = false
|
this.JLoading = false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
completeTask(value, taskId) {
|
deleteProcessInstanceByTask(taskId) {
|
||||||
|
getAction('/workFlow/deleteProcessInstanceByTaskId', { taskId: taskId }).then((res) => {
|
||||||
|
})
|
||||||
|
},
|
||||||
|
completeTask(value, taskId, isTrue) {
|
||||||
|
Object.keys(value).forEach(res => {
|
||||||
|
if (value[res] && value[res] instanceof String) {
|
||||||
|
value[res] = value[res].replace(/\"/g, '“')
|
||||||
|
value[res] = value[res].replace(/\'/g, '‘')
|
||||||
|
}
|
||||||
|
})
|
||||||
let query = {
|
let query = {
|
||||||
userid: this.userInfo().id,
|
userid: this.userInfo().id,
|
||||||
taskId: taskId,
|
taskId: taskId,
|
||||||
@@ -375,6 +385,9 @@
|
|||||||
} else {
|
} else {
|
||||||
this.JLoading = false
|
this.JLoading = false
|
||||||
this.$message.warning(this.$t('operationFailed'))
|
this.$message.warning(this.$t('operationFailed'))
|
||||||
|
if (isTrue) {
|
||||||
|
this.deleteProcessInstanceByTask(taskId)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,55 +37,26 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="content-box">
|
<div class="content-box">
|
||||||
<div class="content-box-box" @click="contentClick()">
|
<div class="content-box-box" v-for="(item,index) in conList" :key="index" @click="contentClick(item)">
|
||||||
<img src="../../../../assets/mobileHome.png" class="content-box-box-img" alt="">
|
<img :src="item.countryNationalFlag" class="content-box-box-img" alt="">
|
||||||
<span class="content-box-box-text">
|
<span class="content-box-box-text">
|
||||||
中国
|
{{item.applyMarket_dictText}}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="content-box-box">
|
|
||||||
<img src="../../../../assets/mobileHome.png" class="content-box-box-img" alt="">
|
|
||||||
<span class="content-box-box-text">
|
|
||||||
中国
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
<div class="content-box-box">
|
|
||||||
<img src="../../../../assets/mobileHome.png" class="content-box-box-img" alt="">
|
|
||||||
<span class="content-box-box-text">
|
|
||||||
中国
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
<div class="content-box-box">
|
|
||||||
<img src="../../../../assets/mobileHome.png" class="content-box-box-img" alt="">
|
|
||||||
<span class="content-box-box-text">
|
|
||||||
中国
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
<div class="content-box-box">
|
|
||||||
<img src="../../../../assets/mobileHome.png" class="content-box-box-img" alt="">
|
|
||||||
<span class="content-box-box-text">
|
|
||||||
中国
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
<div class="content-box-box">
|
|
||||||
<img src="../../../../assets/mobileHome.png" class="content-box-box-img" alt="">
|
|
||||||
<span class="content-box-box-text">
|
|
||||||
中国
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
<div class="page">
|
|
||||||
<a-pagination
|
|
||||||
:show-total="total => $t('total')+` ${total} `+$t('strip')"
|
|
||||||
show-quick-jumper
|
|
||||||
show-size-changer
|
|
||||||
:page-size.sync="pageSize"
|
|
||||||
:total="total"
|
|
||||||
:current="pageNo"
|
|
||||||
@change="pageOnChange"
|
|
||||||
@showSizeChange="SizeChange"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
<div class="page">
|
||||||
|
<a-pagination
|
||||||
|
:show-total="total => $t('total')+` ${total} `+$t('strip')"
|
||||||
|
show-quick-jumper
|
||||||
|
show-size-changer
|
||||||
|
:page-size.sync="pageSize"
|
||||||
|
:total="total"
|
||||||
|
:current="pageNo"
|
||||||
|
@change="pageOnChange"
|
||||||
|
@showSizeChange="SizeChange"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<JLoading :loading="loading">{{$t('dataLoading')}}</JLoading>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -101,11 +72,16 @@
|
|||||||
applyMarketList: [],
|
applyMarketList: [],
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
total: 0,
|
total: 0,
|
||||||
pageNo: 1
|
pageNo: 1,
|
||||||
|
loading: false,
|
||||||
|
url: {
|
||||||
|
getInfoList: '/problemKnowledgeBase/countryCardManageReleaseEO/page'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.getApplyMarketList()
|
this.getApplyMarketList()
|
||||||
|
this.getList()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
getApplyMarketList() {
|
getApplyMarketList() {
|
||||||
@@ -118,10 +94,15 @@
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
searchQuery() {
|
searchQuery() {
|
||||||
|
this.pageNo = 1
|
||||||
|
this.getApplyMarketList()
|
||||||
|
this.getList()
|
||||||
},
|
},
|
||||||
searchReset() {
|
searchReset() {
|
||||||
|
this.pageNo = 1
|
||||||
|
this.getApplyMarketList()
|
||||||
|
this.queryParam = {}
|
||||||
|
this.getList()
|
||||||
},
|
},
|
||||||
pageOnChange(page, pageSize) {
|
pageOnChange(page, pageSize) {
|
||||||
this.pageNo = page
|
this.pageNo = page
|
||||||
@@ -135,14 +116,19 @@
|
|||||||
getList() {
|
getList() {
|
||||||
let query = {
|
let query = {
|
||||||
pageNo: this.pageNo,
|
pageNo: this.pageNo,
|
||||||
pageSize: this.pageSize
|
pageSize: this.pageSize,
|
||||||
|
releaseStatus: 'Have released',
|
||||||
|
...this.queryParam
|
||||||
}
|
}
|
||||||
postAction(this.url.getInfoList, query).then((res) => {
|
this.loading = true
|
||||||
|
getAction(this.url.getInfoList, query).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
this.conList = res.result.records
|
this.conList = res.result.records
|
||||||
this.total = res.result.total
|
this.total = res.result.total
|
||||||
|
this.loading = false
|
||||||
} else {
|
} else {
|
||||||
this.conList = []
|
this.conList = []
|
||||||
|
this.loading = false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -153,10 +139,13 @@
|
|||||||
})
|
})
|
||||||
window.open(newUrl.href, '_blank')
|
window.open(newUrl.href, '_blank')
|
||||||
},
|
},
|
||||||
contentClick() {
|
contentClick(row) {
|
||||||
let newUrl = this.$router.resolve({
|
let newUrl = this.$router.resolve({
|
||||||
path: '/countryCardView',
|
path: '/countryCardView',
|
||||||
query: {}
|
query: {
|
||||||
|
applyMarket: row.applyMarket,
|
||||||
|
id: row.id
|
||||||
|
}
|
||||||
})
|
})
|
||||||
window.open(newUrl.href, '_blank')
|
window.open(newUrl.href, '_blank')
|
||||||
}
|
}
|
||||||
@@ -208,6 +197,7 @@
|
|||||||
|
|
||||||
.content-box {
|
.content-box {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.content-box-box {
|
.content-box-box {
|
||||||
@@ -226,14 +216,14 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.content-box-box-img {
|
.content-box-box-img {
|
||||||
width: 70%;
|
width: 238px;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
border-right: 1px #d9d9d9 solid;
|
border-right: 1px #d9d9d9 solid;
|
||||||
}
|
}
|
||||||
|
|
||||||
.content-box-box-text {
|
.content-box-box-text {
|
||||||
|
width: calc(100% - 238px);
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 30%;
|
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
@@ -244,6 +234,7 @@
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
|
margin-bottom: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.operator-text {
|
.operator-text {
|
||||||
|
|||||||
@@ -234,7 +234,7 @@
|
|||||||
url = this.url.edit
|
url = this.url.edit
|
||||||
this.dataList.forEach(res => {
|
this.dataList.forEach(res => {
|
||||||
content.push({
|
content.push({
|
||||||
countryCardTempId: res.id,
|
countryCardTempId: res.countryCardTempId,
|
||||||
description: res.description,
|
description: res.description,
|
||||||
content: res.content,
|
content: res.content,
|
||||||
id: res.id
|
id: res.id
|
||||||
|
|||||||
@@ -23,19 +23,37 @@
|
|||||||
</div>
|
</div>
|
||||||
<div style="overflow: auto;height: calc(100vh - 160px);">
|
<div style="overflow: auto;height: calc(100vh - 160px);">
|
||||||
<div class="content-box" :style="{'width':clientWidth}" v-if="isTrue">
|
<div class="content-box" :style="{'width':clientWidth}" v-if="isTrue">
|
||||||
<div style="width: 100%" v-for="(item1,index) in 14" class="content-box-top">
|
<div style="width: 100%" v-for="(item1,index) in contentList" class="content-box-top">
|
||||||
<div v-for="(item2,index2) in 16" style="width: 340px;display: inline-block" class="content-box-left">
|
<div v-for="(item2,index2) in item1.list" style="width: 340px;display: inline-block"
|
||||||
|
class="content-box-left">
|
||||||
<div class="content-box-box-top" v-if="index == 0">
|
<div class="content-box-box-top" v-if="index == 0">
|
||||||
<img src="../../../../assets/mobileHome.png" class="content-box-box-img" alt="">
|
<img class="content-box-box-img" style="display: inline-block;width: auto" v-if="index2 == 0">
|
||||||
<span class="content-box-box-text">
|
<img :src="item2.img" v-else class="content-box-box-img" alt="">
|
||||||
中国
|
<span v-if="index2 == 0" class="content-box-box-text"></span>
|
||||||
</span>
|
<span v-else class="content-box-box-text">
|
||||||
|
{{item2.applyMarket_dictText}}
|
||||||
|
</span>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="content-box-box" v-else>
|
<div class="content-box-box" v-else>
|
||||||
<img src="../../../../assets/mobileHome.png" class="content-box-box-img" alt="">
|
<span style="color: #21c9cc"
|
||||||
<span class="content-box-box-text">
|
:class="{'content-box-box-text-admin':!item2.lableName || item2.lableName == 'null' || item2.lableName == 'undefined'? true : false}"
|
||||||
中国
|
class="content-box-box-text content-box-box-text-index"
|
||||||
</span>
|
@click="viewFileClick(item2.lableName)"
|
||||||
|
v-if="item2.lableType == 7 && item2.lableName && index2 != 0">
|
||||||
|
{{$t('viewFile')}}
|
||||||
|
</span>
|
||||||
|
<span class="content-box-box-text content-box-box-text-index"
|
||||||
|
v-else
|
||||||
|
:title="item2.lableName"
|
||||||
|
:class="{'content-box-box-text-admin':!item2.lableName || item2.lableName == 'null' || item2.lableName == 'undefined'? true : false}">
|
||||||
|
{{item2.lableName}}
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<!-- <img src="../../../../assets/mobileHome.png" class="content-box-box-img" alt="">-->
|
||||||
|
<!-- <span class="content-box-box-text">-->
|
||||||
|
<!-- 中国-->
|
||||||
|
<!-- </span>-->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -44,8 +62,11 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<displayInformationModel ref="displayInformationModelRef"/>
|
<displayInformationModel ref="displayInformationModelRef"
|
||||||
|
@displayInformationModelForm="displayInformationModelForm"/>
|
||||||
<countryCardViewAdd ref="countryCardViewAddRef" @countryCardViewAddForm="countryCardViewAddForm"/>
|
<countryCardViewAdd ref="countryCardViewAddRef" @countryCardViewAddForm="countryCardViewAddForm"/>
|
||||||
|
<JLoading :loading="loading">{{$t('dataLoading')}}</JLoading>
|
||||||
|
<viewFileModel ref="viewFileModelRef"/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -53,35 +74,154 @@
|
|||||||
import { getAction, postAction, downloadFile } from '@/api/manage'
|
import { getAction, postAction, downloadFile } from '@/api/manage'
|
||||||
import displayInformationModel from './displayInformationModel'
|
import displayInformationModel from './displayInformationModel'
|
||||||
import countryCardViewAdd from './countryCardViewAdd'
|
import countryCardViewAdd from './countryCardViewAdd'
|
||||||
|
import viewFileModel from '@/components/viewFileModel/index'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'countryCardView',
|
name: 'countryCardView',
|
||||||
components: {
|
components: {
|
||||||
displayInformationModel,
|
displayInformationModel,
|
||||||
countryCardViewAdd
|
countryCardViewAdd,
|
||||||
|
viewFileModel
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
clientWidth: '',
|
clientWidth: '',
|
||||||
isTrue: false
|
isTrue: false,
|
||||||
|
loading: false,
|
||||||
|
dataList: [],
|
||||||
|
contentList: [],
|
||||||
|
displayList: [],
|
||||||
|
queryCountryList: [],
|
||||||
|
countryCardViewList:[],
|
||||||
|
applyMarkets: '',
|
||||||
|
url: {
|
||||||
|
list: '/problemKnowledgeBase/countryCardTempEO/list',
|
||||||
|
deleteOne: ''
|
||||||
|
},
|
||||||
|
list: '/problemKnowledgeBase/countryCardManageReleaseEO/queryCountryCardManageReleaseByApplyMarkets'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.isTrue = false
|
this.queryCountry(() => {
|
||||||
this.$nextTick(() => {
|
this.replacePage()
|
||||||
this.clientWidth = 340 * 14 + 'px'
|
|
||||||
this.isTrue = true
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
displayInformationClick() {
|
displayInformationClick() {
|
||||||
this.$refs.displayInformationModelRef.getData()
|
this.$refs.displayInformationModelRef.getData(JSON.parse(JSON.stringify(this.displayList)))
|
||||||
|
},
|
||||||
|
displayInformationModelForm(data) {
|
||||||
|
this.displayList = data
|
||||||
|
this.displayList = [...this.displayList]
|
||||||
|
this.consolidateData()
|
||||||
},
|
},
|
||||||
newlyAddedClick() {
|
newlyAddedClick() {
|
||||||
this.$refs.countryCardViewAddRef.add()
|
this.$refs.countryCardViewAddRef.add(this.countryCardViewList)
|
||||||
},
|
},
|
||||||
countryCardViewAddForm() {
|
countryCardViewAddForm(val) {
|
||||||
|
this.countryCardViewList = JSON.parse(JSON.stringify(val))
|
||||||
|
let content = []
|
||||||
|
if (val && val.length > 0) {
|
||||||
|
val.forEach(res => {
|
||||||
|
if (res.applyMarket) {
|
||||||
|
content.push(res.applyMarket)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
this.applyMarkets = content.join(',')
|
||||||
|
this.queryCountry()
|
||||||
|
},
|
||||||
|
replacePage() {
|
||||||
|
getAction(this.url.list, {}).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
this.displayList = res.result || []
|
||||||
|
this.displayList.forEach(val => {
|
||||||
|
val.showOrNot = true
|
||||||
|
})
|
||||||
|
this.consolidateData()
|
||||||
|
this.loading = false
|
||||||
|
} else {
|
||||||
|
this.displayList = []
|
||||||
|
this.loading = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
consolidateData() {
|
||||||
|
let content = []
|
||||||
|
this.contentList = []
|
||||||
|
this.contentList.push({})
|
||||||
|
if (this.displayList && this.displayList.length > 0) {
|
||||||
|
this.displayList.forEach(res => {
|
||||||
|
if (res.showOrNot) {
|
||||||
|
content.push(res)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if (this.queryCountryList && this.queryCountryList.length > 0) {
|
||||||
|
this.contentList[0].list = []
|
||||||
|
this.contentList[0].list.push({})
|
||||||
|
this.queryCountryList.forEach(val => {
|
||||||
|
this.contentList[0].name = 'tou'
|
||||||
|
this.contentList[0].list.push({
|
||||||
|
applyMarket_dictText: val.applyMarket_dictText,
|
||||||
|
img: val.countryNationalFlag
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if (content && content.length > 0) {
|
||||||
|
content.forEach((res, index) => {
|
||||||
|
this.contentList[index + 1] = { name: res.lableName }
|
||||||
|
this.contentList[index + 1].list = []
|
||||||
|
this.contentList[index + 1].list.push({
|
||||||
|
lableName: res.lableName,
|
||||||
|
lableType: res.lableType
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
this.queryCountryList.forEach((res, index) => {
|
||||||
|
res.countryCardManageReleaseDetailEOList.forEach((val, index1) => {
|
||||||
|
this.contentList.forEach(res1 => {
|
||||||
|
if (res1.name == val.lableName) {
|
||||||
|
res1.list.push({
|
||||||
|
lableName: val.content,
|
||||||
|
lableType: val.lableType
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
queryCountry(callback) {
|
||||||
|
this.loading = true
|
||||||
|
let applyMarkets = this.$route.query.applyMarket
|
||||||
|
if (this.applyMarkets) {
|
||||||
|
applyMarkets = applyMarkets + ',' + this.applyMarkets
|
||||||
|
}
|
||||||
|
let query = {
|
||||||
|
applyMarkets: applyMarkets
|
||||||
|
}
|
||||||
|
postAction(this.list, query).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
this.queryCountryList = res.result || []
|
||||||
|
this.isTrue = false
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.clientWidth = 340 * (this.queryCountryList.length + 1) + 'px'
|
||||||
|
this.isTrue = true
|
||||||
|
})
|
||||||
|
callback && callback()
|
||||||
|
if (!callback) {
|
||||||
|
this.consolidateData()
|
||||||
|
this.loading = false
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
callback && callback()
|
||||||
|
this.contentList = []
|
||||||
|
this.loading = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
viewFileClick(item) {
|
||||||
|
this.$refs.viewFileModelRef.clickButtonToUpload(item)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -201,6 +341,8 @@
|
|||||||
width: 340px;
|
width: 340px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
height: 80px;
|
height: 80px;
|
||||||
|
line-height: 80px;
|
||||||
|
text-align: center;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
border-right: 1px #d9d9d9 solid;
|
border-right: 1px #d9d9d9 solid;
|
||||||
border-bottom: 1px #d9d9d9 solid;
|
border-bottom: 1px #d9d9d9 solid;
|
||||||
@@ -232,10 +374,28 @@
|
|||||||
background: #fff;
|
background: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.content-box-top {
|
||||||
|
height: 80px;
|
||||||
|
}
|
||||||
|
|
||||||
.content-box-top:first-child {
|
.content-box-top:first-child {
|
||||||
position: sticky;
|
position: sticky;
|
||||||
top: 0;
|
top: 0;
|
||||||
|
height: 160px;
|
||||||
z-index: 111;
|
z-index: 111;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.content-box-box-text-index {
|
||||||
|
width: 100% !important;
|
||||||
|
padding: 0 12px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-box-box-text-admin {
|
||||||
|
height: 80px !important;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
@@ -14,14 +14,15 @@
|
|||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<div class="box-title-text">
|
<div class="box-title-text">
|
||||||
<div class="title-text">
|
<div class="title-text">
|
||||||
<span class="Required">*</span>
|
|
||||||
<span class="title-text-text"
|
<span class="title-text-text"
|
||||||
:title="$t('applicableMarket')">{{$t('applicableMarket')}}</span>
|
:title="$t('applicableMarket')">{{$t('applicableMarket')}}</span>
|
||||||
</div>
|
</div>
|
||||||
<a-form-model-item class="itemModel" prop="applicableMarket">
|
<a-form-model-item class="itemModel" prop="applicableMarket">
|
||||||
<a-input class="box-input"
|
<j-dict-select-tag class="box-input" v-model="formInline.applyMarket"
|
||||||
v-model="formInline.applicableMarket"
|
:disabled="true"
|
||||||
:placeholder="$t('PleaseEnter')+$t('applicableMarket')"/>
|
:placeholder="$t('PleaseSelect')+$t('applicableMarket')"
|
||||||
|
:type="'select'"
|
||||||
|
:triggerChange="false" :dictCode="'region'"/>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -30,19 +31,27 @@
|
|||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<div class="box-title-text">
|
<div class="box-title-text">
|
||||||
<div class="title-text">
|
<div class="title-text">
|
||||||
<span class="Required">*</span>
|
|
||||||
<span class="title-text-text" :title="$t('comparisonMarket')+(index+1)">{{$t('comparisonMarket')+(index+1)}}</span>
|
<span class="title-text-text" :title="$t('comparisonMarket')+(index+1)">{{$t('comparisonMarket')+(index+1)}}</span>
|
||||||
</div>
|
</div>
|
||||||
<a-form-model-item class="itemModel" style="width: calc(100% - 220px)" prop="comparisonMarket">
|
<a-form-model-item class="itemModel" style="width: calc(100% - 220px)" prop="comparisonMarket">
|
||||||
<a-input class="box-input"
|
<a-select :placeholder="$t('PleaseSelect')+$t('applicableMarket')"
|
||||||
v-model="formInline.comparisonMarket"
|
:disabled="false"
|
||||||
:placeholder="$t('PleaseEnter')+$t('comparisonMarket')"/>
|
@change="applyMarketChange"
|
||||||
|
v-model="item.applyMarket">
|
||||||
|
<a-select-option v-for="(item, key) in item.applyMarketList"
|
||||||
|
:key="key"
|
||||||
|
:value="item.applyMarket">
|
||||||
|
<span style="display: inline-block;width: 100%" :title=" item.applyMarket_dictText ">
|
||||||
|
{{ item.applyMarket_dictText}}
|
||||||
|
</span>
|
||||||
|
</a-select-option>
|
||||||
|
</a-select>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
|
|
||||||
<a-icon class="icon-size"
|
<a-icon class="icon-size"
|
||||||
style="margin-left: 8px"
|
style="margin-left: 8px"
|
||||||
@click="addData"
|
@click="addData"
|
||||||
v-if="(formInline.dataList.length-1) == index"
|
v-if="(formInline.dataList.length-1) == index && formInline.dataList.length < 5"
|
||||||
type="plus-circle"/>
|
type="plus-circle"/>
|
||||||
<a-icon class="icon-size"
|
<a-icon class="icon-size"
|
||||||
@click="deleteData"
|
@click="deleteData"
|
||||||
@@ -65,6 +74,10 @@
|
|||||||
visible: false,
|
visible: false,
|
||||||
confirmLoading: false,
|
confirmLoading: false,
|
||||||
formInline: {},
|
formInline: {},
|
||||||
|
applyMarketList: [],
|
||||||
|
url: {
|
||||||
|
getInfoList: '/problemKnowledgeBase/countryCardManageReleaseEO/list'
|
||||||
|
},
|
||||||
rules: {
|
rules: {
|
||||||
personChargeName: [
|
personChargeName: [
|
||||||
{
|
{
|
||||||
@@ -97,13 +110,20 @@
|
|||||||
mounted() {
|
mounted() {
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
add() {
|
add(data) {
|
||||||
this.visible = true
|
this.visible = true
|
||||||
|
console.log(data)
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.formInline = {}
|
this.formInline = {}
|
||||||
this.formInline.dataList = [{
|
this.formInline.applyMarket = this.$route.query.applyMarket
|
||||||
relatedSection: ''
|
if (data && data.length > 0) {
|
||||||
}]
|
this.formInline.dataList = JSON.parse(JSON.stringify(data))
|
||||||
|
} else {
|
||||||
|
this.formInline.dataList = [{
|
||||||
|
applyMarket: ''
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
this.getList()
|
||||||
this.formInline = { ...this.formInline }
|
this.formInline = { ...this.formInline }
|
||||||
this.$refs.ruleForm.clearValidate()
|
this.$refs.ruleForm.clearValidate()
|
||||||
})
|
})
|
||||||
@@ -113,29 +133,77 @@
|
|||||||
this.formInline = { ...this.formInline }
|
this.formInline = { ...this.formInline }
|
||||||
},
|
},
|
||||||
handleOk() {
|
handleOk() {
|
||||||
this.$refs.ruleForm.validate(valid => {
|
this.$emit('countryCardViewAddForm', JSON.parse(JSON.stringify(this.formInline.dataList)))
|
||||||
if (valid) {
|
this.visible = false
|
||||||
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
handleCancel() {
|
handleCancel() {
|
||||||
this.visible = false
|
this.visible = false
|
||||||
},
|
},
|
||||||
addData() {
|
addData() {
|
||||||
this.formInline.dataList.push({
|
this.formInline.dataList.push({
|
||||||
relatedSection: ''
|
applyMarket: ''
|
||||||
})
|
})
|
||||||
|
this.consolidateData()
|
||||||
this.formInline = { ...this.formInline }
|
this.formInline = { ...this.formInline }
|
||||||
},
|
},
|
||||||
deleteData() {
|
deleteData() {
|
||||||
this.formInline.dataList.pop()
|
this.formInline.dataList.pop()
|
||||||
|
this.consolidateData()
|
||||||
this.formInline = { ...this.formInline }
|
this.formInline = { ...this.formInline }
|
||||||
|
},
|
||||||
|
getList() {
|
||||||
|
let query = {
|
||||||
|
releaseStatus: 'Have released'
|
||||||
|
}
|
||||||
|
getAction(this.url.getInfoList, query).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
this.applyMarketList = res.result
|
||||||
|
this.consolidateData()
|
||||||
|
} else {
|
||||||
|
this.applyMarketList = []
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
consolidateData() {
|
||||||
|
let content = []
|
||||||
|
content.push(this.$route.query.applyMarket)
|
||||||
|
content = content.join(',')
|
||||||
|
this.applyMarketList = this.applyMarketList.filter(res => {
|
||||||
|
return !content.includes(res.applyMarket)
|
||||||
|
})
|
||||||
|
let contentIndex = []
|
||||||
|
if (this.formInline.dataList && this.formInline.dataList.length > 0) {
|
||||||
|
this.formInline.dataList.forEach(res => {
|
||||||
|
contentIndex.push(res.applyMarket)
|
||||||
|
res.applyMarketList = []
|
||||||
|
this.applyMarketList.forEach(val => {
|
||||||
|
res.applyMarketList.push(val)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
contentIndex = contentIndex.join(',')
|
||||||
|
for (let i = 0; i < this.formInline.dataList.length; i++) {
|
||||||
|
for (let j = 0; j < this.formInline.dataList[i].applyMarketList.length; j++) {
|
||||||
|
if (contentIndex.includes(this.formInline.dataList[i].applyMarketList[j].applyMarket)
|
||||||
|
&& this.formInline.dataList[i].applyMarket != this.formInline.dataList[i].applyMarketList[j].applyMarket) {
|
||||||
|
this.formInline.dataList[i].applyMarketList.splice(j, 1)
|
||||||
|
j--
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.formInline = { ...this.formInline }
|
||||||
|
},
|
||||||
|
applyMarketChange() {
|
||||||
|
this.consolidateData()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
<style>
|
||||||
|
.ant-select-disabled {
|
||||||
|
color: rgba(0, 0, 0, 0.65) !important;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.box-title-text {
|
.box-title-text {
|
||||||
line-height: 1.4;
|
line-height: 1.4;
|
||||||
|
|||||||
@@ -11,27 +11,17 @@
|
|||||||
style="height: 100%;overflow: auto;padding-bottom: 53px;">
|
style="height: 100%;overflow: auto;padding-bottom: 53px;">
|
||||||
<div style="margin-bottom: 60px">
|
<div style="margin-bottom: 60px">
|
||||||
<a-table
|
<a-table
|
||||||
|
v-if="this.visible"
|
||||||
|
:key="'id'"
|
||||||
:columns="columns"
|
:columns="columns"
|
||||||
:scroll="{x: '100%',y:'calc(100vh - 300px)'}"
|
:scroll="{x: '100%',y:'calc(100vh - 200px)'}"
|
||||||
:data-source="dataList"
|
:data-source="dataList"
|
||||||
:pagination="false"
|
:pagination="false"
|
||||||
:loading="loading">
|
:loading="loading">
|
||||||
<span slot="showOrNot" slot-scope="text,record">
|
<span slot="showOrNot" slot-scope="text,record,index">
|
||||||
<a-checkbox :value="text"></a-checkbox>
|
<a-checkbox :checked="record.showOrNot" @change="onCheckAllChange(index)"></a-checkbox>
|
||||||
</span>
|
</span>
|
||||||
</a-table>
|
</a-table>
|
||||||
<div class="page" v-if="dataList.length > 0">
|
|
||||||
<a-pagination
|
|
||||||
:show-total="total => $t('total')+`${total}`+$t('strip')"
|
|
||||||
show-quick-jumper
|
|
||||||
show-size-changer
|
|
||||||
:page-size.sync="pageSize"
|
|
||||||
:total="total"
|
|
||||||
:current="pageNo"
|
|
||||||
@change="onChange"
|
|
||||||
@showSizeChange="SizeChange"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="drawer-bootom-button">
|
<div class="drawer-bootom-button">
|
||||||
<a-button style="margin-right: .8rem" @click="handleCancel">{{$t('cancel')}}</a-button>
|
<a-button style="margin-right: .8rem" @click="handleCancel">{{$t('cancel')}}</a-button>
|
||||||
@@ -49,21 +39,18 @@
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
url: {
|
url: {
|
||||||
list: '',
|
list: '/problemKnowledgeBase/countryCardTempEO/list',
|
||||||
deleteOne: ''
|
deleteOne: ''
|
||||||
},
|
},
|
||||||
visible: false,
|
visible: false,
|
||||||
selectedRowKeys: [],
|
selectedRowKeys: [],
|
||||||
dataList: [{}],
|
dataList: [],
|
||||||
loading: false,
|
loading: false,
|
||||||
pageNo: 1,
|
confirmLoading: false,
|
||||||
pageSize: 10,
|
|
||||||
confirmLoading:false,
|
|
||||||
total: 0,
|
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
title: this.$t('LabelName'),
|
title: this.$t('LabelName'),
|
||||||
dataIndex: 'LabelName',
|
dataIndex: 'lableName',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
ellipsis: true
|
ellipsis: true
|
||||||
},
|
},
|
||||||
@@ -80,41 +67,22 @@
|
|||||||
mounted() {
|
mounted() {
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
getData() {
|
getData(data) {
|
||||||
this.visible = true
|
this.visible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.dataList = data
|
||||||
|
this.dataList = [...this.dataList]
|
||||||
|
})
|
||||||
},
|
},
|
||||||
handleCancel() {
|
handleCancel() {
|
||||||
this.visible = false
|
this.visible = false
|
||||||
},
|
},
|
||||||
handleSubmit(){
|
handleSubmit() {
|
||||||
|
this.$emit('displayInformationModelForm', this.dataList)
|
||||||
|
this.visible = false
|
||||||
},
|
},
|
||||||
onChange(page, pageSize) {
|
onCheckAllChange(index) {
|
||||||
this.pageNo = page
|
this.dataList[index].showOrNot = !this.dataList[index].showOrNot
|
||||||
this.replacePage()
|
|
||||||
},
|
|
||||||
SizeChange(page, pageSize) {
|
|
||||||
this.pageNo = 1
|
|
||||||
this.pageSize = pageSize
|
|
||||||
this.replacePage()
|
|
||||||
},
|
|
||||||
replacePage() {
|
|
||||||
let query = {
|
|
||||||
pageNo: this.pageNo,
|
|
||||||
pageSize: this.pageSize
|
|
||||||
}
|
|
||||||
this.loading = true
|
|
||||||
postAction(this.url.list, query).then((res) => {
|
|
||||||
if (res.success) {
|
|
||||||
this.dataList = res.result.records || []
|
|
||||||
this.total = res.result.total
|
|
||||||
this.loading = false
|
|
||||||
} else {
|
|
||||||
this.dataList = []
|
|
||||||
this.total = 0
|
|
||||||
this.loading = false
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -92,12 +92,11 @@
|
|||||||
<span class="title-text-text" :title="$t('market')">{{$t('market')}}</span>
|
<span class="title-text-text" :title="$t('market')">{{$t('market')}}</span>
|
||||||
</div>
|
</div>
|
||||||
<a-form-model-item class="itemModel" prop="targetMarket">
|
<a-form-model-item class="itemModel" prop="targetMarket">
|
||||||
<j-dict-select-tag class="box-input" v-model="formInline.targetMarket"
|
<j-multi-select-tag class="box-input" v-model="formInline.targetMarket"
|
||||||
:disabled="disabled"
|
:disabled="disabled"
|
||||||
@input="handleInput('targetMarket')"
|
:placeholder="$t('PleaseSelect')+$t('market')"
|
||||||
:placeholder="$t('PleaseSelect')+$t('market')"
|
:type="'select'"
|
||||||
:type="'select'"
|
:triggerChange="false" :dictCode="'region'"/>
|
||||||
:triggerChange="false" :dictCode="'region'"/>
|
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -110,6 +109,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<a-form-model-item class="itemModel" prop="standNumber">
|
<a-form-model-item class="itemModel" prop="standNumber">
|
||||||
<a-input class="box-input"
|
<a-input class="box-input"
|
||||||
|
:title="formInline.standNumber"
|
||||||
:disabled="true"
|
:disabled="true"
|
||||||
v-model="formInline.standNumber"
|
v-model="formInline.standNumber"
|
||||||
:placeholder="$t('PleaseEnter')+$t('standardNo')"/>
|
:placeholder="$t('PleaseEnter')+$t('standardNo')"/>
|
||||||
@@ -133,11 +133,12 @@
|
|||||||
<div class="title-text">
|
<div class="title-text">
|
||||||
<span class="title-text-text">{{$t('content')}}</span>
|
<span class="title-text-text">{{$t('content')}}</span>
|
||||||
</div>
|
</div>
|
||||||
<a-form-model-item class="itemModel" prop="vehiclePlatform">
|
<a-form-model-item style="height: 300px" class="itemModel" prop="content">
|
||||||
<quill-editor
|
<quill-editor
|
||||||
style="height: 300px"
|
style="height: 300px"
|
||||||
:content="formInline.content"
|
:content="formInline.content"
|
||||||
:options="editorOption"
|
:options="editorOption"
|
||||||
|
@blur="quilleditorBlur"
|
||||||
@change="onEditorChange($event)"
|
@change="onEditorChange($event)"
|
||||||
/>
|
/>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
@@ -239,6 +240,13 @@
|
|||||||
message: this.$t('market') + this.$t('cannotEmpty'),
|
message: this.$t('market') + this.$t('cannotEmpty'),
|
||||||
trigger: 'change'
|
trigger: 'change'
|
||||||
}
|
}
|
||||||
|
],
|
||||||
|
content: [
|
||||||
|
{
|
||||||
|
max: 5000,
|
||||||
|
message: this.$t('content') + this.$t('cannotExceed') + 5000 + this.$t('Characters'),
|
||||||
|
trigger: 'change'
|
||||||
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
url: {
|
url: {
|
||||||
@@ -276,6 +284,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
quilleditorBlur() {
|
||||||
|
this.$refs.ruleForm.validateField('content')
|
||||||
|
},
|
||||||
getBase() {
|
getBase() {
|
||||||
getAction('/problemKnowledgeBase/problemKnowledgeBaseClassifyEO/list', {}).then((res) => {
|
getAction('/problemKnowledgeBase/problemKnowledgeBaseClassifyEO/list', {}).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
@@ -340,7 +351,6 @@
|
|||||||
}
|
}
|
||||||
,
|
,
|
||||||
onEditorChange({ quill, html, text }) {
|
onEditorChange({ quill, html, text }) {
|
||||||
console.log('editor change!', quill, html, text)
|
|
||||||
this.formInline.content = html
|
this.formInline.content = html
|
||||||
}
|
}
|
||||||
,
|
,
|
||||||
|
|||||||
@@ -13,13 +13,15 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="box-content">
|
<div class="box-content">
|
||||||
<div class="box-content-left">
|
<div class="box-content-left">
|
||||||
<span class="box-content-left-text">{{$t('recentHotSpots')}}</span>
|
<template v-for="tag in tagList">
|
||||||
<span class="box-content-left-text">{{$t('disseminationMaterials')}}</span>
|
<a-checkable-tag
|
||||||
<span class="box-content-left-text">{{$t('informationSafety')}}</span>
|
:key="tag.id"
|
||||||
<span class="box-content-left-text">{{$t('blueBook')}}</span>
|
:checked="selectedTags.indexOf(tag.id) > -1"
|
||||||
<span class="box-content-left-text">{{$t('invoiceCollection')}}</span>
|
@change="checked => handleChange(tag.id, checked)"
|
||||||
<span class="box-content-left-text">{{$t('productHighlights')}}</span>
|
>
|
||||||
<span class="box-content-left-text">{{$t('financialReimbursement')}}</span>
|
{{ tag.problemLabel }}
|
||||||
|
</a-checkable-tag>
|
||||||
|
</template>
|
||||||
</div>
|
</div>
|
||||||
<div class="box-content-right">
|
<div class="box-content-right">
|
||||||
<div @click="classificationClick" class="operator-text" v-has="'virtual:set:creater'">
|
<div @click="classificationClick" class="operator-text" v-has="'virtual:set:creater'">
|
||||||
@@ -50,14 +52,15 @@
|
|||||||
<span class="text-header-text" style="cursor: pointer" v-html="item.title"></span>
|
<span class="text-header-text" style="cursor: pointer" v-html="item.title"></span>
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</div>
|
</div>
|
||||||
<div class="text-content" v-html="item.content">
|
<div class="text-content">
|
||||||
</div>
|
{{item.contentOne}}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
</div>
|
</div>
|
||||||
<div class="noData" v-else>
|
<div class="noData" v-else>
|
||||||
暂无数据
|
{{$t('noData')}}
|
||||||
</div>
|
</div>
|
||||||
<div class="page" v-if="conList.length > 0">
|
<div class="page" v-if="conList.length > 0">
|
||||||
<a-pagination
|
<a-pagination
|
||||||
@@ -90,9 +93,12 @@
|
|||||||
searchContent: '',
|
searchContent: '',
|
||||||
checkboxText: [],
|
checkboxText: [],
|
||||||
conList: [],
|
conList: [],
|
||||||
|
searchStr: '',
|
||||||
total: 0,
|
total: 0,
|
||||||
|
selectedTags: [],
|
||||||
loading: false,
|
loading: false,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
|
tagList: [],
|
||||||
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
|
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
|
||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
url: {
|
url: {
|
||||||
@@ -102,12 +108,30 @@
|
|||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.getList()
|
this.getList()
|
||||||
|
this.replacePage()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
replacePage() {
|
||||||
|
getAction('/problemKnowledgeBase/problemKnowledgeBaseClassifyEO/list', {}).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
this.tagList = res.result
|
||||||
|
} else {
|
||||||
|
this.tagList = []
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
onSearch() {
|
onSearch() {
|
||||||
this.pageNo = 1
|
this.pageNo = 1
|
||||||
this.getList()
|
this.getList()
|
||||||
},
|
},
|
||||||
|
handleChange(tag, checked) {
|
||||||
|
const { selectedTags } = this
|
||||||
|
const nextSelectedTags = checked
|
||||||
|
? [...selectedTags, tag]
|
||||||
|
: selectedTags.filter(t => t !== tag)
|
||||||
|
this.selectedTags = nextSelectedTags
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
ResetSearch() {
|
ResetSearch() {
|
||||||
this.searchStr = ''
|
this.searchStr = ''
|
||||||
this.pageNo = 1
|
this.pageNo = 1
|
||||||
@@ -127,11 +151,6 @@
|
|||||||
this.$router.push({
|
this.$router.push({
|
||||||
path: '/problemKnowledgeBaseAdd'
|
path: '/problemKnowledgeBaseAdd'
|
||||||
})
|
})
|
||||||
// let newUrl = this.$router.resolve({
|
|
||||||
// path: '/problemKnowledgeBaseAdd',
|
|
||||||
// query: {}
|
|
||||||
// })
|
|
||||||
// window.open(newUrl.href, '_blank')
|
|
||||||
},
|
},
|
||||||
pageOnChange(page, pageSize) {
|
pageOnChange(page, pageSize) {
|
||||||
this.pageNo = page
|
this.pageNo = page
|
||||||
@@ -142,16 +161,29 @@
|
|||||||
this.pageSize = pageSize
|
this.pageSize = pageSize
|
||||||
this.getList()
|
this.getList()
|
||||||
},
|
},
|
||||||
|
getText(str) {
|
||||||
|
let words = str.replace(/<[^<>]+>/g, '').replace(/ /gi, '') //这里是去除标签
|
||||||
|
return words.replace(/\s/g, '') //这里是去除空格
|
||||||
|
},
|
||||||
getList() {
|
getList() {
|
||||||
|
let selectedTags = JSON.parse(JSON.stringify(this.selectedTags))
|
||||||
let query = {
|
let query = {
|
||||||
pageNo: this.pageNo,
|
pageNo: this.pageNo,
|
||||||
pageSize: this.pageSize,
|
pageSize: this.pageSize,
|
||||||
searchStr: this.searchStr
|
searchStr: this.searchStr,
|
||||||
|
problemTypes: selectedTags.join(',')
|
||||||
}
|
}
|
||||||
this.loading = true
|
this.loading = true
|
||||||
getAction(this.url.getInfoList, query).then((res) => {
|
getAction(this.url.getInfoList, query).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
this.conList = res.result.records
|
this.conList = res.result.records
|
||||||
|
if (this.conList && this.conList.length > 0) {
|
||||||
|
this.conList.forEach(val => {
|
||||||
|
if (val.content) {
|
||||||
|
val.contentOne = this.getText(val.content)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
this.total = res.result.total
|
this.total = res.result.total
|
||||||
this.loading = false
|
this.loading = false
|
||||||
} else {
|
} else {
|
||||||
@@ -308,6 +340,8 @@
|
|||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
color: #040B29;
|
color: #040B29;
|
||||||
opacity: 0.7;
|
opacity: 0.7;
|
||||||
|
white-space: pre-wrap;
|
||||||
|
word-wrap: break-word;
|
||||||
}
|
}
|
||||||
|
|
||||||
.page {
|
.page {
|
||||||
@@ -321,3 +355,18 @@
|
|||||||
line-height: 10;
|
line-height: 10;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
<style>
|
||||||
|
.box-content-left .ant-tag {
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #040B29;
|
||||||
|
}
|
||||||
|
|
||||||
|
.box-content-left .ant-tag-checkable {
|
||||||
|
padding: 3px 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.box-content-left .ant-tag-checkable-checked {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
<div class="doc-detail-wrap">
|
<div class="doc-detail-wrap">
|
||||||
<div class="doc-detail-header" style="position: fixed;top: 0">
|
<div class="doc-detail-header" style="position: fixed;top: 0">
|
||||||
<div class="doc-detail-title">
|
<div class="doc-detail-title">
|
||||||
<span style="line-height: 66px;display: inline-block;float: left">
|
<span style="line-height: 66px;display: inline-block;float: left" @click="backClick">
|
||||||
<a-icon type="arrow-left" style="margin-right: 6px;"/>
|
<a-icon type="arrow-left" style="margin-right: 6px;"/>
|
||||||
</span>
|
</span>
|
||||||
{{$t('managePublishing')}}
|
{{$t('managePublishing')}}
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
<a-button class="box-button" style="margin-left: 8px" @click="ResetSearch">{{$t('reset')}}</a-button>
|
<a-button class="box-button" style="margin-left: 8px" @click="ResetSearch">{{$t('reset')}}</a-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="conList.length > 0" style="height: calc(100vh - 180px);overflow:auto;">
|
<div v-if="conList.length > 0" style="height: calc(100vh - 240px);overflow:auto;">
|
||||||
<div v-for="(item,index) in conList" :key="item.id">
|
<div v-for="(item,index) in conList" :key="item.id">
|
||||||
<div style="margin-bottom: 10px;position: relative;overflow: hidden">
|
<div style="margin-bottom: 10px;position: relative;overflow: hidden">
|
||||||
<!-- <a-checkbox :value="item.id" class="checkbox-left"></a-checkbox>-->
|
<!-- <a-checkbox :value="item.id" class="checkbox-left"></a-checkbox>-->
|
||||||
@@ -36,7 +36,8 @@
|
|||||||
<span class="text-header-text" style="cursor: pointer" v-html="item.title"></span>
|
<span class="text-header-text" style="cursor: pointer" v-html="item.title"></span>
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</div>
|
</div>
|
||||||
<div class="text-content" v-html="item.content">
|
<div class="text-content">
|
||||||
|
{{item.contentOne}}
|
||||||
</div>
|
</div>
|
||||||
<div class="text-text-right-text">
|
<div class="text-text-right-text">
|
||||||
<a style="margin-right: 10px" @click="edit(item)">{{$t('edit')}}</a>
|
<a style="margin-right: 10px" @click="edit(item)">{{$t('edit')}}</a>
|
||||||
@@ -46,26 +47,26 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="noData" v-else>
|
<div class="noData" v-else>
|
||||||
暂无数据
|
{{$t('noData')}}
|
||||||
</div>
|
</div>
|
||||||
<div class="page" v-if="conList.length > 0">
|
<div class="page" v-if="conList.length > 0">
|
||||||
<a-pagination
|
<a-pagination
|
||||||
:show-total="total => $t('total')+` ${total} `+$t('strip')"
|
:show-total="total => $t('total')+` ${total} `+$t('strip')"
|
||||||
show-quick-jumper
|
show-quick-jumper
|
||||||
show-size-changer
|
show-size-changer
|
||||||
:page-size.sync="pageSize"
|
:page-size.sync="pageSize"
|
||||||
:total="total"
|
:total="total"
|
||||||
:current="pageNo"
|
:current="pageNo"
|
||||||
@change="pageOnChange"
|
@change="pageOnChange"
|
||||||
@showSizeChange="SizeChange"
|
@showSizeChange="SizeChange"
|
||||||
/>
|
/>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<JLoading :loading="loading">{{$t('dataLoading')}}</JLoading>
|
|
||||||
</div>
|
</div>
|
||||||
|
<JLoading :loading="loading">{{$t('dataLoading')}}</JLoading>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@@ -113,6 +114,10 @@
|
|||||||
this.pageNo = 1
|
this.pageNo = 1
|
||||||
this.getList()
|
this.getList()
|
||||||
},
|
},
|
||||||
|
getText(str) {
|
||||||
|
let words = str.replace(/<[^<>]+>/g, '').replace(/ /gi, '') //这里是去除标签
|
||||||
|
return words.replace(/\s/g, '') //这里是去除空格
|
||||||
|
},
|
||||||
getList() {
|
getList() {
|
||||||
let query = {
|
let query = {
|
||||||
pageNo: this.pageNo,
|
pageNo: this.pageNo,
|
||||||
@@ -124,6 +129,13 @@
|
|||||||
getAction(this.url.getInfoList, query).then((res) => {
|
getAction(this.url.getInfoList, query).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
this.conList = res.result.records
|
this.conList = res.result.records
|
||||||
|
if (this.conList && this.conList.length > 0) {
|
||||||
|
this.conList.forEach(val => {
|
||||||
|
if (val.content) {
|
||||||
|
val.contentOne = this.getText(val.content)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
this.total = res.result.total
|
this.total = res.result.total
|
||||||
this.loading = false
|
this.loading = false
|
||||||
} else {
|
} else {
|
||||||
@@ -132,13 +144,16 @@
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
backClick() {
|
||||||
|
this.$router.push({
|
||||||
|
path: '/problemknowledgeBase'
|
||||||
|
})
|
||||||
|
},
|
||||||
titleClick(item) {
|
titleClick(item) {
|
||||||
let newUrl = this.$router.resolve({
|
let newUrl = this.$router.resolve({
|
||||||
path: '/docManage/library/detail',
|
path: '/problemKnowledgeBaseView',
|
||||||
query: {
|
query: {
|
||||||
id: item.id.slice(0, 32),
|
id: item.id
|
||||||
title: item.title,
|
|
||||||
serial_number: item.serial_number
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
window.open(newUrl.href, '_blank')
|
window.open(newUrl.href, '_blank')
|
||||||
|
|||||||
@@ -17,6 +17,14 @@
|
|||||||
</div>
|
</div>
|
||||||
<div style="padding-top: 68px;background: #fff">
|
<div style="padding-top: 68px;background: #fff">
|
||||||
<div class="detail-content" style="padding: 24px">
|
<div class="detail-content" style="padding: 24px">
|
||||||
|
<div class="content-text-top">
|
||||||
|
<span style="margin-right: 10px">
|
||||||
|
{{$t('issuedBy')}}:{{this.queryForm.createBy}}
|
||||||
|
</span>
|
||||||
|
<span>
|
||||||
|
{{$t('releaseDate')}}:{{this.queryForm.createTime}}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
<div class="content-text">
|
<div class="content-text">
|
||||||
<div class="text-field" v-for="(item,index) in standardContentList" :key="index">
|
<div class="text-field" v-for="(item,index) in standardContentList" :key="index">
|
||||||
<span class="text-field-left" :title="item.title">{{item.title}}</span>
|
<span class="text-field-left" :title="item.title">{{item.title}}</span>
|
||||||
@@ -104,11 +112,11 @@
|
|||||||
standardContentList: [
|
standardContentList: [
|
||||||
{
|
{
|
||||||
title: this.$t('problemClassification'),
|
title: this.$t('problemClassification'),
|
||||||
value: 'problemType'
|
value: 'problemTypeName'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('market'),
|
title: this.$t('market'),
|
||||||
value: 'targetMarket'
|
value: 'targetMarket_dicText'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('standardNo'),
|
title: this.$t('standardNo'),
|
||||||
@@ -493,4 +501,13 @@
|
|||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.content-text-top {
|
||||||
|
width: 100%;
|
||||||
|
text-align: right;
|
||||||
|
color: #040B29;
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 16px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
@@ -52,6 +52,7 @@
|
|||||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||||
allowClear
|
allowClear
|
||||||
:disabled="isParentId"
|
:disabled="isParentId"
|
||||||
|
style='z-index: 99'
|
||||||
v-model="formInline.parentId">
|
v-model="formInline.parentId">
|
||||||
<a-select-option v-for="(item, key) in ParentList"
|
<a-select-option v-for="(item, key) in ParentList"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
|
|||||||
@@ -564,6 +564,12 @@
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
completeTask(value, taskId) {
|
completeTask(value, taskId) {
|
||||||
|
Object.keys(value).forEach(res => {
|
||||||
|
if (value[res] && value[res] instanceof String) {
|
||||||
|
value[res] = value[res].replace(/\"/g, '“')
|
||||||
|
value[res] = value[res].replace(/\'/g, '‘')
|
||||||
|
}
|
||||||
|
})
|
||||||
let query = {
|
let query = {
|
||||||
userid: this.userInfo().id,
|
userid: this.userInfo().id,
|
||||||
taskId: taskId,
|
taskId: taskId,
|
||||||
|
|||||||
@@ -86,7 +86,7 @@
|
|||||||
size="middle"
|
size="middle"
|
||||||
:loading="loading"
|
:loading="loading"
|
||||||
:pagination="false"
|
:pagination="false"
|
||||||
:scroll="{x: '100%',y:'calc(100vh)'}"
|
:scroll="{x: '100%',y:'calc(100vh - 130px)'}"
|
||||||
rowKey="id"
|
rowKey="id"
|
||||||
:data-source="dataSource"
|
:data-source="dataSource"
|
||||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||||
|
|||||||
@@ -91,7 +91,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="drawer-bootom-button">
|
<div class="drawer-bootom-button">
|
||||||
<a-button @click="handleCancel" type="danger" style="margin-right: 16px">{{$t('cancel')}}</a-button>
|
<a-button @click="handleCancel" style="margin-right: 16px">{{$t('cancel')}}</a-button>
|
||||||
<a-button @click="handleSubmit" type="primary" :loading="confirmLoading">{{$t('submit')}}</a-button>
|
<a-button @click="handleSubmit" type="primary" :loading="confirmLoading">{{$t('submit')}}</a-button>
|
||||||
</div>
|
</div>
|
||||||
</a-drawer>
|
</a-drawer>
|
||||||
|
|||||||
@@ -78,7 +78,7 @@
|
|||||||
size="middle"
|
size="middle"
|
||||||
:loading="loading"
|
:loading="loading"
|
||||||
:pagination="false"
|
:pagination="false"
|
||||||
:scroll="{x: '100%'}"
|
:scroll="{x: '100%',y:'calc(100vh - 140px)'}"
|
||||||
rowKey="id"
|
rowKey="id"
|
||||||
:data-source="dataSource"
|
:data-source="dataSource"
|
||||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||||
@@ -100,6 +100,9 @@
|
|||||||
v-if="record.createBy == userInfoQuery.username && record.releaseCondition == 'draft'"
|
v-if="record.createBy == userInfoQuery.username && record.releaseCondition == 'draft'"
|
||||||
@click="deleteData(record)">{{$t('delete')}}</a>
|
@click="deleteData(record)">{{$t('delete')}}</a>
|
||||||
</span>
|
</span>
|
||||||
|
<span slot="title" slot-scope="text,record" :title="text">
|
||||||
|
{{ text && text.length > 15 ? text.slice(0, 14) + '...' : text }}
|
||||||
|
</span>
|
||||||
<span slot="translationLanguage" slot-scope="text,record"
|
<span slot="translationLanguage" slot-scope="text,record"
|
||||||
:title="record.sourceLanguage_dictText +' -- '+record.targetLanguage_dictText">
|
:title="record.sourceLanguage_dictText +' -- '+record.targetLanguage_dictText">
|
||||||
<span class="translationLanguageText" style="margin-top: -2px">{{record.sourceLanguage_dictText}}</span>
|
<span class="translationLanguageText" style="margin-top: -2px">{{record.sourceLanguage_dictText}}</span>
|
||||||
@@ -160,13 +163,15 @@
|
|||||||
title: this.$t('standard'),
|
title: this.$t('standard'),
|
||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'serialNumber',
|
dataIndex: 'serialNumber',
|
||||||
width: 170
|
width: 170,
|
||||||
|
scopedSlots: { customRender: 'title' }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('title'),
|
title: this.$t('title'),
|
||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'title',
|
dataIndex: 'title',
|
||||||
width: 170
|
width: 170,
|
||||||
|
scopedSlots: { customRender: 'title' }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('TextStatus'),
|
title: this.$t('TextStatus'),
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<a-modal
|
<a-modal
|
||||||
:title="title"
|
:title="title"
|
||||||
:maskClosable="false"
|
:maskClosable="false"
|
||||||
:width="800"
|
:width="600"
|
||||||
placement="right"
|
placement="right"
|
||||||
:closable="true"
|
:closable="true"
|
||||||
@cancel="handleCancel"
|
@cancel="handleCancel"
|
||||||
|
|||||||
@@ -40,13 +40,12 @@
|
|||||||
<span v-else :title="title">
|
<span v-else :title="title">
|
||||||
{{title && title.length > 18?title.slice(0,17)+'...':title}}
|
{{title && title.length > 18?title.slice(0,17)+'...':title}}
|
||||||
</span>
|
</span>
|
||||||
<template #overlay>
|
<template #overlay >
|
||||||
<a-menu v-has="'externalReports:folder'"
|
<a-menu @click="({ key: menuKey }) => onContextMenuClick(treeKey, menuKey, record)">
|
||||||
@click="({ key: menuKey }) => onContextMenuClick(treeKey, menuKey, record)">
|
<a-menu-item key="1" @click="orgAdd" v-has="'externalReports:folder'">{{$t('Addingfolder')}}</a-menu-item>
|
||||||
<a-menu-item key="1" @click="orgAdd" >{{$t('Addingfolder')}}</a-menu-item>
|
<a-menu-item key="4" @click="orgAdds" v-has="'externalReports:folder'" v-if="deleteNode">{{$t('Addingsubfolders')}}</a-menu-item>
|
||||||
<a-menu-item key="4" @click="orgAdds" v-if="deleteNode">{{$t('Addingsubfolders')}}</a-menu-item>
|
<a-menu-item key="2" @click="orgEdit" v-has="'externalReports:folder'">{{$t('Editfolder')}}</a-menu-item>
|
||||||
<a-menu-item key="2" @click="orgEdit">{{$t('Editfolder')}}</a-menu-item>
|
<a-menu-item key="3" @click="orgDelete" v-has="'externalReports:folder'">{{$t('Deletefolders')}}</a-menu-item>
|
||||||
<a-menu-item key="3" @click="orgDelete" >{{$t('Deletefolders')}}</a-menu-item>
|
|
||||||
|
|
||||||
</a-menu>
|
</a-menu>
|
||||||
</template>
|
</template>
|
||||||
@@ -85,8 +84,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<!-- :placeholder="$t('PleaseSelect')+$t('uploadTime')"-->
|
<!-- :placeholder="$t('PleaseSelect')+$t('uploadTime')"-->
|
||||||
<a-range-picker
|
<a-range-picker
|
||||||
style='width: 264px'
|
class="box-input"
|
||||||
@change="onChange"
|
@change="onChange"
|
||||||
|
style='margin-left: -1px'
|
||||||
format="YYYY-MM-DD"
|
format="YYYY-MM-DD"
|
||||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||||
v-model="queryParams.time"
|
v-model="queryParams.time"
|
||||||
@@ -127,7 +127,7 @@
|
|||||||
:loading="loading"
|
:loading="loading"
|
||||||
:pagination="false"
|
:pagination="false"
|
||||||
rowKey="id"
|
rowKey="id"
|
||||||
:scroll="{x: 10}"
|
:scroll="{x: '100%',y:'calc(100vh - 180px)'}"
|
||||||
:data-source="dataSource"
|
:data-source="dataSource"
|
||||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||||
:columns="columns"
|
:columns="columns"
|
||||||
@@ -135,6 +135,10 @@
|
|||||||
<span slot="projectName" slot-scope="text,record" :title="text">
|
<span slot="projectName" slot-scope="text,record" :title="text">
|
||||||
{{ text && text.length > 15 ? text.slice(0, 14) + '...' : text }}
|
{{ text && text.length > 15 ? text.slice(0, 14) + '...' : text }}
|
||||||
</span>
|
</span>
|
||||||
|
<span slot="fileName" slot-scope="text,record" :title="text">
|
||||||
|
{{ text && text.length > 15 ? text.slice(0, 14) + '...' : text }}
|
||||||
|
</span>
|
||||||
|
|
||||||
<span slot="operation" slot-scope="text,record">
|
<span slot="operation" slot-scope="text,record">
|
||||||
<!-- <a class="text-operation" @click="handlelist(record)">{{$t('view')}}</a>-->
|
<!-- <a class="text-operation" @click="handlelist(record)">{{$t('view')}}</a>-->
|
||||||
<a class="text-operation" @click="download(record)">{{$t('download')}}</a>
|
<a class="text-operation" @click="download(record)">{{$t('download')}}</a>
|
||||||
@@ -353,6 +357,7 @@ export default {
|
|||||||
title: this.$t('fileName'),
|
title: this.$t('fileName'),
|
||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'fileName',
|
dataIndex: 'fileName',
|
||||||
|
scopedSlots: { customRender: 'fileName' },
|
||||||
width: 200
|
width: 200
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -733,7 +738,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
pageOnChange(page, pageSize) {
|
pageOnChange(page, pageSize) {
|
||||||
this.pageNo = page
|
this.queryParams.pageNo = page
|
||||||
this.loadData()
|
this.loadData()
|
||||||
},
|
},
|
||||||
addModelList() {
|
addModelList() {
|
||||||
|
|||||||
@@ -296,6 +296,7 @@ export default {
|
|||||||
this.confirmLoading = true
|
this.confirmLoading = true
|
||||||
downloadFile('report/detail/exportNormal', query.exportName+'.zip', query)
|
downloadFile('report/detail/exportNormal', query.exportName+'.zip', query)
|
||||||
this.confirmLoading = false
|
this.confirmLoading = false
|
||||||
|
this.visible = false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -252,6 +252,7 @@ export default {
|
|||||||
this.confirmLoading = true
|
this.confirmLoading = true
|
||||||
downloadFile('report/detail/exportCustom', query.exportName+'.zip', query)
|
downloadFile('report/detail/exportCustom', query.exportName+'.zip', query)
|
||||||
this.confirmLoading = false
|
this.confirmLoading = false
|
||||||
|
this.visible = false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -217,7 +217,7 @@ export default {
|
|||||||
this.visible = false
|
this.visible = false
|
||||||
this.$emit('addModelList')
|
this.$emit('addModelList')
|
||||||
} else {
|
} else {
|
||||||
this.$message.warning(this.$t('operationFailed'))
|
this.$message.warning(res.message)
|
||||||
this.confirmLoading = false
|
this.confirmLoading = false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -37,7 +37,7 @@
|
|||||||
size="middle"
|
size="middle"
|
||||||
:loading="loading"
|
:loading="loading"
|
||||||
:pagination="false"
|
:pagination="false"
|
||||||
:scroll="{x: '100%',y:'calc(100vh - 130px)'}"
|
:scroll="{x: '100%',y:'calc(100vh - 140px)'}"
|
||||||
rowKey="id"
|
rowKey="id"
|
||||||
:data-source="dataSource"
|
:data-source="dataSource"
|
||||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||||
|
|||||||
@@ -736,6 +736,12 @@ export default {
|
|||||||
})
|
})
|
||||||
let querycontentList = JSON.parse(JSON.stringify(this.contentList))
|
let querycontentList = JSON.parse(JSON.stringify(this.contentList))
|
||||||
query.certCategoryParamsInfoEOList = querycontentList
|
query.certCategoryParamsInfoEOList = querycontentList
|
||||||
|
if(this.formInline.controlType == 11){
|
||||||
|
query.certCategoryParamsInfoEOList = []
|
||||||
|
query.certCategory = ''
|
||||||
|
}else{
|
||||||
|
query.titleDefaultValue = ''
|
||||||
|
}
|
||||||
this.confirmLoading = true
|
this.confirmLoading = true
|
||||||
Action(url, query).then((res) => {
|
Action(url, query).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
|
|||||||
@@ -307,11 +307,18 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
completeTask() {
|
completeTask() {
|
||||||
|
let value = JSON.parse(JSON.stringify(this.queryProject))
|
||||||
|
Object.keys(value).forEach(res => {
|
||||||
|
if (value[res] && value[res] instanceof String) {
|
||||||
|
value[res] = value[res].replace(/\"/g, '“')
|
||||||
|
value[res] = value[res].replace(/\'/g, '‘')
|
||||||
|
}
|
||||||
|
})
|
||||||
let query = {
|
let query = {
|
||||||
userid: this.userInfo().id,
|
userid: this.userInfo().id,
|
||||||
taskId: this.$route.query.taskIds,
|
taskId: this.$route.query.taskIds,
|
||||||
flag: this.queryProject.flag,
|
flag: this.queryProject.flag,
|
||||||
json: JSON.stringify(this.queryProject).replace(/\"/g, '\'')
|
json: JSON.stringify(value).replace(/\"/g, '\'')
|
||||||
}
|
}
|
||||||
postAction('/workFlow/completeTask', query).then((res) => {
|
postAction('/workFlow/completeTask', query).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
|
|||||||
@@ -186,6 +186,12 @@
|
|||||||
completeTask(value, handlingTime) {
|
completeTask(value, handlingTime) {
|
||||||
let json = Object.assign(this.queryBy, { handlingTime: handlingTime }, value)
|
let json = Object.assign(this.queryBy, { handlingTime: handlingTime }, value)
|
||||||
let data = JSON.stringify(json).replace(/\"/g, '\'')
|
let data = JSON.stringify(json).replace(/\"/g, '\'')
|
||||||
|
Object.keys(data).forEach(res => {
|
||||||
|
if (data[res] && data[res] instanceof String) {
|
||||||
|
data[res] = data[res].replace(/\"/g, '“')
|
||||||
|
data[res] = data[res].replace(/\'/g, '‘')
|
||||||
|
}
|
||||||
|
})
|
||||||
let query = {
|
let query = {
|
||||||
userid: this.userInfo().id,
|
userid: this.userInfo().id,
|
||||||
taskId: this.$route.query.taskId || this.$route.query.taskIds,
|
taskId: this.$route.query.taskId || this.$route.query.taskIds,
|
||||||
@@ -248,15 +254,24 @@
|
|||||||
}
|
}
|
||||||
postAction('/workFlow/startProcess', query).then((res) => {
|
postAction('/workFlow/startProcess', query).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
this.completeTaskDesign(value, res.result)
|
this.completeTaskDesign(value, res.result,true)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
deleteProcessInstanceByTask(taskId) {
|
||||||
completeTaskDesign(value, taskId) {
|
getAction('/workFlow/deleteProcessInstanceByTaskId', { taskId: taskId }).then((res) => {
|
||||||
|
})
|
||||||
|
},
|
||||||
|
completeTaskDesign(value, taskId,isTrue) {
|
||||||
value.reviewResult = 'launch'
|
value.reviewResult = 'launch'
|
||||||
let operatorTime = moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
|
let operatorTime = moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
|
||||||
value.operatorTime = operatorTime
|
value.operatorTime = operatorTime
|
||||||
|
Object.keys(value).forEach(res => {
|
||||||
|
if (value[res] && value[res] instanceof String) {
|
||||||
|
value[res] = value[res].replace(/\"/g, '“')
|
||||||
|
value[res] = value[res].replace(/\'/g, '‘')
|
||||||
|
}
|
||||||
|
})
|
||||||
let query = {
|
let query = {
|
||||||
userid: this.userInfo().id,
|
userid: this.userInfo().id,
|
||||||
taskId: taskId,
|
taskId: taskId,
|
||||||
@@ -272,6 +287,10 @@
|
|||||||
// this.$router.push({
|
// this.$router.push({
|
||||||
// path: '/ProcessCenter'
|
// path: '/ProcessCenter'
|
||||||
// })
|
// })
|
||||||
|
}else{
|
||||||
|
if (isTrue) {
|
||||||
|
this.deleteProcessInstanceByTask(taskId)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -171,10 +171,17 @@
|
|||||||
// this.insertBatch(dataList, 2)
|
// this.insertBatch(dataList, 2)
|
||||||
},
|
},
|
||||||
completeTask() {
|
completeTask() {
|
||||||
|
let value = JSON.parse(JSON.stringify(this.queryProject))
|
||||||
|
Object.keys(value).forEach(res => {
|
||||||
|
if (value[res] && value[res] instanceof String) {
|
||||||
|
value[res] = value[res].replace(/\"/g, '“')
|
||||||
|
value[res] = value[res].replace(/\'/g, '‘')
|
||||||
|
}
|
||||||
|
})
|
||||||
let query = {
|
let query = {
|
||||||
userid: this.userInfo().id,
|
userid: this.userInfo().id,
|
||||||
taskId: this.$route.query.taskIds,
|
taskId: this.$route.query.taskIds,
|
||||||
json: JSON.stringify(this.queryProject).replace(/\"/g, '\'')
|
json: JSON.stringify(value).replace(/\"/g, '\'')
|
||||||
}
|
}
|
||||||
postAction('/workFlow/completeTask', query).then((res) => {
|
postAction('/workFlow/completeTask', query).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
|
|||||||
@@ -342,6 +342,12 @@
|
|||||||
completeTask(value) {
|
completeTask(value) {
|
||||||
let json = Object.assign(this.queryBy, value)
|
let json = Object.assign(this.queryBy, value)
|
||||||
let data = JSON.stringify(json).replace(/\"/g, '\'')
|
let data = JSON.stringify(json).replace(/\"/g, '\'')
|
||||||
|
Object.keys(value).forEach(res => {
|
||||||
|
if (value[res] && value[res] instanceof String) {
|
||||||
|
value[res] = value[res].replace(/\"/g, '“')
|
||||||
|
value[res] = value[res].replace(/\'/g, '‘')
|
||||||
|
}
|
||||||
|
})
|
||||||
let query = {
|
let query = {
|
||||||
userid: this.userInfo().id,
|
userid: this.userInfo().id,
|
||||||
taskId: this.$route.query.taskId || this.$route.query.taskIds,
|
taskId: this.$route.query.taskId || this.$route.query.taskIds,
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<a-row :gutter="24">
|
<a-row :gutter="24">
|
||||||
<a-col :md="6" :sm="10">
|
<a-col :md="6" :sm="10">
|
||||||
<a-form-item :label="$t('Collectlist')">
|
<a-form-item :label="$t('Collectlist')">
|
||||||
<a-select v-model="queryParam.ctype" @change="getonChange">
|
<a-select v-model="queryParam.ctype" @change="getonChange" :getPopupContainer="triggerNode => triggerNode.parentNode">
|
||||||
<a-select-option v-for="d in options" :key="d.value" :value="d.value" >{{ d.label }}</a-select-option>
|
<a-select-option v-for="d in options" :key="d.value" :value="d.value" >{{ d.label }}</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|||||||
@@ -1697,6 +1697,12 @@
|
|||||||
completeTask(value, taskId, index) {
|
completeTask(value, taskId, index) {
|
||||||
let handlingTime = moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
|
let handlingTime = moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
|
||||||
value.handlingTime = handlingTime
|
value.handlingTime = handlingTime
|
||||||
|
Object.keys(value).forEach(res => {
|
||||||
|
if (value[res] && value[res] instanceof String) {
|
||||||
|
value[res] = value[res].replace(/\"/g, '“')
|
||||||
|
value[res] = value[res].replace(/\'/g, '‘')
|
||||||
|
}
|
||||||
|
})
|
||||||
let query = {
|
let query = {
|
||||||
userid: this.userInfo().id,
|
userid: this.userInfo().id,
|
||||||
taskId: taskId,
|
taskId: taskId,
|
||||||
|
|||||||
@@ -1,12 +1,11 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<a-modal
|
<a-drawer
|
||||||
:title="$t('ListOfRelevantPersonnel')"
|
:title="$t('ListOfRelevantPersonnel')"
|
||||||
:width="1000"
|
:width="1000"
|
||||||
:visible="visible"
|
:visible="visible"
|
||||||
:maskClosable="false"
|
:maskClosable="false"
|
||||||
@ok="visible = false"
|
@close="handleCancel"
|
||||||
@cancel="visible = false"
|
|
||||||
>
|
>
|
||||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||||
<a-row :gutter="24">
|
<a-row :gutter="24">
|
||||||
@@ -104,7 +103,7 @@
|
|||||||
rowKey="id"
|
rowKey="id"
|
||||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||||
:pagination="false"
|
:pagination="false"
|
||||||
:scroll="{x:800,y: 400}"
|
:scroll="{x:800,y: 500}"
|
||||||
:data-source="dataSource"
|
:data-source="dataSource"
|
||||||
:loading="loading"
|
:loading="loading"
|
||||||
>
|
>
|
||||||
@@ -136,7 +135,11 @@
|
|||||||
<!-- @showSizeChange="SizeChange"-->
|
<!-- @showSizeChange="SizeChange"-->
|
||||||
<!-- />-->
|
<!-- />-->
|
||||||
<!-- </div>-->
|
<!-- </div>-->
|
||||||
</a-modal>
|
<div class="drawer-bootom-button">
|
||||||
|
<a-button style="margin-right: .8rem" @click="handleCancel">{{$t('cancel')}}</a-button>
|
||||||
|
<a-button @click="handleSubmit" type="primary" :loading="confirmLoading">{{$t('determine')}}</a-button>
|
||||||
|
</div>
|
||||||
|
</a-drawer>
|
||||||
<a-modal
|
<a-modal
|
||||||
:title="$t('ListOfRelevantPersonnel')"
|
:title="$t('ListOfRelevantPersonnel')"
|
||||||
:width="600"
|
:width="600"
|
||||||
@@ -414,6 +417,12 @@
|
|||||||
this.selectedRowKeys = []
|
this.selectedRowKeys = []
|
||||||
this.getList()
|
this.getList()
|
||||||
},
|
},
|
||||||
|
handleCancel(){
|
||||||
|
this.visible = false
|
||||||
|
},
|
||||||
|
handleSubmit(){
|
||||||
|
this.visible = false
|
||||||
|
},
|
||||||
batSettingClick() {
|
batSettingClick() {
|
||||||
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
||||||
let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys))
|
let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys))
|
||||||
@@ -633,4 +642,16 @@
|
|||||||
height: 38px;
|
height: 38px;
|
||||||
/*margin-top: 2px;*/
|
/*margin-top: 2px;*/
|
||||||
}
|
}
|
||||||
|
.drawer-bootom-button {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
width: 100%;
|
||||||
|
z-index:100;
|
||||||
|
border-top: 1px solid #e8e8e8;
|
||||||
|
padding: 10px 16px;
|
||||||
|
text-align: right;
|
||||||
|
left: 0;
|
||||||
|
background: #fff;
|
||||||
|
border-radius: 0 0 2px 2px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
@@ -373,8 +373,7 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.title-text {
|
.title-text {
|
||||||
width: 20%;
|
width: 110px;
|
||||||
min-width: 110px;
|
|
||||||
color: #000F16;
|
color: #000F16;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
size="middle"
|
size="middle"
|
||||||
:loading="loading"
|
:loading="loading"
|
||||||
:pagination="false"
|
:pagination="false"
|
||||||
:scroll="{x: '100%'}"
|
:scroll="{x: '100%',y:'calc(100vh - 180px)'}"
|
||||||
rowKey="id"
|
rowKey="id"
|
||||||
:data-source="dataSource"
|
:data-source="dataSource"
|
||||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||||
|
|||||||
@@ -42,9 +42,10 @@
|
|||||||
树操作 <a-icon type="up" />
|
树操作 <a-icon type="up" />
|
||||||
</a-button>
|
</a-button>
|
||||||
</a-dropdown>
|
</a-dropdown>
|
||||||
<a-popconfirm title="确定放弃编辑?" @confirm="close" okText="确定" cancelText="取消">
|
<!-- <a-popconfirm title="确定放弃编辑?" @confirm="close" okText="确定" cancelText="取消">-->
|
||||||
<a-button style="margin-right: .8rem">取消</a-button>
|
<!-- <a-button style="margin-right: .8rem">取消</a-button>-->
|
||||||
</a-popconfirm>
|
<!-- </a-popconfirm>-->
|
||||||
|
<a-button @click="close()" type="primary" :loading="loading" ghost style="margin-right: 0.8rem">取消</a-button>
|
||||||
<a-button @click="handleSubmit(false)" type="primary" :loading="loading" ghost style="margin-right: 0.8rem">仅保存</a-button>
|
<a-button @click="handleSubmit(false)" type="primary" :loading="loading" ghost style="margin-right: 0.8rem">仅保存</a-button>
|
||||||
<a-button @click="handleSubmit(true)" type="primary" :loading="loading">保存并关闭</a-button>
|
<a-button @click="handleSubmit(true)" type="primary" :loading="loading">保存并关闭</a-button>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||