diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/oss/service/impl/OSSFileServiceImpl.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/oss/service/impl/OSSFileServiceImpl.java index 94c8d84af..bf1ccd851 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/oss/service/impl/OSSFileServiceImpl.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/oss/service/impl/OSSFileServiceImpl.java @@ -253,7 +253,7 @@ public class OSSFileServiceImpl extends ServiceImpl impl String[] fileTypeArr = {".doc", ".DOC", ".txt", ".TXT", ".docx", ".DOCX", ".xls", ".XLS", ".xlsx", ".XLSX", ".pdf", ".PDF", ".png", ".PNG", ".jfif", ".JFIF", ".pjpeg", ".PJPEG", ".jpeg", ".JPEG", ".pjp", ".PJP", - ".jpg", ".JPG", ".swf", ".SWF", ".bmp", ".BMP", ".rar", ".RAR", ".zip", ".ZIP", ".ppt", ".PPT", ".pptx", ".PPTX", ".csv", ".CSV"}; + ".jpg", ".JPG", ".swf", ".SWF", ".bmp", ".BMP", ".rar", ".RAR", ".zip", ".ZIP", ".ppt", ".PPT", ".pptx", ".PPTX", ".csv", ".CSV", ".gif", ".GIF"}; boolean flag = true; for (String fileTypeTemp : fileTypeArr) { if (fileTypeTemp.equalsIgnoreCase(fileType)) { @@ -262,9 +262,9 @@ public class OSSFileServiceImpl extends ServiceImpl impl } if (flag) { if (cut.equals(CutEnum.CN.getValue())) { - throw new JeroBootException("只能够上传pdf/word/excel/csv/ppt/txt/zip/rar/静态图片类型的文件。请重新选择文件!"); + throw new JeroBootException("只能够上传pdf/word/excel/csv/ppt/txt/zip/rar/gif/静态图片类型的文件。请重新选择文件!"); } else { - throw new JeroBootException("Only upload pdf/word/excel/csv/ppt/txt/zip/rar/Static image type file. Please re select the file!"); + throw new JeroBootException("Only upload pdf/word/excel/csv/ppt/txt/zip/rar/gif/Static image type file. Please re select the file!"); } } } diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java index 9d8a7a787..4a67f32ad 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java @@ -21,6 +21,7 @@ import com.jero.common.system.util.JwtUtil; import com.jero.common.system.vo.LoginUser; import com.jero.common.system.vo.SysDepartTreeModel; import com.jero.common.system.vo.SysDepartUserTreeModel; +import com.jero.common.system.vo.SysUserTreeModel; import com.jero.common.util.ImportExcelUtil; import com.jero.common.util.PasswordUtil; import com.jero.common.util.RedisUtil; @@ -63,6 +64,7 @@ import java.io.IOException; import java.util.*; import java.util.stream.Collectors; + /** *

* 用户表 前端控制器 @@ -1533,7 +1535,53 @@ public class SysUserController { result.setSuccess(true); return result; } + /** + * 查询数据 查出所有部门及其用户 + * + * @return + */ + @ApiOperation(value = "用户管理-查出所有部门及其用户") + @RequestMapping(value = "/queryUserTreeList", method = RequestMethod.GET) + public Result> queryUserTreeList(String cut) { + Result> result = new Result<>(); + List dutList = new ArrayList<>(); + List departTreeModelList = sysDepartService.queryTreeList(cut); + for (SysDepartTreeModel sdtm: departTreeModelList) { + dutList.addAll(findChildNode(sdtm)); + } + result.setResult(dutList); + result.setSuccess(true); + return result; + } + private List findChildNode(SysDepartTreeModel sdtModel) { + List resList = new ArrayList<>(); + DepartUserTree dut = new DepartUserTree(); + dut.setId(sdtModel.getId()); + dut.setName(sdtModel.getDepartName()); + dut.setParentId(sdtModel.getParentId()); + dut.setType("Depart"); + resList.add(dut); + + List departIds = new ArrayList<>(); + departIds.add(sdtModel.getId()); + List sysUserList = sysUserService.getUserListByDepIds(departIds); + for (SysUser user: sysUserList) { + DepartUserTree dut1 = new DepartUserTree(); + dut1.setId(user.getId()); + dut1.setName(user.getUsername()); + dut1.setParentId(sdtModel.getId()); + dut1.setType("User"); + resList.add(dut1); + } + + if (sdtModel.getChildren() != null && sdtModel.getChildren().size() > 0) { + for (SysDepartTreeModel sdtModel1 : sdtModel.getChildren()) { + resList.addAll(findChildNode(sdtModel1)); + } + } + return resList; + } @AutoLog(value = "文档库推送部门和人员的模糊搜索") @ApiOperation(value="文档库推送部门和人员的模糊搜索", notes="文档库推送部门和人员的模糊搜索") diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/DepartUserTree.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/DepartUserTree.java new file mode 100644 index 000000000..f7a27c471 --- /dev/null +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/DepartUserTree.java @@ -0,0 +1,50 @@ +package com.jero.modules.system.entity; + +public class DepartUserTree { + private String id; + private String parentId; + private String name; + private String type; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getParentId() { + return parentId; + } + + public void setParentId(String parentId) { + this.parentId = parentId; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + @Override + public String toString() { + return "DepartUserTree{" + + "id='" + id + '\'' + + ", parentId='" + parentId + '\'' + + ", name='" + name + '\'' + + ", type='" + type + '\'' + + '}'; + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/entity/DocTranslationEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/entity/DocTranslationEO.java index 41a793654..e3e6909cf 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/entity/DocTranslationEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/entity/DocTranslationEO.java @@ -127,4 +127,7 @@ public class DocTranslationEO implements Serializable { @ApiModelProperty(value = "目标文件id") private java.lang.String targetFileId; + /**翻译后文件名称*/ + @TableField(exist = false) + private String targetFileName; } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/service/impl/DocTranslationEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/service/impl/DocTranslationEOServiceImpl.java index e90b396bd..3425c99e3 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/service/impl/DocTranslationEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/service/impl/DocTranslationEOServiceImpl.java @@ -20,6 +20,7 @@ import com.jero.modules.docTranslation.service.IDocTranslationEOService; import com.jero.modules.docTranslation.utils.TranslationDocumentUtils; import com.jero.modules.document.enums.FieldTypeEnum; import com.jero.modules.oss.entity.OSSFile; +import com.jero.modules.oss.service.IOSSFileService; import me.zhyd.oauth.utils.StringUtils; import org.apache.commons.collections4.CollectionUtils; import org.apache.shiro.SecurityUtils; @@ -47,6 +48,8 @@ public class DocTranslationEOServiceImpl extends ServiceImpl datas,String cut){ if(CollectionUtils.isNotEmpty(datas)){ + String targetFileIds = datas.stream().map(DocTranslationEO::getTargetFileId).distinct().collect(Collectors.joining(",")); + List targetFileList = this.iOSSFileService.getFileInfos(targetFileIds); for (DocTranslationEO data : datas) { String textStatus_dictText = ""; OnlCgformField fileTypeField = this.onlCgformFieldService.queryById(data.getTextStatus()); @@ -166,6 +171,17 @@ public class DocTranslationEOServiceImpl extends ServiceImpl { + boolean flag = false; + if (org.apache.commons.lang3.StringUtils.equals(data.getTargetFileId(), targetFile.getId())) { + flag = true; + } + return flag; + }).map(OSSFile::getFileName).collect(Collectors.joining(",")); + data.setTargetFileName(targetFileName); + } } } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/utils/TranslationDocumentUtils.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/utils/TranslationDocumentUtils.java index 8e4aa43a5..477950de1 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/utils/TranslationDocumentUtils.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/utils/TranslationDocumentUtils.java @@ -115,8 +115,9 @@ public class TranslationDocumentUtils { //翻译后的文件路径 String translateAfterFilePath = uploadpath + "/tempZip/translationTempFile"; + String translateAfterFileName = sourceOssFile.getFileName().substring(0, sourceOssFile.getFileName().lastIndexOf(".")); try { - translateAfterFile = createTranslateAfterFile(translateAfterFilePath, translateAfterSb.toString(),sourceOssFile.getFileName()); + translateAfterFile = createTranslateAfterFile(translateAfterFilePath, translateAfterSb.toString(),translateAfterFileName); } catch (Exception ex) { ex.printStackTrace(); logger.error("翻译文档-写入文档失败:" + ex.getMessage()); @@ -137,7 +138,7 @@ public class TranslationDocumentUtils { if (!newFilePath.exists()) { newFilePath.mkdirs(); } - translateAfterFilePath = translateAfterFilePath + "/" + fileName; + translateAfterFilePath = translateAfterFilePath + "/" + fileName + ".doc"; File newFile = new File(translateAfterFilePath); if (!newFile.exists()) { newFile.createNewFile(); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/controller/LawsOpinionGatherEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/controller/LawsOpinionGatherEOController.java index 4b67a1d10..6eec32d23 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/controller/LawsOpinionGatherEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/controller/LawsOpinionGatherEOController.java @@ -127,8 +127,8 @@ public class LawsOpinionGatherEOController extends JeroController deleteBatch(@RequestParam(name="ids",required=true) String ids) { - this.lawsOpinionGatherEOService.deleteByIds(Arrays.asList(ids.split(","))); + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids,@RequestParam(name="cut",required=true) String cut) { + this.lawsOpinionGatherEOService.deleteByIds(Arrays.asList(ids.split(",")),cut); return Result.OK("批量删除成功!"); } @@ -184,4 +184,10 @@ public class LawsOpinionGatherEOController extends JeroController batchCompleteTask(@RequestBody JSONObject jsonObject){ + return this.lawsOpinionGatherEOService.batchCompleteTask(jsonObject); + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/job/LawsOpinionGatherJob.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/job/LawsOpinionGatherJob.java index bf1e5ac43..c5d17ad6c 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/job/LawsOpinionGatherJob.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/job/LawsOpinionGatherJob.java @@ -34,7 +34,8 @@ public class LawsOpinionGatherJob implements Job { @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { log.info("法规意见收集流程,定时任务开启 ====================================================="); - QueryWrapper lawsOpinionGatherEOQueryWrapper = new QueryWrapper<>(); + //TODO 2022-09-29 该功能被手动按钮替代 对应禅道bug编号 59979 + /*QueryWrapper lawsOpinionGatherEOQueryWrapper = new QueryWrapper<>(); lawsOpinionGatherEOQueryWrapper.lambda().eq(LawsOpinionGatherEO::getGatherResult, GatherResultEnum.UNDERWAY.getValue()); List lawsOpinionGatherEOList = this.lawsOpinionGatherEOService.list(lawsOpinionGatherEOQueryWrapper); if (CollectionUtils.isNotEmpty(lawsOpinionGatherEOList)) { @@ -58,7 +59,7 @@ public class LawsOpinionGatherJob implements Job { this.lawsOpinionGatherEOService.updateBatchById(updateLawsOpinionGatherEOList); } } - } + }*/ log.info("法规意见收集流程,定时任务结束 ====================================================="); } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/service/ILawsOpinionGatherEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/service/ILawsOpinionGatherEOService.java index 710e61bf2..b4a878930 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/service/ILawsOpinionGatherEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/service/ILawsOpinionGatherEOService.java @@ -44,7 +44,7 @@ public interface ILawsOpinionGatherEOService extends IService ids); + void deleteByIds(List ids,String cut); /** * 通过id查询 @@ -75,4 +75,6 @@ public interface ILawsOpinionGatherEOService extends IService lawsOpinionGatherEOList,String cut); void workFlowSendMsg(JSONObject jsonObject); + + Result batchCompleteTask(JSONObject jsonObject); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/service/impl/LawsOpinionGatherEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/service/impl/LawsOpinionGatherEOServiceImpl.java index 6e51bcfff..376cc56a3 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/service/impl/LawsOpinionGatherEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/service/impl/LawsOpinionGatherEOServiceImpl.java @@ -28,8 +28,10 @@ import com.jero.modules.system.entity.SysCategory; import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.service.ISysUserService; import com.jero.modules.system.service.impl.SysCategoryServiceImpl; +import com.jero.modules.wkflow.feginClient.WorkFlowFeignClient; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; +import org.jeecg.modules.jmreport.common.constant.CommonConstant; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -64,6 +66,9 @@ public class LawsOpinionGatherEOServiceImpl extends ServiceImpl ids) { - removeByIds(ids); + public void deleteByIds(List ids,String cut) { + QueryWrapper lawsOpinionGatherEOQueryWrapper = new QueryWrapper<>(); + lawsOpinionGatherEOQueryWrapper.lambda().in(LawsOpinionGatherEO::getId, ids); + List lawsOpinionGatherEOList = this.list(lawsOpinionGatherEOQueryWrapper); - QueryWrapper deleteWrapper = new QueryWrapper(); - deleteWrapper.in("laws_opinion_gather_id",ids); - this.lawsOpinionAssessmentResultEOService.remove(deleteWrapper); + List actiProcInstIdList = lawsOpinionGatherEOList.stream().map(LawsOpinionGatherEO::getActiProcInstId).distinct().collect(Collectors.toList()); + String prcIds = org.apache.commons.lang.StringUtils.join(actiProcInstIdList,","); + Result result = this.workFlowFeignClient.deleteProcessInstanceByPrcIds(prcIds); + if(result.getCode().equals(CommonConstant.SC_OK_200)){ + removeByIds(ids); + QueryWrapper deleteWrapper = new QueryWrapper(); + deleteWrapper.in("laws_opinion_gather_id",ids); + this.lawsOpinionAssessmentResultEOService.remove(deleteWrapper); + }else { + if(StringUtils.equals(cut,CutEnum.CN.getValue())){ + throw new JeroBootException("删除失败,请联系管理员!"); + }else if(StringUtils.equals(cut,CutEnum.EN.getValue())){ + throw new JeroBootException("Delete failed, please contact the administrator!"); + } + } } /** @@ -283,4 +302,36 @@ public class LawsOpinionGatherEOServiceImpl extends ServiceImpl batchCompleteTask(JSONObject jsonObject) { + String ids = jsonObject.getString("ids"); + String cut = jsonObject.getString("cut"); + if(StringUtils.isEmpty(ids)){ + if(StringUtils.equals(cut,CutEnum.CN.getValue())){ + throw new JeroBootException("至少选择一条数据进行手动结束!"); + }else if(StringUtils.equals(cut,CutEnum.EN.getValue())){ + throw new JeroBootException("Select at least one piece of data for manual termination!"); + } + } + + List lawsOpinionGatherIdList = Arrays.asList(ids.split(",")); + QueryWrapper lawsOpinionGatherEOQueryWrapper = new QueryWrapper<>(); + lawsOpinionGatherEOQueryWrapper.lambda().eq(LawsOpinionGatherEO::getGatherResult, GatherResultEnum.UNDERWAY.getValue()); + lawsOpinionGatherEOQueryWrapper.lambda().in(LawsOpinionGatherEO::getId, lawsOpinionGatherIdList); + List lawsOpinionGatherEOList = this.list(lawsOpinionGatherEOQueryWrapper); + if (CollectionUtils.isNotEmpty(lawsOpinionGatherEOList)) { + List actiProcInstIdList = lawsOpinionGatherEOList.stream().map(LawsOpinionGatherEO::getActiProcInstId).distinct().collect(Collectors.toList()); + String actiProcInstIds = org.apache.commons.lang.StringUtils.join(actiProcInstIdList,","); + //将这些流程实例下的待办任务提交 + Result result = this.workFlowFeignClient.completeTaskByPids(actiProcInstIds); + if(result.getCode().equals(CommonConstant.SC_OK_200)){ + lawsOpinionGatherEOList.forEach(lawsOpinionGatherEO -> { + lawsOpinionGatherEO.setGatherResult(GatherResultEnum.COMPLETED.getValue()); + }); + this.updateBatchById(lawsOpinionGatherEOList); + } + } + return new Result<>().success("手动结束成功!"); + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/controller/LawsTechnologyEvaluationEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/controller/LawsTechnologyEvaluationEOController.java index 9ca5ddf32..ca025a19e 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/controller/LawsTechnologyEvaluationEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/controller/LawsTechnologyEvaluationEOController.java @@ -130,8 +130,8 @@ public class LawsTechnologyEvaluationEOController extends JeroController deleteBatch(@RequestParam(name="ids",required=true) String ids) { - this.lawsTechnologyEvaluationEOService.deleteByIds(Arrays.asList(ids.split(","))); + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids,@RequestParam(name="cut",required=true) String cut) { + this.lawsTechnologyEvaluationEOService.deleteByIds(Arrays.asList(ids.split(",")),cut); return Result.OK("批量删除成功!"); } @@ -180,8 +180,8 @@ public class LawsTechnologyEvaluationEOController extends JeroController processCall(@RequestBody JSONObject jsonObject){ return this.lawsTechnologyEvaluationEOService.processCall(jsonObject); @@ -218,4 +218,11 @@ public class LawsTechnologyEvaluationEOController extends JeroController> result = this.lawsTechnologyEvaluationEOService.queryPageDummyById(parameter); return Result.OK(result); } + + @AutoLog(value = "法规技术评估-批量完成任务") + @ApiOperation(value="法规技术评估-批量完成任务", notes="法规技术评估-批量完成任务") + @PostMapping(value = "/batchCompleteTask") + public Result batchCompleteTask(@RequestBody JSONObject jsonObject){ + return this.lawsTechnologyEvaluationEOService.batchCompleteTask(jsonObject); + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/job/LawsTechnologyEvaluationJob.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/job/LawsTechnologyEvaluationJob.java index 63f308573..c3877f9e8 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/job/LawsTechnologyEvaluationJob.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/job/LawsTechnologyEvaluationJob.java @@ -38,7 +38,8 @@ public class LawsTechnologyEvaluationJob implements Job { public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { log.info("法规技术评估流程,定时任务开启 ====================================================="); - QueryWrapper queryWrapper = new QueryWrapper<>(); + //TODO 2022-09-29 该功能被手动按钮替代 对应禅道bug编号 59979 + /*QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.lambda().eq(LawsTechnologyEvaluationEO::getFlowStatus, GatherResultEnum.UNDERWAY.getValue()); List lawsTechnologyEvaluationEOList = this.lawsTechnologyEvaluationEOService.list(queryWrapper); @@ -73,7 +74,7 @@ public class LawsTechnologyEvaluationJob implements Job { } } - } + }*/ log.info("法规技术评估流程,定时任务结束 ====================================================="); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/ILawsTechnologyEvaluationEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/ILawsTechnologyEvaluationEOService.java index f13cde5ca..b2bad56ff 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/ILawsTechnologyEvaluationEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/ILawsTechnologyEvaluationEOService.java @@ -50,7 +50,7 @@ public interface ILawsTechnologyEvaluationEOService extends IService ids); + void deleteByIds(List ids,String cut); /** * 通过id查询 @@ -90,4 +90,6 @@ public interface ILawsTechnologyEvaluationEOService extends IService> queryPageDummyById(Map parameter); void workFlowSendMsg(JSONObject jsonObject); + + Result batchCompleteTask(JSONObject jsonObject); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/impl/LawsTechnologyEvaluationEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/impl/LawsTechnologyEvaluationEOServiceImpl.java index 4ef994acd..567660c55 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/impl/LawsTechnologyEvaluationEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/impl/LawsTechnologyEvaluationEOServiceImpl.java @@ -16,6 +16,7 @@ import com.jero.modules.document.mapper.BussDocumentLibraryEOMapper; import com.jero.modules.document.service.impl.BussDocumentLibraryEOServiceImpl; import com.jero.modules.lawsOpinionGather.enums.GatherResultEnum; import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationEO; +import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationFlowDetailEO; import com.jero.modules.lawsTechnologyEvaluation.mapper.LawsTechnologyEvaluationEOMapper; import com.jero.modules.lawsTechnologyEvaluation.service.*; import com.jero.modules.project.enums.JumpLinkEnum; @@ -31,12 +32,14 @@ import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.service.ISysUserService; import com.jero.modules.system.service.impl.SysCategoryServiceImpl; import com.jero.modules.system.service.impl.SysDictItemServiceImpl; +import com.jero.modules.wkflow.feginClient.WorkFlowFeignClient; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.*; +import org.jeecg.modules.jmreport.common.constant.CommonConstant; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -90,6 +93,8 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl ids) { - removeByIds(ids); + public void deleteByIds(List ids,String cut) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().in(LawsTechnologyEvaluationEO::getId, ids); + List lawsTechnologyEvaluationEOList = this.list(queryWrapper); - QueryWrapper deleteWrapper = new QueryWrapper(); - deleteWrapper.in("laws_technology_evaluation_id",ids); - this.lawsTechnologyEvaluationFlowDetailEOService.remove(deleteWrapper); + List lawsTechnologyEvaluationIdList = lawsTechnologyEvaluationEOList.stream().map(LawsTechnologyEvaluationEO::getId).distinct().collect(Collectors.toList()); - this.lawsTechnologyEvaluationItemResultEOService.remove(deleteWrapper); + //获取这些法规技术评估数据的下级流程明细数据。 + QueryWrapper flowDetailEOQueryWrapper = new QueryWrapper<>(); + flowDetailEOQueryWrapper.lambda().in(LawsTechnologyEvaluationFlowDetailEO::getLawsTechnologyEvaluationId,lawsTechnologyEvaluationIdList); + List lawsTechnologyEvaluationFlowDetailEOList = lawsTechnologyEvaluationFlowDetailEOService.list(flowDetailEOQueryWrapper); - this.lawsTechnologyEvaluationResultEOService.remove(deleteWrapper); + if(CollectionUtils.isNotEmpty(lawsTechnologyEvaluationFlowDetailEOList)){ + String prcIds = lawsTechnologyEvaluationFlowDetailEOList.stream().map(LawsTechnologyEvaluationFlowDetailEO::getActiProcInstId).distinct().collect(Collectors.joining(",")); + Result result = this.workFlowFeignClient.deleteProcessInstanceByPrcIds(prcIds); + if(result.getCode().equals(CommonConstant.SC_OK_200)){ + removeByIds(ids); - this.lawsTechnologyEvaluationComplianceResultEOService.remove(deleteWrapper); + QueryWrapper deleteWrapper = new QueryWrapper(); + deleteWrapper.in("laws_technology_evaluation_id",ids); + this.lawsTechnologyEvaluationFlowDetailEOService.remove(deleteWrapper); + + this.lawsTechnologyEvaluationItemResultEOService.remove(deleteWrapper); + + this.lawsTechnologyEvaluationResultEOService.remove(deleteWrapper); + + this.lawsTechnologyEvaluationComplianceResultEOService.remove(deleteWrapper); + }else { + if(StringUtils.equals(cut,CutEnum.CN.getValue())){ + throw new JeroBootException("删除失败,请联系管理员!"); + }else if(StringUtils.equals(cut,CutEnum.EN.getValue())){ + throw new JeroBootException("Delete failed, please contact the administrator!"); + } + } + } } /** @@ -629,6 +657,45 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl batchCompleteTask(JSONObject jsonObject) { + String ids = jsonObject.getString("ids"); + String cut = jsonObject.getString("cut"); + if(StringUtils.isEmpty(ids)){ + if(StringUtils.equals(cut,CutEnum.CN.getValue())){ + throw new JeroBootException("至少选择一条数据进行手动结束!"); + }else if(StringUtils.equals(cut,CutEnum.EN.getValue())){ + throw new JeroBootException("Select at least one piece of data for manual termination!"); + } + } + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(LawsTechnologyEvaluationEO::getFlowStatus, GatherResultEnum.UNDERWAY.getValue()); + queryWrapper.lambda().in(LawsTechnologyEvaluationEO::getId, Arrays.asList(ids.split(","))); + List lawsTechnologyEvaluationEOList = this.list(queryWrapper); + + if (CollectionUtils.isNotEmpty(lawsTechnologyEvaluationEOList)) { + List lawsTechnologyEvaluationIdList = lawsTechnologyEvaluationEOList.stream().map(LawsTechnologyEvaluationEO::getId).distinct().collect(Collectors.toList()); + + //获取这些法规技术评估数据的下级流程明细数据。 + QueryWrapper flowDetailEOQueryWrapper = new QueryWrapper<>(); + flowDetailEOQueryWrapper.lambda().in(LawsTechnologyEvaluationFlowDetailEO::getLawsTechnologyEvaluationId,lawsTechnologyEvaluationIdList); + List lawsTechnologyEvaluationFlowDetailEOList = lawsTechnologyEvaluationFlowDetailEOService.list(flowDetailEOQueryWrapper); + + if(CollectionUtils.isNotEmpty(lawsTechnologyEvaluationFlowDetailEOList)){ + String actiProcInstIds = lawsTechnologyEvaluationFlowDetailEOList.stream().map(LawsTechnologyEvaluationFlowDetailEO::getActiProcInstId).distinct().collect(Collectors.joining(",")); + Result result = this.workFlowFeignClient.completeLawsTechnologyEvaluationTaskByPids(actiProcInstIds); + if(result.getCode().equals(CommonConstant.SC_OK_200)){ + lawsTechnologyEvaluationEOList.forEach(lawsTechnologyEvaluationEO -> { + lawsTechnologyEvaluationEO.setFlowStatus(GatherResultEnum.COMPLETED.getValue()); + }); + this.updateBatchById(lawsTechnologyEvaluationEOList); + } + } + } + return new Result<>().success("手动结束成功!"); + } + private String getTreeName(String cut, List categoryList, List technologyTerritoryList) { StringBuilder sb = new StringBuilder(); for (String technologyTerritory : technologyTerritoryList) { diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/impl/LawsTechnologyEvaluationItemResultEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/impl/LawsTechnologyEvaluationItemResultEOServiceImpl.java index e4fb88ea4..177e76a01 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/impl/LawsTechnologyEvaluationItemResultEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/impl/LawsTechnologyEvaluationItemResultEOServiceImpl.java @@ -267,10 +267,10 @@ public class LawsTechnologyEvaluationItemResultEOServiceImpl extends ServiceImpl String fileName = ""; if(StringUtils.equals(cut, CutEnum.CN.getValue())){ title = "条款号,条款名称,条款内容,评估人,评估方式,技术文件名称,章节,符合性结果,意见,附件,反馈时间"; - fileName = "条款评估结果 " + ".xlsx"; + fileName = "条款评估结果" + ".xls"; }else if(StringUtils.equals(cut,CutEnum.EN.getValue())){ title = "Item No.,Item Name,Item Content,Assessor,Evaluation method,Name of technical document,Chapter,Compliance Results,Opinion,Enclosure,Feedback Time"; - fileName = "Item Evaluation results " + ".xlsx"; + fileName = "Item Evaluation results" + ".xls"; } OutputStream os = null; diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java index aa3e94c37..a1e1f7bd9 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java @@ -40,6 +40,8 @@ import com.jero.modules.system.util.StringUtils; import org.apache.commons.collections4.CollectionUtils; import org.apache.shiro.SecurityUtils; import org.jetbrains.annotations.NotNull; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -117,10 +119,11 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl"); - sbCn.append("正文" + ":" + problemKnowledgeBaseEO.getContent() + " "); + sbCn.append("正文" + ":" + content + " "); }else { sbCn.append("
"); sbCn.append("正文" + ":" + "-- "); @@ -363,8 +370,12 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl"); - sbEn.append("Text" + ":" + problemKnowledgeBaseEO.getContent() + " "); + sbEn.append("Text" + ":" + content + " "); }else { sbEn.append("
"); sbEn.append("Text" + ":" + "-- "); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/LawsComplianceBoardMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/LawsComplianceBoardMapper.xml index 247f552ef..6fdb1df82 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/LawsComplianceBoardMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/LawsComplianceBoardMapper.xml @@ -51,7 +51,8 @@ pti.prehomo_person_charge_feedback as "prehomoPersonChargeFeedback", pti.verify_person_charge_feedback as "verifyPersonChargeFeedback", plb.studio_engineer as "studioEngineer", - plb.target_market as "targetMarket" + plb.target_market as "targetMarket", + pti.id as "projectTaskInventoryId" FROM project_laws_inventory pli LEFT JOIN project_task_inventory pti ON ( pli.id = pti.project_laws_inventory_id ) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java index fa42b801f..c309c19a3 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java @@ -886,6 +886,8 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl lawsMonthlyReportWriteEOS, @@ -900,6 +902,8 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl lawsMonthlyReportWriteEOS, List lawsMonthlyReportTitleTemplateEOS, diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/util/WordUtil.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/util/WordUtil.java index 3296ff4fa..b74545fc0 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/util/WordUtil.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/util/WordUtil.java @@ -42,6 +42,7 @@ import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTPageSz; import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTR; import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTRPr; import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTSectPr; +import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTSpacing; import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTString; import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTStyle; import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTblLayoutType; @@ -107,17 +108,17 @@ public class WordUtil { //设置行间距 -// if(!"cover".equals(flag) && !"oneTitle".equals(flag)){ -// CTP ctp = titleParagraph.getCTP(); -// CTPPr ppr = ctp.isSetPPr() ? ctp.getPPr() : ctp.addNewPPr(); -// CTSpacing spacing = ppr.isSetSpacing()? ppr.getSpacing() : ppr.addNewSpacing(); -// spacing.setAfter(BigInteger.valueOf(0)); -// spacing.setBefore(BigInteger.valueOf(0)); + if(!"cover".equals(flag) && !"oneTitle".equals(flag)){ + CTP ctp = titleParagraph.getCTP(); + CTPPr ppr = ctp.isSetPPr() ? ctp.getPPr() : ctp.addNewPPr(); + CTSpacing spacing = ppr.isSetSpacing()? ppr.getSpacing() : ppr.addNewSpacing(); + spacing.setAfter(BigInteger.valueOf(120));//行间距后段为6磅 + spacing.setBefore(BigInteger.valueOf(300));//行间距前段为15磅, 300是通过单位换算来的 // //设置行距类型为 EXACT // spacing.setLineRule(STLineSpacingRule.EXACT); // //1磅数是20 -// spacing.setLine(BigInteger.valueOf(40*20)); -// } +// spacing.setLine(BigInteger.valueOf(1*20)); + } //设置段落左对齐 if (align == null) { @@ -1079,7 +1080,7 @@ public class WordUtil { run.setText(text); } //设置字体样式,大小 - run.setFontSize(10); + run.setFontSize(11); run.setFontFamily("Blue Sky Noto Regular"); } @@ -1134,7 +1135,7 @@ public class WordUtil { } //设置字体样式,大小 - run.setFontSize(10); + run.setFontSize(11); run.setFontFamily("Blue Sky Noto Regular"); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/DocumentSearchServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/DocumentSearchServiceImpl.java index 7bbdfb98d..1be72fe12 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/DocumentSearchServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/DocumentSearchServiceImpl.java @@ -338,7 +338,6 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { queryMap.put(key, queryMapTemp); map.put("match",queryMap); } - must.add(map); } } @@ -350,11 +349,18 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { String key = entry.getKey(); String value = (String) entry.getValue(); if("technology_territory".equals(key) && ObjectUtils.isNotEmpty(value)){ - Map queryMapNew = new HashMap<>(); - Map queryMapTempNew = new HashMap<>(); - queryMapTempNew.put(key, "*"+value.replaceAll(",","*")+"*"); - queryMapNew.put("wildcard", queryMapTempNew); - must.add(queryMapNew); + JSONArray should = new JSONArray(); + + List> mapList = new ArrayList<>(); + for (String s : value.split(",")) { + Map map = new HashMap(); + map.put(key,"*"+s+"*"); + Map map1 = new HashMap<>(); + map1.put("wildcard",map); + should.add(map1); + } + JSONObject jsonObject = jeroElasticsearchTemplate.buildBoolQuery(null, null, should); + must.add(jsonObject); }else{ Map map = new HashMap<>(); Map queryMap = new HashMap<>(); @@ -520,6 +526,7 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { } JSONObject sort = new JSONObject(); +// JSONObject sort = new JSONObject(new LinkedHashMap<>()); if(StringUtils.isEmpty(selectValue) || StringUtils.equals(selectValue,SEARCH_FLAG)){ Map createTime = new HashMap<>(); Map createTime1 = new HashMap<>(); @@ -531,7 +538,12 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { Map score1 = new HashMap<>(); score.put("order","desc"); score1.put("_score",score); +// Map score2 = new HashMap<>(); +// Map score3 = new HashMap<>(); +// score2.put("order","desc"); +// score3.put("_id",score2); sort.putAll(score1); +// sort.putAll(score3); } log.info("搜索中心-全部索引,排序方式为:" + sort.toJSONString()); @@ -557,13 +569,13 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { if("serial_number".equals(field)){ map31.put("boost",10); }else if("title".equals(field)){ - map31.put("boost",10); + map31.put("boost",8); }else if("file_text".equals(field)){ map31.put("boost",0.01); }else if("content".equals(field)){ map31.put("boost",0.01); }else if("file_name".equals(field)){ - map31.put("boost",10); + map31.put("boost",5); } map31.put("value", selectValue); map21.put(field + ".keyword", map31); @@ -577,13 +589,13 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { if("serial_number".equals(field)){ map32.put("boost",10); }else if("title".equals(field)){ - map32.put("boost",10); + map32.put("boost",8); }else if("file_text".equals(field)){ map32.put("boost",0.01); }else if("content".equals(field)){ map32.put("boost",0.01); }else if("file_name".equals(field)){ - map32.put("boost",10); + map32.put("boost",5); } map32.put("query", selectValue); map22.put(field, map32); @@ -598,13 +610,13 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { if("serial_number".equals(field)){ map33.put("boost",10); }else if("title".equals(field)){ - map33.put("boost",10); + map33.put("boost",8); }else if("file_text".equals(field)){ map33.put("boost",0.01); }else if("content".equals(field)){ map33.put("boost",0.01); }else if("file_name".equals(field)){ - map33.put("boost",10); + map33.put("boost",5); } map33.put("query", selectValue); map23.put(field, map33); @@ -615,7 +627,21 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { //情况举例:用户只记得中间那段字 Map map24 = new HashMap<>(); Map map44 = new HashMap<>(); - map24.put(field, "*" + selectValue + "*"); + Map map55 = new HashMap<>(); + map55.put("value","*" + selectValue + "*"); + if("serial_number".equals(field)){ + map55.put("boost",10); + }else if("title".equals(field)){ + map55.put("boost",8); + }else if("file_text".equals(field)){ + map55.put("boost",0.01); + }else if("content".equals(field)){ + map55.put("boost",0.01); + }else if("file_name".equals(field)){ + map55.put("boost",5); + } + + map24.put(field, map55); map44.put("wildcard",map24); queryMapJson.add(map44); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java index c60745cc9..de51fcadf 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java @@ -575,6 +575,14 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl getTaskAssigneeListByPrcIds(@RequestParam("actiProcInstIds") String actiProcInstIds); + + @RequestMapping(value = "/bat-wkflow/deleteProcessInstanceByPrcIds",method = RequestMethod.GET) + Result deleteProcessInstanceByPrcIds(@RequestParam("prcIds") String prcIds); } diff --git a/jero-web/package-lock.json b/jero-web/package-lock.json index 5038e50fb..cb4ecb038 100644 --- a/jero-web/package-lock.json +++ b/jero-web/package-lock.json @@ -5,7 +5,6 @@ "requires": true, "packages": { "": { - "name": "jero-web", "version": "2.4.2", "dependencies": { "@antv/data-set": "^0.11.4", @@ -19,6 +18,7 @@ "dayjs": "^1.8.0", "dom-align": "1.12.0", "echarts": "^5.0.2", + "element-ui": "^2.15.10", "enquire.js": "^2.1.6", "jquery": "^3.6.0", "js-base64": "^3.7.2", @@ -26,6 +26,7 @@ "jsencrypt": "^3.0.0-rc.1", "lodash.get": "^4.4.2", "lodash.pick": "^4.4.0", + "mammoth": "^1.4.21", "md5": "^2.2.1", "nprogress": "^0.2.0", "tinymce": "^5.3.2", @@ -40,6 +41,7 @@ "vue-ls": "^3.2.0", "vue-photo-preview": "^1.1.3", "vue-print-nb-jeecg": "^1.0.9", + "vue-quill-editor": "^3.0.6", "vue-router": "^3.0.1", "vue-splitpane": "^1.0.4", "vuedraggable": "^2.20.0", @@ -7447,7 +7449,6 @@ "version": "1.5.2", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -7797,6 +7798,11 @@ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" }, + "node_modules/dingbat-to-unicode": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dingbat-to-unicode/-/dingbat-to-unicode-1.0.1.tgz", + "integrity": "sha512-98l0sW87ZT58pU4i61wa2OHwxbiYSbuxsCBozaVnYX2iCnr3bLM3fIes1/ej7h1YdOKuKt/MLs706TVnALA65w==" + }, "node_modules/dir-glob": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", @@ -8019,6 +8025,14 @@ "ignored": "bin/ignored" } }, + "node_modules/duck": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/duck/-/duck-0.1.12.tgz", + "integrity": "sha512-wkctla1O6VfP89gQ+J/yDesM0S7B7XLXjKGzXxMDVFg7uEn706niAtyYovKbyq1oT9YwDcly721/iUWoc8MVRg==", + "dependencies": { + "underscore": "^1.13.1" + } + }, "node_modules/duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", @@ -8089,6 +8103,38 @@ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.644.tgz", "integrity": "sha512-N7FLvjDPADxad+OXXBuYfcvDvCBG0aW8ZZGr7G91sZMviYbnQJFxdSvUus4SJ0K7Q8dzMxE+Wx1d/CrJIIJ0sw==" }, + "node_modules/element-ui": { + "version": "2.15.10", + "resolved": "https://registry.npmjs.org/element-ui/-/element-ui-2.15.10.tgz", + "integrity": "sha512-jmD++mU2wKXbisvx4fxOl2mHaU+HWHTAq/3Wf8x9Bwyu4GdDZPLABb+CGi3DWN6fPqdgRcd74aX39DO+YHObLw==", + "dependencies": { + "async-validator": "~1.8.1", + "babel-helper-vue-jsx-merge-props": "^2.0.0", + "deepmerge": "^1.2.0", + "normalize-wheel": "^1.0.1", + "resize-observer-polyfill": "^1.5.0", + "throttle-debounce": "^1.0.1" + }, + "peerDependencies": { + "vue": "^2.5.17" + } + }, + "node_modules/element-ui/node_modules/async-validator": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-1.8.5.tgz", + "integrity": "sha512-tXBM+1m056MAX0E8TL2iCjg8WvSyXu0Zc8LNtYqrVeyoL3+esHRZ4SieE9fKQyyU09uONjnMEjrNBMqT0mbvmA==", + "dependencies": { + "babel-runtime": "6.x" + } + }, + "node_modules/element-ui/node_modules/throttle-debounce": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-1.1.0.tgz", + "integrity": "sha512-XH8UiPCQcWNuk2LYePibW/4qL97+ZQ1AN3FNXwZRBNPPowo/NRU5fAlDCSNBJIYCKbioZfuYtMhG4quqoJhVzg==", + "engines": { + "node": ">=4" + } + }, "node_modules/elliptic": { "version": "6.5.4", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", @@ -9319,8 +9365,7 @@ "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, "node_modules/extend-shallow": { "version": "3.0.2", @@ -9506,6 +9551,11 @@ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, + "node_modules/fast-diff": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.1.2.tgz", + "integrity": "sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig==" + }, "node_modules/fast-glob": { "version": "2.2.7", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", @@ -10692,6 +10742,11 @@ "node": ">=0.10.0" } }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" + }, "node_modules/import-cwd": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", @@ -11517,6 +11572,17 @@ "verror": "1.10.0" } }, + "node_modules/jszip": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "dependencies": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" + } + }, "node_modules/killable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", @@ -11675,6 +11741,14 @@ "node": ">= 0.8.0" } }, + "node_modules/lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "dependencies": { + "immediate": "~3.0.5" + } + }, "node_modules/lines-and-columns": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", @@ -11981,6 +12055,16 @@ "loose-envify": "cli.js" } }, + "node_modules/lop": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/lop/-/lop-0.4.1.tgz", + "integrity": "sha512-9xyho9why2A2tzm5aIcMWKvzqKsnxrf9B5I+8O30olh6lQU8PH978LqZoI4++37RBgS1Em5i54v1TFs/3wnmXQ==", + "dependencies": { + "duck": "^0.1.12", + "option": "~0.2.1", + "underscore": "^1.13.1" + } + }, "node_modules/loud-rejection": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", @@ -12032,6 +12116,35 @@ "semver": "bin/semver.js" } }, + "node_modules/mammoth": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/mammoth/-/mammoth-1.5.1.tgz", + "integrity": "sha512-7ZioZBf/1HjYrm1qZJOO+DD+rYxLvwrHS+HVOwW89hwIp+r6ZqJ/Eq2rXSS+8ezZ3/DuW6FUUp2Dfz6e7B2pBQ==", + "dependencies": { + "argparse": "~1.0.3", + "bluebird": "~3.4.0", + "dingbat-to-unicode": "^1.0.1", + "jszip": "^3.7.1", + "lop": "^0.4.1", + "path-is-absolute": "^1.0.0", + "sax": "~1.1.1", + "underscore": "^1.13.1", + "xmlbuilder": "^10.0.0" + }, + "bin": { + "mammoth": "bin/mammoth" + } + }, + "node_modules/mammoth/node_modules/bluebird": { + "version": "3.4.7", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz", + "integrity": "sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA==" + }, + "node_modules/mammoth/node_modules/sax": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.1.6.tgz", + "integrity": "sha512-8zci48uUQyfqynGDSkUMD7FCJB96hwLnlZOXlgs1l3TX+LW27t3psSWKUxC0fxVgA86i8tL4NwGcY1h/6t3ESg==" + }, "node_modules/map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", @@ -12769,6 +12882,11 @@ "node": ">=4" } }, + "node_modules/normalize-wheel": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/normalize-wheel/-/normalize-wheel-1.0.1.tgz", + "integrity": "sha512-1OnlAPZ3zgrk8B91HyRj+eVv+kS5u+Z0SCsak6Xil/kmgEia50ga7zfkumayonZrImffAxPU/5WcyGhzetHNPA==" + }, "node_modules/npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", @@ -13062,6 +13180,11 @@ "node": ">=4" } }, + "node_modules/option": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/option/-/option-0.2.4.tgz", + "integrity": "sha512-pkEqbDyl8ou5cpq+VsnQbe/WlEy5qS7xPzMS1U55OCG9KPvwFD46zDbxQIj3egJSFc3D+XhYOPUzz49zQAVy7A==" + }, "node_modules/optionator": { "version": "0.8.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", @@ -13259,6 +13382,11 @@ "no-case": "^2.2.0" } }, + "node_modules/parchment": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/parchment/-/parchment-1.1.4.tgz", + "integrity": "sha512-J5FBQt/pM2inLzg4hEWmzQx/8h8D0CiDxaG3vyp9rKrQRSDgBlhjdP5jQGgosEajXPSQouXGHOmVdgo7QmJuOg==" + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -16427,6 +16555,45 @@ "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" }, + "node_modules/quill": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/quill/-/quill-1.3.7.tgz", + "integrity": "sha512-hG/DVzh/TiknWtE6QmWAF/pxoZKYxfe3J/d/+ShUWkDvvkZQVTPeVmUJVu1uE6DDooC4fWTiCLh84ul89oNz5g==", + "dependencies": { + "clone": "^2.1.1", + "deep-equal": "^1.0.1", + "eventemitter3": "^2.0.3", + "extend": "^3.0.2", + "parchment": "^1.1.4", + "quill-delta": "^3.6.2" + } + }, + "node_modules/quill-delta": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/quill-delta/-/quill-delta-3.6.3.tgz", + "integrity": "sha512-wdIGBlcX13tCHOXGMVnnTVFtGRLoP0imqxM696fIPwIf5ODIYUHIvHbZcyvGlZFiFhK5XzDC2lpjbxRhnM05Tg==", + "dependencies": { + "deep-equal": "^1.0.1", + "extend": "^3.0.2", + "fast-diff": "1.1.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/quill/node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/quill/node_modules/eventemitter3": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz", + "integrity": "sha512-jLN68Dx5kyFHaePoXWPsCGW5qdyZQtLYHkxkg02/Mz6g0kYpDx4FyP6XfArhQdlOC4b8Mv+EMxPo/8La7Tzghg==" + }, "node_modules/raf": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", @@ -18953,6 +19120,11 @@ "node": ">=0.10.0" } }, + "node_modules/underscore": { + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", + "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" + }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", @@ -20058,6 +20230,19 @@ "babel-plugin-transform-runtime": "^6.23.0" } }, + "node_modules/vue-quill-editor": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/vue-quill-editor/-/vue-quill-editor-3.0.6.tgz", + "integrity": "sha512-g20oSZNWg8Hbu41Kinjd55e235qVWPLfg4NvsLW6d+DhgBTFbEuMpcWlUdrD6qT3+Noim6DRu18VLM9lVShXOQ==", + "dependencies": { + "object-assign": "^4.1.1", + "quill": "^1.3.4" + }, + "engines": { + "node": ">= 4.0.0", + "npm": ">= 3.0.0" + } + }, "node_modules/vue-ref": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/vue-ref/-/vue-ref-2.0.0.tgz", @@ -21124,6 +21309,14 @@ "resolved": "https://registry.npmjs.org/xe-utils/-/xe-utils-2.4.8.tgz", "integrity": "sha512-/95ZaQK9GJE/EYrpMv9lgKdkEMQwWv4a4TF4dddi4gSzZ33vp/rZvzJNNV9XknaOkMizK9IBSX8CB/nL+SAk0Q==" }, + "node_modules/xmlbuilder": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-10.1.1.tgz", + "integrity": "sha512-OyzrcFLL/nb6fMGHbiRDuPup9ljBycsdCypwuyg5AAHvyWzGfChJpCXMG88AGTIMFhGZ9RccFN1e6lhg3hkwKg==", + "engines": { + "node": ">=4.0" + } + }, "node_modules/xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", @@ -27565,8 +27758,7 @@ "deepmerge": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", - "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==", - "dev": true + "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==" }, "default-gateway": { "version": "5.0.5", @@ -27837,6 +28029,11 @@ } } }, + "dingbat-to-unicode": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dingbat-to-unicode/-/dingbat-to-unicode-1.0.1.tgz", + "integrity": "sha512-98l0sW87ZT58pU4i61wa2OHwxbiYSbuxsCBozaVnYX2iCnr3bLM3fIes1/ej7h1YdOKuKt/MLs706TVnALA65w==" + }, "dir-glob": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", @@ -28034,6 +28231,14 @@ "minimatch": "^3.0.4" } }, + "duck": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/duck/-/duck-0.1.12.tgz", + "integrity": "sha512-wkctla1O6VfP89gQ+J/yDesM0S7B7XLXjKGzXxMDVFg7uEn706niAtyYovKbyq1oT9YwDcly721/iUWoc8MVRg==", + "requires": { + "underscore": "^1.13.1" + } + }, "duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", @@ -28099,6 +28304,34 @@ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.644.tgz", "integrity": "sha512-N7FLvjDPADxad+OXXBuYfcvDvCBG0aW8ZZGr7G91sZMviYbnQJFxdSvUus4SJ0K7Q8dzMxE+Wx1d/CrJIIJ0sw==" }, + "element-ui": { + "version": "2.15.10", + "resolved": "https://registry.npmjs.org/element-ui/-/element-ui-2.15.10.tgz", + "integrity": "sha512-jmD++mU2wKXbisvx4fxOl2mHaU+HWHTAq/3Wf8x9Bwyu4GdDZPLABb+CGi3DWN6fPqdgRcd74aX39DO+YHObLw==", + "requires": { + "async-validator": "~1.8.1", + "babel-helper-vue-jsx-merge-props": "^2.0.0", + "deepmerge": "^1.2.0", + "normalize-wheel": "^1.0.1", + "resize-observer-polyfill": "^1.5.0", + "throttle-debounce": "^1.0.1" + }, + "dependencies": { + "async-validator": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-1.8.5.tgz", + "integrity": "sha512-tXBM+1m056MAX0E8TL2iCjg8WvSyXu0Zc8LNtYqrVeyoL3+esHRZ4SieE9fKQyyU09uONjnMEjrNBMqT0mbvmA==", + "requires": { + "babel-runtime": "6.x" + } + }, + "throttle-debounce": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-1.1.0.tgz", + "integrity": "sha512-XH8UiPCQcWNuk2LYePibW/4qL97+ZQ1AN3FNXwZRBNPPowo/NRU5fAlDCSNBJIYCKbioZfuYtMhG4quqoJhVzg==" + } + } + }, "elliptic": { "version": "6.5.4", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", @@ -29083,8 +29316,7 @@ "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, "extend-shallow": { "version": "3.0.2", @@ -29233,6 +29465,11 @@ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, + "fast-diff": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.1.2.tgz", + "integrity": "sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig==" + }, "fast-glob": { "version": "2.2.7", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", @@ -30202,6 +30439,11 @@ "dev": true, "optional": true }, + "immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" + }, "import-cwd": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", @@ -30829,6 +31071,17 @@ "verror": "1.10.0" } }, + "jszip": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "requires": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" + } + }, "killable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", @@ -30952,6 +31205,14 @@ "type-check": "~0.3.2" } }, + "lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "requires": { + "immediate": "~3.0.5" + } + }, "lines-and-columns": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", @@ -31219,6 +31480,16 @@ "js-tokens": "^3.0.0 || ^4.0.0" } }, + "lop": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/lop/-/lop-0.4.1.tgz", + "integrity": "sha512-9xyho9why2A2tzm5aIcMWKvzqKsnxrf9B5I+8O30olh6lQU8PH978LqZoI4++37RBgS1Em5i54v1TFs/3wnmXQ==", + "requires": { + "duck": "^0.1.12", + "option": "~0.2.1", + "underscore": "^1.13.1" + } + }, "loud-rejection": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", @@ -31260,6 +31531,34 @@ } } }, + "mammoth": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/mammoth/-/mammoth-1.5.1.tgz", + "integrity": "sha512-7ZioZBf/1HjYrm1qZJOO+DD+rYxLvwrHS+HVOwW89hwIp+r6ZqJ/Eq2rXSS+8ezZ3/DuW6FUUp2Dfz6e7B2pBQ==", + "requires": { + "argparse": "~1.0.3", + "bluebird": "~3.4.0", + "dingbat-to-unicode": "^1.0.1", + "jszip": "^3.7.1", + "lop": "^0.4.1", + "path-is-absolute": "^1.0.0", + "sax": "~1.1.1", + "underscore": "^1.13.1", + "xmlbuilder": "^10.0.0" + }, + "dependencies": { + "bluebird": { + "version": "3.4.7", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz", + "integrity": "sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA==" + }, + "sax": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.1.6.tgz", + "integrity": "sha512-8zci48uUQyfqynGDSkUMD7FCJB96hwLnlZOXlgs1l3TX+LW27t3psSWKUxC0fxVgA86i8tL4NwGcY1h/6t3ESg==" + } + } + }, "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", @@ -31878,6 +32177,11 @@ "sort-keys": "^1.0.0" } }, + "normalize-wheel": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/normalize-wheel/-/normalize-wheel-1.0.1.tgz", + "integrity": "sha512-1OnlAPZ3zgrk8B91HyRj+eVv+kS5u+Z0SCsak6Xil/kmgEia50ga7zfkumayonZrImffAxPU/5WcyGhzetHNPA==" + }, "npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", @@ -32092,6 +32396,11 @@ "is-wsl": "^1.1.0" } }, + "option": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/option/-/option-0.2.4.tgz", + "integrity": "sha512-pkEqbDyl8ou5cpq+VsnQbe/WlEy5qS7xPzMS1U55OCG9KPvwFD46zDbxQIj3egJSFc3D+XhYOPUzz49zQAVy7A==" + }, "optionator": { "version": "0.8.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", @@ -32251,6 +32560,11 @@ "no-case": "^2.2.0" } }, + "parchment": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/parchment/-/parchment-1.1.4.tgz", + "integrity": "sha512-J5FBQt/pM2inLzg4hEWmzQx/8h8D0CiDxaG3vyp9rKrQRSDgBlhjdP5jQGgosEajXPSQouXGHOmVdgo7QmJuOg==" + }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -34870,6 +35184,41 @@ "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" }, + "quill": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/quill/-/quill-1.3.7.tgz", + "integrity": "sha512-hG/DVzh/TiknWtE6QmWAF/pxoZKYxfe3J/d/+ShUWkDvvkZQVTPeVmUJVu1uE6DDooC4fWTiCLh84ul89oNz5g==", + "requires": { + "clone": "^2.1.1", + "deep-equal": "^1.0.1", + "eventemitter3": "^2.0.3", + "extend": "^3.0.2", + "parchment": "^1.1.4", + "quill-delta": "^3.6.2" + }, + "dependencies": { + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==" + }, + "eventemitter3": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz", + "integrity": "sha512-jLN68Dx5kyFHaePoXWPsCGW5qdyZQtLYHkxkg02/Mz6g0kYpDx4FyP6XfArhQdlOC4b8Mv+EMxPo/8La7Tzghg==" + } + } + }, + "quill-delta": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/quill-delta/-/quill-delta-3.6.3.tgz", + "integrity": "sha512-wdIGBlcX13tCHOXGMVnnTVFtGRLoP0imqxM696fIPwIf5ODIYUHIvHbZcyvGlZFiFhK5XzDC2lpjbxRhnM05Tg==", + "requires": { + "deep-equal": "^1.0.1", + "extend": "^3.0.2", + "fast-diff": "1.1.2" + } + }, "raf": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", @@ -36915,6 +37264,11 @@ } } }, + "underscore": { + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", + "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" + }, "unicode-canonical-property-names-ecmascript": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", @@ -37268,8 +37622,7 @@ "integrity": "sha512-ERAREN+6k/ywrwT+swcMo4CDIAq6dBjnB0+lhmsSfaip06BGHSBfNKg6yl7/4GJ9Nk2kioUw3llNhEboJuIKmQ==", "requires": { "@types/node": "*", - "viser": "^2.0.0", - "vue": "^2.5.3" + "viser": "^2.0.0" } }, "vm-browserify": { @@ -37814,6 +38167,15 @@ "babel-plugin-transform-runtime": "^6.23.0" } }, + "vue-quill-editor": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/vue-quill-editor/-/vue-quill-editor-3.0.6.tgz", + "integrity": "sha512-g20oSZNWg8Hbu41Kinjd55e235qVWPLfg4NvsLW6d+DhgBTFbEuMpcWlUdrD6qT3+Noim6DRu18VLM9lVShXOQ==", + "requires": { + "object-assign": "^4.1.1", + "quill": "^1.3.4" + } + }, "vue-ref": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/vue-ref/-/vue-ref-2.0.0.tgz", @@ -38665,6 +39027,11 @@ "resolved": "https://registry.npmjs.org/xe-utils/-/xe-utils-2.4.8.tgz", "integrity": "sha512-/95ZaQK9GJE/EYrpMv9lgKdkEMQwWv4a4TF4dddi4gSzZ33vp/rZvzJNNV9XknaOkMizK9IBSX8CB/nL+SAk0Q==" }, + "xmlbuilder": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-10.1.1.tgz", + "integrity": "sha512-OyzrcFLL/nb6fMGHbiRDuPup9ljBycsdCypwuyg5AAHvyWzGfChJpCXMG88AGTIMFhGZ9RccFN1e6lhg3hkwKg==" + }, "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", diff --git a/jero-web/package.json b/jero-web/package.json index 0a928ac24..c6b13b18e 100644 --- a/jero-web/package.json +++ b/jero-web/package.json @@ -21,6 +21,7 @@ "dayjs": "^1.8.0", "dom-align": "1.12.0", "echarts": "^5.0.2", + "element-ui": "^2.15.10", "enquire.js": "^2.1.6", "jquery": "^3.6.0", "js-base64": "^3.7.2", @@ -46,6 +47,7 @@ "vue-quill-editor": "^3.0.6", "vue-router": "^3.0.1", "vue-splitpane": "^1.0.4", + "vue-virtual-scroll-list": "^2.3.4", "vuedraggable": "^2.20.0", "vuex": "^3.1.0", "vxe-table": "2.9.13", diff --git a/jero-web/src/common/lang/en-us.js b/jero-web/src/common/lang/en-us.js index 446ed7756..c1a20eec6 100644 --- a/jero-web/src/common/lang/en-us.js +++ b/jero-web/src/common/lang/en-us.js @@ -1315,4 +1315,6 @@ module.exports = { consistentAssessment:'Consistent assessment', viewConsistentAssessment:'View Consistent Assessment', viewAll:'View All', + endProcess:'End Process', + thereForTheCurrentlySelectedData:'There is no standard breakdown for the currently selected data', } \ No newline at end of file diff --git a/jero-web/src/common/lang/zh-cn.js b/jero-web/src/common/lang/zh-cn.js index c587adabc..6790de6e1 100644 --- a/jero-web/src/common/lang/zh-cn.js +++ b/jero-web/src/common/lang/zh-cn.js @@ -1416,4 +1416,6 @@ module.exports = { consistentAssessment:'一致评估', viewConsistentAssessment:'查看一致评估', viewAll:'查看全部', + endProcess:'结束流程', + thereForTheCurrentlySelectedData:'当前所选数据暂无标准分解单', } \ No newline at end of file diff --git a/jero-web/src/components/PersonnelSelection/index.vue b/jero-web/src/components/PersonnelSelection/index.vue index 0ed9c5187..3586254e2 100644 --- a/jero-web/src/components/PersonnelSelection/index.vue +++ b/jero-web/src/components/PersonnelSelection/index.vue @@ -31,68 +31,63 @@

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {{$t('dataLoading')}} + - + :keeps="40" + show-checkbox + v-model="checkboxList" + class="treeWrap" + :props="{ + isLeaf: 'leaf' + }" + :defaultCheckedKeys="defaultCheckedKeys" + :check-strictly="false" + node-key="id" + @check-change="handleCheckChange" + :data.sync="gData"> + + {{ data.title }} + + + + + + + + + + + + + + +
-
{{$t('cancel')}} {{$t('submit')}}
+ diff --git a/jero-web/src/components/virtualNodeTree/tree.vue b/jero-web/src/components/virtualNodeTree/tree.vue new file mode 100644 index 000000000..a98fea522 --- /dev/null +++ b/jero-web/src/components/virtualNodeTree/tree.vue @@ -0,0 +1,1130 @@ + + + + + diff --git a/jero-web/src/store/modules/user.js b/jero-web/src/store/modules/user.js index 81b44fd6b..c59903a89 100644 --- a/jero-web/src/store/modules/user.js +++ b/jero-web/src/store/modules/user.js @@ -142,6 +142,14 @@ const user = { //Vue.ls.set(USER_AUTH,authData); sessionStorage.setItem(USER_AUTH, JSON.stringify(authData)) sessionStorage.setItem(SYS_BUTTON_AUTH, JSON.stringify(allAuthData)) + let gData = localStorage.getItem('gData') + if (!gData) { + getAction('sys/user/queryUserTreeList', {}).then((res) => { + if (res.success) { + localStorage.setItem('gData', JSON.stringify(res.result)) + } + }) + } if (menuData && menuData.length > 0) { //update--begin--autor:qinfeng-----date:20200109------for:JEECG-63 一级菜单的子菜单全部是隐藏路由,则一级菜单不显示------ menuData.forEach((item, index) => { @@ -178,6 +186,7 @@ const user = { Vue.ls.remove(USER_NAME) Vue.ls.remove(UI_CACHE_DB_DICT_DATA) Vue.ls.remove(CACHE_INCLUDED_ROUTES) + localStorage.removeItem('gData') //console.log('logoutToken: '+ logoutToken) logout(logoutToken).then(() => { if (process.env.VUE_APP_SSO == 'true') { diff --git a/jero-web/src/views/businessSupport/collectionOfRegulatoryOpinions/components/evaluationResultsList.vue b/jero-web/src/views/businessSupport/collectionOfRegulatoryOpinions/components/evaluationResultsList.vue index e559e1e27..1e8d605e3 100644 --- a/jero-web/src/views/businessSupport/collectionOfRegulatoryOpinions/components/evaluationResultsList.vue +++ b/jero-web/src/views/businessSupport/collectionOfRegulatoryOpinions/components/evaluationResultsList.vue @@ -8,6 +8,14 @@ {{$route.query.serialNumber +' '+$t('evaluationResults')}} +
+
+ + {{$t('endProcess')}} +
+
@@ -70,6 +78,7 @@ import viewFileModel from '@/components/viewFileModel/index' import { getAction, putAction, downloadFile } from '@/api/manage' import { mapGetters } from 'vuex' + import { postAction } from '../../../../api/manage' export default { name: 'evaluationResultsList', @@ -85,6 +94,7 @@ pageNo: 1, dataSource: [], formInline: {}, + administrators:false, userInfoQuery: {}, columns: [ { @@ -143,6 +153,14 @@ mounted() { this.userInfoQuery = this.userInfo() this.getData() + this.administrators = false + if (this.userInfo().userRoleList && this.userInfo().userRoleList.length > 0) { + this.userInfo().userRoleList.forEach(res => { + if (res.roleCode == 'admin') { + this.administrators = true + } + }) + } }, methods: { ...mapGetters(['userInfo']), @@ -232,6 +250,20 @@ }, seeFileClick(item) { this.$refs.viewFileModelRef.clickButtonToUpload(item) + }, + endProcessClick() { + let query = { + ids: this.$route.query.id + } + postAction('/lawsOpinionGather/lawsOpinionGatherEO/batchCompleteTask', query).then((res) => { + if (res.success) { + this.$message.success(this.$t('OperationSuccessful')) + this.pageNo = 1 + this.getList() + } else { + this.$message.warning(this.$t('operationFailed')) + } + }) } } } @@ -239,6 +271,7 @@ \ No newline at end of file diff --git a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/countryCardView.vue b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/countryCardView.vue index 703474c0d..dac938744 100644 --- a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/countryCardView.vue +++ b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/countryCardView.vue @@ -53,11 +53,14 @@ :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" v-else-if="item2.lableType == 7 && item2.lableName && index2 != 0"> - - - - - + + + {{item2.contentFileName}} + + + + {{$t('viewFile')}} @@ -102,6 +105,7 @@ import countryCardViewAdd from './countryCardViewAdd' import viewFileModel from '@/components/viewFileModel/index' import { mapGetters } from 'vuex' + import { Base64 } from 'js-base64' export default { name: 'countryCardView', @@ -122,6 +126,7 @@ countryCardViewList: [], applyMarkets: '', header_text: '', + downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download', url: { list: '/problemKnowledgeBase/countryCardTempEO/list', deleteOne: '' @@ -137,6 +142,25 @@ }, methods: { ...mapGetters(['userInfo']), + pdfPreview(fileQuery) { + let fileName = fileQuery.contentFileName + fileQuery.id = fileQuery.lableName + let index1 = fileName.lastIndexOf('.') + let index2 = fileName.length + let fileSuffix = fileName.substring(index1, index2) + if (fileSuffix == '.pdf') { + window.open('/pdf/web/viewer.html?file=' + encodeURIComponent('/jero-boot/sys/common/pdf/viewFile?id=' + fileQuery.id+'&userName='+this.userInfo().username)) + } else if (fileSuffix == '.docx' || fileSuffix == '.doc') { + let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix) + window.open(url, '_blank') + } else if (fileSuffix == '.xlsx' || fileSuffix == '.xls' + || fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') { + let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix) + window.open(url, '_blank') + } else { + downloadFile('/sys/common/downLoadFile', fileQuery.contentFileName, { id: fileQuery.id }) + } + }, displayInformationClick() { this.$refs.displayInformationModelRef.getData(JSON.parse(JSON.stringify(this.displayList))) }, @@ -149,7 +173,7 @@ this.$refs.countryCardViewAddRef.add(this.countryCardViewList) }, download(item) { - downloadFile('/sys/common/downLoadFile', item.fileName, { id: item.id, userName: this.userInfo().username }) + downloadFile('/sys/common/downLoadFile', item.contentFileName, { id: item.lableName, userName: this.userInfo().username }) }, countryCardViewAddForm(val) { this.countryCardViewList = JSON.parse(JSON.stringify(val)) @@ -222,12 +246,14 @@ if (val.lableType == 3) { res1.list.push({ lableName: val.contentDropDownValue, - lableType: val.lableType + lableType: val.lableType, + contentFileName:val.contentFileName || '' }) } else { res1.list.push({ lableName: val.content, - lableType: val.lableType + lableType: val.lableType, + contentFileName:val.contentFileName || '' }) } } @@ -490,6 +516,7 @@ text-overflow: ellipsis; white-space: nowrap; float: left; + color: #040B29 } .icon-text { diff --git a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseAdd.vue b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseAdd.vue index 62a54c369..0fc3fa9f4 100644 --- a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseAdd.vue +++ b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseAdd.vue @@ -139,12 +139,16 @@
{{$t('content')}}
- + I am Example', @@ -345,53 +351,14 @@ }, mounted() { this.getBase() - let quill = this.$refs.myQuillEditor.quill - this.$forceUpdate() - quill.root.addEventListener( - 'paste', - (evt) => { - if ( - evt.clipboardData && - evt.clipboardData.files && - evt.clipboardData.files.length - ) { - evt.preventDefault(); - [].forEach.call(evt.clipboardData.files, (file) => { - if (!file.type.match(/^image\/(gif|jpe?g|a?png|bmp)/i)) { - return - } - const formData = new FormData() - formData.append('file', file) - axios({ - url: this.uploadAction, - method: 'post', - data: formData, - headers: { - 'Content-Type': 'multipart/form-data', - 'X-Access-Token': Vue.ls.get(ACCESS_TOKEN) - } - }) - .then((res) => { - if (res.data.success) { - let quill = this.$refs.myQuillEditor.quill - let length = quill.getSelection().index - let fileName = res.data.result.fileName - let index1 = fileName.lastIndexOf('.') - let index2 = fileName.length - let fileSuffix = fileName.substring(index1, index2) - quill.insertEmbed(length, 'image', window._CONFIG['domianWebImgURL'] + '/sys/common/download/' + res.data.result.id + fileSuffix) - quill.setSelection(length + 1) - } - }) - }) - } - }, - false - ) if (this.$route.query.id) { this.queryById() document.title = this.$t('problemKnowledgeBase') + this.$t('edit') } else { + this.isDisplayIndex = true + this.$nextTick(()=>{ + this.myQuillEditor() + }) document.title = this.$t('problemKnowledgeBase') + this.$t('newlyAdded') } }, @@ -408,6 +375,51 @@ Delta.ops = ops return Delta }, + myQuillEditor() { + let quill = this.$refs.myQuillEditor.quill + this.$forceUpdate() + quill.root.addEventListener( + 'paste', + (evt) => { + if ( + evt.clipboardData && + evt.clipboardData.files && + evt.clipboardData.files.length + ) { + evt.preventDefault(); + [].forEach.call(evt.clipboardData.files, (file) => { + if (!file.type.match(/^image\/(gif|jpe?g|a?png|bmp)/i)) { + return + } + const formData = new FormData() + formData.append('file', file) + axios({ + url: this.uploadAction, + method: 'post', + data: formData, + headers: { + 'Content-Type': 'multipart/form-data', + 'X-Access-Token': Vue.ls.get(ACCESS_TOKEN) + } + }) + .then((res) => { + if (res.data.success) { + let quill = this.$refs.myQuillEditor.quill + let length = quill.getSelection().index + let fileName = res.data.result.fileName + let index1 = fileName.lastIndexOf('.') + let index2 = fileName.length + let fileSuffix = fileName.substring(index1, index2) + quill.insertEmbed(length, 'image', window._CONFIG['domianWebImgURL'] + '/sys/common/download/' + res.data.result.id + fileSuffix) + quill.setSelection(length + 1) + } + }) + }) + } + }, + false + ) + }, quilleditorBlur() { this.$refs.ruleForm.validateField('content') }, @@ -428,12 +440,15 @@ this.formInline = { ...this.formInline } }, queryById() { + this.loading = true + this.isDisplayIndex = false let query = { id: this.$route.query.id } getAction('/problemKnowledgeBase/problemKnowledgeBaseEO/queryById', query).then((res) => { if (res.success) { this.formInline = res.result || {} + this.formInlineOne = JSON.parse(JSON.stringify(res.result)) if (this.formInline.showPermissions == 'Privacy') { this.isDisplay = true if (this.formInline.permissionUserList && this.formInline.permissionUserList.length > 0) { @@ -458,16 +473,28 @@ id: this.formInline.bussDocumentLibraryId.split(',')[index] }) }) + } else { + this.formInline.standNumber = [] } this.formInline = { ...this.formInline } } else { this.formInline = {} } + this.isDisplayIndex = true + this.$nextTick(() => { + this.myQuillEditor() + }) + this.loading = false }) }, backClick() { this.$router.go(-1) }, + onEditorReady(quill) { + if (this.formInlineOne.content){ + document.getElementsByClassName('ql-editor')[0].innerHTML = this.formInlineOne.content + } + }, showPermissionsChange(event, name) { if (event == 'Open') { this.isDisplay = false @@ -481,9 +508,6 @@ onEditorFocus(quill) { console.log('editor focus!', quill) }, - onEditorReady(quill) { - console.log('editor ready!', quill) - }, PersonnelSelectionChange(value, id) { this.formInline[value] = id this.formInline = { ...this.formInline } @@ -575,9 +599,11 @@ this.$refs.ruleForm.validate(valid => { if (valid) { let formInline = JSON.parse(JSON.stringify(this.formInline)) - if (formInline.standNumber && formInline.standNumber.length > 0){ + // if (formInline.standNumber && formInline.standNumber.length > 0) { + if (formInline.standNumber instanceof Array){ formInline.standNumber = formInline.standNumber.join(',') } + // } this.loading = true this.confirmLoading = true let url = '' @@ -805,6 +831,7 @@ height: 38px; margin-right: 10px; } + .itemOption { display: inline-block; width: 100%; diff --git a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseListView.vue b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseListView.vue index 81b22a7d4..5c4fbfd08 100644 --- a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseListView.vue +++ b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseListView.vue @@ -14,7 +14,7 @@
-
+
@@ -102,7 +102,7 @@
- + {{val.createBy}} {{val.createTime}}
@@ -151,6 +151,10 @@