Merge remote-tracking branch 'origin/master'
# Conflicts:
# Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/UIManagerController.java
# Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIManagerServiceI.java
# Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.dto; |
| | | |
| | | import com.vci.common.qt.object.ConditionItem; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Iterator; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * æ¡ä»¶ä¼ è¾å¯¹è±¡ |
| | | * @author yuxc |
| | | * @date 2024/9/4 |
| | | */ |
| | | @Data |
| | | public class ConditionDTO { |
| | | private String rootCIName; |
| | | private Map<String, ConditionItemDTO> ciMap; |
| | | |
| | | public ConditionDTO() { |
| | | } |
| | | |
| | | public String getRootCIName() { |
| | | return this.rootCIName; |
| | | } |
| | | |
| | | public void setRootCIName(String rootCIName) { |
| | | this.rootCIName = rootCIName; |
| | | } |
| | | |
| | | public String getRootCINameByCIMap(Map<String, ConditionItem> ciMap) { |
| | | String rootCIName = ""; |
| | | if (ciMap != null) { |
| | | Iterator<String> i = ciMap.keySet().iterator(); |
| | | |
| | | while(i.hasNext()) { |
| | | String ciName = (String)i.next(); |
| | | if (rootCIName.equals("")) { |
| | | rootCIName = ciName; |
| | | } else { |
| | | int rootInt = Integer.valueOf(rootCIName.substring(2)); |
| | | int ciInt = Integer.valueOf(ciName.substring(2)); |
| | | if (ciInt > rootInt) { |
| | | rootCIName = ciName; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | return rootCIName; |
| | | } |
| | | |
| | | public Map<String, ConditionItemDTO> getCIMap() { |
| | | return this.ciMap; |
| | | } |
| | | |
| | | public void setCIMap(Map<String, ConditionItemDTO> cIMap) { |
| | | this.ciMap = cIMap; |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.dto; |
| | | |
| | | import com.vci.common.qt.object.ChildrenInfo; |
| | | import com.vci.common.qt.object.ConditionItem; |
| | | import com.vci.common.qt.object.LeafInfo; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Iterator; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * æ¡ä»¶åè¡¨ä¼ è¾å¯¹è±¡ |
| | | * @author yuxc |
| | | * @date 2024/9/4 |
| | | */ |
| | | @Data |
| | | public class ConditionItemDTO { |
| | | private String id; |
| | | private LeafInfoDTO leafInfo; |
| | | private ChildrenInfo childrenInfo; |
| | | private boolean leafFlag; |
| | | |
| | | public ConditionItemDTO() { |
| | | } |
| | | |
| | | public String getId() { |
| | | return this.id; |
| | | } |
| | | |
| | | public void setId(String id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public LeafInfoDTO getLeafInfo() { |
| | | return this.leafInfo; |
| | | } |
| | | |
| | | public void setLeafInfo(LeafInfoDTO leafInfo) { |
| | | this.leafInfo = leafInfo; |
| | | } |
| | | |
| | | public ChildrenInfo getChildrenInfo() { |
| | | return this.childrenInfo; |
| | | } |
| | | |
| | | public void setChildrenInfo(ChildrenInfo childrenInfo) { |
| | | this.childrenInfo = childrenInfo; |
| | | } |
| | | |
| | | public boolean isLeaf() { |
| | | return this.leafFlag; |
| | | } |
| | | |
| | | public void setLeafFlag(boolean leafFlag) { |
| | | this.leafFlag = leafFlag; |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.dto; |
| | | |
| | | import com.vci.common.qt.object.ConditionItem; |
| | | import com.vci.common.qt.object.LeafValue; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Iterator; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * å¶åæ¡ä»¶ä¼ è¾å¯¹è±¡ |
| | | * @author yuxc |
| | | * @date 2024/9/4 |
| | | */ |
| | | @Data |
| | | public class LeafInfoDTO { |
| | | private String clause; |
| | | private String operator; |
| | | private String type; |
| | | private LeafValueDto value; |
| | | |
| | | public LeafInfoDTO() { |
| | | } |
| | | |
| | | public String getClause() { |
| | | return this.clause; |
| | | } |
| | | |
| | | public void setClause(String clause) { |
| | | this.clause = clause; |
| | | } |
| | | |
| | | public String getOperator() { |
| | | return this.operator; |
| | | } |
| | | |
| | | public void setOperator(String operator) { |
| | | this.operator = operator; |
| | | } |
| | | |
| | | public LeafValueDto getValue() { |
| | | return this.value; |
| | | } |
| | | |
| | | public void setValue(LeafValueDto value) { |
| | | this.value = value; |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.dto; |
| | | |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * å¶åå¼ä¼ è¾å¯¹è±¡ |
| | | * @author yuxc |
| | | * @date 2024/9/4 |
| | | */ |
| | | @Data |
| | | public class LeafValueDto { |
| | | private String ordinaryValue; |
| | | private QueryTemplateDTO queryTemplate; |
| | | |
| | | public LeafValueDto() { |
| | | } |
| | | |
| | | public String getOrdinaryValue() { |
| | | return this.ordinaryValue; |
| | | } |
| | | |
| | | public void setOrdinaryValue(String ordinaryValue) { |
| | | this.ordinaryValue = ordinaryValue; |
| | | } |
| | | |
| | | public QueryTemplateDTO getQueryTemplate() { |
| | | return this.queryTemplate; |
| | | } |
| | | |
| | | public void setQueryTemplate(QueryTemplateDTO queryTemplate) { |
| | | this.queryTemplate = queryTemplate; |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | * æä¸¾å¼ |
| | | */ |
| | | private List<String> itemValueList = null; |
| | | /*** |
| | | * æä¸¾å¼éå |
| | | */ |
| | | private List<KeyValue> itemKeyValueList=new ArrayList<>(); |
| | | |
| | | /** |
| | | *ä¸çº§åç
§ |
| | | */ |
| | |
| | | // } |
| | | |
| | | |
| | | public List<KeyValue> getItemKeyValueList() { |
| | | return itemKeyValueList; |
| | | } |
| | | |
| | | public void setItemKeyValueList(List<KeyValue> itemKeyValueList) { |
| | | this.itemKeyValueList = itemKeyValueList; |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return "PRMItemDTO{" + |
| | |
| | | ", itemScript='" + itemScript + '\'' + |
| | | ", itemTips='" + itemTips + '\'' + |
| | | ", itemValueList=" + itemValueList + |
| | | ", itemKeyValueList=" + itemKeyValueList + |
| | | ", itemListTable='" + itemListTable + '\'' + |
| | | ", itemListTxt='" + itemListTxt + '\'' + |
| | | ", itemListVal='" + itemListVal + '\'' + |
| | |
| | | //æ¥è¯¢æ¨¡æ¿å |
| | | private String qtText; |
| | | //æ¥è¯¢æ¨¡æ¿ä¿¡æ¯ |
| | | private QueryTemplate queryTemplate; |
| | | private QueryTemplateDTO queryTemplate; |
| | | //æ¥è¯¢æ¡ä»¶ï¼å端è¿è¡ç¸å
³è§£æ |
| | | private List<HashMap<String,String>> condition; |
| | | private HashMap<String,Object> tree = new HashMap<>(); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.dto; |
| | | |
| | | |
| | | import com.vci.common.qt.object.Condition; |
| | | import com.vci.common.qt.object.OrderInfo; |
| | | import com.vci.common.qt.object.PageInfo; |
| | | import lombok.Data; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * æ¥è¯¢æ¨¡æ¿ä¼ è¾å¯¹è±¡ |
| | | * @author yuxc |
| | | * @date 2024/8/7 |
| | | */ |
| | | @Data |
| | | public class QueryTemplateDTO { |
| | | private String id; |
| | | private String type; |
| | | private List<String> clauseList; |
| | | private String linkType; |
| | | private String btmType; |
| | | private boolean queryChildrenFlag = false; |
| | | private boolean queryISLeaf = false; |
| | | private boolean rightFlag = true; |
| | | private boolean secretFlag = true; |
| | | private String direction = "positive"; |
| | | private ConditionDTO condition; |
| | | private int version = 0; |
| | | private PageInfo pageInfo; |
| | | private List<OrderInfo> orderInfoList; |
| | | private int level = 1; |
| | | private int recReturnMode = 1; |
| | | |
| | | public QueryTemplateDTO() { |
| | | } |
| | | |
| | | public String getLinkType() { |
| | | return this.linkType; |
| | | } |
| | | |
| | | public void setLinkType(String linkType) { |
| | | this.linkType = linkType; |
| | | } |
| | | |
| | | public String getBtmType() { |
| | | return this.btmType; |
| | | } |
| | | |
| | | public void setBtmType(String btmType) { |
| | | this.btmType = btmType; |
| | | } |
| | | |
| | | public boolean isQueryChildren() { |
| | | return this.queryChildrenFlag; |
| | | } |
| | | |
| | | public void setQueryChildrenFlag(boolean queryChildrenFlag) { |
| | | this.queryChildrenFlag = queryChildrenFlag; |
| | | } |
| | | |
| | | public String getId() { |
| | | return this.id; |
| | | } |
| | | |
| | | public void setId(String id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public String getType() { |
| | | return this.type; |
| | | } |
| | | |
| | | public void setType(String type) { |
| | | this.type = type; |
| | | } |
| | | |
| | | public List<String> getClauseList() { |
| | | return this.clauseList; |
| | | } |
| | | |
| | | public void setClauseList(List<String> clauseList) { |
| | | this.clauseList = clauseList; |
| | | } |
| | | |
| | | public ConditionDTO getCondition() { |
| | | return this.condition; |
| | | } |
| | | |
| | | public void setCondition(ConditionDTO condition) { |
| | | this.condition = condition; |
| | | } |
| | | |
| | | public int getVersion() { |
| | | return this.version; |
| | | } |
| | | |
| | | public void setVersion(int version) { |
| | | this.version = version; |
| | | } |
| | | |
| | | public String getDirection() { |
| | | return this.direction; |
| | | } |
| | | |
| | | public void setDirection(String direction) { |
| | | this.direction = direction; |
| | | } |
| | | |
| | | public PageInfo getPageInfo() { |
| | | return this.pageInfo; |
| | | } |
| | | |
| | | public void setPageInfo(PageInfo pageInfo) { |
| | | this.pageInfo = pageInfo; |
| | | } |
| | | |
| | | public List<OrderInfo> getOrderInfoList() { |
| | | return this.orderInfoList; |
| | | } |
| | | |
| | | public void setOrderInfoList(List<OrderInfo> orderInfoList) { |
| | | this.orderInfoList = orderInfoList; |
| | | } |
| | | |
| | | public int getLevel() { |
| | | return this.level; |
| | | } |
| | | |
| | | public void setLevel(int level) { |
| | | this.level = level; |
| | | } |
| | | |
| | | public int getRecReturnMode() { |
| | | return this.recReturnMode; |
| | | } |
| | | |
| | | public void setRecReturnMode(int recReturnMode) { |
| | | this.recReturnMode = recReturnMode; |
| | | } |
| | | |
| | | public boolean isQueryISLeaf() { |
| | | return this.queryISLeaf; |
| | | } |
| | | |
| | | public void setQueryISLeaf(boolean queryISLeaf) { |
| | | this.queryISLeaf = queryISLeaf; |
| | | } |
| | | |
| | | public boolean isRightFlag() { |
| | | return this.rightFlag; |
| | | } |
| | | |
| | | public void setRightFlag(boolean rightFlag) { |
| | | this.rightFlag = rightFlag; |
| | | } |
| | | |
| | | public boolean isSecretFlag() { |
| | | return this.secretFlag; |
| | | } |
| | | |
| | | public void setSecretFlag(boolean secretFlag) { |
| | | this.secretFlag = secretFlag; |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.dto; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * UIæé |
| | | * @author xiej |
| | | * @date 2024-09-05 |
| | | */ |
| | | public class RoleRightDTO implements Serializable { |
| | | |
| | | |
| | | private static final long serialVersionUID = 2956142041726150499L; |
| | | |
| | | /** |
| | | * ID |
| | | */ |
| | | private String id = ""; |
| | | /** |
| | | *è§è²ID |
| | | */ |
| | | private String roleId = ""; |
| | | /** |
| | | * 模åID |
| | | */ |
| | | private String funcId = ""; |
| | | /** |
| | | * æéå¼ |
| | | */ |
| | | private long rightValue = -1; |
| | | /** |
| | | * æéç±»åï¼è¶
级管çåç»ç®¡çåææä¸º1ï¼ç®¡çåç»æ®éç¨æ·ææä¸º2 |
| | | */ |
| | | private short rightType = -1; |
| | | |
| | | /**æ°å¢æ°æ®å建è
ï¼ä¿®æ¹è
ï¼å建æ¶é´ï¼ä¿®æ¹æ¶é´ï¼ææè
***/ |
| | | private String createUser = ""; |
| | | private Date createTime = new Date(); |
| | | private String licensor = ""; |
| | | private String modifyUser = ""; |
| | | private Date modifyTime = new Date(); |
| | | |
| | | public String getId() { |
| | | return id; |
| | | } |
| | | |
| | | public void setId(String id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public String getRoleId() { |
| | | return roleId; |
| | | } |
| | | |
| | | public void setRoleId(String roleId) { |
| | | this.roleId = roleId; |
| | | } |
| | | |
| | | public String getFuncId() { |
| | | return funcId; |
| | | } |
| | | |
| | | public void setFuncId(String funcId) { |
| | | this.funcId = funcId; |
| | | } |
| | | |
| | | public long getRightValue() { |
| | | return rightValue; |
| | | } |
| | | |
| | | public void setRightValue(long rightValue) { |
| | | this.rightValue = rightValue; |
| | | } |
| | | |
| | | public short getRightType() { |
| | | return rightType; |
| | | } |
| | | |
| | | public void setRightType(short rightType) { |
| | | this.rightType = rightType; |
| | | } |
| | | |
| | | public String getCreateUser() { |
| | | return createUser; |
| | | } |
| | | |
| | | public void setCreateUser(String createUser) { |
| | | this.createUser = createUser; |
| | | } |
| | | |
| | | public Date getCreateTime() { |
| | | return createTime; |
| | | } |
| | | |
| | | public void setCreateTime(Date createTime) { |
| | | this.createTime = createTime; |
| | | } |
| | | |
| | | public String getLicensor() { |
| | | return licensor; |
| | | } |
| | | |
| | | public void setLicensor(String licensor) { |
| | | this.licensor = licensor; |
| | | } |
| | | |
| | | public String getModifyUser() { |
| | | return modifyUser; |
| | | } |
| | | |
| | | public void setModifyUser(String modifyUser) { |
| | | this.modifyUser = modifyUser; |
| | | } |
| | | |
| | | public Date getModifyTime() { |
| | | return modifyTime; |
| | | } |
| | | |
| | | public void setModifyTime(Date modifyTime) { |
| | | this.modifyTime = modifyTime; |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.dto; |
| | | |
| | | import com.vci.starter.web.pagemodel.Tree; |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.List; |
| | | /** |
| | | * ææå¯¹è±¡ |
| | | * @author xiej |
| | | * @date 2024-09-05 |
| | | */ |
| | | public class UIAuthorDTO implements Serializable { |
| | | private static final long serialVersionUID = -1996329568646378902L; |
| | | /** |
| | | *è§è²ID |
| | | */ |
| | | private String roleId; |
| | | /** |
| | | *ä¸å¡ç±»å |
| | | */ |
| | | private String type; |
| | | /** |
| | | *ä¸ä¸æ |
| | | */ |
| | | private String context; |
| | | /** |
| | | * ææçèç¹ |
| | | */ |
| | | List<Tree> selectTreeList; |
| | | |
| | | public String getRoleId() { |
| | | return roleId; |
| | | } |
| | | |
| | | public void setRoleId(String roleId) { |
| | | this.roleId = roleId; |
| | | } |
| | | |
| | | public String getType() { |
| | | return type; |
| | | } |
| | | |
| | | public void setType(String type) { |
| | | this.type = type; |
| | | } |
| | | |
| | | public String getContext() { |
| | | return context; |
| | | } |
| | | |
| | | public void setContext(String context) { |
| | | this.context = context; |
| | | } |
| | | |
| | | public List<Tree> getSelectTreeList() { |
| | | return selectTreeList; |
| | | } |
| | | |
| | | public void setSelectTreeList(List<Tree> selectTreeList) { |
| | | this.selectTreeList = selectTreeList; |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return "UIAuthorDTO{" + |
| | | "roleId='" + roleId + '\'' + |
| | | ", type='" + type + '\'' + |
| | | ", context='" + context + '\'' + |
| | | ", selectTreeList=" + selectTreeList + |
| | | '}'; |
| | | } |
| | | } |
| | |
| | | * æä¸¾å¼ |
| | | */ |
| | | private List<String> itemValueList = null; |
| | | |
| | | /*** |
| | | * æä¸¾å¼éå |
| | | */ |
| | | private List<KeyValue> itemKeyValueList=new ArrayList<>(); |
| | | /** |
| | | *ä¸çº§åç
§ |
| | | */ |
| | |
| | | public void setItemDateFormat(String itemDateFormat) { |
| | | this.itemDateFormat = itemDateFormat; |
| | | } |
| | | |
| | | public List<KeyValue> getItemKeyValueList() { |
| | | return itemKeyValueList; |
| | | } |
| | | |
| | | public void setItemKeyValueList(List<KeyValue> itemKeyValueList) { |
| | | this.itemKeyValueList = itemKeyValueList; |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return "PRMItemDO{" + |
| | |
| | | ", itemScript='" + itemScript + '\'' + |
| | | ", itemTips='" + itemTips + '\'' + |
| | | ", itemValueList=" + itemValueList + |
| | | ", itemKeyValueList=" + itemKeyValueList + |
| | | ", itemListTable='" + itemListTable + '\'' + |
| | | ", itemListTxt='" + itemListTxt + '\'' + |
| | | ", itemListVal='" + itemListVal + '\'' + |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.model; |
| | | |
| | | import com.vci.starter.web.annotation.Transient; |
| | | import com.vci.starter.web.annotation.VciBtmType; |
| | | import com.vci.starter.web.constant.FrameWorkLcStatusConstant; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * UIæé |
| | | * @author xiej |
| | | * @date 2024-09-05 |
| | | */ |
| | | @VciBtmType(name = "UIAuthor",text = "UIæé",tableName = "PLROLERIGHT",lifeCycle = FrameWorkLcStatusConstant.EMTYPE_LIFE_CYCLE) |
| | | @Transient |
| | | public class RoleRightDO implements Serializable { |
| | | private static final long serialVersionUID = -5073244242126466800L; |
| | | /** |
| | | * ID |
| | | */ |
| | | private String id = ""; |
| | | /** |
| | | *è§è²ID |
| | | */ |
| | | private String roleId = ""; |
| | | /** |
| | | * 模åID |
| | | */ |
| | | private String funcId = ""; |
| | | /** |
| | | * æéå¼ |
| | | */ |
| | | private long rightValue = -1; |
| | | /** |
| | | * æéç±»åï¼è¶
级管çåç»ç®¡çåææä¸º1ï¼ç®¡çåç»æ®éç¨æ·ææä¸º2 |
| | | */ |
| | | private short rightType = -1; |
| | | |
| | | /**æ°å¢æ°æ®å建è
ï¼ä¿®æ¹è
ï¼å建æ¶é´ï¼ä¿®æ¹æ¶é´ï¼ææè
***/ |
| | | private String createUser = ""; |
| | | private Date createTime = new Date(); |
| | | private String licensor = ""; |
| | | private String modifyUser = ""; |
| | | private Date modifyTime = new Date(); |
| | | |
| | | public String getId() { |
| | | return id; |
| | | } |
| | | |
| | | public void setId(String id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public String getRoleId() { |
| | | return roleId; |
| | | } |
| | | |
| | | public void setRoleId(String roleId) { |
| | | this.roleId = roleId; |
| | | } |
| | | |
| | | public String getFuncId() { |
| | | return funcId; |
| | | } |
| | | |
| | | public void setFuncId(String funcId) { |
| | | this.funcId = funcId; |
| | | } |
| | | |
| | | public long getRightValue() { |
| | | return rightValue; |
| | | } |
| | | |
| | | public void setRightValue(long rightValue) { |
| | | this.rightValue = rightValue; |
| | | } |
| | | |
| | | public short getRightType() { |
| | | return rightType; |
| | | } |
| | | |
| | | public void setRightType(short rightType) { |
| | | this.rightType = rightType; |
| | | } |
| | | |
| | | public String getCreateUser() { |
| | | return createUser; |
| | | } |
| | | |
| | | public void setCreateUser(String createUser) { |
| | | this.createUser = createUser; |
| | | } |
| | | |
| | | public Date getCreateTime() { |
| | | return createTime; |
| | | } |
| | | |
| | | public void setCreateTime(Date createTime) { |
| | | this.createTime = createTime; |
| | | } |
| | | |
| | | public String getLicensor() { |
| | | return licensor; |
| | | } |
| | | |
| | | public void setLicensor(String licensor) { |
| | | this.licensor = licensor; |
| | | } |
| | | |
| | | public String getModifyUser() { |
| | | return modifyUser; |
| | | } |
| | | |
| | | public void setModifyUser(String modifyUser) { |
| | | this.modifyUser = modifyUser; |
| | | } |
| | | |
| | | public Date getModifyTime() { |
| | | return modifyTime; |
| | | } |
| | | |
| | | public void setModifyTime(Date modifyTime) { |
| | | this.modifyTime = modifyTime; |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return "RoleRightDTO{" + |
| | | "id='" + id + '\'' + |
| | | ", roleId='" + roleId + '\'' + |
| | | ", funcId='" + funcId + '\'' + |
| | | ", rightValue=" + rightValue + |
| | | ", rightType=" + rightType + |
| | | ", createUser='" + createUser + '\'' + |
| | | ", createTime=" + createTime + |
| | | ", licensor='" + licensor + '\'' + |
| | | ", modifyUser='" + modifyUser + '\'' + |
| | | ", modifyTime=" + modifyTime + |
| | | '}'; |
| | | } |
| | | } |
| | |
| | | |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | |
| | |
| | | /** |
| | | * ååèç¹ |
| | | */ |
| | | private List<MenuVO> children; |
| | | private List<MenuVO> children = new ArrayList<>(); |
| | | |
| | | /** |
| | | * æ¯å¦æååèç¹ |
| | |
| | | * æä¸¾å¼ |
| | | */ |
| | | private List<String> itemValueList = null; |
| | | |
| | | /*** |
| | | * æä¸¾å¼éå |
| | | */ |
| | | private List<KeyValue> itemKeyValueList=new ArrayList<>(); |
| | | |
| | | /** |
| | | *ä¸çº§åç
§ |
| | |
| | | this.itemSearchFieldList = itemSearchFieldList; |
| | | } |
| | | |
| | | public List<KeyValue> getItemKeyValueList() { |
| | | return itemKeyValueList; |
| | | } |
| | | |
| | | public void setItemKeyValueList(List<KeyValue> itemKeyValueList) { |
| | | this.itemKeyValueList = itemKeyValueList; |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return "PRMItemVO{" + |
| | |
| | | ", itemScript='" + itemScript + '\'' + |
| | | ", itemTips='" + itemTips + '\'' + |
| | | ", itemValueList=" + itemValueList + |
| | | ", itemKeyValueList=" + itemKeyValueList + |
| | | ", itemListTable='" + itemListTable + '\'' + |
| | | ", itemListTxt='" + itemListTxt + '\'' + |
| | | ", itemListVal='" + itemListVal + '\'' + |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.pagemodel; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | |
| | | public class RoleRightVO implements Serializable { |
| | | |
| | | |
| | | private static final long serialVersionUID = 2030418807220108229L; |
| | | /** |
| | | * ID |
| | | */ |
| | | private String id = ""; |
| | | /** |
| | | *è§è²ID |
| | | */ |
| | | private String roleId = ""; |
| | | /** |
| | | * 模åID |
| | | */ |
| | | private String funcId = ""; |
| | | /** |
| | | * æéå¼ |
| | | */ |
| | | private long rightValue = -1; |
| | | /** |
| | | * æéç±»åï¼è¶
级管çåç»ç®¡çåææä¸º1ï¼ç®¡çåç»æ®éç¨æ·ææä¸º2 |
| | | */ |
| | | private short rightType = -1; |
| | | /** |
| | | * æéç±»å |
| | | */ |
| | | private String rigthTypeText=""; |
| | | |
| | | /**æ°å¢æ°æ®å建è
ï¼ä¿®æ¹è
ï¼å建æ¶é´ï¼ä¿®æ¹æ¶é´ï¼ææè
***/ |
| | | private String createUser = ""; |
| | | private String createTime = ""; |
| | | private String licensor = ""; |
| | | private String modifyUser = ""; |
| | | private String modifyTime =""; |
| | | |
| | | public String getId() { |
| | | return id; |
| | | } |
| | | |
| | | public void setId(String id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public String getRoleId() { |
| | | return roleId; |
| | | } |
| | | |
| | | public void setRoleId(String roleId) { |
| | | this.roleId = roleId; |
| | | } |
| | | |
| | | public String getFuncId() { |
| | | return funcId; |
| | | } |
| | | |
| | | public void setFuncId(String funcId) { |
| | | this.funcId = funcId; |
| | | } |
| | | |
| | | public long getRightValue() { |
| | | return rightValue; |
| | | } |
| | | |
| | | public void setRightValue(long rightValue) { |
| | | this.rightValue = rightValue; |
| | | } |
| | | |
| | | public short getRightType() { |
| | | return rightType; |
| | | } |
| | | |
| | | public void setRightType(short rightType) { |
| | | this.rightType = rightType; |
| | | } |
| | | |
| | | public String getCreateUser() { |
| | | return createUser; |
| | | } |
| | | |
| | | public void setCreateUser(String createUser) { |
| | | this.createUser = createUser; |
| | | } |
| | | |
| | | public String getCreateTime() { |
| | | return createTime; |
| | | } |
| | | |
| | | public void setCreateTime(String createTime) { |
| | | this.createTime = createTime; |
| | | } |
| | | |
| | | public String getLicensor() { |
| | | return licensor; |
| | | } |
| | | |
| | | public void setLicensor(String licensor) { |
| | | this.licensor = licensor; |
| | | } |
| | | |
| | | public String getModifyUser() { |
| | | return modifyUser; |
| | | } |
| | | |
| | | public void setModifyUser(String modifyUser) { |
| | | this.modifyUser = modifyUser; |
| | | } |
| | | |
| | | public String getModifyTime() { |
| | | return modifyTime; |
| | | } |
| | | |
| | | public void setModifyTime(String modifyTime) { |
| | | this.modifyTime = modifyTime; |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return "RoleRightVO{" + |
| | | "id='" + id + '\'' + |
| | | ", roleId='" + roleId + '\'' + |
| | | ", funcId='" + funcId + '\'' + |
| | | ", rightValue=" + rightValue + |
| | | ", rightType=" + rightType + |
| | | ", createUser='" + createUser + '\'' + |
| | | ", createTime=" + createTime + |
| | | ", licensor='" + licensor + '\'' + |
| | | ", modifyUser='" + modifyUser + '\'' + |
| | | ", modifyTime=" + modifyTime + |
| | | '}'; |
| | | } |
| | | } |
| | |
| | | return functionVOList.stream().sorted(Comparator.comparing(s -> s.getSort())).collect(Collectors.toList()); |
| | | } |
| | | |
| | | public List<MenuVO> findChildAuthFunctionVO(String parentId,MenuVO functionVO) throws PLException { |
| | | // List<FunctionInfo> menus = map.get(parentOid); |
| | | public void findChildAuthFunctionVO(MenuVO functionVO, boolean isAll) throws PLException { |
| | | //0è¡¨ç¤ºæ²¡ææ¨¡å乿²¡ææä½ï¼1è¡¨ç¤ºææ¨¡åï¼2表示ææä½ |
| | | long l = platformClientUtil.getFrameworkService().checkChildObject(parentId); |
| | | |
| | | // funcObj.setFuncType(funcType); |
| | | // |
| | | // if(funcType == 1){ |
| | | // FunctionObject[] funcObjs = new FunctionClientDelegate().getModuleListByParentId(funcObj.getId(),false); |
| | | // for(int i=0;i<funcObjs.length;i++){ |
| | | // VCIBaseTreeNode curNode = new VCIBaseTreeNode(funcObjs[i].getName(), funcObjs[i]); |
| | | // treeModel.insertNodeInto(curNode, node,node.getChildCount()); |
| | | // setChildNode(curNode,funcObjs[i]); |
| | | // } |
| | | // }else if(funcType == 2){ |
| | | // FuncOperationObject[] funcOperateObjs = new FuncOperationClientDelegate().getFuncOperationByModuleId(funcObj.getId(), "", true); |
| | | // for (int j = 0; j < funcOperateObjs.length; j++) { |
| | | // VCIBaseTreeNode childNode = new VCIBaseTreeNode(funcOperateObjs[j].getOperAlias(),funcOperateObjs[j]); |
| | | // UserObject user = rightManagementClient.fetchUserInfoByName(PLTApplication.getUserEntityObject().getUserName()); |
| | | //// if(user.getUserType() == 0 || childNode.toString().equals("æ¥ç")){ |
| | | //// treeModel.insertNodeInto(childNode, node,node.getChildCount()); |
| | | //// childNode.setLeaf(true); |
| | | //// }else{ |
| | | //// boolean res = initRoleRightByType(childNode); |
| | | //// if(res){ |
| | | // treeModel.insertNodeInto(childNode, node,node.getChildCount()); |
| | | // childNode.setLeaf(true); |
| | | //// } |
| | | //// } |
| | | // } |
| | | // }else{ |
| | | // functionVO.setHasChildren(false); |
| | | // } |
| | | // |
| | | // |
| | | // |
| | | // |
| | | // |
| | | // int funcType = funcDel.checkChildObject(funcObj.getId()); |
| | | // funcObj.setFuncType(funcType); |
| | | // |
| | | // |
| | | List<MenuVO> functionVOList = new ArrayList<>(); |
| | | // if(menus == null){ |
| | | // return functionVOList; |
| | | // } |
| | | // for (FunctionInfo menu : menus) { |
| | | // if(!menu.isValid){ |
| | | // continue; |
| | | // } |
| | | // MenuVO functionVO = new MenuVO(); |
| | | // functionVO.setId(menu.id); |
| | | // functionVO.setSource(menu.image); |
| | | //// if(StringUtils.isBlank(menu.resourceB) ){ |
| | | //// continue; |
| | | //// } |
| | | // functionVO.setPath(menu.resourceB); |
| | | // functionVO.setCode(menu.aliasName); |
| | | // functionVO.setAlias(menu.aliasName); |
| | | // functionVO.setParentId(menu.parentId); |
| | | // functionVO.setName(menu.name); |
| | | // functionVO.getMeta().put("keepAlive",false); |
| | | // functionVO.setSort((int) menu.seq); |
| | | // functionVO.setChildren(findChildAuthFunctionVO(menu.id,functionVO)); |
| | | // if(functionVO.getChildren().size() > 0){ |
| | | // functionVO.setHasChildren(true); |
| | | // }else { |
| | | // functionVO.setHasChildren(false); |
| | | // } |
| | | // functionVOList.add(functionVO); |
| | | // } |
| | | return functionVOList.stream().sorted(Comparator.comparing(s -> s.getSort())).collect(Collectors.toList()); |
| | | long type = platformClientUtil.getFrameworkService().checkChildObject(functionVO.getId()); |
| | | if(type == 1){ |
| | | FunctionInfo[] funcObjs = platformClientUtil.getFrameworkService().getModuleListByParentId(functionVO.getId(), isAll); |
| | | for (FunctionInfo funcObj : funcObjs) { |
| | | MenuVO menuVO = new MenuVO(); |
| | | menuVO.setId(funcObj.id); |
| | | menuVO.setSource(funcObj.image); |
| | | menuVO.setPath(funcObj.resourceB); |
| | | menuVO.setCode(funcObj.aliasName); |
| | | menuVO.setAlias(funcObj.aliasName); |
| | | menuVO.setParentId(funcObj.parentId); |
| | | menuVO.setChildType((int) type); |
| | | menuVO.setName(funcObj.name); |
| | | menuVO.getMeta().put("keepAlive",false); |
| | | menuVO.setSort((int) funcObj.seq); |
| | | findChildAuthFunctionVO(menuVO, isAll); |
| | | functionVO.getChildren().add(menuVO); |
| | | } |
| | | }else if(type == 2){ |
| | | FuncOperationInfo[] infos = platformClientUtil.getFrameworkService().getFuncOperationByModule(functionVO.getId(), "", true); |
| | | for (FuncOperationInfo info : infos) { |
| | | MenuVO menuVO = new MenuVO(); |
| | | menuVO.setChildType((int) type); |
| | | menuVO.setId(info.id); |
| | | menuVO.setFuncId(info.funcId); |
| | | menuVO.setCode(info.operIndentify); |
| | | menuVO.setOperId(info.operId); |
| | | menuVO.setName(info.operName); |
| | | menuVO.setAlias(info.operAlias); |
| | | menuVO.setRemark(info.operDesc); |
| | | menuVO.setSort((int) info.number); |
| | | menuVO.setModeType("FunctionObject"); |
| | | menuVO.setIsValid(info.isValid); |
| | | menuVO.setHasChildren(false); |
| | | functionVO.getChildren().add(menuVO); |
| | | } |
| | | }else{ |
| | | functionVO.setHasChildren(false); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | |
| | | @Override |
| | | public List<MenuVO> getSysModelAuthTreeMenuByPID(String parentId,String modeType,boolean isAll) throws VciBaseException, PLException { |
| | | List<MenuVO> menuVOList = new ArrayList<>(); |
| | | if(Func.isBlank(parentId)){ |
| | | return menuVOList; |
| | | } |
| | | // if(Func.isBlank(parentId)){ |
| | | // return menuVOList; |
| | | // } |
| | | SessionInfo sessionInfo = WebUtil.getCurrentUserSessionInfoNotException(); |
| | | boolean adminOrDeveloperOrRoot = rightControlUtil.isAdminOrDeveloperOrRoot(sessionInfo.getUserId()); |
| | | if (adminOrDeveloperOrRoot) { |
| | |
| | | functionVO.setName(menu.name); |
| | | functionVO.getMeta().put("keepAlive",false); |
| | | functionVO.setSort((int) menu.seq); |
| | | findChildAuthFunctionVO(functionVO, isAll); |
| | | // try { |
| | | // functionVO.setChildren(findChildAuthFunctionVO(menu.id)); |
| | | // } catch (PLException e) { |
| | |
| | | } |
| | | functionVOList.add(functionVO); |
| | | } |
| | | return functionVOList; |
| | | |
| | | |
| | | |
| | | |
| | | RoleRightInfo[] userRoleRights = rightControlUtil.getRoleRightByUserName(sessionInfo.getUserId()); |
| | | Map<String, List<FunctionInfo>> map = rightControlUtil.getAllChildrenFunctionsByUserName( |
| | | parentId, sessionInfo.getUserId(), userRoleRights); |
| | | |
| | | if(Func.isEmpty(map.get(parentId))) { |
| | | return functionVOList; |
| | | } |
| | | for (FunctionInfo menu : map.get(parentId)) { |
| | | if(!menu.isValid){ |
| | | continue; |
| | | } |
| | | MenuVO functionVO = new MenuVO(); |
| | | functionVO.setId(menu.id); |
| | | functionVO.setSource(menu.image); |
| | | //if(StringUtils.isBlank(menu.resourceB)){ |
| | | // continue; |
| | | //} |
| | | functionVO.setPath(menu.resourceB); |
| | | functionVO.setParentId(menu.parentId); |
| | | functionVO.setCode(menu.aliasName); |
| | | functionVO.setAlias(menu.aliasName); |
| | | functionVO.setName(menu.name); |
| | | functionVO.getMeta().put("keepAlive",false); |
| | | functionVO.setSort((int) menu.seq); |
| | | // try { |
| | | // functionVO.setChildren(findChildAuthFunctionVO(menu.id, map)); |
| | | // } catch (PLException e) { |
| | | // e.printStackTrace(); |
| | | // String errorMsg = "èåæ¥è¯¢æ¶åºç°é误ï¼åå ï¼" + VciBaseUtil.getExceptionMessage(e); |
| | | // logger.error(errorMsg); |
| | | // throw new VciBaseException(errorMsg); |
| | | // RoleRightInfo[] userRoleRights = rightControlUtil.getRoleRightByUserName(sessionInfo.getUserId()); |
| | | // Map<String, List<FunctionInfo>> map = rightControlUtil.getAllChildrenFunctionsByUserName( |
| | | // parentId, sessionInfo.getUserId(), userRoleRights); |
| | | // |
| | | // if(Func.isEmpty(map.get(parentId))) { |
| | | // return functionVOList; |
| | | // } |
| | | // for (FunctionInfo menu : map.get(parentId)) { |
| | | // if(!menu.isValid){ |
| | | // continue; |
| | | // } |
| | | if(functionVO.getChildren().size() > 0){ |
| | | functionVO.setHasChildren(true); |
| | | }else { |
| | | functionVO.setHasChildren(false); |
| | | } |
| | | functionVOList.add(functionVO); |
| | | } |
| | | //妿æ¯å¼åæè
æµè¯ç¨æ·ï¼éåè·åç³»ç»æ¨¡åé
ç½®èå |
| | | if(adminOrDeveloperOrRoot){ |
| | | //è·åé¦é¡µç³»ç»æ¨¡åé
ç½®èå |
| | | MenuVO menuVO = JsonConfigReader.getSysModuleConf().getSysModuleNode(); |
| | | if(Func.isNotEmpty(menuVO)){ |
| | | functionVOList.add(menuVO); |
| | | } |
| | | } |
| | | return functionVOList.stream().sorted(Comparator.comparing(s -> s.getSort())).collect(Collectors.toList()); |
| | | // MenuVO functionVO = new MenuVO(); |
| | | // functionVO.setId(menu.id); |
| | | // functionVO.setSource(menu.image); |
| | | // //if(StringUtils.isBlank(menu.resourceB)){ |
| | | // // continue; |
| | | // //} |
| | | // functionVO.setPath(menu.resourceB); |
| | | // functionVO.setParentId(menu.parentId); |
| | | // functionVO.setCode(menu.aliasName); |
| | | // functionVO.setAlias(menu.aliasName); |
| | | // functionVO.setName(menu.name); |
| | | // functionVO.getMeta().put("keepAlive",false); |
| | | // functionVO.setSort((int) menu.seq); |
| | | //// try { |
| | | //// functionVO.setChildren(findChildAuthFunctionVO(menu.id, map)); |
| | | //// } catch (PLException e) { |
| | | //// e.printStackTrace(); |
| | | //// String errorMsg = "èåæ¥è¯¢æ¶åºç°é误ï¼åå ï¼" + VciBaseUtil.getExceptionMessage(e); |
| | | //// logger.error(errorMsg); |
| | | //// throw new VciBaseException(errorMsg); |
| | | //// } |
| | | // if(functionVO.getChildren().size() > 0){ |
| | | // functionVO.setHasChildren(true); |
| | | // }else { |
| | | // functionVO.setHasChildren(false); |
| | | // } |
| | | // functionVOList.add(functionVO); |
| | | // } |
| | | // //妿æ¯å¼åæè
æµè¯ç¨æ·ï¼éåè·åç³»ç»æ¨¡åé
ç½®èå |
| | | // if(adminOrDeveloperOrRoot){ |
| | | // //è·åé¦é¡µç³»ç»æ¨¡åé
ç½®èå |
| | | // MenuVO menuVO = JsonConfigReader.getSysModuleConf().getSysModuleNode(); |
| | | // if(Func.isNotEmpty(menuVO)){ |
| | | // functionVOList.add(menuVO); |
| | | // } |
| | | // } |
| | | // return functionVOList.stream().sorted(Comparator.comparing(s -> s.getSort())).collect(Collectors.toList()); |
| | | |
| | | |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * è·åå½å模åä¸ç忍¡å |
| | | * @param parentId |
| | | * @param modeType |
| | | * @return |
| | | */ |
| | | @GetMapping("/getSysModelAuthTreeMenuByPID") |
| | | public BaseResult<List<MenuVO>> getSysModelAuthTreeMenuByPID(String parentId, String modeType) { |
| | | try { |
| | | return BaseResult.dataList(functionQueryService.getSysModelAuthTreeMenuByPID(parentId,modeType,true)); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | String errorMsg = "æ¥è¯¢åæ¨¡åæ¶åºç°é误ï¼åå ï¼"+ VciBaseUtil.getExceptionMessage(e); |
| | | logger.error(errorMsg); |
| | | throw new VciBaseException(errorMsg); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * æ·»å æ¨¡å |
| | | * @param menuVO |
| | |
| | | * æ¥è¯¢æ¨¡æ¿çå表添å äºå段çç¸å
³å±æ§ |
| | | * @param btmName ç±»å |
| | | * @param linkFlag æ¯å¦é¾æ¥ç±»å ï¼true 龿¥ç±»å ï¼false ä¸å¡ç±»å |
| | | * @param direction æ£åæ¹å |
| | | * @return æ¥è¯¢æ¨¡æ¿çå表 |
| | | */ |
| | | @GetMapping("/queryTemplateListByAttr") |
| | |
| | | import com.vci.corba.common.PLException; |
| | | import com.vci.corba.portal.data.PLTabPage; |
| | | import com.vci.corba.portal.data.PLUILayout; |
| | | import com.vci.dto.OsBtmTypeDTO; |
| | | import com.vci.dto.RoleRightDTO; |
| | | import com.vci.dto.UIAuthorDTO; |
| | | import com.vci.starter.web.pagemodel.Tree; |
| | | import com.vci.pagemodel.PLUILayoutCloneVO; |
| | | import com.vci.starter.web.annotation.controller.VciUnCheckRight; |
| | | import com.vci.starter.web.annotation.log.VciBusinessLog; |
| | | import com.vci.starter.web.exception.VciBaseException; |
| | | import com.vci.starter.web.pagemodel.BaseQueryObject; |
| | |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.IOException; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®è§è²è·åUI/表å/æé®çæé. |
| | | * @param baseQueryObject |
| | | * @return |
| | | */ |
| | | @GetMapping( "/getUIAuthor") |
| | | @VciBusinessLog(operateName = "UIææï¼æ å½¢ç»æï¼") |
| | | public BaseResult getUIAuthor(BaseQueryObject baseQueryObject){ |
| | | try { |
| | | return BaseResult.dataList( uiManagerService.getUIAuthor(baseQueryObject)); |
| | | }catch (Throwable e) { |
| | | e.printStackTrace(); |
| | | String exceptionMessage = "UIææå è½½åºç°é误ï¼åå ï¼" + VciBaseUtil.getExceptionMessage(e); |
| | | logger.error(exceptionMessage); |
| | | return BaseResult.fail(exceptionMessage); |
| | | } |
| | | } |
| | | |
| | | /*** |
| | | * @param selectTreeList å¾éçéè¦ä¿åçæ°æ®å¯¹è±¡ |
| | | * @return |
| | | */ |
| | | @PostMapping( "/authorizedUI") |
| | | @VciBusinessLog(operateName = "UIææ") |
| | | public BaseResult authorizedUI(UIAuthorDTO uiAuthorDTO){ |
| | | try { |
| | | return uiManagerService.authorizedUI(uiAuthorDTO)?BaseResult.success("æææå!"):BaseResult.fail("ææå¤±è´¥ï¼"); |
| | | }catch (Throwable e) { |
| | | e.printStackTrace(); |
| | | String exceptionMessage = "UIææåºç°é误ï¼åå ï¼" + VciBaseUtil.getExceptionMessage(e); |
| | | logger.error(exceptionMessage); |
| | | return BaseResult.fail(exceptionMessage); |
| | | } |
| | | } |
| | | |
| | | } |
| | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * å
¬å¼æ§å¶å¨ |
| | | * 表å/è¡¨æ ¼æ§å¶å¨ |
| | | * @author weidy |
| | | * @date 2022-2-11 |
| | | */ |
| | | @VciBusinessLog(modelName="表å/è¡¨æ ¼æ§å¶å¨",notStore=true) |
| | | @RestController |
| | | @RequestMapping("/portalVIController") |
| | | public class WebPortalVIController { |
| | |
| | | |
| | | } |
| | | /** |
| | | * ä¸å¡ç±»åå é¤ |
| | | * 表å/tableå é¤ |
| | | * btmTypeDTO ä¸å¡ç±»å对象 |
| | | * @return å é¤ç»æ |
| | | */ |
| | |
| | | } |
| | | } |
| | | /** |
| | | * ä¸å¡ç±»åå é¤ |
| | | * 表å/tableå é¤ |
| | | * btmTypeDTO ä¸å¡ç±»å对象 |
| | | * @return å é¤ç»æ |
| | | */ |
| | |
| | | return BaseResult.fail(exceptionMessage); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * 表å/tableå
é |
| | | * @param portalVIDTOList clong对象 |
| | | * @return |
| | | */ |
| | | @PostMapping("/clone") |
| | | @VciBusinessLog(operateName = "å
é表å/è¡¨æ ¼") |
| | |
| | | * æ¥è¯¢æ¨¡æ¿çå表添å äºå段çç¸å
³å±æ§ |
| | | * @param btmName ç±»å |
| | | * @param linkFlag æ¯å¦é¾æ¥ç±»å ï¼true 龿¥ç±»å ï¼false ä¸å¡ç±»å |
| | | * @param direction æ£åæ¹å |
| | | * @return æ¥è¯¢æ¨¡æ¿çå表 |
| | | */ |
| | | BaseResult queryTemplateListByAttr(String btmName, Boolean linkFlag, String direction) throws PLException; |
| | |
| | | package com.vci.web.service; |
| | | |
| | | import com.vci.corba.common.PLException; |
| | | import com.vci.corba.portal.data.PLUILayout; |
| | | import com.vci.corba.portal.data.PLPageDefination; |
| | | import com.vci.corba.portal.data.PLTabPage; |
| | | import com.vci.corba.portal.data.PLUILayout; |
| | | import com.vci.model.PLDefination; |
| | | import com.vci.pagemodel.PLDefinationVO; |
| | | import com.vci.pagemodel.PLUILayoutCloneVO; |
| | | import com.vci.starter.web.exception.VciBaseException; |
| | | import com.vci.starter.web.pagemodel.BaseQueryObject; |
| | | import com.vci.starter.web.pagemodel.BaseResult; |
| | | import com.vci.starter.web.pagemodel.DataGrid; |
| | | import com.vci.dto.RoleRightDTO; |
| | | import com.vci.dto.UIAuthorDTO; |
| | | import com.vci.starter.web.pagemodel.Tree; |
| | | import com.vci.model.PLDefination; |
| | | import com.vci.pagemodel.PLDefinationVO; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.IOException; |
| | | import java.util.List; |
| | |
| | | //é
ç½®æé®ç¸å
³æ¥å£ |
| | | |
| | | |
| | | |
| | | /** |
| | | * è·åUIæéæ |
| | | * @param baseQueryObject |
| | | * @return |
| | | * @throws VciBaseException |
| | | */ |
| | | List<Tree> getUIAuthor(BaseQueryObject baseQueryObject)throws Exception; |
| | | |
| | | /*** |
| | | * UIææ |
| | | * @param uiAuthorDTO |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | public boolean authorizedUI(UIAuthorDTO uiAuthorDTO)throws Exception; |
| | | |
| | | |
| | | } |
| | |
| | | } |
| | | PortalVIVO portalVIVO=new PortalVIVO(); |
| | | PortalVI portalVI= platformClientUtil.getPortalService().getPortalVIById(id); |
| | | if(portalVI==null||StringUtils.isBlank(portalVI.id)){ |
| | | throw new VciBaseException("æ ¹æ®ä¸»é®æªæ¥è¯¢å°æ°æ®"); |
| | | } |
| | | portalVIVO=portalVIDOO2VO(portalVI); |
| | | return portalVIVO; |
| | | } |
| | |
| | | boolean flag = false; |
| | | String labelName=PortalVIType.Form.getName(); |
| | | try { |
| | | VciBaseUtil.alertNotNull(portalVIDTO.getViName(),"åç§°ä¸è½ä¸ºç©ºï¼"); |
| | | VciBaseUtil.alertNotNull(portalVIDTO.getViName(),"åç§°"); |
| | | if(portalVIDTO.getPrm()==null||portalVIDTO.getPrm().getPrmItemList()==null||portalVIDTO.getPrm().getPrmItemList().size()==0){ |
| | | throw new Throwable(labelName+"ï¼æªè®¾ç½®"); |
| | | } |
| | |
| | | prmItemDO.setItemHttpPathField(prmItemDTO.getItemHttpPathField()); |
| | | if(viType==PortalVIType.Table.getIntVal()) {//妿æ¯è¡¨æ ¼ |
| | | initTableConfigDTOO2DOData(prmItemDO,prmItemDTO); |
| | | }else{ |
| | | List<String> itemValueList=new ArrayList<>(); |
| | | List<KeyValue> keyValueList=prmItemDTO.getItemKeyValueList(); |
| | | Optional.ofNullable(keyValueList).orElseGet(()->new ArrayList<>()).stream().forEach(keyValue -> { |
| | | String value= keyValue.getValue()+"{"+keyValue.getKey()+"}"; |
| | | itemValueList.add(value); |
| | | }); |
| | | prmItemDO.setItemValueList(itemValueList); |
| | | |
| | | } |
| | | return prmItemDO; |
| | | } |
| | |
| | | prmItemVO.setItemIsHttpSave(prmItemDO.getItemIsHttpSave()); |
| | | prmItemVO.setItemHttpVolumnPath(prmItemDO.getItemHttpVolumnPath()); |
| | | prmItemVO.setItemHttpPathField(prmItemDO.getItemHttpPathField()); |
| | | |
| | | if(viType==PortalVIType.Table.getIntVal()) {//妿æ¯è¡¨æ ¼ |
| | | initTableConfigDOO2VOData(prmItemVO,prmItemDO); |
| | | }else{ |
| | | List<String> enumList= prmItemDO.getItemValueList(); |
| | | List<KeyValue>itemKeyValueList=new ArrayList<>(); |
| | | Optional.ofNullable(enumList).orElseGet(()->new ArrayList<>()).stream().forEach(enumValue->{ |
| | | List<String> keyValueList= VciBaseUtil.str2List(VciBaseUtil.removeComma(enumValue,"}"),"\\{"); |
| | | KeyValue keyValue=new KeyValue(); |
| | | keyValue.setKey(keyValueList.get(1)); |
| | | keyValue.setValue(keyValueList.get(0)); |
| | | itemKeyValueList.add(keyValue); |
| | | }); |
| | | prmItemVO.setItemKeyValueList(itemKeyValueList); |
| | | } |
| | | return prmItemVO; |
| | | } |
| | |
| | | prmItemDTO.setItemHttpPathField(prmItemDO.getItemHttpPathField()); |
| | | if(viType==PortalVIType.Table.getIntVal()) {//妿æ¯è¡¨æ ¼ |
| | | initTableConfigDOO2VOData(prmItemDTO,prmItemDO); |
| | | }else{ |
| | | List<String> enumList= prmItemDO.getItemValueList(); |
| | | List<KeyValue>itemKeyValueList=new ArrayList<>(); |
| | | Optional.ofNullable(enumList).orElseGet(()->new ArrayList<>()).stream().forEach(enumValue->{ |
| | | List<String> keyValueList= VciBaseUtil.str2List(VciBaseUtil.removeComma(enumValue,"}"),"\\{"); |
| | | KeyValue keyValue=new KeyValue(); |
| | | keyValue.setKey(keyValueList.get(1)); |
| | | keyValue.setValue(keyValueList.get(0)); |
| | | itemKeyValueList.add(keyValue); |
| | | }); |
| | | prmItemDTO.setItemKeyValueList(itemKeyValueList); |
| | | } |
| | | return prmItemDTO; |
| | | } |
| | |
| | | private List<String> getRefFormVIName(String refFormOid){ |
| | | List<String> keyList=new ArrayList<>(); |
| | | try { |
| | | |
| | | PortalVI refFormVI = UITools.getService().getPortalVIById(refFormOid); |
| | | PortalVIVO portalVIVO= portalVIDOO2VO(refFormVI); |
| | | if(portalVIVO!=null&&portalVIVO.getPrm().getPrmItemList().size()>0){ |
| | |
| | | import com.vci.corba.omd.ltm.LinkType; |
| | | import com.vci.corba.omd.qtm.QTD; |
| | | import com.vci.corba.omd.qtm.QTInfo; |
| | | import com.vci.dto.AttributeDefDTO; |
| | | import com.vci.dto.QTDDTO; |
| | | import com.vci.dto.QTInfoDTO; |
| | | import com.vci.dto.*; |
| | | import com.vci.omd.constants.SystemAttribute; |
| | | import com.vci.omd.objects.OtherInfo; |
| | | import com.vci.po.OsLinkTypePO; |
| | |
| | | VciBaseUtil.alertNotNull(btName,"ç±»åå"); |
| | | QTInfo[] objTypeQTs = platformClientUtil.getQTDService().getObjTypeQTs(btName); |
| | | List<QTInfoDTO> dtos = new ArrayList<>(); |
| | | Map<String, AttributeDef> allSysAttr = Arrays.stream(platformClientUtil.getBtmService().getSysAttributeDefs()).collect(Collectors.toMap(e -> e.name, e -> e)); |
| | | allSysAttr.putAll(Arrays.stream(platformClientUtil.getLinkTypeService().getSysAttributeDefs()).collect(Collectors.toMap(e -> e.name, e -> e))); |
| | | |
| | | for (QTInfo obj : objTypeQTs) { |
| | | QTInfoDTO qtInfoDTO = new QTInfoDTO(); |
| | | qtInfoDTO.setCreator(obj.creator); |
| | |
| | | qtInfoDTO.setQtUIText(obj.qtUIText); |
| | | if(StringUtils.isNotBlank(obj.qtUIText)){ |
| | | //å°ç»å®çStringææ¬è§£æä¸ºXMLææ¡£å¹¶è¿åæ°å建çdocument |
| | | qtInfoDTO.setTree(analysisXml(obj)); |
| | | qtInfoDTO.setTree(analysisXml(obj, allSysAttr)); |
| | | } |
| | | qtInfoDTO.setQueryTemplate(OQTool.getQTByDoc(DocumentHelper.parseText(obj.qtText), obj.qtName)); |
| | | QueryTemplate qtByDoc = OQTool.getQTByDoc(DocumentHelper.parseText(obj.qtText), obj.qtName); |
| | | qtInfoDTO.setQueryTemplate(queryTemplateToDto(qtByDoc, allSysAttr)); |
| | | qtInfoDTO.setCreateTimeText(DateFormatUtils.format(new Date(obj.createTime), DateUtil.PATTERN_DATETIME)); |
| | | dtos.add(qtInfoDTO); |
| | | } |
| | | return BaseResult.dataList(dtos); |
| | | } |
| | | |
| | | /** |
| | | * å¯¹è±¡è½¬æ¢ |
| | | * @param qtByDoc 模æ¿å¯¹è±¡ |
| | | * @param allSysAttr ææç³»ç»å±æ§ |
| | | * @return 模æ¿ä¼ è¾å¯¹è±¡ |
| | | * @throws PLException |
| | | */ |
| | | private QueryTemplateDTO queryTemplateToDto(QueryTemplate qtByDoc, Map<String, AttributeDef> allSysAttr) throws PLException { |
| | | QueryTemplateDTO dto = new QueryTemplateDTO(); |
| | | dto.setId(qtByDoc.getId()); |
| | | dto.setBtmType(qtByDoc.getBtmType()); |
| | | dto.setDirection(qtByDoc.getDirection()); |
| | | dto.setLevel(qtByDoc.getLevel()); |
| | | dto.setQueryChildrenFlag(qtByDoc.isQueryChildren()); |
| | | dto.setQueryISLeaf(qtByDoc.isQueryISLeaf()); |
| | | dto.setClauseList(qtByDoc.getClauseList()); |
| | | dto.setPageInfo(qtByDoc.getPageInfo()); |
| | | dto.setLinkType(qtByDoc.getLinkType()); |
| | | dto.setVersion(qtByDoc.getVersion()); |
| | | dto.setType(qtByDoc.getType()); |
| | | dto.setSecretFlag(qtByDoc.isSecretFlag()); |
| | | dto.setRightFlag(qtByDoc.isRightFlag()); |
| | | dto.setOrderInfoList(qtByDoc.getOrderInfoList()); |
| | | dto.setRecReturnMode(qtByDoc.getRecReturnMode()); |
| | | Condition con = qtByDoc.getCondition(); |
| | | if(con != null){ |
| | | ConditionDTO conDto = new ConditionDTO(); |
| | | conDto.setRootCIName(con.getRootCIName()); |
| | | Map<String, ConditionItem> ciMap = con.getCIMap(); |
| | | Map<String, ConditionItemDTO> ciMapDto = new HashMap<>(); |
| | | for (String key : ciMap.keySet()) { |
| | | ConditionItem item = ciMap.get(key); |
| | | LeafInfo leafInfo = item.getLeafInfo(); |
| | | ConditionItemDTO itemDTO = new ConditionItemDTO(); |
| | | itemDTO.setChildrenInfo(item.getChildrenInfo()); |
| | | itemDTO.setId(item.getId()); |
| | | itemDTO.setLeafFlag(item.isLeaf()); |
| | | ciMapDto.put(key, itemDTO); |
| | | if(leafInfo == null){ |
| | | continue; |
| | | } |
| | | LeafInfoDTO leafInfoDTO = new LeafInfoDTO(); |
| | | itemDTO.setLeafInfo(leafInfoDTO); |
| | | //å¤çæ¥è¯¢å段类å |
| | | String column = leafInfo.getClause(); |
| | | if(column.contains(".")){ |
| | | column = StringUtils.substringAfterLast(column, "."); |
| | | } |
| | | AttributeDef att = platformClientUtil.getAttributeService().getAttributeDefByName(column); |
| | | if(att == null || "".equals(att.oid)){ |
| | | att = allSysAttr.get(column.toLowerCase()); |
| | | } |
| | | leafInfoDTO.setClause(leafInfo.getClause()); |
| | | |
| | | leafInfoDTO.setOperator(leafInfo.getOperator()); |
| | | leafInfoDTO.setType(att.vtDataType); |
| | | if(leafInfo.getValue() != null ){ |
| | | LeafValueDto valueDto = new LeafValueDto(); |
| | | valueDto.setOrdinaryValue(leafInfo.getValue().getOrdinaryValue()); |
| | | valueDto.setQueryTemplate(leafInfo.getValue().getQueryTemplate() != null ? queryTemplateToDto(leafInfo.getValue().getQueryTemplate(),allSysAttr) : null); |
| | | leafInfoDTO.setValue(valueDto); |
| | | } |
| | | |
| | | } |
| | | conDto.setCIMap(ciMapDto); |
| | | dto.setCondition(conDto); |
| | | } |
| | | return dto; |
| | | } |
| | | |
| | | /** |
| | |
| | | * @return |
| | | * @throws DocumentException |
| | | */ |
| | | private HashMap<String,Object> analysisXml(QTInfo obj) throws DocumentException { |
| | | private HashMap<String,Object> analysisXml(QTInfo obj, Map<String, AttributeDef> allSysAttr) throws DocumentException, PLException { |
| | | org.dom4j.Document document = DocumentHelper.parseText(obj.qtUIText); |
| | | if(document == null){ |
| | | return null; |
| | | } |
| | | //è·åæ ¹èç¹,å¨ä¾åä¸å°±æ¯responsedataèç¹ |
| | | Element root = document.getRootElement(); |
| | | List<HashMap<String,Object>> treeList = new ArrayList<>(); |
| | | HashMap<String,Object> treeMap = new HashMap<>(); |
| | | treeMap.put("connector",root.getText()); |
| | | List<Element> children = root.elements(); |
| | |
| | | for(Iterator<Element> i = children.iterator(); i.hasNext();){ |
| | | Element child = i.next(); |
| | | if(AND.equals(child.getText()) || OR.equals(child.getText())){ |
| | | childList.add(addDefaultMutableTree(child)); |
| | | childList.add(addDefaultMutableTree(child, allSysAttr)); |
| | | }else { |
| | | childList.add(child.getText().trim()); |
| | | String column = StringUtils.substringBefore(child.getText().trim(), " "); |
| | | |
| | | if(column.contains(".")){ |
| | | column = StringUtils.substringAfterLast(column, "."); |
| | | } |
| | | AttributeDef att = platformClientUtil.getAttributeService().getAttributeDefByName(column); |
| | | if(att == null || "".equals(att.oid)){ |
| | | att = allSysAttr.get(column.toLowerCase()); |
| | | } |
| | | HashMap<String, String> data = new HashMap<>(); |
| | | data.put("column",child.getText().trim()); |
| | | data.put("type",att.vtDataType); |
| | | } |
| | | } |
| | | treeMap.put("child",childList); |
| | |
| | | * å°åèç¹è½¬ä¸ºmapç»æ |
| | | * @param element |
| | | */ |
| | | public Map<String, Object> addDefaultMutableTree(Element element){ |
| | | public Map<String, Object> addDefaultMutableTree(Element element, Map<String, AttributeDef> allSysAttr) throws PLException { |
| | | List<Object> childList = new ArrayList<>(); |
| | | List<Element> children = element.elements(); |
| | | HashMap<String,Object> treeMap = new HashMap<>(); |
| | |
| | | for(Iterator<Element> i = children.iterator(); i.hasNext();){ |
| | | Element child = i.next(); |
| | | if(AND.equals(child.getText()) || OR.equals(child.getText())){ |
| | | childList.add(addDefaultMutableTree(child)); |
| | | childList.add(addDefaultMutableTree(child, allSysAttr)); |
| | | }else { |
| | | childList.add(child.getText().trim()); |
| | | String column = StringUtils.substringBefore(child.getText().trim(), " "); |
| | | |
| | | if(column.contains(".")){ |
| | | column = StringUtils.substringAfterLast(column, "."); |
| | | } |
| | | AttributeDef att = platformClientUtil.getAttributeService().getAttributeDefByName(column); |
| | | if(att == null || "".equals(att.oid)){ |
| | | att = allSysAttr.get(column.toLowerCase()); |
| | | } |
| | | HashMap<String, String> data = new HashMap<>(); |
| | | data.put("column",child.getText().trim()); |
| | | data.put("type",att.vtDataType); |
| | | childList.add(data); |
| | | } |
| | | } |
| | | treeMap.put("child",childList); |
| | |
| | | tree.put("children", childList); |
| | | return BaseResult.success(tree); |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢æ¨¡æ¿çå表添å äºå段çç¸å
³å±æ§ |
| | | * @param btmName ç±»å |
| | | * @param linkFlag æ¯å¦é¾æ¥ç±»å ï¼true 龿¥ç±»å ï¼false ä¸å¡ç±»å |
| | | * @param direction æ£åæ¹å |
| | | * @return æ¥è¯¢æ¨¡æ¿çå表 |
| | | */ |
| | | @Override |
| | | public BaseResult queryTemplateListByAttr(String btmName, Boolean linkFlag, String direction) throws PLException { |
| | | //è¿åççé¢ä¸ææ¡æ¾ç¤ºæ |
| | | List<QTDDTO> qtddtos = new ArrayList<>(); |
| | | |
| | | //å°é¾æ¥ç±»åä¸ä¸å¡ç±»åçææé»è®¤å段æ¥è¯¢åºæ¥æ¾å°mapé颿¹ä¾¿åç»è°ç¨ |
| | | Map<String, AttributeDef> allSysAttr = Arrays.stream(platformClientUtil.getBtmService().getSysAttributeDefs()).collect(Collectors.toMap(e -> e.name, e -> e)); |
| | | |
| | | // if(linkFlag){ |
| | | // QTD[] qtdArray = platformClientUtil.getQTDService().getLinkTypeQTDs(btmName); |
| | | // for (QTD qtd : qtdArray) { |
| | | // QTDDTO qtddto = new QTDDTO(); |
| | | // qtddto.setName(qtd.name); |
| | | // qtddto.setCreateTime(qtd.createTime); |
| | | // qtddto.setLinkTypeName(qtd.linkTypeName); |
| | | // qtddto.setBtmName(qtd.btmName); |
| | | // qtddto.setCreator(qtd.creator); |
| | | // for (String abName : qtd.abNames) { |
| | | // AttributeDef att = platformClientUtil.getAttributeService().getAttributeDefByName(abName); |
| | | // AttributeDefDTO attrDto = new AttributeDefDTO(); |
| | | // attrDto.setDescription(att.description); |
| | | // attrDto.setLabel(att.label); |
| | | // attrDto.setOid(att.oid); |
| | | // attrDto.setCreator(att.creator); |
| | | // attrDto.setName(att.name); |
| | | // attrDto.setDefValue(att.defValue); |
| | | // attrDto.setRage(att.rage); |
| | | // attrDto.setVtDataType(att.vtDataType); |
| | | // attrDto.setOther(att.other); |
| | | // qtddto.getAttrs().add(attrDto); |
| | | // } |
| | | // qtddtos.add(qtddto); |
| | | // } |
| | | // |
| | | // }else { |
| | | // Map<String, AttributeDef> lSysAttr = Arrays.stream(platformClientUtil.getLinkTypeService().getSysAttributeDefs()).collect(Collectors.toMap(e -> e.name, e -> e)); |
| | | allSysAttr.putAll(Arrays.stream(platformClientUtil.getLinkTypeService().getSysAttributeDefs()).collect(Collectors.toMap(e -> e.name, e -> e))); |
| | | QTD[] qtdArray = null; |
| | | //æ¥è¯¢ç¸å
³ç±»åçæ¥è¯¢æ¨¡æ¿è¿è¡å¤ç |
| | | if(linkFlag){ |
| | | qtdArray = platformClientUtil.getQTDService().getLinkTypeQTDs(btmName); |
| | | }else { |
| | | qtdArray = platformClientUtil.getQTDService().getBizTypeQTDs(btmName); |
| | | } |
| | | |
| | | // QTD[] |
| | | for (QTD qtd : qtdArray) { |
| | | QTDDTO qtddto = new QTDDTO(); |
| | | qtddto.setName(qtd.name); |
| | |
| | | qtddto.setCreator(qtd.creator); |
| | | for (String abName : qtd.abNames) { |
| | | AttributeDef att = platformClientUtil.getAttributeService().getAttributeDefByName(abName); |
| | | //妿å¨å±æ§æ¥å£ä¸æ²¡ææ¥å°ç¸å
³å段åºè¯¥å°±å¨é»è®¤åæ®µä¸ |
| | | if(att == null || "".equals(att.oid)){ |
| | | att = allSysAttr.get(abName.toLowerCase()); |
| | | } |
| | | if(direction != null) { |
| | | if (direction.equals(QTConstants.DIRECTION_POSITIVE)) { |
| | | if(att == null ){ |
| | | throw new PLException("500",new String[]{"屿§å段:"+ abName +"æªæ¥è¯¢å°ï¼è¯·ç¡®è®¤ï¼"}); |
| | | } |
| | | att.name = "T_OID." + abName; |
| | | } else if (direction.equals(QTConstants.DIRECTION_OPPOSITE)) { |
| | | if(att == null ){ |
| | | throw new PLException("500",new String[]{"屿§å段:"+ abName +"æªæ¥è¯¢å°ï¼è¯·ç¡®è®¤ï¼"}); |
| | | } |
| | | att.name = "F_OID." + abName; |
| | | } |
| | | }else{ |
| | |
| | | } |
| | | qtddtos.add(qtddto); |
| | | } |
| | | // } |
| | | return BaseResult.dataList(Arrays.asList(qtddtos)); |
| | | return BaseResult.dataList(qtddtos); |
| | | } |
| | | |
| | | /** |
| | | * åèç¹å¤ç |
| | | * @param attributeDefByName ç¶èç¹ç屿§ä¿¡æ¯ |
| | | * @param allSysAttr ææé»è®¤å段 |
| | | */ |
| | | private void addNode(AttributeDefDTO attributeDefByName, Map<String, AttributeDef> allSysAttr){ |
| | | |
| | | if(attributeDefByName.getLayersNum() >= 3){ |
| | |
| | | if(abName.contains(".")){ |
| | | abName = abName.substring(abName.lastIndexOf(".") + 1); |
| | | } |
| | | // qtddto.getAttrs().add(attributeDefByName); |
| | | if(SystemAttribute.sysAttList().contains(abName.toUpperCase())){ |
| | | return; |
| | | } |
| | |
| | | addNode(attrDto, allSysAttr); |
| | | } |
| | | //ç³»ç»å±æ§ID,NAME,DESCRIPTION |
| | | // AttributeDef[] sysAttributeDefs = platformClientUtil.getBtmService().getSysAttributeDefs(); |
| | | // for (int i = 0; i < sysAttributeDefs.length; i++) { |
| | | for (int i = 0; i < SystemAttribute.bosysAttList().size(); i++) { |
| | | // addNode(node, new DefaultMutableTreeNode(pName + SystemAttribute.bosysAttList().get(i))); |
| | | AttributeDef attributeDef = allSysAttr.get(SystemAttribute.bosysAttList().get(i).toLowerCase()); |
| | | AttributeDefDTO attrDto = new AttributeDefDTO(); |
| | | attrDto.setDescription(attributeDef.description); |
| | |
| | | String[] abNames = link.attributes; |
| | | for(int i = 0; i < abNames.length; i++){ |
| | | String abName_ = abNames[i]; |
| | | // DefaultMutableTreeNode node_ = new DefaultMutableTreeNode(pName + abName_); |
| | | AttributeDef att = platformClientUtil.getAttributeService().getAttributeDefByName(abName_); |
| | | if(att == null || att.oid.equals("")){ |
| | | att = allSysAttr.get(abName_.toLowerCase()); |
| | |
| | | } |
| | | //ç³»ç»å±æ§ID,NAME,DESCRIPTION |
| | | for (int i = 0; i < SystemAttribute.losysAttList().size(); i++) { |
| | | // addNode(node, new DefaultMutableTreeNode(pName + SystemAttribute.losysAttList().get(i))); |
| | | // } |
| | | // AttributeDef[] sysAttributeDefs = platformClientUtil.getLinkTypeService().getSysAttributeDefs(); |
| | | // for (int i = 0; i < sysAttributeDefs.length; i++) { |
| | | // addNode(node, new DefaultMutableTreeNode(pName + SystemAttribute.bosysAttList().get(i))); |
| | | AttributeDef sysAttributeDefs = allSysAttr.get(SystemAttribute.losysAttList().get(i).toLowerCase()); |
| | | AttributeDefDTO attrDto = new AttributeDefDTO(); |
| | | attrDto.setDescription(sysAttributeDefs.description); |
| | |
| | | package com.vci.web.service.impl; |
| | | |
| | | import com.sun.jnlp.ApiDialog; |
| | | import com.vci.client.mw.ClientContextVariable; |
| | | import com.vci.common.qt.object.QTConstants; |
| | | import com.vci.common.utility.ObjectUtility; |
| | | import com.vci.corba.common.PLException; |
| | | import com.vci.corba.framework.data.RoleRightInfo; |
| | | import com.vci.corba.omd.btm.BizType; |
| | | import com.vci.corba.portal.PortalService; |
| | | import com.vci.corba.portal.data.*; |
| | | import com.vci.dto.RoleRightDTO; |
| | | import com.vci.dto.UIAuthorDTO; |
| | | import com.vci.frameworkcore.compatibility.SmRoleQueryServiceI; |
| | | import com.vci.pagemodel.OsBtmTypeVO; |
| | | import com.vci.model.PLDefination; |
| | | import com.vci.pagemodel.PLDefinationVO; |
| | | import com.vci.pagemodel.PLUILayoutCloneVO; |
| | | import com.vci.pagemodel.RoleRightVO; |
| | | import com.vci.starter.web.exception.VciBaseException; |
| | | import com.vci.starter.web.pagemodel.*; |
| | | import com.vci.starter.web.pagemodel.BaseQueryObject; |
| | | import com.vci.starter.web.pagemodel.BaseResult; |
| | | import com.vci.starter.web.pagemodel.DataGrid; |
| | | import com.vci.starter.web.pagemodel.SessionInfo; |
| | | import com.vci.starter.web.util.VciBaseUtil; |
| | | import com.vci.starter.web.util.VciDateUtil; |
| | | import com.vci.starter.web.util.WebThreadLocalUtil; |
| | | import com.vci.web.service.OsBtmServiceI; |
| | | import com.vci.web.service.UIManagerServiceI; |
| | | import com.vci.web.util.*; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.apache.poi.ss.formula.functions.T; |
| | | import com.vci.web.util.Func; |
| | | import com.vci.web.util.PlatformClientUtil; |
| | | import com.vci.web.util.UITools; |
| | |
| | | import javax.swing.*; |
| | | import javax.swing.text.JTextComponent; |
| | | import java.io.IOException; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | import java.util.stream.Stream; |
| | | import java.util.*; |
| | | import java.util.regex.Pattern; |
| | | import java.util.stream.Collectors; |
| | |
| | | */ |
| | | @Resource |
| | | private PlatformClientUtil platformClientUtil; |
| | | |
| | | /** |
| | | * è§è² |
| | | */ |
| | | @Resource |
| | | private SmRoleQueryServiceI smRoleQueryServiceI; |
| | | |
| | | /** |
| | | * ä¸å¡ç±»å |
| | | */ |
| | | @Resource |
| | | private OsBtmServiceI osBtmServiceI; |
| | | |
| | | /** |
| | | * æ¥å¿ |
| | |
| | | List<PLUILayout> pluiLayouts = Arrays.asList(res); |
| | | dataGrid.setData(pluiLayouts); |
| | | return dataGrid; |
| | | } |
| | | |
| | | /** |
| | | * tonéè¿ä¸å¡ç±»åååç§°æ¥è¯¢ |
| | | * @param btemName |
| | | * @param context |
| | | * @return |
| | | * @throws PLException |
| | | */ |
| | | public List<PLUILayout> getUIContextDataByBtName(String btemName,String context) throws PLException { |
| | | VciBaseUtil.alertNotNull(btemName,"ä¸å¡ç±»å"); |
| | | List<PLUILayout> pluiLayoutList=new ArrayList<>(); |
| | | List<String> contextList= VciBaseUtil.str2List(context); |
| | | if(StringUtils.isNotBlank(context)){ |
| | | contextList=VciBaseUtil.str2List(context); |
| | | }else{ |
| | | contextList.add(""); |
| | | } |
| | | contextList.stream().forEach(code->{ |
| | | PLUILayout[] pluiLayouts= new PLUILayout[0]; |
| | | try { |
| | | pluiLayouts = platformClientUtil.getUIService().getPLUILayoutEntityByTypeAndCode(btemName,code); |
| | | } catch (PLException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | if(pluiLayouts!=null&&pluiLayouts.length>0) { |
| | | pluiLayoutList.addAll(Arrays.stream(pluiLayouts).collect(Collectors.toList())); |
| | | } |
| | | }); |
| | | |
| | | return pluiLayoutList; |
| | | } |
| | | |
| | | /** |
| | |
| | | } |
| | | |
| | | /** |
| | | * è·åUIæææ |
| | | * @param treeQueryObject |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | @Override |
| | | public List<Tree> getUIAuthor(BaseQueryObject treeQueryObject) throws Exception { |
| | | |
| | | Map<String, String> conditionMap = treeQueryObject.getConditionMap(); |
| | | if (conditionMap == null) { |
| | | conditionMap = new HashMap<>(); |
| | | } |
| | | String roleId = StringUtils.isBlank(conditionMap.get("roleId")) ? "" : conditionMap.get("roleId"); |
| | | String type = StringUtils.isBlank(conditionMap.get("type")) ? "" : conditionMap.get("type"); |
| | | String context = StringUtils.isBlank(conditionMap.get("context")) ? "" : conditionMap.get("context"); |
| | | boolean showCheckBox = Boolean.parseBoolean(conditionMap.get("showCheckBox")); |
| | | Map<String,RoleRightVO> roleRightVOMap=new HashMap<>(); |
| | | if(StringUtils.isNotBlank(roleId)){ |
| | | String userName= WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId(); |
| | | RoleRightInfo[] rightInfos= platformClientUtil.getFrameworkService().getRoleRightList(roleId,userName); |
| | | List<RoleRightVO> roleRightVOList=roleRightDOO2VOS(Arrays.asList(rightInfos)); |
| | | roleRightVOMap=roleRightVOList.stream().collect(Collectors.toMap(RoleRightVO::getFuncId,roleRightVO ->roleRightVO)); |
| | | } |
| | | BizType[] bizTypes=osBtmServiceI.getBizTypes(type); |
| | | List<Tree> treeList=new ArrayList<>(); |
| | | Tree rootNode =new Tree("root","åè½æ¨¡å","root"); |
| | | rootNode.setLevel(0); |
| | | rootNode.setShowCheckbox(true); |
| | | rootNode.setExpanded(true); |
| | | List<Tree> childList=new ArrayList<>(); |
| | | for (int i = 0; i < bizTypes.length; i++) { |
| | | Tree bizTypeTree = new Tree(bizTypes[i].oid,bizTypes[i].name,bizTypes[i]);//(btmItems[i].label+" ["+ btmItems[i].name+"]", btmItems[i]); |
| | | bizTypeTree.setLevel(1); |
| | | bizTypeTree.setShowCheckbox(true); |
| | | bizTypeTree.setParentId(rootNode.getOid()); |
| | | bizTypeTree.setParentName(rootNode.getText()); |
| | | bizTypeTree.setShowCheckbox(true); |
| | | bizTypeTree.setParentBtmName(bizTypes[i].name); |
| | | childList.add(bizTypeTree); |
| | | if(roleRightVOMap.containsKey(bizTypes[i].oid)){ |
| | | List<PLUILayout>contextList=getUIContextDataByBtName(bizTypes[i].name,context); |
| | | List<Tree> btmChildList=new ArrayList<>(); |
| | | btmChildList.add(bizTypeTree); |
| | | setChildNode(btmChildList,contextList,roleRightVOMap,showCheckBox); |
| | | } |
| | | } |
| | | rootNode.setChildren(childList); |
| | | treeList.add(rootNode); |
| | | return treeList; |
| | | } |
| | | |
| | | @Override |
| | | public boolean authorizedUI(UIAuthorDTO uiAuthorDTO) throws Exception { |
| | | boolean res=false; |
| | | if(uiAuthorDTO==null||CollectionUtil.isEmpty(uiAuthorDTO.getSelectTreeList())){ |
| | | throw new VciBaseException("è¯·éæ©èç¹è¿è¡ææ!"); |
| | | } |
| | | BaseQueryObject treeQueryObject=new BaseQueryObject(); |
| | | Map<String,String> conditionMap = new HashMap<>(); |
| | | conditionMap.put("roleId",uiAuthorDTO.getRoleId()); |
| | | conditionMap.put("type",uiAuthorDTO.getType()); |
| | | conditionMap.put("context",uiAuthorDTO.getContext()); |
| | | conditionMap.put("showCheckBox","true"); |
| | | treeQueryObject.setConditionMap(conditionMap); |
| | | List<Tree> treeList=this.getUIAuthor(treeQueryObject); |
| | | HashMap<String,Tree> allTreeMap=new HashMap<>(); |
| | | if(!CollectionUtil.isEmpty(treeList)){ |
| | | convertTreeDOO2Map(treeList,allTreeMap); |
| | | List<RoleRightDTO> roleRightDTOList=new ArrayList<>(); |
| | | List<Tree> selectTreeList= uiAuthorDTO.getSelectTreeList(); |
| | | getRoleRightDTOS(uiAuthorDTO.getRoleId(),selectTreeList,allTreeMap,roleRightDTOList); |
| | | } |
| | | return res; |
| | | } |
| | | |
| | | private void getRoleRightDTOS(String roleOid,List<Tree> selectTreeList,HashMap<String,Tree> allTreeMap, List<RoleRightDTO> roleRightDTOList){ |
| | | selectTreeList.stream().forEach(tree -> { |
| | | RoleRightDTO roleRightDTO=new RoleRightDTO(); |
| | | String id=ObjectUtility.getNewObjectID36(); |
| | | Object data= tree.getData(); |
| | | |
| | | if (data instanceof BizType) {//ä¸å¡ç±»å |
| | | BizType bizType=(BizType)data; |
| | | roleRightDTO.setId(id);//ä¸»é® |
| | | roleRightDTO.setCreateUser(null);//å建è
|
| | | roleRightDTO.setCreateTime(null);//å建æ¶é´ |
| | | roleRightDTO.setModifyUser(null);//ä¿®æ¹è
|
| | | roleRightDTO.setModifyTime(null);//ä¿®æ¹æ¶é´ |
| | | roleRightDTO.setRoleId(roleOid);//è§è²ID |
| | | roleRightDTO.setRightValue(1);// æéå¼ |
| | | roleRightDTO.setRightType((short) -1);//æéç±»å æéç±»åï¼è¶
级管çåç»ç®¡çåææä¸º1ï¼ç®¡çåç»æ®éç¨æ·ææä¸º2 |
| | | roleRightDTO.setFuncId(null); |
| | | roleRightDTO.setLicensor(null); |
| | | }else if (data instanceof PLUILayout){//UI |
| | | |
| | | }else if (data instanceof PLTabPage) {//UIä¸ä¸æ |
| | | |
| | | |
| | | }else if (data instanceof PLPageDefination) {// |
| | | |
| | | |
| | | }else if (data instanceof PLTabButton) {//æé® |
| | | |
| | | } |
| | | }); |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @param treeList æ èç¹ |
| | | * @param allTreeMapï¼ææçèç¹ |
| | | */ |
| | | private void convertTreeDOO2Map(List<Tree> treeList,Map<String,Tree> allTreeMap){ |
| | | Optional.ofNullable(treeList).orElseGet(()->new ArrayList<Tree>()).stream().forEach(tree -> { |
| | | List<Tree> childTreeList= tree.getChildren(); |
| | | allTreeMap.put(tree.getOid(),tree); |
| | | if(!CollectionUtil.isEmpty(childTreeList)){ |
| | | convertTreeDOO2Map(childTreeList,allTreeMap); |
| | | } |
| | | }); |
| | | } |
| | | private void setChildNode(List<Tree> parentTree, List<PLUILayout>contextList,Map<String,RoleRightVO> roleRightVOMap,boolean isShowCheckBox){ |
| | | Optional.ofNullable(parentTree).orElseGet(()->new ArrayList<Tree>()).stream().forEach(pTree -> { |
| | | Object funcObj= pTree.getData(); |
| | | List<Tree> chiledTreeList=new ArrayList<>(); |
| | | if (funcObj instanceof BizType) {//ä¸å¡ç±»å |
| | | BizType bizType = (BizType) funcObj; |
| | | if(!CollectionUtil.isEmpty(contextList)) { |
| | | contextList.stream().forEach(context->{ |
| | | Tree childTree=new Tree(context.plOId,context.plName+"("+context.plCode+")",context); |
| | | childTree.setParentName(pTree.getText()); |
| | | childTree.setParentBtmName(pTree.getParentBtmName()); |
| | | childTree.setParentId(pTree.getOid()); |
| | | childTree.setLevel(pTree.getLevel()+1); |
| | | childTree.setShowCheckbox(isShowCheckBox); |
| | | chiledTreeList.add(childTree); |
| | | }); |
| | | pTree.setChildren(chiledTreeList); |
| | | } |
| | | if(!CollectionUtil.isEmpty(chiledTreeList)) { |
| | | setChildNode(chiledTreeList, contextList, roleRightVOMap, isShowCheckBox); |
| | | } |
| | | }else if (funcObj instanceof PLUILayout){//UI |
| | | PLUILayout context = (PLUILayout) funcObj; |
| | | PLTabPage[] pages = new PLTabPage[0]; |
| | | try { |
| | | pages = platformClientUtil.getUIService().getPLTabPagesByPageDefinationOId(context.plOId); |
| | | } catch (PLException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | if(pages!=null&&pages.length>0){ |
| | | List<PLTabPage> plTabPageList= Arrays.stream(pages).collect(Collectors.toList()); |
| | | plTabPageList.stream().forEach(plTabPage -> { |
| | | Tree childTree=new Tree(plTabPage.plOId,plTabPage.plName,plTabPage); |
| | | childTree.setParentName(pTree.getText()); |
| | | childTree.setParentId(pTree.getOid()); |
| | | childTree.setParentBtmName(pTree.getParentBtmName()); |
| | | childTree.setLevel(pTree.getLevel()+1); |
| | | childTree.setShowCheckbox(isShowCheckBox); |
| | | chiledTreeList.add(childTree); |
| | | }); |
| | | pTree.setChildren(chiledTreeList); |
| | | } |
| | | if(!CollectionUtil.isEmpty(chiledTreeList)) { |
| | | setChildNode(chiledTreeList, contextList, roleRightVOMap, isShowCheckBox); |
| | | } |
| | | |
| | | }else if (funcObj instanceof PLTabPage) {//ä¸ä¸æ |
| | | PLTabPage plTabPage = (PLTabPage) funcObj; |
| | | List<PLPageDefination>plPageDefinationList=new ArrayList<>(); |
| | | try { |
| | | PLPageDefination[] pLPageDefinations = platformClientUtil.getUIService().getPLPageDefinationsByPageContextOId(plTabPage.plOId); |
| | | if(pLPageDefinations!=null&&pLPageDefinations.length>0){ |
| | | plPageDefinationList= Arrays.stream(pLPageDefinations).collect(Collectors.toList()); |
| | | plPageDefinationList.stream().forEach(plPageDefination -> { |
| | | Tree childTree=new Tree(plPageDefination.plOId,plPageDefination.name,plPageDefination); |
| | | childTree.setParentName(pTree.getText()); |
| | | childTree.setParentId(pTree.getOid()); |
| | | childTree.setParentBtmName(pTree.getParentBtmName()); |
| | | childTree.setLevel(pTree.getLevel()+1); |
| | | childTree.setShowCheckbox(isShowCheckBox); |
| | | chiledTreeList.add(childTree); |
| | | }); |
| | | pTree.setChildren(chiledTreeList); |
| | | } |
| | | if(!CollectionUtil.isEmpty(chiledTreeList)) { |
| | | setChildNode(chiledTreeList, contextList, roleRightVOMap, isShowCheckBox); |
| | | } |
| | | } catch (PLException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | |
| | | }else if (funcObj instanceof PLPageDefination) {// |
| | | PLPageDefination plPageDefination = (PLPageDefination) funcObj; |
| | | try { |
| | | List<PLTabButton>plTabButtonList=new ArrayList<>(); |
| | | PLTabButton[] pLTabButtons = platformClientUtil.getUIService().getPLTabButtonsByTableOId(plPageDefination.plOId); |
| | | if(pLTabButtons!=null&&pLTabButtons.length>0){ |
| | | plTabButtonList= Arrays.stream(pLTabButtons).collect(Collectors.toList()); |
| | | plTabButtonList.stream().forEach(plTabButton -> { |
| | | Tree childTree=new Tree(plTabButton.plOId,plTabButton.plLabel,plTabButton); |
| | | childTree.setParentName(pTree.getText()); |
| | | childTree.setParentId(pTree.getOid()); |
| | | childTree.setParentBtmName(pTree.getParentBtmName()); |
| | | childTree.setLevel(pTree.getLevel()+1); |
| | | childTree.setShowCheckbox(isShowCheckBox); |
| | | childTree.setLeaf(true); |
| | | chiledTreeList.add(childTree); |
| | | }); |
| | | pTree.setChildren(chiledTreeList); |
| | | } |
| | | if(!CollectionUtil.isEmpty(chiledTreeList)) { |
| | | setChildNode(chiledTreeList, contextList, roleRightVOMap, isShowCheckBox); |
| | | } |
| | | } catch (PLException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | |
| | | }else if (funcObj instanceof PLTabButton) {//æé® |
| | | PLTabButton plTabButton= (PLTabButton) funcObj; |
| | | String id =plTabButton.plTableOId; |
| | | if(roleRightVOMap.containsKey(id)){ |
| | | RoleRightVO roleRightVO = roleRightVOMap.get(id); |
| | | Long rightValue = roleRightVO.getRightValue(); |
| | | int nodeValue = plTabButton.plSeq; |
| | | if (nodeValue >= 0 && nodeValue <= 63) { |
| | | long preValue = (rightValue >> nodeValue) & 1; |
| | | if (preValue == 1) { |
| | | pTree.setChecked(true); |
| | | } |
| | | } |
| | | }else{ |
| | | pTree.setChecked(false); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | /** |
| | | * UIè§è²å¯¹è±¡è½¬æ¢ |
| | | * @param infos |
| | | * @return |
| | | */ |
| | | private List<RoleRightVO> roleRightDOO2VOS(List<RoleRightInfo> infos){ |
| | | List<RoleRightVO> roleRightVOS=new ArrayList<>(); |
| | | Optional.ofNullable(infos).orElseGet(()->new ArrayList<>()).stream().forEach(info -> { |
| | | RoleRightVO vo=roleRightDOO2VO(info); |
| | | roleRightVOS.add(vo); |
| | | }); |
| | | |
| | | return roleRightVOS; |
| | | } |
| | | |
| | | /** |
| | | * UIè§è²å¯¹è±¡è½¬æ¢ |
| | | * @param info |
| | | * @return |
| | | */ |
| | | private RoleRightVO roleRightDOO2VO(RoleRightInfo info){ |
| | | RoleRightVO vo=new RoleRightVO(); |
| | | vo.setId(info.id); |
| | | vo.setCreateTime(VciDateUtil.date2Str(VciDateUtil.long2Date(info.createTime),"")); |
| | | vo.setCreateUser(info.createUser); |
| | | vo.setRoleId(info.roleId); |
| | | vo.setRightType(info.rightType); |
| | | vo.setLicensor(info.licensor); |
| | | vo.setRightValue(info.rightValue); |
| | | vo.setFuncId(info.funcId); |
| | | vo.setModifyTime(VciDateUtil.date2Str(VciDateUtil.long2Date(info.modifyTime),"")); |
| | | vo.setModifyUser(info.modifyUser); |
| | | return vo; |
| | | } |
| | | |
| | | /** |
| | | * æ§å¶åºèç¹åå
¶åèç¹çå
é |
| | | * @param obj |
| | | */ |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <JD_DATASET> |
| | | <JD_SHOWCOLS>3</JD_SHOWCOLS> |
| | | <JD_FORMQTNAME></JD_FORMQTNAME> |
| | | <JD_ITEM> |
| | | <JD_field></JD_field> |
| | | <JD_or></JD_or> |
| | | <JD_eq></JD_eq> |
| | | <JD_trim></JD_trim> |
| | | <JD_dbl>0</JD_dbl> |
| | | <JD_cut></JD_cut> |
| | | <JD_inObj>assignedpartform</JD_inObj> |
| | | <JD_addFilter>testéå æ¥è¯¢æ¡ä»¶</JD_addFilter> |
| | | <JD_outType></JD_outType> |
| | | <JD_pageSize>10</JD_pageSize> |
| | | <JD_imgWH>60,</JD_imgWH> |
| | | <JD_outFields>workcontextoid.productnumber,isexpire,partoid.name</JD_outFields> |
| | | <JD_keyFields></JD_keyFields> |
| | | <JD_bat></JD_bat> |
| | | <JD_txf></JD_txf> |
| | | <JD_name></JD_name> |
| | | <JD_type></JD_type> |
| | | <JD_value></JD_value> |
| | | <JD_showExpression></JD_showExpression> |
| | | <JD_dateFormat></JD_dateFormat> |
| | | <JD_cols></JD_cols> |
| | | <JD_rows></JD_rows> |
| | | <JD_style></JD_style> |
| | | <JD_script></JD_script> |
| | | <JD_tips></JD_tips> |
| | | <JD_valuelist></JD_valuelist> |
| | | <JD_listTable></JD_listTable> |
| | | <JD_listTxt></JD_listTxt> |
| | | <JD_listVal></JD_listVal> |
| | | <JD_isEditable></JD_isEditable> |
| | | <JD_EditableProgram></JD_EditableProgram> |
| | | <JD_qtName></JD_qtName> |
| | | <JD_isRequired></JD_isRequired> |
| | | <JD_seniorQueryCols></JD_seniorQueryCols> |
| | | <JD_seniorQueryColsCounts></JD_seniorQueryColsCounts> |
| | | <JD_hrefFields></JD_hrefFields> |
| | | <JD_hrefConf></JD_hrefConf> |
| | | <JD_queryRefFields></JD_queryRefFields> |
| | | <JD_customClass></JD_customClass> |
| | | <JD_ctrlDisplyCol></JD_ctrlDisplyCol> |
| | | <JD_ctrlDisplyCondition></JD_ctrlDisplyCondition> |
| | | <JD_isHttpSave></JD_isHttpSave> |
| | | <JD_httpVolumnPath></JD_httpVolumnPath> |
| | | <JD_httpPathField></JD_httpPathField> |
| | | <JD_editCondition></JD_editCondition> |
| | | <JD_isNavigatorExpand>true</JD_isNavigatorExpand> |
| | | <JD_isShowFolder>true</JD_isShowFolder> |
| | | <JD_parentFolderName>father</JD_parentFolderName> |
| | | <JD_filterColWidth>250</JD_filterColWidth> |
| | | <JD_QuerySql></JD_QuerySql> |
| | | <JD_right></JD_right> |
| | | </JD_ITEM> |
| | | </JD_DATASET> |
| | |
| | | private-token-key: vciweb20210212 |
| | | ###tomcatç¸å
³çé
ç½® |
| | | server: |
| | | port: 12000 |
| | | port: 12005 |
| | | servlet: |
| | | context-path: /web |
| | | tomcat: |
| | |
| | | host: localhost # ipå°å |
| | | database: 2 # redisæ°æ®åº 0-15 |
| | | port: 6379 # 端å£å· |
| | | password: 123456 # æ å¯ç ä¸å¡« |
| | | password: foobared # æ å¯ç ä¸å¡« |
| | | timeout: 30000s # è¿æ¥è¶
æ¶æ¶é´ ï¼é»è®¤1å¤©ï¼ |
| | | lettuce: |
| | | shutdown-timeout: 100ms # å
³éè¶
æ¶æ¶é´ é»è®¤ 100ms |
| | |
| | | } |
| | | .dialog-footer{ |
| | | background-color: #ffffff; |
| | | z-index: 10000; |
| | | } |
| | | .avue-crud .avue-form { |
| | | margin: 0px auto !important; // è¡¨æ ¼å
ç表åï¼æ¯å¦:æç´¢æ ï¼ åæ¶ä¸è¾¹è· |
| | |
| | | params:params |
| | | }); |
| | | } |
| | | // æ¥è¯¢æ¡ä»¶çæ¥è¯¢æ¥å£ï¼æ¥å£æ¹å¼POSTï¼åæ°ä¸ä¿åæ¥å£ä¼ åä¸è´ |
| | | export function getCriteria(params) { |
| | | return request({ |
| | | url: "/api/templateController/getCriteria", |
| | | method: "post", |
| | | data:params |
| | | }); |
| | | } |
| | | |
| | | // å¯¼åº |
| | | export function expLinkTemplate (params) { |
| | | return request({ |
| | | url: '/api/templateController/expLinkTemplate', |
| | | method: 'get', |
| | | //headers: {'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'}, |
| | | responseType: 'blob', |
| | | params |
| | | }) |
| | | } |
| | | |
| | | // 导å
¥ |
| | | export function impLinkTemplate (params) { |
| | | return request({ |
| | | url: '/api/templateController/impLinkTemplate', |
| | | method: 'get', |
| | | headers: {'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'}, |
| | | responseType: 'blob', |
| | | params |
| | | }) |
| | | } |
| | |
| | | import request from '@/router/axios'; |
| | | //æ¥è¯¢æ¨¡æ¿å®ä¹ |
| | | // 模æ¿å表å®ä¹ä¸ææ¡æ¥è¯¢ |
| | | //btmName: ç±»åå, linkFlag: æ¯å¦é¾æ¥ç±»å |
| | | export function gridTemplate(params) { |
| | | return request({ |
| | | url: "/api/templateController/queryTemplateList", |
| | |
| | | }); |
| | | } |
| | | |
| | | //龿¥ç±»åæ¥è¯¢æ¨¡æ¿å鿡件 |
| | | //btmName: 龿¥ç±»åå, linkFlag: æ¯å¦é¾æ¥ç±»å |
| | | //btmName: ä¸å¡ç±»åå, linkFlag: æ¯å¦é¾æ¥ç±»åï¼directionï¼æ£ååå |
| | | export function queryTemplateListByAttr(params) { |
| | | return request({ |
| | | url: "/api/templateController/queryTemplateListByAttr", |
| | | method: "get", |
| | | params:{ |
| | | ...params |
| | | } |
| | | }); |
| | | } |
| | | |
| | | //è·åæææ¥è¯¢æ¨¡æ¿ |
| | | export function getAllQTs(page,limit) { |
| | | return request({ |
| | | url: "/api/templateController/getAllQTs", |
| | | method: "get" |
| | | }); |
| | | } |
| | | |
| | | // ä¿®æ¹ |
| | | export function updateTemplate(params) { |
| | | return request({ |
| | |
| | | }, |
| | | // æä»¶ä¸ä¼ æå |
| | | onSuccess(resbonse) { |
| | | console.log(resbonse); |
| | | if (resbonse.code === 200) { |
| | | this.$message.success("导å
¥æåï¼"); |
| | | this.visible = false; |
| | | this.$emit('updata'); |
| | | this.$emit('updata',resbonse); |
| | | } else { |
| | | this.$message.error(resbonse.msg); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <el-dialog v-dialogDrag |
| | | :title="dialog.title" |
| | | :visible.sync="dialog.showDialog" |
| | | width="1620px" |
| | | :append-to-body="true" |
| | | class="avue-dialog" |
| | | :destroy-on-close="true" |
| | | :close-on-click-modal="false" |
| | | @close="cancelDialog"> |
| | | <div style="min-height: 665px;max-height: 85vh;padding-bottom: 50px;"> |
| | | <basic-form key="linkQueryForm" style="margin-bottom: 0" |
| | | ref="form" |
| | | :span="4" |
| | | :formItems="formItems" |
| | | :formData="form" |
| | | @getFormData="getFormData"> |
| | | </basic-form> |
| | | <avue-crud ref="crud" title="设置æåº" |
| | | :data="orderInfoList" :option="crudOption"> |
| | | <template slot="menuLeft" slot-scope="scope"> |
| | | <el-button icon="el-icon-plus" size="small" type="primary" @click="addRow">å建</el-button> |
| | | </template> |
| | | <template slot="menu" slot-scope="scope"> |
| | | <el-button icon="el-icon-delete" size="small" type="text" @click="rowDeleteHandler(scope)">å é¤ |
| | | </el-button> |
| | | </template> |
| | | </avue-crud> |
| | | <el-dialog v-dialogDrag |
| | | title="å建" |
| | | :visible.sync="crudDialog.showDialog" |
| | | width="500px" |
| | | :append-to-body="true" |
| | | class="avue-dialog" |
| | | :destroy-on-close="true" |
| | | :close-on-click-modal="false" |
| | | @close="crudDialog.showDialog=false"> |
| | | <avue-form ref="tableForm" :option="tableFormOption" v-model="tableForm"></avue-form> |
| | | <div class="dialog-footer avue-dialog__footer"> |
| | | <el-button type="primary" plain size="small" @click="rowSave" >ä¿ å</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <el-container style="margin-top: 10px;"> |
| | | <el-aside style="width:350px"> |
| | | <fieldset> |
| | | <legend> 龿¥ç±»åå鿡件 </legend> |
| | | <div> |
| | | æ¥è¯¢æ¨¡æ¿å®ä¹ |
| | | <avue-select @change="linkQueryDefineChange" class="el-input--small" v-model="linkQueryDefineForm" placeholder="è¯·éæ©å
容" type="tree" :dic="linkQueryDefineDic" style="width:240px"></avue-select> |
| | | <avue-tree style="height: 265px" :data="linkTreeData" :option="treeOption" @node-drag-start="handleDragStart"> |
| | | </avue-tree> |
| | | </div> |
| | | </fieldset> |
| | | </el-aside> |
| | | <el-main> |
| | | <fieldset style="margin: 0 10px"> |
| | | <legend> æ¥è¯¢æ¡ä»¶ </legend> |
| | | <form-query-dialog ref="formQuery" |
| | | style="height: 300px;" |
| | | :queryCondition="queryCondition" |
| | | :queryTree="queryTree" |
| | | :levelFlag.sync="form.levelFlag" |
| | | ></form-query-dialog> |
| | | </fieldset> |
| | | </el-main> |
| | | <el-aside style="width:350px"> |
| | | <fieldset> |
| | | <legend> ä¸å¡ç±»åå鿡件 </legend> |
| | | <div> |
| | | æ¥è¯¢æ¨¡æ¿å®ä¹ |
| | | <avue-select @change="businessQueryDefineChange" class="el-input--small" v-model="businessQueryDefineForm" placeholder="è¯·éæ©å
容" type="tree" :dic="businessQueryDefineDic" style="width: 240px;"></avue-select> |
| | | <avue-tree style="height: 265px" :data="businessTreeData" :option="treeOption" @node-drag-start="handleDragStart"> |
| | | </avue-tree> |
| | | </div> |
| | | </fieldset> |
| | | </el-aside> |
| | | </el-container> |
| | | </div> |
| | | <div class="dialog-footer avue-dialog__footer"> |
| | | <el-button type="primary" plain size="small" @click="submitDialog" >ä¿ å</el-button> |
| | | <el-button size="small" @click="cancelDialog">å æ¶</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </template> |
| | | |
| | | <script> |
| | | import {getAllOrderbyAttributeByLink} from "@/api/modeling/linkType/api"; |
| | | import {linkSave} from "@/api/queryTemplate/linkTypeQuery"; |
| | | import basicOption from "@/util/basic-option"; |
| | | import {queryTemplateListByAttr} from "@/api/queryTemplate/queryDefine"; |
| | | import formQueryDialog from "./formQueryDialog.vue"; |
| | | export default { |
| | | name: "formDialog", |
| | | components:{formQueryDialog}, |
| | | data(){ |
| | | return { |
| | | dialog: { |
| | | showDialog: false, |
| | | title: "å建", |
| | | submitTxt: "ä¿å", |
| | | submitIcon: "el-icon-check", |
| | | loading: false, |
| | | type: "add", |
| | | }, |
| | | crudDialog: { |
| | | showDialog: false, |
| | | submitTxt: "ä¿å", |
| | | submitIcon: "el-icon-check", |
| | | }, |
| | | formItems:[{ |
| | | label: 'æ¥è¯¢æ¨¡æ¿åç§°', |
| | | prop: 'qtName', |
| | | type: 'input', |
| | | span:5, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请è¾å
¥æ¥è¯¢æ¨¡æ¿åç§°", |
| | | trigger: "blur" |
| | | }] |
| | | }], |
| | | form:{ |
| | | btmName:'', |
| | | qtName: '', |
| | | levelFlag:0,//0:æ®éæ¥è¯¢æ¨¡æ¿; 1:é«çº§æ¥è¯¢æ¨¡æ¿" |
| | | queryTemplate:{} |
| | | }, |
| | | //å·²ææåºå表é
ç½® |
| | | crudOption: { |
| | | ...basicOption, |
| | | addBtn: false, |
| | | editBtn: false, |
| | | delBtn: false, |
| | | selection: false, |
| | | height: "220", |
| | | tip: false, |
| | | column: [{ |
| | | label: 'æåºå段', |
| | | prop: 'orderField' |
| | | }, { |
| | | label: 'æåºæ¹å¼', |
| | | prop: 'orderMode' |
| | | }, { |
| | | label: 'ä¼å
级', |
| | | prop: 'level' |
| | | }] |
| | | }, |
| | | //å·²ææåº |
| | | orderInfoList:[], |
| | | //设置æåºå¼¹çªè¡¨åæ°æ® |
| | | tableForm:{ |
| | | orderField:'', |
| | | orderMode:'ASC', |
| | | level:'' |
| | | }, |
| | | //设置æåºå¼¹çªææå¯æåºå段 |
| | | orderFieldList:[], |
| | | //设置æåºå¼¹çªè¡¨åé
ç½® |
| | | tableFormOption: { |
| | | menuBtn: false, |
| | | submitBtn: false, |
| | | emptyBtn: false, |
| | | span:24, |
| | | column: [{ |
| | | label: 'æåºå段', |
| | | prop: 'orderField', |
| | | type:'select', |
| | | props: { |
| | | label: 'id', |
| | | value: 'id' |
| | | }, |
| | | rules: [{ |
| | | required: true, |
| | | message: "è¯·éæ©æåºå段", |
| | | trigger: "blur" |
| | | }] |
| | | }, { |
| | | label: 'æåºæ¹å¼', |
| | | prop: 'orderMode', |
| | | type: 'select', |
| | | dicData: [{ |
| | | label: 'ååº', |
| | | value: 'ASC' |
| | | }, { |
| | | label: 'éåº', |
| | | value: 'DESC' |
| | | }], |
| | | value: 'ASC' |
| | | }, { |
| | | label: 'ä¼å
级', |
| | | prop: 'level', |
| | | type: 'number', |
| | | min:1, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请è¾å
¥ä¼å
级", |
| | | trigger: "blur" |
| | | }] |
| | | }] |
| | | }, |
| | | treeOption:{ |
| | | defaultExpandAll:true, |
| | | menu: false, |
| | | addBtn: false, |
| | | filter:false, |
| | | draggable: true, |
| | | allowDrop: () => { |
| | | return false; |
| | | }, |
| | | allowDrag: () => { |
| | | return true; |
| | | }, |
| | | }, |
| | | linkQueryDefineForm:'',//龿¥ç±»åæ¥è¯¢æ¨¡æ¿å®ä¹éä¸å¼ |
| | | linkQueryDefineDic:[],//龿¥ç±»åæ¥è¯¢æ¨¡æ¿å®ä¹ä¸ææ°æ® |
| | | //龿¥ç±»åæ¥è¯¢æ¨¡æ¿å®ä¹éä¸é¡¹å±æ§ |
| | | linkTreeData: [], |
| | | businessQueryDefineForm:'',//ä¸å¡ç±»åæ¥è¯¢æ¨¡æ¿å®ä¹éä¸å¼ |
| | | businessQueryDefineDic:[],//ä¸å¡ç±»åæ¥è¯¢æ¨¡æ¿å®ä¹ä¸ææ°æ® |
| | | //ä¸å¡ç±»åæ¥è¯¢æ¨¡æ¿å®ä¹éä¸é¡¹å±æ§ |
| | | businessTreeData: [], |
| | | //é«çº§æ¥è¯¢æ¡ä»¶ |
| | | queryTree:{}, |
| | | //æ®éæ¥è¯¢æ¡ä»¶ |
| | | queryCondition:[], |
| | | |
| | | }; |
| | | }, |
| | | watch: { |
| | | //æ¹å |
| | | 'form.direction': { |
| | | handler(val) { |
| | | if(val=='positive'){ |
| | | //æ£å |
| | | const dicData=this.treeData.btmItemsTo.map(item=>{ |
| | | return { |
| | | label: item, |
| | | value: item |
| | | } |
| | | }) |
| | | dicData.push({ |
| | | label: 'ææç±»å', |
| | | value: '*' |
| | | }) |
| | | this.$refs.form.updateDic('btmType', dicData); |
| | | this.form.btmType=dicData[0].value |
| | | this.getAllAttr(); |
| | | }else if(val=='opposite'){ |
| | | //åå |
| | | const dicData=this.treeData.btmItemsFrom.map(item=>{ |
| | | return { |
| | | label: item, |
| | | value: item |
| | | } |
| | | }) |
| | | dicData.push({ |
| | | label: 'ææç±»å', |
| | | value: '*' |
| | | }) |
| | | this.$refs.form.updateDic('btmType', dicData); |
| | | this.form.btmType=dicData[0].value |
| | | this.getAllAttr(); |
| | | } |
| | | }, |
| | | immediate: true, |
| | | }, |
| | | //ä¸å¡ç±»å |
| | | 'form.btmType': { |
| | | handler(val) { |
| | | if(val && val!='*'){ |
| | | this.getTemp(val,false); |
| | | } |
| | | }, |
| | | immediate: true, |
| | | } |
| | | }, |
| | | methods: { |
| | | openDialog(btmName, title, mode, data) { |
| | | this.dialog.title = title; |
| | | this.dialog.type = mode; |
| | | this.form.btmName = btmName; |
| | | this.treeData = data.treeData; |
| | | |
| | | if (data.selectData) { |
| | | this.selectData = data.selectData; |
| | | this.form.qtName = this.selectData.qtName; |
| | | if (data.selectData.queryTemplate.orderInfoList && data.selectData.queryTemplate.orderInfoList.length > 0) { |
| | | this.orderInfoList = JSON.parse(JSON.stringify(data.selectData.queryTemplate.orderInfoList));//å·²ææåº |
| | | } |
| | | this.queryCondition=this.selectData.queryTemplate.condition; |
| | | this.queryTree=this.selectData.tree; |
| | | this.form.levelFlag=this.selectData.levelFlag; |
| | | } else { |
| | | this.selectData = {}; |
| | | this.orderInfoList = []; |
| | | this.queryCondition=[]; |
| | | this.queryTree={ |
| | | connector:'å¹¶ä¸', |
| | | child:[] |
| | | }; |
| | | } |
| | | this.dialog.showDialog = true; |
| | | this.getTemp(data.treeData.label, true) |
| | | }, |
| | | cancelDialog() { |
| | | this.dialog.loading = false; |
| | | this.dialog.showDialog = false; |
| | | this.$nextTick(() => { |
| | | this.form = { |
| | | btmName: '', |
| | | qtName: '', |
| | | levelFlag:0, |
| | | queryTemplate: {} |
| | | }; |
| | | this.orderInfoList =[]; |
| | | this.businessQueryDefineForm=''; |
| | | this.linkQueryDefineForm=''; |
| | | this.$refs.form.clearValidate(); |
| | | }); |
| | | }, |
| | | submitDialog() { |
| | | this.$refs.form.validate((valid) => { |
| | | if (valid) { |
| | | const formData=this.initFormData(); |
| | | console.log(formData) |
| | | linkSave(formData).then(res => { |
| | | if (res.data.success) { |
| | | this.$message.success("ä¿åæå"); |
| | | this.cancelDialog(); |
| | | this.$emit("refresh"); |
| | | } |
| | | }); |
| | | } else { |
| | | return false; |
| | | } |
| | | }); |
| | | }, |
| | | initFormData() { |
| | | let formData = { |
| | | btmName: this.form.btmName, |
| | | qtName: this.form.qtName, |
| | | levelFlag: this.form.levelFlag, |
| | | queryTemplate: { |
| | | btmType: this.form.btmType, |
| | | clauseList: ['*'], |
| | | id: this.form.qtName, |
| | | level: this.form.level, |
| | | linkType: this.form.btmName, |
| | | orderInfoList: this.orderInfoList, |
| | | recReturnMode: 1,//éå½è¿åæ°æ®æ¨¡å¼:1ï¼RECRETURNMODE_FLAT, 2ï¼RECRETURNMODE_FILTER |
| | | rightFlag: true, |
| | | secretFlag: true, |
| | | type: 'link', |
| | | version: this.form.version |
| | | } |
| | | } |
| | | if (formData.levelFlag == 1) { |
| | | //é«çº§ |
| | | let that = this; |
| | | function initValue(nodeChild) { |
| | | let children = []; |
| | | if (nodeChild) { |
| | | nodeChild.forEach((item, index) => { |
| | | if (item.label != 'å¹¶ä¸' && item.label != 'æè
') { |
| | | children.push(item.label); |
| | | } else { |
| | | children.push({ |
| | | connector: item.label, |
| | | child: initValue(item.children) |
| | | }) |
| | | } |
| | | }) |
| | | } |
| | | return children; |
| | | } |
| | | |
| | | let treeData = { |
| | | connector: this.$refs.formQuery.treeData[0].label |
| | | }; |
| | | if (this.$refs.formQuery.treeData[0].children) { |
| | | treeData.child = initValue(this.$refs.formQuery.treeData[0].children); |
| | | } |
| | | formData.tree = treeData |
| | | } |
| | | |
| | | formData.condition = this.$refs.formQuery.conditionList; |
| | | |
| | | return formData; |
| | | }, |
| | | getFormData(form) { |
| | | this.form = form; |
| | | }, |
| | | addRow() { |
| | | this.crudDialog.showDialog = true; |
| | | }, |
| | | // è¡å é¤ |
| | | rowDeleteHandler(data) { |
| | | this.orderInfoList.splice(data.index,1); |
| | | this.orderFieldList.unshift({ |
| | | id: data.row.orderField |
| | | }); |
| | | this.tableFormOption.column[0].dicData= this.orderFieldList |
| | | }, |
| | | //è·åæåºè®¾ç½®ä¸æææåºå段 |
| | | getAllAttr() { |
| | | getAllOrderbyAttributeByLink({ |
| | | name: this.treeData.label, |
| | | btmType: this.form.btmType, |
| | | direction: this.form.direction |
| | | }).then(res => { |
| | | const orderInfoStr = JSON.stringify(this.orderInfoList); |
| | | const dicData = []; |
| | | res.data.data.forEach(item => { |
| | | if (orderInfoStr.indexOf('"orderField":"' + item + '"') == -1) { |
| | | dicData.push({id: item}); |
| | | } |
| | | }) |
| | | this.tableFormOption.column[0].dicData=dicData; |
| | | this.orderFieldList=dicData; |
| | | }) |
| | | }, |
| | | //æåºè®¾ç½®ä¿å |
| | | rowSave() { |
| | | this.$refs.tableForm.validate((valid) => { |
| | | if(valid){ |
| | | this.orderInfoList.push(JSON.parse(JSON.stringify(this.tableForm))); |
| | | this.crudDialog.showDialog=false; |
| | | const orderInfoStr = JSON.stringify(this.orderInfoList); |
| | | const dicData = []; |
| | | this.orderFieldList.forEach(item => { |
| | | if (orderInfoStr.indexOf('"orderField":"' + item.id + '"') == -1) { |
| | | dicData.push(item); |
| | | } |
| | | }) |
| | | this.tableFormOption.column[0].dicData=dicData; |
| | | this.orderFieldList=dicData; |
| | | this.tableForm= { |
| | | orderField: '', |
| | | orderMode: 'ASC', |
| | | level: '' |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | //è·åæ¥è¯¢æ¨¡æ¿å®ä¹ä¸æ |
| | | getTemp(btmName,linkFlag) { |
| | | if (btmName) { |
| | | queryTemplateListByAttr({btmName: btmName, linkFlag: linkFlag,direction:this.form.direction}).then(res => { |
| | | const data = res.data.data.map(item => { |
| | | item.label = item.name + '-' + (item.linkTypeName || item.btmName); |
| | | item.value = item.name; |
| | | return item; |
| | | }); |
| | | if(linkFlag){ |
| | | this.linkQueryDefineDic=data |
| | | data.length>0 && (this.linkQueryDefineForm=data[0].value); |
| | | }else { |
| | | this.businessQueryDefineDic=data; |
| | | data.length>0 && (this.businessQueryDefineForm= data[0].value); |
| | | } |
| | | }) |
| | | } |
| | | }, |
| | | linkQueryDefineChange(data) { |
| | | if (data.value) { |
| | | const childData = data.item.attrs.map(item => { |
| | | return { |
| | | label: item.name, |
| | | value: item.name, |
| | | atttributes:item |
| | | }; |
| | | }); |
| | | this.linkTreeData = [{ |
| | | label: data.value, |
| | | value: data.value, |
| | | children: childData |
| | | }] |
| | | } |
| | | }, |
| | | businessQueryDefineChange(data) { |
| | | if (data.value) { |
| | | const childData = data.item.attrs.map(item => { |
| | | return { |
| | | label: item.name, |
| | | value: item.name, |
| | | atttributes:item |
| | | }; |
| | | }); |
| | | this.businessTreeData = [{ |
| | | label: data.value, |
| | | value: data.value, |
| | | children: childData |
| | | }] |
| | | } |
| | | }, |
| | | // å¼å§ææ½æ èç¹äºä»¶ |
| | | handleDragStart(node, ev) { |
| | | // ä½¿ç¨ setData æ¹æ³è®¾ç½®æ°æ® |
| | | ev.dataTransfer.setData('item', JSON.stringify(node.data)); |
| | | }, |
| | | }, |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | fieldset { |
| | | border-radius: 5px; |
| | | -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); |
| | | box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); |
| | | padding: 10px 6px; |
| | | box-sizing: border-box; |
| | | margin: 0; |
| | | border: 1px solid #EBEEF5; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div style="padding: 0 10px"> |
| | | <div style="text-align: center;margin-bottom: 10px"> |
| | | <avue-radio v-model="radioForm" :dic="radioDic" style="margin: 0 20px 0 0;display: inline-block"></avue-radio> |
| | | <el-button plain size="mini" type="primary" @click="clearValue">æ¸
空å¼</el-button> |
| | | <el-button plain size="mini" type="primary" @click="delAll">å é¤å
¨é¨æ¡ä»¶</el-button> |
| | | </div> |
| | | <div v-if="radioForm==0" @drop="drop" @dragover.prevent style="height: 220px;text-align: center;"> |
| | | <div v-for="(condition,index) in conditionList" :key="index" class="el-input--small" style="margin-bottom: 5px; text-align:left"> |
| | | <span style="width: 200px;display: inline-block;text-align: right" :title="condition.clause">{{condition.clause}}</span> |
| | | <avue-select v-model="condition.operator" type="tree" :dic="condition.operatorDic" :clearable="false" style="width: 80px;margin: 0 5px;"></avue-select> |
| | | <el-date-picker v-if="condition.type=='VTDate'" v-model="condition.ordinaryValue" style="width:300px;margin-right: 5px;display: inline-block;" value-format="YYYY-MM-DD" |
| | | type="date"> |
| | | </el-date-picker> |
| | | <el-date-picker v-else-if="condition.type=='VTDateTime'" v-model="condition.ordinaryValue" style="width:300px;margin-right: 5px;display: inline-block;" |
| | | type="datetime"> |
| | | </el-date-picker> |
| | | <el-time-select v-else-if="condition.type=='VTTime'" v-model="condition.ordinaryValue" value-format="HH:mm:ss" style="width:300px;margin-right: 5px;display: inline-block;"> |
| | | </el-time-select> |
| | | <avue-input-number v-else-if="condition.type=='VTInteger'" precision="0" v-model="condition.ordinaryValue" style="width:300px;margin-right: 5px;display: inline-block;"></avue-input-number> |
| | | <avue-input-number v-else-if="condition.type=='VTLong' || condition.type=='VTDouble'" v-model="condition.ordinaryValue" style="width:300px;margin-right: 5px;display: inline-block;"></avue-input-number> |
| | | <avue-input v-else v-model="condition.ordinaryValue" placeholder="" style="width: 300px;margin-right: 5px;"></avue-input> |
| | | <el-button plain size="mini" type="primary" @click="checkTemp(index)">éæ©æ¥è¯¢æ¨¡æ¿</el-button> |
| | | <el-button size="mini" type="danger" icon="el-icon-delete" @click="delCondition(index)" style="padding: 7px 8px"></el-button> |
| | | </div> |
| | | </div> |
| | | <div v-else style="height: 220px;text-align: left"> |
| | | <avue-tree ref="tree" @node-drop="handleDrop" style="height: 220px" :data="treeData" :option="treeOption" @node-click="nodeClick" node-key="value"></avue-tree> |
| | | </div> |
| | | <div style="text-align: right;margin-top: 10px;"> |
| | | <el-button v-if="radioForm==1" plain size="mini" type="primary" @click="addHandler">å¢å é»è¾</el-button> |
| | | <el-button v-if="radioForm==1" plain size="mini" type="primary" @click="editHandler">ä¿®æ¹æ¡ä»¶</el-button> |
| | | <el-button v-if="radioForm==1" plain size="mini" type="primary" @click="delHandler">å é¤</el-button> |
| | | <el-button plain size="mini" type="primary" @click="queryHandler">æ¥è¯¢</el-button> |
| | | <el-button plain size="mini" type="primary" @click="">åæ¶</el-button> |
| | | </div> |
| | | |
| | | <el-dialog v-dialogDrag |
| | | :title="dialog.title" |
| | | :visible.sync="dialog.showDialog" |
| | | width="550px" |
| | | :append-to-body="true" |
| | | class="avue-dialog" |
| | | :destroy-on-close="true" |
| | | :close-on-click-modal="false" |
| | | @close="dialog.showDialog=false"> |
| | | <div style="height: 200px;"> |
| | | {{clickNode.showLabel}} |
| | | <avue-select v-if="['VTInteger','VTDouble','VTLong'].includes(clickNode.type)" v-model="clickNode.operator" type="tree" :dic="operatorIntDic" :clearable="false" style="width: 80px;margin: 0 5px;"></avue-select> |
| | | <avue-select v-else-if="['VTDateTime','VTDate','VTTime'].includes(clickNode.type)" v-model="clickNode.operator" type="tree" :dic="operatorDateDic" :clearable="false" style="width: 80px;margin: 0 5px;"></avue-select> |
| | | <avue-select v-else v-model="clickNode.operator" type="tree" :dic="operatorDic" :clearable="false" style="width: 80px;margin: 0 5px;"></avue-select> |
| | | <el-date-picker v-if="clickNode.type=='VTDate'" v-model="clickNode.inputValue" style="width:300px;display: inline-block;" value-format="YYYY-MM-DD" |
| | | type="date"> |
| | | </el-date-picker> |
| | | <el-date-picker v-else-if="clickNode.type=='VTDateTime'" v-model="clickNode.inputValue" style="width:350px;display: inline-block;" |
| | | type="datetime"> |
| | | </el-date-picker> |
| | | <el-time-select v-else-if="clickNode.type=='VTTime'" v-model="clickNode.inputValue" value-format="HH:mm:ss" style="width:300px;display: inline-block;"> |
| | | </el-time-select> |
| | | <avue-input-number v-else-if="clickNode.type=='VTInteger'" precision="0" v-model="clickNode.inputValue" style="width:300px;display: inline-block;"></avue-input-number> |
| | | <avue-input-number v-else-if="clickNode.type=='VTLong' || clickNode.type=='VTDouble'" v-model="clickNode.inputValue" style="width:300px;display: inline-block;"></avue-input-number> |
| | | <avue-input v-else v-model="clickNode.inputValue" type="textarea" style="width: 300px;margin-right: 5px;vertical-align: top;"></avue-input> |
| | | </div> |
| | | <div class="dialog-footer avue-dialog__footer"> |
| | | <el-button size="small" @click="checkTemp" v-if="!['VTInteger','VTDouble','VTLong','VTDateTime','VTDate','VTTime'].includes(clickNode.type)">éæ©æ¥è¯¢æ¨¡æ¿</el-button> |
| | | <el-button type="primary" plain size="small" @click="submitDialog" >ä¿ å</el-button> |
| | | <el-button size="small" @click="dialog.showDialog=false">å æ¶</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog v-dialogDrag |
| | | :title="queryDialog.title" |
| | | :visible.sync="queryDialog.showDialog" |
| | | width="800px" |
| | | :append-to-body="true" |
| | | class="avue-dialog" |
| | | :destroy-on-close="true" |
| | | :close-on-click-modal="false" |
| | | @close="cancleQueryDialog"> |
| | | <div class="el-input--small"> |
| | | è¾å
¥æ¥è¯¢å段ï¼<avue-input v-model="queryField" style="width: 500px;margin-bottom: 10px"></avue-input> |
| | | <avue-crud ref="crud" :data="crudData" :option="crudOption" |
| | | :page.sync="page" |
| | | :table-loading="tableLoading" |
| | | @selection-change="selectionChange" |
| | | @row-click="rowClick" |
| | | @size-change="sizeChange" |
| | | @current-change="currentChange"> |
| | | </avue-crud> |
| | | </div> |
| | | <div class="dialog-footer avue-dialog__footer"> |
| | | <el-button type="primary" plain size="small" @click="submitQueryDialog" >ç¡® å®</el-button> |
| | | <el-button size="small" @click="cancleQueryDialog">å æ¶</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog v-dialogDrag |
| | | :title="queryResultDialog.title" |
| | | :visible.sync="queryResultDialog.showDialog" |
| | | width="900px" |
| | | :append-to-body="true" |
| | | class="avue-dialog" |
| | | :destroy-on-close="true" |
| | | :close-on-click-modal="false" |
| | | @close="queryResultDialog.showDialog='false'"> |
| | | <div class="el-input--small"> |
| | | <avue-crud ref="crud" :data="resultData" :option="resultOption" |
| | | :table-loading="queryResultDialog.loading"> |
| | | </avue-crud> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import basicOption from "@/util/basic-option"; |
| | | import {getAllQTs} from "@/api/queryTemplate/queryDefine"; |
| | | import {getCriteria} from "@/api/queryTemplate/linkTypeQuery"; |
| | | |
| | | export default { |
| | | name: "formQueryDialog", |
| | | props: { |
| | | queryCondition: { |
| | | type: Array, |
| | | default: [] |
| | | }, |
| | | queryTree: { |
| | | type: Object, |
| | | default: {} |
| | | }, |
| | | levelFlag:{ |
| | | type: Number, |
| | | default: 0 |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | dialog: { |
| | | showDialog: false, |
| | | title: "æ¥è¯¢æ¡ä»¶è®¾ç½®æ¡", |
| | | loading: false |
| | | }, |
| | | queryDialog: { |
| | | showDialog: false, |
| | | title: "éæ©æ¥è¯¢æ¨¡æ¿", |
| | | loading: false |
| | | }, |
| | | queryResultDialog: { |
| | | showDialog: false, |
| | | title: "æ¥è¯¢ç»æ", |
| | | loading: false |
| | | }, |
| | | radioDic: [{ |
| | | label: 'æ®é', |
| | | value: 0 |
| | | }, { |
| | | label: 'é«çº§', |
| | | value: 1 |
| | | }], |
| | | conditionList:[], |
| | | treeData:[], |
| | | treeOption:{ |
| | | defaultExpandAll:true, |
| | | menu: false, |
| | | addBtn: false, |
| | | filter:false, |
| | | draggable: true, |
| | | allowDrop: (draggingNode, dropNode, type) => { |
| | | debugger; |
| | | if (dropNode.data.label === 'å¹¶ä¸' || dropNode.data.label === 'æè
') { |
| | | return true; |
| | | } else { |
| | | this.$message.error('请éä¸é»è¾æ¡ä»¶æ·»å æ¥è¯¢é¡¹'); |
| | | return false; |
| | | } |
| | | }, |
| | | allowDrag: (draggingNode) => { |
| | | return false; |
| | | }, |
| | | }, |
| | | page: { |
| | | currentPage: 1, |
| | | pageSize: 10, |
| | | total: 0, |
| | | pageSizes: [10, 30, 50, 100], |
| | | }, |
| | | crudData:[], |
| | | crudOption: { |
| | | ...basicOption, |
| | | addBtn: false, |
| | | editBtn: false, |
| | | delBtn: false, |
| | | tip: false, |
| | | header: false, |
| | | height: window.innerHeight-220, |
| | | menu: false, |
| | | column: [{ |
| | | label: 'æ¥è¯¢æ¨¡æ¿åç§°', |
| | | prop: 'qtName', |
| | | sortable: true, |
| | | }, { |
| | | label: '龿¥ç±»åæä¸å¡ç±»å', |
| | | prop: 'btmName', |
| | | sortable: true, |
| | | }] |
| | | }, |
| | | tableLoading: false, |
| | | selectionRow:[], |
| | | queryField:'', |
| | | resultData:[], |
| | | resultOption: { |
| | | ...basicOption, |
| | | addBtn: false, |
| | | editBtn: false, |
| | | delBtn: false, |
| | | tip: false, |
| | | header: false, |
| | | height: window.innerHeight-220, |
| | | menu: false, |
| | | column: [{ |
| | | label: 'OID', |
| | | prop: 'OID', |
| | | }, { |
| | | label: 'CREATOR', |
| | | prop: 'CREATOR' |
| | | }, { |
| | | label: 'CREATETIME', |
| | | prop: 'CREATETIME' |
| | | }] |
| | | }, |
| | | clickNode:{}, |
| | | operatorIntDic:[{ |
| | | label: '=', |
| | | value: '=' |
| | | }, { |
| | | label: '!=', |
| | | value: '!=' |
| | | }, { |
| | | label: 'å
å«', |
| | | value: 'å
å«' |
| | | }, { |
| | | label: 'in', |
| | | value: 'in' |
| | | }, { |
| | | label: 'not in', |
| | | value: 'not in' |
| | | }, { |
| | | label: '>=', |
| | | value: '>=' |
| | | }, { |
| | | label: '>', |
| | | value: '>' |
| | | }, { |
| | | label: '<=', |
| | | value: '<=' |
| | | }, { |
| | | label: '<', |
| | | value: '<' |
| | | }], |
| | | operatorDateDic : [{ |
| | | label: '=', |
| | | value: '=' |
| | | }, { |
| | | label: '!=', |
| | | value: '!=' |
| | | }, { |
| | | label: 'in', |
| | | value: 'in' |
| | | }, { |
| | | label: 'not in', |
| | | value: 'not in' |
| | | }, { |
| | | label: '>=', |
| | | value: '>=' |
| | | }, { |
| | | label: '<=', |
| | | value: '<=' |
| | | }], |
| | | operatorDic : [{ |
| | | label: '=', |
| | | value: '=' |
| | | }, { |
| | | label: '!=', |
| | | value: '!=' |
| | | }, { |
| | | label: 'å
å«', |
| | | value: 'å
å«' |
| | | }, { |
| | | label: 'in', |
| | | value: 'in' |
| | | }, { |
| | | label: 'not in', |
| | | value: 'not in' |
| | | }] |
| | | } |
| | | }, |
| | | computed: { |
| | | radioForm:{ |
| | | get() { |
| | | return this.levelFlag; |
| | | }, |
| | | set(value) { |
| | | this.$emit('update:levelFlag', value); |
| | | } |
| | | } |
| | | }, |
| | | watch: { |
| | | queryCondition:{ |
| | | handler(val) { |
| | | if(val && val.cIMap){ |
| | | let list=[]; |
| | | let that=this; |
| | | let getValue =function(queryTemplate,item) { |
| | | for (let key in queryTemplate.condition.cIMap) { |
| | | if (queryTemplate.condition.cIMap[key].leaf) { |
| | | item.clause += '.' + queryTemplate.condition.cIMap[key].leafInfo.clause; |
| | | if (queryTemplate.condition.cIMap[key].leafInfo.value.queryTemplate) { |
| | | getValue(queryTemplate.condition.cIMap[key].leafInfo.value.queryTemplate, item) |
| | | } else { |
| | | item.ordinaryValue = queryTemplate.condition.cIMap[key].leafInfo.value.ordinaryValue; |
| | | item.type=queryTemplate.condition.cIMap[key].leafInfo.type; |
| | | if(['VTInteger','VTDouble','VTLong'].includes(item.type)){ |
| | | item.operatorDic=that.operatorIntDic; |
| | | }else if(['VTDateTime','VTDate','VTTime'].includes(item.type)){ |
| | | item.operatorDic=that.operatorDateDic; |
| | | }else{ |
| | | item.operatorDic=that.operatorDic; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | for (let key in val.cIMap) { |
| | | if (this.queryCondition.cIMap[key].leaf) { |
| | | let clause=this.queryCondition.cIMap[key].leafInfo.clause; |
| | | let operator= this.queryCondition.cIMap[key].leafInfo.operator; |
| | | let item={ |
| | | clause: clause, |
| | | operator: operator, |
| | | ordinaryValue: '', |
| | | operatorDic :[] |
| | | } |
| | | if(this.queryCondition.cIMap[key].leafInfo.value.queryTemplate) { |
| | | getValue(this.queryCondition.cIMap[key].leafInfo.value.queryTemplate, item) |
| | | }else { |
| | | item.ordinaryValue=this.queryCondition.cIMap[key].leafInfo.value.ordinaryValue; |
| | | item.type=this.queryCondition.cIMap[key].leafInfo.type; |
| | | if(['VTInteger','VTDouble','VTLong'].includes(item.type)){ |
| | | item.operatorDic=that.operatorIntDic; |
| | | }else if(['VTDateTime','VTDate','VTTime'].includes(item.type)){ |
| | | item.operatorDic=that.operatorDateDic; |
| | | }else{ |
| | | item.operatorDic=that.operatorDic; |
| | | } |
| | | } |
| | | list.push(item) |
| | | } |
| | | } |
| | | this.conditionList= list; |
| | | }else{ |
| | | this.conditionList=[] |
| | | } |
| | | }, |
| | | immediate: true, |
| | | deep:true |
| | | }, |
| | | queryTree:{ |
| | | handler(val) { |
| | | this.treeIndex=0; |
| | | if(val && Object.keys(val).length>0){ |
| | | let treeData = []; |
| | | let that=this; |
| | | function initValue(nodeChild) { |
| | | let children=[]; |
| | | if(nodeChild){ |
| | | nodeChild.forEach((item,index)=>{ |
| | | that.treeIndex++; |
| | | if(item.column !=null && item.column != undefined){ |
| | | children.push({ |
| | | label:item.column, |
| | | value:item.column+that.treeIndex, |
| | | type:item.type, |
| | | valueIndex:'v'+that.treeIndex |
| | | }) |
| | | }else { |
| | | children.push({ |
| | | label:item.connector, |
| | | value:item.connector+that.treeIndex, |
| | | valueIndex:'v'+that.treeIndex, |
| | | children:initValue(item.child) |
| | | }) |
| | | } |
| | | }) |
| | | } |
| | | return children; |
| | | } |
| | | const node={ |
| | | label:val.connector, |
| | | value:val.connector+this.treeIndex, |
| | | valueIndex:'v'+this.treeIndex, |
| | | children:initValue(val.child) |
| | | } |
| | | treeData.push(node) |
| | | this.treeData = treeData; |
| | | }else { |
| | | this.treeData=[{ |
| | | label: 'å¹¶ä¸', |
| | | value: 'å¹¶ä¸' + this.treeIndex, |
| | | valueIndex: 'v' + this.treeIndex, |
| | | connector: 'å¹¶ä¸', |
| | | children: [] |
| | | }] |
| | | } |
| | | }, |
| | | immediate: true, |
| | | deep:true |
| | | } |
| | | }, |
| | | created() { |
| | | this.getTemp(); |
| | | }, |
| | | methods: { |
| | | // ææ½å°æ¶ |
| | | drop(event) { |
| | | // ä½¿ç¨ getData æ¹æ³è·åæ°æ® |
| | | const data = JSON.parse(event.dataTransfer.getData('item')); |
| | | if (this.radioForm == 0) { |
| | | const params = { |
| | | clause: data.value, |
| | | operator: '=', |
| | | ordinaryValue: '' |
| | | } |
| | | if (data.atttributes.vtDataType == 'VTInteger' || data.atttributes.vtDataType == 'VTDouble' || data.atttributes.vtDataType == 'VTLong') { |
| | | params.operatorDic =JSON.parse(JSON.stringify(this.operatorIntDic)) ; |
| | | } else if (data.atttributes.vtDataType == 'VTDateTime' || data.atttributes.vtDataType == 'VTDate' || data.atttributes.vtDataType == 'VTTime') { |
| | | params.operatorDic = JSON.parse(JSON.stringify(this.operatorDateDic)) |
| | | } else { |
| | | params.operatorDic = JSON.parse(JSON.stringify(this.operatorDic)) |
| | | } |
| | | params.type=data.atttributes.vtDataType; |
| | | this.conditionList.push(params) |
| | | }else {debugger; |
| | | if (this.clickNode.label != 'å¹¶ä¸' && this.clickNode.label != 'æè
') { |
| | | this.$message.error('请éä¸é»è¾æ¡ä»¶æ·»å æ¥è¯¢é¡¹'); |
| | | return; |
| | | } |
| | | this.treeIndex++; |
| | | this.$refs.tree.append({ |
| | | label: data.value, |
| | | value: data.value + this.treeIndex, |
| | | valueIndex: 'v' + this.treeIndex, |
| | | children: [] |
| | | }, this.clickNode); |
| | | } |
| | | }, |
| | | handleDrop(draggingNode, dropNode, dropType, ev) { |
| | | debugger; |
| | | console.log('tree drop: ', dropNode.label, dropType); |
| | | }, |
| | | //å 餿®éæ¥è¯¢æ¡ä»¶ |
| | | delCondition(index) { |
| | | this.conditionList.splice(index, 1); |
| | | }, |
| | | //æ¸
ç©ºå¼ |
| | | clearValue() { |
| | | if (this.radioForm == 0) { |
| | | this.conditionList.map(item => { |
| | | item.ordinaryValue = ''; |
| | | return item; |
| | | }) |
| | | this.conditionList = this.conditionList |
| | | } else { |
| | | if(this.treeData[0] && this.treeData[0].children) { |
| | | this.clearTreeValue(this.treeData[0].children) |
| | | } |
| | | } |
| | | }, |
| | | clearTreeValue(nodes){ |
| | | nodes.forEach((node,index)=>{ |
| | | if(node.children){ |
| | | this.clearTreeValue(node.children) |
| | | }else { |
| | | let values=node.label.split(' '); |
| | | if(values.length>2){ |
| | | node.label=values[0]+' '+values[1]; |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | //å é¤å
¨é¨æ¡ä»¶ |
| | | delAll() { |
| | | if (this.radioForm == 0) { |
| | | this.conditionList = []; |
| | | } else { |
| | | this.treeIndex = 0; |
| | | this.treeData = []; |
| | | this.clickNode={}; |
| | | } |
| | | }, |
| | | nodeClick(data) { |
| | | this.clickNode = data |
| | | }, |
| | | //æ å¢å é»è¾æ¡ä»¶ |
| | | addHandler() { |
| | | if (Object.keys(this.clickNode).length>0) { |
| | | if (this.clickNode.label == 'å¹¶ä¸' || this.clickNode.label == 'æè
') { |
| | | this.treeIndex++; |
| | | this.$refs.tree.append({ |
| | | label: 'å¹¶ä¸', |
| | | value: 'å¹¶ä¸' + this.treeIndex, |
| | | valueIndex: 'v' + this.treeIndex, |
| | | children: [] |
| | | }, this.$refs.tree.getCurrentNode()); |
| | | } else { |
| | | this.$message.error("åªè½å¯¹é»è¾æ¡ä»¶å¢å é»è¾æ¡ä»¶"); |
| | | } |
| | | } else { |
| | | if(this.treeData.length==0){ |
| | | this.treeIndex = 0; |
| | | this.treeData = [{ |
| | | label: 'å¹¶ä¸', |
| | | value: 'å¹¶ä¸' + this.treeIndex, |
| | | valueIndex: 'v' + this.treeIndex, |
| | | connector: 'å¹¶ä¸', |
| | | children: [] |
| | | }] |
| | | }else { |
| | | this.$message.warning("è¯·éæ©æ¥è¯¢æ¡ä»¶"); |
| | | } |
| | | } |
| | | }, |
| | | //æ ä¿®æ¹æ¡ä»¶ |
| | | editHandler() { |
| | | if (Object.keys(this.clickNode).length>0) { |
| | | if (this.clickNode.label == 'å¹¶ä¸') { |
| | | this.clickNode.label = 'æè
' |
| | | } else if (this.clickNode.label == 'æè
') { |
| | | this.clickNode.label = 'å¹¶ä¸' |
| | | } else { |
| | | const values= this.clickNode.label.split(' '); |
| | | this.clickNode.inputValue=''; |
| | | if(values.length>1){ |
| | | this.clickNode.operator=values[1]; |
| | | if(values.length>2){ |
| | | if(['VTDateTime','VTDate','VTTime'].includes(this.clickNode.type)){ |
| | | this.clickNode.inputValue=new Date(values[2]); |
| | | }else { |
| | | this.clickNode.inputValue=values[2]; |
| | | } |
| | | } |
| | | } |
| | | if(values[0].indexOf('.')!=-1){ |
| | | const labels=values[0].split('.') |
| | | this.clickNode.showLabel=labels[labels.length-1]; |
| | | }else { |
| | | this.clickNode.showLabel=values[0]; |
| | | } |
| | | this.dialog.showDialog = true; |
| | | } |
| | | } else { |
| | | this.$message.warning("è¯·éæ©æ¥è¯¢æ¡ä»¶"); |
| | | } |
| | | }, |
| | | //æ å 餿¡ä»¶ |
| | | delHandler() { |
| | | if (Object.keys(this.clickNode).length>0) { |
| | | this.$confirm('æ¨ç¡®å®è¦å é¤æéæ©çæ¡ä»¶åï¼', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | this.$refs.tree.remove(this.clickNode); |
| | | this.clickNode = {}; |
| | | }) |
| | | } else { |
| | | this.$message.warning("è¯·éæ©æ¥è¯¢æ¡ä»¶"); |
| | | } |
| | | }, |
| | | //æ¥è¯¢ |
| | | queryHandler(){ |
| | | this.$parent.$parent.$parent.$parent.$refs.form.validate((valid) => { |
| | | if (valid) { |
| | | this.queryResultDialog.loading=true; |
| | | const formData=this.$parent.$parent.$parent.$parent.initFormData(); |
| | | getCriteria(formData).then(res => { |
| | | if (res.data.success) { |
| | | this.resultData=res.data.data; |
| | | this.queryResultDialog.showDialog=true; |
| | | this.queryResultDialog.loading=false; |
| | | } |
| | | }); |
| | | } else { |
| | | return false; |
| | | } |
| | | }); |
| | | }, |
| | | //éæ©æ¥è¯¢æ¨¡æ¿ |
| | | checkTemp(index) { |
| | | if(index>=0){ |
| | | if(['VTInteger','VTDouble','VTLong','VTDateTime','VTDate','VTTime'].includes(this.conditionList[index].type)){ |
| | | return false; |
| | | } |
| | | } |
| | | this.queryIndex=index; |
| | | this.queryDialog.showDialog=true; |
| | | this.$nextTick(()=>{ |
| | | this.$refs.crud.doLayout(); |
| | | }); |
| | | }, |
| | | //æ¥è¯¢æ¡ä»¶ä¿å |
| | | submitDialog() { |
| | | const values= this.clickNode.label.split(' '); |
| | | this.clickNode.label = values[0]+' '+this.clickNode.operator+' '+this.clickNode.inputValue; |
| | | this.dialog.showDialog = false; |
| | | }, |
| | | //è·åæ¥è¯¢æ¨¡æ¿å表 |
| | | getTemp() { |
| | | getAllQTs(this.page.currentPage, this.page.pageSize).then(res => { |
| | | this.crudData = res.data.data; |
| | | this.tableLoading = false; |
| | | }) |
| | | }, |
| | | rowClick(row) { |
| | | this.$refs.crud.toggleSelection(); |
| | | this.$refs.crud.toggleRowSelection(row); //éä¸å½åè¡ |
| | | this.selectionRow = [row]; |
| | | }, |
| | | selectionChange(list) { |
| | | this.selectionRow = list; |
| | | }, |
| | | selectionClear() { |
| | | this.selectionRow = []; |
| | | this.$refs.crud.toggleSelection(); |
| | | }, |
| | | //éæ©æ¥è¯¢æ¨¡æ¿ |
| | | submitQueryDialog() { |
| | | if (this.selectionRow.length == 0) { |
| | | this.$message.error('è¯·éæ©æ¥è¯¢æ¨¡æ¿åè¿è¡æä½'); |
| | | return; |
| | | } |
| | | if (this.queryField == '') { |
| | | this.$message.error('请填åè¾å
¥æ¥è¯¢å段'); |
| | | return; |
| | | } |
| | | const value = this.selectionRow[0].qtName + ';' + this.queryField |
| | | if (this.radioForm == 0) { |
| | | //æ®é |
| | | this.conditionList[this.queryIndex].ordinaryValue = value; |
| | | } else { |
| | | this.clickNode.inputValue = value; |
| | | } |
| | | this.cancleQueryDialog(); |
| | | }, |
| | | cancleQueryDialog(){ |
| | | this.queryDialog.showDialog = false; |
| | | this.selectionClear(); |
| | | this.queryField=''; |
| | | this.queryIndex=null; |
| | | }, |
| | | sizeChange(val) { |
| | | this.page.pageSize = val; |
| | | this.getTemp(); |
| | | }, |
| | | |
| | | // 页ç |
| | | currentChange(val) { |
| | | this.page.currentPage = val; |
| | | this.getTemp(); |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | ::v-deep .el-input--small .el-input__inner{ |
| | | height: 28px; |
| | | line-height: 28px; |
| | | } |
| | | </style> |
| | |
| | | |
| | | <el-main> |
| | | <basic-container> |
| | | <div v-if="this.nodeRow && this.nodeRow.label"> |
| | | <el-button icon="el-icon-plus" size="small" type="primary" @click="addHandler">å建</el-button> |
| | | <el-button icon="el-icon-edit" plain size="small" type="primary" @click="editHandler">ä¿®æ¹</el-button> |
| | | <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delHandler">å é¤</el-button> |
| | | <el-button icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">导åº</el-button> |
| | | <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="upLoadClickHandler">导å
¥</el-button> |
| | | </div> |
| | | <avue-crud ref="crud" |
| | | @selection-change="selectionChange" |
| | | @row-click="rowClick" |
| | | :data="crudData" :option="crudOption" :table-loading="tableLoading" style="margin-top: 10px"> |
| | | <template slot="menuLeft" slot-scope="scope"> |
| | | <el-button icon="el-icon-plus" size="small" type="primary" @click="addHandler">å建</el-button> |
| | | <el-button icon="el-icon-edit" plain size="small" type="primary" @click="editHandler">ä¿®æ¹</el-button> |
| | | <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delHandler">å é¤</el-button> |
| | | <el-button icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">导åº</el-button> |
| | | <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="upLoadClickHandler">导å
¥</el-button> |
| | | </template> |
| | | </avue-crud> |
| | | <form-dialog ref="formRef" @refresh="getTemp"></form-dialog> |
| | | </basic-container> |
| | | </el-main> |
| | | |
| | |
| | | import basicOption from "@/util/basic-option"; |
| | | import func from "@/util/func"; |
| | | import {dateFormat} from "@/util/date"; |
| | | import FormDialog from "./formDialog.vue" |
| | | import {deleteLinkTemplate} from "@/api/queryTemplate/linkTypeQuery"; |
| | | export default { |
| | | name: "index", |
| | | components: {FormDialog}, |
| | | data() { |
| | | return { |
| | | treeOption: { |
| | |
| | | this.tableLoading = false; |
| | | }) |
| | | }, |
| | | selectHandler(selection, row) { |
| | | |
| | | rowClick(row) { |
| | | this.$refs.crud.toggleSelection(); |
| | | this.$refs.crud.toggleRowSelection(row); //éä¸å½åè¡ |
| | | this.selectionRow = [row]; |
| | | }, |
| | | changeTemp(data) { |
| | | this.$refs.queryCrud.clearSelection(); |
| | | if (data.value != '') { |
| | | let abNames = data.item.abNames.join(',').toLowerCase().split(',') |
| | | |
| | | } |
| | | selectionChange(list) { |
| | | this.selectionRow = list; |
| | | }, |
| | | selectionClear() { |
| | | this.selectionRow = []; |
| | | this.$refs.crud.toggleSelection(); |
| | | }, |
| | | //å建 |
| | | addHandler() { |
| | | if (func.isEmptyObject(this.nodeRow)) { |
| | | this.$message.error('è¯·éæ©è¦æ·»å çèç¹'); |
| | | return; |
| | | } |
| | | this.title = 'add'; |
| | | this.visible = true; |
| | | this.$nextTick(() => { |
| | | this.$refs.formRef.openDialog(this.nodeRow.label,'å建','add',{treeData:this.nodeRow}); |
| | | this.$nextTick(()=>{ |
| | | this.$refs.formRef.formItems[0].disabled = false; |
| | | this.$refs.formRef.$refs.form.getInit(this.$refs.formRef.formItems) |
| | | }); |
| | | }, |
| | | //ä¿®æ¹ |
| | | editHandler() { |
| | | if (func.isEmptyObject(this.nodeRow)) { |
| | | this.$message.error('请è³å°éæ©ä¸æ¡æ°æ®'); |
| | | if (this.selectionRow.length!=1) { |
| | | this.$message.error('è¯·éæ©ä¸æ¡æ°æ®'); |
| | | return; |
| | | } |
| | | this.form.name = this.templateForm; |
| | | this.title = 'edit'; |
| | | this.visible = true; |
| | | this.$nextTick(() => { |
| | | this.$refs.formRef.openDialog(this.nodeRow.label,'ä¿®æ¹','edit',{treeData:this.nodeRow,selectData:this.selectionRow[0]}); |
| | | this.$nextTick(()=>{ |
| | | this.$refs.formRef.formItems[0].disabled = true; |
| | | this.$refs.formRef.$refs.form.getInit(this.$refs.formRef.formItems) |
| | | }); |
| | | }, |
| | | // æ°å¢ç¼è¾ä¿å |
| | | addDialogSavaHandler() { |
| | | this.$refs.form.validate((valid) => { |
| | | const saveFunction = this.title === 'add' ? saveTemplate : updateTemplate; |
| | | if (valid) { |
| | | saveFunction(this.form).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.$message.success(res.data.obj); |
| | | this.addDialogClose(); |
| | | } |
| | | }) |
| | | } else { |
| | | return false; |
| | | } |
| | | }); |
| | | }, |
| | | // æ°å¢ç¼è¾å¯¹è¯æ¡åæ¶ |
| | | addDialogClose() { |
| | | this.form = { |
| | | name: '' |
| | | }; |
| | | this.$refs.form.clearValidate(); |
| | | this.visible = false; |
| | | }, |
| | | //å é¤ |
| | | delHandler() { |
| | | if (func.isEmptyObject(this.nodeRow)) { |
| | | if (this.selectionRow.length==0) { |
| | | this.$message.error('è¯·éæ©æ°æ®'); |
| | | return; |
| | | } |
| | |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | deleteTemplate({ |
| | | name: this.templateForm, |
| | | btmName: this.nodeRow.label, |
| | | linkFlag: false |
| | | }).then(res => { |
| | | let names=this.selectionRow.map(item=>{ |
| | | return item.qtName |
| | | }) |
| | | deleteLinkTemplate({names:names.join(',')}).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.$message.success(res.data.obj); |
| | | this.getTemp(); |
| | | } |
| | | }) |
| | | }).catch(() => { |
| | |
| | | <el-dialog v-dialogDrag |
| | | :title="dialog.title" |
| | | :visible.sync="dialog.showDialog" |
| | | width="1600px" |
| | | width="1620px" |
| | | :append-to-body="true" |
| | | class="avue-dialog" |
| | | :destroy-on-close="true" |
| | |
| | | <div> |
| | | æ¥è¯¢æ¨¡æ¿å®ä¹ |
| | | <avue-select @change="linkQueryDefineChange" class="el-input--small" v-model="linkQueryDefineForm" placeholder="è¯·éæ©å
容" type="tree" :dic="linkQueryDefineDic" style="width:240px"></avue-select> |
| | | <avue-tree style="height: 265px" :data="linkTreeData" :option="treeOption" @node-drag-start="handleDragStart"> |
| | | <avue-tree style="height: 265px" :data="linkTreeData" :option="treeOption" @node-drag-start="handleDragStart" @node-drag-end="handleDragEnd"> |
| | | </avue-tree> |
| | | </div> |
| | | </fieldset> |
| | |
| | | <el-main> |
| | | <fieldset style="margin: 0 10px"> |
| | | <legend> æ¥è¯¢æ¡ä»¶ </legend> |
| | | <form-query-dialog style="height: 300px;" :queryCondition="queryCondition" :queryTree="queryTree"></form-query-dialog> |
| | | <form-query-dialog ref="formQuery" |
| | | style="height: 300px;" |
| | | :queryCondition="queryCondition" |
| | | :queryTree="queryTree" |
| | | :levelFlag.sync="form.levelFlag" |
| | | ></form-query-dialog> |
| | | </fieldset> |
| | | </el-main> |
| | | <el-aside style="width:350px"> |
| | |
| | | <div> |
| | | æ¥è¯¢æ¨¡æ¿å®ä¹ |
| | | <avue-select @change="businessQueryDefineChange" class="el-input--small" v-model="businessQueryDefineForm" placeholder="è¯·éæ©å
容" type="tree" :dic="businessQueryDefineDic" style="width: 240px;"></avue-select> |
| | | <avue-tree style="height: 265px" :data="businessTreeData" :option="treeOption" @node-drag-start="handleDragStart"> |
| | | <avue-tree style="height: 265px" :data="businessTreeData" :option="treeOption" @node-drag-start="handleDragStart" @node-drag-end="handleDragEnd"> |
| | | </avue-tree> |
| | | </div> |
| | | </fieldset> |
| | |
| | | import {getAllOrderbyAttributeByLink} from "@/api/modeling/linkType/api"; |
| | | import {linkSave} from "@/api/queryTemplate/linkTypeQuery"; |
| | | import basicOption from "@/util/basic-option"; |
| | | import {gridTemplate} from "@/api/queryTemplate/queryDefine"; |
| | | import {queryTemplateListByAttr} from "@/api/queryTemplate/queryDefine"; |
| | | import formQueryDialog from "./formQueryDialog.vue"; |
| | | export default { |
| | | name: "formDialog", |
| | |
| | | form:{ |
| | | btmName:'', |
| | | qtName: '', |
| | | levelFlag:0,//0:æ®éæ¥è¯¢æ¨¡æ¿; 1:é«çº§æ¥è¯¢æ¨¡æ¿" |
| | | queryTemplate:{} |
| | | }, |
| | | //å·²ææåºå表é
ç½® |
| | |
| | | //é«çº§æ¥è¯¢æ¡ä»¶ |
| | | queryTree:{}, |
| | | //æ®éæ¥è¯¢æ¡ä»¶ |
| | | queryCondition:[] |
| | | queryCondition:[], |
| | | |
| | | }; |
| | | }, |
| | | watch: { |
| | |
| | | } |
| | | }, |
| | | immediate: true, |
| | | }, |
| | | 'dialog.type': { |
| | | handler(val) { |
| | | if(val=='edit'){ |
| | | } |
| | | }, |
| | | immediate: true, |
| | | }, |
| | | } |
| | | }, |
| | | methods: { |
| | | openDialog(btmName, title, mode, data) { |
| | |
| | | this.orderInfoList = JSON.parse(JSON.stringify(data.selectData.queryTemplate.orderInfoList));//å·²ææåº |
| | | } |
| | | this.queryCondition=this.selectData.queryTemplate.condition; |
| | | this.queryTree=this.selectData.queryTemplate.tree; |
| | | this.queryTree=this.selectData.tree; |
| | | this.form.levelFlag=this.selectData.levelFlag; |
| | | } else { |
| | | this.selectData = {}; |
| | | this.orderInfoList = []; |
| | | this.queryCondition=[]; |
| | | this.queryTree={}; |
| | | this.queryTree={ |
| | | connector:'å¹¶ä¸', |
| | | child:[] |
| | | }; |
| | | } |
| | | this.dialog.showDialog = true; |
| | | this.getTemp(data.treeData.label, true) |
| | |
| | | this.form = { |
| | | btmName: '', |
| | | qtName: '', |
| | | levelFlag:0, |
| | | queryTemplate: {} |
| | | }; |
| | | this.orderInfoList =[]; |
| | |
| | | submitDialog() { |
| | | this.$refs.form.validate((valid) => { |
| | | if (valid) { |
| | | let formData={ |
| | | btmName:this.form.btmName, |
| | | qtName:this.form.qtName, |
| | | queryTemplate:{ |
| | | btmType:this.form.btmType, |
| | | clauseList:['*'], |
| | | direction:this.form.direction, |
| | | id:this.form.qtName, |
| | | level:this.form.level, |
| | | linkType:this.form.btmName, |
| | | orderInfoList:this.orderInfoList, |
| | | queryISLeaf:this.form.queryISLeaf, |
| | | recReturnMode:1,//éå½è¿åæ°æ®æ¨¡å¼:1ï¼RECRETURNMODE_FLAT, 2ï¼RECRETURNMODE_FILTER |
| | | rightFlag:true, |
| | | secretFlag:true, |
| | | type:'link', |
| | | version:this.form.version |
| | | } |
| | | } |
| | | formData.condition=[] |
| | | const formData=this.initFormData(); |
| | | console.log(formData) |
| | | linkSave(formData).then(res => { |
| | | if (res.data.success) { |
| | | this.$message.success("ä¿åæå"); |
| | |
| | | return false; |
| | | } |
| | | }); |
| | | }, |
| | | initFormData() { |
| | | let formData = { |
| | | btmName: this.form.btmName, |
| | | qtName: this.form.qtName, |
| | | levelFlag: this.form.levelFlag, |
| | | queryTemplate: { |
| | | btmType: this.form.btmType, |
| | | clauseList: ['*'], |
| | | direction: this.form.direction, |
| | | id: this.form.qtName, |
| | | level: this.form.level, |
| | | linkType: this.form.btmName, |
| | | orderInfoList: this.orderInfoList, |
| | | queryISLeaf: this.form.queryISLeaf, |
| | | recReturnMode: 1,//éå½è¿åæ°æ®æ¨¡å¼:1ï¼RECRETURNMODE_FLAT, 2ï¼RECRETURNMODE_FILTER |
| | | rightFlag: true, |
| | | secretFlag: true, |
| | | type: 'link', |
| | | version: this.form.version |
| | | } |
| | | } |
| | | if (formData.levelFlag == 1) { |
| | | //é«çº§ |
| | | let that = this; |
| | | function initValue(nodeChild) { |
| | | let children = []; |
| | | if (nodeChild) { |
| | | nodeChild.forEach((item, index) => { |
| | | if (item.label != 'å¹¶ä¸' && item.label != 'æè
') { |
| | | children.push(item.label); |
| | | } else { |
| | | children.push({ |
| | | connector: item.label, |
| | | child: initValue(item.children) |
| | | }) |
| | | } |
| | | }) |
| | | } |
| | | return children; |
| | | } |
| | | |
| | | let treeData = { |
| | | connector: this.$refs.formQuery.treeData[0].label |
| | | }; |
| | | if (this.$refs.formQuery.treeData[0].children) { |
| | | treeData.child = initValue(this.$refs.formQuery.treeData[0].children); |
| | | } |
| | | formData.tree = treeData |
| | | } |
| | | |
| | | formData.condition = this.$refs.formQuery.conditionList; |
| | | |
| | | return formData; |
| | | }, |
| | | getFormData(form) { |
| | | this.form = form; |
| | |
| | | //è·åæ¥è¯¢æ¨¡æ¿å®ä¹ä¸æ |
| | | getTemp(btmName,linkFlag) { |
| | | if (btmName) { |
| | | gridTemplate({btmName: btmName, linkFlag: linkFlag}).then(res => { |
| | | queryTemplateListByAttr({btmName: btmName, linkFlag: linkFlag,direction:this.form.direction}).then(res => { |
| | | const data = res.data.data.map(item => { |
| | | item.label = item.name + '-' + (item.linkTypeName || item.btmName); |
| | | item.value = item.name; |
| | |
| | | }, |
| | | linkQueryDefineChange(data) { |
| | | if (data.value) { |
| | | const childData = data.item.abNames.map(item => { |
| | | const childData = data.item.attrs.map(item => { |
| | | return { |
| | | label: item, |
| | | value: item |
| | | label: item.name, |
| | | value: item.name, |
| | | atttributes:item |
| | | }; |
| | | }); |
| | | this.linkTreeData = [{ |
| | |
| | | }, |
| | | businessQueryDefineChange(data) { |
| | | if (data.value) { |
| | | const childData = data.item.abNames.map(item => { |
| | | const childData = data.item.attrs.map(item => { |
| | | return { |
| | | label: item, |
| | | value: item |
| | | label: item.name, |
| | | value: item.name, |
| | | atttributes:item |
| | | }; |
| | | }); |
| | | this.businessTreeData = [{ |
| | |
| | | handleDragStart(node, ev) { |
| | | // ä½¿ç¨ setData æ¹æ³è®¾ç½®æ°æ® |
| | | ev.dataTransfer.setData('item', JSON.stringify(node.data)); |
| | | if(this.form.levelFlag==1){ |
| | | this.$refs.formQuery.$refs.tree.$emit('tree-node-drag-start', ev,{node:this.$refs.formQuery.initItem(node)}); |
| | | } |
| | | }, |
| | | handleDragEnd(draggingNode,endNode,position,ev){ |
| | | if(this.form.levelFlag==1) { |
| | | this.$refs.formQuery.$refs.tree.$emit('tree-node-drag-end', ev); |
| | | } |
| | | } |
| | | }, |
| | | } |
| | | </script> |
| | |
| | | <el-button plain size="mini" type="primary" @click="delAll">å é¤å
¨é¨æ¡ä»¶</el-button> |
| | | </div> |
| | | <div v-if="radioForm==0" @drop="drop" @dragover.prevent style="height: 220px;text-align: center;"> |
| | | <div v-for="condition in conditionList" class="el-input--small" style="margin-bottom: 5px;"> |
| | | <span style="width: 150px;display: inline-block;text-align: right" :title="condition.clause">{{condition.clause}}</span> |
| | | <avue-select v-model="condition.operator" type="tree" :dic="operatorDic" :clearable="false" style="width: 80px;margin: 0 5px;"></avue-select> |
| | | <avue-input v-model="condition.ordinaryValue" placeholder="" style="width: 300px;margin-right: 5px;"></avue-input> |
| | | <el-button plain size="mini" type="primary" @click="delAll">éæ©æ¥è¯¢æ¨¡æ¿</el-button> |
| | | <div v-for="(condition,index) in conditionList" :key="index" class="el-input--small" style="margin-bottom: 5px; text-align:left"> |
| | | <span style="width: 200px;display: inline-block;text-align: right" :title="condition.clause">{{condition.clause}}</span> |
| | | <avue-select v-model="condition.operator" type="tree" :dic="condition.operatorDic" :clearable="false" style="width: 80px;margin: 0 5px;"></avue-select> |
| | | <el-date-picker v-if="condition.type=='VTDate'" v-model="condition.ordinaryValue" style="width:300px;margin-right: 5px;display: inline-block;" value-format="YYYY-MM-DD" |
| | | type="date"> |
| | | </el-date-picker> |
| | | <el-date-picker v-else-if="condition.type=='VTDateTime'" v-model="condition.ordinaryValue" style="width:300px;margin-right: 5px;display: inline-block;" |
| | | type="datetime"> |
| | | </el-date-picker> |
| | | <el-time-select v-else-if="condition.type=='VTTime'" v-model="condition.ordinaryValue" value-format="HH:mm:ss" style="width:300px;margin-right: 5px;display: inline-block;"> |
| | | </el-time-select> |
| | | <avue-input-number v-else-if="condition.type=='VTInteger'" precision="0" v-model="condition.ordinaryValue" style="width:300px;margin-right: 5px;display: inline-block;"></avue-input-number> |
| | | <avue-input-number v-else-if="condition.type=='VTLong' || condition.type=='VTDouble'" v-model="condition.ordinaryValue" style="width:300px;margin-right: 5px;display: inline-block;"></avue-input-number> |
| | | <avue-input v-else v-model="condition.ordinaryValue" placeholder="" style="width: 300px;margin-right: 5px;"></avue-input> |
| | | <el-button plain size="mini" type="primary" @click="checkTemp(index)">éæ©æ¥è¯¢æ¨¡æ¿</el-button> |
| | | <el-button size="mini" type="danger" icon="el-icon-delete" @click="delCondition(index)" style="padding: 7px 8px"></el-button> |
| | | </div> |
| | | </div> |
| | | <div v-else style="height: 220px;text-align: left"> |
| | | <avue-tree style="height: 220px" :data="treeData" :option="treeOption"></avue-tree> |
| | | <div v-else @drop="drop" @dragover.prevent style="height: 220px;text-align: left"> |
| | | <avue-tree ref="tree" @node-drop="handleDrop" @node-drag-end="handleDragEnd" style="height: 220px" :data="treeData" :option="treeOption" @node-click="nodeClick" node-key="value"></avue-tree> |
| | | </div> |
| | | <div style="text-align: right;margin-top: 10px;"> |
| | | <el-button v-if="radioForm==1" plain size="mini" type="primary" @click="addHandler">å¢å é»è¾</el-button> |
| | | <el-button v-if="radioForm==1" plain size="mini" type="primary" @click="del">ä¿®æ¹æ¡ä»¶</el-button> |
| | | <el-button v-if="radioForm==1" plain size="mini" type="primary" @click="del">å é¤</el-button> |
| | | <el-button plain size="mini" type="primary" @click="del">æ¥è¯¢</el-button> |
| | | <el-button plain size="mini" type="primary" @click="del">åæ¶</el-button> |
| | | <el-button v-if="radioForm==1" plain size="mini" type="primary" @click="editHandler">ä¿®æ¹æ¡ä»¶</el-button> |
| | | <el-button v-if="radioForm==1" plain size="mini" type="primary" @click="delHandler">å é¤</el-button> |
| | | <el-button plain size="mini" type="primary" @click="queryHandler">æ¥è¯¢</el-button> |
| | | <el-button plain size="mini" type="primary" @click="">åæ¶</el-button> |
| | | </div> |
| | | |
| | | <!--ä¿®æ¹æ¡ä»¶--> |
| | | <el-dialog v-dialogDrag |
| | | :title="dialog.title" |
| | | :visible.sync="dialog.showDialog" |
| | | width="550px" |
| | | :append-to-body="true" |
| | | class="avue-dialog" |
| | | :destroy-on-close="true" |
| | | :close-on-click-modal="false" |
| | | @close="dialog.showDialog=false"> |
| | | <div style="height: 200px;"> |
| | | {{clickNode.showLabel}} |
| | | <avue-select v-if="['VTInteger','VTDouble','VTLong'].includes(clickNode.type)" v-model="clickNode.operator" type="tree" :dic="operatorIntDic" :clearable="false" style="width: 80px;margin: 0 5px;"></avue-select> |
| | | <avue-select v-else-if="['VTDateTime','VTDate','VTTime'].includes(clickNode.type)" v-model="clickNode.operator" type="tree" :dic="operatorDateDic" :clearable="false" style="width: 80px;margin: 0 5px;"></avue-select> |
| | | <avue-select v-else v-model="clickNode.operator" type="tree" :dic="operatorDic" :clearable="false" style="width: 80px;margin: 0 5px;"></avue-select> |
| | | <el-date-picker v-if="clickNode.type=='VTDate'" v-model="clickNode.inputValue" style="width:300px;display: inline-block;" value-format="YYYY-MM-DD" |
| | | type="date"> |
| | | </el-date-picker> |
| | | <el-date-picker v-else-if="clickNode.type=='VTDateTime'" v-model="clickNode.inputValue" style="width:350px;display: inline-block;" |
| | | type="datetime"> |
| | | </el-date-picker> |
| | | <el-time-select v-else-if="clickNode.type=='VTTime'" v-model="clickNode.inputValue" value-format="HH:mm:ss" style="width:300px;display: inline-block;"> |
| | | </el-time-select> |
| | | <avue-input-number v-else-if="clickNode.type=='VTInteger'" precision="0" v-model="clickNode.inputValue" style="width:300px;display: inline-block;"></avue-input-number> |
| | | <avue-input-number v-else-if="clickNode.type=='VTLong' || clickNode.type=='VTDouble'" v-model="clickNode.inputValue" style="width:300px;display: inline-block;"></avue-input-number> |
| | | <avue-input v-else v-model="clickNode.inputValue" type="textarea" style="width: 300px;margin-right: 5px;vertical-align: top;"></avue-input> |
| | | </div> |
| | | <div class="dialog-footer avue-dialog__footer"> |
| | | <el-button size="small" @click="checkTemp" v-if="!['VTInteger','VTDouble','VTLong','VTDateTime','VTDate','VTTime'].includes(clickNode.type)">éæ©æ¥è¯¢æ¨¡æ¿</el-button> |
| | | <el-button type="primary" plain size="small" @click="submitDialog" >ä¿ å</el-button> |
| | | <el-button size="small" @click="dialog.showDialog=false">å æ¶</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog v-dialogDrag |
| | | :title="queryDialog.title" |
| | | :visible.sync="queryDialog.showDialog" |
| | | width="800px" |
| | | :append-to-body="true" |
| | | class="avue-dialog" |
| | | :destroy-on-close="true" |
| | | :close-on-click-modal="false" |
| | | @close="cancleQueryDialog"> |
| | | <div class="el-input--small"> |
| | | è¾å
¥æ¥è¯¢å段ï¼<avue-input v-model="queryField" style="width: 500px;margin-bottom: 10px"></avue-input> |
| | | <avue-crud ref="crud" :data="crudData" :option="crudOption" |
| | | :page.sync="page" |
| | | :table-loading="tableLoading" |
| | | @selection-change="selectionChange" |
| | | @row-click="rowClick" |
| | | @size-change="sizeChange" |
| | | @current-change="currentChange"> |
| | | </avue-crud> |
| | | </div> |
| | | <div class="dialog-footer avue-dialog__footer"> |
| | | <el-button type="primary" plain size="small" @click="submitQueryDialog" >ç¡® å®</el-button> |
| | | <el-button size="small" @click="cancleQueryDialog">å æ¶</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog v-dialogDrag |
| | | :title="queryResultDialog.title" |
| | | :visible.sync="queryResultDialog.showDialog" |
| | | width="900px" |
| | | :append-to-body="true" |
| | | class="avue-dialog" |
| | | :destroy-on-close="true" |
| | | :close-on-click-modal="false" |
| | | @close="queryResultDialog.showDialog='false'"> |
| | | <div class="el-input--small"> |
| | | <avue-crud ref="crud" :data="resultData" :option="resultOption" |
| | | :table-loading="queryResultDialog.loading"> |
| | | </avue-crud> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import basicOption from "@/util/basic-option"; |
| | | import {getAllQTs} from "@/api/queryTemplate/queryDefine"; |
| | | import {getCriteria} from "@/api/queryTemplate/linkTypeQuery"; |
| | | import {dateFormat} from "@/util/date" |
| | | export default { |
| | | name: "formQueryDialog", |
| | | props: { |
| | |
| | | type: Object, |
| | | default: {} |
| | | }, |
| | | levelFlag:{ |
| | | type: Number, |
| | | default: 0 |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | radioForm: 0, |
| | | dialog: { |
| | | showDialog: false, |
| | | title: "æ¥è¯¢æ¡ä»¶è®¾ç½®æ¡", |
| | | loading: false |
| | | }, |
| | | queryDialog: { |
| | | showDialog: false, |
| | | title: "éæ©æ¥è¯¢æ¨¡æ¿", |
| | | loading: false |
| | | }, |
| | | queryResultDialog: { |
| | | showDialog: false, |
| | | title: "æ¥è¯¢ç»æ", |
| | | loading: false |
| | | }, |
| | | radioDic: [{ |
| | | label: 'æ®é', |
| | | value: 0 |
| | |
| | | label: 'é«çº§', |
| | | value: 1 |
| | | }], |
| | | conditionList:this.queryCondition, |
| | | conditionList:[], |
| | | treeData:[], |
| | | treeOption:{ |
| | | defaultExpandAll:true, |
| | | menu: false, |
| | | addBtn: false, |
| | | filter:false, |
| | | draggable: true, |
| | | allowDrop: (draggingNode, dropNode, type) => { |
| | | debugger; |
| | | if (dropNode.data.label === 'å¹¶ä¸' || dropNode.data.label === 'æè
') { |
| | | return true; |
| | | } else { |
| | | this.$message.error('请éä¸é»è¾æ¡ä»¶æ·»å æ¥è¯¢é¡¹'); |
| | | return false; |
| | | } |
| | | }, |
| | | allowDrag: (draggingNode) => { |
| | | return false; |
| | | }, |
| | | }, |
| | | treeData:this.queryTree, |
| | | //VTIntegerãVTDoubleãVTLong |
| | | page: { |
| | | currentPage: 1, |
| | | pageSize: 10, |
| | | total: 0, |
| | | pageSizes: [10, 30, 50, 100], |
| | | }, |
| | | crudData:[], |
| | | crudOption: { |
| | | ...basicOption, |
| | | addBtn: false, |
| | | editBtn: false, |
| | | delBtn: false, |
| | | tip: false, |
| | | header: false, |
| | | height: window.innerHeight-220, |
| | | menu: false, |
| | | column: [{ |
| | | label: 'æ¥è¯¢æ¨¡æ¿åç§°', |
| | | prop: 'qtName', |
| | | sortable: true, |
| | | }, { |
| | | label: '龿¥ç±»åæä¸å¡ç±»å', |
| | | prop: 'btmName', |
| | | sortable: true, |
| | | }] |
| | | }, |
| | | tableLoading: false, |
| | | selectionRow:[], |
| | | queryField:'', |
| | | resultData:[], |
| | | resultOption: { |
| | | ...basicOption, |
| | | addBtn: false, |
| | | editBtn: false, |
| | | delBtn: false, |
| | | tip: false, |
| | | header: false, |
| | | height: window.innerHeight-220, |
| | | menu: false, |
| | | column: [{ |
| | | label: 'OID', |
| | | prop: 'OID', |
| | | }, { |
| | | label: 'CREATOR', |
| | | prop: 'CREATOR' |
| | | }, { |
| | | label: 'CREATETIME', |
| | | prop: 'CREATETIME' |
| | | }] |
| | | }, |
| | | clickNode:{}, |
| | | operatorIntDic:[{ |
| | | label:'=', |
| | | value:'=' |
| | | },{ |
| | | label:'!=', |
| | | value:'!=' |
| | | },{ |
| | | label:'å
å«', |
| | | value:'å
å«' |
| | | },{ |
| | | label:'in', |
| | | value:'in' |
| | | },{ |
| | | label:'not in', |
| | | value:'not in' |
| | | },{ |
| | | label:'>=', |
| | | value:'>=' |
| | | },{ |
| | | label:'>', |
| | | value:'>' |
| | | },{ |
| | | label:'<=', |
| | | value:'<=' |
| | | },{ |
| | | label:'<', |
| | | value:'<' |
| | | label: '=', |
| | | value: '=' |
| | | }, { |
| | | label: '!=', |
| | | value: '!=' |
| | | }, { |
| | | label: 'å
å«', |
| | | value: 'å
å«' |
| | | }, { |
| | | label: 'in', |
| | | value: 'in' |
| | | }, { |
| | | label: 'not in', |
| | | value: 'not in' |
| | | }, { |
| | | label: '>=', |
| | | value: '>=' |
| | | }, { |
| | | label: '>', |
| | | value: '>' |
| | | }, { |
| | | label: '<=', |
| | | value: '<=' |
| | | }, { |
| | | label: '<', |
| | | value: '<' |
| | | }], |
| | | //VTDateTimeãVTDateãVTTime |
| | | operatorTimeDic:[{ |
| | | label:'=', |
| | | value:'=' |
| | | },{ |
| | | label:'!=', |
| | | value:'!=' |
| | | },{ |
| | | label:'in', |
| | | value:'in' |
| | | },{ |
| | | label:'not in', |
| | | value:'not in' |
| | | },{ |
| | | label:'>=', |
| | | value:'>=' |
| | | },{ |
| | | label:'<=', |
| | | value:'<=' |
| | | operatorDateDic : [{ |
| | | label: '=', |
| | | value: '=' |
| | | }, { |
| | | label: '!=', |
| | | value: '!=' |
| | | }, { |
| | | label: 'in', |
| | | value: 'in' |
| | | }, { |
| | | label: 'not in', |
| | | value: 'not in' |
| | | }, { |
| | | label: '>=', |
| | | value: '>=' |
| | | }, { |
| | | label: '<=', |
| | | value: '<=' |
| | | }], |
| | | //å
¶å® |
| | | operatorDic:[{ |
| | | label:'=', |
| | | value:'=' |
| | | },{ |
| | | label:'!=', |
| | | value:'!=' |
| | | },{ |
| | | label:'å
å«', |
| | | value:'å
å«' |
| | | },{ |
| | | label:'in', |
| | | value:'in' |
| | | },{ |
| | | label:'not in', |
| | | value:'not in' |
| | | operatorDic : [{ |
| | | label: '=', |
| | | value: '=' |
| | | }, { |
| | | label: '!=', |
| | | value: '!=' |
| | | }, { |
| | | label: 'å
å«', |
| | | value: 'å
å«' |
| | | }, { |
| | | label: 'in', |
| | | value: 'in' |
| | | }, { |
| | | label: 'not in', |
| | | value: 'not in' |
| | | }] |
| | | } |
| | | }, |
| | | methods:{ |
| | | computed: { |
| | | radioForm:{ |
| | | get() { |
| | | return this.levelFlag; |
| | | }, |
| | | set(value) { |
| | | this.$emit('update:levelFlag', value); |
| | | } |
| | | } |
| | | }, |
| | | watch: { |
| | | queryCondition:{ |
| | | handler(val) { |
| | | if(val && val.cIMap){ |
| | | let list=[]; |
| | | let that=this; |
| | | let getValue =function(queryTemplate,item) { |
| | | for (let key in queryTemplate.condition.cIMap) { |
| | | if (queryTemplate.condition.cIMap[key].leaf) { |
| | | item.clause += '.' + queryTemplate.condition.cIMap[key].leafInfo.clause; |
| | | if (queryTemplate.condition.cIMap[key].leafInfo.value.queryTemplate) { |
| | | getValue(queryTemplate.condition.cIMap[key].leafInfo.value.queryTemplate, item) |
| | | } else { |
| | | item.ordinaryValue = queryTemplate.condition.cIMap[key].leafInfo.value.ordinaryValue; |
| | | item.type=queryTemplate.condition.cIMap[key].leafInfo.type; |
| | | if(['VTInteger','VTDouble','VTLong'].includes(item.type)){ |
| | | item.operatorDic=that.operatorIntDic; |
| | | }else if(['VTDateTime','VTDate','VTTime'].includes(item.type)){ |
| | | item.operatorDic=that.operatorDateDic; |
| | | }else{ |
| | | item.operatorDic=that.operatorDic; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | for (let key in val.cIMap) { |
| | | if (this.queryCondition.cIMap[key].leaf) { |
| | | let clause=this.queryCondition.cIMap[key].leafInfo.clause; |
| | | let operator= this.queryCondition.cIMap[key].leafInfo.operator; |
| | | let item={ |
| | | clause: clause, |
| | | operator: operator, |
| | | ordinaryValue: '', |
| | | operatorDic :[] |
| | | } |
| | | if(this.queryCondition.cIMap[key].leafInfo.value.queryTemplate) { |
| | | getValue(this.queryCondition.cIMap[key].leafInfo.value.queryTemplate, item) |
| | | }else { |
| | | item.ordinaryValue=this.queryCondition.cIMap[key].leafInfo.value.ordinaryValue; |
| | | item.type=this.queryCondition.cIMap[key].leafInfo.type; |
| | | if(['VTInteger','VTDouble','VTLong'].includes(item.type)){ |
| | | item.operatorDic=that.operatorIntDic; |
| | | }else if(['VTDateTime','VTDate','VTTime'].includes(item.type)){ |
| | | item.operatorDic=that.operatorDateDic; |
| | | }else{ |
| | | item.operatorDic=that.operatorDic; |
| | | } |
| | | } |
| | | list.push(item) |
| | | } |
| | | } |
| | | this.conditionList= list; |
| | | }else{ |
| | | this.conditionList=[] |
| | | } |
| | | }, |
| | | immediate: true, |
| | | deep:true |
| | | }, |
| | | queryTree:{ |
| | | handler(val) { |
| | | this.treeIndex=0; |
| | | if(val && Object.keys(val).length>0){ |
| | | let treeData = []; |
| | | let that=this; |
| | | function initValue(nodeChild) { |
| | | let children=[]; |
| | | if(nodeChild){ |
| | | nodeChild.forEach((item,index)=>{ |
| | | that.treeIndex++; |
| | | if(item.column !=null && item.column != undefined){ |
| | | const values= item.column.split(' '); |
| | | let inputValue=''; |
| | | let operator=''; |
| | | let showLabel='' |
| | | if(item.column.indexOf('not in')!=-1){ |
| | | operator='not in'; |
| | | if(values.length>3){ |
| | | inputValue=values[3]; |
| | | } |
| | | }else{ |
| | | if(values.length>1){ |
| | | operator=values[1]; |
| | | if(values.length>2){ |
| | | inputValue=values[2]; |
| | | } |
| | | } |
| | | } |
| | | |
| | | if(values[0].indexOf('.')!=-1){ |
| | | const labels=values[0].split('.') |
| | | showLabel=labels[labels.length-1]; |
| | | }else { |
| | | showLabel=values[0]; |
| | | } |
| | | children.push({ |
| | | label:item.column, |
| | | value:item.column+that.treeIndex, |
| | | type:item.type, |
| | | valueIndex:'v'+that.treeIndex, |
| | | inputValue:inputValue, |
| | | operator:operator, |
| | | showLabel:showLabel |
| | | }) |
| | | }else { |
| | | children.push({ |
| | | label:item.connector, |
| | | value:item.connector+that.treeIndex, |
| | | valueIndex:'v'+that.treeIndex, |
| | | children:initValue(item.child) |
| | | }) |
| | | } |
| | | }) |
| | | } |
| | | return children; |
| | | } |
| | | const node={ |
| | | label:val.connector, |
| | | value:val.connector+this.treeIndex, |
| | | valueIndex:'v'+this.treeIndex, |
| | | children:initValue(val.child) |
| | | } |
| | | treeData.push(node) |
| | | this.treeData = treeData; |
| | | }else { |
| | | this.treeData=[{ |
| | | label: 'å¹¶ä¸', |
| | | value: 'å¹¶ä¸' + this.treeIndex, |
| | | valueIndex: 'v' + this.treeIndex, |
| | | connector: 'å¹¶ä¸', |
| | | children: [] |
| | | }] |
| | | } |
| | | }, |
| | | immediate: true, |
| | | deep:true |
| | | } |
| | | }, |
| | | created() { |
| | | this.getTemp(); |
| | | }, |
| | | methods: { |
| | | // ææ½å°æ¶ |
| | | drop(event) { |
| | | // ä½¿ç¨ getData æ¹æ³è·åæ°æ® |
| | | const data = JSON.parse(event.dataTransfer.getData('item')); |
| | | const params = { |
| | | clause: data.value, |
| | | operator: '=', |
| | | ordinaryValue: '' |
| | | if (this.radioForm == 0) { |
| | | const params = { |
| | | clause: data.value, |
| | | operator: '=', |
| | | ordinaryValue: '' |
| | | } |
| | | if (data.atttributes.vtDataType == 'VTInteger' || data.atttributes.vtDataType == 'VTDouble' || data.atttributes.vtDataType == 'VTLong') { |
| | | params.operatorDic =JSON.parse(JSON.stringify(this.operatorIntDic)) ; |
| | | } else if (data.atttributes.vtDataType == 'VTDateTime' || data.atttributes.vtDataType == 'VTDate' || data.atttributes.vtDataType == 'VTTime') { |
| | | params.operatorDic = JSON.parse(JSON.stringify(this.operatorDateDic)) |
| | | } else { |
| | | params.operatorDic = JSON.parse(JSON.stringify(this.operatorDic)) |
| | | } |
| | | params.type=data.atttributes.vtDataType; |
| | | this.conditionList.push(params) |
| | | }else { |
| | | if (this.clickNode.label != 'å¹¶ä¸' && this.clickNode.label != 'æè
') { |
| | | this.$message.error('请éä¸é»è¾æ¡ä»¶æ·»å æ¥è¯¢é¡¹'); |
| | | return; |
| | | } |
| | | this.$refs.tree.append(this.initItem(data), this.clickNode); |
| | | } |
| | | this.conditionList.push(params) |
| | | } |
| | | }, |
| | | initItem(data){ |
| | | this.treeIndex++; |
| | | let item={ |
| | | label: data.value, |
| | | value: data.value + this.treeIndex, |
| | | valueIndex: 'v' + this.treeIndex, |
| | | type:data.vtDataType, |
| | | children: [], |
| | | inputValue:data.value, |
| | | operator:'=', |
| | | showLabel:data.value |
| | | }; |
| | | let showLabel=''; |
| | | if(data.value.indexOf('.')!=-1){ |
| | | const labels=data.value.split('.') |
| | | showLabel=labels[labels.length-1]; |
| | | }else { |
| | | showLabel=data.value; |
| | | } |
| | | item.showLabel=showLabel; |
| | | return item |
| | | }, |
| | | handleDrop(draggingNode, dropNode, dropType, ev) { |
| | | debugger; |
| | | console.log('tree drop: ', dropNode.label, dropType); |
| | | }, |
| | | handleDragEnd(draggingNode, dropNode, dropType, ev) { |
| | | debugger; |
| | | console.log('tree drag end: ', dropNode && dropNode.label, dropType); |
| | | }, |
| | | //å 餿®éæ¥è¯¢æ¡ä»¶ |
| | | delCondition(index) { |
| | | this.conditionList.splice(index, 1); |
| | | }, |
| | | //æ¸
ç©ºå¼ |
| | | clearValue() { |
| | | if (this.radioForm == 0) { |
| | | this.conditionList.map(item => { |
| | | item.ordinaryValue = ''; |
| | | return item; |
| | | }) |
| | | this.conditionList = this.conditionList |
| | | } else { |
| | | if(this.treeData[0] && this.treeData[0].children) { |
| | | this.clearTreeValue(this.treeData[0].children) |
| | | } |
| | | } |
| | | }, |
| | | clearTreeValue(nodes){ |
| | | nodes.forEach((node,index)=>{ |
| | | if(node.children){ |
| | | this.clearTreeValue(node.children) |
| | | }else { |
| | | if(node.label.indexOf('not in')!=-1){ |
| | | node.label=node.label.split(' ')[0]+' not in' |
| | | }else { |
| | | let values = node.label.split(' '); |
| | | if (values.length > 2) { |
| | | node.label = values[0] + ' ' + values[1]; |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | //å é¤å
¨é¨æ¡ä»¶ |
| | | delAll() { |
| | | if (this.radioForm == 0) { |
| | | this.conditionList = []; |
| | | } else { |
| | | this.treeIndex = 0; |
| | | this.treeData = []; |
| | | this.clickNode={}; |
| | | } |
| | | }, |
| | | nodeClick(data) { |
| | | this.clickNode = data |
| | | }, |
| | | //æ å¢å é»è¾æ¡ä»¶ |
| | | addHandler() { |
| | | if (Object.keys(this.clickNode).length>0) { |
| | | if (this.clickNode.label == 'å¹¶ä¸' || this.clickNode.label == 'æè
') { |
| | | this.treeIndex++; |
| | | this.$refs.tree.append({ |
| | | label: 'å¹¶ä¸', |
| | | value: 'å¹¶ä¸' + this.treeIndex, |
| | | valueIndex: 'v' + this.treeIndex, |
| | | children: [] |
| | | }, this.$refs.tree.getCurrentNode()); |
| | | } else { |
| | | this.$message.error("åªè½å¯¹é»è¾æ¡ä»¶å¢å é»è¾æ¡ä»¶"); |
| | | } |
| | | } else { |
| | | if(this.treeData.length==0){ |
| | | this.treeIndex = 0; |
| | | this.treeData = [{ |
| | | label: 'å¹¶ä¸', |
| | | value: 'å¹¶ä¸' + this.treeIndex, |
| | | valueIndex: 'v' + this.treeIndex, |
| | | connector: 'å¹¶ä¸', |
| | | children: [] |
| | | }] |
| | | }else { |
| | | this.$message.warning("è¯·éæ©æ¥è¯¢æ¡ä»¶"); |
| | | } |
| | | } |
| | | }, |
| | | //æ ä¿®æ¹æ¡ä»¶ |
| | | editHandler() { |
| | | if (Object.keys(this.clickNode).length>0) { |
| | | if (this.clickNode.label == 'å¹¶ä¸') { |
| | | this.clickNode.label = 'æè
' |
| | | } else if (this.clickNode.label == 'æè
') { |
| | | this.clickNode.label = 'å¹¶ä¸' |
| | | } else { |
| | | this.dialog.showDialog = true; |
| | | } |
| | | } else { |
| | | this.$message.warning("è¯·éæ©æ¥è¯¢æ¡ä»¶"); |
| | | } |
| | | }, |
| | | //æ å 餿¡ä»¶ |
| | | delHandler() { |
| | | if (Object.keys(this.clickNode).length>0) { |
| | | this.$confirm('æ¨ç¡®å®è¦å é¤æéæ©çæ¡ä»¶åï¼', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | this.$refs.tree.remove(this.clickNode); |
| | | this.clickNode = {}; |
| | | }) |
| | | } else { |
| | | this.$message.warning("è¯·éæ©æ¥è¯¢æ¡ä»¶"); |
| | | } |
| | | }, |
| | | //æ¥è¯¢ |
| | | queryHandler(){ |
| | | this.$parent.$parent.$parent.$parent.$refs.form.validate((valid) => { |
| | | if (valid) { |
| | | this.queryResultDialog.loading=true; |
| | | const formData=this.$parent.$parent.$parent.$parent.initFormData(); |
| | | getCriteria(formData).then(res => { |
| | | if (res.data.success) { |
| | | this.resultData=res.data.data; |
| | | this.queryResultDialog.showDialog=true; |
| | | this.queryResultDialog.loading=false; |
| | | } |
| | | }); |
| | | } else { |
| | | return false; |
| | | } |
| | | }); |
| | | }, |
| | | //éæ©æ¥è¯¢æ¨¡æ¿ |
| | | checkTemp(index) { |
| | | if(index>=0){ |
| | | if(['VTInteger','VTDouble','VTLong','VTDateTime','VTDate','VTTime'].includes(this.conditionList[index].type)){ |
| | | return false; |
| | | } |
| | | } |
| | | this.queryIndex=index; |
| | | this.queryDialog.showDialog=true; |
| | | this.$nextTick(()=>{ |
| | | this.$refs.crud.doLayout(); |
| | | }); |
| | | }, |
| | | //æ¥è¯¢æ¡ä»¶ä¿å |
| | | submitDialog() { |
| | | const values= this.clickNode.label.split(' '); |
| | | this.clickNode.label = values[0]+' '+this.clickNode.operator+' '+this.clickNode.inputValue; |
| | | try{ |
| | | if(['VTDateTime'].includes(this.clickNode.type)){ |
| | | this.clickNode.label = values[0]+' '+this.clickNode.operator+' '+dateFormat(this.clickNode.inputValue); |
| | | }else if(['VTDate'].includes(this.clickNode.type)){ |
| | | this.clickNode.label = values[0]+' '+this.clickNode.operator+' '+dateFormat(this.clickNode.inputValue ,'yyyy-MM-dd'); |
| | | }else if(['VTTime'].includes(this.clickNode.type)){ |
| | | this.clickNode.label = values[0]+' '+this.clickNode.operator+' '+dateFormat(this.clickNode.inputValue ,'hh:mm:ss'); |
| | | } |
| | | }catch (e) { |
| | | |
| | | } |
| | | |
| | | this.dialog.showDialog = false; |
| | | }, |
| | | //è·åæ¥è¯¢æ¨¡æ¿å表 |
| | | getTemp() { |
| | | getAllQTs(this.page.currentPage, this.page.pageSize).then(res => { |
| | | this.crudData = res.data.data; |
| | | this.tableLoading = false; |
| | | }) |
| | | }, |
| | | rowClick(row) { |
| | | this.$refs.crud.toggleSelection(); |
| | | this.$refs.crud.toggleRowSelection(row); //éä¸å½åè¡ |
| | | this.selectionRow = [row]; |
| | | }, |
| | | selectionChange(list) { |
| | | this.selectionRow = list; |
| | | }, |
| | | selectionClear() { |
| | | this.selectionRow = []; |
| | | this.$refs.crud.toggleSelection(); |
| | | }, |
| | | //éæ©æ¥è¯¢æ¨¡æ¿ |
| | | submitQueryDialog() { |
| | | if (this.selectionRow.length == 0) { |
| | | this.$message.error('è¯·éæ©æ¥è¯¢æ¨¡æ¿åè¿è¡æä½'); |
| | | return; |
| | | } |
| | | if (this.queryField == '') { |
| | | this.$message.error('请填åè¾å
¥æ¥è¯¢å段'); |
| | | return; |
| | | } |
| | | const value = this.selectionRow[0].qtName + ';' + this.queryField |
| | | if (this.radioForm == 0) { |
| | | //æ®é |
| | | this.conditionList[this.queryIndex].ordinaryValue = value; |
| | | } else { |
| | | this.clickNode.inputValue = value; |
| | | } |
| | | this.cancleQueryDialog(); |
| | | }, |
| | | cancleQueryDialog(){ |
| | | this.queryDialog.showDialog = false; |
| | | this.selectionClear(); |
| | | this.queryField=''; |
| | | this.queryIndex=null; |
| | | }, |
| | | sizeChange(val) { |
| | | this.page.pageSize = val; |
| | | this.getTemp(); |
| | | }, |
| | | |
| | | // 页ç |
| | | currentChange(val) { |
| | | this.page.currentPage = val; |
| | | this.getTemp(); |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | |
| | | :data="crudData" :option="crudOption" :table-loading="tableLoading" style="margin-top: 10px"> |
| | | </avue-crud> |
| | | <form-dialog ref="formRef" @refresh="getTemp"></form-dialog> |
| | | <!--导å
¥ --> |
| | | <upload-file ref="upload" :fileType="upFileType" :fileUrl="fileUrl" :tipList="tipList" title="导å
¥" |
| | | @updata="uploadCallBack"></upload-file> |
| | | </basic-container> |
| | | </el-main> |
| | | </el-container> |
| | |
| | | |
| | | <script> |
| | | import {gridLink} from "@/api/modeling/linkType/api"; |
| | | import {getObjTypeQTs,deleteLinkTemplate} from "@/api/queryTemplate/linkTypeQuery"; |
| | | import {getObjTypeQTs,deleteLinkTemplate,expLinkTemplate,impLinkTemplate} from "@/api/queryTemplate/linkTypeQuery"; |
| | | import basicOption from "@/util/basic-option"; |
| | | import FormDialog from "./formDialog.vue" |
| | | import func from "@/util/func"; |
| | | |
| | | export default { |
| | | name: "index", |
| | |
| | | }, { |
| | | label: 'æ¹å', |
| | | prop: 'direction', |
| | | width:80, |
| | | formatter:function (row, value) { |
| | | if (row.queryTemplate.direction == 'positive') { |
| | | return 'æ£å' |
| | |
| | | }, { |
| | | label: 'ä¸å¡ç±»å', |
| | | prop: 'btmType', |
| | | width: 130, |
| | | formatter:function (row, value) { |
| | | return row.queryTemplate.btmType; |
| | | } |
| | |
| | | }, { |
| | | label: 'æ¥è¯¢æ¯å¦æä¸çº§', |
| | | prop: 'queryISLeaf', |
| | | width: 120, |
| | | formatter:function (row, value) { |
| | | return row.queryTemplate.queryISLeaf |
| | | } |
| | | }, { |
| | | label: 'åèç¹å±æ¬¡æ°', |
| | | prop: 'level', |
| | | width: 100, |
| | | formatter:function (row, value) { |
| | | return row.queryTemplate.level; |
| | | } |
| | | }] |
| | | }, |
| | | selectionRow: [], |
| | | tipList: [ |
| | | "导å
¥ä»
è½ä¸ä¼ .vciqtfæ ¼å¼æä»¶" |
| | | ], |
| | | upFileType: ['vciqtf'], |
| | | fileUrl: 'api/templateController/impLinkTemplate', |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | } |
| | | this.$refs.formRef.openDialog(this.nodeRow.label,'ä¿®æ¹','edit',{treeData:this.nodeRow,selectData:this.selectionRow[0]}); |
| | | this.$nextTick(()=>{ |
| | | debugger; |
| | | this.$refs.formRef.formItems[0].disabled = true; |
| | | this.$refs.formRef.$refs.form.getInit(this.$refs.formRef.formItems) |
| | | }); |
| | |
| | | message: '已忶å é¤' |
| | | }); |
| | | }); |
| | | }, |
| | | //å¯¼åº |
| | | exportClickHandler(){ |
| | | if (this.selectionRow.length <= 0) { |
| | | this.$message.warning('请è³å°éæ©ä¸æ¡æ°æ®è¿è¡å¯¼åº'); |
| | | return; |
| | | } |
| | | |
| | | let qtNames = this.selectionRow.map(item => item.qtName).join(','); |
| | | expLinkTemplate({qtNames: qtNames}).then(res => { |
| | | func.downloadFileByBlobHandler(res); |
| | | this.$message.success('å¯¼åºæå'); |
| | | }) |
| | | }, |
| | | upLoadClickHandler(){ |
| | | this.$refs.upload.visible = true; |
| | | }, |
| | | uploadCallBack(res){ |
| | | function getText(child){ |
| | | let text='' |
| | | if(child[0].children && child[0].children.length>0){ |
| | | text=getText(child[0].children) |
| | | }else{ |
| | | text=child[0].text ||child[0]; |
| | | } |
| | | return text |
| | | } |
| | | if(res.obj) { |
| | | if (res.obj.children) { |
| | | this.$message.info(getText(res.obj.children)); |
| | | } |
| | | } |
| | | if(res.data){ |
| | | this.crudData = res.data; |
| | | } |
| | | //this.getTemp(); |
| | | } |
| | | } |
| | | } |