Merge remote-tracking branch 'origin/dev_third_stage' into dev_third_stage
@@ -836,3 +836,36 @@ ALTER TABLE `laws_weilai`.`problem_knowledge_base`
|
|||||||
MODIFY COLUMN `buss_document_library_id` varchar(4000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文档库id' AFTER `target_market`,
|
MODIFY COLUMN `buss_document_library_id` varchar(4000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文档库id' AFTER `target_market`,
|
||||||
MODIFY COLUMN `stand_number` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标准编号' AFTER `buss_document_library_id`,
|
MODIFY COLUMN `stand_number` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标准编号' AFTER `buss_document_library_id`,
|
||||||
MODIFY COLUMN `stand_title` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标准标题' AFTER `stand_number`;
|
MODIFY COLUMN `stand_title` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标准标题' AFTER `stand_number`;
|
||||||
|
|
||||||
|
-- 问题知识库 字段类型修改 2022-08-09
|
||||||
|
ALTER TABLE `laws_weilai`.`problem_knowledge_base`
|
||||||
|
MODIFY COLUMN `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '内容(正文)' AFTER `stand_title`;
|
||||||
|
|
||||||
|
-- 国家与国旗关系表 2022-08-09
|
||||||
|
CREATE TABLE `laws_weilai`.`country_national_flag` (
|
||||||
|
`id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||||
|
`create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
|
||||||
|
`create_time` datetime NULL DEFAULT NULL COMMENT '创建日期',
|
||||||
|
`update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人',
|
||||||
|
`update_time` datetime NULL DEFAULT NULL COMMENT '更新日期',
|
||||||
|
`sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属部门',
|
||||||
|
`country_name_cn` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '国家名称中文',
|
||||||
|
`country_name_en` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '国家名称英文',
|
||||||
|
`national_flag_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '国旗文件id',
|
||||||
|
`national_flag_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '国旗url',
|
||||||
|
PRIMARY KEY (`id`) USING BTREE
|
||||||
|
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '国家与国旗中间表' ROW_FORMAT = Dynamic;
|
||||||
|
-- 初始化数据 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 ('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 ('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 ('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 ('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 ('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 ('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 ('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 ('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 ('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 ('9', NULL, NULL, NULL, NULL, NULL, '阿联酋', 'UAE', NULL, '/jero-boot/nationalFlag/UAE.png');
|
||||||
|
|||||||
@@ -726,16 +726,6 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl<ParamsReportDet
|
|||||||
|
|
||||||
// 替换模板中的占位符
|
// 替换模板中的占位符
|
||||||
try {
|
try {
|
||||||
//下载关联文件内容
|
|
||||||
List<OSSFile> allRelevFileList = (List<OSSFile>) allParamsInfoList.get(2).get("fileListAll");
|
|
||||||
if (allRelevFileList != null && !allRelevFileList.isEmpty()) {
|
|
||||||
allRelevFileList = allRelevFileList.stream().distinct().collect(Collectors.toList());
|
|
||||||
String exportFile = "导出文件";
|
|
||||||
if (CutEnum.EN.getValue().equals(paramsReportDetailVO.getCut())) {
|
|
||||||
exportFile = "Export file";
|
|
||||||
}
|
|
||||||
downLoadFileList(allRelevFileList,fileNowPath + File.separator + exportFile);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 拿取模板
|
// 拿取模板
|
||||||
String repFileName = fileName.replaceAll("/","_");
|
String repFileName = fileName.replaceAll("/","_");
|
||||||
@@ -743,6 +733,35 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl<ParamsReportDet
|
|||||||
if (CosBootUtil.doesObjectExist(templateUrl)) {
|
if (CosBootUtil.doesObjectExist(templateUrl)) {
|
||||||
InputStream wordTemplate = CosBootUtil.download(templateUrl);
|
InputStream wordTemplate = CosBootUtil.download(templateUrl);
|
||||||
WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(wordTemplate);
|
WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(wordTemplate);
|
||||||
|
|
||||||
|
//下载关联文件内容
|
||||||
|
List<Map<String, Object>> fileListAll = (List<Map<String, Object>>) allParamsInfoList.get(2).get("fileListAll");
|
||||||
|
|
||||||
|
if (fileListAll != null && !fileListAll.isEmpty()) {
|
||||||
|
Map<String,String> paramsAfterFilter = WordUtil.filterParams(wordMLPackage, params);
|
||||||
|
if (CollectionUtil.isNotEmpty(paramsAfterFilter)) {
|
||||||
|
List<String> nioNumberList = paramsAfterFilter.keySet().stream().collect(Collectors.toList());
|
||||||
|
List<OSSFile> allRelevFileList = new ArrayList<>();
|
||||||
|
for (Map<String, Object> fileMap : fileListAll) {
|
||||||
|
for (Map.Entry map : fileMap.entrySet()) {
|
||||||
|
String key = (String) map.getKey();
|
||||||
|
List<OSSFile> fileList = (List<OSSFile>) map.getValue();
|
||||||
|
if (nioNumberList.contains(key)) {
|
||||||
|
allRelevFileList.addAll(fileList);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (CollectionUtil.isNotEmpty(allRelevFileList)) {
|
||||||
|
String exportFile = "导出文件";
|
||||||
|
if (CutEnum.EN.getValue().equals(paramsReportDetailVO.getCut())) {
|
||||||
|
exportFile = "Export file";
|
||||||
|
}
|
||||||
|
|
||||||
|
downLoadFileList(allRelevFileList, fileNowPath + File.separator + exportFile);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 替换占位符内容
|
// 替换占位符内容
|
||||||
WordUtil.replacePictureBatch(wordMLPackage, imgListAll);
|
WordUtil.replacePictureBatch(wordMLPackage, imgListAll);
|
||||||
WordUtil.replaceVariable(wordMLPackage, params);
|
WordUtil.replaceVariable(wordMLPackage, params);
|
||||||
@@ -837,29 +856,47 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl<ParamsReportDet
|
|||||||
// 替换模板中的占位符
|
// 替换模板中的占位符
|
||||||
try {
|
try {
|
||||||
|
|
||||||
//下载关联文件内容
|
|
||||||
List<OSSFile> allRelevFileList = (List<OSSFile>) allParamsInfoList.get(2).get("fileListAll");
|
|
||||||
if (allRelevFileList != null && !allRelevFileList.isEmpty()) {
|
|
||||||
allRelevFileList = allRelevFileList.stream().distinct().collect(Collectors.toList());
|
|
||||||
String exportFile = "导出文件";
|
|
||||||
if (CutEnum.EN.getValue().equals(paramsReportDetailVO.getCut())) {
|
|
||||||
exportFile = "Export file";
|
|
||||||
}
|
|
||||||
downLoadFileList(allRelevFileList,fileNowPath + File.separator + exportFile);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 拿取模板
|
// 拿取模板
|
||||||
String repFileName = fileName.replaceAll("/","_");
|
String repFileName = fileName.replaceAll("/","_");
|
||||||
wordOS = new FileOutputStream(fileNowPath + File.separator + repFileName);
|
wordOS = new FileOutputStream(fileNowPath + File.separator + repFileName);
|
||||||
if (CosBootUtil.doesObjectExist(templateUrl)) {
|
if (CosBootUtil.doesObjectExist(templateUrl)) {
|
||||||
InputStream wordTemplate = CosBootUtil.download(templateUrl);
|
InputStream exceltemplateForDocx4j = CosBootUtil.download(templateUrl);
|
||||||
// com.qcloud.cos.utils.IOUtils.copy(wordTemplate, wordOS);
|
// com.qcloud.cos.utils.IOUtils.copy(wordTemplate, wordOS);
|
||||||
|
InputStream excelTemplateForPoi = CosBootUtil.download(templateUrl);
|
||||||
|
|
||||||
|
SpreadsheetMLPackage pkg = SpreadsheetMLPackage.load(exceltemplateForDocx4j);
|
||||||
|
|
||||||
|
//下载关联文件内容
|
||||||
|
List<Map<String, Object>> fileListAll = (List<Map<String, Object>>) allParamsInfoList.get(2).get("fileListAll");
|
||||||
|
|
||||||
|
if (fileListAll != null && !fileListAll.isEmpty()) {
|
||||||
|
Map<String,String> paramsAfterFilter = ExcelUtil.filterParams(pkg, params);
|
||||||
|
if (CollectionUtil.isNotEmpty(paramsAfterFilter)) {
|
||||||
|
List<String> nioNumberList = paramsAfterFilter.keySet().stream().collect(Collectors.toList());
|
||||||
|
List<OSSFile> allRelevFileList = new ArrayList<>();
|
||||||
|
for (Map<String, Object> fileMap : fileListAll) {
|
||||||
|
for (Map.Entry map : fileMap.entrySet()) {
|
||||||
|
String key = (String) map.getKey();
|
||||||
|
List<OSSFile> fileList = (List<OSSFile>) map.getValue();
|
||||||
|
if (nioNumberList.contains(key)) {
|
||||||
|
allRelevFileList.addAll(fileList);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (CollectionUtil.isNotEmpty(allRelevFileList)) {
|
||||||
|
String exportFile = "导出文件";
|
||||||
|
if (CutEnum.EN.getValue().equals(paramsReportDetailVO.getCut())) {
|
||||||
|
exportFile = "Export file";
|
||||||
|
}
|
||||||
|
|
||||||
|
downLoadFileList(allRelevFileList, fileNowPath + File.separator + exportFile);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 替换占位符内容
|
// 替换占位符内容
|
||||||
// docx4j方式
|
// docx4j方式
|
||||||
InputStream excelTemplate = CosBootUtil.download(templateUrl);
|
Workbook workbook = WorkbookFactory.create(excelTemplateForPoi);
|
||||||
SpreadsheetMLPackage pkg = SpreadsheetMLPackage.load(wordTemplate);
|
|
||||||
Workbook workbook = WorkbookFactory.create(excelTemplate);
|
|
||||||
ExcelUtil.replacePictureBatchPOI(workbook, pkg, imgListAll, params);
|
ExcelUtil.replacePictureBatchPOI(workbook, pkg, imgListAll, params);
|
||||||
ExcelUtil.variableReplace(pkg, params);
|
ExcelUtil.variableReplace(pkg, params);
|
||||||
pkg.save(wordOS);
|
pkg.save(wordOS);
|
||||||
@@ -1092,7 +1129,7 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl<ParamsReportDet
|
|||||||
Map<String, Object> resultMap = new HashMap<>();
|
Map<String, Object> resultMap = new HashMap<>();
|
||||||
|
|
||||||
List<Map<String, Object>> imgListAll = new ArrayList<>(); // 存放图片信息
|
List<Map<String, Object>> imgListAll = new ArrayList<>(); // 存放图片信息
|
||||||
List<OSSFile> fileListAll = new ArrayList<>(); // 存放文件
|
List<Map<String, Object>> fileListAll = new ArrayList<>(); // 存放文件
|
||||||
String fileTypeStr = ".png,.PNG,.jfif,.JFIF,.pjpeg,.PJPEG,.jpeg,.JPEG,.pjp,.PJP,.jpg,.JPG";
|
String fileTypeStr = ".png,.PNG,.jfif,.JFIF,.pjpeg,.PJPEG,.jpeg,.JPEG,.pjp,.PJP,.jpg,.JPG";
|
||||||
// 查询配置列数据
|
// 查询配置列数据
|
||||||
for (Map<String, Object> record1 : dataList) {
|
for (Map<String, Object> record1 : dataList) {
|
||||||
@@ -1125,13 +1162,16 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl<ParamsReportDet
|
|||||||
fileNameList.add(ossFileList.get(0).getFileName());
|
fileNameList.add(ossFileList.get(0).getFileName());
|
||||||
|
|
||||||
fileList.addAll(ossFileList);
|
fileList.addAll(ossFileList);
|
||||||
|
|
||||||
|
Map<String, Object> fileMap = new HashMap<>();
|
||||||
|
fileMap.put(nioNumber, ossFileList);
|
||||||
|
fileListAll.add(fileMap);
|
||||||
} else {
|
} else {
|
||||||
imgFileList.addAll(ossFileList);
|
imgFileList.addAll(ossFileList);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fileListAll.addAll(fileList);
|
|
||||||
|
|
||||||
StringBuilder configDataBuilder = new StringBuilder(); // 重新组合配置数据
|
StringBuilder configDataBuilder = new StringBuilder(); // 重新组合配置数据
|
||||||
if ((ControlTypeEnum.FILE.getValue().equals(controlType)
|
if ((ControlTypeEnum.FILE.getValue().equals(controlType)
|
||||||
|
|||||||
@@ -246,6 +246,39 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
|||||||
return updateById(paramsInfoEO);
|
return updateById(paramsInfoEO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void verifyForAddOrEdit (String paramsNumber, String paramsName, String cut) {
|
||||||
|
|
||||||
|
// 编号,参数名称校验
|
||||||
|
if (StringUtils.isNotBlank(paramsNumber)) {
|
||||||
|
String numberRegex = "^[A-Za-z0-9-/. ]+$";
|
||||||
|
if (!paramsNumber.matches(numberRegex)) {
|
||||||
|
if (CutEnum.CN.getValue().equals(cut)) {
|
||||||
|
throw new JeroBootException("编号只能输入字母,数字,横杠(-),小数点(.),左斜杠,空格");
|
||||||
|
} else {
|
||||||
|
throw new JeroBootException("Number enter only letters, numbers, dash (-),dot (.),left slash,spaces");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (paramsNumber.length() > Long.parseLong("15")) {
|
||||||
|
if (CutEnum.CN.getValue().equals(cut)) {
|
||||||
|
throw new JeroBootException("编号不能超过15个字符");
|
||||||
|
} else {
|
||||||
|
throw new JeroBootException("Number can not exceed 15 chars");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (StringUtils.isNotBlank(paramsName)) {
|
||||||
|
if (paramsName.length() > Long.parseLong("100")) {
|
||||||
|
if (CutEnum.CN.getValue().equals(cut)) {
|
||||||
|
throw new JeroBootException("参数名称不能超过100个字符");
|
||||||
|
} else {
|
||||||
|
throw new JeroBootException("Params Name can not exceed 100 chars");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通过id删除
|
* 通过id删除
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -201,7 +201,7 @@ public class SyncDataServiceImpl implements ISyncDataService{
|
|||||||
pageSum += 1;
|
pageSum += 1;
|
||||||
}
|
}
|
||||||
//循环查询统一认证系统所有账户信息(从第二页开始)
|
//循环查询统一认证系统所有账户信息(从第二页开始)
|
||||||
for(int page = 1; page < 2; page++){
|
for(int page = 1; page < pageSum; page++){
|
||||||
path = "/people/v1/employee/all-info";
|
path = "/people/v1/employee/all-info";
|
||||||
queryStr = "app_id=" + appId + "&hash_type=sha256&limit=100&offset=" + (page*100);
|
queryStr = "app_id=" + appId + "&hash_type=sha256&limit=100&offset=" + (page*100);
|
||||||
response = getResultDataOfGet(path, queryStr);
|
response = getResultDataOfGet(path, queryStr);
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -59,6 +59,7 @@ public class CountryCardManageReleaseDetailEOController extends JeroController<C
|
|||||||
QueryWrapper<CountryCardManageReleaseDetailEO> queryWrapper = QueryGenerator.initQueryWrapper(countryCardManageReleaseDetailEO, req.getParameterMap());
|
QueryWrapper<CountryCardManageReleaseDetailEO> queryWrapper = QueryGenerator.initQueryWrapper(countryCardManageReleaseDetailEO, req.getParameterMap());
|
||||||
Page<CountryCardManageReleaseDetailEO> page = new Page<CountryCardManageReleaseDetailEO>(pageNo, pageSize);
|
Page<CountryCardManageReleaseDetailEO> page = new Page<CountryCardManageReleaseDetailEO>(pageNo, pageSize);
|
||||||
IPage<CountryCardManageReleaseDetailEO> pageList = countryCardManageReleaseDetailEOService.page(page, queryWrapper);
|
IPage<CountryCardManageReleaseDetailEO> pageList = countryCardManageReleaseDetailEOService.page(page, queryWrapper);
|
||||||
|
this.countryCardManageReleaseDetailEOService.disposeData(pageList.getRecords(),countryCardManageReleaseDetailEO.getCut());
|
||||||
return Result.OK(pageList);
|
return Result.OK(pageList);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -70,9 +71,10 @@ public class CountryCardManageReleaseDetailEOController extends JeroController<C
|
|||||||
@AutoLog(value = "问题知识库-country_card-管理发布明细表-列表查询")
|
@AutoLog(value = "问题知识库-country_card-管理发布明细表-列表查询")
|
||||||
@ApiOperation(value="问题知识库-country_card-管理发布明细表-列表查询", notes="问题知识库-country_card-管理发布明细表-列表查询")
|
@ApiOperation(value="问题知识库-country_card-管理发布明细表-列表查询", notes="问题知识库-country_card-管理发布明细表-列表查询")
|
||||||
@GetMapping(value = "/list")
|
@GetMapping(value = "/list")
|
||||||
public Result<List<CountryCardManageReleaseDetailEO>> queryList() {
|
public Result<List<CountryCardManageReleaseDetailEO>> queryList(CountryCardManageReleaseDetailEO countryCardManageReleaseDetailEO,HttpServletRequest req) {
|
||||||
List<CountryCardManageReleaseDetailEO> list = countryCardManageReleaseDetailEOService.queryList();
|
List<CountryCardManageReleaseDetailEO> result = countryCardManageReleaseDetailEOService.queryList(countryCardManageReleaseDetailEO,req);
|
||||||
return Result.OK(list);
|
this.countryCardManageReleaseDetailEOService.disposeData(result,countryCardManageReleaseDetailEO.getCut());
|
||||||
|
return Result.OK(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ public class CountryCardManageReleaseEOController extends JeroController<Country
|
|||||||
Page<CountryCardManageReleaseEO> page = new Page<CountryCardManageReleaseEO>(pageNo, pageSize);
|
Page<CountryCardManageReleaseEO> page = new Page<CountryCardManageReleaseEO>(pageNo, pageSize);
|
||||||
IPage<CountryCardManageReleaseEO> pageList = countryCardManageReleaseEOService.page(page, queryWrapper);
|
IPage<CountryCardManageReleaseEO> pageList = countryCardManageReleaseEOService.page(page, queryWrapper);
|
||||||
this.countryCardManageReleaseEOService.disposeData(pageList.getRecords(),cut);
|
this.countryCardManageReleaseEOService.disposeData(pageList.getRecords(),cut);
|
||||||
return Result.OK(pageList);
|
return Result.OK(cut,pageList);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -194,8 +194,21 @@ public class CountryCardManageReleaseEOController extends JeroController<Country
|
|||||||
@AutoLog(value = "问题知识库-country_card-管理发布-获取适用市场下拉选")
|
@AutoLog(value = "问题知识库-country_card-管理发布-获取适用市场下拉选")
|
||||||
@ApiOperation(value="问题知识库-country_card-管理发布-获取适用市场下拉选", notes="问题知识库-country_card-管理发布-获取适用市场下拉选")
|
@ApiOperation(value="问题知识库-country_card-管理发布-获取适用市场下拉选", notes="问题知识库-country_card-管理发布-获取适用市场下拉选")
|
||||||
@GetMapping(value = "/getApplyMarketList")
|
@GetMapping(value = "/getApplyMarketList")
|
||||||
public Result<List<DictModel>> getApplyMarketList() {
|
public Result<List<DictModel>> getApplyMarketList(@RequestParam(name = "queryFlag",required=false) String queryFlag) {
|
||||||
Result<List<DictModel>> result = this.countryCardManageReleaseEOService.getApplyMarketList();
|
Result<List<DictModel>> result = this.countryCardManageReleaseEOService.getApplyMarketList(queryFlag);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据多个适用地区查询数据
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@AutoLog(value = "问题知识库-country_card-管理发布表-根据多个适用地区查询数据")
|
||||||
|
@ApiOperation(value="问题知识库-country_card-管理发布表-根据多个适用地区查询数据", notes="问题知识库-country_card-管理发布表-根据多个适用地区查询数据")
|
||||||
|
@PostMapping(value = "/queryCountryCardManageReleaseByApplyMarkets")
|
||||||
|
public Result<List<CountryCardManageReleaseEO>> queryCountryCardManageReleaseByApplyMarkets(@RequestBody JSONObject params) {
|
||||||
|
List<CountryCardManageReleaseEO> list = countryCardManageReleaseEOService.queryCountryCardManageReleaseByApplyMarkets(params);
|
||||||
|
return Result.OK(list);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,170 @@
|
|||||||
|
package com.jero.modules.problemKnowledgeBase.controller;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import com.jero.common.api.vo.Result;
|
||||||
|
import com.jero.common.system.query.QueryGenerator;
|
||||||
|
import com.jero.modules.problemKnowledgeBase.entity.CountryNationalFlagEO;
|
||||||
|
import com.jero.modules.problemKnowledgeBase.service.ICountryNationalFlagEOService;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import com.jero.common.system.base.controller.JeroController;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import com.jero.common.aspect.annotation.AutoLog;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 国家与国旗中间表
|
||||||
|
* @Author: jero-boot
|
||||||
|
* @Date: 2022-08-09
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
@Api(tags="国家与国旗中间表")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/problemKnowledgeBase/countryNationalFlagEO")
|
||||||
|
@Slf4j
|
||||||
|
public class CountryNationalFlagEOController extends JeroController<CountryNationalFlagEO, ICountryNationalFlagEOService> {
|
||||||
|
@Autowired
|
||||||
|
private ICountryNationalFlagEOService countryNationalFlagEOService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页列表查询
|
||||||
|
*
|
||||||
|
* @param countryNationalFlagEO
|
||||||
|
* @param pageNo
|
||||||
|
* @param pageSize
|
||||||
|
* @param req
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@AutoLog(value = "国家与国旗中间表-分页列表查询")
|
||||||
|
@ApiOperation(value="国家与国旗中间表-分页列表查询", notes="国家与国旗中间表-分页列表查询")
|
||||||
|
@GetMapping(value = "/page")
|
||||||
|
public Result<?> queryPageList(CountryNationalFlagEO countryNationalFlagEO,
|
||||||
|
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||||
|
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||||
|
HttpServletRequest req) {
|
||||||
|
QueryWrapper<CountryNationalFlagEO> queryWrapper = QueryGenerator.initQueryWrapper(countryNationalFlagEO, req.getParameterMap());
|
||||||
|
Page<CountryNationalFlagEO> page = new Page<CountryNationalFlagEO>(pageNo, pageSize);
|
||||||
|
IPage<CountryNationalFlagEO> pageList = countryNationalFlagEOService.page(page, queryWrapper);
|
||||||
|
return Result.OK(pageList);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 列表查询
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@AutoLog(value = "国家与国旗中间表-列表查询")
|
||||||
|
@ApiOperation(value="国家与国旗中间表-列表查询", notes="国家与国旗中间表-列表查询")
|
||||||
|
@GetMapping(value = "/list")
|
||||||
|
public Result<List<CountryNationalFlagEO>> queryList() {
|
||||||
|
List<CountryNationalFlagEO> list = countryNationalFlagEOService.queryList();
|
||||||
|
return Result.OK(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加
|
||||||
|
*
|
||||||
|
* @param countryNationalFlagEO
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@AutoLog(value = "国家与国旗中间表-添加")
|
||||||
|
@ApiOperation(value="国家与国旗中间表-添加", notes="国家与国旗中间表-添加")
|
||||||
|
@PostMapping(value = "/add")
|
||||||
|
public Result<?> add(@Validated @RequestBody CountryNationalFlagEO countryNationalFlagEO) {
|
||||||
|
countryNationalFlagEOService.add(countryNationalFlagEO);
|
||||||
|
return Result.OK("添加成功!");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 编辑
|
||||||
|
*
|
||||||
|
* @param countryNationalFlagEO
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@AutoLog(value = "国家与国旗中间表-编辑")
|
||||||
|
@ApiOperation(value="国家与国旗中间表-编辑", notes="国家与国旗中间表-编辑")
|
||||||
|
@PutMapping(value = "/edit")
|
||||||
|
public Result<?> edit(@Validated @RequestBody CountryNationalFlagEO countryNationalFlagEO) {
|
||||||
|
countryNationalFlagEOService.editById(countryNationalFlagEO);
|
||||||
|
return Result.OK("编辑成功!");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过id删除
|
||||||
|
*
|
||||||
|
* @param id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@AutoLog(value = "国家与国旗中间表-通过id删除")
|
||||||
|
@ApiOperation(value="国家与国旗中间表-通过id删除", notes="国家与国旗中间表-通过id删除")
|
||||||
|
@DeleteMapping(value = "/delete")
|
||||||
|
public Result<?> delete(@RequestParam(name="id",required=true) String id) {
|
||||||
|
countryNationalFlagEOService.deleteById(id);
|
||||||
|
return Result.OK("删除成功!");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除
|
||||||
|
*
|
||||||
|
* @param ids
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@AutoLog(value = "国家与国旗中间表-批量删除")
|
||||||
|
@ApiOperation(value="国家与国旗中间表-批量删除", notes="国家与国旗中间表-批量删除")
|
||||||
|
@DeleteMapping(value = "/deleteBatch")
|
||||||
|
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
|
||||||
|
this.countryNationalFlagEOService.deleteByIds(Arrays.asList(ids.split(",")));
|
||||||
|
return Result.OK("批量删除成功!");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过id查询
|
||||||
|
*
|
||||||
|
* @param id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@AutoLog(value = "国家与国旗中间表-通过id查询")
|
||||||
|
@ApiOperation(value="国家与国旗中间表-通过id查询", notes="国家与国旗中间表-通过id查询")
|
||||||
|
@GetMapping(value = "/queryById")
|
||||||
|
public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
|
||||||
|
CountryNationalFlagEO countryNationalFlagEO = countryNationalFlagEOService.queryById(id);
|
||||||
|
if(countryNationalFlagEO==null) {
|
||||||
|
return Result.error("未找到对应数据");
|
||||||
|
}
|
||||||
|
return Result.OK(countryNationalFlagEO);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出excel
|
||||||
|
*
|
||||||
|
* @param request
|
||||||
|
* @param countryNationalFlagEO
|
||||||
|
*/
|
||||||
|
@RequestMapping(value = "/exportXls")
|
||||||
|
public ModelAndView exportXls(HttpServletRequest request, CountryNationalFlagEO countryNationalFlagEO) {
|
||||||
|
return super.exportXls(request, countryNationalFlagEO, CountryNationalFlagEO.class, "国家与国旗中间表");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过excel导入数据
|
||||||
|
*
|
||||||
|
* @param request
|
||||||
|
* @param response
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
|
||||||
|
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
|
||||||
|
return super.importExcel(request, response, CountryNationalFlagEO.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,21 +1,20 @@
|
|||||||
package com.jero.modules.problemKnowledgeBase.entity;
|
package com.jero.modules.problemKnowledgeBase.entity;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.io.UnsupportedEncodingException;
|
import java.util.List;
|
||||||
import java.math.BigDecimal;
|
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import org.springframework.format.annotation.DateTimeFormat;
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||||
import com.jero.common.aspect.annotation.Dict;
|
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -70,6 +69,10 @@ public class CountryCardManageReleaseDetailEO implements Serializable {
|
|||||||
@Excel(name = "模板表id", width = 15)
|
@Excel(name = "模板表id", width = 15)
|
||||||
@ApiModelProperty(value = "模板表id")
|
@ApiModelProperty(value = "模板表id")
|
||||||
private java.lang.String countryCardTempId;
|
private java.lang.String countryCardTempId;
|
||||||
|
/**标签名称**/
|
||||||
|
@TableField(exist = false)
|
||||||
|
@ApiModelProperty(value = "标签名称")
|
||||||
|
private java.lang.String lableName;
|
||||||
|
|
||||||
/**描述*/
|
/**描述*/
|
||||||
@Excel(name = "描述", width = 15)
|
@Excel(name = "描述", width = 15)
|
||||||
@@ -81,4 +84,15 @@ public class CountryCardManageReleaseDetailEO implements Serializable {
|
|||||||
@ApiModelProperty(value = "内容")
|
@ApiModelProperty(value = "内容")
|
||||||
private java.lang.String content;
|
private java.lang.String content;
|
||||||
|
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String cut;
|
||||||
|
|
||||||
|
/**标签类型**/
|
||||||
|
@TableField(exist = false)
|
||||||
|
@ApiModelProperty(value = "标签类型")
|
||||||
|
private String lableType;
|
||||||
|
|
||||||
|
/**Country Card模板维护-字典项实体*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
private List<CountryCardTempItemEO> countryCardTempItemEOList;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -67,6 +67,7 @@ public class CountryCardManageReleaseEO implements Serializable {
|
|||||||
/**适用市场*/
|
/**适用市场*/
|
||||||
@Excel(name = "适用市场", width = 15)
|
@Excel(name = "适用市场", width = 15)
|
||||||
@ApiModelProperty(value = "适用市场")
|
@ApiModelProperty(value = "适用市场")
|
||||||
|
@Dict(dicCode = "region")
|
||||||
private java.lang.String applyMarket;
|
private java.lang.String applyMarket;
|
||||||
|
|
||||||
/**发布状态*/
|
/**发布状态*/
|
||||||
@@ -82,4 +83,8 @@ public class CountryCardManageReleaseEO implements Serializable {
|
|||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private List<CountryCardManageReleaseDetailEO> countryCardManageReleaseDetailEOList;
|
private List<CountryCardManageReleaseDetailEO> countryCardManageReleaseDetailEOList;
|
||||||
|
|
||||||
|
/**国旗**/
|
||||||
|
@TableField(exist = false)
|
||||||
|
private java.lang.String countryNationalFlag;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,84 @@
|
|||||||
|
package com.jero.modules.problemKnowledgeBase.entity;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.io.UnsupportedEncodingException;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import lombok.Data;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||||
|
import com.jero.common.aspect.annotation.Dict;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 国家与国旗中间表
|
||||||
|
* @Author: jero-boot
|
||||||
|
* @Date: 2022-08-09
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName("country_national_flag")
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
@ApiModel(value="country_national_flag对象", description="国家与国旗中间表")
|
||||||
|
public class CountryNationalFlagEO implements Serializable {
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**主键*/
|
||||||
|
@TableId(type = IdType.ASSIGN_ID)
|
||||||
|
@ApiModelProperty(value = "主键")
|
||||||
|
private java.lang.String id;
|
||||||
|
|
||||||
|
/**创建人*/
|
||||||
|
@ApiModelProperty(value = "创建人")
|
||||||
|
private java.lang.String createBy;
|
||||||
|
|
||||||
|
/**创建日期*/
|
||||||
|
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||||
|
@ApiModelProperty(value = "创建日期")
|
||||||
|
private java.util.Date createTime;
|
||||||
|
|
||||||
|
/**更新人*/
|
||||||
|
@ApiModelProperty(value = "更新人")
|
||||||
|
private java.lang.String updateBy;
|
||||||
|
|
||||||
|
/**更新日期*/
|
||||||
|
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||||
|
@ApiModelProperty(value = "更新日期")
|
||||||
|
private java.util.Date updateTime;
|
||||||
|
|
||||||
|
/**所属部门*/
|
||||||
|
@ApiModelProperty(value = "所属部门")
|
||||||
|
private java.lang.String sysOrgCode;
|
||||||
|
|
||||||
|
/**国家名称*/
|
||||||
|
@Excel(name = "国家名称中文", width = 15)
|
||||||
|
@ApiModelProperty(value = "国家名称中文")
|
||||||
|
private java.lang.String countryNameCn;
|
||||||
|
|
||||||
|
/**国家名称*/
|
||||||
|
@Excel(name = "国家名称英文", width = 15)
|
||||||
|
@ApiModelProperty(value = "国家名称英文")
|
||||||
|
private java.lang.String countryNameEn;
|
||||||
|
|
||||||
|
/**国旗文件id*/
|
||||||
|
@Excel(name = "国旗文件id", width = 15)
|
||||||
|
@ApiModelProperty(value = "国旗文件id")
|
||||||
|
private java.lang.String nationalFlagId;
|
||||||
|
|
||||||
|
/**国旗文件url*/
|
||||||
|
@Excel(name = "国旗文件url", width = 15)
|
||||||
|
@ApiModelProperty(value = "国旗文件url")
|
||||||
|
private java.lang.String nationalFlagUrl;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,8 +1,6 @@
|
|||||||
package com.jero.modules.problemKnowledgeBase.entity;
|
package com.jero.modules.problemKnowledgeBase.entity;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.io.UnsupportedEncodingException;
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
@@ -18,8 +16,6 @@ import io.swagger.annotations.ApiModel;
|
|||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 问题知识库表
|
* @Description: 问题知识库表
|
||||||
@@ -100,9 +96,9 @@ public class ProblemKnowledgeBaseEO implements Serializable {
|
|||||||
|
|
||||||
/**内容(正文)*/
|
/**内容(正文)*/
|
||||||
@Excel(name = "内容(正文)", width = 15)
|
@Excel(name = "内容(正文)", width = 15)
|
||||||
private transient java.lang.String contentString;
|
private java.lang.String content;
|
||||||
|
|
||||||
private byte[] content;
|
/*private byte[] content;
|
||||||
|
|
||||||
public byte[] getContent(){
|
public byte[] getContent(){
|
||||||
if(contentString==null){
|
if(contentString==null){
|
||||||
@@ -126,7 +122,7 @@ public class ProblemKnowledgeBaseEO implements Serializable {
|
|||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
return "";
|
return "";
|
||||||
}
|
}*/
|
||||||
/**附件*/
|
/**附件*/
|
||||||
@Excel(name = "附件", width = 15)
|
@Excel(name = "附件", width = 15)
|
||||||
@ApiModelProperty(value = "附件")
|
@ApiModelProperty(value = "附件")
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package com.jero.modules.problemKnowledgeBase.mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import com.jero.modules.problemKnowledgeBase.entity.CountryNationalFlagEO;
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 国家与国旗中间表
|
||||||
|
* @Author: jero-boot
|
||||||
|
* @Date: 2022-08-09
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
public interface CountryNationalFlagEOMapper extends BaseMapper<CountryNationalFlagEO> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.jero.modules.problemKnowledgeBase.mapper.CountryNationalFlagEOMapper">
|
||||||
|
<resultMap id="CountryNationalFlagEOResultMap" type="com.jero.modules.problemKnowledgeBase.entity.CountryNationalFlagEO">
|
||||||
|
<id column="id" property="id" />
|
||||||
|
<result column="create_by" property="createBy" />
|
||||||
|
<result column="create_time" property="createTime" />
|
||||||
|
<result column="update_by" property="updateBy" />
|
||||||
|
<result column="update_time" property="updateTime" />
|
||||||
|
<result column="sys_org_code" property="sysOrgCode" />
|
||||||
|
<result column="country_name_cn" property="countryNameCn" />
|
||||||
|
<result column="country_name_en" property="countryNameEn" />
|
||||||
|
<result column="national_flag_id" property="nationalFlagId" />
|
||||||
|
<result column="national_flag_url" property="nationalFlagUrl" />
|
||||||
|
</resultMap>
|
||||||
|
</mapper>
|
||||||
@@ -2,6 +2,8 @@ package com.jero.modules.problemKnowledgeBase.service;
|
|||||||
|
|
||||||
import com.jero.modules.problemKnowledgeBase.entity.CountryCardManageReleaseDetailEO;
|
import com.jero.modules.problemKnowledgeBase.entity.CountryCardManageReleaseDetailEO;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -57,5 +59,12 @@ public interface ICountryCardManageReleaseDetailEOService extends IService<Count
|
|||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<CountryCardManageReleaseDetailEO> queryList();
|
List<CountryCardManageReleaseDetailEO> queryList(CountryCardManageReleaseDetailEO countryCardManageReleaseDetailEO, HttpServletRequest req);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 处理数据
|
||||||
|
* @param datas
|
||||||
|
* @param cut
|
||||||
|
*/
|
||||||
|
void disposeData(List<CountryCardManageReleaseDetailEO> datas, String cut);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -79,5 +79,7 @@ public interface ICountryCardManageReleaseEOService extends IService<CountryCard
|
|||||||
* 获取适用市场
|
* 获取适用市场
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
Result<List<DictModel>> getApplyMarketList();
|
Result<List<DictModel>> getApplyMarketList(String queryFlag);
|
||||||
|
|
||||||
|
List<CountryCardManageReleaseEO> queryCountryCardManageReleaseByApplyMarkets(JSONObject params);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,61 @@
|
|||||||
|
package com.jero.modules.problemKnowledgeBase.service;
|
||||||
|
|
||||||
|
import com.jero.modules.problemKnowledgeBase.entity.CountryNationalFlagEO;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 国家与国旗中间表
|
||||||
|
* @Author: jero-boot
|
||||||
|
* @Date: 2022-08-09
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
public interface ICountryNationalFlagEOService extends IService<CountryNationalFlagEO> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保存
|
||||||
|
*
|
||||||
|
* @param countryNationalFlagEO
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
void add(CountryNationalFlagEO countryNationalFlagEO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新
|
||||||
|
*
|
||||||
|
* @param countryNationalFlagEO
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
void editById(CountryNationalFlagEO countryNationalFlagEO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过id删除
|
||||||
|
*
|
||||||
|
* @param id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
void deleteById(String id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除
|
||||||
|
*
|
||||||
|
* @param ids
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
void deleteByIds(List<String> ids);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过id查询
|
||||||
|
*
|
||||||
|
* @param id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
CountryNationalFlagEO queryById(String id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 列表查询
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<CountryNationalFlagEO> queryList();
|
||||||
|
}
|
||||||
@@ -1,15 +1,29 @@
|
|||||||
package com.jero.modules.problemKnowledgeBase.service.impl;
|
package com.jero.modules.problemKnowledgeBase.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.jero.common.system.query.QueryGenerator;
|
||||||
import com.jero.modules.problemKnowledgeBase.entity.CountryCardManageReleaseDetailEO;
|
import com.jero.modules.problemKnowledgeBase.entity.CountryCardManageReleaseDetailEO;
|
||||||
|
import com.jero.modules.problemKnowledgeBase.entity.CountryCardTempEO;
|
||||||
|
import com.jero.modules.problemKnowledgeBase.entity.CountryCardTempItemEO;
|
||||||
|
import com.jero.modules.problemKnowledgeBase.enums.LableTypeEnum;
|
||||||
import com.jero.modules.problemKnowledgeBase.mapper.CountryCardManageReleaseDetailEOMapper;
|
import com.jero.modules.problemKnowledgeBase.mapper.CountryCardManageReleaseDetailEOMapper;
|
||||||
import com.jero.modules.problemKnowledgeBase.service.ICountryCardManageReleaseDetailEOService;
|
import com.jero.modules.problemKnowledgeBase.service.ICountryCardManageReleaseDetailEOService;
|
||||||
|
import com.jero.modules.problemKnowledgeBase.service.ICountryCardTempEOService;
|
||||||
|
import com.jero.modules.problemKnowledgeBase.service.ICountryCardTempItemEOService;
|
||||||
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.springframework.transaction.annotation.Propagation;
|
import org.springframework.transaction.annotation.Propagation;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 问题知识库-country_card-管理发布明细表
|
* @Description: 问题知识库-country_card-管理发布明细表
|
||||||
* @Author: jero-boot
|
* @Author: jero-boot
|
||||||
@@ -20,6 +34,11 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
|
@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
|
||||||
public class CountryCardManageReleaseDetailEOServiceImpl extends ServiceImpl<CountryCardManageReleaseDetailEOMapper, CountryCardManageReleaseDetailEO> implements ICountryCardManageReleaseDetailEOService {
|
public class CountryCardManageReleaseDetailEOServiceImpl extends ServiceImpl<CountryCardManageReleaseDetailEOMapper, CountryCardManageReleaseDetailEO> implements ICountryCardManageReleaseDetailEOService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ICountryCardTempEOService countryCardTempEOService;
|
||||||
|
@Autowired
|
||||||
|
private ICountryCardTempItemEOService countryCardTempItemEOService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保存
|
* 保存
|
||||||
*
|
*
|
||||||
@@ -86,7 +105,52 @@ public class CountryCardManageReleaseDetailEOServiceImpl extends ServiceImpl<Cou
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<CountryCardManageReleaseDetailEO> queryList() {
|
public List<CountryCardManageReleaseDetailEO> queryList(CountryCardManageReleaseDetailEO countryCardManageReleaseDetailEO, HttpServletRequest req) {
|
||||||
return list();
|
QueryWrapper<CountryCardManageReleaseDetailEO> queryWrapper = QueryGenerator.initQueryWrapper(countryCardManageReleaseDetailEO, req.getParameterMap());
|
||||||
|
queryWrapper.orderByDesc("create_time");
|
||||||
|
List<CountryCardManageReleaseDetailEO> result = this.list(queryWrapper);
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void disposeData(List<CountryCardManageReleaseDetailEO> datas, String cut) {
|
||||||
|
if (CollectionUtils.isNotEmpty(datas)) {
|
||||||
|
//获取模板
|
||||||
|
List<CountryCardTempEO> countryCardTempEOList = this.countryCardTempEOService.list();
|
||||||
|
|
||||||
|
List<String> countroCardTempIdList = countryCardTempEOList.stream().map(CountryCardTempEO::getId).distinct().collect(Collectors.toList());
|
||||||
|
QueryWrapper<CountryCardTempItemEO> tempItemEOQueryWrapper = new QueryWrapper<>();
|
||||||
|
tempItemEOQueryWrapper.lambda().in(CountryCardTempItemEO::getCountryCardTempId,countroCardTempIdList);
|
||||||
|
List<CountryCardTempItemEO> countryCardTempItemEOList = this.countryCardTempItemEOService.list(tempItemEOQueryWrapper);
|
||||||
|
|
||||||
|
datas.forEach(data -> {
|
||||||
|
List<CountryCardTempEO> countryCardTemp = countryCardTempEOList.stream().filter(countryCardTempEO -> {
|
||||||
|
boolean flag = false;
|
||||||
|
if (StringUtils.equals(data.getCountryCardTempId(), countryCardTempEO.getId())) {
|
||||||
|
flag = true;
|
||||||
|
}
|
||||||
|
return flag;
|
||||||
|
}).collect(Collectors.toList());
|
||||||
|
if(CollectionUtils.isNotEmpty(countryCardTemp)){
|
||||||
|
data.setLableName(countryCardTemp.get(0).getLableName());
|
||||||
|
data.setLableType(countryCardTemp.get(0).getLableType());
|
||||||
|
}
|
||||||
|
|
||||||
|
//如果该条数据的标签类型是下拉选项
|
||||||
|
if(CollectionUtils.isNotEmpty(countryCardTempItemEOList) && StringUtils.equals(data.getLableType(), LableTypeEnum.PULL_SINGLE.getValue())){
|
||||||
|
//把这条模板的下拉选项设置进去
|
||||||
|
List<CountryCardTempItemEO> collect = countryCardTempItemEOList.stream().filter(countryCardTempItemEO -> {
|
||||||
|
boolean flag = false;
|
||||||
|
if (StringUtils.equals(data.getCountryCardTempId(), countryCardTempItemEO.getCountryCardTempId())) {
|
||||||
|
flag = true;
|
||||||
|
}
|
||||||
|
return flag;
|
||||||
|
}).collect(Collectors.toList());
|
||||||
|
|
||||||
|
data.setCountryCardTempItemEOList(collect);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,10 +6,12 @@ import com.jero.common.api.vo.Result;
|
|||||||
import com.jero.common.system.vo.DictModel;
|
import com.jero.common.system.vo.DictModel;
|
||||||
import com.jero.modules.problemKnowledgeBase.entity.CountryCardManageReleaseDetailEO;
|
import com.jero.modules.problemKnowledgeBase.entity.CountryCardManageReleaseDetailEO;
|
||||||
import com.jero.modules.problemKnowledgeBase.entity.CountryCardManageReleaseEO;
|
import com.jero.modules.problemKnowledgeBase.entity.CountryCardManageReleaseEO;
|
||||||
|
import com.jero.modules.problemKnowledgeBase.entity.CountryNationalFlagEO;
|
||||||
import com.jero.modules.problemKnowledgeBase.enums.ReleaseStatusEnum;
|
import com.jero.modules.problemKnowledgeBase.enums.ReleaseStatusEnum;
|
||||||
import com.jero.modules.problemKnowledgeBase.mapper.CountryCardManageReleaseEOMapper;
|
import com.jero.modules.problemKnowledgeBase.mapper.CountryCardManageReleaseEOMapper;
|
||||||
import com.jero.modules.problemKnowledgeBase.service.ICountryCardManageReleaseDetailEOService;
|
import com.jero.modules.problemKnowledgeBase.service.ICountryCardManageReleaseDetailEOService;
|
||||||
import com.jero.modules.problemKnowledgeBase.service.ICountryCardManageReleaseEOService;
|
import com.jero.modules.problemKnowledgeBase.service.ICountryCardManageReleaseEOService;
|
||||||
|
import com.jero.modules.problemKnowledgeBase.service.ICountryNationalFlagEOService;
|
||||||
import com.jero.modules.system.enums.DicCodeEnum;
|
import com.jero.modules.system.enums.DicCodeEnum;
|
||||||
import com.jero.modules.system.service.ISysDictService;
|
import com.jero.modules.system.service.ISysDictService;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
@@ -41,6 +43,8 @@ public class CountryCardManageReleaseEOServiceImpl extends ServiceImpl<CountryCa
|
|||||||
private ICountryCardManageReleaseDetailEOService countryCardManageReleaseDetailEOService;
|
private ICountryCardManageReleaseDetailEOService countryCardManageReleaseDetailEOService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ISysDictService sysDictService;
|
private ISysDictService sysDictService;
|
||||||
|
@Autowired
|
||||||
|
private ICountryNationalFlagEOService countryNationalFlagEOService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保存
|
* 保存
|
||||||
@@ -132,6 +136,12 @@ public class CountryCardManageReleaseEOServiceImpl extends ServiceImpl<CountryCa
|
|||||||
QueryWrapper<CountryCardManageReleaseDetailEO> releaseDetailEOQueryWrapper = new QueryWrapper<>();
|
QueryWrapper<CountryCardManageReleaseDetailEO> releaseDetailEOQueryWrapper = new QueryWrapper<>();
|
||||||
releaseDetailEOQueryWrapper.lambda().in(CountryCardManageReleaseDetailEO::getCountryCardManageReleaseId,CountryCardManageReleaseEOId);
|
releaseDetailEOQueryWrapper.lambda().in(CountryCardManageReleaseDetailEO::getCountryCardManageReleaseId,CountryCardManageReleaseEOId);
|
||||||
List<CountryCardManageReleaseDetailEO> releaseDetailEOList = this.countryCardManageReleaseDetailEOService.list(releaseDetailEOQueryWrapper);
|
List<CountryCardManageReleaseDetailEO> releaseDetailEOList = this.countryCardManageReleaseDetailEOService.list(releaseDetailEOQueryWrapper);
|
||||||
|
this.countryCardManageReleaseDetailEOService.disposeData(releaseDetailEOList,cut);
|
||||||
|
|
||||||
|
List<DictModel> dictModelList = sysDictService.queryDictItemsByCode(DicCodeEnum.REGION.getCode());
|
||||||
|
|
||||||
|
//获取国旗
|
||||||
|
List<CountryNationalFlagEO> countryNationalFlagList = countryNationalFlagEOService.list();
|
||||||
|
|
||||||
datas.forEach(data -> {
|
datas.forEach(data -> {
|
||||||
if (StringUtils.isNotEmpty(data.getReleaseStatus())) {
|
if (StringUtils.isNotEmpty(data.getReleaseStatus())) {
|
||||||
@@ -148,6 +158,27 @@ public class CountryCardManageReleaseEOServiceImpl extends ServiceImpl<CountryCa
|
|||||||
}).collect(Collectors.toList());
|
}).collect(Collectors.toList());
|
||||||
data.setCountryCardManageReleaseDetailEOList(collect);
|
data.setCountryCardManageReleaseDetailEOList(collect);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
List<DictModel> regionList = dictModelList.stream().filter(region -> {
|
||||||
|
boolean flag = false;
|
||||||
|
if (StringUtils.equals(region.getValue(), data.getApplyMarket())) {
|
||||||
|
flag = true;
|
||||||
|
}
|
||||||
|
return flag;
|
||||||
|
}).collect(Collectors.toList());
|
||||||
|
|
||||||
|
if(CollectionUtils.isNotEmpty(regionList)){
|
||||||
|
DictModel dictModel = regionList.get(0);
|
||||||
|
|
||||||
|
String collect = countryNationalFlagList.stream().filter(nationalFlag -> {
|
||||||
|
boolean flag = false;
|
||||||
|
if(StringUtils.equals(nationalFlag.getCountryNameCn(),dictModel.getText())){
|
||||||
|
flag = true;
|
||||||
|
}
|
||||||
|
return flag;
|
||||||
|
}).map(CountryNationalFlagEO::getNationalFlagUrl).collect(Collectors.joining(","));
|
||||||
|
data.setCountryNationalFlag(collect);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -168,7 +199,7 @@ public class CountryCardManageReleaseEOServiceImpl extends ServiceImpl<CountryCa
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Result<List<DictModel>> getApplyMarketList() {
|
public Result<List<DictModel>> getApplyMarketList(String queryFlag) {
|
||||||
List<DictModel> result = new ArrayList<>();
|
List<DictModel> result = new ArrayList<>();
|
||||||
|
|
||||||
//获取所有的适用地区
|
//获取所有的适用地区
|
||||||
@@ -176,24 +207,60 @@ public class CountryCardManageReleaseEOServiceImpl extends ServiceImpl<CountryCa
|
|||||||
|
|
||||||
//获取已经创建了country Card的适用地区,该接口只返回,在country Card里面没有的适用地区。
|
//获取已经创建了country Card的适用地区,该接口只返回,在country Card里面没有的适用地区。
|
||||||
List<CountryCardManageReleaseEO> countryCardManageReleaseEOList = this.list();
|
List<CountryCardManageReleaseEO> countryCardManageReleaseEOList = this.list();
|
||||||
if(CollectionUtils.isEmpty(countryCardManageReleaseEOList)){
|
|
||||||
result = dictModelList;
|
//如果查询标识是空,则是在countryCard管理发布页面新增数据时使用:管理发布页新增查询的是,所有未创建countryCard的适用市场。
|
||||||
}else {
|
//如果查询标识不是空,则是在CountryCard的首页使用:首页查询的是 所有已创建了countryCard的适用市场。
|
||||||
for (DictModel dictModel : dictModelList) {
|
if (StringUtils.isEmpty(queryFlag)) {
|
||||||
boolean flag = true;
|
if(CollectionUtils.isEmpty(countryCardManageReleaseEOList)){
|
||||||
for (CountryCardManageReleaseEO countryCardManageReleaseEO : countryCardManageReleaseEOList) {
|
result = dictModelList;
|
||||||
if(StringUtils.equals(dictModel.getValue(),countryCardManageReleaseEO.getApplyMarket())){
|
}else {
|
||||||
flag = false;
|
for (DictModel dictModel : dictModelList) {
|
||||||
break;
|
boolean flag = true;
|
||||||
|
for (CountryCardManageReleaseEO countryCardManageReleaseEO : countryCardManageReleaseEOList) {
|
||||||
|
if(StringUtils.equals(dictModel.getValue(),countryCardManageReleaseEO.getApplyMarket())){
|
||||||
|
flag = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(flag){
|
||||||
|
result.add(dictModel);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
if(CollectionUtils.isEmpty(countryCardManageReleaseEOList)){
|
||||||
|
result = null;
|
||||||
|
}else {
|
||||||
|
for (DictModel dictModel : dictModelList) {
|
||||||
|
boolean flag = false;
|
||||||
|
for (CountryCardManageReleaseEO countryCardManageReleaseEO : countryCardManageReleaseEOList) {
|
||||||
|
if(StringUtils.equals(dictModel.getValue(),countryCardManageReleaseEO.getApplyMarket())
|
||||||
|
&&StringUtils.equals(countryCardManageReleaseEO.getReleaseStatus(),ReleaseStatusEnum.HAVE_RELEASED.getValue())){
|
||||||
|
flag = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(flag){
|
if(flag){
|
||||||
result.add(dictModel);
|
result.add(dictModel);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return Result.OK(result);
|
return Result.OK(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<CountryCardManageReleaseEO> queryCountryCardManageReleaseByApplyMarkets(JSONObject params) {
|
||||||
|
String applyMarkets = params.getString("applyMarkets");
|
||||||
|
String cut = params.getString("cut");
|
||||||
|
List<String> applyMarketList = Arrays.asList(applyMarkets.split(","));
|
||||||
|
QueryWrapper<CountryCardManageReleaseEO> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.lambda().in(CountryCardManageReleaseEO::getApplyMarket,applyMarketList);
|
||||||
|
List<CountryCardManageReleaseEO> result = this.list(queryWrapper);
|
||||||
|
this.disposeData(result,cut);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,10 +2,14 @@ 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.system.query.QueryGenerator;
|
import com.jero.common.system.query.QueryGenerator;
|
||||||
|
import com.jero.modules.problemKnowledgeBase.entity.CountryCardManageReleaseDetailEO;
|
||||||
|
import com.jero.modules.problemKnowledgeBase.entity.CountryCardManageReleaseEO;
|
||||||
import com.jero.modules.problemKnowledgeBase.entity.CountryCardTempEO;
|
import com.jero.modules.problemKnowledgeBase.entity.CountryCardTempEO;
|
||||||
import com.jero.modules.problemKnowledgeBase.entity.CountryCardTempItemEO;
|
import com.jero.modules.problemKnowledgeBase.entity.CountryCardTempItemEO;
|
||||||
import com.jero.modules.problemKnowledgeBase.enums.LableTypeEnum;
|
import com.jero.modules.problemKnowledgeBase.enums.LableTypeEnum;
|
||||||
import com.jero.modules.problemKnowledgeBase.mapper.CountryCardTempEOMapper;
|
import com.jero.modules.problemKnowledgeBase.mapper.CountryCardTempEOMapper;
|
||||||
|
import com.jero.modules.problemKnowledgeBase.service.ICountryCardManageReleaseDetailEOService;
|
||||||
|
import com.jero.modules.problemKnowledgeBase.service.ICountryCardManageReleaseEOService;
|
||||||
import com.jero.modules.problemKnowledgeBase.service.ICountryCardTempEOService;
|
import com.jero.modules.problemKnowledgeBase.service.ICountryCardTempEOService;
|
||||||
import com.jero.modules.problemKnowledgeBase.service.ICountryCardTempItemEOService;
|
import com.jero.modules.problemKnowledgeBase.service.ICountryCardTempItemEOService;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
@@ -13,6 +17,7 @@ import org.apache.commons.lang3.StringUtils;
|
|||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@@ -35,6 +40,10 @@ public class CountryCardTempEOServiceImpl extends ServiceImpl<CountryCardTempEOM
|
|||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ICountryCardTempItemEOService countryCardTempItemEOService;
|
private ICountryCardTempItemEOService countryCardTempItemEOService;
|
||||||
|
@Autowired
|
||||||
|
private ICountryCardManageReleaseEOService countryCardManageReleaseEOService;
|
||||||
|
@Autowired
|
||||||
|
private ICountryCardManageReleaseDetailEOService countryCardManageReleaseDetailEOService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保存
|
* 保存
|
||||||
@@ -53,7 +62,19 @@ public class CountryCardTempEOServiceImpl extends ServiceImpl<CountryCardTempEOM
|
|||||||
/*if(StringUtils.equals(countryCardTempEO.getLableType(), LableTypeEnum.PULL_SINGLE.getValue())){
|
/*if(StringUtils.equals(countryCardTempEO.getLableType(), LableTypeEnum.PULL_SINGLE.getValue())){
|
||||||
this.countryCardTempItemEOService.batchInsert(countryCardTempEO.getCountryCardTempItemEOList(),countryCardTempEO.getId(),countryCardTempEO.getCut());
|
this.countryCardTempItemEOService.batchInsert(countryCardTempEO.getCountryCardTempItemEOList(),countryCardTempEO.getId(),countryCardTempEO.getCut());
|
||||||
}*/
|
}*/
|
||||||
}
|
//模板新增的时候,获取现在系统中已经有的country Card数据,country Card管理发布明细表插入数据
|
||||||
|
List<CountryCardManageReleaseEO> countryCardManageReleaseEOList = this.countryCardManageReleaseEOService.list();
|
||||||
|
if(CollectionUtils.isNotEmpty(countryCardManageReleaseEOList)){
|
||||||
|
List<CountryCardManageReleaseDetailEO> releaseDetailEOList = new ArrayList<>();
|
||||||
|
countryCardManageReleaseEOList.forEach(manageReleaseEO -> {
|
||||||
|
CountryCardManageReleaseDetailEO countryCardManageReleaseDetailEO = new CountryCardManageReleaseDetailEO();
|
||||||
|
countryCardManageReleaseDetailEO.setCountryCardTempId(countryCardTempEO.getId());
|
||||||
|
countryCardManageReleaseDetailEO.setCountryCardManageReleaseId(manageReleaseEO.getId());
|
||||||
|
releaseDetailEOList.add(countryCardManageReleaseDetailEO);
|
||||||
|
});
|
||||||
|
this.countryCardManageReleaseDetailEOService.saveBatch(releaseDetailEOList);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新
|
* 更新
|
||||||
@@ -82,6 +103,9 @@ public class CountryCardTempEOServiceImpl extends ServiceImpl<CountryCardTempEOM
|
|||||||
@Override
|
@Override
|
||||||
public void deleteById(String id) {
|
public void deleteById(String id) {
|
||||||
removeById(id);
|
removeById(id);
|
||||||
|
QueryWrapper<CountryCardManageReleaseDetailEO> manageReleaseDetailDeleteWrapper = new QueryWrapper<>();
|
||||||
|
manageReleaseDetailDeleteWrapper.lambda().eq(CountryCardManageReleaseDetailEO::getCountryCardTempId,id);
|
||||||
|
this.countryCardManageReleaseDetailEOService.remove(manageReleaseDetailDeleteWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -97,6 +121,10 @@ public class CountryCardTempEOServiceImpl extends ServiceImpl<CountryCardTempEOM
|
|||||||
QueryWrapper<CountryCardTempItemEO> itemDeleteWrapper = new QueryWrapper<>();
|
QueryWrapper<CountryCardTempItemEO> itemDeleteWrapper = new QueryWrapper<>();
|
||||||
itemDeleteWrapper.lambda().in(CountryCardTempItemEO::getCountryCardTempId,ids);
|
itemDeleteWrapper.lambda().in(CountryCardTempItemEO::getCountryCardTempId,ids);
|
||||||
this.countryCardTempItemEOService.remove(itemDeleteWrapper);
|
this.countryCardTempItemEOService.remove(itemDeleteWrapper);
|
||||||
|
|
||||||
|
QueryWrapper<CountryCardManageReleaseDetailEO> manageReleaseDetailDeleteWrapper = new QueryWrapper<>();
|
||||||
|
manageReleaseDetailDeleteWrapper.lambda().in(CountryCardManageReleaseDetailEO::getCountryCardTempId,ids);
|
||||||
|
this.countryCardManageReleaseDetailEOService.remove(manageReleaseDetailDeleteWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -0,0 +1,89 @@
|
|||||||
|
package com.jero.modules.problemKnowledgeBase.service.impl;
|
||||||
|
|
||||||
|
import com.jero.modules.problemKnowledgeBase.entity.CountryNationalFlagEO;
|
||||||
|
import com.jero.modules.problemKnowledgeBase.mapper.CountryNationalFlagEOMapper;
|
||||||
|
import com.jero.modules.problemKnowledgeBase.service.ICountryNationalFlagEOService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Date;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 国家与国旗中间表
|
||||||
|
* @Author: jero-boot
|
||||||
|
* @Date: 2022-08-09
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class CountryNationalFlagEOServiceImpl extends ServiceImpl<CountryNationalFlagEOMapper, CountryNationalFlagEO> implements ICountryNationalFlagEOService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保存
|
||||||
|
*
|
||||||
|
* @param countryNationalFlagEO
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void add(CountryNationalFlagEO countryNationalFlagEO) {
|
||||||
|
Date now = new Date();
|
||||||
|
countryNationalFlagEO.setCreateTime(now);
|
||||||
|
countryNationalFlagEO.setUpdateTime(now);
|
||||||
|
save(countryNationalFlagEO);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新
|
||||||
|
*
|
||||||
|
* @param countryNationalFlagEO
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void editById(CountryNationalFlagEO countryNationalFlagEO) {
|
||||||
|
Date now = new Date();
|
||||||
|
countryNationalFlagEO.setUpdateTime(now);
|
||||||
|
saveOrUpdate(countryNationalFlagEO);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过id删除
|
||||||
|
*
|
||||||
|
* @param id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void deleteById(String id) {
|
||||||
|
removeById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除
|
||||||
|
*
|
||||||
|
* @param ids
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void deleteByIds(List<String> ids) {
|
||||||
|
removeByIds(ids);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过id查询
|
||||||
|
*
|
||||||
|
* @param id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public CountryNationalFlagEO queryById(String id) {
|
||||||
|
return getById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 列表查询
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<CountryNationalFlagEO> queryList() {
|
||||||
|
return list();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -15,12 +15,8 @@ import org.apache.shiro.SecurityUtils;
|
|||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import java.util.stream.Stream;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.springframework.transaction.annotation.Propagation;
|
import org.springframework.transaction.annotation.Propagation;
|
||||||
@@ -164,6 +160,11 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl<ProblemKnowle
|
|||||||
permissionUser.setProblemKnowledgeBaseId(problemKnowledgeBaseEO.getId());
|
permissionUser.setProblemKnowledgeBaseId(problemKnowledgeBaseEO.getId());
|
||||||
});
|
});
|
||||||
|
|
||||||
|
//根据用户id去重。
|
||||||
|
permissionUserList = permissionUserList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() ->
|
||||||
|
new TreeSet<>(Comparator.comparing(o -> o.getUserId()))),
|
||||||
|
ArrayList::new));
|
||||||
|
|
||||||
//3.把允许的用户添加进权限表。
|
//3.把允许的用户添加进权限表。
|
||||||
this.problemKnowledgeBaseUserEOService.saveOrUpdateBatch(permissionUserList);
|
this.problemKnowledgeBaseUserEOService.saveOrUpdateBatch(permissionUserList);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -377,8 +377,8 @@ public class ProjectLawsInventoryEOController extends JeroController<ProjectLaws
|
|||||||
|
|
||||||
@AutoLog(value = "变更")
|
@AutoLog(value = "变更")
|
||||||
@ApiOperation(value="变更", notes="变更")
|
@ApiOperation(value="变更", notes="变更")
|
||||||
@GetMapping(value = "/change")
|
@PostMapping(value = "/change")
|
||||||
public Result<?> change(@RequestParam Map<String,Object> params) {
|
public Result<?> change(@RequestBody JSONObject params) {
|
||||||
return this.projectLawsInventoryEOService.change(params);
|
return this.projectLawsInventoryEOService.change(params);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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",""),
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -105,9 +105,10 @@ public class InventoryAffirmJob implements Job {
|
|||||||
//如果清单确认结束日期是当前日期
|
//如果清单确认结束日期是当前日期
|
||||||
if(StringUtils.equals(currentDateStr,sdf.format(projectLawsInventoryEO.getInventoryAffirmDueDate()))){
|
if(StringUtils.equals(currentDateStr,sdf.format(projectLawsInventoryEO.getInventoryAffirmDueDate()))){
|
||||||
if(StringUtils.isEmpty(projectLawsInventoryEO.getSendMsgFlag())){
|
if(StringUtils.isEmpty(projectLawsInventoryEO.getSendMsgFlag())){
|
||||||
if(StringUtils.isNotEmpty(projectLawsInventoryEO.getRegulationOwnerId())){
|
if(StringUtils.isNotEmpty(projectLawsInventoryEO.getRegulationOwnerId()) && StringUtils.isEmpty(projectLawsInventoryEO.getRegulationOwnerSubmitStatus())){
|
||||||
currentDaysUserIdList.add(projectLawsInventoryEO.getRegulationOwnerId());
|
currentDaysUserIdList.add(projectLawsInventoryEO.getRegulationOwnerId());
|
||||||
}if(StringUtils.isNotEmpty(projectLawsInventoryEO.getHomologationEngineerId())){
|
}
|
||||||
|
if(StringUtils.isNotEmpty(projectLawsInventoryEO.getHomologationEngineerId()) && StringUtils.isEmpty(projectLawsInventoryEO.getHomologationEngineerSubmitStatus())){
|
||||||
currentDaysUserIdList.add(projectLawsInventoryEO.getHomologationEngineerId());
|
currentDaysUserIdList.add(projectLawsInventoryEO.getHomologationEngineerId());
|
||||||
}
|
}
|
||||||
projectLawsInventoryEO.setSendMsgFlag(SendMsgFlagEnum.FALSE.getValue());
|
projectLawsInventoryEO.setSendMsgFlag(SendMsgFlagEnum.FALSE.getValue());
|
||||||
@@ -118,9 +119,10 @@ public class InventoryAffirmJob implements Job {
|
|||||||
//如果清单确认结束时间是当前系统时间后三天
|
//如果清单确认结束时间是当前系统时间后三天
|
||||||
if(StringUtils.equals(threeDaysStr,sdf.format(projectLawsInventoryEO.getInventoryAffirmDueDate()))){
|
if(StringUtils.equals(threeDaysStr,sdf.format(projectLawsInventoryEO.getInventoryAffirmDueDate()))){
|
||||||
if(StringUtils.isEmpty(projectLawsInventoryEO.getSendMsgCurrentFlag())){
|
if(StringUtils.isEmpty(projectLawsInventoryEO.getSendMsgCurrentFlag())){
|
||||||
if(StringUtils.isNotEmpty(projectLawsInventoryEO.getRegulationOwnerId())){
|
if(StringUtils.isNotEmpty(projectLawsInventoryEO.getRegulationOwnerId()) && StringUtils.isEmpty(projectLawsInventoryEO.getRegulationOwnerSubmitStatus())){
|
||||||
threeDaysUserIdList.add(projectLawsInventoryEO.getRegulationOwnerId());
|
threeDaysUserIdList.add(projectLawsInventoryEO.getRegulationOwnerId());
|
||||||
}if(StringUtils.isNotEmpty(projectLawsInventoryEO.getHomologationEngineerId())){
|
}
|
||||||
|
if(StringUtils.isNotEmpty(projectLawsInventoryEO.getHomologationEngineerId()) && StringUtils.isEmpty(projectLawsInventoryEO.getHomologationEngineerSubmitStatus())){
|
||||||
threeDaysUserIdList.add(projectLawsInventoryEO.getHomologationEngineerId());
|
threeDaysUserIdList.add(projectLawsInventoryEO.getHomologationEngineerId());
|
||||||
}
|
}
|
||||||
projectLawsInventoryEO.setSendMsgCurrentFlag(SendMsgFlagEnum.FALSE.getValue());
|
projectLawsInventoryEO.setSendMsgCurrentFlag(SendMsgFlagEnum.FALSE.getValue());
|
||||||
@@ -136,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());
|
||||||
|
|
||||||
//飞书跳转链接
|
//飞书跳转链接
|
||||||
@@ -170,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());
|
||||||
|
|
||||||
//飞书跳转链接
|
//飞书跳转链接
|
||||||
@@ -208,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());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -122,7 +122,7 @@ public interface IProjectLawsInventoryEOService extends IService<ProjectLawsInve
|
|||||||
|
|
||||||
void dataDispose(List<ProjectLawsInventoryEO> list, LoginUser currentUser, int isProjectRole, String cut);
|
void dataDispose(List<ProjectLawsInventoryEO> list, LoginUser currentUser, int isProjectRole, String cut);
|
||||||
|
|
||||||
Result<?> change(Map<String, Object> parmas);
|
Result<?> change(JSONObject parmas);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 下载pdf报告
|
* 下载pdf报告
|
||||||
|
|||||||
@@ -1290,6 +1290,11 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
ProjectLibraryBase projectLibraryBase = projectLibraryBaseMapper.selectOne(new QueryWrapper<ProjectLibraryBase>()
|
ProjectLibraryBase projectLibraryBase = projectLibraryBaseMapper.selectOne(new QueryWrapper<ProjectLibraryBase>()
|
||||||
.lambda().eq(ProjectLibraryBase::getId, projectLibraryId));
|
.lambda().eq(ProjectLibraryBase::getId, projectLibraryId));
|
||||||
|
|
||||||
|
// studio信息
|
||||||
|
SysUser studioUserInfo = this.sysUserMapper.selectOne(
|
||||||
|
new QueryWrapper<SysUser>().lambda().eq(SysUser::getId, projectLibraryBase.getStudioEngineer())
|
||||||
|
);
|
||||||
|
|
||||||
QueryWrapper<ProjectNameInfoEO> projectNameInfoEOQueryWrapper = new QueryWrapper<>();
|
QueryWrapper<ProjectNameInfoEO> projectNameInfoEOQueryWrapper = new QueryWrapper<>();
|
||||||
projectNameInfoEOQueryWrapper.lambda().eq(ProjectNameInfoEO::getId,projectLibraryBase.getProjectNameId());
|
projectNameInfoEOQueryWrapper.lambda().eq(ProjectNameInfoEO::getId,projectLibraryBase.getProjectNameId());
|
||||||
ProjectNameInfoEO projectNameInfoEO = projectNameInfoEOMapper.selectOne(projectNameInfoEOQueryWrapper);
|
ProjectNameInfoEO projectNameInfoEO = projectNameInfoEOMapper.selectOne(projectNameInfoEOQueryWrapper);
|
||||||
@@ -1345,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";
|
||||||
|
|
||||||
@@ -1354,7 +1359,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
feishuMsgVo.setContent("Hello! Please check and address this task in a timely manner.");
|
feishuMsgVo.setContent("Hello! Please check and address this task in a timely manner.");
|
||||||
feishuMsgVo.setTaskType("Regulation List Confirmation");
|
feishuMsgVo.setTaskType("Regulation List Confirmation");
|
||||||
feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket());
|
feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket());
|
||||||
feishuMsgVo.setInitiator(currentUser.getUsername());
|
feishuMsgVo.setInitiator(studioUserInfo.getUsername());
|
||||||
feishuMsgVo.setDueDate(inventoryAffirmDueDate);
|
feishuMsgVo.setDueDate(inventoryAffirmDueDate);
|
||||||
|
|
||||||
//飞书跳转链接
|
//飞书跳转链接
|
||||||
@@ -1466,10 +1471,6 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
}*/
|
}*/
|
||||||
}
|
}
|
||||||
|
|
||||||
SysUser studioUserInfo = this.sysUserMapper.selectOne(
|
|
||||||
new QueryWrapper<SysUser>().lambda().eq(SysUser::getId, projectLibraryBase.getStudioEngineer())
|
|
||||||
);
|
|
||||||
|
|
||||||
//只要有一个人拒绝,就改为拒绝。
|
//只要有一个人拒绝,就改为拒绝。
|
||||||
if(StringUtils.equals(operatorResult, OperatorResultEnum.REJECTED.getValue())){
|
if(StringUtils.equals(operatorResult, OperatorResultEnum.REJECTED.getValue())){
|
||||||
inventoryAffirmStatus = InventoryAffirmStatusEnum.REJECTED.getValue();
|
inventoryAffirmStatus = InventoryAffirmStatusEnum.REJECTED.getValue();
|
||||||
@@ -1493,7 +1494,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
feishuMsgVo.setTaskType("Regulation List Confirmation");
|
feishuMsgVo.setTaskType("Regulation List Confirmation");
|
||||||
feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber());
|
feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber());
|
||||||
feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket());
|
feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket());
|
||||||
feishuMsgVo.setInitiator(currentUser.getUsername());
|
feishuMsgVo.setInitiator(studioUserInfo.getUsername());
|
||||||
feishuMsgVo.setDueDate(sdf.format(projectLawsInventoryEO.getInventoryAffirmDueDate()));
|
feishuMsgVo.setDueDate(sdf.format(projectLawsInventoryEO.getInventoryAffirmDueDate()));
|
||||||
|
|
||||||
//飞书跳转链接
|
//飞书跳转链接
|
||||||
@@ -1534,7 +1535,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
feishuMsgVo.setTaskType("Regulation List Confirmation");
|
feishuMsgVo.setTaskType("Regulation List Confirmation");
|
||||||
feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber());
|
feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber());
|
||||||
feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket());
|
feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket());
|
||||||
feishuMsgVo.setInitiator(currentUser.getUsername());
|
feishuMsgVo.setInitiator(studioUserInfo.getUsername());
|
||||||
feishuMsgVo.setDueDate(sdf.format(projectLawsInventoryEO.getInventoryAffirmDueDate()));
|
feishuMsgVo.setDueDate(sdf.format(projectLawsInventoryEO.getInventoryAffirmDueDate()));
|
||||||
|
|
||||||
//飞书跳转链接
|
//飞书跳转链接
|
||||||
@@ -1584,7 +1585,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
feishuMsgVo.setTaskType("Regulation List Confirmation");
|
feishuMsgVo.setTaskType("Regulation List Confirmation");
|
||||||
feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber());
|
feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber());
|
||||||
feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket());
|
feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket());
|
||||||
feishuMsgVo.setInitiator(currentUser.getUsername());
|
feishuMsgVo.setInitiator(studioUserInfo.getUsername());
|
||||||
feishuMsgVo.setDueDate(sdf.format(projectLawsInventoryEO.getInventoryAffirmDueDate()));
|
feishuMsgVo.setDueDate(sdf.format(projectLawsInventoryEO.getInventoryAffirmDueDate()));
|
||||||
|
|
||||||
//飞书跳转链接
|
//飞书跳转链接
|
||||||
@@ -2088,6 +2089,9 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
ProjectLibraryBase projectLibraryBase = projectLibraryBaseMapper.selectOne(new QueryWrapper<ProjectLibraryBase>()
|
ProjectLibraryBase projectLibraryBase = projectLibraryBaseMapper.selectOne(new QueryWrapper<ProjectLibraryBase>()
|
||||||
.lambda().eq(ProjectLibraryBase::getId, projectLibraryId));
|
.lambda().eq(ProjectLibraryBase::getId, projectLibraryId));
|
||||||
|
|
||||||
|
ProjectLawsInventoryEO projectLawsInventoryEO = this.baseMapper.selectOne(
|
||||||
|
new QueryWrapper<ProjectLawsInventoryEO>().lambda().eq(ProjectLawsInventoryEO::getId, id)
|
||||||
|
);
|
||||||
|
|
||||||
SysUser studioUserInfo = this.sysUserMapper.selectOne(
|
SysUser studioUserInfo = this.sysUserMapper.selectOne(
|
||||||
new QueryWrapper<SysUser>().lambda().eq(SysUser::getId, projectLibraryBase.getStudioEngineer())
|
new QueryWrapper<SysUser>().lambda().eq(SysUser::getId, projectLibraryBase.getStudioEngineer())
|
||||||
@@ -2112,11 +2116,13 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
MessageTypeEnum messageTypeEnum = null;
|
MessageTypeEnum messageTypeEnum = null;
|
||||||
String taskType = "";
|
String taskType = "";
|
||||||
String initiator = "";
|
String initiator = "";
|
||||||
|
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";
|
||||||
|
|
||||||
@@ -2126,11 +2132,12 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
taskType = "Regulation Task Confirmation";
|
taskType = "Regulation Task Confirmation";
|
||||||
|
|
||||||
initiator = studioUserInfo.getUsername();
|
initiator = studioUserInfo.getUsername();
|
||||||
|
initiatorLark = studioUserInfo.getUsername();
|
||||||
} else if (StringUtils.equals(msgType, MsgTypeEnum.TASK_AFFIRM_ISSUE_DRE_MSG.getValue())) {
|
} else if (StringUtils.equals(msgType, MsgTypeEnum.TASK_AFFIRM_ISSUE_DRE_MSG.getValue())) {
|
||||||
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";
|
||||||
|
|
||||||
@@ -2138,11 +2145,13 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
|
|
||||||
messageTypeEnum = MessageTypeEnum.TASK_CONFIRMATION;
|
messageTypeEnum = MessageTypeEnum.TASK_CONFIRMATION;
|
||||||
taskType = "Regulation Task Confirmation";
|
taskType = "Regulation Task Confirmation";
|
||||||
|
|
||||||
initiator = studioUserInfo.getUsername();
|
initiator = studioUserInfo.getUsername();
|
||||||
|
initiatorLark = studioUserInfo.getUsername();
|
||||||
} 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";
|
||||||
|
|
||||||
@@ -2150,11 +2159,13 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
|
|
||||||
messageTypeEnum = MessageTypeEnum.TASK_CONFIRMATION;
|
messageTypeEnum = MessageTypeEnum.TASK_CONFIRMATION;
|
||||||
taskType = "Regulation Task Confirmation";
|
taskType = "Regulation Task Confirmation";
|
||||||
|
|
||||||
initiator = studioUserInfo.getUsername();
|
initiator = studioUserInfo.getUsername();
|
||||||
|
initiatorLark = studioUserInfo.getUsername();
|
||||||
} 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";
|
||||||
|
|
||||||
@@ -2162,7 +2173,9 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
|
|
||||||
messageTypeEnum = MessageTypeEnum.TASK_CONFIRMATION;
|
messageTypeEnum = MessageTypeEnum.TASK_CONFIRMATION;
|
||||||
taskType = "Regulation Task Confirmation";
|
taskType = "Regulation Task Confirmation";
|
||||||
|
|
||||||
initiator = studioUserInfo.getUsername();
|
initiator = studioUserInfo.getUsername();
|
||||||
|
initiatorLark = studioUserInfo.getUsername();
|
||||||
} else if(StringUtils.equals(msgType, MsgTypeEnum.TASK_AFFIRM_REJECTED_MSG.getValue())){
|
} else if(StringUtils.equals(msgType, MsgTypeEnum.TASK_AFFIRM_REJECTED_MSG.getValue())){
|
||||||
userIdList.add(projectLibraryBase.getStudioEngineer());
|
userIdList.add(projectLibraryBase.getStudioEngineer());
|
||||||
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()
|
||||||
@@ -2174,7 +2187,9 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
|
|
||||||
messageTypeEnum = MessageTypeEnum.TASK_CONFIRMATION;
|
messageTypeEnum = MessageTypeEnum.TASK_CONFIRMATION;
|
||||||
taskType = "Regulation Task Confirmation";
|
taskType = "Regulation Task Confirmation";
|
||||||
|
|
||||||
initiator = studioUserInfo.getUsername();
|
initiator = studioUserInfo.getUsername();
|
||||||
|
initiatorLark = studioUserInfo.getUsername();
|
||||||
} else if(StringUtils.equals(msgType, MsgTypeEnum.TASK_AFFIRM_ACCEPTED_MSG.getValue())){
|
} else if(StringUtils.equals(msgType, MsgTypeEnum.TASK_AFFIRM_ACCEPTED_MSG.getValue())){
|
||||||
userIdList.add(projectLibraryBase.getStudioEngineer());
|
userIdList.add(projectLibraryBase.getStudioEngineer());
|
||||||
msgContentEN = sysUser.getUsername() + " has accepted the regulation task confirmation of " + serialNumber +" in "+ projectNameInfoEO.getProjectName()
|
msgContentEN = sysUser.getUsername() + " has accepted the regulation task confirmation of " + serialNumber +" in "+ projectNameInfoEO.getProjectName()
|
||||||
@@ -2186,12 +2201,14 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
|
|
||||||
messageTypeEnum = MessageTypeEnum.TASK_CONFIRMATION;
|
messageTypeEnum = MessageTypeEnum.TASK_CONFIRMATION;
|
||||||
taskType = "Regulation Task Confirmation";
|
taskType = "Regulation Task Confirmation";
|
||||||
|
|
||||||
initiator = studioUserInfo.getUsername();
|
initiator = studioUserInfo.getUsername();
|
||||||
|
initiatorLark = studioUserInfo.getUsername();
|
||||||
} else if(StringUtils.equals(msgType, MsgTypeEnum.DESIGN_START_MSG.getValue())){
|
} else if(StringUtils.equals(msgType, MsgTypeEnum.DESIGN_START_MSG.getValue())){
|
||||||
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";
|
||||||
|
|
||||||
@@ -2199,12 +2216,17 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
|
|
||||||
messageTypeEnum = MessageTypeEnum.COMPLIANCE_CONFIRMATION;
|
messageTypeEnum = MessageTypeEnum.COMPLIANCE_CONFIRMATION;
|
||||||
taskType = "Design Compliance Confirmation";
|
taskType = "Design Compliance Confirmation";
|
||||||
|
|
||||||
initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName();
|
initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName();
|
||||||
|
SysUser initiatorLarkInfo = this.sysUserMapper.selectOne(
|
||||||
|
new QueryWrapper<SysUser>().lambda().eq(SysUser::getId, projectLawsInventoryEO.getDesignInitiatorId())
|
||||||
|
);
|
||||||
|
initiatorLark = initiatorLarkInfo.getUsername();
|
||||||
} else if(StringUtils.equals(msgType, MsgTypeEnum.PREHOMO_START_MSG.getValue())){
|
} else if(StringUtils.equals(msgType, MsgTypeEnum.PREHOMO_START_MSG.getValue())){
|
||||||
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";
|
||||||
|
|
||||||
@@ -2212,12 +2234,18 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
|
|
||||||
messageTypeEnum = MessageTypeEnum.COMPLIANCE_CONFIRMATION;
|
messageTypeEnum = MessageTypeEnum.COMPLIANCE_CONFIRMATION;
|
||||||
taskType = "Pre-Homo Confirmation";
|
taskType = "Pre-Homo Confirmation";
|
||||||
|
|
||||||
initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName();
|
initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName();
|
||||||
|
|
||||||
|
SysUser initiatorLarkInfo = this.sysUserMapper.selectOne(
|
||||||
|
new QueryWrapper<SysUser>().lambda().eq(SysUser::getId, projectLawsInventoryEO.getPrehomoInitiatorId())
|
||||||
|
);
|
||||||
|
initiatorLark = initiatorLarkInfo.getUsername();
|
||||||
} else if(StringUtils.equals(msgType, MsgTypeEnum.VERIFY_START_MSG.getValue())){
|
} else if(StringUtils.equals(msgType, MsgTypeEnum.VERIFY_START_MSG.getValue())){
|
||||||
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";
|
||||||
|
|
||||||
@@ -2225,7 +2253,12 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
|
|
||||||
messageTypeEnum = MessageTypeEnum.COMPLIANCE_CONFIRMATION;
|
messageTypeEnum = MessageTypeEnum.COMPLIANCE_CONFIRMATION;
|
||||||
taskType = "Validation Compliance Confirmation";
|
taskType = "Validation Compliance Confirmation";
|
||||||
|
|
||||||
initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName();
|
initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName();
|
||||||
|
SysUser initiatorLarkInfo = this.sysUserMapper.selectOne(
|
||||||
|
new QueryWrapper<SysUser>().lambda().eq(SysUser::getId, projectLawsInventoryEO.getVerifyInitiatorId())
|
||||||
|
);
|
||||||
|
initiatorLark = initiatorLarkInfo.getUsername();
|
||||||
} else if(StringUtils.equals(msgType, MsgTypeEnum.DESIGN_CHARGE_PERSON_SUBMIT_MSG.getValue())){
|
} else if(StringUtils.equals(msgType, MsgTypeEnum.DESIGN_CHARGE_PERSON_SUBMIT_MSG.getValue())){
|
||||||
String designInitiatorId = jsonObject.getString("designInitiatorId"); //设计符合性发起人id
|
String designInitiatorId = jsonObject.getString("designInitiatorId"); //设计符合性发起人id
|
||||||
userIdList.add(designInitiatorId);
|
userIdList.add(designInitiatorId);
|
||||||
@@ -2238,7 +2271,12 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
|
|
||||||
messageTypeEnum = MessageTypeEnum.COMPLIANCE_CONFIRMATION;
|
messageTypeEnum = MessageTypeEnum.COMPLIANCE_CONFIRMATION;
|
||||||
taskType = "Design Compliance Confirmation";
|
taskType = "Design Compliance Confirmation";
|
||||||
|
|
||||||
initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName();
|
initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName();
|
||||||
|
SysUser initiatorLarkInfo = this.sysUserMapper.selectOne(
|
||||||
|
new QueryWrapper<SysUser>().lambda().eq(SysUser::getId, projectLawsInventoryEO.getDesignInitiatorId())
|
||||||
|
);
|
||||||
|
initiatorLark = initiatorLarkInfo.getUsername();
|
||||||
} else if(StringUtils.equals(msgType, MsgTypeEnum.PREHOMO_CHARGE_PERSON_SUBMIT_MSG.getValue())){
|
} else if(StringUtils.equals(msgType, MsgTypeEnum.PREHOMO_CHARGE_PERSON_SUBMIT_MSG.getValue())){
|
||||||
String prehomoInitiatorId = jsonObject.getString("prehomoInitiatorId"); //pre-Home发起人id
|
String prehomoInitiatorId = jsonObject.getString("prehomoInitiatorId"); //pre-Home发起人id
|
||||||
userIdList.add(prehomoInitiatorId);
|
userIdList.add(prehomoInitiatorId);
|
||||||
@@ -2251,7 +2289,12 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
|
|
||||||
messageTypeEnum = MessageTypeEnum.COMPLIANCE_CONFIRMATION;
|
messageTypeEnum = MessageTypeEnum.COMPLIANCE_CONFIRMATION;
|
||||||
taskType = "Pre-Homo Confirmation";
|
taskType = "Pre-Homo Confirmation";
|
||||||
|
|
||||||
initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName();
|
initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName();
|
||||||
|
SysUser initiatorLarkInfo = this.sysUserMapper.selectOne(
|
||||||
|
new QueryWrapper<SysUser>().lambda().eq(SysUser::getId, projectLawsInventoryEO.getPrehomoInitiatorId())
|
||||||
|
);
|
||||||
|
initiatorLark = initiatorLarkInfo.getUsername();
|
||||||
} else if(StringUtils.equals(msgType, MsgTypeEnum.VERIFY_CHARGE_PERSON_SUBMIT_MSG.getValue())){
|
} else if(StringUtils.equals(msgType, MsgTypeEnum.VERIFY_CHARGE_PERSON_SUBMIT_MSG.getValue())){
|
||||||
String verifyInitiatorId = jsonObject.getString("verifyInitiatorId"); //验证符合性发起人id
|
String verifyInitiatorId = jsonObject.getString("verifyInitiatorId"); //验证符合性发起人id
|
||||||
userIdList.add(verifyInitiatorId);
|
userIdList.add(verifyInitiatorId);
|
||||||
@@ -2264,7 +2307,12 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
|
|
||||||
messageTypeEnum = MessageTypeEnum.COMPLIANCE_CONFIRMATION;
|
messageTypeEnum = MessageTypeEnum.COMPLIANCE_CONFIRMATION;
|
||||||
taskType = "Validation Compliance Confirmation";
|
taskType = "Validation Compliance Confirmation";
|
||||||
|
|
||||||
initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName();
|
initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName();
|
||||||
|
SysUser initiatorLarkInfo = this.sysUserMapper.selectOne(
|
||||||
|
new QueryWrapper<SysUser>().lambda().eq(SysUser::getId, projectLawsInventoryEO.getVerifyInitiatorId())
|
||||||
|
);
|
||||||
|
initiatorLark = initiatorLarkInfo.getUsername();
|
||||||
}else if(StringUtils.equals(msgType, MsgTypeEnum.DESIGN_INITIATOR_ACCEPTED_MSG.getValue())){
|
}else if(StringUtils.equals(msgType, MsgTypeEnum.DESIGN_INITIATOR_ACCEPTED_MSG.getValue())){
|
||||||
String designDutyId = jsonObject.getString("designDutyId"); //设计符合性责任人id
|
String designDutyId = jsonObject.getString("designDutyId"); //设计符合性责任人id
|
||||||
userIdList.add(designDutyId);
|
userIdList.add(designDutyId);
|
||||||
@@ -2277,7 +2325,12 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
|
|
||||||
messageTypeEnum = MessageTypeEnum.COMPLIANCE_CONFIRMATION;
|
messageTypeEnum = MessageTypeEnum.COMPLIANCE_CONFIRMATION;
|
||||||
taskType = "Design Compliance Confirmation";
|
taskType = "Design Compliance Confirmation";
|
||||||
|
|
||||||
initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName();
|
initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName();
|
||||||
|
SysUser initiatorLarkInfo = this.sysUserMapper.selectOne(
|
||||||
|
new QueryWrapper<SysUser>().lambda().eq(SysUser::getId, projectLawsInventoryEO.getDesignInitiatorId())
|
||||||
|
);
|
||||||
|
initiatorLark = initiatorLarkInfo.getUsername();
|
||||||
} else if(StringUtils.equals(msgType, MsgTypeEnum.PREHOMO_INITIATOR_ACCEPTED_MSG.getValue())){
|
} else if(StringUtils.equals(msgType, MsgTypeEnum.PREHOMO_INITIATOR_ACCEPTED_MSG.getValue())){
|
||||||
String prehomoDutyId = jsonObject.getString("prehomoDutyId"); //pre-Home责任人id
|
String prehomoDutyId = jsonObject.getString("prehomoDutyId"); //pre-Home责任人id
|
||||||
userIdList.add(prehomoDutyId);
|
userIdList.add(prehomoDutyId);
|
||||||
@@ -2290,7 +2343,12 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
|
|
||||||
messageTypeEnum = MessageTypeEnum.COMPLIANCE_CONFIRMATION;
|
messageTypeEnum = MessageTypeEnum.COMPLIANCE_CONFIRMATION;
|
||||||
taskType = "Pre-Homo Confirmation";
|
taskType = "Pre-Homo Confirmation";
|
||||||
|
|
||||||
initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName();
|
initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName();
|
||||||
|
SysUser initiatorLarkInfo = this.sysUserMapper.selectOne(
|
||||||
|
new QueryWrapper<SysUser>().lambda().eq(SysUser::getId, projectLawsInventoryEO.getPrehomoInitiatorId())
|
||||||
|
);
|
||||||
|
initiatorLark = initiatorLarkInfo.getUsername();
|
||||||
} else if(StringUtils.equals(msgType, MsgTypeEnum.VERIFY_INITIATOR_ACCEPTED_MSG.getValue())){
|
} else if(StringUtils.equals(msgType, MsgTypeEnum.VERIFY_INITIATOR_ACCEPTED_MSG.getValue())){
|
||||||
String verifyDutyId = jsonObject.getString("verifyDutyId"); //验证符合性责任人id
|
String verifyDutyId = jsonObject.getString("verifyDutyId"); //验证符合性责任人id
|
||||||
userIdList.add(verifyDutyId);
|
userIdList.add(verifyDutyId);
|
||||||
@@ -2303,7 +2361,12 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
|
|
||||||
messageTypeEnum = MessageTypeEnum.COMPLIANCE_CONFIRMATION;
|
messageTypeEnum = MessageTypeEnum.COMPLIANCE_CONFIRMATION;
|
||||||
taskType = "Validation Compliance Confirmation";
|
taskType = "Validation Compliance Confirmation";
|
||||||
|
|
||||||
initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName();
|
initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName();
|
||||||
|
SysUser initiatorLarkInfo = this.sysUserMapper.selectOne(
|
||||||
|
new QueryWrapper<SysUser>().lambda().eq(SysUser::getId, projectLawsInventoryEO.getVerifyInitiatorId())
|
||||||
|
);
|
||||||
|
initiatorLark = initiatorLarkInfo.getUsername();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(CollectionUtils.isNotEmpty(userIdList) && StringUtils.isNotEmpty(msgContentEN)){
|
if(CollectionUtils.isNotEmpty(userIdList) && StringUtils.isNotEmpty(msgContentEN)){
|
||||||
@@ -2311,15 +2374,48 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
feishuMsgVo.setTaskType(taskType);
|
feishuMsgVo.setTaskType(taskType);
|
||||||
feishuMsgVo.setRegulationNo(serialNumber);
|
feishuMsgVo.setRegulationNo(serialNumber);
|
||||||
feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket());
|
feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket());
|
||||||
feishuMsgVo.setInitiator(sysUser.getUsername());
|
feishuMsgVo.setInitiator(initiatorLark);
|
||||||
feishuMsgVo.setDueDate(taskAffirmDueDate);
|
feishuMsgVo.setDueDate(taskAffirmDueDate);
|
||||||
|
|
||||||
//飞书跳转链接
|
//飞书跳转链接
|
||||||
String hrefFeishu = backUrl
|
String hrefFeishu = "";
|
||||||
+ JumpLinkEnum.TASK_AFFIRM_LINK.getLink();
|
|
||||||
|
|
||||||
//系统内部跳转链接
|
//系统内部跳转链接
|
||||||
String href = "<a href='" + JumpLinkEnum.TASK_AFFIRM_LINK.getLink() + "'>" + " View details" + "</a>";
|
String href = "";
|
||||||
|
if(StringUtils.equals(msgType,MsgTypeEnum.TASK_AFFIRM_START_MSG.getValue())
|
||||||
|
||StringUtils.equals(msgType,MsgTypeEnum.TASK_AFFIRM_ISSUE_DRE_MSG.getValue())
|
||||||
|
||StringUtils.equals(msgType,MsgTypeEnum.TASK_AFFIRM_DRE_REJECTED.getValue())
|
||||||
|
||StringUtils.equals(msgType,MsgTypeEnum.TASK_AFFIRM_DRE_ACCEPTED.getValue())
|
||||||
|
||StringUtils.equals(msgType,MsgTypeEnum.TASK_AFFIRM_REJECTED_MSG.getValue())
|
||||||
|
||StringUtils.equals(msgType,MsgTypeEnum.TASK_AFFIRM_ACCEPTED_MSG.getValue()))
|
||||||
|
{
|
||||||
|
hrefFeishu = backUrl
|
||||||
|
+ JumpLinkEnum.TASK_AFFIRM_LINK.getLink();
|
||||||
|
href = "<a href='" + JumpLinkEnum.TASK_AFFIRM_LINK.getLink() + "'>" + " View details" + "</a>";
|
||||||
|
}else if(StringUtils.equals(msgType,MsgTypeEnum.DESIGN_START_MSG.getValue())
|
||||||
|
||StringUtils.equals(msgType,MsgTypeEnum.PREHOMO_START_MSG.getValue())
|
||||||
|
||StringUtils.equals(msgType,MsgTypeEnum.VERIFY_START_MSG.getValue())
|
||||||
|
||StringUtils.equals(msgType,MsgTypeEnum.DESIGN_CHARGE_PERSON_SUBMIT_MSG.getValue())
|
||||||
|
||StringUtils.equals(msgType,MsgTypeEnum.PREHOMO_CHARGE_PERSON_SUBMIT_MSG.getValue())
|
||||||
|
||StringUtils.equals(msgType,MsgTypeEnum.VERIFY_CHARGE_PERSON_SUBMIT_MSG.getValue())
|
||||||
|
||StringUtils.equals(msgType,MsgTypeEnum.DESIGN_INITIATOR_ACCEPTED_MSG.getValue())
|
||||||
|
||StringUtils.equals(msgType,MsgTypeEnum.PREHOMO_INITIATOR_ACCEPTED_MSG.getValue())
|
||||||
|
||StringUtils.equals(msgType,MsgTypeEnum.VERIFY_INITIATOR_ACCEPTED_MSG.getValue()))
|
||||||
|
{
|
||||||
|
hrefFeishu = backUrl
|
||||||
|
+ JumpLinkEnum.DESIGN_AFFIRM_LINK.getLink()
|
||||||
|
+ projectLibraryBase.getId()
|
||||||
|
+ JumpLinkEnum.DESIGN_AFFIRM_LINK.getType()
|
||||||
|
+ "&projectName=" + projectNameInfoEO.getProjectName() + "-"
|
||||||
|
+ projectYearNameInfoEO.getYearName()
|
||||||
|
+ projectLibraryBase.getTargetMarket();
|
||||||
|
href = "<a href='"
|
||||||
|
+ JumpLinkEnum.DESIGN_AFFIRM_LINK.getLink() + projectLibraryBase.getId() + JumpLinkEnum.DESIGN_AFFIRM_LINK.getType()
|
||||||
|
+ "&projectName=" + projectNameInfoEO.getProjectName() + "-"
|
||||||
|
+ projectYearNameInfoEO.getYearName()
|
||||||
|
+ projectLibraryBase.getTargetMarket()
|
||||||
|
+ "'>" + " View details" + "</a>";
|
||||||
|
}
|
||||||
|
|
||||||
String contentInfo = msgContentEN + " " + href;
|
String contentInfo = msgContentEN + " " + href;
|
||||||
Map<String,Object> sendMessageMap = new HashMap<>();
|
Map<String,Object> sendMessageMap = new HashMap<>();
|
||||||
sendMessageMap.put("hrefFeishu",hrefFeishu);
|
sendMessageMap.put("hrefFeishu",hrefFeishu);
|
||||||
@@ -4087,8 +4183,8 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public Result<?> change(Map<String, Object> parmas) {
|
public Result<?> change(JSONObject parmas) {
|
||||||
String ids = parmas.get("ids").toString();
|
String ids = parmas.getString("ids");
|
||||||
if(StringUtils.isNotEmpty(ids)){
|
if(StringUtils.isNotEmpty(ids)){
|
||||||
List<String> idList = Arrays.asList(ids.split(","));
|
List<String> idList = Arrays.asList(ids.split(","));
|
||||||
String projectLawsInventoryIds = ids;
|
String projectLawsInventoryIds = ids;
|
||||||
@@ -4102,6 +4198,13 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
updateWrapper.in(ProjectLawsInventoryEO::getId,idList);
|
updateWrapper.in(ProjectLawsInventoryEO::getId,idList);
|
||||||
updateWrapper.set(ProjectLawsInventoryEO::getRegulationOwnerSubmitStatus,null);
|
updateWrapper.set(ProjectLawsInventoryEO::getRegulationOwnerSubmitStatus,null);
|
||||||
updateWrapper.set(ProjectLawsInventoryEO::getHomologationEngineerSubmitStatus,null);
|
updateWrapper.set(ProjectLawsInventoryEO::getHomologationEngineerSubmitStatus,null);
|
||||||
|
updateWrapper.set(ProjectLawsInventoryEO::getSendMsgFlag,null);
|
||||||
|
updateWrapper.set(ProjectLawsInventoryEO::getSendMsgCurrentFlag,null);
|
||||||
|
updateWrapper.set(ProjectLawsInventoryEO::getDesignDueDate,null);
|
||||||
|
updateWrapper.set(ProjectLawsInventoryEO::getPrehomoDueDate,null);
|
||||||
|
updateWrapper.set(ProjectLawsInventoryEO::getVerifyDueDate,null);
|
||||||
|
updateWrapper.set(ProjectLawsInventoryEO::getInventoryAffirmDueDate,null);
|
||||||
|
updateWrapper.set(ProjectLawsInventoryEO::getTaskAffirmDueDate,null);
|
||||||
super.update(projectLawsInventoryEO, updateWrapper);
|
super.update(projectLawsInventoryEO, updateWrapper);
|
||||||
|
|
||||||
QueryWrapper<ProjectTaskInventoryEO> taskInventoryQueryWrapper = new QueryWrapper<>();
|
QueryWrapper<ProjectTaskInventoryEO> taskInventoryQueryWrapper = new QueryWrapper<>();
|
||||||
@@ -4178,7 +4281,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
|||||||
deleteConditionAssessmentWrapper.lambda().in(ConditionAssessmentEO::getProjectLawsInventoryId,idList);
|
deleteConditionAssessmentWrapper.lambda().in(ConditionAssessmentEO::getProjectLawsInventoryId,idList);
|
||||||
this.conditionAssessmentEOService.remove(deleteConditionAssessmentWrapper);
|
this.conditionAssessmentEOService.remove(deleteConditionAssessmentWrapper);
|
||||||
|
|
||||||
Map<String,Object> params = new HashMap<>();
|
JSONObject params = new JSONObject();
|
||||||
params.put("projectLawsInventoryIds",projectLawsInventoryIds);
|
params.put("projectLawsInventoryIds",projectLawsInventoryIds);
|
||||||
params.put("pIds",pIds);
|
params.put("pIds",pIds);
|
||||||
//根据流程实例id 、 法规清单id 删除相关流程。
|
//根据流程实例id 、 法规清单id 删除相关流程。
|
||||||
|
|||||||
@@ -155,13 +155,13 @@ public class ProjectTaskInventoryFeedbackEOServiceImpl extends ServiceImpl<Proje
|
|||||||
feishuMsgVo.setContent("Hello! " + currentUser.getUsername() + " has replied to your engineering deliverable information. Please check and address it in a timely manner.");
|
feishuMsgVo.setContent("Hello! " + currentUser.getUsername() + " has replied to your engineering deliverable information. Please check and address it in a timely manner.");
|
||||||
feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber());
|
feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber());
|
||||||
feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBaseInfo.getTargetMarket());
|
feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBaseInfo.getTargetMarket());
|
||||||
feishuMsgVo.setInitiator(currentUser.getUsername());
|
|
||||||
|
|
||||||
MessageTypeEnum messageTypeEnum = null;
|
MessageTypeEnum messageTypeEnum = null;
|
||||||
|
|
||||||
//消息内容
|
//消息内容
|
||||||
String msgContentEN = "";
|
String msgContentEN = "";
|
||||||
String msgTitle = "";
|
String msgTitle = "";
|
||||||
|
String initiatorId = "";
|
||||||
|
|
||||||
String flowType = projectTaskInventoryFeedbackEO.getFlowType();
|
String flowType = projectTaskInventoryFeedbackEO.getFlowType();
|
||||||
if(StringUtils.equals(flowType,FlowTypeEnum.SJFHXSHLC.getValue())){
|
if(StringUtils.equals(flowType,FlowTypeEnum.SJFHXSHLC.getValue())){
|
||||||
@@ -173,6 +173,7 @@ public class ProjectTaskInventoryFeedbackEOServiceImpl extends ServiceImpl<Proje
|
|||||||
|
|
||||||
feishuMsgVo.setTaskType("Design Compliance Confirmation");
|
feishuMsgVo.setTaskType("Design Compliance Confirmation");
|
||||||
feishuMsgVo.setDueDate(sdf.format(projectLawsInventoryEO.getDesignDueDate()));
|
feishuMsgVo.setDueDate(sdf.format(projectLawsInventoryEO.getDesignDueDate()));
|
||||||
|
initiatorId = projectLawsInventoryEO.getDesignInitiatorId();
|
||||||
|
|
||||||
messageTypeEnum = MessageTypeEnum.COMPLIANCE_CONFIRMATION;
|
messageTypeEnum = MessageTypeEnum.COMPLIANCE_CONFIRMATION;
|
||||||
}else if(StringUtils.equals(flowType,FlowTypeEnum.PREHOMOQRLC.getValue())){
|
}else if(StringUtils.equals(flowType,FlowTypeEnum.PREHOMOQRLC.getValue())){
|
||||||
@@ -184,6 +185,7 @@ public class ProjectTaskInventoryFeedbackEOServiceImpl extends ServiceImpl<Proje
|
|||||||
|
|
||||||
feishuMsgVo.setTaskType("Pre-Homo Confirmation");
|
feishuMsgVo.setTaskType("Pre-Homo Confirmation");
|
||||||
feishuMsgVo.setDueDate(sdf.format(projectLawsInventoryEO.getPrehomoDueDate()));
|
feishuMsgVo.setDueDate(sdf.format(projectLawsInventoryEO.getPrehomoDueDate()));
|
||||||
|
initiatorId = projectLawsInventoryEO.getPrehomoInitiatorId();
|
||||||
|
|
||||||
messageTypeEnum = MessageTypeEnum.COMPLIANCE_CONFIRMATION;
|
messageTypeEnum = MessageTypeEnum.COMPLIANCE_CONFIRMATION;
|
||||||
}else if(StringUtils.equals(flowType,FlowTypeEnum.YZFHXSCLC.getValue())){
|
}else if(StringUtils.equals(flowType,FlowTypeEnum.YZFHXSCLC.getValue())){
|
||||||
@@ -195,6 +197,7 @@ public class ProjectTaskInventoryFeedbackEOServiceImpl extends ServiceImpl<Proje
|
|||||||
|
|
||||||
feishuMsgVo.setTaskType("Validation Compliance Confirmation");
|
feishuMsgVo.setTaskType("Validation Compliance Confirmation");
|
||||||
feishuMsgVo.setDueDate(sdf.format(projectLawsInventoryEO.getVerifyDueDate()));
|
feishuMsgVo.setDueDate(sdf.format(projectLawsInventoryEO.getVerifyDueDate()));
|
||||||
|
initiatorId = projectLawsInventoryEO.getVerifyInitiatorId();
|
||||||
|
|
||||||
messageTypeEnum = MessageTypeEnum.COMPLIANCE_CONFIRMATION;
|
messageTypeEnum = MessageTypeEnum.COMPLIANCE_CONFIRMATION;
|
||||||
}
|
}
|
||||||
@@ -218,6 +221,14 @@ public class ProjectTaskInventoryFeedbackEOServiceImpl extends ServiceImpl<Proje
|
|||||||
sendMessageMap.put("hrefFeishu",hrefFeishu);
|
sendMessageMap.put("hrefFeishu",hrefFeishu);
|
||||||
sendMessageMap.put("contentInfo",contentInfo);
|
sendMessageMap.put("contentInfo",contentInfo);
|
||||||
|
|
||||||
|
String initiator = "";
|
||||||
|
if(StringUtils.isNotEmpty(initiatorId)){
|
||||||
|
QueryWrapper<SysUser> queryOneWrapper = new QueryWrapper<>();
|
||||||
|
queryOneWrapper.lambda().eq(SysUser::getId,initiatorId);
|
||||||
|
SysUser sysUser = this.sysUserService.getBaseMapper().selectOne(queryOneWrapper);
|
||||||
|
initiator = sysUser.getUsername();
|
||||||
|
}
|
||||||
|
feishuMsgVo.setInitiator(initiator);
|
||||||
//发送消息
|
//发送消息
|
||||||
SendMessageUtils.sendMessage(msgTitle, msgContentEN,userIdList,projectLibraryBaseInfo.getId(),sendMessageMap, feishuMsgVo, messageTypeEnum,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName());
|
SendMessageUtils.sendMessage(msgTitle, msgContentEN,userIdList,projectLibraryBaseInfo.getId(),sendMessageMap, feishuMsgVo, messageTypeEnum,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName());
|
||||||
}
|
}
|
||||||
@@ -351,13 +362,30 @@ public class ProjectTaskInventoryFeedbackEOServiceImpl extends ServiceImpl<Proje
|
|||||||
projectYearInfoEOQueryWrapper.lambda().eq(ProjectYearNameInfoEO::getId,projectLibraryBaseInfo.getYearNameId());
|
projectYearInfoEOQueryWrapper.lambda().eq(ProjectYearNameInfoEO::getId,projectLibraryBaseInfo.getYearNameId());
|
||||||
ProjectYearNameInfoEO projectYearNameInfoEO = this.projectYearNameInfoEOService.getOne(projectYearInfoEOQueryWrapper);
|
ProjectYearNameInfoEO projectYearNameInfoEO = this.projectYearNameInfoEOService.getOne(projectYearInfoEOQueryWrapper);
|
||||||
|
|
||||||
|
String initiatorId = "";
|
||||||
|
if (StringUtils.equals(projectTaskInventoryFeedbackEO.getFlowType(), FlowTypeEnum.SJFHXSHLC.getValue())) {
|
||||||
|
initiatorId = projectLawsInventoryEO.getDesignInitiatorId();
|
||||||
|
}else if(StringUtils.equals(projectTaskInventoryFeedbackEO.getFlowType(), FlowTypeEnum.PREHOMOQRLC.getValue())){
|
||||||
|
initiatorId = projectLawsInventoryEO.getPrehomoInitiatorId();
|
||||||
|
}else if(StringUtils.equals(projectTaskInventoryFeedbackEO.getFlowType(), FlowTypeEnum.YZFHXSCLC.getValue())){
|
||||||
|
initiatorId = projectLawsInventoryEO.getVerifyInitiatorId();
|
||||||
|
}
|
||||||
|
|
||||||
// 飞书消息封装
|
// 飞书消息封装
|
||||||
FeishuMsgVo feishuMsgVo = new FeishuMsgVo();
|
FeishuMsgVo feishuMsgVo = new FeishuMsgVo();
|
||||||
|
|
||||||
feishuMsgVo.setContent("Hello! " + currentUser.getUsername() + " has submitted the engineering deliverable information. Please check and address it in a timely manner.");
|
feishuMsgVo.setContent("Hello! " + currentUser.getUsername() + " has submitted the engineering deliverable information. Please check and address it in a timely manner.");
|
||||||
feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber());
|
feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber());
|
||||||
feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBaseInfo.getTargetMarket());
|
feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBaseInfo.getTargetMarket());
|
||||||
feishuMsgVo.setInitiator(currentUser.getUsername());
|
|
||||||
|
String initiator = "";
|
||||||
|
if (StringUtils.isNotEmpty(initiatorId)) {
|
||||||
|
QueryWrapper<SysUser> queryOneWrapper = new QueryWrapper<>();
|
||||||
|
queryOneWrapper.lambda().eq(SysUser::getId,initiatorId);
|
||||||
|
SysUser sysUser = this.sysUserService.getBaseMapper().selectOne(queryOneWrapper);
|
||||||
|
initiator = sysUser.getUsername();
|
||||||
|
}
|
||||||
|
feishuMsgVo.setInitiator(initiator);
|
||||||
|
|
||||||
MessageTypeEnum messageTypeEnum = null;
|
MessageTypeEnum messageTypeEnum = null;
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.jero.modules.project.util;
|
package com.jero.modules.project.util;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.io.FileUtils;
|
import org.apache.commons.io.FileUtils;
|
||||||
@@ -40,6 +41,7 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class ExcelUtil {
|
public class ExcelUtil {
|
||||||
@@ -70,6 +72,33 @@ public class ExcelUtil {
|
|||||||
System.out.println("mmmmmmm");
|
System.out.println("mmmmmmm");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 过滤出需要导出的
|
||||||
|
* @param pkg
|
||||||
|
* @param params
|
||||||
|
* @return
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
public static Map<String, String> filterParams(SpreadsheetMLPackage pkg, Map<String, String> params) throws Exception {
|
||||||
|
JaxbSmlPart smlPart = (JaxbSmlPart)pkg.getParts().get(new PartName("/xl/sharedStrings.xml")); // 获取所有sheet中的文本
|
||||||
|
String wmlTemplateString = getWmlTemplateString(smlPart);
|
||||||
|
List<String> placeholderList = new ArrayList<>();
|
||||||
|
getAllPlaceholderElementFromObject(wmlTemplateString, 0, placeholderList); // 获取文档中所有占位符
|
||||||
|
|
||||||
|
Map<String, String> paramsAfterFilter = new HashMap<>();
|
||||||
|
List<String> textValueList = placeholderList.stream().distinct().collect(Collectors.toList());
|
||||||
|
if (CollectionUtil.isNotEmpty(textValueList)) {
|
||||||
|
for (Map.Entry<String, String> map : params.entrySet()) {
|
||||||
|
String value = "${" + map.getKey() + "}";
|
||||||
|
if (textValueList.contains(value)) {
|
||||||
|
paramsAfterFilter.put(map.getKey(), map.getValue());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return paramsAfterFilter;
|
||||||
|
}
|
||||||
|
|
||||||
public static void setRowHeight(WorksheetPart worksheetPart, int rIndex, double height, int cIndex, String text) {
|
public static void setRowHeight(WorksheetPart worksheetPart, int rIndex, double height, int cIndex, String text) {
|
||||||
SheetData sheetData = worksheetPart.getJaxbElement().getSheetData();
|
SheetData sheetData = worksheetPart.getJaxbElement().getSheetData();
|
||||||
|
|
||||||
@@ -370,8 +399,8 @@ public class ExcelUtil {
|
|||||||
|
|
||||||
// This seems to be about 5% faster than the Scanner approach
|
// This seems to be about 5% faster than the Scanner approach
|
||||||
wmlTemplateString = IOUtils.toString(is, "UTF-8");
|
wmlTemplateString = IOUtils.toString(is, "UTF-8");
|
||||||
List<String> placeholderList = new ArrayList<>();
|
// List<String> placeholderList = new ArrayList<>();
|
||||||
getAllPlaceholderElementFromObject(wmlTemplateString, 0, placeholderList);
|
// getAllPlaceholderElementFromObject(wmlTemplateString, 0, placeholderList);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error(e.getMessage(), e);
|
log.error(e.getMessage(), e);
|
||||||
@@ -381,18 +410,18 @@ public class ExcelUtil {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static List<String> getAllPlaceholderElementFromObject(String wmlTemplateString, int offset, List<String> placeholderList) {
|
private static void getAllPlaceholderElementFromObject(String wmlTemplateString, int offset, List<String> placeholderList) {
|
||||||
|
|
||||||
int startKey = wmlTemplateString.indexOf("${", offset);
|
int startKey = wmlTemplateString.indexOf("${", offset);
|
||||||
if (startKey == -1)
|
if (startKey == -1)
|
||||||
return null;
|
return;
|
||||||
else {
|
else {
|
||||||
int keyEnd = wmlTemplateString.indexOf('}', startKey);
|
int keyEnd = wmlTemplateString.indexOf('}', startKey);
|
||||||
String placeHolder = wmlTemplateString.substring(startKey, keyEnd + 1);
|
String placeHolder = wmlTemplateString.substring(startKey, keyEnd + 1);
|
||||||
if (isPlaceholder(placeHolder)) {
|
if (isPlaceholder(placeHolder)) {
|
||||||
placeholderList.add(placeHolder);
|
placeholderList.add(placeHolder);
|
||||||
}
|
}
|
||||||
return getAllPlaceholderElementFromObject(wmlTemplateString, keyEnd + 1, placeholderList);
|
getAllPlaceholderElementFromObject(wmlTemplateString, keyEnd + 1, placeholderList);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.jero.modules.project.util;
|
package com.jero.modules.project.util;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import org.docx4j.Docx4J;
|
import org.docx4j.Docx4J;
|
||||||
import org.docx4j.TraversalUtil;
|
import org.docx4j.TraversalUtil;
|
||||||
import org.docx4j.XmlUtils;
|
import org.docx4j.XmlUtils;
|
||||||
@@ -28,6 +29,7 @@ import java.io.OutputStream;
|
|||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
public class WordUtil {
|
public class WordUtil {
|
||||||
private static final Logger log = LoggerFactory.getLogger(WordUtil.class);
|
private static final Logger log = LoggerFactory.getLogger(WordUtil.class);
|
||||||
@@ -230,6 +232,34 @@ public class WordUtil {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 过滤出需要导出的
|
||||||
|
* @param wordMLPackage
|
||||||
|
* @param params
|
||||||
|
* @return
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
public static Map<String, String> filterParams(WordprocessingMLPackage wordMLPackage, Map<String, String> params) throws Exception {
|
||||||
|
MainDocumentPart mainDocumentPart = wordMLPackage.getMainDocumentPart();
|
||||||
|
Docx4jUtils.cleanDocumentPart(mainDocumentPart);
|
||||||
|
Document wmlDoc = (Document)mainDocumentPart.getJaxbElement();
|
||||||
|
Body body = wmlDoc.getBody();
|
||||||
|
List<Text> textList = getAllPlaceholderElementFromObject(body); // 获取文档中所有占位符
|
||||||
|
|
||||||
|
Map<String, String> paramsAfterFilter = new HashMap<>();
|
||||||
|
List<String> textValueList = textList.stream().map(Text::getValue).distinct().collect(Collectors.toList());
|
||||||
|
if (CollectionUtil.isNotEmpty(textValueList)) {
|
||||||
|
for (Map.Entry<String, String> map : params.entrySet()) {
|
||||||
|
String value = "${" + map.getKey() + "}";
|
||||||
|
if (textValueList.contains(value)) {
|
||||||
|
paramsAfterFilter.put(map.getKey(), map.getValue());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return paramsAfterFilter;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 发现docx文档包含占位符的文本节点
|
* 发现docx文档包含占位符的文本节点
|
||||||
* 未解决问题:两个连着的相同占位符会识别成一个。如 原文:${key1}${key1}
|
* 未解决问题:两个连着的相同占位符会识别成一个。如 原文:${key1}${key1}
|
||||||
|
|||||||
@@ -546,10 +546,12 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
|
|||||||
}else{
|
}else{
|
||||||
content = "Content";
|
content = "Content";
|
||||||
}
|
}
|
||||||
|
String moth = lawsMonthlyReportWriteEOS.get(0).getMonth().replaceAll("-", "年") + "月";
|
||||||
//单独设置每页右侧的时间
|
//单独设置每页右侧的时间
|
||||||
WordUtil.exportWordMonth(document, lawsMonthlyReportWriteEOS.get(0).getMonth(), null, ParagraphAlignment.RIGHT, 0, 12, false, true, "微软雅黑");
|
WordUtil.exportWord(document, titleCN, null, ParagraphAlignment.CENTER, 0, 18, false, false, "Blue Sky Noto Regular");
|
||||||
WordUtil.exportWord(document, titleCN, null, ParagraphAlignment.CENTER, 0, 12, false, true, "Microsoft YaHei UI");
|
WordUtil.exportWord(document, content, null, ParagraphAlignment.LEFT, 0, 12, false, true, "Blue Sky Noto Regular");
|
||||||
WordUtil.exportWord(document, content, null, ParagraphAlignment.LEFT, 0, 12, false, true, "Microsoft YaHei UI");
|
//生成页脚
|
||||||
|
WordUtil.exportHeardAndFootMain(document,moth);
|
||||||
int oneCount = 1;
|
int oneCount = 1;
|
||||||
|
|
||||||
for (LawsMonthlyReportTitleTemplateEO lawsMonthlyReportTitleTemplateEO : reportTitleOneList) {
|
for (LawsMonthlyReportTitleTemplateEO lawsMonthlyReportTitleTemplateEO : reportTitleOneList) {
|
||||||
@@ -563,7 +565,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
|
|||||||
oneTitle = lawsMonthlyReportTitleTemplateEO.getTitleEn();
|
oneTitle = lawsMonthlyReportTitleTemplateEO.getTitleEn();
|
||||||
}
|
}
|
||||||
if(StringUtils.isNotBlank(oneTitle)){
|
if(StringUtils.isNotBlank(oneTitle)){
|
||||||
WordUtil.exportWord(document, oneNumber+" "+oneTitle, null, ParagraphAlignment.LEFT, 0, 12, false, true, "Microsoft YaHei UI");
|
WordUtil.exportWord(document, oneNumber+" "+oneTitle, null, ParagraphAlignment.LEFT, 0, 12, false, true, "Blue Sky Noto Regular");
|
||||||
oneCount++;
|
oneCount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -585,7 +587,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
|
|||||||
twoTitle = monthlyReportTitleTemplateEO.getTitleEn();
|
twoTitle = monthlyReportTitleTemplateEO.getTitleEn();
|
||||||
}
|
}
|
||||||
if(StringUtils.isNotBlank(twoTitle)){
|
if(StringUtils.isNotBlank(twoTitle)){
|
||||||
WordUtil.exportWord(document, twoNumber+" "+twoTitle, null, ParagraphAlignment.LEFT, 2, 12, false, true, "Microsoft YaHei UI");
|
WordUtil.exportWord(document, twoNumber+" "+twoTitle, null, ParagraphAlignment.LEFT, 2, 12, false, true, "Blue Sky Noto Regular");
|
||||||
twoCount++;
|
twoCount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -598,7 +600,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
|
|||||||
reportTitle = lawsMonthlyReportWriteEO.getTitleEn();
|
reportTitle = lawsMonthlyReportWriteEO.getTitleEn();
|
||||||
}
|
}
|
||||||
if(org.apache.commons.lang3.StringUtils.isNotBlank(reportTitle)){
|
if(org.apache.commons.lang3.StringUtils.isNotBlank(reportTitle)){
|
||||||
WordUtil.exportWord(document, reportCount+". "+reportTitle, null, ParagraphAlignment.LEFT, 6, 10, false, false, "Microsoft YaHei UI");
|
WordUtil.exportWord(document, reportCount+". "+reportTitle, null, ParagraphAlignment.LEFT, 6, 12, false, false, "Blue Sky Noto Regular");
|
||||||
reportCount++;
|
reportCount++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -616,16 +618,11 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
|
|||||||
|
|
||||||
//树形数据字典
|
//树形数据字典
|
||||||
List<SysCategory> categoryList = sysCategoryService.list();
|
List<SysCategory> categoryList = sysCategoryService.list();
|
||||||
String content = "";
|
String moth = lawsMonthlyReportWriteEOS.get(0).getMonth().replaceAll("-", "年") + "月";
|
||||||
if(CutEnum.CN.getValue().equals(cut)){
|
//生成页眉页脚
|
||||||
content = "主要内容";
|
WordUtil.exportHeardAndFoot(document,moth);
|
||||||
}else{
|
//生成标题
|
||||||
content = "Content";
|
WordUtil.exportWord(document, titleCN, null, ParagraphAlignment.CENTER, 0, 18, false, true, "Blue Sky Noto Regular");
|
||||||
}
|
|
||||||
WordUtil.exportWord(document, titleCN, null, ParagraphAlignment.CENTER, 0, 12, false, true, "Microsoft YaHei UI");
|
|
||||||
//单独设置每页右侧的时间
|
|
||||||
WordUtil.exportWordMonth(document, lawsMonthlyReportWriteEOS.get(0).getMonth(), null, ParagraphAlignment.RIGHT, 0, 12, false, true, "Microsoft YaHei UI");
|
|
||||||
// WordUtil.exportWord(document, content, null, ParagraphAlignment.LEFT, 0, 12, false, true, "Microsoft YaHei UI");
|
|
||||||
int oneCount = 1;
|
int oneCount = 1;
|
||||||
|
|
||||||
for (LawsMonthlyReportTitleTemplateEO lawsMonthlyReportTitleTemplateEO : reportTitleOneList) {
|
for (LawsMonthlyReportTitleTemplateEO lawsMonthlyReportTitleTemplateEO : reportTitleOneList) {
|
||||||
@@ -639,7 +636,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
|
|||||||
oneTitle = lawsMonthlyReportTitleTemplateEO.getTitleEn();
|
oneTitle = lawsMonthlyReportTitleTemplateEO.getTitleEn();
|
||||||
}
|
}
|
||||||
if(StringUtils.isNotBlank(oneTitle)){
|
if(StringUtils.isNotBlank(oneTitle)){
|
||||||
WordUtil.exportWord(document, oneNumber+" "+oneTitle, null, ParagraphAlignment.LEFT, 0, 12, false, true, "Microsoft YaHei UI");
|
WordUtil.exportWord(document, oneNumber+" "+oneTitle, null, ParagraphAlignment.LEFT, 0, 14, false, true, "Blue Sky Noto Regular");
|
||||||
oneCount++;
|
oneCount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -661,7 +658,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
|
|||||||
twoTitle = monthlyReportTitleTemplateEO.getTitleEn();
|
twoTitle = monthlyReportTitleTemplateEO.getTitleEn();
|
||||||
}
|
}
|
||||||
if(StringUtils.isNotBlank(twoTitle)){
|
if(StringUtils.isNotBlank(twoTitle)){
|
||||||
WordUtil.exportWord(document, twoNumber+" "+twoTitle, null, ParagraphAlignment.LEFT, 2, 12, false, true, "Microsoft YaHei UI");
|
WordUtil.exportWord(document, twoNumber+" "+twoTitle, null, ParagraphAlignment.LEFT, 2, 12, false, true, "Blue Sky Noto Regular");
|
||||||
twoCount++;
|
twoCount++;
|
||||||
}
|
}
|
||||||
//二级目录下放--->新征求意见清单模板, 新发布标准清单模板
|
//二级目录下放--->新征求意见清单模板, 新发布标准清单模板
|
||||||
@@ -686,7 +683,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
|
|||||||
reportTitle = lawsMonthlyReportWriteEO.getTitleEn();
|
reportTitle = lawsMonthlyReportWriteEO.getTitleEn();
|
||||||
}
|
}
|
||||||
if(StringUtils.isNotBlank(reportTitle)){
|
if(StringUtils.isNotBlank(reportTitle)){
|
||||||
WordUtil.exportWord(document, reportCount+". "+reportTitle, null, ParagraphAlignment.LEFT, 6, 10, false, false, "Microsoft YaHei UI");
|
WordUtil.exportWord(document, reportCount+". "+reportTitle, null, ParagraphAlignment.LEFT, 6, 11, false, false, "Blue Sky Noto Regular");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -8,20 +8,35 @@ import com.jero.modules.report.entity.NewStandardTemplateEO;
|
|||||||
import com.jero.modules.report.enums.DictCodeReportEnum;
|
import com.jero.modules.report.enums.DictCodeReportEnum;
|
||||||
import com.jero.modules.system.entity.SysCategory;
|
import com.jero.modules.system.entity.SysCategory;
|
||||||
import com.jero.modules.system.entity.SysDictItem;
|
import com.jero.modules.system.entity.SysDictItem;
|
||||||
|
import lombok.SneakyThrows;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.apache.commons.lang3.ObjectUtils;
|
import org.apache.commons.lang3.ObjectUtils;
|
||||||
|
import org.apache.poi.util.Units;
|
||||||
|
import org.apache.poi.xwpf.model.XWPFHeaderFooterPolicy;
|
||||||
import org.apache.poi.xwpf.usermodel.ParagraphAlignment;
|
import org.apache.poi.xwpf.usermodel.ParagraphAlignment;
|
||||||
import org.apache.poi.xwpf.usermodel.XWPFDocument;
|
import org.apache.poi.xwpf.usermodel.XWPFDocument;
|
||||||
|
import org.apache.poi.xwpf.usermodel.XWPFFooter;
|
||||||
|
import org.apache.poi.xwpf.usermodel.XWPFHeader;
|
||||||
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
|
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
|
||||||
|
import org.apache.poi.xwpf.usermodel.XWPFPicture;
|
||||||
|
import org.apache.poi.xwpf.usermodel.XWPFPictureData;
|
||||||
import org.apache.poi.xwpf.usermodel.XWPFRun;
|
import org.apache.poi.xwpf.usermodel.XWPFRun;
|
||||||
import org.apache.poi.xwpf.usermodel.XWPFTable;
|
import org.apache.poi.xwpf.usermodel.XWPFTable;
|
||||||
import org.apache.poi.xwpf.usermodel.XWPFTableRow;
|
import org.apache.poi.xwpf.usermodel.XWPFTableRow;
|
||||||
|
import org.apache.xmlbeans.impl.xb.xmlschema.SpaceAttribute;
|
||||||
|
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTFldChar;
|
||||||
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTJc;
|
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTJc;
|
||||||
|
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTPageMar;
|
||||||
|
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTSectPr;
|
||||||
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTblPr;
|
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTblPr;
|
||||||
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTblWidth;
|
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTblWidth;
|
||||||
|
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTText;
|
||||||
|
import org.openxmlformats.schemas.wordprocessingml.x2006.main.STFldCharType;
|
||||||
import org.openxmlformats.schemas.wordprocessingml.x2006.main.STJc;
|
import org.openxmlformats.schemas.wordprocessingml.x2006.main.STJc;
|
||||||
import org.openxmlformats.schemas.wordprocessingml.x2006.main.STTblWidth;
|
import org.openxmlformats.schemas.wordprocessingml.x2006.main.STTblWidth;
|
||||||
|
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.InputStream;
|
||||||
import java.math.BigInteger;
|
import java.math.BigInteger;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -103,6 +118,158 @@ public class WordUtil {
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// @SneakyThrows
|
||||||
|
// public static void exportHeardAndFoot(XWPFDocument document){
|
||||||
|
//// XWPFDocument document = new XWPFDocument();
|
||||||
|
//
|
||||||
|
// // create header-footer
|
||||||
|
// XWPFHeaderFooterPolicy headerFooterPolicy = document.getHeaderFooterPolicy();
|
||||||
|
// if (headerFooterPolicy == null) headerFooterPolicy = document.createHeaderFooterPolicy();
|
||||||
|
//
|
||||||
|
// // create header start
|
||||||
|
// XWPFHeader header = headerFooterPolicy.createHeader(XWPFHeaderFooterPolicy.DEFAULT);
|
||||||
|
//
|
||||||
|
// XWPFParagraph paragraph = header.createParagraph();
|
||||||
|
// paragraph.setAlignment(ParagraphAlignment.CENTER);
|
||||||
|
//
|
||||||
|
// XWPFRun run = paragraph.createRun();
|
||||||
|
// run.setText("Header");
|
||||||
|
//
|
||||||
|
// // create footer start
|
||||||
|
// XWPFFooter footer = headerFooterPolicy.createFooter(XWPFHeaderFooterPolicy.DEFAULT);
|
||||||
|
//
|
||||||
|
// paragraph = footer.createParagraph();
|
||||||
|
// paragraph.setAlignment(ParagraphAlignment.CENTER);
|
||||||
|
//
|
||||||
|
// run = paragraph.createRun();
|
||||||
|
// run.setText("Footer");
|
||||||
|
//
|
||||||
|
// CTSectPr sectPr = document.getDocument().getBody().getSectPr();
|
||||||
|
// if (sectPr == null) sectPr = document.getDocument().getBody().addNewSectPr();
|
||||||
|
// CTPageMar pageMar = sectPr.getPgMar();
|
||||||
|
// if (pageMar == null) pageMar = sectPr.addNewPgMar();
|
||||||
|
// pageMar.setLeft(BigInteger.valueOf(2000)); //720 TWentieths of an Inch Point (Twips) = 720/20 = 36 pt = 36/72 = 0.5"
|
||||||
|
// pageMar.setRight(BigInteger.valueOf(720));
|
||||||
|
// pageMar.setTop(BigInteger.valueOf(1440)); //1440 Twips = 1440/20 = 72 pt = 72/72 = 1"
|
||||||
|
// pageMar.setBottom(BigInteger.valueOf(1440));
|
||||||
|
//
|
||||||
|
// pageMar.setHeader(BigInteger.valueOf(2000)); //45.4 pt * 20 = 908 = 45.4 pt header from top
|
||||||
|
// pageMar.setFooter(BigInteger.valueOf(568)); //28.4 pt * 20 = 568 = 28.4 pt footer from bottom
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
@SneakyThrows
|
||||||
|
public static void exportHeardAndFoot(XWPFDocument document,String month){
|
||||||
|
XWPFHeaderFooterPolicy headerFooterPolicy = document.getHeaderFooterPolicy();
|
||||||
|
if (headerFooterPolicy == null) headerFooterPolicy = document.createHeaderFooterPolicy();
|
||||||
|
XWPFHeader header = headerFooterPolicy.createHeader(XWPFHeaderFooterPolicy.DEFAULT);
|
||||||
|
|
||||||
|
// String logoFilePath = "/jero-boot/home/weilai.png";
|
||||||
|
String logoFilePath = WordUtil.class.getClassLoader().getResource("static/home/weilai.png").getPath();
|
||||||
|
//页眉第一个段落展示logo-----------------------------------------------------------------------------------
|
||||||
|
if (org.apache.commons.lang3.StringUtils.isNotBlank(logoFilePath)) {
|
||||||
|
XWPFParagraph logo = header.createParagraph();
|
||||||
|
logo.setAlignment(ParagraphAlignment.LEFT);
|
||||||
|
XWPFRun run = logo.createRun();
|
||||||
|
|
||||||
|
String imgFile = logoFilePath;
|
||||||
|
InputStream is = new FileInputStream(imgFile);
|
||||||
|
XWPFPicture picture = run.addPicture(is, XWPFDocument.PICTURE_TYPE_PNG, imgFile, Units.toEMU(95), Units.toEMU(35));
|
||||||
|
String blipID = "";
|
||||||
|
for(XWPFPictureData picturedata : header.getAllPackagePictures()) { //这段必须有,不然打开的logo图片不显示
|
||||||
|
blipID = header.getRelationId(picturedata);
|
||||||
|
}
|
||||||
|
picture.getCTPicture().getBlipFill().getBlip().setEmbed(blipID);
|
||||||
|
run.addTab();
|
||||||
|
is.close();
|
||||||
|
}
|
||||||
|
//页眉第二个段落展示日期------------------------------------------------------------
|
||||||
|
XWPFParagraph paragraph = header.createParagraph();//创建新的段落
|
||||||
|
paragraph.setAlignment(ParagraphAlignment.RIGHT);//段落文本的对齐方式
|
||||||
|
XWPFRun run = paragraph.createRun();
|
||||||
|
run.setText(month);
|
||||||
|
|
||||||
|
//页脚(三个段落分别展示3个内容)-----------------------------------------------------
|
||||||
|
XWPFFooter footer = headerFooterPolicy.createFooter(XWPFHeaderFooterPolicy.DEFAULT);
|
||||||
|
|
||||||
|
paragraph = footer.createParagraph();
|
||||||
|
paragraph.setAlignment(ParagraphAlignment.CENTER);
|
||||||
|
run = paragraph.createRun();
|
||||||
|
run.setText("NIO Internal");
|
||||||
|
|
||||||
|
paragraph = footer.createParagraph();
|
||||||
|
paragraph.setAlignment(ParagraphAlignment.LEFT);
|
||||||
|
run = paragraph.createRun();
|
||||||
|
run.setText("NIO.com");
|
||||||
|
|
||||||
|
//生成页码---------------------------------------------------------------------
|
||||||
|
paragraph = footer.createParagraph();
|
||||||
|
paragraph.setAlignment(ParagraphAlignment.RIGHT);
|
||||||
|
run = paragraph.createRun();
|
||||||
|
CTFldChar fldChar = run.getCTR().addNewFldChar();
|
||||||
|
fldChar.setFldCharType(STFldCharType.Enum.forString("begin"));
|
||||||
|
|
||||||
|
run = paragraph.createRun();
|
||||||
|
CTText ctText = run.getCTR().addNewInstrText();
|
||||||
|
ctText.setStringValue("PAGE \\* MERGEFORMAT");
|
||||||
|
ctText.setSpace(SpaceAttribute.Space.Enum.forString("preserve"));
|
||||||
|
|
||||||
|
fldChar = run.getCTR().addNewFldChar();
|
||||||
|
fldChar.setFldCharType(STFldCharType.Enum.forString("end"));
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
CTSectPr sectPr = document.getDocument().getBody().getSectPr();
|
||||||
|
if (sectPr == null) sectPr = document.getDocument().getBody().addNewSectPr();
|
||||||
|
CTPageMar pageMar = sectPr.getPgMar();
|
||||||
|
if (pageMar == null) pageMar = sectPr.addNewPgMar();
|
||||||
|
pageMar.setLeft(BigInteger.valueOf(1000)); //左边距
|
||||||
|
pageMar.setRight(BigInteger.valueOf(1000));//右边距
|
||||||
|
pageMar.setTop(BigInteger.valueOf(1440)); //页眉高度
|
||||||
|
pageMar.setBottom(BigInteger.valueOf(1440));//页脚高度
|
||||||
|
|
||||||
|
pageMar.setHeader(BigInteger.valueOf(500)); //页眉上边框到顶部的距离
|
||||||
|
pageMar.setFooter(BigInteger.valueOf(800)); //页脚下边框到底部的距离
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主页面(只有页脚)
|
||||||
|
* @param document
|
||||||
|
* @param month
|
||||||
|
*/
|
||||||
|
@SneakyThrows
|
||||||
|
public static void exportHeardAndFootMain(XWPFDocument document,String month){
|
||||||
|
XWPFHeaderFooterPolicy headerFooterPolicy = document.getHeaderFooterPolicy();
|
||||||
|
if (headerFooterPolicy == null) headerFooterPolicy = document.createHeaderFooterPolicy();
|
||||||
|
// XWPFHeader header = headerFooterPolicy.createHeader(XWPFHeaderFooterPolicy.DEFAULT);
|
||||||
|
// XWPFParagraph paragraph = header.createParagraph();//创建新的段落
|
||||||
|
// XWPFRun run = paragraph.createRun();
|
||||||
|
|
||||||
|
XWPFFooter footer = headerFooterPolicy.createFooter(XWPFHeaderFooterPolicy.DEFAULT);
|
||||||
|
XWPFParagraph paragraph = footer.createParagraph();
|
||||||
|
paragraph.setAlignment(ParagraphAlignment.CENTER);
|
||||||
|
XWPFRun run = paragraph.createRun();
|
||||||
|
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();
|
||||||
|
if (sectPr == null) sectPr = document.getDocument().getBody().addNewSectPr();
|
||||||
|
CTPageMar pageMar = sectPr.getPgMar();
|
||||||
|
if (pageMar == null) pageMar = sectPr.addNewPgMar();
|
||||||
|
pageMar.setLeft(BigInteger.valueOf(1000)); //左边距
|
||||||
|
pageMar.setRight(BigInteger.valueOf(1000));//右边距
|
||||||
|
pageMar.setTop(BigInteger.valueOf(1440)); //页眉高度
|
||||||
|
pageMar.setBottom(BigInteger.valueOf(1440));//页脚高度
|
||||||
|
|
||||||
|
pageMar.setHeader(BigInteger.valueOf(500)); //页眉上边框到顶部的距离
|
||||||
|
pageMar.setFooter(BigInteger.valueOf(1200)); //页脚下边框到底部的距离
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 导出工具示例
|
* 导出工具示例
|
||||||
*
|
*
|
||||||
@@ -126,27 +293,6 @@ public class WordUtil {
|
|||||||
Boolean isBold,
|
Boolean isBold,
|
||||||
String fontFamily) {
|
String fontFamily) {
|
||||||
|
|
||||||
// CTSectPr sectPr = document.getDocument().getBody().addNewSectPr();
|
|
||||||
// XWPFHeaderFooterPolicy policy = new XWPFHeaderFooterPolicy(document, sectPr);
|
|
||||||
//
|
|
||||||
// //添加页眉
|
|
||||||
// CTP ctpHeader = CTP.Factory.newInstance();
|
|
||||||
// CTR ctrHeader = ctpHeader.addNewR();
|
|
||||||
// CTText ctHeader = ctrHeader.addNewT();
|
|
||||||
// String headerText = "Java POI create MS word file.";
|
|
||||||
// ctHeader.setStringValue(headerText);
|
|
||||||
// XWPFParagraph headerParagraph = new XWPFParagraph(ctpHeader, document);
|
|
||||||
// //设置为右对齐
|
|
||||||
// headerParagraph.setAlignment(ParagraphAlignment.RIGHT);
|
|
||||||
// XWPFParagraph[] parsHeader = new XWPFParagraph[1];
|
|
||||||
// parsHeader[0] = headerParagraph;
|
|
||||||
// try {
|
|
||||||
// policy.createHeader(XWPFHeaderFooterPolicy.DEFAULT, parsHeader);
|
|
||||||
// } catch (IOException e) {
|
|
||||||
// e.printStackTrace();
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
//添加标题
|
//添加标题
|
||||||
XWPFParagraph titleParagraph = document.createParagraph();
|
XWPFParagraph titleParagraph = document.createParagraph();
|
||||||
//设置段落左对齐
|
//设置段落左对齐
|
||||||
@@ -519,6 +665,7 @@ public class WordUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static void setCell(XWPFTableRow tableRow, String fieldName,String technologyTerritory) {
|
private static void setCell(XWPFTableRow tableRow, String fieldName,String technologyTerritory) {
|
||||||
|
|
||||||
tableRow.setHeight(500);
|
tableRow.setHeight(500);
|
||||||
CTTblWidth ctTblWidth0 = tableRow.getCell(0).getCTTc().addNewTcPr().addNewTcW();
|
CTTblWidth ctTblWidth0 = tableRow.getCell(0).getCTTc().addNewTcPr().addNewTcW();
|
||||||
ctTblWidth0.setType(STTblWidth.DXA);
|
ctTblWidth0.setType(STTblWidth.DXA);
|
||||||
|
|||||||
@@ -54,8 +54,10 @@ public class workFlowController {
|
|||||||
jsonObject.put("loginUserId", currentUser.getId());
|
jsonObject.put("loginUserId", currentUser.getId());
|
||||||
jsonObject.put("loginUserName", currentUser.getUsername());
|
jsonObject.put("loginUserName", currentUser.getUsername());
|
||||||
if(StringUtils.equals(type,FlowTypeEnum.RWQRLC.getValue())){
|
if(StringUtils.equals(type,FlowTypeEnum.RWQRLC.getValue())){
|
||||||
jsonObject.put("id", FlowTypeEnum.RWQRLC.getProcessDefinitionKey()); //流程定义id
|
/*jsonObject.put("id", FlowTypeEnum.RWQRLC.getProcessDefinitionKey()); //流程定义id
|
||||||
return this.activiti_define_start(jsonObject);
|
return this.activiti_define_start(jsonObject);*/
|
||||||
|
jsonObject.put("processDefinitionKey", FlowTypeEnum.RWQRLC.getProcessDefinitionKey());
|
||||||
|
return this.startTaskToConfirmProcess(jsonObject);
|
||||||
}else if(StringUtils.equals(type,FlowTypeEnum.SJFHXSHLC.getValue())){
|
}else if(StringUtils.equals(type,FlowTypeEnum.SJFHXSHLC.getValue())){
|
||||||
jsonObject.put("id", FlowTypeEnum.SJFHXSHLC.getProcessDefinitionKey());
|
jsonObject.put("id", FlowTypeEnum.SJFHXSHLC.getProcessDefinitionKey());
|
||||||
initConditionAssessmentEO(jsonObject);
|
initConditionAssessmentEO(jsonObject);
|
||||||
@@ -203,4 +205,20 @@ public class workFlowController {
|
|||||||
public Result startLawsTechnologyEvaluationProcess(@RequestBody JSONObject jsonObject){
|
public Result startLawsTechnologyEvaluationProcess(@RequestBody JSONObject jsonObject){
|
||||||
return workFlowFeignClient.startLawsTechnologyEvaluationProcess(jsonObject);
|
return workFlowFeignClient.startLawsTechnologyEvaluationProcess(jsonObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 启动流程-任务确认流程
|
||||||
|
* @param jsonObject
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public Result startTaskToConfirmProcess(@RequestBody JSONObject 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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -84,8 +84,8 @@ public interface WorkFlowFeignClient {
|
|||||||
* @param params
|
* @param params
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@RequestMapping(value = "/bat-wkflow/deleteProcessInstanceByProjectLawsInventoryIds",method = RequestMethod.GET)
|
@RequestMapping(value = "/bat-wkflow/deleteProcessInstanceByProjectLawsInventoryIds",method = RequestMethod.POST,headers = {"content-type=application/json"})
|
||||||
Result<String> deleteProcessInstanceByProjectLawsInventoryIds(@RequestParam Map<String,Object> params);
|
Result<String> deleteProcessInstanceByProjectLawsInventoryIds(String params);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 流程实例明细列表
|
* 流程实例明细列表
|
||||||
@@ -146,6 +146,22 @@ public interface WorkFlowFeignClient {
|
|||||||
@RequestMapping(value = "/bat-wkflow/startLawsTechnologyEvaluationProcess",method = RequestMethod.POST,headers = {"content-type=application/json"})
|
@RequestMapping(value = "/bat-wkflow/startLawsTechnologyEvaluationProcess",method = RequestMethod.POST,headers = {"content-type=application/json"})
|
||||||
Result<String> startLawsTechnologyEvaluationProcess(String jsonObject);
|
Result<String> startLawsTechnologyEvaluationProcess(String jsonObject);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 启动流程-任务确认流程
|
||||||
|
* @param jsonObject
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@RequestMapping(value = "/bat-wkflow/startTaskToConfirmProcess",method = RequestMethod.POST,headers = {"content-type=application/json"})
|
||||||
|
Result<String> startTaskToConfirmProcess(String jsonObject);
|
||||||
|
|
||||||
@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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -101,8 +101,8 @@ public class WorkFlowFeignClientImpl{
|
|||||||
* @param params
|
* @param params
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public Result<String> deleteProcessInstanceByProjectLawsInventoryIds(@RequestParam Map<String,Object> params){
|
public Result<String> deleteProcessInstanceByProjectLawsInventoryIds(@RequestBody JSONObject params){
|
||||||
return workFlowFeignClient.deleteProcessInstanceByProjectLawsInventoryIds(params);
|
return workFlowFeignClient.deleteProcessInstanceByProjectLawsInventoryIds(params.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -167,4 +167,23 @@ public class WorkFlowFeignClientImpl{
|
|||||||
Result<String> stringWrapper = workFlowFeignClient.startLawsTechnologyEvaluationProcess(jsonObject.toString());
|
Result<String> stringWrapper = workFlowFeignClient.startLawsTechnologyEvaluationProcess(jsonObject.toString());
|
||||||
return Result.OK(stringWrapper.getResult());
|
return Result.OK(stringWrapper.getResult());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 启动流程-任务确认流程
|
||||||
|
* @param jsonObject
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public Result startTaskToConfirmProcess(@RequestBody net.sf.json.JSONObject jsonObject){
|
||||||
|
Result<String> stringWrapper = workFlowFeignClient.startTaskToConfirmProcess(jsonObject.toString());
|
||||||
|
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: 5.1 KiB |
|
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,4 +1252,7 @@ module.exports = {
|
|||||||
optionDropDownBox:'Option drop - down box',
|
optionDropDownBox:'Option drop - down box',
|
||||||
attachmentUpload:'file',
|
attachmentUpload:'file',
|
||||||
textInput:'Text Input',
|
textInput:'Text Input',
|
||||||
|
deleteNode:'If there is any file information, the file will be deleted. Are you sure to delete this data?',
|
||||||
|
HaveReleased:'Have released',
|
||||||
|
forward:'Forward',
|
||||||
}
|
}
|
||||||
@@ -1355,4 +1355,7 @@ module.exports = {
|
|||||||
Paraname: '参数名称',
|
Paraname: '参数名称',
|
||||||
Parabatch: '参数批次',
|
Parabatch: '参数批次',
|
||||||
freeze:'请选择冻结配置',
|
freeze:'请选择冻结配置',
|
||||||
|
deleteNode:'若有文件信息将同步删除,确认删除该条数据?',
|
||||||
|
HaveReleased:'已发布',
|
||||||
|
forward:'转发',
|
||||||
}
|
}
|
||||||
@@ -650,6 +650,7 @@
|
|||||||
item.dataValue = r.target.value
|
item.dataValue = r.target.value
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
console.log(this.detailDate)
|
||||||
},
|
},
|
||||||
uploadSuccess(data) {
|
uploadSuccess(data) {
|
||||||
let attIdList = []
|
let attIdList = []
|
||||||
@@ -672,6 +673,7 @@
|
|||||||
item.dataValue = attIdList.join(',')
|
item.dataValue = attIdList.join(',')
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
this.$emit('update:detailDate', this.detailDate);
|
||||||
},
|
},
|
||||||
clickButtonToUpload(item) {
|
clickButtonToUpload(item) {
|
||||||
// if (item.isLock == '1') {
|
// if (item.isLock == '1') {
|
||||||
@@ -690,9 +692,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
detailDate(newold, oldold) {
|
// detailDate(newold, oldold) {
|
||||||
console.log(newold, oldold, 'll')
|
// console.log(newold, oldold, 'll')
|
||||||
},
|
// },
|
||||||
formInline: {
|
formInline: {
|
||||||
handler(newOld, oldval) {
|
handler(newOld, oldval) {
|
||||||
console.log(newOld, oldval, 'll')
|
console.log(newOld, oldval, 'll')
|
||||||
|
|||||||
@@ -0,0 +1,188 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<a-drawer
|
||||||
|
:title="title"
|
||||||
|
:maskClosable="false"
|
||||||
|
:width="600"
|
||||||
|
placement="right"
|
||||||
|
:closable="true"
|
||||||
|
@close="handleCancel"
|
||||||
|
:visible="visible"
|
||||||
|
style="height: 100%;overflow: auto;padding-bottom: 53px;">
|
||||||
|
<a-spin :spinning="confirmLoading">
|
||||||
|
<a-input-search style="margin-bottom: 8px" v-model="searchModel"
|
||||||
|
@search="onSearch"
|
||||||
|
allowClear
|
||||||
|
:placeholder="$t('NodeQuickLookup')"/>
|
||||||
|
<div class="drawer-content">
|
||||||
|
<a-tree
|
||||||
|
v-if="visibleTree"
|
||||||
|
style="margin-bottom: 60px;height: 600px"
|
||||||
|
checkable
|
||||||
|
:autoExpandParent="false"
|
||||||
|
:tree-data="gData"
|
||||||
|
@select="onSelect"
|
||||||
|
@check="checkChange"
|
||||||
|
@expand="onExpand"
|
||||||
|
:defaultExpandedKeys="defaultExpandedKeys"
|
||||||
|
>
|
||||||
|
</a-tree>
|
||||||
|
</div>
|
||||||
|
</a-spin>
|
||||||
|
<div class="drawer-bootom-button">
|
||||||
|
<a-button @click="handleCancel" type="danger" style="margin-right: 16px">{{$t('cancel')}}</a-button>
|
||||||
|
<a-button @click="handleSubmit" type="primary" :loading="submitLoading">{{$t('submit')}}</a-button>
|
||||||
|
</div>
|
||||||
|
</a-drawer>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { getAction, postAction } from '@/api/manage'
|
||||||
|
import eventBUs from '../../common/event'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'index',
|
||||||
|
props: {
|
||||||
|
url: {
|
||||||
|
type: Object,
|
||||||
|
default: {}
|
||||||
|
},
|
||||||
|
title:{
|
||||||
|
type: String,
|
||||||
|
default:''
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
gData: [],
|
||||||
|
searchModel: '',
|
||||||
|
autoExpandParent: true,
|
||||||
|
expandedKeys: [],
|
||||||
|
visible: false,
|
||||||
|
confirmLoading: false,
|
||||||
|
selectedKey: [],
|
||||||
|
tableKey: [],
|
||||||
|
userIds: [],
|
||||||
|
departId: '',
|
||||||
|
defaultExpandedKeys: [],
|
||||||
|
submitLoading: false,
|
||||||
|
visibleTree: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
getPush() {
|
||||||
|
this.searchModel = ''
|
||||||
|
this.visible = true
|
||||||
|
this.visibleTree = false
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.departId = ''
|
||||||
|
this.queryDepartUserTreeList()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
onSelect(selectedKeys) {
|
||||||
|
this.selectedKey = selectedKeys
|
||||||
|
},
|
||||||
|
onExpand(selectedKeys, val) {
|
||||||
|
if (this.searchModel == '' || !this.searchModel) {
|
||||||
|
if (val.expanded) {
|
||||||
|
if (this.departId == val.node.value) {
|
||||||
|
} else {
|
||||||
|
this.departId = val.node.value
|
||||||
|
this.queryDepartUserTreeList()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handleCancel() {
|
||||||
|
this.visible = false
|
||||||
|
this.visibleTree = false
|
||||||
|
},
|
||||||
|
handleSubmit() {
|
||||||
|
this.$emit('SelectedByForm',this.userIds.join(','))
|
||||||
|
},
|
||||||
|
onSearch(e) {
|
||||||
|
this.gData = []
|
||||||
|
this.departId = ''
|
||||||
|
this.visibleTree = false
|
||||||
|
if (e) {
|
||||||
|
this.getUserAndDepart()
|
||||||
|
} else {
|
||||||
|
this.queryDepartUserTreeList()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
getUserAndDepart() {
|
||||||
|
getAction('sys/user/getUserAndDepart', { name: this.searchModel }).then((res) => {
|
||||||
|
this.gData = res || []
|
||||||
|
this.visibleTree = true
|
||||||
|
})
|
||||||
|
},
|
||||||
|
queryDepartUserTreeList() {
|
||||||
|
let gData = JSON.parse(JSON.stringify(this.gData))
|
||||||
|
if (gData && gData.length > 0) {
|
||||||
|
gData = JSON.stringify(gData)
|
||||||
|
} else {
|
||||||
|
gData = ''
|
||||||
|
}
|
||||||
|
this.confirmLoading = true
|
||||||
|
postAction('sys/user/queryDepartUserTreeList', {
|
||||||
|
departId: this.departId,
|
||||||
|
json: gData
|
||||||
|
}).then((res) => {
|
||||||
|
this.confirmLoading = false
|
||||||
|
if (res.success) {
|
||||||
|
this.gData = res.result
|
||||||
|
this.defaultExpandedKeys = [this.departId]
|
||||||
|
this.visibleTree = true
|
||||||
|
} else {
|
||||||
|
this.gData = []
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
checkChange(e) {
|
||||||
|
this.userIds = e
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.box-title-text {
|
||||||
|
line-height: 1.4;
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.box-input {
|
||||||
|
display: inline-block;
|
||||||
|
height: 38px;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button-box {
|
||||||
|
margin-left: 10px;
|
||||||
|
height: 38px;
|
||||||
|
line-height: 38px;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.drawer-bootom-button {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
z-index:100;
|
||||||
|
width: 100%;
|
||||||
|
border-top: 1px solid #e8e8e8;
|
||||||
|
padding: 10px 16px;
|
||||||
|
text-align: right;
|
||||||
|
left: 0;
|
||||||
|
background: #fff;
|
||||||
|
border-radius: 0 0 2px 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.drawer-content {
|
||||||
|
height: calc(100% - 60px);
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -17,9 +17,8 @@
|
|||||||
<span class="title-text-text" :title="$t('cutoffTime')">
|
<span class="title-text-text" :title="$t('cutoffTime')">
|
||||||
{{$t('cutoffTime')}}</span>
|
{{$t('cutoffTime')}}</span>
|
||||||
</div>
|
</div>
|
||||||
<a-form-model-item class="itemModel" prop="legalTaskConfirmation">
|
<a-form-model-item class="itemModel" prop="legalTaskConfirmation" >
|
||||||
<a-date-picker class="box-input"
|
<a-date-picker class="box-input"
|
||||||
style='width: 160px'
|
|
||||||
:placeholder="$t('PleaseSelect')+$t('cutoffTime')"
|
:placeholder="$t('PleaseSelect')+$t('cutoffTime')"
|
||||||
@change="onChange" @ok="onOk"
|
@change="onChange" @ok="onOk"
|
||||||
format="YYYY-MM-DD"
|
format="YYYY-MM-DD"
|
||||||
@@ -290,21 +289,20 @@ export default {
|
|||||||
.box-title-text {
|
.box-title-text {
|
||||||
line-height: 1.4;
|
line-height: 1.4;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
width: 276px;
|
||||||
/*align-items: center;*/
|
/*align-items: center;*/
|
||||||
}
|
}
|
||||||
|
|
||||||
.title-text {
|
.title-text {
|
||||||
width: 114px;
|
width: 90px;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
font-weight: 500;
|
font-weight: bold;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
margin-right: 16px;
|
margin-right: 16px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
height: 42px;
|
|
||||||
line-height: 48px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-input {
|
.box-input {
|
||||||
@@ -325,29 +323,30 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.title-text-text {
|
.title-text-text {
|
||||||
margin-top: 9px;
|
margin-top: 11px;
|
||||||
|
display: inline-block;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.header-text {
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-left: 15px;
|
||||||
|
/*border-bottom: 1px #d9d9d9 dashed;*/
|
||||||
|
height: 30px;
|
||||||
|
margin-bottom: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
.formAdd {
|
.formAdd {
|
||||||
margin-bottom: 40px;
|
/*margin-bottom: 40px;*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.button-text {
|
||||||
.drawer-bootom-button {
|
height: 38px;
|
||||||
position: absolute;
|
width: calc(100% - 120px);
|
||||||
bottom: 0;
|
line-height: 38px;
|
||||||
width: 100%;
|
|
||||||
z-index:100;
|
|
||||||
border-top: 1px solid #e8e8e8;
|
|
||||||
padding: 10px 16px;
|
|
||||||
text-align: right;
|
|
||||||
left: 0;
|
|
||||||
background: #fff;
|
background: #fff;
|
||||||
border-radius: 0 0 2px 2px;
|
border: 1px #00B3BE solid;
|
||||||
}
|
color: #00B3BE;
|
||||||
/deep/.add-input{
|
|
||||||
min-height: 135px!important;
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<style lang='less'>
|
<style lang='less'>
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
>
|
>
|
||||||
<a-row :gutter='24'>
|
<a-row :gutter='24'>
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<div class="box-title-text">
|
<div class="box-title-text" >
|
||||||
<div class="title-text">
|
<div class="title-text">
|
||||||
<span class="Required">*</span>
|
<span class="Required">*</span>
|
||||||
<span class="title-text-text" :title="$t('cutoffTime')">
|
<span class="title-text-text" :title="$t('cutoffTime')">
|
||||||
@@ -19,7 +19,6 @@
|
|||||||
</div>
|
</div>
|
||||||
<a-form-model-item class="itemModel" prop="legalTaskConfirmation">
|
<a-form-model-item class="itemModel" prop="legalTaskConfirmation">
|
||||||
<a-date-picker class="box-input"
|
<a-date-picker class="box-input"
|
||||||
style='width: 160px'
|
|
||||||
:placeholder="$t('PleaseSelect')+$t('cutoffTime')"
|
:placeholder="$t('PleaseSelect')+$t('cutoffTime')"
|
||||||
@change="onChange" @ok="onOk"
|
@change="onChange" @ok="onOk"
|
||||||
format="YYYY-MM-DD"
|
format="YYYY-MM-DD"
|
||||||
@@ -290,20 +289,20 @@ export default {
|
|||||||
.box-title-text {
|
.box-title-text {
|
||||||
line-height: 1.4;
|
line-height: 1.4;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
width: 276px;
|
||||||
/*align-items: center;*/
|
/*align-items: center;*/
|
||||||
}
|
}
|
||||||
|
|
||||||
.title-text {
|
.title-text {
|
||||||
width: 114px;
|
width: 90px;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
font-weight: 500;
|
font-weight: bold;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
margin-right: 16px;
|
margin-right: 16px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
height: 42px;
|
|
||||||
line-height: 48px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-input {
|
.box-input {
|
||||||
@@ -324,29 +323,30 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.title-text-text {
|
.title-text-text {
|
||||||
margin-top: 9px;
|
margin-top: 11px;
|
||||||
|
display: inline-block;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.header-text {
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-left: 15px;
|
||||||
|
/*border-bottom: 1px #d9d9d9 dashed;*/
|
||||||
|
height: 30px;
|
||||||
|
margin-bottom: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
.formAdd {
|
.formAdd {
|
||||||
margin-bottom: 40px;
|
/*margin-bottom: 40px;*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.button-text {
|
||||||
.drawer-bootom-button {
|
height: 38px;
|
||||||
position: absolute;
|
width: calc(100% - 120px);
|
||||||
bottom: 0;
|
line-height: 38px;
|
||||||
width: 100%;
|
|
||||||
z-index:100;
|
|
||||||
border-top: 1px solid #e8e8e8;
|
|
||||||
padding: 10px 16px;
|
|
||||||
text-align: right;
|
|
||||||
left: 0;
|
|
||||||
background: #fff;
|
background: #fff;
|
||||||
border-radius: 0 0 2px 2px;
|
border: 1px #00B3BE solid;
|
||||||
}
|
color: #00B3BE;
|
||||||
/deep/.add-input{
|
|
||||||
min-height: 135px!important;
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<style lang='less'>
|
<style lang='less'>
|
||||||
|
|||||||
@@ -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'>
|
||||||
|
|
||||||
|
|||||||
@@ -263,7 +263,6 @@
|
|||||||
watch: {
|
watch: {
|
||||||
currentPersonRole: {
|
currentPersonRole: {
|
||||||
handler: function() {
|
handler: function() {
|
||||||
console.log(123)
|
|
||||||
this.getTableList()
|
this.getTableList()
|
||||||
},
|
},
|
||||||
immediate: true
|
immediate: true
|
||||||
|
|||||||
@@ -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)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,8 +8,17 @@
|
|||||||
<div class="title-text" :title="$t('applicableMarket')">
|
<div class="title-text" :title="$t('applicableMarket')">
|
||||||
<span>{{$t('applicableMarket')}}</span>
|
<span>{{$t('applicableMarket')}}</span>
|
||||||
</div>
|
</div>
|
||||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('applicableMarket')"
|
<a-select :placeholder="$t('PleaseSelect')+$t('applicableMarket')"
|
||||||
v-model="queryParam.applicableMarket"></a-input>
|
:disabled="false"
|
||||||
|
v-model="queryParam.applyMarket">
|
||||||
|
<a-select-option v-for="(item, key) in applyMarketList"
|
||||||
|
:key="key"
|
||||||
|
:value="item.value">
|
||||||
|
<span style="display: inline-block;width: 100%" :title=" item.title ">
|
||||||
|
{{ item.title}}
|
||||||
|
</span>
|
||||||
|
</a-select-option>
|
||||||
|
</a-select>
|
||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
|
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
|
||||||
@@ -28,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>
|
||||||
|
|
||||||
@@ -89,20 +69,40 @@
|
|||||||
return {
|
return {
|
||||||
queryParam: {},
|
queryParam: {},
|
||||||
conList: [],
|
conList: [],
|
||||||
|
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.getList()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
getApplyMarketList() {
|
||||||
|
getAction('/problemKnowledgeBase/countryCardManageReleaseEO/getApplyMarketList', { queryFlag: 'countryCard' }).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
this.applyMarketList = res.result || []
|
||||||
|
} else {
|
||||||
|
this.applyMarketList = []
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
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
|
||||||
@@ -116,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
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -134,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')
|
||||||
}
|
}
|
||||||
@@ -189,6 +197,7 @@
|
|||||||
|
|
||||||
.content-box {
|
.content-box {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.content-box-box {
|
.content-box-box {
|
||||||
@@ -207,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;
|
||||||
@@ -225,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 {
|
||||||
|
|||||||
@@ -19,8 +19,10 @@
|
|||||||
<div class="title-text" :title="$t('applicableMarket')">
|
<div class="title-text" :title="$t('applicableMarket')">
|
||||||
<span>{{$t('applicableMarket')}}</span>
|
<span>{{$t('applicableMarket')}}</span>
|
||||||
</div>
|
</div>
|
||||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('applicableMarket')"
|
<j-dict-select-tag class="box-input" v-model="queryParam.applyMarket"
|
||||||
v-model="queryParam.applicableMarket"></a-input>
|
:placeholder="$t('PleaseSelect')+$t('applicableMarket')"
|
||||||
|
:type="'select'"
|
||||||
|
:triggerChange="false" :dictCode="'region'"/>
|
||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :md="6" :sm="8">
|
<a-col :md="6" :sm="8">
|
||||||
@@ -28,8 +30,18 @@
|
|||||||
<div class="title-text" :title="$t('releaseStatus')">
|
<div class="title-text" :title="$t('releaseStatus')">
|
||||||
<span>{{$t('releaseStatus')}}</span>
|
<span>{{$t('releaseStatus')}}</span>
|
||||||
</div>
|
</div>
|
||||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('releaseStatus')"
|
<a-select class="box-input"
|
||||||
v-model="queryParam.releaseStatus"></a-input>
|
:placeholder="$t('PleaseSelect')+$t('releaseStatus')"
|
||||||
|
style="width: 100%"
|
||||||
|
v-model="queryParam.releaseStatus">
|
||||||
|
<a-select-option v-for="(item, key) in releaseStatusList"
|
||||||
|
:key="key"
|
||||||
|
:value="item.value">
|
||||||
|
<span style="display: inline-block;width: 100%" :title=" item.name ">
|
||||||
|
{{ item.name}}
|
||||||
|
</span>
|
||||||
|
</a-select-option>
|
||||||
|
</a-select>
|
||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
|
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
|
||||||
@@ -74,8 +86,10 @@
|
|||||||
{{!record.releaseStatus || record.releaseStatus == 'Draft' ? $t('release') :$t('withdraw')}}
|
{{!record.releaseStatus || record.releaseStatus == 'Draft' ? $t('release') :$t('withdraw')}}
|
||||||
</a>
|
</a>
|
||||||
<a class="text-operation"
|
<a class="text-operation"
|
||||||
|
v-if="record.createBy == userInfoQuery.username && record.releaseStatus == 'Draft'"
|
||||||
@click="edit(record)">{{$t('edit')}}</a>
|
@click="edit(record)">{{$t('edit')}}</a>
|
||||||
<a class="text-operation"
|
<a class="text-operation"
|
||||||
|
v-if="record.createBy == userInfoQuery.username && record.releaseStatus == 'Draft'"
|
||||||
@click="deleteData(record)">{{$t('delete')}}</a>
|
@click="deleteData(record)">{{$t('delete')}}</a>
|
||||||
</span>
|
</span>
|
||||||
</a-table>
|
</a-table>
|
||||||
@@ -96,7 +110,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<countryCardReleaseModel ref="countryCardReleaseModelRef"/>
|
<countryCardReleaseModel ref="countryCardReleaseModelRef"/>
|
||||||
<countryCardReleaseAdd ref="countryCardReleaseAddRef"/>
|
<countryCardReleaseAdd ref="countryCardReleaseAddRef" @countryCardReleaseAddForm="countryCardReleaseAddForm"/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -104,6 +118,7 @@
|
|||||||
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
|
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
|
||||||
import countryCardReleaseModel from './countryCardReleaseModel'
|
import countryCardReleaseModel from './countryCardReleaseModel'
|
||||||
import countryCardReleaseAdd from './countryCardReleaseAdd'
|
import countryCardReleaseAdd from './countryCardReleaseAdd'
|
||||||
|
import { mapGetters } from 'vuex'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'countryCardRelease',
|
name: 'countryCardRelease',
|
||||||
@@ -114,8 +129,19 @@
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
queryParam: {},
|
queryParam: {},
|
||||||
|
releaseStatusList: [
|
||||||
|
{
|
||||||
|
value: 'Draft',
|
||||||
|
name: this.$t('draft')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'Have released',
|
||||||
|
name: this.$t('HaveReleased')
|
||||||
|
}
|
||||||
|
],
|
||||||
loading: false,
|
loading: false,
|
||||||
dataSource: [{}],
|
dataSource: [],
|
||||||
|
selectedRowKeysRecord: [],
|
||||||
total: 0,
|
total: 0,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
@@ -123,18 +149,19 @@
|
|||||||
list: '/problemKnowledgeBase/countryCardManageReleaseEO/page',
|
list: '/problemKnowledgeBase/countryCardManageReleaseEO/page',
|
||||||
deleteBatch: '/problemKnowledgeBase/countryCardManageReleaseEO/deleteBatch'
|
deleteBatch: '/problemKnowledgeBase/countryCardManageReleaseEO/deleteBatch'
|
||||||
},
|
},
|
||||||
|
userInfoQuery: {},
|
||||||
selectedRowKeys: [],
|
selectedRowKeys: [],
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
title: this.$t('applicableMarket'),
|
title: this.$t('applicableMarket'),
|
||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'applicableMarket',
|
dataIndex: 'applyMarket_dictText',
|
||||||
ellipsis: true
|
ellipsis: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('releaseStatus'),
|
title: this.$t('releaseStatus'),
|
||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'releaseStatus',
|
dataIndex: 'releaseStatus_dictText',
|
||||||
ellipsis: true
|
ellipsis: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -150,8 +177,10 @@
|
|||||||
mounted() {
|
mounted() {
|
||||||
document.title = 'Country Card-' + this.$t('managePublishing')
|
document.title = 'Country Card-' + this.$t('managePublishing')
|
||||||
this.getList()
|
this.getList()
|
||||||
|
this.userInfoQuery = this.userInfo()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
...mapGetters(['userInfo']),
|
||||||
searchQuery() {
|
searchQuery() {
|
||||||
this.pageNo = 1
|
this.pageNo = 1
|
||||||
this.getList()
|
this.getList()
|
||||||
@@ -165,11 +194,15 @@
|
|||||||
this.pageNo = page
|
this.pageNo = page
|
||||||
this.getList()
|
this.getList()
|
||||||
},
|
},
|
||||||
SizeChange(page,pageSize) {
|
SizeChange(page, pageSize) {
|
||||||
this.pageNo = 1
|
this.pageNo = 1
|
||||||
this.pageSize = pageSize
|
this.pageSize = pageSize
|
||||||
this.getList()
|
this.getList()
|
||||||
},
|
},
|
||||||
|
countryCardReleaseAddForm() {
|
||||||
|
this.pageNo = 1
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
getList() {
|
getList() {
|
||||||
let queryParam = JSON.parse(JSON.stringify(this.queryParam))
|
let queryParam = JSON.parse(JSON.stringify(this.queryParam))
|
||||||
Object.keys(queryParam).forEach(val => {
|
Object.keys(queryParam).forEach(val => {
|
||||||
@@ -193,8 +226,9 @@
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
onSelectChange(value) {
|
onSelectChange(value, record) {
|
||||||
this.selectedRowKeys = value
|
this.selectedRowKeys = value
|
||||||
|
this.selectedRowKeysRecord = record
|
||||||
},
|
},
|
||||||
newlyAddedClick() {
|
newlyAddedClick() {
|
||||||
this.$refs.countryCardReleaseAddRef.add()
|
this.$refs.countryCardReleaseAddRef.add()
|
||||||
@@ -208,24 +242,35 @@
|
|||||||
this.$confirm({
|
this.$confirm({
|
||||||
content: _this.$t('ConfirmBatchDeletion'),
|
content: _this.$t('ConfirmBatchDeletion'),
|
||||||
onOk() {
|
onOk() {
|
||||||
let idList = JSON.parse(JSON.stringify(_this.selectedRowKeys))
|
let idList = []
|
||||||
getAction(_this.url.deleteBatch, { ids: idList.join(',') }).then((res) => {
|
let selectedRowKeysRecord = JSON.parse(JSON.stringify(_this.selectedRowKeysRecord))
|
||||||
if (res.success) {
|
for (let i = 0; i < selectedRowKeysRecord.length; i++) {
|
||||||
_this.$message.success(_this.$t('OperationSuccessful'))
|
if (selectedRowKeysRecord[i].createBy == _this.userInfo().username &&
|
||||||
_this.selectedRowKeys = []
|
selectedRowKeysRecord[i].releaseStatus == 'Draft') {
|
||||||
_this.getList()
|
idList.push(selectedRowKeysRecord[i].id)
|
||||||
} else {
|
|
||||||
_this.$message.warning(res.message)
|
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
|
if (idList.length > 0) {
|
||||||
|
deleteAction(_this.url.deleteBatch, { ids: idList.join(',') }).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
_this.$message.success(_this.$t('OperationSuccessful'))
|
||||||
|
_this.selectedRowKeys = []
|
||||||
|
_this.getList()
|
||||||
|
} else {
|
||||||
|
_this.$message.warning(res.message)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
_this.$message.warning(_this.$t('doNotHavePermissionDeleteData'))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
this.$message.warning(this.$t('selectLeastOne'))
|
this.$message.warning(this.$t('selectLeastOne'))
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
edit() {
|
edit(record) {
|
||||||
this.$refs.countryCardReleaseAddRef.edit()
|
this.$refs.countryCardReleaseAddRef.edit(JSON.parse(JSON.stringify(record)))
|
||||||
},
|
},
|
||||||
subscribe(record) {
|
subscribe(record) {
|
||||||
let _this = this
|
let _this = this
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
:visible="visible"
|
:visible="visible"
|
||||||
style="height: 100%;overflow: auto;padding-bottom: 53px;">
|
style="height: 100%;overflow: auto;padding-bottom: 53px;">
|
||||||
<a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm">
|
<a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm">
|
||||||
<a-row :gutter="24">
|
<a-row :gutter="24" v-if="title == $t('newlyAdded')">
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<div class="box-title-text">
|
<div class="box-title-text">
|
||||||
<div class="title-text">
|
<div class="title-text">
|
||||||
@@ -20,6 +20,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<a-form-model-item class="itemModel" prop="applyMarket">
|
<a-form-model-item class="itemModel" prop="applyMarket">
|
||||||
<a-select :placeholder="$t('PleaseSelect')+$t('applicableMarket')"
|
<a-select :placeholder="$t('PleaseSelect')+$t('applicableMarket')"
|
||||||
|
:disabled="false"
|
||||||
v-model="formInline.applyMarket">
|
v-model="formInline.applyMarket">
|
||||||
<a-select-option v-for="(item, key) in applyMarketList"
|
<a-select-option v-for="(item, key) in applyMarketList"
|
||||||
:key="key"
|
:key="key"
|
||||||
@@ -33,6 +34,23 @@
|
|||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
|
<a-row :gutter="24" v-if="title == $t('edit')">
|
||||||
|
<a-col :span="12">
|
||||||
|
<div class="box-title-text">
|
||||||
|
<div class="title-text">
|
||||||
|
<span class="title-text-text"
|
||||||
|
:title="$t('applicableMarket')">{{$t('applicableMarket')}}</span>
|
||||||
|
</div>
|
||||||
|
<a-form-model-item class="itemModel">
|
||||||
|
<j-dict-select-tag class="box-input" v-model="formInline.applyMarket"
|
||||||
|
:disabled="true"
|
||||||
|
:placeholder="$t('PleaseSelect')+$t('applicableMarket')"
|
||||||
|
:type="'select'"
|
||||||
|
:triggerChange="false" :dictCode="'region'"/>
|
||||||
|
</a-form-model-item>
|
||||||
|
</div>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
</a-form-model>
|
</a-form-model>
|
||||||
<div style="margin-bottom: 60px">
|
<div style="margin-bottom: 60px">
|
||||||
<a-table
|
<a-table
|
||||||
@@ -43,25 +61,26 @@
|
|||||||
:loading="loading">
|
:loading="loading">
|
||||||
<span slot="content" slot-scope="text,record,index">
|
<span slot="content" slot-scope="text,record,index">
|
||||||
<a-input class="box-input"
|
<a-input class="box-input"
|
||||||
v-if="false"
|
v-if="record.lableType == 8"
|
||||||
v-model="record.problemLabel"
|
v-model="record.content"
|
||||||
:placeholder="$t('PleaseEnter')"/>
|
:placeholder="$t('PleaseEnter')"/>
|
||||||
<a-select :placeholder="$t('PleaseSelect')"
|
<a-select :placeholder="$t('PleaseSelect')"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
v-if="false"
|
v-else-if="record.lableType == 3"
|
||||||
v-model="record.projectNameId">
|
v-model="record.content">
|
||||||
<a-select-option v-for="(item, key) in record.projectNameList"
|
<a-select-option v-for="(item, key) in record.countryCardTempItemEOList"
|
||||||
:key="key"
|
:key="key"
|
||||||
:value="item.id">
|
:value="item.id">
|
||||||
<span style="display: inline-block;width: 100%" :title=" item.projectName ">
|
<span style="display: inline-block;width: 100%" :title=" item.itemText ">
|
||||||
{{ item.projectName}}
|
{{ item.itemText}}
|
||||||
</span>
|
</span>
|
||||||
</a-select-option>
|
</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
<a-button type="primary" class="button-text"
|
<a-button type="primary" class="button-text"
|
||||||
@click="clickButtonToUpload('verifyDeliverableTemplate',index)">
|
v-else-if="record.lableType == 7"
|
||||||
{{ (record.verifyDeliverableTemplate === 'null' || record.verifyDeliverableTemplate === '' ||
|
@click="clickButtonToUpload('content',index)">
|
||||||
record.verifyDeliverableTemplate == null) ? $t('clickUpload') : $t('viewUploadedFiles')
|
{{ (record.content === 'null' || record.content === '' ||
|
||||||
|
record.content == null) ? $t('clickUpload') : $t('viewUploadedFiles')
|
||||||
}}
|
}}
|
||||||
</a-button>
|
</a-button>
|
||||||
</span>
|
</span>
|
||||||
@@ -89,8 +108,10 @@
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
url: {
|
url: {
|
||||||
list: '',
|
list: '/problemKnowledgeBase/countryCardTempEO/list',
|
||||||
deleteOne: ''
|
deleteOne: '',
|
||||||
|
add: '/problemKnowledgeBase/countryCardManageReleaseEO/add',
|
||||||
|
edit: '/problemKnowledgeBase/countryCardManageReleaseDetailEO/editBatch'
|
||||||
},
|
},
|
||||||
title: '',
|
title: '',
|
||||||
formInline: {},
|
formInline: {},
|
||||||
@@ -98,7 +119,7 @@
|
|||||||
applyMarket: [
|
applyMarket: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: this.$t('LabelType') + this.$t('cannotEmpty'),
|
message: this.$t('applicableMarket') + this.$t('cannotEmpty'),
|
||||||
trigger: 'change'
|
trigger: 'change'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -113,21 +134,23 @@
|
|||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
title: this.$t('LabelName'),
|
title: this.$t('LabelName'),
|
||||||
dataIndex: 'LabelName',
|
dataIndex: 'lableName',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
ellipsis: true
|
ellipsis: true,
|
||||||
|
width: 220
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('describe'),
|
title: this.$t('describe'),
|
||||||
dataIndex: 'describe',
|
dataIndex: 'description',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
|
width: 260,
|
||||||
ellipsis: true
|
ellipsis: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('content'),
|
title: this.$t('content'),
|
||||||
align: 'center',
|
align: 'center',
|
||||||
fixed: 'right',
|
fixed: 'right',
|
||||||
width: 180,
|
width: 260,
|
||||||
scopedSlots: { customRender: 'content' }
|
scopedSlots: { customRender: 'content' }
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -138,13 +161,23 @@
|
|||||||
methods: {
|
methods: {
|
||||||
add() {
|
add() {
|
||||||
this.visible = true
|
this.visible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.formInline = {}
|
||||||
|
this.$refs.ruleForm.clearValidate()
|
||||||
|
})
|
||||||
this.title = this.$t('newlyAdded')
|
this.title = this.$t('newlyAdded')
|
||||||
|
this.replacePage()
|
||||||
this.getApplyMarketList()
|
this.getApplyMarketList()
|
||||||
},
|
},
|
||||||
edit() {
|
edit(row) {
|
||||||
this.visible = true
|
this.visible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.formInline = row
|
||||||
|
this.formInline = { ...this.formInline }
|
||||||
|
this.$refs.ruleForm.clearValidate()
|
||||||
|
})
|
||||||
this.title = this.$t('edit')
|
this.title = this.$t('edit')
|
||||||
this.getApplyMarketList()
|
this.editReplacePage(row)
|
||||||
},
|
},
|
||||||
getApplyMarketList() {
|
getApplyMarketList() {
|
||||||
getAction('/problemKnowledgeBase/countryCardManageReleaseEO/getApplyMarketList', {}).then((res) => {
|
getAction('/problemKnowledgeBase/countryCardManageReleaseEO/getApplyMarketList', {}).then((res) => {
|
||||||
@@ -186,13 +219,63 @@
|
|||||||
handleSubmit() {
|
handleSubmit() {
|
||||||
this.$refs.ruleForm.validate(valid => {
|
this.$refs.ruleForm.validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
|
let url = ''
|
||||||
|
let content = []
|
||||||
|
if (this.title == this.$t('newlyAdded')) {
|
||||||
|
url = this.url.add
|
||||||
|
this.dataList.forEach(res => {
|
||||||
|
content.push({
|
||||||
|
countryCardTempId: res.id,
|
||||||
|
description: res.description,
|
||||||
|
content: res.content
|
||||||
|
})
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
url = this.url.edit
|
||||||
|
this.dataList.forEach(res => {
|
||||||
|
content.push({
|
||||||
|
countryCardTempId: res.countryCardTempId,
|
||||||
|
description: res.description,
|
||||||
|
content: res.content,
|
||||||
|
id: res.id
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
this.confirmLoading = true
|
||||||
|
|
||||||
|
let query = {
|
||||||
|
countryCardManageReleaseDetailEOList: content,
|
||||||
|
applyMarket: this.formInline.applyMarket
|
||||||
|
}
|
||||||
|
postAction(url, query).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
this.$message.success(this.$t('OperationSuccessful'))
|
||||||
|
this.visible = false
|
||||||
|
this.confirmLoading = false
|
||||||
|
this.$emit('countryCardReleaseAddForm')
|
||||||
|
} else {
|
||||||
|
this.confirmLoading = false
|
||||||
|
this.$message.warning(this.$t('operationFailed'))
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
replacePage() {
|
replacePage() {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
postAction(this.url.list, {}).then((res) => {
|
getAction(this.url.list, {}).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
this.dataList = res.result || []
|
||||||
|
this.loading = false
|
||||||
|
} else {
|
||||||
|
this.dataList = []
|
||||||
|
this.loading = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
editReplacePage(row) {
|
||||||
|
this.loading = true
|
||||||
|
getAction('/problemKnowledgeBase/countryCardManageReleaseDetailEO/list', { countryCardManageReleaseId: row.id }).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
this.dataList = res.result || []
|
this.dataList = res.result || []
|
||||||
this.loading = false
|
this.loading = false
|
||||||
|
|||||||
@@ -124,7 +124,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getAction, postAction, downloadFile,deleteAction } from '@/api/manage'
|
import { getAction, postAction, downloadFile, deleteAction } from '@/api/manage'
|
||||||
import optionMaintenance from './optionMaintenance'
|
import optionMaintenance from './optionMaintenance'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@@ -289,7 +289,7 @@
|
|||||||
},
|
},
|
||||||
handleCancel() {
|
handleCancel() {
|
||||||
this.visible = false
|
this.visible = false
|
||||||
if (this.formInline.lableType == 3) {
|
if (this.formInline.lableType == 3 && !this.formInline.id) {
|
||||||
deleteAction(this.url.deleteOne, { countryCardTempId: this.dropDownOptionsId }).then((res) => {
|
deleteAction(this.url.deleteOne, { countryCardTempId: this.dropDownOptionsId }).then((res) => {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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,155 @@
|
|||||||
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
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
|
console.log(this.contentList)
|
||||||
|
},
|
||||||
|
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 +342,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 +375,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
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,7 +42,6 @@
|
|||||||
</div>
|
</div>
|
||||||
<a-form-model-item class="itemModel" prop="studioEngineerName">
|
<a-form-model-item class="itemModel" prop="studioEngineerName">
|
||||||
<PersonnelSelection :query="{db_field_name:'studioEngineer',db_field_txt:$t('authorizedUser')}"
|
<PersonnelSelection :query="{db_field_name:'studioEngineer',db_field_txt:$t('authorizedUser')}"
|
||||||
:isSingleChoice="true"
|
|
||||||
:personneQuery="formInline"
|
:personneQuery="formInline"
|
||||||
@change="PersonnelSelectionChange"
|
@change="PersonnelSelectionChange"
|
||||||
v-model="formInline.studioEngineerName"/>
|
v-model="formInline.studioEngineerName"/>
|
||||||
@@ -293,12 +292,22 @@
|
|||||||
getAction('/problemKnowledgeBase/problemKnowledgeBaseEO/queryById', query).then((res) => {
|
getAction('/problemKnowledgeBase/problemKnowledgeBaseEO/queryById', query).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
this.formInline = res.result || {}
|
this.formInline = res.result || {}
|
||||||
this.formInline = { ...this.formInline }
|
|
||||||
if (this.formInline.showPermissions == 'Privacy') {
|
if (this.formInline.showPermissions == 'Privacy') {
|
||||||
this.isDisplay = true
|
this.isDisplay = true
|
||||||
|
if (this.formInline.permissionUserList && this.formInline.permissionUserList.length > 0) {
|
||||||
|
let userId = []
|
||||||
|
let userName = []
|
||||||
|
this.formInline.permissionUserList.forEach(val => {
|
||||||
|
userId.push(val.userId)
|
||||||
|
userName.push(val.userName)
|
||||||
|
})
|
||||||
|
this.formInline.studioEngineerName = userName.join(',')
|
||||||
|
this.formInline.studioEngineer = userId.join(',')
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
this.isDisplay = false
|
this.isDisplay = false
|
||||||
}
|
}
|
||||||
|
this.formInline = { ...this.formInline }
|
||||||
} else {
|
} else {
|
||||||
this.formInline = {}
|
this.formInline = {}
|
||||||
}
|
}
|
||||||
@@ -390,10 +399,13 @@
|
|||||||
this.loading = true
|
this.loading = true
|
||||||
this.confirmLoading = true
|
this.confirmLoading = true
|
||||||
let url = ''
|
let url = ''
|
||||||
|
let Action
|
||||||
if (this.formInline.id) {
|
if (this.formInline.id) {
|
||||||
url = this.url.edit
|
url = this.url.edit
|
||||||
|
Action = putAction
|
||||||
} else {
|
} else {
|
||||||
url = this.url.add
|
url = this.url.add
|
||||||
|
Action = postAction
|
||||||
}
|
}
|
||||||
formInline.permissionUserList = []
|
formInline.permissionUserList = []
|
||||||
if (formInline.showPermissions == 'Privacy') {
|
if (formInline.showPermissions == 'Privacy') {
|
||||||
@@ -404,12 +416,14 @@
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
postAction(url, formInline).then((res) => {
|
Action(url, formInline).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
this.$message.success(this.$t('OperationSuccessful'))
|
this.$message.success(this.$t('OperationSuccessful'))
|
||||||
this.loading = false
|
this.loading = false
|
||||||
if (this.$route.query.id) {
|
if (this.$route.query.id) {
|
||||||
|
this.$router.push({
|
||||||
|
path: '/problemKnowledgeBaseRelease'
|
||||||
|
})
|
||||||
} else {
|
} else {
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path: '/problemknowledgeBase'
|
path: '/problemknowledgeBase'
|
||||||
|
|||||||
@@ -6,20 +6,22 @@
|
|||||||
<span>{{$t('searchContent')}}</span>
|
<span>{{$t('searchContent')}}</span>
|
||||||
</div>
|
</div>
|
||||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('searchContent')"
|
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('searchContent')"
|
||||||
v-model="searchContent"></a-input>
|
v-model="searchStr"></a-input>
|
||||||
<a-button class="box-button" type="primary" @click="onSearch">{{$t('query')}}</a-button>
|
<a-button class="box-button" type="primary" @click="onSearch">{{$t('query')}}</a-button>
|
||||||
<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 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'">
|
||||||
@@ -36,7 +38,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="conList.length > 0" style="margin-top: 58px;height: calc(100vh - 260px);overflow:auto;">
|
<div v-if="conList.length > 0" style="margin-top: 16px;height: calc(100vh - 260px);overflow:auto;">
|
||||||
<li v-for="(item,index) in conList" :key="item.id">
|
<li v-for="(item,index) in conList" :key="item.id">
|
||||||
<div style="margin-bottom: 10px;position: relative">
|
<div style="margin-bottom: 10px;position: relative">
|
||||||
<!-- <a-checkbox :value="item.id" class="checkbox-left"></a-checkbox>-->
|
<!-- <a-checkbox :value="item.id" class="checkbox-left"></a-checkbox>-->
|
||||||
@@ -50,19 +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>
|
||||||
<a-tooltip placement="topLeft" :mouseEnterDelay="0.5">
|
<div class="text-content">
|
||||||
<template slot="title">
|
{{item.content}}
|
||||||
<span v-html="item.content"></span>
|
</div>
|
||||||
</template>
|
|
||||||
<div class="text-content" v-html="item.content">
|
|
||||||
</div>
|
|
||||||
</a-tooltip>
|
|
||||||
</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
|
||||||
@@ -76,6 +74,7 @@
|
|||||||
@showSizeChange="SizeChange"
|
@showSizeChange="SizeChange"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
<JLoading :loading="loading">{{$t('dataLoading')}}</JLoading>
|
||||||
<classificationMaintenanceModel ref="classificationMaintenanceModelRef"/>
|
<classificationMaintenanceModel ref="classificationMaintenanceModelRef"/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -94,8 +93,12 @@
|
|||||||
searchContent: '',
|
searchContent: '',
|
||||||
checkboxText: [],
|
checkboxText: [],
|
||||||
conList: [],
|
conList: [],
|
||||||
|
searchStr: '',
|
||||||
total: 0,
|
total: 0,
|
||||||
|
selectedTags: [],
|
||||||
|
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: {
|
||||||
@@ -105,14 +108,31 @@
|
|||||||
},
|
},
|
||||||
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
|
||||||
|
},
|
||||||
ResetSearch() {
|
ResetSearch() {
|
||||||
this.searchContent = ''
|
this.searchStr = ''
|
||||||
this.pageNo = 1
|
this.pageNo = 1
|
||||||
this.getList()
|
this.getList()
|
||||||
},
|
},
|
||||||
@@ -130,11 +150,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
|
||||||
@@ -148,14 +163,18 @@
|
|||||||
getList() {
|
getList() {
|
||||||
let query = {
|
let query = {
|
||||||
pageNo: this.pageNo,
|
pageNo: this.pageNo,
|
||||||
pageSize: this.pageSize
|
pageSize: this.pageSize,
|
||||||
|
searchStr: this.searchStr
|
||||||
}
|
}
|
||||||
|
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
|
||||||
this.total = res.result.total
|
this.total = res.result.total
|
||||||
|
this.loading = false
|
||||||
} else {
|
} else {
|
||||||
this.conList = []
|
this.conList = []
|
||||||
|
this.loading = false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -215,8 +234,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.box-content-left {
|
.box-content-left {
|
||||||
width: 60%;
|
width: 100%;
|
||||||
float: left;
|
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
color: #040B29;
|
color: #040B29;
|
||||||
@@ -224,8 +242,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.box-content-right {
|
.box-content-right {
|
||||||
width: 40%;
|
width: 100%;
|
||||||
float: left;
|
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
@@ -309,6 +326,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,4 +340,19 @@
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
line-height: 10;
|
line-height: 10;
|
||||||
}
|
}
|
||||||
|
</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>
|
</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')}}
|
||||||
@@ -11,6 +11,17 @@
|
|||||||
</div>
|
</div>
|
||||||
<div style="padding-top: 68px;background: #fff">
|
<div style="padding-top: 68px;background: #fff">
|
||||||
<div class="detail-content" style="padding: 30px">
|
<div class="detail-content" style="padding: 30px">
|
||||||
|
<div class="search-detail-wrap">
|
||||||
|
<div class="box-title-text">
|
||||||
|
<div class="title-text" :title="$t('searchContent')">
|
||||||
|
<span>{{$t('searchContent')}}</span>
|
||||||
|
</div>
|
||||||
|
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('searchContent')"
|
||||||
|
v-model="searchStr"></a-input>
|
||||||
|
<a-button class="box-button" type="primary" @click="onSearch">{{$t('query')}}</a-button>
|
||||||
|
<a-button class="box-button" style="margin-left: 8px" @click="ResetSearch">{{$t('reset')}}</a-button>
|
||||||
|
</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 - 180px);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">
|
||||||
@@ -25,23 +36,18 @@
|
|||||||
<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>
|
||||||
<a-tooltip placement="topLeft" :mouseEnterDelay="0.5">
|
<div class="text-content" v-html="item.content">
|
||||||
<template slot="title">
|
</div>
|
||||||
<span v-html="item.content"></span>
|
<div class="text-text-right-text">
|
||||||
</template>
|
<a style="margin-right: 10px" @click="edit(item)">{{$t('edit')}}</a>
|
||||||
<div class="text-content" v-html="item.content">
|
<a @click="deleteData(item)">{{$t('delete')}}</a>
|
||||||
</div>
|
</div>
|
||||||
</a-tooltip>
|
|
||||||
</div>
|
|
||||||
<div class="text-text-right-text">
|
|
||||||
<a style="margin-right: 10px" @click="edit(item)">{{$t('edit')}}</a>
|
|
||||||
<a @click="deleteData(item)">{{$t('delete')}}</a>
|
|
||||||
</div>
|
</div>
|
||||||
</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
|
||||||
@@ -57,12 +63,14 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<JLoading :loading="loading">{{$t('dataLoading')}}</JLoading>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getAction, postAction, putAction } from '@/api/manage'
|
import { getAction, postAction, putAction, deleteAction } from '@/api/manage'
|
||||||
|
import { mapGetters } from 'vuex'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'problemKnowledgeBaseRelease',
|
name: 'problemKnowledgeBaseRelease',
|
||||||
@@ -72,11 +80,13 @@
|
|||||||
conList: [],
|
conList: [],
|
||||||
total: 0,
|
total: 0,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
|
searchStr: '',
|
||||||
|
loading: false,
|
||||||
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
|
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
|
||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
url: {
|
url: {
|
||||||
getInfoList: 'search/document/getFullTextInfoList',
|
getInfoList: '/problemKnowledgeBase/problemKnowledgeBaseEO/page',
|
||||||
deleteBatch: ''
|
deleteBatch: '/problemKnowledgeBase/problemKnowledgeBaseEO/deleteBatch'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -84,6 +94,7 @@
|
|||||||
this.getList()
|
this.getList()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
...mapGetters(['userInfo']),
|
||||||
pageOnChange(page, pageSize) {
|
pageOnChange(page, pageSize) {
|
||||||
this.pageNo = page
|
this.pageNo = page
|
||||||
this.getList()
|
this.getList()
|
||||||
@@ -93,20 +104,39 @@
|
|||||||
this.pageSize = pageSize
|
this.pageSize = pageSize
|
||||||
this.getList()
|
this.getList()
|
||||||
},
|
},
|
||||||
|
onSearch() {
|
||||||
|
this.pageNo = 1
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
|
ResetSearch() {
|
||||||
|
this.searchStr = ''
|
||||||
|
this.pageNo = 1
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
getList() {
|
getList() {
|
||||||
let query = {
|
let query = {
|
||||||
pageNo: this.pageNo,
|
pageNo: this.pageNo,
|
||||||
pageSize: this.pageSize
|
pageSize: this.pageSize,
|
||||||
|
createBy: this.userInfo().username,
|
||||||
|
searchStr: this.searchStr
|
||||||
}
|
}
|
||||||
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
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
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: '/docManage/library/detail',
|
||||||
@@ -131,7 +161,7 @@
|
|||||||
this.$confirm({
|
this.$confirm({
|
||||||
content: _this.$t('ConfirmDelete'),
|
content: _this.$t('ConfirmDelete'),
|
||||||
onOk() {
|
onOk() {
|
||||||
getAction(_this.url.deleteBatch, { ids: val.id }).then((res) => {
|
deleteAction(_this.url.deleteBatch, { ids: val.id }).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
_this.$message.success(_this.$t('OperationSuccessful'))
|
_this.$message.success(_this.$t('OperationSuccessful'))
|
||||||
_this.getList()
|
_this.getList()
|
||||||
@@ -291,4 +321,45 @@
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
line-height: 10;
|
line-height: 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.search-detail-wrap {
|
||||||
|
width: 100%;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.box-title-text {
|
||||||
|
line-height: 1.4;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
text-align: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title-text {
|
||||||
|
width: 110px;
|
||||||
|
color: #000F16;
|
||||||
|
display: inline-block;
|
||||||
|
font-weight: 500;
|
||||||
|
font-size: 14px;
|
||||||
|
margin-right: 16px;
|
||||||
|
margin-top: 3px;
|
||||||
|
text-align: right;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
}
|
||||||
|
|
||||||
|
.box-input {
|
||||||
|
/*min-width: 200px;*/
|
||||||
|
display: inline-block;
|
||||||
|
width: 50%;
|
||||||
|
height: 38px;
|
||||||
|
margin-top: 2px;
|
||||||
|
margin-right: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.box-button {
|
||||||
|
height: 38px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
@@ -8,6 +8,12 @@
|
|||||||
</span>
|
</span>
|
||||||
{{$t('applicableInstructionsMarketList')}}
|
{{$t('applicableInstructionsMarketList')}}
|
||||||
</div>
|
</div>
|
||||||
|
<div class="doc-detail-right">
|
||||||
|
<div @click="forwardClick" class="operator-text-text" :title="$t('forward')">
|
||||||
|
<a-icon type="reload"/>
|
||||||
|
{{$t('forward')}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</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">
|
||||||
@@ -77,18 +83,21 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<viewFileModel ref="viewFileModelRef"/>
|
<viewFileModel ref="viewFileModelRef"/>
|
||||||
|
<SelectedBy ref="SelectedByRef" :title="$t('forward')" @SelectedByForm="SelectedByForm"></SelectedBy>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import viewFileModel from '@/components/viewFileModel/index'
|
import viewFileModel from '@/components/viewFileModel/index'
|
||||||
|
import SelectedBy from '@/components/SelectedBy/index'
|
||||||
import { getAction, postAction, downloadFile, putAction } from '@/api/manage'
|
import { getAction, postAction, downloadFile, putAction } from '@/api/manage'
|
||||||
import { mapGetters } from 'vuex'
|
import { mapGetters } from 'vuex'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'problemKnowledgeBaseView',
|
name: 'problemKnowledgeBaseView',
|
||||||
components: {
|
components: {
|
||||||
viewFileModel
|
viewFileModel,
|
||||||
|
SelectedBy
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@@ -140,6 +149,9 @@
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
...mapGetters(['userInfo']),
|
...mapGetters(['userInfo']),
|
||||||
|
SelectedByForm() {
|
||||||
|
|
||||||
|
},
|
||||||
queryById() {
|
queryById() {
|
||||||
let query = {
|
let query = {
|
||||||
id: this.$route.query.id
|
id: this.$route.query.id
|
||||||
@@ -251,6 +263,9 @@
|
|||||||
this.loading = false
|
this.loading = false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
forwardClick() {
|
||||||
|
this.$refs.SelectedByRef.getPush()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -454,4 +469,28 @@
|
|||||||
.header-btn {
|
.header-btn {
|
||||||
height: 38px;
|
height: 38px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.doc-detail-right {
|
||||||
|
width: 800px;
|
||||||
|
line-height: 68px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: end;
|
||||||
|
padding-right: 30px;
|
||||||
|
|
||||||
|
.doc-detail-btn {
|
||||||
|
margin-right: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.operator-text-text {
|
||||||
|
cursor: pointer;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #040B29;
|
||||||
|
display: inline-block;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
</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"
|
||||||
|
|||||||
@@ -104,7 +104,7 @@
|
|||||||
{
|
{
|
||||||
title: this.$t('operation'),
|
title: this.$t('operation'),
|
||||||
align: 'center',
|
align: 'center',
|
||||||
width: 100,
|
width: 120,
|
||||||
scopedSlots: { customRender: 'operation' }
|
scopedSlots: { customRender: 'operation' }
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -45,7 +45,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="title-text-content"
|
<div class="title-text-content"
|
||||||
:class="{'title-text-content-one':!isTrue}">
|
:class="{'title-text-content-one':!isTrue}">
|
||||||
{{selectedRowKeysRecord[0] ? selectedRowKeysRecord[0].serialNumber :''}}
|
{{selectedRowKeysRecord[0] ? selectedRowKeysRecord[0].serialNumber+' - '+selectedRowKeysRecord[0].title:''}}
|
||||||
</div>
|
</div>
|
||||||
<div class="title-text-right" v-if="isTrue">
|
<div class="title-text-right" v-if="isTrue">
|
||||||
<span :title="$t('standardDecompositionDocument')" @click="standardDecompositionDocumentClick">
|
<span :title="$t('standardDecompositionDocument')" @click="standardDecompositionDocumentClick">
|
||||||
@@ -124,7 +124,7 @@
|
|||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<div class="box-title-text">
|
<div class="box-title-text">
|
||||||
<div class="title-text">
|
<div class="title-text">
|
||||||
<!-- <span class="Required">*</span>-->
|
<!-- <span class="Required">*</span>-->
|
||||||
<span class="title-text-text" :title="$t('evaluationMethod')">{{$t('evaluationMethod')}}</span>
|
<span class="title-text-text" :title="$t('evaluationMethod')">{{$t('evaluationMethod')}}</span>
|
||||||
</div>
|
</div>
|
||||||
<a-form-model-item class="itemModel" prop="gatherResult">
|
<a-form-model-item class="itemModel" prop="gatherResult">
|
||||||
@@ -240,20 +240,20 @@
|
|||||||
trigger: 'change'
|
trigger: 'change'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
processBackground:[
|
processBackground: [
|
||||||
{
|
{
|
||||||
max: 300,
|
max: 300,
|
||||||
message: this.$t('processBackground') + this.$t('cannotExceed') + 300 + this.$t('Characters'),
|
message: this.$t('processBackground') + this.$t('cannotExceed') + 300 + this.$t('Characters'),
|
||||||
trigger: 'blur'
|
trigger: 'blur'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
remark:[
|
remark: [
|
||||||
{
|
{
|
||||||
max: 300,
|
max: 300,
|
||||||
message: this.$t('remarks') + this.$t('cannotExceed') + 300 + this.$t('Characters'),
|
message: this.$t('remarks') + this.$t('cannotExceed') + 300 + this.$t('Characters'),
|
||||||
trigger: 'blur'
|
trigger: 'blur'
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
},
|
},
|
||||||
searchParmes: {},
|
searchParmes: {},
|
||||||
selectedRowKeysRecord: [],
|
selectedRowKeysRecord: [],
|
||||||
@@ -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%'}"
|
: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,20 +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
|
<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" v-has="'externalReports:folder'">{{$t('Addingfolder')}}
|
<a-menu-item key="4" @click="orgAdds" v-has="'externalReports:folder'" v-if="deleteNode">{{$t('Addingsubfolders')}}</a-menu-item>
|
||||||
</a-menu-item>
|
<a-menu-item key="2" @click="orgEdit" v-has="'externalReports:folder'">{{$t('Editfolder')}}</a-menu-item>
|
||||||
<a-menu-item key="4" @click="orgAdds" v-if="deleteNode"
|
<a-menu-item key="3" @click="orgDelete" v-has="'externalReports:folder'">{{$t('Deletefolders')}}</a-menu-item>
|
||||||
v-has="'externalReports:folder'">{{$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="3" @click="orgDelete"
|
|
||||||
v-has="'externalReports:folder'">{{$t('Deletefolders')}}
|
|
||||||
</a-menu-item>
|
|
||||||
|
|
||||||
</a-menu>
|
</a-menu>
|
||||||
</template>
|
</template>
|
||||||
@@ -72,7 +64,7 @@
|
|||||||
<div class="title-text" :title="$t('fileName')">
|
<div class="title-text" :title="$t('fileName')">
|
||||||
<span>{{ $t('fileName') }}</span>
|
<span>{{ $t('fileName') }}</span>
|
||||||
</div>
|
</div>
|
||||||
<a-input class="box-input" style='width: 264px' :placeholder="$t('PleaseEnter')+$t('fileName')"
|
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('fileName')"
|
||||||
v-model="queryParams.fileName"></a-input>
|
v-model="queryParams.fileName"></a-input>
|
||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -81,7 +73,7 @@
|
|||||||
<div class="title-text" :title="$t('uploadedBy')">
|
<div class="title-text" :title="$t('uploadedBy')">
|
||||||
<span>{{$t('uploadedBy')}}</span>
|
<span>{{$t('uploadedBy')}}</span>
|
||||||
</div>
|
</div>
|
||||||
<a-input class="box-input" style='width: 264px' :placeholder="$t('PleaseEnter')+$t('uploadedBy')"
|
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('uploadedBy')"
|
||||||
v-model="queryParams.createBy"></a-input>
|
v-model="queryParams.createBy"></a-input>
|
||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -93,7 +85,6 @@
|
|||||||
<!-- :placeholder="$t('PleaseSelect')+$t('uploadTime')"-->
|
<!-- :placeholder="$t('PleaseSelect')+$t('uploadTime')"-->
|
||||||
<a-range-picker
|
<a-range-picker
|
||||||
style='width: 264px'
|
style='width: 264px'
|
||||||
|
|
||||||
@change="onChange"
|
@change="onChange"
|
||||||
format="YYYY-MM-DD"
|
format="YYYY-MM-DD"
|
||||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||||
@@ -127,21 +118,26 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
|
<!-- :scroll="{x: 10,y:'calc(100vh - 130px)'}"-->
|
||||||
|
|
||||||
<a-table
|
<a-table
|
||||||
ref="table"
|
ref="table"
|
||||||
size="middle"
|
size="middle"
|
||||||
:loading="loading"
|
:loading="loading"
|
||||||
:pagination="false"
|
:pagination="false"
|
||||||
:scroll="{x: '100%',y:'calc(100vh - 130px)'}"
|
|
||||||
rowKey="id"
|
rowKey="id"
|
||||||
|
: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"
|
||||||
>
|
>
|
||||||
<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 }}
|
||||||
</a>
|
|
||||||
</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>
|
||||||
@@ -193,8 +189,8 @@
|
|||||||
<span class="title-text-text"
|
<span class="title-text-text"
|
||||||
:title="$t('Foldername')">{{$t('Foldername')}}</span>
|
:title="$t('Foldername')">{{$t('Foldername')}}</span>
|
||||||
</div>
|
</div>
|
||||||
<a-form-model-item prop="folderName">
|
<a-form-model-item prop="folderName" style='width: 72%'>
|
||||||
<a-input class="box-input add-input" style='width: 239%' v-model.trim="form.folderName" :placeholder="$t('PleaseEnter')+$t('Foldername')"/>
|
<a-input v-model="form.folderName" :min="1" :max="100" style='width: 130%' class="box-input add-input" :placeholder="$t('PleaseEnter')+$t('Foldername')" />
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -325,7 +321,7 @@ export default {
|
|||||||
rules: {
|
rules: {
|
||||||
folderName: [
|
folderName: [
|
||||||
{ required: true, message: this.$t('PleaseEnter') + this.$t('Foldername'), trigger: 'blur' },
|
{ required: true, message: this.$t('PleaseEnter') + this.$t('Foldername'), trigger: 'blur' },
|
||||||
{ min: 1, max: 50, message: this.$t('cantExeed') + '50' + this.$t('characters'), trigger: 'blur' }
|
{ min: 1, max: 100, message: this.$t('cantExeed') + '100' + this.$t('characters'), trigger: 'blur' }
|
||||||
],
|
],
|
||||||
// authManageIdsName: [
|
// authManageIdsName: [
|
||||||
// { required: true, message: this.$t('PleaseSelect') + this.$t('Administrativeprivileges'), trigger: 'change' },
|
// { required: true, message: this.$t('PleaseSelect') + this.$t('Administrativeprivileges'), trigger: 'change' },
|
||||||
@@ -360,17 +356,21 @@ export default {
|
|||||||
title: this.$t('fileName'),
|
title: this.$t('fileName'),
|
||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'fileName',
|
dataIndex: 'fileName',
|
||||||
|
scopedSlots: { customRender: 'fileName' },
|
||||||
|
width: 200
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('fileDeclaration'),
|
title: this.$t('fileDeclaration'),
|
||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'fileDescription',
|
dataIndex: 'fileDescription',
|
||||||
scopedSlots: { customRender: 'projectName' }
|
scopedSlots: { customRender: 'projectName' },
|
||||||
|
width: 150
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('uploadedBy'),
|
title: this.$t('uploadedBy'),
|
||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'createBy',
|
dataIndex: 'createBy',
|
||||||
|
width: 150
|
||||||
},
|
},
|
||||||
// {
|
// {
|
||||||
// title: this.$t('category'),
|
// title: this.$t('category'),
|
||||||
@@ -640,7 +640,7 @@ export default {
|
|||||||
//树形删除
|
//树形删除
|
||||||
orgDelete() {
|
orgDelete() {
|
||||||
this.$confirm({
|
this.$confirm({
|
||||||
content: this.$t('deleteNodes'),
|
content: this.$t('deleteNode'),
|
||||||
onOk:
|
onOk:
|
||||||
async () => {
|
async () => {
|
||||||
deleteAction(`extRepo/extRepoFolder/delete`, { id: this.nodeItem.key }).then(res => {
|
deleteAction(`extRepo/extRepoFolder/delete`, { id: this.nodeItem.key }).then(res => {
|
||||||
@@ -737,7 +737,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
pageOnChange(page, pageSize) {
|
pageOnChange(page, pageSize) {
|
||||||
this.pageNo = page
|
this.queryParams.pageNo = page
|
||||||
this.loadData()
|
this.loadData()
|
||||||
},
|
},
|
||||||
addModelList() {
|
addModelList() {
|
||||||
@@ -1072,7 +1072,9 @@ export default {
|
|||||||
display: flex;
|
display: flex;
|
||||||
/*align-items: center;*/
|
/*align-items: center;*/
|
||||||
}
|
}
|
||||||
|
/deep/.ant-table td{
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
.title-text {
|
.title-text {
|
||||||
width: 114px;
|
width: 114px;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
@@ -1227,14 +1229,15 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/deep/ .ant-table-body {
|
///deep/ .ant-table-body {
|
||||||
overflow: hidden !important;
|
// overflow: hidden !important; ?????
|
||||||
}
|
//}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style lang="less">
|
<style lang="less">
|
||||||
.split-item {
|
.split-item {
|
||||||
.ant-form-item-label {
|
.ant-form-item-label {
|
||||||
|
|
||||||
min-width: 100px;
|
min-width: 100px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -293,11 +293,15 @@ export default {
|
|||||||
this.formInline[value] = id
|
this.formInline[value] = id
|
||||||
this.formInline = { ...this.formInline }
|
this.formInline = { ...this.formInline }
|
||||||
},
|
},
|
||||||
|
getDataSource(data) {
|
||||||
|
this.dataSource = data
|
||||||
|
console.log(this.dataSource)
|
||||||
|
},
|
||||||
// 保存
|
// 保存
|
||||||
handlePreservation(num) {
|
handlePreservation(num) {
|
||||||
let _this = this
|
let _this = this
|
||||||
let postDate = []
|
let postDate = []
|
||||||
let data = JSON.parse(JSON.stringify(this.dataSource))
|
let data = JSON.parse(JSON.stringify(this.$refs.CollectionTabel.dataSource))
|
||||||
let selectedRowKeysValue = []
|
let selectedRowKeysValue = []
|
||||||
data.forEach(res => {
|
data.forEach(res => {
|
||||||
selectedRowKeysValue.push(res)
|
selectedRowKeysValue.push(res)
|
||||||
@@ -306,13 +310,11 @@ export default {
|
|||||||
for (let i = 0; i < selectedRowKeysValue.length; i++) {
|
for (let i = 0; i < selectedRowKeysValue.length; i++) {
|
||||||
let postDateobj = {}
|
let postDateobj = {}
|
||||||
let itemIn = Object.keys(selectedRowKeysValue[i])
|
let itemIn = Object.keys(selectedRowKeysValue[i])
|
||||||
console.log(itemIn)
|
|
||||||
for (let j = 0; j < itemIn.length; j++) {
|
for (let j = 0; j < itemIn.length; j++) {
|
||||||
if (itemIn[j] !== 'sdt' && selectedRowKeysValue[i][itemIn[j]].list) {
|
if (itemIn[j] !== 'sdt' && selectedRowKeysValue[i][itemIn[j]].list) {
|
||||||
if (selectedRowKeysValue[i][itemIn[j]] instanceof Object && !(selectedRowKeysValue[i][itemIn[j]] instanceof Array)) {
|
if (selectedRowKeysValue[i][itemIn[j]] instanceof Object && !(selectedRowKeysValue[i][itemIn[j]] instanceof Array)) {
|
||||||
postDateobj[itemIn[j]] = selectedRowKeysValue[i][itemIn[j]]
|
postDateobj[itemIn[j]] = selectedRowKeysValue[i][itemIn[j]]
|
||||||
for (let k = 0; k < selectedRowKeysValue[i][itemIn[j]].list.length; k++) {
|
for (let k = 0; k < selectedRowKeysValue[i][itemIn[j]].list.length; k++) {
|
||||||
console.log(selectedRowKeysValue[i][itemIn[j]].list[k].dataValue)
|
|
||||||
if (selectedRowKeysValue[i][itemIn[j]].list[k].type == 'pull_more' && selectedRowKeysValue[i][itemIn[j]].list[k].dataValue !== null && selectedRowKeysValue[i][itemIn[j]].list[k].dataValue instanceof Array) {
|
if (selectedRowKeysValue[i][itemIn[j]].list[k].type == 'pull_more' && selectedRowKeysValue[i][itemIn[j]].list[k].dataValue !== null && selectedRowKeysValue[i][itemIn[j]].list[k].dataValue instanceof Array) {
|
||||||
selectedRowKeysValue[i][itemIn[j]].list[k].dataValue = selectedRowKeysValue[i][itemIn[j]].list[k].dataValue.join(',')
|
selectedRowKeysValue[i][itemIn[j]].list[k].dataValue = selectedRowKeysValue[i][itemIn[j]].list[k].dataValue.join(',')
|
||||||
}
|
}
|
||||||
@@ -376,9 +378,7 @@ export default {
|
|||||||
onSelectChange() {
|
onSelectChange() {
|
||||||
|
|
||||||
},
|
},
|
||||||
getDataSource(data) {
|
|
||||||
this.dataSource = data
|
|
||||||
},
|
|
||||||
LoginUserType(val, currentPersonRole, userType) {
|
LoginUserType(val, currentPersonRole, userType) {
|
||||||
this.RoleType = []
|
this.RoleType = []
|
||||||
if (this.currentPersonRole == '') {
|
if (this.currentPersonRole == '') {
|
||||||
@@ -419,13 +419,13 @@ export default {
|
|||||||
},
|
},
|
||||||
pageOnChange(page, pageSize) {
|
pageOnChange(page, pageSize) {
|
||||||
this.pageNo = page
|
this.pageNo = page
|
||||||
this.$emit('handlePreservation')
|
// this.$emit('handlePreservation')
|
||||||
this.getTableList()
|
this.getTableList()
|
||||||
},
|
},
|
||||||
SizeChange(page, pageSize) {
|
SizeChange(page, pageSize) {
|
||||||
this.pageNo = 1
|
this.pageNo = 1
|
||||||
this.pageSize = pageSize
|
this.pageSize = pageSize
|
||||||
this.$emit('handlePreservation')
|
// this.$emit('handlePreservation')
|
||||||
this.getTableList()
|
this.getTableList()
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -134,15 +134,15 @@
|
|||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<a-row :gutter="24">
|
<a-row :gutter="24" v-if='required'>
|
||||||
<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" v-if='required'>*</span>
|
<span class="Required">*</span>
|
||||||
<span class="title-text-text"
|
<span class="title-text-text"
|
||||||
:title="$t('NcertificationCategory')">{{$t('NcertificationCategory')}}</span>
|
:title="$t('NcertificationCategory')">{{$t('NcertificationCategory')}}</span>
|
||||||
</div>
|
</div>
|
||||||
<a-form-model-item class="itemModel-multi" :prop="required?certCategory:''">
|
<a-form-model-item class="itemModel-multi" prop="certCategory">
|
||||||
<j-multi-select-tag-only-rz class="box-input" v-model="formInline.certCategory"
|
<j-multi-select-tag-only-rz class="box-input" v-model="formInline.certCategory"
|
||||||
@change='Onchange'
|
@change='Onchange'
|
||||||
v-on:changelabel='Onchangelabel'
|
v-on:changelabel='Onchangelabel'
|
||||||
@@ -248,15 +248,15 @@
|
|||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<a-row :gutter="24">
|
<a-row :gutter="24" >
|
||||||
<a-col :span="24" v-if='contentList != []'>
|
<a-col :span="24" v-if='required'>
|
||||||
<a-tabs>
|
<a-tabs>
|
||||||
<a-tab-pane v-for='(item,index) in contentList' :tab="item.cut == 'cn' ? item.text : item.textEn" :key="index + 1">
|
<a-tab-pane v-for='(item,index) in contentList' :tab="item.cut == 'cn' ? item.text : item.textEn" :key="index + 1">
|
||||||
<a-row :gutter="24">
|
<a-row :gutter="24">
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<div class="box-title-text">
|
<div class="box-title-text">
|
||||||
<div class="title-text">
|
<div class="title-text">
|
||||||
<span class="Required" v-if='required'>*</span>
|
<span class="Required">*</span>
|
||||||
<span class="title-text-text"
|
<span class="title-text-text"
|
||||||
:title="$t('ParameterNo')">{{$t('ParameterNo')}}</span>
|
:title="$t('ParameterNo')">{{$t('ParameterNo')}}</span>
|
||||||
</div>
|
</div>
|
||||||
@@ -271,7 +271,7 @@
|
|||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<div class="box-title-text">
|
<div class="box-title-text">
|
||||||
<div class="title-text">
|
<div class="title-text">
|
||||||
<span class="Required" v-if='required'>*</span>
|
<span class="Required">*</span>
|
||||||
<span class="title-text-text" :title="$t('NParameterName')">{{$t('NParameterName')}}</span>
|
<span class="title-text-text" :title="$t('NParameterName')">{{$t('NParameterName')}}</span>
|
||||||
</div>
|
</div>
|
||||||
<a-form-model-item class="itemModel">
|
<a-form-model-item class="itemModel">
|
||||||
@@ -679,7 +679,6 @@ export default {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
let falg = 1
|
let falg = 1
|
||||||
if(this.formInline.controlType != 11){
|
|
||||||
this.contentList.forEach((item,index) => {
|
this.contentList.forEach((item,index) => {
|
||||||
let reg = /^[0-9a-zA-Z-/. ]{1,}$/
|
let reg = /^[0-9a-zA-Z-/. ]{1,}$/
|
||||||
// 编号的限制
|
// 编号的限制
|
||||||
@@ -715,7 +714,6 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
|
||||||
|
|
||||||
if(falg === 1) {
|
if(falg === 1) {
|
||||||
this.$refs.ruleForm.validate(valid => {
|
this.$refs.ruleForm.validate(valid => {
|
||||||
@@ -738,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,
|
||||||
|
|||||||
@@ -244,7 +244,7 @@
|
|||||||
yAxis: yAxis,
|
yAxis: yAxis,
|
||||||
grid: {
|
grid: {
|
||||||
left: '10%',
|
left: '10%',
|
||||||
bottom: '15%'
|
bottom: '20%'
|
||||||
},
|
},
|
||||||
series: [
|
series: [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -212,7 +212,7 @@
|
|||||||
((record.roleCode == 1 && !record.regulationOwnerSubmitStatus) ||
|
((record.roleCode == 1 && !record.regulationOwnerSubmitStatus) ||
|
||||||
(record.roleCode == 2 && !record.homologationEngineerSubmitStatus) ||
|
(record.roleCode == 2 && !record.homologationEngineerSubmitStatus) ||
|
||||||
(record.roleCode == 4 && !record.regulationOwnerSubmitStatus && !record.homologationEngineerSubmitStatus)))
|
(record.roleCode == 4 && !record.regulationOwnerSubmitStatus && !record.homologationEngineerSubmitStatus)))
|
||||||
|| record.roleCode == 0"
|
|| (record.roleCode == 0 && record.taskAffirmStatus != 'List to confirm')"
|
||||||
@click="edit(record)">
|
@click="edit(record)">
|
||||||
{{ $t('edit') }}
|
{{ $t('edit') }}
|
||||||
</a>
|
</a>
|
||||||
@@ -1080,7 +1080,7 @@
|
|||||||
...this.queryParam,
|
...this.queryParam,
|
||||||
ids: selectedRowKeys.join(','),
|
ids: selectedRowKeys.join(','),
|
||||||
...this.queryParamQuery,
|
...this.queryParamQuery,
|
||||||
roleCode:roleCodeIndex,
|
roleCode: roleCodeIndex,
|
||||||
projectLibraryId: this.$route.query.id
|
projectLibraryId: this.$route.query.id
|
||||||
}
|
}
|
||||||
downloadFile(this.url.exportData, this.$route.query.projectName + this.$t('listOfRegulations') + '.zip', query, this.Deselect)
|
downloadFile(this.url.exportData, this.$route.query.projectName + this.$t('listOfRegulations') + '.zip', query, this.Deselect)
|
||||||
@@ -1211,7 +1211,7 @@
|
|||||||
content: _this.$t('NoteConfirmTheChange'),
|
content: _this.$t('NoteConfirmTheChange'),
|
||||||
onOk() {
|
onOk() {
|
||||||
let idList = JSON.parse(JSON.stringify(_this.selectedRowKeys))
|
let idList = JSON.parse(JSON.stringify(_this.selectedRowKeys))
|
||||||
getAction('/project/projectLawsInventoryEO/change', {
|
postAction('/project/projectLawsInventoryEO/change', {
|
||||||
ids: idList.join(','),
|
ids: idList.join(','),
|
||||||
projectLibraryId: _this.$route.query.id
|
projectLibraryId: _this.$route.query.id
|
||||||
}).then((res) => {
|
}).then((res) => {
|
||||||
@@ -1629,30 +1629,42 @@
|
|||||||
this.detailedWarningList = []
|
this.detailedWarningList = []
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
for (let i = 0; i < this.TaskSuccessList.length; i++) {
|
// for (let i = 0; i < this.TaskSuccessList.length; i++) {
|
||||||
((i) => {
|
// ((i) => {
|
||||||
this.TaskSuccessList[i].taskAffirmDueDate = this.formInline.taskAffirmDueDate
|
// this.TaskSuccessList[i].taskAffirmDueDate = this.formInline.taskAffirmDueDate
|
||||||
Object.keys(this.TaskSuccessList[i]).forEach(res => {
|
// Object.keys(this.TaskSuccessList[i]).forEach(res => {
|
||||||
if (this.TaskSuccessList[i][res] && this.TaskSuccessList[i][res] instanceof String) {
|
// if (this.TaskSuccessList[i][res] && this.TaskSuccessList[i][res] instanceof String) {
|
||||||
this.TaskSuccessList[i][res] = this.TaskSuccessList[i][res].replace(/\"/g, '“')
|
// this.TaskSuccessList[i][res] = this.TaskSuccessList[i][res].replace(/\"/g, '“')
|
||||||
this.TaskSuccessList[i][res] = this.TaskSuccessList[i][res].replace(/\'/g, '‘')
|
// this.TaskSuccessList[i][res] = this.TaskSuccessList[i][res].replace(/\'/g, '‘')
|
||||||
}
|
// }
|
||||||
})
|
// })
|
||||||
setTimeout(() => {
|
// setTimeout(() => {
|
||||||
this.confirmLoading = true
|
// this.confirmLoading = true
|
||||||
this.startProcess(this.TaskSuccessList[i], (i + 1))
|
// this.startProcess(this.TaskSuccessList[i], (i + 1))
|
||||||
}, 500)
|
// }, 500)
|
||||||
})(i)
|
// })(i)
|
||||||
|
// }
|
||||||
|
let TaskSuccessList = JSON.parse(JSON.stringify(this.TaskSuccessList))
|
||||||
|
for (let i = 0; i < TaskSuccessList.length; i++) {
|
||||||
|
TaskSuccessList[i].taskAffirmDueDate = this.formInline.taskAffirmDueDate
|
||||||
|
Object.keys(TaskSuccessList[i]).forEach(res => {
|
||||||
|
if (TaskSuccessList[i][res] && TaskSuccessList[i][res] instanceof String) {
|
||||||
|
TaskSuccessList[i][res] = TaskSuccessList[i][res].replace(/\"/g, '“')
|
||||||
|
TaskSuccessList[i][res] = TaskSuccessList[i][res].replace(/\'/g, '‘')
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
this.confirmLoading = true
|
||||||
|
this.startProcess(TaskSuccessList)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
startProcess(value, index) {
|
startProcess(value) {
|
||||||
let query = {
|
let query = {
|
||||||
type: 1,
|
type: 1,
|
||||||
msg: JSON.stringify(value).replace(/\"/g, '\''),
|
projectLawsInvnetoryList: value,
|
||||||
projectNameId: this.$route.query.projectNameId,
|
projectNameId: this.$route.query.projectNameId,
|
||||||
projectName: this.$route.query.projectName,
|
projectName: this.$route.query.projectName,
|
||||||
projectLawsInventoryId: value.id,
|
projectLawsInventoryId: value.id,
|
||||||
@@ -1660,7 +1672,24 @@
|
|||||||
}
|
}
|
||||||
postAction('/workFlow/startProcess', query).then((res) => {
|
postAction('/workFlow/startProcess', query).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
this.completeTask(value, res.result, index)
|
this.visible = false
|
||||||
|
this.selectedRowKeys = []
|
||||||
|
this.$message.success(this.$t('OperationSuccessful'))
|
||||||
|
this.confirmLoading = false
|
||||||
|
this.getList()
|
||||||
|
let that = this
|
||||||
|
if (this.TaskWarningList.length > 0) {
|
||||||
|
this.$warning({
|
||||||
|
content: (
|
||||||
|
< div >
|
||||||
|
{ that.TaskWarningList }
|
||||||
|
< /div>
|
||||||
|
)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// this.completeTask(value, res.result, index)
|
||||||
|
} else {
|
||||||
|
this.$message.warning(this.$t('operationFailed'))
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -1668,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>
|
||||||
|
|||||||