From c93ff74fb5a47d38554d40b5ab00cfe07eac1f2a Mon Sep 17 00:00:00 2001 From: wangting <675591594@qq.com> Date: 星期四, 24 十月 2024 17:21:22 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/index.vue | 22 Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue | 4 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsPvolumesController.java | 47 +++ Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIManagerServiceI.java | 2 Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PRMDTO.java | 2 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/UIManagerController.java | 2 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsPvolumesServiceI.java | 25 + Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsPortalVIServiceImpl.java | 59 ++- Source/plt-web/plt-web-ui/src/api/UI/uiDefine.js | 2 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/LogBasicServiceI.java | 5 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsPvolumesServiceImpl.java | 104 ++++++- Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/tableDialog.vue | 515 +++++++++++------------------------- Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java | 9 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/LogBasicServiceImpl.java | 1 14 files changed, 385 insertions(+), 414 deletions(-) diff --git a/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PRMDTO.java b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PRMDTO.java index edca04d..c77b9c8 100644 --- a/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PRMDTO.java +++ b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PRMDTO.java @@ -2,7 +2,7 @@ import java.util.List; -public class PRMDTO implements java.io.Serializable { +public class PRMDTO implements java.io.Serializable { private static final long serialVersionUID = -9069714336905186990L; /** diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsPvolumesController.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsPvolumesController.java index 961a448..5e088d1 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsPvolumesController.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsPvolumesController.java @@ -3,11 +3,15 @@ import com.vci.corba.common.PLException; import com.vci.corba.framework.data.PvolumeInfo; import com.vci.dto.*; +import com.vci.starter.web.annotation.log.VciBusinessLog; import com.vci.starter.web.exception.VciBaseException; import com.vci.starter.web.pagemodel.BaseResult; +import com.vci.starter.web.util.ControllerUtil; import com.vci.starter.web.util.VciBaseUtil; import com.vci.web.service.OsActionServiceI; import com.vci.web.service.OsPvolumesServiceI; +import com.vci.web.util.Func; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -15,6 +19,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.Arrays; +import java.util.Date; import java.util.List; /** @@ -106,4 +111,46 @@ return objectBaseResult; } } + + /** + * 涓烘枃浠舵煖鍒嗛厤鎴愬憳 + * @param pvolumId + * @param userIds + * @return + */ + @PostMapping("/savePvolumeUser") + public BaseResult savePvolumeUser(String pvolumId ,String userIds){ + try { + return osPvolumesServiceI.savePvolumeUser(pvolumId,Func.toStrList(userIds)) ? BaseResult.success("鏂囦欢鏌滃垎閰嶆垚鍛樻垚鍔燂紒"):BaseResult.fail("鏂囦欢鏌滃垎閰嶆垚鍛樺け璐ワ紒"); + } catch (PLException e) { + BaseResult objectBaseResult = new BaseResult<>(); + objectBaseResult.setCode(Integer.parseInt(e.code)); + objectBaseResult.setMsg(Arrays.toString(e.messages)); + return objectBaseResult; + } + } + + /** + * 瀵煎嚭閫変腑鐨勬枃浠舵煖淇℃伅 + * @param exportFileName 瀵煎嚭鐨勬枃浠跺悕 + * @param pvolumeIds 闇�瑕佸鍑虹殑灞炴�ц嫳鏂囧悕绉� + * @param response + */ + @GetMapping( "/exportPvolumes") + @VciBusinessLog(operateName = "瀵煎嚭閫変腑鐨勬枃浠舵煖淇℃伅") + public void exportPvolumes(String exportFileName, String pvolumeIds, HttpServletResponse response){ + try { + String excelPath = osPvolumesServiceI.exportPvolumes(exportFileName,pvolumeIds); + ControllerUtil.writeFileToResponse(response,excelPath); + } catch (Exception e) { + String msg = "瀵煎嚭鏂囦欢鏌滄椂鍑虹幇閿欒锛屽師鍥狅細" + VciBaseUtil.getExceptionMessage(e); + try { + e.printStackTrace(); + ControllerUtil.writeDataToResponse(response,"error_" + Func.format(new Date(),"yyyy-MM-dd HHmmss.sss") + ".txt", StringUtils.isNotBlank(msg)?msg.getBytes():new byte[0],null); + } catch (IOException ioException) { + ioException.printStackTrace(); + } + } + } + } diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/UIManagerController.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/UIManagerController.java index 45b0f76..052bdbb 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/UIManagerController.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/UIManagerController.java @@ -535,7 +535,7 @@ * @param tabButtonVO * @return 淇敼缁撴灉 */ - @PutMapping("/updateTabbutton") + @PutMapping("/updateTabButton") public BaseResult updateTabButton(@RequestBody PLTabButtonVO tabButtonVO){ try { return uiManagerService.updateTabButton(tabButtonVO); diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/LogBasicServiceI.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/LogBasicServiceI.java index e29f5fe..b7d4522 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/LogBasicServiceI.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/LogBasicServiceI.java @@ -44,6 +44,11 @@ */ BaseResult getOperatingUsers() throws PLException; + /** + * 瀵煎嚭鏃ュ織 + * @param dto 瀵煎嚭鐨勬枃浠跺悕 + * @return + */ String exportLogs(LogQueryCriteriaDTO dto) throws PLException; } diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsPvolumesServiceI.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsPvolumesServiceI.java index 8459c9c..dcd27a9 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsPvolumesServiceI.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsPvolumesServiceI.java @@ -1,12 +1,10 @@ package com.vci.web.service; import com.vci.corba.common.PLException; +import com.vci.corba.framework.data.PvolumeInfo; import com.vci.dto.*; import com.vci.starter.web.pagemodel.BaseResult; -import org.springframework.web.multipart.MultipartFile; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; import java.util.List; /** @@ -40,4 +38,25 @@ * @return 鍒犻櫎缁撴灉 */ BaseResult deletePvolume(String ids) throws PLException; + /** + * 鏂囦欢鏌滃鍑� + * @param exportFileName 瀵煎嚭鐨勬枃浠跺悕 + * @param pvolumeIds 瀵煎嚭閫変腑鐨勫嵎id + * @return + * @throws PLException + */ + String exportPvolumes(String exportFileName,String pvolumeIds) throws PLException; + /** + * 鏍规嵁鍗穒d鏌ヨ鍗� + * @param ids + * @return + */ + List<PvolumeInfo> getPvolumeInfoByIds(List<String> ids) throws PLException; + /** + * 涓烘枃浠舵煖鍒嗛厤鎴愬憳 + * @param pvolumId + * @param userIds + * @return + */ + boolean savePvolumeUser(String pvolumId ,List<String> userIds) throws PLException; } diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIManagerServiceI.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIManagerServiceI.java index 114058c..2b9dda6 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIManagerServiceI.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIManagerServiceI.java @@ -175,7 +175,7 @@ * @param tabButtonVO * @return */ - boolean saveOrUpdateTapButton(PLTabButtonVO tabButtonVO,boolean isAdd); + boolean saveOrUpdateTabButton(PLTabButtonVO tabButtonVO,boolean isAdd); /** * 鍒犻櫎鍗曚釜鎸夐挳閰嶇疆 diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/LogBasicServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/LogBasicServiceImpl.java index 96b9519..3dd6390 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/LogBasicServiceImpl.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/LogBasicServiceImpl.java @@ -239,7 +239,6 @@ if(Func.isEmpty(logList)){ excelDataList.add(new WriteExcelData(1,1, "瀵煎嚭鐨勬棩蹇楀垪琛ㄤ负绌猴紒")); }else{ - //鍏堟寜鐓у睘鎬х被鍨嬫帓搴忥紝涓嶅悓灞炴�х被鍨嬪鍑虹殑鏁版嵁涔辩殑鏁堟灉 AtomicInteger i = new AtomicInteger(); Arrays.stream(logList).forEach(log->{ excelDataList.add(new WriteExcelData(i.get() +1,0, log.username)); diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsPortalVIServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsPortalVIServiceImpl.java index 0cb6b97..b1486a2 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsPortalVIServiceImpl.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsPortalVIServiceImpl.java @@ -573,6 +573,7 @@ } return BaseResult.success("瀵煎叆鎴愬姛"); } + private String readLines(String filePath){ StringBuffer sb=new StringBuffer(); FileInputStream prmFile=null; @@ -590,6 +591,7 @@ } return sb.toString(); } + /** * 鎷疯礉鏁版嵁鍒皐ord妯℃澘涓� * @param fileName 瑕佸啓鍏ョ殑鏁版嵁 @@ -620,6 +622,7 @@ } return filePath; } + public List<PortalVIDTO> listByIds(Collection idList){ List<PortalVIDTO> portalVIVOList=new ArrayList<>(); if(CollectionUtils.isEmpty(idList)){ @@ -637,13 +640,15 @@ portalVIVOList= portalVIO2DTOS(portalVIList); return portalVIVOList; } - private BaseResult savePortalVIDTO(PortalVIDTO portalVIDTO,boolean isEdit) { + private BaseResult savePortalVIDTO(PortalVIDTO portalVIDTO,boolean isEdit) { boolean _isBtm=false; boolean flag = false; String labelName=PortalVIType.Form.getName(); try { - VciBaseUtil.alertNotNull(portalVIDTO.getViName(),"鍚嶇О"); + VciBaseUtil.alertNotNull( + portalVIDTO.getViName(),"鍚嶇О" + ,portalVIDTO.getPrm().getFormQtName(),"缁戝畾琛ㄥ崟"); if(portalVIDTO.getPrm()==null||portalVIDTO.getPrm().getPrmItemList()==null||portalVIDTO.getPrm().getPrmItemList().size()==0){ throw new Throwable(labelName+"锛屾湭璁剧疆"); } @@ -706,6 +711,7 @@ } return BaseResult.success("淇濆瓨"+labelName+"鎴愬姛!"); } + @Override public Map<String, PortalVIVO> selectAllPortalVIMap() throws VciBaseException { return null; @@ -757,7 +763,6 @@ return ""; } - /** * 鏋氫妇鐨勬暟鎹璞¤浆鎹负鏄剧ず瀵硅薄 * @@ -773,6 +778,7 @@ }); return portalVIVOS; } + /** * 琛ㄥ崟鐨勬暟鎹璞¤浆鎹负鏄剧ず瀵硅薄 * @param portalVIDTOS 琛ㄥ崟鐨勫璞� @@ -787,6 +793,7 @@ }); return portalVIS; } + /** * 琛ㄥ崟鐨勬暟鎹璞¤浆鎹负鏄剧ず瀵硅薄 * @param PortalVIS 琛ㄥ崟鐨勫璞� @@ -811,13 +818,13 @@ */ @Override public PortalVI portalVIDTOO2VI(PortalVIDTO portalVIDTO) { - PortalVI portalVI=new PortalVI(); - portalVI.id=portalVIDTO.getId(); - portalVI.typeFlag= portalVIDTO.getTypeFlag(); - portalVI.typeName=portalVIDTO.getTypeName(); - portalVI.viName=portalVIDTO.getViName(); - portalVI.viType=portalVIDTO.getViType(); - short viType =portalVIDTO.getViType(); + PortalVI portalVI = new PortalVI(); + portalVI.id = portalVIDTO.getId(); + portalVI.typeFlag = portalVIDTO.getTypeFlag(); + portalVI.typeName = portalVIDTO.getTypeName(); + portalVI.viName = portalVIDTO.getViName(); + portalVI.viType = portalVIDTO.getViType(); + short viType = portalVIDTO.getViType(); PRMDO prmdo = prmDOO2VIS(portalVIDTO.getPrm(),viType); try { portalVI.prm=UITools.getPRMText(prmdo); @@ -826,6 +833,7 @@ } return portalVI; } + /** * 琛ㄥ崟鐨勬暟鎹璞¤浆鎹负鏄剧ず瀵硅薄 * @param portalVI @@ -844,6 +852,7 @@ portalVIDTO.setPrm(prmDOO2DTOS(prmdo,viType)); return portalVIDTO; } + /** * 琛ㄥ崟鏁版嵁瀵硅薄杞崲 * @param prmdto @@ -1210,25 +1219,25 @@ prmItemDO.setItemOutFields(VciBaseUtil.array2String(prmItemDTO.getItemOutFieldList().toArray(new String[]{})));//闇�瑕佷娇鐢ㄧ殑瀛楁 prmItemDO.setItemKeyFields(CollectionUtils.isEmpty(prmItemDTO.getItemKeyFieldList())?"":VciBaseUtil.array2String(prmItemDTO.getItemKeyFieldList().toArray(new String[]{})));//闇�瑕佹悳绱㈢殑瀛楁 - List<String> newItemFieldWidthList=prmItemDTO.getItemFieldWidthList().stream().map(KeyValue::getValue).distinct().collect(Collectors.toList()); + List<String> newItemFieldWidthList = prmItemDTO.getItemFieldWidthList().stream().map(KeyValue::getValue).distinct().collect(Collectors.toList()); prmItemDO.setItemFieldWidth(VciBaseUtil.array2String(newItemFieldWidthList.toArray(new String[]{}),":"));//瀛楁瀹藉害 - List<ItemSeniorQueryBO> itemSeniorQueryBOS= prmItemDTO.getItemSeniorQueryBOS(); - List<String> itemSeniorQueryColsList=new ArrayList<>(); + List<ItemSeniorQueryBO> itemSeniorQueryBOS = prmItemDTO.getItemSeniorQueryBOS(); + List<String> itemSeniorQueryColsList = new ArrayList<>(); List<String> itemSeniorQueryColsCountsList=new ArrayList<>(); - List<String> itemQuerySqlList=new ArrayList<>(); + List<String> itemQuerySqlList = new ArrayList<>(); itemSeniorQueryBOS.stream().forEach(itemSeniorQueryBO -> { - String itemSeniorQueryCols= itemSeniorQueryBO.getItemSeniorQueryCols(); - String itemSeniorQueryColsCounts=itemSeniorQueryBO.getItemSeniorQueryColsCounts(); - String itemQuerySql=itemSeniorQueryBO.getItemQuerySql(); + String itemSeniorQueryCols = itemSeniorQueryBO.getItemSeniorQueryCols(); + String itemSeniorQueryColsCounts = itemSeniorQueryBO.getItemSeniorQueryColsCounts(); + String itemQuerySql = itemSeniorQueryBO.getItemQuerySql(); if(StringUtils.isNotBlank(itemSeniorQueryCols)) { itemSeniorQueryColsList.add(itemSeniorQueryCols); } - if(StringUtils.isNotBlank(itemSeniorQueryColsCounts)) { - itemSeniorQueryColsCountsList.add(itemSeniorQueryColsCounts); - } - if(StringUtils.isNotBlank(itemQuerySql)){ - itemQuerySqlList.add(itemQuerySql); - } + if(StringUtils.isNotBlank(itemSeniorQueryColsCounts)) { + itemSeniorQueryColsCountsList.add(itemSeniorQueryColsCounts); + } + if(StringUtils.isNotBlank(itemQuerySql)){ + itemQuerySqlList.add(itemQuerySql); + } }); prmItemDO.setItemSeniorQueryCols(VciBaseUtil.array2String(itemSeniorQueryColsList.toArray(new String[]{}))); prmItemDO.setItemSeniorQueryColsCounts(VciBaseUtil.array2String(itemSeniorQueryColsCountsList.toArray(new String[]{}))); @@ -1241,8 +1250,8 @@ */ private List<KeyValue> initItemFieldWidthList(String itemOutFields,String itemFieldWidth){ List<KeyValue> keyValueList=new ArrayList<>(); - List<String>itemOutFieldList= VciBaseUtil.str2List(itemOutFields); - List<String>itemFieldWidthList= VciBaseUtil.str2List(itemFieldWidth,","); + List<String>itemOutFieldList = VciBaseUtil.str2List(itemOutFields); + List<String>itemFieldWidthList =VciBaseUtil.str2List(itemFieldWidth,","); if(itemOutFieldList.size()>0) { for (int i = 0; i < itemOutFieldList.size(); i++) { KeyValue keyValue = new KeyValue(); diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsPvolumesServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsPvolumesServiceImpl.java index e171a7d..8baf55b 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsPvolumesServiceImpl.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsPvolumesServiceImpl.java @@ -1,39 +1,26 @@ package com.vci.web.service.impl; -import cn.hutool.core.io.FileUtil; -import com.vci.constant.FrameWorkLangCodeConstant; import com.vci.corba.common.PLException; import com.vci.corba.common.data.UserEntityInfo; import com.vci.corba.framework.data.PvolumeInfo; -import com.vci.corba.portal.data.Constraint; -import com.vci.corba.portal.data.PLAction; -import com.vci.corba.portal.data.PLActionCls; -import com.vci.corba.portal.data.PLActionParam; import com.vci.dto.*; import com.vci.starter.poi.bo.WriteExcelData; import com.vci.starter.poi.bo.WriteExcelOption; import com.vci.starter.poi.util.ExcelUtil; import com.vci.starter.web.exception.VciBaseException; import com.vci.starter.web.pagemodel.BaseResult; -import com.vci.starter.web.util.ControllerUtil; import com.vci.starter.web.util.LangBaseUtil; import com.vci.starter.web.util.LocalFileUtil; -import com.vci.web.enumpck.ActionEnum; -import com.vci.web.enumpck.PlTypetypeEnum; -import com.vci.web.other.ExportActionLogBean; -import com.vci.web.other.ExportBeans; -import com.vci.web.service.OsActionServiceI; +import com.vci.starter.web.util.VciBaseUtil; +import com.vci.starter.web.util.WebThreadLocalUtil; import com.vci.web.service.OsPvolumesServiceI; import com.vci.web.util.Func; -import com.vci.web.util.PinyinCommon; import com.vci.web.util.PlatformClientUtil; import com.vci.web.util.WebUtil; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.web.multipart.MultipartFile; -import javax.servlet.http.HttpServletResponse; import java.io.*; import java.util.*; import java.util.stream.Collectors; @@ -133,6 +120,7 @@ } return BaseResult.success("淇敼鎴愬姛锛�"); } + /** * 鍒犻櫎鍗� * @param ids 涓婚敭闆嗗悎 @@ -160,6 +148,92 @@ } /** + * 鏂囦欢鏌滃鍑� + * @param exportFileName 瀵煎嚭鐨勬枃浠跺悕 + * @param pvolumeIds 瀵煎嚭閫変腑鐨勫嵎id + * @return + * @throws PLException + */ + @Override + public String exportPvolumes(String exportFileName, String pvolumeIds) throws PLException { + if(Func.isBlank(pvolumeIds)){ + throw new PLException("500",new String[]{"璇峰嬀閫夎瀵煎嚭鐨勬暟鎹�!"}); + } + //鐣岄潰娌′紶鍚嶇О锛屼娇鐢ㄩ粯璁ゅ鍑哄悕绉� + exportFileName = Func.isBlank(exportFileName) ? "鏂囦欢鏌滃鍑篲" + Func.format(new Date(),"yyyy-MM-dd HHmmss.sss"):exportFileName; + //璁剧疆鍒楀悕 + List<String> columns = new ArrayList<>(Arrays.asList("鍗峰悕","鏈哄櫒绫诲瀷","璺緞鍚嶇О","棣栭�夎矾寰�","鏈嶅姟鍣�","鍗锋湇鍔�")); + + //鍐檈xcel + String excelPath = LocalFileUtil.getDefaultTempFolder() + File.separator + exportFileName + ".xls"; + try { + new File(excelPath).createNewFile(); + } catch (Throwable e) { + throw new VciBaseException(LangBaseUtil.getErrorMsg(e), new String[]{excelPath}, e); + } + //璁剧疆鍒� + List<WriteExcelData> excelDataList = new ArrayList<>(); + //璁剧疆鍒楀ご + for (int index = 0; index < columns.size(); index++) { + excelDataList.add(new WriteExcelData(0,index, columns.get(index))); + } + //鎸夌収鏂囦欢鏌淚D鏌ヨ鏂囦欢鏌� + List<String> pvolumeIdList = Func.toStrList(pvolumeIds); + List<PvolumeInfo> pvolumeInfoList = this.getPvolumeInfoByIds(pvolumeIdList); + + if(Func.isEmpty(pvolumeInfoList)){ + excelDataList.add(new WriteExcelData(1,1, "鏈幏鍙栧埌瑕佸鍑虹殑鏂囦欢鏌滀俊鎭紝璇峰埛鏂板悗灏濊瘯閲嶆柊瀵煎嚭锛�")); + }else{ + for (int i = 0; i < pvolumeInfoList.size(); i++) { + PvolumeInfo pvolumeInfo = pvolumeInfoList.get(i); + excelDataList.add(new WriteExcelData(i+1,0, pvolumeInfo.name)); + excelDataList.add(new WriteExcelData(i+1,1, pvolumeInfo.type)); + excelDataList.add(new WriteExcelData(i+1,2, pvolumeInfo.path)); + excelDataList.add(new WriteExcelData(i+1,3, pvolumeInfo.isvalid)); + excelDataList.add(new WriteExcelData(i+1,4, pvolumeInfo.host)); + excelDataList.add(new WriteExcelData(i+1,5, pvolumeInfo.service)); + } + } + WriteExcelOption excelOption = new WriteExcelOption(excelDataList); + ExcelUtil.writeDataToFile(excelPath, excelOption); + return excelPath; + } + + /** + * 鏍规嵁鍗穒d鏌ヨ鍗� + * @param ids + * @return + */ + @Override + public List<PvolumeInfo> getPvolumeInfoByIds(List<String> ids) throws PLException { + List<PvolumeInfo> pvolumeInfos = new ArrayList<>(); + if(Func.isEmpty(ids)){ + return pvolumeInfos; + } + PvolumeInfo[] allPvolumes = platformClientUtil.getFrameworkService().getAllPvolumes(); + if (Func.isEmpty(allPvolumes)){ + return pvolumeInfos; + } + pvolumeInfos = Arrays.stream(allPvolumes).filter(pvolumeInfo -> ids.contains(pvolumeInfo.id)).collect(Collectors.toList()); + return pvolumeInfos; + } + + /** + * 涓烘枃浠舵煖鍒嗛厤鎴愬憳----杩欎釜鍔熻兘鐜板湪娌$敤涓婏紝骞冲彴鐨勪繚瀛樻柟娉曟槸娉ㄩ噴鎺夌殑 + * @param pvolumId + * @param userIds + * @return + */ + @Override + public boolean savePvolumeUser(String pvolumId ,List<String> userIds) throws PLException { + VciBaseUtil.alertNotNull(pvolumId,"鏂囦欢鏌滀富閿�",userIds,"鐢ㄦ埛涓婚敭闆嗗悎"); + UserEntityInfo userEntityInfo = new UserEntityInfo(); + userEntityInfo.setUserName(WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId()); + boolean resBoolean = platformClientUtil.getFrameworkService().savePvolumeUser(pvolumId, userIds.toArray(new String[userIds.size()]), userEntityInfo); + return resBoolean; + } + + /** * 鍗� 浠嶤orba绔浆鍒癏ibernate瀵硅薄绔� * @param pvoInfo * @return diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java index 2dd03e2..37a13ae 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java @@ -1368,7 +1368,7 @@ */ @Override public BaseResult addTabButton(PLTabButtonVO tabButtonVO) { - boolean res = this.saveOrUpdateTapButton(tabButtonVO, true); + boolean res = this.saveOrUpdateTabButton(tabButtonVO, true); return res ? BaseResult.success("鎸夐挳閰嶇疆娣诲姞鎴愬姛锛�"):BaseResult.success("鎸夐挳閰嶇疆娣诲姞澶辫触锛�"); } @@ -1379,7 +1379,7 @@ */ @Override public BaseResult updateTabButton(PLTabButtonVO tabButtonVO) { - boolean res = this.saveOrUpdateTapButton(tabButtonVO, false); + boolean res = this.saveOrUpdateTabButton(tabButtonVO, false); return res ? BaseResult.success("鎸夐挳閰嶇疆淇敼鎴愬姛锛�"):BaseResult.success("鎸夐挳閰嶇疆淇敼澶辫触锛�"); } @@ -1389,11 +1389,10 @@ * @return */ @Override - public boolean saveOrUpdateTapButton(PLTabButtonVO tabButtonVO,boolean isAdd){ - VciBaseUtil.alertNotNull(tabButtonVO,"鎸夐挳閰嶇疆瀵硅薄",tabButtonVO.getLabel(),"鍙傛暟鍚嶇О"); + public boolean saveOrUpdateTabButton(PLTabButtonVO tabButtonVO,boolean isAdd){ + VciBaseUtil.alertNotNull(tabButtonVO,"鎸夐挳閰嶇疆瀵硅薄",tabButtonVO.getLabel(),"鍙傛暟鍚嶇О",tabButtonVO.getTableOId(),"椤甸潰瀹氫箟涓婚敭"); //妫�鏌ュ綋鍓嶆坊鍔犵殑鍒楄〃鏄惁閲嶅锛屼絾鏄繖鍎垮彧鏀寔鍗曟潯鏁版嵁淇濆瓨锛屾墍鏈夊綋鍓嶅垪琛ㄥ垽閲嶅彲浠ュ墠绔潵鍋� //String btnParamValidate = this.geCheckRes(); - if (tabButtonVO.getSeq() < 1 || tabButtonVO.getSeq() > 63) { throw new VciBaseException("鎸夊簭鍙疯秴鍑鸿寖鍥达紝璇蜂慨鏀癸紝鎸夐挳銆愮紪鍙枫�戝彧鑳藉湪銆�1-63銆戣寖鍥村唴銆�"); } diff --git a/Source/plt-web/plt-web-ui/src/api/UI/uiDefine.js b/Source/plt-web/plt-web-ui/src/api/UI/uiDefine.js index 8e90762..8a6bec0 100644 --- a/Source/plt-web/plt-web-ui/src/api/UI/uiDefine.js +++ b/Source/plt-web/plt-web-ui/src/api/UI/uiDefine.js @@ -72,7 +72,7 @@ method: 'post', responseType: 'blob', data: { - params + ...params } }) } diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/tableDialog.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/tableDialog.vue index ef4e680..3e8a6f5 100644 --- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/tableDialog.vue +++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/tableDialog.vue @@ -9,10 +9,10 @@ width="60%" @close="closeDialog" > - <el-form v-loading="formLoading" :model="form" :rules="rules" label-position="right" label-width="100px"> + <el-form ref="form" v-loading="formLoading" :model="form" :rules="rules" label-position="right" label-width="100px"> <el-row> <el-col :span="12"> - <el-form-item label="鍚嶇О"> + <el-form-item label="鍚嶇О" prop="viName"> <el-input v-model="form.viName" placeholder="璇疯緭鍏ュ悕绉�" size="mini"></el-input> </el-form-item> </el-col> @@ -30,14 +30,14 @@ </el-col> <el-col :span="12"> - <el-form-item label="缁戝畾琛ㄥ崟"> + <el-form-item label="缁戝畾琛ㄥ崟" prop="itemInObj"> <div style="display: flex;align-items: center;"> - <el-select v-model="form.itemInObj" clearable placeholder="璇烽�夋嫨缁戝畾琛ㄥ崟" size="mini"> + <el-select v-model="form.itemInObj" clearable placeholder="璇烽�夋嫨缁戝畾琛ㄥ崟" size="mini" + @change="formSelectChange"> <el-option v-for="(item,index) in selectList" :key="index" :label="item.viName" :value="item.id"></el-option> </el-select> - <el-button plain size="mini" style="margin-left: 3px" type="success" @click="formSelectClickHandler">閫夋嫨 - </el-button> + </div> </el-form-item> </el-col> @@ -54,131 +54,42 @@ </el-form-item> </el-col> - <el-col :span="12"> - <el-form-item label="鏄剧ず瀛楁"> - <div style="display: flex; align-items: center"> - <div style="height: 260px; width: 160px; border: 1px solid #bdbbbb;overflow-y: auto"> - <el-table - :data="form.itemSelectOutFieldList" - :highlight-current-row="true" - style="width: 100%" - @row-click="showLabelLeftRowClick"> - <el-table-column - align="center" - label="鍙娇鐢ㄥ瓧娈�" - prop="id"> - </el-table-column> - </el-table> - </div> - <div style="margin-left: 10px; margin-right: 10px"> - <el-button circle icon="el-icon-back" style="margin-right: 10px" - @click="showLeftTransferClick"></el-button> - <el-button circle icon="el-icon-right" @click="showRightTransferClick"></el-button> - </div> - <div style="height: 260px; width: 160px; border: 1px solid #bdbbbb;overflow-y: auto"> - <el-table - :data="form.itemOutFieldList" - :highlight-current-row="true" - style="width: 100%" - @row-click="showLabelRightRowClick"> - <el-table-column - align="center" - label="闇�瑕佷娇鐢ㄥ瓧娈�" - prop="id"> - </el-table-column> - </el-table> - </div> - </div> - </el-form-item> - </el-col> - - <el-col :span="12"> - <el-form-item label="鎼滅储瀛楁"> - <div style="display: flex; align-items: center"> - <div style="height: 260px; width: 160px; border: 1px solid #bdbbbb;overflow-y: auto"> - <el-table - :data="form.itemSearchFieldList" - :highlight-current-row="true" - style="width: 100%" - @row-click="searchLeftRowClick"> - <el-table-column - align="center" - label="鍙緵鎼滅储瀛楁" - prop="id"> - </el-table-column> - </el-table> - </div> - <div style="margin-left: 10px; margin-right: 10px"> - <el-button circle icon="el-icon-back" style="margin-right: 10px" - @click="searchLeftTransferClick"></el-button> - <el-button circle icon="el-icon-right" @click="searchRightTransferClick"></el-button> - </div> - <div style="height: 260px; width: 160px; border: 1px solid #bdbbbb;overflow-y: auto"> - <el-table - :data="form.itemKeyFieldList" - :highlight-current-row="true" - style="width: 100%" - @row-click="searchRightRowClick"> - <el-table-column - align="center" - label="闇�鎼滅储瀛楁" - prop="id"> - </el-table-column> - </el-table> - </div> - </div> - </el-form-item> - </el-col> - - <el-col :span="12"> - <el-form-item label="鍒�"> - <el-select v-model="form.itemFileWidthSelect" placeholder="璇烽�夋嫨鍒�" size="mini" @change="itemFileWidthChange"> - <el-option v-for="(item,index) in form.itemFieldWidthList" :key="index" :label="item.key" - :value="item.key"></el-option> + <el-col :span="24"> + <el-form-item label="鏄剧ず瀛楁" prop="showLabel"> + <el-select v-model="form.itemOutFieldList" multiple placeholder="璇烽�夋嫨" style="width: 100%" + @change="outFileChange"> + <el-option + v-for="(item,index) in form.itemSelectOutFieldList" + :key="index" + :label="item.id" + :value="item.id"> + </el-option> </el-select> </el-form-item> </el-col> - <el-col :span="12"> - <el-form-item label="瀹藉害"> - <div style="display: flex;align-items: center;"> - <el-input v-model="form.itemWidth" placeholder="璇疯緭鍏ュ搴�" size="mini" style="width: 193px" - type="number"></el-input> - <el-button plain size="mini" style="margin-left: 3px" type="success" @click="widthSetUpClickHandler">璁剧疆 - </el-button> - </div> + <el-col :span="24"> + <el-form-item label="鎼滅储瀛楁"> + <el-select v-model="form.itemKeyFieldList" multiple placeholder="璇烽�夋嫨" style="width: 100%"> + <el-option + v-for="(item,index) in form.itemSearchFieldList" + :key="index" + :label="item.id" + :value="item.id"> + </el-option> + </el-select> </el-form-item> </el-col> + </el-row> <el-col :span="24"> <el-form-item label="璁剧疆鍒楀"> - <div style="height: 150px; width: 100%; border: 1px solid #bdbbbb;overflow-y: auto"> - <el-table - :data="form.itemFieldWidthList" - :highlight-current-row="true" - border - stripe - style="width: 100%" - @row-click="itemFileWidthRowClick"> - <el-table-column - align="center" - label="鍒楀悕" - prop="key"> - <template slot-scope="scope"> - <el-tag size="medium">{{ scope.row.key }}</el-tag> - </template> - </el-table-column> - <el-table-column - align="center" - label="鍒楀" - prop="value"> - <template slot-scope="scope"> - <el-tag size="medium">{{ scope.row.value }}</el-tag> - </template> - </el-table-column> - </el-table> - </div> + <avue-crud + :data="form.itemFieldWidthList" + :option="fileWidthOption"> + </avue-crud> + </el-form-item> </el-col> @@ -295,29 +206,6 @@ <el-button @click="closeDialog">鍙� 娑�</el-button> <el-button type="primary" @click="dialogSaveClickHandler">纭� 瀹�</el-button> </span> - - <el-dialog - v-dialogDrag - v-loading="selectFormLoading" - :visible.sync="selectFormVisible" - append-to-body="true" - class="avue-dialog" - title="琛ㄥ崟閫夋嫨" - width="50%"> - <avue-crud - ref="crud" - :data="selectFormData" - :option="selectFormOption" - @selection-change="selectionChange" - @row-click="rowClick"> - - </avue-crud> - - <span slot="footer" class="dialog-footer"> - <el-button @click="selectFormVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="selectFormAddClickHandler">纭� 瀹�</el-button> - </span> - </el-dialog> </el-dialog> </template> @@ -345,6 +233,35 @@ }, data() { return { + fileWidthOption: { + ...basicOption, + addBtn: false, + editBtn: false, + delBtn: false, + refreshBtn: false, + highlightCurrentRow: true, + height: 200, + menu: false, + selection: false, + column: [ + { + label: '鍒楀悕', + prop: 'key', + }, + { + label: '鍒楀', + prop: 'value', + cell: true, + rules: [ + { + required: true, + message: '璇疯緭鍏ュ垪瀹�', + trigger: 'blur' + } + ] + } + ] + }, searchQtNameList: [], formLoading: false, itemImgHeight: '', @@ -376,7 +293,23 @@ selectFormData: [], selectFormLoading: false, selectFormVisible: false, - rules: {}, + rules: { + viName: [{ + required: true, + message: '璇疯緭鍏ュ悕绉�', + trigger: 'blur' + }], + itemInObj: [{ + required: true, + message: '璇烽�夋嫨缁戝畾琛ㄥ崟', + trigger: 'change' + }], + showLabel: [{ + required: true, + message: '璇烽�夋嫨鏄剧ず瀛楁', + trigger: 'submit' + }], + }, form: { viName: '', // 鍚嶇О itemPageSize: '', // 姣忛〉鍙樉绀鸿鏁� @@ -391,7 +324,6 @@ itemKeyFieldList: [], // 闇�瑕佹悳绱㈠瓧娈� itemWidth: '250', // 瀹藉害 itemFieldWidthList: [], // 璁剧疆鍒楀鏁扮粍 涓� itemOutFieldList 鐩稿尮閰� - itemFileWidthSelect: '', // 鍒椾笅鎷夋 searchLabel: '', // 鏌ヨ瀛楁 searchNumber: '1', // 鏌ヨ娆℃暟 searchSql: '', // 鏌ヨsql @@ -416,7 +348,6 @@ itemKeyFieldList: [], // 闇�瑕佹悳绱㈠瓧娈� itemWidth: '250', // 瀹藉害 itemFieldWidthList: [], // 璁剧疆鍒楀鏁扮粍 涓� itemOutFieldList 鐩稿尮閰� - itemFileWidthSelect: '', // 鍒椾笅鎷夋 searchLabel: '', // 鏌ヨ瀛楁 searchNumber: '1', // 鏌ヨ娆℃暟 searchSql: '', // 鏌ヨsql @@ -440,33 +371,6 @@ } }, methods: { - // 鍏抽棴瀵硅瘽妗� - closeDialog() { - this.visible = false; - this.form = {...this.defaultForm}; - }, - - // 閫夋嫨琛ㄥ崟鍏抽棴瀵硅瘽妗� - closeSelectFormDialog() { - - }, - - // 閫夋嫨缁戝畾琛ㄥ崟 - formSelectClickHandler() { - this.selectFormVisible = true; - const params = { - 'conditionMap[typeName]': this.treeRadio === '0' ? this.TreeNodeRow.id : this.TreeNodeRow.name, - 'conditionMap[viType]': 'Form', - 'conditionMap[viTypeFlag]': this.treeRadio === '0' ? 'BtmType' : this.treeRadio === '1' ? 'LinkType' : '', - } - gridPortalVIDatas(1, -1, params).then(res => { - if (res.data.code === 200) { - const data = res.data.data; - this.selectFormData = data; - } - }); - }, - // 鑾峰彇鍒濆鍖栬〃鏍奸噷闇�瑕佺殑榛樿鏁版嵁 getFormSelectList() { this.formLoading = true; @@ -502,53 +406,45 @@ const list = data.filter(item => !this.form.itemOutFieldList.some(outItem => outItem.id === item.id) ); - this.getSearchSelectList(); + this.getSearchSelectList(); // 閫夋嫨琛ㄥ崟涓嬫媺鎺ュ彛 + this.getFormSelect(); // 鏌ヨ妯℃澘涓嬫媺鎺ュ彛 + this.getDbList(); // 鍙屽嚮鎿嶄綔涓嬫媺鎺ュ彛 this.$set(this.form, 'itemSelectOutFieldList', list); this.formLoading = false; } }) }, - - // 鏌ヨ妯℃澘涓嬫媺鎺ュ彛鏌ヨ - getSearchSelectList() { - getObjTypeQTs({btName: this.treeRadio === '0' ? this.TreeNodeRow.id : this.TreeNodeRow.name}).then(res => { - this.searchQtNameList = res.data.data; - }) + // 鍏抽棴瀵硅瘽妗� + closeDialog() { + this.visible = false; + this.$refs.form.clearValidate(); + this.form = {...this.defaultForm}; }, - // 琛ㄦ牸澶氶�� - selectionChange(list) { - this.selectList = list; - }, - - // 琛岀偣鍑� - rowClick(row) { - func.rowClickHandler( - row, - this.$refs.crud, - this.lastIndex, - (newIndex) => { - this.lastIndex = newIndex; - }, - () => { - this.selectList = []; - } - ); - }, - - // 琛ㄥ崟閫夋嫨纭畾 - selectFormAddClickHandler() { - if (this.selectList.length <= 0) { - this.$message.error('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�'); - return; - } - - if (this.selectList.length > 1) { - this.$message.error('鍙兘閫夋嫨涓�鏉℃暟鎹�'); - return; - } + // 鑾峰彇閫夋嫨琛ㄥ崟鏁版嵁 + getFormSelect() { const params = { - id: this.selectList[0].id, + 'conditionMap[typeName]': this.treeRadio === '0' ? this.TreeNodeRow.id : this.TreeNodeRow.name, + 'conditionMap[viType]': 'Form', + 'conditionMap[viTypeFlag]': this.treeRadio === '0' ? 'BtmType' : this.treeRadio === '1' ? 'LinkType' : '', + } + gridPortalVIDatas(1, -1, params).then(res => { + if (res.data.code === 200) { + const data = res.data.data; + this.selectList = data; + } + }); + }, + + // 琛ㄥ崟閫夋嫨change浜嬩欢 + formSelectChange(val) { + // console.log(val); + this.form.itemOutFieldList = []; + this.form.itemKeyFieldList = []; + this.form.itemFieldWidthList = []; + + const params = { + id: val, viType: '1' } getPortalVIById(params).then(res => { @@ -559,120 +455,32 @@ } }); this.form.itemSelectOutFieldList = data; - this.selectFormVisible = false; } }) - this.form.itemInObj = this.selectList[0].id; }, - // 鏄剧ず瀛楁宸︿晶琛ㄦ牸琛岀偣鍑� - showLabelLeftRowClick(row) { - this.showLabelLeftRow = row; + // 鏄剧ず瀛楁change + outFileChange(val) { + this.form.itemSearchFieldList = this.form.itemOutFieldList.map(item => { + return { + id: item + } + }) + this.form.itemFieldWidthList = this.form.itemOutFieldList.map(item => { + return { + $cellEdit: true, + key: item, + value: '250', + + } + }) }, - // 鏄剧ず瀛楁鍙充晶琛ㄦ牸琛岀偣鍑� - showLabelRightRowClick(row) { - this.showLabelRightRow = row; - }, - - // 鎼滅储瀛楁宸︿晶琛ㄦ牸琛岀偣鍑� - searchLeftRowClick(row) { - this.searchLeftRow = row; - }, - - // 鎼滅储瀛楁鍙充晶琛ㄦ牸琛岀偣鍑� - searchRightRowClick(row) { - this.searchRightRow = row; - }, - - // 鏄剧ず瀛楁绌挎妗嗗乏绉� - showLeftTransferClick() { - if (func.isEmptyObject(this.showLabelRightRow)) { - this.$message.error('璇烽�夋嫨涓�鏉℃暟鎹�'); - return; - } - this.form.itemSelectOutFieldList.unshift(this.showLabelRightRow); - this.form.itemOutFieldList = this.form.itemOutFieldList.filter(item => item.id !== this.showLabelRightRow.id); - this.form.itemSearchFieldList = this.form.itemOutFieldList; - this.form.itemFieldWidthList = this.form.itemFieldWidthList.filter(item => item.key !== this.showLabelRightRow.id); - this.form.itemFileWidthSelect = this.form.itemFieldWidthList.length >= 1 ? this.form.itemFieldWidthList[0].key : ''; - this.showLabelRightRow = {}; - }, - - // 鏄剧ず瀛楁绌挎妗嗗彸绉� - showRightTransferClick() { - if (func.isEmptyObject(this.showLabelLeftRow)) { - this.$message.error('璇烽�夋嫨涓�鏉℃暟鎹�'); - return; - } - - - const onlyFlag = this.form.itemOutFieldList.some(item => item.id === this.showLabelLeftRow.id); - - if (onlyFlag) { - this.$message.error('璇锋鏌ユ槸鍚︽湁閲嶅椤�'); - this.form.itemSelectOutFieldList = this.form.itemSelectOutFieldList.filter(selectItem => - !this.form.itemOutFieldList.some(outItem => outItem.id === selectItem.id) - ) - return; - } - - this.form.itemOutFieldList.push(this.showLabelLeftRow); - this.form.itemSearchFieldList = this.form.itemOutFieldList; - - // 杩囨护 itemSelectOutFieldList锛岀Щ闄� id 涓� showLabelLeftRow.id 鐩稿悓鐨勫璞� - this.form.itemSelectOutFieldList = this.form.itemSelectOutFieldList.filter(item => item.id !== this.showLabelLeftRow.id); - this.form.itemFieldWidthList.push({ - key: this.showLabelLeftRow.id, - value: this.form.itemWidth - }); - this.form.itemFileWidthSelect = this.form.itemFieldWidthList[0].key; - this.showLabelLeftRow = {}; - - }, - - // 鎼滅储瀛楁绌挎妗嗗乏绉� - searchLeftTransferClick() { - if (func.isEmptyObject(this.searchRightRow)) { - this.$message.error('璇烽�夋嫨涓�鏉℃暟鎹�'); - return; - } - this.form.itemSearchFieldList.unshift(this.searchRightRow); - this.form.itemKeyFieldList = this.form.itemKeyFieldList.filter(item => item.id !== this.searchRightRow.id) - this.searchRightRow = {}; - }, - - // 鎼滅储鑷姩绌挎妗嗗彸绉� - searchRightTransferClick() { - if (func.isEmptyObject(this.searchLeftRow)) { - this.$message.error('璇烽�夋嫨涓�鏉℃暟鎹�'); - return; - } - - this.form.itemKeyFieldList.push(this.searchLeftRow); - - this.form.itemSearchFieldList = this.form.itemSearchFieldList.filter(item => item.id !== this.searchLeftRow.id); - this.searchLeftRow = {}; - }, - - // 璁剧疆鍒楀琛岀偣鍑� - itemFileWidthRowClick(row) { - this.itemFileWidthRow = row; - this.form.itemFileWidthSelect = row.key; - this.form.itemWidth = row.value; - }, - - // 鍒椾笅鎷塩hange - itemFileWidthChange(val) { - this.itemFileWidthChangeVal = val; - }, - - // 璁剧疆瀹藉害 - widthSetUpClickHandler() { - if (this.form.itemFileWidthSelect) { - const item = this.form.itemFieldWidthList.find(item => item.key === this.form.itemFileWidthSelect); - item.value = this.form.itemWidth; - } + // 鏌ヨ妯℃澘涓嬫媺鎺ュ彛鏌ヨ + getSearchSelectList() { + getObjTypeQTs({btName: this.treeRadio === '0' ? this.TreeNodeRow.id : this.TreeNodeRow.name}).then(res => { + this.searchQtNameList = res.data.data; + }) }, // 鑾峰彇鍙屽嚮鎿嶄綔鏁版嵁 @@ -715,36 +523,43 @@ // 琛ㄦ牸瀵硅瘽妗嗕繚瀛� dialogSaveClickHandler() { - const paramsForm = {...this.form}; - paramsForm.itemSelectOutFieldList = this.form.itemSelectOutFieldList.map(item => item.id); // 鍙娇鐢ㄥ瓧娈� - paramsForm.itemOutFieldList = this.form.itemOutFieldList.map(item => item.id); // 闇�瑕佷娇鐢ㄥ瓧娈� - paramsForm.itemSearchFieldList = this.form.itemSearchFieldList.map(item => item.id); // 鍙緵鎼滅储瀛楁 - paramsForm.itemKeyFieldList = this.form.itemKeyFieldList.map(item => item.id); // 闇�瑕佷娇鐢ㄥ瓧娈� - paramsForm.itemImgWH = `${this.itemImgWidth},${this.itemImgHeight}`; - const params = { - id: this.form.editNodeId, - prm: { - formQtName: '', - prmItemList: [ - paramsForm - ], - }, - typeFlag: this.treeRadio, - typeFlagText: this.treeRadio === '0' ? "涓氬姟绫诲瀷鐨勮〃鍗�" : '閾炬帴绫诲瀷鐨勮〃鍗�', - typeName: this.treeRadio === '0' ? this.TreeNodeRow.id : this.TreeNodeRow.name, // 涓氬姟绫诲瀷鍚� or 閾炬帴绫诲瀷鍚� - viName: this.form.viName, - viType: 0, - viTypeText: "琛ㄦ牸" - } - savePortalVI(params).then(res => { - // console.log(params); - if (res.data.code === 200) { - this.$message.success(res.data.obj); - // this.closeDialog(); - this.$emit('updataTable'); - this.visible = false; + this.$refs.form.validate((valid) => { + if (valid) { + const paramsForm = {...this.form}; + paramsForm.itemSelectOutFieldList = this.form.itemSelectOutFieldList.map(item => item.id); // 鍙娇鐢ㄥ瓧娈� + paramsForm.itemOutFieldList = this.form.itemOutFieldList; // 闇�瑕佷娇鐢ㄥ瓧娈� + paramsForm.itemSearchFieldList = this.form.itemSearchFieldList.map(item => item.id); // 鍙緵鎼滅储瀛楁 + paramsForm.itemKeyFieldList = this.form.itemKeyFieldList; // 闇�瑕佷娇鐢ㄥ瓧娈� + paramsForm.itemImgWH = `${this.itemImgWidth},${this.itemImgHeight}`; + const params = { + id: this.form.editNodeId, + prm: { + formQtName: '', + prmItemList: [ + paramsForm + ], + }, + typeFlag: this.treeRadio, + typeFlagText: this.treeRadio === '0' ? "涓氬姟绫诲瀷鐨勮〃鍗�" : '閾炬帴绫诲瀷鐨勮〃鍗�', + typeName: this.treeRadio === '0' ? this.TreeNodeRow.id : this.TreeNodeRow.name, // 涓氬姟绫诲瀷鍚� or 閾炬帴绫诲瀷鍚� + viName: this.form.viName, + viType: 0, + viTypeText: "琛ㄦ牸" + } + savePortalVI(params).then(res => { + // console.log(params); + if (res.data.code === 200) { + this.$message.success(res.data.obj); + // this.closeDialog(); + this.$emit('updataTable'); + // this.$refs.form.clearValidate(); + this.visible = false; + } + }) + } else { + return false; } - }) + }); } } } diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/index.vue index e1b47da..9165813 100644 --- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/index.vue +++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/index.vue @@ -204,8 +204,9 @@ this.$refs.formDialog.getTreeList(); } else { this.$refs.tableDialog.visible = true; - this.$refs.tableDialog.getDbList(); - this.$refs.tableDialog.getSearchSelectList(); + this.$refs.tableDialog.getDbList(); // 鍙屽嚮鎿嶄綔涓嬫媺鎺ュ彛 + this.$refs.tableDialog.getSearchSelectList(); // 閫夋嫨琛ㄥ崟涓嬫媺鎺ュ彛 + this.$refs.tableDialog.getFormSelect(); // 鏌ヨ妯℃澘涓嬫媺鎺ュ彛 } }, @@ -329,14 +330,18 @@ // 鏇存柊琛ㄥ崟 this.$refs.tableDialog.form = { ...prmItem, + itemFieldWidthList:prmItem.itemFieldWidthList.map(item => { + return{ + ...item, + $cellEdit: true, + } + }), viName: res.data.obj.viName, editNodeId: row.id, - itemOutFieldList: (prmItem.itemOutFieldList || []).map(item => ({id: item})), + itemOutFieldList: (prmItem.itemOutFieldList || []), itemSearchFieldList: (prmItem.itemSearchFieldList || []).map(item => ({id: item})), - itemKeyFieldList: (prmItem.itemKeyFieldList || []).map(item => ({id: item})), - searchLabel: prmItem.itemSeniorQueryCols || '', - searchNumber: prmItem.itemSeniorQueryColsCounts || '1', - searchSql: prmItem.itemQuerySql || '', + itemKeyFieldList: (prmItem.itemKeyFieldList || []), + searchNumber: '1', itemFileWidthSelect: (prmItem.itemFieldWidthList && prmItem.itemFieldWidthList.length > 0) ? prmItem.itemFieldWidthList[0].key : '', itemWidth: (prmItem.itemFieldWidthList && prmItem.itemFieldWidthList.length > 0) ? prmItem.itemFieldWidthList[0].value : '250' }; @@ -345,9 +350,6 @@ const [width = '0', height = '0'] = (prmItem.itemImgWH || '0,0').split(','); this.$refs.tableDialog.itemImgWidth = width; this.$refs.tableDialog.itemImgHeight = height; - - // 鍙屽嚮鎿嶄綔鑾峰彇鏁版嵁鏂规硶 - this.$refs.tableDialog.getDbList(); // 鏄剧ず瀵硅瘽妗� this.$refs.tableDialog.visible = true; diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue index 00148aa..f4af7ad 100644 --- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue +++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue @@ -996,6 +996,7 @@ this.$message.error('璇烽�夋嫨涓�鏉℃暟鎹�'); return; } + console.log(this.selectList); this.btnDesignVisible = true; this.formBtnOid = this.selectList[0].id; this.getTabBtnTree(); @@ -1121,7 +1122,8 @@ const params = this.saveType === 'add' ? { ...this.basicForm, parentId: this.nodeTreeRow.oId === 'parentNode' ? '' : this.nodeTreeRow.parentId, - buttonParams: bottomParams + buttonParams: bottomParams, + tableOId:this.selectList[0].id } : { ...this.basicForm, buttonParams: bottomParams -- Gitblit v1.9.3